22 lines
644 B
C++
22 lines
644 B
C++
#pragma once
|
|
|
|
#include "math/dvc_vector3.h"
|
|
|
|
struct Triangle
|
|
{
|
|
public:
|
|
davinci::fVector3 p0, p1, p2;
|
|
davinci::fVector3 pixelColor;
|
|
std::vector< std::pair<int32_t, int32_t> > pixels;
|
|
|
|
public:
|
|
Triangle(){}
|
|
Triangle(const davinci::fVector3& _p0, const davinci::fVector3& _p1, const davinci::fVector3& _p2) : p0(_p0), p1(_p1), p2(_p2) { }
|
|
Triangle(const Triangle& other) : p0(other.p0), p1(other.p1), p2(other.p2), pixelColor(other.pixelColor), pixels(other.pixels) {}
|
|
|
|
public:
|
|
void build(const davinci::fVector3& _pixelColor, int32_t canvasWidth, int32_t canvasHeight, bool debug = false);
|
|
};
|
|
|
|
typedef std::vector<Triangle> TriangleVector;
|