From 9b70ca7b3a1b7bfd3bf434d8b84bde42f5572ca0 Mon Sep 17 00:00:00 2001 From: vimene Date: Tue, 5 Dec 2023 10:42:35 +0100 Subject: added renderer, improved various things - Added renderer to unify frame buffers - Added FrameBuffer class as a parent for frame buffers' classes - Improved formatting in Makefile.am - Added const modifier in Matrix4's methods --- src/renderer.h | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/renderer.h (limited to 'src/renderer.h') diff --git a/src/renderer.h b/src/renderer.h new file mode 100644 index 0000000..211a6fc --- /dev/null +++ b/src/renderer.h @@ -0,0 +1,30 @@ +#ifndef RENDERER_H +#define RENDERER_H + +#include +#include "fb/fb.h" +#include "o3d/tri_vertex.h" + +namespace engine { + +class Renderer { + public: + std::unique_ptr fb; + + Renderer(std::unique_ptr fb); + void resize(unsigned int w, unsigned int h); + unsigned int width() const; + unsigned int height() const; + void clear(); + void draw_triangle(engine::o3d::TriangleVertex4 triangle); + + private: + std::vector depth_buf; + int face_ind; + + void _draw_cropped_triangle(engine::o3d::TriangleVertex3 triangle); +}; + +} + +#endif // RENDERER_H -- cgit v1.2.3