Opengl4.5 中文手册—T
索引
T
glTexBuffer 3.1
将Buffer关联到GL_TEXTURE_BUFFER
GLenum target, GL_TEXTURE_BUFFER
GLenum internalFormat,
GLuint buffer
glTexBufferRange
将Buffer部分数据关联到GL_TEXTURE_BUFFER
glTexImage2D 2.0
利用内存或Buffer(GL_PIXEL_UNPACK_BUFFER)中的数据生成纹理
GLenum target, GL_TEXTURE_2D, GL_TEXTURE_1D_ARRAY, GL_TEXTURE_CUBE_MAP_POSITIVE_X,…….
GLint mipmapLevel, 手动mipmap使用
GLint internalFormat, //纹理格式,使用通用的压缩格式时,opengl会将其替换为专用的压缩格式,获取最终的压缩格式和大小可使用glGetTexLevelParameter
GLsizei width,
GLsizei height,
GLint border, 必须为0
GLenum format, //源数据格式:GL_RED, GL_RGBA, GL_BGRA GL_RGB_INTEGER, GL_STENCIL_INDEX, …
GLenum type, //类型: GL_BYTE, GL_FLOAT, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_2_10_10_10_REV…
const GLvoid * data //源数据地址,GL_PIXEL_UNPACK_BUFFER不为零0时,data为对应buffer的偏移量
从帧缓冲区拷贝到纹理使用glCopyTexImage2D或者
unsigned int texture; glGenTextures(1, &texture); glBindTexture(GL_TEXTURE_2D, texture); glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, data); glGenerateMipmap(GL_TEXTURE_2D);
glTexParameter 2.0
设置纹理参数:缩小、放大过滤方式,纹理平铺样式,边框色,最大、最小lod范围,深度纹理比较方式、函数等等
GLenum target, GL_TEXTURE_1D, GL_TEXTURE_1D_ARRAY,……
GLenum pname, GL_DEPTH_STENCIL_TEXTURE_MODE, GL_TEXTURE_BASE_LEVEL,……
GLfloat param
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_MIRRORED_REPEAT);
float borderColor[] = { 1.0f, 1.0f, 0.0f, 1.0f };
glTexParameterfv(GL_TEXTURE_2D, GL_TEXTURE_BORDER_COLOR, borderColor);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexStorage2D 2.0
分配纹理所有level存储,分配的纹理大小、格式、level都不可再改变变,可以通过glTexSubImage2D修改其数据
GLenum target, :GL_TEXTURE_2D, GL_TEXTURE_1D_ARRAY……
GLsizei levels, :纹理层个数
GLenum internalformat,
GLsizei width,
GLsizei height
glTexStorage2DMultisample 4.3
分配多重采样纹理
GLenum target,: GL_TEXTURE_2D_MULTISAMPLE
GLsizei samples, 采样数
GLenum internalformat,
GLsizei width,
GLsizei height,
GLboolean fixedsamplelocations
glTexSubImage2D 2.0
修改纹理部分数据
GLenum target, GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP_POSITIVE_X, …….
GLint level,
GLint xoffset,
GLint yoffset,
GLsizei width,
GLsizei height,
GLenum format,
GLenum type,
const GLvoid * pixels : 绑定GL_PIXEL_UNPACK_BUFFER时为数据偏移
glTextureBarrier 4.5
用于同步纹理读写
glTextureView 4.3
将纹理初始化为另一纹理别名
glTransformFeedbackBufferBase 4.5
将buffer直接绑定到TransformFeedback
可使用glBindBufferBase代替
glTransformFeedbackBufferRange 4.5
将buffer部分数据直接绑定到TransformFeedback
可使用glBindBufferRange代替
glTransformFeedbackVaryings 3.0
设置TransformFeedback输出的变量
GLuint program, 设置的program, 需要glLinkPragram
GLsizei count, 变量个数
const char **varyings, 变量名,\0结尾
GLenum bufferMode
GL_INTERLEAVED_ATTRIBS 共用一个缓冲区
GL_SEPARATE_ATTRIBS 每个变量一个缓冲区