Basic meshlet generation algorithm

This commit is contained in:
Dynamitos
2023-10-31 16:16:23 +01:00
parent 7773c55e1a
commit d53492d07b
15 changed files with 350 additions and 191 deletions
+16 -12
View File
@@ -6,26 +6,30 @@ namespace Seele
class StaticMeshVertexData : public VertexData
{
public:
StaticMeshVertexData(Gfx::PGraphics graphics);
StaticMeshVertexData();
virtual ~StaticMeshVertexData();
static StaticMeshVertexData* getInstance();
virtual MeshId allocateVertexData(uint64 numVertices) override;
void loadPositions(MeshId id, const Array<Vector>& data);
void loadTexCoords(MeshId id, const Array<Vector2>& data);
void loadNormals(MeshId id, const Array<Vector>& data);
void loadTangents(MeshId id, const Array<Vector>& data);
void loadBiTangents(MeshId id, const Array<Vector>& data);
void loadPositions(MeshId id, const Array<Vector>& data);
void loadTexCoords(MeshId id, const Array<Vector2>& data);
void loadNormals(MeshId id, const Array<Vector>& data);
void loadTangents(MeshId id, const Array<Vector>& data);
void loadBiTangents(MeshId id, const Array<Vector>& data);
virtual void init(Gfx::PGraphics graphics) override;
private:
virtual void updateBuffers() override;
Gfx::PShaderBuffer positions;
Array<Vector> positionData;
Array<Vector> positionData;
Gfx::PShaderBuffer texCoords;
Array<Vector2> texCoordsData;
Array<Vector2> texCoordsData;
Gfx::PShaderBuffer normals;
Array<Vector> normalData;
Array<Vector> normalData;
Gfx::PShaderBuffer tangents;
Array<Vector> tangentData;
Array<Vector> tangentData;
Gfx::PShaderBuffer biTangents;
Array<Vector> biTangentData;
Array<Vector> biTangentData;
Map<MeshId, uint64_t> meshOffsets;
uint64 head;
uint64 head;
uint64 verticesAllocated;
};
}