TinyGL 0.4.1 for MinGW
Macros | Functions
clip.c File Reference
#include "zgl.h"

Go to the source code of this file.

Macros

#define CLIP_XMIN   (1<<0)
 
#define CLIP_XMAX   (1<<1)
 
#define CLIP_YMIN   (1<<2)
 
#define CLIP_YMAX   (1<<3)
 
#define CLIP_ZMIN   (1<<4)
 
#define CLIP_ZMAX   (1<<5)
 
#define clip_func(name, sign, dir, dir1, dir2)
 

Functions

void gl_transform_to_viewport (GLContext *c, GLVertex *v)
 
void gl_draw_point (GLContext *c, GLVertex *p0)
 
void gl_draw_line (GLContext *c, GLVertex *p1, GLVertex *p2)
 
 clip_func (clip_xmin, clip_func(-, clip_func(X, clip_func(Y, clip_func(Z)
 
void gl_draw_triangle (GLContext *c, GLVertex *p0, GLVertex *p1, GLVertex *p2)
 
void gl_draw_triangle_select (GLContext *c, GLVertex *p0, GLVertex *p1, GLVertex *p2)
 
void gl_draw_triangle_fill (GLContext *c, GLVertex *p0, GLVertex *p1, GLVertex *p2)
 
void gl_draw_triangle_line (GLContext *c, GLVertex *p0, GLVertex *p1, GLVertex *p2)
 
void gl_draw_triangle_point (GLContext *c, GLVertex *p0, GLVertex *p1, GLVertex *p2)
 

Macro Definition Documentation

◆ clip_func

#define clip_func (   name,
  sign,
  dir,
  dir1,
  dir2 
)
Value:
static float name(V4 *c,V4 *a,V4 *b) \
{\
float t,dX,dY,dZ,dW,den;\
dX = (b->X - a->X);\
dY = (b->Y - a->Y);\
dZ = (b->Z - a->Z);\
dW = (b->W - a->W);\
den = -(sign d ## dir) + dW;\
if (den == 0) t=0;\
else t = ( sign a->dir - a->W) / den;\
c->dir1 = a->dir1 + t * d ## dir1;\
c->dir2 = a->dir2 + t * d ## dir2;\
c->W = a->W + t * dW;\
c->dir = sign c->W;\
return t;\
}
Definition: zmath.h:28
else
Definition: zline.h:103
register int a
Definition: zline.h:1
#define W
Definition: zmath.h:22

Definition at line 177 of file clip.c.

◆ CLIP_XMAX

#define CLIP_XMAX   (1<<1)

Definition at line 7 of file clip.c.

◆ CLIP_XMIN

#define CLIP_XMIN   (1<<0)

Definition at line 6 of file clip.c.

◆ CLIP_YMAX

#define CLIP_YMAX   (1<<3)

Definition at line 9 of file clip.c.

◆ CLIP_YMIN

#define CLIP_YMIN   (1<<2)

Definition at line 8 of file clip.c.

◆ CLIP_ZMAX

#define CLIP_ZMAX   (1<<5)

Definition at line 11 of file clip.c.

◆ CLIP_ZMIN

#define CLIP_ZMIN   (1<<4)

Definition at line 10 of file clip.c.

Function Documentation

◆ clip_func()

clip_func ( clip_xmin  ,
clip_func(  -,
clip_func(  X,
clip_func(  Y,
clip_func(  Z 
)

Definition at line 196 of file clip.c.

◆ gl_draw_line()

void gl_draw_line ( GLContext c,
GLVertex p1,
GLVertex p2 
)

Definition at line 112 of file clip.c.

◆ gl_draw_point()

void gl_draw_point ( GLContext c,
GLVertex p0 
)

Definition at line 65 of file clip.c.

◆ gl_draw_triangle()

void gl_draw_triangle ( GLContext c,
GLVertex p0,
GLVertex p1,
GLVertex p2 
)

Definition at line 241 of file clip.c.

◆ gl_draw_triangle_fill()

void gl_draw_triangle_fill ( GLContext c,
GLVertex p0,
GLVertex p1,
GLVertex p2 
)

Definition at line 383 of file clip.c.

◆ gl_draw_triangle_line()

void gl_draw_triangle_line ( GLContext c,
GLVertex p0,
GLVertex p1,
GLVertex p2 
)

Definition at line 418 of file clip.c.

◆ gl_draw_triangle_point()

void gl_draw_triangle_point ( GLContext c,
GLVertex p0,
GLVertex p1,
GLVertex p2 
)

Definition at line 435 of file clip.c.

◆ gl_draw_triangle_select()

void gl_draw_triangle_select ( GLContext c,
GLVertex p0,
GLVertex p1,
GLVertex p2 
)

Definition at line 373 of file clip.c.

◆ gl_transform_to_viewport()

void gl_transform_to_viewport ( GLContext c,
GLVertex v 
)

Definition at line 13 of file clip.c.