我正在尝试在我的.vert着色器的主要部分中使用gl_MultiTexCoord0,但是着色器不会链接而没有描述性错误。删除对gl_MultiTexCoord0的引用不会导致错误。这不受支持吗?有没有已知的解决方法?
这是针对iPhone的cocos2d v2 alpha。
答案 0 :(得分:1)
OpenGL ES中没有gl_MultiTexCoordN(与许多其他内置变量一样),因此您必须将纹理坐标作为属性传递:
glVertexAttribPointer(texture_id, 2, GL_FLOAT, 0, 0, texture_coords_ptr);
glEnableVertexAttribArray(texture_id);
要从着色器接收可读诊断,您必须使用glGetShaderInfoLog。
收到错误