Thursday, March 6, 2008

gl_NormalMatrix

I've run into a few driver problems under OS X

For comparison, here are my system specs:
Mac OS X Version 10.5.2
Processor: 1.5 GHz PowerPC G4
Memory 512 MB DDR SDRAM

gl_NormalMatrix is computed incorrectly on my mac.
The problem, and a temporary solution are listed below.
frag_Normal = gl_NormalMatrix * gl_Normal

frag_Normal = (gl_ModelViewMatrix * vec4(gl_Normal, 0.0)).xyz


Framebuffer objects must be powers of two.

More to come.

2 comments:

Arthur said...

I realize this post is very old - but in case others come across it via Google searches as I did...

The workaround provided only works in limited scenarios. See http://tog.acm.org/resources/RTNews/html/rtnews1a.html#art4 on why transforming normals by the model matrix is not correct in the general case.

Andrew said...

Yes, you need the inverse transpose of the modelview matrix for the general case, and I should have made that clear in the original post.