Had a quick think about this and it could actually be quite interesting!
Here are my thoughts;
- We'll get setup with the simplest of
helloworld extensions. Something we can import and run, that prints to the console.
- Next, we'll have a look at passing the extension something; a string, or number for example. It does something to it (add 2?) and returns it.
- Next, and this is the interesting part, as Maya runs Python, we could have a look at passing a position (i.e. three numbers) and have our extension modify it (add 2 to Y?) and return it. With that, we've basically got a software-independent animation plug-in.
- Next, and this is where it gets really interesting, we'll have a look at passing many positions, and possibly other data, modify it in C, and pass it back. Now we've got a deformer running, compatible with any software that runs Python.
By the end of that, we've basically got a simple Fabric Engine running.
Alternatively, instead of making it a C-extension, which would require it to be compiled per-Python version and MSC (on Windows), we could simply make it a separate binary/executable.