SlideShare une entreprise Scribd logo
1  sur  12
레이트레이싱 입문,[object Object],김성익 (noerror@softnette.com)KASA Study 발표,[object Object],2010/11/14,[object Object]
개요,[object Object],레이트레이서 개념,[object Object],간단한 레이 트레이서를 구현,[object Object],레이트 레이서의 기본 구현 리뷰,[object Object],샘플 코드,[object Object],현실적으로 사용분야는 제한적이지만 응용 가능 분야는 없고, 그래픽스적으로 공유되는 알고리즘이 많음,[object Object],고전적인 방식이지만, 최근에는 반대로 차세대 방식으로 주목,[object Object]
레이트레이스,[object Object],광선(ray)의 이동 경로를 추적하는 방식(cf. 폴리곤 기반 레스터라이제이션 방식),[object Object],기하 기반의 교차 검사 위주,[object Object],전통적인 3d 렌더링 기법,[object Object],현실적으로 사용분야는 제한적이지만 응용 가능 분야는 없고, 그래픽스적으로 공유되는 알고리즘이 많음,[object Object],고전적인 방식이지만, 최근에는 반대로 차세대 방식으로 주목,[object Object]
장면 구성,[object Object],카메라 설정,[object Object],Depth 버퍼 설정이 필요 없음,[object Object],Fov, DOF 등,[object Object],렌더링 기하(Shape) 설정,[object Object],주) 구현 렌더링 기하의 복잡도를 낮추기 위해 무한 평면과 구만 사용 (cf. Polygon soup),[object Object],주) 머트리얼도 생략 (cf. texture mapping),[object Object],라이트 설정,[object Object],주) 구현 편의상 전역 라이트만 적용 (cf. 포인트 라이트, 스팟라이트, AreaLight),[object Object]
기본 레이트레이서 구성,[object Object],각 픽셀별로 카메라의 벡터를 구한다,[object Object],카메라 좌표계에서 월드 좌표계로 변환한다,[object Object],장면의 객체들과 교차검사를 한다,[object Object],모든 Shape 에 대해서 검사,[object Object],가장 가까운 교차점이 화면에 보이는 지점,[object Object],교차한 객체가 있으면 객체의 색을 렌더링하늘은 간단하게 바닥과 하늘색을 블랜딩<= 썰렁해서 ^^,[object Object]
교차 검사,[object Object],평면과의 교차 테스트,[object Object],구와의 교차테스트,[object Object]
그림자와 셰이딩,[object Object],교차점의 노멀을 구하여 셰이딩,[object Object],램버트셰이딩(샘플에서는 디테일한라이팅은 생략, 스펙큘러, 퐁, BRDF,BSSRDF,… ),[object Object],교차한 지점에서 광원으로 다시 교차 테스트 하여 가리는 객체가 있는 지 검사하여 그림자 렌더링,[object Object]
슈퍼샘플링,[object Object],결과가 거칠어,알리아싱이생김,[object Object],안티알리아싱 처리,[object Object],한 픽셀을 지나는 여러 레이로 샘플링 / 평균 값,[object Object],샘플링 위치,[object Object],균일하게,[object Object],불규칙하게 Stochastic,[object Object],위치 랜덤,[object Object],위치 + 가중치 랜덤 (2차 Stochastic),[object Object]
반사,[object Object],반사 재질인 경유 교차된 지점에서 반사 시켜서 다시 교차 테스트,[object Object],입사 벡터와 교차지점의 노멀벡터를 이용하여 반사 벡터 계산,[object Object],반사도에 따라 재질의 색과반사된 색을 블랜딩,[object Object]
앰비언트어클루전,[object Object],교차점에서 반구 모양으로 광선 테스트를 해서 가리는 기하가 있는 지 검사,[object Object],랜덤하게 반구 방향으로 교차 테스트,[object Object],교차되어 가리는 만큼 AO 값으로 설정,[object Object],교차점이 가까울 수록 가리는 값이 커짐,[object Object],반구의 크기 설정,[object Object]
피사계심도,[object Object],렌즈의 특성으로 나타나는 초점 면외에서 흐려지는 현상,[object Object],투영되는 면에서 분산되는 효과,[object Object],투영되는 면의 거리에서 분산되는 지점을 구한 후 레이트레이싱,[object Object]
기타,[object Object],구형 렌더링,[object Object],멀티코어렌더링,[object Object],kD트리,[object Object],라이팅 모델,[object Object],포톤 매핑,[object Object],GPU렌더링,[object Object],소스 다운로드 : http://digibath.com/repository/rayt.zip,[object Object]

Contenu connexe

Tendances

[Gpg1권 조진현] 5.6 하드웨어 범프 매핑
[Gpg1권 조진현] 5.6 하드웨어 범프 매핑[Gpg1권 조진현] 5.6 하드웨어 범프 매핑
[Gpg1권 조진현] 5.6 하드웨어 범프 매핑진현 조
 
20120713 ch12
20120713 ch1220120713 ch12
20120713 ch12CARROTCG
 
논문-정규분포변환
논문-정규분포변환논문-정규분포변환
논문-정규분포변환jdo
 
Real-time near-field global illumination based on a voxel model
Real-time near-field global illumination based on a voxel modelReal-time near-field global illumination based on a voxel model
Real-time near-field global illumination based on a voxel modelJaeyun Lee
 
Python machine learning Chapter 07 - PART1
Python machine learning Chapter 07 - PART1Python machine learning Chapter 07 - PART1
Python machine learning Chapter 07 - PART1Young Oh Jeong
 
Automatic 3d reconstruction and calibration of calf
Automatic 3d reconstruction and calibration of calfAutomatic 3d reconstruction and calibration of calf
Automatic 3d reconstruction and calibration of calfSehee Min
 
이펙트 쉐이더 3강 - 기술 응용 : 홀로그램 쉐이더
이펙트 쉐이더 3강 - 기술 응용 : 홀로그램 쉐이더이펙트 쉐이더 3강 - 기술 응용 : 홀로그램 쉐이더
이펙트 쉐이더 3강 - 기술 응용 : 홀로그램 쉐이더Jihoo Oh
 
FCN to DeepLab.v3+
FCN to DeepLab.v3+FCN to DeepLab.v3+
FCN to DeepLab.v3+Whi Kwon
 
[KCC 2019] CNN 기반 물체 파지를 위한 위치 탐색 (CNN-based Grasping Box Detection)
[KCC 2019] CNN 기반 물체 파지를 위한 위치 탐색 (CNN-based Grasping Box Detection)[KCC 2019] CNN 기반 물체 파지를 위한 위치 탐색 (CNN-based Grasping Box Detection)
[KCC 2019] CNN 기반 물체 파지를 위한 위치 탐색 (CNN-based Grasping Box Detection)Suzi Kim
 
Xception mhkim
Xception mhkimXception mhkim
Xception mhkimKIMMINHA3
 
입문 Visual SLAM - 5장 카메라와 이미지
입문 Visual SLAM - 5장 카메라와 이미지입문 Visual SLAM - 5장 카메라와 이미지
입문 Visual SLAM - 5장 카메라와 이미지jdo
 
[Gpg1권] 5.3 정점 색상 보간을 이용한 모의 실시간 조명
[Gpg1권] 5.3 정점 색상 보간을 이용한 모의 실시간 조명[Gpg1권] 5.3 정점 색상 보간을 이용한 모의 실시간 조명
[Gpg1권] 5.3 정점 색상 보간을 이용한 모의 실시간 조명SeungMin Yang
 
실전프로젝트 정서경 양현찬
실전프로젝트 정서경 양현찬실전프로젝트 정서경 양현찬
실전프로젝트 정서경 양현찬현찬 양
 
이동 로봇을 위한 사각형 기반 위치 추정의 기하학적 방법
이동 로봇을 위한 사각형 기반 위치 추정의 기하학적 방법이동 로봇을 위한 사각형 기반 위치 추정의 기하학적 방법
이동 로봇을 위한 사각형 기반 위치 추정의 기하학적 방법Joo-Haeng Lee
 
[0529 박민근] 전역조명(global illumination)
[0529 박민근] 전역조명(global illumination)[0529 박민근] 전역조명(global illumination)
[0529 박민근] 전역조명(global illumination)MinGeun Park
 
Devrookie GI 20111008
Devrookie GI 20111008Devrookie GI 20111008
Devrookie GI 20111008Yong-nam Kim
 
Wpf3 D 기초부터 활용까지
Wpf3 D 기초부터 활용까지Wpf3 D 기초부터 활용까지
Wpf3 D 기초부터 활용까지guestf0843c
 

Tendances (19)

3 d 영화
3 d 영화3 d 영화
3 d 영화
 
[Gpg1권 조진현] 5.6 하드웨어 범프 매핑
[Gpg1권 조진현] 5.6 하드웨어 범프 매핑[Gpg1권 조진현] 5.6 하드웨어 범프 매핑
[Gpg1권 조진현] 5.6 하드웨어 범프 매핑
 
20120713 ch12
20120713 ch1220120713 ch12
20120713 ch12
 
논문-정규분포변환
논문-정규분포변환논문-정규분포변환
논문-정규분포변환
 
Real-time near-field global illumination based on a voxel model
Real-time near-field global illumination based on a voxel modelReal-time near-field global illumination based on a voxel model
Real-time near-field global illumination based on a voxel model
 
Python machine learning Chapter 07 - PART1
Python machine learning Chapter 07 - PART1Python machine learning Chapter 07 - PART1
Python machine learning Chapter 07 - PART1
 
20120824
2012082420120824
20120824
 
Automatic 3d reconstruction and calibration of calf
Automatic 3d reconstruction and calibration of calfAutomatic 3d reconstruction and calibration of calf
Automatic 3d reconstruction and calibration of calf
 
이펙트 쉐이더 3강 - 기술 응용 : 홀로그램 쉐이더
이펙트 쉐이더 3강 - 기술 응용 : 홀로그램 쉐이더이펙트 쉐이더 3강 - 기술 응용 : 홀로그램 쉐이더
이펙트 쉐이더 3강 - 기술 응용 : 홀로그램 쉐이더
 
FCN to DeepLab.v3+
FCN to DeepLab.v3+FCN to DeepLab.v3+
FCN to DeepLab.v3+
 
[KCC 2019] CNN 기반 물체 파지를 위한 위치 탐색 (CNN-based Grasping Box Detection)
[KCC 2019] CNN 기반 물체 파지를 위한 위치 탐색 (CNN-based Grasping Box Detection)[KCC 2019] CNN 기반 물체 파지를 위한 위치 탐색 (CNN-based Grasping Box Detection)
[KCC 2019] CNN 기반 물체 파지를 위한 위치 탐색 (CNN-based Grasping Box Detection)
 
Xception mhkim
Xception mhkimXception mhkim
Xception mhkim
 
입문 Visual SLAM - 5장 카메라와 이미지
입문 Visual SLAM - 5장 카메라와 이미지입문 Visual SLAM - 5장 카메라와 이미지
입문 Visual SLAM - 5장 카메라와 이미지
 
[Gpg1권] 5.3 정점 색상 보간을 이용한 모의 실시간 조명
[Gpg1권] 5.3 정점 색상 보간을 이용한 모의 실시간 조명[Gpg1권] 5.3 정점 색상 보간을 이용한 모의 실시간 조명
[Gpg1권] 5.3 정점 색상 보간을 이용한 모의 실시간 조명
 
실전프로젝트 정서경 양현찬
실전프로젝트 정서경 양현찬실전프로젝트 정서경 양현찬
실전프로젝트 정서경 양현찬
 
이동 로봇을 위한 사각형 기반 위치 추정의 기하학적 방법
이동 로봇을 위한 사각형 기반 위치 추정의 기하학적 방법이동 로봇을 위한 사각형 기반 위치 추정의 기하학적 방법
이동 로봇을 위한 사각형 기반 위치 추정의 기하학적 방법
 
[0529 박민근] 전역조명(global illumination)
[0529 박민근] 전역조명(global illumination)[0529 박민근] 전역조명(global illumination)
[0529 박민근] 전역조명(global illumination)
 
Devrookie GI 20111008
Devrookie GI 20111008Devrookie GI 20111008
Devrookie GI 20111008
 
Wpf3 D 기초부터 활용까지
Wpf3 D 기초부터 활용까지Wpf3 D 기초부터 활용까지
Wpf3 D 기초부터 활용까지
 

Similaire à 10_Raytracing Introduction

김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019devCAT Studio, NEXON
 
Game Visual Art Technologies
Game Visual Art TechnologiesGame Visual Art Technologies
Game Visual Art TechnologiesSangYun Yi
 
Modern gpu optimize blog
Modern gpu optimize blogModern gpu optimize blog
Modern gpu optimize blogozlael ozlael
 
9강 camera advanced light2
9강 camera advanced light29강 camera advanced light2
9강 camera advanced light2JP Jung
 
Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례
Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례
Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례SangYun Yi
 
[0326 박민근] deferred shading
[0326 박민근] deferred shading[0326 박민근] deferred shading
[0326 박민근] deferred shadingMinGeun Park
 
[0918 박민수] 범프 매핑
[0918 박민수] 범프 매핑[0918 박민수] 범프 매핑
[0918 박민수] 범프 매핑MoonLightMS
 
구세대 엔진 신데렐라 만들기 최종본 유트브2
구세대 엔진 신데렐라 만들기 최종본 유트브2구세대 엔진 신데렐라 만들기 최종본 유트브2
구세대 엔진 신데렐라 만들기 최종본 유트브2Kyoung Seok(경석) Ko(고)
 

Similaire à 10_Raytracing Introduction (9)

김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
 
Game Visual Art Technologies
Game Visual Art TechnologiesGame Visual Art Technologies
Game Visual Art Technologies
 
Modern gpu optimize blog
Modern gpu optimize blogModern gpu optimize blog
Modern gpu optimize blog
 
Modern gpu optimize
Modern gpu optimizeModern gpu optimize
Modern gpu optimize
 
9강 camera advanced light2
9강 camera advanced light29강 camera advanced light2
9강 camera advanced light2
 
Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례
Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례
Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례
 
[0326 박민근] deferred shading
[0326 박민근] deferred shading[0326 박민근] deferred shading
[0326 박민근] deferred shading
 
[0918 박민수] 범프 매핑
[0918 박민수] 범프 매핑[0918 박민수] 범프 매핑
[0918 박민수] 범프 매핑
 
구세대 엔진 신데렐라 만들기 최종본 유트브2
구세대 엔진 신데렐라 만들기 최종본 유트브2구세대 엔진 신데렐라 만들기 최종본 유트브2
구세대 엔진 신데렐라 만들기 최종본 유트브2
 

Plus de 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
 
KCGS11_실시간 피사계 심도 렌더링 개선 기법
KCGS11_실시간 피사계 심도 렌더링 개선 기법KCGS11_실시간 피사계 심도 렌더링 개선 기법
KCGS11_실시간 피사계 심도 렌더링 개선 기법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_HDR 소개
06_HDR 소개06_HDR 소개
06_HDR 소개noerror
 
06_게임엔진 활용팁
06_게임엔진 활용팁06_게임엔진 활용팁
06_게임엔진 활용팁noerror
 
06_게임엔진구성
06_게임엔진구성06_게임엔진구성
06_게임엔진구성noerror
 

Plus de 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게임서버설계와구현
 
KCGS11_실시간 피사계 심도 렌더링 개선 기법
KCGS11_실시간 피사계 심도 렌더링 개선 기법KCGS11_실시간 피사계 심도 렌더링 개선 기법
KCGS11_실시간 피사계 심도 렌더링 개선 기법
 
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_HDR 소개
06_HDR 소개06_HDR 소개
06_HDR 소개
 
06_게임엔진 활용팁
06_게임엔진 활용팁06_게임엔진 활용팁
06_게임엔진 활용팁
 
06_게임엔진구성
06_게임엔진구성06_게임엔진구성
06_게임엔진구성
 

10_Raytracing Introduction

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.