2014-11-15 5 views
1

저는 프로 용지에서 알파 블렌딩으로 몇 가지 테스트를하고 있는데 어떤 것을 이해하지 못합니다. 내가 그런 짓을했고 모든 것을 찾아 내 테스트에서알파 블렌딩, 투명도 및 z- 순서 지정

좋은 :

  • 하는 파란색 상자를 그립니다 첫 번째 (깊이 테스트 : 사실, 혼합 알파 : 없음, 색상 : 1, 1, 1, 1)
  • 드로우는 마리오를 왼쪽 (깊이 테스트 : 거짓, 혼합 알파 : 사실, 색상 : 1, 1, 1, 0.8)
  • (깊이 테스트 빨간색 상자를 그립니다 : 사실, 혼합 알파 : 없음, 색상 : 1, 1, 1, 1)
  • 바로 마리오 그리기 (깊이 테스트 : 거짓, 혼합 알파 : 사실, 색상 : 1, 1, 1, 0.8)

enter image description here

  • 다음 그들을 잡아 다시 전면에 불투명 한 물체 처음
  • 주문 투명 개체를 그립니다

    모든 튜토리얼 16,우리가해야한다고 말한다. 여기

는 결과입니다

enter image description here

그래서, 나는 그것이 어떻게 작동하는지 이해하기 모르겠어요/(I've read this document) 잘못된 것입니다.

감사합니다.

+2

투명한 개체에 대한 깊이 테스트를 사용하지 않는 특별한 이유가 있습니까? –

+0

해당 주제에 대한 추가 고려 사항 : https://www.khronos.org/opengl/wiki/Transparency_Sorting – Flint

답변

1

당신은 일반적으로 깊이 이 반투명 객체에 대한 (예를 들어,glDepthMask (GL_FALSE)) 글을 해제하지만, 깊이 테스트 자체는 비활성화 할 일이 아니다.

당신은 제대로 작동이에 대한 불투명 한 물체에 의해 생성 된 깊이 값에 대해 테스트 할 필요가

, 그렇지 않으면 당신은 (당신이 원래했던 정확하게 인) 모두 당신의 불투명과 반투명 개체를 정렬해야합니다.