Bonjour ,
Je code un petit programme dons voici les sources
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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
 
#include <windows.h>
#include "sdl/sdl.h"
#include "stdlib.h"
#include "gl/gl.h"
#include "gl/glu.h"
 
 int width , height , bpp ;
 static void setup_opengl(int , int);
 static void dessin(void);
 static void On_key_press(SDL_keysym* keysym);
 static void evenement(void);
int STDCALL
 
WinMain (HINSTANCE hInst, HINSTANCE hPrev, LPSTR lpCmd, int nShow)
{
  if (SDL_Init(SDL_INIT_VIDEO) < 0)
  {
   fprintf( stderr, "Video initialization failed: %s\n",
             SDL_GetError( ) );
 
  }
 
  width = 800 ;
  height = 600;
  bpp = 32;
 
      SDL_GL_SetAttribute( SDL_GL_RED_SIZE, 5 );
    SDL_GL_SetAttribute( SDL_GL_GREEN_SIZE, 5 );
    SDL_GL_SetAttribute( SDL_GL_BLUE_SIZE, 5 );
    SDL_GL_SetAttribute( SDL_GL_DEPTH_SIZE, 16 );
    SDL_GL_SetAttribute( SDL_GL_DOUBLEBUFFER, 1 );
 
    if (SDL_SetVideoMode(width , height , bpp , SDL_OPENGL)==0)       // | SDL_FULLSCREEN 
    {
     fprintf( stderr, "Video mode set failed: %s\n",
             SDL_GetError( ) );
}
setup_opengl(width , height );
 
 
 
 while(1)
 {
 dessin();
  evenement();
 }
    //system("pause");
  return 0;
}
 
static void setup_opengl( int width, int height )
{
    float ratio = (float) width / (float) height;
 
 
    glShadeModel( GL_SMOOTH );
 
 
    glCullFace( GL_BACK );
    glFrontFace( GL_CCW );
    glEnable( GL_CULL_FACE );
 
 
    glClearColor( 0, 0, 0, 0 );
 
 
    glViewport( 0, 0, width, height );
 
 
    glMatrixMode( GL_PROJECTION );
    glLoadIdentity( );
 
       gluPerspective( 60.0, ratio, 1.0, 1024.0 );
       glFlush();
}
 
static void dessin(void)
{
 
       glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
  glMatrixMode( GL_MODELVIEW );
    glLoadIdentity( );
 
          glBegin(GL_TRIANGLES);
 
 
glColor3f( 0.0f, 0.0f, 1.0f ); 
   glVertex3f(-0.5, 0.0, 0.5);
   glVertex3f( 0.5, 0.0, 0.5);
   glVertex3f( 0.0, 1.0, 0.0);
 
glColor3f( 1.0f, 1.0f, 0.0f ); 
   glVertex3f(-0.5, 0.0,-0.5);
   glVertex3f( 0.5, 0.0,-0.5);
   glVertex3f( 0.0, 1.0, 0.0);
 
glColor3f( 0.0f, 1.0f, 0.0f ); 
   glVertex3f(-0.5, 0.0, 0.5);
   glVertex3f(-0.5, 0.0,-0.5);
   glVertex3f( 0.0, 1.0, 0.0);
 
glColor3f( 1.0f, 0.0f, 0.0f ); 
   glVertex3f(0.5, 0.0, 0.5);
   glVertex3f(0.5, 0.0,-0.5);
   glVertex3f(0.0, 1.0, 0.0);
 
glEnd();
 
 
     SDL_GL_SwapBuffers( );
 
}
 
static void on_key_press(SDL_keysym* keysym)
{
 switch (keysym -> sym){
   case SDLK_ESCAPE:
 
   SDL_Quit();
   break;
 
 }
}
 
static void evenement(void)
{
SDL_Event event;
 
while (SDL_PollEvent(&event))
{
switch (event.type)
{
 case SDL_KEYDOWN:
 
            on_key_press( &event.key.keysym );
            break;
 
}
 
}
}
Le probléme c'est que je ne vois rien dans la fenêtre !! Pourquoi ? merci de votre aide !