SVX日記
2017-02-25(Sat) MAGICよりOpenGLへ、こちらガルデロータ
負けてらんないのよーッ! OpenGLなんかにーッ!などと叫びつつ、舌の根の乾かぬうちに、OpenGLの試食を始めたのであった。いや、実は仕事半分なのではあるが。
実はオイラ、68MACの末期の時代に、ちょっとレイトレーシングにハマった時期がある。モデラは使わず、完全にテキストファイル(テクスチャデータ以外)のみから、画像が生成されるというロジカルなところに魅力を感じ、毎晩、レンダリングさせつつ寝入っては、翌朝に結果をみて一喜一憂する、という日々を送っていた。
というわけで、3DCGのイロハくらいは身につけているのであるが、OpenGLはポリゴンが基本なので、ちょっと勝手が違う。ペラペラで中身がなく、表裏があり、勝手に影がつかない。一番驚いたのは、陰影をつけるためには、ポリゴンの法線ベクトルを自分で計算しなければならないところだ。
レイトレーシングの計算方法のストイックさに比べると、OpenGLには強いニセモノ感を感じる。例えるならグランツーリスモとレッジレーサーみたいなものか。とはいえ、様々に擬似する技術が次々に投入され、実写に近いクオリティでリアルタイムレンダリングできるまでに到達しているのはOpenGLの方なのも確かだ。
つーわけで、OpenGLを「自分のモノ」にするため、いつものように、ウェブ上からサンプルプログラムを持ってきて、写経するように、コードスタイルを自分好みに書き換えながら内容を理解し、ちょっとしたものを作るのである。
今回のお題は「ガルデロータ」。記憶が定かでないが、確か昔シャープのX1で「ガルデロータ」をモデリングし、そのワイヤーフレームをクルクル回して遊んでいた気がするのだ。Oh!mzで、高速グラフィックパッケージ「MAGIC」が発表されたのは1986年9月だから、たぶん、その頃のはず。30年を経て、いま、ポリゴン化するのである。
習作なので、敢えて雑に作ってあるが、陰影付きのガルデロータが30FPSでなめらかに回転できている。ソルバルウ(1991)、バージョン0.01といったところか。あとはバキュラを回して、ゲームっぽいモノにまとめてみたいところだが。
しかし、やたらとあちらこちらでみかける「ドビン」は、OpenGLのサンプルモデルだったのね。妙に納得したわ……。