JSON形式でシーン情報を記録してみる
ここのところテキスト形式で汎用的に使える3Dフォーマットを探していたのだが既存のフォーマットはいまいちいいのが無い。
かといって一からオリジナルで作るのも不毛だ。パーサを自分で書かないといけないし。
そういうわけで、3D専用フォーマットはあきらめて汎用のデータフォーマットでシンプルでかつ汎用性と拡張性があるいい方法が無いかといろいろ探してみた。
要は数値と文字列の配列とか連想配列が記述したいということなのだが、そういうことならJSONがあるのを思い出した。
JSONなら配列の配列(頂点配列)とか、入れ子になった構造(シーングラフ)とかを記述できるので目的に必要十分。
ということでJSON的なシーングラフの構想を作った。
こんな感じ↓
{ camera : { }, materials : [ ], objects : [ ], lights : [ ], // シーングラフ root : { children : [ ] } }
さらに今回はC++からの使用を想定しているので、
C++から使えるJSONライブラリを調べた。
当初は
http://www.json.org/
のCのところの上から2番目のを使ってみたのだが不便だった。
(データが巨大なときに逐次処理するにはよいかもしれないが)
全部読み込んでからDOM的にデータを操作できるライブラリとかもっと便利なのがほしいところ。
で、ネットを探索しているうちにFirefoxのJavascript engineとして
使われているSpiderMonkeyというのにたどり着いた。
面白そうなのだがかなり情報が少ない。
現在調査中・・・