3D_pong/src/3dline.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);
}