0

canvas2Dを使用してwebglテクスチャとしてロードするpngがあります。pngにはいくつかの透明な部分があり、webglでは黒、2dでは白にレンダリングされますcanvas(ライブデモについては、このフィドルを参照してください。Chromeでは、--disable-web-securityクロスオリジン制限をバイパスするためにフラグを付けて実行する必要があります。)

webglテクスチャの透明色を設定する方法はありますか?2Dキャンバスはどうですか?

4

2 に答える 2

2

テクスチャをRGBとしてロードしているcreateTextureため、アルファチャネルを破棄しています。次のようにRGBAに変更します

gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image);

そして、それらは同じように見えます。

于 2012-10-29T01:34:17.213 に答える
0

キャンバスがpngの透明度を理解できるようにするには、24ビットで保存する必要があります。

24ビットのPNG画像には完全な8ビットのアルファチャネルが含まれているためです。

完全なリファレンス

于 2012-10-27T20:52:01.757 に答える