www.opengl.org/registry ©2014 Khronos Group - Rev. 0814
OpenGL 4.5 API Reference Card Page 3
Textures and Samplers (cont.)
Texture Image Spec. [8.5]
void TexImage3D(enum target, int level,
int internalformat, sizei width, sizei height,
sizei depth, int border, enum format,
enum type, const void *data);
target: [PROXY_]TEXTURE_CUBE_MAP_ARRAY,
[PROXY_]TEXTURE_2D_ARRAY, [PROXY_]TEXTURE_3D
internalformat: STENCIL_INDEX, RED,
DEPTH_{COMPONENT, STENCIL}, RG, RGB, RGBA,
C
OMPRESSED_{RED, RG, RGB, RGBA, SRGB,
SRGB_ALPHA), a sized internal format from
[Tables 8.12 - 8.13], or a COMPRESSED_ format
fr
om [Table 8.14]
format: DEPTH_{COMPONENT, STENCIL}, RED,
GREEN, BLUE, RG, RGB, RGBA, BGR, BGRA,
{BGRA, RED, GREEN, BLUE}_INTEGER,
{RG, RGB, RGBA, BGR}_INTEGER,
STENCIL_INDEX, [Table 8.3]
type
: [UNSIGNED_]{BYTE, SHORT, INT},
[HALF_]FLOAT, or a value from [Table 8.2]
void TexImage2D(enum target, int level,
int in
ternalformat, sizei width,
sizei he
ight, int border, enum format,
enum type,
const void *data);
target: [PROXY_]TEXTURE_{2D, RECTANGLE},
[PROXY_]TEXTURE_{1D_ARRAY, CUBE_MAP},
TEXTURE_CUBE_MAP_POSITIVE_{X,
Y, Z},
TEXTURE_CUBE_MAP_N
EGATIVE_{X, Y, Z}
internalformat, format, type: See TexImage3D
void TexImage1D(enum target, int level,
int in
ternalformat, sizei width, int border,
enum format, enum type, const void *data);
target: TEXTURE_1D, PROXY_TEXTURE_1D
type, internalformat, format: See TexImage3D
Alternate Texture Image Spec. [8.6]
void CopyTexImage2D(enum target,
int le
vel, enum internalformat, int x,
int y,
sizei width, sizei height, int border);
target: TEXTURE_{2D, RECTANGLE, 1D_ARRAY},
TEXTURE_CUBE_MAP_{POSITIVE, NEGATIVE}_{X, Y, Z}
internalformat: See TexImage3D
void CopyTexImage1D(enum target,
int le
vel, enum internalformat, int x,
int y, sizei width, int border);
target: TEXTURE_1D
internalformat: See TexImage3D
void TexSubImage3D(enum target, int level,
int x
oset, int yoset, int zoset,
sizei width
, sizei height, sizei depth,
enum f
ormat, enum type,
const void *data);
target: TEXTURE_3D, TEXTURE_2D_ARRAY,
TEXTURE_CUBE_MAP_ARRAY
f
ormat, type: See TexImage3D
void TexSubImage2D(enum target,
int level, int xoset, int yoset, sizei width,
sizei height, enum format, enum type,
const void *data);
target: See CopyTexImage2D
format, type: See TexImage3D
void TexSubImage1D(enum target, int level,
int xoset, sizei width, enum format,
enum type, const void *data);
target, format, type: See CopyTexImage1D
void CopyTexSubImage3D(enum target,
int level, int xoset, int yoset, int zoset,
int x, int y, sizei width, sizei height);
target: See TexSubImage3D
void CopyTexSubImage2D(enum target,
int le
vel, int xoset, int yoset, int x,
int y,
sizei width, sizei height);
target: See TexImage2D
void CopyTexSubImage1D(enum target,
int le
vel, int xoset, int x, int y, sizei width);
target: See TexSubImage1D
void TextureSubImage3D(uint texture, int level,
int x
oset, int yoset, int zoset,
sizei width
, sizei height, sizei depth,
enum f
ormat, enum type,
const void *pixels);
format, type: See TexImage3D
void TextureSubImage2D(uint texture, int level,
int xoset, int yoset, sizei width,
sizei height, enum format, enum type,
const void *pixels);
format, type: See TexImage3D
void TextureSubImage1D(uint texture, int level,
int xoset, sizei width, enum format,
enum type, const void *pixels);
format, type: See TexImage3D
void CopyTextureSubImage3D(uint texture,
int le
vel, int xoset, int yoset, int zoset,
int x, int y, sizei width, sizei height);
void CopyTextureSubImage2D(uint texture,
int le
vel, int xoset, int yoset, int x,
int y,
sizei width, sizei height);
void CopyTextureSubImage1D(uint texture,
int le
vel, int xoset, int x, int y, sizei width);
Compressed Texture Images [8.7]
void CompressedTexImage3D(enum target,
int level, enum internalformat, sizei width,
sizei height, sizei depth, int border,
sizei image
Size, const void *data);
target: See TexImage3D
internalformat: A COMPRESSED_
format from [Table 8.14]
void CompressedTexImage2D(enum target,
int level, enum internalformat,
sizei width, sizei height, int border,
sizei image
Size, const void *data);
target: See TexImage2D
internalformat: May be one of the COMPRESSED_
formats from [Table 8.14]
void CompressedTexImage1D(enum target,
int level, enum internalformat,
sizei width
, int border, sizei imageSize,
const void *data);
target: TEXTURE_1D, PROXY_TEXTURE_1D
internalformat: See TexImage1D, oming
compressed rectangular texture formats
void CompressedTexSubImage3D(
enum t
arget, int level, int xoset,
int yo
set, int zoset, sizei width,
sizei he
ight, sizei depth, enum format,
sizei image
Size, const void *data);
target: See TexSubImage3D
format: See internalformat for
CompressedTexImage3D
void CompressedTexSubImage2D(
enum t
arget, int level, int xoset,
int yo
set, sizei width, sizei height,
enum f
ormat, sizei imageSize,
cont void *data);
target: See TexSubImage2D
format: See internalformat for
CompressedTexImage2D
void CompressedTexSubImage1D(
enum t
arget, int level, int xoset,
sizei width
, enum format, sizei imageSize,
const void *data);
target: See TexSubImage1D
format: See internalformat for
CompressedTexImage1D
void CompressedTextureSubImage3D(
uint t
exture, int level, int xoset,
int yo
set, int zoset, sizei width,
sizei he
ight, sizei depth, enum format,
sizei image
Size, const void *data);
format: See internalformat for
CompressedTexImage3D
void CompressedTextureSubImage2D(
uint t
exture, int level, int xoset,
int yo
set, sizei width, sizei height,
enum f
ormat, sizei imageSize,
cont void *data);
format: See internalformat for
CompressedTexImage2D
void CompressedTextureSubImage1D(
uint t
exture, int level, int xoset,
sizei width
, enum format, sizei imageSize,
const void *data);
format: See internalformat for
CompressedTexImage1D
Mulsample Textures [8.8]
void TexImage3DMulsample(enum target,
sizei samples, int internalformat,
sizei width
, sizei height, sizei depth,
boolean xedsamplelocaons);
target: [PROXY_]TEXTURE_2D_MULTISAMPLE_ARRAY
internalformat: RED, RG, RGB, RGBA, RGBA{32, 32UI},
DEPTH_COMPONENT[16, 24, 32, 32F],
DEPTH{24, 32F}_STENCIL8, STENCIL_INDEX{1, 4, 8, 16}
void TexImage2DMulsample(enum target,
sizei samples, int internalformat, sizei width,
sizei height, boolean xedsamplelocaons);
target: [PROXY_]TEXTURE_2D_MULTISAMPLE
internalformat: See TexImage3DMulsample
Buer Textures [8.9]
void TexBuerRange(enum target,
enum in
ternalFormat, uint buer,
intptr o
set, sizeiptr size);
void TextureBuerRange(uint texture,
enum internalFormat, uint buer,
intptr o
set, sizeiptr size);
internalformat: See TexBuer
void TexBuer(enum target,
enum internalformat, uint buer);
target: TEXTURE_BUFFER
internalformat: [Table 8.16] R8, R8{I, UI}, R16,
R16{F, I, UI}, R32{F, I, UI}, RG8, RG8{I, UI}, RG16,
R
G16{F, I, UI}, RG32{F, I, UI}, RGB32F, RGB32{I, UI},
RGBA8, RGBA8{I, UI}, RGBA16, RGBA16{F, I, UI},
RGBA32{F, I, UI}
void TextureBuer(uint texture,
enum internalformat, uint buer);
internalformat: See TexBuer
Texture Parameters [8.10]
void TexParameter{i f}(enum target,
enum pname,
T param);
target: See BindTexture
void TexParameter{i f}v(enum target,
enum pname, const T *params);
target: See BindTexture
void TexParameterI{i ui}v(enum target,
enum pname, const T *params);
target: See BindTexture
pname: DEPTH_STENCIL_TEXTURE_MODE or
TEXTURE_X wher
e X may be one of
WRAP_{S, T, R}, BORDER_COLOR,
{MIN, MAG}_FILTER, LOD_BIAS,{MIN, MAX}_LOD,
{B
ASE, MAX}_LEVEL, SWIZZLE_{R, G, B, A, RGBA},
COMPARE_{MODE, FUNC} [Table 8.17]
void TextureParameter{i f}(uint texture,
enum pname,
T param);
pname: See BindTexture
void TextureParameter{i f}v(uint texture,
enum pname, const T *params);
pname: See BindTexture
void TextureParameterI{i ui}v(uint texture,
enum pname, const T *params);
pname: TEXTURE_3D, TEXTURE_{1D, 2D}[_ARRAY],
TEXTURE_CUBE_MAP[_ARRAY],
TEXTURE_RECTANGLE,
TEXTURE_2D_MULTISAMPLE[_ARRAY]
Texture Queries [8.11]
void GetTexParameter{if}v(enum target,
enum pname, T * params);
target: See BindTexture
pname: See GetTexParameter
I{i ui}v
void GetTexParameterI{i ui}v(enum target,
enum pname, T * params);
target: See BindTexture
pname: IMAGE_FORMAT_COMPATIBILITY_TYPE,
TEXTURE_IMMUTABLE_{FORMAT, LEVELS},
TEXTURE_VIEW_MIN_{LEVEL, LAYER},
TEXTURE_VIEW_NUM_{LEVELS, LAYERS},
DEPTH_STENCIL_TEXTURE_MODE, or TEXTURE_X
wher
e X may be one of WRAP_{S, T, R},
BORDER_COLOR, TARGET, {MIN, MAG}_FILTER,
L
OD_BIAS,{MIN, MAX}_LOD, {BASE, MAX}_LEVEL,
SWIZZLE_{R, G, B, A, RGBA},
COMPARE_{MODE, FUN
C} [Table 8.17]
void GetTextureParameter{if}v(uint texture,
enum pname, T *data);
pname: See GetTexParameterI{i ui}v
void GetTextureParameterI{i ui}v(uint texture,
enum pname, T *data);
pname: See GetTexParameterI{i ui}v
void GetTexLevelParameter{i f}v(enum target,
int level, enum pname, T *params);
target: [PROXY_]TEXTURE_{1D, 2D, 3D},
TEXTURE_BUFFER, PROXY_TEXTURE_CUBE_MAP,
[PROXY_]TEXTURE_{1D, 2D,CUBE_MAP}_ARRAY,
[PROXY_]TEXTURE_RECTANGLE,
TEXTURE_CUBE_MAP_NEGATIVE_{X, Y, Z},
TEXTURE_CUBE_MAP_POSITIVE_{X, Y
, Z},
[PROXY_]TEXTURE_2D_MULTISAMPLE[_ARRAY]
pname
: TEXTURE _*, where * may be WIDTH,
HEIGHT, DEPTH, FIXED_SAMPLE_LOCATIONS,
INTERNAL_FORMAT, SHARED_SIZE, COMPRESSED,
COMPRESSED_IMAGE_SIZE, SAMPLES,
BUFFER_{OFFSET, SIZE}, or X_{SIZE,
TYPE}
where X c
an be RED, GREEN, BLUE, ALPHA, DEPTH
void GetTextureLevelParameter{i f}v(
uint texture, int level, enum pname,
T *params);
pname: See GetTexLevelParameter{i f}v
void GetTexImage(enum target, int level,
enum format, enum type, void *pixels);
target: TEXTURE_{1, 2}D[_ARRAY],
TEXTURE_{3D, RECTANGLE, CUBE_MAP_ARRAY},
TEXTURE_CUBE_MAP_NEGATIVE_{X, Y, Z},
TEXTURE_CUBE_MAP_POSITIVE_{X, Y
, Z}
format: See TexImage3D
type
: [UNSIGNED_]BYTE, SHORT, INT,
[HALF_]FLOAT, or a value from [Table 8.2]
void GetTextureImage(uint texture, int level,
enum f
ormat, enum type, sizei bufSize,
void *pixels);
level: LOD level
format, type: See GetTexImage
void GetnTexImage(enum tex, int level,
enum f
ormat, enum type, sizei bufSize,
void *pixels);
tex: TEXTURE_{1D, 2D, 3D}[_ARRAY], TEXTURE_3D,
TEXTURE_{CUBE_MAP_ARRAY, RECTANGLE},
TEXTURE_CUBE_MAP_POSITIVE_{X, Y, Z},
TEXTURE_CUBE_MAP_N
EGATIVE_{X, Y, Z}
level, format, type: See GetTextureImage
void GetTextureSubImage(uint texture,
int level, int xoset, int yoset, int zoset,
sizei width, sizei height, sizei depth,
enum format, enum type, sizei bufSize,
void *pixels);
level, format, type: See GetTextureImage
void GetCompressedTexImage(enum target,
int level, void *pixels);
target: See GetTextureImage
void
GetCompressedTextureImage(uint texture,
int level, sizei bufSize, void *pixels);
level: See GetTextureImage
void GetnCompressedTexImage(enum target,
int level, sizei bufsize, void *pixels);
target: See GetCompressedTexImage
level: LOD level
void GetCompressedTextureSubImage(
uint texture, int level, int xoset, int yoset,
int zoset, sizei width, sizei height,
sizei depth, sizei bufSize, void *pixels);
level: LOD level
Cube Map Texture Select [8.13.1]
Enable/Disable/IsEnabled(
TEXTURE_CUBE_MAP_SEAMLESS);
Manual Mipmap Generaon [8.14.4]
void GenerateMipmap(enum target);
target: TEXTURE_{1D, 2D, 3D},
TEXTURE_{1D, 2D}_ARRAY,
TEXTURE_CUBE_MAP[_ARRAY]
void GenerateTextureMipmap(uint texture);
Texture Views [8.18]
void TextureView(uint texture, enum target,
uint origtexture, enum internalformat,
uint minle
vel, uint numlevels, uint minlayer,
uint numlayers);
target: TEXTURE_{1D, 2D,CUBE_MAP}[_ARRAY],
TEXTURE_3D, TEXTURE_RECTANGLE,
TEXTURE_2D_MUL
TISAMPLE[_ARRAY]
internalformat:
R8, R8{UI, I}, R8_SNORM, R11F_G11F_B10F,
R16{F, UI, I}, R16[_SNORM],
R32{F, UI, I}, SRGB8[UI, I],
RG8{F, UI, I}, RG8[_SNORM],
RG16{F, UI, I}, RG16[_SNORM], RG32{F, UI, I},
RGB8[_SNORM], RGB9_E5, RGB10_A2[UI],
R
GBA8{UI, I}, RGBA8[_SNORM],
RGB16{F, UI, I}, RGB16[_SNORM], RGB32{F, UI, I},
RGBA16{F, UI, I}, RGBA16[_SNORM],
RGBA32{F, UI, I}, SRGB8_ALPHA8;
COMPRESSED_X wher
e X may be
[SIGNED]_RED_RGTC1, [SIGNED]_RG_RGTC2,
{R
GBA, SRGB_ALPHA}_BPTC_UNORM,
RGB_BPT
C_[UN]SIGNED_FLOAT
Immutable-Format Tex. Images [8.19]
void TexStorage1D(enum target, sizei levels,
enum internalformat, sizei width);
target: TEXTURE_1D
internalformat: any of the sized internal color, depth,
and stencil formats in [Tables 8.18-20]
(Connued on next page)