我在OpenGl中创建了一个粒子系统,它工作得很好。当我想得到火、光束或其他东西的燃烧效果时(系统会“发光”并将所有颜色融合在一起),我在OpenGL中使用此方法调用。
glBlendFunc(GL_SRC_ALPHA,GL_SRC_ALPHA)
glBlendFunc(GL_DST_ALPHA,GL_ONE)我现在正在尝试使用Direct3D做同样的事情
以下是我尝试过的方法:
graphicsDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE);
graphicsDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA);
graphicsDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_ONE);但这对我的游戏外观完全没有任何影响!有人知道问题出在哪里吗?
发布于 2012-03-15 05:28:07
尝试:
graphicsDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE);
graphicsDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA);
graphicsDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA);发布于 2012-04-08 13:23:04
我最终只是切换到了OpenGL。但是感谢你们的帮助:D
https://stackoverflow.com/questions/9710103
复制相似问题