I’m curious about that optix::float[n] (e.g. optix::float3) have any advantage compared to float array.
optix::float[n] types force us stricter alignment (while float array requires only 4 byte alignment) so I guess there is a possibility that optix::float[n] types implicitly achieve good performance from the perspective of cache.
Is there another advantage for optix::float[n] even when these are on register?
(I don’t consider operator overloading and other built-in functions for optix::float[n] as advantage here because we can define them for a custom class including float array by ourselves.)