當渲染具有alpha通道的紋理時,在不透明部分周圍出現白色邊框(邊框看起來像是alpha> 0和< 1 ):webgl:使用透明度時的白色邊框(alpha)
原始紋理在插畫創建並導出爲PNG。這就是:
(嗯,好像計算器改變了形象,調整並不完全是不透明/透明的像素,所以這裏是一個link)
它可能是混合的,雖然我不知道什麼是錯的設置:
gl.enable(gl.BLEND);
gl.blendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA);
[更新]
這裏是一個渲染的版本,其中,i增加了的α-梯度紋理的左側部分(因此它是從0的不透明度得到爲1,直到半)
該紋理是在這個位置渲染的紋理只有。它在a = 0.5左右似乎是最白的。真奇怪。背景只是清除顏色:
gl.clearColor(0.603, 0.76, 0.804, 1.0);
gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
// render objects here
深度函數看起來像:
gl.enable(gl.DEPTH_TEST);
gl.depthFunc(gl.LEQUAL);
什麼想法?非常感謝。
[更新2]
回答我的問題:當畫布的背景色或HTML頁面的主體爲白色時的效果。雖然我沒有解釋。
有一大段有0
Shahbaz
是的。我更新了這篇文章。有一個白色的地區。白色的數量取決於阿爾法。似乎最白的是0.5左右 – CodeSalad
奇怪的是它比紋理和背景都亮!你有照明功能嗎? – Shahbaz