SlideShare ist ein Scribd-Unternehmen logo
1 von 25
실시간 피사계 심도 렌더링 개선 기법Advanced realtimepostrendering techniques for depth of field 김성익 noerror@softnette.com 소프트네트http://softnette.com 2011/7/6
피사계 심도 피사계 심도 (Depth of Field)사진 렌즈로 어떤 거리의 피사체에 초점을 맞출 때 초점이 맞는 범위 피사계 심도 이외의 영역이 흐려지는 현상 http://en.wikipedia.org/wiki/Depth_of_field
피사계 심도 아웃-오프-포커스 (근경, 원경) 원경에는 인-포커스가 번지지 않음 근경은 인-포커스, 원경으로 번짐 인-포커스 선명한 이미지 Startcraft2 Effects & techniques(SIGGRAPH 2008) http://graphics.stanford.edu/projects/lightfield/
피사계 심도 COC(Circle of Confusion) 흐려지는 범위 http://en.wikipedia.org/wiki/Circle_of_confusion
포스트 랜더링 방식 포스트 프로세싱 랜더링된 이미지 기반으로 픽셀 단위 연산 추가적인 지오매트리패스없이렌더링된 결과만을 가지고 처리 http://software.intel.com/en-us/articles/iir-gaussian-blur-filter-implementation-using-intel-advanced-vector-extensions/
실시간 피사계 심도 포스트 프로세싱 렌더링된 이미지를 블러링하고 합성하여 피사계 심도 근사 입력 렌더링 결과 깊이맵
실시간 피사계 심도 깊이 기반으로 COC 구하기 최대 아웃-오프-포커스 이미지와 인-포커스 이미지의 블랜딩으로 근사 흐려지는 범위 => 흐려지는 정도 Tin-Tin Yu. Depth of field implementation with open gl Startcraft2 Effects & techniques(SIGGRAPH 2008)
실시간 피사계 심도 원경과 근경을 분리하여 처리 절차 1. 원경의 아웃-오프-포커스 블러 이미지 생성 2. 1번과 인-포커스 이미지 블랜딩 3. 근경의 아웃-오프-포커스 블러 이미지 4. 2번과 3번 이미지를 블랜딩
아웃-오프-포커스 블러 인-포커스 이미지 : 원본 아웃-오프-포커스 이미지 : 원본을 가우시안블러 깊이 맵을 이용 블랜드 가중치를 구함 가중치로아웃-오프-포커스 이미지와 합성 인-포커스 번짐 현상 발생
Bilateral Filtering A Gentle Introduction to Bilateral Filtering and its Applications (Siggraph2008)
Bilateral Filtering A Gentle Introduction to Bilateral Filtering and its Applications (Siggraph2008)
아웃-오브-포커스 원경 블러링 원경 블러링시 가중치(range)를 원경 블랜드 값으로 바이래터럴필터링 절차 1. 마스크 텍스처 준비원본의 rgb에 가중치를 곱하고, 가중치를 a 채널저장output.rgb = input.rgb * far_defocus_weight;output.a = far_defocus_weight; 2. 가우시안블러 rgba블러링 다운 스케일한 후에 블러링해도 됨 3. 정규화 (a로 나눠줌)
합성 블러링 된 원경과원본 합성
장점 인-포커스 번짐 현상 제거 빠른 성능 두 번의 1D 가우시안필터링을 통한 빠른 블러링 가능 가로로 1d 가우시안블러, 결과를 세로로 1d 가우시간블러 12 tap 2패스 = 144 tap 1패스 축소하여 연산가능 빠른 속도로 큰 커널 사이즈 블러링 가능 축소해도 인-포커스 번짐 현상 없음
아웃-오브-포커스 근경 블러링 원경과 유사한 절차로 합성 절차 1. 마스크 텍스처 준비output.rgb = input.rgb * near_defocus_weight;output.a = near_defocus_weight; 2. 가우시안블러링 가중치가 곱해진 rgb와 블러링된 a 블러링한 원경과 합성한 이미지와 합성 근경 픽셀에 가중치가 곱해져 있으므로output = lerp(background, input.rgb, input.a);output = background * (1 - input.a) + input.rgb
근경 합성 한계점 불투명한 특성으로 인한 근경의 아웃-오프-포커스 지점의시각적 불완전성
실시간 피사계심도 기존 포스트 프로세싱 방식의 한계 Unreal 3 Tech Demo
근경 반투명 구현 필요 실제 카메라의 피사계 심도 http://graphics.stanford.edu/projects/lightfield/
근경 반투명 구현 가려지는 영역의 정보를 이미지에 삽입하여 반투명 구현 http://www.youtube.com/watch?v=OiUixBfJPfQ
근경 이미지 제거 패턴 처리 프레임 버퍼 렌더링시 근경 제외 (패턴)(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;  }  ....  근경이 제외되면서 해당 위치에는 원래 깊이 버퍼에 의해가려질 픽셀이 찍힘
근경 이미지 제거 근경 픽셀은 인접 픽셀 셈플링 인접 비-근경의 평균값 비-근경을 가중치로 바이래터럴필터링 혹은, 비-근경이 있을 것으로 예상되는 위치의 픽셀값texuv = In.texuv–fmod(In.texuv, 2/g_ScreenSize.xy);
합성 아웃-오프-포커스 근경 절차는 패턴 삽입 전과 동일 패턴 삽입으로 완전한 근경 영역도 ¼ 비 근경 이미지가 삽입되어 마스크가 흐려진 상태 => 4/3 을 곱해서 정규화 합성 근경이 제거된 인-포커스, 근경 아웃-오프-포커스 합성 이미지 정규화된 아웃-오프-포커스 이미지
결과
요약 실시간 피사계 심도를 개선 바이래터럴필터링을 사용 인-포커스 번짐 현상 제거 빠른 2D 가우시간필터링(1D 2패스) 축소 버퍼 사용 가능 근경 제외 패턴 처리 추가적인 지오 매트리 패스 없이 반투명 처리
참고문헌 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

Weitere ähnliche Inhalte

Was ist angesagt?

2018.12.22 깊이 버퍼 그림자 매핑
2018.12.22 깊이 버퍼 그림자 매핑2018.12.22 깊이 버퍼 그림자 매핑
2018.12.22 깊이 버퍼 그림자 매핑Sukwoo Lee
 
[0918 박민수] 범프 매핑
[0918 박민수] 범프 매핑[0918 박민수] 범프 매핑
[0918 박민수] 범프 매핑MoonLightMS
 
게임 개발을 위한 렌더링 기법 한성환
게임 개발을 위한 렌더링 기법   한성환게임 개발을 위한 렌더링 기법   한성환
게임 개발을 위한 렌더링 기법 한성환Yggdrasil610
 
[Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
[Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)[Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
[Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)해강
 
[0212 박민수]환경 매핑
[0212 박민수]환경 매핑[0212 박민수]환경 매핑
[0212 박민수]환경 매핑MoonLightMS
 
Game Visual Art Technologies
Game Visual Art TechnologiesGame Visual Art Technologies
Game Visual Art TechnologiesSangYun Yi
 
7강 shader basic lighting_배포용 삭제버전
7강 shader basic lighting_배포용 삭제버전7강 shader basic lighting_배포용 삭제버전
7강 shader basic lighting_배포용 삭제버전JP Jung
 
8강 camera advanced light
8강 camera advanced light8강 camera advanced light
8강 camera advanced lightJP Jung
 
[Shader study] the rendering technology of lords of the fallen - 발표메모(14.06.23)
[Shader study] the rendering technology of lords of the fallen - 발표메모(14.06.23)[Shader study] the rendering technology of lords of the fallen - 발표메모(14.06.23)
[Shader study] the rendering technology of lords of the fallen - 발표메모(14.06.23)해강
 
[1023 박민수] 깊이_버퍼_그림자
[1023 박민수] 깊이_버퍼_그림자[1023 박민수] 깊이_버퍼_그림자
[1023 박민수] 깊이_버퍼_그림자MoonLightMS
 
6강 light shadow 기초
6강 light shadow 기초6강 light shadow 기초
6강 light shadow 기초JP Jung
 
Unity Surface Shader for Artist 01
Unity Surface Shader for Artist 01Unity Surface Shader for Artist 01
Unity Surface Shader for Artist 01SangYun Yi
 
[GPU Gems3] Chapter 28. Practical Post Process Depth Of Field
[GPU Gems3] Chapter 28. Practical Post Process Depth Of Field[GPU Gems3] Chapter 28. Practical Post Process Depth Of Field
[GPU Gems3] Chapter 28. Practical Post Process Depth Of Field종빈 오
 
논문-특징점 기반 단안 영상 SLAM의 최적화 기법 및 필터링 기법의 성능 연구
논문-특징점 기반 단안 영상 SLAM의 최적화 기법 및 필터링 기법의 성능 연구논문-특징점 기반 단안 영상 SLAM의 최적화 기법 및 필터링 기법의 성능 연구
논문-특징점 기반 단안 영상 SLAM의 최적화 기법 및 필터링 기법의 성능 연구jdo
 
이펙트 쉐이더 3강 - 기술 응용 : 홀로그램 쉐이더
이펙트 쉐이더 3강 - 기술 응용 : 홀로그램 쉐이더이펙트 쉐이더 3강 - 기술 응용 : 홀로그램 쉐이더
이펙트 쉐이더 3강 - 기술 응용 : 홀로그램 쉐이더Jihoo Oh
 
영상 기반 SLAM 알고리즘 시험
영상 기반 SLAM 알고리즘 시험영상 기반 SLAM 알고리즘 시험
영상 기반 SLAM 알고리즘 시험jdo
 

Was ist angesagt? (19)

2018.12.22 깊이 버퍼 그림자 매핑
2018.12.22 깊이 버퍼 그림자 매핑2018.12.22 깊이 버퍼 그림자 매핑
2018.12.22 깊이 버퍼 그림자 매핑
 
[0918 박민수] 범프 매핑
[0918 박민수] 범프 매핑[0918 박민수] 범프 매핑
[0918 박민수] 범프 매핑
 
게임 개발을 위한 렌더링 기법 한성환
게임 개발을 위한 렌더링 기법   한성환게임 개발을 위한 렌더링 기법   한성환
게임 개발을 위한 렌더링 기법 한성환
 
[Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
[Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)[Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
[Shader study] Lighting Killzone : Shadow Fall - 발표메모(13.10.14)
 
[0212 박민수]환경 매핑
[0212 박민수]환경 매핑[0212 박민수]환경 매핑
[0212 박민수]환경 매핑
 
Game Visual Art Technologies
Game Visual Art TechnologiesGame Visual Art Technologies
Game Visual Art Technologies
 
7강 shader basic lighting_배포용 삭제버전
7강 shader basic lighting_배포용 삭제버전7강 shader basic lighting_배포용 삭제버전
7강 shader basic lighting_배포용 삭제버전
 
8강 camera advanced light
8강 camera advanced light8강 camera advanced light
8강 camera advanced light
 
그림자 이야기
그림자 이야기그림자 이야기
그림자 이야기
 
[Shader study] the rendering technology of lords of the fallen - 발표메모(14.06.23)
[Shader study] the rendering technology of lords of the fallen - 발표메모(14.06.23)[Shader study] the rendering technology of lords of the fallen - 발표메모(14.06.23)
[Shader study] the rendering technology of lords of the fallen - 발표메모(14.06.23)
 
[1023 박민수] 깊이_버퍼_그림자
[1023 박민수] 깊이_버퍼_그림자[1023 박민수] 깊이_버퍼_그림자
[1023 박민수] 깊이_버퍼_그림자
 
카툰 렌더링
카툰 렌더링카툰 렌더링
카툰 렌더링
 
6강 light shadow 기초
6강 light shadow 기초6강 light shadow 기초
6강 light shadow 기초
 
Unity Surface Shader for Artist 01
Unity Surface Shader for Artist 01Unity Surface Shader for Artist 01
Unity Surface Shader for Artist 01
 
Bump Mapping
Bump MappingBump Mapping
Bump Mapping
 
[GPU Gems3] Chapter 28. Practical Post Process Depth Of Field
[GPU Gems3] Chapter 28. Practical Post Process Depth Of Field[GPU Gems3] Chapter 28. Practical Post Process Depth Of Field
[GPU Gems3] Chapter 28. Practical Post Process Depth Of Field
 
논문-특징점 기반 단안 영상 SLAM의 최적화 기법 및 필터링 기법의 성능 연구
논문-특징점 기반 단안 영상 SLAM의 최적화 기법 및 필터링 기법의 성능 연구논문-특징점 기반 단안 영상 SLAM의 최적화 기법 및 필터링 기법의 성능 연구
논문-특징점 기반 단안 영상 SLAM의 최적화 기법 및 필터링 기법의 성능 연구
 
이펙트 쉐이더 3강 - 기술 응용 : 홀로그램 쉐이더
이펙트 쉐이더 3강 - 기술 응용 : 홀로그램 쉐이더이펙트 쉐이더 3강 - 기술 응용 : 홀로그램 쉐이더
이펙트 쉐이더 3강 - 기술 응용 : 홀로그램 쉐이더
 
영상 기반 SLAM 알고리즘 시험
영상 기반 SLAM 알고리즘 시험영상 기반 SLAM 알고리즘 시험
영상 기반 SLAM 알고리즘 시험
 

Andere mochten auch

Gray Gradation PPT Template (Creativity)
Gray Gradation PPT Template (Creativity)Gray Gradation PPT Template (Creativity)
Gray Gradation PPT Template (Creativity)Yongsup Yi
 
Indentity system
Indentity systemIndentity system
Indentity systemecofrontier
 
Designing the Future: When Fact Meets Fiction
Designing the Future: When Fact Meets FictionDesigning the Future: When Fact Meets Fiction
Designing the Future: When Fact Meets FictionDean Johnson
 
Publicidad tarea semana 14 blancaimelda torres molina 280345
Publicidad tarea  semana 14 blancaimelda torres molina 280345Publicidad tarea  semana 14 blancaimelda torres molina 280345
Publicidad tarea semana 14 blancaimelda torres molina 280345blanca torres
 
Mobileweb planning2
Mobileweb planning2Mobileweb planning2
Mobileweb planning2Hyejin Yang
 
Introduction(thatbreathe)
Introduction(thatbreathe)Introduction(thatbreathe)
Introduction(thatbreathe)kangsei
 
portfolio-201608NS-ko-s
portfolio-201608NS-ko-sportfolio-201608NS-ko-s
portfolio-201608NS-ko-sHyein Kim
 
Jamin's portfolio for camp mobile_compact.version
Jamin's portfolio for camp mobile_compact.versionJamin's portfolio for camp mobile_compact.version
Jamin's portfolio for camp mobile_compact.versionJamin Park
 
障害のない社会を作るためのアプリづくりとは? - 発達障害の方向けアプリ開発から学んだこと
障害のない社会を作るためのアプリづくりとは? - 発達障害の方向けアプリ開発から学んだこと障害のない社会を作るためのアプリづくりとは? - 発達障害の方向けアプリ開発から学んだこと
障害のない社会を作るためのアプリづくりとは? - 発達障害の方向けアプリ開発から学んだことTakashi Kishida
 
[Tek] 4차산업혁명위원회 사회제도혁신위원회에 제출한 규제합리화 방안
[Tek] 4차산업혁명위원회 사회제도혁신위원회에 제출한 규제합리화 방안[Tek] 4차산업혁명위원회 사회제도혁신위원회에 제출한 규제합리화 방안
[Tek] 4차산업혁명위원회 사회제도혁신위원회에 제출한 규제합리화 방안TEK & LAW, LLP
 
Encuentro 4 De los centros de interés a la participación social (creación col...
Encuentro 4 De los centros de interés a la participación social (creación col...Encuentro 4 De los centros de interés a la participación social (creación col...
Encuentro 4 De los centros de interés a la participación social (creación col...wilfredogf
 
Design Thinking: Finding Problems Worth Solving In Health
Design Thinking: Finding Problems Worth Solving In HealthDesign Thinking: Finding Problems Worth Solving In Health
Design Thinking: Finding Problems Worth Solving In HealthAdam Connor
 
Visual Design with Data
Visual Design with DataVisual Design with Data
Visual Design with DataSeth Familian
 

Andere mochten auch (14)

Gray Gradation PPT Template (Creativity)
Gray Gradation PPT Template (Creativity)Gray Gradation PPT Template (Creativity)
Gray Gradation PPT Template (Creativity)
 
Indentity system
Indentity systemIndentity system
Indentity system
 
Designing the Future: When Fact Meets Fiction
Designing the Future: When Fact Meets FictionDesigning the Future: When Fact Meets Fiction
Designing the Future: When Fact Meets Fiction
 
Publicidad tarea semana 14 blancaimelda torres molina 280345
Publicidad tarea  semana 14 blancaimelda torres molina 280345Publicidad tarea  semana 14 blancaimelda torres molina 280345
Publicidad tarea semana 14 blancaimelda torres molina 280345
 
Mobileweb planning2
Mobileweb planning2Mobileweb planning2
Mobileweb planning2
 
Introduction(thatbreathe)
Introduction(thatbreathe)Introduction(thatbreathe)
Introduction(thatbreathe)
 
portfolio-201608NS-ko-s
portfolio-201608NS-ko-sportfolio-201608NS-ko-s
portfolio-201608NS-ko-s
 
Jamin's portfolio for camp mobile_compact.version
Jamin's portfolio for camp mobile_compact.versionJamin's portfolio for camp mobile_compact.version
Jamin's portfolio for camp mobile_compact.version
 
障害のない社会を作るためのアプリづくりとは? - 発達障害の方向けアプリ開発から学んだこと
障害のない社会を作るためのアプリづくりとは? - 発達障害の方向けアプリ開発から学んだこと障害のない社会を作るためのアプリづくりとは? - 発達障害の方向けアプリ開発から学んだこと
障害のない社会を作るためのアプリづくりとは? - 発達障害の方向けアプリ開発から学んだこと
 
[Tek] 4차산업혁명위원회 사회제도혁신위원회에 제출한 규제합리화 방안
[Tek] 4차산업혁명위원회 사회제도혁신위원회에 제출한 규제합리화 방안[Tek] 4차산업혁명위원회 사회제도혁신위원회에 제출한 규제합리화 방안
[Tek] 4차산업혁명위원회 사회제도혁신위원회에 제출한 규제합리화 방안
 
Malaria and bebesia
Malaria and bebesiaMalaria and bebesia
Malaria and bebesia
 
Encuentro 4 De los centros de interés a la participación social (creación col...
Encuentro 4 De los centros de interés a la participación social (creación col...Encuentro 4 De los centros de interés a la participación social (creación col...
Encuentro 4 De los centros de interés a la participación social (creación col...
 
Design Thinking: Finding Problems Worth Solving In Health
Design Thinking: Finding Problems Worth Solving In HealthDesign Thinking: Finding Problems Worth Solving In Health
Design Thinking: Finding Problems Worth Solving In Health
 
Visual Design with Data
Visual Design with DataVisual Design with Data
Visual Design with Data
 

Ähnlich wie KCGS11_실시간 피사계 심도 렌더링 개선 기법

김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019devCAT Studio, NEXON
 
[0326 박민근] deferred shading
[0326 박민근] deferred shading[0326 박민근] deferred shading
[0326 박민근] deferred shadingMinGeun Park
 
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술Ki Hyunwoo
 
[Ndc11 박민근] deferred shading
[Ndc11 박민근] deferred shading[Ndc11 박민근] deferred shading
[Ndc11 박민근] deferred shadingMinGeun Park
 
6강 light shadow 기초
6강 light shadow 기초6강 light shadow 기초
6강 light shadow 기초JP Jung
 
6강 light shadow 기초
6강 light shadow 기초6강 light shadow 기초
6강 light shadow 기초JP Jung
 
공간증강현실을 이용한 곡선의 디자인 (HCI Korea 2013)
공간증강현실을 이용한 곡선의 디자인 (HCI Korea 2013)공간증강현실을 이용한 곡선의 디자인 (HCI Korea 2013)
공간증강현실을 이용한 곡선의 디자인 (HCI Korea 2013)Joo-Haeng Lee
 
Real-Time Global Illumination Techniques
Real-Time Global Illumination TechniquesReal-Time Global Illumination Techniques
Real-Time Global Illumination TechniquesJangho Lee
 
GameMath-Chapter 06 카메라
GameMath-Chapter 06 카메라GameMath-Chapter 06 카메라
GameMath-Chapter 06 카메라Mark Choi
 
06_HDR 소개
06_HDR 소개06_HDR 소개
06_HDR 소개noerror
 
Shaderstudy Motion Blur
Shaderstudy Motion BlurShaderstudy Motion Blur
Shaderstudy Motion Bluryong gyun im
 
Light in screen_space(Light Pre Pass)
Light in screen_space(Light Pre Pass)Light in screen_space(Light Pre Pass)
Light in screen_space(Light Pre Pass)민웅 이
 
투명화 처리로 살펴 본 한층 고급화된 모바일 UX
투명화 처리로 살펴 본 한층 고급화된 모바일 UX투명화 처리로 살펴 본 한층 고급화된 모바일 UX
투명화 처리로 살펴 본 한층 고급화된 모바일 UXDae Yeon Jin
 
[paper review] 손규빈 - Eye in the sky & 3D human pose estimation in video with ...
[paper review] 손규빈 - Eye in the sky & 3D human pose estimation in video with ...[paper review] 손규빈 - Eye in the sky & 3D human pose estimation in video with ...
[paper review] 손규빈 - Eye in the sky & 3D human pose estimation in video with ...Gyubin Son
 
Ndc17 - 차세대 게임이펙트를 위해 알야아할 기법들
Ndc17 - 차세대 게임이펙트를 위해 알야아할 기법들Ndc17 - 차세대 게임이펙트를 위해 알야아할 기법들
Ndc17 - 차세대 게임이펙트를 위해 알야아할 기법들Dae Hyek KIM
 
Kgc make stereo game on pc
Kgc make stereo game on pcKgc make stereo game on pc
Kgc make stereo game on pcozlael ozlael
 
리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과
리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과
리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과WonKee Kim
 
니시카와젠지의 3 d 게임 팬을 위한 ps4
니시카와젠지의 3 d 게임 팬을 위한 ps4니시카와젠지의 3 d 게임 팬을 위한 ps4
니시카와젠지의 3 d 게임 팬을 위한 ps4민웅 이
 

Ähnlich wie KCGS11_실시간 피사계 심도 렌더링 개선 기법 (18)

김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
 
[0326 박민근] deferred shading
[0326 박민근] deferred shading[0326 박민근] deferred shading
[0326 박민근] deferred shading
 
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술
 
[Ndc11 박민근] deferred shading
[Ndc11 박민근] deferred shading[Ndc11 박민근] deferred shading
[Ndc11 박민근] deferred shading
 
6강 light shadow 기초
6강 light shadow 기초6강 light shadow 기초
6강 light shadow 기초
 
6강 light shadow 기초
6강 light shadow 기초6강 light shadow 기초
6강 light shadow 기초
 
공간증강현실을 이용한 곡선의 디자인 (HCI Korea 2013)
공간증강현실을 이용한 곡선의 디자인 (HCI Korea 2013)공간증강현실을 이용한 곡선의 디자인 (HCI Korea 2013)
공간증강현실을 이용한 곡선의 디자인 (HCI Korea 2013)
 
Real-Time Global Illumination Techniques
Real-Time Global Illumination TechniquesReal-Time Global Illumination Techniques
Real-Time Global Illumination Techniques
 
GameMath-Chapter 06 카메라
GameMath-Chapter 06 카메라GameMath-Chapter 06 카메라
GameMath-Chapter 06 카메라
 
06_HDR 소개
06_HDR 소개06_HDR 소개
06_HDR 소개
 
Shaderstudy Motion Blur
Shaderstudy Motion BlurShaderstudy Motion Blur
Shaderstudy Motion Blur
 
Light in screen_space(Light Pre Pass)
Light in screen_space(Light Pre Pass)Light in screen_space(Light Pre Pass)
Light in screen_space(Light Pre Pass)
 
투명화 처리로 살펴 본 한층 고급화된 모바일 UX
투명화 처리로 살펴 본 한층 고급화된 모바일 UX투명화 처리로 살펴 본 한층 고급화된 모바일 UX
투명화 처리로 살펴 본 한층 고급화된 모바일 UX
 
[paper review] 손규빈 - Eye in the sky & 3D human pose estimation in video with ...
[paper review] 손규빈 - Eye in the sky & 3D human pose estimation in video with ...[paper review] 손규빈 - Eye in the sky & 3D human pose estimation in video with ...
[paper review] 손규빈 - Eye in the sky & 3D human pose estimation in video with ...
 
Ndc17 - 차세대 게임이펙트를 위해 알야아할 기법들
Ndc17 - 차세대 게임이펙트를 위해 알야아할 기법들Ndc17 - 차세대 게임이펙트를 위해 알야아할 기법들
Ndc17 - 차세대 게임이펙트를 위해 알야아할 기법들
 
Kgc make stereo game on pc
Kgc make stereo game on pcKgc make stereo game on pc
Kgc make stereo game on pc
 
리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과
리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과
리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과
 
니시카와젠지의 3 d 게임 팬을 위한 ps4
니시카와젠지의 3 d 게임 팬을 위한 ps4니시카와젠지의 3 d 게임 팬을 위한 ps4
니시카와젠지의 3 d 게임 팬을 위한 ps4
 

Mehr von noerror

15_TextureAtlas
15_TextureAtlas15_TextureAtlas
15_TextureAtlasnoerror
 
11_웹서비스활용
11_웹서비스활용11_웹서비스활용
11_웹서비스활용noerror
 
NDC08_실시간비주얼그래프편집
NDC08_실시간비주얼그래프편집NDC08_실시간비주얼그래프편집
NDC08_실시간비주얼그래프편집noerror
 
NDC12_Lockless게임서버설계와구현
NDC12_Lockless게임서버설계와구현NDC12_Lockless게임서버설계와구현
NDC12_Lockless게임서버설계와구현noerror
 
11_통계 자료분석 입문
11_통계 자료분석 입문11_통계 자료분석 입문
11_통계 자료분석 입문noerror
 
11_빠른 개발 가능한 레벨 편집 시스템
11_빠른 개발 가능한 레벨 편집 시스템11_빠른 개발 가능한 레벨 편집 시스템
11_빠른 개발 가능한 레벨 편집 시스템noerror
 
11_SH를 이용한 실시간 투명 근사법
11_SH를 이용한 실시간 투명 근사법11_SH를 이용한 실시간 투명 근사법
11_SH를 이용한 실시간 투명 근사법noerror
 
ICON08_게임 애니메이션 최적화 기법
ICON08_게임 애니메이션 최적화 기법ICON08_게임 애니메이션 최적화 기법
ICON08_게임 애니메이션 최적화 기법noerror
 
08_Marching Cube Terrains
08_Marching Cube Terrains08_Marching Cube Terrains
08_Marching Cube Terrainsnoerror
 
08_게임 물리 프로그래밍 가이드
08_게임 물리 프로그래밍 가이드08_게임 물리 프로그래밍 가이드
08_게임 물리 프로그래밍 가이드noerror
 
08_플래시 맛보기
08_플래시 맛보기08_플래시 맛보기
08_플래시 맛보기noerror
 
08_애니메이션고등학교 게임과 특강
08_애니메이션고등학교 게임과 특강08_애니메이션고등학교 게임과 특강
08_애니메이션고등학교 게임과 특강noerror
 
08_Wxwidgets 소개
08_Wxwidgets 소개08_Wxwidgets 소개
08_Wxwidgets 소개noerror
 
07_PhysX 강체물리 입문
07_PhysX 강체물리 입문07_PhysX 강체물리 입문
07_PhysX 강체물리 입문noerror
 
07_스케일폼 소개
07_스케일폼 소개07_스케일폼 소개
07_스케일폼 소개noerror
 
07_Visual Shader Editor
07_Visual Shader Editor07_Visual Shader Editor
07_Visual Shader Editornoerror
 
06_게임엔진 활용팁
06_게임엔진 활용팁06_게임엔진 활용팁
06_게임엔진 활용팁noerror
 
06_게임엔진구성
06_게임엔진구성06_게임엔진구성
06_게임엔진구성noerror
 
06_자동차물리입문(1)
06_자동차물리입문(1)06_자동차물리입문(1)
06_자동차물리입문(1)noerror
 
06_앰비언트어클루전 소개
06_앰비언트어클루전 소개06_앰비언트어클루전 소개
06_앰비언트어클루전 소개noerror
 

Mehr von noerror (20)

15_TextureAtlas
15_TextureAtlas15_TextureAtlas
15_TextureAtlas
 
11_웹서비스활용
11_웹서비스활용11_웹서비스활용
11_웹서비스활용
 
NDC08_실시간비주얼그래프편집
NDC08_실시간비주얼그래프편집NDC08_실시간비주얼그래프편집
NDC08_실시간비주얼그래프편집
 
NDC12_Lockless게임서버설계와구현
NDC12_Lockless게임서버설계와구현NDC12_Lockless게임서버설계와구현
NDC12_Lockless게임서버설계와구현
 
11_통계 자료분석 입문
11_통계 자료분석 입문11_통계 자료분석 입문
11_통계 자료분석 입문
 
11_빠른 개발 가능한 레벨 편집 시스템
11_빠른 개발 가능한 레벨 편집 시스템11_빠른 개발 가능한 레벨 편집 시스템
11_빠른 개발 가능한 레벨 편집 시스템
 
11_SH를 이용한 실시간 투명 근사법
11_SH를 이용한 실시간 투명 근사법11_SH를 이용한 실시간 투명 근사법
11_SH를 이용한 실시간 투명 근사법
 
ICON08_게임 애니메이션 최적화 기법
ICON08_게임 애니메이션 최적화 기법ICON08_게임 애니메이션 최적화 기법
ICON08_게임 애니메이션 최적화 기법
 
08_Marching Cube Terrains
08_Marching Cube Terrains08_Marching Cube Terrains
08_Marching Cube Terrains
 
08_게임 물리 프로그래밍 가이드
08_게임 물리 프로그래밍 가이드08_게임 물리 프로그래밍 가이드
08_게임 물리 프로그래밍 가이드
 
08_플래시 맛보기
08_플래시 맛보기08_플래시 맛보기
08_플래시 맛보기
 
08_애니메이션고등학교 게임과 특강
08_애니메이션고등학교 게임과 특강08_애니메이션고등학교 게임과 특강
08_애니메이션고등학교 게임과 특강
 
08_Wxwidgets 소개
08_Wxwidgets 소개08_Wxwidgets 소개
08_Wxwidgets 소개
 
07_PhysX 강체물리 입문
07_PhysX 강체물리 입문07_PhysX 강체물리 입문
07_PhysX 강체물리 입문
 
07_스케일폼 소개
07_스케일폼 소개07_스케일폼 소개
07_스케일폼 소개
 
07_Visual Shader Editor
07_Visual Shader Editor07_Visual Shader Editor
07_Visual Shader Editor
 
06_게임엔진 활용팁
06_게임엔진 활용팁06_게임엔진 활용팁
06_게임엔진 활용팁
 
06_게임엔진구성
06_게임엔진구성06_게임엔진구성
06_게임엔진구성
 
06_자동차물리입문(1)
06_자동차물리입문(1)06_자동차물리입문(1)
06_자동차물리입문(1)
 
06_앰비언트어클루전 소개
06_앰비언트어클루전 소개06_앰비언트어클루전 소개
06_앰비언트어클루전 소개
 

KCGS11_실시간 피사계 심도 렌더링 개선 기법

  • 1. 실시간 피사계 심도 렌더링 개선 기법Advanced realtimepostrendering techniques for depth of field 김성익 noerror@softnette.com 소프트네트http://softnette.com 2011/7/6
  • 2. 피사계 심도 피사계 심도 (Depth of Field)사진 렌즈로 어떤 거리의 피사체에 초점을 맞출 때 초점이 맞는 범위 피사계 심도 이외의 영역이 흐려지는 현상 http://en.wikipedia.org/wiki/Depth_of_field
  • 3. 피사계 심도 아웃-오프-포커스 (근경, 원경) 원경에는 인-포커스가 번지지 않음 근경은 인-포커스, 원경으로 번짐 인-포커스 선명한 이미지 Startcraft2 Effects & techniques(SIGGRAPH 2008) http://graphics.stanford.edu/projects/lightfield/
  • 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)
  • 12. 아웃-오브-포커스 원경 블러링 원경 블러링시 가중치(range)를 원경 블랜드 값으로 바이래터럴필터링 절차 1. 마스크 텍스처 준비원본의 rgb에 가중치를 곱하고, 가중치를 a 채널저장output.rgb = input.rgb * far_defocus_weight;output.a = far_defocus_weight; 2. 가우시안블러 rgba블러링 다운 스케일한 후에 블러링해도 됨 3. 정규화 (a로 나눠줌)
  • 13. 합성 블러링 된 원경과원본 합성
  • 14. 장점 인-포커스 번짐 현상 제거 빠른 성능 두 번의 1D 가우시안필터링을 통한 빠른 블러링 가능 가로로 1d 가우시안블러, 결과를 세로로 1d 가우시간블러 12 tap 2패스 = 144 tap 1패스 축소하여 연산가능 빠른 속도로 큰 커널 사이즈 블러링 가능 축소해도 인-포커스 번짐 현상 없음
  • 15. 아웃-오브-포커스 근경 블러링 원경과 유사한 절차로 합성 절차 1. 마스크 텍스처 준비output.rgb = input.rgb * near_defocus_weight;output.a = near_defocus_weight; 2. 가우시안블러링 가중치가 곱해진 rgb와 블러링된 a 블러링한 원경과 합성한 이미지와 합성 근경 픽셀에 가중치가 곱해져 있으므로output = lerp(background, input.rgb, input.a);output = background * (1 - input.a) + input.rgb
  • 16. 근경 합성 한계점 불투명한 특성으로 인한 근경의 아웃-오프-포커스 지점의시각적 불완전성
  • 17. 실시간 피사계심도 기존 포스트 프로세싱 방식의 한계 Unreal 3 Tech Demo
  • 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