最終的には GPGPU を完全サポートすることを目指す、WebGL を扱うためのライブラリ Four
高い思想を持つ誕生したてのライブラリ
今回ご紹介するのは、その名も Four という意味深な名前を持つライブラリです。
作者の方はかなりスキルの高い方のようですが、three.js を始めとする WebGL ライブラリが既に存在するなか、どうして新しいライブラリを作るに至ったのか、そのあたりも含めつつ、紹介してみたいと思います。
目指すはマルチプラットフォーム対応 GPGPU
この Four というライブラリ、正直作者の方以外が利用したデモケースも現時点では見つかりませんし、かなり誕生したてのまだまだこれからという感じのライブラリです。
基本的に Github がプロジェクト管理のベースになっており、まだ特設ページなども用意されていないみたいです。
ただ、Github に置かれている Wiki を見ると、かなり情報は整理されています。このドキュメントがあれば、ひとまず使ってみるという点においては不足はなさそうですね。
まだ中身を詳細には確認できていませんが、基本的な機能はかなり網羅的に揃っているようで、OBJ ファイルのローダーなども含まれています。
また、より簡単に雰囲気を掴みたいのであれば、作者さんが書かれたイントロ記事があるので、こちらを見てみるというのもいいでしょう。
参考:
記述の仕方は、どうも three.js に近いのかなという感じがします。
カメラやライトを定義して、シーンに配置していくようなイメージですね。
このライブラリは恐らく three.js よりは、もう少しスクラッチでの記述に近い部分が多いのではないかと感じます。あくまでも個人的な印象ですが……
また、将来的には物理演算をサポートしたり、それを GPGPU で処理するための機構を取り入れたりすることを目指しているようなので、よりストイックな実装向けに最適化されていくのかもしれません。
唯一公開されている作者さん自身の Examples は、廃墟のような家のモデルが描画されるタイプになっています。そんなに重い感じとかはありませんが、さすがにこのデモひとつだけでは真価のほどは測れないですね。
今後もアップデートが繰り返されていくと思いますので、細かくウォッチしていけたらいいなと思っています。
まだまだ誕生したばかりで、これから徐々にその真の実力が見えてくるであろう当ライブラリ。自作のライブラリを設計するためのヒントや、単純に WebGL の実装のヒントとして、参考にしてみてはいかがでしょうか。
気になる方はぜひチェックしてみてください。