Каковы преимущества использования OpenGL в SDL 2?
Я предполагаю, что SDL 2 использует рендеринг OpenGL в фоновом режиме (или, возможно, DirectX, если в Windows), и это решение принимается самим SDl.
Я видел обучающие материалы, в которых показано использование OpenGL непосредственно в SDL, и задавался вопросом, какую выгоду вы получите, если сможете получить OpenGL напрямую? Есть ли вещи, которые SDL не сможет достичь изначально?
Ответы
Ответ 1
Если вы полностью полагаетесь на функциональность SDL для графических целей, у вас есть только доступ к простым функциям изображения и буфера.
Ускоренный 2D-рендеринг API: Поддерживает легкое вращение, масштабирование и альфа-смешивание, все ускоряются с использованием современных 3D-API
Но то, что делает SDL, также предоставляет контекст OpenGL. Это означает, что у вас также есть полный доступ к функциям OpenGL, включая 3D-объекты, шейдеры и т.д.
Вы можете использовать SDL просто для создания своего контекста и предоставления вам звука, ввода и ввода файлов и использования OpenGL для придания цвета на экране, или использовать API видео SDL для рисования спрайтов и изображений.
Ответ 2
http://wiki.libsdl.org/MigrationGuide
Простой 2D-рендеринг API, который может использовать Direct3D, OpenGL, OpenGL ES или рендеринг программного обеспечения за кадром
SDL2 просто дает вам легкое начало с 2D-графикой (и другими вопросами), но вы не можете делать "реальный 3D" только с SDL. (или я чего-то не знаю?)
Я не знаю, что SDL делает "за кулисами", но если вы используете напрямую OpenGL (или другой API, такой как Direct3D)
у вас есть полный контроль над процессом кода и рендеринга, и вы не ограничены графическим API-интерфейсом SDL.
Я использую SDL только для создания окна, графического контекста и использования устройств ввода, таких как мышь.