Mercurial > sdl-ios-xcode
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 */ |