[SDL2] problème avec SDL_CreateRenderer
Salut,
La fonction SDL_CreateRenderer me renvoie une erreur.
Voici ce que j'ai en sortie «peut pas créer renderer: Couldn't find matching render driver»
Je précise que je suis sous linux mint 64 bits avec les drivers propriétaires nvidia, je dispose de l’accélération graphique et du coup je vois mal ce que SDL veut dire par qu'elle ne trouve pas le "driver de rendu" si je traduis bien.
Un petit coup de pouce de la part de ceux qui se sont déjà aventurés sur ce nouveau concept de "texture" et "renderer"?
Code:
1 2
| glxinfo | grep "direct rendering"
direct rendering: Yes |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
| #include <stdio.h>
#include <SDL2/SDL.h>
#include <SDL2/SDL_image.h>
#define LARGEUR 800
#define HAUTEUR 600
int main()
{
SDL_Init(SDL_INIT_VIDEO);
SDL_Window* ecran = SDL_CreateWindow("SDL2",SDL_WINDOWPOS_UNDEFINED,SDL_WINDOWPOS_UNDEFINED,LARGEUR,HAUTEUR,SDL_WINDOW_SHOWN);
if (ecran == NULL)
{
printf("peut pas créer fenêtre: %s\n", SDL_GetError());
return EXIT_FAILURE;
}
SDL_Renderer* renderer = SDL_CreateRenderer(ecran, -1, SDL_RENDERER_ACCELERATED);
if (renderer == NULL)
{
printf("peut pas créer renderer: %s\n", SDL_GetError());
return EXIT_FAILURE;
}
int continuer = 1;
SDL_Event event;
SDL_Texture* image = IMG_LoadTexture(renderer,"croix.png");
if(image == NULL)
{
printf("image non chargée: %s\n", SDL_GetError());
return EXIT_FAILURE;
}
while (continuer)
{
SDL_PollEvent(&event);
switch(event.type)
{
case SDL_QUIT:
continuer = 0;
}
SDL_RenderClear(renderer);
if(SDL_RenderCopy(renderer,image,NULL,NULL) != 0);
{
printf("problème copie renderer: %s\n", SDL_GetError());
return EXIT_FAILURE;
}
SDL_RenderPresent(renderer);
}
SDL_DestroyTexture(image);
SDL_DestroyRenderer(renderer);
SDL_DestroyWindow(ecran);
SDL_Quit();
return EXIT_SUCCESS;
} |