About the Role
We are looking for an experienced Senior C++ Engineer to join our software development team.
You will work on high-performance 3D graphics and rendering technology, developing and optimising real-time rendering systems using modern C++ and graphics APIs such as Vulkan and OpenGL.
This position is ideal for an engineer with strong low-level programming skills who enjoys working close to the GPU, solving performance challenges and developing sophisticated rendering technology.
Your Responsibilities
- Design, develop and optimise real-time rendering systems in C++
- Develop graphics functionality using Vulkan and/or OpenGL
- Work across different areas of the rendering pipeline, from CPU-side rendering architecture to GPU execution
- Develop and optimise GPU shaders using GLSL
- Implement modern rendering techniques including lighting, shadows, post-processing and physically based rendering
- Analyse and improve CPU and GPU performance
- Optimise rendering pipelines for frame time, memory usage and throughput
- Develop solutions for handling complex and high-poly 3D scenes
- Work with techniques such as LOD, instancing, culling and indirect rendering
- Debug rendering and GPU performance issues using specialist graphics tools
- Contribute to the architecture and continued development of the rendering engine
- Collaborate closely with other C++ and graphics engineers
Your Profile
- Several years of professional experience with C++17 / C++20
- Strong background in 3D graphics and real-time rendering
- Hands-on experience with Vulkan and/or OpenGL
- Strong understanding of GPU rendering pipelines
- Knowledge of PBR, lighting, post-processing, mesh rendering and GPU compute
- Experience with CPU/GPU performance optimisation
- Familiarity with profiling tools such as RenderDoc or NVIDIA Nsight
- Experience with Git and CMake
- Fluent English speaking
Key Technologies
C++ | Vulkan | OpenGL | Rendering | 3D Graphics | GLSL | GPU Programming | Shader Development | CMake | RenderDoc | NVIDIA Nsight