Как встроить SDL-видео в существующий проект OpenGL - PullRequest
2 голосов
/ 11 мая 2011

Я работаю над игрой OpenGL и хотел бы играть в видео на трехмерных поверхностях в игре.SDL кажется отличным выбором для воспроизведения видео, но возможно ли создать поверхность внутри существующего контекста OpenGL?Как бы я поступил так?

1 Ответ

5 голосов
/ 11 мая 2011

SDL, насколько мне известно, не имеет функций для воспроизведения видео;не дайте себя обмануть именами API, такими как SDL_Video.Они фактически используются для управления окнами.

Вам нужно использовать библиотеку видеодекодера для декодирования видео в буферы изображений, а затем передавать эти буферы изображений в текстуру OpenGL.Видеопроигрыватель с открытым исходным кодом mplayer (который внутренне использует библиотеки ffmpeg libavformat и libavcodec для декодирования видео / аудио) также имеет OpenGLмодуль вывода видео.Я предлагаю вам получить исходный код mplayer и заглянуть в модуль вывода видео OpenGL, чтобы понять, как это сделать.

РЕДАКТИРОВАТЬ:

Поскольку выВы используете SdlDotNet, я предлагаю использовать SdlDotNet.Graphics.SurfaceGl в качестве целевой поверхности для SdlDotNet.Graphics.Movie.

...