アルファチャンネルを持つテクスチャをレンダリングすると、非透明部分の周りに白い枠線が表示されます(枠線はアルファ> 0および< ):webgl:透明(アルファ)を使用したときの白い境界線
元のテクスチャは、イラストレーターで作成およびPNGとしてエクスポートされます。ここにある:
(まあ、そうここlinkがあり、透明性/完全に不透明でないピクセルを調整し、画像を変更されたStackOverflowのようだ)
私ものの、それは、おそらくブレンドです設定に問題があるのかを知るいけない:
gl.enable(gl.BLEND);
gl.blendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA);
[更新]
こここのテクスチャは私はテクスチャの左部分にアルファ勾配を加え(それが半分になるまで0~1不透明から取得される)レンダリングバージョン、
ありますテクスチャのみがこの位置に描画されます。それはa = 0.5付近で白っぽいと思われる。本当に奇妙な。
gl.enable(gl.DEPTH_TEST);
gl.depthFunc(gl.LEQUAL);
任意のアイデア:
gl.clearColor(0.603, 0.76, 0.804, 1.0);
gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
// render objects here
深さ関数は次のようになります。背景には、ちょうどクリア色ですか?どうもありがとう。
[更新2]
自分の質問に答える:キャンバスの背景色やHTMLページのボディが白の場合に効果が生じます。私は説明がありません。
、0 <アルファ<1を持つ大規模なセクションでそれを試してみて、地域全体が白であれば教えてくださいまたはその国境だけ! – Shahbaz
はい。私は投稿を更新しました。白い領域があります。白の量はアルファに依存する。白いもののように見える0.5 – CodeSalad
奇妙なことは、テクスチャと背景の両方よりも明るいことです!照明を有効にしていますか? – Shahbaz