Material Definition Language API nvidia_logo_transpbg.gif Up
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ibsdf_isotropic_data.h
Go to the documentation of this file.
1 /***************************************************************************************************
2  * Copyright 2020 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 
12 namespace mi {
13 
14 namespace neuraylib {
15 
16 class IBsdf_buffer;
17 
22 enum Bsdf_type {
25  BSDF_RGB = 1,
26  BSDF_TYPES_FORCE_32_BIT = 0xffffffffU // Undocumented, for alignment only
27 };
28 
29 mi_static_assert( sizeof( Bsdf_type) == sizeof( Uint32));
30 
42 class IBsdf_isotropic_data : public
43  mi::base::Interface_declare<0x23fd6d83,0x057b,0x4507,0xb4,0x93,0x0e,0xbd,0x44,0x7b,0x07,0xb9>
44 {
45 public:
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 
64 class IBsdf_buffer : public
65  mi::base::Interface_declare<0xdf3e6121,0x464e,0x424b,0x87,0x6f,0x6e,0x8f,0x6e,0x66,0xe2,0x9a>
66 {
67 public:
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