Opengles顶点着色器
预设一个顶点着色器的shader字符串,这里看明白需要一点glsl的语法基础。
in是输入变量,out是输出到fragment shader的变量。
VERTEX_SHADER =
"#version 300 es\n"
"in vec4 vPosition;\n"
"in vec4 vTexCoordinate;\n"
"out vec2 v_TexCoordinate;\n"
"\n"
"void main() {\n"
"v_TexCoordinate = vec2(vTexCoordinate.x, vTexCoordinate.y);\n"
"gl_Position = vPosition;\n"
"}";
以下是创建顶点着色器的program以及shader,这里创建完shader之后还需要和program进行链接
// 创建顶点着色器shader
GLuint vertexShaderHandle = compileShader(GL_VERTEX_SHADER, vertexSource.c_str());
GLuint ShaderUtil::compileShader(GLenum shaderType, const char* shaderSource) {
GLint shaderHandle = glCreateShader(shaderType);
if (shaderHandle != 0) {
GLint compiled;
g