SDL2 и 3D-рендеринг

#opengl #3d #sdl #sdl-2

#opengl #3D #sdl #sdl-2

Вопрос:

Есть ли у SDL2 возможность отображать объекты в 3D (т. Е. создавать кубы, сферы и т.д.) Без использования OpenGL, или у него есть только 2D-возможности?

Ответ №1:

Ваш вопрос лучше было бы задать на GameDev Stackexchange, но просто отвечу на ваш вопрос: SDL2 сам по себе не имеет возможностей для рендеринга 3D-объектов. Это также указано на странице SDLS about:

Simple DirectMedia Layer — это кроссплатформенная библиотека разработки, предназначенная для обеспечения низкоуровневого доступа к аудио, клавиатуре, мыши, джойстику и графическому оборудованию через OpenGL и Direct3D

SDL предоставляет некоторые функции, которые помогут вам упростить использование OpenGL, но вам придется изучить и использовать OpenGL для рендеринга 2D и 3D векторной графики.

Хороший учебник по основам SDL, который я бы порекомендовал, находится на этом сайте. В нем есть только несколько глав, связанных с использованием OpenGL, но если вы не часто использовали SDL, это отличное начало.

Комментарии:

1. Вы правы, но цитата не связана. «доступ к … графическое оборудование через OpenGL и Direct3D » означает, что SDL2 может использовать OpenGL и Direct3D под капотом для рендеринга примитивов.

2. @HolyBlackCat Справедливо, это может быть понято неоднозначно.

Ответ №2:

Вот что говорится в wiki:

2D ускоренный рендеринг

Для расширенной функциональности, такой как эффекты частиц или фактическое 3D, вы должны использовать поддержку SDL OpenGL / Direct3D или один из многих доступных 3D-движков.

SDL не стремится предоставлять 3D API, но предоставляет вам некоторую поддержку других хорошо известных API, таких как OpenGL и Direct3D.

Обратите внимание, что SDL2 также предоставляет поддержку Vulkan.