web-dev-qa-db-fra.com

Pourquoi utiliser SDL et OpenGL au lieu de OpenGL?

J'ai vu des gens combiner SDL2 et OpenGL (GLFW.H ou GLUT.H) depuis un moment maintenant, j'ai effectué des recherches et découvrez SDL2 sur OpenGL. Alors, pourquoi les gens combinent-ils ces deux? Certaines personnes ont discuté de la manière dont ils utilisent SDL2 pour avoir fabriqué la fenêtre et OpenGL pour tout le reste, mais cela n'a pas de sens puisque OpenGL peut créer également des fenêtres.

GLFWwindow *window = glfwCreateWindow(WIDTH, HEIGHT, "Opengl Tutorials", NULL, NULL);
glfwMakeContextCurrent(window); // Cause OpenGL to work on this window

glfwSetKeyCallback(window, KeyCallback); // Callback to handle key events
glfwSetCursorPosCallback(window, MouseCallback); // Callback to handle mouse motion events
glfwSetInputMode(window, GLFW_CURSOR, GLFW_CURSOR_DISABLED);

Certains disent également qu'ils utilisent SDL2 pour des animations 2D, mais cela n'a pas de sens que OpenGL peut le faire aussi. Comme je l'ai dit avant que SDL2 utilise OpenGL, tout ce que SDL2 puisse faire, OpenGL peut le faire, SDL2 est un wrapper de OpenGL. Alors pourquoi les gens ajoutent-ils toujours SDL2 et OpenGL ensemble? Par exemple ceux-ci.

Y a-t-il un avantage? Y a-t-il quelque chose qui me manque? Je suis tellement confus. Pourquoi allez-vous combiner SDL2 avec OpenGL même si SDL2 n'est qu'un wrapper?

entre ceci est tout pour C/C++ afin que cela puisse effacer une certaine confusion. Quand je me réfère à OpenGL, je parle de glu.h ou/et de glfw.h pas Opengl par elle-même depuis que je ne sais pas si vous pouvez le faire.

3
Nfagie Yansaneh

OpenGL n'a que des fonctions pour travailler avec un contexte graphique, rien d'autre. Vous avez besoin d'au moins une bibliothèque d'intégration de la plate-forme pour obtenir un tel contexte. Mais dans la réalité, vous avez bien sûr besoin de plus de fonctionnalités, telles que la manipulation des intrants. GLFW, GLUT ET SDL2 ne sont que des façons différentes d'obtenir de telles fonctionnalités supplémentaires. SDL2 est agréable car il comprend également un chargement audio et de ressources.

12
Sebastian Redl

Je me demandais aussi pourquoi. Mais oui, j'utilise SDL2 car il a la meilleure API pour Sound.Keyboard et joysticks que je pourrais trouver pour le traitement du son. Mais vous pouvez faire une fenêtre dans SDL2 et dessiner 3D mais GLFW semble fonctionner facile. Je suis en train d'essayer de dessiner 2D et 3D avec SDL2, mais cela ne fonctionne pas bien mais je viens de commencer.

0
Stigtheghost Ghost