this sounds extremely weird to me but, believe it or not, i’m getting light positions in world space on ati boards when using arb_fragment_program and asking for state.light[x].position
i always thought light vectors were transformed by the current mv matrix when calling a glLightfv command, and actually this is what i get on nv boards in the same test application
vertex programs are working fine instead (returns eye space position)
can anyone confirm this?
oh btw i am using the latest omega drivers, based on CATALYST 5.1 Driver Build 6.14.10.6505
this is something i ran into a few weeks ago as well… but not only that state.light[x].position seems to be wrong within an arb_fp (and correct in an arb_vp) also the modelview matrix in a fragment program seems not to be correct…
i tested this by writing a vertex program that was passing one row of the modelview matrix as color and comparing the results to a fp that did the same… in the fp the modelviewmatrix seemed to be the inverse of the true modelviewmatrix.
This is one of multiple fragment program bugs that I reported to ATI months ago. If it isn’t fixed by now I don’t expect it to ever be fixed. That’s why I have an NVidia card now
Yes, that may have been a bit harsh. I’ll start a flame war if I’m not careful I guess I also switched because I got tired of waiting for GLSL support under Linux. I almost never use arb_vp and arb_fp anymore; GLSL is too much fun.
thanks for your reply
i have already sent em an email saying i may provide some test app if needed
but i think they should definitely be aware of it judging by the gravity of the problem and by the number of people experiencing it