Reflect not the same on Nvidia and ATi?

On ATi’s I need to negate the reflection vector to get a correct sample from the cubemap…
Any comment on that?

I just checked and the ATI implementation is conforming to the spec:

[i]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.[/i]

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.

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…

This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.