
High-quality C++/Python modules for rapid and reliable Visual Effects software development
Cortex is a collection of Open Source code modules created by VFX TDs and software developers.
It consists of:
- A C++ class library, with high standards and a modern coding style (STL, templates, exceptions etc: think boost)
- A Python module wrapping all the C++ classes, for easy use in scripts or in applications using Python
- Rigorous unit testing and quality control
- Thorough user and code documentation
- Development community: Wiki, mailing lists, bug/feature trackers, peer review, etc.
Cortex is intended to be used and developed alongside whatever else you're doing. The hope is that instead of putting all of your code directly into proprietary tools, you can identify some generic chunks up front and put that code into your own development copy of the Cortex library as you go, and when its all working you might commit it back to the repository. This helps build Cortex, but you're also more inclined to write higher-quality code if you're writing a generic module rather than just hacking some new code into your own tools. And of course you also benefit from everyone else reviewing and possibly improving or adding to your code.
As the library develops, you'll return to putting most of your code into the custom tools again, because all the common and mundane building blocks are now in the library, and you're free to work on the interesting stuff. Nobody writing a new image processing algorithm should have to deal with image IO, file sequences or caching. Nobody writing a new geometry deformer should have to deal with pulling that model in and out of the different 3D packages, or building their own kdTrees to index the data. Lets stop re-doing all these mundane things and concentrate on the cutting edge stuff.
While it may sound like we're aiming pretty high here, it's actually the perfect thing to start small and grow. The initial release will be a handful of components, done well, and we'll add on from there. Also, we're not exactly starting from scratch: everyone has their own private libraries like this already, Cortex is just an attempt to mash the better aspects of them all together.
Links
Introduction - general overview and hard-sell about why you should be involved
Features - what Cortex provides, and how it is structured
Developer Info - if you're interested in contributing to the project
Status and RoadMap - where things are currently at, and where we hope them to be
