NVIDIA Iray API Home  Up
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
iscene_element.h
Go to the documentation of this file.
1 //*****************************************************************************
2 // Copyright 1986, 2016 NVIDIA Corporation. All rights reserved.
3 //*****************************************************************************
6 //*****************************************************************************
7 
8 #ifndef MI_NEURAYLIB_ISCENE_ELEMENT_H
9 #define MI_NEURAYLIB_ISCENE_ELEMENT_H
10 
12 #include <mi/neuraylib/version.h>
13 
14 namespace mi {
15 
16 namespace neuraylib {
17 
28 enum Element_type
32 {
33 #ifndef MI_SKIP_WITH_MDL_SDK_DOXYGEN
39 #endif // MI_SKIP_WITH_MDL_SDK_DOXYGEN
41 #ifndef MI_SKIP_WITH_MDL_SDK_DOXYGEN
42  ELEMENT_TYPE_MATERIAL = 6, // mi::neuraylib::IMaterial
43 #endif // MI_SKIP_WITH_MDL_SDK_DOXYGEN
46 #ifndef MI_SKIP_WITH_MDL_SDK_DOXYGEN
47  ELEMENT_TYPE_SHADER = 9, // mi::neuraylib::IShader
51  ELEMENT_TYPE_SHADER_CLASS = 19, // mi::neuraylib::IShader_class
54  ELEMENT_TYPE_SHADER_GRAPH_CLASS = 26, // mi::neuraylib::IShader_graph_class
55  ELEMENT_TYPE_SHADER_GRAPH = 27, // mi::neuraylib::IShader_graph
56  ELEMENT_TYPE_COMPOUND_SHADER_CLASS = 28, // mi::neuraylib::ICompound_shader_class
57 #endif // MI_SKIP_WITH_MDL_SDK_DOXYGEN
65 #ifndef MI_SKIP_WITH_MDL_SDK_DOXYGEN
69 #endif // MI_SKIP_WITH_MDL_SDK_DOXYGEN
70  ELEMENT_TYPE_FORCE_32_BIT = 0xffffffffU
71 };
72 
73 mi_static_assert( sizeof( Element_type)== sizeof( Uint32));
74 
75 enum Shader_type {
76  VOLUME_SHADER = 0,
77  ENVIRONMENT_SHADER = 1,
78  SURFACE_SHADER = 2,
79  DISPLACEMENT_SHADER = 3,
80  LIGHT_SHADER = 4,
81  SHADER_TYPE_FORCE_32_BIT = 0xffffffffU
82 };
83 
84 mi_static_assert( sizeof( Shader_type) == sizeof( Uint32));
85 
88  public base::Interface_declare<0x8a2a4da9,0xe323,0x452c,0xb8,0xda,0x92,0x45,0x67,0x85,0xd7,0x78,
89  neuraylib::IAttribute_set>
90 {
91 public:
93  virtual Element_type get_element_type() const = 0;
94 };
95  // end group mi_neuray_scene_element
97 
98 } // namespace neuraylib
99 
100 #ifdef MI_NEURAYLIB_DEPRECATED_NAMESPACE_MI_TRANSITION
101 using neuraylib::DISPLACEMENT_SHADER;
105 using neuraylib::ELEMENT_TYPE_COMPOUND_SHADER_CLASS;
107 using neuraylib::ELEMENT_TYPE_FORCE_32_BIT;
115 using neuraylib::ELEMENT_TYPE_MATERIAL;
125 using neuraylib::ELEMENT_TYPE_SHADER;
126 using neuraylib::ELEMENT_TYPE_SHADER_CLASS;
127 using neuraylib::ELEMENT_TYPE_SHADER_GRAPH;
128 using neuraylib::ELEMENT_TYPE_SHADER_GRAPH_CLASS;
132 using neuraylib::ENVIRONMENT_SHADER;
136 using neuraylib::LIGHT_SHADER;
137 using neuraylib::SHADER_TYPE_FORCE_32_BIT;
138 using neuraylib::SURFACE_SHADER;
139 using neuraylib::Shader_type;
140 using neuraylib::VOLUME_SHADER;
141 #endif // MI_NEURAYLIB_DEPRECATED_NAMESPACE_MI_TRANSITION
142 
143 } // namespace mi
144 
145 #endif // MI_NEURAYLIB_ISCENE_ELEMENT_H