iPhoneでOpenGLES2.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);