Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA Amazon AWS CompTIA Security+ Microsoft AZ-900
Graphic Design Photoshop Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Personal Development Personal Transformation Mindfulness Life Purpose Meditation CBT Emotional Intelligence
Web Development JavaScript React CSS Angular PHP Node.Js WordPress Vue JS
Google Flutter Android Development iOS Development React Native Swift Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Google Ads (AdWords) Certification Marketing Strategy Internet Marketing YouTube Marketing Email Marketing Retargeting
Microsoft Power BI SQL Tableau Business Analysis Data Modeling Business Intelligence MySQL Data Analysis Blockchain
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Business Plan Startup Freelancing Online Business Blogging Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ 2D Game Development Unreal Engine Blueprints Blender
2021-03-01 07:48:09
30-Day Money-Back Guarantee
Development Game Development Unity

Learn to Write Unity Compute Shaders

Harness the power of the GPU
Rating: 4.5 out of 54.5 (75 ratings)
1,170 students
Created by Penny de Byl, Nicholas Lever, Penny @Holistic3D.com
Last updated 3/2021
English
English [Auto]
30-Day Money-Back Guarantee

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
Curated for the Udemy for Business collection

Course content

8 sections • 47 lectures • 5h 49m total length

  • Preview02:25
  • Preview07:25
  • Reviewing your first compute shader
    08:29
  • Multiple Kernels
    09:00
  • Challenge: Use a compute shader to draw a single square in the middle of a Quad
    05:09
  • What have you learned?
    4 questions

  • Passing data to the shader
    08:54
  • The joy of buffers
    09:11
  • Orbiting stars
    09:01
  • Using noise in the shader
    05:36
  • Mesh deformation
    09:51
  • Challenge: Draw a polygon filled with noise.
    06:19
  • What have you learned?
    5 questions

  • Setting up the rendering pipeline
    11:47
  • A simple blur effect
    10:07
  • Preview08:14
  • A HUD overlay - part 1
    08:28
  • A HUD overlay - part 2
    08:11
  • A star glow effect: vertex-fragment shaders - part 1
    10:23
  • A star glow effect: vertex-fragment shaders - part 2
    09:40
  • Challenge: Create a sepia effect to the renderer output
    03:01
  • What have you learned?
    6 questions

  • Setting up a buffer-based particle effect
    10:02
  • Adding a mesh to each particle
    09:14
  • Preview09:29
  • Using instanced meshes in the flock
    08:39
  • Using a skinned mesh in the flock
    08:20
  • Challenge: Swish that tail
    04:10
  • What have you learned?
    5 questions

  • Starting simple, bouncing balls
    08:43
  • A bit of theory
    12:59
  • Initializing the data
    10:09
  • GPU Physics Compute Shader - part 1
    09:31
  • GPU Physics Compute Shader - part 2
    06:40
  • Voxelization of a mesh
    06:33
  • Challenge: tumbling chess pieces
    02:50
  • What have you learned?
    5 questions

  • Using Blender to create a single grass clump
    06:40
  • Using instancing to cover a surface with grass
    11:16
  • Bending blades of grass
    11:08
  • Grass on an uneven surface
    04:36
  • Trampling the grass
    06:27
  • Challenge: Use noise to bend grass clumps
    03:04
  • What have you learned?
    5 questions

  • Navier-Stokes: the famous basis for fluids simulations
    05:07
  • StableFluids
    07:32
  • StableFluids - part 2
    11:01
  • Smoothed Particle Hydrodynamics
    09:29
  • Position Based Dynamics
    07:04
  • Challenge: Smoke using StableFluids
    04:06
  • What have you learned?
    6 questions

  • The polygon function
    03:19
  • Credits
    00:10
  • Bonus lecture
    00:23

Requirements

  • You must be familiar with the basics of Unity
  • You need to have a basic knowledge of C#

Description

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 CPU is working overtime? You'll see massive performance improvements if you switch some tasks to the GPU and 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."

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.

Who this course is for:

  • Developers wanting to add compute shaders to their skill set
  • Developers who wish to use the GPU to avoid processing bottle necks on games
  • Developers curious to know modern techniques for flocking, gpu physics, grass, ray tracing and fluids

Instructors

Penny de Byl
International Award Winning Professor & Best Selling Author
Penny de Byl
  • 4.6 Instructor Rating
  • 16,612 Reviews
  • 106,528 Students
  • 22 Courses

Hi, I'm Dr Penny de Byl.  I'm a full stack developer of most things computer sciency and academic with a true passion for teaching.  I've been teaching others about games development, programming, computer graphics, animation and web design for over 25 years in universities in Australia and Europe at the full professor level. I've also consulted for Unity, SAE, the Australian Institute of Entertainment and Wikitude. My best selling textbooks including Holistic Game Development with Unity are used in over 100 institutions world-wide.  My graduates work at companies like Apple, Ubisoft, LinkedIn and Deloitte Digital.

I have an honours degree in computer graphics and a Ph.D. in artificial intelligence for games characters.  Over the course of my career I've won numerous awards for teaching excellence at the state, national and international levels including the Australian Learning and Teaching Council's Excellence in Teaching Award and the Unity Mobile Game Curriculum Competition. My approach to teaching computer science and related fields is project-based giving you hands-on workshops you can immediately get your teeth into.

I want you to leave my virtual classroom fully armed with a toolkit of skills for life-long learning.  I'm excited to now be focussing my efforts full-time on Udemy to bring my years of knowledge and experience to those eager to learn about technology.


Nicholas Lever
Game developer
Nicholas Lever
  • 4.4 Instructor Rating
  • 1,371 Reviews
  • 7,766 Students
  • 9 Courses

After getting a degree in Graphic Design, I started work in 1980 as a cartoon animator. Buying a Sinclair ZX81 back in 1982 was the start of a migration to a full time programmer. The ZX81 was quickly swapped for the Sinclair Spectrum, a Z80 processor and a massive 48K of ram made this a much better computer to develop games. I developed a few games using Sinclair Basic and then Assembler. The Spectrum was swapped for a Commodore Amiga and I developed more games in the shareware market, moving to using C. At this stage it was essentially a hobby. Paid work was still animated commercials. 

I finally bought a PC in the early nineties and completed an Open University degree in Maths and Computing. I created a sprite library ActiveX control and authored my first book, aimed at getting designers into programming. In the mid nineties along came Flash and the company I was now running, Catalyst Pictures, became known for creating games. 

Since then the majority of my working life has been creating games, first in Flash and Director, as Director published the first widely available 3D library that would run in a browser using a plugin. 

In recent years game development has involved using HTML5 and Canvas. Using both custom code and various libraries. A particular preference is to use the latest version of Adobe Flash, now called Animate that exports to the Javascript library Createjs. 

I've worked for the BBC. Johnson and Johnson. Deloitte, Mars Corporation and many other blue chip clients. The company I've run for over 30 years has won a number of awards and been nominated for a BAFTA twice, the UK equivalent to the Oscar. 

Over the last 20 years I have been struck by just how difficult it has been to get good developers and have decided to do something about this rather than just complain. I run a CodeClub for kids 9-13 years old and I'm developing a number of courses for Udemy hoping to inspire and educate new developers. Most of my courses involve real-time 3d either using the popular Open Source library Three.JS or Unity. I'm currently having a lot of fun developing WebXR games and playing with my Oculus Quest.

Penny @Holistic3D.com
Academic, Author & Game Development Enthusiast
Penny @Holistic3D.com
  • 4.6 Instructor Rating
  • 16,612 Reviews
  • 106,528 Students
  • 22 Courses

Hi, I'm Dr Penny de Byl.  I'm a full stack developer of most things computer sciency and academic with a true passion for teaching.  I've been teaching others about games development, programming, computer graphics, animation and web design for over 25 years in universities in Australia and Europe at the full professor level. I've also consulted for Unity and SAE. My best selling textbooks including Holistic Game Development with Unity are used in over 100 institutions world-wide.  My graduates work at companies like Apple, Ubisoft, LinkedIn and Deloitte Digital.

I have an honours degree in computer graphics and a Ph.D. in artificial intelligence for games characters.  Over the course of my career I've won numerous awards for teaching excellence at the state, national and international levels including the Australian Learning and Teaching Council's Excellence in Teaching Award and the Unity Mobile Game Curriculum Competition. My approach to teaching computer science and related fields is project-based giving you hands-on workshops you can immediately get your teeth into.

I want you to leave my virtual classroom fully armed with a toolkit of skills for life-long learning.  I'm excited to now be focussing my efforts full-time on Udemy to bring my years of knowledge and experience to those eager to learn about technology.

  • Udemy for Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Impressum Kontakt
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Featured courses
Udemy
© 2021 Udemy, Inc.