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

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

#include <imdl_backend_api.h>

Inheritance diagram for mi::neuraylib::IMdl_backend_api:

Public Types

enum  Mdl_backend_kind {
  MB_CUDA_PTX ,
  MB_LLVM_IR ,
  MB_GLSL ,
  MB_NATIVE ,
  MB_HLSL ,
  MB_FORCE_32_BIT = 0xffffffffU
}
 Currently available MDL backends. More...
 
- Public Types inherited from mi::base::Interface_declare< 0x425559dd, ... >
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...
 

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...
 
- 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

- Static Public Member Functions inherited from mi::base::Interface_declare< 0x425559dd, ... >
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

This interface can be used to obtain the MDL backends.

Member Enumeration Documentation

 Mdl_backend_kind

Currently available MDL backends.

Enumerator
MB_CUDA_PTX 

Generate CUDA PTX code.

MB_LLVM_IR 

Generate LLVM IR (LLVM 12.0 compatible).

MB_GLSL 

Generate GLSL code.

MB_NATIVE 

Generate native code.

MB_HLSL 

Generate HLSL code.

Member Function Documentation

 get_backend()

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.

 get_df_data_texture()

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.