comparison test/testdyngles.c @ 3410:f4bc25567731

Optimizations.
author Mike Gorchak <lestat@i.com.ua>
date Thu, 22 Oct 2009 06:07:05 +0000
parents 7f684f249ec9
children 1435f8a6425c
comparison
equal deleted inserted replaced
3409:c8f580ebc96a 3410:f4bc25567731
48 return NULL; 48 return NULL;
49 } 49 }
50 50
51 typedef struct 51 typedef struct
52 { 52 {
53 //void (APIENTRY * glBegin) (GLenum);
54 //void (APIENTRY * glEnd) ();
55 //void (APIENTRY * glVertex3f) (GLfloat, GLfloat, GLfloat);
56
57 void (APIENTRY * glEnableClientState) (GLenum array); 53 void (APIENTRY * glEnableClientState) (GLenum array);
54 void (APIENTRY * glDisableClientState) (GLenum array);
58 void (APIENTRY * glVertexPointer) (GLint size, GLenum type, 55 void (APIENTRY * glVertexPointer) (GLint size, GLenum type,
59 GLsizei stride, 56 GLsizei stride,
60 const GLvoid * pointer); 57 const GLvoid * pointer);
61 void (APIENTRY * glDrawArrays) (GLenum mode, GLint first, GLsizei count); 58 void (APIENTRY * glDrawArrays) (GLenum mode, GLint first, GLsizei count);
62 59
81 78
82 void 79 void
83 init_glfuncs(glfuncs * f) 80 init_glfuncs(glfuncs * f)
84 { 81 {
85 f->glEnableClientState = get_funcaddr("glEnableClientState"); 82 f->glEnableClientState = get_funcaddr("glEnableClientState");
83 f->glDisableClientState = get_funcaddr("glDisableClientState");
86 f->glVertexPointer = get_funcaddr("glVertexPointer"); 84 f->glVertexPointer = get_funcaddr("glVertexPointer");
87 f->glDrawArrays = get_funcaddr("glDrawArrays"); 85 f->glDrawArrays = get_funcaddr("glDrawArrays");
88 f->glClearColor = get_funcaddr("glClearColor"); 86 f->glClearColor = get_funcaddr("glClearColor");
89 f->glClear = get_funcaddr("glClear"); 87 f->glClear = get_funcaddr("glClear");
90 f->glDisable = get_funcaddr("glDisable"); 88 f->glDisable = get_funcaddr("glDisable");
117 115
118 /* you may want to change these according to the platform */ 116 /* you may want to change these according to the platform */
119 video_w = 320; 117 video_w = 320;
120 video_h = 480; 118 video_h = 480;
121 #ifdef __QNXNTO__ 119 #ifdef __QNXNTO__
120 video_w = 480;
122 video_h = 640; 121 video_h = 640;
123 video_w = 480;
124 #endif /* __QNXNTO__ */ 122 #endif /* __QNXNTO__ */
125 123
126 if (argv[1]) { 124 if (argv[1]) {
127 gl_library = argv[1]; 125 gl_library = argv[1];
128 } 126 }
174 f.glClearColor(0.0f, 0.0f, 0.0f, 0.0f); 172 f.glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
175 f.glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 173 f.glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
176 174
177 f.glEnable(GL_POINT_SMOOTH); 175 f.glEnable(GL_POINT_SMOOTH);
178 f.glHint(GL_POINT_SMOOTH_HINT, GL_NICEST); 176 f.glHint(GL_POINT_SMOOTH_HINT, GL_NICEST);
179 f.glPointSize(5.0f); 177 f.glPointSize(1.0f);
180 f.glEnable(GL_FOG); 178 f.glEnable(GL_FOG);
181 f.glFogf(GL_FOG_START, -500); 179 f.glFogf(GL_FOG_START, -500);
182 f.glFogf(GL_FOG_END, 500); 180 f.glFogf(GL_FOG_END, 500);
183 f.glFogf(GL_FOG_DENSITY, 0.005); 181 f.glFogf(GL_FOG_DENSITY, 0.005);
184 182
183 f.glVertexPointer(3, GL_FLOAT, 0, pixels);
184 f.glEnableClientState(GL_VERTEX_ARRAY);
185
185 do { 186 do {
186 f.glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 187 f.glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
187 188
188 f.glRotatef(2.0, 1.0, 1.0, 1.0); 189 f.glRotatef(2.0, 1.0, 1.0, 1.0);
189 f.glRotatef(1.0, 0.0, 1.0, 1.0); 190 f.glRotatef(1.0, 0.0, 1.0, 1.0);
190 191
191 f.glColor4f(1.0, 1.0, 1.0, 1.0); 192 f.glColor4f(1.0, 1.0, 1.0, 1.0);
192 193
193 f.glEnableClientState(GL_VERTEX_ARRAY);
194 f.glVertexPointer(3, GL_FLOAT, 0, pixels);
195 f.glDrawArrays(GL_POINTS, 0, NB_PIXELS); 194 f.glDrawArrays(GL_POINTS, 0, NB_PIXELS);
196 195
197 SDL_GL_SwapBuffers(); 196 SDL_GL_SwapBuffers();
198 197
199 while (SDL_PollEvent(&event)) { 198 while (SDL_PollEvent(&event)) {
205 204
206 SDL_Delay(20); 205 SDL_Delay(20);
207 } 206 }
208 while (!done); 207 while (!done);
209 208
209 f.glDisableClientState(GL_VERTEX_ARRAY);
210
210 SDL_Quit(); 211 SDL_Quit();
211 return 0; 212 return 0;
212 } 213 }
213 214
214 #else /* HAVE_OPENGLES */ 215 #else /* HAVE_OPENGLES */