From 73cbac0f66a8c236ba4f59d3265b2066f3869dc7 Mon Sep 17 00:00:00 2001 From: daniel Date: Mon, 29 Dec 2025 14:36:19 +0100 Subject: [PATCH] made some adaptations and fixed some bugs --- src/EngineSharp.Core/EngineSharp.Core/ECS/Entity.cs | 2 +- src/EngineSharp.Core/EngineSharp.Core/OpenGLEngine.cs | 2 +- .../EngineSharp.Core/Rendering/MeshRenderer.cs | 4 ++-- src/EngineSharp/assets/shaders/sphere.frag | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/EngineSharp.Core/EngineSharp.Core/ECS/Entity.cs b/src/EngineSharp.Core/EngineSharp.Core/ECS/Entity.cs index 331a011..529487a 100644 --- a/src/EngineSharp.Core/EngineSharp.Core/ECS/Entity.cs +++ b/src/EngineSharp.Core/EngineSharp.Core/ECS/Entity.cs @@ -67,7 +67,7 @@ public class Entity internal void RenderComponents(GL gl, Matrix4X4 projectionMatrix, Matrix4X4 viewMatrix) { // TODO: retrieve the data component "Transform" which every Entity must have (although currently there is no transform component) - var modelMatrix = Matrix4X4.CreateTranslation(0, 0, -10f); + var modelMatrix = Matrix4X4.Identity * Matrix4X4.CreateFromQuaternion(Quaternion.Identity) * Matrix4X4.CreateScale(2.0f) * Matrix4X4.CreateTranslation(0, 0, 0f); foreach (var components in _renderComponents) { diff --git a/src/EngineSharp.Core/EngineSharp.Core/OpenGLEngine.cs b/src/EngineSharp.Core/EngineSharp.Core/OpenGLEngine.cs index 5fdea16..63ac0ac 100644 --- a/src/EngineSharp.Core/EngineSharp.Core/OpenGLEngine.cs +++ b/src/EngineSharp.Core/EngineSharp.Core/OpenGLEngine.cs @@ -96,7 +96,7 @@ internal class OpenGLEngine : Engine _gl.ClearColor(Color.Black); _gl.Enable(EnableCap.DepthTest); - _camera = new PerspectiveCamera(Vector3D.Zero, _window.FramebufferSize); + _camera = new PerspectiveCamera(new Vector3D(0.0f, 0.0f, 3.0f), _window.FramebufferSize); InitialiseShaders(Directory.GetFiles("./assets/shaders", "*.vert")); SetCurrentScene(_defaultSceneName); diff --git a/src/EngineSharp.Core/EngineSharp.Core/Rendering/MeshRenderer.cs b/src/EngineSharp.Core/EngineSharp.Core/Rendering/MeshRenderer.cs index 54f3ce1..ce830be 100644 --- a/src/EngineSharp.Core/EngineSharp.Core/Rendering/MeshRenderer.cs +++ b/src/EngineSharp.Core/EngineSharp.Core/Rendering/MeshRenderer.cs @@ -14,6 +14,7 @@ public class MeshRenderer : RenderComponent internal override void Render(GL gl, Matrix4X4 projectionMatrix, Matrix4X4 viewMatrix, Matrix4X4 modelMatrix) { GenerateRenderableMesh(gl, projectionMatrix, viewMatrix, modelMatrix); + Mesh.PrepareForRendering(projectionMatrix, viewMatrix, modelMatrix); gl.DrawElements(PrimitiveType.Triangles, (uint)Mesh.Indices.Length, DrawElementsType.UnsignedInt, 0); } @@ -25,8 +26,7 @@ public class MeshRenderer : RenderComponent if(vbo == 0) { vbo = gl.GenBuffer(); } if(ebo == 0) { ebo = gl.GenBuffer(); } - Mesh.PrepareForRendering(projectionMatrix, viewMatrix, modelMatrix); - var meshData = new float[Mesh.Vertices.Length * 3 + Mesh.Indices.Length * 3]; + var meshData = new float[Mesh.Vertices.Length * 3 + Mesh.Normals.Length * 3]; for (int i = 0, insert = 0; i < Mesh.Vertices.Length; i++, insert += 6) { meshData[insert] = Mesh.Vertices[i].X; diff --git a/src/EngineSharp/assets/shaders/sphere.frag b/src/EngineSharp/assets/shaders/sphere.frag index 444e11b..d2e242d 100644 --- a/src/EngineSharp/assets/shaders/sphere.frag +++ b/src/EngineSharp/assets/shaders/sphere.frag @@ -1,6 +1,6 @@ #version 330 core -out vec4 FragColour; +out vec4 FragColor; in vec3 FragPos; in vec3 Normal; @@ -9,5 +9,5 @@ in vec3 Normal; void main() { vec3 col = vec3(1.0, 0.5, 0.2) * FragPos; - FragColour = vec4(col, 1); + FragColor = vec4(1); } \ No newline at end of file