1. SH를 이용한 실시간 투명 근사Fast Real-time Translucent Rendering김성익(noerror@softnette.com)소프트네트2011/05/29
2. 투명 재질빛이 표면에서 전부 반사하거나 통과하지 않고 일부 내부에서 산란하여 통과하는 재질http://www.cs.virginia.edu/~rw2p/cs647/project.htm
3. BTDF일반적인 BRDF에는 미포함BSSRDF (BRDF 내하 산란 항을 추가한 것으로 투과와는 성격이 약간 다름)투과 속성을 가진 BTDF항 추가투과도가 필요재질 내부 특성이 균일하다고가정하면 깊이가 필요Wikipedia:Bidirectional_scattering_distribution_function
4. 실시간 투명 렌더링깊이 값을 근사하여 투명도 결정깊이 텍스처를 이용텍스처 스페이스SH를 이용한 근사법 제안
5. 깊이 텍스처를 이용Translucent Shadow Map1. 깊이 맵을 이용라이트의 시점에서 깊이 렌더링(그림자 맵과 동일)임의의 점의 라이트 거리와 TSM에 저장된 거리 차이2. 두 채널을 이용R에는 거리, G는 Far에서의 거리를 Write블랜드는Min결과적으로는 가까운 거리는 R, 먼 거리는 1-G두 값 차이를 이용하여 깊이 계산http://www.gamerendering.com/2009/09/25/render-thickness/
6. 깊이 텍스처를 이용단점렌더링 패스 증가로 인한 성능 이슈해상도로 인한 실루엣 알리아싱 문제Convex한 물체에만 유효
10. Spherical Harmonics구면 조화함수컨셉은푸리에 변환이나 라플라스 변환 같은 값의 도메인을 이동하는 계열과 유사하게 생각하면 됨계수가 많을 수록 입력 값과 유사해짐낮은 주파수 영역대가 근사값에 큰 역할을 함압축하는 의도라고 생각해도 크게 틀리지 않음
11. Spherical Harmonics구면 조화함수 그래픽스 응용입력 구형 이미지 => SH 계수SH계수 => 구형이미지계수가 많다면 입력 이미지를 복원하겠지만, 전역광의 경우 의도적으로 블러링하여 사용하기 때문에 그냥 적은 개수의 계수를 사용하면 블러링한 결과와 동일 GOOD연산이 가볍고 적은 개수의 계수로도 훌륭한 품질의 결과물이 나와서 실시간 렌더링에서 많이 사용http://www.cs.berkeley.edu/~ravir/
12. SH를 이용한 투명 재질컨셉: SH를 이용하여 방향성 있는 투명도를 구하자절차깊이 계산이 필요한 위치에서 방향 별 깊이 값을 연산(불투명도)SH계수를 이용하여 압축 (손실은 있으나 내부 산란 특성을 고려하면-투명도의 저주파성- 오히려 블러링 생략의 이득)렌더링시노멀을 이용해 방향성 있는 투명도 얻기
13. SH를 이용한 투명 재질http://www.youtube.com/watch?v=_UMpeSEAwik
14. SH를 이용한 투명 재질버텍스 단위 계산퍼 픽셀로 계산하기 위해선 float 텍스처 여러 장이 필요함투명 재질의 내부 산란 특성 때문에 높은 해상도의 데이터는 불필요버텍스의스트림에버텍스의SH계수를 전달 (3개의 texture coordinate가 필요)
15. SH를 이용한 투명 재질버텍스에서 전 방향의 두께를 구함빛의 입사에 따라 깊이 값이 달라지므로임의의 개수의 ray를 발사해서 구하기필요하다면 다층의 길이를 합산 가능단순 합산이 물리적으로는 맞지 않을 수도 있으나 convex하지 않은 객체도 근사 가능
16. SH를 이용한 투명 재질대 부분 노멀 방향에서 좌우로 퍼지는 모양을 하고 있음탄젠트 스페이스로 계산값의 엔트로피 감소SH계수로 변환 시 좀 더 손실이 적음
17. SH를 이용한 투명 재질계산한 깊이 값으로 SH계수 구하기정확한 깊이 값을 구하는 게 목표는 아니므로 적당히 노멀라이징실제로는 깊이 보다는 투명도가 필요한 것
19. 장점스키닝 객체에도 적용이 가능하다빛의 방향을 탄젠트 스페이스 좌표로 옮기면 끝애니메이션 객체에도 적용 가능하다어클루더가 움직이기 때문에 물리적으로 올바르지 않지만 방향성을 정상적이기 때문에 납득할 만한 품질
20. 장점버텍스셰이더에서 간단한 SH만으로 계산 가능저사양에서도 전혀 부담 없는 연산 비용Convex가 아닌 객체도 쉽게 구할 수 있음GDC2011:Dice도 같은 조건이지만 convex 언급한 것은 AO를 통해서 굽는 방식적인 부분 때문으로 TSM의 한계와는 다른 이슈(현 방식의 SH 상수항만 사용하면 Dice와 동일)납득할만한 퀄리티