在我的引擎中,我想避免使用直线和单独的三角形类型。我想使用三角形绘制线条,其中2个顶点相同。但是在opengl中,这个三角形不会显示,因为它的面积为零,因此无法覆盖像素。
在内部,在驱动程序级别,使用简并三角形绘制opengl线,并使用不同的光栅化规则,其中每条扫描线至少绘制一个像素。
D3d有一些选项,您可以将光栅化设置为始终在每条扫描线上绘制第一个像素 - 在d3d中有效地完成我想要的内容。
但我怎么能用opengl做到这一点?我没有看到任何允许您更改光栅化规则的命令。
答案 0 :(得分:2)
嗯,我在必要的三个顶点中做了这个确切的事情,使用前两个作为线的起点,然后在线渲染对象的开头使用<label class="item item-input">
并glPolygonMode(GL_FRONT_AND_BACK, GL_LINE)
最后。
将其与适当启用和禁用面部剔除相结合,您就拥有了一个仍然使用三角形设置的完美线条渲染器。