# Cortex: a C++ framework for visual effects pipelines

> Cortex is a set of C++ libraries and Python modules from Image Engine for the parts of a VFX pipeline that everyone ends up rewriting, covering computation, rendering and file I/O. It has been in development since 2007, it is still shipping 10.x releases, and its documentation lives in a wiki rather than in the repository, which tells you something about its age and its audience.

**ImageEngine/cortex** — Libraries for visual effects software development

- Repository: https://github.com/ImageEngine/cortex
- Stars: 567 · Forks: 127
- Language: C++
- License: NOASSERTION
- Published: 2026-10-22 · Updated: 2026-10-22 · Language: en
- Canonical page: https://hysenlabs.com/projects/imageengine-cortex

## The shared layer of a rendering pipeline

Cortex is described as a framework for computation, rendering and file I/O that provides a set of high-quality C++ libraries and Python modules tailored for software development in the VFX industry. The stated goal is creating a set of practical and reusable modules for technical directors, CG supervisors and programmers, freeing them to focus on innovation and new features in their software projects.

That framing is worth unpacking. The VFX industry has a particular kind of duplication problem. Every studio and every tool vendor that renders images eventually needs the same low-level machinery, image formats, colour management, geometry handling, scene description, and the metadata that travels with an asset through a pipeline. Writing that from scratch is expensive, and writing it once per studio is a waste.

Cortex is that shared layer, and the audience named in the README is specific: technical directors who specify what a pipeline needs, CG supervisors who own the look of a shot, and programmers who build the tools. That is a technical audience, and it is why the project ships as a source distribution rather than as a hosted service or a managed package.

The primary language is C++, and the repository carries Python modules alongside the C++ libraries, which is the combination a modern pipeline actually needs, since the tooling layer tends to be Python and the rendering layer tends to be C++.

## A project that predates most of the pipeline tooling

The README points at two things that date the project and explain its shape.

The first is an introductory paper on Cortex in the project wiki, and the second is the Cortex presentations at SIGGRAPH 2011. A framework that was presenting at SIGGRAPH in 2011 and is still releasing 10.x versions in 2026 has a fifteen year run, and the copyright line in the README still reads 2007 to 2019.

The second pointer is Gaffer, the open-source, node-based application for scene building, rendering and pipeline automation, described in the README as a proof-of-concept demonstration of the power of Cortex as a framework. That is a neat piece of evidence, because Gaffer is not a toy. It is a working production tool, and it is built on the same libraries that Cortex publishes.

So the honest reading of the project is that Cortex is the layer under a piece of widely used software, and that the framework has had to stay compatible with a decade of downstream use. That is a constraint as much as a credential, and it explains a build system and a documentation arrangement that look dated by current standards.

The recent releases are 10.7.3.1 from 2026-10-09, 10.7.3.0 from 2026-10-07 and 10.7.2.0 from 2026-10-05, and the repository's last push was on 2026-10-22. Releases are frequent and small, which is the pattern of a library that is actively used and patched rather than one that is being developed in the open toward a new major version.

## Building it is a wiki away, and there is no package recipe

The README does not contain build instructions, and it says so by linking out. There is a Download section pointing at the releases page for the latest source, and a Building and Testing section with three links: Prerequisites, Building Cortex, and Testing Cortex, each pointing at a section of the wiki's Building page.

That is the whole installation story. There is no package manager recipe, no container image and no script in the repository that sets up a toolchain, so the first task for a new user is to read the wiki and assemble a working compiler environment themselves.

The repository does carry the build definition itself, though. At the root there is a SConstruct file, which is the SCons build system, along with a config directory for the configuration options and a scripts directory. SCons predates CMake in the C++ world and is still used in several large studios for cross-platform builds, and choosing it over CMake is a deliberate decision that trades the enormous ecosystem of CMake tooling for a Python-based build in which the build file is executable code.

The rest of the tree follows the same shape: a src directory for the implementation, an include directory for the public headers, a python directory for the Python modules, a contrib directory for contributed pieces, a glsl directory for shader sources, a graphics and icons directory for assets, a doc directory, a test directory, and a Changes file at the root that records what changed between releases.

## The community runs on two mailing lists

Cortex predates the pull request workflow as its default contribution route, and the communication model reflects that.

There are two mailing lists. The developer discussion group, cortexdev, is where the README says to ask questions about developing Cortex or to make feature requests. And cortexcommits carries commit notifications, so a user can follow changes without pulling the repository.

Questions, troubleshooting and feature requests all go to the same place, the Cortex developer group, which is a low-ceremony arrangement that suits a project with a small specialist audience.

Contributions have their own rules, with a CONTRIBUTING.md at the root and a separate requirement: participation in the Cortex project requires abiding by its Code of Conduct, with CODE_OF_CONDUCT.md also at the root. The README puts the code of conduct first among its links, which is a reasonable signal about how the project wants to be worked on.

There is also a Changes file in the repository root rather than a changelog generated from commits, which for a project with this many patch releases is the more useful artefact, since it gives the version-to-version delta that a commit log does not.

## The licence says BSD, the repository listing says something else

The Copyright and License section is short. It reads 2007 to 2019 Image Engine Design Inc. All rights reserved, and then Distributed under the 3-Clause BSD license.

Three things are worth flagging there.

First, the repository listing records the licence as a custom one that GitHub cannot classify, with the note to see the LICENSE file. So the metadata badge and the README disagree, and the LICENSE file is the authoritative document.

Second, the copyright range ends at 2019 while the project was releasing 10.7.3.1 in October 2026. Whether that means the copyright notice simply was not updated in the README or that there is a separate arrangement for newer contributions is not something the repository settles. For anyone shipping Cortex code inside a commercial product, that is a question for Image Engine rather than for the README.

Third, the 3-Clause BSD license itself is one of the most permissive licences in common use, and the README frames the project's stance as welcoming: participation requires the code of conduct, and the Contribution Guidelines are the route for changes.

This is not legal advice and the point is not to alarm anyone. It is to note that for a framework with a fifteen year history and an active release line, the difference between what the README says and what the repository metadata says is exactly the sort of thing worth confirming before you depend on it.

## What Cortex is, and what it is not

The boundaries are clearer than they might be for a project this old.

Cortex is a set of libraries and modules, not an application. It does not render your shots for you and it does not come with a user interface. It is the code that the applications are built from, and the Gaffer reference makes the relationship concrete, since Gaffer is the application and Cortex is the framework underneath it.

It is also not a general purpose graphics library. The scope is the VFX industry, which means the file formats, the colour pipelines, the scene descriptions and the metadata conventions are the ones a studio actually exchanges, not the ones a game engine needs. That is the value and also the limit: it is deep in one domain rather than wide.

What you get is C++ for the parts that need to be fast and Python modules for the parts that need to be scriptable, with the two sides designed to talk to each other. A studio that has already committed to a different rendering architecture, or a team that has built its own equivalents, will find little reason to adopt it.

For an individual programmer or a small studio without a rendering framework of its own, the calculation is different. The code is proven, the licensing is permissive on the face of the README, and the alternatives are writing the same primitives again or licensing a commercial framework. The cost is the assembly: the build environment, the wiki-based setup, and a codebase written to a standard that was current when it was designed.

## Conclusion

Cortex fits a studio or an individual developer working on render farm or pipeline tooling who needs proven code for geometry, image and scene handling in C++ rather than writing it again. It is the wrong choice if you need a modern package manager workflow or documentation that lives in the repository, since the build steps are in a wiki and the tree is built with SCons, and the wrong choice if your work is tools and automation rather than rendering code. Verify first which version of the libraries your project needs, because the 10.x line has been releasing steadily, and confirm the licence terms with Image Engine directly, since the repository listing records a custom licence while the README states a 3-Clause BSD license with a copyright line that stops at 2019.

## FAQ

### What is the Cortex framework?

Cortex is a framework for computation, rendering and file I/O from Image Engine that provides high-quality C++ libraries and Python modules tailored for software development in the VFX industry, aimed at technical directors, CG supervisors and programmers.

### How do I get and build Cortex?

The latest source is downloaded from the releases page on GitHub, and the README does not contain the build steps itself. It points at three wiki pages instead, for prerequisites, building Cortex, and testing and documentation. The build definition in the repository is a SConstruct file, so the project is built with SCons.

### Where do I ask questions about Cortex?

The README says to ask questions about developing Cortex, or to make feature requests, on the Cortex developer mailing list at groups.google.com/group/cortexdev. There is a second list, cortexcommits, for commit notifications, and the project also has a Contribution Guidelines file and a Code of Conduct in the repository.

### What licence is Cortex under?

The README states that it is distributed under the 3-Clause BSD license, with a LICENSE file at the repository root, and the copyright line reads 2007 to 2019 Image Engine Design Inc. The repository listing itself records the licence as one GitHub cannot classify, so the LICENSE file is the authoritative text.

### What shows that Cortex is still in use?

The recent releases are 10.7.3.1 from 2026-10-09, 10.7.3.0 from 2026-10-07 and 10.7.2.0 from 2026-10-05, and the README points at Gaffer, the open-source node-based application for scene building, rendering and pipeline automation, as a proof-of-concept demonstration of the framework.

## Sources

- [ImageEngine/cortex on GitHub](https://github.com/ImageEngine/cortex)
- [Issues](https://github.com/ImageEngine/cortex/issues)
- [README](https://github.com/ImageEngine/cortex/blob/main/README.md)
- [Releases](https://github.com/ImageEngine/cortex/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/imageengine-cortex
