[osg-submissions] Multiple Render Targets
J.P. Delport
jpdelport at csir.co.za
Wed Apr 2 05:23:45 PDT 2008
Sorry, re-read the example. With --image you should get a yellow quad
with a smaller cyan quad in the center. The default read-back is texture
0 (red) and the image callback halves its contribution.
jp
J.P. Delport wrote:
> yes, sorry, I'm not sure where to place the "what should I get" in the
> example (on screen, in the --help?).
>
> The yellow quad is what is expected.
>
> A few things you could try:
>
> If you run with --image, you should (without modifying the example) get
> a washed-out yellow quad with a smaller yellow quad inside.
>
> This is the same effect as in osgprerender: a render target is read back
> as an image and the middle is modified.
>
> If you search for "tex_to_get", you can select which of the 4 targets is
> read back and changed, this will change to colour of the center smaller
> quad.
>
> Without --hdr what basically happens is:
> RT0 = vec4(1,0,0,1)
> RT1 = vec4(0,1,0,1)
> RT2 = vec4(0,0,1,1)
> RT3 = vec4(0,0,1,1)
>
> output quad = RT0 + RT1 + RT2 -0.5*RT3
>
> therefore the washed-out yellow result.
>
> With --hdr the values are made very small (too small to fit into
> FLOAT16) and then combined in the same way (RT0 is also made negative).
> This is a basic test for MRT with FLOAT32.
>
> If you search for shaderSource in the example, you'll see the simple
> shaders. Reading them would prob explain it better than I can.
>
> regards
> jp
>
> Robert Osfield wrote:
>> Hi J.P,
>>
>> I've just done a quick merge of your changes (and committed the typo
>> fixes) and have run the osgmultiplerendertergets example but don't
>> know whether its working as all I get is yellow quad. I have a 7800GT
>> on this machine.
>>
>> What should I expect?
>>
>> Robert.
>>
>> On Wed, Apr 2, 2008 at 10:09 AM, J.P. Delport <jpdelport at csir.co.za> wrote:
>>> Hi Robert,
>>>
>>> following the discussion yesterday on osg-users, I have decided to submit
>>> the original patch as is.
>>>
>>> MRT is enabled by an explicit call on osg::Camera (setDrawBuffers), just
>>> like readback of textures/images is enabled by osg::Camera->attach.
>>>
>>> To me, the camera seems the natural place for these things at the moment.
>>> If it would make sense as a StateAttribute (either for Camera or FBO), the
>>> implementation is left as a possible future enhancement.
>>>
>>> regards
>>> jp
>>>
>>> old message
>>>
>>> ----8<----
>>> Attached are the changes to OSG's Camera and RenderStage.
>>>
>>> Camera got a new method called setDrawBuffers (instead of the normal
>>> setDrawBuffer), which mirrors the OpenGL extension glDrawBuffers.
>>>
>>> setDrawBuffers takes a vector of BufferComponents and this vector is then
>>> translated in RenderStage to a vector of GLenums that is passed to
>>> glDrawBuffers.
>>>
>>> The new calls are orthogonal to current use cases, so hopefully no other
>>> code/examples would be affected.
>>>
>>> The attached example shows sample usage. The example is very contrived, but
>>> I hope it explains the concept. I have some other examples that I can
>>> contribute later.
>>> ----8<----
>>>
>>> --
>>> This message is subject to the CSIR's copyright terms and conditions,
>>> e-mail legal notice, and implemented Open Document Format (ODF) standard.
>>> The full disclaimer details can be found at
>>> http://www.csir.co.za/disclaimer.html.
>>>
>>> This message has been scanned for viruses and dangerous content by
>>> MailScanner, and is believed to be clean. MailScanner thanks Transtec
>>> Computers for their support.
>>>
>>>
>>> _______________________________________________
>>> osg-submissions mailing list
>>> osg-submissions at lists.openscenegraph.org
>>>
>>> http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
>>>
>>>
>> _______________________________________________
>> osg-submissions mailing list
>> osg-submissions at lists.openscenegraph.org
>> http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
>>
>
--
This message is subject to the CSIR's copyright terms and conditions, e-mail legal notice, and implemented Open Document Format (ODF) standard.
The full disclaimer details can be found at http://www.csir.co.za/disclaimer.html.
This message has been scanned for viruses and dangerous content by MailScanner,
and is believed to be clean. MailScanner thanks Transtec Computers for their support.
More information about the osg-submissions
mailing list