OpenGL + CUDA: перенос данных из glReadPixels () в CUDA

Я создаю изображение с openGL и читаю его с помощью glReadPixels ().
Теперь я хочу проанализировать эти данные. Я хочу распараллелить цикл, который выполняется на каждом пикселе и проверить его цвет с помощью CUDA. Проблема в том, что мне нужно передать данные из GPU в CPU
и снова в ГПУ.

Есть способ, которым я могу передать данные из glReadPixles () в CUDA без прохода через ЦП?

Может ли текстура памяти помочь мне?

0

Решение

Вам нужно будет использовать CUDA — API взаимодействия OpenGL.

Есть несколько примеров кодов CUDA в графика и разделы изображений, которые могут представлять интерес.

Я бы предложил начать с образец размытия по Гауссу, потому что я думаю, что поток обработки в нем близок к тому, что вы описываете (изменение каждого пикселя непосредственно перед отображением).

Вы не используете glReadPixels потому что это возвращает данные обратно в процессор. Вместо этого вы регистрируете объект openGL в CUDA, чтобы он мог работать с CUDA, а затем отмените его регистрацию непосредственно перед отображением.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]