Примеры эффектов пиксельного шейдера

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

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

Например, когда Flash 8 вышел с эффектами, такими как размытие, я нашел замечательное видео, в котором показано, как использовать эффект размытия, чтобы создать классный эффект с ускорением текста. Это видео вдохновило многие идеи о том, что я могу сделать с эффекты во Flash 8. Я ищу что-то подобное с эффектами пиксельных шейдеров.

Ответ 1

Я использовал пиксельные шейдеры в разных контекстах. В основном для пользователей wow.

Вот два примера от меня. Эффект Genie в Silverlight/WPF: живая демонстрация

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

Приложение Web cam также доступно здесь: живая демонстрация (вам понадобится Silverlight 4 runtime и веб-камера).

Wowing users - это определенно не только способ использования шейдеров. Вы также можете сделать некоторые дорогостоящие исчисления на графическом процессоре, но я не могу найти хороший пример реальной жизни. И если вы разработчик игр (я не), вы, вероятно, используете шейдеры на ежедневной основе.


Что касается практического использования, в Сети нет особого смысла, особенно для технологий WPF/Silverlight. Нужно пройти смежные темы, начиная с Спецификация языка HLSL и заканчивая flash пиксельный клик. Вот несколько хороших ссылок для начала:

Я также подробно описал, как я создал эффект Genie, но объяснение доступно только на русском языке.


Насколько я знаю, встроенные шейдеры в элементах управления WPF отсутствуют.

Надеюсь, это поможет:). Приветствия.

Ответ 2

Одна практическая вещь, которая позволяет использовать эффекты пиксельных шейдеров... режимы смешивания.

Откажитесь от Robby Ingebretsen post по этому вопросу (в котором обсуждается полезный способ использования линейного режима сжигания). Существует также StackOverflow question по этому вопросу.

Фактически, я на самом деле написал библиотеку blend mode для WPF и Silverlight и сделал ее доступной на моем блоге . Ниже приведен список всех моих сообщений режима blend (все из которых имеют исходный код и прикрепленные файлы):

Надеюсь, что это искромет ваше воображение... и дайте мне знать, если вы играете с библиотекой!