2012-12-15 2 views
0

질문이 있습니다 ... 하나의 개체에 대해 GL10.GL_DEPTH_TEST를 비활성화 할 수 있습니까? 예를 들어, Alphashadow Texture가있는 Groundplane이 있고 그림자를 위조하기 위해 내 Carmodel의 DEPTH_TEST를 사용하지 않도록 설정하고 싶습니다. 다른 Objects는 DEPTH_TEST가 비활성화되어 있지 않아야하므로 그림자를 볼 수 없습니다.하나의 개체에 대해서만 GL_DEPTH_TEST를 비활성화하는 방법

는 여기에 스크린 샷 (그림자가 해당 개체로 변환,하지만 난 당신이 내 문제를 얻을 것이라고 생각 perfecty되지 않음) https://dl.dropbox.com/u/18265107/special/screenshot.png

+0

언제든지 깊이 테스트를 활성화/비활성화 할 수 있습니다. – JasonD

+0

네,하지만 매 순간마다 나는 컨테이너를 통해 그림자를 보게 될 것입니다. – vacetahanna

+0

깊이 테스트를 사용하지 않는 것은 다른 것들 위에 표시됩니다. 당신은 당신이 좋아하는 무엇이든 할 것인지를 결정할 수 있습니다. 그러나 나는 그것이 당신의 그림자를 고쳐 줄 것이라고 생각하지 않습니다. 왜 깊이 테스트가 전혀 필요하지 않다고 생각하니? – JasonD

답변

2

아무것도 당신이 다른 물건의 상단에 표시됩니다에 대한 깊이 테스트를 해제합니다. 당신은 당신이 좋아하는 무엇이든 할 것인지를 결정할 수 있습니다. 그러나 나는 그것이 당신의 그림자를 고쳐 줄 것이라고 생각하지 않습니다. 당신이 원하는 깊이 테스트를 해제하고 있었는지 달성하기

는 충분하지 않습니다, 당신은 올바른 순서로 일을 렌더링 할 필요가 :

  1. 땅을 렌더링합니다.
  2. 자동차를 렌더링하십시오.
  3. 그림자를 렌더링하고 깊이 테스트를 비활성화합니다.
  4. 나머지 환경을 렌더링합니다.

그러나 땅이 평평하고 그림자가 다른 장면 개체로 캐스팅되지 않는다고 가정합니다. 그러면 잘못된 것으로 보입니다.

관련 문제