I’ve been working for quite a while know with CUDA. Recently I decided to adapt my application to use the 3D texturing unit (TU) instead of some custom code.
I tried to write a small test to verify that I understand the behaviour of TU.
I did the following setup (for 1D and 3D). I’m using 2 arrays with the same content. One is bound to a texture with linear interpolation, and one to a texture with nearest-point sampling.
I’m now trying read the same values from both textures (as if both where using nearest-point sampling). By adding 0.5 to the texture coordinates - for the texture with linear interpolation - this can be done.
When we do the this with a 1D texture, everything works as expected with normalised and unnormalised texture coordinates. But when I’m using a 3D texture it only works for unnormalised coordinates. With normalised coordinates the 3D TU gives me different results.
Does anybody observed the same behaviour?