[osg-users] Check if sampler2D is valid in fragment shader

Sebastian Messerschmidt sebastian.messerschmidt at gmx.de
Thu Dec 29 11:42:41 PST 2016



Am 29.12.2016 um 17:07 schrieb Rômulo Cerqueira:
> Hi Christian,
>
>
>> You could traverse the scene graph and check the state sets to see if they bind a texture to a texture unit.
>>
>> Then depending on these findings, choose the correct shader code.
>
> I appreciated it. Can you give me some example?
Basically alot of scenegraph handling is built around the 
VisitorPattern. To use it, derive your visitor from the osg::NodeVisitor 
base class and override the appropriate apply-functions.
There are a lot of examples in the OSG code base and the examples.
In your case you might want to consider to use the osg::Node-apply 
function and simply check for a StateSet which contains the texture. In 
case you find a texture you might use the proposed pragmatic shader 
composition.
Simply set a "USE_TEXTURE"-define for the nodes with textures (via the 
stateSet->setDefine).

Cheers
Sebastian

> ...
>
> Thank you!
>
> Cheers,
> Rômulo
>
> ------------------
> Read this topic online here:
> http://forum.openscenegraph.org/viewtopic.php?p=69799#69799
>
>
>
>
>
> _______________________________________________
> osg-users mailing list
> osg-users at lists.openscenegraph.org
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org




More information about the osg-users mailing list