Perché usare SDL e OpenGL invece di solo OpenGL?

0

Ho visto persone che combinano SDL2 e OpenGL (glfw.h o glut.h) per un po 'di tempo, ho fatto qualche ricerca e ho scoperto che SDL2 funziona su OpenGL. Allora perché la gente combina questi due? Alcune persone hanno discusso di come usano SDL2 per rendere la finestra e OpenGL per tutto il resto, ma questo non ha senso dato che OpenGL può anche creare finestre.

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);

Alcuni dicono anche che usano SDL2 per le animazioni 2D, ma questo non ha senso, visto che anche OpenGL può farlo. Come ho detto prima SDL2 usa OpenGL, quindi tutto ciò che SDL2 può fare, OpenGL può farlo, SDL2 è un wrapper di OpenGL. Quindi, perché le persone aggiungono ancora SDL2 e OpenGL insieme? Ad esempio questi.

C'è qualche vantaggio? C'è qualcosa che mi manca? Sono così confuso. Perché dovresti combinare SDL2 con OpenGL anche se SDL2 è solo un wrapper?

Tra questo è tutto per C / C ++ in modo che possa chiarire un po 'di confusione. Quando mi riferisco ad OpenGL mi riferisco a glut.h o / e glfw.h non OpenGL da solo dato che non so se puoi farlo.

    
posta Nfagie Yansaneh 13.08.2017 - 09:59
fonte

1 risposta

8

OpenGL ha solo funzioni per lavorare con un contesto grafico, nient'altro. È necessario almeno una libreria di integrazione della piattaforma per ottenere un tale contesto. Ma in realtà, ovviamente, hai bisogno di più funzionalità, come la gestione degli input. GLFW, GLUT e SDL2 sono solo modi diversi per ottenere tali funzionalità aggiuntive. SDL2 è bello perché include anche il caricamento di risorse e audio.

    
risposta data 14.08.2017 - 00:04
fonte

Leggi altre domande sui tag