DirectX 12를 이용한 3D 게임 프로그래밍 입문
도서+사은품 또는 도서+사은품+교보Only(교보굿즈)
15,000원 미만 시 2,500원 배송비 부과
20,000원 미만 시 2,500원 배송비 부과
15,000원 미만 시 2,500원 배송비 부과
1Box 기준 : 도서 10권
로그아웃 : '서울시 종로구 종로1' 주소 기준
이달의 꽃과 함께 책을 받아보세요!
1권 구매 시 결제 단계에서 적용 가능합니다.
알림 신청하시면 원하시는 정보를
받아 보실 수 있습니다.
키워드 Pick
키워드 Pick 안내
관심 키워드를 주제로 다른 연관 도서를 다양하게 찾아 볼 수 있는 서비스로, 클릭 시 관심 키워드를 주제로 한 다양한 책으로 이동할 수 있습니다.
키워드는 최근 많이 찾는 순으로 정렬됩니다.
작가정보
저자(글) 프랭크 D. 루나
저자 프랭크 D. 루나(Frank D. Luna)는 15년 넘게 대화식 3차원 그래픽 응용 프로그램을 프로그래밍해왔다. DirectX에 관한 세 권의 베스트셀러를 저술했으며, 3차원 의료 시각화와 3차원 건축 설계 소프트웨어, 그리고 게임 개발 분야에서 일한 경력이 있다. 캘리포니아 대학교 어바인(University of California, Irvine)에서 수학 학사 학위를 받았다.
역자 류광은 1996년부터 활동해온 프로그래밍 서적 전문 번역가로, 커누스 교수의 고전 『컴퓨터 프로그래밍의 예술(The Art of Computer Programming)』 시리즈를 비롯해 다양한 분야의 프로그래밍 서적을 50권 번역했다. 게임 및 그래픽 프로그래밍 관련 번역서로는 본서의 전작인 『DirectX 11을 이용한 3D 게임 프로그래밍 입문』과 『Game Programming Gems』 시리즈, 『Game Engine Gems』 시리즈, 『3D 게임 프로그래밍 & 컴퓨터 그래픽을 위한 수학』 1, 2판 등이 있다.
번역과 프로그래밍 외에 소프트웨어 문서화에도 관심이 많으며, 수많은 오픈소스 프로젝트의 표준 문서 형식으로 쓰이는 DocBook의 국내 사용자 모임인 닥북 한국(http://docbook.kr/)의 일원이다.
현재 번역서 정보 사이트 occam’s Razor(http://occamsrazr.net/)와 Game Programming Gems 시리즈를 비롯한 게임 개발서들의 독자 지원 및 논의 사이트 GpgStudy(http://www.gpgstudy.com/)를 운영하고 있다.
목차
- PART I 기초 필수 수학
1장 벡터 대수
1.1 벡터
1.2 길이와 단위벡터
1.3 내적
1.4 외적
1.5 점
1.6 DirectXMath 라이브러리의 벡터
1.7 요약
1.8 연습문제
2장 행렬 대수
2.1 정의
2.2 행렬 곱셈
2.3 전치행렬
2.4 단위행렬
2.5 행렬식
2.6 딸림행렬
2.7 역행렬
2.8 DirectXMath의 행렬
2.9 요약
2.10 연습문제
3장 변환
3.1 선형변환
3.2 아핀변환
3.3 변환들의 합성
3.4 좌표 변경 변환
3.5 변환 행렬 대 좌표 변경 행렬
3.6 DirectXMath 라이브러리의 변환 관련 함수들
3.7 요약
3.8 연습문제
PART II Direct3D의 기초
4장 Direct3D의 초기화
4.1 기본 지식
4.2 CPU와 GPU의 상호작용
4.3 Direct3D의 초기화
4.4 시간 측정과 애니메이션
4.5 예제 응용 프로그램 프레임워크
4.6 Direct3D 응용 프로그램의 디버깅
4.7 요약
5장 렌더링 파이프라인
5.1 3차원의 환상
5.2 모형의 표현
5.3 컴퓨터 색상의 기본 개념
5.4 렌더링 파이프라인의 개요
5.5 입력 조립기 단계
5.6 정점 셰이더 단계
5.7 테셀레이션 단계들
5.8 기하 셰이더 단계
5.9 절단
5.10 래스터화 단계
5.11 픽셀 셰이더 단계
5.12 출력 병합기 단계
5.13 요약
5.14 연습문제
6장 Direct3D의 그리기 연산
6.1 정점과 입력 배치
6.2 정점 버퍼
6.3 색인과 색인 버퍼
6.4 예제 정점 셰이더
6.5 예제 픽셀 셰이더
6.6 상수 버퍼
6.7 셰이더의 컴파일
6.8 래스터화기 상태
6.9 파이프라인 상태 객체
6.10 기하구조 보조 구조체
6.11 상자 예제
6.12 요약
6.13 연습문제
7장 Direct3D의 그리기 연산 제2부
7.1 프레임 자원
7.2 렌더 항목
7.3 패스별 상수 버퍼
7.4 도형 기하구조
7.5 도형 예제
7.6 루트 서명 추가 설명
7.7 지형과 파도 예제
7.8 요약
7.9 연습문제
8장 조명
8.1 빛과 재질의 상호작용
8.2 법선 벡터
8.3 조명의 주요 벡터
8.4 람베르트 코사인 법칙
8.5 분산 조명
8.6 주변 조명
8.7 반영 조명
8.8 조명 모형 정리
8.9 재질의 구현
8.10 평행광
8.11 점광
8.12 점적광
8.13 조명 구현
8.14 파도 조명 예제
8.15 요약
8.16 연습문제
9장 텍스처 적용
9.1 텍스처와 자원의 개괄
9.2 텍스처 좌표
9.3 텍스처 자료 원본
9.4 텍스처 생성 및 활성화
9.5 필터
9.6 텍스처 좌표 지정 모드
9.7 표본추출기 객체
9.8 셰이더에서 텍스처 표본 추출
9.9 나무 상자 예제
9.10 텍스처 변환
9.11 텍스처 입힌 언덕과 파도 예제
9.12 요약
9.13 연습문제
10장 혼합
10.1 혼합 공식
10.2 혼합 연산
10.3 혼합 계수
10.4 혼합 상태
10.5 예제
10.6 알파 채널
10.7 픽셀 잘라내기
10.8 안개
10.9 요약
10.10 연습문제
11장 스텐실 적용
11.1 깊이?스텐실 버퍼의 자료 형식과 버퍼 지우기
11.2 스텐실 판정
11.3 깊이?스텐실 상태의 서술
11.4 평면거울 구현
11.5 평면 그림자의 구현
11.6 요약
11.7 연습문제
12장 기하 셰이더
12.1 기하 셰이더 프로그래밍
12.2 나무 빌보드 예제
12.3 텍스처 배열
12.4 알파-포괄도 변환
12.5 요약
12.6 연습문제
13장 계산 셰이더
13.1 스레드와 스레드 그룹
13.2 간단한 계산 셰이더 예제
13.3 자료 입력 자원과 출력 자원
13.4 스레드 식별 시스템 값
13.5 추가 버퍼와 소비 버퍼
13.6 공유 메모리와 동기화
13.7 흐리기 예제
13.8 더 읽을거리
13.9 요약
13.10 연습문제
14장 테셀레이션 단계들
14.1 테셀레이션 기본도형 위상구조
14.2 덮개 셰이더
14.3 테셀레이터 단계
14.4 영역 셰이더
14.5 사각형 하나의 테셀레이션
14.6 삼차 베지에 사각형 패치
14.7 요약
14.8 연습문제
PART III 응용
15장 1인칭 카메라 구축과 동적 색인화
15.1 시야 변환 개괄
15.2 카메라를 대표하는 Camera 클래스
15.3 주요 메서드 구현
15.4 카메라 예제 해설
15.5 동적 색인화
15.6 요약
15.7 연습문제
16장 인스턴싱과 절두체 선별
16.1 하드웨어 인스턴싱
16.2 경계입체와 절두체
16.3 절두체 선별
16.4 요약
16.5 연습문제
17장 3차원 물체의 선택
17.1 화면에서 투영 창으로의 변환
17.2 세계 공간과 국소 공간의 선택 반직선
17.3 반직선 대 메시 교차 판정
17.4 예제 응용 프로그램
17.5 요약
17.6 연습문제
18장 입방체 매핑
18.1 입방체 매핑
18.2 환경 매핑
18.3 하늘에 텍스처 입히기
18.4 물체의 주변 환경 반사
18.5 동적 입방체 맵
18.6 기하 셰이더를 이용한 동적 입방체 매핑
18.7 요약
18.8 연습문제
19장 법선 매핑
19.1 동기
19.2 법선 맵
19.3 텍스처 공간 또는 접공간
19.4 정점 접공간
19.5 접공간과 물체 공간 사이의 변환
19.6 법선 매핑 셰이더 코드
19.7 요약
19.8 연습문제
20장 그림자 매핑
20.1 장면 깊이의 렌더링
20.2 직교투영
20.3 투영 텍스처 좌표
20.4 그림자 매핑
20.5 큰 PCF 핵
20.6 요약
20.7 연습문제
21장 주변광 차폐
21.1 반직선 투사를 통한 주변광 차폐
21.2 화면 공간 주변광 차폐(SSAO)
21.3 요약
21.4 연습문제
22장 사원수
22.1 복소수 개괄
22.2 사원수 대수학
22.3 단위 사원수와 회전
22.4 사원수 보간
22.5 DirectXMath 라이브러리의 사원수 함수들
22.6 사원수 회전 예제
22.7 요약
22.8 연습문제
23장 캐릭터 애니메이션
23.1 뼈대 좌표계들의 계통구조
23.2 메시 스키닝
23.3 정점 혼합
23.4 파일에서 애니메이션 자료 적재
23.5 캐릭터 애니메이션 예제
23.6 요약
23.7 연습문제
부록 A Windows 프로그래밍 입문
A.1 개요
A.2 기본적인 Windows 응용 프로그램
A.3 기본 Windows 응용 프로그램 설명
A.4 더 나은 메시지 루프
A.5 요약
A.6 연습문제
부록 B HLSL 레퍼런스
B.1 변수 형식
B.2 키워드와 연산자
B.3 프로그램의 흐름
B.4 함수
부록 C 해석기하학 주제 몇 가지
C.1 반직선, 선, 선분
C.2 평행사변형
C.3 삼각형
C.4 평면
C.5 연습문제
부록 D 연습문제 해답 모음
부록 E 참고문헌 및 더 읽을 거리
추천사
-
“게임 회사 기술 시험이나 면접에는 어떤 문제가 나오나요?”
게임 프로그래머 지망생들에게 가장 많이 받는 질문입니다. 이 책의 독자 대부분도 게임 클라이언트 프로그래머 지망생일 겁니다. 이 질문에 제 경험을 바탕으로 답을 드리자면, 유니티나 언리얼 같은 상용 엔진의 기능에 대해서는 의외로 많이 묻지 않습니다. 대부분 회사는 그 대신 C++, 자료구조와 알고리즘, 게임 수학, 그래픽스 프로그래밍 기초에 대해서 주로 물어봅니다. 심지어 유니티로 개발하는 엔씨, 넥슨, 넷마블 같은 회사에서도 말이죠.
지금은 주로 상용 엔진으로 게임을 개발하는 시대라 DirectX 같은 저수준 API는 공부하지 않아도 된다고 생각하실지 모릅니다. 하지만 그 생각은 틀렸다고 감히 말씀 드립니다. 현업에서 신입 게임 개발자에게 요구하는 능력은 여전히 C++, DirectX, OpenGL 같은 기초 지식입니다. 제가 참여해 최근 출시한 시프트업의 <데스티니 차일드>도 C++와 DirectX/OpenGL로 자체 개발한 엔진을 사용했습니다. 넷마블의 <모두의 마블>과 <세븐 나이츠>도 오픈소스 엔진을 직접 수정하여 만들었습니다. 이렇듯 C++와 그래픽스 API는 여전히 중요합니다.
이 책은 DirectX 9 시절, 개발자 사이에서 ‘용책’이라 불리던 바이블 도서의 최신 개정판입니다. 단순히 DirectX 12 API만이 아닌, 벡터와 행렬 같은 필수 게임 수학, 가장 핵심인 3D 그래픽스 파이프라인, 파이프라인을 통한 3D 월드 구현 등 게임 프로그래머에게 꼭 필요한 내용을 두루 다룹니다. DirectX 12 책이라기보다는 게임 그래픽스 프로그래밍의 바이블이라 할 수 있습니다.
이 책이 다루는 내용이 유명 게임 회사의 기술 시험과 면접 문제의 핵심입니다. 그리고 드래그&드롭으로 쉽게 월드를 조작할 수 있는 상용 엔진의 원리를 제대로 배우고 싶다면 이 책이 현존 최고라고 감히 말씀 드립니다.
그럼 제가 게임 프로그래머 지망생들에게 자주 하는 말로 마무리할까 합니다.
“게임 프로그래머는 좋은 레이서에 머물러서는 안 된다. 차의 내부 구조와 작동 원리까지 아는 레이서 겸 엔지니어가 되어야 한다.” ((전) 시프트업 <데스티니 차일드> 엔진 프로그래머)
출판사 서평
★ 게임 개발 중심으로 익히는 대화식 컴퓨터 그래픽 프로그래밍
상용 엔진이 게임 업계를 호령하는 시기에 저수준 그래픽스 API 계에 오랜만에 혁신이 찾아왔다. 개발자가 GPU에 더 가까이 접근하고 통제하도록 하여 그래픽 드라이버의 부하를 줄이고 CPU를 제대로 활용하도록 근본적인 변화를 도입한 것이다. 그 결과 API 교체만으로 게임 성능이 수십 퍼센트 개선되기도 한다. 이러한 혁신을 담은 주인공이 바로 DirectX 12다.
물론 이 책은 DirectX 12의 신기능과 깊은 이해보다는 3D 그래픽 프로그래밍에 집중한다. 그 과정을 DirectX 12를 이용해 보여주는 것이다. 게임 개발만을 목표로 한다면 조금 지루한 학습 방식일 수도 있으나, 3D 그래픽이 꼭 게임에 국한된 것은 아니다. 각종 그래픽 도구 구현과 가속, 영화와 애니메이션의 특수 효과, 심지어 2D로 이뤄진 GUI 시스템에도 쓰인다. 또한 여러 오픈소스 혹은 상용 엔진의 소스 코드를 분석하거나 개발에 참여해보고 싶다면 이 책이 큰 도움이 될 것이다.
★ 주요 내용
ㆍ필수 수학과 조명, 텍스처, 혼합, 스텐실 같은 3차원 그래픽 렌더링의 기초
ㆍ널리 쓰이는 실시간 게임 효과에 대한 상세한 설명
ㆍ주변광 차폐, 실시간 반사, 법선 매핑과 변위 매핑, 그림자 렌더링, 기하 셰이더 프로그래밍, 캐릭터 애니메이션 같은 고급 렌더링 기법
ㆍCPU 부하를 줄이고 다중 코어를 제대로 활용하는 DirectX 12의 새 기능
ㆍ이해한 내용을 점검하고 DirectX 12 프로그래밍을 직접 체험할 수 있는 다양한 연습문제 수록
기본정보
ISBN | 9788968487798 | ||
---|---|---|---|
발행(출시)일자 | 2017년 05월 25일 | ||
쪽수 | 1048쪽 | ||
크기 |
184 * 236
* 45
mm
/ 1832 g
|
||
총권수 | 1권 | ||
원서(번역서)명/저자명 | Introduction to 3D Game Programming with DirectX 12/Frank D. Luna |
Klover 리뷰 (11)
구매 후 리뷰 작성 시, e교환권 200원 적립
사용자 총점
50%의 구매자가
쉬웠어요 라고 응답했어요
집중돼요
도움돼요
쉬웠어요
최고예요
추천해요
문장수집 (2)
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.
판매가 5,000원 미만 상품의 경우 리워드 지급 대상에서 제외됩니다. (2024년 9월 30일부터 적용)
구매 후 리뷰 작성 시, e교환권 100원 적립
-
반품/교환방법
* 오픈마켓, 해외배송 주문, 기프트 주문시 [1:1 상담>반품/교환/환불] 또는 고객센터 (1544-1900) -
반품/교환가능 기간
상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내 -
반품/교환비용
-
반품/교환 불가 사유
(단지 확인을 위한 포장 훼손은 제외)
2) 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
예) 화장품, 식품, 가전제품(악세서리 포함) 등
3) 복제가 가능한 상품 등의 포장을 훼손한 경우
예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
4) 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우 ((1)해외주문도서)
5) 디지털 컨텐츠인 ebook, 오디오북 등을 1회이상 ‘다운로드’를 받았거나 '바로보기'로 열람한 경우
6) 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
7) 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
8) 세트상품 일부만 반품 불가 (필요시 세트상품 반품 후 낱권 재구매)
9) 기타 반품 불가 품목 - 잡지, 테이프, 대학입시자료, 사진집, 방통대 교재, 교과서, 만화, 미디어전품목, 악보집, 정부간행물, 지도, 각종 수험서, 적성검사자료, 성경, 사전, 법령집, 지류, 필기구류, 시즌상품, 개봉한 상품 등 -
상품 품절
-
소비자 피해보상 환불 지연에 따른 배상
2) 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함
상품 설명에 반품/교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다.)
기분 좋은 발견
이 분야의 베스트
이 분야의 신간
-
움직이는 그림 만들기 with Unity10% 19,800 원
-
현업 기획자 마이즈가 알려주는 게임 시나리오 스쿨10% 23,400 원
-
유니티 게임 제작 입문10% 23,400 원
-
언리얼 엔진5으로 개발하는 멀티플레이어 게임10% 36,000 원
-
레트로의 유니티 6 게임 프로그래밍 에센스10% 59,400 원