16 lines
636 B
C
16 lines
636 B
C
#include <math.h>
|
|
#include <gint/display.h>
|
|
#include "3dline.h"
|
|
#include "conf.h"
|
|
|
|
|
|
void dddline(int x1, int y1, int z1, int x2, int y2, int z2, int color)
|
|
{
|
|
int px1, py1, px2, py2;
|
|
px1 = (int) (((float) (CAMERA - Z_DEPTH)) / ((float) (z1 + CAMERA)) * ((float) x1) + DWIDTH / 2);
|
|
py1 = (int) (((float) (CAMERA - Z_DEPTH)) / ((float) (z1 + CAMERA)) * ((float) y1) + DHEIGHT / 2);
|
|
px2 = (int) (((float) (CAMERA - Z_DEPTH)) / ((float) (z2 + CAMERA)) * ((float) x2) + DWIDTH / 2);
|
|
py2 = (int) (((float) (CAMERA - Z_DEPTH)) / ((float) (z2 + CAMERA)) * ((float) y2) + DHEIGHT / 2);
|
|
dline(px1, py1, px2, py2, color);
|
|
}
|