- case 0:
- glVertexPointer(sz, GL_FLOAT, bpv, base+offset);
- if(!en)
- glEnableClientState(GL_VERTEX_ARRAY);
- break;
- case 1:
- glNormalPointer(GL_FLOAT, bpv, base+offset);
- if(!en)
- glEnableClientState(GL_NORMAL_ARRAY);
- break;
- case 2:
- if(sz==1)
- glColorPointer(4, GL_UNSIGNED_BYTE, bpv, base+offset);
- else
- glColorPointer(sz, GL_FLOAT, bpv, base+offset);
- if(!en)
- glEnableClientState(GL_COLOR_ARRAY);
- break;
- default:
- if(t<11)
+ if(arr)
+ glVertexPointer(sz, GL_FLOAT, stride_bytes, base+offset);
+ array_type = GL_VERTEX_ARRAY;
+ }
+ else if(t==get_component_type(NORMAL3))
+ {
+ if(arr)
+ glNormalPointer(GL_FLOAT, stride_bytes, base+offset);
+ array_type = GL_NORMAL_ARRAY;
+ }
+ else if(t==get_component_type(COLOR4_FLOAT))
+ {
+ if(arr)