External Custom Primitives

HOOPS Luminate’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:

  • The RED::SOFT_RAY_PROCESSING_INTERSECTION_CALLBACK in charge of the intersection with the custom geometry.

  • The RED::SOFT_RAY_PROCESSING_SHADING_CALLBACK in charge of returning material and shading informations needed by HOOPS Luminate for the hit custom primitive.