aboutsummaryrefslogtreecommitdiffstats
path: root/src/scene.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/scene.cpp')
-rw-r--r--src/scene.cpp28
1 files changed, 14 insertions, 14 deletions
diff --git a/src/scene.cpp b/src/scene.cpp
index f538292..44c8f8e 100644
--- a/src/scene.cpp
+++ b/src/scene.cpp
@@ -123,24 +123,24 @@ scene::scene(camera cam, uint32_t width, uint32_t height, vkrenderer &renderer)
bvh builder(triangles, packed_nodes);
// bvh builder(spheres, packed_nodes);
- scene_buffer = renderer.api.create_buffer(sizeof(meta), VK_BUFFER_USAGE_STORAGE_BUFFER_BIT, VMA_MEMORY_USAGE_CPU_TO_GPU);
- std::memcpy(scene_buffer.alloc_info.pMappedData, &meta, sizeof(meta));
+ scene_buffer = renderer.create_buffer(sizeof(meta), false);
+ std::memcpy(scene_buffer->ptr(), &meta, sizeof(meta));
- indices_buffer = renderer.api.create_buffer(indices.size() * sizeof(indices[0]), VK_BUFFER_USAGE_STORAGE_BUFFER_BIT, VMA_MEMORY_USAGE_CPU_TO_GPU);
- std::memcpy(indices_buffer.alloc_info.pMappedData, indices.data(), indices.size() * sizeof(indices[0]));
+ indices_buffer = renderer.create_buffer(indices.size() * sizeof(indices[0]), true);
+ std::memcpy(indices_buffer->ptr(), indices.data(), indices.size() * sizeof(indices[0]));
- positions_buffer = renderer.api.create_buffer(positions.size() * sizeof(positions[0]), VK_BUFFER_USAGE_STORAGE_BUFFER_BIT, VMA_MEMORY_USAGE_CPU_TO_GPU);
- std::memcpy(positions_buffer.alloc_info.pMappedData, positions.data(), positions.size() * sizeof(positions[0]));
+ positions_buffer = renderer.create_buffer(positions.size() * sizeof(positions[0]), true);
+ std::memcpy(positions_buffer->ptr(), positions.data(), positions.size() * sizeof(positions[0]));
- normals_buffer = renderer.api.create_buffer(normals.size() * sizeof(normals[0]), VK_BUFFER_USAGE_STORAGE_BUFFER_BIT, VMA_MEMORY_USAGE_CPU_TO_GPU);
- std::memcpy(normals_buffer.alloc_info.pMappedData, normals.data(), normals.size() * sizeof(normals[0]));
+ normals_buffer = renderer.create_buffer(normals.size() * sizeof(normals[0]), true);
+ std::memcpy(normals_buffer->ptr(), normals.data(), normals.size() * sizeof(normals[0]));
- uvs_buffer = renderer.api.create_buffer(uvs.size() * sizeof(uvs[0]), VK_BUFFER_USAGE_STORAGE_BUFFER_BIT, VMA_MEMORY_USAGE_CPU_TO_GPU);
- std::memcpy(uvs_buffer.alloc_info.pMappedData, uvs.data(), uvs.size() * sizeof(uvs[0]));
+ uvs_buffer = renderer.create_buffer(uvs.size() * sizeof(uvs[0]), true);
+ std::memcpy(uvs_buffer->ptr(), uvs.data(), uvs.size() * sizeof(uvs[0]));
- bvh_buffer = renderer.api.create_buffer(packed_nodes.size() * sizeof(packed_nodes[0]), VK_BUFFER_USAGE_STORAGE_BUFFER_BIT, VMA_MEMORY_USAGE_CPU_TO_GPU);
- std::memcpy(bvh_buffer.alloc_info.pMappedData, packed_nodes.data(), packed_nodes.size() * sizeof(packed_nodes[0]));
+ bvh_buffer = renderer.create_buffer(packed_nodes.size() * sizeof(packed_nodes[0]), true);
+ std::memcpy(bvh_buffer->ptr(), packed_nodes.data(), packed_nodes.size() * sizeof(packed_nodes[0]));
- materials_buffer = renderer.api.create_buffer(materials.size() * sizeof(materials[0]), VK_BUFFER_USAGE_STORAGE_BUFFER_BIT, VMA_MEMORY_USAGE_CPU_TO_GPU);
- std::memcpy(materials_buffer.alloc_info.pMappedData, materials.data(), materials.size() * sizeof(materials[0]));
+ materials_buffer = renderer.create_buffer(materials.size() * sizeof(materials[0]), true);
+ std::memcpy(materials_buffer->ptr(), materials.data(), materials.size() * sizeof(materials[0]));
}