목차
옮긴이의 말 = 4
지은이의 말 = 6
감사의 글 = 7
CHAPTER 1. 기초 다지기
1.1. 게임기의 구성 = 15
1.2. 모티브로 게임 소개 = 16
1.3. 메모리에 필요한 요소를 넣는다 = 16
1.4. 플레이어를 움직인다 = 18
1.5. 적이 플레이어를 향해 공격하게 한다 = 19
1.6. 화면에 표시한다 = 20
1.7. 일정한 간격으로 움직인다 = 21
1.8. 마무리 = 21
CHAPTER 2. 메모리와 디스크
2.1. 메모리란 = 23
2.2. 메모리의 단위 = 24
2.3. 1바이트를 세세하게 나눈다 = 26
2.4. 플레이어를 움직인다 = 26
2.5. 메모리의 최대수 = 27
2.6. 어드레스 = 29
2.7. 게임에서의 메모리 사용법 = 31
2.8. 상주와 비상주 = 32
2.9. 확보와 해제 = 33
2.10. 메모리 확보를 할 수 없는 요인 = 36
2.11. 단편화를 피하기 위한 방법 = 38
2.12. 메모리릭 = 43
2.13. 디스크에서 불러오기 = 44
2.14. 탐색이란 = 45
2.15. 데이터 정리 및 배치 = 45
2.16. 필요한 데이터를 중복시킨다 = 47
2.17. 데이터를 하나의 파일로 정리한다 = 48
2.18. 데이터 압축 = 49
2.19. 압축 데이터 복원 = 50
2.20. 장면 전환 작업 = 52
2.21. 마무리 = 54
CHAPTER 3. CPU와 GPU
3.1. CPU란 = 55
3.2. 프로그램과 CPU = 56
3.3. 메모리상의 프로그램 = 56
3.4. 오버레이 = 59
3.5. 메인 루프의 시작과 끝 = 61
3.6. 수직동기와 프레임 = 63
3.7. 30fps 선택 = 66
3.8. GPU = 69
3.9. 더블 버퍼 = 72
3.10. GPU에 관한 처리과정 = 75
3.11. 스레드 = 82
3.12. 멀티코어 = 84
3.13. 실제로 무엇을 병렬 처리시킬 것인가 = 85
3.14. 블록구성도 = 88
3.15. 게임기의 간단한 작동 과정 = 89
3.16. 캐시 = 91
3.17. VRAM과 eDRAM = 96
3.18. 코프로세서 = 99
3.19. 마무리 = 100
CHAPTER 4. 수치표현과 연산
4.1. 10진수와 2진수 = 103
4.2. 16진수 = 104
4.3. 덧셈, 뺄셈, 정수, 음수 = 106
4.4. 비트시프트 = 108
4.5. 소수 = 112
4.6. 마무리 = 118
CHAPTER 5. 3D 그래픽 수학
5.1. 3차원 공간의 좌표계 = 119
5.2. 좌표와 벡터 = 121
5.3. 매트릭스 = 124
5.4. 매트릭스에 의한 변환 = 125
5.5. W요소의 필요성 = 130
5.6. 매트릭스의 곱셈 = 132
5.7. 변환 순서 = 134
5.8. 역 매트릭스 = 135
5.9. 쿼터니언 = 138
5.10. 좌표계 = 139
5.11. 로컬 좌표계 = 139
5.12. 월드 좌표계 = 140
5.13. 카메라 좌표계 = 142
5.14. 카메라에 대해 = 143
5.15. 영상 좌표계 = 147
5.16. 좌표계 변환을 간단히 하는 연구 = 148
5.17. 마무리 = 149
CHAPTER 6. 애니메이션
6.1. 애니메이션의 기본원리 = 152
6.2. 애니메이션의 데이터 크기 = 153
6.3. 신체 움직임 = 156
6.4. 관절에 데이터를 저장한다 = 157
6.5. 애니메이션 데이터의 유용 = 159
6.6. 관절 수와 표현력 = 162
6.7. 아이템 장착 = 163
6.8. 부분적인 애니메이션 = 163
6.9. 흔들리는 머리카락 = 166
6.10. 관절의 부모자식 구조 = 168
6.11. 관절의 부모자식 구조 계산 = 172
6.12. IK처리 = 175
6.13. 스키닝 = 179
6.14. 보조관절 = 180
6.15. 애니메이션의 데이터 크기 줄이기 = 182
6.16. 골격 데이터로 크기 줄이기 = 183
6.17. 회전정보 압축으로 데이터 크기 줄이기 = 187
6.18. 키 프레임과 시닝 처리로 크기 줄이기 = 189
6.19. 애니메이션의 데이터 크기 압축 방법 총정리 = 192
6.20. 모션캡처 = 193
6.21. 마무리 = 193
CHAPTER 7. 3D 그래픽 : 정점
7.1. 그림을 표시하는 처리 복습 = 195
7.2. 해상도와 픽셀 = 197
7.3. RGBA = 198
7.4. 3D게임의 기본은 폴리곤 = 200
7.5. 정점컬러 = 201
7.6. 텍스처와 텍스처 좌표 = 202
7.7. 법선과 조명 = 205
7.8. 각 정점의 법선 정보 = 209
7.9. 평행광원과 점광원 = 211
7.10. 정점 정보 크기 줄이기 = 213
7.11. 움직이는 오브젝트와 움직이지 않는 오브젝트 = 215
7.12. 정점 정보 재검토 = 218
7.13. 트라이앵글 스트립 = 222
7.14. 마무리 = 225
CHAPTER 8. 3D 그래픽 : 폴리곤, 픽셀, 텍스처
8.1. 폴리곤을 그려보자 = 227
8.2. 반투명과 불투명 = 232
8.3. 뎁스 버퍼와 뎁스 테스트 = 234
8.4. 뎁스 버퍼의 크기 = 235
8.5. 스텐실 = 237
8.6. 빌보드 = 239
8.7. 픽셀의 종류 = 241
8.8. 2바이트 픽셀 = 241
8.9. HDR = 243
8.10. 팔레트 텍스처 = 245
8.11. 압축 텍스처 = 248
8.12. DXT 압축 = 250
8.13. 픽셀 형식 총정리 = 254
8.14. 마무리 = 255
CHAPTER 9. 3D 그래픽 : 셰이더, 고속화
9.1. 정점 셰이더와 픽셀 셰이더 = 257
9.2. 셰이더에 의한 라이팅(조명) = 259
9.3. 셰이더 이용 방법 = 261
9.4. 셰이더의 단점 = 265
9.5. 포스트 필터와 렌더 텍스처 = 269
9.6. 글레어 = 270
9.7. 피사계 심도 = 274
9.8. 화려한 연출을 위한 고속화 = 277
9.9. 프레임 버퍼의 크기 = 278
9.10. 렌더 텍스처를 사용해 처리 부담 줄이기 = 278
9.11. 폴리건의 겉면과 뒷면 = 280
9.12. LOD = 283
9.13. 밉맵 = 285
9.14. 불투명 오브젝트의 렌더링 순서 = 287
9.15. 마무리 = 289
CHAPTER 10. 게임 프로그래밍 물리학
10.1. 좌표 단위와 좌표 다루기 = 291
10.2. 현실 세계에서의 속도 = 292
10.3. 게임 세계에서의 속도 재현 = 294
10.4. 3D공간상의 속도 = 296
10.5. 가속과 감속 = 298
10.6. 가속도 = 298
10.7. 중력 = 301
10.8. 중력 제어 = 302
10.9. 감속 = 304
10.10. 마찰력 = 306
10.11. 충돌 판정 = 310
10.12. 반사 = 313
10.13. 충돌 데이터 = 317
10.14. 원과 정점의 위치관계 = 318
10.15. 원과 원의 위치관계 = 320
10.16. 원기둥과 정점의 위치관계 = 322
10.17. 충돌 데이터 총정리 = 324
10.18. 바운딩 박스와 바운딩 스피어 = 326
10.19. 영역 분할 = 329
10.20. 마무리 = 331
찾아보기 = 332
닫기