Bonjour à tous,
je suis en train de coder un petit wrapper pour la SDL pour quelque chose de plus "orienté c++". Le problème étant que, autant les appels opengl fonctionnent, autant les appels SDL ne donnent rien du tout :
fonctionne (juste pour l'exemple bien sûr, dans la réalité c'est bien plus propre)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 float vertices[] = {-0.5, -0.5, 0.0, 0.5, 0.5, -0.5}; glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, 0, vertices); glEnableVertexAttribArray(0); glDrawArrays(GL_TRIANGLES, 0, 3); glDisableVertexAttribArray(0); SDL_GL_SwapWindow(m_window);
ne fonctionne pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 SDL_Renderer* renderer = NULL; renderer = SDL_CreateRenderer( m_window, 0, SDL_RENDERER_ACCELERATED); SDL_Rect r; r.x = 50; r.y = 50; r.w = 50; r.h = 50; SDL_SetRenderDrawColor( renderer, 0, 0, 255, 255 ); SDL_RenderFillRect( renderer, &r ); SDL_GL_SwapWindow(m_window);
Je précise que (même si le problème ne vient pas de là) j'ai implémenté le moteur sous la forme d'un thread graphique auquel on peut ajouter autant de fenêtre qu'on le souhaite au fur et à mesure (plus de détails tout à l'heure, je dois y aller).
Edit : en fait il semblerait que le flag SDL_WINDOW_OPENGL ne permet pas d'utiliser l'affichage SDL, l'inverse étant aussi vrai. Savez-vous d'où cela provient ? C'est concevable et ce n'est pas très embêtant mais ça reste quand même bizarre.
Partager