【发布时间】:2023-04-05 06:46:01
【问题描述】:
我有一个用单个全屏GL_QUAD 绘制的平面。
我想在我的GL_Texture2D 指定的每个点上变形这个表面,最好是通过某种着色器。
在我看来,黑色可以对应平坦,白色可以对应山。
我想在我的地形上拥有大约 400 万个点,并在程序的每一步更新它们。
我将如何使用几何着色器来做到这一点?着色器是否能够生成新的顶点?
【问题讨论】:
-
您能否重新构建您的问题,使其无法用简单的“是”或“否”来回答?
-
我看不出这与 GLSL 以外的任何编程语言有什么关系;删除 c++ 标签。
-
您使用的是 OpenGL 4.0 或更高版本吗?如果是,那么听起来您应该使用曲面细分着色器(而不是几何着色器)来做您想做的事情。
-
我不明白你为什么需要几何着色器。只需按照@jozxyqk 的建议使用顶点着色器。如果您真的想在每一步修改顶点坐标,即保存在顶点着色器中完成的计算,请查看变换反馈。