Proceduray – A light-weight engine for procedural primitive ray tracing
We introduce Proceduray, an engine for real-time ray tracing of procedural geometry. Its motivation is the current lack of mid-level abstraction tools for scenes with primitives involving intersection shaders. Those scenes impose strict engine design choices since they need flexibility in the shader table setup. Proceduray aims at providing a fair tradeoff between that flexibility and productivity. It also aims to be didactic. Shader table behavior can be confusing because parameters for indexing come from different parts of a system, involving both host and device code. This is different in essence from ray tracing triangle meshes (which must use a built-in intersection shader for all objects) or rendering with the traditional graphics or compute pipelines. Additionals goals of the project include fomenting deeper discussions about DirectX RayTracing (DXR) host code and providing a good starting point for developers trying to deal with procedural geometry using DXR.
READ FULL TEXT