Back to Open Positions
C++ Graphics Developer
Shenzhen
Responsibilities
- Develop rendering modules based on the proprietary RHI/Pass system (debug grids, simulation data rendering, Flex skinning, 3D Gaussian Splatting, etc.)
- Write shaders using an HLSL superset (GPU skinning, particles, lighting, post-processing, ray tracing)
- Develop features and optimize performance for the dual Vulkan (Linux) / DX12 (Windows) backends
- Maintain the CMake build, shader compilation toolchain (DXC + SPIRV-Cross), and asset import pipeline (MJCF to USD)
- Use RenderDoc/PIX/Vulkan Validation Layers to locate GPU bottlenecks and crashes
Requirements
- Familiar with C++17/20, CMake 3.24+, and Git workflows
- Familiar with Vulkan 1.3 or DX12, with a deep understanding of command buffers, pipeline state, descriptors, barriers, and synchronization
- Understand forward/deferred/Forward+ rendering pipelines and familiar with passes such as SSAO, TAA, Bloom, and shadow mapping
- Familiar with HLSL/GLSL and able to write vertex/pixel/compute shaders independently
- Solid 3D math foundation (vectors, matrices, quaternions, projections) and familiar with glm/Eigen
- Able to perform frame capture analysis with RenderDoc
Bonus Points
- Experience with secondary development of 3D engines (UE/Unity/proprietary)
- Familiarity with physics simulation: MuJoCo, PhysX, PBD, SPH, Flex
- Familiarity with robotics: ROS2, LiDAR/depth camera simulation, Sim2Real
- Familiarity with GPU computing: CUDA, compute shaders
- Familiarity with modern rendering: GI, SSR, hair, 3DGS
- Familiarity with inter-process communication: gRPC, shared memory, zero-copy
- Experience with USD/OpenUSD and Python/pybind11 integration