NVIDIA Iray API
 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, 2014 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 class IImage;
18 
23 enum Texture_flag
35 {
42  TEXTURE_ALT_X = 256,
43  TEXTURE_ALT_Y = 512,
44  TEXTURE_ALT_Z = 1024,
45  TEXTURE_FLAG_FORCE_32_BIT = 0xffffffffU
46 };
47 
48 mi_static_assert( sizeof( Texture_flag) == sizeof( Uint32));
49 
52 {
56  TEXTURE_COMPRESSION_FORCE_32_BIT = 0xffffffffU
57 };
58 
59 mi_static_assert( sizeof( Texture_compression) == sizeof( Uint32));
60 
69 {
70  FILTER_BOX = 0,
76  FILTER_FORCE_32_BIT = 0xffffffffU
77 };
78 
79 mi_static_assert( sizeof( Filter_type) == sizeof( Uint32));
80 
89 class ITexture :
90  public base::Interface_declare<0x012c847c,0xaf47,0x4338,0xb7,0xc4,0x78,0x67,0xa3,0x55,0x47,0x18,
91  IScene_element>
92 {
93 public:
95 
96 
106  virtual Sint32 set_image( const char* name) = 0;
107 
111  virtual const char* get_image() const = 0;
112 
114 
116 
121  virtual void set_gamma( Float32 gamma) = 0;
122 
129  virtual Float32 get_gamma() const = 0;
130 
135  virtual Float32 get_effective_gamma() const = 0;
136 
138 
140 
146  virtual Uint32 get_filter() const = 0;
147 
153  virtual void set_filter( Uint32 type) = 0;
154 
156  virtual Float32 get_blur() const = 0;
157 
159  virtual void set_blur( Float32 blur) = 0;
160 
162  virtual const Float32_4_4_struct& get_transform() const = 0;
163 
165  virtual void set_transform( const Float32_4_4_struct& transform) = 0;
166 
168  virtual const Float32_3_struct& get_repeat() const = 0;
169 
171  virtual void set_repeat( const Float32_3_struct& repeat) = 0;
172 
174  virtual const Float32_3_struct& get_crop_min() const = 0;
175 
177  virtual void set_crop_min( const Float32_3_struct& crop_min) = 0;
178 
180  virtual const Float32_3_struct& get_crop_max() const = 0;
181 
183  virtual void set_crop_max( const Float32_3_struct& crop_max) = 0;
184 
188  virtual Uint32 get_flags() const = 0;
189 
193  virtual void set_flags( Uint32 value) = 0;
194 
196 
198 
206  virtual void set_compression( Texture_compression compression) = 0;
207 
215  virtual Texture_compression get_compression() const = 0;
216 
218 
219  virtual const IImage* MI_NEURAYLIB_DEPRECATED_METHOD_5_0(access_image)() const = 0;
220 
221  virtual IImage* MI_NEURAYLIB_DEPRECATED_METHOD_5_0(edit_image)() const = 0;
222 };
223  // end group mi_neuray_misc
225 
226 } // namespace mi
227 
228 #endif // MI_NEURAYLIB_ITEXTURE_H