Выгрузка в HLSL / GPU без отображения? - PullRequest
1 голос
/ 19 апреля 2010

Насколько я знаю, некоторые математические функции, такие как БПФ, перлин-шум и т. Д., Могут выполняться намного быстрее, если выполняются на графическом процессоре в виде пиксельного шейдера. У меня вопрос: если бы я хотел использовать это для вычисления результатов и потоковой передачи в растровые изображения, могу ли я сделать это без необходимости отображать его в Silverlight или что-то еще?

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

Ответы [ 2 ]

1 голос
/ 19 апреля 2010

Краткий ответ - да. Более длинный ответ заключается в том, что вы можете установить (например) текстуру в качестве цели рендеринга, которая поместит ваши результаты туда.

Если вы действительно не настроены на использование шейдера для выполнения вычислений, вы можете рассмотреть возможность использования чего-то, что действительно предназначено для такой работы, например, Cuda или OpenCL.

0 голосов
/ 19 апреля 2010

Хм, это хороший вопрос.

Все, что можно отобразить, может быть обработано с использованием экземпляра WriteableBitmap и его метода Render. Вы можете получить доступ к выводу используя свойство массива байтов Pixels.

Однако (при условии, что ускорение графического процессора включено и контент соответствующим образом помечен для использования графического процессора), будет ли такой рендер фактически использовать графический процессор при переходе на WriteableBitmap вместо дисплея, который я не делаю знать.

...