码迷,mamicode.com
首页 > 编程语言 > 详细

Physically Based Shader Development for Unity 2017 Develop Custom Lighting Systems

时间:2019-12-05 13:35:41      阅读:127      评论:0      收藏:0      [点我收藏+]

标签: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‘s 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‘s 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‘s 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‘s Who

  BRDF Explorer

  BRDF Parameterizations

  Reading BRDF Explorer‘s 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

标签:cond   exit   ping   star   zed   run   roc   specular   func   

原文地址:https://www.cnblogs.com/revoid/p/11988528.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!