我是 OpenGL 的新手,今天我试图编译一些着色器程序,以便在 android 操作系统中使用 OpenGL 的 GPGPU。我有两个问题:1)我只想编写片段着色器,是否也需要编写顶点着色器?2) 我在编译着色器源代码时遇到了一些错误。我的源代码定义为:
final String src = "#version 310 es\n" +
"uniform sampler2D texUnit;\n" +
"uniform int sequence;\n" +
"void main(void)\n" +
"{\n" +
"const vec3 DotValue = {0.299f , 0.587f , 0.114f};\n" +
"vec2 texCoord = gl_TexCoord[0].xy;\n" +
"vec4 CurrentPixelData = texture2D(texUnit, texCoord);\n" +
"float temp = CurrentPixelData.x * DotValue.x + CurrentPixelData.y * DotValue.y + CurrentPixelData.z * DotValue.z;\n" +
"vec4 result = {temp,temp,temp,CurrentPixelData.w};\n" +
"gl_FragColor = result;\n" +
"}\n";Run Code Online (Sandbox Code Playgroud)
创建着色器的代码是:
int fragment = …Run Code Online (Sandbox Code Playgroud)