External custom primitives

REDsdk's software rendering architecture lets you add other types of primitives to the intersection process used during the rendering. These are custom external primitives. These primitives may be of any type that can be managed by the application: analytical shapes, nurbs, subdivision surfaces, voxel grids, etc...

Setting up custom ray processing callbacks

Custom intersection callbacks are defined at the viewpoint render list level using RED::IViewpointRenderList::SetViewpointSoftRayProcessingCallbacks. There are two callbacks to specify: