OpenGL:使用简并三角形绘制线条

时间:2015-05-14 17:06:54

标签: c++ opengl

在我的引擎中,我想避免使用直线和单独的三角形类型。我想使用三角形绘制线条,其中2个顶点相同。但是在opengl中,这个三角形不会显示,因为它的面积为零,因此无法覆盖像素。

在内部,在驱动程序级别,使用简并三角形绘制opengl线,并使用不同的光栅化规则,其中每条扫描线至少绘制一个像素。

D3d有一些选项,您可以将光栅化设置为始终在每条扫描线上绘制第一个像素 - 在d3d中有效地完成我想要的内容。

但我怎么能用opengl做到这一点?我没有看到任何允许您更改光栅化规则的命令。

1 个答案:

答案 0 :(得分:2)

嗯,我在必要的三个顶点中做了这个确切的事情,使用前两个作为线的起点,然后在线渲染对象的开头使用<label class="item item-input"> glPolygonMode(GL_FRONT_AND_BACK, GL_LINE)最后。

将其与适当启用和禁用面部剔除相结合,您就拥有了一个仍然使用三角形设置的完美线条渲染器。