在photoshop中有一个很棒的页面,里面有一些用于混合模式的c代码。我想要的是在我的XNA应用程序中使用其中一些模式。尤其是叠加、色调和饱和度。您认为是否可以仅使用XNA blend函数和blend枚举,或者我需要为这些效果创建一个着色器?
这是photoshop混合模式数学模型的链接:http://www.nathanm.com/photoshop-blending-math/
发布于 2010-12-31 11:08:12
首先,here is a question that covers much of the same territory。
问题是现代GPU中的混合阶段仍然是非常有限的和固定的功能。您可以从以下函数中进行选择:add, subtract, max, min,以及a few multipliers。
我非常确定你想要使用的混合模式不能在这个系统中实现。叠加需要一个可能无法解决的条件,而色调和饱和度需要一个根本无法完成的HSV转换。
所以答案是-如你所说-创建一个以两个纹理为输入的着色器,并使用您的自定义混合模式组合它们。如果要将该效果应用于整个场景的顶部,则需要使用渲染目标将场景渲染到可用作着色器输入的纹理。
https://stackoverflow.com/questions/4562130
复制相似问题