MDL SDK API nvidia_logo_transpbg.gif Up
ibsdf_isotropic_data.h
Go to the documentation of this file.
1/***************************************************************************************************
2 * Copyright 2024 NVIDIA Corporation. All rights reserved.
3 **************************************************************************************************/
6
7#ifndef MI_NEURAYLIB_IBSDF_ISOTROPIC_DATA_H
8#define MI_NEURAYLIB_IBSDF_ISOTROPIC_DATA_H
9
11
12namespace mi {
13
14namespace neuraylib {
15
16class IBsdf_buffer;
17
26 BSDF_TYPES_FORCE_32_BIT = 0xffffffffU // Undocumented, for alignment only
27};
28
29mi_static_assert( sizeof( Bsdf_type) == sizeof( Uint32));
30
43 mi::base::Interface_declare<0x23fd6d83,0x057b,0x4507,0xb4,0x93,0x0e,0xbd,0x44,0x7b,0x07,0xb9>
44{
45public:
47 virtual Uint32 get_resolution_theta() const = 0;
48
50 virtual Uint32 get_resolution_phi() const = 0;
51
53 virtual Bsdf_type get_type() const = 0;
54
56 virtual const IBsdf_buffer* get_bsdf_buffer() const = 0;
57};
58
64class IBsdf_buffer : public
65 mi::base::Interface_declare<0xdf3e6121,0x464e,0x424b,0x87,0x6f,0x6e,0x8f,0x6e,0x66,0xe2,0x9a>
66{
67public:
87 virtual const Float32* get_data() const = 0;
88};
89 // end group mi_neuray_misc
91
92} // namespace neuraylib
93
94} // namespace mi
95
96#endif // MI_NEURAYLIB_IBSDF_ISOTROPIC_DATA_H
Mixin class template for deriving new interface declarations.
Definition: interface_declare.h:43
Abstract interface for a buffer of BSDF values.
Definition: ibsdf_isotropic_data.h:66
virtual const Float32 * get_data() const =0
Returns the memory block containing the actual BSDF values.
Abstract interface for isotropic BSDF data.
Definition: ibsdf_isotropic_data.h:44
virtual const IBsdf_buffer * get_bsdf_buffer() const =0
Returns the buffer containing the actual values.
virtual Bsdf_type get_type() const =0
Returns the type of the values.
virtual Uint32 get_resolution_phi() const =0
Returns the number of values in phi direction.
virtual Uint32 get_resolution_theta() const =0
Returns the number of values in theta direction.
#define mi_static_assert(expr)
Compile time assertion that raises a compilation error if the constant expression expr evaluates to f...
Definition: assert.h:58
unsigned int Uint32
32-bit unsigned integer.
Definition: types.h:49
float Float32
32-bit float.
Definition: types.h:51
Bsdf_type
The BSDF type.
Definition: ibsdf_isotropic_data.h:23
@ BSDF_SCALAR
One scalar per grid value.
Definition: ibsdf_isotropic_data.h:24
@ BSDF_RGB
Three scalars (RGB) per grid value.
Definition: ibsdf_isotropic_data.h:25
Mixin class template for deriving new interface declarations.
Common namespace for APIs of NVIDIA Advanced Rendering Center GmbH.
Definition: example_derivatives.dox:5