【发布时间】:2016-07-13 11:19:52
【问题描述】:
我需要添加这个经典的效果,它包括通过勾画轮廓来突出 3D 模型,就像这样(没有透明的渐变,只是一个实心的描边):
我找到了一种方法来做到这一点here,它看起来非常简单且易于实现。这家伙正在使用模板缓冲区来计算模型形状,然后他使用线框绘制模型,线条的粗细就可以完成这项工作。
这是我的问题,线框。我使用的是 OpenGL ES 2.0,这意味着我不能使用 glPolygonMode 将渲染模式更改为 GL_LINE。
我被困在这里,我找不到任何简单的替代方法,我目前找到的最相关的解决方案是自己实现线框渲染,这显然不是最简单的解决方案。为了绘制我的对象,我使用 glDrawElements 和 GL_TRIANGLES 作为原语,我尝试使用 GL_TRIANGLE_STRIP 作为原语,但结果肯定不是正确的。
有什么想法/技巧可以绕过 OpenGL ES 缺少 glPolygonMode 吗?提前致谢。
【问题讨论】:
标签: opengl-es rendering shader fragment-shader