我正在通过一本在 Premake 4 平台中使用 OpenGL 3.3 版的好书来学习 OpenGL,但我实际上想学习适用于 Android 的 OpenGL,它支持 OpenGL 2.0 版。它几乎相同,因为概念是相同的,但我在使用着色器语言代码时遇到了一些问题。
例如,在书中,autor 使用以下代码实现了一个顶点着色器:
#version 330
layout(location = 0) in vec4 position;
void main(){
gl_Position = position;
}
经过大量研究,我能够使用以下代码在 Android 中实现这个完全顶点着色器代码:
String vertexShaderCode =
"attribute vec4 vPosition;" +
"void main() {" +
" gl_Position = vPosition;" +
"}";
但我不知道如何在下面实现这个顶点着色器:
#version 330
layout (location = 0) in vec4 position;
layout (location = 1) in vec4 color;
smooth out vec4 theColor;
void main() {
gl_Position = position;
theColor = color;
}
这本书是http://arcsynthesis.org/gltut/Basics/Tut02%20Vertex%20Attributes.html