游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2506|回复: 4

DDS纹理读取类

[复制链接]

89

主题

4036

帖子

4132

积分

论坛元老

Rank: 8Rank: 8

积分
4132
发表于 2006-10-21 03:27:00 | 显示全部楼层 |阅读模式
本来一直用的都是devil的.但是那玩意竟然没有float16格式的. 做了一个float16格式的纹理.全给我转成32bit float了.不爽. 于是就把devil里的代码摘出来重新组装了一个.

目前基本上支持以下格式:
L8  L8A8 A8 L16  24/32Bit R8G8B8A8格式.  R16B16G16A16
R16B16G16A16F    128Bit FLoat / R16F /RG16F R32F/RG32F等常用格式. 同时还能支持Mipmap/CubeMap. 用法看xDXTImage.h就明白.
注意.这两个文件是我引擎的一部分. 直接拿代码编译的时候,把一些没有带出来的宏定义直接删掉就可以了.

sf_200610213278.rar

13.16 KB, 下载次数:

54

主题

2916

帖子

3765

积分

论坛元老

Rank: 8Rank: 8

积分
3765
QQ
发表于 2006-10-21 07:36:00 | 显示全部楼层

Re:DDS纹理读取类

看看什么东西、、、
是不是能让OpenGl也用上DDS的好东西啊?也不给个Sample。

89

主题

4036

帖子

4132

积分

论坛元老

Rank: 8Rank: 8

积分
4132
 楼主| 发表于 2006-10-21 11:28:00 | 显示全部楼层

Re:DDS纹理读取类

xDXTImage image;
image.load("test.dds");
int nCubeMapImage = image.nImage();
int nMipmapLevel = image.nMipmapLevel();
int depth = image.nSlice() ;// 3D纹理。
xImageSize _size = image.getSize(); //2D的大小(包括PixelFormat)
unsigned char* data = image.data(0 , 0 );//指定CubeMap面和Mipmaplevel.
glPixelStori(GL_UNPACK_ALIGN, image.byteAlign);
glTexImage2D/3D(...... _size.w , _size.h,... ... data);
image.free();

89

主题

4036

帖子

4132

积分

论坛元老

Rank: 8Rank: 8

积分
4132
 楼主| 发表于 2006-10-24 01:40:00 | 显示全部楼层

Re:DDS纹理读取类

有个大bug ....

21

主题

230

帖子

230

积分

中级会员

Rank: 3Rank: 3

积分
230
发表于 2006-10-30 15:09:00 | 显示全部楼层

Re:DDS纹理读取类

哈哈。我也有一个。不过只支持DXT1,DXT5.RGB,标准的几个。压缩格式还能解码成rgb的
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-25 18:12

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表