How Python helped create the visual effects for an Emmy nominated TV show with Engin Arslan

Presentation on samedi at 11:15 matin to 11:45 matin in Room 1180.

The extent to which programming is used in the production of Visual Effects can be somewhat of a mystery to an outsider of the field. Broadly speaking, it is used by 4 sets of people / categories with overlapping responsibilities.

Computer Graphics Engineers, Math, CS, Physics PhD’s and others in similar positions undertake the responsibility of very low level research and development such as creation of ‘shading’ and ‘rendering’ solutions, implementation of physics simulation algorithms, etc. Their development efforts help create the core toolset artists utilize when creating visuals. They either extend the possibilities that existing 3D software packages offer (like Maya, 3DS Max, Houdini and more) or create entirely new tools.

Pipeline TD’s and Engineers build and maintain the visual effects studio pipeline and help facilitate the production efficiently by managing the data-flow. This mainly involves building tools and plugins that interface with the 3D software packages that are in use or creating stand-alone desktop applications.

Technical Directors for each department address the particular needs of their departments by building scripts, tools, plugins — whatever the problem at hand requires. They usually interface with the tools that Engineers upstream build and with the 3D software packages that are already in use to achieve the solutions that they are after.

Eager Artists aka Budding Programmers are artists that are frustrated by the limitations of the toolset that they are given and devise automation solutions using the API of the software in use to build scripts and tools that helps with the redundant, repetitive, boilerplate tasks.

Almost all the software packages that are used in VFX nowadays have a Python API. Moreover programs are moving towards using PySide in implementing their visual interface, which further enables artists to utilize this toolkit to build their own GUI solutions — either integrated to the software or as a standalone desktop application. Wherever you look, Python dominates the VFX landscape — except for tasks that are performance critical. From the low level workings of the studio pipeline to the front-end of Visual Effects production where viewer facing visuals are created, Python facilitates delivery of cutting edge effects on time and on budget.

When a group of visual effects artists were asked to deliver an episode for an immensely popular TV Show involving one of the biggest CG battle scenes to be ever seen on the TV so far, it was obvious that Python was going to play a huge part in their workflow.

This talk focuses on the perspective of the artists and technical directors in this VFX landscape and various ways they utilize Python in production to come up with solutions for movies and shows that entertains millions of people around the globe.

Engin Arslan Bio

Engin Arslan is a Front-End Developer with a Bachelor of Science in Materials Engineering and a Postgraduate Degree in Visual Effects. Before becoming a Front End Developer, he worked as a Visual Effects Artist / Technical Director on films and TV shows including Resident Evil, Tron, Mama, Pompeii, Vikings and Strain. He received an Emmy nomination this year for Outstanding Visual Effects for his work on Vikings, Season 3. During his time in VFX, he fell in love with Python and with programming in general. He recently changed careers to be able to immerse himself completely in software development. Engin currently works at Myplanet, a Toronto-based digital services company. He also works at Seneca College as a part-time professor, sharing his love of programming with future VFX artists.