Win32平台下的CoreImage

5

对于不熟悉 Core Image 的人,下面是一个很好的描述:

http://developer.apple.com/macosx/coreimage.html

在 Windows 上是否有类似于 Apple 的 CoreImage/CoreVideo 的东西?我找到了 DirectX/Direct3D 等底层组件,但似乎没有高级 API 可供使用,除非您愿意使用 .NET 并且使用 WPF,而这两者都不是我的兴趣所在。

基本想法是创建/加载图像,附加任意数量的过滤器,将它们链接在一起形成一个图形,并使用 GPU 将图像渲染到 HDC 中,大部分繁重的工作由 GPU 完成。DirectX/Direct3D 有这些组件,但似乎需要跨越很多障碍才能使用。


HDC是低级Windows API显示上下文。 - Ben Combee
3个回答

1

有许多用于处理着色器的工具(如RenderMonkey和FX-Composer),但没有直接相当于CoreImage的工具。

但是,将片段着色器叠加在一起并不是很难,因此,如果您不介意学习OpenGL,那么构建一个应用着色器到输入图像并将结果绘制到HDC的框架是完全可行的。


这是RenderMonkey,不是ShaderMonkey。 - faulty

0

我现在已经有了解决方案。我实现了一个ImageContext类,一个特殊的Image类和一个Filter类,允许类似于苹果的CoreImage的功能。所有三个都使用OpenGL(由于图像质量问题,我放弃了尝试在DirectX上工作,如果有人很熟悉DirectX,请与我联系,因为我很想有一个Dx版本)来将图像渲染到上下文中,并使用滤镜应用它们的效果(作为HLGL frag着色器)。这里有一个简短的介绍: ImageKit 其中包括一个示例过滤器的屏幕截图和一些示例源代码。


0

Adobe的新Pixel Blender是目前最接近的技术。它是跨平台的——它是Flash 10运行时的一部分,以及关键的面向像素的CS4应用程序,即After Effects和(很快)Photoshop。然而,目前还不清楚有多少内容可以嵌入其他应用程序。在最极端的情况下,可以通过嵌入Flash视图来嵌入,但这比明显的理想情况更加繁琐。

此外,还有至少一个较小规模的第三方提供商:Conduit Pixel Engine。它是商业性质的,没有明确列出许可价格。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接