opengl 四面体

场景:opengl画正四面体指定法线有关问题

opengl画正四面体指定法线问题
4面体的法向量已经计算出来

glBegin(GL_TRIANGLES);
    Utils::getNormalfv3(pa, pb, pc,normal1);
    glNormal3fv(normal1);
    glVertex3fv(pa);
    glVertex3fv(pb);
    glVertex3fv(pc);

    
    Utils::getNormalfv3(pa, pd, pb,normal2);
    glNormal3fv( normal2 );
    glVertex3fv(pd);
    glVertex3fv(pb);
    glVertex3fv(pa);

    Utils::getNormalfv3(pc, pd, pa,normal3);
    glNormal3fv( normal3 );
    glVertex3fv(pc);
    glVertex3fv(pd);
    glVertex3fv(pa);

    Utils::getNormalfv3(pb, pd, pc,normal4);
    glNormal3fv( normal4);
    glVertex3fv(pb);
    glVertex3fv(pd);
    glVertex3fv(pc);
    
    glEnd();


只画一个三角形,别其他注释掉,光照计算是没有问题的

但是4个面后感觉法线指定有问题了

也就是多次给某个点赋法向量会不会覆盖掉之前的?

求大神如何解决这个问题?
------解决方案--------------------
程序好像没问题,Utils::getNormalfv3 具体怎么算的法线?
------解决方案--------------------
你这是以三角形为单位指定法线,程序没啥问题,要不单独画一个三角形试试法线对不。
Utils::getNormalfv3(pa, pb, pc,normal1);
glBegin(GL_TRIANGLES);
    glNormal3fv(normal1);
    glVertex3fv(pa);
    glVertex3fv(pb);
    glVertex3fv(pc);
glEnd();