OpenGLで顔の縁を滑らかにするテクニック
質問
私は顔の法線を使用してOpenGLで私の人体モデルを点灯すると、それぞれの顔がモデルにある場合、それは非常に明白です。ライティングは、頂点法線が、まだ目立っを使用してかなり滑らかになります。追加の頂点(例:細分化)を追加することなく、有機モデルを滑らかに利用可能な技術がありますか?
解決
あなたがスムーズに面しを有効にするために忘れているかもしれない頂点ごとに法線を持つ単一の顔を見ている場合:
glShadeModel(GL_SMOOTH);
それは同じ位置にすべての頂点も同じ通常のを持っていることを確認する助けていない場合。これは、自動的しかし、ブレンダーで行われるべきです。それはあなたのモデルがあまりにも少数のポリゴンを持つことも可能です。そのような場合、あなたはより多くのポリゴンを使用する必要がありますいずれかまたは何basszeroは述べます。 法線マップを作成します>とGLSLシェーダと一緒にそれを使用します。
他のヒント
あなたは、高解像度モデル/メッシュまたはおそらくまともな 3Dモデリングツールするへのアクセスを持っていればそれが細分化または他の空想の方法によってHIGHRESモデルを作成することができます...
GLSL の<のhref = "http://www.ozone3d.net/tutorials 「REL = "nofollowをnoreferrer">ピクセル単位点灯する + /glsl_lighting_phong.php通常のマップ
UPDATE:
はい、多くの異なる技術があります。一つは、最初の(おそらく顔の頂点のために使用されている)、各顔の通常を計算し、各頂点のための新しい法線を計算するためにこれらの法線を使用することです。
ここでのあなたは5の平均値を計算する 1隣接する三角形ます。
乾杯!