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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

查看: 3006|回复: 5

[求助]请教directx高手个问题,关于材质多透明色

[复制链接]
发表于 2009-7-22 00:08:33 | 显示全部楼层 |阅读模式

Dx9中,我在可以使用TextureLoader.FromFile(...)创建材质的同时指定图片的透明色。
小弟的问题是如果我想设置多个透明色怎么办?
比如我想把一张图片上的红色和绿色都设为透明。
google和baidu了一天了,没找到。
只记得在Dx7中有个setColorKey.但是dx9中已经没有了。
 
提出这个问题是因为有个应用,游戏中的某个魔法效果的图片,比如关键色是黑色。
设置好了以后,画出来,黑色部分透明了,但是有毛边,非常难看。
000000的颜色透明了,但是我同事还想把颜色010101也透明应该怎么办呢?
 
谁能告诉我方法或思路?
先谢谢了。
发表于 2009-7-22 08:43:01 | 显示全部楼层

多种颜色的透明win32里是没有API的,要实现可能还真要费一番功夫

Dx9里面的纹理都支持半透明通道的,用DDS或者PNG格式的图片就可以了呀~

 楼主| 发表于 2009-7-22 09:45:09 | 显示全部楼层
[BR]首先感谢鼯鼠的回复!
[BR] 
[BR] 
[BR]就是说只能修改图片了?
[BR]我这里的图片都是没有透明通道的。。
[BR] 
[BR]有没有办法得到材质的图片?
[BR]意思就是:在dx处理关键色以后,我得到它处理后的图片数据,然后再设置其他关键色创建另一个材质。
发表于 2009-7-22 11:51:52 | 显示全部楼层

可以 可以锁定纹理的内存,把这块内存处理,在保存到新的纹理中去。好麻烦呀!!你这样修改完0000,还要修改0001,说不定还要修改0002 00021 0003........

用ps修改下图片就搞定了!

 楼主| 发表于 2009-7-22 16:07:20 | 显示全部楼层
[BR]得到纹理内存后自己处理?
[BR]这样不就用不到硬件加速了么?
发表于 2009-7-22 16:17:04 | 显示全部楼层

你的方法本来就没有利用DX 9的技术,自己在算,能用到多少硬件加速??

DDS格式的图片 显卡会自动帮你处理的

用过阿尔法通道透明的 你以后就不想用别的了~~太方便了!!

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

本版积分规则

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

GMT+8, 2025-2-6 12:53

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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