Abstract interface for a buffer of BSDF values. More...
#include <ibsdf_isotropic_data.h>

Public Member Functions | |
| virtual const Float32 * | get_data () const =0 |
| Returns the memory block containing the actual BSDF values. More... | |
Public Member Functions inherited from mi::base::IInterface | |
| virtual Uint32 | retain () const =0 |
| Increments the reference count. More... | |
| virtual Uint32 | release () const =0 |
| Decrements the reference count. More... | |
| virtual const IInterface * | get_interface (const Uuid &interface_id) const =0 |
| Acquires a const interface from another. More... | |
| template<class T> | |
| const T * | get_interface () const |
| Acquires a const interface from another. More... | |
| virtual IInterface * | get_interface (const Uuid &interface_id)=0 |
| Acquires a mutable interface from another. More... | |
| template<class T> | |
| T * | get_interface () |
| Acquires a mutable interface from another. More... | |
| virtual Uuid | get_iid () const =0 |
| Returns the interface ID of the most derived interface. More... | |
Additional Inherited Members | |
Public Types inherited from mi::base::Interface_declare< 0xdf3e6121, ... > | |
| using | Self = Interface_declare< id1, ... > |
| Own type. More... | |
| using | IID = Uuid_t< id1, ... > |
| Declares the interface ID (IID) of this interface. More... | |
Public Types inherited from mi::base::IInterface | |
| using | IID = Uuid_t<0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0> |
| Declares the interface ID (IID) of this interface. More... | |
Static Public Member Functions inherited from mi::base::Interface_declare< 0xdf3e6121, ... > | |
| static bool | compare_iid (const Uuid &iid) |
Compares the interface ID iid against the interface ID of this interface and of its ancestors. More... | |
Static Public Member Functions inherited from mi::base::IInterface | |
| static bool | compare_iid (const Uuid &iid) |
Compares the interface ID iid against the interface ID of this interface. More... | |
Abstract interface for a buffer of BSDF values.
|
pure virtual |
Returns the memory block containing the actual BSDF values.
The size of the array is given by
where res_phi is the value returned by mi::neuraylib::IBsdf_isotropic_data::get_resolution_phi(), res_theta is the value returned by mi::neuraylib::IBsdf_isotropic_data::get_resolution_theta(), and factor is 1 if mi::neuraylib::IBsdf_isotropic_data::get_type() returns mi::neuraylib::BSDF_SCALAR and 3 otherwise.
The index of the (first) element for a particular triple (index_theta_in, index_theta_out, index_phi_in) is given by
The pointer returned by this method has to be valid for the lifetime of this interface.
Implemented in mi::neuraylib::Bsdf_buffer.