diff options
| author | ladevieq <ladevie.quentin@gmail.com> | 2022-02-14 12:45:52 +0100 |
|---|---|---|
| committer | ladevieq <ladevie.quentin@gmail.com> | 2022-02-14 12:45:52 +0100 |
| commit | f582eb80d73a1d0b735503c8894636782406228c (patch) | |
| tree | c4eb2da956a5b8977c8796b5fe25725ff518a23f /src/scene.cpp | |
| parent | bbb45f80298dc4a41d31805416bad19363c8eff8 (diff) | |
High level buffer class
Diffstat (limited to 'src/scene.cpp')
| -rw-r--r-- | src/scene.cpp | 28 |
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]));
}
|
