neuray API Programmer's Manual

mi::neuraylib::IMdl_backend_api Class Reference

[Miscellaneous MDL-related Interfaces]

Description

This interface can be used to obtain the MDL backends.

Public Enumerations

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.

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

Enums

enum mi::​neuraylib::​IMdl_backend_api::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.
MB_FORCE_32_BIT = 0xffffffffU

Member Functions

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

Returns an MDL backend generator.

Parameters

kind
The 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

kind
The kind of the distribution function data texture.
rx
The resolution of the texture in x.
ry
The resolution of the texture in y.
rz
The 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.