代码之家  ›  专栏  ›  技术社区  ›  LandonSchropp

OpenGL几何着色器Mac OS X

  •  2
  • LandonSchropp  · 技术社区  · 15 年前

    我试图让一个简单的通过几何着色器在macosx10.6下工作。代码编译和链接没有问题,但由于某种原因,没有几何图形被绘制到屏幕上。这是我的着色器代码:

    #version 120
    #extension GL_EXT_geometry_shader4: enable
    
    void main()
    {
        gl_Position = gl_PositionIn[0];
        EmitVertex();
    
        EndPrimitive();
    }
    

    如果有人能帮忙,我将不胜感激。

    2 回复  |  直到 15 年前
        1
  •  2
  •   LandonSchropp    15 年前

    所以事实证明,问题根本不在着色器代码中。显然,在几何体着色器中使用版本120时,必须按如下方式设置输入和输出类型:

    glProgramParameteriEXT(shaderProgramID, GL_GEOMETRY_OUTPUT_TYPE_EXT, GL_POINTS);
    glProgramParameteriEXT(shaderProgramID, GL_GEOMETRY_VERTICES_OUT_EXT, GL_POINTS);
    

    从那以后一切都很顺利。

        2
  •  0
  •   Ben Jackson    15 年前

    几何体明暗器作用于整个基本体。你的看起来只适合得分。如果你没有通过积分,你需要处理所有的 gl_VerticesIn (计数)顶点。