我目前正在开发一个二维Direct3D应用程序,我正在试图弄清楚如何正确地为不同纹理添加色调和alpha效果。
我之前有过这样的工作,但我这样做的方式是:
从那时起我就听说并学到了这是一个非常繁重的操作,每帧做几十次,所以我想知道我还能做些什么。
我正在研究漫反射光照,但我不确定是否允许我为纹理添加不透明度。如果我为纹理添加50%不透明度的漫反射光,纹理是否会有50%的不透明度?
赞赏任何指导,教程和示例代码更多:), Jengerer
答案 0 :(得分:1)
我不这么认为 - 按照MSDN docs on D3D lighting:
请注意,虽然Direct3D使用RGBA 灯光的值,alpha颜色 组件未使用。
编写着色器以调整每个顶点的颜色听起来就像你所追求的那样,它在GPU中运行,与修改CPU上的每个顶点相比,性能开销很小。网上有很多关于D3D的教程,例如
http://gpwiki.org/index.php/DirectX:Direct3D:Tutorials:Shaders_Introduction