Bonsoir,
Depuis un bon moment je n'arrive pas à mettre en place OpenGL. Malgré tout ce que j'ai essayé dans divers tutoriels sur le sujet je n'arrive à rien. Je tourne sur Ubuntu 16.04 et j'utilise Code::Blocks comme IDE.
Serait - il possible de me refiler un peu d'aide?
Merci d'avance ^^"
Link Librairies :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 ||=== Build: Debug in TestOpenGL (compiler: GNU GCC Compiler) ===| /home/.../main.cpp|52|référence indéfinie vers « glewInit »| /home/.../main.cpp|57|référence indéfinie vers « glewGetErrorString »| ||=== Build failed: 2 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
Le source :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SDL2 SDL2main GL
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87 #include <SDL2/SDL.h> #include <GL/glew.h> #include <iostream> int main(int argc, char **argv) { SDL_Window* fenetre(0); SDL_GLContext contexteOpenGL(0); SDL_Event evenements; bool terminer(false); // Initialisation de la SDL if(SDL_Init(SDL_INIT_VIDEO) < 0) { std::cout << "Erreur lors de l'initialisation de la SDL : " << SDL_GetError() << std::endl; SDL_Quit(); return -1; } // Version d'OpenGL SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3); SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 1); // Double Buffer SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 24); // Création de la fenêtre fenetre = SDL_CreateWindow("Test SDL 2.0", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 800, 600, SDL_WINDOW_SHOWN | SDL_WINDOW_OPENGL); if(fenetre == 0) { std::cout << "Erreur lors de la creation de la fenetre : " << SDL_GetError() << std::endl; SDL_Quit(); return -1; } // Création du contexte OpenGL contexteOpenGL = SDL_GL_CreateContext(fenetre); if(contexteOpenGL == 0) { std::cout << SDL_GetError() << std::endl; SDL_DestroyWindow(fenetre); SDL_Quit(); return -1; } // On initialise GLEW GLenum initialisationGLEW( glewInit() ); // Si l'initialisation a échouée : if(initialisationGLEW != GLEW_OK) { // On affiche l'erreur grâce à la fonction : glewGetErrorString(GLenum code) std::cout << "Erreur d'initialisation de GLEW : " << glewGetErrorString(initialisationGLEW) << std::endl; // On quitte la SDL SDL_GL_DeleteContext(contexteOpenGL); SDL_DestroyWindow(fenetre); SDL_Quit(); return -1; } // Boucle principale while(!terminer) { // Gestion des évènements SDL_WaitEvent(&evenements); if(evenements.window.event == SDL_WINDOWEVENT_CLOSE) terminer = true; // Nettoyage de l'écran glClear(GL_COLOR_BUFFER_BIT); // Actualisation de la fenêtre SDL_GL_SwapWindow(fenetre); } // On quitte la SDL SDL_GL_DeleteContext(contexteOpenGL); SDL_DestroyWindow(fenetre); SDL_Quit(); return 0; }
Partager