그림자 최적화 접근.1 - 변경가능한 퀄리티 옵션의 활용.

보통 아웃도어의 경우
쉐도우는 케스케이드 쉐도우를 사용 하게 되는데
인도어의 경우에는 굳이 케스케이드 쉐도우가 그림자 퀄리티만 떨어 뜨린다.

케스케이드 쉐도우 알고리즘은 간단하게 말해서

뷰 프러스텀을 단계로 나누어서 쉐도우 텍스처의 밀도를 서로 다르게 분배 하여 가까운 곳은 밀도가 높게 먼 곳은 밀도가 떨어지게 하여 원거리 까지 뎁스맵쉐도우를 커버 하기 위해 차용 된 알고리즘이다만... 그게 모든 상황에서 좋은 결과를 가져다 주지는 않는다.

간단한 스크립트 함수를 만들어 인도어 아웃도어 각각에서 동작하는
퀄리티 제어 스크립트를 만들어 주면 좋을 것.


개인적으로 인도어일 경우 적정한 퀄리티로 맞춰 봤는데
화면에서 보여지는 인도어 뷰 프러스텀의 길이를 구한다거나(이건 좀 변수가 많아서 별루인거 같긴 한데...) 보통 쿼드 트리 설정을 했다면 볼륨의 직경을 구해서 적절한 쉐도우 디스턴스를 구할 수도 있겠고...
위 퀄리티 설정은 리얼타임으로 변경 가능 함.

구현 스크립트는 목요일 이후에.... 회식과 망년회가 많은 관계로.





Game Developer Leegoon copyright all right reserved since 2010.

Comments