Using older versions of OptiX 5/6, I can pass an array/buffer of float4 and then get the number of x components inside of a RT_PROGRAM with the following:
rtBuffer<float4, 2> ray_buffer4;
RT_PROGRAM void orthographic()
{
// get number of x components
int w = ray_buffer4.size().x;
}
Converting this to OptiX 7.0 I create a separate file with this parameter called sys_param.h:
struct SysParam
{
float4 *ray_buffer4;
};
Then inside my shader file myShader.cu:
extern “C” constant SysParam spm;
extern “C” global void shader()
{
int w = spm.ray_buffer4.size().x; // DOES NOT EXIST in OptiX 7
}
The line int w = spm.ray_buffer4.size().x
will obviously not work in OptiX 7 - is there a similar utility offered in OptiX 7.0 that I could employ to determine the number of x components from the float4 array ?
Thank you to anyone who has any idea/hint(s) regarding this question.