Hi Michael,
Hi,
I am trying to set up projective texture mapping in OpenSceneGraph. As a first
attempt, I modified the osgspotlight example code by basically inserting my own
spot light image. This works, but the texture is projected onto all geometry of
the scene in the direction of the projection (it goes through meshes). A back
projection is also produced.
That's quite normal with projective texturing. In order to eliminate the
back-projection there where are some historical approaches, such as
using a special texture with some white part being wrapped around so
multiplicative texturing won't affect the backside.
But nowadays you should use pixel shaders and remove any fragment which
homogeneous coordinate contains an negative q (in the vec4 texcoord
s,t,r,q) to remove them.
As for the projection to unwanted surfaces: This cannot be solved
directly, but if you know which objects/drawables are affected, you can
simply control via stateset (by turning TexGen on/off or by using a
uniform or even the brand new shader-define mechanism) which of them
should use the projection. Another (potentially costly approach) is to
render the scene from the view of the projector and create essentially
something like an inverse "shadow map", which can be either used for
direct texturing or controlling which parts are subject to projective
texturing in a second pass.
How can you implement projective texture mapping in OSG as is done by a real
projector?
In simple words: There is no ready-to use example or implementation. You
will need to do some of this on your own.
There are some examples for the steps you need to take however.
Cheers
Sebastian
Thank you!
Cheers,
Michael
------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=65226#65226
_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org