43 lines
786 B
C
43 lines
786 B
C
#include "glu.h"
|
|
|
|
typedef struct Triangle {
|
|
int v[3];
|
|
struct Triangle *prev;
|
|
} Triangle;
|
|
|
|
typedef struct Vertex {
|
|
double pt[3];
|
|
int index;
|
|
struct Vertex *prev;
|
|
} Vertex;
|
|
|
|
typedef struct TessContext {
|
|
Triangle *latest_t;
|
|
int n_tris;
|
|
int reversed;
|
|
|
|
Vertex *v_prev;
|
|
Vertex *v_prevprev;
|
|
Vertex *latest_v;
|
|
GLenum current_mode;
|
|
int odd_even_strip;
|
|
|
|
void (*vertex_cb)(Vertex *, struct TessContext *);
|
|
} TessContext;
|
|
|
|
TessContext *tessellateD
|
|
(double **verts,
|
|
int *nverts,
|
|
int **tris,
|
|
int *ntris,
|
|
const double **contoursbegin,
|
|
const double **contoursend);
|
|
|
|
TessContext *tessellate
|
|
(float **verts,
|
|
int *nverts,
|
|
int **tris,
|
|
int *ntris,
|
|
const float **contoursbegin,
|
|
const float **contoursend);
|