我最近開始學習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