从顶点着色器中的纹理读取高度值
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] 范围内将顶点坐标转换为纹理坐标变得简单。
我有一个来自 SRTM 的 geotiff。我将它发送到 GPU,在顶点着色器中作为 sampler2D。 因此我将它作为 sampler2D 制服。我想要的只是从中读取高度数据 sampler2D(在顶点着色器中)。我不想使用 gl_Vertex。
您正在寻找的功能称为顶点纹理提取。
关于它有一个较旧的 article on the OpenGL wiki,但本质上是将纹理绑定到纹理单元,确保将 uniform sampler2D 设置为相同的纹理单元,然后在着色器中调用 texture2D(myTex, coords)
.
您的坐标可以通过多种方式设置,但目标是在 [0, 1] 范围内将顶点坐标转换为纹理坐标变得简单。