#pragma once #include "Triangle.h" #include "Color.h" #include "FrameBuffer.h" #include namespace Rasterizer { class TriangleRasterizer { private: Core::FrameBuffer* frameBuffer; Core::DepthBuffer* depthBuffer; public: explicit TriangleRasterizer(Core::FrameBuffer* frameBuffer) :frameBuffer(frameBuffer), depthBuffer(nullptr) {}; explicit TriangleRasterizer(Core::FrameBuffer* frameBuffer, Core::DepthBuffer* depthBuffer) :frameBuffer(frameBuffer), depthBuffer(depthBuffer) {}; void DrawTriangle2D(const RenderData::Triangle& triangle, const RenderData::Color color); }; }