X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Frender%2Finstancearray.cpp;h=11279f76262fe60882df087e91d50d84d43a173b;hb=2b2676392aff2eb6b38c3e463cc67f4d67a4ef8b;hp=231bebe1beaabe28df632d9dc0ce1f1b58db0109;hpb=3a6eb030fb4eca4c2a317f270704fddf31613130;p=libs%2Fgl.git diff --git a/source/render/instancearray.cpp b/source/render/instancearray.cpp index 231bebe1..11279f76 100644 --- a/source/render/instancearray.cpp +++ b/source/render/instancearray.cpp @@ -48,13 +48,14 @@ InstanceArray::InstanceArray(const Object &o): const VertexFormat &fmt = instance_data->get_format(); matrix_offset = fmt.offset(make_indexed_attribute(RAW_ATTRIB4, matrix_location)); - instance_buffer = new Buffer(ARRAY_BUFFER); + instance_buffer = new Buffer; instance_data->use_buffer(instance_buffer); vtx_setup = new VertexSetup; + vtx_setup->set_format_instanced(object.get_mesh()->get_vertices().get_format(), fmt); vtx_setup->set_vertex_array(object.get_mesh()->get_vertices()); vtx_setup->set_index_buffer(*object.get_mesh()->get_index_buffer()); - vtx_setup->set_instance_array(instance_data); + vtx_setup->set_instance_array(*instance_data); } else static Require req(ARB_vertex_shader); @@ -81,7 +82,7 @@ void InstanceArray::append(ObjectInstance *inst) if(instance_buffer->get_size()>0 && instance_buffer->get_size()use_buffer(instance_buffer); } }