Marlin,
This might work:

vec3 normalWorld = mat3(osg_ViewMatrixInverse) * gl_NormalMatrix *
gl_Normal;

But like Robert says, world coordinates on the GPU will lead to precision
loss, so only do it if you are content with a low-precision result.

Glenn Waldron


On Wed, Jul 11, 2018 at 9:34 AM Rowley, Marlin R <marlin.r.row...@lmco.com>
wrote:

> I have a world space vertex computed as follows:
>
>
>
> WorldVertex = osg_ViewMatrixInverse * gl_ModelViewMatrix * aVertex;
>
>
>
> I would like to get the world space normal from this vertex.  Is there an
> equivalent osg_* matrix that does the same thing?
>
>
>
> I tried this:
>
>
>
> NormalWorld = gl_NormalMatrix * gl_Normal;
>
>
>
> But I know that is only putting the normal in view space.
>
>
>
> ----------------------------------------
>
> Marlin Rowley
>
> Software Engineer, Staff
>
> [image: cid:image002.jpg@01D39374.DEC5A2E0]
>
> *Missiles and Fire Control*
>
> 972-603-1931 (office)
>
> 214-926-0622 (mobile)
>
> marlin.r.row...@lmco.com
>
>
> _______________________________________________
> 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

Reply via email to