在我的3D游戏和设计中,我经常选择可爱的低多边形卡通风格。我一直想给我的模型一个真正的卡通轮廓,所以这就是我们今天要做的工作。在以后的文章中,我们将着眼于为三角形着色以使其看起来也很卡通。
本文是「我正在进行的中等难度TheJS教程系列」的一部分。我一直想要在介绍“如何绘制立方体”和“让我们用疯狂的着色器填充屏幕”关卡之间找到一些东西。所以就在这里。
如果你在网上搜索“OpenGL轮廓效果”,你会遇到很多相互矛盾的信息。经过大量研究,我确定有两种常用方法可以使用现代3D图形API创建轮廓。
绘制一个对象两次;一次是轮廓颜色,一次是正常。通过在像素级别检测边缘的后处理效果运行整个场景。第二种选择是当今Unity等现代游戏引擎中最常用的。但是我不想使用它,因为它涉及多个后处理步骤,这在移动GPU上可能很慢并且消耗更多内存。此外,后处理和WebVR目前还没有很好地融合,所以我暂时避免使用它。(当我介绍发光效果时,我们会重新讨论这个)。让我们