VertexData refactoring

This commit is contained in:
Dynamitos
2025-04-08 23:18:50 +02:00
parent e355f3e703
commit 40debf8580
4 changed files with 6 additions and 15 deletions
+1 -11
View File
@@ -7,9 +7,7 @@
using namespace Seele;
extern List<VertexData*> vertexDataList;
StaticMeshVertexData::StaticMeshVertexData() { vertexDataList.add(this); }
StaticMeshVertexData::StaticMeshVertexData() { VertexData::addVertexDataInstance(this); }
StaticMeshVertexData::~StaticMeshVertexData() {}
@@ -168,14 +166,6 @@ void StaticMeshVertexData::destroy() {
descriptorLayout = nullptr;
}
void StaticMeshVertexData::bindBuffers(Gfx::PRenderCommand) {
// TODO: for legacy vertex buffer binding
}
Gfx::PDescriptorLayout StaticMeshVertexData::getVertexDataLayout() { return descriptorLayout; }
Gfx::PDescriptorSet StaticMeshVertexData::getVertexDataSet() { return descriptorSet; }
void StaticMeshVertexData::resizeBuffers() {
posData.resize(verticesAllocated);
norData.resize(verticesAllocated);
+2 -3
View File
@@ -28,9 +28,8 @@ class StaticMeshVertexData : public VertexData {
virtual uint64 deserializeMesh(MeshId id, ArchiveBuffer& buffer) override;
virtual void init(Gfx::PGraphics graphics) override;
virtual void destroy() override;
virtual void bindBuffers(Gfx::PRenderCommand command) override;
virtual Gfx::PDescriptorLayout getVertexDataLayout() override;
virtual Gfx::PDescriptorSet getVertexDataSet() override;
virtual Gfx::PDescriptorLayout getVertexDataLayout() override { return descriptorLayout; }
virtual Gfx::PDescriptorSet getVertexDataSet() override { return descriptorSet; }
virtual std::string getTypeName() const override { return "StaticMeshVertexData"; }
virtual Gfx::PShaderBuffer getPositionBuffer() const override { return positions; }
+2
View File
@@ -268,6 +268,8 @@ uint64 VertexData::deserializeMesh(MeshId id, ArchiveBuffer& buffer) {
List<VertexData*> vertexDataList;
void VertexData::addVertexDataInstance(VertexData* vertexData) { vertexDataList.add(vertexData); }
List<VertexData*> VertexData::getList() { return vertexDataList; }
VertexData* VertexData::findByTypeName(std::string name) {
+1 -1
View File
@@ -64,7 +64,6 @@ class VertexData {
uint64 getMeshVertexCount(MeshId id) { return meshVertexCounts[id]; }
virtual void serializeMesh(MeshId id, ArchiveBuffer& buffer);
virtual uint64 deserializeMesh(MeshId id, ArchiveBuffer& buffer);
virtual void bindBuffers(Gfx::PRenderCommand command) = 0;
virtual Gfx::PDescriptorLayout getVertexDataLayout() = 0;
virtual Gfx::PDescriptorSet getVertexDataSet() = 0;
virtual std::string getTypeName() const = 0;
@@ -80,6 +79,7 @@ class VertexData {
void registerBottomLevelAccelerationStructure(Gfx::PBottomLevelAS blas) { dataToBuild.add(blas); }
uint32 getIndicesOffset(uint32 meshletIndex) { return meshlets[meshletIndex].indicesOffset; }
uint64 getNumInstances() const { return instanceData.size(); }
static void addVertexDataInstance(VertexData* vertexData);
static List<VertexData*> getList();
static VertexData* findByTypeName(std::string name);
virtual void init(Gfx::PGraphics graphics);