Iray SDK API nvidia_logo_transpbg.gif Up
itexture.h
Go to the documentation of this file.
1/***************************************************************************************************
2 * Copyright 2025 NVIDIA Corporation. All rights reserved.
3 **************************************************************************************************/
6
7#ifndef MI_NEURAYLIB_ITEXTURE_H
8#define MI_NEURAYLIB_ITEXTURE_H
9
12#include <mi/neuraylib/version.h> // for MI_NEURAYLIB_DEPRECATED_ENUM_VALUE
13
14namespace mi {
15
16namespace neuraylib {
17
18class IImage;
19
26{
30 MI_NEURAYLIB_DEPRECATED_ENUM_VALUE(TEXTURE_COMPRESSION_FORCE_32_BIT, 0xffffffffU)
31};
32
40{
46 FILTER_FAST = 5
47 MI_NEURAYLIB_DEPRECATED_ENUM_VALUE(FILTER_FORCE_32_BIT, 0xffffffffU)
48};
49
62class ITexture :
63 public base::Interface_declare<0x012c847c,0xaf47,0x4338,0xb7,0xc4,0x78,0x67,0xa3,0x55,0x47,0x18,
64 neuraylib::IScene_element>
65{
66public:
68
69
79 virtual Sint32 set_image( const char* name) = 0;
80
84 virtual const char* get_image() const = 0;
85
87
90
91
103 virtual Sint32 set_volume( const char* name) = 0;
104
110 virtual const char* get_volume() const = 0;
111
113
115
130 virtual void set_gamma( Float32 gamma) = 0;
131
135 virtual Float32 get_gamma() const = 0;
136
149 virtual Float32 get_effective_gamma( Size frame_id, Size uvtile_id) const = 0;
150
152
154
156 virtual const char* get_selector() const = 0;
157
165 virtual void set_compression( Texture_compression compression) = 0;
166
175
177};
178 // end group mi_neuray_misc
180
181} // namespace neuraylib
182
183} // namespace mi
184
185#endif // MI_NEURAYLIB_ITEXTURE_H
Mixin class template for deriving new interface declarations.
Definition: interface_declare.h:43
Textures add image processing options to images.
Definition: itexture.h:65
virtual const char * get_volume() const =0
Returns the referenced volume data.
virtual const char * get_image() const =0
Returns the referenced image.
virtual Sint32 set_image(const char *name)=0
Sets the referenced image.
virtual void set_compression(Texture_compression compression)=0
Sets the texture compression method.
virtual const char * get_selector() const =0
Returns the selector (or nullptr).
virtual Texture_compression get_compression() const =0
Returns the texture compression method.
virtual Sint32 set_volume(const char *name)=0
Sets the referenced volume.
virtual Float32 get_gamma() const =0
Returns the gamma value of this texture.
virtual void set_gamma(Float32 gamma)=0
Sets the gamma value of this texture.
virtual Float32 get_effective_gamma(Size frame_id, Size uvtile_id) const =0
Returns the effective gamma value.
int Sint32
32-bit signed integer.
Definition: types.h:46
float Float32
32-bit float.
Definition: types.h:51
Uint64 Size
Unsigned integral type that is large enough to hold the size of all types.
Definition: types.h:112
unsigned int Uint32
32-bit unsigned integer.
Definition: types.h:49
Filter_type
Supported filter types.
Definition: itexture.h:40
Texture_compression
Texture compression method.
Definition: itexture.h:26
@ FILTER_CLANCZOS
clipped Lanczos filter
Definition: itexture.h:45
@ FILTER_TRIANGLE
triangle filter
Definition: itexture.h:42
@ FILTER_BOX
box filter
Definition: itexture.h:41
@ FILTER_FAST
a fast filter, could be GPU anti-aliasing, or any
Definition: itexture.h:46
@ FILTER_CMITCHELL
clipped Mitchell filter
Definition: itexture.h:44
@ FILTER_GAUSS
Gaussian filter.
Definition: itexture.h:43
@ TEXTURE_HIGH_COMPRESSION
high compression ratio
Definition: itexture.h:29
@ TEXTURE_MEDIUM_COMPRESSION
medium compression ratio
Definition: itexture.h:28
@ TEXTURE_NO_COMPRESSION
no compression
Definition: itexture.h:27
Base class for all scene elements.
Common namespace for APIs of NVIDIA Advanced Rendering Center GmbH.
Definition: neuraylib.h:179
Major and minor version number and an optional qualifier.
Typedefs for types from the math API.