logo
logo
x
바코드검색
BOOKPRICE.co.kr
책, 도서 가격비교 사이트
바코드검색

인기 검색어

실시간 검색어

검색가능 서점

도서목록 제공

iPhone 3D Programming 아이폰 3D 프로그래밍

iPhone 3D Programming 아이폰 3D 프로그래밍

(using OpenGL ES)

필립 라이드아웃 (지은이), 강권학 (옮긴이)
  |  
한빛미디어
2010-10-25
  |  
36,000원

일반도서

검색중
서점 할인가 할인률 배송비 혜택/추가 실질최저가 구매하기
yes24 로딩중
교보문고 로딩중
영풍문고 로딩중
인터파크 로딩중
11st 로딩중
G마켓 로딩중
쿠팡 로딩중
쿠팡로켓 로딩중
notice_icon 검색 결과 내에 다른 책이 포함되어 있을 수 있습니다.

중고도서

검색중
로딩중

e-Book

검색중
서점 정가 할인가 마일리지 실질최저가 구매하기
로딩중

책 이미지

iPhone 3D Programming 아이폰 3D 프로그래밍

책 정보

· 제목 : iPhone 3D Programming 아이폰 3D 프로그래밍 (using OpenGL ES)
· 분류 : 국내도서 > 컴퓨터/모바일 > 모바일 프로그래밍 > 모바일/임베디드
· ISBN : 9788979147759
· 쪽수 : 560쪽

책 소개

OpenGL ES 1.1/2.0을 이용한 아이폰용 3차원 그래픽스 프로그래밍을 배울 수 있는 책. 애플 앱스토어의 절반 가량은 게임이 차지하고 있으며, 이런 게임들은 화려한 3차원 그래픽을 뽐내고 있다. 아이폰은 3차원 그래픽을 구현을 위해서 OpenGL을 사용한다. 이 책은 간단한 OpenGL 앱에서 물리엔진 효과를 구현한 애니메이션까지 제작한다. 아이폰에서 3차원 그래픽 앱 개발하려는 개발자들이 빠르게 배우고 프로젝트에 응용할 수 있도록 도와준다.

목차

1장. 들어가며
1. 애플 환경에 적응하기
Objective-C
2. OpenGL ES의 간략한 역사
3. 적절한 OpenGL ES 버전 선택하기
4. 시작하기
아이폰 SDK 설치하기
OpenGL 템플릿을 이용하여 Xcode로 앱 만들기
아이폰 디바이스에 설치하기
5. 고정 기능을 사용한 HelloArrow
3D 앱의 코드 구조
처음부터 시작하기
OpenGL과 쿼츠 라이브러리 연결하기
UIView 클래스 상속하기
앱 델리게이트에 연결하기
아이콘과 시작 이미지 설정
상태 바 처리하기
렌더링 엔진 인터페이스 정의하기
렌더링 엔진 구현하기
디바이스 방향 변경 처리하기
회전을 애니메이션하기
6. 셰이더를 사용한 HelloArrow
셰이더
프레임워크
GLView
렌더링 엔진 구현
7. 결론

2장. 수학과 비유
1. 공장 조립라인에 비유하기
2. 정점으로 기본 요소 조립하기
3. 정점에 속성 연결하기
4. 정점의 일생
5. 사진에 비유하기
모델 행렬 설정하기
뷰 변환 설정하기
투상 변환 설정하기
6. 행렬 스택을 사용하여 변환 상태를 저장하고 읽기
7. 애니메이션
여러 보간법들
사원수를 사용한 회전 애니메이션
8. C++로 벡터를 깔끔하게 사용하기
9. 고정기능 함수를 사용한 HelloCone
렌더링 엔진(RenderingEngine) 선언
OpenGL 초기화 및 원뿔형을 다각형 분할하기
부드러운 3차원 회전
Render() 함수
10. 셰이더를 사용한 HelloCone
11. 결론

3장. 정점과 터치점
1. 터치스크린 읽기
2. 정점을 인덱싱하여 메모리 절약하기
3. 정점 버퍼 객체를 사용하여 성능 향상시키기
4. 와이어 프레임 뷰어 생성하기
재미로 만드는 파라메트릭 곡면
인터페이스 설계
트랙볼 회전 처리하기
렌더링 엔진 구현하기
기본적인 탭바
화면 전환 애니메이션
5. 결론

4장. 깊이와 현실감 향상시키기
1. 깊이 버퍼 알아보기
깊이 버퍼의 문제점에 유의하자
2. 깊이 버퍼를 생성하고 사용하기
3. 와이어 프레임을 삼각형으로 채우기
4. 법선 벡터
OpenGL에 법선 벡터 입력하기
법선 벡터에 관련된 수학
법선은 변환 행렬로 변환할 수 없다
파라메트릭 곡면에서 법선 생성하기
5. 조명 적용하기
주변광
확산광 모델
경면광으로 빛나는 부분 만들기
조명을 ModelViewer에 추가하기
조명 속성 사용하기
6. 셰이더 알아보기
7. ModelViewer에 셰이더 추가하기
새로운 렌더링 엔진
픽셀 단위 조명
툰 셰이딩
8. 폴리곤 오프셋을 사용한 개선된 와이어 프레임
9. OBJ 파일에서 기하 데이터 로딩하기
리소스 파일 관리하기
ISurface 구현하기
10. 결론

5장. 텍스쳐와 이미지 캡쳐
1. ModelViewer에 텍스쳐 추가하기
IResourceManager 개선하기
텍스쳐 좌표 생성하기
ES1::RenderingEngine 클래스에 텍스쳐 사용하기
ES2::RenderingEngine 클래스에 텍스쳐 사용하기
2. 텍스쳐 좌표 상세 설명
3. 필터링으로 에일리어싱 문제 해결하기
밉맵으로 텍스쳐 품질과 성능 향상시키기
밉맵을 지원하도록 ModelViewer 수정하기
4. 텍스쳐 포맷과 데이터 형
실전: 여러 가지 포맷 로드하기
5. PVRTC로 텍스쳐 압축하기
6. PowerVR SDK와 저정밀도 텍스쳐
7. 쿼츠를 사용해서 OpenGL 텍스쳐를 생성하고 변환하기
8. 텍스쳐 크기에 관한 제약
POT 크기로 변환
9. 카메라로 텍스쳐 생성하기
CameraTexture: 렌더링 엔진 구현
10. 결론

6장. 블렌딩과 증강 현실
1. 블렌딩 방법
2. 미리 곱해진 알파 텍스쳐 다루기
3. 블렌딩할 때 주의점
4. 블렌딩 확장 기능 사용
블렌딩 설정이 유용한 이유는?
5. 정점의 색상을 사용하여 텍스쳐 색상을 바꾸기
6. 스텐실 버퍼를 사용한 반사 효과
원반을 스텐실에만 렌더링하기
스텐실 테스트를 사용하여 반사된 객체 렌더링하기
원래 객체 렌더링하기
원반을 앞에서 뒤로 블렌딩하면서 렌더링하기
7. 스텐실을 지원하지 않는 구형 아이폰을 위한 방법
8. 오프-스크린 FBO를 사용한 앤티 에일리어싱 기법
수퍼샘플링하는 정말 간단한 예제 프로그램
지터링
그 외 FBO 효과들
9. 텍스쳐를 사용하여 앤티 에일리어싱된 선 렌더링하기
10. Holodeck 예제
앱 구조
원형 돔, 구름, 글자 렌더링하기
전방 투상 장치 처리하기
3축 가속 센서 사용하기
카메라의 실시간 이미지를 오버레이하기
11. 결론

7장. 스프라이트와 텍스트
1. 텍스트 렌더링을 이용하여 FPS 카운터 그리기
파이썬으로 글리프 텍스쳐 생성하기
FPS 텍스트 렌더링하기
2. glDrawTexOES() 명령으로 간단하게 텍스쳐 사각형 렌더링하기
3. 거리장을 사용하여 텍스트를 더 또렷하게 보이기
파이썬으로 거리장 생성하기
ES 1.1에서 알파 테스팅으로 거리장 사용하기
프래그먼트 셰이더를 사용하여 텍스트 효과 추가하기
스무딩과 도함수
윤곽선, 작열, 그림자 효과 구현하기
4. 스프라이트 시트로 애니메이션 만들기
5. 이미지를 분할하여 여러 텍스쳐처럼 보이기
6. OpenGL ES와 UIKit 혼합하기
7. 색종이 꽃가루와 불꽃 놀이와 같은 포인트 스프라이트 렌더링하기
8. 7장 마지막 예제: SpringyStars
물리학 탐방: 질량-스프링 시스템
C++ 인터페이스와 GLView
ApplicationEngine 구현
OpenGL ES 1.1 렌더링 엔진과 가산 블렌딩
OpenGL ES 2.0으로 포인트 스프라이트 사용하기
9. 결론

8장. 고급 조명과 텍스쳐
1. OpenGL ES 1.1에서의 텍스쳐 환경
텍스쳐 혼합기
2. 범프 매핑과 DOT3 조명
선형 대수학 조금 더 살펴보기
기저 벡터 생성하기
OpenGL ES 2.0으로 법선 매핑하기
OpenGL ES 1.1로 법선 매핑하기
객체 공간 법선 맵 생성하기
3. 큐브 맵을 사용하여 반사 이미지 렌더링하기
큐브 맵에 렌더링하기
4. 이방성 필터링: 스테로이드 위의 텍스쳐
5. 이미지 처리 예제: 블룸
혼합 방식으로 성능 개선하기
가우스 블룸 예제 코드
6. 결론

9장. 최적화
1. 인스트루먼트
2. CPU/GPU 분배 이해하기
3. 정점 로딩: VBO 객체의 저 너머에
한꺼번에 그리자
인터리브된 정점 속성
정점 포맷을 최적화하기
적합한 위상과 인덱스를 사용하자
4. 조명 최적화 기법들
객체 공간 조명
DOT3 조명 복습
표면 고정 조명
5. 텍스쳐 최적화
6. 컬링과 절단
다각형 와인딩
사용자 절단면
CPU 기반 클리핑
7. 셰이더 성능
분기문
프래그먼트 킬
텍스쳐 룩업은 성능을 저해한다!
8. 정점 스키닝으로 애니메이션 최적화하기
스키닝: 공통 코드
OpenGL ES 2.0으로 스키닝하기
OpenGL ES 1.1로 스키닝하기
무게와 인덱스 생성하기
핀칭을 주의하자
9. 참고 문헌

부록. C++ 벡터 라이브러리

저자소개

필립 라이드아웃 (지은이)    정보 더보기
10여년 동안 실시간 그래픽스 프로그래밍에 전념해 왔다. 그는 인터그라프, 3D랩스, 엔비디아 등 컴퓨터 그래픽스를 선도하는 회사들에서 일해왔다. 현재 필립은 덴버에 위치한 메디칼 시뮬레이션 코포레이션Medical Simulation Corporation에서 인간의 육체를 시각화하는 새로운 기술을 개발하고 있다.
펼치기
강권학 (옮긴이)    정보 더보기
중앙대학교 컴퓨터공학과에서 학사와 석사학위를 받았다. 국방과학연구소, 퓨쳐시스템, 안철수연구소에서 13년간 개발자, 보안전문가, 프로젝트 관리자로 근무하였으며, 2009년 4월 호주 멜버른에 iGonagi Pty. Ltd.를 설립하고 아이폰 애플리케이션을 개발하고 있다. 번역서로는 『게임 디자인 레벨업 가이드(공역)』, 『Head First Python』, 『안드로이드 시큐리티 인터널』, 『Head First JavaScript Programming』, 『비즈니스를 위한 데이터 과학』, 『C++ AMP』, 『Head First C』, 『iPhone 3D Programming』, 『iPhone Programming(공역)』, 『Head First iPhone Development』(이상 한빛미디어) 등이 있다.
펼치기
이 포스팅은 쿠팡 파트너스 활동의 일환으로,
이에 따른 일정액의 수수료를 제공받습니다.
도서 DB 제공 : 알라딘 서점(www.aladin.co.kr)
최근 본 책