Receiver Logic
The Optix Runner was originally developed to have predefined receiver geometry, an example of this is in material.cu with __closesthit_receiver().
We should remove all receiver specific functionality now that geometries support optical properties. Also see CspElement.h->CspElementBase->m_receiver.
Share Interaction Method
The ray optical interaction is calculated in materials.cu, and is currently set up to use a unique function depending on the geometry type (__closesthit__mirror(), __closesthit__mirror_parabolic(), etc). This logic can likely be consolidated to one function, and shared regardless of geometry type, similar to process_interaction.cpp in the native runner.
Receiver Logic
The Optix Runner was originally developed to have predefined receiver geometry, an example of this is in material.cu with __closesthit_receiver().
We should remove all receiver specific functionality now that geometries support optical properties. Also see CspElement.h->CspElementBase->m_receiver.
Share Interaction Method
The ray optical interaction is calculated in materials.cu, and is currently set up to use a unique function depending on the geometry type (__closesthit__mirror(), __closesthit__mirror_parabolic(), etc). This logic can likely be consolidated to one function, and shared regardless of geometry type, similar to process_interaction.cpp in the native runner.