목차
1장 3D 게임 소개
1. 기본적인 2D/3D 용어 = 13
2. 3D 게임의 역사 = 15
2.1 2.5D 게임 = 17
2.2 3D 게임 = 19
3. 컴퓨터 게임 작성하기 = 20
2장 3D 기초
1. 좌표계 사용하기 = 28
1.1 폴라 좌표계 = 29
1.2 다중 좌표계 사용하기 = 29
2. 3D 영역에서 2D 컴퓨터 화면으로 = 30
2.1 변형(Transformation) = 35
2.2 이동(Translation) = 36
2.3 벡터 길이(Vector Length) = 36
2.4 추가하기(Adding) = 36
2.5 스칼라 곱(Scalar Multiplication) = 37
2.6 벡터 곱(Vector Multiplication) = 38
2.7 도트 곱(Dot Product) = 38
2.8 크로스 곱(Cross Product) = 40
2.9 회전(Rotation) = 43
3. 행렬을 사용하여 3D 만들기 = 46
4. 행렬을 사용하여 이동(Translation)하기 = 48
5. 행렬을 사용하여 회전(Rotation)하기 = 49
6. 요약 = 51
3장 그래픽 프로그래밍 개요
1. 도스 그래픽 개요 = 54
1.1 비디오 모드설정하기 = 55
1.2 팔레트 설정하기 = 56
1.3 직접적인 화면 접근 = 57
1.4 버퍼링 애니메이션 = 61
2. 그래픽 응용 프로그램의 예 = 62
2.1 윈도우 그래픽으로 옮겨가기 = 66
2.2 윈도우하에서 팔레트 설정하기 = 67
3. 윈도우 하에서의 화면 접근과 이중 버퍼링 = 70
3.1 DIRECTDRAW = 71
3.2 CreateDIBSection = 72
4. 요약 = 82
4장 3차원 엔진 작성하기 : PART Ⅰ
1. 파트 1 : 3D 기초 = 86
1.1 3차원 = 86
1.2 3차원에서의 점 = 89
1.3 벡터와 스칼라 = 92
1.4 다각형 = 114
1.5 다각형 오브젝트 = 138
5장 3D 엔진 작성하기 : PART Ⅱ
1. 투영(Projection) = 171
2. 3D 클리핑(Clipping) = 173
3. 투영 함수에 대해 = 174
4. 비쥬얼 표면 결정 = 181
4.1 깊이 정렬(depth sorting) = 182
4.2 BSP 트리 = 184
4.3 Z 버퍼링 알고리즘 = 185
4.4 Z 버퍼링 최적화 = 186
5. 주사(Rasterization) = 187
5.1 고정 소수점 산술 연산 = 190
5.2 채우기 규약(filling convention) = 194
5.3 다시 주사로 = 196
5.4 2D 패널 클리핑 = 197
5.5 Z 버퍼, 전역 변수 그리고 상수 = 198
5.6 쉽게 만든 인터폴레이션 = 200
5.7 패널 디스플레이하기 = 209
6장 3D 엔진 작성하기 : PART Ⅲ
1. 게임 규칙 = 219
1.1 행렬 : 수학자만이 사랑하는 괴물 = 220
1.2 좀더 빠른 삼각법 = 221
1.3 기본적인 행렬 연산 = 224
1.4 점과 벡터 변형하기 = 232
7장 3D 엔진 작성하기 : PART Ⅳ
1. 투영전(pre-projection) = 235
1.1 프레임 결합 = 237
1.2 후면 추출(back-face culling) = 240
1.3 함께 투영 = 248
8장 3D 엔진 작성하기 : PART Ⅱ
1. 도스 나라의 마우스 = 251
2. VWALK 1 데모 = 268
3. 3D 엔진 작성하기 : 요약 = 286
9장 완만한 쉐이딩
1. 고우러드 쉐이딩 = 290
1.1 수선(normals) 찾기 = 291
1.2 중간 색상 계산하기 = 292
1.3 다각형에 고우러드 쉐이딩하기 = 297
1.4 수정된 virtual walk = 305
1.5 퐁 쉐이딩 = 306
1.6 각 픽셀에 대한 색상 계산하기 = 306
1.7 퐁 데모 = 311
1.8 불가능을 수행하는 빠른 방법 = 318
2. 곡면의 미래 = 319
3. 요약 = 319
10장 선형과 투시 텍스처 매핑
1. 텍스처 매핑 기초 = 322
1.1 이미지 로드하기 = 323
2. 대화형 텍스처 편집 = 362
3. 선형 텍스처 매핑 = 368
3.1 수정된 투영 = 369
3.2 텍스처 좌표 인터폴레이션 = 373
3.3 새로운 3D 데모 = 385
4. 원근감 있는 텍스처 매핑 = 395
5. 색상 강도(Intensity) 인터폴레이션 = 415
5.1 OH NO! 다시 투영하지 마라! = 423
5.2 메인 모듈 = 442
5.3 래디오시티(Radiosity) = 445
6. 요약 = 446
11장 다각형 모핑과 충돌 발견
1. 다각형 모핑(polygon morphing) = 448
1.1 정점과 인터폴레이션 = 454
1.2 모핑 지형 = 456
1.3 엔진 확장하기 = 458
1.4 비행 시뮬레이터 = 466
1.5 배경(Landscape) = 477
2. 충돌 감지 = 478
2.1 테두리 구 = 480
2.2 교차 방식 충돌 감지 = 482
2.3 수정된 텍스처 데모 = 490
3. 요약 = 497
12장 3D 스프라이트
1. 원래의 스프라이트(Sprite) = 500
2. 3D 스프라이트 = 501
3. 3D 스프라이트 구현 = 502
3.1 스프라이트 투영 = 502
3.2 실시간으로 스프라이트 스케일링하기 = 503
3.3 각도 계산 = 511
3.4 스프라이트 클리핑 = 512
4. 인공지능의 기초 = 514
4.1 AI의 역사 = 514
4.2 AI : 디지털 마인드(mind) = 516
4.3 앞에 놓여 있는 것 = 517
5. CUTTING EDGE DEMO = 518
6. 미래와 현재 = 539
7. 요약 = 540
13장 윈도우 기초
1. 윈도우 개요 = 542
1.1 도스와 윈도우의 일반적인 차이 = 543
1.2 우리의 전망 = 544
2. 기술적인 개요 = 545
3. 규약과 핸들 및 DC에 이름 붙이기 = 546
4. 자원 파일 = 549
4.1 메뉴 = 549
4.2 Resource Workshop 사용하기 = 553
5. 프로그램 항목 : WINMAIN = 554
6. 윈도우 내의 윈도우 = 554
7. 메시지(message)와 이벤트(event) = 562
7.1 메시지 받기 = 564
7.2 메시지 보내기 = 565
7.3 윈도우의 메시지 = 565
8. 메시지와 대화 상자 = 575
8.1 Modal 대화상자 = 575
8.2 Modeless 대화상자 = 576
8.3 메시지 상자 = 577
9. 윈도우에서의 비트맵 = 579
10. 아이콘과 커서를 자신에 맞게 만들기 = 579
11. 개선된 제어 = 580
12. 쓰레드와 프로세스 = 580
13. 다루지 않은 주제 = 583
14. 윈도우 응용 프로그램 예 = 584
15. 게임과 관련하여... = 593
14장 윈도우 95 3D 엔진 구축하기
1. 변환 과정 = 596
2. 윈도우 95 엔진 = 598
2.1 그래픽 서브시스템 수정하기 = 598
2.2 입력 서브시스템 수정하기 = 606
2.3 디지털 사운드 효과 추가하기 = 609
2.4 Bleeding Edge 데모 = 612
3. 요약 = 627
부록 A
1. 3D에서 작업하기 = 633
1.1 조명 = 633
1.2 카메라 = 633
1.3 모델 = 634
1.4 매트리얼(Material) = 635
1.5 액션! = 635
2. 3D 모델/3D 스프라이트 툴 = 636
2.1 3D Studio(DOS) = 636
2.2 3D Studio MAX(NT) = 637
2.3 GAMUT DXM = 638
2.4 오토캐드(AUTOCAD) = 639
2.5 EXTREME 3D = 640
2.6 LIGHTWAVE 3D = 641
2.7 미드 나잇 모델러(MID NIGHT MODELER) = 642
2.8 MARIN HASH의 3D ANIMATION = 643
2.9 해쉬 애니메이션 마스터(HASH ANIMATION MASTER) = 644
2.10 마이크로소프트 소프트이미지(MICROSOFT SOFTIMAGE) = 645
3. 2D 비트맵/페인트 및 애니메이션 툴 = 646
3.1 애니메이터 스튜디오(ANIMATOR STUDIO) = 646
3.2 포토샵(PHOTOSHOP) = 647
3.3 페인터(PAINTER) = 649
3.4 페인트 샵 프로(PAINTSHOP PRO) = 650
3.5 PICTURE PUBLISHER = 651
4. 세계 만들기
4.1 무엇을 만들 것인가? = 652
4.2 어떤 형태의 모델이 가장 좋을까? = 653
4.3 어떤 형태의 엔진이 가장 좋을까? = 653
4.4 자신의 게임이 3D 하드웨어를 지원하는가? = 653
4.5 직접 작성한 엔진과 미리 만들어진 엔진 = 654
4.6 뛰어난 게임을 만드는 팁 = 654
4.7 게임 설계의 예술 = 654
4.8 설계 우선, 코드 나중 = 654
4.9 무엇이 게임을 멋있게 만드는가? = 655
4.10 창의성을 가져라! = 655
4.11 게임 플레이, 게임 플레이, 게임 플레이 = 655
5. 가속도가 붙은 미래 = 656
6. CUTTING EDGE 엔진을 위한 모델링 = 657
6.1 디지털 아트 용어 = 657
7. 저자정보 = 660
부록 B
CD-ROM 수록 내용 = 661
INDEX = 665