シューティングゲームつくりは入力関係のコードを書き、テキスト表示をGLSLで書き直し、マップエディタを作り始めるところまできた。 が、ここにきてWebGL2.0をどうしてもいじりたくなり、three.jsの利用をやめ、twglを覚えながらコードを書き直しているところである。
three.jsの利用をなぜやめたかといえば、WebGL2.0のサポートがthree.jsにはまだないからである。
https://github.com/mrdoob/three.js/issues/9965
WebGL2Rendererというレンダラーがすでに実装され始めており、以下サイトで公開されてはいるが動作しない。どうもソースコードへのurlが間違っているようであるが。
https://threejs.org/examples/webgl2_sandbox.html
今のところmrdoob氏はWebVRのサポートに注力していて、WebGL2.0の対応にまで時間を割けないようである。さらにWebGL2RendererはBufferオンリーのサポートとし、コードもクリーンアップしたいらしい。
早晩サポートされるであろうけれど、上記理由で歩みはかなりゆっくりしているので、それを待っているのもなんだし、自前でレンダラーを書くのもちとつらい。そもそもthree.jsの機能の1/10も使ってないので、これを機会に素のWebGL2.0で作り直そうかなと思うのだが、素のWebGLというのがまた厄介である。とにかくリソースのハンドルがもうC言語的で面倒この上ない。大量のリソースを効率よく管理しなければならず、このようなAPIにならざるを得ないのはしょうがないのだがね。。
そういうわけでヘルパライブラリを探してたらtwglというのを見つけて、これはWebGL2.0も使えるようなので飛びついたのである。かなり薄いラッパーであることも私好みなのである。
で今画面回りを書き直しているところである。 下画面はデスクトップ版のChrome/Firefoxのみで動作するのであしからず。。
動作サンプル
ソースコード・リソース
/test/twgl/001/js/charCodes.js
/test/twgl/001/js/eventEmitter3.js