Real-time Rendering

Modern production needs have changed – rapid prototyping for projects has become a necessity. Many front-end workflows, like virtual production and pre-visualization, are becoming more and more critical to a successful, on-time and on-budget production. Waiting for an offline render in order to make creative decisions is no longer good enough – the earlier an informed decision can be made, the better. A huge part of achieving this relates to real-time rendering capabilities.

Rendering technology has advanced significantly over the past decade, yet most DCC applications are extremely limited by comparison to modern game engines. Studios must work with massive data sets and artists need to visualize this data in real-time. Meanwhile, the game engines, with the need to pre-process and pre-compile data, introduce destructive, one-directional pipelines that have prevented their wide-spread use in the VFX industry.

Joining the best of both worlds, the Fabric RTR can deliver the performance and quality of a game engine, with the interactivity and flexibility of a DCC application. Thanks to its integration in Maya, Max and Softimage, the RTR can allow studios to accurately preview large complex dynamic scenes in real-time. The RTR is the right choice for production areas such as pre-visualization, motion capture, lighting tools, scene assembly and virtual production.

The Fabric RTR provides a framework that enables the rapid development of advanced rendering techniques. By being very generic, the engine can target a vast number of rendering effects and techniques. The RTR framework comes with an implementation of many rendering techniques that can be easily extended, such as:

– Deferred shading, enabling support for unlimited number of lights

– Motion blur and depth of field, using a high quality stochastic-based method

– Shadows and soft shadows for all light types: point, spot and directional lights

– Seamless integration with host viewports (such as DCCs): depth, color and transparency

– GPU skinning

– HDR lighting

– Efficient frustum culling (for all passes, such as shadow map rendering)

– Screen space ambient occlusion, environment map reflections, bloom

– Standard materials: texture, normal maps, specular maps. color at vertex, etc.

The rendering pipeline is fully specified by a high-level description, which dynamically binds the scene data and parameters to render passes and GLSL shaders. This description is provided as an XML file, from which the RTR generates a custom pipeline that automatically manages dynamic scene changes, scalability for a large number of objects, multithreading, scene queries and the allocation of CPU and GPU resources. The XML file can callback into custom code, allowing for a maximum flexibility.

Thanks to the power of the Fabric Core, the RTR requires no pre-compiled binaries or C++, and can be modified at all stages:

– scene setup is done in Python

– render setup in XML and python

– the RTR engine and custom render callbacks are in KL: our high-performance, just-in-time compiled language

– shaders are in GLSL

All this makes the RTR the right solution for building visually demanding custom tools.

Technical Presentations

General RTR Overview

Stochastic Motion Blur and Depth Of Field