책 이미지

책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 게임 프로그래밍
· ISBN : 9791186573167
· 쪽수 : 560쪽
· 출판일 : 2017-09-25
책 소개
목차
Part_01. 쉐이더란 무엇인가
- 쉐이더란 무엇인가
- 왜 쉐이더를 그래픽 아티스트가 배워야 하는가
Part_02. 쉐이더를 익히기 위한 기반 지식들
- 렌더링 파이프라인
- 모니터에 표현되는 색과 빛의 기본원리
Part_03. 코딩의 기본/ 유니티 쉐이더 구성
- 코딩의 기초
- 유니티 쉐이더의 작성 요령
Part_04. 기초적인 서피스 쉐이더를 제작해봅시다.
- 오브젝트에 메터리얼과 쉐이더를 적용해봅시다.
- 쉐이더 코드를 열어서 이름을 바꿔 봅시다.
- 쉐이더 Properties를 제작해봅시다.
- 색상을 출력하고 연산해 봅시다
- 변수 이용해보기
- 외부에서 값을 입력받아 출력해보기
- 좀 더 깔끔하게 지워봅시다!
Part_05. Surface Shader를 이용해 텍스처를 제어해봅시다.
- 텍스쳐 한 장 출력하는 것 외의 부분을 삭제해 봅시다.
- 텍스쳐의 입력과 출력
- 이미지를 흑백으로 만들어 봅시다.
- lerp 함수를 사용해봅시다.
Part_06. UV를 이용하는 법을 배워봅시다.
- UV의 기본개념
- UV를 시각적으로 확인해봅시다.
- UV에 숫자를 더해봅시다.
- _Time으로 UV가 흘러가도록 해봅시다.
- UV를 이용해서 불 이펙트를 만들어봅시다.
- 좀 더 멋진 방법으로 불을 만들어 봅시다
Part_07. 버텍스 컬러를 이용해봅시다.
- 버텍스 컬러를 적용해봅시다.
- 버텍스 컬러를 출력해봅시다.
- 버텍스 컬러를 마스킹 기능으로 사용해봅시다.
Part_08. SurfaceOutputStandard 사용하기
- 스탠다드 쉐이더
- 메탈릭(Metallic), 스무스니스(Smoothness)
- 노멀맵(Normal Map)
- 오클루젼(Occlusion)
- 7장의 배경에 기능을 추가해봅시다.
Part_09. 램버트(Lambert) / 블린 퐁(Blinn Phong)
- 유니티에 내장된 라이팅 구조
- 램버트(Lambert) 라이팅 만들기
- 블린 퐁(Blinn-Phong) 라이팅 만들기
Part_10. 디지털 라이팅 이론
- 디지털 라이트의 분류
- 디지털 라이트의 원리
- 벡터
- 벡터의 특성
- 노멀벡터
- 벡터의 연산
- 벡터 연산을 이용한 디지털 조명 연산
Part_11. 커스텀 라이트 1 _램버트 라이트
- 커스텀 라이트 기본형 만들기
- 램버트(Lambert) 라이트 연산만들기
- 하프램버트(Half Lambert) 라이트 연산만들기
- 램버트(Lambert) 라이트 완성해보기
Part_12. 림 라이트
- 프레넬(Fresnel) 공식을 구현해봅시다.
- 림 라이트를 완성해봅시다.
- 홀로그램을 만들어 봅시다.
Part_13. 커스텀 라이트 2 _블린퐁 스페큘러
- 블린-퐁 반사 이론
- 블린-퐁 스페큘러 만들어 보기
- 글로스 맵으로 스페큘러 강도 조절해보기
- 림 라이트를 커스텀 라이트로 옮겨 보기
- 림 라이트를 이용한 가짜 스페큘러 만들기
Part_14. 커스텀 라이트3 _NPR 렌더링
- NPR 렌더링이란
- 외곽선 만들기 이론
- 2Pass와 면 뒤집기
- 버텍스 쉐이더(Vertex Shader)를 이용한 오브젝트 확장하기
- 끊어지는 음영만들기
- Fresnel을 이용해서 외곽선을 만들어 봅시다.
- Diffuse Warped 기법
- Diffuse Warped 기법을 응용해봅시다.
Part_15. 큐브맵 리플렉션(Cubmap Reflection)
- 큐브맵을 적용해봅시다.
- 노멀맵이 적용된 큐브맵을 적용해봅시다.
- 마스크 맵을 이용해서 반사영역을 조절해봅시다.
Part_16. 알파(Alpha)
- Z-버퍼(Z Buffer)
- 반투명 : 알파 블렌드(Alpha Blend)
- 알파 블렌딩을 만들어봅시다.
- 알파 소팅(Alpha Sorting)의 문제
- 알파 테스팅(Alpha Testing) / 컷아웃(Cutout)
Part_17. 커스텀 제어 알파 블렌딩
- 커스텀 제어 가능한 알파 블렌딩
- 블렌드 펙터 연산
- 유니티 내장 파티클 쉐이더와 비슷하게 만들어 봅시다
Part_18. 응용하기
- 2Pass를 이용한 깨끗한 알파 블렌딩
- 타이밍에 맞게 반짝이는 기능
- 타들어가며 없어지는 기능
- 흔들리는 풀
- 맷캡(Matcap)
- 굴절 만들기
- 물 만들기
- 물에 흔들림을 추가해 봅시다.
- 물에 굴절을 추가해 봅시다.
- 트라이플레너(Triplanar)
Part_19. 부록 및 퍼포먼스 이슈
- 커스텀 라이팅과 구조체
- 추가 옵션 파라메터
- 서피스 쉐이더 인풋 구조
- #pragma target
- 데이터 타입
- 쉐이더 LOD(Shader Level of Detail)
- Tag 설정
- 프로퍼티스( Properties )의 추가 기능
- 그 외 일반적인 추가 옵션들
- 쉐이더 작성시 퍼포먼스 팁
- 기존 쉐이더를 가지고 공부하기