NVIDIA Iray API
Home
Up
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
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
11
#include <
mi/neuraylib/iscene_element.h
>
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
{
38
TEXTURE_DO_TRANSFORM
= 4,
39
TEXTURE_DO_REPEAT
= 8,
40
TEXTURE_DO_CROP
= 16,
41
TEXTURE_TORUS_X
= 32,
42
TEXTURE_TORUS_Y
= 64,
43
TEXTURE_TORUS_Z
= 128,
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
53
enum
Texture_compression
54
{
55
TEXTURE_NO_COMPRESSION
= 0,
56
TEXTURE_MEDIUM_COMPRESSION
= 1,
57
TEXTURE_HIGH_COMPRESSION
= 2,
58
TEXTURE_COMPRESSION_FORCE_32_BIT = 0xffffffffU
59
};
60
61
mi_static_assert
(
sizeof
(
Texture_compression
) ==
sizeof
(
Uint32
));
62
70
enum
Filter_type
71
{
72
FILTER_BOX
= 0,
73
FILTER_TRIANGLE
= 1,
74
FILTER_GAUSS
= 2,
75
FILTER_CMITCHELL
= 3,
76
FILTER_CLANCZOS
= 4,
77
FILTER_FAST
= 5,
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
227
using
neuraylib::FILTER_BOX
;
228
using
neuraylib::FILTER_CLANCZOS
;
229
using
neuraylib::FILTER_CMITCHELL
;
230
using
neuraylib::FILTER_FAST
;
231
using
neuraylib::FILTER_FORCE_32_BIT;
232
using
neuraylib::FILTER_GAUSS
;
233
using
neuraylib::FILTER_TRIANGLE
;
234
using
neuraylib::Filter_type
;
235
using
neuraylib::IImage
;
236
using
neuraylib::IScene_element
;
237
using
neuraylib::ITexture
;
238
using
neuraylib::TEXTURE_ALT_X
;
239
using
neuraylib::TEXTURE_ALT_Y
;
240
using
neuraylib::TEXTURE_ALT_Z
;
241
using
neuraylib::TEXTURE_COMPRESSION_FORCE_32_BIT;
242
using
neuraylib::TEXTURE_DO_CROP
;
243
using
neuraylib::TEXTURE_DO_REPEAT
;
244
using
neuraylib::TEXTURE_DO_TRANSFORM
;
245
using
neuraylib::TEXTURE_FLAG_FORCE_32_BIT;
246
using
neuraylib::TEXTURE_HIGH_COMPRESSION
;
247
using
neuraylib::TEXTURE_MEDIUM_COMPRESSION
;
248
using
neuraylib::TEXTURE_NO_COMPRESSION
;
249
using
neuraylib::TEXTURE_TORUS_X
;
250
using
neuraylib::TEXTURE_TORUS_Y
;
251
using
neuraylib::TEXTURE_TORUS_Z
;
252
using
neuraylib::Texture_compression
;
253
using
neuraylib::Texture_flag
;
254
#endif // MI_NEURAYLIB_DEPRECATED_NAMESPACE_MI_TRANSITION
255
256
}
// namespace mi
257
258
#endif // MI_NEURAYLIB_ITEXTURE_H
mi
neuraylib
itexture.h
Generated on Fri Mar 4 2016 19:53:39. Build 250909.11169, Doxygen 1.8.4