본문 바로가기

카테고리 없음

Physically Based Rendering 물리 기반 렌더링


게임 개발 관련 원서는 보통 3종류의 사람들의 의해 번역된다.1. 빠른 번역속도로 출판사를 즐겁게 하는 전문번역가2. 게임에 관심이 과하게 많은 사람들(교수, 학원 강사, IT프로그래머 등등)3. 현역 게임 프로그래머일반적인 입문서와 달리 본서같은 심도있는 기술을 다루는 책의 경우 1번, 2번의 번역자들이번역할때 심각한 문제들이 발생한다.(최근에 발생한 MEC++ 사태처럼)번역서의 경우 번역자의 영어실력도 중요하겠지만 내용에 대한 번역자의 이해도를 중요하게생각하는 입장에서 본서는 무척 반갑게 느껴진다.이미 원서는 워낙 유명해서 논할 가치도 없고 개인적으로 아는 사이는 아니지만언리얼 컨퍼런스를 통해서 역자를 만나기도 했었고 그동안 해온 일을 봐도 믿음이 간다.한가지 아쉬운 점은 이 책의 원서가 5년전에 출간되었고 3판이 곧(내년)에 출간될거란 점이지만...물론 3판이 번역될 거란 보장도 없다.그래도 그동안 제대로 번역된 그래픽스 기술서적이 거의 없는 점을 보면 이책은 두고 두고 가치를 할 것 같다.
이 책은 게임과 영화 등에 사용되는 컴퓨터 그래픽스에 대한 심도 깊은 이해를 돕고, 게임 엔진이나 렌더러 구현에 관심이 있는 현업 종사자나 학생들에게 매우 유용한 책이다. 영화 프로덕션의 렌더맨(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 다양한 식별자 찾아보기

 

결혼불능세대

아무튼 따지고 들자면 여러 가지 이유를 들 수 있겠지만, 지난해 말, 나는 참 두렵고도 절박했던 듯싶다. 그리고 나를 둘러싸고 있는 수많은 모순들에 대해 적잖이 분노하고 있었던 것 같다. 엄연히 국가의 주인은 국민임에도, 아니 주인을 넘어 다소 낯간지럽기까지 한 ‘고객’이라는 이름으로 받들어 모시는 것처럼 보이는데도, 정작 국민들은 전혀! 행복하지 않은 시대. 오히려 하루하루 생존을 걱정하고, 말 그대로 죽음과도 같은 ‘탈락’ ‘낙오’를 피하려, 발버둥

ythsd.tistory.com

 

신통방통 플러스 도형의 이동

이번에 초등학교 3학년 올라가는 둘째아이들 위해 구입한 책이에요. 미리 수학문제집을 구입해서 방학동안 예습하고 있는데 도형의 이동 부분을 너무 헤매길래 관련 책을 읽히는 게 나을 것 같아 주문했답니다. 책은 재미있는 이야기 형식으로 도형의 이동에 대해 알기쉽게 설명해 두었어요. 그림도 칼라풀하고 내용도 이해하기 쉽게 씌여있어 맘에 드네요. 무엇보다도 아이가 거부감없이 잘 읽어줘서 좋은...신통방통 수학 시리즈 다른 시리즈도 구매해서 앞으로 아이 수학과목

lemonjdhb.tistory.com