我想在整个最终渲染器上应用颜色饱和度。在整个渲染器上应用颜色饱和度
有没有简单的方法来做到这一点,而不使用着色器? 我不知道有关DirectX什么:X
我看到了一个“效果”参数spriteBatch.Begin(),但我没有找到任何关于它的教程:■
希望你能指导我。
我想在整个最终渲染器上应用颜色饱和度。在整个渲染器上应用颜色饱和度
有没有简单的方法来做到这一点,而不使用着色器? 我不知道有关DirectX什么:X
我看到了一个“效果”参数spriteBatch.Begin(),但我没有找到任何关于它的教程:■
希望你能指导我。
你需要一个着色器来做到这一点。着色器是Effect
。
您可以通过右键单击内容项目,单击“添加新项目”并选择“效果”文件来创建新效果。生成的.fx
文件采用HLSL语言。它会被内容管道进行编译,并且你有加载:
Effect myEffect = Content.Load<Effect>("myEffect");
有一个official example of how to use effects with SpriteBatch
here(如果你想德饱和,那里面有一个例子)。并且this blog post也可能有用。
我不会在这里重现饱和效应的代码,但您可以通过Google找到几个示例。 Here is one example on the GameDev site。
我修改了着色器示例以遵循我的代码逻辑(事实上,正如你所说,这并不难)它的工作原理与往常一样,thx很多Andrew。 – Sharpnel
“效果”是着色器。 –
@andrew Q1:着色器意味着“DirectX效果”吗? Q2:那么,为了达到这个基本效果,我必须使用DirectX编码它? :(*害怕* – Sharpnel
着色器代码是用HLSL编写的,它不是太难,你不需要关心DirectX的问题,看看这个示例:http://xbox.create.msdn.com/en-US/教育/目录/示例/ sprite_effects –