Introducing the Nebula Render
In the process of preparing our 2019 Ray tracing and Rendering report, we have searched for all the ray tracing programs and suppliers we could find. The report is about geometry-based ray tracing and does not embrace field, optical, audio, or other non-3D (virtual or real) ray tracing applications or software.
We have identified 71 ray tracing programs from integrated to stand-alone and plug-ins. Of that population, we have found 21 that are free, including the ones that are free until one makes over $100,000 using the program.
One of the newest entries into this category is Nebula in Montreal and the developer, Yann Clotioloman Yéo, released the first version on GitHub in February this year. Before working on Nebula, he was studying software engineering at Laval University in Quebec and is currently working in the video game industry.
It’s a physically based, unbiased, stand-alone renderer with realtime DirectX 12 preview written in C++. It runs on Windows 10 (64-bit) and requires SSE4 to run. However, it’s a ground-up design and does not use Intel’s Embree middleware. Nebula will automatically choose at runtime between SSE4 and AVX2 depending on the device. The program uses Intel’s TBB—task scheduling framework.
General features:
- Intuitive user interface with multiple settings (materials, lights, and more)
- Create scenes from model files and save it in xml files
- Material import/export
- Free play camera
- Render photorealistic images
The program supports refractive materials, depth of field, area lights, soft shadows, ambient occlusion, subsurface scattering, homogeneous participating medium, post-process denoising, standard image filtering (brightness, hue, bloom…), and allows save renders to a file. Currently, there is no material library supported. The Nvidia MDL is being considered.
As an offline renderer, it offers multithreaded path tracing with two modes:
- Pure CPU intersection kernels. It is the default mode.
- Hybrid. Use the CPU for secondary rays and the GPU with AMD’s Radeons Rays for primaries.
Nebula comes with a fully featured editor. The application viewport uses the DirectX 12 API. The software also supports realtime (progressive) ray tracing, allowing users to interactively edit scenes and see a preview of the final result, and finally launch a production render (with support of post-process denoising with OpenCV).
The Offline and Realtime renderer support physically based rendering, directional and omni lights, cube maps, transparent materials, and Normal mapping. And it doesn’t do AI denoising since Nebula is an unbiased renderer.
The future
Yéo has a roadmap too and is planning the following additions:
For the general features, he wants to add an animation timeline and skeletal animation. In the Offline renderer, he’s looking at including the Open Shading Language, heterogeneous participating medium, as well as other integrators: bidirectional path tracing, and photon mapping.
And for the Realtime renderer, he plans to replace DirectX 12 by Vulkan (for macOS) and add Shadow mapping.
Nebula Render is a free software, for both personal and commercial use.
What do we think?
Nebula is currently a free and partially open source project. For the future, building a company or making it a full open source project are options that are being considered. Yéo originally developed Nebula to learn new technologies. In the past, he only had knowledge of graphics programming using OpenGL. Then DirectX 12 and Vulkan came out. Working on Nebula gave him the opportunity to learn DirectX, learn a modern graphics API, and also CPU rendering.
So, just as many ray tracing programs have found their origins as a graduate project, or what’s called a science project, Nebula is in a similar class. But such projects have yielded great successes like V-Ray and Arnold so who’s to say Nebula couldn’t be the next big thing. At the very least it could be a technology pick up for a larger company, wouldn’t be the first time we have seen that happen.