50. Screen Space Reflection
목차
- SSR이란?
- 뷰 공간에서의 레이 마칭
- SSR의 구현
- 하위 기술 설명 (Adaptive Stepping, BSearch, Tangent Space Sampling, Exponential Stepping)
SSR이란?
실시간 렌더링에서
'물체의 반사' 를 표현하기 위한 기술에는
여러 종류가 있습니다.
- 플레이너 리플렉션 (평면 반사)
- 스크린-스페이스 리플렉션 (SSR)
- 레이 트레이싱
- 동적 환경 매핑
동적 환경 매핑은 이전에 다루었듯이,
매 프레임마다 (반사될 물체 * 6) 개의 렌더 패스가 필요하기에
실시간 렌더링에는 거의 쓰이지 못합니다.
설명은 생략하겠습니다.
우선 플레이너 리플렉션은
기본적인 씬을 한번 렌더링 한 후,
특정 평면에 대해서 반사된 시점으로 한번 더 씬을 렌더링하여
평면에 반사를 나타내는 기법입니다.
이 기술로는 매우 깨끗한 반사를 얻을 수 있지만 -
씬 렌더링 비용이 정확히 2배가 된다는 단점이 있죠.
레이 트레이싱의 경우,
널리 알려져 있듯이
고품질의 반사는 물론
빛에 대한 효과는 거의 다 표현할 수 있지만 -
계산 비용이 매우 비싸다는 단점이 있습니다.
SSR, Screen-Space Reflection 은
이름에서 볼 수 있다시피,
Bloom 이나 SSAO 와 똑같이
화면 상의 정보 (Screen-Space) 만을 사용하여
물체의 반사를 구현하는 기법입니다.
SSR 의 장점이라고 하면,
다른 반사 기법보다 비교적 가볍고
여러 파라메터를 통해
성능과 반사 품질을 타협할 수 있다는 점입니다.
반대로 단점은,
Bloom효과가 화면 안에 그려지지 않은 부분에 대해서 적용되지 않듯이