Namespace for the MDL API. More...
Classes | |
class | Argument_editor |
A wrapper around the interfaces for MDL material instances and function calls. More... | |
class | Definition_wrapper |
A wrapper around the interfaces for MDL material and function definitions. More... | |
class | Bsdf_buffer |
Example implementation of the abstract interface mi::neuraylib::IBsdf_buffer. More... | |
class | Bsdf_isotropic_data |
Example implementation of the abstract interface mi::neuraylib::IBsdf_isotropic_data. More... | |
class | IAllocator |
The Allocator interface class supports allocating and releasing memory dynamically and querying the amount of extra memory used in the integrating application. More... | |
class | IAttribute_set |
The attribute set comprises all attributes attached to a database element. More... | |
class | IBsdf_isotropic_data |
Abstract interface for isotropic BSDF data. More... | |
class | IBsdf_buffer |
Abstract interface for a buffer of BSDF values. More... | |
class | IBsdf_measurement |
A scene element that stores measured BSDF data. More... | |
class | ICanvas_base |
Abstract interface for a canvas (base class). More... | |
class | ICanvas |
Abstract interface for a canvas represented by a rectangular array of tiles. More... | |
class | ICompiled_material |
This interface represents a compiled material. More... | |
class | IDatabase |
This interface is used to interact with the distributed database. More... | |
class | IDebug_configuration |
This interface represents an interface to set debug options. More... | |
class | IExpression |
The interface to MDL expressions. More... | |
class | IExpression_constant |
A constant expression. More... | |
class | IExpression_call |
An indirect call expression. More... | |
class | IExpression_parameter |
A parameter reference expression. More... | |
class | IExpression_direct_call |
A direct call expression. More... | |
class | IExpression_temporary |
A temporary reference expression. More... | |
class | IExpression_list |
An ordered collection of expressions identified by name or index. More... | |
class | IAnnotation |
An annotation is similar to a direct call expression, but without corresponding definition and return type. More... | |
class | IAnnotation_block |
An annotation block is an array of annotations. More... | |
class | IAnnotation_list |
An ordered collection of annotation blocks identified by name or index. More... | |
class | IExpression_factory |
The interface for creating expressions. More... | |
class | IFactory |
This API component allows the creation, assignment, and cloning of instances of types. More... | |
class | IFunction_call |
This interface represents a function call. More... | |
class | IFunction_definition |
This interface represents a function definition. More... | |
class | IImage |
This interface represents a pixel image file. More... | |
class | IImage_api |
This interface provides various utilities related to canvases and buffers. More... | |
class | ILightprofile |
This interface represents light profiles. More... | |
class | IMaterial_definition |
This interface represents a material definition. More... | |
class | IMaterial_instance |
This interface represents a material instance. More... | |
class | IMdl_archive_api |
This API component provides functionality related to MDL archives. More... | |
class | IManifest |
Represents the manifest in an MDL archive. More... | |
class | IMdl_compiler |
The MDL compiler allows to import and export .mdl files, to examine their contents, to create a compiled representation of these via a backend, and to export image canvases, light profiles and measured BSDF data. More... | |
class | IMdl_backend |
MDL backends allow to transform compiled material instances or function calls into target code. More... | |
class | ITarget_resource_callback |
A callback interface to allow the user to handle resources when creating new mi::neuraylib::ITarget_argument_block objects for class-compiled materials when the arguments contain textures not known during compilation. More... | |
class | ITarget_argument_block |
Represents an argument block of a class-compiled material compiled for a specific target. More... | |
struct | Target_value_layout_state |
Structure representing the state during traversal of the nested layout. More... | |
class | ITarget_value_layout |
Represents the layout of an mi::neuraylib::ITarget_argument_block with support for nested elements. More... | |
class | ITarget_code |
Represents target code of an MDL backend. More... | |
class | ILink_unit |
Represents a link-unit of an MDL backend. More... | |
class | IMdl_info |
Abstract interface for a discovery graph node. More... | |
class | IMdl_module_info |
Interface for a graph node representing an MDL module. More... | |
class | IMdl_package_info |
Interface for a graph node representing an MDL package. More... | |
class | IMdl_discovery_result |
Interface for the discovery result. More... | |
class | IMdl_discovery_api |
Interface for the discovery API. More... | |
class | IMdl_distiller_api |
Provides access to various functionality related to MDL distilling. More... | |
class | IBaker |
Allows to bake a varying or uniform expression of a compiled material into a texture or constant. More... | |
class | IMessage |
Message interface. More... | |
class | IMdl_execution_context |
The execution context can be used to query status information like error and warning messages concerning the operation it was passed into. More... | |
class | IMdl_evaluator_api |
Provides access to various functions for the evaluation of MDL expressions. More... | |
class | IMdl_factory |
Factory for various MDL interfaces and functions. More... | |
class | IModule |
This interface represents an MDL module. More... | |
class | INeuray |
This is an object representing the MDL API library. More... | |
class | IReader |
A reader supports binary block reads and string-oriented line reads that zero-terminate the result. More... | |
class | IReader_writer_base |
Base interface for readers and writers. More... | |
class | IScene_element |
Common base interface for all scene elements. More... | |
class | IScope |
A scope is the context which determines the visibility of database elements. More... | |
class | IStream_position |
Represents the position in a data stream. More... | |
class | ITexture |
Textures add image processing options to images. More... | |
class | ITile |
Abstract interface for a tile. More... | |
class | ITransaction |
A transaction provides a consistent view on the database. More... | |
class | IType |
The interface to MDL types. More... | |
class | IType_alias |
The type of kind alias. More... | |
class | IType_atomic |
An atomic type. More... | |
class | IType_bool |
The type of kind bool. More... | |
class | IType_int |
The type of kind int. More... | |
class | IType_enum |
A type of kind enum. More... | |
class | IType_float |
The type of kind float. More... | |
class | IType_double |
The type of kind double. More... | |
class | IType_string |
The type of kind string. More... | |
class | IType_compound |
A compound type. More... | |
class | IType_vector |
The type of kind vector. More... | |
class | IType_matrix |
The type of kind matrix. More... | |
class | IType_color |
The type of kind color. More... | |
class | IType_array |
The type of kind array. More... | |
class | IType_struct |
The type of kind struct. More... | |
class | IType_reference |
The reference types. More... | |
class | IType_resource |
A string valued resource type. More... | |
class | IType_texture |
The type of kind texture. More... | |
class | IType_light_profile |
The type of kind light_profile. More... | |
class | IType_bsdf_measurement |
The type of kind bsdf_measurement. More... | |
class | IType_df |
The type of distribution functions. More... | |
class | IType_bsdf |
The type of kind bsdf. More... | |
class | IType_edf |
The type of kind edf. More... | |
class | IType_vdf |
The type of kind vdf. More... | |
class | IType_list |
An ordered collection of types identified by name or index. More... | |
class | IType_factory |
The interface for creating types. More... | |
class | IValue |
The interface to MDL values. More... | |
class | IValue_atomic |
An atomic value. More... | |
class | IValue_bool |
A value of type boolean. More... | |
class | IValue_int |
A value of type integer. More... | |
class | IValue_enum |
A value of type enum. More... | |
class | IValue_float |
A value of type float. More... | |
class | IValue_double |
A value of type double. More... | |
class | IValue_string |
A value of type string. More... | |
class | IValue_compound |
A compound value. More... | |
class | IValue_vector |
A value of type vector. More... | |
class | IValue_matrix |
A value of type matrix. More... | |
class | IValue_color |
A value of type color. More... | |
class | IValue_array |
A value of type array. More... | |
class | IValue_struct |
A value of type struct. More... | |
class | IValue_resource |
Base class for resource values. More... | |
class | IValue_texture |
A texture value. More... | |
class | IValue_light_profile |
A light profile value. More... | |
class | IValue_bsdf_measurement |
A BSDF measurement value. More... | |
class | IValue_invalid_df |
An invalid distribution function value. More... | |
class | IValue_list |
An ordered collection of values identified by name or index. More... | |
class | IValue_factory |
The interface for creating values. More... | |
class | IVersion |
Abstract interface for accessing version information. More... | |
class | IWriter |
A writer supports binary block writes and string-oriented line writes that accept a zero-terminated string as argument. More... | |
struct | tct_deriv |
A template struct with derivatives. More... | |
struct | tct_traits |
Helper traits struct to switch between derivative and non-derivative types. More... | |
struct | Shading_state_environment |
The MDL environment state structure inside the MDL SDK is a representation of the renderer state in the context of an environment lookup as defined in section 19 "Renderer state" in the MDL specification. More... | |
struct | Shading_state_material_impl |
The MDL material state structure inside the MDL SDK is a representation of the renderer state as defined in section 19 "Renderer state" in the MDL specification. More... | |
struct | Texture_handler_vtable_impl |
The runtime for bitmap texture access for the generated target code can optionally be implemented in form of a vtable as specified by this structure. More... | |
struct | Texture_handler_base |
The texture handler structure that is passed to the texturing functions. More... | |
struct | Texture_handler_deriv_base |
The texture handler structure that is passed to the texturing functions with derivative support. More... | |
struct | Resource_data |
The data structure providing access to resources for generated code. More... | |
struct | Bsdf_sample_data |
Input and output structure for BSDF sampling data. More... | |
struct | Bsdf_evaluate_data |
Input and output structure for BSDF evaluation data. More... | |
struct | Bsdf_pdf_data |
Input and output structure for BSDF PDF calculation data. More... | |
struct | Edf_sample_data |
Input and output structure for EDF sampling data. More... | |
struct | Edf_evaluate_data |
Input and output structure for EDF evaluation data. More... | |
struct | Edf_pdf_data |
Input and output structure for EDF PDF calculation data. More... | |
Typedefs | |
typedef float | tct_float |
A float. More... | |
typedef mi::Float32_2_struct | tct_float2 |
A float2. More... | |
typedef mi::Float32_3_struct | tct_float3 |
A float3. More... | |
typedef mi::Float32_4_struct | tct_float4 |
A float4. More... | |
typedef mi::Sint32 | tct_int |
An int. More... | |
typedef mi::Uint32 | tct_uint |
An unsigned int. More... | |
typedef tct_traits< true > ::tct_derivable_float | tct_deriv_float |
A float with derivatives. More... | |
typedef tct_traits< true > ::tct_derivable_float2 | tct_deriv_float2 |
A float2 with derivatives. More... | |
typedef tct_traits< true > ::tct_derivable_float3 | tct_deriv_float3 |
A float3 with derivatives. More... | |
typedef tct_traits< true > ::tct_derivable_float4 | tct_deriv_float4 |
A float4 with derivatives. More... | |
typedef struct Shading_state_material_impl < false > | Shading_state_material |
The MDL material state structure. More... | |
typedef struct Shading_state_material_impl < true > | Shading_state_material_with_derivs |
The MDL material state structure with derivatives for the texture coordinates. More... | |
typedef Texture_handler_vtable_impl < false > | Texture_handler_vtable |
The texture handler vtable struct. More... | |
typedef Texture_handler_vtable_impl < true > | Texture_handler_deriv_vtable |
The texture handler vtable struct with derivatives for the texture coordinates. More... | |
typedef void( | Environment_function )(void *result, Shading_state_environment const *state, Resource_data const *res_data, void const *exception_state, char const *arg_block_data) |
Signature of environment functions created via mi::neuraylib::IMdl_backend::translate_environment() and mi::neuraylib::ILink_unit::add_environment(). More... | |
typedef void( | Material_expr_function )(void *result, Shading_state_material const *state, Resource_data const *res_data, void const *exception_state, char const *arg_block_data) |
Signature of material expression functions created via mi::neuraylib::IMdl_backend::translate_material_expression() and mi::neuraylib::ILink_unit::add_material_expression(). More... | |
typedef void( | Material_expr_function_with_derivs )(void *result, Shading_state_material_with_derivs const *state, Resource_data const *res_data, void const *exception_state, char const *arg_block_data) |
Signature of material expression functions created via mi::neuraylib::IMdl_backend::translate_material_expression() and mi::neuraylib::ILink_unit::add_material_expression(). More... | |
typedef void( | Bsdf_init_function )(Shading_state_material *state, Resource_data const *res_data, void const *exception_state, char const *arg_block_data) |
Signature of the initialization function for material distribution functions created via mi::neuraylib::IMdl_backend::translate_material_df() and mi::neuraylib::ILink_unit::add_material_df(). More... | |
typedef void( | Bsdf_init_function_with_derivs )(Shading_state_material_with_derivs *state, Resource_data const *res_data, void const *exception_state, char const *arg_block_data) |
Signature of the initialization function for material distribution functions created via mi::neuraylib::IMdl_backend::translate_material_df() and mi::neuraylib::ILink_unit::add_material_df(). More... | |
typedef void( | Bsdf_sample_function )(Bsdf_sample_data *data, Shading_state_material const *state, Resource_data const *res_data, void const *exception_state, char const *arg_block_data) |
Signature of the importance sampling function for material distribution functions created via mi::neuraylib::IMdl_backend::translate_material_df() and mi::neuraylib::ILink_unit::add_material_df(). More... | |
typedef void( | Bsdf_sample_function_with_derivs )(Bsdf_sample_data *data, Shading_state_material_with_derivs const *state, Resource_data const *res_data, void const *exception_state, char const *arg_block_data) |
Signature of the importance sampling function for material distribution functions created via mi::neuraylib::IMdl_backend::translate_material_df() and mi::neuraylib::ILink_unit::add_material_df(). More... | |
typedef void( | Bsdf_evaluate_function )(Bsdf_evaluate_data *data, Shading_state_material const *state, Resource_data const *res_data, void const *exception_state, char const *arg_block_data) |
Signature of the evaluation function for material distribution functions created via mi::neuraylib::IMdl_backend::translate_material_df() and mi::neuraylib::ILink_unit::add_material_df(). More... | |
typedef void( | Bsdf_evaluate_function_with_derivs )(Bsdf_evaluate_data *data, Shading_state_material_with_derivs const *state, Resource_data const *res_data, void const *exception_state, char const *arg_block_data) |
Signature of the evaluation function for material distribution functions created via mi::neuraylib::IMdl_backend::translate_material_df() and mi::neuraylib::ILink_unit::add_material_df(). More... | |
typedef void( | Bsdf_pdf_function )(Bsdf_pdf_data *data, Shading_state_material const *state, Resource_data const *res_data, void const *exception_state, char const *arg_block_data) |
Signature of the probability density function for material distribution functions created via mi::neuraylib::IMdl_backend::translate_material_df() and mi::neuraylib::ILink_unit::add_material_df(). More... | |
typedef void( | Bsdf_pdf_function_with_derivs )(Bsdf_pdf_data *data, Shading_state_material_with_derivs const *state, Resource_data const *res_data, void const *exception_state, char const *arg_block_data) |
Signature of the probability density function for material distribution functions created via mi::neuraylib::IMdl_backend::translate_material_df() and mi::neuraylib::ILink_unit::add_material_df(). More... | |
typedef void( | Edf_init_function )(Shading_state_material *state, Resource_data const *res_data, void const *exception_state, char const *arg_block_data) |
Signature of the initialization function for material distribution functions created via mi::neuraylib::IMdl_backend::translate_material_df() and mi::neuraylib::ILink_unit::add_material_df(). More... | |
typedef void( | Edf_init_function_with_derivs )(Shading_state_material_with_derivs *state, Resource_data const *res_data, void const *exception_state, char const *arg_block_data) |
Signature of the initialization function for material distribution functions created via mi::neuraylib::IMdl_backend::translate_material_df() and mi::neuraylib::ILink_unit::add_material_df(). More... | |
typedef void( | Edf_sample_function )(Edf_sample_data *data, Shading_state_material const *state, Resource_data const *res_data, void const *exception_state, char const *arg_block_data) |
Signature of the importance sampling function for material distribution functions created via mi::neuraylib::IMdl_backend::translate_material_df() and mi::neuraylib::ILink_unit::add_material_df(). More... | |
typedef void( | Edf_sample_function_with_derivs )(Edf_sample_data *data, Shading_state_material_with_derivs const *state, Resource_data const *res_data, void const *exception_state, char const *arg_block_data) |
Signature of the importance sampling function for material distribution functions created via mi::neuraylib::IMdl_backend::translate_material_df() and mi::neuraylib::ILink_unit::add_material_df(). More... | |
typedef void( | Edf_evaluate_function )(Edf_evaluate_data *data, Shading_state_material const *state, Resource_data const *res_data, void const *exception_state, char const *arg_block_data) |
Signature of the evaluation function for material distribution functions created via mi::neuraylib::IMdl_backend::translate_material_df() and mi::neuraylib::ILink_unit::add_material_df(). More... | |
typedef void( | Edf_evaluate_function_with_derivs )(Edf_evaluate_data *data, Shading_state_material_with_derivs const *state, Resource_data const *res_data, void const *exception_state, char const *arg_block_data) |
Signature of the evaluation function for material distribution functions created via mi::neuraylib::IMdl_backend::translate_material_df() and mi::neuraylib::ILink_unit::add_material_df(). More... | |
typedef void( | Edf_pdf_function )(Edf_pdf_data *data, Shading_state_material const *state, Resource_data const *res_data, void const *exception_state, char const *arg_block_data) |
Signature of the probability density function for material distribution functions created via mi::neuraylib::IMdl_backend::translate_material_df() and mi::neuraylib::ILink_unit::add_material_df(). More... | |
typedef void( | Edf_pdf_function_with_derivs )(Edf_pdf_data *data, Shading_state_material_with_derivs const *state, Resource_data const *res_data, void const *exception_state, char const *arg_block_data) |
Signature of the probability density function for material distribution functions created via mi::neuraylib::IMdl_backend::translate_material_df() and mi::neuraylib::ILink_unit::add_material_df(). More... | |
Functions | |
template<class T > | |
T * | mi_factory (void *symbol) |
Convenience function to ease the use of mi_factory(). More... | |
template<class T > | |
mi::Sint32 | set_value (mi::neuraylib::IValue *value, const T &v) |
Simplifies setting the value of mi::neuraylib::IValue from the corresponding classes from the base and math API. More... | |
mi::Sint32 | set_value (mi::neuraylib::IValue *value, const bool &v) |
This specialization handles mi::neuraylib::IValue_bool. More... | |
mi::Sint32 | set_value (mi::neuraylib::IValue *value, const mi::Float32 &v) |
This specialization handles mi::neuraylib::IValue_float and mi::neuraylib::IValue_double. More... | |
mi::Sint32 | set_value (mi::neuraylib::IValue *value, const mi::Float64 &v) |
This specialization handles mi::neuraylib::IValue_float and mi::neuraylib::IValue_double. More... | |
mi::Sint32 | set_value (mi::neuraylib::IValue *value, const char *v) |
This specialization handles mi::neuraylib::IValue_enum, mi::neuraylib::IValue_string and mi::neuraylib::IValue_resource. More... | |
template<class T , Size DIM> | |
mi::Sint32 | set_value (mi::neuraylib::IValue *value, const mi::math::Vector< T, DIM > &v) |
This specialization handles mi::neuraylib::IValue_vector. More... | |
template<class T , Size ROW, Size COL> | |
mi::Sint32 | set_value (mi::neuraylib::IValue *value, const mi::math::Matrix< T, ROW, COL > &v) |
This specialization handles mi::neuraylib::IValue_matrix. More... | |
mi::Sint32 | set_value (mi::neuraylib::IValue *value, const mi::math::Color &v) |
This specialization handles mi::neuraylib::IValue_color. More... | |
mi::Sint32 | set_value (mi::neuraylib::IValue *value, const mi::math::Spectrum &v) |
This specialization handles mi::neuraylib::IValue_color. More... | |
template<class T > | |
mi::Sint32 | set_value (mi::neuraylib::IValue *value, mi::Size index, const T &v) |
This variant handles elements of compounds identified via an additional index. More... | |
template<class T > | |
mi::Sint32 | set_value (mi::neuraylib::IValue *value, const char *name, const T &v) |
This variant handles fields of structs identified via an additional field name. More... | |
template<class T > | |
mi::Sint32 | get_value (const mi::neuraylib::IValue *value, T &v) |
base and math API. More... | |
mi::Sint32 | get_value (const mi::neuraylib::IValue *value, bool &v) |
This specialization handles mi::neuraylib::IValue_bool. More... | |
mi::Sint32 | get_value (const mi::neuraylib::IValue *value, mi::Float32 &v) |
This specialization handles mi::neuraylib::IValue_float and mi::neuraylib::IValue_double. More... | |
mi::Sint32 | get_value (const mi::neuraylib::IValue *value, mi::Float64 &v) |
This specialization handles mi::neuraylib::IValue_float and mi::neuraylib::IValue_double. More... | |
mi::Sint32 | get_value (const mi::neuraylib::IValue *value, const char *&v) |
This specialization handles mi::neuraylib::IValue_enum, mi::neuraylib::IValue_string and mi::neuraylib::IValue_resource. More... | |
template<class T , Size DIM> | |
mi::Sint32 | get_value (const mi::neuraylib::IValue *value, mi::math::Vector< T, DIM > &v) |
This specialization handles mi::neuraylib::IValue_vector. More... | |
template<class T , Size ROW, Size COL> | |
mi::Sint32 | get_value (const mi::neuraylib::IValue *value, mi::math::Matrix< T, ROW, COL > &v) |
This specialization handles mi::neuraylib::IValue_matrix. More... | |
mi::Sint32 | get_value (const mi::neuraylib::IValue *value, mi::math::Color &v) |
This specialization handles mi::neuraylib::IValue_color. More... | |
mi::Sint32 | get_value (const mi::neuraylib::IValue *value, mi::math::Spectrum &v) |
This specialization handles mi::neuraylib::IValue_color. More... | |
template<class T > | |
mi::Sint32 | get_value (const mi::neuraylib::IValue *value, mi::Size index, T &v) |
This variant handles elements of compounds identified via an additional index. More... | |
template<class T > | |
mi::Sint32 | get_value (const mi::neuraylib::IValue *value, const char *name, T &v) |
This variant handles fields of structs identified via an additional field name. More... | |
Namespace for the MDL API.
T* mi::neuraylib::mi_factory | ( | void * | symbol) |
Convenience function to ease the use of mi_factory().
symbol | pointer to the mi_factory symbol. |
T
or NULL
if the interface could not be retrieved. See mi_factory for supported interfaces.