목차
감사의 글 ... 11
저자 소개 ... 12
역자의 글 ... 13
감수의 글 ... 15
추천의 글 ... 16
서문 ... 18
Chapter 1. 아이폰을 위한 3D 개발 시작하기 ... 27
   시작하기 ... 27
   소프트웨어 설치 ... 28
      아이폰 SDK ... 28
      블렌더 설치하기 ... 30
      SIO2 설치하기 ... 31
      프로그램 다운로드 ... 31
   SIO2 개발환경 설정 ... 31
      Xcode에서 SIO2 템플릿 빌드하기 ... 32
      문제해결 ... 37
Chapter 2. SIO2 그래픽 프로그래밍 소개 ... 39
   SIO2 템플릿 ... 40
   간단한 OpenGL 데모 ... 44
      OpenGL ES로 그래픽 콘텐츠 생성 ... 44
      변환 자세히 살펴보기 ... 48
        변환의 순서 ... 49
        행렬스택의 사용 ... 49
   상호작용의 기초 ... 52
   전체코드 ... 55
Chapter 3. 블렌더/SIO2/아이폰과의 첫 만남 ... 59
   블렌더/SIO2/Xcode 워크플로우 ... 59
   SIO2 개요 ... 60
   3D 세계와의 첫 만남! 블렌더에서 새로운 세상 만들기 ... 62
      세계와 배경을 모델링, 텍스처링하기 ... 62
      조명, 카메라 그리고 배경 ... 75
   SIO2 포맷으로 추출하기 ... 83
      추출 스크립트 ... 83
      세계 추출하기 ... 86
      .sio2 파일 포맷 ... 87
Chapter 4. 모바일에서 SIO2 사용하기 ... 91
   SIO2 초기화와 에셋 로딩 ... 91
      헤더와 프로토타입 ... 92
      templateLoading 함수 ... 93
   렌더링 ... 98
      회전하는 지구본 만들기 ... 99
      조명 넣기 ... 100
      문제해결 ... 101
   화면 터치를 통한 상호작용 ... 103
      회전 제어 ... 104
      화면 탭과 화면 터치 이동 다루기 ... 105
   전체 코드 ... 106
Chapter 5. 피킹과 텍스트를 이용한 피드백의 확장 ... 109
   객체 피킹하기 ... 110
      블렌더에서의 간단한 피킹 예제 ... 110
      SIO2에서 색 기반의 피킹 구현하기 ... 116
      피킹 코드 자세히 살펴보기 ... 120
      Hello3DWorld에 피킹 기능 추가하기 ... 123
   텍스트와 폰트 다루기 ... 126
      비트맵 폰트 ... 126
      SIO2에서의 폰트와 머티리얼 ... 127
        폰트 로딩하기 ... 127
        폰트 렌더하기 ... 129
   멀티터치 기능 사용하기 ... 133
   애플리케이션 패키징 ... 134
   전체코드 ... 136
Chapter 6. SIO2에서 몰입형 환경 만들기 ... 143
   하늘과 땅 모델링하기 ... 143
      블렌더에서 평지 만들기 ... 144
      SIO2를 위한 단단한 땅 ... 158
      그럴듯한 하늘 돔 만들기 ... 159
sio2 파일 추출하기 ... 171
   SIO2에서 몰입형 환경 만들기 ... 172
      화면 설정 ... 172
        templateLoading 함수 ... 172
        templateRender 함수 ... 175
        templateScreenTap 함수 ... 176
      물리 시뮬레이션 설정하기 ... 177
   카메라를 움직여 환경 탐험하기 ... 180
      templateRender에서의 이동 ... 181
      templateScreenTap에서의 이동 ... 182
      templateScreenTouchMove 함수 ... 182
   전체코드 ... 184
      EAGLview.mm ... 184
      template.mm ... 186
Chapter 7. 물체와 물리 객체 ... 191
   텍스처 표면 객체와 투명성 ... 192
      블렌더에서의 알파 텍스처링 ... 193
      SIO2에서 알파 투명도 렌더하기 ... 196
   빌보드를 이용하여 나무 생성하기 ... 198
   상호작용하는 객체들에 대한 물리적 성질 ... 204
      강체 객체 ... 204
      장애물에 대한 정적 물리 ... 207
   효율적인 객체 조작을 위한 가상 인스턴싱 ... 209
   Low-Poly 충돌 맵 다루기 ... 211
   전체 코드 ... 214
Chapter 8. 캐릭터 움직이기 ... 219
   블렌더에서 캐릭터 움직이기 ... 220
      간단한 보행주기 만들기 ... 224
      기본 모션과 NLA Strips 만들기 ... 231
   SIO2에 액션 넣기 ... 237
   걷게 만들기 ... 243
   반응이 빠른 실시간 그림자 ... 246
   전체코드 ... 250
Chapter 9. 위젯 다루기 ... 257
   위젯으로 스플래시 만들기 ... 257
      이미지 포맷 선택하기 ... 258
      iFrankie를 위한 위젯 그래픽 ... 259
   SIO2에서 Active Widget 생성하기 ... 260
      위젯 변수 선언하기 ... 261
      위젯과 에셋 로딩하기 ... 261
      Button 콜백 함수 ... 266
      Template 렌더 함수 ... 267
      게임 렌더 함수 ... 269
   전체코드 ... 270
부록 A. 블렌더 기초 ... 277
   인터페이스와 네비게이션 ... 278
      윈도우와 헤더 ... 278
      레이어 ... 280
      3D 공간 탐색 ... 281
        공간상에서의 회전, 패닝, 확대 ... 281
        숫자패드 사용하기 ... 281
        3D 커서 ... 282
   모델링 ... 284
      객체와 Object 모드 ... 284
        선택하기 ... 284
        3D 변환하기 ... 284
        객체를 삭제, 추가하기 ... 286
      메시와 Edit 모드 ... 286
        선택하기 ... 286
        3D 변환하기 ... 286
        메시 모델링 도구 ... 287
        비례편집 ... 289
        법선 ... 290
      아머츄어와 리깅 ... 291
   머티리얼과 텍스처 ... 294
      머티리얼 ... 295
      UV 텍스처링 ... 297
        언래핑과 매핑 ... 298
        텍스처 설정 ... 298
        텍스처 베이킹 ... 301
   애니메이션 ... 302
      아이포 커브 ... 302
      액션과 비선형 애니메이션 ... 302
부록 B. 그래픽 프로그래밍 핵심 ... 305
   좌표계, 행렬, 변환 ... 305
      행렬 수식 ... 307
      변환 ... 307
        모델/뷰 변환 ... 308
        투영변환 ... 309
   행렬곱에 의한 변환 ... 311
      행렬의 곱 ... 311
      행렬의 변환 ... 313
      3D 행렬변환 ... 315
   행렬과 OpenGL ... 316
부록 C. SIO2 레퍼런스 ... 319
   SIO2 학습자료 ... 319
      공식 SIO2 튜토리얼과 샘플코드들 ... 320
      SIO2 Meditation Garden으로 한계를 초월하자 ... 322
      Hoops Frenzy에서 점수 쌓기 ... 322
      SIO2 Backyard War로 파워업하기 ... 323
      SIO2 포럼 ... 323
   .sio2 파일 포맷 ... 323
   SIO2 플래그 값 ... 328
   SIO2 함수 ... 331
찾아보기 ... 332
닫기