MDL SDK API nvidia_logo_transpbg.gif 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 2022 NVIDIA Corporation. All rights reserved.
3  **************************************************************************************************/
6 
7 #ifndef MI_NEURAYLIB_ITEXTURE_H
8 #define MI_NEURAYLIB_ITEXTURE_H
9 
11 #include <mi/neuraylib/typedefs.h>
12 
13 namespace mi {
14 
15 namespace neuraylib {
16 
17 class IImage;
18 
25 {
29  TEXTURE_COMPRESSION_FORCE_32_BIT = 0xffffffffU
30 };
31 
32 mi_static_assert( sizeof( Texture_compression) == sizeof( Uint32));
33 
41 {
42  FILTER_BOX = 0,
48  FILTER_FORCE_32_BIT = 0xffffffffU
49 };
50 
51 mi_static_assert( sizeof( Filter_type) == sizeof( Uint32));
52 
65 class ITexture :
66  public base::Interface_declare<0x012c847c,0xaf47,0x4338,0xb7,0xc4,0x78,0x67,0xa3,0x55,0x47,0x18,
67  neuraylib::IScene_element>
68 {
69 public:
71 
72 
82  virtual Sint32 set_image( const char* name) = 0;
83 
87  virtual const char* get_image() const = 0;
88 
90 
92 
102  virtual Sint32 set_volume( const char* name) = 0;
103 
107  virtual const char* get_volume() const = 0;
108 
110 
112 
127  virtual void set_gamma( Float32 gamma) = 0;
128 
132  virtual Float32 get_gamma() const = 0;
133 
146  virtual Float32 get_effective_gamma( Size frame_id, Size uvtile_id) const = 0;
147 
148 #ifdef MI_NEURAYLIB_DEPRECATED_12_1
149  inline Float32 get_effective_gamma( Uint32 uvtile_id = 0) const
150  { return get_effective_gamma( 0, uvtile_id); }
151 #endif // MI_NEURAYLIB_DEPRECATED_12_1
152 
154 
156 
158  virtual const char* get_selector() const = 0;
159 
167  virtual void set_compression( Texture_compression compression) = 0;
168 
176  virtual Texture_compression get_compression() const = 0;
177 
179 };
180  // end group mi_neuray_misc
182 
183 } // namespace neuraylib
184 
185 } // namespace mi
186 
187 #endif // MI_NEURAYLIB_ITEXTURE_H