NVIDIA Iray API Home  Up
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
itexture.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_ITEXTURE_H
9 #define MI_NEURAYLIB_ITEXTURE_H
10 
12 #include <mi/neuraylib/typedefs.h>
13 #include <mi/neuraylib/version.h>
14 
15 namespace mi {
16 
17 namespace neuraylib {
18 
19 class IImage;
20 
25 enum Texture_flag
37 {
44  TEXTURE_ALT_X = 256,
45  TEXTURE_ALT_Y = 512,
46  TEXTURE_ALT_Z = 1024,
47  TEXTURE_FLAG_FORCE_32_BIT = 0xffffffffU
48 };
49 
50 mi_static_assert( sizeof( Texture_flag) == sizeof( Uint32));
51 
54 {
58  TEXTURE_COMPRESSION_FORCE_32_BIT = 0xffffffffU
59 };
60 
61 mi_static_assert( sizeof( Texture_compression) == sizeof( Uint32));
62 
71 {
72  FILTER_BOX = 0,
78  FILTER_FORCE_32_BIT = 0xffffffffU
79 };
80 
81 mi_static_assert( sizeof( Filter_type) == sizeof( Uint32));
82 
91 class ITexture :
92  public base::Interface_declare<0x012c847c,0xaf47,0x4338,0xb7,0xc4,0x78,0x67,0xa3,0x55,0x47,0x18,
93  neuraylib::IScene_element>
94 {
95 public:
97 
98 
108  virtual Sint32 set_image( const char* name) = 0;
109 
113  virtual const char* get_image() const = 0;
114 
116 
118 
123  virtual void set_gamma( Float32 gamma) = 0;
124 
131  virtual Float32 get_gamma() const = 0;
132 
137  virtual Float32 get_effective_gamma() const = 0;
138 
140 
142 
148  virtual Uint32 get_filter() const = 0;
149 
155  virtual void set_filter( Uint32 type) = 0;
156 
158  virtual Float32 get_blur() const = 0;
159 
161  virtual void set_blur( Float32 blur) = 0;
162 
164  virtual const Float32_4_4_struct& get_transform() const = 0;
165 
167  virtual void set_transform( const Float32_4_4_struct& transform) = 0;
168 
170  virtual const Float32_3_struct& get_repeat() const = 0;
171 
173  virtual void set_repeat( const Float32_3_struct& repeat) = 0;
174 
176  virtual const Float32_3_struct& get_crop_min() const = 0;
177 
179  virtual void set_crop_min( const Float32_3_struct& crop_min) = 0;
180 
182  virtual const Float32_3_struct& get_crop_max() const = 0;
183 
185  virtual void set_crop_max( const Float32_3_struct& crop_max) = 0;
186 
190  virtual Uint32 get_flags() const = 0;
191 
195  virtual void set_flags( Uint32 value) = 0;
196 
198 
200 
208  virtual void set_compression( Texture_compression compression) = 0;
209 
217  virtual Texture_compression get_compression() const = 0;
218 
220 };
221  // end group mi_neuray_misc
223 
224 } // namespace neuraylib
225 
226 #ifdef MI_NEURAYLIB_DEPRECATED_NAMESPACE_MI_TRANSITION
231 using neuraylib::FILTER_FORCE_32_BIT;
235 using neuraylib::IImage;
237 using neuraylib::ITexture;
241 using neuraylib::TEXTURE_COMPRESSION_FORCE_32_BIT;
245 using neuraylib::TEXTURE_FLAG_FORCE_32_BIT;
254 #endif // MI_NEURAYLIB_DEPRECATED_NAMESPACE_MI_TRANSITION
255 
256 } // namespace mi
257 
258 #endif // MI_NEURAYLIB_ITEXTURE_H