OpenGL ES를 활용한 iOS 3D 프로그래밍
- 원서명Learning OpenGL ES for iOS: A Hands-on Guide to Modern 3D Graphics Programming (ISBN 9780321741837)
- 지은이에릭 벅
- 옮긴이황진호
- ISBN : 9788960775503
- 35,000원
- 2014년 04월 30일 펴냄 (절판)
- 페이퍼백 | 428쪽 | 188*235mm
- 시리즈 : 모바일 프로그래밍
판매처
- 현재 이 도서는 구매할 수 없습니다.
책 소개
요약
이 책은 OpenGL ES의 기본적인 원리와 예제를 iOS에 적용하는 방법과 그래픽 프로그래밍의 개념을 설명함으로써 전체적인 이해의 기틀을 제공한다. 더 나아가 낮은 수준의 비트 조작부터 고급 주제까지 그래픽 기술에 대해 설명한다. 이 책은 직접 OpenGL ES 프로그래밍이 가능한 수준까지 끌어 올리는 것을 목표로 삼아 단계별로 책의 내용을 구성했다. 그리고 책을 통해 단시간에 OpenGL ES의 코딩과 더불어 디버깅이 가능하게 하며, 독자적으로 고급 주제를 공부할 수 있는 기반 지식을 갖도록 도와준다. 또한 OpenGL ES의 3.0 버전을 간략히 소개하는 부록도 추가했다.
이 책에서 다루는 내용
■ 핵심 OpenGL ES 컴퓨터 그래픽 개념과 iOS 그래픽 구조 이해하기
■ 강력한 애플 플랫폼 기능을 이용하기 위해 코코아 터치와 OpenGL ES를 통합하기
■ 투명도, 색 혼합, 다중 질감, 압축 등 질감을 처음부터 끝까지 만들어 보기
■ 주변 빛, 분산 빛, 반사 빛 만들기
■ 모든 시각에서 3D 기하적인 객체를 렌더하기 위해 변형 사용하기
■ 앱 논리를 통해서 시간을 조절함으로써 상황 애니메이션하기
■ 경사진 지형을 가진 광활한 야외 장면을 연출하기 위해 데이터 나누기
■ 3D 기하로 사용자 상호작용 검출하고 처리하기
■ 고급 관람석에서 소립자와 광고에 이르기까지 특수 효과 구현하기
■ 그래픽 성능 시스템적으로 최적화하기
■ 컴퓨터 그래픽에 사용된 필수 선형대수 이해하기
■ 배운 모든 내용을 통합한 완전한 시뮬레이션을 디자인하고 구축하기
이 책의 대상 독자
이 책은 프로그래밍을 배우는 학생과 프로그래밍 분야에 이미 경력이 많은 전문 프로그래머, 그리고 그래픽을 배우길 원하는 모든 이들을 독자대상으로 한다. 컴퓨터 그래픽에 대한 경험은 없어도 무관하지만, C나 C++ 등의 객체 지향 프로그래밍 언어에 친숙할 필요는 있다. iOS, 오브젝티브C 프로그래밍 언어, 코코아 터치(Cocoa Touch) 프레임워크에 대한 이전 경험은 도움이 되지만, 필수는 아니다. 이 책을 정독한 이후에는 고급 컴퓨터 그래픽 기술을 iOS 앱에 적용할 준비가 돼 있을 것이다.
이 책의 구성
1장, 현대적인 모바일 그래픽 하드웨어 사용하기: 임베디드 그래픽 하드웨어를 이용해 3차원(3D) 그래픽을 그리는 현대적인 방법을 소개한다.
2장, 하드웨어 제대로 동작시키기: iOS 앱 내에서 OpenGL ES 그래픽을 설정하고, 사용하는 방법을 설명한다.
3장, 텍스처: 텍스처링에 깔려 있는 개념을 소개하고, 공통적으로 사용되는 방법을 기술한다.
4장, 빛 비추기: 3D 물체로 빛의 상호 작용을 시뮬레이션하는 여러 가지 기술을 소개한다.
5장, 관점 전환하기: 모든 관점에서 기하 모형 물체를 렌더링하는 방법을 설명하고 보여준다.
6장, 애니메이션: UtilityModel 클래스와 UtilityMesh 클래스와의 관계를 소개한다.
7장, 모델 불러와서 사용하기: 6장에서 다룬 범퍼카, 울타리, 캔 모양의 라이트 등의 이펙트보다 더욱 정교한 모델을 살펴본다.
8장, 특수 효과: 처리되는 정점의 수를 극단적으로 증가하지 않고 3D 앱에 구체성을 더하는 세 가지 기술에 대해서 소개한다.
9장, 최적화: iOS 장치를 위한 OpenGL ES 2.0 렌더링 성능을 개선하기 위한 최적화 전략을 알아본다.
10장, 지형과 피킹: 9장까지 소개된 여러 가지 3D 그래픽 개념과 예제 클래스를 재사용해 경사진 지형을 갖는 넓은 야외 장면을 그리는 메소드를 공부한다.
11장, 수학 커닝 페이퍼: 지금까지 조금씩 소개된 선형 대수 개념을 다시 살펴보고, 핵심 개념, 중요한 공식, 언제 사용해야 하는지 설명한다.
12장, 정리하기: 간단한 시뮬레이션의 디자인과 구성을 나타내는 OpenGLESCh121을 설명한다.
한국어판 특별부록: OpenGL ES 3.0 소개
목차
목차
- 1 현대적인 모바일 그래픽 하드웨어 사용하기
- 3D 렌더링이란 무엇인가
- 그래픽 프로세서에 데이터 제공하기
- 프레임 버퍼
- OpenGL ES 컨텍스트
- 3D 장면의 기하
- 요약
- 2 하드웨어 제대로 동작시키기
- OpenGL ES로 코어 애니메이션 레이어 그리기
- 코코아 터치를 OpenGL ES와 합치기
- OpenGLES Ch2 1 예제
- 심도 학습: GLKView는 어떻게 동작하는가
- GLKit에서 추정하기
- 요약
- 3 텍스처
- 텍스처란 무엇인가?
- OpenGLES Ch3 1 예제
- 심도 학습: GLKTextureLoader는 어떻게 동작하는가?
- OpenGLES Ch3 3 예제
- 투명도, 혼합, 멀티 텍스처링
- 텍스터 압축
- 요약
- 4 빛 비추기
- 주변, 산란, 반사 빛
- 각 삼각형에 부딪히는 빛의 양 계산하기
- GLKit 빛 사용하기
- OpenGLES Ch4 1 예제
- 텍스처에 빛 비추기
- 프래그먼트 동작
- 요약
- 5 관점 전환하기
- 깊이 렌더 버퍼
- OpenGLES Ch5 1과 OpenGLES Ch5 2 예제
- 심도 학습: GLKit 없이 깊이 버퍼 추가하기
- 변환
- 변환 지침서
- 원근법과 시각 절단체
- 요약
- 6 애니메이션
- 장면 내 동작: OpenGLES Ch6 1 예제
- 정점 데이터 애니메이션하기
- 색과 빛 애니메이션하기: OpenGLES Ch6 3 예제
- 텍스처 애니메이션하기
- 요약
- 7 모델 불러와서 사용하기
- 모델링 툴과 형식
- modelplist 파일 읽기
- OpenGLES Ch7 1 예제
- 고급 모델
- 요약
- 8 특수 효과
- 스카이박스
- 심도 학습: GLKSkyboxEffect는 어떻게 동작하는가
- 파티클
- 빌보드
- 요약
- 9 최적화
- 최소한으로 렌더링하기
- 추측은 금물: 측정
- 버퍼 복사 최소화하기
- 상태 변경 최소화
- 요약
- 10 지형과 피킹
- 지형 구현
- 모델 추가하기
- OpenGL ES 카메라
- 피킹
- 최적화하기
- 요약
- 11 수학 커닝 페이퍼
- 개요
- 행렬 디코딩
- 사원법
- 그래픽 수학 이겨내기
- 요약
- 12 정리하기
- 개요
- 모두 함께 사용하기
- 장치 동작
- 요약
- 한국어판 특별부록 OpenGL ES 3.0 소개