英特尔高清显卡:着色器链接错误:"资源错误。"因为gl_ClipVertex

时间:2016-02-29 12:42:10

标签: opengl glsl intel

我刚刚发现以下最低OpenGL GLSL Vertex Shader无法链接 Intel HD Graphics 卡上的GLSL链接错误"资源错误。" 一旦Vertex Shader源代码包含行gl_ClipVertex = gl_ModelViewMatrix * gl_Vertex;。同样的Shader在NVIDIA或ATI显卡上进行编译和链接。

有谁知道可能导致 Intel HD Graphics 卡上的链接错误?

Python脚本:

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()

Python脚本输出: Python script output

平台: 我在使用英特尔高清显卡的各种平台上遇到这种情况,但我主要在带有Windows 10和英特尔高清显卡4400的Microsoft Surface平板电脑上进行测试。

0 个答案:

没有答案