ホーム > プログラミング > モデルビューワを作る > 14.頂点法線ベクトルデータを使用した描画

14.頂点法線ベクトルデータを使用した描画



13.で作成したモデルビューワは、光源の効果の利用に際して面法線ベクトルデータを使用した描画を行っています。面法線ベクトルデータを使用した描画の場合、面の折れ目が目立ちます。
頂点法線ベクトルデータを使用した描画を行うと、面の折れを目を立たなくすることができます。

プロジェクトを開く

13.で作成したモデルビューワプロジェクトを開きます。

面の描画処理に頂点法線ベクトルデータを使用する処理の追加

頂点法線ベクトルデータを使用した描画を行うと、面の折れを目を立たなくすることができます。

CModelViewerRenderer::RenderObjects関数の実装を変更します。

面の描画処理の、glVertex関数呼び出しの前の、glNormal関数呼び出しを、
頂点法線ベクトルデータが空なら、面法線データを使用し、
頂点法線ベクトルデータが空でないなら、頂点法線データを使用する処理に変更します。



ビルドし、エラー、警告がないことを確認します。

実行

実行し、couch.objファイルを読み込み、面の折れを目が立たない描画になっているのを確認します。

couch.objファイルの読み込み
(面の折れ目が目立たない描画になっています)
(「メニュー/表示/描画」で、点、線を非描画にしています。)
(画像をクリックすると大きい画像が表示されます)


参考)13.で作成したモデルビューワで、couch.objの読み込み
(面の折れ目が目立つ描画になっています)
(「メニュー/表示/描画」で、点、線を非描画にしています。)
(画像をクリックすると大きい画像が表示されます)

ダウンロード

実行形式ファイルダウンロード (ModelViewerOpenGLWinAPI2008_14_exe.lzh)

ソースファイルダウンロード (ModelViewerOpenGLWinAPI2008_14_src.lzh)


ご意見、ご感想、ご質問、ご要望等は、「コメントを投稿する」もしくは「ホーム > コンタクト」よりお願いいたします。
内容の誤り、誤字脱字、リンクミスなどの問題点を発見された場合には「コメントを投稿する」もしくは「ホーム > コンタクト」より連絡していただけると幸いです。


Copyright (c) 2005-2016 Nobuki HIRAMINE All rights reserved.