aboutsummaryrefslogtreecommitdiff
path: root/generic
diff options
context:
space:
mode:
authorlecoanet2005-04-12 09:05:41 +0000
committerlecoanet2005-04-12 09:05:41 +0000
commitdeacce35a44fe95baffe942a8acae0da327de619 (patch)
treec147742ee9fc1afe4362935caae12c2b8b14c047 /generic
parent751a7ee9e7d4d8573a2f2bd15b9bf02bd6948562 (diff)
downloadtkzinc-deacce35a44fe95baffe942a8acae0da327de619.zip
tkzinc-deacce35a44fe95baffe942a8acae0da327de619.tar.gz
tkzinc-deacce35a44fe95baffe942a8acae0da327de619.tar.bz2
tkzinc-deacce35a44fe95baffe942a8acae0da327de619.tar.xz
Switched to the native GLU tesselator instead of the buitlin.
Diffstat (limited to 'generic')
-rw-r--r--generic/tkZinc.c37
-rw-r--r--generic/tkZinc.h3
2 files changed, 20 insertions, 20 deletions
diff --git a/generic/tkZinc.c b/generic/tkZinc.c
index 03cd6d9..f9ff6a7 100644
--- a/generic/tkZinc.c
+++ b/generic/tkZinc.c
@@ -59,8 +59,8 @@ static const char * const zinc_version = "zinc-version-" VERSION;
#ifndef _WIN32
#include "perfos.h"
#endif
-#include "glu.h"
+#include <GL/glu.h>
#include <ctype.h>
#include <stdlib.h>
#include <stdio.h>
@@ -8752,7 +8752,11 @@ Redisplay(ClientData client_data) /* Information about the widget. */
}
}
-static void
+#ifndef _WIN32
+#define CALLBACK
+#endif
+
+static void CALLBACK
ZnTessBegin(GLenum type,
void *data)
{
@@ -8779,7 +8783,7 @@ ZnTessBegin(GLenum type,
//(type == GL_LINE_LOOP) ? "LINE LOOP" : "");
}
-static void
+static void CALLBACK
ZnTessVertex(void *vertex_data,
void *data)
{
@@ -8789,14 +8793,14 @@ ZnTessVertex(void *vertex_data,
p.x = ((GLdouble *) vertex_data)[0];
p.y = ((GLdouble *) vertex_data)[1];
- /*printf("Sommet en %g %g\n", p.x, p.y);*/
+ //printf("Sommet en %g %g\n", p.x, p.y);
size = ZnListSize(ZnWorkPoints);
if ((ZnTesselator.type == GL_TRIANGLES) && (size == 3)) {
tristrips->strips[tristrips->num_strips-1].num_points = size;
tristrips->strips[tristrips->num_strips-1].points = ZnMalloc(size * sizeof(ZnPoint));
memcpy(tristrips->strips[tristrips->num_strips-1].points,
ZnListArray(ZnWorkPoints), size * sizeof(ZnPoint));
- /*printf("Fin de fragment intermediaire %d, num points: %d\n", tristrips->num_strips-1, size);*/
+ //printf("Fin de fragment intermediaire %d, num points: %d\n", tristrips->num_strips-1, size);
/* Allocate a new fragment */
ZnListEmpty(ZnWorkPoints);
tristrips->num_strips++;
@@ -8807,7 +8811,7 @@ ZnTessVertex(void *vertex_data,
ZnListAdd(ZnWorkPoints, &p, ZnListTail);
}
-static void
+static void CALLBACK
ZnTessEnd(void *data)
{
ZnPoly *outlines = data;
@@ -8833,10 +8837,10 @@ ZnTessEnd(void *data)
memcpy(tristrips->strips[num-1].points,
ZnListArray(ZnWorkPoints), size * sizeof(ZnPoint));
}
- /*printf("Fin de fragment %d, num points: %d\n", num, size);*/
+ //printf("Fin de fragment %d, num points: %d\n", num, size);
}
-static void
+static void CALLBACK
ZnTessCombine(GLdouble coords[3],
void *vertex_data[4],
GLfloat weight[4],
@@ -8856,7 +8860,7 @@ ZnTessCombine(GLdouble coords[3],
//cdata->v[0], cdata->v[1]);
}
-static void
+static void CALLBACK
ZnTessError(GLenum errno,
void *data)
{
@@ -8933,16 +8937,11 @@ InitZinc(Tcl_Interp *interp) {
ZnTesselator.tess = gluNewTess();
ZnTesselator.combine_list = NULL;
ZnTesselator.combine_length = 0;
- gluTessCallback(ZnTesselator.tess, GLU_TESS_BEGIN_DATA,
- (_GLUfuncptr) ZnTessBegin);
- gluTessCallback(ZnTesselator.tess, GLU_TESS_VERTEX_DATA,
- (_GLUfuncptr) ZnTessVertex);
- gluTessCallback(ZnTesselator.tess, GLU_TESS_END_DATA,
- (_GLUfuncptr) ZnTessEnd);
- gluTessCallback(ZnTesselator.tess, GLU_TESS_COMBINE_DATA,
- (_GLUfuncptr) ZnTessCombine);
- gluTessCallback(ZnTesselator.tess, GLU_TESS_ERROR_DATA,
- (_GLUfuncptr) ZnTessError);
+ gluTessCallback(ZnTesselator.tess, GLU_TESS_BEGIN_DATA, ZnTessBegin);
+ gluTessCallback(ZnTesselator.tess, GLU_TESS_VERTEX_DATA, ZnTessVertex);
+ gluTessCallback(ZnTesselator.tess, GLU_TESS_END_DATA, ZnTessEnd);
+ gluTessCallback(ZnTesselator.tess, GLU_TESS_COMBINE_DATA, ZnTessCombine);
+ gluTessCallback(ZnTesselator.tess, GLU_TESS_ERROR_DATA, ZnTessError);
gluTessNormal(ZnTesselator.tess, 0.0, 0.0, -1.0);
/*
diff --git a/generic/tkZinc.h b/generic/tkZinc.h
index 13b067c..14022ee 100644
--- a/generic/tkZinc.h
+++ b/generic/tkZinc.h
@@ -34,7 +34,8 @@
#include "Item.h"
#include "List.h"
#include "MapInfo.h"
-#include "glu.h"
+
+#include <GL/glu.h>
typedef struct _ZnTagSearch {
ZnWInfo *wi;