【发布时间】:2018-02-06 19:40:18
【问题描述】:
给定三角形网格的顶点和元素的 VBO 和 EBO,我想用一种颜色渲染表面并用另一种颜色渲染边缘,这样我就可以构建一些像这样的图像:
一种方法是调用 glDrawElements 一次用于线框,一次用于填充几何体。我想知道是否有更有效的方法?也许,只需一次绘制调用?
【问题讨论】:
-
所以你只是换了
glPolygonMode然后画了两次? -
我还需要通过在程序之间切换或将新颜色传递给 FS 来更新颜色。我想知道是否有更好的方法来做到这一点。许多软件/工具包,如 VTK、Blender、Rhino 等选项,所以我很想知道 OpenGL 是否有更方便的方法来解决这个问题。
-
@mfaieghi:复杂的渲染引擎可以做到这一点,这并不意味着 OpenGL 必须有一种简单或“方便”的方法来做到这一点。确实,复杂渲染引擎的全部意义在于将低层复杂的事物在高层简化。
-
好吧,这可以在一个绘图调用中完成,只需绘制三角形,并根据到边缘的距离有条件地决定在每个片段的基础上使用边缘颜色或普通阴影进行绘制(你也可以很好地在两者之间混合以获得一些线条平滑)。
-
@derhass 谢谢你的好点子。你有我看的例子吗?