我正在 iPhone 上使用 OpenGL ES 2.0 开发一个简单的 3D 游戏。我需要为我的网格绘制黑色边缘,就像您在卡通着色中看到的那样,但没有其他类似卡通的渲染效果。
我如何编写顶点和片段着色器来在 OpenGL ES 2.0 iOS 应用程序中完成这种外观?
是的,cg 教程书
http://http.developer.nvidia.com/CgTutorial/cg_tutorial_chapter09.html
第 9.2.1 节,glsl 版本与它没有太大区别。
对于 glsl 并且仅对于边缘,您可以执行类似的操作
float edge = dot(fragmentNormal, -viewingDirection);
edge = clamp(edge, 0, 1);
if(edge < 0.2)
finalColor = mix(vec3(0, 0, 0), diffuseColor, edge);