From dcf2a85208a1125e2fe18b280d9c523b2cffe8e3 Mon Sep 17 00:00:00 2001 From: Riyyi Date: Sun, 11 Aug 2024 22:05:29 +0200 Subject: [PATCH] Asset+Component+Render: Render quads in the world as 3D objects --- .../glsl/{batch-quad.frag => batch-2d.frag} | 0 .../glsl/{batch-quad.vert => batch-2d.vert} | 9 ++---- assets/glsl/batch-3d.frag | 3 +- assets/glsl/batch-3d.vert | 7 +++-- assets/model/quad.blend | Bin 0 -> 711752 bytes assets/model/quad.obj | 15 ++++++++++ assets/scene/scene1.json | 15 ++++++---- src/inferno/component/model-component.cpp | 4 +++ src/inferno/component/model-component.h | 1 + src/inferno/render/renderer.cpp | 7 +++-- src/inferno/render/renderer.h | 27 +++++++++--------- src/inferno/system/rendersystem.cpp | 1 + 12 files changed, 59 insertions(+), 30 deletions(-) rename assets/glsl/{batch-quad.frag => batch-2d.frag} (100%) rename assets/glsl/{batch-quad.vert => batch-2d.vert} (65%) create mode 100644 assets/model/quad.blend create mode 100644 assets/model/quad.obj diff --git a/assets/glsl/batch-quad.frag b/assets/glsl/batch-2d.frag similarity index 100% rename from assets/glsl/batch-quad.frag rename to assets/glsl/batch-2d.frag diff --git a/assets/glsl/batch-quad.vert b/assets/glsl/batch-2d.vert similarity index 65% rename from assets/glsl/batch-quad.vert rename to assets/glsl/batch-2d.vert index 840a032..4a6ab7f 100644 --- a/assets/glsl/batch-quad.vert +++ b/assets/glsl/batch-2d.vert @@ -9,16 +9,11 @@ out vec4 v_color; out vec2 v_textureCoordinates; out flat uint v_textureIndex; -layout(std140, binding = 0) uniform Camera -{ - mat4 u_projectionView; -}; - void main() { v_color = a_color; v_textureCoordinates = a_textureCoordinates; v_textureIndex = a_textureIndex; - // Vclip = Camera projection * Camera view * Model transform * Vlocal - gl_Position = u_projectionView * vec4(a_position, 1.0f); + // Vclip = Model transform * Vlocal + gl_Position = vec4(a_position, 1.0f); } diff --git a/assets/glsl/batch-3d.frag b/assets/glsl/batch-3d.frag index a957283..1a3c725 100644 --- a/assets/glsl/batch-3d.frag +++ b/assets/glsl/batch-3d.frag @@ -3,6 +3,7 @@ layout(location = 0) out vec4 color; in vec3 v_normal; +in vec4 v_color; in vec2 v_textureCoordinates; in flat uint v_textureIndex; @@ -10,7 +11,7 @@ uniform sampler2D u_textures[32]; void main() { - vec4 textureColor = vec4(1.0f); + vec4 textureColor = v_color; switch(v_textureIndex) { case 0: break; // Texture unit 0 is reserved for no texture case 1: textureColor *= texture(u_textures[1], v_textureCoordinates); break; diff --git a/assets/glsl/batch-3d.vert b/assets/glsl/batch-3d.vert index 1af2246..d33fc16 100644 --- a/assets/glsl/batch-3d.vert +++ b/assets/glsl/batch-3d.vert @@ -2,10 +2,12 @@ layout(location = 0) in vec3 a_position; layout(location = 1) in vec3 a_normal; -layout(location = 2) in vec2 a_textureCoordinates; -layout(location = 3) in uint a_textureIndex; +layout(location = 2) in vec4 a_color; +layout(location = 3) in vec2 a_textureCoordinates; +layout(location = 4) in uint a_textureIndex; out vec3 v_normal; +out vec4 v_color; out vec2 v_textureCoordinates; out flat uint v_textureIndex; @@ -17,6 +19,7 @@ layout(std140, binding = 0) uniform Camera void main() { v_normal = a_normal; + v_color = a_color; v_textureCoordinates = a_textureCoordinates; v_textureIndex = a_textureIndex; // Vclip = Camera projection * Camera view * Model transform * Vlocal diff --git a/assets/model/quad.blend b/assets/model/quad.blend new file mode 100644 index 0000000000000000000000000000000000000000..6b4e034f2ab348f538846dc3e40d998d16170832 GIT binary patch literal 711752 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 literal 0 HcmV?d00001 diff --git a/assets/model/quad.obj b/assets/model/quad.obj new file mode 100644 index 0000000..f385366 --- /dev/null +++ b/assets/model/quad.obj @@ -0,0 +1,15 @@ +# Blender 4.2.0 +# www.blender.org +usemtl (null) +o Plane +v -1.000000 -1.000000 -0.000000 +v 1.000000 -1.000000 -0.000000 +v -1.000000 1.000000 0.000000 +v 1.000000 1.000000 0.000000 +vn -0.0000 -0.0000 1.0000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +s 0 +f 1/1/1 2/2/1 4/3/1 3/4/1 diff --git a/assets/scene/scene1.json b/assets/scene/scene1.json index e7016b2..94ce56d 100644 --- a/assets/scene/scene1.json +++ b/assets/scene/scene1.json @@ -35,8 +35,9 @@ "rotate": [ 0.0, 0.0, 0.0 ], "scale": [ 1.0, 1.0, 1.0 ] }, - "sprite": { + "model": { "color": [ 1.0, 1.0, 1.0, 1.0 ], + "model": "assets/model/quad.obj", "texture": "assets/gfx/test.png" } }, @@ -48,8 +49,9 @@ "rotate": [ 0.0, 0.0, 0.0 ], "scale": [ 1.0, 1.0, 1.0 ] }, - "sprite": { + "model": { "color": [ 0.5, 0.6, 0.8, 1.0 ], + "model": "assets/model/quad.obj", "texture": "assets/gfx/test.png" } }, @@ -61,8 +63,9 @@ "rotate": [ 0.0, 0.0, -20.0 ], "scale": [ 1.0, 1.0, 1.0 ] }, - "sprite": { + "model": { "color": [ 1.0, 1.0, 1.0, 1.0 ], + "model": "assets/model/quad.obj", "texture": "assets/gfx/test-inverted.png" }, "children": [ @@ -74,8 +77,9 @@ "rotate": [ 0.0, 0.0, 0.0 ], "scale": [ 0.5, 0.5, 1.0 ] }, - "sprite": { + "model": { "color": [ 1.0, 1.0, 1.0, 1.0 ], + "model": "assets/model/quad.obj", "texture": "assets/gfx/test-inverted.png" }, "children": [ @@ -87,8 +91,9 @@ "rotate": [ 0.0, 0.0, -20.0 ], "scale": [ 0.5, 0.5, 1.0 ] }, - "sprite": { + "model": { "color": [ 1.0, 1.0, 1.0, 1.0 ], + "model": "assets/model/quad.obj", "texture": "assets/gfx/test-inverted.png" } } diff --git a/src/inferno/component/model-component.cpp b/src/inferno/component/model-component.cpp index 04d593d..bb6b44f 100644 --- a/src/inferno/component/model-component.cpp +++ b/src/inferno/component/model-component.cpp @@ -8,6 +8,7 @@ #include "inferno/asset/asset-manager.h" #include "inferno/asset/model.h" #include "inferno/asset/texture.h" +#include "inferno/component/spritecomponent.h" // TODO: Move glm::x toJson/fromJson to separate file namespace Inferno { @@ -15,6 +16,9 @@ void fromJson(const ruc::Json& json, ModelComponent& value) { VERIFY(json.type() == ruc::Json::Type::Object); + if (json.exists("color")) { + json.at("color").getTo(value.color); + } if (json.exists("model") && json.at("model").type() == ruc::Json::Type::String) { value.model = AssetManager::the().load(json.at("model").asString()); } diff --git a/src/inferno/component/model-component.h b/src/inferno/component/model-component.h index b7f1605..afbda33 100644 --- a/src/inferno/component/model-component.h +++ b/src/inferno/component/model-component.h @@ -16,6 +16,7 @@ namespace Inferno { struct ModelComponent { + glm::vec4 color { 1.0f }; std::shared_ptr model; std::shared_ptr texture; }; diff --git a/src/inferno/render/renderer.cpp b/src/inferno/render/renderer.cpp index 1625347..bac6ea0 100644 --- a/src/inferno/render/renderer.cpp +++ b/src/inferno/render/renderer.cpp @@ -8,6 +8,7 @@ #include #include "glad/glad.h" +#include "glm/ext/vector_float4.hpp" // glm::vec4 #include "ruc/format/log.h" #include "inferno/asset/asset-manager.h" @@ -274,7 +275,7 @@ void Renderer2D::drawQuad(const TransformComponent& transform, glm::mat4 color, void Renderer2D::loadShader() { - m_shader = AssetManager::the().load("assets/glsl/batch-quad"); + m_shader = AssetManager::the().load("assets/glsl/batch-2d"); } // ----------------------------------------- @@ -487,6 +488,7 @@ Renderer3D::Renderer3D(s) vertexBuffer->setLayout({ { BufferElementType::Vec3, "a_position" }, { BufferElementType::Vec3, "a_normal" }, + { BufferElementType::Vec4, "a_color" }, { BufferElementType::Vec2, "a_textureCoordinates" }, { BufferElementType::Uint, "a_textureIndex" }, }); @@ -495,7 +497,7 @@ Renderer3D::Renderer3D(s) ruc::info("Renderer3D initialized"); } -void Renderer3D::drawModel(std::span vertices, std::span elements, const TransformComponent& transform, std::shared_ptr texture) +void Renderer3D::drawModel(std::span vertices, std::span elements, const TransformComponent& transform, glm::vec4 color, std::shared_ptr texture) { // ruc::error("drawModel"); @@ -513,6 +515,7 @@ void Renderer3D::drawModel(std::span vertices, std::spanposition = transform.transform * glm::vec4(vertex.position, 1.0f); m_vertexBufferPtr->normal = vertex.normal; + m_vertexBufferPtr->color = color; m_vertexBufferPtr->textureCoordinates = vertex.textureCoordinates; m_vertexBufferPtr->textureIndex = textureUnitIndex; m_vertexBufferPtr++; diff --git a/src/inferno/render/renderer.h b/src/inferno/render/renderer.h index 022741f..a2dd0be 100644 --- a/src/inferno/render/renderer.h +++ b/src/inferno/render/renderer.h @@ -24,16 +24,16 @@ class TransformComponent; class VertexArray; struct QuadVertex { - glm::vec3 position { 0.0f, 0.0f, 0.0f }; - glm::vec4 color { 1.0f, 1.0f, 1.0f, 1.0f }; - glm::vec2 textureCoordinates { 0.0f, 0.0f }; - uint32_t textureIndex = 0; + glm::vec3 position { 0.0f }; + glm::vec4 color { 1.0f }; + glm::vec2 textureCoordinates { 0.0f }; + uint32_t textureIndex { 0 }; }; struct CubemapVertex { - glm::vec3 position { 0.0f, 0.0f, 0.0f }; - glm::vec4 color { 1.0f, 1.0f, 1.0f, 1.0f }; - uint32_t textureIndex = 0; + glm::vec3 position { 0.0f }; + glm::vec4 color { 1.0f }; + uint32_t textureIndex { 0 }; }; struct SymbolVertex { @@ -45,16 +45,17 @@ struct SymbolVertex { // Outline float borderWidth = 0.7f; float borderEdge = 0.1f; - glm::vec4 borderColor { 1.0f, 1.0f, 1.0f, 1.0f }; + glm::vec4 borderColor { 1.0f }; // Dropshadow float offset = 0.0f; }; struct Vertex { - glm::vec3 position { 0.0f, 0.0f, 0.0f }; - glm::vec3 normal { 1.0f, 1.0f, 1.0f }; - glm::vec2 textureCoordinates { 0.0f, 0.0f }; - uint32_t textureIndex = 0; + glm::vec3 position { 0.0f }; + glm::vec3 normal { 1.0f }; + glm::vec4 color { 1.0f }; + glm::vec2 textureCoordinates { 0.0f }; + uint32_t textureIndex { 0 }; }; // ------------------------------------- @@ -197,7 +198,7 @@ public: using Singleton::destroy; - void drawModel(std::span vertices, std::span indices, const TransformComponent& transform, std::shared_ptr texture); + void drawModel(std::span vertices, std::span indices, const TransformComponent& transform, glm::vec4 color, std::shared_ptr texture); private: void createElementBuffer() override; diff --git a/src/inferno/system/rendersystem.cpp b/src/inferno/system/rendersystem.cpp index 53986dc..1cf7529 100644 --- a/src/inferno/system/rendersystem.cpp +++ b/src/inferno/system/rendersystem.cpp @@ -46,6 +46,7 @@ void RenderSystem::render() Renderer3D::the().drawModel(model.model->vertices(), model.model->elements(), transform, + model.color, model.model->texture() ? model.model->texture() : model.texture); } }