Material Definition Language API nvidia_logo_transpbg.gif Up
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
mi::neuraylib::IBsdf_isotropic_data Class Referenceabstract

Abstract interface for isotropic BSDF data. More...

Inheritance diagram for mi::neuraylib::IBsdf_isotropic_data:
mi::base::Interface_declare< 0x23fd6d83, 0x057b, 0x4507, 0xb4, 0x93, 0x0e, 0xbd, 0x44, 0x7b, 0x07, 0xb9 > mi::base::IInterface mi::base::Interface_implement< neuraylib::IBsdf_isotropic_data > mi::neuraylib::Bsdf_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...
 

Additional Inherited Members

- Public Types inherited from mi::base::Interface_declare< 0x23fd6d83, 0x057b, 0x4507, 0xb4, 0x93, 0x0e, 0xbd, 0x44, 0x7b, 0x07, 0xb9 >
typedef Interface_declare< id1,
id2, id3, id4, id5, id6, id7,
id8, id9, id10, id11,
IInterface
Self
 Own type. More...
 
typedef Uuid_t< id1, id2, id3,
id4, id5, id6, id7, id8, id9,
id10, id11 > 
IID
 Declares the interface ID (IID) of this interface. More...
 
- Static Public Member Functions inherited from mi::base::Interface_declare< 0x23fd6d83, 0x057b, 0x4507, 0xb4, 0x93, 0x0e, 0xbd, 0x44, 0x7b, 0x07, 0xb9 >
static bool compare_iid (const Uuid &iid)
 Compares the interface ID iid against the interface ID of this interface and of its ancestors. 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

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.

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.

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.

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.