On Fri, Oct 26, 2012 at 12:04 PM, Christoph Heindl <
[email protected]> wrote:

>
>
> On Fri, Oct 26, 2012 at 3:57 PM, Glenn Waldron <[email protected]> wrote:
>
>>
>>
>>>
>> Right. So for multipass in general, you have a root node; then under that
>> node there is one Group node per pass; then all these Group nodes share a
>> common child (the geometry to render). Each per-pass Group node can hold a
>> unique StateSet that assigns the proper texture, etc.
>>
>
> Very clever. Thanks for sharing
>
>
>>
>> Since you will also need to use the TexGen capabilities (discussed
>> earlier in this thread) to generate the correct texture coordinates for
>> each pass, you might use an osg::TexGenNode in place of the osg::Group.
>> TexGen will generate the UV coordinates for you.
>>
>
> I don't think so, as I already have the UV coordinates. I calculate them
> myself in order to allow for camera lens distortions and such. I think that
> TexGen (EYE_LINEAR) mentioned previously assumes a plain pinhole camera
> model without regarding effects from lens distortion.
>

How are they stored? Per vertex? Or is it some kind of regular grid that
does distortion correction? Is the computation something you could do in a
vertex shader if the shader can access to the camera parameters?


>
>
>> You might also look at the osgFX::Effect class. This is a framework for
>> rendering a subgraph multiple times (multipass), using a separate StateSet
>> for each pass (just what I described above) so it might be a good fit, or
>> at least good reference material.
>>
>
> Sounds good, just the name (Effect) puzzles me. From looking at the
> documentation it seems that actually a lot of effects such as outlines,
> glow etc are done with that.
>

True; I just meant that it uses the same StateSet-per-pass idea.

Glenn
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to