Multitexturing Performance and Volume Rendering

Hi all,
I m writing a volume renderer for GeForce3 and above card and have these experiences.

  1. Store gradients in a 3D texture for binding to texunit 1.
  2. Store intensity in a 3D texture for binding to texunit 0
  3. For each polygon, specify multi-texture coord from texunit 0 and 1.
  4. register combiners to calculate shading etc.

I realized that doing the above slows down rendering by half compared to if I store both gradients and intensity together in one 3D texture and not use multitexture.

Is this normal?
Is multitexturing done at a cost?
Or is it that an extra trilinear-interpolation is done when gradients are in a separate texture?


The problem isnt the texturing itself, often you have 2 tmus (or more) that can work at the same time, but you have to fetch the texturedata over the same memorybus… having all data in the same texture should optimize the chashe usage.

So itis not the cost of tri-linear interpolation.
Does this mean that with AGP8x, it should be better? Mine is 4X.