游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1482|回复: 0

关于D3D中RGBA纹理的alpha混合问题

[复制链接]

12

主题

16

帖子

16

积分

新手上路

Rank: 1

积分
16
发表于 2011-5-19 23:12:00 | 显示全部楼层 |阅读模式
我初始化RGBA纹理时,先lock,逐行拷贝位图数据,然后unlock这样。
alpha混合设置应该也没问题
dev->SetRenderState(D3DRS_ALPHABLENDENABLE,1);
dev->SetRenderState(D3DRS_SRCBLEND,D3DBLEND_SRCALPHA);
dev->SetRenderState(D3DRS_DESTBLEND,D3DBLEND_INVSRCALPHA);
但是渲染结果总是有些本来是透明的区域没有透明显示。
用PhotoShop检查了一下RGBA位图,alpha通道是没有问题的。
问下造成这个问题的原因会是什么呢?

另,如果加上
dev->SetRenderState(D3DRS_ALPHATESTENABLE,1);
dev->SetRenderState(D3DRS_ALPHAREF,128);
dev->SetRenderState(D3DRS_ALPHAFUNC, D3DCMP_GREATER);
渲染效果似乎就正常了.........
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-8 06:19

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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