|
@@ -418,13 +418,13 @@ void RenderWorld::MeshManager::allocate(u32 num)
|
|
|
new_data.first_hidden = _data.first_hidden;
|
|
new_data.first_hidden = _data.first_hidden;
|
|
|
|
|
|
|
|
new_data.unit = (UnitId* )new_data.buffer;
|
|
new_data.unit = (UnitId* )new_data.buffer;
|
|
|
- new_data.resource = (const MeshResource**)memory::align_top(new_data.unit + num, alignof(*new_data.resource));
|
|
|
|
|
- new_data.geometry = (const MeshGeometry**)memory::align_top(new_data.resource + num, alignof(*new_data.geometry));
|
|
|
|
|
- new_data.mesh = (MeshData* )memory::align_top(new_data.geometry + num, alignof(*new_data.mesh));
|
|
|
|
|
- new_data.material = (StringId64* )memory::align_top(new_data.mesh + num, alignof(*new_data.material));
|
|
|
|
|
- new_data.world = (Matrix4x4* )memory::align_top(new_data.material + num, alignof(*new_data.world));
|
|
|
|
|
- new_data.obb = (OBB* )memory::align_top(new_data.world + num, alignof(*new_data.obb));
|
|
|
|
|
- new_data.next_instance = (MeshInstance* )memory::align_top(new_data.obb + num, alignof(*new_data.next_instance));
|
|
|
|
|
|
|
+ new_data.resource = (const MeshResource**)memory::align_top(new_data.unit + num, alignof(const MeshResource*));
|
|
|
|
|
+ new_data.geometry = (const MeshGeometry**)memory::align_top(new_data.resource + num, alignof(const MeshGeometry*));
|
|
|
|
|
+ new_data.mesh = (MeshData* )memory::align_top(new_data.geometry + num, alignof(MeshData ));
|
|
|
|
|
+ new_data.material = (StringId64* )memory::align_top(new_data.mesh + num, alignof(StringId64 ));
|
|
|
|
|
+ new_data.world = (Matrix4x4* )memory::align_top(new_data.material + num, alignof(Matrix4x4 ));
|
|
|
|
|
+ new_data.obb = (OBB* )memory::align_top(new_data.world + num, alignof(OBB ));
|
|
|
|
|
+ new_data.next_instance = (MeshInstance* )memory::align_top(new_data.obb + num, alignof(MeshInstance ));
|
|
|
|
|
|
|
|
memcpy(new_data.unit, _data.unit, _data.size * sizeof(UnitId));
|
|
memcpy(new_data.unit, _data.unit, _data.size * sizeof(UnitId));
|
|
|
memcpy(new_data.resource, _data.resource, _data.size * sizeof(MeshResource*));
|
|
memcpy(new_data.resource, _data.resource, _data.size * sizeof(MeshResource*));
|
|
@@ -617,13 +617,13 @@ void RenderWorld::SpriteManager::allocate(u32 num)
|
|
|
new_data.first_hidden = _data.first_hidden;
|
|
new_data.first_hidden = _data.first_hidden;
|
|
|
|
|
|
|
|
new_data.unit = (UnitId* )new_data.buffer;
|
|
new_data.unit = (UnitId* )new_data.buffer;
|
|
|
- new_data.resource = (const SpriteResource**)memory::align_top(new_data.unit + num, alignof(*new_data.resource));
|
|
|
|
|
- new_data.sprite = (SpriteData* )memory::align_top(new_data.resource + num, alignof(*new_data.sprite));
|
|
|
|
|
- new_data.material = (StringId64* )memory::align_top(new_data.sprite + num, alignof(*new_data.material));
|
|
|
|
|
- new_data.frame = (u32* )memory::align_top(new_data.material + num, alignof(*new_data.frame));
|
|
|
|
|
- new_data.world = (Matrix4x4* )memory::align_top(new_data.frame + num, alignof(*new_data.world));
|
|
|
|
|
- new_data.aabb = (AABB* )memory::align_top(new_data.world + num, alignof(*new_data.aabb));
|
|
|
|
|
- new_data.next_instance = (SpriteInstance* )memory::align_top(new_data.aabb + num, alignof(*new_data.next_instance));
|
|
|
|
|
|
|
+ new_data.resource = (const SpriteResource**)memory::align_top(new_data.unit + num, alignof(const SpriteResource*));
|
|
|
|
|
+ new_data.sprite = (SpriteData* )memory::align_top(new_data.resource + num, alignof(SpriteData ));
|
|
|
|
|
+ new_data.material = (StringId64* )memory::align_top(new_data.sprite + num, alignof(StringId64 ));
|
|
|
|
|
+ new_data.frame = (u32* )memory::align_top(new_data.material + num, alignof(u32 ));
|
|
|
|
|
+ new_data.world = (Matrix4x4* )memory::align_top(new_data.frame + num, alignof(Matrix4x4 ));
|
|
|
|
|
+ new_data.aabb = (AABB* )memory::align_top(new_data.world + num, alignof(AABB ));
|
|
|
|
|
+ new_data.next_instance = (SpriteInstance* )memory::align_top(new_data.aabb + num, alignof(SpriteInstance ));
|
|
|
|
|
|
|
|
memcpy(new_data.unit, _data.unit, _data.size * sizeof(UnitId));
|
|
memcpy(new_data.unit, _data.unit, _data.size * sizeof(UnitId));
|
|
|
memcpy(new_data.resource, _data.resource, _data.size * sizeof(SpriteResource**));
|
|
memcpy(new_data.resource, _data.resource, _data.size * sizeof(SpriteResource**));
|
|
@@ -813,12 +813,12 @@ void RenderWorld::LightManager::allocate(u32 num)
|
|
|
new_data.buffer = _allocator->allocate(bytes);
|
|
new_data.buffer = _allocator->allocate(bytes);
|
|
|
|
|
|
|
|
new_data.unit = (UnitId* )new_data.buffer;
|
|
new_data.unit = (UnitId* )new_data.buffer;
|
|
|
- new_data.world = (Matrix4x4*)memory::align_top(new_data.unit + num, alignof(*new_data.world));
|
|
|
|
|
- new_data.range = (f32* )memory::align_top(new_data.world + num, alignof(*new_data.range));
|
|
|
|
|
- new_data.intensity = (f32* )memory::align_top(new_data.range + num, alignof(*new_data.intensity));
|
|
|
|
|
- new_data.spot_angle = (f32* )memory::align_top(new_data.intensity + num, alignof(*new_data.spot_angle));
|
|
|
|
|
- new_data.color = (Color4* )memory::align_top(new_data.spot_angle + num, alignof(*new_data.color));
|
|
|
|
|
- new_data.type = (u32* )memory::align_top(new_data.color + num, alignof(*new_data.type));
|
|
|
|
|
|
|
+ new_data.world = (Matrix4x4*)memory::align_top(new_data.unit + num, alignof(Matrix4x4));
|
|
|
|
|
+ new_data.range = (f32* )memory::align_top(new_data.world + num, alignof(f32 ));
|
|
|
|
|
+ new_data.intensity = (f32* )memory::align_top(new_data.range + num, alignof(f32 ));
|
|
|
|
|
+ new_data.spot_angle = (f32* )memory::align_top(new_data.intensity + num, alignof(f32 ));
|
|
|
|
|
+ new_data.color = (Color4* )memory::align_top(new_data.spot_angle + num, alignof(Color4 ));
|
|
|
|
|
+ new_data.type = (u32* )memory::align_top(new_data.color + num, alignof(u32 ));
|
|
|
|
|
|
|
|
memcpy(new_data.unit, _data.unit, _data.size * sizeof(UnitId));
|
|
memcpy(new_data.unit, _data.unit, _data.size * sizeof(UnitId));
|
|
|
memcpy(new_data.world, _data.world, _data.size * sizeof(Matrix4x4));
|
|
memcpy(new_data.world, _data.world, _data.size * sizeof(Matrix4x4));
|