Position Overview
SideFX is seeking an exceptional software developer to join its Toronto-based real-time rendering R&D team. Our 3D viewport renderer performs a wide range of roles, such as visualizing simulations, displaying massive datasets, rendering final frames, doing fast scene layout, and modelling interactively. We are using the Vulkan API to push the boundaries of real-time rendering that our clients often require.
As a member of the real-time rendering group, you will be working with some of the brightest minds in the industry and interacting with an outstanding artist community. Everyone here shares a drive for excellence and a passion for innovation. Providing digital artists with the most advanced tools for their craft is, and has always been, our single focus.
What you will be working on
- Advance the viewport rendering engine using Vulkan, with new GPU features such as ray tracing and compute shaders.
- Develop, maintain and support our existing real-time viewport renderer and its Hydra delegate.
- Collaborate with other R&D staff, technical directors, and artists to ensure the rendering technology provides the best solutions for interactivity, render quality, and visualization.
- Other duties as assigned.
What you need to be successful
- Computer Science degree or equivalent industry experience, with a record of academic and professional excellence.
- Industry experience with the Vulkan API.
- Strong knowledge of C++ programming in a multi-threaded environment.
- Experience with advanced real-time/GPU rendering algorithms and techniques, such as microfacet shading models and ray tracing.
- Knowledge of OpenGL rendering and GLSL shader authoring.
- History of delivering innovative, robust and scalable code.
- Ability to learn independently, use solid judgment, and develop at a fast pace.
- Extensive experience in algorithm optimization for memory and performance.
- Uncanny ability to uncover and remove bugs in a large software base.
- Excellent verbal and written communication.
Not required but great to have
- Knowledge of Metal, Qt, and Python.
- Knowledge of OpenCL.
Sample R&D Projects
- Help refine the Vulkan-based architecture of Houdini’s next-generation viewport renderer.
- Leverage Vulkan’s ray tracing capabilities for FX such as occlusion and subsurface scattering.
- Optimize interactivity with massive datasets.
- Optimize simulation update time with compute/graphics interoperability.
- Redesign visualization of simulation attributes.
- Enhance area and environment lighting by means of ray tracing.
- Ensure optimal functioning of the viewport renderer as a USD Hydra delegate.