0

我有一个有趣的问题。我正在将带有自定义字体的文本绘制到画布上,然后将该画布的图像数据加载到 GL 纹理中。问题是背景的透明度。我无法让 GL 纹理具有正确的 alpha。它的背景是黑色的。

看这里:

http://24.2.20.166/

(Stackoverflow 不允许我直接发布链接……抱歉……)

相关代码:

this.ctx.clearRect(0,0, this.textCanvas.width, this.textCanvas.height); 
this.ctx.fillText(textObj.text, this.textCanvas.width / 2, this.textCanvas.height / 2);

gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, false); 
gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, canvas);

编辑:我是个白痴。

this.gl.enable (this.gl.BLEND);
this.gl.blendFunc(this.gl.SRC_ALPHA, this.gl.ONE_MINUS_SRC_ALPHA);
4

0 回答 0