From 0d10b77f77459333c5549711334f417623ab1f3e Mon Sep 17 00:00:00 2001 From: vimene Date: Sat, 17 Jan 2026 00:06:31 +0100 Subject: improved software shaders - unified terminal and graphical software renderer shaders - added vertex shaders for software renderers - removed VertexData - moved shaders from frame buffers to their own class - added FrameBufferConcept and ShadersConcept --- src/renderer.hpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'src/renderer.hpp') diff --git a/src/renderer.hpp b/src/renderer.hpp index 6725f70..3880d04 100644 --- a/src/renderer.hpp +++ b/src/renderer.hpp @@ -2,22 +2,29 @@ #define RENDERER_HPP #include +#include #include "math/vector.hpp" #include "o3d/tri.hpp" #include "o3d/tri_deriv.hpp" +#include "o3d/mesh.hpp" +#include "fb/fb.hpp" +#include "shaders/shaders.hpp" namespace engine { -template -class Renderer { +template +class Renderer +{ public: FrameBuffer fb; + Shaders shaders; - Renderer(FrameBuffer&& fb); + Renderer(FrameBuffer&& fb, Shaders&& shaders); void resize(unsigned int w, unsigned int h); void clear(); void draw_triangle(const o3d::Triangle& triangle); + void draw_mesh(const o3d::Mesh& mesh); constexpr unsigned int width() const & { return fb.width(); -- cgit v1.2.3