Доступ к незакрепленным значениям из текстур с плавающей точкой в ​​фрагментном шейдере WebGL - PullRequest
1 голос
/ 09 февраля 2012

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

Спасибо

1 Ответ

1 голос
/ 10 февраля 2012

Как вы это тестируете?Можете ли вы попробовать что-то вроде

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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...