로그인회원가입장바구니고객센터마이페이지회사소개
kangcom
전체
Home >   >   > 

Game Programming Gems (한국어판)

   
지은이 Mark DeLoura/류광   |   출판사 정보문화사  |   발행일 2001년 01월 05일
 
클릭하시면 큰 도서이미지를 보실 수 있습니다.
판매가 30,000원27,000원 10%
마일리지 5% 1,500원
발행일 2001-01-05
ISBN 8976277767 | 9788976277763
기타정보 번역서 | 776쪽
예상출고일
배송비 무료배송
   
게임
종합지수 88p 3 위
   
이 책의 원서
  Game Programming Gems
CHARLES RIVER MEDIA | Mark DeLoura
 

절판된 후에도 끊임없이 독자들이 찾아 헤매던 이책 1, 2, 3 이 재 출간 되었다 !!

독자의 게임 프로그래밍 기술을 새로운 수준으로 끌어올린다!
프로그래밍 기법, 수학, 인공지능, 다각형 기법, 픽셀 기반 효과

GAME PROGRAMMING Gems 시리즈의 첫 번째 권인 이 책은 40명이상의 재능있는 게임 프로그래머들이 오랜 시간의 경험에서 발굴해 낸 기법들과 조언들을 하나로 모은 것이다. 이 책에는 애니메이션, 인공지능,Z 버퍼링,조명 계산,가상효과에서 곡면,멀티플레이어 인터넷 게임,음악과 음향 효과 등에 이르는 방대한 분야의 프로그래밍 난제들에 대한 유용하고도 참신한 해답과 조언들이 들어 있다.

전문가 수준의 독자뿐만 아니라 초보 수준의 독자라고 해도, 이 책에 들어 있는 통찰력 있는 기법들과 팁들을 통해서 자신의 게임 개발 능력을 한 차원 놓은 수준으로 끌어 올릴 수 있을 것이며, 또한 이 책에 완성되어 있는 알고리즘들을 통해서 수많은 코딩 시간을 절약할 수 있을 것이다. 한 마디로, 이 책은 자신의 수준을 높이고자 하는 모든 게임 개발자들이 꼭 한번은 봐야 할 책이다.

이 책의 부록 CD-ROM에는 책에 나온 모든 소스 코드와 책에 나온 기법들을 보여주는 여러 예제 프로그램들이 들어 있다. 코드는 C와 C++로 제공되며, 윈도우즈나 리눅스에 쉽게 이식할 수 있다. 그리고 윈도우즈 OpenGL 드라이버의 설치를 위한 glSetup과 멀티 플랫폼 OpenGL 프로그래밍을 위한 GLUT도 들어 있다. 또한 다른 유용한 패키지들과 웹 사이트들의 목록도 포함되어 있다.

시스템 요구사항
윈도우즈: Intel(R) Pentium(R) 시리즈, AMD Athlon 또는 그 이후 프로세서 권장. Win95(32MB RAM)이나 WinNT4(64MB RAM) 또는 그 이후 버전 필수. 최적의 성능을 위해서는 3D 그래픽 카드 권장

리눅스: Intel(R) Pentium(R) 시리즈, AMD Athlon 또는 그 이후 프로세서 권장. 리눅스 커널 2.3.x나 그 이후. 32MB RAM 권장. 최적의 성능을 위해서는 3D 그래픽 카드 권장. XFree86 4.0, GLUT 3.7, OpenGL 드라이버 glibc2.1 또는 그 이후 버전 필수. 3D 하드웨어 지원 대신 Mesa 드라이버를 사용할 수도 있다.

역자의 말
추천사
서문
표준에 대해
이야기의 힘
감사의 말
표지 그림에 대해
저자 색인

1부 프로그래밍 기법들

1.0 데이터 주도적 설계의 마법
아이디어 #1: 기본
아이디어 #2: 최소한의 원칙
아이디어 #3: 하드 코딩을 아예 없애라
아이디어 #4: 게임의 흐름은 스크립트로 제어할 것
아이디어 #5: 스크립트 남용의 해악
아이디어 #6: 데이터의 중복을 피해라
아이디어 #7: 데이터를 만들어 내는 도구를 작성할 것
결론

1.1 객체 지향적 프로그래밍과 설계 기법
코딩 스타일
클래스 설계
클래스 계통 구조의 설계
요약
참고 자료

1.2 템플릿 메타프로그래밍을 이용한 빠른 수학 연산
피보나치 수열
계승
삼각함수
컴파일러들의 문제
삼각함수에 대해 한 마디 더
템플릿과 표준 C++
행렬
행렬의 전치
요약
목록 1.2.1
목록 1.2.2
목록 1.2.3
목록 1.2.4
목록 1.2.5
참고 자료

1.3 자동적인 단일체 유틸리티
정의
장점
일반 전역 객체와의 차이
전통적인 해결책
더 나은 방식
좀더 나은 방식
참고 자료

1.4 게임 프로그래밍에서의 STL 활용
STL의 구성 요소들과 용어들
컨테이너
반복자
알고리즘
STL의 주요 개념
벡터
리스트
데크

스택, 큐, 우선 순위 큐
요약
참고 자료

1.5 일반화된 함수-바인딩 인터페이스
요구 사항들
플랫폼 관련 문제들
시도 #1
시도 #2
절반의 해결
함수의 호출
해결책의 완성
결론
참고 자료

1.6 범용 핸들 기반 자원 관리자
방법
Handle 클래스
HandleMgr 클래스
간단한 활용 방법
참고
목록 1.6.1
목록 1.6.2
목록 1.6.3
참고 자료

1.7 자원과 메모리 관리
자원 클래스
자원 관리자 클래스
핸들의 작동 방식
몇 가지 수정, 개선 방향들
결론

1.8 빠른 데이터 로드 기법
데이터의 전처리
데이터의 저장
데이터 로드 - 간단한 방법
데이터 로드 - 좀더 안전한 방법

1.9 프레임 기반 메모리 할당
기존 메모리 할당의 문제점
프레임 기반 메모리의 기초
메모리의 할당과 해제
예제
결론

1.10 간단하고 빠른 비트 배열
개요
비트들의 배열
다른 배열들
응용
참고 자료

1.11 온라인 게임을 위한 프로토콜
정의
패킷의 변조
패킷 리플레이
추가적인 기법들
역공학
구현
참고 자료

1.12 assert의 비법들
assert의 기본
assert 비법 #1: 더 많은 정보를 집어넣는다
assert 비법 #2: 좀더 많은 정보를 집어넣는다
assert 비법 #3: 좀더 편하게
assert 비법 #4: 커스텀 assert 만들기
assert 비법 #5: 이것도 중요
assert 비법 #6: 초고수만 볼 것
assert 비법 #7: 좀더 쉽게 - 복사해서 붙여 넣기
참고 자료

1.13 Stats: 실시간 통계와 게임 내 디버깅
왜: 요구 주도적인 기술
어떻게: 진화적인 과정
무엇을: C++ 클래스에 기반한 시스템
어디서: 응용성
요약

1.14 실시간 게임 내 프로파일링
프로파일러 소개
이 프로파일러로 얻을 수 있는 것들
프로파일러 호출의 추가
프로파일러의 구현
ProfileBegin()의 작동 방식
ProfileEnd()의 작동 방식
프로파일링 데이터의 처리
개선 방향
완성된 프로파일러
목록 1.14.1: ProfileBegin()
목록 1.14.2: ProfileEnd()
목록 1.14.3: ProfileDumpOutputToBuffer()
목록 1.14.4: StoreProfileInHistory()와
GetProfileFromHistory()
참고 자료

2부 수학

2.0 예측 가능한 난수
예측 가능한 난수
또다른 난수 발생 알고리즘
무한한 우주 알고리즘
결론과 이후의 개선 방향
참고 자료

2.1 보간법
부동소수점 연산을 이용한 프레임율 의존적인 감속 보간
정수 연산을 이용한 프레임율 의존적인 감속 보간
프레임율 독립적인 선형 보간
프레임율 독립적인 가속과 감속 보간
주의 사항
목록 2.1.1: CEaseOutDivideInterpolation() 정의
목록 2.1.2: CEaseOutShiftInterpolation() 정의
목록 2.1.3: CLinearInterpolation() 정의
목록 2.1.4: CEaseInOutInterpolation() 정의

2.2 강체 운동 방정식들의 해법
운동: 병진 이동과 회전
동역학: 힘과 토크
강체의 특별한 성질들
운동 방정식들의 해법
참고 자료

2.3 삼각 함수들에 대한 다항식 근사
다항식
정의역과 치역
정의역의 변경
치역의 변경
짝함수와 홀함수
테일러 급수
유한한 테일러 급수
라그랑쥬 급수
라그랑쥬 급수의 계산
숫자에 관해 한 마디
불연속성 다루기
결론

2.4 수치적 안정성을 위한 암묵적 오일러 해법
초기치 문제의 해법과 안정성
명시적 오일러 해법
암묵적 오일러 해법
오차
암묵적 해를 찾기 힘든 경우
결론
참고 자료

2.5 파형요소: 이론과 압축
원리
예제
응용
참고 자료

2.6 상호 작용적인 수면 시뮬레이션
2차원 파동 방정식
경계 조건들: 섬과 해안선
구현상의 문제들
수면과의 상호 작용
렌더링
LOD의 관리
참고 자료

2.7 게임 프로그래밍을 위한 사원수(쿼터니언)
행렬을 대신하는 사원수
오일러 각도의 한계
X, Y, Z, W의 의미
수학적 기반
사원수가 회전을 표현하는 방식
참고 자료

2.8 행렬-사원수 변환
사원수 회전
사원수-행렬 변환
행렬-사원수 변환
W의 계산
X, Y, Z의 계산
참고 자료

2.9 사원수들의 보간
사원수 계산법
사원수 보간
선형 보간
구면 선형 보간
구면 입방 보간
예제 코드
풀이 2.9.1: slerp의 유도
풀이 2.9.2: 멱함수 형태의 slerp 유도
풀이 2.9.3: 스플라인 보간의 유도

2.10 최단호 사원수
동기
안정적인 공식의 유도
여전히 남아 있는 불안정 조건
소스 코드
가상 트랙볼
참고 자료

3부 인공지능

3.0 범용적이고 견고한 AI 엔진의 설계
이벤트 주도적 방식 대 객체의 폴링
메시지라는 개념
상태 기계
메시지를 이용한 이벤트 주도적 상태 기계
의사코드에 대해
매크로와 중괄호
상태 기계의 틀
상태 기계의 메시지 전달 구조
메시지 전송
지연 메시지의 전송
게임 객체의 삭제
개선 : 메시지의 범위를 정의
개선 : 모든 메시지 활동과 상태 변화를 기록
개선 : 상태 기계의 교체
개선: 복수의 상태 기계들
개선: 상태 기계들의 큐
코드 외부의 스크립트로 행동 방식을 정의
결론
목록 3.0.1 메시지 라우터
목록 3.0.2 지연 메시지들을 다루는 함수들
참고 자료

3.1 유한 상태 기계 클래스
FSMclass와 FSMstate
FSMstate 클래스의 정의
FSMclass 클래스의 정의
FSM을 위한 상태 만들기
FSM의 사용법
목록 3.1.1
목록 3.1.2
목록 3.1.3
목록 3.1.4
목록 3.1.5
목록 3.1.6
목록 3.1.7
목록 3.1.8
목록 3.1.9
참고 자료

3.2 게임 트리
미니맥스 알고리즘의 변형 : 네가맥스 알고리즘
알파-베타 가지치기
수순 정렬 방법
알파-베타의 개선
참고 자료

3.3 A* 길찾기 알고리즘의 기초
문제
A*의 개요
목록 3.3.1 A* 알고리즘
A*의 특징
게임의 길찾기에 A*를 적용
상태의 표현
이웃한 상태들
비용
추정
목표
A*의 약점
이후의 작업
참고 자료

3.4 A*의 미학적 최적화
직선적 경로
격자형 검색 공간 안에서의 직선화된 경로
매끄러운 경로
미리 계산된 Catmull-Rom 공식
좀더 직접적인 경로를 만들려면
야외에서의 계통적 길찾기
계통적 검색 도중의 시간 지연을 피하려면
반응성을 최대화하려면
결론
참고 자료

3.5 A*의 속도 최적화
검색 공간의 최적화
알고리즘의 최적화
열린 목록의 최적화
결론
목록 3.5.1 노드 객체
목록 3.5.2 우선 순위 큐 객체
목록 3.5.3 STL 비교 함수
목록 3.5.4 네 개의 열린 목록 작업들

목록 3.5.5: 마스터 노드 목록과 우선 순위 큐 열린
목록을 이용해서 구현된 A*
참고 자료

3.6 네비게이션 메시를 이용한 단순화된 3D 이동과 길찾기
개요
구조
네비게이션 메시의 활용
최적의 경로를 찾아라
좀더 그럴듯한 경로
결론
목록 3.6.1 네비게이션 메시의 한 칸(삼각형)과
2D 선분의 교차
목록 3.6.2 네비게이션 메시 상의 이동 해석
목록 3.6.3 A*를 이용한 네비게이션 메시 상의
이동 경로 찾기
참고 자료

3.7 플로킹:집단 행동을 흉내내는 간단한 기법
구현
코드
한계와 개선 방향들
목록 3.7.1 CFlock 클래스 정의
목록 3.7.2 CBoid 클래스 정의
참고 자료

3.8 비디오 게임을 위한 퍼지 논리
퍼지 논리의 작동 방식
퍼지 논리의 연산
퍼지 제어
퍼지 논리의 또다른 응용
결론
참고 자료

3.9 신경망 입문
생물학적 비유
게임에의 응용
신경망의 이론
논리 연산 신경망
분류와 화상 인식
헵 신경망
홉필드 신경망
결론

4부 다각형 기법

4.0 OpenGL을 위한 정점 지정 최적화
이미디어트 모드
glInterleavedArrays 함수
스트림 데이터와 교차 삽입 데이터
컴파일된 정점 배열
데이터 복사의 제거 - 개발사 고유의 확장 기능 사용
데이터 형식
일반적인 조언
결론
참고 자료

4.1 정점의 투영 깊이값 조정
투영 행렬에 대해
깊이값의 조정
적절한 입실론(ε)의 선택
구현
소스 코드

4.2 벡터 카메라
벡터 카메라의 개요
국소 공간 최적화
결론

4.3 카메라 제어 기법
기본적인 1인칭 시점 카메라들
카메라의 제어
미리 준비된 경로를 따르는 카메라 제어
유용한 기법들
Catmull-Rom 곡선
카메라 트릭
3인칭 카메라
사원수

4.4 빠른 원통-절두체 교차 판정
시야 각뿔대
유효 반지름의 계산
알고리즘
구현
목록 4.4.1

4.5 3D 충돌 검출
알고리즘들의 개요
경계구 충돌 검출
삼각형 대 삼각형 충돌 검출
선분-평면 교차
삼각형 평면화
점이 삼각형 안에 있는지의 점검
두 삼각형 모두에 대해서 선들을 판정
목록 4.5.1
목록 4.5.2
목록 4.5.3

4.6 다해상도 맵을 이용한 충돌 판정
격자를 사용
다양한 크기를 가진 객체들의 문제
다해상도 맵
소스 코드

4.7 구역 안에서의 거리 계산
문제
응용

4.8 가려진 객체의 제외 기법
각뿔대 컬링
오클루젼 컬링
요약
목록 4.8.1: 시야 컬링 코드
목록 4.8.2: 오클루젼 컬링 코드

4.9 자연스러운 세부 수준 변화
LOD 선택
확대율의 계산
이력 문턱값 적용
구현
기타 문제들
확대율의 가중
다각형이나 모델의 개수 제한
점진적 메시

4.10 옥트리의 구축
옥트리의 개요
옥트리 데이터
옥트리의 구축 과정
다각형이 겹치는 경우
이웃 노드들
응용
결론
참고 자료

4.11 느슨한 옥트리
쿼드트리
경계 입체
객체들의 분할
느슨하게 만들기
비교
결론

4.12 뷰 독립적인 점진적 메싱
점진적 메시의 개요
몇 가지 생각해야 할 것들
뷰 독립적 대 뷰 의존적
변 선택 함수
어려운 변들
구현
낮은 세부 수준의 삼각형들과 정점들이 먼저
가역적인 변 제거 목록
메시 데이터의 사전 준비
변 선택의 최적화
소스 코드
참고 자료

4.13 보간을 이용한 3D 키프레임 애니메이션
선형 보간
정점들과 법선들의 보간
Hermite 스플라인 보간
정점들의 스플라인 보간
Hermite 스플라인의 장점
요약
참고 자료

4.14 빠르고 간단한 스키닝 기법
다각형 개수가 적은 모델을 사용하는 이유
기법
요약
목록 4.14.1
목록 4.14.2
참고 자료

4.15 틈 매우기 - 스티칭과 스키닝을 이용한 고급 애니메이션
스티칭
스키닝
기타 고려 사항들
참고 자료

4.16 실시간 사실적 지형 생성
랜드스케이핑
건물들의 생성
이름 짓기
참고 자료

4.17 프랙탈 지형 생성 - 단층 변형
단층 변형
dHeight의 감소
무작위 선의 생성
침식 작용의 표현
예제 코드
참고 자료

4.18 프랙탈 지형 생성 - 중점 높이 이동
1차원에서의 중점 높이 이동
2차원에서의 중점 높이 이동 - 다이아몬드 사각형
높이 필드에서의 다이아몬드 - 사각형 알고리즘

4.19 프랙탈 지형 생성 - 입자 퇴적
MBE
입자 퇴적
칼데라 만들기
예제 코드
참고 자료

5부 픽셀 효과

5.0 2D 렌즈 플레어
접근 방식
구현
소스 코드

5.1 3D 하드웨어를 이용한 2D 스프라이트 효과
3D로 가자
3D 장면의 설정
텍스처의 설정
3D 스프라이트 그리기
몇 가지 스프라이트 효과
결론

5.2 동기 기반 정적 조명
일반적인 정적 조명
동기 기반 정적 조명
결론

5.3 정점 색상 보간을 이용한 모의 실시간 조명
조명 방식
3D 그래픽 작업
조명값의 보간
결론
목록 5.3.1: 예제 코드

5.4 감쇠 맵
설명
감쇠 맵과 조명 맵의 비교
CSG 효과들
범위 기반 안개 효과
다른 입체들
결론

5.5 텍스처 좌표 생성을 이용한 고급 텍스처 기법
간단한 텍스처 좌표 애니메이션
텍스처 투영
반사 매핑
참고 자료

5.6 하드웨어 범프 매핑
범프 맵을 객체에 적용하려면
법선들에 대한 공간의 선택
또다른 접근 방식 : 접선 공간 범프 매핑
하나의 해결책: 텍스처 공간 범프 매핑
텍스처 공간 문제들
결론
참고 자료

5.7 기준 평면 그림자 효과
그림자 관련 수학
구현
응용 방법

5.8 복잡한 객체에 대한 실시간적인 그림자 생성
개요
광원, 장애물 객체, 수신 객체
이 글의 목적
그림자 맵 만들기
Zlight 구하기
원근 투영의 설정
가변적인 투영
수신 객체에 그림자 맵을 투영
수신 객체들의 렌더링
기본 알고리즘의 확장과 개선
참고 자료

5.9 광택성 사전 필터링과 프레넬 항을 이용한 개선된 환경 매핑 반사 효과
잘못된 가정 첫번째
잘못된 가정 두번째
결론
참고 자료

5.10 게임을 위한 그럴듯한 유리 효과
도입
투명한 객체들
래스터화, 프레임 버퍼, Z 버퍼, 픽셀 혼합
불투명 객체와 투명 객체
불투명 객체 그리기
투명한 객체 그리기
약간 다른 접근 방식
비평면 유리 객체
반사
색유리 효과
통합적인 방법
구현
참고 자료

5.11 용기에 담긴 액체를 위한 굴절 매핑
도입
굴절률 항
용기 내부의 조명
굴절 항
프레넬 항
하드웨어 렌더링
이 기법에 대한 확장
결론
참고 자료

6부 부록

6.0 행렬 유틸리티 라이브러리
사양
소스 코드
감사의 말

6.1 텍스트 유틸리티 라이브러리
사양
소스 코드

6.2 부록 CD-ROM에 대해

찾아보기
Mark DeLoura
Nintendo of America의 수석 소프트웨어 엔지니어로, Seattle, Washington에 살고 있다. 그는 현재 Nintendo의 차세대 게임기인 코드명 "돌핀"에 대한 작업을 진행중이다. Mark는 수많은 Nitendo64용 게임들의 개발에 참여했으며, 현재는 새로운 3D 그래픽 기법들을 연구하고 있다. 또한 그는 Game Developer 등의 여러 잡지들에도 글을 써왔다.
대단 그자체 ㅋㅋ
오현명님이 쓰신 서평보기 I 평점 I 조회수(1295) I 공감 (0) I 블로그
고급난이도 책 대단한 이책을 봐야 드뎌 프로그래밍을  좀 안다고 할수있을라나
정말 멋진책!!!
윤종균님이 쓰신 서평보기 I 평점 I 조회수(1676) I 공감 (0) I 블로그
저는 몇일전에 사서 지금보고 있는 중입니다.. 한마디로 말해서.. 정말 대단한 책입니다.. 내용 하나하나가 정말 주옥같은 말들 뿐 입니다.. 현재 4판까지 나왔는데.. 저희 선배님들이나 주위에 말을 들어보면.. 1판에 정말 도움이 많이되는 내용이 많다고 하셨구요.. 앞부분 밖에 보지못했지만, 충분히 가치를 느낄수 있습니다.. 게임 프로그래머가 꿈이시라면.. 필히 보시기 바랍니다!!
실로 대단한 책
조해진님이 쓰신 서평보기 I 평점 I 조회수(2736) I 공감 (0) I 블로그
게임쪽 개발에 관심을 가지다 보니.....  필독서라 불리우는 이 GPG책을 보게 되었습니다사실 게임 서버쪽이라 그래픽 처리에 관한부분이라든지 , 클라이언트에쪽에 특화된 부분은많이 스킵을 하였지만.... 많은 부분에서 대단히 유용한 팁을 얻을수 있었습니다특히 저로써는 프로그래밍 분야와 AI쪽에 대단히 흥미로운 내용이 많았습니다 물론 내용하나 하나가.... 각분야의 전문가들이 팁 위주로  테크닉을 알려주는것이라그분야에 기본이 안되어 있을 경우 어려워 이...
게임 디자인 레벨업 가이드...
스콧 로저스
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
레트로의 유니티 게임 프로그래밍 에센스...
이제민
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
 
전체평균(75)
회원평점   회원서평수 3
대단 그자체 ㅋㅋ
오현명 님  2007-09-19
정말 멋진책!!!
윤종균 님  2005-03-06
실로 대단한 책
조해진 님  2004-06-30
류광 의 최근 저서
 
[패키지] Game Programming Gems 7 + Game Programming Gems 8
70,200원
(10%↓+5%)
 
[패키지] Game Programming Gems 8 + GAME ENGINE GEMS 1
70,200원
(10%↓+5%)
 
프로 안드로이드 SL4A : ProAndroid Python with SL4A
23,400원
(10%↓+5%)
 
[패키지] Game Programming Gems 6 + Game Programming Gems 7
70,200원
(10%↓+5%)
 
Mark DeLoura 의 최근 저서
 
[패키지] Game Programming Gems 6 + Game Programming Gems 7
70,200원
(10%↓+5%)
 
정보문화사 출판사의 신간
미래의 핵심 기술
Mitsumura Naoki 저
16,200원
(10%↓+5%)
 
화이트 해커를 위한 암호와 해킹 2판(White Hat Python)
장삼용 저
20,700원
(10%↓+5%)
 
회사 실무에 힘을 주는 엑셀&파워포인트 2019
서정아, 김은정 저
16,200원
(10%↓+5%)
 
수학적 사고력 향상을 위한 파이썬 코딩 수학 with 딥러닝
박 경 원 저
13,500원
(10%↓+5%)
 
블록체인 프로젝트(BlockChain Project)
박정태 저
22,500원
(10%↓+5%)
 
이메일주소수집거부