像素着色器效果示例

Posted

技术标签:

【中文标题】像素着色器效果示例【英文标题】:Pixel Shader Effect Examples 【发布时间】:2010-12-28 15:40:29 【问题描述】:

我见过很多,比如图像上的漩涡。但我想知道是否有人知道任何关于更实际使用着色器效果的示例或教程?

我并不是说漩涡效果没有它的用​​途,只是我发现的许多示例都解释了基本效果,而不是如何巧妙地将它与其他效果一起使用或过渡产生奇妙的效果。有一个视频here,概述了所有 WPF 效果库,但我不确定如何在实际环境中使用其中的一些。

例如,当 Flash 8 推出模糊之类的效果时,我发现了一个精彩的视频,展示了如何使用模糊效果来创建带有加速文本的酷炫效果,该视频激发了我可以用Flash 8 中的效果。我正在寻找与像素着色器效果类似的东西。

【问题讨论】:

对不起...我也在寻找用于 WPF 中控件和元素的像素着色器的任何示例...谢谢 我写了两个着色器用于练习,this 和 this。 【参考方案1】:

像素着色器效果启用的一个实用功能......是混合模式

查看 Robby Ingebretsen 的 post 关于此事的内容(其中讨论了一种利用线性刻录混合模式的有用方法)。还有一个关于这个主题的 *** question。

事实上,我实际上已经为 WPF 和 Silverlight 编写了一个混合模式库,并在我的blog 上免费提供它。以下是我所有混合模式帖子的列表(所有这些帖子都附有源代码和二进制文件):

Blend Modes, Part I Blend Modes, Part II Blend Modes for Silverlight Blend Modes, Part III Blend Modes: Now Opacity Aware Blend Modes: Hue, Saturation, Color, and Luminosity with WPF 4.0

希望这能激发您的想象力……如果您在图书馆玩弄,请告诉我!

【讨论】:

【参考方案2】:

我在不同的环境中使用过像素着色器。主要是为了让用户惊叹。

这是我的两个例子。 Silverlight/WPF 中的精灵效果:live demo

alt text http://img121.imageshack.us/img121/6074/genied.jpg


将 Silverlight 4 中的网络摄像头支持与着色器结合使用时,您将获得无穷乐趣。我让一位会议与会者感到惊讶,比尔盖茨的脸出现在白色的表面上。我在网络摄像头旁边放了一个手电筒,然后...

alt text http://w2.com.ua/files/tinymce/images/Analytics/IT%20Jam%20/.thumbs/4bd67c03d4553251a72a01256fd9e61f_600_0_0.jpg

这里也提供网络摄像头应用程序:live demo(您需要 Silverlight 4 runtime 和网络摄像头)。

让用户赞叹绝不仅仅是使用着色器的方式。你也可以在 GPU 上做一些昂贵的微积分,但我找不到任何好的现实例子。如果您是游戏开发者(我不是),您可能每天都会使用着色器。


关于实际用途的解释,网络中没有太多解释,特别是 WPF/Silverlight 技术。应该浏览相邻的主题,从HLSL language specification 开始,到flash pixel bender 结束。以下是一些很好的参考:

HLSL Introduction 张丽。 Announcment of WPF Pixel Shader Effects Library 在底部包含一些链接。 Shader X2 Books 在 Gamedev.net 上。 ShaderX2 书展示了不同的着色器应用程序。很多都不适用于WPF,但还是可以让读者有很好的实际使用感受。

我还 described 详细说明了我是如何创建精灵效果的,但只有俄语解释。


据我所知,WPF 控件中没有内置着色器。

希望这会有所帮助:)。干杯。

【讨论】:

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

使用像素着色器的JavaFX自定义效果

将像素着色器应用于图像

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

渲染管道光栅阶段四“片元着色器”

渲染管道光栅阶段四“片元着色器”

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