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

처음 만나는 Vulkan

차세대 그래픽스 API 표준 Vulkan으로 고성능, 고효율 3D 그래픽스 만들기

한빛미디어

집필서

절판

  • 저자 : 파르민더 싱
  • 번역 : 이환용
  • 출간 : 2017-11-01
  • 페이지 : 430 쪽
  • ISBN : 9791162240151
  • eISBN : 9791162249925
  • 물류코드 :10015
  • 초급 초중급 중급 중고급 고급
1 2 3 4 5
4.3점 (3명)
좋아요 : 35

책소개

차세대 그래픽스 API 표준 Vulkan을 기초부터 학습하기 위한 모든 것

 

OpenGL API의 차세대 표준이라고 보기도 하지만, Vulkan은 새로운 API에 대한 시장의 요구에 맞추어 완전히 새로운 접근 방식으로 기초부터 다시 설계한 차세대 그래픽스 및 컴퓨팅 API 표준이다. Vulkan은 GPU 하드웨어 설정을 제어해 병렬 컴퓨팅 능력을 최대한 활용하게 한다. Vulkan의 드라이버 계층은 작게 구성돼 있는데, 이는 응용 프로그램 개발자가 응용 프로그램과 사용하는 자원, 메모리 관리, 동기화 등 더 많은 것을 책임져야 한다는 것을 뜻한다. 따라서 Vulkan API로 프로그래밍을 하려면 일정 수준 이상의 그래픽스와 프로그래밍 관련 지식이 필요하다.

 

이 책에는 Vulkan의 기초를 학습하기 위한 모든 것이 담겨 있다. 이 책은 독자로 하여금 Vulkan의 이론과 개념, API 표준을 배우고, 실습 예제를 통해 Vulkan이 작동하는 것을 볼 수 있게 한다. 이 책에서는 되도록 일반적이고 직접적인 개념이나 용어를 사용하려고 노력했다. 특히 예제는 독자가 Vulkan을 차근차근 배울 수 있게 장 순서대로 따라 하도록 구성되어 있으며, 각 장은 이전 장의 내용에 새로운 내용을 추가하고 차이점을 소개한다. 

 

이 책을 통해 Vulkan을 완벽히 마스터하기는 어렵지만, Vulkan이 기본 개념과 API 표준을 배우고 예제를 통해 기본 동작과 기능을 살펴볼 수 있다. 게임의 성능 향상과 최적화 또는 게임 엔진 개발에 관심이 있는 개발자라면 Vulkan을 이용해 만족도 높은 결과를 얻길 바란다.

 

 

이 책에서 다루는 내용

1장 Vulkan의 기본이 되는 내용을 설명하고, 현재 가장 널리 쓰이는 OpenGL API와 비교해 Vulkan의 차별화된 기능들을 설명한다. 

2장 슈도 코드 프로그램을 통해 간단한 ‘Hello World’ 프로그램을 작성해 본다. 이를 통해 Vulkan 프로그램을 맛보고, Vulkan 응용 프로그램을 빌드하는 단계별 과정을 배우게 된다. 

3장 첫 번째 Vulkan 예제 프로그램을 만들어 보면서 프로그래밍 환경 설정 방법을 배운다. 

4장 Vulkan 응용 프로그램에서 디버깅하는 방법을 설명한다. 

5장 커맨드 버퍼를 상세히 설명하고 커맨드 버퍼를 구현해 본다. 

6장 리소스 할당과 스와프 체인 구축 이미지 리소스에 대해 살펴보고, 이미지 생성과 할당, 바인딩, 매핑 같은 메모리 관리 개념에 관해 설명한다. 

7장 버퍼 리소스와 그리려는 물체의 기하 정보를 포함하는 버텍스 버퍼를 구현하는 방법을 배운다. 

8장 Vulkan의 컴퓨팅 및 그래픽스 파이프라인을 소개한다. 이 장에서는 그래픽스 파이프라인 흐름에 대한 개략적인 설명과 함께 파이프라인의 시작부터 끝까지 다양한 모듈의 역할을 설명한다. 

9장 Vulkan에서 개체를 그리는 과정을 상세히 설명한다. 

10장 디스크립터와 푸시 상수를 사용해 Vulkan 응용 프로그램에서 셰이더 리소스의 값을 변경하는 방법에 관해 설명한다. 

11장 텍스처를 추가해 3D 물체에 사실감을 부여하는 렌더링 방법을 배운다. 

 

 

이 책을 배우는 데 필요한 사전 지식

이 책에서 설명한 하드웨어와 소프트웨어가 필요하며, C/C++ 프로그래밍에 대한 지식과 일정 수준의 코딩 경험이 있어야 한다.

 

 

이 책의 대상 독자

이 책은 크로스 플랫폼, 고성능 그래픽과 컴퓨팅 응용 프로그램을 만들어 사용하는 데 관심 있는 독자를 대상으로 하고 있다. 그래픽스와 컴퓨팅 분야의 지식과 경험이 있다면 관련된 Vulkan 개념을 이해하는 데 도움이 될 것이다.

저자소개

파르민더 싱 저자

파르민더 싱

싱가포르에 위치한 블랙매직디자인Blackmagic Design에서 컴퓨터 그래픽스 엔지니어로 일하고 있다. 그래픽스 응용 개발 관련된 업무를 해왔고, 특히 네트워크 시뮬레이션, 기하 모델링, 네비게이션, 자동차, 인포테인먼트 시스템, 영상처리, 포스트 프로덕션 관련 분야에서 10년 이상 일해왔다. 그의 관심 연구 분야로는 GPU 프로그래밍, 그래픽스 및 컴퓨팅 응용 프로그램의 확장성을 위한 포팅과 성능 최적화 기술 등이 있다.

그는 Vulkan과 Metal, OpenGL ES 트레이너로 활동하고 있으며, 『OpenGL ES 3.0 Cookbook』(Packt, 2015)을 저술한 바 있다. 여행과 가벼운 요리가 취미이고, 딸아이와 좋은 시간을 보내려고 노력하고 있다.

저자와 연락하고 싶다면 https://www.linkedin.com/in/parmindersingh18 또는 http://openglescookbook.com을 통해 만날 수 있다.

 

이환용 역자

이환용

KAIST에서 전산학과를 졸업하고 POSTECH 전산학과에서 석·박사 과정을 이수하였으며 경북대학교에서 박사 학위를 받았다. 20년 넘게 컴퓨터 그래픽스 관련 연구와 개발을 수행해 왔으며, 그래픽스 관련 표준화 활동에 많은 노력을 기울여 왔다. (주)휴원에서 기술 이사로서 최초의 OpenVG 상용 소프트웨어 제품인 AlexVG의 개발을 주도하였으며, 최근에는 OpenVG 1.1 Lite 버전의 표준 스펙 에디터로 활동하고 있다. 현재 아주대학교 소프트웨어학과 산학협력중점교수로 재직 중이다. 표준화 기구인 ISO/IEC JTC1 SC24, Khronos Group과 한국정보과학회 CG&I 소사이어티, 한국컴퓨터그래픽스학회, 한국HCI학회에서 활동하고 있다. 

목차

CHAPTER 1 차세대 3D 그래픽스 API 시작하기

1.1 Vulkan과 그 진화 과정 

1.2 Vulkan vs OpenGL 

1.3 알아두어야 할 주요 용어 

1.4 Vulkan의 기초 

1.5 Vulkan 응용 프로그램의 이해 

1.6 Vulkan 프로그래밍 모델 시작하기 

1.7 요약 

CHAPTER 2 처음 만드는 Vulkan 슈도 프로그램

2.1 Vulkan 설치 

2.2 Hello World 슈도 코드 

2.3 하나로 맞추기 

2.4 요약 

CHAPTER 3 장치와 인사하기

3.1 LunarG SDK 시작하기 

3.2 CMake로 첫 번째 프로젝트 설정하기 

3.3 확장판 소개 3.3.1 레이어와 확장판에 대한 쿼리

3.4 인스턴스 생성 

3.5 물리적 장치와 논리적 장치 이해하기 

3.6 큐와 큐 패밀리 이해하기 

3.7 장치와 큐를 함께 구현하기 

3.8 요약 

CHAPTER 4 디버깅

4.1 디버깅 맛보기 

4.2 LunarG 유효성 검증 레이어와 해당 기능 이해하기 

4.3 디버깅 구현 

4.4 요약 

CHAPTER 5 커맨드 버퍼와 메모리 관리

5.1 커맨드 버퍼 시작하기 

5.2 커맨드 풀과 버퍼 API 

5.3 커맨드 버퍼의 레코딩 

5.4 커맨드 버퍼를 위한 래퍼 클래스 구현 

5.5 메모리 관리 

5.6 요약 

CHAPTER 6 WSI를 이용한 이미지 리소스 할당과 스와프 체인 구축

6.1 이미지 리소스 시작하기 

6.2 이미지 리소스 이해하기 

6.3 메모리 할당과 이미지 리소스 바인딩 

6.4 스와프 체인 소개 

6.5 깊이 이미지 생성 

6.6 응용 프로그램의 흐름 요약 

6.7 요약 

CHAPTER 7버퍼 리소스, 렌더 패스, 프레임 버퍼와 SPIR-V 셰이더

7.1 버퍼 리소스의 유형 이해하기 

7.2 버퍼 리소스로 기하 데이터 생성하기 

7.3 렌더 패스 이해하기 

7.4 렌더 패스 사용과 프레임 버퍼 생성하기 

7.5 배경색 지우기 

7.6 Vulkan에서의 셰이더 작업 

7.7 요약 

CHAPTER 8 파이프라인과 파이프라인 스테이트 관리

8.1 파이프라인 시작하기 

8.2 PCO로 파이프라인 개체 캐싱 

8.3 그래픽스 파이프라인 생성 

8.4 컴퓨팅 파이프라인 이해 

8.5 Vulkan의 파이프라인 스테이트 개체 

8.6 파이프라인 구현 

8.7 요약 

CHAPTER 9 개체 그리기

9.1 Vulkan의 그리기 과정 개요 

9.2 드로잉 개체 준비하기 

9.3 드로잉 개체의 렌더링 

9.4 인덱싱된 기하의 렌더링 

9.5 Vulkan의 동기화 프리미티브 이해하기 

9.6 디스플레이 윈도의 크기 조정 

9.7 요약 

CHAPTER 10 디스크립터와 푸시 상수

10.1 디스크립터의 개념 이해하기 

10.2 Vulkan에서 유니폼을 구현하는 방법 

10.3 푸시 상수 업데이트 

10.4 요약 

CHAPTER 11 텍스처 그리기

11.1 이미지 리소스의 개요 

11.2 텍스처 드로잉을 위한 사전 작업 

11.3 선형 타일링으로 이미지 리소스 구현하기 

11.4 최적 타일링으로 이미지 리소스 구현하기 

11.5 이미지와 버퍼 간 데이터 내용 복사 

11.6 디스크립터 세트의 업데이트 

11.7 요약 

독자리뷰

오탈자 보기

부록/예제소스

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원 무료배송
닫기

리뷰쓰기

닫기
* 상품명 :
처음 만나는 Vulkan
* 제목 :
* 별점평가
1 2 3 4 5
* 내용 :

* 리뷰 작성시 유의사항

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

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

오탈자 등록

닫기
* 도서명 :
처음 만나는 Vulkan
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
처음 만나는 Vulkan
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

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