我对GLSL很新,我正在尝试在片段着色器中应用色彩映射,即,我有一些从[0,....,1]归一化的浮点值,我想将其转换为由预定义的地图/查找表/颜色映射给出的RGBA值。
我这样做是通过传递一个GL_LUMINANCE32F_ARB
纹理,这是一个每像素矩阵的浮点数,其值和大小'width * height'。另外,我传递了一个GL_RGBA32F_ARB矩阵(每个像素4个浮点数),rgb值从0到1映射。
这就是我试图在片段着色器中访问我的色彩映射的方法:
uniform sampler1D cmap;
...
vec4 cmapColor = texture1D(cmap, lum);
gl_FragColor = cmapColor;
其中'lum'是范围(0,1)中的浮点数。但是,这是失败的。我正确地获取数据吗?这是我如何获得vec4的花车?