1
WebGL에서 블렌딩을 시도 할 때 알아낼 수없는 이상한 문제가 있습니다. 검은 색은 완전히 투명하게 렌더링되고 회색 음영은 모두 반투명하게 렌더링됩니다. 투명도의 소스로 알파 채널을 사용하도록 설정했으며, 일부에서는 알파 값을 변경할 때 검정색/회색이 아닌 모든 요소가 다르게 렌더링됩니다. 하지만 알파를 1로 설정하더라도 검정은 여전히 투명하게 표시됩니다.WebGL transparent black
this.gl.blendFunc(this.gl.SRC_ALPHA, this.gl.ONE);
this.gl.enable(this.gl.BLEND);
this.gl.disable(this.gl.DEPTH_TEST);
그리고 않는 쉐이더의 일부 투명성 : texColor 샘플링되는 텍스처 색이
gl_FragColor = vec4(texColor.rgb * vLightWeight, texColor.a * uAlpha);
이 vLightWeight은 그림자입니다
이것은 내가 투명성을 가능하게하는 방법이다 이것은 정점 셰이더에서 계산되고, uAlpha는 투명성을 위해 사용하는 유니폼입니다.