diff options
| author | Juan Linietsky | 2017-01-07 18:25:37 -0300 |
|---|---|---|
| committer | Juan Linietsky | 2017-01-07 18:26:38 -0300 |
| commit | 2ab83e1abbf5ee6d00e16056a9e9394114026f28 (patch) | |
| tree | 7efbb375cc4d00d8e8589fcf1b6a1303bec5df2d /servers/visual | |
| parent | 2a38a5eaa844043b846e03d6655f84caf8a31e74 (diff) | |
| download | godot-2ab83e1abbf5ee6d00e16056a9e9394114026f28.tar.gz godot-2ab83e1abbf5ee6d00e16056a9e9394114026f28.tar.zst godot-2ab83e1abbf5ee6d00e16056a9e9394114026f28.zip | |
Memory pool vectors (DVector) have been enormously simplified in code, and renamed to PoolVector
Diffstat (limited to 'servers/visual')
| -rw-r--r-- | servers/visual/rasterizer.h | 24 | ||||
| -rw-r--r-- | servers/visual/visual_server_canvas.cpp | 12 | ||||
| -rw-r--r-- | servers/visual/visual_server_canvas.h | 4 | ||||
| -rw-r--r-- | servers/visual/visual_server_raster.cpp | 42 | ||||
| -rw-r--r-- | servers/visual/visual_server_raster.h | 22 | ||||
| -rw-r--r-- | servers/visual/visual_server_scene.cpp | 24 | ||||
| -rw-r--r-- | servers/visual/visual_server_scene.h | 10 |
7 files changed, 69 insertions, 69 deletions
diff --git a/servers/visual/rasterizer.h b/servers/visual/rasterizer.h index 27268dcab..de570b7e4 100644 --- a/servers/visual/rasterizer.h +++ b/servers/visual/rasterizer.h @@ -242,7 +242,7 @@ public: virtual RID mesh_create()=0; - virtual void mesh_add_surface(RID p_mesh,uint32_t p_format,VS::PrimitiveType p_primitive,const DVector<uint8_t>& p_array,int p_vertex_count,const DVector<uint8_t>& p_index_array,int p_index_count,const AABB& p_aabb,const Vector<DVector<uint8_t> >& p_blend_shapes=Vector<DVector<uint8_t> >(),const Vector<AABB>& p_bone_aabbs=Vector<AABB>())=0; + virtual void mesh_add_surface(RID p_mesh,uint32_t p_format,VS::PrimitiveType p_primitive,const PoolVector<uint8_t>& p_array,int p_vertex_count,const PoolVector<uint8_t>& p_index_array,int p_index_count,const AABB& p_aabb,const Vector<PoolVector<uint8_t> >& p_blend_shapes=Vector<PoolVector<uint8_t> >(),const Vector<AABB>& p_bone_aabbs=Vector<AABB>())=0; virtual void mesh_set_morph_target_count(RID p_mesh,int p_amount)=0; virtual int mesh_get_morph_target_count(RID p_mesh) const=0; @@ -257,15 +257,15 @@ public: virtual int mesh_surface_get_array_len(RID p_mesh, int p_surface) const=0; virtual int mesh_surface_get_array_index_len(RID p_mesh, int p_surface) const=0; - virtual DVector<uint8_t> mesh_surface_get_array(RID p_mesh, int p_surface) const=0; - virtual DVector<uint8_t> mesh_surface_get_index_array(RID p_mesh, int p_surface) const=0; + virtual PoolVector<uint8_t> mesh_surface_get_array(RID p_mesh, int p_surface) const=0; + virtual PoolVector<uint8_t> mesh_surface_get_index_array(RID p_mesh, int p_surface) const=0; virtual uint32_t mesh_surface_get_format(RID p_mesh, int p_surface) const=0; virtual VS::PrimitiveType mesh_surface_get_primitive_type(RID p_mesh, int p_surface) const=0; virtual AABB mesh_surface_get_aabb(RID p_mesh, int p_surface) const=0; - virtual Vector<DVector<uint8_t> > mesh_surface_get_blend_shapes(RID p_mesh, int p_surface) const=0; + virtual Vector<PoolVector<uint8_t> > mesh_surface_get_blend_shapes(RID p_mesh, int p_surface) const=0; virtual Vector<AABB> mesh_surface_get_skeleton_aabb(RID p_mesh, int p_surface) const=0; virtual void mesh_remove_surface(RID p_mesh,int p_index)=0; @@ -388,7 +388,7 @@ public: /* ROOM API */ virtual RID room_create()=0; - virtual void room_add_bounds(RID p_room, const DVector<Vector2>& p_convex_polygon,float p_height,const Transform& p_transform)=0; + virtual void room_add_bounds(RID p_room, const PoolVector<Vector2>& p_convex_polygon,float p_height,const Transform& p_transform)=0; virtual void room_clear_bounds(RID p_room)=0; /* PORTAL API */ @@ -421,8 +421,8 @@ public: virtual void gi_probe_set_to_cell_xform(RID p_probe,const Transform& p_xform)=0; virtual Transform gi_probe_get_to_cell_xform(RID p_probe) const=0; - virtual void gi_probe_set_dynamic_data(RID p_probe,const DVector<int>& p_data)=0; - virtual DVector<int> gi_probe_get_dynamic_data(RID p_probe) const=0; + virtual void gi_probe_set_dynamic_data(RID p_probe,const PoolVector<int>& p_data)=0; + virtual PoolVector<int> gi_probe_get_dynamic_data(RID p_probe) const=0; virtual void gi_probe_set_dynamic_range(RID p_probe,int p_range)=0; virtual int gi_probe_get_dynamic_range(RID p_probe) const=0; @@ -467,7 +467,7 @@ public: virtual void particles_set_emission_shape(RID p_particles,VS::ParticlesEmissionShape p_shape)=0; virtual void particles_set_emission_sphere_radius(RID p_particles,float p_radius)=0; virtual void particles_set_emission_box_extents(RID p_particles,const Vector3& p_extents)=0; - virtual void particles_set_emission_points(RID p_particles,const DVector<Vector3>& p_points)=0; + virtual void particles_set_emission_points(RID p_particles,const PoolVector<Vector3>& p_points)=0; virtual void particles_set_draw_order(RID p_particles,VS::ParticlesDrawOrder p_order)=0; @@ -506,7 +506,7 @@ public: /* LIGHT SHADOW MAPPING */ virtual RID canvas_light_occluder_create()=0; - virtual void canvas_light_occluder_set_polylines(RID p_occluder, const DVector<Vector2>& p_lines)=0; + virtual void canvas_light_occluder_set_polylines(RID p_occluder, const PoolVector<Vector2>& p_lines)=0; virtual VS::InstanceType get_base_type(RID p_rid) const=0; @@ -1275,8 +1275,8 @@ public: virtual void particles_set_emission_base_velocity(RID p_particles, const Vector3& p_base_velocity)=0; virtual Vector3 particles_get_emission_base_velocity(RID p_particles) const=0; - virtual void particles_set_emission_points(RID p_particles, const DVector<Vector3>& p_points)=0; - virtual DVector<Vector3> particles_get_emission_points(RID p_particles) const=0; + virtual void particles_set_emission_points(RID p_particles, const PoolVector<Vector3>& p_points)=0; + virtual PoolVector<Vector3> particles_get_emission_points(RID p_particles) const=0; virtual void particles_set_gravity_normal(RID p_particles, const Vector3& p_normal)=0; virtual Vector3 particles_get_gravity_normal(RID p_particles) const=0; @@ -1876,7 +1876,7 @@ public: /* LIGHT SHADOW MAPPING */ virtual RID canvas_light_occluder_create()=0; - virtual void canvas_light_occluder_set_polylines(RID p_occluder, const DVector<Vector2>& p_lines)=0; + virtual void canvas_light_occluder_set_polylines(RID p_occluder, const PoolVector<Vector2>& p_lines)=0; virtual RID canvas_light_shadow_buffer_create(int p_width)=0; diff --git a/servers/visual/visual_server_canvas.cpp b/servers/visual/visual_server_canvas.cpp index f70ce46a3..8e6345960 100644 --- a/servers/visual/visual_server_canvas.cpp +++ b/servers/visual/visual_server_canvas.cpp @@ -1058,20 +1058,20 @@ RID VisualServerCanvas::canvas_occluder_polygon_create() { return canvas_light_occluder_polygon_owner.make_rid(occluder_poly); } -void VisualServerCanvas::canvas_occluder_polygon_set_shape(RID p_occluder_polygon,const DVector<Vector2>& p_shape,bool p_closed) { +void VisualServerCanvas::canvas_occluder_polygon_set_shape(RID p_occluder_polygon,const PoolVector<Vector2>& p_shape,bool p_closed) { if (p_shape.size()<3) { canvas_occluder_polygon_set_shape_as_lines(p_occluder_polygon,p_shape); return; } - DVector<Vector2> lines; + PoolVector<Vector2> lines; int lc = p_shape.size()*2; lines.resize(lc-(p_closed?0:2)); { - DVector<Vector2>::Write w = lines.write(); - DVector<Vector2>::Read r = p_shape.read(); + PoolVector<Vector2>::Write w = lines.write(); + PoolVector<Vector2>::Read r = p_shape.read(); int max=lc/2; if (!p_closed) { @@ -1089,7 +1089,7 @@ void VisualServerCanvas::canvas_occluder_polygon_set_shape(RID p_occluder_polygo canvas_occluder_polygon_set_shape_as_lines(p_occluder_polygon,lines); } -void VisualServerCanvas::canvas_occluder_polygon_set_shape_as_lines(RID p_occluder_polygon,const DVector<Vector2>& p_shape) { +void VisualServerCanvas::canvas_occluder_polygon_set_shape_as_lines(RID p_occluder_polygon,const PoolVector<Vector2>& p_shape) { LightOccluderPolygon * occluder_poly = canvas_light_occluder_polygon_owner.get(p_occluder_polygon); ERR_FAIL_COND(!occluder_poly); @@ -1098,7 +1098,7 @@ void VisualServerCanvas::canvas_occluder_polygon_set_shape_as_lines(RID p_occlud int lc = p_shape.size(); occluder_poly->aabb=Rect2(); { - DVector<Vector2>::Read r = p_shape.read(); + PoolVector<Vector2>::Read r = p_shape.read(); for(int i=0;i<lc;i++) { if (i==0) occluder_poly->aabb.pos=r[i]; diff --git a/servers/visual/visual_server_canvas.h b/servers/visual/visual_server_canvas.h index e1edc47f9..4a5091e75 100644 --- a/servers/visual/visual_server_canvas.h +++ b/servers/visual/visual_server_canvas.h @@ -201,8 +201,8 @@ public: void canvas_light_occluder_set_light_mask(RID p_occluder,int p_mask); RID canvas_occluder_polygon_create(); - void canvas_occluder_polygon_set_shape(RID p_occluder_polygon,const DVector<Vector2>& p_shape,bool p_closed); - void canvas_occluder_polygon_set_shape_as_lines(RID p_occluder_polygon,const DVector<Vector2>& p_shape); + void canvas_occluder_polygon_set_shape(RID p_occluder_polygon,const PoolVector<Vector2>& p_shape,bool p_closed); + void canvas_occluder_polygon_set_shape_as_lines(RID p_occluder_polygon,const PoolVector<Vector2>& p_shape); void canvas_occluder_polygon_set_cull_mode(RID p_occluder_polygon,VS::CanvasOccluderPolygonCullMode p_mode); diff --git a/servers/visual/visual_server_raster.cpp b/servers/visual/visual_server_raster.cpp index 58cfab3b9..3262479c4 100644 --- a/servers/visual/visual_server_raster.cpp +++ b/servers/visual/visual_server_raster.cpp @@ -819,13 +819,13 @@ Vector3 VisualServerRaster::particles_get_emission_base_velocity(RID p_particles return rasterizer->particles_get_emission_base_velocity(p_particles); } -void VisualServerRaster::particles_set_emission_points(RID p_particles, const DVector<Vector3>& p_points) { +void VisualServerRaster::particles_set_emission_points(RID p_particles, const PoolVector<Vector3>& p_points) { VS_CHANGED; rasterizer->particles_set_emission_points(p_particles,p_points); } -DVector<Vector3> VisualServerRaster::particles_get_emission_points(RID p_particles) const { +PoolVector<Vector3> VisualServerRaster::particles_get_emission_points(RID p_particles) const { return rasterizer->particles_get_emission_points(p_particles); } @@ -1279,7 +1279,7 @@ float VisualServerRaster::baked_light_get_lightmap_multiplier(RID p_baked_light) } -void VisualServerRaster::baked_light_set_octree(RID p_baked_light,const DVector<uint8_t> p_octree){ +void VisualServerRaster::baked_light_set_octree(RID p_baked_light,const PoolVector<uint8_t> p_octree){ VS_CHANGED; BakedLight *baked_light = baked_light_owner.get(p_baked_light); @@ -1301,7 +1301,7 @@ void VisualServerRaster::baked_light_set_octree(RID p_baked_light,const DVector< bool has_light_tex=false; { - DVector<uint8_t>::Read r=p_octree.read(); + PoolVector<uint8_t>::Read r=p_octree.read(); tex_w = decode_uint32(&r[0]); tex_h = decode_uint32(&r[4]); print_line("TEX W: "+itos(tex_w)+" TEX H:"+itos(tex_h)+" LEN: "+itos(p_octree.size())); @@ -1386,22 +1386,22 @@ void VisualServerRaster::baked_light_set_octree(RID p_baked_light,const DVector< } -DVector<uint8_t> VisualServerRaster::baked_light_get_octree(RID p_baked_light) const{ +PoolVector<uint8_t> VisualServerRaster::baked_light_get_octree(RID p_baked_light) const{ BakedLight *baked_light = baked_light_owner.get(p_baked_light); - ERR_FAIL_COND_V(!baked_light,DVector<uint8_t>()); + ERR_FAIL_COND_V(!baked_light,PoolVector<uint8_t>()); if (rasterizer->is_texture(baked_light->data.octree_texture)) { Image img = rasterizer->texture_get_data(baked_light->data.octree_texture); return img.get_data(); } else { - return DVector<uint8_t>(); + return PoolVector<uint8_t>(); } } -void VisualServerRaster::baked_light_set_light(RID p_baked_light,const DVector<uint8_t> p_light) { +void VisualServerRaster::baked_light_set_light(RID p_baked_light,const PoolVector<uint8_t> p_light) { VS_CHANGED; BakedLight *baked_light = baked_light_owner.get(p_baked_light); @@ -1425,23 +1425,23 @@ void VisualServerRaster::baked_light_set_light(RID p_baked_light,const DVector<u } -DVector<uint8_t> VisualServerRaster::baked_light_get_light(RID p_baked_light) const{ +PoolVector<uint8_t> VisualServerRaster::baked_light_get_light(RID p_baked_light) const{ BakedLight *baked_light = baked_light_owner.get(p_baked_light); - ERR_FAIL_COND_V(!baked_light,DVector<uint8_t>()); + ERR_FAIL_COND_V(!baked_light,PoolVector<uint8_t>()); if (rasterizer->is_texture(baked_light->data.light_texture)) { Image img = rasterizer->texture_get_data(baked_light->data.light_texture); return img.get_data(); } else { - return DVector<uint8_t>(); + return PoolVector<uint8_t>(); } } -void VisualServerRaster::baked_light_set_sampler_octree(RID p_baked_light, const DVector<int> &p_sampler) { +void VisualServerRaster::baked_light_set_sampler_octree(RID p_baked_light, const PoolVector<int> &p_sampler) { BakedLight *baked_light = baked_light_owner.get(p_baked_light); ERR_FAIL_COND(!baked_light); @@ -1452,10 +1452,10 @@ void VisualServerRaster::baked_light_set_sampler_octree(RID p_baked_light, const } -DVector<int> VisualServerRaster::baked_light_get_sampler_octree(RID p_baked_light) const { +PoolVector<int> VisualServerRaster::baked_light_get_sampler_octree(RID p_baked_light) const { BakedLight *baked_light = baked_light_owner.get(p_baked_light); - ERR_FAIL_COND_V(!baked_light,DVector<int>()); + ERR_FAIL_COND_V(!baked_light,PoolVector<int>()); return baked_light->sampler; @@ -4466,20 +4466,20 @@ RID VisualServerRaster::canvas_occluder_polygon_create() { } -void VisualServerRaster::canvas_occluder_polygon_set_shape(RID p_occluder_polygon, const DVector<Vector2>& p_shape, bool p_close){ +void VisualServerRaster::canvas_occluder_polygon_set_shape(RID p_occluder_polygon, const PoolVector<Vector2>& p_shape, bool p_close){ if (p_shape.size()<3) { canvas_occluder_polygon_set_shape_as_lines(p_occluder_polygon,p_shape); return; } - DVector<Vector2> lines; + PoolVector<Vector2> lines; int lc = p_shape.size()*2; lines.resize(lc-(p_close?0:2)); { - DVector<Vector2>::Write w = lines.write(); - DVector<Vector2>::Read r = p_shape.read(); + PoolVector<Vector2>::Write w = lines.write(); + PoolVector<Vector2>::Read r = p_shape.read(); int max=lc/2; if (!p_close) { @@ -4498,7 +4498,7 @@ void VisualServerRaster::canvas_occluder_polygon_set_shape(RID p_occluder_polygo canvas_occluder_polygon_set_shape_as_lines(p_occluder_polygon,lines); } -void VisualServerRaster::canvas_occluder_polygon_set_shape_as_lines(RID p_occluder_polygon,const DVector<Vector2>& p_shape) { +void VisualServerRaster::canvas_occluder_polygon_set_shape_as_lines(RID p_occluder_polygon,const PoolVector<Vector2>& p_shape) { CanvasLightOccluderPolygon * occluder_poly = canvas_light_occluder_polygon_owner.get(p_occluder_polygon); ERR_FAIL_COND(!occluder_poly); @@ -4507,7 +4507,7 @@ void VisualServerRaster::canvas_occluder_polygon_set_shape_as_lines(RID p_occlud int lc = p_shape.size(); occluder_poly->aabb=Rect2(); { - DVector<Vector2>::Read r = p_shape.read(); + PoolVector<Vector2>::Read r = p_shape.read(); for(int i=0;i<lc;i++) { if (i==0) occluder_poly->aabb.pos=r[i]; @@ -6338,7 +6338,7 @@ void VisualServerRaster::_process_sampled_light(const Transform& p_camera,Instan AABB sample_aabb= bl->data.transform.affine_inverse().xform(AABB(Vector3(-r,-r,-r)+p_sampled_light->data.transform.origin,Vector3(r*2,r*2,r*2))); //ok got octree local AABB - DVector<int>::Read rp = bl->baked_light_info->baked_light->sampler.read(); + PoolVector<int>::Read rp = bl->baked_light_info->baked_light->sampler.read(); const int *rptr = rp.ptr(); int first = rptr[1]; diff --git a/servers/visual/visual_server_raster.h b/servers/visual/visual_server_raster.h index 0f75d7ab8..5fb71aa0f 100644 --- a/servers/visual/visual_server_raster.h +++ b/servers/visual/visual_server_raster.h @@ -103,7 +103,7 @@ class VisualServerRaster : public VisualServer { struct BakedLight { Rasterizer::BakedLightData data; - DVector<int> sampler; + PoolVector<int> sampler; AABB octree_aabb; Size2i octree_tex_size; Size2i light_tex_size; @@ -671,7 +671,7 @@ public: BIND0R(RID,mesh_create) - BIND10(mesh_add_surface,RID,uint32_t,PrimitiveType,const DVector<uint8_t>&,int ,const DVector<uint8_t>& ,int ,const AABB&,const Vector<DVector<uint8_t> >&,const Vector<AABB>& ) + BIND10(mesh_add_surface,RID,uint32_t,PrimitiveType,const PoolVector<uint8_t>&,int ,const PoolVector<uint8_t>& ,int ,const AABB&,const Vector<PoolVector<uint8_t> >&,const Vector<AABB>& ) BIND2(mesh_set_morph_target_count,RID,int) BIND1RC(int,mesh_get_morph_target_count,RID) @@ -686,14 +686,14 @@ public: BIND2RC(int,mesh_surface_get_array_len,RID,int) BIND2RC(int,mesh_surface_get_array_index_len,RID,int) - BIND2RC(DVector<uint8_t>,mesh_surface_get_array,RID,int) - BIND2RC(DVector<uint8_t>,mesh_surface_get_index_array,RID, int) + BIND2RC(PoolVector<uint8_t>,mesh_surface_get_array,RID,int) + BIND2RC(PoolVector<uint8_t>,mesh_surface_get_index_array,RID, int) BIND2RC(uint32_t,mesh_surface_get_format,RID,int) BIND2RC(PrimitiveType,mesh_surface_get_primitive_type,RID,int) BIND2RC(AABB,mesh_surface_get_aabb,RID,int) - BIND2RC(Vector<DVector<uint8_t> >,mesh_surface_get_blend_shapes,RID,int) + BIND2RC(Vector<PoolVector<uint8_t> >,mesh_surface_get_blend_shapes,RID,int) BIND2RC(Vector<AABB>,mesh_surface_get_skeleton_aabb,RID,int) BIND2(mesh_remove_surface,RID,int) @@ -791,7 +791,7 @@ public: /* ROOM API */ BIND0R(RID,room_create) - BIND4(room_add_bounds,RID, const DVector<Vector2>& ,float ,const Transform& ) + BIND4(room_add_bounds,RID, const PoolVector<Vector2>& ,float ,const Transform& ) BIND1(room_clear_bounds,RID) /* PORTAL API */ @@ -830,8 +830,8 @@ public: BIND2(gi_probe_set_compress,RID,bool) BIND1RC(bool,gi_probe_is_compressed,RID) - BIND2(gi_probe_set_dynamic_data,RID,const DVector<int>& ) - BIND1RC( DVector<int>,gi_probe_get_dynamic_data,RID) + BIND2(gi_probe_set_dynamic_data,RID,const PoolVector<int>& ) + BIND1RC( PoolVector<int>,gi_probe_get_dynamic_data,RID) /* PARTICLES */ @@ -851,7 +851,7 @@ public: BIND2(particles_set_emission_shape,RID,VS::ParticlesEmissionShape ) BIND2(particles_set_emission_sphere_radius,RID,float ) BIND2(particles_set_emission_box_extents,RID,const Vector3& ) - BIND2(particles_set_emission_points,RID,const DVector<Vector3>& ) + BIND2(particles_set_emission_points,RID,const PoolVector<Vector3>& ) BIND2(particles_set_draw_order,RID,VS::ParticlesDrawOrder ) @@ -1088,8 +1088,8 @@ public: BIND0R(RID,canvas_occluder_polygon_create) - BIND3(canvas_occluder_polygon_set_shape,RID,const DVector<Vector2>& ,bool) - BIND2(canvas_occluder_polygon_set_shape_as_lines,RID ,const DVector<Vector2>&) + BIND3(canvas_occluder_polygon_set_shape,RID,const PoolVector<Vector2>& ,bool) + BIND2(canvas_occluder_polygon_set_shape_as_lines,RID ,const PoolVector<Vector2>&) BIND2(canvas_occluder_polygon_set_cull_mode,RID,CanvasOccluderPolygonCullMode) diff --git a/servers/visual/visual_server_scene.cpp b/servers/visual/visual_server_scene.cpp index 816d42303..0f789d969 100644 --- a/servers/visual/visual_server_scene.cpp +++ b/servers/visual/visual_server_scene.cpp @@ -2423,14 +2423,14 @@ void VisualServerScene::_setup_gi_probe(Instance *p_instance) { if (probe->dynamic.light_data.size()==0) return; //using dynamic data - DVector<int>::Read r=probe->dynamic.light_data.read(); + PoolVector<int>::Read r=probe->dynamic.light_data.read(); const GIProbeDataHeader *header = (GIProbeDataHeader *)r.ptr(); probe->dynamic.local_data.resize(header->cell_count); int cell_count = probe->dynamic.local_data.size(); - DVector<InstanceGIProbeData::LocalData>::Write ldw = probe->dynamic.local_data.write(); + PoolVector<InstanceGIProbeData::LocalData>::Write ldw = probe->dynamic.local_data.write(); const GIProbeDataCell *cells = (GIProbeDataCell*)&r[16]; probe->dynamic.level_cell_lists.resize(header->cell_subdiv); @@ -2466,13 +2466,13 @@ void VisualServerScene::_setup_gi_probe(Instance *p_instance) { uint32_t z = header->depth >> i; //create and clear mipmap - DVector<uint8_t> mipmap; + PoolVector<uint8_t> mipmap; int size = x*y*z*4; size/=size_divisor; mipmap.resize(size); - DVector<uint8_t>::Write w = mipmap.write(); + PoolVector<uint8_t>::Write w = mipmap.write(); zeromem(w.ptr(),size); - w = DVector<uint8_t>::Write(); + w = PoolVector<uint8_t>::Write(); probe->dynamic.mipmaps_3d.push_back(mipmap); @@ -2547,7 +2547,7 @@ void VisualServerScene::_setup_gi_probe(Instance *p_instance) { for(int i=0;i<mipmap_count;i++) { print_line("S3TC level: "+itos(i)+" blocks: "+itos(comp_blocks[i].size())); probe->dynamic.mipmaps_s3tc[i].resize(comp_blocks[i].size()); - DVector<InstanceGIProbeData::CompBlockS3TC>::Write w = probe->dynamic.mipmaps_s3tc[i].write(); + PoolVector<InstanceGIProbeData::CompBlockS3TC>::Write w = probe->dynamic.mipmaps_s3tc[i].write(); int block_idx=0; for (Map<uint32_t,InstanceGIProbeData::CompBlockS3TC>::Element *E=comp_blocks[i].front();E;E=E->next()) { @@ -2979,7 +2979,7 @@ void VisualServerScene::_bake_gi_probe(Instance *p_gi_probe) { InstanceGIProbeData * probe_data = static_cast<InstanceGIProbeData*>(p_gi_probe->base_data); - DVector<int>::Read r=probe_data->dynamic.light_data.read(); + PoolVector<int>::Read r=probe_data->dynamic.light_data.read(); const GIProbeDataHeader *header = (const GIProbeDataHeader *)r.ptr(); const GIProbeDataCell *cells = (const GIProbeDataCell*)&r[16]; @@ -2987,7 +2987,7 @@ void VisualServerScene::_bake_gi_probe(Instance *p_gi_probe) { int leaf_count = probe_data->dynamic.level_cell_lists[ header->cell_subdiv -1 ].size(); const uint32_t *leaves = probe_data->dynamic.level_cell_lists[ header->cell_subdiv -1 ].ptr(); - DVector<InstanceGIProbeData::LocalData>::Write ldw = probe_data->dynamic.local_data.write(); + PoolVector<InstanceGIProbeData::LocalData>::Write ldw = probe_data->dynamic.local_data.write(); InstanceGIProbeData::LocalData *local_data = ldw.ptr(); @@ -3039,7 +3039,7 @@ void VisualServerScene::_bake_gi_probe(Instance *p_gi_probe) { int level_cell_count = probe_data->dynamic.level_cell_lists[ i ].size(); const uint32_t *level_cells = probe_data->dynamic.level_cell_lists[ i ].ptr(); - DVector<uint8_t>::Write lw = probe_data->dynamic.mipmaps_3d[stage].write(); + PoolVector<uint8_t>::Write lw = probe_data->dynamic.mipmaps_3d[stage].write(); uint8_t *mipmapw = lw.ptr(); uint32_t sizes[3]={header->width>>stage,header->height>>stage,header->depth>>stage}; @@ -3071,9 +3071,9 @@ void VisualServerScene::_bake_gi_probe(Instance *p_gi_probe) { for(int mmi=0;mmi<mipmap_count;mmi++) { - DVector<uint8_t>::Write mmw = probe_data->dynamic.mipmaps_3d[mmi].write(); + PoolVector<uint8_t>::Write mmw = probe_data->dynamic.mipmaps_3d[mmi].write(); int block_count = probe_data->dynamic.mipmaps_s3tc[mmi].size(); - DVector<InstanceGIProbeData::CompBlockS3TC>::Read mmr = probe_data->dynamic.mipmaps_s3tc[mmi].read(); + PoolVector<InstanceGIProbeData::CompBlockS3TC>::Read mmr = probe_data->dynamic.mipmaps_s3tc[mmi].read(); for(int i=0;i<block_count;i++) { @@ -3368,7 +3368,7 @@ void VisualServerScene::render_probes() { for(int i=0;i<(int)probe->dynamic.mipmaps_3d.size();i++) { int mmsize = probe->dynamic.mipmaps_3d[i].size(); - DVector<uint8_t>::Read r = probe->dynamic.mipmaps_3d[i].read(); + PoolVector<uint8_t>::Read r = probe->dynamic.mipmaps_3d[i].read(); VSG::storage->gi_probe_dynamic_data_update(probe->dynamic.probe_data,0,probe->dynamic.grid_size[2]>>i,i,r.ptr()); } diff --git a/servers/visual/visual_server_scene.h b/servers/visual/visual_server_scene.h index 300db1b41..ac272467b 100644 --- a/servers/visual/visual_server_scene.h +++ b/servers/visual/visual_server_scene.h @@ -45,7 +45,7 @@ public: struct BakedLight { Rasterizer::BakedLightData data; - DVector<int> sampler; + PoolVector<int> sampler; AABB octree_aabb; Size2i octree_tex_size; Size2i light_tex_size; @@ -433,16 +433,16 @@ public: Map<RID,LightCache> light_cache; Map<RID,LightCache> light_cache_changes; - DVector<int> light_data; - DVector<LocalData> local_data; + PoolVector<int> light_data; + PoolVector<LocalData> local_data; Vector<Vector<uint32_t> > level_cell_lists; RID probe_data; bool enabled; int bake_dynamic_range; RasterizerStorage::GIProbeCompression compression; - Vector< DVector<uint8_t> > mipmaps_3d; - Vector< DVector<CompBlockS3TC> > mipmaps_s3tc; //for s3tc + Vector< PoolVector<uint8_t> > mipmaps_3d; + Vector< PoolVector<CompBlockS3TC> > mipmaps_s3tc; //for s3tc int updating_stage; |
