What you'll learn:
- How to write Unity Compute Shaders
- How to use ComputeShaders in post processing image filters
- How to use ComputeShaders for particle effects and flocking
- How use StructuredBuffers to share data between a ComputeShader and an instancing Surface Shader
- Using ComputeShaders to handle fluid simulations
- Using ComputeShaders to create a Physics engine
By learning to create Compute Shaders, you will put yourself at the cutting edge of Unity development. Unlike a traditional shader, you can use a Compute Shader to handle any data manipulation problem, where having dozens (or even hundreds) of threads running simultaneously causing a bottleneck in your game to run many, many times faster. In this course you will start from small steps, learning the basics of compute shaders. First, we look at passing data from the CPU to the GPU using buffers. Then we’ll look at using these buffers in our calculations. Once you have this initial grounding, you learn how to use these techniques to create blisteringly-fast post-processing filters. You can use Compute Shaders to handle particle effects and flocking calculations. In the course, you'll create a flock of thousands of birds where each bird flaps its wings in sync with its speed through the air. Divide and conquer is the way, with Compute Shaders. By using hundreds of threads running simultaneously, we develop a GPU Physics engine that can handle thousands of tumbling chess pieces. Compute Shaders are ideal for handling the orientation of grass blades as an avatar moves through grass. The challenging subject of fluids (both 2D and 3D) are covered in the course and you'll see how much this computationally-intensive field benefits from Compute Shaders.
The resources for the course are presented as a code-along version and a complete version and include over 30 different examples. Unity Compute Shaders provides the ideal platform to learn how to handle complex problems in your games. Flocking calculations using the 3 key rules of Separation, Cohesion, and Alignment are covered in detail. The physics calculations to handle fast collision detection and the forces involved are included (both theoretically and practically). Smoothed Particle Hydrodynamics is a technique for calculating fluid simulations. We'll take you through it from the foundation level.
If you're working with Unity, you need to understand how to use Compute Shaders to ensure your game has the best performance. After all, why let the GPU sit idle while the CPUis working overtime? You'll see massive performance improvements if you switch some tasks to the GPUand handle them with a Compute Shader.
This course uses Unity 2019.4 and is Windows and Mac compatible.
Student feedback
"This course is simply amazing. I always wanted to learn those topics and finally got some incredible resources. Thank you a lot. Btw I loved the didactic. The default scenes and challenges are really helping me to stick with the course without getting frustrated. The topics covered are very difficult but you made it in a way where we can really get step by step and at the same time seeing incredible things on screen!"
"This course is an intensive, well explained, understanding on how compute shaders work, impressive results and explanations"
"Amazing course - followed up Penny De Byls CG Shader course with this one and they dovetail excellently. Nicholas does a great job with some interesting projects and great concepts - loved the section on fluid simulation."
"I have just started the Compute Shaders course from Holistic 3D. Loving the course, and I am finding it super easy to understand! Been looking for a decent tutorial for ages, and this is definitely the one I have been looking for!"
"Great tutorial, knowledge is condensed and easy to acquire. I always wanted to learn programming shaders and GPU computing, so this course is something that fits my needs perfectly!"
"This course excels at filling in the blanks from my self-taught knowledge and understanding of compute shaders. The explanations are concise yet full, all the while aiding the connection of the basics to form a solid foundation!"
"Course is super informative with great pacing (on the fast side) and plenty of challenges along the way. The challenges are why I am giving the 5-star rating. These tend to require some thought, but are solvable using what we have learned, and for my taste, just the right level of difficulty."
What others are saying about Nik's courses:
Very rich content and impressive didactics. Very good to learn from someone who has mastered the subject and knows how to teach.
Nik's style of teaching made me understand everything very intuitively and I'm so comfortable with shaders now.
I like Nik's courses, I understand in the way he explains. Great content.