我最近开始学习opengl,但仍然不太了解它。我下面的教程,写了这两种着色器:OpenGL Shader编译在桌面上,但不是Android
顶点着色器:
#version 400
in vec4 s_vPosition;
in vec4 s_vColor;
out vec4 color;
void main() {
color = s_vColor;
gl_Position = s_vPosition;
}
片段着色器:
#version 400
in vec4 color;
out vec4 fColor;
void main() {
fColor = color;
}
他们搜集和工作用OpenGL 3在桌面上就好了,但不要在Android上不能与OpenGL ES 2进行编译。我试着检查着色器输出日志,但它返回一个空白字符串。再一次,我对此很新,我的错误可能非常简单,但任何帮助都将受到高度赞赏。
不,那些着色器在GL3下将无法正常工作。如果他们这样做了,那么通过一个非常优秀的实现就是如此。那些着色器需要GL 4.0(尽管没有特别的原因,如果选择更合理的版本,他们可以使用3.x)。然而,在任何情况下,这些着色器都不适用于ES2,它使用不同的语法(与GLSL 1.20兼容),因此更改版本无济于事。 – derhass 2015-02-24 00:28:17
那么我能做些什么来使它工作? – 2015-02-24 00:30:00
没关系,samgak的答案有效。 – 2015-02-24 01:48:42