фотошоп смесь математики в XNA - PullRequest
3 голосов
/ 30 декабря 2010

есть отличная страница с кодом c для режимов наложения в фотошопе. Я хочу использовать некоторые из этих режимов в своем приложении XNA. В частности, оверлей, оттенок и насыщенность. Как вы думаете, это возможно только с функциями смешивания XNA и enum blend, или мне нужно будет создать шейдер для этих эффектов?

Вот ссылка для математического режима фотошопа: http://www.nathanm.com/photoshop-blending-math/

1 Ответ

2 голосов
/ 31 декабря 2010

Прежде всего, здесь есть вопрос, который охватывает большую часть той же территории .

Проблема в том, что стадия наложения в современном графическом процессоре все еще очень ограничена и имеет фиксированную функцию,У вас есть следующие функции на выбор: сложение, вычитание, макс, мин , и у вас есть несколько множителей .

Я уверен, что режимы смешивания выхочу использовать не может быть реализовано в этой системе.Наложение требует условия, которое, вероятно, нельзя обойти, а для Hue и Saturation требуется преобразование HSV, которое вообще нельзя выполнить.

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

...