Closed rtabbara closed 3 months ago
A quick question: Could we implement some kind of auto-conversion to ArrayXf or some other workaround (e.g. a tuple, or 2x Array3fs)? I don't see us using the Array6* types for actual arithmetic much, and there is a non-negligible cost to adding another one of these (plus, it's weird to have 0-4 and then 6 without 5 ;)). AFAIK we're just using this type for temporary storage/access and perhaps a tiny bit of SGD math.
If we absolutely need it, then the binding could be done on demand from Mitsuba, rather than Dr.Jit itself. The drjit/include/python.h
file exposes functionality to create extra bindings when need it.
I think we have some flexibility in the API for the SGGX sampling functions. I wouldn't mind if those were changed to pass 2 x Array3fs. There is a natural split here in the first 3D vector representing diagonal, and the second representing off-diagonal elements
For Mitsuba suite of SGGX distribution functons we need this type to be exposed