XNA中的photoshop混合数学

XNA中的photoshop混合数学,xna,alphablending,Xna,Alphablending,在photoshop中有一个很棒的页面,里面有一些混合模式的c代码。我想在我的XNA应用程序中使用其中一些模式。特别是叠加、色调和饱和度。您认为仅使用XNA混合函数和混合枚举是可行的,还是我需要为这些效果创建着色器 这是photoshop混合模式数学的链接:首先 问题在于,现代GPU中的混合阶段仍然是非常有限和固定的功能。您可以从以下函数中选择:,并且您可以 我很确定你想要使用的混合模式不能在这个系统中实现。叠加需要一个可能无法解决的条件,色调和饱和度需要一个根本无法完成的HSV转换 因此,答案

在photoshop中有一个很棒的页面,里面有一些混合模式的c代码。我想在我的XNA应用程序中使用其中一些模式。特别是叠加、色调和饱和度。您认为仅使用XNA混合函数和混合枚举是可行的,还是我需要为这些效果创建着色器

这是photoshop混合模式数学的链接:

首先

问题在于,现代GPU中的混合阶段仍然是非常有限和固定的功能。您可以从以下函数中选择:,并且您可以

我很确定你想要使用的混合模式不能在这个系统中实现。叠加需要一个可能无法解决的条件,色调和饱和度需要一个根本无法完成的HSV转换


因此,答案是——正如您所说——创建一个着色器,将两个纹理作为输入,并使用自定义混合模式组合它们。如果要在整个场景顶部应用此效果,则需要使用“渲染目标”(render targets)将场景渲染为可作为着色器输入的纹理。

也许您想试试这个问题,谢谢您提供的信息:)我将尝试着色器方法,尽管我在HLSL方面不是很有经验。