IT WORKS(somewhat)

This commit is contained in:
Dynamitos
2023-11-10 22:01:58 +01:00
parent c30619d07d
commit 9871fb921d
4 changed files with 12 additions and 0 deletions
+1
View File
@@ -82,6 +82,7 @@ IndexBuffer::IndexBuffer(QueueFamilyMapping mapping, uint64 size, Gfx::SeIndexTy
break;
case SE_INDEX_TYPE_UINT32:
numIndices = size / sizeof(uint32);
break;
default:
break;
}
+9
View File
@@ -16,6 +16,7 @@ void Mesh::save(ArchiveBuffer& buffer) const
{
Serialization::save(buffer, vertexData->getTypeName());
Serialization::save(buffer, vertexCount);
Serialization::save(buffer, indices);
Serialization::save(buffer, meshlets);
Serialization::save(buffer, referencedMaterial->getAssetIdentifier());
vertexData->serializeMesh(id, vertexCount, buffer);
@@ -27,6 +28,14 @@ void Mesh::load(ArchiveBuffer& buffer)
Serialization::load(buffer, typeName);
Serialization::load(buffer, vertexCount);
vertexData = VertexData::findByTypeName(typeName);
Serialization::load(buffer, indices);
indexBuffer = buffer.getGraphics()->createIndexBuffer(IndexBufferCreateInfo{
.sourceData = {
.size = sizeof(uint32) * indices.size(),
.data = (uint8*)indices.data(),
},
.indexType = Gfx::SeIndexType::SE_INDEX_TYPE_UINT32,
});
Serialization::load(buffer, meshlets);
std::string refId;
Serialization::load(buffer, refId);
+1
View File
@@ -16,6 +16,7 @@ public:
uint64 vertexCount;
Gfx::OIndexBuffer indexBuffer;
PMaterialInstanceAsset referencedMaterial;
Array<uint32> indices;
Array<Meshlet> meshlets;
void save(ArchiveBuffer& buffer) const;
void load(ArchiveBuffer& buffer);