서브메뉴

본문

Physically Based Rendering 물리 기반 렌더링 (현실 같은 그래픽스를 위한 알고리즘, 게임 엔진과 렌더러까지)
Physically Based Rendering 물리 기반 렌더링 (현실 같은 그래픽스를 위한 알고리즘, 게임 엔진과 렌더러까지)
저자 : 매트 파르|그렉 험프리스
출판사 : 에이콘출판
출판년 : 2015
ISBN : 9788960777620

책소개


이 책은 게임과 영화 등에 사용되는 컴퓨터 그래픽스에 대한 심도 깊은 이해를 돕고, 게임 엔진이나 렌더러 구현에 관심이 있는 현업 종사자나 학생들에게 매우 유용한 책이다. 영화 프로덕션의 렌더맨(RenderMan)이나 언리얼 엔진의 라이트 매스(Lightmass) 같은 오프라인 렌더러의 기술에 더해, 최근 게임 엔진에서 사용하는 렌더링 기술까지 다루는, 컴퓨터 그래픽스를 위한 최고의 서적이다.

목차


1 서론
1.1 문학적 프로그래밍
1.1.1 색인과 상호 참조
1.2 극 사실적 렌더링과 레이트레이싱 알고리즘
1.2.1 카메라
1.2.2 광선-물체 교차점
1.2.3 빛 분포
1.2.4 가시성
1.2.5 표면 산란
1.2.6 재귀적 레이트레이싱
1.2.7 광선 전파
1.3 pbrt: 시스템 개요
1.3.1 실행 단계
1.3.2 장면 표현
1.3.3 렌더러 인터페이스와 SamplerRenderer
1.3.4 주 렌더링 루프
1.3.5 pbrt의 병렬화
1.3.6 휘티드 레이트레이싱의 적분기
1.4 이 책을 읽는 방법
1.4.1 연습문제
1.5 코드의 사용과 이해
1.5.1 포인터 혹은 참조?
1.5.2 코드 최적화
1.5.3 이 책의 웹사이트
1.5.4 시스템의 확장
1.5.5 버그
__더 읽을거리
__연습문제

2 기하 구조와 변환
2.1 좌표계
2.1.1 좌표계의 손 방향
2.2 벡터
2.2.1 연산
2.2.2 크기 변경
2.2.3 내적과 외적
2.2.4 정규화
2.2.5 한 벡터로부터의 좌표계
2.3 점
2.4 법선
2.5 광선
2.5.1 광선 미분
2.6 3차원 경계 상자
2.7 변환
2.7.1 동차 좌표계
2.7.2 기본 연산
2.7.3 이동
2.7.4 크기 변경
2.7.5 x, y, z축 회전
2.7.6 임의의 축에 대한 회전
2.7.7 보는 방향 변환
2.8 변환의 적용
2.8.1 점
2.8.2 벡터
2.8.3 법선
2.8.4 광선
2.8.5 경계 상자
2.8.6 변환의 조합
2.8.7 변환과 좌표계의 손 방향
2.9 애니메이션 변환
2.9.1 사원수
2.9.2 사원수 보간
2.9.3 AnimatedTransform 구현
2.10 미분 기하 구조
__더 읽을거리
__연습문제

3 모양
3.1 기본 모양 인터페이스
3.1.1 경계
3.1.2 세분화
3.1.3 교차점
3.1.4 잘못된 자가 교차의 회피
3.1.5 음영 기하 구조
3.1.6 표면 면적
3.1.7 방향성
3.2 구
3.2.1 생성
3.2.2 경계
3.2.3 교차
3.2.4 부분적 구
3.2.5 법선 벡터의 편미분
3.2.6 DifferentialGeometry 초기화
3.2.7 표면 면적
3.3 원기둥
3.3.1 생성
3.3.2 경계
3.3.3 교차
3.3.4 부분 원기둥
3.3.5 표면 면적
3.4 원반
3.4.1 생성
3.4.2 경계
3.4.3 교차
3.4.4 표면 면적
3.5 다른 이차 곡면
3.5.1 원뿔
3.5.2 쌍곡면
3.5.3 포물면
3.6 삼각형과 메시
3.6.1 삼각형
3.6.2 삼각형 교차점
3.6.3 표면 면적
3.6.4 음영 기하 구조
3.7 세분 표면
3.7.1 메시 표현
3.7.2 경계
3.7.3 세분화
__더 읽을거리
__연습문제

4 프리미티브와 교차 가속
4.1 프리미티브 인터페이스와 기하학적 프리미티브
4.1.1 기하학적 프리미티브
4.1.2 TransformedPrimitive 물체 인스턴싱과 애니메이션 프리미티브
4.2 집합체
4.2.1 광선-상자 교차
4.3 격자 가속기
4.3.1 생성
4.3.2 횡단
4.4 경계 볼륨 계층
4.4.1 BVH 생성
4.4.2 표면 면적 휴리스틱
4.4.3 횡단을 위한 간편한 BVH
4.4.4 횡단
4.5 KD 트리 가속기
4.5.1 트리 표현
4.5.2 트리 생성
4.5.3 횡단
4.6 집합체 디버깅
4.6.1 집합체의 버그 찾기
4.6.2 집합체의 버그 수정
4.6.3 집합체 성능 버그
__더 읽을거리
__연습문제

5 색과 방사 분석
5.1 분광 표현
5.1.1 Spectrum 형
5.1.2 CoefficientSpectrum 구현
5.2 SampledSpectrum 클래스
5.2.1 XYZ 색
5.2.2 RGB 색
5.3 RGBSpectrum 구현
5.4 기본 방사 분석
5.4.1 기본 양
5.4.2 입사와 방출 방사 함수
5.4.3 휘도와 측광
5.5 방사 측정 적분
5.5.1 투영된 입체각에 대한 적분
5.5.2 구좌표에 대한 적분
5.5.3 면적에 대한 적분
5.6 표면 반사
5.6.1 BRDF
5.6.2 BSSRDF
__더 읽을거리
__연습문제

6 카메라 모델
6.1 카메라 모델
6.1.1 카메라 좌표 공간
6.2 투영 카메라 모델
6.2.1 정사영 카메라
6.2.2 원근 카메라
6.2.3 피사계 심도
6.3 환경 카메라
__더 읽을거리
__연습문제

7 표본 추출과 재구성
7.1 표본화 정리
7.1.1 주파수 영역과 퓨리에 변환
7.1.2 이상적인 표본화와 재구성
7.1.3 에일리어싱
7.1.4 안티에일리어싱 기술
7.1.5 이미지 합성에 활용
7.1.6 렌더링에서 에일리어싱의 근원
7.1.7 픽셀에 대한 이해
7.2 이미지 표본 인터페이스
7.2.1 표본 표현과 할당
7.3 층별 표본화
7.4 저불일치 표본화
7.4.1 불일치의 정의
7.4.2 햄머슬리와 핼톤 연속
7.4.3 (0,2)-연속
7.4.4 저불일치 표본기
7.5 최고-후보 표본 패턴
7.6 적응적 표본화
7.7 이미지 재구성
7.7.1 필터 함수
7.8 필름과 이미지화 파이프라인
7.8.1 필름 인터페이스
7.8.2 이미지 필름
__더 읽을거리
__연습문제

8 반사 모델
8.1 기본 인터페이스
8.1.1 반사
8.1.2 BRDF → BTDF 어댑터
8.1.3 BxDF 크기 변환 어댑터
8.2 거울 반사와 투과
8.2.1 프레넬 반사
8.2.2 거울 반사
8.2.3 반사광 투과
8.3 램버트 반사
8.4 미세면 모델
8.4.1 오렌-네이어 확산 반사
8.4.2 토랜스-스패로우 모델
8.4.3 블린 미세면 분포
8.4.4 비등방성 미세면 모델
8.5 프레넬 입사 효과
8.6 측정된 BRDF
8.6.1 비균일 등방성 측정 BRDF
8.6.2 균일 반각 형식
__더 읽을거리
__연습문제

9 재질
9.1 BSDF
9.1.1 BSDF 메모리 관리
9.2 재질 인터페이스와 구현
9.2.1 무광 재질
9.2.2 플라스틱 재질
9.2.3 혼합 재질
9.2.4 측정 재질
9.2.5 추가적인 재질
9.3 범프 매핑
__더 읽을거리
__연습문제

10 텍스처 함수 필터링
10.1 표본화와 안티에일리어싱
10.1.1 텍스처 표본율 찾기
10.1.2 텍스처 함수 필터링
10.1.3 거울 반사와 투과를 위한 광선 차분
10.2 텍스처 좌표 생성
10.2.1 2D (u, v) 매핑
10.2.2 구면 매핑
10.2.3 원통 매핑
10.2.4 평면 매핑
10.2.5 3D 매핑
10.3 텍스처 인터페이스와 기본 텍스처
10.3.1 상수 텍스처
10.3.2 텍스처 크기 변화
10.3.3 텍스처 혼합
10.3.4 이중선형 보간
10.4 이미지 텍스처
10.4.1 텍스처 캐싱
10.4.2 MIP 맵
10.4.3 등방성 삼각 필터
10.4.4 타원형 가중 평균
10.5 입체와 절차적 텍스처링
10.5.1 UV 텍스처
10.5.2 체커보드
10.5.3 입체 체커보드
10.6 잡음
10.6.1 펄린 잡음
10.6.2 임의의 물방울무늬
10.6.3 잡음 관용구와 분광 합성
10.6.4 울퉁불퉁하고 주름진 텍스처
10.6.5 풍랑
10.6.6 대리석
__더 읽을거리
__연습문제

11 입체 산란
11.1 입체 산란 과정
11.1.1 흡수
11.1.2 방출
11.1.3 외산란과 흡광
11.1.4 내산란
11.2 위상 함수
11.3 입체 인터페이스와 동일 매질
11.3.1 동질 입체
11.4 변화하는 밀도 입체
11.4.1 3D 격자
11.4.2 지수 밀도
11.5 입체 집합체
11.6 BSSRDF
11.6.1 표면 밑 산란 재질
__추가 도서 목록
__연습문제

12 광원
12.1 빛 인터페이스
12.1.1 시야 시험
12.2 점광원
12.2.1 스포트라이트
12.2.2 텍스처 투영 빛
12.2.3 각광도계 표 빛
12.3 원거리 광
12.4 영역 광
12.5 무한 영역 광
__더 읽을거리
__연습문제

13 몬테카를로 적분 I: 기본 개념
13.1 배경 지식과 확률의 검토
13.1.1 연속 임의의 변수
13.1.2 기댓값과 분산
13.2 몬테카를로 추정기
13.3 임의의 변수의 기본 표본화
13.3.1 역 방식
13.3.2 배제 방식
13.4 메트로폴리스 표본화
13.4.1 기본 알고리즘
13.4.2 변형 선택 전략
13.4.3 초기 편향
13.4.4 메트로폴리스 표본화로 적분 예측
13.4.5 예: 1차원 설정
13.5 분포 사이에서 변환
13.5.1 다중 차원에서 변환
13.5.2 예: 극좌표계
13.5.3 예: 구좌표계
13.6 다차원 변환의 2D 표본화
13.6.1 예: 반구의 균일 표본화
13.6.2 예: 단위 원반의 표본화
13.6.3 예: 코사인 가중 반구 표본화
13.6.4 예: 삼각형 표본화
13.6.5 예: 부분 상수 2D 분포
__더 읽을거리
__연습문제

14 몬테카를로 적분 II: 효율 개선
14.1 러시안 룰렛과 분리
14.1.1 분리
14.2 신중한 표본 배치
14.2.1 계층 표본화
14.2.2 의사 몬테카를로
14.2.3 표본 뒤틀림과 왜곡
14.3 편향
14.4 중요성 표본화
14.4.1 다중 중요도 표본화
14.5 표본화 반사 함수
14.5.1 블린 미세 표면 분포 표본화
14.5.2 비등방성 미세 표면 모델의 표본화
14.5.3 FresnelBlend 표본화
14.5.4 광택 반사와 투과
14.5.5 응용: 반사 예측
14.5.6 BSDF 표본화
14.6 광원 표본화
14.6.1 기본 인터페이스
14.6.2 특이점이 있는 빛
14.6.3 영역 광
14.6.4 SHAPESET 표본화
14.6.5 무한 영역 광
14.7 입체 산란
14.7.1 상 함수의 표본화
14.7.2 광학적 두께의 계산
__더 읽을거리
__연습문제

15 빛 전송 I: 표면 반사
15.1 직접 광
15.1.1 직접 광 적분의 예측
15.2 빛 전송 방정식
15.2.1 기본 유도
15.2.2 LTE에로의 분석 해법
15.2.3 LTE의 표면 형
15.2.4 경로에 대한 적분
15.2.5 피적분 함수에서의 델타 분포
15.2.6 피적분 함수의 분할
15.2.7 측정 방정식과 중요도
15.3 경로 추적
15.3.1 개요
15.3.2 경로 표본화
15.3.3 점진적 경로 생성
15.3.4 구현
15.3.5 양방향 경로 추적
15.4 순간 전역 조명
15.4.1 가상 광원 생성
15.4.2 가상 광원으로 렌더링
15.5 방사 조도 캐싱
15.5.1 방사 조도 캐시로 렌더링
15.5.2 검색과 보간
15.5.3 새로운 값 추가
15.6 입자 추적과 광자 매핑
15.6.1 입자 추적을 위한 이론적 기반
15.6.2 광자 적분기
15.6.3 광자 맵의 생성
15.6.4 광자 맵의 사용
15.6.5 광자 보간과 밀도 예측
15.7 메트로폴리스 빛 전송
15.7.1 표본 표현
15.7.2 변이
15.7.3 경로 생성
15.7.4 경로 기여
15.7.5 MetropolisRenderer 구현
15.7.6 렌더링
__더 읽을거리
__연습문제

16 빛 전송 II: 입체 렌더링
16.1 전송 방정식
16.2 입체 적분 인터페이스
16.3 방출 전용 적분기
16.4 단일 산란 적분기
16.5 표면 밑 산란
16.5.1 표본점의 푸아송 분포
16.5.2 표면 점 8진 트리의 생성
16.5.3 양극 확산 근사
16.5.4 계층적 적분으로 렌더링
16.5.5 산란 특성의 설정
__더 읽을거리
__연습문제

17 빛 전송 III: 사전 계산 빛 전송
17.1 기저 함수: 이론
17.1.1 부분 상수 기저
17.1.2 기저로의 투영
17.1.3 정규 직교 기저 함수
17.2 구면 조화
17.2.1 효율적인 계산
17.2.2 광원 투영
17.2.3 입사 방사 함수의 투영
17.2.4 물결 감소
17.2.5 회전
17.3 방사 탐색기
17.3.1 방사 탐색기의 생성
17.3.2 방사 탐색기의 사용
17.4 사전 계산한 확산 전송
17.5 사전 계산된 광택 전송
17.5.1 전송 행렬
17.5.2 BSDF 행렬
17.5.3 GlossyPRTIntegrator 구현
__더 읽을거리
__연습문제

18 회고와 미래
18.1 디자인 회고
18.1.1 추상성과 효율성
18.1.2 대안 디자인: 삼각형 전용
18.1.3 증가된 장면 복잡도
18.2 처리량 프로세서
18.2.1 미래
18.2.2 추가 자료
18.3 결론

부록 A 다용도 함수
A.1 주 인클루드 파일
A.2 이미지 파일 입력과 출력
A.3 사용자 인터페이스
A.4 탐색기와 통계
A.5 메모리 관리
A.6 수학적 루틴
A.7 8진 트리
A.8 kd 트리
A.9 병렬화
__더 읽을거리
__연습문제

부록 B 장면 설명 인터페이스
B.1 매개변수 집합
B.2 초기화와 렌더링 옵션
B.3 장면 정의
B.4 새로운 객체 구현의 추가
__더 읽을거리
__연습문제

부록 C 코드 조각 찾아보기
부록 D 클래스와 멤버 찾아보기
부록 E 다양한 식별자 찾아보기

QuickMenu