2012-07-05 2 views
0

WebGL에 문제가 있습니다. 렌더링하는 동안 반투명 텍스처 반투명 표시하지만, 그들은 또한 흰색 받고있어, 텍스처의 컬러가 ... 간주되지 않습니다WebGL 반투명 흰색 나타납니다

내가 설정 한 무엇

: gl.blendFunc (BlendingFactorSrc.SRC_ALPHA를, BlendingFactorDest.ONE_MINUS_SRC_ALPHA);

가능한 해결책은 무엇입니까?

+0

유일한 해결책은 멀티 텍스쳐링을 사용하고 있습니까? 프래그먼트 셰이더를 사용하여 어떻게 할 수 있습니까? – esz

+1

이것은 너무 모호합니다. 문제의 이미지와 함께 전체 코드 샘플을 게시하여 귀하의 의견을 확인하십시오. – Tim

답변

0

일반적으로 WebGL 장면에서 흰색이 예기치 않게 나타나는 경우 웹 페이지 자체의 CSS 배경과 혼합됩니다 (사용자가 변경하지 않으면 기본적으로 흰색으로 설정 됨).

즉, 기본 WebGL 설정을 사용하면 1.0보다 작은 알파 값을 색상 버퍼에 쓰는 모든 셰이더가 <canvas> 자체를 반투명하게 만들고 웹 페이지의 배경을 표시합니다. WebGLContextAttributes 설정을 변경하여이 동작을 비활성화하거나 쉐이더가 항상 1.0의 알파 값을 출력하는지 확인하십시오.