У меня проблема, если я пытаюсь отобразить текстурированный квадратик, на экране ничего не появляется. Простой цветной квадроцикл отлично работает. Кажется, что только если я использую функцию «texture2D», ничего не работает. Но я не получаю сообщение об ошибке, если компилирую шейдеры или свяжу программу.Java Android OpenGL ES 2.0 - фрагмент шейдерной текстуры2D не работает
Эта работа (Красный квад появляются на экране):
uniform sampler2D un_TextureUnit;
varying vec2 fr_UV;
void main()
{
gl_FragColor = vec4(1, 0, 0, 1);
}
Это не работает (ничего появляется на экране):
uniform sampler2D un_TextureUnit;
varying vec2 fr_UV;
void main()
{
gl_FragColor = texture2D(un_TextureUnit, fr_UV);
}
Это не работает (ничего не отображается на на экране тоже):
uniform sampler2D un_TextureUnit;
varying vec2 fr_UV;
void main()
{
vec4 c = texture2D(un_TextureUnit, vec2(0.5, 0.5));
gl_FragColor = vec4(1, 0, 0, 1);
}
Обратите внимание, что я только изменил шейдер и ничего не добавил в код. Только если я использую функцию «texture2D», шейдер, похоже, не компилируется, но я не получаю сообщение об ошибке.