OpenGLで顔の法線を使用して私の人間のモデルを照らすと、それぞれの顔がモデル上でどこにあるかが非常に明らかです。頂点の法線を使用しても、ライティングはかなりスムーズになりますが、それでも目立ちます。追加の頂点(例:細分)を追加せずに有機モデルを滑らかにするテクニックはありますか?OpenGLで顔の端を滑らかにするテクニック
2
A
答えて
6
あなたがスムーズに面し有効にするために忘れているかもしれない頂点ごとに法線を持つ単一の顔を見ている場合:それは同じ位置にすべての頂点も同じ通常のを持っていることを確認する助けていない場合
glShadeModel(GL_SMOOTH);
を。しかしこれは自動的にブレンダーで行うべきです。また、モデルのポリゴン数が少なすぎる可能性もあります。そうであれば、より多くのポリゴンを使うか、basszeroが言ったことをする必要があります。 Create a normal mapをGLSLシェーダと一緒に使用してください。
4
あなたが高解像度モデル/メッシュまたは多分細分化または他の空想の方法によってHIGHRESモデルを作成することができますまともな3d modeling toolへのアクセスを持っていれば...
GLSLper-pixel-lighting + normal maps
UPDATE :
http://www.blender.org/development/release-logs/blender-246/render-baking/
1
はいさまざまな手法があります。 1つは、まず各顔の法線を計算し(顔の頂点にはおそらく使用しています)、これらの法線を使って各頂点の新しい法線を計算します。
ここでは、隣接する5つの三角形の平均を計算するoneです。
乾杯!
関連する問題
- 1. OpenGL ES 2.0シェーダで滑らかなテクスチャライン
- 2. 滑らかなOpenGLマウスカメラを作成する
- 3. OpenGLで滑らかで大きなポイントを取得
- 4. ベクトルと顔のOpenGL交差
- 5. OpenGLはオブジェクトの顔カメラを作る
- 6. のOpenGL:複雑かつ平滑化ポリゴンに私のOpenGLのプロジェクトで
- 7. 高さマップを滑らかにするにはどうしたらいいですか? (Perlin noise、openGL)
- 8. OpenGLでカスタム補間テクニックを提供する方法
- 9. スクラッチでスプライトモーションを滑らかにする
- 10. Javascript滑らかな滑り?
- 11. OpenGL ESで面ごとの法線を指定し、非平滑/平滑シェーディングを実現できますか?
- 12. イメージはOpenGLで平滑化されますか?
- 13. Android OpenGLの照明は、顔のサイズに依存します
- 14. 滑らかな
- 15. ナビゲーションメニューバーが滑らかに滑っていないのはなぜですか?
- 16. 滑らかな滑空アニメーションを作成するSFML
- 17. 顔認識を行う最先端の方法は何ですか?
- 18. 顔の配列から重複する顔を削除する - Three.js
- 19. QGraphicsSceneで滑らかなアニメーション
- 20. リンクからページを見つけるテクニック
- 21. Matlabの関数で1つのシャープコーナーを滑らかにする
- 22. フォームの滑りが滑らかでない
- 23. スライダの滑りがあまり滑らかでない
- 24. ページめくりの滑りに滑らかなスライド
- 25. 滑らかなスクロール
- 26. 滑らかなペイントブラシ
- 27. clip-pathでdivに滑らかなアニメーション
- 28. どのように私のCSS3アニメーションを滑らかにするのですか?
- 29. Scalaの滑らかなクエリ
- 30. Shopifyで滑らかなスライダを無効にする方法
私はBlenderを使用しています。性能上の理由から私のモデルは低ポリである。フォンシェーディングは有望そうだが、OpenGLによってサポートされていないので、その利点はパフォーマンスのヒットを保証するものではない。 – Kai
これはOpenGL ES 1.1の問題(iPhoneなど)ではない場合、ハードウェアはおそらくシェーダをサポートしており、フォンシェーディング+ノーマルマッピングを実装するシェーダを書くことができます。 –
右のように、Blenderでhighresモデルを作成し、それを使って法線マップを生成します。低解像度バージョンを作成し、ノーマルマップ+シェーダを使用して、最終的にレンダリングされた製品に欠落した頂点の詳細を作成します – basszero