Material Definition Language 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 2020 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 
61 class ITexture :
62  public base::Interface_declare<0x012c847c,0xaf47,0x4338,0xb7,0xc4,0x78,0x67,0xa3,0x55,0x47,0x18,
63  neuraylib::IScene_element>
64 {
65 public:
67 
68 
78  virtual Sint32 set_image( const char* name) = 0;
79 
83  virtual const char* get_image() const = 0;
84 
86 
88 
93  virtual void set_gamma( Float32 gamma) = 0;
94 
101  virtual Float32 get_gamma() const = 0;
102 
111  virtual Float32 get_effective_gamma( Uint32 uvtile_id = 0) const = 0;
112 
114 
116 
124  virtual void set_compression( Texture_compression compression) = 0;
125 
133  virtual Texture_compression get_compression() const = 0;
134 
136 };
137  // end group mi_neuray_misc
139 
140 } // namespace neuraylib
141 
142 } // namespace mi
143 
144 #endif // MI_NEURAYLIB_ITEXTURE_H