如何在iOS上使用着色器绘制类似香椿的黑色边缘?

时间:2012-07-14 12:14:43

标签: ios opengl-es

我正在iPhone上使用OpenGL ES 2.0开发一款简单的3D游戏。我需要为我的网格绘制黑色边缘,就像你看到香椿阴影一样,但没有其他类似香椿的渲染效果。

如何在OpenGL ES 2.0 iOS应用程序中编写顶点和片段着色器以实现这种外观?

1 个答案:

答案 0 :(得分:2)

是的,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);