… | |
… | |
270 | point (b.x, b.y, b.z), |
270 | point (b.x, b.y, b.z), |
271 | }; |
271 | }; |
272 | |
272 | |
273 | if (!ib) |
273 | if (!ib) |
274 | { |
274 | { |
275 | static index_ushort verts[4*6] = { |
275 | static GLushort verts[4*6] = { |
276 | 0, 4, 6, 2, // -x |
276 | 0, 4, 6, 2, // -x |
277 | 1, 3, 7, 5, // +x |
277 | 1, 3, 7, 5, // +x |
278 | 0, 1, 5, 4, // -y |
278 | 0, 1, 5, 4, // -y |
279 | 7, 3, 2, 6, // +y |
279 | 7, 3, 2, 6, // +y |
280 | 0, 2, 3, 1, // -z |
280 | 0, 2, 3, 1, // -z |
… | |
… | |
284 | ib.set (verts, 4*6, GL_STATIC_DRAW_ARB); |
284 | ib.set (verts, 4*6, GL_STATIC_DRAW_ARB); |
285 | } |
285 | } |
286 | |
286 | |
287 | vb.set (vd, 8, GL_STREAM_DRAW_ARB); |
287 | vb.set (vd, 8, GL_STREAM_DRAW_ARB); |
288 | vb.bind (); |
288 | vb.bind (); |
289 | ib.draw (GL_QUADS, 0, 6*4); |
289 | ib.draw (GL_QUADS, 0, 4*6); |
290 | } |
290 | } |
291 | |
291 | |
292 | ///////////////////////////////////////////////////////////////////////////// |
292 | ///////////////////////////////////////////////////////////////////////////// |
293 | |
293 | |
294 | GLsizei format_stride (GLenum format) |
294 | GLsizei format_stride (GLenum format) |
… | |
… | |
317 | GLsizei format_offset_p (GLenum format) |
317 | GLsizei format_offset_p (GLenum format) |
318 | { |
318 | { |
319 | switch (format) |
319 | switch (format) |
320 | { |
320 | { |
321 | case GL_V2F: abort (); |
321 | case GL_V2F: abort (); |
322 | case GL_V3F: { vertex_v3f v; return (char *)&v.p - (char *)&v; } |
322 | case GL_V3F: { vertex_v3f v; return (char *)&v.v - (char *)&v; } |
323 | case GL_C4UB_V2F: abort (); |
323 | case GL_C4UB_V2F: abort (); |
324 | case GL_C4UB_V3F: abort (); |
324 | case GL_C4UB_V3F: abort (); |
325 | case GL_C3F_V3F: abort (); |
325 | case GL_C3F_V3F: abort (); |
326 | case GL_N3F_V3F: abort (); |
326 | case GL_N3F_V3F: abort (); |
327 | case GL_C4F_N3F_V3F: abort (); |
327 | case GL_C4F_N3F_V3F: abort (); |
328 | case GL_T2F_V3F: abort (); |
328 | case GL_T2F_V3F: abort (); |
329 | case GL_T4F_V4F: abort (); |
329 | case GL_T4F_V4F: abort (); |
330 | case GL_T2F_C4UB_V3F: abort (); |
330 | case GL_T2F_C4UB_V3F: abort (); |
331 | case GL_T2F_C3F_V3F: abort (); |
331 | case GL_T2F_C3F_V3F: abort (); |
332 | case GL_T2F_N3F_V3F: { vertex_t2f_n3f_v3f v; return (char *)&v.p - (char *)&v; } |
332 | case GL_T2F_N3F_V3F: { vertex_t2f_n3f_v3f v; return (char *)&v.v - (char *)&v; } |
333 | case GL_T2F_C4F_N3F_V3F: abort (); |
333 | case GL_T2F_C4F_N3F_V3F: abort (); |
334 | case GL_T4F_C4F_N3F_V4F: abort (); |
334 | case GL_T4F_C4F_N3F_V4F: abort (); |
335 | default: |
335 | default: |
336 | abort (); |
336 | abort (); |
337 | } |
337 | } |