【发布时间】:2014-07-26 15:02:48
【问题描述】:
我需要将标量值映射到范围为 0 到 1 的颜色。它将使用纹理坐标从绿色变为红色(从 0 到 1)线性插值(范围也从 0 到 1)
我是 OpenGL 和 GLSL 的新手,到目前为止我发现我需要在
中写入颜色值gl_FragColor
这是一个维度为 4 的向量。我不确定如何仅通过一个范围为 0 到 1.0 的标量值来计算 gl_FragColor 的 R、G 和 B 通道(它将从 GREEN 到 RED 和 0.5它将是白色的)
【问题讨论】:
-
您是在使用 1D 纹理,还是从 >= 2D UV 中获取标量?
-
2D 纹理中的每个像素都给出从 0 到 1 的值
-
好的。那么坐标与问题无关。
-
我从 2D 纹理像素获取标量值
-
不幸的是,这真的没有意义。您声称有一个从 0 到 1 的单个纹理坐标(到目前为止这是有道理的),但随后您提到了 2D 纹理......您需要两个坐标来从 2D 纹理中查找值,除非您假设另一个是恒定的(在这种情况下,一维纹理会更有意义).
标签: opengl glsl shader fragment-shader gpu