Я использую openGl ES 3.0 в android для рендеринга прямоугольника на экране, и я хочу использовать шейдеры для генерации сочетания цветов в зависимости от положения вершин.
Я уверен, что проблема в том, в вершине и в коде фрагментного шейдера, но я не знаю, что это, это коды шейдера:
private final String vertexShaderCode =
"#version 300 es"+
"in vec3 position;" +
"out vec3 color;"+
"void main() {" +
" gl_Position = vec4(position.x,position.y,position.z,1.0);" +
" color = vec3(position.x+0.5,1.0,position.y+0.5);"+
"}";
private final String fragmentShaderCode =
"#version 300 es"+
"in vec3 color;"+
"out vec4 out_color;"+
"void main() {" +
" out_color= vec4(color.x,color.y,color.z,1.0);" +
"}";
Я пытаюсь заполнить форму цветом в зависимости от положения вершины, поэтому это смесь сгенерированных цветов для каждого пикселя.
Но я не понимаю, почему он не работает?
ОБНОВЛЕНИЕ:
У меня есть 3 информации :
Ошибка ссылки из-за недопустимого вершинного шейдера.
Неизвестна языковая версия '300', этот компилятор поддерживает только до версии '320 es '
Неожиданный текст найден после директивы #version.