Make your games unique in a world full of lookalikes by leveraging the power of shaders.
Illumination and Shadows is the second book in the series. It covers four illumination techniques, from static lights to fully dynamic lights. You'll learn about how to leverage blending modes to create the illusion of lights and shadows, how to create a simple and cheap way of adding some depth to your game with localized ambient light, then you'll learn how to add rim lights to assets with a full-screen effect and finally you'll learn how to create a normal map for a character to be used with any existing lighting model like Unity's own.
Table of Contents
-
Introduction to the series
- Motivation for the series
- I use Unity, why should I bother learning shader programming at all?
- Who are these books for?
- I need help! What can I do?
-
Series Overview
- 1. Foundations
- 2. Illumination & Shadows
- 3. Procedural Texture Manipulation
- 4. Full-Screen Effects
- Downloading the source code for the exercises
-
Introduction to 2D Illumination
- Why illumination?
-
Static Illumination
-
Using Additive blend to light things up
- Particles
- Refreshing how to implement Additive
-
Using Multiply blend to create shadows
- Refreshing how to implement Multiply
- Limits of static illumination
- Exercise 1
- Conclusion
-
Using Additive blend to light things up
-
Kinda Dynamic Local Ambient Lights
-
Creating our own 2D Light Sources
- Ambient
- Directional
- Point
- Creating the Lights prefabs
-
Object coloring
- A note on Culling
- Full code for the shader
-
Ambient Lights
-
Using the
TextureWithAmbientLight
shader in our character -
Controlling the gradient shape with
_Threshold
and_Smoothness
-
Using the
- Exercise 2: Directional Lights
-
Point Lights
-
Using the
TextureWithPointLight
shader in our character - Adding Point light logic
-
Using the
- Interpolating between lights
- Conclusion
-
Creating our own 2D Light Sources
-
Screen-Space Automatic Rim Lights
-
Rendering Alpha Only
- Scene Setup
-
Rendering to a
RenderTexture
- Rendering only the Alpha channel
-
Calculating Normals
- Blurring the image
- Generating the Normal map
- Exercise 3: Lighting
- Conclusion
-
Rendering Alpha Only
-
Dynamic Lights using Normal Mapping
- Asset Requirement
- Math derivation
- Generating the Normal Map in a Shader
- Exercise 2: Normal Map Generation
- Using Unity’s native lights
- Conclusion
-
Where to go now?
-
Continue with the other books in the series
- Procedural Texture Manipulation
- Full-Screen Effects
- The internet
- Books
-
Continue with the other books in the series
- Acknowledgements
- Credits
- Acknowledgements
-
Exercise 1 Solution
- Lights
- Shadows
- Conclusion
-
Exercise 2 Solution
-
Using the
TextureWithDirectionalLight
shader in our character - Adding an angle to the shader
- 2D Vector Rotation
-
Using the
-
Exercise 3 Solution
-
The
RimLights
Shader -
Final touches to
ScreenSpaceRimLights.cs
-
The
- Exercise 4 Solution
-
Appendix I: Vector Rotation
- Rotating with the origin as the pivot
- Rotating with an arbitrary pivot
- Rotation matrix in Cg
- Appending II: Normal Mapping
-
Appendix III: Coordinate Systems
- Transforming a vertex between spaces
- Appendix IV: Lambertian Diffuse Shading
- Appendix V: Convolution
Want to know when the books are out? Sign up to get notified!
We value your privacy and would never spam you. You will receive updates about new releases and offers and can unsubscribe at any time.