{
if(other.prim_type!=prim_type)
throw invalid_argument("Batch::append");
- if(prim_type==LINE_STRIP || prim_type==LINE_LOOP)
- throw incompatible_data("Batch::append");
- else if(prim_type==POLYGON)
- throw incompatible_data("Batch::append");
- else if(prim_type==TRIANGLE_FAN)
+ if(prim_type==LINE_STRIP || prim_type==LINE_LOOP || prim_type==TRIANGLE_FAN || prim_type==POLYGON)
static Require _req(NV_primitive_restart);
if(other.data.empty())
return;
- if(NV_primitive_restart)
+ if(prim_type==POINTS || prim_type==LINES || prim_type==TRIANGLES || prim_type==QUADS)
+ ;
+ else if(NV_primitive_restart)
{
restart = true;
if(data_type==UNSIGNED_SHORT)