Opengl 英特尔高清图形:着色器链接错误:";资源不足错误。”;因为gl_ClipVertex
我刚刚发现以下最小OpenGL GLSL顶点着色器无法链接到英特尔HD Graphics卡,GLSL链接错误“资源不足错误”。只要顶点着色器源代码包含行Opengl 英特尔高清图形:着色器链接错误:";资源不足错误。”;因为gl_ClipVertex,opengl,glsl,intel,Opengl,Glsl,Intel,我刚刚发现以下最小OpenGL GLSL顶点着色器无法链接到英特尔HD Graphics卡,GLSL链接错误“资源不足错误”。只要顶点着色器源代码包含行gl\u ClipVertex=gl\u ModelViewMatrix*gl\u Vertex。同一着色器在NVIDIA或ATI图形卡上编译和链接良好 有人知道是什么原因导致英特尔高清图形卡出现链接错误吗 Python脚本: Python脚本输出: 站台: 我在使用英特尔高清图形卡的各种平台上都遇到过这种情况,但我主要是在使用Windows
gl\u ClipVertex=gl\u ModelViewMatrix*gl\u Vertex代码>。同一着色器在NVIDIA或ATI图形卡上编译和链接良好
有人知道是什么原因导致英特尔高清图形卡出现链接错误吗
Python脚本:
Python脚本输出:
站台:
我在使用英特尔高清图形卡的各种平台上都遇到过这种情况,但我主要是在使用Windows 10和英特尔高清图形4400的Microsoft Surface tablet上测试这种情况。CPU型号是什么?@Bahbar:请参阅上面的编辑(使用Windows 10和英特尔高清图形4400的Microsoft Surface tablet).可能GLSL 110不支持gl_ClipVertex?我在GLSL 1.10规范中没有找到任何关于gl_ClipVertex的信息:你能发布顶点着色器吗?问题可能来自其他地方,但在未使用gl\u ModelViewMatrix
或gl\u Vertex
时会被忽略。@fordcars顶点着色器代码在上述示例中分配给变量Vertex\u shader\u SOURCE
(由于语法突出显示不好,有点难以看到)。
from OpenGL.GLUT import *
from OpenGL.GL import *
from OpenGL.GL import shaders
VERTEX_SHADER_SOURCE = """
#version 110
void main(void)
{
gl_Position = ftransform();
gl_ClipVertex = gl_ModelViewMatrix * gl_Vertex; // Comment this line to link on Intel HD Graphics
gl_FrontColor = vec4(1.0);
}"""
def main():
glutInit(sys.argv)
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH)
glutInitWindowSize(800,600)
glutCreateWindow('IntelHDGraphicsClipPlanes')
glutDisplayFunc(render)
glEnable(GL_CLIP_PLANE0)
VERTEX_SHADER = shaders.compileShader(VERTEX_SHADER_SOURCE, GL_VERTEX_SHADER)
shader = shaders.compileProgram(VERTEX_SHADER)
shaders.glUseProgram(shader)
glutMainLoop()
return
def render():
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT)
glutSwapBuffers()
return
if __name__ == '__main__': main()