-1

iPhoneでOpenGLES2.0を使用してシンプルな3Dゲームを開発しています。トゥーンシェーディングで見られるのと同じように、メッシュに黒いエッジを描画する必要がありますが、他のトゥーンのようなレンダリング効果はありません。

OpenGL ES 2.0 iOSアプリでこのような外観を実現するために、頂点シェーダーとフラグメントシェーダーを作成するにはどうすればよいですか?

4

1 に答える 1

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);
于 2012-07-14T12:18:41.857 に答える