imdl_backend_api.h File Reference
Description
API component for MDL backend related operations.
Code Example
imdl_backend_api.h
/***************************************************************************************************
* Copyright 2024 NVIDIA Corporation. All rights reserved.
**************************************************************************************************/
#ifndef MI_NEURAYLIB_IMDL_BACKEND_API_H
#define MI_NEURAYLIB_IMDL_BACKEND_API_H
#include <mi/base/interface_declare.h>
namespace mi {
namespace neuraylib {
class IMdl_backend;
enum Df_data_kind {
DFK_NONE,
DFK_INVALID,
DFK_SIMPLE_GLOSSY_MULTISCATTER,
DFK_BACKSCATTERING_GLOSSY_MULTISCATTER,
DFK_BECKMANN_SMITH_MULTISCATTER,
DFK_BECKMANN_VC_MULTISCATTER,
DFK_GGX_SMITH_MULTISCATTER,
DFK_GGX_VC_MULTISCATTER,
DFK_WARD_GEISLER_MORODER_MULTISCATTER,
DFK_SHEEN_MULTISCATTER,
DFK_FORCE_32_BIT = 0xffffffffU
};
mi_static_assert(sizeof(Df_data_kind) == sizeof(Uint32));
class IMdl_backend_api : public
mi::base::Interface_declare<0x425559dd,0xbf91,0x459a,0xaa,0xaf,0xc3,0x14,0x8a,0x5a,0x2f,0x99>
{
public:
enum Mdl_backend_kind {
MB_CUDA_PTX,
MB_LLVM_IR,
MB_GLSL,
MB_NATIVE,
MB_HLSL,
MB_FORCE_32_BIT = 0xffffffffU // Undocumented, for alignment only
};
virtual IMdl_backend* get_backend(Mdl_backend_kind kind) = 0;
virtual const Float32* get_df_data_texture(
Df_data_kind kind,
Size &rx,
Size &ry,
Size &rz) const = 0;
};
// end group mi_neuray_mdl_misc
} // namespace neuraylib
} // namespace mi
#endif // MI_NEURAYLIB_IMDL_BACKEND_API_H
Namespaces
- namespace
- Common namespace for APIs of NVIDIA Advanced Rendering Center GmbH. More...
- namespace
- Namespace for the neuray API. More...
Classes
- class
- This interface can be used to obtain the MDL backends. More...
Enumerations
- enum {DFK_NONE, DFK_INVALID, DFK_SIMPLE_GLOSSY_MULTISCATTER, DFK_BACKSCATTERING_GLOSSY_MULTISCATTER, DFK_BECKMANN_SMITH_MULTISCATTER, DFK_BECKMANN_VC_MULTISCATTER, DFK_GGX_SMITH_MULTISCATTER, DFK_GGX_VC_MULTISCATTER, DFK_WARD_GEISLER_MORODER_MULTISCATTER, DFK_SHEEN_MULTISCATTER, DFK_FORCE_32_BIT = 0xffffffffU }
- Possible kinds of distribution function data. More...