Skip to content
Snippets Groups Projects
Commit 9182f085 authored by sr1g19's avatar sr1g19
Browse files

Upload New File

parent 0786bd9e
No related branches found
No related tags found
No related merge requests found
#ifndef _RASTERIZE_H
#define _RASTERIZE_H
#include "3x3matrix.h"
#include "2x2matrix.h"
#include "lcd.h"
#include <math.h>
#include <avr/pgmspace.h>
#include "ili934x.h"
#define TRANSPARENTCOLOR 63519
_2x1Matrix transpose_map(_3x3Matrix m1, _3x1Matrix m2);
typedef struct {
_2x1Matrix p0, p1, p2;
} tri2d;
typedef struct {
_2x1Matrix p0, p1, p2, p3; //This makes me sad to implement it this way, so please don't use invalid rectangles.
} rect2d;
typedef struct {
_3x1Matrix p0, p1, p2;
} tri3d;
typedef struct {
_3x1Matrix gr, anchor;
} plane3d;
rectangle getXYBound2d(tri2d t);
rectangle getXYBound3d(tri3d t);
void affineRasterize(_2x2Matrix m, PGM_P imgdata, rectangle imgRegion, int16_t dispX, int16_t dispY);
void perspectiveRasterize(tri3d t, tri2d tuv, PGM_P imgdata, rectangle imgRegion);
void perspectiveRasterizeComposite(tri3d t, tri2d tuv, PGM_P imgdata, rectangle imgRegion, float composite);
void UVMapRasterize(tri3d t0, tri2d t1);
rectangle getXYBound2dRect(rect2d t);
rectangle getXYBound3d(tri3d t);
float triSign (_2x1Matrix p0, _2x1Matrix p1, _2x1Matrix p2);
plane3d getPlane(tri3d t);
float getZ(float x, float y, plane3d p);
unsigned char inTriangle(float x, float y, tri2d);
tri2d transpose2dTri(tri2d t, _2x2Matrix m);
rect2d transpose2dRect(rect2d t, _2x2Matrix m);
tri3d transpose3dTri(tri3d t, _3x3Matrix m);
tri3d seperate(_3x3Matrix m);
_3x3Matrix combine2d(_2x1Matrix m1, _2x1Matrix m2, _2x1Matrix m3);
_2x1Matrix transpose_2x3(_3x3Matrix m1, _2x1Matrix m2);
uint16_t maxInt(uint16_t v1, uint16_t v2);
#endif //_RASTERIZE_H
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment