OpenGLで3D (4)

ライティングを合体させました。光源のパラメータ調整が難しいのか、実装ミスしているのかよく分かりません(反射光が時々不自然になります)。確実に分かったのは、光源調整があまりにも面倒なので、ゲームエンジンの使い方も素直に勉強したほうが幸せになれそう、ということでした。

ネットで公開されているチュートリアルのシェーダにも様々な実装があります。今回行ったシェーディングはグーローシェーディングというそうです。頂点の位置で法線ベクトルによる色の計算を行い、フラグメントシェーダで頂点間の色を線形補完する方法です。その割にはあまり綺麗に見えません。モデルが荒いからかもしれません(482頂点)。

30722頂点。きれいですね。ただ、読み込み時に特に工夫をしていないので、ロード時間がぐっとかかるようになりました。より綺麗なフォンシェーディングを使えば、荒いモデルでも綺麗に描画できるそうなので気になります。

P.S. 発売が約7年前のノートPCで作業しているのですが、シェーダ言語が古く、GLSLが自由にかけません。新しいパソコンが欲しいです。