#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