我想绘制一个对象,其线条为黄色(线框),其填充物为黑色,因此我可以看到差异。我知道为了做到这一点,我必须使用glPolygonMode(int arg1,int arg2),但我不知道如何正确地做到这一点,这就是我做的事情...... / p>
gl1.glColor3d(1.0, 1.0, 0.0);
gl1.glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
gl1.glColor3d(0.0, 0.0, 0.0);
gl1.glBegin(GL_POLYGON);
问题是这只会填充多边形并忘记线条......
答案 0 :(得分:2)
要绘制带有不同颜色轮廓的颜色填充多边形,您必须绘制两次模型:
代码看起来如下:
gl1.glColor3d(1.0, 1.0, 0.0);
gl1.glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
gl1.glBegin(GL_POLYGON);
//Draw model
gl1.glEnd();
gl1.glColor3d(0.0, 0.0, 0.0);
gl1.glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
gl1.glBegin(GL_POLYGON);
//Draw model again
gl1.glEnd();
如果启用了深度测试,则必须在第二遍中将模型绘制得更接近相机以通过深度测试。例如,您可以使用glPolygonOffset的第二个参数执行此操作。
此外:如果没有充分理由,则不应再使用固定功能功能,因为它已被弃用。