我需要OpenGL在不同高度级别之间线性计算的坐标。
我有一个64 x 64像素大小的高级贴图和一个与高度贴图相对应的纹理。此表示法基本上大于64 x 64 px,因此OpenGL计算了中间值(可能是线性的),因此在3D空间中不会形成任何台阶。
我可以使用这个中间值来最优地使用行进平方算法,而不需要自己执行线性插值,因为显卡已经这样做了,以调整纹理到高度。
是否可以使用表示x和y坐标的函数来获得z坐标?
发布于 2016-06-07 23:05:03
OpenGL只是绘制点、线和三角形。在OpenGL中没有“场景”或“模型”这样的东西。插值仅发生在基元(=直线或三角形)级别。在着色器阶段中,可能会发生很多事情,但就OpenGL而言,着色器程序的作用是完全不可知的。可以使用变换反馈回读顶点着色器的计算结果。片段着色器的输出是图像(可以使用glReadPixels读取),而计算着色器直接在内存上操作。
是否可以使用表示x和y坐标的函数来获得z坐标?
当然,如果您能够在程序中定义Z坐标如何依赖于x,y对和输入数据(=高度图)。因此,作为程序员,你必须对此进行编程,因此也可以编写如何读回它的程序。OpenGL对此完全不可知,但为您提供了实现此功能所需的所有低级操作。
OpenGL不是某种“神奇”的几何处理器。
https://stackoverflow.com/questions/37681309
复制相似问题