feat: Step 4 load .obj and glTF models into ECS

- Add Vertex struct and Mesh ECS component (vertices + indices).
- Add Vulkan IndexBuffer for indexed draws.
- Add MeshRenderer that draws Mesh + Transform entities with vkCmdDrawIndexed.
- Add minimal .obj loader (positions, faces) and glTF/glTF-binary loader via SharpGLTF.Core.
- Rewrite shaders to 3D position + color; recompile to SPIR-V.
- Update VulkanPipeline for new vertex format.
- Ship a sample Content/cube.obj and wire Program.cs to load it.
- Remove TriangleRenderer (replaced by MeshRenderer).
This commit is contained in:
emil28092005
2026-06-16 19:15:20 +03:00
parent 608c3c24a8
commit 05703f820f
14 changed files with 475 additions and 73 deletions
+19
View File
@@ -0,0 +1,19 @@
using System.Numerics;
namespace Engine.Core;
/// <summary>
/// A simple 3D vertex with position and color.
/// Layout matches the Vulkan vertex input description.
/// </summary>
public struct Vertex
{
public Vector3 Position;
public Vector3 Color;
public Vertex(Vector3 position, Vector3 color)
{
Position = position;
Color = color;
}
}