Я пытаюсь отобразить матрицу значений яркости на холсте как изображение, когда значения яркости находятся в диапазоне от 0 до 4000. Я использую для этого 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. Как я могу получить доступ к незакрепленным значениям внутри моего фрагментного шейдера, чтобы я мог самостоятельно выполнить нормализацию?
Спасибо