1

輝度値が0〜4000の場合、キャンバス上の輝度値のマトリックスを画像としてレンダリングしようとしています。2D浮動小数点テクスチャを使用しているのは、2D浮動小数点テクスチャが[-inf、inf]。

gl.texImage2D(gl.TEXTURE_2D, 0, gl.LUMINANCE, ct.columns, ct.rows, 0, gl.LUMINANCE, gl.FLOAT, new Float32Array(ct.grid[i]));

ただし、フラグメントシェーダーでテクスチャ値を取得すると、それらは常に[0、1.0]の間にクランプされます。具体的には、

vec4 texcolour = texture2D(uSampler, vec2(vTextureCoord.s, vTextureCoord.t));

texcolour.rgbは常に0から1.0の間になります。フラグメントシェーダー内のクランプされていない値にアクセスして、自分で正規化を行うにはどうすればよいですか?

ありがとうございました

4

1 に答える 1

1

これをどのようにテストしていますか?あなたは次のようなことを試すことができますか

vec4 texcolour = texture2D(uSampler, vec2(vTextureCoord.s, vTextureCoord.t));
gl_FragColor = texcolour.x > 3000.0 ? vec4(0,1,0,1) : vec4(1,0,0,1);
于 2012-02-10T19:00:09.310 に答える