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

This interface can be used to obtain the MDL backends. More...

Inheritance diagram for mi::neuraylib::IMdl_backend_api:
mi::base::Interface_declare< 0x425559dd, 0xbf91, 0x459a, 0xaa, 0xaf, 0xc3, 0x14, 0x8a, 0x5a, 0x2f, 0x99 > mi::base::IInterface

Public Types

enum  Mdl_backend_kind {
  MB_CUDA_PTX,
  MB_LLVM_IR,
  MB_GLSL,
  MB_NATIVE,
  MB_HLSL
}
 Currently available MDL backends. More...
 
- Public Types inherited from mi::base::Interface_declare< 0x425559dd, 0xbf91, 0x459a, 0xaa, 0xaf, 0xc3, 0x14, 0x8a, 0x5a, 0x2f, 0x99 >
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...
 
- 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...
 

Public Member Functions

virtual IMdl_backendget_backend (Mdl_backend_kind kind)=0
 Returns an MDL backend generator. More...
 
virtual const Float32get_df_data_texture (Df_data_kind kind, Size &rx, Size &ry, Size &rz) const =0
 Returns the distribution function data of the texture identified by kind. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from mi::base::Interface_declare< 0x425559dd, 0xbf91, 0x459a, 0xaa, 0xaf, 0xc3, 0x14, 0x8a, 0x5a, 0x2f, 0x99 >
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

This interface can be used to obtain the MDL backends.

Member Enumeration Documentation

Currently available MDL backends.

Enumerator
MB_CUDA_PTX 

Generate CUDA PTX code.

MB_LLVM_IR 

Generate LLVM IR (LLVM 7.0 compatible).

MB_GLSL 

Generate GLSL code .

MB_NATIVE 

Generate native code.

MB_HLSL 

Generate HLSL code .

Member Function Documentation

virtual IMdl_backend* mi::neuraylib::IMdl_backend_api::get_backend ( Mdl_backend_kind  kind)
pure virtual

Returns an MDL backend generator.

Parameters
kindThe desired backend generator.
Returns
The backend generator, or NULL if the requested backend is not available.
virtual const Float32* mi::neuraylib::IMdl_backend_api::get_df_data_texture ( Df_data_kind  kind,
Size rx,
Size ry,
Size rz 
) const
pure virtual

Returns the distribution function data of the texture identified by kind.

Parameters
kindThe kind of the distribution function data texture.
[out]rxThe resolution of the texture in x.
[out]ryThe resolution of the texture in y.
[out]rzThe resolution of the texture in z.
Returns
A pointer to the texture data or NULL, if kind does not correspond to a distribution function data texture.