finishing up
This commit is contained in:
parent
71fa8e21e3
commit
2190fd187e
34
c3d.c
34
c3d.c
|
@ -88,8 +88,23 @@ double Max(double a, double b){
|
||||||
return a;
|
return a;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Tri2DSort(Tri2D * t){
|
void Tri2DSortByY(Tri2D * t){
|
||||||
|
Vector2 temp;
|
||||||
|
if (t->a.y > t->b.y) {
|
||||||
|
temp = t->a;
|
||||||
|
t->a = t->b;
|
||||||
|
t->b = temp;
|
||||||
|
}
|
||||||
|
if (t->b.y > t->c.y){
|
||||||
|
temp = t->b;
|
||||||
|
t->b = t->c;
|
||||||
|
t->c = temp;
|
||||||
|
}
|
||||||
|
if (t->a.y > t->b.y) {
|
||||||
|
temp = t->a;
|
||||||
|
t->a = t->b;
|
||||||
|
t->b = temp;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//Draws triangle with a flat top. Note A and B must be the top points with C being the bottom "spike"
|
//Draws triangle with a flat top. Note A and B must be the top points with C being the bottom "spike"
|
||||||
|
@ -136,6 +151,21 @@ void FillBottomFlatZbuffer(Zee zee[][1080], Tri2D* t) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void DrawTriZuff(Zee zbuf[][1080], Tri2D t){
|
||||||
|
Tri2DSortByY(&t);
|
||||||
|
|
||||||
|
if (t.b.y == t.c.y) {
|
||||||
|
FillBottomFlatZbuffer(zbuf,&t);
|
||||||
|
}
|
||||||
|
else if (t.a.y == t.b.y) {
|
||||||
|
FillTopFlatZbuffer(zbuf,&t);
|
||||||
|
} else{ //funny split tri
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
float Sign(Vector2* v1, Vector2* v2, Vector2* v3) {
|
float Sign(Vector2* v1, Vector2* v2, Vector2* v3) {
|
||||||
return (v1->x - v3->x) * (v2->y - v3->y) - (v2->x - v3->x) * (v1->y - v3->y);
|
return (v1->x - v3->x) * (v2->y - v3->y) - (v2->x - v3->x) * (v1->y - v3->y);
|
||||||
|
|
Loading…
Reference in a new issue