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/shaders/simple_shaders.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 src/shaders/simple_shaders.cpp (limited to 'src/shaders/simple_shaders.cpp') diff --git a/src/shaders/simple_shaders.cpp b/src/shaders/simple_shaders.cpp new file mode 100644 index 0000000..ebbec31 --- /dev/null +++ b/src/shaders/simple_shaders.cpp @@ -0,0 +1,18 @@ +#include "shaders/simple_shaders.hpp" +#include "math/mat4.hpp" + +using namespace engine::shaders; +using engine::math::Matrix4; + +SimpleShaders::SimpleShaders(int w, int h, unsigned char* pixels) : w { w }, h { h }, pixels { pixels } { +} + +void SimpleShaders::set_view(const Matrix4& view_mat, const Matrix4& proj_mat) { + this->view_mat = view_mat; + this->proj_mat = proj_mat; +} + +void SimpleShaders::set_model(const Matrix4& model_mat) { + this->model_mat = model_mat; + final_mat = proj_mat * view_mat * model_mat; +} -- cgit v1.2.3