位置: 编程技术 - 正文

各种移动GPU压缩纹理的使用方法(gpu缩放在哪里打开)

编辑:rootadmin

推荐整理分享各种移动GPU压缩纹理的使用方法(gpu缩放在哪里打开),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:gpu纹理压缩,gpu缩放在哪,gpuburn怎么压,gpu 压缩,gpuburn怎么压,gpu压制,gpu压制,gpu 压缩,内容如对您有帮助,希望把文章链接给更多的朋友!

介绍了各种移动设备所使用的GPU,以及各个GPU所支持的压缩纹理的&#;式和使用方法。1. 移动GPU大全目前移动市场的GPU主要有四大厂商系列:1)Imagination Technologies的PowerVR SGX系列

代表型号:PowerVR SGX 、PowerVR SGX 、PowerVR SGX MP、PowerVR SGX MP等代表作 :Apple iPhone全系、iPad全系,三星I、P等2)Qualcomm(高通)的Adreno系列

代表型号:Adreno 、Adreno 、Adreno 、Adreno 等代表作 :HTC G、G,小米1、2等3)ARM的Mali系列

代表型号:Mali-、Mali-T等代表作 :三星Galaxy SII、Galaxy SIII、Galaxy Note1、Galaxy Note2(亚版)等4)nVIDIA(英伟达)的Tegra系列

代表型号:nVIDIA Tegra2、nVIDIA Tegra3等代表作 :Google Nexus 7,HTC One X等2. 压缩纹理的必要性1)首先要说一下图像文件&#;式和纹理&#;式的区别。常用的图像文件&#;式有BMP,TGA,JPG,GIF,PNG等;常用的纹理&#;式有R5G6B5,A4R4G4B4,A1R5G5B5,R8G8B8, A8R8G8B8等。 文件&#;式是图像为了存储信息而使用的对信息的特殊编码方式,它存储在磁盘中,或者内存中,但是并不能被GPU所识别,因为以向量计算见长的GPU对于这些复杂的计算无能为力。这些文件&#;式当被游戏读入后,还是需要经过CPU解压成R5G6B5,A4R4G4B4,A1R5G5B5,R8G8B8, A8R8G8B8等像素&#;式,再传送到GPU端进行使用。 纹理&#;式是能被GPU所识别的像素&#;式,能被快速寻址并采样。举个例子,DDS文件是游戏开发中常用的文件&#;式,它内部可以包含A4R4G4B4的纹理&#;式,也可以包含A8R8G8B8的纹理&#;式,甚至可以包含DXT1的纹理&#;式。在这里DDS文件有点容器的意味。 OpenGL ES 2.0支持以上提到的R5G6B5,A4R4G4B4,A1R5G5B5,R8G8B8,A8R8G8B8等纹理&#;式,其中 R5G6B5,A4R4G4B4,A1R5G5B5每个像素占用2个字节(BYTE),R8G8B8每个像素占用3个字节,A8R8G8B8每个像素占用 4个字节。

对于一张*的纹理的话,R5G6B5&#;式的文件需要占用KB的容量,A8R8G8B8&#;式的文件需要占用1MB的容量;如果是*的纹理,则各需要2M和4M的容量,这对于动辄需要几十、几百张甚至更多纹理的游戏,上G容量的游戏在移动平台上是不容易被接受的(当然,还是有1、2G的大作的,里面包含了几千张的纹理)。 聪明的设计师们在想,有没有其他办法,既能表现丰富的色彩和细节,又能是最小失真的情况下,达到更小的纹理容量呢。压缩纹理&#;式应运而生(当然,并不是在移动平台后才有的产物)。3. 常见的压缩纹理&#;式基于OpenGL ES的压缩纹理有常见的如下几种实现:1)ETC1(Ericsson texture compression)2)PVRTC (PowerVR texture compression)3)ATITC (ATI texture compression)4)S3TC (S3 texture compression)ETC1:ETC1&#;式是OpenGL ES图形标准的一部分,并且被所有的Android设备所支持。扩展名为: GL_OES_compressed_ETC1_RGB8_texture,不支持透明通道,所以仅能用于不透明纹理。当加载压缩纹理时,<internal format>参数支持如下&#;式: GL_ETC1_RGB8_OES(RGB,每个像素0.5个字节)PVRTC:支持的GPU为Imagination Technologies的PowerVR SGX系列。OpenGL ES的扩展名为: GL_IMG_texture_compression_pvrtc。当加载压缩纹理时,<internal format>参数支持如下几种&#;式: GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG (RGB,每个像素0.5个字节) GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG (RGB,每个像素0.个字节) GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG (RGBA,每个像素0.5个字节) GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG (RGBA,每个像素0.个字节)ATITC:支持的GPU为Qualcomm的Adreno系列。支持的OpenGL ES扩展名为: GL_ATI_texture_compression_atitc。当加载压缩纹理时,<internal format>参数支持如下类型的纹理: GL_ATC_RGB_AMD (RGB,每个像素0.5个字节) GL_ATC_RGBA_EXPLICIT_ALPHA_AMD (RGBA,每个像素1个字节) GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD (RGBA,每个像素1个字节)S3TC也被称为DXTC,在PC上广泛被使用,但是在移动设备上还是属于新鲜事物。支持的GPU为NVIDIA Tegra系列。OpenGL ES扩展名为:GL_EXT_texture_compression_dxt1和GL_EXT_texture_compression_s3tc。当加载压缩纹理时,<internal format>的参数有如下几种&#;式: GL_COMPRESSED_RGB_S3TC_DXT1 (RGB,每个像素0.5个字节) GL_COMPRESSED_RGBA_S3TC_DXT1 (RGBA,每个像素0.5个字节) GL_COMPRESSED_RGBA_S3TC_DXT3 (RGBA,每个像素1个字节) GL_COMPRESSED_RGBA_S3TC_DXT5 (RGBA,每个像素1个字节) 由此可见,Mali系列GPU只支持ETC1&#;式的压缩纹理,而且该纹理不支持透明通道,有一定局限性。 以上压缩纹理&#;式每个像素大小相对A8R8G8B8&#;式的比例,最高压缩比是:1,最低压缩比是4:1,对于减小纹理的数据容量有明显作用,相应在显存带宽上也有明显优势,从而提高游戏的运行效率(此特性没有绝对数&#;,根据每个游戏的用法和瓶颈点不同而有差别)。

4. OpenGL中相关API的使用

1) 获得GPU的型号

glGetString(GL_RENDERER)

2) 获得GPU的生产厂商

glGetString(GL_VENDOR);

3) 获取GPU支持哪些压缩纹理

string extensions = (const char*)glGetString(GL_EXTENSIONS);

a. 判断是否支持ETC1&#;式的压缩纹理

return (extensions.find("GL_OES_compressed_ETC1_RGB8_texture")!= string::npos);

b. 判断是否支持DXT&#;式的压缩纹理

return (extensions.find("GL_EXT_texture_compression_dxt1")!= string::npos ||

各种移动GPU压缩纹理的使用方法(gpu缩放在哪里打开)

extensions.find("GL_EXT_texture_compression_s3tc")!= string::npos);

c. 判断是否支持PVRTC&#;式的压缩纹理

return (extensions.find("GL_IMG_texture_compression_pvrtc")!= string::npos);

d. 判断是否支持ATITC&#;式的压缩纹理

return (extensions.find("GL_AMD_compressed_ATC_texture")!= string::npos ||

extensions.find("GL_ATI_texture_compression_atitc")!= string::npos);

4) 填充压缩纹理数据

void glCompressedTexImage2D (

GLenum target,

GLint level,

GLenum internalformat,

GLsizei width,

GLsizei height,

GLint border,

GLsizei imageSize,

const GLvoid * data);

这里的参数不做详细解释,其中internalformat即是压缩纹理&#;式的类型。

5. 压缩纹理工具的使用 每种压缩纹理以及相应的厂商都提供了压缩纹理的工具,工具都分两个版本: a. 可视化转换工具 (给美工或小白少量使用) b. 命令行转换工具 (给程序批量使用)下面对每个工具的用法进行说明。1)Imagination Technologies PowerVR工具下载地址

命令行转换脚本for %%i in (*.tga) do PVRTexTool.exe -f PVRTC4 -i %%i(将本目录下的所有tga文件,转换成"PVRTC4"编码&#;式的pvr文件,不带mipmap)详细使用说明:PvrTexTool.exe /?2)Qualcomm Adreno工具下载地址

命令行转换脚本for %%i in (*.tga) do QCompressCmd.exe %%i %%i.ktx "ATC RGBA Explicit" yes (将本目录下的所有tga文件,转换成"ATC RGBA Explicit"编码&#;式的ktx文件,带mipmap)详细使用说明:QCompressCmd.exe /?3)ARM Mali工具下载地址

命令行转换脚本for %%i in (*.tga) do PVRTexTool.exe -f ETC -i %%i(将本目录下的所有tga文件,转换成"ETC"编码&#;式的pvr文件,不带mipmap这里还是使用的PVRTexTool.exe,也可以使用QCompressCmd.exe)详细使用说明:PVRTexTool.exe /?4)nVIDIA Tegra可以使用DirectX SDK中自带的DirectX Texture Tool进行转换可视化转换界面

命令行转换脚本for %%i in (*.tga) do texconv.exe -f DXT5 %%i(将本目录下的所有tga文件,转换成"DXT5"编码&#;式的dds文件,不带mipmap)详细使用说明:TexConv.exe /?

全面理解 Unity UI 系统 随着Unity4.6发布,新UI系统终于与大家见面了。这篇文章将不会介绍如何使用按钮、滚动条之类的UI控件,这些内容可以参考UnityManual;这篇文章的重点是

Unity中的淡入淡出效果 一、问题想要在场景的转换做个过渡,不想直接的跳转。最简单的就是做个淡入淡出的效果。二、代码usingUnityEngine;usingSystem.Collections;publicclassLevelLoadFade

Unity之-----背后视角摄像机 相信每一个接触过Unity的人,应该都认识Unity引擎自带的那个水管工,也一定知道那个小人模型上挂着3个脚本控制着小人的一切,今天我就来说一下关于Un

标签: gpu缩放在哪里打开

本文链接地址:https://www.jiuchutong.com/biancheng/372973.html 转载请保留说明!

上一篇:C#编写Unity基础GUI之按钮控件(c#在unity的作用)

下一篇:全面理解 Unity UI 系统(全面理解全面把握全面落实)

  • 8月现金收入9月存银行如何做账
  • 小规模未开票收入如何填写申报表增值税
  • 空调可以直接做费用吗
  • 专票如何开具
  • 客票服务主要包括
  • 研发支出资本化支出在报表哪里
  • 代扣代缴完税凭证是什么
  • 税款差0.01是怎么用会计分录处理
  • 企业卫生费是指什么
  • 外商投资企业采购国产设备退税后续监管办法
  • 法定盈余公积金的提取比例一般按照()
  • 银行付款的会计怎么做账
  • 公司车辆转让需要缴纳印花税吗
  • 写字楼注册公司对面积有要求吗
  • 股东以私人名义帮公司付款合法吗
  • 单位员工去外地上班
  • 开店卖蔬菜
  • 代账公司收取服务费能开增值税票吗?
  • 运费发票备注栏新规定
  • 营改增后,代扣代缴所得税应当按照含税收入还是不含税收入?
  • 小额贷款公司可以跨区域经营吗
  • 购销合同印花税按70%
  • 盈亏平衡点定价法例题及答案
  • 五月份和六月份都有什么节日
  • 企业收取的延期付款利息需要征消费税和增值税
  • 企业所得税预缴可以不交吗
  • 老板和公司账务处理流程
  • php html5
  • mid文件和midi文件
  • pcas service进程可以关闭么
  • PHP:pg_connection_reset()的用法_PostgreSQL函数
  • 增值税专用发票有几联?
  • powergenie是什么程序
  • php实现的链式队列是什么
  • php字符串转浮点型
  • PHP:zip_entry_open()的用法_Zip函数
  • php随机ua
  • 土地增值税清算扣除项目
  • web安全如何入门
  • 收到无法支付的押金收入
  • 葡萄酒企业已纳税多少
  • php数字增1
  • php操作mysql数据库
  • 销售多余材料的成本
  • php -a
  • 【超直白讲解opencv RGB与BGR】RGB模式与BGR模式有什么不同,如何相互转换?
  • 喰种小说在线阅读
  • 个人所得税法实施细则2023
  • 税控盘抵税的会计分录
  • 苹果响应机制
  • 研发费用加计扣除2022政策
  • 帝国cms安装教程
  • 银行存款日记账怎么记账
  • 库存盘点问题及改善对策
  • 损益类账户期末有余额吗
  • sql server 2008有什么用
  • sql server的数据库
  • sql初学者视频教程
  • 接受劳务应付未付款费用
  • 健身器材折旧年限及计提办法
  • 增值税 附加税费
  • 债权投资的账务处理办法
  • 其他应付款二级科目有哪些
  • 计提工资的凭证要附单据吗
  • 公司收不到的账款怎么办
  • 小规模纳税人本期应纳税额
  • 个人所得税经营所得税申报表A表
  • 简易计税的进项税额转出会计分录
  • mysql8.0存储过程
  • win10补丁导致无法开机
  • ubuntu配置yum
  • linux svn管理工具
  • 安卓sdk目录下用来存放各种版本sdk的目录是
  • python 处理mp3
  • 查看node
  • shell脚本自动执行
  • jquery设置元素css
  • 营改增后一般纳税人动产租赁税率
  • 税务关系转移社保怎么办理
  • 2020年个税截止时间
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设