- 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).
20 lines
377 B
C#
20 lines
377 B
C#
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;
|
|
}
|
|
}
|