Implement Set, Refactor Map into Tree

This commit is contained in:
Dynamitos
2023-12-22 19:46:07 +01:00
parent ac1d11402e
commit c8f99bb64d
20 changed files with 674 additions and 603 deletions
@@ -157,7 +157,6 @@ void BasePass::render()
command->bindDescriptor(descriptorSets);
if (graphics->supportMeshShading())
{
std::cout << "Num Meshes: " << instance.meshes.size() << std::endl;
command->dispatch(instance.meshes.size(), 1, 1);
}
else
+3 -3
View File
@@ -113,10 +113,10 @@ void StaticMeshVertexData::deserializeMesh(MeshId id, ArchiveBuffer& buffer)
loadColors(id, col);
}
void StaticMeshVertexData::init(Gfx::PGraphics graphics)
void StaticMeshVertexData::init(Gfx::PGraphics _graphics)
{
VertexData::init(graphics);
descriptorLayout = graphics->createDescriptorLayout("StaticMeshDescriptorLayout");
VertexData::init(_graphics);
descriptorLayout = _graphics->createDescriptorLayout("StaticMeshDescriptorLayout");
descriptorLayout->addDescriptorBinding(0, Gfx::SE_DESCRIPTOR_TYPE_STORAGE_BUFFER);
descriptorLayout->addDescriptorBinding(1, Gfx::SE_DESCRIPTOR_TYPE_STORAGE_BUFFER);
descriptorLayout->addDescriptorBinding(2, Gfx::SE_DESCRIPTOR_TYPE_STORAGE_BUFFER);
+7 -1
View File
@@ -6,7 +6,7 @@
#include "Graphics/Descriptor.h"
#include "Component/Mesh.h"
#include "Graphics/Shader.h"
#include <set>
#include "Containers/Set.h"
using namespace Seele;
@@ -248,6 +248,12 @@ VertexData::VertexData()
void Meshlet::build(const Array<uint32>& indices, Array<Meshlet>& meshlets)
{
Map<uint32, Set<uint32>> connectivity;
for (uint32 i = 0; i < indices.size(); i+=3)
{
connectivity[indices[i]].insert(indices[i + 1]);
connectivity[indices[i]].insert(indices[i + 2]);
}
Meshlet current = {
.numVertices = 0,
.numPrimitives = 0,