Book Image

Unity 5.x Shaders and Effects Cookbook

By : Alan Zucconi
Book Image

Unity 5.x Shaders and Effects Cookbook

By: Alan Zucconi

Overview of this book

Since their introduction to Unity, Shaders have been notoriously difficult to understand and implement in games: complex mathematics have always stood in the way of creating your own Shaders and attaining that level of realism you crave. With Shaders, you can transform your game into a highly polished, refined product with Unity’s post-processing effects. Unity Shaders and Effects Cookbook is the first of its kind to bring you the secrets of creating Shaders for Unity3D—guiding you through the process of understanding vectors, how lighting is constructed with them, and also how textures are used to create complex effects without the heavy math. We’ll start with essential lighting and finishing up by creating stunning screen Effects just like those in high quality 3D and mobile games. You’ll discover techniques including normal mapping, image-based lighting, and how to animate your models inside a Shader. We’ll explore the secrets behind some of the most powerful techniques, such as physically based rendering! With Unity Shaders and Effects Cookbook, what seems like a dark art today will be second nature by tomorrow.
Table of Contents (16 chapters)
Unity 5.x Shaders and Effects Cookbook
Credits
About the Authors
www.PacktPub.com
Preface
Index

Making your shader world modular with CgInclude


Knowing about the built-in CgInclude files is great, but what if we wanted to build our own CgInclude files to store our own lighting models and helper functions? We can, in fact, create our own CgInclude files, but we need to learn a little more code syntax before we can start using them efficiently in our shader writing pipelines. Let's take a look at the process of creating a new CgInclude file from scratch.

Getting ready

Let's walk through the process of generating a new item for this recipe.

  1. Begin by creating a new text file and call it something like MyCgInclude.txt.

  2. Then change its file extension to .cginc. Windows will give you a warning message saying that the file may become unusable, but it will still work.

  3. Import this new .cginc file to your Unity project and let it compile. If all goes well, you will see that Unity knew to compile it to a CgInclude file.

We are now ready to begin creating our own custom CgInclude code. Simply double...