如何用不同于边界的颜色填充多边形?

tad*_*ole 11 c opengl

我需要绘制一个边界线为一种颜色的多边形,并用另一种颜色填充内部.是否有捷径可寻 ?我目前绘制两个多边形,一个用于内部颜色,一个用于边界.我认为必须做得更好.谢谢你的帮助.

       glColor3d (1, 1., .7);
        glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
        glBegin(GL_TRIANGLES);
                glVertex3f(-0.8f, 0.0f, 0.0f);
                glVertex3f(-0.6f, 0.0f, 0.0f);
                glVertex3f(-0.7f, 0.2f, 0.0f);
        glEnd();

        glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
        glColor3d (.5, .5, .7);
        glBegin(GL_TRIANGLES);
                glVertex3f(-0.8f, 0.0f, 0.0f);
                glVertex3f(-0.6f, 0.0f, 0.0f);
                glVertex3f(-0.7f, 0.2f, 0.0f);
        glEnd();

谢谢大家回答我的问题.我对openGL很新,并且正在寻找一个简单问题的简单答案.答案似乎并非如此简单,可能需要花费一个学期的学习时间.

Ber*_*ann 0

有两种方法可以做到这一点:

  • 你现在做的一个(2个多边形,一个比另一个大一点或在之后绘制)

  • 质地

据我所知,没有其他可能性,从性能的角度来看,这两种可能性,尤其是第一种,只要你只填充颜色,速度都非常快。