41.纹理像素格式RGBA32与RGB24及Alpha8R8R16含义

41.纹理像素格式RGBA32与RGB24及Alpha8R8R16含义


41.1 题目

RGBA32、RGB24、Alpha8、R8、R16 分别代表什么?(以常见内存占用理解为例)


41.2 深入解析

这些名字在说什么

都表示未压缩 RAW 纹理下,每个像素占多少位、几个通道、每通道多少位。实际工程里还会选 GPU 块压缩(BC、ETC2、ASTC),包体、显存、内存与下表不是同一套数,但面试问「字母含义」按位深与通道答即可。

格式对照(含 1024×1024 粗算)

格式 通道与位深 典型每像素 1024×1024 未压缩粗算
RGBA32 R、G、B、A 各 8 bit,共 32 bit 4 字节 约 4×1024×1024 B ≈ 4MB
RGB24 R、G、B 三通道各 8 bit,共 24 bit(无 Alpha 3 字节 3MB
Alpha8 Alpha 8 bit 1 字节 1MB
R8 单通道 8 bit,灰度或任意单标量 1 字节 1MB
R16 单通道 16 bit 2 字节 2MB,适合需要更高精度的单通道(高度、部分深度数据、曲线遮罩等)

易错点

  • RGB24三个颜色通道,不是「四通道少一个」这种口语误会;原文若写「RGB 四通道」属于笔误,应为三通道
  • R16:精度比 R8 高一档,带宽与显存也翻倍,用在真需要的地方。

与压缩纹理的关系

  • 编辑器里选的 DXT/BC、ETC2、ASTC 等,是块压缩,单像素不再按上面字节线性算;面试若追问「为什么包里才几百 KB」,要转到压缩格式 + mip 来解释。

41.3 答题示例

这些名字讲的是每像素多少位、几个通道。

可以按个报:RGBA32:四通道各 8 位,一像素 4 字节,1024 图未压缩大约 4MB。RGB24:RGB 三个通道各 8 位,没有 A,一像素 3 字节,大约 3MB。Alpha8:只存 Alpha,1 字节一像素,大约 1MB。R8:单通道 8 位,也是 1MB 量级。R16:单通道 16 位,一像素 2 字节,大约 2MB,用来做需要精度的单通道数据。

最后补一句:真进项目还要看 GPU 压缩格式,不能拿 RAW 去对包体大小。


41.4 关键词联想

  • 位深与通道
  • RAW 与 GPU 压缩
  • R16 与高精度单通道


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 785293209@qq.com

×

喜欢就点赞,疼爱就打赏