Кодировать видео OpenGL, не покидая память графического процессора
Я делаю некоторую предварительную работу, чтобы создать конвейер рендеринга, и я исследую, является ли OpenGL хорошим вариантом для моего случая использования: из языка разметки мне нужно создать видео, в идеале используя opengl, который уже реализует большинство необходимых мне примитивов.
Есть ли способ вместо (или дополнительно) обновления кадрового буфера создать видеофайл mp4 с помощью nvenc без копирования данных между графическим процессором и основной памятью?
1 ответ
Страница nvenc SDK [1] на веб-сайте NVidia предполагает, что это возможно, поскольку текущее графическое изображение заголовка относится к потоковой игре. (Даже если это игра Direct3D, с той же микросхемой внизу.) Быстрый поиск "буфера общего ресурса nvenc с OpenGL" обнаружил несколько людей, которые, очевидно, объединили их.
Работает только на Linux и MS Windows, так что не радуйтесь, если у вас Mac.
Надеюсь это поможет.