diff options
Diffstat (limited to 'src/renderer.h')
-rw-r--r-- | src/renderer.h | 30 |
1 files changed, 30 insertions, 0 deletions
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 <memory> +#include "fb/fb.h" +#include "o3d/tri_vertex.h" + +namespace engine { + +class Renderer { + public: + std::unique_ptr<engine::fb::FrameBuffer> fb; + + Renderer(std::unique_ptr<engine::fb::FrameBuffer> 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<float> depth_buf; + int face_ind; + + void _draw_cropped_triangle(engine::o3d::TriangleVertex3 triangle); +}; + +} + +#endif // RENDERER_H |