4. 피사계 심도 COC(Circle of Confusion) 흐려지는 범위 http://en.wikipedia.org/wiki/Circle_of_confusion
5. 포스트 랜더링 방식 포스트 프로세싱 랜더링된 이미지 기반으로 픽셀 단위 연산 추가적인 지오매트리패스없이렌더링된 결과만을 가지고 처리 http://software.intel.com/en-us/articles/iir-gaussian-blur-filter-implementation-using-intel-advanced-vector-extensions/
6. 실시간 피사계 심도 포스트 프로세싱 렌더링된 이미지를 블러링하고 합성하여 피사계 심도 근사 입력 렌더링 결과 깊이맵
7. 실시간 피사계 심도 깊이 기반으로 COC 구하기 최대 아웃-오프-포커스 이미지와 인-포커스 이미지의 블랜딩으로 근사 흐려지는 범위 => 흐려지는 정도 Tin-Tin Yu. Depth of field implementation with open gl Startcraft2 Effects & techniques(SIGGRAPH 2008)
8. 실시간 피사계 심도 원경과 근경을 분리하여 처리 절차 1. 원경의 아웃-오프-포커스 블러 이미지 생성 2. 1번과 인-포커스 이미지 블랜딩 3. 근경의 아웃-오프-포커스 블러 이미지 4. 2번과 3번 이미지를 블랜딩
9. 아웃-오프-포커스 블러 인-포커스 이미지 : 원본 아웃-오프-포커스 이미지 : 원본을 가우시안블러 깊이 맵을 이용 블랜드 가중치를 구함 가중치로아웃-오프-포커스 이미지와 합성 인-포커스 번짐 현상 발생
10. Bilateral Filtering A Gentle Introduction to Bilateral Filtering and its Applications (Siggraph2008)
11. Bilateral Filtering A Gentle Introduction to Bilateral Filtering and its Applications (Siggraph2008)
14. 장점 인-포커스 번짐 현상 제거 빠른 성능 두 번의 1D 가우시안필터링을 통한 빠른 블러링 가능 가로로 1d 가우시안블러, 결과를 세로로 1d 가우시간블러 12 tap 2패스 = 144 tap 1패스 축소하여 연산가능 빠른 속도로 큰 커널 사이즈 블러링 가능 축소해도 인-포커스 번짐 현상 없음
18. 근경 반투명 구현 필요 실제 카메라의 피사계 심도 http://graphics.stanford.edu/projects/lightfield/
19. 근경 반투명 구현 가려지는 영역의 정보를 이미지에 삽입하여 반투명 구현 http://www.youtube.com/watch?v=OiUixBfJPfQ
20. 근경 이미지 제거 패턴 처리 프레임 버퍼 렌더링시 근경 제외 (패턴)(ex. 4픽셀에 1픽셀 씩)float4 p(PS_IN In) : COLOR{ if (In.ViewDir.z < g_FocusDistance) { float2 pattern = fmod(floor(In.VPos.xy), 2); if (pattern.x == 0 && pattern.y == 0) discard; } .... 근경이 제외되면서 해당 위치에는 원래 깊이 버퍼에 의해가려질 픽셀이 찍힘
21. 근경 이미지 제거 근경 픽셀은 인접 픽셀 셈플링 인접 비-근경의 평균값 비-근경을 가중치로 바이래터럴필터링 혹은, 비-근경이 있을 것으로 예상되는 위치의 픽셀값texuv = In.texuv–fmod(In.texuv, 2/g_ScreenSize.xy);
22. 합성 아웃-오프-포커스 근경 절차는 패턴 삽입 전과 동일 패턴 삽입으로 완전한 근경 영역도 ¼ 비 근경 이미지가 삽입되어 마스크가 흐려진 상태 => 4/3 을 곱해서 정규화 합성 근경이 제거된 인-포커스, 근경 아웃-오프-포커스 합성 이미지 정규화된 아웃-오프-포커스 이미지
24. 요약 실시간 피사계 심도를 개선 바이래터럴필터링을 사용 인-포커스 번짐 현상 제거 빠른 2D 가우시간필터링(1D 2패스) 축소 버퍼 사용 가능 근경 제외 패턴 처리 추가적인 지오 매트리 패스 없이 반투명 처리
25. 참고문헌 http://en.wikipedia.org/wiki/Depth_of_field M.Potmesil. A lens and aperture camera model for synthetic image generation ACM SIGGRAPH Computer Graphics, 1981 GuennadiRiguer, Natalya Tatarchuk. Real-time depth of field simulation. In ShaderX2 M. Kraus, M. Strengert. Depth-of-Field Rendering by Pyramidal Image Processing. In Porceedings EG 2007 Tin-Tin Yu. Depth of field implementation with open gl, Journal of Computing Sciences in Colleges, 2004 T.Igarashi, et al. Real-Time Depth-of-Field Rendering Using Point Splatting on Per-Pixel Layers, Pacific Graphics 2008 C. Tomasi, et al. Bilateral Filtering for Gray and Color Images, 1998 Dominic Filion, Starcraft 2 Effects & techniques, Siggraph 2008