간편결제, 신용카드 청구할인
인터파크 롯데카드 5% (30,780원)
(최대할인 10만원 / 전월실적 40만원)
북피니언 롯데카드 30% (22,680원)
(최대할인 3만원 / 3만원 이상 결제)
NH쇼핑&인터파크카드 20% (25,920원)
(최대할인 4만원 / 2만원 이상 결제)
Close

셰이더 코딩 입문 : 셰이더 코딩의 기초에서 유니티와 언리얼 셰이더까지

원제 : Practical Shader Development
소득공제

2013년 9월 9일 이후 누적수치입니다.

판매지수 48
?
판매지수란?
사이트의 판매량에 기반하여 판매량 추이를 반영한 인터파크 도서에서의 독립적인 판매 지수입니다. 현재 가장 잘 팔리는 상품에 가중치를 두었기 때문에 실제 누적 판매량과는 다소 차이가 있을 수 있습니다. 판매량 외에도 다양한 가중치로 구성되어 최근의 이슈도서 확인시 유용할 수 있습니다. 해당 지수는 매일 갱신됩니다.
Close
공유하기
정가

36,000원

  • 32,400 (10%할인)

    1,800P (5%적립)

할인혜택
적립혜택
  • I-Point 적립은 마이페이지에서 직접 구매확정하신 경우만 적립 됩니다.
추가혜택
주문수량
감소 증가

* 배송예정일이 오늘이나 내일인 경우 1) 당일/하루배송 보장! 2) 배송 지연 시 I-Point 2,000P또는 4,000원 도서상품권 지급 &n 더보기

책소개

셰이더 코딩의 기초부터 유니티와 언리얼 엔진의 커스텀 셰이더 제작까지 실습과 함께 설명한다. 먼저 오픈프레임웍스를 이용해 버텍스와 프래그먼트 셰이더부터 라이팅과 노말 매핑까지 게임 그래픽의 핵심 개념을 실제 코딩으로 구현한다. 그 다음 게임 최적화에 관련된 문제를 개념과 원리를 바탕으로 깊이 있게 설명한다. 마지막으로 앞에서 배운 내용을 바탕으로 유니티, 언리얼, 고도 엔진에서 커스텀 셰이더를 제작한다. 게임 그래픽과 셰이더에 관심이 있으며 프로그래밍의 기초 지식을 갖춘 게임 개발자나 아티스트에게 추천할 수 있는 책이다.

출판사 서평

★ 이 책에서 다루는 내용 ★

■ 셰이더의 개념과 작동 원리
■ 버텍스 셰이더와 프래그먼트 셰이더 작성
■ 블렌딩 공식의 원리와 활용
■ 실시간 컴퓨터 그래픽에서 좌표 공간의 개념
■ 애니메이션, 라이팅, 기타 시각 효과를 위한 수학
■ 셰이더의 성능 문제 파악과 해결
■ 유니티, 언리얼4, 고도 엔진에서의 셰이더 개발

★ 이 책의 대상 독자 ★

게임이나 다른 리얼타임 애플리케이션에 사용할 셰이더 코드를 공부하려는 사람을 위한 책이다. 간단한 C++ 코드를 작성할 수 있는 사전 지식을 갖췄다고 가정하고 작성했다. 진행에 필요한 모든 수학적 내용은 책에서 다룬다. 또한 3D 메쉬가 무엇인지부터 시작해 다양한 그래픽 테크닉을 자세히 분석한다. 설령 C++ 실력이 시원치 않아도 큰 문제가 되지 않는다. 이 책은 셰이더 개발을 주로 다루기 때문에 C++를 깊이 다룰 일은 없다. 그나마 작성하게 될 코드도 아주 단순한 수준이다.

★ 이 책의 구성 ★

이 책은 크게 세 부분으로 나뉜다. 1장에서 12장은 셰이더 테크닉을 가르치고 중요한 그래픽 개념을 소개한다. 이 분야를 처음 접한다면 1장부터 시작해 모든 내용을 순서대로 읽어 나가길 권장한다. 각 장은 이전 장에서 다뤘던 내용에 기반하고 있기 때문에 너무 급하게 건너뛰면 내용을 따라가지 못할 수 있다.
이미 어느 정도 셰이더 개발에 대한 지식을 갖추고 있다면 새로운 내용이 나올 때까지 건너뛰는 것도 나쁘지는 않다. 중간에 이해할 수 없는 개념이 나온다면 책 뒤에 있는 인덱스에서 그 개념이 소개된 부분을 찾을 수 있고, 그때 거기로 돌아가 내용을 파악하면 된다.
13에서 15장은 셰이더 코드의 디버깅과 최적화를 설명한다. 지금 개발 중인 프로젝트가 초당 10 프레임으로 실행되고 문제를 고쳐야 하는 상황이라면, 앞 부분을 읽기 전에 바로 여기로 와서 당면한 문제의 해법을 찾아볼 수도 있다.
16에서 18장은 가장 인기 있는 세 개의 게임 엔진인 유니티, 언리얼, 고도(Godot)에서 이 책에서 배운 개념을 실제로 활용하는 방법을 설명한다. 책에서 배운 주요 개념을 프로젝트에 적용할 준비를 마칠 때까지 이 부분은 남겨두길 권장한다.
마지막으로 부록에는 이 책의 프로젝트에 필요한 주요 코드가 수록돼 있다. 이 코드들은 셰이더 코드가 아니기 때문에 자세히 설명하지 않는다.

★ 옮긴이의 말 ★

애니메이션, 영화, 건축, 제품 같은 컴퓨터 그래픽 분야는 일찍부터 셰이더의 중요성을 인식했다. 셰이더는 이미지나 영상의 품질을 좌우하는 핵심 요소였고, 스튜디오의 기술력을 보여주는 척도였다. 반면 게임에서 셰이더는 오랫동안 관심 밖의 초라한 존재였다. 기능 자체도 형편 없었지만, 그나마도 최적화 단계에서 일순위로 버림받기 일쑤였다.
그러던 셰이더의 지위에 변화가 생겼다. PBR이 폴리곤이나 텍스처만큼이나 흔한 말이 됐다. 모바일 게임에 헤어 셰이더와 피부 셰이더가 사용되고, UI 아티스트가 연출을 위해 직접 셰이더를 만드는 모습도 어렵지 않게 볼 수 있다. 굴욕의 시간을 버틴 주인공이 결국은 사문의 복수를 하고 무림의 일인자가 되듯, 셰이더는 어느새 게임의 때깔을 좌우하는 위치로 인정받기 시작했다.
더 강력한 하드웨어, 주요 엔진이 제공하는 직관적인 셰이더 개발 도구, 사용자의 높아진 기대치에 부합하기 위한 그래픽 경쟁. 이런 요인들이 맞물려 셰이더가 부각되는 추세는 더욱 강화될 것이다. 특히 앞으로 다가올 게임 스트리밍 서비스는 오프라인 렌더링과 리얼타임 렌더링 간의 마지막 남은 경계마저 허물어버리는 계기가 될지도 모른다. 게임에서 셰이더의 역할이 어느 때보다 높게 평가 받는 시기다. 이제 게임 개발자, 특히 게임 아트 쪽 개발자에게 셰이더는 반드시 이해해야 하는 대상인 동시에 개인의 역량을 드러낼 수 있는 기회의 영역이라고 할 수 있다.
이 책은 셰이더의 개념과 원리를 코딩을 통해 직접 경험할 수 있는 기회를 제공한다. 코드에서 버텍스와 메쉬를 생성하는 것에서 출발한다. 라이팅, 노말 매핑, 큐브 맵과 같은 현대 게임 그래픽의 근간이 되는 주요 개념을 자세히 설명하고, 직접 코딩을 통해 구현한다. 마지막으로 유니티와 언리얼에서 이 책에서 설명한 내용과의 접점을 확인한다. 당장 쓸 수 있는 화려한 최신 기법을 소개하기보다는 실제 코딩을 통해 리얼타임 컴퓨터 그래픽과 셰이더의 기본 개념을 설명한다.
독자에 따라서는 일부 그래픽과 수학 개념이 다소 어렵게 느껴질 수 있다. 최대한 친절하게 전달하려 했지만 개념 자체가 생소한 독자에게는 여전히 어렵게 느껴질 것이다. 그러나 설령 한 두 부분을 이해하지 못하고 넘어간다 해도 크게 문제가 되지는 않는다. 이 책을 읽은 것 만으로도 셰이더 사용과 게임 엔진의 셰이더 개발 도구를 활용하는 데 큰 도움이 될 것이다.
이 책의 번역이 독자 제현(諸賢)의 학습과 실무에 도움이 될 수 있기를 진심으로 기원한다.

2019년 11월
한적한 겨울 바닷가에서
조형재 드림

목차

지은이 소개
기술 감수자 소개
감사의 글
옮긴이 소개
옮긴이의 말
들어가며

1장. 게임 그래픽

__렌더링
__메쉬
__벡터
__색상
__렌더링 파이프라인
__셰이더
__요약

2장. 셰이더 작성

__윈도우 개발환경 준비
__프로젝트 세팅
__메쉬 생성
__버텍스 셰이더
____버전 선언
____in 키워드
____vec 데이터 타입
____gl_Position
____정규화 장치 좌표
__프래그먼트 셰이더
____out 키워드
__셰이더 바인딩
__버텍스 속성
__프래그먼트 보간
__유니폼 변수
__요약

3장. 텍스처

__쿼드
__UV 좌표
__텍스처 사용
__UV 좌표 스크롤링
__밝기 조정
__색상 연산
__mix( )
__요약

4장. 투명도와 깊이

__새 프로젝트 준비
__메쉬와 셰이더 준비
__알파 테스팅과 discard
__깊이 테스팅
__알파 블렌딩
__min( )과 max( )
__알파 블렌딩의 원리
__가산 블렌딩
__스프라이트 시트 애니메이션
__요약

5장. 버텍스 셰이더와 이동, 회전, 크기

__버텍스 셰이더와 이동
__버텍스 셰이더와 크기
__버텍스 셰이더와 회전
__변환 행렬
__변환 행렬 애니메이션
__단위 행렬
__요약

6장. 카메라와 좌표

__뷰 행렬
__변환 행렬과 좌표 공간
__카메라 프러스텀과 투영
__요약

7장. 3D 프로젝트

__메쉬 불러오기
__카메라와 원근 투영
__요약

8장. 디퓨즈 라이팅

__부드러운 셰이딩과 평평한 셰이딩
__월드 노말과 뒤섞기
__노말 행렬
__라이팅 계산과 노말
__벡터의 내적
__내적을 이용한 셰이딩
__디렉셔널 라이트
__림 라이트 효과
__요약

9장. 라이팅 모델

__스펙큘러 라이팅
__스펙큘러 셰이더
__디퓨즈와 스펙큘러 라이팅 합치기
__앰비언트 라이팅
__퐁 라이팅 모델
__블린-퐁 라이팅 모델
__텍스처를 이용한 라이팅 제어
__요약

10장. 노말 매핑

__노말 맵
__탄젠트 공간
__탄젠트 벡터
__벡터의 외적
__노말 매핑
__물 셰이더
__노말 매핑의 현재
__요약

11장. 큐브맵과 스카이박스

__큐브맵
____큐브맵 불러오기
__큐브맵 렌더링하기
__스카이박스
__원근 분할
__스카이박스와 원근 분할
__스카이박스 그리기
__큐브맵 반사
__큐브맵의 현재
__요약

12장. 라이팅 심화

__디렉셔널 라이트
__포인트 라이트
__스포트 라이트
__정적 멀티라이트
__동적 멀티라이트
__라이팅의 현재
__요약

13장. 셰이더 프로파일링

__성능 측정
__CPU 시간과 GPU 시간
__수직동기
__드라이버와 소프트웨어
__프로파일링
__그래픽 디버거: 엔사이트 그래픽스
__CPU 제약과 GPU 제약
____간편 프로파일링
__셰이더 추적
__요약

14장. 셰이더 최적화

__버텍스 셰이더 활용
__동적 분기
__MAD 연산
__GLSL 함수
__쓰기 마스크
__오버드로우
__마지막 지침

15장. 정밀도

__부동 소수점 정밀도
__사례연구: 애니메이션
__모바일 플랫폼과 저정밀도 변수
__사례 연구: 포인트 라이트
__요약

16장. 유니티 셰이더

__셰이더와 재질
__셰이더랩
__단색 셰이더
__블린-퐁 셰이더 포팅하기
__반투명 셰이더
__멀티라이트 지원
__코드에서 데이터 전달
__셰이더그래프
__요약

17장. 언리얼 엔진 셰이더

__재질과 재질 인스턴스
__단색 셰이더
__UE4 노드 그래프
__림 라이트 재질
__Default Lit 재질의 입력
__버텍스 셰이더와 프래그먼트 셰이더
__다른 셰이딩 모델
__블렌드 모드
__코드에서 데이터 전달
__언리얼 셰이더 코드
__요약

18장. 고도 셰이더

__셰이더와 재질
__고도 셰이딩 언어
__프래그먼트 셰이더 출력 변수
__림 라이트 셰이더
__버텍스 애니메이션 셰이더
__UV 애니메이션
__반투명 셰이더와 블렌드 모드
__코드에서 데이터 전달
__비주얼 셰이더 편집기?
__요약
__메쉬 탄젠트 계산

부록

__메쉬 탄젠트 계산
__ofxEasyCubemap 클래스

찾아보기

관련이미지

저자소개

카일 할러데이 [저] 신작알림 SMS신청 작가DB보기
생년월일 -
출생지 -
출간도서 0종
판매수 0권

해당작가에 대한 소개가 없습니다.

생년월일 -
출생지 -
출간도서 0종
판매수 0권

해당작가에 대한 소개가 없습니다.

전공도서/대학교재 분야에서 많은 회원이 구매한 책

    리뷰

    0.0 (총 0건)

    구매 후 리뷰 작성 시, 북피니언 지수 최대 600점

    리뷰쓰기

    기대평

    작성시 유의사항

    평점
    0/200자
    등록하기

    기대평

    0.0

    판매자정보

    • 인터파크도서에 등록된 오픈마켓 상품은 그 내용과 책임이 모두 판매자에게 있으며, 인터파크도서는 해당 상품과 내용에 대해 책임지지 않습니다.

    판매자

    (주)교보문고

    상호

    (주)교보문고

    사업자 종류

    법인사업자

    사업자번호

    102-81-11670

    연락처

    1544-1900

    이메일

    callcenter@kyobobook.co.kr

    통신판매 신고 번호

    01-0653

    영업소재지

    서울특별시 종로구 종로 1(종로1가,교보빌딩)

    교환/환불

    반품/교환 방법

    ‘마이페이지 > 취소/반품/교환/환불’ 에서 신청 또는 1:1 문의 게시판 및 고객센터(1577-2555)에서 신청 가능

    반품/교환가능 기간

    변심 반품의 경우 출고완료 후 6일(영업일 기준) 이내까지만 가능
    단, 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내

    반품/교환 비용

    변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
    상품이나 서비스 자체의 하자로 인한 교환/반품은 반송료 판매자 부담

    반품/교환 불가 사유

    ·소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    (단지 확인을 위한 포장 훼손은 제외)

    ·소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    예) 화장품, 식품, 가전제품(악세서리 포함) 등

    ·복제가 가능한 상품 등의 포장을 훼손한 경우
    예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집

    ·시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우

    ·전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우

    상품 품절

    공급사(출판사) 재고 사정에 의해 품절/지연될 수 있음

    소비자 피해보상
    환불지연에 따른 배상

    ·상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됨

    ·대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함

    배송안내

    • 교보문고 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다.

    • 출고가능 시간이 서로 다른 상품을 함께 주문할 경우 출고가능 시간이 가장 긴 상품을 기준으로 배송됩니다.

    • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능합니다.

    • 배송비는 업체 배송비 정책에 따릅니다.

    • - 도서 구매 시, 1만 원 이상 무료, 1만원 미만 2천 원 - 상품별 배송비가 있는 경우, 상품별 배송비 정책 적용