MDL SDK API nvidia_logo_transpbg.gif Up
mi::neuraylib::IBsdf_isotropic_data Class Referenceabstract

Abstract interface for isotropic BSDF data. More...

#include <ibsdf_isotropic_data.h>

Inheritance diagram for mi::neuraylib::IBsdf_isotropic_data:

Public Member Functions

virtual Uint32 get_resolution_theta () const =0
 Returns the number of values in theta direction. More...
 
virtual Uint32 get_resolution_phi () const =0
 Returns the number of values in phi direction. More...
 
virtual Bsdf_type get_type () const =0
 Returns the type of the values. More...
 
virtual const IBsdf_bufferget_bsdf_buffer () const =0
 Returns the buffer containing the actual 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 IInterfaceget_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 IInterfaceget_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< 0x23fd6d83, ... >
typedef Interface_declare< id1, ... > Self
 Own type. More...
 
typedef Uuid_t< id1, ... > IID
 Declares the interface ID (IID) of this interface. More...
 
- Public Types inherited from mi::base::IInterface
typedef Uuid_t<0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0> IID
 Declares the interface ID (IID) of this interface. More...
 
- Static Public Member Functions inherited from mi::base::Interface_declare< 0x23fd6d83, ... >
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...
 

Detailed Description

Abstract interface for isotropic BSDF data.

The isotropic BSDF data is modeled as a three-dimensional grid of values. The three dimensions of the grid are called theta_in, theta_out, and phi_in. The values can be of two types: scalars or RGB values (see Bsdf_type). The grid values are uniformly distributed in the range [0,pi/2) for theta_in and theta_out and in the range [0,pi] for phi_in. The resolution, i.e., the number of values, of each dimension is arbitrary with the limitation that the resolution for theta_in and theta_out has to be identical.

See also
mi::neuraylib::IBsdf_measurement and mi::neuraylib::IBsdf_buffer for related interfaces
mi::neuraylib::Bsdf_isotropic_data for an example implementation of this interface

Member Function Documentation

 get_bsdf_buffer()

virtual const IBsdf_buffer * mi::neuraylib::IBsdf_isotropic_data::get_bsdf_buffer ( ) const
pure virtual

Returns the buffer containing the actual values.

Implemented in mi::neuraylib::Bsdf_isotropic_data.

 get_resolution_phi()

virtual Uint32 mi::neuraylib::IBsdf_isotropic_data::get_resolution_phi ( ) const
pure virtual

Returns the number of values in phi direction.

Implemented in mi::neuraylib::Bsdf_isotropic_data.

 get_resolution_theta()

virtual Uint32 mi::neuraylib::IBsdf_isotropic_data::get_resolution_theta ( ) const
pure virtual

Returns the number of values in theta direction.

Implemented in mi::neuraylib::Bsdf_isotropic_data.

 get_type()

virtual Bsdf_type mi::neuraylib::IBsdf_isotropic_data::get_type ( ) const
pure virtual

Returns the type of the values.

Implemented in mi::neuraylib::Bsdf_isotropic_data.