Я хочу создать карту текстуры в WebGl в одном фрагментном шейдере, а затем передать эту карту текстуры в другой фрагментный шейдер для обработки, но синтаксис ускользает от меня.Я полагаю, что если я правильно понял, пример, который я нашел в Интернете, сказал, что я мог бы сделать что-то вроде этого:
(1)
// setup frame buffer and depth buffer for the two fragment shaders.
(2)
// texture map generating frag shader:
uniform sampler2D texturemap;
void main(){
// generate texture map
vec4 coorindate_value = ...;
output_texture = texture( texturemap , coorindate_value );
// my understanding is that that sampler2d will generate some kind of a mapping. how can I map coorindate_value to some other vec4, like another vec4 coordinate???
}
(3)
// second fragment shader:
uniform sampler2D same_texturemap;
void main(){
vec4 coorindate_value = ...;
vec4 value = texture2D( same_texturemap , coorindate_value );
// the returned value should be one of the color values from the first fragment shader, correct??
}
Я не ищу никого, кто бы предоставил код, который обязательно помог бы мне здесь, но просто чтобы получитьнекоторое подтверждение того, что у меня есть понимание того, как это может работать. Полагаю, моя главная путаница в том, что на самом деле делает sampler2D.Похоже ли это на словарь или хэш-таблицу в том смысле, что он сопоставляет два значения, и если да, то как мне выбрать эти два значения? Любые советы или исправления были бы хорошими.