Physically Based Shader Development for Unity 2017 Develop Custom Lighting Systems

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Physically Based Shader Development for Unity 2017 Develop Custom Lighting Systems相关的知识,希望对你有一定的参考价值。

鏍囩锛?a href='http://www.mamicode.com/so/1/cond' title='cond'>cond   exit   ping   star   zed   run   roc   specular   func   

Part I: Introduction to Shaders In Unity

Chapter 1: How Shader Development Works

Chapter 2: Your First Unity Shader

Chapter 3: The Graphics Pipeline

Chapter 4: Transforming Coordinate Spaces

Chapter 5: Your First Unity Lighting Shader

Chapter 6: Specular Implementation

Chapter 7: Surface Shaders

Part II: Physically Based Shading

Chapter 8: What Is Physically Based Shading?

Chapter 9: Making a Shader Physically Based

Chapter 10: Post-Processing Effects

Chapter 11: BRDFs Who鈥榮 Who

Chapter 12: Implementing a BRDF

Chapter 13: Hooking Into the Standard Shader

Chapter 14: Implementing Advanced Techniques

Part III: Shader Development Advice

Chapter 15: Making Shaders Artists Will Use

Chapter 16: Complexity and Ubershaders

Chapter 17: When Shading Goes Wrong

Chapter 18: Keeping Up with the Industry

 

Chapter 1: How Shader Development Works

銆€銆€What Is a Shader?

銆€銆€銆€銆€Shaders as Light Simulations

銆€銆€銆€銆€Rendering as Perspective Drawing

銆€銆€銆€銆€Rendering Process

銆€銆€銆€銆€Shaders as Code Running on GPUs

銆€銆€銆€銆€Shader Execution

銆€銆€銆€銆€Different Types of Shaders

銆€銆€銆€銆€Coordinate Systems

銆€銆€銆€銆€Types of Light

銆€銆€The Rendering Equation

銆€銆€銆€銆€The Behavior of Light

銆€銆€銆€銆€Renderer Type

銆€銆€銆€銆€Shader Visual Graphs

銆€銆€Summary

銆€銆€Next 

Chapter 2: Your First Unity Shader

銆€銆€Introduction to Unity

銆€銆€銆€銆€Set Up

銆€銆€銆€銆€Unity UI

銆€銆€銆€銆€Make Your First Scene

銆€銆€銆€銆€Shader Editing

銆€銆€Shader Editing

銆€銆€銆€銆€From White to Red

銆€銆€銆€銆€Adding Properties

銆€銆€Summary

銆€銆€Next 

Chapter 3: The Graphics Pipeline

銆€銆€Why Learn the Basics of Graphics APIs

銆€銆€A General Structure of the Graphics Pipeline

銆€銆€The Rasterizer

銆€銆€The Structure of an Unlit Shader

銆€銆€Vertex Data Structure

銆€銆€Vertex Function

銆€銆€Fragment Data Structure

銆€銆€Fragment Function

銆€銆€Adding Vertex Colors Support

銆€銆€銆€銆€Appdata Additions

銆€銆€銆€銆€v2f Additions

銆€銆€銆€銆€Assign the Color in the Vertex Function

銆€銆€銆€銆€Use the Color in the Fragment Function

銆€銆€銆€銆€Final Result

銆€銆€Summary

銆€銆€Next 

Chapter 4: Transforming Coordinate Spaces

銆€銆€Coordinate Spaces Who鈥榮 Who

銆€銆€銆€銆€Object Space

銆€銆€銆€銆€World Space

銆€銆€銆€銆€Transformation Between Spaces

銆€銆€銆€銆€Camera Space

銆€銆€銆€銆€Clip Space

銆€銆€銆€銆€Normalized Device Coordinates

銆€銆€銆€銆€Screen Space

銆€銆€Underneath Built-In Functions

銆€銆€Where to Find the Shader "Standard Library" Code

銆€銆€Summary

銆€銆€Next銆€銆€ 銆€銆€

Chapter 5: Your First Unity Lighting Shader

銆€銆€Lighting Shaders

銆€銆€銆€銆€What Is an Approximation

銆€銆€銆€銆€Diffuse Approximation

銆€銆€銆€銆€Specular Approximation

銆€銆€銆€銆€Diffuse and Specular Combined

銆€銆€Calculating Basic Lighting

銆€銆€銆€銆€Diffuse

銆€銆€Your First Lighting Unity Shader

銆€銆€銆€銆€Implementing a Diffuse Term

銆€銆€銆€銆€Adding a Texture Property

銆€銆€銆€銆€Adding an Ambient Value

銆€銆€Summary

銆€銆€Next 

Chapter 6: Specular Implementation

銆€銆€Calculating Basic Lighting (Part II)

銆€銆€銆€銆€Specular

銆€銆€銆€銆€Your First Lighting Unity Shader (Part II)

銆€銆€Supporting More Than One Light

銆€銆€Summary

銆€銆€Next 

Chapter 7: Surface Shaders

銆€銆€What Is a Surface Shader?

銆€銆€銆€銆€The Default Surface Shader

銆€銆€銆€銆€Pragmas

銆€銆€銆€銆€New Data Structure

銆€銆€銆€銆€The Surface Function

銆€銆€銆€銆€What鈥榮 a Lighting Model?

銆€銆€銆€銆€Data Flow of a Surface Shader

銆€銆€Editing a Surface Shader

銆€銆€銆€銆€Add a Second Albedo Map

銆€銆€銆€銆€Add a Normal Map

銆€銆€銆€銆€Making Sure Shadow Work

銆€銆€銆€銆€Use Different Built-In Lighting Models

銆€銆€Writing a Custom Lighting Model

銆€銆€銆€銆€Lighting Model Function Signatures

銆€銆€銆€銆€The SurfaceOutput Data Structure

銆€銆€銆€銆€The Surface Function

銆€銆€銆€銆€Properties Block

銆€銆€銆€銆€The Custom Lighting Function

銆€銆€Summary

銆€銆€Next 

Chapter 8: What Is Physically Based Shading?

銆€銆€Light Is an Electromagnetic Wave

銆€銆€Microfacet Theory Overview

銆€銆€Refraction and Other Beats

銆€銆€Fresnel Reflectance

銆€銆€How to Measure Light

銆€銆€銆€銆€Solid Angle

銆€銆€銆€銆€Power

銆€銆€銆€銆€Irradiance

銆€銆€銆€銆€Radiance

銆€銆€How to Represent a Material

銆€銆€銆€銆€Bidirectional Reflectance Distribution Function (BRDF)

銆€銆€銆€銆€Microfacet Theory

銆€銆€The Rendering Equation (Part II)

銆€銆€Hacks Real-Time Rendering Needs

銆€銆€HDR and Tone Mapping

銆€銆€Linear Color Space

銆€銆€Why Is Physically Based Shading Useful?

銆€銆€Summary

銆€銆€Next 

Chapter 9: Making a Shader Physically Based

銆€銆€Analyzing Phong

銆€銆€銆€銆€Checking for Positivity

銆€銆€銆€銆€Checking for Reciprocity

銆€銆€銆€銆€Checking for Energy Conservation

銆€銆€The Modified Phong

銆€銆€Summary

銆€銆€Next 

Chapter 10: Post-Processing Effects

銆€銆€How Post-Processing Effects Work

銆€銆€Why Post-Processing Effects Are Useful

銆€銆€Setting Up a Post Effect

銆€銆€銆€銆€HDR and Linear Setup

銆€銆€銆€銆€Script Setup

銆€銆€Conversion to Linear

銆€銆€RenderTextures Brief Overview

銆€銆€A Simple Tone Mapper

銆€銆€Post-Processing Stack v1

銆€銆€Post-Processing Stack v2

銆€銆€Summary

銆€銆€Next 

Chapter 11: BRDFs Who鈥榮 Who

銆€銆€BRDF Explorer

銆€銆€BRDF Parameterizations

銆€銆€Reading BRDF Explorer鈥榮 Output

銆€銆€銆€銆€Phong

銆€銆€銆€銆€MERL Database

銆€銆€銆€銆€Comparing BRDFs

銆€銆€銆€銆€An Incomplete List of BRDFs Used in Real-Time Rendering

銆€銆€Summary

銆€銆€Next 

Chapter 12: Implementing a BRDF

銆€銆€Which BRDF to Implement?

銆€銆€Finding References

銆€銆€銆€銆€CookTorrance

銆€銆€銆€銆€Disney

銆€銆€Starting from the Paper

銆€銆€銆€銆€CookTorrance (or Microfacet) BRDF

銆€銆€銆€銆€Disney BRDF

銆€銆€Implementation

銆€銆€銆€銆€Properties

銆€銆€銆€銆€Custom Light Function Implementation

銆€銆€銆€銆€Utility Functions

銆€銆€銆€銆€CookTorrance Implementation

銆€銆€銆€銆€Disney Diffuse

銆€銆€銆€銆€Another Implementation of the Disney Diffuse

銆€銆€銆€銆€Putting It All Together

銆€銆€Summary

銆€銆€Next 

Chapter 13: Hooking Into the Standard Shader

 

Chapter 14: Implementing Advanced Techniques

 

Chapter 15: Making Shaders Artists Will Use

 

Chapter 16: Complexity and Ubershaders

 

Chapter 17: When Shading Goes Wrong

 

Chapter 18: Keeping Up with the Industry

 

以上是关于Physically Based Shader Development for Unity 2017 Develop Custom Lighting Systems的主要内容,如果未能解决你的问题,请参考以下文章

《Real-Time Rendering》第四版学习笔记——Chapter 9 Physically Based Shading

《Real-Time Rendering》第四版学习笔记——Chapter 9 Physically Based Shading

《Real-Time Rendering》第四版学习笔记——Chapter 9 Physically Based Shading

《Real-Time Rendering》第四版学习笔记——Chapter 9 Physically Based Shading

《Real-Time Rendering》第四版学习笔记——Chapter 9 Physically Based Shading

《Real-Time Rendering》第四版学习笔记——Chapter 9 Physically Based Shading