PDA

View Full Version : reflect not the same on Nvidia and ATi ?



Java Cool Dude
04-16-2005, 11:33 AM
Test (http://www.realityflux.com/abba/C++/GLSLReflRefrChrm/ReflRefrChrmAberr.zip)
On ATi's I need to negate the reflection vector to get a correct sample from the cubemap....
Any comment on that?

Humus
04-16-2005, 05:00 PM
I just checked and the ATI implementation is conforming to the spec:

genType reflect(genType I, genType N)

For the incident vector I and surface orientation
N, returns the reflection direction:
result = I 2 * dot(N, I) * N
N must already be normalized in order to achieve
the desired result.

Java Cool Dude
04-16-2005, 05:49 PM
So you're saying it's Nvidia implementation that is faulty?
Hmmm, I guess from now on I'd better implement my own reflect function in my shaders, that way I can only hope that the result will be the same on all cards.
Thanks for your input, btw how is the FrameBufferObject extension coming along on ATi's side? This demo takes advantage of it and seems to work reasonably well on GF 6800.

Trahern
05-13-2005, 05:09 AM
sorry to bump this old thread but I would like to know if anybode else have the same problem as JCD ?

I have tested reflect() on NVidia and ATI and received the same result on both of them (
reflect(genType I, genType N)== I 2 * dot(N, I) * N
)
so right now im little bit confused and dont know what to expect.. Maybe its driver related problem or a card specific problem ( hardly ) I dont know..