D3D Alpha 测试不会在同一对象上渲染回像素

问题描述

我正在学习使用 D3D 的渲染状态并尝试使用 alpha 蒙版 (dxt5/bc3) 渲染纹理,我似乎对 alpha 测试像素存在此问题,如果源 alpha 则它不会渲染目标像素介于 0 和 1 之间,但两者都不是,我对此仍然不熟悉,因此无法正确解释。我已经关注了微软关于 alpha 混合和 alpha 测试的所有文档,我什至不知道如何命名这个错误,到目前为止我搜索的所有内容都是空的。

我附上一张图片,说明我的意思。 blending issue

混合是基本的并且启用了 zbuffer。如果您能帮助我解释这个问题,甚至知道这叫什么,我将不胜感激,谢谢!

dev->SetRenderState(D3DRS_ALPHABLENDENABLE,TRUE );
dev->SetRenderState(D3DRS_SRCBLEND,D3DBLEND_SRCALPHA);
dev->SetRenderState(D3DRS_DESTBLEND,D3DBLEND_INVSRCALPHA);
dev->SetRenderState(D3DRS_ALPHATESTENABLE,TRUE);

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...