Update GenericMesh

This commit is contained in:
miku-666
2024-02-27 19:06:56 +01:00
parent 86d3fbdde9
commit 19976e0388
2 changed files with 17 additions and 13 deletions

View File

@@ -51,6 +51,15 @@ namespace PckStudio.Rendering
_layout = new T().GetLayout();
}
internal void Initialize()
{
vertexArray = new VertexArray();
vertexBuffer = new VertexBuffer();
indexBuffer = new IndexBuffer();
vertexArray.AddBuffer(vertexBuffer, _layout);
drawContext = new DrawContext(vertexArray, indexBuffer, drawType);
}
protected void ResetBuffers()
{
indicesOffset = 0;
@@ -60,18 +69,8 @@ namespace PckStudio.Rendering
protected void Submit()
{
indexBuffer?.Dispose();
vertexBuffer.Dispose();
vertexArray ??= new VertexArray();
var vertexData = vertices.ToArray();
vertexBuffer = new VertexBuffer(vertexData.Length * SizeInBytes);
vertexBuffer.SetData(vertexData);
vertexArray.AddBuffer(vertexBuffer, _layout);
indexBuffer = IndexBuffer.Create(indices.ToArray());
drawContext = new DrawContext(vertexArray, indexBuffer, drawType);
vertexBuffer.SetData(vertices.ToArray());
indexBuffer.SetIndicies(indices.ToArray());
}
public void Draw(ShaderProgram shader)

View File

@@ -295,8 +295,13 @@ namespace PckStudio.Rendering
MakeCurrent();
InitializeShaders();
InitializeFramebuffer();
UploadMeshData();
Renderer.SetClearColor(BackColor);
foreach (var item in meshStorage)
{
item.Value.Initialize();
}
UploadMeshData();
GLErrorCheck();
initialized = true;
}