| 189 | } |
| 190 | |
| 191 | void glEnd() |
| 192 | { |
| 193 | if (beginEndMode < 0) { |
| 194 | AssertFatal(0, "glEnd(): called without a glBegin"); |
| 195 | } |
| 196 | |
| 197 | if (beginEndVertex_size > 0) { |
| 198 | glEnableClientState( GL_VERTEX_ARRAY ); |
| 199 | glVertexPointer( 4, GL_FLOAT, 4*sizeof(GL_FLOAT), beginEndVertex ); |
| 200 | } |
| 201 | if (beginEndNormal_size > 0) { |
| 202 | glEnableClientState( GL_NORMAL_ARRAY ); |
| 203 | glNormalPointer( GL_FLOAT, 3*sizeof(GL_FLOAT), beginEndNormal ); |
| 204 | } |
| 205 | if (beginEndColor_size > 0) { |
| 206 | glEnableClientState( GL_COLOR_ARRAY ); |
| 207 | glColorPointer( 4, GL_FLOAT, 4*sizeof(GL_FLOAT), beginEndColor ); |
| 208 | } |
| 209 | if (beginEndTexCoord2f_size > 0) { |
| 210 | glEnableClientState( GL_TEXTURE_COORD_ARRAY ); |
| 211 | glTexCoordPointer( 2, GL_FLOAT, 2*sizeof(GL_FLOAT), beginEndTexCoord2f ); |
| 212 | } |
| 213 | |
| 214 | switch (beginEndMode) { |
| 215 | case GL_POINTS: |
| 216 | glDrawArrays( GL_POINTS, 0, beginEndVertex_size ); |
| 217 | break; |
| 218 | case GL_LINES: |
| 219 | glDrawArrays( GL_LINES, 0, beginEndVertex_size ); |
| 220 | break; |
| 221 | case GL_LINE_STRIP: |
| 222 | glDrawArrays( GL_LINE_STRIP, 0, beginEndVertex_size ); |
| 223 | break; |
| 224 | case GL_LINE_LOOP: |
| 225 | glDrawArrays( GL_LINE_LOOP, 0, beginEndVertex_size ); |
| 226 | break; |
| 227 | case GL_TRIANGLES: |
| 228 | glDrawArrays( GL_TRIANGLES, 0, beginEndVertex_size ); |
| 229 | break; |
| 230 | case GL_TRIANGLE_STRIP: |
| 231 | glDrawArrays( GL_TRIANGLE_STRIP, 0, beginEndVertex_size ); |
| 232 | break; |
| 233 | case GL_TRIANGLE_FAN: |
| 234 | glDrawArrays( GL_TRIANGLE_FAN, 0, beginEndVertex_size ); |
| 235 | break; |
| 236 | case GL_QUADS: |
| 237 | #if 1 // %%PUAP%% TESTING |
| 238 | // for now, just draw a couple lines to indicate the edges of the quads |
| 239 | glDrawArrays( GL_LINES, 0, beginEndVertex_size ); |
| 240 | #else |
| 241 | // draw these as individual pairs of triangle_strips |
| 242 | glDrawArrays( GL_TRIANGLE_STRIP, 0, beginEndVertex_size ); |
| 243 | #endif |
| 244 | break; |
| 245 | case GL_QUAD_STRIP: |
| 246 | #if 1 // %%PUAP%% TESTING |
| 247 | glDrawArrays( GL_LINES, 0, beginEndVertex_size ); |
| 248 | #endif |
no outgoing calls
no test coverage detected