PyOpenGL 用の Pure Python メタセコイアモデルローダー作れるだろうか?
赤本買った。そして頭から順に読み、第3章に到達したところ。誤解が解けていい感じ。このままのペースで読み進めていきたい。
しかし、脱線。 OpenGL いじりたいという衝動の元はメタセコイアのモデルデータを自作ソフトで表示してみたい、だった。ならばこのファイルの構成がどうなっているのか調べるべきと思い行動。するとほとんどの 3D モデルファイルは頂点情報などをならべたテキストデータであることを知る。もちろんメタセコイア(.mqo)もそう。なるほどエディタで読める、と。
しかし、Metasequoia ファイルフォーマット を見てもなにながんだか、さっぱりわからない(ぉ
とっかかりをつくるため、 http://www.komoto.org/opengl/sample11.html を参考に、 DFX ファイルを PyOpenGL で表示に挑戦。ベタ移植ではあるもののグライダー? の表示に成功。ディスプレイリストがでてきていたので赤本第7章ディスプレイリストを読んで補強。
そして Metasequoia ファイルフォーマット に戻ってきた。一部の単語の意味がわかってないものの .mqo ファイルの構造は理解。なんとかなる、のか? 曲面の形式とかあきらかに今のオレの OpenGL 力量では無理くさいぞ。
他者のコードを読み、まねて理解する、理解が深まったところのみを改変(もしくは改悪)、という今までどおりの方法でモデルローダー作成(?)に挑む…。
先駆者たち
コードを読ませていただいています。ありがとうございます。
- 工学ナビの中の人の研究と周辺 (C, 下記2種のオリジナル)
- http://park7.wakwak.com/~blackbox/ (ARToolKit with Lua にて使用)
- http://www.sainet.or.jp/~kkoni/OpenGL/reader.html (改良版 Java, C, C++ コードあり)