【3D技术宅公社】XR数字艺术论坛  XR技术讨论 XR互动电影 定格动画

 找回密码
 立即注册

QQ登录

只需一步,快速开始

调查问卷
论坛即将给大家带来全新的技术服务,面向三围图形学、游戏、动画的全新服务论坛升级为UTF8版本后,中文用户名和用户密码中有中文的都无法登陆,请发邮件到324007255(at)QQ.com联系手动修改密码

3D技术论坛将以计算机图形学为核心,面向教育 推出国内的三维教育引擎该项目在持续研发当中,感谢大家的关注。

查看: 3466|回复: 5

[求助]IDirect3DSurface9是否可以做出类似IDirectDrawSurface7的ColorKey效果?

[复制链接]
发表于 2006-12-6 21:02:40 | 显示全部楼层 |阅读模式
在网上找了不少文章,有说可以的, 有说不可以的,甚至有说"据说可以设置关键色"的。
自己也试了一下,发现不行。
我用D3DXCreateSurfaceFromFoleEx 设置了其中的ColorKey为0x0000FF但是在时间绘制的过程中发现并没有透明,反而是把红色给换成黑色了。真是郁闷。到现在位置都没有好的想法。
麻烦知道的指点一下,究竟是可以透明还是不可以透明。
发表于 2006-12-7 01:45:48 | 显示全部楼层
IDirect3DSurface9我用的比较少,我基本都在用Sprite,但是我想应该是一样的,也许你的图片本身的ColorKey不是0x0000FF
 楼主| 发表于 2006-12-7 17:11:14 | 显示全部楼层

是红色,因为我的图片是我用系统自带的画版编辑的。

就是这张图

发表于 2006-12-7 18:45:25 | 显示全部楼层

哦 那出现什么样的后果呢?

IDirect3DSurface9我用的比较少,我建议你用D3DXSprite吧,这个3D加速2D的接口非常好用如果没有必须用IDirect3DSurface9的场合,我觉得无论从易用性还是效率上D3DXSprite都胜出Surface。

 楼主| 发表于 2006-12-7 20:12:04 | 显示全部楼层

出现的后果就红色的区域就变成黑色了。

而且我还发现。Surface还不支持Alpha.我创建一了个Surface.

D3DFORMAT为A8R8G8B8,我Lock主表面直接改写每个象素的Alpha值,

但无论Alpha值是多少,都不会有透明效果。

所以我个人觉得Surface是不能做到想IDirectDrawSurface的ColorKey效果。

但是可以用它来绘制地表数据。最低层的地表是不需要透明色以及Alpha效果的。

同时因为人物动了。但是整个地表只需要更新一部分。

发表于 2006-12-8 09:40:48 | 显示全部楼层

DrawSurface绘制地表是可以的,地表么也有人提出脏矩形绘制,这个就看个人编程的取舍了

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

本版积分规则

手机版|小黑屋|3D数字艺术论坛 ( 沪ICP备14023054号 )

GMT+8, 2025-2-6 03:49

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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