没有大小的 TGA 原始数据包
TGA Raw Packet with no size
我在使用 rle 为 tga 纹理实现解析器时将带有 gimp 的图像导出为 tga 图像。从十六进制编辑器中截取的格式以便更好地理解:
(1) 83 06 06 0B FF
(2) 00 06 06 0A FF
(3) 83 05 05 09 FF
根据规范,数据包 1 重复颜色 06 06 0B FF
(某种黑色)3 次,因为 0x83
的位 0-6 等于 3,而位 7 是标志一个 rle 数据包。与数据包 3 相同,颜色 05 05 0 FF
的 3 倍。
但是数据包 2 是什么意思呢?因为第 7 位缺少标志,它应该是原始数据包,但它没有任何长度?!
tga 文件中大小为零的原始数据包有什么用?
提前致谢
几个小时后我终于找到了解决办法,
数据包内给定的大小是-1,所以如果它说大小为零,则意味着数据包的总大小为 1。有点棘手但合理。
我在使用 rle 为 tga 纹理实现解析器时将带有 gimp 的图像导出为 tga 图像。从十六进制编辑器中截取的格式以便更好地理解:
(1) 83 06 06 0B FF
(2) 00 06 06 0A FF
(3) 83 05 05 09 FF
根据规范,数据包 1 重复颜色 06 06 0B FF
(某种黑色)3 次,因为 0x83
的位 0-6 等于 3,而位 7 是标志一个 rle 数据包。与数据包 3 相同,颜色 05 05 0 FF
的 3 倍。
但是数据包 2 是什么意思呢?因为第 7 位缺少标志,它应该是原始数据包,但它没有任何长度?!
tga 文件中大小为零的原始数据包有什么用?
提前致谢
几个小时后我终于找到了解决办法, 数据包内给定的大小是-1,所以如果它说大小为零,则意味着数据包的总大小为 1。有点棘手但合理。