Мне нужно передать текстуру 2D (Rectangle) в мой шейдер фрагмента. Данные в текстуре должны быть считаны в пробоотборнике как однородные. В зависимости от значения, считанного в текстуре, цвет пикселя будет изменен или не будет изменен.Данные текстуры не передаются в пробоотборник в фрагментном шейдере
вот мой код в API, чтобы связать текстуру и пробник:
//create texture and sampler
glEnable(GL_TEXTURE_2D);
GLuint CosineTexture;
glGenTextures(1,&CosineTexture);
glTexStorage2D(GL_TEXTURE_RECTANGLE,1,GL_RGBA,1440,1080);
glTexSubImage2D(GL_TEXTURE_RECTANGLE,0,0,0,1440,1080,GL_RGBA,GL_FLOAT,dataCosines1);
GLuint SensorCosines;
glGenSamplers(1,&SensorCosines);
glActiveTexture(GL_TEXTURE0 + 0);
glBindTexture(GL_TEXTURE_RECTANGLE,CosineTexture);
glBindSampler(0,SensorCosines);
и вот мой код в затенении получать и читать текстуры:
uniform samplerRect SensorCosines;
...
float textureValue;
textureValue = texture(SensorCosines, Bin).r;
Ничего не происходит. Итак, я думаю, что моя текстура не передается в шейдер. Я чувствую, что он находится на уровне привязки текстуры к сэмплеру в API, но я не знаю, что такое моя ошибка.
Я должен показать некоторые детали в шейдере. Итак, вот он: единый samplerRect SensorCosines; .... vec2 Bin; ... Bin [0] = float (XCosines) +0,5; \t Bin [1] = float (YCosines) +0,5; Сожалею. Роберт – RobertB