2016-06-14 7 views
1

Я хотел бы покрасить некоторые значки в приложении WPF, используя пиксельный шейдер. Однако, когда я собираюсь получить DirectX SDK для получения fxc, я вижу, что он устарел - я нахожу ссылки на DirectX11 и новую систему «Эффекты» в WPF. Однако это, похоже, тоже не рекомендуется.Текущая лучшая практика для компиляции пиксельных шейдеров в WPF?

Мне интересно: какова нынешняя практика получения пиксельного шейдера в WPF? Для контекста (хотя это не имеет никакого значения технически), я использую MVVM-архитектуру на основе Prism/Unity, поэтому я бы хотел обработать эти цвета с помощью привязки XAML.

Я вижу много людей, использующих SlimDX, но я бы очень хотел, чтобы не вводить в приложение еще одну зависимость от библиотеки.

+0

Вы ищете fxc для более новых версий DirectX? Теперь это часть SDK Windwos, а не отдельный DirectX SDK [(источник)] (https://msdn.microsoft.com/en-us/library/windows/desktop/ee663275 (v = vs.85) .aspx). –

+0

Это на самом деле все, что мне не хватало. Если вы хотите представить это в качестве ответа, я был бы рад одобрить его. – Methalous

ответ

1

DirectX SDK был включен в Windows SDK, когда была выпущена Windows 8 [source], в которой вы можете найти более новые версии FXC.

+0

См. [MSDN] (https://msdn.microsoft.com/en-us/library/windows/desktop/ee663275.aspx) и это [сообщение в блоге] (https://blogs.msdn.microsoft.com/chuckw/2012/05/07/HLSL-FXC-и-d3dcompile /). С VS 2012, VS 2013 или VS 2015 вы уже имеете компилятор HLSL '' FXC.EXE''. –

+0

В зависимости от ваших потребностей может быть интересно написать собственный инструмент компилятора шейдеров. FXC.EXE является только интерфейсом для того, что у вас есть в 'd3dcompiler.h'. Может быть удобно выполнить один процесс, который запускает компиляцию шейдеров на нескольких потоках или даже распределяет их по сети. Кроме того, вы получаете контроль над ошибками регистрации, кэшированием и обработкой файлов. – galop1n