Web版特有の注意点
[最終更新日:2019/01/18]
レンダラにWebGLコンテキストなどを渡す
CubismWebSamplesではパフォーマンス向上のため、ループ内でWebGLのゲッターの使用を控え、アプリケーション側でキャッシュしたものを渡しています。
描画前のフレームバッファ、ビューポートの情報をレンダラに渡す必要があります。
1 2 3 4 5 6 7 8 9 10 |
// キャンバスサイズを渡す let viewport: number[] = [ 0, 0, canvas.width, canvas.height ]; this.getRenderer().setRenderState(frameBuffer, viewport); this.getRenderer().drawModel(); |
アロケータ、メモリ関連の説明
Native版とは違い、不要になった変数やオブジェクトはガベージコレクションにより解放されるため、これらに対して適切に参照を切る必要があります。
テクスチャのフォーマットについて
Web版ではライブラリの描画方式がPremultiplied方式になっているため、テクスチャ生成時にUNPACK_PREMULTIPLY_ALPHA_WEBGLをtrueにする必要があります。
1 |
gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, 1); |