#pragma once #include "Framework.h" #include "Vertex.h" #include "Matrix.h" #include enum class Axis { X, Y, Z }; class Rasteriser : public Framework { public: bool Initialise(); void Update(const Bitmap& bitmap); void Render(const Bitmap& bitmap); void ClearViewport(const Bitmap& bitmap); void DrawSquare(HDC hDc, const vector verticies); void DrawShape(HDC hDc, const vector verticies); Matrix GetTranslateMatrix(const float x, const float y, const float z); Matrix GetScaleMatrix(const float x, const float y, const float z); Matrix GetRotationMatrix(const Axis rotAxis, const float rotDegrees); Matrix GetRotationMatrixFromPoint(const Axis rotAxis, const float rotDegrees, const float x, const float y, const float z); float DegreesToRadians(const float degrees); private: vector _initialVertexArray; vector _currentVertexArray; const float _PI = (float) acos(-1); int _rotation; };