작성
·
382
1
안녕하세요. Deferred Rendering 강의를 듣고 따라서 프로젝트를 만들어 테스트중이였습니다.
그런데 조명 가까이 가면 몇가지 조명들이 꺼지는(?) 현상들이 발생했습니다.
제가 수업에 놓친 부분이 있을까, 수업 자료로 다운받은 프로젝트를 실행해보아도 같은 현상이 발생했습니다.
수업 때 말씀하신 조명에 culling 현상이 일어난 것일까 유추되지만, Light 제작 시 culling 세팅 시 문제가 없었습니다.
혹시 어떤 현상때문에 가까이가면 조명이 꺼지게 되는 것일까요?
(아래 사진은 수업자료로 받은 프로젝트로 실행한 화면 결과입니다.)
답변 1
2
저도 같은 수강생으로써 같은 문제를 겪었고, 현재는 혼자 해결한 상태입니다.
개인블로그에다가도 글을 관련된 내용으로 짤막하게 올리긴했는데, 이 문제는 카메라가 볼륨메쉬에 들어갈때 볼륨메쉬가 directx의 내부 알고리즘에 의해 컬링되면서 생겨난 버그입니다.
해결법은 포인트라이트를 렌더링할 당시에 깊이비교함수를 LESS가 아닌 GREATER_EQUAL로 하는겁니다.
이렇게하면 실제로 라이팅 볼륨메쉬를 봤을때 밖에서도 보이고 안에 들어가서도 보이게 됨으로써 최종적으로는 카메라의 거리에 따라 라이팅연산이 꺼졌다켜졌다하는 현상이 사라지게 되죠.
그리고 그 상태에서 빛이 비춰지는 영역을 자세히 보면은 뭔가 윤곽같은게 보이는데 그건 깊이쓰기를 끄면은 완화됩니다.
바로 이해가 됐어요 :)