美文网首页
OpenGL-纹理压缩

OpenGL-纹理压缩

作者: Tobesky | 来源:发表于2019-05-24 11:51 被阅读0次

纹理压缩(Texture compression)是一种专为在三维计算机图形渲染系统中存储纹理而使用的图像压缩技术。与普通图像压缩算法的不同之处在于,纹理压缩算法为纹素随机存取做了优化。

通用压缩纹理格式

判断压缩与选择压缩方式

//判断纹理是否被成功压缩 
GLint comFlag;
glGetTexLevelParameteriv(GL_TEXTURE_2D,0,GL_TEXTURE_COMPRESSED,&comFlag);

//根据选择的压缩纹理格式,
//选择最快、最优、⾃行选择的算法⽅式选择压缩格式。 
glHint(GL_TEXTURE_COMPRESSION_HINT,GL_FASTEST);
glHint(GL_TEXTURE_COMPRESSION_HINT,GL_NICEST);
glHint(GL_TEXTURE_COMPRESSION_HINT,GL_DONT_CARE);

加载压缩纹理

void glCompressedTexImage1D(GLenum target,GLint level,GLenum internalFormat,GLsizei width,GLint border,GLsizei imageSize,void *data);

void glCompressedTexImage2D(GLenum target,GLint level,GLenum internalFormat,GLsizei width,GLint heigth,GLint border,GLsizei imageSize,void *data);

void glCompressedTexImage3D(GLenum target,GLint level,GLenum internalFormat,GLsizei width,GLsizei heigth,GLsizei depth,GLint border,GLsizei imageSize,void *data);

参数说明:

  • target:GL_TEXTURE_1DGL_TEXTURE_2DGL_TEXTURE_3D
  • Level:指定所加载的mip贴图层次。⼀一般我们都把这个参数设置为0。 internalformat:每个纹理理单元中存储多少颜⾊色成分。
  • width、height、depth参数:指加载纹理理的宽度、⾼高度、深度。==注意!==这些值必须是2的整数次⽅方。(这是因为O
    旧版本上的遗留留下的⼀一个要求。当然现在已经可以⽀支持不不是2的整数次⽅方。但是开发者们还是习惯使⽤用以2的整数次⽅方去
    参数。)
  • border参数:允许为纹理理贴图指定⼀一个边界宽度。

format、type、data参数:与我们在讲glDrawPixels函数对应的参数相同

glGetTexLevelParameter函数提取的压缩纹理格式如下:

GL_EXT_texture_compression_s3tc压缩格式如下:

相关文章

  • OpenGL-纹理压缩

    纹理压缩(Texture compression)是一种专为在三维计算机图形渲染系统中存储纹理而使用的图像压缩技术...

  • 纹理压缩简介 DXT PVR ETC

    参考为什么需要纹理压缩移动端纹理压缩格式干货:Unity游戏开发图片纹理压缩方案Creator使用压缩纹理常用纹理...

  • OpenGL-纹理的初步应用

    Title: OpenGL-纹理的初步应用Date: 2016-08-06 01:30Modified: 2016...

  • OpenGL-纹理

    纹理 纹理(Texture),简单理解就是一张二维图片,一张可以贴在物体表面的贴纸。 映射方式 纹理的(0,0)在...

  • OPenGL-纹理

    一常用函数 改变像素存储⽅方式 从颜⾊色缓存区内容作为像素图直接读取 载⼊纹理 常用: glTexImage2D ...

  • OpenGL-基础纹理

    一、原始图像数据 1.像素包装 图像存储空间 = 图像的高度 * 图像宽度 * 每个像素的字节数 二、函数 (注意...

  • OpenGL-纹理隧道

    1.加载纹理 这个案例中用到了三个纹理,所以用一个for循环来依次进行绑定加载纹理。 2. 确定坐标 以地板坐标为...

  • OpenGL-载入纹理

    在OpenGL里以下三个函数最经常用来从存储器缓冲区中载入纹理数据: 参数说明: target:指定目标纹理,这个...

  • OpenGL-纹理(下)

    1.关于mipmap的解释 mipmap一词出自Lance Willianms 的论文< >--1983年,mip...

  • 五、OpenGL-纹理

    音视频开发:OpenGL + OpenGL ES + Metal 系列文章汇总[https://www.jians...

网友评论

      本文标题:OpenGL-纹理压缩

      本文链接:https://www.haomeiwen.com/subject/glhgzqtx.html