【问题标题】:The Right Way To Draw Normals In OpenGL?在 OpenGL 中绘制法线的正确方法?
【发布时间】:2012-06-30 05:41:34
【问题描述】:

现在我正在用 OpenGL 编写一个程序。我正在从文件中渲染一些复杂的 3D 图形。在对代码进行三次检查后,我知道所有值都被正确读取。唯一表现怪异的是法线。我是这样画的:

     glVertex3fv(vert1);
     glVertex3fv(vert2);
     glVertex3fv(vert3);


    glNormal3fv(norm1);
    glNormal3fv(norm2);
    glNormal3fv(norm3);

正在从 GLFloats 中读取值。告诉我正确的方法,或者至少告诉我我做错了什么。

【问题讨论】:

    标签: objective-c opengl normals


    【解决方案1】:

    当您调用glVertex 时,会完成一个顶点,因此您需要在此之前设置所有其他顶点状态。您需要在完成之前为顶点设置法线。

    应该是这样的:

    glNormal3fv(norm1);
    glVertex3fv(vert1);
    
    glNormal3fv(norm2);
    glVertex3fv(vert2);
    
    glNormal3fv(norm3);
    glVertex3fv(vert3);
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-02-12
    • 2021-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-07
    相关资源
    最近更新 更多