Compositing

From stylized to photorealistic, every project is crafted to captivate.

As a compositor, I’ve worked on various projects with distinct creative visions. For example, on Netflix’s The Liberator, I tackled a unique challenge: an entire series shot on a blue screen, requiring a complete 3D replacement of environments and props, all finished with a vibrant comic book aesthetic. On the other hand, projects like Aquaman demanded seamless photorealistic integration of 3D characters into live-action footage, where every detail mattered.

My expertise with rendering engines such as Octane, Arnold, Mantra, and Vray enables me to handle complex passes and AOV workflows efficiently. Additionally, with Unreal Engine becoming a staple in CG pipelines, I’ve developed targeted strategies to adapt utility passes like Pref and Zpass for smooth integration into Nuke’s coordinate system, ensuring consistency and precision in the final shot.

At the top is a frame from The Liberator, where the entire set was replaced with CG environments. Below is a frame from Aquaman - The Lost Kingdom, where I contributed to the integration of a CG baby, replacing a practical prop held by the actors on set.

A perfect balance between art and science

Compositing is, at its core, a process of problem-solving, where each shot presents unique challenges, some requiring creative artistry, others demanding technical precision. For the technical side, I leverage Python's unparalleled versatility to develop tools and automation in Nuke, extending its capabilities beyond native functionality. It’s incredibly fulfilling to tackle challenges that benefit not just my workflow but also the entire team, providing technical solutions that streamline processes and enhance collaboration.

An example of a technical solution for a problem encountered on a show that I decided to showcase on gitHub. The 3D camera was accurate but too jittery, so I suggested a Python approach to keep the source camera untouched while fixing the bumps.

Click here to find An example of a technical solution for a problem encountered on a show. The 3D camera was accurate but too jittery, so I suggested a Python approach to keep the source camera untouched while fixing the bumps.
My approach

In general, my approach to the comp of a shot is divided into 4 phases:

  • First look > In this phase, I assemble the shot without worrying about the final polish. The goal is to show the comp supervisor the elements that make up the shot to identify what’s missing, and what needs to be requested from other departments, and to develop a clear direction to follow. If CG elements are involved, I try to replicate what was approved during the lgt_slap phase to ensure that what we see accurately reflects the lighters' work.

  • Feedback and consistency with the parent shot > In this phase, I start contextualizing the shot within its sequence, aligning it with any hero or parent shots to ensure visual continuity. Often, if available, I refer to the edit or cut ref of the sequence to better understand the context in which I’m compositing.

  • Creative touches > Once the shot is aligned with the parent and adjacent shots, I focus on creatively refining its look, primarily working on integration and lens FX.

  • Polishing and finalizing > Once the shot is creatively approved, I concentrate on the final details and clean and optimize the script in case it needs to undergo a tech check by other artists.