Learn Advanced Maya API programming

The Rigging Dojo Maya API Advanced C++ 201 plugin course where you will learn to create a Delta mush plugin and how to optimize it to make faster deformation nodes for Maya.

*API Mentored course through Rigging Dojo or previous programming and Maya API experience recommended 

Advanced API C++

Dig deep into the Maya API and learn to make custom deformers to make your characters look great in this 40 lesson video course.


The GPU is the way to get speed out of Maya rigs and heavy models, learning to write your own accelerated plugin with our course. 

Theory to grow

With algorithm explanation, math basis and understanding how to convert CPU code to GPU you will have a solid foundation to build from.

Here's What You'll Learn

By taking this course today, you'll get the complete look inside the world of writing your own Delta Mush deformer then learn how make it FAST using GPU programming.

Let's get to the point right away, shall we? Why delta mush? What will the course cover?

I decided to pick delta mush because it covers a sweet spot in complexity and optimization, is not that complicated that is hard to follow but still lets you covers a lot of basic building blocks like tangent space which are at the base of so many other algorithms for example wrap deformer, normal maps and much more. Performance wise it lets you concentrate on learning the concepts without being too complex, each vertex can be processed independently so the students don't need to worry about resource contention. 

I tried to tailor this course to target a lot of different backgrounds, people that started with c++ fairly recently, meaning that can write simple plugins and deformers, know the basic ropes of c++, but want to take it a step further and learning how to optimize. Professionals that wants to learn different concept and multithreading and GPU programming etc.

Although this course is not simple, do not expect to watch the video once, code 20 minutes and you are done with your assignment, the course is rich in content and manual work on the student side. From the lecture point of you, I go to great lengths to explain as deeply and clearly as possible the content, risking to be repetitive sometimes, next is up to the student to get his/her hands dirty and start to work on the code. My goal is to give you the tools to get started on the perilous path of optimization, you will soon learn that there is no silver bullet, you learn by doing, testing and trying. Like a blacksmith, I can teach you how to do something, the tools involved, the techniques but then is up to you to improve your craft, you won't be able to make right away the perfect armor suit, will take time and effort.

For this very reason the source code won't be provided, not because I am jealous of my code or anything, the opposite actually, but it is to avoid you to just copy the code and start from there, that is a shortcut that actually hurts the learning. 

The four course blocks are:

  • Algorithm explanation, math basis etc
  • CPU implementation
    Optimizations, multi-threading
  • Advanced GPU implementation
  • Open CL

    I hope this sounds interesting to you! Please do engage with each other and the forum, you will be surprised how much you can learn by talking with your peers and asking questions to the instructor. Feel free to answer any question other students will ask, reasoning on such questions might show you that you lack some understanding or details and will let you solidify your understanding.

Course Syllabus

40 lessons for you to watch at your own pace.

The Fundamentals

01 Intro
02 Basic Vectors
03 Vector Theory Continued
04 The Matrix
05 Matrix continued
06 Matrix completion
07 Tangents
08 Tangents and smoothing
09 Tangents creating a push
10 Maya implementation of theory
Bonus: Averaging in depth homework


01 First version of the Delta Mush Project
02 Getting Positions
03 Average Relax for smoothing
04 Processing the mesh


01 General Optimization Concepts
02 Efficiency of Algorithm
03 Cache and Ram
04 Branching
05 Data Structure Arrays
06 Array Operators and Memory
Advanced GPU
01 Intro to GPU Processing
02 Maya GPU computing
03 Kernel aka GPU functions
04 Mapping Data to the GPU
05 Compiling CUDA code
06 GPU Coding
07 Knowing the Kernel
08 Write Your First CUDA Kernal
09 GPU Tangent Kernel
10 Maya Deformer Test


12 OpenCL Introduction
13 Comparing the OpenCL code
14 How it works with Maya
15 Evaluate Method for the deformer in Maya
16 clEnqueueNDRangeKernel use
17 get_global_id use
18 Final thoughts and where to go from here

Ready to learn!

Join any time and level up your value as a Technical Director.

Instant Access

$99 USD

Pay full price and get instant access to the course.

Buy now

50% Complete

Two Step

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.