首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获得在给定高度级别之间计算的值OpenGL?

如何获得在给定高度级别之间计算的值OpenGL?
EN

Stack Overflow用户
提问于 2016-06-07 21:49:37
回答 1查看 59关注 0票数 0

我需要OpenGL在不同高度级别之间线性计算的坐标。

我有一个64 x 64像素大小的高级贴图和一个与高度贴图相对应的纹理。此表示法基本上大于64 x 64 px,因此OpenGL计算了中间值(可能是线性的),因此在3D空间中不会形成任何台阶。

我可以使用这个中间值来最优地使用行进平方算法,而不需要自己执行线性插值,因为显卡已经这样做了,以调整纹理到高度。

是否可以使用表示x和y坐标的函数来获得z坐标?

EN

回答 1

Stack Overflow用户

发布于 2016-06-07 23:05:03

OpenGL只是绘制点、线和三角形。在OpenGL中没有“场景”或“模型”这样的东西。插值仅发生在基元(=直线或三角形)级别。在着色器阶段中,可能会发生很多事情,但就OpenGL而言,着色器程序的作用是完全不可知的。可以使用变换反馈回读顶点着色器的计算结果。片段着色器的输出是图像(可以使用glReadPixels读取),而计算着色器直接在内存上操作。

是否可以使用表示x和y坐标的函数来获得z坐标?

当然,如果您能够在程序中定义Z坐标如何依赖于x,y对和输入数据(=高度图)。因此,作为程序员,你必须对此进行编程,因此也可以编写如何读回它的程序。OpenGL对此完全不可知,但为您提供了实现此功能所需的所有低级操作。

OpenGL不是某种“神奇”的几何处理器。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37681309

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档