今日は”点”の表示を行いました。
このページです。
中心に赤い点が表示されますね。これだけです。
・・・さて、みなさん、OpenGLのプログラミングで一番難しいのは何かお分かりでしょうか?
・・・実は、そう、実は上記のように、たった1つだけの点だとしても、その点が画面に表示されるまでが一番難しいのです。
図形が表示されるまでに乗り越えるべき壁は山ほどあります。
GPUに渡す頂点データは正しいのか?
頂点データを渡すAPIの使い方は正しく、APIの全ての引数はちゃんと正しい値になっているのか?(OpenGL関係のAPIは実に引数の数が多く、かつ内容がややこしいです。)
図形を描画するための頂点シェーダやフラグメントシェーダは正しいのか?
渡した頂点データとの整合性は取れているのか?
シェーダーの記述は正しいのか?
描画した図形の座標はちゃんと描画画面内に入っているのか?
環境による利用可能なAPIのバージョンはあっているのか?
etc etc etc…まだまだたくさんあります。
上記のどれか1つ、そう、たった1つでも間違っていると画面に何も図形が表示されない可能性が高いです。図形が表示されないと、どこが間違っているのかわからず悩みまくることになります。本気で悩みまくって数年単位で解決できないこともあります。大げさではありません。
例えるならば、1万人の大縄跳びを成功させようとしているようなものなのです。たった1回飛ぶのがとてつもなく難しいのです。
ですから今日赤い点を表示できたことは素晴らしい成果なのです。
さあ、そういうことを分かった上でじっくりこの点を見てみましょう。感動しますよね?
・・・
・・
・
いや感動しないな。単なる赤い点だな。
ʕ•̫͡•ʕ*̫͡*ʕ•͓͡•ʔ-̫͡-ʕ•̫͡•ʔ*̫͡*ʔ-̫͡-ʔ
明日から引き続き実装を頑張ります。