程序涂鸦
文章平均质量分 54
rojer_yao
这个作者很懒,什么都没留下…
展开
-
32bitTGA的rle压缩以及解压算法(一)
该算法以32bitTGA的特点来设计的,32bitTGA有大量的透明区域,我们可以将透明区域压缩,以及将象素连续重复的图块压缩,也就是说,压缩主要是针对两个方面的,1。图片有大量的透明区域2。图片有连续的象素相同的区域综上所述,该算法对没有Alpha蒙板的图片以及比较复杂的图片压缩效果很差流程如下:原始数据: DWORD relRad[20] = { 0x43fe7原创 2006-06-26 22:12:00 · 1983 阅读 · 0 评论 -
32bitTGA的rle压缩以及解压算法(二)
闲话少说,直接先看代码void CompressData(void * pSrc, void * pDst, int srcSize, DWORD & dstSize){ if( (pSrc == NULL) || (pDst == NULL) ) { return ; } int totalCompress = 0; int repCount = 1; DWORD blockHead =原创 2006-06-26 21:56:00 · 917 阅读 · 0 评论 -
D3DXCreateTexture与 LPDIRECT3DDEVICE8::CreateTexture 的区别
以前没有特别注意,今天做了一个非2次方的图片的压缩,发现D3DXCreateTexture与LPDIRECT3DDEVICE8::CreateTexture在创建纹理的时候竟然有这样的区别如:要创建一个200×200的纹理用D3DXCreateTexture创建出来的纹理,再用GetLevelDesc来查询纹理信息,会发现,他已经优化过了尺寸信息,为256×256,Pitch也是25原创 2006-06-27 16:27:00 · 2851 阅读 · 0 评论