CoreImage для Win32 - PullRequest
       20

CoreImage для Win32

5 голосов
/ 01 октября 2008

Для тех, кто не знаком с Core Image, вот хорошее описание этого: http://developer.apple.com/macosx/coreimage.html

Есть ли что-то эквивалентное Apple CoreImage / CoreVideo для Windows? Я огляделся и обнаружил материал DirectX / Direct3D, в котором есть все базовые компоненты, но, похоже, нет высокоуровневого API для работы, если только вы не хотите использовать .NET AND использовать WPF, ни один из которых действительно меня не интересует.

Основной идеей было бы создание / загрузка изображения, присоединение любого количества фильтров, которые можно объединить в цепочку, формирование графика, а затем рендеринг изображения на HDC, используя графический процессор для выполнения большей части тяжелой работы. В DirectX / Direct3D есть эти кусочки, но вам нужно прыгнуть через множество обручей (или так оно и есть), чтобы использовать его.

Ответы [ 3 ]

1 голос
/ 01 октября 2008

Существует множество инструментов для работы с шейдерами (например, RenderMonkey и FX-Composer), но нет прямого эквивалента CoreImage.

Но наложение фрагментов шейдеров друг на друга не очень сложно, поэтому, если вы не против изучения OpenGL, было бы вполне реально построить каркас, который применяет шейдеры к входному изображению и выводит результат на HDC .

0 голосов
/ 06 февраля 2009

Теперь у меня есть решение для этого. Я реализовал класс ImageContext, специальный класс Image и класс Filter, который обеспечивает функциональность, аналогичную Apple CoreImage. Все три используют OpenGL (я отказался от попыток заставить это работать на DirectX из-за проблем с качеством изображения, если кто-то знает DirectX, свяжитесь со мной, потому что я хотел бы иметь версию Dx), чтобы отобразить изображения контекст и использовать фильтры, чтобы применить их эффекты (как фрагменты шейдеров HLGL). Здесь есть краткое описание: ImageKit со снимком экрана примера фильтра и примера исходного кода.

0 голосов
/ 17 ноября 2008

Новый Adobe Pixel Blender - самая близкая технология. Он кроссплатформенный - это часть среды выполнения Flash 10, а также ключевые пиксельно-ориентированные приложения CS4, а именно After Effects и (скоро) Photoshop. Неясно, однако, сколько в настоящее время выставлено для встраивания в другие приложения на данный момент. В самом крайнем случае можно внедрить, внедрив Flash-представление, но это более затратно, чем было бы очевидно.

Существует также, по крайней мере, одно предложение третьей стороны: Conduit Pixel Engine . Это коммерческий продукт, но цена лицензии не указана.

...