Physically Based Shader Development for Unity 2017 -  Claudia Doppioslash

Physically Based Shader Development for Unity 2017 (eBook)

Develop Custom Lighting Systems
eBook Download: PDF
2017 | 1st ed.
XXIII, 232 Seiten
Apress (Verlag)
978-1-4842-3309-2 (ISBN)
Systemvoraussetzungen
79,99 inkl. MwSt
  • Download sofort lieferbar
  • Zahlungsarten anzeigen
Benefit from the latest rendering tech developments, currently covered only in papers and talks from Siggraph, in a way any developer or technical artist using Unity can take advantage of. This book starts by introducing how shader programming works in general, the common principles of different platforms (OpenGL, Vulkan, and DirectX), and the shading languages Unity uses: Cg, GLSL, and ShaderLab.

Physically Based Shader Development for Unity 2017 discusses artistic choices, presenting various techniques (such as translucency and subsurface scattering) and BRDFs (Oren-Nayar, Cook-Torrance, and Ashikhmin-Shirley), and what they can be used for. Finally you'll cover the importance of optimizing your code by developing approximations, which achieve similar end results, but are computationally cheaper.

By the end of your journey you'll be able to develop the look of your game or Unity-rendered animated short so that it looks both unique and impressively realistic, thanks to your own custom lighting system.

What You Will Learn   
  • Master shader programming 
  • Gain all you need to know about physically based shading
  • Take almost full control of the shader subsystem
  • Discover what you can achieve with that control
  • Implement a custom physically based lighting system and examine the logic behind every choice
Who This Book Is For  
Most game developers (both indie and AA) that use Unity and technical artists who are responsible for the final look of a game.


A Game Developer, Functional Programmer, and Speaker at various programming conferences, Claudia Doppioslash writes about Graphics Programming in Unity and in Rust and about Functional Programming. She's been programming for many years now: starting from mobile development for iOS and Android, she went on to Game Development, spending most of her time developing custom shader lighting systems for Unity. Now she's applying Functional Programming to the front-end, with Elm, Purescript and Haskell. She is a moderately Smug Lisp Weenie, and she hasn't given up making Functional Programming useful for Game Development yet.
Benefit from the latest rendering tech developments, currently covered only in papers and talks from Siggraph, in a way any developer or technical artist using Unity can take advantage of. This book starts by introducing how shader programming works in general, the common principles of different platforms (OpenGL, Vulkan, and DirectX), and the shading languages Unity uses: Cg, GLSL, and ShaderLab.Physically Based Shader Development for Unity 2017 discusses artistic choices, presenting various techniques (such as translucency and subsurface scattering) and BRDFs (Oren-Nayar, Cook-Torrance, and Ashikhmin-Shirley), and what they can be used for. Finally you'll cover the importance of optimizing your code by developing approximations, which achieve similar end results, but are computationally cheaper.By the end of your journey you'll be able to develop the look of your game or Unity-rendered animated short so that it looks both unique and impressively realistic, thanks to your own custom lighting system.What You Will Learn   Master shader programming Gain all you need to know about physically based shadingTake almost full control of the shader subsystemDiscover what you can achieve with that controlImplement a custom physically based lighting system and examine the logic behind every choiceWho This Book Is For  Most game developers (both indie and AA) that use Unity and technical artists who are responsible for the final look of a game.

A Game Developer, Functional Programmer, and Speaker at various programming conferences, Claudia Doppioslash writes about Graphics Programming in Unity and in Rust and about Functional Programming. She’s been programming for many years now: starting from mobile development for iOS and Android, she went on to Game Development, spending most of her time developing custom shader lighting systems for Unity. Now she’s applying Functional Programming to the front-end, with Elm, Purescript and Haskell. She is a moderately Smug Lisp Weenie, and she hasn’t given up making Functional Programming useful for Game Development yet.

Chapter 1:  How Shader Development Works Chapter Description: It will give an overview on the common basics of Shader Development, knowledge that they’ll be able to reuse for any platform (OpenGL, DirectX, Vulkan). Shading is a dataflow process in one direction: vertices, textures and shaders enter, and colors in a framebuffer exit, at the other end. Chapter 2:  Your first Unity Shader We’ll create a basic project in Unity, with a simple Shader, so the reader can put in practice what she just learned, and get started with the ShaderLab system. Chapter 3: Your first Lighting Unity shader We extend the shader from the last chapter, adding Diffuse and Specular lighting, but not using Physically Based principles yet, so the reader can learn on shorter, simpler shaders first, and also understand how shading has evolved in time. Chapter 4: What is Physically Based Shading? We cover the basics of Physically Based Shading, using pictures and graphs, as well. We mention, and give some intuition for, the necessary math formulas which we’ll explain further in a following chapter, where we implement the principles. Chapter 5: Your first Physically Based Shader We implement a custom physically based shader, modifying the example from chapter 2. We explain what properties it needs to have to be properly PBS, and how we can lose them, if we’re not careful. Chapter 6: Your first Image Effect We implement Depth of Field as an Image Effect, which helps improve our scene’s realism, and introduces principles that can be reused for any Image Effect. Chapter 7: HDR, Tone Mapping and Color Grading Using HDR is a necessary prerequisite of PBS, but an HDR buffer needs a tone mapping effect to be rendered to our screens correctly. A tone mapping Image Effect can be used to artistic ends as well, to imitate the look of film stock. Color Grading can also be implemented as an image effect. In this chapter we’ll consolidate all our image effects in as few shader passes as possible, and we’ll explain how that helps rendering performance. Chapter 8: The Ethology of BRDFs “Bidirectional Reflectance Distribution Functions” are models of how light behaves on a surface. There are many such models, and each is particularly effective at reproducing different types of surfaces. We’ll give an overview of the most used ones. Chapter 9: The Implementation of BRDFs We’re going to implement a few different BRDFs that we presented in the last chapter, and show how they behave differently, and are appropriate for different types of surfaces. We’re still going to keep the shader basic, not hooking into the Unity subsystems, except for shadows and directional lights. (This subject may require more than one chapter) Chapter 10: Approximate your BRDFs Even the most beautiful shader is useless, if it doesn’t run fast enough. We’ll introduce the art of using approximations to make your shaders faster, without sacrificing too much quality. Chapter 11: How the Standard Shader works We’re going to discuss the BRDF choices made in the Unity Standard Shader, and how they obtain performance, and ease-of-use for the artist. Chapter 12: The Unity Standard Shader Subsystems, and What They Can Do for You Overview of the features you can add to your shader system, if you make the effort of interfacing with the Unity shader code: Global Illumination, Shadows, Image Effects, Reflection Probes. Chapter 13: Hooking into the Unity Shader Subsystems The Unity Shader Subsystems code is mostly undocumented, and changes every few version. But still you need to interface to it to achieve best result in shorter time. In this chapter we’ll cover how to attack this problem, so you can update your code even if the hooks change. (This subject may require more than one chapter) Chapter 14: Reflections and Cube Maps Reflections and indirect light are the trickiest part of implementing a BRDF. In this chapter we’ll introduce the problems, and show some solutions. We’ll also give a list of tools that can be used or modified to bake properly filtered cubemaps for the BRDF  of your choice. Chapter 15: Making Shaders Artists Will Use We’re going to discuss the need to balance control, with how complex the settings can get. Too much complexity and unexplained controls make a shader unintuitive for the artists, and they’ll end up not using it, or cargo-culting it, squandering your efforts. Chapter 16: Code Complexity and Ubershaders Shader lighting systems can get very complex, as reading the Unity Standard Shader can attest. We’ll introduce ways of coping with the complexity which commonly used in the industry, and what they entail in terms of compile times, and iteration speed in Unity. Chapter 17: When Shading Goes Wrong, Check The Models Often a sloppy model can squander all of your efforts. This is a list of possible causes to check, if your shader is mysteriously failing on one or more of your models. Chapter 18: Resources to Keep Up with the Bleeding Edge, and How to Read Them The Game Industry never stops. Every year developers flock to GDC and Siggraph to catch up on the bleeding edge of the tech. We’ll cover where to find and how to read up-to-date, dense technical material.

Erscheint lt. Verlag 6.12.2017
Zusatzinfo XXIII, 232 p. 113 illus., 75 illus. in color.
Verlagsort Berkeley
Sprache englisch
Themenwelt Mathematik / Informatik Informatik Grafik / Design
Mathematik / Informatik Informatik Programmiersprachen / -werkzeuge
Informatik Software Entwicklung Spieleprogrammierung
Schlagworte Ashikhmin-Shirley • BRDFs • Cook-Torrance • DirectX • Game of Thrones • GLSL • OpenGL • Oren-Nayar • PBS • physical based shader • ShaderLab • Vulkan
ISBN-10 1-4842-3309-3 / 1484233093
ISBN-13 978-1-4842-3309-2 / 9781484233092
Haben Sie eine Frage zum Produkt?
PDFPDF (Wasserzeichen)
Größe: 8,2 MB

DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasser­zeichen und ist damit für Sie persona­lisiert. Bei einer missbräuch­lichen Weiter­gabe des eBooks an Dritte ist eine Rück­ver­folgung an die Quelle möglich.

Dateiformat: PDF (Portable Document Format)
Mit einem festen Seiten­layout eignet sich die PDF besonders für Fach­bücher mit Spalten, Tabellen und Abbild­ungen. Eine PDF kann auf fast allen Geräten ange­zeigt werden, ist aber für kleine Displays (Smart­phone, eReader) nur einge­schränkt geeignet.

Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür einen PDF-Viewer - z.B. den Adobe Reader oder Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür einen PDF-Viewer - z.B. die kostenlose Adobe Digital Editions-App.

Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.

Mehr entdecken
aus dem Bereich