Disable the GLU tesselator on MSW
This commit is contained in:
parent
34a49086e5
commit
38ecce0ce9
1 changed files with 22 additions and 14 deletions
|
@ -220,13 +220,18 @@ sub Render {
|
||||||
glHint(GL_POLYGON_SMOOTH_HINT, GL_DONT_CARE);
|
glHint(GL_POLYGON_SMOOTH_HINT, GL_DONT_CARE);
|
||||||
}
|
}
|
||||||
|
|
||||||
my $tess = gluNewTess();
|
my $tess;
|
||||||
|
if (!&Wx::wxMSW) {
|
||||||
|
# We can't use the GLU tesselator on MSW because of an upstream bug:
|
||||||
|
# http://sourceforge.net/p/pogl/bugs/16/
|
||||||
|
$tess = gluNewTess();
|
||||||
gluTessCallback($tess, GLU_TESS_BEGIN, 'DEFAULT');
|
gluTessCallback($tess, GLU_TESS_BEGIN, 'DEFAULT');
|
||||||
gluTessCallback($tess, GLU_TESS_END, 'DEFAULT');
|
gluTessCallback($tess, GLU_TESS_END, 'DEFAULT');
|
||||||
gluTessCallback($tess, GLU_TESS_VERTEX, 'DEFAULT');
|
gluTessCallback($tess, GLU_TESS_VERTEX, 'DEFAULT');
|
||||||
gluTessCallback($tess, GLU_TESS_COMBINE, 'DEFAULT');
|
gluTessCallback($tess, GLU_TESS_COMBINE, 'DEFAULT');
|
||||||
gluTessCallback($tess, GLU_TESS_ERROR, 'DEFAULT');
|
gluTessCallback($tess, GLU_TESS_ERROR, 'DEFAULT');
|
||||||
gluTessCallback($tess, GLU_TESS_EDGE_FLAG, 'DEFAULT');
|
gluTessCallback($tess, GLU_TESS_EDGE_FLAG, 'DEFAULT');
|
||||||
|
}
|
||||||
|
|
||||||
my $skirt_drawn = 0;
|
my $skirt_drawn = 0;
|
||||||
my $brim_drawn = 0;
|
my $brim_drawn = 0;
|
||||||
|
@ -243,6 +248,8 @@ sub Render {
|
||||||
|
|
||||||
foreach my $slice (@{$layer->slices}) {
|
foreach my $slice (@{$layer->slices}) {
|
||||||
glColor3f(0.95, 0.95, 0.95);
|
glColor3f(0.95, 0.95, 0.95);
|
||||||
|
|
||||||
|
if ($tess) {
|
||||||
gluTessBeginPolygon($tess);
|
gluTessBeginPolygon($tess);
|
||||||
foreach my $polygon (@$slice) {
|
foreach my $polygon (@$slice) {
|
||||||
gluTessBeginContour($tess);
|
gluTessBeginContour($tess);
|
||||||
|
@ -250,6 +257,7 @@ sub Render {
|
||||||
gluTessEndContour($tess);
|
gluTessEndContour($tess);
|
||||||
}
|
}
|
||||||
gluTessEndPolygon($tess);
|
gluTessEndPolygon($tess);
|
||||||
|
}
|
||||||
|
|
||||||
glColor3f(0.9, 0.9, 0.9);
|
glColor3f(0.9, 0.9, 0.9);
|
||||||
foreach my $polygon (@$slice) {
|
foreach my $polygon (@$slice) {
|
||||||
|
@ -300,7 +308,7 @@ sub Render {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
gluDeleteTess($tess);
|
gluDeleteTess($tess) if $tess;
|
||||||
glFlush();
|
glFlush();
|
||||||
$self->SwapBuffers;
|
$self->SwapBuffers;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue