#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(o3d::TriangleVertex4 triangle); private: std::vector depth_buf; void _draw_cropped_triangle(o3d::TriangleVertex4 root, o3d::TriangleDerivedVertex4 triangle); }; } #endif // RENDERER_H