将像素着色器应用于图像

Posted

技术标签:

【中文标题】将像素着色器应用于图像【英文标题】:Applying pixel shaders to images 【发布时间】:2012-10-21 15:13:33 【问题描述】:

我想在 c#/xaml 中对图像应用着色器效果。

我找到了这个例子:

http://msdn.microsoft.com/en-us/library/system.windows.media.effects.shadereffect(v=vs.95).aspx

这使得变得非常简单。不幸的是,我不能用 Windows 8 手机 SDK 做同样的事情。

我可以做这么简单的事情吗?如果可能,我想避免使用 DirectX。

【问题讨论】:

你可以使用 XNA 吗?或者当您提到 DirectX 时,您是指 XNA 吗? 您可能想用 windows phone(或其他东西)标记您的问题,以便电话开发人员更容易看到它。 【参考方案1】:

查看以下链接:

Creating a Lens Application that uses HLSL effects for filters

此解决方案使用 SharpDX api(C# DirectX 包装器)。

我最近测试过,它在模拟器下运行良好。

不幸的是,我在 Game 类之外申请时没有得到相同的结果。我已经在这里发布了一个问题,但还没有回复。 :-(

祝你好运!

最好的问候,

彼得·沃洛辛

【讨论】:

【参考方案2】:

很遗憾,您无法在 Windows Phone 7 或 8 中制作自定义 ShaderEffects。另请参阅:WP7 - HLSL effects from WPF/Silverlight

此外,XNA 似乎是不可行的: Windows Phone custom shaders error? 我认为 XNA 也没有从 WP7 到 WP8 的任何功能添加。

您也许可以在 Direct3D 中完成您需要做的事情:(http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj714072(v=vs.105).aspx)

祝你好运!

【讨论】:

FWIW 自定义着色器可用于原生 WP8 应用...和 ​​MonoGame 应用。 @lzcd 你能提供链接或引用吗?我相信您一定在考虑 DirectX 着色器。据我所知,WP8 仍然不支持对框架元素的自定义效果。

以上是关于将像素着色器应用于图像的主要内容,如果未能解决你的问题,请参考以下文章

着色器怎么选

顶点着色器+片段着色器

着色器 - 通过“拉”像素来反鱼眼

有没有办法纯粹在着色器中应用正弦波失真效果?

片段着色器是不是处理来自顶点着色器的所有像素?

统一按钮在着色器中丢弃像素