Shader Development from Scratch for Unity with Cg

4.5 (2264)
Learning paid
10.5 hours course
Course by Udemy
What will you learn?
Use Unity Shaderlab to create their own shader effects with CG/HLSL.
Apply their knowledge of simple mathematics to change the visual surface of virtual objects.
Work with mesh vertices and textures to develop unique rendering effects.
Demonstrate a knowledge of the graphics pipeline and apply it to problem solving shading issues.
About the course

Now Updated for Unity 2017 to 2019

This course presents a comprehensive guide to programming with Cg and High Level Shader Language in Unity's Shaderlab, to create your own visual surface effects for colouring and lighting game objects. It covers the mathematics of light and surfaces and steps you through the recreation of some of the most popular shaders. Many computer graphics concepts will be presented to help you understand the graphics pipeline and provide you with an essential toolkit of rendering knowledge, that will have you developing your own transparent, animated and texturised shaders in no time.

In this course, Penny teaches all the invaluable skills you will require to program the computer graphics pipeline in Unity from scratch using her internationally acclaimed teaching style and knowledge from over 25 years working with games and graphics.  But hold on tight as you'll be taken on a journey across the computer graphics realm as it is taught to post-graduate university students. Through detailed descriptions and hands-on workshops examining all you need to know about rendering queues, vector mathematics, graphics buffers, colour theory, 3D meshes, texture mapping, lighting models and much more.

Learn how to program and work with:

  • variables and packed arrays
  • meshes, vertices and UVs
  • the mathematics for working with objects in 3D and 2D spaces
  • a variety of lighting models from creating flat shaded objects to highly reflective shiny surfaces
  • bump maps for adding extra depth and dimension to surface textures
  • special effects such as holographic, scrolling textures and surface deformations
  • the variety of graphics buffers used in the rendering pipeline
  • forward and deferred lighting
  • surface, vertex and fragment shaders written in CG/HLSL
  • volumetric rendering

Contents and Overview

After diving right in and creating your very first shader from scratch, we will begin the lessons by examining how 3D models are structured and how that is used within shader code to colour and display the surface in computer graphics. You'll discover all the properties of a shader and how they can be controlled in code and via values fed in through Unity's Inspector.

Following this, we will examine a variety of lighting models and how lights and surface textures can influence the final look of a render. Included here, an overview of the buffers involved in the rendering queue will be given with practical examples for creating special effects that require more than one draw call. Students will also be exposed to the power of vector mathematics and especially the dot product and its role in creating beautiful effects such as outlines, rim lighting and holograms. In addition, issues surrounding transparency and blending will be discussed along with many practical hands-on workshops in which students can flex their newfound skills to interrogate the code they write for better understanding.

The next section brings together all the skills learned throughout together, to develop some of the more popular complex shaders including animated plasma and animated water with waves.

Finally volumetric shaders are covered in which you will follow along to create special effects such as fake geometry, fog and clouds.

What students are saying about this course:

  • This is the best course I've ever taken. It is perfect for me. I worked for 15 years in feature animation. A large part of my career was spent developing shaders for a proprietary renderer. This course has already helped me to bring the value of my previous experience into Unity.
  • Best shader course I've come across. There are enough and more tutorials on youtube to teach you how to develop your own shaders, but nothing falls into the class of Penny's tutorials. They are clear and to the point. Really happy about this one.
  • Wow! Thank you so much! If there were 10 stars - this course would deserve it. Going from absolutely knowing nothing about Shader writing to have a profund understanding about it..
  • I wanted to let you know that I just finished your shader course and thought it was fantastic. It was a pleasure to take the course and finally get a grasp on a topic that seemed so foreign to me not so long ago. Your teaching style and personality really worked for me and made learning a breeze!
In this section you will get aquainted with some basic shader code and the general formatting as well as learn about what to find in the course.
This lecture introduces the course and takes you through the content that will be covered showing demos of the effects that will be covered.
Help!Why can't I see my shaders correctly?
More often than not when you are learning something new with software you will find it difficult to tell when you've done something wrong or the software is not working.Here are a couple of common issues you might come across when you start to develop shaders.Be sure to use these as a go to when debugging your own work.
The Rendering Pipeline
In this lecture we will take a look at the graphics pipeline and the stages in taking a model from virtual to an image on the screen.
Your First Surface Shader
There's nothing like seeing your first shader program come to life. There's still much to discuss about the technical and programmatic specifications of shaders, but lets start with a simple example to get the ball rolling.
Crash Course in Vector Mathematics
Shader Essentials
There are many fundamental theoretical concepts you need to understand before you can jump in and write shaders. This section presents the absolute essentials required to understand shader code.
Variables and Packed Arrays
Shader code has a lot in common with regular C# but can sometimes looka little strange especially with respect to data types.In this lecture we will go over these types and discuss how they are used.
The Anatomy of a Mesh and Shader Input
The structure of a model's mesh is crutial in determiing how a shader will affect its surface. Understanding all the 3D components of a mesh is a fundamental you should have under your belt before attempting to manipulate the look of its surface with shaders.
Shader Properties
In this lecture we will examine in detail the properties block and investigate how external values and images can be used in shaders.
  • You should be familiar with the Unity Game Engine.
  • You should be able to program in a procedural language such as C#.
Penny de Byl
Penny de Byl
International Award Winning Professor & Best Selling Author
Academic, Author & Game Development Enthusiast
Udemy courses are suited to professional development. The platform is organized in such a way that it is experts themselves that decide the topic and when the course will start. All supporting documents are made available to you for lifetime access. On this platform, you can find a course on about any subject, and that is no exaggeration – from a tutorial on how to ride a motorcycle, to managing the financial markets. The language and the course format are established by the teacher. This is why it is important to read the information about the course carefully before parting with any money.
Comments (2264)
Like any other website, konevy uses «cookies». These cookies are used to store information including visitor's preferences, and the pages on the website that the visitor accessed or visited. The information is used to optimize the users' experience by customizing our web page content based on visitors' browser type and/or other information. For more general information on cookies, please read the «What Are Cookies» article on Cookie Consent website.