summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjtg <jtg>1999-08-19 00:55:39 +0000
committerjtg <jtg>1999-08-19 00:55:39 +0000
commitafb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1c (patch)
tree59d65b4da12fb5379224cf5f6b808fde91523c7f
parentf2544d4920ce168bec9cd94d774b7ea5103a3d74 (diff)
Initial revision
-rw-r--r--Make-config1265
-rw-r--r--Makefile.X11521
-rw-r--r--include/GL/Makefile.am30
-rw-r--r--include/GL/amesa.h75
-rw-r--r--include/GL/foomesa.h89
-rw-r--r--include/GL/fxmesa.h120
-rw-r--r--include/GL/ggimesa.h67
-rw-r--r--include/GL/gl.h2235
-rw-r--r--include/GL/gl_mangle.h531
-rw-r--r--include/GL/glu.h444
-rw-r--r--include/GL/glu_mangle.h86
-rw-r--r--include/GL/glut.h751
-rw-r--r--include/GL/glut_h.dja352
-rw-r--r--include/GL/glutf90.h81
-rw-r--r--include/GL/glx.h261
-rw-r--r--include/GL/glx_mangle.h72
-rw-r--r--include/GL/mglmesa.h80
-rw-r--r--include/GL/osmesa.h256
-rw-r--r--include/GL/svgamesa.h106
-rw-r--r--include/GL/wmesa.h155
-rw-r--r--include/GL/xmesa.h357
-rw-r--r--include/GL/xmesa_x.h92
-rw-r--r--include/GL/xmesa_xf86.h189
-rw-r--r--progs/beos/Makefile42
-rw-r--r--progs/beos/demo.cpp153
-rw-r--r--progs/beos/sample.cpp212
-rw-r--r--progs/demos/Makefile.BeOS-R496
-rw-r--r--progs/demos/Makefile.X1160
-rw-r--r--progs/demos/Makefile.cygnus76
-rw-r--r--progs/demos/bounce.c240
-rw-r--r--progs/demos/clearspd.c221
-rw-r--r--progs/demos/descrip.mms63
-rw-r--r--progs/demos/drawpix.c307
-rw-r--r--progs/demos/gamma.c176
-rw-r--r--progs/demos/gears.c356
-rw-r--r--progs/demos/glinfo.c50
-rw-r--r--progs/demos/glutfx.c207
-rw-r--r--progs/demos/isosurf.c821
-rw-r--r--progs/demos/isosurf.dat7179
-rw-r--r--progs/demos/morph3d.c892
-rw-r--r--progs/demos/multiarb.c307
-rw-r--r--progs/demos/osdemo.c169
-rw-r--r--progs/demos/paltex.c186
-rw-r--r--progs/demos/pointblast.c506
-rw-r--r--progs/demos/reflect.c435
-rw-r--r--progs/demos/renormal.c123
-rw-r--r--progs/demos/spectex.c277
-rw-r--r--progs/demos/stex3d.c578
-rw-r--r--progs/demos/tessdemo.c439
-rw-r--r--progs/demos/texcyl.c261
-rw-r--r--progs/demos/texobj.c289
-rw-r--r--progs/demos/trispd.c277
-rw-r--r--progs/demos/winpos.c128
-rw-r--r--progs/images/girl.rgbbin0 -> 89287 bytes
-rw-r--r--progs/images/reflect.rgbbin0 -> 39632 bytes
-rw-r--r--progs/images/tile.rgbbin0 -> 206534 bytes
-rw-r--r--progs/redbook/Imakefile222
-rw-r--r--progs/redbook/Makefile.BeOS-R470
-rw-r--r--progs/redbook/Makefile.X1164
-rw-r--r--progs/redbook/Makefile.win81
-rw-r--r--progs/redbook/README41
-rw-r--r--progs/redbook/aaindex.c153
-rw-r--r--progs/redbook/aapoly.c172
-rw-r--r--progs/redbook/aargb.c149
-rw-r--r--progs/redbook/accanti.c168
-rw-r--r--progs/redbook/accpersp.c240
-rw-r--r--progs/redbook/alpha.c143
-rw-r--r--progs/redbook/alpha3D.c175
-rw-r--r--progs/redbook/anti.c111
-rw-r--r--progs/redbook/bezcurve.c114
-rw-r--r--progs/redbook/bezmesh.c148
-rw-r--r--progs/redbook/checker.c125
-rw-r--r--progs/redbook/clip.c108
-rw-r--r--progs/redbook/colormat.c153
-rw-r--r--progs/redbook/cube.c97
-rw-r--r--progs/redbook/depthcue.c102
-rw-r--r--progs/redbook/dof.c238
-rw-r--r--progs/redbook/double.c119
-rw-r--r--progs/redbook/drawf.c103
-rw-r--r--progs/redbook/feedback.c171
-rw-r--r--progs/redbook/fog.c186
-rw-r--r--progs/redbook/fogindex.c138
-rw-r--r--progs/redbook/font.c167
-rw-r--r--progs/redbook/hello.c95
-rw-r--r--progs/redbook/image.c159
-rw-r--r--progs/redbook/jitter.h222
-rw-r--r--progs/redbook/light.c113
-rw-r--r--progs/redbook/lines.c138
-rw-r--r--progs/redbook/list.c125
-rw-r--r--progs/redbook/material.c293
-rw-r--r--progs/redbook/mipmap.c165
-rw-r--r--progs/redbook/model.c126
-rw-r--r--progs/redbook/movelight.c148
-rw-r--r--progs/redbook/nurbs.c176
-rw-r--r--progs/redbook/pickdepth.c203
-rw-r--r--progs/redbook/picksquare.c197
-rw-r--r--progs/redbook/plane.c157
-rw-r--r--progs/redbook/planet.c123
-rw-r--r--progs/redbook/polyoff.c237
-rw-r--r--progs/redbook/polys.c124
-rw-r--r--progs/redbook/quadric.c189
-rw-r--r--progs/redbook/robot.c132
-rw-r--r--progs/redbook/sccolorlight.c127
-rw-r--r--progs/redbook/scene.c127
-rw-r--r--progs/redbook/scenebamb.c126
-rw-r--r--progs/redbook/sceneflat.c126
-rw-r--r--progs/redbook/select.c222
-rw-r--r--progs/redbook/smooth.c106
-rw-r--r--progs/redbook/stencil.c162
-rw-r--r--progs/redbook/stroke.c181
-rw-r--r--progs/redbook/surface.c217
-rw-r--r--progs/redbook/teaambient.c148
-rw-r--r--progs/redbook/teapots.c206
-rw-r--r--progs/redbook/tess.c241
-rw-r--r--progs/redbook/tesswind.c290
-rw-r--r--progs/redbook/texbind.c172
-rw-r--r--progs/redbook/texgen.c207
-rw-r--r--progs/redbook/texprox.c120
-rw-r--r--progs/redbook/texsub.c187
-rw-r--r--progs/redbook/texturesurf.c141
-rw-r--r--progs/redbook/torus.c152
-rw-r--r--progs/redbook/trim.c187
-rw-r--r--progs/redbook/unproject.c126
-rw-r--r--progs/redbook/varray.c195
-rw-r--r--progs/redbook/wrap.c180
-rw-r--r--progs/samples/Imakefile102
-rw-r--r--progs/samples/Makefile.BeOS-R464
-rw-r--r--progs/samples/Makefile.DJ36
-rw-r--r--progs/samples/Makefile.X1161
-rw-r--r--progs/samples/Makefile.dja26
-rw-r--r--progs/samples/README520
-rw-r--r--progs/samples/accum.c157
-rw-r--r--progs/samples/bitmap1.c250
-rw-r--r--progs/samples/bitmap2.c787
-rw-r--r--progs/samples/blendeq.c295
-rw-r--r--progs/samples/blendxor.c174
-rw-r--r--progs/samples/copy.c193
-rw-r--r--progs/samples/cursor.c150
-rw-r--r--progs/samples/depth.c209
-rw-r--r--progs/samples/eval.c472
-rw-r--r--progs/samples/fog.c311
-rw-r--r--progs/samples/font.c273
-rw-r--r--progs/samples/line.c219
-rw-r--r--progs/samples/loadppm.c72
-rw-r--r--progs/samples/logo.c1630
-rw-r--r--progs/samples/nurb.c355
-rw-r--r--progs/samples/oglinfo.c218
-rw-r--r--progs/samples/olympic.c375
-rw-r--r--progs/samples/overlay.c378
-rw-r--r--progs/samples/point.c234
-rw-r--r--progs/samples/prim.c546
-rw-r--r--progs/samples/quad.c455
-rw-r--r--progs/samples/rgbtoppm.c273
-rw-r--r--progs/samples/select.c456
-rw-r--r--progs/samples/shape.c345
-rw-r--r--progs/samples/sphere.c1034
-rw-r--r--progs/samples/star.c331
-rw-r--r--progs/samples/stencil.c143
-rw-r--r--progs/samples/stretch.c375
-rw-r--r--progs/samples/texture.c474
-rw-r--r--progs/samples/tkmap.c71
-rw-r--r--progs/samples/tri.c403
-rw-r--r--progs/samples/wave.c602
-rw-r--r--progs/util/README22
-rw-r--r--progs/util/dumpstate.c1959
-rw-r--r--progs/util/errcheck.c27
-rw-r--r--progs/util/glstate.c504
-rw-r--r--progs/util/glstate.h53
-rw-r--r--progs/util/glutskel.c145
-rw-r--r--progs/util/idproj.c26
-rw-r--r--progs/util/imagesgi.cpp369
-rw-r--r--progs/util/imagesgi.h55
-rw-r--r--progs/util/mwmborder.c91
-rw-r--r--progs/util/readtex.c353
-rw-r--r--progs/util/sampleMakefile49
-rw-r--r--progs/util/showbuffer.c192
-rw-r--r--progs/util/showbuffer.h36
-rw-r--r--progs/util/winpos.c42
-rw-r--r--progs/xdemos/Makefile.X1158
-rw-r--r--progs/xdemos/descrip.mms79
-rw-r--r--progs/xdemos/glxdemo.c136
-rw-r--r--progs/xdemos/glxpixmap.c160
-rw-r--r--progs/xdemos/offset.c323
-rw-r--r--progs/xdemos/shape.c305
-rw-r--r--progs/xdemos/vgears.c282
-rw-r--r--progs/xdemos/vindex.c66
-rw-r--r--progs/xdemos/vtest.c83
-rw-r--r--progs/xdemos/xdemo.c347
-rw-r--r--progs/xdemos/xfont.c148
-rw-r--r--src/glu/mesa/Makefile.BeOS73
-rw-r--r--src/glu/mesa/Makefile.BeOS-R485
-rw-r--r--src/glu/mesa/Makefile.X1157
-rw-r--r--src/glu/mesa/MesaGLU.def54
-rw-r--r--src/glu/mesa/README1195
-rw-r--r--src/glu/mesa/README243
-rw-r--r--src/glu/mesa/all.h69
-rw-r--r--src/glu/mesa/descrip.mms62
-rw-r--r--src/glu/mesa/glu.c335
-rw-r--r--src/glu/mesa/gluP.h83
-rw-r--r--src/glu/mesa/mipmap.c790
-rw-r--r--src/glu/mesa/mms_depend13
-rw-r--r--src/glu/mesa/nurbs.c715
-rw-r--r--src/glu/mesa/nurbs.h252
-rw-r--r--src/glu/mesa/nurbscrv.c500
-rw-r--r--src/glu/mesa/nurbssrf.c1422
-rw-r--r--src/glu/mesa/nurbsutl.c1403
-rw-r--r--src/glu/mesa/polytest.c1049
-rw-r--r--src/glu/mesa/project.c318
-rw-r--r--src/glu/mesa/quadric.c858
-rw-r--r--src/glu/mesa/tess.c369
-rw-r--r--src/glu/mesa/tess.h121
-rw-r--r--src/glu/mesa/tesselat.c456
-rw-r--r--src/glw/GLwDrawA.c686
-rw-r--r--src/glw/GLwDrawA.h195
-rw-r--r--src/glw/GLwDrawAP.h130
-rw-r--r--src/glw/GLwMDrawA.c41
-rw-r--r--src/glw/GLwMDrawA.h41
-rw-r--r--src/glw/GLwMDrawAP.h41
-rw-r--r--src/glw/Makefile59
-rw-r--r--src/glw/README56
-rw-r--r--src/glw/boilerplate.c451
-rw-r--r--src/glw/depend6
-rw-r--r--src/mesa/Makefile.X11243
-rw-r--r--src/mesa/drivers/allegro/amesa.c395
-rw-r--r--src/mesa/drivers/allegro/direct.h189
-rw-r--r--src/mesa/drivers/allegro/generic.h233
-rw-r--r--src/mesa/drivers/beos/GLView.cpp1233
-rw-r--r--src/mesa/drivers/d3d/D3DCAPS.CPP251
-rw-r--r--src/mesa/drivers/d3d/D3DHAL.H69
-rw-r--r--src/mesa/drivers/d3d/D3DInit.cpp891
-rw-r--r--src/mesa/drivers/d3d/D3DMESA.H85
-rw-r--r--src/mesa/drivers/d3d/D3DRaster.cpp214
-rw-r--r--src/mesa/drivers/d3d/D3DShared.h154
-rw-r--r--src/mesa/drivers/d3d/D3DTEXT.CPP577
-rw-r--r--src/mesa/drivers/d3d/D3DTextureMgr.cpp948
-rw-r--r--src/mesa/drivers/d3d/D3DTextureMgr.h63
-rw-r--r--src/mesa/drivers/d3d/D3DUTILS.CPP639
-rw-r--r--src/mesa/drivers/d3d/D3Dvbrender.c2150
-rw-r--r--src/mesa/drivers/d3d/DDrawPROCS.c400
-rw-r--r--src/mesa/drivers/d3d/DEBUG.C144
-rw-r--r--src/mesa/drivers/d3d/DEBUG.H91
-rw-r--r--src/mesa/drivers/d3d/DbgEnv.bat25
-rw-r--r--src/mesa/drivers/d3d/MAKEFILE102
-rw-r--r--src/mesa/drivers/d3d/NULLProcs.h49
-rw-r--r--src/mesa/drivers/d3d/NullProcs.c130
-rw-r--r--src/mesa/drivers/d3d/OPENGL32.DEF443
-rw-r--r--src/mesa/drivers/d3d/WGL.C1262
-rw-r--r--src/mesa/drivers/d3d/d3dText.h53
-rw-r--r--src/mesa/drivers/dos/DEPEND.DOS119
-rw-r--r--src/mesa/drivers/dos/dosmesa.c1513
-rw-r--r--src/mesa/drivers/ggi/ggimesa.conf.in13
-rw-r--r--src/mesa/drivers/glide/fxapi.c1411
-rw-r--r--src/mesa/drivers/glide/fxdd.c632
-rw-r--r--src/mesa/drivers/glide/fxddspan.c817
-rw-r--r--src/mesa/drivers/glide/fxddtex.c1299
-rw-r--r--src/mesa/drivers/glide/fxdrv.h576
-rw-r--r--src/mesa/drivers/glide/fxglidew.c247
-rw-r--r--src/mesa/drivers/glide/fxglidew.h358
-rw-r--r--src/mesa/drivers/glide/fxopengl.def467
-rw-r--r--src/mesa/drivers/glide/fxsetup.c1552
-rw-r--r--src/mesa/drivers/glide/fxtexman.c579
-rw-r--r--src/mesa/drivers/glide/fxwgl.c806
-rw-r--r--src/mesa/drivers/osmesa/osmesa.c1594
-rw-r--r--src/mesa/drivers/svga/svgamesa.c540
-rw-r--r--src/mesa/drivers/windows/colors.h499
-rw-r--r--src/mesa/drivers/windows/mesa_extend.c211
-rw-r--r--src/mesa/drivers/windows/mesa_extend.h43
-rw-r--r--src/mesa/drivers/windows/stereo.h47
-rw-r--r--src/mesa/drivers/windows/wgl.c518
-rw-r--r--src/mesa/drivers/windows/wing32.def12
-rw-r--r--src/mesa/drivers/windows/wmesa.c3021
-rw-r--r--src/mesa/drivers/windows/wmesaBackup.c2879
-rw-r--r--src/mesa/drivers/windows/wmesaOld.c2737
-rw-r--r--src/mesa/drivers/windows/wmesa_stereo.c1872
-rw-r--r--src/mesa/drivers/windows/wmesadef.h154
-rw-r--r--src/mesa/drivers/x11/fakeglx.c1516
-rw-r--r--src/mesa/drivers/x11/glxapi.c405
-rw-r--r--src/mesa/drivers/x11/realglx.c239
-rw-r--r--src/mesa/drivers/x11/realglx.h111
-rw-r--r--src/mesa/drivers/x11/xfonts.c398
-rw-r--r--src/mesa/drivers/x11/xmesaP.h499
-rw-r--r--src/mesa/main/Imakefile127
-rw-r--r--src/mesa/main/KNOWN_BUGS20
-rw-r--r--src/mesa/main/Makefile.DJ95
-rw-r--r--src/mesa/main/Makefile.X11243
-rw-r--r--src/mesa/main/accum.c495
-rw-r--r--src/mesa/main/accum.h51
-rw-r--r--src/mesa/main/attrib.c863
-rw-r--r--src/mesa/main/attrib.h47
-rw-r--r--src/mesa/main/blend.c812
-rw-r--r--src/mesa/main/blend.h68
-rw-r--r--src/mesa/main/clip.c460
-rw-r--r--src/mesa/main/clip.h105
-rw-r--r--src/mesa/main/colortab.c312
-rw-r--r--src/mesa/main/colortab.h55
-rw-r--r--src/mesa/main/config.h222
-rw-r--r--src/mesa/main/context.c2388
-rw-r--r--src/mesa/main/context.h167
-rw-r--r--src/mesa/main/dd.h635
-rw-r--r--src/mesa/main/depth.c879
-rw-r--r--src/mesa/main/depth.h98
-rw-r--r--src/mesa/main/descrip.mms156
-rw-r--r--src/mesa/main/dlist.c3501
-rw-r--r--src/mesa/main/dlist.h79
-rw-r--r--src/mesa/main/drawpix.c946
-rw-r--r--src/mesa/main/drawpix.h54
-rw-r--r--src/mesa/main/enable.c699
-rw-r--r--src/mesa/main/enable.h51
-rw-r--r--src/mesa/main/enums.c893
-rw-r--r--src/mesa/main/enums.h34
-rw-r--r--src/mesa/main/eval.c2725
-rw-r--r--src/mesa/main/eval.h95
-rw-r--r--src/mesa/main/extensions.c196
-rw-r--r--src/mesa/main/extensions.h56
-rw-r--r--src/mesa/main/feedback.c395
-rw-r--r--src/mesa/main/feedback.h74
-rw-r--r--src/mesa/main/fog.c327
-rw-r--r--src/mesa/main/fog.h51
-rw-r--r--src/mesa/main/get.c3692
-rw-r--r--src/mesa/main/get.h48
-rw-r--r--src/mesa/main/hash.c295
-rw-r--r--src/mesa/main/hash.h59
-rw-r--r--src/mesa/main/image.c2417
-rw-r--r--src/mesa/main/image.h109
-rw-r--r--src/mesa/main/light.c1183
-rw-r--r--src/mesa/main/light.h103
-rw-r--r--src/mesa/main/lines.c1146
-rw-r--r--src/mesa/main/lines.h45
-rw-r--r--src/mesa/main/macros.h546
-rw-r--r--src/mesa/main/matrix.c1438
-rw-r--r--src/mesa/main/matrix.h115
-rw-r--r--src/mesa/main/mesa.conf74
-rw-r--r--src/mesa/main/pixel.c774
-rw-r--r--src/mesa/main/pixel.h111
-rw-r--r--src/mesa/main/points.c1344
-rw-r--r--src/mesa/main/points.h45
-rw-r--r--src/mesa/main/polygon.c177
-rw-r--r--src/mesa/main/polygon.h53
-rw-r--r--src/mesa/main/rastpos.c227
-rw-r--r--src/mesa/main/rastpos.h48
-rw-r--r--src/mesa/main/simple_list.h99
-rw-r--r--src/mesa/main/stencil.c1107
-rw-r--r--src/mesa/main/stencil.h88
-rw-r--r--src/mesa/main/teximage.c2344
-rw-r--r--src/mesa/main/teximage.h186
-rw-r--r--src/mesa/main/texobj.c571
-rw-r--r--src/mesa/main/texobj.h85
-rw-r--r--src/mesa/main/texstate.c1146
-rw-r--r--src/mesa/main/texstate.h112
-rw-r--r--src/mesa/main/varray.c1259
-rw-r--r--src/mesa/main/varray.h113
-rw-r--r--src/mesa/x86/3dnow.c168
-rw-r--r--src/mesa/x86/3dnow.h95
-rw-r--r--src/mesa/x86/assyntax.h1629
-rw-r--r--src/mesa/x86/common_x86.c77
-rw-r--r--src/mesa/x86/mmx.h77
-rw-r--r--src/mesa/x86/mmx_blend.S363
-rw-r--r--src/mesa/x86/x86.c107
-rw-r--r--src/mesa/x86/x86.h37
359 files changed, 145077 insertions, 0 deletions
diff --git a/Make-config b/Make-config
new file mode 100644
index 00000000000..b03e7235de3
--- /dev/null
+++ b/Make-config
@@ -0,0 +1,1265 @@
+# $Id: Make-config,v 1.1 1999/08/19 00:55:39 jtg Exp $
+
+MAJOR=3
+MINOR=1
+VERSION=$(MAJOR).$(MINOR)
+
+# Mesa 3-D graphics library
+#
+# Copyright (C) 1999 Brian Paul All Rights Reserved.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
+# and/or sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included
+# in all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+# BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+# The following variables are passed to each Makefile:
+#
+# GL_LIB the name of the Mesa "GL" library file (usually libMesaGL.a)
+# GLU_LIB the name of the Mesa "GLU" library file (usually libMesaGLU.a)
+# GLUT_LIB the name of the GLUT library file (usually libglut.a)
+# CC the C compiler (usually cc or gcc)
+# CFLAGS flags to C compiler (usually -O)
+# MAKELIB the script or command to make a library file
+# XLIBS libraries needed to link X apps (at least -lX11)
+#
+# Optionally, you can add definitions for the INCDIR and LIBDIR variables
+# which specify where to find the Mesa include files and where to put the
+# Mesa libraries. The defaults are ../include and ../lib. This use of
+# overriding makefile macros on the command line should work with most
+# variants of make.
+#
+# To enable profiling add -DPROFILE to the CFLAGS line. Be sure to set the
+# MESA_PROFILE environment variable to enable printing of the profile report.
+#
+# If your system supports the X Shared Memory extension add -DSHM to the
+# CFLAGS line and add -lXext to the XLIBS line.
+#
+# Some compilers complain about const parameters. Adding -DNO_CONST to the
+# CFLAGS line should silence suth warnings.
+#
+#
+# To add a new system configuration just follow the examples below and update
+# the top-level Makefile.
+
+
+
+aix:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "GLW_LIB = libGLw.a" \
+ "CC = cc" \
+ "CFLAGS = -O -DAIXV3" \
+ "MAKELIB = ../bin/mklib.ar-ruv" \
+ "XLIBS = -lX11 -lXext -lXmu -lXi"
+
+aix-sl:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "GLW_LIB = libGLw.a" \
+ "CC = cc" \
+ "CFLAGS = -O -DAIXV3" \
+ "MAKELIB = ../bin/mklib.aix" \
+ "XLIBS = -lX11 -lXext -lXmu -lXi"
+
+# Make-config additions for the Amiga 3000 UX
+# Carlyn Voss Iuzzolino 5/8/95:
+# Modified gcc part as follows:
+# Needed to take out -pedantic because that makes gcc complain about
+# ANSI-CC not allowing #ident in Amiga's /usr/include/*.h files.
+# Took out -O2 (unrecognized option for gcc on the Amiga).
+# Needs /usr/lib/libsocket.a file.
+amix:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "GLW_LIB = libGLw.a" \
+ "CC = cc" \
+ "CFLAGS =" \
+ "MAKELIB = ../bin/mklib.ar-ruv" \
+ "XLIBS = -lX11 -lsocket -lnsl "
+
+beos-r4:
+ $(MAKE) -f Makefile.BeOS-R4 targets \
+ "GL_LIB = libGL.so" \
+ "GLU_LIB = libGLU.so" \
+ "GLUT_LIB = libglut.so" \
+ "GLW_LIB = libGLw.so" \
+ "CC = g++" \
+ "CFLAGS = -O -DNO_CONST" \
+ "MAKELIB = ../bin/mklib.beos-r4" \
+ "XLIBS = "
+
+bsdos:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "GLW_LIB = libGLw.a" \
+ "CC = gcc" \
+ "CFLAGS = -I/usr/X11/include -O2" \
+ "MAKELIB = ../bin/mklib.ar-ruv" \
+ "XLIBS = -L/usr/X11/lib -lX11 -lipc"
+
+bsdos4:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "GLW_LIB = libGLw.a" \
+ "CC = gcc" \
+ "CFLAGS = -I/usr/X11/include -O2 -fPIC" \
+ "MAKELIB = ../bin/mklib.bsdos4" \
+ "XLIBS = -L/usr/X11/lib -lX11 -lipc"
+
+cygnus:
+ $(MAKE) -f Makefile.cygnus $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "GLW_LIB = libGLw.a" \
+ "CC = gcc" \
+ "DLLTOOL = dlltool" \
+ "WING_DIR= /wing" \
+ "LD = ld" \
+ "CFLAGS = -I. -DWIN32 -D__WIN32__ -D_WINDOWS \
+ -O2 -funroll-loops \
+ -fexpensive-optimizations -fomit-frame-pointer -ffast-math \
+ -malign-loops=2 -malign-jumps=2 -malign-functions=2" \
+ "MAKELIB = ../bin/mklib.ar-ruv" \
+ "WLIBS = ../lib/wing32.a -lkernel32 -luser32 -lgdi32"
+
+cygnus-linux:
+ $(MAKE) -f Makefile.cygnus $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "GLW_LIB = libGLw.a" \
+ "CC = gnuwin32gcc" \
+ "DLLTOOL = gnuwin32dlltool --as gnuwin32as" \
+ "LD = gnuwin32ld" \
+ "WING_DIR= /dos/wing" \
+ "CFLAGS = -I. -DWIN32 -D__WIN32__ -D_WINDOWS \
+ -O2 -funroll-loops \
+ -fexpensive-optimizations -fomit-frame-pointer -ffast-math \
+ -malign-loops=2 -malign-jumps=2 -malign-functions=2" \
+ "MAKELIB = ../bin/mklib.cygnus-linux" \
+ "WLIBS = ../lib/wing32.a -lkernel32 -luser32 -lgdi32"
+
+dgux:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "GLW_LIB = libGLw.a" \
+ "CC = gcc" \
+ "CFLAGS = -O" \
+ "MAKELIB = ../bin/mklib.ar-ruv" \
+ "XLIBS = -lX11"
+
+freebsd:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "GLW_LIB = libGLw.a" \
+ "CC = gcc" \
+ "CFLAGS = -O2 -fPIC -pedantic -I/usr/X11R6/include -DSHM -DHZ=100" \
+ "MAKELIB = ../bin/mklib.freebsd" \
+ "XLIBS = -L/usr/X11R6/lib -lXext -lXmu -lXi -lX11"
+
+freebsd-386:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "GLW_LIB = libGLw.a" \
+ "CC = gcc" \
+ "CFLAGS = -O3 -ffast-math -fPIC -pedantic -I/usr/X11R6/include -DSHM -DHZ=100 -DUSE_X86_ASM -DFREEBSD" \
+ "MAKELIB = ../bin/mklib.freebsd" \
+ "XLIBS = -L/usr/X11R6/lib -lXext -lXmu -lXi -lX11" \
+ "ASM_SOURCES = X86/x86a.S X86/common_x86asm.S"
+
+gcc:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "GLW_LIB = libGLw.a" \
+ "CC = gcc" \
+ "CFLAGS = -pedantic -O2" \
+ "MAKELIB = ../bin/mklib.ar-ruv" \
+ "XLIBS = -lX11"
+
+hpux9:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "GLW_LIB = libGLw.a" \
+ "CC = cc" \
+ "CFLAGS = +O3 -Aa -D_HPUX_SOURCE -I/usr/include/X11R5 -DSHM" \
+ "MAKELIB = ../bin/mklib.ar-ruv" \
+ "XLIBS = -L/usr/lib/X11R5 -lXext -lXmu -lXi -lX11"
+
+hpux9-gcc:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "GLW_LIB = libGLw.a" \
+ "CC = gcc" \
+ "CFLAGS = -ansi -O3 -D_HPUX_SOURCE -I/usr/include/X11R5 -DSHM" \
+ "MAKELIB = ../bin/mklib.ar-ruv" \
+ "XLIBS = -L/usr/lib/X11R5 -lXext -lXmu -lXi -lX11"
+
+hpux9-sl:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.sl" \
+ "GLU_LIB = libGLU.sl" \
+ "GLUT_LIB = libglut.sl" \
+ "GLW_LIB = libGLw.sl" \
+ "CC = cc" \
+ "CFLAGS = +z +O3 +Olibcalls +ESlit -Aa +Onolimit -D_HPUX_SOURCE -I/usr/include/X11R5 -DSHM" \
+ "MAKELIB = ../bin/mklib.hpux" \
+ "XLIBS = -L/usr/lib/X11R5 -s -Wl,+s,-B,nonfatal,-B,immediate -lXext -lXmu -lXi -lX11"
+
+hpux9-gcc-sl:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.sl" \
+ "GLU_LIB = libGLU.sl" \
+ "GLUT_LIB = libglut.sl" \
+ "GLW_LIB = libGLw.sl" \
+ "CC = gcc" \
+ "CFLAGS = -fPIC -ansi -O3 -D_HPUX_SOURCE -I/usr/include/X11R5 -DSHM" \
+ "MAKELIB = ../bin/mklib.hpux" \
+ "XLIBS = -L/usr/lib/X11R5 -lXext -lXmu -lXi -lX11"
+
+hpux10:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "GLW_LIB = libGLw.a" \
+ "CC = cc" \
+ "CFLAGS = +O3 +DAportable -Aa -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DSHM" \
+ "MAKELIB = ../bin/mklib.ar-ruv" \
+ "XLIBS = -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11"
+
+hpux10-sl:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL" \
+ "GLU_LIB = libGLU" \
+ "GLUT_LIB = libglut" \
+ "GLW_LIB = libGLw.a" \
+ "CC = cc" \
+ "CFLAGS = +z -Ae +O2 +Onolimit +Oaggressive -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DSHM" \
+ "MAKELIB = ../bin/mklib.hpux" \
+ "XLIBS = -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11"
+
+hpux10-gcc:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "GLW_LIB = libGLw.a" \
+ "CC = gcc" \
+ "CFLAGS = -ansi -O3 -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DSHM" \
+ "MAKELIB = ../bin/mklib.ar-ruv" \
+ "XLIBS = -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11"
+
+hpux10-gcc-sl:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.sl" \
+ "GLU_LIB = libGLU.sl" \
+ "GLUT_LIB = libglut.sl" \
+ "GLW_LIB = libGLw.a" \
+ "CC = gcc" \
+ "CFLAGS = -fPIC -ansi -O3 -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DSHM" \
+ "MAKELIB = ../bin/mklib.hpux" \
+ "XLIBS = -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11"
+
+
+# For IRIX 4: don't use -fullwarn because it causes too much garbage
+irix4:
+ pmake $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "GLW_LIB = libGLw.a" \
+ "CC = cc" \
+ "CFLAGS = -O2 -ansi -prototypes -DSHM" \
+ "MAKELIB = ../bin/mklib.ar-rcv" \
+ "XLIBS = -lXext -lXmu -lXi -lX11"
+
+# On IRIX 5.3 -sopt causes a problem in drawpixels.c so we don't use it
+irix5:
+ pmake $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "GLW_LIB = libGLw.a" \
+ "CC = cc" \
+ "CFLAGS = -O2 -ansi -fullwarn -DSHM -DNO_CONST" \
+ "MAKELIB = ../bin/mklib.ar-rcv" \
+ "XLIBS = -lX11 -lXext -lXmu -lXi"
+
+# On IRIX 5.2+gcc
+irix5-gcc:
+ make $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "GLW_LIB = libGLw.a" \
+ "CC = gcc" \
+ "CFLAGS = -O2 -pedantic -DSHM" \
+ "MAKELIB = ../bin/mklib.ar-rcv" \
+ "XLIBS = -lX11 -lXext -lXmu -lXi"
+
+# IRIX 5 using Dynamic Shared Objects (DSO)
+irix5-dso:
+ pmake $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.so" \
+ "GLU_LIB = libGLU.so" \
+ "GLUT_LIB = libglut.so" \
+ "GLW_LIB = libGLw.so" \
+ "CC = cc" \
+ "CFLAGS = -O2 -ansi -fullwarn -DSHM -DNO_CONST" \
+ "MAKELIB = ../bin/mklib.irix5" \
+ "XLIBS = -rpath ../lib -lX11 -lXmu -lXi"
+
+irix6-o32:
+ pmake $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "GLW_LIB = libGLw.a" \
+ "CC = cc" \
+ "CFLAGS = -32 -mips2 -O2 -ansi -DSHM -DNO_CONST" \
+ "MAKELIB = ../bin/mklib.ar-rcv" \
+ "XLIBS = -lX11 -lXext -lXmu -lXi"
+
+irix6-o32-dso:
+ pmake $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.so" \
+ "GLU_LIB = libGLU.so" \
+ "GLUT_LIB = libglut.so" \
+ "GLW_LIB = libGLw.so" \
+ "CC = cc" \
+ "CFLAGS = -32 -mips2 -O2 -ansi -DSHM -DNO_CONST" \
+ "MAKELIB = ../bin/mklib.irix6-32" \
+ "XLIBS = -rpath ../lib -lX11 -lXext -lXmu -lXi"
+
+# For IRIX 6: -woff:
+# 1209 - controlling expression is constant
+irix6-n32:
+ pmake $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "GLW_LIB = libGLw.a" \
+ "LIBDIR = ../lib32" \
+ "CC = cc" \
+ "CFLAGS = -n32 -mips3 -O3 -ansi -woff 1209,1521" \
+ "MAKELIB = ../bin/mklib.ar-rcv" \
+ "XLIBS = -lX11 -lXext -lXmu -lXi"
+
+irix6-n32-dso:
+ pmake $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.so" \
+ "GLU_LIB = libGLU.so" \
+ "GLUT_LIB = libglut.so" \
+ "GLW_LIB = libGLw.a" \
+ "LIBDIR = ../lib32" \
+ "CC = cc" \
+ "CFLAGS = -n32 -mips3 -O3 -ansi -DSHM -woff 1185,1521" \
+ "MAKELIB = ../bin/mklib.irix6-n32" \
+ "XLIBS = -rpath ../lib32 -lX11 -lXmu -lXi -lfpe"
+
+irix6-gcc-n32-sl:
+ make $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.so" \
+ "GLU_LIB = libGLU.so" \
+ "GLUT_LIB = libglut.so" \
+ "GLW_LIB = libGLw.so" \
+ "LIBDIR = ../lib32" \
+ "CC = gcc" \
+ "CFLAGS = -mabi=n32 -mips3 -O3 -DSHM" \
+ "MAKELIB = ../bin/mklib.irix6-n32" \
+ "XLIBS = -rpath ../lib32 -lX11 -lXmu -lXi"
+
+# For IRIX 6-64: -woff:
+# 1068 - integer conversion resulted in a change of sign
+# 1069 - integer conversion resulted in truncation
+# 1174 - variable was declared but never referenced
+# 1185 - enumerated type mixed with another type
+# 1209 - controlling expression is constant
+# 1474 - declaring a void parameter list with a typedef is nonstandard
+# 1552 - variable was set but never used
+irix6-64:
+ pmake $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "GLW_LIB = libGLw.a" \
+ "LIBDIR = ../lib64" \
+ "CC = cc" \
+ "CFLAGS = -64 -O3 -ansi -woff 1068,1069,1174,1185,1209,1474,1552 -DSHM" \
+ "MAKELIB = ../bin/mklib.ar-rcv" \
+ "XLIBS = -lX11 -lXext -lXmu -lXi"
+
+irix6-64-dso:
+ pmake $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.so" \
+ "GLU_LIB = libGLU.so" \
+ "GLUT_LIB = libglut.so" \
+ "GLW_LIB = libGLw.so" \
+ "LIBDIR = ../lib64" \
+ "CC = cc" \
+ "CFLAGS = -64 -O3 -ansi -woff 1068,1069,1174,1185,1209,1474,1552 -DSHM" \
+ "MAKELIB = ../bin/mklib.irix6-64" \
+ "XLIBS = -rpath ../lib64 -lX11 -lXmu -lXi"
+
+# May want to try these CFLAGS for better performance under Linux and GCC:
+# -fPIC -O2 -ansi -pedantic -mieee-fp -DSHM -funroll-loops
+# -fexpensive-optimizations -fomit-frame-pointer -ffast-math
+# and -malign-loops=2 -malign-jumps=2 -malign-functions=2 for Pentium
+
+linux:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "GLW_LIB = libGLw.a" \
+ "CC = gcc" \
+ "CFLAGS = -O2 -funroll-loops -ansi -pedantic -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE -DSHM -I/usr/X11R6/include" \
+ "MAKELIB = ../bin/mklib.ar-ruv" \
+ "XLIBS = -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lSM -lICE"
+
+# One Linux user reports having to use these XLIBS:
+# -lMrm -lXmu -lXi -lXt -lXext -lXmu -lXi -lSM -lICE -lX11
+
+linux-elf:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.so" \
+ "GLU_LIB = libGLU.so" \
+ "GLUT_LIB = libglut.so" \
+ "GLW_LIB = libGLw.so" \
+ "CC = gcc" \
+ "CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE -DSHM -I/usr/X11R6/include" \
+ "MAKELIB = ../bin/mklib.linux" \
+ "XLIBS = -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lSM -lICE"
+
+linux-glide:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.so" \
+ "GLU_LIB = libGLU.so" \
+ "GLUT_LIB = libglut.so" \
+ "GLW_LIB = libGLw.so" \
+ "CC = gcc" \
+ "CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE -DSHM -DFX -I/usr/X11R6/include -I/usr/include/glide -I/usr/local/glide/include" \
+ "MAKELIB = ../bin/mklib.linux" \
+ "XLIBS = -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lSM -lICE -L/usr/local/glide/lib -lglide2x -lm"
+
+# Linux on Intel X86: assembly language optimizations
+linux-386:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "GLW_LIB = libGLw.a" \
+ "CC = gcc" \
+ "CFLAGS = -O2 -funroll-loops -ansi -pedantic -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE -DSHM -DUSE_X86_ASM -I/usr/X11R6/include" \
+ "MAKELIB = ../bin/mklib.ar-ruv" \
+ "XLIBS = -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lSM -lICE -lm" \
+ "ASM_SOURCES = X86/x86a.S X86/common_x86asm.S"
+
+linux-386-elf:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.so" \
+ "GLU_LIB = libGLU.so" \
+ "GLUT_LIB = libglut.so" \
+ "GLW_LIB = libGLw.so" \
+ "CC = gcc" \
+ "CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE -DSHM -DUSE_X86_ASM -I/usr/X11R6/include" \
+ "MAKELIB = ../bin/mklib.linux" \
+ "XLIBS = -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lSM -lICE -lm" \
+ "ASM_SOURCES = X86/x86a.S X86/common_x86asm.S"
+
+linux-386-glide:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.so" \
+ "GLU_LIB = libGLU.so" \
+ "GLUT_LIB = libglut.so" \
+ "GLW_LIB = libGLw.so" \
+ "CC = gcc" \
+ "CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_X86_ASM -DSHM -DFX -I/usr/X11R6/include -I/usr/include/glide -I/usr/local/glide/include" \
+ "MAKELIB = ../bin/mklib.linux" \
+ "XLIBS = -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lSM -lICE -L/usr/local/glide/lib -lglide2x -lm" \
+ "ASM_SOURCES = X86/x86a.S X86/common_x86asm.S"
+
+linux-386-glide-mits:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.so" \
+ "GLU_LIB = libGLU.so" \
+ "GLUT_LIB = libglut.so" \
+ "GLW_LIB = libGLw.so" \
+ "CC = gcc" \
+ "CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE -DSHM -DFX -D_REENTRANT -DMITS -DUSE_X86_ASM -I/usr/X11R6/include -I/usr/include/glide -I/usr/local/glide/include" \
+ "MAKELIB = ../bin/mklib.linux" \
+ "XLIBS = -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lSM -lICE -L/usr/local/glide/lib -lglide2x -lm -lpthread" \
+ "ASM_SOURCES = X86/x86a.S X86/common_x86asm.S"
+
+linux-386-opt-V2-glide:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.so" \
+ "GLU_LIB = libGLU.so" \
+ "GLUT_LIB = libglut.so" \
+ "GLW_LIB = libGLw.so" \
+ "CC = gcc" \
+ "CFLAGS = -O3 -m486 -fomit-frame-pointer -pipe -ansi -pedantic -ffast-math -fexpensive-optimizations -malign-loops=2 -malign-jumps=2 -malign-functions=2 -D_SVID_SOURCE -D_BSD_SOURCE -DSHM -DFX -DFX_V2 -DUSE_X86_ASM -I/usr/X11R6/include -I/usr/include/glide -I/usr/local/glide/include"\
+ "MAKELIB = ../bin/mklib.linux" \
+ "XLIBS = -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lSM -lICE -L/usr/local/glide/lib -lglide2x -lm -lpthread" \
+ "ASM_SOURCES = X86/x86a.S X86/common_x86asm.S"
+
+linux-386-opt-glide:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.so" \
+ "GLU_LIB = libGLU.so" \
+ "GLUT_LIB = libglut.so" \
+ "GLW_LIB = libGLw.so" \
+ "CC = gcc" \
+ "CFLAGS = -O3 -m486 -fomit-frame-pointer -pipe -ansi -pedantic -ffast-math -fexpensive-optimizations -malign-loops=2 -malign-jumps=2 -malign-functions=2 -D_SVID_SOURCE -D_BSD_SOURCE -DSHM -DFX -DUSE_X86_ASM -I/usr/X11R6/include -I/usr/include/glide -I/usr/local/glide/include" \
+ "MAKELIB = ../bin/mklib.linux" \
+ "XLIBS = -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lSM -lICE -L/usr/local/glide/lib -lglide2x -lm" \
+ "ASM_SOURCES = X86/x86a.S X86/common_x86asm.S"
+
+linux-3dnow:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.so" \
+ "GLU_LIB = libGLU.so" \
+ "GLUT_LIB = libglut.so" \
+ "GLW_LIB = libGLw.so" \
+ "CC = gcc -malign-loops=2 -malign-jumps=2 -malign-functions=2" \
+ "CFLAGS = -Wall -O3 -ansi -pedantic -fPIC -ffast-math -funroll-loops -fomit-frame-pointer -D_SVID_SOURCE -D_BSD_SOURCE -DSHM -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -I/usr/X11R6/include" \
+ "MAKELIB = ../bin/mklib.linux" \
+ "XLIBS = -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lSM -lICE" \
+ "ASM_SOURCES = X86/x86a.S X86/common_x86asm.S \
+ X86/mmx_blend.S \
+ X86/3dnow_xform_raw1.S X86/3dnow_xform_raw2.S \
+ X86/3dnow_xform_raw3.S X86/3dnow_xform_raw4.S \
+ X86/3dnow_xform_masked1.S X86/3dnow_xform_masked2.S \
+ X86/3dnow_xform_masked3.S X86/3dnow_xform_masked4.S \
+ X86/3dnow_norm_raw.S"
+
+linux-3dnow-glide:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.so" \
+ "GLU_LIB = libGLU.so" \
+ "GLUT_LIB = libglut.so" \
+ "GLW_LIB = libGLw.so" \
+ "CC = gcc -malign-loops=2 -malign-jumps=2 -malign-functions=2" \
+ "CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -funroll-loops -fomit-frame-pointer -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DSHM -DFX -I/usr/X11R6/include -I/usr/include/glide -I/usr/local/glide/include -I/usr/src/mesa-glx/src/FX/X86" \
+ "MAKELIB = ../bin/mklib.linux" \
+ "XLIBS = -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lSM -lICE -L/usr/local/glide/lib -lglide2x -lm" \
+ "ASM_SOURCES = X86/x86a.S X86/common_x86asm.S \
+ X86/mmx_blend.S \
+ X86/3dnow_xform_raw1.S X86/3dnow_xform_raw2.S \
+ X86/3dnow_xform_raw3.S X86/3dnow_xform_raw4.S \
+ X86/3dnow_xform_masked1.S X86/3dnow_xform_masked2.S \
+ X86/3dnow_xform_masked3.S X86/3dnow_xform_masked4.S \
+ X86/3dnow_norm_raw.S \
+ FX/X86/fx_3dnow_fastpath.S"
+
+
+# Contributed by Uwe_Maurer@t-online.de
+linux-ggi:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.so" \
+ "GLU_LIB = libGLU.so" \
+ "GLUT_LIB = libglut.so" \
+ "GLW_LIB = libGLw.a" \
+ "CC = gcc" \
+ "CFLAGS = -O3 -fPIC -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DSHM -DGGI -DCDECL=" \
+ "MAKELIB = ../bin/mklib.ggi" \
+ "XLIBS = -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lSM -lICE -lggi"
+
+# Contributed by Emmanuel marty core@ggi-project.org
+linux-386-ggi:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.so" \
+ "GLU_LIB = libGLU.so" \
+ "GLUT_LIB = libglut.so" \
+ "GLW_LIB = libGLw.so" \
+ "CC = gcc" \
+ "CFLAGS = -O3 -fPIC -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DSHM -DUSE_X86_ASM -DGGI -DCDECL=" \
+ "MAKELIB = ../bin/mklib.ggi" \
+ "XLIBS = -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lSM -lICE -lggi" \
+ "ASM_SOURCES = X86/x86a.S X86/common_x86asm.S"
+
+# Linux on Alpha (based on email from John Ferguson ferguson@viz.tamu.edu)
+linux-alpha:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.so" \
+ "GLW_LIB = libGLw.a" \
+ "CC = gcc" \
+ "CFLAGS = -O2 -mieee -pedantic -L/usr/X11R6/lib -D_XOPEN_SOURCE -DSHM" \
+ "MAKELIB = ../bin/mklib.ar-ruv" \
+ "XLIBS = -L/usr/X11R6/lib -lX11"
+
+linux-alpha-elf:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.so" \
+ "GLU_LIB = libGLU.so" \
+ "GLUT_LIB = libglut.so" \
+ "GLW_LIB = libGLw.so" \
+ "CC = gcc" \
+ "CFLAGS = -ansi -mieee -pedantic -fPIC -D_XOPEN_SOURCE -DSHM" \
+ "MAKELIB = ../bin/mklib.linux" \
+ "XLIBS = -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXi"
+
+# Not tested, but should be okay on any RedHat-based linux for PowerPC machines
+# If your linux supports shared libraries, you might want to build with the
+# the "linux-ppc-shared" entry instead
+# You might want to change the mcpu flag appropriately for your
+# processor (601, 603, 604, etc.), it but doesn't make much difference
+linux-ppc:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "GLW_LIB = libGLw.a" \
+ "CC = gcc" \
+ "CFLAGS = -O3 -mcpu=603 -ansi -pedantic -fsigned-char -ffast-math -funroll-loops -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DSHM" \
+ "MAKELIB = ../bin/mklib.ar-ruv" \
+ "XLIBS = -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lSM -lICE"
+
+# -O5 and -fexpensive-optimizations causes a compiler crash for Linux PPC R4
+linux-ppc-so:
+ $(MAKE) targets \
+ "GL_LIB = libGL.so" \
+ "GLU_LIB = libGLU.so" \
+ "GLUT_LIB = libglut.so" \
+ "GLW_LIB = libGLw.so" \
+ "CC = gcc" \
+ "CFLAGS = -O3 -mcpu=603 -ansi -pedantic -fPIC -fsigned-char -ffast-math -funroll-loops -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DSHM" \
+ "MAKELIB = ../bin/mklib.linux" \
+ "XLIBS = -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lSM -lICE"
+
+# Contributed by John Stone
+linux-386-pthread:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "CC = gcc" \
+ "CFLAGS = -O2 -funroll-loops -ansi -pedantic -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R\6/include -DSHM -DUSE_X86_ASM -D_REENTRANT -DTHREADS -DPTHREADS" \
+ "MAKELIB = ../bin/mklib.ar-ruv" \
+ "XLIBS = -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lSM -lICE -lpthread" \
+ "ASM_SOURCES = asm_386.S"
+
+# Contributed by John Gotts
+linux-386-pthread-shared:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.so" \
+ "GLU_LIB = libGLU.so" \
+ "GLUT_LIB = libglut.so" \
+ "CC = gcc" \
+ "CFLAGS = -O3 -fPIC -funroll-loops -ansi -pedantic -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE -I/us\r/X11R6/include -DSHM -DUSE_X86_ASM -D_REENTRANT -DTHREADS -DPTHREADS" \
+ "MAKELIB = ../bin/mklib.linux" \
+ "XLIBS = -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lSM -lICE -lpthread" \
+ "ASM_SOURCES = asm_386.S"
+
+linux-sparc:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "GLW_LIB = libGLw.a" \
+ "CC = gcc" \
+ "CFLAGS = -pedantic -funroll-loops -O3 -DSHM" \
+ "MAKELIB = ../bin/mklib.ar-ruv" \
+ "XLIBS = -L/usr/X11R6/lib -lX11 -lXext -lXt -lSM -lICE -lXmu -lXi"
+
+# Replace -mv8 with -mcypress, -msupersparc or -msparclite as appropriate.
+linux-sparc5-elf:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.so" \
+ "GLU_LIB = libGLU.so" \
+ "GLUT_LIB = libglut.so" \
+ "GLW_LIB = libGLw.so" \
+ "CC = gcc" \
+ "CFLAGS = -mv8 -O2 -ffast-math -ansi -pedantic -fPIC -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DSHM" \
+ "MAKELIB = ../bin/mklib.linux" \
+ "XLIBS = -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lSM -lICE"
+
+# 32-bit Sparc ELF userland, on UltraSparc
+linux-sparc-ultra:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.so" \
+ "GLU_LIB = libGLU.so" \
+ "GLUT_LIB = libglut.so" \
+ "GLW_LIB = libGLw.so" \
+ "CC = gcc" \
+ "CFLAGS = -mv8 -O2 -mtune=ultrasparc -ansi -pedantic -fPIC -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DSHM" \
+ "MAKELIB = ../bin/mklib.linux" \
+ "XLIBS = -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lSM -lICE"
+
+# May want to add these CFLAGS for better performance under LynxOS and GCC:
+# -fPIC -O2 -ansi -pedantic -mieee-fp -DSHM -funroll-loops
+# -fexpensive-optimizations -fomit-frame-pointer -ffast-math
+# and -malign-loops=2 -malign-jumps=2 -malign-functions=2 for Pentium
+
+lynxos:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "GLW_LIB = libGLw.a" \
+ "CC = gcc" \
+ "CFLAGS = -O2 -ansi -pedantic -funroll-loops -ffast-math -DSHM" \
+ "MAKELIB = ../bin/mklib.ar-ruv" \
+ "XLIBS = -L/usr/X11/lib -lXext -lXi -lXmu -lX11 -lbsd"
+
+machten-2.2:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "GLW_LIB = libGLw.a" \
+ "CC = gcc" \
+ "CFLAGS = -DTENON -D__MACHTEN__ -fstrength-reduce -m68881 -O2" \
+ "MAKELIB = ../bin/mklib.ar-rcv" \
+ "XLIBS = -L/usr/lib/X11 -lX11"
+
+machten-4.0:
+ $(MAKE) targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "GLW_LIB = libGLw.a" \
+ "CC = gcc" \
+ "CFLAGS = -DTENON -D__MACHTEN__ -fstrength-reduce -O2" \
+ "MAKELIB = ../bin/mklib.ar-rcv" \
+ "XLIBS = -L/usr/X11R5/lib -lX11"
+
+mklinux:
+ $(MAKE) targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "GLW_LIB = libGLw.a" \
+ "CC = gcc" \
+ "CFLAGS = -pedantic -O2" \
+ "MAKELIB = ../bin/mklib.ar-ruv" \
+ "XLIBS = -lmoto -L/usr/X11/lib -lXmu -lX11"
+
+netbsd:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.so" \
+ "GLU_LIB = libGLU.so" \
+ "GLUT_LIB = libglut.so" \
+ "GLW_LIB = libGLw.so" \
+ "CC = gcc" \
+ "CFLAGS = -O2 -fPIC -DSHM -I/usr/X11R6/include -DHZ=100" \
+ "MAKELIB = ../bin/mklib.netbsd" \
+ "XLIBS = -L/usr/X11R6/lib -lXext -lXmu -lXi -lX11"
+
+next:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "DRIVER_SOURCES = OSmesa/osmesa.c" \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "CC = ${MYCC}" \
+ "CFLAGS = -traditional-cpp -DOPENSTEP -O4" \
+ "MAKELIB = ../bin/mklib.ar-ruv"
+
+openbsd:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.so" \
+ "GLU_LIB = libGLU.so" \
+ "GLUT_LIB = libglut.so" \
+ "GLW_LIB = libGLw.so" \
+ "CC = cc" \
+ "CFLAGS = -O2 -fPIC -I/usr/X11R6/include -DSHM -DHZ=100" \
+ "MAKELIB = ../bin/mklib.openbsd" \
+ "XLIBS = -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXi"
+
+openstep:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "DRIVER_SOURCES = OSmesa/osmesa.c" \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "CC = ${MYCC}" \
+ "CFLAGS = -traditional-cpp -DOPENSTEP -O4" \
+ "MAKELIB = ../bin/mklib.openstep"
+
+openstep-win32:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "DRIVER_SOURCES = OSmesa/osmesa.c" \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "CC = gcc" \
+ "CFLAGS = -DOPENSTEP -O4" \
+ "MAKELIB = ../bin/mklib.openstep"
+
+os2-x11:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = MesaGL.a" \
+ "GLU_LIB = MesaGLU.a" \
+ "GLUT_LIB = glut.a" \
+ "GLW_LIB = GLw.a" \
+ "CC = gcc" \
+ "CFLAGS = -Zmt -O3 -m486 -funroll-loops -Wall -Wno-unused -ansi -pedantic -ffast-math -DUSE_X86_ASM -D_SVID_SOURCE -D_BSD_SOURCE -I$(X11ROOT)/XFree86/include" \
+ "MAKELIB = ..\\bin\\mklib-emx.cmd " \
+ "XLIBS = -Zmt -Zcrtdll -Zexe -L$(X11ROOT)/XFree86/lib -lXt -lX11" \
+ "ASM_SOURCES = X86/x86a.S X86/common_x86asm.S"
+
+osf1:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "GLW_LIB = libGLw.a" \
+ "CC = cc" \
+ "CFLAGS = -O2 -std1 -ieee_with_no_inexact -DSHM -DNO_CONST" \
+ "MAKELIB = ../bin/mklib.ar-ruv" \
+ "XLIBS = -lX11 -lXext -lXmu -lXi"
+
+osf1-sl:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.so" \
+ "GLU_LIB = libGLU.so" \
+ "GLUT_LIB = libglut.so" \
+ "GLW_LIB = libGLw.so" \
+ "CC = cc" \
+ "CFLAGS = -O2 -std1 -ieee_with_no_inexact -DSHM -DNO_CONST" \
+ "MAKELIB = ../bin/mklib.osf1" \
+ "XLIBS = -lX11 -lXext -lXmu -lXi"
+
+pgi-cygnus:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "GLW_LIB = libGLw.a" \
+ "CC = pgcc" \
+ "CFLAGS = -fast -cyglibs -Munix -I. -DWIN32 -D__WIN32__ -D_WINDOWS " \
+ "MAKELIB = ../bin/mklib.ar-ruv" \
+ "XLIBS = -lX11"
+
+pgi-mingw32:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "GLW_LIB = libGLw.a" \
+ "CC = pgcc" \
+ "CFLAGS = -fast -msvcrt -Munix -I. -DWIN32 -D__WIN32__ -D_WINDOWS " \
+ "MAKELIB = ../bin/mklib.ar-ruv" \
+ "XLIBS = -lX11"
+
+# QNX V4 & Watcom Compiler
+qnx:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "GLW_LIB = libGLw.a" \
+ "CC = cc" \
+ "CFLAGS = -O" \
+ "MAKELIB = ../bin/mklib.qnx" \
+ "XLIBS = -L/usr/X11/lib -lX11"
+
+sco:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "GLW_LIB = libGLw.a" \
+ "CC = gcc" \
+ "CFLAGS = -pedantic -O2 -mieee-fp" \
+ "MAKELIB = ../bin/mklib.ar-ruv" \
+ "XLIBS = -L/usr/X11/lib -lX11"
+
+solaris-x86:
+ $(MAKE) targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "GLW_LIB = libGLw.a" \
+ "CC = cc" \
+ "CFLAGS = -Xa -xO3 -xpentium -KPIC -I/usr/openwin/include -DSHM" \
+ "MAKELIB = ../bin/mklib.solaris" \
+ "XLIBS = -L/usr/openwin/lib -R/usr/openwin/lib -lX11 -lXext -lXmu -lXi"
+
+solaris-x86-gcc:
+ $(MAKE) targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "GLW_LIB = libGLw.a" \
+ "CC = gcc" \
+ "CFLAGS = -O3 -m486 -fPIC -I/usr/openwin/include -DSHM" \
+ "MAKELIB = ../bin/mklib.solaris" \
+ "XLIBS = -L/usr/openwin/lib -R/usr/openwin/lib -lX11 -lXext -lXmu -lXi"
+
+sunos4:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "GLW_LIB = libGLw.a" \
+ "CC = acc" \
+ "CFLAGS = -O -DSHM -DSUNOS4" \
+ "MAKELIB = ../bin/mklib.ar-ruv" \
+ "XLIBS = -lX11 -lXext -lXmu -lXi"
+
+sunos4-sl:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.so" \
+ "GLU_LIB = libGLU.so" \
+ "GLUT_LIB = libglut.so" \
+ "GLW_LIB = libGLw.so" \
+ "CC = acc" \
+ "CFLAGS = -Kpic -O -I/usr/include/X11R5 -DSHM -DSUNOS4" \
+ "MAKELIB = ld -assert pure-text -o" \
+ "XLIBS = -L/usr/lib/X11R5 -lX11 -lXext -lXmu -lXi"
+
+sunos4-gcc:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "GLW_LIB = libGLw.a" \
+ "CC = gcc" \
+ "CFLAGS = -O3 -DSHM -DSUNOS4 -I/usr/openwin/include" \
+ "MAKELIB = ../bin/mklib.ar-ruv" \
+ "XLIBS = -L/usr/openwin/lib -lX11 -lXext -lXmu -lXi"
+
+sunos4-gcc-sl:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.so.$(VERSION)" \
+ "GLU_LIB = libGLU.so.$(VERSION)" \
+ "GLUT_LIB = libglut.so" \
+ "GLW_LIB = libGLw.so" \
+ "CC = gcc" \
+ "CFLAGS = -fPIC -O3 -I/usr/openwin/include -I/usr/include/X11R5 -I/usr/include/X11R5 -DSHM -DSUNOS4 -DSOLARIS_2_4_BUG" \
+ "MAKELIB = ../bin/mklib.sunos4" \
+ "XLIBS = -L/usr/openwin/lib -lX11 -lXext -lXmu -lXi"
+
+sunos4-gcc-x11r6-sl:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.so.$(VERSION)" \
+ "GLU_LIB = libGLU.so.$(VERSION)" \
+ "GLUT_LIB = libglut.so" \
+ "GLW_LIB = libGLw.so" \
+ "CC = gcc" \
+ "CFLAGS = -fPIC -O3 -I/usr/X11R6.3/include -DSHM -DSUNOS4 -DSOLARIS_2_4_BUG" \
+ "MAKELIB = ../bin/mklib.sunos4" \
+ "XLIBS = -L/usr/X11R6.3/lib/X11 -lX11 -lXext -lXmu -lXi"
+
+sunos5:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "GLW_LIB = libGLw.a" \
+ "CC = cc" \
+ "CFLAGS = -Xa -fast -xO4 -native -I/usr/openwin/include -I/usr/dt/include -DSHM -DSOLARIS_2_4_BUG" \
+ "MAKELIB = ../bin/mklib.ar-ruv" \
+ "XLIBS = -L/usr/openwin/lib -L/usr/dt/lib -R/usr/openwin/lib -lX11 -lXext -lXmu -lXi"
+
+sunos5-sl:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.so" \
+ "GLU_LIB = libGLU.so" \
+ "GLUT_LIB = libglut.so" \
+ "GLW_LIB = libGLw.so" \
+ "CC = cc" \
+ "CFLAGS = -KPIC -Xa -O -I/usr/openwin/include -I/usr/dt/include -DSHM -DSOLARIS_2_4_BUG" \
+ "MAKELIB = ../bin/mklib.sunos5" \
+ "XLIBS = -L/usr/openwin/lib -L/usr/dt/lib -R/usr/openwin/lib -lX11 -lXext -lXmu -lXi"
+
+sunos5-ultra:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "GLW_LIB = libGLw.a" \
+ "CC = cc" \
+ "CFLAGS = -Xa -fast -xO5 -xtarget=ultra -I/usr/openwin/include -I/usr/dt/include -DSHM -DSOLARIS_2_4_BUG" \
+ "MAKELIB = ../bin/mklib.ar-ruv" \
+ "XLIBS = -L/usr/openwin/lib -L/usr/dt/lib -R/usr/openwin/lib -lX11 -lXext -lXmu -lXi"
+
+sunos5-ultra-sl:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.so" \
+ "GLU_LIB = libGLU.so" \
+ "GLUT_LIB = libglut.so" \
+ "GLW_LIB = libGLw.so" \
+ "CC = cc" \
+ "CFLAGS = -KPIC -Xa -fast -xO5 -xtarget=ultra -I/usr/openwin/include -I/usr/dt/include -DSHM -DSOLARIS_2_4_BUG" \
+ "MAKELIB = ../bin/mklib.sunos5" \
+ "XLIBS = -L/usr/openwin/lib -L/usr/dt/lib -R/usr/openwin/lib -lX11 -lXext -lXmu -lXi"
+
+sunos5-gcc:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "GLW_LIB = libGLw.a" \
+ "CC = gcc" \
+ "CFLAGS = -O3 -I/usr/openwin/include -DSHM -DSOLARIS_2_4_BUG" \
+ "MAKELIB = ../bin/mklib.ar-ruv" \
+ "XLIBS = -L/usr/openwin/lib -lX11 -lXext -lXmu -lXi"
+
+sunos5-gcc-sl:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.so" \
+ "GLU_LIB = libGLU.so" \
+ "GLUT_LIB = libglut.so" \
+ "GLW_LIB = libGLw.so" \
+ "CC = gcc" \
+ "CFLAGS = -fPIC -O3 -I/usr/openwin/include -DSHM -DSOLARIS_2_4_BUG" \
+ "MAKELIB = ../bin/mklib.sunos5" \
+ "XLIBS = -L/usr/openwin/lib -R/usr/openwin/lib -lX11 -lXext -lXmu -lXi"
+
+sunos5-x11r6-gcc-sl:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.so" \
+ "GLU_LIB = libGLU.so" \
+ "GLUT_LIB = libglut.so" \
+ "GLW_LIB = libGLw.so" \
+ "CC = gcc" \
+ "CFLAGS = -fPIC -O3 -DSHM -DSOLARIS_2_4_BUG" \
+ "MAKELIB = ../bin/mklib.sunos5" \
+ "XLIBS = -lSM -lICE -lX11 -lXext -lXmu -lXi -lnsl -lsocket"
+
+# Contributed by John Stone
+sunos5-pthread:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "CC = cc" \
+ "CFLAGS = -mt -Xa -fast -xO4 -native -I/usr/openwin/include -I/usr/dt/include -DSHM -DSOLARIS_2_4\_BUG -DTHREADS -DPTHREADS" \
+ "MAKELIB = ../bin/mklib.ar-ruv" \
+ "XLIBS = -L/usr/openwin/lib -L/usr/dt/lib -R/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lpthread"
+
+# Contributed by John Stone
+sunos5-thread:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "CC = cc" \
+ "CFLAGS = -mt -Xa -fast -xO4 -native -I/usr/openwin/include -I/usr/dt/include -DSHM -DSOLARIS_2_4\_BUG -DTHREADS -DSOLARIS_THREADS" \
+ "MAKELIB = ../bin/mklib.ar-ruv" \
+ "XLIBS = -L/usr/openwin/lib -L/usr/dt/lib -R/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lthread"
+
+# Contributed by John Stone
+sunos5-gcc-thread:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "CC = gcc" \
+ "CFLAGS = -O3 -I/usr/openwin/include -DSHM -DSOLARIS_2_4_BUG -D_REENTRANT -DTHREADS -DSOLARIS_THR\EADS" \
+ "MAKELIB = ../bin/mklib.ar-ruv" \
+ "XLIBS = -L/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lthread"
+
+# Contributed by John Stone
+sunos5-gcc-pthread:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "CC = gcc" \
+ "CFLAGS = -O3 -I/usr/openwin/include -DSHM -DSOLARIS_2_4_BUG -D_REENTRANT -DTHREADS -DPTHREADS" \
+ "MAKELIB = ../bin/mklib.ar-ruv" \
+ "XLIBS = -L/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lpthread"
+
+# from Ron Metoyer (metoyer@iexist.flw.lucent.com)
+sunSolaris-CC:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "GLW_LIB = libGLw.a" \
+ "CC = CC" \
+ "CFLAGS = -O -I/usr/openwin/include -DSHM -DSOLARIS_2_4_BUG" \
+ "MAKELIB = ../bin/mklib.ar-ruv" \
+ "XLIBS = -L/usr/openwin/lib -R/usr/openwin/lib -lX11 -lXext -lXmu -lXi"
+
+#This config doesn't work, Ultrix C compiler isn't ANSI compliant
+ultrix:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "GLW_LIB = libGLw.a" \
+ "CC = cc" \
+ "CFLAGS = -O -Dconst=/**/" \
+ "MAKELIB = ../bin/mklib.ar-ruv" \
+ "XLIBS = -lXmu -lX11 -lXi"
+
+ultrix-gcc:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "GLW_LIB = libGLw.a" \
+ "CC = gcc" \
+ "CFLAGS = -pedantic -O2" \
+ "MAKELIB = ../bin/mklib.ar-ruv" \
+ "XLIBS = -lXmu -lX11 -lXi"
+
+# tested on Cray C90 running UNICOS 8.0.4
+unicos:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "GLW_LIB = libGLw.a" \
+ "CC = cc" \
+ "CFLAGS =" \
+ "MAKELIB = ../bin/mklib/ar-rcv" \
+ "XLIBS = -lX11 -lXext -lXmu -lXi"
+
+unixware:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "GLW_LIB = libGLw.a" \
+ "CC = cc" \
+ "CFLAGS = -O -I/usr/X/include -DSHM" \
+ "MAKELIB = ../bin/mklib.ar-ruv" \
+ "XLIBS = -lX11 -lXext -lXmu -lXi -lsocket -lnsl"
+
+unixware-shared:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL" \
+ "GLU_LIB = libGLU" \
+ "GLUT_LIB = libglut" \
+ "GLW_LIB = libGLw" \
+ "CC = cc" \
+ "CFLAGS = -O -I/usr/X/include -KPIC,inline -DSHM" \
+ "MAKELIB = ../bin/mklib.solaris" \
+ "XLIBS = -lX11 -lXext -lXmu -lXi -lsocket -lnsl"
+
+uwin:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "CC = gcc" \
+ "CFLAGS = -pedantic -O2 -I/usr/X11/include " \
+ "MAKELIB = ../bin/mklib.ar-ruv" \
+ "XLIBS = -L/usr/X11/lib -lX11"
+
+vistra:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "GLW_LIB = libGLw.a" \
+ "CC = gcc" \
+ "CFLAGS = -pedantic -O2" \
+ "MAKELIB = ../bin/mklib.ar-ruv" \
+ "XLIBS = -lX11 -lsocket -lnsl -lgen"
+
+
+# for debugging on IRIX 5.x systems
+# -woff 1209 = "controlling expression is constant"
+# -woff 1210 = "controlling expression is constant"
+# -woff 1506 = "implict conversion from unsigned long to smaller type"
+# -woff 1521 = "nonstandard preprocessing directive is used"
+# -woff 3496 = "bitwise operator precedence"
+irix-debug:
+ pmake $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "GLW_LIB = libGLw.a" \
+ "LIBDIR = ../lib32" \
+ "CC = cc" \
+ "CFLAGS = -g -n32 -ansi -fullwarn -DSHM -DDEBUG -woff 1209,1210,1506,1521,3496" \
+ "MAKELIB = ../bin/mklib.ar-rcv" \
+ "XLIBS = -rpath ../lib32 -lX11 -lXext -lXmu -lXi -lfpe -lXext -lXmu -lXi"
+
+DEBUG:
+ pmake $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "GLW_LIB = libGLw.a" \
+ "CC = cc" \
+ "CFLAGS = -g -ansi -prototypes -fullwarn -DSHM -DDEBUG" \
+ "MAKELIB = ../bin/mklib.ar-rcv" \
+ "XLIBS = -lX11 -lXext -lXmu -lXi -lfpe"
+
+# for debugging on Linux systems
+linux-debug:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "GLW_LIB = libGLw.a" \
+ "CC = gcc" \
+ "CFLAGS = -g -ansi -pedantic -Wall -DSHM -DDEBUG -DSVGA -DFX -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_X86_ASM_not -I/usr/include/glide -I/usr/local/glide/include" \
+ "MAKELIB = ../bin/mklib.ar-ruv" \
+ "XLIBS = -L/usr/local/glide/lib -lglide2x -ltexus -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lSM -lICE -lvga" \
+ "ASM_SOURCES = X86/x86a.S X86/common_x86asm.S"
+
+linux-elf-debug:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.so" \
+ "GLU_LIB = libGLU.so" \
+ "GLUT_LIB = libglut.so" \
+ "GLW_LIB = libGLw.so" \
+ "CC = gcc" \
+ "CFLAGS = -g -ansi -pedantic -Wall -fPIC -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DSHM -DFX -DDEBUG -I/usr/local/glide/include -I/usr/include/glide" \
+ "MAKELIB = ../bin/mklib.linux" \
+ "XLIBS = -L/usr/local/glide/lib -lglide2x -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lSM -lICE -lvga -L/usr/local/glide/lib -lglide2x -lm" \
+ "ASM_SOURCES = X86/x86a.S X86/common_x86asm.S"
+
+# for profiling on Linux systems
+linux-prof:
+ $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+ "GL_LIB = libGL.a" \
+ "GLU_LIB = libGLU.a" \
+ "GLUT_LIB = libglut.a" \
+ "GLW_LIB = libGLw.a" \
+ "CC = gcc" \
+ "CFLAGS = -O2 -pg -ansi -pedantic -Wall -DSHM -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -I/usr/include/glide -I/usr/local/glide/include" \
+ "MAKELIB = ../bin/mklib.ar-ruv" \
+ "XLIBS = -L/usr/local/glide/lib -lglide2x -L/usr/X11/lib -lX11 -lXext -lXmu -lXt -lXi -lSM -lICE" \
+ "ASM_SOURCES = X86/x86a.S X86/common_x86asm.S \
+ X86/mmx_blend.S \
+ X86/3dnow_xform_raw1.S X86/3dnow_xform_raw2.S \
+ X86/3dnow_xform_raw3.S X86/3dnow_xform_raw4.S \
+ X86/3dnow_xform_masked1.S X86/3dnow_xform_masked2.S \
+ X86/3dnow_xform_masked3.S X86/3dnow_xform_masked4.S \
+ X86/3dnow_norm_raw.S"
diff --git a/Makefile.X11 b/Makefile.X11
new file mode 100644
index 00000000000..21f27e23c3e
--- /dev/null
+++ b/Makefile.X11
@@ -0,0 +1,521 @@
+# $Id: Makefile.X11,v 1.1 1999/08/19 00:55:39 jtg Exp $
+
+# Mesa 3-D graphics library
+# Version: 3.1
+#
+# Copyright (C) 1999 Brian Paul All Rights Reserved.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
+# and/or sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included
+# in all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+# BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+# Top-level makefile for Mesa
+# To add a new configuration for your system add it to the list below
+# then update the Make-config file.
+
+SHELL = /bin/sh
+
+
+
+default:
+ @echo "Type one of the following:"
+ @echo " make aix for IBM RS/6000 with AIX"
+ @echo " make aix-sl for IBM RS/6000, make shared libs"
+ @echo " make amiwin for Amiga with SAS/C and AmiWin"
+ @echo " make amix for Amiga 3000 UX SVR4 v2.1 systems"
+ @echo " make beos-r4 for BeOS R4"
+ @echo " make bsdos for BSD/OS from BSDI using GCC"
+ @echo " make bsdos4 for BSD/OS 4.x, dynamic libraries"
+ @echo " make cygnus for Win95/NT using Cygnus-Win32"
+ @echo " make cygnus-linux for Win95/NT using Cygnus-Win32 under Linux"
+ @echo " make dgux for Data General"
+ @echo " make freebsd for FreeBSD systems with GCC"
+ @echo " make freebsd-386 for FreeBSD systems with GCC, w/ Intel assembly"
+ @echo " make gcc for a generic system with GCC"
+ @echo " make hpux9 for HP systems with HPUX 9.x"
+ @echo " make hpux9-sl for HP systems with HPUX 9.x, make shared libs"
+ @echo " make hpux9-gcc for HP systems with HPUX 9.x using GCC"
+ @echo " make hpux9-gcc-sl for HP systems with HPUX 9.x, GCC, make shared libs"
+ @echo " make hpux10 for HP systems with HPUX 10.x"
+ @echo " make hpux10-sl for HP systems with HPUX 10.x, shared libs"
+ @echo " make hpux10-gcc for HP systems with HPUX 10.x w/ GCC"
+ @echo " make hpux10-gcc-sl for HP systems with HPUX 10.x w/ GCC, shared libs"
+ @echo " make irix4 for SGI systems with IRIX 4.x"
+ @echo " make irix5 for SGI systems with IRIX 5.x"
+ @echo " make irix5-gcc for SGI systems with IRIX 5.x using GCC"
+ @echo " make irix5-dso for SGI systems with IRIX 5.x, make DSOs"
+ @echo " make irix6-o32 for SGI systems with IRIX 6.x, make o32-bit libs"
+ @echo " make irix6-o32-dso for SGI systems with IRIX 6.x, make o32-bit DSOs"
+ @echo " make irix6-n32 for SGI systems with IRIX 6.x, make n32-bit libs"
+ @echo " make irix6-n32-dso for SGI systems with IRIX 6.x, make n32-bit DSOs"
+ @echo " make irix6-gcc-n32-sl for SGI systems with IRIX 6.x, GCC, make n32 DSOs"
+ @echo " make irix6-64 for SGI systems with IRIX 6.x, make 64-bit libs"
+ @echo " make irix6-64-dso for SGI systems with IRIX 6.x, make 64-bit DSOs"
+
+ @echo " make linux for Linux systems, make static .a libs"
+ @echo " make linux-elf for Linux systems, make ELF shared libs"
+ @echo " make linux-386 for Linux w/ Intel assembly"
+ @echo " make linux-386-elf for Linux w/ Intel assembly, make ELF shared libs"
+ @echo " make linux-ggi for Linux systems with libggi"
+ @echo " make linux-386-ggi for Linux systems with libggi w/ Intel assembly"
+ @echo " make linux-alpha for Linux on Alpha systems"
+ @echo " make linux-alpha-elf for Linux on Alpha systems, make ELF shared libs"
+ @echo " make linux-ppc for Linux on PowerPC systems"
+ @echo " make linux-ppc-so for Linux on PowerPC systems, make shared libs"
+ @echo " make linux-glide for Linux w/ 3Dfx Glide driver"
+ @echo " make linux-386-glide for Linux w/ 3Dfx Glide driver, Intel assembly"
+ @echo " make linux-386-opt-glide for Linux with 3Dfx Voodoo1 for GLQuake"
+ @echo " make linux-386-opt-V2-glide for Linux with 3Dfx Voodoo2 for GLQuake"
+ @echo " make linux-3dnow for Linux on AMD w/ 3DNow!"
+ @echo " make linux-3dnow-glide for Linux on AMD w/ 3DNow! for Glide"
+ @echo " make linux-386-pthread for Linux w/ Intel assembly and linuxthreads"
+ @echo " make linux-386-pthread-shared for Linux w/ Intel assembly and linuxthreads"
+ @echo " make linux-sparc for Linux on Sparc systems"
+ @echo " make linux-sparc5-elf for Sparc5 systems, make ELF shared libs"
+ @echo " make linux-sparc-ultra for UltraSparc systems, make ELF shared libs"
+ @echo " make lynxos for LynxOS systems with GCC"
+ @echo " make macintosh for Macintosh"
+ @echo " make machten-2.2 for Macs w/ MachTen 2.2 (68k w/ FPU)"
+ @echo " make machten-4.0 for Macs w/ MachTen 4.0.1 or newer with GNU make"
+ @echo " make mklinux for Linux on Power Macintosh"
+ @echo " make netbsd for NetBSD 1.0 systems with GCC"
+ @echo " make next for NeXT systems with NEXTSTEP 3.3"
+ @echo " make openbsd for OpenBSD systems"
+ @echo " make openstep for OpenStep/MacOSX Server systems"
+ @echo " make os2-x11 for OS/2 with XFree86"
+ @echo " make osf1 for DEC Alpha systems with OSF/1"
+ @echo " make osf1-sl for DEC Alpha systems with OSF/1, make shared libs"
+ @echo " make pgi-cygnus for Cygnus with Portland Group, Inc. compiler"
+ @echo " make pgi-mingw32 for mingW32 with Portland Group, Inc. compiler"
+ @echo " make qnx for QNX V4 systems with Watcom compiler"
+ @echo " make sco for SCO Unix systems with ODT"
+ @echo " make solaris-x86 for PCs with Solaris"
+ @echo " make solaris-x86-gcc for PCs with Solaris using GCC"
+ @echo " make sunos4 for Suns with SunOS 4.x"
+ @echo " make sunos4-sl for Suns with SunOS 4.x, make shared libs"
+ @echo " make sunos4-gcc for Suns with SunOS 4.x and GCC"
+ @echo " make sunos4-gcc-sl for Suns with SunOS 4.x, GCC, make shared libs"
+ @echo " make sunos5 for Suns with SunOS 5.x"
+ @echo " make sunos5-sl for Suns with SunOS 5.x, make shared libs"
+ @echo " make sunos5-ultra for Sun UltraSPARCs with SunOS 5.x"
+ @echo " make sunos5-ultra-sl for Sun UltraSPARCs with SunOS 5.x, make shared libs"
+ @echo " make sunos5-thread for Suns with SunOS 5.x, using Solaris threads"
+ @echo " make sunos5-pthread for Suns with SunOS 5.[56] using POSIX threads"
+ @echo " make sunos5-gcc-thread for Suns with SunOS 5.x and GCC, using Solaris threads"
+ @echo " make sunos5-gcc-pthread for Suns with SunOS 5.[56] and GCC, using POSIX threads"
+ @echo " make sunos5-gcc for Suns with SunOS 5.x and GCC"
+ @echo " make sunos5-gcc-sl for Suns with SunOS 5.x, GCC, make shared libs"
+ @echo " make sunos5-x11r6-gcc-sl for Suns with X11R6, GCC, make shared libs"
+ @echo " make sunos5-gcc-thread for Suns with SunOS 5.x and GCC, using Solaris threads"
+ @echo " make sunos5-gcc-pthread for Suns with SunOS 5.[56] and GCC, using POSIX threads"
+ @echo " make sunSolaris-CC for Solaris using C++ compiler"
+ @echo " make ultrix-gcc for DEC systems with Ultrix and GCC"
+ @echo " make unicos for Cray C90 (and other?) systems"
+ @echo " make unixware for PCs running UnixWare"
+ @echo " make unixware-shared for PCs running UnixWare, shared libs"
+ @echo " make uwin for Windows NT with AT&T/Wipro UWIN"
+ @echo " make vistra for Stardent Vistra systems"
+ @echo " make clean remove .o files"
+ @echo " make realclean remove .o, library and executable files"
+
+
+
+aix aix-sl amix bsdos bsdos4 dgux freebsd freebsd-386 gcc \
+hpux9 hpux9-sl hpux9-gcc hpux9-gcc-sl \
+hpux10 hpux10-sl hpux10-gcc hpux10-gcc-sl \
+irix-debug irix4 irix5 irix5-gcc irix5-dso irix6-o32 irix6-o32-dso \
+linux linux-debug linux-prof linux-elf linux-elf-debug \
+linux-glide linux-386-glide linux-386-opt-glide \
+linux-386-opt-V2-glide \
+linux-386 linux-386-elf \
+linux-3dnow linux-3dnow-glide \
+linux-alpha linux-alpha-elf \
+linux-ppc linux-ppc-so \
+linux-386-pthread linux-386-pthread-shared \
+linux-sparc \
+linux-sparc5-elf \
+linux-sparc-ultra \
+lynxos machten-2.2 machten-4.0 \
+mklinux netbsd osf1 osf1-sl openbsd qnx sco \
+solaris-x86 solaris-x86-gcc sunSolaris-CC \
+sunos4 sunos4-sl sunos4-gcc sunos4-gcc-sl sunos4-gcc-x11r6-sl \
+sunos5 sunos5-sl sunos5-ultra sunos5-ultra-sl sunos5-gcc sunos5-gcc-sl \
+sunos5-thread sunos5-pthread sunos5-gcc-thread sunos5-gcc-pthread \
+sunos5-x11r6-gcc-sl ultrix-gcc unicos unixware uwin vistra:
+ -mkdir lib
+ touch src/depend
+ touch src-glu/depend
+ if [ -d src-glut ] ; then touch src-glut/depend ; fi
+ cd src ; $(MAKE) -f Makefile.X11 $@
+ cd src-glu ; $(MAKE) -f Makefile.X11 $@
+ if [ -d src-glut ] ; then cd src-glut ; $(MAKE) -f Makefile.X11 $@ ; fi
+ if [ -d demos ] ; then cd demos ; $(MAKE) -f Makefile.X11 $@ ; fi
+ if [ -d xdemos ] ; then cd xdemos ; $(MAKE) -f Makefile.X11 $@ ; fi
+ if [ -d samples ] ; then cd samples ; $(MAKE) -f Makefile.X11 $@ ; fi
+ if [ -d book ] ; then cd book ; $(MAKE) -f Makefile.X11 $@ ; fi
+
+
+irix6-n32 irix6-n32-dso irix6-gcc-n32-sl:
+ -mkdir lib32
+ touch src/depend
+ touch src-glu/depend
+ if [ -d src-glut ] ; then touch src-glut/depend ; fi
+ cd src ; $(MAKE) -f Makefile.X11 $@
+ cd src-glu ; $(MAKE) -f Makefile.X11 $@
+ if [ -d src-glut ] ; then cd src-glut ; $(MAKE) -f Makefile.X11 $@ ; fi
+ if [ -d demos ] ; then cd demos ; $(MAKE) -f Makefile.X11 $@ ; fi
+ if [ -d xdemos ] ; then cd xdemos ; $(MAKE) -f Makefile.X11 $@ ; fi
+ if [ -d samples ] ; then cd samples ; $(MAKE) -f Makefile.X11 $@ ; fi
+ if [ -d book ] ; then cd book ; $(MAKE) -f Makefile.X11 $@ ; fi
+
+
+irix6-64 irix6-64-dso:
+ -mkdir lib64
+ touch src/depend
+ touch src-glu/depend
+ if [ -d src-glut ] ; then touch src-glut/depend ; fi
+ cd src ; $(MAKE) -f Makefile.X11 $@
+ cd src-glu ; $(MAKE) -f Makefile.X11 $@
+ if [ -d src-glut ] ; then cd src-glut ; $(MAKE) -f Makefile.X11 $@ ; fi
+ if [ -d demos ] ; then cd demos ; $(MAKE) -f Makefile.X11 $@ ; fi
+ if [ -d xdemos ] ; then cd xdemos ; $(MAKE) -f Makefile.X11 $@ ; fi
+ if [ -d samples ] ; then cd samples ; $(MAKE) -f Makefile.X11 $@ ; fi
+ if [ -d book ] ; then cd book ; $(MAKE) -f Makefile.X11 $@ ; fi
+
+
+amiwin:
+ bin/mklib.amiwin
+
+
+beos-r4:
+ -mkdir lib
+ -rm src/depend
+ touch src/depend
+ -rm src-glu/depend
+ touch src-glu/depend
+ cd src ; $(MAKE) -f Makefile.BeOS-R4 $@
+ cd src-glu ; $(MAKE) -f Makefile.BeOS-R4 $@
+ if [ -d BeOS ] ; then cd BeOS ; $(MAKE) ; fi
+ if [ -d src-glut.beos ] ; then cd src-glut.beos ; $(MAKE) ; fi
+ if [ -d src-glut.beos ] ; then cp src-glut.beos/obj*/libglut.so lib ; fi
+ if [ -d demos ] ; then cd demos ; $(MAKE) -f Makefile.BeOS-R4 $@ ; fi
+ if [ -d samples ] ; then cd samples ; $(MAKE) -f Makefile.BeOS-R4 $@ ; fi
+ if [ -d book ] ; then cd book ; $(MAKE) -f Makefile.BeOS-R4 $@ ; fi
+
+pgi-cygnus pgi-mingw32 \
+cygnus cygnus-linux:
+ -mkdir lib
+ touch src/depend
+ touch src-glu/depend
+ cd src ; $(MAKE) -f Makefile.X11 $@
+ cd src-glu ; $(MAKE) -f Makefile.X11 $@
+ cd src-glut ; $(MAKE) -f Makefile.X11 $@
+ cd demos ; $(MAKE) -f Makefile.X11 $@
+ if [ -d xdemos ] ; then cd xdemos ; $(MAKE) -f Makefile.X11 $@ ; fi
+
+macintosh:
+ @echo "See the README file for Macintosh intallation information"
+
+next:
+ -mkdir lib
+ cd src ; $(MAKE) -f Makefile.X11 "MYCC=${CC}" $@
+ cd src-glu ; $(MAKE) -f Makefile.X11 "MYCC=${CC}" $@
+
+openstep:
+ -mkdir lib
+ cd src ; $(MAKE) -f Makefile.X11 "MYCC=${CC}" $@
+ cd src-glu ; $(MAKE) -f Makefile.X11 "MYCC=${CC}" $@
+
+os2-x11:
+ if not EXIST .\lib md lib
+ touch src/depend
+ touch src-glu/depend
+ if exist src-glut touch src-glut/depend
+ cd src & make -f Makefile.X11 $@
+ cd src-glu & make -f Makefile.X11 $@
+ if exist src-glut cd src-glut & make -f Makefile.X11 $@
+ if exist demos cd demos & make -f Makefile.X11 $@
+ if exist xdemos cd xdemos & make -f Makefile.X11 $@
+ if exist samples cd samples & make -f Makefile.X11 $@
+ if exist book cd book & make -f Makefile.X11 $@
+
+linux-ggi linux-386-ggi:
+ -mkdir lib
+ touch src/depend
+ touch src-glu/depend
+ if [ -d src-glut ] ; then touch src-glut/depend ; fi
+ if [ -d ggi ] ; then touch ggi/depend ; fi
+ cd src ; $(MAKE) -f Makefile.X11 $@
+ cd src/GGI/default ; $(MAKE)
+ cd src/GGI/display ; $(MAKE)
+ cd src-glu ; $(MAKE) -f Makefile.X11 $@
+# if [ -d src-glut ] ; then cd src-glut ; $(MAKE) -f Makefile.X11 $@ ; fi
+ if [ -d ggi ] ; then cd ggi ; $(MAKE) -f Makefile.X11 $@ ; fi
+ if [ -d ggi ] ; then cd ggi/demos; $(MAKE) ; fi
+ if [ -d demos ] ; then cd demos ; $(MAKE) -f Makefile.X11 $@ ; fi
+ if [ -d xdemos ] ; then cd xdemos ; $(MAKE) -f Makefile.X11 $@ ; fi
+ if [ -d samples ] ; then cd samples ; $(MAKE) -f Makefile.X11 $@ ; fi
+ if [ -d book ] ; then cd book ; $(MAKE) -f Makefile.X11 $@ ; fi
+
+# if you change GGI_DEST please change it in ggimesa.conf, too.
+DESTDIR=/usr/local
+GGI_DEST=lib/ggi/mesa
+
+linux-ggi-install linux-386-ggi-install:
+ install -d $(DESTDIR)/$(GGI_DEST)/default $(DESTDIR)/$(GGI_DEST)/display $(DESTDIR)/etc/ggi
+ install -m 0755 src/GGI/default/*.so $(DESTDIR)/$(GGI_DEST)/default
+ install -m 0755 src/GGI/display/*.so $(DESTDIR)/$(GGI_DEST)/display
+ install -m 0644 src/GGI/ggimesa.conf $(DESTDIR)/etc/ggi
+# if [ -z "`grep ggimesa $(DESTDIR)/etc/ggi/libggi.conf`" ]; then \
+# echo ".include $(DESTDIR)/etc/ggi/ggimesa.conf" >> $(DESTDIR)/etc/ggi/libggi.conf ; \
+# fi
+
+# Remove .o files, emacs backup files, etc.
+clean:
+ -rm -f ggi/*~ *.o
+ -rm -f src/GGI/default/*~ *.so
+ -rm -f src/GGI/display/*~ *.so
+ -rm -f include/*~
+ -rm -f include/GL/*~
+ -rm -f src/*.o src/*~ src/*.a src/*/*.o src/*/*~
+ -rm -f src-glu/*.o src-glu/*~ src-glu/*.a
+ -rm -f src-glut/*.o
+ -rm -f demos/*.o
+ -rm -f book/*.o book/*~
+ -rm -f xdemos/*.o xdemos/*~
+ -rm -f samples/*.o samples/*~
+ -rm -f ggi/*.o ggi/demos/*.o ggi/*.a
+
+# Remove everything that can be remade
+realclean: clean
+ -rm -f lib/*
+ cd demos && $(MAKE) -f Makefile.X11 realclean || true
+ cd xdemos && $(MAKE) -f Makefile.X11 realclean || true
+ cd book && $(MAKE) -f Makefile.X11 realclean || true
+ cd samples && $(MAKE) -f Makefile.X11 realclean || true
+ cd ggi/demos && ($MAKE) -f Makefile.X11 realclean || true
+ cd src/GGI/default && $(MAKE) -f Makefile.X11 realclean || true
+
+
+
+DIRECTORY = Mesa-3.1
+LIB_NAME = MesaLib-3.1beta2
+DEMO_NAME = MesaDemos-3.1beta2
+
+
+LIB_FILES = \
+ $(DIRECTORY)/Makefile* \
+ $(DIRECTORY)/Make-config \
+ $(DIRECTORY)/acconfig.h \
+ $(DIRECTORY)/acinclude.m4 \
+ $(DIRECTORY)/aclocal.m4 \
+ $(DIRECTORY)/conf.h.in \
+ $(DIRECTORY)/config.guess \
+ $(DIRECTORY)/config.sub \
+ $(DIRECTORY)/configure \
+ $(DIRECTORY)/configure.in \
+ $(DIRECTORY)/install-sh \
+ $(DIRECTORY)/ltconfig \
+ $(DIRECTORY)/ltmain.sh \
+ $(DIRECTORY)/missing \
+ $(DIRECTORY)/mkinstalldirs \
+ $(DIRECTORY)/stamp-h.in \
+ $(DIRECTORY)/INSTALL \
+ $(DIRECTORY)/INSTALL.GNU \
+ $(DIRECTORY)/configure \
+ $(DIRECTORY)/docs/CONFIG \
+ $(DIRECTORY)/docs/CONFORM \
+ $(DIRECTORY)/docs/COPYRIGHT \
+ $(DIRECTORY)/docs/IAFA-PACKAGE \
+ $(DIRECTORY)/docs/LICENSE \
+ $(DIRECTORY)/docs/README \
+ $(DIRECTORY)/docs/README.* \
+ $(DIRECTORY)/docs/RELNOTES \
+ $(DIRECTORY)/docs/VERSIONS \
+ $(DIRECTORY)/bin/mklib* \
+ $(DIRECTORY)/*.BAT \
+ $(DIRECTORY)/*.bat \
+ $(DIRECTORY)/descrip.mms \
+ $(DIRECTORY)/mms-config \
+ $(DIRECTORY)/xlib.opt \
+ $(DIRECTORY)/STARTUP.MK \
+ $(DIRECTORY)/mesawin32.mak \
+ $(DIRECTORY)/Names.win \
+ $(DIRECTORY)/win32-openstep.sh \
+ $(DIRECTORY)/*.dja \
+ $(DIRECTORY)/include/GL/dosmesa.h \
+ $(DIRECTORY)/include/GL/foomesa.h \
+ $(DIRECTORY)/include/GL/fxmesa.h \
+ $(DIRECTORY)/include/GL/ggimesa.h \
+ $(DIRECTORY)/include/GL/gl.h \
+ $(DIRECTORY)/include/GL/gl_mangle.h \
+ $(DIRECTORY)/include/GL/glu.h \
+ $(DIRECTORY)/include/GL/glu_mangle.h \
+ $(DIRECTORY)/include/GL/glx.h \
+ $(DIRECTORY)/include/GL/glx_mangle.h \
+ $(DIRECTORY)/include/GL/mglmesa.h \
+ $(DIRECTORY)/include/GL/osmesa.h \
+ $(DIRECTORY)/include/GL/svgamesa.h \
+ $(DIRECTORY)/include/GL/wmesa.h \
+ $(DIRECTORY)/include/GL/xmesa.h \
+ $(DIRECTORY)/include/GL/xmesa_x.h \
+ $(DIRECTORY)/include/GL/xmesa_xf86.h \
+ $(DIRECTORY)/include/GLView.h \
+ $(DIRECTORY)/src/Makefile* \
+ $(DIRECTORY)/src/descrip.mms \
+ $(DIRECTORY)/src/mms_depend \
+ $(DIRECTORY)/src/*.def \
+ $(DIRECTORY)/src/depend \
+ $(DIRECTORY)/src/*.[chS] \
+ $(DIRECTORY)/src/Allegro/*.[ch] \
+ $(DIRECTORY)/src/BeOS/*.cpp \
+ $(DIRECTORY)/src/D3D/*.cpp \
+ $(DIRECTORY)/src/D3D/*.CPP \
+ $(DIRECTORY)/src/D3D/*.h \
+ $(DIRECTORY)/src/D3D/*.H \
+ $(DIRECTORY)/src/D3D/*.c \
+ $(DIRECTORY)/src/D3D/*.C \
+ $(DIRECTORY)/src/D3D/MAKEFILE \
+ $(DIRECTORY)/src/D3D/*bat \
+ $(DIRECTORY)/src/D3D/*DEF \
+ $(DIRECTORY)/src/DOS/DEPEND.DOS \
+ $(DIRECTORY)/src/DOS/*.c \
+ $(DIRECTORY)/src/FX/*.[ch] \
+ $(DIRECTORY)/src/FX/*.def \
+ $(DIRECTORY)/src/GGI/*.[ch] \
+ $(DIRECTORY)/src/GGI/ggimesa.conf \
+ $(DIRECTORY)/src/GGI/default/*.c \
+ $(DIRECTORY)/src/GGI/default/Makefile \
+ $(DIRECTORY)/src/GGI/display/*.c \
+ $(DIRECTORY)/src/GGI/display/Makefile \
+ $(DIRECTORY)/src/KNOWN_BUGS \
+ $(DIRECTORY)/src/MGL/*.[ch] \
+ $(DIRECTORY)/src/MGL/*.txt \
+ $(DIRECTORY)/src/OSmesa/*.[ch] \
+ $(DIRECTORY)/src/S3/*.[ch] \
+ $(DIRECTORY)/src/S3/*.def \
+ $(DIRECTORY)/src/S3/*.mak \
+ $(DIRECTORY)/src/S3/*.rc \
+ $(DIRECTORY)/src/SVGA/*.[ch] \
+ $(DIRECTORY)/src/Windows/*.[ch] \
+ $(DIRECTORY)/src/Windows/*.def \
+ $(DIRECTORY)/src/X/*.[ch] \
+ $(DIRECTORY)/src/X86/*.[ch] \
+ $(DIRECTORY)/src/X86/Makefile \
+ $(DIRECTORY)/src/X86/*.m4 \
+ $(DIRECTORY)/src/X86/*.S \
+ $(DIRECTORY)/src/*.dja \
+ $(DIRECTORY)/src-glu/README[12] \
+ $(DIRECTORY)/src-glu/Makefile* \
+ $(DIRECTORY)/src-glu/descrip.mms \
+ $(DIRECTORY)/src-glu/mms_depend \
+ $(DIRECTORY)/src-glu/*.def \
+ $(DIRECTORY)/src-glu/*.dja \
+ $(DIRECTORY)/src-glu/depend \
+ $(DIRECTORY)/src-glu/*.[ch] \
+ $(DIRECTORY)/widgets-mesa \
+ $(DIRECTORY)/widgets-sgi \
+ $(DIRECTORY)/util/README \
+ $(DIRECTORY)/util/*.[ch] \
+ $(DIRECTORY)/util/sampleMakefile \
+ $(DIRECTORY)/BeOS/Makefile \
+ $(DIRECTORY)/BeOS/*.cpp
+
+# old stuff
+# $(DIRECTORY)/Win32 \
+# $(DIRECTORY)/win32
+
+# $(DIRECTORY)/OpenStep \
+#
+#
+
+
+DEMO_FILES = \
+ $(DIRECTORY)/include/GL/glut.h \
+ $(DIRECTORY)/include/GL/glutf90.h \
+ $(DIRECTORY)/include/GL/glut_h.dja \
+ $(DIRECTORY)/src-glut/Makefile* \
+ $(DIRECTORY)/src-glut/depend \
+ $(DIRECTORY)/src-glut/*def \
+ $(DIRECTORY)/src-glut/descrip.mms \
+ $(DIRECTORY)/src-glut/mms_depend \
+ $(DIRECTORY)/src-glut/*.[ch] \
+ $(DIRECTORY)/src-glut.dja/* \
+ $(DIRECTORY)/src-glut.beos/Makefile \
+ $(DIRECTORY)/src-glut.beos/*.cpp \
+ $(DIRECTORY)/src-glut.beos/*.h \
+ $(DIRECTORY)/images/* \
+ $(DIRECTORY)/demos/Makefile* \
+ $(DIRECTORY)/demos/descrip.mms \
+ $(DIRECTORY)/demos/*.[ch] \
+ $(DIRECTORY)/demos/*.dat \
+ $(DIRECTORY)/xdemos/Makefile* \
+ $(DIRECTORY)/xdemos/descrip.mms \
+ $(DIRECTORY)/xdemos/*.[cf] \
+ $(DIRECTORY)/book/Makefile* \
+ $(DIRECTORY)/book/README \
+ $(DIRECTORY)/book/*.[ch] \
+ $(DIRECTORY)/samples/Makefile* \
+ $(DIRECTORY)/samples/README \
+ $(DIRECTORY)/samples/*.c \
+ $(DIRECTORY)/samples/*.dja \
+ $(DIRECTORY)/3Dfx \
+ $(DIRECTORY)/mtdemos \
+ $(DIRECTORY)/ggi
+
+
+lib_tar:
+ cd .. ; \
+ tar -cvf $(LIB_NAME).tar $(LIB_FILES) ; \
+ gzip $(LIB_NAME).tar ; \
+ mv $(LIB_NAME).tar.gz $(DIRECTORY)
+
+demo_tar:
+ cd .. ; \
+ tar -cvf $(DEMO_NAME).tar $(DEMO_FILES) ; \
+ gzip $(DEMO_NAME).tar ; \
+ mv $(DEMO_NAME).tar.gz $(DIRECTORY)
+
+lib_zip:
+ -rm $(LIB_NAME).zip
+ cd .. ; \
+ zip -r $(LIB_NAME).zip $(LIB_FILES) ; \
+ mv $(LIB_NAME).zip $(DIRECTORY)
+
+demo_zip:
+ -rm $(DEMO_NAME).zip
+ cd .. ; \
+ zip -r $(DEMO_NAME).zip $(DEMO_FILES) ; \
+ mv $(DEMO_NAME).zip $(DIRECTORY)
+
+
+
+SRC_FILES = \
+ RELNOTES \
+ src/Makefile* \
+ src/depend \
+ src/*.[chS] \
+ src/*/*.[ch] \
+ include/GL/*.h
+
+srctar:
+ tar -cvf src.tar $(SRC_FILES) ; \
+ gzip src.tar
+
+srctar.zip:
+ -rm src.zip
+ zip -r src.zip $(SRC_FILES) ; \
diff --git a/include/GL/Makefile.am b/include/GL/Makefile.am
new file mode 100644
index 00000000000..61af039384a
--- /dev/null
+++ b/include/GL/Makefile.am
@@ -0,0 +1,30 @@
+## Process this file with automake to produce Makefile.in
+
+GLincludedir = $(includedir)/GL
+
+if HAVE_FX
+INC_FX = fxmesa.h
+endif
+
+if HAVE_GGI
+INC_GGI = ggimesa.h
+endif
+
+if HAVE_OSMESA
+INC_OSMESA = osmesa.h
+endif
+
+if HAVE_SVGA
+INC_SVGA = svgamesa.h
+endif
+
+if HAVE_X11
+INC_X11 = glx.h glx_mangle.h xmesa.h xmesa_x.h xmesa_xf86.h
+endif
+
+EXTRA_DIST = fxmesa.h ggimesa.h osmesa.h svgamesa.h \
+ glx.h glx_mangle.h xmesa.h xmesa_x.h xmesa_xf86.h
+
+GLinclude_HEADERS = gl.h gl_mangle.h glu.h glu_mangle.h \
+ $(INC_FX) $(INC_GGI) $(INC_OSMESA) $(INC_SVGA) $(INC_X11)
+
diff --git a/include/GL/amesa.h b/include/GL/amesa.h
new file mode 100644
index 00000000000..b4a1867d042
--- /dev/null
+++ b/include/GL/amesa.h
@@ -0,0 +1,75 @@
+/* $Id: amesa.h,v 1.1 1999/08/19 00:55:40 jtg Exp $ */
+
+/*
+ * Mesa 3-D graphics library
+ * Version: 3.1
+ *
+ * Copyright (C) 1999 Brian Paul All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+
+/*
+ * $Log: amesa.h,v $
+ * Revision 1.1 1999/08/19 00:55:40 jtg
+ * Initial revision
+ *
+ * Revision 1.1 1999/03/16 01:24:13 brianp
+ * initial check-in
+ *
+ */
+
+
+/* Allegro (DJGPP) driver by Bernhard Tschirren (bernie-t@geocities.com) */
+
+
+
+#ifndef AMESA_H
+#define AMESA_H
+
+
+typedef struct amesa_visual *AMesaVisual;
+typedef struct amesa_buffer *AMesaBuffer;
+typedef struct amesa_context *AMesaContext;
+
+
+extern AMesaVisual AMesaCreateVisual(GLboolean dbFlag, GLint depth,
+ GLint depthSize,
+ GLint stencilSize,
+ GLint accumSize);
+
+extern void AMesaDestroyVisual(AMesaVisual visual);
+
+extern AMesaBuffer AMesaCreateBuffer(AMesaVisual visual,
+ GLint width, GLint height);
+
+extern void AMesaDestroyBuffer(AMesaBuffer buffer);
+
+
+extern AMesaContext AMesaCreateContext(AMesaVisual visual,
+ AMesaContext sharelist);
+
+extern void AMesaDestroyContext(AMesaContext context);
+
+extern GLboolean AMesaMakeCurrent(AMesaContext context, AMesaBuffer buffer);
+
+extern void AMesaSwapBuffers(AMesaBuffer buffer);
+
+
+#endif /* AMESA_H */
diff --git a/include/GL/foomesa.h b/include/GL/foomesa.h
new file mode 100644
index 00000000000..88746294501
--- /dev/null
+++ b/include/GL/foomesa.h
@@ -0,0 +1,89 @@
+/* $Id: foomesa.h,v 1.1 1999/08/19 00:55:40 jtg Exp $ */
+
+/*
+ * Mesa 3-D graphics library
+ * Version: 3.0
+ * Copyright (C) 1995-1998 Brian Paul
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+
+/*
+ * $Log: foomesa.h,v $
+ * Revision 1.1 1999/08/19 00:55:40 jtg
+ * Initial revision
+ *
+ * Revision 1.1 1998/06/02 01:34:18 brianp
+ * Initial revision
+ *
+ */
+
+
+/*
+ * Example Foo/Mesa interface. See src/ddsample.c for more info.
+ */
+
+
+
+#ifndef FOOMESA_H
+#define FOOMESA_H
+
+
+
+typedef struct foo_mesa_visual *FooMesaVisual;
+
+typedef struct foo_mesa_buffer *FooMesaBuffer;
+
+typedef struct foo_mesa_context *FooMesaContext;
+
+
+
+#ifdef BEOS
+#pragma export on
+#endif
+
+
+extern FooMesaVisual FooMesaChooseVisual( /* your params */ );
+
+extern void FooMesaDestroyVisual( FooMesaVisual visual );
+
+
+extern FooMesaBuffer FooMesaCreateBuffer( FooMesaVisual visual,
+ void *your_window_id );
+
+extern void FooMesaDestroyBuffer( FooMesaBuffer buffer );
+
+
+extern FooMesaContext FooMesaCreateContext( FooMesaVisual visual,
+ FooMesaContext sharelist );
+
+extern void FooMesaDestroyContext( FooMesaContext context );
+
+
+extern void FooMesaMakeCurrent( FooMesaContext context, FooMesaBuffer buffer );
+
+
+extern void FooMesaSwapBuffers( FooMesaBuffer buffer );
+
+
+/* Probably some more functions... */
+
+
+#ifdef BEOS
+#pragma export off
+#endif
+
+#endif
diff --git a/include/GL/fxmesa.h b/include/GL/fxmesa.h
new file mode 100644
index 00000000000..68f15eb3cbb
--- /dev/null
+++ b/include/GL/fxmesa.h
@@ -0,0 +1,120 @@
+/* $Id: fxmesa.h,v 1.1 1999/08/19 00:55:40 jtg Exp $ */
+
+/*
+ * Mesa 3-D graphics library
+ * Version: 3.1
+ * Copyright (C) 1995-1999 Brian Paul
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+
+/*
+ * $Log: fxmesa.h,v $
+ * Revision 1.1 1999/08/19 00:55:40 jtg
+ * Initial revision
+ *
+ * Revision 3.2 1999/01/03 02:46:31 brianp
+ * now using GLAPI and GLAPIENTRY keywords (Ted Jump)
+ *
+ * Revision 3.1 1998/04/01 03:00:28 brianp
+ * updated for v0.24 of 3Dfx/Glide driver
+ *
+ * Revision 3.0 1998/02/20 05:04:45 brianp
+ * initial rev
+ *
+ */
+
+
+/*
+ * FXMesa - 3Dfx Glide driver for Mesa. Contributed by David Bucciarelli
+ *
+ * NOTE: This version requires Glide 2.3 or later.
+ */
+
+
+#ifndef FXMESA_H
+#define FXMESA_H
+
+
+#include <glide.h>
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+#define FXMESA_MAJOR_VERSION 3
+#define FXMESA_MINOR_VERSION 0
+
+
+/*
+ * Values for attribList parameter to fxMesaCreateContext():
+ */
+#define FXMESA_NONE 0 /* to terminate attribList */
+#define FXMESA_DOUBLEBUFFER 10
+#define FXMESA_ALPHA_SIZE 11 /* followed by an integer */
+#define FXMESA_DEPTH_SIZE 12 /* followed by an integer */
+#define FXMESA_STENCIL_SIZE 13 /* followed by an integer */
+#define FXMESA_ACCUM_SIZE 14 /* followed by an integer */
+
+
+
+typedef struct tfxMesaContext *fxMesaContext;
+
+
+#if defined (__BEOS__)
+#pragma export on
+#endif
+
+
+GLAPI fxMesaContext GLAPIENTRY fxMesaCreateContext(GLuint win, GrScreenResolution_t,
+ GrScreenRefresh_t,
+ const GLint attribList[]);
+
+GLAPI fxMesaContext GLAPIENTRY fxMesaCreateBestContext(GLuint win,
+ GLint width, GLint height,
+ const GLint attribList[]);
+GLAPI void GLAPIENTRY fxMesaDestroyContext(fxMesaContext ctx);
+
+GLAPI GLboolean GLAPIENTRY fxMesaSelectCurrentBoard(int n);
+
+GLAPI void GLAPIENTRY fxMesaMakeCurrent(fxMesaContext ctx);
+
+GLAPI fxMesaContext GLAPIENTRY fxMesaGetCurrentContext(void);
+
+GLAPI void GLAPIENTRY fxMesaSwapBuffers(void);
+
+GLAPI void GLAPIENTRY fxMesaSetNearFar(GLfloat nearVal, GLfloat farVal);
+
+GLAPI void GLAPIENTRY fxMesaUpdateScreenSize(fxMesaContext ctx);
+
+GLAPI int GLAPIENTRY fxQueryHardware(void);
+
+GLAPI void GLAPIENTRY fxCloseHardware(void);
+
+
+#if defined (__BEOS__)
+#pragma export off
+#endif
+
+
+#ifdef __cplusplus
+}
+#endif
+
+
+#endif
diff --git a/include/GL/ggimesa.h b/include/GL/ggimesa.h
new file mode 100644
index 00000000000..b7f937976b3
--- /dev/null
+++ b/include/GL/ggimesa.h
@@ -0,0 +1,67 @@
+/* $Id: ggimesa.h,v 1.1 1999/08/19 00:55:40 jtg Exp $ */
+
+/*
+ * Mesa 3-D graphics library
+ * Version: 3.1
+ * Copyright (C) 1995-1998 Brian Paul
+ * Copyright (C) 1998 Uwe Maurer
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+
+/*
+ * $Log: ggimesa.h,v $
+ * Revision 1.1 1999/08/19 00:55:40 jtg
+ * Initial revision
+ *
+ * Revision 1.2 1998/09/29 01:46:40 brianp
+ * applied Emmanuel Marty's patches for latest GGI
+ *
+ */
+
+
+#ifndef GGIMESA_H
+#define GGIMESA_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "GL/gl.h"
+
+
+typedef struct ggi_mesa_context *GGIMesaContext;
+
+#include <ggi/ggi.h>
+
+extern GGIMesaContext GGIMesaCreateContext(void);
+
+extern void GGIMesaDestroyContext( GGIMesaContext ctx );
+
+extern void GGIMesaMakeCurrent(GGIMesaContext ctx );
+
+extern GGIMesaContext GGIMesaGetCurrentContext( void );
+
+extern void GGIMesaSwapBuffers( void );
+
+extern int GGIMesaSetVisual(GGIMesaContext ctx,ggi_visual_t vis,
+ GLboolean rgb_flag,GLboolean db_flag);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/include/GL/gl.h b/include/GL/gl.h
new file mode 100644
index 00000000000..58b51d5abf6
--- /dev/null
+++ b/include/GL/gl.h
@@ -0,0 +1,2235 @@
+/* $Id: gl.h,v 1.1 1999/08/19 00:55:40 jtg Exp $ */
+
+/*
+ * Mesa 3-D graphics library
+ * Version: 3.1
+ *
+ * Copyright (C) 1999 Brian Paul All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+
+
+
+#ifndef GL_H
+#define GL_H
+
+#if defined(USE_MGL_NAMESPACE)
+#include "gl_mangle.h"
+#endif
+
+
+#if defined(__BEOS__)
+#include <stdlib.h> /* to get some BeOS-isms */
+#endif
+
+
+#if !defined(OPENSTEP) && (defined(NeXT) || defined(NeXT_PDO))
+#define OPENSTEP
+#endif
+
+
+#if defined(_WIN32) && !defined(__WIN32__)
+# define __WIN32__
+#endif
+
+#if !defined(OPENSTEP) && (defined(__WIN32__) || defined(__CYGWIN32__))
+# pragma warning( disable : 4244 ) /* '=' : conversion from 'const double ' to 'float ', possible loss of data */
+# pragma warning( disable : 4018 ) /* '<' : signed/unsigned mismatch */
+# pragma warning( disable : 4305 ) /* '=' : truncation from 'const double ' to 'float ' */
+# pragma warning( disable : 4550 ) /* 'function' undefined; assuming extern returning int */
+# pragma warning( disable : 4761 ) /* integral size mismatch in argument; conversion supplied */
+# if defined(_MSC_VER) && defined(BUILD_GL32) /* tag specify we're building mesa as a DLL */
+# define GLAPI __declspec(dllexport)
+# elif defined(_MSC_VER) && defined(_DLL) /* tag specifying we're building for DLL runtime support */
+# define GLAPI __declspec(dllimport)
+# else /* for use with static link lib build of Win32 edition only */
+# define GLAPI extern
+# endif /* _STATIC_MESA support */
+# define GLAPIENTRY __stdcall
+# define GLCALLBACK __stdcall
+# define GLWINAPI __stdcall
+# define GLWINAPIV __cdecl
+#else
+/* non-Windows compilation */
+# define GLAPI extern
+# define GLAPIENTRY
+# define GLCALLBACK
+# define GLWINAPI
+# define GLWINAPIV
+#endif /* WIN32 / CYGWIN32 bracket */
+
+/* compatability guard so we don't need to change client code */
+
+#if defined(_WIN32) && !defined(_WINDEF_) && !defined(OPENSTEP)
+# if !defined(MESA_MINWARN)
+# pragma message( "note: WINDOWS.H not included, providing Mesa definition of CALLBACK macro" )
+# pragma message( "----: and PROC typedef. If you receive compiler warnings about either ")
+# pragma message( "----: being multiply defined you should include WINDOWS.H priot to gl/gl.h" )
+# endif
+# define CALLBACK GLCALLBACK
+typedef int (GLAPIENTRY *PROC)();
+typedef void *HGLRC;
+typedef void *HDC;
+typedef unsigned long COLORREF;
+#endif
+
+#if defined(_WIN32) && !defined(_WINGDI_) && !defined(OPENSTEP)
+# if !defined(MESA_MINWARN)
+# pragma message( "note: WINDOWS.H not included, providing Mesa definition of wgl functions" )
+# pragma message( "----: and macros. If you receive compiler warnings about any being multiply ")
+# pragma message( "----: defined you should include WINDOWS.H priot to gl/gl.h" )
+# endif
+# define WGL_FONT_LINES 0
+# define WGL_FONT_POLYGONS 1
+# ifdef UNICODE
+# define wglUseFontBitmaps wglUseFontBitmapsW
+# define wglUseFontOutlines wglUseFontOutlinesW
+# else
+# define wglUseFontBitmaps wglUseFontBitmapsA
+# define wglUseFontOutlines wglUseFontOutlinesA
+# endif /* !UNICODE */
+typedef struct tagLAYERPLANEDESCRIPTOR LAYERPLANEDESCRIPTOR, *PLAYERPLANEDESCRIPTOR, *LPLAYERPLANEDESCRIPTOR;
+typedef struct _GLYPHMETRICSFLOAT GLYPHMETRICSFLOAT, *PGLYPHMETRICSFLOAT, *LPGLYPHMETRICSFLOAT;
+GLAPI int GLAPIENTRY wglCopyContext(HGLRC, HGLRC, unsigned int);
+GLAPI HGLRC GLAPIENTRY wglCreateContext(HDC);
+GLAPI HGLRC GLAPIENTRY wglCreateLayerContext(HDC, int);
+GLAPI int GLAPIENTRY wglDeleteContext(HGLRC);
+GLAPI HGLRC GLAPIENTRY wglGetCurrentContext(void);
+GLAPI HDC GLAPIENTRY wglGetCurrentDC(void);
+GLAPI PROC GLAPIENTRY wglGetProcAddress(char*);
+GLAPI int GLAPIENTRY wglMakeCurrent(HDC, HGLRC);
+GLAPI int GLAPIENTRY wglShareLists(HGLRC, HGLRC);
+GLAPI int GLAPIENTRY wglUseFontBitmapsA(HDC, unsigned long, unsigned long, unsigned long);
+GLAPI int GLAPIENTRY wglUseFontBitmapsW(HDC, unsigned long, unsigned long, unsigned long);
+GLAPI int GLAPIENTRY wglUseFontOutlinesA(HDC, unsigned long, unsigned long, unsigned long, float,float, int, LPGLYPHMETRICSFLOAT);
+GLAPI int GLAPIENTRY wglUseFontOutlinesW(HDC, unsigned long, unsigned long, unsigned long, float,float, int, LPGLYPHMETRICSFLOAT);
+GLAPI int GLAPIENTRY wglDescribeLayerPlane(HDC, int, int, unsigned int,LPLAYERPLANEDESCRIPTOR);
+GLAPI int GLAPIENTRY wglSetLayerPaletteEntries(HDC, int, int, int,const COLORREF *);
+GLAPI int GLAPIENTRY wglGetLayerPaletteEntries(HDC, int, int, int,COLORREF *);
+GLAPI int GLAPIENTRY wglRealizeLayerPalette(HDC, int, int);
+GLAPI int GLAPIENTRY wglSwapLayerBuffers(HDC, unsigned int);
+GLAPI int GLAPIENTRY SwapBuffers(HDC);
+#endif
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+#ifdef macintosh
+ #pragma enumsalwaysint on
+ #if PRAGMA_IMPORT_SUPPORTED
+ #pragma import on
+ #endif
+#endif
+
+
+
+/*
+ * Apps can test for this symbol to do conditional compilation if needed.
+ */
+#define MESA
+
+#define MESA_MAJOR_VERSION 3
+#define MESA_MINOR_VERSION 1
+
+
+#define GL_VERSION_1_1 1
+#define GL_VERSION_1_2 1
+
+
+/*
+ *
+ * Enumerations
+ *
+ */
+
+typedef enum {
+ /* Boolean values */
+ GL_FALSE = 0,
+ GL_TRUE = 1,
+
+ /* Data types */
+ GL_BYTE = 0x1400,
+ GL_UNSIGNED_BYTE = 0x1401,
+ GL_SHORT = 0x1402,
+ GL_UNSIGNED_SHORT = 0x1403,
+ GL_INT = 0x1404,
+ GL_UNSIGNED_INT = 0x1405,
+ GL_FLOAT = 0x1406,
+ GL_DOUBLE = 0x140A,
+ GL_2_BYTES = 0x1407,
+ GL_3_BYTES = 0x1408,
+ GL_4_BYTES = 0x1409,
+
+ /* Primitives */
+ GL_POINTS = 0x0000,
+ GL_LINES = 0x0001,
+ GL_LINE_LOOP = 0x0002,
+ GL_LINE_STRIP = 0x0003,
+ GL_TRIANGLES = 0x0004,
+ GL_TRIANGLE_STRIP = 0x0005,
+ GL_TRIANGLE_FAN = 0x0006,
+ GL_QUADS = 0x0007,
+ GL_QUAD_STRIP = 0x0008,
+ GL_POLYGON = 0x0009,
+
+ /* Vertex Arrays */
+ GL_VERTEX_ARRAY = 0x8074,
+ GL_NORMAL_ARRAY = 0x8075,
+ GL_COLOR_ARRAY = 0x8076,
+ GL_INDEX_ARRAY = 0x8077,
+ GL_TEXTURE_COORD_ARRAY = 0x8078,
+ GL_EDGE_FLAG_ARRAY = 0x8079,
+ GL_VERTEX_ARRAY_SIZE = 0x807A,
+ GL_VERTEX_ARRAY_TYPE = 0x807B,
+ GL_VERTEX_ARRAY_STRIDE = 0x807C,
+ GL_NORMAL_ARRAY_TYPE = 0x807E,
+ GL_NORMAL_ARRAY_STRIDE = 0x807F,
+ GL_COLOR_ARRAY_SIZE = 0x8081,
+ GL_COLOR_ARRAY_TYPE = 0x8082,
+ GL_COLOR_ARRAY_STRIDE = 0x8083,
+ GL_INDEX_ARRAY_TYPE = 0x8085,
+ GL_INDEX_ARRAY_STRIDE = 0x8086,
+ GL_TEXTURE_COORD_ARRAY_SIZE = 0x8088,
+ GL_TEXTURE_COORD_ARRAY_TYPE = 0x8089,
+ GL_TEXTURE_COORD_ARRAY_STRIDE = 0x808A,
+ GL_EDGE_FLAG_ARRAY_STRIDE = 0x808C,
+ GL_VERTEX_ARRAY_POINTER = 0x808E,
+ GL_NORMAL_ARRAY_POINTER = 0x808F,
+ GL_COLOR_ARRAY_POINTER = 0x8090,
+ GL_INDEX_ARRAY_POINTER = 0x8091,
+ GL_TEXTURE_COORD_ARRAY_POINTER = 0x8092,
+ GL_EDGE_FLAG_ARRAY_POINTER = 0x8093,
+ GL_V2F = 0x2A20,
+ GL_V3F = 0x2A21,
+ GL_C4UB_V2F = 0x2A22,
+ GL_C4UB_V3F = 0x2A23,
+ GL_C3F_V3F = 0x2A24,
+ GL_N3F_V3F = 0x2A25,
+ GL_C4F_N3F_V3F = 0x2A26,
+ GL_T2F_V3F = 0x2A27,
+ GL_T4F_V4F = 0x2A28,
+ GL_T2F_C4UB_V3F = 0x2A29,
+ GL_T2F_C3F_V3F = 0x2A2A,
+ GL_T2F_N3F_V3F = 0x2A2B,
+ GL_T2F_C4F_N3F_V3F = 0x2A2C,
+ GL_T4F_C4F_N3F_V4F = 0x2A2D,
+
+ /* Matrix Mode */
+ GL_MATRIX_MODE = 0x0BA0,
+ GL_MODELVIEW = 0x1700,
+ GL_PROJECTION = 0x1701,
+ GL_TEXTURE = 0x1702,
+
+ /* Points */
+ GL_POINT_SMOOTH = 0x0B10,
+ GL_POINT_SIZE = 0x0B11,
+ GL_POINT_SIZE_GRANULARITY = 0x0B13,
+ GL_POINT_SIZE_RANGE = 0x0B12,
+
+ /* Lines */
+ GL_LINE_SMOOTH = 0x0B20,
+ GL_LINE_STIPPLE = 0x0B24,
+ GL_LINE_STIPPLE_PATTERN = 0x0B25,
+ GL_LINE_STIPPLE_REPEAT = 0x0B26,
+ GL_LINE_WIDTH = 0x0B21,
+ GL_LINE_WIDTH_GRANULARITY = 0x0B23,
+ GL_LINE_WIDTH_RANGE = 0x0B22,
+
+ /* Polygons */
+ GL_POINT = 0x1B00,
+ GL_LINE = 0x1B01,
+ GL_FILL = 0x1B02,
+ GL_CW = 0x0900,
+ GL_CCW = 0x0901,
+ GL_FRONT = 0x0404,
+ GL_BACK = 0x0405,
+ GL_POLYGON_MODE = 0x0B40,
+ GL_POLYGON_SMOOTH = 0x0B41,
+ GL_POLYGON_STIPPLE = 0x0B42,
+ GL_EDGE_FLAG = 0x0B43,
+ GL_CULL_FACE = 0x0B44,
+ GL_CULL_FACE_MODE = 0x0B45,
+ GL_FRONT_FACE = 0x0B46,
+ GL_POLYGON_OFFSET_FACTOR = 0x8038,
+ GL_POLYGON_OFFSET_UNITS = 0x2A00,
+ GL_POLYGON_OFFSET_POINT = 0x2A01,
+ GL_POLYGON_OFFSET_LINE = 0x2A02,
+ GL_POLYGON_OFFSET_FILL = 0x8037,
+
+ /* Display Lists */
+ GL_COMPILE = 0x1300,
+ GL_COMPILE_AND_EXECUTE = 0x1301,
+ GL_LIST_BASE = 0x0B32,
+ GL_LIST_INDEX = 0x0B33,
+ GL_LIST_MODE = 0x0B30,
+
+ /* Depth buffer */
+ GL_NEVER = 0x0200,
+ GL_LESS = 0x0201,
+ GL_GEQUAL = 0x0206,
+ GL_LEQUAL = 0x0203,
+ GL_GREATER = 0x0204,
+ GL_NOTEQUAL = 0x0205,
+ GL_EQUAL = 0x0202,
+ GL_ALWAYS = 0x0207,
+ GL_DEPTH_TEST = 0x0B71,
+ GL_DEPTH_BITS = 0x0D56,
+ GL_DEPTH_CLEAR_VALUE = 0x0B73,
+ GL_DEPTH_FUNC = 0x0B74,
+ GL_DEPTH_RANGE = 0x0B70,
+ GL_DEPTH_WRITEMASK = 0x0B72,
+ GL_DEPTH_COMPONENT = 0x1902,
+
+ /* Lighting */
+ GL_LIGHTING = 0x0B50,
+ GL_LIGHT0 = 0x4000,
+ GL_LIGHT1 = 0x4001,
+ GL_LIGHT2 = 0x4002,
+ GL_LIGHT3 = 0x4003,
+ GL_LIGHT4 = 0x4004,
+ GL_LIGHT5 = 0x4005,
+ GL_LIGHT6 = 0x4006,
+ GL_LIGHT7 = 0x4007,
+ GL_SPOT_EXPONENT = 0x1205,
+ GL_SPOT_CUTOFF = 0x1206,
+ GL_CONSTANT_ATTENUATION = 0x1207,
+ GL_LINEAR_ATTENUATION = 0x1208,
+ GL_QUADRATIC_ATTENUATION = 0x1209,
+ GL_AMBIENT = 0x1200,
+ GL_DIFFUSE = 0x1201,
+ GL_SPECULAR = 0x1202,
+ GL_SHININESS = 0x1601,
+ GL_EMISSION = 0x1600,
+ GL_POSITION = 0x1203,
+ GL_SPOT_DIRECTION = 0x1204,
+ GL_AMBIENT_AND_DIFFUSE = 0x1602,
+ GL_COLOR_INDEXES = 0x1603,
+ GL_LIGHT_MODEL_TWO_SIDE = 0x0B52,
+ GL_LIGHT_MODEL_LOCAL_VIEWER = 0x0B51,
+ GL_LIGHT_MODEL_AMBIENT = 0x0B53,
+ GL_FRONT_AND_BACK = 0x0408,
+ GL_SHADE_MODEL = 0x0B54,
+ GL_FLAT = 0x1D00,
+ GL_SMOOTH = 0x1D01,
+ GL_COLOR_MATERIAL = 0x0B57,
+ GL_COLOR_MATERIAL_FACE = 0x0B55,
+ GL_COLOR_MATERIAL_PARAMETER = 0x0B56,
+ GL_NORMALIZE = 0x0BA1,
+
+ /* User clipping planes */
+ GL_CLIP_PLANE0 = 0x3000,
+ GL_CLIP_PLANE1 = 0x3001,
+ GL_CLIP_PLANE2 = 0x3002,
+ GL_CLIP_PLANE3 = 0x3003,
+ GL_CLIP_PLANE4 = 0x3004,
+ GL_CLIP_PLANE5 = 0x3005,
+
+ /* Accumulation buffer */
+ GL_ACCUM_RED_BITS = 0x0D58,
+ GL_ACCUM_GREEN_BITS = 0x0D59,
+ GL_ACCUM_BLUE_BITS = 0x0D5A,
+ GL_ACCUM_ALPHA_BITS = 0x0D5B,
+ GL_ACCUM_CLEAR_VALUE = 0x0B80,
+ GL_ACCUM = 0x0100,
+ GL_ADD = 0x0104,
+ GL_LOAD = 0x0101,
+ GL_MULT = 0x0103,
+ GL_RETURN = 0x0102,
+
+ /* Alpha testing */
+ GL_ALPHA_TEST = 0x0BC0,
+ GL_ALPHA_TEST_REF = 0x0BC2,
+ GL_ALPHA_TEST_FUNC = 0x0BC1,
+
+ /* Blending */
+ GL_BLEND = 0x0BE2,
+ GL_BLEND_SRC = 0x0BE1,
+ GL_BLEND_DST = 0x0BE0,
+ GL_ZERO = 0,
+ GL_ONE = 1,
+ GL_SRC_COLOR = 0x0300,
+ GL_ONE_MINUS_SRC_COLOR = 0x0301,
+ GL_DST_COLOR = 0x0306,
+ GL_ONE_MINUS_DST_COLOR = 0x0307,
+ GL_SRC_ALPHA = 0x0302,
+ GL_ONE_MINUS_SRC_ALPHA = 0x0303,
+ GL_DST_ALPHA = 0x0304,
+ GL_ONE_MINUS_DST_ALPHA = 0x0305,
+ GL_SRC_ALPHA_SATURATE = 0x0308,
+ GL_CONSTANT_COLOR = 0x8001,
+ GL_ONE_MINUS_CONSTANT_COLOR = 0x8002,
+ GL_CONSTANT_ALPHA = 0x8003,
+ GL_ONE_MINUS_CONSTANT_ALPHA = 0x8004,
+
+ /* Render Mode */
+ GL_FEEDBACK = 0x1C01,
+ GL_RENDER = 0x1C00,
+ GL_SELECT = 0x1C02,
+
+ /* Feedback */
+ GL_2D = 0x0600,
+ GL_3D = 0x0601,
+ GL_3D_COLOR = 0x0602,
+ GL_3D_COLOR_TEXTURE = 0x0603,
+ GL_4D_COLOR_TEXTURE = 0x0604,
+ GL_POINT_TOKEN = 0x0701,
+ GL_LINE_TOKEN = 0x0702,
+ GL_LINE_RESET_TOKEN = 0x0707,
+ GL_POLYGON_TOKEN = 0x0703,
+ GL_BITMAP_TOKEN = 0x0704,
+ GL_DRAW_PIXEL_TOKEN = 0x0705,
+ GL_COPY_PIXEL_TOKEN = 0x0706,
+ GL_PASS_THROUGH_TOKEN = 0x0700,
+ GL_FEEDBACK_BUFFER_POINTER = 0x0DF0,
+ GL_FEEDBACK_BUFFER_SIZE = 0x0DF1,
+ GL_FEEDBACK_BUFFER_TYPE = 0x0DF2,
+
+ /* Selection */
+ GL_SELECTION_BUFFER_POINTER = 0x0DF3,
+ GL_SELECTION_BUFFER_SIZE = 0x0DF4,
+
+ /* Fog */
+ GL_FOG = 0x0B60,
+ GL_FOG_MODE = 0x0B65,
+ GL_FOG_DENSITY = 0x0B62,
+ GL_FOG_COLOR = 0x0B66,
+ GL_FOG_INDEX = 0x0B61,
+ GL_FOG_START = 0x0B63,
+ GL_FOG_END = 0x0B64,
+ GL_LINEAR = 0x2601,
+ GL_EXP = 0x0800,
+ GL_EXP2 = 0x0801,
+
+ /* Logic Ops */
+ GL_LOGIC_OP = 0x0BF1,
+ GL_INDEX_LOGIC_OP = 0x0BF1,
+ GL_COLOR_LOGIC_OP = 0x0BF2,
+ GL_LOGIC_OP_MODE = 0x0BF0,
+ GL_CLEAR = 0x1500,
+ GL_SET = 0x150F,
+ GL_COPY = 0x1503,
+ GL_COPY_INVERTED = 0x150C,
+ GL_NOOP = 0x1505,
+ GL_INVERT = 0x150A,
+ GL_AND = 0x1501,
+ GL_NAND = 0x150E,
+ GL_OR = 0x1507,
+ GL_NOR = 0x1508,
+ GL_XOR = 0x1506,
+ GL_EQUIV = 0x1509,
+ GL_AND_REVERSE = 0x1502,
+ GL_AND_INVERTED = 0x1504,
+ GL_OR_REVERSE = 0x150B,
+ GL_OR_INVERTED = 0x150D,
+
+ /* Stencil */
+ GL_STENCIL_TEST = 0x0B90,
+ GL_STENCIL_WRITEMASK = 0x0B98,
+ GL_STENCIL_BITS = 0x0D57,
+ GL_STENCIL_FUNC = 0x0B92,
+ GL_STENCIL_VALUE_MASK = 0x0B93,
+ GL_STENCIL_REF = 0x0B97,
+ GL_STENCIL_FAIL = 0x0B94,
+ GL_STENCIL_PASS_DEPTH_PASS = 0x0B96,
+ GL_STENCIL_PASS_DEPTH_FAIL = 0x0B95,
+ GL_STENCIL_CLEAR_VALUE = 0x0B91,
+ GL_STENCIL_INDEX = 0x1901,
+ GL_KEEP = 0x1E00,
+ GL_REPLACE = 0x1E01,
+ GL_INCR = 0x1E02,
+ GL_DECR = 0x1E03,
+
+ /* Buffers, Pixel Drawing/Reading */
+ GL_NONE = 0,
+ GL_LEFT = 0x0406,
+ GL_RIGHT = 0x0407,
+ /*GL_FRONT = 0x0404, */
+ /*GL_BACK = 0x0405, */
+ /*GL_FRONT_AND_BACK = 0x0408, */
+ GL_FRONT_LEFT = 0x0400,
+ GL_FRONT_RIGHT = 0x0401,
+ GL_BACK_LEFT = 0x0402,
+ GL_BACK_RIGHT = 0x0403,
+ GL_AUX0 = 0x0409,
+ GL_AUX1 = 0x040A,
+ GL_AUX2 = 0x040B,
+ GL_AUX3 = 0x040C,
+ GL_COLOR_INDEX = 0x1900,
+ GL_RED = 0x1903,
+ GL_GREEN = 0x1904,
+ GL_BLUE = 0x1905,
+ GL_ALPHA = 0x1906,
+ GL_LUMINANCE = 0x1909,
+ GL_LUMINANCE_ALPHA = 0x190A,
+ GL_ALPHA_BITS = 0x0D55,
+ GL_RED_BITS = 0x0D52,
+ GL_GREEN_BITS = 0x0D53,
+ GL_BLUE_BITS = 0x0D54,
+ GL_INDEX_BITS = 0x0D51,
+ GL_SUBPIXEL_BITS = 0x0D50,
+ GL_AUX_BUFFERS = 0x0C00,
+ GL_READ_BUFFER = 0x0C02,
+ GL_DRAW_BUFFER = 0x0C01,
+ GL_DOUBLEBUFFER = 0x0C32,
+ GL_STEREO = 0x0C33,
+ GL_BITMAP = 0x1A00,
+ GL_COLOR = 0x1800,
+ GL_DEPTH = 0x1801,
+ GL_STENCIL = 0x1802,
+ GL_DITHER = 0x0BD0,
+ GL_RGB = 0x1907,
+ GL_RGBA = 0x1908,
+
+ /* Implementation limits */
+ GL_MAX_LIST_NESTING = 0x0B31,
+ GL_MAX_ATTRIB_STACK_DEPTH = 0x0D35,
+ GL_MAX_MODELVIEW_STACK_DEPTH = 0x0D36,
+ GL_MAX_NAME_STACK_DEPTH = 0x0D37,
+ GL_MAX_PROJECTION_STACK_DEPTH = 0x0D38,
+ GL_MAX_TEXTURE_STACK_DEPTH = 0x0D39,
+ GL_MAX_EVAL_ORDER = 0x0D30,
+ GL_MAX_LIGHTS = 0x0D31,
+ GL_MAX_CLIP_PLANES = 0x0D32,
+ GL_MAX_TEXTURE_SIZE = 0x0D33,
+ GL_MAX_PIXEL_MAP_TABLE = 0x0D34,
+ GL_MAX_VIEWPORT_DIMS = 0x0D3A,
+ GL_MAX_CLIENT_ATTRIB_STACK_DEPTH= 0x0D3B,
+
+ /* Gets */
+ GL_ATTRIB_STACK_DEPTH = 0x0BB0,
+ GL_CLIENT_ATTRIB_STACK_DEPTH = 0x0BB1,
+ GL_COLOR_CLEAR_VALUE = 0x0C22,
+ GL_COLOR_WRITEMASK = 0x0C23,
+ GL_CURRENT_INDEX = 0x0B01,
+ GL_CURRENT_COLOR = 0x0B00,
+ GL_CURRENT_NORMAL = 0x0B02,
+ GL_CURRENT_RASTER_COLOR = 0x0B04,
+ GL_CURRENT_RASTER_DISTANCE = 0x0B09,
+ GL_CURRENT_RASTER_INDEX = 0x0B05,
+ GL_CURRENT_RASTER_POSITION = 0x0B07,
+ GL_CURRENT_RASTER_TEXTURE_COORDS = 0x0B06,
+ GL_CURRENT_RASTER_POSITION_VALID = 0x0B08,
+ GL_CURRENT_TEXTURE_COORDS = 0x0B03,
+ GL_INDEX_CLEAR_VALUE = 0x0C20,
+ GL_INDEX_MODE = 0x0C30,
+ GL_INDEX_WRITEMASK = 0x0C21,
+ GL_MODELVIEW_MATRIX = 0x0BA6,
+ GL_MODELVIEW_STACK_DEPTH = 0x0BA3,
+ GL_NAME_STACK_DEPTH = 0x0D70,
+ GL_PROJECTION_MATRIX = 0x0BA7,
+ GL_PROJECTION_STACK_DEPTH = 0x0BA4,
+ GL_RENDER_MODE = 0x0C40,
+ GL_RGBA_MODE = 0x0C31,
+ GL_TEXTURE_MATRIX = 0x0BA8,
+ GL_TEXTURE_STACK_DEPTH = 0x0BA5,
+ GL_VIEWPORT = 0x0BA2,
+
+ /* Evaluators */
+ GL_AUTO_NORMAL = 0x0D80,
+ GL_MAP1_COLOR_4 = 0x0D90,
+ GL_MAP1_GRID_DOMAIN = 0x0DD0,
+ GL_MAP1_GRID_SEGMENTS = 0x0DD1,
+ GL_MAP1_INDEX = 0x0D91,
+ GL_MAP1_NORMAL = 0x0D92,
+ GL_MAP1_TEXTURE_COORD_1 = 0x0D93,
+ GL_MAP1_TEXTURE_COORD_2 = 0x0D94,
+ GL_MAP1_TEXTURE_COORD_3 = 0x0D95,
+ GL_MAP1_TEXTURE_COORD_4 = 0x0D96,
+ GL_MAP1_VERTEX_3 = 0x0D97,
+ GL_MAP1_VERTEX_4 = 0x0D98,
+ GL_MAP2_COLOR_4 = 0x0DB0,
+ GL_MAP2_GRID_DOMAIN = 0x0DD2,
+ GL_MAP2_GRID_SEGMENTS = 0x0DD3,
+ GL_MAP2_INDEX = 0x0DB1,
+ GL_MAP2_NORMAL = 0x0DB2,
+ GL_MAP2_TEXTURE_COORD_1 = 0x0DB3,
+ GL_MAP2_TEXTURE_COORD_2 = 0x0DB4,
+ GL_MAP2_TEXTURE_COORD_3 = 0x0DB5,
+ GL_MAP2_TEXTURE_COORD_4 = 0x0DB6,
+ GL_MAP2_VERTEX_3 = 0x0DB7,
+ GL_MAP2_VERTEX_4 = 0x0DB8,
+ GL_COEFF = 0x0A00,
+ GL_DOMAIN = 0x0A02,
+ GL_ORDER = 0x0A01,
+
+ /* Hints */
+ GL_FOG_HINT = 0x0C54,
+ GL_LINE_SMOOTH_HINT = 0x0C52,
+ GL_PERSPECTIVE_CORRECTION_HINT = 0x0C50,
+ GL_POINT_SMOOTH_HINT = 0x0C51,
+ GL_POLYGON_SMOOTH_HINT = 0x0C53,
+ GL_DONT_CARE = 0x1100,
+ GL_FASTEST = 0x1101,
+ GL_NICEST = 0x1102,
+
+ /* Scissor box */
+ GL_SCISSOR_TEST = 0x0C11,
+ GL_SCISSOR_BOX = 0x0C10,
+
+ /* Pixel Mode / Transfer */
+ GL_MAP_COLOR = 0x0D10,
+ GL_MAP_STENCIL = 0x0D11,
+ GL_INDEX_SHIFT = 0x0D12,
+ GL_INDEX_OFFSET = 0x0D13,
+ GL_RED_SCALE = 0x0D14,
+ GL_RED_BIAS = 0x0D15,
+ GL_GREEN_SCALE = 0x0D18,
+ GL_GREEN_BIAS = 0x0D19,
+ GL_BLUE_SCALE = 0x0D1A,
+ GL_BLUE_BIAS = 0x0D1B,
+ GL_ALPHA_SCALE = 0x0D1C,
+ GL_ALPHA_BIAS = 0x0D1D,
+ GL_DEPTH_SCALE = 0x0D1E,
+ GL_DEPTH_BIAS = 0x0D1F,
+ GL_PIXEL_MAP_S_TO_S_SIZE = 0x0CB1,
+ GL_PIXEL_MAP_I_TO_I_SIZE = 0x0CB0,
+ GL_PIXEL_MAP_I_TO_R_SIZE = 0x0CB2,
+ GL_PIXEL_MAP_I_TO_G_SIZE = 0x0CB3,
+ GL_PIXEL_MAP_I_TO_B_SIZE = 0x0CB4,
+ GL_PIXEL_MAP_I_TO_A_SIZE = 0x0CB5,
+ GL_PIXEL_MAP_R_TO_R_SIZE = 0x0CB6,
+ GL_PIXEL_MAP_G_TO_G_SIZE = 0x0CB7,
+ GL_PIXEL_MAP_B_TO_B_SIZE = 0x0CB8,
+ GL_PIXEL_MAP_A_TO_A_SIZE = 0x0CB9,
+ GL_PIXEL_MAP_S_TO_S = 0x0C71,
+ GL_PIXEL_MAP_I_TO_I = 0x0C70,
+ GL_PIXEL_MAP_I_TO_R = 0x0C72,
+ GL_PIXEL_MAP_I_TO_G = 0x0C73,
+ GL_PIXEL_MAP_I_TO_B = 0x0C74,
+ GL_PIXEL_MAP_I_TO_A = 0x0C75,
+ GL_PIXEL_MAP_R_TO_R = 0x0C76,
+ GL_PIXEL_MAP_G_TO_G = 0x0C77,
+ GL_PIXEL_MAP_B_TO_B = 0x0C78,
+ GL_PIXEL_MAP_A_TO_A = 0x0C79,
+ GL_PACK_ALIGNMENT = 0x0D05,
+ GL_PACK_LSB_FIRST = 0x0D01,
+ GL_PACK_ROW_LENGTH = 0x0D02,
+ GL_PACK_SKIP_PIXELS = 0x0D04,
+ GL_PACK_SKIP_ROWS = 0x0D03,
+ GL_PACK_SWAP_BYTES = 0x0D00,
+ GL_UNPACK_ALIGNMENT = 0x0CF5,
+ GL_UNPACK_LSB_FIRST = 0x0CF1,
+ GL_UNPACK_ROW_LENGTH = 0x0CF2,
+ GL_UNPACK_SKIP_PIXELS = 0x0CF4,
+ GL_UNPACK_SKIP_ROWS = 0x0CF3,
+ GL_UNPACK_SWAP_BYTES = 0x0CF0,
+ GL_ZOOM_X = 0x0D16,
+ GL_ZOOM_Y = 0x0D17,
+
+ /* Texture mapping */
+ GL_TEXTURE_ENV = 0x2300,
+ GL_TEXTURE_ENV_MODE = 0x2200,
+ GL_TEXTURE_1D = 0x0DE0,
+ GL_TEXTURE_2D = 0x0DE1,
+ GL_TEXTURE_WRAP_S = 0x2802,
+ GL_TEXTURE_WRAP_T = 0x2803,
+ GL_TEXTURE_MAG_FILTER = 0x2800,
+ GL_TEXTURE_MIN_FILTER = 0x2801,
+ GL_TEXTURE_ENV_COLOR = 0x2201,
+ GL_TEXTURE_GEN_S = 0x0C60,
+ GL_TEXTURE_GEN_T = 0x0C61,
+ GL_TEXTURE_GEN_MODE = 0x2500,
+ GL_TEXTURE_BORDER_COLOR = 0x1004,
+ GL_TEXTURE_WIDTH = 0x1000,
+ GL_TEXTURE_HEIGHT = 0x1001,
+ GL_TEXTURE_BORDER = 0x1005,
+ GL_TEXTURE_COMPONENTS = 0x1003,
+ GL_TEXTURE_RED_SIZE = 0x805C,
+ GL_TEXTURE_GREEN_SIZE = 0x805D,
+ GL_TEXTURE_BLUE_SIZE = 0x805E,
+ GL_TEXTURE_ALPHA_SIZE = 0x805F,
+ GL_TEXTURE_LUMINANCE_SIZE = 0x8060,
+ GL_TEXTURE_INTENSITY_SIZE = 0x8061,
+ GL_NEAREST_MIPMAP_NEAREST = 0x2700,
+ GL_NEAREST_MIPMAP_LINEAR = 0x2702,
+ GL_LINEAR_MIPMAP_NEAREST = 0x2701,
+ GL_LINEAR_MIPMAP_LINEAR = 0x2703,
+ GL_OBJECT_LINEAR = 0x2401,
+ GL_OBJECT_PLANE = 0x2501,
+ GL_EYE_LINEAR = 0x2400,
+ GL_EYE_PLANE = 0x2502,
+ GL_SPHERE_MAP = 0x2402,
+ GL_DECAL = 0x2101,
+ GL_MODULATE = 0x2100,
+ GL_NEAREST = 0x2600,
+ GL_REPEAT = 0x2901,
+ GL_CLAMP = 0x2900,
+ GL_S = 0x2000,
+ GL_T = 0x2001,
+ GL_R = 0x2002,
+ GL_Q = 0x2003,
+ GL_TEXTURE_GEN_R = 0x0C62,
+ GL_TEXTURE_GEN_Q = 0x0C63,
+
+ /* GL 1.1 texturing */
+ GL_PROXY_TEXTURE_1D = 0x8063,
+ GL_PROXY_TEXTURE_2D = 0x8064,
+ GL_TEXTURE_PRIORITY = 0x8066,
+ GL_TEXTURE_RESIDENT = 0x8067,
+ GL_TEXTURE_BINDING_1D = 0x8068,
+ GL_TEXTURE_BINDING_2D = 0x8069,
+ GL_TEXTURE_INTERNAL_FORMAT = 0x1003,
+
+ /* GL 1.2 texturing */
+ GL_PACK_SKIP_IMAGES = 0x806B,
+ GL_PACK_IMAGE_HEIGHT = 0x806C,
+ GL_UNPACK_SKIP_IMAGES = 0x806D,
+ GL_UNPACK_IMAGE_HEIGHT = 0x806E,
+ GL_TEXTURE_3D = 0x806F,
+ GL_PROXY_TEXTURE_3D = 0x8070,
+ GL_TEXTURE_DEPTH = 0x8071,
+ GL_TEXTURE_WRAP_R = 0x8072,
+ GL_MAX_3D_TEXTURE_SIZE = 0x8073,
+ GL_TEXTURE_BINDING_3D = 0x806A,
+
+ /* Internal texture formats (GL 1.1) */
+ GL_ALPHA4 = 0x803B,
+ GL_ALPHA8 = 0x803C,
+ GL_ALPHA12 = 0x803D,
+ GL_ALPHA16 = 0x803E,
+ GL_LUMINANCE4 = 0x803F,
+ GL_LUMINANCE8 = 0x8040,
+ GL_LUMINANCE12 = 0x8041,
+ GL_LUMINANCE16 = 0x8042,
+ GL_LUMINANCE4_ALPHA4 = 0x8043,
+ GL_LUMINANCE6_ALPHA2 = 0x8044,
+ GL_LUMINANCE8_ALPHA8 = 0x8045,
+ GL_LUMINANCE12_ALPHA4 = 0x8046,
+ GL_LUMINANCE12_ALPHA12 = 0x8047,
+ GL_LUMINANCE16_ALPHA16 = 0x8048,
+ GL_INTENSITY = 0x8049,
+ GL_INTENSITY4 = 0x804A,
+ GL_INTENSITY8 = 0x804B,
+ GL_INTENSITY12 = 0x804C,
+ GL_INTENSITY16 = 0x804D,
+ GL_R3_G3_B2 = 0x2A10,
+ GL_RGB4 = 0x804F,
+ GL_RGB5 = 0x8050,
+ GL_RGB8 = 0x8051,
+ GL_RGB10 = 0x8052,
+ GL_RGB12 = 0x8053,
+ GL_RGB16 = 0x8054,
+ GL_RGBA2 = 0x8055,
+ GL_RGBA4 = 0x8056,
+ GL_RGB5_A1 = 0x8057,
+ GL_RGBA8 = 0x8058,
+ GL_RGB10_A2 = 0x8059,
+ GL_RGBA12 = 0x805A,
+ GL_RGBA16 = 0x805B,
+
+ /* Utility */
+ GL_VENDOR = 0x1F00,
+ GL_RENDERER = 0x1F01,
+ GL_VERSION = 0x1F02,
+ GL_EXTENSIONS = 0x1F03,
+
+ /* Errors */
+ GL_INVALID_VALUE = 0x0501,
+ GL_INVALID_ENUM = 0x0500,
+ GL_INVALID_OPERATION = 0x0502,
+ GL_STACK_OVERFLOW = 0x0503,
+ GL_STACK_UNDERFLOW = 0x0504,
+ GL_OUT_OF_MEMORY = 0x0505,
+
+ /*
+ * Extensions
+ */
+
+ /* GL_EXT_blend_minmax and GL_EXT_blend_color */
+ GL_CONSTANT_COLOR_EXT = 0x8001,
+ GL_ONE_MINUS_CONSTANT_COLOR_EXT = 0x8002,
+ GL_CONSTANT_ALPHA_EXT = 0x8003,
+ GL_ONE_MINUS_CONSTANT_ALPHA_EXT = 0x8004,
+ GL_BLEND_EQUATION_EXT = 0x8009,
+ GL_MIN_EXT = 0x8007,
+ GL_MAX_EXT = 0x8008,
+ GL_FUNC_ADD_EXT = 0x8006,
+ GL_FUNC_SUBTRACT_EXT = 0x800A,
+ GL_FUNC_REVERSE_SUBTRACT_EXT = 0x800B,
+ GL_BLEND_COLOR_EXT = 0x8005,
+
+ /* GL_EXT_polygon_offset */
+ GL_POLYGON_OFFSET_EXT = 0x8037,
+ GL_POLYGON_OFFSET_FACTOR_EXT = 0x8038,
+ GL_POLYGON_OFFSET_BIAS_EXT = 0x8039,
+
+ /* GL_EXT_vertex_array */
+ GL_VERTEX_ARRAY_EXT = 0x8074,
+ GL_NORMAL_ARRAY_EXT = 0x8075,
+ GL_COLOR_ARRAY_EXT = 0x8076,
+ GL_INDEX_ARRAY_EXT = 0x8077,
+ GL_TEXTURE_COORD_ARRAY_EXT = 0x8078,
+ GL_EDGE_FLAG_ARRAY_EXT = 0x8079,
+ GL_VERTEX_ARRAY_SIZE_EXT = 0x807A,
+ GL_VERTEX_ARRAY_TYPE_EXT = 0x807B,
+ GL_VERTEX_ARRAY_STRIDE_EXT = 0x807C,
+ GL_VERTEX_ARRAY_COUNT_EXT = 0x807D,
+ GL_NORMAL_ARRAY_TYPE_EXT = 0x807E,
+ GL_NORMAL_ARRAY_STRIDE_EXT = 0x807F,
+ GL_NORMAL_ARRAY_COUNT_EXT = 0x8080,
+ GL_COLOR_ARRAY_SIZE_EXT = 0x8081,
+ GL_COLOR_ARRAY_TYPE_EXT = 0x8082,
+ GL_COLOR_ARRAY_STRIDE_EXT = 0x8083,
+ GL_COLOR_ARRAY_COUNT_EXT = 0x8084,
+ GL_INDEX_ARRAY_TYPE_EXT = 0x8085,
+ GL_INDEX_ARRAY_STRIDE_EXT = 0x8086,
+ GL_INDEX_ARRAY_COUNT_EXT = 0x8087,
+ GL_TEXTURE_COORD_ARRAY_SIZE_EXT = 0x8088,
+ GL_TEXTURE_COORD_ARRAY_TYPE_EXT = 0x8089,
+ GL_TEXTURE_COORD_ARRAY_STRIDE_EXT = 0x808A,
+ GL_TEXTURE_COORD_ARRAY_COUNT_EXT = 0x808B,
+ GL_EDGE_FLAG_ARRAY_STRIDE_EXT = 0x808C,
+ GL_EDGE_FLAG_ARRAY_COUNT_EXT = 0x808D,
+ GL_VERTEX_ARRAY_POINTER_EXT = 0x808E,
+ GL_NORMAL_ARRAY_POINTER_EXT = 0x808F,
+ GL_COLOR_ARRAY_POINTER_EXT = 0x8090,
+ GL_INDEX_ARRAY_POINTER_EXT = 0x8091,
+ GL_TEXTURE_COORD_ARRAY_POINTER_EXT = 0x8092,
+ GL_EDGE_FLAG_ARRAY_POINTER_EXT = 0x8093,
+
+ /* GL_EXT_texture_object */
+ GL_TEXTURE_PRIORITY_EXT = 0x8066,
+ GL_TEXTURE_RESIDENT_EXT = 0x8067,
+ GL_TEXTURE_1D_BINDING_EXT = 0x8068,
+ GL_TEXTURE_2D_BINDING_EXT = 0x8069,
+
+ /* GL_EXT_texture3D */
+ GL_PACK_SKIP_IMAGES_EXT = 0x806B,
+ GL_PACK_IMAGE_HEIGHT_EXT = 0x806C,
+ GL_UNPACK_SKIP_IMAGES_EXT = 0x806D,
+ GL_UNPACK_IMAGE_HEIGHT_EXT = 0x806E,
+ GL_TEXTURE_3D_EXT = 0x806F,
+ GL_PROXY_TEXTURE_3D_EXT = 0x8070,
+ GL_TEXTURE_DEPTH_EXT = 0x8071,
+ GL_TEXTURE_WRAP_R_EXT = 0x8072,
+ GL_MAX_3D_TEXTURE_SIZE_EXT = 0x8073,
+ GL_TEXTURE_3D_BINDING_EXT = 0x806A,
+
+ /* GL_EXT_paletted_texture */
+ GL_TABLE_TOO_LARGE_EXT = 0x8031,
+ GL_COLOR_TABLE_FORMAT_EXT = 0x80D8,
+ GL_COLOR_TABLE_WIDTH_EXT = 0x80D9,
+ GL_COLOR_TABLE_RED_SIZE_EXT = 0x80DA,
+ GL_COLOR_TABLE_GREEN_SIZE_EXT = 0x80DB,
+ GL_COLOR_TABLE_BLUE_SIZE_EXT = 0x80DC,
+ GL_COLOR_TABLE_ALPHA_SIZE_EXT = 0x80DD,
+ GL_COLOR_TABLE_LUMINANCE_SIZE_EXT = 0x80DE,
+ GL_COLOR_TABLE_INTENSITY_SIZE_EXT = 0x80DF,
+ GL_TEXTURE_INDEX_SIZE_EXT = 0x80ED,
+ GL_COLOR_INDEX1_EXT = 0x80E2,
+ GL_COLOR_INDEX2_EXT = 0x80E3,
+ GL_COLOR_INDEX4_EXT = 0x80E4,
+ GL_COLOR_INDEX8_EXT = 0x80E5,
+ GL_COLOR_INDEX12_EXT = 0x80E6,
+ GL_COLOR_INDEX16_EXT = 0x80E7,
+
+ /* GL_EXT_shared_texture_palette */
+ GL_SHARED_TEXTURE_PALETTE_EXT = 0x81FB,
+
+ /* GL_EXT_point_parameters */
+ GL_POINT_SIZE_MIN_EXT = 0x8126,
+ GL_POINT_SIZE_MAX_EXT = 0x8127,
+ GL_POINT_FADE_THRESHOLD_SIZE_EXT = 0x8128,
+ GL_DISTANCE_ATTENUATION_EXT = 0x8129,
+
+ /* GL_EXT_rescale_normal */
+ GL_RESCALE_NORMAL_EXT = 0x803A,
+
+ /* GL_EXT_abgr */
+ GL_ABGR_EXT = 0x8000,
+
+ /* GL_EXT_stencil_wrap */
+ GL_INCR_WRAP_EXT = 0x8507,
+ GL_DECR_WRAP_EXT = 0x8508,
+
+ /* GL_SGIS_texture_edge_clamp */
+ GL_CLAMP_TO_EDGE_SGIS = 0x812F,
+
+ /* GL_INGR_blend_func_separate */
+ GL_BLEND_DST_RGB_INGR = 0x80C8,
+ GL_BLEND_SRC_RGB_INGR = 0x80C9,
+ GL_BLEND_DST_ALPHA_INGR = 0x80CA,
+ GL_BLEND_SRC_ALPHA_INGR = 0x80CB,
+
+ /* OpenGL 1.2 */
+ GL_RESCALE_NORMAL = 0x803A,
+ GL_CLAMP_TO_EDGE = 0x812F,
+ GL_MAX_ELEMENTS_VERTICES = 0xF0E8,
+ GL_MAX_ELEMENTS_INDICES = 0xF0E9,
+ GL_BGR = 0x80E0,
+ GL_BGRA = 0x80E1,
+ GL_UNSIGNED_BYTE_3_3_2 = 0x8032,
+ GL_UNSIGNED_BYTE_2_3_3_REV = 0x8362,
+ GL_UNSIGNED_SHORT_5_6_5 = 0x8363,
+ GL_UNSIGNED_SHORT_5_6_5_REV = 0x8364,
+ GL_UNSIGNED_SHORT_4_4_4_4 = 0x8033,
+ GL_UNSIGNED_SHORT_4_4_4_4_REV = 0x8365,
+ GL_UNSIGNED_SHORT_5_5_5_1 = 0x8034,
+ GL_UNSIGNED_SHORT_1_5_5_5_REV = 0x8366,
+ GL_UNSIGNED_INT_8_8_8_8 = 0x8035,
+ GL_UNSIGNED_INT_8_8_8_8_REV = 0x8367,
+ GL_UNSIGNED_INT_10_10_10_2 = 0x8036,
+ GL_UNSIGNED_INT_2_10_10_10_REV = 0x8368,
+ GL_LIGHT_MODEL_COLOR_CONTROL = 0x81F8,
+ GL_SINGLE_COLOR = 0x81F9,
+ GL_SEPARATE_SPECULAR_COLOR = 0x81FA,
+ GL_TEXTURE_MIN_LOD = 0x813A,
+ GL_TEXTURE_MAX_LOD = 0x813B,
+ GL_TEXTURE_BASE_LEVEL = 0x813C,
+ GL_TEXTURE_MAX_LEVEL = 0x813D,
+
+ /* GL_ARB_multitexture */
+ GL_TEXTURE0_ARB = 0x84C0,
+ GL_TEXTURE1_ARB = 0x84C1,
+ GL_TEXTURE2_ARB = 0x84C2,
+ GL_TEXTURE3_ARB = 0x84C3,
+ GL_TEXTURE4_ARB = 0x84C4,
+ GL_TEXTURE5_ARB = 0x84C5,
+ GL_TEXTURE6_ARB = 0x84C6,
+ GL_TEXTURE7_ARB = 0x84C7,
+ GL_TEXTURE8_ARB = 0x84C8,
+ GL_TEXTURE9_ARB = 0x84C9,
+ GL_TEXTURE10_ARB = 0x84CA,
+ GL_TEXTURE11_ARB = 0x84CB,
+ GL_TEXTURE12_ARB = 0x84CC,
+ GL_TEXTURE13_ARB = 0x84CD,
+ GL_TEXTURE14_ARB = 0x84CE,
+ GL_TEXTURE15_ARB = 0x84CF,
+ GL_TEXTURE16_ARB = 0x84D0,
+ GL_TEXTURE17_ARB = 0x84D1,
+ GL_TEXTURE18_ARB = 0x84D2,
+ GL_TEXTURE19_ARB = 0x84D3,
+ GL_TEXTURE20_ARB = 0x84D4,
+ GL_TEXTURE21_ARB = 0x84D5,
+ GL_TEXTURE22_ARB = 0x84D6,
+ GL_TEXTURE23_ARB = 0x84D7,
+ GL_TEXTURE24_ARB = 0x84D8,
+ GL_TEXTURE25_ARB = 0x84D9,
+ GL_TEXTURE26_ARB = 0x84DA,
+ GL_TEXTURE27_ARB = 0x84DB,
+ GL_TEXTURE28_ARB = 0x84DC,
+ GL_TEXTURE29_ARB = 0x84DD,
+ GL_TEXTURE30_ARB = 0x84DE,
+ GL_TEXTURE31_ARB = 0x84DF,
+ GL_ACTIVE_TEXTURE_ARB = 0x84E0,
+ GL_CLIENT_ACTIVE_TEXTURE_ARB = 0x84E1,
+ GL_MAX_TEXTURE_UNITS_ARB = 0x84E2,
+
+ /*
+ * OpenGL 1.2 imaging subset (NOT IMPLEMENTED BY MESA)
+ */
+ /* GL_EXT_color_table */
+ GL_COLOR_TABLE = 0x80D0,
+ GL_POST_CONVOLUTION_COLOR_TABLE = 0x80D1,
+ GL_POST_COLOR_MATRIX_COLOR_TABLE = 0x80D2,
+ GL_PROXY_COLOR_TABLE = 0x80D3,
+ GL_PROXY_POST_CONVOLUTION_COLOR_TABLE = 0x80D4,
+ GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE = 0x80D5,
+ GL_COLOR_TABLE_SCALE = 0x80D6,
+ GL_COLOR_TABLE_BIAS = 0x80D7,
+ GL_COLOR_TABLE_FORMAT = 0x80D8,
+ GL_COLOR_TABLE_WIDTH = 0x80D9,
+ GL_COLOR_TABLE_RED_SIZE = 0x80DA,
+ GL_COLOR_TABLE_GREEN_SIZE = 0x80DB,
+ GL_COLOR_TABLE_BLUE_SIZE = 0x80DC,
+ GL_COLOR_TABLE_ALPHA_SIZE = 0x80DD,
+ GL_COLOR_TABLE_LUMINANCE_SIZE = 0x80DE,
+ GL_COLOR_TABLE_INTENSITY_SIZE = 0x80DF,
+
+ /* GL_EXT_convolution and GL_HP_convolution_border_modes */
+ GL_CONVOLUTION_1D = 0x8010,
+ GL_CONVOLUTION_2D = 0x8011,
+ GL_SEPARABLE_2D = 0x8012,
+ GL_CONVOLUTION_BORDER_MODE = 0x8013,
+ GL_CONVOLUTION_FILTER_SCALE = 0x8014,
+ GL_CONVOLUTION_FILTER_BIAS = 0x8015,
+ GL_REDUCE = 0x8016,
+ GL_CONVOLUTION_FORMAT = 0x8017,
+ GL_CONVOLUTION_WIDTH = 0x8018,
+ GL_CONVOLUTION_HEIGHT = 0x8019,
+ GL_MAX_CONVOLUTION_WIDTH = 0x801A,
+ GL_MAX_CONVOLUTION_HEIGHT = 0x801B,
+ GL_POST_CONVOLUTION_RED_SCALE = 0x801C,
+ GL_POST_CONVOLUTION_GREEN_SCALE = 0x801D,
+ GL_POST_CONVOLUTION_BLUE_SCALE = 0x801E,
+ GL_POST_CONVOLUTION_ALPHA_SCALE = 0x801F,
+ GL_POST_CONVOLUTION_RED_BIAS = 0x8020,
+ GL_POST_CONVOLUTION_GREEN_BIAS = 0x8021,
+ GL_POST_CONVOLUTION_BLUE_BIAS = 0x8022,
+ GL_POST_CONVOLUTION_ALPHA_BIAS = 0x8023,
+ GL_CONSTANT_BORDER = 0x8151,
+ GL_REPLICATE_BORDER = 0x8153,
+ GL_CONVOLUTION_BORDER_COLOR = 0x8154,
+
+ /* GL_SGI_color_matrix */
+ GL_COLOR_MATRIX = 0x80B1,
+ GL_COLOR_MATRIX_STACK_DEPTH = 0x80B2,
+ GL_MAX_COLOR_MATRIX_STACK_DEPTH = 0x80B3,
+ GL_POST_COLOR_MATRIX_RED_SCALE = 0x80B4,
+ GL_POST_COLOR_MATRIX_GREEN_SCALE = 0x80B5,
+ GL_POST_COLOR_MATRIX_BLUE_SCALE = 0x80B6,
+ GL_POST_COLOR_MATRIX_ALPHA_SCALE = 0x80B7,
+ GL_POST_COLOR_MATRIX_RED_BIAS = 0x80B8,
+ GL_POST_COLOR_MATRIX_GREEN_BIAS = 0x80B9,
+ GL_POST_COLOR_MATRIX_BLUE_BIAS = 0x80BA,
+ GL_POST_COLOR_MATRIX_ALPHA_BIAS = 0x80BB,
+
+ /* GL_EXT_histogram */
+ GL_HISTOGRAM = 0x8024,
+ GL_PROXY_HISTOGRAM = 0x8025,
+ GL_HISTOGRAM_WIDTH = 0x8026,
+ GL_HISTOGRAM_FORMAT = 0x8027,
+ GL_HISTOGRAM_RED_SIZE = 0x8028,
+ GL_HISTOGRAM_GREEN_SIZE = 0x8029,
+ GL_HISTOGRAM_BLUE_SIZE = 0x802A,
+ GL_HISTOGRAM_ALPHA_SIZE = 0x802B,
+ GL_HISTOGRAM_LUMINANCE_SIZE = 0x802C,
+ GL_HISTOGRAM_SINK = 0x802D,
+ GL_MINMAX = 0x802E,
+ GL_MINMAX_FORMAT = 0x802F,
+ GL_MINMAX_SINK = 0x8030,
+ GL_TABLE_TOO_LARGE = 0x8031,
+
+ /* GL_NV_texgen_reflection (nVidia) */
+ GL_NORMAL_MAP_NV = 0x8511,
+ GL_REFLECTION_MAP_NV = 0x8512,
+
+ /* GL_PGI_misc_hints */
+ GL_PREFER_DOUBLEBUFFER_HINT_PGI = 107000,
+ GL_STRICT_DEPTHFUNC_HINT_PGI = 107030,
+ GL_STRICT_LIGHTING_HINT_PGI = 107031,
+ GL_STRICT_SCISSOR_HINT_PGI = 107032,
+ GL_FULL_STIPPLE_HINT_PGI = 107033,
+ GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI = 107011,
+ GL_NATIVE_GRAPHICS_END_HINT_PGI = 107012,
+ GL_CONSERVE_MEMORY_HINT_PGI = 107005,
+ GL_RECLAIM_MEMORY_HINT_PGI = 107006,
+ GL_ALWAYS_FAST_HINT_PGI = 107020,
+ GL_ALWAYS_SOFT_HINT_PGI = 107021,
+ GL_ALLOW_DRAW_OBJ_HINT_PGI = 107022,
+ GL_ALLOW_DRAW_WIN_HINT_PGI = 107023,
+ GL_ALLOW_DRAW_FRG_HINT_PGI = 107024,
+ GL_ALLOW_DRAW_SPN_HINT_PGI = 107024,
+ GL_ALLOW_DRAW_MEM_HINT_PGI = 107025,
+ GL_CLIP_NEAR_HINT_PGI = 107040,
+ GL_CLIP_FAR_HINT_PGI = 107041,
+ GL_WIDE_LINE_HINT_PGI = 107042,
+ GL_BACK_NORMALS_HINT_PGI = 107043,
+ GL_NATIVE_GRAPHICS_HANDLE_PGI = 107010,
+
+ /* GL_EXT_compiled_vertex_array */
+ GL_ARRAY_ELEMENT_LOCK_FIRST_SGI = 0x81A8,
+ GL_ARRAY_ELEMENT_LOCK_COUNT_SGI = 0x81A9,
+
+ /* GL_EXT_clip_volume_hint */
+ GL_CLIP_VOLUME_CLIPPING_HINT_EXT = 0x80F0
+
+
+/* When you add new enums, please make sure you update the strings
+ * in enums.c as well...
+ */
+
+}
+#ifdef CENTERLINE_CLPP
+ /* CenterLine C++ workaround: */
+ gl_enum;
+ typedef int GLenum;
+#else
+ /* all other compilers */
+ GLenum;
+#endif
+
+
+/* GL_NO_ERROR must be zero */
+#define GL_NO_ERROR 0
+
+
+
+enum {
+ GL_CURRENT_BIT = 0x00000001,
+ GL_POINT_BIT = 0x00000002,
+ GL_LINE_BIT = 0x00000004,
+ GL_POLYGON_BIT = 0x00000008,
+ GL_POLYGON_STIPPLE_BIT = 0x00000010,
+ GL_PIXEL_MODE_BIT = 0x00000020,
+ GL_LIGHTING_BIT = 0x00000040,
+ GL_FOG_BIT = 0x00000080,
+ GL_DEPTH_BUFFER_BIT = 0x00000100,
+ GL_ACCUM_BUFFER_BIT = 0x00000200,
+ GL_STENCIL_BUFFER_BIT = 0x00000400,
+ GL_VIEWPORT_BIT = 0x00000800,
+ GL_TRANSFORM_BIT = 0x00001000,
+ GL_ENABLE_BIT = 0x00002000,
+ GL_COLOR_BUFFER_BIT = 0x00004000,
+ GL_HINT_BIT = 0x00008000,
+ GL_EVAL_BIT = 0x00010000,
+ GL_LIST_BIT = 0x00020000,
+ GL_TEXTURE_BIT = 0x00040000,
+ GL_SCISSOR_BIT = 0x00080000,
+ GL_ALL_ATTRIB_BITS = 0x000FFFFF
+};
+
+
+enum {
+ GL_CLIENT_PIXEL_STORE_BIT = 0x00000001,
+ GL_CLIENT_VERTEX_ARRAY_BIT = 0x00000002
+};
+#define GL_CLIENT_ALL_ATTRIB_BITS 0xFFFFFFFF
+
+
+typedef unsigned int GLbitfield;
+
+
+#ifdef CENTERLINE_CLPP
+#define signed
+#endif
+
+
+/*
+ *
+ * Data types (may be architecture dependent in some cases)
+ *
+ */
+
+/* C type GL type storage */
+/*-------------------------------------------------------------------------*/
+typedef void GLvoid;
+typedef unsigned char GLboolean;
+typedef signed char GLbyte; /* 1-byte signed */
+typedef short GLshort; /* 2-byte signed */
+typedef int GLint; /* 4-byte signed */
+typedef unsigned char GLubyte; /* 1-byte unsigned */
+typedef unsigned short GLushort; /* 2-byte unsigned */
+typedef unsigned int GLuint; /* 4-byte unsigned */
+typedef int GLsizei; /* 4-byte signed */
+typedef float GLfloat; /* single precision float */
+typedef float GLclampf; /* single precision float in [0,1] */
+typedef double GLdouble; /* double precision float */
+typedef double GLclampd; /* double precision float in [0,1] */
+
+
+
+#if defined(__BEOS__) || defined(__QUICKDRAW__)
+#pragma export on
+#endif
+
+
+/*
+ * Miscellaneous
+ */
+
+GLAPI void GLAPIENTRY glClearIndex( GLfloat c );
+
+GLAPI void GLAPIENTRY glClearColor( GLclampf red,
+ GLclampf green,
+ GLclampf blue,
+ GLclampf alpha );
+
+GLAPI void GLAPIENTRY glClear( GLbitfield mask );
+
+GLAPI void GLAPIENTRY glIndexMask( GLuint mask );
+
+GLAPI void GLAPIENTRY glColorMask( GLboolean red, GLboolean green,
+ GLboolean blue, GLboolean alpha );
+
+GLAPI void GLAPIENTRY glAlphaFunc( GLenum func, GLclampf ref );
+
+GLAPI void GLAPIENTRY glBlendFunc( GLenum sfactor, GLenum dfactor );
+
+GLAPI void GLAPIENTRY glLogicOp( GLenum opcode );
+
+GLAPI void GLAPIENTRY glCullFace( GLenum mode );
+
+GLAPI void GLAPIENTRY glFrontFace( GLenum mode );
+
+GLAPI void GLAPIENTRY glPointSize( GLfloat size );
+
+GLAPI void GLAPIENTRY glLineWidth( GLfloat width );
+
+GLAPI void GLAPIENTRY glLineStipple( GLint factor, GLushort pattern );
+
+GLAPI void GLAPIENTRY glPolygonMode( GLenum face, GLenum mode );
+
+GLAPI void GLAPIENTRY glPolygonOffset( GLfloat factor, GLfloat units );
+
+GLAPI void GLAPIENTRY glPolygonStipple( const GLubyte *mask );
+
+GLAPI void GLAPIENTRY glGetPolygonStipple( GLubyte *mask );
+
+GLAPI void GLAPIENTRY glEdgeFlag( GLboolean flag );
+
+GLAPI void GLAPIENTRY glEdgeFlagv( const GLboolean *flag );
+
+GLAPI void GLAPIENTRY glScissor( GLint x, GLint y,
+ GLsizei width, GLsizei height);
+
+GLAPI void GLAPIENTRY glClipPlane( GLenum plane, const GLdouble *equation );
+
+GLAPI void GLAPIENTRY glGetClipPlane( GLenum plane, GLdouble *equation );
+
+GLAPI void GLAPIENTRY glDrawBuffer( GLenum mode );
+
+GLAPI void GLAPIENTRY glReadBuffer( GLenum mode );
+
+GLAPI void GLAPIENTRY glEnable( GLenum cap );
+
+GLAPI void GLAPIENTRY glDisable( GLenum cap );
+
+GLAPI GLboolean GLAPIENTRY glIsEnabled( GLenum cap );
+
+
+GLAPI void GLAPIENTRY glEnableClientState( GLenum cap ); /* 1.1 */
+
+GLAPI void GLAPIENTRY glDisableClientState( GLenum cap ); /* 1.1 */
+
+
+GLAPI void GLAPIENTRY glGetBooleanv( GLenum pname, GLboolean *params );
+
+GLAPI void GLAPIENTRY glGetDoublev( GLenum pname, GLdouble *params );
+
+GLAPI void GLAPIENTRY glGetFloatv( GLenum pname, GLfloat *params );
+
+GLAPI void GLAPIENTRY glGetIntegerv( GLenum pname, GLint *params );
+
+
+GLAPI void GLAPIENTRY glPushAttrib( GLbitfield mask );
+
+GLAPI void GLAPIENTRY glPopAttrib( void );
+
+
+GLAPI void GLAPIENTRY glPushClientAttrib( GLbitfield mask ); /* 1.1 */
+
+GLAPI void GLAPIENTRY glPopClientAttrib( void ); /* 1.1 */
+
+
+GLAPI GLint GLAPIENTRY glRenderMode( GLenum mode );
+
+GLAPI GLenum GLAPIENTRY glGetError( void );
+
+GLAPI const GLubyte* GLAPIENTRY glGetString( GLenum name );
+
+GLAPI void GLAPIENTRY glFinish( void );
+
+GLAPI void GLAPIENTRY glFlush( void );
+
+GLAPI void GLAPIENTRY glHint( GLenum target, GLenum mode );
+
+
+
+/*
+ * Depth Buffer
+ */
+
+GLAPI void GLAPIENTRY glClearDepth( GLclampd depth );
+
+GLAPI void GLAPIENTRY glDepthFunc( GLenum func );
+
+GLAPI void GLAPIENTRY glDepthMask( GLboolean flag );
+
+GLAPI void GLAPIENTRY glDepthRange( GLclampd near_val, GLclampd far_val );
+
+
+/*
+ * Accumulation Buffer
+ */
+
+GLAPI void GLAPIENTRY glClearAccum( GLfloat red, GLfloat green,
+ GLfloat blue, GLfloat alpha );
+
+GLAPI void GLAPIENTRY glAccum( GLenum op, GLfloat value );
+
+
+
+/*
+ * Transformation
+ */
+
+GLAPI void GLAPIENTRY glMatrixMode( GLenum mode );
+
+GLAPI void GLAPIENTRY glOrtho( GLdouble left, GLdouble right,
+ GLdouble bottom, GLdouble top,
+ GLdouble near_val, GLdouble far_val );
+
+GLAPI void GLAPIENTRY glFrustum( GLdouble left, GLdouble right,
+ GLdouble bottom, GLdouble top,
+ GLdouble near_val, GLdouble far_val );
+
+GLAPI void GLAPIENTRY glViewport( GLint x, GLint y,
+ GLsizei width, GLsizei height );
+
+GLAPI void GLAPIENTRY glPushMatrix( void );
+
+GLAPI void GLAPIENTRY glPopMatrix( void );
+
+GLAPI void GLAPIENTRY glLoadIdentity( void );
+
+GLAPI void GLAPIENTRY glLoadMatrixd( const GLdouble *m );
+GLAPI void GLAPIENTRY glLoadMatrixf( const GLfloat *m );
+
+GLAPI void GLAPIENTRY glMultMatrixd( const GLdouble *m );
+GLAPI void GLAPIENTRY glMultMatrixf( const GLfloat *m );
+
+GLAPI void GLAPIENTRY glRotated( GLdouble angle,
+ GLdouble x, GLdouble y, GLdouble z );
+GLAPI void GLAPIENTRY glRotatef( GLfloat angle,
+ GLfloat x, GLfloat y, GLfloat z );
+
+GLAPI void GLAPIENTRY glScaled( GLdouble x, GLdouble y, GLdouble z );
+GLAPI void GLAPIENTRY glScalef( GLfloat x, GLfloat y, GLfloat z );
+
+GLAPI void GLAPIENTRY glTranslated( GLdouble x, GLdouble y, GLdouble z );
+GLAPI void GLAPIENTRY glTranslatef( GLfloat x, GLfloat y, GLfloat z );
+
+
+
+/*
+ * Display Lists
+ */
+
+GLAPI GLboolean GLAPIENTRY glIsList( GLuint list );
+
+GLAPI void GLAPIENTRY glDeleteLists( GLuint list, GLsizei range );
+
+GLAPI GLuint GLAPIENTRY glGenLists( GLsizei range );
+
+GLAPI void GLAPIENTRY glNewList( GLuint list, GLenum mode );
+
+GLAPI void GLAPIENTRY glEndList( void );
+
+GLAPI void GLAPIENTRY glCallList( GLuint list );
+
+GLAPI void GLAPIENTRY glCallLists( GLsizei n, GLenum type,
+ const GLvoid *lists );
+
+GLAPI void GLAPIENTRY glListBase( GLuint base );
+
+
+
+/*
+ * Drawing Functions
+ */
+
+GLAPI void GLAPIENTRY glBegin( GLenum mode );
+
+GLAPI void GLAPIENTRY glEnd( void );
+
+
+GLAPI void GLAPIENTRY glVertex2d( GLdouble x, GLdouble y );
+GLAPI void GLAPIENTRY glVertex2f( GLfloat x, GLfloat y );
+GLAPI void GLAPIENTRY glVertex2i( GLint x, GLint y );
+GLAPI void GLAPIENTRY glVertex2s( GLshort x, GLshort y );
+
+GLAPI void GLAPIENTRY glVertex3d( GLdouble x, GLdouble y, GLdouble z );
+GLAPI void GLAPIENTRY glVertex3f( GLfloat x, GLfloat y, GLfloat z );
+GLAPI void GLAPIENTRY glVertex3i( GLint x, GLint y, GLint z );
+GLAPI void GLAPIENTRY glVertex3s( GLshort x, GLshort y, GLshort z );
+
+GLAPI void GLAPIENTRY glVertex4d( GLdouble x, GLdouble y, GLdouble z, GLdouble w );
+GLAPI void GLAPIENTRY glVertex4f( GLfloat x, GLfloat y, GLfloat z, GLfloat w );
+GLAPI void GLAPIENTRY glVertex4i( GLint x, GLint y, GLint z, GLint w );
+GLAPI void GLAPIENTRY glVertex4s( GLshort x, GLshort y, GLshort z, GLshort w );
+
+GLAPI void GLAPIENTRY glVertex2dv( const GLdouble *v );
+GLAPI void GLAPIENTRY glVertex2fv( const GLfloat *v );
+GLAPI void GLAPIENTRY glVertex2iv( const GLint *v );
+GLAPI void GLAPIENTRY glVertex2sv( const GLshort *v );
+
+GLAPI void GLAPIENTRY glVertex3dv( const GLdouble *v );
+GLAPI void GLAPIENTRY glVertex3fv( const GLfloat *v );
+GLAPI void GLAPIENTRY glVertex3iv( const GLint *v );
+GLAPI void GLAPIENTRY glVertex3sv( const GLshort *v );
+
+GLAPI void GLAPIENTRY glVertex4dv( const GLdouble *v );
+GLAPI void GLAPIENTRY glVertex4fv( const GLfloat *v );
+GLAPI void GLAPIENTRY glVertex4iv( const GLint *v );
+GLAPI void GLAPIENTRY glVertex4sv( const GLshort *v );
+
+
+GLAPI void GLAPIENTRY glNormal3b( GLbyte nx, GLbyte ny, GLbyte nz );
+GLAPI void GLAPIENTRY glNormal3d( GLdouble nx, GLdouble ny, GLdouble nz );
+GLAPI void GLAPIENTRY glNormal3f( GLfloat nx, GLfloat ny, GLfloat nz );
+GLAPI void GLAPIENTRY glNormal3i( GLint nx, GLint ny, GLint nz );
+GLAPI void GLAPIENTRY glNormal3s( GLshort nx, GLshort ny, GLshort nz );
+
+GLAPI void GLAPIENTRY glNormal3bv( const GLbyte *v );
+GLAPI void GLAPIENTRY glNormal3dv( const GLdouble *v );
+GLAPI void GLAPIENTRY glNormal3fv( const GLfloat *v );
+GLAPI void GLAPIENTRY glNormal3iv( const GLint *v );
+GLAPI void GLAPIENTRY glNormal3sv( const GLshort *v );
+
+
+GLAPI void GLAPIENTRY glIndexd( GLdouble c );
+GLAPI void GLAPIENTRY glIndexf( GLfloat c );
+GLAPI void GLAPIENTRY glIndexi( GLint c );
+GLAPI void GLAPIENTRY glIndexs( GLshort c );
+GLAPI void GLAPIENTRY glIndexub( GLubyte c ); /* 1.1 */
+
+GLAPI void GLAPIENTRY glIndexdv( const GLdouble *c );
+GLAPI void GLAPIENTRY glIndexfv( const GLfloat *c );
+GLAPI void GLAPIENTRY glIndexiv( const GLint *c );
+GLAPI void GLAPIENTRY glIndexsv( const GLshort *c );
+GLAPI void GLAPIENTRY glIndexubv( const GLubyte *c ); /* 1.1 */
+
+GLAPI void GLAPIENTRY glColor3b( GLbyte red, GLbyte green, GLbyte blue );
+GLAPI void GLAPIENTRY glColor3d( GLdouble red, GLdouble green, GLdouble blue );
+GLAPI void GLAPIENTRY glColor3f( GLfloat red, GLfloat green, GLfloat blue );
+GLAPI void GLAPIENTRY glColor3i( GLint red, GLint green, GLint blue );
+GLAPI void GLAPIENTRY glColor3s( GLshort red, GLshort green, GLshort blue );
+GLAPI void GLAPIENTRY glColor3ub( GLubyte red, GLubyte green, GLubyte blue );
+GLAPI void GLAPIENTRY glColor3ui( GLuint red, GLuint green, GLuint blue );
+GLAPI void GLAPIENTRY glColor3us( GLushort red, GLushort green, GLushort blue );
+
+GLAPI void GLAPIENTRY glColor4b( GLbyte red, GLbyte green,
+ GLbyte blue, GLbyte alpha );
+GLAPI void GLAPIENTRY glColor4d( GLdouble red, GLdouble green,
+ GLdouble blue, GLdouble alpha );
+GLAPI void GLAPIENTRY glColor4f( GLfloat red, GLfloat green,
+ GLfloat blue, GLfloat alpha );
+GLAPI void GLAPIENTRY glColor4i( GLint red, GLint green,
+ GLint blue, GLint alpha );
+GLAPI void GLAPIENTRY glColor4s( GLshort red, GLshort green,
+ GLshort blue, GLshort alpha );
+GLAPI void GLAPIENTRY glColor4ub( GLubyte red, GLubyte green,
+ GLubyte blue, GLubyte alpha );
+GLAPI void GLAPIENTRY glColor4ui( GLuint red, GLuint green,
+ GLuint blue, GLuint alpha );
+GLAPI void GLAPIENTRY glColor4us( GLushort red, GLushort green,
+ GLushort blue, GLushort alpha );
+
+
+GLAPI void GLAPIENTRY glColor3bv( const GLbyte *v );
+GLAPI void GLAPIENTRY glColor3dv( const GLdouble *v );
+GLAPI void GLAPIENTRY glColor3fv( const GLfloat *v );
+GLAPI void GLAPIENTRY glColor3iv( const GLint *v );
+GLAPI void GLAPIENTRY glColor3sv( const GLshort *v );
+GLAPI void GLAPIENTRY glColor3ubv( const GLubyte *v );
+GLAPI void GLAPIENTRY glColor3uiv( const GLuint *v );
+GLAPI void GLAPIENTRY glColor3usv( const GLushort *v );
+
+GLAPI void GLAPIENTRY glColor4bv( const GLbyte *v );
+GLAPI void GLAPIENTRY glColor4dv( const GLdouble *v );
+GLAPI void GLAPIENTRY glColor4fv( const GLfloat *v );
+GLAPI void GLAPIENTRY glColor4iv( const GLint *v );
+GLAPI void GLAPIENTRY glColor4sv( const GLshort *v );
+GLAPI void GLAPIENTRY glColor4ubv( const GLubyte *v );
+GLAPI void GLAPIENTRY glColor4uiv( const GLuint *v );
+GLAPI void GLAPIENTRY glColor4usv( const GLushort *v );
+
+
+GLAPI void GLAPIENTRY glTexCoord1d( GLdouble s );
+GLAPI void GLAPIENTRY glTexCoord1f( GLfloat s );
+GLAPI void GLAPIENTRY glTexCoord1i( GLint s );
+GLAPI void GLAPIENTRY glTexCoord1s( GLshort s );
+
+GLAPI void GLAPIENTRY glTexCoord2d( GLdouble s, GLdouble t );
+GLAPI void GLAPIENTRY glTexCoord2f( GLfloat s, GLfloat t );
+GLAPI void GLAPIENTRY glTexCoord2i( GLint s, GLint t );
+GLAPI void GLAPIENTRY glTexCoord2s( GLshort s, GLshort t );
+
+GLAPI void GLAPIENTRY glTexCoord3d( GLdouble s, GLdouble t, GLdouble r );
+GLAPI void GLAPIENTRY glTexCoord3f( GLfloat s, GLfloat t, GLfloat r );
+GLAPI void GLAPIENTRY glTexCoord3i( GLint s, GLint t, GLint r );
+GLAPI void GLAPIENTRY glTexCoord3s( GLshort s, GLshort t, GLshort r );
+
+GLAPI void GLAPIENTRY glTexCoord4d( GLdouble s, GLdouble t, GLdouble r, GLdouble q );
+GLAPI void GLAPIENTRY glTexCoord4f( GLfloat s, GLfloat t, GLfloat r, GLfloat q );
+GLAPI void GLAPIENTRY glTexCoord4i( GLint s, GLint t, GLint r, GLint q );
+GLAPI void GLAPIENTRY glTexCoord4s( GLshort s, GLshort t, GLshort r, GLshort q );
+
+GLAPI void GLAPIENTRY glTexCoord1dv( const GLdouble *v );
+GLAPI void GLAPIENTRY glTexCoord1fv( const GLfloat *v );
+GLAPI void GLAPIENTRY glTexCoord1iv( const GLint *v );
+GLAPI void GLAPIENTRY glTexCoord1sv( const GLshort *v );
+
+GLAPI void GLAPIENTRY glTexCoord2dv( const GLdouble *v );
+GLAPI void GLAPIENTRY glTexCoord2fv( const GLfloat *v );
+GLAPI void GLAPIENTRY glTexCoord2iv( const GLint *v );
+GLAPI void GLAPIENTRY glTexCoord2sv( const GLshort *v );
+
+GLAPI void GLAPIENTRY glTexCoord3dv( const GLdouble *v );
+GLAPI void GLAPIENTRY glTexCoord3fv( const GLfloat *v );
+GLAPI void GLAPIENTRY glTexCoord3iv( const GLint *v );
+GLAPI void GLAPIENTRY glTexCoord3sv( const GLshort *v );
+
+GLAPI void GLAPIENTRY glTexCoord4dv( const GLdouble *v );
+GLAPI void GLAPIENTRY glTexCoord4fv( const GLfloat *v );
+GLAPI void GLAPIENTRY glTexCoord4iv( const GLint *v );
+GLAPI void GLAPIENTRY glTexCoord4sv( const GLshort *v );
+
+
+GLAPI void GLAPIENTRY glRasterPos2d( GLdouble x, GLdouble y );
+GLAPI void GLAPIENTRY glRasterPos2f( GLfloat x, GLfloat y );
+GLAPI void GLAPIENTRY glRasterPos2i( GLint x, GLint y );
+GLAPI void GLAPIENTRY glRasterPos2s( GLshort x, GLshort y );
+
+GLAPI void GLAPIENTRY glRasterPos3d( GLdouble x, GLdouble y, GLdouble z );
+GLAPI void GLAPIENTRY glRasterPos3f( GLfloat x, GLfloat y, GLfloat z );
+GLAPI void GLAPIENTRY glRasterPos3i( GLint x, GLint y, GLint z );
+GLAPI void GLAPIENTRY glRasterPos3s( GLshort x, GLshort y, GLshort z );
+
+GLAPI void GLAPIENTRY glRasterPos4d( GLdouble x, GLdouble y, GLdouble z, GLdouble w );
+GLAPI void GLAPIENTRY glRasterPos4f( GLfloat x, GLfloat y, GLfloat z, GLfloat w );
+GLAPI void GLAPIENTRY glRasterPos4i( GLint x, GLint y, GLint z, GLint w );
+GLAPI void GLAPIENTRY glRasterPos4s( GLshort x, GLshort y, GLshort z, GLshort w );
+
+GLAPI void GLAPIENTRY glRasterPos2dv( const GLdouble *v );
+GLAPI void GLAPIENTRY glRasterPos2fv( const GLfloat *v );
+GLAPI void GLAPIENTRY glRasterPos2iv( const GLint *v );
+GLAPI void GLAPIENTRY glRasterPos2sv( const GLshort *v );
+
+GLAPI void GLAPIENTRY glRasterPos3dv( const GLdouble *v );
+GLAPI void GLAPIENTRY glRasterPos3fv( const GLfloat *v );
+GLAPI void GLAPIENTRY glRasterPos3iv( const GLint *v );
+GLAPI void GLAPIENTRY glRasterPos3sv( const GLshort *v );
+
+GLAPI void GLAPIENTRY glRasterPos4dv( const GLdouble *v );
+GLAPI void GLAPIENTRY glRasterPos4fv( const GLfloat *v );
+GLAPI void GLAPIENTRY glRasterPos4iv( const GLint *v );
+GLAPI void GLAPIENTRY glRasterPos4sv( const GLshort *v );
+
+
+GLAPI void GLAPIENTRY glRectd( GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2 );
+GLAPI void GLAPIENTRY glRectf( GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2 );
+GLAPI void GLAPIENTRY glRecti( GLint x1, GLint y1, GLint x2, GLint y2 );
+GLAPI void GLAPIENTRY glRects( GLshort x1, GLshort y1, GLshort x2, GLshort y2 );
+
+
+GLAPI void GLAPIENTRY glRectdv( const GLdouble *v1, const GLdouble *v2 );
+GLAPI void GLAPIENTRY glRectfv( const GLfloat *v1, const GLfloat *v2 );
+GLAPI void GLAPIENTRY glRectiv( const GLint *v1, const GLint *v2 );
+GLAPI void GLAPIENTRY glRectsv( const GLshort *v1, const GLshort *v2 );
+
+
+
+/*
+ * Vertex Arrays (1.1)
+ */
+
+GLAPI void GLAPIENTRY glVertexPointer( GLint size, GLenum type,
+ GLsizei stride, const GLvoid *ptr );
+
+GLAPI void GLAPIENTRY glNormalPointer( GLenum type, GLsizei stride,
+ const GLvoid *ptr );
+
+GLAPI void GLAPIENTRY glColorPointer( GLint size, GLenum type,
+ GLsizei stride, const GLvoid *ptr );
+
+GLAPI void GLAPIENTRY glIndexPointer( GLenum type, GLsizei stride,
+ const GLvoid *ptr );
+
+GLAPI void GLAPIENTRY glTexCoordPointer( GLint size, GLenum type,
+ GLsizei stride, const GLvoid *ptr );
+
+GLAPI void GLAPIENTRY glEdgeFlagPointer( GLsizei stride, const GLvoid *ptr );
+
+GLAPI void GLAPIENTRY glGetPointerv( GLenum pname, void **params );
+
+GLAPI void GLAPIENTRY glArrayElement( GLint i );
+
+GLAPI void GLAPIENTRY glDrawArrays( GLenum mode, GLint first, GLsizei count );
+
+GLAPI void GLAPIENTRY glDrawElements( GLenum mode, GLsizei count,
+ GLenum type, const GLvoid *indices );
+
+GLAPI void GLAPIENTRY glInterleavedArrays( GLenum format, GLsizei stride,
+ const GLvoid *pointer );
+
+
+/*
+ * Lighting
+ */
+
+GLAPI void GLAPIENTRY glShadeModel( GLenum mode );
+
+GLAPI void GLAPIENTRY glLightf( GLenum light, GLenum pname, GLfloat param );
+GLAPI void GLAPIENTRY glLighti( GLenum light, GLenum pname, GLint param );
+GLAPI void GLAPIENTRY glLightfv( GLenum light, GLenum pname,
+ const GLfloat *params );
+GLAPI void GLAPIENTRY glLightiv( GLenum light, GLenum pname,
+ const GLint *params );
+
+GLAPI void GLAPIENTRY glGetLightfv( GLenum light, GLenum pname,
+ GLfloat *params );
+GLAPI void GLAPIENTRY glGetLightiv( GLenum light, GLenum pname,
+ GLint *params );
+
+GLAPI void GLAPIENTRY glLightModelf( GLenum pname, GLfloat param );
+GLAPI void GLAPIENTRY glLightModeli( GLenum pname, GLint param );
+GLAPI void GLAPIENTRY glLightModelfv( GLenum pname, const GLfloat *params );
+GLAPI void GLAPIENTRY glLightModeliv( GLenum pname, const GLint *params );
+
+GLAPI void GLAPIENTRY glMaterialf( GLenum face, GLenum pname, GLfloat param );
+GLAPI void GLAPIENTRY glMateriali( GLenum face, GLenum pname, GLint param );
+GLAPI void GLAPIENTRY glMaterialfv( GLenum face, GLenum pname, const GLfloat *params );
+GLAPI void GLAPIENTRY glMaterialiv( GLenum face, GLenum pname, const GLint *params );
+
+GLAPI void GLAPIENTRY glGetMaterialfv( GLenum face, GLenum pname, GLfloat *params );
+GLAPI void GLAPIENTRY glGetMaterialiv( GLenum face, GLenum pname, GLint *params );
+
+GLAPI void GLAPIENTRY glColorMaterial( GLenum face, GLenum mode );
+
+
+
+
+/*
+ * Raster functions
+ */
+
+GLAPI void GLAPIENTRY glPixelZoom( GLfloat xfactor, GLfloat yfactor );
+
+GLAPI void GLAPIENTRY glPixelStoref( GLenum pname, GLfloat param );
+GLAPI void GLAPIENTRY glPixelStorei( GLenum pname, GLint param );
+
+GLAPI void GLAPIENTRY glPixelTransferf( GLenum pname, GLfloat param );
+GLAPI void GLAPIENTRY glPixelTransferi( GLenum pname, GLint param );
+
+GLAPI void GLAPIENTRY glPixelMapfv( GLenum map, GLint mapsize,
+ const GLfloat *values );
+GLAPI void GLAPIENTRY glPixelMapuiv( GLenum map, GLint mapsize,
+ const GLuint *values );
+GLAPI void GLAPIENTRY glPixelMapusv( GLenum map, GLint mapsize,
+ const GLushort *values );
+
+GLAPI void GLAPIENTRY glGetPixelMapfv( GLenum map, GLfloat *values );
+GLAPI void GLAPIENTRY glGetPixelMapuiv( GLenum map, GLuint *values );
+GLAPI void GLAPIENTRY glGetPixelMapusv( GLenum map, GLushort *values );
+
+GLAPI void GLAPIENTRY glBitmap( GLsizei width, GLsizei height,
+ GLfloat xorig, GLfloat yorig,
+ GLfloat xmove, GLfloat ymove,
+ const GLubyte *bitmap );
+
+GLAPI void GLAPIENTRY glReadPixels( GLint x, GLint y,
+ GLsizei width, GLsizei height,
+ GLenum format, GLenum type,
+ GLvoid *pixels );
+
+GLAPI void GLAPIENTRY glDrawPixels( GLsizei width, GLsizei height,
+ GLenum format, GLenum type,
+ const GLvoid *pixels );
+
+GLAPI void GLAPIENTRY glCopyPixels( GLint x, GLint y,
+ GLsizei width, GLsizei height,
+ GLenum type );
+
+
+
+/*
+ * Stenciling
+ */
+
+GLAPI void GLAPIENTRY glStencilFunc( GLenum func, GLint ref, GLuint mask );
+
+GLAPI void GLAPIENTRY glStencilMask( GLuint mask );
+
+GLAPI void GLAPIENTRY glStencilOp( GLenum fail, GLenum zfail, GLenum zpass );
+
+GLAPI void GLAPIENTRY glClearStencil( GLint s );
+
+
+
+/*
+ * Texture mapping
+ */
+
+GLAPI void GLAPIENTRY glTexGend( GLenum coord, GLenum pname, GLdouble param );
+GLAPI void GLAPIENTRY glTexGenf( GLenum coord, GLenum pname, GLfloat param );
+GLAPI void GLAPIENTRY glTexGeni( GLenum coord, GLenum pname, GLint param );
+
+GLAPI void GLAPIENTRY glTexGendv( GLenum coord, GLenum pname, const GLdouble *params );
+GLAPI void GLAPIENTRY glTexGenfv( GLenum coord, GLenum pname, const GLfloat *params );
+GLAPI void GLAPIENTRY glTexGeniv( GLenum coord, GLenum pname, const GLint *params );
+
+GLAPI void GLAPIENTRY glGetTexGendv( GLenum coord, GLenum pname, GLdouble *params );
+GLAPI void GLAPIENTRY glGetTexGenfv( GLenum coord, GLenum pname, GLfloat *params );
+GLAPI void GLAPIENTRY glGetTexGeniv( GLenum coord, GLenum pname, GLint *params );
+
+
+GLAPI void GLAPIENTRY glTexEnvf( GLenum target, GLenum pname, GLfloat param );
+GLAPI void GLAPIENTRY glTexEnvi( GLenum target, GLenum pname, GLint param );
+
+GLAPI void GLAPIENTRY glTexEnvfv( GLenum target, GLenum pname, const GLfloat *params );
+GLAPI void GLAPIENTRY glTexEnviv( GLenum target, GLenum pname, const GLint *params );
+
+GLAPI void GLAPIENTRY glGetTexEnvfv( GLenum target, GLenum pname, GLfloat *params );
+GLAPI void GLAPIENTRY glGetTexEnviv( GLenum target, GLenum pname, GLint *params );
+
+
+GLAPI void GLAPIENTRY glTexParameterf( GLenum target, GLenum pname, GLfloat param );
+GLAPI void GLAPIENTRY glTexParameteri( GLenum target, GLenum pname, GLint param );
+
+GLAPI void GLAPIENTRY glTexParameterfv( GLenum target, GLenum pname,
+ const GLfloat *params );
+GLAPI void GLAPIENTRY glTexParameteriv( GLenum target, GLenum pname,
+ const GLint *params );
+
+GLAPI void GLAPIENTRY glGetTexParameterfv( GLenum target,
+ GLenum pname, GLfloat *params);
+GLAPI void GLAPIENTRY glGetTexParameteriv( GLenum target,
+ GLenum pname, GLint *params );
+
+GLAPI void GLAPIENTRY glGetTexLevelParameterfv( GLenum target, GLint level,
+ GLenum pname, GLfloat *params );
+GLAPI void GLAPIENTRY glGetTexLevelParameteriv( GLenum target, GLint level,
+ GLenum pname, GLint *params );
+
+
+GLAPI void GLAPIENTRY glTexImage1D( GLenum target, GLint level,
+ GLint internalFormat,
+ GLsizei width, GLint border,
+ GLenum format, GLenum type,
+ const GLvoid *pixels );
+
+GLAPI void GLAPIENTRY glTexImage2D( GLenum target, GLint level,
+ GLint internalFormat,
+ GLsizei width, GLsizei height,
+ GLint border, GLenum format, GLenum type,
+ const GLvoid *pixels );
+
+GLAPI void GLAPIENTRY glGetTexImage( GLenum target, GLint level,
+ GLenum format, GLenum type,
+ GLvoid *pixels );
+
+
+
+/* 1.1 functions */
+
+GLAPI void GLAPIENTRY glGenTextures( GLsizei n, GLuint *textures );
+
+GLAPI void GLAPIENTRY glDeleteTextures( GLsizei n, const GLuint *textures);
+
+GLAPI void GLAPIENTRY glBindTexture( GLenum target, GLuint texture );
+
+GLAPI void GLAPIENTRY glPrioritizeTextures( GLsizei n,
+ const GLuint *textures,
+ const GLclampf *priorities );
+
+GLAPI GLboolean GLAPIENTRY glAreTexturesResident( GLsizei n,
+ const GLuint *textures,
+ GLboolean *residences );
+
+GLAPI GLboolean GLAPIENTRY glIsTexture( GLuint texture );
+
+
+GLAPI void GLAPIENTRY glTexSubImage1D( GLenum target, GLint level,
+ GLint xoffset,
+ GLsizei width, GLenum format,
+ GLenum type, const GLvoid *pixels );
+
+
+GLAPI void GLAPIENTRY glTexSubImage2D( GLenum target, GLint level,
+ GLint xoffset, GLint yoffset,
+ GLsizei width, GLsizei height,
+ GLenum format, GLenum type,
+ const GLvoid *pixels );
+
+
+GLAPI void GLAPIENTRY glCopyTexImage1D( GLenum target, GLint level,
+ GLenum internalformat,
+ GLint x, GLint y,
+ GLsizei width, GLint border );
+
+
+GLAPI void GLAPIENTRY glCopyTexImage2D( GLenum target, GLint level,
+ GLenum internalformat,
+ GLint x, GLint y,
+ GLsizei width, GLsizei height,
+ GLint border );
+
+
+GLAPI void GLAPIENTRY glCopyTexSubImage1D( GLenum target, GLint level,
+ GLint xoffset, GLint x, GLint y,
+ GLsizei width );
+
+
+GLAPI void GLAPIENTRY glCopyTexSubImage2D( GLenum target, GLint level,
+ GLint xoffset, GLint yoffset,
+ GLint x, GLint y,
+ GLsizei width, GLsizei height );
+
+
+
+
+/*
+ * Evaluators
+ */
+
+GLAPI void GLAPIENTRY glMap1d( GLenum target, GLdouble u1, GLdouble u2,
+ GLint stride,
+ GLint order, const GLdouble *points );
+GLAPI void GLAPIENTRY glMap1f( GLenum target, GLfloat u1, GLfloat u2,
+ GLint stride,
+ GLint order, const GLfloat *points );
+
+GLAPI void GLAPIENTRY glMap2d( GLenum target,
+ GLdouble u1, GLdouble u2, GLint ustride, GLint uorder,
+ GLdouble v1, GLdouble v2, GLint vstride, GLint vorder,
+ const GLdouble *points );
+GLAPI void GLAPIENTRY glMap2f( GLenum target,
+ GLfloat u1, GLfloat u2, GLint ustride, GLint uorder,
+ GLfloat v1, GLfloat v2, GLint vstride, GLint vorder,
+ const GLfloat *points );
+
+GLAPI void GLAPIENTRY glGetMapdv( GLenum target, GLenum query, GLdouble *v );
+GLAPI void GLAPIENTRY glGetMapfv( GLenum target, GLenum query, GLfloat *v );
+GLAPI void GLAPIENTRY glGetMapiv( GLenum target, GLenum query, GLint *v );
+
+GLAPI void GLAPIENTRY glEvalCoord1d( GLdouble u );
+GLAPI void GLAPIENTRY glEvalCoord1f( GLfloat u );
+
+GLAPI void GLAPIENTRY glEvalCoord1dv( const GLdouble *u );
+GLAPI void GLAPIENTRY glEvalCoord1fv( const GLfloat *u );
+
+GLAPI void GLAPIENTRY glEvalCoord2d( GLdouble u, GLdouble v );
+GLAPI void GLAPIENTRY glEvalCoord2f( GLfloat u, GLfloat v );
+
+GLAPI void GLAPIENTRY glEvalCoord2dv( const GLdouble *u );
+GLAPI void GLAPIENTRY glEvalCoord2fv( const GLfloat *u );
+
+GLAPI void GLAPIENTRY glMapGrid1d( GLint un, GLdouble u1, GLdouble u2 );
+GLAPI void GLAPIENTRY glMapGrid1f( GLint un, GLfloat u1, GLfloat u2 );
+
+GLAPI void GLAPIENTRY glMapGrid2d( GLint un, GLdouble u1, GLdouble u2,
+ GLint vn, GLdouble v1, GLdouble v2 );
+GLAPI void GLAPIENTRY glMapGrid2f( GLint un, GLfloat u1, GLfloat u2,
+ GLint vn, GLfloat v1, GLfloat v2 );
+
+GLAPI void GLAPIENTRY glEvalPoint1( GLint i );
+
+GLAPI void GLAPIENTRY glEvalPoint2( GLint i, GLint j );
+
+GLAPI void GLAPIENTRY glEvalMesh1( GLenum mode, GLint i1, GLint i2 );
+
+GLAPI void GLAPIENTRY glEvalMesh2( GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2 );
+
+
+
+/*
+ * Fog
+ */
+
+GLAPI void GLAPIENTRY glFogf( GLenum pname, GLfloat param );
+
+GLAPI void GLAPIENTRY glFogi( GLenum pname, GLint param );
+
+GLAPI void GLAPIENTRY glFogfv( GLenum pname, const GLfloat *params );
+
+GLAPI void GLAPIENTRY glFogiv( GLenum pname, const GLint *params );
+
+
+
+/*
+ * Selection and Feedback
+ */
+
+GLAPI void GLAPIENTRY glFeedbackBuffer( GLsizei size, GLenum type, GLfloat *buffer );
+
+GLAPI void GLAPIENTRY glPassThrough( GLfloat token );
+
+GLAPI void GLAPIENTRY glSelectBuffer( GLsizei size, GLuint *buffer );
+
+GLAPI void GLAPIENTRY glInitNames( void );
+
+GLAPI void GLAPIENTRY glLoadName( GLuint name );
+
+GLAPI void GLAPIENTRY glPushName( GLuint name );
+
+GLAPI void GLAPIENTRY glPopName( void );
+
+
+
+/*
+ * 1.0 Extensions
+ */
+
+/* GL_EXT_blend_minmax */
+GLAPI void GLAPIENTRY glBlendEquationEXT( GLenum mode );
+
+
+
+/* GL_EXT_blend_color */
+GLAPI void GLAPIENTRY glBlendColorEXT( GLclampf red, GLclampf green,
+ GLclampf blue, GLclampf alpha );
+
+
+
+/* GL_EXT_polygon_offset */
+GLAPI void GLAPIENTRY glPolygonOffsetEXT( GLfloat factor, GLfloat bias );
+
+
+
+/* GL_EXT_vertex_array */
+
+GLAPI void GLAPIENTRY glVertexPointerEXT( GLint size, GLenum type,
+ GLsizei stride,
+ GLsizei count, const GLvoid *ptr );
+
+GLAPI void GLAPIENTRY glNormalPointerEXT( GLenum type, GLsizei stride,
+ GLsizei count, const GLvoid *ptr );
+
+GLAPI void GLAPIENTRY glColorPointerEXT( GLint size, GLenum type,
+ GLsizei stride,
+ GLsizei count, const GLvoid *ptr );
+
+GLAPI void GLAPIENTRY glIndexPointerEXT( GLenum type, GLsizei stride,
+ GLsizei count, const GLvoid *ptr );
+
+GLAPI void GLAPIENTRY glTexCoordPointerEXT( GLint size, GLenum type,
+ GLsizei stride, GLsizei count,
+ const GLvoid *ptr );
+
+GLAPI void GLAPIENTRY glEdgeFlagPointerEXT( GLsizei stride, GLsizei count,
+ const GLboolean *ptr );
+
+GLAPI void GLAPIENTRY glGetPointervEXT( GLenum pname, void **params );
+
+GLAPI void GLAPIENTRY glArrayElementEXT( GLint i );
+
+GLAPI void GLAPIENTRY glDrawArraysEXT( GLenum mode, GLint first,
+ GLsizei count );
+
+
+
+/* GL_EXT_texture_object */
+
+GLAPI void GLAPIENTRY glGenTexturesEXT( GLsizei n, GLuint *textures );
+
+GLAPI void GLAPIENTRY glDeleteTexturesEXT( GLsizei n, const GLuint *textures);
+
+GLAPI void GLAPIENTRY glBindTextureEXT( GLenum target, GLuint texture );
+
+GLAPI void GLAPIENTRY glPrioritizeTexturesEXT( GLsizei n,
+ const GLuint *textures,
+ const GLclampf *priorities );
+
+GLAPI GLboolean GLAPIENTRY glAreTexturesResidentEXT( GLsizei n,
+ const GLuint *textures,
+ GLboolean *residences );
+
+GLAPI GLboolean GLAPIENTRY glIsTextureEXT( GLuint texture );
+
+
+
+/* GL_EXT_texture3D */
+
+GLAPI void GLAPIENTRY glTexImage3DEXT( GLenum target, GLint level,
+ GLenum internalFormat,
+ GLsizei width, GLsizei height,
+ GLsizei depth, GLint border,
+ GLenum format, GLenum type,
+ const GLvoid *pixels );
+
+GLAPI void GLAPIENTRY glTexSubImage3DEXT( GLenum target, GLint level,
+ GLint xoffset, GLint yoffset,
+ GLint zoffset, GLsizei width,
+ GLsizei height, GLsizei depth,
+ GLenum format,
+ GLenum type, const GLvoid *pixels);
+
+GLAPI void GLAPIENTRY glCopyTexSubImage3DEXT( GLenum target, GLint level,
+ GLint xoffset, GLint yoffset,
+ GLint zoffset, GLint x,
+ GLint y, GLsizei width,
+ GLsizei height );
+
+
+
+/* GL_EXT_color_table */
+
+GLAPI void GLAPIENTRY glColorTableEXT( GLenum target, GLenum internalformat,
+ GLsizei width, GLenum format,
+ GLenum type, const GLvoid *table );
+
+GLAPI void GLAPIENTRY glColorSubTableEXT( GLenum target,
+ GLsizei start, GLsizei count,
+ GLenum format, GLenum type,
+ const GLvoid *data );
+
+GLAPI void GLAPIENTRY glGetColorTableEXT( GLenum target, GLenum format,
+ GLenum type, GLvoid *table );
+
+GLAPI void GLAPIENTRY glGetColorTableParameterfvEXT( GLenum target,
+ GLenum pname,
+ GLfloat *params );
+
+GLAPI void GLAPIENTRY glGetColorTableParameterivEXT( GLenum target,
+ GLenum pname,
+ GLint *params );
+
+
+/* GL_ARB_multitexture */
+
+GLAPI void GLAPIENTRY glActiveTextureARB(GLenum texture);
+GLAPI void GLAPIENTRY glClientActiveTextureARB(GLenum texture);
+GLAPI void GLAPIENTRY glMultiTexCoord1dARB(GLenum target, GLdouble s);
+GLAPI void GLAPIENTRY glMultiTexCoord1dvARB(GLenum target, const GLdouble *v);
+GLAPI void GLAPIENTRY glMultiTexCoord1fARB(GLenum target, GLfloat s);
+GLAPI void GLAPIENTRY glMultiTexCoord1fvARB(GLenum target, const GLfloat *v);
+GLAPI void GLAPIENTRY glMultiTexCoord1iARB(GLenum target, GLint s);
+GLAPI void GLAPIENTRY glMultiTexCoord1ivARB(GLenum target, const GLint *v);
+GLAPI void GLAPIENTRY glMultiTexCoord1sARB(GLenum target, GLshort s);
+GLAPI void GLAPIENTRY glMultiTexCoord1svARB(GLenum target, const GLshort *v);
+GLAPI void GLAPIENTRY glMultiTexCoord2dARB(GLenum target, GLdouble s, GLdouble t);
+GLAPI void GLAPIENTRY glMultiTexCoord2dvARB(GLenum target, const GLdouble *v);
+GLAPI void GLAPIENTRY glMultiTexCoord2fARB(GLenum target, GLfloat s, GLfloat t);
+GLAPI void GLAPIENTRY glMultiTexCoord2fvARB(GLenum target, const GLfloat *v);
+GLAPI void GLAPIENTRY glMultiTexCoord2iARB(GLenum target, GLint s, GLint t);
+GLAPI void GLAPIENTRY glMultiTexCoord2ivARB(GLenum target, const GLint *v);
+GLAPI void GLAPIENTRY glMultiTexCoord2sARB(GLenum target, GLshort s, GLshort t);
+GLAPI void GLAPIENTRY glMultiTexCoord2svARB(GLenum target, const GLshort *v);
+GLAPI void GLAPIENTRY glMultiTexCoord3dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r);
+GLAPI void GLAPIENTRY glMultiTexCoord3dvARB(GLenum target, const GLdouble *v);
+GLAPI void GLAPIENTRY glMultiTexCoord3fARB(GLenum target, GLfloat s, GLfloat t, GLfloat r);
+GLAPI void GLAPIENTRY glMultiTexCoord3fvARB(GLenum target, const GLfloat *v);
+GLAPI void GLAPIENTRY glMultiTexCoord3iARB(GLenum target, GLint s, GLint t, GLint r);
+GLAPI void GLAPIENTRY glMultiTexCoord3ivARB(GLenum target, const GLint *v);
+GLAPI void GLAPIENTRY glMultiTexCoord3sARB(GLenum target, GLshort s, GLshort t, GLshort r);
+GLAPI void GLAPIENTRY glMultiTexCoord3svARB(GLenum target, const GLshort *v);
+GLAPI void GLAPIENTRY glMultiTexCoord4dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
+GLAPI void GLAPIENTRY glMultiTexCoord4dvARB(GLenum target, const GLdouble *v);
+GLAPI void GLAPIENTRY glMultiTexCoord4fARB(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
+GLAPI void GLAPIENTRY glMultiTexCoord4fvARB(GLenum target, const GLfloat *v);
+GLAPI void GLAPIENTRY glMultiTexCoord4iARB(GLenum target, GLint s, GLint t, GLint r, GLint q);
+GLAPI void GLAPIENTRY glMultiTexCoord4ivARB(GLenum target, const GLint *v);
+GLAPI void GLAPIENTRY glMultiTexCoord4sARB(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
+GLAPI void GLAPIENTRY glMultiTexCoord4svARB(GLenum target, const GLshort *v);
+
+
+
+/* GL_EXT_point_parameters */
+GLAPI void GLAPIENTRY glPointParameterfEXT( GLenum pname, GLfloat param );
+GLAPI void GLAPIENTRY glPointParameterfvEXT( GLenum pname,
+ const GLfloat *params );
+
+
+
+/* GL_INGR_blend_func_separate */
+GLAPI void GLAPIENTRY glBlendFuncSeparateINGR( GLenum sfactorRGB,
+ GLenum dfactorRGB,
+ GLenum sfactorAlpha,
+ GLenum dfactorAlpha );
+
+
+
+/* GL_MESA_window_pos */
+
+GLAPI void GLAPIENTRY glWindowPos2iMESA( GLint x, GLint y );
+GLAPI void GLAPIENTRY glWindowPos2sMESA( GLshort x, GLshort y );
+GLAPI void GLAPIENTRY glWindowPos2fMESA( GLfloat x, GLfloat y );
+GLAPI void GLAPIENTRY glWindowPos2dMESA( GLdouble x, GLdouble y );
+
+GLAPI void GLAPIENTRY glWindowPos2ivMESA( const GLint *p );
+GLAPI void GLAPIENTRY glWindowPos2svMESA( const GLshort *p );
+GLAPI void GLAPIENTRY glWindowPos2fvMESA( const GLfloat *p );
+GLAPI void GLAPIENTRY glWindowPos2dvMESA( const GLdouble *p );
+
+GLAPI void GLAPIENTRY glWindowPos3iMESA( GLint x, GLint y, GLint z );
+GLAPI void GLAPIENTRY glWindowPos3sMESA( GLshort x, GLshort y, GLshort z );
+GLAPI void GLAPIENTRY glWindowPos3fMESA( GLfloat x, GLfloat y, GLfloat z );
+GLAPI void GLAPIENTRY glWindowPos3dMESA( GLdouble x, GLdouble y, GLdouble z );
+
+GLAPI void GLAPIENTRY glWindowPos3ivMESA( const GLint *p );
+GLAPI void GLAPIENTRY glWindowPos3svMESA( const GLshort *p );
+GLAPI void GLAPIENTRY glWindowPos3fvMESA( const GLfloat *p );
+GLAPI void GLAPIENTRY glWindowPos3dvMESA( const GLdouble *p );
+
+GLAPI void GLAPIENTRY glWindowPos4iMESA( GLint x, GLint y, GLint z, GLint w );
+GLAPI void GLAPIENTRY glWindowPos4sMESA( GLshort x, GLshort y, GLshort z, GLshort w );
+GLAPI void GLAPIENTRY glWindowPos4fMESA( GLfloat x, GLfloat y, GLfloat z, GLfloat w );
+GLAPI void GLAPIENTRY glWindowPos4dMESA( GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+
+GLAPI void GLAPIENTRY glWindowPos4ivMESA( const GLint *p );
+GLAPI void GLAPIENTRY glWindowPos4svMESA( const GLshort *p );
+GLAPI void GLAPIENTRY glWindowPos4fvMESA( const GLfloat *p );
+GLAPI void GLAPIENTRY glWindowPos4dvMESA( const GLdouble *p );
+
+
+/* GL_MESA_resize_buffers */
+
+GLAPI void GLAPIENTRY glResizeBuffersMESA( void );
+
+
+/* 1.2 functions */
+GLAPI void GLAPIENTRY glDrawRangeElements( GLenum mode, GLuint start,
+ GLuint end, GLsizei count, GLenum type, const GLvoid *indices );
+
+GLAPI void GLAPIENTRY glTexImage3D( GLenum target, GLint level,
+ GLint internalFormat,
+ GLsizei width, GLsizei height,
+ GLsizei depth, GLint border,
+ GLenum format, GLenum type,
+ const GLvoid *pixels );
+
+GLAPI void GLAPIENTRY glTexSubImage3D( GLenum target, GLint level,
+ GLint xoffset, GLint yoffset,
+ GLint zoffset, GLsizei width,
+ GLsizei height, GLsizei depth,
+ GLenum format,
+ GLenum type, const GLvoid *pixels);
+
+GLAPI void GLAPIENTRY glCopyTexSubImage3D( GLenum target, GLint level,
+ GLint xoffset, GLint yoffset,
+ GLint zoffset, GLint x,
+ GLint y, GLsizei width,
+ GLsizei height );
+
+
+/* 1.2 imaging extension functions */
+
+GLAPI void GLAPIENTRY glBlendEquation( GLenum mode );
+
+GLAPI void GLAPIENTRY glBlendColor( GLclampf red, GLclampf green,
+ GLclampf blue, GLclampf alpha );
+
+GLAPI void GLAPIENTRY glHistogram( GLenum target, GLsizei width,
+ GLenum internalformat, GLboolean sink );
+
+GLAPI void GLAPIENTRY glResetHistogram( GLenum target );
+
+GLAPI void GLAPIENTRY glGetHistogram( GLenum target, GLboolean reset,
+ GLenum format, GLenum type,
+ GLvoid *values );
+
+GLAPI void GLAPIENTRY glGetHistogramParameterfv( GLenum target, GLenum pname,
+ GLfloat *params );
+
+GLAPI void GLAPIENTRY glGetHistogramParameteriv( GLenum target, GLenum pname,
+ GLint *params );
+
+GLAPI void GLAPIENTRY glMinmax( GLenum target, GLenum internalformat,
+ GLboolean sink );
+
+GLAPI void GLAPIENTRY glResetMinmax( GLenum target );
+
+GLAPI void GLAPIENTRY glGetMinMax( GLenum target, GLboolean reset,
+ GLenum format, GLenum types,
+ GLvoid *values );
+
+GLAPI void GLAPIENTRY glGetMinmaxParameterfv( GLenum target, GLenum pname,
+ GLfloat *params );
+
+GLAPI void GLAPIENTRY glGetMinmaxParameteriv( GLenum target, GLenum pname,
+ GLint *params );
+
+GLAPI void GLAPIENTRY glConvolutionFilter1D( GLenum target,
+ GLenum internalformat, GLsizei width, GLenum format, GLenum type,
+ const GLvoid *image );
+
+GLAPI void GLAPIENTRY glConvolutionFilter2D( GLenum target,
+ GLenum internalformat, GLsizei width, GLsizei height, GLenum format,
+ GLenum type, const GLvoid *image );
+
+GLAPI void GLAPIENTRY glConvolutionParameterf( GLenum target, GLenum pname,
+ GLfloat params );
+
+GLAPI void GLAPIENTRY glConvolutionParameterfv( GLenum target, GLenum pname,
+ const GLfloat *params );
+
+GLAPI void GLAPIENTRY glConvolutionParameteri( GLenum target, GLenum pname,
+ GLint params );
+
+GLAPI void GLAPIENTRY glConvolutionParameteriv( GLenum target, GLenum pname,
+ const GLint *params );
+
+GLAPI void GLAPIENTRY glCopyConvolutionFilter1D( GLenum target,
+ GLenum internalformat, GLint x, GLint y, GLsizei width );
+
+GLAPI void GLAPIENTRY glCopyConvolutionFilter2D( GLenum target,
+ GLenum internalformat, GLint x, GLint y, GLsizei width,
+ GLsizei height);
+
+GLAPI void GLAPIENTRY glGetConvolutionFilter( GLenum target, GLenum format,
+ GLenum type, GLvoid *image );
+
+GLAPI void GLAPIENTRY glGetConvolutionParameterfv( GLenum target, GLenum pname,
+ GLfloat *params );
+
+GLAPI void GLAPIENTRY glGetConvolutionParameteriv( GLenum target, GLenum pname,
+ GLint *params );
+
+GLAPI void GLAPIENTRY glSeparableFilter2D( GLenum target,
+ GLenum internalformat, GLsizei width, GLsizei height, GLenum format,
+ GLenum type, const GLvoid *row, const GLvoid *column );
+
+GLAPI void GLAPIENTRY glGetSeparableFilter( GLenum target, GLenum format,
+ GLenum type, GLvoid *row, GLvoid *column, GLvoid *span );
+
+GLAPI void GLAPIENTRY glCopyColorSubTable( GLenum target, GLsizei start,
+ GLint x, GLint y, GLsizei width );
+
+GLAPI void GLAPIENTRY glCopyColorTable( GLenum target, GLenum internalformat,
+ GLint x, GLint y, GLsizei width );
+
+
+
+/* GL_EXT_compiled_vertex_array */
+GLAPI void GLAPIENTRY glLockArraysEXT( GLint first, GLsizei count );
+GLAPI void GLAPIENTRY glUnlockArraysEXT( void );
+
+
+#if defined(__BEOS__) || defined(__QUICKDRAW__)
+#pragma export off
+#endif
+
+
+/*
+ * Compile-time tests for extensions:
+ */
+#define GL_EXT_blend_color 1
+#define GL_EXT_blend_logic_op 1
+#define GL_EXT_blend_minmax 1
+#define GL_EXT_blend_subtract 1
+#define GL_EXT_polygon_offset 1
+#define GL_EXT_vertex_array 1
+#define GL_EXT_texture_object 1
+#define GL_EXT_texture3D 1
+#define GL_EXT_paletted_texture 1
+#define GL_EXT_shared_texture_palette 1
+#define GL_EXT_point_parameters 1
+#define GL_EXT_rescale_normal 1
+#define GL_EXT_abgr 1
+#define GL_EXT_stencil_wrap 1
+#define GL_MESA_window_pos 1
+#define GL_MESA_resize_buffers 1
+#define GL_SGIS_texture_edge_clamp 1
+#define GL_INGR_blend_func_separate 1
+#define GL_ARB_multitexture 1
+#define GL_NV_texgen_reflection 1
+#define GL_PGI_misc_hints 1
+#define GL_EXT_compiled_vertex_array 1
+#define GL_EXT_clip_volume_hint 1
+
+
+#ifdef macintosh
+ #pragma enumsalwaysint reset
+ #if PRAGMA_IMPORT_SUPPORTED
+ #pragma import off
+ #endif
+#endif
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/include/GL/gl_mangle.h b/include/GL/gl_mangle.h
new file mode 100644
index 00000000000..8ab25a90f07
--- /dev/null
+++ b/include/GL/gl_mangle.h
@@ -0,0 +1,531 @@
+/* $Id: gl_mangle.h,v 1.1 1999/08/19 00:55:40 jtg Exp $ */
+
+/*
+ * Mesa 3-D graphics library
+ * Version: 3.1
+ *
+ * Copyright (C) 1999 Brian Paul All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+
+/*
+ * If you compile Mesa with USE_MGL_NAMESPACE defined then you can link
+ * your application both with OpenGL and Mesa. The Mesa functions will
+ * be redefined so they are prefixed with "mgl" instead of "gl".
+ * Contributed by Randy Frank (rfrank@rsinc.com)
+ */
+
+#ifndef GL_MANGLE_H
+#define GL_MANGLE_H
+
+#define glClearIndex mglClearIndex
+#define glClearColor mglClearColor
+#define glClear mglClear
+#define glIndexMask mglIndexMask
+#define glColorMask mglColorMask
+#define glAlphaFunc mglAlphaFunc
+#define glBlendFunc mglBlendFunc
+#define glLogicOp mglLogicOp
+#define glCullFace mglCullFace
+#define glFrontFace mglFrontFace
+#define glPointSize mglPointSize
+#define glLineWidth mglLineWidth
+#define glLineStipple mglLineStipple
+#define glPolygonMode mglPolygonMode
+#define glPolygonOffset mglPolygonOffset
+#define glPolygonStipple mglPolygonStipple
+#define glGetPolygonStipple mglGetPolygonStipple
+#define glEdgeFlag mglEdgeFlag
+#define glEdgeFlagv mglEdgeFlagv
+#define glScissor mglScissor
+#define glClipPlane mglClipPlane
+#define glGetClipPlane mglGetClipPlane
+#define glDrawBuffer mglDrawBuffer
+#define glReadBuffer mglReadBuffer
+#define glEnable mglEnable
+#define glDisable mglDisable
+#define glIsEnabled mglIsEnabled
+#define glEnableClientState mglEnableClientState
+#define glDisableClientState mglDisableClientState
+#define glGetBooleanv mglGetBooleanv
+#define glGetDoublev mglGetDoublev
+#define glGetFloatv mglGetFloatv
+#define glGetIntegerv mglGetIntegerv
+#define glPushAttrib mglPushAttrib
+#define glPopAttrib mglPopAttrib
+#define glPushClientAttrib mglPushClientAttrib
+#define glPopClientAttrib mglPopClientAttrib
+#define glRenderMode mglRenderMode
+#define glGetError mglGetError
+#define glGetString mglGetString
+#define glFinish mglFinish
+#define glFlush mglFlush
+#define glHint mglHint
+#define glClearDepth mglClearDepth
+#define glDepthFunc mglDepthFunc
+#define glDepthMask mglDepthMask
+#define glDepthRange mglDepthRange
+#define glClearAccum mglClearAccum
+#define glAccum mglAccum
+#define glMatrixMode mglMatrixMode
+#define glOrtho mglOrtho
+#define glFrustum mglFrustum
+#define glViewport mglViewport
+#define glPushMatrix mglPushMatrix
+#define glPopMatrix mglPopMatrix
+#define glLoadIdentity mglLoadIdentity
+#define glLoadMatrixd mglLoadMatrixd
+#define glLoadMatrixf mglLoadMatrixf
+#define glMultMatrixd mglMultMatrixd
+#define glMultMatrixf mglMultMatrixf
+#define glRotated mglRotated
+#define glRotatef mglRotatef
+#define glScaled mglScaled
+#define glScalef mglScalef
+#define glTranslated mglTranslated
+#define glTranslatef mglTranslatef
+#define glIsList mglIsList
+#define glDeleteLists mglDeleteLists
+#define glGenLists mglGenLists
+#define glNewList mglNewList
+#define glEndList mglEndList
+#define glCallList mglCallList
+#define glCallLists mglCallLists
+#define glListBase mglListBase
+#define glBegin mglBegin
+#define glEnd mglEnd
+#define glVertex2d mglVertex2d
+#define glVertex2f mglVertex2f
+#define glVertex2i mglVertex2i
+#define glVertex2s mglVertex2s
+#define glVertex3d mglVertex3d
+#define glVertex3f mglVertex3f
+#define glVertex3i mglVertex3i
+#define glVertex3s mglVertex3s
+#define glVertex4d mglVertex4d
+#define glVertex4f mglVertex4f
+#define glVertex4i mglVertex4i
+#define glVertex4s mglVertex4s
+#define glVertex2dv mglVertex2dv
+#define glVertex2fv mglVertex2fv
+#define glVertex2iv mglVertex2iv
+#define glVertex2sv mglVertex2sv
+#define glVertex3dv mglVertex3dv
+#define glVertex3fv mglVertex3fv
+#define glVertex3iv mglVertex3iv
+#define glVertex3sv mglVertex3sv
+#define glVertex4dv mglVertex4dv
+#define glVertex4fv mglVertex4fv
+#define glVertex4iv mglVertex4iv
+#define glVertex4sv mglVertex4sv
+#define glNormal3b mglNormal3b
+#define glNormal3d mglNormal3d
+#define glNormal3f mglNormal3f
+#define glNormal3i mglNormal3i
+#define glNormal3s mglNormal3s
+#define glNormal3bv mglNormal3bv
+#define glNormal3dv mglNormal3dv
+#define glNormal3fv mglNormal3fv
+#define glNormal3iv mglNormal3iv
+#define glNormal3sv mglNormal3sv
+#define glIndexd mglIndexd
+#define glIndexf mglIndexf
+#define glIndexi mglIndexi
+#define glIndexs mglIndexs
+#define glIndexub mglIndexub
+#define glIndexdv mglIndexdv
+#define glIndexfv mglIndexfv
+#define glIndexiv mglIndexiv
+#define glIndexsv mglIndexsv
+#define glIndexubv mglIndexubv
+#define glColor3b mglColor3b
+#define glColor3d mglColor3d
+#define glColor3f mglColor3f
+#define glColor3i mglColor3i
+#define glColor3s mglColor3s
+#define glColor3ub mglColor3ub
+#define glColor3ui mglColor3ui
+#define glColor3us mglColor3us
+#define glColor4b mglColor4b
+#define glColor4d mglColor4d
+#define glColor4f mglColor4f
+#define glColor4i mglColor4i
+#define glColor4s mglColor4s
+#define glColor4ub mglColor4ub
+#define glColor4ui mglColor4ui
+#define glColor4us mglColor4us
+#define glColor3bv mglColor3bv
+#define glColor3dv mglColor3dv
+#define glColor3fv mglColor3fv
+#define glColor3iv mglColor3iv
+#define glColor3sv mglColor3sv
+#define glColor3ubv mglColor3ubv
+#define glColor3uiv mglColor3uiv
+#define glColor3usv mglColor3usv
+#define glColor4bv mglColor4bv
+#define glColor4dv mglColor4dv
+#define glColor4fv mglColor4fv
+#define glColor4iv mglColor4iv
+#define glColor4sv mglColor4sv
+#define glColor4ubv mglColor4ubv
+#define glColor4uiv mglColor4uiv
+#define glColor4usv mglColor4usv
+#define glTexCoord1d mglTexCoord1d
+#define glTexCoord1f mglTexCoord1f
+#define glTexCoord1i mglTexCoord1i
+#define glTexCoord1s mglTexCoord1s
+#define glTexCoord2d mglTexCoord2d
+#define glTexCoord2f mglTexCoord2f
+#define glTexCoord2i mglTexCoord2i
+#define glTexCoord2s mglTexCoord2s
+#define glTexCoord3d mglTexCoord3d
+#define glTexCoord3f mglTexCoord3f
+#define glTexCoord3i mglTexCoord3i
+#define glTexCoord3s mglTexCoord3s
+#define glTexCoord4d mglTexCoord4d
+#define glTexCoord4f mglTexCoord4f
+#define glTexCoord4i mglTexCoord4i
+#define glTexCoord4s mglTexCoord4s
+#define glTexCoord1dv mglTexCoord1dv
+#define glTexCoord1fv mglTexCoord1fv
+#define glTexCoord1iv mglTexCoord1iv
+#define glTexCoord1sv mglTexCoord1sv
+#define glTexCoord2dv mglTexCoord2dv
+#define glTexCoord2fv mglTexCoord2fv
+#define glTexCoord2iv mglTexCoord2iv
+#define glTexCoord2sv mglTexCoord2sv
+#define glTexCoord3dv mglTexCoord3dv
+#define glTexCoord3fv mglTexCoord3fv
+#define glTexCoord3iv mglTexCoord3iv
+#define glTexCoord3sv mglTexCoord3sv
+#define glTexCoord4dv mglTexCoord4dv
+#define glTexCoord4fv mglTexCoord4fv
+#define glTexCoord4iv mglTexCoord4iv
+#define glTexCoord4sv mglTexCoord4sv
+#define glRasterPos2d mglRasterPos2d
+#define glRasterPos2f mglRasterPos2f
+#define glRasterPos2i mglRasterPos2i
+#define glRasterPos2s mglRasterPos2s
+#define glRasterPos3d mglRasterPos3d
+#define glRasterPos3f mglRasterPos3f
+#define glRasterPos3i mglRasterPos3i
+#define glRasterPos3s mglRasterPos3s
+#define glRasterPos4d mglRasterPos4d
+#define glRasterPos4f mglRasterPos4f
+#define glRasterPos4i mglRasterPos4i
+#define glRasterPos4s mglRasterPos4s
+#define glRasterPos2dv mglRasterPos2dv
+#define glRasterPos2fv mglRasterPos2fv
+#define glRasterPos2iv mglRasterPos2iv
+#define glRasterPos2sv mglRasterPos2sv
+#define glRasterPos3dv mglRasterPos3dv
+#define glRasterPos3fv mglRasterPos3fv
+#define glRasterPos3iv mglRasterPos3iv
+#define glRasterPos3sv mglRasterPos3sv
+#define glRasterPos4dv mglRasterPos4dv
+#define glRasterPos4fv mglRasterPos4fv
+#define glRasterPos4iv mglRasterPos4iv
+#define glRasterPos4sv mglRasterPos4sv
+#define glRectd mglRectd
+#define glRectf mglRectf
+#define glRecti mglRecti
+#define glRects mglRects
+#define glRectdv mglRectdv
+#define glRectfv mglRectfv
+#define glRectiv mglRectiv
+#define glRectsv mglRectsv
+#define glVertexPointer mglVertexPointer
+#define glNormalPointer mglNormalPointer
+#define glColorPointer mglColorPointer
+#define glIndexPointer mglIndexPointer
+#define glTexCoordPointer mglTexCoordPointer
+#define glEdgeFlagPointer mglEdgeFlagPointer
+#define glGetPointerv mglGetPointerv
+#define glArrayElement mglArrayElement
+#define glDrawArrays mglDrawArrays
+#define glDrawElements mglDrawElements
+#define glInterleavedArrays mglInterleavedArrays
+#define glShadeModel mglShadeModel
+#define glLightf mglLightf
+#define glLighti mglLighti
+#define glLightfv mglLightfv
+#define glLightiv mglLightiv
+#define glGetLightfv mglGetLightfv
+#define glGetLightiv mglGetLightiv
+#define glLightModelf mglLightModelf
+#define glLightModeli mglLightModeli
+#define glLightModelfv mglLightModelfv
+#define glLightModeliv mglLightModeliv
+#define glMaterialf mglMaterialf
+#define glMateriali mglMateriali
+#define glMaterialfv mglMaterialfv
+#define glMaterialiv mglMaterialiv
+#define glGetMaterialfv mglGetMaterialfv
+#define glGetMaterialiv mglGetMaterialiv
+#define glColorMaterial mglColorMaterial
+#define glPixelZoom mglPixelZoom
+#define glPixelStoref mglPixelStoref
+#define glPixelStorei mglPixelStorei
+#define glPixelTransferf mglPixelTransferf
+#define glPixelTransferi mglPixelTransferi
+#define glPixelMapfv mglPixelMapfv
+#define glPixelMapuiv mglPixelMapuiv
+#define glPixelMapusv mglPixelMapusv
+#define glGetPixelMapfv mglGetPixelMapfv
+#define glGetPixelMapuiv mglGetPixelMapuiv
+#define glGetPixelMapusv mglGetPixelMapusv
+#define glBitmap mglBitmap
+#define glReadPixels mglReadPixels
+#define glDrawPixels mglDrawPixels
+#define glCopyPixels mglCopyPixels
+#define glStencilFunc mglStencilFunc
+#define glStencilMask mglStencilMask
+#define glStencilOp mglStencilOp
+#define glClearStencil mglClearStencil
+#define glTexGend mglTexGend
+#define glTexGenf mglTexGenf
+#define glTexGeni mglTexGeni
+#define glTexGendv mglTexGendv
+#define glTexGenfv mglTexGenfv
+#define glTexGeniv mglTexGeniv
+#define glGetTexGendv mglGetTexGendv
+#define glGetTexGenfv mglGetTexGenfv
+#define glGetTexGeniv mglGetTexGeniv
+#define glTexEnvf mglTexEnvf
+#define glTexEnvi mglTexEnvi
+#define glTexEnvfv mglTexEnvfv
+#define glTexEnviv mglTexEnviv
+#define glGetTexEnvfv mglGetTexEnvfv
+#define glGetTexEnviv mglGetTexEnviv
+#define glTexParameterf mglTexParameterf
+#define glTexParameteri mglTexParameteri
+#define glTexParameterfv mglTexParameterfv
+#define glTexParameteriv mglTexParameteriv
+#define glGetTexParameterfv mglGetTexParameterfv
+#define glGetTexParameteriv mglGetTexParameteriv
+#define glGetTexLevelParameterfv mglGetTexLevelParameterfv
+#define glGetTexLevelParameteriv mglGetTexLevelParameteriv
+#define glTexImage1D mglTexImage1D
+#define glTexImage2D mglTexImage2D
+#define glGetTexImage mglGetTexImage
+#define glGenTextures mglGenTextures
+#define glDeleteTextures mglDeleteTextures
+#define glBindTexture mglBindTexture
+#define glPrioritizeTextures mglPrioritizeTextures
+#define glAreTexturesResident mglAreTexturesResident
+#define glIsTexture mglIsTexture
+#define glTexSubImage1D mglTexSubImage1D
+#define glTexSubImage2D mglTexSubImage2D
+#define glCopyTexImage1D mglCopyTexImage1D
+#define glCopyTexImage2D mglCopyTexImage2D
+#define glCopyTexSubImage1D mglCopyTexSubImage1D
+#define glCopyTexSubImage2D mglCopyTexSubImage2D
+#define glMap1d mglMap1d
+#define glMap1f mglMap1f
+#define glMap2d mglMap2d
+#define glMap2f mglMap2f
+#define glGetMapdv mglGetMapdv
+#define glGetMapfv mglGetMapfv
+#define glGetMapiv mglGetMapiv
+#define glEvalCoord1d mglEvalCoord1d
+#define glEvalCoord1f mglEvalCoord1f
+#define glEvalCoord1dv mglEvalCoord1dv
+#define glEvalCoord1fv mglEvalCoord1fv
+#define glEvalCoord2d mglEvalCoord2d
+#define glEvalCoord2f mglEvalCoord2f
+#define glEvalCoord2dv mglEvalCoord2dv
+#define glEvalCoord2fv mglEvalCoord2fv
+#define glMapGrid1d mglMapGrid1d
+#define glMapGrid1f mglMapGrid1f
+#define glMapGrid2d mglMapGrid2d
+#define glMapGrid2f mglMapGrid2f
+#define glEvalPoint1 mglEvalPoint1
+#define glEvalPoint2 mglEvalPoint2
+#define glEvalMesh1 mglEvalMesh1
+#define glEvalMesh2 mglEvalMesh2
+#define glFogf mglFogf
+#define glFogi mglFogi
+#define glFogfv mglFogfv
+#define glFogiv mglFogiv
+#define glFeedbackBuffer mglFeedbackBuffer
+#define glPassThrough mglPassThrough
+#define glSelectBuffer mglSelectBuffer
+#define glInitNames mglInitNames
+#define glLoadName mglLoadName
+#define glPushName mglPushName
+#define glPopName mglPopName
+#define glBlendEquation mglBlendEquation
+#define glBlendEquationEXT mglBlendEquationEXT
+#define glBlendColor mglBlendColor
+#define glBlendColorEXT mglBlendColorEXT
+#define glPolygonOffsetEXT mglPolygonOffsetEXT
+#define glVertexPointerEXT mglVertexPointerEXT
+#define glNormalPointerEXT mglNormalPointerEXT
+#define glColorPointerEXT mglColorPointerEXT
+#define glIndexPointerEXT mglIndexPointerEXT
+#define glTexCoordPointerEXT mglTexCoordPointerEXT
+#define glEdgeFlagPointerEXT mglEdgeFlagPointerEXT
+#define glGetPointervEXT mglGetPointervEXT
+#define glArrayElementEXT mglArrayElementEXT
+#define glDrawArraysEXT mglDrawArraysEXT
+#define glGenTexturesEXT mglGenTexturesEXT
+#define glDeleteTexturesEXT mglDeleteTexturesEXT
+#define glBindTextureEXT mglBindTextureEXT
+#define glPrioritizeTexturesEXT mglPrioritizeTexturesEXT
+#define glAreTexturesResidentEXT mglAreTexturesResidentEXT
+#define glIsTextureEXT mglIsTextureEXT
+#define glTexImage3DEXT mglTexImage3DEXT
+#define glTexSubImage3DEXT mglTexSubImage3DEXT
+#define glCopyTexSubImage3DEXT mglCopyTexSubImage3DEXT
+#define glColorTableEXT mglColorTableEXT
+#define glColorSubTableEXT mglColorSubTableEXT
+#define glGetColorTableEXT mglGetColorTableEXT
+#define glGetColorTableParameterfvEXT mglGetColorTableParameterfvEXT
+#define glGetColorTableParameterivEXT mglGetColorTableParameterivEXT
+#define glGetMinMax mglGetMinMax
+#define glMultiTexCoord1dSGIS mglMultiTexCoord1dSGIS
+#define glMultiTexCoord1dvSGIS mglMultiTexCoord1dvSGIS
+#define glMultiTexCoord1fSGIS mglMultiTexCoord1fSGIS
+#define glMultiTexCoord1fvSGIS mglMultiTexCoord1fvSGIS
+#define glMultiTexCoord1iSGIS mglMultiTexCoord1iSGIS
+#define glMultiTexCoord1ivSGIS mglMultiTexCoord1ivSGIS
+#define glMultiTexCoord1sSGIS mglMultiTexCoord1sSGIS
+#define glMultiTexCoord1svSGIS mglMultiTexCoord1svSGIS
+#define glMultiTexCoord2dSGIS mglMultiTexCoord2dSGIS
+#define glMultiTexCoord2dvSGIS mglMultiTexCoord2dvSGIS
+#define glMultiTexCoord2fSGIS mglMultiTexCoord2fSGIS
+#define glMultiTexCoord2fvSGIS mglMultiTexCoord2fvSGIS
+#define glMultiTexCoord2iSGIS mglMultiTexCoord2iSGIS
+#define glMultiTexCoord2ivSGIS mglMultiTexCoord2ivSGIS
+#define glMultiTexCoord2sSGIS mglMultiTexCoord2sSGIS
+#define glMultiTexCoord2svSGIS mglMultiTexCoord2svSGIS
+#define glMultiTexCoord3dSGIS mglMultiTexCoord3dSGIS
+#define glMultiTexCoord3dvSGIS mglMultiTexCoord3dvSGIS
+#define glMultiTexCoord3fSGIS mglMultiTexCoord3fSGIS
+#define glMultiTexCoord3fvSGIS mglMultiTexCoord3fvSGIS
+#define glMultiTexCoord3iSGIS mglMultiTexCoord3iSGIS
+#define glMultiTexCoord3ivSGIS mglMultiTexCoord3ivSGIS
+#define glMultiTexCoord3sSGIS mglMultiTexCoord3sSGIS
+#define glMultiTexCoord3svSGIS mglMultiTexCoord3svSGIS
+#define glMultiTexCoord4dSGIS mglMultiTexCoord4dSGIS
+#define glMultiTexCoord4dvSGIS mglMultiTexCoord4dvSGIS
+#define glMultiTexCoord4fSGIS mglMultiTexCoord4fSGIS
+#define glMultiTexCoord4fvSGIS mglMultiTexCoord4fvSGIS
+#define glMultiTexCoord4iSGIS mglMultiTexCoord4iSGIS
+#define glMultiTexCoord4ivSGIS mglMultiTexCoord4ivSGIS
+#define glMultiTexCoord4sSGIS mglMultiTexCoord4sSGIS
+#define glMultiTexCoord4svSGIS mglMultiTexCoord4svSGIS
+#define glMultiTexCoordPointerSGIS mglMultiTexCoordPointerSGIS
+#define glSelectTextureSGIS mglSelectTextureSGIS
+#define glSelectTextureCoordSetSGIS mglSelectTextureCoordSetSGIS
+#define glActiveTextureARB mglActiveTextureARB
+#define glClientActiveTextureARB mglClientActiveTextureARB
+#define glMultiTexCoord1dARB mglMultiTexCoord1dARB
+#define glMultiTexCoord1dvARB mglMultiTexCoord1dvARB
+#define glMultiTexCoord1fARB mglMultiTexCoord1fARB
+#define glMultiTexCoord1fvARB mglMultiTexCoord1fvARB
+#define glMultiTexCoord1iARB mglMultiTexCoord1iARB
+#define glMultiTexCoord1ivARB mglMultiTexCoord1ivARB
+#define glMultiTexCoord1sARB mglMultiTexCoord1sARB
+#define glMultiTexCoord1svARB mglMultiTexCoord1svARB
+#define glMultiTexCoord2dARB mglMultiTexCoord2dARB
+#define glMultiTexCoord2dvARB mglMultiTexCoord2dvARB
+#define glMultiTexCoord2fARB mglMultiTexCoord2fARB
+#define glMultiTexCoord2fvARB mglMultiTexCoord2fvARB
+#define glMultiTexCoord2iARB mglMultiTexCoord2iARB
+#define glMultiTexCoord2ivARB mglMultiTexCoord2ivARB
+#define glMultiTexCoord2sARB mglMultiTexCoord2sARB
+#define glMultiTexCoord2svARB mglMultiTexCoord2svARB
+#define glMultiTexCoord3dARB mglMultiTexCoord3dARB
+#define glMultiTexCoord3dvARB mglMultiTexCoord3dvARB
+#define glMultiTexCoord3fARB mglMultiTexCoord3fARB
+#define glMultiTexCoord3fvARB mglMultiTexCoord3fvARB
+#define glMultiTexCoord3iARB mglMultiTexCoord3iARB
+#define glMultiTexCoord3ivARB mglMultiTexCoord3ivARB
+#define glMultiTexCoord3sARB mglMultiTexCoord3sARB
+#define glMultiTexCoord3svARB mglMultiTexCoord3svARB
+#define glMultiTexCoord4dARB mglMultiTexCoord4dARB
+#define glMultiTexCoord4dvARB mglMultiTexCoord4dvARB
+#define glMultiTexCoord4fARB mglMultiTexCoord4fARB
+#define glMultiTexCoord4fvARB mglMultiTexCoord4fvARB
+#define glMultiTexCoord4iARB mglMultiTexCoord4iARB
+#define glMultiTexCoord4ivARB mglMultiTexCoord4ivARB
+#define glMultiTexCoord4sARB mglMultiTexCoord4sARB
+#define glMultiTexCoord4svARB mglMultiTexCoord4svARB
+#define glPointParameterfEXT mglPointParameterfEXT
+#define glPointParameterfvEXT mglPointParameterfvEXT
+#define glBlendFuncSeparateINGR mglBlendFuncSeparateINGR
+#define glWindowPos2iMESA mglWindowPos2iMESA
+#define glWindowPos2sMESA mglWindowPos2sMESA
+#define glWindowPos2fMESA mglWindowPos2fMESA
+#define glWindowPos2dMESA mglWindowPos2dMESA
+#define glWindowPos2ivMESA mglWindowPos2ivMESA
+#define glWindowPos2svMESA mglWindowPos2svMESA
+#define glWindowPos2fvMESA mglWindowPos2fvMESA
+#define glWindowPos2dvMESA mglWindowPos2dvMESA
+#define glWindowPos3iMESA mglWindowPos3iMESA
+#define glWindowPos3sMESA mglWindowPos3sMESA
+#define glWindowPos3fMESA mglWindowPos3fMESA
+#define glWindowPos3dMESA mglWindowPos3dMESA
+#define glWindowPos3ivMESA mglWindowPos3ivMESA
+#define glWindowPos3svMESA mglWindowPos3svMESA
+#define glWindowPos3fvMESA mglWindowPos3fvMESA
+#define glWindowPos3dvMESA mglWindowPos3dvMESA
+#define glWindowPos4iMESA mglWindowPos4iMESA
+#define glWindowPos4sMESA mglWindowPos4sMESA
+#define glWindowPos4fMESA mglWindowPos4fMESA
+#define glWindowPos4dMESA mglWindowPos4dMESA
+#define glWindowPos4ivMESA mglWindowPos4ivMESA
+#define glWindowPos4svMESA mglWindowPos4svMESA
+#define glWindowPos4fvMESA mglWindowPos4fvMESA
+#define glWindowPos4dvMESA mglWindowPos4dvMESA
+#define glResizeBuffersMESA mglResizeBuffersMESA
+#define glDrawRangeElements mglDrawRangeElements
+#define glTexImage3D mglTexImage3D
+#define glTexSubImage3D mglTexSubImage3D
+#define glCopyTexSubImage3D mglCopyTexSubImage3D
+#define glHistogram mglHistogram
+#define glResetHistogram mglResetHistogram
+#define glGetHistogram mglGetHistogram
+#define glGetHistogramParameterfv mglGetHistogramParameterfv
+#define glGetHistogramParameteriv mglGetHistogramParameteriv
+#define glMinmax mglMinmax
+#define glResetMinmax mglResetMinmax
+#define glGetMinmaxParameterfv mglGetMinmaxParameterfv
+#define glGetMinmaxParameteriv mglGetMinmaxParameteriv
+#define glConvolutionFilter1D mglConvolutionFilter1D
+#define glConvolutionFilter2D mglConvolutionFilter2D
+#define glConvolutionParameterf mglConvolutionParameterf
+#define glConvolutionParameterfv mglConvolutionParameterfv
+#define glConvolutionParameteri mglConvolutionParameteri
+#define glConvolutionParameteriv mglConvolutionParameteriv
+#define glCopyConvolutionFilter1D mglCopyConvolutionFilter1D
+#define glCopyConvolutionFilter2D mglCopyConvolutionFilter2D
+#define glGetConvolutionFilter mglGetConvolutionFilter
+#define glGetConvolutionParameterfv mglGetConvolutionParameterfv
+#define glGetConvolutionParameteriv mglGetConvolutionParameteriv
+#define glSeparableFilter2D mglSeparableFilter2D
+#define glGetSeparableFilter mglGetSeparableFilter
+#define glCopyColorSubTable mglCopyColorSubTable
+#define glCopyColorTable mglCopyColorTable
+#define glLockArraysEXT mglLockArraysEXT
+#define glUnlockArraysEXT mglUnlockArraysEXT
+
+#endif
diff --git a/include/GL/glu.h b/include/GL/glu.h
new file mode 100644
index 00000000000..b1321c0e978
--- /dev/null
+++ b/include/GL/glu.h
@@ -0,0 +1,444 @@
+/* $Id: glu.h,v 1.1 1999/08/19 00:55:40 jtg Exp $ */
+
+/*
+ * Mesa 3-D graphics library
+ * Version: 3.1
+ * Copyright (C) 1995-1999 Brian Paul
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+
+/*
+ * $Log: glu.h,v $
+ * Revision 1.1 1999/08/19 00:55:40 jtg
+ * Initial revision
+ *
+ * Revision 3.6 1999/02/14 03:39:45 brianp
+ * updated for BeOS R4
+ *
+ * Revision 3.5 1999/01/03 03:02:55 brianp
+ * now using GLAPI and GLAPIENTRY keywords, misc Windows changes (Ted Jump)
+ *
+ * Revision 3.4 1998/12/01 02:34:27 brianp
+ * applied Mark Kilgard's patches from November 30, 1998
+ *
+ * Revision 3.3 1998/11/17 01:14:02 brianp
+ * minor changes for OpenStep compilation (pete@ohm.york.ac.uk)
+ *
+ * Revision 3.2 1998/07/26 01:36:27 brianp
+ * changes for Windows compilation per Ted Jump
+ *
+ * Revision 3.1 1998/06/23 00:33:08 brianp
+ * added some WIN32 APIENTRY, CALLBACK stuff (Eric Lassauge)
+ *
+ * Revision 3.0 1998/02/20 05:06:01 brianp
+ * initial rev
+ *
+ */
+
+
+#ifndef GLU_H
+#define GLU_H
+
+
+#if defined(USE_MGL_NAMESPACE)
+#include "glu_mangle.h"
+#endif
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+#include "GL/gl.h"
+
+ /* to facilitate clean DLL building ... */
+#if !defined(OPENSTEP) && (defined(__WIN32__) || defined(__CYGWIN32__))
+# if defined(_MSC_VER) && defined(BUILD_GLU32) /* tag specify we're building mesa as a DLL */
+# define GLUAPI __declspec(dllexport)
+# elif defined(_MSC_VER) && defined(_DLL) /* tag specifying we're building for DLL runtime support */
+# define GLUAPI __declspec(dllimport)
+# else /* for use with static link lib build of Win32 edition only */
+# define GLUAPI extern
+# endif /* _STATIC_MESA support */
+#else
+# define GLUAPI extern
+#endif /* WIN32 / CYGWIN32 bracket */
+
+#ifdef macintosh
+ #pragma enumsalwaysint on
+ #if PRAGMA_IMPORT_SUPPORTED
+ #pragma import on
+ #endif
+#endif
+
+
+#define GLU_VERSION_1_1 1
+
+
+#define GLU_TRUE GL_TRUE
+#define GLU_FALSE GL_FALSE
+
+
+enum {
+ /* Normal vectors */
+ GLU_SMOOTH = 100000,
+ GLU_FLAT = 100001,
+ GLU_NONE = 100002,
+
+ /* Quadric draw styles */
+ GLU_POINT = 100010,
+ GLU_LINE = 100011,
+ GLU_FILL = 100012,
+ GLU_SILHOUETTE = 100013,
+
+ /* Quadric orientation */
+ GLU_OUTSIDE = 100020,
+ GLU_INSIDE = 100021,
+
+ /* Tesselator */
+ GLU_BEGIN = 100100,
+ GLU_VERTEX = 100101,
+ GLU_END = 100102,
+ GLU_ERROR = 100103,
+ GLU_EDGE_FLAG = 100104,
+
+ /* Contour types */
+ GLU_CW = 100120,
+ GLU_CCW = 100121,
+ GLU_INTERIOR = 100122,
+ GLU_EXTERIOR = 100123,
+ GLU_UNKNOWN = 100124,
+
+ /* Tesselation errors */
+ GLU_TESS_ERROR1 = 100151, /* missing gluEndPolygon */
+ GLU_TESS_ERROR2 = 100152, /* missing gluBeginPolygon */
+ GLU_TESS_ERROR3 = 100153, /* misoriented contour */
+ GLU_TESS_ERROR4 = 100154, /* vertex/edge intersection */
+ GLU_TESS_ERROR5 = 100155, /* misoriented or self-intersecting loops */
+ GLU_TESS_ERROR6 = 100156, /* coincident vertices */
+ GLU_TESS_ERROR7 = 100157, /* all vertices collinear */
+ GLU_TESS_ERROR8 = 100158, /* intersecting edges */
+ GLU_TESS_ERROR9 = 100159, /* not coplanar contours */
+
+ /* NURBS */
+ GLU_AUTO_LOAD_MATRIX = 100200,
+ GLU_CULLING = 100201,
+ GLU_PARAMETRIC_TOLERANCE= 100202,
+ GLU_SAMPLING_TOLERANCE = 100203,
+ GLU_DISPLAY_MODE = 100204,
+ GLU_SAMPLING_METHOD = 100205,
+ GLU_U_STEP = 100206,
+ GLU_V_STEP = 100207,
+
+ GLU_PATH_LENGTH = 100215,
+ GLU_PARAMETRIC_ERROR = 100216,
+ GLU_DOMAIN_DISTANCE = 100217,
+
+ GLU_MAP1_TRIM_2 = 100210,
+ GLU_MAP1_TRIM_3 = 100211,
+
+ GLU_OUTLINE_POLYGON = 100240,
+ GLU_OUTLINE_PATCH = 100241,
+
+ GLU_NURBS_ERROR1 = 100251, /* spline order un-supported */
+ GLU_NURBS_ERROR2 = 100252, /* too few knots */
+ GLU_NURBS_ERROR3 = 100253, /* valid knot range is empty */
+ GLU_NURBS_ERROR4 = 100254, /* decreasing knot sequence */
+ GLU_NURBS_ERROR5 = 100255, /* knot multiplicity > spline order */
+ GLU_NURBS_ERROR6 = 100256, /* endcurve() must follow bgncurve() */
+ GLU_NURBS_ERROR7 = 100257, /* bgncurve() must precede endcurve() */
+ GLU_NURBS_ERROR8 = 100258, /* ctrlarray or knot vector is NULL */
+ GLU_NURBS_ERROR9 = 100259, /* can't draw pwlcurves */
+ GLU_NURBS_ERROR10 = 100260, /* missing gluNurbsCurve() */
+ GLU_NURBS_ERROR11 = 100261, /* missing gluNurbsSurface() */
+ GLU_NURBS_ERROR12 = 100262, /* endtrim() must precede endsurface() */
+ GLU_NURBS_ERROR13 = 100263, /* bgnsurface() must precede endsurface() */
+ GLU_NURBS_ERROR14 = 100264, /* curve of improper type passed as trim curve */
+ GLU_NURBS_ERROR15 = 100265, /* bgnsurface() must precede bgntrim() */
+ GLU_NURBS_ERROR16 = 100266, /* endtrim() must follow bgntrim() */
+ GLU_NURBS_ERROR17 = 100267, /* bgntrim() must precede endtrim()*/
+ GLU_NURBS_ERROR18 = 100268, /* invalid or missing trim curve*/
+ GLU_NURBS_ERROR19 = 100269, /* bgntrim() must precede pwlcurve() */
+ GLU_NURBS_ERROR20 = 100270, /* pwlcurve referenced twice*/
+ GLU_NURBS_ERROR21 = 100271, /* pwlcurve and nurbscurve mixed */
+ GLU_NURBS_ERROR22 = 100272, /* improper usage of trim data type */
+ GLU_NURBS_ERROR23 = 100273, /* nurbscurve referenced twice */
+ GLU_NURBS_ERROR24 = 100274, /* nurbscurve and pwlcurve mixed */
+ GLU_NURBS_ERROR25 = 100275, /* nurbssurface referenced twice */
+ GLU_NURBS_ERROR26 = 100276, /* invalid property */
+ GLU_NURBS_ERROR27 = 100277, /* endsurface() must follow bgnsurface() */
+ GLU_NURBS_ERROR28 = 100278, /* intersecting or misoriented trim curves */
+ GLU_NURBS_ERROR29 = 100279, /* intersecting trim curves */
+ GLU_NURBS_ERROR30 = 100280, /* UNUSED */
+ GLU_NURBS_ERROR31 = 100281, /* unconnected trim curves */
+ GLU_NURBS_ERROR32 = 100282, /* unknown knot error */
+ GLU_NURBS_ERROR33 = 100283, /* negative vertex count encountered */
+ GLU_NURBS_ERROR34 = 100284, /* negative byte-stride */
+ GLU_NURBS_ERROR35 = 100285, /* unknown type descriptor */
+ GLU_NURBS_ERROR36 = 100286, /* null control point reference */
+ GLU_NURBS_ERROR37 = 100287, /* duplicate point on pwlcurve */
+
+ /* Errors */
+ GLU_INVALID_ENUM = 100900,
+ GLU_INVALID_VALUE = 100901,
+ GLU_OUT_OF_MEMORY = 100902,
+ GLU_INCOMPATIBLE_GL_VERSION = 100903,
+
+ /* New in GLU 1.1 */
+ GLU_VERSION = 100800,
+ GLU_EXTENSIONS = 100801
+};
+
+
+/*
+ * These are the GLU 1.1 typedefs. GLU 1.2 has different ones!
+ */
+#if defined(__BEOS__)
+ /* The BeOS does something funky and makes these typedefs in one
+ * of its system headers.
+ */
+#else
+ typedef struct GLUquadric GLUquadricObj;
+ typedef struct GLUtesselator GLUtriangulatorObj;
+ typedef struct GLUnurbs GLUnurbsObj;
+#endif
+
+
+
+#if defined(__BEOS__) || defined(__QUICKDRAW__)
+#pragma export on
+#endif
+
+
+/*
+ *
+ * Miscellaneous functions
+ *
+ */
+
+GLUAPI void GLAPIENTRY gluLookAt( GLdouble eyex, GLdouble eyey, GLdouble eyez,
+ GLdouble centerx, GLdouble centery,
+ GLdouble centerz,
+ GLdouble upx, GLdouble upy, GLdouble upz );
+
+
+GLUAPI void GLAPIENTRY gluOrtho2D( GLdouble left, GLdouble right,
+ GLdouble bottom, GLdouble top );
+
+
+GLUAPI void GLAPIENTRY gluPerspective( GLdouble fovy, GLdouble aspect,
+ GLdouble zNear, GLdouble zFar );
+
+
+GLUAPI void GLAPIENTRY gluPickMatrix( GLdouble x, GLdouble y,
+ GLdouble width, GLdouble height,
+ const GLint viewport[4] );
+
+GLUAPI GLint GLAPIENTRY gluProject( GLdouble objx, GLdouble objy, GLdouble objz,
+ const GLdouble modelMatrix[16],
+ const GLdouble projMatrix[16],
+ const GLint viewport[4],
+ GLdouble *winx, GLdouble *winy,
+ GLdouble *winz );
+
+GLUAPI GLint GLAPIENTRY gluUnProject( GLdouble winx, GLdouble winy,
+ GLdouble winz,
+ const GLdouble modelMatrix[16],
+ const GLdouble projMatrix[16],
+ const GLint viewport[4],
+ GLdouble *objx, GLdouble *objy,
+ GLdouble *objz );
+
+GLUAPI const GLubyte* GLAPIENTRY gluErrorString( GLenum errorCode );
+
+
+
+/*
+ *
+ * Mipmapping and image scaling
+ *
+ */
+
+GLUAPI GLint GLAPIENTRY gluScaleImage( GLenum format,
+ GLint widthin, GLint heightin,
+ GLenum typein, const void *datain,
+ GLint widthout, GLint heightout,
+ GLenum typeout, void *dataout );
+
+GLUAPI GLint GLAPIENTRY gluBuild1DMipmaps( GLenum target, GLint components,
+ GLint width, GLenum format,
+ GLenum type, const void *data );
+
+GLUAPI GLint GLAPIENTRY gluBuild2DMipmaps( GLenum target, GLint components,
+ GLint width, GLint height,
+ GLenum format,
+ GLenum type, const void *data );
+
+
+
+/*
+ *
+ * Quadrics
+ *
+ */
+
+GLUAPI GLUquadricObj* GLAPIENTRY gluNewQuadric( void );
+
+GLUAPI void GLAPIENTRY gluDeleteQuadric( GLUquadricObj *state );
+
+GLUAPI void GLAPIENTRY gluQuadricDrawStyle( GLUquadricObj *quadObject,
+ GLenum drawStyle );
+
+GLUAPI void GLAPIENTRY gluQuadricOrientation( GLUquadricObj *quadObject,
+ GLenum orientation );
+
+GLUAPI void GLAPIENTRY gluQuadricNormals( GLUquadricObj *quadObject,
+ GLenum normals );
+
+GLUAPI void GLAPIENTRY gluQuadricTexture( GLUquadricObj *quadObject,
+ GLboolean textureCoords );
+
+GLUAPI void GLAPIENTRY gluQuadricCallback( GLUquadricObj *qobj,
+ GLenum which, void (GLCALLBACK *fn)() );
+
+GLUAPI void GLAPIENTRY gluCylinder( GLUquadricObj *qobj,
+ GLdouble baseRadius,
+ GLdouble topRadius,
+ GLdouble height,
+ GLint slices, GLint stacks );
+
+GLUAPI void GLAPIENTRY gluSphere( GLUquadricObj *qobj,
+ GLdouble radius, GLint slices, GLint stacks );
+
+GLUAPI void GLAPIENTRY gluDisk( GLUquadricObj *qobj,
+ GLdouble innerRadius, GLdouble outerRadius,
+ GLint slices, GLint loops );
+
+GLUAPI void GLAPIENTRY gluPartialDisk( GLUquadricObj *qobj, GLdouble innerRadius,
+ GLdouble outerRadius, GLint slices,
+ GLint loops, GLdouble startAngle,
+ GLdouble sweepAngle );
+
+
+
+/*
+ *
+ * Nurbs
+ *
+ */
+
+GLUAPI GLUnurbsObj* GLAPIENTRY gluNewNurbsRenderer( void );
+
+GLUAPI void GLAPIENTRY gluDeleteNurbsRenderer( GLUnurbsObj *nobj );
+
+GLUAPI void GLAPIENTRY gluLoadSamplingMatrices( GLUnurbsObj *nobj,
+ const GLfloat modelMatrix[16],
+ const GLfloat projMatrix[16],
+ const GLint viewport[4] );
+
+GLUAPI void GLAPIENTRY gluNurbsProperty( GLUnurbsObj *nobj, GLenum property,
+ GLfloat value );
+
+GLUAPI void GLAPIENTRY gluGetNurbsProperty( GLUnurbsObj *nobj, GLenum property,
+ GLfloat *value );
+
+GLUAPI void GLAPIENTRY gluBeginCurve( GLUnurbsObj *nobj );
+
+GLUAPI void GLAPIENTRY gluEndCurve( GLUnurbsObj * nobj );
+
+GLUAPI void GLAPIENTRY gluNurbsCurve( GLUnurbsObj *nobj, GLint nknots,
+ GLfloat *knot, GLint stride,
+ GLfloat *ctlarray, GLint order,
+ GLenum type );
+
+GLUAPI void GLAPIENTRY gluBeginSurface( GLUnurbsObj *nobj );
+
+GLUAPI void GLAPIENTRY gluEndSurface( GLUnurbsObj * nobj );
+
+GLUAPI void GLAPIENTRY gluNurbsSurface( GLUnurbsObj *nobj,
+ GLint sknot_count, GLfloat *sknot,
+ GLint tknot_count, GLfloat *tknot,
+ GLint s_stride, GLint t_stride,
+ GLfloat *ctlarray,
+ GLint sorder, GLint torder,
+ GLenum type );
+
+GLUAPI void GLAPIENTRY gluBeginTrim( GLUnurbsObj *nobj );
+
+GLUAPI void GLAPIENTRY gluEndTrim( GLUnurbsObj *nobj );
+
+GLUAPI void GLAPIENTRY gluPwlCurve( GLUnurbsObj *nobj, GLint count,
+ GLfloat *array, GLint stride, GLenum type );
+
+GLUAPI void GLAPIENTRY gluNurbsCallback( GLUnurbsObj *nobj, GLenum which,
+ void (GLCALLBACK *fn)() );
+
+
+
+/*
+ *
+ * Polygon tesselation
+ *
+ */
+
+GLUAPI GLUtriangulatorObj* GLAPIENTRY gluNewTess( void );
+
+GLUAPI void GLAPIENTRY gluTessCallback( GLUtriangulatorObj *tobj, GLenum which,
+ void (GLCALLBACK *fn)() );
+
+GLUAPI void GLAPIENTRY gluDeleteTess( GLUtriangulatorObj *tobj );
+
+GLUAPI void GLAPIENTRY gluBeginPolygon( GLUtriangulatorObj *tobj );
+
+GLUAPI void GLAPIENTRY gluEndPolygon( GLUtriangulatorObj *tobj );
+
+GLUAPI void GLAPIENTRY gluNextContour( GLUtriangulatorObj *tobj, GLenum type );
+
+GLUAPI void GLAPIENTRY gluTessVertex( GLUtriangulatorObj *tobj, GLdouble v[3],
+ void *data );
+
+
+
+/*
+ *
+ * New functions in GLU 1.1
+ *
+ */
+
+GLUAPI const GLubyte* GLAPIENTRY gluGetString( GLenum name );
+
+
+#if defined(__BEOS__) || defined(__QUICKDRAW__)
+#pragma export off
+#endif
+
+
+#ifdef macintosh
+ #pragma enumsalwaysint reset
+ #if PRAGMA_IMPORT_SUPPORTED
+ #pragma import off
+ #endif
+#endif
+
+
+#ifdef __cplusplus
+}
+#endif
+
+
+#endif
diff --git a/include/GL/glu_mangle.h b/include/GL/glu_mangle.h
new file mode 100644
index 00000000000..ed3944c54b1
--- /dev/null
+++ b/include/GL/glu_mangle.h
@@ -0,0 +1,86 @@
+/* $Id: glu_mangle.h,v 1.1 1999/08/19 00:55:40 jtg Exp $ */
+
+/*
+ * Mesa 3-D graphics library
+ * Version: 3.0
+ * Copyright (C) 1995-1998 Brian Paul
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+
+/*
+ * $Log: glu_mangle.h,v $
+ * Revision 1.1 1999/08/19 00:55:40 jtg
+ * Initial revision
+ *
+ * Revision 3.1 1999/06/21 22:00:42 brianp
+ * added #ifndef GLU_MANGLE_H stuff
+ *
+ * Revision 3.0 1998/02/20 05:04:45 brianp
+ * initial rev
+ *
+ */
+
+#ifndef GLU_MANGLE_H
+#define GLU_MANGLE_H
+
+
+#define gluLookAt mgluLookAt
+#define gluOrtho2D mgluOrtho2D
+#define gluPerspective mgluPerspective
+#define gluPickMatrix mgluPickMatrix
+#define gluProject mgluProject
+#define gluUnProject mgluUnProject
+#define gluErrorString mgluErrorString
+#define gluScaleImage mgluScaleImage
+#define gluBuild1DMipmaps mgluBuild1DMipmaps
+#define gluBuild2DMipmaps mgluBuild2DMipmaps
+#define gluNewQuadric mgluNewQuadric
+#define gluDeleteQuadric mgluDeleteQuadric
+#define gluQuadricDrawStyle mgluQuadricDrawStyle
+#define gluQuadricOrientation mgluQuadricOrientation
+#define gluQuadricNormals mgluQuadricNormals
+#define gluQuadricTexture mgluQuadricTexture
+#define gluQuadricCallback mgluQuadricCallback
+#define gluCylinder mgluCylinder
+#define gluSphere mgluSphere
+#define gluDisk mgluDisk
+#define gluPartialDisk mgluPartialDisk
+#define gluNewNurbsRenderer mgluNewNurbsRenderer
+#define gluDeleteNurbsRenderer mgluDeleteNurbsRenderer
+#define gluLoadSamplingMatrices mgluLoadSamplingMatrices
+#define gluNurbsProperty mgluNurbsProperty
+#define gluGetNurbsProperty mgluGetNurbsProperty
+#define gluBeginCurve mgluBeginCurve
+#define gluEndCurve mgluEndCurve
+#define gluNurbsCurve mgluNurbsCurve
+#define gluBeginSurface mgluBeginSurface
+#define gluEndSurface mgluEndSurface
+#define gluNurbsSurface mgluNurbsSurface
+#define gluBeginTrim mgluBeginTrim
+#define gluEndTrim mgluEndTrim
+#define gluPwlCurve mgluPwlCurve
+#define gluNurbsCallback mgluNurbsCallback
+#define gluNewTess mgluNewTess
+#define gluTessCallback mgluTessCallback
+#define gluDeleteTess mgluDeleteTess
+#define gluBeginPolygon mgluBeginPolygon
+#define gluEndPolygon mgluEndPolygon
+#define gluNextContour mgluNextContour
+#define gluTessVertex mgluTessVertex
+#define gluGetString mgluGetString
+
+#endif
diff --git a/include/GL/glut.h b/include/GL/glut.h
new file mode 100644
index 00000000000..1b7fc43667b
--- /dev/null
+++ b/include/GL/glut.h
@@ -0,0 +1,751 @@
+#ifndef __glut_h__
+#define __glut_h__
+
+/* Copyright (c) Mark J. Kilgard, 1994, 1995, 1996, 1998. */
+
+/* This program is freely distributable without licensing fees and is
+ provided without guarantee or warrantee expressed or implied. This
+ program is -not- in the public domain. */
+
+#include <GL/gl.h>
+#include <GL/glu.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#if defined(_WIN32)
+
+/* GLUT 3.7 now tries to avoid including <windows.h>
+ to avoid name space pollution, but Win32's <GL/gl.h>
+ needs APIENTRY and WINGDIAPI defined properly.
+
+ tjump@spgs.com contributes:
+ If users are building glut code on MS Windows, then they should
+ make sure they include windows.h early, let's not get into a
+ header definitions war since MS has proven it's capability to
+ change header dependencies w/o publishing they have done so.
+
+ So, let's not include windows.h here, as it's not really required and
+ MS own gl/gl.h *should* include it if the dependency is there. */
+
+/* To disable automatic library usage for GLUT, define GLUT_NO_LIB_PRAGMA
+ in your compile preprocessor options. */
+# if !defined(GLUT_BUILDING_LIB) && !defined(GLUT_NO_LIB_PRAGMA)
+# pragma comment (lib, "winmm.lib") /* link with Windows MultiMedia lib */
+/* To enable automatic SGI OpenGL for Windows library usage for GLUT,
+ define GLUT_USE_SGI_OPENGL in your compile preprocessor options. */
+# ifdef GLUT_USE_SGI_OPENGL
+# pragma comment (lib, "opengl.lib") /* link with SGI OpenGL for Windows lib */
+# pragma comment (lib, "glu.lib") /* link with SGI OpenGL Utility lib */
+# pragma comment (lib, "glut.lib") /* link with Win32 GLUT for SGI OpenGL lib */
+# else
+# pragma comment (lib, "opengl32.lib") /* link with Microsoft OpenGL lib */
+# pragma comment (lib, "glu32.lib") /* link with Microsoft OpenGL Utility lib */
+# pragma comment (lib, "glut32.lib") /* link with Win32 GLUT lib */
+# endif
+# endif
+
+/* To disable supression of annoying warnings about floats being promoted
+ to doubles, define GLUT_NO_WARNING_DISABLE in your compile preprocessor
+ options. */
+# ifndef GLUT_NO_WARNING_DISABLE
+# pragma warning (disable:4244) /* Disable bogus VC++ 4.2 conversion warnings. */
+# pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */
+# endif
+
+/* Win32 has an annoying issue where there are multiple C run-time
+ libraries (CRTs). If the executable is linked with a different CRT
+ from the GLUT DLL, the GLUT DLL will not share the same CRT static
+ data seen by the executable. In particular, atexit callbacks registered
+ in the executable will not be called if GLUT calls its (different)
+ exit routine). GLUT is typically built with the
+ "/MD" option (the CRT with multithreading DLL support), but the Visual
+ C++ linker default is "/ML" (the single threaded CRT).
+
+ One workaround to this issue is requiring users to always link with
+ the same CRT as GLUT is compiled with. That requires users supply a
+ non-standard option. GLUT 3.7 has its own built-in workaround where
+ the executable's "exit" function pointer is covertly passed to GLUT.
+ GLUT then calls the executable's exit function pointer to ensure that
+ any "atexit" calls registered by the application are called if GLUT
+ needs to exit.
+
+ Note that the __glut*WithExit routines should NEVER be called directly.
+ To avoid the atexit workaround, #define GLUT_DISABLE_ATEXIT_HACK. */
+
+/* XXX This is from Win32's <process.h> */
+# if !defined(_MSC_VER) && !defined(__cdecl)
+ /* Define __cdecl for non-Microsoft compilers. */
+# define __cdecl
+# define GLUT_DEFINED___CDECL
+# endif
+# ifndef _CRTIMP
+# ifdef _NTSDK
+ /* Definition compatible with NT SDK */
+# define _CRTIMP
+# else
+ /* Current definition */
+# ifdef _DLL
+# define _CRTIMP __declspec(dllimport)
+# else
+# define _CRTIMP
+# endif
+# endif
+# define GLUT_DEFINED__CRTIMP
+# endif
+# ifndef GLUT_BUILDING_LIB
+extern _CRTIMP void __cdecl exit(int);
+# endif
+
+/* GLUT callback calling convention for Win32. */
+# define GLUTCALLBACK __cdecl
+
+/* for callback/function pointer defs */
+# define GLUTAPIENTRYV __cdecl
+
+/* glut-win32 specific macros, defined to prevent collision with
+ and redifinition of Windows system defs, also removes requirement of
+ pretty much any standard windows header from this file */
+
+#if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED)
+# define GLUTAPIENTRY __stdcall
+#else
+# define GLUTAPIENTRY
+#endif
+
+/* GLUT API entry point declarations for Win32. */
+#if defined(GLUT_BUILDING_LIB) && defined(_DLL)
+# define GLUTAPI __declspec(dllexport)
+#elif defined(_DLL)
+# define GLUTAPI __declspec(dllimport)
+#else
+# define GLUTAPI extern
+#endif
+
+#if defined(_WIN32) && !defined(_WINDEF_) && !defined(MESA)
+# if !defined(MESA_MINWARN)
+# pragma message( "note: WINDOWS.H not included, providing Mesa definition of CALLBACK macro" )
+# pragma message( "----: and PROC typedef. If you receive compiler warnings about either ")
+# pragma message( "----: being multiply defined you should include WINDOWS.H priot to gl/glut.h" )
+# endif
+# define CALLBACK __stdcall
+typedef int (GLUTAPIENTRY *PROC)();
+typedef void *HGLRC;
+typedef void *HDC;
+typedef unsigned long COLORREF;
+#endif
+
+#if defined(_WIN32) && !defined(_WINGDI_) && !defined(MESA)
+# if !defined(MESA_MINWARN)
+# pragma message( "note: WINDOWS.H not included, providing Mesa definition of wgl functions" )
+# pragma message( "----: and macros. If you receive compiler warnings about any being multiply ")
+# pragma message( "----: defined you should include WINDOWS.H priot to gl/glut.h" )
+# endif
+# define WGL_FONT_LINES 0
+# define WGL_FONT_POLYGONS 1
+# ifdef UNICODE
+# define wglUseFontBitmaps wglUseFontBitmapsW
+# define wglUseFontOutlines wglUseFontOutlinesW
+# else
+# define wglUseFontBitmaps wglUseFontBitmapsA
+# define wglUseFontOutlines wglUseFontOutlinesA
+# endif /* !UNICODE */
+typedef struct tagLAYERPLANEDESCRIPTOR LAYERPLANEDESCRIPTOR, *PLAYERPLANEDESCRIPTOR, *LPLAYERPLANEDESCRIPTOR;
+typedef struct _GLYPHMETRICSFLOAT GLYPHMETRICSFLOAT, *PGLYPHMETRICSFLOAT, *LPGLYPHMETRICSFLOAT;
+GLUTAPI int GLUTAPIENTRY wglCopyContext(HGLRC, HGLRC, unsigned int);
+GLUTAPI HGLRC GLUTAPIENTRY wglCreateContext(HDC);
+GLUTAPI HGLRC GLUTAPIENTRY wglCreateLayerContext(HDC, int);
+GLUTAPI int GLUTAPIENTRY wglDeleteContext(HGLRC);
+GLUTAPI HGLRC GLUTAPIENTRY wglGetCurrentContext(void);
+GLUTAPI HDC GLUTAPIENTRY wglGetCurrentDC(void);
+GLUTAPI PROC GLUTAPIENTRY wglGetProcAddress(char*);
+GLUTAPI int GLUTAPIENTRY wglMakeCurrent(HDC, HGLRC);
+GLUTAPI int GLUTAPIENTRY wglShareLists(HGLRC, HGLRC);
+GLUTAPI int GLUTAPIENTRY wglUseFontBitmapsA(HDC, unsigned long, unsigned long, unsigned long);
+GLUTAPI int GLUTAPIENTRY wglUseFontBitmapsW(HDC, unsigned long, unsigned long, unsigned long);
+GLUTAPI int GLUTAPIENTRY wglUseFontOutlinesA(HDC, unsigned long, unsigned long, unsigned long, float,float, int, LPGLYPHMETRICSFLOAT);
+GLUTAPI int GLUTAPIENTRY wglUseFontOutlinesW(HDC, unsigned long, unsigned long, unsigned long, float,float, int, LPGLYPHMETRICSFLOAT);
+GLUTAPI int GLUTAPIENTRY wglDescribeLayerPlane(HDC, int, int, unsigned int,LPLAYERPLANEDESCRIPTOR);
+GLUTAPI int GLUTAPIENTRY wglSetLayerPaletteEntries(HDC, int, int, int,const COLORREF *);
+GLUTAPI int GLUTAPIENTRY wglGetLayerPaletteEntries(HDC, int, int, int,COLORREF *);
+GLUTAPI int GLUTAPIENTRY wglRealizeLayerPalette(HDC, int, int);
+GLUTAPI int GLUTAPIENTRY wglSwapLayerBuffers(HDC, unsigned int);
+GLUTAPI int GLUTAPIENTRY SwapBuffers(HDC);
+#endif
+
+#else /* _WIN32 not defined */
+
+/* Define GLUTAPIENTRY and GLUTCALLBACK to nothing if we aren't on Win32. */
+# define GLUTAPIENTRY
+# define GLUTAPIENTRYV
+# define GLUT_APIENTRY_DEFINED
+# define GLUTCALLBACK
+# define GLUTAPI extern
+/* Prototype exit for the non-Win32 case (see above). */
+extern void exit(int);
+#endif
+
+
+/**
+ GLUT API revision history:
+
+ GLUT_API_VERSION is updated to reflect incompatible GLUT
+ API changes (interface changes, semantic changes, deletions,
+ or additions).
+
+ GLUT_API_VERSION=1 First public release of GLUT. 11/29/94
+
+ GLUT_API_VERSION=2 Added support for OpenGL/GLX multisampling,
+ extension. Supports new input devices like tablet, dial and button
+ box, and Spaceball. Easy to query OpenGL extensions.
+
+ GLUT_API_VERSION=3 glutMenuStatus added.
+
+ GLUT_API_VERSION=4 glutInitDisplayString, glutWarpPointer,
+ glutBitmapLength, glutStrokeLength, glutWindowStatusFunc, dynamic
+ video resize subAPI, glutPostWindowRedisplay, glutKeyboardUpFunc,
+ glutSpecialUpFunc, glutIgnoreKeyRepeat, glutSetKeyRepeat,
+ glutJoystickFunc, glutForceJoystickFunc (NOT FINALIZED!).
+**/
+#ifndef GLUT_API_VERSION /* allow this to be overriden */
+#define GLUT_API_VERSION 3
+#endif
+
+/**
+ GLUT implementation revision history:
+
+ GLUT_XLIB_IMPLEMENTATION is updated to reflect both GLUT
+ API revisions and implementation revisions (ie, bug fixes).
+
+ GLUT_XLIB_IMPLEMENTATION=1 mjk's first public release of
+ GLUT Xlib-based implementation. 11/29/94
+
+ GLUT_XLIB_IMPLEMENTATION=2 mjk's second public release of
+ GLUT Xlib-based implementation providing GLUT version 2
+ interfaces.
+
+ GLUT_XLIB_IMPLEMENTATION=3 mjk's GLUT 2.2 images. 4/17/95
+
+ GLUT_XLIB_IMPLEMENTATION=4 mjk's GLUT 2.3 images. 6/?/95
+
+ GLUT_XLIB_IMPLEMENTATION=5 mjk's GLUT 3.0 images. 10/?/95
+
+ GLUT_XLIB_IMPLEMENTATION=7 mjk's GLUT 3.1+ with glutWarpPoitner. 7/24/96
+
+ GLUT_XLIB_IMPLEMENTATION=8 mjk's GLUT 3.1+ with glutWarpPoitner
+ and video resize. 1/3/97
+
+ GLUT_XLIB_IMPLEMENTATION=9 mjk's GLUT 3.4 release with early GLUT 4 routines.
+
+ GLUT_XLIB_IMPLEMENTATION=11 Mesa 2.5's GLUT 3.6 release.
+
+ GLUT_XLIB_IMPLEMENTATION=12 mjk's GLUT 3.6 release with early GLUT 4 routines + signal handling.
+
+ GLUT_XLIB_IMPLEMENTATION=13 mjk's GLUT 3.7 beta with GameGLUT support.
+
+ GLUT_XLIB_IMPLEMENTATION=14 mjk's GLUT 3.7 beta with f90gl friend interface.
+
+ GLUT_XLIB_IMPLEMENTATION=15 mjk's GLUT 3.7 beta sync'ed with Mesa <GL/glut.h>
+**/
+#ifndef GLUT_XLIB_IMPLEMENTATION /* Allow this to be overriden. */
+#define GLUT_XLIB_IMPLEMENTATION 15
+#endif
+
+/* Display mode bit masks. */
+#define GLUT_RGB 0
+#define GLUT_RGBA GLUT_RGB
+#define GLUT_INDEX 1
+#define GLUT_SINGLE 0
+#define GLUT_DOUBLE 2
+#define GLUT_ACCUM 4
+#define GLUT_ALPHA 8
+#define GLUT_DEPTH 16
+#define GLUT_STENCIL 32
+#if (GLUT_API_VERSION >= 2)
+#define GLUT_MULTISAMPLE 128
+#define GLUT_STEREO 256
+#endif
+#if (GLUT_API_VERSION >= 3)
+#define GLUT_LUMINANCE 512
+#endif
+
+/* Mouse buttons. */
+#define GLUT_LEFT_BUTTON 0
+#define GLUT_MIDDLE_BUTTON 1
+#define GLUT_RIGHT_BUTTON 2
+
+/* Mouse button state. */
+#define GLUT_DOWN 0
+#define GLUT_UP 1
+
+#if (GLUT_API_VERSION >= 2)
+/* function keys */
+#define GLUT_KEY_F1 1
+#define GLUT_KEY_F2 2
+#define GLUT_KEY_F3 3
+#define GLUT_KEY_F4 4
+#define GLUT_KEY_F5 5
+#define GLUT_KEY_F6 6
+#define GLUT_KEY_F7 7
+#define GLUT_KEY_F8 8
+#define GLUT_KEY_F9 9
+#define GLUT_KEY_F10 10
+#define GLUT_KEY_F11 11
+#define GLUT_KEY_F12 12
+/* directional keys */
+#define GLUT_KEY_LEFT 100
+#define GLUT_KEY_UP 101
+#define GLUT_KEY_RIGHT 102
+#define GLUT_KEY_DOWN 103
+#define GLUT_KEY_PAGE_UP 104
+#define GLUT_KEY_PAGE_DOWN 105
+#define GLUT_KEY_HOME 106
+#define GLUT_KEY_END 107
+#define GLUT_KEY_INSERT 108
+#endif
+
+/* Entry/exit state. */
+#define GLUT_LEFT 0
+#define GLUT_ENTERED 1
+
+/* Menu usage state. */
+#define GLUT_MENU_NOT_IN_USE 0
+#define GLUT_MENU_IN_USE 1
+
+/* Visibility state. */
+#define GLUT_NOT_VISIBLE 0
+#define GLUT_VISIBLE 1
+
+/* Window status state. */
+#define GLUT_HIDDEN 0
+#define GLUT_FULLY_RETAINED 1
+#define GLUT_PARTIALLY_RETAINED 2
+#define GLUT_FULLY_COVERED 3
+
+/* Color index component selection values. */
+#define GLUT_RED 0
+#define GLUT_GREEN 1
+#define GLUT_BLUE 2
+
+/* Layers for use. */
+#define GLUT_NORMAL 0
+#define GLUT_OVERLAY 1
+
+#if defined(_WIN32)
+/* Stroke font constants (use these in GLUT program). */
+#define GLUT_STROKE_ROMAN ((void*)0)
+#define GLUT_STROKE_MONO_ROMAN ((void*)1)
+
+/* Bitmap font constants (use these in GLUT program). */
+#define GLUT_BITMAP_9_BY_15 ((void*)2)
+#define GLUT_BITMAP_8_BY_13 ((void*)3)
+#define GLUT_BITMAP_TIMES_ROMAN_10 ((void*)4)
+#define GLUT_BITMAP_TIMES_ROMAN_24 ((void*)5)
+#if (GLUT_API_VERSION >= 3)
+#define GLUT_BITMAP_HELVETICA_10 ((void*)6)
+#define GLUT_BITMAP_HELVETICA_12 ((void*)7)
+#define GLUT_BITMAP_HELVETICA_18 ((void*)8)
+#endif
+#else
+/* Stroke font opaque addresses (use constants instead in source code). */
+GLUTAPI void *glutStrokeRoman;
+GLUTAPI void *glutStrokeMonoRoman;
+
+/* Stroke font constants (use these in GLUT program). */
+#define GLUT_STROKE_ROMAN (&glutStrokeRoman)
+#define GLUT_STROKE_MONO_ROMAN (&glutStrokeMonoRoman)
+
+/* Bitmap font opaque addresses (use constants instead in source code). */
+GLUTAPI void *glutBitmap9By15;
+GLUTAPI void *glutBitmap8By13;
+GLUTAPI void *glutBitmapTimesRoman10;
+GLUTAPI void *glutBitmapTimesRoman24;
+GLUTAPI void *glutBitmapHelvetica10;
+GLUTAPI void *glutBitmapHelvetica12;
+GLUTAPI void *glutBitmapHelvetica18;
+
+/* Bitmap font constants (use these in GLUT program). */
+#define GLUT_BITMAP_9_BY_15 (&glutBitmap9By15)
+#define GLUT_BITMAP_8_BY_13 (&glutBitmap8By13)
+#define GLUT_BITMAP_TIMES_ROMAN_10 (&glutBitmapTimesRoman10)
+#define GLUT_BITMAP_TIMES_ROMAN_24 (&glutBitmapTimesRoman24)
+#if (GLUT_API_VERSION >= 3)
+#define GLUT_BITMAP_HELVETICA_10 (&glutBitmapHelvetica10)
+#define GLUT_BITMAP_HELVETICA_12 (&glutBitmapHelvetica12)
+#define GLUT_BITMAP_HELVETICA_18 (&glutBitmapHelvetica18)
+#endif
+#endif
+
+/* glutGet parameters. */
+#define GLUT_WINDOW_X 100
+#define GLUT_WINDOW_Y 101
+#define GLUT_WINDOW_WIDTH 102
+#define GLUT_WINDOW_HEIGHT 103
+#define GLUT_WINDOW_BUFFER_SIZE 104
+#define GLUT_WINDOW_STENCIL_SIZE 105
+#define GLUT_WINDOW_DEPTH_SIZE 106
+#define GLUT_WINDOW_RED_SIZE 107
+#define GLUT_WINDOW_GREEN_SIZE 108
+#define GLUT_WINDOW_BLUE_SIZE 109
+#define GLUT_WINDOW_ALPHA_SIZE 110
+#define GLUT_WINDOW_ACCUM_RED_SIZE 111
+#define GLUT_WINDOW_ACCUM_GREEN_SIZE 112
+#define GLUT_WINDOW_ACCUM_BLUE_SIZE 113
+#define GLUT_WINDOW_ACCUM_ALPHA_SIZE 114
+#define GLUT_WINDOW_DOUBLEBUFFER 115
+#define GLUT_WINDOW_RGBA 116
+#define GLUT_WINDOW_PARENT 117
+#define GLUT_WINDOW_NUM_CHILDREN 118
+#define GLUT_WINDOW_COLORMAP_SIZE 119
+#if (GLUT_API_VERSION >= 2)
+#define GLUT_WINDOW_NUM_SAMPLES 120
+#define GLUT_WINDOW_STEREO 121
+#endif
+#if (GLUT_API_VERSION >= 3)
+#define GLUT_WINDOW_CURSOR 122
+#endif
+#define GLUT_SCREEN_WIDTH 200
+#define GLUT_SCREEN_HEIGHT 201
+#define GLUT_SCREEN_WIDTH_MM 202
+#define GLUT_SCREEN_HEIGHT_MM 203
+#define GLUT_MENU_NUM_ITEMS 300
+#define GLUT_DISPLAY_MODE_POSSIBLE 400
+#define GLUT_INIT_WINDOW_X 500
+#define GLUT_INIT_WINDOW_Y 501
+#define GLUT_INIT_WINDOW_WIDTH 502
+#define GLUT_INIT_WINDOW_HEIGHT 503
+#define GLUT_INIT_DISPLAY_MODE 504
+#if (GLUT_API_VERSION >= 2)
+#define GLUT_ELAPSED_TIME 700
+#endif
+#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13)
+#define GLUT_WINDOW_FORMAT_ID 123
+#endif
+
+#if (GLUT_API_VERSION >= 2)
+/* glutDeviceGet parameters. */
+#define GLUT_HAS_KEYBOARD 600
+#define GLUT_HAS_MOUSE 601
+#define GLUT_HAS_SPACEBALL 602
+#define GLUT_HAS_DIAL_AND_BUTTON_BOX 603
+#define GLUT_HAS_TABLET 604
+#define GLUT_NUM_MOUSE_BUTTONS 605
+#define GLUT_NUM_SPACEBALL_BUTTONS 606
+#define GLUT_NUM_BUTTON_BOX_BUTTONS 607
+#define GLUT_NUM_DIALS 608
+#define GLUT_NUM_TABLET_BUTTONS 609
+#endif
+#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13)
+#define GLUT_DEVICE_IGNORE_KEY_REPEAT 610
+#define GLUT_DEVICE_KEY_REPEAT 611
+#define GLUT_HAS_JOYSTICK 612
+#define GLUT_OWNS_JOYSTICK 613
+#define GLUT_JOYSTICK_BUTTONS 614
+#define GLUT_JOYSTICK_AXES 615
+#define GLUT_JOYSTICK_POLL_RATE 616
+#endif
+
+#if (GLUT_API_VERSION >= 3)
+/* glutLayerGet parameters. */
+#define GLUT_OVERLAY_POSSIBLE 800
+#define GLUT_LAYER_IN_USE 801
+#define GLUT_HAS_OVERLAY 802
+#define GLUT_TRANSPARENT_INDEX 803
+#define GLUT_NORMAL_DAMAGED 804
+#define GLUT_OVERLAY_DAMAGED 805
+
+#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9)
+/* glutVideoResizeGet parameters. */
+#define GLUT_VIDEO_RESIZE_POSSIBLE 900
+#define GLUT_VIDEO_RESIZE_IN_USE 901
+#define GLUT_VIDEO_RESIZE_X_DELTA 902
+#define GLUT_VIDEO_RESIZE_Y_DELTA 903
+#define GLUT_VIDEO_RESIZE_WIDTH_DELTA 904
+#define GLUT_VIDEO_RESIZE_HEIGHT_DELTA 905
+#define GLUT_VIDEO_RESIZE_X 906
+#define GLUT_VIDEO_RESIZE_Y 907
+#define GLUT_VIDEO_RESIZE_WIDTH 908
+#define GLUT_VIDEO_RESIZE_HEIGHT 909
+#endif
+
+/* glutUseLayer parameters. */
+#define GLUT_NORMAL 0
+#define GLUT_OVERLAY 1
+
+/* glutGetModifiers return mask. */
+#define GLUT_ACTIVE_SHIFT 1
+#define GLUT_ACTIVE_CTRL 2
+#define GLUT_ACTIVE_ALT 4
+
+/* glutSetCursor parameters. */
+/* Basic arrows. */
+#define GLUT_CURSOR_RIGHT_ARROW 0
+#define GLUT_CURSOR_LEFT_ARROW 1
+/* Symbolic cursor shapes. */
+#define GLUT_CURSOR_INFO 2
+#define GLUT_CURSOR_DESTROY 3
+#define GLUT_CURSOR_HELP 4
+#define GLUT_CURSOR_CYCLE 5
+#define GLUT_CURSOR_SPRAY 6
+#define GLUT_CURSOR_WAIT 7
+#define GLUT_CURSOR_TEXT 8
+#define GLUT_CURSOR_CROSSHAIR 9
+/* Directional cursors. */
+#define GLUT_CURSOR_UP_DOWN 10
+#define GLUT_CURSOR_LEFT_RIGHT 11
+/* Sizing cursors. */
+#define GLUT_CURSOR_TOP_SIDE 12
+#define GLUT_CURSOR_BOTTOM_SIDE 13
+#define GLUT_CURSOR_LEFT_SIDE 14
+#define GLUT_CURSOR_RIGHT_SIDE 15
+#define GLUT_CURSOR_TOP_LEFT_CORNER 16
+#define GLUT_CURSOR_TOP_RIGHT_CORNER 17
+#define GLUT_CURSOR_BOTTOM_RIGHT_CORNER 18
+#define GLUT_CURSOR_BOTTOM_LEFT_CORNER 19
+/* Inherit from parent window. */
+#define GLUT_CURSOR_INHERIT 100
+/* Blank cursor. */
+#define GLUT_CURSOR_NONE 101
+/* Fullscreen crosshair (if available). */
+#define GLUT_CURSOR_FULL_CROSSHAIR 102
+#endif
+
+/* GLUT initialization sub-API. */
+GLUTAPI void GLUTAPIENTRY glutInit(int *argcp, char **argv);
+#if defined(_WIN32) && !defined(GLUT_DISABLE_ATEXIT_HACK)
+GLUTAPI void GLUTAPIENTRY __glutInitWithExit(int *argcp, char **argv, void (__cdecl *exitfunc)(int));
+#ifndef GLUT_BUILDING_LIB
+static void GLUTAPIENTRY glutInit_ATEXIT_HACK(int *argcp, char **argv) { __glutInitWithExit(argcp, argv, exit); }
+#define glutInit glutInit_ATEXIT_HACK
+#endif
+#endif
+GLUTAPI void GLUTAPIENTRY glutInitDisplayMode(unsigned int mode);
+#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9)
+GLUTAPI void GLUTAPIENTRY glutInitDisplayString(const char *string);
+#endif
+GLUTAPI void GLUTAPIENTRY glutInitWindowPosition(int x, int y);
+GLUTAPI void GLUTAPIENTRY glutInitWindowSize(int width, int height);
+GLUTAPI void GLUTAPIENTRY glutMainLoop(void);
+
+/* GLUT window sub-API. */
+GLUTAPI int GLUTAPIENTRY glutCreateWindow(const char *title);
+#if defined(_WIN32) && !defined(GLUT_DISABLE_ATEXIT_HACK)
+GLUTAPI int GLUTAPIENTRY __glutCreateWindowWithExit(const char *title, void (__cdecl *exitfunc)(int));
+#ifndef GLUT_BUILDING_LIB
+static int GLUTAPIENTRY glutCreateWindow_ATEXIT_HACK(const char *title) { return __glutCreateWindowWithExit(title, exit); }
+#define glutCreateWindow glutCreateWindow_ATEXIT_HACK
+#endif
+#endif
+GLUTAPI int GLUTAPIENTRY glutCreateSubWindow(int win, int x, int y, int width, int height);
+GLUTAPI void GLUTAPIENTRY glutDestroyWindow(int win);
+GLUTAPI void GLUTAPIENTRY glutPostRedisplay(void);
+#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 11)
+GLUTAPI void GLUTAPIENTRY glutPostWindowRedisplay(int win);
+#endif
+GLUTAPI void GLUTAPIENTRY glutSwapBuffers(void);
+GLUTAPI int GLUTAPIENTRY glutGetWindow(void);
+GLUTAPI void GLUTAPIENTRY glutSetWindow(int win);
+GLUTAPI void GLUTAPIENTRY glutSetWindowTitle(const char *title);
+GLUTAPI void GLUTAPIENTRY glutSetIconTitle(const char *title);
+GLUTAPI void GLUTAPIENTRY glutPositionWindow(int x, int y);
+GLUTAPI void GLUTAPIENTRY glutReshapeWindow(int width, int height);
+GLUTAPI void GLUTAPIENTRY glutPopWindow(void);
+GLUTAPI void GLUTAPIENTRY glutPushWindow(void);
+GLUTAPI void GLUTAPIENTRY glutIconifyWindow(void);
+GLUTAPI void GLUTAPIENTRY glutShowWindow(void);
+GLUTAPI void GLUTAPIENTRY glutHideWindow(void);
+#if (GLUT_API_VERSION >= 3)
+GLUTAPI void GLUTAPIENTRY glutFullScreen(void);
+GLUTAPI void GLUTAPIENTRY glutSetCursor(int cursor);
+#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9)
+GLUTAPI void GLUTAPIENTRY glutWarpPointer(int x, int y);
+#endif
+
+/* GLUT overlay sub-API. */
+GLUTAPI void GLUTAPIENTRY glutEstablishOverlay(void);
+GLUTAPI void GLUTAPIENTRY glutRemoveOverlay(void);
+GLUTAPI void GLUTAPIENTRY glutUseLayer(GLenum layer);
+GLUTAPI void GLUTAPIENTRY glutPostOverlayRedisplay(void);
+#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 11)
+GLUTAPI void GLUTAPIENTRY glutPostWindowOverlayRedisplay(int win);
+#endif
+GLUTAPI void GLUTAPIENTRY glutShowOverlay(void);
+GLUTAPI void GLUTAPIENTRY glutHideOverlay(void);
+#endif
+
+/* GLUT menu sub-API. */
+GLUTAPI int GLUTAPIENTRY glutCreateMenu(void (GLUTCALLBACK *func)(int));
+#if defined(_WIN32) && !defined(GLUT_DISABLE_ATEXIT_HACK)
+GLUTAPI int GLUTAPIENTRY __glutCreateMenuWithExit(void (GLUTCALLBACK *func)(int), void (__cdecl *exitfunc)(int));
+#ifndef GLUT_BUILDING_LIB
+static int GLUTAPIENTRY glutCreateMenu_ATEXIT_HACK(void (GLUTCALLBACK *func)(int)) { return __glutCreateMenuWithExit(func, exit); }
+#define glutCreateMenu glutCreateMenu_ATEXIT_HACK
+#endif
+#endif
+GLUTAPI void GLUTAPIENTRY glutDestroyMenu(int menu);
+GLUTAPI int GLUTAPIENTRY glutGetMenu(void);
+GLUTAPI void GLUTAPIENTRY glutSetMenu(int menu);
+GLUTAPI void GLUTAPIENTRY glutAddMenuEntry(const char *label, int value);
+GLUTAPI void GLUTAPIENTRY glutAddSubMenu(const char *label, int submenu);
+GLUTAPI void GLUTAPIENTRY glutChangeToMenuEntry(int item, const char *label, int value);
+GLUTAPI void GLUTAPIENTRY glutChangeToSubMenu(int item, const char *label, int submenu);
+GLUTAPI void GLUTAPIENTRY glutRemoveMenuItem(int item);
+GLUTAPI void GLUTAPIENTRY glutAttachMenu(int button);
+GLUTAPI void GLUTAPIENTRY glutDetachMenu(int button);
+
+/* GLUT window callback sub-API. */
+GLUTAPI void GLUTAPIENTRY glutDisplayFunc(void (GLUTCALLBACK *func)(void));
+GLUTAPI void GLUTAPIENTRY glutReshapeFunc(void (GLUTCALLBACK *func)(int width, int height));
+GLUTAPI void GLUTAPIENTRY glutKeyboardFunc(void (GLUTCALLBACK *func)(unsigned char key, int x, int y));
+GLUTAPI void GLUTAPIENTRY glutMouseFunc(void (GLUTCALLBACK *func)(int button, int state, int x, int y));
+GLUTAPI void GLUTAPIENTRY glutMotionFunc(void (GLUTCALLBACK *func)(int x, int y));
+GLUTAPI void GLUTAPIENTRY glutPassiveMotionFunc(void (GLUTCALLBACK *func)(int x, int y));
+GLUTAPI void GLUTAPIENTRY glutEntryFunc(void (GLUTCALLBACK *func)(int state));
+GLUTAPI void GLUTAPIENTRY glutVisibilityFunc(void (GLUTCALLBACK *func)(int state));
+GLUTAPI void GLUTAPIENTRY glutIdleFunc(void (GLUTCALLBACK *func)(void));
+GLUTAPI void GLUTAPIENTRY glutTimerFunc(unsigned int millis, void (GLUTCALLBACK *func)(int value), int value);
+GLUTAPI void GLUTAPIENTRY glutMenuStateFunc(void (GLUTCALLBACK *func)(int state));
+#if (GLUT_API_VERSION >= 2)
+GLUTAPI void GLUTAPIENTRY glutSpecialFunc(void (GLUTCALLBACK *func)(int key, int x, int y));
+GLUTAPI void GLUTAPIENTRY glutSpaceballMotionFunc(void (GLUTCALLBACK *func)(int x, int y, int z));
+GLUTAPI void GLUTAPIENTRY glutSpaceballRotateFunc(void (GLUTCALLBACK *func)(int x, int y, int z));
+GLUTAPI void GLUTAPIENTRY glutSpaceballButtonFunc(void (GLUTCALLBACK *func)(int button, int state));
+GLUTAPI void GLUTAPIENTRY glutButtonBoxFunc(void (GLUTCALLBACK *func)(int button, int state));
+GLUTAPI void GLUTAPIENTRY glutDialsFunc(void (GLUTCALLBACK *func)(int dial, int value));
+GLUTAPI void GLUTAPIENTRY glutTabletMotionFunc(void (GLUTCALLBACK *func)(int x, int y));
+GLUTAPI void GLUTAPIENTRY glutTabletButtonFunc(void (GLUTCALLBACK *func)(int button, int state, int x, int y));
+#if (GLUT_API_VERSION >= 3)
+GLUTAPI void GLUTAPIENTRY glutMenuStatusFunc(void (GLUTCALLBACK *func)(int status, int x, int y));
+GLUTAPI void GLUTAPIENTRY glutOverlayDisplayFunc(void (GLUTCALLBACK *func)(void));
+#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9)
+GLUTAPI void GLUTAPIENTRY glutWindowStatusFunc(void (GLUTCALLBACK *func)(int state));
+#endif
+#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13)
+GLUTAPI void GLUTAPIENTRY glutKeyboardUpFunc(void (GLUTCALLBACK *func)(unsigned char key, int x, int y));
+GLUTAPI void GLUTAPIENTRY glutSpecialUpFunc(void (GLUTCALLBACK *func)(int key, int x, int y));
+GLUTAPI void GLUTAPIENTRY glutJoystickFunc(void (GLUTCALLBACK *func)(unsigned int buttonMask, int x, int y, int z), int pollInterval);
+#endif
+#endif
+#endif
+
+/* GLUT color index sub-API. */
+GLUTAPI void GLUTAPIENTRY glutSetColor(int, GLfloat red, GLfloat green, GLfloat blue);
+GLUTAPI GLfloat GLUTAPIENTRY glutGetColor(int ndx, int component);
+GLUTAPI void GLUTAPIENTRY glutCopyColormap(int win);
+
+/* GLUT state retrieval sub-API. */
+GLUTAPI int GLUTAPIENTRY glutGet(GLenum type);
+GLUTAPI int GLUTAPIENTRY glutDeviceGet(GLenum type);
+#if (GLUT_API_VERSION >= 2)
+/* GLUT extension support sub-API */
+GLUTAPI int GLUTAPIENTRY glutExtensionSupported(const char *name);
+#endif
+#if (GLUT_API_VERSION >= 3)
+GLUTAPI int GLUTAPIENTRY glutGetModifiers(void);
+GLUTAPI int GLUTAPIENTRY glutLayerGet(GLenum type);
+#endif
+
+/* GLUT font sub-API */
+GLUTAPI void GLUTAPIENTRY glutBitmapCharacter(void *font, int character);
+GLUTAPI int GLUTAPIENTRY glutBitmapWidth(void *font, int character);
+GLUTAPI void GLUTAPIENTRY glutStrokeCharacter(void *font, int character);
+GLUTAPI int GLUTAPIENTRY glutStrokeWidth(void *font, int character);
+#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9)
+GLUTAPI int GLUTAPIENTRY glutBitmapLength(void *font, const unsigned char *string);
+GLUTAPI int GLUTAPIENTRY glutStrokeLength(void *font, const unsigned char *string);
+#endif
+
+/* GLUT pre-built models sub-API */
+GLUTAPI void GLUTAPIENTRY glutWireSphere(GLdouble radius, GLint slices, GLint stacks);
+GLUTAPI void GLUTAPIENTRY glutSolidSphere(GLdouble radius, GLint slices, GLint stacks);
+GLUTAPI void GLUTAPIENTRY glutWireCone(GLdouble base, GLdouble height, GLint slices, GLint stacks);
+GLUTAPI void GLUTAPIENTRY glutSolidCone(GLdouble base, GLdouble height, GLint slices, GLint stacks);
+GLUTAPI void GLUTAPIENTRY glutWireCube(GLdouble size);
+GLUTAPI void GLUTAPIENTRY glutSolidCube(GLdouble size);
+GLUTAPI void GLUTAPIENTRY glutWireTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings);
+GLUTAPI void GLUTAPIENTRY glutSolidTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings);
+GLUTAPI void GLUTAPIENTRY glutWireDodecahedron(void);
+GLUTAPI void GLUTAPIENTRY glutSolidDodecahedron(void);
+GLUTAPI void GLUTAPIENTRY glutWireTeapot(GLdouble size);
+GLUTAPI void GLUTAPIENTRY glutSolidTeapot(GLdouble size);
+GLUTAPI void GLUTAPIENTRY glutWireOctahedron(void);
+GLUTAPI void GLUTAPIENTRY glutSolidOctahedron(void);
+GLUTAPI void GLUTAPIENTRY glutWireTetrahedron(void);
+GLUTAPI void GLUTAPIENTRY glutSolidTetrahedron(void);
+GLUTAPI void GLUTAPIENTRY glutWireIcosahedron(void);
+GLUTAPI void GLUTAPIENTRY glutSolidIcosahedron(void);
+
+#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9)
+/* GLUT video resize sub-API. */
+GLUTAPI int GLUTAPIENTRY glutVideoResizeGet(GLenum param);
+GLUTAPI void GLUTAPIENTRY glutSetupVideoResizing(void);
+GLUTAPI void GLUTAPIENTRY glutStopVideoResizing(void);
+GLUTAPI void GLUTAPIENTRY glutVideoResize(int x, int y, int width, int height);
+GLUTAPI void GLUTAPIENTRY glutVideoPan(int x, int y, int width, int height);
+
+/* GLUT debugging sub-API. */
+GLUTAPI void GLUTAPIENTRY glutReportErrors(void);
+#endif
+
+#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13)
+/* GLUT device control sub-API. */
+/* glutSetKeyRepeat modes. */
+#define GLUT_KEY_REPEAT_OFF 0
+#define GLUT_KEY_REPEAT_ON 1
+#define GLUT_KEY_REPEAT_DEFAULT 2
+
+/* Joystick button masks. */
+#define GLUT_JOYSTICK_BUTTON_A 1
+#define GLUT_JOYSTICK_BUTTON_B 2
+#define GLUT_JOYSTICK_BUTTON_C 4
+#define GLUT_JOYSTICK_BUTTON_D 8
+
+GLUTAPI void GLUTAPIENTRY glutIgnoreKeyRepeat(int ignore);
+GLUTAPI void GLUTAPIENTRY glutSetKeyRepeat(int repeatMode);
+GLUTAPI void GLUTAPIENTRY glutForceJoystickFunc(void);
+
+/* GLUT game mode sub-API. */
+/* glutGameModeGet. */
+#define GLUT_GAME_MODE_ACTIVE 0
+#define GLUT_GAME_MODE_POSSIBLE 1
+#define GLUT_GAME_MODE_WIDTH 2
+#define GLUT_GAME_MODE_HEIGHT 3
+#define GLUT_GAME_MODE_PIXEL_DEPTH 4
+#define GLUT_GAME_MODE_REFRESH_RATE 5
+#define GLUT_GAME_MODE_DISPLAY_CHANGED 6
+
+GLUTAPI void GLUTAPIENTRY glutGameModeString(const char *string);
+GLUTAPI int GLUTAPIENTRY glutEnterGameMode(void);
+GLUTAPI void GLUTAPIENTRY glutLeaveGameMode(void);
+GLUTAPI int GLUTAPIENTRY glutGameModeGet(GLenum mode);
+#endif
+
+#ifdef __cplusplus
+}
+
+#endif
+
+#if 0
+#ifdef GLUT_APIENTRY_DEFINED
+# undef GLUT_APIENTRY_DEFINED
+# undef APIENTRY
+#endif
+
+#ifdef GLUT_WINGDIAPI_DEFINED
+# undef GLUT_WINGDIAPI_DEFINED
+# undef WINGDIAPI
+#endif
+
+#ifdef GLUT_DEFINED___CDECL
+# undef GLUT_DEFINED___CDECL
+# undef __cdecl
+#endif
+
+#ifdef GLUT_DEFINED__CRTIMP
+# undef GLUT_DEFINED__CRTIMP
+# undef _CRTIMP
+#endif
+#endif
+
+#endif /* __glut_h__ */
diff --git a/include/GL/glut_h.dja b/include/GL/glut_h.dja
new file mode 100644
index 00000000000..d5713f0c90a
--- /dev/null
+++ b/include/GL/glut_h.dja
@@ -0,0 +1,352 @@
+/* $Id*/
+
+/*
+ * Mesa 3-D graphics library
+ * Version: 3.1
+ * Copyright (C) 1995-1998 Brian Paul
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+
+/*
+ * $Log: glut_h.dja,v $
+ * Revision 1.1 1999/08/19 00:55:40 jtg
+ * Initial revision
+ *
+ * Revision 1.1 1999/06/23 00:51:27 brianp
+ * initial check-in
+ *
+ */
+
+
+/*
+ * This header file is based on the REAL glut.h by Mark J. Kilgard.
+ *
+ * The DJGPP/ALLEGRO (DJA) GLUT implementation was written by
+ * Bernhard Tschirren (bernie-t@geocities.com) for the sole purpose
+ * of compiling all the sample programs (which use GLUT). Therefore,
+ * is NOT AT ALL a complete version of GLUT!
+ */
+
+
+#ifndef __AGLUT_H__
+#define __AGLUT_H__
+
+#include <GL/gl.h>
+#include <GL/glu.h>
+
+#define GLUTCALLBACK
+#define APIENTRY
+#define GLUTAPI extern
+
+#define GLUT_RGB 0
+#define GLUT_RGBA GLUT_RGB
+#define GLUT_INDEX 1
+#define GLUT_SINGLE 0
+#define GLUT_DOUBLE 2
+#define GLUT_ACCUM 4
+#define GLUT_ALPHA 8
+#define GLUT_DEPTH 16
+#define GLUT_STENCIL 32
+
+/* Mouse buttons. */
+#define GLUT_LEFT_BUTTON 0
+#define GLUT_MIDDLE_BUTTON 1
+#define GLUT_RIGHT_BUTTON 2
+
+/* Mouse button state. */
+#define GLUT_DOWN 0
+#define GLUT_UP 1
+
+/* function keys */
+#define GLUT_KEY_F1 1
+#define GLUT_KEY_F2 2
+#define GLUT_KEY_F3 3
+#define GLUT_KEY_F4 4
+#define GLUT_KEY_F5 5
+#define GLUT_KEY_F6 6
+#define GLUT_KEY_F7 7
+#define GLUT_KEY_F8 8
+#define GLUT_KEY_F9 9
+#define GLUT_KEY_F10 10
+#define GLUT_KEY_F11 11
+#define GLUT_KEY_F12 12
+
+/* directional keys */
+#define GLUT_KEY_LEFT 100
+#define GLUT_KEY_UP 101
+#define GLUT_KEY_RIGHT 102
+#define GLUT_KEY_DOWN 103
+#define GLUT_KEY_PAGE_UP 104
+#define GLUT_KEY_PAGE_DOWN 105
+#define GLUT_KEY_HOME 106
+#define GLUT_KEY_END 107
+#define GLUT_KEY_INSERT 108
+
+/* Entry/exit state. */
+#define GLUT_LEFT 0
+#define GLUT_ENTERED 1
+
+/* Visibility state. */
+#define GLUT_NOT_VISIBLE 0
+#define GLUT_VISIBLE 1
+
+/* Color index component selection values. */
+#define GLUT_RED 0
+#define GLUT_GREEN 1
+#define GLUT_BLUE 2
+
+/* Layers for use. */
+#define GLUT_NORMAL 0
+#define GLUT_OVERLAY 1
+
+/* Stroke font constants (use these in GLUT program). */
+#define GLUT_STROKE_ROMAN ((void*)0)
+#define GLUT_STROKE_MONO_ROMAN ((void*)1)
+
+/* Bitmap font constants (use these in GLUT program). */
+#define GLUT_BITMAP_9_BY_15 ((void*)2)
+#define GLUT_BITMAP_8_BY_13 ((void*)3)
+#define GLUT_BITMAP_TIMES_ROMAN_10 ((void*)4)
+#define GLUT_BITMAP_TIMES_ROMAN_24 ((void*)5)
+#define GLUT_BITMAP_HELVETICA_10 ((void*)6)
+#define GLUT_BITMAP_HELVETICA_12 ((void*)7)
+#define GLUT_BITMAP_HELVETICA_18 ((void*)8)
+
+/* glutGet parameters. */
+#define GLUT_WINDOW_X 100
+#define GLUT_WINDOW_Y 101
+#define GLUT_WINDOW_WIDTH 102
+#define GLUT_WINDOW_HEIGHT 103
+#define GLUT_WINDOW_BUFFER_SIZE 104
+#define GLUT_WINDOW_STENCIL_SIZE 105
+#define GLUT_WINDOW_DEPTH_SIZE 106
+#define GLUT_WINDOW_RED_SIZE 107
+#define GLUT_WINDOW_GREEN_SIZE 108
+#define GLUT_WINDOW_BLUE_SIZE 109
+#define GLUT_WINDOW_ALPHA_SIZE 110
+#define GLUT_WINDOW_ACCUM_RED_SIZE 111
+#define GLUT_WINDOW_ACCUM_GREEN_SIZE 112
+#define GLUT_WINDOW_ACCUM_BLUE_SIZE 113
+#define GLUT_WINDOW_ACCUM_ALPHA_SIZE 114
+#define GLUT_WINDOW_DOUBLEBUFFER 115
+#define GLUT_WINDOW_RGBA 116
+#define GLUT_WINDOW_PARENT 117
+#define GLUT_WINDOW_NUM_CHILDREN 118
+#define GLUT_WINDOW_COLORMAP_SIZE 119
+#define GLUT_WINDOW_NUM_SAMPLES 120
+#define GLUT_WINDOW_STEREO 121
+#define GLUT_WINDOW_CURSOR 122
+#define GLUT_SCREEN_WIDTH 200
+#define GLUT_SCREEN_HEIGHT 201
+#define GLUT_SCREEN_WIDTH_MM 202
+#define GLUT_SCREEN_HEIGHT_MM 203
+#define GLUT_MENU_NUM_ITEMS 300
+#define GLUT_DISPLAY_MODE_POSSIBLE 400
+#define GLUT_INIT_WINDOW_X 500
+#define GLUT_INIT_WINDOW_Y 501
+#define GLUT_INIT_WINDOW_WIDTH 502
+#define GLUT_INIT_WINDOW_HEIGHT 503
+#define GLUT_INIT_DISPLAY_MODE 504
+#define GLUT_ELAPSED_TIME 700
+#define GLUT_WINDOW_FORMAT_ID 123
+
+/* glutDeviceGet parameters. */
+#define GLUT_HAS_KEYBOARD 600
+#define GLUT_HAS_MOUSE 601
+#define GLUT_HAS_SPACEBALL 602
+#define GLUT_HAS_DIAL_AND_BUTTON_BOX 603
+#define GLUT_HAS_TABLET 604
+#define GLUT_NUM_MOUSE_BUTTONS 605
+#define GLUT_NUM_SPACEBALL_BUTTONS 606
+#define GLUT_NUM_BUTTON_BOX_BUTTONS 607
+#define GLUT_NUM_DIALS 608
+#define GLUT_NUM_TABLET_BUTTONS 609
+#define GLUT_DEVICE_IGNORE_KEY_REPEAT 610
+#define GLUT_DEVICE_KEY_REPEAT 611
+#define GLUT_HAS_JOYSTICK 612
+#define GLUT_OWNS_JOYSTICK 613
+#define GLUT_JOYSTICK_BUTTONS 614
+#define GLUT_JOYSTICK_AXES 615
+#define GLUT_JOYSTICK_POLL_RATE 616
+
+/* glutLayerGet parameters. */
+#define GLUT_OVERLAY_POSSIBLE 800
+#define GLUT_LAYER_IN_USE 801
+#define GLUT_HAS_OVERLAY 802
+#define GLUT_TRANSPARENT_INDEX 803
+#define GLUT_NORMAL_DAMAGED 804
+#define GLUT_OVERLAY_DAMAGED 805
+
+/* glutVideoResizeGet parameters. */
+#define GLUT_VIDEO_RESIZE_POSSIBLE 900
+#define GLUT_VIDEO_RESIZE_IN_USE 901
+#define GLUT_VIDEO_RESIZE_X_DELTA 902
+#define GLUT_VIDEO_RESIZE_Y_DELTA 903
+#define GLUT_VIDEO_RESIZE_WIDTH_DELTA 904
+#define GLUT_VIDEO_RESIZE_HEIGHT_DELTA 905
+#define GLUT_VIDEO_RESIZE_X 906
+#define GLUT_VIDEO_RESIZE_Y 907
+#define GLUT_VIDEO_RESIZE_WIDTH 908
+#define GLUT_VIDEO_RESIZE_HEIGHT 909
+
+/* glutUseLayer parameters. */
+#define GLUT_NORMAL 0
+#define GLUT_OVERLAY 1
+
+/* glutGetModifiers return mask. */
+#define GLUT_ACTIVE_SHIFT 1
+#define GLUT_ACTIVE_CTRL 2
+#define GLUT_ACTIVE_ALT 4
+
+/* glutSetCursor parameters. */
+/* Basic arrows. */
+#define GLUT_CURSOR_RIGHT_ARROW 0
+#define GLUT_CURSOR_LEFT_ARROW 1
+/* Symbolic cursor shapes. */
+#define GLUT_CURSOR_INFO 2
+#define GLUT_CURSOR_DESTROY 3
+#define GLUT_CURSOR_HELP 4
+#define GLUT_CURSOR_CYCLE 5
+#define GLUT_CURSOR_SPRAY 6
+#define GLUT_CURSOR_WAIT 7
+#define GLUT_CURSOR_TEXT 8
+#define GLUT_CURSOR_CROSSHAIR 9
+/* Directional cursors. */
+#define GLUT_CURSOR_UP_DOWN 10
+#define GLUT_CURSOR_LEFT_RIGHT 11
+/* Sizing cursors. */
+#define GLUT_CURSOR_TOP_SIDE 12
+#define GLUT_CURSOR_BOTTOM_SIDE 13
+#define GLUT_CURSOR_LEFT_SIDE 14
+#define GLUT_CURSOR_RIGHT_SIDE 15
+#define GLUT_CURSOR_TOP_LEFT_CORNER 16
+#define GLUT_CURSOR_TOP_RIGHT_CORNER 17
+#define GLUT_CURSOR_BOTTOM_RIGHT_CORNER 18
+#define GLUT_CURSOR_BOTTOM_LEFT_CORNER 19
+/* Inherit from parent window. */
+#define GLUT_CURSOR_INHERIT 100
+/* Blank cursor. */
+#define GLUT_CURSOR_NONE 101
+/* Fullscreen crosshair (if available). */
+#define GLUT_CURSOR_FULL_CROSSHAIR 102
+
+/* GLUT initialization sub-API. */
+GLUTAPI void APIENTRY glutInit(int *argcp, char **argv);
+GLUTAPI void APIENTRY glutInitDisplayMode(unsigned int mode);
+GLUTAPI void APIENTRY glutInitWindowPosition(int x, int y);
+GLUTAPI void APIENTRY glutInitWindowSize(int width, int height);
+GLUTAPI void APIENTRY glutMainLoop(void);
+
+/* GLUT window sub-API. */
+GLUTAPI int APIENTRY glutCreateWindow(const char *title);
+GLUTAPI int APIENTRY glutCreateSubWindow(int win, int x, int y, int width, int height);
+GLUTAPI void APIENTRY glutDestroyWindow(int win);
+GLUTAPI void APIENTRY glutPostRedisplay(void);
+GLUTAPI void APIENTRY glutSwapBuffers(void);
+GLUTAPI int APIENTRY glutGetWindow(void);
+GLUTAPI void APIENTRY glutSetWindow(int win);
+GLUTAPI void APIENTRY glutSetWindowTitle(const char *title);
+GLUTAPI void APIENTRY glutSetIconTitle(const char *title);
+GLUTAPI void APIENTRY glutPositionWindow(int x, int y);
+GLUTAPI void APIENTRY glutReshapeWindow(int width, int height);
+GLUTAPI void APIENTRY glutPopWindow(void);
+GLUTAPI void APIENTRY glutPushWindow(void);
+GLUTAPI void APIENTRY glutIconifyWindow(void);
+GLUTAPI void APIENTRY glutShowWindow(void);
+GLUTAPI void APIENTRY glutHideWindow(void);
+
+/* GLUT overlay sub-API. */
+GLUTAPI void APIENTRY glutEstablishOverlay(void);
+GLUTAPI void APIENTRY glutRemoveOverlay(void);
+GLUTAPI void APIENTRY glutUseLayer(GLenum layer);
+GLUTAPI void APIENTRY glutPostOverlayRedisplay(void);
+GLUTAPI void APIENTRY glutShowOverlay(void);
+GLUTAPI void APIENTRY glutHideOverlay(void);
+
+/* GLUT menu sub-API. */
+GLUTAPI int APIENTRY glutCreateMenu(void (GLUTCALLBACK *)(int));
+GLUTAPI void APIENTRY glutDestroyMenu(int menu);
+GLUTAPI int APIENTRY glutGetMenu(void);
+GLUTAPI void APIENTRY glutSetMenu(int menu);
+GLUTAPI void APIENTRY glutAddMenuEntry(const char *label, int value);
+GLUTAPI void APIENTRY glutAddSubMenu(const char *label, int submenu);
+GLUTAPI void APIENTRY glutChangeToMenuEntry(int item, const char *label, int value);
+GLUTAPI void APIENTRY glutChangeToSubMenu(int item, const char *label, int submenu);
+GLUTAPI void APIENTRY glutRemoveMenuItem(int item);
+GLUTAPI void APIENTRY glutAttachMenu(int button);
+GLUTAPI void APIENTRY glutDetachMenu(int button);
+
+/* GLUT window callback sub-API. */
+GLUTAPI void APIENTRY glutDisplayFunc(void (GLUTCALLBACK * func)(void));
+GLUTAPI void APIENTRY glutReshapeFunc(void (GLUTCALLBACK * func)(int width, int height));
+GLUTAPI void APIENTRY glutKeyboardFunc(void (GLUTCALLBACK * func)(unsigned char key, int x, int y));
+GLUTAPI void APIENTRY glutMouseFunc(void (GLUTCALLBACK * func)(int button, int state, int x, int y));
+GLUTAPI void APIENTRY glutMotionFunc(void (GLUTCALLBACK * func)(int x, int y));
+GLUTAPI void APIENTRY glutPassiveMotionFunc(void (GLUTCALLBACK * func)(int x, int y));
+GLUTAPI void APIENTRY glutEntryFunc(void (GLUTCALLBACK * func)(int state));
+GLUTAPI void APIENTRY glutVisibilityFunc(void (GLUTCALLBACK * func)(int state));
+GLUTAPI void APIENTRY glutIdleFunc(void (GLUTCALLBACK * func)(void));
+GLUTAPI void APIENTRY glutTimerFunc(unsigned int millis, void (GLUTCALLBACK * func)(int value), int value);
+GLUTAPI void APIENTRY glutMenuStateFunc(void (GLUTCALLBACK * func)(int state));
+GLUTAPI void APIENTRY glutSpecialFunc(void (GLUTCALLBACK * func)(int key, int x, int y));
+GLUTAPI void APIENTRY glutSpaceballMotionFunc(void (GLUTCALLBACK * func)(int x, int y, int z));
+GLUTAPI void APIENTRY glutSpaceballRotateFunc(void (GLUTCALLBACK * func)(int x, int y, int z));
+GLUTAPI void APIENTRY glutSpaceballButtonFunc(void (GLUTCALLBACK * func)(int button, int state));
+GLUTAPI void APIENTRY glutButtonBoxFunc(void (GLUTCALLBACK * func)(int button, int state));
+GLUTAPI void APIENTRY glutDialsFunc(void (GLUTCALLBACK * func)(int dial, int value));
+GLUTAPI void APIENTRY glutTabletMotionFunc(void (GLUTCALLBACK * func)(int x, int y));
+GLUTAPI void APIENTRY glutTabletButtonFunc(void (GLUTCALLBACK * func)(int button, int state, int x, int y));
+GLUTAPI void APIENTRY glutMenuStatusFunc(void (GLUTCALLBACK * func)(int status, int x, int y));
+GLUTAPI void APIENTRY glutOverlayDisplayFunc(void (GLUTCALLBACK * func)(void));
+GLUTAPI void APIENTRY glutWindowStatusFunc(void (GLUTCALLBACK * func)(int state));
+
+/* GLUT color index sub-API. */
+GLUTAPI void APIENTRY glutSetColor(int, GLfloat red, GLfloat green, GLfloat blue);
+GLUTAPI GLfloat APIENTRY glutGetColor(int ndx, int component);
+GLUTAPI void APIENTRY glutCopyColormap(int win);
+
+/* GLUT state retrieval sub-API. */
+GLUTAPI int APIENTRY glutGet(GLenum type);
+GLUTAPI int APIENTRY glutDeviceGet(GLenum type);
+
+/* GLUT font sub-API */
+GLUTAPI void APIENTRY glutBitmapCharacter(void *font, int character);
+GLUTAPI int APIENTRY glutBitmapWidth(void *font, int character);
+GLUTAPI void APIENTRY glutStrokeCharacter(void *font, int character);
+GLUTAPI int APIENTRY glutStrokeWidth(void *font, int character);
+
+/* GLUT pre-built models sub-API */
+GLUTAPI void APIENTRY glutWireSphere(GLdouble radius, GLint slices, GLint stacks);
+GLUTAPI void APIENTRY glutSolidSphere(GLdouble radius, GLint slices, GLint stacks);
+GLUTAPI void APIENTRY glutWireCone(GLdouble base, GLdouble height, GLint slices, GLint stacks);
+GLUTAPI void APIENTRY glutSolidCone(GLdouble base, GLdouble height, GLint slices, GLint stacks);
+GLUTAPI void APIENTRY glutWireCube(GLdouble size);
+GLUTAPI void APIENTRY glutSolidCube(GLdouble size);
+GLUTAPI void APIENTRY glutWireTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings);
+GLUTAPI void APIENTRY glutSolidTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings);
+GLUTAPI void APIENTRY glutWireDodecahedron(void);
+GLUTAPI void APIENTRY glutSolidDodecahedron(void);
+GLUTAPI void APIENTRY glutWireTeapot(GLdouble size);
+GLUTAPI void APIENTRY glutSolidTeapot(GLdouble size);
+GLUTAPI void APIENTRY glutWireOctahedron(void);
+GLUTAPI void APIENTRY glutSolidOctahedron(void);
+GLUTAPI void APIENTRY glutWireTetrahedron(void);
+GLUTAPI void APIENTRY glutSolidTetrahedron(void);
+GLUTAPI void APIENTRY glutWireIcosahedron(void);
+GLUTAPI void APIENTRY glutSolidIcosahedron(void);
+
+#endif /* __AGLUT_H__ */
diff --git a/include/GL/glutf90.h b/include/GL/glutf90.h
new file mode 100644
index 00000000000..46f19796a7b
--- /dev/null
+++ b/include/GL/glutf90.h
@@ -0,0 +1,81 @@
+#ifndef __glutf90_h__
+#define __glutf90_h__
+
+/* Copyright (c) Mark J. Kilgard & Willam F. Mitchell, 1998. */
+
+/* This program is freely distributable without licensing fees
+ and is provided without guarantee or warrantee expressed or
+ implied. This program is -not- in the public domain. */
+
+/* This header provides the binding interface for William Mitchell's
+ f90gl Fortran 90 GLUT binding. Other GLUT language bindings
+ can and should use this interace. */
+
+/* I appreciate the guidance from William Mitchell
+ (mitchell@cam.nist.gov) in developing this friend interface
+ for use by the f90gl package. See ../../README.fortran */
+
+#include <GL/glut.h>
+
+/* Which callback enumerants for the __glutSetFCB/__glutGetFCB routines. */
+/* NOTE These values are part of a binary interface for the f90gl Fortran
+ 90 binding and so must NOT changes (additions are allowed). */
+
+/* GLUTwindow callbacks. */
+#define GLUT_FCB_DISPLAY 0 /* GLUTdisplayFCB */
+#define GLUT_FCB_RESHAPE 1 /* GLUTreshapeFCB */
+#define GLUT_FCB_MOUSE 2 /* GLUTmouseFCB */
+#define GLUT_FCB_MOTION 3 /* GLUTmotionFCB */
+#define GLUT_FCB_PASSIVE 4 /* GLUTpassiveFCB */
+#define GLUT_FCB_ENTRY 5 /* GLUTentryFCB */
+#define GLUT_FCB_KEYBOARD 6 /* GLUTkeyboardFCB */
+#define GLUT_FCB_KEYBOARD_UP 7 /* GLUTkeyboardFCB */
+#define GLUT_FCB_WINDOW_STATUS 8 /* GLUTwindowStatusFCB */
+#define GLUT_FCB_VISIBILITY 9 /* GLUTvisibilityFCB */
+#define GLUT_FCB_SPECIAL 10 /* GLUTspecialFCB */
+#define GLUT_FCB_SPECIAL_UP 11 /* GLUTspecialFCB */
+#define GLUT_FCB_BUTTON_BOX 12 /* GLUTbuttonBoxFCB */
+#define GLUT_FCB_DIALS 13 /* GLUTdialsFCB */
+#define GLUT_FCB_SPACE_MOTION 14 /* GLUTspaceMotionFCB */
+#define GLUT_FCB_SPACE_ROTATE 15 /* GLUTspaceRotateFCB */
+#define GLUT_FCB_SPACE_BUTTON 16 /* GLUTspaceButtonFCB */
+#define GLUT_FCB_TABLET_MOTION 17 /* GLUTtabletMotionFCB */
+#define GLUT_FCB_TABLET_BUTTON 18 /* GLUTtabletButtonFCB */
+#define GLUT_FCB_JOYSTICK 19 /* GLUTjoystickFCB */
+/* Non-GLUTwindow callbacks. */
+#define GLUT_FCB_OVERLAY_DISPLAY 100 /* GLUTdisplayFCB */
+#define GLUT_FCB_SELECT 101 /* GLUTselectFCB */
+#define GLUT_FCB_TIMER 102 /* GLUTtimerFCB */
+
+/* GLUT Fortran callback function types. */
+typedef void (GLUTCALLBACK *GLUTdisplayFCB) (void);
+typedef void (GLUTCALLBACK *GLUTreshapeFCB) (int *, int *);
+/* NOTE the pressed key is int, not unsigned char for Fortran! */
+typedef void (GLUTCALLBACK *GLUTkeyboardFCB) (int *, int *, int *);
+typedef void (GLUTCALLBACK *GLUTmouseFCB) (int *, int *, int *, int *);
+typedef void (GLUTCALLBACK *GLUTmotionFCB) (int *, int *);
+typedef void (GLUTCALLBACK *GLUTpassiveFCB) (int *, int *);
+typedef void (GLUTCALLBACK *GLUTentryFCB) (int *);
+typedef void (GLUTCALLBACK *GLUTwindowStatusFCB) (int *);
+typedef void (GLUTCALLBACK *GLUTvisibilityFCB) (int *);
+typedef void (GLUTCALLBACK *GLUTspecialFCB) (int *, int *, int *);
+typedef void (GLUTCALLBACK *GLUTbuttonBoxFCB) (int *, int *);
+typedef void (GLUTCALLBACK *GLUTdialsFCB) (int *, int *);
+typedef void (GLUTCALLBACK *GLUTspaceMotionFCB) (int *, int *, int *);
+typedef void (GLUTCALLBACK *GLUTspaceRotateFCB) (int *, int *, int *);
+typedef void (GLUTCALLBACK *GLUTspaceButtonFCB) (int *, int *);
+typedef void (GLUTCALLBACK *GLUTtabletMotionFCB) (int *, int *);
+typedef void (GLUTCALLBACK *GLUTtabletButtonFCB) (int *, int *, int *, int *);
+typedef void (GLUTCALLBACK *GLUTjoystickFCB) (unsigned int *buttonMask, int *x, int *y, int *z);
+
+typedef void (GLUTCALLBACK *GLUTselectFCB) (int *);
+typedef void (GLUTCALLBACK *GLUTtimerFCB) (int *);
+typedef void (GLUTCALLBACK *GLUTmenuStateFCB) (int *); /* DEPRICATED. */
+typedef void (GLUTCALLBACK *GLUTmenuStatusFCB) (int *, int *, int *);
+typedef void (GLUTCALLBACK *GLUTidleFCB) (void);
+
+/* Functions that set and return Fortran callback functions. */
+extern void* GLUTAPIENTRY __glutGetFCB(int which);
+extern void GLUTAPIENTRY __glutSetFCB(int which, void *func);
+
+#endif /* __glutf90_h__ */
diff --git a/include/GL/glx.h b/include/GL/glx.h
new file mode 100644
index 00000000000..4b27880eba9
--- /dev/null
+++ b/include/GL/glx.h
@@ -0,0 +1,261 @@
+/* $Id: glx.h,v 1.1 1999/08/19 00:55:40 jtg Exp $ */
+
+/*
+ * Mesa 3-D graphics library
+ * Version: 3.1
+ *
+ * Copyright (C) 1999 Brian Paul All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+
+/*
+ * $Log: glx.h,v $
+ * Revision 1.1 1999/08/19 00:55:40 jtg
+ * Initial revision
+ *
+ * Revision 3.3 1999/02/14 03:39:09 brianp
+ * new copyright
+ *
+ * Revision 3.2 1998/06/18 03:44:00 brianp
+ * replaced "uint" with "unsigned int"
+ *
+ * Revision 3.1 1998/06/01 00:00:17 brianp
+ * added GLX_SGI_video_sync extension
+ *
+ * Revision 3.0 1998/02/20 05:06:01 brianp
+ * initial rev
+ *
+ */
+
+
+#ifndef GLX_H
+#define GLX_H
+
+
+/*
+ * A pseudo-GLX implementation to allow GLX-based OpenGL programs to
+ * work with Mesa.
+ *
+ * Notes:
+ * 1. If the visual passed to glXGetConfig was not one returned by
+ * glXChooseVisual then the GLX_RGBA and GLX_DOUBLEBUFFER queries
+ * will always return True and the GLX_DEPTH_SIZE query will always
+ * return non-zero.
+ * 2. The glXIsDirect() function always returns True.
+ */
+
+
+
+#include <X11/Xlib.h>
+#include <X11/Xutil.h>
+#include "GL/gl.h"
+#ifdef MESA
+#include "GL/xmesa.h"
+#endif
+
+
+#if defined(USE_MGL_NAMESPACE)
+#include "glx_mangle.h"
+#endif
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+#define GLX_VERSION_1_1 1
+
+
+/*
+ * Tokens for glXChooseVisual and glXGetConfig:
+ */
+enum _GLX_CONFIGS {
+ GLX_USE_GL = 1,
+ GLX_BUFFER_SIZE = 2,
+ GLX_LEVEL = 3,
+ GLX_RGBA = 4,
+ GLX_DOUBLEBUFFER = 5,
+ GLX_STEREO = 6,
+ GLX_AUX_BUFFERS = 7,
+ GLX_RED_SIZE = 8,
+ GLX_GREEN_SIZE = 9,
+ GLX_BLUE_SIZE = 10,
+ GLX_ALPHA_SIZE = 11,
+ GLX_DEPTH_SIZE = 12,
+ GLX_STENCIL_SIZE = 13,
+ GLX_ACCUM_RED_SIZE = 14,
+ GLX_ACCUM_GREEN_SIZE = 15,
+ GLX_ACCUM_BLUE_SIZE = 16,
+ GLX_ACCUM_ALPHA_SIZE = 17,
+
+ /* GLX_EXT_visual_info extension */
+ GLX_X_VISUAL_TYPE_EXT = 0x22,
+ GLX_TRANSPARENT_TYPE_EXT = 0x23,
+ GLX_TRANSPARENT_INDEX_VALUE_EXT = 0x24,
+ GLX_TRANSPARENT_RED_VALUE_EXT = 0x25,
+ GLX_TRANSPARENT_GREEN_VALUE_EXT = 0x26,
+ GLX_TRANSPARENT_BLUE_VALUE_EXT = 0x27,
+ GLX_TRANSPARENT_ALPHA_VALUE_EXT = 0x28
+};
+
+
+/*
+ * Error codes returned by glXGetConfig:
+ */
+#define GLX_BAD_SCREEN 1
+#define GLX_BAD_ATTRIBUTE 2
+#define GLX_NO_EXTENSION 3
+#define GLX_BAD_VISUAL 4
+#define GLX_BAD_CONTEXT 5
+#define GLX_BAD_VALUE 6
+#define GLX_BAD_ENUM 7
+
+
+/*
+ * GLX 1.1 and later:
+ */
+#define GLX_VENDOR 1
+#define GLX_VERSION 2
+#define GLX_EXTENSIONS 3
+
+
+/*
+ * GLX_visual_info extension
+ */
+#define GLX_TRUE_COLOR_EXT 0x8002
+#define GLX_DIRECT_COLOR_EXT 0x8003
+#define GLX_PSEUDO_COLOR_EXT 0x8004
+#define GLX_STATIC_COLOR_EXT 0x8005
+#define GLX_GRAY_SCALE_EXT 0x8006
+#define GLX_STATIC_GRAY_EXT 0x8007
+#define GLX_NONE_EXT 0x8000
+#define GLX_TRANSPARENT_RGB_EXT 0x8008
+#define GLX_TRANSPARENT_INDEX_EXT 0x8009
+
+
+/*
+ * Compile-time extension tests
+ */
+#ifdef MESA
+#define GLX_EXT_visual_info 1
+#define GLX_MESA_pixmap_colormap 1
+#define GLX_MESA_release_buffers 1
+#define GLX_MESA_copy_sub_buffer 1
+#define GLX_SGI_video_sync 1
+#endif
+
+
+
+#ifdef MESA
+ typedef XMesaContext GLXContext;
+ typedef Pixmap GLXPixmap;
+ typedef Drawable GLXDrawable;
+#else
+ typedef void * GLXContext;
+ typedef XID GLXPixmap;
+ typedef XID GLXDrawable;
+#endif
+typedef XID GLXContextID;
+
+
+
+extern XVisualInfo* glXChooseVisual( Display *dpy, int screen,
+ int *attribList );
+
+extern GLXContext glXCreateContext( Display *dpy, XVisualInfo *vis,
+ GLXContext shareList, Bool direct );
+
+extern void glXDestroyContext( Display *dpy, GLXContext ctx );
+
+extern Bool glXMakeCurrent( Display *dpy, GLXDrawable drawable,
+ GLXContext ctx);
+
+extern void glXCopyContext( Display *dpy, GLXContext src, GLXContext dst,
+ GLuint mask );
+
+extern void glXSwapBuffers( Display *dpy, GLXDrawable drawable );
+
+extern GLXPixmap glXCreateGLXPixmap( Display *dpy, XVisualInfo *visual,
+ Pixmap pixmap );
+
+extern void glXDestroyGLXPixmap( Display *dpy, GLXPixmap pixmap );
+
+extern Bool glXQueryExtension( Display *dpy, int *errorb, int *event );
+
+extern Bool glXQueryVersion( Display *dpy, int *maj, int *min );
+
+extern Bool glXIsDirect( Display *dpy, GLXContext ctx );
+
+extern int glXGetConfig( Display *dpy, XVisualInfo *visual,
+ int attrib, int *value );
+
+extern GLXContext glXGetCurrentContext( void );
+
+extern GLXDrawable glXGetCurrentDrawable( void );
+
+extern void glXWaitGL( void );
+
+extern void glXWaitX( void );
+
+extern void glXUseXFont( Font font, int first, int count, int list );
+
+
+
+/* GLX 1.1 and later */
+extern const char *glXQueryExtensionsString( Display *dpy, int screen );
+
+extern const char *glXQueryServerString( Display *dpy, int screen, int name );
+
+extern const char *glXGetClientString( Display *dpy, int name );
+
+
+
+/*
+ * Mesa GLX Extensions
+ */
+
+#ifdef GLX_MESA_pixmap_colormap
+extern GLXPixmap glXCreateGLXPixmapMESA( Display *dpy, XVisualInfo *visual,
+ Pixmap pixmap, Colormap cmap );
+#endif
+
+#ifdef GLX_MESA_release_buffers
+extern Bool glXReleaseBuffersMESA( Display *dpy, GLXDrawable d );
+#endif
+
+#ifdef GLX_MESA_copy_sub_buffer
+extern void glXCopySubBufferMESA( Display *dpy, GLXDrawable drawable,
+ int x, int y, int width, int height );
+#endif
+
+#ifdef GLX_SGI_video_sync
+extern int glXGetVideoSyncSGI(unsigned int *count);
+extern int glXWaitVideoSyncSGI(int divisor, int remainder,
+ unsigned int *count);
+#endif
+
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/include/GL/glx_mangle.h b/include/GL/glx_mangle.h
new file mode 100644
index 00000000000..e246801f78c
--- /dev/null
+++ b/include/GL/glx_mangle.h
@@ -0,0 +1,72 @@
+/* $Id: glx_mangle.h,v 1.1 1999/08/19 00:55:40 jtg Exp $ */
+
+/*
+ * Mesa 3-D graphics library
+ * Version: 3.0
+ * Copyright (C) 1995-1998 Brian Paul
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+
+/*
+ * $Log: glx_mangle.h,v $
+ * Revision 1.1 1999/08/19 00:55:40 jtg
+ * Initial revision
+ *
+ * Revision 3.3 1999/06/21 22:01:00 brianp
+ * added #ifndef GLX_MANGLE_H stuff, video sync extension functions
+ *
+ * Revision 3.2 1998/03/26 02:44:53 brianp
+ * removed ^M characters
+ *
+ * Revision 3.1 1998/03/17 02:41:19 brianp
+ * updated by Randy Frank
+ *
+ * Revision 3.0 1998/02/20 05:04:45 brianp
+ * initial rev
+ *
+ */
+
+#ifndef GLX_MANGLE_H
+#define GLX_MANGLE_H
+
+#define glXChooseVisual mglXChooseVisual
+#define glXCreateContext mglXCreateContext
+#define glXDestroyContext mglXDestroyContext
+#define glXMakeCurrent mglXMakeCurrent
+#define glXCopyContext mglXCopyContext
+#define glXSwapBuffers mglXSwapBuffers
+#define glXCreateGLXPixmap mglXCreateGLXPixmap
+#define glXDestroyGLXPixmap mglXDestroyGLXPixmap
+#define glXQueryExtension mglXQueryExtension
+#define glXQueryVersion mglXQueryVersion
+#define glXIsDirect mglXIsDirect
+#define glXGetConfig mglXGetConfig
+#define glXGetCurrentContext mglXGetCurrentContext
+#define glXGetCurrentDrawable mglXGetCurrentDrawable
+#define glXWaitGL mglXWaitGL
+#define glXWaitX mglXWaitX
+#define glXUseXFont mglXUseXFont
+#define glXQueryExtensionsString mglXQueryExtensionsString
+#define glXQueryServerString mglXQueryServerString
+#define glXGetClientString mglXGetClientString
+#define glXCreateGLXPixmapMESA mglXCreateGLXPixmapMESA
+#define glXReleaseBuffersMESA mglXReleaseBuffersMESA
+#define glXCopySubBufferMESA mglXCopySubBufferMESA
+#define glXGetVideoSyncSGI mglXGetVideoSyncSGI
+#define glXWaitVideoSyncSGI mglXWaitVideoSyncSGI
+
+#endif
diff --git a/include/GL/mglmesa.h b/include/GL/mglmesa.h
new file mode 100644
index 00000000000..76deb339710
--- /dev/null
+++ b/include/GL/mglmesa.h
@@ -0,0 +1,80 @@
+/****************************************************************************
+*
+* Mesa bindings for SciTech MGL
+*
+* Copyright (C) 1996 SciTech Software.
+* All rights reserved.
+*
+* Filename: $Workfile: mglmesa.h $
+* Version: $Revision: 1.1 $
+*
+* Language: ANSI C
+* Environment: Any
+*
+* Description: Header file for the Mesa/OpenGL interface bindings for the
+* SciTech MGL graphics library. Uses the MGL internal
+* device context structures to get direct access to the
+* high performance MGL rasterization functions for maximum
+* performance. Utilizes the VESA VBE/AF Accelerator Functions
+* via the MGL's accelerated device driver functions, as well
+* as basic DirectDraw accelerated functions provided by the
+* MGL.
+*
+* This library is free software; you can redistribute it and/or
+* modify it under the terms of the GNU Library General Public
+* License as published by the Free Software Foundation; either
+* version 2 of the License, or (at your option) any later version.
+*
+* This library is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Library General Public License for more details.
+*
+* You should have received a copy of the GNU Library General Public
+* License along with this library; if not, write to the Free
+* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*
+* $Date: 1999/08/19 00:55:40 $ $Author: jtg $
+*
+****************************************************************************/
+
+#ifndef __MGLMESA_H
+#define __MGLMESA_H
+
+#include "mgraph.h"
+
+/*------------------------- Function Prototypes ---------------------------*/
+
+#ifdef __cplusplus
+extern "C" { /* Use "C" linkage when in C++ mode */
+#endif
+
+#ifndef __WINDOWS__
+#define GLAPIENTRY
+#endif
+
+#ifdef __WINDOWS__
+bool GLAPIENTRY MGLMesaInitDLL(MGLCallbacks *cb,char *version);
+#endif
+void GLAPIENTRY MGLMesaChooseVisual(MGLDC *dc,MGLVisual *visual);
+bool GLAPIENTRY MGLMesaSetVisual(MGLDC *dc,MGLVisual *visual);
+bool GLAPIENTRY MGLMesaCreateContext(MGLDC *dc,bool forceMemDC);
+void GLAPIENTRY MGLMesaDestroyContext(MGLDC *dc);
+void GLAPIENTRY MGLMesaMakeCurrent(MGLDC *dc);
+void GLAPIENTRY MGLMesaSwapBuffers(MGLDC *dc,bool waitVRT);
+
+/* Palette manipulation support. The reason we provide palette manipulation
+ * routines is so that when rendering in double buffered modes with a
+ * software backbuffer, the palette for the backbuffer is kept consistent
+ * with the hardware front buffer.
+ */
+
+void GLAPIENTRY MGLMesaSetPaletteEntry(MGLDC *dc,int entry,uchar red,uchar green,uchar blue);
+void GLAPIENTRY MGLMesaSetPalette(MGLDC *dc,palette_t *pal,int numColors,int startIndex);
+void GLAPIENTRY MGLMesaRealizePalette(MGLDC *dc,int numColors,int startIndex,int waitVRT);
+
+#ifdef __cplusplus
+} /* End of "C" linkage for C++ */
+#endif /* __cplusplus */
+
+#endif /* __MGLMESA_H */
diff --git a/include/GL/osmesa.h b/include/GL/osmesa.h
new file mode 100644
index 00000000000..11423a8e3d0
--- /dev/null
+++ b/include/GL/osmesa.h
@@ -0,0 +1,256 @@
+/* $Id: osmesa.h,v 1.1 1999/08/19 00:55:40 jtg Exp $ */
+
+/*
+ * Mesa 3-D graphics library
+ * Version: 3.1
+ *
+ * Copyright (C) 1999 Brian Paul All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+
+/*
+ * $Log: osmesa.h,v $
+ * Revision 1.1 1999/08/19 00:55:40 jtg
+ * Initial revision
+ *
+ * Revision 1.4 1999/02/14 03:39:09 brianp
+ * new copyright
+ *
+ * Revision 1.3 1999/01/03 02:52:30 brianp
+ * now using GLAPI and GLAPIENTRY keywords (Ted Jump)
+ *
+ * Revision 1.2 1998/07/26 01:33:51 brianp
+ * added WINGDIAPI and APIENTRY keywords per Ted Jump
+ *
+ * Revision 1.1 1998/02/13 03:17:50 brianp
+ * Initial revision
+ *
+ */
+
+
+/*
+ * Mesa Off-Screen rendering interface.
+ *
+ * This is an operating system and window system independent interface to
+ * Mesa which allows one to render images into a client-supplied buffer in
+ * main memory. Such images may manipulated or saved in whatever way the
+ * client wants.
+ *
+ * These are the API functions:
+ * OSMesaCreateContext - create a new Off-Screen Mesa rendering context
+ * OSMesaMakeCurrent - bind an OSMesaContext to a client's image buffer
+ * and make the specified context the current one.
+ * OSMesaDestroyContext - destroy an OSMesaContext
+ * OSMesaGetCurrentContext - return thread's current context ID
+ * OSMesaPixelStore - controls how pixels are stored in image buffer
+ * OSMesaGetIntegerv - return OSMesa state parameters
+ *
+ *
+ * The limits on the width and height of an image buffer are MAX_WIDTH and
+ * MAX_HEIGHT as defined in Mesa/src/config.h. Defaults are 1280 and 1024.
+ * You can increase them as needed but beware that many temporary arrays in
+ * Mesa are dimensioned by MAX_WIDTH or MAX_HEIGHT.
+ */
+
+
+
+#ifndef OSMESA_H
+#define OSMESA_H
+
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+#include "GL/gl.h"
+
+
+
+#define OSMESA_MAJOR_VERSION 3
+#define OSMESA_MINOR_VERSION 0
+
+
+
+/*
+ * Values for the format parameter of OSMesaCreateContext()
+ * New in version 2.0.
+ */
+#define OSMESA_COLOR_INDEX GL_COLOR_INDEX
+#define OSMESA_RGBA GL_RGBA
+#define OSMESA_BGRA 0x1
+#define OSMESA_ARGB 0x2
+#define OSMESA_RGB GL_RGB
+#define OSMESA_BGR 0x4
+
+
+/*
+ * OSMesaPixelStore() parameters:
+ * New in version 2.0.
+ */
+#define OSMESA_ROW_LENGTH 0x10
+#define OSMESA_Y_UP 0x11
+
+
+/*
+ * Accepted by OSMesaGetIntegerv:
+ */
+#define OSMESA_WIDTH 0x20
+#define OSMESA_HEIGHT 0x21
+#define OSMESA_FORMAT 0x22
+#define OSMESA_TYPE 0x23
+
+
+
+typedef struct osmesa_context *OSMesaContext;
+
+
+#if defined(__BEOS__) || defined(__QUICKDRAW__)
+#pragma export on
+#endif
+
+
+/*
+ * Create an Off-Screen Mesa rendering context. The only attribute needed is
+ * an RGBA vs Color-Index mode flag.
+ *
+ * Input: format - one of OSMESA_COLOR_INDEX, OSMESA_RGBA, OSMESA_BGRA,
+ * OSMESA_ARGB, OSMESA_RGB, or OSMESA_BGR.
+ * sharelist - specifies another OSMesaContext with which to share
+ * display lists. NULL indicates no sharing.
+ * Return: an OSMesaContext or 0 if error
+ */
+GLAPI OSMesaContext GLAPIENTRY OSMesaCreateContext( GLenum format,
+ OSMesaContext sharelist );
+
+
+
+
+/*
+ * Destroy an Off-Screen Mesa rendering context.
+ *
+ * Input: ctx - the context to destroy
+ */
+GLAPI void GLAPIENTRY OSMesaDestroyContext( OSMesaContext ctx );
+
+
+
+/*
+ * Bind an OSMesaContext to an image buffer. The image buffer is just a
+ * block of memory which the client provides. Its size must be at least
+ * as large as width*height*sizeof(type). Its address should be a multiple
+ * of 4 if using RGBA mode.
+ *
+ * Image data is stored in the order of glDrawPixels: row-major order
+ * with the lower-left image pixel stored in the first array position
+ * (ie. bottom-to-top).
+ *
+ * Since the only type initially supported is GL_UNSIGNED_BYTE, if the
+ * context is in RGBA mode, each pixel will be stored as a 4-byte RGBA
+ * value. If the context is in color indexed mode, each pixel will be
+ * stored as a 1-byte value.
+ *
+ * If the context's viewport hasn't been initialized yet, it will now be
+ * initialized to (0,0,width,height).
+ *
+ * Input: ctx - the rendering context
+ * buffer - the image buffer memory
+ * type - data type for pixel components, only GL_UNSIGNED_BYTE
+ * supported now
+ * width, height - size of image buffer in pixels, at least 1
+ * Return: GL_TRUE if success, GL_FALSE if error because of invalid ctx,
+ * invalid buffer address, type!=GL_UNSIGNED_BYTE, width<1, height<1,
+ * width>internal limit or height>internal limit.
+ */
+GLAPI GLboolean GLAPIENTRY OSMesaMakeCurrent( OSMesaContext ctx,
+ void *buffer, GLenum type,
+ GLsizei width, GLsizei height );
+
+
+
+
+/*
+ * Return the current Off-Screen Mesa rendering context handle.
+ */
+GLAPI OSMesaContext GLAPIENTRY OSMesaGetCurrentContext( void );
+
+
+
+/*
+ * Set pixel store/packing parameters for the current context.
+ * This is similar to glPixelStore.
+ * Input: pname - OSMESA_ROW_LENGTH
+ * specify actual pixels per row in image buffer
+ * 0 = same as image width (default)
+ * OSMESA_Y_UP
+ * zero = Y coordinates increase downward
+ * non-zero = Y coordinates increase upward (default)
+ * value - the value for the parameter pname
+ *
+ * New in version 2.0.
+ */
+GLAPI void GLAPIENTRY OSMesaPixelStore( GLint pname, GLint value );
+
+
+
+/*
+ * Return context info. This is like glGetIntegerv.
+ * Input: pname -
+ * OSMESA_WIDTH return current image width
+ * OSMESA_HEIGHT return current image height
+ * OSMESA_FORMAT return image format
+ * OSMESA_TYPE return color component data type
+ * OSMESA_ROW_LENGTH return row length in pixels
+ * OSMESA_Y_UP returns 1 or 0 to indicate Y axis direction
+ * value - pointer to integer in which to return result.
+ */
+GLAPI void GLAPIENTRY OSMesaGetIntegerv( GLint pname, GLint *value );
+
+
+
+/*
+ * Return the depth buffer associated with an OSMesa context.
+ * Input: c - the OSMesa context
+ * Output: width, height - size of buffer in pixels
+ * bytesPerValue - bytes per depth value (2 or 4)
+ * buffer - pointer to depth buffer values
+ * Return: GL_TRUE or GL_FALSE to indicate success or failure.
+ *
+ * New in Mesa 2.4.
+ */
+GLAPI GLboolean GLAPIENTRY OSMesaGetDepthBuffer( OSMesaContext c,
+ GLint *width, GLint *height,
+ GLint *bytesPerValue, void **buffer );
+
+
+
+
+#if defined(__BEOS__) || defined(__QUICKDRAW__)
+#pragma export off
+#endif
+
+
+#ifdef __cplusplus
+}
+#endif
+
+
+#endif
diff --git a/include/GL/svgamesa.h b/include/GL/svgamesa.h
new file mode 100644
index 00000000000..9625a5b59ab
--- /dev/null
+++ b/include/GL/svgamesa.h
@@ -0,0 +1,106 @@
+/* $Id: svgamesa.h,v 1.1 1999/08/19 00:55:40 jtg Exp $ */
+
+/*
+ * Mesa 3-D graphics library
+ * Version: 3.0
+ * Copyright (C) 1995-1998 Brian Paul
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+
+/*
+ * $Log: svgamesa.h,v $
+ * Revision 1.1 1999/08/19 00:55:40 jtg
+ * Initial revision
+ *
+ * Revision 3.0 1998/02/20 05:07:24 brianp
+ * initial rev
+ *
+ */
+
+
+
+/*
+ * SVGA/Mesa interface for Linux.
+ */
+
+
+/*
+ * Intro to using the VGA/Mesa interface
+ *
+ * 1. #include the <vga.h> file
+ * 2. Call vga_init() to initialize the SVGA library.
+ * 3. Call vga_setmode() to specify the screen size and color depth.
+ * 4. Call SVGAMesaCreateContext() to setup a Mesa context. If using 8-bit
+ * color Mesa assumes color index mode, if using 16-bit or deeper color
+ * Mesa assumes RGB mode.
+ * 5. Call SVGAMesaMakeCurrent() to activate the Mesa context.
+ * 6. You can now use the Mesa API functions.
+ * 7. Before exiting, call SVGAMesaDestroyContext() then vga_setmode(TEXT)
+ * to restore the original text screen.
+ *
+ * Notes
+ * 1. You must run your executable as root (or use the set UID-bit) because
+ * the SVGA library requires it.
+ * 2. The SVGA driver is not fully implemented yet. See svgamesa.c for what
+ * has to be done yet.
+ */
+
+
+#ifndef SVGAMESA_H
+#define SVGAMESA_H
+
+
+#define SVGAMESA_MAJOR_VERSION 3
+#define SVGAMESA_MINOR_VERSION 0
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+#include "GL/gl.h"
+
+
+
+/*
+ * This is the SVGAMesa context 'handle':
+ */
+typedef struct svgamesa_context *SVGAMesaContext;
+
+
+
+/*
+ * doubleBuffer flag new in version 2.4
+ */
+extern SVGAMesaContext SVGAMesaCreateContext( GLboolean doubleBuffer );
+
+extern void SVGAMesaDestroyContext( SVGAMesaContext ctx );
+
+extern void SVGAMesaMakeCurrent( SVGAMesaContext ctx );
+
+extern SVGAMesaContext SVGAMesaGetCurrentContext( void );
+
+extern void SVGAMesaSwapBuffers( void );
+
+
+#ifdef __cplusplus
+}
+#endif
+
+
+#endif
diff --git a/include/GL/wmesa.h b/include/GL/wmesa.h
new file mode 100644
index 00000000000..94b61974c37
--- /dev/null
+++ b/include/GL/wmesa.h
@@ -0,0 +1,155 @@
+/* $Id: wmesa.h,v 1.1 1999/08/19 00:55:40 jtg Exp $ */
+
+/*
+ * Mesa 3-D graphics library
+ * Version: 3.0
+ * Copyright (C) 1995-1998 Brian Paul
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+
+/*
+ * $Log: wmesa.h,v $
+ * Revision 1.1 1999/08/19 00:55:40 jtg
+ * Initial revision
+ *
+ * Revision 3.2 1999/01/03 02:54:45 brianp
+ * updated per Ted Jump
+ *
+ * Revision 3.1 1998/12/01 02:34:27 brianp
+ * applied Mark Kilgard's patches from November 30, 1998
+ *
+ * Revision 3.0 1998/02/20 05:06:59 brianp
+ * initial rev
+ *
+ */
+
+
+/*
+ * Windows driver by: Mark E. Peterson (markp@ic.mankato.mn.us)
+ * Updated by Li Wei (liwei@aiar.xjtu.edu.cn)
+ *
+ *
+ ***************************************************************
+ * WMesa *
+ * version 2.3 *
+ * *
+ * By *
+ * Li Wei *
+ * Institute of Artificial Intelligence & Robotics *
+ * Xi'an Jiaotong University *
+ * Email: liwei@aiar.xjtu.edu.cn *
+ * Web page: http://sun.aiar.xjtu.edu.cn *
+ * *
+ * July 7th, 1997 *
+ ***************************************************************
+ */
+
+
+#ifndef WMESA_H
+#define WMESA_H
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+#include "gl\gl.h"
+
+#pragma warning (disable:4273)
+#pragma warning( disable : 4244 ) /* '=' : conversion from 'const double ' to 'float ', possible loss of data */
+#pragma warning( disable : 4018 ) /* '<' : signed/unsigned mismatch */
+#pragma warning( disable : 4305 ) /* '=' : truncation from 'const double ' to 'float ' */
+#pragma warning( disable : 4013 ) /* 'function' undefined; assuming extern returning int */
+#pragma warning( disable : 4761 ) /* integral size mismatch in argument; conversion supplied */
+#pragma warning( disable : 4273 ) /* 'identifier' : inconsistent DLL linkage. dllexport assumed */
+#if (MESA_WARNQUIET>1)
+# pragma warning( disable : 4146 ) /* unary minus operator applied to unsigned type, result still unsigned */
+#endif
+
+/*
+ * This is the WMesa context 'handle':
+ */
+typedef struct wmesa_context *WMesaContext;
+
+
+
+/*
+ * Create a new WMesaContext for rendering into a window. You must
+ * have already created the window of correct visual type and with an
+ * appropriate colormap.
+ *
+ * Input:
+ * hWnd - Window handle
+ * Pal - Palette to use
+ * rgb_flag - GL_TRUE = RGB mode,
+ * GL_FALSE = color index mode
+ * db_flag - GL_TRUE = double-buffered,
+ * GL_FALSE = single buffered
+ *
+ * Note: Indexed mode requires double buffering under Windows.
+ *
+ * Return: a WMesa_context or NULL if error.
+ */
+extern WMesaContext WMesaCreateContext(HWND hWnd,HPALETTE* pPal,
+ GLboolean rgb_flag,GLboolean db_flag);
+
+
+/*
+ * Destroy a rendering context as returned by WMesaCreateContext()
+ */
+/*extern void WMesaDestroyContext( WMesaContext ctx );*/
+extern void WMesaDestroyContext( void );
+
+
+
+/*
+ * Make the specified context the current one.
+ */
+extern void WMesaMakeCurrent( WMesaContext ctx );
+
+
+/*
+ * Return a handle to the current context.
+ */
+extern WMesaContext WMesaGetCurrentContext( void );
+
+
+/*
+ * Swap the front and back buffers for the current context. No action
+ * taken if the context is not double buffered.
+ */
+extern void WMesaSwapBuffers(void);
+
+
+/*
+ * In indexed color mode we need to know when the palette changes.
+ */
+extern void WMesaPaletteChange(HPALETTE Pal);
+
+extern void WMesaMove(void);
+
+
+
+#ifdef __cplusplus
+}
+#endif
+
+
+#endif
+
diff --git a/include/GL/xmesa.h b/include/GL/xmesa.h
new file mode 100644
index 00000000000..b25a2ace7e8
--- /dev/null
+++ b/include/GL/xmesa.h
@@ -0,0 +1,357 @@
+/* $Id: xmesa.h,v 1.1 1999/08/19 00:55:40 jtg Exp $ */
+
+/*
+ * Mesa 3-D graphics library
+ * Version: 3.1
+ *
+ * Copyright (C) 1999 Brian Paul All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+
+/*
+ * $Log: xmesa.h,v $
+ * Revision 1.1 1999/08/19 00:55:40 jtg
+ * Initial revision
+ *
+ * Revision 1.3 1999/02/24 22:43:27 jens
+ * Name changes to get XMesa to compile standalone inside XFree86
+ *
+ * Revision 1.2 1999/02/14 03:39:09 brianp
+ * new copyright
+ *
+ * Revision 1.1 1998/02/13 03:17:32 brianp
+ * Initial revision
+ *
+ */
+
+
+/*
+ * Mesa/X11 interface. This header file serves as the documentation for
+ * the Mesa/X11 interface functions.
+ *
+ * Note: this interface isn't intended for user programs. It's primarily
+ * just for implementing the pseudo-GLX interface.
+ */
+
+
+/* Sample Usage:
+
+In addition to the usual X calls to select a visual, create a colormap
+and create a window, you must do the following to use the X/Mesa interface:
+
+1. Call XMesaCreateVisual() to make an XMesaVisual from an XVisualInfo.
+
+2. Call XMesaCreateContext() to create an X/Mesa rendering context, given
+ the XMesaVisual.
+
+3. Call XMesaCreateWindowBuffer() to create an XMesaBuffer from an X window
+ and XMesaVisual.
+
+4. Call XMesaMakeCurrent() to bind the XMesaBuffer to an XMesaContext and
+ to make the context the current one.
+
+5. Make gl* calls to render your graphics.
+
+6. Use XMesaSwapBuffers() when double buffering to swap front/back buffers.
+
+7. Before the X window is destroyed, call XMesaDestroyBuffer().
+
+8. Before exiting, call XMesaDestroyVisual and XMesaDestroyContext.
+
+See the demos/xdemo.c and xmesa1.c files for examples.
+*/
+
+
+
+
+#ifndef XMESA_H
+#define XMESA_H
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+#ifdef XFree86Server
+#include "xmesa_xf86.h"
+#else
+#include <X11/Xlib.h>
+#include <X11/Xutil.h>
+#include "xmesa_x.h"
+#endif
+#include "GL/gl.h"
+
+#ifdef AMIWIN
+#include <pragmas/xlib_pragmas.h>
+extern struct Library *XLibBase;
+#endif
+
+
+#define XMESA_MAJOR_VERSION 3
+#define XMESA_MINOR_VERSION 0
+
+
+
+/*
+ * Values passed to XMesaGetString:
+ */
+#define XMESA_VERSION 1
+#define XMESA_EXTENSIONS 2
+
+
+/*
+ * Values passed to XMesaSetFXmode:
+ */
+#define XMESA_FX_WINDOW 1
+#define XMESA_FX_FULLSCREEN 2
+
+
+
+typedef struct xmesa_context *XMesaContext;
+
+typedef struct xmesa_visual *XMesaVisual;
+
+typedef struct xmesa_buffer *XMesaBuffer;
+
+
+
+
+/*
+ * Create a new X/Mesa visual.
+ * Input: display - X11 display
+ * visinfo - an XVisualInfo pointer
+ * rgb_flag - GL_TRUE = RGB mode,
+ * GL_FALSE = color index mode
+ * alpha_flag - alpha buffer requested?
+ * db_flag - GL_TRUE = double-buffered,
+ * GL_FALSE = single buffered
+ * stereo_flag - stereo visual?
+ * depth_size - requested bits/depth values, or zero
+ * stencil_size - requested bits/stencil values, or zero
+ * accum_size - requested bits/component values, or zero
+ * ximage_flag - GL_TRUE = use an XImage for back buffer,
+ * GL_FALSE = use an off-screen pixmap for back buffer
+ * Return; a new XMesaVisual or 0 if error.
+ */
+extern XMesaVisual XMesaCreateVisual( XMesaDisplay *display,
+ XMesaVisualInfo visinfo,
+ GLboolean rgb_flag,
+ GLboolean alpha_flag,
+ GLboolean db_flag,
+ GLboolean stereo_flag,
+ GLboolean ximage_flag,
+ GLint depth_size,
+ GLint stencil_size,
+ GLint accum_size,
+ GLint level );
+
+/*
+ * Destroy an XMesaVisual, but not the associated XVisualInfo.
+ */
+extern void XMesaDestroyVisual( XMesaVisual v );
+
+
+
+/*
+ * Create a new XMesaContext for rendering into an X11 window.
+ *
+ * Input: visual - an XMesaVisual
+ * share_list - another XMesaContext with which to share display
+ * lists or NULL if no sharing is wanted.
+ * Return: an XMesaContext or NULL if error.
+ */
+extern XMesaContext XMesaCreateContext( XMesaVisual v,
+ XMesaContext share_list );
+
+
+/*
+ * Destroy a rendering context as returned by XMesaCreateContext()
+ */
+extern void XMesaDestroyContext( XMesaContext c );
+
+
+/*
+ * Create an XMesaBuffer from an X window.
+ */
+extern XMesaBuffer XMesaCreateWindowBuffer( XMesaVisual v,
+ XMesaWindow w );
+
+
+/*
+ * Create an XMesaBuffer from an X pixmap.
+ */
+extern XMesaBuffer XMesaCreatePixmapBuffer( XMesaVisual v,
+ XMesaPixmap p,
+ XMesaColormap cmap );
+
+
+/*
+ * Destroy an XMesaBuffer, but not the corresponding window or pixmap.
+ */
+extern void XMesaDestroyBuffer( XMesaBuffer b );
+
+
+/*
+ * Return the XMesaBuffer handle which corresponds to an X drawable, if any.
+ *
+ * New in Mesa 2.3.
+ */
+extern XMesaBuffer XMesaFindBuffer( XMesaDisplay *dpy,
+ XMesaDrawable d );
+
+
+
+/*
+ * Bind a buffer to a context and make the context the current one.
+ */
+extern GLboolean XMesaMakeCurrent( XMesaContext c,
+ XMesaBuffer b );
+
+
+/*
+ * Return a handle to the current context.
+ */
+extern XMesaContext XMesaGetCurrentContext( void );
+
+
+/*
+ * Return handle to the current buffer.
+ */
+extern XMesaBuffer XMesaGetCurrentBuffer( void );
+
+
+/*
+ * Swap the front and back buffers for the given buffer. No action is
+ * taken if the buffer is not double buffered.
+ */
+extern void XMesaSwapBuffers( XMesaBuffer b );
+
+
+/*
+ * Copy a sub-region of the back buffer to the front buffer.
+ *
+ * New in Mesa 2.6
+ */
+extern void XMesaCopySubBuffer( XMesaBuffer b,
+ int x,
+ int y,
+ int width,
+ int height );
+
+
+/*
+ * Return a pointer to the the Pixmap or XImage being used as the back
+ * color buffer of an XMesaBuffer. This function is a way to get "under
+ * the hood" of X/Mesa so one can manipulate the back buffer directly.
+ * Input: b - the XMesaBuffer
+ * Output: pixmap - pointer to back buffer's Pixmap, or 0
+ * ximage - pointer to back buffer's XImage, or NULL
+ * Return: GL_TRUE = context is double buffered
+ * GL_FALSE = context is single buffered
+ */
+extern GLboolean XMesaGetBackBuffer( XMesaBuffer b,
+ XMesaPixmap *pixmap,
+ XMesaImage **ximage );
+
+
+
+/*
+ * Return the depth buffer associated with an XMesaBuffer.
+ * Input: b - the XMesa buffer handle
+ * Output: width, height - size of buffer in pixels
+ * bytesPerValue - bytes per depth value (2 or 4)
+ * buffer - pointer to depth buffer values
+ * Return: GL_TRUE or GL_FALSE to indicate success or failure.
+ *
+ * New in Mesa 2.4.
+ */
+extern GLboolean XMesaGetDepthBuffer( XMesaBuffer b,
+ GLint *width,
+ GLint *height,
+ GLint *bytesPerValue,
+ void **buffer );
+
+
+
+/*
+ * Flush/sync a context
+ */
+extern void XMesaFlush( XMesaContext c );
+
+
+
+/*
+ * Get an X/Mesa-specific string.
+ * Input: name - either XMESA_VERSION or XMESA_EXTENSIONS
+ */
+extern const char *XMesaGetString( XMesaContext c, int name );
+
+
+
+/*
+ * Scan for XMesaBuffers whose window/pixmap has been destroyed, then free
+ * any memory used by that buffer.
+ *
+ * New in Mesa 2.3.
+ */
+extern void XMesaGarbageCollect( void );
+
+
+
+/*
+ * Return a dithered pixel value.
+ * Input: c - XMesaContext
+ * x, y - window coordinate
+ * red, green, blue, alpha - color components in [0,1]
+ * Return: pixel value
+ *
+ * New in Mesa 2.3.
+ */
+extern unsigned long XMesaDitherColor( XMesaContext xmesa,
+ GLint x,
+ GLint y,
+ GLfloat red,
+ GLfloat green,
+ GLfloat blue,
+ GLfloat alpha );
+
+
+
+/*
+ * 3Dfx Glide driver only!
+ * Set 3Dfx/Glide full-screen or window rendering mode.
+ * Input: mode - either XMESA_FX_WINDOW (window rendering mode) or
+ * XMESA_FX_FULLSCREEN (full-screen rendering mode)
+ * Return: GL_TRUE if success
+ * GL_FALSE if invalid mode or if not using 3Dfx driver
+ *
+ * New in Mesa 2.6.
+ */
+extern GLboolean XMesaSetFXmode( GLint mode );
+
+
+
+#ifdef __cplusplus
+}
+#endif
+
+
+#endif
diff --git a/include/GL/xmesa_x.h b/include/GL/xmesa_x.h
new file mode 100644
index 00000000000..c9bb17a53f7
--- /dev/null
+++ b/include/GL/xmesa_x.h
@@ -0,0 +1,92 @@
+
+/**************************************************************************
+
+Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sub license, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice (including the
+next paragraph) shall be included in all copies or substantial portions
+of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
+IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
+ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+**************************************************************************/
+
+/*
+ * Authors:
+ * Kevin E. Martin <kevin@precisioninsight.com>
+ *
+ * $Header: /home/krh/git/sync/mesa-cvs-repo/Mesa/include/GL/xmesa_x.h,v 1.1 1999/08/19 00:55:40 jtg Exp $
+ */
+
+#ifndef _XMESA_X_H_
+#define _XMESA_X_H_
+
+typedef Display XMesaDisplay;
+typedef Pixmap XMesaPixmap;
+typedef Colormap XMesaColormap;
+typedef Drawable XMesaDrawable;
+typedef Window XMesaWindow;
+typedef GC XMesaGC;
+typedef XVisualInfo *XMesaVisualInfo;
+typedef XImage XMesaImage;
+typedef XPoint XMesaPoint;
+typedef XColor XMesaColor;
+
+#define XMesaDestroyImage XDestroyImage
+
+#define XMesaPutPixel XPutPixel
+#define XMesaGetPixel XGetPixel
+
+#define XMesaSetForeground XSetForeground
+#define XMesaSetBackground XSetBackground
+#define XMesaSetPlaneMask XSetPlaneMask
+#define XMesaSetFunction XSetFunction
+#define XMesaSetDashes XSetDashes
+#define XMesaSetLineAttributes XSetLineAttributes
+#define XMesaSetFillStyle XSetFillStyle
+#define XMesaSetTile XSetTile
+#define XMesaSetStipple XSetStipple
+
+#define XMesaDrawPoint XDrawPoint
+#define XMesaDrawPoints XDrawPoints
+#define XMesaDrawLine XDrawLine
+#define XMesaFillRectangle XFillRectangle
+#define XMesaPutImage XPutImage
+#define XMesaCopyArea XCopyArea
+#define XMesaFillPolygon XFillPolygon
+
+#define XMesaCreatePixmap XCreatePixmap
+#define XMesaFreePixmap XFreePixmap
+#define XMesaFreeGC XFreeGC
+
+#define GET_COLORMAP_SIZE(__v) __v->visinfo->colormap_size
+#define GET_REDMASK(__v) __v->visinfo->red_mask
+#define GET_GREENMASK(__v) __v->visinfo->green_mask
+#define GET_BLUEMASK(__v) __v->visinfo->blue_mask
+#define GET_BITS_PER_PIXEL(__v) bits_per_pixel(__v->display, __v->visinfo)
+#if defined(__cplusplus) || defined(c_plusplus)
+#define GET_VISUAL_CLASS(__v) __v->visinfo->c_class
+#else
+#define GET_VISUAL_CLASS(__v) __v->visinfo->class
+#endif
+#define GET_VISUAL_DEPTH(__v) __v->visinfo->depth
+#define GET_BLACK_PIXEL(__v) BlackPixel(__v->display, __v->visinfo->screen)
+#define CHECK_BYTE_ORDER(__v) host_byte_order()==ImageByteOrder(__v->display)
+#define CHECK_FOR_HPCR(__v) XInternAtom(__v->display, "_HP_RGB_SMOOTH_MAP_LIST", True)
+
+#endif
diff --git a/include/GL/xmesa_xf86.h b/include/GL/xmesa_xf86.h
new file mode 100644
index 00000000000..5c1af7a641f
--- /dev/null
+++ b/include/GL/xmesa_xf86.h
@@ -0,0 +1,189 @@
+
+/**************************************************************************
+
+Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sub license, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice (including the
+next paragraph) shall be included in all copies or substantial portions
+of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
+IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
+ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+**************************************************************************/
+
+/*
+ * Authors:
+ * Kevin E. Martin <kevin@precisioninsight.com>
+ *
+ * $Header: /home/krh/git/sync/mesa-cvs-repo/Mesa/include/GL/xmesa_xf86.h,v 1.1 1999/08/19 00:55:40 jtg Exp $
+ */
+
+#ifndef _XMESA_XF86_H_
+#define _XMESA_XF86_H_
+
+#include "scrnintstr.h"
+#include "pixmapstr.h"
+
+typedef struct _XMesaImageRec XMesaImage;
+
+typedef ScreenRec XMesaDisplay;
+typedef PixmapPtr XMesaPixmap;
+typedef ColormapPtr XMesaColormap;
+typedef DrawablePtr XMesaDrawable;
+typedef WindowPtr XMesaWindow;
+typedef GCPtr XMesaGC;
+typedef VisualPtr XMesaVisualInfo;
+typedef DDXPointRec XMesaPoint;
+typedef xColorItem XMesaColor;
+
+#define XMesaSetGeneric(__d,__gc,__val,__mask) \
+{ \
+ CARD32 __v[1]; \
+ (void) __d; \
+ __v[0] = __val; \
+ dixChangeGC(NullClient, __gc, __mask, __v, NULL); \
+}
+
+#define XMesaSetGenericPtr(__d,__gc,__pval,__mask) \
+{ \
+ ChangeGCVal __v[1]; \
+ (void) __d; \
+ __v[0].ptr = __pval; \
+ dixChangeGC(NullClient, __gc, __mask, NULL, __v); \
+}
+
+#define XMesaSetDashes(__d,__gc,__do,__dl,__n) \
+{ \
+ (void) __d; \
+ SetDashes(__gc, __do, __n, (unsigned char *)__dl); \
+}
+
+#define XMesaSetLineAttributes(__d,__gc,__lw,__ls,__cs,__js) \
+{ \
+ CARD32 __v[4]; \
+ (void) __d; \
+ __v[0] = __lw; \
+ __v[1] = __ls; \
+ __v[2] = __cs; \
+ __v[3] = __js; \
+ dixChangeGC(NullClient, __gc, \
+ GCLineWidth|GCLineStyle|GCCapStyle|GCJoinStyle, \
+ __v, NULL); \
+}
+
+#define XMesaSetForeground(d,gc,v) XMesaSetGeneric(d,gc,v,GCForeground)
+#define XMesaSetBackground(d,gc,v) XMesaSetGeneric(d,gc,v,GCBackground)
+#define XMesaSetPlaneMask(d,gc,v) XMesaSetGeneric(d,gc,v,GCPlaneMask)
+#define XMesaSetFunction(d,gc,v) XMesaSetGeneric(d,gc,v,GCFunction)
+#define XMesaSetFillStyle(d,gc,v) XMesaSetGeneric(d,gc,v,GCFillStyle)
+
+#define XMesaSetTile(d,gc,v) XMesaSetGenericPtr(d,gc,v,GCTile)
+#define XMesaSetStipple(d,gc,v) XMesaSetGenericPtr(d,gc,v,GCStipple)
+
+#define XMesaDrawPoint(__d,__b,__gc,__x,__y) \
+{ \
+ XMesaPoint __p[1]; \
+ (void) __d; \
+ __p[0].x = __x; \
+ __p[0].y = __y; \
+ ValidateGC(__b, __gc); \
+ (*gc->ops->PolyPoint)(__b, __gc, CoordModeOrigin, 1, __p); \
+}
+
+#define XMesaDrawPoints(__d,__b,__gc,__p,__n,__m) \
+{ \
+ (void) __d; \
+ ValidateGC(__b, __gc); \
+ (*gc->ops->PolyPoint)(__b, __gc, __m, __n, __p); \
+}
+
+#define XMesaDrawLine(__d,__b,__gc,__x0,__y0,__x1,__y1) \
+{ \
+ XMesaPoint __p[2]; \
+ (void) __d; \
+ ValidateGC(__b, __gc); \
+ __p[0].x = __x0; \
+ __p[0].y = __y0; \
+ __p[1].x = __x1; \
+ __p[1].y = __y1; \
+ (*__gc->ops->Polylines)(__b, __gc, CoordModeOrigin, 2, __p); \
+}
+
+#define XMesaFillRectangle(__d,__b,__gc,__x,__y,__w,__h) \
+{ \
+ xRectangle __r[1]; \
+ (void) __d; \
+ ValidateGC(__b, __gc); \
+ __r[0].x = __x; \
+ __r[0].y = __y; \
+ __r[0].width = __w; \
+ __r[0].height = __h; \
+ (*__gc->ops->PolyFillRect)(__b, __gc, 1, __r); \
+}
+
+#define XMesaPutImage(__d,__b,__gc,__i,__sx,__sy,__x,__y,__w,__h) \
+{ \
+ /* Assumes: Images are always in ZPixmap format */ \
+ (void) __d; \
+ if (__sx || __sy) /* The non-trivial case */ \
+ XMesaPutImageHelper(__d,__b,__gc,__i,__sx,__sy,__x,__y,__w,__h); \
+ ValidateGC(__b, __gc); \
+ (*__gc->ops->PutImage)(__b, __gc, ((XMesaDrawable)(__b))->depth, \
+ __x, __y, __w, __h, 0, ZPixmap, \
+ ((XMesaImage *)(__i))->data); \
+}
+
+#define XMesaCopyArea(__d,__sb,__db,__gc,__sx,__sy,__w,__h,__x,__y) \
+{ \
+ (void) __d; \
+ ValidateGC(__db, __gc); \
+ (*__gc->ops->CopyArea)((DrawablePtr)__sb, __db, __gc, \
+ __sx, __sy, __w, __h, __x, __y); \
+}
+
+#define XMesaFillPolygon(__d,__b,__gc,__p,__n,__s,__m) \
+{ \
+ (void) __d; \
+ ValidateGC(__b, __gc); \
+ (*__gc->ops->FillPolygon)(__b, __gc, __s, __m, __n, __p); \
+}
+
+/* CreatePixmap returns a PixmapPtr; so, it cannot be inside braces */
+#define XMesaCreatePixmap(__d,__b,__w,__h,__depth) \
+ (*__d->CreatePixmap)(__d, __w, __h, __depth)
+#define XMesaFreePixmap(__d,__b) \
+ (*__d->DestroyPixmap)(__b)
+
+#define XMesaFreeGC(__d,__gc) \
+{ \
+ (void) __d; \
+ FreeScratchGC(__gc); \
+}
+
+#define GET_COLORMAP_SIZE(__v) __v->visinfo->ColormapEntries
+#define GET_REDMASK(__v) __v->visinfo->redMask
+#define GET_GREENMASK(__v) __v->visinfo->greenMask
+#define GET_BLUEMASK(__v) __v->visinfo->blueMask
+#define GET_BITS_PER_PIXEL(__v) __v->visinfo->bitsPerRGBValue
+#define GET_VISUAL_CLASS(__v) __v->visinfo->class
+#define GET_VISUAL_DEPTH(__v) __v->visinfo->nplanes
+#define GET_BLACK_PIXEL(__v) __v->display->blackPixel
+#define CHECK_BYTE_ORDER(__v) GL_TRUE
+#define CHECK_FOR_HPCR(__v) GL_FALSE
+
+#endif
diff --git a/progs/beos/Makefile b/progs/beos/Makefile
new file mode 100644
index 00000000000..0d9c27b539c
--- /dev/null
+++ b/progs/beos/Makefile
@@ -0,0 +1,42 @@
+# $Id: Makefile,v 1.1 1999/08/19 00:55:40 jtg Exp $
+
+# Makefile for BeOS demos
+
+# Written by Brian Paul
+# This file is in the public domain.
+
+
+
+CC = g++
+
+# Use Mesa:
+CFLAGS = -I../include -c -g
+LFLAGS = -L../lib -Xlinker -rpath ../lib -lbe -lMesaGL
+
+# Use BeOS OpenGL:
+#CFLAGS = -I/boot/develop/headers/be/opengl -c -g
+#LFLAGS = -L../lib -Xlinker -rpath ../lib -lbe -lGL
+
+
+PROGRAMS = demo sample
+
+default: $(PROGRAMS)
+
+
+clean:
+ rm -f demo sample
+ rm -f *.o
+
+
+demo: demo.o
+ $(CC) demo.o $(LFLAGS) -o $@
+
+demo.o: demo.cpp
+ $(CC) $(CFLAGS) demo.cpp
+
+
+sample: sample.o
+ $(CC) sample.o $(LFLAGS) -o $@
+
+sample.o: sample.cpp
+ $(CC) $(CFLAGS) sample.cpp
diff --git a/progs/beos/demo.cpp b/progs/beos/demo.cpp
new file mode 100644
index 00000000000..c25eb93075c
--- /dev/null
+++ b/progs/beos/demo.cpp
@@ -0,0 +1,153 @@
+// $Id: demo.cpp,v 1.1 1999/08/19 00:55:40 jtg Exp $
+
+// Simple BeOS GLView demo
+// Written by Brian Paul
+// This file is in the public domain.
+
+
+
+#include <stdio.h>
+#include <Application.h>
+#include <Window.h>
+#include <GLView.h>
+
+
+class MyWindow : public BWindow
+{
+public:
+ MyWindow(BRect frame);
+ virtual bool QuitRequested();
+};
+
+
+MyWindow::MyWindow(BRect frame)
+ : BWindow(frame, "demo", B_TITLED_WINDOW, B_NOT_ZOOMABLE)
+{
+ // no-op
+}
+
+bool MyWindow::QuitRequested()
+{
+ be_app->PostMessage(B_QUIT_REQUESTED);
+ return true;
+}
+
+
+class MyGL : public BGLView
+{
+public:
+ MyGL(BRect rect, char *name, ulong options);
+
+// virtual void AttachedToWindow();
+ virtual void Draw(BRect updateRect);
+ virtual void Pulse();
+ virtual void FrameResized(float w, float h);
+private:
+ float mAngle;
+};
+
+
+MyGL::MyGL(BRect rect, char *name, ulong options)
+ : BGLView(rect, name, B_FOLLOW_LEFT_RIGHT | B_FOLLOW_TOP_BOTTOM, 0, options)
+{
+ mAngle = 0.0;
+}
+
+
+#if 0
+void MyGL::AttachedToWindow()
+{
+ BGLView::AttachedToWindow();
+ LockGL();
+ glClearColor(.7, .7, 0, 0);
+ UnlockGL();
+}
+#endif
+
+
+void MyGL::FrameResized(float w, float h)
+{
+ BGLView::FrameResized(w, h);
+
+ printf("FrameResized\n");
+ LockGL();
+ BGLView::FrameResized(w,h);
+ glViewport(0, 0, (int) (w + 1), (int) (h + 1));
+ glMatrixMode(GL_PROJECTION);
+ glLoadIdentity();
+ glFrustum(-1, 1, -1, 1, 10, 30);
+ glMatrixMode(GL_MODELVIEW);
+ glLoadIdentity();
+ glTranslatef(0, 0, -18);
+ UnlockGL();
+}
+
+
+
+void MyGL::Draw(BRect r)
+{
+ printf("MyGL::Draw\n");
+ BGLView::Draw(r);
+ LockGL();
+ glClear(GL_COLOR_BUFFER_BIT);
+ glPushMatrix();
+ glRotatef(mAngle, 0, 0, 1);
+ glColor3f(0, 0, 1);
+ glBegin(GL_POLYGON);
+ glVertex2f(-1, -1);
+ glVertex2f( 1, -1);
+ glVertex2f( 1, 1);
+ glVertex2f(-1, 1);
+ glEnd();
+ SwapBuffers();
+ UnlockGL();
+}
+
+
+void MyGL::Pulse()
+{
+ printf("pulse\n");
+ BGLView::Pulse();
+ mAngle += 1.0;
+
+ LockGL();
+ glClear(GL_COLOR_BUFFER_BIT);
+ glPushMatrix();
+ glRotatef(mAngle, 0, 0, 1);
+ glColor3f(0, 0, 1);
+ glBegin(GL_POLYGON);
+ glVertex2f(-1, -1);
+ glVertex2f( 1, -1);
+ glVertex2f( 1, 1);
+ glVertex2f(-1, 1);
+ glEnd();
+ SwapBuffers();
+ UnlockGL();
+}
+
+
+
+int main(int argc, char *argv[])
+{
+ BApplication *app = new BApplication("application/demo");
+
+ // make top-level window
+ int x = 500, y = 500;
+ int w = 400, h = 400;
+ MyWindow *win = new MyWindow(BRect(x, y, x + w, y + h));
+ // win->Lock();
+ // win->Unlock();
+ win->Show();
+
+ // Make OpenGL view and put it in the window
+ MyGL *gl = new MyGL(BRect(5, 5, w-10, h-10), "GL", BGL_RGB | BGL_DOUBLE);
+ // MyGL *gl = new MyGL(BRect(5, 5, w-10, h-10), "GL", BGL_RGB );
+ win->AddChild(gl);
+
+ printf("calling app->Run\n");
+ app->Run();
+
+ delete app;
+
+ return 0;
+}
diff --git a/progs/beos/sample.cpp b/progs/beos/sample.cpp
new file mode 100644
index 00000000000..2310b33882d
--- /dev/null
+++ b/progs/beos/sample.cpp
@@ -0,0 +1,212 @@
+// sample BGLView app from the Be Book
+
+
+#include <stdio.h>
+#include <Application.h>
+#include <Window.h>
+#include <GLView.h>
+
+
+class SampleGLView : public BGLView
+{
+public:
+ SampleGLView(BRect frame, uint32 type);
+ virtual void AttachedToWindow(void);
+ virtual void FrameResized(float newWidth, float newHeight);
+ virtual void ErrorCallback(GLenum which);
+
+ void Render(void);
+
+private:
+ void gInit(void);
+ void gDraw(void);
+ void gReshape(int width, int height);
+
+ float width;
+ float height;
+};
+
+
+
+class SampleGLWindow : public BWindow
+{
+public:
+ SampleGLWindow(BRect frame, uint32 type);
+ virtual bool QuitRequested() { return true; }
+
+private:
+ SampleGLView *theView;
+};
+
+
+class SampleGLApp : public BApplication
+{
+public:
+ SampleGLApp();
+private:
+ SampleGLWindow *theWindow;
+};
+
+
+SampleGLApp::SampleGLApp()
+ : BApplication("application/x-vnd.sample")
+{
+ BRect windowRect;
+ uint32 type = BGL_RGB|BGL_DOUBLE;
+
+ windowRect.Set(50, 50, 350, 350);
+
+ theWindow = new SampleGLWindow(windowRect, type);
+}
+
+
+
+SampleGLWindow::SampleGLWindow(BRect frame, uint32 type)
+ : BWindow(frame, "OpenGL Test", B_TITLED_WINDOW, 0)
+{
+ theView = new SampleGLView(Bounds(), type);
+ AddChild(theView);
+ Show();
+ theView->Render();
+}
+
+
+
+SampleGLView::SampleGLView(BRect frame, uint32 type)
+ : BGLView(frame, "SampleGLView", B_FOLLOW_ALL_SIDES, 0, type)
+{
+ width = frame.right-frame.left;
+ height = frame.bottom-frame.top;
+}
+
+
+void SampleGLView::AttachedToWindow(void)
+{
+ LockGL();
+ BGLView::AttachedToWindow();
+ gInit();
+ gReshape(width, height);
+ UnlockGL();
+}
+
+
+void SampleGLView::FrameResized(float newWidth, float newHeight)
+{
+ LockGL();
+ BGLView::FrameResized(width, height);
+ width = newWidth;
+ height = newHeight;
+
+ gReshape(width,height);
+
+ UnlockGL();
+ Render();
+}
+
+
+void SampleGLView::ErrorCallback(GLenum whichError)
+{
+// fprintf(stderr, "Unexpected error occured (%d):\\n", whichError);
+// fprintf(stderr, " %s\\n", gluErrorString(whichError));
+}
+
+
+
+// globals
+GLenum use_stipple_mode; // GL_TRUE to use dashed lines
+GLenum use_smooth_mode; // GL_TRUE to use anti-aliased lines
+GLint linesize; // Line width
+GLint pointsize; // Point diameter
+
+float pntA[3] = {
+ -160.0, 0.0, 0.0
+};
+float pntB[3] = {
+ -130.0, 0.0, 0.0
+};
+
+
+
+void SampleGLView::gInit(void)
+{
+ glClearColor(0.0, 0.0, 0.0, 0.0);
+ glLineStipple(1, 0xF0E0);
+ glBlendFunc(GL_SRC_ALPHA, GL_ONE);
+ use_stipple_mode = GL_FALSE;
+ use_smooth_mode = GL_TRUE;
+ linesize = 2;
+ pointsize = 4;
+}
+
+
+
+void SampleGLView::gDraw(void)
+{
+ GLint i;
+
+ glClear(GL_COLOR_BUFFER_BIT);
+ glLineWidth(linesize);
+
+ if (use_stipple_mode) {
+ glEnable(GL_LINE_STIPPLE);
+ } else {
+ glDisable(GL_LINE_STIPPLE);
+ }
+
+ if (use_smooth_mode) {
+ glEnable(GL_LINE_SMOOTH);
+ glEnable(GL_BLEND);
+ } else {
+ glDisable(GL_LINE_SMOOTH);
+ glDisable(GL_BLEND);
+ }
+
+ glPushMatrix();
+
+ for (i = 0; i < 360; i += 5) {
+ glRotatef(5.0, 0,0,1); // Rotate right 5 degrees
+ glColor3f(1.0, 1.0, 0.0); // Set color for line
+ glBegin(GL_LINE_STRIP); // And create the line
+ glVertex3fv(pntA);
+ glVertex3fv(pntB);
+ glEnd();
+
+ glPointSize(pointsize); // Set size for point
+ glColor3f(0.0, 1.0, 0.0); // Set color for point
+ glBegin(GL_POINTS);
+ glVertex3fv(pntA); // Draw point at one end
+ glVertex3fv(pntB); // Draw point at other end
+ glEnd();
+ }
+
+ glPopMatrix(); // Done with matrix
+}
+
+
+void SampleGLView::gReshape(int width, int height)
+{
+ glViewport(0, 0, width, height);
+ glMatrixMode(GL_PROJECTION);
+ glLoadIdentity();
+ glOrtho(-175, 175, -175, 175, -1, 1);
+ glMatrixMode(GL_MODELVIEW);
+}
+
+
+void SampleGLView::Render(void)
+{
+ LockGL();
+ gDraw();
+ SwapBuffers();
+ UnlockGL();
+}
+
+
+
+int main(int argc, char *argv[])
+{
+ SampleGLApp *app = new SampleGLApp;
+ app->Run();
+ delete app;
+ return 0;
+}
diff --git a/progs/demos/Makefile.BeOS-R4 b/progs/demos/Makefile.BeOS-R4
new file mode 100644
index 00000000000..c0d990e4a07
--- /dev/null
+++ b/progs/demos/Makefile.BeOS-R4
@@ -0,0 +1,96 @@
+# $Id: Makefile.BeOS-R4,v 1.1 1999/08/19 00:55:40 jtg Exp $
+
+# Mesa 3-D graphics library
+# Version: 3.1
+# Copyright (C) 1995-1999 Brian Paul
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Library General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Library General Public License for more details.
+#
+# You should have received a copy of the GNU Library General Public
+# License along with this library; if not, write to the Free
+# Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+
+# Makefile for GLUT-based demo programs for BeOS R4
+
+
+# $Log: Makefile.BeOS-R4,v $
+# Revision 1.1 1999/08/19 00:55:40 jtg
+# Initial revision
+#
+# Revision 1.5 1999/06/22 12:50:11 brianp
+# removed multitex demo
+#
+# Revision 1.4 1999/02/03 03:57:26 brianp
+# replace multiext with multiarb
+#
+# Revision 1.3 1999/02/02 04:47:45 brianp
+# removed glutfx from targets
+#
+# Revision 1.2 1999/02/02 04:46:23 brianp
+# removed tessdemo from targets
+#
+# Revision 1.1 1999/02/02 04:43:27 brianp
+# Initial revision
+#
+
+
+
+##### MACROS #####
+
+INCDIR = ../include
+LIBDIR = ../lib
+
+GL_LIBS = -L$(LIBDIR) -L/boot/home/config/lib -Xlinker -rpath $(LIBDIR) -lbe -lglut -lMesaGLU -lMesaGL $(XLIBS)
+
+LIB_DEP = $(LIBDIR)/$(GL_LIB) $(LIBDIR)/$(GLU_LIB) $(LIBDIR)/$(GLUT_LIB)
+
+PROGS = bounce clearspd drawpix gamma gears glinfo isosurf \
+ morph3d multiarb osdemo paltex pointblast reflect \
+ renormal spectex stex3d texcyl texobj trispd winpos
+
+
+##### RULES #####
+
+.SUFFIXES:
+.SUFFIXES: .c
+
+.c: $(LIB_DEP)
+ $(CC) -I$(INCDIR) $(CFLAGS) $< $(GL_LIBS) -o $@
+
+
+
+##### TARGETS #####
+
+default:
+ @echo "Specify a target configuration"
+
+clean:
+ -rm *.o *~
+
+realclean:
+ -rm $(PROGS)
+ -rm *.o *~
+
+targets: $(PROGS)
+
+# execute all programs
+exec: $(PROGS)
+ @for prog in $(PROGS) ; \
+ do \
+ echo -n "Running $$prog ..." ; \
+ $$prog ; \
+ echo ; \
+ done
+
+
+include ../Make-config
+
diff --git a/progs/demos/Makefile.X11 b/progs/demos/Makefile.X11
new file mode 100644
index 00000000000..9d475a6ac03
--- /dev/null
+++ b/progs/demos/Makefile.X11
@@ -0,0 +1,60 @@
+# $Id: Makefile.X11,v 1.1 1999/08/19 00:55:40 jtg Exp $
+
+# Mesa 3-D graphics library
+# Version: 3.1
+# Copyright (C) 1995-1998 Brian Paul
+
+
+# Makefile for GLUT-based demo programs for Unix/X11
+
+
+##### MACROS #####
+
+INCDIR = ../include
+LIBDIR = ../lib
+
+GL_LIBS = -L$(LIBDIR) -lglut -lGLU -lGL -lm $(XLIBS)
+
+LIB_DEP = $(LIBDIR)/$(GL_LIB) $(LIBDIR)/$(GLU_LIB) $(LIBDIR)/$(GLUT_LIB)
+
+PROGS = bounce clearspd drawpix gamma gears glinfo glutfx isosurf \
+ morph3d multiarb osdemo paltex pointblast reflect \
+ renormal spectex stex3d tessdemo texcyl texobj trispd winpos
+
+
+##### RULES #####
+
+.SUFFIXES:
+.SUFFIXES: .c
+
+.c: $(LIB_DEP)
+ $(CC) -I$(INCDIR) $(CFLAGS) $< $(GL_LIBS) -o $@
+
+
+
+##### TARGETS #####
+
+default:
+ @echo "Specify a target configuration"
+
+clean:
+ -rm *.o *~
+
+realclean:
+ -rm $(PROGS)
+ -rm *.o *~
+
+targets: $(PROGS)
+
+# execute all programs
+exec: $(PROGS)
+ @for prog in $(PROGS) ; \
+ do \
+ echo -n "Running $$prog ..." ; \
+ $$prog ; \
+ echo ; \
+ done
+
+
+include ../Make-config
+
diff --git a/progs/demos/Makefile.cygnus b/progs/demos/Makefile.cygnus
new file mode 100644
index 00000000000..69012b13bed
--- /dev/null
+++ b/progs/demos/Makefile.cygnus
@@ -0,0 +1,76 @@
+# Makefile for demo programs
+# Stephane Rehel (rehel@worldnet.fr) April 13 1997
+
+# Mesa 3-D graphics library
+# Version: 3.0
+# Copyright (C) 1995-1998 Brian Paul
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Library General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Library General Public License for more details.
+#
+# You should have received a copy of the GNU Library General Public
+# License along with this library; if not, write to the Free
+# Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+
+# $Id: Makefile.cygnus,v 1.1 1999/08/19 00:55:40 jtg Exp $
+
+# $Log: Makefile.cygnus,v $
+# Revision 1.1 1999/08/19 00:55:40 jtg
+# Initial revision
+#
+# Revision 3.1 1999/06/22 12:50:29 brianp
+# removed multitex demo
+#
+# Revision 3.0 1998/06/10 02:55:51 brianp
+# initial revision
+#
+
+
+##### MACROS #####
+
+INCDIR = ../include
+LIBDIR = ../lib
+
+GL_LIBS = -L$(LIBDIR) -lglut -lMesaGLU -lMesaGL -lm $(WLIBS)
+
+LIB_DEP = $(LIBDIR)/$(GL_LIB) $(LIBDIR)/$(GLU_LIB) $(LIBDIR)/$(GLUT_LIB)
+
+PROGS = clearspd drawpix gamma gears glinfo glutfx isosurf \
+ morph3d multiext osdemo paltex pointblast reflect \
+ renormal spectex stex3d tessdemo texcyl texobj trispd winpos
+
+
+##### RULES #####
+
+.SUFFIXES:
+.SUFFIXES: .c
+
+.c: $(LIB_DEP)
+ $(CC) -I$(INCDIR) $(CFLAGS) $< $(GL_LIBS) -o $@
+
+
+##### TARGETS #####
+
+default:
+ @echo "Specify a target configuration"
+
+clean:
+ -rm *.o *~
+
+realclean:
+ -rm $(PROGS:=.exe)
+ -rm *.o *~
+
+targets: $(PROGS)
+
+include ../Make-config
+
+
diff --git a/progs/demos/bounce.c b/progs/demos/bounce.c
new file mode 100644
index 00000000000..876ce589dc9
--- /dev/null
+++ b/progs/demos/bounce.c
@@ -0,0 +1,240 @@
+/* $Id: bounce.c,v 1.1 1999/08/19 00:55:40 jtg Exp $ */
+
+/*
+ * Bouncing ball demo. Color index mode only!
+ *
+ * This program is in the public domain
+ *
+ * Brian Paul
+ */
+
+/* Conversion to GLUT by Mark J. Kilgard */
+
+/*
+ * $Log: bounce.c,v $
+ * Revision 1.1 1999/08/19 00:55:40 jtg
+ * Initial revision
+ *
+ * Revision 3.3 1999/03/18 08:16:14 joukj
+ *
+ * cmpstr needs string.h to included to avoid warnings
+ *
+ * Revision 3.2 1998/11/28 01:13:02 brianp
+ * now sets an initial window position and size
+ *
+ * Revision 3.1 1998/11/28 01:06:57 brianp
+ * now works in RGB mode by default
+ *
+ * Revision 3.0 1998/02/14 18:42:29 brianp
+ * initial rev
+ *
+ */
+
+
+#include <math.h>
+#include <stdlib.h>
+#include <string.h>
+#include <GL/glut.h>
+
+#define COS(X) cos( (X) * 3.14159/180.0 )
+#define SIN(X) sin( (X) * 3.14159/180.0 )
+
+#define RED 1
+#define WHITE 2
+#define CYAN 3
+
+GLboolean IndexMode = GL_FALSE;
+GLuint Ball;
+GLenum Mode;
+GLfloat Zrot = 0.0, Zstep = 6.0;
+GLfloat Xpos = 0.0, Ypos = 1.0;
+GLfloat Xvel = 0.2, Yvel = 0.0;
+GLfloat Xmin = -4.0, Xmax = 4.0;
+GLfloat Ymin = -3.8, Ymax = 4.0;
+GLfloat G = -0.1;
+
+static GLuint
+make_ball(void)
+{
+ GLuint list;
+ GLfloat a, b;
+ GLfloat da = 18.0, db = 18.0;
+ GLfloat radius = 1.0;
+ GLuint color;
+ GLfloat x, y, z;
+
+ list = glGenLists(1);
+
+ glNewList(list, GL_COMPILE);
+
+ color = 0;
+ for (a = -90.0; a + da <= 90.0; a += da) {
+
+ glBegin(GL_QUAD_STRIP);
+ for (b = 0.0; b <= 360.0; b += db) {
+
+ if (color) {
+ glIndexi(RED);
+ glColor3f(1, 0, 0);
+ } else {
+ glIndexi(WHITE);
+ glColor3f(1, 1, 1);
+ }
+
+ x = COS(b) * COS(a);
+ y = SIN(b) * COS(a);
+ z = SIN(a);
+ glVertex3f(x, y, z);
+
+ x = radius * COS(b) * COS(a + da);
+ y = radius * SIN(b) * COS(a + da);
+ z = radius * SIN(a + da);
+ glVertex3f(x, y, z);
+
+ color = 1 - color;
+ }
+ glEnd();
+
+ }
+
+ glEndList();
+
+ return list;
+}
+
+static void
+reshape(int width, int height)
+{
+ float aspect = (float) width / (float) height;
+ glViewport(0, 0, (GLint) width, (GLint) height);
+ glMatrixMode(GL_PROJECTION);
+ glLoadIdentity();
+ glOrtho(-6.0 * aspect, 6.0 * aspect, -6.0, 6.0, -6.0, 6.0);
+ glMatrixMode(GL_MODELVIEW);
+}
+
+/* ARGSUSED1 */
+static void
+key(unsigned char k, int x, int y)
+{
+ switch (k) {
+ case 27: /* Escape */
+ exit(0);
+ }
+}
+
+static void
+draw(void)
+{
+ GLint i;
+
+ glClear(GL_COLOR_BUFFER_BIT);
+
+ glIndexi(CYAN);
+ glColor3f(0, 1, 1);
+ glBegin(GL_LINES);
+ for (i = -5; i <= 5; i++) {
+ glVertex2i(i, -5);
+ glVertex2i(i, 5);
+ }
+ for (i = -5; i <= 5; i++) {
+ glVertex2i(-5, i);
+ glVertex2i(5, i);
+ }
+ for (i = -5; i <= 5; i++) {
+ glVertex2i(i, -5);
+ glVertex2f(i * 1.15, -5.9);
+ }
+ glVertex2f(-5.3, -5.35);
+ glVertex2f(5.3, -5.35);
+ glVertex2f(-5.75, -5.9);
+ glVertex2f(5.75, -5.9);
+ glEnd();
+
+ glPushMatrix();
+ glTranslatef(Xpos, Ypos, 0.0);
+ glScalef(2.0, 2.0, 2.0);
+ glRotatef(8.0, 0.0, 0.0, 1.0);
+ glRotatef(90.0, 1.0, 0.0, 0.0);
+ glRotatef(Zrot, 0.0, 0.0, 1.0);
+
+ glCallList(Ball);
+
+ glPopMatrix();
+
+ glFlush();
+ glutSwapBuffers();
+}
+
+static void
+idle(void)
+{
+ static float vel0 = -100.0;
+
+ Zrot += Zstep;
+
+ Xpos += Xvel;
+ if (Xpos >= Xmax) {
+ Xpos = Xmax;
+ Xvel = -Xvel;
+ Zstep = -Zstep;
+ }
+ if (Xpos <= Xmin) {
+ Xpos = Xmin;
+ Xvel = -Xvel;
+ Zstep = -Zstep;
+ }
+ Ypos += Yvel;
+ Yvel += G;
+ if (Ypos < Ymin) {
+ Ypos = Ymin;
+ if (vel0 == -100.0)
+ vel0 = fabs(Yvel);
+ Yvel = vel0;
+ }
+ glutPostRedisplay();
+}
+
+void
+visible(int vis)
+{
+ if (vis == GLUT_VISIBLE)
+ glutIdleFunc(idle);
+ else
+ glutIdleFunc(NULL);
+}
+
+int main(int argc, char *argv[])
+{
+ glutInit(&argc, argv);
+ glutInitWindowPosition(0, 0);
+ glutInitWindowSize(600, 450);
+
+
+ IndexMode = argc > 1 && strcmp(argv[1], "-ci") == 0;
+ if (IndexMode)
+ glutInitDisplayMode(GLUT_INDEX | GLUT_DOUBLE);
+ else
+ glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE);
+
+ glutCreateWindow("Bounce");
+ Ball = make_ball();
+ glCullFace(GL_BACK);
+ glEnable(GL_CULL_FACE);
+ glDisable(GL_DITHER);
+ glShadeModel(GL_FLAT);
+
+ glutDisplayFunc(draw);
+ glutReshapeFunc(reshape);
+ glutVisibilityFunc(visible);
+ glutKeyboardFunc(key);
+
+ if (IndexMode) {
+ glutSetColor(RED, 1.0, 0.0, 0.0);
+ glutSetColor(WHITE, 1.0, 1.0, 1.0);
+ glutSetColor(CYAN, 0.0, 1.0, 1.0);
+ }
+
+ glutMainLoop();
+ return 0; /* ANSI C requires main to return int. */
+}
diff --git a/progs/demos/clearspd.c b/progs/demos/clearspd.c
new file mode 100644
index 00000000000..b2edf320692
--- /dev/null
+++ b/progs/demos/clearspd.c
@@ -0,0 +1,221 @@
+/* $Id: clearspd.c,v 1.1 1999/08/19 00:55:40 jtg Exp $ */
+
+/*
+ * Simple GLUT program to measure glClear() and glutSwapBuffers() speed.
+ * Brian Paul February 15, 1997 This file in public domain.
+ */
+
+/*
+ * $Log: clearspd.c,v $
+ * Revision 1.1 1999/08/19 00:55:40 jtg
+ * Initial revision
+ *
+ * Revision 3.3 1999/03/28 18:18:33 brianp
+ * minor clean-up
+ *
+ * Revision 3.2 1999/03/18 08:16:34 joukj
+ *
+ * cmpstr needs string.h to included to avoid warnings
+ *
+ * Revision 3.1 1998/06/29 02:38:30 brianp
+ * removed unneeded includes
+ *
+ * Revision 3.0 1998/02/14 18:42:29 brianp
+ * initial rev
+ *
+ */
+
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include <string.h>
+#include <GL/glut.h>
+
+
+static float MinPeriod = 2.0; /* 2 seconds */
+static int ColorMode = GLUT_RGB;
+static int Width = 400.0;
+static int Height = 400.0;
+static int Loops = 100;
+static float ClearColor = 0.0;
+static GLbitfield BufferMask = GL_COLOR_BUFFER_BIT;
+static GLboolean SwapFlag = GL_FALSE;
+
+
+
+static void Idle( void )
+{
+ glutPostRedisplay();
+}
+
+
+static void Display( void )
+{
+ double t0, t1;
+ double clearRate;
+ double pixelRate;
+ int i;
+
+ glClearColor( ClearColor, ClearColor, ClearColor, 0.0 );
+ ClearColor += 0.1;
+ if (ClearColor>1.0)
+ ClearColor = 0.0;
+
+ if (SwapFlag) {
+ t0 = glutGet(GLUT_ELAPSED_TIME) * 0.001;
+ for (i=0;i<Loops;i++) {
+ glClear( BufferMask );
+ glutSwapBuffers();
+ }
+ t1 = glutGet(GLUT_ELAPSED_TIME) * 0.001;
+ }
+ else {
+ t0 = glutGet(GLUT_ELAPSED_TIME) * 0.001;
+ for (i=0;i<Loops;i++) {
+ glClear( BufferMask );
+ }
+ t1 = glutGet(GLUT_ELAPSED_TIME) * 0.001;
+ glutSwapBuffers();
+ }
+
+ if (t1-t0 < MinPeriod) {
+ /* Next time do more clears to get longer elapsed time */
+ Loops *= 2;
+ return;
+ }
+
+ clearRate = Loops / (t1-t0);
+ pixelRate = clearRate * Width * Height;
+ if (SwapFlag) {
+ printf("Rate: %d clears+swaps in %gs = %g clears+swaps/s %d pixels/s\n",
+ Loops, t1-t0, clearRate, (int)pixelRate );
+ }
+ else {
+ printf("Rate: %d clears in %gs = %g clears/s %d pixels/s\n",
+ Loops, t1-t0, clearRate, (int)pixelRate);
+ }
+}
+
+
+static void Reshape( int width, int height )
+{
+ Width = width;
+ Height = height;
+ glViewport( 0, 0, width, height );
+ glMatrixMode( GL_PROJECTION );
+ glLoadIdentity();
+ glOrtho(0.0, width, 0.0, height, -1.0, 1.0);
+ glMatrixMode( GL_MODELVIEW );
+ glLoadIdentity();
+}
+
+
+static void Key( unsigned char key, int x, int y )
+{
+ (void) x;
+ (void) y;
+ switch (key) {
+ case 27:
+ exit(0);
+ break;
+ }
+ glutPostRedisplay();
+}
+
+
+static void Init( int argc, char *argv[] )
+{
+ int i;
+ for (i=1; i<argc; i++) {
+ if (strcmp(argv[i],"+rgb")==0)
+ ColorMode = GLUT_RGB;
+ else if (strcmp(argv[i],"+ci")==0)
+ ColorMode = GLUT_INDEX;
+ else if (strcmp(argv[i],"-color")==0)
+ BufferMask = 0;
+ else if (strcmp(argv[i],"+depth")==0)
+ BufferMask |= GL_DEPTH_BUFFER_BIT;
+ else if (strcmp(argv[i],"+alpha")==0)
+ ColorMode = GLUT_RGB | GLUT_ALPHA;
+ else if (strcmp(argv[i],"+stencil")==0)
+ BufferMask |= GL_STENCIL_BUFFER_BIT;
+ else if (strcmp(argv[i],"+accum")==0)
+ BufferMask |= GL_ACCUM_BUFFER_BIT;
+ else if (strcmp(argv[i],"-width")==0) {
+ Width = atoi(argv[i+1]);
+ i++;
+ }
+ else if (strcmp(argv[i],"-height")==0) {
+ Height = atoi(argv[i+1]);
+ i++;
+ }
+ else if (strcmp(argv[i],"+swap")==0) {
+ SwapFlag = GL_TRUE;
+ }
+ else if (strcmp(argv[i],"-swap")==0) {
+ SwapFlag = GL_FALSE;
+ }
+ else
+ printf("Unknown option: %s\n", argv[i]);
+ }
+
+ if (ColorMode & GLUT_ALPHA)
+ printf("Mode: RGB + Alpha\n");
+ else if (ColorMode==GLUT_RGB)
+ printf("Mode: RGB\n");
+ else
+ printf("Mode: Color Index\n");
+ printf("SwapBuffers: %s\n", SwapFlag ? "yes" : "no" );
+ printf("Size: %d x %d\n", Width, Height);
+ printf("Buffers: ");
+ if (BufferMask & GL_COLOR_BUFFER_BIT) printf("color ");
+ if (BufferMask & GL_DEPTH_BUFFER_BIT) printf("depth ");
+ if (BufferMask & GL_STENCIL_BUFFER_BIT) printf("stencil ");
+ if (BufferMask & GL_ACCUM_BUFFER_BIT) printf("accum ");
+ printf("\n");
+}
+
+
+static void Help( const char *program )
+{
+ printf("%s options:\n", program);
+ printf(" +rgb RGB mode\n");
+ printf(" +ci color index mode\n");
+ printf(" -color don't clear color buffer\n");
+ printf(" +alpha clear alpha buffer\n");
+ printf(" +depth clear depth buffer\n");
+ printf(" +stencil clear stencil buffer\n");
+ printf(" +accum clear accum buffer\n");
+ printf(" +swap also do SwapBuffers\n");
+ printf(" -swap don't do SwapBuffers\n");
+}
+
+
+int main( int argc, char *argv[] )
+{
+ printf("For options: %s -help\n", argv[0]);
+
+ Init( argc, argv );
+
+ glutInit( &argc, argv );
+ glutInitWindowSize( (int) Width, (int) Height );
+ glutInitWindowPosition( 0, 0 );
+
+ glutInitDisplayMode( ColorMode | GLUT_DOUBLE | GLUT_DEPTH | GLUT_STENCIL | GLUT_ACCUM );
+
+ glutCreateWindow( argv[0] );
+
+ if (argc==2 && strcmp(argv[1],"-help")==0) {
+ Help(argv[0]);
+ return 0;
+ }
+
+ glutReshapeFunc( Reshape );
+ glutKeyboardFunc( Key );
+ glutDisplayFunc( Display );
+ glutIdleFunc( Idle );
+
+ glutMainLoop();
+ return 0;
+}
diff --git a/progs/demos/descrip.mms b/progs/demos/descrip.mms
new file mode 100644
index 00000000000..a705f1704f0
--- /dev/null
+++ b/progs/demos/descrip.mms
@@ -0,0 +1,63 @@
+# Makefile for GLUT-based demo programs for VMS
+# contributed by Jouk Jansen joukj@crys.chem.uva.nl
+
+
+.first
+ define gl [-.include.gl]
+
+.include [-]mms-config.
+
+##### MACROS #####
+
+INCDIR = [-.include]
+CFLAGS = /include=$(INCDIR)/prefix=all
+
+.ifdef SHARE
+GL_LIBS = $(XLIBS)
+.else
+GL_LIBS = [-.lib]libGLUT/l,libMesaGLU/l,libMesaGL/l,$(XLIBS)
+.endif
+
+LIB_DEP = [-.lib]$(GL_LIB) [-.lib]$(GLU_LIB) [-.lib]$(GLUT_LIB)
+
+PROGS = bounce.exe;,clearspd.exe;,drawpix.exe;,gamma.exe;,gears.exe;,\
+ glinfo.exe;,glutfx.exe;,isosurf.exe;,morph3d.exe;,osdemo.exe;,\
+ paltex.exe;,pointblast.exe;,reflect.exe;,spectex.exe;,stex3d.exe;,\
+ tessdemo.exe;,texcyl.exe;,texobj.exe;,trispd.exe;,winpos.exe;
+
+
+##### RULES #####
+.obj.exe :
+ link $(MMS$TARGET_NAME),$(GL_LIBS)
+
+##### TARGETS #####
+default :
+ $(MMS)$(MMSQUALIFIERS) $(PROGS)
+
+clean :
+ delete *.obj;*
+
+realclean :
+ delete $(PROGS)
+ delete *.obj;*
+
+bounce.exe; : bounce.obj $(LIB_DEP)
+clearspd.exe; : clearspd.obj $(LIB_DEP)
+drawpix.exe; : drawpix.obj $(LIB_DEP)
+gamma.exe; : gamma.obj $(LIB_DEP)
+gears.exe; : gears.obj $(LIB_DEP)
+glinfo.exe; : glinfo.obj $(LIB_DEP)
+glutfx.exe; : glutfx.obj $(LIB_DEP)
+isosurf.exe; : isosurf.obj $(LIB_DEP)
+morph3d.exe; : morph3d.obj $(LIB_DEP)
+osdemo.exe; : osdemo.obj $(LIB_DEP)
+paltex.exe; : paltex.obj $(LIB_DEP)
+pointblast.exe; : pointblast.obj $(LIB_DEP)
+reflect.exe; : reflect.obj $(LIB_DEP)
+spectex.exe; : spectex.obj $(LIB_DEP)
+stex3d.exe; : stex3d.obj $(LIB_DEP)
+tessdemo.exe; : tessdemo.obj $(LIB_DEP)
+texcyl.exe; : texcyl.obj $(LIB_DEP)
+texobj.exe; : texobj.obj $(LIB_DEP)
+trispd.exe; : trispd.obj $(LIB_DEP)
+winpos.exe; : winpos.obj $(LIB_DEP)
diff --git a/progs/demos/drawpix.c b/progs/demos/drawpix.c
new file mode 100644
index 00000000000..264df71ab4e
--- /dev/null
+++ b/progs/demos/drawpix.c
@@ -0,0 +1,307 @@
+/* $Id: drawpix.c,v 1.1 1999/08/19 00:55:40 jtg Exp $ */
+
+/*
+ * glDrawPixels demo/test/benchmark
+ *
+ * Brian Paul September 25, 1997 This file is in the public domain.
+ */
+
+/*
+ * $Log: drawpix.c,v $
+ * Revision 1.1 1999/08/19 00:55:40 jtg
+ * Initial revision
+ *
+ * Revision 3.3 1999/03/28 18:18:33 brianp
+ * minor clean-up
+ *
+ * Revision 3.2 1998/11/05 04:34:04 brianp
+ * moved image files to ../images/ directory
+ *
+ * Revision 3.1 1998/02/22 16:43:17 brianp
+ * added a few casts to silence compiler warnings
+ *
+ * Revision 3.0 1998/02/14 18:42:29 brianp
+ * initial rev
+ *
+ */
+
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include <GL/glut.h>
+
+#include "../util/readtex.c" /* a hack, I know */
+
+#define IMAGE_FILE "../images/girl.rgb"
+
+static int ImgWidth, ImgHeight;
+static GLenum ImgFormat;
+static GLubyte *Image = NULL;
+
+static int Xpos, Ypos;
+static int SkipPixels, SkipRows;
+static int DrawWidth, DrawHeight;
+static int Scissor = 0;
+static float Xzoom, Yzoom;
+
+
+
+static void Reset( void )
+{
+ Xpos = Ypos = 20;
+ DrawWidth = ImgWidth;
+ DrawHeight = ImgHeight;
+ SkipPixels = SkipRows = 0;
+ Scissor = 0;
+ Xzoom = Yzoom = 1.0;
+}
+
+
+static void Display( void )
+{
+ glClear( GL_COLOR_BUFFER_BIT );
+
+#if 0
+ glRasterPos2i(Xpos, Ypos);
+#else
+ /* This allows negative raster positions: */
+ glRasterPos2i(0, 0);
+ glBitmap(0, 0, 0, 0, Xpos, Ypos, NULL);
+#endif
+
+ glPixelStorei(GL_UNPACK_SKIP_PIXELS, SkipPixels);
+ glPixelStorei(GL_UNPACK_SKIP_ROWS, SkipRows);
+
+ glPixelZoom( Xzoom, Yzoom );
+
+ if (Scissor)
+ glEnable(GL_SCISSOR_TEST);
+
+ glDrawPixels(DrawWidth, DrawHeight, ImgFormat, GL_UNSIGNED_BYTE, Image);
+
+ glDisable(GL_SCISSOR_TEST);
+
+ glutSwapBuffers();
+}
+
+
+static void Benchmark( void )
+{
+ int startTime, endTime;
+ int draws = 500;
+ double seconds, pixelsPerSecond;
+
+ printf("Benchmarking...\n");
+ /* GL set-up */
+ glPixelStorei(GL_UNPACK_SKIP_PIXELS, SkipPixels);
+ glPixelStorei(GL_UNPACK_SKIP_ROWS, SkipRows);
+ glPixelZoom( Xzoom, Yzoom );
+ if (Scissor)
+ glEnable(GL_SCISSOR_TEST);
+
+ /* Run timing test */
+ draws = 0;
+ startTime = glutGet(GLUT_ELAPSED_TIME);
+ do {
+ glDrawPixels(DrawWidth, DrawHeight, ImgFormat, GL_UNSIGNED_BYTE, Image);
+ draws++;
+ endTime = glutGet(GLUT_ELAPSED_TIME);
+ } while (endTime - startTime < 4000); /* 4 seconds */
+
+ /* GL clean-up */
+ glDisable(GL_SCISSOR_TEST);
+
+ /* Results */
+ seconds = (double) (endTime - startTime) / 1000.0;
+ pixelsPerSecond = draws * DrawWidth * DrawHeight / seconds;
+ printf("Result: %d draws in %f seconds = %f pixels/sec\n",
+ draws, seconds, pixelsPerSecond);
+}
+
+
+static void Reshape( int width, int height )
+{
+ glViewport( 0, 0, width, height );
+ glMatrixMode( GL_PROJECTION );
+ glLoadIdentity();
+ glOrtho( 0.0, width, 0.0, height, -1.0, 1.0 );
+ glMatrixMode( GL_MODELVIEW );
+ glLoadIdentity();
+
+ glScissor(width/4, height/4, width/2, height/2);
+}
+
+
+static void Key( unsigned char key, int x, int y )
+{
+ (void) x;
+ (void) y;
+ switch (key) {
+ case ' ':
+ Reset();
+ break;
+ case 'w':
+ if (DrawWidth > 0)
+ DrawWidth--;
+ break;
+ case 'W':
+ DrawWidth++;
+ break;
+ case 'h':
+ if (DrawHeight > 0)
+ DrawHeight--;
+ break;
+ case 'H':
+ DrawHeight++;
+ break;
+ case 'p':
+ if (SkipPixels > 0)
+ SkipPixels--;
+ break;
+ case 'P':
+ SkipPixels++;
+ break;
+ case 'r':
+ if (SkipRows > 0)
+ SkipRows--;
+ break;
+ case 'R':
+ SkipRows++;
+ break;
+ case 's':
+ Scissor = !Scissor;
+ break;
+ case 'x':
+ Xzoom -= 0.1;
+ break;
+ case 'X':
+ Xzoom += 0.1;
+ break;
+ case 'y':
+ Yzoom -= 0.1;
+ break;
+ case 'Y':
+ Yzoom += 0.1;
+ break;
+ case 'b':
+ Benchmark();
+ break;
+ case 27:
+ exit(0);
+ break;
+ }
+ glutPostRedisplay();
+}
+
+
+static void SpecialKey( int key, int x, int y )
+{
+ (void) x;
+ (void) y;
+ switch (key) {
+ case GLUT_KEY_UP:
+ Ypos += 1;
+ break;
+ case GLUT_KEY_DOWN:
+ Ypos -= 1;
+ break;
+ case GLUT_KEY_LEFT:
+ Xpos -= 1;
+ break;
+ case GLUT_KEY_RIGHT:
+ Xpos += 1;
+ break;
+ }
+ glutPostRedisplay();
+}
+
+
+static void Init( GLboolean ciMode )
+{
+ printf("GL_VERSION = %s\n", (char *) glGetString(GL_VERSION));
+ printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
+
+ Image = LoadRGBImage( IMAGE_FILE, &ImgWidth, &ImgHeight, &ImgFormat );
+ if (!Image) {
+ printf("Couldn't read %s\n", IMAGE_FILE);
+ exit(0);
+ }
+
+ if (ciMode) {
+ /* Convert RGB image to grayscale */
+ GLubyte *indexImage = malloc( ImgWidth * ImgHeight );
+ GLint i;
+ for (i=0; i<ImgWidth*ImgHeight; i++) {
+ int gray = Image[i*3] + Image[i*3+1] + Image[i*3+2];
+ indexImage[i] = gray / 3;
+ }
+ free(Image);
+ Image = indexImage;
+ ImgFormat = GL_COLOR_INDEX;
+
+ for (i=0;i<255;i++) {
+ float g = i / 255.0;
+ glutSetColor(i, g, g, g);
+ }
+ }
+
+ printf("Loaded %d by %d image\n", ImgWidth, ImgHeight );
+
+ glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
+ glPixelStorei(GL_UNPACK_ROW_LENGTH, ImgWidth);
+
+ Reset();
+}
+
+
+static void Usage(void)
+{
+ printf("Keys:\n");
+ printf(" SPACE Reset\n");
+ printf(" Up/Down Move image up/down\n");
+ printf(" Left/Right Move image left/right\n");
+ printf(" w Decrease glDrawPixels width\n");
+ printf(" W Increase glDrawPixels width\n");
+ printf(" h Decrease glDrawPixels height\n");
+ printf(" H Increase glDrawPixels height\n");
+ printf(" p Decrease GL_UNPACK_SKIP_PIXELS\n");
+ printf(" P Increase GL_UNPACK_SKIP_PIXELS\n");
+ printf(" r Decrease GL_UNPACK_SKIP_ROWS\n");
+ printf(" R Increase GL_UNPACK_SKIP_ROWS\n");
+ printf(" s Toggle GL_SCISSOR_TEST\n");
+ printf(" b Benchmark test\n");
+ printf(" ESC Exit\n");
+}
+
+
+int main( int argc, char *argv[] )
+{
+ GLboolean ciMode = GL_FALSE;
+
+ if (argc > 1 && strcmp(argv[1], "-ci")==0) {
+ ciMode = GL_TRUE;
+ }
+
+ glutInit( &argc, argv );
+ glutInitWindowPosition( 0, 0 );
+ glutInitWindowSize( 500, 400 );
+
+ if (ciMode)
+ glutInitDisplayMode( GLUT_INDEX | GLUT_DOUBLE );
+ else
+ glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE );
+
+ glutCreateWindow(argv[0]);
+
+ Init(ciMode);
+ Usage();
+
+ glutReshapeFunc( Reshape );
+ glutKeyboardFunc( Key );
+ glutSpecialFunc( SpecialKey );
+ glutDisplayFunc( Display );
+
+ glutMainLoop();
+ return 0;
+}
diff --git a/progs/demos/gamma.c b/progs/demos/gamma.c
new file mode 100644
index 00000000000..a3b0bd8c67b
--- /dev/null
+++ b/progs/demos/gamma.c
@@ -0,0 +1,176 @@
+
+/* $Id: gamma.c,v 1.1 1999/08/19 00:55:40 jtg Exp $ */
+
+/* Draw test patterns to help determine correct gamma value for a display.
+ When the intensities of the inner squares nearly match the intensities
+ of their frames (from some distance the borders should disappear) then
+ you've found the right gamma value.
+
+ You can set Mesa's gamma values (for red, green and blue) with the
+ MESA_GAMMA environment variable. But only on X windows!
+ For example:
+ setenv MESA_GAMMA 1.5 1.6 1.4
+ Sets the red gamma value to 1.5, green to 1.6 and blue to 1.4.
+ See the main README file for more information.
+
+ For more info about gamma correction see:
+ http://www.inforamp.net/~poynton/notes/colour_and_gamma/GammaFAQ.html
+
+ This program is in the public domain
+
+ Brian Paul 19 Oct 1995
+ Kai Schuetz 05 Jun 1999 */
+
+/* Conversion to GLUT by Mark J. Kilgard */
+
+/*
+ * $Log: gamma.c,v $
+ * Revision 1.1 1999/08/19 00:55:40 jtg
+ * Initial revision
+ *
+ * Revision 3.1 1999/06/19 01:35:38 brianp
+ * merged in Kai Schuetz's RGB changes
+ *
+ * Revision 3.0 1998/02/14 18:42:29 brianp
+ * initial rev
+ *
+ */
+
+
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <GL/glut.h>
+
+static void
+Reshape(int width, int height)
+{
+ glViewport(0, 0, (GLint) width, (GLint) height);
+
+ glMatrixMode(GL_PROJECTION);
+ glLoadIdentity();
+ glOrtho(-1.0, 1.0, -1.0, 1.0, -1.0, 1.0);
+ glMatrixMode(GL_MODELVIEW);
+ glShadeModel(GL_FLAT);
+}
+
+/* ARGSUSED1 */
+static void
+key_esc(unsigned char key, int x, int y)
+{
+ if(key == 27) exit(0); /* Exit on Escape */
+}
+
+static GLubyte p25[] = {
+ 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00,
+ 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00,
+ 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00,
+ 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00,
+ 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00,
+ 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00,
+ 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00,
+ 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00,
+ 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00,
+ 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00,
+ 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00,
+ 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00,
+ 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00,
+ 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00,
+ 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00,
+ 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00,
+};
+
+static GLubyte p50[] = {
+ 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55,
+ 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55,
+ 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55,
+ 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55,
+ 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55,
+ 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55,
+ 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55,
+ 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55,
+ 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55,
+ 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55,
+ 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55,
+ 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55,
+ 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55,
+ 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55,
+ 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55,
+ 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55,
+};
+
+static GLubyte p75[] = {
+ 0xaa, 0xaa, 0xaa, 0xaa, 0xff, 0xff, 0xff, 0xff,
+ 0xaa, 0xaa, 0xaa, 0xaa, 0xff, 0xff, 0xff, 0xff,
+ 0xaa, 0xaa, 0xaa, 0xaa, 0xff, 0xff, 0xff, 0xff,
+ 0xaa, 0xaa, 0xaa, 0xaa, 0xff, 0xff, 0xff, 0xff,
+ 0xaa, 0xaa, 0xaa, 0xaa, 0xff, 0xff, 0xff, 0xff,
+ 0xaa, 0xaa, 0xaa, 0xaa, 0xff, 0xff, 0xff, 0xff,
+ 0xaa, 0xaa, 0xaa, 0xaa, 0xff, 0xff, 0xff, 0xff,
+ 0xaa, 0xaa, 0xaa, 0xaa, 0xff, 0xff, 0xff, 0xff,
+ 0xaa, 0xaa, 0xaa, 0xaa, 0xff, 0xff, 0xff, 0xff,
+ 0xaa, 0xaa, 0xaa, 0xaa, 0xff, 0xff, 0xff, 0xff,
+ 0xaa, 0xaa, 0xaa, 0xaa, 0xff, 0xff, 0xff, 0xff,
+ 0xaa, 0xaa, 0xaa, 0xaa, 0xff, 0xff, 0xff, 0xff,
+ 0xaa, 0xaa, 0xaa, 0xaa, 0xff, 0xff, 0xff, 0xff,
+ 0xaa, 0xaa, 0xaa, 0xaa, 0xff, 0xff, 0xff, 0xff,
+ 0xaa, 0xaa, 0xaa, 0xaa, 0xff, 0xff, 0xff, 0xff,
+ 0xaa, 0xaa, 0xaa, 0xaa, 0xff, 0xff, 0xff, 0xff,
+};
+
+static GLubyte *stippletab[4] = {NULL, p25, p50, p75};
+
+static void
+gamma_ramp(GLfloat yoffs, GLfloat r, GLfloat g, GLfloat b)
+{
+ GLint d;
+
+ glColor3f(0.0, 0.0, 0.0); /* solid black, no stipple */
+ glRectf(-1.0, yoffs, -0.6, yoffs + 0.5);
+
+ for(d = 1; d < 4; d++) { /* increasing density from 25% to 75% */
+ GLfloat xcoord = (-1.0 + d*0.4);
+
+ glColor3f(r*d / 5.0, g*d / 5.0, b*d / 5.0); /* draw outer rect */
+ glRectf(xcoord, yoffs, xcoord+0.4, yoffs + 0.5);
+
+ glColor3f(0.0, 0.0, 0.0); /* "clear" inner rect */
+ glRectf(xcoord + 0.1, yoffs + 0.125, xcoord + 0.3, yoffs + 0.375);
+
+ glColor3f(r, g, b); /* draw stippled inner rect */
+ glEnable(GL_POLYGON_STIPPLE);
+ glPolygonStipple(stippletab[d]);
+ glRectf(xcoord + 0.1, yoffs + 0.125, xcoord + 0.3, yoffs + 0.375);
+ glDisable(GL_POLYGON_STIPPLE);
+ }
+ glColor3f(r, g, b); /* solid color, no stipple */
+ glRectf(0.6, yoffs, 1.0, yoffs + 0.5);
+}
+
+static void
+display(void)
+{
+ gamma_ramp( 0.5, 1.0, 1.0, 1.0); /* white ramp */
+ gamma_ramp( 0.0, 1.0, 0.0, 0.0); /* red ramp */
+ gamma_ramp(-0.5, 0.0, 1.0, 0.0); /* green ramp */
+ gamma_ramp(-1.0, 0.0, 0.0, 1.0); /* blue ramp */
+ glFlush();
+}
+
+int
+main(int argc, char **argv)
+{
+ glutInit(&argc, argv);
+ glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
+
+ glutInitWindowPosition(50, 50);
+ glutInitWindowSize(500, 400);
+
+ glutCreateWindow("gamma test patterns");
+ glutReshapeFunc(Reshape);
+ glutDisplayFunc(display);
+ glutKeyboardFunc(key_esc);
+
+ glutMainLoop();
+ return 0; /* ANSI C requires main to return int. */
+}
diff --git a/progs/demos/gears.c b/progs/demos/gears.c
new file mode 100644
index 00000000000..8d99a8d317f
--- /dev/null
+++ b/progs/demos/gears.c
@@ -0,0 +1,356 @@
+/* $Id: gears.c,v 1.1 1999/08/19 00:55:40 jtg Exp $ */
+
+/*
+ * 3-D gear wheels. This program is in the public domain.
+ *
+ * Brian Paul
+ */
+
+/* Conversion to GLUT by Mark J. Kilgard */
+
+/*
+ * $Log: gears.c,v $
+ * Revision 1.1 1999/08/19 00:55:40 jtg
+ * Initial revision
+ *
+ * Revision 3.2 1999/06/03 17:07:36 brianp
+ * an extra quad was being drawn in front and back faces
+ *
+ * Revision 3.1 1998/11/03 02:49:10 brianp
+ * added fps output
+ *
+ * Revision 3.0 1998/02/14 18:42:29 brianp
+ * initial rev
+ *
+ */
+
+
+#include <math.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <GL/glut.h>
+
+#ifndef M_PI
+#define M_PI 3.14159265
+#endif
+
+static GLint T0 = 0;
+static GLint Frames = 0;
+
+
+/**
+
+ Draw a gear wheel. You'll probably want to call this function when
+ building a display list since we do a lot of trig here.
+
+ Input: inner_radius - radius of hole at center
+ outer_radius - radius at center of teeth
+ width - width of gear
+ teeth - number of teeth
+ tooth_depth - depth of tooth
+
+ **/
+
+static void
+gear(GLfloat inner_radius, GLfloat outer_radius, GLfloat width,
+ GLint teeth, GLfloat tooth_depth)
+{
+ GLint i;
+ GLfloat r0, r1, r2;
+ GLfloat angle, da;
+ GLfloat u, v, len;
+
+ r0 = inner_radius;
+ r1 = outer_radius - tooth_depth / 2.0;
+ r2 = outer_radius + tooth_depth / 2.0;
+
+ da = 2.0 * M_PI / teeth / 4.0;
+
+ glShadeModel(GL_FLAT);
+
+ glNormal3f(0.0, 0.0, 1.0);
+
+ /* draw front face */
+ glBegin(GL_QUAD_STRIP);
+ for (i = 0; i <= teeth; i++) {
+ angle = i * 2.0 * M_PI / teeth;
+ glVertex3f(r0 * cos(angle), r0 * sin(angle), width * 0.5);
+ glVertex3f(r1 * cos(angle), r1 * sin(angle), width * 0.5);
+ if (i < teeth) {
+ glVertex3f(r0 * cos(angle), r0 * sin(angle), width * 0.5);
+ glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da), width * 0.5);
+ }
+ }
+ glEnd();
+
+ /* draw front sides of teeth */
+ glBegin(GL_QUADS);
+ da = 2.0 * M_PI / teeth / 4.0;
+ for (i = 0; i < teeth; i++) {
+ angle = i * 2.0 * M_PI / teeth;
+
+ glVertex3f(r1 * cos(angle), r1 * sin(angle), width * 0.5);
+ glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), width * 0.5);
+ glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da), width * 0.5);
+ glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da), width * 0.5);
+ }
+ glEnd();
+
+ glNormal3f(0.0, 0.0, -1.0);
+
+ /* draw back face */
+ glBegin(GL_QUAD_STRIP);
+ for (i = 0; i <= teeth; i++) {
+ angle = i * 2.0 * M_PI / teeth;
+ glVertex3f(r1 * cos(angle), r1 * sin(angle), -width * 0.5);
+ glVertex3f(r0 * cos(angle), r0 * sin(angle), -width * 0.5);
+ if (i < teeth) {
+ glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da), -width * 0.5);
+ glVertex3f(r0 * cos(angle), r0 * sin(angle), -width * 0.5);
+ }
+ }
+ glEnd();
+
+ /* draw back sides of teeth */
+ glBegin(GL_QUADS);
+ da = 2.0 * M_PI / teeth / 4.0;
+ for (i = 0; i < teeth; i++) {
+ angle = i * 2.0 * M_PI / teeth;
+
+ glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da), -width * 0.5);
+ glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da), -width * 0.5);
+ glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), -width * 0.5);
+ glVertex3f(r1 * cos(angle), r1 * sin(angle), -width * 0.5);
+ }
+ glEnd();
+
+ /* draw outward faces of teeth */
+ glBegin(GL_QUAD_STRIP);
+ for (i = 0; i < teeth; i++) {
+ angle = i * 2.0 * M_PI / teeth;
+
+ glVertex3f(r1 * cos(angle), r1 * sin(angle), width * 0.5);
+ glVertex3f(r1 * cos(angle), r1 * sin(angle), -width * 0.5);
+ u = r2 * cos(angle + da) - r1 * cos(angle);
+ v = r2 * sin(angle + da) - r1 * sin(angle);
+ len = sqrt(u * u + v * v);
+ u /= len;
+ v /= len;
+ glNormal3f(v, -u, 0.0);
+ glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), width * 0.5);
+ glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), -width * 0.5);
+ glNormal3f(cos(angle), sin(angle), 0.0);
+ glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da), width * 0.5);
+ glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da), -width * 0.5);
+ u = r1 * cos(angle + 3 * da) - r2 * cos(angle + 2 * da);
+ v = r1 * sin(angle + 3 * da) - r2 * sin(angle + 2 * da);
+ glNormal3f(v, -u, 0.0);
+ glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da), width * 0.5);
+ glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da), -width * 0.5);
+ glNormal3f(cos(angle), sin(angle), 0.0);
+ }
+
+ glVertex3f(r1 * cos(0), r1 * sin(0), width * 0.5);
+ glVertex3f(r1 * cos(0), r1 * sin(0), -width * 0.5);
+
+ glEnd();
+
+ glShadeModel(GL_SMOOTH);
+
+ /* draw inside radius cylinder */
+ glBegin(GL_QUAD_STRIP);
+ for (i = 0; i <= teeth; i++) {
+ angle = i * 2.0 * M_PI / teeth;
+ glNormal3f(-cos(angle), -sin(angle), 0.0);
+ glVertex3f(r0 * cos(angle), r0 * sin(angle), -width * 0.5);
+ glVertex3f(r0 * cos(angle), r0 * sin(angle), width * 0.5);
+ }
+ glEnd();
+
+}
+
+static GLfloat view_rotx = 20.0, view_roty = 30.0, view_rotz = 0.0;
+static GLint gear1, gear2, gear3;
+static GLfloat angle = 0.0;
+
+static void
+draw(void)
+{
+ glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
+
+ glPushMatrix();
+ glRotatef(view_rotx, 1.0, 0.0, 0.0);
+ glRotatef(view_roty, 0.0, 1.0, 0.0);
+ glRotatef(view_rotz, 0.0, 0.0, 1.0);
+
+ glPushMatrix();
+ glTranslatef(-3.0, -2.0, 0.0);
+ glRotatef(angle, 0.0, 0.0, 1.0);
+ glCallList(gear1);
+ glPopMatrix();
+
+ glPushMatrix();
+ glTranslatef(3.1, -2.0, 0.0);
+ glRotatef(-2.0 * angle - 9.0, 0.0, 0.0, 1.0);
+ glCallList(gear2);
+ glPopMatrix();
+
+ glPushMatrix();
+ glTranslatef(-3.1, 4.2, 0.0);
+ glRotatef(-2.0 * angle - 25.0, 0.0, 0.0, 1.0);
+ glCallList(gear3);
+ glPopMatrix();
+
+ glPopMatrix();
+
+ glutSwapBuffers();
+
+ Frames++;
+ {
+ GLint t = glutGet(GLUT_ELAPSED_TIME);
+ if (t - T0 >= 5000) {
+ GLfloat seconds = (t - T0) / 1000.0;
+ GLfloat fps = Frames / seconds;
+ printf("%d frames in %g seconds = %g FPS\n", Frames, seconds, fps);
+ T0 = t;
+ Frames = 0;
+ }
+ }
+}
+
+
+static void
+idle(void)
+{
+ angle += 2.0;
+ glutPostRedisplay();
+}
+
+/* change view angle, exit upon ESC */
+/* ARGSUSED1 */
+static void
+key(unsigned char k, int x, int y)
+{
+ switch (k) {
+ case 'z':
+ view_rotz += 5.0;
+ break;
+ case 'Z':
+ view_rotz -= 5.0;
+ break;
+ case 27: /* Escape */
+ exit(0);
+ break;
+ default:
+ return;
+ }
+ glutPostRedisplay();
+}
+
+/* change view angle */
+/* ARGSUSED1 */
+static void
+special(int k, int x, int y)
+{
+ switch (k) {
+ case GLUT_KEY_UP:
+ view_rotx += 5.0;
+ break;
+ case GLUT_KEY_DOWN:
+ view_rotx -= 5.0;
+ break;
+ case GLUT_KEY_LEFT:
+ view_roty += 5.0;
+ break;
+ case GLUT_KEY_RIGHT:
+ view_roty -= 5.0;
+ break;
+ default:
+ return;
+ }
+ glutPostRedisplay();
+}
+
+/* new window size or exposure */
+static void
+reshape(int width, int height)
+{
+ GLfloat h = (GLfloat) height / (GLfloat) width;
+
+ glViewport(0, 0, (GLint) width, (GLint) height);
+ glMatrixMode(GL_PROJECTION);
+ glLoadIdentity();
+ glFrustum(-1.0, 1.0, -h, h, 5.0, 60.0);
+ glMatrixMode(GL_MODELVIEW);
+ glLoadIdentity();
+ glTranslatef(0.0, 0.0, -40.0);
+}
+
+static void
+init(void)
+{
+ static GLfloat pos[4] =
+ {5.0, 5.0, 10.0, 0.0};
+ static GLfloat red[4] =
+ {0.8, 0.1, 0.0, 1.0};
+ static GLfloat green[4] =
+ {0.0, 0.8, 0.2, 1.0};
+ static GLfloat blue[4] =
+ {0.2, 0.2, 1.0, 1.0};
+
+ glLightfv(GL_LIGHT0, GL_POSITION, pos);
+ glEnable(GL_CULL_FACE);
+ glEnable(GL_LIGHTING);
+ glEnable(GL_LIGHT0);
+ glEnable(GL_DEPTH_TEST);
+
+ /* make the gears */
+ gear1 = glGenLists(1);
+ glNewList(gear1, GL_COMPILE);
+ glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, red);
+ gear(1.0, 4.0, 1.0, 20, 0.7);
+ glEndList();
+
+ gear2 = glGenLists(1);
+ glNewList(gear2, GL_COMPILE);
+ glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, green);
+ gear(0.5, 2.0, 2.0, 10, 0.7);
+ glEndList();
+
+ gear3 = glGenLists(1);
+ glNewList(gear3, GL_COMPILE);
+ glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, blue);
+ gear(1.3, 2.0, 0.5, 10, 0.7);
+ glEndList();
+
+ glEnable(GL_NORMALIZE);
+}
+
+void
+visible(int vis)
+{
+ if (vis == GLUT_VISIBLE)
+ glutIdleFunc(idle);
+ else
+ glutIdleFunc(NULL);
+}
+
+int main(int argc, char *argv[])
+{
+ glutInit(&argc, argv);
+ glutInitDisplayMode(GLUT_RGB | GLUT_DEPTH | GLUT_DOUBLE);
+
+ glutInitWindowPosition(0, 0);
+ glutInitWindowSize(300, 300);
+ glutCreateWindow("Gears");
+ init();
+
+ glutDisplayFunc(draw);
+ glutReshapeFunc(reshape);
+ glutKeyboardFunc(key);
+ glutSpecialFunc(special);
+ glutVisibilityFunc(visible);
+
+ glutMainLoop();
+ return 0; /* ANSI C requires main to return int. */
+}
diff --git a/progs/demos/glinfo.c b/progs/demos/glinfo.c
new file mode 100644
index 00000000000..a61e3654748
--- /dev/null
+++ b/progs/demos/glinfo.c
@@ -0,0 +1,50 @@
+/* $Id: glinfo.c,v 1.1 1999/08/19 00:55:40 jtg Exp $ */
+
+/*
+ * Print GL, GLU and GLUT version and extension info
+ *
+ * Brian Paul This file in public domain.
+ * October 3, 1997
+ */
+
+
+/*
+ * $Log: glinfo.c,v $
+ * Revision 1.1 1999/08/19 00:55:40 jtg
+ * Initial revision
+ *
+ * Revision 3.2 1999/02/02 04:45:49 brianp
+ * include stdio.h before glut.h
+ *
+ * Revision 3.1 1998/02/22 16:42:54 brianp
+ * added casts to prevent compiler warnings
+ *
+ * Revision 3.0 1998/02/14 18:42:29 brianp
+ * initial rev
+ *
+ */
+
+
+#include <stdio.h>
+#include <GL/glut.h>
+
+
+int main( int argc, char *argv[] )
+{
+ glutInit( &argc, argv );
+ glutInitDisplayMode( GLUT_RGB );
+ glutCreateWindow(argv[0]);
+
+ printf("GL_VERSION: %s\n", (char *) glGetString(GL_VERSION));
+ printf("GL_EXTENSIONS: %s\n", (char *) glGetString(GL_EXTENSIONS));
+ printf("GL_RENDERER: %s\n", (char *) glGetString(GL_RENDERER));
+ printf("GL_VENDOR: %s\n", (char *) glGetString(GL_VENDOR));
+ printf("GLU_VERSION: %s\n", (char *) gluGetString(GLU_VERSION));
+ printf("GLU_EXTENSIONS: %s\n", (char *) gluGetString(GLU_EXTENSIONS));
+ printf("GLUT_API_VERSION: %d\n", GLUT_API_VERSION);
+#ifdef GLUT_XLIB_IMPLEMENTATION
+ printf("GLUT_XLIB_IMPLEMENTATION: %d\n", GLUT_XLIB_IMPLEMENTATION);
+#endif
+
+ return 0;
+}
diff --git a/progs/demos/glutfx.c b/progs/demos/glutfx.c
new file mode 100644
index 00000000000..278d726bcb8
--- /dev/null
+++ b/progs/demos/glutfx.c
@@ -0,0 +1,207 @@
+/* $Id: glutfx.c,v 1.1 1999/08/19 00:55:40 jtg Exp $ */
+
+/*
+ * Example of how one might use GLUT with the 3Dfx driver in full-screen mode.
+ * Note: this only works with X since we're using Mesa's GLX "hack" for
+ * using Glide.
+ *
+ * Goals:
+ * easy setup and input event handling with GLUT
+ * use 3Dfx hardware
+ * automatically set MESA environment variables
+ * don't lose mouse input focus
+ *
+ * Brian Paul This file is in the public domain.
+ */
+
+/*
+ * $Log: glutfx.c,v $
+ * Revision 1.1 1999/08/19 00:55:40 jtg
+ * Initial revision
+ *
+ * Revision 3.2 1999/03/28 18:18:33 brianp
+ * minor clean-up
+ *
+ * Revision 3.1 1998/06/29 02:37:30 brianp
+ * minor changes for Windows (Ted Jump)
+ *
+ * Revision 3.0 1998/02/14 18:42:29 brianp
+ * initial rev
+ *
+ */
+
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include <GL/glut.h>
+
+
+#define WIDTH 640
+#define HEIGHT 480
+
+
+static int Window = 0;
+static int ScreenWidth, ScreenHeight;
+static GLuint Torus = 0;
+static GLfloat Xrot = 0.0, Yrot = 0.0;
+
+
+
+static void Display( void )
+{
+ static GLfloat blue[4] = {0.2, 0.2, 1.0, 1.0};
+ static GLfloat red[4] = {1.0, 0.2, 0.2, 1.0};
+ static GLfloat green[4] = {0.2, 1.0, 0.2, 1.0};
+
+ glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
+
+ glPushMatrix();
+ glRotatef(Xrot, 1, 0, 0);
+ glRotatef(Yrot, 0, 1, 0);
+
+ glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE, blue);
+ glCallList(Torus);
+
+ glRotatef(90.0, 1, 0, 0);
+ glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE, red);
+ glCallList(Torus);
+
+ glRotatef(90.0, 0, 1, 0);
+ glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE, green);
+ glCallList(Torus);
+
+ glPopMatrix();
+
+ glutSwapBuffers();
+}
+
+
+static void Reshape( int width, int height )
+{
+ float ratio = (float) width / (float) height;
+
+ ScreenWidth = width;
+ ScreenHeight = height;
+
+ /*
+ * The 3Dfx driver is limited to 640 x 480 but the X window may be larger.
+ * Enforce that here.
+ */
+ if (width > WIDTH)
+ width = WIDTH;
+ if (height > HEIGHT)
+ height = HEIGHT;
+
+ glViewport( 0, 0, width, height );
+ glMatrixMode( GL_PROJECTION );
+ glLoadIdentity();
+ glFrustum( -ratio, ratio, -1.0, 1.0, 5.0, 30.0 );
+ glMatrixMode( GL_MODELVIEW );
+ glLoadIdentity();
+ glTranslatef( 0.0, 0.0, -20.0 );
+}
+
+
+static void Key( unsigned char key, int x, int y )
+{
+ (void) x;
+ (void) y;
+ switch (key) {
+ case 27:
+ glutDestroyWindow(Window);
+ exit(0);
+ break;
+ }
+ glutPostRedisplay();
+}
+
+
+static void SpecialKey( int key, int x, int y )
+{
+ (void) x;
+ (void) y;
+ switch (key) {
+ case GLUT_KEY_UP:
+ break;
+ case GLUT_KEY_DOWN:
+ break;
+ case GLUT_KEY_LEFT:
+ break;
+ case GLUT_KEY_RIGHT:
+ break;
+ }
+ glutPostRedisplay();
+}
+
+
+static void MouseMove( int x, int y )
+{
+ Xrot = y - ScreenWidth / 2;
+ Yrot = x - ScreenHeight / 2;
+ glutPostRedisplay();
+}
+
+
+static void Init( void )
+{
+ Torus = glGenLists(1);
+ glNewList(Torus, GL_COMPILE);
+ glutSolidTorus(0.5, 2.0, 10, 20);
+ glEndList();
+
+ glEnable(GL_LIGHTING);
+ glEnable(GL_LIGHT0);
+
+ glEnable(GL_DEPTH_TEST);
+ glEnable(GL_CULL_FACE);
+}
+
+
+int main( int argc, char *argv[] )
+{
+#ifndef _WIN32
+ printf("NOTE: if you've got 3Dfx VooDoo hardware you must run this");
+ printf(" program as root.\n\n");
+ printf("Move the mouse. Press ESC to exit.\n\n");
+ sleep(2);
+#endif
+
+ /* Tell Mesa GLX to use 3Dfx driver in fullscreen mode. */
+ putenv("MESA_GLX_FX=fullscreen");
+
+ /* Disable 3Dfx Glide splash screen */
+ putenv("FX_GLIDE_NO_SPLASH=");
+
+ /* Give an initial size and position so user doesn't have to place window */
+ glutInitWindowPosition(0, 0);
+ glutInitWindowSize(WIDTH, HEIGHT);
+ glutInit( &argc, argv );
+
+ glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH );
+
+ Window = glutCreateWindow(argv[0]);
+ if (!Window) {
+ printf("Error, couldn't open window\n");
+ exit(1);
+ }
+
+ /*
+ * Want the X window to fill the screen so that we don't have to
+ * worry about losing the mouse input focus.
+ * Note that we won't actually see the X window since we never draw
+ * to it, hence, the original X screen's contents aren't disturbed.
+ */
+ glutFullScreen();
+
+ Init();
+
+ glutReshapeFunc( Reshape );
+ glutKeyboardFunc( Key );
+ glutSpecialFunc( SpecialKey );
+ glutDisplayFunc( Display );
+ glutPassiveMotionFunc( MouseMove );
+
+ glutMainLoop();
+ return 0;
+}
diff --git a/progs/demos/isosurf.c b/progs/demos/isosurf.c
new file mode 100644
index 00000000000..393197f66de
--- /dev/null
+++ b/progs/demos/isosurf.c
@@ -0,0 +1,821 @@
+/* $Id: isosurf.c,v 1.1 1999/08/19 00:55:40 jtg Exp $ */
+
+/*
+ * Display an isosurface of 3-D wind speed volume. Use arrow keys to
+ * rotate, S toggles smooth shading, L toggles lighting
+ * Brian Paul This file in public domain.
+ */
+
+/*
+ * $Log: isosurf.c,v $
+ * Revision 1.1 1999/08/19 00:55:40 jtg
+ * Initial revision
+ *
+ * Revision 3.4 1999/04/24 01:10:47 keithw
+ * clip planes, materials
+ *
+ * Revision 3.3 1999/03/31 19:42:14 keithw
+ * support for cva
+ *
+ * Revision 3.1 1998/11/01 20:30:20 brianp
+ * added benchmark feature (b key)
+ *
+ * Revision 3.0 1998/02/14 18:42:29 brianp
+ * initial rev
+ *
+ */
+
+
+
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <math.h>
+#include "GL/glut.h"
+
+#include "../util/readtex.c" /* I know, this is a hack. KW: me too. */
+#define TEXTURE_FILE "../images/reflect.rgb"
+
+#define LIT 0x1
+#define UNLIT 0x2
+#define TEXTURE 0x4
+#define NO_TEXTURE 0x8
+#define REFLECT 0x10
+#define NO_REFLECT 0x20
+#define POINT_FILTER 0x40
+#define LINEAR_FILTER 0x80
+#define IMMEDIATE 0x100
+#define DRAW_ARRAYS 0x200 /* or draw_elts, if compiled */
+#define ARRAY_ELT 0x400
+#define COMPILED 0x800
+#define NOT_COMPILED 0x1000
+#define SHADE_SMOOTH 0x2000
+#define SHADE_FLAT 0x4000
+#define TRIANGLES 0x8000
+#define STRIPS 0x10000
+#define USER_CLIP 0x20000
+#define NO_USER_CLIP 0x40000
+#define MATERIALS 0x80000
+#define NO_MATERIALS 0x100000
+#define QUIT 0x800000
+
+#define LIGHT_MASK (LIT|UNLIT)
+#define TEXTURE_MASK (TEXTURE|NO_TEXTURE)
+#define REFLECT_MASK (REFLECT|NO_REFLECT)
+#define FILTER_MASK (POINT_FILTER|LINEAR_FILTER)
+#define RENDER_STYLE_MASK (IMMEDIATE|DRAW_ARRAYS|ARRAY_ELT)
+#define COMPILED_MASK (COMPILED|NOT_COMPILED)
+#define MATERIAL_MASK (MATERIALS|NO_MATERIALS)
+#define PRIMITIVE_MASK (TRIANGLES|STRIPS)
+#define CLIP_MASK (USER_CLIP|NO_USER_CLIP)
+#define SHADE_MASK (SHADE_SMOOTH|SHADE_FLAT)
+
+#define MAXVERTS 10000
+static float data[MAXVERTS][6];
+static float compressed_data[MAXVERTS][6];
+static GLuint indices[MAXVERTS];
+static GLuint tri_indices[MAXVERTS*3];
+static GLfloat col[100][4];
+static GLint numverts, num_tri_verts, numuniq;
+
+static GLfloat xrot;
+static GLfloat yrot;
+static GLint state, allowed = ~0;
+static GLboolean doubleBuffer = GL_TRUE;
+static GLdouble plane[4] = {1.0, 0.0, -1.0, 0.0};
+
+
+static void read_surface( char *filename )
+{
+ FILE *f;
+
+ f = fopen(filename,"r");
+ if (!f) {
+ printf("couldn't read %s\n", filename);
+ exit(1);
+ }
+
+ numverts = 0;
+ while (!feof(f) && numverts<MAXVERTS) {
+ fscanf( f, "%f %f %f %f %f %f",
+ &data[numverts][0], &data[numverts][1], &data[numverts][2],
+ &data[numverts][3], &data[numverts][4], &data[numverts][5] );
+ numverts++;
+ }
+ numverts--;
+
+ printf("%d vertices, %d triangles\n", numverts, numverts-2);
+ fclose(f);
+}
+
+
+
+
+struct data_idx {
+ float *data;
+ int idx;
+ int uniq_idx;
+};
+
+
+#define COMPARE_FUNC( AXIS ) \
+int compare_axis_##AXIS( const void *a, const void *b ) \
+{ \
+ float t = ( (*(struct data_idx *)a).data[AXIS] - \
+ (*(struct data_idx *)b).data[AXIS] ); \
+ \
+ if (t < 0) return -1; \
+ if (t > 0) return 1; \
+ return 0; \
+}
+
+COMPARE_FUNC(0)
+COMPARE_FUNC(1)
+COMPARE_FUNC(2)
+COMPARE_FUNC(3)
+COMPARE_FUNC(4)
+COMPARE_FUNC(5)
+COMPARE_FUNC(6)
+
+int (*(compare[7]))( const void *a, const void *b ) =
+{
+ compare_axis_0,
+ compare_axis_1,
+ compare_axis_2,
+ compare_axis_3,
+ compare_axis_4,
+ compare_axis_5,
+ compare_axis_6,
+};
+
+
+#define VEC_ELT(f, s, i) (float *)(((char *)f) + s * i)
+
+static int sort_axis( int axis,
+ int vec_size,
+ int vec_stride,
+ struct data_idx *indices,
+ int start,
+ int finish,
+ float *out,
+ int uniq,
+ const float fudge )
+{
+ int i;
+
+ if (finish-start > 2)
+ {
+ qsort( indices+start, finish-start, sizeof(*indices), compare[axis] );
+ }
+ else if (indices[start].data[axis] > indices[start+1].data[axis])
+ {
+ struct data_idx tmp = indices[start];
+ indices[start] = indices[start+1];
+ indices[start+1] = tmp;
+ }
+
+ if (axis == vec_size-1) {
+ for (i = start ; i < finish ; ) {
+ float max = indices[i].data[axis] + fudge;
+ float *dest = VEC_ELT(out, vec_stride, uniq);
+ int j;
+
+ for (j = 0 ; j < vec_size ; j++)
+ dest[j] = indices[i].data[j];
+
+ for ( ; i < finish && max >= indices[i].data[axis]; i++)
+ indices[i].uniq_idx = uniq;
+
+ uniq++;
+ }
+ } else {
+ for (i = start ; i < finish ; ) {
+ int j = i + 1;
+ float max = indices[i].data[axis] + fudge;
+ while (j < finish && max >= indices[j].data[axis]) j++;
+ if (j == i+1) {
+ float *dest = VEC_ELT(out, vec_stride, uniq);
+ int k;
+
+ indices[i].uniq_idx = uniq;
+
+ for (k = 0 ; k < vec_size ; k++)
+ dest[k] = indices[i].data[k];
+
+ uniq++;
+ } else {
+ uniq = sort_axis( axis+1, vec_size, vec_stride,
+ indices, i, j, out, uniq, fudge );
+ }
+ i = j;
+ }
+ }
+
+ return uniq;
+}
+
+
+static void extract_indices1( const struct data_idx *in, unsigned int *out,
+ int n )
+{
+ int i;
+ for ( i = 0 ; i < n ; i++ ) {
+ out[in[i].idx] = in[i].uniq_idx;
+ }
+}
+
+
+static void compactify_arrays()
+{
+ int i;
+ struct data_idx *ind;
+
+ ind = (struct data_idx *) malloc( sizeof(struct data_idx) * numverts );
+
+ for (i = 0 ; i < numverts ; i++) {
+ ind[i].idx = i;
+ ind[i].data = data[i];
+ }
+
+ numuniq = sort_axis(0,
+ sizeof(compressed_data[0])/sizeof(float),
+ sizeof(compressed_data[0]),
+ ind,
+ 0,
+ numverts,
+ (float *)compressed_data,
+ 0,
+ 1e-6);
+
+ printf("Nr unique vertex/normal pairs: %d\n", numuniq);
+
+ extract_indices1( ind, indices, numverts );
+ free( ind );
+}
+
+static float myrand( float max )
+{
+ return max*rand()/(RAND_MAX+1.0);
+}
+
+
+static void make_tri_indices( void )
+{
+ unsigned int *v = tri_indices;
+ unsigned int parity = 0;
+ unsigned int i, j;
+
+ for (j=2;j<numverts;j++,parity^=1) {
+ if (parity) {
+ *v++ = indices[j-1];
+ *v++ = indices[j-2];
+ *v++ = indices[j];
+ } else {
+ *v++ = indices[j-2];
+ *v++ = indices[j-1];
+ *v++ = indices[j];
+ }
+ }
+
+ num_tri_verts = v - tri_indices;
+ printf("num_tri_verts: %d\n", num_tri_verts);
+
+ for (i = j = 0 ; i < num_tri_verts ; i += 600, j++) {
+ col[j][3] = 1;
+ col[j][2] = myrand(1);
+ col[j][1] = myrand(1);
+ col[j][0] = myrand(1);
+ }
+}
+
+#define MIN(x,y) (x < y) ? x : y
+
+static void draw_surface( void )
+{
+ GLuint i, j;
+
+ switch (state & (COMPILED_MASK|RENDER_STYLE_MASK|PRIMITIVE_MASK)) {
+#ifdef GL_EXT_vertex_array
+
+ case (COMPILED|DRAW_ARRAYS|STRIPS):
+ glDrawElements( GL_TRIANGLE_STRIP, numverts, GL_UNSIGNED_INT, indices );
+ break;
+
+
+ case (COMPILED|ARRAY_ELT|STRIPS):
+ glBegin( GL_TRIANGLE_STRIP );
+ for (i = 0 ; i < numverts ; i++)
+ glArrayElement( indices[i] );
+ glEnd();
+ break;
+
+ case (COMPILED|DRAW_ARRAYS|TRIANGLES):
+ case (NOT_COMPILED|DRAW_ARRAYS|TRIANGLES):
+ if (state & MATERIALS) {
+ for (j = i = 0 ; i < num_tri_verts ; i += 600, j++) {
+ GLuint nr = MIN(num_tri_verts-i, 600);
+ glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, col[j]);
+ glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, col[j]);
+ glDrawElements( GL_TRIANGLES, nr, GL_UNSIGNED_INT, tri_indices+i );
+ }
+ } else {
+ glDrawElements( GL_TRIANGLES, num_tri_verts, GL_UNSIGNED_INT,
+ tri_indices );
+ }
+
+ break;
+
+ /* Uses the original arrays (including duplicate elements):
+ */
+ case (NOT_COMPILED|DRAW_ARRAYS|STRIPS):
+ glDrawArraysEXT( GL_TRIANGLE_STRIP, 0, numverts );
+ break;
+
+ /* Uses the original arrays (including duplicate elements):
+ */
+ case (NOT_COMPILED|ARRAY_ELT|STRIPS):
+ glBegin( GL_TRIANGLE_STRIP );
+ for (i = 0 ; i < numverts ; i++)
+ glArrayElement( i );
+ glEnd();
+ break;
+
+ case (NOT_COMPILED|ARRAY_ELT|TRIANGLES):
+ case (COMPILED|ARRAY_ELT|TRIANGLES):
+ if (state & MATERIALS) {
+ for (j = i = 0 ; i < num_tri_verts ; i += 600, j++) {
+ GLuint nr = MIN(num_tri_verts-i, 600);
+ GLuint k;
+ glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, col[j]);
+ glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, col[j]);
+ glBegin( GL_TRIANGLES );
+ for (k = 0 ; k < nr ; k++)
+ glArrayElement( tri_indices[i+k] );
+ glEnd();
+ }
+ } else {
+ glBegin( GL_TRIANGLES );
+ for (i = 0 ; i < num_tri_verts ; i++)
+ glArrayElement( tri_indices[i] );
+ glEnd();
+ }
+ break;
+
+ case (NOT_COMPILED|IMMEDIATE|TRIANGLES):
+ if (state & MATERIALS) {
+ for (j = i = 0 ; i < num_tri_verts ; i += 600, j++) {
+ GLuint nr = MIN(num_tri_verts-i, 600);
+ GLuint k;
+ glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, col[j]);
+ glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, col[j]);
+ glBegin( GL_TRIANGLES );
+ for (k = 0 ; k < nr ; k++) {
+ glNormal3fv( &compressed_data[tri_indices[i+k]][3] );
+ glVertex3fv( &compressed_data[tri_indices[i+k]][0] );
+ }
+ glEnd();
+ }
+ } else {
+ glBegin( GL_TRIANGLES );
+ for (i = 0 ; i < num_tri_verts ; i++) {
+ glNormal3fv( &compressed_data[tri_indices[i]][3] );
+ glVertex3fv( &compressed_data[tri_indices[i]][0] );
+ }
+ glEnd();
+ }
+ break;
+
+#endif
+
+ /* Uses the original arrays (including duplicate elements):
+ */
+ default:
+ glBegin( GL_TRIANGLE_STRIP );
+ for (i=0;i<numverts;i++) {
+ glNormal3fv( &data[i][3] );
+ glVertex3fv( &data[i][0] );
+ }
+ glEnd();
+ }
+}
+
+
+
+static void Display(void)
+{
+ glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
+ draw_surface();
+ glFlush();
+ if (doubleBuffer) glutSwapBuffers();
+}
+
+/* KW: only do this when necessary, so CVA can re-use results.
+ */
+static void set_matrix( void )
+{
+ glMatrixMode(GL_MODELVIEW);
+ glLoadIdentity();
+ glTranslatef( 0.0, 0.0, -6.0 );
+ glRotatef( yrot, 0.0, 1.0, 0.0 );
+ glRotatef( xrot, 1.0, 0.0, 0.0 );
+}
+
+static void Benchmark( float xdiff, float ydiff )
+{
+ int startTime, endTime;
+ int draws;
+ double seconds, fps, triPerSecond;
+
+ printf("Benchmarking...\n");
+
+ draws = 0;
+ startTime = glutGet(GLUT_ELAPSED_TIME);
+ xrot = 0.0;
+ do {
+ xrot += xdiff;
+ yrot += ydiff;
+ set_matrix();
+ Display();
+ draws++;
+ endTime = glutGet(GLUT_ELAPSED_TIME);
+ } while (endTime - startTime < 5000); /* 5 seconds */
+
+ /* Results */
+ seconds = (double) (endTime - startTime) / 1000.0;
+ triPerSecond = (numverts - 2) * draws / seconds;
+ fps = draws / seconds;
+ printf("Result: triangles/sec: %g fps: %g\n", triPerSecond, fps);
+}
+
+
+static void InitMaterials(void)
+{
+ static float ambient[] = {0.1, 0.1, 0.1, 1.0};
+ static float diffuse[] = {0.5, 1.0, 1.0, 1.0};
+ static float position0[] = {0.0, 0.0, 20.0, 0.0};
+ static float position1[] = {0.0, 0.0, -20.0, 0.0};
+ static float front_mat_shininess[] = {60.0};
+ static float front_mat_specular[] = {0.2, 0.2, 0.2, 1.0};
+ static float front_mat_diffuse[] = {0.5, 0.28, 0.38, 1.0};
+ /*
+ static float back_mat_shininess[] = {60.0};
+ static float back_mat_specular[] = {0.5, 0.5, 0.2, 1.0};
+ static float back_mat_diffuse[] = {1.0, 1.0, 0.2, 1.0};
+ */
+ static float lmodel_ambient[] = {1.0, 1.0, 1.0, 1.0};
+ static float lmodel_twoside[] = {GL_FALSE};
+
+ glLightfv(GL_LIGHT0, GL_AMBIENT, ambient);
+ glLightfv(GL_LIGHT0, GL_DIFFUSE, diffuse);
+ glLightfv(GL_LIGHT0, GL_POSITION, position0);
+ glEnable(GL_LIGHT0);
+
+ glLightfv(GL_LIGHT1, GL_AMBIENT, ambient);
+ glLightfv(GL_LIGHT1, GL_DIFFUSE, diffuse);
+ glLightfv(GL_LIGHT1, GL_POSITION, position1);
+ glEnable(GL_LIGHT1);
+
+ glLightModelfv(GL_LIGHT_MODEL_AMBIENT, lmodel_ambient);
+ glLightModelfv(GL_LIGHT_MODEL_TWO_SIDE, lmodel_twoside);
+
+ glMaterialfv(GL_FRONT_AND_BACK, GL_SHININESS, front_mat_shininess);
+ glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, front_mat_specular);
+ glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, front_mat_diffuse);
+}
+
+
+
+#define UPDATE(o,n,mask) (o&=~mask, o|=n&mask)
+#define CHANGED(o,n,mask) ((n&mask) && \
+ (n&mask) != (o&mask) ? UPDATE(o,n,mask) : 0)
+
+static void ModeMenu(int m)
+{
+ m &= allowed;
+
+ if (!m) return;
+
+ if (m==QUIT)
+ exit(0);
+
+ if (CHANGED(state, m, FILTER_MASK)) {
+ if (m & LINEAR_FILTER) {
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
+ } else {
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
+ }
+ }
+
+ if (CHANGED(state, m, LIGHT_MASK)) {
+ if (m & LIT)
+ glEnable(GL_LIGHTING);
+ else
+ glDisable(GL_LIGHTING);
+ }
+
+ if (CHANGED(state, m, SHADE_MASK)) {
+ if (m & SHADE_SMOOTH)
+ glShadeModel(GL_SMOOTH);
+ else
+ glShadeModel(GL_FLAT);
+ }
+
+
+ if (CHANGED(state, m, TEXTURE_MASK)) {
+ if (m & TEXTURE)
+ glEnable(GL_TEXTURE_2D);
+ else
+ glDisable(GL_TEXTURE_2D);
+ }
+
+ if (CHANGED(state, m, REFLECT_MASK)) {
+ if (m & REFLECT) {
+ glEnable(GL_TEXTURE_GEN_S);
+ glEnable(GL_TEXTURE_GEN_T);
+ } else {
+ glDisable(GL_TEXTURE_GEN_S);
+ glDisable(GL_TEXTURE_GEN_T);
+ }
+ }
+
+ if (CHANGED(state, m, CLIP_MASK)) {
+ if (m & USER_CLIP) {
+ glEnable(GL_CLIP_PLANE0);
+ } else {
+ glDisable(GL_CLIP_PLANE0);
+ }
+ }
+
+#ifdef GL_EXT_vertex_array
+ if (CHANGED(state, m, (COMPILED_MASK|RENDER_STYLE_MASK|PRIMITIVE_MASK)))
+ {
+ if ((m & (COMPILED_MASK|PRIMITIVE_MASK)) == (NOT_COMPILED|STRIPS))
+ {
+ glVertexPointerEXT( 3, GL_FLOAT, sizeof(data[0]), numverts, data );
+ glNormalPointerEXT( GL_FLOAT, sizeof(data[0]), numverts, &data[0][3]);
+ }
+ else
+ {
+ glVertexPointerEXT( 3, GL_FLOAT, sizeof(data[0]), numuniq,
+ compressed_data );
+ glNormalPointerEXT( GL_FLOAT, sizeof(data[0]), numuniq,
+ &compressed_data[0][3]);
+ }
+#ifdef GL_EXT_compiled_vertex_array
+ if (m & COMPILED) {
+ glLockArraysEXT( 0, numuniq );
+ } else {
+ glUnlockArraysEXT();
+ }
+#endif
+ }
+#endif
+
+ if (m & (RENDER_STYLE_MASK|PRIMITIVE_MASK)) {
+ UPDATE(state, m, (RENDER_STYLE_MASK|PRIMITIVE_MASK));
+ }
+
+ if (m & MATERIAL_MASK) {
+ UPDATE(state, m, MATERIAL_MASK);
+ }
+
+ glutPostRedisplay();
+}
+
+
+
+static void Init(void)
+{
+ glClearColor(0.0, 0.0, 0.0, 0.0);
+ glEnable( GL_DEPTH_TEST );
+ glEnable( GL_VERTEX_ARRAY_EXT );
+ glEnable( GL_NORMAL_ARRAY_EXT );
+
+ InitMaterials();
+
+ glMatrixMode(GL_PROJECTION);
+ glLoadIdentity();
+ glFrustum( -1.0, 1.0, -1.0, 1.0, 5, 25 );
+
+ glMatrixMode(GL_MODELVIEW);
+ glLoadIdentity();
+ glClipPlane(GL_CLIP_PLANE0, plane);
+
+ set_matrix();
+
+ glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL);
+ glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_FASTEST);
+
+ glTexGeni(GL_S, GL_TEXTURE_GEN_MODE, GL_SPHERE_MAP);
+ glTexGeni(GL_T, GL_TEXTURE_GEN_MODE, GL_SPHERE_MAP);
+
+ if (!LoadRGBMipmaps(TEXTURE_FILE, GL_RGB)) {
+ printf("Error: couldn't load texture image\n");
+ exit(1);
+ }
+
+ if (allowed & COMPILED) {
+ compactify_arrays();
+ make_tri_indices();
+ }
+
+ ModeMenu(SHADE_SMOOTH|
+ LIT|
+ NO_TEXTURE|
+ NO_REFLECT|
+ POINT_FILTER|
+ NOT_COMPILED|
+ NO_USER_CLIP|
+ NO_MATERIALS|
+ IMMEDIATE);
+}
+
+
+
+static void Reshape(int width, int height)
+{
+ glViewport(0, 0, (GLint)width, (GLint)height);
+}
+
+
+
+static void Key( unsigned char key, int x, int y )
+{
+ switch (key) {
+ case 27:
+ exit(0);
+ case 's':
+ ModeMenu((state ^ SHADE_MASK) & SHADE_MASK);
+ break;
+ case 'l':
+ ModeMenu((state ^ LIGHT_MASK) & LIGHT_MASK);
+ break;
+ case 'm':
+ ModeMenu((state ^ MATERIAL_MASK) & MATERIAL_MASK);
+ break;
+ case 'c':
+ ModeMenu((state ^ CLIP_MASK) & CLIP_MASK);
+ break;
+ case 'b':
+ Benchmark(5.0, 0);
+ break;
+ case 'B':
+ Benchmark(0, 5.0);
+ break;
+ case '-':
+ case '_':
+ plane[3] += 2.0;
+ glMatrixMode(GL_MODELVIEW);
+ glLoadIdentity();
+ glClipPlane(GL_CLIP_PLANE0, plane);
+ set_matrix();
+ glutPostRedisplay();
+ break;
+ case '+':
+ case '=':
+ plane[3] -= 2.0;
+ glMatrixMode(GL_MODELVIEW);
+ glLoadIdentity();
+ glClipPlane(GL_CLIP_PLANE0, plane);
+ set_matrix();
+ glutPostRedisplay();
+ break;
+
+ }
+}
+
+
+static void SpecialKey( int key, int x, int y )
+{
+ switch (key) {
+ case GLUT_KEY_LEFT:
+ yrot -= 15.0;
+ break;
+ case GLUT_KEY_RIGHT:
+ yrot += 15.0;
+ break;
+ case GLUT_KEY_UP:
+ xrot += 15.0;
+ break;
+ case GLUT_KEY_DOWN:
+ xrot -= 15.0;
+ break;
+ default:
+ return;
+ }
+ set_matrix();
+ glutPostRedisplay();
+}
+
+
+
+static GLint Args(int argc, char **argv)
+{
+ GLint i;
+ GLint mode = 0;
+
+ for (i = 1; i < argc; i++) {
+ if (strcmp(argv[i], "-sb") == 0) {
+ doubleBuffer = GL_FALSE;
+ }
+ else if (strcmp(argv[i], "-db") == 0) {
+ doubleBuffer = GL_TRUE;
+ }
+ else {
+ printf("%s (Bad option).\n", argv[i]);
+ return QUIT;
+ }
+ }
+
+ return mode;
+}
+
+int main(int argc, char **argv)
+{
+ GLenum type;
+ char *extensions;
+
+ GLuint arg_mode = Args(argc, argv);
+
+ if (arg_mode & QUIT)
+ exit(0);
+
+ read_surface( "isosurf.dat" );
+
+ glutInitWindowPosition(0, 0);
+ glutInitWindowSize(400, 400);
+
+ type = GLUT_DEPTH;
+ type |= GLUT_RGB;
+ type |= (doubleBuffer) ? GLUT_DOUBLE : GLUT_SINGLE;
+ glutInitDisplayMode(type);
+
+ if (glutCreateWindow("Isosurface") <= 0) {
+ exit(0);
+ }
+
+ /* Make sure server supports the vertex array extension */
+ extensions = (char *) glGetString( GL_EXTENSIONS );
+
+ if (!strstr( extensions, "GL_EXT_vertex_array" ))
+ {
+ printf("Vertex arrays not supported by this renderer\n");
+ allowed &= ~(COMPILED|DRAW_ARRAYS|ARRAY_ELT);
+ }
+ else if (!strstr( extensions, "GL_EXT_compiled_vertex_array" ))
+ {
+ printf("Compiled vertex arrays not supported by this renderer\n");
+ allowed &= ~COMPILED;
+ }
+
+ Init();
+ ModeMenu(arg_mode);
+
+ glutCreateMenu(ModeMenu);
+ glutAddMenuEntry("Lit", LIT|NO_TEXTURE|NO_REFLECT);
+ glutAddMenuEntry("Unlit", UNLIT|NO_TEXTURE|NO_REFLECT);
+/* glutAddMenuEntry("Textured", TEXTURE); */
+ glutAddMenuEntry("Reflect", TEXTURE|REFLECT);
+ glutAddMenuEntry("", 0);
+ glutAddMenuEntry("Smooth", SHADE_SMOOTH);
+ glutAddMenuEntry("Flat", SHADE_FLAT);
+ glutAddMenuEntry("", 0);
+ glutAddMenuEntry("Point Filtered", POINT_FILTER);
+ glutAddMenuEntry("Linear Filtered", LINEAR_FILTER);
+ glutAddMenuEntry("", 0);
+ glutAddMenuEntry("Immediate (STRIPS)", NOT_COMPILED|IMMEDIATE|STRIPS);
+ glutAddMenuEntry("Immediate (TRIANGLES)", NOT_COMPILED|IMMEDIATE|TRIANGLES);
+ glutAddMenuEntry("", 0);
+ if (allowed & DRAW_ARRAYS) {
+ glutAddMenuEntry("DrawArrays (STRIPS)",
+ NOT_COMPILED|DRAW_ARRAYS|STRIPS);
+ glutAddMenuEntry("ArrayElement (STRIPS)",
+ NOT_COMPILED|ARRAY_ELT|STRIPS);
+ glutAddMenuEntry("DrawElements (TRIANGLES)",
+ NOT_COMPILED|DRAW_ARRAYS|TRIANGLES);
+ glutAddMenuEntry("ArrayElement (TRIANGLES)",
+ NOT_COMPILED|ARRAY_ELT|TRIANGLES);
+ glutAddMenuEntry("", 0);
+
+ }
+ if (allowed & COMPILED) {
+ glutAddMenuEntry("Compiled DrawElements (TRIANGLES)",
+ COMPILED|DRAW_ARRAYS|TRIANGLES);
+ glutAddMenuEntry("Compiled DrawElements (STRIPS)",
+ COMPILED|DRAW_ARRAYS|STRIPS);
+ glutAddMenuEntry("Compiled ArrayElement",
+ COMPILED|ARRAY_ELT|STRIPS);
+ glutAddMenuEntry("", 0);
+ }
+ glutAddMenuEntry("Quit", QUIT);
+ glutAttachMenu(GLUT_RIGHT_BUTTON);
+
+ glutReshapeFunc(Reshape);
+ glutKeyboardFunc(Key);
+ glutSpecialFunc(SpecialKey);
+ glutDisplayFunc(Display);
+ glutMainLoop();
+ return 0;
+}
diff --git a/progs/demos/isosurf.dat b/progs/demos/isosurf.dat
new file mode 100644
index 00000000000..5cadecdb430
--- /dev/null
+++ b/progs/demos/isosurf.dat
@@ -0,0 +1,7179 @@
+-1.000000 0.050200 0.254800 0.280000 0.504000 0.808000
+-1.000000 0.061400 0.243900 0.248000 0.608000 0.744000
+-0.973900 0.050200 0.243900 0.312000 0.448000 0.832000
+-1.000000 0.100400 0.207000 0.040000 0.608000 0.784000
+-0.950000 0.050200 0.232900 0.312000 0.424000 0.840000
+-0.950000 0.100400 0.204500 0.176000 0.504000 0.840000
+-0.900000 0.050200 0.202100 0.368000 0.256000 0.888000
+-0.900000 0.100400 0.184100 0.296000 0.408000 0.856000
+-0.865600 0.050200 0.182900 0.480000 0.256000 0.832000
+-0.897500 0.100400 0.182900 0.392000 0.408000 0.816000
+-0.850000 0.050200 0.170400 0.488000 0.296000 0.816000
+-0.850000 0.100400 0.150400 0.488000 0.512000 0.696000
+-0.800000 0.050200 0.139800 0.504000 0.392000 0.760000
+-0.820700 0.100400 0.121900 0.496000 0.488000 0.704000
+-0.800000 0.077200 0.121900 0.512000 0.416000 0.744000
+-0.800000 0.100400 0.105500 0.480000 0.456000 0.736000
+-0.781300 0.050200 0.121900 0.536000 0.400000 0.736000
+-0.750000 0.100400 0.065100 0.488000 0.448000 0.736000
+-0.750000 0.050200 0.097600 0.464000 0.408000 0.776000
+-0.744800 0.100400 0.060900 0.496000 0.456000 0.728000
+-0.700000 0.050200 0.061900 0.536000 0.368000 0.752000
+-0.700000 0.051600 0.060900 0.528000 0.416000 0.728000
+-0.699000 0.050200 0.060900 0.608000 0.360000 0.696000
+-0.700000 0.100400 0.019100 0.504000 0.504000 0.688000
+-0.650000 0.050200 0.008200 0.568000 0.384000 0.720000
+-0.680200 0.100400 0.000000 0.600000 0.440000 0.656000
+-0.650000 0.063100 0.000000 0.592000 0.392000 0.696000
+-0.650000 0.100400 -0.043200 0.600000 0.608000 0.496000
+-0.641800 0.050200 0.000000 0.616000 0.400000 0.664000
+-0.638000 0.100400 -0.060900 0.672000 0.632000 0.368000
+-0.600000 0.050200 -0.054100 0.640000 0.448000 0.616000
+-0.600000 0.057600 -0.060900 0.728000 0.536000 0.408000
+-0.594700 0.050200 -0.060900 0.744000 0.504000 0.416000
+-0.600000 0.050200 -0.083400 0.800000 0.528000 -0.248000
+-0.573200 0.000000 -0.060900 0.920000 0.296000 -0.248000
+-0.600000 0.000000 -0.117700 0.848000 0.200000 -0.488000
+-0.554400 -0.050200 -0.060900 0.944000 0.280000 0.128000
+-0.600000 -0.008200 -0.121900 0.848000 0.208000 -0.472000
+-0.586600 -0.050200 -0.121900 0.872000 0.224000 -0.424000
+-0.600000 -0.050200 -0.162700 0.904000 0.232000 -0.344000
+-0.578300 -0.100400 -0.121900 0.848000 0.312000 -0.424000
+-0.600000 -0.077900 -0.182900 0.856000 0.208000 -0.464000
+-0.594100 -0.100400 -0.182900 0.816000 0.296000 -0.480000
+-0.600000 -0.100400 -0.193800 0.776000 0.296000 -0.544000
+-0.561800 -0.150600 -0.182900 0.544000 0.784000 -0.280000
+-0.600000 -0.150600 -0.229400 0.416000 0.744000 -0.512000
+-0.550000 -0.155500 -0.182900 0.296000 0.920000 -0.232000
+-0.600000 -0.160400 -0.243900 0.432000 0.688000 -0.576000
+-0.550000 -0.172700 -0.243900 0.008000 0.856000 -0.512000
+-0.600000 -0.200800 -0.299500 0.000000 0.872000 -0.480000
+-0.550000 -0.200800 -0.303600 -0.040000 0.880000 -0.464000
+-0.600000 -0.203400 -0.304800 0.008000 0.768000 -0.632000
+-0.550000 -0.201300 -0.304800 -0.032000 0.864000 -0.488000
+-0.600000 -0.251000 -0.360600 -0.120000 0.624000 -0.760000
+-0.550000 -0.245600 -0.365800 -0.104000 0.680000 -0.720000
+-0.576800 -0.251000 -0.365800 -0.136000 0.624000 -0.760000
+-0.550000 -0.251000 -0.371400 -0.120000 0.616000 -0.768000
+-0.600000 -0.256300 -0.365800 -0.112000 0.608000 -0.776000
+-0.550000 -0.301200 -0.401000 0.000000 0.424000 -0.904000
+-0.600000 -0.301200 -0.399100 0.008000 0.480000 -0.872000
+-0.550000 -0.349500 -0.426800 0.056000 0.416000 -0.904000
+-0.600000 -0.340300 -0.426800 0.032000 0.512000 -0.848000
+-0.600000 -0.301200 -0.399100 0.008000 0.480000 -0.872000
+-0.650000 -0.337200 -0.426800 0.016000 0.520000 -0.848000
+-0.650000 -0.301200 -0.398600 0.000000 0.528000 -0.840000
+-0.700000 -0.338200 -0.426800 -0.192000 0.592000 -0.776000
+-0.700000 -0.301200 -0.401600 0.016000 0.504000 -0.856000
+-0.736800 -0.351500 -0.426800 -0.240000 0.480000 -0.832000
+-0.750000 -0.301200 -0.392900 -0.104000 0.352000 -0.928000
+-0.750000 -0.351500 -0.422100 -0.312000 0.448000 -0.824000
+-0.800000 -0.301200 -0.380800 -0.264000 0.104000 -0.952000
+-0.800000 -0.351500 -0.388300 -0.664000 -0.152000 -0.728000
+-0.826000 -0.301200 -0.365800 -0.648000 -0.448000 -0.600000
+-0.812200 -0.351500 -0.365800 -0.856000 -0.296000 -0.408000
+-0.850000 -0.301200 -0.321900 -0.728000 -0.616000 -0.280000
+-0.821000 -0.351500 -0.304800 -0.824000 -0.504000 0.232000
+-0.850000 -0.306900 -0.304800 -0.768000 -0.624000 0.072000
+-0.807300 -0.351500 -0.243900 -0.864000 -0.472000 0.152000
+-0.850000 -0.301200 -0.293400 -0.744000 -0.560000 0.336000
+-0.834700 -0.301200 -0.243900 -0.840000 -0.504000 0.184000
+-0.850000 -0.276800 -0.243900 -0.792000 -0.552000 0.248000
+-0.831100 -0.301200 -0.182900 -0.848000 -0.520000 0.016000
+-0.850000 -0.271300 -0.182900 -0.816000 -0.568000 0.032000
+-0.832400 -0.301200 -0.121900 -0.840000 -0.528000 0.048000
+-0.850000 -0.274400 -0.121900 -0.816000 -0.568000 0.008000
+-0.826600 -0.301200 -0.060900 -0.824000 -0.544000 0.120000
+-0.850000 -0.265600 -0.060900 -0.808000 -0.568000 0.104000
+-0.817700 -0.301200 0.000000 -0.808000 -0.560000 0.168000
+-0.850000 -0.254700 0.000000 -0.800000 -0.568000 0.168000
+-0.805900 -0.301200 0.060900 -0.800000 -0.536000 0.232000
+-0.850000 -0.251000 0.014600 -0.800000 -0.560000 0.176000
+-0.838400 -0.251000 0.060900 -0.808000 -0.528000 0.248000
+-0.850000 -0.233200 0.060900 -0.816000 -0.512000 0.248000
+-0.819200 -0.251000 0.121900 -0.760000 -0.496000 0.400000
+-0.850000 -0.203500 0.121900 -0.792000 -0.528000 0.288000
+-0.800000 -0.251000 0.157900 -0.576000 -0.400000 0.696000
+-0.850000 -0.200800 0.125700 -0.776000 -0.360000 0.504000
+-0.800000 -0.206500 0.182900 -0.304000 -0.264000 0.912000
+-0.803100 -0.200800 0.182900 -0.456000 -0.168000 0.864000
+-0.800000 -0.200800 0.184500 -0.256000 -0.128000 0.952000
+-0.836800 -0.150600 0.182900 -0.304000 -0.304000 0.896000
+-0.800000 -0.150600 0.189500 -0.240000 -0.056000 0.960000
+-0.850000 -0.137400 0.182900 -0.304000 -0.312000 0.896000
+-0.800000 -0.100400 0.186900 0.104000 0.048000 0.992000
+-0.850000 -0.100400 0.192600 -0.136000 -0.312000 0.936000
+-0.800000 -0.063400 0.182900 0.240000 0.160000 0.952000
+-0.850000 -0.050200 0.193400 0.200000 0.072000 0.968000
+-0.809300 -0.050200 0.182900 0.232000 0.160000 0.952000
+-0.850000 0.000000 0.186200 0.256000 0.144000 0.952000
+-0.839600 0.000000 0.182900 0.264000 0.152000 0.944000
+-0.850000 0.016800 0.182900 0.328000 0.184000 0.920000
+-0.800000 0.000000 0.163200 0.400000 0.288000 0.864000
+-0.850000 0.050200 0.170400 0.488000 0.296000 0.816000
+-0.800000 0.050200 0.139800 0.504000 0.392000 0.760000
+-0.800000 0.000000 0.163200 0.400000 0.288000 0.864000
+-0.781300 0.050200 0.121900 0.536000 0.400000 0.736000
+-0.750000 0.000000 0.129400 0.496000 0.360000 0.776000
+-0.750000 0.012900 0.121900 0.496000 0.384000 0.768000
+-0.740500 0.000000 0.121900 0.504000 0.352000 0.784000
+-0.750000 0.050200 0.097600 0.464000 0.408000 0.776000
+-0.700000 0.000000 0.089700 0.584000 0.336000 0.736000
+-0.700000 0.050200 0.061900 0.536000 0.368000 0.752000
+-0.666100 0.000000 0.060900 0.560000 0.376000 0.728000
+-0.699000 0.050200 0.060900 0.608000 0.360000 0.696000
+-0.650000 0.000000 0.045200 0.576000 0.400000 0.704000
+-0.650000 0.050200 0.008200 0.568000 0.384000 0.720000
+-0.609800 0.000000 0.000000 0.696000 0.384000 0.592000
+-0.641800 0.050200 0.000000 0.616000 0.400000 0.664000
+-0.600000 0.000000 -0.017800 0.736000 0.384000 0.544000
+-0.600000 0.050200 -0.054100 0.640000 0.448000 0.616000
+-0.573200 0.000000 -0.060900 0.920000 0.296000 -0.248000
+-0.594700 0.050200 -0.060900 0.744000 0.504000 0.416000
+-0.594700 0.050200 -0.060900 0.744000 0.504000 0.416000
+-1.000000 0.050200 0.254800 0.280000 0.504000 0.808000
+-1.000000 0.050200 0.254800 0.280000 0.504000 0.808000
+-1.000000 0.000000 0.260200 0.424000 -0.312000 0.840000
+-0.973900 0.050200 0.243900 0.312000 0.448000 0.832000
+-0.976100 0.000000 0.243900 0.464000 -0.432000 0.768000
+-0.950000 0.050200 0.232900 0.312000 0.424000 0.840000
+-0.950000 0.000000 0.224500 0.344000 -0.144000 0.920000
+-0.900000 0.050200 0.202100 0.368000 0.256000 0.888000
+-0.900000 0.000000 0.204000 0.296000 0.088000 0.944000
+-0.865600 0.050200 0.182900 0.480000 0.256000 0.832000
+-0.850000 0.000000 0.186200 0.256000 0.144000 0.952000
+-0.850000 0.016800 0.182900 0.328000 0.184000 0.920000
+-0.865600 0.050200 0.182900 0.480000 0.256000 0.832000
+-0.850000 0.050200 0.170400 0.488000 0.296000 0.816000
+-0.850000 0.050200 0.170400 0.488000 0.296000 0.816000
+-1.000000 0.000000 0.260200 0.424000 -0.312000 0.840000
+-1.000000 0.000000 0.260200 0.424000 -0.312000 0.840000
+-0.976100 0.000000 0.243900 0.464000 -0.432000 0.768000
+-1.000000 -0.016700 0.243900 0.424000 -0.608000 0.656000
+-0.950000 0.000000 0.224500 0.344000 -0.144000 0.920000
+-1.000000 -0.050200 0.185900 -0.256000 -0.768000 0.576000
+-0.950000 -0.050200 0.212200 0.160000 -0.384000 0.904000
+-1.000000 -0.052000 0.182900 -0.336000 -0.760000 0.544000
+-0.950000 -0.074300 0.182900 -0.344000 -0.776000 0.520000
+-1.000000 -0.075600 0.121900 -0.328000 -0.896000 0.264000
+-0.950000 -0.095300 0.121900 -0.400000 -0.864000 0.280000
+-1.000000 -0.090800 0.060900 -0.320000 -0.912000 0.248000
+-0.950000 -0.100400 0.101700 -0.400000 -0.872000 0.264000
+-0.973400 -0.100400 0.060900 -0.344000 -0.904000 0.240000
+-0.950000 -0.110600 0.060900 -0.432000 -0.856000 0.248000
+-1.000000 -0.100400 0.014600 -0.304000 -0.920000 0.208000
+-0.950000 -0.123700 0.000000 -0.488000 -0.840000 0.216000
+-1.000000 -0.103100 0.000000 -0.304000 -0.920000 0.208000
+-0.950000 -0.136200 -0.060900 -0.528000 -0.832000 0.152000
+-1.000000 -0.112800 -0.060900 -0.376000 -0.912000 0.144000
+-0.950000 -0.144800 -0.121900 -0.536000 -0.832000 0.120000
+-1.000000 -0.120900 -0.121900 -0.400000 -0.904000 0.136000
+-0.950000 -0.150600 -0.169000 -0.584000 -0.792000 0.136000
+-1.000000 -0.129600 -0.182900 -0.400000 -0.904000 0.136000
+-0.952800 -0.150600 -0.182900 -0.568000 -0.808000 0.136000
+-1.000000 -0.135800 -0.243900 -0.400000 -0.904000 0.096000
+-0.966700 -0.150600 -0.243900 -0.472000 -0.864000 0.152000
+-1.000000 -0.142300 -0.304800 -0.328000 -0.456000 -0.824000
+-0.989000 -0.150600 -0.304800 -0.440000 -0.624000 -0.640000
+-1.000000 -0.100400 -0.332000 -0.256000 -0.392000 -0.880000
+-0.950000 -0.150600 -0.330800 -0.416000 -0.432000 -0.792000
+-0.950000 -0.100400 -0.349400 -0.088000 -0.160000 -0.976000
+-0.900000 -0.150600 -0.338300 -0.216000 -0.104000 -0.968000
+-0.900000 -0.100400 -0.346700 0.112000 -0.048000 -0.984000
+-0.850000 -0.150600 -0.349400 0.072000 0.056000 -0.992000
+-0.850000 -0.100400 -0.332400 0.280000 0.112000 -0.952000
+-0.800000 -0.150600 -0.340500 0.312000 0.288000 -0.896000
+-0.800000 -0.100400 -0.313000 0.368000 0.216000 -0.896000
+-0.750000 -0.150600 -0.317800 0.416000 0.384000 -0.816000
+-0.785000 -0.100400 -0.304800 0.328000 0.224000 -0.912000
+-0.750000 -0.129200 -0.304800 0.392000 0.376000 -0.832000
+-0.750000 -0.100400 -0.291100 0.336000 0.256000 -0.896000
+-0.731900 -0.150600 -0.304800 0.424000 0.400000 -0.808000
+-0.700000 -0.100400 -0.274700 0.392000 0.112000 -0.904000
+-0.700000 -0.150600 -0.284500 0.376000 0.392000 -0.832000
+-0.650000 -0.100400 -0.251900 0.448000 0.224000 -0.856000
+-0.650000 -0.150600 -0.267500 0.376000 0.464000 -0.792000
+-0.638400 -0.100400 -0.243900 0.560000 0.160000 -0.808000
+-0.612700 -0.150600 -0.243900 0.496000 0.576000 -0.640000
+-0.600000 -0.100400 -0.193800 0.776000 0.296000 -0.544000
+-0.600000 -0.150600 -0.229400 0.416000 0.744000 -0.512000
+-0.612700 -0.150600 -0.243900 0.496000 0.576000 -0.640000
+-0.600000 -0.160400 -0.243900 0.432000 0.688000 -0.576000
+-0.650000 -0.150600 -0.267500 0.376000 0.464000 -0.792000
+-0.600000 -0.200800 -0.299500 0.000000 0.872000 -0.480000
+-0.650000 -0.200800 -0.303800 0.136000 0.680000 -0.712000
+-0.600000 -0.203400 -0.304800 0.008000 0.768000 -0.632000
+-0.650000 -0.201600 -0.304800 0.104000 0.688000 -0.704000
+-0.600000 -0.251000 -0.360600 -0.120000 0.624000 -0.760000
+-0.650000 -0.251000 -0.354800 0.152000 0.632000 -0.752000
+-0.600000 -0.256300 -0.365800 -0.112000 0.608000 -0.776000
+-0.650000 -0.261300 -0.365800 0.088000 0.568000 -0.808000
+-0.600000 -0.301200 -0.399100 0.008000 0.480000 -0.872000
+-0.650000 -0.301200 -0.398600 0.000000 0.528000 -0.840000
+-0.650000 -0.261300 -0.365800 0.088000 0.568000 -0.808000
+-0.700000 -0.301200 -0.401600 0.016000 0.504000 -0.856000
+-0.700000 -0.252100 -0.365800 0.096000 0.552000 -0.824000
+-0.750000 -0.301200 -0.392900 -0.104000 0.352000 -0.928000
+-0.707800 -0.251000 -0.365800 0.064000 0.432000 -0.896000
+-0.750000 -0.251000 -0.369800 0.056000 0.280000 -0.952000
+-0.750000 -0.240500 -0.365800 0.056000 0.272000 -0.952000
+-0.800000 -0.251000 -0.370300 -0.064000 0.200000 -0.976000
+-0.800000 -0.234100 -0.365800 -0.112000 0.264000 -0.952000
+-0.828000 -0.251000 -0.365800 -0.248000 0.216000 -0.936000
+-0.800000 -0.200800 -0.355700 0.080000 0.256000 -0.960000
+-0.850000 -0.251000 -0.359600 -0.320000 0.248000 -0.912000
+-0.850000 -0.200800 -0.351200 -0.168000 0.112000 -0.976000
+-0.891700 -0.251000 -0.304800 -0.808000 -0.512000 -0.264000
+-0.900000 -0.200800 -0.331500 -0.576000 -0.328000 -0.736000
+-0.900000 -0.236500 -0.304800 -0.680000 -0.456000 -0.560000
+-0.931500 -0.200800 -0.304800 -0.648000 -0.520000 -0.544000
+-0.900000 -0.212400 -0.243900 -0.672000 -0.712000 0.176000
+-0.914100 -0.200800 -0.243900 -0.664000 -0.728000 0.128000
+-0.900000 -0.206900 -0.182900 -0.648000 -0.752000 0.056000
+-0.907400 -0.200800 -0.182900 -0.688000 -0.712000 0.072000
+-0.900000 -0.204500 -0.121900 -0.688000 -0.712000 0.104000
+-0.903800 -0.200800 -0.121900 -0.696000 -0.704000 0.120000
+-0.900000 -0.200800 -0.096200 -0.752000 -0.632000 0.128000
+-0.943100 -0.150600 -0.121900 -0.672000 -0.720000 0.120000
+-0.900000 -0.192500 -0.060900 -0.856000 -0.488000 0.144000
+-0.932400 -0.150600 -0.060900 -0.688000 -0.696000 0.176000
+-0.900000 -0.169600 0.000000 -0.800000 -0.552000 0.224000
+-0.915700 -0.150600 0.000000 -0.696000 -0.672000 0.232000
+-0.900000 -0.150600 0.057700 -0.744000 -0.616000 0.232000
+-0.950000 -0.123700 0.000000 -0.488000 -0.840000 0.216000
+-0.900000 -0.149700 0.060900 -0.696000 -0.664000 0.232000
+-0.950000 -0.110600 0.060900 -0.432000 -0.856000 0.248000
+-0.900000 -0.127600 0.121900 -0.608000 -0.704000 0.344000
+-0.950000 -0.100400 0.101700 -0.400000 -0.872000 0.264000
+-0.939400 -0.100400 0.121900 -0.456000 -0.816000 0.336000
+-0.950000 -0.095300 0.121900 -0.400000 -0.864000 0.280000
+-0.900000 -0.100400 0.174900 -0.400000 -0.624000 0.656000
+-0.950000 -0.074300 0.182900 -0.344000 -0.776000 0.520000
+-0.900000 -0.094400 0.182900 -0.312000 -0.608000 0.720000
+-0.950000 -0.050200 0.212200 0.160000 -0.384000 0.904000
+-0.900000 -0.050200 0.208600 0.200000 -0.168000 0.960000
+-0.950000 0.000000 0.224500 0.344000 -0.144000 0.920000
+-0.900000 0.000000 0.204000 0.296000 0.088000 0.944000
+-0.900000 -0.050200 0.208600 0.200000 -0.168000 0.960000
+-0.850000 0.000000 0.186200 0.256000 0.144000 0.952000
+-0.850000 -0.050200 0.193400 0.200000 0.072000 0.968000
+-0.900000 -0.050200 0.208600 0.200000 -0.168000 0.960000
+-0.850000 -0.100400 0.192600 -0.136000 -0.312000 0.936000
+-0.900000 -0.094400 0.182900 -0.312000 -0.608000 0.720000
+-0.886800 -0.100400 0.182900 -0.288000 -0.576000 0.752000
+-0.900000 -0.100400 0.174900 -0.400000 -0.624000 0.656000
+-0.850000 -0.137400 0.182900 -0.304000 -0.312000 0.896000
+-0.900000 -0.127600 0.121900 -0.608000 -0.704000 0.344000
+-0.850000 -0.150600 0.175600 -0.632000 -0.392000 0.664000
+-0.878400 -0.150600 0.121900 -0.736000 -0.560000 0.368000
+-0.850000 -0.200800 0.125700 -0.776000 -0.360000 0.504000
+-0.851500 -0.200800 0.121900 -0.832000 -0.360000 0.408000
+-0.850000 -0.203500 0.121900 -0.792000 -0.528000 0.288000
+-0.869300 -0.200800 0.060900 -0.824000 -0.496000 0.248000
+-0.850000 -0.233200 0.060900 -0.816000 -0.512000 0.248000
+-0.882700 -0.200800 0.000000 -0.840000 -0.496000 0.192000
+-0.850000 -0.251000 0.014600 -0.800000 -0.560000 0.176000
+-0.852600 -0.251000 0.000000 -0.800000 -0.568000 0.168000
+-0.850000 -0.254700 0.000000 -0.800000 -0.568000 0.168000
+-0.860100 -0.251000 -0.060900 -0.808000 -0.568000 0.112000
+-0.850000 -0.265600 -0.060900 -0.808000 -0.568000 0.104000
+-0.866600 -0.251000 -0.121900 -0.808000 -0.576000 0.072000
+-0.850000 -0.274400 -0.121900 -0.816000 -0.568000 0.008000
+-0.864200 -0.251000 -0.182900 -0.800000 -0.592000 0.000000
+-0.850000 -0.271300 -0.182900 -0.816000 -0.568000 0.032000
+-0.869200 -0.251000 -0.243900 -0.768000 -0.600000 0.200000
+-0.850000 -0.276800 -0.243900 -0.792000 -0.552000 0.248000
+-0.891700 -0.251000 -0.304800 -0.808000 -0.512000 -0.264000
+-0.850000 -0.301200 -0.293400 -0.744000 -0.560000 0.336000
+-0.854400 -0.301200 -0.304800 -0.776000 -0.608000 0.112000
+-0.850000 -0.306900 -0.304800 -0.768000 -0.624000 0.072000
+-0.850000 -0.301200 -0.321900 -0.728000 -0.616000 -0.280000
+-0.854400 -0.301200 -0.304800 -0.776000 -0.608000 0.112000
+-0.850000 -0.251000 -0.359600 -0.320000 0.248000 -0.912000
+-0.891700 -0.251000 -0.304800 -0.808000 -0.512000 -0.264000
+-0.891700 -0.251000 -0.304800 -0.808000 -0.512000 -0.264000
+-1.000000 0.100400 0.207000 0.040000 0.608000 0.784000
+-1.000000 0.100400 0.207000 0.040000 0.608000 0.784000
+-0.950000 0.100400 0.204500 0.176000 0.504000 0.840000
+-1.000000 0.136100 0.182900 0.152000 0.600000 0.776000
+-0.950000 0.127100 0.182900 0.248000 0.536000 0.800000
+-1.000000 0.150600 0.170300 0.208000 0.568000 0.792000
+-0.950000 0.150600 0.154300 0.208000 0.640000 0.736000
+-1.000000 0.192500 0.121900 0.192000 0.664000 0.720000
+-0.950000 0.178500 0.121900 0.272000 0.648000 0.704000
+-1.000000 0.200800 0.112700 0.192000 0.656000 0.720000
+-0.950000 0.200800 0.096100 0.208000 0.672000 0.704000
+-1.000000 0.241600 0.060900 0.248000 0.768000 0.584000
+-0.950000 0.226300 0.060900 0.264000 0.760000 0.584000
+-1.000000 0.251000 0.045400 0.264000 0.768000 0.568000
+-0.950000 0.251000 0.016800 0.288000 0.808000 0.504000
+-1.000000 0.274600 0.000000 0.264000 0.848000 0.448000
+-0.950000 0.258900 0.000000 0.296000 0.848000 0.432000
+-1.000000 0.294800 -0.060900 0.312000 0.944000 0.080000
+-0.950000 0.277400 -0.060900 0.336000 0.928000 0.080000
+-1.000000 0.286500 -0.121900 0.328000 0.872000 -0.344000
+-0.950000 0.267200 -0.121900 0.344000 0.864000 -0.336000
+-1.000000 0.256900 -0.182900 0.288000 0.752000 -0.584000
+-0.950000 0.251000 -0.157200 0.320000 0.808000 -0.480000
+-0.985000 0.251000 -0.182900 0.288000 0.752000 -0.576000
+-0.950000 0.237800 -0.182900 0.296000 0.760000 -0.568000
+-1.000000 0.251000 -0.191500 0.280000 0.728000 -0.616000
+-0.950000 0.200800 -0.231900 0.272000 0.640000 -0.704000
+-1.000000 0.207900 -0.243900 0.232000 0.640000 -0.728000
+-0.980800 0.200800 -0.243900 0.232000 0.632000 -0.736000
+-1.000000 0.200800 -0.251300 0.232000 0.624000 -0.736000
+-0.950000 0.189400 -0.243900 0.264000 0.616000 -0.728000
+-1.000000 0.150600 -0.296000 0.168000 0.544000 -0.816000
+-0.950000 0.150600 -0.281200 0.240000 0.600000 -0.752000
+-1.000000 0.137800 -0.304800 0.104000 0.472000 -0.872000
+-0.950000 0.126000 -0.304800 0.168000 0.528000 -0.824000
+-1.000000 0.100400 -0.326700 0.072000 0.384000 -0.912000
+-0.950000 0.100400 -0.325900 0.192000 0.384000 -0.896000
+-1.000000 0.050200 -0.349300 0.080000 0.216000 -0.968000
+-0.950000 0.050200 -0.340200 0.184000 0.072000 -0.976000
+-1.000000 0.000000 -0.357700 0.216000 -0.064000 -0.968000
+-0.950000 0.000000 -0.337100 0.184000 -0.088000 -0.976000
+-1.000000 -0.050200 -0.339100 0.152000 -0.176000 -0.968000
+-0.950000 -0.050200 -0.337400 0.088000 0.008000 -0.992000
+-1.000000 -0.100400 -0.332000 -0.256000 -0.392000 -0.880000
+-0.950000 -0.100400 -0.349400 -0.088000 -0.160000 -0.976000
+-0.950000 -0.050200 -0.337400 0.088000 0.008000 -0.992000
+-0.900000 -0.100400 -0.346700 0.112000 -0.048000 -0.984000
+-0.900000 -0.050200 -0.330000 0.160000 0.128000 -0.976000
+-0.850000 -0.100400 -0.332400 0.280000 0.112000 -0.952000
+-0.850000 -0.050200 -0.323400 0.248000 0.176000 -0.944000
+-0.800000 -0.100400 -0.313000 0.368000 0.216000 -0.896000
+-0.808200 -0.050200 -0.304800 0.280000 0.136000 -0.944000
+-0.800000 -0.066700 -0.304800 0.296000 0.144000 -0.936000
+-0.800000 -0.050200 -0.302200 0.264000 0.120000 -0.952000
+-0.785000 -0.100400 -0.304800 0.328000 0.224000 -0.912000
+-0.750000 -0.050200 -0.287100 0.288000 0.040000 -0.952000
+-0.750000 -0.100400 -0.291100 0.336000 0.256000 -0.896000
+-0.700000 -0.050200 -0.272000 0.360000 0.104000 -0.920000
+-0.700000 -0.100400 -0.274700 0.392000 0.112000 -0.904000
+-0.650000 -0.050200 -0.249300 0.496000 0.208000 -0.840000
+-0.650000 -0.100400 -0.251900 0.448000 0.224000 -0.856000
+-0.642900 -0.050200 -0.243900 0.560000 0.208000 -0.792000
+-0.638400 -0.100400 -0.243900 0.560000 0.160000 -0.808000
+-0.606100 -0.050200 -0.182900 0.864000 0.248000 -0.424000
+-0.600000 -0.100400 -0.193800 0.776000 0.296000 -0.544000
+-0.600000 -0.077900 -0.182900 0.856000 0.208000 -0.464000
+-0.606100 -0.050200 -0.182900 0.864000 0.248000 -0.424000
+-0.600000 -0.050200 -0.162700 0.904000 0.232000 -0.344000
+-0.621400 0.000000 -0.182900 0.848000 0.280000 -0.440000
+-0.600000 -0.008200 -0.121900 0.848000 0.208000 -0.472000
+-0.601900 0.000000 -0.121900 0.848000 0.208000 -0.472000
+-0.600000 0.000000 -0.117700 0.848000 0.200000 -0.488000
+-0.614300 0.050200 -0.121900 0.720000 0.480000 -0.480000
+-0.600000 0.050200 -0.083400 0.800000 0.528000 -0.248000
+-0.650000 0.089500 -0.121900 0.728000 0.552000 -0.384000
+-0.600000 0.057600 -0.060900 0.728000 0.536000 0.408000
+-0.650000 0.100400 -0.098000 0.720000 0.624000 -0.288000
+-0.638000 0.100400 -0.060900 0.672000 0.632000 0.368000
+-0.650000 0.112000 -0.060900 0.672000 0.704000 0.200000
+-0.650000 0.100400 -0.043200 0.600000 0.608000 0.496000
+-0.689800 0.150600 -0.060900 0.640000 0.736000 0.192000
+-0.680200 0.100400 0.000000 0.600000 0.440000 0.656000
+-0.700000 0.150600 -0.043600 0.552000 0.712000 0.424000
+-0.700000 0.121800 0.000000 0.536000 0.544000 0.632000
+-0.734000 0.150600 0.000000 0.496000 0.640000 0.576000
+-0.700000 0.100400 0.019100 0.504000 0.504000 0.688000
+-0.750000 0.150600 0.014500 0.472000 0.624000 0.608000
+-0.744800 0.100400 0.060900 0.496000 0.456000 0.728000
+-0.750000 0.106000 0.060900 0.496000 0.464000 0.728000
+-0.750000 0.100400 0.065100 0.488000 0.448000 0.736000
+-0.796300 0.150600 0.060900 0.512000 0.584000 0.616000
+-0.800000 0.100400 0.105500 0.480000 0.456000 0.736000
+-0.800000 0.150600 0.064100 0.424000 0.560000 0.704000
+-0.820700 0.100400 0.121900 0.496000 0.488000 0.704000
+-0.850000 0.150600 0.098600 0.360000 0.600000 0.704000
+-0.850000 0.127100 0.121900 0.424000 0.560000 0.704000
+-0.892900 0.150600 0.121900 0.360000 0.624000 0.680000
+-0.850000 0.100400 0.150400 0.488000 0.512000 0.696000
+-0.900000 0.150600 0.126400 0.344000 0.632000 0.688000
+-0.897500 0.100400 0.182900 0.392000 0.408000 0.816000
+-0.900000 0.101900 0.182900 0.304000 0.552000 0.768000
+-0.900000 0.100400 0.184100 0.296000 0.408000 0.856000
+-0.950000 0.127100 0.182900 0.248000 0.536000 0.800000
+-0.950000 0.100400 0.204500 0.176000 0.504000 0.840000
+-0.950000 0.100400 0.204500 0.176000 0.504000 0.840000
+-0.886800 -0.100400 0.182900 -0.288000 -0.576000 0.752000
+-0.886800 -0.100400 0.182900 -0.288000 -0.576000 0.752000
+-0.850000 -0.100400 0.192600 -0.136000 -0.312000 0.936000
+-0.850000 -0.137400 0.182900 -0.304000 -0.312000 0.896000
+-0.850000 -0.137400 0.182900 -0.304000 -0.312000 0.896000
+-0.800000 -0.100400 0.186900 0.104000 0.048000 0.992000
+-0.800000 -0.100400 0.186900 0.104000 0.048000 0.992000
+-0.800000 -0.063400 0.182900 0.240000 0.160000 0.952000
+-0.776900 -0.100400 0.182900 0.184000 0.120000 0.968000
+-0.800000 -0.050200 0.179900 0.264000 0.176000 0.944000
+-0.750000 -0.100400 0.174700 0.320000 0.192000 0.920000
+-0.750000 -0.050200 0.155100 0.464000 0.288000 0.832000
+-0.700000 -0.100400 0.138900 0.488000 0.288000 0.816000
+-0.708600 -0.050200 0.121900 0.496000 0.344000 0.784000
+-0.700000 -0.062200 0.121900 0.504000 0.344000 0.784000
+-0.700000 -0.050200 0.115300 0.496000 0.344000 0.792000
+-0.677900 -0.100400 0.121900 0.528000 0.328000 0.776000
+-0.650000 -0.050200 0.076400 0.576000 0.320000 0.744000
+-0.650000 -0.100400 0.096100 0.592000 0.288000 0.744000
+-0.635700 -0.050200 0.060900 0.640000 0.304000 0.696000
+-0.612900 -0.100400 0.060900 0.624000 0.376000 0.672000
+-0.600000 -0.050200 0.018400 0.648000 0.320000 0.688000
+-0.600000 -0.100400 0.044600 0.672000 0.336000 0.656000
+-0.584800 -0.050200 0.000000 0.744000 0.336000 0.568000
+-0.565600 -0.100400 0.000000 0.744000 0.440000 0.496000
+-0.554400 -0.050200 -0.060900 0.944000 0.280000 0.128000
+-0.550000 -0.100400 -0.036900 0.792000 0.376000 0.464000
+-0.550000 -0.066800 -0.060900 0.944000 0.320000 -0.008000
+-0.533200 -0.100400 -0.060900 0.712000 0.696000 -0.024000
+-0.550000 -0.100400 -0.079500 0.552000 0.552000 -0.616000
+-0.500000 -0.119500 -0.060900 -0.160000 0.976000 0.112000
+-0.550000 -0.145600 -0.121900 0.512000 0.792000 -0.312000
+-0.500000 -0.144400 -0.121900 -0.376000 0.880000 -0.280000
+-0.550000 -0.150600 -0.142400 0.376000 0.896000 -0.200000
+-0.500000 -0.150600 -0.154000 -0.424000 0.880000 -0.160000
+-0.550000 -0.155500 -0.182900 0.296000 0.920000 -0.232000
+-0.500000 -0.154300 -0.182900 -0.320000 0.920000 -0.176000
+-0.550000 -0.172700 -0.243900 0.008000 0.856000 -0.512000
+-0.500000 -0.169200 -0.243900 -0.328000 0.880000 -0.312000
+-0.550000 -0.200800 -0.303600 -0.040000 0.880000 -0.464000
+-0.500000 -0.196700 -0.304800 -0.120000 0.848000 -0.504000
+-0.544700 -0.200800 -0.304800 -0.080000 0.824000 -0.552000
+-0.500000 -0.200800 -0.313000 -0.112000 0.824000 -0.544000
+-0.550000 -0.201300 -0.304800 -0.032000 0.864000 -0.488000
+-0.500000 -0.238600 -0.365800 -0.072000 0.656000 -0.744000
+-0.550000 -0.245600 -0.365800 -0.104000 0.680000 -0.720000
+-0.500000 -0.251000 -0.377000 -0.032000 0.528000 -0.840000
+-0.550000 -0.251000 -0.371400 -0.120000 0.616000 -0.768000
+-0.500000 -0.301200 -0.402500 0.040000 0.344000 -0.936000
+-0.550000 -0.301200 -0.401000 0.000000 0.424000 -0.904000
+-0.500000 -0.351500 -0.423900 0.056000 0.504000 -0.856000
+-0.550000 -0.349500 -0.426800 0.056000 0.416000 -0.904000
+-0.538500 -0.351500 -0.426800 0.048000 0.480000 -0.872000
+-0.500000 -0.351500 -0.423900 0.056000 0.504000 -0.856000
+-0.500000 -0.355300 -0.426800 0.056000 0.520000 -0.848000
+-0.450000 -0.351500 -0.418600 0.080000 0.512000 -0.848000
+-0.450000 -0.362400 -0.426800 0.064000 0.520000 -0.848000
+-0.400000 -0.351500 -0.411400 0.000000 0.616000 -0.784000
+-0.400000 -0.368700 -0.426800 0.024000 0.560000 -0.824000
+-0.350000 -0.351500 -0.416300 -0.176000 0.600000 -0.768000
+-0.350000 -0.360100 -0.426800 -0.128000 0.680000 -0.712000
+-0.319100 -0.351500 -0.426800 -0.216000 0.568000 -0.784000
+-0.350000 -0.351500 -0.416300 -0.176000 0.600000 -0.768000
+-0.300000 -0.341100 -0.426800 -0.128000 0.536000 -0.832000
+-0.350000 -0.301200 -0.377400 0.232000 0.208000 -0.944000
+-0.300000 -0.301200 -0.369600 0.320000 0.544000 -0.768000
+-0.350000 -0.251000 -0.367200 0.240000 0.168000 -0.952000
+-0.300000 -0.296900 -0.365800 0.296000 0.528000 -0.784000
+-0.345700 -0.251000 -0.365800 0.320000 0.336000 -0.880000
+-0.300000 -0.251000 -0.348000 0.192000 0.248000 -0.944000
+-0.350000 -0.248400 -0.365800 0.184000 0.424000 -0.880000
+-0.300000 -0.200800 -0.340600 0.016000 0.280000 -0.952000
+-0.350000 -0.200800 -0.339000 0.200000 0.416000 -0.880000
+-0.300000 -0.150600 -0.319300 -0.256000 0.480000 -0.832000
+-0.350000 -0.159400 -0.304800 -0.248000 0.528000 -0.808000
+-0.331500 -0.150600 -0.304800 -0.256000 0.464000 -0.840000
+-0.350000 -0.150600 -0.298700 -0.264000 0.464000 -0.840000
+-0.300000 -0.118900 -0.304800 -0.376000 0.264000 -0.880000
+-0.350000 -0.100400 -0.248500 -0.576000 0.440000 -0.680000
+-0.300000 -0.100400 -0.298100 -0.480000 0.288000 -0.824000
+-0.350000 -0.093900 -0.243900 -0.600000 0.408000 -0.680000
+-0.300000 -0.050200 -0.270300 -0.824000 0.232000 -0.512000
+-0.321700 -0.050200 -0.243900 -0.656000 0.344000 -0.656000
+-0.300000 0.000000 -0.248500 -0.656000 0.560000 -0.488000
+-0.301700 0.000000 -0.243900 -0.744000 0.392000 -0.536000
+-0.300000 0.001800 -0.243900 -0.496000 0.680000 -0.520000
+-0.340600 0.000000 -0.182900 -0.696000 0.480000 -0.520000
+-0.300000 0.050200 -0.185100 -0.648000 0.560000 -0.504000
+-0.301000 0.050200 -0.182900 -0.704000 0.472000 -0.512000
+-0.300000 0.052000 -0.182900 -0.664000 0.464000 -0.568000
+-0.335400 0.050200 -0.121900 -0.752000 0.472000 -0.456000
+-0.300000 0.100400 -0.141500 -0.560000 0.512000 -0.640000
+-0.317300 0.100400 -0.121900 -0.712000 0.264000 -0.640000
+-0.300000 0.144000 -0.121900 -0.728000 0.496000 -0.456000
+-0.350000 0.100400 -0.076700 -0.736000 0.256000 -0.616000
+-0.300000 0.150600 -0.105900 -0.768000 0.536000 -0.320000
+-0.350000 0.148000 -0.060900 -0.504000 0.552000 0.656000
+-0.346000 0.150600 -0.060900 -0.768000 -0.144000 0.616000
+-0.350000 0.100400 -0.017600 -0.744000 0.352000 0.552000
+-0.300000 0.150600 -0.036000 -0.360000 0.064000 0.920000
+-0.321000 0.100400 0.000000 -0.264000 0.416000 0.864000
+-0.300000 0.112500 0.000000 -0.064000 0.472000 0.872000
+-0.300000 0.100400 0.006400 -0.200000 0.408000 0.880000
+-0.250000 0.104200 0.000000 0.144000 0.480000 0.856000
+-0.250000 0.100400 0.002600 0.144000 0.496000 0.848000
+-0.238500 0.100400 0.000000 0.152000 0.496000 0.848000
+-0.250000 0.050200 0.048300 0.000000 0.552000 0.832000
+-0.200000 0.089800 0.000000 0.216000 0.544000 0.800000
+-0.200000 0.050200 0.037800 0.512000 0.448000 0.720000
+-0.163800 0.050200 0.000000 0.704000 0.216000 0.664000
+-0.200000 0.020500 0.060900 0.664000 0.440000 0.600000
+-0.150800 0.000000 0.000000 0.744000 0.072000 0.656000
+-0.190300 0.000000 0.060900 0.816000 0.200000 0.536000
+-0.152800 -0.050200 0.000000 0.848000 0.032000 0.520000
+-0.193200 -0.050200 0.060900 0.808000 0.008000 0.584000
+-0.150600 -0.100400 0.000000 0.800000 0.040000 0.592000
+-0.190200 -0.100400 0.060900 0.752000 -0.248000 0.600000
+-0.150000 -0.104300 0.000000 0.496000 0.120000 0.848000
+-0.200000 -0.121800 0.060900 0.728000 -0.328000 0.592000
+-0.150000 -0.150600 0.010200 0.376000 0.208000 0.896000
+-0.200000 -0.150600 0.042600 0.640000 -0.096000 0.752000
+-0.150000 -0.200800 0.013600 0.104000 0.200000 0.968000
+-0.200000 -0.200800 0.045500 0.568000 -0.152000 0.808000
+-0.150000 -0.251000 0.002400 -0.056000 -0.176000 0.976000
+-0.200000 -0.251000 0.018200 0.408000 -0.392000 0.816000
+-0.150000 -0.301200 0.010200 -0.304000 -0.280000 0.904000
+-0.200000 -0.279600 0.000000 -0.016000 -0.496000 0.864000
+-0.169100 -0.301200 0.000000 -0.376000 -0.392000 0.832000
+-0.200000 -0.301200 -0.017500 -0.064000 -0.432000 0.896000
+-0.150000 -0.346200 0.000000 -0.392000 -0.160000 0.904000
+-0.200000 -0.351500 -0.031500 -0.320000 -0.128000 0.936000
+-0.150000 -0.351500 -0.001100 -0.192000 -0.352000 0.912000
+-0.200000 -0.401700 -0.023400 -0.056000 -0.008000 0.992000
+-0.150000 -0.401700 -0.019000 0.408000 -0.232000 0.880000
+-0.200000 -0.451900 -0.018000 0.376000 -0.112000 0.912000
+-0.150000 -0.451900 -0.041900 0.560000 -0.440000 0.696000
+-0.200000 -0.502100 -0.039000 0.512000 -0.608000 0.592000
+-0.150000 -0.470000 -0.060900 0.568000 -0.552000 0.600000
+-0.181900 -0.502100 -0.060900 0.504000 -0.680000 0.520000
+-0.150000 -0.502100 -0.111600 0.592000 -0.752000 0.280000
+-0.200000 -0.511900 -0.060900 0.416000 -0.800000 0.424000
+-0.150000 -0.505100 -0.121900 0.584000 -0.768000 0.240000
+-0.200000 -0.534300 -0.121900 0.456000 -0.832000 0.296000
+-0.150000 -0.510100 -0.182900 0.616000 -0.760000 0.168000
+-0.200000 -0.549300 -0.182900 0.504000 -0.784000 0.344000
+-0.150000 -0.530700 -0.243900 0.632000 -0.664000 0.392000
+-0.200000 -0.552300 -0.190900 0.520000 -0.768000 0.360000
+-0.172800 -0.552300 -0.243900 0.592000 -0.568000 0.560000
+-0.200000 -0.579600 -0.243900 0.568000 -0.648000 0.496000
+-0.150000 -0.552300 -0.270100 0.544000 -0.504000 0.656000
+-0.200000 -0.602500 -0.268600 0.488000 -0.432000 0.752000
+-0.150000 -0.602500 -0.302600 0.392000 -0.240000 0.880000
+-0.200000 -0.652700 -0.286600 0.488000 -0.272000 0.824000
+-0.150000 -0.609400 -0.304800 0.840000 -0.512000 0.152000
+-0.171500 -0.652700 -0.304800 0.576000 -0.304000 0.752000
+-0.150000 -0.602500 -0.307600 0.456000 -0.280000 -0.840000
+-0.200000 -0.652700 -0.326500 0.488000 -0.272000 -0.824000
+-0.200000 -0.602500 -0.345500 0.488000 -0.272000 -0.824000
+-0.250000 -0.652700 -0.361600 0.240000 -0.216000 -0.944000
+-0.229500 -0.602500 -0.365800 0.408000 -0.240000 -0.872000
+-0.250000 -0.639500 -0.365800 0.216000 -0.224000 -0.944000
+-0.250000 -0.602500 -0.376000 0.360000 -0.328000 -0.872000
+-0.282800 -0.652700 -0.365800 0.080000 -0.160000 -0.976000
+-0.300000 -0.602500 -0.397300 -0.248000 -0.488000 -0.832000
+-0.300000 -0.652700 -0.367500 0.064000 -0.112000 -0.984000
+-0.328400 -0.602500 -0.365800 -0.832000 -0.248000 -0.488000
+-0.350000 -0.652700 -0.376000 0.560000 0.160000 -0.808000
+-0.350000 -0.629600 -0.365800 0.056000 0.640000 -0.760000
+-0.400000 -0.652700 -0.368100 -0.128000 -0.872000 -0.456000
+-0.357100 -0.602500 -0.365800 0.904000 0.256000 -0.312000
+-0.400000 -0.621700 -0.426800 0.392000 -0.856000 -0.304000
+-0.370300 -0.602500 -0.426800 0.624000 -0.760000 -0.160000
+-0.357100 -0.602500 -0.365800 0.904000 0.256000 -0.312000
+-0.350000 -0.582100 -0.426800 0.344000 -0.808000 -0.456000
+-0.350000 -0.585900 -0.365800 0.168000 -0.792000 -0.576000
+-0.300000 -0.582000 -0.426800 0.336000 -0.608000 -0.712000
+-0.328400 -0.602500 -0.365800 -0.832000 -0.248000 -0.488000
+-0.300000 -0.602500 -0.397300 -0.248000 -0.488000 -0.832000
+-0.300000 -0.582000 -0.426800 0.336000 -0.608000 -0.712000
+-0.250000 -0.602500 -0.376000 0.360000 -0.328000 -0.872000
+-0.275900 -0.552300 -0.426800 0.528000 -0.480000 -0.696000
+-0.250000 -0.552300 -0.402600 0.504000 -0.312000 -0.792000
+-0.250000 -0.526200 -0.426800 0.576000 -0.448000 -0.672000
+-0.200000 -0.552300 -0.367100 0.360000 -0.232000 -0.896000
+-0.235700 -0.502100 -0.426800 0.696000 -0.464000 -0.536000
+-0.200000 -0.502100 -0.370700 0.184000 -0.352000 -0.912000
+-0.200000 -0.459900 -0.426800 0.560000 -0.592000 -0.576000
+-0.150000 -0.502100 -0.367300 0.088000 -0.320000 -0.936000
+-0.191200 -0.451900 -0.426800 0.664000 -0.480000 -0.560000
+-0.150000 -0.451900 -0.368100 0.456000 -0.056000 -0.880000
+-0.194300 -0.401700 -0.426800 0.792000 0.416000 -0.432000
+-0.150000 -0.417500 -0.365800 0.544000 0.056000 -0.832000
+-0.151700 -0.401700 -0.365800 0.568000 0.104000 -0.808000
+-0.150000 -0.401700 -0.364300 0.552000 0.080000 -0.824000
+-0.200000 -0.365300 -0.365800 0.504000 0.768000 -0.376000
+-0.150000 -0.351500 -0.350300 0.512000 0.192000 -0.832000
+-0.200000 -0.351500 -0.343300 0.312000 0.640000 -0.696000
+-0.150000 -0.301200 -0.318500 -0.024000 0.504000 -0.856000
+-0.200000 -0.301200 -0.313400 0.328000 0.152000 -0.928000
+-0.150000 -0.286300 -0.304800 -0.184000 0.480000 -0.848000
+-0.200000 -0.251000 -0.307600 0.408000 0.096000 -0.904000
+-0.195100 -0.251000 -0.304800 0.376000 0.112000 -0.912000
+-0.200000 -0.200800 -0.306700 0.368000 -0.184000 -0.904000
+-0.196100 -0.200800 -0.304800 0.360000 -0.200000 -0.904000
+-0.200000 -0.150600 -0.333300 0.216000 -0.272000 -0.936000
+-0.150000 -0.159100 -0.304800 0.152000 -0.400000 -0.896000
+-0.150000 -0.150600 -0.309500 -0.032000 -0.400000 -0.912000
+-0.108400 -0.200800 -0.304800 -0.496000 -0.048000 -0.856000
+-0.100000 -0.150600 -0.315000 -0.456000 -0.064000 -0.880000
+-0.100000 -0.200800 -0.311700 -0.496000 0.128000 -0.856000
+-0.050000 -0.150600 -0.332400 0.016000 -0.080000 -0.992000
+-0.050000 -0.200800 -0.320900 -0.056000 0.280000 -0.952000
+0.000000 -0.150600 -0.318000 0.160000 0.016000 -0.984000
+0.000000 -0.200800 -0.332000 -0.296000 0.528000 -0.784000
+0.050000 -0.150600 -0.318000 0.352000 0.312000 -0.872000
+0.050000 -0.200800 -0.360800 -0.016000 0.576000 -0.808000
+0.096000 -0.150600 -0.304800 0.176000 0.336000 -0.920000
+0.100000 -0.200800 -0.352600 0.240000 0.528000 -0.800000
+0.100000 -0.151600 -0.304800 -0.176000 0.536000 -0.816000
+0.150000 -0.200800 -0.325200 0.160000 0.176000 -0.968000
+0.101900 -0.150600 -0.304800 -0.296000 0.368000 -0.872000
+0.150000 -0.150600 -0.323600 -0.232000 0.464000 -0.848000
+0.114400 -0.100400 -0.304800 -0.344000 0.128000 -0.928000
+0.150000 -0.100400 -0.322200 0.000000 0.224000 -0.968000
+0.150000 -0.064700 -0.304800 -0.200000 0.328000 -0.912000
+0.185500 -0.100400 -0.304800 0.296000 0.104000 -0.944000
+0.150000 -0.050200 -0.298400 -0.176000 0.328000 -0.920000
+0.200000 -0.100400 -0.298900 0.088000 0.040000 -0.992000
+0.188500 -0.050200 -0.304800 -0.128000 0.184000 -0.968000
+0.200000 -0.061600 -0.304800 0.000000 -0.144000 -0.984000
+0.200000 -0.050200 -0.307000 0.000000 0.192000 -0.976000
+0.211400 -0.050200 -0.304800 0.152000 0.184000 -0.968000
+0.200000 -0.045300 -0.304800 -0.008000 0.344000 -0.936000
+0.250000 -0.050200 -0.297000 0.000000 0.040000 -0.992000
+0.200000 0.000000 -0.277300 0.080000 0.528000 -0.840000
+0.250000 0.000000 -0.271900 -0.336000 0.528000 -0.776000
+0.200000 0.025700 -0.243900 0.016000 0.752000 -0.648000
+0.250000 0.018500 -0.243900 -0.144000 0.856000 -0.480000
+0.200000 0.019700 -0.182900 0.160000 0.648000 0.736000
+0.250000 0.002800 -0.182900 0.128000 0.640000 0.752000
+0.200000 0.000000 -0.161400 0.032000 0.656000 0.752000
+0.250000 0.000000 -0.180400 0.176000 0.568000 0.792000
+0.200000 -0.041200 -0.121900 0.160000 0.488000 0.856000
+0.250000 -0.050200 -0.132500 0.192000 0.528000 0.816000
+0.222300 -0.050200 -0.121900 0.200000 0.432000 0.872000
+0.250000 -0.068700 -0.121900 0.096000 0.400000 0.904000
+0.200000 -0.050200 -0.116900 0.136000 0.368000 0.912000
+0.250000 -0.100400 -0.106800 0.080000 0.336000 0.936000
+0.200000 -0.100400 -0.095800 0.064000 0.272000 0.952000
+0.250000 -0.150600 -0.087200 0.040000 0.104000 0.992000
+0.200000 -0.150600 -0.099300 0.040000 0.104000 0.992000
+0.250000 -0.200800 -0.084100 0.120000 -0.168000 0.976000
+0.200000 -0.200800 -0.086600 0.112000 -0.336000 0.928000
+0.250000 -0.237200 -0.121900 0.048000 -0.656000 0.744000
+0.200000 -0.240500 -0.121900 0.152000 -0.656000 0.728000
+0.250000 -0.251000 -0.140300 -0.072000 -0.512000 0.848000
+0.200000 -0.251000 -0.134700 0.128000 -0.784000 0.600000
+0.250000 -0.301200 -0.149400 -0.376000 -0.584000 0.712000
+0.200000 -0.290700 -0.182900 -0.520000 -0.680000 0.512000
+0.211500 -0.301200 -0.182900 -0.568000 -0.672000 0.464000
+0.200000 -0.301200 -0.206400 -0.600000 -0.688000 0.384000
+0.250000 -0.319600 -0.182900 -0.280000 -0.832000 0.472000
+0.200000 -0.319700 -0.243900 -0.624000 -0.696000 0.328000
+0.250000 -0.343100 -0.243900 -0.320000 -0.920000 0.208000
+0.200000 -0.340400 -0.304800 -0.480000 -0.448000 -0.744000
+0.250000 -0.348300 -0.304800 -0.128000 -0.736000 -0.656000
+0.200000 -0.301200 -0.321600 -0.488000 -0.368000 -0.784000
+0.250000 -0.313600 -0.365800 -0.336000 -0.640000 -0.680000
+0.236200 -0.301200 -0.365800 -0.608000 -0.320000 -0.712000
+0.250000 -0.301200 -0.379400 -0.536000 -0.264000 -0.792000
+0.250000 -0.271800 -0.365800 -0.320000 0.360000 -0.872000
+0.300000 -0.301200 -0.372900 0.128000 -0.472000 -0.864000
+0.300000 -0.284400 -0.365800 0.136000 0.360000 -0.920000
+0.333500 -0.301200 -0.365800 0.208000 -0.080000 -0.968000
+0.300000 -0.251000 -0.347800 0.304000 0.384000 -0.864000
+0.350000 -0.301200 -0.360500 0.376000 0.184000 -0.904000
+0.350000 -0.251000 -0.329500 0.536000 0.472000 -0.688000
+0.400000 -0.301200 -0.307300 0.704000 0.496000 -0.496000
+0.366700 -0.251000 -0.304800 0.704000 0.488000 -0.496000
+0.400000 -0.299100 -0.304800 0.736000 0.472000 -0.472000
+0.399000 -0.251000 -0.243900 0.912000 -0.008000 -0.392000
+0.400000 -0.252300 -0.243900 0.744000 0.488000 -0.440000
+0.398900 -0.251000 -0.182900 0.896000 -0.160000 0.400000
+0.400000 -0.252800 -0.182900 0.760000 0.464000 0.440000
+0.354900 -0.251000 -0.121900 0.704000 -0.304000 0.632000
+0.400000 -0.301200 -0.149800 0.528000 0.376000 0.752000
+0.350000 -0.260400 -0.121900 0.448000 -0.472000 0.752000
+0.350000 -0.301200 -0.148100 0.392000 -0.048000 0.912000
+0.328900 -0.251000 -0.121900 -0.264000 -0.304000 0.912000
+0.300000 -0.301200 -0.149800 -0.024000 -0.480000 0.872000
+0.300000 -0.251000 -0.132800 -0.224000 -0.464000 0.856000
+0.250000 -0.301200 -0.149400 -0.376000 -0.584000 0.712000
+0.250000 -0.251000 -0.140300 -0.072000 -0.512000 0.848000
+0.300000 -0.251000 -0.132800 -0.224000 -0.464000 0.856000
+0.250000 -0.237200 -0.121900 0.048000 -0.656000 0.744000
+0.300000 -0.234400 -0.121900 0.104000 -0.472000 0.872000
+0.250000 -0.200800 -0.084100 0.120000 -0.168000 0.976000
+0.300000 -0.200800 -0.101500 0.424000 -0.216000 0.872000
+0.250000 -0.150600 -0.087200 0.040000 0.104000 0.992000
+0.300000 -0.150600 -0.090800 0.240000 -0.024000 0.968000
+0.250000 -0.100400 -0.106800 0.080000 0.336000 0.936000
+0.300000 -0.100400 -0.098900 -0.360000 0.344000 0.856000
+0.250000 -0.068700 -0.121900 0.096000 0.400000 0.904000
+0.300000 -0.060700 -0.121900 -0.512000 0.456000 0.720000
+0.250000 -0.050200 -0.132500 0.192000 0.528000 0.816000
+0.300000 -0.050200 -0.130700 -0.504000 0.472000 0.720000
+0.250000 0.000000 -0.180400 0.176000 0.568000 0.792000
+0.300000 0.000000 -0.166100 -0.488000 0.464000 0.728000
+0.250000 0.002800 -0.182900 0.128000 0.640000 0.752000
+0.300000 0.018000 -0.182900 -0.296000 0.768000 0.552000
+0.250000 0.018500 -0.243900 -0.144000 0.856000 -0.480000
+0.300000 0.032100 -0.243900 -0.576000 0.680000 -0.432000
+0.250000 0.000000 -0.271900 -0.336000 0.528000 -0.776000
+0.300000 0.000000 -0.302400 -0.544000 0.608000 -0.568000
+0.250000 -0.050200 -0.297000 0.000000 0.040000 -0.992000
+0.300000 -0.003100 -0.304800 -0.376000 0.424000 -0.816000
+0.266500 -0.050200 -0.304800 -0.280000 0.064000 -0.952000
+0.300000 -0.050200 -0.319900 -0.536000 0.224000 -0.808000
+0.278900 -0.100400 -0.304800 -0.176000 0.256000 -0.944000
+0.300000 -0.100400 -0.310000 -0.248000 0.072000 -0.960000
+0.250000 -0.114900 -0.304800 -0.104000 0.280000 -0.952000
+0.300000 -0.150600 -0.312600 0.312000 -0.200000 -0.920000
+0.250000 -0.150600 -0.317700 0.024000 0.336000 -0.936000
+0.300000 -0.200800 -0.324200 0.480000 0.248000 -0.832000
+0.250000 -0.200800 -0.343100 0.104000 0.232000 -0.960000
+0.300000 -0.251000 -0.347800 0.304000 0.384000 -0.864000
+0.250000 -0.251000 -0.353900 0.064000 0.384000 -0.920000
+0.300000 -0.284400 -0.365800 0.136000 0.360000 -0.920000
+0.250000 -0.271800 -0.365800 -0.320000 0.360000 -0.872000
+0.250000 -0.251000 -0.353900 0.064000 0.384000 -0.920000
+0.236200 -0.301200 -0.365800 -0.608000 -0.320000 -0.712000
+0.200000 -0.251000 -0.346500 -0.184000 0.088000 -0.976000
+0.200000 -0.301200 -0.321600 -0.488000 -0.368000 -0.784000
+0.150000 -0.251000 -0.336000 0.080000 -0.336000 -0.928000
+0.170700 -0.301200 -0.304800 -0.520000 -0.608000 -0.592000
+0.150000 -0.287400 -0.304800 0.000000 -0.712000 -0.688000
+0.176900 -0.301200 -0.243900 -0.504000 -0.800000 0.304000
+0.150000 -0.287700 -0.243900 -0.208000 -0.968000 0.064000
+0.200000 -0.301200 -0.206400 -0.600000 -0.688000 0.384000
+0.150000 -0.278000 -0.182900 -0.064000 -0.936000 0.328000
+0.200000 -0.290700 -0.182900 -0.520000 -0.680000 0.512000
+0.150000 -0.253200 -0.121900 0.192000 -0.808000 0.552000
+0.200000 -0.251000 -0.134700 0.128000 -0.784000 0.600000
+0.161400 -0.251000 -0.121900 0.152000 -0.792000 0.576000
+0.200000 -0.240500 -0.121900 0.152000 -0.656000 0.728000
+0.150000 -0.251000 -0.118100 0.224000 -0.792000 0.560000
+0.200000 -0.200800 -0.086600 0.112000 -0.336000 0.928000
+0.150000 -0.200800 -0.071800 0.312000 -0.208000 0.920000
+0.200000 -0.150600 -0.099300 0.040000 0.104000 0.992000
+0.150000 -0.150600 -0.071000 0.136000 0.176000 0.968000
+0.200000 -0.100400 -0.095800 0.064000 0.272000 0.952000
+0.150000 -0.100400 -0.080500 0.184000 0.336000 0.920000
+0.200000 -0.050200 -0.116900 0.136000 0.368000 0.912000
+0.150000 -0.050200 -0.113700 0.032000 0.448000 0.888000
+0.200000 -0.041200 -0.121900 0.160000 0.488000 0.856000
+0.150000 -0.036300 -0.121900 0.008000 0.488000 0.864000
+0.200000 0.000000 -0.161400 0.032000 0.656000 0.752000
+0.150000 0.000000 -0.166100 -0.096000 0.688000 0.712000
+0.200000 0.019700 -0.182900 0.160000 0.648000 0.736000
+0.150000 0.016800 -0.182900 -0.152000 0.840000 0.520000
+0.200000 0.025700 -0.243900 0.016000 0.752000 -0.648000
+0.150000 0.015400 -0.243900 -0.208000 0.728000 -0.640000
+0.200000 0.000000 -0.277300 0.080000 0.528000 -0.840000
+0.150000 0.000000 -0.257100 -0.208000 0.552000 -0.800000
+0.200000 -0.045300 -0.304800 -0.008000 0.344000 -0.936000
+0.150000 -0.050200 -0.298400 -0.176000 0.328000 -0.920000
+0.188500 -0.050200 -0.304800 -0.128000 0.184000 -0.968000
+0.200000 -0.045300 -0.304800 -0.008000 0.344000 -0.936000
+0.200000 -0.050200 -0.307000 0.000000 0.192000 -0.976000
+0.200000 -0.050200 -0.307000 0.000000 0.192000 -0.976000
+-0.800000 -0.100400 0.186900 0.104000 0.048000 0.992000
+-0.800000 -0.100400 0.186900 0.104000 0.048000 0.992000
+-0.776900 -0.100400 0.182900 0.184000 0.120000 0.968000
+-0.800000 -0.150600 0.189500 -0.240000 -0.056000 0.960000
+-0.750000 -0.136500 0.182900 0.216000 0.112000 0.968000
+-0.750000 -0.150600 0.184600 0.192000 0.080000 0.976000
+-0.743500 -0.150600 0.182900 0.192000 0.096000 0.968000
+-0.750000 -0.200800 0.187200 0.064000 -0.048000 0.992000
+-0.703900 -0.200800 0.182900 0.128000 0.064000 0.984000
+-0.750000 -0.251000 0.186100 -0.160000 -0.136000 0.976000
+-0.700000 -0.208700 0.182900 0.176000 0.120000 0.968000
+-0.700000 -0.251000 0.184700 0.008000 -0.024000 0.992000
+-0.650000 -0.249200 0.182900 0.176000 0.464000 0.864000
+-0.650000 -0.251000 0.183700 0.152000 0.272000 0.944000
+-0.638500 -0.251000 0.182900 0.072000 0.424000 0.896000
+-0.650000 -0.301200 0.185200 -0.152000 0.008000 0.984000
+-0.600000 -0.260000 0.182900 0.056000 0.320000 0.944000
+-0.600000 -0.301200 0.196400 -0.152000 0.176000 0.968000
+-0.550000 -0.264400 0.182900 -0.072000 0.456000 0.880000
+-0.550000 -0.301200 0.200100 -0.040000 0.312000 0.944000
+-0.512000 -0.251000 0.182900 -0.112000 0.632000 0.760000
+-0.500000 -0.301200 0.199600 -0.128000 0.216000 0.960000
+-0.500000 -0.251000 0.185100 -0.112000 0.632000 0.760000
+-0.450000 -0.301200 0.203900 0.032000 0.168000 0.984000
+-0.450000 -0.251000 0.195400 -0.152000 0.392000 0.904000
+-0.400000 -0.301200 0.211000 0.416000 0.000000 0.904000
+-0.400000 -0.251000 0.203200 0.024000 0.208000 0.976000
+-0.369700 -0.301200 0.182900 0.552000 -0.328000 0.752000
+-0.350000 -0.251000 0.206900 0.584000 -0.272000 0.760000
+-0.350000 -0.276800 0.182900 0.600000 -0.432000 0.664000
+-0.334800 -0.251000 0.182900 0.672000 -0.480000 0.552000
+-0.350000 -0.301200 0.167500 0.592000 -0.368000 0.712000
+-0.300000 -0.251000 0.131000 0.632000 -0.616000 0.464000
+-0.327200 -0.301200 0.121900 0.792000 -0.368000 0.472000
+-0.300000 -0.256400 0.121900 0.624000 -0.624000 0.456000
+-0.300000 -0.301200 0.065200 0.504000 -0.568000 0.640000
+-0.294600 -0.251000 0.121900 0.616000 -0.600000 0.488000
+-0.295000 -0.301200 0.060900 0.472000 -0.584000 0.648000
+-0.250000 -0.251000 0.071500 0.528000 -0.408000 0.736000
+-0.250000 -0.262800 0.060900 0.496000 -0.520000 0.688000
+-0.236900 -0.251000 0.060900 0.464000 -0.480000 0.728000
+-0.250000 -0.301200 0.006000 0.344000 -0.608000 0.704000
+-0.200000 -0.251000 0.018200 0.408000 -0.392000 0.816000
+-0.235900 -0.301200 0.000000 0.272000 -0.568000 0.768000
+-0.200000 -0.279600 0.000000 -0.016000 -0.496000 0.864000
+-0.200000 -0.301200 -0.017500 -0.064000 -0.432000 0.896000
+-0.235900 -0.301200 0.000000 0.272000 -0.568000 0.768000
+-0.200000 -0.351500 -0.031500 -0.320000 -0.128000 0.936000
+-0.250000 -0.307700 0.000000 0.288000 -0.576000 0.760000
+-0.250000 -0.351500 -0.038300 0.104000 -0.504000 0.848000
+-0.300000 -0.343500 0.000000 0.832000 -0.408000 0.360000
+-0.300000 -0.351500 -0.012600 0.872000 -0.352000 0.320000
+-0.303300 -0.351500 0.000000 0.888000 -0.344000 0.288000
+-0.300000 -0.401700 -0.045100 0.792000 -0.248000 0.544000
+-0.319500 -0.401700 0.000000 0.536000 -0.584000 0.592000
+-0.300000 -0.435300 -0.060900 -0.192000 -0.360000 0.912000
+-0.350000 -0.427600 0.000000 0.560000 -0.752000 0.336000
+-0.338500 -0.451900 -0.060900 0.112000 -0.632000 0.760000
+-0.350000 -0.451900 -0.058800 0.248000 -0.624000 0.728000
+-0.350000 -0.453900 -0.060900 0.248000 -0.624000 0.728000
+-0.400000 -0.451900 -0.009600 0.744000 -0.536000 0.376000
+-0.380200 -0.502100 -0.060900 0.648000 -0.616000 0.432000
+-0.400000 -0.502100 -0.024700 0.848000 -0.224000 0.464000
+-0.400000 -0.527700 -0.060900 0.080000 -0.768000 0.624000
+-0.450000 -0.502100 -0.045100 0.560000 -0.696000 0.432000
+-0.450000 -0.512800 -0.060900 0.208000 -0.760000 0.608000
+-0.466200 -0.502100 0.000000 0.712000 -0.616000 0.320000
+-0.478800 -0.552300 -0.060900 0.704000 -0.592000 0.376000
+-0.500000 -0.548400 0.000000 0.368000 -0.816000 0.432000
+-0.500000 -0.552300 -0.009400 0.352000 -0.840000 0.400000
+-0.509600 -0.552300 0.000000 0.320000 -0.840000 0.424000
+-0.500000 -0.570000 -0.060900 0.480000 -0.800000 0.328000
+-0.550000 -0.565800 0.000000 0.224000 -0.872000 0.424000
+-0.550000 -0.588500 -0.060900 0.224000 -0.888000 0.384000
+-0.600000 -0.566300 0.000000 -0.184000 -0.816000 0.544000
+-0.600000 -0.601900 -0.060900 -0.072000 -0.808000 0.568000
+-0.633400 -0.552300 0.000000 -0.384000 -0.672000 0.624000
+-0.650000 -0.594800 -0.060900 -0.368000 -0.640000 0.664000
+-0.650000 -0.552300 -0.012600 -0.496000 -0.592000 0.624000
+-0.685200 -0.552300 -0.060900 -0.696000 -0.384000 0.592000
+-0.650000 -0.541900 0.000000 -0.528000 -0.600000 0.592000
+-0.700000 -0.507800 -0.060900 -0.864000 -0.200000 0.448000
+-0.674300 -0.502100 0.000000 -0.656000 -0.632000 0.384000
+-0.700000 -0.502100 -0.057900 -0.752000 -0.512000 0.400000
+-0.700000 -0.478200 0.000000 -0.704000 -0.632000 0.312000
+-0.701200 -0.502100 -0.060900 -0.816000 -0.416000 0.392000
+-0.719800 -0.451900 0.000000 -0.816000 -0.520000 0.240000
+-0.735400 -0.451900 -0.060900 -0.768000 -0.512000 0.360000
+-0.750000 -0.403200 0.000000 -0.832000 -0.504000 0.216000
+-0.750000 -0.426100 -0.060900 -0.864000 -0.448000 0.200000
+-0.750800 -0.401700 0.000000 -0.816000 -0.520000 0.208000
+-0.762700 -0.401700 -0.060900 -0.840000 -0.496000 0.168000
+-0.782800 -0.351500 0.000000 -0.816000 -0.536000 0.208000
+-0.794800 -0.351500 -0.060900 -0.816000 -0.552000 0.144000
+-0.800000 -0.327900 0.000000 -0.800000 -0.560000 0.176000
+-0.800000 -0.343900 -0.060900 -0.816000 -0.552000 0.128000
+-0.817700 -0.301200 0.000000 -0.808000 -0.560000 0.168000
+-0.826600 -0.301200 -0.060900 -0.824000 -0.544000 0.120000
+-0.800000 -0.343900 -0.060900 -0.816000 -0.552000 0.128000
+-0.832400 -0.301200 -0.121900 -0.840000 -0.528000 0.048000
+-0.800000 -0.351500 -0.101400 -0.840000 -0.528000 0.104000
+-0.802000 -0.351500 -0.121900 -0.840000 -0.520000 0.096000
+-0.800000 -0.354700 -0.121900 -0.848000 -0.512000 0.080000
+-0.802200 -0.351500 -0.182900 -0.872000 -0.480000 0.016000
+-0.800000 -0.355500 -0.182900 -0.872000 -0.472000 0.032000
+-0.807300 -0.351500 -0.243900 -0.864000 -0.472000 0.152000
+-0.800000 -0.365300 -0.243900 -0.880000 -0.440000 0.160000
+-0.821000 -0.351500 -0.304800 -0.824000 -0.504000 0.232000
+-0.800000 -0.395700 -0.304800 -0.920000 -0.376000 0.000000
+-0.812200 -0.351500 -0.365800 -0.856000 -0.296000 -0.408000
+-0.800000 -0.388500 -0.365800 -0.864000 -0.288000 -0.400000
+-0.800000 -0.351500 -0.388300 -0.664000 -0.152000 -0.728000
+-0.796500 -0.401700 -0.365800 -0.952000 -0.168000 -0.232000
+-0.750000 -0.351500 -0.422100 -0.312000 0.448000 -0.824000
+-0.777800 -0.401700 -0.426800 -0.928000 0.040000 -0.360000
+-0.750000 -0.359700 -0.426800 -0.368000 0.408000 -0.832000
+-0.750000 -0.351500 -0.422100 -0.312000 0.448000 -0.824000
+-0.736800 -0.351500 -0.426800 -0.240000 0.480000 -0.832000
+-0.736800 -0.351500 -0.426800 -0.240000 0.480000 -0.832000
+-0.750000 -0.150600 0.184600 0.192000 0.080000 0.976000
+-0.750000 -0.150600 0.184600 0.192000 0.080000 0.976000
+-0.800000 -0.150600 0.189500 -0.240000 -0.056000 0.960000
+-0.750000 -0.200800 0.187200 0.064000 -0.048000 0.992000
+-0.800000 -0.200800 0.184500 -0.256000 -0.128000 0.952000
+-0.750000 -0.251000 0.186100 -0.160000 -0.136000 0.976000
+-0.800000 -0.206500 0.182900 -0.304000 -0.264000 0.912000
+-0.762000 -0.251000 0.182900 -0.256000 -0.192000 0.936000
+-0.800000 -0.251000 0.157900 -0.576000 -0.400000 0.696000
+-0.750000 -0.267900 0.182900 -0.232000 -0.192000 0.944000
+-0.800000 -0.280700 0.121900 -0.736000 -0.528000 0.408000
+-0.750000 -0.301200 0.168400 -0.360000 -0.432000 0.816000
+-0.783300 -0.301200 0.121900 -0.688000 -0.568000 0.440000
+-0.750000 -0.342500 0.121900 -0.536000 -0.592000 0.592000
+-0.800000 -0.301200 0.085900 -0.768000 -0.544000 0.304000
+-0.750000 -0.351500 0.110100 -0.600000 -0.584000 0.536000
+-0.800000 -0.310100 0.060900 -0.800000 -0.544000 0.224000
+-0.767900 -0.351500 0.060900 -0.760000 -0.568000 0.296000
+-0.800000 -0.327900 0.000000 -0.800000 -0.560000 0.176000
+-0.782800 -0.351500 0.000000 -0.816000 -0.536000 0.208000
+-0.767900 -0.351500 0.060900 -0.760000 -0.568000 0.296000
+-0.750800 -0.401700 0.000000 -0.816000 -0.520000 0.208000
+-0.750000 -0.377100 0.060900 -0.760000 -0.552000 0.320000
+-0.750000 -0.401700 0.004100 -0.816000 -0.520000 0.232000
+-0.731300 -0.401700 0.060900 -0.784000 -0.496000 0.344000
+-0.750000 -0.403200 0.000000 -0.832000 -0.504000 0.216000
+-0.701000 -0.451900 0.060900 -0.792000 -0.480000 0.344000
+-0.719800 -0.451900 0.000000 -0.816000 -0.520000 0.240000
+-0.700000 -0.453200 0.060900 -0.560000 -0.720000 0.392000
+-0.700000 -0.478200 0.000000 -0.704000 -0.632000 0.312000
+-0.650000 -0.495900 0.060900 -0.528000 -0.720000 0.432000
+-0.674300 -0.502100 0.000000 -0.656000 -0.632000 0.384000
+-0.650000 -0.502100 0.048300 -0.536000 -0.712000 0.440000
+-0.650000 -0.541900 0.000000 -0.528000 -0.600000 0.592000
+-0.640700 -0.502100 0.060900 -0.496000 -0.728000 0.456000
+-0.633400 -0.552300 0.000000 -0.384000 -0.672000 0.624000
+-0.600000 -0.531600 0.060900 -0.448000 -0.736000 0.496000
+-0.600000 -0.552300 0.023900 -0.224000 -0.776000 0.584000
+-0.550000 -0.532000 0.060900 0.080000 -0.776000 0.624000
+-0.550000 -0.552300 0.031000 0.256000 -0.800000 0.528000
+-0.500000 -0.517700 0.060900 0.632000 -0.632000 0.440000
+-0.509600 -0.552300 0.000000 0.320000 -0.840000 0.424000
+-0.500000 -0.548400 0.000000 0.368000 -0.816000 0.432000
+-0.500000 -0.517700 0.060900 0.632000 -0.632000 0.440000
+-0.466200 -0.502100 0.000000 0.712000 -0.616000 0.320000
+-0.489100 -0.502100 0.060900 0.704000 -0.616000 0.328000
+-0.450000 -0.489500 0.000000 0.584000 -0.760000 0.264000
+-0.450000 -0.471900 0.060900 0.592000 -0.752000 0.272000
+-0.403800 -0.451900 0.000000 0.744000 -0.560000 0.352000
+-0.425300 -0.451900 0.060900 0.696000 -0.640000 0.304000
+-0.400000 -0.447100 0.000000 0.720000 -0.584000 0.344000
+-0.400000 -0.423000 0.060900 0.616000 -0.696000 0.360000
+-0.350000 -0.427600 0.000000 0.560000 -0.752000 0.336000
+-0.350000 -0.406300 0.060900 0.592000 -0.728000 0.320000
+-0.319500 -0.401700 0.000000 0.536000 -0.584000 0.592000
+-0.344500 -0.401700 0.060900 0.632000 -0.688000 0.328000
+-0.303300 -0.351500 0.000000 0.888000 -0.344000 0.288000
+-0.319700 -0.351500 0.060900 0.864000 -0.376000 0.328000
+-0.300000 -0.343500 0.000000 0.832000 -0.408000 0.360000
+-0.300000 -0.305300 0.060900 0.512000 -0.568000 0.632000
+-0.250000 -0.307700 0.000000 0.288000 -0.576000 0.760000
+-0.295000 -0.301200 0.060900 0.472000 -0.584000 0.648000
+-0.250000 -0.301200 0.006000 0.344000 -0.608000 0.704000
+-0.250000 -0.262800 0.060900 0.496000 -0.520000 0.688000
+-0.250000 -0.262800 0.060900 0.496000 -0.520000 0.688000
+-0.762000 -0.251000 0.182900 -0.256000 -0.192000 0.936000
+-0.762000 -0.251000 0.182900 -0.256000 -0.192000 0.936000
+-0.750000 -0.251000 0.186100 -0.160000 -0.136000 0.976000
+-0.750000 -0.267900 0.182900 -0.232000 -0.192000 0.944000
+-0.700000 -0.251000 0.184700 0.008000 -0.024000 0.992000
+-0.700000 -0.272200 0.182900 -0.072000 -0.128000 0.984000
+-0.650000 -0.251000 0.183700 0.152000 0.272000 0.944000
+-0.671000 -0.301200 0.182900 -0.120000 -0.104000 0.984000
+-0.650000 -0.301200 0.185200 -0.152000 0.008000 0.984000
+-0.663400 -0.351500 0.182900 -0.304000 -0.080000 0.944000
+-0.650000 -0.351500 0.187800 -0.272000 -0.048000 0.952000
+-0.650000 -0.385200 0.182900 -0.496000 -0.152000 0.848000
+-0.600000 -0.351500 0.201700 -0.216000 0.016000 0.968000
+-0.644900 -0.401700 0.182900 -0.528000 -0.240000 0.808000
+-0.600000 -0.401700 0.205900 -0.320000 -0.144000 0.928000
+-0.600000 -0.446800 0.182900 -0.240000 -0.464000 0.848000
+-0.550000 -0.401700 0.218500 0.000000 -0.272000 0.960000
+-0.583500 -0.451900 0.182900 -0.128000 -0.544000 0.824000
+-0.550000 -0.451900 0.188900 -0.024000 -0.624000 0.776000
+-0.550000 -0.456500 0.182900 0.056000 -0.736000 0.672000
+-0.523100 -0.451900 0.182900 0.136000 -0.648000 0.744000
+-0.550000 -0.494000 0.121900 0.024000 -0.832000 0.536000
+-0.500000 -0.451900 0.177400 0.160000 -0.648000 0.736000
+-0.500000 -0.486900 0.121900 0.296000 -0.800000 0.504000
+-0.450000 -0.451900 0.126400 0.752000 -0.472000 0.448000
+-0.450000 -0.453600 0.121900 0.584000 -0.744000 0.288000
+-0.447800 -0.451900 0.121900 0.672000 -0.648000 0.344000
+-0.450000 -0.471900 0.060900 0.592000 -0.752000 0.272000
+-0.425300 -0.451900 0.060900 0.696000 -0.640000 0.304000
+-0.447800 -0.451900 0.121900 0.672000 -0.648000 0.344000
+-0.400000 -0.423000 0.060900 0.616000 -0.696000 0.360000
+-0.404400 -0.401700 0.121900 0.648000 -0.656000 0.368000
+-0.400000 -0.401700 0.111300 0.640000 -0.680000 0.336000
+-0.400000 -0.397400 0.121900 0.632000 -0.672000 0.368000
+-0.350000 -0.401700 0.073400 0.632000 -0.688000 0.344000
+-0.350000 -0.369000 0.121900 0.736000 -0.464000 0.480000
+-0.344500 -0.401700 0.060900 0.632000 -0.688000 0.328000
+-0.341600 -0.351500 0.121900 0.808000 -0.352000 0.456000
+-0.319700 -0.351500 0.060900 0.864000 -0.376000 0.328000
+-0.327200 -0.301200 0.121900 0.792000 -0.368000 0.472000
+-0.300000 -0.305300 0.060900 0.512000 -0.568000 0.632000
+-0.300000 -0.301200 0.065200 0.504000 -0.568000 0.640000
+-0.295000 -0.301200 0.060900 0.472000 -0.584000 0.648000
+-0.295000 -0.301200 0.060900 0.472000 -0.584000 0.648000
+-0.650000 -0.301200 0.185200 -0.152000 0.008000 0.984000
+-0.650000 -0.301200 0.185200 -0.152000 0.008000 0.984000
+-0.650000 -0.351500 0.187800 -0.272000 -0.048000 0.952000
+-0.600000 -0.301200 0.196400 -0.152000 0.176000 0.968000
+-0.600000 -0.351500 0.201700 -0.216000 0.016000 0.968000
+-0.550000 -0.301200 0.200100 -0.040000 0.312000 0.944000
+-0.550000 -0.351500 0.211500 0.000000 0.128000 0.984000
+-0.500000 -0.301200 0.199600 -0.128000 0.216000 0.960000
+-0.500000 -0.351500 0.209200 0.072000 0.104000 0.984000
+-0.450000 -0.301200 0.203900 0.032000 0.168000 0.984000
+-0.450000 -0.351500 0.215900 0.592000 -0.216000 0.768000
+-0.400000 -0.301200 0.211000 0.416000 0.000000 0.904000
+-0.400000 -0.351500 0.196700 0.560000 -0.576000 0.584000
+-0.369700 -0.301200 0.182900 0.552000 -0.328000 0.752000
+-0.389000 -0.351500 0.182900 0.544000 -0.632000 0.536000
+-0.350000 -0.301200 0.167500 0.592000 -0.368000 0.712000
+-0.350000 -0.351500 0.138600 0.680000 -0.440000 0.568000
+-0.327200 -0.301200 0.121900 0.792000 -0.368000 0.472000
+-0.341600 -0.351500 0.121900 0.808000 -0.352000 0.456000
+-0.350000 -0.351500 0.138600 0.680000 -0.440000 0.568000
+-0.350000 -0.369000 0.121900 0.736000 -0.464000 0.480000
+-0.389000 -0.351500 0.182900 0.544000 -0.632000 0.536000
+-0.400000 -0.397400 0.121900 0.632000 -0.672000 0.368000
+-0.400000 -0.359600 0.182900 0.520000 -0.680000 0.496000
+-0.404400 -0.401700 0.121900 0.648000 -0.656000 0.368000
+-0.445800 -0.401700 0.182900 0.648000 -0.488000 0.568000
+-0.447800 -0.451900 0.121900 0.672000 -0.648000 0.344000
+-0.450000 -0.407300 0.182900 0.664000 -0.488000 0.552000
+-0.450000 -0.451900 0.126400 0.752000 -0.472000 0.448000
+-0.500000 -0.444100 0.182900 0.168000 -0.480000 0.848000
+-0.500000 -0.451900 0.177400 0.160000 -0.648000 0.736000
+-0.523100 -0.451900 0.182900 0.136000 -0.648000 0.744000
+-0.500000 -0.444100 0.182900 0.168000 -0.480000 0.848000
+-0.550000 -0.451900 0.188900 -0.024000 -0.624000 0.776000
+-0.500000 -0.401700 0.210500 0.208000 -0.296000 0.928000
+-0.550000 -0.401700 0.218500 0.000000 -0.272000 0.960000
+-0.500000 -0.351500 0.209200 0.072000 0.104000 0.984000
+-0.550000 -0.351500 0.211500 0.000000 0.128000 0.984000
+-0.550000 -0.401700 0.218500 0.000000 -0.272000 0.960000
+-0.600000 -0.351500 0.201700 -0.216000 0.016000 0.968000
+-0.600000 -0.401700 0.205900 -0.320000 -0.144000 0.928000
+-0.600000 -0.401700 0.205900 -0.320000 -0.144000 0.928000
+-0.512000 -0.251000 0.182900 -0.112000 0.632000 0.760000
+-0.512000 -0.251000 0.182900 -0.112000 0.632000 0.760000
+-0.500000 -0.249000 0.182900 -0.112000 0.656000 0.744000
+-0.500000 -0.251000 0.185100 -0.112000 0.632000 0.760000
+-0.450000 -0.233700 0.182900 -0.216000 0.472000 0.848000
+-0.450000 -0.251000 0.195400 -0.152000 0.392000 0.904000
+-0.400000 -0.206800 0.182900 -0.168000 0.424000 0.880000
+-0.400000 -0.251000 0.203200 0.024000 0.208000 0.976000
+-0.383500 -0.200800 0.182900 -0.152000 0.448000 0.872000
+-0.350000 -0.251000 0.206900 0.584000 -0.272000 0.760000
+-0.350000 -0.200800 0.190300 -0.112000 0.384000 0.912000
+-0.334800 -0.251000 0.182900 0.672000 -0.480000 0.552000
+-0.300000 -0.200800 0.189700 0.744000 -0.432000 0.496000
+-0.300000 -0.205800 0.182900 0.768000 -0.472000 0.416000
+-0.296900 -0.200800 0.182900 0.792000 -0.440000 0.408000
+-0.300000 -0.251000 0.131000 0.632000 -0.616000 0.464000
+-0.278100 -0.200800 0.121900 0.816000 -0.432000 0.368000
+-0.294600 -0.251000 0.121900 0.616000 -0.600000 0.488000
+-0.250000 -0.200800 0.078600 0.664000 -0.312000 0.672000
+-0.250000 -0.251000 0.071500 0.528000 -0.408000 0.736000
+-0.222100 -0.200800 0.060900 0.488000 -0.184000 0.848000
+-0.236900 -0.251000 0.060900 0.464000 -0.480000 0.728000
+-0.200000 -0.200800 0.045500 0.568000 -0.152000 0.808000
+-0.200000 -0.251000 0.018200 0.408000 -0.392000 0.816000
+-0.200000 -0.251000 0.018200 0.408000 -0.392000 0.816000
+-0.450000 -0.351500 0.215900 0.592000 -0.216000 0.768000
+-0.450000 -0.351500 0.215900 0.592000 -0.216000 0.768000
+-0.500000 -0.351500 0.209200 0.072000 0.104000 0.984000
+-0.450000 -0.401700 0.188700 0.656000 -0.464000 0.584000
+-0.500000 -0.401700 0.210500 0.208000 -0.296000 0.928000
+-0.450000 -0.407300 0.182900 0.664000 -0.488000 0.552000
+-0.500000 -0.444100 0.182900 0.168000 -0.480000 0.848000
+-0.500000 -0.444100 0.182900 0.168000 -0.480000 0.848000
+-0.400000 -0.351500 0.196700 0.560000 -0.576000 0.584000
+-0.400000 -0.351500 0.196700 0.560000 -0.576000 0.584000
+-0.400000 -0.359600 0.182900 0.520000 -0.680000 0.496000
+-0.450000 -0.351500 0.215900 0.592000 -0.216000 0.768000
+-0.445800 -0.401700 0.182900 0.648000 -0.488000 0.568000
+-0.450000 -0.401700 0.188700 0.656000 -0.464000 0.584000
+-0.450000 -0.407300 0.182900 0.664000 -0.488000 0.552000
+-0.450000 -0.407300 0.182900 0.664000 -0.488000 0.552000
+-0.383500 -0.200800 0.182900 -0.152000 0.448000 0.872000
+-0.383500 -0.200800 0.182900 -0.152000 0.448000 0.872000
+-0.350000 -0.189600 0.182900 -0.288000 0.472000 0.824000
+-0.350000 -0.200800 0.190300 -0.112000 0.384000 0.912000
+-0.311100 -0.150600 0.182900 -0.424000 0.464000 0.768000
+-0.300000 -0.200800 0.189700 0.744000 -0.432000 0.496000
+-0.300000 -0.150600 0.190700 0.000000 0.520000 0.848000
+-0.296900 -0.200800 0.182900 0.792000 -0.440000 0.408000
+-0.288800 -0.150600 0.182900 0.600000 0.360000 0.712000
+-0.278100 -0.200800 0.121900 0.816000 -0.432000 0.368000
+-0.252800 -0.150600 0.121900 0.720000 -0.296000 0.616000
+-0.250000 -0.200800 0.078600 0.664000 -0.312000 0.672000
+-0.250000 -0.150600 0.117900 0.712000 -0.320000 0.616000
+-0.222100 -0.200800 0.060900 0.488000 -0.184000 0.848000
+-0.212600 -0.150600 0.060900 0.712000 -0.216000 0.664000
+-0.200000 -0.200800 0.045500 0.568000 -0.152000 0.808000
+-0.200000 -0.150600 0.042600 0.640000 -0.096000 0.752000
+-0.212600 -0.150600 0.060900 0.712000 -0.216000 0.664000
+-0.200000 -0.121800 0.060900 0.728000 -0.328000 0.592000
+-0.250000 -0.150600 0.117900 0.712000 -0.320000 0.616000
+-0.200000 -0.100400 0.076800 0.784000 -0.136000 0.600000
+-0.250000 -0.144000 0.121900 0.720000 -0.312000 0.608000
+-0.230200 -0.100400 0.121900 0.776000 -0.176000 0.600000
+-0.250000 -0.100400 0.155000 0.480000 0.160000 0.856000
+-0.247100 -0.050200 0.121900 0.488000 0.512000 0.696000
+-0.250000 -0.050200 0.123600 0.200000 0.440000 0.864000
+-0.250000 -0.048000 0.121900 0.272000 0.640000 0.704000
+-0.255700 -0.050200 0.121900 -0.192000 0.512000 0.832000
+-0.250000 0.000000 0.079500 -0.144000 0.552000 0.816000
+-0.300000 -0.050200 0.104800 -0.312000 0.512000 0.792000
+-0.300000 0.000000 0.088800 -0.240000 0.432000 0.864000
+-0.350000 -0.050200 0.083200 -0.416000 0.344000 0.832000
+-0.348200 0.000000 0.060900 -0.376000 0.448000 0.800000
+-0.350000 -0.001900 0.060900 -0.656000 0.280000 0.688000
+-0.350000 0.000000 0.059800 -0.688000 0.400000 0.592000
+-0.367400 -0.050200 0.060900 -0.696000 0.408000 0.584000
+-0.373100 0.000000 0.000000 -0.880000 0.240000 0.392000
+-0.399300 -0.050200 0.000000 -0.696000 0.680000 0.184000
+-0.377800 0.000000 -0.060900 -0.864000 0.424000 -0.248000
+-0.400000 -0.050200 -0.003200 -0.712000 0.672000 0.168000
+-0.400000 -0.037800 -0.060900 -0.728000 0.664000 0.152000
+-0.406900 -0.050200 -0.060900 -0.848000 0.520000 0.000000
+-0.400000 -0.050200 -0.118700 -0.832000 0.528000 -0.160000
+-0.450000 -0.099400 -0.060900 -0.760000 0.616000 0.160000
+-0.400000 -0.050900 -0.121900 -0.736000 0.536000 -0.408000
+-0.450000 -0.100400 -0.065100 -0.512000 0.824000 -0.200000
+-0.434900 -0.100400 -0.121900 -0.608000 0.744000 -0.256000
+-0.450000 -0.111500 -0.121900 -0.376000 0.896000 -0.224000
+-0.403600 -0.100400 -0.182900 -0.616000 0.592000 -0.512000
+-0.450000 -0.128500 -0.182900 -0.504000 0.800000 -0.296000
+-0.400000 -0.100400 -0.188300 -0.616000 0.576000 -0.520000
+-0.450000 -0.150600 -0.239400 -0.408000 0.792000 -0.448000
+-0.400000 -0.131400 -0.243900 -0.384000 0.744000 -0.536000
+-0.444500 -0.150600 -0.243900 -0.312000 0.784000 -0.528000
+-0.400000 -0.150600 -0.272200 -0.312000 0.624000 -0.704000
+-0.450000 -0.152500 -0.243900 -0.384000 0.800000 -0.448000
+-0.400000 -0.174400 -0.304800 -0.224000 0.736000 -0.632000
+-0.450000 -0.186700 -0.304800 -0.216000 0.808000 -0.528000
+-0.400000 -0.200800 -0.333600 -0.064000 0.568000 -0.816000
+-0.450000 -0.200800 -0.327900 -0.112000 0.704000 -0.696000
+-0.400000 -0.239300 -0.365800 0.048000 0.512000 -0.848000
+-0.450000 -0.235000 -0.365800 -0.016000 0.592000 -0.800000
+-0.400000 -0.251000 -0.373300 0.080000 0.400000 -0.904000
+-0.450000 -0.251000 -0.376500 0.032000 0.432000 -0.896000
+-0.400000 -0.301200 -0.390900 0.144000 0.296000 -0.936000
+-0.450000 -0.301200 -0.399100 0.080000 0.320000 -0.936000
+-0.400000 -0.351500 -0.411400 0.000000 0.616000 -0.784000
+-0.450000 -0.351500 -0.418600 0.080000 0.512000 -0.848000
+-0.450000 -0.301200 -0.399100 0.080000 0.320000 -0.936000
+-0.500000 -0.351500 -0.423900 0.056000 0.504000 -0.856000
+-0.500000 -0.301200 -0.402500 0.040000 0.344000 -0.936000
+-0.450000 -0.301200 -0.399100 0.080000 0.320000 -0.936000
+-0.500000 -0.251000 -0.377000 -0.032000 0.528000 -0.840000
+-0.450000 -0.251000 -0.376500 0.032000 0.432000 -0.896000
+-0.500000 -0.238600 -0.365800 -0.072000 0.656000 -0.744000
+-0.450000 -0.235000 -0.365800 -0.016000 0.592000 -0.800000
+-0.500000 -0.200800 -0.313000 -0.112000 0.824000 -0.544000
+-0.450000 -0.200800 -0.327900 -0.112000 0.704000 -0.696000
+-0.500000 -0.196700 -0.304800 -0.120000 0.848000 -0.504000
+-0.450000 -0.186700 -0.304800 -0.216000 0.808000 -0.528000
+-0.500000 -0.169200 -0.243900 -0.328000 0.880000 -0.312000
+-0.450000 -0.152500 -0.243900 -0.384000 0.800000 -0.448000
+-0.500000 -0.154300 -0.182900 -0.320000 0.920000 -0.176000
+-0.450000 -0.150600 -0.239400 -0.408000 0.792000 -0.448000
+-0.491700 -0.150600 -0.182900 -0.448000 0.848000 -0.264000
+-0.450000 -0.128500 -0.182900 -0.504000 0.800000 -0.296000
+-0.500000 -0.150600 -0.154000 -0.424000 0.880000 -0.160000
+-0.450000 -0.111500 -0.121900 -0.376000 0.896000 -0.224000
+-0.500000 -0.144400 -0.121900 -0.376000 0.880000 -0.280000
+-0.450000 -0.100400 -0.065100 -0.512000 0.824000 -0.200000
+-0.500000 -0.119500 -0.060900 -0.160000 0.976000 0.112000
+-0.452400 -0.100400 -0.060900 -0.344000 0.936000 -0.016000
+-0.500000 -0.141000 0.000000 -0.040000 0.880000 0.456000
+-0.450000 -0.100400 -0.057100 -0.400000 0.872000 0.264000
+-0.450000 -0.112700 0.000000 -0.520000 0.784000 0.320000
+-0.434300 -0.100400 0.000000 -0.648000 0.720000 0.208000
+-0.450000 -0.136300 0.060900 -0.512000 0.720000 0.448000
+-0.405500 -0.100400 0.060900 -0.712000 0.456000 0.520000
+-0.450000 -0.150600 0.089400 -0.440000 0.744000 0.496000
+-0.400000 -0.100400 0.069600 -0.688000 0.456000 0.552000
+-0.414900 -0.150600 0.121900 -0.424000 0.616000 0.648000
+-0.400000 -0.140400 0.121900 -0.448000 0.624000 0.632000
+-0.400000 -0.150600 0.133500 -0.392000 0.600000 0.688000
+-0.351400 -0.100400 0.121900 -0.608000 0.368000 0.696000
+-0.350000 -0.150600 0.151300 -0.584000 0.352000 0.720000
+-0.350000 -0.100400 0.123500 -0.608000 0.328000 0.712000
+-0.311100 -0.150600 0.182900 -0.424000 0.464000 0.768000
+-0.300000 -0.100400 0.149000 -0.304000 0.432000 0.840000
+-0.300000 -0.142200 0.182900 0.000000 0.616000 0.776000
+-0.250000 -0.100400 0.155000 0.480000 0.160000 0.856000
+-0.288800 -0.150600 0.182900 0.600000 0.360000 0.712000
+-0.250000 -0.144000 0.121900 0.720000 -0.312000 0.608000
+-0.252800 -0.150600 0.121900 0.720000 -0.296000 0.616000
+-0.250000 -0.150600 0.117900 0.712000 -0.320000 0.616000
+-0.250000 -0.150600 0.117900 0.712000 -0.320000 0.616000
+-0.400000 -0.351500 0.196700 0.560000 -0.576000 0.584000
+-0.400000 -0.351500 0.196700 0.560000 -0.576000 0.584000
+-0.389000 -0.351500 0.182900 0.544000 -0.632000 0.536000
+-0.400000 -0.359600 0.182900 0.520000 -0.680000 0.496000
+-0.400000 -0.359600 0.182900 0.520000 -0.680000 0.496000
+-0.311100 -0.150600 0.182900 -0.424000 0.464000 0.768000
+-0.311100 -0.150600 0.182900 -0.424000 0.464000 0.768000
+-0.300000 -0.142200 0.182900 0.000000 0.616000 0.776000
+-0.300000 -0.150600 0.190700 0.000000 0.520000 0.848000
+-0.288800 -0.150600 0.182900 0.600000 0.360000 0.712000
+-0.288800 -0.150600 0.182900 0.600000 0.360000 0.712000
+0.577700 0.301200 0.182900 -0.536000 0.272000 0.792000
+0.577700 0.301200 0.182900 -0.536000 0.272000 0.792000
+0.600000 0.327100 0.182900 -0.144000 0.552000 0.816000
+0.600000 0.301200 0.199900 -0.528000 0.136000 0.832000
+0.650000 0.311500 0.182900 0.424000 0.496000 0.752000
+0.650000 0.301200 0.190400 0.408000 0.464000 0.776000
+0.660200 0.301200 0.182900 0.480000 0.488000 0.720000
+0.650000 0.251000 0.217300 -0.016000 0.232000 0.968000
+0.700000 0.263400 0.182900 0.512000 0.536000 0.664000
+0.700000 0.251000 0.193900 0.488000 0.504000 0.704000
+0.711700 0.251000 0.182900 0.560000 0.528000 0.624000
+0.700000 0.200800 0.226400 0.328000 0.432000 0.832000
+0.750000 0.208300 0.182900 0.448000 0.624000 0.632000
+0.750000 0.200800 0.191100 0.424000 0.552000 0.712000
+0.761100 0.200800 0.182900 0.432000 0.472000 0.760000
+0.750000 0.150600 0.201100 0.320000 0.240000 0.912000
+0.797300 0.150600 0.182900 0.336000 0.288000 0.888000
+0.750000 0.100400 0.207000 0.032000 -0.192000 0.976000
+0.800000 0.148000 0.182900 0.424000 0.336000 0.832000
+0.800000 0.100400 0.199400 -0.032000 0.024000 0.992000
+0.850000 0.129700 0.182900 0.408000 0.752000 0.504000
+0.850000 0.100400 0.222500 0.440000 0.584000 0.672000
+0.891700 0.100400 0.182900 0.576000 0.688000 0.424000
+0.850000 0.050200 0.216300 -0.184000 -0.272000 0.936000
+0.900000 0.093100 0.182900 0.568000 0.672000 0.464000
+0.900000 0.050200 0.226800 0.488000 0.496000 0.712000
+0.940200 0.050200 0.182900 0.624000 0.528000 0.568000
+0.900000 0.000000 0.237100 -0.176000 -0.616000 0.760000
+0.950000 0.037400 0.182900 0.520000 0.504000 0.680000
+0.950000 0.000000 0.206500 0.400000 0.008000 0.912000
+1.000000 0.004900 0.182900 0.336000 0.520000 0.776000
+1.000000 0.000000 0.186800 0.376000 0.128000 0.912000
+0.950000 0.000000 0.206500 0.400000 0.008000 0.912000
+1.000000 -0.012000 0.182900 0.384000 -0.248000 0.880000
+0.950000 -0.050200 0.197900 0.336000 -0.192000 0.920000
+0.975800 -0.050200 0.182900 0.464000 -0.232000 0.848000
+0.950000 -0.100400 0.196500 0.208000 -0.704000 0.672000
+0.959000 -0.100400 0.182900 0.616000 -0.584000 0.520000
+0.950000 -0.108800 0.182900 0.232000 -0.768000 0.584000
+1.000000 -0.100400 0.134700 0.432000 -0.528000 0.720000
+0.950000 -0.142500 0.121900 -0.608000 -0.672000 0.392000
+1.000000 -0.126300 0.121900 0.016000 -0.480000 0.872000
+0.950000 -0.150600 0.094900 -0.648000 -0.696000 0.272000
+1.000000 -0.150600 0.101600 -0.080000 -0.576000 0.808000
+0.950000 -0.158100 0.060900 -0.608000 -0.760000 0.200000
+1.000000 -0.176100 0.060900 -0.688000 -0.632000 0.336000
+0.950000 -0.168100 0.000000 -0.640000 -0.744000 0.184000
+1.000000 -0.200800 0.012500 -0.656000 -0.696000 0.264000
+0.995800 -0.200800 0.000000 -0.648000 -0.704000 0.264000
+1.000000 -0.204500 0.000000 -0.624000 -0.728000 0.256000
+0.973000 -0.200800 -0.060900 -0.584000 -0.760000 0.264000
+1.000000 -0.224100 -0.060900 -0.616000 -0.728000 0.280000
+0.950500 -0.200800 -0.121900 -0.632000 -0.744000 0.192000
+1.000000 -0.243600 -0.121900 -0.640000 -0.736000 0.184000
+0.950000 -0.200800 -0.124000 -0.680000 -0.712000 0.160000
+1.000000 -0.251000 -0.154300 -0.728000 -0.648000 0.200000
+0.950000 -0.211700 -0.182900 -0.704000 -0.680000 0.176000
+0.993400 -0.251000 -0.182900 -0.736000 -0.640000 0.200000
+0.950000 -0.224400 -0.243900 -0.688000 -0.640000 0.328000
+0.978600 -0.251000 -0.243900 -0.696000 -0.616000 0.352000
+0.950000 -0.251000 -0.295200 -0.640000 -0.496000 0.576000
+1.000000 -0.277900 -0.243900 -0.712000 -0.592000 0.360000
+0.950000 -0.261400 -0.304800 -0.752000 -0.584000 0.288000
+1.000000 -0.301200 -0.291200 -0.640000 -0.488000 0.576000
+0.989600 -0.301200 -0.304800 -0.816000 -0.560000 0.128000
+1.000000 -0.316200 -0.304800 -0.800000 -0.552000 0.224000
+1.000000 -0.301200 -0.328200 -0.784000 -0.440000 -0.424000
+0.989600 -0.301200 -0.304800 -0.816000 -0.560000 0.128000
+1.000000 -0.251000 -0.355700 -0.816000 -0.248000 -0.504000
+0.950000 -0.261400 -0.304800 -0.752000 -0.584000 0.288000
+0.950000 -0.251000 -0.328200 -0.712000 -0.568000 -0.392000
+0.942100 -0.251000 -0.304800 -0.752000 -0.552000 0.344000
+0.950000 -0.200800 -0.357000 -0.272000 -0.104000 -0.952000
+0.911900 -0.200800 -0.304800 -0.864000 -0.480000 -0.128000
+0.950000 -0.150600 -0.345500 -0.032000 0.064000 -0.992000
+0.900000 -0.181100 -0.304800 -0.768000 -0.440000 -0.448000
+0.900000 -0.150600 -0.332000 -0.672000 -0.328000 -0.656000
+0.883200 -0.150600 -0.304800 -0.864000 -0.368000 -0.320000
+0.900000 -0.100400 -0.341700 -0.464000 -0.104000 -0.872000
+0.869700 -0.100400 -0.304800 -0.880000 -0.248000 -0.400000
+0.900000 -0.050200 -0.348300 -0.256000 0.192000 -0.944000
+0.867300 -0.050200 -0.304800 -0.784000 -0.136000 -0.600000
+0.900000 0.000000 -0.329500 -0.080000 0.648000 -0.744000
+0.877300 0.000000 -0.304800 -0.592000 0.480000 -0.632000
+0.900000 0.016700 -0.304800 -0.152000 0.720000 -0.664000
+0.850000 0.000000 -0.279000 -0.536000 0.488000 -0.680000
+0.900000 0.050200 -0.268900 0.208000 0.672000 -0.696000
+0.850000 0.042400 -0.243900 -0.408000 0.528000 -0.736000
+0.858900 0.050200 -0.243900 -0.424000 0.568000 -0.696000
+0.850000 0.050200 -0.237100 -0.376000 0.576000 -0.720000
+0.900000 0.070800 -0.243900 -0.096000 0.744000 -0.656000
+0.850000 0.100400 -0.218500 0.128000 0.592000 -0.784000
+0.900000 0.100400 -0.203200 0.536000 0.688000 -0.472000
+0.850000 0.127100 -0.182900 0.192000 0.744000 -0.632000
+0.900000 0.111100 -0.182900 0.552000 0.712000 -0.416000
+0.850000 0.150600 -0.140900 0.432000 0.840000 -0.304000
+0.900000 0.127900 -0.121900 0.560000 0.776000 -0.264000
+0.859300 0.150600 -0.121900 0.456000 0.840000 -0.272000
+0.900000 0.143500 -0.060900 0.528000 0.808000 -0.240000
+0.888500 0.150600 -0.060900 0.504000 0.856000 -0.040000
+0.900000 0.131100 0.000000 0.480000 0.848000 0.192000
+0.867700 0.150600 0.000000 0.552000 0.816000 0.152000
+0.900000 0.118900 0.060900 0.472000 0.856000 0.184000
+0.855400 0.150600 0.060900 0.680000 0.720000 0.072000
+0.900000 0.107300 0.121900 0.512000 0.832000 0.184000
+0.850900 0.150600 0.121900 0.704000 0.704000 0.080000
+0.900000 0.100400 0.165200 0.584000 0.744000 0.296000
+0.850000 0.150600 0.126500 0.640000 0.560000 0.512000
+0.891700 0.100400 0.182900 0.576000 0.688000 0.424000
+0.850000 0.129700 0.182900 0.408000 0.752000 0.504000
+0.850000 0.150600 0.126500 0.640000 0.560000 0.512000
+0.800000 0.148000 0.182900 0.424000 0.336000 0.832000
+0.800000 0.150600 0.181400 0.520000 0.336000 0.776000
+0.797300 0.150600 0.182900 0.336000 0.288000 0.888000
+0.800000 0.190400 0.121900 0.624000 0.752000 0.168000
+0.761100 0.200800 0.182900 0.432000 0.472000 0.760000
+0.788900 0.200800 0.121900 0.632000 0.744000 0.184000
+0.750000 0.208300 0.182900 0.448000 0.624000 0.632000
+0.750000 0.233400 0.121900 0.720000 0.680000 -0.080000
+0.711700 0.251000 0.182900 0.560000 0.528000 0.624000
+0.736800 0.251000 0.121900 0.752000 0.632000 0.144000
+0.700000 0.263400 0.182900 0.512000 0.536000 0.664000
+0.700000 0.297800 0.121900 0.728000 0.680000 -0.032000
+0.660200 0.301200 0.182900 0.480000 0.488000 0.720000
+0.696500 0.301200 0.121900 0.712000 0.672000 0.168000
+0.650000 0.311500 0.182900 0.424000 0.496000 0.752000
+0.653800 0.351500 0.121900 0.656000 0.616000 0.424000
+0.650000 0.351500 0.128300 0.616000 0.616000 0.480000
+0.650000 0.355500 0.121900 0.632000 0.632000 0.432000
+0.600000 0.351500 0.157200 -0.376000 0.584000 0.704000
+0.600000 0.382600 0.121900 0.272000 0.776000 0.560000
+0.566500 0.351500 0.121900 -0.632000 0.576000 0.496000
+0.600000 0.401700 0.085900 0.096000 0.928000 0.336000
+0.550000 0.351500 0.078000 -0.616000 0.672000 0.392000
+0.584600 0.401700 0.060900 -0.416000 0.872000 0.248000
+0.550000 0.359900 0.060900 -0.592000 0.640000 0.480000
+0.568400 0.401700 0.000000 -0.472000 0.832000 -0.264000
+0.550000 0.388900 0.000000 -0.392000 0.856000 0.320000
+0.600000 0.401700 -0.057700 0.168000 0.920000 -0.344000
+0.550000 0.398000 -0.060900 0.000000 0.968000 -0.216000
+0.600000 0.400600 -0.060900 -0.072000 0.912000 -0.384000
+0.550000 0.362300 -0.121900 0.400000 0.656000 -0.632000
+0.600000 0.351500 -0.101600 0.448000 0.496000 -0.736000
+0.566700 0.351500 -0.121900 0.448000 0.536000 -0.704000
+0.600000 0.310600 -0.121900 0.480000 0.424000 -0.760000
+0.550000 0.351500 -0.135900 0.456000 0.632000 -0.616000
+0.600000 0.301200 -0.128700 0.472000 0.520000 -0.704000
+0.550000 0.301200 -0.167400 0.408000 0.504000 -0.752000
+0.600000 0.256700 -0.182900 0.328000 0.496000 -0.792000
+0.550000 0.283200 -0.182900 0.320000 0.472000 -0.816000
+0.600000 0.251000 -0.187000 0.320000 0.456000 -0.816000
+0.550000 0.251000 -0.199600 0.176000 0.288000 -0.936000
+0.600000 0.200800 -0.209200 0.248000 0.288000 -0.920000
+0.550000 0.200800 -0.211100 0.016000 0.048000 -0.992000
+0.600000 0.150600 -0.225200 0.008000 0.128000 -0.984000
+0.550000 0.150600 -0.215400 -0.144000 0.080000 -0.984000
+0.600000 0.100400 -0.237100 -0.096000 0.168000 -0.976000
+0.550000 0.100400 -0.212600 -0.200000 0.352000 -0.904000
+0.600000 0.076600 -0.243900 -0.096000 0.360000 -0.920000
+0.550000 0.067800 -0.243900 0.024000 0.672000 -0.728000
+0.600000 0.050200 -0.251100 0.248000 0.344000 -0.896000
+0.550000 0.050200 -0.258400 0.160000 0.632000 -0.752000
+0.600000 0.000000 -0.284600 0.512000 0.112000 -0.840000
+0.550000 0.015600 -0.304800 0.472000 0.712000 -0.512000
+0.578400 0.000000 -0.304800 0.536000 0.480000 -0.688000
+0.550000 0.000000 -0.335900 0.576000 0.464000 -0.664000
+0.587300 -0.050200 -0.304800 0.688000 0.056000 -0.712000
+0.550000 -0.050200 -0.345500 0.192000 -0.560000 -0.792000
+0.550000 -0.083700 -0.304800 0.088000 -0.736000 -0.664000
+0.500000 -0.050200 -0.339600 -0.136000 -0.672000 -0.720000
+0.500000 -0.082600 -0.304800 0.216000 -0.680000 -0.688000
+0.450000 -0.050200 -0.325200 -0.120000 -0.568000 -0.808000
+0.475800 -0.100400 -0.304800 0.512000 -0.104000 -0.848000
+0.450000 -0.100400 -0.322200 0.392000 -0.360000 -0.840000
+0.500000 -0.127100 -0.304800 0.480000 0.456000 -0.744000
+0.450000 -0.150600 -0.321300 -0.008000 0.120000 -0.992000
+0.500000 -0.150600 -0.319100 0.336000 0.504000 -0.792000
+0.450000 -0.200800 -0.331300 -0.472000 -0.400000 -0.776000
+0.500000 -0.200800 -0.334200 -0.376000 -0.448000 -0.800000
+0.450000 -0.217600 -0.304800 -0.352000 -0.736000 -0.560000
+0.500000 -0.222600 -0.304800 -0.320000 -0.704000 -0.624000
+0.450000 -0.248400 -0.243900 -0.224000 -0.888000 -0.384000
+0.500000 -0.251000 -0.264200 -0.272000 -0.744000 -0.600000
+0.459300 -0.251000 -0.243900 -0.280000 -0.864000 -0.400000
+0.500000 -0.282700 -0.243900 -0.568000 -0.592000 -0.560000
+0.450000 -0.251000 -0.203800 -0.216000 -0.960000 -0.144000
+0.500000 -0.288400 -0.182900 -0.520000 -0.656000 0.528000
+0.450000 -0.255300 -0.182900 -0.208000 -0.656000 0.712000
+0.500000 -0.251000 -0.123800 -0.544000 -0.688000 0.456000
+0.450000 -0.251000 -0.179900 -0.288000 -0.680000 0.664000
+0.500000 -0.250100 -0.121900 -0.432000 -0.712000 0.536000
+0.450000 -0.227100 -0.121900 -0.296000 -0.712000 0.624000
+0.500000 -0.203100 -0.060900 -0.256000 -0.616000 0.736000
+0.450000 -0.200800 -0.072200 -0.256000 -0.536000 0.800000
+0.491400 -0.200800 -0.060900 -0.168000 -0.584000 0.784000
+0.450000 -0.150600 -0.064700 -0.192000 0.128000 0.968000
+0.463100 -0.150600 -0.060900 -0.168000 0.352000 0.912000
+0.450000 -0.100400 -0.078400 -0.088000 0.200000 0.968000
+0.500000 -0.139000 -0.060900 0.080000 0.536000 0.832000
+0.500000 -0.100400 -0.086800 -0.048000 0.256000 0.960000
+0.530700 -0.150600 -0.060900 0.208000 0.504000 0.832000
+0.550000 -0.100400 -0.076900 0.056000 0.056000 0.992000
+0.550000 -0.150600 -0.067100 0.240000 0.480000 0.840000
+0.600000 -0.100400 -0.077400 0.584000 0.048000 0.800000
+0.600000 -0.150600 -0.093600 0.304000 0.568000 0.752000
+0.626600 -0.100400 -0.121900 0.848000 0.208000 0.472000
+0.650000 -0.150600 -0.116200 0.720000 0.480000 0.488000
+0.650000 -0.146100 -0.121900 0.720000 0.504000 0.464000
+0.652900 -0.150600 -0.121900 0.752000 0.456000 0.464000
+0.650000 -0.117900 -0.182900 0.792000 0.600000 0.024000
+0.675300 -0.150600 -0.182900 0.768000 0.552000 0.296000
+0.650000 -0.120200 -0.243900 0.704000 0.520000 -0.472000
+0.674200 -0.150600 -0.243900 0.696000 0.600000 -0.384000
+0.650000 -0.150600 -0.274900 0.544000 0.464000 -0.688000
+0.700000 -0.175300 -0.243900 0.752000 0.600000 -0.240000
+0.650000 -0.200800 -0.297000 0.088000 0.616000 -0.776000
+0.700000 -0.200800 -0.294000 0.576000 0.608000 -0.536000
+0.650000 -0.208600 -0.304800 0.024000 0.680000 -0.728000
+0.700000 -0.211400 -0.304800 0.288000 0.624000 -0.720000
+0.650000 -0.245700 -0.365800 0.168000 0.856000 -0.480000
+0.700000 -0.251000 -0.357800 0.296000 0.496000 -0.808000
+0.678000 -0.251000 -0.365800 0.264000 0.520000 -0.808000
+0.700000 -0.301200 -0.354900 0.160000 -0.240000 -0.952000
+0.650000 -0.267900 -0.365800 0.280000 -0.440000 -0.848000
+0.650000 -0.301200 -0.350300 0.016000 -0.440000 -0.888000
+0.600000 -0.288400 -0.365800 -0.376000 -0.712000 -0.584000
+0.600000 -0.301200 -0.352300 -0.528000 -0.312000 -0.776000
+0.573000 -0.251000 -0.365800 -0.696000 0.544000 -0.464000
+0.567500 -0.301200 -0.304800 -0.696000 0.400000 -0.584000
+0.550000 -0.251000 -0.326800 -0.648000 -0.504000 -0.560000
+0.550000 -0.272400 -0.304800 -0.680000 -0.440000 -0.576000
+0.535300 -0.251000 -0.304800 -0.648000 -0.480000 -0.576000
+0.550000 -0.301200 -0.279200 -0.712000 0.120000 -0.680000
+0.500000 -0.251000 -0.264200 -0.272000 -0.744000 -0.600000
+0.513800 -0.301200 -0.243900 -0.728000 0.592000 -0.328000
+0.500000 -0.282700 -0.243900 -0.568000 -0.592000 -0.560000
+0.511800 -0.301200 -0.182900 -0.912000 0.352000 0.176000
+0.500000 -0.288400 -0.182900 -0.520000 -0.656000 0.528000
+0.550000 -0.301200 -0.123600 -0.624000 -0.440000 0.632000
+0.500000 -0.251000 -0.123800 -0.544000 -0.688000 0.456000
+0.550000 -0.300100 -0.121900 -0.624000 -0.616000 0.472000
+0.501100 -0.251000 -0.121900 -0.552000 -0.624000 0.544000
+0.550000 -0.251000 -0.069700 -0.416000 -0.584000 0.688000
+0.500000 -0.250100 -0.121900 -0.432000 -0.712000 0.536000
+0.550000 -0.242100 -0.060900 -0.400000 -0.536000 0.736000
+0.500000 -0.203100 -0.060900 -0.256000 -0.616000 0.736000
+0.550000 -0.200800 -0.034900 0.016000 -0.040000 0.992000
+0.500000 -0.200800 -0.058700 -0.200000 -0.576000 0.784000
+0.550000 -0.159500 -0.060900 0.248000 0.472000 0.840000
+0.500000 -0.150600 -0.051600 0.024000 0.352000 0.928000
+0.530700 -0.150600 -0.060900 0.208000 0.504000 0.832000
+0.500000 -0.139000 -0.060900 0.080000 0.536000 0.832000
+0.500000 -0.150600 -0.051600 0.024000 0.352000 0.928000
+0.463100 -0.150600 -0.060900 -0.168000 0.352000 0.912000
+0.500000 -0.200800 -0.058700 -0.200000 -0.576000 0.784000
+0.491400 -0.200800 -0.060900 -0.168000 -0.584000 0.784000
+0.500000 -0.203100 -0.060900 -0.256000 -0.616000 0.736000
+0.500000 -0.203100 -0.060900 -0.256000 -0.616000 0.736000
+0.600000 0.251000 0.198700 -0.584000 -0.144000 0.792000
+0.600000 0.251000 0.198700 -0.584000 -0.144000 0.792000
+0.600000 0.301200 0.199900 -0.528000 0.136000 0.832000
+0.586200 0.251000 0.182900 -0.672000 -0.144000 0.720000
+0.577700 0.301200 0.182900 -0.536000 0.272000 0.792000
+0.550000 0.251000 0.125100 -0.872000 -0.184000 0.440000
+0.550000 0.301200 0.149100 -0.896000 -0.096000 0.416000
+0.548800 0.251000 0.121900 -0.912000 -0.176000 0.360000
+0.538800 0.301200 0.121900 -0.912000 0.128000 0.376000
+0.533200 0.251000 0.060900 -0.856000 0.032000 0.512000
+0.526500 0.301200 0.060900 -0.896000 0.008000 0.432000
+0.500800 0.251000 0.000000 -0.792000 -0.016000 0.608000
+0.500000 0.301200 0.002700 -0.768000 -0.080000 0.624000
+0.500000 0.266900 0.000000 -0.760000 -0.040000 0.640000
+0.497900 0.301200 0.000000 -0.728000 -0.144000 0.664000
+0.500000 0.251000 -0.000900 -0.496000 0.112000 0.856000
+0.450000 0.301200 -0.039700 -0.448000 -0.256000 0.848000
+0.450000 0.251000 -0.039600 -0.400000 -0.080000 0.904000
+0.400000 0.301200 -0.051900 -0.168000 -0.472000 0.856000
+0.400000 0.251000 -0.058700 -0.328000 -0.176000 0.920000
+0.353900 0.301200 -0.060900 -0.128000 -0.544000 0.824000
+0.395100 0.251000 -0.060900 -0.344000 -0.184000 0.912000
+0.350000 0.301200 -0.062100 -0.176000 -0.704000 0.680000
+0.350000 0.251000 -0.088400 -0.448000 -0.320000 0.824000
+0.300000 0.301200 -0.077400 -0.160000 -0.712000 0.680000
+0.300000 0.251000 -0.114600 -0.168000 -0.536000 0.824000
+0.250000 0.301200 -0.083600 -0.096000 -0.744000 0.648000
+0.271900 0.251000 -0.121900 -0.240000 -0.760000 0.592000
+0.250000 0.256500 -0.121900 -0.200000 -0.800000 0.552000
+0.300000 0.251000 -0.156100 -0.368000 -0.808000 -0.448000
+0.250000 0.284000 -0.182900 -0.096000 -0.256000 -0.952000
+0.300000 0.284000 -0.182900 -0.168000 -0.184000 -0.960000
+0.250000 0.301200 -0.184400 -0.080000 -0.056000 -0.992000
+0.300000 0.301200 -0.184400 -0.064000 -0.072000 -0.992000
+0.250000 0.351500 -0.189100 -0.160000 0.168000 -0.968000
+0.300000 0.351500 -0.193900 -0.008000 0.064000 -0.992000
+0.250000 0.370000 -0.182900 -0.184000 0.304000 -0.928000
+0.300000 0.379400 -0.182900 -0.016000 0.272000 -0.960000
+0.250000 0.401700 -0.172700 -0.016000 0.288000 -0.952000
+0.300000 0.401700 -0.174800 0.040000 0.368000 -0.920000
+0.250000 0.451900 -0.137900 0.128000 0.536000 -0.824000
+0.300000 0.451900 -0.131100 0.200000 0.712000 -0.664000
+0.250000 0.466900 -0.121900 0.232000 0.968000 0.016000
+0.300000 0.458100 -0.121900 0.224000 0.952000 -0.176000
+0.250000 0.451900 -0.094000 0.248000 0.784000 0.552000
+0.300000 0.451900 -0.106900 0.184000 0.864000 0.456000
+0.250000 0.432000 -0.060900 0.224000 0.624000 0.736000
+0.300000 0.430700 -0.060900 0.128000 0.808000 0.568000
+0.250000 0.401700 -0.026800 -0.216000 0.176000 0.952000
+0.300000 0.401700 -0.022200 0.096000 0.472000 0.864000
+0.250000 0.351500 -0.020200 -0.488000 -0.416000 0.760000
+0.300000 0.351500 -0.009100 -0.016000 -0.144000 0.984000
+0.250000 0.317900 -0.060900 -0.432000 -0.680000 0.584000
+0.300000 0.310700 -0.060900 -0.072000 -0.760000 0.640000
+0.250000 0.301200 -0.083600 -0.096000 -0.744000 0.648000
+0.300000 0.301200 -0.077400 -0.160000 -0.712000 0.680000
+0.300000 0.310700 -0.060900 -0.072000 -0.760000 0.640000
+0.350000 0.301200 -0.062100 -0.176000 -0.704000 0.680000
+0.350000 0.302200 -0.060900 -0.144000 -0.624000 0.760000
+0.353900 0.301200 -0.060900 -0.128000 -0.544000 0.824000
+0.350000 0.351500 -0.021800 0.032000 -0.048000 0.992000
+0.400000 0.301200 -0.051900 -0.168000 -0.472000 0.856000
+0.400000 0.351500 -0.018700 -0.136000 -0.208000 0.960000
+0.450000 0.301200 -0.039700 -0.448000 -0.256000 0.848000
+0.450000 0.351500 -0.003200 -0.296000 0.344000 0.888000
+0.497900 0.301200 0.000000 -0.728000 -0.144000 0.664000
+0.458200 0.351500 0.000000 -0.280000 0.520000 0.800000
+0.500000 0.301200 0.002700 -0.768000 -0.080000 0.624000
+0.500000 0.351500 0.029100 -0.680000 0.048000 0.728000
+0.526500 0.301200 0.060900 -0.896000 0.008000 0.432000
+0.540600 0.351500 0.060900 -0.584000 0.632000 0.496000
+0.538800 0.301200 0.121900 -0.912000 0.128000 0.376000
+0.550000 0.351500 0.078000 -0.616000 0.672000 0.392000
+0.550000 0.331800 0.121900 -0.696000 0.536000 0.456000
+0.566500 0.351500 0.121900 -0.632000 0.576000 0.496000
+0.550000 0.301200 0.149100 -0.896000 -0.096000 0.416000
+0.600000 0.351500 0.157200 -0.376000 0.584000 0.704000
+0.577700 0.301200 0.182900 -0.536000 0.272000 0.792000
+0.600000 0.327100 0.182900 -0.144000 0.552000 0.816000
+0.600000 0.351500 0.157200 -0.376000 0.584000 0.704000
+0.650000 0.311500 0.182900 0.424000 0.496000 0.752000
+0.650000 0.351500 0.128300 0.616000 0.616000 0.480000
+0.650000 0.351500 0.128300 0.616000 0.616000 0.480000
+0.586200 0.251000 0.182900 -0.672000 -0.144000 0.720000
+0.586200 0.251000 0.182900 -0.672000 -0.144000 0.720000
+0.600000 0.251000 0.198700 -0.584000 -0.144000 0.792000
+0.600000 0.211800 0.182900 -0.672000 -0.280000 0.672000
+0.650000 0.251000 0.217300 -0.016000 0.232000 0.968000
+0.604600 0.200800 0.182900 -0.672000 -0.288000 0.664000
+0.650000 0.200800 0.219700 -0.496000 -0.256000 0.824000
+0.641000 0.150600 0.182900 -0.528000 -0.464000 0.696000
+0.650000 0.150600 0.191100 -0.504000 -0.472000 0.720000
+0.650000 0.141000 0.182900 -0.512000 -0.488000 0.704000
+0.700000 0.150600 0.220800 -0.264000 -0.416000 0.864000
+0.685300 0.100400 0.182900 -0.504000 -0.560000 0.648000
+0.700000 0.100400 0.197200 -0.456000 -0.560000 0.680000
+0.700000 0.088000 0.182900 -0.464000 -0.608000 0.640000
+0.750000 0.100400 0.207000 0.032000 -0.192000 0.976000
+0.750000 0.062100 0.182900 -0.416000 -0.632000 0.648000
+0.800000 0.100400 0.199400 -0.032000 0.024000 0.992000
+0.762700 0.050200 0.182900 -0.512000 -0.672000 0.520000
+0.800000 0.050200 0.211000 -0.336000 -0.552000 0.752000
+0.800000 0.035400 0.182900 -0.432000 -0.808000 0.384000
+0.850000 0.050200 0.216300 -0.184000 -0.272000 0.936000
+0.846600 0.000000 0.182900 -0.736000 -0.616000 0.264000
+0.850000 0.000000 0.194300 -0.704000 -0.640000 0.296000
+0.850000 -0.004200 0.182900 -0.720000 -0.616000 0.288000
+0.900000 0.000000 0.237100 -0.176000 -0.616000 0.760000
+0.880500 -0.050200 0.182900 -0.744000 -0.528000 0.384000
+0.900000 -0.050200 0.230400 -0.448000 -0.568000 0.680000
+0.900000 -0.076800 0.182900 -0.504000 -0.624000 0.592000
+0.950000 -0.050200 0.197900 0.336000 -0.192000 0.920000
+0.934300 -0.100400 0.182900 -0.392000 -0.752000 0.520000
+0.950000 -0.100400 0.196500 0.208000 -0.704000 0.672000
+0.950000 -0.108800 0.182900 0.232000 -0.768000 0.584000
+0.934300 -0.100400 0.182900 -0.392000 -0.752000 0.520000
+0.950000 -0.142500 0.121900 -0.608000 -0.672000 0.392000
+0.900000 -0.100400 0.145900 -0.608000 -0.728000 0.304000
+0.900000 -0.107100 0.121900 -0.584000 -0.768000 0.240000
+0.892500 -0.100400 0.121900 -0.688000 -0.680000 0.240000
+0.900000 -0.117100 0.060900 -0.656000 -0.736000 0.136000
+0.881900 -0.100400 0.060900 -0.752000 -0.632000 0.152000
+0.900000 -0.125700 0.000000 -0.664000 -0.728000 0.136000
+0.873300 -0.100400 0.000000 -0.752000 -0.632000 0.120000
+0.900000 -0.135500 -0.060900 -0.672000 -0.712000 0.168000
+0.865600 -0.100400 -0.060900 -0.776000 -0.616000 0.120000
+0.900000 -0.148200 -0.121900 -0.664000 -0.728000 0.088000
+0.858300 -0.100400 -0.121900 -0.792000 -0.600000 0.056000
+0.900000 -0.150600 -0.145400 -0.696000 -0.704000 0.104000
+0.858100 -0.100400 -0.182900 -0.824000 -0.552000 0.000000
+0.895100 -0.150600 -0.182900 -0.744000 -0.648000 0.104000
+0.860900 -0.100400 -0.243900 -0.856000 -0.496000 -0.072000
+0.890800 -0.150600 -0.243900 -0.848000 -0.512000 0.064000
+0.869700 -0.100400 -0.304800 -0.880000 -0.248000 -0.400000
+0.883200 -0.150600 -0.304800 -0.864000 -0.368000 -0.320000
+0.890800 -0.150600 -0.243900 -0.848000 -0.512000 0.064000
+0.900000 -0.181100 -0.304800 -0.768000 -0.440000 -0.448000
+0.900000 -0.163000 -0.243900 -0.816000 -0.552000 0.128000
+0.911900 -0.200800 -0.304800 -0.864000 -0.480000 -0.128000
+0.928800 -0.200800 -0.243900 -0.736000 -0.616000 0.240000
+0.942100 -0.251000 -0.304800 -0.752000 -0.552000 0.344000
+0.950000 -0.224400 -0.243900 -0.688000 -0.640000 0.328000
+0.950000 -0.251000 -0.295200 -0.640000 -0.496000 0.576000
+0.942100 -0.251000 -0.304800 -0.752000 -0.552000 0.344000
+0.950000 -0.261400 -0.304800 -0.752000 -0.584000 0.288000
+0.950000 -0.261400 -0.304800 -0.752000 -0.584000 0.288000
+0.650000 0.251000 0.217300 -0.016000 0.232000 0.968000
+0.650000 0.251000 0.217300 -0.016000 0.232000 0.968000
+0.600000 0.251000 0.198700 -0.584000 -0.144000 0.792000
+0.650000 0.301200 0.190400 0.408000 0.464000 0.776000
+0.600000 0.301200 0.199900 -0.528000 0.136000 0.832000
+0.600000 0.301200 0.199900 -0.528000 0.136000 0.832000
+0.700000 0.251000 0.193900 0.488000 0.504000 0.704000
+0.700000 0.251000 0.193900 0.488000 0.504000 0.704000
+0.650000 0.251000 0.217300 -0.016000 0.232000 0.968000
+0.700000 0.200800 0.226400 0.328000 0.432000 0.832000
+0.650000 0.200800 0.219700 -0.496000 -0.256000 0.824000
+0.700000 0.150600 0.220800 -0.264000 -0.416000 0.864000
+0.650000 0.150600 0.191100 -0.504000 -0.472000 0.720000
+0.650000 0.150600 0.191100 -0.504000 -0.472000 0.720000
+0.750000 0.200800 0.191100 0.424000 0.552000 0.712000
+0.750000 0.200800 0.191100 0.424000 0.552000 0.712000
+0.700000 0.200800 0.226400 0.328000 0.432000 0.832000
+0.750000 0.150600 0.201100 0.320000 0.240000 0.912000
+0.700000 0.150600 0.220800 -0.264000 -0.416000 0.864000
+0.750000 0.100400 0.207000 0.032000 -0.192000 0.976000
+0.700000 0.100400 0.197200 -0.456000 -0.560000 0.680000
+0.700000 0.100400 0.197200 -0.456000 -0.560000 0.680000
+0.850000 0.050200 0.216300 -0.184000 -0.272000 0.936000
+0.850000 0.050200 0.216300 -0.184000 -0.272000 0.936000
+0.800000 0.050200 0.211000 -0.336000 -0.552000 0.752000
+0.850000 0.100400 0.222500 0.440000 0.584000 0.672000
+0.800000 0.100400 0.199400 -0.032000 0.024000 0.992000
+0.800000 0.100400 0.199400 -0.032000 0.024000 0.992000
+0.900000 0.000000 0.237100 -0.176000 -0.616000 0.760000
+0.900000 0.000000 0.237100 -0.176000 -0.616000 0.760000
+0.850000 0.000000 0.194300 -0.704000 -0.640000 0.296000
+0.900000 0.050200 0.226800 0.488000 0.496000 0.712000
+0.850000 0.050200 0.216300 -0.184000 -0.272000 0.936000
+0.850000 0.050200 0.216300 -0.184000 -0.272000 0.936000
+0.950000 -0.050200 0.197900 0.336000 -0.192000 0.920000
+0.950000 -0.050200 0.197900 0.336000 -0.192000 0.920000
+0.900000 -0.050200 0.230400 -0.448000 -0.568000 0.680000
+0.950000 0.000000 0.206500 0.400000 0.008000 0.912000
+0.900000 0.000000 0.237100 -0.176000 -0.616000 0.760000
+0.900000 0.000000 0.237100 -0.176000 -0.616000 0.760000
+-0.950000 0.150600 0.154300 0.208000 0.640000 0.736000
+-0.950000 0.150600 0.154300 0.208000 0.640000 0.736000
+-0.900000 0.150600 0.126400 0.344000 0.632000 0.688000
+-0.950000 0.178500 0.121900 0.272000 0.648000 0.704000
+-0.900000 0.154600 0.121900 0.352000 0.624000 0.688000
+-0.950000 0.200800 0.096100 0.208000 0.672000 0.704000
+-0.900000 0.200800 0.074800 0.296000 0.712000 0.624000
+-0.950000 0.226300 0.060900 0.264000 0.760000 0.584000
+-0.900000 0.210300 0.060900 0.312000 0.744000 0.576000
+-0.950000 0.251000 0.016800 0.288000 0.808000 0.504000
+-0.900000 0.240500 0.000000 0.368000 0.840000 0.376000
+-0.928700 0.251000 0.000000 0.312000 0.848000 0.408000
+-0.900000 0.251000 -0.035000 0.384000 0.864000 0.312000
+-0.950000 0.258900 0.000000 0.296000 0.848000 0.432000
+-0.900000 0.258900 -0.060900 0.400000 0.896000 0.144000
+-0.950000 0.277400 -0.060900 0.336000 0.928000 0.080000
+-0.900000 0.251000 -0.101700 0.376000 0.896000 -0.216000
+-0.950000 0.267200 -0.121900 0.344000 0.864000 -0.336000
+-0.910500 0.251000 -0.121900 0.344000 0.880000 -0.304000
+-0.950000 0.251000 -0.157200 0.320000 0.808000 -0.480000
+-0.900000 0.246900 -0.121900 0.360000 0.872000 -0.304000
+-0.950000 0.237800 -0.182900 0.296000 0.760000 -0.568000
+-0.900000 0.214200 -0.182900 0.360000 0.720000 -0.576000
+-0.950000 0.200800 -0.231900 0.272000 0.640000 -0.704000
+-0.900000 0.200800 -0.201400 0.352000 0.680000 -0.640000
+-0.950000 0.189400 -0.243900 0.264000 0.616000 -0.728000
+-0.900000 0.162400 -0.243900 0.336000 0.616000 -0.704000
+-0.950000 0.150600 -0.281200 0.240000 0.600000 -0.752000
+-0.900000 0.150600 -0.256300 0.328000 0.616000 -0.704000
+-0.950000 0.126000 -0.304800 0.168000 0.528000 -0.824000
+-0.900000 0.104600 -0.304800 0.304000 0.568000 -0.760000
+-0.950000 0.100400 -0.325900 0.192000 0.384000 -0.896000
+-0.900000 0.100400 -0.308600 0.312000 0.536000 -0.776000
+-0.950000 0.050200 -0.340200 0.184000 0.072000 -0.976000
+-0.900000 0.050200 -0.331200 0.320000 0.232000 -0.912000
+-0.950000 0.000000 -0.337100 0.184000 -0.088000 -0.976000
+-0.900000 0.000000 -0.328400 0.216000 0.000000 -0.968000
+-0.950000 -0.050200 -0.337400 0.088000 0.008000 -0.992000
+-0.900000 -0.050200 -0.330000 0.160000 0.128000 -0.976000
+-0.900000 0.000000 -0.328400 0.216000 0.000000 -0.968000
+-0.850000 -0.050200 -0.323400 0.248000 0.176000 -0.944000
+-0.850000 0.000000 -0.313800 0.264000 0.064000 -0.960000
+-0.808200 -0.050200 -0.304800 0.280000 0.136000 -0.944000
+-0.823600 0.000000 -0.304800 0.296000 0.080000 -0.944000
+-0.800000 -0.050200 -0.302200 0.264000 0.120000 -0.952000
+-0.800000 0.000000 -0.298500 0.248000 0.080000 -0.960000
+-0.750000 -0.050200 -0.287100 0.288000 0.040000 -0.952000
+-0.750000 0.000000 -0.285200 0.328000 0.160000 -0.920000
+-0.700000 -0.050200 -0.272000 0.360000 0.104000 -0.920000
+-0.700000 0.000000 -0.262900 0.392000 0.288000 -0.864000
+-0.650000 -0.050200 -0.249300 0.496000 0.208000 -0.840000
+-0.669700 0.000000 -0.243900 0.480000 0.312000 -0.808000
+-0.650000 -0.035200 -0.243900 0.544000 0.264000 -0.792000
+-0.650000 0.000000 -0.224600 0.632000 0.368000 -0.672000
+-0.642900 -0.050200 -0.243900 0.560000 0.208000 -0.792000
+-0.621400 0.000000 -0.182900 0.848000 0.280000 -0.440000
+-0.606100 -0.050200 -0.182900 0.864000 0.248000 -0.424000
+-0.606100 -0.050200 -0.182900 0.864000 0.248000 -0.424000
+-0.950000 0.127100 0.182900 0.248000 0.536000 0.800000
+-0.950000 0.127100 0.182900 0.248000 0.536000 0.800000
+-0.950000 0.150600 0.154300 0.208000 0.640000 0.736000
+-0.900000 0.101900 0.182900 0.304000 0.552000 0.768000
+-0.900000 0.150600 0.126400 0.344000 0.632000 0.688000
+-0.900000 0.150600 0.126400 0.344000 0.632000 0.688000
+-0.939400 -0.100400 0.121900 -0.456000 -0.816000 0.336000
+-0.939400 -0.100400 0.121900 -0.456000 -0.816000 0.336000
+-0.900000 -0.100400 0.174900 -0.400000 -0.624000 0.656000
+-0.900000 -0.127600 0.121900 -0.608000 -0.704000 0.344000
+-0.900000 -0.127600 0.121900 -0.608000 -0.704000 0.344000
+-0.900000 0.150600 0.126400 0.344000 0.632000 0.688000
+-0.900000 0.150600 0.126400 0.344000 0.632000 0.688000
+-0.900000 0.154600 0.121900 0.352000 0.624000 0.688000
+-0.892900 0.150600 0.121900 0.360000 0.624000 0.680000
+-0.900000 0.200800 0.074800 0.296000 0.712000 0.624000
+-0.850000 0.150600 0.098600 0.360000 0.600000 0.704000
+-0.879600 0.200800 0.060900 0.352000 0.712000 0.600000
+-0.850000 0.184100 0.060900 0.376000 0.632000 0.664000
+-0.850000 0.200800 0.035600 0.384000 0.744000 0.536000
+-0.800000 0.153700 0.060900 0.432000 0.632000 0.632000
+-0.811000 0.200800 0.000000 0.408000 0.816000 0.392000
+-0.800000 0.195100 0.000000 0.456000 0.768000 0.432000
+-0.800000 0.200800 -0.016800 0.416000 0.840000 0.336000
+-0.750000 0.162200 0.000000 0.464000 0.672000 0.560000
+-0.768900 0.200800 -0.060900 0.424000 0.888000 0.160000
+-0.750000 0.191300 -0.060900 0.496000 0.856000 0.072000
+-0.800000 0.200800 -0.113900 0.392000 0.880000 -0.256000
+-0.750000 0.174400 -0.121900 0.448000 0.824000 -0.336000
+-0.800000 0.198900 -0.121900 0.384000 0.872000 -0.288000
+-0.750000 0.150600 -0.159200 0.432000 0.664000 -0.600000
+-0.800000 0.163000 -0.182900 0.392000 0.688000 -0.600000
+-0.779100 0.150600 -0.182900 0.400000 0.664000 -0.616000
+-0.800000 0.150600 -0.199200 0.384000 0.648000 -0.648000
+-0.750000 0.132600 -0.182900 0.408000 0.656000 -0.624000
+-0.800000 0.108800 -0.243900 0.352000 0.608000 -0.704000
+-0.750000 0.100400 -0.222000 0.432000 0.576000 -0.680000
+-0.785800 0.100400 -0.243900 0.360000 0.584000 -0.720000
+-0.750000 0.077000 -0.243900 0.368000 0.552000 -0.744000
+-0.800000 0.100400 -0.252800 0.360000 0.584000 -0.720000
+-0.750000 0.050200 -0.267100 0.368000 0.432000 -0.816000
+-0.800000 0.050200 -0.288900 0.352000 0.360000 -0.856000
+-0.750000 0.000000 -0.285200 0.328000 0.160000 -0.920000
+-0.800000 0.000000 -0.298500 0.248000 0.080000 -0.960000
+-0.800000 0.050200 -0.288900 0.352000 0.360000 -0.856000
+-0.823600 0.000000 -0.304800 0.296000 0.080000 -0.944000
+-0.836500 0.050200 -0.304800 0.336000 0.344000 -0.872000
+-0.850000 0.000000 -0.313800 0.264000 0.064000 -0.960000
+-0.850000 0.050200 -0.311100 0.336000 0.328000 -0.872000
+-0.900000 0.000000 -0.328400 0.216000 0.000000 -0.968000
+-0.900000 0.050200 -0.331200 0.320000 0.232000 -0.912000
+-0.850000 0.050200 -0.311100 0.336000 0.328000 -0.872000
+-0.900000 0.100400 -0.308600 0.312000 0.536000 -0.776000
+-0.850000 0.061400 -0.304800 0.336000 0.392000 -0.848000
+-0.892300 0.100400 -0.304800 0.320000 0.536000 -0.776000
+-0.850000 0.100400 -0.281200 0.344000 0.488000 -0.792000
+-0.900000 0.104600 -0.304800 0.304000 0.568000 -0.760000
+-0.850000 0.135500 -0.243900 0.320000 0.608000 -0.712000
+-0.900000 0.150600 -0.256300 0.328000 0.616000 -0.704000
+-0.878700 0.150600 -0.243900 0.328000 0.616000 -0.704000
+-0.900000 0.162400 -0.243900 0.336000 0.616000 -0.704000
+-0.850000 0.150600 -0.229000 0.320000 0.608000 -0.720000
+-0.900000 0.200800 -0.201400 0.352000 0.680000 -0.640000
+-0.850000 0.188600 -0.182900 0.360000 0.712000 -0.592000
+-0.874200 0.200800 -0.182900 0.360000 0.712000 -0.584000
+-0.850000 0.200800 -0.163600 0.360000 0.768000 -0.512000
+-0.900000 0.214200 -0.182900 0.360000 0.720000 -0.576000
+-0.850000 0.222300 -0.121900 0.408000 0.856000 -0.296000
+-0.900000 0.246900 -0.121900 0.360000 0.872000 -0.304000
+-0.850000 0.235300 -0.060900 0.408000 0.904000 0.008000
+-0.900000 0.251000 -0.101700 0.376000 0.896000 -0.216000
+-0.884300 0.251000 -0.060900 0.432000 0.880000 0.144000
+-0.900000 0.258900 -0.060900 0.400000 0.896000 0.144000
+-0.900000 0.251000 -0.035000 0.384000 0.864000 0.312000
+-0.884300 0.251000 -0.060900 0.432000 0.880000 0.144000
+-0.900000 0.240500 0.000000 0.368000 0.840000 0.376000
+-0.850000 0.235300 -0.060900 0.408000 0.904000 0.008000
+-0.850000 0.219100 0.000000 0.368000 0.824000 0.424000
+-0.800000 0.214400 -0.060900 0.400000 0.896000 0.176000
+-0.811000 0.200800 0.000000 0.408000 0.816000 0.392000
+-0.800000 0.200800 -0.016800 0.416000 0.840000 0.336000
+-0.800000 0.214400 -0.060900 0.400000 0.896000 0.176000
+-0.768900 0.200800 -0.060900 0.424000 0.888000 0.160000
+-0.800000 0.200800 -0.113900 0.392000 0.880000 -0.256000
+-0.800000 0.214400 -0.060900 0.400000 0.896000 0.176000
+-0.804300 0.200800 -0.121900 0.384000 0.872000 -0.288000
+-0.850000 0.235300 -0.060900 0.408000 0.904000 0.008000
+-0.850000 0.222300 -0.121900 0.408000 0.856000 -0.296000
+-0.804300 0.200800 -0.121900 0.384000 0.872000 -0.288000
+-0.850000 0.200800 -0.163600 0.360000 0.768000 -0.512000
+-0.800000 0.198900 -0.121900 0.384000 0.872000 -0.288000
+-0.850000 0.188600 -0.182900 0.360000 0.712000 -0.592000
+-0.800000 0.163000 -0.182900 0.392000 0.688000 -0.600000
+-0.850000 0.150600 -0.229000 0.320000 0.608000 -0.720000
+-0.800000 0.150600 -0.199200 0.384000 0.648000 -0.648000
+-0.850000 0.135500 -0.243900 0.320000 0.608000 -0.712000
+-0.800000 0.108800 -0.243900 0.352000 0.608000 -0.704000
+-0.850000 0.100400 -0.281200 0.344000 0.488000 -0.792000
+-0.800000 0.100400 -0.252800 0.360000 0.584000 -0.720000
+-0.850000 0.061400 -0.304800 0.336000 0.392000 -0.848000
+-0.800000 0.050200 -0.288900 0.352000 0.360000 -0.856000
+-0.836500 0.050200 -0.304800 0.336000 0.344000 -0.872000
+-0.850000 0.061400 -0.304800 0.336000 0.392000 -0.848000
+-0.850000 0.050200 -0.311100 0.336000 0.328000 -0.872000
+-0.850000 0.050200 -0.311100 0.336000 0.328000 -0.872000
+-0.850000 0.127100 0.121900 0.424000 0.560000 0.704000
+-0.850000 0.127100 0.121900 0.424000 0.560000 0.704000
+-0.820700 0.100400 0.121900 0.496000 0.488000 0.704000
+-0.850000 0.100400 0.150400 0.488000 0.512000 0.696000
+-0.850000 0.100400 0.150400 0.488000 0.512000 0.696000
+-0.839600 0.000000 0.182900 0.264000 0.152000 0.944000
+-0.839600 0.000000 0.182900 0.264000 0.152000 0.944000
+-0.809300 -0.050200 0.182900 0.232000 0.160000 0.952000
+-0.800000 0.000000 0.163200 0.400000 0.288000 0.864000
+-0.800000 -0.050200 0.179900 0.264000 0.176000 0.944000
+-0.750000 0.000000 0.129400 0.496000 0.360000 0.776000
+-0.750000 -0.050200 0.155100 0.464000 0.288000 0.832000
+-0.740500 0.000000 0.121900 0.504000 0.352000 0.784000
+-0.708600 -0.050200 0.121900 0.496000 0.344000 0.784000
+-0.700000 0.000000 0.089700 0.584000 0.336000 0.736000
+-0.700000 -0.050200 0.115300 0.496000 0.344000 0.792000
+-0.666100 0.000000 0.060900 0.560000 0.376000 0.728000
+-0.650000 -0.050200 0.076400 0.576000 0.320000 0.744000
+-0.650000 -0.023500 0.060900 0.576000 0.360000 0.720000
+-0.635700 -0.050200 0.060900 0.640000 0.304000 0.696000
+-0.650000 0.000000 0.045200 0.576000 0.400000 0.704000
+-0.600000 -0.050200 0.018400 0.648000 0.320000 0.688000
+-0.609800 0.000000 0.000000 0.696000 0.384000 0.592000
+-0.600000 -0.018300 0.000000 0.712000 0.368000 0.584000
+-0.600000 0.000000 -0.017800 0.736000 0.384000 0.544000
+-0.584800 -0.050200 0.000000 0.744000 0.336000 0.568000
+-0.573200 0.000000 -0.060900 0.920000 0.296000 -0.248000
+-0.554400 -0.050200 -0.060900 0.944000 0.280000 0.128000
+-0.554400 -0.050200 -0.060900 0.944000 0.280000 0.128000
+-0.800000 -0.063400 0.182900 0.240000 0.160000 0.952000
+-0.800000 -0.063400 0.182900 0.240000 0.160000 0.952000
+-0.809300 -0.050200 0.182900 0.232000 0.160000 0.952000
+-0.800000 -0.050200 0.179900 0.264000 0.176000 0.944000
+-0.800000 -0.050200 0.179900 0.264000 0.176000 0.944000
+-0.850000 -0.137400 0.182900 -0.304000 -0.312000 0.896000
+-0.850000 -0.137400 0.182900 -0.304000 -0.312000 0.896000
+-0.836800 -0.150600 0.182900 -0.304000 -0.304000 0.896000
+-0.850000 -0.150600 0.175600 -0.632000 -0.392000 0.664000
+-0.803100 -0.200800 0.182900 -0.456000 -0.168000 0.864000
+-0.850000 -0.200800 0.125700 -0.776000 -0.360000 0.504000
+-0.850000 -0.200800 0.125700 -0.776000 -0.360000 0.504000
+-0.800000 -0.251000 0.157900 -0.576000 -0.400000 0.696000
+-0.800000 -0.251000 0.157900 -0.576000 -0.400000 0.696000
+-0.800000 -0.280700 0.121900 -0.736000 -0.528000 0.408000
+-0.819200 -0.251000 0.121900 -0.760000 -0.496000 0.400000
+-0.800000 -0.301200 0.085900 -0.768000 -0.544000 0.304000
+-0.838400 -0.251000 0.060900 -0.808000 -0.528000 0.248000
+-0.805900 -0.301200 0.060900 -0.800000 -0.536000 0.232000
+-0.800000 -0.301200 0.085900 -0.768000 -0.544000 0.304000
+-0.800000 -0.310100 0.060900 -0.800000 -0.544000 0.224000
+-0.805900 -0.301200 0.060900 -0.800000 -0.536000 0.232000
+-0.800000 -0.327900 0.000000 -0.800000 -0.560000 0.176000
+-0.817700 -0.301200 0.000000 -0.808000 -0.560000 0.168000
+-0.817700 -0.301200 0.000000 -0.808000 -0.560000 0.168000
+-0.800000 0.077200 0.121900 0.512000 0.416000 0.744000
+-0.800000 0.077200 0.121900 0.512000 0.416000 0.744000
+-0.781300 0.050200 0.121900 0.536000 0.400000 0.736000
+-0.800000 0.050200 0.139800 0.504000 0.392000 0.760000
+-0.800000 0.050200 0.139800 0.504000 0.392000 0.760000
+-0.776900 -0.100400 0.182900 0.184000 0.120000 0.968000
+-0.776900 -0.100400 0.182900 0.184000 0.120000 0.968000
+-0.750000 -0.100400 0.174700 0.320000 0.192000 0.920000
+-0.750000 -0.136500 0.182900 0.216000 0.112000 0.968000
+-0.700000 -0.100400 0.138900 0.488000 0.288000 0.816000
+-0.743500 -0.150600 0.182900 0.192000 0.096000 0.968000
+-0.700000 -0.150600 0.164200 0.408000 0.248000 0.872000
+-0.703900 -0.200800 0.182900 0.128000 0.064000 0.984000
+-0.700000 -0.200800 0.182200 0.152000 0.072000 0.984000
+-0.700000 -0.208700 0.182900 0.176000 0.120000 0.968000
+-0.650000 -0.200800 0.153500 0.376000 0.280000 0.872000
+-0.650000 -0.249200 0.182900 0.176000 0.464000 0.864000
+-0.600000 -0.200800 0.130000 0.152000 0.560000 0.808000
+-0.638500 -0.251000 0.182900 0.072000 0.424000 0.896000
+-0.600000 -0.251000 0.177800 0.080000 0.520000 0.840000
+-0.600000 -0.260000 0.182900 0.056000 0.320000 0.944000
+-0.550000 -0.251000 0.173600 -0.016000 0.472000 0.872000
+-0.550000 -0.264400 0.182900 -0.072000 0.456000 0.880000
+-0.512000 -0.251000 0.182900 -0.112000 0.632000 0.760000
+-0.550000 -0.251000 0.173600 -0.016000 0.472000 0.872000
+-0.500000 -0.249000 0.182900 -0.112000 0.656000 0.744000
+-0.550000 -0.202900 0.121900 0.032000 0.728000 0.680000
+-0.500000 -0.200800 0.127000 -0.088000 0.600000 0.784000
+-0.536800 -0.200800 0.121900 -0.104000 0.736000 0.664000
+-0.500000 -0.196200 0.121900 -0.112000 0.784000 0.600000
+-0.550000 -0.200800 0.118700 0.032000 0.784000 0.608000
+-0.500000 -0.166600 0.060900 -0.304000 0.832000 0.448000
+-0.550000 -0.166800 0.060900 0.264000 0.816000 0.504000
+-0.500000 -0.150600 0.019400 -0.216000 0.856000 0.464000
+-0.550000 -0.150600 0.029600 0.504000 0.688000 0.512000
+-0.500000 -0.141000 0.000000 -0.040000 0.880000 0.456000
+-0.550000 -0.125000 0.000000 0.608000 0.616000 0.488000
+-0.500000 -0.119500 -0.060900 -0.160000 0.976000 0.112000
+-0.550000 -0.100400 -0.036900 0.792000 0.376000 0.464000
+-0.533200 -0.100400 -0.060900 0.712000 0.696000 -0.024000
+-0.533200 -0.100400 -0.060900 0.712000 0.696000 -0.024000
+-0.750000 -0.267900 0.182900 -0.232000 -0.192000 0.944000
+-0.750000 -0.267900 0.182900 -0.232000 -0.192000 0.944000
+-0.750000 -0.301200 0.168400 -0.360000 -0.432000 0.816000
+-0.700000 -0.272200 0.182900 -0.072000 -0.128000 0.984000
+-0.700000 -0.301200 0.175400 -0.248000 -0.280000 0.920000
+-0.671000 -0.301200 0.182900 -0.120000 -0.104000 0.984000
+-0.700000 -0.351500 0.155000 -0.664000 -0.344000 0.656000
+-0.663400 -0.351500 0.182900 -0.304000 -0.080000 0.944000
+-0.700000 -0.401700 0.124500 -0.664000 -0.408000 0.616000
+-0.650000 -0.385200 0.182900 -0.496000 -0.152000 0.848000
+-0.650000 -0.401700 0.178700 -0.552000 -0.344000 0.752000
+-0.644900 -0.401700 0.182900 -0.528000 -0.240000 0.808000
+-0.650000 -0.451900 0.140100 -0.528000 -0.568000 0.624000
+-0.600000 -0.446800 0.182900 -0.240000 -0.464000 0.848000
+-0.600000 -0.451900 0.179400 -0.216000 -0.496000 0.832000
+-0.583500 -0.451900 0.182900 -0.128000 -0.544000 0.824000
+-0.600000 -0.495400 0.121900 -0.392000 -0.720000 0.560000
+-0.550000 -0.456500 0.182900 0.056000 -0.736000 0.672000
+-0.550000 -0.494000 0.121900 0.024000 -0.832000 0.536000
+-0.600000 -0.495400 0.121900 -0.392000 -0.720000 0.560000
+-0.550000 -0.502100 0.104800 0.104000 -0.840000 0.520000
+-0.600000 -0.502100 0.110700 -0.280000 -0.792000 0.528000
+-0.550000 -0.532000 0.060900 0.080000 -0.776000 0.624000
+-0.600000 -0.531600 0.060900 -0.448000 -0.736000 0.496000
+-0.600000 -0.502100 0.110700 -0.280000 -0.792000 0.528000
+-0.640700 -0.502100 0.060900 -0.496000 -0.728000 0.456000
+-0.600000 -0.495400 0.121900 -0.392000 -0.720000 0.560000
+-0.650000 -0.495900 0.060900 -0.528000 -0.720000 0.432000
+-0.650000 -0.463300 0.121900 -0.512000 -0.696000 0.496000
+-0.700000 -0.453200 0.060900 -0.560000 -0.720000 0.392000
+-0.664200 -0.451900 0.121900 -0.552000 -0.696000 0.448000
+-0.700000 -0.451900 0.063700 -0.672000 -0.600000 0.424000
+-0.700000 -0.404000 0.121900 -0.624000 -0.536000 0.560000
+-0.701000 -0.451900 0.060900 -0.792000 -0.480000 0.344000
+-0.701700 -0.401700 0.121900 -0.704000 -0.408000 0.568000
+-0.731300 -0.401700 0.060900 -0.784000 -0.496000 0.344000
+-0.739400 -0.351500 0.121900 -0.528000 -0.576000 0.616000
+-0.750000 -0.377100 0.060900 -0.760000 -0.552000 0.320000
+-0.750000 -0.351500 0.110100 -0.600000 -0.584000 0.536000
+-0.767900 -0.351500 0.060900 -0.760000 -0.568000 0.296000
+-0.767900 -0.351500 0.060900 -0.760000 -0.568000 0.296000
+-0.750000 -0.301200 0.168400 -0.360000 -0.432000 0.816000
+-0.750000 -0.301200 0.168400 -0.360000 -0.432000 0.816000
+-0.700000 -0.301200 0.175400 -0.248000 -0.280000 0.920000
+-0.750000 -0.342500 0.121900 -0.536000 -0.592000 0.592000
+-0.700000 -0.351500 0.155000 -0.664000 -0.344000 0.656000
+-0.739400 -0.351500 0.121900 -0.528000 -0.576000 0.616000
+-0.700000 -0.401700 0.124500 -0.664000 -0.408000 0.616000
+-0.701700 -0.401700 0.121900 -0.704000 -0.408000 0.568000
+-0.700000 -0.404000 0.121900 -0.624000 -0.536000 0.560000
+-0.700000 -0.401700 0.124500 -0.664000 -0.408000 0.616000
+-0.664200 -0.451900 0.121900 -0.552000 -0.696000 0.448000
+-0.650000 -0.401700 0.178700 -0.552000 -0.344000 0.752000
+-0.650000 -0.451900 0.140100 -0.528000 -0.568000 0.624000
+-0.664200 -0.451900 0.121900 -0.552000 -0.696000 0.448000
+-0.650000 -0.463300 0.121900 -0.512000 -0.696000 0.496000
+-0.650000 -0.451900 0.140100 -0.528000 -0.568000 0.624000
+-0.600000 -0.495400 0.121900 -0.392000 -0.720000 0.560000
+-0.600000 -0.451900 0.179400 -0.216000 -0.496000 0.832000
+-0.600000 -0.451900 0.179400 -0.216000 -0.496000 0.832000
+-0.700000 -0.062200 0.121900 0.504000 0.344000 0.784000
+-0.700000 -0.062200 0.121900 0.504000 0.344000 0.784000
+-0.677900 -0.100400 0.121900 0.528000 0.328000 0.776000
+-0.700000 -0.100400 0.138900 0.488000 0.288000 0.816000
+-0.650000 -0.141800 0.121900 0.432000 0.328000 0.832000
+-0.700000 -0.150600 0.164200 0.408000 0.248000 0.872000
+-0.650000 -0.150600 0.126000 0.408000 0.336000 0.840000
+-0.700000 -0.200800 0.182200 0.152000 0.072000 0.984000
+-0.650000 -0.200800 0.153500 0.376000 0.280000 0.872000
+-0.650000 -0.150600 0.126000 0.408000 0.336000 0.840000
+-0.600000 -0.200800 0.130000 0.152000 0.560000 0.808000
+-0.642900 -0.150600 0.121900 0.408000 0.352000 0.832000
+-0.600000 -0.190600 0.121900 0.296000 0.496000 0.808000
+-0.600000 -0.150600 0.080700 0.576000 0.424000 0.688000
+-0.559300 -0.200800 0.121900 0.160000 0.720000 0.672000
+-0.575700 -0.150600 0.060900 0.384000 0.664000 0.632000
+-0.550000 -0.200800 0.118700 0.032000 0.784000 0.608000
+-0.550000 -0.166800 0.060900 0.264000 0.816000 0.504000
+-0.575700 -0.150600 0.060900 0.384000 0.664000 0.632000
+-0.550000 -0.150600 0.029600 0.504000 0.688000 0.512000
+-0.600000 -0.122400 0.060900 0.616000 0.400000 0.664000
+-0.550000 -0.125000 0.000000 0.608000 0.616000 0.488000
+-0.600000 -0.100400 0.044600 0.672000 0.336000 0.656000
+-0.565600 -0.100400 0.000000 0.744000 0.440000 0.496000
+-0.550000 -0.125000 0.000000 0.608000 0.616000 0.488000
+-0.550000 -0.100400 -0.036900 0.792000 0.376000 0.464000
+-0.550000 -0.100400 -0.036900 0.792000 0.376000 0.464000
+-0.650000 -0.150600 0.126000 0.408000 0.336000 0.840000
+-0.650000 -0.150600 0.126000 0.408000 0.336000 0.840000
+-0.650000 -0.141800 0.121900 0.432000 0.328000 0.832000
+-0.642900 -0.150600 0.121900 0.408000 0.352000 0.832000
+-0.650000 -0.100400 0.096100 0.592000 0.288000 0.744000
+-0.600000 -0.150600 0.080700 0.576000 0.424000 0.688000
+-0.612900 -0.100400 0.060900 0.624000 0.376000 0.672000
+-0.600000 -0.122400 0.060900 0.616000 0.400000 0.664000
+-0.600000 -0.100400 0.044600 0.672000 0.336000 0.656000
+-0.600000 -0.100400 0.044600 0.672000 0.336000 0.656000
+-0.600000 -0.190600 0.121900 0.296000 0.496000 0.808000
+-0.600000 -0.190600 0.121900 0.296000 0.496000 0.808000
+-0.559300 -0.200800 0.121900 0.160000 0.720000 0.672000
+-0.600000 -0.200800 0.130000 0.152000 0.560000 0.808000
+-0.550000 -0.202900 0.121900 0.032000 0.728000 0.680000
+-0.600000 -0.251000 0.177800 0.080000 0.520000 0.840000
+-0.550000 -0.251000 0.173600 -0.016000 0.472000 0.872000
+-0.550000 -0.251000 0.173600 -0.016000 0.472000 0.872000
+-0.500000 -0.200800 0.127000 -0.088000 0.600000 0.784000
+-0.500000 -0.200800 0.127000 -0.088000 0.600000 0.784000
+-0.450000 -0.200800 0.150000 -0.304000 0.608000 0.720000
+-0.500000 -0.196200 0.121900 -0.112000 0.784000 0.600000
+-0.450000 -0.173700 0.121900 -0.368000 0.648000 0.656000
+-0.500000 -0.166600 0.060900 -0.304000 0.832000 0.448000
+-0.450000 -0.150600 0.089400 -0.440000 0.744000 0.496000
+-0.472400 -0.150600 0.060900 -0.464000 0.768000 0.416000
+-0.450000 -0.136300 0.060900 -0.512000 0.720000 0.448000
+-0.500000 -0.150600 0.019400 -0.216000 0.856000 0.464000
+-0.450000 -0.112700 0.000000 -0.520000 0.784000 0.320000
+-0.500000 -0.141000 0.000000 -0.040000 0.880000 0.456000
+-0.500000 -0.141000 0.000000 -0.040000 0.880000 0.456000
+-0.500000 -0.200800 0.127000 -0.088000 0.600000 0.784000
+-0.500000 -0.200800 0.127000 -0.088000 0.600000 0.784000
+-0.500000 -0.249000 0.182900 -0.112000 0.656000 0.744000
+-0.450000 -0.200800 0.150000 -0.304000 0.608000 0.720000
+-0.450000 -0.233700 0.182900 -0.216000 0.472000 0.848000
+-0.400000 -0.200800 0.179200 -0.200000 0.464000 0.856000
+-0.400000 -0.206800 0.182900 -0.168000 0.424000 0.880000
+-0.383500 -0.200800 0.182900 -0.152000 0.448000 0.872000
+-0.400000 -0.200800 0.179200 -0.200000 0.464000 0.856000
+-0.350000 -0.189600 0.182900 -0.288000 0.472000 0.824000
+-0.400000 -0.150600 0.133500 -0.392000 0.600000 0.688000
+-0.350000 -0.150600 0.151300 -0.584000 0.352000 0.720000
+-0.350000 -0.189600 0.182900 -0.288000 0.472000 0.824000
+-0.311100 -0.150600 0.182900 -0.424000 0.464000 0.768000
+-0.311100 -0.150600 0.182900 -0.424000 0.464000 0.768000
+-0.400000 -0.200800 0.179200 -0.200000 0.464000 0.856000
+-0.400000 -0.200800 0.179200 -0.200000 0.464000 0.856000
+-0.450000 -0.200800 0.150000 -0.304000 0.608000 0.720000
+-0.400000 -0.150600 0.133500 -0.392000 0.600000 0.688000
+-0.450000 -0.173700 0.121900 -0.368000 0.648000 0.656000
+-0.414900 -0.150600 0.121900 -0.424000 0.616000 0.648000
+-0.450000 -0.150600 0.089400 -0.440000 0.744000 0.496000
+-0.450000 -0.150600 0.089400 -0.440000 0.744000 0.496000
+-0.351400 -0.100400 0.121900 -0.608000 0.368000 0.696000
+-0.351400 -0.100400 0.121900 -0.608000 0.368000 0.696000
+-0.350000 -0.097900 0.121900 -0.560000 0.424000 0.704000
+-0.350000 -0.100400 0.123500 -0.608000 0.328000 0.712000
+-0.300000 -0.066800 0.121900 -0.280000 0.584000 0.752000
+-0.300000 -0.100400 0.149000 -0.304000 0.432000 0.840000
+-0.255700 -0.050200 0.121900 -0.192000 0.512000 0.832000
+-0.250000 -0.100400 0.155000 0.480000 0.160000 0.856000
+-0.250000 -0.050200 0.123600 0.200000 0.440000 0.864000
+-0.250000 -0.050200 0.123600 0.200000 0.440000 0.864000
+-0.369700 -0.301200 0.182900 0.552000 -0.328000 0.752000
+-0.369700 -0.301200 0.182900 0.552000 -0.328000 0.752000
+-0.350000 -0.276800 0.182900 0.600000 -0.432000 0.664000
+-0.350000 -0.301200 0.167500 0.592000 -0.368000 0.712000
+-0.350000 -0.301200 0.167500 0.592000 -0.368000 0.712000
+-0.334800 -0.251000 0.182900 0.672000 -0.480000 0.552000
+-0.334800 -0.251000 0.182900 0.672000 -0.480000 0.552000
+-0.300000 -0.205800 0.182900 0.768000 -0.472000 0.416000
+-0.300000 -0.251000 0.131000 0.632000 -0.616000 0.464000
+-0.300000 -0.251000 0.131000 0.632000 -0.616000 0.464000
+-0.300000 -0.251000 0.131000 0.632000 -0.616000 0.464000
+-0.300000 -0.251000 0.131000 0.632000 -0.616000 0.464000
+-0.294600 -0.251000 0.121900 0.616000 -0.600000 0.488000
+-0.300000 -0.256400 0.121900 0.624000 -0.624000 0.456000
+-0.300000 -0.256400 0.121900 0.624000 -0.624000 0.456000
+0.550000 0.331800 0.121900 -0.696000 0.536000 0.456000
+0.550000 0.331800 0.121900 -0.696000 0.536000 0.456000
+0.550000 0.301200 0.149100 -0.896000 -0.096000 0.416000
+0.538800 0.301200 0.121900 -0.912000 0.128000 0.376000
+0.538800 0.301200 0.121900 -0.912000 0.128000 0.376000
+0.548800 0.251000 0.121900 -0.912000 -0.176000 0.360000
+0.548800 0.251000 0.121900 -0.912000 -0.176000 0.360000
+0.550000 0.251000 0.125100 -0.872000 -0.184000 0.440000
+0.550000 0.246100 0.121900 -0.904000 -0.224000 0.352000
+0.586200 0.251000 0.182900 -0.672000 -0.144000 0.720000
+0.567500 0.200800 0.121900 -0.784000 -0.344000 0.504000
+0.600000 0.211800 0.182900 -0.672000 -0.280000 0.672000
+0.600000 0.200800 0.176700 -0.712000 -0.296000 0.624000
+0.604600 0.200800 0.182900 -0.672000 -0.288000 0.664000
+0.600000 0.150600 0.141200 -0.712000 -0.440000 0.536000
+0.641000 0.150600 0.182900 -0.528000 -0.464000 0.696000
+0.600000 0.134700 0.121900 -0.776000 -0.456000 0.424000
+0.650000 0.141000 0.182900 -0.512000 -0.488000 0.704000
+0.627900 0.100400 0.121900 -0.608000 -0.608000 0.504000
+0.650000 0.100400 0.150000 -0.536000 -0.592000 0.592000
+0.650000 0.080100 0.121900 -0.576000 -0.640000 0.496000
+0.685300 0.100400 0.182900 -0.504000 -0.560000 0.648000
+0.692100 0.050200 0.121900 -0.432000 -0.784000 0.424000
+0.700000 0.088000 0.182900 -0.464000 -0.608000 0.640000
+0.700000 0.050200 0.131500 -0.112000 -0.824000 0.544000
+0.750000 0.062100 0.182900 -0.416000 -0.632000 0.648000
+0.744700 0.050200 0.121900 0.096000 -0.864000 0.480000
+0.750000 0.050900 0.121900 0.096000 -0.792000 0.600000
+0.750000 0.050200 0.120200 -0.160000 -0.904000 0.376000
+0.751700 0.050200 0.121900 -0.392000 -0.816000 0.416000
+0.750000 0.031700 0.060900 -0.136000 -0.928000 0.336000
+0.800000 0.028400 0.121900 -0.376000 -0.808000 0.432000
+0.798100 0.000000 0.060900 -0.504000 -0.792000 0.312000
+0.800000 0.000000 0.064400 -0.576000 -0.736000 0.344000
+0.800000 -0.001000 0.060900 -0.584000 -0.776000 0.216000
+0.829700 0.000000 0.121900 -0.704000 -0.616000 0.344000
+0.843600 -0.050200 0.060900 -0.704000 -0.672000 0.184000
+0.850000 -0.029600 0.121900 -0.840000 -0.432000 0.312000
+0.850000 -0.050200 0.089500 -0.768000 -0.592000 0.216000
+0.857500 -0.050200 0.121900 -0.848000 -0.448000 0.272000
+0.850000 -0.056700 0.060900 -0.720000 -0.664000 0.176000
+0.892500 -0.100400 0.121900 -0.688000 -0.680000 0.240000
+0.881900 -0.100400 0.060900 -0.752000 -0.632000 0.152000
+0.850000 -0.056700 0.060900 -0.720000 -0.664000 0.176000
+0.873300 -0.100400 0.000000 -0.752000 -0.632000 0.120000
+0.850000 -0.068700 0.000000 -0.752000 -0.640000 0.136000
+0.865600 -0.100400 -0.060900 -0.776000 -0.616000 0.120000
+0.850000 -0.079400 -0.060900 -0.768000 -0.616000 0.120000
+0.858300 -0.100400 -0.121900 -0.792000 -0.600000 0.056000
+0.850000 -0.088400 -0.121900 -0.808000 -0.584000 0.016000
+0.858100 -0.100400 -0.182900 -0.824000 -0.552000 0.000000
+0.850000 -0.086900 -0.182900 -0.848000 -0.512000 -0.048000
+0.860900 -0.100400 -0.243900 -0.856000 -0.496000 -0.072000
+0.850000 -0.077200 -0.243900 -0.824000 -0.432000 -0.344000
+0.869700 -0.100400 -0.304800 -0.880000 -0.248000 -0.400000
+0.850000 -0.050200 -0.276700 -0.784000 -0.280000 -0.544000
+0.867300 -0.050200 -0.304800 -0.784000 -0.136000 -0.600000
+0.850000 0.000000 -0.279000 -0.536000 0.488000 -0.680000
+0.877300 0.000000 -0.304800 -0.592000 0.480000 -0.632000
+0.877300 0.000000 -0.304800 -0.592000 0.480000 -0.632000
+0.600000 0.150600 0.141200 -0.712000 -0.440000 0.536000
+0.600000 0.150600 0.141200 -0.712000 -0.440000 0.536000
+0.600000 0.200800 0.176700 -0.712000 -0.296000 0.624000
+0.591100 0.150600 0.121900 -0.792000 -0.400000 0.440000
+0.567500 0.200800 0.121900 -0.784000 -0.344000 0.504000
+0.560700 0.150600 0.060900 -0.704000 -0.368000 0.592000
+0.550000 0.200800 0.086900 -0.880000 -0.256000 0.392000
+0.550000 0.174700 0.060900 -0.744000 -0.320000 0.576000
+0.538800 0.200800 0.060900 -0.824000 -0.216000 0.520000
+0.550000 0.150600 0.048400 -0.632000 -0.416000 0.640000
+0.500000 0.200800 0.008600 -0.576000 -0.176000 0.792000
+0.510200 0.150600 0.000000 -0.752000 -0.384000 0.520000
+0.500000 0.181600 0.000000 -0.600000 -0.304000 0.728000
+0.500000 0.150600 -0.020200 -0.704000 -0.472000 0.520000
+0.488800 0.200800 0.000000 -0.512000 0.024000 0.856000
+0.460500 0.150600 -0.060900 -0.624000 -0.512000 0.584000
+0.450000 0.200800 -0.035500 -0.536000 -0.264000 0.792000
+0.450000 0.163500 -0.060900 -0.600000 -0.504000 0.608000
+0.416500 0.200800 -0.060900 -0.560000 -0.352000 0.744000
+0.450000 0.150600 -0.075000 -0.616000 -0.488000 0.608000
+0.400000 0.200800 -0.077800 -0.600000 -0.432000 0.664000
+0.401900 0.150600 -0.121900 -0.864000 -0.496000 -0.024000
+0.400000 0.152400 -0.121900 -0.688000 -0.712000 -0.048000
+0.407800 0.150600 -0.182900 -0.544000 -0.240000 -0.800000
+0.400000 0.155900 -0.182900 -0.216000 -0.144000 -0.960000
+0.450000 0.150600 -0.187200 -0.088000 0.168000 -0.976000
+0.400000 0.200800 -0.189400 -0.152000 -0.072000 -0.984000
+0.450000 0.200800 -0.192400 -0.128000 -0.040000 -0.984000
+0.400000 0.251000 -0.186400 -0.152000 0.040000 -0.984000
+0.450000 0.251000 -0.188200 -0.104000 0.040000 -0.992000
+0.400000 0.301200 -0.184200 -0.016000 -0.016000 -0.992000
+0.450000 0.301200 -0.186200 0.000000 -0.016000 -0.992000
+0.400000 0.351500 -0.194500 0.000000 0.072000 -0.992000
+0.450000 0.351500 -0.196000 0.120000 0.128000 -0.976000
+0.400000 0.377300 -0.182900 0.016000 0.320000 -0.944000
+0.450000 0.373800 -0.182900 0.104000 0.432000 -0.888000
+0.400000 0.401700 -0.171200 0.088000 0.472000 -0.872000
+0.450000 0.401700 -0.160800 0.376000 0.656000 -0.640000
+0.400000 0.432800 -0.121900 0.160000 0.904000 -0.384000
+0.450000 0.422200 -0.121900 0.368000 0.832000 -0.392000
+0.400000 0.419800 -0.060900 0.080000 0.848000 0.520000
+0.450000 0.414500 -0.060900 0.192000 0.928000 0.304000
+0.400000 0.401700 -0.034800 -0.040000 0.584000 0.808000
+0.450000 0.401700 -0.038900 -0.120000 0.592000 0.784000
+0.400000 0.351500 -0.018700 -0.136000 -0.208000 0.960000
+0.450000 0.351500 -0.003200 -0.296000 0.344000 0.888000
+0.450000 0.401700 -0.038900 -0.120000 0.592000 0.784000
+0.458200 0.351500 0.000000 -0.280000 0.520000 0.800000
+0.500000 0.401700 -0.057700 0.096000 0.864000 0.480000
+0.500000 0.369100 0.000000 -0.184000 0.800000 0.552000
+0.517100 0.401700 -0.060900 0.080000 0.968000 0.224000
+0.550000 0.388900 0.000000 -0.392000 0.856000 0.320000
+0.550000 0.398000 -0.060900 0.000000 0.968000 -0.216000
+0.517100 0.401700 -0.060900 0.080000 0.968000 0.224000
+0.550000 0.362300 -0.121900 0.400000 0.656000 -0.632000
+0.500000 0.401700 -0.069300 0.168000 0.952000 -0.216000
+0.500000 0.393600 -0.121900 0.504000 0.744000 -0.432000
+0.488600 0.401700 -0.121900 0.504000 0.776000 -0.368000
+0.500000 0.355500 -0.182900 0.400000 0.616000 -0.664000
+0.450000 0.401700 -0.160800 0.376000 0.656000 -0.640000
+0.450000 0.373800 -0.182900 0.104000 0.432000 -0.888000
+0.500000 0.355500 -0.182900 0.400000 0.616000 -0.664000
+0.450000 0.351500 -0.196000 0.120000 0.128000 -0.976000
+0.500000 0.351500 -0.187300 0.416000 0.568000 -0.696000
+0.450000 0.301200 -0.186200 0.000000 -0.016000 -0.992000
+0.500000 0.301200 -0.193500 0.168000 0.072000 -0.976000
+0.450000 0.251000 -0.188200 -0.104000 0.040000 -0.992000
+0.500000 0.251000 -0.199400 0.072000 0.096000 -0.984000
+0.450000 0.200800 -0.192400 -0.128000 -0.040000 -0.984000
+0.500000 0.200800 -0.200200 -0.104000 -0.048000 -0.992000
+0.450000 0.150600 -0.187200 -0.088000 0.168000 -0.976000
+0.500000 0.150600 -0.194400 -0.208000 0.240000 -0.944000
+0.450000 0.100400 -0.233000 -0.008000 0.816000 -0.568000
+0.500000 0.100400 -0.210700 0.048000 0.704000 -0.704000
+0.450000 0.095300 -0.243900 -0.008000 0.856000 -0.512000
+0.500000 0.082500 -0.243900 0.216000 0.832000 -0.504000
+0.450000 0.055500 -0.304800 0.064000 0.864000 -0.496000
+0.500000 0.050200 -0.303800 0.264000 0.816000 -0.504000
+0.496000 0.050200 -0.304800 0.104000 0.800000 -0.576000
+0.500000 0.049600 -0.304800 0.264000 0.736000 -0.616000
+0.450000 0.050200 -0.314200 0.064000 0.744000 -0.656000
+0.500000 0.014000 -0.365800 0.216000 0.784000 -0.568000
+0.450000 0.007700 -0.365800 -0.264000 0.744000 -0.600000
+0.500000 0.000000 -0.393700 0.528000 0.072000 -0.840000
+0.450000 0.000000 -0.377000 -0.360000 0.400000 -0.840000
+0.500000 -0.027200 -0.365800 0.264000 -0.576000 -0.768000
+0.450000 -0.014200 -0.365800 -0.336000 -0.568000 -0.744000
+0.500000 -0.050200 -0.339600 -0.136000 -0.672000 -0.720000
+0.450000 -0.050200 -0.325200 -0.120000 -0.568000 -0.808000
+0.450000 -0.014200 -0.365800 -0.336000 -0.568000 -0.744000
+0.400000 -0.050200 -0.360800 0.184000 -0.432000 -0.872000
+0.431500 0.000000 -0.365800 -0.424000 0.312000 -0.840000
+0.400000 0.000000 -0.343200 -0.216000 0.592000 -0.768000
+0.450000 0.007700 -0.365800 -0.264000 0.744000 -0.600000
+0.400000 0.041200 -0.304800 -0.352000 0.672000 -0.648000
+0.450000 0.050200 -0.314200 0.064000 0.744000 -0.656000
+0.419200 0.050200 -0.304800 -0.224000 0.736000 -0.632000
+0.450000 0.055500 -0.304800 0.064000 0.864000 -0.496000
+0.400000 0.050200 -0.294000 -0.352000 0.672000 -0.640000
+0.450000 0.095300 -0.243900 -0.008000 0.856000 -0.512000
+0.400000 0.083700 -0.243900 -0.328000 0.768000 -0.536000
+0.450000 0.100400 -0.233000 -0.008000 0.816000 -0.568000
+0.400000 0.100400 -0.207800 -0.424000 0.688000 -0.576000
+0.450000 0.150600 -0.187200 -0.088000 0.168000 -0.976000
+0.400000 0.146600 -0.182900 -0.440000 0.464000 -0.760000
+0.407800 0.150600 -0.182900 -0.544000 -0.240000 -0.800000
+0.400000 0.100400 -0.150800 -0.768000 0.376000 0.512000
+0.401900 0.150600 -0.121900 -0.864000 -0.496000 -0.024000
+0.415000 0.100400 -0.121900 -0.640000 0.192000 0.736000
+0.450000 0.150600 -0.075000 -0.616000 -0.488000 0.608000
+0.450000 0.100400 -0.090700 -0.384000 -0.320000 0.856000
+0.460500 0.150600 -0.060900 -0.624000 -0.512000 0.584000
+0.500000 0.100400 -0.067100 -0.632000 -0.296000 0.704000
+0.500000 0.107000 -0.060900 -0.608000 -0.480000 0.616000
+0.504600 0.100400 -0.060900 -0.704000 -0.248000 0.656000
+0.500000 0.150600 -0.020200 -0.704000 -0.472000 0.520000
+0.550000 0.100400 -0.005700 -0.672000 -0.576000 0.448000
+0.510200 0.150600 0.000000 -0.752000 -0.384000 0.520000
+0.550000 0.104000 0.000000 -0.664000 -0.568000 0.464000
+0.550000 0.150600 0.048400 -0.632000 -0.416000 0.640000
+0.553100 0.100400 0.000000 -0.664000 -0.576000 0.464000
+0.560700 0.150600 0.060900 -0.704000 -0.368000 0.592000
+0.593200 0.100400 0.060900 -0.640000 -0.584000 0.496000
+0.591100 0.150600 0.121900 -0.792000 -0.400000 0.440000
+0.600000 0.100400 0.071800 -0.648000 -0.592000 0.472000
+0.600000 0.134700 0.121900 -0.776000 -0.456000 0.424000
+0.627900 0.100400 0.121900 -0.608000 -0.608000 0.504000
+0.600000 0.100400 0.071800 -0.648000 -0.592000 0.472000
+0.650000 0.080100 0.121900 -0.576000 -0.640000 0.496000
+0.600000 0.093600 0.060900 -0.624000 -0.616000 0.464000
+0.650000 0.050200 0.073400 -0.576000 -0.624000 0.512000
+0.641200 0.050200 0.060900 -0.600000 -0.608000 0.512000
+0.650000 0.041800 0.060900 -0.568000 -0.648000 0.504000
+0.602900 0.050200 0.000000 -0.576000 -0.704000 0.400000
+0.650000 0.013100 0.000000 -0.448000 -0.792000 0.392000
+0.600000 0.050200 -0.005300 -0.440000 -0.752000 0.480000
+0.650000 0.000000 -0.040500 0.104000 -0.944000 0.296000
+0.600000 0.000000 -0.044900 -0.016000 -0.720000 0.688000
+0.650000 -0.010200 -0.060900 0.168000 -0.784000 0.592000
+0.600000 -0.012300 -0.060900 0.104000 -0.576000 0.800000
+0.650000 -0.033500 -0.121900 0.512000 -0.672000 0.520000
+0.600000 -0.050200 -0.088500 0.448000 -0.400000 0.792000
+0.638000 -0.050200 -0.121900 0.800000 -0.536000 0.256000
+0.600000 -0.100400 -0.077400 0.584000 0.048000 0.800000
+0.626600 -0.100400 -0.121900 0.848000 0.208000 0.472000
+0.638000 -0.050200 -0.121900 0.800000 -0.536000 0.256000
+0.638900 -0.100400 -0.182900 0.920000 0.368000 0.072000
+0.649100 -0.050200 -0.182900 0.816000 -0.544000 0.144000
+0.637300 -0.100400 -0.243900 0.848000 0.016000 -0.520000
+0.637200 -0.050200 -0.243900 0.840000 -0.080000 -0.528000
+0.604900 -0.100400 -0.304800 0.744000 -0.360000 -0.552000
+0.600000 -0.050200 -0.286000 0.712000 0.144000 -0.680000
+0.600000 -0.086300 -0.304800 0.440000 0.312000 -0.832000
+0.587300 -0.050200 -0.304800 0.688000 0.056000 -0.712000
+0.589400 -0.100400 -0.304800 -0.440000 -0.424000 -0.784000
+0.550000 -0.083700 -0.304800 0.088000 -0.736000 -0.664000
+0.550000 -0.100400 -0.280800 -0.008000 -0.528000 -0.840000
+0.500000 -0.082600 -0.304800 0.216000 -0.680000 -0.688000
+0.500000 -0.100400 -0.277800 0.560000 -0.104000 -0.816000
+0.475800 -0.100400 -0.304800 0.512000 -0.104000 -0.848000
+0.500000 -0.127100 -0.304800 0.480000 0.456000 -0.744000
+0.500000 -0.100400 -0.277800 0.560000 -0.104000 -0.816000
+0.523400 -0.150600 -0.304800 0.376000 0.592000 -0.704000
+0.550000 -0.100400 -0.280800 -0.008000 -0.528000 -0.840000
+0.550000 -0.150600 -0.287800 0.352000 0.528000 -0.768000
+0.589400 -0.100400 -0.304800 -0.440000 -0.424000 -0.784000
+0.600000 -0.150600 -0.265200 0.248000 0.032000 -0.960000
+0.600000 -0.105700 -0.304800 0.312000 -0.728000 -0.600000
+0.650000 -0.150600 -0.274900 0.544000 0.464000 -0.688000
+0.604900 -0.100400 -0.304800 0.744000 -0.360000 -0.552000
+0.650000 -0.120200 -0.243900 0.704000 0.520000 -0.472000
+0.637300 -0.100400 -0.243900 0.848000 0.016000 -0.520000
+0.650000 -0.117900 -0.182900 0.792000 0.600000 0.024000
+0.638900 -0.100400 -0.182900 0.920000 0.368000 0.072000
+0.650000 -0.146100 -0.121900 0.720000 0.504000 0.464000
+0.626600 -0.100400 -0.121900 0.848000 0.208000 0.472000
+0.626600 -0.100400 -0.121900 0.848000 0.208000 0.472000
+0.591100 0.150600 0.121900 -0.792000 -0.400000 0.440000
+0.591100 0.150600 0.121900 -0.792000 -0.400000 0.440000
+0.600000 0.150600 0.141200 -0.712000 -0.440000 0.536000
+0.600000 0.134700 0.121900 -0.776000 -0.456000 0.424000
+0.600000 0.134700 0.121900 -0.776000 -0.456000 0.424000
+0.650000 0.141000 0.182900 -0.512000 -0.488000 0.704000
+0.650000 0.141000 0.182900 -0.512000 -0.488000 0.704000
+0.685300 0.100400 0.182900 -0.504000 -0.560000 0.648000
+0.650000 0.100400 0.150000 -0.536000 -0.592000 0.592000
+0.650000 0.100400 0.150000 -0.536000 -0.592000 0.592000
+0.692100 0.050200 0.121900 -0.432000 -0.784000 0.424000
+0.692100 0.050200 0.121900 -0.432000 -0.784000 0.424000
+0.700000 0.050200 0.131500 -0.112000 -0.824000 0.544000
+0.700000 0.046100 0.121900 -0.152000 -0.904000 0.376000
+0.744700 0.050200 0.121900 0.096000 -0.864000 0.480000
+0.700000 0.026800 0.060900 -0.288000 -0.896000 0.328000
+0.750000 0.050200 0.120200 -0.160000 -0.904000 0.376000
+0.750000 0.031700 0.060900 -0.136000 -0.928000 0.336000
+0.700000 0.026800 0.060900 -0.288000 -0.896000 0.328000
+0.750000 0.013300 0.000000 -0.240000 -0.936000 0.240000
+0.700000 0.012000 0.000000 -0.032000 -0.960000 0.272000
+0.750000 0.001600 -0.060900 -0.416000 -0.904000 -0.016000
+0.700000 0.001400 -0.060900 0.088000 -0.968000 0.192000
+0.750000 0.004300 -0.121900 -0.408000 -0.880000 -0.216000
+0.700000 0.000400 -0.121900 0.224000 -0.968000 0.032000
+0.750000 0.019900 -0.182900 -0.176000 -0.792000 -0.576000
+0.700000 0.009000 -0.182900 0.456000 -0.744000 -0.472000
+0.750000 0.050200 -0.223600 -0.168000 -0.552000 -0.808000
+0.700000 0.050200 -0.225700 0.368000 -0.368000 -0.848000
+0.750000 0.100400 -0.218500 0.200000 0.232000 -0.944000
+0.700000 0.100400 -0.234000 0.272000 0.000000 -0.960000
+0.750000 0.150600 -0.191500 0.256000 0.656000 -0.704000
+0.700000 0.150600 -0.210500 0.296000 0.424000 -0.848000
+0.750000 0.157000 -0.182900 0.280000 0.720000 -0.624000
+0.700000 0.190400 -0.182900 0.432000 0.560000 -0.696000
+0.750000 0.186400 -0.121900 0.504000 0.648000 -0.560000
+0.700000 0.200800 -0.171600 0.480000 0.608000 -0.616000
+0.734900 0.200800 -0.121900 0.552000 0.608000 -0.552000
+0.700000 0.229200 -0.121900 0.528000 0.656000 -0.528000
+0.750000 0.200800 -0.104400 0.480000 0.680000 -0.544000
+0.700000 0.251000 -0.093200 0.552000 0.600000 -0.568000
+0.750000 0.228900 -0.060900 0.576000 0.696000 -0.416000
+0.725300 0.251000 -0.060900 0.696000 0.648000 -0.288000
+0.750000 0.219200 0.000000 0.672000 0.728000 0.080000
+0.721000 0.251000 0.000000 0.784000 0.608000 -0.040000
+0.750000 0.222200 0.060900 0.704000 0.696000 -0.080000
+0.727500 0.251000 0.060900 0.792000 0.584000 -0.112000
+0.750000 0.233400 0.121900 0.720000 0.680000 -0.080000
+0.736800 0.251000 0.121900 0.752000 0.632000 0.144000
+0.727500 0.251000 0.060900 0.792000 0.584000 -0.112000
+0.700000 0.297800 0.121900 0.728000 0.680000 -0.032000
+0.700000 0.290800 0.060900 0.800000 0.576000 -0.104000
+0.696500 0.301200 0.121900 0.712000 0.672000 0.168000
+0.692400 0.301200 0.060900 0.752000 0.648000 -0.056000
+0.653800 0.351500 0.121900 0.656000 0.616000 0.424000
+0.663900 0.351500 0.060900 0.768000 0.624000 0.096000
+0.650000 0.355500 0.121900 0.632000 0.632000 0.432000
+0.650000 0.370100 0.060900 0.776000 0.624000 0.048000
+0.600000 0.382600 0.121900 0.272000 0.776000 0.560000
+0.612200 0.401700 0.060900 0.488000 0.832000 0.224000
+0.600000 0.401700 0.085900 0.096000 0.928000 0.336000
+0.600000 0.407100 0.060900 0.120000 0.968000 0.184000
+0.584600 0.401700 0.060900 -0.416000 0.872000 0.248000
+0.600000 0.410900 0.000000 0.104000 0.992000 -0.032000
+0.568400 0.401700 0.000000 -0.472000 0.832000 -0.264000
+0.600000 0.401700 -0.057700 0.168000 0.920000 -0.344000
+0.600000 0.410900 0.000000 0.104000 0.992000 -0.032000
+0.616700 0.401700 0.000000 0.496000 0.864000 -0.032000
+0.600000 0.407100 0.060900 0.120000 0.968000 0.184000
+0.612200 0.401700 0.060900 0.488000 0.832000 0.224000
+0.616700 0.401700 0.000000 0.496000 0.864000 -0.032000
+0.650000 0.370100 0.060900 0.776000 0.624000 0.048000
+0.650000 0.368200 0.000000 0.792000 0.584000 -0.144000
+0.663900 0.351500 0.060900 0.768000 0.624000 0.096000
+0.660900 0.351500 0.000000 0.832000 0.512000 -0.176000
+0.692400 0.301200 0.060900 0.752000 0.648000 -0.056000
+0.685300 0.301200 0.000000 0.832000 0.536000 -0.104000
+0.700000 0.290800 0.060900 0.800000 0.576000 -0.104000
+0.700000 0.279600 0.000000 0.792000 0.600000 -0.048000
+0.727500 0.251000 0.060900 0.792000 0.584000 -0.112000
+0.721000 0.251000 0.000000 0.784000 0.608000 -0.040000
+0.700000 0.279600 0.000000 0.792000 0.600000 -0.048000
+0.725300 0.251000 -0.060900 0.696000 0.648000 -0.288000
+0.700000 0.278700 -0.060900 0.648000 0.584000 -0.472000
+0.700000 0.251000 -0.093200 0.552000 0.600000 -0.568000
+0.680100 0.301200 -0.060900 0.752000 0.544000 -0.368000
+0.673000 0.251000 -0.121900 0.568000 0.576000 -0.584000
+0.650000 0.301200 -0.100800 0.528000 0.504000 -0.672000
+0.650000 0.278000 -0.121900 0.448000 0.624000 -0.624000
+0.608400 0.301200 -0.121900 0.448000 0.488000 -0.744000
+0.650000 0.251000 -0.154700 0.488000 0.640000 -0.584000
+0.600000 0.301200 -0.128700 0.472000 0.520000 -0.704000
+0.608400 0.251000 -0.182900 0.328000 0.488000 -0.800000
+0.600000 0.256700 -0.182900 0.328000 0.496000 -0.792000
+0.600000 0.251000 -0.187000 0.320000 0.456000 -0.816000
+0.608400 0.251000 -0.182900 0.328000 0.488000 -0.800000
+0.600000 0.200800 -0.209200 0.248000 0.288000 -0.920000
+0.650000 0.227800 -0.182900 0.368000 0.576000 -0.720000
+0.650000 0.200800 -0.204000 0.272000 0.408000 -0.864000
+0.687200 0.200800 -0.182900 0.432000 0.544000 -0.712000
+0.650000 0.150600 -0.219600 0.200000 0.280000 -0.928000
+0.700000 0.190400 -0.182900 0.432000 0.560000 -0.696000
+0.700000 0.150600 -0.210500 0.296000 0.424000 -0.848000
+0.650000 0.150600 -0.219600 0.200000 0.280000 -0.928000
+0.700000 0.100400 -0.234000 0.272000 0.000000 -0.960000
+0.650000 0.100400 -0.241400 0.232000 0.064000 -0.968000
+0.700000 0.050200 -0.225700 0.368000 -0.368000 -0.848000
+0.650000 0.067400 -0.243900 0.208000 0.056000 -0.968000
+0.653800 0.050200 -0.243900 0.232000 0.032000 -0.968000
+0.650000 0.050200 -0.244900 0.216000 0.040000 -0.968000
+0.653800 0.000000 -0.243900 0.576000 -0.112000 -0.808000
+0.650000 0.000000 -0.248500 0.680000 -0.160000 -0.712000
+0.650000 -0.016900 -0.243900 0.704000 -0.184000 -0.672000
+0.600000 0.000000 -0.284600 0.512000 0.112000 -0.840000
+0.637200 -0.050200 -0.243900 0.840000 -0.080000 -0.528000
+0.600000 -0.050200 -0.286000 0.712000 0.144000 -0.680000
+0.600000 0.000000 -0.284600 0.512000 0.112000 -0.840000
+0.587300 -0.050200 -0.304800 0.688000 0.056000 -0.712000
+0.578400 0.000000 -0.304800 0.536000 0.480000 -0.688000
+0.578400 0.000000 -0.304800 0.536000 0.480000 -0.688000
+0.750000 0.062100 0.182900 -0.416000 -0.632000 0.648000
+0.750000 0.062100 0.182900 -0.416000 -0.632000 0.648000
+0.750000 0.050900 0.121900 0.096000 -0.792000 0.600000
+0.762700 0.050200 0.182900 -0.512000 -0.672000 0.520000
+0.751700 0.050200 0.121900 -0.392000 -0.816000 0.416000
+0.800000 0.035400 0.182900 -0.432000 -0.808000 0.384000
+0.800000 0.028400 0.121900 -0.376000 -0.808000 0.432000
+0.846600 0.000000 0.182900 -0.736000 -0.616000 0.264000
+0.829700 0.000000 0.121900 -0.704000 -0.616000 0.344000
+0.850000 -0.004200 0.182900 -0.720000 -0.616000 0.288000
+0.850000 -0.029600 0.121900 -0.840000 -0.432000 0.312000
+0.880500 -0.050200 0.182900 -0.744000 -0.528000 0.384000
+0.857500 -0.050200 0.121900 -0.848000 -0.448000 0.272000
+0.900000 -0.076800 0.182900 -0.504000 -0.624000 0.592000
+0.892500 -0.100400 0.121900 -0.688000 -0.680000 0.240000
+0.900000 -0.100400 0.145900 -0.608000 -0.728000 0.304000
+0.900000 -0.076800 0.182900 -0.504000 -0.624000 0.592000
+0.934300 -0.100400 0.182900 -0.392000 -0.752000 0.520000
+0.934300 -0.100400 0.182900 -0.392000 -0.752000 0.520000
+0.800000 0.150600 0.181400 0.520000 0.336000 0.776000
+0.800000 0.150600 0.181400 0.520000 0.336000 0.776000
+0.850000 0.150600 0.126500 0.640000 0.560000 0.512000
+0.800000 0.190400 0.121900 0.624000 0.752000 0.168000
+0.850000 0.151600 0.121900 0.680000 0.720000 0.080000
+0.800000 0.182100 0.060900 0.560000 0.824000 -0.024000
+0.850000 0.154700 0.060900 0.576000 0.800000 0.096000
+0.800000 0.184600 0.000000 0.464000 0.872000 0.120000
+0.850000 0.161100 0.000000 0.480000 0.856000 0.160000
+0.800000 0.194300 -0.060900 0.416000 0.824000 -0.360000
+0.850000 0.171300 -0.060900 0.448000 0.864000 -0.216000
+0.800000 0.164900 -0.121900 0.312000 0.800000 -0.504000
+0.850000 0.155600 -0.121900 0.432000 0.856000 -0.272000
+0.800000 0.150600 -0.164100 0.256000 0.800000 -0.528000
+0.850000 0.150600 -0.140900 0.432000 0.840000 -0.304000
+0.800000 0.138600 -0.182900 0.232000 0.712000 -0.656000
+0.850000 0.127100 -0.182900 0.192000 0.744000 -0.632000
+0.800000 0.100400 -0.216300 0.104000 0.416000 -0.896000
+0.850000 0.100400 -0.218500 0.128000 0.592000 -0.784000
+0.800000 0.050200 -0.233400 -0.176000 0.416000 -0.880000
+0.850000 0.050200 -0.237100 -0.376000 0.576000 -0.720000
+0.800000 0.000000 -0.217200 -0.656000 -0.464000 -0.584000
+0.850000 0.042400 -0.243900 -0.408000 0.528000 -0.736000
+0.819700 0.000000 -0.243900 -0.752000 -0.192000 -0.616000
+0.850000 0.000000 -0.279000 -0.536000 0.488000 -0.680000
+0.835300 -0.050200 -0.243900 -0.840000 -0.416000 -0.336000
+0.850000 -0.050200 -0.276700 -0.784000 -0.280000 -0.544000
+0.850000 -0.077200 -0.243900 -0.824000 -0.432000 -0.344000
+0.835300 -0.050200 -0.243900 -0.840000 -0.416000 -0.336000
+0.850000 -0.086900 -0.182900 -0.848000 -0.512000 -0.048000
+0.822900 -0.050200 -0.182900 -0.792000 -0.592000 -0.088000
+0.850000 -0.088400 -0.121900 -0.808000 -0.584000 0.016000
+0.818400 -0.050200 -0.121900 -0.760000 -0.640000 0.016000
+0.850000 -0.079400 -0.060900 -0.768000 -0.616000 0.120000
+0.823600 -0.050200 -0.060900 -0.736000 -0.664000 0.112000
+0.850000 -0.068700 0.000000 -0.752000 -0.640000 0.136000
+0.832800 -0.050200 0.000000 -0.728000 -0.656000 0.144000
+0.850000 -0.056700 0.060900 -0.720000 -0.664000 0.176000
+0.843600 -0.050200 0.060900 -0.704000 -0.672000 0.184000
+0.850000 -0.050200 0.089500 -0.768000 -0.592000 0.216000
+0.850000 -0.050200 0.089500 -0.768000 -0.592000 0.216000
+0.850000 0.150600 0.126500 0.640000 0.560000 0.512000
+0.850000 0.150600 0.126500 0.640000 0.560000 0.512000
+0.850000 0.151600 0.121900 0.680000 0.720000 0.080000
+0.850900 0.150600 0.121900 0.704000 0.704000 0.080000
+0.850000 0.154700 0.060900 0.576000 0.800000 0.096000
+0.855400 0.150600 0.060900 0.680000 0.720000 0.072000
+0.850000 0.161100 0.000000 0.480000 0.856000 0.160000
+0.867700 0.150600 0.000000 0.552000 0.816000 0.152000
+0.850000 0.171300 -0.060900 0.448000 0.864000 -0.216000
+0.888500 0.150600 -0.060900 0.504000 0.856000 -0.040000
+0.850000 0.155600 -0.121900 0.432000 0.856000 -0.272000
+0.859300 0.150600 -0.121900 0.456000 0.840000 -0.272000
+0.850000 0.150600 -0.140900 0.432000 0.840000 -0.304000
+0.850000 0.150600 -0.140900 0.432000 0.840000 -0.304000
+0.891700 0.100400 0.182900 0.576000 0.688000 0.424000
+0.891700 0.100400 0.182900 0.576000 0.688000 0.424000
+0.900000 0.100400 0.165200 0.584000 0.744000 0.296000
+0.900000 0.093100 0.182900 0.568000 0.672000 0.464000
+0.911800 0.100400 0.121900 0.528000 0.800000 0.264000
+0.940200 0.050200 0.182900 0.624000 0.528000 0.568000
+0.950000 0.069700 0.121900 0.360000 0.840000 0.384000
+0.950000 0.050200 0.169400 0.600000 0.560000 0.560000
+1.000000 0.053600 0.121900 0.280000 0.872000 0.392000
+1.000000 0.050200 0.131000 0.336000 0.784000 0.512000
+0.950000 0.050200 0.169400 0.600000 0.560000 0.560000
+1.000000 0.004900 0.182900 0.336000 0.520000 0.776000
+0.950000 0.037400 0.182900 0.520000 0.504000 0.680000
+0.950000 0.050200 0.169400 0.600000 0.560000 0.560000
+0.940200 0.050200 0.182900 0.624000 0.528000 0.568000
+0.940200 0.050200 0.182900 0.624000 0.528000 0.568000
+0.900000 0.100400 0.165200 0.584000 0.744000 0.296000
+0.900000 0.100400 0.165200 0.584000 0.744000 0.296000
+0.900000 0.107300 0.121900 0.512000 0.832000 0.184000
+0.911800 0.100400 0.121900 0.528000 0.800000 0.264000
+0.900000 0.118900 0.060900 0.472000 0.856000 0.184000
+0.936800 0.100400 0.060900 0.456000 0.872000 0.168000
+0.900000 0.131100 0.000000 0.480000 0.848000 0.192000
+0.950000 0.100400 0.012800 0.496000 0.848000 0.136000
+0.950000 0.102000 0.000000 0.472000 0.864000 0.120000
+0.952900 0.100400 0.000000 0.504000 0.848000 0.120000
+0.950000 0.106300 -0.060900 0.576000 0.776000 -0.240000
+0.957800 0.100400 -0.060900 0.544000 0.824000 -0.120000
+0.950000 0.100400 -0.078300 0.560000 0.768000 -0.304000
+1.000000 0.074600 -0.060900 0.496000 0.816000 -0.280000
+0.950000 0.086300 -0.121900 0.544000 0.784000 -0.280000
+1.000000 0.056100 -0.121900 0.488000 0.808000 -0.304000
+0.950000 0.069900 -0.182900 0.544000 0.736000 -0.392000
+1.000000 0.050200 -0.141200 0.512000 0.792000 -0.320000
+0.978000 0.050200 -0.182900 0.512000 0.768000 -0.376000
+1.000000 0.035800 -0.182900 0.504000 0.768000 -0.376000
+0.950000 0.050200 -0.224500 0.472000 0.712000 -0.504000
+1.000000 0.004200 -0.243900 0.464000 0.680000 -0.552000
+0.950000 0.037500 -0.243900 0.432000 0.688000 -0.576000
+1.000000 0.000000 -0.249700 0.512000 0.464000 -0.720000
+0.950000 0.000000 -0.291100 0.424000 0.536000 -0.720000
+1.000000 -0.050200 -0.288900 0.520000 0.432000 -0.728000
+0.950000 -0.016600 -0.304800 0.448000 0.520000 -0.720000
+0.981700 -0.050200 -0.304800 0.528000 0.432000 -0.720000
+0.950000 -0.050200 -0.338500 0.440000 0.400000 -0.800000
+1.000000 -0.073100 -0.304800 0.536000 0.424000 -0.720000
+0.950000 -0.100400 -0.351000 0.336000 0.064000 -0.936000
+1.000000 -0.100400 -0.325200 0.488000 0.344000 -0.792000
+0.950000 -0.150600 -0.345500 -0.032000 0.064000 -0.992000
+1.000000 -0.150600 -0.335800 0.136000 0.136000 -0.976000
+0.950000 -0.200800 -0.357000 -0.272000 -0.104000 -0.952000
+1.000000 -0.200800 -0.338800 0.136000 -0.384000 -0.904000
+0.950000 -0.251000 -0.328200 -0.712000 -0.568000 -0.392000
+1.000000 -0.251000 -0.355700 -0.816000 -0.248000 -0.504000
+1.000000 -0.251000 -0.355700 -0.816000 -0.248000 -0.504000
+1.000000 -0.012000 0.182900 0.384000 -0.248000 0.880000
+1.000000 -0.012000 0.182900 0.384000 -0.248000 0.880000
+1.000000 -0.050200 0.168100 0.416000 -0.344000 0.832000
+0.975800 -0.050200 0.182900 0.464000 -0.232000 0.848000
+1.000000 -0.100400 0.134700 0.432000 -0.528000 0.720000
+0.959000 -0.100400 0.182900 0.616000 -0.584000 0.520000
+0.959000 -0.100400 0.182900 0.616000 -0.584000 0.520000
+-0.900000 0.200800 0.074800 0.296000 0.712000 0.624000
+-0.900000 0.200800 0.074800 0.296000 0.712000 0.624000
+-0.900000 0.210300 0.060900 0.312000 0.744000 0.576000
+-0.879600 0.200800 0.060900 0.352000 0.712000 0.600000
+-0.900000 0.240500 0.000000 0.368000 0.840000 0.376000
+-0.850000 0.200800 0.035600 0.384000 0.744000 0.536000
+-0.850000 0.219100 0.000000 0.368000 0.824000 0.424000
+-0.811000 0.200800 0.000000 0.408000 0.816000 0.392000
+-0.811000 0.200800 0.000000 0.408000 0.816000 0.392000
+-0.900000 -0.127600 0.121900 -0.608000 -0.704000 0.344000
+-0.900000 -0.127600 0.121900 -0.608000 -0.704000 0.344000
+-0.900000 -0.149700 0.060900 -0.696000 -0.664000 0.232000
+-0.878400 -0.150600 0.121900 -0.736000 -0.560000 0.368000
+-0.899200 -0.150600 0.060900 -0.816000 -0.504000 0.256000
+-0.851500 -0.200800 0.121900 -0.832000 -0.360000 0.408000
+-0.869300 -0.200800 0.060900 -0.824000 -0.496000 0.248000
+-0.899200 -0.150600 0.060900 -0.816000 -0.504000 0.256000
+-0.882700 -0.200800 0.000000 -0.840000 -0.496000 0.192000
+-0.900000 -0.150600 0.057700 -0.744000 -0.616000 0.232000
+-0.900000 -0.169600 0.000000 -0.800000 -0.552000 0.224000
+-0.882700 -0.200800 0.000000 -0.840000 -0.496000 0.192000
+-0.900000 -0.192500 -0.060900 -0.856000 -0.488000 0.144000
+-0.895700 -0.200800 -0.060900 -0.864000 -0.480000 0.136000
+-0.900000 -0.200800 -0.096200 -0.752000 -0.632000 0.128000
+-0.860100 -0.251000 -0.060900 -0.808000 -0.568000 0.112000
+-0.900000 -0.204500 -0.121900 -0.688000 -0.712000 0.104000
+-0.866600 -0.251000 -0.121900 -0.808000 -0.576000 0.072000
+-0.900000 -0.206900 -0.182900 -0.648000 -0.752000 0.056000
+-0.864200 -0.251000 -0.182900 -0.800000 -0.592000 0.000000
+-0.900000 -0.212400 -0.243900 -0.672000 -0.712000 0.176000
+-0.869200 -0.251000 -0.243900 -0.768000 -0.600000 0.200000
+-0.900000 -0.236500 -0.304800 -0.680000 -0.456000 -0.560000
+-0.891700 -0.251000 -0.304800 -0.808000 -0.512000 -0.264000
+-0.891700 -0.251000 -0.304800 -0.808000 -0.512000 -0.264000
+-0.850000 0.184100 0.060900 0.376000 0.632000 0.664000
+-0.850000 0.184100 0.060900 0.376000 0.632000 0.664000
+-0.850000 0.150600 0.098600 0.360000 0.600000 0.704000
+-0.800000 0.153700 0.060900 0.432000 0.632000 0.632000
+-0.800000 0.150600 0.064100 0.424000 0.560000 0.704000
+-0.796300 0.150600 0.060900 0.512000 0.584000 0.616000
+-0.800000 0.153700 0.060900 0.432000 0.632000 0.632000
+-0.750000 0.150600 0.014500 0.472000 0.624000 0.608000
+-0.800000 0.195100 0.000000 0.456000 0.768000 0.432000
+-0.750000 0.162200 0.000000 0.464000 0.672000 0.560000
+-0.750000 0.150600 0.014500 0.472000 0.624000 0.608000
+-0.734000 0.150600 0.000000 0.496000 0.640000 0.576000
+-0.750000 0.162200 0.000000 0.464000 0.672000 0.560000
+-0.700000 0.150600 -0.043600 0.552000 0.712000 0.424000
+-0.750000 0.191300 -0.060900 0.496000 0.856000 0.072000
+-0.700000 0.159000 -0.060900 0.600000 0.776000 0.184000
+-0.750000 0.174400 -0.121900 0.448000 0.824000 -0.336000
+-0.700000 0.150600 -0.089800 0.592000 0.744000 -0.280000
+-0.715000 0.150600 -0.121900 0.512000 0.744000 -0.408000
+-0.700000 0.140000 -0.121900 0.536000 0.728000 -0.408000
+-0.750000 0.150600 -0.159200 0.432000 0.664000 -0.600000
+-0.700000 0.100400 -0.182100 0.536000 0.592000 -0.592000
+-0.750000 0.132600 -0.182900 0.408000 0.656000 -0.624000
+-0.700900 0.100400 -0.182900 0.440000 0.608000 -0.648000
+-0.750000 0.100400 -0.222000 0.432000 0.576000 -0.680000
+-0.700000 0.099700 -0.182900 0.504000 0.560000 -0.640000
+-0.750000 0.077000 -0.243900 0.368000 0.552000 -0.744000
+-0.700000 0.050200 -0.235800 0.504000 0.432000 -0.744000
+-0.711800 0.050200 -0.243900 0.416000 0.432000 -0.792000
+-0.700000 0.037400 -0.243900 0.440000 0.392000 -0.800000
+-0.750000 0.050200 -0.267100 0.368000 0.432000 -0.816000
+-0.700000 0.000000 -0.262900 0.392000 0.288000 -0.864000
+-0.750000 0.000000 -0.285200 0.328000 0.160000 -0.920000
+-0.750000 0.000000 -0.285200 0.328000 0.160000 -0.920000
+-0.750000 0.012900 0.121900 0.496000 0.384000 0.768000
+-0.750000 0.012900 0.121900 0.496000 0.384000 0.768000
+-0.781300 0.050200 0.121900 0.536000 0.400000 0.736000
+-0.750000 0.050200 0.097600 0.464000 0.408000 0.776000
+-0.750000 0.050200 0.097600 0.464000 0.408000 0.776000
+-0.800000 -0.280700 0.121900 -0.736000 -0.528000 0.408000
+-0.800000 -0.280700 0.121900 -0.736000 -0.528000 0.408000
+-0.783300 -0.301200 0.121900 -0.688000 -0.568000 0.440000
+-0.800000 -0.301200 0.085900 -0.768000 -0.544000 0.304000
+-0.800000 -0.301200 0.085900 -0.768000 -0.544000 0.304000
+-0.750000 -0.342500 0.121900 -0.536000 -0.592000 0.592000
+-0.750000 -0.342500 0.121900 -0.536000 -0.592000 0.592000
+-0.739400 -0.351500 0.121900 -0.528000 -0.576000 0.616000
+-0.750000 -0.351500 0.110100 -0.600000 -0.584000 0.536000
+-0.750000 -0.351500 0.110100 -0.600000 -0.584000 0.536000
+-0.701000 -0.451900 0.060900 -0.792000 -0.480000 0.344000
+-0.701000 -0.451900 0.060900 -0.792000 -0.480000 0.344000
+-0.700000 -0.451900 0.063700 -0.672000 -0.600000 0.424000
+-0.700000 -0.453200 0.060900 -0.560000 -0.720000 0.392000
+-0.700000 -0.453200 0.060900 -0.560000 -0.720000 0.392000
+-0.650000 -0.141800 0.121900 0.432000 0.328000 0.832000
+-0.650000 -0.141800 0.121900 0.432000 0.328000 0.832000
+-0.677900 -0.100400 0.121900 0.528000 0.328000 0.776000
+-0.650000 -0.100400 0.096100 0.592000 0.288000 0.744000
+-0.650000 -0.100400 0.096100 0.592000 0.288000 0.744000
+-0.600000 -0.122400 0.060900 0.616000 0.400000 0.664000
+-0.600000 -0.122400 0.060900 0.616000 0.400000 0.664000
+-0.575700 -0.150600 0.060900 0.384000 0.664000 0.632000
+-0.600000 -0.150600 0.080700 0.576000 0.424000 0.688000
+-0.600000 -0.150600 0.080700 0.576000 0.424000 0.688000
+-0.559300 -0.200800 0.121900 0.160000 0.720000 0.672000
+-0.559300 -0.200800 0.121900 0.160000 0.720000 0.672000
+-0.550000 -0.200800 0.118700 0.032000 0.784000 0.608000
+-0.550000 -0.202900 0.121900 0.032000 0.728000 0.680000
+-0.536800 -0.200800 0.121900 -0.104000 0.736000 0.664000
+-0.536800 -0.200800 0.121900 -0.104000 0.736000 0.664000
+-0.550000 -0.494000 0.121900 0.024000 -0.832000 0.536000
+-0.550000 -0.494000 0.121900 0.024000 -0.832000 0.536000
+-0.550000 -0.502100 0.104800 0.104000 -0.840000 0.520000
+-0.500000 -0.486900 0.121900 0.296000 -0.800000 0.504000
+-0.500000 -0.502100 0.088800 0.616000 -0.688000 0.376000
+-0.450000 -0.453600 0.121900 0.584000 -0.744000 0.288000
+-0.489100 -0.502100 0.060900 0.704000 -0.616000 0.328000
+-0.450000 -0.471900 0.060900 0.592000 -0.752000 0.272000
+-0.450000 -0.471900 0.060900 0.592000 -0.752000 0.272000
+-0.550000 -0.502100 0.104800 0.104000 -0.840000 0.520000
+-0.550000 -0.502100 0.104800 0.104000 -0.840000 0.520000
+-0.550000 -0.532000 0.060900 0.080000 -0.776000 0.624000
+-0.500000 -0.502100 0.088800 0.616000 -0.688000 0.376000
+-0.500000 -0.517700 0.060900 0.632000 -0.632000 0.440000
+-0.489100 -0.502100 0.060900 0.704000 -0.616000 0.328000
+-0.489100 -0.502100 0.060900 0.704000 -0.616000 0.328000
+-0.405500 -0.100400 0.060900 -0.712000 0.456000 0.520000
+-0.405500 -0.100400 0.060900 -0.712000 0.456000 0.520000
+-0.400000 -0.090100 0.060900 -0.696000 0.400000 0.584000
+-0.400000 -0.100400 0.069600 -0.688000 0.456000 0.552000
+-0.367400 -0.050200 0.060900 -0.696000 0.408000 0.584000
+-0.351400 -0.100400 0.121900 -0.608000 0.368000 0.696000
+-0.350000 -0.050200 0.083200 -0.416000 0.344000 0.832000
+-0.350000 -0.097900 0.121900 -0.560000 0.424000 0.704000
+-0.300000 -0.050200 0.104800 -0.312000 0.512000 0.792000
+-0.300000 -0.066800 0.121900 -0.280000 0.584000 0.752000
+-0.255700 -0.050200 0.121900 -0.192000 0.512000 0.832000
+-0.255700 -0.050200 0.121900 -0.192000 0.512000 0.832000
+-0.350000 -0.001900 0.060900 -0.656000 0.280000 0.688000
+-0.350000 -0.001900 0.060900 -0.656000 0.280000 0.688000
+-0.350000 -0.050200 0.083200 -0.416000 0.344000 0.832000
+-0.367400 -0.050200 0.060900 -0.696000 0.408000 0.584000
+-0.367400 -0.050200 0.060900 -0.696000 0.408000 0.584000
+-0.351400 -0.100400 0.121900 -0.608000 0.368000 0.696000
+-0.351400 -0.100400 0.121900 -0.608000 0.368000 0.696000
+-0.400000 -0.140400 0.121900 -0.448000 0.624000 0.632000
+-0.400000 -0.100400 0.069600 -0.688000 0.456000 0.552000
+-0.400000 -0.100400 0.069600 -0.688000 0.456000 0.552000
+-0.400000 -0.401700 0.111300 0.640000 -0.680000 0.336000
+-0.400000 -0.401700 0.111300 0.640000 -0.680000 0.336000
+-0.400000 -0.423000 0.060900 0.616000 -0.696000 0.360000
+-0.350000 -0.401700 0.073400 0.632000 -0.688000 0.344000
+-0.350000 -0.406300 0.060900 0.592000 -0.728000 0.320000
+-0.344500 -0.401700 0.060900 0.632000 -0.688000 0.328000
+-0.344500 -0.401700 0.060900 0.632000 -0.688000 0.328000
+-0.348200 0.000000 0.060900 -0.376000 0.448000 0.800000
+-0.348200 0.000000 0.060900 -0.376000 0.448000 0.800000
+-0.300000 0.027200 0.060900 -0.160000 0.552000 0.808000
+-0.300000 0.000000 0.088800 -0.240000 0.432000 0.864000
+-0.250000 0.033500 0.060900 0.056000 0.528000 0.840000
+-0.250000 0.000000 0.079500 -0.144000 0.552000 0.816000
+-0.200000 0.020500 0.060900 0.664000 0.440000 0.600000
+-0.200000 0.000000 0.081400 0.696000 0.336000 0.624000
+-0.190300 0.000000 0.060900 0.816000 0.200000 0.536000
+-0.200000 -0.050200 0.072600 0.688000 0.360000 0.624000
+-0.193200 -0.050200 0.060900 0.808000 0.008000 0.584000
+-0.200000 -0.100400 0.076800 0.784000 -0.136000 0.600000
+-0.190200 -0.100400 0.060900 0.752000 -0.248000 0.600000
+-0.200000 -0.121800 0.060900 0.728000 -0.328000 0.592000
+-0.200000 -0.121800 0.060900 0.728000 -0.328000 0.592000
+-0.250000 0.000000 0.079500 -0.144000 0.552000 0.816000
+-0.250000 0.000000 0.079500 -0.144000 0.552000 0.816000
+-0.200000 0.000000 0.081400 0.696000 0.336000 0.624000
+-0.250000 -0.048000 0.121900 0.272000 0.640000 0.704000
+-0.200000 -0.050200 0.072600 0.688000 0.360000 0.624000
+-0.247100 -0.050200 0.121900 0.488000 0.512000 0.696000
+-0.200000 -0.100400 0.076800 0.784000 -0.136000 0.600000
+-0.230200 -0.100400 0.121900 0.776000 -0.176000 0.600000
+-0.230200 -0.100400 0.121900 0.776000 -0.176000 0.600000
+0.550000 0.351500 0.078000 -0.616000 0.672000 0.392000
+0.550000 0.351500 0.078000 -0.616000 0.672000 0.392000
+0.540600 0.351500 0.060900 -0.584000 0.632000 0.496000
+0.550000 0.359900 0.060900 -0.592000 0.640000 0.480000
+0.500000 0.351500 0.029100 -0.680000 0.048000 0.728000
+0.550000 0.388900 0.000000 -0.392000 0.856000 0.320000
+0.500000 0.369100 0.000000 -0.184000 0.800000 0.552000
+0.500000 0.351500 0.029100 -0.680000 0.048000 0.728000
+0.458200 0.351500 0.000000 -0.280000 0.520000 0.800000
+0.458200 0.351500 0.000000 -0.280000 0.520000 0.800000
+0.550000 0.246100 0.121900 -0.904000 -0.224000 0.352000
+0.550000 0.246100 0.121900 -0.904000 -0.224000 0.352000
+0.550000 0.200800 0.086900 -0.880000 -0.256000 0.392000
+0.548800 0.251000 0.121900 -0.912000 -0.176000 0.360000
+0.538800 0.200800 0.060900 -0.824000 -0.216000 0.520000
+0.533200 0.251000 0.060900 -0.856000 0.032000 0.512000
+0.500000 0.200800 0.008600 -0.576000 -0.176000 0.792000
+0.500800 0.251000 0.000000 -0.792000 -0.016000 0.608000
+0.500000 0.245700 0.000000 -0.568000 0.120000 0.808000
+0.500000 0.251000 -0.000900 -0.496000 0.112000 0.856000
+0.488800 0.200800 0.000000 -0.512000 0.024000 0.856000
+0.450000 0.251000 -0.039600 -0.400000 -0.080000 0.904000
+0.450000 0.200800 -0.035500 -0.536000 -0.264000 0.792000
+0.400000 0.251000 -0.058700 -0.328000 -0.176000 0.920000
+0.416500 0.200800 -0.060900 -0.560000 -0.352000 0.744000
+0.400000 0.242400 -0.060900 -0.352000 -0.192000 0.904000
+0.400000 0.200800 -0.077800 -0.600000 -0.432000 0.664000
+0.395100 0.251000 -0.060900 -0.344000 -0.184000 0.912000
+0.366500 0.200800 -0.121900 -0.760000 -0.624000 0.168000
+0.350000 0.251000 -0.088400 -0.448000 -0.320000 0.824000
+0.350000 0.218900 -0.121900 -0.504000 -0.816000 0.264000
+0.300000 0.251000 -0.114600 -0.168000 -0.536000 0.824000
+0.300000 0.236900 -0.121900 -0.304000 -0.688000 0.640000
+0.271900 0.251000 -0.121900 -0.240000 -0.760000 0.592000
+0.300000 0.251000 -0.156100 -0.368000 -0.808000 -0.448000
+0.300000 0.236900 -0.121900 -0.304000 -0.688000 0.640000
+0.321900 0.251000 -0.182900 -0.240000 -0.296000 -0.920000
+0.350000 0.218900 -0.121900 -0.504000 -0.816000 0.264000
+0.350000 0.236900 -0.182900 -0.272000 -0.424000 -0.856000
+0.366500 0.200800 -0.121900 -0.760000 -0.624000 0.168000
+0.380800 0.200800 -0.182900 -0.440000 -0.264000 -0.856000
+0.400000 0.152400 -0.121900 -0.688000 -0.712000 -0.048000
+0.400000 0.155900 -0.182900 -0.216000 -0.144000 -0.960000
+0.380800 0.200800 -0.182900 -0.440000 -0.264000 -0.856000
+0.400000 0.200800 -0.189400 -0.152000 -0.072000 -0.984000
+0.350000 0.236900 -0.182900 -0.272000 -0.424000 -0.856000
+0.400000 0.251000 -0.186400 -0.152000 0.040000 -0.984000
+0.350000 0.251000 -0.187300 -0.168000 -0.184000 -0.960000
+0.400000 0.301200 -0.184200 -0.016000 -0.016000 -0.992000
+0.350000 0.301200 -0.184400 -0.056000 0.000000 -0.992000
+0.400000 0.351500 -0.194500 0.000000 0.072000 -0.992000
+0.350000 0.351500 -0.192800 0.000000 0.056000 -0.992000
+0.400000 0.377300 -0.182900 0.016000 0.320000 -0.944000
+0.350000 0.377400 -0.182900 0.000000 0.280000 -0.952000
+0.400000 0.401700 -0.171200 0.088000 0.472000 -0.872000
+0.350000 0.401700 -0.174600 0.056000 0.440000 -0.888000
+0.400000 0.432800 -0.121900 0.160000 0.904000 -0.384000
+0.350000 0.445000 -0.121900 0.208000 0.960000 -0.152000
+0.400000 0.419800 -0.060900 0.080000 0.848000 0.520000
+0.350000 0.424300 -0.060900 0.120000 0.824000 0.544000
+0.400000 0.401700 -0.034800 -0.040000 0.584000 0.808000
+0.350000 0.401700 -0.031000 0.032000 0.488000 0.864000
+0.400000 0.351500 -0.018700 -0.136000 -0.208000 0.960000
+0.350000 0.351500 -0.021800 0.032000 -0.048000 0.992000
+0.350000 0.401700 -0.031000 0.032000 0.488000 0.864000
+0.300000 0.351500 -0.009100 -0.016000 -0.144000 0.984000
+0.300000 0.401700 -0.022200 0.096000 0.472000 0.864000
+0.350000 0.401700 -0.031000 0.032000 0.488000 0.864000
+0.300000 0.430700 -0.060900 0.128000 0.808000 0.568000
+0.350000 0.424300 -0.060900 0.120000 0.824000 0.544000
+0.300000 0.451900 -0.106900 0.184000 0.864000 0.456000
+0.350000 0.445000 -0.121900 0.208000 0.960000 -0.152000
+0.323400 0.451900 -0.121900 0.248000 0.944000 -0.200000
+0.350000 0.401700 -0.174600 0.056000 0.440000 -0.888000
+0.300000 0.451900 -0.131100 0.200000 0.712000 -0.664000
+0.300000 0.401700 -0.174800 0.040000 0.368000 -0.920000
+0.350000 0.401700 -0.174600 0.056000 0.440000 -0.888000
+0.300000 0.379400 -0.182900 -0.016000 0.272000 -0.960000
+0.350000 0.377400 -0.182900 0.000000 0.280000 -0.952000
+0.300000 0.351500 -0.193900 -0.008000 0.064000 -0.992000
+0.350000 0.351500 -0.192800 0.000000 0.056000 -0.992000
+0.300000 0.301200 -0.184400 -0.064000 -0.072000 -0.992000
+0.350000 0.301200 -0.184400 -0.056000 0.000000 -0.992000
+0.300000 0.284000 -0.182900 -0.168000 -0.184000 -0.960000
+0.350000 0.251000 -0.187300 -0.168000 -0.184000 -0.960000
+0.321900 0.251000 -0.182900 -0.240000 -0.296000 -0.920000
+0.350000 0.236900 -0.182900 -0.272000 -0.424000 -0.856000
+0.350000 0.236900 -0.182900 -0.272000 -0.424000 -0.856000
+0.550000 0.246100 0.121900 -0.904000 -0.224000 0.352000
+0.550000 0.246100 0.121900 -0.904000 -0.224000 0.352000
+0.567500 0.200800 0.121900 -0.784000 -0.344000 0.504000
+0.550000 0.200800 0.086900 -0.880000 -0.256000 0.392000
+0.550000 0.200800 0.086900 -0.880000 -0.256000 0.392000
+0.600000 0.100400 0.071800 -0.648000 -0.592000 0.472000
+0.600000 0.100400 0.071800 -0.648000 -0.592000 0.472000
+0.600000 0.093600 0.060900 -0.624000 -0.616000 0.464000
+0.593200 0.100400 0.060900 -0.640000 -0.584000 0.496000
+0.600000 0.053300 0.000000 -0.472000 -0.712000 0.512000
+0.553100 0.100400 0.000000 -0.664000 -0.576000 0.464000
+0.600000 0.050200 -0.005300 -0.440000 -0.752000 0.480000
+0.550000 0.100400 -0.005700 -0.672000 -0.576000 0.448000
+0.550000 0.050200 -0.037800 -0.320000 -0.688000 0.640000
+0.504600 0.100400 -0.060900 -0.704000 -0.248000 0.656000
+0.500000 0.050200 -0.057700 -0.560000 0.128000 0.816000
+0.500000 0.067400 -0.060900 -0.592000 0.120000 0.792000
+0.495100 0.050200 -0.060900 -0.456000 0.136000 0.872000
+0.500000 0.100400 -0.067100 -0.632000 -0.296000 0.704000
+0.450000 0.050200 -0.077000 -0.360000 0.120000 0.920000
+0.450000 0.100400 -0.090700 -0.384000 -0.320000 0.856000
+0.400000 0.050200 -0.114800 -0.552000 0.256000 0.784000
+0.415000 0.100400 -0.121900 -0.640000 0.192000 0.736000
+0.400000 0.072600 -0.121900 -0.632000 0.256000 0.720000
+0.400000 0.100400 -0.150800 -0.768000 0.376000 0.512000
+0.393200 0.050200 -0.121900 -0.648000 0.352000 0.664000
+0.381500 0.100400 -0.182900 -0.896000 0.440000 -0.008000
+0.357200 0.050200 -0.182900 -0.736000 0.640000 0.184000
+0.400000 0.100400 -0.207800 -0.424000 0.688000 -0.576000
+0.351400 0.050200 -0.243900 -0.480000 0.768000 -0.416000
+0.400000 0.083700 -0.243900 -0.328000 0.768000 -0.536000
+0.400000 0.050200 -0.294000 -0.352000 0.672000 -0.640000
+0.351400 0.050200 -0.243900 -0.480000 0.768000 -0.416000
+0.400000 0.041200 -0.304800 -0.352000 0.672000 -0.648000
+0.350000 0.049300 -0.243900 -0.512000 0.784000 -0.320000
+0.350000 0.024300 -0.304800 -0.456000 0.784000 -0.408000
+0.300000 0.032100 -0.243900 -0.576000 0.680000 -0.432000
+0.301400 0.000000 -0.304800 -0.584000 0.656000 -0.464000
+0.300000 0.000000 -0.302400 -0.544000 0.608000 -0.568000
+0.300000 -0.003100 -0.304800 -0.376000 0.424000 -0.816000
+0.301400 0.000000 -0.304800 -0.584000 0.656000 -0.464000
+0.300000 -0.050200 -0.319900 -0.536000 0.224000 -0.808000
+0.350000 0.000000 -0.339100 -0.264000 0.552000 -0.784000
+0.342100 -0.050200 -0.365800 -0.640000 -0.104000 -0.752000
+0.350000 -0.037900 -0.365800 -0.440000 0.432000 -0.776000
+0.350000 -0.050200 -0.374000 -0.496000 -0.096000 -0.856000
+0.383500 -0.050200 -0.365800 0.200000 -0.288000 -0.928000
+0.350000 -0.059800 -0.365800 -0.280000 -0.560000 -0.768000
+0.400000 -0.050200 -0.360800 0.184000 -0.432000 -0.872000
+0.350000 -0.100400 -0.331300 -0.432000 -0.520000 -0.728000
+0.400000 -0.100400 -0.340000 -0.040000 -0.360000 -0.928000
+0.350000 -0.127600 -0.304800 0.032000 -0.600000 -0.792000
+0.400000 -0.150600 -0.318400 -0.432000 -0.416000 -0.792000
+0.380400 -0.150600 -0.304800 -0.424000 -0.456000 -0.776000
+0.400000 -0.168700 -0.304800 -0.504000 -0.464000 -0.720000
+0.350000 -0.150600 -0.283600 -0.064000 -0.424000 -0.896000
+0.400000 -0.200800 -0.276700 0.448000 -0.472000 -0.752000
+0.350000 -0.200800 -0.271400 0.216000 0.224000 -0.944000
+0.400000 -0.249400 -0.243900 0.760000 -0.472000 -0.424000
+0.350000 -0.228300 -0.304800 0.616000 0.528000 -0.576000
+0.399000 -0.251000 -0.243900 0.912000 -0.008000 -0.392000
+0.366700 -0.251000 -0.304800 0.704000 0.488000 -0.496000
+0.350000 -0.228300 -0.304800 0.616000 0.528000 -0.576000
+0.350000 -0.251000 -0.329500 0.536000 0.472000 -0.688000
+0.320800 -0.200800 -0.304800 0.496000 0.328000 -0.800000
+0.300000 -0.251000 -0.347800 0.304000 0.384000 -0.864000
+0.300000 -0.200800 -0.324200 0.480000 0.248000 -0.832000
+0.320800 -0.200800 -0.304800 0.496000 0.328000 -0.800000
+0.300000 -0.150600 -0.312600 0.312000 -0.200000 -0.920000
+0.313400 -0.150600 -0.304800 0.400000 -0.360000 -0.840000
+0.300000 -0.100400 -0.310000 -0.248000 0.072000 -0.960000
+0.350000 -0.127600 -0.304800 0.032000 -0.600000 -0.792000
+0.350000 -0.100400 -0.331300 -0.432000 -0.520000 -0.728000
+0.300000 -0.100400 -0.310000 -0.248000 0.072000 -0.960000
+0.350000 -0.059800 -0.365800 -0.280000 -0.560000 -0.768000
+0.300000 -0.050200 -0.319900 -0.536000 0.224000 -0.808000
+0.342100 -0.050200 -0.365800 -0.640000 -0.104000 -0.752000
+0.350000 -0.059800 -0.365800 -0.280000 -0.560000 -0.768000
+0.350000 -0.050200 -0.374000 -0.496000 -0.096000 -0.856000
+0.350000 -0.050200 -0.374000 -0.496000 -0.096000 -0.856000
+0.650000 0.080100 0.121900 -0.576000 -0.640000 0.496000
+0.650000 0.080100 0.121900 -0.576000 -0.640000 0.496000
+0.692100 0.050200 0.121900 -0.432000 -0.784000 0.424000
+0.650000 0.050200 0.073400 -0.576000 -0.624000 0.512000
+0.700000 0.046100 0.121900 -0.152000 -0.904000 0.376000
+0.650000 0.041800 0.060900 -0.568000 -0.648000 0.504000
+0.700000 0.026800 0.060900 -0.288000 -0.896000 0.328000
+0.650000 0.013100 0.000000 -0.448000 -0.792000 0.392000
+0.700000 0.012000 0.000000 -0.032000 -0.960000 0.272000
+0.650000 0.000000 -0.040500 0.104000 -0.944000 0.296000
+0.700000 0.001400 -0.060900 0.088000 -0.968000 0.192000
+0.686800 0.000000 -0.060900 0.208000 -0.960000 0.144000
+0.700000 0.000400 -0.121900 0.224000 -0.968000 0.032000
+0.698200 0.000000 -0.121900 0.296000 -0.952000 0.032000
+0.700000 0.009000 -0.182900 0.456000 -0.744000 -0.472000
+0.687300 0.000000 -0.182900 0.648000 -0.600000 -0.456000
+0.700000 0.050200 -0.225700 0.368000 -0.368000 -0.848000
+0.653800 0.000000 -0.243900 0.576000 -0.112000 -0.808000
+0.653800 0.050200 -0.243900 0.232000 0.032000 -0.968000
+0.653800 0.050200 -0.243900 0.232000 0.032000 -0.968000
+0.750000 0.233400 0.121900 0.720000 0.680000 -0.080000
+0.750000 0.233400 0.121900 0.720000 0.680000 -0.080000
+0.788900 0.200800 0.121900 0.632000 0.744000 0.184000
+0.750000 0.222200 0.060900 0.704000 0.696000 -0.080000
+0.772600 0.200800 0.060900 0.648000 0.736000 -0.136000
+0.750000 0.219200 0.000000 0.672000 0.728000 0.080000
+0.770200 0.200800 0.000000 0.616000 0.776000 0.056000
+0.750000 0.228900 -0.060900 0.576000 0.696000 -0.416000
+0.787300 0.200800 -0.060900 0.520000 0.824000 -0.184000
+0.750000 0.200800 -0.104400 0.480000 0.680000 -0.544000
+0.800000 0.194300 -0.060900 0.416000 0.824000 -0.360000
+0.750000 0.186400 -0.121900 0.504000 0.648000 -0.560000
+0.800000 0.164900 -0.121900 0.312000 0.800000 -0.504000
+0.750000 0.157000 -0.182900 0.280000 0.720000 -0.624000
+0.800000 0.150600 -0.164100 0.256000 0.800000 -0.528000
+0.769100 0.150600 -0.182900 0.248000 0.704000 -0.648000
+0.800000 0.138600 -0.182900 0.232000 0.712000 -0.656000
+0.750000 0.150600 -0.191500 0.256000 0.656000 -0.704000
+0.800000 0.100400 -0.216300 0.104000 0.416000 -0.896000
+0.750000 0.100400 -0.218500 0.200000 0.232000 -0.944000
+0.800000 0.050200 -0.233400 -0.176000 0.416000 -0.880000
+0.750000 0.050200 -0.223600 -0.168000 -0.552000 -0.808000
+0.800000 0.000000 -0.217200 -0.656000 -0.464000 -0.584000
+0.750000 0.019900 -0.182900 -0.176000 -0.792000 -0.576000
+0.776700 0.000000 -0.182900 -0.576000 -0.728000 -0.360000
+0.750000 0.004300 -0.121900 -0.408000 -0.880000 -0.216000
+0.756600 0.000000 -0.121900 -0.496000 -0.856000 -0.080000
+0.750000 0.001600 -0.060900 -0.416000 -0.904000 -0.016000
+0.753100 0.000000 -0.060900 -0.472000 -0.872000 0.000000
+0.750000 0.013300 0.000000 -0.240000 -0.936000 0.240000
+0.772100 0.000000 0.000000 -0.504000 -0.832000 0.224000
+0.750000 0.031700 0.060900 -0.136000 -0.928000 0.336000
+0.798100 0.000000 0.060900 -0.504000 -0.792000 0.312000
+0.772100 0.000000 0.000000 -0.504000 -0.832000 0.224000
+0.800000 -0.001000 0.060900 -0.584000 -0.776000 0.216000
+0.800000 -0.015400 0.000000 -0.560000 -0.800000 0.184000
+0.843600 -0.050200 0.060900 -0.704000 -0.672000 0.184000
+0.832800 -0.050200 0.000000 -0.728000 -0.656000 0.144000
+0.800000 -0.015400 0.000000 -0.560000 -0.800000 0.184000
+0.823600 -0.050200 -0.060900 -0.736000 -0.664000 0.112000
+0.800000 -0.024700 -0.060900 -0.616000 -0.776000 0.088000
+0.818400 -0.050200 -0.121900 -0.760000 -0.640000 0.016000
+0.800000 -0.027900 -0.121900 -0.664000 -0.736000 -0.072000
+0.822900 -0.050200 -0.182900 -0.792000 -0.592000 -0.088000
+0.800000 -0.017800 -0.182900 -0.616000 -0.680000 -0.376000
+0.835300 -0.050200 -0.243900 -0.840000 -0.416000 -0.336000
+0.800000 0.000000 -0.217200 -0.656000 -0.464000 -0.584000
+0.819700 0.000000 -0.243900 -0.752000 -0.192000 -0.616000
+0.819700 0.000000 -0.243900 -0.752000 -0.192000 -0.616000
+0.788900 0.200800 0.121900 0.632000 0.744000 0.184000
+0.788900 0.200800 0.121900 0.632000 0.744000 0.184000
+0.800000 0.190400 0.121900 0.624000 0.752000 0.168000
+0.772600 0.200800 0.060900 0.648000 0.736000 -0.136000
+0.800000 0.182100 0.060900 0.560000 0.824000 -0.024000
+0.770200 0.200800 0.000000 0.616000 0.776000 0.056000
+0.800000 0.184600 0.000000 0.464000 0.872000 0.120000
+0.787300 0.200800 -0.060900 0.520000 0.824000 -0.184000
+0.800000 0.194300 -0.060900 0.416000 0.824000 -0.360000
+0.800000 0.194300 -0.060900 0.416000 0.824000 -0.360000
+0.800000 0.028400 0.121900 -0.376000 -0.808000 0.432000
+0.800000 0.028400 0.121900 -0.376000 -0.808000 0.432000
+0.829700 0.000000 0.121900 -0.704000 -0.616000 0.344000
+0.800000 0.000000 0.064400 -0.576000 -0.736000 0.344000
+0.800000 0.000000 0.064400 -0.576000 -0.736000 0.344000
+0.911800 0.100400 0.121900 0.528000 0.800000 0.264000
+0.911800 0.100400 0.121900 0.528000 0.800000 0.264000
+0.950000 0.069700 0.121900 0.360000 0.840000 0.384000
+0.936800 0.100400 0.060900 0.456000 0.872000 0.168000
+0.950000 0.091300 0.060900 0.600000 0.776000 0.176000
+0.950000 0.100400 0.012800 0.496000 0.848000 0.136000
+1.000000 0.068400 0.060900 0.464000 0.872000 0.104000
+0.952900 0.100400 0.000000 0.504000 0.848000 0.120000
+1.000000 0.075000 0.000000 0.472000 0.872000 0.072000
+0.957800 0.100400 -0.060900 0.544000 0.824000 -0.120000
+1.000000 0.074600 -0.060900 0.496000 0.816000 -0.280000
+1.000000 0.074600 -0.060900 0.496000 0.816000 -0.280000
+0.950000 -0.142500 0.121900 -0.608000 -0.672000 0.392000
+0.950000 -0.142500 0.121900 -0.608000 -0.672000 0.392000
+0.950000 -0.150600 0.094900 -0.648000 -0.696000 0.272000
+0.900000 -0.107100 0.121900 -0.584000 -0.768000 0.240000
+0.942000 -0.150600 0.060900 -0.704000 -0.672000 0.200000
+0.900000 -0.117100 0.060900 -0.656000 -0.736000 0.136000
+0.931300 -0.150600 0.000000 -0.640000 -0.744000 0.144000
+0.900000 -0.125700 0.000000 -0.664000 -0.728000 0.136000
+0.917800 -0.150600 -0.060900 -0.640000 -0.736000 0.184000
+0.900000 -0.135500 -0.060900 -0.672000 -0.712000 0.168000
+0.902600 -0.150600 -0.121900 -0.664000 -0.736000 0.096000
+0.900000 -0.148200 -0.121900 -0.664000 -0.728000 0.088000
+0.900000 -0.150600 -0.145400 -0.696000 -0.704000 0.104000
+0.902600 -0.150600 -0.121900 -0.664000 -0.736000 0.096000
+0.900000 -0.155900 -0.182900 -0.744000 -0.648000 0.112000
+0.950000 -0.200400 -0.121900 -0.720000 -0.672000 0.136000
+0.939100 -0.200800 -0.182900 -0.712000 -0.672000 0.160000
+0.950000 -0.200800 -0.124000 -0.680000 -0.712000 0.160000
+0.950000 -0.211700 -0.182900 -0.704000 -0.680000 0.176000
+0.939100 -0.200800 -0.182900 -0.712000 -0.672000 0.160000
+0.950000 -0.224400 -0.243900 -0.688000 -0.640000 0.328000
+0.928800 -0.200800 -0.243900 -0.736000 -0.616000 0.240000
+0.939100 -0.200800 -0.182900 -0.712000 -0.672000 0.160000
+0.900000 -0.163000 -0.243900 -0.816000 -0.552000 0.128000
+0.900000 -0.155900 -0.182900 -0.744000 -0.648000 0.112000
+0.890800 -0.150600 -0.243900 -0.848000 -0.512000 0.064000
+0.895100 -0.150600 -0.182900 -0.744000 -0.648000 0.104000
+0.900000 -0.155900 -0.182900 -0.744000 -0.648000 0.112000
+0.900000 -0.150600 -0.145400 -0.696000 -0.704000 0.104000
+0.900000 -0.150600 -0.145400 -0.696000 -0.704000 0.104000
+0.950000 -0.150600 0.094900 -0.648000 -0.696000 0.272000
+0.950000 -0.150600 0.094900 -0.648000 -0.696000 0.272000
+0.950000 -0.158100 0.060900 -0.608000 -0.760000 0.200000
+0.942000 -0.150600 0.060900 -0.704000 -0.672000 0.200000
+0.950000 -0.168100 0.000000 -0.640000 -0.744000 0.184000
+0.931300 -0.150600 0.000000 -0.640000 -0.744000 0.144000
+0.950000 -0.183700 -0.060900 -0.632000 -0.728000 0.232000
+0.917800 -0.150600 -0.060900 -0.640000 -0.736000 0.184000
+0.950000 -0.200400 -0.121900 -0.720000 -0.672000 0.136000
+0.902600 -0.150600 -0.121900 -0.664000 -0.736000 0.096000
+0.902600 -0.150600 -0.121900 -0.664000 -0.736000 0.096000
+1.000000 0.053600 0.121900 0.280000 0.872000 0.392000
+1.000000 0.053600 0.121900 0.280000 0.872000 0.392000
+0.950000 0.069700 0.121900 0.360000 0.840000 0.384000
+1.000000 0.068400 0.060900 0.464000 0.872000 0.104000
+0.950000 0.091300 0.060900 0.600000 0.776000 0.176000
+0.950000 0.091300 0.060900 0.600000 0.776000 0.176000
+-1.000000 -0.090800 0.060900 -0.320000 -0.912000 0.248000
+-1.000000 -0.090800 0.060900 -0.320000 -0.912000 0.248000
+-0.973400 -0.100400 0.060900 -0.344000 -0.904000 0.240000
+-1.000000 -0.100400 0.014600 -0.304000 -0.920000 0.208000
+-1.000000 -0.100400 0.014600 -0.304000 -0.920000 0.208000
+-0.950000 0.258900 0.000000 0.296000 0.848000 0.432000
+-0.950000 0.258900 0.000000 0.296000 0.848000 0.432000
+-0.928700 0.251000 0.000000 0.312000 0.848000 0.408000
+-0.950000 0.251000 0.016800 0.288000 0.808000 0.504000
+-0.950000 0.251000 0.016800 0.288000 0.808000 0.504000
+-0.900000 -0.149700 0.060900 -0.696000 -0.664000 0.232000
+-0.900000 -0.149700 0.060900 -0.696000 -0.664000 0.232000
+-0.899200 -0.150600 0.060900 -0.816000 -0.504000 0.256000
+-0.900000 -0.150600 0.057700 -0.744000 -0.616000 0.232000
+-0.900000 -0.150600 0.057700 -0.744000 -0.616000 0.232000
+-0.750000 0.106000 0.060900 0.496000 0.464000 0.728000
+-0.750000 0.106000 0.060900 0.496000 0.464000 0.728000
+-0.796300 0.150600 0.060900 0.512000 0.584000 0.616000
+-0.750000 0.150600 0.014500 0.472000 0.624000 0.608000
+-0.750000 0.150600 0.014500 0.472000 0.624000 0.608000
+-0.750800 -0.401700 0.000000 -0.816000 -0.520000 0.208000
+-0.750800 -0.401700 0.000000 -0.816000 -0.520000 0.208000
+-0.750000 -0.401700 0.004100 -0.816000 -0.520000 0.232000
+-0.750000 -0.403200 0.000000 -0.832000 -0.504000 0.216000
+-0.750000 -0.403200 0.000000 -0.832000 -0.504000 0.216000
+-0.700000 0.051600 0.060900 0.528000 0.416000 0.728000
+-0.700000 0.051600 0.060900 0.528000 0.416000 0.728000
+-0.744800 0.100400 0.060900 0.496000 0.456000 0.728000
+-0.700000 0.100400 0.019100 0.504000 0.504000 0.688000
+-0.700000 0.100400 0.019100 0.504000 0.504000 0.688000
+-0.700000 0.121800 0.000000 0.536000 0.544000 0.632000
+-0.700000 0.121800 0.000000 0.536000 0.544000 0.632000
+-0.680200 0.100400 0.000000 0.600000 0.440000 0.656000
+-0.700000 0.100400 0.019100 0.504000 0.504000 0.688000
+-0.700000 0.100400 0.019100 0.504000 0.504000 0.688000
+-0.650000 -0.023500 0.060900 0.576000 0.360000 0.720000
+-0.650000 -0.023500 0.060900 0.576000 0.360000 0.720000
+-0.666100 0.000000 0.060900 0.560000 0.376000 0.728000
+-0.650000 0.000000 0.045200 0.576000 0.400000 0.704000
+-0.650000 0.000000 0.045200 0.576000 0.400000 0.704000
+-0.650000 0.063100 0.000000 0.592000 0.392000 0.696000
+-0.650000 0.063100 0.000000 0.592000 0.392000 0.696000
+-0.641800 0.050200 0.000000 0.616000 0.400000 0.664000
+-0.650000 0.050200 0.008200 0.568000 0.384000 0.720000
+-0.650000 0.050200 0.008200 0.568000 0.384000 0.720000
+-0.650000 -0.495900 0.060900 -0.528000 -0.720000 0.432000
+-0.650000 -0.495900 0.060900 -0.528000 -0.720000 0.432000
+-0.640700 -0.502100 0.060900 -0.496000 -0.728000 0.456000
+-0.650000 -0.502100 0.048300 -0.536000 -0.712000 0.440000
+-0.650000 -0.502100 0.048300 -0.536000 -0.712000 0.440000
+-0.633400 -0.552300 0.000000 -0.384000 -0.672000 0.624000
+-0.633400 -0.552300 0.000000 -0.384000 -0.672000 0.624000
+-0.600000 -0.552300 0.023900 -0.224000 -0.776000 0.584000
+-0.600000 -0.566300 0.000000 -0.184000 -0.816000 0.544000
+-0.550000 -0.552300 0.031000 0.256000 -0.800000 0.528000
+-0.550000 -0.565800 0.000000 0.224000 -0.872000 0.424000
+-0.509600 -0.552300 0.000000 0.320000 -0.840000 0.424000
+-0.509600 -0.552300 0.000000 0.320000 -0.840000 0.424000
+-0.600000 -0.018300 0.000000 0.712000 0.368000 0.584000
+-0.600000 -0.018300 0.000000 0.712000 0.368000 0.584000
+-0.584800 -0.050200 0.000000 0.744000 0.336000 0.568000
+-0.600000 -0.050200 0.018400 0.648000 0.320000 0.688000
+-0.600000 -0.050200 0.018400 0.648000 0.320000 0.688000
+-0.472400 -0.150600 0.060900 -0.464000 0.768000 0.416000
+-0.472400 -0.150600 0.060900 -0.464000 0.768000 0.416000
+-0.500000 -0.166600 0.060900 -0.304000 0.832000 0.448000
+-0.500000 -0.150600 0.019400 -0.216000 0.856000 0.464000
+-0.500000 -0.150600 0.019400 -0.216000 0.856000 0.464000
+-0.434300 -0.100400 0.000000 -0.648000 0.720000 0.208000
+-0.434300 -0.100400 0.000000 -0.648000 0.720000 0.208000
+-0.405500 -0.100400 0.060900 -0.712000 0.456000 0.520000
+-0.400000 -0.050900 0.000000 -0.776000 0.576000 0.224000
+-0.400000 -0.090100 0.060900 -0.696000 0.400000 0.584000
+-0.399300 -0.050200 0.000000 -0.696000 0.680000 0.184000
+-0.367400 -0.050200 0.060900 -0.696000 0.408000 0.584000
+-0.367400 -0.050200 0.060900 -0.696000 0.408000 0.584000
+-0.355100 0.050200 0.000000 -0.872000 0.216000 0.416000
+-0.355100 0.050200 0.000000 -0.872000 0.216000 0.416000
+-0.350000 0.077100 0.000000 -0.776000 0.256000 0.568000
+-0.350000 0.050200 0.010900 -0.568000 0.448000 0.680000
+-0.321000 0.100400 0.000000 -0.264000 0.416000 0.864000
+-0.300000 0.050200 0.038600 -0.224000 0.544000 0.800000
+-0.300000 0.100400 0.006400 -0.200000 0.408000 0.880000
+-0.250000 0.050200 0.048300 0.000000 0.552000 0.832000
+-0.250000 0.100400 0.002600 0.144000 0.496000 0.848000
+-0.250000 0.100400 0.002600 0.144000 0.496000 0.848000
+-0.350000 0.000000 0.059800 -0.688000 0.400000 0.592000
+-0.350000 0.000000 0.059800 -0.688000 0.400000 0.592000
+-0.350000 0.050200 0.010900 -0.568000 0.448000 0.680000
+-0.373100 0.000000 0.000000 -0.880000 0.240000 0.392000
+-0.355100 0.050200 0.000000 -0.872000 0.216000 0.416000
+-0.377800 0.000000 -0.060900 -0.864000 0.424000 -0.248000
+-0.358600 0.050200 -0.060900 -0.920000 0.168000 -0.328000
+-0.372200 0.000000 -0.121900 -0.848000 0.480000 -0.200000
+-0.350000 0.050200 -0.078800 -0.832000 0.272000 -0.472000
+-0.350000 0.031200 -0.121900 -0.744000 0.552000 -0.352000
+-0.335400 0.050200 -0.121900 -0.752000 0.472000 -0.456000
+-0.350000 0.000000 -0.171400 -0.688000 0.416000 -0.584000
+-0.301000 0.050200 -0.182900 -0.704000 0.472000 -0.512000
+-0.340600 0.000000 -0.182900 -0.696000 0.480000 -0.520000
+-0.350000 0.000000 -0.171400 -0.688000 0.416000 -0.584000
+-0.350000 -0.016600 -0.182900 -0.688000 0.360000 -0.616000
+-0.372200 0.000000 -0.121900 -0.848000 0.480000 -0.200000
+-0.365500 -0.050200 -0.182900 -0.728000 0.384000 -0.560000
+-0.399400 -0.050200 -0.121900 -0.760000 0.504000 -0.392000
+-0.400000 -0.096400 -0.182900 -0.664000 0.552000 -0.496000
+-0.400000 -0.050900 -0.121900 -0.736000 0.536000 -0.408000
+-0.403600 -0.100400 -0.182900 -0.616000 0.592000 -0.512000
+-0.434900 -0.100400 -0.121900 -0.608000 0.744000 -0.256000
+-0.434900 -0.100400 -0.121900 -0.608000 0.744000 -0.256000
+-0.350000 0.000000 0.059800 -0.688000 0.400000 0.592000
+-0.350000 0.000000 0.059800 -0.688000 0.400000 0.592000
+-0.350000 0.050200 0.010900 -0.568000 0.448000 0.680000
+-0.348200 0.000000 0.060900 -0.376000 0.448000 0.800000
+-0.300000 0.050200 0.038600 -0.224000 0.544000 0.800000
+-0.300000 0.027200 0.060900 -0.160000 0.552000 0.808000
+-0.250000 0.050200 0.048300 0.000000 0.552000 0.832000
+-0.250000 0.033500 0.060900 0.056000 0.528000 0.840000
+-0.200000 0.050200 0.037800 0.512000 0.448000 0.720000
+-0.200000 0.020500 0.060900 0.664000 0.440000 0.600000
+-0.200000 0.020500 0.060900 0.664000 0.440000 0.600000
+-0.208400 0.401700 0.000000 -0.424000 0.248000 0.864000
+-0.208400 0.401700 0.000000 -0.424000 0.248000 0.864000
+-0.200000 0.408700 0.000000 -0.112000 0.496000 0.856000
+-0.200000 0.401700 0.005100 -0.168000 0.288000 0.936000
+-0.185900 0.401700 0.000000 0.264000 0.248000 0.928000
+-0.200000 0.384800 0.000000 -0.112000 -0.232000 0.960000
+-0.150000 0.401700 -0.011900 0.240000 0.256000 0.928000
+-0.200000 0.351500 -0.009600 0.208000 -0.208000 0.952000
+-0.150000 0.351500 -0.029900 0.096000 -0.168000 0.976000
+-0.200000 0.301200 -0.022600 0.056000 -0.176000 0.976000
+-0.150000 0.301200 -0.033800 0.040000 -0.024000 0.992000
+-0.200000 0.251000 -0.048300 -0.120000 -0.296000 0.944000
+-0.150000 0.251000 -0.027500 -0.136000 -0.104000 0.984000
+-0.200000 0.206100 -0.060900 -0.448000 -0.184000 0.872000
+-0.150000 0.200800 -0.027500 -0.320000 -0.168000 0.928000
+-0.198000 0.200800 -0.060900 -0.464000 0.288000 0.832000
+-0.150000 0.150600 -0.037800 0.256000 -0.016000 0.960000
+-0.200000 0.199100 -0.060900 -0.320000 0.504000 0.792000
+-0.200000 0.150600 -0.023100 -0.360000 0.472000 0.792000
+-0.250000 0.177000 -0.060900 -0.096000 0.568000 0.808000
+-0.250000 0.150600 -0.042200 0.008000 0.568000 0.816000
+-0.277600 0.200800 -0.060900 0.584000 -0.072000 0.800000
+-0.300000 0.150600 -0.036000 -0.360000 0.064000 0.920000
+-0.300000 0.200800 -0.040500 0.440000 0.208000 0.864000
+-0.346000 0.150600 -0.060900 -0.768000 -0.144000 0.616000
+-0.350000 0.200800 -0.003200 -0.528000 -0.104000 0.832000
+-0.350000 0.153200 -0.060900 -0.608000 -0.784000 0.016000
+-0.368900 0.200800 -0.060900 -0.952000 0.040000 -0.280000
+-0.350000 0.200800 -0.076700 -0.368000 -0.104000 -0.920000
+-0.356100 0.251000 -0.060900 -0.936000 0.104000 -0.312000
+-0.350000 0.251000 -0.067500 -0.624000 0.048000 -0.768000
+-0.353500 0.301200 -0.060900 -0.872000 0.080000 -0.464000
+-0.350000 0.301200 -0.064600 -0.624000 0.064000 -0.768000
+-0.350000 0.329400 -0.060900 -0.960000 0.152000 -0.224000
+-0.300000 0.301200 -0.089300 -0.344000 0.056000 -0.936000
+-0.344500 0.351500 -0.060900 -0.776000 0.288000 0.552000
+-0.300000 0.351500 -0.083400 -0.432000 0.176000 -0.880000
+-0.307400 0.401700 -0.060900 -0.696000 0.688000 -0.152000
+-0.300000 0.401700 -0.066400 -0.448000 0.440000 -0.768000
+-0.300000 0.408800 -0.060900 -0.664000 0.712000 -0.184000
+-0.250000 0.401700 -0.091800 -0.416000 0.456000 -0.776000
+-0.250000 0.447500 -0.060900 -0.512000 0.744000 0.408000
+-0.208300 0.401700 -0.121900 -0.432000 0.432000 -0.784000
+-0.242600 0.451900 -0.060900 -0.440000 0.728000 0.512000
+-0.200000 0.409200 -0.121900 -0.400000 0.464000 -0.776000
+-0.200000 0.451900 -0.081300 -0.400000 0.504000 -0.752000
+-0.152100 0.451900 -0.121900 -0.424000 0.536000 -0.720000
+-0.200000 0.477600 -0.060900 -0.544000 0.808000 -0.208000
+-0.150000 0.453400 -0.121900 -0.320000 0.624000 -0.704000
+-0.150000 0.501300 -0.060900 -0.376000 0.880000 -0.280000
+-0.100000 0.479800 -0.121900 -0.288000 0.584000 -0.752000
+-0.146800 0.502100 -0.060900 -0.272000 0.960000 0.016000
+-0.100000 0.502100 -0.081300 -0.184000 0.840000 -0.488000
+-0.100000 0.517800 -0.060900 -0.120000 0.976000 0.136000
+-0.050000 0.502100 -0.117100 -0.040000 0.912000 -0.392000
+-0.050000 0.515300 -0.060900 0.432000 0.792000 0.408000
+-0.033200 0.502100 -0.060900 0.616000 0.496000 0.600000
+-0.050000 0.502100 -0.046900 0.400000 0.496000 0.760000
+-0.023600 0.451900 -0.060900 0.376000 0.152000 0.904000
+-0.050000 0.451900 -0.049700 0.432000 0.024000 0.896000
+-0.005200 0.401700 -0.060900 0.264000 0.168000 0.944000
+-0.050000 0.401700 -0.052300 0.176000 0.040000 0.976000
+0.000000 0.393800 -0.060900 0.224000 0.176000 0.952000
+-0.050000 0.351500 -0.043600 0.248000 0.032000 0.960000
+0.000000 0.351500 -0.051600 0.280000 -0.248000 0.920000
+-0.050000 0.301200 -0.044600 0.440000 -0.008000 0.896000
+0.000000 0.334500 -0.060900 0.312000 -0.368000 0.864000
+-0.027600 0.301200 -0.060900 0.456000 -0.208000 0.856000
+0.000000 0.301200 -0.076500 0.296000 -0.272000 0.904000
+-0.035000 0.251000 -0.060900 0.512000 -0.448000 0.728000
+0.000000 0.251000 -0.086600 0.344000 -0.360000 0.864000
+-0.050000 0.236000 -0.060900 0.536000 -0.496000 0.672000
+0.000000 0.211400 -0.121900 0.496000 -0.712000 0.480000
+-0.050000 0.200800 -0.090500 0.520000 -0.520000 0.672000
+-0.012800 0.200800 -0.121900 0.688000 -0.616000 0.376000
+-0.050000 0.170300 -0.121900 0.584000 -0.576000 0.560000
+0.000000 0.200800 -0.169000 0.576000 -0.744000 0.320000
+-0.050000 0.150600 -0.159500 0.712000 -0.480000 0.504000
+0.000000 0.195100 -0.182900 0.504000 -0.656000 -0.544000
+-0.033200 0.150600 -0.182900 0.832000 -0.552000 -0.016000
+0.000000 0.200800 -0.186400 0.272000 -0.456000 -0.840000
+-0.050000 0.150600 -0.210200 0.840000 -0.208000 -0.496000
+-0.05