Go to the documentation of this file.
10 free ((*grid)->surf.vertex);
11 free ((*grid)->surf.svertex);
37 s->
vertex[x+defx*y].
x = (x-defx/2.0F)*sizex/defx;
39 s->
vertex[x+defx*y].
z = (y-defz/2.0F)*sizez/defz;
53 int *
p1 = buf + v2.x + (v2.y*
static_cast<ptrdiff_t
>(W));
54 int *
p2 =
back + v2.x + (v2.y*
static_cast<ptrdiff_t
>(W));
55 if ((v2.x>=0) && (v2.y>=0) && (v2.x<W) && (v2.y<H)) {
65 int dist,
int *buf,
int *
back,
int W,
int H) {
69 for (
int x=0;x<g->
defx;x++) {
72 for (
int z=1;z<g->
defz;z++) {
74 if (((v2.x != -666) || (v2.y!=-666))
75 && ((v2x.x != -666) || (v2x.y!=-666))) {
76 draw_line(buf,v2x.x,v2x.y,v2.x,v2.y, colorlow, W, H);
107 SINCOS((angle/4.3F),sina,cosa);
113 for (
int i=0;i<g->
defx;i++)
116 for (
int i=g->
defx;i<s->nbvertex;i++) {
void grid3d_free(grid3d **grid)
static void draw_line(int *data, int x1, int y1, int x2, int y2, int col, int screenx, int screeny)
grid3d * grid3d_new(int sizex, int defx, int sizez, int defz, v3d center)
void grid3d_update(grid3d *g, float angle, const float *vals, float dist)
#define V3D_TO_V2D(v3, v2, width, height, distance)
#define DRAWMETHOD_DONE()
void grid3d_draw(grid3d *g, int color, int colorlow, int dist, int *buf, int *back, int W, int H)
void surf3d_translate(surf3d *s)
void surf3d_draw(surf3d *s, int color, int dist, int *buf, int *back, int W, int H)
#define TRANSLATE_V3D(vsrc, vdest)
void surf3d_rotate(surf3d *s, float angle)
#define Y_ROTATE_V3D(vi, vf, sina, cosa)