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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
glxinfo | grep "direct rendering"
direct rendering: Yes
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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;
}