我想在opengl中创建一个简单的3D数组可视化。 3D阵列包含颜色值。 为了达到这个目的,我可以画出许多立方体,给它们纹理坐标以指向正确的纹理元素。那么,我试了一下,它的工作原理。 但是我需要更多的东西,并且实现我想要的唯一方法是在平面打开时,如果我在其他轴方向上的每个网格上绘制完整的2D平面,并且这是6个方向。因此,例如:我在-15到+15之间绘制了XY平面,在Z-坐标-15到+15上绘制了XY平面,并且这也适用于后XY平面,YZ平面,后YZ平面.. 这样,我可以在每个角落都放上3D纹理坐标,而插值应该完成剩下的工作。opengl中的完美(3D)纹理映射
我已经将数组坐标作为纹理坐标,介于0和32之间,原因是在着色器中,我可以放置纹理坐标,然后将其除以32得到每个确切的纹理元素网格上的像素。
但是,唉...像素着色器不断怀疑的选择,一个像素映射到不同的纹理像素比下一个像素,而下下再次像素正确地映射。
我用来解决这些类型的问题,加入0.5或0.35至彩车,以确保在花车所有硬件平台上正确的舍入,但它似乎仍然这样一个黑客给我。此外,它不适用于3D纹理。
谁能告诉我如何处理?
特别是你的texelFetch选项是非常有帮助的。我实际上并不知道它存在,并且一直在想,为什么没有TEXTURE RECT风格的1D和3D纹理版本。 – scippie