13 #ifndef OGLPLUS_DSA_TEXTURE_1107121519_HPP
14 #define OGLPLUS_DSA_TEXTURE_1107121519_HPP
20 #if OGLPLUS_DOCUMENTATION_ONLY || GL_VERSION_4_5 || GL_ARB_direct_state_access
25 typedef tag::Create Type;
46 :
public ObjZeroOps<tag::DirectState, tag::Texture>
72 #if OGLPLUS_DOCUMENTATION_ONLY || GL_VERSION_3_0
95 GLint GetIntParam(GLenum query)
const;
96 GLfloat GetFloatParam(GLenum query)
const;
98 GLint GetIntParam(GLint level, GLenum query)
const;
99 GLfloat GetFloatParam(GLint level, GLenum query)
const;
110 GLsizei
Width(GLint level = 0)
const
112 return GLsizei(GetIntParam(level, GL_TEXTURE_WIDTH));
126 return GLsizei(GetIntParam(level, GL_TEXTURE_HEIGHT));
138 GLsizei
Depth(GLint level = 0)
const
140 return GLsizei(GetIntParam(level, GL_TEXTURE_DEPTH));
177 GL_TEXTURE_GREEN_TYPE
215 GL_TEXTURE_ALPHA_TYPE
234 GL_TEXTURE_DEPTH_TYPE
252 return GLsizei(GetIntParam(
272 return GLsizei(GetIntParam(
274 GL_TEXTURE_GREEN_SIZE
292 return GLsizei(GetIntParam(
312 return GLsizei(GetIntParam(
314 GL_TEXTURE_ALPHA_SIZE
332 return GLsizei(GetIntParam(
334 GL_TEXTURE_DEPTH_SIZE
352 return GLsizei(GetIntParam(
354 GL_TEXTURE_STENCIL_SIZE
373 return GLsizei(GetIntParam(
375 GL_TEXTURE_SHARED_SIZE
387 return GLsizei(GetIntParam(
389 GL_TEXTURE_COMPRESSED_IMAGE_SIZE
403 GL_TEXTURE_INTERNAL_FORMAT
451 GetImage(level, format,
OutputData(type, size, buffer));
454 void GetCompressedImage(
475 GetCompressedImage(level,
OutputData(size, buffer));
488 void GetCompressedImage(
490 std::vector<GLubyte>& dest
504 OGLPLUS_GLFUNC(TextureStorage1D)(
507 GLenum(internal_format),
514 EnumParam(internal_format)
521 const images::ImageSpec& image_spec
536 OGLPLUS_GLFUNC(TextureStorage2D)(
539 GLenum(internal_format),
547 EnumParam(internal_format)
554 const images::ImageSpec& image_spec
570 OGLPLUS_GLFUNC(TextureStorage3D)(
573 GLenum(internal_format),
582 EnumParam(internal_format)
589 const images::ImageSpec& image_spec
594 const images::ImageSpec& image_spec
615 OGLPLUS_GLFUNC(TextureSubImage3D)(
667 OGLPLUS_GLFUNC(TextureSubImage2D)(
714 OGLPLUS_GLFUNC(TextureSubImage1D)(
760 OGLPLUS_GLFUNC(CopyTextureSubImage3D)(
772 CopyTextureSubImage3D,
795 OGLPLUS_GLFUNC(CopyTextureSubImage2D)(
806 CopyTextureSubImage2D,
827 OGLPLUS_GLFUNC(CopyTextureSubImage1D)(
836 CopyTextureSubImage1D,
862 OGLPLUS_GLFUNC(CompressedTextureSubImage3D)(
876 CompressedTextureSubImage3D,
901 OGLPLUS_GLFUNC(CompressedTextureSubImage2D)(
913 CompressedTextureSubImage2D,
936 OGLPLUS_GLFUNC(CompressedTextureSubImage1D)(
946 CompressedTextureSubImage1D,
966 OGLPLUS_GLFUNC(TextureBuffer)(
968 GLenum(internal_format),
976 EnumParam(internal_format)
989 return GetIntParam(GL_TEXTURE_BASE_LEVEL);
1000 OGLPLUS_GLFUNC(TextureParameteri)(
1002 GL_TEXTURE_BASE_LEVEL,
1023 OGLPLUS_GLFUNC(GetTextureParameterfv)(
1025 GL_TEXTURE_BORDER_COLOR,
1029 GetTextureParameterfv,
1044 OGLPLUS_GLFUNC(TextureParameterfv)(
1046 GL_TEXTURE_BORDER_COLOR,
1066 OGLPLUS_GLFUNC(GetTextureParameterIiv)(
1068 GL_TEXTURE_BORDER_COLOR,
1072 GetTextureParameterIiv,
1087 OGLPLUS_GLFUNC(TextureParameterIiv)(
1089 GL_TEXTURE_BORDER_COLOR,
1093 TextureParameterIiv,
1109 OGLPLUS_GLFUNC(GetTextureParameterIuiv)(
1111 GL_TEXTURE_BORDER_COLOR,
1115 GetTextureParameterIuiv,
1130 OGLPLUS_GLFUNC(TextureParameterIuiv)(
1132 GL_TEXTURE_BORDER_COLOR,
1136 TextureParameterIuiv,
1152 GL_TEXTURE_COMPARE_MODE
1164 OGLPLUS_GLFUNC(TextureParameteri)(
1166 GL_TEXTURE_COMPARE_MODE,
1187 GL_TEXTURE_COMPARE_FUNC
1199 OGLPLUS_GLFUNC(TextureParameteri)(
1201 GL_TEXTURE_COMPARE_FUNC,
1221 return GetFloatParam(GL_TEXTURE_LOD_BIAS);
1232 OGLPLUS_GLFUNC(TextureParameterf)(
1234 GL_TEXTURE_LOD_BIAS,
1254 OGLPLUS_GLFUNC(TextureParameteri)(
1256 GL_TEXTURE_MIN_FILTER,
1265 OGLPLUS_GLFUNC(TextureParameteri)(
1267 GL_TEXTURE_MAG_FILTER,
1288 GL_TEXTURE_MAG_FILTER
1300 OGLPLUS_GLFUNC(TextureParameteri)(
1302 GL_TEXTURE_MAG_FILTER,
1323 GL_TEXTURE_MIN_FILTER
1335 OGLPLUS_GLFUNC(TextureParameteri)(
1337 GL_TEXTURE_MIN_FILTER,
1357 return GetFloatParam(GL_TEXTURE_MIN_LOD);
1368 OGLPLUS_GLFUNC(TextureParameterf)(
1389 return GetFloatParam(GL_TEXTURE_MAX_LOD);
1400 OGLPLUS_GLFUNC(TextureParameterf)(
1421 return GetIntParam(GL_TEXTURE_MAX_LEVEL);
1432 OGLPLUS_GLFUNC(TextureParameteri)(
1434 GL_TEXTURE_MAX_LEVEL,
1453 #ifdef GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT
1454 return GetFloatParam(GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT);
1468 #ifdef GL_TEXTURE_MAX_ANISOTROPY_EXT
1469 return GetFloatParam(GL_TEXTURE_MAX_ANISOTROPY_EXT);
1483 #ifdef GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT
1484 OGLPLUS_GLFUNC(TextureParameterf)(
1486 GL_TEXTURE_MAX_ANISOTROPY_EXT,
1495 OGLPLUS_FAKE_USE(value);
1500 #if OGLPLUS_DOCUMENTATION_ONLY || GL_VERSION_3_3 || GL_ARB_texture_swizzle
1525 OGLPLUS_GLFUNC(TextureParameteri)(
1645 OGLPLUS_GLFUNC(GetTextureParameteriv)(
1647 GL_TEXTURE_SWIZZLE_RGBA,
1651 GetTextureParameteriv,
1667 GLint m = GLint(GLenum(mode));
1668 GLint params[4] = {m, m, m, m};
1669 OGLPLUS_GLFUNC(TextureParameteriv)(
1671 GL_TEXTURE_SWIZZLE_RGBA,
1698 GLint(GLenum(mode_r)),
1699 GLint(GLenum(mode_g)),
1700 GLint(GLenum(mode_b)),
1701 GLint(GLenum(mode_a))
1703 OGLPLUS_GLFUNC(TextureParameteriv)(
1705 GL_TEXTURE_SWIZZLE_RGBA,
1725 OGLPLUS_GLFUNC(TextureParameteriv)(
1727 GL_TEXTURE_SWIZZLE_RGBA,
1737 #endif // texture swizzle
1759 OGLPLUS_GLFUNC(TextureParameteri)(
1839 #if OGLPLUS_DOCUMENTATION_ONLY || GL_VERSION_4_3
1850 GL_DEPTH_STENCIL_TEXTURE_MODE
1863 OGLPLUS_GLFUNC(TextureParameteri)(
1865 GL_DEPTH_STENCIL_TEXTURE_MODE,
1878 #if OGLPLUS_DOCUMENTATION_ONLY || GL_ARB_seamless_cubemap_per_texture
1887 return GetIntParam(GL_TEXTURE_CUBE_MAP_SEAMLESS) == GL_TRUE;
1898 OGLPLUS_GLFUNC(TextureParameteri)(
1900 GL_TEXTURE_CUBE_MAP_SEAMLESS,
1901 enable?GL_TRUE:GL_FALSE
1919 OGLPLUS_GLFUNC(GenerateTextureMipmap)(_name);
1921 GenerateTextureMipmap,
1931 typedef ObjectOps<tag::DirectState, tag::Texture>
1935 struct DSATextureOpsAndSlot
1947 inline DSATextureOpsAndSlot operator | (
1952 return DSATextureOpsAndSlot(tex, slot);
2017 DSATextureOpsAndSlot tas,
2023 case 0: tas.tex.WrapS(wrap);
break;
2024 case 1: tas.tex.WrapT(wrap);
break;
2025 case 2: tas.tex.WrapR(wrap);
break;
2026 default: assert(!
"Invalid texture wrap slot");
2043 DSATextureOpsAndSlot tas,
2049 case 0: tas.tex.SwizzleR(swizzle);
break;
2050 case 1: tas.tex.SwizzleG(swizzle);
break;
2051 case 2: tas.tex.SwizzleB(swizzle);
break;
2052 case 3: tas.tex.SwizzleA(swizzle);
break;
2053 default: assert(!
"Invalid texture swizzle slot");
2059 template <
typename T>
2062 const Vector<T, 4>& col
2127 #endif // GL_ARB_direct_state_access
2131 #if !OGLPLUS_LINK_LIBRARY || defined(OGLPLUS_IMPLEMENTING_LIBRARY)
2132 #include <oglplus/dsa/texture.ipp>
2133 #endif // OGLPLUS_LINK_LIBRARY
2135 #endif // include guard
ObjectOps & Storage3D(GLsizei levels, PixelDataInternalFormat internal_format, GLsizei width, GLsizei height, GLsizei depth)
Specifies all levels of 3D texture at the same time.
Definition: texture.hpp:562
GLsizei DepthSize(GLint level=0) const
Returns the actual resolution of the DEPTH component.
Definition: texture.hpp:330
Vector< GLuint, 4 > BorderColor(TypeTag< GLuint >) const
Gets the texture border color (TEXTURE_BORDER_COLOR)
Definition: texture.hpp:1106
ObjectOps & WrapS(TextureWrap mode)
Sets the wrap parameter (TEXTURE_WRAP_S)
Definition: texture.hpp:1790
OneOf< GLenum, std::tuple< DataType, PixelDataType > > PixDataType
The pixel data type.
Definition: texture.hpp:90
TextureSwizzle
Texture swizzle enumeration.
Definition: texture_swizzle.hpp:53
TextureSwizzle SwizzleA(void) const
Gets the swizzle parameter (TEXTURE_SWIZZLE_A)
Definition: texture.hpp:1618
TextureSwizzle SwizzleG(void) const
Gets the swizzle parameter (TEXTURE_SWIZZLE_G)
Definition: texture.hpp:1570
TextureSwizzleTuple SwizzleRGBA(void) const
Gets the swizzle parameter (TEXTURE_SWIZZLE_RGBA)
Definition: texture.hpp:1642
ObjectOps & MinLOD(GLfloat value)
Sets minimal LOD value (TEXTURE_MIN_LOD)
Definition: texture.hpp:1366
ObjectOps & Storage1D(GLsizei levels, PixelDataInternalFormat internal_format, GLsizei width)
Specifies all levels of 1D texture at the same time.
Definition: texture.hpp:498
GLsizei GreenSize(GLint level=0) const
Returns the actual resolution of the GREEN component.
Definition: texture.hpp:270
ObjectOps & MaxLevel(GLint value)
Sets maximum level value (TEXTURE_MAX_LEVEL)
Definition: texture.hpp:1430
TextureWrap Wrap
Texture wrap mode value.
Definition: texture.hpp:81
GLfloat MinLOD(void) const
Gets minimal LOD value (TEXTURE_MIN_LOD)
Definition: texture.hpp:1355
ObjectOps & Storage2D(GLsizei levels, PixelDataInternalFormat internal_format, GLsizei width, GLsizei height)
Specifies all levels of 2D texture at the same time.
Definition: texture.hpp:529
void GetCompressedImage(GLint level, GLsizei size, GLubyte *buffer) const
Allows to obtain the texture image in compressed form.
Definition: texture.hpp:469
TextureFilter
Texture filter enumeration.
Definition: texture_filter.hpp:29
DataType
OpenGL data type enumeration.
Definition: data_type.hpp:34
TextureWrap WrapR(void) const
Gets the wrap parameter (TEXTURE_WRAP_R)
Definition: texture.hpp:1823
PixelDataInternalFormat
OpenGL pixel data internal format enumeration.
Definition: pixel_data.hpp:79
TextureMagFilter MagFilter
Maginification filter.
Definition: texture.hpp:61
ObjectOps & Anisotropy(GLfloat value)
Sets the anisotropy level.
Definition: texture.hpp:1481
ObjectOps & CopySubImage2D(GLint level, GLint xoffs, GLint yoffs, GLint x, GLint y, GLsizei width, GLsizei height)
Copies a two dimensional texture sub image from the framebuffer.
Definition: texture.hpp:785
Class used for passing the address and size of a writable buffer to functions.
Definition: output_data.hpp:22
TextureSwizzleCoord SwizzleCoord
Texture swizzle coordinate.
Definition: texture.hpp:67
ObjectOps & Buffer(PixelDataInternalFormat internal_format, BufferName buffer)
Assigns a buffer storing the texel data to the texture.
Definition: texture.hpp:961
Vector< GLfloat, 4 > BorderColor(TypeTag< GLfloat >) const
Gets the texture border color (TEXTURE_BORDER_COLOR)
Definition: texture.hpp:1020
PixelDataType BlueType(GLint level=0) const
Returns the data type used to store the BLUE component.
Definition: texture.hpp:192
TextureSwizzle Swizzle
Texture swizzle value.
Definition: texture.hpp:70
TextureMinFilter
Texture minification filter enumeration.
Definition: texture_filter.hpp:71
GLsizei Height(GLint level=0) const
Returns the height of the texture as it was specified by *Image*D.
Definition: texture.hpp:124
ObjectOps & SwizzleRGBA(const TextureSwizzleTuple &modes)
Sets the swizzle parameter (TEXTURE_SWIZZLE_RGBA)
Definition: texture.hpp:1723
bool Seamless(void) const
Gets the seamless cubemap setting value.
Definition: texture.hpp:1885
GLsizei RedSize(GLint level=0) const
Returns the actual resolution of the RED component.
Definition: texture.hpp:250
A tag template used mainly for data-type-based function overload dispatching.
Definition: data_type.hpp:23
ObjectOps & GenerateMipmap(void)
Generate mipmap for the texture bound to the specified target.
Definition: texture.hpp:1917
TextureSwizzle SwizzleR(void) const
Gets the swizzle parameter (TEXTURE_SWIZZLE_R)
Definition: texture.hpp:1546
ObjectOps & LODBias(GLfloat value)
Sets the LOD bias value (TEXTURE_LOD_BIAS)
Definition: texture.hpp:1230
GLint MaxLevel(void) const
Gets maximum level value (TEXTURE_MAX_LEVEL)
Definition: texture.hpp:1419
TextureMinFilter MinFilter
Minification filter.
Definition: texture.hpp:64
TextureSwizzle SwizzleB(void) const
Gets the swizzle parameter (TEXTURE_SWIZZLE_B)
Definition: texture.hpp:1594
TextureMinFilter MinFilter(void) const
Gets the minification filter (TEXTURE_MIN_FILTER)
Definition: texture.hpp:1320
TextureMagFilter
Texture magnification filter enumeration.
Definition: texture_filter.hpp:50
Implements operations applicable to named (non-zero) objects.
Definition: wrap_tpl.hpp:45
ObjectOps & SwizzleB(TextureSwizzle mode)
Sets the swizzle parameter (TEXTURE_SWIZZLE_B)
Definition: texture.hpp:1606
TextureWrap
Texture wrap enumeration.
Definition: texture_wrap.hpp:51
GLuint GetGLName(ObjectName< ObjTag > named)
Returns the GLuint OpenGL name assigned to named object.
Definition: name.hpp:38
PixelDataType
OpenGL pixel data type enumeration.
Definition: pixel_data.hpp:29
A tuple of swizzle values for all texture components.
Definition: texture_swizzle.hpp:67
ObjectOps & SwizzleRGBA(TextureSwizzle mode)
Sets the swizzle parameter (TEXTURE_SWIZZLE_RGBA)
Definition: texture.hpp:1665
GLsizei SharedSize(GLint level=0) const
Returns the size of all texture components.
Definition: texture.hpp:371
PixelDataFormat
OpenGL pixel data format enumeration.
Definition: pixel_data.hpp:50
TextureCompareMode
Texture compare mode enumeration.
Definition: texture_compare.hpp:29
ObjectOps & SubImage1D(GLint level, GLint xoffs, GLsizei width, PixelDataFormat format, Property::PixDataType type, const void *data)
Specifies a one dimensional texture sub image.
Definition: texture.hpp:705
PixelDataInternalFormat InternalFormat(GLint level=0) const
Returns the internal data format of the image array.
Definition: texture.hpp:399
ObjectOps & CompareFunc(CompareFunction func)
Sets the compare function (TEXTURE_COMPARE_FUNC)
Definition: texture.hpp:1197
TextureCompareMode CompareMode
Depth texture comparison mode.
Definition: texture.hpp:55
ObjectOps & CompressedSubImage3D(GLint level, GLint xoffs, GLint yoffs, GLint zoffs, GLsizei width, GLsizei height, GLsizei depth, PixelDataFormat format, GLsizei image_size, const void *data)
Specifies a three dimensional compressed texture sub image.
Definition: texture.hpp:849
ObjectOps & BorderColor(Vector< GLfloat, 4 > color)
Sets the texture border color (TEXTURE_BORDER_COLOR)
Definition: texture.hpp:1042
Implements operations applicable to any object including object 0 (zero)
Definition: fwd.hpp:157
ObjectOps & SwizzleRGBA(TextureSwizzle mode_r, TextureSwizzle mode_g, TextureSwizzle mode_b, TextureSwizzle mode_a)
Sets the swizzle parameter (TEXTURE_SWIZZLE_RGBA)
Definition: texture.hpp:1690
TextureSwizzle Swizzle(TextureSwizzleCoord coord) const
Gets the swizzle parameter (TEXTURE_SWIZZLE_*)
Definition: texture.hpp:1507
GLfloat Anisotropy(void) const
Gets the current anisotropy level.
Definition: texture.hpp:1466
Object< DSATextureOps > DSATexture
An oglplus_object encapsulating the DSA texture object functionality.
Definition: texture.hpp:2125
GLsizei Width(GLint level=0) const
Returns the width of the texture as it was specified by *Image*D.
Definition: texture.hpp:110
TextureWrapCoord WrapCoord
Texture wrap mode for coordinate.
Definition: texture.hpp:78
TextureCompareMode CompareMode(void) const
Gets the compare mode (TEXTURE_COMPARE_MODE)
Definition: texture.hpp:1149
Stores a value having one of the listed types in a common representation.
Definition: one_of.hpp:60
GLsizei Depth(GLint level=0) const
Returns the depth of the texture as it was specified by *Image*D.
Definition: texture.hpp:138
ObjectOps & Filter(TextureFilter filter)
Sets both the minification and maginification filter.
Definition: texture.hpp:1252
PixelDataType DepthType(GLint level=0) const
Returns the data type used to store the DEPTH component.
Definition: texture.hpp:230
ObjectOps & BorderColor(Vector< GLint, 4 > color)
Sets the texture border color (TEXTURE_BORDER_COLOR)
Definition: texture.hpp:1085
ObjectOps & WrapR(TextureWrap mode)
Sets the wrap parameter (TEXTURE_WRAP_R)
Definition: texture.hpp:1834
GLsizei BlueSize(GLint level=0) const
Returns the actual resolution of the BLUE component.
Definition: texture.hpp:290
void GetImage(GLint level, PixelDataFormat format, Property::PixDataType type, GLsizei size, GLvoid *buffer) const
Allows to obtain the texture image in uncompressed form.
Definition: texture.hpp:443
Wrapper for (texture) image data.
Definition: image.hpp:45
ObjectOps & DepthStencilMode(PixelDataFormat mode)
Sets the swizzle parameter (DEPTH_STENCIL_TEXTURE_MODE)
Definition: texture.hpp:1861
Exception class for GL object-related errors.
Definition: object.hpp:24
TextureWrap Wrap(TextureWrapCoord coord) const
Gets the wrap parameter (TEXTURE_WRAP_*)
Definition: texture.hpp:1744
ObjectOps & SubImage2D(GLint level, GLint xoffs, GLint yoffs, GLsizei width, GLsizei height, PixelDataFormat format, Property::PixDataType type, const void *data)
Specifies a two dimensional texture sub image.
Definition: texture.hpp:656
ObjectOps & CompressedSubImage1D(GLint level, GLint xoffs, GLsizei width, PixelDataFormat format, GLsizei image_size, const void *data)
Specifies a one dimensional compressed texture sub image.
Definition: texture.hpp:927
GLsizei CompressedImageSize(GLint level=0) const
Returns the size (in bytes) of the image array if it is compressed.
Definition: texture.hpp:385
ObjectOps & Seamless(bool enable)
Sets the seamless cubemap setting.
Definition: texture.hpp:1896
ObjectOps & BorderColor(Vector< GLuint, 4 > color)
Sets the texture border color (TEXTURE_BORDER_COLOR)
Definition: texture.hpp:1128
GLfloat MaxLOD(void) const
Gets maximum LOD value (TEXTURE_MAX_LOD)
Definition: texture.hpp:1387
TextureWrap WrapT(void) const
Gets the wrap parameter (TEXTURE_WRAP_T)
Definition: texture.hpp:1801
TextureSwizzleCoord
Texture swizzle parameter coordinate enumeration.
Definition: texture_swizzle.hpp:29
ObjectOps & MinFilter(TextureMinFilter filter)
Sets the minification filter (TEXTURE_MIN_FILTER)
Definition: texture.hpp:1333
ObjectOps & WrapT(TextureWrap mode)
Sets the wrap parameter (TEXTURE_WRAP_T)
Definition: texture.hpp:1812
TextureWrap WrapS(void) const
Gets the wrap parameter (TEXTURE_WRAP_S)
Definition: texture.hpp:1779
void Bind(Target target) const
Binds this texture to the specified target.
Definition: texture.hpp:330
TextureWrapCoord
Texture wrap parameter coordinate enumeration.
Definition: texture_wrap.hpp:28
ObjectOps & BaseLevel(GLuint level)
Sets the texture base level (TEXTURE_BASE_LEVEL)
Definition: texture.hpp:998
PixelDataFormat DepthStencilMode(void) const
Gets the depth stencil mode parameter (DEPTH_STENCIL_TEXTURE_MODE)
Definition: texture.hpp:1847
TextureMagFilter MagFilter(void) const
Gets the magnification filter (TEXTURE_MAG_FILTER)
Definition: texture.hpp:1285
ObjectOps & CompressedSubImage2D(GLint level, GLint xoffs, GLint yoffs, GLsizei width, GLsizei height, PixelDataFormat format, GLsizei image_size, const void *data)
Specifies a two dimensional compressed texture sub image.
Definition: texture.hpp:890
ObjectOps & MaxLOD(GLfloat value)
Sets maximum LOD value (TEXTURE_MAX_LOD)
Definition: texture.hpp:1398
GLfloat MaxAnisotropy(void) const
Gets the maximum anisotropy level.
Definition: texture.hpp:1451
ObjectOps & SwizzleA(TextureSwizzle mode)
Sets the swizzle parameter (TEXTURE_SWIZZLE_A)
Definition: texture.hpp:1630
ObjectOps & Swizzle(TextureSwizzleCoord coord, TextureSwizzle mode)
Sets the swizzle parameter (TEXTURE_SWIZZLE_*)
Definition: texture.hpp:1520
Implements operations applicable to any object and any operation kind.
Definition: fwd.hpp:151
ObjectOps & CopySubImage1D(GLint level, GLint xoffs, GLint x, GLint y, GLsizei width)
Copies a one dimensional texture sub image from the framebuffer.
Definition: texture.hpp:819
ObjectOps< tag::DirectState, tag::Texture > DSATextureOps
Texture operations with direct state access.
Definition: texture.hpp:1932
GLuint BaseLevel(void) const
Returns the texture base level (TEXTURE_BASE_LEVEL)
Definition: texture.hpp:987
CompareFunction
Comparison function type enumeration.
Definition: compare_function.hpp:30
GLsizei StencilSize(GLint level=0) const
Returns the actual resolution of the STENCIL component.
Definition: texture.hpp:350
PixelDataType RedType(GLint level=0) const
Returns the data type used to store the RED component.
Definition: texture.hpp:154
GLfloat LODBias(void) const
Gets the LOD bias value (TEXTURE_LOD_BIAS)
Definition: texture.hpp:1219
GLsizei AlphaSize(GLint level=0) const
Returns the actual resolution of the ALPHA component.
Definition: texture.hpp:310
ObjectOps & CopySubImage3D(GLint level, GLint xoffs, GLint yoffs, GLint zoffs, GLint x, GLint y, GLsizei width, GLsizei height)
Copies a three dimensional texture sub image from the framebuffer.
Definition: texture.hpp:749
Basic template for vector types.
Definition: fwd.hpp:43
ObjectOps & SubImage3D(GLint level, GLint xoffs, GLint yoffs, GLint zoffs, GLsizei width, GLsizei height, GLsizei depth, PixelDataFormat format, Property::PixDataType type, const void *data)
Specifies a three dimensional texture sub image.
Definition: texture.hpp:602
Vector< GLint, 4 > BorderColor(TypeTag< GLint >) const
Gets the texture border color (TEXTURE_BORDER_COLOR)
Definition: texture.hpp:1063
ObjectOps & SwizzleG(TextureSwizzle mode)
Sets the swizzle parameter (TEXTURE_SWIZZLE_G)
Definition: texture.hpp:1582
ObjectOps & CompareMode(TextureCompareMode mode)
Sets the compare mode (TEXTURE_COMPARE_MODE)
Definition: texture.hpp:1162
CompareFunction CompareFunc(void) const
Sets the compare function (TEXTURE_COMPARE_FUNC)
Definition: texture.hpp:1184
A common template for "named" objects like textures, buffers, etc.
Definition: fwd.hpp:136
TextureFilter Filter
Filter.
Definition: texture.hpp:58
PixelDataType GreenType(GLint level=0) const
Returns the data type used to store the GREEN component.
Definition: texture.hpp:173
PixelDataType AlphaType(GLint level=0) const
Returns the data type used to store the ALPHA component.
Definition: texture.hpp:211
Class wrapping texture object functionality with direct state access.
Definition: texture.hpp:45
ObjectOps & Wrap(TextureWrapCoord coord, TextureWrap mode)
Sets the wrap parameter (TEXTURE_WRAP_*)
Definition: texture.hpp:1754
ObjectOps & SwizzleR(TextureSwizzle mode)
Sets the swizzle parameter (TEXTURE_SWIZZLE_R)
Definition: texture.hpp:1558
ObjectOps & MagFilter(TextureMagFilter filter)
Sets the magnification filter (TEXTURE_MAG_FILTER)
Definition: texture.hpp:1298