请选择 进入手机版 | 继续访问电脑版

开源计算机图形学社区(Open Source Computer Graphics Community) |OpenGPU Forum (2007-2013)| OpenGPU Project

 找回密码
 注册
搜索
查看: 1123|回复: 5

DIRECT3D9 保存深度图 [复制链接]

Rank: 12Rank: 12Rank: 12

注册时间
2017-2-6
积分
613
发表于 2017-2-6 10:25:37 |显示全部楼层
小弟接触D3D10/11/12小半年时间,如今由于需要,特发此贴寻求帮助。

D3D9中,我想保存出深度图,已知深度格式中只有D3DFMT_D16_LOCKABLE是lockable的,那对于其他的format我应该怎么做才能将深度surface保存为dds格式的文件呢?

请大家帮帮忙~

Rank: 12Rank: 12Rank: 12

注册时间
2017-2-6
积分
613
发表于 2017-2-7 10:10:33 |显示全部楼层
自己顶一下,大哥大姐们帮帮忙啊。

直接使用D3DXSaveSurfaceToFile会返回0xdeadbeef。
若先调用D3DXLoadSurfaceFromSurface则会返回0x8876086c。

使用道具 举报

Rank: 16Rank: 16Rank: 16Rank: 16

注册时间
2011-3-24
积分
2134
发表于 2017-2-7 10:47:02 |显示全部楼层

使用道具 举报

Rank: 12Rank: 12Rank: 12

注册时间
2017-2-6
积分
613
发表于 2017-2-8 09:19:19 |显示全部楼层
mayingzhen 发表于 2017-2-7 10:47
用INTZ格式
http://aras-p.info/texts/D3D9GPUHacks.html#depth

谢谢您的回复,但是INTZ好像是DX10之上可用的,读过之后我也不是太懂。

使用道具 举报

Rank: 16Rank: 16Rank: 16Rank: 16

注册时间
2011-3-24
积分
2134
发表于 2017-2-8 15:55:53 |显示全部楼层
ZBHWMM520 发表于 2017-2-8 09:19
谢谢您的回复,但是INTZ好像是DX10之上可用的,读过之后我也不是太懂。

D3D9用的,CreateTexture 传的 Format用 ((D3DFORMAT)(MAKEFOURCC(‘I’,’N’,’T’,’Z’))) Usage 用D3DUSAGE_DEPTHSTENCIL,创建出来的Texture可用用来SetDepthStencilSurface。

使用道具 举报

Rank: 12Rank: 12Rank: 12

注册时间
2017-2-6
积分
613
发表于 2017-2-8 16:05:44 |显示全部楼层
mayingzhen 发表于 2017-2-8 15:55
D3D9用的,CreateTexture 传的 Format用 ((D3DFORMAT)(MAKEFOURCC(‘I’,’N’,’T’,’Z’))) Usage 用D ...

我现在想将其他不能lockable的深度format存到dds文件中,想法是
a.建立一个lockable的surface;
b.再将不能lock的深度surface拷贝到a中建立的surface;
c.对a中的surface进行lock,再进行保存。
可我现在不知道用那几个接口,试了几个总是返回无效调用,不知道是我的想法错了还是我调用错了?
您能给指条明路吗?

使用道具 举报

最近看过此主题的会员

您需要登录后才可以回帖 登录 | 注册

‹‹
我的工具栏

关于我们|手机版|Archiver|开源计算机图形学社区(Open Source Computer Graphics Community) | OpenGPU Project | OpenGPU Forum (2007-2013)

GMT+8, 2017-9-20 20:45 , Processed in 0.057452 second(s), 11 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部