리얼-타임 렌더링(4판)(게임 개발 프로그래밍)(양장본 Hardcover)
고품질 3D 영상을 실시간으로 렌더링하는 과정에서 필요한 이론과 실무에 관한 내용을 모두 담고 있다. 그래픽스 엔지니어링 분야에서 매우 유용한 기술과 실용적인 지식을 제공한다. 광원, 그림자, 반사, 렌더링 파이프라인, 물리 기반 렌더링 등의 주요 기술을 다루며, 이를 활용해 실시간으로 그래픽을 처리하는 방법을 설명한다. 또한, 최신 기술과 알고리듬에 대한 정보와 함께 이론적인 내용과 코드 예제도 제공해, 컴퓨터 그래픽스 분야에서 일하는 전문가나 학생뿐만 아니라, 가상/증강현실 콘텐츠 개발자, 게임 개발자, 영화/특수효과 종사자 등 다양한 분야에서 일하는 사람들에게 도움을 준다.
Couldn't load pickup availability
출판사 리뷰
출판사 리뷰
1초 미만의 매우 짧은 시간에 3차원 이미지를 생성하는 최신 기술들을 다룬다. 지난 10년 동안 개발, 적용된 많은 알고리듬을 다루며, 1,100개 이상의 새로운 레퍼런스를 포함한다. 4판에서는 물리 기반 재료와 조명, 전역 조명과 비사실적 렌더링을 다루는 장이 광범위하게 수정됐다. 색상, 그림자, 체적 기법과 효율적인 음영 처리에 대한 부분은 기존 절에서 새로운 장으로 확대해 소개했다. 가상 현실과 증강 현실에 대해서도 다루고 있으며, 게임과 기타 애플리케이션에서 사용되는 실용적인 렌더링 방법을 설명한다. 대화형 컴퓨터 그래픽스 분야에 대한 탄탄한 이론과 관련 수학을 모두 다룬다.
◈ 옮긴이의 말 ◈
컴퓨터 그래픽스는 크게 모델링, 렌더링, 애니메이션이라는 세 가지 카테고리로 나뉜다. 그중 렌더링은 화면에 모델링된 결과를 그리는 과정을 의미하는데, 과거에는 전처리 과정을 통해 이미 만들어진 데이터를 렌더링했다면 지금은 거의 대부분 실시간으로 렌더링하는 기술들을 사용한다. 실시간 렌더링에서는 초당 30장 이상의 이미지를 실시간으로 '잘' 만들어내야 한다. 여기서 '잘'이란 화질과 속도 두 마리의 토끼를 동시에 잡아야 함을 의미한다. 이를 위해 고도로 최적화된 알고리듬과 하드웨어의 활용이 필수적이다. 이 책에서는 실시간 렌더링을 위한 다양한 최적화 알고리듬과 품질을 높이기 위한 방법, 저장 용량을 줄이는 방법 등 폭넓은 내용을 설명한다.
4차 산업혁명 이후 메타버스, 디지털 트윈, 가상/증강 현실 관련 기술이 부각됨에 따라 실시간 렌더링의 중요성은 더욱 강조되고 있다. 최근 들어 대부분의 PC, 노트북에는 흔히 '그래픽 카드'라고 하는 3차원 그래픽 가속기가 기본으로 장착돼 있고 플레이스테이션� 및 Wil�에 내장돼 있는 3차원 그래픽 가속기 역시 뛰어난 성능을 갖고 있다. 많은 그래픽스 이론 전문가와 개발자들은 셰이더 프로그래밍을 이용한 고도화된 결과부터 새로운 하드웨어에 맞춘 이론과 프로그램들을 제안하고 있다. 실시간 그래픽스 알고리듬을 연구하는 학자들이나 응용 프로그래머 입장에서는 이러한 속도를 따라잡는 것이 쉬운 일이 아니며 무엇보다 적절한 지식과 자료를 얻는 것은 매우 힘든 일이다.
대학원 박사과정 때 이 책의 2판을 처음 접하고 두 번 놀랐었는데, 첫 번째는 이 책이 빠르게 발전하고 있는 실시간 렌더링 기술을 폭넓게 다루고 있다는 것이고, 두 번째는 가장 최근의 자료와 문헌들을 망라하고 있다는 것이었다. 매년 전 세계 컴퓨터 그래픽스인들을 위해 마련되는 SIGGRAPH 학회에서 이 책의 원저자들은 자신들의 책에 실릴 알고리듬과 기술들을 소개하고 있으며, 에디션(판)을 바꿀 만큼 그 양이 확보되면 새로운 에디션을 내놓고 있다. 이렇게 이번 4판이 완성됐다.
이 책은 주로 실시간 렌더링을 설명하고 있지만 전반적인 컴퓨터 그래픽스 파이프라인에 대해 다루고 있기 때문에 그래픽스 이론을 공부하거나 3차원 프로그램을 공부하고자 다양한 알고리듬을 비교해야 하는 모든 사람에게 도움이 될 만한 책이다. 원저자들은 최근 그래픽스 관련 연구 결과에 대해 방대한 조사를 했고, 그것들을 체계적으로 정리했다.
이 책을 번역하면서 가장 힘들었던 점은 원저자들이 독자에게 전달하고자 하는 바를 최대한 살려내 전달하는 것이었다. 번역하는 과정에서 나름대로 최선을 다했지만 원저자들의 의도를 제대로 전달하지 못한 부분이 있을까 하는 염려가 지금도 들고 있다. 세 명의 역자들은 수년간 컴퓨터 그래픽스 관련 연구를 진행해왔고 해당 분야의 강의를 담당하기도 했으나 지식을 습득하는 것과 그것을 남에게 알려주는 것은 별개의 일이라는 것을 이번 번역 과정에서 다시 한번 깨달았다. 모쪼록 컴퓨터 그래픽스 공부를 시작하거나 공부 중이거나 필요한 알고리듬을 참고할 필요가 있는 모든 사람이 많은 도움을 얻기 바라며, 이 책을 통해 컴퓨터 그래픽스의 저변이 더욱더 확대되기를 바란다.
목차
목차
1.1 개요
1.2 표기법과 정의
1.2.1 수학 표기법
1.2.2 기하학적 정의
1.2.3 음영
추가 읽을거리와 리소스
2장. 그래픽 렌더링 파이프라인
2.1 아키텍처
2.2 응용 단계
2.3 기하 처리 단계 처리
2.3.1 버텍스 셰이딩
2.3.2 선택적 정점 처리
2.3.3 클리핑
2.3.4 화면 매핑
2.4 래스터화
2.4.1 삼각형 준비
2.4.2 삼각형 순회
2.5 픽셀 처리
2.5.1 픽셀 음영
2.5.2 병합
2.6 파이프라인을 통해
결론
추가 읽을거리와 리소스
3장. 그래픽 처리 장치
3.1 데이터-병렬 아키텍처
3.2 GPU 파이프라인 개요
3.3 프로그래밍 가능한 셰이더 단계
3.4 프로그래밍 가능한 음영과 API의 진화
3.5 버텍스 셰이더
3.6 테셀레이션 단계
3.7 지오메트리 셰이더
3.7.1 스트림 출력
3.8 픽셀 셰이더
3.9 병합 단계
3.10 컴퓨트 셰이더
추가 읽을거리와 리소스
4장. 변환
4.1 기본 변환
4.1.1 이동
4.1.2 회전
4.1.3 크기 조절
4.1.4 전단
4.1.5 변환의 결합
4.1.6 강체 변환
4.1.7 법선 변환
4.1.8 역의 계산
4.2 특별한 행렬 변환과 연산
4.2.1 오일러 변환
4.2.2 오일러 변환으로부터 매개변수 추출
4.2.3 행렬 분해
4.2.4 임의의 축에 대한 회전
4.3 사원수
4.3.1 수학적 배경 지식
4.3.2 사원수 변환
4.4 정점 혼합
4.5 모핑
4.6 지오메트리 구조 캐시 재생
4.7 투영
4.7.1 직교 투영
4.7.2 원근 투영
추가 읽을거리와 리소스
5장. 음영 기초
5.1 음영 모델
5.2 광원
5.2.1 방향 광
5.2.2 위치 광
5.2.3 기타 빛의 종류
5.3 음영 모델 구현
5.3.1 계산의 빈도
5.3.2 구현 예제
5.3.3 재질 시스템
5.4 앨리어싱과 안티앨리어싱
5.4.1 샘플링과 필터링 이론
5.4.2 화면 기반 안티앨리어싱
5.5 투명도, 알파, 합성
5.5.1 블렌딩 순서
5.5.2 순서에 독립적인 투명도
5.5.3 미리 곱한 알파와 합성
5.6 디스플레이 인코딩
추가 읽을거리와 리소스
6장. 텍스처 처리
6.1 텍스처 처리 파이프라인
6.1.1 투영 함수
6.1.2 대응자 함수
6.1.3 텍스처 값
6.2 이미지 텍스처 처리
6.2.1 확대
6.2.2 축소
6.2.3 볼륨 텍스처
6.2.4 큐브 맵
6.2.5 텍스처 표현
6.2.6 텍스처 압축
6.3 절차적 텍스처 처리
6.4 텍스처 애니메이션
6.5 재질 매핑
6.6 알파 매핑
6.7 범프 매핑
6.7.1 블린의 방법
6.7.2 법선 매핑
6.8 시차 매핑
6.8.1 시차 폐색 매핑
6.9 텍스처 조명
추가 읽을거리와 리소스
7장. 그림자
7.1 평면 그림자
7.1.1 투영 그림자
7.1.2 부드러운 그림자
7.2 곡선 표면의 그림자
7.3 그림자 볼륨
7.4 그림자 맵
7.4.1 해상도 향상
7.5 비율 근접 필터링
7.6 비율 근접 부드러운 그림자
7.7 필터링된 그림자 맵
7.8 볼륨 그림자 기법
7.9 불규칙한 Z 버퍼 그림자
7.10 기타 응용
추가 읽을거리와 리소스
8장. 빛과 컬러
8.1 빛의 양
8.1.1 복사 측정
8.1.2 광량 측정
8.1.3 컬러 측정
8.1.4 RGB 색상으로 렌더링
8.2 장면과 화면
8.2.1 하이 다이내믹 레인지 디스플레이 인코딩
8.2.2 톤 매핑
8.2.3 컬러 등급
추가 읽을거리와 리소스
9장. 물리 기반 음영
9.1 빛에 관한 물리 이론
9.1.1 입자
9.1.2 미디어
9.1.3 표면
9.1.4 표면하 산란
9.2 카메라
9.3 BRDF
9.4 조명
9.5 프레넬 반사율
9.5.1 외부 반사
9.5.2 일반적인 프레넬 반사율 값
9.5.3 내부 반사
9.6 미세 기하학
9.7 미세면 이론
9.8 표면 반사를 위한 BRDF 모델
9.8.1 정규 분포 함수
9.8.2 다중 바운스 표면 반사
9.9 표면하 산란을 위한 BRDF 모델
9.9.1 표면하 알베도
9.9.2 표면하 산란과 거칠기의 규모
9.9.3 부드러운 표면-표면하 모델
9.9.4 거친 표면 표면하 모델
9.10 직물용 BRDF 모델
9.10.1 경험적 직물 모델
9.10.2 미세면 직물 모델
9.10.3 마이크로 실린더 직물 모델
9.11 파동 광학 BRDF 모델
9.11.1 회절 모델
9.11.2 박막 간섭 모델
9.12 계층형 재질
9.13 재질 혼합과 필터링
9.13.1 정규 분포와 정규 분포 필터링
추가 읽을거리와 리소스
10장. 지역 조명
10.1 영역 광원
10.1.1 광택 재질
10.1.2 일반적인 조명 모양
10.2 환경 조명
10.3 구면과 반구면 함수
10.3.1 간단한 테이블 형식
10.3.2 구면 기저
10.3.3 반구면 기저
10.4 환경 매핑
10.4.1 위도-경도 매핑
10.4.2 구 매핑
10.4.3 큐브 매핑
10.4.4 기타 투영
10.5 정반사 이미지 기반 조명
10.5.1 사전 필터링된 환경 매핑
10.5.2 미세면 BRDF에 대한 분할 적분 근사
10.5.3 비대칭과 이방성 로브
10.6 방사도 환경 매핑
10.6.1 구 고조파 방사도
10.6.2 기타 표현
10.7 오류 소스
추가 읽을거리와 리소스
11장. 전역 조명
11.1 렌더링 수식
11.2 일반적인 전역 조명 모델
11.2.1 라디오시티
11.2.2 광선 추적법
11.3 주변 폐색
11.3.1 주변 폐색 이론
11.3.2 가시성과 모호성
11.3.3 상호 반사 설명
11.3.4 미리 계산된 주변 폐색
11.3.5 주변 폐색의 동적 계산
11.3.6 스크린 공간 기반 방법
11.3.7 주변 폐색 음영
11.4 방향성 폐색
11.4.1 미리 계산된 방향성 폐색
11.4.2 방향석 폐색 동적 계산
11.4.3 방향성 폐색을 이용한 음영
11.5 확산 전역 조명
11.5.1 표면 사전 조명
11.5.2 방향성 표면 사전 조명
11.5.3 미리 계산된 전이 함수
11.5.4 저장 방법
11.5.5 동적 확산광 전역 조명
11.5.6 빛 전파 볼륨
11.5.7 복셀 기반 방법
11.5.8 화면 공간 방법
11.5.9 기타 방법
11.6 반사 전역 조명
11.6.1 지역적 환경 맵
11.6.2 환경 맵의 동적 업데이트
11.6.3 복셀 기반 방법
11.6.4 평면 반사
11.6.5 화면 공간 방법
11.7 통합 접근 방식
추가 읽을거리와 리소스
12장. 이미지 공간 효과
12.1 이미지 프로세싱
12.1.1 양방향 필터링
12.2 재투영 기법
12.3 렌즈 플레어와 블룸
12.4 피사계 심도
12.5 모션 블러
추가 읽을거리와 리소스
13장. 폴리곤 이외의 처리 방법
13.1 렌더링 스펙트럼
13.2 고정 뷰 효과
13.3 스카이박스
13.4 조명 필드 렌더링
13.5 스프라이트와 레이어
13.6 빌보드
13.6.1 화면 정렬 빌보드
13.6.2 전역 기반 빌보드
13.6.3 축 방향 빌보드
13.6.4 임포스터
13.6.5 빌보드 표현
13.7 변위 기법
13.8 입자 시스템
13.8.1 음영 입자
13.8.2 입자 시뮬레이션
13.9 점 렌더링
13.10 복셀
13.10.1 응용 분야
13.10.2 복셀 저장
13.10.3 복셀 생성
13.10.4 렌더링
13.10.5 기타 주제
추가 읽을거리와 리소스
14장. 볼륨과 반투명 렌더링
14.1 빛 산란 이론
14.1.1 참여 미디어 재질
14.1.2 투과율
14.1.3 산란 이벤트
14.1.4 위상 함수
14.2 특수한 볼륨 렌더링
14.2.1 대규모 안개
14.2.2 단순 볼륨 조명
14.3 일반 볼륨 렌더링
14.3.1 볼륨 데이터 가시화
14.3.2 참여 미디어 렌더링
14.4 하늘 렌더링
14.4.1 하늘과 공간 원근법
14.4.2 구름
14.5 반투명 표면
14.5.1 적용 범위와 투과율
14.5.2 굴절
14.5.3 커스틱과 그림자
14.6 표면하 산란
14.6.1 랩 라이팅
14.6.2 법선 블러링
14.6.3 사전 통합 피부 음영
14.6.4 텍스처 공간 확산
14.6.5 화면 공간 확산
14.6.6 깊이 맵 기법
14.7 헤어와 털
14.7.1 지오메트리와 알파
14.7.2 헤어
14.7.3 털
14.8 통합 접근법
추가 읽을거리와 리소스
15장. 비사실적 렌더링
15.1 툰 음영
15.2 윤곽선 렌더링
15.2.1 법선 기반 음영 윤곽 테두리
15.2.2 절차적 지오메트리 실루엣화
15.2.3 영상 처리에 의한 윤곽선 검출
15.2.4 기하학적 윤곽 에지 감지
15.2.5 은선 제거
15.3 획 표면 양식화
15.4 선
15.4.1 삼각형 에지 렌더링
15.4.2 가려진 선 렌더링
15.4.3 후광 적용
15.5 텍스트 렌더링
추가 읽을거리와 리소스
16장. 폴리곤 기법
16.1 3차원 데이터 출처
16.2 테셀레이션과 삼각형화
16.2.1 음영 문제
16.2.2 에지 균열과 T 정점
16.3 통합
16.3.1 병합
16.3.2 방향
16.3.3 솔리드성
16.3.4 법선 벡터 스무딩과 주름 에지
16.4 삼각형 팬, 스트립, 메시
16.4.1 삼각형 팬
16.4.2 삼각형 스트립
16.4.3 삼각형 메시
16.4.4 캐시 인식 메시 레이아웃
16.4.5 정점과 인덱스 버퍼/배열
16.5 단순화
16.5.1 동적 단순화
16.6 압축과 정밀도
추가 읽을거리와 리소스
17장. 곡선과 곡면
17.1 매개변수 곡선
17.1.1 베지어 곡선
17.1.2 GPU의 경계 베지어 곡선
17.1.3 연속성 및 단편적 베지어 곡선
17.1.4 큐빅 허마이트 보간
17.1.5 Kochanek-Bartels 곡선
17.1.6 B-스플라인
17.2 매개변수 곡면
17.2.1 베지어 패치
17.2.2 베지어 삼각형
17.2.3 연속성
17.2.4 PN 삼각형
17.2.5 Phong 테셀레이션
17.2.6 B-스플라인 표면
17.3 음함수 표면
17.4 분할 곡선
17.5 분할 표면
17.5.1 Loop 분할
17.5.2 Catmull-Clark 분할
17.5.3 단편적 부드러운 분할
17.5.4 변위 분할
17.5.5 법선, 텍스처, 컬러 보간
17.6 효율적인 테셀레이션
17.6.1 부분 테셀레이션
17.6.2 적응 테셀레이션
17.6.3 빠른 Catmull-Clark 테셀레이션
추가 읽을거리와 리소스
18장. 파이프라인 최적화
18.1 프로파일링과 디버깅 도구
18.2 병목 현상 탐색
18.2.1 애플리케이션 단계 테스트
18.2.2 기하 처리 단계 테스트
18.2.3 래스터화 단계 테스트
18.2.4 픽셀 처리 단계 테스트
18.2.5 병합 단계 테스트
18.3 성능 측정
18.4 최적화
18.4.1 애플리케이션 단계
18.4.2 API 호출
18.4.3 기하 처리 단계
18.4.4 래스터화 단계
18.4.5 픽셀 처리 단계
18.4.6 프레임 버퍼 기법
18.4.7 병합 단계
18.5 다중 처리
18.5.1 다중 프로세서 파이프라이닝
18.5.2 병렬 처리
18.5.3 작업 기반 다중 처리
18.5.4 그래픽 API 다중 처리 지원
추가 읽을거리와 리소스
19장. 가속 알고리듬
19.1 공간 데이터 구조
19.1.1 바운딩 볼륨 계층
19.1.2 BSP 트리
19.1.3 옥트리
19.1.4 캐시 무시와 캐시 인식 표현
19.1.5 장면 그래프
19.2 컬링 기법
19.3 후면 컬링
19.4 뷰 절두체 컬링
19.5 포털 컬링
19.6 디테일과 작은 삼각형 컬링
19.7 폐색 컬링
19.7.1 폐색 쿼리
19.7.2 계층적 Z 버퍼링
19.8 컬링 시스템
19.9 상세 수준
19.9.1 상세 수준 전환
19.9.2 상세 수준 선택
19.9.3 시간 중심 상세 수준 렌더링
19.10 큰 장면 렌더링
19.10.1 가상 텍스처링과 스트리밍
19.10.2 텍스처 트랜스코딩
19.10.3 일반적 스트리밍
19.10.4 지형 렌더링
추가 읽을거리와 리소스
20장. 효율적 음영
20.1 디퍼드 음영
20.2 데칼 렌더링
20.3 타일 음영
20.4 클러스터링된 음영
20.5 디퍼드 텍스처링
20.6 오브젝트 및 텍스처 공간 음영
추가 읽을거리와 리소스
21장. 가상 현실과 증강 현실
21.1 장비와 시스템 개요
21.2 물리적 요소
21.2.1 지연 시간
21.2.2 광학
21.2.3 입체시
21.3 API와 하드웨어
21.3.1 스테레오 렌더링
21.3.2 포비티드 렌더링
21.4 렌더링 기법
21.4.1 끊김
21.4.2 타이밍
추가 읽을거리와 리소스
22장. 교차 검사 방법
22.1 GPU 가속 피킹
22.2 정의와 도구
22.3 바운딩 볼륨 생성
22.3.1 AABB와 k-DOP 생성
22.3.2 구 생성
22.3.3 볼록 다면체 생성
22.3.4 OBB 생성
22.4 기하학적 확률
22.5 경험 법칙
22.6 광선/구 교차
22.6.1 수학적 솔루션
22.6.2 최적 솔루션
22.7 광선/박스 교차
22.7.1 슬래브 방법
22.7.2 광선 기울기 방법
22.8 광선/삼각형 교차
22.8.1 교차 알고리듬
22.8.2 구현
22.9 광선/폴리곤 교차
22.9.1 교차 검사
22.10 평면/박스 교차
22.10.1 AA BB
22.10.2 OB B
22.11 삼각형/삼각형 교차
22.12 삼각형/박스 교차
22.13 경계-볼륨/경계-볼륨 교차
22.13.1 구/구 교차
22.13.2 구/박스 교차
22.13.3 AABB/AABB 교차
22.13.4 k-DOP/k-DOP 교차
22.13.5 OBB/OBB 교차
22.14 뷰 절두체 교차
22.14.1 절두체 평면 추출
22.14.2 절두체/구 교차
22.14.3 절두체/박스 교차
22.15 선/선 교차
22.15.1 2차원
22.15.2 3차원
22.16 세 평면 사이의 교차
추가 읽을거리와 리소스
23장. 그래픽 하드웨어
23.1 래스터화
23.1.1 보간
23.1.2 보수적 래스터화
23.2 대규모 계산과 스케줄링
23.3 대기 시간과 점유
23.4 메모리 아키텍처와 버스
23.5 캐싱과 압축
23.6 컬러 버퍼링
23.6.1 비디오 디스플레이 컨트롤러
23.6.2 단일, 이중, 삼중 버퍼링
23.7 깊이 컬링, 테스팅, 버퍼링
23.8 텍스처링
23.9 아키텍처
23.10 사례 연구
23.10.1 사례 연구: A RM M ali G71 B ifrost
23.10.2 사례 연구: 엔비디아 파스칼
23.10.3 사례 연구: A MD G CN Vega
23.11 광선 추적 아키텍처
추가 읽을거리와 리소스
24장. 미래
24.1 기타 다뤄야 할 내용
24.2 이 책의 독자로서
참고 문헌
찾아보기
저자
저자
스웨덴 룬드 대학교(Lund University) 컴퓨터 과학과에서 컴퓨터 그래픽스 및 이미지 처리를 전문으로 하는 컴퓨터 과학 교수다. 지난 몇 년 동안 본인만의 컴퓨터 그래픽스 그룹인 LUGG(Lund University Graphics Group)를 만들었다.
Your payment information is processed securely. We do not store credit card details nor have access to your credit card information.

