Flex 着色器效果:将一个对象渲染到另一个对象中
我想做出这样的效果:在带有任意对象的窗口上拖动可拖动的半透明对象(我们称之为“塑料条”)。塑料条应该是浑浊的,即它会模糊其下面的内容(本身不会模糊)。在 Flex 上使用 PixelBender 着色器实现此目的的最佳方法是什么?
I want to make such effect: draggable semi-transparent object (let's call it 'plastic strip') over window with arbitrary objects. Plastic strip should be turbid, i.e. it blurs content under it (not blurred itself). What's the best way to do that with PixelBender shader on Flex?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
事实上,事情变得很简单。为了更新塑料条,我将窗口内容绘制为位图,然后将其提供给着色器以绘制条带(此处称为“模糊”):
Shader 是来自 PixelBender 样本的简单框过滤器。如果我在绘制之前跳过从窗口中删除条带,它会产生有趣的反馈效果 - 模糊的像素继续像墨水一样模糊。
It turned to be simple, actually. To update plastic strip, I'm drawing window content into bitmap, then feed it to shader to draw strip (called
blurred
here):Shader is simple box filter from PixelBender samples. If I skip removing strip from window before draw, it gives funny feedback effect - blurred pixels continue to blur like ink.