메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

DirectX 12를 이용한 3D 게임 프로그래밍 입문

게임 개발 중심으로 익히는 대화식 컴퓨터 그래픽 프로그래밍

한빛미디어

번역서

판매중

  • 저자 : 프랭크 D. 루나
  • 번역 : 류광
  • 출간 : 2017-05-25
  • 페이지 : 1048 쪽
  • ISBN : 9788968487798
  • 물류코드 :2779
초급 초중급 중급 중고급 고급
0점 (0명)
좋아요 : 0

3D 그래픽 프로그래밍의 기초부터 최신 기법까지 

 

이 책은 DirectX 12로 게임을 개발해가며 대화식 컴퓨터 그래픽 프로그래밍을 익히는 입문서다. 1부는 기본적인 수학적 도구들을, 2부는 Direct3D의 기본 과제들을 수행하는 방법을, 그리고 3부는 여러 응용 기법과 특수 효과를 설명한다. 그 과정에서 명령 목록, 파이프라인 상태 객체, 서술자 힙과 테이블, CPU 추가부담 감소 및 다중 CPU 코어를 효율적으로 사용하기 위한 명시적 자원 관리 같은 DirectX 12의 새 기능을 활용하는 방법을 보여준다. 하드웨어 테셀레이션, 계산 셰이더, 주변광 차폐, 실시간 반사, 법선 매핑과 변위 매핑, 그림자 렌더링, 캐릭터 애니메이션 같은 현대적인 특수 효과와 기법도 이 책으로 배울 수 있다.

 

 

게임 개발 중심으로 익히는 대화식 컴퓨터 그래픽 프로그래밍

상용 엔진이 게임 업계를 호령하는 시기에 저수준 그래픽스 API 계에 오랜만에 혁신이 찾아왔다. 개발자가 GPU에 더 가까이 접근하고 통제하도록 하여 그래픽 드라이버의 부하를 줄이고 CPU를 제대로 활용하도록 근본적인 변화를 도입한 것이다. 그 결과 API 교체만으로 게임 성능이 수십 퍼센트 개선되기도 한다. 이러한 혁신을 담은 주인공이 바로 DirectX 12다.

 

물론 이 책은 DirectX 12의 신기능과 깊은 이해보다는 3D 그래픽 프로그래밍에 집중한다. 그 과정을 DirectX 12를 이용해 보여주는 것이다. 게임 개발만을 목표로 한다면 조금 지루한 학습 방식일 수도 있으나, 3D 그래픽이 꼭 게임에 국한된 것은 아니다. 각종 그래픽 도구 구현과 가속, 영화와 애니메이션의 특수 효과, 심지어 2D로 이뤄진 GUI 시스템에도 쓰인다. 또한 여러 오픈소스 혹은 상용 엔진의 소스 코드를 분석하거나 개발에 참여해보고 싶다면 이 책이 큰 도움이 될 것이다.

 

 

주요 내용
  • 필수 수학과 조명, 텍스처, 혼합, 스텐실 같은 3차원 그래픽 렌더링의 기초
  • 널리 쓰이는 실시간 게임 효과에 대한 상세한 설명
  • 주변광 차폐, 실시간 반사, 법선 매핑과 변위 매핑, 그림자 렌더링, 기하 셰이더 프로그래밍, 캐릭터 애니메이션 같은 고급 렌더링 기법
  • CPU 부하를 줄이고 다중 코어를 제대로 활용하는 DirectX 12의 새 기능
  • 이해한 내용을 점검하고 DirectX 12 프로그래밍을 직접 체험할 수 있는 다양한 연습문제 수록
저자

프랭크 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 참고문헌 및 더 읽을 거리

  • 첫번째 리뷰어가 되어주세요.
부록/예제소스
자료명 등록일 다운로드
예제소스 2017-05-25 다운로드
결재하기
배송료 : 0원배송료란?

배송료 안내

  • 책, 아이템 등 상품을 3만원 이상 구매시 무료배송
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 도서명 :
DirectX 12를 이용한 3D 게임 프로그래밍 입문
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
DirectX 12를 이용한 3D 게임 프로그래밍 입문
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
DirectX 12를 이용한 3D 게임 프로그래밍 입문
구입처*
구입일*
부가기호*
부가기호 안내

* 회원가입후 도서인증을 하시면 마일리지 500점을 드립니다.

* 한빛 웹사이트에서 구입한 도서는 자동 인증됩니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한됩니다.

* 절판도서, eBook 등 일부 도서는 도서인증이 제한됩니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실