We are currently porting our graphics engine to Vulkan. We have a proprietary abstraction layer that hides the implementation of the graphics backend from the application graphics layer. The backend is implemented on both DirectX 11 (current) and Vulkan (in development), and we need to ensure backward compatibility with the current version of DirectX.
Your responsibilities will include:
- Working in collaboration with our application-level graphics programmers to bring their DirectX-centric rendering routines into a more Vulkan-friendly form;
-
Extending our current proprietary API to include new features (such as, for example, mesh shaders, ray tracing, etc.);
-
Profiling and optimizing the entire rendering pipeline at both the application and backend levels;
-
Supporting virtual reality devices with the engine;
-
Participation in the formation of a new engine philosophy focused on GPU-driven rendering (GPU-driven rendering).
Requirements:
- Deep knowledge of Vulkan API, knowledge of DirectX 11, 12 will be a big plus;
-
Deep understanding of synchronization mechanisms in Vulkan;
-
Deep knowledge of C++14;
-
Knowledge of HLSL, experience in writing shaders;
-
Deep knowledge of modern graphics programming, deep understanding of modern GPU architecture and rendering pipeline;
-
Experience with multithreading, ability to write (and debug!) code for multithreaded applications;
-
Experience in writing graphics engines;