목차 일부
추천사 ... 3
역자 서문 ... 4
저자 서문 ... 6
본문에서 구현한 주요 그림 ... 8
부록 CD-ROM 소개 ... 16
Chapter 01 DirectX 개론
1-1. 역사 ... 26
1-1-1. CG의 역사 ... 26
1-1-2. DirectX의 성립 과정 ... 28
1-1-3. OpenGL ......
더보기
목차 전체
추천사 ... 3
역자 서문 ... 4
저자 서문 ... 6
본문에서 구현한 주요 그림 ... 8
부록 CD-ROM 소개 ... 16
Chapter 01 DirectX 개론
1-1. 역사 ... 26
1-1-1. CG의 역사 ... 26
1-1-2. DirectX의 성립 과정 ... 28
1-1-3. OpenGL ... 31
1-2. 그래픽 카드 ... 33
1-2-1. GPU의 능력 ... 33
1-2-2. 그래픽 카드의 메모리 크기와 표시 색의 관계 ... 35
1-2-3. ATI ... 36
1-2-4. NVIDIA ... 40
1-2-5. Matrox ... 44
1-2-6. SiS ... 46
1-2-7. S3 Graphics ... 46
1-3. GPU는 무엇을 하고 있는가? ... 47
1-3-1. 화면에 폴리곤이 표시될 때까지 ... 47
1-3-2. 렌더링 처리 상세 해설 ... 49
1-3-3. 렌더링 흐름과 GPU ... 53
Chapter 02 처음 하는 DirectX 프로그래밍
2-1. DirectX 개발 방법 ... 58
2-1-1. DirectX의 경험치를 모으는 방법 ... 58
2-1-2. RenderMonkey나 Cg 등의 개발툴에 대하여 ... 62
2-2. DirectX SDK 설치 ... 65
2-3. 처음 하는 윈도우 프로그래밍 ... 68
2-3-1. 어쨌든 프로그램을 만든다 ... 69
2-3-2. 윈도우 프로그램의 흐름 ... 72
2-4. 처음 하는 DirectX 프로그래밍 ... 78
2-4-1. 헤더 읽기와 변수의 추가 ... 81
2-4-2. 인터페이스 오브젝트의 처리 ... 82
2-4-3. main.cpp 고치기 ... 86
2-4-4. DirectX 프로그램 실행 ... 89
2-4-5. C나 Visual Basic.NET으로도 개발 가능한가? ... 91
2-4-6. 이전의 Visual C++ 6.0에서도 개발할 수 있을까? ... 92
2-5. 폴리곤 출력 ... 92
2-6. 애플리케이션 마법사 ... 101
2-6-1. DirectX 9 Visual C++ Wizard 사용하기 ... 102
2-6-2. 애플리케이션 마법사의 내용 ... 103
2-6-3. FPS 표시 ... 112
2-6-4. framework 폴더에 파일 모으기 ... 114
2-7. 텍스처 입히기 ... 117
2-8. 알파 합성 ... 125
2-8-1. 개요 ... 125
2-8-2. 다양한 합성 방법 ... 128
2-8-3. 프로그래밍 ... 133
Chapter 03 수학
3-1. 벡터 ... 140
3-1-1. 벡터의 정의 ... 140
3-1-2. 내적 ... 144
3-1-3. 외적 ... 146
3-2. 접선 벡터 ... 148
3-3. 행렬 ... 152
3-3-1. 행렬의 계산 방법 ... 152
3-3-2. 회전 행렬 ... 156
3-3-3. 확대 축소 행렬 ... 158
3-3-4. 평행 이동 행렬 ... 160
3-3-5. 기저 변환 ... 162
3-4. 좌표계 ... 166
3-4-1. 3D 좌표계 ... 166
3-4-2. 동차 좌표계 ... 168
3-4-3. 기하 변환 ... 171
3-5. 3D 폴리곤 ... 180
3-6. X 파일 출력(X File) ... 193
Chapter 04 셰이더 프로그래밍
4-1. 정점 셰이더 ... 204
4-1-1. 구성 ... 204
4-1-2. 버전 ... 206
4-1-3. 레지스터 ... 208
4-1-4. 수식자 ... 210
4-1-5. 명령 ... 213
4-2. 정점 셰이더 프로그래밍 ... 221
4-2-1. 셰이더 프로그램 ... 222
4-2-2. 오브젝트 ... 223
4-2-3. 초기화 ... 224
4-2-4. 렌더링 호출 ... 230
4-3. 픽셀 셰이더 ... 233
4-3-1. 구성 ... 233
4-3-2. 버전 ... 235
4-3-3. 레지스터 ... 237
4-3-4. 수식자 ... 239
4-3-5. 명령 ... 246
4-4. 픽셀 셰이더 프로그래밍 ... 251
4-4-1. 셰이더 프로그램 ... 251
4-4-2. 오브젝트 ... 252
4-4-3. 초기화 ... 252
4-4-4. 렌더링 호출 ... 254
4-5. 상위 레벨 셰이더 언어 ... 256
4-5-1. 이펙트 파일 ... 257
4-5-2. 명령 ... 262
4-6. HLSL 프로그래밍 ... 264
4-6-1. HLSL 프로그램 ... 264
4-6-2. 컴파일러를 사용한 파일 읽기 ... 270
Chapter 05 조명 효과
5-1. 램버트 확산 조명 ... 274
5-1-1. 확산 반사광 ... 274
5-1-2. 환경광 ... 276
5-1-3. 프로그래밍 ... 278
5-1-4. 로컬 좌표계에서의 계산 ... 287
5-1-5. 최적화 ... 289
5-2. 퐁 반영 반사 ... 292
5-2-1. 퐁 반영 반사광 ... 292
5-2-2. 블린-퐁 반영 반사광 ... 295
5-2-3. 픽셀 단위 반영 반사 계산 ... 298
5-3. 금속 반사 모델 ... 301
5-3-1. 쿡-토런스 반사 모델 ... 301
5-3-2. 컬러 시프트 ... 312
5-4. 범프 맵핑 ... 316
5-4-1. 범프 맵핑 ... 316
5-4-2. 범프 맵 ... 317
5-4-3. 정점 좌표계(표면 좌표계) ... 320
Chapter 06 그림자
6-1. 원형그림자 ... 337
6-1-1. 프로그래밍 ... 338
6-2. 평면 투영 그림자 ... 343
6-2-1. 투영 행렬 도출 ... 343
6-2-2. 프로그래밍 ... 347
6-3. 오브젝트 형태를 한 원형 그림자 ... 348
6-4. 투영 텍스처 그림자 ... 352
6-4-1. 프로그래밍 ... 356
6-5. 우선 순위 버퍼 그림자 ... 363
6-5-1. 프로그래밍 ... 365
6-6. 깊이 버퍼 그림자 ... 368
6-6-1. 프로그래밍 ... 369
6-7. 스텐실 그림자 ... 377
6-7-1. 프로그래밍 ... 382
6-8. 부드러운 그림자 ... 395
6-8-1. 프로그래밍 ... 397
Chapter 07 포스트 이펙트
7-1. 흐림 필터 ... 406
7-1-1. 선형 텍스처 필터링 ... 407
7-1-2. 16박스 필터 샘플링 ... 411
7-1-3. 9콘 필터 샘플링 ... 421
7-1-4. 64박스 필터 샘플링 ... 423
7-2. 가우스 필터 ... 425
7-2-1. 프로그래밍 ... 429
7-3. 크로스 필터 ... 436
7-3-1. HDR ... 436
7-3-2. 크로스 필터 ... 439
7-3-3. 프로그래밍 ... 441
7-4. 영역 총합 테이블 ... 467
7-4-1. 영역 총합 테이블에 의한 흐리게 뭉개기 프로그램 ... 470
7-4-2. 회화 필터 ... 477
7-5. 모자이크 ... 484
7-5-1. 축소 버퍼를 사용한 모자이크 ... 484
7-5-2. 셰이더에 의한 모자이크 ... 490
7-6. 모노톤 필터(단색 필터) ... 494
7-6-1. 모노크롬 화상 ... 495
7-6-2. 세피아 톤 ... 496
7-6-3. 서서히 변하는 세피아 톤 ... 497
7-7. 중앙값 필터 ... 499
7-7-1. 프로그래밍 ... 501
7-8. 포스트 이펙트 잔상 ... 504
7-8-1. 단순한 잔상 효과 ... 504
7-8-2. 휘도를 고려한 잔상 효과 ... 509
7-9. 모션 블러 ... 514
7-9-1. 멀티 렌더링 ... 515
7-9-2. 늘이기에 의한 모션블러 ... 520
7-9-3. 멀티 샘플링 ... 525
7-10. 윤곽 추출 ... 532
7-10-1. 색 성분에 의한 윤곽 추출 ... 533
7-10-2. ID 엣지 추출 ... 536
7-10-3. 깊이 엣지 추출 ... 537
7-10-4. 법선 엣지 추출 ... 538
7-10-5. 색 성분 엣지 추출 구현 ... 539
7-10-6. 휘도 엣지 추출 구현 ... 543
7-10-7. 색상 엣지 추출 구현 ... 544
7-10-8. ID 엣지 추출 구현 ... 545
7-10-9. 깊이 엣지 추출 구현 ... 547
7-10-10. 법선 엣지 추출 구현 ... 549
7-10-11. 확대한 모델에 의한 엣지 추출 ... 554
7-11. 포커스 필터 ... 556
7-11-1. 프로그래밍 ... 557
7-12. 피사계 심도 ... 566
7-12-1. 프로그래밍 ... 568
7-12-2. 뭉개진 부분이 눈 앞에 있을 때의 부자연스러움 해결 ... 574
7-12-3. 광학적 피사계 심도 ... 577
7-12-4. 착란원 ... 584
7-12-5. F 값과 초점 심도를 인수로 사용한 피사계 심도 ... 586
Chapter 08 포그
8-1. 포그 ... 594
8-1-1. 개요 ... 594
8-1-2. 프로그래밍 ... 595
8-2. 거리 포그 ... 598
8-3. 높이 포그 ... 601
8-4. 볼륨 포그 ... 602
Chapter 09 그 외의 주제
9-1. 변위 맵핑 ... 614
9-1-1. 개요 ... 615
9-1-2. 프로그래밍 ... 616
9-2. 펄린 노이즈 ... 624
9-2-1. 개요 ... 624
9-2-2. 2차원 펄린 노이즈 ... 629
9-2-3. 3차원 펄린 노이즈 ... 633
찾아보기 ... 640
더보기 닫기