从顶点着色器中的纹理读取高度值

Reading height values from texture in vertex shader

我有一个来自 SRTM 的 geotiff。我将它发送到 GPU,在顶点着色器中作为 sampler2D。 因此我将它作为 sampler2D 制服。我想要的只是从中读取高度数据 sampler2D(在顶点着色器中)。我不想使用 gl_Vertex。

您正在寻找的功能称为顶点纹理提取。

关于它有一个较旧的 article on the OpenGL wiki,但本质上是将纹理绑定到纹理单元,确保将 uniform sampler2D 设置为相同的纹理单元,然后在着色器中调用 texture2D(myTex, coords) .

您的坐标可以通过多种方式设置,但目标是在 [0, 1] 范围内将顶点坐标转换为纹理坐标变得简单。