2011-06-15 4 views
4

내가 OpenGL을에서 알파 블렌딩과 질문이 있습니다 ...OpenGL을 투명/반투명

내가 투명 그리기 개체에 대한 몇 가지 물건을 시도했습니다 ... 나는 전에 GL_DEPTH_TEST를 비활성화하여 멋진 (이상적인) 결과를 본 적이 투명한면을 그리고 투명한면을 그려 다시 GL_DEPTH_TEST를 다시 사용 가능하게 설정합니다.

분명히 다른면을 그리는 순서에 따라 다음과 같은 결과가 나타납니다.

그러나 단단한면을 먼저 그려서 GL_DEPTH_TEST를 사용하도록 설정하고 투명면을 GL_D와 함께 그리기로 결정했습니다. EPTH_TEST 장애인 ...

그래서, GL_DEPTH_TEST 장애인 그때,

그래서, 내 질문은 (예 : 큐브) 내부에 투명한 얼굴을 볼 ...가이 투명한 얼굴을 그릴 분명히 경우 옳은? OpenGL은 불투명하고 투명한면을 자동으로 정렬하는 "마법"적인 방법이 있습니까?

+0

는 GL_ALPHA_TEST 또는 쉐이더를보십시오. 그게 도움이 될거야. –

답변

0

는 내가 처음 불투명 얼굴하고 투명한 얼굴을 그려 좋은 결과를 얻었다 이상적인 결과가 아니다에도 불구하고 ...

4

OpenGL은 불투명하고 투명한면을 자동으로 정렬하는 "마법"방식이 있습니까?

아니요. 투명 개체를 직접 정렬해야합니다. 또는 주문 독립 투명성 알고리즘을 사용할 수 있습니다. 사용할 수있는 몇 가지가 있지만 "마법"은 없으며 대부분은 많은 성능을 필요로합니다.

+1

이러한 알고리즘 중 하나 인 "깊이 필링"을 찾으십시오. –