我最近在 OpenGL 中使用 3d 纹理。我意识到,当您使用 3d 纹理时,您必须大量使用 texture3d()。这几乎是一个gpu杀手。glsl 中是否有任何功能可以让我对 3d 纹理的 VOLUME 进行采样?因此,我可以执行以下操作,而不是调用 texture3D() 32768 次:
texture3DVolume(3dtexture, vec3(0.5, 0.5, 0.5), vec3(0.2, 0.2, 0.2));
其中样品0.5 0.5 0.5,体积0.2 0.2 0.2。