Material Definition Language API nvidia_logo_transpbg.gif Up
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
target_code_types.h File Reference

Types required for execution of generated native and CUDA code. More...

Go to the source code of this file.

Classes

struct  mi::neuraylib::tct_deriv< T >
 A template struct with derivatives. More...
 
struct  mi::neuraylib::tct_traits< with_derivatives >
 Helper traits struct to switch between derivative and non-derivative types. More...
 
struct  mi::neuraylib::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  mi::neuraylib::Shading_state_material_impl< with_derivatives >
 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  mi::neuraylib::Texture_handler_vtable_impl< with_derivatives >
 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  mi::neuraylib::Texture_handler_base
 The texture handler structure that is passed to the texturing functions. A user can derive from this structure and add custom fields as required by the texturing function implementations. More...
 
struct  mi::neuraylib::Texture_handler_deriv_base
 The texture handler structure that is passed to the texturing functions with derivative support. A user can derive from this structure and add custom fields as required by the texturing function implementations. More...
 
struct  mi::neuraylib::Resource_data
 The data structure providing access to resources for generated code. More...
 
struct  mi::neuraylib::Bsdf_sample_data
 Input and output structure for BSDF sampling data. More...
 
struct  mi::neuraylib::Bsdf_evaluate_data_base
 Input and output structure for BSDF evaluation data. More...
 
struct  mi::neuraylib::Bsdf_pdf_data
 Input and output structure for BSDF PDF calculation data. More...
 
struct  mi::neuraylib::Bsdf_auxiliary_data_base
 Input and output structure for BSDF auxiliary calculation data. More...
 
struct  mi::neuraylib::Edf_sample_data
 Input and output structure for EDF sampling data. More...
 
struct  mi::neuraylib::Edf_evaluate_data_base
 Input and output structure for EDF evaluation data. More...
 
struct  mi::neuraylib::Edf_pdf_data
 Input and output structure for EDF PDF calculation data. More...
 
struct  mi::neuraylib::Edf_auxiliary_data_base
 Input and output structure for EDF auxiliary calculation data. More...
 

Namespaces

 mi
 Common namespace for APIs of NVIDIA Advanced Rendering Center GmbH.
 
 mi::neuraylib
 Namespace for the MDL API.
 

Constant Groups

 mi
 Common namespace for APIs of NVIDIA Advanced Rendering Center GmbH.
 
 mi::neuraylib
 Namespace for the MDL API.
 

Macros

#define MI_NEURAYLIB_BSDF_USE_MATERIAL_IOR   (-1.0f)
 The calling code can mark the x component of an IOR field in *_data with MI_NEURAYLIB_BSDF_USE_MATERIAL_IOR, to make the BSDF functions use the MDL material's IOR for this IOR field. More...
 

Typedefs

typedef float mi::neuraylib::tct_float
 A float. More...
 
typedef mi::Float32_2_struct mi::neuraylib::tct_float2
 A float2. More...
 
typedef mi::Float32_3_struct mi::neuraylib::tct_float3
 A float3. More...
 
typedef mi::Float32_4_struct mi::neuraylib::tct_float4
 A float4. More...
 
typedef mi::Sint32 mi::neuraylib::tct_int
 An int. More...
 
typedef mi::Uint32 mi::neuraylib::tct_uint
 An unsigned int. More...
 
typedef bool mi::neuraylib::tct_bool
 A bool. More...
 
typedef tct_traits< true >
::tct_derivable_float 
mi::neuraylib::tct_deriv_float
 A float with derivatives. More...
 
typedef tct_traits< true >
::tct_derivable_float2 
mi::neuraylib::tct_deriv_float2
 A float2 with derivatives. More...
 
typedef tct_traits< true >
::tct_derivable_float3 
mi::neuraylib::tct_deriv_float3
 A float3 with derivatives. More...
 
typedef tct_traits< true >
::tct_derivable_float4 
mi::neuraylib::tct_deriv_float4
 A float4 with derivatives. More...
 
typedef struct
Shading_state_material_impl
< false > 
mi::neuraylib::Shading_state_material
 The MDL material state structure. More...
 
typedef struct
Shading_state_material_impl
< true > 
mi::neuraylib::Shading_state_material_with_derivs
 The MDL material state structure with derivatives for the texture coordinates. More...
 
typedef
Texture_handler_vtable_impl
< false > 
mi::neuraylib::Texture_handler_vtable
 The texture handler vtable struct. More...
 
typedef
Texture_handler_vtable_impl
< true > 
mi::neuraylib::Texture_handler_deriv_vtable
 The texture handler vtable struct with derivatives for the texture coordinates. More...
 
typedef void( mi::neuraylib::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( mi::neuraylib::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( mi::neuraylib::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( mi::neuraylib::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( mi::neuraylib::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( mi::neuraylib::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( mi::neuraylib::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( mi::neuraylib::Bsdf_evaluate_function )(Bsdf_evaluate_data_base *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( mi::neuraylib::Bsdf_evaluate_function_with_derivs )(Bsdf_evaluate_data_base *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( mi::neuraylib::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( mi::neuraylib::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( mi::neuraylib::Bsdf_auxiliary_function )(Bsdf_auxiliary_data_base *data, Shading_state_material const *state, Resource_data const *res_data, void const *exception_state, char const *arg_block_data)
 Signature of the auxiliary 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( mi::neuraylib::Bsdf_auxiliary_function_with_derivs )(Bsdf_auxiliary_data_base *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 auxiliary 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( mi::neuraylib::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( mi::neuraylib::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( mi::neuraylib::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( mi::neuraylib::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( mi::neuraylib::Edf_evaluate_function )(Edf_evaluate_data_base *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( mi::neuraylib::Edf_evaluate_function_with_derivs )(Edf_evaluate_data_base *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( mi::neuraylib::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( mi::neuraylib::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...
 
typedef void( mi::neuraylib::Edf_auxiliary_function )(Edf_auxiliary_data_base *data, Shading_state_material const *state, Resource_data const *res_data, void const *exception_state, char const *arg_block_data)
 Signature of the auxiliary 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( mi::neuraylib::Edf_auxiliary_function_with_derivs )(Edf_auxiliary_data_base *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 auxiliary function for material distribution functions created via mi::neuraylib::IMdl_backend::translate_material_df() and mi::neuraylib::ILink_unit::add_material_df(). More...
 

Enumerations

enum  mi::neuraylib::Tex_wrap_mode {
  mi::neuraylib::TEX_WRAP_CLAMP = 0,
  mi::neuraylib::TEX_WRAP_REPEAT = 1,
  mi::neuraylib::TEX_WRAP_MIRRORED_REPEAT = 2,
  mi::neuraylib::TEX_WRAP_CLIP = 3
}
 The texture wrap modes as defined by tex::wrap_mode in the MDL specification. It determines the texture lookup behavior if a lookup coordinate is exceeding the normalized half-open texture space range of [0, 1). More...
 
enum  mi::neuraylib::Mbsdf_part {
  mi::neuraylib::MBSDF_DATA_REFLECTION = 0,
  mi::neuraylib::MBSDF_DATA_TRANSMISSION = 1
}
 MBSDFs can consist of two parts, which can be selected using this enumeration. More...
 
enum  mi::neuraylib::Bsdf_event_type
 The type of events created by BSDF importance sampling. More...
 
enum  mi::neuraylib::Df_handle_slot_mode {
  mi::neuraylib::DF_HSM_POINTER = -2,
  mi::neuraylib::DF_HSM_NONE = -1,
  mi::neuraylib::DF_HSM_FIXED_1 = 1,
  mi::neuraylib::DF_HSM_FIXED_2 = 2,
  mi::neuraylib::DF_HSM_FIXED_4 = 4,
  mi::neuraylib::DF_HSM_FIXED_8 = 8
}
 Type of Bsdf_evaluate_data variants, depending on the backend and its configuration. More...
 
enum  mi::neuraylib::Edf_event_type
 The type of events created by EDF importance sampling. More...
 

Detailed Description

Types required for execution of generated native and CUDA code.