aboutsummaryrefslogtreecommitdiff
path: root/packages
diff options
context:
space:
mode:
authorHans-Christoph Steiner <eighthave@users.sourceforge.net>2012-11-02 15:36:19 +0000
committerHans-Christoph Steiner <eighthave@users.sourceforge.net>2012-11-02 15:36:19 +0000
commitc823b2bf3165990a556d50990adf4da5cee95593 (patch)
tree733f3d3a6ed7a5e8f80d4b4553299902d89b58b8 /packages
parent2c0b722536a4ec2f723c289b695b983741c678f8 (diff)
commit Gem 0.93.3 from http://gem.iem.at/releases/0.93.3/Gem-0.93.3-W32-i686.zip
svn path=/trunk/; revision=16521
Diffstat (limited to 'packages')
-rw-r--r--packages/noncvs/windows/extra/Gem/COPYING.txt141
-rw-r--r--packages/noncvs/windows/extra/Gem/ChangeLog38114
-rw-r--r--packages/noncvs/windows/extra/Gem/GEMglBegin-help.pd28
-rw-r--r--packages/noncvs/windows/extra/Gem/GLdefine-help.pd130
-rw-r--r--packages/noncvs/windows/extra/Gem/Gem.dllbin2486272 -> 2490368 bytes
-rw-r--r--packages/noncvs/windows/extra/Gem/README.txt293
-rw-r--r--packages/noncvs/windows/extra/Gem/accumrotate-help.pd144
-rw-r--r--packages/noncvs/windows/extra/Gem/alpha-help.pd192
-rw-r--r--packages/noncvs/windows/extra/Gem/ambient-help.pd132
-rw-r--r--packages/noncvs/windows/extra/Gem/ambientRGB-help.pd150
-rw-r--r--packages/noncvs/windows/extra/Gem/camera-help.pd162
-rw-r--r--packages/noncvs/windows/extra/Gem/circle-help.pd130
-rw-r--r--packages/noncvs/windows/extra/Gem/color-help.pd120
-rw-r--r--packages/noncvs/windows/extra/Gem/colorRGB-help.pd138
-rw-r--r--packages/noncvs/windows/extra/Gem/colorSquare-help.pd164
-rw-r--r--packages/noncvs/windows/extra/Gem/cone-help.pd138
-rw-r--r--packages/noncvs/windows/extra/Gem/cube-help.pd128
-rw-r--r--packages/noncvs/windows/extra/Gem/cuboid-help.pd146
-rw-r--r--packages/noncvs/windows/extra/Gem/curve-help.pd224
-rw-r--r--packages/noncvs/windows/extra/Gem/curve3d-help.pd3316
-rw-r--r--packages/noncvs/windows/extra/Gem/cylinder-help.pd140
-rw-r--r--packages/noncvs/windows/extra/Gem/depth-help.pd42
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Base/CPPExtern.h742
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Base/GemBase.h280
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Base/GemCache.h8
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Base/GemContext.h114
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Base/GemContextData.h8
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Base/GemEvent.h8
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Base/GemExportDef.h8
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Base/GemFuncUtil.h8
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Base/GemGL.h8
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Base/GemGLBase.h46
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Base/GemGLUtil.h8
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Base/GemGluObj.h192
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Base/GemLoaders.h8
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Base/GemMan.h8
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Base/GemMath.h8
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Base/GemPBuffer.h8
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Base/GemPathBase.h148
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Base/GemPixConvert.h8
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Base/GemPixDualObj.h380
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Base/GemPixImageLoad.h8
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Base/GemPixImageSave.h8
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Base/GemPixObj.h284
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Base/GemPixPete.h8
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Base/GemPixUtil.h8
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Base/GemSIMD.h8
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Base/GemShape.h288
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Base/GemState.h8
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Base/GemVector.h8
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Base/GemVersion.h8
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Base/GemWindow.h416
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Base/Matrix.h8
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Base/TextBase.h462
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Gem.libbin3031528 -> 3031528 bytes
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Gem/Cache.h148
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Gem/ContextData.h298
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Gem/Dylib.h136
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Gem/Event.h208
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Gem/Exception.h116
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Gem/ExportDef.h124
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Gem/Files.h68
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Gem/GLStack.h148
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Gem/GemGL.h176
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Gem/Image.h568
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Gem/ImageIO.h306
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Gem/Loaders.h50
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Gem/Manager.h500
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Gem/PBuffer.h108
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Gem/PixConvert.h346
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Gem/Properties.h216
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Gem/RTE.h58
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Gem/Settings.h70
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Gem/State.h454
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Gem/SynchedWorkerThread.h130
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Gem/ThreadMutex.h76
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Gem/ThreadSemaphore.h74
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Gem/Version.h38
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Gem/WorkerThread.h160
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Gem/glew.h28870
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Gem/glxew.h2952
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Gem/wglew.h2494
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/RTE/Array.h102
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/RTE/MessageCallbacks.h292
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Utils/Functions.h720
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Utils/GLUtil.h70
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Utils/GemMath.h170
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Utils/Matrix.h156
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Utils/PixPete.h448
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Utils/SIMD.h234
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Utils/Vector.h154
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/Utils/any.h616
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/plugins/PluginFactory.h210
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/plugins/PluginFactoryTimple.h268
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/plugins/film.h346
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/plugins/imageloader.h150
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/plugins/imagesaver.h252
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/plugins/record.h216
-rw-r--r--packages/noncvs/windows/extra/Gem/dev/plugins/video.h442
-rw-r--r--packages/noncvs/windows/extra/Gem/diffuse-help.pd132
-rw-r--r--packages/noncvs/windows/extra/Gem/diffuseRGB-help.pd146
-rw-r--r--packages/noncvs/windows/extra/Gem/disk-help.pd144
-rw-r--r--packages/noncvs/windows/extra/Gem/emission-help.pd128
-rw-r--r--packages/noncvs/windows/extra/Gem/emissionRGB-help.pd136
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/01.basic/01.redSquare.pd126
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/01.basic/02.blueRectangle.pd130
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/01.basic/03.disk.pd118
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/01.basic/04.PrimTri.pd130
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/01.basic/05.cube.pd88
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/01.basic/06.sphere.pd110
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/01.basic/07.cylinder.pd124
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/01.basic/08.model.pd122
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/01.basic/09.yelloTeapot.pd130
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/02.advanced/00.gemwin-subpatch.pd122
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/02.advanced/01.Separator.pd286
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/02.advanced/02.Ortho.pd174
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/02.advanced/03.View.pd170
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/02.advanced/03.View_OSD.pd572
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/02.advanced/04.Fog.pd198
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/02.advanced/05.Stereo.pd194
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/02.advanced/06.StereoParticle.pd176
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/02.advanced/07.Snapshot1.pd174
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/02.advanced/08.Snapshot2.pd276
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/02.advanced/09.SnapshotSave.pd290
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/02.advanced/10.LinearPath.pd174
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/02.advanced/11.SplinePath.pd174
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/02.advanced/12.Hsv.pd210
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/02.advanced/13.ModelRescale.pd214
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/02.advanced/14.RenderOrder.pd298
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/02.advanced/15.GemWin.pd146
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/02.advanced/16.vertex_program.pd378
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/02.advanced/17.fragment_program.pd252
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/02.advanced/18.gl_shading_language.pd364
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/02.advanced/19.pointer.pd434
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/02.advanced/20.double-gemhead_vs_repeat.pd368
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/02.advanced/21.basic_LSystem.pd276
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/02.advanced/22.double-iterative.pd236
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/03.lighting/01.world_light.pd168
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/03.lighting/02.light.pd192
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/03.lighting/03.controlLights.pd194
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/03.lighting/04.moveSpheres.pd256
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/03.lighting/05.materials.pd172
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/04.pix/01.image.pd120
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/04.pix/02.multiimage.pd98
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/04.pix/04.ImageInPlace.pd128
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/04.pix/05.film.pd240
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/04.pix/05.movie.pd178
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/04.pix/06.PixRect.pd176
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/04.pix/07.PixSet.pd138
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/04.pix/08.PixDump.pd128
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/04.pix/09.Histogram.pd178
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/04.pix/10.PixDataSimple.pd180
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/04.pix/11.PixDataComplex.pd234
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/04.pix/12.add.pd104
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/04.pix/12.blending.pd346
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/04.pix/12.composite.pd108
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/04.pix/12.pix_multiply.pd110
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/04.pix/13.maskDancer.pd110
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/04.pix/14.takeAlpha.pd128
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/04.pix/15.pix_alpha.pd164
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/04.pix/16.alphaGrey.pd156
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/04.pix/16.pix_2grey.pd90
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/04.pix/17.pix_gain.pd144
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/04.pix/18.Curves.pd360
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/04.pix/19.colorMatrix.pd120
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/04.pix/20.convolve.pd212
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/04.pix/22.biquad.pd216
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/04.pix/23.gravity.pd216
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/04.pix/24.time-filtering.pd204
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/04.pix/25.buffer.pd274
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/04.pix/26.framebuffer_readback.pd176
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/04.video/00.SimpleVideo.pd174
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/04.video/01.VideoPaint.pd246
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/04.video/02.VideoSphere.pd198
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/04.video/03.movement_detection.pd174
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/04.video/04.videoRTX.pd202
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/04.video/05.buffer_rtx.pd218
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/04.video/06.frame_diff_tracking.pd368
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/04.video/07.bg_subtract_tracking.pd368
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/05.text/01.Text.pd240
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/05.text/01.TextNoLoadBang.pd224
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/05.text/03.ChangeText.pd204
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/05.text/03.ChangeTextNoLoadBang.pd184
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/06.particle/01.simple.pd138
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/06.particle/02.fountain.pd172
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/06.particle/03.orbit.pd176
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/06.particle/04.combo.pd208
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/06.particle/05.twoSrc.pd346
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/06.particle/06.target.pd148
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/06.particle/07.render.pd172
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/06.particle/08.info.pd234
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/06.particle/09.sink.pd200
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/07.texture/01.texture.pd120
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/07.texture/02.TexCoord.pd140
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/07.texture/04.moveImages.pd306
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/07.texture/05.newWave.pd402
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/07.texture/06.ripple.pd228
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/07.texture/07.feedback.pd184
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/07.texture/08.MotionBlur.pd260
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/07.texture/09.sharedTextures.pd158
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/07.texture/10.framebuffer.pd390
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/07.texture/11.multiples_gemhead_in_a_framebuffer.pd232
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/08.io/01.Mouse.pd168
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/08.io/02.Tablet.pd248
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/08.io/03.Orb.pd102
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/08.io/04.UseOrb.pd172
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/09.openGL/01.primQuad.pd214
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/09.openGL/02.displayList.pd370
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/09.openGL/03.stencilBuffer.pd502
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/09.openGL/04.clearZ.pd54
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/09.openGL/05.load_identity_matrix.pd148
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/10.glsl/01.simple_texture.pd288
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/10.glsl/02.primitive_distortion.pd284
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/10.glsl/03.texture_distortion.pd288
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/10.glsl/04.game_of_life.pd276
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/10.glsl/05.multitexture.pd402
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/10.glsl/06.rectangle_multitexture.pd398
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/10.glsl/07.framebuffer_and_shader.pd836
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/10.glsl/08.multi_pass_rendering.pd682
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/10.glsl/09.vertex_texture_fetching.pd284
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/10.glsl/10.GPGPU_Physical_model.pd2484
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/10.glsl/11.geometry.pd246
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/10.glsl/12.tri2fan.pd314
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/10.glsl/13.panoramique.pd1050
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/10.glsl/GLSL_mix.frag70
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/10.glsl/GLSL_mix.vert18
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/10.glsl/P_distord.frag38
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/10.glsl/P_distord.vert42
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/10.glsl/T_distord.frag62
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/10.glsl/T_distord.vert18
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/10.glsl/fetching.frag16
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/10.glsl/fetching.vert30
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/10.glsl/fetching2.frag112
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/10.glsl/fetching2.vert42
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/10.glsl/game.frag60
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/10.glsl/game.vert28
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/10.glsl/geo.frag16
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/10.glsl/geo.geom56
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/10.glsl/geo.vert14
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/10.glsl/interpol.frag26
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/10.glsl/link.frag328
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/10.glsl/link.vert20
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/10.glsl/mass.frag68
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/10.glsl/mass.vert20
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/10.glsl/multitexture.frag26
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/10.glsl/multitexture.vert22
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/10.glsl/multitexture_rect.frag30
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/10.glsl/multitexture_rect.vert22
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/10.glsl/normal.frag74
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/10.glsl/normal.vert20
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/10.glsl/panoramique.frag56
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/10.glsl/panoramique.vert10
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/10.glsl/texture.frag32
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/10.glsl/texture.vert16
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/10.glsl/texture_rect.frag32
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/10.glsl/tri2fan.frag12
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/10.glsl/tri2fan.geom102
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/10.glsl/tri2fan.vert12
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/10.glsl/vague.frag46
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/10.glsl/wave.frag80
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/11.obj-exporter/obj_cube.pd304
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/11.obj-exporter/obj_exporter-help.pd174
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/11.obj-exporter/obj_exporter.pd192
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/11.obj-exporter/obj_primTri.pd174
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/11.obj-exporter/obj_rectangle.pd246
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/11.obj-exporter/obj_square.pd216
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/01.flat_projection-help.pd42
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/02.nfp-help.pd92
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/config.txt140
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/flat_projection.pd904
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/load_save.pd80
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/nfp_22.frag36
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/nfp_22.vert52
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/nfp_33.frag36
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/nfp_33.vert74
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/nfp_curved_wall.pd826
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/nfp_flat_wall.pd626
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/save_system-help.pd40
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/saved.pd48
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/soft_edge.frag118
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/13.recursion/01.repetition_is_futile.pd122
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/13.recursion/02.iteration_is_insufficient.pd66
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/13.recursion/03.recursive_spiral.pd142
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/13.recursion/04.binary_tree.pd196
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/13.recursion/05.n-ary_tree.pd162
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/13.recursion/06.breaking_symmetry.pd768
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/13.recursion/README46
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/13.recursion/nnrepeat-help.pd56
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/13.recursion/nnrepeat-test.pd110
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/13.recursion/nnrepeat.pd54
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/13.recursion/nrepeat-help.pd50
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/13.recursion/nrepeat-test.pd92
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/13.recursion/nrepeat.pd98
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/13.recursion/stack-help.pd40
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/13.recursion/stack.pd76
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/13.recursion/xform-gui.pd240
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/99.games/puzzle.pd316
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/data/COPYING.txt178
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/data/random.fp222
-rw-r--r--packages/noncvs/windows/extra/Gem/examples/data/toon.vp72
-rw-r--r--packages/noncvs/windows/extra/Gem/fragment_program-help.pd172
-rw-r--r--packages/noncvs/windows/extra/Gem/gem.known_bugs.txt596
-rw-r--r--packages/noncvs/windows/extra/Gem/gem.release_notes.txt2036
-rw-r--r--packages/noncvs/windows/extra/Gem/gem.todo.txt130
-rw-r--r--packages/noncvs/windows/extra/Gem/gem_filmDS.dllbin18432 -> 18432 bytes
-rw-r--r--packages/noncvs/windows/extra/Gem/gem_filmQT.dllbin40960 -> 40960 bytes
-rw-r--r--packages/noncvs/windows/extra/Gem/gem_imageJPEG.dllbin151552 -> 151552 bytes
-rw-r--r--packages/noncvs/windows/extra/Gem/gem_imageQT.dllbin45056 -> 45056 bytes
-rw-r--r--packages/noncvs/windows/extra/Gem/gem_imageSGI.dllbin14336 -> 14336 bytes
-rw-r--r--packages/noncvs/windows/extra/Gem/gem_imageTIFF.dllbin110592 -> 110592 bytes
-rw-r--r--packages/noncvs/windows/extra/Gem/gem_recordQT.dllbin45056 -> 45056 bytes
-rw-r--r--packages/noncvs/windows/extra/Gem/gem_videoDS.dllbin73728 -> 73728 bytes
-rw-r--r--packages/noncvs/windows/extra/Gem/gemdefaultwindow.pd34
-rw-r--r--packages/noncvs/windows/extra/Gem/gemframebuffer-help.pd472
-rw-r--r--packages/noncvs/windows/extra/Gem/gemhead-help.pd208
-rw-r--r--packages/noncvs/windows/extra/Gem/gemhead.pd180
-rw-r--r--packages/noncvs/windows/extra/Gem/gemkeyboard-help.pd86
-rw-r--r--packages/noncvs/windows/extra/Gem/gemkeyname-help.pd96
-rw-r--r--packages/noncvs/windows/extra/Gem/gemlist-help.pd146
-rw-r--r--packages/noncvs/windows/extra/Gem/gemlist_info-help.pd594
-rw-r--r--packages/noncvs/windows/extra/Gem/gemlist_matrix-help.pd240
-rw-r--r--packages/noncvs/windows/extra/Gem/gemmouse-help.pd114
-rw-r--r--packages/noncvs/windows/extra/Gem/gemmouse.pd308
-rw-r--r--packages/noncvs/windows/extra/Gem/gemorb-help.pd64
-rw-r--r--packages/noncvs/windows/extra/Gem/gemorb.pd44
-rw-r--r--packages/noncvs/windows/extra/Gem/gemreceive-help.pd124
-rw-r--r--packages/noncvs/windows/extra/Gem/gemtablet-help.pd50
-rw-r--r--packages/noncvs/windows/extra/Gem/gemtablet.pd42
-rw-r--r--packages/noncvs/windows/extra/Gem/gemwin-help.pd1598
-rw-r--r--packages/noncvs/windows/extra/Gem/gemwin.pd5604
-rw-r--r--packages/noncvs/windows/extra/Gem/glsl_fragment-help.pd182
-rw-r--r--packages/noncvs/windows/extra/Gem/glsl_geometry-help.pd182
-rw-r--r--packages/noncvs/windows/extra/Gem/glsl_program-help.pd224
-rw-r--r--packages/noncvs/windows/extra/Gem/glsl_vertex-help.pd180
-rw-r--r--packages/noncvs/windows/extra/Gem/hsv2rgb-help.pd130
-rw-r--r--packages/noncvs/windows/extra/Gem/hsv2rgb.pd286
-rw-r--r--packages/noncvs/windows/extra/Gem/imageVert-help.pd176
-rw-r--r--packages/noncvs/windows/extra/Gem/light-help.pd196
-rw-r--r--packages/noncvs/windows/extra/Gem/linear_path-help.pd138
-rw-r--r--packages/noncvs/windows/extra/Gem/mesh_line-help.pd152
-rw-r--r--packages/noncvs/windows/extra/Gem/mesh_square-help.pd174
-rw-r--r--packages/noncvs/windows/extra/Gem/model-help.pd242
-rw-r--r--packages/noncvs/windows/extra/Gem/multimodel-help.pd138
-rw-r--r--packages/noncvs/windows/extra/Gem/newWave-help.pd316
-rw-r--r--packages/noncvs/windows/extra/Gem/ortho-help.pd162
-rw-r--r--packages/noncvs/windows/extra/Gem/part_color-help.pd110
-rw-r--r--packages/noncvs/windows/extra/Gem/part_damp-help.pd106
-rw-r--r--packages/noncvs/windows/extra/Gem/part_draw-help.pd108
-rw-r--r--packages/noncvs/windows/extra/Gem/part_follow-help.pd98
-rw-r--r--packages/noncvs/windows/extra/Gem/part_gravity-help.pd24
-rw-r--r--packages/noncvs/windows/extra/Gem/part_head-help.pd44
-rw-r--r--packages/noncvs/windows/extra/Gem/part_info-help.pd50
-rw-r--r--packages/noncvs/windows/extra/Gem/part_killold-help.pd26
-rw-r--r--packages/noncvs/windows/extra/Gem/part_killslow-help.pd20
-rw-r--r--packages/noncvs/windows/extra/Gem/part_orbitpoint-help.pd26
-rw-r--r--packages/noncvs/windows/extra/Gem/part_render-help.pd38
-rw-r--r--packages/noncvs/windows/extra/Gem/part_sink-help.pd58
-rw-r--r--packages/noncvs/windows/extra/Gem/part_size-help.pd32
-rw-r--r--packages/noncvs/windows/extra/Gem/part_source-help.pd56
-rw-r--r--packages/noncvs/windows/extra/Gem/part_targetcolor-help.pd26
-rw-r--r--packages/noncvs/windows/extra/Gem/part_targetsize-help.pd28
-rw-r--r--packages/noncvs/windows/extra/Gem/part_velcone-help.pd42
-rw-r--r--packages/noncvs/windows/extra/Gem/part_velocity-help.pd48
-rw-r--r--packages/noncvs/windows/extra/Gem/part_velsphere-help.pd42
-rw-r--r--packages/noncvs/windows/extra/Gem/part_vertex-help.pd30
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_2grey-help.pd154
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_a_2grey-help.pd180
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_add-help.pd194
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_aging-help.pd230
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_alpha-help.pd214
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_background-help.pd214
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_backlight-help.pd184
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_biquad-help.pd344
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_bitmask-help.pd184
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_blob-help.pd76
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_blobtracker-help.pd840
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_blobtracker.pd264
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_blur-help.pd32
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_buf-help.pd188
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_buffer-help.pd152
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_buffer_filmopen-help.pd172
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_buffer_filmopen.pd156
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_buffer_read-help.pd146
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_buffer_write-help.pd196
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_chroma_key-help.pd288
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_clearblock-help.pd22
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_color-help.pd166
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_coloralpha-help.pd178
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_colormatrix-help.pd316
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_colorreduce-help.pd172
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_compare-help.pd212
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_composite-help.pd196
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_contrast-help.pd166
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_convert-help.pd206
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_convolve-help.pd486
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_coordinate-help.pd196
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_crop-help.pd176
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_curve-help.pd312
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_data-help.pd178
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_deinterlace-help.pd186
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_delay-help.pd180
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_diff-help.pd192
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_dot-help.pd158
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_draw-help.pd176
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_dump-help.pd162
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_duotone-help.pd180
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_film-help.pd260
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_flip-help.pd170
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_freeframe-help.pd266
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_frei0r-help.pd262
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_gain-help.pd176
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_grey-help.pd180
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_halftone-help.pd196
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_histo-help.pd208
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_hsv2rgb-help.pd164
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_image-help.pd192
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_imageInPlace-help.pd166
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_indycam-help.pd42
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_info-help.pd194
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_invert-help.pd154
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_kaleidoscope-help.pd276
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_levels-help.pd250
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_lumaoffset-help.pd196
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_mask-help.pd204
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_mean_color-help.pd208
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_metaimage-help.pd202
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_mix-help.pd232
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_motionblur-help.pd190
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_movement-help.pd204
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_movement2-help.pd212
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_movie-help.pd306
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_multiblob-help.pd410
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_multiimage-help.pd144
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_multiply-help.pd194
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_normalize-help.pd170
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_offset-help.pd168
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_pix2sig~-help.pd206
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_posterize-help.pd176
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_puzzle-help.pd250
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_rds-help.pd182
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_record-help.pd336
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_rectangle-help.pd166
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_refraction-help.pd222
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_resize-help.pd162
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_rgb2hsv-help.pd166
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_rgba-help.pd176
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_roll-help.pd176
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_rtx-help.pd204
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_scanline-help.pd174
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_set-help.pd162
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_share_read-help.pd156
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_share_write-help.pd192
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_sig2pix~-help.pd198
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_snap-help.pd246
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_snap2tex-help.pd244
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_subtract-help.pd194
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_tIIR-help.pd314
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_takealpha-help.pd206
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_texture-help.pd312
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_threshold-help.pd162
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_threshold_bernsen-help.pd178
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_video-help.pd854
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_write-help.pd82
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_write.pd394
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_yuv-help.pd176
-rw-r--r--packages/noncvs/windows/extra/Gem/pix_zoom-help.pd26
-rw-r--r--packages/noncvs/windows/extra/Gem/plugins-disabled/gem_filmAVI.dll (renamed from packages/noncvs/windows/extra/Gem/gem_filmAVI.dll)bin13824 -> 13824 bytes
-rw-r--r--packages/noncvs/windows/extra/Gem/plugins-disabled/gem_imageMAGICK.dllbin0 -> 4595712 bytes
-rw-r--r--packages/noncvs/windows/extra/Gem/plugins-disabled/gem_videoHALCON.dll (renamed from packages/noncvs/windows/extra/Gem/gem_videoHALCON.dll)bin147456 -> 147456 bytes
-rw-r--r--packages/noncvs/windows/extra/Gem/plugins-disabled/gem_videoVFW.dll (renamed from packages/noncvs/windows/extra/Gem/gem_videoVFW.dll)bin17408 -> 17408 bytes
-rw-r--r--packages/noncvs/windows/extra/Gem/polygon-help.pd194
-rw-r--r--packages/noncvs/windows/extra/Gem/polygon_smooth-help.pd136
-rw-r--r--packages/noncvs/windows/extra/Gem/pqtorusknots-help.pd190
-rw-r--r--packages/noncvs/windows/extra/Gem/primTri-help.pd184
-rw-r--r--packages/noncvs/windows/extra/Gem/rectangle-help.pd140
-rw-r--r--packages/noncvs/windows/extra/Gem/render_trigger-help.pd150
-rw-r--r--packages/noncvs/windows/extra/Gem/rgb2hsv.pd602
-rw-r--r--packages/noncvs/windows/extra/Gem/rgb2yuv-help.pd72
-rw-r--r--packages/noncvs/windows/extra/Gem/rgb2yuv.pd210
-rw-r--r--packages/noncvs/windows/extra/Gem/ripple-help.pd174
-rw-r--r--packages/noncvs/windows/extra/Gem/rotate-help.pd130
-rw-r--r--packages/noncvs/windows/extra/Gem/rotateXYZ-help.pd140
-rw-r--r--packages/noncvs/windows/extra/Gem/rubber-help.pd186
-rw-r--r--packages/noncvs/windows/extra/Gem/scale-help.pd152
-rw-r--r--packages/noncvs/windows/extra/Gem/scaleXYZ-help.pd138
-rw-r--r--packages/noncvs/windows/extra/Gem/scopeXYZ~-help.pd250
-rw-r--r--packages/noncvs/windows/extra/Gem/separator-help.pd262
-rw-r--r--packages/noncvs/windows/extra/Gem/shearYZ-help.pd122
-rw-r--r--packages/noncvs/windows/extra/Gem/shearZX-help.pd118
-rw-r--r--packages/noncvs/windows/extra/Gem/shininess-help.pd136
-rw-r--r--packages/noncvs/windows/extra/Gem/slideSquares-help.pd128
-rw-r--r--packages/noncvs/windows/extra/Gem/specular-help.pd132
-rw-r--r--packages/noncvs/windows/extra/Gem/specularRGB-help.pd146
-rw-r--r--packages/noncvs/windows/extra/Gem/sphere-help.pd140
-rw-r--r--packages/noncvs/windows/extra/Gem/sphere3d-help.pd192
-rw-r--r--packages/noncvs/windows/extra/Gem/spline_path-help.pd138
-rw-r--r--packages/noncvs/windows/extra/Gem/spot_light-help.pd332
-rw-r--r--packages/noncvs/windows/extra/Gem/square-help.pd128
-rw-r--r--packages/noncvs/windows/extra/Gem/surface3d-help.pd3306
-rw-r--r--packages/noncvs/windows/extra/Gem/teapot-help.pd138
-rw-r--r--packages/noncvs/windows/extra/Gem/text2d-help.pd204
-rw-r--r--packages/noncvs/windows/extra/Gem/text3d-help.pd200
-rw-r--r--packages/noncvs/windows/extra/Gem/textextruded-help.pd210
-rw-r--r--packages/noncvs/windows/extra/Gem/textoutline-help.pd192
-rw-r--r--packages/noncvs/windows/extra/Gem/torus-help.pd146
-rw-r--r--packages/noncvs/windows/extra/Gem/translate-help.pd128
-rw-r--r--packages/noncvs/windows/extra/Gem/translateXYZ-help.pd128
-rw-r--r--packages/noncvs/windows/extra/Gem/triangle-help.pd130
-rw-r--r--packages/noncvs/windows/extra/Gem/tube-help.pd222
-rw-r--r--packages/noncvs/windows/extra/Gem/uninst.exebin52447 -> 52447 bytes
-rw-r--r--packages/noncvs/windows/extra/Gem/vertex_program-help.pd356
-rw-r--r--packages/noncvs/windows/extra/Gem/world_light-help.pd184
-rw-r--r--packages/noncvs/windows/extra/Gem/yuv2rgb-help.pd70
-rw-r--r--packages/noncvs/windows/extra/Gem/yuv2rgb.pd168
-rw-r--r--packages/noncvs/windows/extra/README.txt22
-rw-r--r--packages/noncvs/windows/extra/pix_artoolkit/README.txt34
-rw-r--r--packages/noncvs/windows/extra/pix_artoolkit/patt.hiro392
-rw-r--r--packages/noncvs/windows/extra/pix_artoolkit/pix_artoolkit-help.pd444
-rw-r--r--packages/noncvs/windows/extra/pix_artoolkit/pix_artoolkit.dllbin69632 -> 69632 bytes
-rw-r--r--packages/noncvs/windows/extra/pix_drum/LICENSE.txt4
-rw-r--r--packages/noncvs/windows/extra/pix_drum/pix_drum-help.pd476
-rw-r--r--packages/noncvs/windows/extra/pix_drum/pix_drum.dllbin17408 -> 17408 bytes
-rw-r--r--packages/noncvs/windows/extra/pix_fiducialtrack/all.trees180
-rw-r--r--packages/noncvs/windows/extra/pix_fiducialtrack/pix_fiducialtrack-help.pd200
-rw-r--r--packages/noncvs/windows/extra/pix_fiducialtrack/pix_fiducialtrack.dllbin41472 -> 41472 bytes
-rw-r--r--packages/noncvs/windows/extra/pix_mano/LICENSE.txt4
-rw-r--r--packages/noncvs/windows/extra/pix_mano/pix_mano-help.pd850
-rw-r--r--packages/noncvs/windows/extra/pix_mano/pix_mano.dllbin25600 -> 25600 bytes
528 files changed, 91531 insertions, 91613 deletions
diff --git a/packages/noncvs/windows/extra/Gem/COPYING.txt b/packages/noncvs/windows/extra/Gem/COPYING.txt
index 546f687f..e54306d9 100644
--- a/packages/noncvs/windows/extra/Gem/COPYING.txt
+++ b/packages/noncvs/windows/extra/Gem/COPYING.txt
@@ -1,7 +1,9 @@
GEM - Graphics Environment for Multimedia
-Copyright (C) 1997-2000 Mark Danks, Günter Geiger,
-2001-2008 IOhannes m zmölnig, 2003-2007 James Tittle II,
-2003-2008 Chris Clepper et al.
+Copyright © 1997-2000 Mark Danks
+Copyright © Günter Geiger
+Copyright © 2001-2011 IOhannes m zmölnig,
+Copyright © 2003-2007 James Tittle II,
+Copyright © 2003-2008 Chris Clepper
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@@ -13,9 +15,8 @@ but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+You should have received a copy of the GNU General Public License along
+with this program. If not, see <http://www.gnu.org/licenses/>.
In the official GEM distribution, the GNU General Public License is
in the file GnuGPL.LICENSE
@@ -29,10 +30,9 @@ Not all of the source code provided here has entirely been written by me.
I would like to point at the great openGL-tutorials at http://nehe.gamedev.net
Since these are tutorials, there is no copyright notice here.
Some of the pix_fx code is borrowed from effecTV by Kentarou Fukuchi et al.
-at http://effectv.sourceforge.net released under the Gnu GPL.
-Future releases might also incorporate the FreeJ-tool by Jaromil
-at http://freej.dyne.org/ released under the Gnu GPL.
-
+at http://effectv.sourceforge.net released under the Gnu GPL, some other pix_fx
+code has been ported from Pete Warden's fine collection of FreeFrame plugins at
+http://petewarden.com released under the Gnu GPL.
---------------------------------------------------------
@@ -40,130 +40,9 @@ at http://freej.dyne.org/ released under the Gnu GPL.
---------------------------------------------------------
-
-This file contains all of the licenses from the various libraries which
-are included in GEM. If there is no license associated with a
-library, then the author has not included one or not required that the
-full license be included.
-
-All of the files and documentation for the various libraries in the
-"Gemlibs" portion of GEM are copyrighted by their respective authors
-and not by Mark Danks/Guenter Geiger/IOhannes m zmoelnig. All copyright notices are included in the
-respective library directories, GemLibs/*, and this file.
-The "GemLibs" portion of GEM consists of
-
-libTiff:
- Author: Sam Leffner
- sam[AT]engr.sgi.com
- ftp://ftp.sgi.com/graphics/tiff/
- Copyright (c) 1988-1996 Sam Leffler
- Copyright (c) 1991-1996 Silicon Graphics, Inc.
- see license below
-
-fstimage:
- Masayuki Matsumoto
- sgi image loader.
- matumot[AT]dst.nk-exa.co.jp
- Copyright (C) 1995 Masayuki Mastumoto
- Modified so that it doesn't exit on error.
- Added support for reading grayscale, rgb, and rgba images
- Mark Danks - 1998
-
-libjpeg:
- Author: Independent JPEG Group
- jpeg-info[AT]uunet.uu.net
- ftp://ftp.simtel.net/pub/simtelnet/msdos/graphics/
- Copyright (C) 1991-1996, Thomas G. Lane.
-
-Glut:
- Author: Mark Kilgard
- http://reality.sgi.com/mjk_asd/
- Copyright 1996 by Evans & Sutherland Computer Corporation.
-
-GLTT:
- Author: Stephane Rehel
- rehel[AT]worldnet.fr
- http://home.worldnet.fr/~rehel/gltt/gltt.html
- Copyright (C) 1991 Stephane Rehel
- This is covered under the GNU Library General Public License,
- Version 2 or greater.
-
-Freetype:
- Authors: David Turner, Robert Wilhelm, and Werner Lemberg
- turner[AT]enst.fr
- robert[AT]physiol.med.tu-muenchen.de
- a7971428[AT]unet.univie.ac.at
- http://www.physiol.med.tu-muenchen.de/~robert/freetype.html
- Copyright 1996,1997 by David Turner, Robert Wilhelm, and Werner Lemberg
-
-libmpeg:
- Authors: MPEG Software Simulation Group
- mssg[AT]mpeg.org
- http://www.mpeg.org/MSSG/
- Copyright (c) 1996 MPEG Software Simulation Group
-
-Wintab:
- Author: Rick Poyner, LCS/Telegraphics
- wintab[AT]pointing.com
- Copyright 1991-1995 by LCS/Telegraphics.
- see license below
-
-libOrb:
- Author: John Stone
- j.stone[AT]acm.org
- http://www.umr.edu/~johns/projects/liborb/
- Copyright (c) 1997-1998 John E. Stone
- see license below
-
particle:
Author: David McAllister
davemc[AT]cs.unc.edu
http://www.cs.unc.edu/~davemc/Particle/
Copyright (c) 1998 David K. McAllister
-libfidtrack:
- Author: Ross Bencina
- rossb[AT]audiomulch.com
- http://www.iua.upf.es/mtg/reacTable/
- Copyright (c) 2005 Ross Bencina
- This is covered under the GNU Library General Public License,
- Version 2 or greater.
-
-reacTIVision:
- Author: Martin Kaltenbrunner
- mkalten[AT]iua.upf.es
- http://www.iua.upf.es/mtg/reacTable/
- Copyright (c) 2005 Martin Kaltenbrunner
- This is covered under the GNU General Public License,
- Version 2 or greater.
-
-----------------------------------------------------------------------------
-libTiff:
- Author: Sam Leffner
- sam[AT]engr.sgi.com
- ftp://ftp.sgi.com/graphics/tiff/
- Copyright (c) 1988-1996 Sam Leffler
- Copyright (c) 1991-1996 Silicon Graphics, Inc.
-
-Copyright (c) 1988-1996 Sam Leffler
-Copyright (c) 1991-1996 Silicon Graphics, Inc.
-
-Permission to use, copy, modify, distribute, and sell this software and
-its documentation for any purpose is hereby granted without fee, provided
-that (i) the above copyright notices and this permission notice appear in
-all copies of the software and related documentation, and (ii) the names of
-Sam Leffler and Silicon Graphics may not be used in any advertising or
-publicity relating to the software without the specific, prior written
-permission of Sam Leffler and Silicon Graphics.
-
-THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
-EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
-WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
-
-IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
-ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
-OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
-WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
-LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
-OF THIS SOFTWARE.
-
diff --git a/packages/noncvs/windows/extra/Gem/ChangeLog b/packages/noncvs/windows/extra/Gem/ChangeLog
index efb8c2f1..1af952b9 100644
--- a/packages/noncvs/windows/extra/Gem/ChangeLog
+++ b/packages/noncvs/windows/extra/Gem/ChangeLog
@@ -1,19057 +1,19057 @@
-2011-08-26 14:17 zmoelnig
-
- * .: 0.93 release
-
-2011-08-26 14:07 zmoelnig
-
- * don't link core Gem against QuickTime4W32
-
-2011-08-26 13:40 zmoelnig
-
- * no more warning on imageQT vs imageMAGICK
-
-2011-08-26 09:54 zmoelnig
-
- * use "SVN" rather than "CVS"
-
-2011-08-26 09:54 zmoelnig
-
- * disable installer by default
-
-2011-08-26 09:47 zmoelnig
-
- * catch ALL for exceptions
-
-2011-08-26 09:47 zmoelnig
-
- * only show used id's as available
-
-2011-08-26 09:45 zmoelnig
-
- * try to not break the incoming "const" filename
-
-2011-08-26 08:43 zmoelnig
-
- * fixed compilation on msvc
-
-2011-08-25 16:04 zmoelnig
-
- * initialize QuickTime in the plugins
-
-2011-08-25 16:04 zmoelnig
-
- * removed uncommented lines of code
-
-2011-08-25 15:21 zmoelnig
-
- * quicktime is initialized in the plugins; no need to do it here
-
-2011-08-25 14:59 zmoelnig
-
- * don't install *Base.h headers
-
-2011-08-25 14:47 zmoelnig
-
- * no more src/plugins/image.h
-
-2011-08-22 10:29 zmoelnig
-
- * clean up of GemSettings
-
- no more PIMPL since we don't expose the class itself
-
-2011-08-22 10:28 zmoelnig
-
- * removed output of STRIP from configure
-
-2011-08-19 08:19 zmoelnig
-
- * pixBlock is really a "struct" and not a "class"
-
- this fixes some weirdo bugs on w32
-
-2011-08-19 08:16 zmoelnig
-
- * ()->(void)
-
-2011-08-16 20:42 zmoelnig
-
- * use CLAMP_TO_EDGE if available
-
-2011-08-16 16:28 zmoelnig
-
- * fixed typos
-
-2011-08-16 16:11 zmoelnig
-
- * added on/off messages to light-help
-
-2011-08-16 16:06 zmoelnig
-
- * fixed typo
-
-2011-08-16 15:43 zmoelnig
-
- * made testure.{quality,repeat} settable via gem.conf
-
-2011-08-16 12:37 zmoelnig
-
- * normalized behaviour of [pix_movement] in all colorspaces
-
-2011-08-16 10:17 zmoelnig
-
- * include Gem/Properties if we want to use them
-
-2011-08-16 07:41 zmoelnig
-
- * removed configureflags hacks; added LIBTOOL_W32_DLL
-
-2011-08-16 07:40 zmoelnig
-
- * removed /debian directory
-
- it's maintained somewhere else
-
-2011-08-15 14:12 zmoelnig
-
- * updated M$VC build project
-
-2011-08-15 14:10 zmoelnig
-
- * made it compile on w32 again
-
-2011-08-15 13:59 zmoelnig
-
- * fixed w32 build
-
-2011-08-15 13:06 zmoelnig
-
- * implement isThreadable
-
-2011-08-15 13:06 zmoelnig
-
- * implement gem::plugins::imagesaver::getInstance()
-
-2011-08-15 13:05 zmoelnig
-
- * moved meta imageloader class implementation to imageloader.cpp
-
- imageloader::getInstance() now returns a valid instance that
- wraps all classes
-
-2011-08-15 13:05 zmoelnig
-
- * removed INIT_fooFACTORY() macro
-
- it's only used once, so we can simply use it directly
-
-2011-08-15 13:04 zmoelnig
-
- * removed unneeded imageStruct
-
-2011-08-15 13:03 zmoelnig
-
- * normalized copyright headers
-
- fixed dates (....-2011) and made everything UTF-8
-
-2011-08-15 12:36 zmoelnig
-
- * fixed dates in copyrights
-
-2011-08-15 12:33 zmoelnig
-
- * when including a plugin-file, the includer has to make sure that
- the needed headers are available
-
-2011-08-15 12:33 zmoelnig
-
- * adjust to new API of film-plugins
-
-2011-08-15 12:32 zmoelnig
-
- * try to not use gensym() for factory
-
- and thus remove inclusion of RTE.h
-
-2011-08-15 12:32 zmoelnig
-
- * no need to include stdlib.h
-
-2011-08-15 12:31 zmoelnig
-
- * adjusted to new simplified API (and manually include RTE)
-
-2011-08-15 12:30 zmoelnig
-
- * adjust to new simplified API
-
-2011-08-15 12:29 zmoelnig
-
- * simplified API by using properties
-
-2011-08-15 12:29 zmoelnig
-
- * no more macro for PluginFactory<film> creation
-
-2011-08-14 13:12 zmoelnig
-
- * more gracefully fail when removing symlinks
-
-2011-08-12 13:48 zmoelnig
-
- * replaced () by (void)
-
-2011-08-12 13:47 zmoelnig
-
- * implement atomlist->Symbol
-
-2011-08-12 13:10 zmoelnig
-
- * inclusion magic for TemplateImplementation
-
-2011-08-12 12:58 zmoelnig
-
- * normalized INCLUDE protection defines
-
-2011-08-12 12:55 zmoelnig
-
- * normalized define for inclusion protection
-
-2011-08-11 08:30 zmoelnig
-
- * added argument support for [pix_video]: use as device name
-
-2011-08-11 08:30 zmoelnig
-
- * made gem::RTE::Symbol work (at least on linux)
-
-2011-08-11 08:30 zmoelnig
-
- * added Symbol wrapper
-
-2011-08-11 08:29 zmoelnig
-
- * added runningState UNKNOWN
-
- so the device won't start automatically whenever you send a
- device message
- (even if rendering has not been turned on)
-
-2011-08-10 07:19 zmoelnig
-
- * fix 'enumProps' message
-
-2011-08-08 15:27 zmoelnig
-
- * fixed video::releaseFrame() -> videoBase::releaseFrame()
-
-2011-08-08 14:33 zmoelnig
-
- * added videoTEST to build system (but don't build it by default)
-
-2011-08-08 14:33 zmoelnig
-
- * videoTEST plugin for test images
-
-2011-08-08 14:32 zmoelnig
-
- * add virtual dtors; reorder methods
-
-2011-08-08 14:32 zmoelnig
-
- * adjust to imageloader/imagesaver split into
- interface/implementation
-
-2011-08-08 14:29 zmoelnig
-
- * split imageloader/imagesaver into interface/baseclass
-
-2011-08-08 14:28 zmoelnig
-
- * adapted to "film" -> "film"|"filmBase" split
-
-2011-08-08 14:27 zmoelnig
-
- * use gem::film::ERRCODE rather than FILM_ERR_ERRCODE
-
-2011-08-08 14:26 zmoelnig
-
- * split pluginclass "film" into "film" (interface) and "filmBase"
- (impl)
-
-2011-08-08 14:26 zmoelnig
-
- * include "Gem/RTE.h" as REGISTER_*FACTORY currently depend on
- "gensym()"
-
-2011-08-08 14:25 zmoelnig
-
- * adapt to video -> video|videoBase split
-
-2011-08-08 14:24 zmoelnig
-
- * split 'video' pluginclass into 'video' interface and 'videoBase'
- implementation
-
-2011-08-08 14:23 zmoelnig
-
- * use (void) rather than ()
-
-2011-08-08 14:23 zmoelnig
-
- * adapted to record -> record/recordBase split
-
-2011-08-08 14:22 zmoelnig
-
- * 'plugins/record.h' no longer provides std::map and PluginFactory
-
-2011-08-08 14:21 zmoelnig
-
- * split 'record' class into interface and baseclass
-
-2011-08-08 14:21 zmoelnig
-
- * removed unneeded scritps
-
-2011-08-08 14:20 zmoelnig
-
- * removed #if clause for testing
-
-2011-08-05 17:36 zmoelnig
-
- * more comments in installer
-
-2011-08-05 17:17 zmoelnig
-
- * make imageQT only optional
-
-2011-08-05 16:06 zmoelnig
-
- * prefix PATH when loadingplugins, as on w32 it disappears...
-
-2011-08-05 15:15 zmoelnig
-
- * updated project
-
-2011-08-05 15:07 zmoelnig
-
- * remove Gem/dev
-
-2011-08-05 14:56 zmoelnig
-
- * made it compile on M$VC
-
-2011-08-05 14:51 zmoelnig
-
- * made the ReleaseDummy compile on MSVC
-
-2011-08-05 14:51 zmoelnig
-
- * removed PYLON from installer (it's currently not built on w32)
-
-2011-08-05 14:44 zmoelnig
-
- * removed AVTec plugin (it's currently not build on w32)
-
-2011-08-05 14:38 zmoelnig
-
- * fix path to extra/ builds
-
-2011-08-05 14:37 zmoelnig
-
- * made it work correctly on w32
-
-2011-08-05 14:05 zmoelnig
-
- * fixes for M$VC
-
-2011-08-05 14:01 zmoelnig
-
- * made it compile on w32
-
-2011-08-05 13:52 zmoelnig
-
- * reduce compiler warnings
-
-2011-08-05 13:44 zmoelnig
-
- * removed last dynamically assigned arrays (now it compiles on
- msvc)
-
-2011-08-05 12:38 zmoelnig
-
- * use SHCTX rather than HCKU, so later we can install to HKLM
-
-2011-08-05 12:37 zmoelnig
-
- * added Dev section
-
-2011-08-04 11:03 zmoelnig
-
- * adjust install layout to match that of automake
-
-2011-08-04 11:03 zmoelnig
-
- * renamed tri2fan.geo to tri2fan.geom
-
-2011-08-04 11:03 zmoelnig
-
- * uninstall now uninstalls everything
-
-2011-08-04 11:02 zmoelnig
-
- * renamed geometry shader to .geom
-
-2011-08-04 11:02 zmoelnig
-
- * update w32-installer adding extra/
-
-2011-08-02 07:42 zmoelnig
-
- * always succeed when creating convenience links
-
-2011-07-30 15:31 zmoelnig
-
- * include GLEW flags
-
-2011-07-30 15:31 zmoelnig
-
- * more m4 escaping
-
-2011-07-30 15:30 zmoelnig
-
- * documentation of GEM_CHECK_LIB
-
-2011-07-27 12:28 zmoelnig
-
- * made it compile on OSX again
-
-2011-07-27 12:06 zmoelnig
-
- * code cleanup; implement copy constructors; initialize members,...
-
-2011-07-27 12:05 zmoelnig
-
- * code cleanup; implement copy constructors; initialize members,...
-
-2011-07-27 12:04 zmoelnig
-
- * code cleanup; implement copy constructors; initialize members,...
-
-2011-07-27 11:58 zmoelnig
-
- * code cleanup; implement copy constructors; initialize members,...
-
-2011-07-27 11:54 zmoelnig
-
- * fixing MinGW troubles with max()
-
-2011-07-27 11:34 zmoelnig
-
- * 'string' type is really only 'char'
-
-2011-07-27 11:25 zmoelnig
-
- * updated to newer frei0r specs
-
-2011-07-26 19:01 zmoelnig
-
- * made it compile on mingw
-
-2011-07-26 18:50 zmoelnig
-
- * shuffled includes
-
-2011-07-26 18:29 zmoelnig
-
- * remove videoAVT dupe
-
-2011-07-26 18:28 zmoelnig
-
- * some initialization
-
-2011-07-26 17:28 zmoelnig
-
- * properly initialize variables
-
-2011-07-26 16:35 zmoelnig
-
- * NULL pointer check
-
-2011-07-26 15:58 zmoelnig
-
- * numeric device selection
-
-2011-07-26 15:37 zmoelnig
-
- * less error decoration
-
-2011-07-26 15:33 zmoelnig
-
- * minor fixes (out-of-range error)
-
-2011-07-26 15:03 zmoelnig
-
- * made it compile again
-
-2011-07-26 14:51 zmoelnig
-
- * added more plugins
-
-2011-07-26 14:09 zmoelnig
-
- * renamed MSVC-projects gem->Gem
-
-2011-07-26 13:42 zmoelnig
-
- * install deprecated headers
-
-2011-07-26 13:25 zmoelnig
-
- * more Dylib stuff
-
- maybe at somepoint i'll have it fixed
-
-2011-07-26 08:33 zmoelnig
-
- * pkg-config support
-
-2011-07-26 07:47 zmoelnig
-
- * more Dylib fixes
-
-2011-07-26 07:47 zmoelnig
-
- * some more mimetypes for apple specific image formats
-
-2011-07-25 15:29 zmoelnig
-
- * proper initialization
-
-2011-07-25 15:28 zmoelnig
-
- * made it compile on OSX again
-
-2011-07-25 15:20 zmoelnig
-
- * code cleanup - preparing for w32 comaptibility
-
-2011-07-25 13:38 zmoelnig
-
- * moved stack-allocated arrays onto heap
-
- this should allow pix_mano to compile on MSVC
- and it should reduce the number of allocations drastically
- (speed)
-
-2011-07-25 11:31 zmoelnig
-
- * no more inclusion of m_pd.h in GemWinCreate.h
-
-2011-07-25 11:28 zmoelnig
-
- * use linux||GLX rather than unix for GLX specific code
-
-2011-07-25 11:14 zmoelnig
-
- * made runproc() compile on w32
-
-
- CHECK on other platforms
-
-2011-07-25 11:13 zmoelnig
-
- * allow glx on non-linux
-
-2011-07-25 11:10 zmoelnig
-
- * GemGlewXContext=void fallback for all but w32 and linux/glx
-
-2011-07-25 10:53 zmoelnig
-
- * replaced AX_LANG_COMPILER_MS by AX_COMPILER_VENDOR
-
- and provide the latter
-
-2011-07-24 13:31 zmoelnig
-
- * simplified Dylib's function_t typename
-
-2011-07-23 13:52 zmoelnig
-
- * added M$VC stub for imageSGI
-
-2011-07-23 13:51 zmoelnig
-
- * added M$VC project files to DIST
-
-2011-07-23 13:48 zmoelnig
-
- * dylib fixes
-
- mingw complains about not being able to cast (void*) to a
- function pointer
- .
- also we might want to support both DL_OPEN and w32's LoadLibrary
- mechanisms
- at the same time...there is really no reason not to
-
-2011-07-22 14:46 zmoelnig
-
- * include imageMAGICK
-
-2011-07-22 14:45 zmoelnig
-
- * using stdlibraries, imageMAGICK now works!
-
-2011-07-22 14:40 zmoelnig
-
- * almost working project
-
- hmm, unresolved symbols "__timezone" and "__daylight", wtf...
-
-2011-07-22 13:55 zmoelnig
-
- * imageMAGICK M$VC stub
-
-2011-07-22 13:02 zmoelnig
-
- * renamed 'gem' to 'Gem'
-
-2011-07-22 12:53 zmoelnig
-
- * got rid of one ifdef clause
-
-2011-07-22 12:52 zmoelnig
-
- * added image-plugins to master project
-
-2011-07-22 12:51 zmoelnig
-
- * imageTIFF vc project
-
-2011-07-22 12:48 zmoelnig
-
- * ignore default libraries
-
-2011-07-22 12:46 zmoelnig
-
- * fixed linebreak
-
-2011-07-22 12:41 zmoelnig
-
- * stub projects for MSVC
-
-2011-07-22 12:29 zmoelnig
-
- * code cleanup
-
-2011-07-22 11:57 zmoelnig
-
- * removed unneccessary code
-
-2011-07-22 11:56 zmoelnig
-
- * removed unneccessary code
-
-2011-07-22 11:56 zmoelnig
-
- * added libfidtrack files
-
-2011-07-22 11:49 zmoelnig
-
- * M$VC stubs for pix_fiducialtrack
-
-2011-07-22 11:48 zmoelnig
-
- * M$VC projects for pix_mano
-
-2011-07-22 11:46 zmoelnig
-
- * export class
-
-2011-07-22 11:45 zmoelnig
-
- * made it compile on w32
-
-2011-07-22 11:33 zmoelnig
-
- * pix_drum M$VC project
-
-2011-07-22 11:24 zmoelnig
-
- * no more "debug" targets for the plugins
-
-2011-07-22 11:23 zmoelnig
-
- * made plugins compile on w32
-
-2011-07-22 10:51 zmoelnig
-
- * reset include/library paths
-
- in a semi-automated way...
-
-2011-07-22 10:07 zmoelnig
-
- * removed Debug configuration from M$VC projects
-
-2011-07-22 09:53 zmoelnig
-
- * simplified and fixed some more M$VC warnings
-
-2011-07-22 09:02 zmoelnig
-
- * fix or suppress warnings in M$VC
-
-2011-07-22 09:01 zmoelnig
-
- * typo where a function would not return a value in all cases
-
-2011-07-22 09:00 zmoelnig
-
- * suppress warnings on M$VC when including m_pd.h
-
-2011-07-22 08:58 zmoelnig
-
- * added warning about auto_ptr<PIMPL>
-
-2011-07-22 08:47 zmoelnig
-
- * use "unsigned int" when comparing to "unsigned int"
-
-2011-07-22 08:46 zmoelnig
-
- * disable more warnings on M$VC
-
- M$VC complains if a class specifies which exceptions can be
- expected to be thrown;
- this means that it tells you that the compiler is not standards
- compliant whenever you are writing standard compliant code,
- basically telling you it's all your fault
-
-2011-07-22 08:43 zmoelnig
-
- * turn off warnings in M$VC
-
- we are deriving an exported class from a non-exportet class,
- which gives a warning!
- according to M$DN, this warning can be ignored if the
- parent-class is from the STL (but why do they warn then...)
-
-2011-07-22 08:28 zmoelnig
-
- * made it compile on M$VC after all the restructuring of code
-
-2011-07-22 07:58 zmoelnig
-
- * moved plugins/ and extra/ out of src/
-
-2011-07-21 16:11 zmoelnig
-
- * b/w results for YUV images
-
-2011-07-21 15:42 zmoelnig
-
- * NULL-pointer protection
-
-2011-07-21 15:41 zmoelnig
-
- * re-indentation
-
-2011-07-21 15:40 zmoelnig
-
- * info outlet of [pix_image]
-
-2011-07-21 14:49 zmoelnig
-
- * wrapper around Pd's t_outlet
-
-2011-07-21 10:33 zmoelnig
-
- * added more getprops
-
-2011-07-21 10:27 zmoelnig
-
- * trying to simply PropGet
-
-2011-07-21 10:18 zmoelnig
-
- * disabled complicated properties
-
-2011-07-21 10:13 zmoelnig
-
- * added lots of properties (this time with maxval)
-
-2011-07-21 10:12 zmoelnig
-
- * added lots of properties
-
-2011-07-21 09:58 zmoelnig
-
- * fixed unsigned short -> double conversion
-
-2011-07-21 09:51 zmoelnig
-
- * fixed double->unsigned short overflow
-
-2011-07-21 09:48 zmoelnig
-
- * fixed stringification in macro
-
- cpp on OSX yields weird results
-
-2011-07-21 09:31 zmoelnig
-
- * fixed typos
-
-2011-07-21 09:23 zmoelnig
-
- * simplified setProperty code
-
-2011-07-21 08:55 zmoelnig
-
- * close SeqGrabber when open failed
-
-2011-07-21 08:15 zmoelnig
-
- * (void) rather than ()
-
-2011-07-21 08:14 zmoelnig
-
- * updated pix_video help-patch
-
-2011-07-20 20:41 zmoelnig
-
- * removed deleted methods
-
-2011-07-20 20:24 zmoelnig
-
- * helper method: applyProperties()
-
-2011-07-20 20:07 zmoelnig
-
- * made it compile on OSX
-
-2011-07-20 20:01 zmoelnig
-
- * more cleanup of videoDarwin
-
-2011-07-20 15:43 zmoelnig
-
- * simplified some properties
-
-2011-07-20 13:29 zmoelnig
-
- * made it compile (and somewhat work)
-
-2011-07-20 12:50 zmoelnig
-
- * rudimentary property and device selection support
-
-2011-07-20 12:10 zmoelnig
-
- * implemented (dummy) dialogs() method
-
-2011-07-20 12:08 zmoelnig
-
- * implemented dialogs() method
-
-2011-07-20 11:39 zmoelnig
-
- * removed videoGrabber sources
-
-2011-07-20 11:37 zmoelnig
-
- * ignore version_current.h when checking for unused sources
-
-2011-07-20 11:36 zmoelnig
-
- * remove OS-specific objects from build
-
-2011-07-20 11:36 zmoelnig
-
- * added CHECKUNUSED_IGNORE variable
-
- in order to not check certain files
-
-2011-07-20 11:24 zmoelnig
-
- * removed DirectShow grabber code
-
-2011-07-20 10:57 zmoelnig
-
- * fixed manual autoreconf
-
-2011-07-20 10:05 zmoelnig
-
- * moved record implementations into gem::plugins namespace
-
-2011-07-20 10:05 zmoelnig
-
- * moved record into gem::plugins namespace
-
-2011-07-20 10:02 zmoelnig
-
- * visibility fixes
-
-2011-07-20 10:01 zmoelnig
-
- * fixed typo
-
-2011-07-20 09:59 zmoelnig
-
- * video has moved into gem::plugins namespace
-
-2011-07-20 09:41 zmoelnig
-
- * moved video implementation classes into gem::plugins namespace
-
-2011-07-20 09:40 zmoelnig
-
- * moved video base class into gem::plugins namespace
-
-2011-07-20 09:33 zmoelnig
-
- * moved video base class into gem::plugins namespace
-
-2011-07-20 09:31 zmoelnig
-
- * made crucial functions pure-virtual and avoid calling virtual
- functions in dtor
-
-2011-07-20 09:30 zmoelnig
-
- * close() in dtor
-
-2011-07-20 09:12 zmoelnig
-
- * reordered API to get most important things to the beginning
-
-2011-07-20 09:11 zmoelnig
-
- * cleanup of plugins::video api
-
-2011-07-20 07:55 zmoelnig
-
- * let Gem handle the selection of Altivec enabled process()
-
-2011-07-20 07:35 zmoelnig
-
- * removed TexFont.h
-
- it's not used anywhere these days
-
-2011-07-20 07:32 zmoelnig
-
- * pix_fiducialtrack documentation is now in extra/
-
-2011-07-19 20:21 zmoelnig
-
- * fixed path to all.trees file
-
-2011-07-19 20:17 zmoelnig
-
- * moved pix_fiducialtrack into extra/
-
-2011-07-19 20:15 zmoelnig
-
- * make snippet for convenience-links in extra/
-
-2011-07-19 19:56 zmoelnig
-
- * fixed convenience links (fixes distcheck failures)
-
-2011-07-19 15:40 zmoelnig
-
- * properly adding pix_artoolkit
-
-2011-07-19 15:29 zmoelnig
-
- * gracefully fail when removing convenience link
-
-2011-07-19 14:25 zmoelnig
-
- * removed link to Gem.dll
-
-2011-07-19 14:15 zmoelnig
-
- * added README-EXTRA to the DIST files
-
-2011-07-19 14:12 zmoelnig
-
- * use README-EXTRA.txt to find the SRCDIR
-
-2011-07-19 14:11 zmoelnig
-
- * a README for extra
-
-2011-07-19 13:16 zmoelnig
-
- * renamed Math.h to GemMath.h
-
-2011-07-19 13:12 zmoelnig
-
- * renamed Math to GemMath in order to prevent problems on
- case-insensitive filesystems
-
-2011-07-19 12:52 zmoelnig
-
- * added pix_artoolkit
-
-2011-07-19 12:43 zmoelnig
-
- * resolved circular dependency
-
- OSX is less tolerant when it comes to LIBTOOL and CXX
-
-2011-07-19 12:37 zmoelnig
-
- * added headers to the Makefileadded headers to the Makefiless
-
-2011-07-19 12:23 zmoelnig
-
- * forgot to include path to Gem/src
-
-2011-07-19 12:13 zmoelnig
-
- * include extra/configure.ac
-
-2011-07-19 12:10 zmoelnig
-
- * forgotten automakefile
-
-2011-07-19 12:05 zmoelnig
-
- * include "deprecated" SUBDIR
-
-2011-07-19 12:02 zmoelnig
-
- * install targets for headers
-
-2011-07-19 11:41 zmoelnig
-
- * automatic check for forgotten sources
-
-2011-07-19 11:19 zmoelnig
-
- * include QTML on windows if HAVE_QUICKTIME is defined
-
-2011-07-19 11:17 zmoelnig
-
- * GemMan has moved
-
-2011-07-19 11:16 zmoelnig
-
- * restructured sources (moved things out of Base/)
-
-2011-07-19 11:02 zmoelnig
-
- * deprecated headers for compat
-
-2011-07-19 08:27 zmoelnig
-
- * that's where they belong
-
-2011-07-19 08:26 zmoelnig
-
- * moved deprecated headers to deprecated/
-
- for now, if you need to use them, add Gem/src/deprecated to your
- INCLUDE
-
-2011-07-19 07:20 zmoelnig
-
- * remove unused files
-
- these files are virtually empty
-
-2011-07-19 07:16 zmoelnig
-
- * no more pix_filmLinux nor pix_filmNT
-
-2011-07-19 06:56 zmoelnig
-
- * removed disabled include-stanzas
-
-2011-07-18 15:58 zmoelnig
-
- * start to export header files
-
-2011-07-18 15:31 zmoelnig
-
- * properly disable v4l2 if needed
-
-2011-07-18 15:15 zmoelnig
-
- * added autogen.sh to DIST
-
-2011-07-18 15:13 zmoelnig
-
- * include patt.hiro in DIST
-
-2011-07-18 15:12 zmoelnig
-
- * added autoconf/README.txt to DIST
-
-2011-07-18 15:11 zmoelnig
-
- * add pix_artoolkit to DIST
-
-2011-07-18 15:09 zmoelnig
-
- * include README.txt and LICENSE.txt into dist-tarball
-
-2011-07-18 14:52 zmoelnig
-
- * include ExportDef.h into build
-
-2011-07-18 14:50 zmoelnig
-
- * include src/Output in the DIST tarball
-
-2011-07-18 14:43 zmoelnig
-
- * compat layer
-
-2011-07-18 14:34 zmoelnig
-
- * GemContextData migration
-
-2011-07-18 14:32 zmoelnig
-
- * moved ContextData from Base/ to Gem/
-
-2011-07-18 14:11 zmoelnig
-
- * include files moved to Gem/
-
-2011-07-18 14:07 zmoelnig
-
- * moved Version, Setup and ExportDef from Base/ to Gem/
-
-2011-07-18 13:47 zmoelnig
-
- * moved a number of (new) files from src/Base to src/Gem
-
-2011-07-18 13:26 zmoelnig
-
- * moved files from Base/ to Gem/
-
- Base/ is really meant to be for Base-classes
- Gem/ is where the infrastructure should go
-
-2011-07-18 13:24 zmoelnig
-
- * deleted disabled code
-
-2011-07-18 12:52 zmoelnig
-
- * removed old buildsystem cruft
-
-2011-07-18 12:44 zmoelnig
-
- * m4/ now lives in top_srcdir
-
-2011-07-18 12:43 zmoelnig
-
- * m4/ lives in top_srcdir
-
-2011-07-18 12:40 zmoelnig
-
- * use top_srcdir to find m4/
-
-2011-07-18 12:14 zmoelnig
-
- * more gracefully fail when doing convenience symlinks
-
-2011-07-18 12:10 zmoelnig
-
- * conditionally build pix_artoolkit
-
-2011-07-18 12:02 zmoelnig
-
- * cleanup
-
-2011-07-18 12:00 zmoelnig
-
- * removed generated Makefile
-
-2011-07-18 11:54 zmoelnig
-
- * made it compile
-
-2011-07-18 11:39 zmoelnig
-
- * moved extra from Gem/src/extra to Gem/extra
-
-2011-07-18 11:36 zmoelnig
-
- * fixed includes for Gem
-
-2011-07-18 11:29 zmoelnig
-
- * moved src/m4/ to m4/
-
-2011-07-18 11:26 zmoelnig
-
- * moved convenience-symlink snippet into new plugins/ directory
-
-2011-07-18 11:25 zmoelnig
-
- * moved plugins from src/plugins/ to plugins/
-
- "src" is now only for the Gem-core
-
-2011-07-18 11:09 zmoelnig
-
- * assign '0' to non-pointer variables rather than 'NULL'
-
-2011-07-18 11:08 zmoelnig
-
- * use sys_close() on Pd>=0.43
-
-2011-07-18 10:35 zmoelnig
-
- * not working at all
-
-2011-07-18 10:28 zmoelnig
-
- * use top_srcdir rather than srcdir to find Gem sources
-
- i'd like to move the plugins from Gem/src/plugins into
- Gem/plugins
-
-2011-07-18 10:20 zmoelnig
-
- * use DISABLED rather than FALSE
-
- gives less warnings :-)
-
-2011-07-18 10:18 zmoelnig
-
- * conditionally build V4L(2) plugins
-
-2011-07-18 10:17 zmoelnig
-
- * conditionals for V4L(2)
-
- and dummy-conditionals ENABLED/DISABLED
-
-2011-07-18 10:15 zmoelnig
-
- * removed videoGrabber from SOURCES
-
-2011-07-16 21:16 eighthave
-
- * build fix for MinGW: io.h is needed on all _WIN32
-
-2011-07-15 10:47 zmoelnig
-
- * updated vs2003 build project
-
-2011-07-15 10:47 zmoelnig
-
- * minor build fixes for w32
-
-2011-07-13 09:53 zmoelnig
-
- * adapt for ubuntu/natty
-
-2011-07-13 09:43 zmoelnig
-
- * more magick to fix ImageMagick's API breakages
-
-2011-07-12 16:15 zmoelnig
-
- * include PluginFactory
-
-2011-07-12 16:11 zmoelnig
-
- * include PluginFactory; implement isThreadable
-
-2011-07-12 16:09 zmoelnig
-
- * include PluginFactory manually
-
-2011-07-12 16:09 zmoelnig
-
- * include PluginFactory manually
-
-2011-07-12 16:07 zmoelnig
-
- * include <map> (in order to not be dependent on PluginFactory)
-
-2011-07-12 09:54 zmoelnig
-
- * renamed videoThreaded to videoGrabber
-
- videoGrabber is is meant to be an interface to the
- PluginFactory<video> that
- automatically handles threading (if possible)
-
-2011-07-12 09:53 zmoelnig
-
- * fixed typo
-
-2011-07-11 17:16 zmoelnig
-
- * backport for outdated libquicktime version (<1.0.0)
-
-2011-07-11 16:00 zmoelnig
-
- * fixed lqt-build version
-
- it seems that lqt_set_video_parameter() uses (const char*)key
- since 1.0.2;
- i don't know where the 3.1.0 came from...
-
-2011-07-11 15:47 zmoelnig
-
- * try to make it compile with very old versions of libquicktime
-
-2011-07-11 15:43 zmoelnig
-
- * depend on automake>=1.10
-
-2011-07-11 15:42 zmoelnig
-
- * remove checks for PROGS not used
-
-2011-07-11 14:04 zmoelnig
-
- * include FTGL/ftgl.h if available rather than the specific headers
-
-2011-07-11 13:55 zmoelnig
-
- * LN_S should only be used in the currend dir
-
- at least according to the documentation of AC_PROG_LN_S
-
-2011-07-11 13:53 zmoelnig
-
- * check for SED
-
-2011-07-11 13:24 zmoelnig
-
- * moved the 'foo support' line to the plugin user
-
-2011-07-11 13:22 zmoelnig
-
- * adapted to nicer backendnames
-
-2011-07-11 13:14 zmoelnig
-
- * list loaded film plugins
-
-2011-07-11 13:01 zmoelnig
-
- * more verbosity
-
-2011-07-11 12:44 zmoelnig
-
- * more verbosity
-
-2011-07-11 12:34 zmoelnig
-
- * allow stop() to (not) block
-
-2011-07-11 12:01 zmoelnig
-
- * don't create instances of ImageThreadLoader when doing poll()
-
-2011-07-11 11:40 zmoelnig
-
- * don't start loader thread until we know we need it
-
- also use sync() as fallback for async() [simplifies code]
-
-2011-07-11 11:37 zmoelnig
-
- * allow child-classes to specify whether thread should start
- automatically
-
-2011-07-11 07:27 zmoelnig
-
- * include sys/time.h to make it compile
-
-2011-07-01 18:48 zmoelnig
-
- * made unicap work nicely with --without-ALL
-
-2011-07-01 14:57 zmoelnig
-
- * updated w32 build project
-
-2011-07-01 14:56 zmoelnig
-
- * w32 build fix
-
-2011-07-01 14:54 zmoelnig
-
- * w32 build fixes
-
-2011-07-01 14:54 zmoelnig
-
- * replace usleep() with select()
-
-2011-07-01 14:47 zmoelnig
-
- * windows fixes
-
- - use 'unsigned int' where appropriate
- - when declaring "PIMPL" as 'class', it shouldn't be defined as
- 'struct'
- - don't include <unistd.h>
-
-2011-07-01 08:54 zmoelnig
-
- * only build videoDV4L if all dependencies are fullfilled
-
-2011-07-01 08:53 zmoelnig
-
- * videoSGI makes sense only on IRIX
-
-2011-06-30 18:08 zmoelnig
-
- * conditionally build plugins
-
-2011-06-30 18:05 zmoelnig
-
- * automatically setting some AM_CONDITIONALS for frameworks and
- libs
-
-2011-06-30 16:06 zmoelnig
-
- * fixed jumping/initialization issues
-
- when using 'goto' one shouldn't initialize variables between the
- goto and the label
-
-2011-06-30 15:17 zmoelnig
-
- * create src/Output Makefile
-
-2011-06-30 15:17 zmoelnig
-
- * iMakefile is now generated by automake
-
-2011-06-30 15:15 zmoelnig
-
- * use openGL libs
-
-2011-06-30 15:15 zmoelnig
-
- * use GLX if available
-
-2011-06-30 15:13 zmoelnig
-
- * alternative openGL tests
-
-2011-06-30 12:27 zmoelnig
-
- * automake stub for Output/
-
-2011-06-30 12:22 zmoelnig
-
- * added GLX, AGL and GLEW tests
-
- those need more real-world testing§
-
-2011-06-30 12:21 zmoelnig
-
- * fixed case/esac clause
-
-2011-06-30 11:41 zmoelnig
-
- * wrapper around the GNU macros
-
-2011-06-30 11:32 zmoelnig
-
- * some openGL macros from GNU's autoconf archive
-
-2011-06-30 11:25 zmoelnig
-
- * check for OS (mostly stub for now)
-
-2011-06-30 09:54 zmoelnig
-
- * hopefully improved convenience links
-
- trying to fix some trouble when building outside of srctree (e.g.
- 'distcheck')
-
-2011-06-30 09:45 zmoelnig
-
- * fixed include path for main Gem includes
-
- and improved convenience lib handkling
-
-2011-06-30 09:24 zmoelnig
-
- * fixed base include for Gem
-
- since we moved autotools, the top_srcdir is now .../Gem and no
- longer
- .../Gem/src, so we have to adjust the INCLUDE path
-
-2011-06-30 09:11 zmoelnig
-
- * enable convenience symlinks for all plugins
-
-2011-06-30 09:10 zmoelnig
-
- * protect against empty LTLIBRARIES
-
-2011-06-30 09:01 zmoelnig
-
- * added clean target
-
-2011-06-30 08:52 zmoelnig
-
- * makefile snippet to create convenience symlinks for plugins
-
- in order to use plugins, they need to live besides the Gem.$(EXT)
- this snippets will create symlinks for a (binary) plugin to the
- top build dir;
- this allows to use the plugins without having to install Gem
-
-2011-06-30 08:05 zmoelnig
-
- * install Gem.$(EXT) into $(top_builddir) rather than $(top_srcdir)
-
-2011-06-29 18:36 zmoelnig
-
- * executable
-
-2011-06-29 18:34 zmoelnig
-
- * stubs for compatibility
-
-2011-06-29 18:32 zmoelnig
-
- * link to top_srcdir
-
-2011-06-29 18:27 zmoelnig
-
- * SOURCES marker
-
-2011-06-29 18:10 zmoelnig
-
- * re-enable autoreconf
-
-2011-06-29 18:09 zmoelnig
-
- * moved autoconf system one level up
-
-2011-06-29 17:46 zmoelnig
-
- * moved config.h out of src/Base/ into src/
-
-2011-06-29 17:44 zmoelnig
-
- * a small README how to use autoconf
-
-2011-06-29 17:36 zmoelnig
-
- * cleanup version.h when doing distclean
-
-2011-06-29 17:15 zmoelnig
-
- * use srcdir for relative include paths
-
-2011-06-29 16:55 zmoelnig
-
- * removed generated config.h from SOURCES
-
-2011-06-29 16:40 zmoelnig
-
- * more pkgversion magic
-
-2011-06-29 16:24 zmoelnig
-
- * don't install build system
-
-2011-06-29 16:00 zmoelnig
-
- * added examples/Makefile
-
-2011-06-29 15:50 zmoelnig
-
- * added build directory
-
-2011-06-29 15:43 zmoelnig
-
- * EXTRA_DIST some files otherwise missing
-
-2011-06-29 15:06 zmoelnig
-
- * add files to dist
-
-2011-06-29 14:46 zmoelnig
-
- * add patches and license files to dist
-
-2011-06-29 14:43 zmoelnig
-
- * include version hackz
-
-2011-06-29 14:29 zmoelnig
-
- * return value must be positive
-
-2011-06-29 13:33 zmoelnig
-
- * manually add filmTEST to DIST_SUBDIRS
-
-2011-06-29 13:32 zmoelnig
-
- * fixed test for have_ieee1394
-
-2011-06-29 13:16 zmoelnig
-
- * (not) include filmTEST and videoQTKit
-
-2011-06-29 13:04 zmoelnig
-
- * autotoolified the entirety of Gem
-
-2011-06-29 12:52 zmoelnig
-
- * fixed installation targets for proprietary video backends
-
-2011-06-29 12:48 zmoelnig
-
- * automake files for documentation
-
-2011-06-29 12:07 zmoelnig
-
- * forgot backslash
-
-2011-06-29 11:55 zmoelnig
-
- * comments
-
-2011-06-29 11:51 zmoelnig
-
- * install extras into pd/extra/ rather than pd/extra/Gem
-
-2011-06-29 11:45 zmoelnig
-
- * fixed install targets: libdir vs pkglibdir
-
- libdir:=/path/to/pd/lib/extra
- pkglibdir:=${libdir}/Gem
-
- so all Gem should install into pkglibdir
- extras might install into libdir/${extra}
-
-2011-06-29 11:44 zmoelnig
-
- * full pkgname and URL
-
-2011-06-29 11:17 zmoelnig
-
- * automakefile for help-patches
-
-2011-06-29 11:05 zmoelnig
-
- * fixed install targets for extra
-
-2011-06-29 09:43 zmoelnig
-
- * show something for ieee1394 support
-
-2011-06-29 08:08 zmoelnig
-
- * forgot to add Gem/ to SUBDIRS
-
-2011-06-29 08:03 zmoelnig
-
- * removed misleaded stanza about 'ignore missing support'
-
- since most checks have been moved back into the main configure
- script,
- the output is indeed meaningful
-
-2011-06-29 08:01 zmoelnig
-
- * remove linker cruft automatically handled by autotools
-
-2011-06-28 10:08 zmoelnig
-
- * poll for new images
-
-2011-06-28 10:07 zmoelnig
-
- * default to polling mode
-
-2011-06-28 10:03 zmoelnig
-
- * indentation
-
-2011-06-28 10:03 zmoelnig
-
- * polling for gem::image::load
-
-2011-06-28 09:59 zmoelnig
-
- * added 'polling' mode
-
-2011-06-28 08:49 zmoelnig
-
- * even nicer
-
- made the viewing examples more interactive;
- fixed some typos
- and fixed some description
-
-2011-06-27 21:51 nusmuk
-
- * new help for gemwin thanks to Nicolas --Cette ligne, et les
- suivantes
- ci-dessous, seront ignorées--
-
- M gemwin-help.pd
-
-2011-06-27 16:08 zmoelnig
-
- * added some more magick to get the API right
-
-2011-06-27 14:10 zmoelnig
-
- * implemented cancel()ing of packages
-
- needs deque, since we cannot remove items from within a queue
-
-2011-06-27 14:09 zmoelnig
-
- * implement cancel()ing
-
-2011-06-27 14:09 zmoelnig
-
- * better verbositry
-
-2011-06-27 14:08 zmoelnig
-
- * simplified RTE-callbacks
-
-2011-06-27 14:08 zmoelnig
-
- * more verbose report about loading success
-
-2011-06-27 14:08 zmoelnig
-
- * adapted to new (a)sync loader
-
-2011-06-27 14:07 zmoelnig
-
- * threadsafe ID-retrieval
-
- if queue() 'return's the ID, this might be too late, as the
- return might
- be called after the callback is called.
- we therefore use pass-by-reference, so we can tell the queuing
- process the
- ID before it is actually queued
-
-2011-06-27 14:07 zmoelnig
-
- * type fixes
-
-2011-06-27 14:06 zmoelnig
-
- * threaded loading is now handled centrally by the
- GemPixImageLoader
-
-2011-06-27 14:06 zmoelnig
-
- * async()-compat version of sync()
-
-2011-06-27 14:05 zmoelnig
-
- * threaded image loading seems to work
-
-2011-06-27 14:05 zmoelnig
-
- * less verbosity and call-by-reference for void*
-
-2011-06-27 14:04 zmoelnig
-
- * image::load::callback is already a pointer
-
-2011-06-27 14:04 zmoelnig
-
- * draft for threaded loading
-
-2011-06-27 14:04 zmoelnig
-
- * synchronized worker thread
-
-2011-06-27 14:03 zmoelnig
-
- * minor fixes
-
-2011-06-27 14:03 zmoelnig
-
- * Gem/ now also holds code
-
-2011-06-27 14:02 zmoelnig
-
- * added new files
-
-2011-06-27 14:02 zmoelnig
-
- * simple workerthread implementation
-
- with queues and bells
-
-2011-06-27 14:01 zmoelnig
-
- * simple semaphore implementation
-
-2011-06-27 14:01 zmoelnig
-
- * moved ThreadMutex into Gem/
-
-2011-06-27 14:00 zmoelnig
-
- * isThreadable is sum of all backends
-
- if one backend is not threadable, the meta-backend is not either
-
-2011-06-27 14:00 zmoelnig
-
- * new API for image loading
-
- and stub implementations
-
-2011-06-22 11:21 zmoelnig
-
- * some namespace magick for compat
-
-2011-06-22 08:16 zmoelnig
-
- * const'ness fixes for Altivec
-
-2011-06-21 20:48 zmoelnig
-
- * more const'ified
-
-2011-06-21 16:38 zmoelnig
-
- * get supported mimetypes from ImageMagick
-
- i think these are all mime-types supported by ImageMagick, not
- just those it can write....
-
-2011-06-21 16:37 zmoelnig
-
- * fixed JPEG saving
-
-2011-06-21 16:36 zmoelnig
-
- * SGI: dummy implementation of estimateSave;5D
-
-2011-06-21 16:35 zmoelnig
-
- * dummy implementation for estimateSave
-
-2011-06-21 15:39 zmoelnig
-
- * imageTIFF: implement estimateSave and fix save()
-
-2011-06-21 15:39 zmoelnig
-
- * more const'ification
-
-2011-06-21 15:38 zmoelnig
-
- * fixed crasher bug with index-out-of-range
-
-2011-06-21 14:21 zmoelnig
-
- * use const where possible
-
-2011-06-21 14:08 zmoelnig
-
- * use default mimetypes if none can be determined
-
-2011-06-21 14:01 zmoelnig
-
- * more mimetypes
-
-2011-06-21 13:46 zmoelnig
-
- * removed dupe
-
-2011-06-21 13:15 zmoelnig
-
- * more mimetypes
-
-2011-06-21 13:15 zmoelnig
-
- * lost dots
-
-2011-06-21 13:01 zmoelnig
-
- * added more mimetypes
-
-2011-06-21 12:46 zmoelnig
-
- * image mimetypes
-
-2011-06-19 19:11 zmoelnig
-
- * std::string.empty() is a method no member variable
-
-2011-06-17 12:24 zmoelnig
-
- * simplified property handling for imageloader
-
-2011-06-17 12:23 zmoelnig
-
- * make getFrame() pure virtual
-
-2011-06-17 12:22 zmoelnig
-
- * allow implentation to override the isThreadable()
-
-2011-06-17 12:22 zmoelnig
-
- * only use threads is the backend supports it
-
-2011-06-17 12:21 zmoelnig
-
- * changed ctor of film-plugins to indicate threading support
-
-2011-06-17 12:20 zmoelnig
-
- * less verbose
-
- let the calling class be loud about successes/failures, rather
- than the backends
-
-2011-06-17 12:19 zmoelnig
-
- * printout successful/failing backend when verbose
-
-2011-06-17 12:18 zmoelnig
-
- * adapted outdated pix_filmOS to new GemState infrastructure
-
- either deprecated code should be removed entirely, or it should
- do something meaningful
-
-2011-06-17 12:18 zmoelnig
-
- * moved film plugins into namespace gem::plugins
-
-2011-06-17 12:16 zmoelnig
-
- * compilation fixes after switch to std::string
-
-2011-06-17 12:15 zmoelnig
-
- * use std::string for filename
-
-2011-06-17 12:14 zmoelnig
-
- * film: use std::string instead of char*
-
-2011-06-16 16:20 zmoelnig
-
- * don't overwrite the image-format to something untrue
-
-2011-06-16 16:13 zmoelnig
-
- * fall back to alternative methods of making an FSSpec from a
- string
-
-2011-06-15 12:00 zmoelnig
-
- * removed files that are generated by autogen.sh
-
-2011-06-15 11:58 zmoelnig
-
- * removed Makefiles that are overwritten by automake
-
-2011-06-14 08:19 zmoelnig
-
- * oops, removed leftovers from Nongeos' Makefile
-
-2011-06-14 08:10 zmoelnig
-
- * GEM_TARGET checks now automatically use AC_CONFIG_FILES
-
-2011-06-14 08:09 zmoelnig
-
- * automake'ified Vertex
-
-2011-06-14 08:09 zmoelnig
-
- * forgot Makefile.am for pix_drum
-
-2011-06-14 08:08 zmoelnig
-
- * updated template Makefile
-
-2011-06-10 13:32 zmoelnig
-
- * added 'extra' (pix_mano, pix_drum) to build
-
-2011-06-10 13:28 zmoelnig
-
- * switched to automake
-
-2011-06-10 13:26 zmoelnig
-
- * fixed buffer overflow
-
-2011-06-10 12:10 zmoelnig
-
- * no fat binaries for videoAVT/PYLON/HALCON
-
-2011-06-10 11:38 zmoelnig
-
- * normalized plugin Makefiles
-
- added ARCH-flags; use LIBADD for dependencies
-
-2011-06-10 11:02 zmoelnig
-
- * honour ARCH-FLAGS
-
-2011-06-10 10:25 zmoelnig
-
- * fixed architecture-count test
-
-2011-06-10 09:49 zmoelnig
-
- * when building fat binaries, make sure dependency tracking is OFF
-
-2011-06-10 09:36 zmoelnig
-
- * default to using video/film plugins even on OSX
-
-2011-06-10 09:34 zmoelnig
-
- * (re)allow libTIFF/libJPEG even if is ImageMagick is found
-
- having both libTIFF and libJPEG linked into Gem used to crash
- when throwing
- exceptions.
- cf.
- https://sourceforge.net/tracker/?func=detail&aid=2506838&group_id=64325&atid=507079
-
- now that all the image-loading components is in plugins, it
- should be possible
- to re-enable all available backends.
- - i tried to load both plugins and couldn't trigger the crash
- anymore
- - the crash might be releated to libstdc++ more than to the use
- of ImageMagick
- AND libTIFF (which should be no problem with plugins, since the
- plugins are
- both loaded well after stdc++ is (loaded and) initialized by Gem
- - if loading both plugins still makes trouble, the user can
- disable a certain
- backend by "not installing" (or removing it)
- - if package management software is used, the conflicting plugins
- could be
- disallowed to install in parallel.
-
-2011-06-09 17:11 zmoelnig
-
- * disable building on 64bit
-
-2011-06-09 15:26 nusmuk
-
- * bugfix: this object now allow input!
-
-2011-06-09 13:30 zmoelnig
-
- * fixed removal of old Gem.pd_linux
-
-2011-06-09 11:30 zmoelnig
-
- * fixed casuality caused by the switch in the GemState
- infrastructure
-
-2011-06-08 18:43 zmoelnig
-
- * fixed typos in comments
-
-2011-06-08 18:36 zmoelnig
-
- * added 'threadable' flag to ctor
-
- so plugins can tell, whether they can be used within threads
-
-2011-06-08 17:49 zmoelnig
-
- * version-generating code
-
-2011-06-08 17:06 zmoelnig
-
- * more building optional video plugins
-
-2011-06-08 17:06 zmoelnig
-
- * remove HAVE_PYLON from *.h
-
- headers should really only be included if we have pylon anyhow
-
-2011-06-08 17:05 zmoelnig
-
- * building optional video plugins
-
-2011-06-08 17:05 zmoelnig
-
- * regenerated
-
-2011-06-08 17:05 zmoelnig
-
- * added most of the plugins to the autotools build-system
-
-2011-06-08 17:04 zmoelnig
-
- * removed all those configure.ac's: let's do it centrally
-
-2011-06-08 17:03 zmoelnig
-
- * removed X_LIBS from LIBS
-
-2011-06-08 17:02 zmoelnig
-
- * removed symlinked Gem.pd_linux before symlinking
-
-2011-06-08 17:02 zmoelnig
-
- * use AM_CONDITIONAL to turn on/off compilation of object-groups
-
-2011-06-08 17:01 zmoelnig
-
- * removed QT-image loading: this is now completely in the plugin
-
-2011-06-08 17:01 zmoelnig
-
- * copied over image syving code to imageQT
-
-2011-06-08 17:01 zmoelnig
-
- * added imageQT
-
-2011-06-08 17:00 zmoelnig
-
- * forgot RTE flags in RTE/ and plugins/
-
-2011-06-08 17:00 zmoelnig
-
- * viideoThreaded class
-
- LATER rethink this
-
-2011-06-08 16:59 zmoelnig
-
- * made it compile on OSX
-
-2011-06-08 16:59 zmoelnig
-
- * define HAVE_GEM_FRAMEWORK_...
-
-2011-06-08 16:58 zmoelnig
-
- * handle X_LIBS
-
-2011-06-08 16:58 zmoelnig
-
- * QuickTime image importer
-
-2011-06-08 16:57 zmoelnig
-
- * figured out how to do the nodist_EXTRA_ dummy sources
-
-2011-06-08 16:57 zmoelnig
-
- * remove STDCPLUSPLUS indicator
-
-2011-06-08 16:57 zmoelnig
-
- * ugly hack to link Gem.$(EXT) into src-directory
-
-2011-06-08 16:56 zmoelnig
-
- * prevent libtool from removing first libstdc++
-
-2011-06-08 16:56 zmoelnig
-
- * don't touch LIBS,... in GEM_CHECK_LIB
-
- use should instead use GEM_LIB_... explicitely
-
-2011-06-08 16:56 zmoelnig
-
- * link against -lstdc++ as predependency
-
-2011-06-08 16:55 zmoelnig
-
- * no more dependency on libjpeg and libtiff
-
-2011-06-08 16:55 zmoelnig
-
- * sgiimage loader is now in a plugin
-
-2011-06-08 16:54 zmoelnig
-
- * made it compile
-
-2011-06-08 16:54 zmoelnig
-
- * copied implementation of SGI image reader to plugin
-
-2011-06-08 16:53 zmoelnig
-
- * enabled imageSGI
-
-2011-06-08 16:53 zmoelnig
-
- * skeleton for SGi image loader
-
-2011-06-08 16:52 zmoelnig
-
- * enabled libJPEG plugin
-
-2011-06-08 16:52 zmoelnig
-
- * moved libJPEG code to plugin
-
-2011-06-08 16:51 zmoelnig
-
- * libJPEG plugin
-
-2011-06-08 16:51 zmoelnig
-
- * TIFF Image loading/saving is now in a plugin
-
-2011-06-08 16:50 zmoelnig
-
- * made it compile (and work)
-
-2011-06-08 16:50 zmoelnig
-
- * copied over TIFF image load/save
-
-2011-06-08 16:49 zmoelnig
-
- * implemented save()
-
- rather copied it over from GemPixImageSave.cpp
-
-2011-06-08 16:49 zmoelnig
-
- * added support for imagesave plugins
-
-2011-06-08 16:49 zmoelnig
-
- * cleanup
-
-2011-06-08 16:48 zmoelnig
-
- * removed Makefiles, as they are now generated with automake
-
-2011-06-08 16:48 zmoelnig
-
- * added subdir makefiles
-
-2011-06-08 16:47 zmoelnig
-
- * added subdirectories
-
-2011-06-08 16:47 zmoelnig
-
- * generated Makefile.am
-
-2011-06-08 16:46 zmoelnig
-
- * generated Makefile.am templates
-
-2011-06-08 16:45 zmoelnig
-
- * updated generator script
-
-2011-06-08 16:44 zmoelnig
-
- * simplistic generator for Makefile.am
-
-2011-06-08 16:44 zmoelnig
-
- * adding Geos
-
-2011-06-08 16:44 zmoelnig
-
- * removed FTGL-pic hacks
-
-2011-06-08 16:43 zmoelnig
-
- * simplify FTL detection (LATER move FTGL-checks into m4/)
-
-2011-06-08 16:43 zmoelnig
-
- * don't install convenience libraries
-
-2011-06-08 16:42 zmoelnig
-
- * regenerated (with libtool enabled)
-
-2011-06-08 16:42 zmoelnig
-
- * drafting further
-
-2011-06-08 16:41 zmoelnig
-
- * automake start
-
-2011-06-07 14:48 zmoelnig
-
- * fixed help-patch for scopeXYZ~
-
-2011-06-04 12:55 zmoelnig
-
- * use imageloader plugins if available
-
- LATER migrate the various backends to plugins and remove them
- from
- GemPixImageLoad.
- LATERLATER provide a new API for loading images (eventually using
- a single thread, if possible)
-
-2011-06-04 12:45 zmoelnig
-
- * use the right config-define
-
-2011-06-04 12:44 zmoelnig
-
- * switched to gem::plugins::image
-
-2011-06-04 12:44 zmoelnig
-
- * gem:plugins::image is really a helper class for imageloader and
- imagesaver
-
-2011-06-04 12:43 zmoelnig
-
- * simple example for image plugin
-
-2011-06-04 12:43 zmoelnig
-
- * fully qualified namespace for imageloader/imagesaver
-
-2011-06-01 18:06 zmoelnig
-
- * base-class for image load/save plugin
-
-2011-06-01 18:06 zmoelnig
-
- * use namespace gem::plugins
-
-2011-06-01 17:44 zmoelnig
-
- * baseclass for image saver plugins
-
-2011-06-01 17:40 zmoelnig
-
- * renamed read() to load()
-
-2011-06-01 17:37 zmoelnig
-
- * base class for loading images
-
-2011-06-01 16:26 zmoelnig
-
- * more on the way to multicontext (missing file)
-
-2011-06-01 16:23 zmoelnig
-
- * more on the way to multicontext
-
-2011-06-01 16:06 zmoelnig
-
- * properly defer initialization of [gemframebuffer] to after
- context creation
-
-2011-06-01 15:12 zmoelnig
-
- * cleaned up callback code; renamed m_mode to m_rectangle
-
-2011-06-01 14:38 zmoelnig
-
- * fixed bug when setModified() would bypass INIT state
-
-2011-06-01 08:28 zmoelnig
-
- * made xy-pad interactive
-
- and fixed some spelling mistakes
-
-2011-05-31 19:16 nusmuk
-
- * update this example. it use to be broken
-
-2011-05-22 08:17 nusmuk
-
- * fixed a bug : line_loop and line_strip can now change glLineWidth
-
-2011-05-21 18:52 nusmuk
-
- * fixed a typo
-
-2011-05-20 22:50 nusmuk
-
- * adding a primitive : a bicubic curve
-
-2011-05-16 15:55 nusmuk
-
- * adding read / write to dc1394 camera freatures
-
-2011-05-06 08:48 zmoelnig
-
- * removed +x from 10.GPGPU_Physical_model.pd
-
-2011-05-03 09:42 zmoelnig
-
- * scratches on the pad
-
-2011-05-03 09:23 zmoelnig
-
- * proper m4-quoting
-
- trying to shut up: 'warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE
- call detected in body'
-
-2011-04-29 11:35 zmoelnig
-
- * fixed variable names and PHONYness
-
-2011-04-29 11:34 zmoelnig
-
- * added pix_mano and pix_drum
-
-2011-04-29 11:33 zmoelnig
-
- * simplistic makefile to build pix_mano
-
-2011-04-29 11:33 zmoelnig
-
- * simplistic makefile to build pix_drum
-
-2011-04-26 10:27 zmoelnig
-
- * interactive help-patch
-
-2011-04-18 23:41 eighthave
-
- * support all known iemmatrix installs by changing [mtx_*] to
- [mtx_mul]
-
-2011-04-18 14:44 zmoelnig
-
- * added quality message
-
- but really, [pix_data] should be merged into [pix_buffer] somehow
-
-2011-04-18 14:42 zmoelnig
-
- * include RTE/MessageCallback
-
-2011-04-18 14:29 zmoelnig
-
- * added bilinear interpolation
-
-2011-04-18 13:10 zmoelnig
-
- * use properties
-
-2011-04-18 13:09 zmoelnig
-
- * remove trailing whitespace
-
-2011-04-18 13:09 zmoelnig
-
- * use 'channel' rather than 'isochannel'
-
- likewise for 'speed' rather than 'isospeed'
-
-2011-04-18 13:08 zmoelnig
-
- * check error when setting properties
-
-2011-04-18 13:08 zmoelnig
-
- * use DC1394_TRYGET macro
-
-2011-04-15 15:43 zmoelnig
-
- * check whether we have a camera
-
-2011-04-15 15:43 zmoelnig
-
- * basic property support
-
- this is totally untested!
- also we don't handle properties during open at all
-
-2011-04-13 17:48 zmoelnig
-
- * blob-labels start with "0" (Closes #3284754)
-
-2011-04-13 17:47 zmoelnig
-
- * explicit dependency on iemmatrix
-
-2011-04-07 15:18 zmoelnig
-
- * release view so we can create a new window
-
- however, it seems that we cannot render to the 2nd
- instance...hmmm
-
-2011-04-07 14:36 zmoelnig
-
- * we really need to call GemWindow::render()
-
-2011-04-07 14:25 zmoelnig
-
- * disabled the render() method
-
-2011-04-07 14:25 zmoelnig
-
- * XIMStyle is non-pointer
-
-2011-04-07 14:12 zmoelnig
-
- * m_cursor is in parent class
-
-2011-04-07 13:56 zmoelnig
-
- * disable GemWinMac on 64bit systems
-
- this is really un ugly hack until i find out why configure
- doesn't really help us
-
-2011-04-07 13:54 zmoelnig
-
- * disable QuickTime/Carbon on OSX/64
-
- seems like the configure checks don't really catch that QuickTime
- is not there
-
-2011-04-07 12:13 zmoelnig
-
- * document arguments of [sphere]
-
- thanks to maxn
-
-2011-04-07 12:08 zmoelnig
-
- * mention args in help-patch
-
-2011-04-07 12:05 zmoelnig
-
- * default to 64x64+0+0
-
-2011-04-07 11:51 zmoelnig
-
- * fix performance issue with multimodel
-
- no need to rebuild the displaylists each time the model changes -
- all the displaylists are built at startRendering() anyhow;
- also removed the superfluous "this->" when calling members;
- also got the m_currentW/m_currentH right
-
-2011-04-06 19:15 zmoelnig
-
- * don't fail on Magick::Warnings
-
-2011-04-06 18:05 zmoelnig
-
- * default format is YUV
-
-2011-04-06 17:31 eighthave
-
- * added two defaults so that it generates an image when the gemwin
- is opened, like the rest of the patches in this tutorial
-
-2011-04-06 17:17 eighthave
-
- * added ClaudiusMaximus' Gem Recursion Tutorial, on his request,
- using a tarball receive today from him via email
-
-2011-04-06 16:42 zmoelnig
-
- * hopefully fixed check for Pd headers
-
- LATER use pkgconfig
-
-2011-04-05 07:15 zmoelnig
-
- * by default, only push/pop the MODELVIEW matrix
-
-2011-04-04 09:32 zmoelnig
-
- * probably recordV4L also works with libv4l1
-
-2011-04-04 09:30 zmoelnig
-
- * adapted checks for missing videodev.h
-
-2011-04-04 09:25 zmoelnig
-
- * optionally include linux/videodev.h
-
- finally linux/videodev.h has vanished from debian;
- unfortunately this shows that the test was a bit to lax, so
- i had to fix it in order to compile Gem with recent linux
-
-2011-03-30 21:34 zmoelnig
-
- * search for files in the Pd-path
-
-2011-03-30 11:22 nusmuk
-
- * add the rectangle message to pix_movie, and depreciate the mode
- message.
- pix_movie help file was updated to use "rectangle" better than
- "mode", but not pix_movie.
-
-2011-03-29 21:57 zmoelnig
-
- * pevent out-of-memory access
-
-2011-03-27 17:10 zmoelnig
-
- * fixed out-of-bounds memory access in GetPixel() functions
-
-2011-03-25 21:58 zmoelnig
-
- * fix description in configure output
-
- "video-support" really meant movie decoding support
-
-2011-03-25 21:51 zmoelnig
-
- * use "--with-video=plugins" if you want to use plugins
-
-2011-03-22 08:07 zmoelnig
-
- * use GemState::key_t rather than key_t
-
- should fix compilation issues on osx/10.5
-
-2011-03-21 21:24 eighthave
-
- * fixed "Unable to find file" error messages on Mac OS X, they
- should now should the actual file name rather than gibberish
-
-2011-03-14 12:36 zmoelnig
-
- * full namespace for fallback functions if no libv4l2 is present
-
-2011-03-14 12:33 zmoelnig
-
- * replaced checks for v4l1 with checks for v4l2
-
-2011-03-14 12:29 zmoelnig
-
- * move m_frameSize inside HAVE_VIDEO4LINUX2
-
-2011-03-11 12:00 zmoelnig
-
- * prevent setModified() to force-ENABLE a disabled object
-
-2011-03-11 11:39 zmoelnig
-
- * check whether captured size matches expected size
- should detect incomplete grabs (but does it?)
-
-2011-03-07 09:24 zmoelnig
-
- * hopefully fixed the color problem on little-endian
-
-2011-03-07 09:20 zmoelnig
-
- * plugins target is now uniformly "PLUGINS"
-
-2011-03-05 16:35 zmoelnig
-
- * endianess issues of pixes
-
-
- on big-endian architectures that are not OSX, we
- need to specially care for the reverse images.
-
- btw, images will still be wrong when doing X-forwarding
- between BE and LE machines
-
-2011-03-04 19:05 zmoelnig
-
- * version of pix_tIIR that uses float internally
-
-2011-02-27 15:40 zmoelnig
-
- * append semi-colon to uses of CPPEXTERN... macros
-
-2011-02-27 15:11 zmoelnig
-
- * in documentation talk about trailing semi-colons
-
-2011-02-27 15:11 zmoelnig
-
- * allow semi-colon with no AUTO_REGISTER
-
- create a dummy variable
-
-2011-02-27 15:10 zmoelnig
-
- * removed code now found in RTE/MessageCallbacks.h
-
- to avoid confusion and the new code is really better
-
-2011-02-27 15:10 zmoelnig
-
- * try to avoid allocations on the stack during render cycles
-
-2011-02-25 12:01 zmoelnig
-
- * fixed typo
-
-2011-02-25 11:25 zmoelnig
-
- * made gemglutwindow the last object in patch
-
-2011-02-25 11:24 zmoelnig
-
- * small fixes for glut
-
-2011-02-25 11:24 zmoelnig
-
- * allow to specify the gemchain (experimental)
-
-2011-02-25 11:23 zmoelnig
-
- * debugging printout now is agnostic of backend (and unique)
-
-2011-02-25 11:23 zmoelnig
-
- * removed debugging printout
-
-2011-02-25 11:22 zmoelnig
-
- * use shared GemContext's for gemglxwindow
-
-2011-02-25 11:22 zmoelnig
-
- * the existance of GemContext is really bound to the
- GemMan::windowCount
-
-2011-02-25 11:21 zmoelnig
-
- * modified GemWindow-API slightly to allow better handling of
- shared GemContexts
- adapated Output implementations to new API
-
-2011-02-25 11:21 zmoelnig
-
- * proper initialization of m_context
-
-2011-02-25 11:20 zmoelnig
-
- * handle 2nd argument
-
-2011-02-25 11:20 zmoelnig
-
- * protect GL_MAX_COLOR_MATRIX_STACK_DEPTH operation with
- GLEW_ARB_imaging
-
-2011-02-25 11:19 zmoelnig
-
- * prepare for 2nd argument (chainID)
-
-2011-02-25 11:19 zmoelnig
-
- * fix decrement of GemMan::winCount when destroying GemWindow
-
-2011-02-25 11:18 zmoelnig
-
- * properly cleanup in destructor
-
-2011-02-25 11:18 zmoelnig
-
- * no more pushing/popping of currentstate (what for)
- re-use unique IDs (is this a good idea?)
-
-2011-02-25 11:17 zmoelnig
-
- * fixed huge memleak
-
-2011-02-24 15:17 zmoelnig
-
- * protect
-
-2011-02-24 15:03 zmoelnig
-
- * factored out GemContext from GemWindow
-
-2011-02-24 13:18 zmoelnig
-
- * renamed GemContext to GemWindow
-
-2011-02-24 13:17 zmoelnig
-
- * FIXXME early return
-
-2011-02-23 18:18 zmoelnig
-
- * don't send startRendering() message if turned off
-
-2011-02-23 16:58 zmoelnig
-
- * use integer keys rather than strings to speed up GemState again
-
-2011-02-23 14:31 zmoelnig
-
- * "Output" directory within the M$VC project
-
-2011-02-23 14:06 zmoelnig
-
- * remove duplicate msg-callbacks
-
-2011-02-23 14:04 zmoelnig
-
- * added printMess() stub
-
-2011-02-23 14:00 zmoelnig
-
- * remove messages handled by GemContext
-
-2011-02-23 13:52 zmoelnig
-
- * remove duplicate msg-callbacks
-
-2011-02-23 13:52 zmoelnig
-
- * remove print callback
-
-2011-02-23 13:48 zmoelnig
-
- * don't redraw each cycle; remove duplicate msg-callbacks
-
-2011-02-23 13:37 zmoelnig
-
- * make [gemhead] a child of [gemreceive]
-
- [gemhead] now listens to the global "__gem_render" (and
- "__gem_render_osd")
- receivers in an ordered fashion ([gemreceive] logic).
- thus GemMan need no longer maintain it's own renderChain lists
- and instead can
- simply send a symbol...
-
-2011-02-23 13:24 zmoelnig
-
- * fix gemreceive so classes can properly inherit from it
-
-2011-02-23 13:13 zmoelnig
-
- * provide own GemCache if need be
-
-2011-02-23 13:12 zmoelnig
-
- * protect against NULL cache
-
-2011-02-23 08:08 zmoelnig
-
- * fontNameMess is now std::string
-
-2011-02-22 17:45 zmoelnig
-
- * properly reset the modelview matrix at the beginning of
- renderCycle
-
-2011-02-22 17:20 zmoelnig
-
- * fullscreenMess; proper live offset/dimen
-
-2011-02-22 17:18 zmoelnig
-
- * fullscreenMess is int rather than bool (for compat with OSX)
-
-2011-02-22 16:14 zmoelnig
-
- * allow to change the title on the fly
-
-2011-02-22 13:46 zmoelnig
-
- * no need to register default messages; allow window to be moved
- programmatically (though the size is wrong after that...)
-
-2011-02-22 13:45 zmoelnig
-
- * GemContext now handles the default messages on it's own (override
- virtual if you want a different behaviour)
-
-2011-02-22 11:26 zmoelnig
-
- * pimpled w32 window to allow easier creation of sharedContext
-
-2011-02-21 17:47 zmoelnig
-
- * some minor fixes
-
-2011-02-21 16:43 zmoelnig
-
- * made gemw32window do something under w32
-
-2011-02-21 15:53 zmoelnig
-
- * properly initialize
-
-2011-02-21 15:37 zmoelnig
-
- * draft for w32window
-
-2011-02-21 15:31 zmoelnig
-
- * get rid of unused functions
-
-2011-02-21 15:04 zmoelnig
-
- * protect with HAVE_LIBX11
-
-2011-02-21 15:04 zmoelnig
-
- * hmm, unicap uses 'private' as variablename
-
-2011-02-21 14:58 zmoelnig
-
- * made some more members virtual
-
-2011-02-21 14:56 zmoelnig
-
- * stripped down for new GemContext members
-
-2011-02-21 14:53 zmoelnig
-
- * stripped down for new GemContext members
-
-2011-02-21 14:51 zmoelnig
-
- * stripped down for new GemContext members
-
-2011-02-21 14:51 zmoelnig
-
- * move common attributes into GemContext (to guarantee compat
-
-2011-02-21 14:23 zmoelnig
-
- * added installers for plugins
-
-2011-02-21 14:09 zmoelnig
-
- * updated M$VC project
-
-2011-02-21 14:07 zmoelnig
-
- * inlude GemException.h
-
-2011-02-21 14:04 zmoelnig
-
- * experiments with CPPEXTERN_MSG (seems to work just fine on w32)
-
-2011-02-21 14:03 zmoelnig
-
- * sys_bashfilename needs a writeable buffer
-
-2011-02-21 14:02 zmoelnig
-
- * hmm, fixed typos in exception-string construction
-
-2011-02-21 14:02 zmoelnig
-
- * w32 does not have types like uint8_t
-
-2011-02-21 14:00 zmoelnig
-
- * minor w32 fixes (to avoid warnings)
-
-2011-02-21 13:59 zmoelnig
-
- * oops, prevent recursive call
-
-2011-02-21 13:58 zmoelnig
-
- * M$VC does not like "#warning"
-
-2011-02-21 12:51 zmoelnig
-
- * changed encoding to UTF8
-
-2011-02-21 12:26 zmoelnig
-
- * only built videoDarwin if this will succeed
-
-2011-02-20 13:59 zmoelnig
-
- * fixed crasher bug with 0-lenth list
-
-2011-02-19 10:41 zmoelnig
-
- * check whether GL_ATI_texture_float is supported
-
- to avoid loads of "invalid GLenumerant" errors on hw that does
- not
- support this
- LATER: add support (and checks) for other float formats
-
-2011-02-18 18:36 zmoelnig
-
- * use RGBA16 as internal type; this allows for higher precision in
- the textures; i wonder whether it will make any problems
-
-2011-02-18 17:46 zmoelnig
-
- * oops, incidentally disabled RGBA...back again
-
-2011-02-18 17:39 zmoelnig
-
- * removed unused code
-
-2011-02-18 17:35 zmoelnig
-
- * don't dump the content to the pdconsole
-
-2011-02-18 17:34 zmoelnig
-
- * code cleanup
-
-2011-02-18 11:53 zmoelnig
-
- * playing around with menus
-
-2011-02-18 11:52 zmoelnig
-
- * info() now also takes vector<atom>
-
-2011-02-18 11:52 zmoelnig
-
- * setDimensions() now takes uintS
-
-2011-02-18 11:51 zmoelnig
-
- * removed Pd message callbacks
-
-2011-02-18 11:51 zmoelnig
-
- * cleaned up; added comments; removed unsued cruft
-
-2011-02-18 11:09 nusmuk
-
- * adding a new example, to create panoramique picture based on
- multiple images
-
-2011-02-17 22:12 zmoelnig
-
- * honour GemSettings for width/height
-
-2011-02-17 22:12 zmoelnig
-
- * adapt to new interface of GemSettings
-
-2011-02-17 22:11 zmoelnig
-
- * remove Pd traces from public interface; reduce Pd traces in
- implementation
-
-2011-02-17 22:11 zmoelnig
-
- * GemMan::m_title is now a std::string
-
-2011-02-17 22:10 zmoelnig
-
- * use bool for boolean values
-
-2011-02-17 22:09 zmoelnig
-
- * FreeGLUT displaylist sharing
-
-2011-02-17 22:09 zmoelnig
-
- * use FREETYPE define rather than OS-specifics
-
-2011-02-17 22:08 zmoelnig
-
- * cleaner code with offset/dimen
-
-2011-02-17 22:07 zmoelnig
-
- * use std::containers rather than our own cruft
-
-2011-02-17 18:54 zmoelnig
-
- * add hint about context sharing in glut
-
-2011-02-17 18:44 zmoelnig
-
- * width/height is unsigned
-
-2011-02-17 18:37 zmoelnig
-
- * getting rid of real_*
-
-2011-02-17 18:24 zmoelnig
-
- * more verbosity
-
-2011-02-17 18:19 zmoelnig
-
- * try to allocate the highest possible speed
-
-2011-02-17 18:14 zmoelnig
-
- * sharedContext
-
-2011-02-17 17:28 zmoelnig
-
- * FIXME shared context
-
-2011-02-17 17:19 zmoelnig
-
- * fixed position callback
-
-2011-02-17 16:59 zmoelnig
-
- * C++ forbids to enum--
-
-2011-02-17 16:54 zmoelnig
-
- * finally made resizing work correctly; implement cursorMess
-
-2011-02-17 16:28 zmoelnig
-
- * indentation
-
-2011-02-17 16:18 zmoelnig
-
- * make print a method
-
-2011-02-17 16:02 zmoelnig
-
- * argh...APPLE keeps changing types and does not provide nice
- macros
-
-2011-02-17 15:25 zmoelnig
-
- * check for glx.
-
-2011-02-17 15:11 zmoelnig
-
- * removed AGL
-
-2011-02-17 15:10 zmoelnig
-
- * fixed comment
-
-2011-02-17 15:08 zmoelnig
-
- * removed uneeded includes and members
-
-2011-02-17 15:05 zmoelnig
-
- * removed extra GL-includes
-
-2011-02-17 14:40 zmoelnig
-
- * disable glew by default; check for cocoa
-
-2011-02-17 14:39 zmoelnig
-
- * allow to set default argument for GEM_CHECK_LIB
-
-2011-02-17 14:00 zmoelnig
-
- * tried fixing the operation-mode problem
-
-2011-02-17 13:40 zmoelnig
-
- * start/stopRendering invalidates GemState and GemCache
-
-2011-02-17 13:39 zmoelnig
-
- * don't postrender/render is there is no state
-
-2011-02-17 12:43 zmoelnig
-
- * empty directory for QTKit video backend
-
-2011-02-17 12:03 zmoelnig
-
- * argh...APPLE keeps changing types and does not provide nice
- macros
-
-2011-02-17 11:58 zmoelnig
-
- * argh...APPLE keeps changing types...
-
-2011-02-17 11:37 zmoelnig
-
- * replaced NSUInteger with 'unsigned long' as the former does not
- exist <10.5
-
-2011-02-17 11:24 zmoelnig
-
- * made dimen/offset messages do what they should
-
-2011-02-17 10:21 zmoelnig
-
- * applied PIMPL
-
-2011-02-17 10:05 zmoelnig
-
- * callbacks for size changes
-
-2011-02-17 09:36 zmoelnig
-
- * avoid double implementation
-
-2011-02-16 18:32 zmoelnig
-
- * finally it renders
-
-2011-02-16 18:14 zmoelnig
-
- * it doesn't render...
-
-2011-02-16 16:47 nusmuk
-
- * oups, adding the image that was forgotten in the initial release.
-
-2011-02-16 14:00 zmoelnig
-
- * creating windows using cocoa
-
-2011-02-16 13:59 zmoelnig
-
- * have to link against Cocoa
-
-2011-02-16 11:16 zmoelnig
-
- * code cleanup
-
-2011-02-16 11:12 zmoelnig
-
- * renamed ::id to ::atomtype_id to keep ObjC happy
-
-2011-02-16 10:35 zmoelnig
-
- * non-working cocoa code
-
-2011-02-16 10:34 zmoelnig
-
- * tweaks for OSX
-
-2011-02-15 17:26 zmoelnig
-
- * rendered
-
-2011-02-15 17:21 zmoelnig
-
- * dispatcher clock
-
-2011-02-15 17:09 zmoelnig
-
- * window creates (but doesn't do much)
-
-2011-02-15 16:50 zmoelnig
-
- * adapt for new GemContext interface
-
-2011-02-15 16:49 zmoelnig
-
- * simple create/destroy messages
-
-2011-02-15 16:49 zmoelnig
-
- * more pure virtual functions
-
-2011-02-15 13:50 zmoelnig
-
- * and now it even loads (but doesn't do anything yet)
-
-2011-02-15 13:43 zmoelnig
-
- * finally it compiles
-
-2011-02-15 13:29 zmoelnig
-
- * implemented some callbacks
-
-2011-02-15 13:23 zmoelnig
-
- * use helper-classes for msg-callbacks
-
-2011-02-15 13:22 zmoelnig
-
- * added some more template specializations
-
-2011-02-15 13:07 zmoelnig
-
- * utilities for message callbacks
-
-2011-02-15 09:40 zmoelnig
-
- * more conversions from event->infoMsg
-
-2011-02-15 09:12 zmoelnig
-
- * started to replace the eventStuff by calls to GemContext::key()
- and friends
-
-2011-02-14 19:11 zmoelnig
-
- * optimize GemState a bit (still eats a lot of CPU)
-
-2011-02-14 19:10 zmoelnig
-
- * use boolean values for boolean values
-
-2011-02-14 19:10 zmoelnig
-
- * use boolean values for boolean values
-
-2011-02-14 19:09 zmoelnig
-
- * use boolean values for boolean values
-
-2011-02-14 18:59 zmoelnig
-
- * make bad_any_cast::what() return the type problem as a
- std::string
-
-2011-02-14 16:48 zmoelnig
-
- * still nogo
-
-2011-02-14 16:30 zmoelnig
-
- * help-struct gemmacwindow::Info
-
-2011-02-14 16:26 zmoelnig
-
- * still non-compiling
-
-2011-02-14 16:03 zmoelnig
-
- * non-working copy of GemWinCreateMac to gemmacwindow
-
-2011-02-14 15:34 zmoelnig
-
- * removed unused files
-
-2011-02-14 15:30 zmoelnig
-
- * adapted to new GemContext interface
-
-2011-02-14 15:29 zmoelnig
-
- * made create/destroy pure virtual
-
-2011-02-14 14:27 zmoelnig
-
- * ...
-
-2011-02-14 12:36 zmoelnig
-
- * less verbosity (in loader)
-
-2011-02-14 12:35 zmoelnig
-
- * even less verbosity in loader
-
-2011-02-14 12:32 zmoelnig
-
- * fail to instantiate if no FreeFrame plugin exists
-
-2011-02-14 10:54 zmoelnig
-
- * updated frei0r.h and use t_param_string
-
-2011-02-14 08:41 zmoelnig
-
- * only output shaderID on load
-
- LATER check whether we need to output '0' if no shader is loaded
-
-2011-02-12 13:06 nusmuk
-
- * adding an example about using multiple projector to render an
- inmage on a non flat surface
-
-2011-02-11 21:00 zmoelnig
-
- * updated help
-
-2011-02-11 20:47 zmoelnig
-
- * create inlets
-
-2011-02-11 20:33 zmoelnig
-
- * first working pix_frei0r
-
-2011-02-11 19:46 zmoelnig
-
- * more gracefule handling of (non)present extension
-
-2011-02-11 19:29 zmoelnig
-
- * 1st draf of pix_frei0r implementation
-
-2011-02-11 17:23 zmoelnig
-
- * added missing help
-
-2011-02-11 17:06 zmoelnig
-
- * better warning
-
-2011-02-11 17:04 zmoelnig
-
- * renamed maxmode to maxdepth to avoid confusion
-
-2011-02-11 17:02 zmoelnig
-
- * use GLStack::push/pop() for safer pushing/popping of matrices
-
-2011-02-11 16:40 zmoelnig
-
- * allow RGB and RGBA background-color for framebuffer
-
-2011-02-11 13:45 zmoelnig
-
- * imageStruct::getRGB() should also return Alpha value (as should
- [pix_data])
-
-2011-02-10 20:01 zmoelnig
-
- * only manipulate GL_COLOR stack if we have ARB_imaging
-
-2011-02-10 17:13 zmoelnig
-
- * don't crash when window is closed with X
-
-2011-02-10 16:53 zmoelnig
-
- * make sure we really got an image at the rightInlet
-
-2011-02-10 12:55 zmoelnig
-
- * push back pix after processing
-
-2011-02-03 12:19 zmoelnig
-
- * made it compile again
-
-2011-02-03 12:16 zmoelnig
-
- * fixed preprocessor-defines
-
-2011-02-03 12:07 zmoelnig
-
- * re-ordered code
-
-2011-02-03 10:14 zmoelnig
-
- * some small macros
-
-2011-02-02 18:41 zmoelnig
-
- * extra rule for gemcocoawindow.pd_darwin
-
-2011-02-02 18:41 zmoelnig
-
- * autorelease pool...doesn't work anyhow
-
-2011-02-02 18:32 zmoelnig
-
- * fake implementations of methods
-
-2011-02-02 18:25 zmoelnig
-
- * compiled again on OSX
-
-2011-02-02 18:12 zmoelnig
-
- * let's try to make a window
-
-2011-02-02 18:12 zmoelnig
-
- * removed more glut traces
-
-2011-02-02 18:05 zmoelnig
-
- * some STL implementations lack std::vector::data()
-
-2011-02-02 18:00 zmoelnig
-
- * some STL implementations don't seem to have vector::data()
-
-2011-02-02 17:50 zmoelnig
-
- * made it compile on OSX
-
-2011-02-02 17:48 zmoelnig
-
- * removed glut traces; gemcocoawindow decaration
-
-2011-02-02 17:46 zmoelnig
-
- * another try
-
-2011-02-02 17:00 zmoelnig
-
- * still far from working
-
-2011-02-02 16:18 zmoelnig
-
- * skeleton for Cocoa-Window
-
-2011-02-02 15:40 zmoelnig
-
- * use std::string rather than t_symbol*
-
-2011-02-02 15:31 zmoelnig
-
- * made it compile on OSX
-
-2011-02-02 15:11 zmoelnig
-
- * include headers for OSX
-
-2011-02-02 12:31 zmoelnig
-
- * made UTF-8 keys work
-
-2011-02-02 10:10 zmoelnig
-
- * indentation
-
-2011-02-02 10:09 zmoelnig
-
- * renamed gemXwindow to gemglxwindow
-
-2011-02-02 09:59 zmoelnig
-
- * glx implementation
-
-2011-02-02 09:58 zmoelnig
-
- * GemContext::info() now needs std::string
-
-2011-02-02 09:57 zmoelnig
-
- * move private data to PIMPL
-
- extended interface to info();
- made it more C++ and less Pd
- delayed output of info() (to prevent crashes)
-
-2011-02-02 09:55 zmoelnig
-
- * made members/dtor virtual to allow inheritance
-
-2011-02-01 17:24 zmoelnig
-
- * moved code out of GLEW_MX (hopefully this works...)
-
-2011-02-01 17:24 zmoelnig
-
- * make GemContext a friend of GemMan (for now)
-
-2011-02-01 17:23 zmoelnig
-
- * stub for X-window
-
-2011-01-31 18:19 zmoelnig
-
- * use GemState accessors
-
-2011-01-31 18:10 zmoelnig
-
- * all particle objects are now derived from partlib_base
-
-2011-01-31 17:48 zmoelnig
-
- * objects that override render() have to deal with GemState
- accessors themselves
-
-2011-01-31 17:14 zmoelnig
-
- * use GemState accessors
-
-2011-01-31 17:14 zmoelnig
-
- * use GemState accessors
-
-2011-01-31 16:40 zmoelnig
-
- * use GemState accessors
-
-2011-01-31 16:36 zmoelnig
-
- * using GemState accessors
-
-2011-01-31 15:47 zmoelnig
-
- * use GemState accessors
-
-2011-01-31 15:46 zmoelnig
-
- * use GemState accessors
-
-2011-01-31 14:49 zmoelnig
-
- * use GemShape proxy values rather than accessing GemState members
-
-2011-01-31 14:48 zmoelnig
-
- * use GemState.set/get rather than directly accessing the member
- vars
-
-2011-01-31 14:48 zmoelnig
-
- * use GemState.set/get rather than directly accessing the member
- vars
-
-2011-01-31 13:05 zmoelnig
-
- * updated to new API
-
-2011-01-31 12:44 zmoelnig
-
- * removed config.h.in as this is generated by autoheader
-
-2011-01-31 12:43 zmoelnig
-
- * use the first handle that opens a target
-
-2011-01-31 12:14 zmoelnig
-
- * better colormodel handling
-
-2011-01-31 11:57 zmoelnig
-
- * fixed framerate; prevent crashes if codec doesn't like image
-
-2011-01-31 10:15 zmoelnig
-
- * removed old (unused) code
-
-2011-01-31 10:14 zmoelnig
-
- * only try to set the codec if it has been define
-
-2011-01-31 10:13 zmoelnig
-
- * fixed typo
-
-2011-01-30 14:41 zmoelnig
-
- * added simple implementation for strnlen() if it is missing
-
-2011-01-30 14:39 zmoelnig
-
- * added check for strnlen()
-
-2011-01-27 12:22 zmoelnig
-
- * strnlen is defined in string.h
-
-2011-01-26 16:48 zmoelnig
-
- * made loader work again
-
-2011-01-26 16:30 zmoelnig
-
- * allow to set paramters by name
-
-2011-01-26 16:07 zmoelnig
-
- * renamed check() to checkDimen() to keep OSX happy
-
-2011-01-26 16:05 zmoelnig
-
- * updated FreeFrame.h
-
-2011-01-24 12:17 zmoelnig
-
- * protect HAVE_UNICAP
-
-2011-01-24 11:12 zmoelnig
-
- * fix configure.ac
-
-2011-01-22 16:20 zmoelnig
-
- * tried to stabilize things (no luck)
-
- sometimes you have to set the device-name and/or(?) the
- resolution of the device
- before starting the transfer (e.g. turning rendering on), else it
- will simply fail
- i believe this is a bug in (my old version of) unicap.
- e.g. my PS3-eye which definitely only supports 640x480,
- enumerates a single
- format (good) of 768x576 (oops!)
-
-2011-01-22 15:41 zmoelnig
-
- * prevent double restarting of device
-
-2011-01-22 14:36 zmoelnig
-
- * added videopipes (with URLs)
-
-2011-01-21 16:58 zmoelnig
-
- * turned off debugging printout
-
-2011-01-21 16:57 zmoelnig
-
- * added videoUNICAP to buildsystem
-
-2011-01-21 16:57 zmoelnig
-
- * restart transfer when changing dimension
-
- hmm, this stops acquisition on my laptop: seems to be related to
- the device not
- properly starting
-
-2011-01-21 16:56 zmoelnig
-
- * renamed from Lock to Mutex
-
-2011-01-21 16:56 zmoelnig
-
- * copyright header
-
-2011-01-21 16:55 zmoelnig
-
- * capturing seems to work (with system buffers); props too
-
- TODO: dimension/format setting
- user-buffer
- capturing seems to not start on startup
-
-2011-01-21 16:54 zmoelnig
-
- * wrapper class for mutex
-
-2011-01-21 16:54 zmoelnig
-
- * copyright fix
-
-2011-01-21 16:53 zmoelnig
-
- * implementing unicap backend: start/stop device
-
-2011-01-21 16:53 zmoelnig
-
- * stripped everythig off
-
-2011-01-21 16:52 zmoelnig
-
- * V4L2 copied as templates for UNICAP
-
-2011-01-19 18:06 zmoelnig
-
- * made it compile
-
-2011-01-19 18:04 zmoelnig
-
- * forgot to declare types
-
-2011-01-19 18:02 zmoelnig
-
- * add YUV format
-
-2011-01-19 17:27 zmoelnig
-
- * made EOM work properly
-
-2011-01-19 17:09 zmoelnig
-
- * fixing the EOM
-
-2011-01-19 17:04 zmoelnig
-
- * removed verbose output
-
-2011-01-19 17:00 zmoelnig
-
- * added some seeking functionality & removed unneeded code
-
-2011-01-18 17:07 zmoelnig
-
- * correctly parse UTF-8 encoded symbols
-
-2011-01-18 10:11 zmoelnig
-
- * added docs about arguments (thanks max)
-
-2011-01-12 18:48 zmoelnig
-
- * turn lighting on
-
-2011-01-12 18:45 zmoelnig
-
- * set the window dimension to 512x512
-
-2011-01-12 13:27 zmoelnig
-
- * properly get timestamp
-
-2011-01-12 13:04 zmoelnig
-
- * implement some properties
-
-2011-01-12 12:32 zmoelnig
-
- * adapted videoDV4L to the new API
-
-2011-01-11 11:28 zmoelnig
-
- * optional frametable support
-
- older versions of gmerlin-avdecoder don't have frametable support
-
-2011-01-10 14:55 zmoelnig
-
- * need to get the cstring from std::string
-
-2011-01-10 14:53 zmoelnig
-
- * fix lqt_set_video_parameter() version hickups
-
- older versions of lqt had the key as "char*" whereas modern
- versions use "const
- char*"
-
-2011-01-08 14:07 zmoelnig
-
- * getting rid of verbose output
-
-2011-01-06 15:41 zmoelnig
-
- * getting rid of unused variables
-
- LATER: check the uss of m_startRecord/m_stopRecord in recordQT
-
-2011-01-06 15:40 zmoelnig
-
- * (partially) adapted to new gem::record API
-
- changed setCodec(string) and open(string);
-
- TODO: getCodecs() & make setCodec(string) work on all available
- codecs
-
-2011-01-06 15:40 zmoelnig
-
- * upside down
-
-2011-01-06 15:39 zmoelnig
-
- * updated to new API
-
-2011-01-06 15:38 zmoelnig
-
- * adapted to new API of gem::record
-
-2011-01-06 15:37 zmoelnig
-
- * protect against empty images
-
- and some verbose output
-
-2011-01-06 15:37 zmoelnig
-
- * protect against empty image
-
-2011-01-06 15:36 zmoelnig
-
- * removed internal setCodec() (not needed any more)
-
-2011-01-05 20:48 zmoelnig
-
- * get rid of m_recordStart/m_recordStop
-
-2011-01-05 20:47 zmoelnig
-
- * changed type-names to uppercase
-
- "float" has problems with Pd, so let's use "Float"
-
-2011-01-05 20:47 zmoelnig
-
- * getting rid of outrageous debugging output
-
-2011-01-05 20:46 zmoelnig
-
- * first attempt to implement properties
-
- seems to work!
-
-2011-01-05 20:45 zmoelnig
-
- * property enumeration
-
-2011-01-05 20:45 zmoelnig
-
- * better codec-selection scheme
-
- immediately check whether a codec can be set in setCodec(),
- rather than
- deferring it to the init() phase
-
-2011-01-05 20:44 zmoelnig
-
- * remember name of successfully opened codec
-
-2011-01-05 20:43 zmoelnig
-
- * remove size()
-
-2011-01-05 20:43 zmoelnig
-
- * use exceptions/error() where appropriate
-
-2011-01-05 20:42 zmoelnig
-
- * moved m_width/m_height into implementations
-
-2011-01-05 20:41 zmoelnig
-
- * setCodec() (re)implemented using std::string
-
-2011-01-05 20:41 zmoelnig
-
- * new way of handling codecs
-
- a selected codec selects a number of handles that provide the
- given codec
-
-2011-01-05 20:40 zmoelnig
-
- * getting rid of position(), m_xoff & m_yoff
-
-2011-01-05 20:39 zmoelnig
-
- * getting rid of m_minFrames and m_maxFrames
-
- theses variables are never used
-
-2011-01-05 20:39 zmoelnig
-
- * reset frame-counter at start-recording
-
-2011-01-05 20:38 zmoelnig
-
- * get rid of internal m_currentFrame
-
- this ought to be tracked in pix_record if needed
-
-2011-01-05 20:37 zmoelnig
-
- * putFrame() now returns bool rather than int
-
-2011-01-05 20:36 zmoelnig
-
- * separate internal from external gem::record API
-
- gem::record implementations implement open(), close() &
- putFrame()
- whereas pix_record access these via wrappers start(), stop() &
- write()
-
-2011-01-05 20:36 zmoelnig
-
- * started to implement new getCodecs-API
-
-2011-01-05 20:35 zmoelnig
-
- * send codec-details to the outlet
-
-2011-01-05 20:34 zmoelnig
-
- * slowly changing gem::record API: swich to std::string
-
-2011-01-04 14:07 zmoelnig
-
- * prevent double keypress event generation
-
-2011-01-03 12:48 zmoelnig
-
- * getting rid of size()/position()
-
- and moved some variables from record to recordQT
-
-2011-01-01 20:13 zmoelnig
-
- * added property-settings help
-
-2011-01-01 20:13 zmoelnig
-
- * property settings
-
-2010-12-30 10:15 nusmuk
-
- * add example for using matrix of screen to create a huge display
-
-2010-12-10 18:33 zmoelnig
-
- * forgot to add RTE
-
-2010-12-09 15:43 zmoelnig
-
- * use RTE::Array rather than directly accessing Pd's arrays
-
- this hopefully fixes the problems on 64bit
-
-2010-12-09 15:42 zmoelnig
-
- * rgb2gray conversion parameters fix
-
- if we use the Y(UV) parameters, we also need the Y_OFFSET
-
-2010-12-09 15:41 zmoelnig
-
- * set-message for arrays
-
-2010-12-08 20:30 zmoelnig
-
- * fixed NULL-pointer access (closes: 3078043)
-
-2010-12-08 20:18 zmoelnig
-
- * mention 'set' message
-
-2010-12-08 20:11 zmoelnig
-
- * fixes #3126880
-
-2010-12-08 20:09 zmoelnig
-
- * fixes #3126893
-
-2010-12-08 20:05 zmoelnig
-
- * fixes #3126895
-
-2010-12-08 20:01 zmoelnig
-
- * font-size 10
-
-2010-12-08 19:49 zmoelnig
-
- * non-random ID generation
-
-2010-12-07 11:25 zmoelnig
-
- * floatarray wrapper
-
-2010-12-01 13:47 zmoelnig
-
- * shaderID - atom mapping revised
-
- use hashmaps for GLuint<->t_float mapping;
- some minor cleanups in verbose output
-
-2010-11-18 12:09 zmoelnig
-
- * pylonified
-
-2010-11-10 17:17 zmoelnig
-
- * cleaned up
-
- Properties stuff is now fully based on std::map;
- reindentation...
-
-2010-11-10 17:14 zmoelnig
-
- * add pylonutilities to the libs
-
-2010-11-10 15:48 zmoelnig
-
- * reorganized code using loads of preprocessor magic
-
-2010-11-10 15:40 zmoelnig
-
- * removed Pd's reference path
-
-2010-11-10 15:39 zmoelnig
-
- * renamed continuousGrab to asynchronousGrab
-
-2010-11-10 15:38 zmoelnig
-
- * renamed "continuousGrab" to "asynchronuousGrab"
-
-2010-11-10 15:03 zmoelnig
-
- * use Prop-types
-
-2010-11-10 11:38 zmoelnig
-
- * converter class using pylons ImageConvert routines
-
-2010-11-09 15:09 zmoelnig
-
- * converter (half-working)
-
-2010-11-09 15:08 zmoelnig
-
- * property-handling using std::map
-
-2010-11-09 15:07 zmoelnig
-
- * check for pylonutilities...
-
-2010-11-03 19:21 zmoelnig
-
- * init
-
-2010-11-03 19:21 zmoelnig
-
- * fixed typo: its StreamGrabberProperties.cpp
-
-2010-11-03 10:40 zmoelnig
-
- * moved the properties code into separate cxx files
-
-2010-11-03 10:03 zmoelnig
-
- * indentation
-
-2010-11-02 19:59 zmoelnig
-
- * simplistic protection against negative enum values
-
-2010-11-02 19:59 zmoelnig
-
- * output to Pd rather than std::cerr
-
-2010-11-02 19:11 zmoelnig
-
- * no debugging output
-
-2010-11-02 19:10 zmoelnig
-
- * debugging output during enumeration
-
-2010-11-02 19:07 zmoelnig
-
- * don't erase() props before using their values to set()
-
-2010-11-02 18:01 zmoelnig
-
- * delete props when getting (to make sure to only return props
- readable)
-
-2010-11-02 17:45 zmoelnig
-
- * made it compile...
-
-2010-11-02 17:40 zmoelnig
-
- * added properties to AVT (not tested at all...)
-
-2010-11-02 08:52 zmoelnig
-
- * hopefully thread-safed the grabContinuous()
-
-2010-11-01 21:17 zmoelnig
-
- * fixes continuous message
-
- TODO: setting the continuous flag in video::PIMPL is still prone
- to
- race-conditions
-
-2010-11-01 19:37 zmoelnig
-
- * made continuous grabbing settable from outside
-
-2010-11-01 18:45 zmoelnig
-
- * properly thawing/freezing
-
-2010-11-01 16:20 zmoelnig
-
- * freeze() in the loop; thaw() when stopping the capture thread
-
-2010-11-01 14:55 zmoelnig
-
- * thaw in frameRelease()
-
-2010-11-01 14:54 zmoelnig
-
- * experiment with signalling
-
- to avoid unneccessary overhead when capturing
-
-2010-10-31 22:31 zmoelnig
-
- * removed debugging printout
-
-2010-10-31 21:51 zmoelnig
-
- * removed PDREFPATH
-
- no need to keep installation compatibility with outdated Pd's
-
-2010-10-31 21:49 zmoelnig
-
- * more attributes for pylon
-
-2010-10-31 21:48 zmoelnig
-
- * indentation
-
-2010-10-31 21:47 zmoelnig
-
- * better algorithm for extracting the backends from the dll-listing
-
-2010-10-31 14:50 zmoelnig
-
- * dllexport as needed
-
-2010-10-31 14:49 zmoelnig
-
- * properly return in non-void functions
-
-2010-10-31 14:47 zmoelnig
-
- * must not dllexport a function definition (only declarations are
- allowed)
-
-2010-10-31 13:52 zmoelnig
-
- * snprintf and M$VC fix
-
-2010-10-31 13:49 zmoelnig
-
- * fixed w32 issues
-
-2010-10-30 19:17 zmoelnig
-
- * adapted to new interface
-
-2010-10-30 17:45 zmoelnig
-
- * clean up of the halcon code
-
- also allow to acces devices by number (if enumerated)
-
-2010-10-30 12:02 zmoelnig
-
- * fixed typo with Hans' name
-
-2010-10-30 12:02 zmoelnig
-
- * V4L2: getting rid of set... stuff as this is now handled via
- properties
-
-2010-10-30 12:01 zmoelnig
-
- * V4L1: initial support for new properties interface
-
-2010-10-30 12:01 zmoelnig
-
- * initial support for new interface...
-
- NOTE: need to restart when channel changes
-
-2010-10-30 12:00 zmoelnig
-
- * get rid of the set...() stuff, as this is now handled by
- setProperties()
-
-2010-10-30 12:00 zmoelnig
-
- * video::getProperties also reports empty properties
-
- i don't know whether this will ever happen.
- but if a property is set to type==NONE when reading, it is sent
- to the info-out
-
-2010-10-30 11:59 zmoelnig
-
- * "enumerate" video-devices now reports to the infoout
-
- we also append the backend for a given video-device to the info
-
-2010-10-30 11:59 zmoelnig
-
- * return a value in assign()
-
- forgot to 'return (*this);' in assignment operator (g++ is a bit
- lax here...)
-
-2010-10-30 11:58 zmoelnig
-
- * copy constructor and assignment for Properties
-
-2010-10-28 10:58 zmoelnig
-
- * property getting
-
- ah, those enumerations...
-
-2010-10-28 08:29 zmoelnig
-
- * moved expandEnv into GemFiles
-
-2010-10-27 17:11 zmoelnig
-
- * adapted to new API (that requires openDevice() to be called with
- props)
-
-2010-10-27 17:10 zmoelnig
-
- * first working version
-
-2010-10-27 09:18 zmoelnig
-
- * no need to link against (non-existant) libpyloncpp
-
-2010-10-27 08:25 zmoelnig
-
- * enumerate backends, simple device selection
-
- try to enlist all known backends, by searching for files in
- ${HALCONROOT}/lib/${HALCONARCH}
-
- also enumerate available devices (either of the active backend or
- of all
- backends) and allow the user to open this without the complicated
- videoHALCON
- syntax (e.g. if enumeration reports
- "0030530f8e64_Basler_scA640120gm" for the
- "GigEVision" backend, then using a device
- "0030530f8e64_Basler_scA640120gm" will
- automatically use the correct backend
-
-2010-10-26 19:57 nusmuk
-
- * better help file for pix_data
-
-2010-10-25 11:05 zmoelnig
-
- * get/set parameters
-
- sometimes this still acts weird:
- parameters reported to be supported are not;
- types are wrong...
-
-2010-10-25 10:41 nusmuk
-
- * add a better exemple for geometry shader
-
-2010-10-25 09:48 zmoelnig
-
- * updated to new interface - implemented get/enum props
-
-2010-10-25 08:44 zmoelnig
-
- * openDevice() now also sets initial gem::Properties
-
-2010-10-25 08:24 zmoelnig
-
- * remove unneccessary variables; initialize vars
-
-2010-10-25 08:22 zmoelnig
-
- * properly initialize the v4l2_format and minimize ioctlS
-
- call G_FMT to initialize the v4l2_format structure (else some
- drivers would try
- to set the dimension of the capture image to "0,0" and returning
- some minimal
- framesize...)
-
- also avoid calling S_FMT if everything is as we expect it
- anyhow...
-
-2010-10-25 08:15 zmoelnig
-
- * make sure QUERYCTRL is called with the correct id
-
- some drivers modify the queryctrl.id, making the for-loop
- virtually
- return NEVER;
- therefore we use a separate loop-parameter
-
-2010-10-25 08:12 zmoelnig
-
- * debugging output
-
- this time we can separately set debugging-printout for xioctl,
- threads and
- normal
-
-2010-10-24 20:13 zmoelnig
-
- * debugging output
-
-2010-10-24 17:32 zmoelnig
-
- * properly shut down transfer in stopTransfer
-
- it seems like we have to cleanup the REQBUFS ioctl as well, by
- calling
- it and requesting "0" buffers.
- at least this shuts down the streaming in such a way that we can
- change the
- format of the captured image (eg. dimension)
-
-2010-10-24 17:32 zmoelnig
-
- * added comment on why we have to use G_FMT
-
- while S_FMT is supposed to update the fields of the format struct
- to the
- actually valid values, it seems to not do so (at least the
- "uvcvideo" driver).
- thus we have to manually call G_FMT
-
-2010-10-24 17:31 zmoelnig
-
- * removed dimension-setting from startTransfer
-
- width/height settings should really only be applied in
- setProperties
-
-2010-10-24 17:30 zmoelnig
-
- * use xioctl rather than v4l2_ioctl
-
- xioctl is a wrapper for v4l2_ioctl
-
-2010-10-24 17:30 zmoelnig
-
- * debugging printout
-
- added new define debugIOCTL for debugging v4l2_ioctlS.
- fixed typos in debugging output.
- removed unconditional debugging output
-
-2010-10-24 17:29 zmoelnig
-
- * don't set the channel in startTransfer
-
- this is done in setProperties() if needed
-
-2010-10-24 17:29 zmoelnig
-
- * removed "buggy driver paranoia", as it doesn't do anything
- meaningful
-
- all the code sets variables that are never ever used again
-
-2010-10-24 17:28 zmoelnig
-
- * moved and disabled the cropping code
-
- the old code tried to reset all cropping; moved this into
- setProperties() and
- disabled it for now (as i would like the interface to change as
- little as
- possible without the user explicitely requesting it)
-
-2010-10-24 17:27 zmoelnig
-
- * implemented and updated to new interface of plugin/video.h
-
- mostly setting of properties works now (at least for PARAMs)
-
-2010-10-24 17:27 zmoelnig
-
- * better debugging output
-
- either more readable code or more information or both
-
-2010-10-24 17:26 zmoelnig
-
- * updated properties interface and Pd-interface
-
- properties interface is more flexible;
- Pd interface allows to get data into patch
-
-2010-10-22 19:03 zmoelnig
-
- * starting to port to new interface
-
-2010-10-22 14:49 zmoelnig
-
- * get/set/enumerate properties
-
-2010-10-22 14:47 zmoelnig
-
- * get/set/enumerate properties
-
-2010-10-20 11:42 zmoelnig
-
- * more on properties
-
-2010-10-16 16:08 zmoelnig
-
- * notes
-
-2010-10-16 16:06 zmoelnig
-
- * simple string->any map
-
-2010-10-14 15:04 zmoelnig
-
- * PYLONified
-
-2010-10-14 14:50 zmoelnig
-
- * non-working prototype for PYLON backend
-
-2010-10-14 14:09 zmoelnig
-
- * example code how to get parameters
-
-2010-10-14 12:12 zmoelnig
-
- * asynchronous frame grabbing
-
- this seems to give us way better framerates
-
-2010-10-14 09:30 zmoelnig
-
- * only re-generate font if there is none
-
- previous code would re-generate the entire font each time the
- text was updated.
-
-2010-10-12 15:40 zmoelnig
-
- * when opening fails, reset the grabber to NULL (and fail to
- grabImage if so).
- also use defaults if no values are provided in the opener strings
-
-2010-10-12 15:38 zmoelnig
-
- * Status should not be defined as "int"
-
- ouch: Xlib.h defines "Status" as "int", but Halcon uses "Status"
- as a variable
- name.
-
-2010-09-30 11:57 zmoelnig
-
- * removed pix_drum/pix_mano from build process until we have a
- makefile for them
-
-2010-09-24 09:16 zmoelnig
-
- * include pix_mano/pix_drum
-
-2010-09-24 08:40 zmoelnig
-
- * added jaime's pix_mano/pix_drum objects
-
-2010-09-16 15:34 eighthave
-
- * replaced dead pure-data.org with puredata.info
-
-2010-09-06 13:59 zmoelnig
-
- * allow negative indices
-
- should fix #3054193
-
-2010-09-06 10:58 zmoelnig
-
- * hopefully better hashing algorithm
-
-2010-09-05 17:32 nusmuk
-
- * add a multitexture example, with texture of 2 diferents size.
- thanks to JACK
-
-2010-08-27 19:17 nusmuk
-
- * small bug fix about primitive size
-
-2010-08-27 09:16 nusmuk
-
- * add .obj exportation exemple
-
-2010-08-22 17:58 zmoelnig
-
- * glmTexture() has to be called before compiling the display lists
-
-2010-08-17 12:44 zmoelnig
-
- * GEM_CHECK_LIB also defines HAVE_function
-
-2010-08-17 09:58 zmoelnig
-
- * use "lqt_seek_video" is available
-
-2010-08-17 08:43 zmoelnig
-
- * remove #warning
-
-2010-08-17 08:41 zmoelnig
-
- * use frametable if possible
-
-2010-08-16 13:42 zmoelnig
-
- * try to avoid seeking if next frame would be the requested frame
- anyhow
-
-2010-08-16 13:23 zmoelnig
-
- * added note about double-size...
-
-2010-08-07 18:24 zmoelnig
-
- * implemented fromARGB()
-
-
- v4l2 devices with FMT_RGB32 return ARGB -> now
- we finally have to correct colors!
-
-2010-08-07 17:44 zmoelnig
-
- * forgot to check for "-fPIC"
-
- "-fPIC" is needed on x86_64...
-
-2010-08-04 11:29 zmoelnig
-
- * fromBGRA() is now implemented
-
-2010-08-04 10:05 zmoelnig
-
- * more verbose output; comment about why RGB32 is a bad idea
-
-2010-08-02 13:22 zmoelnig
-
- * include <sys/stat.h> to use fstat
-
- backport of ubuntu patch
-
-2010-07-15 15:12 zmoelnig
-
- * added recordV4L and recordV4L2
-
-2010-07-15 11:41 nusmuk
-
- * change the draw message from fill to default
-
-2010-07-15 11:40 zmoelnig
-
- * less verbose output
-
-2010-07-15 11:32 zmoelnig
-
- * made the V4L2 loopback device work
-
-2010-07-15 10:23 zmoelnig
-
- * skeleton for recordV4L2
-
-2010-07-14 17:56 zmoelnig
-
- * added (disabled) code from effectv to show how to react on ioctls
- from the
- client
-
-2010-07-14 15:32 zmoelnig
-
- * we can now write to a v4l loopback device
-
-2010-07-14 13:06 zmoelnig
-
- * more skeleton (still no functionality)
-
-2010-07-14 12:59 zmoelnig
-
- * skeleton for a pix-output to v4l loopback
-
-2010-07-14 12:45 zmoelnig
-
- * careful with auto_ptr and copy-assignment
-
- override assignment operator in order to prevent crashes.
- fixes #3029467
-
-2010-07-14 12:12 zmoelnig
-
- * moved comment to the proper place
-
-2010-07-14 11:11 zmoelnig
-
- * support for non-libv4l
-
- "open()" and the like need to by FQND'd ("::open()") in order to
- not interfere
- with class methods ("videoV4L::open()")
-
-2010-07-14 11:03 nusmuk
-
- * add repeat(int) and quality(int) message to pix_imageInPlace
-
-2010-07-14 10:33 nusmuk
-
- * pix_imageInPlace crash if you preload images, and then click on
- download, without creating a windows first.
- this commit should fix this bug.
-
-2010-07-13 07:25 zmoelnig
-
- * cleaned up code a bit
-
- changed "post" to "verbose"
- TODO: shared memory for w32
-
-2010-07-13 07:23 zmoelnig
-
- * "force install verbose" autoreconf
-
-2010-07-09 12:20 zmoelnig
-
- * prevent double-binding of [pix_filmQT]
-
- Pd bails out if we call class_addcreator() 2 times for the same
- name/ctor.
- it probably should check
-
-2010-07-09 12:10 zmoelnig
-
- * "open"-message is now an alias for both "startRendering()" (with
- no args) and for "driver" (with 1 arg; for compatibility reasons)
-
-2010-07-09 11:41 zmoelnig
-
- * this configure is for Gem's extras
-
-2010-07-08 17:34 zmoelnig
-
- * svn-version is now handled by make rather than autoconf
-
-2010-07-08 17:33 zmoelnig
-
- * optionally add objectname/object to the generic exception handler
-
- this allows the generic handler to display the correct
- object-name
-
-2010-07-08 12:22 zmoelnig
-
- * untested support for bayer-images
-
-2010-07-02 19:33 zmoelnig
-
- * renamed gemversion.sh to pkgversion.sh
-
-2010-07-02 19:16 zmoelnig
-
- * removed verbose printout
-
-2010-07-02 19:09 zmoelnig
-
- * dynamic version handling
-
- LATER: turn "gemversion.sh" into a more generic "pkgversion.sh"
-
-2010-07-02 11:18 zmoelnig
-
- * trying to workaround bugs in APPLE
-
- there is a bug in wordfree on OSX.
- according to the following mail this can be worked around:
- http://www.mail-archive.com/fink-users@lists.sourceforge.net/msg28520.html
-
-2010-07-02 11:15 zmoelnig
-
- * start of an autoversion system
-
-
- i'd like to have the SVN-revision number in the build
-
-2010-07-01 16:22 zmoelnig
-
- * long README
-
-2010-07-01 15:40 zmoelnig
-
- * print UniqueID as hex
-
-2010-07-01 15:34 zmoelnig
-
- * added TODO
-
-2010-07-01 15:32 zmoelnig
-
- * probably working now (who knows)
-
-2010-07-01 15:23 zmoelnig
-
- * at least it compiles
-
- now we need a GiGE camera to test this
-
-2010-07-01 11:21 zmoelnig
-
- * AVT...
-
-2010-07-01 11:19 zmoelnig
-
- * link against PvApi.lib rather than Halcon.lib
-
-2010-07-01 11:18 zmoelnig
-
- * adapted LICENSE for use with AVT rather than HALCON
-
-2010-07-01 11:16 zmoelnig
-
- * template for AVT-backend
-
-2010-06-28 14:04 zmoelnig
-
- * better formatting
-
-2010-06-28 14:00 zmoelnig
-
- * a small wrapper script to detect the current Gem-version
-
- the script should accept the environmental variables:
- GEM_VERSION_MAJOR, GEM_VERSION_MINOR, GEM_VERSION_BUGFIX,
- GEM_VERSION_CODENAME
-
- and take one of the flags:
- --major
- --minor
- --bugfix
- --codename
-
-2010-06-28 13:35 zmoelnig
-
- * micro-version and codename now handled by configure
-
-2010-06-28 10:37 zmoelnig
-
- * GEM_EXTERN -> GEM_EXPORT
-
- even for non-w32 plugins
-
-2010-06-28 10:23 zmoelnig
-
- * fixed width/height
-
- accidentally, width and height were swapped resulting in weird
- images.
- this was easier to find out on w32, where there is actually
- support for a camera i own (through DirectShow)
-
-2010-06-28 10:00 zmoelnig
-
- * signed/unsigned comparision
-
-2010-06-28 09:49 zmoelnig
-
- * made videoHALCON compile on w32
-
-2010-06-28 09:48 zmoelnig
-
- * renamed scopeXYZto scopeXYZ~
-
-2010-06-28 09:27 zmoelnig
-
- * signed/unsigned comparision
-
-2010-06-28 08:48 zmoelnig
-
- * (dummy) M$VC-project files
-
-2010-06-28 08:06 zmoelnig
-
- * updated help patches (according to max) and removed dupes
-
- closes #3021553, #3021551, #3021470, #3021461, #3021460
-
-2010-06-28 07:36 zmoelnig
-
- * hopefully fixed bug crashing [scopeXYZ~]
-
- very small scope-buffers in combination with long dsp-blocks
- could lead to
- crashes; should be fixed now
-
-2010-06-25 14:45 zmoelnig
-
- * renamed file to "scopeXYZ~"
-
-2010-06-25 14:38 zmoelnig
-
- * seems to work so far (closes #2955520)
-
-2010-06-25 13:20 zmoelnig
-
- * scopeXYZ~: at least something going on with the texcoords
-
-2010-06-25 06:35 zmoelnig
-
- * fixing scopeXYZ~
-
- working, though not yet with textures
-
-2010-06-23 14:56 zmoelnig
-
- * added videoHALCON
-
-2010-06-23 14:52 zmoelnig
-
- * added README
-
-2010-06-23 13:58 zmoelnig
-
- * simple parser for the device-string (using ":" as delimiter)
-
-2010-06-23 13:42 zmoelnig
-
- * seems like autoconf now works
-
-2010-06-23 11:12 zmoelnig
-
- * "Halcon::"ify the verbose output; notes on TODO
-
-2010-06-23 09:42 zmoelnig
-
- * first working prototype
-
- "File" backend works (and it's the only one i can test)
- TODO: selection of halconbackend, cameratype and device
- (this has to be done via a single symbol!)
-
-2010-06-22 14:12 zmoelnig
-
- * fixed typo (though configure-test don't work currently anyhow)
-
-2010-06-22 13:59 zmoelnig
-
- * HALCON backend (non-functional)
-
-2010-06-22 09:14 zmoelnig
-
- * added float-callback to start/stop the transfer
-
-2010-06-22 09:14 zmoelnig
-
- * more verbose()ity
-
-2010-06-22 08:51 zmoelnig
-
- * enumeration of DV4L devices
-
-2010-06-22 08:50 zmoelnig
-
- * enumeration() now does some basic tests
-
- do some checks to find out whether a given device is really v4l1
-
-2010-06-21 15:42 zmoelnig
-
- * check for v4l2 capabilities
-
-2010-06-21 15:26 zmoelnig
-
- * enumerate() for videoV4L and videlV4L2
-
- TODO: videoV4L1 seems to get v4l2 devices as well
- TODO: make sure that only capture devices are listed
- (i think currently also output devices will be listed)
-
-2010-06-21 14:43 zmoelnig
-
- * fixed symbolic-device selection for dc1394
-
-2010-06-21 14:32 zmoelnig
-
- * fixed bug in the setDevice(int) code;
- notes about the state-variables
-
-2010-06-21 14:30 zmoelnig
-
- * added verbose()ity
-
-2010-06-21 14:17 zmoelnig
-
- * more info
-
-2010-06-21 14:04 zmoelnig
-
- * hopefully more robust device-changing
-
-2010-06-21 13:06 zmoelnig
-
- * video-backends have to supply their name
-
-2010-06-21 12:21 zmoelnig
-
- * removed [pix_indycam]: it's no longer here
-
-2010-06-21 11:05 zmoelnig
-
- * don't initialized gem::PluginFactory<>::s_factory
-
- g++-4.5 is picky about double definitions
-
-2010-06-21 11:03 zmoelnig
-
- * use HAVE_PTHREADS; use CXX; ...
-
-2010-06-21 11:02 zmoelnig
-
- * define HAVE_PTHREADS if pthreads are found
-
-2010-06-21 10:59 zmoelnig
-
- * turned inside out (fixes: #3000166)
-
-2010-06-16 16:45 zmoelnig
-
- * k32BGRAPixelFormat -> k32ARGBPixelFormat as suggested in #2980652
-
-2010-06-15 09:39 zmoelnig
-
- * fixed typo where rgb2yuv would multiply by Y_OFFSET rather than
- add to
-
-2010-06-02 14:23 zmoelnig
-
- * updated configure.ac/Makefile to include all plugins;
- little script to generate configure.ac
-
-2010-06-02 14:22 zmoelnig
-
- * better guid handling
-
-2010-05-26 17:10 zmoelnig
-
- * modify "libdir" so that it points to .../pd/extra/Gem:
- this is where all the plugins (and Gem itself) should be
- installed
-
-2010-05-26 16:30 zmoelnig
-
- * checks for threads
-
- currently only pthreads are supported
-
-2010-05-26 15:52 zmoelnig
-
- * allocate more memory for the target image
-
- gluScaleImage sometimes crashes when resizing to a a small
- greyscale image
- (25x25).
- i suspect that it needs more "working" memory, so we allocate as
- if the target
- image where RGBA
-
- hopefully fixes #3007373
-
-2010-05-26 15:48 zmoelnig
-
- * do not assume that greyscale-images have numpix%4=0
-
- fixes #3007370
-
-2010-05-26 12:26 zmoelnig
-
- * use "unsigned int" where appropriate
-
-2010-05-26 10:56 zmoelnig
-
- * dialogMess/enumerateMess
-
-2010-05-26 10:37 zmoelnig
-
- * merged videoIndy into videoSGI
-
- just noticed that pix_videoindy really only provided an interface
- to control the
- camera of the indy; all the grabbing code has been gone long (was
- it ever there)
-
- thus i moved the code over to the videoSGI plugin, but disabled
- all the
- functionality for now
-
-2010-05-26 10:20 zmoelnig
-
- * moved pix_indycam into videoIndy
- not working yet
-
-2010-05-26 09:44 zmoelnig
-
- * fixed the OutputName
-
-2010-05-26 09:33 zmoelnig
-
- * set output name to this weird convention...
-
-2010-05-26 09:20 zmoelnig
-
- * OutputDir is always SolutionDir
-
-2010-05-26 08:58 zmoelnig
-
- * updated M$VC project to include the videoDS and videoVFW
- sub-projects
-
-2010-05-26 08:55 zmoelnig
-
- * initialization in init-part of ctor
-
-2010-05-26 08:51 zmoelnig
-
- * compiled/linked/loaded under windows
-
- no camera attached yet, however...
-
-2010-05-26 08:16 zmoelnig
-
- * export the class rather than using GEM_EXTERN
-
-2010-05-26 08:10 zmoelnig
-
- * renamed videoNT to videoVFW
-
-2010-05-25 16:36 zmoelnig
-
- * catchGemException() is GEM_EXTERN
-
-2010-05-25 16:32 zmoelnig
-
- * proper includes for w32
-
-2010-05-25 13:43 zmoelnig
-
- * moved "close" towards canonical solution
-
- means: closing now works (again?)
-
-2010-05-25 13:42 zmoelnig
-
- * return TRUE when stopping threads if no thread is present
-
-2010-05-25 12:23 zmoelnig
-
- * use std::string rather tan "char*"; convert from YUY2
-
- i thought i've already done this a while ago...
-
-2010-05-25 12:22 zmoelnig
-
- * M$VC projects for vfw backend
-
-2010-05-25 12:11 zmoelnig
-
- * added fromABGR()
-
-2010-05-24 18:07 zmoelnig
-
- * M$VC project (copied from filmDS)
-
-2010-05-21 16:40 zmoelnig
-
- * normalized the "provide"d interfaces
-
-2010-05-21 16:39 zmoelnig
-
- * PluginFactory interface and provides
-
-2010-05-21 16:38 zmoelnig
-
- * dialog() now takes a vector of dialog-names to open;
- if none are specified, all should be opened
-
-2010-05-21 16:38 zmoelnig
-
- * this might compile now...
-
-2010-05-21 16:37 zmoelnig
-
- * fixed typo in Makefile.am
-
-2010-05-21 16:29 zmoelnig
-
- * cleaned up code without even trying to compile it
-
-2010-05-21 16:29 zmoelnig
-
- * include the local config.h if possible
-
-2010-05-20 16:43 zmoelnig
-
- * copied from pix_videoDarwin: more history!
-
- losing the history for the backendification...
-
-2010-05-20 16:36 zmoelnig
-
- * use carbon-framework as well; frameworks not needed for CFLAGS
-
-2010-05-20 16:35 zmoelnig
-
- * initial checkin (just a copy from pix_videoDS)
-
-2010-05-20 16:16 zmoelnig
-
- * at least i got an image!
-
-2010-05-20 15:49 zmoelnig
-
- * dialog/enumerate methods
-
-2010-05-20 15:48 zmoelnig
-
- * proper initialization
-
-2010-05-20 15:47 zmoelnig
-
- * ctor/dtor don't have return types...
-
-2010-05-20 15:29 zmoelnig
-
- * at least it compiles...
-
- ZERO function tests have been made
-
-2010-05-20 15:02 zmoelnig
-
- * no arguments for videoV4L2::ctor
-
-2010-05-20 13:27 zmoelnig
-
- * not working at all yet...
-
-2010-05-20 12:18 zmoelnig
-
- * might compile (or not; has to be tried)
-
-2010-05-20 10:12 zmoelnig
-
- * videoSGI might work (or not, who can test that?)
-
-2010-05-20 08:47 zmoelnig
-
- * moved pix_video{NT,SGI} into plugins
-
- not working at all for now; just moved files around...
-
-2010-05-19 14:49 zmoelnig
-
- * fixed start/stop: should report expected status rather than
- actual status
-
-2010-05-19 13:49 zmoelnig
-
- * use the new DV4L implementation
-
- this implementation works for both the new juju stack and
- the old dv1394 interface; the old implementation only worked
- with the old dv1394 interface which is slowly vanishing from all
- major
- distributions...
-
-2010-05-19 13:41 zmoelnig
-
- * protect against NULL-pointer to raw1394 structure
-
-2010-05-19 13:11 zmoelnig
-
- * added videoDC1394 to the build
-
-2010-05-19 13:02 zmoelnig
-
- * set m_width/m_height in the default setDimen() method
-
-2010-05-19 13:01 zmoelnig
-
- * less verbose pluginfactory
-
-2010-05-19 12:40 zmoelnig
-
- * implemented "channel" switching
-
- actually this is "mode" selection
-
-2010-05-19 12:40 zmoelnig
-
- * removed swap/offset: no plugin implements them anyhow
-
-2010-05-19 12:39 zmoelnig
-
- * removed offset/swap messages: no backend implements them anyhow
-
-2010-05-19 09:59 zmoelnig
-
- * allow to query gem::video for all devices it provides
-
- [pix_video] can now do all the formatting itself;
- gem::video doesn't print anything anymore when it is informed
- that
- it actually "provide"s something
-
-2010-05-19 09:59 zmoelnig
-
- * also provide "iidc"
-
-2010-05-19 09:58 zmoelnig
-
- * removed the test-exception
-
-2010-05-19 09:58 zmoelnig
-
- * device-selection
-
-2010-05-19 09:58 zmoelnig
-
- * handle exceptions in the plugin-ctors
-
-2010-05-18 13:58 zmoelnig
-
- * frame locking (does it work?)
- less verbose
-
-2010-05-18 13:55 zmoelnig
-
- * got an image!
-
-2010-05-18 10:24 zmoelnig
-
- * convenience method "usleep"
-
-2010-05-18 09:54 zmoelnig
-
- * replaced "char*" by "std::string"
-
-2010-05-18 09:26 zmoelnig
-
- * reverted all changes from the last few days and re-started
- with the original code
-
- at least this doesn't freeze my system...
-
-2010-05-17 12:46 zmoelnig
-
- * multiple locks
-
-2010-05-17 11:58 zmoelnig
-
- * hopefully fixed the dimen-mess
-
-2010-05-17 09:47 zmoelnig
-
- * implemented device setting...
-
-2010-05-17 09:09 zmoelnig
-
- * more robust; default quality is "best"
-
-2010-05-17 09:04 zmoelnig
-
- * added open/close messages
-
-2010-05-17 08:29 zmoelnig
-
- * at least got an image...
-
-2010-05-16 18:53 zmoelnig
-
- * use std::string instead of "char*"
-
-2010-05-14 18:51 zmoelnig
-
- * cleaned up (lots of things are done in plugins/video)
-
-2010-05-14 18:50 zmoelnig
-
- * debugging messages
-
-2010-05-14 18:49 zmoelnig
-
- * use ::close()/::open() rather than close/open
-
-2010-05-14 18:49 zmoelnig
-
- * made it compile; needs testing
-
- send my IIDC camera so i can do some proper tests...
-
-2010-05-14 18:48 zmoelnig
-
- * only get frame if we haveVideo and are capturing
-
-2010-05-14 18:47 zmoelnig
-
- * moved private data into PIMPL
-
-2010-05-14 18:47 zmoelnig
-
- * open/close/start/stop methods to be called from outside;
-
- these automatically handle the capturing/haveVideo states and
- start/close the threads
-
-2010-05-14 16:36 zmoelnig
-
- * nono nothing yet
-
-2010-05-14 15:38 zmoelnig
-
- * alternative implementation of libDV4L
-
- does not work yet
-
-2010-05-13 15:03 zmoelnig
-
- * fixed linebreak
-
-2010-05-13 15:02 zmoelnig
-
- * made it loadable by removing not-implemented methods from header
-
-2010-05-13 15:02 zmoelnig
-
- * exception string is now a std::string() rather than a char*
-
-2010-05-13 15:01 zmoelnig
-
- * don't include GemException.h for all objects
-
-2010-05-13 14:59 zmoelnig
-
- * removed void comment
-
-2010-05-13 14:58 zmoelnig
-
- * allocate memory for the error-string; could be a memleak
-
-2010-05-13 14:57 zmoelnig
-
- * non-verbose output
-
-2010-05-13 14:57 zmoelnig
-
- * compiles and i managed to get an image...^
-
-2010-05-13 14:56 zmoelnig
-
- * upgrade to the new interface;
-
- seems to work; but needs more stress testing
-
-2010-05-13 14:56 zmoelnig
-
- * experimental upgrade to the new interface.
- no chance for testing yet.
-
-2010-05-13 14:55 zmoelnig
-
- * cleaned up interface of gem::video
-
- added documentation on what a metthod is supposed to do;
- breaks compatibility with all the implementations
-
-2010-05-13 14:54 zmoelnig
-
- * cleaned up code of [pix_video] in preparation for the cleanup of
- the
- video-plugins
-
-2010-05-11 18:52 zmoelnig
-
- * now i would like to get my hand on an IIDC camera and test it
-
-2010-05-11 16:57 zmoelnig
-
- * start the transfer; frames are discarded though
-
-2010-05-07 16:45 zmoelnig
-
- * build system kind of works
-
-2010-05-07 15:04 zmoelnig
-
- * copied files from videoDV4L to videoDC1394
-
- no work has actually been done yet; so this won't work for now
-
-2010-05-07 10:40 zmoelnig
-
- * refresh the buffer when requested from downstream for processing
-
-2010-05-07 10:34 zmoelnig
-
- * resend the image on request
-
- at least set the "newimage" flag; if something downstream really
- modifies the image, this might hav side effects; i cannot think
- of a
- fast implementation (without caching each frame) that would allow
- that;
- if people run into it, they should probably use [pix_separator]
-
-2010-05-07 09:37 zmoelnig
-
- * when changing the dimension for pix_resize, this should trigger
- setPixModified()
-
-2010-05-07 08:49 zmoelnig
-
- * the triangle is really equal-sided and not equilateral
- fixes #2979943
-
-2010-05-06 14:15 zmoelnig
-
- * hopefully fixed bug when allocating sizes
-
-2010-05-06 13:52 zmoelnig
-
- * updated glew to 1.5.4
-
-2010-05-06 13:51 zmoelnig
-
- * updated GLEW
-
-2010-05-02 15:58 zmoelnig
-
- * set the AC_CONFIG_AUX_DIR to .
-
-2010-05-02 14:28 zmoelnig
-
- * hopefully fixed the pascal-strings' fprintf()ing, as pointed out
- by matju.
-
- there are surely loads of other wrong printf() uses.
-
-2010-05-02 14:25 zmoelnig
-
- * aclocal, autoconf, autoheader, automake
-
- according to http://www.seul.org/docs/autotut/, it should be this
- order...
-
-2010-05-02 14:18 zmoelnig
-
- * call autoheader before automake when running them manually
- (hopefully fixes the w32 compilation issue)
-
-2010-05-02 14:11 zmoelnig
-
- * note about where to get GLEW from
-
-2010-04-28 09:14 zmoelnig
-
- * use autoheader
-
- additionally there's a small helper-function for debugging...
-
-2010-04-28 08:53 zmoelnig
-
- * dummy implementations of pushd/popd
-
-2010-04-28 08:32 zmoelnig
-
- * fixed bashisms
-
-2010-04-28 08:08 zmoelnig
-
- * substitute "let" expression with "$(( ))"
-
- as suggested by https://wiki.ubuntu.com/DashAsBinSh
-
-2010-04-28 08:02 zmoelnig
-
- * removed bashisms when defining functions()
-
-2010-04-28 07:59 zmoelnig
-
- * fixed typo in define (HAVE_VIDEO4LINUX rather than
- HAVE_VIDE4LINUX)
-
-2010-04-27 13:14 zmoelnig
-
- * manual implementation of autoreconf as fallback...
-
-2010-04-27 12:47 zmoelnig
-
- * plugins are now prefixed with "gem_" (e.g. "gem_filmAVI.so")
-
-2010-04-27 10:32 zmoelnig
-
- * check for existing pimpl
-
-2010-04-27 10:21 zmoelnig
-
- * uglified & simplified the entire plugin-engine
-
- the PluginFactory used to crash a lot, so this is a new attempt:
- skipped ClassId and hardcode it to std::string;
- skip the map<ClassId, ctor_t> and replace it by a map<string,
- void*>
- that is handled in the PluginBaseFactory
-
- i have no clue about template programming, but if this is what
- comes out then
- IT IS REALLY AND UGLY HACK!
-
-2010-04-26 09:59 zmoelnig
-
- * i think these are not needed...
-
-2010-04-26 09:37 zmoelnig
-
- * stripped down to only run autoreconf
-
-2010-04-23 12:57 zmoelnig
-
- * set the AC_CONFIG_AUX_DIR to .
-
-2010-04-23 07:14 zmoelnig
-
- * loadbang the [quality 0( messages to [pix_texture]
-
-2010-04-22 15:58 zmoelnig
-
- * Squashed commit of the following: (fixTypo branch)
-
- commit c6c538094e219209265208eeb661967cc10f6821
- Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
- Date: Thu Apr 15 19:12:48 2010 +0200
-
- cosmetic changes
-
- removed spurious "on"
- rearranged a bit
-
- commit 49238287f8ef7b0c106323f12ced3e35c89f7f04
- Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
- Date: Thu Apr 15 19:11:35 2010 +0200
-
- quote the "open" (it refers to a method)
-
- commit 6ccfd4af2030ac280cc6a808be2a938dd4ea8ad9
- Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
- Date: Thu Apr 15 19:09:21 2010 +0200
-
- better use of space
-
- commit 881b1826cf8165cc7f4764af08f36fb93daf0e04
- Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
- Date: Thu Apr 15 19:06:05 2010 +0200
-
- better use of canvas space
-
- commit 3ba518e5f4ba00d25a0820213b50d1cc81e1defb
- Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
- Date: Thu Apr 15 19:05:29 2010 +0200
-
- the example patch is on the left side, not on the right
-
- commit 00b62180e9b06565007565519a860c1475807894
- Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
- Date: Thu Apr 15 19:04:57 2010 +0200
-
- use "labels" of numberboxes
-
- commit 2e534b948824307176794afa2bb6781e9654a31a
- Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
- Date: Thu Apr 15 19:04:17 2010 +0200
-
- "perspective"
-
- commit 5b6f06f8adb65ad6965a2ca006bfdc324e40719d
- Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
- Date: Thu Apr 15 18:57:43 2010 +0200
-
- fixed some typos in the documentation
-
- and corrected the statement about where the initial translation 0
- 0 -4
- comes from (it's done in [gemwin] not in [gemhead])
-
-2010-04-21 09:21 zmoelnig
-
- * add notes about PLUGINs when printing the result-screen
-
-2010-04-21 09:15 zmoelnig
-
- * forgot closing paranthesis in help-string
-
-2010-04-19 09:43 zmoelnig
-
- * use AC_LIB_APPENDTOVAR rather than manually appending
-
-2010-04-19 09:11 zmoelnig
-
- * bumped needed autoconf version to 2.60
-
-2010-04-18 07:46 zmoelnig
-
- * Squashed commit of the following:
-
- commit 06653cbdaec3d59cbf20e04184a4114e63875291
- Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
- Date: Sat Apr 17 17:39:48 2010 +0200
-
- KLUDGE: provide a dummy "install"
-
- commit 5465970faf4214c0a6dc19006314266061fffe7b
- Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
- Date: Sat Apr 17 17:01:01 2010 +0200
-
- "clean" and "install" targets for plugins and extra
-
- commit cac35ffc948e731ba711c9edff8fe773ee09390d
- Merge: 828d871 212abf6
- Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
- Date: Sat Apr 17 16:38:36 2010 +0200
-
- Merge branch 'pluginfactory' of ssh://dev.iem.at/~/src/git/GemEEE
- into pluginfactory
-
- commit 212abf6e3d9e2a9549fdf539ed05718c08ef9471
- Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
- Date: Sat Apr 17 16:03:29 2010 +0200
-
- added "clean" and "install" targets to the plugins;
-
- since the Makefile.subdir also provides "clean", we have to
- switch
- to "::" targets
-
- commit 50bd1ab719e78fcc34d50903512774ca05b1e2e8
- Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
- Date: Sat Apr 17 15:44:09 2010 +0200
-
- use the defaultExtension for Dylibs when globbing for libs
-
- commit 31053f63a4b4e03aec151620d2c980327d2ec790
- Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
- Date: Sat Apr 17 15:43:08 2010 +0200
-
- function for querying the default-extension for the current
- platform
-
- commit 90385753f92b9d2ad6cc17467ab46ab63a356820
- Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
- Date: Sat Apr 17 15:42:07 2010 +0200
-
- use "const std::string"
-
- commit 934c9c77defaef214e421cefd96dbacf80a9c6d8
- Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
- Date: Sat Apr 17 13:46:32 2010 +0200
-
- proper spacing for ?=
-
- commit 3b611d46d9f159bc0a9783dc71759a73fa629a27
- Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
- Date: Sat Apr 17 13:46:13 2010 +0200
-
- regenerated
-
- commit 739722e69810db8466a32b5e636022614ac829ab
- Merge: aac156a f3a51ab
- Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
- Date: Fri Apr 16 19:39:11 2010 +0200
-
- Merge branch 'pluginfactory'
-
- commit f3a51ab4c705a1a3e01c57fbc6d220c55212c5b6
- Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
- Date: Fri Apr 16 19:15:04 2010 +0200
-
- removed duplicate AC_CONFIG_FILES line
-
- commit d60e7980031f8b4924ae4fa9e11992bb3c230cd9
- Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
- Date: Fri Apr 16 19:12:55 2010 +0200
-
- more stubs for automake
-
- commit d121af55d172c06134d06ec8c9d45cfe394b9ea3
- Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
- Date: Fri Apr 16 18:42:19 2010 +0200
-
- keep automake happy
-
- in order for automake to stay happy, it needs a file referenced
- in
- configure.ac that can be made from a .am file.
- we use AMakefile(.am) for this, in order to not interfere with
- the real
- Makefile.
-
- commit 5f63192662265d181a8ac21a5b08c151cb457699
- Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
- Date: Fri Apr 16 18:30:39 2010 +0200
-
- a local autogen.sh
-
- commit 4b785beb420110e8f9c5cc46343f0bb663e9fb1c
- Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
- Date: Fri Apr 16 18:30:05 2010 +0200
-
- regenerated
-
- commit 19bb71862dffee04fbe1e6578a97304bb93d6ca0
- Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
- Date: Fri Apr 16 18:28:14 2010 +0200
-
- make automake happy
-
-2010-04-17 14:19 zmoelnig
-
- * more squashed merge
-
-2010-04-17 14:19 zmoelnig
-
- * Squashed commit of the following:
-
- commit 212abf6e3d9e2a9549fdf539ed05718c08ef9471
- Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
- Date: Sat Apr 17 16:03:29 2010 +0200
-
- added "clean" and "install" targets to the plugins;
-
- since the Makefile.subdir also provides "clean", we have to
- switch
- to "::" targets
-
- commit 50bd1ab719e78fcc34d50903512774ca05b1e2e8
- Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
- Date: Sat Apr 17 15:44:09 2010 +0200
-
- use the defaultExtension for Dylibs when globbing for libs
-
- commit 31053f63a4b4e03aec151620d2c980327d2ec790
- Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
- Date: Sat Apr 17 15:43:08 2010 +0200
-
- function for querying the default-extension for the current
- platform
-
- commit 90385753f92b9d2ad6cc17467ab46ab63a356820
- Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
- Date: Sat Apr 17 15:42:07 2010 +0200
-
- use "const std::string"
-
- commit 934c9c77defaef214e421cefd96dbacf80a9c6d8
- Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
- Date: Sat Apr 17 13:46:32 2010 +0200
-
- proper spacing for ?=
-
- commit 3b611d46d9f159bc0a9783dc71759a73fa629a27
- Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
- Date: Sat Apr 17 13:46:13 2010 +0200
-
- regenerated config.h.in
-
-2010-04-16 17:37 zmoelnig
-
- * removed duplicate AC_CONFIG_FILES line
-
-2010-04-16 17:36 zmoelnig
-
- * more stubs for automake
-
-2010-04-16 17:35 zmoelnig
-
- * keep automake happy
-
- in order for automake to stay happy, it needs a file referenced
- in
- configure.ac that can be made from a .am file.
- we use AMakefile(.am) for this, in order to not interfere with
- the real
- Makefile.
-
-2010-04-16 17:34 zmoelnig
-
- * a local autogen.sh
-
-2010-04-16 17:33 zmoelnig
-
- * regenerated
-
-2010-04-16 17:33 zmoelnig
-
- * make automake happy
-
-2010-04-15 14:26 zmoelnig
-
- * Makefile.am for m4 include paths
- regenerated config.h.in
-
-2010-04-15 14:18 zmoelnig
-
- * stub Makefile.am for m4-includes
-
- on OSX (with autoreconf-2.61 as from XCode(?)) autoreconf weill
- not pass the
- "-I /path/to/m4" flags and instead just ignore them, which will
- produce
- unusable configure scripts (because macros are not expanded)
- at least the ACLOCAL_AMFLAGS line in the automake Makefile.am is
- respected.
- we therefore have a Makefile.am that just make sure that the
- m4-directory is
- found
-
-2010-04-15 10:11 zmoelnig
-
- * fixed AM_INIT_AUTOMAKE: remove the "-Wall -Werror" thingy
-
-2010-04-13 16:34 zmoelnig
-
- * added GEM_RTE_CFLAGS
-
-2010-04-13 15:45 zmoelnig
-
- * Merge branch 'pluginfactory' into HEAD
-
- Conflicts:
- Gem/src/Pixes/pix_film.cpp
- Gem/src/plugins/PluginFactory.cpp
-
-2010-04-09 08:17 zmoelnig
-
- * Merge branch 'master' of ssh://dev.iem.at/~/src/git/GemEEE
-
- Conflicts:
- Gem/src/Base/PluginFactory.cpp
- Gem/src/Base/PluginFactory.h
- Gem/src/Base/PluginFactoryTimple.h
- Gem/src/Pixes/pix_film.cpp
-
-2010-04-08 16:25 zmoelnig
-
- * load external "film" plugins
-
-2010-04-08 16:25 zmoelnig
-
- * use "std::string" rather than "const char*"
-
-2010-04-08 16:24 zmoelnig
-
- * namespace is "files" not "file"
-
-2010-04-08 16:05 zmoelnig
-
- * wrapper for file operations
-
-2010-04-08 13:47 zmoelnig
-
- * "better" verbosity when trying to read Gem-settings
-
-2010-04-08 13:23 zmoelnig
-
- * switched from fixed array of handles to std::vector;
- switched from (const char*) IDs to std::string
-
-2010-04-08 13:22 zmoelnig
-
- * functions to query the avaiolable keys and to load more plugins
-
-2010-04-08 13:21 zmoelnig
-
- * "gem.path" setting (not yet tested)
-
-2010-04-08 13:20 zmoelnig
-
- * only register "AVI" if there is no "DS" handle (mimicks old
- behaviour)
-
-2010-04-08 13:18 zmoelnig
-
- * cleaned up code; actually remember handles returned from the
- factory
-
-2010-04-08 13:17 zmoelnig
-
- * first working example
-
-2010-04-08 13:14 zmoelnig
-
- * less verbose
-
-2010-04-08 13:13 zmoelnig
-
- * dropped the multi-constructor feature: a single ID can only have
- a single
- constructor!
-
-2010-04-08 13:11 zmoelnig
-
- * split PluginFactory-header from implementation
-
-2010-04-08 13:10 zmoelnig
-
- * stripped down pluginfactory
-
-2010-04-07 07:55 zmoelnig
-
- * include pdgst target; gemdeskotheque has no autoconf
-
-2010-04-06 17:37 zmoelnig
-
- * do not regenerate config.h Make.config on demand
-
-2010-04-06 17:35 zmoelnig
-
- * autogenerated config.h.in from autoheader
-
-2010-04-06 17:30 zmoelnig
-
- * help=recursive
-
-2010-04-06 17:22 zmoelnig
-
- * automatically build extra
-
-2010-04-06 17:18 zmoelnig
-
- * recursively build extra/
-
-2010-04-06 17:16 zmoelnig
-
- * recursively call extra/
- don't check for ARToolKit
-
-2010-04-06 17:15 zmoelnig
-
- * added pix_artoolkit
-
-2010-04-06 17:15 zmoelnig
-
- * use autoreconf if available
-
-2010-04-06 17:02 zmoelnig
-
- * regenerated config.h.in with autoheader
-
-2010-04-06 16:46 zmoelnig
-
- * readme explains how to compile pix_artoolkit
-
-2010-04-06 16:37 zmoelnig
-
- * use GEM_CHECK_LIB
-
-2010-04-06 16:37 zmoelnig
-
- * make depend on config.h
-
-2010-04-06 16:15 zmoelnig
-
- * simple Makefile that calls the real one in Gem/src
-
-2010-04-06 15:25 zmoelnig
-
- * updated documentation
-
- you should use autogen.sh, or aclocal and autoconf in order to
- generate a valid
- configure script.
- just running "autoconf" is not enough
-
-2010-04-06 15:20 zmoelnig
-
- * notes about juju and devices opened in parallel
-
-2010-04-06 15:10 zmoelnig
-
- * use arguments to intialized [rotate] and [translate] rather than
- loadbang
-
-2010-04-06 15:09 zmoelnig
-
- * split the m4-macros into separate packages and put them into a
- separate src/m4
- directory
-
-2010-04-06 14:47 zmoelnig
-
- * fixed output of configure--help
-
-2010-04-06 14:43 zmoelnig
-
- * added generated descriptions to AC_DEFINEs
-
-2010-04-06 14:38 zmoelnig
-
- * descriptions for AC_DEFINE
-
-2010-04-06 14:30 zmoelnig
-
- * non-working automake project
-
-2010-04-06 14:26 zmoelnig
-
- * recursive call of configure
-
-2010-03-26 08:59 nusmuk
-
- * add help for the new mesh line primitive
-
-2010-03-25 18:47 nusmuk
-
- * add new mesh primitive
-
-2010-03-18 20:18 zmoelnig
-
- * remove the explicit mentioning of "32" in the falign-options.
- let the system choose system specific defaults
-
-2010-03-16 19:37 zmoelnig
-
- * protect CPPExtern against NO objectnames
-
-2010-03-16 17:52 zmoelnig
-
- * renamed "Helpers/" to "Gem/"
-
-2010-03-16 17:47 zmoelnig
-
- * renamed "Helpers/" to "Gem/"
-
-2010-03-16 07:52 zmoelnig
-
- * don't include config.h
-
-2010-03-15 18:01 zmoelnig
-
- * "--with-pd" no also adds the given path to INCLUDES and LIBS
-
- formerly, only <pdpath>/src and <pdpath>/bin were added
-
-2010-03-15 17:58 zmoelnig
-
- * backported debians "no flags overwrite" patch (backported from
- branches/0.92)
-
-2010-03-15 17:40 zmoelnig
-
- * check for "s_stuff.h" needs m_pd.h included (backported from
- branches/0.92)
-
-2010-03-15 17:33 zmoelnig
-
- * fixed memleaked detected by Gerrie Roos (backported from
- branch/0.92)
-
-2010-03-15 17:04 zmoelnig
-
- * eventually use the system's "GLEW" (if available)
-
- backported from 0.92 branch
-
-2010-03-10 22:42 eighthave
-
- * added two more examples of how to do tracking with Gem
-
-2010-03-05 19:14 zmoelnig
-
- * only update in render() (keeps images more consistant)
-
-2010-02-27 20:59 zmoelnig
-
- * added note about the default viewpoint
-
-2010-02-25 17:37 zmoelnig
-
- * moved the push/pop of matrices from gemman back to gemhead; also
- use it in
- separator
-
-2010-02-25 15:54 zmoelnig
-
- * added LATER
-
-2010-02-25 15:51 zmoelnig
-
- * uninstaller helper from
- http://nsis.sourceforge.net/Uninstall_only_installed_files
-
- i haven't yet tested this!
-
-2010-02-25 15:18 zmoelnig
-
- * added new files (GLStack and friends)
-
-2010-02-25 15:17 zmoelnig
-
- * GemState::reset() has to return a value
-
-2010-02-25 15:15 zmoelnig
-
- * swap() has to return a value
-
-2010-02-25 15:13 zmoelnig
-
- * warning about multiple texunits
-
-2010-02-25 15:12 zmoelnig
-
- * fixed forgotten returns
-
-2010-02-25 14:52 zmoelnig
-
- * GLstack fuzz
-
-2010-02-25 13:06 zmoelnig
-
- * realtime environment header (e.g. include m_pd.h)
-
-2010-02-25 12:29 zmoelnig
-
- * Gem'ified any
-
-2010-02-25 10:30 zmoelnig
-
- * cdiggins's "any" implementation
-
-2010-02-23 19:01 zmoelnig
-
- * don't mention "PNG" in the documentation of pix_image
-
-2010-02-09 17:20 zmoelnig
-
- * reverted 06.framebuffer_and_shader.pd since the reverted
- [pix_texture] also
- requires the [pix_set] hack
-
-2010-02-09 17:19 zmoelnig
-
- * Revert "handle rectangle and upside-down textures via the
- GL_TEXTURE matrix"
-
- see whether this get's us going with all the shader stuff;
- LATER this should be implemented again, but probably with more
- careful thinking
-
- This reverts commit 79f68200fe8e265b2eeb824544693a3eb48bc57b.
-
-2010-02-09 17:14 zmoelnig
-
- * only push/pop the color-matrix if ARB_imaging is supported
-
-2010-02-03 18:05 zmoelnig
-
- * fixed for M$VC
-
-2010-02-03 17:37 zmoelnig
-
- * define behaviour for projection/color/texture stacks
-
-2010-02-03 17:08 zmoelnig
-
- * query the current matrix depth's rather than guessing
-
-2010-02-01 16:05 zmoelnig
-
- * new() is now member of Obj_header; this might (nor not) resolve
- problems with
- flext
-
-2010-01-29 11:25 nusmuk
-
- * add shader initialisation at each gem window creation
-
-2010-01-29 08:57 zmoelnig
-
- * initialize m_state properly to INIT
-
-2010-01-28 18:40 zmoelnig
-
- * enhanced the setModified() to call rebuildList()
-
-2010-01-28 18:39 zmoelnig
-
- * if a context-variable is set out-of-context, all its instances
- are set to the
- given value
- (mostly needed for setting MODIFIED flags because the user sent a
- message)
-
-2010-01-28 11:30 zmoelnig
-
- * check for apple/ia64
-
-2010-01-28 11:30 zmoelnig
-
- * removed inclusion if Quicktime.h
-
-2010-01-28 11:06 zmoelnig
-
- * check for ia64 in filmQT
-
-2010-01-28 10:57 zmoelnig
-
- * protect filmDarwin not just by __APPLE__ but by
- HAVE_CARBONQUICKTIME
-
-2010-01-28 10:53 zmoelnig
-
- * check whether we are on Apple/ia64 before trying to compile code
- that won't
- work;
- LATER use a real configure check for this
-
-2010-01-28 10:38 zmoelnig
-
- * make CarbonQuicktime not disabling other image loading backends
-
-2010-01-28 10:29 zmoelnig
-
- * reorganized code a little bit to migrate the OSX code to the
- proper interface
-
-2010-01-28 10:04 zmoelnig
-
- * fixed typos
-
-2010-01-28 10:02 zmoelnig
-
- * allow coexistence of QuickTime code and other backends (e.g.
- ImageMagick)
-
-2010-01-28 09:52 zmoelnig
-
- * fixes for OSX
-
-2010-01-28 09:51 zmoelnig
-
- * use '__attribute__ ((deprecated))' rather than
- '__attribute_deprecated__'
-
-2010-01-28 08:59 zmoelnig
-
- * don't try to initialize the ContextData if no default value is
- given
-
-2010-01-28 08:58 zmoelnig
-
- * include GemState.h
-
-2010-01-28 08:58 zmoelnig
-
- * M$VC fixes (snprintf() and close())
-
-2010-01-27 17:44 zmoelnig
-
- * added GemDylib.cpp to the project
-
-2010-01-27 17:44 zmoelnig
-
- * fixed M$VC errors
-
-2010-01-27 17:35 zmoelnig
-
- * removed GemState.h from GemBase.h; so we have to re-included
- manually where
- needed
-
-2010-01-27 17:04 zmoelnig
-
- * a wrapper class for dylibs (loads a dynamic library and runs
- functions therein)
-
-2010-01-27 15:59 zmoelnig
-
- * removed verbosity
-
-2010-01-27 15:54 zmoelnig
-
- * introduced CPPExtern::findFile() to wrap the canvas-stuff
-
-2010-01-27 14:49 zmoelnig
-
- * also except std::string when creating an exception
-
-2010-01-27 14:47 zmoelnig
-
- * canvas_makefilename() and friends really want a non-const
- t_canvas*
-
-2010-01-27 14:46 zmoelnig
-
- * canvas_makefilename() and friends really want a non-const
- t_canvas*
-
-2010-01-27 14:20 zmoelnig
-
- * const_cast<> because Pd needs them
-
-2010-01-27 14:19 zmoelnig
-
- * const_cast<>s, because Pd declares loads of variables as
- non-const even though
- they really should be const
-
-2010-01-25 16:51 zmoelnig
-
- * added checks for linker-flags '-bundle -mmacosx-version-min=10.3
- -undefined dynamic_lookup'
-
-2010-01-25 13:18 nusmuk
-
- * remove unused connections
-
-2010-01-25 13:15 nusmuk
-
- * revert back the modification : this patch work like it use to...
-
-2010-01-25 12:56 nusmuk
-
- * varius clean of the examples patchs
-
-2010-01-25 12:37 zmoelnig
-
- * call setTexCoords() only once at the end of render()
-
-2010-01-25 12:35 zmoelnig
-
- * use [pix_kaleidoscope] for a more interesting effect
- ([pix_aging] is an"overlay" effect that does nothing to the
- pixels)
-
-2010-01-25 12:20 zmoelnig
-
- * use "texture ?" rather than "mode ?"
-
-2010-01-25 12:19 zmoelnig
-
- * reset the texcoord matrix every single frame...
-
-2010-01-25 10:41 zmoelnig
-
- * fixed deprecation define for MSVC
-
-2010-01-22 18:51 nusmuk
-
- * adapting shader regarding the texture coordinate change in Gem
-
-2010-01-21 11:22 zmoelnig
-
- * Merge branch 'GemState'
-
- Conflicts:
- Gem/src/Base/GemState.cpp
-
-2010-01-19 13:08 zmoelnig
-
- * on the way to using GemContextData<> even in "ordinary"
- (non-multi-context) envs
-
-2010-01-19 10:09 zmoelnig
-
- * added config.h to svn:ignore
-
-2010-01-19 10:07 zmoelnig
-
- * setting svn:ignore externals for the source-trees
-
-2010-01-19 10:04 zmoelnig
-
- * svn:ignore "*.d"
-
-2010-01-11 17:08 zmoelnig
-
- * c++cast fixes for w32
-
-2010-01-11 12:55 zmoelnig
-
- * more C++cast fixes for OSX
-
-2010-01-11 12:35 zmoelnig
-
- * replaced 'vector_unsigned_char' by 'vector unsigned char'
-
-2010-01-11 11:22 zmoelnig
-
- * better accessors for GemContextData
-
- accessing a contextualized variable should now be transparent:
- e.g.
- <code>
- GemContextData<int>value;
- value=12;
- int a=3*value+7;
- </code>
-
- prefix/postfix (e.g.. "value++") doesn't seem to work though
-
-2010-01-11 11:20 zmoelnig
-
- * reset the active texunit to #0 in pix_texture::postRender()
-
- this should avoid problems with upstream objects (and objects
- rendered LATER without any explicit [pix_texture])
-
- we still need a proper solution for [separator] and multiple
- texture stacks
-
-2010-01-11 11:18 zmoelnig
-
- * [separator] now takes an extra argument to only separate specific
- domains
-
-2010-01-11 11:17 zmoelnig
-
- * added warning about multiple texunits and pushing/popping texmat
-
- this really needs to be fixed, as people getting constant openGL
- errors
- (over/underflows) when using mulitple texunits and [separator]
-
-2010-01-11 11:15 zmoelnig
-
- * replaced anonymous indices of state->stackDepth with an enum in
- GemMan
-
-2010-01-11 10:46 zmoelnig
-
- * c++-casts
-
-2010-01-11 10:42 zmoelnig
-
- * more fixes for C++ casts on OSX
-
-2010-01-08 14:45 zmoelnig
-
- * fixed C++casts for OSX
-
-2010-01-08 13:26 zmoelnig
-
- * more c++casts
-
-2010-01-08 13:23 zmoelnig
-
- * replaced (int)atom_getfloat() by atom_getint()
-
-2010-01-08 13:22 zmoelnig
-
- * static_cast<> for Output/
-
-2010-01-08 13:22 zmoelnig
-
- * static_cast<> for Nongeos/
-
-2010-01-08 13:21 zmoelnig
-
- * t_float cast
-
-2010-01-08 13:21 zmoelnig
-
- * static_cast<GL...>
-
-2010-01-08 13:20 zmoelnig
-
- * static_cast<GL...> for Geos
-
-2010-01-08 13:19 zmoelnig
-
- * static_cast<float> in Geos
-
-2010-01-08 13:18 zmoelnig
-
- * drawtype of curve3d is now a local enum
-
-2010-01-08 13:17 zmoelnig
-
- * static_cast<int> of Geos
-
-2010-01-08 13:16 zmoelnig
-
- * cast fixes in Vertex
-
-2010-01-08 13:14 zmoelnig
-
- * removed some unneeded casts
-
-2010-01-08 13:14 zmoelnig
-
- * fixed some bugs where atom_getint was used to get floats
-
-2010-01-08 13:13 zmoelnig
-
- * scripted conversion from ccasts to c++casts
-
-2010-01-08 12:56 zmoelnig
-
- * reinterpret_cast<t_newmethod>
-
-2010-01-08 12:54 zmoelnig
-
- * reinterpret_cast<t_method>
-
- converted all the CCASTs to C++CASTS with:
- for i in *.cpp
- do
- sed -e 's|(t_method) *\([^
- ]*\)\([,)]\)|reinterpret_cast<t_method>(\1)\2|' -i "${i}"
- done
-
-2010-01-08 12:13 zmoelnig
-
- * more casts
-
-2010-01-08 12:10 zmoelnig
-
- * float priorities
-
-2010-01-08 12:09 zmoelnig
-
- * fixed typo
-
-2010-01-08 12:08 zmoelnig
-
- * reinterpret_casts for pointers
-
-2010-01-08 12:07 zmoelnig
-
- * more C++ casts (this time in Base/)
-
- i guess a lot of casts in osx/w32 specific code (GemWinCreateMac)
- will not work as it is; changes should be rather trivial
-
-2010-01-08 12:05 zmoelnig
-
- * use static_cast<> and reintpret_cast<> where appropriate
-
-2009-12-23 18:27 zmoelnig
-
- * works ok but ignores upsidedown
- (looks weird when used with [pix_texture] since the image is
- correct but the relief is not)
-
-2009-12-23 12:50 zmoelnig
-
- * indentation
-
-2009-12-23 11:41 zmoelnig
-
- * prefixed all member variables with "m_" (this time it works);
- still need to understand why it does not work anymore (and why it
- used to only work with RECTANGLE textures)
-
-2009-12-23 09:41 zmoelnig
-
- * prefixed all members with m_
-
-2009-12-23 09:31 zmoelnig
-
- * indentation and started to rename variables for readability
-
-2009-12-23 09:20 zmoelnig
-
- * no "filename" in the QTImage2mem code (needs cleanup)
-
-2009-12-21 15:07 zmoelnig
-
- * handle rectangle and upside-down textures via the GL_TEXTURE
- matrix
- (this way, the Geos can be totally agnostic about the texture
- type and
- orientation)
- LATER: imageVert, pqtorusknots, ripple and (evtl.) rubber might
- not behave as
- they should
- LATER: check whether GL_TEXTURE matrix is really to be abandoned
- in OGL-3.0
-
-2009-12-17 17:00 zmoelnig
-
- * added note about texture matrix
-
-2009-12-17 12:56 zmoelnig
-
- * load all images upside down
-
-2009-12-15 13:26 zmoelnig
-
- * updated config.{sub,guess}
-
-2009-12-15 13:06 zmoelnig
-
- * fixed paths; now it compiles from svn
-
-2009-12-15 12:51 zmoelnig
-
- * fixed path to ChangeLog
-
-2009-12-15 12:47 zmoelnig
-
- * from my debian packaging efforts
-
-2009-12-14 21:37 zmoelnig
-
- * don't use general namespace avm:: but use it explicitely when
- needed (eg. for StreamInfo)
-
-2009-12-14 10:41 zmoelnig
-
- * moved code into the mutexlocked parts to avoid crashes
-
-2009-12-07 18:41 zmoelnig
-
- * use namespace "avm" for avifile-things
-
-2009-12-07 11:21 zmoelnig
-
- * [gemwin] no longer sets the default framerate (instead this is
- queried from
- 'window.fps' and (re)set in GemMan::resetState()
-
-2009-12-07 11:19 zmoelnig
-
- * rectangle.texture and rectangle.pbo is now set via GemSettings
-
-2009-12-07 11:17 zmoelnig
-
- * made framerate settable via GemSettings;
- [print( gemwin now also prints all the GemSettings
-
-2009-12-07 09:14 zmoelnig
-
- * added notes about cocoa
-
-2009-12-01 15:02 zmoelnig
-
- * [separator] now also stores the projection matrix;
- added a little doc on what is actually separated
-
-2009-11-30 13:17 zmoelnig
-
- * back to not-printing the settings
-
-2009-11-30 13:14 zmoelnig
-
- * oops forgot to recompile before committing...here we go
-
-2009-11-30 13:10 zmoelnig
-
- * fixed typos: "treshold" no really reads "threshold" (uhah, this
- makes patches
- incompatible)
-
-2009-11-30 11:34 zmoelnig
-
- * don't call wordfree() on OSX as this is buggy (makes endless
- calls to memfree of non-aligned pointers)
-
-2009-11-30 11:11 zmoelnig
-
- * error checks for wordexp()
-
-2009-11-28 23:05 zmoelnig
-
- * fixed documentation (closes #2905446)
-
-2009-11-27 22:23 zmoelnig
-
- * bashisms
-
-2009-11-27 22:10 zmoelnig
-
- * removed debugging output
-
-2009-11-27 22:08 zmoelnig
-
- * added glGetIntegerv();
- fixed glGetFloatv();
-
-2009-11-27 21:00 zmoelnig
-
- * added a note about dynamic lights
-
-2009-11-27 20:58 zmoelnig
-
- * check whether we are rendering (that is: have a valid GLcontext)
- before calling stopRendering() in the destructor
-
-2009-11-27 20:56 zmoelnig
-
- * don't call glClearColor() without a window (might crash with some
- drivers)
-
-2009-11-26 17:49 zmoelnig
-
- * compiles on w32 again
-
-2009-11-26 14:44 zmoelnig
-
- * don't print settings
-
-2009-11-26 14:04 zmoelnig
-
- * more verbose
-
-2009-11-26 13:29 zmoelnig
-
- * example file
-
-2009-11-26 12:44 zmoelnig
-
- * settings for various aspects of the gemwindow and the
- font-renderer
-
-2009-11-26 12:44 zmoelnig
-
- * convenience methods;
- DEFAULT_FONT
-
-2009-11-26 10:40 zmoelnig
-
- * set the settings-file via environment variables GEM_SETTINGS
-
-2009-11-26 10:24 zmoelnig
-
- * almost there: legacy support for env-variables; code cleanup
-
-2009-11-26 08:49 zmoelnig
-
- * renamed the runtime settings to GemSettings
-
-2009-11-25 17:55 zmoelnig
-
- * simple implementation of RealtTime configuration
-
-2009-11-25 15:41 zmoelnig
-
- * a bit of explaining what is going on
-
-2009-11-25 15:30 zmoelnig
-
- * conf
-
-2009-11-25 14:53 zmoelnig
-
- * check whether QuickTime init succeeded before trying to close()
-
-2009-11-24 17:12 zmoelnig
-
- * use GemCGLint instead of CGLint to handle different CGLversions
-
-2009-11-24 10:35 zmoelnig
-
- * tyr handling outdated CGL-versions;
- really people should rather upate....
-
-2009-11-05 17:35 zmoelnig
-
- * strrchr() returns "const char*"
-
-2009-10-31 16:49 zmoelnig
-
- * hopefully got the texenv right
-
-2009-10-28 13:04 zmoelnig
-
- * less warnings...
-
-2009-10-28 13:00 zmoelnig
-
- * undef HAVE_CONFIG_H after inclusion of config.h
-
-2009-10-27 21:26 zmoelnig
-
- * cast filename to const char*
-
-2009-10-27 21:16 zmoelnig
-
- * use "const char*" for open();
- fixed some signed/unsigned comparisions
-
-2009-10-22 17:09 zmoelnig
-
- * an experimental cubemap-texture object; this should later be
- merged into [pix_texture]
-
-2009-10-21 12:48 zmoelnig
-
- * nada
-
-2009-10-18 13:41 zmoelnig
-
- * on w32 define "close" as "_close" (shouldn't this be: on MSVC
- rather than W32?)
-
-2009-10-15 17:03 zmoelnig
-
- * added GemException files to build
-
-2009-10-15 17:02 zmoelnig
-
- * Release no builds with ARToolKit support, wherease ReleaseDummy
- builds without
-
-2009-10-15 16:43 zmoelnig
-
- * removed inclusion of Base/GemConfig.h as this has to be handled
- locally
-
-2009-10-15 16:33 zmoelnig
-
- * export the _setup function on w32;
- added guard to not call the class_new() twice
-
-2009-10-15 16:14 zmoelnig
-
- * added M$VC-project;
- removed "#warning" directives, since M$VC doesn't really like
- them
-
-2009-10-15 16:07 zmoelnig
-
- * removed configDarwin.h.in: either use autoconf's config.h.in or
- configDarwin.h
-
-2009-10-15 16:01 zmoelnig
-
- * autoheaders generated stuff
-
-2009-10-15 15:59 zmoelnig
-
- * config-related stuff
-
-2009-10-15 15:58 zmoelnig
-
- * simplified CPPExtern.h;
- moved GemExceptions into a separate file
-
-2009-10-15 11:49 zmoelnig
-
- * this now compiles as an external for Gem
-
-2009-10-15 11:49 zmoelnig
-
- * import/export handling for M$VC (on the way to provide a
- mechanism for GEM-externals)
-
-2009-10-15 11:35 zmoelnig
-
- * almost got it working (though tiny changes to Gem are needed)
-
-2009-10-15 07:58 nusmuk
-
- * correct sentense about rendering order
-
-2009-10-15 07:41 zmoelnig
-
- * slowly goes the night: still not really working M$VC project
- (linker fails)
-
-2009-10-15 07:17 zmoelnig
-
- * added banner when compiled as a Gem-external;
- properly include GemConfig.h
- (LATER this really should use its own config)
-
-2009-10-14 08:55 zmoelnig
-
- * protect against NULL-canvases (e.g. when invoking the loader via
- "-lib")
-
-2009-10-13 15:07 zmoelnig
-
- * moved the installer target into a separate project
-
-2009-10-13 14:34 zmoelnig
-
- * removed pix_artoolkit from Pixes and added pix_artoolkit project
-
-2009-10-13 14:33 zmoelnig
-
- * added _snprintf() magic for M$VC
-
-2009-10-13 14:32 zmoelnig
-
- * removed _snprintf() magic (it has nothing todo with configNT.h)
-
-2009-10-13 14:31 zmoelnig
-
- * an M$VC-project for pix_artoolkit;
- small change to pix_artoolkit.cpp to fix LNK2019 (check whether
- this breaks something on other platforms)
-
-2009-10-13 13:24 zmoelnig
-
- * fixed typo in preprocessor code
-
-2009-10-13 13:22 zmoelnig
-
- * M$ needs stupid aliases for snprintf()-like functions
-
-2009-10-07 20:36 zmoelnig
-
- * use "data" instead of "pdata";
- pdata is mainly here to get the alignment of data right;
- using pdata will be slower (not-aligned) and wrong (pixel offset)
-
-2009-10-01 10:08 zmoelnig
-
- * ...
-
-2009-10-01 10:00 zmoelnig
-
- * moved pix_artoolkit into src/extra/ in order to reduce
- dependencies of core Gem
-
-2009-10-01 09:59 zmoelnig
-
- * adapted to new preprocessor magic
-
-2009-10-01 09:23 zmoelnig
-
- * indentation for better readability
-
-2009-09-30 17:25 zmoelnig
-
- * don't ignore return value of fread()
-
-2009-09-30 17:15 zmoelnig
-
- * removed traces of ???_NEW defines
-
-2009-09-30 16:51 zmoelnig
-
- * by default, don't strip the binary created
-
-2009-09-30 16:31 zmoelnig
-
- * include GemConfig.h when necessary and NOT in CPPExtern;
- less dependency quirks
-
-2009-09-30 15:12 zmoelnig
-
- * another cleanup of the configure stuff in order to get the
- film/video-OS stuff right;
- this still needs code changes on the backend side
-
-2009-09-30 13:30 zmoelnig
-
- * use GL_FALSE/GL_TRUE rather than -1/0
-
-2009-09-30 13:23 zmoelnig
-
- * cleanup model when re-opening or open failed
-
-2009-09-30 11:41 zmoelnig
-
- * regnerated configure.ac for cleaner code (not much happened
- though)
-
-2009-09-30 11:40 zmoelnig
-
- * try to reduce warnings by not-ignoring the result of scanf/gets
-
-2009-09-28 14:42 zmoelnig
-
- * added "print" message to print all the control-points to the
- console;
- setSpherical now uses degree rather than radians (conforming to
- everything else in Gem)
-
-2009-09-24 13:45 zmoelnig
-
- * dummy file to be included if there is no autoconf-generated
- config.h file
-
-2009-09-23 17:57 zmoelnig
-
- * renamed configLinux.h.in to config.h.in;
- on osx the default should be to use the pix_filmOS
-
-2009-09-23 17:15 zmoelnig
-
- * set "newfilm"-flag (LATER think whether this shouldn't be called
- automatically by [pix_texture])
-
-2009-09-23 14:31 zmoelnig
-
- * renamed Base/config.h to Base/GemConfig.h;
- later we will change the file generated by autoconf from
- config(Linux|Darwin|Generic|*).h to config.h;
- and use HAVE_CONFIG_H to include it
-
-2009-09-23 13:12 zmoelnig
-
- * configure-flags to set the default-font;
- check for <FTGL/ftgl.h> (check still fails) and include that
- instead if possible
-
-2009-09-23 12:03 zmoelnig
-
- * fixed a lot of warnings appearing with "-Wall"
-
-2009-09-22 16:49 zmoelnig
-
- * HACK: allow negative tracks for changeImage() to indicate that
- the "next" frame should be taken and the requested frame should
- be ignored;
- really: negative frame# would be better (can these ever appear in
- some weird container? more likely than negative tracks...)
-
-2009-09-22 09:58 zmoelnig
-
- * merged back fixes from 0.92 branch (2876-2927)
-
-2009-09-21 18:15 zmoelnig
-
- * experimental dynamic render tick: if rendering takes too long we
- try to shorten the time till the next tick has to be
- re-scheduled; don't know whether this really works
-
-2009-09-21 16:09 zmoelnig
-
- * this code needs cleanup;
- at least PBOs work now with rectangle textures
-
-2009-09-21 14:40 zmoelnig
-
- * more todos
-
-2009-09-18 06:54 zmoelnig
-
- * added notes about GemOutlet and the like
-
-2009-09-17 11:43 zmoelnig
-
- * fixed bug when reducing number of iterations for YUV & Gray;
- hopefully fixed RGBA issues on OSX/i386
-
-2009-09-17 08:19 zmoelnig
-
- * removed [pix_filmNT] since on w32 we are using [pix_film] with
- DS/QT/AVI(=NT) backend
-
-2009-09-17 08:04 zmoelnig
-
- * removed [pix_filmQT]: it is not used anywhere and just makes
- problems
-
-2009-09-16 13:54 zmoelnig
-
- * changed type of GemVersion::versionString() from "const static
- char* const" to "const static char*" (no more warnings on
- g++-4.4)
-
-2009-09-15 13:32 zmoelnig
-
- * at least find s_stuff.h if it is in a system-wide
- include-directory
-
-2009-09-14 13:01 zmoelnig
-
- * define __glx_h__ to avoid duplicate inclusion of glx.h
-
-2009-09-13 14:02 zmoelnig
-
- * allow polygon/curve to have a variable number of vertices, simply
- by not specifying them at creation time.
-
-2009-09-13 13:59 zmoelnig
-
- * started todo 0.93
-
-2009-09-12 12:24 zmoelnig
-
- * renamed TODO.092 to TODO.093
-
-2009-09-12 12:23 zmoelnig
-
- * removed generated aclocal
-
-2009-09-12 12:22 zmoelnig
-
- * added check for s_stuff.h (which doesn't find s_stuff in the path
- specified by --with-pd yet; LATER fix this)
-
-2009-09-10 10:01 zmoelnig
-
- * removed FFMPEG support (it's handled by gmerlin and it's broken
- for ages)
-
-2009-09-10 09:48 zmoelnig
-
- * changed __WIN32__ to _WIN32
-
-2009-09-10 09:41 zmoelnig
-
- * less verbosity in gmerlin-backend
-
-2009-09-09 16:22 zmoelnig
-
- * an extra directory for external objects
-
-2009-09-09 15:59 zmoelnig
-
- * check whether we have a DivByZero when calculating the (not so
- important) m_fps and avoid it;
- this can happen with files recorded with Gem...
-
-2009-09-09 14:19 zmoelnig
-
- * spigot to make this (still dummy) object less verbose
-
-2009-09-09 14:18 zmoelnig
-
- * bumped version to 0.93cvs
-
-2009-09-09 14:18 zmoelnig
-
- * put the "version" into a separate variable
-
-2009-09-09 14:17 zmoelnig
-
- * merged back changes from 0.92
-
-2009-09-09 10:30 zmoelnig
-
- * merged back the changes from the 0.92 branch that hopefully fixes
- frame-wise seeking
-
-2009-09-08 12:36 zmoelnig
-
- * try linking against libstdc++ in order to hopefully avoid
- segfaults with buggy ati-drivers
-
-2009-09-08 12:26 zmoelnig
-
- * added [openpanel] to example-patch to allow users to select their
- own movies
-
-2009-09-08 12:19 zmoelnig
-
- * dis/enabled rendering chains in the example
-
-2009-09-08 11:05 zmoelnig
-
- * copy the entire state and not just a reference to it
-
-2009-09-08 10:00 zmoelnig
-
- * disable printInfo() until glew has been initialized (should fix
- crashes with glGetString())
-
-2009-08-24 18:06 zmoelnig
-
- * reverted the fuzz of the last commit: it didn't work as expected
-
-2009-08-24 17:47 zmoelnig
-
- * fixed texCoords when texture is upside down;
- LATER: unify this and make all textures upside-down
-
-2009-08-24 17:22 zmoelnig
-
- * introduced texUpsideDown flag in GemState to indicate whether we
- have an upside down texture
- (needed by some goes to get the image right)
-
-2009-08-24 10:09 zmoelnig
-
- * added text-description of "string"
-
-2009-08-20 13:01 zmoelnig
-
- * added destructor to cleanup
-
-2009-08-18 20:33 nusmuk
-
- * add a string message
-
-2009-08-18 15:34 zmoelnig
-
- * whitespace...
-
-2009-08-18 15:31 zmoelnig
-
- * fixed typo
-
-2009-08-10 10:49 zmoelnig
-
- * hopefully better to read uniform-handling
-
-2009-08-10 10:48 zmoelnig
-
- * added startpost() and a bit of logic to not always show the
- object's name
-
-2009-08-08 18:01 zmoelnig
-
- * glTexImage2D
-
-2009-08-04 14:17 zmoelnig
-
- * removed double class_addmethods()
-
-2009-07-24 20:47 nusmuk
-
- * adding new exemple (double iterative).
-
-2009-07-24 02:10 nusmuk
-
- * add a scale option, because the flag is smaller on osX than in
- linux...
-
-2009-07-23 19:54 nusmuk
-
- * add 2 new exemple of commun used GEMgl object
-
-2009-07-23 15:48 zmoelnig
-
- * probably fixed upside-down issue of [pix_draw]
-
-2009-07-22 20:30 zmoelnig
-
- * added a "--without-ALL" option to disable all "with"-options by
- default (can be explicitely overridden)
-
-2009-07-19 16:34 zmoelnig
-
- * more verbose when generating texture coordinates
-
-2009-07-16 12:12 nusmuk
-
- * clean a bit this example : gemlist is no more banged with 0 and 1
- gem_state message.
-
-2009-06-24 16:33 zmoelnig
-
- * removed empty lines
-
-2009-06-24 14:36 zmoelnig
-
- * added doc about the [thread $1( message
-
-2009-06-23 08:29 zmoelnig
-
- * applied max's patch to get number of frames and finished-bang
-
-2009-06-15 11:53 zmoelnig
-
- * removed the declarations for start/stopRendering() as they are
- not implented
-
-2009-06-09 17:18 eighthave
-
- * added missing - to make it the proper --export-dynamic
-
-2009-06-03 07:42 zmoelnig
-
- * oops, missing ","
-
-2009-06-02 21:15 zmoelnig
-
- * removed unused code; initialize member variables in the
- initializer
-
-2009-06-02 21:13 zmoelnig
-
- * removed unused code
-
-2009-06-02 21:12 zmoelnig
-
- * removed unused code
-
-2009-06-02 21:10 zmoelnig
-
- * removed unused code
-
-2009-06-02 14:06 zmoelnig
-
- * added warning when using unnormalized values; fixed help-patch
-
-2009-06-02 13:04 zmoelnig
-
- * removed methods that are present in the parent-class anyhow
-
-2009-06-02 12:48 zmoelnig
-
- * removed unneeded variable(s)
-
-2009-06-02 12:48 zmoelnig
-
- * reordered initialization to match header-file
-
-2009-06-02 12:23 zmoelnig
-
- * added new modules to the project
-
-2009-06-02 09:22 zmoelnig
-
- * mainly rearranged the order of appearance of member/variables in
- the initializer;
- [vertex_model] now uses glmTexture() rather than the nonexistant
- glmLinearTexture()
-
-2009-06-02 09:20 zmoelnig
-
- * removed unneded variables and commented out code
-
-2009-06-02 09:16 nusmuk
-
- * add driver dv / driver v4l2 messages in the help file.
-
-2009-06-02 08:39 zmoelnig
-
- * if all values are <=1 then we assume that they are "normalized"
-
-2009-06-02 08:09 zmoelnig
-
- * use the "provide()" method for displaying the capabilities
-
-2009-06-02 07:47 zmoelnig
-
- * added symbolic IDs for backend-identification: now we can just
- use [driver dv( instead of [driver 2( (or was it [driver 3(?)
-
-2009-05-28 13:21 zmoelnig
-
- * removed some verbosity when loading models; PBuffer nameclashes
-
-2009-05-28 13:08 zmoelnig
-
- * replaced all fprintf/printf by post/error
-
-2009-05-28 12:39 zmoelnig
-
- * replaced calls to fprintf(stderr,...) with calls to printf() (no
- post() available in libs)
-
-2009-05-28 11:36 zmoelnig
-
- * better regeneration script for GL-defines that does not nest 'if'
- (problems on MSVC)
-
-2009-05-28 11:22 zmoelnig
-
- * made it compile on w32 again
-
-2009-05-28 09:20 zmoelnig
-
- * introduced new GEM_MULTICONTEXT define for multi-context
- rendering;
- implemented a first draft of the multi-context state-machine in
- GemBase.
- this needs some more thinking about which methods should do what:
- e.g.:
- - render(): get's called for each context
- - startRendering()/stopRendering(): initialize/deinitialize
- context-specific data (displaylists, textureIDs,...)
- get's called for each context if "something has changed",
- indicated by setModified() (?)
- this could as well be a single contextModified() function
- - stopRendering(): is really not useful in a multi-context
- environment (should it only get called if all rendering-contexts
- have been destroyed?)
- - update(): multiple-contexts can render a- and synchronously, so
- render() should not do anything time-specific (like incrementing
- counters); updaet() should get called whenever time has moved on.
- (e.g. update(deltatime););
- - what to do with non-opengl specific things, e.g. pixes?
- - ...
-
-2009-05-28 08:03 zmoelnig
-
- * removed unused code (mostly: empty function calls)
-
-2009-05-28 07:57 zmoelnig
-
- * moved comments around so they actually comment on the correct
- line of code
-
-2009-05-26 18:04 zmoelnig
-
- * a help-patch for [sphere3d]
-
-2009-05-26 18:00 zmoelnig
-
- * fixed typo
-
-2009-05-26 17:40 zmoelnig
-
- * added note about running configure
-
-2009-05-25 15:00 zmoelnig
-
- * base class for context-specific data (to be used LATER)
-
-2009-05-25 14:46 zmoelnig
-
- * fixed destroy
-
-2009-05-25 14:45 zmoelnig
-
- * minor adjustments
-
-2009-05-25 14:00 zmoelnig
-
- * hook for window deletion;
- build [gemglutwindow] as a separate object (not part of Gem)
- GemContext can also be queried for a numeric context id (later we
- need this for context-dependent data, like displaylists)
-
-2009-05-25 10:08 zmoelnig
-
- * make sure that the setup function is only called once
-
-2009-05-24 19:14 zmoelnig
-
- * fixed bugs; implemented [gemmouse]
-
-2009-05-24 19:13 zmoelnig
-
- * worrking on the glutwindow and multi-context stuff
-
-2009-05-23 16:22 zmoelnig
-
- * include glxew.h rather than glx.h
-
-2009-05-23 15:13 zmoelnig
-
- * renamed Region to FidSegRegion to avoid name-conflicts with
- XEvent
-
-2009-05-23 14:32 zmoelnig
-
- * provide getGlewContext() functions
-
-2009-05-23 14:11 zmoelnig
-
- * use generated code (and avoid the ifdefs as we are now using lew
- and everything is defined anyhow)
-
-2009-05-23 12:04 zmoelnig
-
- * derived [gemglutwindow] from a very simple GemContext class which
- will hopefully handle glewcontext switches
-
-2009-05-23 11:41 zmoelnig
-
- * replaced client_storage_supported, texture_range_supported,
- texture_yuv_supported, multisample_filter_hint by their GLEW
- equivalents
-
-2009-05-23 11:29 zmoelnig
-
- * directly query glew rather than caching the results in GemMan
- (think about multiple contexts!)
-
-2009-05-23 08:16 zmoelnig
-
- * some more improvements
-
-2009-05-22 10:31 zmoelnig
-
- * use an abstraction wrapper around the real window-backend
-
-2009-05-22 10:26 zmoelnig
-
- * [GEMglMaterialfv]
-
-2009-05-22 10:19 zmoelnig
-
- * a simple implementation based on glut
-
-2009-05-22 08:18 zmoelnig
-
- * revived the src/Output/ directory;
- the [gemextwin] therein won't compile as it is highly dependent
- on the multiwin branch (or so it seems)
-
-2009-05-22 08:17 zmoelnig
-
- * dunno
-
-2009-05-22 08:16 zmoelnig
-
- * comments by georg...
-
-2009-05-20 18:42 zmoelnig
-
- * reordered so that .cpp file matches header
-
-2009-05-20 18:34 zmoelnig
-
- * at least it loads again... (fixed all unresolved symbols)
-
-2009-05-20 18:33 zmoelnig
-
- * regenerated with newer aclocal
-
-2009-05-20 18:06 zmoelnig
-
- * non-functional start of [gemwindow] the window-part of GemMan as
- a separate object
-
-2009-05-20 14:06 zmoelnig
-
- * ...
-
-2009-05-20 14:00 zmoelnig
-
- * made the scene a bit more interesting (less likely to create
- black snapshots)
-
-2009-05-20 13:55 zmoelnig
-
- * an abstraction implementation of [pix_write] using [pix_snap] and
- [pix_writer]
-
-2009-05-20 13:54 zmoelnig
-
- * do not create inlets for offset/dimension (meaningless in this
- object)
-
-2009-05-20 10:49 zmoelnig
-
- * an object that writes pixes to disk (no snapshotting involved!)
-
-2009-05-20 10:20 zmoelnig
-
- * use glew-variables to check whether a context has been
- established rather than calls to GemMan::windowExists() (which
- should be removed altogether)
-
-2009-05-20 09:16 zmoelnig
-
- * removed 2nd instance of [gemlist]; removed double-initialization
-
-2009-05-20 09:14 zmoelnig
-
- * removed [gem_state]; use [gemlist] instead
-
-2009-05-19 17:41 zmoelnig
-
- * replaced [gem_state] by [gemlist]
-
-2009-05-19 17:35 zmoelnig
-
- * allow to set some default things in the non-cached GemState
-
-2009-05-19 17:34 zmoelnig
-
- * more implemented
-
-2009-05-19 16:18 zmoelnig
-
- * removed unneeded variable
-
-2009-05-19 13:36 zmoelnig
-
- * implemented a bit of stereo and other things...
-
-2009-05-19 10:40 zmoelnig
-
- * allow GEMglGetFloat() to use symbolic parameter names
-
-2009-05-18 15:53 zmoelnig
-
- * uaeh, this is a lot of work to (still) do...
-
-2009-05-18 11:59 zmoelnig
-
- * a not-yet replacement for [gemwin]
-
-2009-05-18 11:56 zmoelnig
-
- * indentation
-
-2009-05-16 15:23 zmoelnig
-
- * some defines to be set by configure for osx
-
-2009-05-15 17:12 eighthave
-
- * fixed typo
-
-2009-05-14 15:08 zmoelnig
-
- * when no argument (or "0") is specified, use the default
- render-order (50)
-
-2009-05-14 14:56 zmoelnig
-
- * removed the hardcoded paths to shaders: the examples do not do
- anything anyhow
-
-2009-05-14 14:49 zmoelnig
-
- * fixed wrong documentation about negative render-order: -3 is
- REALLY renderend BEFORE -10
-
-2009-05-09 19:56 zmoelnig
-
- * added sliders to set hue/sat/val
-
-2009-05-09 19:42 zmoelnig
-
- * use a gop-subpatch to turn on/off rendering and handle
- create/destroy of Gemwindo
-
-2009-05-09 18:20 zmoelnig
-
- * fixed bug that crashed Gem when loading a model without an openGL
- context
-
-2009-04-27 20:53 zmoelnig
-
- * added verbose() message when mem2image fails to close a file
-
-2009-04-27 20:47 zmoelnig
-
- * open image-files as binary rather than text
-
-2009-04-27 17:57 zmoelnig
-
- * renamed geometry-shader to have nice little 4 character suffix
-
-2009-04-27 17:47 zmoelnig
-
- * updated M$VC projects
-
-2009-04-27 17:43 zmoelnig
-
- * renamed variables (M$VC did not like "near" and "far" at all)
-
-2009-04-27 07:30 zmoelnig
-
- * hopefully better warnings when trying to load shaders without
- openGL context initialized...
-
-2009-04-27 07:10 zmoelnig
-
- * fxied another in/out typo
-
-2009-04-26 18:21 nusmuk
-
- * add a geometry shader exemple
-
-2009-04-26 16:24 zmoelnig
-
- * added calls to glProgramParameteriEXT() in LinkARB section
-
-2009-04-26 09:18 nusmuk
-
- * minor change
-
-2009-04-26 09:16 nusmuk
-
- * add a new axample : drawing 2 gemhead in the same frambuffer.
-
-2009-04-25 20:46 nusmuk
-
- *
-
-2009-04-23 21:17 zmoelnig
-
- * tried to avoid duplicate registraction of methods and classes
- (the former succeeded and i added a note why the latter does not)
-
-2009-04-23 21:15 zmoelnig
-
- * simplified the add-gem-to-path thingie
-
-2009-04-23 12:49 zmoelnig
-
- * use TRIANGLES as default for geometry shader
-
-2009-04-23 12:39 zmoelnig
-
- * added help-patch for geometry-shader (doesn't do much); added
- hints on how to set evnironment for geometry-shaders in
- glsl_program
-
-2009-04-23 12:19 zmoelnig
-
- * removed aclocal/autoconf automagic: run autogen.sh instead (or
- manually run aclocal/autoconf)
-
-2009-04-23 12:17 zmoelnig
-
- * added parameters for geomtery shaders (TODO: check whether this
- still works on other hardware...)
-
-2009-04-23 09:06 zmoelnig
-
- * simple autogen-sh script that runs aclocal and autoconf;
- LATER these calls should be removed from the Makefile entirely
-
-2009-04-22 03:07 eighthave
-
- * on help patches that have two of the same image file, I replaced
- the second with a different image, plus I added ducks.png to
- liven things up and provide better illustrations of some of the
- objects
-
-2009-04-22 00:50 eighthave
-
- * reduced size and moved location to fit on screens of mere mortals
-
-2009-04-22 00:48 eighthave
-
- * changed path to example files to match other help patches
-
-2009-04-22 00:46 eighthave
-
- * fixed to be a working example with sliders and messages boxes
- that are in a useful range
-
-2009-04-21 05:13 eighthave
-
- * made file loading a bit easier, like other help patches
-
-2009-04-21 05:12 eighthave
-
- * fixed typo in example movie name
-
-2009-04-09 11:35 zmoelnig
-
- * added checks to build fat binaries (needs more testing)
-
-2009-04-06 10:32 zmoelnig
-
- * use reallocate() throughout
-
-2009-04-06 10:23 zmoelnig
-
- * express unsureness about memleak
-
-2009-04-06 10:22 zmoelnig
-
- * free rowpointers after useage...to avoid memleaks
-
-2009-04-06 10:21 zmoelnig
-
- * reindentation
-
-2009-04-06 10:20 zmoelnig
-
- * use reallocate() rather than reallocating by hand to minimize
- memleaks
-
-2009-04-06 10:12 zmoelnig
-
- * reindentation
-
-2009-04-06 10:09 zmoelnig
-
- * use imageStruct::allocate() throughout
-
-2009-04-02 18:59 zmoelnig
-
- * use allocate() to allocate image memory rather than doing it
- manually;
- this guarantees that the data is freed correctly
- (fixes #2719368 & #2722316)
-
-2009-04-02 18:15 zmoelnig
-
- * oops forgot to checkin the header-fiels
-
-2009-04-02 18:14 zmoelnig
-
- * clamp the get/set pixel function to the dimensions of the image
- (fixes #2716875)
-
-2009-04-02 17:48 zmoelnig
-
- * note about using the available number of texunits
-
-2009-04-02 17:46 zmoelnig
-
- * reset the quality-settings when using external textures (fixes
- #2703708);
- query the number of available texunits instead of assuming it is
- 8
-
-2009-04-01 15:57 zmoelnig
-
- * documentation for "resize"-message
-
-2009-04-01 15:40 zmoelnig
-
- * please do not introduce dependencies on 3rd party libs like pddp
-
-2009-03-29 18:12 eighthave
-
- * made Marius' rtx_sch2.pd into a Gem-style example
-
-2009-03-26 18:22 zmoelnig
-
- * osx wants a typecast to (char*) when using malloc()
-
-2009-03-25 21:54 eighthave
-
- * sketch of a GEMgl help patch
-
-2009-03-24 23:43 eighthave
-
- * added messages and symbols to the inlet
-
-2009-03-23 23:54 eighthave
-
- * documented FSAA (Full Scene Anti-Aliasing
-
-2009-03-23 22:31 eighthave
-
- * first barebones help file for a GEMgl object
-
-2009-03-09 14:35 zmoelnig
-
- * refuse to create with invalid arguments rather than writing
- unread errors to the console
-
-2009-03-09 14:33 zmoelnig
-
- * add comment-hint about GL-2.1
-
-2009-03-09 14:31 zmoelnig
-
- * prepend object-name when catching exceptions in the constructor
-
-2009-03-02 13:50 zmoelnig
-
- * at least it compiles and loads;
- only have to convince my gfx-card to emulate geometry-shaders...
-
-2009-03-02 13:49 zmoelnig
-
- * the importGLEW script did not take into account, that Gem now
- _always_ uses GLEW
-
-2009-03-02 13:40 zmoelnig
-
- * now this was so untested, that it didn't even load...
-
-2009-03-02 13:39 zmoelnig
-
- * updated GLEW
-
-2009-03-02 13:36 zmoelnig
-
- * base implementation of geometry-shaders (not tested at all)
-
-2009-03-02 12:48 zmoelnig
-
- * added UV-texturing support to [multimodel]
-
-2009-02-16 19:59 nusmuk
-
- * add perspective message to frambuffer, thanks to Matthias
- Neuenhofer
-
-2009-02-16 19:59 nusmuk
-
- * add perspective message to frambuffer, thanks to Matthias
- Neuenhofer
-
-2009-02-08 14:20 zmoelnig
-
- * fixed 256 vs 255 confusion
-
-2009-02-05 19:34 nusmuk
-
- * add a crappy workaround for buggy linux nvidia driver (version >
- 173).
- this patch set FSAA only if it is not zero thrus allowing
- nvidia-setting
- to configure the desire anti-aliasing setting.
-
-2009-01-27 17:49 zmoelnig
-
- * note about RGB32==BGRA confusion; LATER fix it
-
-2009-01-27 17:31 zmoelnig
-
- * oops, the last change was a bit too much: accidentally flipped
- RGB and BGR
-
-2009-01-27 14:44 zmoelnig
-
- * removed verbose output of "rgba" at each frame...
-
-2009-01-26 16:31 zmoelnig
-
- * added arguments as requested in #2535557
-
-2009-01-26 15:41 zmoelnig
-
- * fixed syntax if gmerlin is not available
-
-2009-01-23 08:59 zmoelnig
-
- * fixed converter crash when nothing is to convert
-
-2009-01-22 17:30 zmoelnig
-
- * fixed copyright banner
-
-2009-01-22 17:19 zmoelnig
-
- * seems to work so far
-
-2009-01-22 17:14 zmoelnig
-
- * [gem_state] does the GemState/GemCache part of [gemhead]
-
-2009-01-22 17:06 zmoelnig
-
- * removed unused code
-
-2009-01-22 17:04 zmoelnig
-
- * do not disable libquicktime if gmerlin is found, as this is
- needed for recording
-
-2009-01-22 14:06 zmoelnig
-
- * use RGB2GRAY_ instead of constants scattered all around
-
-2009-01-22 13:47 zmoelnig
-
- * 2nd inlet to the FF-object;
- make RGBA explicit
-
-2009-01-21 16:24 zmoelnig
-
- * 2 visual tests (no automation)
-
-2009-01-20 18:20 zmoelnig
-
- * now that events are rescheduled, we can directly delete the
- window again.
- this makes messages like [destroy, border $1, create( meaningfull
- again
-
-2009-01-20 18:14 zmoelnig
-
- * events are now queued and rescheduled before they are emitted to
- the listeners;
- no more stack corruption (hopefully)
-
-2009-01-20 14:07 zmoelnig
-
- * removed tablet leftovers
-
-2009-01-19 17:31 zmoelnig
-
- * [part_draw] now accepts symbolic types (again)
-
-2009-01-19 17:14 zmoelnig
-
- * replacement for [gemhead] based on [gemreceive];
- not fully working yet (problems with caching and single-buffer
- mode)
-
-2009-01-19 17:02 zmoelnig
-
- * removed spurious post()s
-
-2009-01-19 15:34 zmoelnig
-
- * disable video decoders by default if gmerlin is found
-
-2009-01-19 15:05 zmoelnig
-
- * well, no need for a BUGS file anymore
-
-2009-01-19 14:59 zmoelnig
-
- * updated help-patch
-
-2009-01-19 14:56 zmoelnig
-
- * BUGs are now tracked at the sf-tracker
-
-2009-01-18 15:19 zmoelnig
-
- * ...
-
-2009-01-18 15:15 zmoelnig
-
- * check whether multitextures are supported before setting the
- number of available units to 8
-
-2009-01-17 14:08 zmoelnig
-
- * added note about "fullscreen 2" (closes: #1970264)
-
-2009-01-17 13:35 zmoelnig
-
- * more fixes in the manual section
-
-2009-01-17 13:31 zmoelnig
-
- * manual has moved to doc
-
-2009-01-17 13:28 zmoelnig
-
- * GnuGPL.LICENSE was renamed to GnuGPL.LICENSE.txt
-
-2009-01-17 13:13 zmoelnig
-
- * added new objects (and incorporated the name-change with all the
- ...NEW vs ...OS stuff)
-
-2009-01-17 13:11 zmoelnig
-
- * removed unused variables
-
-2009-01-17 12:51 zmoelnig
-
- * this is a snapshot release so don't say it's 0.91.0
-
-2009-01-17 12:43 zmoelnig
-
- * exclude .svn rather than CVS in the installer
-
-2009-01-17 12:25 zmoelnig
-
- * connected 3rd inlet of [pix_freeframe Wave]
-
-2009-01-17 12:04 zmoelnig
-
- * added [gemreceive]to the vs-project
-
-2009-01-15 11:10 zmoelnig
-
- * [model] now supports UV-textures
-
-2009-01-15 10:07 zmoelnig
-
- * working UV textures (but not fully included yet)
-
-2009-01-15 09:16 zmoelnig
-
- * on the way to support UV-textures
-
-2009-01-14 17:13 zmoelnig
-
- * set the upsidedown flag in every getFrame()
-
-2009-01-14 16:55 zmoelnig
-
- * in PixDualObj fixUpDown if the 2 images are of different
- orientation
-
-2009-01-14 15:16 zmoelnig
-
- * focus in no-border mode;
- LATER use Extended Window Manager Hints for this
- (probably see vlc...)
-
-2009-01-14 12:41 zmoelnig
-
- * check for gl.h/glu.h
-
-2009-01-14 12:12 zmoelnig
-
- * disable libtiff/libjpeg when using ImageMagick
-
-2009-01-12 14:12 zmoelnig
-
- * fixed the crasher when loading grayscale images on OSX
-
-2009-01-12 11:57 zmoelnig
-
- * seems to work again on OSX (at least 10.5)
-
-2009-01-12 09:38 zmoelnig
-
- * oops, the binaries for FF-plugins are really located in
- <name>.frf/Contents/MacOS/<name> rather than <name>.frf/<name>;
- but there most be a more intelligent way to open such a bundle
-
-2009-01-07 11:18 zmoelnig
-
- * removed some occurences of DO_AUTO_REGISTER_CLASS
-
-2009-01-07 11:10 zmoelnig
-
- * cleaned up preprocessor stuff a tiny little bit
-
-2009-01-07 11:09 zmoelnig
-
- * do not override messages from parent-class; instead override
- methods
-
-2009-01-07 10:37 zmoelnig
-
- * do not override messages from parent-class; instead override
- methods
-
-2009-01-07 09:22 zmoelnig
-
- * do not overwrite the "draw" method (bad in 0.42)
-
-2008-12-23 22:40 nusmuk
-
- * remove printing the error when gemlist should not be banged
-
-2008-12-15 12:08 zmoelnig
-
- * force restart of transfer on "device $1" message (even if it is
- the same!)
-
-2008-12-15 11:20 zmoelnig
-
- * more using libv4l2
-
-2008-12-15 09:59 zmoelnig
-
- * better support using libv4l
-
-2008-12-15 08:36 zmoelnig
-
- * accidentally removed v4l&ieee1394 checks; here they are again
-
-2008-12-14 17:14 zmoelnig
-
- * automatically use libv4l and the user did not force to not-use
- V4L
-
-2008-12-14 17:03 zmoelnig
-
- * fixed typos
-
-2008-12-14 17:02 zmoelnig
-
- * more verbosity
-
-2008-12-14 16:14 zmoelnig
-
- * added support for libv4l1 and libv4l2 (now let's see whether this
- works...)
-
-2008-12-14 15:39 zmoelnig
-
- * added checks for libv4l1 and libv4l2
-
-2008-12-12 20:19 zmoelnig
-
- * handle API change in libmpeg3
-
-2008-12-11 13:48 zmoelnig
-
- * removed checks for FFMPEG (LATER remove FFMPEG code);
- hopefully better checks for libmpeg3
-
-2008-12-11 13:47 zmoelnig
-
- * try all available redirectors until a valid one is found;
- less verbosity;
- some sanity checks
-
-2008-12-09 10:10 zmoelnig
-
- * check for success on file-open to prevent crashes...
-
-2008-12-07 19:16 zmoelnig
-
- * log callback
-
-2008-12-07 18:42 zmoelnig
-
- * fixed crasher bug with ogg-files; frame-setting should be more
- reliable now
-
-2008-12-07 14:35 zmoelnig
-
- * working code!
-
-2008-12-06 18:38 zmoelnig
-
- * added checks for gmerlin
-
-2008-12-06 18:14 zmoelnig
-
- * (non-working) support for gmerlin
-
-2008-11-21 16:38 zmoelnig
-
- * flip wrongly oriented images when saving with libTIFF/libJPEG
-
-2008-11-21 16:30 zmoelnig
-
- * fixed comment
-
-2008-11-21 16:29 zmoelnig
-
- * upsidedown fixfun
-
-2008-11-21 15:53 zmoelnig
-
- * fix the "upsidedown" while flipping
-
-2008-11-21 15:13 zmoelnig
-
- * proper names for FlipType: VERTICAL says more than VERT
-
-2008-11-13 09:30 zmoelnig
-
- * (nonexistant) freeframe-plugins fail silently when created via
- sys_loader
-
-2008-11-11 14:26 zmoelnig
-
- * added libxxf86vm-dev to the Debian-packages
-
-2008-11-11 14:17 zmoelnig
-
- * install more packages on debian (namely: libglu-dev and
- magick++9-dev)
-
-2008-11-08 16:27 zmoelnig
-
- * added help for creating windows on remote X-displays
-
-2008-11-08 16:21 zmoelnig
-
- * better handling of YUVB-images
- (either refuse to write them or convert them to RGB)
-
-2008-11-07 09:22 zmoelnig
-
- * added "copy" message to copy images from one slot to another;
- added alias "load" for "open" (to be in sync with "save")
-
-2008-11-05 10:50 zmoelnig
-
- * set tifftags: xresolution, yresolution and resolutionunit when
- using libtiff
- to write images
-
-2008-11-03 16:32 zmoelnig
-
- * updated xcode-project for olde NEW stuff
-
-2008-10-29 15:51 zmoelnig
-
- * disable ffmpeg-test by default
-
-2008-10-29 15:23 zmoelnig
-
- * fixed typos; added better sanity check; can be called without
- prior initialization!
-
-2008-10-29 14:00 zmoelnig
-
- * now this has been gone untested for ages...i will not start now
-
-2008-10-29 13:48 zmoelnig
-
- * fix auto-registration stuff for OS<->NEW objects
-
-2008-10-29 13:40 zmoelnig
-
- * some leftovers from the NEW<->OS rename action
-
-2008-10-29 13:33 zmoelnig
-
- * renamed "pix_(video|movie|film)" to "pix_*OS" as these are really
- base-classes for platform-dependent inplementations
- otoh, renamed all "pix_*NEW" to "pix_*";
- let's see what breaks
-
-2008-10-29 12:36 zmoelnig
-
- * added 4th outlet (for texture) to pix_movieDarwin
-
-2008-10-27 08:52 nusmuk
-
- * add a new exemple : physical model on the GPU
-
-2008-10-18 17:59 nusmuk
-
- *
-
-2008-09-27 16:22 zmoelnig
-
- * removed the comment about "4th outlet win/lin only";
- it's rather a matter of compilation
-
-2008-09-27 16:03 eighthave
-
- * added documentation of the 4th outlet
-
-2008-09-27 12:59 eighthave
-
- * updated help file, mostly by correcting tpyos, and removing
- 'client_storage' message since it doesn't work with this object
-
-2008-09-19 11:47 zmoelnig
-
- * removed the NONBLOCKING flag (see
- http://lists.puredata.info/pipermail/gem-dev/2008-09/003679.html)
-
-2008-09-17 14:36 zmoelnig
-
- * GemExceptions should be thrown!
-
-2008-09-17 14:07 zmoelnig
-
- * embedd GLconst->const interpreter, so now we can use directly use
- [GEMglEnable GL_FOG] instead of quirks with [GLdefine];
- this is done explicitely; there really should be a way to do it
- implicetly for all GLenum types
-
-2008-09-17 11:16 zmoelnig
-
- * use "const" arguments for getGLdefine() because the
- arguments really are not changed;
- make toupper() not crash Pd when (not) fiddling in the
- symbol-table
-
-2008-09-17 07:59 zmoelnig
-
- * all GEMgl wrapper-classes are now derived from GemGLBase
-
-2008-09-16 15:26 zmoelnig
-
- * a new wrapper object (+ a base class to be used for all wrapper
- objects)
-
-2008-09-16 15:25 zmoelnig
-
- * ...
-
-2008-09-16 15:02 zmoelnig
-
- * a wee wrapper script that needs a lot of work!
-
-2008-09-16 13:42 zmoelnig
-
- * removed unneeded scripts
-
-2008-09-09 13:54 zmoelnig
-
- * bail out when glu is missing
- (but we really want to bail out when glu.h is missing)
- LATER: can we remove the check for OpenGL? (should be
- covered by glew)
-
-2008-09-09 13:43 zmoelnig
-
- * check whether GL_ARB_imaging is supported before trying
- to push/pop the GL_COLOR matrix (fixes: bug#2008988)
-
-2008-08-19 16:51 zmoelnig
-
- * constified a bit
-
-2008-07-30 17:53 zmoelnig
-
- * removed the explicit [pix_yuv] conversion;
- this MUST be fixed in the object side
-
-2008-07-30 17:40 zmoelnig
-
- * allow [gemreceive] to be instantiated without arguments
-
-2008-07-30 17:22 zmoelnig
-
- * probably working by now...
-
-2008-07-30 17:18 zmoelnig
-
- * removed more unneeded variables
-
-2008-07-30 17:07 zmoelnig
-
- * since we have released Gem-0.91 some time ago, we are
- now in 0.92.CVS
-
-2008-07-30 16:59 zmoelnig
-
- * added .txt suffix to the GPL, in order to make it easier to read
- on w32...
-
-2008-07-30 16:55 zmoelnig
-
- * this is now in build/osx-xcode/Gem.xcodeproj/
-
-2008-07-30 16:53 zmoelnig
-
- * cleaned up the root-folder a bit
-
-2008-07-30 16:53 zmoelnig
-
- * updated a bit, but not really working yet
-
-2008-07-30 16:52 zmoelnig
-
- * included missing header ... now it compiles
-
-2008-07-30 16:42 zmoelnig
-
- * removed some warnings in xcode;
- introduced a new GemVersion class (needs more work on non-osx...)
-
-2008-07-30 14:33 zmoelnig
-
- * replaced the "MACOSX" macro with "__APPLE__"
- (hopefully this is the last occurence...)
-
-2008-07-30 12:49 zmoelnig
-
- * cleaned up xcode project
-
-2008-07-24 15:02 zmoelnig
-
- * added a short description about what this is for
-
-2008-07-24 14:57 zmoelnig
-
- * made as much private (hidden inthe implementation file) as
- possible
-
-2008-07-24 14:53 zmoelnig
-
- * cleaned up a bit
-
-2008-07-24 14:36 zmoelnig
-
- * afirst step to replace [gemhead]
-
-2008-07-23 16:28 zmoelnig
-
- * hmm, dunno
-
-2008-07-23 16:11 zmoelnig
-
- * removed stray "config.h" files from projects
-
-2008-07-23 16:04 zmoelnig
-
- * less warnings on w32 (and probably "fixed" the
- sys_register_loader()
-
-2008-07-23 13:49 zmoelnig
-
- * removed traces of wintab
-
-2008-07-23 12:17 zmoelnig
-
- * created build-projects for OS-X;
- LATER remove the leftovers Gem/GEM_darwin.*/
-
-2008-07-23 12:13 zmoelnig
-
- * removed user-specific settings
-
-2008-07-23 12:07 zmoelnig
-
- * moved "manual" into "doc" to have less clutter...
-
-2008-07-23 12:05 zmoelnig
-
- * cleaned up a bit
-
-2008-07-17 08:05 zmoelnig
-
- * on the road t a [pix_freeframe]object that can load different
- plugins...
-
-2008-07-17 08:00 zmoelnig
-
- * turned off warnings about typedef...
-
-2008-07-14 14:34 zmoelnig
-
- * dynamically looking up whether we find sys_register_loader,...
- might be cool
-
-2008-07-14 14:33 zmoelnig
-
- * this should enable Hans's help-path tricks
-
-2008-07-09 15:48 zmoelnig
-
- * more on loaders...
-
-2008-07-09 15:47 zmoelnig
-
- * a tiny wrapper for loaders in Gem (e.g. freeframe, frei0r)
-
-2008-07-08 16:45 zmoelnig
-
- * added prelaminary support for a freeframe1.0-loader, so people
- can
- directly use [pix_GlowVFX] instead of the clumsy [pix_freeframe
- GlowVFX]
-
-2008-06-16 10:38 zmoelnig
-
- * oops! forgot to check in a crucial part...
-
-2008-06-16 10:23 zmoelnig
-
- * added error() when init() fails
-
-2008-06-16 10:22 zmoelnig
-
- * proper initialization of minframes/maxframes,...
-
-2008-06-16 10:21 zmoelnig
-
- * added "seed" message; faster fastrand() algorithm
-
-2008-06-13 09:14 zmoelnig
-
- * unified the GemShape() subclasses a bit;
- LATER unify the typeMess() even more
-
-2008-06-13 07:37 zmoelnig
-
- * use member functions rather
-
-2008-06-13 07:20 zmoelnig
-
- * simplified code a bit
-
-2008-06-12 18:00 zmoelnig
-
- * mreged in changes from 0.91.1
-
-2008-06-12 18:00 zmoelnig
-
- * merged in changes from 0.91.1
-
-2008-06-12 17:50 zmoelnig
-
- * a simple trapezoid with correct(?) texturing
-
-2008-06-11 11:01 zmoelnig
-
- * make this object useable for picking...
-
-2008-06-02 12:17 zmoelnig
-
- * fixed buffer overrun
-
-2008-06-02 10:15 zmoelnig
-
- * TODO is now for 0.92 rather than 0.91
-
-2008-06-02 10:08 zmoelnig
-
- * made it very explicit that these project-files might not work at
- all
-
-2008-06-02 10:03 zmoelnig
-
- * moved the m$VS project-files away into build/win-vs*
-
-2008-06-02 09:36 zmoelnig
-
- * fixed double definition of checkGemVersion() (illegal merge
- operation...)
-
-2008-06-02 08:28 zmoelnig
-
- * dos2unix on GEM.README
-
-2008-06-02 08:27 zmoelnig
-
- * removed unused code
-
-2008-06-02 08:26 zmoelnig
-
- * merged back in the changes from v0-91-0
-
-2008-05-26 16:50 nusmuk
-
- * adjust somes parametters for a better looking exemple.
-
-2008-05-26 16:17 nusmuk
-
- * fix bug : framebuffer change scenne perspective.
-
-2008-05-23 08:19 zmoelnig
-
- * added a runtime check to find out, whether this object is
- compiled
- against the right version of Gem and refuse to register the class
- otherwise
-
-2008-05-23 08:00 zmoelnig
-
- * a bit of version magic for easier compatibility (so externals can
- refer to
- a certain version)
-
-2008-05-22 09:38 zmoelnig
-
- * updated to resolve all unresolved
-
-2008-05-22 09:37 zmoelnig
-
- * updated for 0.91
-
-2008-05-22 08:39 zmoelnig
-
- * renamed 10.glsl-patches to match the standard naming scheme:
- ##.name.pd
- instead of
- ##_name.pd
-
-2008-05-15 20:38 zmoelnig
-
- * made it compile with g++-4.3 by adding some headers...
-
-2008-05-09 19:49 zmoelnig
-
- * added new object [GEMglReportError] to the project
-
-2008-05-09 19:48 zmoelnig
-
- * a new object: [GEMglReportError] which outputs the glError() to
- its right outlet
-
-2008-05-09 19:47 zmoelnig
-
- * only build gem.nsi (gem-binary.nsi does not exist any more)
-
-2008-05-09 19:15 zmoelnig
-
- * call the installer-builder at the end of the project
-
-2008-05-09 19:15 zmoelnig
-
- * a bit less verbosity
-
-2008-05-09 18:38 zmoelnig
-
- * apple doesn't like the qt-deinit stuff of w32: moved it into
- os-specific
- section
-
-2008-05-09 18:34 zmoelnig
-
- * enable [pix_freeframe] on amd64
-
-2008-05-09 18:32 zmoelnig
-
- * mute the movie
-
-2008-05-09 18:22 zmoelnig
-
- * removed commented-out lines;
- concentrated platform dependent things in one place (or replaced
- them by
- platform-independent things)
-
-2008-05-08 16:29 zmoelnig
-
- * added "bang" aliases for "snap"
-
-2008-05-08 10:07 zmoelnig
-
- * mutex to prevent multiple installers running at the same time
-
-2008-05-08 10:00 zmoelnig
-
- * dumped the binary vs bin-doc thing and just create a single
- installer (we might still provide separate .zip files for those
- who just need the binary)
-
-2008-05-06 17:53 zmoelnig
-
- * more scripts for building installer
-
-2008-05-06 16:55 zmoelnig
-
- * a small post-build script
-
-2008-05-06 16:52 zmoelnig
-
- * more installer-script
-
-2008-05-06 15:55 zmoelnig
-
- * added NSIS-installer scripts
-
-2008-05-06 10:07 zmoelnig
-
- * updated install-script (not checked!)
-
-2008-05-06 08:32 zmoelnig
-
- * glxew checks
-
-2008-05-06 08:09 zmoelnig
-
- * prefixed PBuffer-flags with "GEM_PBUFLAG_" (i am afraid of a
- const "FLOAT")
-
-2008-05-06 08:03 zmoelnig
-
- * cleaned up a bit...
-
-2008-05-06 07:21 zmoelnig
-
- * this crashes on an ati-X2300; added a #warning to indicate where
-
-2008-05-06 07:03 zmoelnig
-
- * put a bug-report link into the splash screen;
- make errors on Xcreate less verbose but added hint about
- GEM_SINGLE_CONTEXT
-
-2008-05-06 06:26 zmoelnig
-
- * try to get rid of the "no window made" error in
- GEM_SINGLE_CONTEXT;
- check whether this reintroduces crashes on error-prone machines!
-
-2008-05-06 06:15 zmoelnig
-
- * fixed typos
-
-2008-05-05 18:56 zmoelnig
-
- * removed verbosity
-
-2008-05-05 12:16 zmoelnig
-
- * fixed example patch and be a bit more verbose
-
-2008-05-05 12:07 zmoelnig
-
- * check whether the font-file really exists
- (this is a HACK for buggy FTGL versions that crash when they
- cannot find the font-file)
-
-2008-05-05 11:50 zmoelnig
-
- * single-context hacks: do not force 640x480 AND allow
- window-destruction
-
-2008-05-05 11:23 zmoelnig
-
- * removed platform dependent code
-
-2008-05-05 08:52 zmoelnig
-
- * expose a function to get the window-position;
- make "m_buffer" public so that gem2pdp can access it...
- LATER make it private again and add methods to access it
-
-2008-05-05 07:37 eighthave
-
- * Addressing bug #1941962
-
- The colors are still off using Pd-0.40.3-extended-20080502 on Mac
- OS X 10.4.11
- when this patch is run without adding the [pix_yuv], so I added
- [pix_yuv] and
- checked the patch into CVS. I hope it works fine on Ubuntu and
- Windows with the
- [pix_yuv].
-
-2008-05-04 11:37 zmoelnig
-
- * removed verbose output on profiling
-
-2008-05-04 11:34 zmoelnig
-
- * cleaned up platform dependent stuff a bit
-
-2008-05-04 11:14 zmoelnig
-
- * moved more platform specific code into GemWinCreate<OS>
-
-2008-05-04 10:58 zmoelnig
-
- * made a lot of stuff in GemMan.h private; made getMethods() for
- this
-
-2008-05-04 10:01 zmoelnig
-
- * moved implementations of functions from GemMan.h to GemMan.cpp
-
-2008-05-02 16:20 zmoelnig
-
- * removed the pdp-objects from the test
-
-2008-05-02 16:11 zmoelnig
-
- * simplified printout a bit (and tried to use error() when
- appropriate)
-
-2008-05-02 14:58 zmoelnig
-
- * simplified output
-
-2008-05-02 14:52 zmoelnig
-
- * simplified printout
-
-2008-05-02 10:42 zmoelnig
-
- * fixed spelling
-
-2008-05-02 09:34 zmoelnig
-
- * do something when the error-handler is called in the createWindow
- function;
- this should prevent the window to be created on ubuntu/hardy and
- some
- gfx-cards which is better than freezing the machine
-
-2008-04-30 17:46 zmoelnig
-
- * use messages "dimen" instead of "dim"
-
-2008-04-28 10:56 nusmuk
-
- * *** empty log message ***
-
-2008-04-25 08:30 zmoelnig
-
- * added some comments
-
-2008-04-25 07:40 zmoelnig
-
- * minor changes to make it possible to compile on x86_64 (though
- this is not
- strictly FreeFrame compatible)
-
-2008-04-22 11:58 zmoelnig
-
- * argh!, another typo
-
-2008-04-22 11:55 zmoelnig
-
- * added ZIPing to create packages
-
-2008-04-22 11:09 zmoelnig
-
- * print "setup done" instead of "setup end" to avoid confusion
-
-2008-04-22 10:03 zmoelnig
-
- * moved dialogue from setupQT() to dialog()
-
-2008-04-22 09:51 zmoelnig
-
- * cache the filename before convefrting to pascal-strings;
- allow longer filenames (still hardcoded, but now up to 256
- characters)
-
-2008-04-22 09:35 zmoelnig
-
- * coming to an end (at least on w32)
-
-2008-04-22 08:50 zmoelnig
-
- * fixed typos in initialization
-
-2008-04-22 08:42 zmoelnig
-
- * use initialization in constructor;
- unified printouts a bit
-
-2008-04-22 08:40 zmoelnig
-
- * more verbose when we refuse to change filename or open dialog
-
-2008-04-21 17:22 zmoelnig
-
- * oops: accidentally set colorspace to BGRA everywhere instead of
- just w32
-
-2008-04-21 17:07 zmoelnig
-
- * create a date-based directory
-
-2008-04-21 15:28 zmoelnig
-
- * more on codec selection
-
-2008-04-21 14:47 zmoelnig
-
- * try better codec-selector
-
-2008-04-21 14:26 zmoelnig
-
- * minor cleanups
-
-2008-04-21 14:01 zmoelnig
-
- * check for NULL-pointers; cleaned up code a bit
-
-2008-04-21 13:36 zmoelnig
-
- * safety check if getCodecName() returns NULL
-
-2008-04-21 13:35 zmoelnig
-
- * don't include glext
-
-2008-04-20 10:07 nusmuk
-
- * adding vertex texture fetching exemple.
-
-2008-04-17 21:07 cclepper
-
- * changed OSX Intel pixel format and GL packing order. should fix
- pix_data and other bugs.
-
-2008-04-17 16:15 zmoelnig
-
- * ugly hack to make this object work on macintel
-
-2008-04-17 14:33 zmoelnig
-
- * "fixed" the color-problem on macintel;
- really this should be fixed win chRed,...
-
-2008-04-17 14:31 zmoelnig
-
- * removed references to OpenGL/glext.h
-
-2008-04-17 10:29 zmoelnig
-
- * use "create" as default
-
-2008-04-17 10:23 zmoelnig
-
- * "create" is the default state
-
-2008-04-17 08:33 zmoelnig
-
- * cleaned up configure a bit
-
-2008-04-16 17:40 zmoelnig
-
- * seems to work on G5
-
-2008-04-16 17:25 zmoelnig
-
- * moved the pixel-data acquisition code from [pix_data] to
- GemPixUtil
-
-2008-04-16 17:08 zmoelnig
-
- * removed [zexy] object
-
-2008-04-16 11:54 zmoelnig
-
- * disable building of fat-binaries for now as this interferes
- somehow
- with the CPPFLAGS
-
-2008-04-16 10:07 zmoelnig
-
- * try to build fat-binaries on OSX
-
-2008-04-14 17:02 zmoelnig
-
- * [create( should be the default message-box
-
-2008-04-14 16:50 zmoelnig
-
- * added GEM_EXTRA_CXXFLAGS and GEM_EXTRA_LDFLAGS for manually
- adding flags
-
-2008-04-12 11:14 zmoelnig
-
- * reincluded necessary header-files
-
-2008-04-12 08:23 zmoelnig
-
- * use "release" as default build (and made that work too).
- release.bat had wrong path of Gem.dll
-
-2008-04-11 21:30 zmoelnig
-
- * undo MSVC-hack
-
-2008-04-11 21:30 zmoelnig
-
- * finally made libfidtrack compile!
-
-2008-04-11 20:04 zmoelnig
-
- * removed unneccessary includes of <iostream>
-
-2008-04-11 19:47 zmoelnig
-
- * added GemPBuffer and pix_vpaint
-
-2008-04-11 19:45 zmoelnig
-
- * included <wglew.h> on windows to enable the GemPBuffer on w32.
- fixed signedness in TextBase.cpp to reduce V$ warnings
-
-2008-04-11 19:01 zmoelnig
-
- * added defunct but compiling libfidtrack with objects
-
-2008-04-11 18:47 zmoelnig
-
- * disabling the code that M$VC did not like - this actually makes
- [pix_fiducialtrack] not useable on w32, but the object can be
- created
-
-2008-04-11 18:32 zmoelnig
-
- * added some libfidtrack-files (actually just
- libfidtrack_segment.cpp);
- libfidtrack_treeidmap() fails to link and libfidtrack_fidtrackX
- depends on it)
-
-2008-04-11 13:03 zmoelnig
-
- * moved stuff around to make it more readable
-
-2008-04-11 12:55 zmoelnig
-
- * example how to read a framebuffer into a pix and then do stupid
- things
- with it...
-
-2008-04-11 07:41 zmoelnig
-
- * slowly goes the night...
-
-2008-04-11 07:37 zmoelnig
-
- * use (int) for framerate
-
-2008-04-11 07:21 zmoelnig
-
- * use GEM_USE_RECORDQT4L in [pix_record] instead of more-informed
- logic
-
-2008-04-11 06:38 zmoelnig
-
- * now test for lqt_open_write instead of lqt_open_video_track
-
-2008-04-09 14:50 zmoelnig
-
- * seems to be stable now
-
-2008-04-09 10:02 zmoelnig
-
- * new QT4L recording implementation
-
-2008-04-08 13:41 zmoelnig
-
- * made Debugthe default build-target again
-
-2008-04-08 13:36 zmoelnig
-
- * be a bit more verbose about which SIMD-instructions have been
- compiled into Gem (in addition to the info which instruction-set
- is used)
-
-2008-04-08 13:32 zmoelnig
-
- * made Release-target compile (with MMX/SSE2 optimization)
-
-2008-04-08 13:27 zmoelnig
-
- * hmm, YUV-MMX didn't do anything useful: should work now
-
-2008-04-08 12:28 zmoelnig
-
- * try reducing dependencies a bit
-
-2008-04-08 10:00 zmoelnig
-
- * fixed crasher when instantiating the object
-
-2008-04-08 09:31 zmoelnig
-
- * a small script to produce simple alpha-releases
-
-2008-04-07 19:47 zmoelnig
-
- * added FTGL-support (after compiling freetype2.14 as
- multithreaded-Debug!)
-
-2008-04-07 19:22 zmoelnig
-
- * added JPEG&TIFF support (oops, this crashes...)
-
-2008-04-07 19:06 zmoelnig
-
- * seems like all of DS is compiling and linking now
-
-2008-04-07 18:58 zmoelnig
-
- * include headers to make it compile again
-
-2008-04-07 18:51 zmoelnig
-
- * enabled DS
-
-2008-04-07 18:45 zmoelnig
-
- * include headers to make it compile again
-
-2008-04-07 18:41 zmoelnig
-
- * slowly approaching: 1/2 of DS-code compiles
-
-2008-04-07 16:11 zmoelnig
-
- * a working draft (no FTGL, image, DirectShow yet)
-
-2008-04-07 15:33 zmoelnig
-
- * added a new project for M$VC2003 (not working yet)
-
-2008-04-07 15:26 zmoelnig
-
- * minor fixes for m$vc
-
-2008-04-07 15:24 zmoelnig
-
- * do not exclude the entire file on non-linux (should be handled by
- the HAVE_DV macro; LATER rename it to HAVE_DV4L)
-
-2008-04-07 15:21 zmoelnig
-
- * fixed missing return in isRunnable()
-
-2008-04-07 15:18 zmoelnig
-
- * moved m$vc printf weirdness into configNT.h;
- include QuickTime into GemWinCreateNT (and make wintab optional)
-
-2008-04-05 13:08 nusmuk
-
- * add format RGB32 in order to have an efficient vertex texture
- fetching
-
-2008-04-02 08:42 zmoelnig
-
- * use "rectangle" instead of "mode", use "dimen" instead of "dim"
-
-2008-04-02 08:37 zmoelnig
-
- * install help-patches before examples
-
-2008-04-02 08:32 zmoelnig
-
- * fixed help-patch bugs
-
-2008-04-02 08:21 zmoelnig
-
- * cleared up the CPPExtern.h stuff a bit;
- use "create_<classname>" as constructor callback rather than
- "_class<classname>"
-
-2008-04-02 08:18 nusmuk
-
- * *** empty log message ***
-
-2008-04-02 08:13 nusmuk
-
- * make simplification to this example.
-
-2008-04-02 07:42 zmoelnig
-
- * removed "pdp bridge" objects which were only skeletons and never
- got any flesh
-
-2008-04-01 18:54 nusmuk
-
- * *** empty log message ***
-
-2008-04-01 17:56 nusmuk
-
- * *** empty log message ***
-
-2008-03-31 16:48 nusmuk
-
- * adding a multi pass rendering with shader example.
-
-2008-03-31 15:42 nusmuk
-
- * *** empty log message ***
-
-2008-03-31 12:26 zmoelnig
-
- * use "rectangle" instead of "mode"
-
-2008-03-31 12:15 zmoelnig
-
- * added a texunit message to gemframebuffer
-
-2008-03-31 11:23 zmoelnig
-
- * better names for messages; full pix_texture-compatible
- texture-message
-
-2008-03-12 17:37 zmoelnig
-
- * added note on where the intel-cards like to crash on linux
-
-2008-03-11 09:33 zmoelnig
-
- * fixed path
-
-2008-03-11 09:33 zmoelnig
-
- * throw an error if shader cannot be loaded (instead of trying to
- interpret
- the "filename" as shader-program)
-
-2008-03-11 09:16 zmoelnig
-
- * fixed parameters for the toon-shader
-
-2008-03-10 16:48 zmoelnig
-
- * moved setup of context-sharing into GemWinCreate<OS>
-
-2008-03-10 16:33 zmoelnig
-
- * moved topmostWin() into the os-specific files (removing another
- #define)
-
-2008-03-10 16:25 zmoelnig
-
- * moved the inclusion of QuickTime.h into os-specific files
-
-2008-03-10 16:20 zmoelnig
-
- * fixed typo
-
-2008-03-10 16:18 zmoelnig
-
- * moved platform-dependent stuff from GemMan to GemWinCreate<OS>
-
-2008-03-10 15:55 zmoelnig
-
- * removed a tiny portion of #ifdef's
-
-2008-03-10 15:49 zmoelnig
-
- * removed debugging output
-
-2008-03-10 13:16 zmoelnig
-
- * be more specific about glew-failures (ignore glxew init-fail, but
- not others)
-
-2008-03-10 10:32 zmoelnig
-
- * added the "auto" message
-
-2008-03-10 10:30 zmoelnig
-
- * display the original model too, to see a difference...
-
-2008-03-10 10:28 zmoelnig
-
- * adapted help-patches to the crystel-eye stereo feature
-
-2008-03-10 10:21 zmoelnig
-
- * accepted Alan Norman's Crystal-Stereo patch
-
-2008-03-10 09:05 zmoelnig
-
- * ignoring the failure of glewInit() to retain chromium support.
- LATER check why it really fails
-
-2008-03-06 11:01 zmoelnig
-
- * don't try to run configure when doing "make configure"
-
-2008-03-05 11:58 zmoelnig
-
- * when using imagemagick, we now enforce 8bit per channels only.
- (we don't have any higher resolution anyhow...)
-
-2008-03-05 10:40 zmoelnig
-
- * probably got it right now
-
-2008-03-05 10:31 zmoelnig
-
- * reverted the texture-hack
-
-2008-03-04 18:46 zmoelnig
-
- * try to catch out-of-memory exceptions when allocating images
- (fixes #1847369)
-
-2008-03-04 17:44 zmoelnig
-
- * reverted to non-configure-generated file
-
-2008-03-04 17:39 zmoelnig
-
- * made it compile under OS-X (haven't tested the functionality
- yet...)
-
-2008-03-04 16:54 zmoelnig
-
- * got rid of t_GLshaderObj in favour of GLhandleARB
-
-2008-03-04 16:53 zmoelnig
-
- * glewified the openGL-wrapper objects that had ifdef's
-
-2008-03-04 15:19 zmoelnig
-
- * glewified most of the objects (that had ifdef's before);
- openGL-objects still missing
-
-2008-03-04 15:10 zmoelnig
-
- * make glew used always (not _really_ part of configure any more);
- print an error at the very end of configure if openGL and/or
- m_pd.h seem
- to be missing
-
-2008-03-04 14:28 zmoelnig
-
- * added an abstraction to read a film into a pix_buffer as fast as
- possible.
-
-2008-03-03 18:18 zmoelnig
-
- * added isRunnable()
-
-2008-03-03 12:32 zmoelnig
-
- * updated to GLEW-1.5.0
-
-2008-03-03 12:15 zmoelnig
-
- * added enable-flag for GLEW
-
-2008-03-03 12:14 zmoelnig
-
- * prepare for GLEW support
-
-2008-03-03 12:01 zmoelnig
-
- * prepared for GLEW
-
-2008-03-03 11:58 zmoelnig
-
- * run initGem() _after_ the splash-screen
-
-2008-02-23 11:33 nusmuk
-
- * adding gemlist_matrix, that output the transformation matrix.
- (a light version of gemlist_info)
-
-2008-02-20 14:59 zmoelnig
-
- * transmit GLuint's over t_float
-
-2008-02-20 13:27 zmoelnig
-
- * added the getFramerate() requested by Georg
- (i forgot why he couldn't derive it himself)
-
-2008-02-19 15:53 zmoelnig
-
- * fixed stupid color-bug discovered by georg holzmann
-
-2008-02-12 10:05 zmoelnig
-
- * when normalizing only to 1 value, anchor it at height instead of
- width
- (according to marius' feature-request)
-
-2008-01-29 09:19 zmoelnig
-
- * fixed typos; rephrased to talk about "states" rather than
- "pointers"
-
-2008-01-29 09:12 zmoelnig
-
- * fixed typos; use init-feature of [tgl]; added 4th example
-
-2008-01-24 14:01 nusmuk
-
- * new example using gemlist, the double gemhead trick, or the
- "repeat"
- trick...
-
-2008-01-23 14:25 zmoelnig
-
- * added _mm_empty() at beginning of MMX processing; this seems to
- fix the problem
- with g++-4.2...
-
-2008-01-23 14:03 zmoelnig
-
- * proper casts
-
-2008-01-23 12:27 zmoelnig
-
- * 1. moved most platform dependent code out of this object into
- GemPixSave;
- 2. allow filenames up to MAXPDSTRING (and not just 80)
-
-2008-01-23 12:25 zmoelnig
-
- * added autoflip to QuickTime code (e.g. if imageStruct holds an
- image that is
- NOT upside-down, it will be flipped to become a correct QuickTime
- image)
-
-2008-01-22 09:06 zmoelnig
-
- * use imageStruct memberfunctions to handle types and reallocation:
- removes a lot of ifdefs and thus makes the code more readable
-
-2008-01-22 08:49 zmoelnig
-
- * nothing...
-
-2008-01-21 14:44 zmoelnig
-
- * fixed callbacks that accept lists
-
-2008-01-09 21:12 cclepper
-
- * fixed window focus on 10.5. thanks to Keith Bauer for the code
- tip!
-
-2008-01-09 14:52 zmoelnig
-
- * initialize glew if USE_GLEW
-
-2008-01-09 14:51 zmoelnig
-
- * there is no "long long" type in C++
-
-2008-01-09 14:51 zmoelnig
-
- * the last element of an enum must not be terminated by a comma
-
-2008-01-09 14:50 zmoelnig
-
- * removed stray semicolons
-
-2008-01-09 09:02 zmoelnig
-
- * added information about the "glUnform2i" problem
-
-2008-01-06 20:19 zmoelnig
-
- * use m_rectangle instead of m_mode
-
-2008-01-06 20:18 zmoelnig
-
- * better checks for rectangle-support
-
-2008-01-06 20:17 zmoelnig
-
- * replaced "mode" by "rectangle" (more meaningful)
-
-2008-01-06 15:53 zmoelnig
-
- * renamed help-file for [gemlist] to match
-
-2008-01-05 22:03 nusmuk
-
- * add gemlist object
-
-2008-01-03 17:09 zmoelnig
-
- * internally destroy the gemwindow when somebody closes the window
- from outside
-
-2008-01-03 16:14 zmoelnig
-
- * removed missing files
-
-2008-01-03 16:05 zmoelnig
-
- * removed warnings
-
-2008-01-03 15:14 nusmuk
-
- * *** empty log message ***
-
-2008-01-02 19:58 zmoelnig
-
- * fixed typos and moved all (main) windows into the upper-left
- corner.
-
-2008-01-02 16:38 zmoelnig
-
- * use the best available colorspace supported by Gem...
-
-2008-01-02 16:10 zmoelnig
-
- * implemented feature-request #1854593 (don't reset fps when
- [gemwin] is
- created without arguments)
-
-2008-01-02 15:26 zmoelnig
-
- * added another outlet for various information (e.g. codecs)
-
-2008-01-02 15:26 zmoelnig
-
- * hopefully fixed bug that crashed Gem when recording another movie
-
-2007-12-23 19:10 zmoelnig
-
- * removed dependency on non-Gem externals
-
-2007-12-23 12:51 nusmuk
-
- * *** empty log message ***
-
-2007-12-22 12:09 nusmuk
-
- * newWave is now a real square.
-
- ----------------------------------------------------------------------
- ----------------------------------------------------------------------
-
-2007-12-22 12:06 nusmuk
-
- * adding mesh_square primitive in order to work with vertex shader.
-
-2007-11-28 14:06 zmoelnig
-
- * this times it even compiles...
-
-2007-11-28 14:06 zmoelnig
-
- * hopefully adapted to new avifile-API
-
-2007-11-15 09:09 zmoelnig
-
- * include "infotypes.h" instead of "StreamInfo.h"; weird that on
- ubuntu/gutsy
- the both are not included automatically by "avifile.h"
-
-2007-10-16 14:46 zmoelnig
-
- * removed MarkEx
-
-2007-10-15 08:06 zmoelnig
-
- * removed dependency off Gem.$(EXT) on $(OBJECTS)
-
-2007-10-14 16:41 cclepper
-
- * reset counter for each new file
-
-2007-10-11 14:49 zmoelnig
-
- * make Gem.$(EXT) .PHONY again
-
-2007-10-11 14:44 zmoelnig
-
- * moved the splash-screen from GemMan.cpp to GemSetup.cpp;
- prepare GemSetup to add Gem's own path to the search-paths
-
-2007-10-11 12:12 zmoelnig
-
- * cleanup objectfiles when they are in . instead of $(OBJDIR)
-
-2007-10-11 12:09 zmoelnig
-
- * build objects in the "Objects" directory, just like on w32..
-
-2007-10-11 11:33 zmoelnig
-
- * unmade the changes i accidentally committed to the CVS
-
-2007-10-11 11:18 zmoelnig
-
- * cast c++ strings to (char*) when needed to avoid compiler
- warnings
-
-2007-10-11 11:07 zmoelnig
-
- * added typedef for GLchar on openGL<2.0
-
-2007-10-08 12:19 zmoelnig
-
- * install reference patches into extra/Gem instead of
- extra/help-Gem
-
-2007-10-08 09:36 zmoelnig
-
- * renamed help-patches to "-help" to match newer versions of pd
-
-2007-10-08 09:11 zmoelnig
-
- * introduce a new type GL_RGBA_GEM which depends on the platform
- (e.g. RGBA or ARGB)
-
-2007-10-07 09:02 zmoelnig
-
- * added cyrille's suggestion for actively enabling the
- depth test
-
-2007-10-06 11:48 zmoelnig
-
- * remove Gnu/
-
-2007-10-05 13:43 zmoelnig
-
- * reverted cgc's changes (since they duplicated my last ones...)
-
-2007-10-04 22:12 cclepper
-
- * enables the first 8 texture units for multitexturing.
-
-2007-10-04 15:50 cclepper
-
- * added min and max frame message for recording. uncommented output
- of frame number in stopRecord().
-
-2007-10-04 14:38 zmoelnig
-
- * added some missing minframe&maxframe stuff chris has forgotten to
- comit...
-
-2007-10-03 20:26 cclepper
-
- * added min and max frame message for recording. uncommented output
- of frame number in stopRecord().
-
-2007-10-02 10:58 zmoelnig
-
- * - remove the "-j 4" option from the subdirectory make
- (this should be set outside of the Makefile)
- - make the "strip" target depend on Gem.$(EXT)
- (to make outside "-j" work correctly)
-
-2007-09-29 17:40 zmoelnig
-
- * added newline at EOF
-
-2007-09-28 11:50 zmoelnig
-
- * output correct dimensions when using 3d-textures
- (this is: 1*1 rather then m_width*m_height)
-
-2007-09-26 16:31 zmoelnig
-
- * updated documentation (fixed path)
-
-2007-09-26 15:27 zmoelnig
-
- * changed (long int) to GLint so compilation doesn't choke on
- recent headers...
-
-2007-09-26 14:30 zmoelnig
-
- * don't do weird casts; rather use the correct type from the
- beginning
-
-2007-09-25 23:23 cclepper
-
- * silly Nvidia headers want a cast to GLint.
-
-2007-09-21 19:12 zmoelnig
-
- * added another possibility to switch between various dv devices
- (via numeric selectors)
-
-2007-09-21 17:26 zmoelnig
-
- * put "default" target into */Makefile
-
-2007-09-21 16:17 zmoelnig
-
- * call the <subdir>/Makefile instead of directly referring to
- Makefile.subdir
-
-2007-09-21 16:02 zmoelnig
-
- * a separate makefile for all subdirectories;
- this can later be used for partly building Gem as separate
- objects
-
-2007-09-21 15:11 zmoelnig
-
- * use environmental variable to specify a different default font
-
-2007-09-21 13:29 zmoelnig
-
- * use symbol to store the old fontname (less crash-prone)
-
-2007-09-13 13:42 zmoelnig
-
- * hopefully fixed bug reported by cyrille
-
-2007-09-13 13:41 zmoelnig
-
- * cleaned up post() messages
-
-2007-09-13 12:45 zmoelnig
-
- * updated documentation a bit (use the [pd gemwin])
-
-2007-09-13 12:27 zmoelnig
-
- * made sure all the example-patches work
-
-2007-09-13 11:14 zmoelnig
-
- * clamp the string-characters to 0..65535
- (FTGL sometimes crashes if the wchar is >65535;
- and in theory (wikipedia), ttf-fonts can only hold 2^16 glyphs)
-
-2007-09-10 23:21 eighthave
-
- * cleaned up help patch to follow Gem standard
-
-2007-09-10 22:43 eighthave
-
- * minor clean up and removed [mode( message since its not required
- on ATI anymore
-
-2007-09-10 22:39 eighthave
-
- * removed loadbang because it causes crashes on Mac OS X and is not
- required on GNU/Linux (at least on my machine with an ATI X1600)
-
-2007-09-10 22:38 eighthave
-
- * created a cleaned up, truly simple version, and testing it on
- Ubuntu and Mac OS X
-
-2007-09-10 21:40 eighthave
-
- * turned most of the help patch into functional examples instead of
- just comments about the messages. The "viewing", "buffering" and
- "steroscopic" sections still need examples
-
-2007-09-10 21:39 eighthave
-
- * created help patch to document that t[pix_blur] is deprecated
-
-2007-09-10 21:32 eighthave
-
- * added sliders to make playing with this example much easier
-
-2007-09-10 21:18 eighthave
-
- * added a slider to make it easier to rotate
-
-2007-09-10 10:44 zmoelnig
-
- * a unit-test framework (not yet finished)
-
-2007-09-10 10:19 zmoelnig
-
- * cyrille has reported a crash with the [gemframebuffer] object;
- this test triggers this crash
-
-2007-09-10 10:15 zmoelnig
-
- * added argument to call of [pix_histo]
-
-2007-09-03 14:18 zmoelnig
-
- * fixed crasher bug when [curve] was created without arguments
-
-2007-09-02 14:54 zmoelnig
-
- * use "pix_video" as default help-file isntead of "pix_movie"
-
-2007-09-02 14:40 zmoelnig
-
- * updated example patches a bit (according to Gijon) to use more
- gui-elements
-
-2007-08-29 14:54 cclepper
-
- * Help class should now open pix_video help file.
-
-2007-08-25 19:47 zmoelnig
-
- * changed the help-symbol of the [pix_movieDarwin] to [pix_movie]
-
-2007-08-25 19:43 zmoelnig
-
- * oops; removed the default number of points;
- just assume 0, but allow creation
-
-2007-08-25 19:42 zmoelnig
-
- * default to 4 inputs if none are present
-
-2007-08-25 19:33 zmoelnig
-
- * accepted hans's changes to the documentation (this is: add the
- "mode" message)
-
-2007-08-20 21:23 cclepper
-
- * added input selection for devices.
-
-2007-08-07 14:32 cclepper
-
- * defaults to 2D to cope with busted drivers.
-
-2007-08-01 21:42 cclepper
-
- * changed GL_TEXTURE_RECTANGLE_EXT to _ARB which seems to be
- required for DMA uploads on Intel now.
-
-2007-08-01 21:33 cclepper
-
- * changed GL_TEXTURE_RECTANGLE_EXT to _ARB which seems to be
- required for DMA uploads on Intel now.
-
-2007-07-27 21:47 cclepper
-
- * OSX does 128 bit or 4k page boundary alignment automatically.
- works pretty well on its own.
-
-2007-07-27 21:45 cclepper
-
- * changed __PPC__ to __ppc__
-
-2007-07-25 21:36 cclepper
-
- * passes pixBlock to state->image. works with pix_coordinate again.
-
-2007-07-24 18:23 cclepper
-
- * moved Quicktime init EnterMovies() and GL checks to initGem()
-
-2007-07-14 00:00 cclepper
-
- * fixed typo in sampler handling
-
-2007-07-12 18:12 cclepper
-
- * added handling for changing sampler texture units
-
-2007-07-11 15:19 zmoelnig
-
- * made it compile again under debian/lenny
-
-2007-06-07 21:31 cclepper
-
- * added codec selection by name.
-
-2007-06-06 08:03 zmoelnig
-
- * regenerated ChangeLog
-
-2007-06-05 21:44 cclepper
-
- * fixed looooong first frame bug. added detection for colorspace
- and image flipping.
-
-2007-05-31 17:52 zmoelnig
-
- * make old-images tiny (almost free them) when resizing the array:
- important when you resize large arrays;
- TODO: do not resize buffers that already have the correct size
-
-2007-05-31 15:18 zmoelnig
-
- * added "resize" message
-
-2007-05-30 14:49 zmoelnig
-
- * added "resize" message
-
-2007-04-02 15:27 zmoelnig
-
- * fixed v4l2-code as to set the "m_capturing"-flag whenever we
- exit the capturing thread (not just when we power it down);
-
- in pix_videoNEW do not startTransfer() in the constructor phase
-
-2007-04-02 10:24 zmoelnig
-
- * incidentially deleted the "using std::string;" line...now it is
- back
-
-2007-04-02 10:18 zmoelnig
-
- * updated documentation a bit
-
-2007-04-02 07:36 zmoelnig
-
- * removed GLTT support;
- added wide-character support for FTGL (at least in "string" mode)
-
-2007-04-02 07:34 zmoelnig
-
- * removed GLTT support;
- added wide character support for FTGL-font rendering (at least in
- "string" mode)
-
-2007-03-14 10:57 zmoelnig
-
- * minor issue with using fprintf() without carriage return;
- this solution uses verbose(), though i am not sure whether this
- is really thread safe...
- have i really forgotten to check this in...?
-
-2007-03-12 09:15 zmoelnig
-
- * added saturated logic and made it default (is the LATTER a good
- idea?)
-
-2007-02-20 10:13 zmoelnig
-
- * fixed typos in comment
-
-2007-02-20 10:11 zmoelnig
-
- * fixed comment
-
-2007-02-20 09:58 zmoelnig
-
- * added a configure-flag to specify the maximum openGL-version to
- use.
- use this information in GemGL.h to exclude certain parts of the
- openGL-headers
- thanks ico for the suggestion
-
-2007-02-20 09:56 zmoelnig
-
- * glBlendEquation() needs openGL-1.2
-
-2007-02-20 09:43 zmoelnig
-
- * glActiveTexture() is not always defined
-
-2007-02-20 09:42 zmoelnig
-
- * indentation
-
-2007-02-19 11:29 zmoelnig
-
- * applied ico's patches in order to stabilize dv4l
- (note: use delete[] on ~pix_videoNEW)
-
-2007-02-13 13:11 zmoelnig
-
- * fixed cases for os-x includes (fixes bug#1613373)
-
-2007-02-12 22:33 tigital
-
- * small changes to get correct colors on intel macs
-
-2007-02-12 21:43 tigital
-
- * small change to get correct colors on intel macs
-
-2007-01-07 22:32 tigital
-
- * added GL_VERSION_2_0 compile path for non-ARB glsl functions
-
-2007-01-07 19:52 zmoelnig
-
- * proper calling of CPPExtern::error() in the static member
- functions
-
-2006-12-07 18:19 cclepper
-
- * quick fix for YUV 3x3 on x86. for now it just does the generic
- loop.
-
-2006-12-06 20:08 cclepper
-
- * added an ifdef to make sure this is not compiled on OSX.
- pix_filmDarwin is used instead
-
-2006-12-06 19:56 cclepper
-
- * added an ifdef to make sure this is not compiled on OSX.
- pix_movieDarwin is used instead
-
-2006-12-06 19:44 cclepper
-
- * added another ifdef to make sure this is not compiled on OSX
-
-2006-12-04 15:35 zmoelnig
-
- * sped things up a bit; cleaned up post()
-
-2006-12-04 09:11 zmoelnig
-
- * added comment about initial state and a note, that you now can
- set this
- initial state via arguments
-
-2006-12-04 09:09 zmoelnig
-
- * add an optional argument to the object, so the initial state can
- be given at object creation (thanks cyrille for the request)
-
-2006-11-25 20:04 zmoelnig
-
- * added "saturate" message to turn saturation on/off;
- fixed bug in MMX code with gains>1;
- added initial arguments
-
-2006-11-21 12:10 zmoelnig
-
- * less warnings when compiling
-
-2006-11-21 12:00 zmoelnig
-
- * nobody uses this and if they do, it wouldn't work anyhow
-
-2006-11-21 11:58 zmoelnig
-
- * updated documentation a tiny bit...
-
-2006-11-21 11:57 zmoelnig
-
- * minor code cleanup
-
-2006-11-21 10:10 zmoelnig
-
- * bail out when using wrong messages
-
-2006-11-15 11:12 zmoelnig
-
- * fixed typo (it is __GNUC__ and not __GNUC___)
-
-2006-11-15 11:08 zmoelnig
-
- * more verbosity when disabling the culprit altivec stuff (since
- the code
- does not seem to work and i don't know why...watch out for the
- autobuild
- logs tomorrow...)
-
-2006-11-14 10:58 zmoelnig
-
- * disable YUV422_to_YV12_altivec() for gcc<4.0 via the
- NO_VECTORINT_TO_VECTORUNSIGNEDINT define (the fix yesterday
- coukdn't have worked);
- btw YUV422_to_YV12_altivec() is really _unused_ in the current
- sources!!
-
-2006-11-14 10:34 zmoelnig
-
- * can't use methods with "float, symbol" type; have to use A_GIMME
- instead
-
-2006-11-13 15:49 zmoelnig
-
- * disabling __VEC__ for older gcc's (<4); LATER fix the code
-
-2006-11-12 15:20 zmoelnig
-
- * print credits on first object creation
-
-2006-11-12 15:14 zmoelnig
-
- * removed the default "HAVE_ARTOOLKIT"; this is checked by
- configure
-
-2006-11-12 15:05 zmoelnig
-
- * added shigeyuki's [pix_artoolkit]
-
-2006-11-12 15:04 zmoelnig
-
- * checks for artoolkit
-
-2006-11-08 20:30 zmoelnig
-
- * added example file for the use of [gemframebuffer]; note that i
- use
- [pix_texture] instead of [pix_multitexture]
-
-2006-11-08 19:24 zmoelnig
-
- * removed the [pix_coordinate] stuff, since it is now unneccessary
- (i thought i removed this already...)
-
-2006-11-06 17:39 zmoelnig
-
- * fail to load movie when fps get's weird... (LATER fix the ffmpeg
- code)
-
-2006-11-06 16:48 zmoelnig
-
- * made film::m_auto protected; from outside it can now only be set
- via setAuto(); this should make it easier to make optimized
- decoding
- paths for sequential reading (e.g. non-random-access)
-
-2006-11-06 16:40 zmoelnig
-
- * better handling of decoding errors...
-
-2006-11-03 16:50 zmoelnig
-
- * fixed calls to post()
-
-2006-11-03 08:37 zmoelnig
-
- * fixed calls to ::error() and ::post()
-
-2006-11-03 08:32 zmoelnig
-
- * added post() method to CPPExtern.cpp which automatically prepends
- the
- object's name (if available);
- accordingly had to change a lot of uses uses of post() where
- either the
- object's name was hard- or softcoded or ::post() was used (in the
- callback functions)
-
-2006-11-03 08:26 zmoelnig
-
- * extended the texture-sharing message to: textureID, texCoords,
- type, flags
-
-2006-11-03 08:25 zmoelnig
-
- * fixed v4l-1 to work with my usb-2u-cam; v4l-2 starts to work
- too...
-
-2006-11-03 08:24 zmoelnig
-
- * updated info-files
-
-2006-11-01 22:33 tigital
-
- * [pix_multitexture] now works as expected!
- - new [dimen x y< message needed so that it can determine
- texcoords
- - GemShape's SetVertex() has been modified to loop thru
- glMultiTexCoord2f, when needed
- - GemState has new variable: state->multiTexCoords, which is 0 by
- default, but set in pix_multitexture based on the # of texUnits
- requested
-
-2006-10-30 20:57 tigital
-
- * more attempts at fixes for bad type-ing of vec's on 10.3
-
-2006-10-30 18:51 zmoelnig
-
- * added option to disable "-fPIC"
-
-2006-10-30 18:45 zmoelnig
-
- * make "-Os" the default on Darwin
-
-2006-10-30 18:37 zmoelnig
-
- * added more tests for compiler-flags as suggested by tigital
- (-mpowerpc-gfxopt is turned OFF by default; LATER think about the
- "-Os" flag on os-x)
-
-2006-10-30 18:24 zmoelnig
-
- * reverted the type changes (while this still breaks compilation
- with older gcc's, at least it is functional)
-
-2006-10-30 08:47 zmoelnig
-
- * oops, fixed typo
-
-2006-10-30 08:46 zmoelnig
-
- * added check for "-fpascal-strings" which allows us to use
- pascal-strings (containing '\p') on os-x
-
-2006-10-30 08:26 zmoelnig
-
- * tried to fix another error with types; NEEDS TESTING
-
-2006-10-26 20:04 tigital
-
- * fixes for bad type comparisons in some vec_sl()/vec_add and loop
- comparisons
-
-2006-10-26 20:00 tigital
-
- * fix for gcc4 warning "'GemException' has virtual functions but
- non-virtual destructor"
-
-2006-10-22 19:51 zmoelnig
-
- * finally removed "configure" since it really should be generated
- (and therefore happens to get out of sync with configure.ac too
- often)
-
-2006-10-20 17:48 zmoelnig
-
- * only call glUseProgramObjectARB() in postrender() when we have
- a linked module (less crashy on systems that don't really support
- shaders...)
-
-2006-10-20 17:40 zmoelnig
-
- * changed type of for-loop variable from (size_t) to (singed long
- long), since unsigned numbers never get negative!
-
-2006-10-18 13:49 zmoelnig
-
- * store the CONFIGUREFLAGS in Make.config, so that automatic calls
- to "configure" produce the same results;
- additionally this should make it possible to just call:
- 'CONFIGUREFLAGS="--with-pd=/bi/ba/bo" make"
- in a distclean environment and it will build everything;
- LATER remove configure/aclocal.m4
-
-2006-10-18 11:06 zmoelnig
-
- * setNorm() now has an effect even if capturing is currently not
- running;
- LATER think about making the "mode <norm> <channel>" message work
- again (it seems like this is some threading problem)
-
-2006-10-18 11:05 zmoelnig
-
- * fixed if/else at the "mode" message
-
-2006-10-18 10:53 zmoelnig
-
- * hmm...
-
-2006-10-18 10:52 zmoelnig
-
- * made it a tiny bit more readable; added accumbuffer-bits to
- window-creation
-
-2006-10-18 10:50 zmoelnig
-
- * example for texture-sharing
-
-2006-10-18 10:46 zmoelnig
-
- * dont use markEx-objects anymore;
- LATER remove this example altogether
-
-2006-10-18 10:44 zmoelnig
-
- * dont use markEx-objects anymore
-
-2006-10-18 10:43 zmoelnig
-
- * updated to use vera.ttf instead of arial.ttf and to not use
- markEx-objects anymore
-
-2006-10-06 14:53 cclepper
-
- * updated RGBA pixel packings for Mac Intel
-
-2006-10-06 14:50 cclepper
-
- * update for proper Mac Intel pixel packing
-
-2006-10-04 11:38 zmoelnig
-
- * proper initialization (memset(0)) for fidtrackerx (used to crash
- on my x64_64)
-
-2006-10-03 15:13 zmoelnig
-
- * hopefully fixed the check whether OpenGL-framework is used
-
-2006-10-03 15:08 zmoelnig
-
- * disable checks for libGL and libGLU if we use the
- OpenGL-framework
-
-2006-10-03 11:51 zmoelnig
-
- * disable checks for lqt and libquicktime if QuickTime-framework is
- being used
-
-2006-09-27 12:55 zmoelnig
-
- * deleted obsoleted objects from this list
-
-2006-09-27 12:53 zmoelnig
-
- * make pd-binary settable via the PD variable
-
-2006-09-27 10:11 zmoelnig
-
- * removed the test for AC_PROG_GCC_TRADITIONAL since we use c++
- instead of cc
-
-2006-09-27 09:53 zmoelnig
-
- * hopefully fixed the FFMPEG-thing (the AVCodecContext-check was
- broken
- since i changed the language from "C" to "C++")
-
-2006-09-27 09:04 zmoelnig
-
- * added some magic for FTGL and ffmpeg
-
-2006-09-26 09:56 zmoelnig
-
- * use our own glew.h (if so)
-
-2006-09-26 09:55 zmoelnig
-
- * glProgramEnvParameter4fvARB() can only be used if
- GL_ARB_vertex_program is defined
- (GL_NV_vertex_program doesn't matter)
-
-2006-09-26 09:27 zmoelnig
-
- * removed check for "-no-builtin" gcc-flags, since this prevents us
- from building with older gcc-version
-
-2006-09-25 13:28 zmoelnig
-
- * regenerated glew from 1.3.4 sources;
- fixed importGLEW.sh so that it automatically adds the "#ifdef
- USE_GLEW"
- clauses around the code
-
-2006-09-21 19:36 zmoelnig
-
- * added checks for the not-deprecated linking flags on OSX;
- disabled altivec on x86_64 machines
-
-2006-09-21 14:38 zmoelnig
-
- * added newline at end of file
-
-2006-09-21 14:32 zmoelnig
-
- * add generic inlets for each textureunit
-
-2006-09-21 14:31 zmoelnig
-
- * added PDerror() which calls pd_error() without having to worry
- about the object ("ourselves")
-
-2006-09-20 15:57 zmoelnig
-
- * disabled Vertex by default (since it is very experimental)
- disabled SSE2 by default (since most processors do not yet
- support it)
-
-2006-09-20 15:56 cclepper
-
- * added glfrustum call with GEM default setting. Uncommented some
- of the matirx calls which get closer to correct rendering.
-
-2006-09-20 15:51 zmoelnig
-
- * indentation of preprocessor-directives, so i can read them
-
-2006-09-20 07:55 zmoelnig
-
- * removed the legacy HaveValidContext() function call (since it
- does no longer exist)
-
-2006-09-19 20:48 cclepper
-
- * init m_FBOcolor not m_color
-
-2006-09-19 20:43 cclepper
-
- * added a color message to set the background color.
-
-2006-09-18 11:09 zmoelnig
-
- * another check for illegal filenames
-
-2006-09-18 10:39 zmoelnig
-
- * removed MarkEx from Gem
-
-2006-09-18 10:39 zmoelnig
-
- * removed dependency on [v+] and friends (which are no longer part
- of Gem)
-
-2006-09-17 15:41 zmoelnig
-
- * put "float seconds;" in the platform-independent section, since
- it is used by both __APPLE__ and __WIN32__
-
-2006-09-15 18:15 tigital
-
- * [OSX] small fix for close() definition
-
-2006-09-14 09:44 zmoelnig
-
- * hopefully made this work with older openGL-headers
-
-2006-09-14 09:20 zmoelnig
-
- * put the authors into GemVersion.h and removed the OS-information
- (since this is blurry)
-
-2006-09-14 09:00 zmoelnig
-
- * w32 batch file for testing;
- LATER make this via make
-
-2006-09-12 22:38 cclepper
-
- * updated to include timers and matrix flipping on windows
-
-2006-09-12 19:58 cclepper
-
- * adds a timer for the movie framerate on windows. also flips the
- image around when a directshow source is used.
-
-2006-09-12 19:44 cclepper
-
- * added header for GLEW
-
-2006-09-12 19:43 cclepper
-
- * Quicktime init on first launch for Windows. This could possibly
- go in GemWinCreateNT, but it works fine here.
-
-2006-09-12 19:40 cclepper
-
- * GLEW init code for Windows
-
-2006-09-12 19:37 cclepper
-
- * added a working SIMD feature check for Windows.
-
-2006-09-11 21:56 cclepper
-
- * m_auto is passed to the handle. useful for DirectShow and
- Quicktime which are more efficient handling auto play than just
- incrementing a frame counter.
-
-2006-09-11 21:55 cclepper
-
- * moved m_auto to public member variable
-
-2006-09-11 21:53 cclepper
-
- * added right inlet frame handling and auto now sets rate
-
-2006-09-07 21:28 cclepper
-
- * fixed error in SetVertex that made everything square
-
-2006-09-05 15:27 tigital
-
- * added more informative output when changing mode
-
-2006-09-03 16:50 zmoelnig
-
- * removed inheritance of GemException from std::exception to not
- set up M$VC; hope this works
-
-2006-09-02 18:37 zmoelnig
-
- * use "-path" for searching images
-
-2006-09-02 18:37 zmoelnig
-
- * added installabs target for installing abstractions;
- install Gem.${EXT} into pd/extra/Gem/
-
-2006-08-31 19:45 cclepper
-
- * added a message apative to set the threshold for deinterlacing.
- also attempted to make the deinterlacing a little nicer looking
- for RGBA.
-
-2006-08-31 19:36 cclepper
-
- * changed drawing to use SetVertex() which allows for texturing
- from texture units other than 0
-
-2006-08-31 18:48 cclepper
-
- * added texunit message and handling of multiple texture units
-
-2006-08-29 15:34 zmoelnig
-
- * added "cvs" to the version string
-
-2006-08-29 14:46 zmoelnig
-
- * removed the tailing slash from BUILDDIR (avoid double-slashes in
- paths)
-
-2006-08-29 07:35 zmoelnig
-
- * fixed compilation issue on systems without HAVE_DIRECTSHOW
-
-2006-08-24 21:20 cclepper
-
- * added HAVE_DIRECTSHOW define to select filmDS or filmAVI
-
-2006-08-24 21:15 cclepper
-
- * changed defines to add HAVE_DIRECTSHOW
-
-2006-08-24 20:55 cclepper
-
- * DirectShow class for pix_film on Windows.
-
-2006-08-22 12:05 zmoelnig
-
- * replaced [v+] and friends with pd-objects
-
-2006-08-22 12:03 zmoelnig
-
- * dummy objects that print an error when being instantiated,
- telling the user that the real objects ceased to exist
-
-2006-08-22 11:52 zmoelnig
-
- * cyrille's stencil buffer patch
-
-2006-08-22 07:52 zmoelnig
-
- * newline at end of file (after all, C++ MUST have a newline at the
- EOF)
-
-2006-08-22 07:40 zmoelnig
-
- * put the DirectShow code into #ifdef's to prevent it from bulding
- on other platforms;
- dos2unix
-
-2006-08-21 21:21 cclepper
-
- * Changed callback to GetCurrentBuffer. Added method to record
- video to disk in native format (useful for DV capture).
-
-2006-08-21 21:16 cclepper
-
- * Object for loading DirectShow files on Windows
-
-2006-08-21 18:48 cclepper
-
- * fixed cast to GLclampd for depth flag
-
-2006-08-17 11:08 zmoelnig
-
- * remove the 2nd inlet inherited from [pix_texture] since this
- object always has its own texture
-
-2006-08-17 11:07 zmoelnig
-
- * added a second inlet for setting a "remote" texture, which is
- used optionally if no image is present
-
-2006-08-17 09:13 zmoelnig
-
- * deleted commented out leftovers;
- use window-dimensions when given dimensions <=0 (instead of <0)
-
-2006-08-17 08:22 zmoelnig
-
- * an example on how to use full-screen motion-bluring with
- feedback-textures
-
-2006-08-16 12:40 zmoelnig
-
- * autoconf working on OSX
-
-2006-08-16 12:39 zmoelnig
-
- * deleted [gemorb] and [gemtablet]
-
-2006-08-16 12:31 zmoelnig
-
- * removed MarkEx from Gem; added Vertex-branch to configure
-
-2006-08-16 12:27 zmoelnig
-
- * removed MarkEx from Gem
-
-2006-08-16 10:03 zmoelnig
-
- * better(?) declarations of exceptions...
-
-2006-08-14 15:32 zmoelnig
-
- * removed debugging printout
-
-2006-08-14 15:31 zmoelnig
-
- * initialization of treeidmap
-
-2006-08-14 15:07 zmoelnig
-
- * more arguments to objects that need it
-
-2006-08-14 14:58 zmoelnig
-
- * allow arguments to objects
-
-2006-08-14 14:37 zmoelnig
-
- * changed this object to A_GIMME,
- since default args do not like symbols to come after floats...
- LATER: this object should refuse from being created, if the
- arguments do not match what we expect
- LATER: there are other objects who also suffer from this...
-
-2006-08-09 17:15 zmoelnig
-
- * rearranged a bit, so that it is possible to find the "--with-pd"
- flag in the help...
-
-2006-08-09 17:08 zmoelnig
-
- * this might work on os-x!
- changed the behaviour of "--with-pd" so that it's argument should
- direct to the base-path of pd, where we can find both headers
- (<pdpath>/src) and libraries (<pdpath>/bin)
-
-2006-08-09 16:44 zmoelnig
-
- * use "0" instead of NULL for setting characters
-
-2006-08-09 16:40 zmoelnig
-
- * protect the inclusion of <colormodels.h> with
- HAVE_QUICKTIME4LINUX
-
-2006-07-27 16:00 zmoelnig
-
- * use "vera.ttf" as default font (whoa, this could break things!)
-
-2006-07-27 15:59 zmoelnig
-
- * use GemState->reset() instead of resetting things manually
-
-2006-07-27 15:58 zmoelnig
-
- * removed the "stereo" membervariable: this is handled by
- "tickTime";
- added a "reset()" method (to be used in [gemhead] instead of
- resetting things manually)
-
-2006-07-27 15:56 zmoelnig
-
- * replaced setting GemState->stereo by setting GemState->tickTime;
-
-2006-07-27 12:12 zmoelnig
-
- * removed an unconditional exception thrown in the constructor
-
-2006-07-25 16:37 zmoelnig
-
- * use "state->tickTime" instead of "state->stereo" for (not)
- updating movements
-
-2006-07-25 14:47 zmoelnig
-
- * made the warning go away. a bit more text...
-
-2006-07-20 18:45 tigital
-
- * removed "GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT" from
- fbo status checking because it has been removed from the spec
-
-2006-07-20 17:09 tigital
-
- * add info about compat message
-
-2006-07-12 04:47 tigital
-
- * replaced "colorspace" with separate "type" and "format" messages
- (also can affect creation args): default type=GL_UNSIGNED_BYTE
- and format=GL_RGB; more informative (and more gem-like) error
- reporting; better setup of fbo's; switchable textureType
- (default=GL_TEXTURE_2D); better cleanup
-
-2006-07-12 04:26 tigital
-
- * [osx] "type = ..._REV" or not: compile-time check for
- __BIG_ENDIAN__, to help support intel-macs
-
-2006-07-12 04:22 tigital
-
- * [osx] start of code to detect altivec at runtime
-
-2006-07-12 04:21 tigital
-
- * [osx] possibility of using generic float (software) renderer:
- should come up with a way to switch between renderer's at runtime
-
-2006-07-12 04:19 tigital
-
- * [osx] check for resource's existence before releasing them
-
-2006-07-12 04:17 tigital
-
- * added glTexParameteri()'s; removed auto texcoord generation (for
- now...); better support for older GL's; seems to work (atm) with
- geo's
-
-2006-07-12 04:04 tigital
-
- * starting to merge in vertex_array stuff (finally)
- - accepts tables in this order atm: vertex, color, normal,
- texcoord
-
-2006-07-12 04:00 tigital
-
- * starting to merge in vertex_array stuff (finally)
-
-2006-07-12 02:58 tigital
-
- * starting to merge in vertex_array stuff (finally)
-
-2006-07-04 14:48 zmoelnig
-
- * use setCSizeByFormat()
-
-2006-07-04 14:47 zmoelnig
-
- * use a define for the debug-printout at decoder-instantiation:
- makes code much more readable
-
-2006-07-04 14:46 zmoelnig
-
- * the convert(To|From) routines now also work without an explicit
- colorspace; if none is given, the already set cs of the
- destination is taken; if this is unset, the default cs is used
-
-2006-07-03 09:06 zmoelnig
-
- * replaced sprintf() by snprintf(); replaced printf() by
- post()/error()
-
-2006-07-03 08:45 zmoelnig
-
- * lowered the threshold of insecurity by replacing usleep() with
- select()
-
-2006-07-03 08:44 zmoelnig
-
- * lowered the threshold of insecurity with snprintf(), select(),...
-
-2006-06-26 02:28 tigital
-
- * xcode 2.3 project file, makes dynamiclib
-
-2006-06-20 09:03 zmoelnig
-
- * forgot to remove the debugging "read"s...
-
-2006-06-14 10:20 zmoelnig
-
- * generated from configure.ac
-
-2006-06-14 10:20 zmoelnig
-
- * the SIMD-tests are only done if required explicitely by the user
- (e.g. --enable-mmx) or the compiling hardware seems to support it
- (naive test: if ARCH="i686" we want "sse2" and "mmx" but not
- "altivec" and the like); LATER make better tests (query processor
- capabilities)
-
-2006-06-14 10:17 zmoelnig
-
- * generated from acinclude.m4 (with automake-1.9)
-
-2006-06-14 10:16 zmoelnig
-
- * the GEM_ARG_WITH macro family now doesn't explicitely set the
- default value, unless a 3rd argument is given and a non-empty
- string (like "force")
-
-2006-06-14 09:25 zmoelnig
-
- * why...these files should have been deleted a long time ago...
-
-2006-06-14 09:02 zmoelnig
-
- * removed non-free fonts and added one free replacement; added a
- COPYING.txt which discusses licensing.
- LATER think about changing the default font to "vera.ttf"
-
-2006-06-14 08:56 zmoelnig
-
- * oops, forgot to check in the changes for fain-grained control
- over SIMD-optimization
-
-2006-06-13 22:45 cclepper
-
- * commented out the fps post() on the Mac since that goes out the
- outlet
-
-2006-06-13 22:41 cclepper
-
- * used #if 0 to remove the object from the build process. need to
- use some proper defines until the new version works as well as
- the old
-
-2006-06-13 22:31 cclepper
-
- * should work for Mac/Win now
-
-2006-06-13 22:30 cclepper
-
- * moved m_recordStart and m_recordStop to the base class. commented
- out the not implemented getCodecName and getCodecDescription
-
-2006-06-13 22:28 cclepper
-
- * moved m_recordStart and m_recordStop to the base class
-
-2006-06-13 22:25 cclepper
-
- * Used one #ifdef to keep from crashing on Mac/Win. m_automatic is
- now true by default.
-
-2006-06-13 21:31 cclepper
-
- * Added a very clever #if 0 to remove this file from compilation.
-
-2006-06-13 21:29 cclepper
-
- * updated header file for volume function
-
-2006-06-09 19:07 cclepper
-
- * changed maxStackDepth declarations to match. both are GLint
-
-2006-06-09 19:05 cclepper
-
- * updated header file for quality function
-
-2006-06-09 19:04 cclepper
-
- * updated header file for volume function
-
-2006-06-09 13:06 zmoelnig
-
- * cleaned up setCSizeByFormat() to only one big (#ifdef __APPLE__
- #else) instead of 6 of them: should be more readable
-
-2006-06-08 15:36 zmoelnig
-
- * clean up shared memory needed when the segment already exists but
- is smaller than what we requested
-
-2006-06-08 11:55 zmoelnig
-
- * removed freeShm() from the destructor since the parent's
- destructor already handles this: the joys of inheritance
-
-2006-06-01 13:58 zmoelnig
-
- * prefixed V4L2-specific defines with V42L_; added loads of
- debugging stuff but still couldn't make it work...
-
-2006-06-01 13:55 zmoelnig
-
- * prefixed V4L-specific defines with V4L_; better checks on
- stopTransfer()
-
-2006-06-01 13:52 zmoelnig
-
- * added some more tests for defines when we are on w32
-
-2006-05-31 14:05 zmoelnig
-
- * reschedule a rendering-cycle when changing the framerate from 0.0
- to something valid (normally the framerate change only takes
- effect at the next render-cycle; with framerate==0.0 this can
- take a long time)
-
-2006-05-31 14:05 zmoelnig
-
- * cancel pending destroy-requests on "create"
-
-2006-05-31 13:54 zmoelnig
-
- * reschedule a rendering-cycle when changing the framerate from 0.0
- to something valid (normally the framerate change only takes
- effect at the next render-cycle; with framerate==0.0 this can
- take a long time)
-
-2006-05-24 17:18 cclepper
-
- * added defines for Intel.
-
-2006-05-24 17:17 cclepper
-
- * added defines for Intel. fixed stupid looping bug.
-
-2006-05-16 12:00 zmoelnig
-
- * changed the return type of string.find() from (size_t) to
- (unsigned long) in order to make a valid test for (pos<0): this
- prevents hanging...
-
-2006-05-07 10:04 zmoelnig
-
- * use (size_t) where appropriate
-
-2006-05-07 10:03 zmoelnig
-
- * made m_size of type (size_t) instead of just (int)
-
-2006-05-07 10:03 zmoelnig
-
- * include <stdio.h>
-
-2006-05-07 10:00 zmoelnig
-
- * explicit casts to (float) to shut up warnings
-
-2006-05-04 19:04 zmoelnig
-
- * respect m_size (via glScale() and glPush/glPop)
-
-2006-05-04 18:54 zmoelnig
-
- * use GemMan::destroyWindowSoon() for window destruction: this
- allows to directly connect [gemmouse] to [destroy( without
- crashing (previously a [del 0] was needed to decouple the
- window-event-grabbing from the window-destruction)
-
-2006-05-04 18:52 zmoelnig
-
- * added a destroyWindowSoon() function that issues a delayed
- windows destruction (destruction is done at the beginning of the
- next render cycle which is rescheduled to be within 0.0 ms); this
- is useful when the destruction is initiated via window-events
- which would otherwise crash pd
-
-2006-05-04 17:53 zmoelnig
-
- * the slice-input now also accepts a pair of numbers for different
- numSlices and numStacks; currently only used by [sphere3d]
-
-2006-05-04 17:43 zmoelnig
-
- * added a spherical object for deformation (similar to [curve3d],
- but only control-points for now
-
-2006-05-03 13:34 zmoelnig
-
- * fixed memory-leak
-
-2006-05-03 04:24 tigital
-
- * now we correctly get the location of uniform variables: how it
- worked before, I have no idea...
-
-2006-04-28 14:34 zmoelnig
-
- * use memset() instead of bzero();
- use __WIN32__ instead of WIN32; include config.h for this to work
-
-2006-04-28 14:33 zmoelnig
-
- * inlcude config.h for __WIN32__
-
-2006-04-28 14:18 zmoelnig
-
- * include <io.h> instead of <unistd.h> on w32
-
-2006-04-28 14:16 zmoelnig
-
- * just include CPPExtern.h: this will include m_pd.h, so we don't
- need to do it here
-
-2006-04-28 14:13 zmoelnig
-
- * include GemExportDef before m_pd.h: this way we only have to
- pragma-disable the vc-warnings once: less code cluttering!
-
-2006-04-28 14:12 zmoelnig
-
- * use _MSC_VER instead of __WIN32__ for w32-specific things (the
- used pragmas are vc-only; i am not that sure about the
- declspec()-things)
-
-2006-04-28 13:57 zmoelnig
-
- * moved all includes to top of the file;
- use GemGL.h to include the gl-headers
-
-2006-04-28 13:51 zmoelnig
-
- * added wglext.h for w32;
- shouldn't the agl-headers be included here too?
-
-2006-04-28 13:35 zmoelnig
-
- * automatically define __WIN32__ if _MSC_VER is defined
-
-2006-04-28 13:33 zmoelnig
-
- * removed test for GL_WIN32_MEAN_AND_LEAN (there is no such thing)
-
-2006-04-28 13:32 zmoelnig
-
- * use "#ifdef __WIN32__" instead of "#if __WIN32__"
-
-2006-04-28 13:30 zmoelnig
-
- * protected the use of defines via #ifdef;
- better bracketing;
-
-2006-04-28 13:29 zmoelnig
-
- * don't use freeShm() on __WIN32__
-
-2006-04-28 13:29 zmoelnig
-
- * protected the use of defines via #ifdef
-
-2006-04-28 13:27 zmoelnig
-
- * use HAVE_QUICKTIME (and added a not about where it should be
- defined properly)
-
-2006-04-28 13:26 zmoelnig
-
- * use double for sqrt()
-
-2006-04-28 13:24 zmoelnig
-
- * on w32 include <io.h> instead of <unistd.h>
-
-2006-04-28 13:22 zmoelnig
-
- * check if GL_TEXTURE0_ARB is defined before using it
-
-2006-04-27 12:35 zmoelnig
-
- * it has been a long time since i compiled that...fixed some minor
- typos...
-
-2006-04-27 12:07 zmoelnig
-
- * added checks for video4linux-2; this is disabled by default
- (enable it with
- "--with-v4l2")
-
-2006-04-27 11:21 zmoelnig
-
- * added the bug reported by cyrille regarding pix_video and philips
- webcams
-
-2006-04-26 15:37 zmoelnig
-
- * fixed the [vertex_program]-bug; opened the freeframe-64bit issue
-
-2006-04-26 15:34 zmoelnig
-
- * made "param" an alias for "parameter", since this is the keyword
- most objects use...
-
-2006-04-26 15:33 zmoelnig
-
- * fixed a bug where m_envNum was not properly initialized when
- [vertex_program] was called with an argument; moved "parameter"
- to vertex_program.cpp, so both objects can set the parameter;
- LATER think about multiple parameters...
-
-2006-04-26 12:22 zmoelnig
-
- * proper initialization prevents crashes in destructor...
-
-2006-04-26 09:35 zmoelnig
-
- * did some proper initializing of pointers to prevent crashes
- (why has nobody thought about that in the generation process!??)
-
-2006-04-26 08:30 zmoelnig
-
- * trigger the quitting from outside (that is: the script)
-
-2006-04-26 08:20 zmoelnig
-
- * a simple test that tests for all Gem objects (as listed in
- objects.txt);
- no tests are performed on vertex/-objects and on markEx/-objects
-
-2006-04-26 07:47 zmoelnig
-
- * fixed the [separator] bug;
- found other ways to trigger the [vertex_program] bug
-
-2006-04-26 07:41 zmoelnig
-
- * before pushing to the stacks, check whether the stacks are
- already full;
- this leads to less errors when chaining more than 1 [separator]
-
-2006-04-26 07:40 zmoelnig
-
- * added a variable for the current depth of the matrix-stacks
-
-2006-04-26 07:39 zmoelnig
-
- * query the number of supported stacks for the various matrix-modes
- (important
- for [separator];
- text whether GL_NV_multisample_texture_hint is supported before
- setting the hint;
-
-2006-04-25 17:18 zmoelnig
-
- * normalized input and output values; still no clamping
-
-2006-04-25 16:58 zmoelnig
-
- * yuv2rgb and vice versa conversion abstractions
-
-2006-04-24 19:16 zmoelnig
-
- * use "size_t" for alignment-magic, since
- sizeof(int)!=sizeof(unsigned char*) on x86_64;
- btw, this should be used in pd's m_simd.h and in the freeframe
- specs too...
-
-2006-04-11 09:33 zmoelnig
-
- * moved the window-destruction in render() before the m_windowState
- check: this fixes issues with lights when destroying the windows
- from "outside"
-
-2006-04-07 15:12 tigital
-
- * [osx] uyvy/bgra/yv12 conversions altivec'd (DONE)
-
-2006-04-07 03:49 tigital
-
- * yuv422_to_bgra_altivec() now works; fixed some typos;
- re-corrected #include's
-
-2006-04-05 11:29 zmoelnig
-
- * removed this pseudo-configure script since it is totally
- outdated;
- the (pseudo) Makefile in here should call configure in src/ if
- needed
-
-2006-04-05 11:27 zmoelnig
-
- * removed the call to glClearColor() in the reset()-routine since
- it might crash pd/Gem when no valid context is available (LATER:
- think what will happen when someone clicks on "reset" while
- rendering)
-
-2006-03-28 09:40 zmoelnig
-
- * reverted the include-change by jamie.
- this should really be handled by configure and NOT in here since
- we don't
- know whether the quicktime-headers are in lqt/ or quicktime/
- or...
-
-2006-03-28 03:20 tigital
-
- * fixed header inclusion
-
-2006-03-27 16:46 tigital
-
- * CLAMP() is inlined from GemFuncUtil.h
-
-2006-03-27 14:48 zmoelnig
-
- * replaced "nil" by "null64" in MMX routines, since this makes
- problems with QuickTime-framework (on macintel)
-
-2006-03-27 14:47 zmoelnig
-
- * added SSE2 processing for YUV (but most of the time is spent in
- memory-fetching anyhow, so not much of a speed gain)
-
-2006-03-27 07:52 zmoelnig
-
- * updated TODO-list: opened new bugs for [separator], missing
- objects on w32, and the shader-objects
-
-2006-03-24 15:16 zmoelnig
-
- * initialize (and modify) m_simd via GemSIMD and select optimized
- algorithms at runtime.
-
-2006-03-24 15:12 zmoelnig
-
- * instantiate a GemSIMD class in order to query the CPU only once.
-
-2006-03-24 15:10 zmoelnig
-
- * implemented a small static class GemSIMD which is used to query
- the SIMD-capabilities of the current CPUs: this should bring us
- away from (not) using SIMD via preprocessors.
-
-2006-03-23 23:08 zmoelnig
-
- * weird: compiling with SSE2 (on a system that doesn't support
- it!), yields
- to crashes when casting "double" to "int"; using "float" works
- fine, so i
- enforced floats here...
-
-2006-03-23 22:51 zmoelnig
-
- * removed "done..." printout in destructor
-
-2006-03-23 17:07 zmoelnig
-
- * added check for sse2
-
-2006-03-23 17:05 zmoelnig
-
- * added YUV->RGB24 routine (its not really faster than YUV->RGB32)
-
-2006-03-23 17:03 zmoelnig
-
- * put GEM_VECTORALIGNMENT in here
-
-2006-03-23 14:25 zmoelnig
-
- * further improved the SSE2-code: less shuffling done (in YUV2RGBA)
- and cache optimization on writing
-
-2006-03-23 14:07 zmoelnig
-
- * use macros for the timing code: this makes things much more
- readable (no more ifdef's within the actual code to time)
-
-2006-03-22 23:07 tigital
-
- * typo with no effect
-
-2006-03-22 23:06 tigital
-
- * var initializing re-ordering
-
-2006-03-22 22:50 tigital
-
- * added "#ifdef GL_ARB_shader_objects" to linkCallback()
-
-2006-03-22 22:47 tigital
-
- * added YUV422_to_YV12_altivec(); changed function var's to
- YV12_to_YUV422_altivec() so it works in the new file; started
- YUV422_to_BGRA_altivec(), but non-functioning atm
-
-2006-03-22 22:43 tigital
-
- * re-ordering
-
-2006-03-22 22:40 tigital
-
- * GemPixConvert.h switcheroo
-
-2006-03-22 17:41 zmoelnig
-
- * use the YUV2RGBA routines;
- on reallocate() make sure that a pointer to the aligned memory is
- returned
-
-2006-03-22 17:35 zmoelnig
-
- * initial SSE2-optimized YUV2RGBA conversion: there is still a lot
- to be done here (e.g. get a real grip on SIMD-programming!)
-
-2006-03-22 12:59 zmoelnig
-
- * added SSE2-optimized RGBA2YUV conversion;
- since GemPixUtil.cpp has grownso huge, i have outsourced the
- optimized color conversion routines into separate files
- GemPixConvertAltivec.cpp, GemPixConvertSSE2.cpp; obviously this
- has only been tested on linux and mightwork (or not) on osx
-
-2006-03-20 21:32 zmoelnig
-
- * did i check this in already?
-
-2006-03-20 20:53 zmoelnig
-
- * a toon-shader done with glsl
-
-2006-03-20 15:02 tigital
-
- * "#ifdef GL_ARB_shader_objects" added to createArrays()
-
-2006-03-19 18:25 zmoelnig
-
- * i think the separator-issue is almost fixed
-
-2006-03-19 18:25 tigital
-
- * remembered to member variables (masses, springs), so now we have
- actual object autonomy
-
-2006-03-18 20:36 tigital
-
- * fixed typo, now compiles
-
-2006-03-18 14:21 zmoelnig
-
- * in theory these changes should fix the memleak problem with the
- [separator]: while i was extra careful, i hope that my changes
- will be compiling and (what's more) be functional on other
- platforms!
-
-2006-03-16 09:34 zmoelnig
-
- * updated help-patches (mostly xchanged the [destroy( message with
- [create()
-
-2006-03-16 08:55 zmoelnig
-
- * FIXED: not using client-storage on machines that do not support
- it led to a "invalid enumerant" GL-error (due to setting
- GL_UNPACK_CLIENT_STORAGE_APPLE via glPixelStore to _some_ value);
-
-2006-03-15 19:49 tigital
-
- * updated based on what was committed yesterday, plus some other
- things
-
-2006-03-15 17:09 zmoelnig
-
- * updated since a help-patch for [pix_record] is now available
-
-2006-03-15 16:51 zmoelnig
-
- * new implementation that allows switching of the attached
- shm-segment via a "set" message.
-
-2006-03-15 15:42 zmoelnig
-
- * things removed for osX needed to be removed on linux too
-
-2006-03-15 10:37 zmoelnig
-
- * a help-patch
-
-2006-03-15 10:35 zmoelnig
-
- * cleaned up a bit (less verbosity; local variables should not be
- called m_...; ...)
-
-2006-03-14 20:04 tigital
-
- * [osx]: removed HaveValidContext() checks, because we now have a
- master context created via GemMan::initGem()...also initial code
- (not fully working) intended to allow auto-texcoord generation
- and setTexCoords()
-
-2006-03-14 19:59 tigital
-
- * [osx]: removed HaveValidContext() checks, because we now have a
- master context created via GemMan::initGem()...also changed to
- GL_NEAREST filtering to prevent fallback to software
- renderer...and initial (not fully working) code to allow
- colorspace request (ie. FLOAT, RGB, RGBA)
-
-2006-03-14 19:53 tigital
-
- * [osx]: removed HaveValidContext() checks, because we now have a
- master context created via GemMan::initGem()
-
-2006-03-14 19:25 tigital
-
- * [osx]: removed HaveValidContext() checks, because we now have a
- master context created via GemMan::initGem()
-
-2006-03-14 19:18 tigital
-
- * [osx]: removed HaveValidContext() checks, because we now have a
- master context created via GemMan::initGem()
-
-2006-03-14 18:23 tigital
-
- * corrected path to initial image
-
-2006-03-14 15:35 zmoelnig
-
- * glsl_vertex and glsl_fragment now respect pd's search path;
- updated TODO since some help-patches are now done
-
-2006-03-14 15:32 zmoelnig
-
- * updated and new help-patches for shaders
-
-2006-03-14 14:25 tigital
-
- * [size $1< works, and it's centered; removed CLIP_* limitations,
- so now it's like a normal gem object; some cleanup
-
-2006-03-14 14:20 tigital
-
- * added setModified() to parmMess: where is this really necessary
- (and not)?
-
-2006-03-14 14:19 zmoelnig
-
- * link now optionally takes a list of module-id's: [link 3 2( is
- the same as [shader 3 2, link(
-
-2006-03-14 14:17 zmoelnig
-
- * repsect pd's search path when opening shaders;
- fewer openGL errors;
-
-2006-03-14 14:17 tigital
-
- * cleanup: removed unused function bindTexture()
-
-2006-03-14 13:20 zmoelnig
-
- * removed printout of plugin address; made param# larger and end
- the param-string with \0
-
-2006-03-14 13:18 zmoelnig
-
- * added help-files for ARB shaders; made the [pix_freeframe] object
- theoretically
- functional
-
-2006-03-14 12:33 zmoelnig
-
- * empty(!still!) class for a splash screen;
- this object is aliased "Gem", so that when people create a [Gem]
- object, it doesn't fail
-
-2006-03-14 10:40 zmoelnig
-
- * mark shm-segment for deletion when object is destroyed;
- [TODO]: marked pix_share_* as done
-
-2006-03-14 10:38 zmoelnig
-
- * added help patches
-
-2006-03-14 10:14 zmoelnig
-
- * made it work on linux (even without crashes!);
- now you can also specify the 4th argument (color) as symbolic
- name like "RGBA" or "YUV":
-
-2006-03-14 08:58 zmoelnig
-
- * updated status
-
-2006-03-14 08:53 zmoelnig
-
- * what we still have to-do to make the gem-0.91 release
-
-2006-03-13 20:27 zmoelnig
-
- * added a handle for Destroy-Event on linux; whenever the window is
- closed (by clicking on the "x") the gem-context will be
- destroyed;
- this needs to be done outside of the event-loop to avoid crashes
-
-2006-03-13 19:38 zmoelnig
-
- * convert from cs other than RGBA
-
-2006-03-13 17:47 zmoelnig
-
- * registered the WM_DELETE_WINDOW protocol in order to disable the
- user-closing of the Window: LATER think about closing the window,
- when the user requests it.
-
-2006-03-13 17:20 zmoelnig
-
- * respect the upside-down flag when in mem2jpegImage(): however on
- my machine
- the images written seem to be correct anyhow...
-
-2006-03-13 16:56 zmoelnig
-
- * do not instantiate recordQT4L when HAVE_LQT_ADD_VIDEO_TRACK is
- not defined
-
-2006-03-12 20:37 zmoelnig
-
- * added help-patches for the hsv2rgb (and vice versa) abstraction:
- these are just copies from Gem/help/
-
-2006-03-12 20:34 zmoelnig
-
- * new abstractions in case we get rid of MarkEx
-
-2006-03-12 19:33 zmoelnig
-
- * added new help-file
-
-2006-03-12 19:07 zmoelnig
-
- * new help-files
-
-2006-03-06 11:23 zmoelnig
-
- * added stencil-buffer for glx (tested) and wgl (NOT tested)
-
-2006-03-04 00:52 tigital
-
- * added stencil buffer on creation
-
-2006-03-03 20:42 tigital
-
- * added env message; cleanups in setUpTextureState()
-
-2006-03-02 14:55 zmoelnig
-
- * set "upsidedown" to false: while this is the default on most
- systems, it is not on OSX (where quicktime makes flipped images);
- however pix_snap will always make "upright" images, so we have to
- make sure this is set here; this should close #1096651 at the
- sf-tracker (but i haven't tested it on OSX)
- additionally use setCsizeByFormat();
- additionally enable the __APPLE__'ed code for all platforms (its
- nothing apple-specific in there)
-
-2006-02-28 17:40 zmoelnig
-
- * who need m_name and m_length ? not me...
-
-2006-02-28 17:39 zmoelnig
-
- * whoa! finally found the bug that made Gem crash on re-loading a
- shader (or loading another one...); lots of cleanups, like using
- C++ "new" instead of "malloc" and more terse output and and ...
-
-2006-02-27 16:00 tigital
-
- * free arrays in getVariables() before getting the new
- m_uniformCount
-
-2006-02-27 15:09 zmoelnig
-
- * finally found the type that made a) the object crash and b) it
- look weird;
- only regenerate the vertices,... when needed (e.g. something has
- changed)
-
-2006-02-27 14:25 zmoelnig
-
- * added better (probably working) tests for ARB and NV extensions
-
-2006-02-27 14:09 zmoelnig
-
- * added a better (probably working) test for "lqt_add_video_track"
-
-2006-02-27 13:36 zmoelnig
-
- * added missing curly bracket
-
-2006-02-27 13:35 zmoelnig
-
- * initialized the index-array to "0": this keeps us from crashing!
-
-2006-02-24 15:14 tigital
-
- * added messages: "drag"(default 0.5) and "spring" (default 0.3);
- some cleanup
-
-2006-02-23 17:34 zmoelnig
-
- * added support for writing specified slots to disk (not very well
- tested)
-
-2006-02-23 17:33 zmoelnig
-
- * support for other colorspaces than RGB when writing with
- imagemagick (YUV not yet supported; libtiff and libjpeg not
- tested at all!)
-
-2006-02-23 15:33 zmoelnig
-
- * only compile if HAVE_LQT_ADD_VIDEO_TRACKS is defined (which
- should be defined by configure)
-
-2006-02-23 15:29 zmoelnig
-
- * removed the inlet
-
-2006-02-23 15:29 zmoelnig
-
- * allow to set the class-flags by defining GEM_CLASSFLAGS
-
-2006-02-21 14:01 zmoelnig
-
- * define HAVE_CONFIG_GENERIC_H if we don't have another
- config*.h.in file
-
-2006-02-21 14:00 zmoelnig
-
- * include configGeneric.h instead of os-specific config-file if
- HAVE_CONFIG_GENERIC_H is defined (at the command line)
-
-2006-02-21 13:27 zmoelnig
-
- * a generic fallback (a la long we can replace all the os-specific
- config.h.in files)
-
-2006-02-21 13:25 zmoelnig
-
- * added a test for lqt_add_video_track()
-
-2006-02-21 13:01 zmoelnig
-
- * added HAVE_LQT_ADD_VIDEO_TRACK, since older versions of
- libquicktime don't have this...
-
-2006-02-21 11:05 zmoelnig
-
- * tried to make it more stable;
- it is till crashing when: a) switching from non-texture to
- texture (it works when the texture is present when rendering is
- started); b) switching the lighting-state
-
-2006-02-21 11:02 zmoelnig
-
- * #ifdef'ed everything with USE_GLEW (currently glew is not used,
- so try to avoid any interference)
-
-2006-02-17 05:22 tigital
-
- * removed an unused outlet
-
-2006-02-16 19:53 tigital
-
- * useful for automatic texture-coordinate generation
-
-2006-02-15 23:05 tigital
-
- * [osx] one last hack to make it work like the other platforms
-
-2006-02-15 20:54 zmoelnig
-
- * oops! for testing i used __linux__ instead of __APPLE__ and
- forgot to revert it...
-
-2006-02-15 20:34 zmoelnig
-
- * some string magic to get the correct name of the plugin within an
- osX-bundle
-
-2006-02-15 18:32 zmoelnig
-
- * fixed use of DONT_HAVE_GLBLENDEQUATION (it was used as
- HAVE_GLBLENDEQUATION)
-
-2006-02-13 21:49 zmoelnig
-
- * removed the 2nd inlet (why was it there at all?)
-
-2006-02-13 16:58 tigital
-
- * corrected all.trees path to work from help
-
-2006-02-10 15:20 zmoelnig
-
- * use MAKECMDGOALS when calling the Makefile in src/
-
-2006-02-10 13:32 zmoelnig
-
- * added inlets for contrast and saturation
-
-2006-02-10 13:26 zmoelnig
-
- * added Grayscale processing
- avoid processing in [pix_contrast] if both m_contrast and
- m_saturate are 1.f (in greyscale ignore m_saturate)
-
-2006-02-09 00:32 tigital
-
- * [osx] new loader code that works with freeframe 1.0 SDK; note
- that the plugin will be looked for in the same directory as the
- patch, and currently you must append ".frf" to the end of the
- plugin's name
-
-2006-02-08 22:39 tigital
-
- * cleaned up imageStruct::setCsizeByFormat() so that it no longer
- does "default" switch before hitting the various case's
-
-2006-02-08 22:27 cclepper
-
- * Added RGBA version and tested on Windows.
-
-2006-02-08 22:26 cclepper
-
- * Added RGBA version and tested on Windows. Works except for
- negative contrasrt and saturarion values.
-
-2006-02-07 16:16 zmoelnig
-
- * renamed processYUV_Altivec() to processYUVAltivec() so it gets
- automatically called by GemPixObj's render();
- put initializing of class-variables into the constructor-header
-
-2006-02-07 03:34 cclepper
-
- * added #ifdef __VEC__
-
-2006-02-06 21:47 cclepper
-
- * initial YUV version with Altivec
-
-2006-02-06 17:20 cclepper
-
- * brings the old pix_record up to date
-
-2006-02-06 14:14 zmoelnig
-
- * implemented the setCodec(int) as a no-op
-
-2006-02-06 13:41 zmoelnig
-
- * better indentation to see what is included when
-
-2006-02-06 10:15 zmoelnig
-
- * this is the original pix_record, now renamed to pix_recordQT
- while we have the two concurrent objects, how should we make this
- compatible? create an abstraction?? make hacks like in
- [pix_filmNT]???
-
-2006-02-06 09:58 zmoelnig
-
- * at least made it compile on os-x
-
-2006-02-05 19:23 zmoelnig
-
- * made "record"-message work again
-
-2006-02-05 19:22 zmoelnig
-
- * now it produces something...
-
-2006-02-05 18:51 zmoelnig
-
- * updated to use lqt-api instead of old quicktime4linux api.
- although it somehow produces just noise right now (but hey - it
- did work 10 minutes ago)
-
-2006-02-05 18:49 zmoelnig
-
- * removed the dummy implementation of putFrame(): it is pure
- virtual in record.cpp and should not be filled with dummies
-
-2006-02-04 18:16 tigital
-
- * update
-
-2006-02-04 12:47 zmoelnig
-
- * define HAVE_QUICKTIME for __APPLE__
- (later think about using autoconf for this)
-
-2006-02-04 12:44 zmoelnig
-
- * added convertTo() and convertFrom() functions to the
- imageStruct-class for generic cs-conversion.
-
-2006-02-03 21:53 zmoelnig
-
- * pix_record which is independent of the used API (like
- pix_filmNEW,...)
-
-2006-02-03 21:52 zmoelnig
-
- * blind fixes to match record.h
-
-2006-02-03 21:40 zmoelnig
-
- * implementation classes for pix-record APIs.
- so far the recordQT4L (quicktime-for-linux) is tested, but not
- totally stable
- the recordQT (Apple's QuickTime API) has been copy'n'pasted from
- the original pix_record.cpp code - i am pretty sure i introduced
- some problems: at least the codec-querying and (more important)
- setting has certainly been broken.
-
-2006-02-03 15:33 tigital
-
- * [osx]: shutup gcc warning in initGem()
-
-2006-02-01 18:38 zmoelnig
-
- * replaced printf() by error() (it's more pdish and doesn't throw
- an error)
-
-2006-02-01 18:37 zmoelnig
-
- * at least it compiles here on linux...
-
-2006-02-01 18:21 zmoelnig
-
- * probably a new-line at EOF
-
-2006-02-01 18:21 zmoelnig
-
- * cleaned up code a bit (so i can read it :-))
- should perform a bit faster as well
- fixed a crash on my machine
- added type message
-
- still very crashy
- i _think_ there is a bug (most likely: a memory leak) in here
-
-2006-02-01 16:53 tigital
-
- * forgot header change to other platforms: this'll be cleaned and
- put in the correct spot (ie. the top of the file) sometime
-
-2006-02-01 15:43 tigital
-
- * initial commit: novel mathematical structure
-
-2006-02-01 15:42 tigital
-
- * initial commit: takes an image and creates a "voronoi region"
- painting out of it...works on OSX, but relies on GemPBuffer code,
- so other platforms can use this to test that code...
-
-2006-02-01 15:39 tigital
-
- * initial commit: works on OSX (still needs some serious cleanup!),
- but untested on other platforms: code is there, but is it really
- equivalently functional?
-
-2006-02-01 15:37 tigital
-
- * added check for a loaded program to the paramMess code; prevents
- crashing when sending parameters to the object but no program is
- actually loaded!
-
-2006-02-01 15:36 tigital
-
- * error code reporting cleanup
-
-2006-02-01 15:34 tigital
-
- * [OSX] changed NULL to 0 to shutup gcc
-
-2006-02-01 15:33 tigital
-
- * added header for glReportError(); [OSX] added "masterContext"
-
-2006-02-01 15:31 tigital
-
- * cleanup; added setModified();
-
-2006-02-01 15:04 zmoelnig
-
- * changed "#define unix" to "#define __unix__"
-
-2006-02-01 15:03 zmoelnig
-
- * changed "#define unix" to "#define __unix__"
- removed unneccessary headers from inclusion
-
-2006-02-01 15:00 zmoelnig
-
- * changed "#define unix" to "#define __unix__"
- moved the check for glx-support to GemWinCreateXWin.h
-
-2006-02-01 14:58 tigital
-
- * [OSX] added "masterContext", which gets rid of need for
- HaveValidContext()...needs non-jamie testing ;-)
-
-2006-02-01 14:53 tigital
-
- * cleanups; added TODO questions; [OSX] added "masterContext",
- which gets rid of need for HaveValidContext()...needs non-jamie
- testing ;-)
-
-2006-02-01 13:24 zmoelnig
-
- * only create constContext when its not already created
-
-2006-02-01 13:23 zmoelnig
-
- * applied patch from cesare to avoid crashes on closing the window
-
-2006-01-30 13:12 zmoelnig
-
- * added constructor for pixBlock-class (which properly initalizes
- newfilm and newimage to "false")
- moved constructor/destructor of imageStruct and pixBlock from
- header into the cpp-files to avoid unneccessary recompilation on
- changes)
-
-2006-01-26 14:47 zmoelnig
-
- * made a script (which will hopefully hardly ever be needed) to
- import glew
- mention it in the README.glew
-
-2006-01-26 14:07 zmoelnig
-
- * added glew-files (+ a readme how i got them)
-
-2006-01-23 11:08 zmoelnig
-
- * changed [part_velsphere] to [part_velocity sphere]
-
-2006-01-23 11:07 zmoelnig
-
- * define DONT_HAVE_GLBLENDQUATION
-
- i think, this file should be used only for M$VC;
- LATER we can put #pragma's in here to enable linking with special
- libraries based on the configuration (or should we rather do it
- in the files that need these libraries??)
-
-2006-01-23 11:05 zmoelnig
-
- * use a DONT_HAVE_GLBLENDQUATION rather than __WIN32__ to determine
- whether this objects needs to be disabled
-
-2006-01-22 21:43 zmoelnig
-
- * added alternative dependencies for magick++6 and avifile-0.7
-
-2006-01-22 21:41 zmoelnig
-
- * added newly added files
-
-2006-01-22 21:40 zmoelnig
-
- * minor changes (line.breaks)
-
-2006-01-22 21:37 zmoelnig
-
- * on w32 we have to include <io.h> to be able to use "close(int)"
-
-2006-01-22 21:32 zmoelnig
-
- * fixed string-template issues with vc6
-
-2006-01-22 21:29 zmoelnig
-
- * changed 0.5 to 0.5f to make floats instead of doubles (amd thus
- reduce warnings about conversion)
-
-2006-01-22 21:27 zmoelnig
-
- * disabled if GL_TEXTURE0_ARB is undefined
- (another candidate for GLEW)
-
-2006-01-22 21:26 zmoelnig
-
- * removed definition of DEBUG=0 since it is not needed anyhow
-
-2006-01-22 21:25 zmoelnig
-
- * turn glBlendEquation OFF on w32 (stupid restriction, but faster
- than finding anything more sophisticated)
-
-2006-01-22 21:23 zmoelnig
-
- * only set glParameterEnvArg if vertexprograms are supported by the
- headers
-
-2006-01-22 21:17 zmoelnig
-
- * disable more warnings (here: switch-statement without case (only
- default); this is possible is all cases are turned off by
- #ifdefs)
-
- NOTE: these pragmas should be within __MSC_VER_ instead of
- __WIN32__
-
-2006-01-18 12:11 zmoelnig
-
- * found this lying around on my harddisk
-
-2006-01-18 11:22 zmoelnig
-
- * made circle::NUM_PTS a define rather than a const static variable
-
-2006-01-18 11:13 zmoelnig
-
- * removed unused variables
- made circle::NUM_PTS a define rather than a const static variable
-
-2006-01-18 10:54 zmoelnig
-
- * set a variable when an apple-framework is found
- use it in the status-report (so apple-users don't get confused
- about no QuickTime even if the framework is installed)
- in "configure" the removal of "local"/"locale" is also applied
-
-2006-01-18 10:52 zmoelnig
-
- * fixed typo "locale" should read "local"; however, since the tests
- are not expanded into functions, this does not work
- so i removed the "locale" entirely and replaced it by a
- pseudo-localized variable (appending stuff derived from the
- arguments)
-
-2006-01-18 10:24 zmoelnig
-
- * properly ifdef the usage of "kDVCPROHD720pCodecType"
-
-2006-01-18 10:18 zmoelnig
-
- * declare getFPS() (inherited from film.h)
-
-2006-01-18 10:15 zmoelnig
-
- * include <fcntl.h> for open()
-
-2006-01-18 10:02 zmoelnig
-
- * disable more code, if GL_ARB_shader_objects is not defined
- (mostly cosmetic)
-
-2006-01-18 10:00 zmoelnig
-
- * disable most of the code if "GL_ARB_shader_objects" is not
- defined
-
-2006-01-18 09:13 zmoelnig
-
- * avoid using m_program if "GL_ARB_shader_objects" is not defined
-
-2006-01-17 11:01 zmoelnig
-
- * prevent ARB-GLSL
-
-2005-12-27 19:03 tigital
-
- * initial helpfile
-
-2005-12-15 17:45 zmoelnig
-
- * removed loading/saving
- removed "point" area-type
- changed (float) to (unsigned char) where possible (at least where
- it was obvious to do)
-
-2005-12-15 13:09 zmoelnig
-
- * updated a bit so we can build a debian-package
-
-2005-12-15 12:17 zmoelnig
-
- * added davide's hit-object
-
-2005-12-15 10:54 zmoelnig
-
- * initialized more variables
- moved initialization (from body of constructor) into
- initialization-block of constructor
-
-2005-12-15 00:43 tigital
-
- * clean up in render loop
-
-2005-12-14 23:19 cclepper
-
- * works on windows. sorta. only a few changes needed from the mac
- code.
-
-2005-12-14 15:53 tigital
-
- * string buffer is now member variable; more detailed reporting
- when program is outside hardware limits
-
-2005-12-14 13:34 zmoelnig
-
- * TreeIdMap for reacTable*'s fiducials
-
-2005-12-14 13:29 zmoelnig
-
- * dont build depend-files when doing "make clean" or "make
- distclean"
-
-2005-12-14 13:29 zmoelnig
-
- * don't try to generate configure, Make.config and the like when
- doing a "make clean" or "make distclean"
-
-2005-12-14 13:28 zmoelnig
-
- * newline at end of file...
-
-2005-12-14 13:26 zmoelnig
-
- * fixed header-inclusion-prevention-defines (ye, my mother-tongue
- is German)
-
-2005-12-14 13:24 zmoelnig
-
- * included Ross and Martin for the reacTIVision system
- replaced "@" by "[AT]"
-
-2005-12-14 13:15 zmoelnig
-
- * help-patches for the fiducial-tracker (and the binarizing
- thresholder)
-
-2005-12-14 13:14 zmoelnig
-
- * fiducial-tracking as used in reacTIVision
- thanks to martin kaltenbrunner and ross bencina (and the mtg@upf)
- for releasing their code under (L)GPL
-
-2005-12-14 13:13 zmoelnig
-
- * binarizing adaptive tiled thresholder
-
-2005-12-14 13:07 zmoelnig
-
- * better check whether switching to another driver succeeds
-
-2005-12-10 19:45 tigital
-
- * added glReportError() for helping debug
-
-2005-12-10 18:40 zmoelnig
-
- * moved GLdefine's from GemPixUtil to GemGL
-
-2005-12-10 16:01 tigital
-
- * corrected spotlight direction initialization; placed limits on
- light parameters (as supported by GL)
-
-2005-12-10 00:20 tigital
-
- * removed spurious glEnd() called in createSphere: it was causing a
- glError...
-
-2005-12-09 22:52 cclepper
-
- * added parameter message
-
-2005-12-07 16:40 cclepper
-
- * fixed QT crashing on Windows, but the fix introduces a small
- memory leak when loading new movies. Also, removed a redundant
- memcpy() in getFrame.
-
-2005-12-07 16:17 tigital
-
- * - added mode & repeat messages (like [pix_texture], same
- defaults)
- - added outlet for texture info: ID, width, height, type
-
-2005-12-06 06:40 tigital
-
- * initial commit:
- - allows offscreen rendering on a per [gemhead] basis
- - defaults to 256x256, but can be set with [dimen x y<
- - float RGB only, atm
- - right outlet outputs list: texID, width, height, type
- - type can be switched with [mode 0/1< (ie. TEXTURE_2D or
- TEXTURE_RECTANGLE)
-
-2005-12-06 05:56 tigital
-
- * renamed inlet for some unknown reason
-
-2005-12-06 04:01 tigital
-
- * don't need to enable/disable shader_arb; added check and better
- clean up for re-loaded shaders
-
-2005-12-04 22:45 tigital
-
- * added outlet for programID
-
-2005-12-04 16:15 tigital
-
- * useful glWrapper which allows one to use a glsl_program that was
- linked in an earlier chain in a later chain; but don't forget to
- frame it's usage with an ending call with value zero, or the
- program affects all later chains
-
-2005-12-04 01:17 tigital
-
- * individual shader objects are now responsible for cleaning up
- after themselves; also, made initialized length=0
-
-2005-12-04 01:13 tigital
-
- * object is now responsible for cleaning up after itself; also
- discovered that we don't need to glEnable the *_SHADER_ARB's
-
-2005-11-30 06:55 tigital
-
- * auto-magic uniform variable discovery working; shaderMess()
- fixes; lotsa cleanup in general (& stuff)
-
-2005-11-30 00:12 tigital
-
- * clean-up, & better initialization
-
-2005-11-29 23:55 tigital
-
- * corrected shaderMess behavior; added OSX check for
- hardware/software execution
-
-2005-11-29 04:52 tigital
-
- * miscellaneous fixes of warnings, misspellings, and debug messages
-
-2005-11-28 23:29 cclepper
-
- * added SequenceGrabber recording
-
-2005-11-27 14:30 zmoelnig
-
- * thread fixes:
- + better initializing
- + more freeing
- + filenames given as argument are now opened via thread too
-
-2005-11-27 10:24 zmoelnig
-
- * reduced verbosity a bit
- made rest of error messages a bit more findable ("error:
- GemImageLoad" instead of just "erro: GEM")
-
-2005-11-26 21:17 zmoelnig
-
- * added dynamic methods for uniform parameters
-
-2005-11-26 19:13 cclepper
-
- * Added the first check for HD format clips to deal with their
- trickster frame sizes. Also, a fix for sound continuing after
- rendering stops.
-
-2005-11-26 16:19 zmoelnig
-
- * use a #define for defining the max number of shaders
- fixed some typos and minor bugs
-
-2005-11-26 15:36 zmoelnig
-
- * on creating the child-thread wait until it has set the
- m_thread_running (so we can use that in openMess())
-
-2005-11-26 13:12 zmoelnig
-
- * reduced verbosity
-
-2005-11-26 12:48 zmoelnig
-
- * hmm: define "t_GLshaderObj" to whatever type the shaderobj should
- be;
- made it compile on linux (and not crash)
-
-2005-11-26 12:45 zmoelnig
-
- * include stdlib (for malloc, free)
- replace printf() by post()
-
-2005-11-26 05:08 cclepper
-
- * Added the first check for HD format clips to deal with their
- trickster frame sizes. Also, a fix for sound continuing after
- rendering stops.
-
-2005-11-26 00:50 tigital
-
- * initial wrapper support for GLSL support (ARB based):
- - there should be a whole host of these, but right now I'm only
- up to writing the one, for input of one indexed float ;-)
-
-2005-11-25 22:56 tigital
-
- * initial GLSL support (ARB based):
- - load individual shaders via glsl_vertex or glsl_fragment
- - combine multiple shader's right output into a [shader $1 $2...<
- and send into [glsl_program]
- - send [link< to [glsl_program] to actually link the objects:
- this was done because we don't want to re-link objects every
- render-timeslice...
- - each object accepts a [print< to give info, , and
- [glsl_program] will also report linked program's uniform
- variables, names, indices...
- - uniform variable indices can be used with [GEMglUniform...] to
- change variables (but maybe there should be more auto-discovery
- in [glsl_program]?)
- - object's will also report a shader's compile-time error log (if
- any) to console (not pd's tk console): need to figure out how to
- parse infolog into post()-friendly format...
-
-2005-11-23 13:08 zmoelnig
-
- * added check for GLsizeiptrARB
-
-2005-11-23 13:07 zmoelnig
-
- * die at the end of configure if no openGL has been found
- check for typedef of GLsizeiptrARB
-
-2005-11-21 14:31 zmoelnig
-
- * threaded image loading
-
-2005-11-15 14:24 zmoelnig
-
- * updated help-files
-
-2005-11-15 14:22 zmoelnig
-
- * show how to load an image into the buffer
-
-2005-11-15 14:21 zmoelnig
-
- * added some more wrappers (thanks to cyrille)
-
-2005-11-10 14:50 zmoelnig
-
- * initialize m_devicename to NULL in order to not produce random
- crashes.
- fixed printf() security-hole
-
-2005-11-09 03:08 tigital
-
- * cleaned up headers, initialization; also added code to pad
- rowbytes for dimensions not multitples of 16 or 32 (helps
- GL_STORAGE_SHARED_APPLE)
-
-2005-11-08 23:01 cclepper
-
- * added a little hack to bang when film reaches the end in auto
- mode
-
-2005-10-31 16:04 tigital
-
- * update
-
-2005-10-28 08:59 zmoelnig
-
- * use proper inheritance for the altivec function
-
-2005-10-27 22:13 tigital
-
- * added imageStruct.fromGray( short*) version, so now we can import
- luminance images from pdp2gem...
-
-2005-10-27 21:31 cclepper
-
- * added Altivec YUV function
-
-2005-10-26 13:54 zmoelnig
-
- * fixed path and case of images to load
-
-2005-10-25 20:37 cclepper
-
- * commented out lines in postrender which removes memory leak in
- [separator]
-
-2005-10-25 10:01 zmoelnig
-
- * throw an exception when no texture-units are defined at startup
- time (prevents object-creation)
- enforce 2 arguments in the texUnit-message
-
-2005-10-25 09:54 zmoelnig
-
- * bugfix: added A_NULL as terminating argument to the
- texUnit-callback
-
-2005-10-22 20:50 tigital
-
- * GL_VERSION_1_1 check only (there's no GL_VERSION_1_0_ on osx!)
-
-2005-10-21 12:49 zmoelnig
-
- * improved threaded movie-player:
- use select() instead of usleep() (should be more portable)
- when the grabThread returns no frame (NULL), a "bang" is emitted
- at render-time. the user gets a chance to immediately react on
- that and reset the frame# to something valid.
- when threaded, this will force the changed frame to be read in
- the main-thread (luckily the grabthread is locked by the mutex)
-
-2005-10-21 08:55 zmoelnig
-
- * changes in configure.ac
-
-2005-10-21 08:55 zmoelnig
-
- * check whether ffmpeg's (AVStream)->codec is of type
- "AVCodecContext" or "*AVCodecContext"
-
-2005-10-21 08:03 zmoelnig
-
- * removed contents of src/Gnu (since people keep building Gem from
- there)
-
-2005-10-20 16:03 zmoelnig
-
- * check for posix-threads
- removed HAVE_SIMD things (as we should rather use the __MMX__,...
- that are autodefined by the compiler)
-
-2005-10-20 16:02 zmoelnig
-
- * check for posixthreads (as in pd)
-
-2005-10-20 13:41 zmoelnig
-
- * (optional) threaded reading of movies
-
-2005-10-20 13:38 zmoelnig
-
- * shut up compiler warnings; explicit casts from t_float to GLint
-
-2005-10-20 10:03 zmoelnig
-
- * added method for "device" with symbolic device-names
-
-2005-10-20 09:59 zmoelnig
-
- * 2 lines of comment...
-
-2005-10-20 09:53 zmoelnig
-
- * fixed docu-bug that led people to try to compile Gem from src/Gnu
- instead of src/
-
-2005-10-19 12:48 tigital
-
- * initial commit:
- - accepts a creation arg to set # of texture units to deal with,
- or it defaults to the maximum # on the card
- - [texUnit 1 $2< assigns to texture Unit 1 the texID input via $2
- - [mode 0/1< switches between TEXTURE_RECTANGLE and TEXTURE_2D
-
-2005-10-19 04:17 tigital
-
- * initial commit:
- - accepts a creation arg to set # of texture units to deal with,
- or it defaults to the maximum # on the card
- - [texUnit 1 $2< assigns to texture Unit 1 the texID input via $2
- - [mode 0/1< switches between TEXTURE_RECTANGLE and TEXTURE_2D
-
-2005-10-18 23:59 tigital
-
- * more GLdefine's for multitexture and combiners...
-
-2005-10-14 07:54 zmoelnig
-
- * disabled warnings on __WIN32__
-
-2005-10-08 16:24 zmoelnig
-
- * wow! this file has been unused for quite a long time now; since i
- cannot find any reference to it anywhere (except in the 1.1.1.1
- or so revision of papi.h) i delete it.
-
-2005-10-07 17:03 zmoelnig
-
- * removed the disabling of the entire code when FILM_NEW is defined
- (oh this is really ugly)
-
-2005-10-07 17:02 zmoelnig
-
- * enabled the weird hack i made for a current CVS snapshot of
- ffmpeg, since the debian/sid package now uses the new API
-
-2005-10-07 16:53 zmoelnig
-
- * remove "-f" (less errors if files are already removed)
-
-2005-10-07 16:52 zmoelnig
-
- * updated w32 compile environment
-
-2005-10-07 16:51 zmoelnig
-
- * fixed typo
-
-2005-10-07 16:50 zmoelnig
-
- * only cimpileif we don't want FILM_NEW (i got an error when
- compiling in the vfw.h file and i didn't want to fix it in a
- deprecated file); LATER remove these files
-
-2005-10-07 16:49 zmoelnig
-
- * no shared memory (via shm) on w32; disabled on that platform
-
-2005-10-07 16:47 zmoelnig
-
- * defined pragmas to make compiler a bit less verbose
-
-2005-10-07 16:47 zmoelnig
-
- * hacked together a version of drand48(); how comes drand48() does
- not exist on w32 even though these files are in here for years ?
- (LATER)
-
-2005-10-07 16:44 zmoelnig
-
- * defined pragmas (on w32) to shut up compiler warnings (e.g.
- because of unknown pragmas)
-
-2005-10-07 16:43 zmoelnig
-
- * on w32 GL_ARB_fragment_program mightbe defined even if there is
- no ARB-program support...(we really should switch to glew)
-
-2005-10-07 16:42 zmoelnig
-
- * include <iostream> instead of <iostream.h> even on w32 (to use
- the "new" stdlib)
-
-2005-10-06 09:25 zmoelnig
-
- * merged with SIMD:
- don't copy the "datasize" with copy2imageStruct - as it should
- only be used internally for pdata;
- (there is a captialized warning about breaking things in the
- SIMD-branch log about this; however, i don't believe that it is
- that dangerous)
-
-2005-10-05 16:38 zmoelnig
-
- * fixed typo
-
-2005-10-05 16:24 zmoelnig
-
- * merged with SIMD-branch
-
-2005-10-05 16:14 zmoelnig
-
- * merged with SIMD
-
-2005-10-05 16:02 zmoelnig
-
- * merged in changes from SIMD-branch
-
-2005-10-05 15:42 zmoelnig
-
- * updated
-
-2005-10-05 15:35 zmoelnig
-
- * changes from configure.ac
-
-2005-10-05 15:22 zmoelnig
-
- * remove depend-files when "clean"
-
-2005-10-05 15:14 zmoelnig
-
- * propery escaped test-string
-
-2005-10-05 14:45 zmoelnig
-
- * use the CXX provided by configure
-
-2005-10-05 14:38 zmoelnig
-
- * use AC_CHECK_FUNC rather than AC_CHECK_LIB to check for
- glBindProgram{NV,ARB} since on osX we don't have a library libGL
- but rather use the OpenGL-framework
-
- NOTE: the test for glBindProgramNV fails to detect the
- nvidia-extensions on osX
- why ? because you have to explicitely request them by defining
- GL_NV_vertex_program before including the glext.h file on osX
- on linux (mesaGL,...) it is different: the extensions are only
- included, if GL_NV_vertex_program is NOT already defined
-
-2005-10-05 14:14 zmoelnig
-
- * a compile on osX revealed that somewhere MIN and MAX are defined
- as preprocessor directives; this stopped compiling the inline
- functions with the same name; FIXED
-
-2005-10-03 20:20 cclepper
-
- * initial commit. object for reading shared pixel memory between
- processes.
-
-2005-10-03 20:18 cclepper
-
- * initial commit. object for creating shared pixel memory between
- processes.
-
-2005-10-03 12:17 zmoelnig
-
- * added support for devicenames given as strings (like
- "/dev/video")
-
-2005-10-03 10:38 zmoelnig
-
- * removed the caching mechanism;
- if you want to load a set of images and access from RAM, use
- [pix_buffer] instead
-
-2005-10-02 16:41 zmoelnig
-
- * made checking for changes in Base/config`uname -s`.h.in a bit
- better
-
-2005-10-02 13:52 zmoelnig
-
- * moved inclusion of openGL-headers to Base/GemGL.h
-
-2005-10-02 13:48 zmoelnig
-
- * removed boolean-hack for buggy nvidia-headers (should get fixed
- upstream)
-
-2005-10-01 19:31 zmoelnig
-
- * checking for nvidia-extensions (can be disabled with
- "--disable-NV")
-
-2005-10-01 19:30 zmoelnig
-
- * checking for nvidia-extensions (can be disabled with
- "--disable-NV")
- added the system-specific config-file to the dependencies to do a
- ./configure
-
-2005-10-01 19:15 zmoelnig
-
- * test for definition of GL_{ARB,NV}_{vertex,fragment}_program
- before using extensions.
-
-2005-10-01 19:14 zmoelnig
-
- * moved the openGL-magic into Base/GemGL.h
-
-2005-10-01 19:13 zmoelnig
-
- * moved the inclusion of openGL-headers and the openGL-magic into a
- separate file GemGL.h (this should be included instead of the
- system-specific openGL-header files)
-
-2005-09-30 19:25 zmoelnig
-
- * now we can give the filename as argument and it gets loaded on
- startRendering()
- reordered everything a bit (and made fragment_program a child of
- vertex_program: there's loads of similar code)
-
-2005-09-28 04:29 cclepper
-
- * made sure glTexSubImage2D is called instead of the power of two
- texturing
-
-2005-09-27 17:56 zmoelnig
-
- * a fragment-shader demo that adds some b/w-noise...
-
-2005-09-27 17:55 zmoelnig
-
- * a fragment shader that produces noise...
-
-2005-09-27 17:04 zmoelnig
-
- * added vertex_program demo
-
-2005-09-27 17:04 zmoelnig
-
- * added toon-shader for the vertex_program demo
-
-2005-09-27 17:02 zmoelnig
-
- * added texture for the vertex_program demo
-
-2005-09-27 16:34 zmoelnig
-
- * removed the "64 64" arguments to [pix_video] as this makes the
- patches under windows unusable (pix_videoDS thinks the first
- argument is the deviceID, not the dimension)
-
-2005-09-27 15:44 zmoelnig
-
- * leftovers from pre pix_filmNEW aera.
- deleted because i don't (want to) maintain this code any more
-
-2005-09-27 15:42 zmoelnig
-
- * disable if FILM_NEW is defined in Base/config.h (then pix_filmNEW
- and friends are used)
-
-2005-09-27 05:17 tigital
-
- * added check for GL_VERSION_1_1, which is the lowest GL_VERSION
- osx defines
-
-2005-09-27 05:12 tigital
-
- * added define for GL_TEXTURE_RECTANGLE_EXT, duh
-
-2005-09-26 17:47 zmoelnig
-
- * [pix_filmFFMPEG] is covered by [pix_filmNEW]+filmFFMPEG
-
-2005-09-26 17:43 zmoelnig
-
- * made it _compile_ against the current CVS-version of ffmpeg (not
- really tested whether it works though)
- you have to actually change an ifdef at the beginning of
- filmFFMPEG.cpp in order to make it compatible with the CVS-ffmpeg
- (haven't found out yet, how to do this in a more generic way
- (apart from hacking configure again)
- btw, configure would need a lot of tweaking to recognize a
- current ffmpeg (and link against all the needed libraries)
- ffmpeg sucks
-
-2005-09-22 17:41 zmoelnig
-
- * added fix to be able to display floats as numbers again (instead
- of "float")
-
-2005-09-22 08:32 zmoelnig
-
- * added moocows changes (+ linebreaking)
- fixed the bug that prevented TextBase.cpp to build if you were
- not using FTGL (gltt or no-font)
-
-2005-09-21 18:41 tigital
-
- * cleanup apple headers
-
-2005-09-21 18:37 tigital
-
- * reordering to shut up gcc4 warnings
-
-2005-09-21 17:45 tigital
-
- * #ifdef'ed GLTTPixmapFont *m_afont like in text2d.cpp
-
-2005-09-21 14:56 zmoelnig
-
- * committed tim's fix to prevent escaping of pd-special characters
- (like ",")
-
-2005-09-15 10:25 zmoelnig
-
- * removed the pre-defined maximum of control/grid-points: now we
- can have curve3d's of any preecision
-
-2005-09-11 16:09 zmoelnig
-
- * shut up compiler warnings: the changes are mostly removal of
- unused variables, re-ordering of initialization of
- member-variables, (un)signedness and proper bracketing when doing
- comparisions
-
-2005-09-11 16:04 zmoelnig
-
- * shut up compiler warnings: the changes are mostly removal of
- unused variables, re-ordering of initialization of
- member-variables and (un)signedness
-
-2005-09-11 10:29 zmoelnig
-
- * enable fullscreen on X only if libXxf86vm is present
-
-2005-09-11 10:25 zmoelnig
-
- * removed a bit of verbosity
-
-2005-09-07 15:42 tigital
-
- * finally fixed sequence grabber dialog, so now OSX users can
- select input devices!
-
-2005-09-04 19:35 zmoelnig
-
- * added multiline-support (for FTGL) based on georg holzmann's code
- however, multilines have to be broken into lines outside of the
- [text]-objects;
- linebreaks are denoted with "\n" (10)
-
-2005-09-04 18:27 zmoelnig
-
- * initial video4linux-2 support;
- right now, it seems to be rather slow!
- a lot of functionality is not implemented yet (like setting the
- channel)
-
- not yet for use!
-
-2005-09-04 18:21 zmoelnig
-
- * GEM_OBJECTS are now a general {GEM_TARGETS}/*.o rather than each
- object listed separately (some systems don't support such a long
- list of arguments)
-
-2005-09-02 21:58 cclepper
-
- * added loop to match codecType and codec value. makes pjpeg
- default work on any machine.
-
-2005-08-31 21:25 cclepper
-
- * added check for m_haveMovie in setRate to prevent crashing
-
-2005-08-30 16:27 zmoelnig
-
- * a bit more verbosity on startup, so people will no what to send
- to "driver"
-
-2005-08-29 02:26 tigital
-
- * added outlet to output texture ID, which is useful for
- multitexturing and ARB_programs...
-
-2005-08-27 20:35 zmoelnig
-
- * maybe a hack to fix the tiny memory leak that i suspect to be in
- the cache
- LATER: really fix the cache (or remove it entirely)
-
-2005-08-27 13:12 zmoelnig
-
- * free image-data when loading (after the image has been copied
- into the buffer)
-
-2005-08-26 16:40 zmoelnig
-
- * "binaries" for the latest changes to acinclude.m4 and
- configure.ac
-
-2005-08-26 16:39 zmoelnig
-
- * also make a check for package "lqt" (which is libquicktime),
- since there might be an "lqt"-config installed.
-
-2005-08-26 16:37 zmoelnig
-
- * (hopefully) even better library checking: if pkg-config cannot
- find <libname>, we try <libname>-config to get the cflags and
- libs.
-
-2005-08-26 13:54 zmoelnig
-
- * test for libquicktime instead of quicktime (there exits a
- pkg-config for libquicktime on debian)
- do not automatically add "-lavcodec" when successfully testing
- for avformat: either the pkg-config test succeeds or the user
- should really provide PKG_FFMPEG_LIBS to get it right
-
-2005-08-26 13:51 zmoelnig
-
- * a bit better: if PKG_<libname>_LIBS is defined from outside but
- pkg-config fails, we do not test with AC_CHECK_PKG but trust the
- user
-
-2005-08-26 13:50 zmoelnig
-
- * include <quicktime.h> rather than <quicktime/quicktime.h>
- the path may change and should be reported by autoconf
-
-2005-08-26 12:31 zmoelnig
-
- * no freeframe support if sizeof(void*)!=sizeof(unsigned int)
-
-2005-08-26 12:25 zmoelnig
-
- * added checks for the size of (void*) and (unsigned int) (on
- x86_64 they are not the same (8 vs 4) and so casts won't work
- (needed for pix_freeframe)
-
-2005-08-26 12:22 zmoelnig
-
- * some information on how to workaround to get PIC-versions of
- certain libraries (ffmpeg, ftgl)
-
-2005-08-26 11:23 zmoelnig
-
- * forgot to remove update_pix_buffer()
- remove m_buffer (since this is only used locally)
-
-2005-08-25 22:37 cclepper
-
- * added regular and IIDC controls for video adjustment. tinkering
- with vdig settings for capture rects.
-
-2005-08-25 22:36 cclepper
-
- * more cleaning. fixed possible memory leak
-
-2005-08-25 22:34 cclepper
-
- * fixed memory leak
-
-2005-08-25 16:55 zmoelnig
-
- * further performance improvements (without crashes)
-
-2005-08-25 15:59 zmoelnig
-
- * another attempt to get the fps from ffmpeg (the different
- versions of this library with the same version-number are driving
- me...)
-
-2005-08-25 09:18 zmoelnig
-
- * there seem to be different versions of ffmpeg-4.0.9 around: one
- (from CVS!) which takes an extra flags-argument for
- av_seek_frame() and one that does not.
- so i did an extra ifdef, whether the AV_SEEK_FLAGS are defined
-
-2005-08-24 13:20 zmoelnig
-
- * implemented (similar to) georg's implementation (but made it less
- crash prone)
- should be faster, but if the content of the pix_buffer changes,
- this is not automatically reflected on pix_buffer_read's outlet
- (you must retrigger the index)
-
-2005-08-24 12:34 zmoelnig
-
- * added "open"-message to read images (no movies yet)
-
-2005-08-24 11:47 zmoelnig
-
- * verbosity now also states something about where it comes from
- ("DV4L: closed" instead of "closed")
-
-2005-08-24 11:45 zmoelnig
-
- * removed ifdef's; they should be handled by inheritance
-
-2005-08-24 11:34 zmoelnig
-
- * query the FPS and report it to the info-outlet
- (now we have: "list <numframes> <xsize> <ysize> <fps>";
- should we split it into separate messages with prepends like "fps
- <fps>" ??)
-
-2005-08-24 11:29 zmoelnig
-
- * added a getFPS()-message to query the frames-per-second (as
- reported by the decoding unit)
-
-2005-08-23 15:01 zmoelnig
-
- * compiler shutups
-
-2005-08-23 12:28 zmoelnig
-
- * started to crash again and then stopped (??); anyhow did some
- more initialization
-
-2005-08-22 17:06 zmoelnig
-
- * added some comments on why which decoding-library is placed where
- moved FFMPEG backwards (as it fails more often than not and is
- not really stable)
-
-2005-08-22 16:43 zmoelnig
-
- * even more bug-fixes
-
-2005-08-22 14:05 zmoelnig
-
- * bug-fix: now it is possible to decode some movies (i don't think
- the code worked at all before)
- more bug-fix: doesn't crash so easily anymore
- even more bug-fix: allow seeking of frames when possible (but
- this is rather seldom)
-
-2005-08-22 14:03 zmoelnig
-
- * use initialization outside of constructor
-
-2005-08-19 17:26 zmoelnig
-
- * fixed small type
-
-2005-08-19 15:52 zmoelnig
-
- * added [{fragment,vertex}_program] from the vertex_array-branch.
- (if DONT_USE_ARB is set, neither fragment- nor vertex-programs
- should be build)
- a bit of re-ordering of the include-files taken from the
- vertex_array-branch: just in case we ever need to include GL/gl.h
- in GemState.h, this would break all the weird glext-stuff,
- because GL/gl.h would be included _before_ we do our magic; now
- it should work
-
-2005-08-19 15:49 zmoelnig
-
- * added [{fragmen,vertex}_program] from the vertex_array-branch.
-
-2005-08-17 14:51 cclepper
-
- * changed some of the file loading code. should be faster to load a
- movie now.
-
-2005-08-17 14:49 cclepper
-
- * removed some debug lines
-
-2005-08-17 08:12 zmoelnig
-
- * call the Makefile in src/ rather than src/Gnu
-
-2005-08-16 04:40 tigital
-
- * [OSX] added menubar message to [gemwin]:
- 1 = show
- 0 = hide everything (full "kiosk" mode)
- -1 = hide menubar, but autoShow with mouse at screen top
- - this is only effective when gemwindow has "focus"
-
-2005-08-01 19:13 cclepper
-
- * device selection works. started VDIG functions
-
-2005-08-01 19:12 cclepper
-
- * new frame count outlet
-
-2005-07-21 22:35 cclepper
-
- * added the basics for message based compression settings. Fixed
- quite a few things
-
-2005-07-21 17:59 zmoelnig
-
- * fixed the "clean" target
-
-2005-07-19 22:55 cclepper
-
- * added ifdef for _APPLE__
-
-2005-07-19 22:36 cclepper
-
- * initial commit
-
-2005-07-16 17:36 zmoelnig
-
- * do checking for ARB even if specified explicitely (this also
- turns on the check if you don't specify whether you want ARB or
- not)
-
-2005-07-15 13:29 zmoelnig
-
- * (changed 2 files, committed 4...)
- a mechanism for finding files from optional libraries (those that
- can be turned off with "--without-BLA")
- "--with-BLA-includes=/bi/ba/bo" will add "-I/bi/ba/bo" to the
- CXXFLAGS
- "--with-BLA-libs=/foo/bar" will add "-L/foo/bar" to the LIBS
- if the support for this library is turned OFF (--without-BLA),
- then these flags will do nothing.
- the arguments need be paths (a check is performed whether the
- given directory exists)
- however, they can also be relative paths!
-
-2005-07-15 10:11 zmoelnig
-
- * checking for X-infrastructure on OS-X only if explicitely desired
- by the user (with "--with-x"); by default it is turned off
- added alias "--with-imagemagick" for "--with-ImageMagick"
- fixed BUG, that prevented configure from checking for optional
- libraries: if the checking for 1 library was turned off, all
- consectuive libraries were automatically turned off too (i guess
- it was the same with truning ON, but haven't tested)
-
-2005-07-14 20:45 zmoelnig
-
- * more quoting in configure.ac
- checked in configure, so people don't have to go through the
- hazzle of autoconf
-
-2005-07-14 20:38 zmoelnig
-
- * made the strip-test less verbose
-
-2005-07-07 13:03 zmoelnig
-
- * use std::max() instead of max() as suggested by T.Schulze to make
- it compile on windows with gcc; hope this doesn't break
- M$VC-compilation
- btw: pix_filmNT should NOT be used; use pix_filmNEW instead
-
-2005-07-07 11:37 zmoelnig
-
- * added "--with-pd" flag for the bundle-loader; if neither this
- flag is given nor PD_BINARY is set, $(which pd) is used (so the
- path pd should be in $PATH)
-
-2005-07-07 11:30 zmoelnig
-
- * fixed GEM_CHECK_LDFLAGS: better detection whether sucess or not
- fixed GEM_CHECK_FRAMEWORK: "-framwork" is a linker flag instead
- of a compiler flag. adapted changes to GEM_CHECK_LDFLAGS
-
- also included acinclude.m4, since this is really just a copy of
- aclocal.m4 (with my automake) and adding this files removes a
- dependency on automake
-
-2005-07-07 11:25 zmoelnig
-
- * delete depen-files
-
-2005-07-07 11:24 zmoelnig
-
- * use "-C"-flag to make instead of "cd" when (dist)cleaning
- subdirectories
-
-2005-07-07 11:22 zmoelnig
-
- * moved stuff from GemLibs/darwinStuff/ into GemMath.h
- reflect this in the files that included the old files
-
-2005-07-07 07:34 zmoelnig
-
- * moved variable declarations to the beginning of the
- open()-function, so they are not crossed by goto-jumps
-
-2005-07-07 07:28 zmoelnig
-
- * removed call to class_set_extern_dir() in __APPLE__
-
-2005-07-04 18:05 zmoelnig
-
- * copied from Gnu/README.build and added more information
-
-2005-07-04 12:11 zmoelnig
-
- * set glNormal3f() before rendering, so [text3d] becomes robust
- against changing the normal from outside (e.g. like
- [textextruded])
- is this is a bug in ftgl ?
-
-2005-07-04 12:10 zmoelnig
-
- * changed __apple__ to __APPLE__
-
-2005-07-04 11:54 zmoelnig
-
- * more beautiful (?) output on failure...
-
-2005-07-04 11:17 zmoelnig
-
- * use HAVE_VIDEO4LINUX rather than __linux__
-
-2005-07-04 11:16 zmoelnig
-
- * use HAVE_VIDEO4LINUX rather than __linux__
- commented out some verbosity
-
-2005-07-04 11:05 zmoelnig
-
- * turn of debug mode
-
-2005-07-04 09:22 zmoelnig
-
- * you can now specify a preferred library for decoding a file.
- if one is specified, it is tried as the first lib. if it fails,
- all libs are tried in the default order (read: the specified lib
- is tried twice: once as the preferred lib, and once as part of
- all libs)
-
-2005-07-04 09:20 zmoelnig
-
- * print "<codec> failed" when not being able to open instead of
- "<codec> unsupported"
-
-2005-07-04 09:18 zmoelnig
-
- * fixed codec initialization
-
-2005-07-04 08:43 zmoelnig
-
- * renamed GEM_WITH_TARGET to GEM_TARGET (and use AC_ARG_ENABLE
- instead of AC_ARG_WITH)
-
-2005-07-04 08:42 zmoelnig
-
- * Gem.${EXT} depends on subdirs
-
-2005-07-04 08:40 zmoelnig
-
- * added flag for videofilm-new
- removed "Base" from the selectable modules
-
-2005-07-04 08:36 zmoelnig
-
- * added a function for swapping Red and Blue that works in-place
-
-2005-07-04 08:35 zmoelnig
-
- * added comments
- added NEW_VIDEOFILM
-
-2005-07-03 19:03 zmoelnig
-
- * added check for "dos2unix"
-
-2005-07-03 18:53 zmoelnig
-
- * use "-MM" for "make depend" with gnu-preprocessors
-
-2005-07-03 18:42 zmoelnig
-
- * updated build-system after having a look at the Gnu-make
- documentation
- what's better:
- SOURCES are generated on the fly
- .cpp-files containing whitespaces are ignored (rather than
- crashing the build.process)
- dependencies are calculated on a per-file basis (rather than via
- Make.depend)
- better subdirectory handling (not for "clean"ing though)
- better check for "strip" (partly taken from wine)
-
-2005-06-29 15:44 zmoelnig
-
- * use size_t for datasize
-
-2005-06-29 14:45 zmoelnig
-
- * use "size_t" for dataSize instead of "int" or "long" or "unsigned
- char" ...
-
-2005-06-27 16:11 zmoelnig
-
- * fixed typo
-
-2005-06-26 18:03 zmoelnig
-
- * prettier results
- better handling of "strip"
-
-2005-06-26 17:38 zmoelnig
-
- * use configure to set the extension
- -"- to set reference-path
- -"- to set STRIP (on real check though)
-
-2005-06-26 15:33 zmoelnig
-
- * added checks for LDFLAGS
-
-2005-06-26 15:11 zmoelnig
-
- * HAVE_LIBAV{format,codec} is now convered by HAVE_FFMPEG
- additionally we now have a HAVE_VIDEO4LINUX
-
-2005-06-26 15:07 zmoelnig
-
- * framework-checks and cxxflags-checks
-
-2005-06-26 12:46 zmoelnig
-
- * "configure"-target
-
-2005-06-26 12:39 zmoelnig
-
- * works better (still not yet where we want to be)
-
-2005-06-25 16:49 zmoelnig
-
- * first try of a new build-system based on g� code, autoconf>2.57
- and that gets rid of the Gnu-directory
-
-2005-06-20 14:47 zmoelnig
-
- * updated documentation
-
-2005-06-20 14:47 zmoelnig
-
- * updated documentation (thanks to georg holzmann)
-
-2005-06-20 14:41 zmoelnig
-
- * fixed documentation
-
-2005-06-20 14:41 zmoelnig
-
- * added newline to end of file
-
-2005-06-19 18:45 zmoelnig
-
- * replaced WIN32 (or NT) (or _WINDOWS) (or...) by __WIN32__
-
-2005-06-19 18:41 zmoelnig
-
- * replaced WIN32 with __WIN32__
-
-2005-06-19 18:38 zmoelnig
-
- * unix2dos (m$vc does _not_ like unix-linebreaks in the dsp-file)
- added newer files
- use __WIN32__ instead of other windows-defines
-
-2005-06-19 18:36 zmoelnig
-
- * added DONT_INCLUDE_GLEXT (i think this is the default on most
- windows-compile-machines, and currently it fails to work on my
- setting, when i have time to fix it, i will re-enable glext on
- w32)
-
-2005-06-19 18:34 zmoelnig
-
- * renamed defines "NT", "WIN32" and "_WINDOWS" by "__WIN32__"
-
-2005-06-19 18:32 zmoelnig
-
- * suddenly m$vc didn't like variables "near" and "far", so i
- renamed them to "m_near" and "m_far"
-
-2005-06-19 17:11 zmoelnig
-
- * ifdef'ed (re)definition of WIN32_LEAN_AND_MEAN
-
-2005-06-19 17:10 zmoelnig
-
- * fixed recursion-bug with distance()
-
-2005-06-19 16:58 zmoelnig
-
- * added re-definition of GLU_SILHOUETTE _after_ including the
- openGL-headers
-
-2005-06-14 06:57 zmoelnig
-
- * fixed a bug discovered (and fixed) by matju, where image-files
- that opened but turned out to be a non-sgi-image, where not
- closed again.
-
-2005-06-09 16:09 ggeiger
-
- * Replaced "Programme" with PROGRAMFILES environment variable for
- finding m_pd.h
-
-2005-06-09 15:35 ggeiger
-
- * use ProgramFiles variable to detect path to pd
-
-2005-06-03 09:29 zmoelnig
-
- * on linux, we are using pix_videoNEW instead of pix_videoLinux for
- ages, it's time to remove it.
- hopefully we can do this for other platforms sometime as well
-
-2005-06-03 09:20 zmoelnig
-
- * GemDAG has been obsoleted for years, it's time to remove it.
- (probably something similar will reappear once we have threaded
- rendering to multiple windows)
-
-2005-06-03 09:10 zmoelnig
-
- * removed: people should (well, now they "must") run autoconf in
- order to generate their own configure-script
-
-2005-06-03 09:09 zmoelnig
-
- * added a note that tells people to run "autoconf" before
- "./configure"
-
-2005-06-03 08:57 zmoelnig
-
- * colors can now be RGB or (new:) RGBA
-
-2005-06-03 06:55 zmoelnig
-
- * commented out XCloseDisplay() which keeps Gem from freezing but
- is only a direty workaround (memory-leak + X-server hates too
- many open displays)
- added a big warning to not forget it....
-
-2005-06-03 06:54 zmoelnig
-
- * HELPSYMBOL_BASE must be defined _before_ including CPPExtern.h to
- have any effect
-
-2005-06-02 11:25 zmoelnig
-
- * added YUV-support
- normalized output to 0..1 (instead of 0..255)
- always output RGBA-values (even for grayscale and YUV; alpha
- defaults to 1.0)
-
-2005-06-01 16:42 tigital
-
- * [OSX] OpenGL headers are now centrally located in Base/GemMan.h
-
-2005-06-01 16:40 tigital
-
- * corrected description
-
-2005-06-01 16:35 tigital
-
- * [OSX] OpenGL headers are in Base/GemMan.h
-
-2005-06-01 16:34 tigital
-
- * [OSX] correct call to dialogCallback, not dialogMess (shuts up
- gcc4.0 warning); small header change
-
-2005-06-01 16:28 tigital
-
- * [NEW] added scale variable for scale of halftone
- [OSX] compile-time check (via AvailabilityMacros.h) for support
- of sinf() & friends in math.h (now defined in >10.4.x)
-
-2005-06-01 15:57 tigital
-
- * [OSX] converted the last of the MACOSX to __APPLE__ ifdef's?
-
-2005-06-01 15:48 tigital
-
- * coalesced #ifdef between linux & apple (since they are the same
- typedefs)
-
-2005-06-01 15:46 tigital
-
- * [OSX] corrected #ifdef and added LPVOID define
-
-2005-06-01 15:43 tigital
-
- * [OSX] compile-time check (via AvailabilityMacros.h) for support
- of sinf() & friends in math.h (now defined in >10.4.x)
-
-2005-06-01 15:40 tigital
-
- * header includes now centralized in Base/GemMan.h
-
-2005-06-01 15:38 tigital
-
- * [OSX] converted the last of the MACOSX to __APPLE__ ifdef's?
-
-2005-06-01 15:36 tigital
-
- * more readable formatting
-
-2005-06-01 15:32 tigital
-
- * [OSX] compile-time check (via AvailabilityMacros.h) for support
- of sinf() & friends in math.h (now defined in >10.4.x)
-
-2005-06-01 15:27 tigital
-
- * corrected spelling of SetVertex()
-
-2005-06-01 15:20 tigital
-
- * now includes all OpenGL/ headers for OSX
-
-2005-06-01 15:16 tigital
-
- * switched from vec_unpack2sh() (which apparently never existed,
- yet worked prior to 10.4.x!) to vec_mergeh(); new #ifdef
- __TIMING__ for timing frame process of altivec vs. scalar color
- conversions
-
-2005-06-01 15:08 tigital
-
- * added "#ifdef unix" so osx doesn't try compiling it (at least
- until the future?)
-
-2005-06-01 15:06 tigital
-
- * gcc4.0 fixes and miscellaneous cleanups: AGL's swapinterval now
- set in BuildGLContext()
-
-2005-06-01 14:59 tigital
-
- * needed for proper Darwin configure-ing
-
-2005-06-01 14:56 tigital
-
- * added Darwin configure stuff
-
-2005-06-01 14:54 tigital
-
- * replaced ".pd_linux" with $(TARGET) so that we can use this on
- more than one platform
-
-2005-05-30 19:54 zmoelnig
-
- * use "ffmpeg-config --plugin-libs" instead of "ffmpeg-config
- --libs"
- this allows us to link on x86_64 without problems
-
-2005-05-25 18:44 zmoelnig
-
- * looked at the ugly #define-hacks and got some things right
- note: these classes should vanish altogether on all platforms and
- be replaced by the NEW-thingie.
-
-2005-05-23 15:03 zmoelnig
-
- * made libjpeg and libtiff OPTIONAL libraries (which are used by
- default if available)
- so platforms that dont have these libs (like OSX) don't fail to
- configure any more
-
-2005-05-23 15:01 zmoelnig
-
- * added HAVE_LIBJPEG and HAVE_LIBTIFF in order to compile with
- image reading/writing support
-
-2005-05-23 14:58 zmoelnig
-
- * made JPEG and TIFF reading/writing a compile-option
- this removes the _hard_ dependency on libjpeg and libtiff, which
- should make the configure easier on platforms that don't need
- libjpeg/libtiff
-
-2005-05-23 12:11 zmoelnig
-
- * enforcing of the presence of libtiff, libjpeg and libpng is only
- need on linux (btw, it shouldn't be enforced here too!)
-
-2005-05-23 11:59 zmoelnig
-
- * better detection for FFMPEG (now we also have autodetection; i
- hope ffmpeg has stabilized the API enough, so this won't break
- for some months)
-
-2005-05-23 11:56 zmoelnig
-
- * added preprocessor-flags CPPFLAGS to the compiler-flags
-
-2005-05-23 09:29 zmoelnig
-
- * enforce X only on Linux (Darwin can do without)
-
-2005-05-23 09:02 zmoelnig
-
- * on "distclean" remove ALL .o (and .obj) files, even those that
- are not in Make.source
-
-2005-05-21 02:34 tigital
-
- * corrected spelling
-
-2005-05-19 11:41 zmoelnig
-
- * did better quoting, this should fix the issues with autoconf>2.53
-
-2005-05-17 14:00 zmoelnig
-
- * changed uname-flags "--machine" and "--kernel-name" to "-m" and
- "-s" (which should work on osX too
-
-2005-05-17 00:24 tigital
-
- * updates for config system that identify darwin 10.4
-
-2005-05-13 19:48 zmoelnig
-
- * [pix_crop] now straights images that are upside down (this is: if
- you have the same pix-material as both "normal" and "upsidedown",
- the same parameters to [pix_crop] will now produce the same
- results
- this change has the same performance as the old one, it just
- makes life easier
-
-2005-05-10 16:51 zmoelnig
-
- * added [spot_light] by Pierre-Oliver Charlebois;
- did some changes to make it use the world_light parent-class
- instead of reinventing the wheel. hope this doesn't break
- anything with the original version
-
-2005-05-04 18:31 zmoelnig
-
- * fixed the "external" pix_buffer_class
-
-2005-05-04 13:22 zmoelnig
-
- * added a flag to declare the pdclass-definition non-static (so we
- can findbyclass() from other objects)
-
-2005-05-04 13:21 zmoelnig
-
- * finally made [pix_buffer_read] and [pix_buffer_write] to be in
- their own source-files
- added automatic playback and cyclic reading of [pix_buffer_read]
- (based on an idea of Florian Grond & Lasse Scherffig)
-
-2005-05-03 17:32 zmoelnig
-
- * entry for DONT_USE_ARB
-
-2005-05-03 17:31 zmoelnig
-
- * added runtime-checking for glBindProgramARB
- the results are displayed in Base/configLinux.h rather than via
- command-line args to the compiler
-
-2005-05-03 15:47 zmoelnig
-
- * added some verbose output at the end of configuration, so the
- user will know what is going on
-
-2005-05-03 11:35 zmoelnig
-
- * on windows (and maybe osX too?) the host-side interface looks a
- bit different than on linux
- a couple of #define's should fix that.
-
- fixed an error on windows+osX that came from stupid copy'n'paste
- from the pd-sources for dynamic loading
-
- the FreeFrame-specs said something about a "maximum" of 8
- parameters, which is exceeded by some plugins as i just noticed;
- removed the clamping of numparams to 8 (don't know why it was
- there in the first place)
-
- i hope this includes the changes needed to make it compile on osX
- haven't tested these changes on windows yet, but after my
- experiences i made yesterday when i booted into windows, it
- _should_ work
-
-2005-04-27 09:26 zmoelnig
-
- * changed behaviour for rectangle textures to be conformant to the
- behaviour with non-rectangle textures::
- "1,1" always denotes the upper-right corner of the pixel-buffer,
- so the user need not care what kind of texture they are using
-
-2005-04-27 09:24 zmoelnig
-
- * set "state->texture" to "2", when using rectangle textures
- don't overwrite "m_repeat" with "GL_CLAMP" when doing
- rectangle-textures, as they will ignore that flag anyhow
-
-2005-04-27 09:21 zmoelnig
-
- * more advanced usage of the "texture": 2==rectangle (so we can
- react on the specifics of rectangle-textures in downstream
- objects)
-
-2005-04-26 03:34 tigital
-
- * corrected yv12 to rgb on osx, yv12 to rgba/bgra, and error
- reporting for copy2ImageStruct
-
-2005-04-26 01:58 tigital
-
- * changed boolean to bool, which is osx-compilable and more in line
- with the rest of gem's codebase
-
-2005-04-25 17:01 zmoelnig
-
- * help-patch for [pix_movement2]
-
-2005-04-25 17:00 zmoelnig
-
- * another object that tries to get the movement within an
- image-stream
-
-2005-04-24 21:59 cclepper
-
- * added check for state->texture and that actual coordinates exist
- in the render method
-
-2005-04-21 14:58 zmoelnig
-
- * initial support for loading plugins un windows and osX (still not
- tested)
-
-2005-04-21 12:05 zmoelnig
-
- * fixed...
-
-2005-04-21 11:46 zmoelnig
-
- * added an enable-flag for --freg-struct-return (for
- FreeFrame-plugins)
- since i am not sure what this will break it is disabled by
- default;
- if you want to use the FreeFrame-plugins, the option is either to
- compile Gem with this flag or to recompile the plugins without...
-
-2005-04-21 09:42 zmoelnig
-
- * fixed bug that crashed pd/Gem when an exception was thrown (wrong
- type...)
- fixed bug with a parameter-offset of 1
-
-2005-04-20 17:31 zmoelnig
-
- * initial support for FreeFrame-plugins
- currently i have only tested this on linux
-
-2005-04-18 17:06 zmoelnig
-
- * usage of the "--disable-ARB" to disable ARB-vertex-shaders
-
-2005-04-18 17:02 zmoelnig
-
- * adding a "--disable-ARB" flag for disabling the build of
- ARB-vertex-programs
-
-2005-04-18 15:59 zmoelnig
-
- * added feed-back when checking for avifile
- (before, there was nothing indicating that libavifile will be
- used if (and only if) it was found)
-
-2005-04-18 15:52 zmoelnig
-
- * added support for ImageMagick++ (used here for loading and saving
- images)
-
-2005-04-18 15:51 zmoelnig
-
- * added support for ImageMagick (currently used for loading/writing
- images)
-
-2005-04-18 14:08 zmoelnig
-
- * fixed a bug that crashed Gem when using this object with
- [pix_imageInPlace]: the texcoord-array was accessed without
- checking the size of it first!!
-
-2005-04-18 13:17 zmoelnig
-
- * regrouped things even more (put type-checks before
- library-checks)
-
-2005-04-18 12:52 zmoelnig
-
- * cleaned up autoconf a bit
- + prelaminary support for icc
- + grouped header/library search together
- + FIRST search whether headers are present, THEN look for
- matching libraries
- + hopefully fixed bug, where compile stopped when no
- font-rendering-libs where installed
-
-2005-04-13 17:33 zmoelnig
-
- * a function that claims to return an integer should return an
- integer
-
-2005-04-11 16:14 tigital
-
- * [stupid]correct name in header
-
-2005-04-07 12:52 zmoelnig
-
- * an example for using display-lists
-
-2005-04-07 11:06 zmoelnig
-
- * help for [scopeXYZ~]
-
-2005-04-06 19:02 zmoelnig
-
- * made [scopeXYZ~] work (although there is still one single point
- left that sometimes occurs at 0/0/0)
-
-2005-04-05 10:52 zmoelnig
-
- * added wrapper for glEndList() and glNewList(): this is cool as it
- allows to makeuser defined display-lists (performance boost)
-
-2005-04-04 16:50 zmoelnig
-
- * a help-patch
-
-2005-04-04 16:27 zmoelnig
-
- * adapted to the longer feature-vectors of [pix_multiblob];
- a first help-patch
-
-2005-04-04 16:24 zmoelnig
-
- * output more information (like minX/Y, weighted position,...)
- weighted position produces more stable tracking
-
-2005-04-01 07:45 zmoelnig
-
- * #ifdef'ed the altivec code properly, so it will compile on other
- systems as well
-
-2005-04-01 01:26 tigital
-
- * initial altivec speedups to: bgra to yuv; yv12 to yuv
-
-2005-03-31 16:25 zmoelnig
-
- * updated documentation a bit
-
-2005-03-31 16:07 zmoelnig
-
- * missed a "break" in a case-loop.
-
-2005-03-31 15:58 zmoelnig
-
- * use "GL_DEFAULT_GEM" instead of "-1" as the default drawType
- (negative values are a bad idea for GLenum)
-
- (and fix the parsing of the drawstyle a big)
-
-2005-03-31 15:55 zmoelnig
-
- * use "GL_DEFAULT_GEM" instead of "-1" as the default drawType
- (negative values are a bad idea for GLenum)
-
-2005-03-31 15:47 zmoelnig
-
- * a blobtracker based on [pix_multiblob] and some objects from
- "iemmatrix"
-
-2005-03-31 15:00 zmoelnig
-
- * use "GL_DEFAULT_GEM" instead of "-1" as the default drawType
- (negative values are a bad idea for GLenum)
-
-2005-03-31 14:58 zmoelnig
-
- * added a new drawType "GL_DEFAULT_GEM" (since using "-1" was a bad
- idea for GLenum)
-
-2005-03-31 14:40 zmoelnig
-
- * changed LIBS="-Wl,-shared -Wl,-export-dynamic $LIBS" to
- LIBS="-shared -Wl,-export-dynamic $LIBS"
- this should fix the problem with FC3
-
-2005-03-31 06:42 zmoelnig
-
- * there are even better conversions (at least you can control all
- YUV<->RGB conversion on a central point)
-
-2005-03-30 20:02 zmoelnig
-
- * a detector for multiple blobs (no tracking! as this should be
- done externally);
- the output-data is in zexy/iemmatrix's "matrix" format; i am not
- sure whether this is really good (as it makes libraries
- interdependent and of course i favour my own libs) but it is much
- more elegant than anything else i could think of
-
-2005-03-30 19:48 zmoelnig
-
- * new Geos: [scopeXYZ~] and [torus]
-
-2005-03-30 19:00 zmoelnig
-
- * added "default"-drawtype
-
-2005-03-22 20:41 zmoelnig
-
- * changed RGB<->YUV conversion to be more standards-compliant;
- clamped the results
-
-2005-03-22 02:48 tigital
-
- * more OpenGL wrappers I've had sitting on my drive
-
-2005-03-09 00:24 tigital
-
- * IOhannes: the gl headers and such are in GemMan.h: why would you
- want to put them in GemMan.cpp? I'm a big fan of including
- headers in, um, the header :-) Btw, the "GL/ vs. OpenGL/" thing
- is due to apple's use of framework's...
-
-2005-03-07 15:33 zmoelnig
-
- * use DONT_INCLUDE_GLEXT rather than the INCLUDE_GLEXT (which is
- nowhere defined)
-
-2005-03-07 15:31 zmoelnig
-
- * properly include GL/glext.h (btw, wtfh are apple's openGL-headers
- in openGL/ instead of GL/ ... nevermind)
-
-2005-03-07 09:19 zmoelnig
-
- * include <new> to enable the use of real C++ constructors
-
-2005-03-06 11:21 zmoelnig
-
- * removed [change] (is in pd for some times)
-
-2005-02-28 01:15 tigital
-
- * - added support for YV12(short*) for pdp2gem
- - added support for RGB/BGR to setCsizeByFormat
- - began altivec support (non-functional atm)
-
-2005-02-28 00:05 tigital
-
- * - added support for YV12(short*) for pdp2gem
- - added support for RGB/BGR to setCsizeByFormat
- - began altivec support (non-functional atm)
-
-2005-02-07 18:18 zmoelnig
-
- * cleaned up, and removed crashes
-
-2005-02-07 15:56 zmoelnig
-
- * fixed bug that crashed pd when NULL was returned by glGetString()
-
-2005-02-07 15:31 zmoelnig
-
- * cleaned up a bit
-
-2005-02-07 15:05 zmoelnig
-
- * windoze does not like array-sizes that are determined at runtime
-
-2005-02-07 13:42 zmoelnig
-
- * catching errors that might get thrown by glx
-
-2005-02-07 13:21 zmoelnig
-
- * use Base/GemVector instead of own CVector3
-
-2005-02-07 13:20 zmoelnig
-
- * a class for 3D-vectors (formerly found in Manips/camera)
-
-2005-02-07 12:46 zmoelnig
-
- * oh, it's here again...
-
-2005-02-07 12:45 zmoelnig
-
- * [pix_dv] is covered by [pix_video]
-
-2005-02-07 12:43 zmoelnig
-
- * updated a bit
-
-2005-02-07 12:04 zmoelnig
-
- * hopefully really fixed the including of GL/glext.h:
- use DONT_INCLUDE_GLEXT instead of INCLUDE_GLEXT
- additionally use GL_GLEXT_LEGACY, as this auto-includes glext.h
- on some sytems (mesa)
-
-2005-02-07 12:02 zmoelnig
-
- * use FILM__NEW instead of __FILM__NEW
- use DONT_INCLUDE_GLEXT instead of INCLUDE_GLEXT
-
-2005-02-07 12:00 zmoelnig
-
- * fixed defines:
- gl*TransposeMatrix() are available onle on openGL>=1.3 (not >=1.1
- as it was)
- gl*ARB() were used only, if GL_ARB_vertex_program was
- un(!)defined...
-
-2005-01-31 17:50 tigital
-
- * updated to my setup
-
-2005-01-14 08:54 zmoelnig
-
- * added the missing " to the NEW_VIDEOFILM definition
-
-2005-01-14 08:53 zmoelnig
-
- * ./configure does not call "makesource" but includes it; thus the
- "$@" is not as expected an (empty) list of directories for which
- we should generate Make.source but rather "dummy sh";
- now we check, whether the running script ($0) is "*configure",
- and if so, we assume that the "passed" list is 0.
-
-2005-01-12 19:20 zmoelnig
-
- * oops again; forgot a "
-
-2005-01-12 18:12 zmoelnig
-
- * oops; should run again
- (note: this is just rev1.27 with __NEW__ replaced by
- NEW_VIDEOFILM)
-
-2005-01-11 11:45 zmoelnig
-
- * who the f**k used "__NEW__" to enable/disable different
- film/movie-objects ???
- preprocessor-defines starting with "__" are system only!!
- i have renamed __NEW__ to NEW_VIDEOFILM __FILM __NEW to FILM_NEW
- and __VIDEO__NEW to VIDEO_NEW
-
-2005-01-11 10:22 zmoelnig
-
- * added Exceptions: whenever we don't want an object to be created
- because of boundary-conditions (e.g. wrong arguments) we can now
- throw a GemException("errorstring") which is caught by the
- setup-routine and prevents the object from being created;
-
- fixed the m_objectname thing: now even the constructor of a
- GemObject will now the name that was used to create it (as far as
- we can tell)
-
-2004-12-26 17:43 tigital
-
- * oops! shouldn't include "Base/GemFuncUtil.h" after #ifdef
- __cplusplus extern "C" {...}
-
-2004-12-24 09:54 timblech
-
- * fixed bug
-
-2004-12-22 18:03 tigital
-
- * - header consolidation: #includes should go in headers (or in
- this case, already are)!
-
-2004-12-22 17:49 tigital
-
- * ppc only: sqrt speed up via assembly instruction (at least 2x)
- - header consolidation: #includes should go in headers!
- - correctly converts YUV to RGBA and back, if needed
-
-2004-12-22 17:48 tigital
-
- * ppc only: sqrt speed up via assembly instruction (at least 2x)
- - header consolidation: #includes should go in headers!
- - now fills/uses Gem's gluLookAt()
-
-2004-12-22 17:46 tigital
-
- * ppc only: sqrt speed up via assembly instruction (at least 2x)
- - header consolidation: #includes should go in headers!
-
-2004-12-22 17:00 tigital
-
- * rearrange/coalesce headers, added glu.h
-
-2004-12-22 16:58 tigital
-
- * add functions for 5 arguments
-
-2004-12-15 06:21 tigital
-
- * cleanup dialogMess
-
-2004-12-15 06:17 tigital
-
- * fixed crash bug when changing dimen or colorspace while
- rendering: some header cleanup, too
-
-2004-12-14 00:02 tigital
-
- * update to my setup
-
-2004-12-13 13:22 zmoelnig
-
- * fixed the patch; how comes it is broken at all ? a check ensured,
- that even the example-patch from gem-0.70 has the same
- weirdnesses - so the problem seems to be a change in the
- pd-fileformat rather than the patch itself; this should work now
- (although i am not sure, whether it really does what it is
- supposed to do...)
- wow, what a long changelog....
-
-2004-12-07 15:05 timblech
-
- * simplified outlet
-
-2004-12-07 13:24 timblech
-
- * initial checkin pix_mean_color
-
-2004-12-03 12:15 zmoelnig
-
- * added newline at end of file
-
-2004-11-28 00:00 tigital
-
- * some wrappers for gl "program" stuff: should be ok for any GL
- with ARB_vertex_program and/or ARB_fragment_program defined
-
-2004-11-27 23:51 tigital
-
- * wrappers for gl matrix stuff: should be ok for all opengl
- versions since 1.1?
-
-2004-11-27 23:47 tigital
-
- * pedantic changes to header & descriptions :-)
-
-2004-11-27 23:46 tigital
-
- * added defines for multitexture, vertex/fragment programs, and
- matrix stuff...plus pragma's to more easily find the numerical
- seperations
-
-2004-11-24 15:53 zmoelnig
-
- * Cyrille's [gemlist_info] that gets the current
- transformation-matrix
- (why have i not added this long before ???)
-
-2004-11-24 15:46 zmoelnig
-
- * made the new size settable;
- LATER think about using a *faster* algorithm...
-
-2004-11-24 15:37 zmoelnig
-
- * added templates for the gem2pdp-bridge
-
-2004-11-05 14:33 tigital
-
- * added comments about auto message
-
-2004-11-05 14:32 tigital
-
- * added blend message
-
-2004-10-20 14:10 tigital
-
- * // powerOfTwo() optimization from "Hacker's Delight": much
- faster!
-
-2004-10-12 18:34 zmoelnig
-
- * use the provided dv1394.h instead of an external one
-
-2004-10-12 18:34 zmoelnig
-
- * added dv1394.h from "dvgrab"-sources
-
-2004-10-12 11:51 zmoelnig
-
- * use the dv1394.h from the kernel and not the deprecated-one from
- libdv-dev
-
-2004-10-11 09:11 zmoelnig
-
- * [gemkeyname] under linux now behaves more like pd's [keyname]
- (e.g. uniform keynames); thanks to gerard van dongen
-
-2004-10-08 14:47 zmoelnig
-
- * we don't want this anymore: all objects are autoregistering
-
-2004-10-08 14:46 zmoelnig
-
- * don't want this anymore: objects are auto-registering themselves!
-
-2004-10-08 14:29 zmoelnig
-
- * don't want this anymore: objects are auto-registering themselves!
-
-2004-10-08 14:08 zmoelnig
-
- * as cyrille requested: doing one more point... (hope this doesn't
- break anything, but i guess cyrille is the only one who really
- cares about such features)
-
-2004-10-08 13:35 zmoelnig
-
- * fixed argument handling:
- 1 argument: gridX=gridY
- 2 arguments: gridX, gridY
- 3 arguments: gridX, gridY, height
-
-2004-09-15 15:41 zmoelnig
-
- * new and updated help-patches (thanks cyrille)
-
-2004-09-15 15:18 zmoelnig
-
- * initial addition (thanks cyrille)
-
-2004-09-15 15:06 zmoelnig
-
- * initial addition (thanks cyrille)
-
-2004-09-15 14:50 zmoelnig
-
- * merged the newWave_texture in;
- incorporated cyrilles changes: added dither-noise against
- denormalization phenomenons: wouldn't it be better clamp
- denormals to 0 like with PD_BADLFOAT ??
-
-2004-09-15 13:15 zmoelnig
-
- * cyrilles changes: made the number of faces settable via a
- message#9
-
-2004-08-27 06:47 zmoelnig
-
- * moved from src/Geos to src/Vertex;
- include <GL/gl.h> instead of <OpenGL/gl.h> on non-apples
-
-2004-08-26 12:21 zmoelnig
-
- * moved all the vertex_-objects from src/Geos to src/Vertex;
- added vertex_mul, vertex_add
- vertex_offset,... now work on all arrays
-
-2004-08-17 12:53 zmoelnig
-
- * fixed a bug when no directory-list is given at command-line
-
-2004-08-17 12:01 zmoelnig
-
- * this has vanished entirely (i just don't know how to check files
- into a branch)
-
-2004-08-10 09:43 zmoelnig
-
- * an object to render into external displays (this is: the context
- is *not* handled by Gem but by an external application)
-
-2004-08-10 09:40 zmoelnig
-
- * oje: "tagged" instead of "branched" (anyhow gemwindow_qtExt is
- already deprecated)
-
-2004-08-09 17:36 zmoelnig
-
- * initial makefile for [gemwindow_qtExt]
-
-2004-08-09 17:36 zmoelnig
-
- * initial output-module:
- [gemwindow_qtExt] (what an ugly name!) to render to external
- qt-contexts
-
-2004-08-08 11:45 zmoelnig
-
- * set the viewpoint immediately (do *not* use GemMan::m_view)
-
-2004-08-04 06:32 zmoelnig
-
- * now you can give a list of directories on the command-line to
- override the default directories where we want the
- Make.source,... to be built
-
-2004-07-23 08:25 zmoelnig
-
- * added top-level makefile and configure-script (since src/Gnu is
- hard to find)
-
-2004-07-06 13:09 zmoelnig
-
- * fixed typo in comment
-
-2004-07-02 16:17 zmoelnig
-
- * new things to do
-
-2004-07-01 19:00 zmoelnig
-
- * initial MMX-code;
- includes for the various platforms/SIMD-optimization should be
- handled in here
-
-2004-06-30 14:32 zmoelnig
-
- * rebuild the texture when switching between rectangle and
- normalized textures
-
-2004-06-30 12:13 zmoelnig
-
- * used debug() instead of post() for the "client-storage"-message
-
-2004-06-30 12:11 zmoelnig
-
- * using RGB24 instead of RGB32, because the alpha-channel is set to
- 0 by RGB32(!!)
-
-2004-05-28 11:50 zmoelnig
-
- * updated for 0.90
-
-2004-05-26 10:59 zmoelnig
-
- * now the "release" compiles
-
-2004-05-26 10:35 zmoelnig
-
- * changed version from 0.888 to 0.90
-
-2004-05-26 10:34 zmoelnig
-
- * fixed "installation" for on windows
-
-2004-05-26 10:34 zmoelnig
-
- * changed from 0.888pre2 to 0.90
-
-2004-05-19 15:57 zmoelnig
-
- * changed the shifts to SHIFT_* to make it cross-platform
-
-2004-05-19 15:25 tigital
-
- * *** empty log message ***
-
-2004-05-19 15:18 tigital
-
- * here's what I came up with: luma seems more sensitive, and makes
- a better image, tho different than the rgba version
-
-2004-05-16 19:22 zmoelnig
-
- * fixed some issues with compiling Gem on windows with nvidia's
- openGL-headers (have to include glext.h)
-
-2004-05-15 17:59 zmoelnig
-
- * noted that pix_lumaoffset might crash with high offset-factors
-
-2004-05-14 17:20 zmoelnig
-
- * added a "yuv"-message to turn off direct YUV-texturing even if it
- is available (because our G4 with a geforce4MX says that it can
- do GL_ycbcr but actually the images look weird
-
-2004-05-14 17:05 zmoelnig
-
- * added range-checking for the offset when doing smoothed & filled
- processing;
- this should fix the crashes at very high offsets on all
- colorspaces
-
-2004-05-14 15:42 zmoelnig
-
- * fixed YUV on big-endians
-
-2004-05-13 17:25 zmoelnig
-
- * don't copy "pdata" with copyImage2Struct; pdata should always(!)
- be a pointer to some data that is owned by the image itself!
- this fixes the abiding crashes when deleting pix_-objects
-
-2004-05-10 08:08 zmoelnig
-
- * added additional error-checks and a sanity-check on close();
- should run now on QT-6.5 (as (un)stable as with QT-6.4)
-
-2004-05-10 05:03 cclepper
-
- * First step at separating the color-space functions in order to
- have them work properly. RGBA is still ok, and now YUV works on
- 'uniform' adjustments.
-
-2004-05-10 03:54 cclepper
-
- * #ifdef to remove YUV code on OSX. maybe someone will write a
- version that doesn't crash?
-
-2004-05-09 07:03 cclepper
-
- * changed the shifts for YUV output. now 100% less green.
-
-2004-05-08 04:19 cclepper
-
- * fixed the 'it's oh so green' YUV problem on OSX
-
-2004-05-07 17:51 zmoelnig
-
- * made defines for shifts on mac/non-mac (although they don't do
- much now)
-
-2004-05-07 17:48 zmoelnig
-
- * added U8 as another type
-
-2004-05-07 17:41 zmoelnig
-
- * using ch*-constants rather than hardcoded positions of
- channel-data
- (e.g: chRed instead of 0)
-
-2004-05-07 17:39 zmoelnig
-
- * shut up macOS-gcc compiler warnings
-
-2004-05-07 15:42 zmoelnig
-
- * type fixing to shut down the compiler
-
-2004-05-07 13:52 zmoelnig
-
- * made Grey work
-
-2004-05-07 12:02 zmoelnig
-
- * made YUV and Grey work
-
-2004-05-07 08:42 zmoelnig
-
- * use setCsizeByFormat
- use reallocate() instead of clear() and allocate() and
- complicated checks
-
-2004-05-07 08:40 zmoelnig
-
- * fixed stupid typo
-
-2004-05-07 08:40 zmoelnig
-
- * replaced hardcoded shift-amount by SHIFT_Y.
- use setCsizeByFormat
- use reallocate() instead of clear() and allocate()
-
-2004-05-07 08:30 zmoelnig
-
- * use setCsizeByFormat
- use reallocate() instead of clear() and allocate()
- removed unused variable
-
-2004-05-07 08:29 zmoelnig
-
- * use setCsizeByFormat
- use reallocate() instead of clear() and allocate()
-
-2004-05-07 08:28 zmoelnig
-
- * removed the commented out the processGray-function (and not only
- it's body);
- use setCsizeByFormat
-
-2004-05-07 08:14 zmoelnig
-
- * don't initialize to small images (64x64) any more as this is only
- for memory fragmentation
-
-2004-05-07 08:12 zmoelnig
-
- * using setCsizeByFormat rather than setting csize/format/type
- directly
-
-2004-05-07 08:11 zmoelnig
-
- * made YUV work on PCs (and used better namings (like "U" instead
- of "Red")
-
-2004-05-06 10:01 zmoelnig
-
- * setting the csize/format/type of the image more intelligently
-
-2004-05-06 09:36 zmoelnig
-
- * another step towards a working version.
- now yuv/rgba/grey almost(!) behave the same
-
-2004-05-06 09:35 zmoelnig
-
- * the RGBA2LUMA conversion was wrong
-
-2004-05-05 14:56 zmoelnig
-
- * made YUV work correctly
-
-2004-05-05 14:56 zmoelnig
-
- * use run-time checks for YUV-texturing
-
-2004-05-05 14:55 zmoelnig
-
- * added run-time checks for GL_APPLE_ycbcr_422 (YUV-texturing)
-
-2004-05-05 14:54 zmoelnig
-
- * use normal memory-allocation (no alignment tricks as these
- produces weird output)
- LATER make sure that memory is aligned correctly
-
-2004-05-04 20:20 zmoelnig
-
- * quick hack to make Grey/YUV work
-
-2004-05-04 15:30 zmoelnig
-
- * initialized orgPixBlock to NULL (should fix crashes when no
- upstream image is present)
-
-2004-05-04 12:46 zmoelnig
-
- * seems to work now with RGBA/YUV/Grayscale
-
-2004-05-04 08:15 zmoelnig
-
- * added bugs concerning win32-movie-loading
-
-2004-05-03 16:27 zmoelnig
-
- * used SHIFT_Y1,... (from GemPixPete.h) as my images were green ;-)
-
-2004-05-03 16:26 zmoelnig
-
- * defined SHIFT_Y1,... for YUV-shifting
-
-2004-05-03 06:15 cclepper
-
- * fixed up the YUV code - rolled a new black function and tests for
- proper pixel values
-
-2004-05-03 06:14 tigital
-
- * YUV works better: but it's about half the width resolution as it
- should be...at least it's not green ;-)
-
-2004-05-03 02:08 tigital
-
- * removed void to shut up gcc
-
-2004-05-03 01:42 tigital
-
- * YUV processing functions correctly now
-
-2004-04-29 05:55 cclepper
-
- * YUV smoothing now works
-
-2004-04-27 05:07 tigital
-
- * YUV works better, except for "smooth" line filling
-
-2004-04-24 15:02 zmoelnig
-
- * removed some more verbosity...
-
-2004-04-23 14:41 zmoelnig
-
- * moved some fsaa-code from apple-only to openGL-dependent code
- (read: changed ifdefs)
-
-2004-04-21 04:32 tigital
-
- * YUV is almost fixed: at least we're dealing with true luma...but
- there still seems to be a pixel skipping problem
-
-2004-04-21 03:52 cclepper
-
- * changed GetLuminance() coefficients to correct vaules
-
-2004-04-20 17:55 zmoelnig
-
- * fixed the default viewpoint-values to the correct ones "0 0 4"
- instead of "0 0 -4"
-
-2004-04-10 00:13 tigital
-
- * [OSX] added header for definition of UInt32 after the mass
- movement of functions
-
-2004-04-09 09:38 zmoelnig
-
- * added the [pix_texture2]-alias again.
- why has it vanished ?
-
-2004-04-08 12:20 zmoelnig
-
- * moved utility functions (namely: powerOfTwo()) into
- Base/GemFuncUtil
-
-2004-04-08 11:57 zmoelnig
-
- * moved utility functions (namely: powerOfTwo()) into
- Base/GemFuncUtil
-
-2004-04-08 11:54 zmoelnig
-
- * structured the location of functions a bit:
- GemPixObj does not hold any utility functions
- GemFuncUtil holds general untilities (like powerOfTwo())
- GemPixUtil holds utility functions for image manipulation (only!)
- GemPixPete (NEW) holds functions from pete's_plugins (specialzied
- PixUtil-functions)
-
-2004-04-08 11:51 zmoelnig
-
- * added some comments
-
-2004-04-08 11:51 zmoelnig
-
- * moved utility functions (namely: powerOfTwo()) into
- Base/GemFuncUtil
-
-2004-04-08 11:46 zmoelnig
-
- * added setPixModified() where apropriate so that the
- pull-mechanism works
-
-2004-04-08 11:43 zmoelnig
-
- * removed the [pix_buf] entirely from the example-patches.
- i must have been somewhere else when i added them
-
-2004-04-07 17:35 zmoelnig
-
- * removed unused variables
-
-2004-04-07 17:33 zmoelnig
-
- * fixed documentation
-
-2004-04-07 17:20 zmoelnig
-
- * fixed the alpha-channel
-
-2004-04-07 17:20 zmoelnig
-
- * added some more verbosity on errors (so we know, where the error
- occured)
-
-2004-04-07 16:09 tigital
-
- * quick n'dirty camera help patch...will flesh out tonight?
-
-2004-04-07 16:08 zmoelnig
-
- * fixed the bug that kept cs-converters from working on apple
-
-2004-04-07 16:07 zmoelnig
-
- * removed unused variable G
-
-2004-04-07 16:04 tigital
-
- * added YUV support (kinda): it works, but isn't precisely correct
- yet (especially in pix_objects that are color based; displacement
- objects are less-obviously incorrect)
-
-2004-04-07 16:02 tigital
-
- * added YUV support (kinda): it works, but isn't precisely correct
- yet
-
-2004-04-07 14:47 zmoelnig
-
- * added switchable support for FSAA under linux with nvidia-cards
-
-2004-04-07 14:03 zmoelnig
-
- * removed the genList from the new()-function and put it into
- render() (this was default on macOS already)
-
-2004-04-07 14:01 zmoelnig
-
- * removed verbose output
-
-2004-04-07 14:00 zmoelnig
-
- * added US-english alias-name ("gray")
-
-2004-04-07 13:59 zmoelnig
-
- * added british alias-name
-
-2004-04-07 11:19 zmoelnig
-
- * an example for texture-feedbacking
-
-2004-04-07 11:09 zmoelnig
-
- * added 2nd argument for number of slices
- fixed the draw-type
-
-2004-04-07 11:08 zmoelnig
-
- * added second argument (number of slices)
- the re-creation of the sphere is now triggered by a change in
- state->texture too
-
-2004-04-07 10:28 zmoelnig
-
- * the processGray tried to convert the image from RGB to RGBA
- in-place.
- i have no idea, how this code made it into the [pix_alpha]
-
-2004-04-07 09:12 zmoelnig
-
- * removed the non-mac specific part in the fullscreen-message
- (no one really cares if the fullscreen-flag is bool or int)
-
-2004-04-07 09:03 zmoelnig
-
- * all the CPPExtern-objects now no their own class-name, which is
- stored in m_objectname
- error-messages report this name
-
-2004-04-06 02:43 tigital
-
- * [OSX] cleaned up warnings and consolidated a previously used
- function
-
-2004-04-05 03:06 cclepper
-
- * removed commenting out of m_colorspace
-
-2004-04-04 17:45 cclepper
-
- * client_storage is now off by default to avoid texture corruption
- problems when using pix_film in 'auto 1' mode on OSX. setting
- individual frames still works fine with client_storage however.
-
-2004-04-04 17:43 cclepper
-
- * added OSX specific handling of the 'fullscreen' message to
- accommodate multiple displays
-
-2004-04-03 18:34 zmoelnig
-
- * fixed the help-patches (mainly removed the "auto 1" message from
- [pix_buf] as it was absolutely non-sense
-
-2004-04-03 00:06 cclepper
-
- * removed most of the debug messages.
-
-2004-04-02 23:29 cclepper
-
- * now has functioning code on OSX
-
-2004-04-02 09:11 zmoelnig
-
- * removed some verbosity
-
-2004-04-02 09:05 zmoelnig
-
- * moved implementation code from header-file to cpp-file
-
-2004-04-02 09:04 zmoelnig
-
- * fixed some includes (?)
-
-2004-04-02 06:43 zmoelnig
-
- * included the Base/config.h so we get the HAVE_DIRECTSHOW define
- when appropriate
- set the help-symbol of the directshow-version of pix_video to
- [pix_videoDS] (since the api is so different)
-
-2004-04-01 22:00 tigital
-
- * [OSX] now the mouse can be hidden/shown via the cursor 0/1
- message
-
-2004-04-01 18:52 tigital
-
- * [OSX] finally figure out how to get mouse coords to be the same
- whether or not there is a title bar, and no matter where the
- window is on the desktop...also solves the "go to {0,0} when
- mouse leaves window" problem!
-
-2004-03-31 05:33 tigital
-
- * shut up a warning: can't have /* inside a comment
-
-2004-03-31 05:25 tigital
-
- * [OSX] shut up some warnings
-
-2004-03-29 18:57 zmoelnig
-
- * i guess we should release rather sooner than later
-
-2004-03-29 18:48 zmoelnig
-
- * finally removed the YUV-stuff (should have been done for ages)
-
-2004-03-29 18:45 zmoelnig
-
- * fixed line-breaks
-
-2004-03-29 18:32 zmoelnig
-
- * re-added as binary (pd-files shouldn't be text)
-
-2004-03-29 18:32 zmoelnig
-
- * readded as binary
-
-2004-03-29 18:32 zmoelnig
-
- * added as binary
-
-2004-03-29 18:32 zmoelnig
-
- * removed "text"-pd files (should be binary)
-
-2004-03-29 18:11 zmoelnig
-
- * new help-patch
-
-2004-03-29 16:10 zmoelnig
-
- * updated documentation
-
-2004-03-29 16:09 zmoelnig
-
- * compiled under windoze and thus updated my project-file
-
-2004-03-29 16:08 zmoelnig
-
- * version is now ReleaseCandidate-1
-
-2004-03-29 16:05 zmoelnig
-
- * removed unneeded variables to silence macOS-gcc
-
-2004-03-29 16:03 zmoelnig
-
- * removed unneeded variables to shut down macOS-gcc
-
-2004-03-29 16:02 zmoelnig
-
- * accidentially the button-state was reported to be "1" when
- released (like on press); fixed
-
-2004-03-29 16:01 zmoelnig
-
- * type change to get rid of compiler-warning under macOS
-
-2004-03-29 16:00 zmoelnig
-
- * compiled it and therefore updated my project files
-
-2004-03-29 06:43 zmoelnig
-
- * added includes for NT
-
-2004-03-29 06:12 cclepper
-
- * changed the render function to only calculate the geometry when
- the geometry changes. results in at least a 3X speedup.
-
-2004-03-26 06:40 cclepper
-
- * initialized the Y,U,V variables to 0. no more random color fields
- on loading a patch with pix_offset.
-
-2004-03-25 19:57 tigital
-
- * [OSX]-only: standardized mouse location to "window relative":
- however, remember that (0,0) is always the top left corner,
- whether or not there is a title bar/border
-
-2004-03-25 17:22 zmoelnig
-
- * added a magic-number to the GemCache to ensure that the cache is
- valid
-
-2004-03-25 12:12 zmoelnig
-
- * initialize GemCache on creation, so we can dynamically create
- [gemhead]s and they will start rendering without having to
- restart the engine
-
-2004-03-25 10:03 zmoelnig
-
- * removed another post()
-
-2004-03-24 21:11 zmoelnig
-
- * removed the "drawing all groups" messages
-
-2004-03-24 21:10 zmoelnig
-
- * added a reset()-method to re-set an instance without having to
- destroy and re-create it (see [gemhead])
-
-2004-03-24 21:08 zmoelnig
-
- * each gemhead now has an instance of the GemCache that is only
- reset when rendering is started (instead of being destroyed and
- re-created)
- hopefully this fixes some memory bug.
-
-2004-03-24 17:27 zmoelnig
-
- * added, since needed for debugging
-
-2004-03-24 13:20 zmoelnig
-
- * fixed initial materials (ambient, specular, diffuse, shininess,
- emission)
-
-2004-03-24 11:47 zmoelnig
-
- * added auto-(re)loading of fonts when rendering is started
- fixed some cleanup-issues
-
-2004-03-24 11:41 zmoelnig
-
- * removed "done" message
-
-2004-03-22 22:31 tigital
-
- * [OSX]-only: [gemwin] now correctly responds to the following
- messages: border & title; also fixed keyboard character input for
- [gemkeyname]
-
-2004-03-21 19:58 zmoelnig
-
- * readded help-patches
-
-2004-03-21 19:53 zmoelnig
-
- * removed to check in as "binary" again
-
-2004-03-21 19:52 zmoelnig
-
- * updated help-patches
-
-2004-03-21 13:39 zmoelnig
-
- * fixed rectangle textureing
-
-2004-03-20 20:42 zmoelnig
-
- * fixed bugs
-
-2004-03-20 20:36 zmoelnig
-
- * rolled the GLU code directly into the objects to enable rectangle
- textures
-
-2004-03-20 16:42 zmoelnig
-
- * cleaned GLUT-removal code a bit
-
-2004-03-20 16:06 zmoelnig
-
- * removed dependencies on GLUT
- [teapot] is now "built-in"
-
-2004-03-19 19:52 zmoelnig
-
- * updated help-patches
- removed all traces of [pix_texture2]
-
-2004-03-19 19:12 zmoelnig
-
- * updated help-patches
-
-2004-03-19 19:09 zmoelnig
-
- * added grayscale support
-
-2004-03-19 17:00 zmoelnig
-
- * removed the "maximum number of control points" restriction (so
- now, we can have 1000s of control points in polygon/curve)
-
-2004-03-19 15:01 zmoelnig
-
- * new help-patches (e.g: working examples)
-
-2004-03-19 15:00 zmoelnig
-
- * added a method "width" for the linewidth (compatibility with
- other geos)
-
-2004-03-19 14:58 zmoelnig
-
- * changed the helpsymbol
-
-2004-03-19 14:54 zmoelnig
-
- * got the mapping from mac-buttons to gem-buttons right (hopefully)
-
-2004-03-19 11:47 zmoelnig
-
- * randF is only an alias for randomF; there shouldn't be a separate
- help-file
-
-2004-03-18 16:51 zmoelnig
-
- * the mac-spefific button-offset has been moved to GemWinCreateMac
-
-2004-03-17 20:04 zmoelnig
-
- * force auto-registering when appropriate
-
-2004-03-17 20:02 zmoelnig
-
- * set the "newfilm"-flag when a new film is loaded
-
-2004-03-17 19:58 zmoelnig
-
- * tried to fix rectangle textures
-
-2004-03-16 19:41 zmoelnig
-
- * tried to fix rectangle textures
-
-2004-03-16 01:16 tigital
-
- * OSX only: forgot to "return noErr" in event loop!
-
-2004-03-15 13:35 zmoelnig
-
- * small bug-fix: a unity gain of "1" was translated to 255>>8
- (which is less than 1 and led to fading feed-backs)
-
-2004-03-13 09:10 cclepper
-
- * fixed #ifdefs
-
-2004-03-10 17:32 zmoelnig
-
- * changed the configure-process
- GemLibs can now be specified with "--gemlibs"
- additional search-paths for ALL libraries can be specified with
- "--libdir"
-
-2004-03-10 17:07 zmoelnig
-
- * ifdef'd the altivec code with __VEC__
-
-2004-03-10 17:06 zmoelnig
-
- * added the HELPSYMBOL-BASE "Gem/", so the help-patches will work,
- even though this object inherits from CPPExtern and not from
- GemBase
-
-2004-03-10 16:55 zmoelnig
-
- * pix_depot and friends are now in pix_buffer et al.
-
-2004-03-10 16:04 zmoelnig
-
- * added a new justification "BASE" that does no justification at
- all; usefull, if you want a constant base-line.
-
-2004-03-07 18:49 cclepper
-
- * new fullscreen code for 10.3 which is good. the window deletion
- routine does crash every 10-20 iterations though, which is bad.
-
-2004-03-01 01:29 cclepper
-
- * added some more cache hints - 45% percent faster
-
-2004-03-01 01:02 cclepper
-
- * I think this fixes the majority of playback problems on OSX.
- Movie loading is faster, playback is smoother using 'rate $1'.
-
-2004-03-01 00:58 cclepper
-
- * just a cleaning
-
-2004-03-01 00:55 cclepper
-
- * slightly tweaked Altivec (load hoisting)
-
-2004-03-01 00:52 cclepper
-
- * added some Altivec for YUV
-
-2004-03-01 00:50 cclepper
-
- * slightly better altivec.
-
-2004-02-29 05:24 cclepper
-
- * an improved window bounds fix. still need to find a workaround
- for the fullscreen on 10.3 though
-
-2004-02-25 06:25 cclepper
-
- * split processing into RGBA and YUV portions. added Altivec for
- YUV.
-
-2004-02-16 19:07 zmoelnig
-
- * added path-searching for fonts.
- so you can add your systems favorite font-path and get a lot of
- other TrueType-faces
-
-2004-02-16 04:06 cclepper
-
- * changed float to int processing in the YUV code - now 10X faster.
-
-2004-02-15 18:32 cclepper
-
- * this should fix the window bounds problem.
-
-2004-02-13 14:09 zmoelnig
-
- * hopefully got the reference-types allright ("relative" instead of
- "absolute")
-
-2004-02-13 14:06 zmoelnig
-
- * updated my project
-
-2004-02-12 17:31 zmoelnig
-
- * fixed a bug with filename-searching
-
-2004-02-12 17:28 zmoelnig
-
- * added better support for firewire under linux (thanks to franz
- hildgen)
-
-2004-02-12 17:25 zmoelnig
-
- * fixed a type that prevented this from being compiled
-
-2004-02-10 12:36 zmoelnig
-
- * now the gemwindow can be created even if we only have DirectColor
- (instead of TrueColor); however i haven't bothered yet with
- setting up the Palettes.
-
-2004-02-10 12:27 zmoelnig
-
- * added a newline at end of file
-
-2004-02-10 12:24 zmoelnig
-
- * more friendly output of the "create window" message
-
-2004-02-10 10:47 zmoelnig
-
- * - added ErrorHandling, so Gem doesn't crash if the
- display-/window-context has vanished before we try to destroy the
- gemwindow
- - removed checking for ModLines on remote displays; this used to
- crash; unfortunately this disables fullscreen on remote displays
-
-2004-02-10 10:23 zmoelnig
-
- * added and disabled Guenter at the splash-screen (again)
-
-2004-02-06 12:10 zmoelnig
-
- * BUGFIX: used to crash when no model was loaded and trying to
- apply a texture.
- (at least if NDEBUG was not defined)
-
-2004-02-06 12:08 zmoelnig
-
- * as ben has pointed out, there seems to be a bug when rendering to
- non-square windows: everything get's distorted (say: on 640x480 a
- square would be a rectangle with a 4/3-aspect);
- since i think this might break a lot of things (?), i have left
- the old default behaviour but you can turn off compatibility with
- "compat 0"
-
-2004-02-05 18:17 zmoelnig
-
- * updated my vc-project
- it now compiles with FTGL
-
-2004-02-05 18:16 zmoelnig
-
- * moved the defines for the platforms (e.g: whether macos uses
- FTGL) into the appropriate config*.h files
-
-2004-02-02 11:19 zmoelnig
-
- * all docu is done; but we need to compile it under windows with
- FTGL support (i failed...)
-
-2004-02-02 11:18 zmoelnig
-
- * updated my project
-
-2004-02-02 11:15 zmoelnig
-
- * put QT-loader *after* the AVI-loader, because QT sometimes
- crashes when having loaded AVI's and tries to load QT's
- afterwards.
- so AVI is now handled by the built in (for win) routines, and
- QuickTime is only used if it fails
-
-2004-02-02 11:13 zmoelnig
-
- * post "video4linux" and remove post of "fish" ;-)
-
-2004-02-02 11:12 zmoelnig
-
- * added some support for devices not handled by devfs;
- added upside-down flag
- decode RGBA by hand (since otherwise we would decode
- YUV->RGB->RGBA, all in software...)
-
-2004-02-02 11:11 zmoelnig
-
- * ifdef'ed the inclusion of m_pd.h to make sure it is not included
- double (breaks with old version of pd)
-
-2004-02-02 11:08 zmoelnig
-
- * exported the CVector class, since vc complaint about this
- (probably this will break future things...)
-
-2004-02-02 11:06 zmoelnig
-
- * hopefully fixed fromUYVY since it did mix up U and V when
- decoding dv-streams
-
-2004-02-02 11:04 zmoelnig
-
- * fixed types to keep compiler silent
-
-2004-02-02 11:03 zmoelnig
-
- * ifdef'ed everything to be __APPLE__ only
-
-2004-01-31 06:55 cclepper
-
- * new pix_movie for OSX. uses an optimized path for movie playing
- and texturing.
-
-2004-01-29 01:59 tigital
-
- * initialized variables to shutup compiler warnings
-
-2004-01-28 16:06 tigital
-
- * OSX only: added carbon event processing to
- dispatchGemWindowMessages() (Finally!)
-
-2004-01-28 16:03 tigital
-
- * added mouse wheel support, though there is no outlet (yet)
-
-2004-01-28 15:59 tigital
-
- * added mouse wheel support
- OSX only: added support for correct mouse buttons
-
-2004-01-28 15:54 tigital
-
- * OSX only: added event handler support for window, mouse and
- keyboard events (ie. [gemmouse] and [gemkeyboard]), plus the
- window now behaves in a standard gui manner
-
-2004-01-28 04:46 cclepper
-
- * fixed a little problem with newImage being multiply defined
-
-2004-01-27 17:13 zmoelnig
-
- * re-removed them (somehow they reappeared in the CVS; guess it has
- to do with sourceforge's server-sync)
-
-2004-01-21 16:50 zmoelnig
-
- * added support for rectangle textures even with sphereMaps
- ("texture 1")
-
-2004-01-20 08:14 cclepper
-
- * added support for rectangle textures to glm
-
-2004-01-09 10:32 zmoelnig
-
- * updated my vc-project
-
-2004-01-09 10:31 zmoelnig
-
- * updated fixed bugs
-
-2004-01-09 05:09 tigital
-
- * values should be "TimeValue", not int's (shuts up compiler
- warnings)
-
-2004-01-09 04:27 tigital
-
- * added (int *) casts to fscanf() calls to shutup compiler (someone
- had to do it!)
-
-2004-01-08 19:16 zmoelnig
-
- * hmm: probably new linebreaks
-
-2004-01-08 19:07 zmoelnig
-
- * YUV-support fixed (the image looks "different" (squashed) than
- RGBA, but at least it is functional and not crashing any more),
- Grayscale works great
-
-2004-01-08 19:03 zmoelnig
-
- * i think, all objects are documented (somehow: some help-patches
- are rather crude)
-
-2004-01-08 19:02 zmoelnig
-
- * several BUG-fixes (esp: put the pivot-point of rubber/ripple into
- the center; made the sizeMess-work; use normalized coordinates
- for rubber (now independent of the window-dimensions)
-
-2004-01-08 18:59 zmoelnig
-
- * updated documentation
-
-2004-01-05 19:14 zmoelnig
-
- * updated docs
-
-2004-01-05 19:08 zmoelnig
-
- * use a movie rather than an image for demonstrating this
-
-2004-01-05 18:37 zmoelnig
-
- * added newImage-variable since it was needed
-
-2004-01-05 18:35 zmoelnig
-
- * removed a debug message
-
-2004-01-05 18:34 zmoelnig
-
- * added an include for windows
-
-2004-01-05 18:20 zmoelnig
-
- * re-added inlets for height, size and mode
- transformed and scaled the newWave so that it behaves exactly
- like a square of the same dimension when there is no motion.
-
- ASK: why is this "blend" function in there ?
-
-2004-01-05 11:08 zmoelnig
-
- * better checks for pd-version
-
-2004-01-05 10:18 zmoelnig
-
- * glu-objects (like sphere) have a bit of a problem with
- non-power-of-2 textures
-
-2004-01-05 09:58 zmoelnig
-
- * updated documentation
-
-2004-01-05 09:42 zmoelnig
-
- * my project-builder project has been updated
-
-2004-01-05 09:41 zmoelnig
-
- * updated doc
-
-2004-01-05 09:28 zmoelnig
-
- * fixed typos
-
-2004-01-05 09:23 zmoelnig
-
- * use integer calcs rather than floating point
-
-2004-01-04 18:56 zmoelnig
-
- * bugfix (videoV4L crashed when you tried to open a non-existant
- device)
-
-2004-01-04 18:53 zmoelnig
-
- * added checks for the pd-version (because of reference
- install-paths)
-
-2004-01-04 18:51 zmoelnig
-
- * updated documentation
-
-2003-12-31 02:55 cclepper
-
- * added support for groups
-
-2003-12-31 02:49 cclepper
-
- * yet another rewrite of the QT tasking code. this should hopefully
- give the 'best of both worlds'.
-
-2003-12-17 06:21 cclepper
-
- * added the real frame counting method and made improvements to
- using the counter method of playback - no double processed frames
-
-2003-12-17 06:13 tigital
-
- * rearranged variables to shut up gcc 3.3 about initialization
-
-2003-12-17 06:13 tigital
-
- * removed unused vector to shut up gcc 3.3
-
-2003-12-17 06:11 tigital
-
- * added Cyrille's changes: now it's more controllable (and useful):
- see examples/07.texture/05.newWave.pd
-
-2003-12-17 06:05 tigital
-
- * added Cyrille's changes: now it's more controllable (and useful):
- see examples/07.texture/05.newWave.pd
-
-2003-12-12 18:21 zmoelnig
-
- * dos2unix -- linebreaks
-
-2003-12-10 02:18 cclepper
-
- * rewrite to make playback using 'auto' more efficient. 'rate'
- message sets the playback speed when using 'auto' mode. the movie
- rate is properly set for correct qt playback. new doDebug for
- handling internal state info display to the console.
-
-2003-12-08 06:02 cclepper
-
- * added hiquality message to deal with DV streams (yeah i know it's
- ass backwards to disable hiquality to make DV streams look good)
-
-2003-12-07 02:47 cclepper
-
- * changed internal texture format back to RGBA so now alpha works
- in textures
-
-2003-12-06 05:04 cclepper
-
- * default is now set to YUV colorspace
-
-2003-12-04 17:57 zmoelnig
-
- * new help-patch from cyrille
-
-2003-12-04 17:53 zmoelnig
-
- * reviewed help-patches
-
-2003-12-04 13:18 zmoelnig
-
- * bugfix: one additional inlet was created for [primTri], [curve]
- and [polygon] by GemShape.
- i have added a new creator for GemShape (without arguments) that
- will not create the "size"-inlet - this is for objects that want
- only the "draw" and "width" message
-
-2003-12-04 12:19 zmoelnig
-
- * the bugfix for Grey-support needs a header-file too...
-
-2003-12-03 13:21 zmoelnig
-
- * BUGFIX: grayscale was missing
-
-2003-12-03 07:18 cclepper
-
- * made client_storage a user defined option. this is a temporary
- workaround to some texture corruption issues.
-
-2003-12-02 15:26 zmoelnig
-
- * my new windows-project
-
-2003-12-02 15:26 zmoelnig
-
- * filed YUV-bug of pix_kaleidoscope
-
-2003-12-02 15:22 zmoelnig
-
- * added dummy messages for "enumerate" and "dialog" (used by
- pix_videoDS, in the future probably by others...)
-
-2003-12-02 15:21 zmoelnig
-
- * "dialog" with no args is now the same as "setup" ("setup" message
- should be deprecated)
-
-2003-12-02 15:20 zmoelnig
-
- * added dummy messages for "enumerate" and "dialog" (used by
- pix_videoDS)
-
-2003-12-02 15:19 zmoelnig
-
- * upside down
-
-2003-12-02 15:18 zmoelnig
-
- * support for colour-space switching
-
-2003-12-02 15:18 zmoelnig
-
- * use __NEW_FILM rather than __NEW__
-
-2003-12-02 15:17 zmoelnig
-
- * colourspace-switching with GL_* rather than 0 (YUV) and 1 (RGBA)
-
-2003-12-02 15:16 zmoelnig
-
- * a bit of support for colourspace-switching
-
-2003-12-02 15:15 zmoelnig
-
- * made it a bit more stable on windos
-
-2003-12-02 15:14 zmoelnig
-
- * added some braces to make execution order clearer
-
-2003-12-02 14:57 zmoelnig
-
- * split __NEW__ in __VIDEO_NEW and __FILM_NEW
-
-2003-12-02 06:36 cclepper
-
- * changed in to GLint to match prototype of csMess
-
-2003-12-02 05:38 cclepper
-
- * fixed error in code - it now compiles
-
-2003-12-01 14:48 zmoelnig
-
- * once in a while i compile under NT...
-
-2003-12-01 14:47 zmoelnig
-
- * configLinux.h should be generated for all machines by the
- configure-script.
- don't know, how this came into the CVS
-
-2003-12-01 14:27 zmoelnig
-
- * another bug fixed for NT
-
-2003-12-01 14:19 zmoelnig
-
- * rebuilt configure to add the "-l" flags
-
-2003-12-01 14:05 zmoelnig
-
- * rebuilt it with another version of "aclocal"
-
-2003-12-01 13:55 zmoelnig
-
- * another bugfix (pix_videoDS) reported
-
-2003-12-01 13:52 zmoelnig
-
- * updated bugfixes ("create" on remote X-servers works for most but
- my machine)
-
-2003-12-01 13:48 zmoelnig
-
- * bugfix: configure wouldn't add "-l" flags for "standard"
- libraries found with AC_FIND_LIB
-
-2003-12-01 10:09 zmoelnig
-
- * removed swapMess() and dimenMess() - should be handled by the
- parent-class
-
- removed explicit-call to the parent's setupCallback; should be
- handled via CPPExtern.
-
- turned on capturing for device 0 by default.
-
- Callback() now returns NOERROR instead of S_FALSE: i don't know
- why we would want to stop grabbing::i only got 1 frame and it
- stopped; now i can grab moving images !
- messages:
-
- the pixBlock-array is now called m_pixBlockBuf[];
- m_pixBlock is another pixBlock that gets the data on "render()"
- via fromBGR().
- LATER: add other functions to let users select the color-space
- via the setup-dialog
-
- added a "colorspace" message, that sets the output-colorspace
- (not the capturing one!)
-
- made the "device" message an alias for "open" (because of
- compatibility to pix_videoNEW)
- made the "dialog"-message (without arguments) an alias for
- "setup", because this gives us one (1) interface to
- popup-dialogs.
-
- LATER: make "dimen", "norm", "channel" work
-
-2003-12-01 09:59 zmoelnig
-
- * changed the m_colorspace, to not only be 0 (for YUV) and 1(for
- RGBA) but rather GL_YCBCR422_GEM and GL_RGBA
-
-2003-12-01 09:56 zmoelnig
-
- * if we HAVE_DIRECTSHOW, we disable the AUTO_REGISTER stuff, if(!)
- DO_AUTO_REGISTER_CLASS is not defined.
- pix_videoDS will define the DO_AUTO..., to register itself
-
- this is *very* ugly
- LATER rethink this
-
-2003-12-01 09:52 zmoelnig
-
- * removed offsetMess() and swapMess(); should be handled by the
- parent-class
- use fromBGR() rather than doing it by hand. this enables other
- color-spaces too!
- added a colorspace-message
-
-2003-12-01 09:50 zmoelnig
-
- * changed the configure a bit to make more intelligent searches in
- the search-paths, for both libs and headers
- we now search /usr/local/src and /usr/local/include instead of
- whole /usr/local (at least for headers)
-
-2003-11-28 18:19 ggeiger
-
- * fixed alpha depthtest default value
-
-2003-11-25 17:38 zmoelnig
-
- * support for different colour-spaces
-
-2003-11-25 17:38 zmoelnig
-
- * support for different colour-spaces (use "colorspace"-message)
-
-2003-11-25 16:54 zmoelnig
-
- * using setCsizeByFormat() instead of doing this by hand
- also there is now a m_reqFormat defining the colourspace (but
- only GL_RGBA is supported....)
-
-2003-11-25 16:52 zmoelnig
-
- * setCsizeByFormat now also sets the "type" (pixel alignment)
- on __APPLE__ the default is yuv, everywhere else it is rgba
-
-2003-11-25 16:51 zmoelnig
-
- * using setCsizeByFormat instead of doing it by hand
-
-2003-11-25 16:29 zmoelnig
-
- * fixed a stupid bug, that was blacking the "last" buffer each
- cycle.
- added object-arguments as initial parameters
- take care of colorspace-changes
-
-2003-11-25 15:16 zmoelnig
-
- * disabled the auto_registering if __NEW__ is not defined
- exclude "Base/config.h" since it is already included by film.h
-
-2003-11-25 15:14 zmoelnig
-
- * set the helpsymbol to "pix_film" instead of "pix_filmNEW"
- uncommented the use of canvas_getfilename since it makes problems
- with internet-streams (as far as i remember)
-
-2003-11-25 15:09 zmoelnig
-
- * moved the disabling of auto-register to pix_video.h
-
-2003-11-25 15:07 zmoelnig
-
- * include "Base/config.h" for all OS (since the config.h will
- separate the sysdependent things)
-
-2003-11-25 15:06 zmoelnig
-
- * rewrote the "colorspace"-callback
-
-2003-11-25 15:05 zmoelnig
-
- * disabled the auto_registering if __NEW__ is defined
-
-2003-11-25 15:04 zmoelnig
-
- * set the help-symbol to "pix_movie" (instead of "pix_movieNEW")
-
-2003-11-25 15:03 zmoelnig
-
- * moved the disabling of auto-register to pix_video.h
-
-2003-11-25 15:02 zmoelnig
-
- * set the help-symbol to "pix_video" (instead of "pix_videoNEW")
-
-2003-11-25 15:01 zmoelnig
-
- * disabled the auto_registering if __NEW__ is not defined
-
-2003-11-25 14:59 zmoelnig
-
- * used setBlack() instead of memset(); use reallocate()
-
-2003-11-25 14:57 zmoelnig
-
- * setting newfilm to 0 (shouldn't do anything since we are on linux
- (?))
-
-2003-11-25 14:55 zmoelnig
-
- * include "Base/config.h" for all OS (since the config.h will
- separate the sysdependent things)
- exclude "GemBase.h" and use "m_pd.h" instead (shouldn't be needed
- either, if it wasn't for post())
-
-2003-11-25 14:54 zmoelnig
-
- * get more information
- the last outlet (data) is still the last outlet (but now there
- are 6 instead of 4). this shouldn't break anything, since who can
- do something with it ?
-
-2003-11-25 14:53 zmoelnig
-
- * include "Base/config.h" for all OS (since the config.h will
- separate the sysdependent things)
-
-2003-11-25 14:51 zmoelnig
-
- * added "--disable-new" for "old" behaviour with pix_film/pix_video
- and friends under linux
- this the config.h.in for linux-autoconf has moved to
- configLinux.h.in
-
-2003-11-25 14:48 zmoelnig
-
- * made config.h system-independent.
- this the config.h.in for linux-autoconf has moved to
- configLinux.h.in
-
-2003-11-25 14:46 zmoelnig
-
- * made config.h system-independent.
- the system-bound configurations are stored in separate files
- (like Base/configLinux.h) which are included by config.h
- (depending on __linux__ and friends)
-
-2003-11-25 14:43 zmoelnig
-
- * initialized newfilm/newimage to 0
-
-2003-11-25 14:41 zmoelnig
-
- * added support for HELPSYMBOL_BASE (which is defined as "Gem/") --
- used in CPPExtern.h
-
-2003-11-25 14:41 zmoelnig
-
- * added HELPSYMBOL to set an alternate helpsymbol (it crashes, when
- more than 1 help-symbols are specified and we already do it here)
- added support for HELPSYMBOL_BASE (which is defined as "Gem/" in
- GemBase.h)
-
-2003-11-23 19:27 zmoelnig
-
- * set notowned=false when color-conversion is done (which is the
- truth)
-
-2003-11-19 08:53 zmoelnig
-
- * this is my macOS-projectmaker-project
-
-2003-11-18 19:53 zmoelnig
-
- * help-patches for [curve3d] and [tube]
-
-2003-11-18 18:21 zmoelnig
-
- * changed "post()" to "debug()" which is a define to either
- "post()" or nothing, so we can do some debug-information on
- demand
-
-2003-11-18 18:18 zmoelnig
-
- * removed the auto-registering
-
-2003-11-18 18:12 zmoelnig
-
- * added an alias for "colorspace"-message
-
-2003-11-18 17:47 cclepper
-
- * new pbproj
-
-2003-11-18 15:39 zmoelnig
-
- * made XWin be aware of resizes.
- however, it doesn't really work yet :-(
-
-2003-11-18 15:36 zmoelnig
-
- * added MIN and MAX functions
-
-2003-11-18 15:25 zmoelnig
-
- * added curve3d and tube
-
-2003-11-18 15:21 zmoelnig
-
- * updated documentation
-
-2003-11-18 15:20 zmoelnig
-
- * removed unneeded variables
-
-2003-11-18 15:18 zmoelnig
-
- * include "config.h" only on linux
- note: this should be changed LATER to include "config.h" on all
- platforms.
- config.h should then include platform-specific config-files (that
- can be generated with configure or whatever)
-
-2003-11-18 15:17 zmoelnig
-
- * defined NO_AUTO_REGISTER_CLASS to not register this class with pd
- on __linux__, __APPLE__ and NT
-
-2003-11-18 15:14 zmoelnig
-
- * put the auto_register code in a separate define whichcan be
- switched off by defining NO_AUTO_REGISTER_CLASS before including
- the CPPExtern.h
-
-2003-11-17 18:53 zmoelnig
-
- * swapped 2 variables in class-definition (apple's gcc likes it
- better this way)
- removed unused code
-
-2003-11-15 03:26 cclepper
-
- * added Altivec function for both RGB and YUV
-
-2003-11-14 14:43 zmoelnig
-
- * added curve3d and tube
-
-2003-11-14 10:26 zmoelnig
-
- * added scaling for the mouse-coordinates.
- this allows output that is independant of the window-size
-
-2003-11-14 07:21 cclepper
-
- * removed the extraneous RGB_Altivec prototype
-
-2003-11-14 07:19 cclepper
-
- * a dst tweak and bug fix
-
-2003-11-13 04:26 cclepper
-
- * slight change to RGB vector code
-
-2003-11-13 03:39 cclepper
-
- * added Altivec
-
-2003-11-12 18:11 zmoelnig
-
- * removed the check, whether the first atom of the text-list is a
- symbol. now we can print numbers too.
-
-2003-11-12 17:57 zmoelnig
-
- * changed processRGB_Altivec to processRGBA_Altivec
-
-2003-11-12 17:55 zmoelnig
-
- * fixed linefeed
-
-2003-11-11 07:31 cclepper
-
- * added RGB Altivec
-
-2003-11-11 07:04 cclepper
-
- * added RGB Altivec
-
-2003-11-10 06:40 cclepper
-
- * changed from float to int processing
-
-2003-11-10 06:18 cclepper
-
- * changed from float to int processing of grey value
-
-2003-11-10 06:17 cclepper
-
- * added RGB Altivec
-
-2003-11-10 06:09 cclepper
-
- * added RGB Altivec
-
-2003-11-10 03:24 cclepper
-
- * changed Altivec defines
-
-2003-11-10 02:14 cclepper
-
- * changed Altivec defines
-
-2003-11-03 12:15 zmoelnig
-
- * changed (bool) to (int), since vc6 doesn't like assigning a
- boolean-value to an integer.
-
-2003-11-03 12:14 zmoelnig
-
- * added no-warn-flags for vc6
-
-2003-11-03 12:13 zmoelnig
-
- * made it compile with ffmpeg-0.4.8 (however i wasn't yet able to
- load a movie...)
-
-2003-11-03 12:12 zmoelnig
-
- * made it work under windows; however it likes crashing sometimes
- and i haven't found out yet why...
-
-2003-10-24 18:38 zmoelnig
-
- * fixed some BUGS...
-
-2003-10-24 18:32 zmoelnig
-
- * added "--with-aviplay" as an alias for "--with-avi"
-
-2003-10-24 18:31 zmoelnig
-
- * added some comment to the render() for neither FTGL/GLTT support
- (while trying to find out
-
-2003-10-23 08:10 zmoelnig
-
- * fixed another possible bug (check for NULL-images)
-
-2003-10-22 11:01 zmoelnig
-
- * added the self-registering code, so that MarkEx will stay
- available
-
-2003-10-22 09:06 zmoelnig
-
- * further changes, but far from working yet
-
-2003-10-22 08:35 zmoelnig
-
- * fixed bugs in pix_buffer_read/pix_buffer_write when no or unknown
- pix_buffers were specifified
-
-2003-10-22 08:34 zmoelnig
-
- * added "fsaa" to the WindowHints-class
-
-2003-10-22 05:34 cclepper
-
- * added FSAA
-
-2003-10-21 18:15 ggeiger
-
- * remove setup() function this is done through a static class
- structure now, that is created for each object
- Gem objects are added automatically to pd as soon as they are
- compiled in
-
-2003-10-21 18:14 ggeiger
-
- * re-used continueRender() function
-
-2003-10-21 18:13 ggeiger
-
- * removed my name from startup
-
-2003-10-21 14:44 ggeiger
-
- * distribute particles according to their velocity if there is more
- than one particle per frame
-
-2003-10-21 14:21 ggeiger
-
- * added numberbox to rotate light (cube seems to be very dark with
- 180)
-
-2003-10-21 14:19 ggeiger
-
- * added auto message description
-
-2003-10-21 14:17 ggeiger
-
- * change is in pd already
-
-2003-10-21 13:50 ggeiger
-
- * bang on gemhead triggers a render cycle (was broken)
-
-2003-10-15 19:07 zmoelnig
-
- * set the upside-down flag to true. (hope this is alright)
-
-2003-10-15 19:05 zmoelnig
-
- * temporarily added some variables (like m_auto)
- these should be gone when i really have access to a machine where
- quicktime4win is installed
-
-2003-10-15 19:04 zmoelnig
-
- * fixed a bug when searching for the linker/compiler flags for
- libavifile:
- not "avifile-config" is used if available
-
-2003-10-15 19:03 zmoelnig
-
- * new bugs (pix_buffer, libavifile, remote display)
-
-2003-10-10 12:52 zmoelnig
-
- * added filmQT
- changed "#define DEBUG" to "#define debug"
-
-2003-10-10 12:16 zmoelnig
-
- * disabled pete's "static"-hack with NO_HACK (default on windows)
-
-2003-10-10 12:12 zmoelnig
-
- * vc6 doesn't like statical arrays with variable sizes
-
-2003-10-10 11:15 zmoelnig
-
- * updated my vc6-projects
-
-2003-10-10 11:14 zmoelnig
-
- * disabled warnings on vc6
-
-2003-10-10 11:13 zmoelnig
-
- * search for libavifile-headers rather than assuming they are in
- /usr/include/avifile
-
-2003-10-10 11:11 zmoelnig
-
- * first attempt of a port from [pix_filmQT] to the film*-class.
- however i have quicktime4windows not installed, so i had no way
- to compile this yet....
-
-2003-10-10 11:10 zmoelnig
-
- * made filmAVI work.
- a first step for pix_filmNEW to run on windows...
-
-2003-10-10 11:09 zmoelnig
-
- * for libavifile we used to include <avifile/avifile.h>;
- since the headers for libavifile-0.7 is located in
- /usr/include/avifile-0.7/, we now search for the correct path in
- the "configure" and include only "avifile.h"
-
-2003-10-10 11:07 zmoelnig
-
- * <unistd.h> is only included if HAVE_LIBAVIPLAY is defined
-
-2003-10-10 11:04 zmoelnig
-
- * removed "m_film", since it is not needed
-
-2003-10-10 11:03 zmoelnig
-
- * my vc6-dos-compiler doesn't like <iostream> because it makes it
- like against some "new" io-libs while it rather needs "old" ones
- which are requested by <iostream.h>
-
-2003-10-10 11:02 zmoelnig
-
- * commented out namespace std for windows (vc6 complained about
- this)
-
-2003-10-10 11:00 zmoelnig
-
- * now you see something after the first coordinate-change...
-
-2003-10-10 10:59 zmoelnig
-
- * now using [pix_buf] instead of re-loading the image for each
- blending-change
-
-2003-10-08 17:33 zmoelnig
-
- * removed the [pix_rgba], since now [pix_film] should output only
- RGBA/YUV/Grayscale
-
-2003-10-08 16:55 zmoelnig
-
- * reported bugfix of filmQT4L
-
-2003-10-08 16:54 zmoelnig
-
- * this is how [pix_movie] looks like if derived from [pix_filmNEW]
- (and [pix_texture])
-
-2003-10-08 16:51 zmoelnig
-
- * using "upsidedown" from imageStruct;
- added YUV support
-
-2003-10-08 16:09 zmoelnig
-
- * using "upsidedown" from imageStruct;
-
-2003-10-08 16:06 zmoelnig
-
- * using "upsidedown" from imageStruct;
- added this flag to setTexCoords() to indicate whether the
- texture-coordinates should be flipped or not.
- the __APPLE__ define for flipping is therefore obsoleted.
-
-2003-10-08 16:04 zmoelnig
-
- * added "upsidedown" to imageStruct;
- this is meant for texture-flipping of the image (most movies are
- loaded the "wrong" way)
- upsidedown defaults to true on __APPLE__; false elsewhere
-
-2003-10-08 15:01 zmoelnig
-
- * made [pix_movieNEW] (for now; of course this should [pix_movie]
- LATER a friend of [pix_texture]
- this will let us use the sophisticated texturing mechanism of
- [pix_texture] for [pix_movie]
-
-2003-10-07 16:10 zmoelnig
-
- * moved the pix_film things up a bit, because i had a hard time
- making [pix_film] an alias for [pix_filmNEW]
-
-2003-10-07 16:09 zmoelnig
-
- * added "colorspace"-method
-
-2003-10-07 16:09 zmoelnig
-
- * some bug fixing
- added "colorspace"-method
- "post" becomes "DEBUG" which can be turned off.
- some reordering of decode-libs: libmpeg3 is better in decoding
- mpegs then libavifile (less crashes)
-
-2003-10-07 15:47 zmoelnig
-
- * open() now utilizes setCsizeByFormat()
-
-2003-10-07 15:46 zmoelnig
-
- * made the openStream sleep a bit. still opening streamed-files
- sometimes crashes
- added support for more colour-formats
-
-2003-10-07 15:44 zmoelnig
-
- * put quite everything (but constructor/destructor) between one
- huge #ifdef.
- the rest should be filled with defaults by the film-class.
-
-2003-10-07 15:43 zmoelnig
-
- * added colour-change on the fly
-
-2003-10-07 15:40 zmoelnig
-
- * open() now returns false (to make the skip to next api work)
-
-2003-10-07 15:39 zmoelnig
-
- * requestColor() now sets "m_wantedFormat"
-
-2003-10-07 15:38 zmoelnig
-
- * a bit of code-cleanup
-
-2003-10-07 12:01 zmoelnig
-
- * rewrote a bit in the #ifdef clauses and put them all together.
- it is really ugly
- on linux pix_filmNEW is now the default
-
-2003-10-07 11:47 zmoelnig
-
- * encapsuled everything but constructor/destructor within one big
- "#ifdef HAVE_QT4L" (using inheritance)
- made getFrame() return frames of all three colour-spaces.
- fixed several bugs
-
-2003-10-07 08:58 zmoelnig
-
- * encapsuled everything but constructor/destructor within one big
- "#ifdef HAVE_QT4L" (using inheritance)
- made getFrame() return frames of all three colour-spaces.
- BAD: we only get RGB-images from the qt4l-library. this means:
- video(YUV)->buffer(RGB)->gem_image(RGBA/YUV/Gray). but what
- should i do ?
-
-2003-10-07 08:55 zmoelnig
-
- * rewrote the getFrame() to:
- a) get frames of different colour-spaces
- b) decode YUV/Gray really fast (directly access the decoding
- Y/U/V-planes)
-
-2003-10-07 08:51 zmoelnig
-
- * added some thoughts about requested/forced colourspaces.
- i think, that film* should at least return colour-spaces that
- could be handled by Gem/openGL itself.
- (it doesnt make sense for [pix_film] to handle IMG_FMT_RGB15)
- so the cs-request should really be a force and not just a
- suggestion
-
-2003-10-07 08:46 zmoelnig
-
- * added fromRGB16() to retrieve data from 16bit encoded RGB.
- added fromYV12(Y,U,V) which does not assume that the U and V
- planes are directly after the Y plane. this is handy if we have
- independent planes
-
-2003-10-03 14:28 zmoelnig
-
- * GL_RGBA is not defined at openGL<1.2 (i think);
- furthermore the include-check for CPPExtern.h is already made in
- CPPExtern.h
-
-2003-10-03 13:59 zmoelnig
-
- * put quite everything (but constructor/destructor) between one
- huge #ifdef.
- the rest should be filled with defaults by the film-class.
-
-2003-10-03 13:59 zmoelnig
-
- * put quite everything (but constructor/destructor) between one
- huge #ifdef.
- the rest should be filled with defaults by the film-class.
- on close() the filehandler is set to NULL (caused to crash on
- multiple closes)
-
-2003-10-02 14:47 zmoelnig
-
- * removed #include <OpenGL/gl.h> (it is included in GemBase anyhow)
- ifdef'ed the #include <OpenGL/glu.h> to __APPLE__ (else <GL/gl.h>
-
-2003-09-30 18:16 zmoelnig
-
- * filmQT4L procuces RGB if RGBA is not supported by the codec
-
-2003-09-30 18:11 zmoelnig
-
- * removed the processRGBAImage-call (anyhow, it didn't do anything)
-
-2003-09-30 18:11 zmoelnig
-
- * added YUV support
- split processImage into processRGBAImage and processGrayImage
-
-2003-09-29 03:27 tigital
-
- * corrected text
-
-2003-09-29 03:11 tigital
-
- * added camera_setup()
-
-2003-09-29 03:10 tigital
-
- * initial commit
-
-2003-09-24 04:51 tigital
-
- * more work on yuv processing, but it still doesn't work
-
-2003-09-24 04:46 tigital
-
- * removed some unused code, cleanup
-
-2003-09-24 04:44 tigital
-
- * removed some unused code
-
-2003-09-24 04:42 tigital
-
- * added __APPLE__ "macosx_math.h", some unused cleanup
-
-2003-09-24 04:39 tigital
-
- * fixed "comparison between signed & unsigned int" warning on line
- 117, in processRGBAImage()
-
-2003-09-24 04:33 tigital
-
- * replaced __APPLE__ define with macosx_math.h
-
-2003-09-24 04:32 tigital
-
- * added default: break; to PAAvoid::Execute() & PABounce::Execute,
- because PDPoint, PDLine, PDBox, PDCylinder, PDCone, and PDBlob
- aren't taken care of...also replaced __APPLE__ defines with
- macosx_math.h
-
-2003-09-24 04:27 tigital
-
- * added default: break; to _pCallActionList(), because PAHeaderID
- isn't taken care of
-
-2003-09-23 03:21 tigital
-
- * added glFinish() & several glPixelStorei()'s for __APPLE__ for
- speed up?: is this applicable to all platforms?
-
-2003-09-23 03:16 tigital
-
- * removed unused variables
-
-2003-09-23 02:50 tigital
-
- * changed comment from "mousePressed" to "KeyBoardPressed"
-
-2003-09-23 02:47 tigital
-
- * reordered initializers to shut up gcc warning
-
-2003-09-22 10:04 zmoelnig
-
- * updated documentation
-
-2003-09-22 10:03 zmoelnig
-
- * added Gray-support
- YUV-support is still under construction (but now does something
- (stupid) instead of nothing)
-
-2003-09-22 10:02 zmoelnig
-
- * added an inlet for the size of the metaimage
-
-2003-09-22 10:01 zmoelnig
-
- * added Gray-support
- split the processImage into processRGBAImage and processGrayImage
-
-2003-09-22 09:59 zmoelnig
-
- * added YUV-Support (like grayscale: the difference image is
- written on the luma-channel; colour is discarded)
-
-2003-09-22 09:58 zmoelnig
-
- * added Gray-support (RGBA & Gray are in processImage, while YUV
- has a separate function)
-
-2003-09-22 09:57 zmoelnig
-
- * added Gray-support
-
-2003-09-22 09:55 zmoelnig
-
- * fixed setBlack() and setWhite() for YUV
-
-2003-09-17 13:24 zmoelnig
-
- * added some documentation
-
-2003-09-17 13:09 zmoelnig
-
- * more bugs to come
-
-2003-09-17 13:08 zmoelnig
-
- * fixed install on linux
-
-2003-09-17 13:08 zmoelnig
-
- * documented a lot ;-)
-
-2003-09-17 13:07 zmoelnig
-
- * fixed the "toupper()" BUG: include <ctype.h>
-
-2003-09-17 13:07 zmoelnig
-
- * result of merge
-
-2003-09-17 13:07 zmoelnig
-
- * allow arguments and an intelligent gain handler
-
-2003-09-17 13:05 zmoelnig
-
- * made the inlet do something intelligent: set the range
- (normalized 0..1)
-
-2003-09-17 13:03 zmoelnig
-
- * added methods for Grey
-
-2003-09-17 13:02 zmoelnig
-
- * code cleanup to make merge easier
-
-2003-09-17 12:43 zmoelnig
-
- * allow arguments and an intelligent gain handler
-
-2003-09-17 12:42 zmoelnig
-
- * new indentation ?
-
-2003-09-17 12:40 zmoelnig
-
- * i think i've found a bug in GREY
-
-2003-09-17 12:39 zmoelnig
-
- * cleaned up the code a bit.
- default behaviour is no ON (used to be OFF)
- RGBAcomparision is now done on luminance instead of each channel
- separately
-
-2003-09-17 12:38 zmoelnig
-
- * cleaned up the code a bit.
- default behaviour is no ON (used to be OFF)
-
-2003-09-17 12:35 zmoelnig
-
- * changed ranges from 0..255 to 0.0..1.0
- added some inlets
-
-2003-09-17 12:35 zmoelnig
-
- * added checks for control-range
- added some inlets
-
-2003-09-17 12:33 zmoelnig
-
- * added comments about ranges of the internal variables.
- also changed the range from 0..255 to 0.f..1.f
-
-2003-09-17 12:32 zmoelnig
-
- * BUG: the first incoming frame is captured automatically --> FIXED
- (nothing is done, if no frame is specified)
-
-2003-09-17 12:31 zmoelnig
-
- * grabbed texture-size defaults to the gemwin-size
-
-2003-09-17 12:30 zmoelnig
-
- * added methods for YUV
-
-2003-09-17 12:29 zmoelnig
-
- * added a comment, saying what this object is for
-
-2003-09-17 12:28 zmoelnig
-
- * fixed the bug with filledLines
-
-2003-09-17 12:26 zmoelnig
-
- * removed overwrites of the virtual functions for
- yuv/grey-colourspace.
- Why do we have inheritance ?
-
-2003-09-17 12:25 zmoelnig
-
- * added inlet for size of dots
-
-2003-09-17 12:22 zmoelnig
-
- * added methods for grey
-
-2003-09-17 12:21 zmoelnig
-
- * added methods for RGBA/grey
-
-2003-09-17 12:21 zmoelnig
-
- * added methods for YUV/grey
-
-2003-09-17 12:19 zmoelnig
-
- * added methods for YUV
-
-2003-09-17 12:17 zmoelnig
-
- * made some inlets
- made the heightMess do something
-
-2003-09-17 12:16 zmoelnig
-
- * made some inlets
- made the heightMess do something
- arguments specify the grid-size
-
-2003-09-17 11:45 zmoelnig
-
- * packed the code a little bit (to make it more readable to me)
-
-2003-09-17 11:45 zmoelnig
-
- * new indentation
-
-2003-09-17 11:44 zmoelnig
-
- * version is now 0.888-pre1
-
-2003-09-17 11:40 zmoelnig
-
- * new help patches
-
-2003-09-17 11:30 zmoelnig
-
- * result of merge
-
-2003-09-17 11:08 zmoelnig
-
- * updated some reference patches
-
-2003-09-15 04:48 tigital
-
- * - added texture_range_supported flag (default=0, ie. off) and
- extension check
-
-2003-09-15 04:45 tigital
-
- * - added texture_range_supported flag
-
-2003-09-15 04:40 tigital
-
- * - added texture_range usage on OSX, where available: speed gain?
- - fixed problem with power of 2 textures not taking fastest paths
- (rectangle_textures), if available
-
-2003-09-15 00:40 cclepper
-
- * change tv_ to pix_
-
-2003-09-14 23:24 cclepper
-
- * changed #ifdef MACOSX to __APPLE__
-
-2003-09-14 23:19 cclepper
-
- * added a better description
-
-2003-09-14 23:07 cclepper
-
- * added a better description
-
-2003-09-14 23:05 cclepper
-
- * removed processGrey
-
-2003-09-14 23:00 cclepper
-
- * changed gain
-
-2003-09-14 22:57 cclepper
-
- * changed the colorspace message to match pix_film, dimension
- message now works
-
-2003-09-14 22:31 cclepper
-
- * changed #ifdef MACOSX to __APPLE__
-
-2003-09-14 22:30 cclepper
-
- * fixed commenting error
-
-2003-09-14 22:26 cclepper
-
- * changed #ifdef MACOSX to __APPLE__
-
-2003-09-14 22:10 cclepper
-
- * changed #ifdef MACOSX to __APPLE__
-
-2003-09-14 22:01 cclepper
-
- * changed #ifdef MACOSX to __APPLE__
-
-2003-09-14 21:55 cclepper
-
- * added ram message, made YUV default colorspace
-
-2003-09-14 21:45 cclepper
-
- * added colorspace message
-
-2003-09-14 21:07 cclepper
-
- * added #ifdef for PPC970/G5
-
-2003-09-14 20:47 cclepper
-
- * changed #ifdef MACOSX to __APPLE__
-
-2003-09-14 20:32 cclepper
-
- * changed #ifdef MACOSX to __APPLE__
-
-2003-09-14 20:28 cclepper
-
- * added GL_LINE_SMOOTH
-
-2003-09-14 20:23 cclepper
-
- * changed #ifdef MACOSX to __APPLE__
-
-2003-09-14 20:03 cclepper
-
- * changed #ifdef MACOSX to __APPLE__
-
-2003-09-14 19:59 cclepper
-
- * initial commit
-
-2003-09-14 19:41 cclepper
-
- * initial commit
-
-2003-09-14 18:57 cclepper
-
- * initial commit
-
-2003-09-14 17:53 cclepper
-
- * initial commit
-
-2003-09-14 17:42 cclepper
-
- * initial commit
-
-2003-09-14 17:21 cclepper
-
- * initial commit
-
-2003-09-14 16:11 cclepper
-
- * changed #ifdef MACOSX to __APPLE__
-
-2003-09-14 15:56 cclepper
-
- * changed #ifdef MACOSX to __APPLE__
-
-2003-09-14 15:54 cclepper
-
- * added a few more drawTypes
-
-2003-09-14 15:38 cclepper
-
- * changed #ifdef MACOSX to __APPLE__ and commented out yuv_setup()
-
-2003-09-14 15:30 cclepper
-
- * changed #ifdef MACOSX to __APPLE__
-
-2003-09-11 15:34 zmoelnig
-
- * made a list of undocumented objects
-
-2003-09-11 15:05 zmoelnig
-
- * removed debugging output
-
-2003-09-11 11:11 zmoelnig
-
- * removed debugging output
-
-2003-09-11 10:54 zmoelnig
-
- * added a comment
-
-2003-09-11 10:06 zmoelnig
-
- * hopefully fixed a bit on installing the examples for linux
-
-2003-07-26 23:14 ggeiger
-
- * disable depth test for alpha blended render chains.
- I think this is the correct way how alpha should work, still
- there is
- a message *auto* to turn it off
-
-2003-07-22 19:16 zmoelnig
-
- * added postrender() hack, to prevent the "source-object" to be
- drawn
-
-2003-07-22 19:00 ggeiger
-
- * fix compilation bugs, removed ifdefs for ffmeg version
-
-2003-07-22 18:37 zmoelnig
-
- * fixed the crash
- however, this is very slow.
- we'll have to write a faster routine ourselves
-
-2003-07-22 18:27 zmoelnig
-
- * if m_interlace was 0, this used to crash my machine with a
- floating-point exception.
- thus "if(interleave<=0)interleave=1;"
-
-2003-07-22 18:15 zmoelnig
-
- * removed the create/destroy/blank routines for the buffer
-
-2003-07-22 18:14 zmoelnig
-
- * added greyscale-support
- addedsome checks before destroy[].
- hope this will fix the bug
-
-2003-07-22 18:04 zmoelnig
-
- * added checks before delete[] (just in case)
-
-2003-07-22 08:36 zmoelnig
-
- * dos2unix (changed linefeed/carriage-returns)
-
-2003-07-22 08:35 zmoelnig
-
- * removed empty functions for YUV/YUValtivec/Grey images
- (why do we have classes ?)
-
-2003-07-22 08:34 zmoelnig
-
- * removed functions for YUV/YUValtivec/Grey images
- (why do we have classes ?)
-
-2003-07-22 08:31 zmoelnig
-
- * removed functions for YUV/YUValtivec/Grey images
- (why do we have classes ?)
- added an include for <assert.h>, this might break compilation on
- other platforms,
- if so, please ifdef it to __linux__
-
-2003-07-22 08:26 zmoelnig
-
- * added a newline at end of file ;-)
-
-2003-07-22 07:45 zmoelnig
-
- * use the color-conversion from GemPixUtil;
- pix_grey and pix_yuv are childs of pix_rgba (reduces code
- dramatically!)
-
-2003-07-22 07:42 zmoelnig
-
- * fixed several bugs in the color-conversion routines
-
-2003-07-21 07:51 dheck
-
- * Added explicit reset of column index to 0 to fix invalid access
- bug.
-
-2003-07-20 19:28 tigital
-
- * small typo fix to allow compiling on OSX (space between FTFont* &
- makeFont(...)
-
-2003-07-19 22:41 tigital
-
- * small typo fix to allow compiling on OSX
-
-2003-07-19 20:40 tigital
-
- * added blend message
-
-2003-07-19 17:30 zmoelnig
-
- * general entry for pix-bugs
-
-2003-07-19 16:36 zmoelnig
-
- * the particle-rate is now float instead of integer (let's you emit
- 0.5 particles per rendering cycle)
-
-2003-07-19 16:30 zmoelnig
-
- * model.cpp_ seems to have been committed to the CVS.
- it was just a backup for work...
-
-2003-07-19 16:21 zmoelnig
-
- * added FTGL-2.04 -- support
-
-2003-07-16 05:17 tigital
-
- * added return to DestroyGemWindow() to prevent crashing on window
- close in some circumstances
-
-2003-07-16 04:12 cclepper
-
- * fixed up some altivec
-
-2003-07-16 03:49 tigital
-
- * initial commit
-
-2003-07-16 03:27 tigital
-
- * initial import of Pete's_Plugins ports (RGBA only so far):
- pix_colorreduce, pix_halftone, pix_kaleidoscope, pix_levels,
- pix_lumaoffset, pix_metaimage, pix_refraction, and pix_backlight
-
-2003-07-16 03:07 tigital
-
- * alphabetized functions; also added new setup functions:
- pix_colorreduce, pix_halftone, pix_kaleidoscope, pix_levels,
- pix_lumaoffset, pix_metaimage, pix_refraction, and pix_backlight
-
-2003-07-16 03:03 tigital
-
- * fixed cast problem (UInt8* instead of Str255)
-
-2003-07-16 02:57 tigital
-
- * added PeteHelpers.h stuff (defines, inline functions)
-
-2003-07-16 02:55 tigital
-
- * cleanup, changed to __APPLE__, solved casting problem
-
-2003-07-15 16:26 zmoelnig
-
- * added support for grey and yuv images. (not tested)
-
-2003-07-15 11:50 zmoelnig
-
- * added settable domains+arguments
-
-2003-07-15 11:48 zmoelnig
-
- * [part_velcone] and [part_velsphere] are obsoleted by
- [part_velocity]
- added an "obsolete"-warning
-
-2003-07-15 11:47 zmoelnig
-
- * [part_veldomain] has been replaced by [part_velocity]
-
-2003-07-15 11:46 zmoelnig
-
- * updated reference-patches. [part_veldomain] is replaced by
- [part_velocity]
-
-2003-07-15 08:01 zmoelnig
-
- * a started (in April) primer for Gem, however, far from being
- finished
-
-2003-07-15 07:58 zmoelnig
-
- * a an example for how to use [pix_tIIR]
-
-2003-07-15 07:58 zmoelnig
-
- * a an example for how to use [pix_buffer], [pix_buffer_read],
- [pix_buffer_write]
-
-2003-07-15 07:55 zmoelnig
-
- * just render a video onto a geo
-
-2003-07-15 07:53 zmoelnig
-
- * help for the resp. object
-
-2003-07-15 07:39 cclepper
-
- * now does color-space switching
-
-2003-07-15 07:39 zmoelnig
-
- * added checks for FTGL
-
-2003-07-15 07:38 zmoelnig
-
- * added [part_vertex], [part_velocity], [part_veldomain]
-
-2003-07-15 07:38 zmoelnig
-
- * [part_vertex] adds one particle each rendering cycle at a certain
- position
- -- useful for moving particle sources
- (but alas, only one particle at a time)
-
-2003-07-15 07:36 zmoelnig
-
- * [part_veldomain] sets the velocity into a specified domain (like
- sphere, triangle or whatever)
-
-2003-07-15 07:36 zmoelnig
-
- * [part_velocity] sets the velocity into a specified direction
-
-2003-07-15 07:34 zmoelnig
-
- * include <iostream> rather than <iostream.h>
-
-2003-07-15 07:32 zmoelnig
-
- * you can now set the domain of the source
- TODO: make the argument vector settable too (not much use
- without)
-
-2003-07-15 07:30 zmoelnig
-
- * added a new object for extruded text (FTGL only)
-
-2003-07-15 07:22 zmoelnig
-
- * added FTGL support for text-rendering
- under macOS i have made FTGL the default (not knowing whether it
- will break)
- under windos GLTT is still the default (although FTGL should work
- too)
- under linux the configure script decides what to take, but
- prefers FTGL rather than GLTT
-
-2003-07-15 02:30 cclepper
-
- * added Altivec YUV function
-
-2003-07-13 06:13 tigital
-
- * stupid cleanup of commented-out stuff
-
-2003-07-13 06:11 tigital
-
- * added OSX glcontext check to destructor to stop crashes when
- patch is opened/manipulated, but no glcontext is created
-
-2003-07-13 06:09 tigital
-
- * vector long has been deprecated: now it's vector int's
-
-2003-07-12 06:25 cclepper
-
- * added some Altivec
-
-2003-07-12 06:22 cclepper
-
- * more Altivec tweaks
-
-2003-07-11 15:20 zmoelnig
-
- * still some cvs-merge errors, probably they are gone now...
-
-2003-07-11 14:58 zmoelnig
-
- * added a newline at the end of the file
-
-2003-07-11 14:55 zmoelnig
-
- * got some problems with the cvs-update on another machine.
- hope it's ok now
-
-2003-07-11 14:06 zmoelnig
-
- * added checks for mmx-extension of gcc
-
-2003-07-11 13:58 zmoelnig
-
- * filedescriptors may also be 0! i only closed the device, if the
- fd was>0.
- fixed.
-
-2003-07-11 13:55 zmoelnig
-
- * added a flag to WindowInfo, whether a constant context has been
- established.
- the destroyWindow depends partly on this (because my laptop (with
- an ati mobility l6) crashed when destroying a non-constant
- context.
- also changed the line "do not continue" to "continue at your own
- risk"
-
-2003-07-09 12:07 zmoelnig
-
- * added some advice for video1394 under linux
-
-2003-07-09 11:17 zmoelnig
-
- * oops, i'm getting tired. another typo
-
-2003-07-09 11:10 zmoelnig
-
- * oops, made a type "libdv" instead of "dv"
-
-2003-07-09 11:05 zmoelnig
-
- * removed the Makefile.depend . they are not really needed in CVS
-
-2003-07-09 10:59 zmoelnig
-
- * use image.reallocate() rather than image.clear() +
- image.allocate()
-
-2003-07-09 10:58 zmoelnig
-
- * it seems like this is only used under linux for now.
- however, i have added the videoDV4L support.
- and there is now a "driver" message, that let's you choose
- between various drivers (like video4linux and video1394)
- yes, the way the modules are registered is really BAD.
- have to change this soon
-
-2003-07-09 10:56 zmoelnig
-
- * hopefully this is a real support for video over ieee1394
- (firewire/dv) under linux!
-
-2003-07-09 10:51 zmoelnig
-
- * changed the error-message (like for setting the device) slightly
-
-2003-07-09 10:43 zmoelnig
-
- * fixed the dv-checking.
- force the headers to be there, when the library is found too
-
-2003-07-09 10:41 zmoelnig
-
- * added some more yuv-conversions. (following a new naming-scheme
- after the FOURCC)
- fromUYVY, fromYUY2 (=YUYV), fromYVYU, fromYV12;
- fromYUV422() is now an alias for fromUYVY()
- fromYUV420P() is now an alias for fromYV12()
-
-2003-06-24 06:00 cclepper
-
- * improved altivec code + PPC scheduling
-
-2003-06-23 17:43 cclepper
-
- * improved altivec code
-
-2003-06-23 07:05 cclepper
-
- * improved rectangle texturing
-
-2003-06-23 06:59 cclepper
-
- * added newfilm to state->image
-
-2003-06-23 06:58 cclepper
-
- * fixed Ian's prefetch code
-
-2003-06-23 06:57 cclepper
-
- * fixed inaccurate estimation of film length, trying yet another
- way to do getFrame()
-
-2003-06-23 06:52 cclepper
-
- * added newfilm to state to tell when a film has been changed -
- mostly for faster rectangle texturing at this point
-
-2003-06-23 06:17 cclepper
-
- * improvements to YUV code
-
-2003-06-23 06:11 cclepper
-
- * removed debug post()
-
-2003-06-23 05:59 cclepper
-
- * tweaked some altivec
-
-2003-06-18 15:23 zmoelnig
-
- * set the include to "Base/GemPixDualObj.h" (the Base/ was missing)
-
-2003-06-11 20:23 zmoelnig
-
- * commented out the ALTIVEC after "#endif" (gcc doesn't like this)
-
-2003-06-09 16:11 tigital
-
- * reordered declarations to shutup gcc
-
-2003-05-28 03:26 cclepper
-
- * initial commit
-
-2003-05-27 04:16 dheck
-
- * Added project builder project for Mac OS X
-
-2003-05-26 13:36 dheck
-
- * Added a Quicktime for Windows film loader.
-
-2003-05-24 16:30 zmoelnig
-
- * shouldn't the "snap" message be replaced by a "bang". (at least i
- have *add*ed it)
-
-2003-05-24 16:27 zmoelnig
-
- * put the [pix_grey] back in again (why isn't it there ?)
-
-2003-05-24 15:54 zmoelnig
-
- * added greyscale-support for pix_blur
-
-2003-05-24 15:51 zmoelnig
-
- * since movement is stored in the Alpha-channel, i h?\008changed
- processImage to processRGBA image.
-
- i have to think about how to store movement in other
- colour-spaces.
- grayscale: just in the image
- yuv : ???
-
-2003-05-23 08:13 cclepper
-
- * new integer processing mode - 4x faster than float
-
-2003-05-22 07:33 cclepper
-
- * added Altivec
-
-2003-05-21 05:24 cclepper
-
- * fixed TEXTURE_RECTANGLE_EXT code for OSX
-
-2003-05-20 21:22 tigital
-
- * added "scale" message to inc/dec size of dots, plus some cleanup
- into the destructor; also made inline_RGB2Y() protected
-
-2003-05-20 21:21 tigital
-
- * added "scale" message to inc/dec size of dots, plus some cleanup
- into the destructor
-
-2003-05-20 07:48 cclepper
-
- * made CLAMP_TO_EDGE the repeat for TEXTURE_RECTANGLE_EXT
-
-2003-05-20 00:24 tigital
-
- * commented out call to pix_film_setup(): is this needed on any
- platform (seems like we went thru this before)?...
-
-2003-05-20 00:21 tigital
-
- * add #ifdef __APPLE__ to correctly include headers
-
-2003-05-19 04:03 cclepper
-
- * now works on OSX
-
-2003-05-19 03:50 cclepper
-
- * now works on OSX
-
-2003-05-18 19:44 zmoelnig
-
- * we now have chY1,.... for YUV-offsets, i have used this now
-
-2003-05-18 19:36 zmoelnig
-
- * added method for grey-images
-
-2003-05-18 19:36 zmoelnig
-
- * bug-fix: there was weird-behaviour, when the offset was bigger
- than the size of the cropped(!) image
-
-2003-05-18 19:29 zmoelnig
-
- * "#elif def" doesn't compile under linux, but "#elif defined"
- does...
-
-2003-05-18 19:20 zmoelnig
-
- * updated
-
-2003-05-18 09:13 cclepper
-
- * initial OSX version of mem2image()
-
-2003-05-18 03:31 tigital
-
- * needed for some example patches (like pix_gravity)
-
-2003-05-17 20:33 tigital
-
- * added pix_rds_setup()
-
-2003-05-17 20:20 tigital
-
- * cleanup a bit
-
-2003-05-17 20:19 tigital
-
- * initial port: RGB only (so far) :-(
-
-2003-05-17 18:47 tigital
-
- * correct casting in sprintf's to shutup compiler warning
-
-2003-05-17 18:45 tigital
-
- * #elifdef doesn't compile on OSX, but #elif def does
-
-2003-05-16 18:57 zmoelnig
-
- * moved BUGS to Gem/src (../)
-
-2003-05-16 18:57 zmoelnig
-
- * file bugs under BUGS, and things that have to be done under TODO
-
-2003-05-16 18:53 zmoelnig
-
- * added a BUGS file
-
-2003-05-16 14:58 zmoelnig
-
- * #ifdef'ed everything with HAVE_DV (so it won't compile if there
- are no libdv/dv.h headers)
-
-2003-05-16 14:40 zmoelnig
-
- * fixed a typo that searched in "search_libs" instead of expanding
- $search_libs
-
-2003-05-16 14:38 zmoelnig
-
- * fixed a typo that searched for "searchlibs" instead of
- "$searchlibs"
-
-2003-05-16 12:36 zmoelnig
-
- * This commit was generated by cvs2svn to compensate for changes in
- r380,
- which included commits to RCS files with non-trunk default
- branches.
-
-2003-05-16 11:10 zmoelnig
-
- * commited result of merge
-
-2003-05-16 11:07 zmoelnig
-
- * moved macors for image-processing from GemPixUtil to GemFuncUtil
- (since they are functions, although they probably have not much
- use for things other than PixProcessing (GemPixFun.h ?)
-
-2003-05-16 10:53 zmoelnig
-
- * copied yuv_posterize to pix_posterize. YUV only. hope this works
- as it should
-
-2003-05-16 10:52 zmoelnig
-
- * switched back from PALETTE_YUV422 to PALETTE_YUV420P.
- it seems as if video4linux means something different with YUV422
- (or similar formats). too bad, conversions (copying!) again
-
-2003-05-14 09:01 zmoelnig
-
- * ifdefed the use of GL_UNPACK_CLIENT_STORAGE_APPLE
- obviously some other changes, which i hope do not break anything,
- but i guess most of it is new indentation
-
-2003-05-14 08:58 zmoelnig
-
- * removed tv_* help-patches, since they are not used any more
-
-2003-05-14 08:03 zmoelnig
-
- * added data-acquisition "fromYUV422"
- added offsets chY0, chY1, chU, chV for UYVY interleaved data
- added a string2format converter (like 'rgba' to GL_RGBA), only
- Grey, YUV, and RGBA are supported
-
-2003-05-14 07:59 zmoelnig
-
- * added a topmostMess (a nop)
-
-2003-05-14 07:58 zmoelnig
-
- * ifdef'ed the call for openGL-extension "rectangle-texture", since
- there were problems when Gem was compiled without
- rectangle-texture-support, but the drivers supported it (namely
- nvidia-driver)
-
-2003-05-14 07:50 zmoelnig
-
- * oops, missed one thing: when yuv was requested, we didn't
- directly captured to yuv422 but rather to yuv420p. fixed
-
-2003-05-14 07:48 zmoelnig
-
- * for testing i had hardcorded requests for some "wrong"
- colour-spaces.
- hopefully this is removed now
-
-2003-05-14 07:46 zmoelnig
-
- * on platform that do not support yuv422-openGL-renderings (i
- haven't managed to make my geforce behave the way i expected, and
- of course there are other cards that will never support
- yuv-textures), we now have implicit yuv2rgb-conversion
-
-2003-05-14 07:44 zmoelnig
-
- * copy and pasted the yuv_emboss into the Pixes source.
- for now, only yuv is supported
-
-2003-05-14 07:44 zmoelnig
-
- * yet another colour-space converter ???
- don't know whether this makes sense (remove it LATER)
-
-2003-05-14 07:33 zmoelnig
-
- * added convert and emboss
-
-2003-05-14 07:32 zmoelnig
-
- * added aliases for [pix_depot] and friends
-
-2003-05-14 07:32 zmoelnig
-
- * [pix_put]: the frame# is now deleted after an image has been
- written into the depot. the next incoming image will not be
- stored until another frame# is given.
-
-2003-05-13 02:06 tigital
-
- * added #define for logf(), expf(), sinf(), & cosf() on OS X (sin()
- et. al. are already done w/double precision)
-
-2003-05-13 02:00 tigital
-
- * added #define for sqrtf() on OS X
-
-2003-05-13 01:59 tigital
-
- * reordered variables to reduce compiler warnings
- added glext.h to compile on OS X
-
-2003-05-13 00:54 cclepper
-
- * fixed the OSX image loading code
-
-2003-05-12 21:54 tigital
-
- * removed unused variables
-
-2003-05-12 10:27 dheck
-
- * Minor changes for Win32 compilation.
-
-2003-05-12 09:48 cclepper
-
- * initial 'working' version
-
-2003-05-12 09:43 cclepper
-
- * removed unused variables, added registers
-
-2003-05-12 09:37 cclepper
-
- * removed unused variable
-
-2003-05-12 09:36 cclepper
-
- * added vec_dst for dst stream
-
-2003-05-12 09:03 cclepper
-
- * removed pointless macro
-
-2003-05-12 08:59 cclepper
-
- * added 'mode' message to switch between power-of-2 and rectangle
- textures
-
-2003-05-11 14:36 dheck
-
- * Added pix_snap2tex for snapping directly to a texture.
- This may need some experimentation with appropriate pixel formats
- for each platform to achieve good performance.
-
-2003-05-11 06:01 cclepper
-
- * changed the Mac format to GL_BGRA_EXT
-
-2003-05-07 17:24 zmoelnig
-
- * renamed [pix_depot] and fellows to [pix_buffer] et al.
-
-2003-05-07 11:10 zmoelnig
-
- * added a deviceMess for setting which device to use
-
-2003-05-07 11:07 zmoelnig
-
- * set output format to GL_ARGB_EXT on macOS.
- i hope this works, but maybe not
-
-2003-05-07 11:06 zmoelnig
-
- * added alias for [pix_separator]
-
-2003-05-07 11:05 zmoelnig
-
- * first attempt to support my Philips Quickcam (720/40)
-
-2003-05-07 11:03 zmoelnig
-
- * added Grey-Grey support
-
-2003-05-07 10:56 zmoelnig
-
- * there is now an alias for [pix_separator]
-
-2003-05-07 10:55 zmoelnig
-
- * added colourConversion routines to GemPixUtils (for now only
- non-optimized)
- maybe they should rather be in GemPixConvert ?
- datasize is now private
-
-2003-05-07 10:38 zmoelnig
-
- * since datasize in imageStruct is now private, we use setBlack()
- to delete the image-buffer
-
-2003-05-07 10:35 zmoelnig
-
- * used to crash when the data-pointer was zero
-
-2003-05-07 10:19 zmoelnig
-
- * i once uncommented the "realStopRendering" things, because i
- didn't know what it was for.
- trying to compile gem2pdp i noticed that this was needed.
- yes, i don't like it either, when changes are made to the
- repository wihtout documentation
-
-2003-05-07 10:11 zmoelnig
-
- * upgraded to libarticle-1.20
- this effects some of the [part_*] objects (eg: [part_info] now
- has another output for the age of the particle,...)
-
-2003-05-07 10:10 zmoelnig
-
- * upgraded to 1.20
-
-2003-05-07 10:09 zmoelnig
-
- * upgraded to libparticle-1.20
-
-2003-05-07 09:56 zmoelnig
-
- * added some comments (is this enough documentation ?)
-
-2003-05-05 23:58 cclepper
-
- * initial commit - replacement for pix_blur with a much better algo
-
-2003-04-28 21:56 tigital
-
- * switched ordering of variables to appease compiler
-
-2003-04-28 19:46 zmoelnig
-
- * stupid bug when adding to grey images
-
-2003-04-28 18:06 zmoelnig
-
- * examples for user-defined particles
-
-2003-04-28 17:48 zmoelnig
-
- * a not yet working ieee1394-videoIN under linux
-
-2003-04-28 17:44 zmoelnig
-
- * merged pix_texture and pix_texture2 and made rectangle-textures
- work with nvidia
- (hope it works...)
-
-2003-04-28 17:43 zmoelnig
-
- * played with the colour-spaces
-
-2003-04-28 17:41 zmoelnig
-
- * added a method for Gray
-
-2003-04-28 17:40 zmoelnig
-
- * new indentation ;-)
-
-2003-04-28 17:38 zmoelnig
-
- * fixed things with old libaviplay, that doesn't work (since it
- only decodes audio)
-
-2003-04-28 17:34 zmoelnig
-
- * added a comment
-
-2003-04-28 17:33 zmoelnig
-
- * removed unused variables and initialized used ones.
-
-2003-04-28 17:32 zmoelnig
-
- * ifdef'ed GL_UNPACK_CLIENT_STORAGE_APPLE
-
-2003-04-28 17:27 zmoelnig
-
- * added a method for changing the color-space
-
-2003-04-28 17:26 zmoelnig
-
- * *** empty log message ***
-
-2003-04-28 17:25 zmoelnig
-
- * made film-stuff compile with gcc-3.2 without warnings... (hope
- that is all)
-
-2003-04-28 17:24 zmoelnig
-
- * nothing, but made the constructor virtual (since the class is
- virtual too)
-
-2003-04-28 17:22 zmoelnig
-
- * ???
-
-2003-04-28 17:21 zmoelnig
-
- * a new flag "--with-ieee1394" for linux-compiles (doesn't do
- anything yet...)
-
-2003-04-28 17:19 zmoelnig
-
- * cursorMessage should return something. it does so now.
-
-2003-04-28 17:17 zmoelnig
-
- * tried to add the nvidia-specific defines for yuv422 and
- rectangle-texturing
- (however, the yuv-thing still doesn't work)
-
-2003-04-28 17:16 zmoelnig
-
- * (nothing), like dos2unix...
-
-2003-04-28 17:15 zmoelnig
-
- * added the continueRender() function (important to output several
- gemlists (like with [part_render])
- uncommented the stoprender() thing. what is it for ?
-
-2003-04-28 17:13 zmoelnig
-
- * made texture_rectangle_supported work with nvidia...
- found a bug @ parsing the openGL-extension when no openGL-context
- was yet valid
-
-2003-04-28 17:12 zmoelnig
-
- * initialized a variable
-
-2003-04-28 17:10 zmoelnig
-
- * new indentation ;-)
-
-2003-04-28 17:09 zmoelnig
-
- * swapped 2 lines (GLTTBitmapFont and GLTTPixmapFont) because
- gcc-3.2 would complain
-
-2003-04-28 17:08 zmoelnig
-
- * removed unused variables and initialized used ones
-
-2003-04-28 17:07 zmoelnig
-
- * removed some unused variables
-
-2003-04-28 17:06 zmoelnig
-
- * (nothing)
-
-2003-04-28 17:05 zmoelnig
-
- * initialized some values (gcc-3.2 would complain)
-
-2003-04-28 16:21 zmoelnig
-
- * [part_render] let you render any gemlists as particles
- [part_info] is similar, but doesn't actually rotate/translate/...
- the gemlist, but outputs the data on the right outlets
-
-2003-04-28 16:19 zmoelnig
-
- * suddenly i discovered that gcc-3.2 (?) didn't want to compile
- this...
-
-2003-04-22 05:11 cclepper
-
- * added optimizations to YUV and a first try at an altivec function
-
-2003-04-22 03:20 cclepper
-
- * added optimizations to YUV and a first try at an altivec function
-
-2003-04-22 03:18 cclepper
-
- * initial commit
-
-2003-04-14 14:57 zmoelnig
-
- * changed the API a little bit...
-
-2003-04-14 14:56 zmoelnig
-
- * what to say ? making it work
-
-2003-04-14 08:57 zmoelnig
-
- * made an explicit cast from float to integer during the processing
-
-2003-04-14 08:56 zmoelnig
-
- * (refined) RGBA_Gray-support for PixDualObjects
-
-2003-04-14 00:19 dheck
-
- * Made GEM release build include DirectShow support by default.
-
-2003-04-13 23:39 dheck
-
- * Added alias to old external name (interim measure... should
- remove it
- eventually)
-
-2003-04-13 14:42 dheck
-
- * More error checking tweaks
-
-2003-04-12 18:33 cclepper
-
- * fixed the OSX format #ifdef
-
-2003-04-11 10:09 dheck
-
- * Added DirectShow graph exporting for debugging with GraphEdit
-
-2003-04-11 00:28 tigital
-
- * removed unused variables, started work on processYUVimage
-
-2003-04-10 20:13 zmoelnig
-
- * this is BUGGY ? (i think)
-
-2003-04-10 14:53 zmoelnig
-
- * oh i think pix_videoNEW is really buggy.
-
-2003-04-10 08:34 zmoelnig
-
- * added a dos2unix on make distclean
-
-2003-04-10 08:32 zmoelnig
-
- * new startup-logo with more authors
-
-2003-04-10 08:27 zmoelnig
-
- * added #include <string.h>
-
-2003-04-10 08:25 zmoelnig
-
- * though i fixed the linux-Video thing but someone did this for
- me...
- there was a <stdlib.h> missing in pix_dot.cpp
-
-2003-04-10 04:58 dheck
-
- * Fixed problems with previous commit: avoid memory leaks due to
- alternate
- return paths.
-
-2003-04-10 04:49 dheck
-
- * Changed automatic non-const array allocation to heap allocated
- array
- for compiler compatibility.
-
-2003-04-10 04:46 dheck
-
- * Fixed return in void function.
-
-2003-04-09 18:17 cclepper
-
- * added #include <string.h> <stdlib.h>
-
-2003-04-09 08:07 cclepper
-
- * added fps message and outlet
-
-2003-04-09 07:59 cclepper
-
- * changed secondscreen to use a minimum of 640x480
-
-2003-04-09 07:57 cclepper
-
- * added fps message
-
-2003-04-09 07:38 cclepper
-
- * changed speed message to take all float values
-
-2003-04-09 07:01 cclepper
-
- * added the rest of the GL drawing modes
-
-2003-04-09 06:42 cclepper
-
- * new pix_objects
-
-2003-04-09 06:32 cclepper
-
- * added buffer zeroing for YUV textures
-
-2003-04-09 06:31 cclepper
-
- * initial commit
-
-2003-04-09 05:14 cclepper
-
- * initial commit
-
-2003-04-09 05:03 cclepper
-
- * fixed a potential crash
-
-2003-04-09 04:08 cclepper
-
- * initial commit
-
-2003-04-09 04:03 cclepper
-
- * added yuv
-
-2003-04-09 03:59 cclepper
-
- * removed memset
-
-2003-04-09 03:03 cclepper
-
- * added YUV function
-
-2003-04-08 23:35 cclepper
-
- * added fps timing outlet
-
-2003-04-08 23:33 tigital
-
- * removed unused (now) media variable
-
-2003-04-08 23:31 tigital
-
- * removed loadBang so the patches will not crash on OSX: again, OSX
- needs a glContext before making any glCalls!
-
-2003-04-08 23:30 tigital
-
- * cleaned up unused code, including removal of media timescale
- calculation, which could cause crashes, and is not currently
- necessary
-
-2003-04-08 22:22 tigital
-
- * cleaned up unused code, including removal of media timescale
- calculation, which could cause crashes, and is not currently
- necessary
-
-2003-04-08 22:20 tigital
-
- * now it works! RGBA only now, but YUV on it's way...from the
- EffectTV collection
-
-2003-04-08 22:18 tigital
-
- * uncommented pix_dot_setup stuff, because now it works!
-
-2003-04-08 17:06 zmoelnig
-
- * added filmQT4L
-
-2003-04-08 17:04 zmoelnig
-
- * fixed the float2int bug (haven't i submitted this 4 times today
- ?)
-
-2003-04-08 17:03 zmoelnig
-
- * double default argument fixed
-
-2003-04-08 17:02 zmoelnig
-
- * added some casts to integer (warnings on gcc-3.2)
-
-2003-04-08 17:00 zmoelnig
-
- * fixed a bug on close
-
-2003-04-08 17:00 zmoelnig
-
- * added newlines at EOF
-
-2003-04-08 16:58 zmoelnig
-
- * the quicktime4linux movie-loader class
-
-2003-04-08 16:57 zmoelnig
-
- * *** empty log message ***
-
-2003-04-08 16:54 zmoelnig
-
- * the capturing is now threaded
-
-2003-04-08 09:12 zmoelnig
-
- * fixed a bug in the destructor
-
-2003-04-08 08:40 zmoelnig
-
- * can't remember (maybe only some tab-indents)
-
-2003-04-08 08:34 zmoelnig
-
- * added support for other colour-spaces
- (though YUV might produced interlaced signals)
-
-2003-04-08 08:32 zmoelnig
-
- * dos2unix
-
-2003-04-08 08:29 zmoelnig
-
- * just a debugging output
-
-2003-04-08 08:27 zmoelnig
-
- * set the notowned flag to 0 (because we own the rgba-image)
-
-2003-04-08 08:26 zmoelnig
-
- * changed the base class from GemPixObj to GemBase (so we have info
- on every image). maybe this was not a great idea ...( but not
- that bad either)
-
-2003-04-08 08:22 zmoelnig
-
- * the parent class for os/lib dependent video-grabbing (childs
- include videoV4L, hopefully will include video1394, videoDS,
- videoWDM,...)
-
-2003-04-08 08:20 zmoelnig
-
- * nothing i know of
-
-2003-04-08 06:58 cclepper
-
- * added LoadRam()
-
-2003-04-08 06:11 cclepper
-
- * added LoadRam()
-
-2003-04-08 05:43 cclepper
-
- * added LoadRam()
-
-2003-04-08 05:18 tigital
-
- * forgot to remove getFrame() variable duration! Thanks to the
- vigilent cgc
-
-2003-04-08 03:15 cclepper
-
- * put OSX ifdef back in
-
-2003-04-08 03:01 cclepper
-
- * added yuv code
-
-2003-04-08 02:58 cclepper
-
- * new 3x3 yuv code
-
-2003-04-07 12:36 dheck
-
- * Added "clear_mask" method to [gemwin]. Uses with the GLdefine
- object to
- generate GLbitfields for the gemwin's glClear.
-
-2003-04-06 23:06 dheck
-
- * Added a "render" message to gemwin to allow a single graph
- rendering to be
- done. Also changed "frame" message to allow a frame rate of 0.
-
-2003-04-06 19:27 zmoelnig
-
- * GemPixObj: i think there was a bug with not initializing pointers
- the rest is no real changes (only "visiting" the files)
-
-2003-04-06 19:24 zmoelnig
-
- * a threaded class for video capturing under linux
-
-2003-04-06 19:23 zmoelnig
-
- * a "new" concept of how os/library dependant code should look
- like.
- do not make the pd-object-class OS-dependent but a helper class.
-
-2003-04-06 08:06 dheck
-
- * Fixed topmost message implementation for that topmost properly
- would
- be applied to windows created after a previous was destroyed.
-
-2003-04-06 05:58 dheck
-
- * Added topmost message to keep gemwin on top of other windows.
- Implemented for win32 only.
-
-2003-04-06 02:16 tigital
-
- * rearranged initializers to stop compile warnings
-
-2003-04-06 02:14 dheck
-
- * Added VC++ 7 workspace and project.
- Modified pix_filmNT to provide more robust error handling and to
- support
- recent CVS change in pix_film frame loading behaviour
-
-2003-04-04 14:58 ggeiger
-
- * moved orb into Gem
-
-2003-04-04 14:56 ggeiger
-
- * Moved from GemLibs
-
-2003-04-03 15:36 zmoelnig
-
- * changed a type from bool to GLboolean (why ? i guess for vc6)
-
-2003-04-03 15:35 zmoelnig
-
- * set the state->image to zero before rendering
-
-2003-04-03 15:35 zmoelnig
-
- * added a boolean cast (for vc6)
-
-2003-04-03 15:33 zmoelnig
-
- * *** empty log message ***
-
-2003-04-03 15:29 zmoelnig
-
- * some casts to bool (vc6 didn't like it the way it was done)
-
-2003-04-03 15:28 zmoelnig
-
- * allocate() now allocates data according to xsize/ysize/csize
- type is automatically set (depending on OS)
-
-2003-04-03 15:23 zmoelnig
-
- * nothing that matters (just a boolean cast at autoMess)
-
-2003-04-03 15:22 zmoelnig
-
- * really nothing (maybe some blank lines)
-
-2003-04-03 15:21 zmoelnig
-
- * some ifdefs to compile on my version of ffmpeg
-
-2003-04-03 15:20 zmoelnig
-
- * *** empty log message ***
-
-2003-04-03 15:19 zmoelnig
-
- * removed to redundant lines (mainly a label "BREAK")
-
-2003-04-03 15:17 zmoelnig
-
- * [pix_depot] can store images (any size, fixed number) (TODO: add
- a way to load decompress movies directly into [pix_depot]). it is
- like [table]
- [pix_get] gets frames from [pix_depot] (like [tabread])
- [pix_put] writes frames to [pix_depot] (like [tabwrite])
-
-2003-04-01 05:25 tigital
-
- * OSX only: turns out that SampleNumToMediaTime() only worked when
- 1 movie was loaded...switched to a much simpler method of
- calculating m_reqFrame's m_movieTime...which works with at least
- five simultaneously running films!
-
-2003-03-31 16:46 tigital
-
- * OSX only: forgot to set one flag correctly
-
-2003-03-31 06:37 tigital
-
- * OSX only: changed getFrame() for non-auto-processing, so now we
- get much smoother playback using metro/counter, in addition to
- allowing scrubbing/random frame access via a number box! Finally!
-
-2003-03-30 22:09 tigital
-
- * switched order of getFrame() and "m_curFrame = m_reqFrame"...also
- added an idle MoviesTask() on OSX
-
-2003-03-30 22:01 tigital
-
- * fixed OSX crash: needed check for GLcontext before executing
- glGenLists()
-
-2003-03-16 03:25 dheck
-
- * Added pix_videoDS, a DirectShow based video input object for
- Windows
-
-2003-03-15 04:27 cclepper
-
- * removed post() in postrender
-
-2003-03-13 02:37 dheck
-
- * Added pix_chroma_key to the pix setup function and added the
- source files
- to the Visual Studio project.
-
-2003-03-10 09:56 dheck
-
- * Excluded config.h from Windows builds
-
-2003-03-07 23:08 tigital
-
- * added #ifdef for OpenGL/gl.h on OSX
-
-2003-03-07 23:07 tigital
-
- * added #ifdef DEBUG to post() in processYUV_YUV()
-
-2003-03-07 23:05 tigital
-
- * is "Base/config.h" used by anyone anymore? #ifdef'd for linux
- because it was stopping OSX build
-
-2003-03-07 22:57 tigital
-
- * is "Base/config.h" used by anyone anymore? #ifdef'd for linux
- because it was stopping OSX build
-
-2003-03-07 22:55 tigital
-
- * is "Base/config.h" used by anyone anymore?
-
-2003-03-07 17:23 ggeiger
-
- * fixed avcodec check bug
-
-2003-03-07 16:43 ggeiger
-
- * added FFMPEG library checks
-
-2003-03-07 16:41 ggeiger
-
- * checked in int/unfolded pix operations
-
-2003-03-07 16:40 ggeiger
-
- * remove MMX routines
-
-2003-03-07 16:40 ggeiger
-
- * added HAVE_LIBAVCODEC,HAVE_LIBAVFORMAT
-
-2003-03-07 16:37 ggeiger
-
- * added pix_filmFFMPEG setup
-
-2003-03-07 16:29 ggeiger
-
- * added new FFMPEG version of pix_film
-
-2003-03-07 09:58 ggeiger
-
- * removed search for particle and glm
-
-2003-03-07 09:57 ggeiger
-
- * particle and glm are in Gem now
-
-2003-03-07 09:55 ggeiger
-
- * included particle library stuff
-
-2003-03-07 09:47 ggeiger
-
- * moved glm.c into model_loader.cpp
-
-2003-03-07 09:43 ggeiger
-
- * config.h will be autogenerated from config.in
-
-2003-03-07 05:23 cclepper
-
- * added quality modes
-
-2003-03-07 04:28 cclepper
-
- * added quality modes
-
-2003-03-06 23:30 cclepper
-
- * added secondscreen message to enable/disable fullscreen on a 2nd
- display
-
-2003-03-06 22:45 cclepper
-
- * added secondscreen message to enable/disable fullscreen on a 2nd
- display
-
-2003-03-06 22:38 cclepper
-
- * added secondscreen message to enable/disable fullscreen on a 2nd
- display
-
-2003-03-06 17:26 zmoelnig
-
- * ???
-
-2003-03-06 17:25 zmoelnig
-
- * changed text-object, so they can be disabled...
-
-2003-03-06 17:24 zmoelnig
-
- * bugfixed separator
-
-2003-03-06 17:24 zmoelnig
-
- * some bug-fixes; esp [pix_buf]
-
-2003-03-06 17:22 zmoelnig
-
- * checked in Makefile again...
-
-2003-03-06 17:19 zmoelnig
-
- * updated configure....
-
-2003-03-03 22:44 dheck
-
- * Reverted GL_BGR[A] to GL_BGR[A]_EXT to allow compilation on
- Windows (openGL 1.1)
-
-2003-03-03 17:00 zmoelnig
-
- * pix_crop takes sub-images of images
-
-2003-03-03 16:59 zmoelnig
-
- * the object file for venus was missing...
-
-2003-03-01 18:16 zmoelnig
-
- * fixed a bug with SYSTEMDOCS and made pd/extra the default
- installation-dir (not pd/externs)
-
-2003-03-01 10:18 zmoelnig
-
- * added avifile support
-
-2003-03-01 10:18 zmoelnig
-
- * added AVIPLAY (for linux) and (not yet functioning) GLTT defines
-
-2003-03-01 10:16 zmoelnig
-
- * somehow these were not properly updated ...
-
-2003-03-01 10:10 zmoelnig
-
- * added libavifile-support under linux
-
-2003-03-01 08:29 cclepper
-
- * added yuv and optimizations
-
-2003-02-28 10:00 ggeiger
-
- * changed "for (int i=0; ..)" scoping
-
-2003-02-28 07:17 cclepper
-
- * added VBLsync for OSX
-
-2003-02-27 04:25 cclepper
-
- * initial commit
-
-2003-02-27 04:22 cclepper
-
- * added altivec function
-
-2003-02-27 01:09 dheck
-
- * Added 31 bytes to imageStruct buffer allocation to allow
- realignment
- without causing buffer overruns.
-
-2003-02-26 04:05 dheck
-
- * Incorporated source structure changes in CVS (TV->pix) and new
- source files
-
-2003-02-26 04:02 dheck
-
- * Updated Visual Studio project and workspace to build current CVS
- source.
-
-2003-02-26 03:59 dheck
-
- * Fixed Win32 compilation issues.
-
-2003-02-26 01:11 tigital
-
- * reordered member initializers to "...datasize(0),pdata(0)..." to
- remove gcc 3.1 warnings
-
-2003-02-26 00:30 tigital
-
- * added *_setup() for objects from tv_* to pix_*
-
-2003-02-26 00:29 tigital
-
- * moved from tv_* to pix_*
-
-2003-02-24 18:53 zmoelnig
-
- * updated a link
-
-2003-02-24 18:41 zmoelnig
-
- * now the alpha-blending function can be set by hand:
- 0 .. GL_ONE_MINUS_SRC_ALPHA
- 1 .. GL_ONE
-
-2003-02-24 18:40 zmoelnig
-
- * polygon_smooth enables GL-polygon-smoothing (like it has been
- proposed by the mac-people)
-
-2003-02-24 13:12 zmoelnig
-
- * removing TV
-
-2003-02-24 13:10 zmoelnig
-
- * removed TV-class
-
-2003-02-24 13:09 zmoelnig
-
- * removing TV-class
-
-2003-02-24 12:47 zmoelnig
-
- * *** empty log message ***
-
-2003-02-24 12:44 zmoelnig
-
- * another IIR-filter (time-domain) for pixes: very much like
- [pix_blur] and [pix_biquad], but more flexible
-
-2003-02-24 11:45 zmoelnig
-
- * removed the default width/height from the constructor (this is
- done in the cpp-file)
-
-2003-02-24 11:40 zmoelnig
-
- * added a reallocate() message to imageStruct.
- This does only allocate memory, if the previous buffer is smaller
- than the needed one.
- there is a "int datasize" that describes the length of the
- buffer.
-
-2003-02-19 20:28 zmoelnig
-
- * updated the README.build (for the new configure)
-
-2003-02-19 18:41 zmoelnig
-
- * This commit was generated by cvs2svn to compensate for changes in
- r139,
- which included commits to RCS files with non-trunk default
- branches.
-
-2003-02-19 18:25 zmoelnig
-
- * GLdefines maps symbols (like GL_FLAT) to corresponding floats
- (like 7424)
-
-2003-02-19 18:23 zmoelnig
-
- * undef'ed the MacOS-specific Carbon-include
-
-2003-02-19 18:17 zmoelnig
-
- * redefined _GL_UNDEFINED to -1 (instead of -10)
-
-2003-02-17 08:18 cclepper
-
- * added YUV
-
-2003-02-15 04:44 cclepper
-
- * added altivec function
-
-2003-02-15 04:16 cclepper
-
- * added altivec function
-
-2003-02-15 04:11 cclepper
-
- * added pix_mix
-
-2003-02-14 03:55 tigital
-
- * - doesn't require textures now ;-)
- - added glBlend message
-
-2003-02-14 03:53 tigital
-
- * - doesn't require textures now ;-)
- - finally centered!
-
-2003-02-10 02:24 cclepper
-
- * added Altivec cache function
-
-2003-02-10 02:13 cclepper
-
- * hq for DV added
-
-2003-02-10 00:18 tigital
-
- * example patch for [ripple] controls
-
-2003-02-10 00:17 tigital
-
- * example patch for [newWave] controls
-
-2003-02-10 00:14 tigital
-
- * changed gl setup calls to float (from integer): they should all
- be one or the other, right?
-
-2003-02-10 00:12 tigital
-
- * added setup for ripple, rubber, and slideSquares
-
-2003-02-10 00:10 tigital
-
- * rubber: bang "grabs" image, x/y input the can pull/distort image,
- 2nd bang releases image, which rebounds back to flat
-
-2003-02-10 00:08 tigital
-
- * slideSquare: creates a field of squares which reaveal texture
- while moving left to right
-
-2003-02-10 00:07 tigital
-
- * ripple: bang to inlet causes image rippling, center of ripple is
- movable via x and y input: see example/07.texture/
-
-2003-02-09 23:53 tigital
-
- * now has controls for size, speed, and mode; currently only works
- with [pix_texture]; also requires rotateXYZ, scale, transposeXYZ
- for centering (see example/texture)
-
-2003-02-09 22:21 tigital
-
- * added glBlend
-
-2003-02-09 22:20 tigital
-
- * removed redundant m_linewidth call; added glBlend
-
-2003-02-09 22:18 tigital
-
- * removed redundant m_linewidth call
-
-2003-02-08 05:57 cclepper
-
- * added altivec code
-
-2003-02-06 22:38 tigital
-
- * updated to current "IMAGE_CLASS" memory functions (ie.
- buffer.clear() & buffer.allocate( dataSize)
-
-2003-02-06 22:36 tigital
-
- * added tv_delay_setup
-
-2003-02-06 04:55 cclepper
-
- * added blending
-
-2003-02-06 01:20 tigital
-
- * cleanup
-
-2003-02-06 01:17 tigital
-
- * removed HAVE_LIBGLUT for MACOSX
-
-2003-02-05 08:55 cclepper
-
- * added pix_blur
-
-2003-02-05 08:41 cclepper
-
- * improved quicktime performance and DV quality
-
-2003-02-05 08:13 cclepper
-
- * added pix_blur
-
-2003-02-05 08:01 cclepper
-
- * optimized pix_gain RGBA code
-
-2003-02-04 04:46 cclepper
-
- * added missing yuv objects
-
-2003-02-04 00:32 zmoelnig
-
- * added optimization to the Makefiles: "-O3 -funroll-loops
- -ffast-math"
-
-2003-02-04 00:16 zmoelnig
-
- * changed the behaviour of $(CXXFLAGS): you can now set CXXFLAGS
- via the command-line and it it added to the c++-flags $(cxxflags)
-
-2003-02-03 16:55 zmoelnig
-
- * changed the identifier for the list-ID from "list" to "gllist",
- because pd would complain about this ("list" is reserved for
- pd-lists)
-
-2003-02-03 16:47 zmoelnig
-
- * added this README, so you know what the openGL-stuff is about...
-
-2003-02-03 16:45 zmoelnig
-
- * *** empty log message ***
-
-2003-02-03 16:43 zmoelnig
-
- * because of the new configure, some ifdef's have changed there
- names (HAVE_MPEG becomes HAVE_LIBMPEG etc)
-
-2003-02-03 16:42 zmoelnig
-
- * added the anything2grey converter
-
-2003-02-03 16:40 zmoelnig
-
- * added the openGL-stuff
-
-2003-02-03 16:40 zmoelnig
-
- * there are new ifdef's because of the new configure
- spit out a warning when compiled without GLUT (is this new ?)
-
-2003-02-03 16:37 zmoelnig
-
- * added an "m_modified" flag. this might double some code, but it
- was surely quickto do
-
-2003-02-03 16:34 zmoelnig
-
- * rewrote the configure-thing
- hopefully it works now...
-
-2003-02-03 16:32 zmoelnig
-
- * rewrote the configure-thing
- hopefully it will work now...
-
-2003-02-03 16:29 zmoelnig
-
- * added openGL-wrapper objects (mainly openGL-1.1)
-
-2003-02-03 16:27 zmoelnig
-
- * rewrote (regenerated) the openGL-wrapping stuff
-
-2003-01-29 08:59 cclepper
-
- * added yuv processing
-
-2003-01-29 08:02 cclepper
-
- * added yuv processing
-
-2003-01-26 04:39 tigital
-
- * fixed bug which prevented non-powerOfTwo textures from texturing
- correctly (m_coords are now set and passed into state->texCoords)
-
-2003-01-26 04:15 cclepper
-
- * fixed YUV code in pix_gain
-
-2003-01-25 23:55 cclepper
-
- * changed the color channel order for OSX
-
-2003-01-25 22:38 cclepper
-
- * fixed/added some yuv stuff
-
-2003-01-25 20:34 cclepper
-
- * test for yuv update
-
-2003-01-13 14:50 tigital
-
- * added gl.h & glext.h to allow compile on OS X
-
-2003-01-09 22:40 tigital
-
- * made s_windowClock=NULL on DestroyWindow to address possible
- memory leak
-
-2003-01-09 19:26 zmoelnig
-
- * *** empty log message ***
-
-2003-01-09 19:25 zmoelnig
-
- * added movement_detection videoRTX
-
-2003-01-07 18:59 zmoelnig
-
- * added some examples for 04.pix; they were missing?
-
-2002-12-16 17:59 zmoelnig
-
- * yuv_*: (think) i changed these to the new process*Image()
- functions
-
-2002-12-16 17:54 zmoelnig
-
- * pix_info: get information on pixes (xsize, ysize, csize, format,
- data)
- pix_yuv : convert images to YUV (for now only RGBA); needs
- testing
- pix_rgba: provides a function for YUV; needs testing
- * : new process*Image() functions for RGBA, YUV,...
-
-2002-12-16 17:40 zmoelnig
-
- * teapot: if !HAVE_GLUT we still support [teapot], only the
- rendering is void
- text2d: the mac-#ifdefs didn't compile on linux, so i fixed them
-
-2002-12-16 17:36 zmoelnig
-
- * GemPix*Obj: hopefully fixed the bug that appeared when deleting
- pix_fx
- now we cache the whole pixBuf-structure and return it on
- postrendering
- GemPixUtil: now provides a function for copying
- imageStruct-information
- GemGlutObj: if !HAVE_GLUT, we only throw an error at
- object-creation
-
-2002-12-14 04:43 tigital
-
- * corrected rangeMess inputs
-
-2002-12-14 04:40 tigital
-
- * fixed a coupla possible leaks
-
-2002-12-14 04:38 tigital
-
- * added processYUVImage(), so it works with yuv now!
-
-2002-12-12 07:30 tigital
-
- * added yuv video input for MacOSX; cleanup unused variables
-
-2002-12-12 07:27 tigital
-
- * cleanup unused variables
-
-2002-12-10 05:55 tigital
-
- * removed unused variable "count"
-
-2002-12-10 05:53 tigital
-
- * added MACOSX support
-
-2002-12-09 11:36 zmoelnig
-
- * rewrote the <processImage>-callers.
- processImage is now used for images of any(!) format.
- thus the programmer has to care for the format him/herself
- the format specific functions are processImageRGBA and similar
- the same goes for PixDualObjects (processRGBA_Gray etc...)
- deleted pix_fx
- the pix_fx functionality is now in GemPixObj
- this functionality is: save the image-state before it is
- processed
- and reconstruct it in the postrender function
- so we can change size/format and even bend the data-pointer
- and objects "before" will not notice (and crash)
- revised 3 openGL objects (urgh: lots of work to do still)
-
-2002-12-08 21:43 tigital
-
- * added support for MACOSX
-
-2002-12-08 21:39 tigital
-
- * reordered variables to shutup gcc3.1
-
-2002-12-08 20:10 zmoelnig
-
- * added framewise delay!
-
-2002-12-04 05:19 tigital
-
- * GL_EXTENSIONS formatting same for all platforms
-
-2002-12-02 17:14 zmoelnig
-
- * new image-processing calls (processRGBAImage)
-
-2002-11-27 20:22 zmoelnig
-
- * a new (simpler?) setup-logistic
-
-2002-11-27 20:20 zmoelnig
-
- * *** empty log message ***
-
-2002-11-27 20:09 zmoelnig
-
- * added a lot of openGL stuff...
-
-2002-11-27 20:04 zmoelnig
-
- * made CVS compile under linux again
-
-2002-11-27 20:01 zmoelnig
-
- * made the CVS compile under linux again
-
-2002-11-27 01:28 tigital
-
- * *** empty log message ***
-
-2002-11-27 01:21 tigital
-
- * added MACOSX support; initial YUV support
-
-2002-11-27 01:10 tigital
-
- * added MACOSX support; initial YUV support
-
-2002-11-27 01:00 tigital
-
- * removed unused variables
-
-2002-11-27 00:59 tigital
-
- * added MACOSX support; initial YUV support
-
-2002-11-27 00:05 tigital
-
- * added MACOSX support; initial YUV support
-
-2002-11-26 23:15 tigital
-
- * added MACOSX support
-
-2002-11-26 23:15 tigital
-
- * removed unused variable
-
-2002-11-26 23:11 tigital
-
- * added MACOSX support; initial YUV support
-
-2002-11-26 23:09 tigital
-
- * reordered variable to shut up gcc 3.1
-
-2002-11-26 23:08 tigital
-
- * added MACOSX & YUV support
-
-2002-11-26 23:07 tigital
-
- * added MACOSX support; cleaned up unused variables
-
-2002-11-26 23:05 tigital
-
- * added for MACOSX; initial YUV support
-
-2002-11-26 23:04 tigital
-
- * added MACOSX; initial YUV support
-
-2002-11-26 23:03 tigital
-
- * added MACOSX
-
-2002-11-26 19:57 tigital
-
- * added MACOSX, YUV support via #ifdef's
-
-2002-11-25 15:28 tigital
-
- * standardized to processDualGray() & processDualYUV()
-
-2002-11-25 15:23 tigital
-
- * standardized to processDualGray() & processDualYUV()
-
-2002-11-25 15:02 tigital
-
- * added MACOSX support
-
-2002-11-25 14:58 tigital
-
- * added MACOSX support; processYUVImage()
-
-2002-11-25 06:02 tigital
-
- * added MACOSX support
-
-2002-11-25 06:01 tigital
-
- * initial contribution
-
-2002-11-24 17:49 tigital
-
- * added MACOSX support
-
-2002-11-24 01:47 tigital
-
- * added MACOSX support
-
-2002-11-24 01:45 tigital
-
- * initial commit
-
-2002-11-24 01:43 tigital
-
- * initial commit
-
-2002-11-24 01:40 tigital
-
- * add support for MACOSX
-
-2002-11-24 01:15 tigital
-
- * add support for MACOSX
-
-2002-11-24 01:12 tigital
-
- * added support for MACOSX
-
-2002-11-24 01:07 tigital
-
- * added support for MACOSX and YUV processing
-
-2002-11-24 01:01 tigital
-
- * added support for YUV processing
-
-2002-11-24 00:58 tigital
-
- * add MACOSX specific changes
-
-2002-11-05 18:12 zmoelnig
-
- * *** empty log message ***
-
-2002-11-05 15:32 zmoelnig
-
- * Makefiles should be distclean on CVS ...?
-
-2002-11-04 17:12 zmoelnig
-
- * added erich's [cuboid] object, so he doesn't have to worry any
- more...
-
-2002-11-04 16:28 zmoelnig
-
- * don't remember: added some example-patches i had forgotten before
- fixed the pix_subtract bug (which nobody had reported yet)
-
-2002-11-04 16:22 zmoelnig
-
- * oops, last checkin i forgot some things....
- ok: applied guenter's MMX changes to pix_*
-
-2002-11-04 16:21 zmoelnig
-
- * applied guenter's MMX changes to some pix things (?)
-
-2002-10-28 15:25 zmoelnig
-
- * - edited some example-patches (very minor changes)
- - rewrote the render-chain mechanism: now the render-chain is not
- built statically when the rendering is started
- but dynamically (each gem.object is "banged" (with some gem_state
- pointers) at run-time
- gosh: why do we have a message-system in pd, if it is not used ?
- - the priority of the [gemhead]s can now be changed dynamically
-
-2002-10-21 09:29 zmoelnig
-
- * applied Daniel Heckenberg's patch for DualPix-Objects
-
-2002-10-21 08:35 zmoelnig
-
- * fixed the install-things
-
-2002-10-21 07:45 zmoelnig
-
- * This commit was generated by cvs2svn to compensate for changes in
- r4,
- which included commits to RCS files with non-trunk default
- branches.
-
+2011-08-26 14:17 zmoelnig
+
+ * .: 0.93 release
+
+2011-08-26 14:07 zmoelnig
+
+ * don't link core Gem against QuickTime4W32
+
+2011-08-26 13:40 zmoelnig
+
+ * no more warning on imageQT vs imageMAGICK
+
+2011-08-26 09:54 zmoelnig
+
+ * use "SVN" rather than "CVS"
+
+2011-08-26 09:54 zmoelnig
+
+ * disable installer by default
+
+2011-08-26 09:47 zmoelnig
+
+ * catch ALL for exceptions
+
+2011-08-26 09:47 zmoelnig
+
+ * only show used id's as available
+
+2011-08-26 09:45 zmoelnig
+
+ * try to not break the incoming "const" filename
+
+2011-08-26 08:43 zmoelnig
+
+ * fixed compilation on msvc
+
+2011-08-25 16:04 zmoelnig
+
+ * initialize QuickTime in the plugins
+
+2011-08-25 16:04 zmoelnig
+
+ * removed uncommented lines of code
+
+2011-08-25 15:21 zmoelnig
+
+ * quicktime is initialized in the plugins; no need to do it here
+
+2011-08-25 14:59 zmoelnig
+
+ * don't install *Base.h headers
+
+2011-08-25 14:47 zmoelnig
+
+ * no more src/plugins/image.h
+
+2011-08-22 10:29 zmoelnig
+
+ * clean up of GemSettings
+
+ no more PIMPL since we don't expose the class itself
+
+2011-08-22 10:28 zmoelnig
+
+ * removed output of STRIP from configure
+
+2011-08-19 08:19 zmoelnig
+
+ * pixBlock is really a "struct" and not a "class"
+
+ this fixes some weirdo bugs on w32
+
+2011-08-19 08:16 zmoelnig
+
+ * ()->(void)
+
+2011-08-16 20:42 zmoelnig
+
+ * use CLAMP_TO_EDGE if available
+
+2011-08-16 16:28 zmoelnig
+
+ * fixed typos
+
+2011-08-16 16:11 zmoelnig
+
+ * added on/off messages to light-help
+
+2011-08-16 16:06 zmoelnig
+
+ * fixed typo
+
+2011-08-16 15:43 zmoelnig
+
+ * made testure.{quality,repeat} settable via gem.conf
+
+2011-08-16 12:37 zmoelnig
+
+ * normalized behaviour of [pix_movement] in all colorspaces
+
+2011-08-16 10:17 zmoelnig
+
+ * include Gem/Properties if we want to use them
+
+2011-08-16 07:41 zmoelnig
+
+ * removed configureflags hacks; added LIBTOOL_W32_DLL
+
+2011-08-16 07:40 zmoelnig
+
+ * removed /debian directory
+
+ it's maintained somewhere else
+
+2011-08-15 14:12 zmoelnig
+
+ * updated M$VC build project
+
+2011-08-15 14:10 zmoelnig
+
+ * made it compile on w32 again
+
+2011-08-15 13:59 zmoelnig
+
+ * fixed w32 build
+
+2011-08-15 13:06 zmoelnig
+
+ * implement isThreadable
+
+2011-08-15 13:06 zmoelnig
+
+ * implement gem::plugins::imagesaver::getInstance()
+
+2011-08-15 13:05 zmoelnig
+
+ * moved meta imageloader class implementation to imageloader.cpp
+
+ imageloader::getInstance() now returns a valid instance that
+ wraps all classes
+
+2011-08-15 13:05 zmoelnig
+
+ * removed INIT_fooFACTORY() macro
+
+ it's only used once, so we can simply use it directly
+
+2011-08-15 13:04 zmoelnig
+
+ * removed unneeded imageStruct
+
+2011-08-15 13:03 zmoelnig
+
+ * normalized copyright headers
+
+ fixed dates (....-2011) and made everything UTF-8
+
+2011-08-15 12:36 zmoelnig
+
+ * fixed dates in copyrights
+
+2011-08-15 12:33 zmoelnig
+
+ * when including a plugin-file, the includer has to make sure that
+ the needed headers are available
+
+2011-08-15 12:33 zmoelnig
+
+ * adjust to new API of film-plugins
+
+2011-08-15 12:32 zmoelnig
+
+ * try to not use gensym() for factory
+
+ and thus remove inclusion of RTE.h
+
+2011-08-15 12:32 zmoelnig
+
+ * no need to include stdlib.h
+
+2011-08-15 12:31 zmoelnig
+
+ * adjusted to new simplified API (and manually include RTE)
+
+2011-08-15 12:30 zmoelnig
+
+ * adjust to new simplified API
+
+2011-08-15 12:29 zmoelnig
+
+ * simplified API by using properties
+
+2011-08-15 12:29 zmoelnig
+
+ * no more macro for PluginFactory<film> creation
+
+2011-08-14 13:12 zmoelnig
+
+ * more gracefully fail when removing symlinks
+
+2011-08-12 13:48 zmoelnig
+
+ * replaced () by (void)
+
+2011-08-12 13:47 zmoelnig
+
+ * implement atomlist->Symbol
+
+2011-08-12 13:10 zmoelnig
+
+ * inclusion magic for TemplateImplementation
+
+2011-08-12 12:58 zmoelnig
+
+ * normalized INCLUDE protection defines
+
+2011-08-12 12:55 zmoelnig
+
+ * normalized define for inclusion protection
+
+2011-08-11 08:30 zmoelnig
+
+ * added argument support for [pix_video]: use as device name
+
+2011-08-11 08:30 zmoelnig
+
+ * made gem::RTE::Symbol work (at least on linux)
+
+2011-08-11 08:30 zmoelnig
+
+ * added Symbol wrapper
+
+2011-08-11 08:29 zmoelnig
+
+ * added runningState UNKNOWN
+
+ so the device won't start automatically whenever you send a
+ device message
+ (even if rendering has not been turned on)
+
+2011-08-10 07:19 zmoelnig
+
+ * fix 'enumProps' message
+
+2011-08-08 15:27 zmoelnig
+
+ * fixed video::releaseFrame() -> videoBase::releaseFrame()
+
+2011-08-08 14:33 zmoelnig
+
+ * added videoTEST to build system (but don't build it by default)
+
+2011-08-08 14:33 zmoelnig
+
+ * videoTEST plugin for test images
+
+2011-08-08 14:32 zmoelnig
+
+ * add virtual dtors; reorder methods
+
+2011-08-08 14:32 zmoelnig
+
+ * adjust to imageloader/imagesaver split into
+ interface/implementation
+
+2011-08-08 14:29 zmoelnig
+
+ * split imageloader/imagesaver into interface/baseclass
+
+2011-08-08 14:28 zmoelnig
+
+ * adapted to "film" -> "film"|"filmBase" split
+
+2011-08-08 14:27 zmoelnig
+
+ * use gem::film::ERRCODE rather than FILM_ERR_ERRCODE
+
+2011-08-08 14:26 zmoelnig
+
+ * split pluginclass "film" into "film" (interface) and "filmBase"
+ (impl)
+
+2011-08-08 14:26 zmoelnig
+
+ * include "Gem/RTE.h" as REGISTER_*FACTORY currently depend on
+ "gensym()"
+
+2011-08-08 14:25 zmoelnig
+
+ * adapt to video -> video|videoBase split
+
+2011-08-08 14:24 zmoelnig
+
+ * split 'video' pluginclass into 'video' interface and 'videoBase'
+ implementation
+
+2011-08-08 14:23 zmoelnig
+
+ * use (void) rather than ()
+
+2011-08-08 14:23 zmoelnig
+
+ * adapted to record -> record/recordBase split
+
+2011-08-08 14:22 zmoelnig
+
+ * 'plugins/record.h' no longer provides std::map and PluginFactory
+
+2011-08-08 14:21 zmoelnig
+
+ * split 'record' class into interface and baseclass
+
+2011-08-08 14:21 zmoelnig
+
+ * removed unneeded scritps
+
+2011-08-08 14:20 zmoelnig
+
+ * removed #if clause for testing
+
+2011-08-05 17:36 zmoelnig
+
+ * more comments in installer
+
+2011-08-05 17:17 zmoelnig
+
+ * make imageQT only optional
+
+2011-08-05 16:06 zmoelnig
+
+ * prefix PATH when loadingplugins, as on w32 it disappears...
+
+2011-08-05 15:15 zmoelnig
+
+ * updated project
+
+2011-08-05 15:07 zmoelnig
+
+ * remove Gem/dev
+
+2011-08-05 14:56 zmoelnig
+
+ * made it compile on M$VC
+
+2011-08-05 14:51 zmoelnig
+
+ * made the ReleaseDummy compile on MSVC
+
+2011-08-05 14:51 zmoelnig
+
+ * removed PYLON from installer (it's currently not built on w32)
+
+2011-08-05 14:44 zmoelnig
+
+ * removed AVTec plugin (it's currently not build on w32)
+
+2011-08-05 14:38 zmoelnig
+
+ * fix path to extra/ builds
+
+2011-08-05 14:37 zmoelnig
+
+ * made it work correctly on w32
+
+2011-08-05 14:05 zmoelnig
+
+ * fixes for M$VC
+
+2011-08-05 14:01 zmoelnig
+
+ * made it compile on w32
+
+2011-08-05 13:52 zmoelnig
+
+ * reduce compiler warnings
+
+2011-08-05 13:44 zmoelnig
+
+ * removed last dynamically assigned arrays (now it compiles on
+ msvc)
+
+2011-08-05 12:38 zmoelnig
+
+ * use SHCTX rather than HCKU, so later we can install to HKLM
+
+2011-08-05 12:37 zmoelnig
+
+ * added Dev section
+
+2011-08-04 11:03 zmoelnig
+
+ * adjust install layout to match that of automake
+
+2011-08-04 11:03 zmoelnig
+
+ * renamed tri2fan.geo to tri2fan.geom
+
+2011-08-04 11:03 zmoelnig
+
+ * uninstall now uninstalls everything
+
+2011-08-04 11:02 zmoelnig
+
+ * renamed geometry shader to .geom
+
+2011-08-04 11:02 zmoelnig
+
+ * update w32-installer adding extra/
+
+2011-08-02 07:42 zmoelnig
+
+ * always succeed when creating convenience links
+
+2011-07-30 15:31 zmoelnig
+
+ * include GLEW flags
+
+2011-07-30 15:31 zmoelnig
+
+ * more m4 escaping
+
+2011-07-30 15:30 zmoelnig
+
+ * documentation of GEM_CHECK_LIB
+
+2011-07-27 12:28 zmoelnig
+
+ * made it compile on OSX again
+
+2011-07-27 12:06 zmoelnig
+
+ * code cleanup; implement copy constructors; initialize members,...
+
+2011-07-27 12:05 zmoelnig
+
+ * code cleanup; implement copy constructors; initialize members,...
+
+2011-07-27 12:04 zmoelnig
+
+ * code cleanup; implement copy constructors; initialize members,...
+
+2011-07-27 11:58 zmoelnig
+
+ * code cleanup; implement copy constructors; initialize members,...
+
+2011-07-27 11:54 zmoelnig
+
+ * fixing MinGW troubles with max()
+
+2011-07-27 11:34 zmoelnig
+
+ * 'string' type is really only 'char'
+
+2011-07-27 11:25 zmoelnig
+
+ * updated to newer frei0r specs
+
+2011-07-26 19:01 zmoelnig
+
+ * made it compile on mingw
+
+2011-07-26 18:50 zmoelnig
+
+ * shuffled includes
+
+2011-07-26 18:29 zmoelnig
+
+ * remove videoAVT dupe
+
+2011-07-26 18:28 zmoelnig
+
+ * some initialization
+
+2011-07-26 17:28 zmoelnig
+
+ * properly initialize variables
+
+2011-07-26 16:35 zmoelnig
+
+ * NULL pointer check
+
+2011-07-26 15:58 zmoelnig
+
+ * numeric device selection
+
+2011-07-26 15:37 zmoelnig
+
+ * less error decoration
+
+2011-07-26 15:33 zmoelnig
+
+ * minor fixes (out-of-range error)
+
+2011-07-26 15:03 zmoelnig
+
+ * made it compile again
+
+2011-07-26 14:51 zmoelnig
+
+ * added more plugins
+
+2011-07-26 14:09 zmoelnig
+
+ * renamed MSVC-projects gem->Gem
+
+2011-07-26 13:42 zmoelnig
+
+ * install deprecated headers
+
+2011-07-26 13:25 zmoelnig
+
+ * more Dylib stuff
+
+ maybe at somepoint i'll have it fixed
+
+2011-07-26 08:33 zmoelnig
+
+ * pkg-config support
+
+2011-07-26 07:47 zmoelnig
+
+ * more Dylib fixes
+
+2011-07-26 07:47 zmoelnig
+
+ * some more mimetypes for apple specific image formats
+
+2011-07-25 15:29 zmoelnig
+
+ * proper initialization
+
+2011-07-25 15:28 zmoelnig
+
+ * made it compile on OSX again
+
+2011-07-25 15:20 zmoelnig
+
+ * code cleanup - preparing for w32 comaptibility
+
+2011-07-25 13:38 zmoelnig
+
+ * moved stack-allocated arrays onto heap
+
+ this should allow pix_mano to compile on MSVC
+ and it should reduce the number of allocations drastically
+ (speed)
+
+2011-07-25 11:31 zmoelnig
+
+ * no more inclusion of m_pd.h in GemWinCreate.h
+
+2011-07-25 11:28 zmoelnig
+
+ * use linux||GLX rather than unix for GLX specific code
+
+2011-07-25 11:14 zmoelnig
+
+ * made runproc() compile on w32
+
+
+ CHECK on other platforms
+
+2011-07-25 11:13 zmoelnig
+
+ * allow glx on non-linux
+
+2011-07-25 11:10 zmoelnig
+
+ * GemGlewXContext=void fallback for all but w32 and linux/glx
+
+2011-07-25 10:53 zmoelnig
+
+ * replaced AX_LANG_COMPILER_MS by AX_COMPILER_VENDOR
+
+ and provide the latter
+
+2011-07-24 13:31 zmoelnig
+
+ * simplified Dylib's function_t typename
+
+2011-07-23 13:52 zmoelnig
+
+ * added M$VC stub for imageSGI
+
+2011-07-23 13:51 zmoelnig
+
+ * added M$VC project files to DIST
+
+2011-07-23 13:48 zmoelnig
+
+ * dylib fixes
+
+ mingw complains about not being able to cast (void*) to a
+ function pointer
+ .
+ also we might want to support both DL_OPEN and w32's LoadLibrary
+ mechanisms
+ at the same time...there is really no reason not to
+
+2011-07-22 14:46 zmoelnig
+
+ * include imageMAGICK
+
+2011-07-22 14:45 zmoelnig
+
+ * using stdlibraries, imageMAGICK now works!
+
+2011-07-22 14:40 zmoelnig
+
+ * almost working project
+
+ hmm, unresolved symbols "__timezone" and "__daylight", wtf...
+
+2011-07-22 13:55 zmoelnig
+
+ * imageMAGICK M$VC stub
+
+2011-07-22 13:02 zmoelnig
+
+ * renamed 'gem' to 'Gem'
+
+2011-07-22 12:53 zmoelnig
+
+ * got rid of one ifdef clause
+
+2011-07-22 12:52 zmoelnig
+
+ * added image-plugins to master project
+
+2011-07-22 12:51 zmoelnig
+
+ * imageTIFF vc project
+
+2011-07-22 12:48 zmoelnig
+
+ * ignore default libraries
+
+2011-07-22 12:46 zmoelnig
+
+ * fixed linebreak
+
+2011-07-22 12:41 zmoelnig
+
+ * stub projects for MSVC
+
+2011-07-22 12:29 zmoelnig
+
+ * code cleanup
+
+2011-07-22 11:57 zmoelnig
+
+ * removed unneccessary code
+
+2011-07-22 11:56 zmoelnig
+
+ * removed unneccessary code
+
+2011-07-22 11:56 zmoelnig
+
+ * added libfidtrack files
+
+2011-07-22 11:49 zmoelnig
+
+ * M$VC stubs for pix_fiducialtrack
+
+2011-07-22 11:48 zmoelnig
+
+ * M$VC projects for pix_mano
+
+2011-07-22 11:46 zmoelnig
+
+ * export class
+
+2011-07-22 11:45 zmoelnig
+
+ * made it compile on w32
+
+2011-07-22 11:33 zmoelnig
+
+ * pix_drum M$VC project
+
+2011-07-22 11:24 zmoelnig
+
+ * no more "debug" targets for the plugins
+
+2011-07-22 11:23 zmoelnig
+
+ * made plugins compile on w32
+
+2011-07-22 10:51 zmoelnig
+
+ * reset include/library paths
+
+ in a semi-automated way...
+
+2011-07-22 10:07 zmoelnig
+
+ * removed Debug configuration from M$VC projects
+
+2011-07-22 09:53 zmoelnig
+
+ * simplified and fixed some more M$VC warnings
+
+2011-07-22 09:02 zmoelnig
+
+ * fix or suppress warnings in M$VC
+
+2011-07-22 09:01 zmoelnig
+
+ * typo where a function would not return a value in all cases
+
+2011-07-22 09:00 zmoelnig
+
+ * suppress warnings on M$VC when including m_pd.h
+
+2011-07-22 08:58 zmoelnig
+
+ * added warning about auto_ptr<PIMPL>
+
+2011-07-22 08:47 zmoelnig
+
+ * use "unsigned int" when comparing to "unsigned int"
+
+2011-07-22 08:46 zmoelnig
+
+ * disable more warnings on M$VC
+
+ M$VC complains if a class specifies which exceptions can be
+ expected to be thrown;
+ this means that it tells you that the compiler is not standards
+ compliant whenever you are writing standard compliant code,
+ basically telling you it's all your fault
+
+2011-07-22 08:43 zmoelnig
+
+ * turn off warnings in M$VC
+
+ we are deriving an exported class from a non-exportet class,
+ which gives a warning!
+ according to M$DN, this warning can be ignored if the
+ parent-class is from the STL (but why do they warn then...)
+
+2011-07-22 08:28 zmoelnig
+
+ * made it compile on M$VC after all the restructuring of code
+
+2011-07-22 07:58 zmoelnig
+
+ * moved plugins/ and extra/ out of src/
+
+2011-07-21 16:11 zmoelnig
+
+ * b/w results for YUV images
+
+2011-07-21 15:42 zmoelnig
+
+ * NULL-pointer protection
+
+2011-07-21 15:41 zmoelnig
+
+ * re-indentation
+
+2011-07-21 15:40 zmoelnig
+
+ * info outlet of [pix_image]
+
+2011-07-21 14:49 zmoelnig
+
+ * wrapper around Pd's t_outlet
+
+2011-07-21 10:33 zmoelnig
+
+ * added more getprops
+
+2011-07-21 10:27 zmoelnig
+
+ * trying to simply PropGet
+
+2011-07-21 10:18 zmoelnig
+
+ * disabled complicated properties
+
+2011-07-21 10:13 zmoelnig
+
+ * added lots of properties (this time with maxval)
+
+2011-07-21 10:12 zmoelnig
+
+ * added lots of properties
+
+2011-07-21 09:58 zmoelnig
+
+ * fixed unsigned short -> double conversion
+
+2011-07-21 09:51 zmoelnig
+
+ * fixed double->unsigned short overflow
+
+2011-07-21 09:48 zmoelnig
+
+ * fixed stringification in macro
+
+ cpp on OSX yields weird results
+
+2011-07-21 09:31 zmoelnig
+
+ * fixed typos
+
+2011-07-21 09:23 zmoelnig
+
+ * simplified setProperty code
+
+2011-07-21 08:55 zmoelnig
+
+ * close SeqGrabber when open failed
+
+2011-07-21 08:15 zmoelnig
+
+ * (void) rather than ()
+
+2011-07-21 08:14 zmoelnig
+
+ * updated pix_video help-patch
+
+2011-07-20 20:41 zmoelnig
+
+ * removed deleted methods
+
+2011-07-20 20:24 zmoelnig
+
+ * helper method: applyProperties()
+
+2011-07-20 20:07 zmoelnig
+
+ * made it compile on OSX
+
+2011-07-20 20:01 zmoelnig
+
+ * more cleanup of videoDarwin
+
+2011-07-20 15:43 zmoelnig
+
+ * simplified some properties
+
+2011-07-20 13:29 zmoelnig
+
+ * made it compile (and somewhat work)
+
+2011-07-20 12:50 zmoelnig
+
+ * rudimentary property and device selection support
+
+2011-07-20 12:10 zmoelnig
+
+ * implemented (dummy) dialogs() method
+
+2011-07-20 12:08 zmoelnig
+
+ * implemented dialogs() method
+
+2011-07-20 11:39 zmoelnig
+
+ * removed videoGrabber sources
+
+2011-07-20 11:37 zmoelnig
+
+ * ignore version_current.h when checking for unused sources
+
+2011-07-20 11:36 zmoelnig
+
+ * remove OS-specific objects from build
+
+2011-07-20 11:36 zmoelnig
+
+ * added CHECKUNUSED_IGNORE variable
+
+ in order to not check certain files
+
+2011-07-20 11:24 zmoelnig
+
+ * removed DirectShow grabber code
+
+2011-07-20 10:57 zmoelnig
+
+ * fixed manual autoreconf
+
+2011-07-20 10:05 zmoelnig
+
+ * moved record implementations into gem::plugins namespace
+
+2011-07-20 10:05 zmoelnig
+
+ * moved record into gem::plugins namespace
+
+2011-07-20 10:02 zmoelnig
+
+ * visibility fixes
+
+2011-07-20 10:01 zmoelnig
+
+ * fixed typo
+
+2011-07-20 09:59 zmoelnig
+
+ * video has moved into gem::plugins namespace
+
+2011-07-20 09:41 zmoelnig
+
+ * moved video implementation classes into gem::plugins namespace
+
+2011-07-20 09:40 zmoelnig
+
+ * moved video base class into gem::plugins namespace
+
+2011-07-20 09:33 zmoelnig
+
+ * moved video base class into gem::plugins namespace
+
+2011-07-20 09:31 zmoelnig
+
+ * made crucial functions pure-virtual and avoid calling virtual
+ functions in dtor
+
+2011-07-20 09:30 zmoelnig
+
+ * close() in dtor
+
+2011-07-20 09:12 zmoelnig
+
+ * reordered API to get most important things to the beginning
+
+2011-07-20 09:11 zmoelnig
+
+ * cleanup of plugins::video api
+
+2011-07-20 07:55 zmoelnig
+
+ * let Gem handle the selection of Altivec enabled process()
+
+2011-07-20 07:35 zmoelnig
+
+ * removed TexFont.h
+
+ it's not used anywhere these days
+
+2011-07-20 07:32 zmoelnig
+
+ * pix_fiducialtrack documentation is now in extra/
+
+2011-07-19 20:21 zmoelnig
+
+ * fixed path to all.trees file
+
+2011-07-19 20:17 zmoelnig
+
+ * moved pix_fiducialtrack into extra/
+
+2011-07-19 20:15 zmoelnig
+
+ * make snippet for convenience-links in extra/
+
+2011-07-19 19:56 zmoelnig
+
+ * fixed convenience links (fixes distcheck failures)
+
+2011-07-19 15:40 zmoelnig
+
+ * properly adding pix_artoolkit
+
+2011-07-19 15:29 zmoelnig
+
+ * gracefully fail when removing convenience link
+
+2011-07-19 14:25 zmoelnig
+
+ * removed link to Gem.dll
+
+2011-07-19 14:15 zmoelnig
+
+ * added README-EXTRA to the DIST files
+
+2011-07-19 14:12 zmoelnig
+
+ * use README-EXTRA.txt to find the SRCDIR
+
+2011-07-19 14:11 zmoelnig
+
+ * a README for extra
+
+2011-07-19 13:16 zmoelnig
+
+ * renamed Math.h to GemMath.h
+
+2011-07-19 13:12 zmoelnig
+
+ * renamed Math to GemMath in order to prevent problems on
+ case-insensitive filesystems
+
+2011-07-19 12:52 zmoelnig
+
+ * added pix_artoolkit
+
+2011-07-19 12:43 zmoelnig
+
+ * resolved circular dependency
+
+ OSX is less tolerant when it comes to LIBTOOL and CXX
+
+2011-07-19 12:37 zmoelnig
+
+ * added headers to the Makefileadded headers to the Makefiless
+
+2011-07-19 12:23 zmoelnig
+
+ * forgot to include path to Gem/src
+
+2011-07-19 12:13 zmoelnig
+
+ * include extra/configure.ac
+
+2011-07-19 12:10 zmoelnig
+
+ * forgotten automakefile
+
+2011-07-19 12:05 zmoelnig
+
+ * include "deprecated" SUBDIR
+
+2011-07-19 12:02 zmoelnig
+
+ * install targets for headers
+
+2011-07-19 11:41 zmoelnig
+
+ * automatic check for forgotten sources
+
+2011-07-19 11:19 zmoelnig
+
+ * include QTML on windows if HAVE_QUICKTIME is defined
+
+2011-07-19 11:17 zmoelnig
+
+ * GemMan has moved
+
+2011-07-19 11:16 zmoelnig
+
+ * restructured sources (moved things out of Base/)
+
+2011-07-19 11:02 zmoelnig
+
+ * deprecated headers for compat
+
+2011-07-19 08:27 zmoelnig
+
+ * that's where they belong
+
+2011-07-19 08:26 zmoelnig
+
+ * moved deprecated headers to deprecated/
+
+ for now, if you need to use them, add Gem/src/deprecated to your
+ INCLUDE
+
+2011-07-19 07:20 zmoelnig
+
+ * remove unused files
+
+ these files are virtually empty
+
+2011-07-19 07:16 zmoelnig
+
+ * no more pix_filmLinux nor pix_filmNT
+
+2011-07-19 06:56 zmoelnig
+
+ * removed disabled include-stanzas
+
+2011-07-18 15:58 zmoelnig
+
+ * start to export header files
+
+2011-07-18 15:31 zmoelnig
+
+ * properly disable v4l2 if needed
+
+2011-07-18 15:15 zmoelnig
+
+ * added autogen.sh to DIST
+
+2011-07-18 15:13 zmoelnig
+
+ * include patt.hiro in DIST
+
+2011-07-18 15:12 zmoelnig
+
+ * added autoconf/README.txt to DIST
+
+2011-07-18 15:11 zmoelnig
+
+ * add pix_artoolkit to DIST
+
+2011-07-18 15:09 zmoelnig
+
+ * include README.txt and LICENSE.txt into dist-tarball
+
+2011-07-18 14:52 zmoelnig
+
+ * include ExportDef.h into build
+
+2011-07-18 14:50 zmoelnig
+
+ * include src/Output in the DIST tarball
+
+2011-07-18 14:43 zmoelnig
+
+ * compat layer
+
+2011-07-18 14:34 zmoelnig
+
+ * GemContextData migration
+
+2011-07-18 14:32 zmoelnig
+
+ * moved ContextData from Base/ to Gem/
+
+2011-07-18 14:11 zmoelnig
+
+ * include files moved to Gem/
+
+2011-07-18 14:07 zmoelnig
+
+ * moved Version, Setup and ExportDef from Base/ to Gem/
+
+2011-07-18 13:47 zmoelnig
+
+ * moved a number of (new) files from src/Base to src/Gem
+
+2011-07-18 13:26 zmoelnig
+
+ * moved files from Base/ to Gem/
+
+ Base/ is really meant to be for Base-classes
+ Gem/ is where the infrastructure should go
+
+2011-07-18 13:24 zmoelnig
+
+ * deleted disabled code
+
+2011-07-18 12:52 zmoelnig
+
+ * removed old buildsystem cruft
+
+2011-07-18 12:44 zmoelnig
+
+ * m4/ now lives in top_srcdir
+
+2011-07-18 12:43 zmoelnig
+
+ * m4/ lives in top_srcdir
+
+2011-07-18 12:40 zmoelnig
+
+ * use top_srcdir to find m4/
+
+2011-07-18 12:14 zmoelnig
+
+ * more gracefully fail when doing convenience symlinks
+
+2011-07-18 12:10 zmoelnig
+
+ * conditionally build pix_artoolkit
+
+2011-07-18 12:02 zmoelnig
+
+ * cleanup
+
+2011-07-18 12:00 zmoelnig
+
+ * removed generated Makefile
+
+2011-07-18 11:54 zmoelnig
+
+ * made it compile
+
+2011-07-18 11:39 zmoelnig
+
+ * moved extra from Gem/src/extra to Gem/extra
+
+2011-07-18 11:36 zmoelnig
+
+ * fixed includes for Gem
+
+2011-07-18 11:29 zmoelnig
+
+ * moved src/m4/ to m4/
+
+2011-07-18 11:26 zmoelnig
+
+ * moved convenience-symlink snippet into new plugins/ directory
+
+2011-07-18 11:25 zmoelnig
+
+ * moved plugins from src/plugins/ to plugins/
+
+ "src" is now only for the Gem-core
+
+2011-07-18 11:09 zmoelnig
+
+ * assign '0' to non-pointer variables rather than 'NULL'
+
+2011-07-18 11:08 zmoelnig
+
+ * use sys_close() on Pd>=0.43
+
+2011-07-18 10:35 zmoelnig
+
+ * not working at all
+
+2011-07-18 10:28 zmoelnig
+
+ * use top_srcdir rather than srcdir to find Gem sources
+
+ i'd like to move the plugins from Gem/src/plugins into
+ Gem/plugins
+
+2011-07-18 10:20 zmoelnig
+
+ * use DISABLED rather than FALSE
+
+ gives less warnings :-)
+
+2011-07-18 10:18 zmoelnig
+
+ * conditionally build V4L(2) plugins
+
+2011-07-18 10:17 zmoelnig
+
+ * conditionals for V4L(2)
+
+ and dummy-conditionals ENABLED/DISABLED
+
+2011-07-18 10:15 zmoelnig
+
+ * removed videoGrabber from SOURCES
+
+2011-07-16 21:16 eighthave
+
+ * build fix for MinGW: io.h is needed on all _WIN32
+
+2011-07-15 10:47 zmoelnig
+
+ * updated vs2003 build project
+
+2011-07-15 10:47 zmoelnig
+
+ * minor build fixes for w32
+
+2011-07-13 09:53 zmoelnig
+
+ * adapt for ubuntu/natty
+
+2011-07-13 09:43 zmoelnig
+
+ * more magick to fix ImageMagick's API breakages
+
+2011-07-12 16:15 zmoelnig
+
+ * include PluginFactory
+
+2011-07-12 16:11 zmoelnig
+
+ * include PluginFactory; implement isThreadable
+
+2011-07-12 16:09 zmoelnig
+
+ * include PluginFactory manually
+
+2011-07-12 16:09 zmoelnig
+
+ * include PluginFactory manually
+
+2011-07-12 16:07 zmoelnig
+
+ * include <map> (in order to not be dependent on PluginFactory)
+
+2011-07-12 09:54 zmoelnig
+
+ * renamed videoThreaded to videoGrabber
+
+ videoGrabber is is meant to be an interface to the
+ PluginFactory<video> that
+ automatically handles threading (if possible)
+
+2011-07-12 09:53 zmoelnig
+
+ * fixed typo
+
+2011-07-11 17:16 zmoelnig
+
+ * backport for outdated libquicktime version (<1.0.0)
+
+2011-07-11 16:00 zmoelnig
+
+ * fixed lqt-build version
+
+ it seems that lqt_set_video_parameter() uses (const char*)key
+ since 1.0.2;
+ i don't know where the 3.1.0 came from...
+
+2011-07-11 15:47 zmoelnig
+
+ * try to make it compile with very old versions of libquicktime
+
+2011-07-11 15:43 zmoelnig
+
+ * depend on automake>=1.10
+
+2011-07-11 15:42 zmoelnig
+
+ * remove checks for PROGS not used
+
+2011-07-11 14:04 zmoelnig
+
+ * include FTGL/ftgl.h if available rather than the specific headers
+
+2011-07-11 13:55 zmoelnig
+
+ * LN_S should only be used in the currend dir
+
+ at least according to the documentation of AC_PROG_LN_S
+
+2011-07-11 13:53 zmoelnig
+
+ * check for SED
+
+2011-07-11 13:24 zmoelnig
+
+ * moved the 'foo support' line to the plugin user
+
+2011-07-11 13:22 zmoelnig
+
+ * adapted to nicer backendnames
+
+2011-07-11 13:14 zmoelnig
+
+ * list loaded film plugins
+
+2011-07-11 13:01 zmoelnig
+
+ * more verbosity
+
+2011-07-11 12:44 zmoelnig
+
+ * more verbosity
+
+2011-07-11 12:34 zmoelnig
+
+ * allow stop() to (not) block
+
+2011-07-11 12:01 zmoelnig
+
+ * don't create instances of ImageThreadLoader when doing poll()
+
+2011-07-11 11:40 zmoelnig
+
+ * don't start loader thread until we know we need it
+
+ also use sync() as fallback for async() [simplifies code]
+
+2011-07-11 11:37 zmoelnig
+
+ * allow child-classes to specify whether thread should start
+ automatically
+
+2011-07-11 07:27 zmoelnig
+
+ * include sys/time.h to make it compile
+
+2011-07-01 18:48 zmoelnig
+
+ * made unicap work nicely with --without-ALL
+
+2011-07-01 14:57 zmoelnig
+
+ * updated w32 build project
+
+2011-07-01 14:56 zmoelnig
+
+ * w32 build fix
+
+2011-07-01 14:54 zmoelnig
+
+ * w32 build fixes
+
+2011-07-01 14:54 zmoelnig
+
+ * replace usleep() with select()
+
+2011-07-01 14:47 zmoelnig
+
+ * windows fixes
+
+ - use 'unsigned int' where appropriate
+ - when declaring "PIMPL" as 'class', it shouldn't be defined as
+ 'struct'
+ - don't include <unistd.h>
+
+2011-07-01 08:54 zmoelnig
+
+ * only build videoDV4L if all dependencies are fullfilled
+
+2011-07-01 08:53 zmoelnig
+
+ * videoSGI makes sense only on IRIX
+
+2011-06-30 18:08 zmoelnig
+
+ * conditionally build plugins
+
+2011-06-30 18:05 zmoelnig
+
+ * automatically setting some AM_CONDITIONALS for frameworks and
+ libs
+
+2011-06-30 16:06 zmoelnig
+
+ * fixed jumping/initialization issues
+
+ when using 'goto' one shouldn't initialize variables between the
+ goto and the label
+
+2011-06-30 15:17 zmoelnig
+
+ * create src/Output Makefile
+
+2011-06-30 15:17 zmoelnig
+
+ * iMakefile is now generated by automake
+
+2011-06-30 15:15 zmoelnig
+
+ * use openGL libs
+
+2011-06-30 15:15 zmoelnig
+
+ * use GLX if available
+
+2011-06-30 15:13 zmoelnig
+
+ * alternative openGL tests
+
+2011-06-30 12:27 zmoelnig
+
+ * automake stub for Output/
+
+2011-06-30 12:22 zmoelnig
+
+ * added GLX, AGL and GLEW tests
+
+ those need more real-world testing§
+
+2011-06-30 12:21 zmoelnig
+
+ * fixed case/esac clause
+
+2011-06-30 11:41 zmoelnig
+
+ * wrapper around the GNU macros
+
+2011-06-30 11:32 zmoelnig
+
+ * some openGL macros from GNU's autoconf archive
+
+2011-06-30 11:25 zmoelnig
+
+ * check for OS (mostly stub for now)
+
+2011-06-30 09:54 zmoelnig
+
+ * hopefully improved convenience links
+
+ trying to fix some trouble when building outside of srctree (e.g.
+ 'distcheck')
+
+2011-06-30 09:45 zmoelnig
+
+ * fixed include path for main Gem includes
+
+ and improved convenience lib handkling
+
+2011-06-30 09:24 zmoelnig
+
+ * fixed base include for Gem
+
+ since we moved autotools, the top_srcdir is now .../Gem and no
+ longer
+ .../Gem/src, so we have to adjust the INCLUDE path
+
+2011-06-30 09:11 zmoelnig
+
+ * enable convenience symlinks for all plugins
+
+2011-06-30 09:10 zmoelnig
+
+ * protect against empty LTLIBRARIES
+
+2011-06-30 09:01 zmoelnig
+
+ * added clean target
+
+2011-06-30 08:52 zmoelnig
+
+ * makefile snippet to create convenience symlinks for plugins
+
+ in order to use plugins, they need to live besides the Gem.$(EXT)
+ this snippets will create symlinks for a (binary) plugin to the
+ top build dir;
+ this allows to use the plugins without having to install Gem
+
+2011-06-30 08:05 zmoelnig
+
+ * install Gem.$(EXT) into $(top_builddir) rather than $(top_srcdir)
+
+2011-06-29 18:36 zmoelnig
+
+ * executable
+
+2011-06-29 18:34 zmoelnig
+
+ * stubs for compatibility
+
+2011-06-29 18:32 zmoelnig
+
+ * link to top_srcdir
+
+2011-06-29 18:27 zmoelnig
+
+ * SOURCES marker
+
+2011-06-29 18:10 zmoelnig
+
+ * re-enable autoreconf
+
+2011-06-29 18:09 zmoelnig
+
+ * moved autoconf system one level up
+
+2011-06-29 17:46 zmoelnig
+
+ * moved config.h out of src/Base/ into src/
+
+2011-06-29 17:44 zmoelnig
+
+ * a small README how to use autoconf
+
+2011-06-29 17:36 zmoelnig
+
+ * cleanup version.h when doing distclean
+
+2011-06-29 17:15 zmoelnig
+
+ * use srcdir for relative include paths
+
+2011-06-29 16:55 zmoelnig
+
+ * removed generated config.h from SOURCES
+
+2011-06-29 16:40 zmoelnig
+
+ * more pkgversion magic
+
+2011-06-29 16:24 zmoelnig
+
+ * don't install build system
+
+2011-06-29 16:00 zmoelnig
+
+ * added examples/Makefile
+
+2011-06-29 15:50 zmoelnig
+
+ * added build directory
+
+2011-06-29 15:43 zmoelnig
+
+ * EXTRA_DIST some files otherwise missing
+
+2011-06-29 15:06 zmoelnig
+
+ * add files to dist
+
+2011-06-29 14:46 zmoelnig
+
+ * add patches and license files to dist
+
+2011-06-29 14:43 zmoelnig
+
+ * include version hackz
+
+2011-06-29 14:29 zmoelnig
+
+ * return value must be positive
+
+2011-06-29 13:33 zmoelnig
+
+ * manually add filmTEST to DIST_SUBDIRS
+
+2011-06-29 13:32 zmoelnig
+
+ * fixed test for have_ieee1394
+
+2011-06-29 13:16 zmoelnig
+
+ * (not) include filmTEST and videoQTKit
+
+2011-06-29 13:04 zmoelnig
+
+ * autotoolified the entirety of Gem
+
+2011-06-29 12:52 zmoelnig
+
+ * fixed installation targets for proprietary video backends
+
+2011-06-29 12:48 zmoelnig
+
+ * automake files for documentation
+
+2011-06-29 12:07 zmoelnig
+
+ * forgot backslash
+
+2011-06-29 11:55 zmoelnig
+
+ * comments
+
+2011-06-29 11:51 zmoelnig
+
+ * install extras into pd/extra/ rather than pd/extra/Gem
+
+2011-06-29 11:45 zmoelnig
+
+ * fixed install targets: libdir vs pkglibdir
+
+ libdir:=/path/to/pd/lib/extra
+ pkglibdir:=${libdir}/Gem
+
+ so all Gem should install into pkglibdir
+ extras might install into libdir/${extra}
+
+2011-06-29 11:44 zmoelnig
+
+ * full pkgname and URL
+
+2011-06-29 11:17 zmoelnig
+
+ * automakefile for help-patches
+
+2011-06-29 11:05 zmoelnig
+
+ * fixed install targets for extra
+
+2011-06-29 09:43 zmoelnig
+
+ * show something for ieee1394 support
+
+2011-06-29 08:08 zmoelnig
+
+ * forgot to add Gem/ to SUBDIRS
+
+2011-06-29 08:03 zmoelnig
+
+ * removed misleaded stanza about 'ignore missing support'
+
+ since most checks have been moved back into the main configure
+ script,
+ the output is indeed meaningful
+
+2011-06-29 08:01 zmoelnig
+
+ * remove linker cruft automatically handled by autotools
+
+2011-06-28 10:08 zmoelnig
+
+ * poll for new images
+
+2011-06-28 10:07 zmoelnig
+
+ * default to polling mode
+
+2011-06-28 10:03 zmoelnig
+
+ * indentation
+
+2011-06-28 10:03 zmoelnig
+
+ * polling for gem::image::load
+
+2011-06-28 09:59 zmoelnig
+
+ * added 'polling' mode
+
+2011-06-28 08:49 zmoelnig
+
+ * even nicer
+
+ made the viewing examples more interactive;
+ fixed some typos
+ and fixed some description
+
+2011-06-27 21:51 nusmuk
+
+ * new help for gemwin thanks to Nicolas --Cette ligne, et les
+ suivantes
+ ci-dessous, seront ignorées--
+
+ M gemwin-help.pd
+
+2011-06-27 16:08 zmoelnig
+
+ * added some more magick to get the API right
+
+2011-06-27 14:10 zmoelnig
+
+ * implemented cancel()ing of packages
+
+ needs deque, since we cannot remove items from within a queue
+
+2011-06-27 14:09 zmoelnig
+
+ * implement cancel()ing
+
+2011-06-27 14:09 zmoelnig
+
+ * better verbositry
+
+2011-06-27 14:08 zmoelnig
+
+ * simplified RTE-callbacks
+
+2011-06-27 14:08 zmoelnig
+
+ * more verbose report about loading success
+
+2011-06-27 14:08 zmoelnig
+
+ * adapted to new (a)sync loader
+
+2011-06-27 14:07 zmoelnig
+
+ * threadsafe ID-retrieval
+
+ if queue() 'return's the ID, this might be too late, as the
+ return might
+ be called after the callback is called.
+ we therefore use pass-by-reference, so we can tell the queuing
+ process the
+ ID before it is actually queued
+
+2011-06-27 14:07 zmoelnig
+
+ * type fixes
+
+2011-06-27 14:06 zmoelnig
+
+ * threaded loading is now handled centrally by the
+ GemPixImageLoader
+
+2011-06-27 14:06 zmoelnig
+
+ * async()-compat version of sync()
+
+2011-06-27 14:05 zmoelnig
+
+ * threaded image loading seems to work
+
+2011-06-27 14:05 zmoelnig
+
+ * less verbosity and call-by-reference for void*
+
+2011-06-27 14:04 zmoelnig
+
+ * image::load::callback is already a pointer
+
+2011-06-27 14:04 zmoelnig
+
+ * draft for threaded loading
+
+2011-06-27 14:04 zmoelnig
+
+ * synchronized worker thread
+
+2011-06-27 14:03 zmoelnig
+
+ * minor fixes
+
+2011-06-27 14:03 zmoelnig
+
+ * Gem/ now also holds code
+
+2011-06-27 14:02 zmoelnig
+
+ * added new files
+
+2011-06-27 14:02 zmoelnig
+
+ * simple workerthread implementation
+
+ with queues and bells
+
+2011-06-27 14:01 zmoelnig
+
+ * simple semaphore implementation
+
+2011-06-27 14:01 zmoelnig
+
+ * moved ThreadMutex into Gem/
+
+2011-06-27 14:00 zmoelnig
+
+ * isThreadable is sum of all backends
+
+ if one backend is not threadable, the meta-backend is not either
+
+2011-06-27 14:00 zmoelnig
+
+ * new API for image loading
+
+ and stub implementations
+
+2011-06-22 11:21 zmoelnig
+
+ * some namespace magick for compat
+
+2011-06-22 08:16 zmoelnig
+
+ * const'ness fixes for Altivec
+
+2011-06-21 20:48 zmoelnig
+
+ * more const'ified
+
+2011-06-21 16:38 zmoelnig
+
+ * get supported mimetypes from ImageMagick
+
+ i think these are all mime-types supported by ImageMagick, not
+ just those it can write....
+
+2011-06-21 16:37 zmoelnig
+
+ * fixed JPEG saving
+
+2011-06-21 16:36 zmoelnig
+
+ * SGI: dummy implementation of estimateSave;5D
+
+2011-06-21 16:35 zmoelnig
+
+ * dummy implementation for estimateSave
+
+2011-06-21 15:39 zmoelnig
+
+ * imageTIFF: implement estimateSave and fix save()
+
+2011-06-21 15:39 zmoelnig
+
+ * more const'ification
+
+2011-06-21 15:38 zmoelnig
+
+ * fixed crasher bug with index-out-of-range
+
+2011-06-21 14:21 zmoelnig
+
+ * use const where possible
+
+2011-06-21 14:08 zmoelnig
+
+ * use default mimetypes if none can be determined
+
+2011-06-21 14:01 zmoelnig
+
+ * more mimetypes
+
+2011-06-21 13:46 zmoelnig
+
+ * removed dupe
+
+2011-06-21 13:15 zmoelnig
+
+ * more mimetypes
+
+2011-06-21 13:15 zmoelnig
+
+ * lost dots
+
+2011-06-21 13:01 zmoelnig
+
+ * added more mimetypes
+
+2011-06-21 12:46 zmoelnig
+
+ * image mimetypes
+
+2011-06-19 19:11 zmoelnig
+
+ * std::string.empty() is a method no member variable
+
+2011-06-17 12:24 zmoelnig
+
+ * simplified property handling for imageloader
+
+2011-06-17 12:23 zmoelnig
+
+ * make getFrame() pure virtual
+
+2011-06-17 12:22 zmoelnig
+
+ * allow implentation to override the isThreadable()
+
+2011-06-17 12:22 zmoelnig
+
+ * only use threads is the backend supports it
+
+2011-06-17 12:21 zmoelnig
+
+ * changed ctor of film-plugins to indicate threading support
+
+2011-06-17 12:20 zmoelnig
+
+ * less verbose
+
+ let the calling class be loud about successes/failures, rather
+ than the backends
+
+2011-06-17 12:19 zmoelnig
+
+ * printout successful/failing backend when verbose
+
+2011-06-17 12:18 zmoelnig
+
+ * adapted outdated pix_filmOS to new GemState infrastructure
+
+ either deprecated code should be removed entirely, or it should
+ do something meaningful
+
+2011-06-17 12:18 zmoelnig
+
+ * moved film plugins into namespace gem::plugins
+
+2011-06-17 12:16 zmoelnig
+
+ * compilation fixes after switch to std::string
+
+2011-06-17 12:15 zmoelnig
+
+ * use std::string for filename
+
+2011-06-17 12:14 zmoelnig
+
+ * film: use std::string instead of char*
+
+2011-06-16 16:20 zmoelnig
+
+ * don't overwrite the image-format to something untrue
+
+2011-06-16 16:13 zmoelnig
+
+ * fall back to alternative methods of making an FSSpec from a
+ string
+
+2011-06-15 12:00 zmoelnig
+
+ * removed files that are generated by autogen.sh
+
+2011-06-15 11:58 zmoelnig
+
+ * removed Makefiles that are overwritten by automake
+
+2011-06-14 08:19 zmoelnig
+
+ * oops, removed leftovers from Nongeos' Makefile
+
+2011-06-14 08:10 zmoelnig
+
+ * GEM_TARGET checks now automatically use AC_CONFIG_FILES
+
+2011-06-14 08:09 zmoelnig
+
+ * automake'ified Vertex
+
+2011-06-14 08:09 zmoelnig
+
+ * forgot Makefile.am for pix_drum
+
+2011-06-14 08:08 zmoelnig
+
+ * updated template Makefile
+
+2011-06-10 13:32 zmoelnig
+
+ * added 'extra' (pix_mano, pix_drum) to build
+
+2011-06-10 13:28 zmoelnig
+
+ * switched to automake
+
+2011-06-10 13:26 zmoelnig
+
+ * fixed buffer overflow
+
+2011-06-10 12:10 zmoelnig
+
+ * no fat binaries for videoAVT/PYLON/HALCON
+
+2011-06-10 11:38 zmoelnig
+
+ * normalized plugin Makefiles
+
+ added ARCH-flags; use LIBADD for dependencies
+
+2011-06-10 11:02 zmoelnig
+
+ * honour ARCH-FLAGS
+
+2011-06-10 10:25 zmoelnig
+
+ * fixed architecture-count test
+
+2011-06-10 09:49 zmoelnig
+
+ * when building fat binaries, make sure dependency tracking is OFF
+
+2011-06-10 09:36 zmoelnig
+
+ * default to using video/film plugins even on OSX
+
+2011-06-10 09:34 zmoelnig
+
+ * (re)allow libTIFF/libJPEG even if is ImageMagick is found
+
+ having both libTIFF and libJPEG linked into Gem used to crash
+ when throwing
+ exceptions.
+ cf.
+ https://sourceforge.net/tracker/?func=detail&aid=2506838&group_id=64325&atid=507079
+
+ now that all the image-loading components is in plugins, it
+ should be possible
+ to re-enable all available backends.
+ - i tried to load both plugins and couldn't trigger the crash
+ anymore
+ - the crash might be releated to libstdc++ more than to the use
+ of ImageMagick
+ AND libTIFF (which should be no problem with plugins, since the
+ plugins are
+ both loaded well after stdc++ is (loaded and) initialized by Gem
+ - if loading both plugins still makes trouble, the user can
+ disable a certain
+ backend by "not installing" (or removing it)
+ - if package management software is used, the conflicting plugins
+ could be
+ disallowed to install in parallel.
+
+2011-06-09 17:11 zmoelnig
+
+ * disable building on 64bit
+
+2011-06-09 15:26 nusmuk
+
+ * bugfix: this object now allow input!
+
+2011-06-09 13:30 zmoelnig
+
+ * fixed removal of old Gem.pd_linux
+
+2011-06-09 11:30 zmoelnig
+
+ * fixed casuality caused by the switch in the GemState
+ infrastructure
+
+2011-06-08 18:43 zmoelnig
+
+ * fixed typos in comments
+
+2011-06-08 18:36 zmoelnig
+
+ * added 'threadable' flag to ctor
+
+ so plugins can tell, whether they can be used within threads
+
+2011-06-08 17:49 zmoelnig
+
+ * version-generating code
+
+2011-06-08 17:06 zmoelnig
+
+ * more building optional video plugins
+
+2011-06-08 17:06 zmoelnig
+
+ * remove HAVE_PYLON from *.h
+
+ headers should really only be included if we have pylon anyhow
+
+2011-06-08 17:05 zmoelnig
+
+ * building optional video plugins
+
+2011-06-08 17:05 zmoelnig
+
+ * regenerated
+
+2011-06-08 17:05 zmoelnig
+
+ * added most of the plugins to the autotools build-system
+
+2011-06-08 17:04 zmoelnig
+
+ * removed all those configure.ac's: let's do it centrally
+
+2011-06-08 17:03 zmoelnig
+
+ * removed X_LIBS from LIBS
+
+2011-06-08 17:02 zmoelnig
+
+ * removed symlinked Gem.pd_linux before symlinking
+
+2011-06-08 17:02 zmoelnig
+
+ * use AM_CONDITIONAL to turn on/off compilation of object-groups
+
+2011-06-08 17:01 zmoelnig
+
+ * removed QT-image loading: this is now completely in the plugin
+
+2011-06-08 17:01 zmoelnig
+
+ * copied over image syving code to imageQT
+
+2011-06-08 17:01 zmoelnig
+
+ * added imageQT
+
+2011-06-08 17:00 zmoelnig
+
+ * forgot RTE flags in RTE/ and plugins/
+
+2011-06-08 17:00 zmoelnig
+
+ * viideoThreaded class
+
+ LATER rethink this
+
+2011-06-08 16:59 zmoelnig
+
+ * made it compile on OSX
+
+2011-06-08 16:59 zmoelnig
+
+ * define HAVE_GEM_FRAMEWORK_...
+
+2011-06-08 16:58 zmoelnig
+
+ * handle X_LIBS
+
+2011-06-08 16:58 zmoelnig
+
+ * QuickTime image importer
+
+2011-06-08 16:57 zmoelnig
+
+ * figured out how to do the nodist_EXTRA_ dummy sources
+
+2011-06-08 16:57 zmoelnig
+
+ * remove STDCPLUSPLUS indicator
+
+2011-06-08 16:57 zmoelnig
+
+ * ugly hack to link Gem.$(EXT) into src-directory
+
+2011-06-08 16:56 zmoelnig
+
+ * prevent libtool from removing first libstdc++
+
+2011-06-08 16:56 zmoelnig
+
+ * don't touch LIBS,... in GEM_CHECK_LIB
+
+ use should instead use GEM_LIB_... explicitely
+
+2011-06-08 16:56 zmoelnig
+
+ * link against -lstdc++ as predependency
+
+2011-06-08 16:55 zmoelnig
+
+ * no more dependency on libjpeg and libtiff
+
+2011-06-08 16:55 zmoelnig
+
+ * sgiimage loader is now in a plugin
+
+2011-06-08 16:54 zmoelnig
+
+ * made it compile
+
+2011-06-08 16:54 zmoelnig
+
+ * copied implementation of SGI image reader to plugin
+
+2011-06-08 16:53 zmoelnig
+
+ * enabled imageSGI
+
+2011-06-08 16:53 zmoelnig
+
+ * skeleton for SGi image loader
+
+2011-06-08 16:52 zmoelnig
+
+ * enabled libJPEG plugin
+
+2011-06-08 16:52 zmoelnig
+
+ * moved libJPEG code to plugin
+
+2011-06-08 16:51 zmoelnig
+
+ * libJPEG plugin
+
+2011-06-08 16:51 zmoelnig
+
+ * TIFF Image loading/saving is now in a plugin
+
+2011-06-08 16:50 zmoelnig
+
+ * made it compile (and work)
+
+2011-06-08 16:50 zmoelnig
+
+ * copied over TIFF image load/save
+
+2011-06-08 16:49 zmoelnig
+
+ * implemented save()
+
+ rather copied it over from GemPixImageSave.cpp
+
+2011-06-08 16:49 zmoelnig
+
+ * added support for imagesave plugins
+
+2011-06-08 16:49 zmoelnig
+
+ * cleanup
+
+2011-06-08 16:48 zmoelnig
+
+ * removed Makefiles, as they are now generated with automake
+
+2011-06-08 16:48 zmoelnig
+
+ * added subdir makefiles
+
+2011-06-08 16:47 zmoelnig
+
+ * added subdirectories
+
+2011-06-08 16:47 zmoelnig
+
+ * generated Makefile.am
+
+2011-06-08 16:46 zmoelnig
+
+ * generated Makefile.am templates
+
+2011-06-08 16:45 zmoelnig
+
+ * updated generator script
+
+2011-06-08 16:44 zmoelnig
+
+ * simplistic generator for Makefile.am
+
+2011-06-08 16:44 zmoelnig
+
+ * adding Geos
+
+2011-06-08 16:44 zmoelnig
+
+ * removed FTGL-pic hacks
+
+2011-06-08 16:43 zmoelnig
+
+ * simplify FTL detection (LATER move FTGL-checks into m4/)
+
+2011-06-08 16:43 zmoelnig
+
+ * don't install convenience libraries
+
+2011-06-08 16:42 zmoelnig
+
+ * regenerated (with libtool enabled)
+
+2011-06-08 16:42 zmoelnig
+
+ * drafting further
+
+2011-06-08 16:41 zmoelnig
+
+ * automake start
+
+2011-06-07 14:48 zmoelnig
+
+ * fixed help-patch for scopeXYZ~
+
+2011-06-04 12:55 zmoelnig
+
+ * use imageloader plugins if available
+
+ LATER migrate the various backends to plugins and remove them
+ from
+ GemPixImageLoad.
+ LATERLATER provide a new API for loading images (eventually using
+ a single thread, if possible)
+
+2011-06-04 12:45 zmoelnig
+
+ * use the right config-define
+
+2011-06-04 12:44 zmoelnig
+
+ * switched to gem::plugins::image
+
+2011-06-04 12:44 zmoelnig
+
+ * gem:plugins::image is really a helper class for imageloader and
+ imagesaver
+
+2011-06-04 12:43 zmoelnig
+
+ * simple example for image plugin
+
+2011-06-04 12:43 zmoelnig
+
+ * fully qualified namespace for imageloader/imagesaver
+
+2011-06-01 18:06 zmoelnig
+
+ * base-class for image load/save plugin
+
+2011-06-01 18:06 zmoelnig
+
+ * use namespace gem::plugins
+
+2011-06-01 17:44 zmoelnig
+
+ * baseclass for image saver plugins
+
+2011-06-01 17:40 zmoelnig
+
+ * renamed read() to load()
+
+2011-06-01 17:37 zmoelnig
+
+ * base class for loading images
+
+2011-06-01 16:26 zmoelnig
+
+ * more on the way to multicontext (missing file)
+
+2011-06-01 16:23 zmoelnig
+
+ * more on the way to multicontext
+
+2011-06-01 16:06 zmoelnig
+
+ * properly defer initialization of [gemframebuffer] to after
+ context creation
+
+2011-06-01 15:12 zmoelnig
+
+ * cleaned up callback code; renamed m_mode to m_rectangle
+
+2011-06-01 14:38 zmoelnig
+
+ * fixed bug when setModified() would bypass INIT state
+
+2011-06-01 08:28 zmoelnig
+
+ * made xy-pad interactive
+
+ and fixed some spelling mistakes
+
+2011-05-31 19:16 nusmuk
+
+ * update this example. it use to be broken
+
+2011-05-22 08:17 nusmuk
+
+ * fixed a bug : line_loop and line_strip can now change glLineWidth
+
+2011-05-21 18:52 nusmuk
+
+ * fixed a typo
+
+2011-05-20 22:50 nusmuk
+
+ * adding a primitive : a bicubic curve
+
+2011-05-16 15:55 nusmuk
+
+ * adding read / write to dc1394 camera freatures
+
+2011-05-06 08:48 zmoelnig
+
+ * removed +x from 10.GPGPU_Physical_model.pd
+
+2011-05-03 09:42 zmoelnig
+
+ * scratches on the pad
+
+2011-05-03 09:23 zmoelnig
+
+ * proper m4-quoting
+
+ trying to shut up: 'warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE
+ call detected in body'
+
+2011-04-29 11:35 zmoelnig
+
+ * fixed variable names and PHONYness
+
+2011-04-29 11:34 zmoelnig
+
+ * added pix_mano and pix_drum
+
+2011-04-29 11:33 zmoelnig
+
+ * simplistic makefile to build pix_mano
+
+2011-04-29 11:33 zmoelnig
+
+ * simplistic makefile to build pix_drum
+
+2011-04-26 10:27 zmoelnig
+
+ * interactive help-patch
+
+2011-04-18 23:41 eighthave
+
+ * support all known iemmatrix installs by changing [mtx_*] to
+ [mtx_mul]
+
+2011-04-18 14:44 zmoelnig
+
+ * added quality message
+
+ but really, [pix_data] should be merged into [pix_buffer] somehow
+
+2011-04-18 14:42 zmoelnig
+
+ * include RTE/MessageCallback
+
+2011-04-18 14:29 zmoelnig
+
+ * added bilinear interpolation
+
+2011-04-18 13:10 zmoelnig
+
+ * use properties
+
+2011-04-18 13:09 zmoelnig
+
+ * remove trailing whitespace
+
+2011-04-18 13:09 zmoelnig
+
+ * use 'channel' rather than 'isochannel'
+
+ likewise for 'speed' rather than 'isospeed'
+
+2011-04-18 13:08 zmoelnig
+
+ * check error when setting properties
+
+2011-04-18 13:08 zmoelnig
+
+ * use DC1394_TRYGET macro
+
+2011-04-15 15:43 zmoelnig
+
+ * check whether we have a camera
+
+2011-04-15 15:43 zmoelnig
+
+ * basic property support
+
+ this is totally untested!
+ also we don't handle properties during open at all
+
+2011-04-13 17:48 zmoelnig
+
+ * blob-labels start with "0" (Closes #3284754)
+
+2011-04-13 17:47 zmoelnig
+
+ * explicit dependency on iemmatrix
+
+2011-04-07 15:18 zmoelnig
+
+ * release view so we can create a new window
+
+ however, it seems that we cannot render to the 2nd
+ instance...hmmm
+
+2011-04-07 14:36 zmoelnig
+
+ * we really need to call GemWindow::render()
+
+2011-04-07 14:25 zmoelnig
+
+ * disabled the render() method
+
+2011-04-07 14:25 zmoelnig
+
+ * XIMStyle is non-pointer
+
+2011-04-07 14:12 zmoelnig
+
+ * m_cursor is in parent class
+
+2011-04-07 13:56 zmoelnig
+
+ * disable GemWinMac on 64bit systems
+
+ this is really un ugly hack until i find out why configure
+ doesn't really help us
+
+2011-04-07 13:54 zmoelnig
+
+ * disable QuickTime/Carbon on OSX/64
+
+ seems like the configure checks don't really catch that QuickTime
+ is not there
+
+2011-04-07 12:13 zmoelnig
+
+ * document arguments of [sphere]
+
+ thanks to maxn
+
+2011-04-07 12:08 zmoelnig
+
+ * mention args in help-patch
+
+2011-04-07 12:05 zmoelnig
+
+ * default to 64x64+0+0
+
+2011-04-07 11:51 zmoelnig
+
+ * fix performance issue with multimodel
+
+ no need to rebuild the displaylists each time the model changes -
+ all the displaylists are built at startRendering() anyhow;
+ also removed the superfluous "this->" when calling members;
+ also got the m_currentW/m_currentH right
+
+2011-04-06 19:15 zmoelnig
+
+ * don't fail on Magick::Warnings
+
+2011-04-06 18:05 zmoelnig
+
+ * default format is YUV
+
+2011-04-06 17:31 eighthave
+
+ * added two defaults so that it generates an image when the gemwin
+ is opened, like the rest of the patches in this tutorial
+
+2011-04-06 17:17 eighthave
+
+ * added ClaudiusMaximus' Gem Recursion Tutorial, on his request,
+ using a tarball receive today from him via email
+
+2011-04-06 16:42 zmoelnig
+
+ * hopefully fixed check for Pd headers
+
+ LATER use pkgconfig
+
+2011-04-05 07:15 zmoelnig
+
+ * by default, only push/pop the MODELVIEW matrix
+
+2011-04-04 09:32 zmoelnig
+
+ * probably recordV4L also works with libv4l1
+
+2011-04-04 09:30 zmoelnig
+
+ * adapted checks for missing videodev.h
+
+2011-04-04 09:25 zmoelnig
+
+ * optionally include linux/videodev.h
+
+ finally linux/videodev.h has vanished from debian;
+ unfortunately this shows that the test was a bit to lax, so
+ i had to fix it in order to compile Gem with recent linux
+
+2011-03-30 21:34 zmoelnig
+
+ * search for files in the Pd-path
+
+2011-03-30 11:22 nusmuk
+
+ * add the rectangle message to pix_movie, and depreciate the mode
+ message.
+ pix_movie help file was updated to use "rectangle" better than
+ "mode", but not pix_movie.
+
+2011-03-29 21:57 zmoelnig
+
+ * pevent out-of-memory access
+
+2011-03-27 17:10 zmoelnig
+
+ * fixed out-of-bounds memory access in GetPixel() functions
+
+2011-03-25 21:58 zmoelnig
+
+ * fix description in configure output
+
+ "video-support" really meant movie decoding support
+
+2011-03-25 21:51 zmoelnig
+
+ * use "--with-video=plugins" if you want to use plugins
+
+2011-03-22 08:07 zmoelnig
+
+ * use GemState::key_t rather than key_t
+
+ should fix compilation issues on osx/10.5
+
+2011-03-21 21:24 eighthave
+
+ * fixed "Unable to find file" error messages on Mac OS X, they
+ should now should the actual file name rather than gibberish
+
+2011-03-14 12:36 zmoelnig
+
+ * full namespace for fallback functions if no libv4l2 is present
+
+2011-03-14 12:33 zmoelnig
+
+ * replaced checks for v4l1 with checks for v4l2
+
+2011-03-14 12:29 zmoelnig
+
+ * move m_frameSize inside HAVE_VIDEO4LINUX2
+
+2011-03-11 12:00 zmoelnig
+
+ * prevent setModified() to force-ENABLE a disabled object
+
+2011-03-11 11:39 zmoelnig
+
+ * check whether captured size matches expected size
+ should detect incomplete grabs (but does it?)
+
+2011-03-07 09:24 zmoelnig
+
+ * hopefully fixed the color problem on little-endian
+
+2011-03-07 09:20 zmoelnig
+
+ * plugins target is now uniformly "PLUGINS"
+
+2011-03-05 16:35 zmoelnig
+
+ * endianess issues of pixes
+
+
+ on big-endian architectures that are not OSX, we
+ need to specially care for the reverse images.
+
+ btw, images will still be wrong when doing X-forwarding
+ between BE and LE machines
+
+2011-03-04 19:05 zmoelnig
+
+ * version of pix_tIIR that uses float internally
+
+2011-02-27 15:40 zmoelnig
+
+ * append semi-colon to uses of CPPEXTERN... macros
+
+2011-02-27 15:11 zmoelnig
+
+ * in documentation talk about trailing semi-colons
+
+2011-02-27 15:11 zmoelnig
+
+ * allow semi-colon with no AUTO_REGISTER
+
+ create a dummy variable
+
+2011-02-27 15:10 zmoelnig
+
+ * removed code now found in RTE/MessageCallbacks.h
+
+ to avoid confusion and the new code is really better
+
+2011-02-27 15:10 zmoelnig
+
+ * try to avoid allocations on the stack during render cycles
+
+2011-02-25 12:01 zmoelnig
+
+ * fixed typo
+
+2011-02-25 11:25 zmoelnig
+
+ * made gemglutwindow the last object in patch
+
+2011-02-25 11:24 zmoelnig
+
+ * small fixes for glut
+
+2011-02-25 11:24 zmoelnig
+
+ * allow to specify the gemchain (experimental)
+
+2011-02-25 11:23 zmoelnig
+
+ * debugging printout now is agnostic of backend (and unique)
+
+2011-02-25 11:23 zmoelnig
+
+ * removed debugging printout
+
+2011-02-25 11:22 zmoelnig
+
+ * use shared GemContext's for gemglxwindow
+
+2011-02-25 11:22 zmoelnig
+
+ * the existance of GemContext is really bound to the
+ GemMan::windowCount
+
+2011-02-25 11:21 zmoelnig
+
+ * modified GemWindow-API slightly to allow better handling of
+ shared GemContexts
+ adapated Output implementations to new API
+
+2011-02-25 11:21 zmoelnig
+
+ * proper initialization of m_context
+
+2011-02-25 11:20 zmoelnig
+
+ * handle 2nd argument
+
+2011-02-25 11:20 zmoelnig
+
+ * protect GL_MAX_COLOR_MATRIX_STACK_DEPTH operation with
+ GLEW_ARB_imaging
+
+2011-02-25 11:19 zmoelnig
+
+ * prepare for 2nd argument (chainID)
+
+2011-02-25 11:19 zmoelnig
+
+ * fix decrement of GemMan::winCount when destroying GemWindow
+
+2011-02-25 11:18 zmoelnig
+
+ * properly cleanup in destructor
+
+2011-02-25 11:18 zmoelnig
+
+ * no more pushing/popping of currentstate (what for)
+ re-use unique IDs (is this a good idea?)
+
+2011-02-25 11:17 zmoelnig
+
+ * fixed huge memleak
+
+2011-02-24 15:17 zmoelnig
+
+ * protect
+
+2011-02-24 15:03 zmoelnig
+
+ * factored out GemContext from GemWindow
+
+2011-02-24 13:18 zmoelnig
+
+ * renamed GemContext to GemWindow
+
+2011-02-24 13:17 zmoelnig
+
+ * FIXXME early return
+
+2011-02-23 18:18 zmoelnig
+
+ * don't send startRendering() message if turned off
+
+2011-02-23 16:58 zmoelnig
+
+ * use integer keys rather than strings to speed up GemState again
+
+2011-02-23 14:31 zmoelnig
+
+ * "Output" directory within the M$VC project
+
+2011-02-23 14:06 zmoelnig
+
+ * remove duplicate msg-callbacks
+
+2011-02-23 14:04 zmoelnig
+
+ * added printMess() stub
+
+2011-02-23 14:00 zmoelnig
+
+ * remove messages handled by GemContext
+
+2011-02-23 13:52 zmoelnig
+
+ * remove duplicate msg-callbacks
+
+2011-02-23 13:52 zmoelnig
+
+ * remove print callback
+
+2011-02-23 13:48 zmoelnig
+
+ * don't redraw each cycle; remove duplicate msg-callbacks
+
+2011-02-23 13:37 zmoelnig
+
+ * make [gemhead] a child of [gemreceive]
+
+ [gemhead] now listens to the global "__gem_render" (and
+ "__gem_render_osd")
+ receivers in an ordered fashion ([gemreceive] logic).
+ thus GemMan need no longer maintain it's own renderChain lists
+ and instead can
+ simply send a symbol...
+
+2011-02-23 13:24 zmoelnig
+
+ * fix gemreceive so classes can properly inherit from it
+
+2011-02-23 13:13 zmoelnig
+
+ * provide own GemCache if need be
+
+2011-02-23 13:12 zmoelnig
+
+ * protect against NULL cache
+
+2011-02-23 08:08 zmoelnig
+
+ * fontNameMess is now std::string
+
+2011-02-22 17:45 zmoelnig
+
+ * properly reset the modelview matrix at the beginning of
+ renderCycle
+
+2011-02-22 17:20 zmoelnig
+
+ * fullscreenMess; proper live offset/dimen
+
+2011-02-22 17:18 zmoelnig
+
+ * fullscreenMess is int rather than bool (for compat with OSX)
+
+2011-02-22 16:14 zmoelnig
+
+ * allow to change the title on the fly
+
+2011-02-22 13:46 zmoelnig
+
+ * no need to register default messages; allow window to be moved
+ programmatically (though the size is wrong after that...)
+
+2011-02-22 13:45 zmoelnig
+
+ * GemContext now handles the default messages on it's own (override
+ virtual if you want a different behaviour)
+
+2011-02-22 11:26 zmoelnig
+
+ * pimpled w32 window to allow easier creation of sharedContext
+
+2011-02-21 17:47 zmoelnig
+
+ * some minor fixes
+
+2011-02-21 16:43 zmoelnig
+
+ * made gemw32window do something under w32
+
+2011-02-21 15:53 zmoelnig
+
+ * properly initialize
+
+2011-02-21 15:37 zmoelnig
+
+ * draft for w32window
+
+2011-02-21 15:31 zmoelnig
+
+ * get rid of unused functions
+
+2011-02-21 15:04 zmoelnig
+
+ * protect with HAVE_LIBX11
+
+2011-02-21 15:04 zmoelnig
+
+ * hmm, unicap uses 'private' as variablename
+
+2011-02-21 14:58 zmoelnig
+
+ * made some more members virtual
+
+2011-02-21 14:56 zmoelnig
+
+ * stripped down for new GemContext members
+
+2011-02-21 14:53 zmoelnig
+
+ * stripped down for new GemContext members
+
+2011-02-21 14:51 zmoelnig
+
+ * stripped down for new GemContext members
+
+2011-02-21 14:51 zmoelnig
+
+ * move common attributes into GemContext (to guarantee compat
+
+2011-02-21 14:23 zmoelnig
+
+ * added installers for plugins
+
+2011-02-21 14:09 zmoelnig
+
+ * updated M$VC project
+
+2011-02-21 14:07 zmoelnig
+
+ * inlude GemException.h
+
+2011-02-21 14:04 zmoelnig
+
+ * experiments with CPPEXTERN_MSG (seems to work just fine on w32)
+
+2011-02-21 14:03 zmoelnig
+
+ * sys_bashfilename needs a writeable buffer
+
+2011-02-21 14:02 zmoelnig
+
+ * hmm, fixed typos in exception-string construction
+
+2011-02-21 14:02 zmoelnig
+
+ * w32 does not have types like uint8_t
+
+2011-02-21 14:00 zmoelnig
+
+ * minor w32 fixes (to avoid warnings)
+
+2011-02-21 13:59 zmoelnig
+
+ * oops, prevent recursive call
+
+2011-02-21 13:58 zmoelnig
+
+ * M$VC does not like "#warning"
+
+2011-02-21 12:51 zmoelnig
+
+ * changed encoding to UTF8
+
+2011-02-21 12:26 zmoelnig
+
+ * only built videoDarwin if this will succeed
+
+2011-02-20 13:59 zmoelnig
+
+ * fixed crasher bug with 0-lenth list
+
+2011-02-19 10:41 zmoelnig
+
+ * check whether GL_ATI_texture_float is supported
+
+ to avoid loads of "invalid GLenumerant" errors on hw that does
+ not
+ support this
+ LATER: add support (and checks) for other float formats
+
+2011-02-18 18:36 zmoelnig
+
+ * use RGBA16 as internal type; this allows for higher precision in
+ the textures; i wonder whether it will make any problems
+
+2011-02-18 17:46 zmoelnig
+
+ * oops, incidentally disabled RGBA...back again
+
+2011-02-18 17:39 zmoelnig
+
+ * removed unused code
+
+2011-02-18 17:35 zmoelnig
+
+ * don't dump the content to the pdconsole
+
+2011-02-18 17:34 zmoelnig
+
+ * code cleanup
+
+2011-02-18 11:53 zmoelnig
+
+ * playing around with menus
+
+2011-02-18 11:52 zmoelnig
+
+ * info() now also takes vector<atom>
+
+2011-02-18 11:52 zmoelnig
+
+ * setDimensions() now takes uintS
+
+2011-02-18 11:51 zmoelnig
+
+ * removed Pd message callbacks
+
+2011-02-18 11:51 zmoelnig
+
+ * cleaned up; added comments; removed unsued cruft
+
+2011-02-18 11:09 nusmuk
+
+ * adding a new example, to create panoramique picture based on
+ multiple images
+
+2011-02-17 22:12 zmoelnig
+
+ * honour GemSettings for width/height
+
+2011-02-17 22:12 zmoelnig
+
+ * adapt to new interface of GemSettings
+
+2011-02-17 22:11 zmoelnig
+
+ * remove Pd traces from public interface; reduce Pd traces in
+ implementation
+
+2011-02-17 22:11 zmoelnig
+
+ * GemMan::m_title is now a std::string
+
+2011-02-17 22:10 zmoelnig
+
+ * use bool for boolean values
+
+2011-02-17 22:09 zmoelnig
+
+ * FreeGLUT displaylist sharing
+
+2011-02-17 22:09 zmoelnig
+
+ * use FREETYPE define rather than OS-specifics
+
+2011-02-17 22:08 zmoelnig
+
+ * cleaner code with offset/dimen
+
+2011-02-17 22:07 zmoelnig
+
+ * use std::containers rather than our own cruft
+
+2011-02-17 18:54 zmoelnig
+
+ * add hint about context sharing in glut
+
+2011-02-17 18:44 zmoelnig
+
+ * width/height is unsigned
+
+2011-02-17 18:37 zmoelnig
+
+ * getting rid of real_*
+
+2011-02-17 18:24 zmoelnig
+
+ * more verbosity
+
+2011-02-17 18:19 zmoelnig
+
+ * try to allocate the highest possible speed
+
+2011-02-17 18:14 zmoelnig
+
+ * sharedContext
+
+2011-02-17 17:28 zmoelnig
+
+ * FIXME shared context
+
+2011-02-17 17:19 zmoelnig
+
+ * fixed position callback
+
+2011-02-17 16:59 zmoelnig
+
+ * C++ forbids to enum--
+
+2011-02-17 16:54 zmoelnig
+
+ * finally made resizing work correctly; implement cursorMess
+
+2011-02-17 16:28 zmoelnig
+
+ * indentation
+
+2011-02-17 16:18 zmoelnig
+
+ * make print a method
+
+2011-02-17 16:02 zmoelnig
+
+ * argh...APPLE keeps changing types and does not provide nice
+ macros
+
+2011-02-17 15:25 zmoelnig
+
+ * check for glx.
+
+2011-02-17 15:11 zmoelnig
+
+ * removed AGL
+
+2011-02-17 15:10 zmoelnig
+
+ * fixed comment
+
+2011-02-17 15:08 zmoelnig
+
+ * removed uneeded includes and members
+
+2011-02-17 15:05 zmoelnig
+
+ * removed extra GL-includes
+
+2011-02-17 14:40 zmoelnig
+
+ * disable glew by default; check for cocoa
+
+2011-02-17 14:39 zmoelnig
+
+ * allow to set default argument for GEM_CHECK_LIB
+
+2011-02-17 14:00 zmoelnig
+
+ * tried fixing the operation-mode problem
+
+2011-02-17 13:40 zmoelnig
+
+ * start/stopRendering invalidates GemState and GemCache
+
+2011-02-17 13:39 zmoelnig
+
+ * don't postrender/render is there is no state
+
+2011-02-17 12:43 zmoelnig
+
+ * empty directory for QTKit video backend
+
+2011-02-17 12:03 zmoelnig
+
+ * argh...APPLE keeps changing types and does not provide nice
+ macros
+
+2011-02-17 11:58 zmoelnig
+
+ * argh...APPLE keeps changing types...
+
+2011-02-17 11:37 zmoelnig
+
+ * replaced NSUInteger with 'unsigned long' as the former does not
+ exist <10.5
+
+2011-02-17 11:24 zmoelnig
+
+ * made dimen/offset messages do what they should
+
+2011-02-17 10:21 zmoelnig
+
+ * applied PIMPL
+
+2011-02-17 10:05 zmoelnig
+
+ * callbacks for size changes
+
+2011-02-17 09:36 zmoelnig
+
+ * avoid double implementation
+
+2011-02-16 18:32 zmoelnig
+
+ * finally it renders
+
+2011-02-16 18:14 zmoelnig
+
+ * it doesn't render...
+
+2011-02-16 16:47 nusmuk
+
+ * oups, adding the image that was forgotten in the initial release.
+
+2011-02-16 14:00 zmoelnig
+
+ * creating windows using cocoa
+
+2011-02-16 13:59 zmoelnig
+
+ * have to link against Cocoa
+
+2011-02-16 11:16 zmoelnig
+
+ * code cleanup
+
+2011-02-16 11:12 zmoelnig
+
+ * renamed ::id to ::atomtype_id to keep ObjC happy
+
+2011-02-16 10:35 zmoelnig
+
+ * non-working cocoa code
+
+2011-02-16 10:34 zmoelnig
+
+ * tweaks for OSX
+
+2011-02-15 17:26 zmoelnig
+
+ * rendered
+
+2011-02-15 17:21 zmoelnig
+
+ * dispatcher clock
+
+2011-02-15 17:09 zmoelnig
+
+ * window creates (but doesn't do much)
+
+2011-02-15 16:50 zmoelnig
+
+ * adapt for new GemContext interface
+
+2011-02-15 16:49 zmoelnig
+
+ * simple create/destroy messages
+
+2011-02-15 16:49 zmoelnig
+
+ * more pure virtual functions
+
+2011-02-15 13:50 zmoelnig
+
+ * and now it even loads (but doesn't do anything yet)
+
+2011-02-15 13:43 zmoelnig
+
+ * finally it compiles
+
+2011-02-15 13:29 zmoelnig
+
+ * implemented some callbacks
+
+2011-02-15 13:23 zmoelnig
+
+ * use helper-classes for msg-callbacks
+
+2011-02-15 13:22 zmoelnig
+
+ * added some more template specializations
+
+2011-02-15 13:07 zmoelnig
+
+ * utilities for message callbacks
+
+2011-02-15 09:40 zmoelnig
+
+ * more conversions from event->infoMsg
+
+2011-02-15 09:12 zmoelnig
+
+ * started to replace the eventStuff by calls to GemContext::key()
+ and friends
+
+2011-02-14 19:11 zmoelnig
+
+ * optimize GemState a bit (still eats a lot of CPU)
+
+2011-02-14 19:10 zmoelnig
+
+ * use boolean values for boolean values
+
+2011-02-14 19:10 zmoelnig
+
+ * use boolean values for boolean values
+
+2011-02-14 19:09 zmoelnig
+
+ * use boolean values for boolean values
+
+2011-02-14 18:59 zmoelnig
+
+ * make bad_any_cast::what() return the type problem as a
+ std::string
+
+2011-02-14 16:48 zmoelnig
+
+ * still nogo
+
+2011-02-14 16:30 zmoelnig
+
+ * help-struct gemmacwindow::Info
+
+2011-02-14 16:26 zmoelnig
+
+ * still non-compiling
+
+2011-02-14 16:03 zmoelnig
+
+ * non-working copy of GemWinCreateMac to gemmacwindow
+
+2011-02-14 15:34 zmoelnig
+
+ * removed unused files
+
+2011-02-14 15:30 zmoelnig
+
+ * adapted to new GemContext interface
+
+2011-02-14 15:29 zmoelnig
+
+ * made create/destroy pure virtual
+
+2011-02-14 14:27 zmoelnig
+
+ * ...
+
+2011-02-14 12:36 zmoelnig
+
+ * less verbosity (in loader)
+
+2011-02-14 12:35 zmoelnig
+
+ * even less verbosity in loader
+
+2011-02-14 12:32 zmoelnig
+
+ * fail to instantiate if no FreeFrame plugin exists
+
+2011-02-14 10:54 zmoelnig
+
+ * updated frei0r.h and use t_param_string
+
+2011-02-14 08:41 zmoelnig
+
+ * only output shaderID on load
+
+ LATER check whether we need to output '0' if no shader is loaded
+
+2011-02-12 13:06 nusmuk
+
+ * adding an example about using multiple projector to render an
+ inmage on a non flat surface
+
+2011-02-11 21:00 zmoelnig
+
+ * updated help
+
+2011-02-11 20:47 zmoelnig
+
+ * create inlets
+
+2011-02-11 20:33 zmoelnig
+
+ * first working pix_frei0r
+
+2011-02-11 19:46 zmoelnig
+
+ * more gracefule handling of (non)present extension
+
+2011-02-11 19:29 zmoelnig
+
+ * 1st draf of pix_frei0r implementation
+
+2011-02-11 17:23 zmoelnig
+
+ * added missing help
+
+2011-02-11 17:06 zmoelnig
+
+ * better warning
+
+2011-02-11 17:04 zmoelnig
+
+ * renamed maxmode to maxdepth to avoid confusion
+
+2011-02-11 17:02 zmoelnig
+
+ * use GLStack::push/pop() for safer pushing/popping of matrices
+
+2011-02-11 16:40 zmoelnig
+
+ * allow RGB and RGBA background-color for framebuffer
+
+2011-02-11 13:45 zmoelnig
+
+ * imageStruct::getRGB() should also return Alpha value (as should
+ [pix_data])
+
+2011-02-10 20:01 zmoelnig
+
+ * only manipulate GL_COLOR stack if we have ARB_imaging
+
+2011-02-10 17:13 zmoelnig
+
+ * don't crash when window is closed with X
+
+2011-02-10 16:53 zmoelnig
+
+ * make sure we really got an image at the rightInlet
+
+2011-02-10 12:55 zmoelnig
+
+ * push back pix after processing
+
+2011-02-03 12:19 zmoelnig
+
+ * made it compile again
+
+2011-02-03 12:16 zmoelnig
+
+ * fixed preprocessor-defines
+
+2011-02-03 12:07 zmoelnig
+
+ * re-ordered code
+
+2011-02-03 10:14 zmoelnig
+
+ * some small macros
+
+2011-02-02 18:41 zmoelnig
+
+ * extra rule for gemcocoawindow.pd_darwin
+
+2011-02-02 18:41 zmoelnig
+
+ * autorelease pool...doesn't work anyhow
+
+2011-02-02 18:32 zmoelnig
+
+ * fake implementations of methods
+
+2011-02-02 18:25 zmoelnig
+
+ * compiled again on OSX
+
+2011-02-02 18:12 zmoelnig
+
+ * let's try to make a window
+
+2011-02-02 18:12 zmoelnig
+
+ * removed more glut traces
+
+2011-02-02 18:05 zmoelnig
+
+ * some STL implementations lack std::vector::data()
+
+2011-02-02 18:00 zmoelnig
+
+ * some STL implementations don't seem to have vector::data()
+
+2011-02-02 17:50 zmoelnig
+
+ * made it compile on OSX
+
+2011-02-02 17:48 zmoelnig
+
+ * removed glut traces; gemcocoawindow decaration
+
+2011-02-02 17:46 zmoelnig
+
+ * another try
+
+2011-02-02 17:00 zmoelnig
+
+ * still far from working
+
+2011-02-02 16:18 zmoelnig
+
+ * skeleton for Cocoa-Window
+
+2011-02-02 15:40 zmoelnig
+
+ * use std::string rather than t_symbol*
+
+2011-02-02 15:31 zmoelnig
+
+ * made it compile on OSX
+
+2011-02-02 15:11 zmoelnig
+
+ * include headers for OSX
+
+2011-02-02 12:31 zmoelnig
+
+ * made UTF-8 keys work
+
+2011-02-02 10:10 zmoelnig
+
+ * indentation
+
+2011-02-02 10:09 zmoelnig
+
+ * renamed gemXwindow to gemglxwindow
+
+2011-02-02 09:59 zmoelnig
+
+ * glx implementation
+
+2011-02-02 09:58 zmoelnig
+
+ * GemContext::info() now needs std::string
+
+2011-02-02 09:57 zmoelnig
+
+ * move private data to PIMPL
+
+ extended interface to info();
+ made it more C++ and less Pd
+ delayed output of info() (to prevent crashes)
+
+2011-02-02 09:55 zmoelnig
+
+ * made members/dtor virtual to allow inheritance
+
+2011-02-01 17:24 zmoelnig
+
+ * moved code out of GLEW_MX (hopefully this works...)
+
+2011-02-01 17:24 zmoelnig
+
+ * make GemContext a friend of GemMan (for now)
+
+2011-02-01 17:23 zmoelnig
+
+ * stub for X-window
+
+2011-01-31 18:19 zmoelnig
+
+ * use GemState accessors
+
+2011-01-31 18:10 zmoelnig
+
+ * all particle objects are now derived from partlib_base
+
+2011-01-31 17:48 zmoelnig
+
+ * objects that override render() have to deal with GemState
+ accessors themselves
+
+2011-01-31 17:14 zmoelnig
+
+ * use GemState accessors
+
+2011-01-31 17:14 zmoelnig
+
+ * use GemState accessors
+
+2011-01-31 16:40 zmoelnig
+
+ * use GemState accessors
+
+2011-01-31 16:36 zmoelnig
+
+ * using GemState accessors
+
+2011-01-31 15:47 zmoelnig
+
+ * use GemState accessors
+
+2011-01-31 15:46 zmoelnig
+
+ * use GemState accessors
+
+2011-01-31 14:49 zmoelnig
+
+ * use GemShape proxy values rather than accessing GemState members
+
+2011-01-31 14:48 zmoelnig
+
+ * use GemState.set/get rather than directly accessing the member
+ vars
+
+2011-01-31 14:48 zmoelnig
+
+ * use GemState.set/get rather than directly accessing the member
+ vars
+
+2011-01-31 13:05 zmoelnig
+
+ * updated to new API
+
+2011-01-31 12:44 zmoelnig
+
+ * removed config.h.in as this is generated by autoheader
+
+2011-01-31 12:43 zmoelnig
+
+ * use the first handle that opens a target
+
+2011-01-31 12:14 zmoelnig
+
+ * better colormodel handling
+
+2011-01-31 11:57 zmoelnig
+
+ * fixed framerate; prevent crashes if codec doesn't like image
+
+2011-01-31 10:15 zmoelnig
+
+ * removed old (unused) code
+
+2011-01-31 10:14 zmoelnig
+
+ * only try to set the codec if it has been define
+
+2011-01-31 10:13 zmoelnig
+
+ * fixed typo
+
+2011-01-30 14:41 zmoelnig
+
+ * added simple implementation for strnlen() if it is missing
+
+2011-01-30 14:39 zmoelnig
+
+ * added check for strnlen()
+
+2011-01-27 12:22 zmoelnig
+
+ * strnlen is defined in string.h
+
+2011-01-26 16:48 zmoelnig
+
+ * made loader work again
+
+2011-01-26 16:30 zmoelnig
+
+ * allow to set paramters by name
+
+2011-01-26 16:07 zmoelnig
+
+ * renamed check() to checkDimen() to keep OSX happy
+
+2011-01-26 16:05 zmoelnig
+
+ * updated FreeFrame.h
+
+2011-01-24 12:17 zmoelnig
+
+ * protect HAVE_UNICAP
+
+2011-01-24 11:12 zmoelnig
+
+ * fix configure.ac
+
+2011-01-22 16:20 zmoelnig
+
+ * tried to stabilize things (no luck)
+
+ sometimes you have to set the device-name and/or(?) the
+ resolution of the device
+ before starting the transfer (e.g. turning rendering on), else it
+ will simply fail
+ i believe this is a bug in (my old version of) unicap.
+ e.g. my PS3-eye which definitely only supports 640x480,
+ enumerates a single
+ format (good) of 768x576 (oops!)
+
+2011-01-22 15:41 zmoelnig
+
+ * prevent double restarting of device
+
+2011-01-22 14:36 zmoelnig
+
+ * added videopipes (with URLs)
+
+2011-01-21 16:58 zmoelnig
+
+ * turned off debugging printout
+
+2011-01-21 16:57 zmoelnig
+
+ * added videoUNICAP to buildsystem
+
+2011-01-21 16:57 zmoelnig
+
+ * restart transfer when changing dimension
+
+ hmm, this stops acquisition on my laptop: seems to be related to
+ the device not
+ properly starting
+
+2011-01-21 16:56 zmoelnig
+
+ * renamed from Lock to Mutex
+
+2011-01-21 16:56 zmoelnig
+
+ * copyright header
+
+2011-01-21 16:55 zmoelnig
+
+ * capturing seems to work (with system buffers); props too
+
+ TODO: dimension/format setting
+ user-buffer
+ capturing seems to not start on startup
+
+2011-01-21 16:54 zmoelnig
+
+ * wrapper class for mutex
+
+2011-01-21 16:54 zmoelnig
+
+ * copyright fix
+
+2011-01-21 16:53 zmoelnig
+
+ * implementing unicap backend: start/stop device
+
+2011-01-21 16:53 zmoelnig
+
+ * stripped everythig off
+
+2011-01-21 16:52 zmoelnig
+
+ * V4L2 copied as templates for UNICAP
+
+2011-01-19 18:06 zmoelnig
+
+ * made it compile
+
+2011-01-19 18:04 zmoelnig
+
+ * forgot to declare types
+
+2011-01-19 18:02 zmoelnig
+
+ * add YUV format
+
+2011-01-19 17:27 zmoelnig
+
+ * made EOM work properly
+
+2011-01-19 17:09 zmoelnig
+
+ * fixing the EOM
+
+2011-01-19 17:04 zmoelnig
+
+ * removed verbose output
+
+2011-01-19 17:00 zmoelnig
+
+ * added some seeking functionality & removed unneeded code
+
+2011-01-18 17:07 zmoelnig
+
+ * correctly parse UTF-8 encoded symbols
+
+2011-01-18 10:11 zmoelnig
+
+ * added docs about arguments (thanks max)
+
+2011-01-12 18:48 zmoelnig
+
+ * turn lighting on
+
+2011-01-12 18:45 zmoelnig
+
+ * set the window dimension to 512x512
+
+2011-01-12 13:27 zmoelnig
+
+ * properly get timestamp
+
+2011-01-12 13:04 zmoelnig
+
+ * implement some properties
+
+2011-01-12 12:32 zmoelnig
+
+ * adapted videoDV4L to the new API
+
+2011-01-11 11:28 zmoelnig
+
+ * optional frametable support
+
+ older versions of gmerlin-avdecoder don't have frametable support
+
+2011-01-10 14:55 zmoelnig
+
+ * need to get the cstring from std::string
+
+2011-01-10 14:53 zmoelnig
+
+ * fix lqt_set_video_parameter() version hickups
+
+ older versions of lqt had the key as "char*" whereas modern
+ versions use "const
+ char*"
+
+2011-01-08 14:07 zmoelnig
+
+ * getting rid of verbose output
+
+2011-01-06 15:41 zmoelnig
+
+ * getting rid of unused variables
+
+ LATER: check the uss of m_startRecord/m_stopRecord in recordQT
+
+2011-01-06 15:40 zmoelnig
+
+ * (partially) adapted to new gem::record API
+
+ changed setCodec(string) and open(string);
+
+ TODO: getCodecs() & make setCodec(string) work on all available
+ codecs
+
+2011-01-06 15:40 zmoelnig
+
+ * upside down
+
+2011-01-06 15:39 zmoelnig
+
+ * updated to new API
+
+2011-01-06 15:38 zmoelnig
+
+ * adapted to new API of gem::record
+
+2011-01-06 15:37 zmoelnig
+
+ * protect against empty images
+
+ and some verbose output
+
+2011-01-06 15:37 zmoelnig
+
+ * protect against empty image
+
+2011-01-06 15:36 zmoelnig
+
+ * removed internal setCodec() (not needed any more)
+
+2011-01-05 20:48 zmoelnig
+
+ * get rid of m_recordStart/m_recordStop
+
+2011-01-05 20:47 zmoelnig
+
+ * changed type-names to uppercase
+
+ "float" has problems with Pd, so let's use "Float"
+
+2011-01-05 20:47 zmoelnig
+
+ * getting rid of outrageous debugging output
+
+2011-01-05 20:46 zmoelnig
+
+ * first attempt to implement properties
+
+ seems to work!
+
+2011-01-05 20:45 zmoelnig
+
+ * property enumeration
+
+2011-01-05 20:45 zmoelnig
+
+ * better codec-selection scheme
+
+ immediately check whether a codec can be set in setCodec(),
+ rather than
+ deferring it to the init() phase
+
+2011-01-05 20:44 zmoelnig
+
+ * remember name of successfully opened codec
+
+2011-01-05 20:43 zmoelnig
+
+ * remove size()
+
+2011-01-05 20:43 zmoelnig
+
+ * use exceptions/error() where appropriate
+
+2011-01-05 20:42 zmoelnig
+
+ * moved m_width/m_height into implementations
+
+2011-01-05 20:41 zmoelnig
+
+ * setCodec() (re)implemented using std::string
+
+2011-01-05 20:41 zmoelnig
+
+ * new way of handling codecs
+
+ a selected codec selects a number of handles that provide the
+ given codec
+
+2011-01-05 20:40 zmoelnig
+
+ * getting rid of position(), m_xoff & m_yoff
+
+2011-01-05 20:39 zmoelnig
+
+ * getting rid of m_minFrames and m_maxFrames
+
+ theses variables are never used
+
+2011-01-05 20:39 zmoelnig
+
+ * reset frame-counter at start-recording
+
+2011-01-05 20:38 zmoelnig
+
+ * get rid of internal m_currentFrame
+
+ this ought to be tracked in pix_record if needed
+
+2011-01-05 20:37 zmoelnig
+
+ * putFrame() now returns bool rather than int
+
+2011-01-05 20:36 zmoelnig
+
+ * separate internal from external gem::record API
+
+ gem::record implementations implement open(), close() &
+ putFrame()
+ whereas pix_record access these via wrappers start(), stop() &
+ write()
+
+2011-01-05 20:36 zmoelnig
+
+ * started to implement new getCodecs-API
+
+2011-01-05 20:35 zmoelnig
+
+ * send codec-details to the outlet
+
+2011-01-05 20:34 zmoelnig
+
+ * slowly changing gem::record API: swich to std::string
+
+2011-01-04 14:07 zmoelnig
+
+ * prevent double keypress event generation
+
+2011-01-03 12:48 zmoelnig
+
+ * getting rid of size()/position()
+
+ and moved some variables from record to recordQT
+
+2011-01-01 20:13 zmoelnig
+
+ * added property-settings help
+
+2011-01-01 20:13 zmoelnig
+
+ * property settings
+
+2010-12-30 10:15 nusmuk
+
+ * add example for using matrix of screen to create a huge display
+
+2010-12-10 18:33 zmoelnig
+
+ * forgot to add RTE
+
+2010-12-09 15:43 zmoelnig
+
+ * use RTE::Array rather than directly accessing Pd's arrays
+
+ this hopefully fixes the problems on 64bit
+
+2010-12-09 15:42 zmoelnig
+
+ * rgb2gray conversion parameters fix
+
+ if we use the Y(UV) parameters, we also need the Y_OFFSET
+
+2010-12-09 15:41 zmoelnig
+
+ * set-message for arrays
+
+2010-12-08 20:30 zmoelnig
+
+ * fixed NULL-pointer access (closes: 3078043)
+
+2010-12-08 20:18 zmoelnig
+
+ * mention 'set' message
+
+2010-12-08 20:11 zmoelnig
+
+ * fixes #3126880
+
+2010-12-08 20:09 zmoelnig
+
+ * fixes #3126893
+
+2010-12-08 20:05 zmoelnig
+
+ * fixes #3126895
+
+2010-12-08 20:01 zmoelnig
+
+ * font-size 10
+
+2010-12-08 19:49 zmoelnig
+
+ * non-random ID generation
+
+2010-12-07 11:25 zmoelnig
+
+ * floatarray wrapper
+
+2010-12-01 13:47 zmoelnig
+
+ * shaderID - atom mapping revised
+
+ use hashmaps for GLuint<->t_float mapping;
+ some minor cleanups in verbose output
+
+2010-11-18 12:09 zmoelnig
+
+ * pylonified
+
+2010-11-10 17:17 zmoelnig
+
+ * cleaned up
+
+ Properties stuff is now fully based on std::map;
+ reindentation...
+
+2010-11-10 17:14 zmoelnig
+
+ * add pylonutilities to the libs
+
+2010-11-10 15:48 zmoelnig
+
+ * reorganized code using loads of preprocessor magic
+
+2010-11-10 15:40 zmoelnig
+
+ * removed Pd's reference path
+
+2010-11-10 15:39 zmoelnig
+
+ * renamed continuousGrab to asynchronousGrab
+
+2010-11-10 15:38 zmoelnig
+
+ * renamed "continuousGrab" to "asynchronuousGrab"
+
+2010-11-10 15:03 zmoelnig
+
+ * use Prop-types
+
+2010-11-10 11:38 zmoelnig
+
+ * converter class using pylons ImageConvert routines
+
+2010-11-09 15:09 zmoelnig
+
+ * converter (half-working)
+
+2010-11-09 15:08 zmoelnig
+
+ * property-handling using std::map
+
+2010-11-09 15:07 zmoelnig
+
+ * check for pylonutilities...
+
+2010-11-03 19:21 zmoelnig
+
+ * init
+
+2010-11-03 19:21 zmoelnig
+
+ * fixed typo: its StreamGrabberProperties.cpp
+
+2010-11-03 10:40 zmoelnig
+
+ * moved the properties code into separate cxx files
+
+2010-11-03 10:03 zmoelnig
+
+ * indentation
+
+2010-11-02 19:59 zmoelnig
+
+ * simplistic protection against negative enum values
+
+2010-11-02 19:59 zmoelnig
+
+ * output to Pd rather than std::cerr
+
+2010-11-02 19:11 zmoelnig
+
+ * no debugging output
+
+2010-11-02 19:10 zmoelnig
+
+ * debugging output during enumeration
+
+2010-11-02 19:07 zmoelnig
+
+ * don't erase() props before using their values to set()
+
+2010-11-02 18:01 zmoelnig
+
+ * delete props when getting (to make sure to only return props
+ readable)
+
+2010-11-02 17:45 zmoelnig
+
+ * made it compile...
+
+2010-11-02 17:40 zmoelnig
+
+ * added properties to AVT (not tested at all...)
+
+2010-11-02 08:52 zmoelnig
+
+ * hopefully thread-safed the grabContinuous()
+
+2010-11-01 21:17 zmoelnig
+
+ * fixes continuous message
+
+ TODO: setting the continuous flag in video::PIMPL is still prone
+ to
+ race-conditions
+
+2010-11-01 19:37 zmoelnig
+
+ * made continuous grabbing settable from outside
+
+2010-11-01 18:45 zmoelnig
+
+ * properly thawing/freezing
+
+2010-11-01 16:20 zmoelnig
+
+ * freeze() in the loop; thaw() when stopping the capture thread
+
+2010-11-01 14:55 zmoelnig
+
+ * thaw in frameRelease()
+
+2010-11-01 14:54 zmoelnig
+
+ * experiment with signalling
+
+ to avoid unneccessary overhead when capturing
+
+2010-10-31 22:31 zmoelnig
+
+ * removed debugging printout
+
+2010-10-31 21:51 zmoelnig
+
+ * removed PDREFPATH
+
+ no need to keep installation compatibility with outdated Pd's
+
+2010-10-31 21:49 zmoelnig
+
+ * more attributes for pylon
+
+2010-10-31 21:48 zmoelnig
+
+ * indentation
+
+2010-10-31 21:47 zmoelnig
+
+ * better algorithm for extracting the backends from the dll-listing
+
+2010-10-31 14:50 zmoelnig
+
+ * dllexport as needed
+
+2010-10-31 14:49 zmoelnig
+
+ * properly return in non-void functions
+
+2010-10-31 14:47 zmoelnig
+
+ * must not dllexport a function definition (only declarations are
+ allowed)
+
+2010-10-31 13:52 zmoelnig
+
+ * snprintf and M$VC fix
+
+2010-10-31 13:49 zmoelnig
+
+ * fixed w32 issues
+
+2010-10-30 19:17 zmoelnig
+
+ * adapted to new interface
+
+2010-10-30 17:45 zmoelnig
+
+ * clean up of the halcon code
+
+ also allow to acces devices by number (if enumerated)
+
+2010-10-30 12:02 zmoelnig
+
+ * fixed typo with Hans' name
+
+2010-10-30 12:02 zmoelnig
+
+ * V4L2: getting rid of set... stuff as this is now handled via
+ properties
+
+2010-10-30 12:01 zmoelnig
+
+ * V4L1: initial support for new properties interface
+
+2010-10-30 12:01 zmoelnig
+
+ * initial support for new interface...
+
+ NOTE: need to restart when channel changes
+
+2010-10-30 12:00 zmoelnig
+
+ * get rid of the set...() stuff, as this is now handled by
+ setProperties()
+
+2010-10-30 12:00 zmoelnig
+
+ * video::getProperties also reports empty properties
+
+ i don't know whether this will ever happen.
+ but if a property is set to type==NONE when reading, it is sent
+ to the info-out
+
+2010-10-30 11:59 zmoelnig
+
+ * "enumerate" video-devices now reports to the infoout
+
+ we also append the backend for a given video-device to the info
+
+2010-10-30 11:59 zmoelnig
+
+ * return a value in assign()
+
+ forgot to 'return (*this);' in assignment operator (g++ is a bit
+ lax here...)
+
+2010-10-30 11:58 zmoelnig
+
+ * copy constructor and assignment for Properties
+
+2010-10-28 10:58 zmoelnig
+
+ * property getting
+
+ ah, those enumerations...
+
+2010-10-28 08:29 zmoelnig
+
+ * moved expandEnv into GemFiles
+
+2010-10-27 17:11 zmoelnig
+
+ * adapted to new API (that requires openDevice() to be called with
+ props)
+
+2010-10-27 17:10 zmoelnig
+
+ * first working version
+
+2010-10-27 09:18 zmoelnig
+
+ * no need to link against (non-existant) libpyloncpp
+
+2010-10-27 08:25 zmoelnig
+
+ * enumerate backends, simple device selection
+
+ try to enlist all known backends, by searching for files in
+ ${HALCONROOT}/lib/${HALCONARCH}
+
+ also enumerate available devices (either of the active backend or
+ of all
+ backends) and allow the user to open this without the complicated
+ videoHALCON
+ syntax (e.g. if enumeration reports
+ "0030530f8e64_Basler_scA640120gm" for the
+ "GigEVision" backend, then using a device
+ "0030530f8e64_Basler_scA640120gm" will
+ automatically use the correct backend
+
+2010-10-26 19:57 nusmuk
+
+ * better help file for pix_data
+
+2010-10-25 11:05 zmoelnig
+
+ * get/set parameters
+
+ sometimes this still acts weird:
+ parameters reported to be supported are not;
+ types are wrong...
+
+2010-10-25 10:41 nusmuk
+
+ * add a better exemple for geometry shader
+
+2010-10-25 09:48 zmoelnig
+
+ * updated to new interface - implemented get/enum props
+
+2010-10-25 08:44 zmoelnig
+
+ * openDevice() now also sets initial gem::Properties
+
+2010-10-25 08:24 zmoelnig
+
+ * remove unneccessary variables; initialize vars
+
+2010-10-25 08:22 zmoelnig
+
+ * properly initialize the v4l2_format and minimize ioctlS
+
+ call G_FMT to initialize the v4l2_format structure (else some
+ drivers would try
+ to set the dimension of the capture image to "0,0" and returning
+ some minimal
+ framesize...)
+
+ also avoid calling S_FMT if everything is as we expect it
+ anyhow...
+
+2010-10-25 08:15 zmoelnig
+
+ * make sure QUERYCTRL is called with the correct id
+
+ some drivers modify the queryctrl.id, making the for-loop
+ virtually
+ return NEVER;
+ therefore we use a separate loop-parameter
+
+2010-10-25 08:12 zmoelnig
+
+ * debugging output
+
+ this time we can separately set debugging-printout for xioctl,
+ threads and
+ normal
+
+2010-10-24 20:13 zmoelnig
+
+ * debugging output
+
+2010-10-24 17:32 zmoelnig
+
+ * properly shut down transfer in stopTransfer
+
+ it seems like we have to cleanup the REQBUFS ioctl as well, by
+ calling
+ it and requesting "0" buffers.
+ at least this shuts down the streaming in such a way that we can
+ change the
+ format of the captured image (eg. dimension)
+
+2010-10-24 17:32 zmoelnig
+
+ * added comment on why we have to use G_FMT
+
+ while S_FMT is supposed to update the fields of the format struct
+ to the
+ actually valid values, it seems to not do so (at least the
+ "uvcvideo" driver).
+ thus we have to manually call G_FMT
+
+2010-10-24 17:31 zmoelnig
+
+ * removed dimension-setting from startTransfer
+
+ width/height settings should really only be applied in
+ setProperties
+
+2010-10-24 17:30 zmoelnig
+
+ * use xioctl rather than v4l2_ioctl
+
+ xioctl is a wrapper for v4l2_ioctl
+
+2010-10-24 17:30 zmoelnig
+
+ * debugging printout
+
+ added new define debugIOCTL for debugging v4l2_ioctlS.
+ fixed typos in debugging output.
+ removed unconditional debugging output
+
+2010-10-24 17:29 zmoelnig
+
+ * don't set the channel in startTransfer
+
+ this is done in setProperties() if needed
+
+2010-10-24 17:29 zmoelnig
+
+ * removed "buggy driver paranoia", as it doesn't do anything
+ meaningful
+
+ all the code sets variables that are never ever used again
+
+2010-10-24 17:28 zmoelnig
+
+ * moved and disabled the cropping code
+
+ the old code tried to reset all cropping; moved this into
+ setProperties() and
+ disabled it for now (as i would like the interface to change as
+ little as
+ possible without the user explicitely requesting it)
+
+2010-10-24 17:27 zmoelnig
+
+ * implemented and updated to new interface of plugin/video.h
+
+ mostly setting of properties works now (at least for PARAMs)
+
+2010-10-24 17:27 zmoelnig
+
+ * better debugging output
+
+ either more readable code or more information or both
+
+2010-10-24 17:26 zmoelnig
+
+ * updated properties interface and Pd-interface
+
+ properties interface is more flexible;
+ Pd interface allows to get data into patch
+
+2010-10-22 19:03 zmoelnig
+
+ * starting to port to new interface
+
+2010-10-22 14:49 zmoelnig
+
+ * get/set/enumerate properties
+
+2010-10-22 14:47 zmoelnig
+
+ * get/set/enumerate properties
+
+2010-10-20 11:42 zmoelnig
+
+ * more on properties
+
+2010-10-16 16:08 zmoelnig
+
+ * notes
+
+2010-10-16 16:06 zmoelnig
+
+ * simple string->any map
+
+2010-10-14 15:04 zmoelnig
+
+ * PYLONified
+
+2010-10-14 14:50 zmoelnig
+
+ * non-working prototype for PYLON backend
+
+2010-10-14 14:09 zmoelnig
+
+ * example code how to get parameters
+
+2010-10-14 12:12 zmoelnig
+
+ * asynchronous frame grabbing
+
+ this seems to give us way better framerates
+
+2010-10-14 09:30 zmoelnig
+
+ * only re-generate font if there is none
+
+ previous code would re-generate the entire font each time the
+ text was updated.
+
+2010-10-12 15:40 zmoelnig
+
+ * when opening fails, reset the grabber to NULL (and fail to
+ grabImage if so).
+ also use defaults if no values are provided in the opener strings
+
+2010-10-12 15:38 zmoelnig
+
+ * Status should not be defined as "int"
+
+ ouch: Xlib.h defines "Status" as "int", but Halcon uses "Status"
+ as a variable
+ name.
+
+2010-09-30 11:57 zmoelnig
+
+ * removed pix_drum/pix_mano from build process until we have a
+ makefile for them
+
+2010-09-24 09:16 zmoelnig
+
+ * include pix_mano/pix_drum
+
+2010-09-24 08:40 zmoelnig
+
+ * added jaime's pix_mano/pix_drum objects
+
+2010-09-16 15:34 eighthave
+
+ * replaced dead pure-data.org with puredata.info
+
+2010-09-06 13:59 zmoelnig
+
+ * allow negative indices
+
+ should fix #3054193
+
+2010-09-06 10:58 zmoelnig
+
+ * hopefully better hashing algorithm
+
+2010-09-05 17:32 nusmuk
+
+ * add a multitexture example, with texture of 2 diferents size.
+ thanks to JACK
+
+2010-08-27 19:17 nusmuk
+
+ * small bug fix about primitive size
+
+2010-08-27 09:16 nusmuk
+
+ * add .obj exportation exemple
+
+2010-08-22 17:58 zmoelnig
+
+ * glmTexture() has to be called before compiling the display lists
+
+2010-08-17 12:44 zmoelnig
+
+ * GEM_CHECK_LIB also defines HAVE_function
+
+2010-08-17 09:58 zmoelnig
+
+ * use "lqt_seek_video" is available
+
+2010-08-17 08:43 zmoelnig
+
+ * remove #warning
+
+2010-08-17 08:41 zmoelnig
+
+ * use frametable if possible
+
+2010-08-16 13:42 zmoelnig
+
+ * try to avoid seeking if next frame would be the requested frame
+ anyhow
+
+2010-08-16 13:23 zmoelnig
+
+ * added note about double-size...
+
+2010-08-07 18:24 zmoelnig
+
+ * implemented fromARGB()
+
+
+ v4l2 devices with FMT_RGB32 return ARGB -> now
+ we finally have to correct colors!
+
+2010-08-07 17:44 zmoelnig
+
+ * forgot to check for "-fPIC"
+
+ "-fPIC" is needed on x86_64...
+
+2010-08-04 11:29 zmoelnig
+
+ * fromBGRA() is now implemented
+
+2010-08-04 10:05 zmoelnig
+
+ * more verbose output; comment about why RGB32 is a bad idea
+
+2010-08-02 13:22 zmoelnig
+
+ * include <sys/stat.h> to use fstat
+
+ backport of ubuntu patch
+
+2010-07-15 15:12 zmoelnig
+
+ * added recordV4L and recordV4L2
+
+2010-07-15 11:41 nusmuk
+
+ * change the draw message from fill to default
+
+2010-07-15 11:40 zmoelnig
+
+ * less verbose output
+
+2010-07-15 11:32 zmoelnig
+
+ * made the V4L2 loopback device work
+
+2010-07-15 10:23 zmoelnig
+
+ * skeleton for recordV4L2
+
+2010-07-14 17:56 zmoelnig
+
+ * added (disabled) code from effectv to show how to react on ioctls
+ from the
+ client
+
+2010-07-14 15:32 zmoelnig
+
+ * we can now write to a v4l loopback device
+
+2010-07-14 13:06 zmoelnig
+
+ * more skeleton (still no functionality)
+
+2010-07-14 12:59 zmoelnig
+
+ * skeleton for a pix-output to v4l loopback
+
+2010-07-14 12:45 zmoelnig
+
+ * careful with auto_ptr and copy-assignment
+
+ override assignment operator in order to prevent crashes.
+ fixes #3029467
+
+2010-07-14 12:12 zmoelnig
+
+ * moved comment to the proper place
+
+2010-07-14 11:11 zmoelnig
+
+ * support for non-libv4l
+
+ "open()" and the like need to by FQND'd ("::open()") in order to
+ not interfere
+ with class methods ("videoV4L::open()")
+
+2010-07-14 11:03 nusmuk
+
+ * add repeat(int) and quality(int) message to pix_imageInPlace
+
+2010-07-14 10:33 nusmuk
+
+ * pix_imageInPlace crash if you preload images, and then click on
+ download, without creating a windows first.
+ this commit should fix this bug.
+
+2010-07-13 07:25 zmoelnig
+
+ * cleaned up code a bit
+
+ changed "post" to "verbose"
+ TODO: shared memory for w32
+
+2010-07-13 07:23 zmoelnig
+
+ * "force install verbose" autoreconf
+
+2010-07-09 12:20 zmoelnig
+
+ * prevent double-binding of [pix_filmQT]
+
+ Pd bails out if we call class_addcreator() 2 times for the same
+ name/ctor.
+ it probably should check
+
+2010-07-09 12:10 zmoelnig
+
+ * "open"-message is now an alias for both "startRendering()" (with
+ no args) and for "driver" (with 1 arg; for compatibility reasons)
+
+2010-07-09 11:41 zmoelnig
+
+ * this configure is for Gem's extras
+
+2010-07-08 17:34 zmoelnig
+
+ * svn-version is now handled by make rather than autoconf
+
+2010-07-08 17:33 zmoelnig
+
+ * optionally add objectname/object to the generic exception handler
+
+ this allows the generic handler to display the correct
+ object-name
+
+2010-07-08 12:22 zmoelnig
+
+ * untested support for bayer-images
+
+2010-07-02 19:33 zmoelnig
+
+ * renamed gemversion.sh to pkgversion.sh
+
+2010-07-02 19:16 zmoelnig
+
+ * removed verbose printout
+
+2010-07-02 19:09 zmoelnig
+
+ * dynamic version handling
+
+ LATER: turn "gemversion.sh" into a more generic "pkgversion.sh"
+
+2010-07-02 11:18 zmoelnig
+
+ * trying to workaround bugs in APPLE
+
+ there is a bug in wordfree on OSX.
+ according to the following mail this can be worked around:
+ http://www.mail-archive.com/fink-users@lists.sourceforge.net/msg28520.html
+
+2010-07-02 11:15 zmoelnig
+
+ * start of an autoversion system
+
+
+ i'd like to have the SVN-revision number in the build
+
+2010-07-01 16:22 zmoelnig
+
+ * long README
+
+2010-07-01 15:40 zmoelnig
+
+ * print UniqueID as hex
+
+2010-07-01 15:34 zmoelnig
+
+ * added TODO
+
+2010-07-01 15:32 zmoelnig
+
+ * probably working now (who knows)
+
+2010-07-01 15:23 zmoelnig
+
+ * at least it compiles
+
+ now we need a GiGE camera to test this
+
+2010-07-01 11:21 zmoelnig
+
+ * AVT...
+
+2010-07-01 11:19 zmoelnig
+
+ * link against PvApi.lib rather than Halcon.lib
+
+2010-07-01 11:18 zmoelnig
+
+ * adapted LICENSE for use with AVT rather than HALCON
+
+2010-07-01 11:16 zmoelnig
+
+ * template for AVT-backend
+
+2010-06-28 14:04 zmoelnig
+
+ * better formatting
+
+2010-06-28 14:00 zmoelnig
+
+ * a small wrapper script to detect the current Gem-version
+
+ the script should accept the environmental variables:
+ GEM_VERSION_MAJOR, GEM_VERSION_MINOR, GEM_VERSION_BUGFIX,
+ GEM_VERSION_CODENAME
+
+ and take one of the flags:
+ --major
+ --minor
+ --bugfix
+ --codename
+
+2010-06-28 13:35 zmoelnig
+
+ * micro-version and codename now handled by configure
+
+2010-06-28 10:37 zmoelnig
+
+ * GEM_EXTERN -> GEM_EXPORT
+
+ even for non-w32 plugins
+
+2010-06-28 10:23 zmoelnig
+
+ * fixed width/height
+
+ accidentally, width and height were swapped resulting in weird
+ images.
+ this was easier to find out on w32, where there is actually
+ support for a camera i own (through DirectShow)
+
+2010-06-28 10:00 zmoelnig
+
+ * signed/unsigned comparision
+
+2010-06-28 09:49 zmoelnig
+
+ * made videoHALCON compile on w32
+
+2010-06-28 09:48 zmoelnig
+
+ * renamed scopeXYZto scopeXYZ~
+
+2010-06-28 09:27 zmoelnig
+
+ * signed/unsigned comparision
+
+2010-06-28 08:48 zmoelnig
+
+ * (dummy) M$VC-project files
+
+2010-06-28 08:06 zmoelnig
+
+ * updated help patches (according to max) and removed dupes
+
+ closes #3021553, #3021551, #3021470, #3021461, #3021460
+
+2010-06-28 07:36 zmoelnig
+
+ * hopefully fixed bug crashing [scopeXYZ~]
+
+ very small scope-buffers in combination with long dsp-blocks
+ could lead to
+ crashes; should be fixed now
+
+2010-06-25 14:45 zmoelnig
+
+ * renamed file to "scopeXYZ~"
+
+2010-06-25 14:38 zmoelnig
+
+ * seems to work so far (closes #2955520)
+
+2010-06-25 13:20 zmoelnig
+
+ * scopeXYZ~: at least something going on with the texcoords
+
+2010-06-25 06:35 zmoelnig
+
+ * fixing scopeXYZ~
+
+ working, though not yet with textures
+
+2010-06-23 14:56 zmoelnig
+
+ * added videoHALCON
+
+2010-06-23 14:52 zmoelnig
+
+ * added README
+
+2010-06-23 13:58 zmoelnig
+
+ * simple parser for the device-string (using ":" as delimiter)
+
+2010-06-23 13:42 zmoelnig
+
+ * seems like autoconf now works
+
+2010-06-23 11:12 zmoelnig
+
+ * "Halcon::"ify the verbose output; notes on TODO
+
+2010-06-23 09:42 zmoelnig
+
+ * first working prototype
+
+ "File" backend works (and it's the only one i can test)
+ TODO: selection of halconbackend, cameratype and device
+ (this has to be done via a single symbol!)
+
+2010-06-22 14:12 zmoelnig
+
+ * fixed typo (though configure-test don't work currently anyhow)
+
+2010-06-22 13:59 zmoelnig
+
+ * HALCON backend (non-functional)
+
+2010-06-22 09:14 zmoelnig
+
+ * added float-callback to start/stop the transfer
+
+2010-06-22 09:14 zmoelnig
+
+ * more verbose()ity
+
+2010-06-22 08:51 zmoelnig
+
+ * enumeration of DV4L devices
+
+2010-06-22 08:50 zmoelnig
+
+ * enumeration() now does some basic tests
+
+ do some checks to find out whether a given device is really v4l1
+
+2010-06-21 15:42 zmoelnig
+
+ * check for v4l2 capabilities
+
+2010-06-21 15:26 zmoelnig
+
+ * enumerate() for videoV4L and videlV4L2
+
+ TODO: videoV4L1 seems to get v4l2 devices as well
+ TODO: make sure that only capture devices are listed
+ (i think currently also output devices will be listed)
+
+2010-06-21 14:43 zmoelnig
+
+ * fixed symbolic-device selection for dc1394
+
+2010-06-21 14:32 zmoelnig
+
+ * fixed bug in the setDevice(int) code;
+ notes about the state-variables
+
+2010-06-21 14:30 zmoelnig
+
+ * added verbose()ity
+
+2010-06-21 14:17 zmoelnig
+
+ * more info
+
+2010-06-21 14:04 zmoelnig
+
+ * hopefully more robust device-changing
+
+2010-06-21 13:06 zmoelnig
+
+ * video-backends have to supply their name
+
+2010-06-21 12:21 zmoelnig
+
+ * removed [pix_indycam]: it's no longer here
+
+2010-06-21 11:05 zmoelnig
+
+ * don't initialized gem::PluginFactory<>::s_factory
+
+ g++-4.5 is picky about double definitions
+
+2010-06-21 11:03 zmoelnig
+
+ * use HAVE_PTHREADS; use CXX; ...
+
+2010-06-21 11:02 zmoelnig
+
+ * define HAVE_PTHREADS if pthreads are found
+
+2010-06-21 10:59 zmoelnig
+
+ * turned inside out (fixes: #3000166)
+
+2010-06-16 16:45 zmoelnig
+
+ * k32BGRAPixelFormat -> k32ARGBPixelFormat as suggested in #2980652
+
+2010-06-15 09:39 zmoelnig
+
+ * fixed typo where rgb2yuv would multiply by Y_OFFSET rather than
+ add to
+
+2010-06-02 14:23 zmoelnig
+
+ * updated configure.ac/Makefile to include all plugins;
+ little script to generate configure.ac
+
+2010-06-02 14:22 zmoelnig
+
+ * better guid handling
+
+2010-05-26 17:10 zmoelnig
+
+ * modify "libdir" so that it points to .../pd/extra/Gem:
+ this is where all the plugins (and Gem itself) should be
+ installed
+
+2010-05-26 16:30 zmoelnig
+
+ * checks for threads
+
+ currently only pthreads are supported
+
+2010-05-26 15:52 zmoelnig
+
+ * allocate more memory for the target image
+
+ gluScaleImage sometimes crashes when resizing to a a small
+ greyscale image
+ (25x25).
+ i suspect that it needs more "working" memory, so we allocate as
+ if the target
+ image where RGBA
+
+ hopefully fixes #3007373
+
+2010-05-26 15:48 zmoelnig
+
+ * do not assume that greyscale-images have numpix%4=0
+
+ fixes #3007370
+
+2010-05-26 12:26 zmoelnig
+
+ * use "unsigned int" where appropriate
+
+2010-05-26 10:56 zmoelnig
+
+ * dialogMess/enumerateMess
+
+2010-05-26 10:37 zmoelnig
+
+ * merged videoIndy into videoSGI
+
+ just noticed that pix_videoindy really only provided an interface
+ to control the
+ camera of the indy; all the grabbing code has been gone long (was
+ it ever there)
+
+ thus i moved the code over to the videoSGI plugin, but disabled
+ all the
+ functionality for now
+
+2010-05-26 10:20 zmoelnig
+
+ * moved pix_indycam into videoIndy
+ not working yet
+
+2010-05-26 09:44 zmoelnig
+
+ * fixed the OutputName
+
+2010-05-26 09:33 zmoelnig
+
+ * set output name to this weird convention...
+
+2010-05-26 09:20 zmoelnig
+
+ * OutputDir is always SolutionDir
+
+2010-05-26 08:58 zmoelnig
+
+ * updated M$VC project to include the videoDS and videoVFW
+ sub-projects
+
+2010-05-26 08:55 zmoelnig
+
+ * initialization in init-part of ctor
+
+2010-05-26 08:51 zmoelnig
+
+ * compiled/linked/loaded under windows
+
+ no camera attached yet, however...
+
+2010-05-26 08:16 zmoelnig
+
+ * export the class rather than using GEM_EXTERN
+
+2010-05-26 08:10 zmoelnig
+
+ * renamed videoNT to videoVFW
+
+2010-05-25 16:36 zmoelnig
+
+ * catchGemException() is GEM_EXTERN
+
+2010-05-25 16:32 zmoelnig
+
+ * proper includes for w32
+
+2010-05-25 13:43 zmoelnig
+
+ * moved "close" towards canonical solution
+
+ means: closing now works (again?)
+
+2010-05-25 13:42 zmoelnig
+
+ * return TRUE when stopping threads if no thread is present
+
+2010-05-25 12:23 zmoelnig
+
+ * use std::string rather tan "char*"; convert from YUY2
+
+ i thought i've already done this a while ago...
+
+2010-05-25 12:22 zmoelnig
+
+ * M$VC projects for vfw backend
+
+2010-05-25 12:11 zmoelnig
+
+ * added fromABGR()
+
+2010-05-24 18:07 zmoelnig
+
+ * M$VC project (copied from filmDS)
+
+2010-05-21 16:40 zmoelnig
+
+ * normalized the "provide"d interfaces
+
+2010-05-21 16:39 zmoelnig
+
+ * PluginFactory interface and provides
+
+2010-05-21 16:38 zmoelnig
+
+ * dialog() now takes a vector of dialog-names to open;
+ if none are specified, all should be opened
+
+2010-05-21 16:38 zmoelnig
+
+ * this might compile now...
+
+2010-05-21 16:37 zmoelnig
+
+ * fixed typo in Makefile.am
+
+2010-05-21 16:29 zmoelnig
+
+ * cleaned up code without even trying to compile it
+
+2010-05-21 16:29 zmoelnig
+
+ * include the local config.h if possible
+
+2010-05-20 16:43 zmoelnig
+
+ * copied from pix_videoDarwin: more history!
+
+ losing the history for the backendification...
+
+2010-05-20 16:36 zmoelnig
+
+ * use carbon-framework as well; frameworks not needed for CFLAGS
+
+2010-05-20 16:35 zmoelnig
+
+ * initial checkin (just a copy from pix_videoDS)
+
+2010-05-20 16:16 zmoelnig
+
+ * at least i got an image!
+
+2010-05-20 15:49 zmoelnig
+
+ * dialog/enumerate methods
+
+2010-05-20 15:48 zmoelnig
+
+ * proper initialization
+
+2010-05-20 15:47 zmoelnig
+
+ * ctor/dtor don't have return types...
+
+2010-05-20 15:29 zmoelnig
+
+ * at least it compiles...
+
+ ZERO function tests have been made
+
+2010-05-20 15:02 zmoelnig
+
+ * no arguments for videoV4L2::ctor
+
+2010-05-20 13:27 zmoelnig
+
+ * not working at all yet...
+
+2010-05-20 12:18 zmoelnig
+
+ * might compile (or not; has to be tried)
+
+2010-05-20 10:12 zmoelnig
+
+ * videoSGI might work (or not, who can test that?)
+
+2010-05-20 08:47 zmoelnig
+
+ * moved pix_video{NT,SGI} into plugins
+
+ not working at all for now; just moved files around...
+
+2010-05-19 14:49 zmoelnig
+
+ * fixed start/stop: should report expected status rather than
+ actual status
+
+2010-05-19 13:49 zmoelnig
+
+ * use the new DV4L implementation
+
+ this implementation works for both the new juju stack and
+ the old dv1394 interface; the old implementation only worked
+ with the old dv1394 interface which is slowly vanishing from all
+ major
+ distributions...
+
+2010-05-19 13:41 zmoelnig
+
+ * protect against NULL-pointer to raw1394 structure
+
+2010-05-19 13:11 zmoelnig
+
+ * added videoDC1394 to the build
+
+2010-05-19 13:02 zmoelnig
+
+ * set m_width/m_height in the default setDimen() method
+
+2010-05-19 13:01 zmoelnig
+
+ * less verbose pluginfactory
+
+2010-05-19 12:40 zmoelnig
+
+ * implemented "channel" switching
+
+ actually this is "mode" selection
+
+2010-05-19 12:40 zmoelnig
+
+ * removed swap/offset: no plugin implements them anyhow
+
+2010-05-19 12:39 zmoelnig
+
+ * removed offset/swap messages: no backend implements them anyhow
+
+2010-05-19 09:59 zmoelnig
+
+ * allow to query gem::video for all devices it provides
+
+ [pix_video] can now do all the formatting itself;
+ gem::video doesn't print anything anymore when it is informed
+ that
+ it actually "provide"s something
+
+2010-05-19 09:59 zmoelnig
+
+ * also provide "iidc"
+
+2010-05-19 09:58 zmoelnig
+
+ * removed the test-exception
+
+2010-05-19 09:58 zmoelnig
+
+ * device-selection
+
+2010-05-19 09:58 zmoelnig
+
+ * handle exceptions in the plugin-ctors
+
+2010-05-18 13:58 zmoelnig
+
+ * frame locking (does it work?)
+ less verbose
+
+2010-05-18 13:55 zmoelnig
+
+ * got an image!
+
+2010-05-18 10:24 zmoelnig
+
+ * convenience method "usleep"
+
+2010-05-18 09:54 zmoelnig
+
+ * replaced "char*" by "std::string"
+
+2010-05-18 09:26 zmoelnig
+
+ * reverted all changes from the last few days and re-started
+ with the original code
+
+ at least this doesn't freeze my system...
+
+2010-05-17 12:46 zmoelnig
+
+ * multiple locks
+
+2010-05-17 11:58 zmoelnig
+
+ * hopefully fixed the dimen-mess
+
+2010-05-17 09:47 zmoelnig
+
+ * implemented device setting...
+
+2010-05-17 09:09 zmoelnig
+
+ * more robust; default quality is "best"
+
+2010-05-17 09:04 zmoelnig
+
+ * added open/close messages
+
+2010-05-17 08:29 zmoelnig
+
+ * at least got an image...
+
+2010-05-16 18:53 zmoelnig
+
+ * use std::string instead of "char*"
+
+2010-05-14 18:51 zmoelnig
+
+ * cleaned up (lots of things are done in plugins/video)
+
+2010-05-14 18:50 zmoelnig
+
+ * debugging messages
+
+2010-05-14 18:49 zmoelnig
+
+ * use ::close()/::open() rather than close/open
+
+2010-05-14 18:49 zmoelnig
+
+ * made it compile; needs testing
+
+ send my IIDC camera so i can do some proper tests...
+
+2010-05-14 18:48 zmoelnig
+
+ * only get frame if we haveVideo and are capturing
+
+2010-05-14 18:47 zmoelnig
+
+ * moved private data into PIMPL
+
+2010-05-14 18:47 zmoelnig
+
+ * open/close/start/stop methods to be called from outside;
+
+ these automatically handle the capturing/haveVideo states and
+ start/close the threads
+
+2010-05-14 16:36 zmoelnig
+
+ * nono nothing yet
+
+2010-05-14 15:38 zmoelnig
+
+ * alternative implementation of libDV4L
+
+ does not work yet
+
+2010-05-13 15:03 zmoelnig
+
+ * fixed linebreak
+
+2010-05-13 15:02 zmoelnig
+
+ * made it loadable by removing not-implemented methods from header
+
+2010-05-13 15:02 zmoelnig
+
+ * exception string is now a std::string() rather than a char*
+
+2010-05-13 15:01 zmoelnig
+
+ * don't include GemException.h for all objects
+
+2010-05-13 14:59 zmoelnig
+
+ * removed void comment
+
+2010-05-13 14:58 zmoelnig
+
+ * allocate memory for the error-string; could be a memleak
+
+2010-05-13 14:57 zmoelnig
+
+ * non-verbose output
+
+2010-05-13 14:57 zmoelnig
+
+ * compiles and i managed to get an image...^
+
+2010-05-13 14:56 zmoelnig
+
+ * upgrade to the new interface;
+
+ seems to work; but needs more stress testing
+
+2010-05-13 14:56 zmoelnig
+
+ * experimental upgrade to the new interface.
+ no chance for testing yet.
+
+2010-05-13 14:55 zmoelnig
+
+ * cleaned up interface of gem::video
+
+ added documentation on what a metthod is supposed to do;
+ breaks compatibility with all the implementations
+
+2010-05-13 14:54 zmoelnig
+
+ * cleaned up code of [pix_video] in preparation for the cleanup of
+ the
+ video-plugins
+
+2010-05-11 18:52 zmoelnig
+
+ * now i would like to get my hand on an IIDC camera and test it
+
+2010-05-11 16:57 zmoelnig
+
+ * start the transfer; frames are discarded though
+
+2010-05-07 16:45 zmoelnig
+
+ * build system kind of works
+
+2010-05-07 15:04 zmoelnig
+
+ * copied files from videoDV4L to videoDC1394
+
+ no work has actually been done yet; so this won't work for now
+
+2010-05-07 10:40 zmoelnig
+
+ * refresh the buffer when requested from downstream for processing
+
+2010-05-07 10:34 zmoelnig
+
+ * resend the image on request
+
+ at least set the "newimage" flag; if something downstream really
+ modifies the image, this might hav side effects; i cannot think
+ of a
+ fast implementation (without caching each frame) that would allow
+ that;
+ if people run into it, they should probably use [pix_separator]
+
+2010-05-07 09:37 zmoelnig
+
+ * when changing the dimension for pix_resize, this should trigger
+ setPixModified()
+
+2010-05-07 08:49 zmoelnig
+
+ * the triangle is really equal-sided and not equilateral
+ fixes #2979943
+
+2010-05-06 14:15 zmoelnig
+
+ * hopefully fixed bug when allocating sizes
+
+2010-05-06 13:52 zmoelnig
+
+ * updated glew to 1.5.4
+
+2010-05-06 13:51 zmoelnig
+
+ * updated GLEW
+
+2010-05-02 15:58 zmoelnig
+
+ * set the AC_CONFIG_AUX_DIR to .
+
+2010-05-02 14:28 zmoelnig
+
+ * hopefully fixed the pascal-strings' fprintf()ing, as pointed out
+ by matju.
+
+ there are surely loads of other wrong printf() uses.
+
+2010-05-02 14:25 zmoelnig
+
+ * aclocal, autoconf, autoheader, automake
+
+ according to http://www.seul.org/docs/autotut/, it should be this
+ order...
+
+2010-05-02 14:18 zmoelnig
+
+ * call autoheader before automake when running them manually
+ (hopefully fixes the w32 compilation issue)
+
+2010-05-02 14:11 zmoelnig
+
+ * note about where to get GLEW from
+
+2010-04-28 09:14 zmoelnig
+
+ * use autoheader
+
+ additionally there's a small helper-function for debugging...
+
+2010-04-28 08:53 zmoelnig
+
+ * dummy implementations of pushd/popd
+
+2010-04-28 08:32 zmoelnig
+
+ * fixed bashisms
+
+2010-04-28 08:08 zmoelnig
+
+ * substitute "let" expression with "$(( ))"
+
+ as suggested by https://wiki.ubuntu.com/DashAsBinSh
+
+2010-04-28 08:02 zmoelnig
+
+ * removed bashisms when defining functions()
+
+2010-04-28 07:59 zmoelnig
+
+ * fixed typo in define (HAVE_VIDEO4LINUX rather than
+ HAVE_VIDE4LINUX)
+
+2010-04-27 13:14 zmoelnig
+
+ * manual implementation of autoreconf as fallback...
+
+2010-04-27 12:47 zmoelnig
+
+ * plugins are now prefixed with "gem_" (e.g. "gem_filmAVI.so")
+
+2010-04-27 10:32 zmoelnig
+
+ * check for existing pimpl
+
+2010-04-27 10:21 zmoelnig
+
+ * uglified & simplified the entire plugin-engine
+
+ the PluginFactory used to crash a lot, so this is a new attempt:
+ skipped ClassId and hardcode it to std::string;
+ skip the map<ClassId, ctor_t> and replace it by a map<string,
+ void*>
+ that is handled in the PluginBaseFactory
+
+ i have no clue about template programming, but if this is what
+ comes out then
+ IT IS REALLY AND UGLY HACK!
+
+2010-04-26 09:59 zmoelnig
+
+ * i think these are not needed...
+
+2010-04-26 09:37 zmoelnig
+
+ * stripped down to only run autoreconf
+
+2010-04-23 12:57 zmoelnig
+
+ * set the AC_CONFIG_AUX_DIR to .
+
+2010-04-23 07:14 zmoelnig
+
+ * loadbang the [quality 0( messages to [pix_texture]
+
+2010-04-22 15:58 zmoelnig
+
+ * Squashed commit of the following: (fixTypo branch)
+
+ commit c6c538094e219209265208eeb661967cc10f6821
+ Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
+ Date: Thu Apr 15 19:12:48 2010 +0200
+
+ cosmetic changes
+
+ removed spurious "on"
+ rearranged a bit
+
+ commit 49238287f8ef7b0c106323f12ced3e35c89f7f04
+ Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
+ Date: Thu Apr 15 19:11:35 2010 +0200
+
+ quote the "open" (it refers to a method)
+
+ commit 6ccfd4af2030ac280cc6a808be2a938dd4ea8ad9
+ Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
+ Date: Thu Apr 15 19:09:21 2010 +0200
+
+ better use of space
+
+ commit 881b1826cf8165cc7f4764af08f36fb93daf0e04
+ Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
+ Date: Thu Apr 15 19:06:05 2010 +0200
+
+ better use of canvas space
+
+ commit 3ba518e5f4ba00d25a0820213b50d1cc81e1defb
+ Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
+ Date: Thu Apr 15 19:05:29 2010 +0200
+
+ the example patch is on the left side, not on the right
+
+ commit 00b62180e9b06565007565519a860c1475807894
+ Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
+ Date: Thu Apr 15 19:04:57 2010 +0200
+
+ use "labels" of numberboxes
+
+ commit 2e534b948824307176794afa2bb6781e9654a31a
+ Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
+ Date: Thu Apr 15 19:04:17 2010 +0200
+
+ "perspective"
+
+ commit 5b6f06f8adb65ad6965a2ca006bfdc324e40719d
+ Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
+ Date: Thu Apr 15 18:57:43 2010 +0200
+
+ fixed some typos in the documentation
+
+ and corrected the statement about where the initial translation 0
+ 0 -4
+ comes from (it's done in [gemwin] not in [gemhead])
+
+2010-04-21 09:21 zmoelnig
+
+ * add notes about PLUGINs when printing the result-screen
+
+2010-04-21 09:15 zmoelnig
+
+ * forgot closing paranthesis in help-string
+
+2010-04-19 09:43 zmoelnig
+
+ * use AC_LIB_APPENDTOVAR rather than manually appending
+
+2010-04-19 09:11 zmoelnig
+
+ * bumped needed autoconf version to 2.60
+
+2010-04-18 07:46 zmoelnig
+
+ * Squashed commit of the following:
+
+ commit 06653cbdaec3d59cbf20e04184a4114e63875291
+ Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
+ Date: Sat Apr 17 17:39:48 2010 +0200
+
+ KLUDGE: provide a dummy "install"
+
+ commit 5465970faf4214c0a6dc19006314266061fffe7b
+ Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
+ Date: Sat Apr 17 17:01:01 2010 +0200
+
+ "clean" and "install" targets for plugins and extra
+
+ commit cac35ffc948e731ba711c9edff8fe773ee09390d
+ Merge: 828d871 212abf6
+ Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
+ Date: Sat Apr 17 16:38:36 2010 +0200
+
+ Merge branch 'pluginfactory' of ssh://dev.iem.at/~/src/git/GemEEE
+ into pluginfactory
+
+ commit 212abf6e3d9e2a9549fdf539ed05718c08ef9471
+ Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
+ Date: Sat Apr 17 16:03:29 2010 +0200
+
+ added "clean" and "install" targets to the plugins;
+
+ since the Makefile.subdir also provides "clean", we have to
+ switch
+ to "::" targets
+
+ commit 50bd1ab719e78fcc34d50903512774ca05b1e2e8
+ Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
+ Date: Sat Apr 17 15:44:09 2010 +0200
+
+ use the defaultExtension for Dylibs when globbing for libs
+
+ commit 31053f63a4b4e03aec151620d2c980327d2ec790
+ Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
+ Date: Sat Apr 17 15:43:08 2010 +0200
+
+ function for querying the default-extension for the current
+ platform
+
+ commit 90385753f92b9d2ad6cc17467ab46ab63a356820
+ Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
+ Date: Sat Apr 17 15:42:07 2010 +0200
+
+ use "const std::string"
+
+ commit 934c9c77defaef214e421cefd96dbacf80a9c6d8
+ Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
+ Date: Sat Apr 17 13:46:32 2010 +0200
+
+ proper spacing for ?=
+
+ commit 3b611d46d9f159bc0a9783dc71759a73fa629a27
+ Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
+ Date: Sat Apr 17 13:46:13 2010 +0200
+
+ regenerated
+
+ commit 739722e69810db8466a32b5e636022614ac829ab
+ Merge: aac156a f3a51ab
+ Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
+ Date: Fri Apr 16 19:39:11 2010 +0200
+
+ Merge branch 'pluginfactory'
+
+ commit f3a51ab4c705a1a3e01c57fbc6d220c55212c5b6
+ Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
+ Date: Fri Apr 16 19:15:04 2010 +0200
+
+ removed duplicate AC_CONFIG_FILES line
+
+ commit d60e7980031f8b4924ae4fa9e11992bb3c230cd9
+ Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
+ Date: Fri Apr 16 19:12:55 2010 +0200
+
+ more stubs for automake
+
+ commit d121af55d172c06134d06ec8c9d45cfe394b9ea3
+ Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
+ Date: Fri Apr 16 18:42:19 2010 +0200
+
+ keep automake happy
+
+ in order for automake to stay happy, it needs a file referenced
+ in
+ configure.ac that can be made from a .am file.
+ we use AMakefile(.am) for this, in order to not interfere with
+ the real
+ Makefile.
+
+ commit 5f63192662265d181a8ac21a5b08c151cb457699
+ Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
+ Date: Fri Apr 16 18:30:39 2010 +0200
+
+ a local autogen.sh
+
+ commit 4b785beb420110e8f9c5cc46343f0bb663e9fb1c
+ Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
+ Date: Fri Apr 16 18:30:05 2010 +0200
+
+ regenerated
+
+ commit 19bb71862dffee04fbe1e6578a97304bb93d6ca0
+ Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
+ Date: Fri Apr 16 18:28:14 2010 +0200
+
+ make automake happy
+
+2010-04-17 14:19 zmoelnig
+
+ * more squashed merge
+
+2010-04-17 14:19 zmoelnig
+
+ * Squashed commit of the following:
+
+ commit 212abf6e3d9e2a9549fdf539ed05718c08ef9471
+ Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
+ Date: Sat Apr 17 16:03:29 2010 +0200
+
+ added "clean" and "install" targets to the plugins;
+
+ since the Makefile.subdir also provides "clean", we have to
+ switch
+ to "::" targets
+
+ commit 50bd1ab719e78fcc34d50903512774ca05b1e2e8
+ Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
+ Date: Sat Apr 17 15:44:09 2010 +0200
+
+ use the defaultExtension for Dylibs when globbing for libs
+
+ commit 31053f63a4b4e03aec151620d2c980327d2ec790
+ Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
+ Date: Sat Apr 17 15:43:08 2010 +0200
+
+ function for querying the default-extension for the current
+ platform
+
+ commit 90385753f92b9d2ad6cc17467ab46ab63a356820
+ Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
+ Date: Sat Apr 17 15:42:07 2010 +0200
+
+ use "const std::string"
+
+ commit 934c9c77defaef214e421cefd96dbacf80a9c6d8
+ Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
+ Date: Sat Apr 17 13:46:32 2010 +0200
+
+ proper spacing for ?=
+
+ commit 3b611d46d9f159bc0a9783dc71759a73fa629a27
+ Author: IOhannes m zmölnig <zmoelnig@umlaeute.mur.at>
+ Date: Sat Apr 17 13:46:13 2010 +0200
+
+ regenerated config.h.in
+
+2010-04-16 17:37 zmoelnig
+
+ * removed duplicate AC_CONFIG_FILES line
+
+2010-04-16 17:36 zmoelnig
+
+ * more stubs for automake
+
+2010-04-16 17:35 zmoelnig
+
+ * keep automake happy
+
+ in order for automake to stay happy, it needs a file referenced
+ in
+ configure.ac that can be made from a .am file.
+ we use AMakefile(.am) for this, in order to not interfere with
+ the real
+ Makefile.
+
+2010-04-16 17:34 zmoelnig
+
+ * a local autogen.sh
+
+2010-04-16 17:33 zmoelnig
+
+ * regenerated
+
+2010-04-16 17:33 zmoelnig
+
+ * make automake happy
+
+2010-04-15 14:26 zmoelnig
+
+ * Makefile.am for m4 include paths
+ regenerated config.h.in
+
+2010-04-15 14:18 zmoelnig
+
+ * stub Makefile.am for m4-includes
+
+ on OSX (with autoreconf-2.61 as from XCode(?)) autoreconf weill
+ not pass the
+ "-I /path/to/m4" flags and instead just ignore them, which will
+ produce
+ unusable configure scripts (because macros are not expanded)
+ at least the ACLOCAL_AMFLAGS line in the automake Makefile.am is
+ respected.
+ we therefore have a Makefile.am that just make sure that the
+ m4-directory is
+ found
+
+2010-04-15 10:11 zmoelnig
+
+ * fixed AM_INIT_AUTOMAKE: remove the "-Wall -Werror" thingy
+
+2010-04-13 16:34 zmoelnig
+
+ * added GEM_RTE_CFLAGS
+
+2010-04-13 15:45 zmoelnig
+
+ * Merge branch 'pluginfactory' into HEAD
+
+ Conflicts:
+ Gem/src/Pixes/pix_film.cpp
+ Gem/src/plugins/PluginFactory.cpp
+
+2010-04-09 08:17 zmoelnig
+
+ * Merge branch 'master' of ssh://dev.iem.at/~/src/git/GemEEE
+
+ Conflicts:
+ Gem/src/Base/PluginFactory.cpp
+ Gem/src/Base/PluginFactory.h
+ Gem/src/Base/PluginFactoryTimple.h
+ Gem/src/Pixes/pix_film.cpp
+
+2010-04-08 16:25 zmoelnig
+
+ * load external "film" plugins
+
+2010-04-08 16:25 zmoelnig
+
+ * use "std::string" rather than "const char*"
+
+2010-04-08 16:24 zmoelnig
+
+ * namespace is "files" not "file"
+
+2010-04-08 16:05 zmoelnig
+
+ * wrapper for file operations
+
+2010-04-08 13:47 zmoelnig
+
+ * "better" verbosity when trying to read Gem-settings
+
+2010-04-08 13:23 zmoelnig
+
+ * switched from fixed array of handles to std::vector;
+ switched from (const char*) IDs to std::string
+
+2010-04-08 13:22 zmoelnig
+
+ * functions to query the avaiolable keys and to load more plugins
+
+2010-04-08 13:21 zmoelnig
+
+ * "gem.path" setting (not yet tested)
+
+2010-04-08 13:20 zmoelnig
+
+ * only register "AVI" if there is no "DS" handle (mimicks old
+ behaviour)
+
+2010-04-08 13:18 zmoelnig
+
+ * cleaned up code; actually remember handles returned from the
+ factory
+
+2010-04-08 13:17 zmoelnig
+
+ * first working example
+
+2010-04-08 13:14 zmoelnig
+
+ * less verbose
+
+2010-04-08 13:13 zmoelnig
+
+ * dropped the multi-constructor feature: a single ID can only have
+ a single
+ constructor!
+
+2010-04-08 13:11 zmoelnig
+
+ * split PluginFactory-header from implementation
+
+2010-04-08 13:10 zmoelnig
+
+ * stripped down pluginfactory
+
+2010-04-07 07:55 zmoelnig
+
+ * include pdgst target; gemdeskotheque has no autoconf
+
+2010-04-06 17:37 zmoelnig
+
+ * do not regenerate config.h Make.config on demand
+
+2010-04-06 17:35 zmoelnig
+
+ * autogenerated config.h.in from autoheader
+
+2010-04-06 17:30 zmoelnig
+
+ * help=recursive
+
+2010-04-06 17:22 zmoelnig
+
+ * automatically build extra
+
+2010-04-06 17:18 zmoelnig
+
+ * recursively build extra/
+
+2010-04-06 17:16 zmoelnig
+
+ * recursively call extra/
+ don't check for ARToolKit
+
+2010-04-06 17:15 zmoelnig
+
+ * added pix_artoolkit
+
+2010-04-06 17:15 zmoelnig
+
+ * use autoreconf if available
+
+2010-04-06 17:02 zmoelnig
+
+ * regenerated config.h.in with autoheader
+
+2010-04-06 16:46 zmoelnig
+
+ * readme explains how to compile pix_artoolkit
+
+2010-04-06 16:37 zmoelnig
+
+ * use GEM_CHECK_LIB
+
+2010-04-06 16:37 zmoelnig
+
+ * make depend on config.h
+
+2010-04-06 16:15 zmoelnig
+
+ * simple Makefile that calls the real one in Gem/src
+
+2010-04-06 15:25 zmoelnig
+
+ * updated documentation
+
+ you should use autogen.sh, or aclocal and autoconf in order to
+ generate a valid
+ configure script.
+ just running "autoconf" is not enough
+
+2010-04-06 15:20 zmoelnig
+
+ * notes about juju and devices opened in parallel
+
+2010-04-06 15:10 zmoelnig
+
+ * use arguments to intialized [rotate] and [translate] rather than
+ loadbang
+
+2010-04-06 15:09 zmoelnig
+
+ * split the m4-macros into separate packages and put them into a
+ separate src/m4
+ directory
+
+2010-04-06 14:47 zmoelnig
+
+ * fixed output of configure--help
+
+2010-04-06 14:43 zmoelnig
+
+ * added generated descriptions to AC_DEFINEs
+
+2010-04-06 14:38 zmoelnig
+
+ * descriptions for AC_DEFINE
+
+2010-04-06 14:30 zmoelnig
+
+ * non-working automake project
+
+2010-04-06 14:26 zmoelnig
+
+ * recursive call of configure
+
+2010-03-26 08:59 nusmuk
+
+ * add help for the new mesh line primitive
+
+2010-03-25 18:47 nusmuk
+
+ * add new mesh primitive
+
+2010-03-18 20:18 zmoelnig
+
+ * remove the explicit mentioning of "32" in the falign-options.
+ let the system choose system specific defaults
+
+2010-03-16 19:37 zmoelnig
+
+ * protect CPPExtern against NO objectnames
+
+2010-03-16 17:52 zmoelnig
+
+ * renamed "Helpers/" to "Gem/"
+
+2010-03-16 17:47 zmoelnig
+
+ * renamed "Helpers/" to "Gem/"
+
+2010-03-16 07:52 zmoelnig
+
+ * don't include config.h
+
+2010-03-15 18:01 zmoelnig
+
+ * "--with-pd" no also adds the given path to INCLUDES and LIBS
+
+ formerly, only <pdpath>/src and <pdpath>/bin were added
+
+2010-03-15 17:58 zmoelnig
+
+ * backported debians "no flags overwrite" patch (backported from
+ branches/0.92)
+
+2010-03-15 17:40 zmoelnig
+
+ * check for "s_stuff.h" needs m_pd.h included (backported from
+ branches/0.92)
+
+2010-03-15 17:33 zmoelnig
+
+ * fixed memleaked detected by Gerrie Roos (backported from
+ branch/0.92)
+
+2010-03-15 17:04 zmoelnig
+
+ * eventually use the system's "GLEW" (if available)
+
+ backported from 0.92 branch
+
+2010-03-10 22:42 eighthave
+
+ * added two more examples of how to do tracking with Gem
+
+2010-03-05 19:14 zmoelnig
+
+ * only update in render() (keeps images more consistant)
+
+2010-02-27 20:59 zmoelnig
+
+ * added note about the default viewpoint
+
+2010-02-25 17:37 zmoelnig
+
+ * moved the push/pop of matrices from gemman back to gemhead; also
+ use it in
+ separator
+
+2010-02-25 15:54 zmoelnig
+
+ * added LATER
+
+2010-02-25 15:51 zmoelnig
+
+ * uninstaller helper from
+ http://nsis.sourceforge.net/Uninstall_only_installed_files
+
+ i haven't yet tested this!
+
+2010-02-25 15:18 zmoelnig
+
+ * added new files (GLStack and friends)
+
+2010-02-25 15:17 zmoelnig
+
+ * GemState::reset() has to return a value
+
+2010-02-25 15:15 zmoelnig
+
+ * swap() has to return a value
+
+2010-02-25 15:13 zmoelnig
+
+ * warning about multiple texunits
+
+2010-02-25 15:12 zmoelnig
+
+ * fixed forgotten returns
+
+2010-02-25 14:52 zmoelnig
+
+ * GLstack fuzz
+
+2010-02-25 13:06 zmoelnig
+
+ * realtime environment header (e.g. include m_pd.h)
+
+2010-02-25 12:29 zmoelnig
+
+ * Gem'ified any
+
+2010-02-25 10:30 zmoelnig
+
+ * cdiggins's "any" implementation
+
+2010-02-23 19:01 zmoelnig
+
+ * don't mention "PNG" in the documentation of pix_image
+
+2010-02-09 17:20 zmoelnig
+
+ * reverted 06.framebuffer_and_shader.pd since the reverted
+ [pix_texture] also
+ requires the [pix_set] hack
+
+2010-02-09 17:19 zmoelnig
+
+ * Revert "handle rectangle and upside-down textures via the
+ GL_TEXTURE matrix"
+
+ see whether this get's us going with all the shader stuff;
+ LATER this should be implemented again, but probably with more
+ careful thinking
+
+ This reverts commit 79f68200fe8e265b2eeb824544693a3eb48bc57b.
+
+2010-02-09 17:14 zmoelnig
+
+ * only push/pop the color-matrix if ARB_imaging is supported
+
+2010-02-03 18:05 zmoelnig
+
+ * fixed for M$VC
+
+2010-02-03 17:37 zmoelnig
+
+ * define behaviour for projection/color/texture stacks
+
+2010-02-03 17:08 zmoelnig
+
+ * query the current matrix depth's rather than guessing
+
+2010-02-01 16:05 zmoelnig
+
+ * new() is now member of Obj_header; this might (nor not) resolve
+ problems with
+ flext
+
+2010-01-29 11:25 nusmuk
+
+ * add shader initialisation at each gem window creation
+
+2010-01-29 08:57 zmoelnig
+
+ * initialize m_state properly to INIT
+
+2010-01-28 18:40 zmoelnig
+
+ * enhanced the setModified() to call rebuildList()
+
+2010-01-28 18:39 zmoelnig
+
+ * if a context-variable is set out-of-context, all its instances
+ are set to the
+ given value
+ (mostly needed for setting MODIFIED flags because the user sent a
+ message)
+
+2010-01-28 11:30 zmoelnig
+
+ * check for apple/ia64
+
+2010-01-28 11:30 zmoelnig
+
+ * removed inclusion if Quicktime.h
+
+2010-01-28 11:06 zmoelnig
+
+ * check for ia64 in filmQT
+
+2010-01-28 10:57 zmoelnig
+
+ * protect filmDarwin not just by __APPLE__ but by
+ HAVE_CARBONQUICKTIME
+
+2010-01-28 10:53 zmoelnig
+
+ * check whether we are on Apple/ia64 before trying to compile code
+ that won't
+ work;
+ LATER use a real configure check for this
+
+2010-01-28 10:38 zmoelnig
+
+ * make CarbonQuicktime not disabling other image loading backends
+
+2010-01-28 10:29 zmoelnig
+
+ * reorganized code a little bit to migrate the OSX code to the
+ proper interface
+
+2010-01-28 10:04 zmoelnig
+
+ * fixed typos
+
+2010-01-28 10:02 zmoelnig
+
+ * allow coexistence of QuickTime code and other backends (e.g.
+ ImageMagick)
+
+2010-01-28 09:52 zmoelnig
+
+ * fixes for OSX
+
+2010-01-28 09:51 zmoelnig
+
+ * use '__attribute__ ((deprecated))' rather than
+ '__attribute_deprecated__'
+
+2010-01-28 08:59 zmoelnig
+
+ * don't try to initialize the ContextData if no default value is
+ given
+
+2010-01-28 08:58 zmoelnig
+
+ * include GemState.h
+
+2010-01-28 08:58 zmoelnig
+
+ * M$VC fixes (snprintf() and close())
+
+2010-01-27 17:44 zmoelnig
+
+ * added GemDylib.cpp to the project
+
+2010-01-27 17:44 zmoelnig
+
+ * fixed M$VC errors
+
+2010-01-27 17:35 zmoelnig
+
+ * removed GemState.h from GemBase.h; so we have to re-included
+ manually where
+ needed
+
+2010-01-27 17:04 zmoelnig
+
+ * a wrapper class for dylibs (loads a dynamic library and runs
+ functions therein)
+
+2010-01-27 15:59 zmoelnig
+
+ * removed verbosity
+
+2010-01-27 15:54 zmoelnig
+
+ * introduced CPPExtern::findFile() to wrap the canvas-stuff
+
+2010-01-27 14:49 zmoelnig
+
+ * also except std::string when creating an exception
+
+2010-01-27 14:47 zmoelnig
+
+ * canvas_makefilename() and friends really want a non-const
+ t_canvas*
+
+2010-01-27 14:46 zmoelnig
+
+ * canvas_makefilename() and friends really want a non-const
+ t_canvas*
+
+2010-01-27 14:20 zmoelnig
+
+ * const_cast<> because Pd needs them
+
+2010-01-27 14:19 zmoelnig
+
+ * const_cast<>s, because Pd declares loads of variables as
+ non-const even though
+ they really should be const
+
+2010-01-25 16:51 zmoelnig
+
+ * added checks for linker-flags '-bundle -mmacosx-version-min=10.3
+ -undefined dynamic_lookup'
+
+2010-01-25 13:18 nusmuk
+
+ * remove unused connections
+
+2010-01-25 13:15 nusmuk
+
+ * revert back the modification : this patch work like it use to...
+
+2010-01-25 12:56 nusmuk
+
+ * varius clean of the examples patchs
+
+2010-01-25 12:37 zmoelnig
+
+ * call setTexCoords() only once at the end of render()
+
+2010-01-25 12:35 zmoelnig
+
+ * use [pix_kaleidoscope] for a more interesting effect
+ ([pix_aging] is an"overlay" effect that does nothing to the
+ pixels)
+
+2010-01-25 12:20 zmoelnig
+
+ * use "texture ?" rather than "mode ?"
+
+2010-01-25 12:19 zmoelnig
+
+ * reset the texcoord matrix every single frame...
+
+2010-01-25 10:41 zmoelnig
+
+ * fixed deprecation define for MSVC
+
+2010-01-22 18:51 nusmuk
+
+ * adapting shader regarding the texture coordinate change in Gem
+
+2010-01-21 11:22 zmoelnig
+
+ * Merge branch 'GemState'
+
+ Conflicts:
+ Gem/src/Base/GemState.cpp
+
+2010-01-19 13:08 zmoelnig
+
+ * on the way to using GemContextData<> even in "ordinary"
+ (non-multi-context) envs
+
+2010-01-19 10:09 zmoelnig
+
+ * added config.h to svn:ignore
+
+2010-01-19 10:07 zmoelnig
+
+ * setting svn:ignore externals for the source-trees
+
+2010-01-19 10:04 zmoelnig
+
+ * svn:ignore "*.d"
+
+2010-01-11 17:08 zmoelnig
+
+ * c++cast fixes for w32
+
+2010-01-11 12:55 zmoelnig
+
+ * more C++cast fixes for OSX
+
+2010-01-11 12:35 zmoelnig
+
+ * replaced 'vector_unsigned_char' by 'vector unsigned char'
+
+2010-01-11 11:22 zmoelnig
+
+ * better accessors for GemContextData
+
+ accessing a contextualized variable should now be transparent:
+ e.g.
+ <code>
+ GemContextData<int>value;
+ value=12;
+ int a=3*value+7;
+ </code>
+
+ prefix/postfix (e.g.. "value++") doesn't seem to work though
+
+2010-01-11 11:20 zmoelnig
+
+ * reset the active texunit to #0 in pix_texture::postRender()
+
+ this should avoid problems with upstream objects (and objects
+ rendered LATER without any explicit [pix_texture])
+
+ we still need a proper solution for [separator] and multiple
+ texture stacks
+
+2010-01-11 11:18 zmoelnig
+
+ * [separator] now takes an extra argument to only separate specific
+ domains
+
+2010-01-11 11:17 zmoelnig
+
+ * added warning about multiple texunits and pushing/popping texmat
+
+ this really needs to be fixed, as people getting constant openGL
+ errors
+ (over/underflows) when using mulitple texunits and [separator]
+
+2010-01-11 11:15 zmoelnig
+
+ * replaced anonymous indices of state->stackDepth with an enum in
+ GemMan
+
+2010-01-11 10:46 zmoelnig
+
+ * c++-casts
+
+2010-01-11 10:42 zmoelnig
+
+ * more fixes for C++ casts on OSX
+
+2010-01-08 14:45 zmoelnig
+
+ * fixed C++casts for OSX
+
+2010-01-08 13:26 zmoelnig
+
+ * more c++casts
+
+2010-01-08 13:23 zmoelnig
+
+ * replaced (int)atom_getfloat() by atom_getint()
+
+2010-01-08 13:22 zmoelnig
+
+ * static_cast<> for Output/
+
+2010-01-08 13:22 zmoelnig
+
+ * static_cast<> for Nongeos/
+
+2010-01-08 13:21 zmoelnig
+
+ * t_float cast
+
+2010-01-08 13:21 zmoelnig
+
+ * static_cast<GL...>
+
+2010-01-08 13:20 zmoelnig
+
+ * static_cast<GL...> for Geos
+
+2010-01-08 13:19 zmoelnig
+
+ * static_cast<float> in Geos
+
+2010-01-08 13:18 zmoelnig
+
+ * drawtype of curve3d is now a local enum
+
+2010-01-08 13:17 zmoelnig
+
+ * static_cast<int> of Geos
+
+2010-01-08 13:16 zmoelnig
+
+ * cast fixes in Vertex
+
+2010-01-08 13:14 zmoelnig
+
+ * removed some unneeded casts
+
+2010-01-08 13:14 zmoelnig
+
+ * fixed some bugs where atom_getint was used to get floats
+
+2010-01-08 13:13 zmoelnig
+
+ * scripted conversion from ccasts to c++casts
+
+2010-01-08 12:56 zmoelnig
+
+ * reinterpret_cast<t_newmethod>
+
+2010-01-08 12:54 zmoelnig
+
+ * reinterpret_cast<t_method>
+
+ converted all the CCASTs to C++CASTS with:
+ for i in *.cpp
+ do
+ sed -e 's|(t_method) *\([^
+ ]*\)\([,)]\)|reinterpret_cast<t_method>(\1)\2|' -i "${i}"
+ done
+
+2010-01-08 12:13 zmoelnig
+
+ * more casts
+
+2010-01-08 12:10 zmoelnig
+
+ * float priorities
+
+2010-01-08 12:09 zmoelnig
+
+ * fixed typo
+
+2010-01-08 12:08 zmoelnig
+
+ * reinterpret_casts for pointers
+
+2010-01-08 12:07 zmoelnig
+
+ * more C++ casts (this time in Base/)
+
+ i guess a lot of casts in osx/w32 specific code (GemWinCreateMac)
+ will not work as it is; changes should be rather trivial
+
+2010-01-08 12:05 zmoelnig
+
+ * use static_cast<> and reintpret_cast<> where appropriate
+
+2009-12-23 18:27 zmoelnig
+
+ * works ok but ignores upsidedown
+ (looks weird when used with [pix_texture] since the image is
+ correct but the relief is not)
+
+2009-12-23 12:50 zmoelnig
+
+ * indentation
+
+2009-12-23 11:41 zmoelnig
+
+ * prefixed all member variables with "m_" (this time it works);
+ still need to understand why it does not work anymore (and why it
+ used to only work with RECTANGLE textures)
+
+2009-12-23 09:41 zmoelnig
+
+ * prefixed all members with m_
+
+2009-12-23 09:31 zmoelnig
+
+ * indentation and started to rename variables for readability
+
+2009-12-23 09:20 zmoelnig
+
+ * no "filename" in the QTImage2mem code (needs cleanup)
+
+2009-12-21 15:07 zmoelnig
+
+ * handle rectangle and upside-down textures via the GL_TEXTURE
+ matrix
+ (this way, the Geos can be totally agnostic about the texture
+ type and
+ orientation)
+ LATER: imageVert, pqtorusknots, ripple and (evtl.) rubber might
+ not behave as
+ they should
+ LATER: check whether GL_TEXTURE matrix is really to be abandoned
+ in OGL-3.0
+
+2009-12-17 17:00 zmoelnig
+
+ * added note about texture matrix
+
+2009-12-17 12:56 zmoelnig
+
+ * load all images upside down
+
+2009-12-15 13:26 zmoelnig
+
+ * updated config.{sub,guess}
+
+2009-12-15 13:06 zmoelnig
+
+ * fixed paths; now it compiles from svn
+
+2009-12-15 12:51 zmoelnig
+
+ * fixed path to ChangeLog
+
+2009-12-15 12:47 zmoelnig
+
+ * from my debian packaging efforts
+
+2009-12-14 21:37 zmoelnig
+
+ * don't use general namespace avm:: but use it explicitely when
+ needed (eg. for StreamInfo)
+
+2009-12-14 10:41 zmoelnig
+
+ * moved code into the mutexlocked parts to avoid crashes
+
+2009-12-07 18:41 zmoelnig
+
+ * use namespace "avm" for avifile-things
+
+2009-12-07 11:21 zmoelnig
+
+ * [gemwin] no longer sets the default framerate (instead this is
+ queried from
+ 'window.fps' and (re)set in GemMan::resetState()
+
+2009-12-07 11:19 zmoelnig
+
+ * rectangle.texture and rectangle.pbo is now set via GemSettings
+
+2009-12-07 11:17 zmoelnig
+
+ * made framerate settable via GemSettings;
+ [print( gemwin now also prints all the GemSettings
+
+2009-12-07 09:14 zmoelnig
+
+ * added notes about cocoa
+
+2009-12-01 15:02 zmoelnig
+
+ * [separator] now also stores the projection matrix;
+ added a little doc on what is actually separated
+
+2009-11-30 13:17 zmoelnig
+
+ * back to not-printing the settings
+
+2009-11-30 13:14 zmoelnig
+
+ * oops forgot to recompile before committing...here we go
+
+2009-11-30 13:10 zmoelnig
+
+ * fixed typos: "treshold" no really reads "threshold" (uhah, this
+ makes patches
+ incompatible)
+
+2009-11-30 11:34 zmoelnig
+
+ * don't call wordfree() on OSX as this is buggy (makes endless
+ calls to memfree of non-aligned pointers)
+
+2009-11-30 11:11 zmoelnig
+
+ * error checks for wordexp()
+
+2009-11-28 23:05 zmoelnig
+
+ * fixed documentation (closes #2905446)
+
+2009-11-27 22:23 zmoelnig
+
+ * bashisms
+
+2009-11-27 22:10 zmoelnig
+
+ * removed debugging output
+
+2009-11-27 22:08 zmoelnig
+
+ * added glGetIntegerv();
+ fixed glGetFloatv();
+
+2009-11-27 21:00 zmoelnig
+
+ * added a note about dynamic lights
+
+2009-11-27 20:58 zmoelnig
+
+ * check whether we are rendering (that is: have a valid GLcontext)
+ before calling stopRendering() in the destructor
+
+2009-11-27 20:56 zmoelnig
+
+ * don't call glClearColor() without a window (might crash with some
+ drivers)
+
+2009-11-26 17:49 zmoelnig
+
+ * compiles on w32 again
+
+2009-11-26 14:44 zmoelnig
+
+ * don't print settings
+
+2009-11-26 14:04 zmoelnig
+
+ * more verbose
+
+2009-11-26 13:29 zmoelnig
+
+ * example file
+
+2009-11-26 12:44 zmoelnig
+
+ * settings for various aspects of the gemwindow and the
+ font-renderer
+
+2009-11-26 12:44 zmoelnig
+
+ * convenience methods;
+ DEFAULT_FONT
+
+2009-11-26 10:40 zmoelnig
+
+ * set the settings-file via environment variables GEM_SETTINGS
+
+2009-11-26 10:24 zmoelnig
+
+ * almost there: legacy support for env-variables; code cleanup
+
+2009-11-26 08:49 zmoelnig
+
+ * renamed the runtime settings to GemSettings
+
+2009-11-25 17:55 zmoelnig
+
+ * simple implementation of RealtTime configuration
+
+2009-11-25 15:41 zmoelnig
+
+ * a bit of explaining what is going on
+
+2009-11-25 15:30 zmoelnig
+
+ * conf
+
+2009-11-25 14:53 zmoelnig
+
+ * check whether QuickTime init succeeded before trying to close()
+
+2009-11-24 17:12 zmoelnig
+
+ * use GemCGLint instead of CGLint to handle different CGLversions
+
+2009-11-24 10:35 zmoelnig
+
+ * tyr handling outdated CGL-versions;
+ really people should rather upate....
+
+2009-11-05 17:35 zmoelnig
+
+ * strrchr() returns "const char*"
+
+2009-10-31 16:49 zmoelnig
+
+ * hopefully got the texenv right
+
+2009-10-28 13:04 zmoelnig
+
+ * less warnings...
+
+2009-10-28 13:00 zmoelnig
+
+ * undef HAVE_CONFIG_H after inclusion of config.h
+
+2009-10-27 21:26 zmoelnig
+
+ * cast filename to const char*
+
+2009-10-27 21:16 zmoelnig
+
+ * use "const char*" for open();
+ fixed some signed/unsigned comparisions
+
+2009-10-22 17:09 zmoelnig
+
+ * an experimental cubemap-texture object; this should later be
+ merged into [pix_texture]
+
+2009-10-21 12:48 zmoelnig
+
+ * nada
+
+2009-10-18 13:41 zmoelnig
+
+ * on w32 define "close" as "_close" (shouldn't this be: on MSVC
+ rather than W32?)
+
+2009-10-15 17:03 zmoelnig
+
+ * added GemException files to build
+
+2009-10-15 17:02 zmoelnig
+
+ * Release no builds with ARToolKit support, wherease ReleaseDummy
+ builds without
+
+2009-10-15 16:43 zmoelnig
+
+ * removed inclusion of Base/GemConfig.h as this has to be handled
+ locally
+
+2009-10-15 16:33 zmoelnig
+
+ * export the _setup function on w32;
+ added guard to not call the class_new() twice
+
+2009-10-15 16:14 zmoelnig
+
+ * added M$VC-project;
+ removed "#warning" directives, since M$VC doesn't really like
+ them
+
+2009-10-15 16:07 zmoelnig
+
+ * removed configDarwin.h.in: either use autoconf's config.h.in or
+ configDarwin.h
+
+2009-10-15 16:01 zmoelnig
+
+ * autoheaders generated stuff
+
+2009-10-15 15:59 zmoelnig
+
+ * config-related stuff
+
+2009-10-15 15:58 zmoelnig
+
+ * simplified CPPExtern.h;
+ moved GemExceptions into a separate file
+
+2009-10-15 11:49 zmoelnig
+
+ * this now compiles as an external for Gem
+
+2009-10-15 11:49 zmoelnig
+
+ * import/export handling for M$VC (on the way to provide a
+ mechanism for GEM-externals)
+
+2009-10-15 11:35 zmoelnig
+
+ * almost got it working (though tiny changes to Gem are needed)
+
+2009-10-15 07:58 nusmuk
+
+ * correct sentense about rendering order
+
+2009-10-15 07:41 zmoelnig
+
+ * slowly goes the night: still not really working M$VC project
+ (linker fails)
+
+2009-10-15 07:17 zmoelnig
+
+ * added banner when compiled as a Gem-external;
+ properly include GemConfig.h
+ (LATER this really should use its own config)
+
+2009-10-14 08:55 zmoelnig
+
+ * protect against NULL-canvases (e.g. when invoking the loader via
+ "-lib")
+
+2009-10-13 15:07 zmoelnig
+
+ * moved the installer target into a separate project
+
+2009-10-13 14:34 zmoelnig
+
+ * removed pix_artoolkit from Pixes and added pix_artoolkit project
+
+2009-10-13 14:33 zmoelnig
+
+ * added _snprintf() magic for M$VC
+
+2009-10-13 14:32 zmoelnig
+
+ * removed _snprintf() magic (it has nothing todo with configNT.h)
+
+2009-10-13 14:31 zmoelnig
+
+ * an M$VC-project for pix_artoolkit;
+ small change to pix_artoolkit.cpp to fix LNK2019 (check whether
+ this breaks something on other platforms)
+
+2009-10-13 13:24 zmoelnig
+
+ * fixed typo in preprocessor code
+
+2009-10-13 13:22 zmoelnig
+
+ * M$ needs stupid aliases for snprintf()-like functions
+
+2009-10-07 20:36 zmoelnig
+
+ * use "data" instead of "pdata";
+ pdata is mainly here to get the alignment of data right;
+ using pdata will be slower (not-aligned) and wrong (pixel offset)
+
+2009-10-01 10:08 zmoelnig
+
+ * ...
+
+2009-10-01 10:00 zmoelnig
+
+ * moved pix_artoolkit into src/extra/ in order to reduce
+ dependencies of core Gem
+
+2009-10-01 09:59 zmoelnig
+
+ * adapted to new preprocessor magic
+
+2009-10-01 09:23 zmoelnig
+
+ * indentation for better readability
+
+2009-09-30 17:25 zmoelnig
+
+ * don't ignore return value of fread()
+
+2009-09-30 17:15 zmoelnig
+
+ * removed traces of ???_NEW defines
+
+2009-09-30 16:51 zmoelnig
+
+ * by default, don't strip the binary created
+
+2009-09-30 16:31 zmoelnig
+
+ * include GemConfig.h when necessary and NOT in CPPExtern;
+ less dependency quirks
+
+2009-09-30 15:12 zmoelnig
+
+ * another cleanup of the configure stuff in order to get the
+ film/video-OS stuff right;
+ this still needs code changes on the backend side
+
+2009-09-30 13:30 zmoelnig
+
+ * use GL_FALSE/GL_TRUE rather than -1/0
+
+2009-09-30 13:23 zmoelnig
+
+ * cleanup model when re-opening or open failed
+
+2009-09-30 11:41 zmoelnig
+
+ * regnerated configure.ac for cleaner code (not much happened
+ though)
+
+2009-09-30 11:40 zmoelnig
+
+ * try to reduce warnings by not-ignoring the result of scanf/gets
+
+2009-09-28 14:42 zmoelnig
+
+ * added "print" message to print all the control-points to the
+ console;
+ setSpherical now uses degree rather than radians (conforming to
+ everything else in Gem)
+
+2009-09-24 13:45 zmoelnig
+
+ * dummy file to be included if there is no autoconf-generated
+ config.h file
+
+2009-09-23 17:57 zmoelnig
+
+ * renamed configLinux.h.in to config.h.in;
+ on osx the default should be to use the pix_filmOS
+
+2009-09-23 17:15 zmoelnig
+
+ * set "newfilm"-flag (LATER think whether this shouldn't be called
+ automatically by [pix_texture])
+
+2009-09-23 14:31 zmoelnig
+
+ * renamed Base/config.h to Base/GemConfig.h;
+ later we will change the file generated by autoconf from
+ config(Linux|Darwin|Generic|*).h to config.h;
+ and use HAVE_CONFIG_H to include it
+
+2009-09-23 13:12 zmoelnig
+
+ * configure-flags to set the default-font;
+ check for <FTGL/ftgl.h> (check still fails) and include that
+ instead if possible
+
+2009-09-23 12:03 zmoelnig
+
+ * fixed a lot of warnings appearing with "-Wall"
+
+2009-09-22 16:49 zmoelnig
+
+ * HACK: allow negative tracks for changeImage() to indicate that
+ the "next" frame should be taken and the requested frame should
+ be ignored;
+ really: negative frame# would be better (can these ever appear in
+ some weird container? more likely than negative tracks...)
+
+2009-09-22 09:58 zmoelnig
+
+ * merged back fixes from 0.92 branch (2876-2927)
+
+2009-09-21 18:15 zmoelnig
+
+ * experimental dynamic render tick: if rendering takes too long we
+ try to shorten the time till the next tick has to be
+ re-scheduled; don't know whether this really works
+
+2009-09-21 16:09 zmoelnig
+
+ * this code needs cleanup;
+ at least PBOs work now with rectangle textures
+
+2009-09-21 14:40 zmoelnig
+
+ * more todos
+
+2009-09-18 06:54 zmoelnig
+
+ * added notes about GemOutlet and the like
+
+2009-09-17 11:43 zmoelnig
+
+ * fixed bug when reducing number of iterations for YUV & Gray;
+ hopefully fixed RGBA issues on OSX/i386
+
+2009-09-17 08:19 zmoelnig
+
+ * removed [pix_filmNT] since on w32 we are using [pix_film] with
+ DS/QT/AVI(=NT) backend
+
+2009-09-17 08:04 zmoelnig
+
+ * removed [pix_filmQT]: it is not used anywhere and just makes
+ problems
+
+2009-09-16 13:54 zmoelnig
+
+ * changed type of GemVersion::versionString() from "const static
+ char* const" to "const static char*" (no more warnings on
+ g++-4.4)
+
+2009-09-15 13:32 zmoelnig
+
+ * at least find s_stuff.h if it is in a system-wide
+ include-directory
+
+2009-09-14 13:01 zmoelnig
+
+ * define __glx_h__ to avoid duplicate inclusion of glx.h
+
+2009-09-13 14:02 zmoelnig
+
+ * allow polygon/curve to have a variable number of vertices, simply
+ by not specifying them at creation time.
+
+2009-09-13 13:59 zmoelnig
+
+ * started todo 0.93
+
+2009-09-12 12:24 zmoelnig
+
+ * renamed TODO.092 to TODO.093
+
+2009-09-12 12:23 zmoelnig
+
+ * removed generated aclocal
+
+2009-09-12 12:22 zmoelnig
+
+ * added check for s_stuff.h (which doesn't find s_stuff in the path
+ specified by --with-pd yet; LATER fix this)
+
+2009-09-10 10:01 zmoelnig
+
+ * removed FFMPEG support (it's handled by gmerlin and it's broken
+ for ages)
+
+2009-09-10 09:48 zmoelnig
+
+ * changed __WIN32__ to _WIN32
+
+2009-09-10 09:41 zmoelnig
+
+ * less verbosity in gmerlin-backend
+
+2009-09-09 16:22 zmoelnig
+
+ * an extra directory for external objects
+
+2009-09-09 15:59 zmoelnig
+
+ * check whether we have a DivByZero when calculating the (not so
+ important) m_fps and avoid it;
+ this can happen with files recorded with Gem...
+
+2009-09-09 14:19 zmoelnig
+
+ * spigot to make this (still dummy) object less verbose
+
+2009-09-09 14:18 zmoelnig
+
+ * bumped version to 0.93cvs
+
+2009-09-09 14:18 zmoelnig
+
+ * put the "version" into a separate variable
+
+2009-09-09 14:17 zmoelnig
+
+ * merged back changes from 0.92
+
+2009-09-09 10:30 zmoelnig
+
+ * merged back the changes from the 0.92 branch that hopefully fixes
+ frame-wise seeking
+
+2009-09-08 12:36 zmoelnig
+
+ * try linking against libstdc++ in order to hopefully avoid
+ segfaults with buggy ati-drivers
+
+2009-09-08 12:26 zmoelnig
+
+ * added [openpanel] to example-patch to allow users to select their
+ own movies
+
+2009-09-08 12:19 zmoelnig
+
+ * dis/enabled rendering chains in the example
+
+2009-09-08 11:05 zmoelnig
+
+ * copy the entire state and not just a reference to it
+
+2009-09-08 10:00 zmoelnig
+
+ * disable printInfo() until glew has been initialized (should fix
+ crashes with glGetString())
+
+2009-08-24 18:06 zmoelnig
+
+ * reverted the fuzz of the last commit: it didn't work as expected
+
+2009-08-24 17:47 zmoelnig
+
+ * fixed texCoords when texture is upside down;
+ LATER: unify this and make all textures upside-down
+
+2009-08-24 17:22 zmoelnig
+
+ * introduced texUpsideDown flag in GemState to indicate whether we
+ have an upside down texture
+ (needed by some goes to get the image right)
+
+2009-08-24 10:09 zmoelnig
+
+ * added text-description of "string"
+
+2009-08-20 13:01 zmoelnig
+
+ * added destructor to cleanup
+
+2009-08-18 20:33 nusmuk
+
+ * add a string message
+
+2009-08-18 15:34 zmoelnig
+
+ * whitespace...
+
+2009-08-18 15:31 zmoelnig
+
+ * fixed typo
+
+2009-08-10 10:49 zmoelnig
+
+ * hopefully better to read uniform-handling
+
+2009-08-10 10:48 zmoelnig
+
+ * added startpost() and a bit of logic to not always show the
+ object's name
+
+2009-08-08 18:01 zmoelnig
+
+ * glTexImage2D
+
+2009-08-04 14:17 zmoelnig
+
+ * removed double class_addmethods()
+
+2009-07-24 20:47 nusmuk
+
+ * adding new exemple (double iterative).
+
+2009-07-24 02:10 nusmuk
+
+ * add a scale option, because the flag is smaller on osX than in
+ linux...
+
+2009-07-23 19:54 nusmuk
+
+ * add 2 new exemple of commun used GEMgl object
+
+2009-07-23 15:48 zmoelnig
+
+ * probably fixed upside-down issue of [pix_draw]
+
+2009-07-22 20:30 zmoelnig
+
+ * added a "--without-ALL" option to disable all "with"-options by
+ default (can be explicitely overridden)
+
+2009-07-19 16:34 zmoelnig
+
+ * more verbose when generating texture coordinates
+
+2009-07-16 12:12 nusmuk
+
+ * clean a bit this example : gemlist is no more banged with 0 and 1
+ gem_state message.
+
+2009-06-24 16:33 zmoelnig
+
+ * removed empty lines
+
+2009-06-24 14:36 zmoelnig
+
+ * added doc about the [thread $1( message
+
+2009-06-23 08:29 zmoelnig
+
+ * applied max's patch to get number of frames and finished-bang
+
+2009-06-15 11:53 zmoelnig
+
+ * removed the declarations for start/stopRendering() as they are
+ not implented
+
+2009-06-09 17:18 eighthave
+
+ * added missing - to make it the proper --export-dynamic
+
+2009-06-03 07:42 zmoelnig
+
+ * oops, missing ","
+
+2009-06-02 21:15 zmoelnig
+
+ * removed unused code; initialize member variables in the
+ initializer
+
+2009-06-02 21:13 zmoelnig
+
+ * removed unused code
+
+2009-06-02 21:12 zmoelnig
+
+ * removed unused code
+
+2009-06-02 21:10 zmoelnig
+
+ * removed unused code
+
+2009-06-02 14:06 zmoelnig
+
+ * added warning when using unnormalized values; fixed help-patch
+
+2009-06-02 13:04 zmoelnig
+
+ * removed methods that are present in the parent-class anyhow
+
+2009-06-02 12:48 zmoelnig
+
+ * removed unneeded variable(s)
+
+2009-06-02 12:48 zmoelnig
+
+ * reordered initialization to match header-file
+
+2009-06-02 12:23 zmoelnig
+
+ * added new modules to the project
+
+2009-06-02 09:22 zmoelnig
+
+ * mainly rearranged the order of appearance of member/variables in
+ the initializer;
+ [vertex_model] now uses glmTexture() rather than the nonexistant
+ glmLinearTexture()
+
+2009-06-02 09:20 zmoelnig
+
+ * removed unneded variables and commented out code
+
+2009-06-02 09:16 nusmuk
+
+ * add driver dv / driver v4l2 messages in the help file.
+
+2009-06-02 08:39 zmoelnig
+
+ * if all values are <=1 then we assume that they are "normalized"
+
+2009-06-02 08:09 zmoelnig
+
+ * use the "provide()" method for displaying the capabilities
+
+2009-06-02 07:47 zmoelnig
+
+ * added symbolic IDs for backend-identification: now we can just
+ use [driver dv( instead of [driver 2( (or was it [driver 3(?)
+
+2009-05-28 13:21 zmoelnig
+
+ * removed some verbosity when loading models; PBuffer nameclashes
+
+2009-05-28 13:08 zmoelnig
+
+ * replaced all fprintf/printf by post/error
+
+2009-05-28 12:39 zmoelnig
+
+ * replaced calls to fprintf(stderr,...) with calls to printf() (no
+ post() available in libs)
+
+2009-05-28 11:36 zmoelnig
+
+ * better regeneration script for GL-defines that does not nest 'if'
+ (problems on MSVC)
+
+2009-05-28 11:22 zmoelnig
+
+ * made it compile on w32 again
+
+2009-05-28 09:20 zmoelnig
+
+ * introduced new GEM_MULTICONTEXT define for multi-context
+ rendering;
+ implemented a first draft of the multi-context state-machine in
+ GemBase.
+ this needs some more thinking about which methods should do what:
+ e.g.:
+ - render(): get's called for each context
+ - startRendering()/stopRendering(): initialize/deinitialize
+ context-specific data (displaylists, textureIDs,...)
+ get's called for each context if "something has changed",
+ indicated by setModified() (?)
+ this could as well be a single contextModified() function
+ - stopRendering(): is really not useful in a multi-context
+ environment (should it only get called if all rendering-contexts
+ have been destroyed?)
+ - update(): multiple-contexts can render a- and synchronously, so
+ render() should not do anything time-specific (like incrementing
+ counters); updaet() should get called whenever time has moved on.
+ (e.g. update(deltatime););
+ - what to do with non-opengl specific things, e.g. pixes?
+ - ...
+
+2009-05-28 08:03 zmoelnig
+
+ * removed unused code (mostly: empty function calls)
+
+2009-05-28 07:57 zmoelnig
+
+ * moved comments around so they actually comment on the correct
+ line of code
+
+2009-05-26 18:04 zmoelnig
+
+ * a help-patch for [sphere3d]
+
+2009-05-26 18:00 zmoelnig
+
+ * fixed typo
+
+2009-05-26 17:40 zmoelnig
+
+ * added note about running configure
+
+2009-05-25 15:00 zmoelnig
+
+ * base class for context-specific data (to be used LATER)
+
+2009-05-25 14:46 zmoelnig
+
+ * fixed destroy
+
+2009-05-25 14:45 zmoelnig
+
+ * minor adjustments
+
+2009-05-25 14:00 zmoelnig
+
+ * hook for window deletion;
+ build [gemglutwindow] as a separate object (not part of Gem)
+ GemContext can also be queried for a numeric context id (later we
+ need this for context-dependent data, like displaylists)
+
+2009-05-25 10:08 zmoelnig
+
+ * make sure that the setup function is only called once
+
+2009-05-24 19:14 zmoelnig
+
+ * fixed bugs; implemented [gemmouse]
+
+2009-05-24 19:13 zmoelnig
+
+ * worrking on the glutwindow and multi-context stuff
+
+2009-05-23 16:22 zmoelnig
+
+ * include glxew.h rather than glx.h
+
+2009-05-23 15:13 zmoelnig
+
+ * renamed Region to FidSegRegion to avoid name-conflicts with
+ XEvent
+
+2009-05-23 14:32 zmoelnig
+
+ * provide getGlewContext() functions
+
+2009-05-23 14:11 zmoelnig
+
+ * use generated code (and avoid the ifdefs as we are now using lew
+ and everything is defined anyhow)
+
+2009-05-23 12:04 zmoelnig
+
+ * derived [gemglutwindow] from a very simple GemContext class which
+ will hopefully handle glewcontext switches
+
+2009-05-23 11:41 zmoelnig
+
+ * replaced client_storage_supported, texture_range_supported,
+ texture_yuv_supported, multisample_filter_hint by their GLEW
+ equivalents
+
+2009-05-23 11:29 zmoelnig
+
+ * directly query glew rather than caching the results in GemMan
+ (think about multiple contexts!)
+
+2009-05-23 08:16 zmoelnig
+
+ * some more improvements
+
+2009-05-22 10:31 zmoelnig
+
+ * use an abstraction wrapper around the real window-backend
+
+2009-05-22 10:26 zmoelnig
+
+ * [GEMglMaterialfv]
+
+2009-05-22 10:19 zmoelnig
+
+ * a simple implementation based on glut
+
+2009-05-22 08:18 zmoelnig
+
+ * revived the src/Output/ directory;
+ the [gemextwin] therein won't compile as it is highly dependent
+ on the multiwin branch (or so it seems)
+
+2009-05-22 08:17 zmoelnig
+
+ * dunno
+
+2009-05-22 08:16 zmoelnig
+
+ * comments by georg...
+
+2009-05-20 18:42 zmoelnig
+
+ * reordered so that .cpp file matches header
+
+2009-05-20 18:34 zmoelnig
+
+ * at least it loads again... (fixed all unresolved symbols)
+
+2009-05-20 18:33 zmoelnig
+
+ * regenerated with newer aclocal
+
+2009-05-20 18:06 zmoelnig
+
+ * non-functional start of [gemwindow] the window-part of GemMan as
+ a separate object
+
+2009-05-20 14:06 zmoelnig
+
+ * ...
+
+2009-05-20 14:00 zmoelnig
+
+ * made the scene a bit more interesting (less likely to create
+ black snapshots)
+
+2009-05-20 13:55 zmoelnig
+
+ * an abstraction implementation of [pix_write] using [pix_snap] and
+ [pix_writer]
+
+2009-05-20 13:54 zmoelnig
+
+ * do not create inlets for offset/dimension (meaningless in this
+ object)
+
+2009-05-20 10:49 zmoelnig
+
+ * an object that writes pixes to disk (no snapshotting involved!)
+
+2009-05-20 10:20 zmoelnig
+
+ * use glew-variables to check whether a context has been
+ established rather than calls to GemMan::windowExists() (which
+ should be removed altogether)
+
+2009-05-20 09:16 zmoelnig
+
+ * removed 2nd instance of [gemlist]; removed double-initialization
+
+2009-05-20 09:14 zmoelnig
+
+ * removed [gem_state]; use [gemlist] instead
+
+2009-05-19 17:41 zmoelnig
+
+ * replaced [gem_state] by [gemlist]
+
+2009-05-19 17:35 zmoelnig
+
+ * allow to set some default things in the non-cached GemState
+
+2009-05-19 17:34 zmoelnig
+
+ * more implemented
+
+2009-05-19 16:18 zmoelnig
+
+ * removed unneeded variable
+
+2009-05-19 13:36 zmoelnig
+
+ * implemented a bit of stereo and other things...
+
+2009-05-19 10:40 zmoelnig
+
+ * allow GEMglGetFloat() to use symbolic parameter names
+
+2009-05-18 15:53 zmoelnig
+
+ * uaeh, this is a lot of work to (still) do...
+
+2009-05-18 11:59 zmoelnig
+
+ * a not-yet replacement for [gemwin]
+
+2009-05-18 11:56 zmoelnig
+
+ * indentation
+
+2009-05-16 15:23 zmoelnig
+
+ * some defines to be set by configure for osx
+
+2009-05-15 17:12 eighthave
+
+ * fixed typo
+
+2009-05-14 15:08 zmoelnig
+
+ * when no argument (or "0") is specified, use the default
+ render-order (50)
+
+2009-05-14 14:56 zmoelnig
+
+ * removed the hardcoded paths to shaders: the examples do not do
+ anything anyhow
+
+2009-05-14 14:49 zmoelnig
+
+ * fixed wrong documentation about negative render-order: -3 is
+ REALLY renderend BEFORE -10
+
+2009-05-09 19:56 zmoelnig
+
+ * added sliders to set hue/sat/val
+
+2009-05-09 19:42 zmoelnig
+
+ * use a gop-subpatch to turn on/off rendering and handle
+ create/destroy of Gemwindo
+
+2009-05-09 18:20 zmoelnig
+
+ * fixed bug that crashed Gem when loading a model without an openGL
+ context
+
+2009-04-27 20:53 zmoelnig
+
+ * added verbose() message when mem2image fails to close a file
+
+2009-04-27 20:47 zmoelnig
+
+ * open image-files as binary rather than text
+
+2009-04-27 17:57 zmoelnig
+
+ * renamed geometry-shader to have nice little 4 character suffix
+
+2009-04-27 17:47 zmoelnig
+
+ * updated M$VC projects
+
+2009-04-27 17:43 zmoelnig
+
+ * renamed variables (M$VC did not like "near" and "far" at all)
+
+2009-04-27 07:30 zmoelnig
+
+ * hopefully better warnings when trying to load shaders without
+ openGL context initialized...
+
+2009-04-27 07:10 zmoelnig
+
+ * fxied another in/out typo
+
+2009-04-26 18:21 nusmuk
+
+ * add a geometry shader exemple
+
+2009-04-26 16:24 zmoelnig
+
+ * added calls to glProgramParameteriEXT() in LinkARB section
+
+2009-04-26 09:18 nusmuk
+
+ * minor change
+
+2009-04-26 09:16 nusmuk
+
+ * add a new axample : drawing 2 gemhead in the same frambuffer.
+
+2009-04-25 20:46 nusmuk
+
+ *
+
+2009-04-23 21:17 zmoelnig
+
+ * tried to avoid duplicate registraction of methods and classes
+ (the former succeeded and i added a note why the latter does not)
+
+2009-04-23 21:15 zmoelnig
+
+ * simplified the add-gem-to-path thingie
+
+2009-04-23 12:49 zmoelnig
+
+ * use TRIANGLES as default for geometry shader
+
+2009-04-23 12:39 zmoelnig
+
+ * added help-patch for geometry-shader (doesn't do much); added
+ hints on how to set evnironment for geometry-shaders in
+ glsl_program
+
+2009-04-23 12:19 zmoelnig
+
+ * removed aclocal/autoconf automagic: run autogen.sh instead (or
+ manually run aclocal/autoconf)
+
+2009-04-23 12:17 zmoelnig
+
+ * added parameters for geomtery shaders (TODO: check whether this
+ still works on other hardware...)
+
+2009-04-23 09:06 zmoelnig
+
+ * simple autogen-sh script that runs aclocal and autoconf;
+ LATER these calls should be removed from the Makefile entirely
+
+2009-04-22 03:07 eighthave
+
+ * on help patches that have two of the same image file, I replaced
+ the second with a different image, plus I added ducks.png to
+ liven things up and provide better illustrations of some of the
+ objects
+
+2009-04-22 00:50 eighthave
+
+ * reduced size and moved location to fit on screens of mere mortals
+
+2009-04-22 00:48 eighthave
+
+ * changed path to example files to match other help patches
+
+2009-04-22 00:46 eighthave
+
+ * fixed to be a working example with sliders and messages boxes
+ that are in a useful range
+
+2009-04-21 05:13 eighthave
+
+ * made file loading a bit easier, like other help patches
+
+2009-04-21 05:12 eighthave
+
+ * fixed typo in example movie name
+
+2009-04-09 11:35 zmoelnig
+
+ * added checks to build fat binaries (needs more testing)
+
+2009-04-06 10:32 zmoelnig
+
+ * use reallocate() throughout
+
+2009-04-06 10:23 zmoelnig
+
+ * express unsureness about memleak
+
+2009-04-06 10:22 zmoelnig
+
+ * free rowpointers after useage...to avoid memleaks
+
+2009-04-06 10:21 zmoelnig
+
+ * reindentation
+
+2009-04-06 10:20 zmoelnig
+
+ * use reallocate() rather than reallocating by hand to minimize
+ memleaks
+
+2009-04-06 10:12 zmoelnig
+
+ * reindentation
+
+2009-04-06 10:09 zmoelnig
+
+ * use imageStruct::allocate() throughout
+
+2009-04-02 18:59 zmoelnig
+
+ * use allocate() to allocate image memory rather than doing it
+ manually;
+ this guarantees that the data is freed correctly
+ (fixes #2719368 & #2722316)
+
+2009-04-02 18:15 zmoelnig
+
+ * oops forgot to checkin the header-fiels
+
+2009-04-02 18:14 zmoelnig
+
+ * clamp the get/set pixel function to the dimensions of the image
+ (fixes #2716875)
+
+2009-04-02 17:48 zmoelnig
+
+ * note about using the available number of texunits
+
+2009-04-02 17:46 zmoelnig
+
+ * reset the quality-settings when using external textures (fixes
+ #2703708);
+ query the number of available texunits instead of assuming it is
+ 8
+
+2009-04-01 15:57 zmoelnig
+
+ * documentation for "resize"-message
+
+2009-04-01 15:40 zmoelnig
+
+ * please do not introduce dependencies on 3rd party libs like pddp
+
+2009-03-29 18:12 eighthave
+
+ * made Marius' rtx_sch2.pd into a Gem-style example
+
+2009-03-26 18:22 zmoelnig
+
+ * osx wants a typecast to (char*) when using malloc()
+
+2009-03-25 21:54 eighthave
+
+ * sketch of a GEMgl help patch
+
+2009-03-24 23:43 eighthave
+
+ * added messages and symbols to the inlet
+
+2009-03-23 23:54 eighthave
+
+ * documented FSAA (Full Scene Anti-Aliasing
+
+2009-03-23 22:31 eighthave
+
+ * first barebones help file for a GEMgl object
+
+2009-03-09 14:35 zmoelnig
+
+ * refuse to create with invalid arguments rather than writing
+ unread errors to the console
+
+2009-03-09 14:33 zmoelnig
+
+ * add comment-hint about GL-2.1
+
+2009-03-09 14:31 zmoelnig
+
+ * prepend object-name when catching exceptions in the constructor
+
+2009-03-02 13:50 zmoelnig
+
+ * at least it compiles and loads;
+ only have to convince my gfx-card to emulate geometry-shaders...
+
+2009-03-02 13:49 zmoelnig
+
+ * the importGLEW script did not take into account, that Gem now
+ _always_ uses GLEW
+
+2009-03-02 13:40 zmoelnig
+
+ * now this was so untested, that it didn't even load...
+
+2009-03-02 13:39 zmoelnig
+
+ * updated GLEW
+
+2009-03-02 13:36 zmoelnig
+
+ * base implementation of geometry-shaders (not tested at all)
+
+2009-03-02 12:48 zmoelnig
+
+ * added UV-texturing support to [multimodel]
+
+2009-02-16 19:59 nusmuk
+
+ * add perspective message to frambuffer, thanks to Matthias
+ Neuenhofer
+
+2009-02-16 19:59 nusmuk
+
+ * add perspective message to frambuffer, thanks to Matthias
+ Neuenhofer
+
+2009-02-08 14:20 zmoelnig
+
+ * fixed 256 vs 255 confusion
+
+2009-02-05 19:34 nusmuk
+
+ * add a crappy workaround for buggy linux nvidia driver (version >
+ 173).
+ this patch set FSAA only if it is not zero thrus allowing
+ nvidia-setting
+ to configure the desire anti-aliasing setting.
+
+2009-01-27 17:49 zmoelnig
+
+ * note about RGB32==BGRA confusion; LATER fix it
+
+2009-01-27 17:31 zmoelnig
+
+ * oops, the last change was a bit too much: accidentally flipped
+ RGB and BGR
+
+2009-01-27 14:44 zmoelnig
+
+ * removed verbose output of "rgba" at each frame...
+
+2009-01-26 16:31 zmoelnig
+
+ * added arguments as requested in #2535557
+
+2009-01-26 15:41 zmoelnig
+
+ * fixed syntax if gmerlin is not available
+
+2009-01-23 08:59 zmoelnig
+
+ * fixed converter crash when nothing is to convert
+
+2009-01-22 17:30 zmoelnig
+
+ * fixed copyright banner
+
+2009-01-22 17:19 zmoelnig
+
+ * seems to work so far
+
+2009-01-22 17:14 zmoelnig
+
+ * [gem_state] does the GemState/GemCache part of [gemhead]
+
+2009-01-22 17:06 zmoelnig
+
+ * removed unused code
+
+2009-01-22 17:04 zmoelnig
+
+ * do not disable libquicktime if gmerlin is found, as this is
+ needed for recording
+
+2009-01-22 14:06 zmoelnig
+
+ * use RGB2GRAY_ instead of constants scattered all around
+
+2009-01-22 13:47 zmoelnig
+
+ * 2nd inlet to the FF-object;
+ make RGBA explicit
+
+2009-01-21 16:24 zmoelnig
+
+ * 2 visual tests (no automation)
+
+2009-01-20 18:20 zmoelnig
+
+ * now that events are rescheduled, we can directly delete the
+ window again.
+ this makes messages like [destroy, border $1, create( meaningfull
+ again
+
+2009-01-20 18:14 zmoelnig
+
+ * events are now queued and rescheduled before they are emitted to
+ the listeners;
+ no more stack corruption (hopefully)
+
+2009-01-20 14:07 zmoelnig
+
+ * removed tablet leftovers
+
+2009-01-19 17:31 zmoelnig
+
+ * [part_draw] now accepts symbolic types (again)
+
+2009-01-19 17:14 zmoelnig
+
+ * replacement for [gemhead] based on [gemreceive];
+ not fully working yet (problems with caching and single-buffer
+ mode)
+
+2009-01-19 17:02 zmoelnig
+
+ * removed spurious post()s
+
+2009-01-19 15:34 zmoelnig
+
+ * disable video decoders by default if gmerlin is found
+
+2009-01-19 15:05 zmoelnig
+
+ * well, no need for a BUGS file anymore
+
+2009-01-19 14:59 zmoelnig
+
+ * updated help-patch
+
+2009-01-19 14:56 zmoelnig
+
+ * BUGs are now tracked at the sf-tracker
+
+2009-01-18 15:19 zmoelnig
+
+ * ...
+
+2009-01-18 15:15 zmoelnig
+
+ * check whether multitextures are supported before setting the
+ number of available units to 8
+
+2009-01-17 14:08 zmoelnig
+
+ * added note about "fullscreen 2" (closes: #1970264)
+
+2009-01-17 13:35 zmoelnig
+
+ * more fixes in the manual section
+
+2009-01-17 13:31 zmoelnig
+
+ * manual has moved to doc
+
+2009-01-17 13:28 zmoelnig
+
+ * GnuGPL.LICENSE was renamed to GnuGPL.LICENSE.txt
+
+2009-01-17 13:13 zmoelnig
+
+ * added new objects (and incorporated the name-change with all the
+ ...NEW vs ...OS stuff)
+
+2009-01-17 13:11 zmoelnig
+
+ * removed unused variables
+
+2009-01-17 12:51 zmoelnig
+
+ * this is a snapshot release so don't say it's 0.91.0
+
+2009-01-17 12:43 zmoelnig
+
+ * exclude .svn rather than CVS in the installer
+
+2009-01-17 12:25 zmoelnig
+
+ * connected 3rd inlet of [pix_freeframe Wave]
+
+2009-01-17 12:04 zmoelnig
+
+ * added [gemreceive]to the vs-project
+
+2009-01-15 11:10 zmoelnig
+
+ * [model] now supports UV-textures
+
+2009-01-15 10:07 zmoelnig
+
+ * working UV textures (but not fully included yet)
+
+2009-01-15 09:16 zmoelnig
+
+ * on the way to support UV-textures
+
+2009-01-14 17:13 zmoelnig
+
+ * set the upsidedown flag in every getFrame()
+
+2009-01-14 16:55 zmoelnig
+
+ * in PixDualObj fixUpDown if the 2 images are of different
+ orientation
+
+2009-01-14 15:16 zmoelnig
+
+ * focus in no-border mode;
+ LATER use Extended Window Manager Hints for this
+ (probably see vlc...)
+
+2009-01-14 12:41 zmoelnig
+
+ * check for gl.h/glu.h
+
+2009-01-14 12:12 zmoelnig
+
+ * disable libtiff/libjpeg when using ImageMagick
+
+2009-01-12 14:12 zmoelnig
+
+ * fixed the crasher when loading grayscale images on OSX
+
+2009-01-12 11:57 zmoelnig
+
+ * seems to work again on OSX (at least 10.5)
+
+2009-01-12 09:38 zmoelnig
+
+ * oops, the binaries for FF-plugins are really located in
+ <name>.frf/Contents/MacOS/<name> rather than <name>.frf/<name>;
+ but there most be a more intelligent way to open such a bundle
+
+2009-01-07 11:18 zmoelnig
+
+ * removed some occurences of DO_AUTO_REGISTER_CLASS
+
+2009-01-07 11:10 zmoelnig
+
+ * cleaned up preprocessor stuff a tiny little bit
+
+2009-01-07 11:09 zmoelnig
+
+ * do not override messages from parent-class; instead override
+ methods
+
+2009-01-07 10:37 zmoelnig
+
+ * do not override messages from parent-class; instead override
+ methods
+
+2009-01-07 09:22 zmoelnig
+
+ * do not overwrite the "draw" method (bad in 0.42)
+
+2008-12-23 22:40 nusmuk
+
+ * remove printing the error when gemlist should not be banged
+
+2008-12-15 12:08 zmoelnig
+
+ * force restart of transfer on "device $1" message (even if it is
+ the same!)
+
+2008-12-15 11:20 zmoelnig
+
+ * more using libv4l2
+
+2008-12-15 09:59 zmoelnig
+
+ * better support using libv4l
+
+2008-12-15 08:36 zmoelnig
+
+ * accidentally removed v4l&ieee1394 checks; here they are again
+
+2008-12-14 17:14 zmoelnig
+
+ * automatically use libv4l and the user did not force to not-use
+ V4L
+
+2008-12-14 17:03 zmoelnig
+
+ * fixed typos
+
+2008-12-14 17:02 zmoelnig
+
+ * more verbosity
+
+2008-12-14 16:14 zmoelnig
+
+ * added support for libv4l1 and libv4l2 (now let's see whether this
+ works...)
+
+2008-12-14 15:39 zmoelnig
+
+ * added checks for libv4l1 and libv4l2
+
+2008-12-12 20:19 zmoelnig
+
+ * handle API change in libmpeg3
+
+2008-12-11 13:48 zmoelnig
+
+ * removed checks for FFMPEG (LATER remove FFMPEG code);
+ hopefully better checks for libmpeg3
+
+2008-12-11 13:47 zmoelnig
+
+ * try all available redirectors until a valid one is found;
+ less verbosity;
+ some sanity checks
+
+2008-12-09 10:10 zmoelnig
+
+ * check for success on file-open to prevent crashes...
+
+2008-12-07 19:16 zmoelnig
+
+ * log callback
+
+2008-12-07 18:42 zmoelnig
+
+ * fixed crasher bug with ogg-files; frame-setting should be more
+ reliable now
+
+2008-12-07 14:35 zmoelnig
+
+ * working code!
+
+2008-12-06 18:38 zmoelnig
+
+ * added checks for gmerlin
+
+2008-12-06 18:14 zmoelnig
+
+ * (non-working) support for gmerlin
+
+2008-11-21 16:38 zmoelnig
+
+ * flip wrongly oriented images when saving with libTIFF/libJPEG
+
+2008-11-21 16:30 zmoelnig
+
+ * fixed comment
+
+2008-11-21 16:29 zmoelnig
+
+ * upsidedown fixfun
+
+2008-11-21 15:53 zmoelnig
+
+ * fix the "upsidedown" while flipping
+
+2008-11-21 15:13 zmoelnig
+
+ * proper names for FlipType: VERTICAL says more than VERT
+
+2008-11-13 09:30 zmoelnig
+
+ * (nonexistant) freeframe-plugins fail silently when created via
+ sys_loader
+
+2008-11-11 14:26 zmoelnig
+
+ * added libxxf86vm-dev to the Debian-packages
+
+2008-11-11 14:17 zmoelnig
+
+ * install more packages on debian (namely: libglu-dev and
+ magick++9-dev)
+
+2008-11-08 16:27 zmoelnig
+
+ * added help for creating windows on remote X-displays
+
+2008-11-08 16:21 zmoelnig
+
+ * better handling of YUVB-images
+ (either refuse to write them or convert them to RGB)
+
+2008-11-07 09:22 zmoelnig
+
+ * added "copy" message to copy images from one slot to another;
+ added alias "load" for "open" (to be in sync with "save")
+
+2008-11-05 10:50 zmoelnig
+
+ * set tifftags: xresolution, yresolution and resolutionunit when
+ using libtiff
+ to write images
+
+2008-11-03 16:32 zmoelnig
+
+ * updated xcode-project for olde NEW stuff
+
+2008-10-29 15:51 zmoelnig
+
+ * disable ffmpeg-test by default
+
+2008-10-29 15:23 zmoelnig
+
+ * fixed typos; added better sanity check; can be called without
+ prior initialization!
+
+2008-10-29 14:00 zmoelnig
+
+ * now this has been gone untested for ages...i will not start now
+
+2008-10-29 13:48 zmoelnig
+
+ * fix auto-registration stuff for OS<->NEW objects
+
+2008-10-29 13:40 zmoelnig
+
+ * some leftovers from the NEW<->OS rename action
+
+2008-10-29 13:33 zmoelnig
+
+ * renamed "pix_(video|movie|film)" to "pix_*OS" as these are really
+ base-classes for platform-dependent inplementations
+ otoh, renamed all "pix_*NEW" to "pix_*";
+ let's see what breaks
+
+2008-10-29 12:36 zmoelnig
+
+ * added 4th outlet (for texture) to pix_movieDarwin
+
+2008-10-27 08:52 nusmuk
+
+ * add a new exemple : physical model on the GPU
+
+2008-10-18 17:59 nusmuk
+
+ *
+
+2008-09-27 16:22 zmoelnig
+
+ * removed the comment about "4th outlet win/lin only";
+ it's rather a matter of compilation
+
+2008-09-27 16:03 eighthave
+
+ * added documentation of the 4th outlet
+
+2008-09-27 12:59 eighthave
+
+ * updated help file, mostly by correcting tpyos, and removing
+ 'client_storage' message since it doesn't work with this object
+
+2008-09-19 11:47 zmoelnig
+
+ * removed the NONBLOCKING flag (see
+ http://lists.puredata.info/pipermail/gem-dev/2008-09/003679.html)
+
+2008-09-17 14:36 zmoelnig
+
+ * GemExceptions should be thrown!
+
+2008-09-17 14:07 zmoelnig
+
+ * embedd GLconst->const interpreter, so now we can use directly use
+ [GEMglEnable GL_FOG] instead of quirks with [GLdefine];
+ this is done explicitely; there really should be a way to do it
+ implicetly for all GLenum types
+
+2008-09-17 11:16 zmoelnig
+
+ * use "const" arguments for getGLdefine() because the
+ arguments really are not changed;
+ make toupper() not crash Pd when (not) fiddling in the
+ symbol-table
+
+2008-09-17 07:59 zmoelnig
+
+ * all GEMgl wrapper-classes are now derived from GemGLBase
+
+2008-09-16 15:26 zmoelnig
+
+ * a new wrapper object (+ a base class to be used for all wrapper
+ objects)
+
+2008-09-16 15:25 zmoelnig
+
+ * ...
+
+2008-09-16 15:02 zmoelnig
+
+ * a wee wrapper script that needs a lot of work!
+
+2008-09-16 13:42 zmoelnig
+
+ * removed unneeded scripts
+
+2008-09-09 13:54 zmoelnig
+
+ * bail out when glu is missing
+ (but we really want to bail out when glu.h is missing)
+ LATER: can we remove the check for OpenGL? (should be
+ covered by glew)
+
+2008-09-09 13:43 zmoelnig
+
+ * check whether GL_ARB_imaging is supported before trying
+ to push/pop the GL_COLOR matrix (fixes: bug#2008988)
+
+2008-08-19 16:51 zmoelnig
+
+ * constified a bit
+
+2008-07-30 17:53 zmoelnig
+
+ * removed the explicit [pix_yuv] conversion;
+ this MUST be fixed in the object side
+
+2008-07-30 17:40 zmoelnig
+
+ * allow [gemreceive] to be instantiated without arguments
+
+2008-07-30 17:22 zmoelnig
+
+ * probably working by now...
+
+2008-07-30 17:18 zmoelnig
+
+ * removed more unneeded variables
+
+2008-07-30 17:07 zmoelnig
+
+ * since we have released Gem-0.91 some time ago, we are
+ now in 0.92.CVS
+
+2008-07-30 16:59 zmoelnig
+
+ * added .txt suffix to the GPL, in order to make it easier to read
+ on w32...
+
+2008-07-30 16:55 zmoelnig
+
+ * this is now in build/osx-xcode/Gem.xcodeproj/
+
+2008-07-30 16:53 zmoelnig
+
+ * cleaned up the root-folder a bit
+
+2008-07-30 16:53 zmoelnig
+
+ * updated a bit, but not really working yet
+
+2008-07-30 16:52 zmoelnig
+
+ * included missing header ... now it compiles
+
+2008-07-30 16:42 zmoelnig
+
+ * removed some warnings in xcode;
+ introduced a new GemVersion class (needs more work on non-osx...)
+
+2008-07-30 14:33 zmoelnig
+
+ * replaced the "MACOSX" macro with "__APPLE__"
+ (hopefully this is the last occurence...)
+
+2008-07-30 12:49 zmoelnig
+
+ * cleaned up xcode project
+
+2008-07-24 15:02 zmoelnig
+
+ * added a short description about what this is for
+
+2008-07-24 14:57 zmoelnig
+
+ * made as much private (hidden inthe implementation file) as
+ possible
+
+2008-07-24 14:53 zmoelnig
+
+ * cleaned up a bit
+
+2008-07-24 14:36 zmoelnig
+
+ * afirst step to replace [gemhead]
+
+2008-07-23 16:28 zmoelnig
+
+ * hmm, dunno
+
+2008-07-23 16:11 zmoelnig
+
+ * removed stray "config.h" files from projects
+
+2008-07-23 16:04 zmoelnig
+
+ * less warnings on w32 (and probably "fixed" the
+ sys_register_loader()
+
+2008-07-23 13:49 zmoelnig
+
+ * removed traces of wintab
+
+2008-07-23 12:17 zmoelnig
+
+ * created build-projects for OS-X;
+ LATER remove the leftovers Gem/GEM_darwin.*/
+
+2008-07-23 12:13 zmoelnig
+
+ * removed user-specific settings
+
+2008-07-23 12:07 zmoelnig
+
+ * moved "manual" into "doc" to have less clutter...
+
+2008-07-23 12:05 zmoelnig
+
+ * cleaned up a bit
+
+2008-07-17 08:05 zmoelnig
+
+ * on the road t a [pix_freeframe]object that can load different
+ plugins...
+
+2008-07-17 08:00 zmoelnig
+
+ * turned off warnings about typedef...
+
+2008-07-14 14:34 zmoelnig
+
+ * dynamically looking up whether we find sys_register_loader,...
+ might be cool
+
+2008-07-14 14:33 zmoelnig
+
+ * this should enable Hans's help-path tricks
+
+2008-07-09 15:48 zmoelnig
+
+ * more on loaders...
+
+2008-07-09 15:47 zmoelnig
+
+ * a tiny wrapper for loaders in Gem (e.g. freeframe, frei0r)
+
+2008-07-08 16:45 zmoelnig
+
+ * added prelaminary support for a freeframe1.0-loader, so people
+ can
+ directly use [pix_GlowVFX] instead of the clumsy [pix_freeframe
+ GlowVFX]
+
+2008-06-16 10:38 zmoelnig
+
+ * oops! forgot to check in a crucial part...
+
+2008-06-16 10:23 zmoelnig
+
+ * added error() when init() fails
+
+2008-06-16 10:22 zmoelnig
+
+ * proper initialization of minframes/maxframes,...
+
+2008-06-16 10:21 zmoelnig
+
+ * added "seed" message; faster fastrand() algorithm
+
+2008-06-13 09:14 zmoelnig
+
+ * unified the GemShape() subclasses a bit;
+ LATER unify the typeMess() even more
+
+2008-06-13 07:37 zmoelnig
+
+ * use member functions rather
+
+2008-06-13 07:20 zmoelnig
+
+ * simplified code a bit
+
+2008-06-12 18:00 zmoelnig
+
+ * mreged in changes from 0.91.1
+
+2008-06-12 18:00 zmoelnig
+
+ * merged in changes from 0.91.1
+
+2008-06-12 17:50 zmoelnig
+
+ * a simple trapezoid with correct(?) texturing
+
+2008-06-11 11:01 zmoelnig
+
+ * make this object useable for picking...
+
+2008-06-02 12:17 zmoelnig
+
+ * fixed buffer overrun
+
+2008-06-02 10:15 zmoelnig
+
+ * TODO is now for 0.92 rather than 0.91
+
+2008-06-02 10:08 zmoelnig
+
+ * made it very explicit that these project-files might not work at
+ all
+
+2008-06-02 10:03 zmoelnig
+
+ * moved the m$VS project-files away into build/win-vs*
+
+2008-06-02 09:36 zmoelnig
+
+ * fixed double definition of checkGemVersion() (illegal merge
+ operation...)
+
+2008-06-02 08:28 zmoelnig
+
+ * dos2unix on GEM.README
+
+2008-06-02 08:27 zmoelnig
+
+ * removed unused code
+
+2008-06-02 08:26 zmoelnig
+
+ * merged back in the changes from v0-91-0
+
+2008-05-26 16:50 nusmuk
+
+ * adjust somes parametters for a better looking exemple.
+
+2008-05-26 16:17 nusmuk
+
+ * fix bug : framebuffer change scenne perspective.
+
+2008-05-23 08:19 zmoelnig
+
+ * added a runtime check to find out, whether this object is
+ compiled
+ against the right version of Gem and refuse to register the class
+ otherwise
+
+2008-05-23 08:00 zmoelnig
+
+ * a bit of version magic for easier compatibility (so externals can
+ refer to
+ a certain version)
+
+2008-05-22 09:38 zmoelnig
+
+ * updated to resolve all unresolved
+
+2008-05-22 09:37 zmoelnig
+
+ * updated for 0.91
+
+2008-05-22 08:39 zmoelnig
+
+ * renamed 10.glsl-patches to match the standard naming scheme:
+ ##.name.pd
+ instead of
+ ##_name.pd
+
+2008-05-15 20:38 zmoelnig
+
+ * made it compile with g++-4.3 by adding some headers...
+
+2008-05-09 19:49 zmoelnig
+
+ * added new object [GEMglReportError] to the project
+
+2008-05-09 19:48 zmoelnig
+
+ * a new object: [GEMglReportError] which outputs the glError() to
+ its right outlet
+
+2008-05-09 19:47 zmoelnig
+
+ * only build gem.nsi (gem-binary.nsi does not exist any more)
+
+2008-05-09 19:15 zmoelnig
+
+ * call the installer-builder at the end of the project
+
+2008-05-09 19:15 zmoelnig
+
+ * a bit less verbosity
+
+2008-05-09 18:38 zmoelnig
+
+ * apple doesn't like the qt-deinit stuff of w32: moved it into
+ os-specific
+ section
+
+2008-05-09 18:34 zmoelnig
+
+ * enable [pix_freeframe] on amd64
+
+2008-05-09 18:32 zmoelnig
+
+ * mute the movie
+
+2008-05-09 18:22 zmoelnig
+
+ * removed commented-out lines;
+ concentrated platform dependent things in one place (or replaced
+ them by
+ platform-independent things)
+
+2008-05-08 16:29 zmoelnig
+
+ * added "bang" aliases for "snap"
+
+2008-05-08 10:07 zmoelnig
+
+ * mutex to prevent multiple installers running at the same time
+
+2008-05-08 10:00 zmoelnig
+
+ * dumped the binary vs bin-doc thing and just create a single
+ installer (we might still provide separate .zip files for those
+ who just need the binary)
+
+2008-05-06 17:53 zmoelnig
+
+ * more scripts for building installer
+
+2008-05-06 16:55 zmoelnig
+
+ * a small post-build script
+
+2008-05-06 16:52 zmoelnig
+
+ * more installer-script
+
+2008-05-06 15:55 zmoelnig
+
+ * added NSIS-installer scripts
+
+2008-05-06 10:07 zmoelnig
+
+ * updated install-script (not checked!)
+
+2008-05-06 08:32 zmoelnig
+
+ * glxew checks
+
+2008-05-06 08:09 zmoelnig
+
+ * prefixed PBuffer-flags with "GEM_PBUFLAG_" (i am afraid of a
+ const "FLOAT")
+
+2008-05-06 08:03 zmoelnig
+
+ * cleaned up a bit...
+
+2008-05-06 07:21 zmoelnig
+
+ * this crashes on an ati-X2300; added a #warning to indicate where
+
+2008-05-06 07:03 zmoelnig
+
+ * put a bug-report link into the splash screen;
+ make errors on Xcreate less verbose but added hint about
+ GEM_SINGLE_CONTEXT
+
+2008-05-06 06:26 zmoelnig
+
+ * try to get rid of the "no window made" error in
+ GEM_SINGLE_CONTEXT;
+ check whether this reintroduces crashes on error-prone machines!
+
+2008-05-06 06:15 zmoelnig
+
+ * fixed typos
+
+2008-05-05 18:56 zmoelnig
+
+ * removed verbosity
+
+2008-05-05 12:16 zmoelnig
+
+ * fixed example patch and be a bit more verbose
+
+2008-05-05 12:07 zmoelnig
+
+ * check whether the font-file really exists
+ (this is a HACK for buggy FTGL versions that crash when they
+ cannot find the font-file)
+
+2008-05-05 11:50 zmoelnig
+
+ * single-context hacks: do not force 640x480 AND allow
+ window-destruction
+
+2008-05-05 11:23 zmoelnig
+
+ * removed platform dependent code
+
+2008-05-05 08:52 zmoelnig
+
+ * expose a function to get the window-position;
+ make "m_buffer" public so that gem2pdp can access it...
+ LATER make it private again and add methods to access it
+
+2008-05-05 07:37 eighthave
+
+ * Addressing bug #1941962
+
+ The colors are still off using Pd-0.40.3-extended-20080502 on Mac
+ OS X 10.4.11
+ when this patch is run without adding the [pix_yuv], so I added
+ [pix_yuv] and
+ checked the patch into CVS. I hope it works fine on Ubuntu and
+ Windows with the
+ [pix_yuv].
+
+2008-05-04 11:37 zmoelnig
+
+ * removed verbose output on profiling
+
+2008-05-04 11:34 zmoelnig
+
+ * cleaned up platform dependent stuff a bit
+
+2008-05-04 11:14 zmoelnig
+
+ * moved more platform specific code into GemWinCreate<OS>
+
+2008-05-04 10:58 zmoelnig
+
+ * made a lot of stuff in GemMan.h private; made getMethods() for
+ this
+
+2008-05-04 10:01 zmoelnig
+
+ * moved implementations of functions from GemMan.h to GemMan.cpp
+
+2008-05-02 16:20 zmoelnig
+
+ * removed the pdp-objects from the test
+
+2008-05-02 16:11 zmoelnig
+
+ * simplified printout a bit (and tried to use error() when
+ appropriate)
+
+2008-05-02 14:58 zmoelnig
+
+ * simplified output
+
+2008-05-02 14:52 zmoelnig
+
+ * simplified printout
+
+2008-05-02 10:42 zmoelnig
+
+ * fixed spelling
+
+2008-05-02 09:34 zmoelnig
+
+ * do something when the error-handler is called in the createWindow
+ function;
+ this should prevent the window to be created on ubuntu/hardy and
+ some
+ gfx-cards which is better than freezing the machine
+
+2008-04-30 17:46 zmoelnig
+
+ * use messages "dimen" instead of "dim"
+
+2008-04-28 10:56 nusmuk
+
+ * *** empty log message ***
+
+2008-04-25 08:30 zmoelnig
+
+ * added some comments
+
+2008-04-25 07:40 zmoelnig
+
+ * minor changes to make it possible to compile on x86_64 (though
+ this is not
+ strictly FreeFrame compatible)
+
+2008-04-22 11:58 zmoelnig
+
+ * argh!, another typo
+
+2008-04-22 11:55 zmoelnig
+
+ * added ZIPing to create packages
+
+2008-04-22 11:09 zmoelnig
+
+ * print "setup done" instead of "setup end" to avoid confusion
+
+2008-04-22 10:03 zmoelnig
+
+ * moved dialogue from setupQT() to dialog()
+
+2008-04-22 09:51 zmoelnig
+
+ * cache the filename before convefrting to pascal-strings;
+ allow longer filenames (still hardcoded, but now up to 256
+ characters)
+
+2008-04-22 09:35 zmoelnig
+
+ * coming to an end (at least on w32)
+
+2008-04-22 08:50 zmoelnig
+
+ * fixed typos in initialization
+
+2008-04-22 08:42 zmoelnig
+
+ * use initialization in constructor;
+ unified printouts a bit
+
+2008-04-22 08:40 zmoelnig
+
+ * more verbose when we refuse to change filename or open dialog
+
+2008-04-21 17:22 zmoelnig
+
+ * oops: accidentally set colorspace to BGRA everywhere instead of
+ just w32
+
+2008-04-21 17:07 zmoelnig
+
+ * create a date-based directory
+
+2008-04-21 15:28 zmoelnig
+
+ * more on codec selection
+
+2008-04-21 14:47 zmoelnig
+
+ * try better codec-selector
+
+2008-04-21 14:26 zmoelnig
+
+ * minor cleanups
+
+2008-04-21 14:01 zmoelnig
+
+ * check for NULL-pointers; cleaned up code a bit
+
+2008-04-21 13:36 zmoelnig
+
+ * safety check if getCodecName() returns NULL
+
+2008-04-21 13:35 zmoelnig
+
+ * don't include glext
+
+2008-04-20 10:07 nusmuk
+
+ * adding vertex texture fetching exemple.
+
+2008-04-17 21:07 cclepper
+
+ * changed OSX Intel pixel format and GL packing order. should fix
+ pix_data and other bugs.
+
+2008-04-17 16:15 zmoelnig
+
+ * ugly hack to make this object work on macintel
+
+2008-04-17 14:33 zmoelnig
+
+ * "fixed" the color-problem on macintel;
+ really this should be fixed win chRed,...
+
+2008-04-17 14:31 zmoelnig
+
+ * removed references to OpenGL/glext.h
+
+2008-04-17 10:29 zmoelnig
+
+ * use "create" as default
+
+2008-04-17 10:23 zmoelnig
+
+ * "create" is the default state
+
+2008-04-17 08:33 zmoelnig
+
+ * cleaned up configure a bit
+
+2008-04-16 17:40 zmoelnig
+
+ * seems to work on G5
+
+2008-04-16 17:25 zmoelnig
+
+ * moved the pixel-data acquisition code from [pix_data] to
+ GemPixUtil
+
+2008-04-16 17:08 zmoelnig
+
+ * removed [zexy] object
+
+2008-04-16 11:54 zmoelnig
+
+ * disable building of fat-binaries for now as this interferes
+ somehow
+ with the CPPFLAGS
+
+2008-04-16 10:07 zmoelnig
+
+ * try to build fat-binaries on OSX
+
+2008-04-14 17:02 zmoelnig
+
+ * [create( should be the default message-box
+
+2008-04-14 16:50 zmoelnig
+
+ * added GEM_EXTRA_CXXFLAGS and GEM_EXTRA_LDFLAGS for manually
+ adding flags
+
+2008-04-12 11:14 zmoelnig
+
+ * reincluded necessary header-files
+
+2008-04-12 08:23 zmoelnig
+
+ * use "release" as default build (and made that work too).
+ release.bat had wrong path of Gem.dll
+
+2008-04-11 21:30 zmoelnig
+
+ * undo MSVC-hack
+
+2008-04-11 21:30 zmoelnig
+
+ * finally made libfidtrack compile!
+
+2008-04-11 20:04 zmoelnig
+
+ * removed unneccessary includes of <iostream>
+
+2008-04-11 19:47 zmoelnig
+
+ * added GemPBuffer and pix_vpaint
+
+2008-04-11 19:45 zmoelnig
+
+ * included <wglew.h> on windows to enable the GemPBuffer on w32.
+ fixed signedness in TextBase.cpp to reduce V$ warnings
+
+2008-04-11 19:01 zmoelnig
+
+ * added defunct but compiling libfidtrack with objects
+
+2008-04-11 18:47 zmoelnig
+
+ * disabling the code that M$VC did not like - this actually makes
+ [pix_fiducialtrack] not useable on w32, but the object can be
+ created
+
+2008-04-11 18:32 zmoelnig
+
+ * added some libfidtrack-files (actually just
+ libfidtrack_segment.cpp);
+ libfidtrack_treeidmap() fails to link and libfidtrack_fidtrackX
+ depends on it)
+
+2008-04-11 13:03 zmoelnig
+
+ * moved stuff around to make it more readable
+
+2008-04-11 12:55 zmoelnig
+
+ * example how to read a framebuffer into a pix and then do stupid
+ things
+ with it...
+
+2008-04-11 07:41 zmoelnig
+
+ * slowly goes the night...
+
+2008-04-11 07:37 zmoelnig
+
+ * use (int) for framerate
+
+2008-04-11 07:21 zmoelnig
+
+ * use GEM_USE_RECORDQT4L in [pix_record] instead of more-informed
+ logic
+
+2008-04-11 06:38 zmoelnig
+
+ * now test for lqt_open_write instead of lqt_open_video_track
+
+2008-04-09 14:50 zmoelnig
+
+ * seems to be stable now
+
+2008-04-09 10:02 zmoelnig
+
+ * new QT4L recording implementation
+
+2008-04-08 13:41 zmoelnig
+
+ * made Debugthe default build-target again
+
+2008-04-08 13:36 zmoelnig
+
+ * be a bit more verbose about which SIMD-instructions have been
+ compiled into Gem (in addition to the info which instruction-set
+ is used)
+
+2008-04-08 13:32 zmoelnig
+
+ * made Release-target compile (with MMX/SSE2 optimization)
+
+2008-04-08 13:27 zmoelnig
+
+ * hmm, YUV-MMX didn't do anything useful: should work now
+
+2008-04-08 12:28 zmoelnig
+
+ * try reducing dependencies a bit
+
+2008-04-08 10:00 zmoelnig
+
+ * fixed crasher when instantiating the object
+
+2008-04-08 09:31 zmoelnig
+
+ * a small script to produce simple alpha-releases
+
+2008-04-07 19:47 zmoelnig
+
+ * added FTGL-support (after compiling freetype2.14 as
+ multithreaded-Debug!)
+
+2008-04-07 19:22 zmoelnig
+
+ * added JPEG&TIFF support (oops, this crashes...)
+
+2008-04-07 19:06 zmoelnig
+
+ * seems like all of DS is compiling and linking now
+
+2008-04-07 18:58 zmoelnig
+
+ * include headers to make it compile again
+
+2008-04-07 18:51 zmoelnig
+
+ * enabled DS
+
+2008-04-07 18:45 zmoelnig
+
+ * include headers to make it compile again
+
+2008-04-07 18:41 zmoelnig
+
+ * slowly approaching: 1/2 of DS-code compiles
+
+2008-04-07 16:11 zmoelnig
+
+ * a working draft (no FTGL, image, DirectShow yet)
+
+2008-04-07 15:33 zmoelnig
+
+ * added a new project for M$VC2003 (not working yet)
+
+2008-04-07 15:26 zmoelnig
+
+ * minor fixes for m$vc
+
+2008-04-07 15:24 zmoelnig
+
+ * do not exclude the entire file on non-linux (should be handled by
+ the HAVE_DV macro; LATER rename it to HAVE_DV4L)
+
+2008-04-07 15:21 zmoelnig
+
+ * fixed missing return in isRunnable()
+
+2008-04-07 15:18 zmoelnig
+
+ * moved m$vc printf weirdness into configNT.h;
+ include QuickTime into GemWinCreateNT (and make wintab optional)
+
+2008-04-05 13:08 nusmuk
+
+ * add format RGB32 in order to have an efficient vertex texture
+ fetching
+
+2008-04-02 08:42 zmoelnig
+
+ * use "rectangle" instead of "mode", use "dimen" instead of "dim"
+
+2008-04-02 08:37 zmoelnig
+
+ * install help-patches before examples
+
+2008-04-02 08:32 zmoelnig
+
+ * fixed help-patch bugs
+
+2008-04-02 08:21 zmoelnig
+
+ * cleared up the CPPExtern.h stuff a bit;
+ use "create_<classname>" as constructor callback rather than
+ "_class<classname>"
+
+2008-04-02 08:18 nusmuk
+
+ * *** empty log message ***
+
+2008-04-02 08:13 nusmuk
+
+ * make simplification to this example.
+
+2008-04-02 07:42 zmoelnig
+
+ * removed "pdp bridge" objects which were only skeletons and never
+ got any flesh
+
+2008-04-01 18:54 nusmuk
+
+ * *** empty log message ***
+
+2008-04-01 17:56 nusmuk
+
+ * *** empty log message ***
+
+2008-03-31 16:48 nusmuk
+
+ * adding a multi pass rendering with shader example.
+
+2008-03-31 15:42 nusmuk
+
+ * *** empty log message ***
+
+2008-03-31 12:26 zmoelnig
+
+ * use "rectangle" instead of "mode"
+
+2008-03-31 12:15 zmoelnig
+
+ * added a texunit message to gemframebuffer
+
+2008-03-31 11:23 zmoelnig
+
+ * better names for messages; full pix_texture-compatible
+ texture-message
+
+2008-03-12 17:37 zmoelnig
+
+ * added note on where the intel-cards like to crash on linux
+
+2008-03-11 09:33 zmoelnig
+
+ * fixed path
+
+2008-03-11 09:33 zmoelnig
+
+ * throw an error if shader cannot be loaded (instead of trying to
+ interpret
+ the "filename" as shader-program)
+
+2008-03-11 09:16 zmoelnig
+
+ * fixed parameters for the toon-shader
+
+2008-03-10 16:48 zmoelnig
+
+ * moved setup of context-sharing into GemWinCreate<OS>
+
+2008-03-10 16:33 zmoelnig
+
+ * moved topmostWin() into the os-specific files (removing another
+ #define)
+
+2008-03-10 16:25 zmoelnig
+
+ * moved the inclusion of QuickTime.h into os-specific files
+
+2008-03-10 16:20 zmoelnig
+
+ * fixed typo
+
+2008-03-10 16:18 zmoelnig
+
+ * moved platform-dependent stuff from GemMan to GemWinCreate<OS>
+
+2008-03-10 15:55 zmoelnig
+
+ * removed a tiny portion of #ifdef's
+
+2008-03-10 15:49 zmoelnig
+
+ * removed debugging output
+
+2008-03-10 13:16 zmoelnig
+
+ * be more specific about glew-failures (ignore glxew init-fail, but
+ not others)
+
+2008-03-10 10:32 zmoelnig
+
+ * added the "auto" message
+
+2008-03-10 10:30 zmoelnig
+
+ * display the original model too, to see a difference...
+
+2008-03-10 10:28 zmoelnig
+
+ * adapted help-patches to the crystel-eye stereo feature
+
+2008-03-10 10:21 zmoelnig
+
+ * accepted Alan Norman's Crystal-Stereo patch
+
+2008-03-10 09:05 zmoelnig
+
+ * ignoring the failure of glewInit() to retain chromium support.
+ LATER check why it really fails
+
+2008-03-06 11:01 zmoelnig
+
+ * don't try to run configure when doing "make configure"
+
+2008-03-05 11:58 zmoelnig
+
+ * when using imagemagick, we now enforce 8bit per channels only.
+ (we don't have any higher resolution anyhow...)
+
+2008-03-05 10:40 zmoelnig
+
+ * probably got it right now
+
+2008-03-05 10:31 zmoelnig
+
+ * reverted the texture-hack
+
+2008-03-04 18:46 zmoelnig
+
+ * try to catch out-of-memory exceptions when allocating images
+ (fixes #1847369)
+
+2008-03-04 17:44 zmoelnig
+
+ * reverted to non-configure-generated file
+
+2008-03-04 17:39 zmoelnig
+
+ * made it compile under OS-X (haven't tested the functionality
+ yet...)
+
+2008-03-04 16:54 zmoelnig
+
+ * got rid of t_GLshaderObj in favour of GLhandleARB
+
+2008-03-04 16:53 zmoelnig
+
+ * glewified the openGL-wrapper objects that had ifdef's
+
+2008-03-04 15:19 zmoelnig
+
+ * glewified most of the objects (that had ifdef's before);
+ openGL-objects still missing
+
+2008-03-04 15:10 zmoelnig
+
+ * make glew used always (not _really_ part of configure any more);
+ print an error at the very end of configure if openGL and/or
+ m_pd.h seem
+ to be missing
+
+2008-03-04 14:28 zmoelnig
+
+ * added an abstraction to read a film into a pix_buffer as fast as
+ possible.
+
+2008-03-03 18:18 zmoelnig
+
+ * added isRunnable()
+
+2008-03-03 12:32 zmoelnig
+
+ * updated to GLEW-1.5.0
+
+2008-03-03 12:15 zmoelnig
+
+ * added enable-flag for GLEW
+
+2008-03-03 12:14 zmoelnig
+
+ * prepare for GLEW support
+
+2008-03-03 12:01 zmoelnig
+
+ * prepared for GLEW
+
+2008-03-03 11:58 zmoelnig
+
+ * run initGem() _after_ the splash-screen
+
+2008-02-23 11:33 nusmuk
+
+ * adding gemlist_matrix, that output the transformation matrix.
+ (a light version of gemlist_info)
+
+2008-02-20 14:59 zmoelnig
+
+ * transmit GLuint's over t_float
+
+2008-02-20 13:27 zmoelnig
+
+ * added the getFramerate() requested by Georg
+ (i forgot why he couldn't derive it himself)
+
+2008-02-19 15:53 zmoelnig
+
+ * fixed stupid color-bug discovered by georg holzmann
+
+2008-02-12 10:05 zmoelnig
+
+ * when normalizing only to 1 value, anchor it at height instead of
+ width
+ (according to marius' feature-request)
+
+2008-01-29 09:19 zmoelnig
+
+ * fixed typos; rephrased to talk about "states" rather than
+ "pointers"
+
+2008-01-29 09:12 zmoelnig
+
+ * fixed typos; use init-feature of [tgl]; added 4th example
+
+2008-01-24 14:01 nusmuk
+
+ * new example using gemlist, the double gemhead trick, or the
+ "repeat"
+ trick...
+
+2008-01-23 14:25 zmoelnig
+
+ * added _mm_empty() at beginning of MMX processing; this seems to
+ fix the problem
+ with g++-4.2...
+
+2008-01-23 14:03 zmoelnig
+
+ * proper casts
+
+2008-01-23 12:27 zmoelnig
+
+ * 1. moved most platform dependent code out of this object into
+ GemPixSave;
+ 2. allow filenames up to MAXPDSTRING (and not just 80)
+
+2008-01-23 12:25 zmoelnig
+
+ * added autoflip to QuickTime code (e.g. if imageStruct holds an
+ image that is
+ NOT upside-down, it will be flipped to become a correct QuickTime
+ image)
+
+2008-01-22 09:06 zmoelnig
+
+ * use imageStruct memberfunctions to handle types and reallocation:
+ removes a lot of ifdefs and thus makes the code more readable
+
+2008-01-22 08:49 zmoelnig
+
+ * nothing...
+
+2008-01-21 14:44 zmoelnig
+
+ * fixed callbacks that accept lists
+
+2008-01-09 21:12 cclepper
+
+ * fixed window focus on 10.5. thanks to Keith Bauer for the code
+ tip!
+
+2008-01-09 14:52 zmoelnig
+
+ * initialize glew if USE_GLEW
+
+2008-01-09 14:51 zmoelnig
+
+ * there is no "long long" type in C++
+
+2008-01-09 14:51 zmoelnig
+
+ * the last element of an enum must not be terminated by a comma
+
+2008-01-09 14:50 zmoelnig
+
+ * removed stray semicolons
+
+2008-01-09 09:02 zmoelnig
+
+ * added information about the "glUnform2i" problem
+
+2008-01-06 20:19 zmoelnig
+
+ * use m_rectangle instead of m_mode
+
+2008-01-06 20:18 zmoelnig
+
+ * better checks for rectangle-support
+
+2008-01-06 20:17 zmoelnig
+
+ * replaced "mode" by "rectangle" (more meaningful)
+
+2008-01-06 15:53 zmoelnig
+
+ * renamed help-file for [gemlist] to match
+
+2008-01-05 22:03 nusmuk
+
+ * add gemlist object
+
+2008-01-03 17:09 zmoelnig
+
+ * internally destroy the gemwindow when somebody closes the window
+ from outside
+
+2008-01-03 16:14 zmoelnig
+
+ * removed missing files
+
+2008-01-03 16:05 zmoelnig
+
+ * removed warnings
+
+2008-01-03 15:14 nusmuk
+
+ * *** empty log message ***
+
+2008-01-02 19:58 zmoelnig
+
+ * fixed typos and moved all (main) windows into the upper-left
+ corner.
+
+2008-01-02 16:38 zmoelnig
+
+ * use the best available colorspace supported by Gem...
+
+2008-01-02 16:10 zmoelnig
+
+ * implemented feature-request #1854593 (don't reset fps when
+ [gemwin] is
+ created without arguments)
+
+2008-01-02 15:26 zmoelnig
+
+ * added another outlet for various information (e.g. codecs)
+
+2008-01-02 15:26 zmoelnig
+
+ * hopefully fixed bug that crashed Gem when recording another movie
+
+2007-12-23 19:10 zmoelnig
+
+ * removed dependency on non-Gem externals
+
+2007-12-23 12:51 nusmuk
+
+ * *** empty log message ***
+
+2007-12-22 12:09 nusmuk
+
+ * newWave is now a real square.
+
+ ----------------------------------------------------------------------
+ ----------------------------------------------------------------------
+
+2007-12-22 12:06 nusmuk
+
+ * adding mesh_square primitive in order to work with vertex shader.
+
+2007-11-28 14:06 zmoelnig
+
+ * this times it even compiles...
+
+2007-11-28 14:06 zmoelnig
+
+ * hopefully adapted to new avifile-API
+
+2007-11-15 09:09 zmoelnig
+
+ * include "infotypes.h" instead of "StreamInfo.h"; weird that on
+ ubuntu/gutsy
+ the both are not included automatically by "avifile.h"
+
+2007-10-16 14:46 zmoelnig
+
+ * removed MarkEx
+
+2007-10-15 08:06 zmoelnig
+
+ * removed dependency off Gem.$(EXT) on $(OBJECTS)
+
+2007-10-14 16:41 cclepper
+
+ * reset counter for each new file
+
+2007-10-11 14:49 zmoelnig
+
+ * make Gem.$(EXT) .PHONY again
+
+2007-10-11 14:44 zmoelnig
+
+ * moved the splash-screen from GemMan.cpp to GemSetup.cpp;
+ prepare GemSetup to add Gem's own path to the search-paths
+
+2007-10-11 12:12 zmoelnig
+
+ * cleanup objectfiles when they are in . instead of $(OBJDIR)
+
+2007-10-11 12:09 zmoelnig
+
+ * build objects in the "Objects" directory, just like on w32..
+
+2007-10-11 11:33 zmoelnig
+
+ * unmade the changes i accidentally committed to the CVS
+
+2007-10-11 11:18 zmoelnig
+
+ * cast c++ strings to (char*) when needed to avoid compiler
+ warnings
+
+2007-10-11 11:07 zmoelnig
+
+ * added typedef for GLchar on openGL<2.0
+
+2007-10-08 12:19 zmoelnig
+
+ * install reference patches into extra/Gem instead of
+ extra/help-Gem
+
+2007-10-08 09:36 zmoelnig
+
+ * renamed help-patches to "-help" to match newer versions of pd
+
+2007-10-08 09:11 zmoelnig
+
+ * introduce a new type GL_RGBA_GEM which depends on the platform
+ (e.g. RGBA or ARGB)
+
+2007-10-07 09:02 zmoelnig
+
+ * added cyrille's suggestion for actively enabling the
+ depth test
+
+2007-10-06 11:48 zmoelnig
+
+ * remove Gnu/
+
+2007-10-05 13:43 zmoelnig
+
+ * reverted cgc's changes (since they duplicated my last ones...)
+
+2007-10-04 22:12 cclepper
+
+ * enables the first 8 texture units for multitexturing.
+
+2007-10-04 15:50 cclepper
+
+ * added min and max frame message for recording. uncommented output
+ of frame number in stopRecord().
+
+2007-10-04 14:38 zmoelnig
+
+ * added some missing minframe&maxframe stuff chris has forgotten to
+ comit...
+
+2007-10-03 20:26 cclepper
+
+ * added min and max frame message for recording. uncommented output
+ of frame number in stopRecord().
+
+2007-10-02 10:58 zmoelnig
+
+ * - remove the "-j 4" option from the subdirectory make
+ (this should be set outside of the Makefile)
+ - make the "strip" target depend on Gem.$(EXT)
+ (to make outside "-j" work correctly)
+
+2007-09-29 17:40 zmoelnig
+
+ * added newline at EOF
+
+2007-09-28 11:50 zmoelnig
+
+ * output correct dimensions when using 3d-textures
+ (this is: 1*1 rather then m_width*m_height)
+
+2007-09-26 16:31 zmoelnig
+
+ * updated documentation (fixed path)
+
+2007-09-26 15:27 zmoelnig
+
+ * changed (long int) to GLint so compilation doesn't choke on
+ recent headers...
+
+2007-09-26 14:30 zmoelnig
+
+ * don't do weird casts; rather use the correct type from the
+ beginning
+
+2007-09-25 23:23 cclepper
+
+ * silly Nvidia headers want a cast to GLint.
+
+2007-09-21 19:12 zmoelnig
+
+ * added another possibility to switch between various dv devices
+ (via numeric selectors)
+
+2007-09-21 17:26 zmoelnig
+
+ * put "default" target into */Makefile
+
+2007-09-21 16:17 zmoelnig
+
+ * call the <subdir>/Makefile instead of directly referring to
+ Makefile.subdir
+
+2007-09-21 16:02 zmoelnig
+
+ * a separate makefile for all subdirectories;
+ this can later be used for partly building Gem as separate
+ objects
+
+2007-09-21 15:11 zmoelnig
+
+ * use environmental variable to specify a different default font
+
+2007-09-21 13:29 zmoelnig
+
+ * use symbol to store the old fontname (less crash-prone)
+
+2007-09-13 13:42 zmoelnig
+
+ * hopefully fixed bug reported by cyrille
+
+2007-09-13 13:41 zmoelnig
+
+ * cleaned up post() messages
+
+2007-09-13 12:45 zmoelnig
+
+ * updated documentation a bit (use the [pd gemwin])
+
+2007-09-13 12:27 zmoelnig
+
+ * made sure all the example-patches work
+
+2007-09-13 11:14 zmoelnig
+
+ * clamp the string-characters to 0..65535
+ (FTGL sometimes crashes if the wchar is >65535;
+ and in theory (wikipedia), ttf-fonts can only hold 2^16 glyphs)
+
+2007-09-10 23:21 eighthave
+
+ * cleaned up help patch to follow Gem standard
+
+2007-09-10 22:43 eighthave
+
+ * minor clean up and removed [mode( message since its not required
+ on ATI anymore
+
+2007-09-10 22:39 eighthave
+
+ * removed loadbang because it causes crashes on Mac OS X and is not
+ required on GNU/Linux (at least on my machine with an ATI X1600)
+
+2007-09-10 22:38 eighthave
+
+ * created a cleaned up, truly simple version, and testing it on
+ Ubuntu and Mac OS X
+
+2007-09-10 21:40 eighthave
+
+ * turned most of the help patch into functional examples instead of
+ just comments about the messages. The "viewing", "buffering" and
+ "steroscopic" sections still need examples
+
+2007-09-10 21:39 eighthave
+
+ * created help patch to document that t[pix_blur] is deprecated
+
+2007-09-10 21:32 eighthave
+
+ * added sliders to make playing with this example much easier
+
+2007-09-10 21:18 eighthave
+
+ * added a slider to make it easier to rotate
+
+2007-09-10 10:44 zmoelnig
+
+ * a unit-test framework (not yet finished)
+
+2007-09-10 10:19 zmoelnig
+
+ * cyrille has reported a crash with the [gemframebuffer] object;
+ this test triggers this crash
+
+2007-09-10 10:15 zmoelnig
+
+ * added argument to call of [pix_histo]
+
+2007-09-03 14:18 zmoelnig
+
+ * fixed crasher bug when [curve] was created without arguments
+
+2007-09-02 14:54 zmoelnig
+
+ * use "pix_video" as default help-file isntead of "pix_movie"
+
+2007-09-02 14:40 zmoelnig
+
+ * updated example patches a bit (according to Gijon) to use more
+ gui-elements
+
+2007-08-29 14:54 cclepper
+
+ * Help class should now open pix_video help file.
+
+2007-08-25 19:47 zmoelnig
+
+ * changed the help-symbol of the [pix_movieDarwin] to [pix_movie]
+
+2007-08-25 19:43 zmoelnig
+
+ * oops; removed the default number of points;
+ just assume 0, but allow creation
+
+2007-08-25 19:42 zmoelnig
+
+ * default to 4 inputs if none are present
+
+2007-08-25 19:33 zmoelnig
+
+ * accepted hans's changes to the documentation (this is: add the
+ "mode" message)
+
+2007-08-20 21:23 cclepper
+
+ * added input selection for devices.
+
+2007-08-07 14:32 cclepper
+
+ * defaults to 2D to cope with busted drivers.
+
+2007-08-01 21:42 cclepper
+
+ * changed GL_TEXTURE_RECTANGLE_EXT to _ARB which seems to be
+ required for DMA uploads on Intel now.
+
+2007-08-01 21:33 cclepper
+
+ * changed GL_TEXTURE_RECTANGLE_EXT to _ARB which seems to be
+ required for DMA uploads on Intel now.
+
+2007-07-27 21:47 cclepper
+
+ * OSX does 128 bit or 4k page boundary alignment automatically.
+ works pretty well on its own.
+
+2007-07-27 21:45 cclepper
+
+ * changed __PPC__ to __ppc__
+
+2007-07-25 21:36 cclepper
+
+ * passes pixBlock to state->image. works with pix_coordinate again.
+
+2007-07-24 18:23 cclepper
+
+ * moved Quicktime init EnterMovies() and GL checks to initGem()
+
+2007-07-14 00:00 cclepper
+
+ * fixed typo in sampler handling
+
+2007-07-12 18:12 cclepper
+
+ * added handling for changing sampler texture units
+
+2007-07-11 15:19 zmoelnig
+
+ * made it compile again under debian/lenny
+
+2007-06-07 21:31 cclepper
+
+ * added codec selection by name.
+
+2007-06-06 08:03 zmoelnig
+
+ * regenerated ChangeLog
+
+2007-06-05 21:44 cclepper
+
+ * fixed looooong first frame bug. added detection for colorspace
+ and image flipping.
+
+2007-05-31 17:52 zmoelnig
+
+ * make old-images tiny (almost free them) when resizing the array:
+ important when you resize large arrays;
+ TODO: do not resize buffers that already have the correct size
+
+2007-05-31 15:18 zmoelnig
+
+ * added "resize" message
+
+2007-05-30 14:49 zmoelnig
+
+ * added "resize" message
+
+2007-04-02 15:27 zmoelnig
+
+ * fixed v4l2-code as to set the "m_capturing"-flag whenever we
+ exit the capturing thread (not just when we power it down);
+
+ in pix_videoNEW do not startTransfer() in the constructor phase
+
+2007-04-02 10:24 zmoelnig
+
+ * incidentially deleted the "using std::string;" line...now it is
+ back
+
+2007-04-02 10:18 zmoelnig
+
+ * updated documentation a bit
+
+2007-04-02 07:36 zmoelnig
+
+ * removed GLTT support;
+ added wide-character support for FTGL (at least in "string" mode)
+
+2007-04-02 07:34 zmoelnig
+
+ * removed GLTT support;
+ added wide character support for FTGL-font rendering (at least in
+ "string" mode)
+
+2007-03-14 10:57 zmoelnig
+
+ * minor issue with using fprintf() without carriage return;
+ this solution uses verbose(), though i am not sure whether this
+ is really thread safe...
+ have i really forgotten to check this in...?
+
+2007-03-12 09:15 zmoelnig
+
+ * added saturated logic and made it default (is the LATTER a good
+ idea?)
+
+2007-02-20 10:13 zmoelnig
+
+ * fixed typos in comment
+
+2007-02-20 10:11 zmoelnig
+
+ * fixed comment
+
+2007-02-20 09:58 zmoelnig
+
+ * added a configure-flag to specify the maximum openGL-version to
+ use.
+ use this information in GemGL.h to exclude certain parts of the
+ openGL-headers
+ thanks ico for the suggestion
+
+2007-02-20 09:56 zmoelnig
+
+ * glBlendEquation() needs openGL-1.2
+
+2007-02-20 09:43 zmoelnig
+
+ * glActiveTexture() is not always defined
+
+2007-02-20 09:42 zmoelnig
+
+ * indentation
+
+2007-02-19 11:29 zmoelnig
+
+ * applied ico's patches in order to stabilize dv4l
+ (note: use delete[] on ~pix_videoNEW)
+
+2007-02-13 13:11 zmoelnig
+
+ * fixed cases for os-x includes (fixes bug#1613373)
+
+2007-02-12 22:33 tigital
+
+ * small changes to get correct colors on intel macs
+
+2007-02-12 21:43 tigital
+
+ * small change to get correct colors on intel macs
+
+2007-01-07 22:32 tigital
+
+ * added GL_VERSION_2_0 compile path for non-ARB glsl functions
+
+2007-01-07 19:52 zmoelnig
+
+ * proper calling of CPPExtern::error() in the static member
+ functions
+
+2006-12-07 18:19 cclepper
+
+ * quick fix for YUV 3x3 on x86. for now it just does the generic
+ loop.
+
+2006-12-06 20:08 cclepper
+
+ * added an ifdef to make sure this is not compiled on OSX.
+ pix_filmDarwin is used instead
+
+2006-12-06 19:56 cclepper
+
+ * added an ifdef to make sure this is not compiled on OSX.
+ pix_movieDarwin is used instead
+
+2006-12-06 19:44 cclepper
+
+ * added another ifdef to make sure this is not compiled on OSX
+
+2006-12-04 15:35 zmoelnig
+
+ * sped things up a bit; cleaned up post()
+
+2006-12-04 09:11 zmoelnig
+
+ * added comment about initial state and a note, that you now can
+ set this
+ initial state via arguments
+
+2006-12-04 09:09 zmoelnig
+
+ * add an optional argument to the object, so the initial state can
+ be given at object creation (thanks cyrille for the request)
+
+2006-11-25 20:04 zmoelnig
+
+ * added "saturate" message to turn saturation on/off;
+ fixed bug in MMX code with gains>1;
+ added initial arguments
+
+2006-11-21 12:10 zmoelnig
+
+ * less warnings when compiling
+
+2006-11-21 12:00 zmoelnig
+
+ * nobody uses this and if they do, it wouldn't work anyhow
+
+2006-11-21 11:58 zmoelnig
+
+ * updated documentation a tiny bit...
+
+2006-11-21 11:57 zmoelnig
+
+ * minor code cleanup
+
+2006-11-21 10:10 zmoelnig
+
+ * bail out when using wrong messages
+
+2006-11-15 11:12 zmoelnig
+
+ * fixed typo (it is __GNUC__ and not __GNUC___)
+
+2006-11-15 11:08 zmoelnig
+
+ * more verbosity when disabling the culprit altivec stuff (since
+ the code
+ does not seem to work and i don't know why...watch out for the
+ autobuild
+ logs tomorrow...)
+
+2006-11-14 10:58 zmoelnig
+
+ * disable YUV422_to_YV12_altivec() for gcc<4.0 via the
+ NO_VECTORINT_TO_VECTORUNSIGNEDINT define (the fix yesterday
+ coukdn't have worked);
+ btw YUV422_to_YV12_altivec() is really _unused_ in the current
+ sources!!
+
+2006-11-14 10:34 zmoelnig
+
+ * can't use methods with "float, symbol" type; have to use A_GIMME
+ instead
+
+2006-11-13 15:49 zmoelnig
+
+ * disabling __VEC__ for older gcc's (<4); LATER fix the code
+
+2006-11-12 15:20 zmoelnig
+
+ * print credits on first object creation
+
+2006-11-12 15:14 zmoelnig
+
+ * removed the default "HAVE_ARTOOLKIT"; this is checked by
+ configure
+
+2006-11-12 15:05 zmoelnig
+
+ * added shigeyuki's [pix_artoolkit]
+
+2006-11-12 15:04 zmoelnig
+
+ * checks for artoolkit
+
+2006-11-08 20:30 zmoelnig
+
+ * added example file for the use of [gemframebuffer]; note that i
+ use
+ [pix_texture] instead of [pix_multitexture]
+
+2006-11-08 19:24 zmoelnig
+
+ * removed the [pix_coordinate] stuff, since it is now unneccessary
+ (i thought i removed this already...)
+
+2006-11-06 17:39 zmoelnig
+
+ * fail to load movie when fps get's weird... (LATER fix the ffmpeg
+ code)
+
+2006-11-06 16:48 zmoelnig
+
+ * made film::m_auto protected; from outside it can now only be set
+ via setAuto(); this should make it easier to make optimized
+ decoding
+ paths for sequential reading (e.g. non-random-access)
+
+2006-11-06 16:40 zmoelnig
+
+ * better handling of decoding errors...
+
+2006-11-03 16:50 zmoelnig
+
+ * fixed calls to post()
+
+2006-11-03 08:37 zmoelnig
+
+ * fixed calls to ::error() and ::post()
+
+2006-11-03 08:32 zmoelnig
+
+ * added post() method to CPPExtern.cpp which automatically prepends
+ the
+ object's name (if available);
+ accordingly had to change a lot of uses uses of post() where
+ either the
+ object's name was hard- or softcoded or ::post() was used (in the
+ callback functions)
+
+2006-11-03 08:26 zmoelnig
+
+ * extended the texture-sharing message to: textureID, texCoords,
+ type, flags
+
+2006-11-03 08:25 zmoelnig
+
+ * fixed v4l-1 to work with my usb-2u-cam; v4l-2 starts to work
+ too...
+
+2006-11-03 08:24 zmoelnig
+
+ * updated info-files
+
+2006-11-01 22:33 tigital
+
+ * [pix_multitexture] now works as expected!
+ - new [dimen x y< message needed so that it can determine
+ texcoords
+ - GemShape's SetVertex() has been modified to loop thru
+ glMultiTexCoord2f, when needed
+ - GemState has new variable: state->multiTexCoords, which is 0 by
+ default, but set in pix_multitexture based on the # of texUnits
+ requested
+
+2006-10-30 20:57 tigital
+
+ * more attempts at fixes for bad type-ing of vec's on 10.3
+
+2006-10-30 18:51 zmoelnig
+
+ * added option to disable "-fPIC"
+
+2006-10-30 18:45 zmoelnig
+
+ * make "-Os" the default on Darwin
+
+2006-10-30 18:37 zmoelnig
+
+ * added more tests for compiler-flags as suggested by tigital
+ (-mpowerpc-gfxopt is turned OFF by default; LATER think about the
+ "-Os" flag on os-x)
+
+2006-10-30 18:24 zmoelnig
+
+ * reverted the type changes (while this still breaks compilation
+ with older gcc's, at least it is functional)
+
+2006-10-30 08:47 zmoelnig
+
+ * oops, fixed typo
+
+2006-10-30 08:46 zmoelnig
+
+ * added check for "-fpascal-strings" which allows us to use
+ pascal-strings (containing '\p') on os-x
+
+2006-10-30 08:26 zmoelnig
+
+ * tried to fix another error with types; NEEDS TESTING
+
+2006-10-26 20:04 tigital
+
+ * fixes for bad type comparisons in some vec_sl()/vec_add and loop
+ comparisons
+
+2006-10-26 20:00 tigital
+
+ * fix for gcc4 warning "'GemException' has virtual functions but
+ non-virtual destructor"
+
+2006-10-22 19:51 zmoelnig
+
+ * finally removed "configure" since it really should be generated
+ (and therefore happens to get out of sync with configure.ac too
+ often)
+
+2006-10-20 17:48 zmoelnig
+
+ * only call glUseProgramObjectARB() in postrender() when we have
+ a linked module (less crashy on systems that don't really support
+ shaders...)
+
+2006-10-20 17:40 zmoelnig
+
+ * changed type of for-loop variable from (size_t) to (singed long
+ long), since unsigned numbers never get negative!
+
+2006-10-18 13:49 zmoelnig
+
+ * store the CONFIGUREFLAGS in Make.config, so that automatic calls
+ to "configure" produce the same results;
+ additionally this should make it possible to just call:
+ 'CONFIGUREFLAGS="--with-pd=/bi/ba/bo" make"
+ in a distclean environment and it will build everything;
+ LATER remove configure/aclocal.m4
+
+2006-10-18 11:06 zmoelnig
+
+ * setNorm() now has an effect even if capturing is currently not
+ running;
+ LATER think about making the "mode <norm> <channel>" message work
+ again (it seems like this is some threading problem)
+
+2006-10-18 11:05 zmoelnig
+
+ * fixed if/else at the "mode" message
+
+2006-10-18 10:53 zmoelnig
+
+ * hmm...
+
+2006-10-18 10:52 zmoelnig
+
+ * made it a tiny bit more readable; added accumbuffer-bits to
+ window-creation
+
+2006-10-18 10:50 zmoelnig
+
+ * example for texture-sharing
+
+2006-10-18 10:46 zmoelnig
+
+ * dont use markEx-objects anymore;
+ LATER remove this example altogether
+
+2006-10-18 10:44 zmoelnig
+
+ * dont use markEx-objects anymore
+
+2006-10-18 10:43 zmoelnig
+
+ * updated to use vera.ttf instead of arial.ttf and to not use
+ markEx-objects anymore
+
+2006-10-06 14:53 cclepper
+
+ * updated RGBA pixel packings for Mac Intel
+
+2006-10-06 14:50 cclepper
+
+ * update for proper Mac Intel pixel packing
+
+2006-10-04 11:38 zmoelnig
+
+ * proper initialization (memset(0)) for fidtrackerx (used to crash
+ on my x64_64)
+
+2006-10-03 15:13 zmoelnig
+
+ * hopefully fixed the check whether OpenGL-framework is used
+
+2006-10-03 15:08 zmoelnig
+
+ * disable checks for libGL and libGLU if we use the
+ OpenGL-framework
+
+2006-10-03 11:51 zmoelnig
+
+ * disable checks for lqt and libquicktime if QuickTime-framework is
+ being used
+
+2006-09-27 12:55 zmoelnig
+
+ * deleted obsoleted objects from this list
+
+2006-09-27 12:53 zmoelnig
+
+ * make pd-binary settable via the PD variable
+
+2006-09-27 10:11 zmoelnig
+
+ * removed the test for AC_PROG_GCC_TRADITIONAL since we use c++
+ instead of cc
+
+2006-09-27 09:53 zmoelnig
+
+ * hopefully fixed the FFMPEG-thing (the AVCodecContext-check was
+ broken
+ since i changed the language from "C" to "C++")
+
+2006-09-27 09:04 zmoelnig
+
+ * added some magic for FTGL and ffmpeg
+
+2006-09-26 09:56 zmoelnig
+
+ * use our own glew.h (if so)
+
+2006-09-26 09:55 zmoelnig
+
+ * glProgramEnvParameter4fvARB() can only be used if
+ GL_ARB_vertex_program is defined
+ (GL_NV_vertex_program doesn't matter)
+
+2006-09-26 09:27 zmoelnig
+
+ * removed check for "-no-builtin" gcc-flags, since this prevents us
+ from building with older gcc-version
+
+2006-09-25 13:28 zmoelnig
+
+ * regenerated glew from 1.3.4 sources;
+ fixed importGLEW.sh so that it automatically adds the "#ifdef
+ USE_GLEW"
+ clauses around the code
+
+2006-09-21 19:36 zmoelnig
+
+ * added checks for the not-deprecated linking flags on OSX;
+ disabled altivec on x86_64 machines
+
+2006-09-21 14:38 zmoelnig
+
+ * added newline at end of file
+
+2006-09-21 14:32 zmoelnig
+
+ * add generic inlets for each textureunit
+
+2006-09-21 14:31 zmoelnig
+
+ * added PDerror() which calls pd_error() without having to worry
+ about the object ("ourselves")
+
+2006-09-20 15:57 zmoelnig
+
+ * disabled Vertex by default (since it is very experimental)
+ disabled SSE2 by default (since most processors do not yet
+ support it)
+
+2006-09-20 15:56 cclepper
+
+ * added glfrustum call with GEM default setting. Uncommented some
+ of the matirx calls which get closer to correct rendering.
+
+2006-09-20 15:51 zmoelnig
+
+ * indentation of preprocessor-directives, so i can read them
+
+2006-09-20 07:55 zmoelnig
+
+ * removed the legacy HaveValidContext() function call (since it
+ does no longer exist)
+
+2006-09-19 20:48 cclepper
+
+ * init m_FBOcolor not m_color
+
+2006-09-19 20:43 cclepper
+
+ * added a color message to set the background color.
+
+2006-09-18 11:09 zmoelnig
+
+ * another check for illegal filenames
+
+2006-09-18 10:39 zmoelnig
+
+ * removed MarkEx from Gem
+
+2006-09-18 10:39 zmoelnig
+
+ * removed dependency on [v+] and friends (which are no longer part
+ of Gem)
+
+2006-09-17 15:41 zmoelnig
+
+ * put "float seconds;" in the platform-independent section, since
+ it is used by both __APPLE__ and __WIN32__
+
+2006-09-15 18:15 tigital
+
+ * [OSX] small fix for close() definition
+
+2006-09-14 09:44 zmoelnig
+
+ * hopefully made this work with older openGL-headers
+
+2006-09-14 09:20 zmoelnig
+
+ * put the authors into GemVersion.h and removed the OS-information
+ (since this is blurry)
+
+2006-09-14 09:00 zmoelnig
+
+ * w32 batch file for testing;
+ LATER make this via make
+
+2006-09-12 22:38 cclepper
+
+ * updated to include timers and matrix flipping on windows
+
+2006-09-12 19:58 cclepper
+
+ * adds a timer for the movie framerate on windows. also flips the
+ image around when a directshow source is used.
+
+2006-09-12 19:44 cclepper
+
+ * added header for GLEW
+
+2006-09-12 19:43 cclepper
+
+ * Quicktime init on first launch for Windows. This could possibly
+ go in GemWinCreateNT, but it works fine here.
+
+2006-09-12 19:40 cclepper
+
+ * GLEW init code for Windows
+
+2006-09-12 19:37 cclepper
+
+ * added a working SIMD feature check for Windows.
+
+2006-09-11 21:56 cclepper
+
+ * m_auto is passed to the handle. useful for DirectShow and
+ Quicktime which are more efficient handling auto play than just
+ incrementing a frame counter.
+
+2006-09-11 21:55 cclepper
+
+ * moved m_auto to public member variable
+
+2006-09-11 21:53 cclepper
+
+ * added right inlet frame handling and auto now sets rate
+
+2006-09-07 21:28 cclepper
+
+ * fixed error in SetVertex that made everything square
+
+2006-09-05 15:27 tigital
+
+ * added more informative output when changing mode
+
+2006-09-03 16:50 zmoelnig
+
+ * removed inheritance of GemException from std::exception to not
+ set up M$VC; hope this works
+
+2006-09-02 18:37 zmoelnig
+
+ * use "-path" for searching images
+
+2006-09-02 18:37 zmoelnig
+
+ * added installabs target for installing abstractions;
+ install Gem.${EXT} into pd/extra/Gem/
+
+2006-08-31 19:45 cclepper
+
+ * added a message apative to set the threshold for deinterlacing.
+ also attempted to make the deinterlacing a little nicer looking
+ for RGBA.
+
+2006-08-31 19:36 cclepper
+
+ * changed drawing to use SetVertex() which allows for texturing
+ from texture units other than 0
+
+2006-08-31 18:48 cclepper
+
+ * added texunit message and handling of multiple texture units
+
+2006-08-29 15:34 zmoelnig
+
+ * added "cvs" to the version string
+
+2006-08-29 14:46 zmoelnig
+
+ * removed the tailing slash from BUILDDIR (avoid double-slashes in
+ paths)
+
+2006-08-29 07:35 zmoelnig
+
+ * fixed compilation issue on systems without HAVE_DIRECTSHOW
+
+2006-08-24 21:20 cclepper
+
+ * added HAVE_DIRECTSHOW define to select filmDS or filmAVI
+
+2006-08-24 21:15 cclepper
+
+ * changed defines to add HAVE_DIRECTSHOW
+
+2006-08-24 20:55 cclepper
+
+ * DirectShow class for pix_film on Windows.
+
+2006-08-22 12:05 zmoelnig
+
+ * replaced [v+] and friends with pd-objects
+
+2006-08-22 12:03 zmoelnig
+
+ * dummy objects that print an error when being instantiated,
+ telling the user that the real objects ceased to exist
+
+2006-08-22 11:52 zmoelnig
+
+ * cyrille's stencil buffer patch
+
+2006-08-22 07:52 zmoelnig
+
+ * newline at end of file (after all, C++ MUST have a newline at the
+ EOF)
+
+2006-08-22 07:40 zmoelnig
+
+ * put the DirectShow code into #ifdef's to prevent it from bulding
+ on other platforms;
+ dos2unix
+
+2006-08-21 21:21 cclepper
+
+ * Changed callback to GetCurrentBuffer. Added method to record
+ video to disk in native format (useful for DV capture).
+
+2006-08-21 21:16 cclepper
+
+ * Object for loading DirectShow files on Windows
+
+2006-08-21 18:48 cclepper
+
+ * fixed cast to GLclampd for depth flag
+
+2006-08-17 11:08 zmoelnig
+
+ * remove the 2nd inlet inherited from [pix_texture] since this
+ object always has its own texture
+
+2006-08-17 11:07 zmoelnig
+
+ * added a second inlet for setting a "remote" texture, which is
+ used optionally if no image is present
+
+2006-08-17 09:13 zmoelnig
+
+ * deleted commented out leftovers;
+ use window-dimensions when given dimensions <=0 (instead of <0)
+
+2006-08-17 08:22 zmoelnig
+
+ * an example on how to use full-screen motion-bluring with
+ feedback-textures
+
+2006-08-16 12:40 zmoelnig
+
+ * autoconf working on OSX
+
+2006-08-16 12:39 zmoelnig
+
+ * deleted [gemorb] and [gemtablet]
+
+2006-08-16 12:31 zmoelnig
+
+ * removed MarkEx from Gem; added Vertex-branch to configure
+
+2006-08-16 12:27 zmoelnig
+
+ * removed MarkEx from Gem
+
+2006-08-16 10:03 zmoelnig
+
+ * better(?) declarations of exceptions...
+
+2006-08-14 15:32 zmoelnig
+
+ * removed debugging printout
+
+2006-08-14 15:31 zmoelnig
+
+ * initialization of treeidmap
+
+2006-08-14 15:07 zmoelnig
+
+ * more arguments to objects that need it
+
+2006-08-14 14:58 zmoelnig
+
+ * allow arguments to objects
+
+2006-08-14 14:37 zmoelnig
+
+ * changed this object to A_GIMME,
+ since default args do not like symbols to come after floats...
+ LATER: this object should refuse from being created, if the
+ arguments do not match what we expect
+ LATER: there are other objects who also suffer from this...
+
+2006-08-09 17:15 zmoelnig
+
+ * rearranged a bit, so that it is possible to find the "--with-pd"
+ flag in the help...
+
+2006-08-09 17:08 zmoelnig
+
+ * this might work on os-x!
+ changed the behaviour of "--with-pd" so that it's argument should
+ direct to the base-path of pd, where we can find both headers
+ (<pdpath>/src) and libraries (<pdpath>/bin)
+
+2006-08-09 16:44 zmoelnig
+
+ * use "0" instead of NULL for setting characters
+
+2006-08-09 16:40 zmoelnig
+
+ * protect the inclusion of <colormodels.h> with
+ HAVE_QUICKTIME4LINUX
+
+2006-07-27 16:00 zmoelnig
+
+ * use "vera.ttf" as default font (whoa, this could break things!)
+
+2006-07-27 15:59 zmoelnig
+
+ * use GemState->reset() instead of resetting things manually
+
+2006-07-27 15:58 zmoelnig
+
+ * removed the "stereo" membervariable: this is handled by
+ "tickTime";
+ added a "reset()" method (to be used in [gemhead] instead of
+ resetting things manually)
+
+2006-07-27 15:56 zmoelnig
+
+ * replaced setting GemState->stereo by setting GemState->tickTime;
+
+2006-07-27 12:12 zmoelnig
+
+ * removed an unconditional exception thrown in the constructor
+
+2006-07-25 16:37 zmoelnig
+
+ * use "state->tickTime" instead of "state->stereo" for (not)
+ updating movements
+
+2006-07-25 14:47 zmoelnig
+
+ * made the warning go away. a bit more text...
+
+2006-07-20 18:45 tigital
+
+ * removed "GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT" from
+ fbo status checking because it has been removed from the spec
+
+2006-07-20 17:09 tigital
+
+ * add info about compat message
+
+2006-07-12 04:47 tigital
+
+ * replaced "colorspace" with separate "type" and "format" messages
+ (also can affect creation args): default type=GL_UNSIGNED_BYTE
+ and format=GL_RGB; more informative (and more gem-like) error
+ reporting; better setup of fbo's; switchable textureType
+ (default=GL_TEXTURE_2D); better cleanup
+
+2006-07-12 04:26 tigital
+
+ * [osx] "type = ..._REV" or not: compile-time check for
+ __BIG_ENDIAN__, to help support intel-macs
+
+2006-07-12 04:22 tigital
+
+ * [osx] start of code to detect altivec at runtime
+
+2006-07-12 04:21 tigital
+
+ * [osx] possibility of using generic float (software) renderer:
+ should come up with a way to switch between renderer's at runtime
+
+2006-07-12 04:19 tigital
+
+ * [osx] check for resource's existence before releasing them
+
+2006-07-12 04:17 tigital
+
+ * added glTexParameteri()'s; removed auto texcoord generation (for
+ now...); better support for older GL's; seems to work (atm) with
+ geo's
+
+2006-07-12 04:04 tigital
+
+ * starting to merge in vertex_array stuff (finally)
+ - accepts tables in this order atm: vertex, color, normal,
+ texcoord
+
+2006-07-12 04:00 tigital
+
+ * starting to merge in vertex_array stuff (finally)
+
+2006-07-12 02:58 tigital
+
+ * starting to merge in vertex_array stuff (finally)
+
+2006-07-04 14:48 zmoelnig
+
+ * use setCSizeByFormat()
+
+2006-07-04 14:47 zmoelnig
+
+ * use a define for the debug-printout at decoder-instantiation:
+ makes code much more readable
+
+2006-07-04 14:46 zmoelnig
+
+ * the convert(To|From) routines now also work without an explicit
+ colorspace; if none is given, the already set cs of the
+ destination is taken; if this is unset, the default cs is used
+
+2006-07-03 09:06 zmoelnig
+
+ * replaced sprintf() by snprintf(); replaced printf() by
+ post()/error()
+
+2006-07-03 08:45 zmoelnig
+
+ * lowered the threshold of insecurity by replacing usleep() with
+ select()
+
+2006-07-03 08:44 zmoelnig
+
+ * lowered the threshold of insecurity with snprintf(), select(),...
+
+2006-06-26 02:28 tigital
+
+ * xcode 2.3 project file, makes dynamiclib
+
+2006-06-20 09:03 zmoelnig
+
+ * forgot to remove the debugging "read"s...
+
+2006-06-14 10:20 zmoelnig
+
+ * generated from configure.ac
+
+2006-06-14 10:20 zmoelnig
+
+ * the SIMD-tests are only done if required explicitely by the user
+ (e.g. --enable-mmx) or the compiling hardware seems to support it
+ (naive test: if ARCH="i686" we want "sse2" and "mmx" but not
+ "altivec" and the like); LATER make better tests (query processor
+ capabilities)
+
+2006-06-14 10:17 zmoelnig
+
+ * generated from acinclude.m4 (with automake-1.9)
+
+2006-06-14 10:16 zmoelnig
+
+ * the GEM_ARG_WITH macro family now doesn't explicitely set the
+ default value, unless a 3rd argument is given and a non-empty
+ string (like "force")
+
+2006-06-14 09:25 zmoelnig
+
+ * why...these files should have been deleted a long time ago...
+
+2006-06-14 09:02 zmoelnig
+
+ * removed non-free fonts and added one free replacement; added a
+ COPYING.txt which discusses licensing.
+ LATER think about changing the default font to "vera.ttf"
+
+2006-06-14 08:56 zmoelnig
+
+ * oops, forgot to check in the changes for fain-grained control
+ over SIMD-optimization
+
+2006-06-13 22:45 cclepper
+
+ * commented out the fps post() on the Mac since that goes out the
+ outlet
+
+2006-06-13 22:41 cclepper
+
+ * used #if 0 to remove the object from the build process. need to
+ use some proper defines until the new version works as well as
+ the old
+
+2006-06-13 22:31 cclepper
+
+ * should work for Mac/Win now
+
+2006-06-13 22:30 cclepper
+
+ * moved m_recordStart and m_recordStop to the base class. commented
+ out the not implemented getCodecName and getCodecDescription
+
+2006-06-13 22:28 cclepper
+
+ * moved m_recordStart and m_recordStop to the base class
+
+2006-06-13 22:25 cclepper
+
+ * Used one #ifdef to keep from crashing on Mac/Win. m_automatic is
+ now true by default.
+
+2006-06-13 21:31 cclepper
+
+ * Added a very clever #if 0 to remove this file from compilation.
+
+2006-06-13 21:29 cclepper
+
+ * updated header file for volume function
+
+2006-06-09 19:07 cclepper
+
+ * changed maxStackDepth declarations to match. both are GLint
+
+2006-06-09 19:05 cclepper
+
+ * updated header file for quality function
+
+2006-06-09 19:04 cclepper
+
+ * updated header file for volume function
+
+2006-06-09 13:06 zmoelnig
+
+ * cleaned up setCSizeByFormat() to only one big (#ifdef __APPLE__
+ #else) instead of 6 of them: should be more readable
+
+2006-06-08 15:36 zmoelnig
+
+ * clean up shared memory needed when the segment already exists but
+ is smaller than what we requested
+
+2006-06-08 11:55 zmoelnig
+
+ * removed freeShm() from the destructor since the parent's
+ destructor already handles this: the joys of inheritance
+
+2006-06-01 13:58 zmoelnig
+
+ * prefixed V4L2-specific defines with V42L_; added loads of
+ debugging stuff but still couldn't make it work...
+
+2006-06-01 13:55 zmoelnig
+
+ * prefixed V4L-specific defines with V4L_; better checks on
+ stopTransfer()
+
+2006-06-01 13:52 zmoelnig
+
+ * added some more tests for defines when we are on w32
+
+2006-05-31 14:05 zmoelnig
+
+ * reschedule a rendering-cycle when changing the framerate from 0.0
+ to something valid (normally the framerate change only takes
+ effect at the next render-cycle; with framerate==0.0 this can
+ take a long time)
+
+2006-05-31 14:05 zmoelnig
+
+ * cancel pending destroy-requests on "create"
+
+2006-05-31 13:54 zmoelnig
+
+ * reschedule a rendering-cycle when changing the framerate from 0.0
+ to something valid (normally the framerate change only takes
+ effect at the next render-cycle; with framerate==0.0 this can
+ take a long time)
+
+2006-05-24 17:18 cclepper
+
+ * added defines for Intel.
+
+2006-05-24 17:17 cclepper
+
+ * added defines for Intel. fixed stupid looping bug.
+
+2006-05-16 12:00 zmoelnig
+
+ * changed the return type of string.find() from (size_t) to
+ (unsigned long) in order to make a valid test for (pos<0): this
+ prevents hanging...
+
+2006-05-07 10:04 zmoelnig
+
+ * use (size_t) where appropriate
+
+2006-05-07 10:03 zmoelnig
+
+ * made m_size of type (size_t) instead of just (int)
+
+2006-05-07 10:03 zmoelnig
+
+ * include <stdio.h>
+
+2006-05-07 10:00 zmoelnig
+
+ * explicit casts to (float) to shut up warnings
+
+2006-05-04 19:04 zmoelnig
+
+ * respect m_size (via glScale() and glPush/glPop)
+
+2006-05-04 18:54 zmoelnig
+
+ * use GemMan::destroyWindowSoon() for window destruction: this
+ allows to directly connect [gemmouse] to [destroy( without
+ crashing (previously a [del 0] was needed to decouple the
+ window-event-grabbing from the window-destruction)
+
+2006-05-04 18:52 zmoelnig
+
+ * added a destroyWindowSoon() function that issues a delayed
+ windows destruction (destruction is done at the beginning of the
+ next render cycle which is rescheduled to be within 0.0 ms); this
+ is useful when the destruction is initiated via window-events
+ which would otherwise crash pd
+
+2006-05-04 17:53 zmoelnig
+
+ * the slice-input now also accepts a pair of numbers for different
+ numSlices and numStacks; currently only used by [sphere3d]
+
+2006-05-04 17:43 zmoelnig
+
+ * added a spherical object for deformation (similar to [curve3d],
+ but only control-points for now
+
+2006-05-03 13:34 zmoelnig
+
+ * fixed memory-leak
+
+2006-05-03 04:24 tigital
+
+ * now we correctly get the location of uniform variables: how it
+ worked before, I have no idea...
+
+2006-04-28 14:34 zmoelnig
+
+ * use memset() instead of bzero();
+ use __WIN32__ instead of WIN32; include config.h for this to work
+
+2006-04-28 14:33 zmoelnig
+
+ * inlcude config.h for __WIN32__
+
+2006-04-28 14:18 zmoelnig
+
+ * include <io.h> instead of <unistd.h> on w32
+
+2006-04-28 14:16 zmoelnig
+
+ * just include CPPExtern.h: this will include m_pd.h, so we don't
+ need to do it here
+
+2006-04-28 14:13 zmoelnig
+
+ * include GemExportDef before m_pd.h: this way we only have to
+ pragma-disable the vc-warnings once: less code cluttering!
+
+2006-04-28 14:12 zmoelnig
+
+ * use _MSC_VER instead of __WIN32__ for w32-specific things (the
+ used pragmas are vc-only; i am not that sure about the
+ declspec()-things)
+
+2006-04-28 13:57 zmoelnig
+
+ * moved all includes to top of the file;
+ use GemGL.h to include the gl-headers
+
+2006-04-28 13:51 zmoelnig
+
+ * added wglext.h for w32;
+ shouldn't the agl-headers be included here too?
+
+2006-04-28 13:35 zmoelnig
+
+ * automatically define __WIN32__ if _MSC_VER is defined
+
+2006-04-28 13:33 zmoelnig
+
+ * removed test for GL_WIN32_MEAN_AND_LEAN (there is no such thing)
+
+2006-04-28 13:32 zmoelnig
+
+ * use "#ifdef __WIN32__" instead of "#if __WIN32__"
+
+2006-04-28 13:30 zmoelnig
+
+ * protected the use of defines via #ifdef;
+ better bracketing;
+
+2006-04-28 13:29 zmoelnig
+
+ * don't use freeShm() on __WIN32__
+
+2006-04-28 13:29 zmoelnig
+
+ * protected the use of defines via #ifdef
+
+2006-04-28 13:27 zmoelnig
+
+ * use HAVE_QUICKTIME (and added a not about where it should be
+ defined properly)
+
+2006-04-28 13:26 zmoelnig
+
+ * use double for sqrt()
+
+2006-04-28 13:24 zmoelnig
+
+ * on w32 include <io.h> instead of <unistd.h>
+
+2006-04-28 13:22 zmoelnig
+
+ * check if GL_TEXTURE0_ARB is defined before using it
+
+2006-04-27 12:35 zmoelnig
+
+ * it has been a long time since i compiled that...fixed some minor
+ typos...
+
+2006-04-27 12:07 zmoelnig
+
+ * added checks for video4linux-2; this is disabled by default
+ (enable it with
+ "--with-v4l2")
+
+2006-04-27 11:21 zmoelnig
+
+ * added the bug reported by cyrille regarding pix_video and philips
+ webcams
+
+2006-04-26 15:37 zmoelnig
+
+ * fixed the [vertex_program]-bug; opened the freeframe-64bit issue
+
+2006-04-26 15:34 zmoelnig
+
+ * made "param" an alias for "parameter", since this is the keyword
+ most objects use...
+
+2006-04-26 15:33 zmoelnig
+
+ * fixed a bug where m_envNum was not properly initialized when
+ [vertex_program] was called with an argument; moved "parameter"
+ to vertex_program.cpp, so both objects can set the parameter;
+ LATER think about multiple parameters...
+
+2006-04-26 12:22 zmoelnig
+
+ * proper initialization prevents crashes in destructor...
+
+2006-04-26 09:35 zmoelnig
+
+ * did some proper initializing of pointers to prevent crashes
+ (why has nobody thought about that in the generation process!??)
+
+2006-04-26 08:30 zmoelnig
+
+ * trigger the quitting from outside (that is: the script)
+
+2006-04-26 08:20 zmoelnig
+
+ * a simple test that tests for all Gem objects (as listed in
+ objects.txt);
+ no tests are performed on vertex/-objects and on markEx/-objects
+
+2006-04-26 07:47 zmoelnig
+
+ * fixed the [separator] bug;
+ found other ways to trigger the [vertex_program] bug
+
+2006-04-26 07:41 zmoelnig
+
+ * before pushing to the stacks, check whether the stacks are
+ already full;
+ this leads to less errors when chaining more than 1 [separator]
+
+2006-04-26 07:40 zmoelnig
+
+ * added a variable for the current depth of the matrix-stacks
+
+2006-04-26 07:39 zmoelnig
+
+ * query the number of supported stacks for the various matrix-modes
+ (important
+ for [separator];
+ text whether GL_NV_multisample_texture_hint is supported before
+ setting the hint;
+
+2006-04-25 17:18 zmoelnig
+
+ * normalized input and output values; still no clamping
+
+2006-04-25 16:58 zmoelnig
+
+ * yuv2rgb and vice versa conversion abstractions
+
+2006-04-24 19:16 zmoelnig
+
+ * use "size_t" for alignment-magic, since
+ sizeof(int)!=sizeof(unsigned char*) on x86_64;
+ btw, this should be used in pd's m_simd.h and in the freeframe
+ specs too...
+
+2006-04-11 09:33 zmoelnig
+
+ * moved the window-destruction in render() before the m_windowState
+ check: this fixes issues with lights when destroying the windows
+ from "outside"
+
+2006-04-07 15:12 tigital
+
+ * [osx] uyvy/bgra/yv12 conversions altivec'd (DONE)
+
+2006-04-07 03:49 tigital
+
+ * yuv422_to_bgra_altivec() now works; fixed some typos;
+ re-corrected #include's
+
+2006-04-05 11:29 zmoelnig
+
+ * removed this pseudo-configure script since it is totally
+ outdated;
+ the (pseudo) Makefile in here should call configure in src/ if
+ needed
+
+2006-04-05 11:27 zmoelnig
+
+ * removed the call to glClearColor() in the reset()-routine since
+ it might crash pd/Gem when no valid context is available (LATER:
+ think what will happen when someone clicks on "reset" while
+ rendering)
+
+2006-03-28 09:40 zmoelnig
+
+ * reverted the include-change by jamie.
+ this should really be handled by configure and NOT in here since
+ we don't
+ know whether the quicktime-headers are in lqt/ or quicktime/
+ or...
+
+2006-03-28 03:20 tigital
+
+ * fixed header inclusion
+
+2006-03-27 16:46 tigital
+
+ * CLAMP() is inlined from GemFuncUtil.h
+
+2006-03-27 14:48 zmoelnig
+
+ * replaced "nil" by "null64" in MMX routines, since this makes
+ problems with QuickTime-framework (on macintel)
+
+2006-03-27 14:47 zmoelnig
+
+ * added SSE2 processing for YUV (but most of the time is spent in
+ memory-fetching anyhow, so not much of a speed gain)
+
+2006-03-27 07:52 zmoelnig
+
+ * updated TODO-list: opened new bugs for [separator], missing
+ objects on w32, and the shader-objects
+
+2006-03-24 15:16 zmoelnig
+
+ * initialize (and modify) m_simd via GemSIMD and select optimized
+ algorithms at runtime.
+
+2006-03-24 15:12 zmoelnig
+
+ * instantiate a GemSIMD class in order to query the CPU only once.
+
+2006-03-24 15:10 zmoelnig
+
+ * implemented a small static class GemSIMD which is used to query
+ the SIMD-capabilities of the current CPUs: this should bring us
+ away from (not) using SIMD via preprocessors.
+
+2006-03-23 23:08 zmoelnig
+
+ * weird: compiling with SSE2 (on a system that doesn't support
+ it!), yields
+ to crashes when casting "double" to "int"; using "float" works
+ fine, so i
+ enforced floats here...
+
+2006-03-23 22:51 zmoelnig
+
+ * removed "done..." printout in destructor
+
+2006-03-23 17:07 zmoelnig
+
+ * added check for sse2
+
+2006-03-23 17:05 zmoelnig
+
+ * added YUV->RGB24 routine (its not really faster than YUV->RGB32)
+
+2006-03-23 17:03 zmoelnig
+
+ * put GEM_VECTORALIGNMENT in here
+
+2006-03-23 14:25 zmoelnig
+
+ * further improved the SSE2-code: less shuffling done (in YUV2RGBA)
+ and cache optimization on writing
+
+2006-03-23 14:07 zmoelnig
+
+ * use macros for the timing code: this makes things much more
+ readable (no more ifdef's within the actual code to time)
+
+2006-03-22 23:07 tigital
+
+ * typo with no effect
+
+2006-03-22 23:06 tigital
+
+ * var initializing re-ordering
+
+2006-03-22 22:50 tigital
+
+ * added "#ifdef GL_ARB_shader_objects" to linkCallback()
+
+2006-03-22 22:47 tigital
+
+ * added YUV422_to_YV12_altivec(); changed function var's to
+ YV12_to_YUV422_altivec() so it works in the new file; started
+ YUV422_to_BGRA_altivec(), but non-functioning atm
+
+2006-03-22 22:43 tigital
+
+ * re-ordering
+
+2006-03-22 22:40 tigital
+
+ * GemPixConvert.h switcheroo
+
+2006-03-22 17:41 zmoelnig
+
+ * use the YUV2RGBA routines;
+ on reallocate() make sure that a pointer to the aligned memory is
+ returned
+
+2006-03-22 17:35 zmoelnig
+
+ * initial SSE2-optimized YUV2RGBA conversion: there is still a lot
+ to be done here (e.g. get a real grip on SIMD-programming!)
+
+2006-03-22 12:59 zmoelnig
+
+ * added SSE2-optimized RGBA2YUV conversion;
+ since GemPixUtil.cpp has grownso huge, i have outsourced the
+ optimized color conversion routines into separate files
+ GemPixConvertAltivec.cpp, GemPixConvertSSE2.cpp; obviously this
+ has only been tested on linux and mightwork (or not) on osx
+
+2006-03-20 21:32 zmoelnig
+
+ * did i check this in already?
+
+2006-03-20 20:53 zmoelnig
+
+ * a toon-shader done with glsl
+
+2006-03-20 15:02 tigital
+
+ * "#ifdef GL_ARB_shader_objects" added to createArrays()
+
+2006-03-19 18:25 zmoelnig
+
+ * i think the separator-issue is almost fixed
+
+2006-03-19 18:25 tigital
+
+ * remembered to member variables (masses, springs), so now we have
+ actual object autonomy
+
+2006-03-18 20:36 tigital
+
+ * fixed typo, now compiles
+
+2006-03-18 14:21 zmoelnig
+
+ * in theory these changes should fix the memleak problem with the
+ [separator]: while i was extra careful, i hope that my changes
+ will be compiling and (what's more) be functional on other
+ platforms!
+
+2006-03-16 09:34 zmoelnig
+
+ * updated help-patches (mostly xchanged the [destroy( message with
+ [create()
+
+2006-03-16 08:55 zmoelnig
+
+ * FIXED: not using client-storage on machines that do not support
+ it led to a "invalid enumerant" GL-error (due to setting
+ GL_UNPACK_CLIENT_STORAGE_APPLE via glPixelStore to _some_ value);
+
+2006-03-15 19:49 tigital
+
+ * updated based on what was committed yesterday, plus some other
+ things
+
+2006-03-15 17:09 zmoelnig
+
+ * updated since a help-patch for [pix_record] is now available
+
+2006-03-15 16:51 zmoelnig
+
+ * new implementation that allows switching of the attached
+ shm-segment via a "set" message.
+
+2006-03-15 15:42 zmoelnig
+
+ * things removed for osX needed to be removed on linux too
+
+2006-03-15 10:37 zmoelnig
+
+ * a help-patch
+
+2006-03-15 10:35 zmoelnig
+
+ * cleaned up a bit (less verbosity; local variables should not be
+ called m_...; ...)
+
+2006-03-14 20:04 tigital
+
+ * [osx]: removed HaveValidContext() checks, because we now have a
+ master context created via GemMan::initGem()...also initial code
+ (not fully working) intended to allow auto-texcoord generation
+ and setTexCoords()
+
+2006-03-14 19:59 tigital
+
+ * [osx]: removed HaveValidContext() checks, because we now have a
+ master context created via GemMan::initGem()...also changed to
+ GL_NEAREST filtering to prevent fallback to software
+ renderer...and initial (not fully working) code to allow
+ colorspace request (ie. FLOAT, RGB, RGBA)
+
+2006-03-14 19:53 tigital
+
+ * [osx]: removed HaveValidContext() checks, because we now have a
+ master context created via GemMan::initGem()
+
+2006-03-14 19:25 tigital
+
+ * [osx]: removed HaveValidContext() checks, because we now have a
+ master context created via GemMan::initGem()
+
+2006-03-14 19:18 tigital
+
+ * [osx]: removed HaveValidContext() checks, because we now have a
+ master context created via GemMan::initGem()
+
+2006-03-14 18:23 tigital
+
+ * corrected path to initial image
+
+2006-03-14 15:35 zmoelnig
+
+ * glsl_vertex and glsl_fragment now respect pd's search path;
+ updated TODO since some help-patches are now done
+
+2006-03-14 15:32 zmoelnig
+
+ * updated and new help-patches for shaders
+
+2006-03-14 14:25 tigital
+
+ * [size $1< works, and it's centered; removed CLIP_* limitations,
+ so now it's like a normal gem object; some cleanup
+
+2006-03-14 14:20 tigital
+
+ * added setModified() to parmMess: where is this really necessary
+ (and not)?
+
+2006-03-14 14:19 zmoelnig
+
+ * link now optionally takes a list of module-id's: [link 3 2( is
+ the same as [shader 3 2, link(
+
+2006-03-14 14:17 zmoelnig
+
+ * repsect pd's search path when opening shaders;
+ fewer openGL errors;
+
+2006-03-14 14:17 tigital
+
+ * cleanup: removed unused function bindTexture()
+
+2006-03-14 13:20 zmoelnig
+
+ * removed printout of plugin address; made param# larger and end
+ the param-string with \0
+
+2006-03-14 13:18 zmoelnig
+
+ * added help-files for ARB shaders; made the [pix_freeframe] object
+ theoretically
+ functional
+
+2006-03-14 12:33 zmoelnig
+
+ * empty(!still!) class for a splash screen;
+ this object is aliased "Gem", so that when people create a [Gem]
+ object, it doesn't fail
+
+2006-03-14 10:40 zmoelnig
+
+ * mark shm-segment for deletion when object is destroyed;
+ [TODO]: marked pix_share_* as done
+
+2006-03-14 10:38 zmoelnig
+
+ * added help patches
+
+2006-03-14 10:14 zmoelnig
+
+ * made it work on linux (even without crashes!);
+ now you can also specify the 4th argument (color) as symbolic
+ name like "RGBA" or "YUV":
+
+2006-03-14 08:58 zmoelnig
+
+ * updated status
+
+2006-03-14 08:53 zmoelnig
+
+ * what we still have to-do to make the gem-0.91 release
+
+2006-03-13 20:27 zmoelnig
+
+ * added a handle for Destroy-Event on linux; whenever the window is
+ closed (by clicking on the "x") the gem-context will be
+ destroyed;
+ this needs to be done outside of the event-loop to avoid crashes
+
+2006-03-13 19:38 zmoelnig
+
+ * convert from cs other than RGBA
+
+2006-03-13 17:47 zmoelnig
+
+ * registered the WM_DELETE_WINDOW protocol in order to disable the
+ user-closing of the Window: LATER think about closing the window,
+ when the user requests it.
+
+2006-03-13 17:20 zmoelnig
+
+ * respect the upside-down flag when in mem2jpegImage(): however on
+ my machine
+ the images written seem to be correct anyhow...
+
+2006-03-13 16:56 zmoelnig
+
+ * do not instantiate recordQT4L when HAVE_LQT_ADD_VIDEO_TRACK is
+ not defined
+
+2006-03-12 20:37 zmoelnig
+
+ * added help-patches for the hsv2rgb (and vice versa) abstraction:
+ these are just copies from Gem/help/
+
+2006-03-12 20:34 zmoelnig
+
+ * new abstractions in case we get rid of MarkEx
+
+2006-03-12 19:33 zmoelnig
+
+ * added new help-file
+
+2006-03-12 19:07 zmoelnig
+
+ * new help-files
+
+2006-03-06 11:23 zmoelnig
+
+ * added stencil-buffer for glx (tested) and wgl (NOT tested)
+
+2006-03-04 00:52 tigital
+
+ * added stencil buffer on creation
+
+2006-03-03 20:42 tigital
+
+ * added env message; cleanups in setUpTextureState()
+
+2006-03-02 14:55 zmoelnig
+
+ * set "upsidedown" to false: while this is the default on most
+ systems, it is not on OSX (where quicktime makes flipped images);
+ however pix_snap will always make "upright" images, so we have to
+ make sure this is set here; this should close #1096651 at the
+ sf-tracker (but i haven't tested it on OSX)
+ additionally use setCsizeByFormat();
+ additionally enable the __APPLE__'ed code for all platforms (its
+ nothing apple-specific in there)
+
+2006-02-28 17:40 zmoelnig
+
+ * who need m_name and m_length ? not me...
+
+2006-02-28 17:39 zmoelnig
+
+ * whoa! finally found the bug that made Gem crash on re-loading a
+ shader (or loading another one...); lots of cleanups, like using
+ C++ "new" instead of "malloc" and more terse output and and ...
+
+2006-02-27 16:00 tigital
+
+ * free arrays in getVariables() before getting the new
+ m_uniformCount
+
+2006-02-27 15:09 zmoelnig
+
+ * finally found the type that made a) the object crash and b) it
+ look weird;
+ only regenerate the vertices,... when needed (e.g. something has
+ changed)
+
+2006-02-27 14:25 zmoelnig
+
+ * added better (probably working) tests for ARB and NV extensions
+
+2006-02-27 14:09 zmoelnig
+
+ * added a better (probably working) test for "lqt_add_video_track"
+
+2006-02-27 13:36 zmoelnig
+
+ * added missing curly bracket
+
+2006-02-27 13:35 zmoelnig
+
+ * initialized the index-array to "0": this keeps us from crashing!
+
+2006-02-24 15:14 tigital
+
+ * added messages: "drag"(default 0.5) and "spring" (default 0.3);
+ some cleanup
+
+2006-02-23 17:34 zmoelnig
+
+ * added support for writing specified slots to disk (not very well
+ tested)
+
+2006-02-23 17:33 zmoelnig
+
+ * support for other colorspaces than RGB when writing with
+ imagemagick (YUV not yet supported; libtiff and libjpeg not
+ tested at all!)
+
+2006-02-23 15:33 zmoelnig
+
+ * only compile if HAVE_LQT_ADD_VIDEO_TRACKS is defined (which
+ should be defined by configure)
+
+2006-02-23 15:29 zmoelnig
+
+ * removed the inlet
+
+2006-02-23 15:29 zmoelnig
+
+ * allow to set the class-flags by defining GEM_CLASSFLAGS
+
+2006-02-21 14:01 zmoelnig
+
+ * define HAVE_CONFIG_GENERIC_H if we don't have another
+ config*.h.in file
+
+2006-02-21 14:00 zmoelnig
+
+ * include configGeneric.h instead of os-specific config-file if
+ HAVE_CONFIG_GENERIC_H is defined (at the command line)
+
+2006-02-21 13:27 zmoelnig
+
+ * a generic fallback (a la long we can replace all the os-specific
+ config.h.in files)
+
+2006-02-21 13:25 zmoelnig
+
+ * added a test for lqt_add_video_track()
+
+2006-02-21 13:01 zmoelnig
+
+ * added HAVE_LQT_ADD_VIDEO_TRACK, since older versions of
+ libquicktime don't have this...
+
+2006-02-21 11:05 zmoelnig
+
+ * tried to make it more stable;
+ it is till crashing when: a) switching from non-texture to
+ texture (it works when the texture is present when rendering is
+ started); b) switching the lighting-state
+
+2006-02-21 11:02 zmoelnig
+
+ * #ifdef'ed everything with USE_GLEW (currently glew is not used,
+ so try to avoid any interference)
+
+2006-02-17 05:22 tigital
+
+ * removed an unused outlet
+
+2006-02-16 19:53 tigital
+
+ * useful for automatic texture-coordinate generation
+
+2006-02-15 23:05 tigital
+
+ * [osx] one last hack to make it work like the other platforms
+
+2006-02-15 20:54 zmoelnig
+
+ * oops! for testing i used __linux__ instead of __APPLE__ and
+ forgot to revert it...
+
+2006-02-15 20:34 zmoelnig
+
+ * some string magic to get the correct name of the plugin within an
+ osX-bundle
+
+2006-02-15 18:32 zmoelnig
+
+ * fixed use of DONT_HAVE_GLBLENDEQUATION (it was used as
+ HAVE_GLBLENDEQUATION)
+
+2006-02-13 21:49 zmoelnig
+
+ * removed the 2nd inlet (why was it there at all?)
+
+2006-02-13 16:58 tigital
+
+ * corrected all.trees path to work from help
+
+2006-02-10 15:20 zmoelnig
+
+ * use MAKECMDGOALS when calling the Makefile in src/
+
+2006-02-10 13:32 zmoelnig
+
+ * added inlets for contrast and saturation
+
+2006-02-10 13:26 zmoelnig
+
+ * added Grayscale processing
+ avoid processing in [pix_contrast] if both m_contrast and
+ m_saturate are 1.f (in greyscale ignore m_saturate)
+
+2006-02-09 00:32 tigital
+
+ * [osx] new loader code that works with freeframe 1.0 SDK; note
+ that the plugin will be looked for in the same directory as the
+ patch, and currently you must append ".frf" to the end of the
+ plugin's name
+
+2006-02-08 22:39 tigital
+
+ * cleaned up imageStruct::setCsizeByFormat() so that it no longer
+ does "default" switch before hitting the various case's
+
+2006-02-08 22:27 cclepper
+
+ * Added RGBA version and tested on Windows.
+
+2006-02-08 22:26 cclepper
+
+ * Added RGBA version and tested on Windows. Works except for
+ negative contrasrt and saturarion values.
+
+2006-02-07 16:16 zmoelnig
+
+ * renamed processYUV_Altivec() to processYUVAltivec() so it gets
+ automatically called by GemPixObj's render();
+ put initializing of class-variables into the constructor-header
+
+2006-02-07 03:34 cclepper
+
+ * added #ifdef __VEC__
+
+2006-02-06 21:47 cclepper
+
+ * initial YUV version with Altivec
+
+2006-02-06 17:20 cclepper
+
+ * brings the old pix_record up to date
+
+2006-02-06 14:14 zmoelnig
+
+ * implemented the setCodec(int) as a no-op
+
+2006-02-06 13:41 zmoelnig
+
+ * better indentation to see what is included when
+
+2006-02-06 10:15 zmoelnig
+
+ * this is the original pix_record, now renamed to pix_recordQT
+ while we have the two concurrent objects, how should we make this
+ compatible? create an abstraction?? make hacks like in
+ [pix_filmNT]???
+
+2006-02-06 09:58 zmoelnig
+
+ * at least made it compile on os-x
+
+2006-02-05 19:23 zmoelnig
+
+ * made "record"-message work again
+
+2006-02-05 19:22 zmoelnig
+
+ * now it produces something...
+
+2006-02-05 18:51 zmoelnig
+
+ * updated to use lqt-api instead of old quicktime4linux api.
+ although it somehow produces just noise right now (but hey - it
+ did work 10 minutes ago)
+
+2006-02-05 18:49 zmoelnig
+
+ * removed the dummy implementation of putFrame(): it is pure
+ virtual in record.cpp and should not be filled with dummies
+
+2006-02-04 18:16 tigital
+
+ * update
+
+2006-02-04 12:47 zmoelnig
+
+ * define HAVE_QUICKTIME for __APPLE__
+ (later think about using autoconf for this)
+
+2006-02-04 12:44 zmoelnig
+
+ * added convertTo() and convertFrom() functions to the
+ imageStruct-class for generic cs-conversion.
+
+2006-02-03 21:53 zmoelnig
+
+ * pix_record which is independent of the used API (like
+ pix_filmNEW,...)
+
+2006-02-03 21:52 zmoelnig
+
+ * blind fixes to match record.h
+
+2006-02-03 21:40 zmoelnig
+
+ * implementation classes for pix-record APIs.
+ so far the recordQT4L (quicktime-for-linux) is tested, but not
+ totally stable
+ the recordQT (Apple's QuickTime API) has been copy'n'pasted from
+ the original pix_record.cpp code - i am pretty sure i introduced
+ some problems: at least the codec-querying and (more important)
+ setting has certainly been broken.
+
+2006-02-03 15:33 tigital
+
+ * [osx]: shutup gcc warning in initGem()
+
+2006-02-01 18:38 zmoelnig
+
+ * replaced printf() by error() (it's more pdish and doesn't throw
+ an error)
+
+2006-02-01 18:37 zmoelnig
+
+ * at least it compiles here on linux...
+
+2006-02-01 18:21 zmoelnig
+
+ * probably a new-line at EOF
+
+2006-02-01 18:21 zmoelnig
+
+ * cleaned up code a bit (so i can read it :-))
+ should perform a bit faster as well
+ fixed a crash on my machine
+ added type message
+
+ still very crashy
+ i _think_ there is a bug (most likely: a memory leak) in here
+
+2006-02-01 16:53 tigital
+
+ * forgot header change to other platforms: this'll be cleaned and
+ put in the correct spot (ie. the top of the file) sometime
+
+2006-02-01 15:43 tigital
+
+ * initial commit: novel mathematical structure
+
+2006-02-01 15:42 tigital
+
+ * initial commit: takes an image and creates a "voronoi region"
+ painting out of it...works on OSX, but relies on GemPBuffer code,
+ so other platforms can use this to test that code...
+
+2006-02-01 15:39 tigital
+
+ * initial commit: works on OSX (still needs some serious cleanup!),
+ but untested on other platforms: code is there, but is it really
+ equivalently functional?
+
+2006-02-01 15:37 tigital
+
+ * added check for a loaded program to the paramMess code; prevents
+ crashing when sending parameters to the object but no program is
+ actually loaded!
+
+2006-02-01 15:36 tigital
+
+ * error code reporting cleanup
+
+2006-02-01 15:34 tigital
+
+ * [OSX] changed NULL to 0 to shutup gcc
+
+2006-02-01 15:33 tigital
+
+ * added header for glReportError(); [OSX] added "masterContext"
+
+2006-02-01 15:31 tigital
+
+ * cleanup; added setModified();
+
+2006-02-01 15:04 zmoelnig
+
+ * changed "#define unix" to "#define __unix__"
+
+2006-02-01 15:03 zmoelnig
+
+ * changed "#define unix" to "#define __unix__"
+ removed unneccessary headers from inclusion
+
+2006-02-01 15:00 zmoelnig
+
+ * changed "#define unix" to "#define __unix__"
+ moved the check for glx-support to GemWinCreateXWin.h
+
+2006-02-01 14:58 tigital
+
+ * [OSX] added "masterContext", which gets rid of need for
+ HaveValidContext()...needs non-jamie testing ;-)
+
+2006-02-01 14:53 tigital
+
+ * cleanups; added TODO questions; [OSX] added "masterContext",
+ which gets rid of need for HaveValidContext()...needs non-jamie
+ testing ;-)
+
+2006-02-01 13:24 zmoelnig
+
+ * only create constContext when its not already created
+
+2006-02-01 13:23 zmoelnig
+
+ * applied patch from cesare to avoid crashes on closing the window
+
+2006-01-30 13:12 zmoelnig
+
+ * added constructor for pixBlock-class (which properly initalizes
+ newfilm and newimage to "false")
+ moved constructor/destructor of imageStruct and pixBlock from
+ header into the cpp-files to avoid unneccessary recompilation on
+ changes)
+
+2006-01-26 14:47 zmoelnig
+
+ * made a script (which will hopefully hardly ever be needed) to
+ import glew
+ mention it in the README.glew
+
+2006-01-26 14:07 zmoelnig
+
+ * added glew-files (+ a readme how i got them)
+
+2006-01-23 11:08 zmoelnig
+
+ * changed [part_velsphere] to [part_velocity sphere]
+
+2006-01-23 11:07 zmoelnig
+
+ * define DONT_HAVE_GLBLENDQUATION
+
+ i think, this file should be used only for M$VC;
+ LATER we can put #pragma's in here to enable linking with special
+ libraries based on the configuration (or should we rather do it
+ in the files that need these libraries??)
+
+2006-01-23 11:05 zmoelnig
+
+ * use a DONT_HAVE_GLBLENDQUATION rather than __WIN32__ to determine
+ whether this objects needs to be disabled
+
+2006-01-22 21:43 zmoelnig
+
+ * added alternative dependencies for magick++6 and avifile-0.7
+
+2006-01-22 21:41 zmoelnig
+
+ * added newly added files
+
+2006-01-22 21:40 zmoelnig
+
+ * minor changes (line.breaks)
+
+2006-01-22 21:37 zmoelnig
+
+ * on w32 we have to include <io.h> to be able to use "close(int)"
+
+2006-01-22 21:32 zmoelnig
+
+ * fixed string-template issues with vc6
+
+2006-01-22 21:29 zmoelnig
+
+ * changed 0.5 to 0.5f to make floats instead of doubles (amd thus
+ reduce warnings about conversion)
+
+2006-01-22 21:27 zmoelnig
+
+ * disabled if GL_TEXTURE0_ARB is undefined
+ (another candidate for GLEW)
+
+2006-01-22 21:26 zmoelnig
+
+ * removed definition of DEBUG=0 since it is not needed anyhow
+
+2006-01-22 21:25 zmoelnig
+
+ * turn glBlendEquation OFF on w32 (stupid restriction, but faster
+ than finding anything more sophisticated)
+
+2006-01-22 21:23 zmoelnig
+
+ * only set glParameterEnvArg if vertexprograms are supported by the
+ headers
+
+2006-01-22 21:17 zmoelnig
+
+ * disable more warnings (here: switch-statement without case (only
+ default); this is possible is all cases are turned off by
+ #ifdefs)
+
+ NOTE: these pragmas should be within __MSC_VER_ instead of
+ __WIN32__
+
+2006-01-18 12:11 zmoelnig
+
+ * found this lying around on my harddisk
+
+2006-01-18 11:22 zmoelnig
+
+ * made circle::NUM_PTS a define rather than a const static variable
+
+2006-01-18 11:13 zmoelnig
+
+ * removed unused variables
+ made circle::NUM_PTS a define rather than a const static variable
+
+2006-01-18 10:54 zmoelnig
+
+ * set a variable when an apple-framework is found
+ use it in the status-report (so apple-users don't get confused
+ about no QuickTime even if the framework is installed)
+ in "configure" the removal of "local"/"locale" is also applied
+
+2006-01-18 10:52 zmoelnig
+
+ * fixed typo "locale" should read "local"; however, since the tests
+ are not expanded into functions, this does not work
+ so i removed the "locale" entirely and replaced it by a
+ pseudo-localized variable (appending stuff derived from the
+ arguments)
+
+2006-01-18 10:24 zmoelnig
+
+ * properly ifdef the usage of "kDVCPROHD720pCodecType"
+
+2006-01-18 10:18 zmoelnig
+
+ * declare getFPS() (inherited from film.h)
+
+2006-01-18 10:15 zmoelnig
+
+ * include <fcntl.h> for open()
+
+2006-01-18 10:02 zmoelnig
+
+ * disable more code, if GL_ARB_shader_objects is not defined
+ (mostly cosmetic)
+
+2006-01-18 10:00 zmoelnig
+
+ * disable most of the code if "GL_ARB_shader_objects" is not
+ defined
+
+2006-01-18 09:13 zmoelnig
+
+ * avoid using m_program if "GL_ARB_shader_objects" is not defined
+
+2006-01-17 11:01 zmoelnig
+
+ * prevent ARB-GLSL
+
+2005-12-27 19:03 tigital
+
+ * initial helpfile
+
+2005-12-15 17:45 zmoelnig
+
+ * removed loading/saving
+ removed "point" area-type
+ changed (float) to (unsigned char) where possible (at least where
+ it was obvious to do)
+
+2005-12-15 13:09 zmoelnig
+
+ * updated a bit so we can build a debian-package
+
+2005-12-15 12:17 zmoelnig
+
+ * added davide's hit-object
+
+2005-12-15 10:54 zmoelnig
+
+ * initialized more variables
+ moved initialization (from body of constructor) into
+ initialization-block of constructor
+
+2005-12-15 00:43 tigital
+
+ * clean up in render loop
+
+2005-12-14 23:19 cclepper
+
+ * works on windows. sorta. only a few changes needed from the mac
+ code.
+
+2005-12-14 15:53 tigital
+
+ * string buffer is now member variable; more detailed reporting
+ when program is outside hardware limits
+
+2005-12-14 13:34 zmoelnig
+
+ * TreeIdMap for reacTable*'s fiducials
+
+2005-12-14 13:29 zmoelnig
+
+ * dont build depend-files when doing "make clean" or "make
+ distclean"
+
+2005-12-14 13:29 zmoelnig
+
+ * don't try to generate configure, Make.config and the like when
+ doing a "make clean" or "make distclean"
+
+2005-12-14 13:28 zmoelnig
+
+ * newline at end of file...
+
+2005-12-14 13:26 zmoelnig
+
+ * fixed header-inclusion-prevention-defines (ye, my mother-tongue
+ is German)
+
+2005-12-14 13:24 zmoelnig
+
+ * included Ross and Martin for the reacTIVision system
+ replaced "@" by "[AT]"
+
+2005-12-14 13:15 zmoelnig
+
+ * help-patches for the fiducial-tracker (and the binarizing
+ thresholder)
+
+2005-12-14 13:14 zmoelnig
+
+ * fiducial-tracking as used in reacTIVision
+ thanks to martin kaltenbrunner and ross bencina (and the mtg@upf)
+ for releasing their code under (L)GPL
+
+2005-12-14 13:13 zmoelnig
+
+ * binarizing adaptive tiled thresholder
+
+2005-12-14 13:07 zmoelnig
+
+ * better check whether switching to another driver succeeds
+
+2005-12-10 19:45 tigital
+
+ * added glReportError() for helping debug
+
+2005-12-10 18:40 zmoelnig
+
+ * moved GLdefine's from GemPixUtil to GemGL
+
+2005-12-10 16:01 tigital
+
+ * corrected spotlight direction initialization; placed limits on
+ light parameters (as supported by GL)
+
+2005-12-10 00:20 tigital
+
+ * removed spurious glEnd() called in createSphere: it was causing a
+ glError...
+
+2005-12-09 22:52 cclepper
+
+ * added parameter message
+
+2005-12-07 16:40 cclepper
+
+ * fixed QT crashing on Windows, but the fix introduces a small
+ memory leak when loading new movies. Also, removed a redundant
+ memcpy() in getFrame.
+
+2005-12-07 16:17 tigital
+
+ * - added mode & repeat messages (like [pix_texture], same
+ defaults)
+ - added outlet for texture info: ID, width, height, type
+
+2005-12-06 06:40 tigital
+
+ * initial commit:
+ - allows offscreen rendering on a per [gemhead] basis
+ - defaults to 256x256, but can be set with [dimen x y<
+ - float RGB only, atm
+ - right outlet outputs list: texID, width, height, type
+ - type can be switched with [mode 0/1< (ie. TEXTURE_2D or
+ TEXTURE_RECTANGLE)
+
+2005-12-06 05:56 tigital
+
+ * renamed inlet for some unknown reason
+
+2005-12-06 04:01 tigital
+
+ * don't need to enable/disable shader_arb; added check and better
+ clean up for re-loaded shaders
+
+2005-12-04 22:45 tigital
+
+ * added outlet for programID
+
+2005-12-04 16:15 tigital
+
+ * useful glWrapper which allows one to use a glsl_program that was
+ linked in an earlier chain in a later chain; but don't forget to
+ frame it's usage with an ending call with value zero, or the
+ program affects all later chains
+
+2005-12-04 01:17 tigital
+
+ * individual shader objects are now responsible for cleaning up
+ after themselves; also, made initialized length=0
+
+2005-12-04 01:13 tigital
+
+ * object is now responsible for cleaning up after itself; also
+ discovered that we don't need to glEnable the *_SHADER_ARB's
+
+2005-11-30 06:55 tigital
+
+ * auto-magic uniform variable discovery working; shaderMess()
+ fixes; lotsa cleanup in general (& stuff)
+
+2005-11-30 00:12 tigital
+
+ * clean-up, & better initialization
+
+2005-11-29 23:55 tigital
+
+ * corrected shaderMess behavior; added OSX check for
+ hardware/software execution
+
+2005-11-29 04:52 tigital
+
+ * miscellaneous fixes of warnings, misspellings, and debug messages
+
+2005-11-28 23:29 cclepper
+
+ * added SequenceGrabber recording
+
+2005-11-27 14:30 zmoelnig
+
+ * thread fixes:
+ + better initializing
+ + more freeing
+ + filenames given as argument are now opened via thread too
+
+2005-11-27 10:24 zmoelnig
+
+ * reduced verbosity a bit
+ made rest of error messages a bit more findable ("error:
+ GemImageLoad" instead of just "erro: GEM")
+
+2005-11-26 21:17 zmoelnig
+
+ * added dynamic methods for uniform parameters
+
+2005-11-26 19:13 cclepper
+
+ * Added the first check for HD format clips to deal with their
+ trickster frame sizes. Also, a fix for sound continuing after
+ rendering stops.
+
+2005-11-26 16:19 zmoelnig
+
+ * use a #define for defining the max number of shaders
+ fixed some typos and minor bugs
+
+2005-11-26 15:36 zmoelnig
+
+ * on creating the child-thread wait until it has set the
+ m_thread_running (so we can use that in openMess())
+
+2005-11-26 13:12 zmoelnig
+
+ * reduced verbosity
+
+2005-11-26 12:48 zmoelnig
+
+ * hmm: define "t_GLshaderObj" to whatever type the shaderobj should
+ be;
+ made it compile on linux (and not crash)
+
+2005-11-26 12:45 zmoelnig
+
+ * include stdlib (for malloc, free)
+ replace printf() by post()
+
+2005-11-26 05:08 cclepper
+
+ * Added the first check for HD format clips to deal with their
+ trickster frame sizes. Also, a fix for sound continuing after
+ rendering stops.
+
+2005-11-26 00:50 tigital
+
+ * initial wrapper support for GLSL support (ARB based):
+ - there should be a whole host of these, but right now I'm only
+ up to writing the one, for input of one indexed float ;-)
+
+2005-11-25 22:56 tigital
+
+ * initial GLSL support (ARB based):
+ - load individual shaders via glsl_vertex or glsl_fragment
+ - combine multiple shader's right output into a [shader $1 $2...<
+ and send into [glsl_program]
+ - send [link< to [glsl_program] to actually link the objects:
+ this was done because we don't want to re-link objects every
+ render-timeslice...
+ - each object accepts a [print< to give info, , and
+ [glsl_program] will also report linked program's uniform
+ variables, names, indices...
+ - uniform variable indices can be used with [GEMglUniform...] to
+ change variables (but maybe there should be more auto-discovery
+ in [glsl_program]?)
+ - object's will also report a shader's compile-time error log (if
+ any) to console (not pd's tk console): need to figure out how to
+ parse infolog into post()-friendly format...
+
+2005-11-23 13:08 zmoelnig
+
+ * added check for GLsizeiptrARB
+
+2005-11-23 13:07 zmoelnig
+
+ * die at the end of configure if no openGL has been found
+ check for typedef of GLsizeiptrARB
+
+2005-11-21 14:31 zmoelnig
+
+ * threaded image loading
+
+2005-11-15 14:24 zmoelnig
+
+ * updated help-files
+
+2005-11-15 14:22 zmoelnig
+
+ * show how to load an image into the buffer
+
+2005-11-15 14:21 zmoelnig
+
+ * added some more wrappers (thanks to cyrille)
+
+2005-11-10 14:50 zmoelnig
+
+ * initialize m_devicename to NULL in order to not produce random
+ crashes.
+ fixed printf() security-hole
+
+2005-11-09 03:08 tigital
+
+ * cleaned up headers, initialization; also added code to pad
+ rowbytes for dimensions not multitples of 16 or 32 (helps
+ GL_STORAGE_SHARED_APPLE)
+
+2005-11-08 23:01 cclepper
+
+ * added a little hack to bang when film reaches the end in auto
+ mode
+
+2005-10-31 16:04 tigital
+
+ * update
+
+2005-10-28 08:59 zmoelnig
+
+ * use proper inheritance for the altivec function
+
+2005-10-27 22:13 tigital
+
+ * added imageStruct.fromGray( short*) version, so now we can import
+ luminance images from pdp2gem...
+
+2005-10-27 21:31 cclepper
+
+ * added Altivec YUV function
+
+2005-10-26 13:54 zmoelnig
+
+ * fixed path and case of images to load
+
+2005-10-25 20:37 cclepper
+
+ * commented out lines in postrender which removes memory leak in
+ [separator]
+
+2005-10-25 10:01 zmoelnig
+
+ * throw an exception when no texture-units are defined at startup
+ time (prevents object-creation)
+ enforce 2 arguments in the texUnit-message
+
+2005-10-25 09:54 zmoelnig
+
+ * bugfix: added A_NULL as terminating argument to the
+ texUnit-callback
+
+2005-10-22 20:50 tigital
+
+ * GL_VERSION_1_1 check only (there's no GL_VERSION_1_0_ on osx!)
+
+2005-10-21 12:49 zmoelnig
+
+ * improved threaded movie-player:
+ use select() instead of usleep() (should be more portable)
+ when the grabThread returns no frame (NULL), a "bang" is emitted
+ at render-time. the user gets a chance to immediately react on
+ that and reset the frame# to something valid.
+ when threaded, this will force the changed frame to be read in
+ the main-thread (luckily the grabthread is locked by the mutex)
+
+2005-10-21 08:55 zmoelnig
+
+ * changes in configure.ac
+
+2005-10-21 08:55 zmoelnig
+
+ * check whether ffmpeg's (AVStream)->codec is of type
+ "AVCodecContext" or "*AVCodecContext"
+
+2005-10-21 08:03 zmoelnig
+
+ * removed contents of src/Gnu (since people keep building Gem from
+ there)
+
+2005-10-20 16:03 zmoelnig
+
+ * check for posix-threads
+ removed HAVE_SIMD things (as we should rather use the __MMX__,...
+ that are autodefined by the compiler)
+
+2005-10-20 16:02 zmoelnig
+
+ * check for posixthreads (as in pd)
+
+2005-10-20 13:41 zmoelnig
+
+ * (optional) threaded reading of movies
+
+2005-10-20 13:38 zmoelnig
+
+ * shut up compiler warnings; explicit casts from t_float to GLint
+
+2005-10-20 10:03 zmoelnig
+
+ * added method for "device" with symbolic device-names
+
+2005-10-20 09:59 zmoelnig
+
+ * 2 lines of comment...
+
+2005-10-20 09:53 zmoelnig
+
+ * fixed docu-bug that led people to try to compile Gem from src/Gnu
+ instead of src/
+
+2005-10-19 12:48 tigital
+
+ * initial commit:
+ - accepts a creation arg to set # of texture units to deal with,
+ or it defaults to the maximum # on the card
+ - [texUnit 1 $2< assigns to texture Unit 1 the texID input via $2
+ - [mode 0/1< switches between TEXTURE_RECTANGLE and TEXTURE_2D
+
+2005-10-19 04:17 tigital
+
+ * initial commit:
+ - accepts a creation arg to set # of texture units to deal with,
+ or it defaults to the maximum # on the card
+ - [texUnit 1 $2< assigns to texture Unit 1 the texID input via $2
+ - [mode 0/1< switches between TEXTURE_RECTANGLE and TEXTURE_2D
+
+2005-10-18 23:59 tigital
+
+ * more GLdefine's for multitexture and combiners...
+
+2005-10-14 07:54 zmoelnig
+
+ * disabled warnings on __WIN32__
+
+2005-10-08 16:24 zmoelnig
+
+ * wow! this file has been unused for quite a long time now; since i
+ cannot find any reference to it anywhere (except in the 1.1.1.1
+ or so revision of papi.h) i delete it.
+
+2005-10-07 17:03 zmoelnig
+
+ * removed the disabling of the entire code when FILM_NEW is defined
+ (oh this is really ugly)
+
+2005-10-07 17:02 zmoelnig
+
+ * enabled the weird hack i made for a current CVS snapshot of
+ ffmpeg, since the debian/sid package now uses the new API
+
+2005-10-07 16:53 zmoelnig
+
+ * remove "-f" (less errors if files are already removed)
+
+2005-10-07 16:52 zmoelnig
+
+ * updated w32 compile environment
+
+2005-10-07 16:51 zmoelnig
+
+ * fixed typo
+
+2005-10-07 16:50 zmoelnig
+
+ * only cimpileif we don't want FILM_NEW (i got an error when
+ compiling in the vfw.h file and i didn't want to fix it in a
+ deprecated file); LATER remove these files
+
+2005-10-07 16:49 zmoelnig
+
+ * no shared memory (via shm) on w32; disabled on that platform
+
+2005-10-07 16:47 zmoelnig
+
+ * defined pragmas to make compiler a bit less verbose
+
+2005-10-07 16:47 zmoelnig
+
+ * hacked together a version of drand48(); how comes drand48() does
+ not exist on w32 even though these files are in here for years ?
+ (LATER)
+
+2005-10-07 16:44 zmoelnig
+
+ * defined pragmas (on w32) to shut up compiler warnings (e.g.
+ because of unknown pragmas)
+
+2005-10-07 16:43 zmoelnig
+
+ * on w32 GL_ARB_fragment_program mightbe defined even if there is
+ no ARB-program support...(we really should switch to glew)
+
+2005-10-07 16:42 zmoelnig
+
+ * include <iostream> instead of <iostream.h> even on w32 (to use
+ the "new" stdlib)
+
+2005-10-06 09:25 zmoelnig
+
+ * merged with SIMD:
+ don't copy the "datasize" with copy2imageStruct - as it should
+ only be used internally for pdata;
+ (there is a captialized warning about breaking things in the
+ SIMD-branch log about this; however, i don't believe that it is
+ that dangerous)
+
+2005-10-05 16:38 zmoelnig
+
+ * fixed typo
+
+2005-10-05 16:24 zmoelnig
+
+ * merged with SIMD-branch
+
+2005-10-05 16:14 zmoelnig
+
+ * merged with SIMD
+
+2005-10-05 16:02 zmoelnig
+
+ * merged in changes from SIMD-branch
+
+2005-10-05 15:42 zmoelnig
+
+ * updated
+
+2005-10-05 15:35 zmoelnig
+
+ * changes from configure.ac
+
+2005-10-05 15:22 zmoelnig
+
+ * remove depend-files when "clean"
+
+2005-10-05 15:14 zmoelnig
+
+ * propery escaped test-string
+
+2005-10-05 14:45 zmoelnig
+
+ * use the CXX provided by configure
+
+2005-10-05 14:38 zmoelnig
+
+ * use AC_CHECK_FUNC rather than AC_CHECK_LIB to check for
+ glBindProgram{NV,ARB} since on osX we don't have a library libGL
+ but rather use the OpenGL-framework
+
+ NOTE: the test for glBindProgramNV fails to detect the
+ nvidia-extensions on osX
+ why ? because you have to explicitely request them by defining
+ GL_NV_vertex_program before including the glext.h file on osX
+ on linux (mesaGL,...) it is different: the extensions are only
+ included, if GL_NV_vertex_program is NOT already defined
+
+2005-10-05 14:14 zmoelnig
+
+ * a compile on osX revealed that somewhere MIN and MAX are defined
+ as preprocessor directives; this stopped compiling the inline
+ functions with the same name; FIXED
+
+2005-10-03 20:20 cclepper
+
+ * initial commit. object for reading shared pixel memory between
+ processes.
+
+2005-10-03 20:18 cclepper
+
+ * initial commit. object for creating shared pixel memory between
+ processes.
+
+2005-10-03 12:17 zmoelnig
+
+ * added support for devicenames given as strings (like
+ "/dev/video")
+
+2005-10-03 10:38 zmoelnig
+
+ * removed the caching mechanism;
+ if you want to load a set of images and access from RAM, use
+ [pix_buffer] instead
+
+2005-10-02 16:41 zmoelnig
+
+ * made checking for changes in Base/config`uname -s`.h.in a bit
+ better
+
+2005-10-02 13:52 zmoelnig
+
+ * moved inclusion of openGL-headers to Base/GemGL.h
+
+2005-10-02 13:48 zmoelnig
+
+ * removed boolean-hack for buggy nvidia-headers (should get fixed
+ upstream)
+
+2005-10-01 19:31 zmoelnig
+
+ * checking for nvidia-extensions (can be disabled with
+ "--disable-NV")
+
+2005-10-01 19:30 zmoelnig
+
+ * checking for nvidia-extensions (can be disabled with
+ "--disable-NV")
+ added the system-specific config-file to the dependencies to do a
+ ./configure
+
+2005-10-01 19:15 zmoelnig
+
+ * test for definition of GL_{ARB,NV}_{vertex,fragment}_program
+ before using extensions.
+
+2005-10-01 19:14 zmoelnig
+
+ * moved the openGL-magic into Base/GemGL.h
+
+2005-10-01 19:13 zmoelnig
+
+ * moved the inclusion of openGL-headers and the openGL-magic into a
+ separate file GemGL.h (this should be included instead of the
+ system-specific openGL-header files)
+
+2005-09-30 19:25 zmoelnig
+
+ * now we can give the filename as argument and it gets loaded on
+ startRendering()
+ reordered everything a bit (and made fragment_program a child of
+ vertex_program: there's loads of similar code)
+
+2005-09-28 04:29 cclepper
+
+ * made sure glTexSubImage2D is called instead of the power of two
+ texturing
+
+2005-09-27 17:56 zmoelnig
+
+ * a fragment-shader demo that adds some b/w-noise...
+
+2005-09-27 17:55 zmoelnig
+
+ * a fragment shader that produces noise...
+
+2005-09-27 17:04 zmoelnig
+
+ * added vertex_program demo
+
+2005-09-27 17:04 zmoelnig
+
+ * added toon-shader for the vertex_program demo
+
+2005-09-27 17:02 zmoelnig
+
+ * added texture for the vertex_program demo
+
+2005-09-27 16:34 zmoelnig
+
+ * removed the "64 64" arguments to [pix_video] as this makes the
+ patches under windows unusable (pix_videoDS thinks the first
+ argument is the deviceID, not the dimension)
+
+2005-09-27 15:44 zmoelnig
+
+ * leftovers from pre pix_filmNEW aera.
+ deleted because i don't (want to) maintain this code any more
+
+2005-09-27 15:42 zmoelnig
+
+ * disable if FILM_NEW is defined in Base/config.h (then pix_filmNEW
+ and friends are used)
+
+2005-09-27 05:17 tigital
+
+ * added check for GL_VERSION_1_1, which is the lowest GL_VERSION
+ osx defines
+
+2005-09-27 05:12 tigital
+
+ * added define for GL_TEXTURE_RECTANGLE_EXT, duh
+
+2005-09-26 17:47 zmoelnig
+
+ * [pix_filmFFMPEG] is covered by [pix_filmNEW]+filmFFMPEG
+
+2005-09-26 17:43 zmoelnig
+
+ * made it _compile_ against the current CVS-version of ffmpeg (not
+ really tested whether it works though)
+ you have to actually change an ifdef at the beginning of
+ filmFFMPEG.cpp in order to make it compatible with the CVS-ffmpeg
+ (haven't found out yet, how to do this in a more generic way
+ (apart from hacking configure again)
+ btw, configure would need a lot of tweaking to recognize a
+ current ffmpeg (and link against all the needed libraries)
+ ffmpeg sucks
+
+2005-09-22 17:41 zmoelnig
+
+ * added fix to be able to display floats as numbers again (instead
+ of "float")
+
+2005-09-22 08:32 zmoelnig
+
+ * added moocows changes (+ linebreaking)
+ fixed the bug that prevented TextBase.cpp to build if you were
+ not using FTGL (gltt or no-font)
+
+2005-09-21 18:41 tigital
+
+ * cleanup apple headers
+
+2005-09-21 18:37 tigital
+
+ * reordering to shut up gcc4 warnings
+
+2005-09-21 17:45 tigital
+
+ * #ifdef'ed GLTTPixmapFont *m_afont like in text2d.cpp
+
+2005-09-21 14:56 zmoelnig
+
+ * committed tim's fix to prevent escaping of pd-special characters
+ (like ",")
+
+2005-09-15 10:25 zmoelnig
+
+ * removed the pre-defined maximum of control/grid-points: now we
+ can have curve3d's of any preecision
+
+2005-09-11 16:09 zmoelnig
+
+ * shut up compiler warnings: the changes are mostly removal of
+ unused variables, re-ordering of initialization of
+ member-variables, (un)signedness and proper bracketing when doing
+ comparisions
+
+2005-09-11 16:04 zmoelnig
+
+ * shut up compiler warnings: the changes are mostly removal of
+ unused variables, re-ordering of initialization of
+ member-variables and (un)signedness
+
+2005-09-11 10:29 zmoelnig
+
+ * enable fullscreen on X only if libXxf86vm is present
+
+2005-09-11 10:25 zmoelnig
+
+ * removed a bit of verbosity
+
+2005-09-07 15:42 tigital
+
+ * finally fixed sequence grabber dialog, so now OSX users can
+ select input devices!
+
+2005-09-04 19:35 zmoelnig
+
+ * added multiline-support (for FTGL) based on georg holzmann's code
+ however, multilines have to be broken into lines outside of the
+ [text]-objects;
+ linebreaks are denoted with "\n" (10)
+
+2005-09-04 18:27 zmoelnig
+
+ * initial video4linux-2 support;
+ right now, it seems to be rather slow!
+ a lot of functionality is not implemented yet (like setting the
+ channel)
+
+ not yet for use!
+
+2005-09-04 18:21 zmoelnig
+
+ * GEM_OBJECTS are now a general {GEM_TARGETS}/*.o rather than each
+ object listed separately (some systems don't support such a long
+ list of arguments)
+
+2005-09-02 21:58 cclepper
+
+ * added loop to match codecType and codec value. makes pjpeg
+ default work on any machine.
+
+2005-08-31 21:25 cclepper
+
+ * added check for m_haveMovie in setRate to prevent crashing
+
+2005-08-30 16:27 zmoelnig
+
+ * a bit more verbosity on startup, so people will no what to send
+ to "driver"
+
+2005-08-29 02:26 tigital
+
+ * added outlet to output texture ID, which is useful for
+ multitexturing and ARB_programs...
+
+2005-08-27 20:35 zmoelnig
+
+ * maybe a hack to fix the tiny memory leak that i suspect to be in
+ the cache
+ LATER: really fix the cache (or remove it entirely)
+
+2005-08-27 13:12 zmoelnig
+
+ * free image-data when loading (after the image has been copied
+ into the buffer)
+
+2005-08-26 16:40 zmoelnig
+
+ * "binaries" for the latest changes to acinclude.m4 and
+ configure.ac
+
+2005-08-26 16:39 zmoelnig
+
+ * also make a check for package "lqt" (which is libquicktime),
+ since there might be an "lqt"-config installed.
+
+2005-08-26 16:37 zmoelnig
+
+ * (hopefully) even better library checking: if pkg-config cannot
+ find <libname>, we try <libname>-config to get the cflags and
+ libs.
+
+2005-08-26 13:54 zmoelnig
+
+ * test for libquicktime instead of quicktime (there exits a
+ pkg-config for libquicktime on debian)
+ do not automatically add "-lavcodec" when successfully testing
+ for avformat: either the pkg-config test succeeds or the user
+ should really provide PKG_FFMPEG_LIBS to get it right
+
+2005-08-26 13:51 zmoelnig
+
+ * a bit better: if PKG_<libname>_LIBS is defined from outside but
+ pkg-config fails, we do not test with AC_CHECK_PKG but trust the
+ user
+
+2005-08-26 13:50 zmoelnig
+
+ * include <quicktime.h> rather than <quicktime/quicktime.h>
+ the path may change and should be reported by autoconf
+
+2005-08-26 12:31 zmoelnig
+
+ * no freeframe support if sizeof(void*)!=sizeof(unsigned int)
+
+2005-08-26 12:25 zmoelnig
+
+ * added checks for the size of (void*) and (unsigned int) (on
+ x86_64 they are not the same (8 vs 4) and so casts won't work
+ (needed for pix_freeframe)
+
+2005-08-26 12:22 zmoelnig
+
+ * some information on how to workaround to get PIC-versions of
+ certain libraries (ffmpeg, ftgl)
+
+2005-08-26 11:23 zmoelnig
+
+ * forgot to remove update_pix_buffer()
+ remove m_buffer (since this is only used locally)
+
+2005-08-25 22:37 cclepper
+
+ * added regular and IIDC controls for video adjustment. tinkering
+ with vdig settings for capture rects.
+
+2005-08-25 22:36 cclepper
+
+ * more cleaning. fixed possible memory leak
+
+2005-08-25 22:34 cclepper
+
+ * fixed memory leak
+
+2005-08-25 16:55 zmoelnig
+
+ * further performance improvements (without crashes)
+
+2005-08-25 15:59 zmoelnig
+
+ * another attempt to get the fps from ffmpeg (the different
+ versions of this library with the same version-number are driving
+ me...)
+
+2005-08-25 09:18 zmoelnig
+
+ * there seem to be different versions of ffmpeg-4.0.9 around: one
+ (from CVS!) which takes an extra flags-argument for
+ av_seek_frame() and one that does not.
+ so i did an extra ifdef, whether the AV_SEEK_FLAGS are defined
+
+2005-08-24 13:20 zmoelnig
+
+ * implemented (similar to) georg's implementation (but made it less
+ crash prone)
+ should be faster, but if the content of the pix_buffer changes,
+ this is not automatically reflected on pix_buffer_read's outlet
+ (you must retrigger the index)
+
+2005-08-24 12:34 zmoelnig
+
+ * added "open"-message to read images (no movies yet)
+
+2005-08-24 11:47 zmoelnig
+
+ * verbosity now also states something about where it comes from
+ ("DV4L: closed" instead of "closed")
+
+2005-08-24 11:45 zmoelnig
+
+ * removed ifdef's; they should be handled by inheritance
+
+2005-08-24 11:34 zmoelnig
+
+ * query the FPS and report it to the info-outlet
+ (now we have: "list <numframes> <xsize> <ysize> <fps>";
+ should we split it into separate messages with prepends like "fps
+ <fps>" ??)
+
+2005-08-24 11:29 zmoelnig
+
+ * added a getFPS()-message to query the frames-per-second (as
+ reported by the decoding unit)
+
+2005-08-23 15:01 zmoelnig
+
+ * compiler shutups
+
+2005-08-23 12:28 zmoelnig
+
+ * started to crash again and then stopped (??); anyhow did some
+ more initialization
+
+2005-08-22 17:06 zmoelnig
+
+ * added some comments on why which decoding-library is placed where
+ moved FFMPEG backwards (as it fails more often than not and is
+ not really stable)
+
+2005-08-22 16:43 zmoelnig
+
+ * even more bug-fixes
+
+2005-08-22 14:05 zmoelnig
+
+ * bug-fix: now it is possible to decode some movies (i don't think
+ the code worked at all before)
+ more bug-fix: doesn't crash so easily anymore
+ even more bug-fix: allow seeking of frames when possible (but
+ this is rather seldom)
+
+2005-08-22 14:03 zmoelnig
+
+ * use initialization outside of constructor
+
+2005-08-19 17:26 zmoelnig
+
+ * fixed small type
+
+2005-08-19 15:52 zmoelnig
+
+ * added [{fragment,vertex}_program] from the vertex_array-branch.
+ (if DONT_USE_ARB is set, neither fragment- nor vertex-programs
+ should be build)
+ a bit of re-ordering of the include-files taken from the
+ vertex_array-branch: just in case we ever need to include GL/gl.h
+ in GemState.h, this would break all the weird glext-stuff,
+ because GL/gl.h would be included _before_ we do our magic; now
+ it should work
+
+2005-08-19 15:49 zmoelnig
+
+ * added [{fragmen,vertex}_program] from the vertex_array-branch.
+
+2005-08-17 14:51 cclepper
+
+ * changed some of the file loading code. should be faster to load a
+ movie now.
+
+2005-08-17 14:49 cclepper
+
+ * removed some debug lines
+
+2005-08-17 08:12 zmoelnig
+
+ * call the Makefile in src/ rather than src/Gnu
+
+2005-08-16 04:40 tigital
+
+ * [OSX] added menubar message to [gemwin]:
+ 1 = show
+ 0 = hide everything (full "kiosk" mode)
+ -1 = hide menubar, but autoShow with mouse at screen top
+ - this is only effective when gemwindow has "focus"
+
+2005-08-01 19:13 cclepper
+
+ * device selection works. started VDIG functions
+
+2005-08-01 19:12 cclepper
+
+ * new frame count outlet
+
+2005-07-21 22:35 cclepper
+
+ * added the basics for message based compression settings. Fixed
+ quite a few things
+
+2005-07-21 17:59 zmoelnig
+
+ * fixed the "clean" target
+
+2005-07-19 22:55 cclepper
+
+ * added ifdef for _APPLE__
+
+2005-07-19 22:36 cclepper
+
+ * initial commit
+
+2005-07-16 17:36 zmoelnig
+
+ * do checking for ARB even if specified explicitely (this also
+ turns on the check if you don't specify whether you want ARB or
+ not)
+
+2005-07-15 13:29 zmoelnig
+
+ * (changed 2 files, committed 4...)
+ a mechanism for finding files from optional libraries (those that
+ can be turned off with "--without-BLA")
+ "--with-BLA-includes=/bi/ba/bo" will add "-I/bi/ba/bo" to the
+ CXXFLAGS
+ "--with-BLA-libs=/foo/bar" will add "-L/foo/bar" to the LIBS
+ if the support for this library is turned OFF (--without-BLA),
+ then these flags will do nothing.
+ the arguments need be paths (a check is performed whether the
+ given directory exists)
+ however, they can also be relative paths!
+
+2005-07-15 10:11 zmoelnig
+
+ * checking for X-infrastructure on OS-X only if explicitely desired
+ by the user (with "--with-x"); by default it is turned off
+ added alias "--with-imagemagick" for "--with-ImageMagick"
+ fixed BUG, that prevented configure from checking for optional
+ libraries: if the checking for 1 library was turned off, all
+ consectuive libraries were automatically turned off too (i guess
+ it was the same with truning ON, but haven't tested)
+
+2005-07-14 20:45 zmoelnig
+
+ * more quoting in configure.ac
+ checked in configure, so people don't have to go through the
+ hazzle of autoconf
+
+2005-07-14 20:38 zmoelnig
+
+ * made the strip-test less verbose
+
+2005-07-07 13:03 zmoelnig
+
+ * use std::max() instead of max() as suggested by T.Schulze to make
+ it compile on windows with gcc; hope this doesn't break
+ M$VC-compilation
+ btw: pix_filmNT should NOT be used; use pix_filmNEW instead
+
+2005-07-07 11:37 zmoelnig
+
+ * added "--with-pd" flag for the bundle-loader; if neither this
+ flag is given nor PD_BINARY is set, $(which pd) is used (so the
+ path pd should be in $PATH)
+
+2005-07-07 11:30 zmoelnig
+
+ * fixed GEM_CHECK_LDFLAGS: better detection whether sucess or not
+ fixed GEM_CHECK_FRAMEWORK: "-framwork" is a linker flag instead
+ of a compiler flag. adapted changes to GEM_CHECK_LDFLAGS
+
+ also included acinclude.m4, since this is really just a copy of
+ aclocal.m4 (with my automake) and adding this files removes a
+ dependency on automake
+
+2005-07-07 11:25 zmoelnig
+
+ * delete depen-files
+
+2005-07-07 11:24 zmoelnig
+
+ * use "-C"-flag to make instead of "cd" when (dist)cleaning
+ subdirectories
+
+2005-07-07 11:22 zmoelnig
+
+ * moved stuff from GemLibs/darwinStuff/ into GemMath.h
+ reflect this in the files that included the old files
+
+2005-07-07 07:34 zmoelnig
+
+ * moved variable declarations to the beginning of the
+ open()-function, so they are not crossed by goto-jumps
+
+2005-07-07 07:28 zmoelnig
+
+ * removed call to class_set_extern_dir() in __APPLE__
+
+2005-07-04 18:05 zmoelnig
+
+ * copied from Gnu/README.build and added more information
+
+2005-07-04 12:11 zmoelnig
+
+ * set glNormal3f() before rendering, so [text3d] becomes robust
+ against changing the normal from outside (e.g. like
+ [textextruded])
+ is this is a bug in ftgl ?
+
+2005-07-04 12:10 zmoelnig
+
+ * changed __apple__ to __APPLE__
+
+2005-07-04 11:54 zmoelnig
+
+ * more beautiful (?) output on failure...
+
+2005-07-04 11:17 zmoelnig
+
+ * use HAVE_VIDEO4LINUX rather than __linux__
+
+2005-07-04 11:16 zmoelnig
+
+ * use HAVE_VIDEO4LINUX rather than __linux__
+ commented out some verbosity
+
+2005-07-04 11:05 zmoelnig
+
+ * turn of debug mode
+
+2005-07-04 09:22 zmoelnig
+
+ * you can now specify a preferred library for decoding a file.
+ if one is specified, it is tried as the first lib. if it fails,
+ all libs are tried in the default order (read: the specified lib
+ is tried twice: once as the preferred lib, and once as part of
+ all libs)
+
+2005-07-04 09:20 zmoelnig
+
+ * print "<codec> failed" when not being able to open instead of
+ "<codec> unsupported"
+
+2005-07-04 09:18 zmoelnig
+
+ * fixed codec initialization
+
+2005-07-04 08:43 zmoelnig
+
+ * renamed GEM_WITH_TARGET to GEM_TARGET (and use AC_ARG_ENABLE
+ instead of AC_ARG_WITH)
+
+2005-07-04 08:42 zmoelnig
+
+ * Gem.${EXT} depends on subdirs
+
+2005-07-04 08:40 zmoelnig
+
+ * added flag for videofilm-new
+ removed "Base" from the selectable modules
+
+2005-07-04 08:36 zmoelnig
+
+ * added a function for swapping Red and Blue that works in-place
+
+2005-07-04 08:35 zmoelnig
+
+ * added comments
+ added NEW_VIDEOFILM
+
+2005-07-03 19:03 zmoelnig
+
+ * added check for "dos2unix"
+
+2005-07-03 18:53 zmoelnig
+
+ * use "-MM" for "make depend" with gnu-preprocessors
+
+2005-07-03 18:42 zmoelnig
+
+ * updated build-system after having a look at the Gnu-make
+ documentation
+ what's better:
+ SOURCES are generated on the fly
+ .cpp-files containing whitespaces are ignored (rather than
+ crashing the build.process)
+ dependencies are calculated on a per-file basis (rather than via
+ Make.depend)
+ better subdirectory handling (not for "clean"ing though)
+ better check for "strip" (partly taken from wine)
+
+2005-06-29 15:44 zmoelnig
+
+ * use size_t for datasize
+
+2005-06-29 14:45 zmoelnig
+
+ * use "size_t" for dataSize instead of "int" or "long" or "unsigned
+ char" ...
+
+2005-06-27 16:11 zmoelnig
+
+ * fixed typo
+
+2005-06-26 18:03 zmoelnig
+
+ * prettier results
+ better handling of "strip"
+
+2005-06-26 17:38 zmoelnig
+
+ * use configure to set the extension
+ -"- to set reference-path
+ -"- to set STRIP (on real check though)
+
+2005-06-26 15:33 zmoelnig
+
+ * added checks for LDFLAGS
+
+2005-06-26 15:11 zmoelnig
+
+ * HAVE_LIBAV{format,codec} is now convered by HAVE_FFMPEG
+ additionally we now have a HAVE_VIDEO4LINUX
+
+2005-06-26 15:07 zmoelnig
+
+ * framework-checks and cxxflags-checks
+
+2005-06-26 12:46 zmoelnig
+
+ * "configure"-target
+
+2005-06-26 12:39 zmoelnig
+
+ * works better (still not yet where we want to be)
+
+2005-06-25 16:49 zmoelnig
+
+ * first try of a new build-system based on g� code, autoconf>2.57
+ and that gets rid of the Gnu-directory
+
+2005-06-20 14:47 zmoelnig
+
+ * updated documentation
+
+2005-06-20 14:47 zmoelnig
+
+ * updated documentation (thanks to georg holzmann)
+
+2005-06-20 14:41 zmoelnig
+
+ * fixed documentation
+
+2005-06-20 14:41 zmoelnig
+
+ * added newline to end of file
+
+2005-06-19 18:45 zmoelnig
+
+ * replaced WIN32 (or NT) (or _WINDOWS) (or...) by __WIN32__
+
+2005-06-19 18:41 zmoelnig
+
+ * replaced WIN32 with __WIN32__
+
+2005-06-19 18:38 zmoelnig
+
+ * unix2dos (m$vc does _not_ like unix-linebreaks in the dsp-file)
+ added newer files
+ use __WIN32__ instead of other windows-defines
+
+2005-06-19 18:36 zmoelnig
+
+ * added DONT_INCLUDE_GLEXT (i think this is the default on most
+ windows-compile-machines, and currently it fails to work on my
+ setting, when i have time to fix it, i will re-enable glext on
+ w32)
+
+2005-06-19 18:34 zmoelnig
+
+ * renamed defines "NT", "WIN32" and "_WINDOWS" by "__WIN32__"
+
+2005-06-19 18:32 zmoelnig
+
+ * suddenly m$vc didn't like variables "near" and "far", so i
+ renamed them to "m_near" and "m_far"
+
+2005-06-19 17:11 zmoelnig
+
+ * ifdef'ed (re)definition of WIN32_LEAN_AND_MEAN
+
+2005-06-19 17:10 zmoelnig
+
+ * fixed recursion-bug with distance()
+
+2005-06-19 16:58 zmoelnig
+
+ * added re-definition of GLU_SILHOUETTE _after_ including the
+ openGL-headers
+
+2005-06-14 06:57 zmoelnig
+
+ * fixed a bug discovered (and fixed) by matju, where image-files
+ that opened but turned out to be a non-sgi-image, where not
+ closed again.
+
+2005-06-09 16:09 ggeiger
+
+ * Replaced "Programme" with PROGRAMFILES environment variable for
+ finding m_pd.h
+
+2005-06-09 15:35 ggeiger
+
+ * use ProgramFiles variable to detect path to pd
+
+2005-06-03 09:29 zmoelnig
+
+ * on linux, we are using pix_videoNEW instead of pix_videoLinux for
+ ages, it's time to remove it.
+ hopefully we can do this for other platforms sometime as well
+
+2005-06-03 09:20 zmoelnig
+
+ * GemDAG has been obsoleted for years, it's time to remove it.
+ (probably something similar will reappear once we have threaded
+ rendering to multiple windows)
+
+2005-06-03 09:10 zmoelnig
+
+ * removed: people should (well, now they "must") run autoconf in
+ order to generate their own configure-script
+
+2005-06-03 09:09 zmoelnig
+
+ * added a note that tells people to run "autoconf" before
+ "./configure"
+
+2005-06-03 08:57 zmoelnig
+
+ * colors can now be RGB or (new:) RGBA
+
+2005-06-03 06:55 zmoelnig
+
+ * commented out XCloseDisplay() which keeps Gem from freezing but
+ is only a direty workaround (memory-leak + X-server hates too
+ many open displays)
+ added a big warning to not forget it....
+
+2005-06-03 06:54 zmoelnig
+
+ * HELPSYMBOL_BASE must be defined _before_ including CPPExtern.h to
+ have any effect
+
+2005-06-02 11:25 zmoelnig
+
+ * added YUV-support
+ normalized output to 0..1 (instead of 0..255)
+ always output RGBA-values (even for grayscale and YUV; alpha
+ defaults to 1.0)
+
+2005-06-01 16:42 tigital
+
+ * [OSX] OpenGL headers are now centrally located in Base/GemMan.h
+
+2005-06-01 16:40 tigital
+
+ * corrected description
+
+2005-06-01 16:35 tigital
+
+ * [OSX] OpenGL headers are in Base/GemMan.h
+
+2005-06-01 16:34 tigital
+
+ * [OSX] correct call to dialogCallback, not dialogMess (shuts up
+ gcc4.0 warning); small header change
+
+2005-06-01 16:28 tigital
+
+ * [NEW] added scale variable for scale of halftone
+ [OSX] compile-time check (via AvailabilityMacros.h) for support
+ of sinf() & friends in math.h (now defined in >10.4.x)
+
+2005-06-01 15:57 tigital
+
+ * [OSX] converted the last of the MACOSX to __APPLE__ ifdef's?
+
+2005-06-01 15:48 tigital
+
+ * coalesced #ifdef between linux & apple (since they are the same
+ typedefs)
+
+2005-06-01 15:46 tigital
+
+ * [OSX] corrected #ifdef and added LPVOID define
+
+2005-06-01 15:43 tigital
+
+ * [OSX] compile-time check (via AvailabilityMacros.h) for support
+ of sinf() & friends in math.h (now defined in >10.4.x)
+
+2005-06-01 15:40 tigital
+
+ * header includes now centralized in Base/GemMan.h
+
+2005-06-01 15:38 tigital
+
+ * [OSX] converted the last of the MACOSX to __APPLE__ ifdef's?
+
+2005-06-01 15:36 tigital
+
+ * more readable formatting
+
+2005-06-01 15:32 tigital
+
+ * [OSX] compile-time check (via AvailabilityMacros.h) for support
+ of sinf() & friends in math.h (now defined in >10.4.x)
+
+2005-06-01 15:27 tigital
+
+ * corrected spelling of SetVertex()
+
+2005-06-01 15:20 tigital
+
+ * now includes all OpenGL/ headers for OSX
+
+2005-06-01 15:16 tigital
+
+ * switched from vec_unpack2sh() (which apparently never existed,
+ yet worked prior to 10.4.x!) to vec_mergeh(); new #ifdef
+ __TIMING__ for timing frame process of altivec vs. scalar color
+ conversions
+
+2005-06-01 15:08 tigital
+
+ * added "#ifdef unix" so osx doesn't try compiling it (at least
+ until the future?)
+
+2005-06-01 15:06 tigital
+
+ * gcc4.0 fixes and miscellaneous cleanups: AGL's swapinterval now
+ set in BuildGLContext()
+
+2005-06-01 14:59 tigital
+
+ * needed for proper Darwin configure-ing
+
+2005-06-01 14:56 tigital
+
+ * added Darwin configure stuff
+
+2005-06-01 14:54 tigital
+
+ * replaced ".pd_linux" with $(TARGET) so that we can use this on
+ more than one platform
+
+2005-05-30 19:54 zmoelnig
+
+ * use "ffmpeg-config --plugin-libs" instead of "ffmpeg-config
+ --libs"
+ this allows us to link on x86_64 without problems
+
+2005-05-25 18:44 zmoelnig
+
+ * looked at the ugly #define-hacks and got some things right
+ note: these classes should vanish altogether on all platforms and
+ be replaced by the NEW-thingie.
+
+2005-05-23 15:03 zmoelnig
+
+ * made libjpeg and libtiff OPTIONAL libraries (which are used by
+ default if available)
+ so platforms that dont have these libs (like OSX) don't fail to
+ configure any more
+
+2005-05-23 15:01 zmoelnig
+
+ * added HAVE_LIBJPEG and HAVE_LIBTIFF in order to compile with
+ image reading/writing support
+
+2005-05-23 14:58 zmoelnig
+
+ * made JPEG and TIFF reading/writing a compile-option
+ this removes the _hard_ dependency on libjpeg and libtiff, which
+ should make the configure easier on platforms that don't need
+ libjpeg/libtiff
+
+2005-05-23 12:11 zmoelnig
+
+ * enforcing of the presence of libtiff, libjpeg and libpng is only
+ need on linux (btw, it shouldn't be enforced here too!)
+
+2005-05-23 11:59 zmoelnig
+
+ * better detection for FFMPEG (now we also have autodetection; i
+ hope ffmpeg has stabilized the API enough, so this won't break
+ for some months)
+
+2005-05-23 11:56 zmoelnig
+
+ * added preprocessor-flags CPPFLAGS to the compiler-flags
+
+2005-05-23 09:29 zmoelnig
+
+ * enforce X only on Linux (Darwin can do without)
+
+2005-05-23 09:02 zmoelnig
+
+ * on "distclean" remove ALL .o (and .obj) files, even those that
+ are not in Make.source
+
+2005-05-21 02:34 tigital
+
+ * corrected spelling
+
+2005-05-19 11:41 zmoelnig
+
+ * did better quoting, this should fix the issues with autoconf>2.53
+
+2005-05-17 14:00 zmoelnig
+
+ * changed uname-flags "--machine" and "--kernel-name" to "-m" and
+ "-s" (which should work on osX too
+
+2005-05-17 00:24 tigital
+
+ * updates for config system that identify darwin 10.4
+
+2005-05-13 19:48 zmoelnig
+
+ * [pix_crop] now straights images that are upside down (this is: if
+ you have the same pix-material as both "normal" and "upsidedown",
+ the same parameters to [pix_crop] will now produce the same
+ results
+ this change has the same performance as the old one, it just
+ makes life easier
+
+2005-05-10 16:51 zmoelnig
+
+ * added [spot_light] by Pierre-Oliver Charlebois;
+ did some changes to make it use the world_light parent-class
+ instead of reinventing the wheel. hope this doesn't break
+ anything with the original version
+
+2005-05-04 18:31 zmoelnig
+
+ * fixed the "external" pix_buffer_class
+
+2005-05-04 13:22 zmoelnig
+
+ * added a flag to declare the pdclass-definition non-static (so we
+ can findbyclass() from other objects)
+
+2005-05-04 13:21 zmoelnig
+
+ * finally made [pix_buffer_read] and [pix_buffer_write] to be in
+ their own source-files
+ added automatic playback and cyclic reading of [pix_buffer_read]
+ (based on an idea of Florian Grond & Lasse Scherffig)
+
+2005-05-03 17:32 zmoelnig
+
+ * entry for DONT_USE_ARB
+
+2005-05-03 17:31 zmoelnig
+
+ * added runtime-checking for glBindProgramARB
+ the results are displayed in Base/configLinux.h rather than via
+ command-line args to the compiler
+
+2005-05-03 15:47 zmoelnig
+
+ * added some verbose output at the end of configuration, so the
+ user will know what is going on
+
+2005-05-03 11:35 zmoelnig
+
+ * on windows (and maybe osX too?) the host-side interface looks a
+ bit different than on linux
+ a couple of #define's should fix that.
+
+ fixed an error on windows+osX that came from stupid copy'n'paste
+ from the pd-sources for dynamic loading
+
+ the FreeFrame-specs said something about a "maximum" of 8
+ parameters, which is exceeded by some plugins as i just noticed;
+ removed the clamping of numparams to 8 (don't know why it was
+ there in the first place)
+
+ i hope this includes the changes needed to make it compile on osX
+ haven't tested these changes on windows yet, but after my
+ experiences i made yesterday when i booted into windows, it
+ _should_ work
+
+2005-04-27 09:26 zmoelnig
+
+ * changed behaviour for rectangle textures to be conformant to the
+ behaviour with non-rectangle textures::
+ "1,1" always denotes the upper-right corner of the pixel-buffer,
+ so the user need not care what kind of texture they are using
+
+2005-04-27 09:24 zmoelnig
+
+ * set "state->texture" to "2", when using rectangle textures
+ don't overwrite "m_repeat" with "GL_CLAMP" when doing
+ rectangle-textures, as they will ignore that flag anyhow
+
+2005-04-27 09:21 zmoelnig
+
+ * more advanced usage of the "texture": 2==rectangle (so we can
+ react on the specifics of rectangle-textures in downstream
+ objects)
+
+2005-04-26 03:34 tigital
+
+ * corrected yv12 to rgb on osx, yv12 to rgba/bgra, and error
+ reporting for copy2ImageStruct
+
+2005-04-26 01:58 tigital
+
+ * changed boolean to bool, which is osx-compilable and more in line
+ with the rest of gem's codebase
+
+2005-04-25 17:01 zmoelnig
+
+ * help-patch for [pix_movement2]
+
+2005-04-25 17:00 zmoelnig
+
+ * another object that tries to get the movement within an
+ image-stream
+
+2005-04-24 21:59 cclepper
+
+ * added check for state->texture and that actual coordinates exist
+ in the render method
+
+2005-04-21 14:58 zmoelnig
+
+ * initial support for loading plugins un windows and osX (still not
+ tested)
+
+2005-04-21 12:05 zmoelnig
+
+ * fixed...
+
+2005-04-21 11:46 zmoelnig
+
+ * added an enable-flag for --freg-struct-return (for
+ FreeFrame-plugins)
+ since i am not sure what this will break it is disabled by
+ default;
+ if you want to use the FreeFrame-plugins, the option is either to
+ compile Gem with this flag or to recompile the plugins without...
+
+2005-04-21 09:42 zmoelnig
+
+ * fixed bug that crashed pd/Gem when an exception was thrown (wrong
+ type...)
+ fixed bug with a parameter-offset of 1
+
+2005-04-20 17:31 zmoelnig
+
+ * initial support for FreeFrame-plugins
+ currently i have only tested this on linux
+
+2005-04-18 17:06 zmoelnig
+
+ * usage of the "--disable-ARB" to disable ARB-vertex-shaders
+
+2005-04-18 17:02 zmoelnig
+
+ * adding a "--disable-ARB" flag for disabling the build of
+ ARB-vertex-programs
+
+2005-04-18 15:59 zmoelnig
+
+ * added feed-back when checking for avifile
+ (before, there was nothing indicating that libavifile will be
+ used if (and only if) it was found)
+
+2005-04-18 15:52 zmoelnig
+
+ * added support for ImageMagick++ (used here for loading and saving
+ images)
+
+2005-04-18 15:51 zmoelnig
+
+ * added support for ImageMagick (currently used for loading/writing
+ images)
+
+2005-04-18 14:08 zmoelnig
+
+ * fixed a bug that crashed Gem when using this object with
+ [pix_imageInPlace]: the texcoord-array was accessed without
+ checking the size of it first!!
+
+2005-04-18 13:17 zmoelnig
+
+ * regrouped things even more (put type-checks before
+ library-checks)
+
+2005-04-18 12:52 zmoelnig
+
+ * cleaned up autoconf a bit
+ + prelaminary support for icc
+ + grouped header/library search together
+ + FIRST search whether headers are present, THEN look for
+ matching libraries
+ + hopefully fixed bug, where compile stopped when no
+ font-rendering-libs where installed
+
+2005-04-13 17:33 zmoelnig
+
+ * a function that claims to return an integer should return an
+ integer
+
+2005-04-11 16:14 tigital
+
+ * [stupid]correct name in header
+
+2005-04-07 12:52 zmoelnig
+
+ * an example for using display-lists
+
+2005-04-07 11:06 zmoelnig
+
+ * help for [scopeXYZ~]
+
+2005-04-06 19:02 zmoelnig
+
+ * made [scopeXYZ~] work (although there is still one single point
+ left that sometimes occurs at 0/0/0)
+
+2005-04-05 10:52 zmoelnig
+
+ * added wrapper for glEndList() and glNewList(): this is cool as it
+ allows to makeuser defined display-lists (performance boost)
+
+2005-04-04 16:50 zmoelnig
+
+ * a help-patch
+
+2005-04-04 16:27 zmoelnig
+
+ * adapted to the longer feature-vectors of [pix_multiblob];
+ a first help-patch
+
+2005-04-04 16:24 zmoelnig
+
+ * output more information (like minX/Y, weighted position,...)
+ weighted position produces more stable tracking
+
+2005-04-01 07:45 zmoelnig
+
+ * #ifdef'ed the altivec code properly, so it will compile on other
+ systems as well
+
+2005-04-01 01:26 tigital
+
+ * initial altivec speedups to: bgra to yuv; yv12 to yuv
+
+2005-03-31 16:25 zmoelnig
+
+ * updated documentation a bit
+
+2005-03-31 16:07 zmoelnig
+
+ * missed a "break" in a case-loop.
+
+2005-03-31 15:58 zmoelnig
+
+ * use "GL_DEFAULT_GEM" instead of "-1" as the default drawType
+ (negative values are a bad idea for GLenum)
+
+ (and fix the parsing of the drawstyle a big)
+
+2005-03-31 15:55 zmoelnig
+
+ * use "GL_DEFAULT_GEM" instead of "-1" as the default drawType
+ (negative values are a bad idea for GLenum)
+
+2005-03-31 15:47 zmoelnig
+
+ * a blobtracker based on [pix_multiblob] and some objects from
+ "iemmatrix"
+
+2005-03-31 15:00 zmoelnig
+
+ * use "GL_DEFAULT_GEM" instead of "-1" as the default drawType
+ (negative values are a bad idea for GLenum)
+
+2005-03-31 14:58 zmoelnig
+
+ * added a new drawType "GL_DEFAULT_GEM" (since using "-1" was a bad
+ idea for GLenum)
+
+2005-03-31 14:40 zmoelnig
+
+ * changed LIBS="-Wl,-shared -Wl,-export-dynamic $LIBS" to
+ LIBS="-shared -Wl,-export-dynamic $LIBS"
+ this should fix the problem with FC3
+
+2005-03-31 06:42 zmoelnig
+
+ * there are even better conversions (at least you can control all
+ YUV<->RGB conversion on a central point)
+
+2005-03-30 20:02 zmoelnig
+
+ * a detector for multiple blobs (no tracking! as this should be
+ done externally);
+ the output-data is in zexy/iemmatrix's "matrix" format; i am not
+ sure whether this is really good (as it makes libraries
+ interdependent and of course i favour my own libs) but it is much
+ more elegant than anything else i could think of
+
+2005-03-30 19:48 zmoelnig
+
+ * new Geos: [scopeXYZ~] and [torus]
+
+2005-03-30 19:00 zmoelnig
+
+ * added "default"-drawtype
+
+2005-03-22 20:41 zmoelnig
+
+ * changed RGB<->YUV conversion to be more standards-compliant;
+ clamped the results
+
+2005-03-22 02:48 tigital
+
+ * more OpenGL wrappers I've had sitting on my drive
+
+2005-03-09 00:24 tigital
+
+ * IOhannes: the gl headers and such are in GemMan.h: why would you
+ want to put them in GemMan.cpp? I'm a big fan of including
+ headers in, um, the header :-) Btw, the "GL/ vs. OpenGL/" thing
+ is due to apple's use of framework's...
+
+2005-03-07 15:33 zmoelnig
+
+ * use DONT_INCLUDE_GLEXT rather than the INCLUDE_GLEXT (which is
+ nowhere defined)
+
+2005-03-07 15:31 zmoelnig
+
+ * properly include GL/glext.h (btw, wtfh are apple's openGL-headers
+ in openGL/ instead of GL/ ... nevermind)
+
+2005-03-07 09:19 zmoelnig
+
+ * include <new> to enable the use of real C++ constructors
+
+2005-03-06 11:21 zmoelnig
+
+ * removed [change] (is in pd for some times)
+
+2005-02-28 01:15 tigital
+
+ * - added support for YV12(short*) for pdp2gem
+ - added support for RGB/BGR to setCsizeByFormat
+ - began altivec support (non-functional atm)
+
+2005-02-28 00:05 tigital
+
+ * - added support for YV12(short*) for pdp2gem
+ - added support for RGB/BGR to setCsizeByFormat
+ - began altivec support (non-functional atm)
+
+2005-02-07 18:18 zmoelnig
+
+ * cleaned up, and removed crashes
+
+2005-02-07 15:56 zmoelnig
+
+ * fixed bug that crashed pd when NULL was returned by glGetString()
+
+2005-02-07 15:31 zmoelnig
+
+ * cleaned up a bit
+
+2005-02-07 15:05 zmoelnig
+
+ * windoze does not like array-sizes that are determined at runtime
+
+2005-02-07 13:42 zmoelnig
+
+ * catching errors that might get thrown by glx
+
+2005-02-07 13:21 zmoelnig
+
+ * use Base/GemVector instead of own CVector3
+
+2005-02-07 13:20 zmoelnig
+
+ * a class for 3D-vectors (formerly found in Manips/camera)
+
+2005-02-07 12:46 zmoelnig
+
+ * oh, it's here again...
+
+2005-02-07 12:45 zmoelnig
+
+ * [pix_dv] is covered by [pix_video]
+
+2005-02-07 12:43 zmoelnig
+
+ * updated a bit
+
+2005-02-07 12:04 zmoelnig
+
+ * hopefully really fixed the including of GL/glext.h:
+ use DONT_INCLUDE_GLEXT instead of INCLUDE_GLEXT
+ additionally use GL_GLEXT_LEGACY, as this auto-includes glext.h
+ on some sytems (mesa)
+
+2005-02-07 12:02 zmoelnig
+
+ * use FILM__NEW instead of __FILM__NEW
+ use DONT_INCLUDE_GLEXT instead of INCLUDE_GLEXT
+
+2005-02-07 12:00 zmoelnig
+
+ * fixed defines:
+ gl*TransposeMatrix() are available onle on openGL>=1.3 (not >=1.1
+ as it was)
+ gl*ARB() were used only, if GL_ARB_vertex_program was
+ un(!)defined...
+
+2005-01-31 17:50 tigital
+
+ * updated to my setup
+
+2005-01-14 08:54 zmoelnig
+
+ * added the missing " to the NEW_VIDEOFILM definition
+
+2005-01-14 08:53 zmoelnig
+
+ * ./configure does not call "makesource" but includes it; thus the
+ "$@" is not as expected an (empty) list of directories for which
+ we should generate Make.source but rather "dummy sh";
+ now we check, whether the running script ($0) is "*configure",
+ and if so, we assume that the "passed" list is 0.
+
+2005-01-12 19:20 zmoelnig
+
+ * oops again; forgot a "
+
+2005-01-12 18:12 zmoelnig
+
+ * oops; should run again
+ (note: this is just rev1.27 with __NEW__ replaced by
+ NEW_VIDEOFILM)
+
+2005-01-11 11:45 zmoelnig
+
+ * who the f**k used "__NEW__" to enable/disable different
+ film/movie-objects ???
+ preprocessor-defines starting with "__" are system only!!
+ i have renamed __NEW__ to NEW_VIDEOFILM __FILM __NEW to FILM_NEW
+ and __VIDEO__NEW to VIDEO_NEW
+
+2005-01-11 10:22 zmoelnig
+
+ * added Exceptions: whenever we don't want an object to be created
+ because of boundary-conditions (e.g. wrong arguments) we can now
+ throw a GemException("errorstring") which is caught by the
+ setup-routine and prevents the object from being created;
+
+ fixed the m_objectname thing: now even the constructor of a
+ GemObject will now the name that was used to create it (as far as
+ we can tell)
+
+2004-12-26 17:43 tigital
+
+ * oops! shouldn't include "Base/GemFuncUtil.h" after #ifdef
+ __cplusplus extern "C" {...}
+
+2004-12-24 09:54 timblech
+
+ * fixed bug
+
+2004-12-22 18:03 tigital
+
+ * - header consolidation: #includes should go in headers (or in
+ this case, already are)!
+
+2004-12-22 17:49 tigital
+
+ * ppc only: sqrt speed up via assembly instruction (at least 2x)
+ - header consolidation: #includes should go in headers!
+ - correctly converts YUV to RGBA and back, if needed
+
+2004-12-22 17:48 tigital
+
+ * ppc only: sqrt speed up via assembly instruction (at least 2x)
+ - header consolidation: #includes should go in headers!
+ - now fills/uses Gem's gluLookAt()
+
+2004-12-22 17:46 tigital
+
+ * ppc only: sqrt speed up via assembly instruction (at least 2x)
+ - header consolidation: #includes should go in headers!
+
+2004-12-22 17:00 tigital
+
+ * rearrange/coalesce headers, added glu.h
+
+2004-12-22 16:58 tigital
+
+ * add functions for 5 arguments
+
+2004-12-15 06:21 tigital
+
+ * cleanup dialogMess
+
+2004-12-15 06:17 tigital
+
+ * fixed crash bug when changing dimen or colorspace while
+ rendering: some header cleanup, too
+
+2004-12-14 00:02 tigital
+
+ * update to my setup
+
+2004-12-13 13:22 zmoelnig
+
+ * fixed the patch; how comes it is broken at all ? a check ensured,
+ that even the example-patch from gem-0.70 has the same
+ weirdnesses - so the problem seems to be a change in the
+ pd-fileformat rather than the patch itself; this should work now
+ (although i am not sure, whether it really does what it is
+ supposed to do...)
+ wow, what a long changelog....
+
+2004-12-07 15:05 timblech
+
+ * simplified outlet
+
+2004-12-07 13:24 timblech
+
+ * initial checkin pix_mean_color
+
+2004-12-03 12:15 zmoelnig
+
+ * added newline at end of file
+
+2004-11-28 00:00 tigital
+
+ * some wrappers for gl "program" stuff: should be ok for any GL
+ with ARB_vertex_program and/or ARB_fragment_program defined
+
+2004-11-27 23:51 tigital
+
+ * wrappers for gl matrix stuff: should be ok for all opengl
+ versions since 1.1?
+
+2004-11-27 23:47 tigital
+
+ * pedantic changes to header & descriptions :-)
+
+2004-11-27 23:46 tigital
+
+ * added defines for multitexture, vertex/fragment programs, and
+ matrix stuff...plus pragma's to more easily find the numerical
+ seperations
+
+2004-11-24 15:53 zmoelnig
+
+ * Cyrille's [gemlist_info] that gets the current
+ transformation-matrix
+ (why have i not added this long before ???)
+
+2004-11-24 15:46 zmoelnig
+
+ * made the new size settable;
+ LATER think about using a *faster* algorithm...
+
+2004-11-24 15:37 zmoelnig
+
+ * added templates for the gem2pdp-bridge
+
+2004-11-05 14:33 tigital
+
+ * added comments about auto message
+
+2004-11-05 14:32 tigital
+
+ * added blend message
+
+2004-10-20 14:10 tigital
+
+ * // powerOfTwo() optimization from "Hacker's Delight": much
+ faster!
+
+2004-10-12 18:34 zmoelnig
+
+ * use the provided dv1394.h instead of an external one
+
+2004-10-12 18:34 zmoelnig
+
+ * added dv1394.h from "dvgrab"-sources
+
+2004-10-12 11:51 zmoelnig
+
+ * use the dv1394.h from the kernel and not the deprecated-one from
+ libdv-dev
+
+2004-10-11 09:11 zmoelnig
+
+ * [gemkeyname] under linux now behaves more like pd's [keyname]
+ (e.g. uniform keynames); thanks to gerard van dongen
+
+2004-10-08 14:47 zmoelnig
+
+ * we don't want this anymore: all objects are autoregistering
+
+2004-10-08 14:46 zmoelnig
+
+ * don't want this anymore: objects are auto-registering themselves!
+
+2004-10-08 14:29 zmoelnig
+
+ * don't want this anymore: objects are auto-registering themselves!
+
+2004-10-08 14:08 zmoelnig
+
+ * as cyrille requested: doing one more point... (hope this doesn't
+ break anything, but i guess cyrille is the only one who really
+ cares about such features)
+
+2004-10-08 13:35 zmoelnig
+
+ * fixed argument handling:
+ 1 argument: gridX=gridY
+ 2 arguments: gridX, gridY
+ 3 arguments: gridX, gridY, height
+
+2004-09-15 15:41 zmoelnig
+
+ * new and updated help-patches (thanks cyrille)
+
+2004-09-15 15:18 zmoelnig
+
+ * initial addition (thanks cyrille)
+
+2004-09-15 15:06 zmoelnig
+
+ * initial addition (thanks cyrille)
+
+2004-09-15 14:50 zmoelnig
+
+ * merged the newWave_texture in;
+ incorporated cyrilles changes: added dither-noise against
+ denormalization phenomenons: wouldn't it be better clamp
+ denormals to 0 like with PD_BADLFOAT ??
+
+2004-09-15 13:15 zmoelnig
+
+ * cyrilles changes: made the number of faces settable via a
+ message#9
+
+2004-08-27 06:47 zmoelnig
+
+ * moved from src/Geos to src/Vertex;
+ include <GL/gl.h> instead of <OpenGL/gl.h> on non-apples
+
+2004-08-26 12:21 zmoelnig
+
+ * moved all the vertex_-objects from src/Geos to src/Vertex;
+ added vertex_mul, vertex_add
+ vertex_offset,... now work on all arrays
+
+2004-08-17 12:53 zmoelnig
+
+ * fixed a bug when no directory-list is given at command-line
+
+2004-08-17 12:01 zmoelnig
+
+ * this has vanished entirely (i just don't know how to check files
+ into a branch)
+
+2004-08-10 09:43 zmoelnig
+
+ * an object to render into external displays (this is: the context
+ is *not* handled by Gem but by an external application)
+
+2004-08-10 09:40 zmoelnig
+
+ * oje: "tagged" instead of "branched" (anyhow gemwindow_qtExt is
+ already deprecated)
+
+2004-08-09 17:36 zmoelnig
+
+ * initial makefile for [gemwindow_qtExt]
+
+2004-08-09 17:36 zmoelnig
+
+ * initial output-module:
+ [gemwindow_qtExt] (what an ugly name!) to render to external
+ qt-contexts
+
+2004-08-08 11:45 zmoelnig
+
+ * set the viewpoint immediately (do *not* use GemMan::m_view)
+
+2004-08-04 06:32 zmoelnig
+
+ * now you can give a list of directories on the command-line to
+ override the default directories where we want the
+ Make.source,... to be built
+
+2004-07-23 08:25 zmoelnig
+
+ * added top-level makefile and configure-script (since src/Gnu is
+ hard to find)
+
+2004-07-06 13:09 zmoelnig
+
+ * fixed typo in comment
+
+2004-07-02 16:17 zmoelnig
+
+ * new things to do
+
+2004-07-01 19:00 zmoelnig
+
+ * initial MMX-code;
+ includes for the various platforms/SIMD-optimization should be
+ handled in here
+
+2004-06-30 14:32 zmoelnig
+
+ * rebuild the texture when switching between rectangle and
+ normalized textures
+
+2004-06-30 12:13 zmoelnig
+
+ * used debug() instead of post() for the "client-storage"-message
+
+2004-06-30 12:11 zmoelnig
+
+ * using RGB24 instead of RGB32, because the alpha-channel is set to
+ 0 by RGB32(!!)
+
+2004-05-28 11:50 zmoelnig
+
+ * updated for 0.90
+
+2004-05-26 10:59 zmoelnig
+
+ * now the "release" compiles
+
+2004-05-26 10:35 zmoelnig
+
+ * changed version from 0.888 to 0.90
+
+2004-05-26 10:34 zmoelnig
+
+ * fixed "installation" for on windows
+
+2004-05-26 10:34 zmoelnig
+
+ * changed from 0.888pre2 to 0.90
+
+2004-05-19 15:57 zmoelnig
+
+ * changed the shifts to SHIFT_* to make it cross-platform
+
+2004-05-19 15:25 tigital
+
+ * *** empty log message ***
+
+2004-05-19 15:18 tigital
+
+ * here's what I came up with: luma seems more sensitive, and makes
+ a better image, tho different than the rgba version
+
+2004-05-16 19:22 zmoelnig
+
+ * fixed some issues with compiling Gem on windows with nvidia's
+ openGL-headers (have to include glext.h)
+
+2004-05-15 17:59 zmoelnig
+
+ * noted that pix_lumaoffset might crash with high offset-factors
+
+2004-05-14 17:20 zmoelnig
+
+ * added a "yuv"-message to turn off direct YUV-texturing even if it
+ is available (because our G4 with a geforce4MX says that it can
+ do GL_ycbcr but actually the images look weird
+
+2004-05-14 17:05 zmoelnig
+
+ * added range-checking for the offset when doing smoothed & filled
+ processing;
+ this should fix the crashes at very high offsets on all
+ colorspaces
+
+2004-05-14 15:42 zmoelnig
+
+ * fixed YUV on big-endians
+
+2004-05-13 17:25 zmoelnig
+
+ * don't copy "pdata" with copyImage2Struct; pdata should always(!)
+ be a pointer to some data that is owned by the image itself!
+ this fixes the abiding crashes when deleting pix_-objects
+
+2004-05-10 08:08 zmoelnig
+
+ * added additional error-checks and a sanity-check on close();
+ should run now on QT-6.5 (as (un)stable as with QT-6.4)
+
+2004-05-10 05:03 cclepper
+
+ * First step at separating the color-space functions in order to
+ have them work properly. RGBA is still ok, and now YUV works on
+ 'uniform' adjustments.
+
+2004-05-10 03:54 cclepper
+
+ * #ifdef to remove YUV code on OSX. maybe someone will write a
+ version that doesn't crash?
+
+2004-05-09 07:03 cclepper
+
+ * changed the shifts for YUV output. now 100% less green.
+
+2004-05-08 04:19 cclepper
+
+ * fixed the 'it's oh so green' YUV problem on OSX
+
+2004-05-07 17:51 zmoelnig
+
+ * made defines for shifts on mac/non-mac (although they don't do
+ much now)
+
+2004-05-07 17:48 zmoelnig
+
+ * added U8 as another type
+
+2004-05-07 17:41 zmoelnig
+
+ * using ch*-constants rather than hardcoded positions of
+ channel-data
+ (e.g: chRed instead of 0)
+
+2004-05-07 17:39 zmoelnig
+
+ * shut up macOS-gcc compiler warnings
+
+2004-05-07 15:42 zmoelnig
+
+ * type fixing to shut down the compiler
+
+2004-05-07 13:52 zmoelnig
+
+ * made Grey work
+
+2004-05-07 12:02 zmoelnig
+
+ * made YUV and Grey work
+
+2004-05-07 08:42 zmoelnig
+
+ * use setCsizeByFormat
+ use reallocate() instead of clear() and allocate() and
+ complicated checks
+
+2004-05-07 08:40 zmoelnig
+
+ * fixed stupid typo
+
+2004-05-07 08:40 zmoelnig
+
+ * replaced hardcoded shift-amount by SHIFT_Y.
+ use setCsizeByFormat
+ use reallocate() instead of clear() and allocate()
+
+2004-05-07 08:30 zmoelnig
+
+ * use setCsizeByFormat
+ use reallocate() instead of clear() and allocate()
+ removed unused variable
+
+2004-05-07 08:29 zmoelnig
+
+ * use setCsizeByFormat
+ use reallocate() instead of clear() and allocate()
+
+2004-05-07 08:28 zmoelnig
+
+ * removed the commented out the processGray-function (and not only
+ it's body);
+ use setCsizeByFormat
+
+2004-05-07 08:14 zmoelnig
+
+ * don't initialize to small images (64x64) any more as this is only
+ for memory fragmentation
+
+2004-05-07 08:12 zmoelnig
+
+ * using setCsizeByFormat rather than setting csize/format/type
+ directly
+
+2004-05-07 08:11 zmoelnig
+
+ * made YUV work on PCs (and used better namings (like "U" instead
+ of "Red")
+
+2004-05-06 10:01 zmoelnig
+
+ * setting the csize/format/type of the image more intelligently
+
+2004-05-06 09:36 zmoelnig
+
+ * another step towards a working version.
+ now yuv/rgba/grey almost(!) behave the same
+
+2004-05-06 09:35 zmoelnig
+
+ * the RGBA2LUMA conversion was wrong
+
+2004-05-05 14:56 zmoelnig
+
+ * made YUV work correctly
+
+2004-05-05 14:56 zmoelnig
+
+ * use run-time checks for YUV-texturing
+
+2004-05-05 14:55 zmoelnig
+
+ * added run-time checks for GL_APPLE_ycbcr_422 (YUV-texturing)
+
+2004-05-05 14:54 zmoelnig
+
+ * use normal memory-allocation (no alignment tricks as these
+ produces weird output)
+ LATER make sure that memory is aligned correctly
+
+2004-05-04 20:20 zmoelnig
+
+ * quick hack to make Grey/YUV work
+
+2004-05-04 15:30 zmoelnig
+
+ * initialized orgPixBlock to NULL (should fix crashes when no
+ upstream image is present)
+
+2004-05-04 12:46 zmoelnig
+
+ * seems to work now with RGBA/YUV/Grayscale
+
+2004-05-04 08:15 zmoelnig
+
+ * added bugs concerning win32-movie-loading
+
+2004-05-03 16:27 zmoelnig
+
+ * used SHIFT_Y1,... (from GemPixPete.h) as my images were green ;-)
+
+2004-05-03 16:26 zmoelnig
+
+ * defined SHIFT_Y1,... for YUV-shifting
+
+2004-05-03 06:15 cclepper
+
+ * fixed up the YUV code - rolled a new black function and tests for
+ proper pixel values
+
+2004-05-03 06:14 tigital
+
+ * YUV works better: but it's about half the width resolution as it
+ should be...at least it's not green ;-)
+
+2004-05-03 02:08 tigital
+
+ * removed void to shut up gcc
+
+2004-05-03 01:42 tigital
+
+ * YUV processing functions correctly now
+
+2004-04-29 05:55 cclepper
+
+ * YUV smoothing now works
+
+2004-04-27 05:07 tigital
+
+ * YUV works better, except for "smooth" line filling
+
+2004-04-24 15:02 zmoelnig
+
+ * removed some more verbosity...
+
+2004-04-23 14:41 zmoelnig
+
+ * moved some fsaa-code from apple-only to openGL-dependent code
+ (read: changed ifdefs)
+
+2004-04-21 04:32 tigital
+
+ * YUV is almost fixed: at least we're dealing with true luma...but
+ there still seems to be a pixel skipping problem
+
+2004-04-21 03:52 cclepper
+
+ * changed GetLuminance() coefficients to correct vaules
+
+2004-04-20 17:55 zmoelnig
+
+ * fixed the default viewpoint-values to the correct ones "0 0 4"
+ instead of "0 0 -4"
+
+2004-04-10 00:13 tigital
+
+ * [OSX] added header for definition of UInt32 after the mass
+ movement of functions
+
+2004-04-09 09:38 zmoelnig
+
+ * added the [pix_texture2]-alias again.
+ why has it vanished ?
+
+2004-04-08 12:20 zmoelnig
+
+ * moved utility functions (namely: powerOfTwo()) into
+ Base/GemFuncUtil
+
+2004-04-08 11:57 zmoelnig
+
+ * moved utility functions (namely: powerOfTwo()) into
+ Base/GemFuncUtil
+
+2004-04-08 11:54 zmoelnig
+
+ * structured the location of functions a bit:
+ GemPixObj does not hold any utility functions
+ GemFuncUtil holds general untilities (like powerOfTwo())
+ GemPixUtil holds utility functions for image manipulation (only!)
+ GemPixPete (NEW) holds functions from pete's_plugins (specialzied
+ PixUtil-functions)
+
+2004-04-08 11:51 zmoelnig
+
+ * added some comments
+
+2004-04-08 11:51 zmoelnig
+
+ * moved utility functions (namely: powerOfTwo()) into
+ Base/GemFuncUtil
+
+2004-04-08 11:46 zmoelnig
+
+ * added setPixModified() where apropriate so that the
+ pull-mechanism works
+
+2004-04-08 11:43 zmoelnig
+
+ * removed the [pix_buf] entirely from the example-patches.
+ i must have been somewhere else when i added them
+
+2004-04-07 17:35 zmoelnig
+
+ * removed unused variables
+
+2004-04-07 17:33 zmoelnig
+
+ * fixed documentation
+
+2004-04-07 17:20 zmoelnig
+
+ * fixed the alpha-channel
+
+2004-04-07 17:20 zmoelnig
+
+ * added some more verbosity on errors (so we know, where the error
+ occured)
+
+2004-04-07 16:09 tigital
+
+ * quick n'dirty camera help patch...will flesh out tonight?
+
+2004-04-07 16:08 zmoelnig
+
+ * fixed the bug that kept cs-converters from working on apple
+
+2004-04-07 16:07 zmoelnig
+
+ * removed unused variable G
+
+2004-04-07 16:04 tigital
+
+ * added YUV support (kinda): it works, but isn't precisely correct
+ yet (especially in pix_objects that are color based; displacement
+ objects are less-obviously incorrect)
+
+2004-04-07 16:02 tigital
+
+ * added YUV support (kinda): it works, but isn't precisely correct
+ yet
+
+2004-04-07 14:47 zmoelnig
+
+ * added switchable support for FSAA under linux with nvidia-cards
+
+2004-04-07 14:03 zmoelnig
+
+ * removed the genList from the new()-function and put it into
+ render() (this was default on macOS already)
+
+2004-04-07 14:01 zmoelnig
+
+ * removed verbose output
+
+2004-04-07 14:00 zmoelnig
+
+ * added US-english alias-name ("gray")
+
+2004-04-07 13:59 zmoelnig
+
+ * added british alias-name
+
+2004-04-07 11:19 zmoelnig
+
+ * an example for texture-feedbacking
+
+2004-04-07 11:09 zmoelnig
+
+ * added 2nd argument for number of slices
+ fixed the draw-type
+
+2004-04-07 11:08 zmoelnig
+
+ * added second argument (number of slices)
+ the re-creation of the sphere is now triggered by a change in
+ state->texture too
+
+2004-04-07 10:28 zmoelnig
+
+ * the processGray tried to convert the image from RGB to RGBA
+ in-place.
+ i have no idea, how this code made it into the [pix_alpha]
+
+2004-04-07 09:12 zmoelnig
+
+ * removed the non-mac specific part in the fullscreen-message
+ (no one really cares if the fullscreen-flag is bool or int)
+
+2004-04-07 09:03 zmoelnig
+
+ * all the CPPExtern-objects now no their own class-name, which is
+ stored in m_objectname
+ error-messages report this name
+
+2004-04-06 02:43 tigital
+
+ * [OSX] cleaned up warnings and consolidated a previously used
+ function
+
+2004-04-05 03:06 cclepper
+
+ * removed commenting out of m_colorspace
+
+2004-04-04 17:45 cclepper
+
+ * client_storage is now off by default to avoid texture corruption
+ problems when using pix_film in 'auto 1' mode on OSX. setting
+ individual frames still works fine with client_storage however.
+
+2004-04-04 17:43 cclepper
+
+ * added OSX specific handling of the 'fullscreen' message to
+ accommodate multiple displays
+
+2004-04-03 18:34 zmoelnig
+
+ * fixed the help-patches (mainly removed the "auto 1" message from
+ [pix_buf] as it was absolutely non-sense
+
+2004-04-03 00:06 cclepper
+
+ * removed most of the debug messages.
+
+2004-04-02 23:29 cclepper
+
+ * now has functioning code on OSX
+
+2004-04-02 09:11 zmoelnig
+
+ * removed some verbosity
+
+2004-04-02 09:05 zmoelnig
+
+ * moved implementation code from header-file to cpp-file
+
+2004-04-02 09:04 zmoelnig
+
+ * fixed some includes (?)
+
+2004-04-02 06:43 zmoelnig
+
+ * included the Base/config.h so we get the HAVE_DIRECTSHOW define
+ when appropriate
+ set the help-symbol of the directshow-version of pix_video to
+ [pix_videoDS] (since the api is so different)
+
+2004-04-01 22:00 tigital
+
+ * [OSX] now the mouse can be hidden/shown via the cursor 0/1
+ message
+
+2004-04-01 18:52 tigital
+
+ * [OSX] finally figure out how to get mouse coords to be the same
+ whether or not there is a title bar, and no matter where the
+ window is on the desktop...also solves the "go to {0,0} when
+ mouse leaves window" problem!
+
+2004-03-31 05:33 tigital
+
+ * shut up a warning: can't have /* inside a comment
+
+2004-03-31 05:25 tigital
+
+ * [OSX] shut up some warnings
+
+2004-03-29 18:57 zmoelnig
+
+ * i guess we should release rather sooner than later
+
+2004-03-29 18:48 zmoelnig
+
+ * finally removed the YUV-stuff (should have been done for ages)
+
+2004-03-29 18:45 zmoelnig
+
+ * fixed line-breaks
+
+2004-03-29 18:32 zmoelnig
+
+ * re-added as binary (pd-files shouldn't be text)
+
+2004-03-29 18:32 zmoelnig
+
+ * readded as binary
+
+2004-03-29 18:32 zmoelnig
+
+ * added as binary
+
+2004-03-29 18:32 zmoelnig
+
+ * removed "text"-pd files (should be binary)
+
+2004-03-29 18:11 zmoelnig
+
+ * new help-patch
+
+2004-03-29 16:10 zmoelnig
+
+ * updated documentation
+
+2004-03-29 16:09 zmoelnig
+
+ * compiled under windoze and thus updated my project-file
+
+2004-03-29 16:08 zmoelnig
+
+ * version is now ReleaseCandidate-1
+
+2004-03-29 16:05 zmoelnig
+
+ * removed unneeded variables to silence macOS-gcc
+
+2004-03-29 16:03 zmoelnig
+
+ * removed unneeded variables to shut down macOS-gcc
+
+2004-03-29 16:02 zmoelnig
+
+ * accidentially the button-state was reported to be "1" when
+ released (like on press); fixed
+
+2004-03-29 16:01 zmoelnig
+
+ * type change to get rid of compiler-warning under macOS
+
+2004-03-29 16:00 zmoelnig
+
+ * compiled it and therefore updated my project files
+
+2004-03-29 06:43 zmoelnig
+
+ * added includes for NT
+
+2004-03-29 06:12 cclepper
+
+ * changed the render function to only calculate the geometry when
+ the geometry changes. results in at least a 3X speedup.
+
+2004-03-26 06:40 cclepper
+
+ * initialized the Y,U,V variables to 0. no more random color fields
+ on loading a patch with pix_offset.
+
+2004-03-25 19:57 tigital
+
+ * [OSX]-only: standardized mouse location to "window relative":
+ however, remember that (0,0) is always the top left corner,
+ whether or not there is a title bar/border
+
+2004-03-25 17:22 zmoelnig
+
+ * added a magic-number to the GemCache to ensure that the cache is
+ valid
+
+2004-03-25 12:12 zmoelnig
+
+ * initialize GemCache on creation, so we can dynamically create
+ [gemhead]s and they will start rendering without having to
+ restart the engine
+
+2004-03-25 10:03 zmoelnig
+
+ * removed another post()
+
+2004-03-24 21:11 zmoelnig
+
+ * removed the "drawing all groups" messages
+
+2004-03-24 21:10 zmoelnig
+
+ * added a reset()-method to re-set an instance without having to
+ destroy and re-create it (see [gemhead])
+
+2004-03-24 21:08 zmoelnig
+
+ * each gemhead now has an instance of the GemCache that is only
+ reset when rendering is started (instead of being destroyed and
+ re-created)
+ hopefully this fixes some memory bug.
+
+2004-03-24 17:27 zmoelnig
+
+ * added, since needed for debugging
+
+2004-03-24 13:20 zmoelnig
+
+ * fixed initial materials (ambient, specular, diffuse, shininess,
+ emission)
+
+2004-03-24 11:47 zmoelnig
+
+ * added auto-(re)loading of fonts when rendering is started
+ fixed some cleanup-issues
+
+2004-03-24 11:41 zmoelnig
+
+ * removed "done" message
+
+2004-03-22 22:31 tigital
+
+ * [OSX]-only: [gemwin] now correctly responds to the following
+ messages: border & title; also fixed keyboard character input for
+ [gemkeyname]
+
+2004-03-21 19:58 zmoelnig
+
+ * readded help-patches
+
+2004-03-21 19:53 zmoelnig
+
+ * removed to check in as "binary" again
+
+2004-03-21 19:52 zmoelnig
+
+ * updated help-patches
+
+2004-03-21 13:39 zmoelnig
+
+ * fixed rectangle textureing
+
+2004-03-20 20:42 zmoelnig
+
+ * fixed bugs
+
+2004-03-20 20:36 zmoelnig
+
+ * rolled the GLU code directly into the objects to enable rectangle
+ textures
+
+2004-03-20 16:42 zmoelnig
+
+ * cleaned GLUT-removal code a bit
+
+2004-03-20 16:06 zmoelnig
+
+ * removed dependencies on GLUT
+ [teapot] is now "built-in"
+
+2004-03-19 19:52 zmoelnig
+
+ * updated help-patches
+ removed all traces of [pix_texture2]
+
+2004-03-19 19:12 zmoelnig
+
+ * updated help-patches
+
+2004-03-19 19:09 zmoelnig
+
+ * added grayscale support
+
+2004-03-19 17:00 zmoelnig
+
+ * removed the "maximum number of control points" restriction (so
+ now, we can have 1000s of control points in polygon/curve)
+
+2004-03-19 15:01 zmoelnig
+
+ * new help-patches (e.g: working examples)
+
+2004-03-19 15:00 zmoelnig
+
+ * added a method "width" for the linewidth (compatibility with
+ other geos)
+
+2004-03-19 14:58 zmoelnig
+
+ * changed the helpsymbol
+
+2004-03-19 14:54 zmoelnig
+
+ * got the mapping from mac-buttons to gem-buttons right (hopefully)
+
+2004-03-19 11:47 zmoelnig
+
+ * randF is only an alias for randomF; there shouldn't be a separate
+ help-file
+
+2004-03-18 16:51 zmoelnig
+
+ * the mac-spefific button-offset has been moved to GemWinCreateMac
+
+2004-03-17 20:04 zmoelnig
+
+ * force auto-registering when appropriate
+
+2004-03-17 20:02 zmoelnig
+
+ * set the "newfilm"-flag when a new film is loaded
+
+2004-03-17 19:58 zmoelnig
+
+ * tried to fix rectangle textures
+
+2004-03-16 19:41 zmoelnig
+
+ * tried to fix rectangle textures
+
+2004-03-16 01:16 tigital
+
+ * OSX only: forgot to "return noErr" in event loop!
+
+2004-03-15 13:35 zmoelnig
+
+ * small bug-fix: a unity gain of "1" was translated to 255>>8
+ (which is less than 1 and led to fading feed-backs)
+
+2004-03-13 09:10 cclepper
+
+ * fixed #ifdefs
+
+2004-03-10 17:32 zmoelnig
+
+ * changed the configure-process
+ GemLibs can now be specified with "--gemlibs"
+ additional search-paths for ALL libraries can be specified with
+ "--libdir"
+
+2004-03-10 17:07 zmoelnig
+
+ * ifdef'd the altivec code with __VEC__
+
+2004-03-10 17:06 zmoelnig
+
+ * added the HELPSYMBOL-BASE "Gem/", so the help-patches will work,
+ even though this object inherits from CPPExtern and not from
+ GemBase
+
+2004-03-10 16:55 zmoelnig
+
+ * pix_depot and friends are now in pix_buffer et al.
+
+2004-03-10 16:04 zmoelnig
+
+ * added a new justification "BASE" that does no justification at
+ all; usefull, if you want a constant base-line.
+
+2004-03-07 18:49 cclepper
+
+ * new fullscreen code for 10.3 which is good. the window deletion
+ routine does crash every 10-20 iterations though, which is bad.
+
+2004-03-01 01:29 cclepper
+
+ * added some more cache hints - 45% percent faster
+
+2004-03-01 01:02 cclepper
+
+ * I think this fixes the majority of playback problems on OSX.
+ Movie loading is faster, playback is smoother using 'rate $1'.
+
+2004-03-01 00:58 cclepper
+
+ * just a cleaning
+
+2004-03-01 00:55 cclepper
+
+ * slightly tweaked Altivec (load hoisting)
+
+2004-03-01 00:52 cclepper
+
+ * added some Altivec for YUV
+
+2004-03-01 00:50 cclepper
+
+ * slightly better altivec.
+
+2004-02-29 05:24 cclepper
+
+ * an improved window bounds fix. still need to find a workaround
+ for the fullscreen on 10.3 though
+
+2004-02-25 06:25 cclepper
+
+ * split processing into RGBA and YUV portions. added Altivec for
+ YUV.
+
+2004-02-16 19:07 zmoelnig
+
+ * added path-searching for fonts.
+ so you can add your systems favorite font-path and get a lot of
+ other TrueType-faces
+
+2004-02-16 04:06 cclepper
+
+ * changed float to int processing in the YUV code - now 10X faster.
+
+2004-02-15 18:32 cclepper
+
+ * this should fix the window bounds problem.
+
+2004-02-13 14:09 zmoelnig
+
+ * hopefully got the reference-types allright ("relative" instead of
+ "absolute")
+
+2004-02-13 14:06 zmoelnig
+
+ * updated my project
+
+2004-02-12 17:31 zmoelnig
+
+ * fixed a bug with filename-searching
+
+2004-02-12 17:28 zmoelnig
+
+ * added better support for firewire under linux (thanks to franz
+ hildgen)
+
+2004-02-12 17:25 zmoelnig
+
+ * fixed a type that prevented this from being compiled
+
+2004-02-10 12:36 zmoelnig
+
+ * now the gemwindow can be created even if we only have DirectColor
+ (instead of TrueColor); however i haven't bothered yet with
+ setting up the Palettes.
+
+2004-02-10 12:27 zmoelnig
+
+ * added a newline at end of file
+
+2004-02-10 12:24 zmoelnig
+
+ * more friendly output of the "create window" message
+
+2004-02-10 10:47 zmoelnig
+
+ * - added ErrorHandling, so Gem doesn't crash if the
+ display-/window-context has vanished before we try to destroy the
+ gemwindow
+ - removed checking for ModLines on remote displays; this used to
+ crash; unfortunately this disables fullscreen on remote displays
+
+2004-02-10 10:23 zmoelnig
+
+ * added and disabled Guenter at the splash-screen (again)
+
+2004-02-06 12:10 zmoelnig
+
+ * BUGFIX: used to crash when no model was loaded and trying to
+ apply a texture.
+ (at least if NDEBUG was not defined)
+
+2004-02-06 12:08 zmoelnig
+
+ * as ben has pointed out, there seems to be a bug when rendering to
+ non-square windows: everything get's distorted (say: on 640x480 a
+ square would be a rectangle with a 4/3-aspect);
+ since i think this might break a lot of things (?), i have left
+ the old default behaviour but you can turn off compatibility with
+ "compat 0"
+
+2004-02-05 18:17 zmoelnig
+
+ * updated my vc-project
+ it now compiles with FTGL
+
+2004-02-05 18:16 zmoelnig
+
+ * moved the defines for the platforms (e.g: whether macos uses
+ FTGL) into the appropriate config*.h files
+
+2004-02-02 11:19 zmoelnig
+
+ * all docu is done; but we need to compile it under windows with
+ FTGL support (i failed...)
+
+2004-02-02 11:18 zmoelnig
+
+ * updated my project
+
+2004-02-02 11:15 zmoelnig
+
+ * put QT-loader *after* the AVI-loader, because QT sometimes
+ crashes when having loaded AVI's and tries to load QT's
+ afterwards.
+ so AVI is now handled by the built in (for win) routines, and
+ QuickTime is only used if it fails
+
+2004-02-02 11:13 zmoelnig
+
+ * post "video4linux" and remove post of "fish" ;-)
+
+2004-02-02 11:12 zmoelnig
+
+ * added some support for devices not handled by devfs;
+ added upside-down flag
+ decode RGBA by hand (since otherwise we would decode
+ YUV->RGB->RGBA, all in software...)
+
+2004-02-02 11:11 zmoelnig
+
+ * ifdef'ed the inclusion of m_pd.h to make sure it is not included
+ double (breaks with old version of pd)
+
+2004-02-02 11:08 zmoelnig
+
+ * exported the CVector class, since vc complaint about this
+ (probably this will break future things...)
+
+2004-02-02 11:06 zmoelnig
+
+ * hopefully fixed fromUYVY since it did mix up U and V when
+ decoding dv-streams
+
+2004-02-02 11:04 zmoelnig
+
+ * fixed types to keep compiler silent
+
+2004-02-02 11:03 zmoelnig
+
+ * ifdef'ed everything to be __APPLE__ only
+
+2004-01-31 06:55 cclepper
+
+ * new pix_movie for OSX. uses an optimized path for movie playing
+ and texturing.
+
+2004-01-29 01:59 tigital
+
+ * initialized variables to shutup compiler warnings
+
+2004-01-28 16:06 tigital
+
+ * OSX only: added carbon event processing to
+ dispatchGemWindowMessages() (Finally!)
+
+2004-01-28 16:03 tigital
+
+ * added mouse wheel support, though there is no outlet (yet)
+
+2004-01-28 15:59 tigital
+
+ * added mouse wheel support
+ OSX only: added support for correct mouse buttons
+
+2004-01-28 15:54 tigital
+
+ * OSX only: added event handler support for window, mouse and
+ keyboard events (ie. [gemmouse] and [gemkeyboard]), plus the
+ window now behaves in a standard gui manner
+
+2004-01-28 04:46 cclepper
+
+ * fixed a little problem with newImage being multiply defined
+
+2004-01-27 17:13 zmoelnig
+
+ * re-removed them (somehow they reappeared in the CVS; guess it has
+ to do with sourceforge's server-sync)
+
+2004-01-21 16:50 zmoelnig
+
+ * added support for rectangle textures even with sphereMaps
+ ("texture 1")
+
+2004-01-20 08:14 cclepper
+
+ * added support for rectangle textures to glm
+
+2004-01-09 10:32 zmoelnig
+
+ * updated my vc-project
+
+2004-01-09 10:31 zmoelnig
+
+ * updated fixed bugs
+
+2004-01-09 05:09 tigital
+
+ * values should be "TimeValue", not int's (shuts up compiler
+ warnings)
+
+2004-01-09 04:27 tigital
+
+ * added (int *) casts to fscanf() calls to shutup compiler (someone
+ had to do it!)
+
+2004-01-08 19:16 zmoelnig
+
+ * hmm: probably new linebreaks
+
+2004-01-08 19:07 zmoelnig
+
+ * YUV-support fixed (the image looks "different" (squashed) than
+ RGBA, but at least it is functional and not crashing any more),
+ Grayscale works great
+
+2004-01-08 19:03 zmoelnig
+
+ * i think, all objects are documented (somehow: some help-patches
+ are rather crude)
+
+2004-01-08 19:02 zmoelnig
+
+ * several BUG-fixes (esp: put the pivot-point of rubber/ripple into
+ the center; made the sizeMess-work; use normalized coordinates
+ for rubber (now independent of the window-dimensions)
+
+2004-01-08 18:59 zmoelnig
+
+ * updated documentation
+
+2004-01-05 19:14 zmoelnig
+
+ * updated docs
+
+2004-01-05 19:08 zmoelnig
+
+ * use a movie rather than an image for demonstrating this
+
+2004-01-05 18:37 zmoelnig
+
+ * added newImage-variable since it was needed
+
+2004-01-05 18:35 zmoelnig
+
+ * removed a debug message
+
+2004-01-05 18:34 zmoelnig
+
+ * added an include for windows
+
+2004-01-05 18:20 zmoelnig
+
+ * re-added inlets for height, size and mode
+ transformed and scaled the newWave so that it behaves exactly
+ like a square of the same dimension when there is no motion.
+
+ ASK: why is this "blend" function in there ?
+
+2004-01-05 11:08 zmoelnig
+
+ * better checks for pd-version
+
+2004-01-05 10:18 zmoelnig
+
+ * glu-objects (like sphere) have a bit of a problem with
+ non-power-of-2 textures
+
+2004-01-05 09:58 zmoelnig
+
+ * updated documentation
+
+2004-01-05 09:42 zmoelnig
+
+ * my project-builder project has been updated
+
+2004-01-05 09:41 zmoelnig
+
+ * updated doc
+
+2004-01-05 09:28 zmoelnig
+
+ * fixed typos
+
+2004-01-05 09:23 zmoelnig
+
+ * use integer calcs rather than floating point
+
+2004-01-04 18:56 zmoelnig
+
+ * bugfix (videoV4L crashed when you tried to open a non-existant
+ device)
+
+2004-01-04 18:53 zmoelnig
+
+ * added checks for the pd-version (because of reference
+ install-paths)
+
+2004-01-04 18:51 zmoelnig
+
+ * updated documentation
+
+2003-12-31 02:55 cclepper
+
+ * added support for groups
+
+2003-12-31 02:49 cclepper
+
+ * yet another rewrite of the QT tasking code. this should hopefully
+ give the 'best of both worlds'.
+
+2003-12-17 06:21 cclepper
+
+ * added the real frame counting method and made improvements to
+ using the counter method of playback - no double processed frames
+
+2003-12-17 06:13 tigital
+
+ * rearranged variables to shut up gcc 3.3 about initialization
+
+2003-12-17 06:13 tigital
+
+ * removed unused vector to shut up gcc 3.3
+
+2003-12-17 06:11 tigital
+
+ * added Cyrille's changes: now it's more controllable (and useful):
+ see examples/07.texture/05.newWave.pd
+
+2003-12-17 06:05 tigital
+
+ * added Cyrille's changes: now it's more controllable (and useful):
+ see examples/07.texture/05.newWave.pd
+
+2003-12-12 18:21 zmoelnig
+
+ * dos2unix -- linebreaks
+
+2003-12-10 02:18 cclepper
+
+ * rewrite to make playback using 'auto' more efficient. 'rate'
+ message sets the playback speed when using 'auto' mode. the movie
+ rate is properly set for correct qt playback. new doDebug for
+ handling internal state info display to the console.
+
+2003-12-08 06:02 cclepper
+
+ * added hiquality message to deal with DV streams (yeah i know it's
+ ass backwards to disable hiquality to make DV streams look good)
+
+2003-12-07 02:47 cclepper
+
+ * changed internal texture format back to RGBA so now alpha works
+ in textures
+
+2003-12-06 05:04 cclepper
+
+ * default is now set to YUV colorspace
+
+2003-12-04 17:57 zmoelnig
+
+ * new help-patch from cyrille
+
+2003-12-04 17:53 zmoelnig
+
+ * reviewed help-patches
+
+2003-12-04 13:18 zmoelnig
+
+ * bugfix: one additional inlet was created for [primTri], [curve]
+ and [polygon] by GemShape.
+ i have added a new creator for GemShape (without arguments) that
+ will not create the "size"-inlet - this is for objects that want
+ only the "draw" and "width" message
+
+2003-12-04 12:19 zmoelnig
+
+ * the bugfix for Grey-support needs a header-file too...
+
+2003-12-03 13:21 zmoelnig
+
+ * BUGFIX: grayscale was missing
+
+2003-12-03 07:18 cclepper
+
+ * made client_storage a user defined option. this is a temporary
+ workaround to some texture corruption issues.
+
+2003-12-02 15:26 zmoelnig
+
+ * my new windows-project
+
+2003-12-02 15:26 zmoelnig
+
+ * filed YUV-bug of pix_kaleidoscope
+
+2003-12-02 15:22 zmoelnig
+
+ * added dummy messages for "enumerate" and "dialog" (used by
+ pix_videoDS, in the future probably by others...)
+
+2003-12-02 15:21 zmoelnig
+
+ * "dialog" with no args is now the same as "setup" ("setup" message
+ should be deprecated)
+
+2003-12-02 15:20 zmoelnig
+
+ * added dummy messages for "enumerate" and "dialog" (used by
+ pix_videoDS)
+
+2003-12-02 15:19 zmoelnig
+
+ * upside down
+
+2003-12-02 15:18 zmoelnig
+
+ * support for colour-space switching
+
+2003-12-02 15:18 zmoelnig
+
+ * use __NEW_FILM rather than __NEW__
+
+2003-12-02 15:17 zmoelnig
+
+ * colourspace-switching with GL_* rather than 0 (YUV) and 1 (RGBA)
+
+2003-12-02 15:16 zmoelnig
+
+ * a bit of support for colourspace-switching
+
+2003-12-02 15:15 zmoelnig
+
+ * made it a bit more stable on windos
+
+2003-12-02 15:14 zmoelnig
+
+ * added some braces to make execution order clearer
+
+2003-12-02 14:57 zmoelnig
+
+ * split __NEW__ in __VIDEO_NEW and __FILM_NEW
+
+2003-12-02 06:36 cclepper
+
+ * changed in to GLint to match prototype of csMess
+
+2003-12-02 05:38 cclepper
+
+ * fixed error in code - it now compiles
+
+2003-12-01 14:48 zmoelnig
+
+ * once in a while i compile under NT...
+
+2003-12-01 14:47 zmoelnig
+
+ * configLinux.h should be generated for all machines by the
+ configure-script.
+ don't know, how this came into the CVS
+
+2003-12-01 14:27 zmoelnig
+
+ * another bug fixed for NT
+
+2003-12-01 14:19 zmoelnig
+
+ * rebuilt configure to add the "-l" flags
+
+2003-12-01 14:05 zmoelnig
+
+ * rebuilt it with another version of "aclocal"
+
+2003-12-01 13:55 zmoelnig
+
+ * another bugfix (pix_videoDS) reported
+
+2003-12-01 13:52 zmoelnig
+
+ * updated bugfixes ("create" on remote X-servers works for most but
+ my machine)
+
+2003-12-01 13:48 zmoelnig
+
+ * bugfix: configure wouldn't add "-l" flags for "standard"
+ libraries found with AC_FIND_LIB
+
+2003-12-01 10:09 zmoelnig
+
+ * removed swapMess() and dimenMess() - should be handled by the
+ parent-class
+
+ removed explicit-call to the parent's setupCallback; should be
+ handled via CPPExtern.
+
+ turned on capturing for device 0 by default.
+
+ Callback() now returns NOERROR instead of S_FALSE: i don't know
+ why we would want to stop grabbing::i only got 1 frame and it
+ stopped; now i can grab moving images !
+ messages:
+
+ the pixBlock-array is now called m_pixBlockBuf[];
+ m_pixBlock is another pixBlock that gets the data on "render()"
+ via fromBGR().
+ LATER: add other functions to let users select the color-space
+ via the setup-dialog
+
+ added a "colorspace" message, that sets the output-colorspace
+ (not the capturing one!)
+
+ made the "device" message an alias for "open" (because of
+ compatibility to pix_videoNEW)
+ made the "dialog"-message (without arguments) an alias for
+ "setup", because this gives us one (1) interface to
+ popup-dialogs.
+
+ LATER: make "dimen", "norm", "channel" work
+
+2003-12-01 09:59 zmoelnig
+
+ * changed the m_colorspace, to not only be 0 (for YUV) and 1(for
+ RGBA) but rather GL_YCBCR422_GEM and GL_RGBA
+
+2003-12-01 09:56 zmoelnig
+
+ * if we HAVE_DIRECTSHOW, we disable the AUTO_REGISTER stuff, if(!)
+ DO_AUTO_REGISTER_CLASS is not defined.
+ pix_videoDS will define the DO_AUTO..., to register itself
+
+ this is *very* ugly
+ LATER rethink this
+
+2003-12-01 09:52 zmoelnig
+
+ * removed offsetMess() and swapMess(); should be handled by the
+ parent-class
+ use fromBGR() rather than doing it by hand. this enables other
+ color-spaces too!
+ added a colorspace-message
+
+2003-12-01 09:50 zmoelnig
+
+ * changed the configure a bit to make more intelligent searches in
+ the search-paths, for both libs and headers
+ we now search /usr/local/src and /usr/local/include instead of
+ whole /usr/local (at least for headers)
+
+2003-11-28 18:19 ggeiger
+
+ * fixed alpha depthtest default value
+
+2003-11-25 17:38 zmoelnig
+
+ * support for different colour-spaces
+
+2003-11-25 17:38 zmoelnig
+
+ * support for different colour-spaces (use "colorspace"-message)
+
+2003-11-25 16:54 zmoelnig
+
+ * using setCsizeByFormat() instead of doing this by hand
+ also there is now a m_reqFormat defining the colourspace (but
+ only GL_RGBA is supported....)
+
+2003-11-25 16:52 zmoelnig
+
+ * setCsizeByFormat now also sets the "type" (pixel alignment)
+ on __APPLE__ the default is yuv, everywhere else it is rgba
+
+2003-11-25 16:51 zmoelnig
+
+ * using setCsizeByFormat instead of doing it by hand
+
+2003-11-25 16:29 zmoelnig
+
+ * fixed a stupid bug, that was blacking the "last" buffer each
+ cycle.
+ added object-arguments as initial parameters
+ take care of colorspace-changes
+
+2003-11-25 15:16 zmoelnig
+
+ * disabled the auto_registering if __NEW__ is not defined
+ exclude "Base/config.h" since it is already included by film.h
+
+2003-11-25 15:14 zmoelnig
+
+ * set the helpsymbol to "pix_film" instead of "pix_filmNEW"
+ uncommented the use of canvas_getfilename since it makes problems
+ with internet-streams (as far as i remember)
+
+2003-11-25 15:09 zmoelnig
+
+ * moved the disabling of auto-register to pix_video.h
+
+2003-11-25 15:07 zmoelnig
+
+ * include "Base/config.h" for all OS (since the config.h will
+ separate the sysdependent things)
+
+2003-11-25 15:06 zmoelnig
+
+ * rewrote the "colorspace"-callback
+
+2003-11-25 15:05 zmoelnig
+
+ * disabled the auto_registering if __NEW__ is defined
+
+2003-11-25 15:04 zmoelnig
+
+ * set the help-symbol to "pix_movie" (instead of "pix_movieNEW")
+
+2003-11-25 15:03 zmoelnig
+
+ * moved the disabling of auto-register to pix_video.h
+
+2003-11-25 15:02 zmoelnig
+
+ * set the help-symbol to "pix_video" (instead of "pix_videoNEW")
+
+2003-11-25 15:01 zmoelnig
+
+ * disabled the auto_registering if __NEW__ is not defined
+
+2003-11-25 14:59 zmoelnig
+
+ * used setBlack() instead of memset(); use reallocate()
+
+2003-11-25 14:57 zmoelnig
+
+ * setting newfilm to 0 (shouldn't do anything since we are on linux
+ (?))
+
+2003-11-25 14:55 zmoelnig
+
+ * include "Base/config.h" for all OS (since the config.h will
+ separate the sysdependent things)
+ exclude "GemBase.h" and use "m_pd.h" instead (shouldn't be needed
+ either, if it wasn't for post())
+
+2003-11-25 14:54 zmoelnig
+
+ * get more information
+ the last outlet (data) is still the last outlet (but now there
+ are 6 instead of 4). this shouldn't break anything, since who can
+ do something with it ?
+
+2003-11-25 14:53 zmoelnig
+
+ * include "Base/config.h" for all OS (since the config.h will
+ separate the sysdependent things)
+
+2003-11-25 14:51 zmoelnig
+
+ * added "--disable-new" for "old" behaviour with pix_film/pix_video
+ and friends under linux
+ this the config.h.in for linux-autoconf has moved to
+ configLinux.h.in
+
+2003-11-25 14:48 zmoelnig
+
+ * made config.h system-independent.
+ this the config.h.in for linux-autoconf has moved to
+ configLinux.h.in
+
+2003-11-25 14:46 zmoelnig
+
+ * made config.h system-independent.
+ the system-bound configurations are stored in separate files
+ (like Base/configLinux.h) which are included by config.h
+ (depending on __linux__ and friends)
+
+2003-11-25 14:43 zmoelnig
+
+ * initialized newfilm/newimage to 0
+
+2003-11-25 14:41 zmoelnig
+
+ * added support for HELPSYMBOL_BASE (which is defined as "Gem/") --
+ used in CPPExtern.h
+
+2003-11-25 14:41 zmoelnig
+
+ * added HELPSYMBOL to set an alternate helpsymbol (it crashes, when
+ more than 1 help-symbols are specified and we already do it here)
+ added support for HELPSYMBOL_BASE (which is defined as "Gem/" in
+ GemBase.h)
+
+2003-11-23 19:27 zmoelnig
+
+ * set notowned=false when color-conversion is done (which is the
+ truth)
+
+2003-11-19 08:53 zmoelnig
+
+ * this is my macOS-projectmaker-project
+
+2003-11-18 19:53 zmoelnig
+
+ * help-patches for [curve3d] and [tube]
+
+2003-11-18 18:21 zmoelnig
+
+ * changed "post()" to "debug()" which is a define to either
+ "post()" or nothing, so we can do some debug-information on
+ demand
+
+2003-11-18 18:18 zmoelnig
+
+ * removed the auto-registering
+
+2003-11-18 18:12 zmoelnig
+
+ * added an alias for "colorspace"-message
+
+2003-11-18 17:47 cclepper
+
+ * new pbproj
+
+2003-11-18 15:39 zmoelnig
+
+ * made XWin be aware of resizes.
+ however, it doesn't really work yet :-(
+
+2003-11-18 15:36 zmoelnig
+
+ * added MIN and MAX functions
+
+2003-11-18 15:25 zmoelnig
+
+ * added curve3d and tube
+
+2003-11-18 15:21 zmoelnig
+
+ * updated documentation
+
+2003-11-18 15:20 zmoelnig
+
+ * removed unneeded variables
+
+2003-11-18 15:18 zmoelnig
+
+ * include "config.h" only on linux
+ note: this should be changed LATER to include "config.h" on all
+ platforms.
+ config.h should then include platform-specific config-files (that
+ can be generated with configure or whatever)
+
+2003-11-18 15:17 zmoelnig
+
+ * defined NO_AUTO_REGISTER_CLASS to not register this class with pd
+ on __linux__, __APPLE__ and NT
+
+2003-11-18 15:14 zmoelnig
+
+ * put the auto_register code in a separate define whichcan be
+ switched off by defining NO_AUTO_REGISTER_CLASS before including
+ the CPPExtern.h
+
+2003-11-17 18:53 zmoelnig
+
+ * swapped 2 variables in class-definition (apple's gcc likes it
+ better this way)
+ removed unused code
+
+2003-11-15 03:26 cclepper
+
+ * added Altivec function for both RGB and YUV
+
+2003-11-14 14:43 zmoelnig
+
+ * added curve3d and tube
+
+2003-11-14 10:26 zmoelnig
+
+ * added scaling for the mouse-coordinates.
+ this allows output that is independant of the window-size
+
+2003-11-14 07:21 cclepper
+
+ * removed the extraneous RGB_Altivec prototype
+
+2003-11-14 07:19 cclepper
+
+ * a dst tweak and bug fix
+
+2003-11-13 04:26 cclepper
+
+ * slight change to RGB vector code
+
+2003-11-13 03:39 cclepper
+
+ * added Altivec
+
+2003-11-12 18:11 zmoelnig
+
+ * removed the check, whether the first atom of the text-list is a
+ symbol. now we can print numbers too.
+
+2003-11-12 17:57 zmoelnig
+
+ * changed processRGB_Altivec to processRGBA_Altivec
+
+2003-11-12 17:55 zmoelnig
+
+ * fixed linefeed
+
+2003-11-11 07:31 cclepper
+
+ * added RGB Altivec
+
+2003-11-11 07:04 cclepper
+
+ * added RGB Altivec
+
+2003-11-10 06:40 cclepper
+
+ * changed from float to int processing
+
+2003-11-10 06:18 cclepper
+
+ * changed from float to int processing of grey value
+
+2003-11-10 06:17 cclepper
+
+ * added RGB Altivec
+
+2003-11-10 06:09 cclepper
+
+ * added RGB Altivec
+
+2003-11-10 03:24 cclepper
+
+ * changed Altivec defines
+
+2003-11-10 02:14 cclepper
+
+ * changed Altivec defines
+
+2003-11-03 12:15 zmoelnig
+
+ * changed (bool) to (int), since vc6 doesn't like assigning a
+ boolean-value to an integer.
+
+2003-11-03 12:14 zmoelnig
+
+ * added no-warn-flags for vc6
+
+2003-11-03 12:13 zmoelnig
+
+ * made it compile with ffmpeg-0.4.8 (however i wasn't yet able to
+ load a movie...)
+
+2003-11-03 12:12 zmoelnig
+
+ * made it work under windows; however it likes crashing sometimes
+ and i haven't found out yet why...
+
+2003-10-24 18:38 zmoelnig
+
+ * fixed some BUGS...
+
+2003-10-24 18:32 zmoelnig
+
+ * added "--with-aviplay" as an alias for "--with-avi"
+
+2003-10-24 18:31 zmoelnig
+
+ * added some comment to the render() for neither FTGL/GLTT support
+ (while trying to find out
+
+2003-10-23 08:10 zmoelnig
+
+ * fixed another possible bug (check for NULL-images)
+
+2003-10-22 11:01 zmoelnig
+
+ * added the self-registering code, so that MarkEx will stay
+ available
+
+2003-10-22 09:06 zmoelnig
+
+ * further changes, but far from working yet
+
+2003-10-22 08:35 zmoelnig
+
+ * fixed bugs in pix_buffer_read/pix_buffer_write when no or unknown
+ pix_buffers were specifified
+
+2003-10-22 08:34 zmoelnig
+
+ * added "fsaa" to the WindowHints-class
+
+2003-10-22 05:34 cclepper
+
+ * added FSAA
+
+2003-10-21 18:15 ggeiger
+
+ * remove setup() function this is done through a static class
+ structure now, that is created for each object
+ Gem objects are added automatically to pd as soon as they are
+ compiled in
+
+2003-10-21 18:14 ggeiger
+
+ * re-used continueRender() function
+
+2003-10-21 18:13 ggeiger
+
+ * removed my name from startup
+
+2003-10-21 14:44 ggeiger
+
+ * distribute particles according to their velocity if there is more
+ than one particle per frame
+
+2003-10-21 14:21 ggeiger
+
+ * added numberbox to rotate light (cube seems to be very dark with
+ 180)
+
+2003-10-21 14:19 ggeiger
+
+ * added auto message description
+
+2003-10-21 14:17 ggeiger
+
+ * change is in pd already
+
+2003-10-21 13:50 ggeiger
+
+ * bang on gemhead triggers a render cycle (was broken)
+
+2003-10-15 19:07 zmoelnig
+
+ * set the upside-down flag to true. (hope this is alright)
+
+2003-10-15 19:05 zmoelnig
+
+ * temporarily added some variables (like m_auto)
+ these should be gone when i really have access to a machine where
+ quicktime4win is installed
+
+2003-10-15 19:04 zmoelnig
+
+ * fixed a bug when searching for the linker/compiler flags for
+ libavifile:
+ not "avifile-config" is used if available
+
+2003-10-15 19:03 zmoelnig
+
+ * new bugs (pix_buffer, libavifile, remote display)
+
+2003-10-10 12:52 zmoelnig
+
+ * added filmQT
+ changed "#define DEBUG" to "#define debug"
+
+2003-10-10 12:16 zmoelnig
+
+ * disabled pete's "static"-hack with NO_HACK (default on windows)
+
+2003-10-10 12:12 zmoelnig
+
+ * vc6 doesn't like statical arrays with variable sizes
+
+2003-10-10 11:15 zmoelnig
+
+ * updated my vc6-projects
+
+2003-10-10 11:14 zmoelnig
+
+ * disabled warnings on vc6
+
+2003-10-10 11:13 zmoelnig
+
+ * search for libavifile-headers rather than assuming they are in
+ /usr/include/avifile
+
+2003-10-10 11:11 zmoelnig
+
+ * first attempt of a port from [pix_filmQT] to the film*-class.
+ however i have quicktime4windows not installed, so i had no way
+ to compile this yet....
+
+2003-10-10 11:10 zmoelnig
+
+ * made filmAVI work.
+ a first step for pix_filmNEW to run on windows...
+
+2003-10-10 11:09 zmoelnig
+
+ * for libavifile we used to include <avifile/avifile.h>;
+ since the headers for libavifile-0.7 is located in
+ /usr/include/avifile-0.7/, we now search for the correct path in
+ the "configure" and include only "avifile.h"
+
+2003-10-10 11:07 zmoelnig
+
+ * <unistd.h> is only included if HAVE_LIBAVIPLAY is defined
+
+2003-10-10 11:04 zmoelnig
+
+ * removed "m_film", since it is not needed
+
+2003-10-10 11:03 zmoelnig
+
+ * my vc6-dos-compiler doesn't like <iostream> because it makes it
+ like against some "new" io-libs while it rather needs "old" ones
+ which are requested by <iostream.h>
+
+2003-10-10 11:02 zmoelnig
+
+ * commented out namespace std for windows (vc6 complained about
+ this)
+
+2003-10-10 11:00 zmoelnig
+
+ * now you see something after the first coordinate-change...
+
+2003-10-10 10:59 zmoelnig
+
+ * now using [pix_buf] instead of re-loading the image for each
+ blending-change
+
+2003-10-08 17:33 zmoelnig
+
+ * removed the [pix_rgba], since now [pix_film] should output only
+ RGBA/YUV/Grayscale
+
+2003-10-08 16:55 zmoelnig
+
+ * reported bugfix of filmQT4L
+
+2003-10-08 16:54 zmoelnig
+
+ * this is how [pix_movie] looks like if derived from [pix_filmNEW]
+ (and [pix_texture])
+
+2003-10-08 16:51 zmoelnig
+
+ * using "upsidedown" from imageStruct;
+ added YUV support
+
+2003-10-08 16:09 zmoelnig
+
+ * using "upsidedown" from imageStruct;
+
+2003-10-08 16:06 zmoelnig
+
+ * using "upsidedown" from imageStruct;
+ added this flag to setTexCoords() to indicate whether the
+ texture-coordinates should be flipped or not.
+ the __APPLE__ define for flipping is therefore obsoleted.
+
+2003-10-08 16:04 zmoelnig
+
+ * added "upsidedown" to imageStruct;
+ this is meant for texture-flipping of the image (most movies are
+ loaded the "wrong" way)
+ upsidedown defaults to true on __APPLE__; false elsewhere
+
+2003-10-08 15:01 zmoelnig
+
+ * made [pix_movieNEW] (for now; of course this should [pix_movie]
+ LATER a friend of [pix_texture]
+ this will let us use the sophisticated texturing mechanism of
+ [pix_texture] for [pix_movie]
+
+2003-10-07 16:10 zmoelnig
+
+ * moved the pix_film things up a bit, because i had a hard time
+ making [pix_film] an alias for [pix_filmNEW]
+
+2003-10-07 16:09 zmoelnig
+
+ * added "colorspace"-method
+
+2003-10-07 16:09 zmoelnig
+
+ * some bug fixing
+ added "colorspace"-method
+ "post" becomes "DEBUG" which can be turned off.
+ some reordering of decode-libs: libmpeg3 is better in decoding
+ mpegs then libavifile (less crashes)
+
+2003-10-07 15:47 zmoelnig
+
+ * open() now utilizes setCsizeByFormat()
+
+2003-10-07 15:46 zmoelnig
+
+ * made the openStream sleep a bit. still opening streamed-files
+ sometimes crashes
+ added support for more colour-formats
+
+2003-10-07 15:44 zmoelnig
+
+ * put quite everything (but constructor/destructor) between one
+ huge #ifdef.
+ the rest should be filled with defaults by the film-class.
+
+2003-10-07 15:43 zmoelnig
+
+ * added colour-change on the fly
+
+2003-10-07 15:40 zmoelnig
+
+ * open() now returns false (to make the skip to next api work)
+
+2003-10-07 15:39 zmoelnig
+
+ * requestColor() now sets "m_wantedFormat"
+
+2003-10-07 15:38 zmoelnig
+
+ * a bit of code-cleanup
+
+2003-10-07 12:01 zmoelnig
+
+ * rewrote a bit in the #ifdef clauses and put them all together.
+ it is really ugly
+ on linux pix_filmNEW is now the default
+
+2003-10-07 11:47 zmoelnig
+
+ * encapsuled everything but constructor/destructor within one big
+ "#ifdef HAVE_QT4L" (using inheritance)
+ made getFrame() return frames of all three colour-spaces.
+ fixed several bugs
+
+2003-10-07 08:58 zmoelnig
+
+ * encapsuled everything but constructor/destructor within one big
+ "#ifdef HAVE_QT4L" (using inheritance)
+ made getFrame() return frames of all three colour-spaces.
+ BAD: we only get RGB-images from the qt4l-library. this means:
+ video(YUV)->buffer(RGB)->gem_image(RGBA/YUV/Gray). but what
+ should i do ?
+
+2003-10-07 08:55 zmoelnig
+
+ * rewrote the getFrame() to:
+ a) get frames of different colour-spaces
+ b) decode YUV/Gray really fast (directly access the decoding
+ Y/U/V-planes)
+
+2003-10-07 08:51 zmoelnig
+
+ * added some thoughts about requested/forced colourspaces.
+ i think, that film* should at least return colour-spaces that
+ could be handled by Gem/openGL itself.
+ (it doesnt make sense for [pix_film] to handle IMG_FMT_RGB15)
+ so the cs-request should really be a force and not just a
+ suggestion
+
+2003-10-07 08:46 zmoelnig
+
+ * added fromRGB16() to retrieve data from 16bit encoded RGB.
+ added fromYV12(Y,U,V) which does not assume that the U and V
+ planes are directly after the Y plane. this is handy if we have
+ independent planes
+
+2003-10-03 14:28 zmoelnig
+
+ * GL_RGBA is not defined at openGL<1.2 (i think);
+ furthermore the include-check for CPPExtern.h is already made in
+ CPPExtern.h
+
+2003-10-03 13:59 zmoelnig
+
+ * put quite everything (but constructor/destructor) between one
+ huge #ifdef.
+ the rest should be filled with defaults by the film-class.
+
+2003-10-03 13:59 zmoelnig
+
+ * put quite everything (but constructor/destructor) between one
+ huge #ifdef.
+ the rest should be filled with defaults by the film-class.
+ on close() the filehandler is set to NULL (caused to crash on
+ multiple closes)
+
+2003-10-02 14:47 zmoelnig
+
+ * removed #include <OpenGL/gl.h> (it is included in GemBase anyhow)
+ ifdef'ed the #include <OpenGL/glu.h> to __APPLE__ (else <GL/gl.h>
+
+2003-09-30 18:16 zmoelnig
+
+ * filmQT4L procuces RGB if RGBA is not supported by the codec
+
+2003-09-30 18:11 zmoelnig
+
+ * removed the processRGBAImage-call (anyhow, it didn't do anything)
+
+2003-09-30 18:11 zmoelnig
+
+ * added YUV support
+ split processImage into processRGBAImage and processGrayImage
+
+2003-09-29 03:27 tigital
+
+ * corrected text
+
+2003-09-29 03:11 tigital
+
+ * added camera_setup()
+
+2003-09-29 03:10 tigital
+
+ * initial commit
+
+2003-09-24 04:51 tigital
+
+ * more work on yuv processing, but it still doesn't work
+
+2003-09-24 04:46 tigital
+
+ * removed some unused code, cleanup
+
+2003-09-24 04:44 tigital
+
+ * removed some unused code
+
+2003-09-24 04:42 tigital
+
+ * added __APPLE__ "macosx_math.h", some unused cleanup
+
+2003-09-24 04:39 tigital
+
+ * fixed "comparison between signed & unsigned int" warning on line
+ 117, in processRGBAImage()
+
+2003-09-24 04:33 tigital
+
+ * replaced __APPLE__ define with macosx_math.h
+
+2003-09-24 04:32 tigital
+
+ * added default: break; to PAAvoid::Execute() & PABounce::Execute,
+ because PDPoint, PDLine, PDBox, PDCylinder, PDCone, and PDBlob
+ aren't taken care of...also replaced __APPLE__ defines with
+ macosx_math.h
+
+2003-09-24 04:27 tigital
+
+ * added default: break; to _pCallActionList(), because PAHeaderID
+ isn't taken care of
+
+2003-09-23 03:21 tigital
+
+ * added glFinish() & several glPixelStorei()'s for __APPLE__ for
+ speed up?: is this applicable to all platforms?
+
+2003-09-23 03:16 tigital
+
+ * removed unused variables
+
+2003-09-23 02:50 tigital
+
+ * changed comment from "mousePressed" to "KeyBoardPressed"
+
+2003-09-23 02:47 tigital
+
+ * reordered initializers to shut up gcc warning
+
+2003-09-22 10:04 zmoelnig
+
+ * updated documentation
+
+2003-09-22 10:03 zmoelnig
+
+ * added Gray-support
+ YUV-support is still under construction (but now does something
+ (stupid) instead of nothing)
+
+2003-09-22 10:02 zmoelnig
+
+ * added an inlet for the size of the metaimage
+
+2003-09-22 10:01 zmoelnig
+
+ * added Gray-support
+ split the processImage into processRGBAImage and processGrayImage
+
+2003-09-22 09:59 zmoelnig
+
+ * added YUV-Support (like grayscale: the difference image is
+ written on the luma-channel; colour is discarded)
+
+2003-09-22 09:58 zmoelnig
+
+ * added Gray-support (RGBA & Gray are in processImage, while YUV
+ has a separate function)
+
+2003-09-22 09:57 zmoelnig
+
+ * added Gray-support
+
+2003-09-22 09:55 zmoelnig
+
+ * fixed setBlack() and setWhite() for YUV
+
+2003-09-17 13:24 zmoelnig
+
+ * added some documentation
+
+2003-09-17 13:09 zmoelnig
+
+ * more bugs to come
+
+2003-09-17 13:08 zmoelnig
+
+ * fixed install on linux
+
+2003-09-17 13:08 zmoelnig
+
+ * documented a lot ;-)
+
+2003-09-17 13:07 zmoelnig
+
+ * fixed the "toupper()" BUG: include <ctype.h>
+
+2003-09-17 13:07 zmoelnig
+
+ * result of merge
+
+2003-09-17 13:07 zmoelnig
+
+ * allow arguments and an intelligent gain handler
+
+2003-09-17 13:05 zmoelnig
+
+ * made the inlet do something intelligent: set the range
+ (normalized 0..1)
+
+2003-09-17 13:03 zmoelnig
+
+ * added methods for Grey
+
+2003-09-17 13:02 zmoelnig
+
+ * code cleanup to make merge easier
+
+2003-09-17 12:43 zmoelnig
+
+ * allow arguments and an intelligent gain handler
+
+2003-09-17 12:42 zmoelnig
+
+ * new indentation ?
+
+2003-09-17 12:40 zmoelnig
+
+ * i think i've found a bug in GREY
+
+2003-09-17 12:39 zmoelnig
+
+ * cleaned up the code a bit.
+ default behaviour is no ON (used to be OFF)
+ RGBAcomparision is now done on luminance instead of each channel
+ separately
+
+2003-09-17 12:38 zmoelnig
+
+ * cleaned up the code a bit.
+ default behaviour is no ON (used to be OFF)
+
+2003-09-17 12:35 zmoelnig
+
+ * changed ranges from 0..255 to 0.0..1.0
+ added some inlets
+
+2003-09-17 12:35 zmoelnig
+
+ * added checks for control-range
+ added some inlets
+
+2003-09-17 12:33 zmoelnig
+
+ * added comments about ranges of the internal variables.
+ also changed the range from 0..255 to 0.f..1.f
+
+2003-09-17 12:32 zmoelnig
+
+ * BUG: the first incoming frame is captured automatically --> FIXED
+ (nothing is done, if no frame is specified)
+
+2003-09-17 12:31 zmoelnig
+
+ * grabbed texture-size defaults to the gemwin-size
+
+2003-09-17 12:30 zmoelnig
+
+ * added methods for YUV
+
+2003-09-17 12:29 zmoelnig
+
+ * added a comment, saying what this object is for
+
+2003-09-17 12:28 zmoelnig
+
+ * fixed the bug with filledLines
+
+2003-09-17 12:26 zmoelnig
+
+ * removed overwrites of the virtual functions for
+ yuv/grey-colourspace.
+ Why do we have inheritance ?
+
+2003-09-17 12:25 zmoelnig
+
+ * added inlet for size of dots
+
+2003-09-17 12:22 zmoelnig
+
+ * added methods for grey
+
+2003-09-17 12:21 zmoelnig
+
+ * added methods for RGBA/grey
+
+2003-09-17 12:21 zmoelnig
+
+ * added methods for YUV/grey
+
+2003-09-17 12:19 zmoelnig
+
+ * added methods for YUV
+
+2003-09-17 12:17 zmoelnig
+
+ * made some inlets
+ made the heightMess do something
+
+2003-09-17 12:16 zmoelnig
+
+ * made some inlets
+ made the heightMess do something
+ arguments specify the grid-size
+
+2003-09-17 11:45 zmoelnig
+
+ * packed the code a little bit (to make it more readable to me)
+
+2003-09-17 11:45 zmoelnig
+
+ * new indentation
+
+2003-09-17 11:44 zmoelnig
+
+ * version is now 0.888-pre1
+
+2003-09-17 11:40 zmoelnig
+
+ * new help patches
+
+2003-09-17 11:30 zmoelnig
+
+ * result of merge
+
+2003-09-17 11:08 zmoelnig
+
+ * updated some reference patches
+
+2003-09-15 04:48 tigital
+
+ * - added texture_range_supported flag (default=0, ie. off) and
+ extension check
+
+2003-09-15 04:45 tigital
+
+ * - added texture_range_supported flag
+
+2003-09-15 04:40 tigital
+
+ * - added texture_range usage on OSX, where available: speed gain?
+ - fixed problem with power of 2 textures not taking fastest paths
+ (rectangle_textures), if available
+
+2003-09-15 00:40 cclepper
+
+ * change tv_ to pix_
+
+2003-09-14 23:24 cclepper
+
+ * changed #ifdef MACOSX to __APPLE__
+
+2003-09-14 23:19 cclepper
+
+ * added a better description
+
+2003-09-14 23:07 cclepper
+
+ * added a better description
+
+2003-09-14 23:05 cclepper
+
+ * removed processGrey
+
+2003-09-14 23:00 cclepper
+
+ * changed gain
+
+2003-09-14 22:57 cclepper
+
+ * changed the colorspace message to match pix_film, dimension
+ message now works
+
+2003-09-14 22:31 cclepper
+
+ * changed #ifdef MACOSX to __APPLE__
+
+2003-09-14 22:30 cclepper
+
+ * fixed commenting error
+
+2003-09-14 22:26 cclepper
+
+ * changed #ifdef MACOSX to __APPLE__
+
+2003-09-14 22:10 cclepper
+
+ * changed #ifdef MACOSX to __APPLE__
+
+2003-09-14 22:01 cclepper
+
+ * changed #ifdef MACOSX to __APPLE__
+
+2003-09-14 21:55 cclepper
+
+ * added ram message, made YUV default colorspace
+
+2003-09-14 21:45 cclepper
+
+ * added colorspace message
+
+2003-09-14 21:07 cclepper
+
+ * added #ifdef for PPC970/G5
+
+2003-09-14 20:47 cclepper
+
+ * changed #ifdef MACOSX to __APPLE__
+
+2003-09-14 20:32 cclepper
+
+ * changed #ifdef MACOSX to __APPLE__
+
+2003-09-14 20:28 cclepper
+
+ * added GL_LINE_SMOOTH
+
+2003-09-14 20:23 cclepper
+
+ * changed #ifdef MACOSX to __APPLE__
+
+2003-09-14 20:03 cclepper
+
+ * changed #ifdef MACOSX to __APPLE__
+
+2003-09-14 19:59 cclepper
+
+ * initial commit
+
+2003-09-14 19:41 cclepper
+
+ * initial commit
+
+2003-09-14 18:57 cclepper
+
+ * initial commit
+
+2003-09-14 17:53 cclepper
+
+ * initial commit
+
+2003-09-14 17:42 cclepper
+
+ * initial commit
+
+2003-09-14 17:21 cclepper
+
+ * initial commit
+
+2003-09-14 16:11 cclepper
+
+ * changed #ifdef MACOSX to __APPLE__
+
+2003-09-14 15:56 cclepper
+
+ * changed #ifdef MACOSX to __APPLE__
+
+2003-09-14 15:54 cclepper
+
+ * added a few more drawTypes
+
+2003-09-14 15:38 cclepper
+
+ * changed #ifdef MACOSX to __APPLE__ and commented out yuv_setup()
+
+2003-09-14 15:30 cclepper
+
+ * changed #ifdef MACOSX to __APPLE__
+
+2003-09-11 15:34 zmoelnig
+
+ * made a list of undocumented objects
+
+2003-09-11 15:05 zmoelnig
+
+ * removed debugging output
+
+2003-09-11 11:11 zmoelnig
+
+ * removed debugging output
+
+2003-09-11 10:54 zmoelnig
+
+ * added a comment
+
+2003-09-11 10:06 zmoelnig
+
+ * hopefully fixed a bit on installing the examples for linux
+
+2003-07-26 23:14 ggeiger
+
+ * disable depth test for alpha blended render chains.
+ I think this is the correct way how alpha should work, still
+ there is
+ a message *auto* to turn it off
+
+2003-07-22 19:16 zmoelnig
+
+ * added postrender() hack, to prevent the "source-object" to be
+ drawn
+
+2003-07-22 19:00 ggeiger
+
+ * fix compilation bugs, removed ifdefs for ffmeg version
+
+2003-07-22 18:37 zmoelnig
+
+ * fixed the crash
+ however, this is very slow.
+ we'll have to write a faster routine ourselves
+
+2003-07-22 18:27 zmoelnig
+
+ * if m_interlace was 0, this used to crash my machine with a
+ floating-point exception.
+ thus "if(interleave<=0)interleave=1;"
+
+2003-07-22 18:15 zmoelnig
+
+ * removed the create/destroy/blank routines for the buffer
+
+2003-07-22 18:14 zmoelnig
+
+ * added greyscale-support
+ addedsome checks before destroy[].
+ hope this will fix the bug
+
+2003-07-22 18:04 zmoelnig
+
+ * added checks before delete[] (just in case)
+
+2003-07-22 08:36 zmoelnig
+
+ * dos2unix (changed linefeed/carriage-returns)
+
+2003-07-22 08:35 zmoelnig
+
+ * removed empty functions for YUV/YUValtivec/Grey images
+ (why do we have classes ?)
+
+2003-07-22 08:34 zmoelnig
+
+ * removed functions for YUV/YUValtivec/Grey images
+ (why do we have classes ?)
+
+2003-07-22 08:31 zmoelnig
+
+ * removed functions for YUV/YUValtivec/Grey images
+ (why do we have classes ?)
+ added an include for <assert.h>, this might break compilation on
+ other platforms,
+ if so, please ifdef it to __linux__
+
+2003-07-22 08:26 zmoelnig
+
+ * added a newline at end of file ;-)
+
+2003-07-22 07:45 zmoelnig
+
+ * use the color-conversion from GemPixUtil;
+ pix_grey and pix_yuv are childs of pix_rgba (reduces code
+ dramatically!)
+
+2003-07-22 07:42 zmoelnig
+
+ * fixed several bugs in the color-conversion routines
+
+2003-07-21 07:51 dheck
+
+ * Added explicit reset of column index to 0 to fix invalid access
+ bug.
+
+2003-07-20 19:28 tigital
+
+ * small typo fix to allow compiling on OSX (space between FTFont* &
+ makeFont(...)
+
+2003-07-19 22:41 tigital
+
+ * small typo fix to allow compiling on OSX
+
+2003-07-19 20:40 tigital
+
+ * added blend message
+
+2003-07-19 17:30 zmoelnig
+
+ * general entry for pix-bugs
+
+2003-07-19 16:36 zmoelnig
+
+ * the particle-rate is now float instead of integer (let's you emit
+ 0.5 particles per rendering cycle)
+
+2003-07-19 16:30 zmoelnig
+
+ * model.cpp_ seems to have been committed to the CVS.
+ it was just a backup for work...
+
+2003-07-19 16:21 zmoelnig
+
+ * added FTGL-2.04 -- support
+
+2003-07-16 05:17 tigital
+
+ * added return to DestroyGemWindow() to prevent crashing on window
+ close in some circumstances
+
+2003-07-16 04:12 cclepper
+
+ * fixed up some altivec
+
+2003-07-16 03:49 tigital
+
+ * initial commit
+
+2003-07-16 03:27 tigital
+
+ * initial import of Pete's_Plugins ports (RGBA only so far):
+ pix_colorreduce, pix_halftone, pix_kaleidoscope, pix_levels,
+ pix_lumaoffset, pix_metaimage, pix_refraction, and pix_backlight
+
+2003-07-16 03:07 tigital
+
+ * alphabetized functions; also added new setup functions:
+ pix_colorreduce, pix_halftone, pix_kaleidoscope, pix_levels,
+ pix_lumaoffset, pix_metaimage, pix_refraction, and pix_backlight
+
+2003-07-16 03:03 tigital
+
+ * fixed cast problem (UInt8* instead of Str255)
+
+2003-07-16 02:57 tigital
+
+ * added PeteHelpers.h stuff (defines, inline functions)
+
+2003-07-16 02:55 tigital
+
+ * cleanup, changed to __APPLE__, solved casting problem
+
+2003-07-15 16:26 zmoelnig
+
+ * added support for grey and yuv images. (not tested)
+
+2003-07-15 11:50 zmoelnig
+
+ * added settable domains+arguments
+
+2003-07-15 11:48 zmoelnig
+
+ * [part_velcone] and [part_velsphere] are obsoleted by
+ [part_velocity]
+ added an "obsolete"-warning
+
+2003-07-15 11:47 zmoelnig
+
+ * [part_veldomain] has been replaced by [part_velocity]
+
+2003-07-15 11:46 zmoelnig
+
+ * updated reference-patches. [part_veldomain] is replaced by
+ [part_velocity]
+
+2003-07-15 08:01 zmoelnig
+
+ * a started (in April) primer for Gem, however, far from being
+ finished
+
+2003-07-15 07:58 zmoelnig
+
+ * a an example for how to use [pix_tIIR]
+
+2003-07-15 07:58 zmoelnig
+
+ * a an example for how to use [pix_buffer], [pix_buffer_read],
+ [pix_buffer_write]
+
+2003-07-15 07:55 zmoelnig
+
+ * just render a video onto a geo
+
+2003-07-15 07:53 zmoelnig
+
+ * help for the resp. object
+
+2003-07-15 07:39 cclepper
+
+ * now does color-space switching
+
+2003-07-15 07:39 zmoelnig
+
+ * added checks for FTGL
+
+2003-07-15 07:38 zmoelnig
+
+ * added [part_vertex], [part_velocity], [part_veldomain]
+
+2003-07-15 07:38 zmoelnig
+
+ * [part_vertex] adds one particle each rendering cycle at a certain
+ position
+ -- useful for moving particle sources
+ (but alas, only one particle at a time)
+
+2003-07-15 07:36 zmoelnig
+
+ * [part_veldomain] sets the velocity into a specified domain (like
+ sphere, triangle or whatever)
+
+2003-07-15 07:36 zmoelnig
+
+ * [part_velocity] sets the velocity into a specified direction
+
+2003-07-15 07:34 zmoelnig
+
+ * include <iostream> rather than <iostream.h>
+
+2003-07-15 07:32 zmoelnig
+
+ * you can now set the domain of the source
+ TODO: make the argument vector settable too (not much use
+ without)
+
+2003-07-15 07:30 zmoelnig
+
+ * added a new object for extruded text (FTGL only)
+
+2003-07-15 07:22 zmoelnig
+
+ * added FTGL support for text-rendering
+ under macOS i have made FTGL the default (not knowing whether it
+ will break)
+ under windos GLTT is still the default (although FTGL should work
+ too)
+ under linux the configure script decides what to take, but
+ prefers FTGL rather than GLTT
+
+2003-07-15 02:30 cclepper
+
+ * added Altivec YUV function
+
+2003-07-13 06:13 tigital
+
+ * stupid cleanup of commented-out stuff
+
+2003-07-13 06:11 tigital
+
+ * added OSX glcontext check to destructor to stop crashes when
+ patch is opened/manipulated, but no glcontext is created
+
+2003-07-13 06:09 tigital
+
+ * vector long has been deprecated: now it's vector int's
+
+2003-07-12 06:25 cclepper
+
+ * added some Altivec
+
+2003-07-12 06:22 cclepper
+
+ * more Altivec tweaks
+
+2003-07-11 15:20 zmoelnig
+
+ * still some cvs-merge errors, probably they are gone now...
+
+2003-07-11 14:58 zmoelnig
+
+ * added a newline at the end of the file
+
+2003-07-11 14:55 zmoelnig
+
+ * got some problems with the cvs-update on another machine.
+ hope it's ok now
+
+2003-07-11 14:06 zmoelnig
+
+ * added checks for mmx-extension of gcc
+
+2003-07-11 13:58 zmoelnig
+
+ * filedescriptors may also be 0! i only closed the device, if the
+ fd was>0.
+ fixed.
+
+2003-07-11 13:55 zmoelnig
+
+ * added a flag to WindowInfo, whether a constant context has been
+ established.
+ the destroyWindow depends partly on this (because my laptop (with
+ an ati mobility l6) crashed when destroying a non-constant
+ context.
+ also changed the line "do not continue" to "continue at your own
+ risk"
+
+2003-07-09 12:07 zmoelnig
+
+ * added some advice for video1394 under linux
+
+2003-07-09 11:17 zmoelnig
+
+ * oops, i'm getting tired. another typo
+
+2003-07-09 11:10 zmoelnig
+
+ * oops, made a type "libdv" instead of "dv"
+
+2003-07-09 11:05 zmoelnig
+
+ * removed the Makefile.depend . they are not really needed in CVS
+
+2003-07-09 10:59 zmoelnig
+
+ * use image.reallocate() rather than image.clear() +
+ image.allocate()
+
+2003-07-09 10:58 zmoelnig
+
+ * it seems like this is only used under linux for now.
+ however, i have added the videoDV4L support.
+ and there is now a "driver" message, that let's you choose
+ between various drivers (like video4linux and video1394)
+ yes, the way the modules are registered is really BAD.
+ have to change this soon
+
+2003-07-09 10:56 zmoelnig
+
+ * hopefully this is a real support for video over ieee1394
+ (firewire/dv) under linux!
+
+2003-07-09 10:51 zmoelnig
+
+ * changed the error-message (like for setting the device) slightly
+
+2003-07-09 10:43 zmoelnig
+
+ * fixed the dv-checking.
+ force the headers to be there, when the library is found too
+
+2003-07-09 10:41 zmoelnig
+
+ * added some more yuv-conversions. (following a new naming-scheme
+ after the FOURCC)
+ fromUYVY, fromYUY2 (=YUYV), fromYVYU, fromYV12;
+ fromYUV422() is now an alias for fromUYVY()
+ fromYUV420P() is now an alias for fromYV12()
+
+2003-06-24 06:00 cclepper
+
+ * improved altivec code + PPC scheduling
+
+2003-06-23 17:43 cclepper
+
+ * improved altivec code
+
+2003-06-23 07:05 cclepper
+
+ * improved rectangle texturing
+
+2003-06-23 06:59 cclepper
+
+ * added newfilm to state->image
+
+2003-06-23 06:58 cclepper
+
+ * fixed Ian's prefetch code
+
+2003-06-23 06:57 cclepper
+
+ * fixed inaccurate estimation of film length, trying yet another
+ way to do getFrame()
+
+2003-06-23 06:52 cclepper
+
+ * added newfilm to state to tell when a film has been changed -
+ mostly for faster rectangle texturing at this point
+
+2003-06-23 06:17 cclepper
+
+ * improvements to YUV code
+
+2003-06-23 06:11 cclepper
+
+ * removed debug post()
+
+2003-06-23 05:59 cclepper
+
+ * tweaked some altivec
+
+2003-06-18 15:23 zmoelnig
+
+ * set the include to "Base/GemPixDualObj.h" (the Base/ was missing)
+
+2003-06-11 20:23 zmoelnig
+
+ * commented out the ALTIVEC after "#endif" (gcc doesn't like this)
+
+2003-06-09 16:11 tigital
+
+ * reordered declarations to shutup gcc
+
+2003-05-28 03:26 cclepper
+
+ * initial commit
+
+2003-05-27 04:16 dheck
+
+ * Added project builder project for Mac OS X
+
+2003-05-26 13:36 dheck
+
+ * Added a Quicktime for Windows film loader.
+
+2003-05-24 16:30 zmoelnig
+
+ * shouldn't the "snap" message be replaced by a "bang". (at least i
+ have *add*ed it)
+
+2003-05-24 16:27 zmoelnig
+
+ * put the [pix_grey] back in again (why isn't it there ?)
+
+2003-05-24 15:54 zmoelnig
+
+ * added greyscale-support for pix_blur
+
+2003-05-24 15:51 zmoelnig
+
+ * since movement is stored in the Alpha-channel, i h?\008changed
+ processImage to processRGBA image.
+
+ i have to think about how to store movement in other
+ colour-spaces.
+ grayscale: just in the image
+ yuv : ???
+
+2003-05-23 08:13 cclepper
+
+ * new integer processing mode - 4x faster than float
+
+2003-05-22 07:33 cclepper
+
+ * added Altivec
+
+2003-05-21 05:24 cclepper
+
+ * fixed TEXTURE_RECTANGLE_EXT code for OSX
+
+2003-05-20 21:22 tigital
+
+ * added "scale" message to inc/dec size of dots, plus some cleanup
+ into the destructor; also made inline_RGB2Y() protected
+
+2003-05-20 21:21 tigital
+
+ * added "scale" message to inc/dec size of dots, plus some cleanup
+ into the destructor
+
+2003-05-20 07:48 cclepper
+
+ * made CLAMP_TO_EDGE the repeat for TEXTURE_RECTANGLE_EXT
+
+2003-05-20 00:24 tigital
+
+ * commented out call to pix_film_setup(): is this needed on any
+ platform (seems like we went thru this before)?...
+
+2003-05-20 00:21 tigital
+
+ * add #ifdef __APPLE__ to correctly include headers
+
+2003-05-19 04:03 cclepper
+
+ * now works on OSX
+
+2003-05-19 03:50 cclepper
+
+ * now works on OSX
+
+2003-05-18 19:44 zmoelnig
+
+ * we now have chY1,.... for YUV-offsets, i have used this now
+
+2003-05-18 19:36 zmoelnig
+
+ * added method for grey-images
+
+2003-05-18 19:36 zmoelnig
+
+ * bug-fix: there was weird-behaviour, when the offset was bigger
+ than the size of the cropped(!) image
+
+2003-05-18 19:29 zmoelnig
+
+ * "#elif def" doesn't compile under linux, but "#elif defined"
+ does...
+
+2003-05-18 19:20 zmoelnig
+
+ * updated
+
+2003-05-18 09:13 cclepper
+
+ * initial OSX version of mem2image()
+
+2003-05-18 03:31 tigital
+
+ * needed for some example patches (like pix_gravity)
+
+2003-05-17 20:33 tigital
+
+ * added pix_rds_setup()
+
+2003-05-17 20:20 tigital
+
+ * cleanup a bit
+
+2003-05-17 20:19 tigital
+
+ * initial port: RGB only (so far) :-(
+
+2003-05-17 18:47 tigital
+
+ * correct casting in sprintf's to shutup compiler warning
+
+2003-05-17 18:45 tigital
+
+ * #elifdef doesn't compile on OSX, but #elif def does
+
+2003-05-16 18:57 zmoelnig
+
+ * moved BUGS to Gem/src (../)
+
+2003-05-16 18:57 zmoelnig
+
+ * file bugs under BUGS, and things that have to be done under TODO
+
+2003-05-16 18:53 zmoelnig
+
+ * added a BUGS file
+
+2003-05-16 14:58 zmoelnig
+
+ * #ifdef'ed everything with HAVE_DV (so it won't compile if there
+ are no libdv/dv.h headers)
+
+2003-05-16 14:40 zmoelnig
+
+ * fixed a typo that searched in "search_libs" instead of expanding
+ $search_libs
+
+2003-05-16 14:38 zmoelnig
+
+ * fixed a typo that searched for "searchlibs" instead of
+ "$searchlibs"
+
+2003-05-16 12:36 zmoelnig
+
+ * This commit was generated by cvs2svn to compensate for changes in
+ r380,
+ which included commits to RCS files with non-trunk default
+ branches.
+
+2003-05-16 11:10 zmoelnig
+
+ * commited result of merge
+
+2003-05-16 11:07 zmoelnig
+
+ * moved macors for image-processing from GemPixUtil to GemFuncUtil
+ (since they are functions, although they probably have not much
+ use for things other than PixProcessing (GemPixFun.h ?)
+
+2003-05-16 10:53 zmoelnig
+
+ * copied yuv_posterize to pix_posterize. YUV only. hope this works
+ as it should
+
+2003-05-16 10:52 zmoelnig
+
+ * switched back from PALETTE_YUV422 to PALETTE_YUV420P.
+ it seems as if video4linux means something different with YUV422
+ (or similar formats). too bad, conversions (copying!) again
+
+2003-05-14 09:01 zmoelnig
+
+ * ifdefed the use of GL_UNPACK_CLIENT_STORAGE_APPLE
+ obviously some other changes, which i hope do not break anything,
+ but i guess most of it is new indentation
+
+2003-05-14 08:58 zmoelnig
+
+ * removed tv_* help-patches, since they are not used any more
+
+2003-05-14 08:03 zmoelnig
+
+ * added data-acquisition "fromYUV422"
+ added offsets chY0, chY1, chU, chV for UYVY interleaved data
+ added a string2format converter (like 'rgba' to GL_RGBA), only
+ Grey, YUV, and RGBA are supported
+
+2003-05-14 07:59 zmoelnig
+
+ * added a topmostMess (a nop)
+
+2003-05-14 07:58 zmoelnig
+
+ * ifdef'ed the call for openGL-extension "rectangle-texture", since
+ there were problems when Gem was compiled without
+ rectangle-texture-support, but the drivers supported it (namely
+ nvidia-driver)
+
+2003-05-14 07:50 zmoelnig
+
+ * oops, missed one thing: when yuv was requested, we didn't
+ directly captured to yuv422 but rather to yuv420p. fixed
+
+2003-05-14 07:48 zmoelnig
+
+ * for testing i had hardcorded requests for some "wrong"
+ colour-spaces.
+ hopefully this is removed now
+
+2003-05-14 07:46 zmoelnig
+
+ * on platform that do not support yuv422-openGL-renderings (i
+ haven't managed to make my geforce behave the way i expected, and
+ of course there are other cards that will never support
+ yuv-textures), we now have implicit yuv2rgb-conversion
+
+2003-05-14 07:44 zmoelnig
+
+ * copy and pasted the yuv_emboss into the Pixes source.
+ for now, only yuv is supported
+
+2003-05-14 07:44 zmoelnig
+
+ * yet another colour-space converter ???
+ don't know whether this makes sense (remove it LATER)
+
+2003-05-14 07:33 zmoelnig
+
+ * added convert and emboss
+
+2003-05-14 07:32 zmoelnig
+
+ * added aliases for [pix_depot] and friends
+
+2003-05-14 07:32 zmoelnig
+
+ * [pix_put]: the frame# is now deleted after an image has been
+ written into the depot. the next incoming image will not be
+ stored until another frame# is given.
+
+2003-05-13 02:06 tigital
+
+ * added #define for logf(), expf(), sinf(), & cosf() on OS X (sin()
+ et. al. are already done w/double precision)
+
+2003-05-13 02:00 tigital
+
+ * added #define for sqrtf() on OS X
+
+2003-05-13 01:59 tigital
+
+ * reordered variables to reduce compiler warnings
+ added glext.h to compile on OS X
+
+2003-05-13 00:54 cclepper
+
+ * fixed the OSX image loading code
+
+2003-05-12 21:54 tigital
+
+ * removed unused variables
+
+2003-05-12 10:27 dheck
+
+ * Minor changes for Win32 compilation.
+
+2003-05-12 09:48 cclepper
+
+ * initial 'working' version
+
+2003-05-12 09:43 cclepper
+
+ * removed unused variables, added registers
+
+2003-05-12 09:37 cclepper
+
+ * removed unused variable
+
+2003-05-12 09:36 cclepper
+
+ * added vec_dst for dst stream
+
+2003-05-12 09:03 cclepper
+
+ * removed pointless macro
+
+2003-05-12 08:59 cclepper
+
+ * added 'mode' message to switch between power-of-2 and rectangle
+ textures
+
+2003-05-11 14:36 dheck
+
+ * Added pix_snap2tex for snapping directly to a texture.
+ This may need some experimentation with appropriate pixel formats
+ for each platform to achieve good performance.
+
+2003-05-11 06:01 cclepper
+
+ * changed the Mac format to GL_BGRA_EXT
+
+2003-05-07 17:24 zmoelnig
+
+ * renamed [pix_depot] and fellows to [pix_buffer] et al.
+
+2003-05-07 11:10 zmoelnig
+
+ * added a deviceMess for setting which device to use
+
+2003-05-07 11:07 zmoelnig
+
+ * set output format to GL_ARGB_EXT on macOS.
+ i hope this works, but maybe not
+
+2003-05-07 11:06 zmoelnig
+
+ * added alias for [pix_separator]
+
+2003-05-07 11:05 zmoelnig
+
+ * first attempt to support my Philips Quickcam (720/40)
+
+2003-05-07 11:03 zmoelnig
+
+ * added Grey-Grey support
+
+2003-05-07 10:56 zmoelnig
+
+ * there is now an alias for [pix_separator]
+
+2003-05-07 10:55 zmoelnig
+
+ * added colourConversion routines to GemPixUtils (for now only
+ non-optimized)
+ maybe they should rather be in GemPixConvert ?
+ datasize is now private
+
+2003-05-07 10:38 zmoelnig
+
+ * since datasize in imageStruct is now private, we use setBlack()
+ to delete the image-buffer
+
+2003-05-07 10:35 zmoelnig
+
+ * used to crash when the data-pointer was zero
+
+2003-05-07 10:19 zmoelnig
+
+ * i once uncommented the "realStopRendering" things, because i
+ didn't know what it was for.
+ trying to compile gem2pdp i noticed that this was needed.
+ yes, i don't like it either, when changes are made to the
+ repository wihtout documentation
+
+2003-05-07 10:11 zmoelnig
+
+ * upgraded to libarticle-1.20
+ this effects some of the [part_*] objects (eg: [part_info] now
+ has another output for the age of the particle,...)
+
+2003-05-07 10:10 zmoelnig
+
+ * upgraded to 1.20
+
+2003-05-07 10:09 zmoelnig
+
+ * upgraded to libparticle-1.20
+
+2003-05-07 09:56 zmoelnig
+
+ * added some comments (is this enough documentation ?)
+
+2003-05-05 23:58 cclepper
+
+ * initial commit - replacement for pix_blur with a much better algo
+
+2003-04-28 21:56 tigital
+
+ * switched ordering of variables to appease compiler
+
+2003-04-28 19:46 zmoelnig
+
+ * stupid bug when adding to grey images
+
+2003-04-28 18:06 zmoelnig
+
+ * examples for user-defined particles
+
+2003-04-28 17:48 zmoelnig
+
+ * a not yet working ieee1394-videoIN under linux
+
+2003-04-28 17:44 zmoelnig
+
+ * merged pix_texture and pix_texture2 and made rectangle-textures
+ work with nvidia
+ (hope it works...)
+
+2003-04-28 17:43 zmoelnig
+
+ * played with the colour-spaces
+
+2003-04-28 17:41 zmoelnig
+
+ * added a method for Gray
+
+2003-04-28 17:40 zmoelnig
+
+ * new indentation ;-)
+
+2003-04-28 17:38 zmoelnig
+
+ * fixed things with old libaviplay, that doesn't work (since it
+ only decodes audio)
+
+2003-04-28 17:34 zmoelnig
+
+ * added a comment
+
+2003-04-28 17:33 zmoelnig
+
+ * removed unused variables and initialized used ones.
+
+2003-04-28 17:32 zmoelnig
+
+ * ifdef'ed GL_UNPACK_CLIENT_STORAGE_APPLE
+
+2003-04-28 17:27 zmoelnig
+
+ * added a method for changing the color-space
+
+2003-04-28 17:26 zmoelnig
+
+ * *** empty log message ***
+
+2003-04-28 17:25 zmoelnig
+
+ * made film-stuff compile with gcc-3.2 without warnings... (hope
+ that is all)
+
+2003-04-28 17:24 zmoelnig
+
+ * nothing, but made the constructor virtual (since the class is
+ virtual too)
+
+2003-04-28 17:22 zmoelnig
+
+ * ???
+
+2003-04-28 17:21 zmoelnig
+
+ * a new flag "--with-ieee1394" for linux-compiles (doesn't do
+ anything yet...)
+
+2003-04-28 17:19 zmoelnig
+
+ * cursorMessage should return something. it does so now.
+
+2003-04-28 17:17 zmoelnig
+
+ * tried to add the nvidia-specific defines for yuv422 and
+ rectangle-texturing
+ (however, the yuv-thing still doesn't work)
+
+2003-04-28 17:16 zmoelnig
+
+ * (nothing), like dos2unix...
+
+2003-04-28 17:15 zmoelnig
+
+ * added the continueRender() function (important to output several
+ gemlists (like with [part_render])
+ uncommented the stoprender() thing. what is it for ?
+
+2003-04-28 17:13 zmoelnig
+
+ * made texture_rectangle_supported work with nvidia...
+ found a bug @ parsing the openGL-extension when no openGL-context
+ was yet valid
+
+2003-04-28 17:12 zmoelnig
+
+ * initialized a variable
+
+2003-04-28 17:10 zmoelnig
+
+ * new indentation ;-)
+
+2003-04-28 17:09 zmoelnig
+
+ * swapped 2 lines (GLTTBitmapFont and GLTTPixmapFont) because
+ gcc-3.2 would complain
+
+2003-04-28 17:08 zmoelnig
+
+ * removed unused variables and initialized used ones
+
+2003-04-28 17:07 zmoelnig
+
+ * removed some unused variables
+
+2003-04-28 17:06 zmoelnig
+
+ * (nothing)
+
+2003-04-28 17:05 zmoelnig
+
+ * initialized some values (gcc-3.2 would complain)
+
+2003-04-28 16:21 zmoelnig
+
+ * [part_render] let you render any gemlists as particles
+ [part_info] is similar, but doesn't actually rotate/translate/...
+ the gemlist, but outputs the data on the right outlets
+
+2003-04-28 16:19 zmoelnig
+
+ * suddenly i discovered that gcc-3.2 (?) didn't want to compile
+ this...
+
+2003-04-22 05:11 cclepper
+
+ * added optimizations to YUV and a first try at an altivec function
+
+2003-04-22 03:20 cclepper
+
+ * added optimizations to YUV and a first try at an altivec function
+
+2003-04-22 03:18 cclepper
+
+ * initial commit
+
+2003-04-14 14:57 zmoelnig
+
+ * changed the API a little bit...
+
+2003-04-14 14:56 zmoelnig
+
+ * what to say ? making it work
+
+2003-04-14 08:57 zmoelnig
+
+ * made an explicit cast from float to integer during the processing
+
+2003-04-14 08:56 zmoelnig
+
+ * (refined) RGBA_Gray-support for PixDualObjects
+
+2003-04-14 00:19 dheck
+
+ * Made GEM release build include DirectShow support by default.
+
+2003-04-13 23:39 dheck
+
+ * Added alias to old external name (interim measure... should
+ remove it
+ eventually)
+
+2003-04-13 14:42 dheck
+
+ * More error checking tweaks
+
+2003-04-12 18:33 cclepper
+
+ * fixed the OSX format #ifdef
+
+2003-04-11 10:09 dheck
+
+ * Added DirectShow graph exporting for debugging with GraphEdit
+
+2003-04-11 00:28 tigital
+
+ * removed unused variables, started work on processYUVimage
+
+2003-04-10 20:13 zmoelnig
+
+ * this is BUGGY ? (i think)
+
+2003-04-10 14:53 zmoelnig
+
+ * oh i think pix_videoNEW is really buggy.
+
+2003-04-10 08:34 zmoelnig
+
+ * added a dos2unix on make distclean
+
+2003-04-10 08:32 zmoelnig
+
+ * new startup-logo with more authors
+
+2003-04-10 08:27 zmoelnig
+
+ * added #include <string.h>
+
+2003-04-10 08:25 zmoelnig
+
+ * though i fixed the linux-Video thing but someone did this for
+ me...
+ there was a <stdlib.h> missing in pix_dot.cpp
+
+2003-04-10 04:58 dheck
+
+ * Fixed problems with previous commit: avoid memory leaks due to
+ alternate
+ return paths.
+
+2003-04-10 04:49 dheck
+
+ * Changed automatic non-const array allocation to heap allocated
+ array
+ for compiler compatibility.
+
+2003-04-10 04:46 dheck
+
+ * Fixed return in void function.
+
+2003-04-09 18:17 cclepper
+
+ * added #include <string.h> <stdlib.h>
+
+2003-04-09 08:07 cclepper
+
+ * added fps message and outlet
+
+2003-04-09 07:59 cclepper
+
+ * changed secondscreen to use a minimum of 640x480
+
+2003-04-09 07:57 cclepper
+
+ * added fps message
+
+2003-04-09 07:38 cclepper
+
+ * changed speed message to take all float values
+
+2003-04-09 07:01 cclepper
+
+ * added the rest of the GL drawing modes
+
+2003-04-09 06:42 cclepper
+
+ * new pix_objects
+
+2003-04-09 06:32 cclepper
+
+ * added buffer zeroing for YUV textures
+
+2003-04-09 06:31 cclepper
+
+ * initial commit
+
+2003-04-09 05:14 cclepper
+
+ * initial commit
+
+2003-04-09 05:03 cclepper
+
+ * fixed a potential crash
+
+2003-04-09 04:08 cclepper
+
+ * initial commit
+
+2003-04-09 04:03 cclepper
+
+ * added yuv
+
+2003-04-09 03:59 cclepper
+
+ * removed memset
+
+2003-04-09 03:03 cclepper
+
+ * added YUV function
+
+2003-04-08 23:35 cclepper
+
+ * added fps timing outlet
+
+2003-04-08 23:33 tigital
+
+ * removed unused (now) media variable
+
+2003-04-08 23:31 tigital
+
+ * removed loadBang so the patches will not crash on OSX: again, OSX
+ needs a glContext before making any glCalls!
+
+2003-04-08 23:30 tigital
+
+ * cleaned up unused code, including removal of media timescale
+ calculation, which could cause crashes, and is not currently
+ necessary
+
+2003-04-08 22:22 tigital
+
+ * cleaned up unused code, including removal of media timescale
+ calculation, which could cause crashes, and is not currently
+ necessary
+
+2003-04-08 22:20 tigital
+
+ * now it works! RGBA only now, but YUV on it's way...from the
+ EffectTV collection
+
+2003-04-08 22:18 tigital
+
+ * uncommented pix_dot_setup stuff, because now it works!
+
+2003-04-08 17:06 zmoelnig
+
+ * added filmQT4L
+
+2003-04-08 17:04 zmoelnig
+
+ * fixed the float2int bug (haven't i submitted this 4 times today
+ ?)
+
+2003-04-08 17:03 zmoelnig
+
+ * double default argument fixed
+
+2003-04-08 17:02 zmoelnig
+
+ * added some casts to integer (warnings on gcc-3.2)
+
+2003-04-08 17:00 zmoelnig
+
+ * fixed a bug on close
+
+2003-04-08 17:00 zmoelnig
+
+ * added newlines at EOF
+
+2003-04-08 16:58 zmoelnig
+
+ * the quicktime4linux movie-loader class
+
+2003-04-08 16:57 zmoelnig
+
+ * *** empty log message ***
+
+2003-04-08 16:54 zmoelnig
+
+ * the capturing is now threaded
+
+2003-04-08 09:12 zmoelnig
+
+ * fixed a bug in the destructor
+
+2003-04-08 08:40 zmoelnig
+
+ * can't remember (maybe only some tab-indents)
+
+2003-04-08 08:34 zmoelnig
+
+ * added support for other colour-spaces
+ (though YUV might produced interlaced signals)
+
+2003-04-08 08:32 zmoelnig
+
+ * dos2unix
+
+2003-04-08 08:29 zmoelnig
+
+ * just a debugging output
+
+2003-04-08 08:27 zmoelnig
+
+ * set the notowned flag to 0 (because we own the rgba-image)
+
+2003-04-08 08:26 zmoelnig
+
+ * changed the base class from GemPixObj to GemBase (so we have info
+ on every image). maybe this was not a great idea ...( but not
+ that bad either)
+
+2003-04-08 08:22 zmoelnig
+
+ * the parent class for os/lib dependent video-grabbing (childs
+ include videoV4L, hopefully will include video1394, videoDS,
+ videoWDM,...)
+
+2003-04-08 08:20 zmoelnig
+
+ * nothing i know of
+
+2003-04-08 06:58 cclepper
+
+ * added LoadRam()
+
+2003-04-08 06:11 cclepper
+
+ * added LoadRam()
+
+2003-04-08 05:43 cclepper
+
+ * added LoadRam()
+
+2003-04-08 05:18 tigital
+
+ * forgot to remove getFrame() variable duration! Thanks to the
+ vigilent cgc
+
+2003-04-08 03:15 cclepper
+
+ * put OSX ifdef back in
+
+2003-04-08 03:01 cclepper
+
+ * added yuv code
+
+2003-04-08 02:58 cclepper
+
+ * new 3x3 yuv code
+
+2003-04-07 12:36 dheck
+
+ * Added "clear_mask" method to [gemwin]. Uses with the GLdefine
+ object to
+ generate GLbitfields for the gemwin's glClear.
+
+2003-04-06 23:06 dheck
+
+ * Added a "render" message to gemwin to allow a single graph
+ rendering to be
+ done. Also changed "frame" message to allow a frame rate of 0.
+
+2003-04-06 19:27 zmoelnig
+
+ * GemPixObj: i think there was a bug with not initializing pointers
+ the rest is no real changes (only "visiting" the files)
+
+2003-04-06 19:24 zmoelnig
+
+ * a threaded class for video capturing under linux
+
+2003-04-06 19:23 zmoelnig
+
+ * a "new" concept of how os/library dependant code should look
+ like.
+ do not make the pd-object-class OS-dependent but a helper class.
+
+2003-04-06 08:06 dheck
+
+ * Fixed topmost message implementation for that topmost properly
+ would
+ be applied to windows created after a previous was destroyed.
+
+2003-04-06 05:58 dheck
+
+ * Added topmost message to keep gemwin on top of other windows.
+ Implemented for win32 only.
+
+2003-04-06 02:16 tigital
+
+ * rearranged initializers to stop compile warnings
+
+2003-04-06 02:14 dheck
+
+ * Added VC++ 7 workspace and project.
+ Modified pix_filmNT to provide more robust error handling and to
+ support
+ recent CVS change in pix_film frame loading behaviour
+
+2003-04-04 14:58 ggeiger
+
+ * moved orb into Gem
+
+2003-04-04 14:56 ggeiger
+
+ * Moved from GemLibs
+
+2003-04-03 15:36 zmoelnig
+
+ * changed a type from bool to GLboolean (why ? i guess for vc6)
+
+2003-04-03 15:35 zmoelnig
+
+ * set the state->image to zero before rendering
+
+2003-04-03 15:35 zmoelnig
+
+ * added a boolean cast (for vc6)
+
+2003-04-03 15:33 zmoelnig
+
+ * *** empty log message ***
+
+2003-04-03 15:29 zmoelnig
+
+ * some casts to bool (vc6 didn't like it the way it was done)
+
+2003-04-03 15:28 zmoelnig
+
+ * allocate() now allocates data according to xsize/ysize/csize
+ type is automatically set (depending on OS)
+
+2003-04-03 15:23 zmoelnig
+
+ * nothing that matters (just a boolean cast at autoMess)
+
+2003-04-03 15:22 zmoelnig
+
+ * really nothing (maybe some blank lines)
+
+2003-04-03 15:21 zmoelnig
+
+ * some ifdefs to compile on my version of ffmpeg
+
+2003-04-03 15:20 zmoelnig
+
+ * *** empty log message ***
+
+2003-04-03 15:19 zmoelnig
+
+ * removed to redundant lines (mainly a label "BREAK")
+
+2003-04-03 15:17 zmoelnig
+
+ * [pix_depot] can store images (any size, fixed number) (TODO: add
+ a way to load decompress movies directly into [pix_depot]). it is
+ like [table]
+ [pix_get] gets frames from [pix_depot] (like [tabread])
+ [pix_put] writes frames to [pix_depot] (like [tabwrite])
+
+2003-04-01 05:25 tigital
+
+ * OSX only: turns out that SampleNumToMediaTime() only worked when
+ 1 movie was loaded...switched to a much simpler method of
+ calculating m_reqFrame's m_movieTime...which works with at least
+ five simultaneously running films!
+
+2003-03-31 16:46 tigital
+
+ * OSX only: forgot to set one flag correctly
+
+2003-03-31 06:37 tigital
+
+ * OSX only: changed getFrame() for non-auto-processing, so now we
+ get much smoother playback using metro/counter, in addition to
+ allowing scrubbing/random frame access via a number box! Finally!
+
+2003-03-30 22:09 tigital
+
+ * switched order of getFrame() and "m_curFrame = m_reqFrame"...also
+ added an idle MoviesTask() on OSX
+
+2003-03-30 22:01 tigital
+
+ * fixed OSX crash: needed check for GLcontext before executing
+ glGenLists()
+
+2003-03-16 03:25 dheck
+
+ * Added pix_videoDS, a DirectShow based video input object for
+ Windows
+
+2003-03-15 04:27 cclepper
+
+ * removed post() in postrender
+
+2003-03-13 02:37 dheck
+
+ * Added pix_chroma_key to the pix setup function and added the
+ source files
+ to the Visual Studio project.
+
+2003-03-10 09:56 dheck
+
+ * Excluded config.h from Windows builds
+
+2003-03-07 23:08 tigital
+
+ * added #ifdef for OpenGL/gl.h on OSX
+
+2003-03-07 23:07 tigital
+
+ * added #ifdef DEBUG to post() in processYUV_YUV()
+
+2003-03-07 23:05 tigital
+
+ * is "Base/config.h" used by anyone anymore? #ifdef'd for linux
+ because it was stopping OSX build
+
+2003-03-07 22:57 tigital
+
+ * is "Base/config.h" used by anyone anymore? #ifdef'd for linux
+ because it was stopping OSX build
+
+2003-03-07 22:55 tigital
+
+ * is "Base/config.h" used by anyone anymore?
+
+2003-03-07 17:23 ggeiger
+
+ * fixed avcodec check bug
+
+2003-03-07 16:43 ggeiger
+
+ * added FFMPEG library checks
+
+2003-03-07 16:41 ggeiger
+
+ * checked in int/unfolded pix operations
+
+2003-03-07 16:40 ggeiger
+
+ * remove MMX routines
+
+2003-03-07 16:40 ggeiger
+
+ * added HAVE_LIBAVCODEC,HAVE_LIBAVFORMAT
+
+2003-03-07 16:37 ggeiger
+
+ * added pix_filmFFMPEG setup
+
+2003-03-07 16:29 ggeiger
+
+ * added new FFMPEG version of pix_film
+
+2003-03-07 09:58 ggeiger
+
+ * removed search for particle and glm
+
+2003-03-07 09:57 ggeiger
+
+ * particle and glm are in Gem now
+
+2003-03-07 09:55 ggeiger
+
+ * included particle library stuff
+
+2003-03-07 09:47 ggeiger
+
+ * moved glm.c into model_loader.cpp
+
+2003-03-07 09:43 ggeiger
+
+ * config.h will be autogenerated from config.in
+
+2003-03-07 05:23 cclepper
+
+ * added quality modes
+
+2003-03-07 04:28 cclepper
+
+ * added quality modes
+
+2003-03-06 23:30 cclepper
+
+ * added secondscreen message to enable/disable fullscreen on a 2nd
+ display
+
+2003-03-06 22:45 cclepper
+
+ * added secondscreen message to enable/disable fullscreen on a 2nd
+ display
+
+2003-03-06 22:38 cclepper
+
+ * added secondscreen message to enable/disable fullscreen on a 2nd
+ display
+
+2003-03-06 17:26 zmoelnig
+
+ * ???
+
+2003-03-06 17:25 zmoelnig
+
+ * changed text-object, so they can be disabled...
+
+2003-03-06 17:24 zmoelnig
+
+ * bugfixed separator
+
+2003-03-06 17:24 zmoelnig
+
+ * some bug-fixes; esp [pix_buf]
+
+2003-03-06 17:22 zmoelnig
+
+ * checked in Makefile again...
+
+2003-03-06 17:19 zmoelnig
+
+ * updated configure....
+
+2003-03-03 22:44 dheck
+
+ * Reverted GL_BGR[A] to GL_BGR[A]_EXT to allow compilation on
+ Windows (openGL 1.1)
+
+2003-03-03 17:00 zmoelnig
+
+ * pix_crop takes sub-images of images
+
+2003-03-03 16:59 zmoelnig
+
+ * the object file for venus was missing...
+
+2003-03-01 18:16 zmoelnig
+
+ * fixed a bug with SYSTEMDOCS and made pd/extra the default
+ installation-dir (not pd/externs)
+
+2003-03-01 10:18 zmoelnig
+
+ * added avifile support
+
+2003-03-01 10:18 zmoelnig
+
+ * added AVIPLAY (for linux) and (not yet functioning) GLTT defines
+
+2003-03-01 10:16 zmoelnig
+
+ * somehow these were not properly updated ...
+
+2003-03-01 10:10 zmoelnig
+
+ * added libavifile-support under linux
+
+2003-03-01 08:29 cclepper
+
+ * added yuv and optimizations
+
+2003-02-28 10:00 ggeiger
+
+ * changed "for (int i=0; ..)" scoping
+
+2003-02-28 07:17 cclepper
+
+ * added VBLsync for OSX
+
+2003-02-27 04:25 cclepper
+
+ * initial commit
+
+2003-02-27 04:22 cclepper
+
+ * added altivec function
+
+2003-02-27 01:09 dheck
+
+ * Added 31 bytes to imageStruct buffer allocation to allow
+ realignment
+ without causing buffer overruns.
+
+2003-02-26 04:05 dheck
+
+ * Incorporated source structure changes in CVS (TV->pix) and new
+ source files
+
+2003-02-26 04:02 dheck
+
+ * Updated Visual Studio project and workspace to build current CVS
+ source.
+
+2003-02-26 03:59 dheck
+
+ * Fixed Win32 compilation issues.
+
+2003-02-26 01:11 tigital
+
+ * reordered member initializers to "...datasize(0),pdata(0)..." to
+ remove gcc 3.1 warnings
+
+2003-02-26 00:30 tigital
+
+ * added *_setup() for objects from tv_* to pix_*
+
+2003-02-26 00:29 tigital
+
+ * moved from tv_* to pix_*
+
+2003-02-24 18:53 zmoelnig
+
+ * updated a link
+
+2003-02-24 18:41 zmoelnig
+
+ * now the alpha-blending function can be set by hand:
+ 0 .. GL_ONE_MINUS_SRC_ALPHA
+ 1 .. GL_ONE
+
+2003-02-24 18:40 zmoelnig
+
+ * polygon_smooth enables GL-polygon-smoothing (like it has been
+ proposed by the mac-people)
+
+2003-02-24 13:12 zmoelnig
+
+ * removing TV
+
+2003-02-24 13:10 zmoelnig
+
+ * removed TV-class
+
+2003-02-24 13:09 zmoelnig
+
+ * removing TV-class
+
+2003-02-24 12:47 zmoelnig
+
+ * *** empty log message ***
+
+2003-02-24 12:44 zmoelnig
+
+ * another IIR-filter (time-domain) for pixes: very much like
+ [pix_blur] and [pix_biquad], but more flexible
+
+2003-02-24 11:45 zmoelnig
+
+ * removed the default width/height from the constructor (this is
+ done in the cpp-file)
+
+2003-02-24 11:40 zmoelnig
+
+ * added a reallocate() message to imageStruct.
+ This does only allocate memory, if the previous buffer is smaller
+ than the needed one.
+ there is a "int datasize" that describes the length of the
+ buffer.
+
+2003-02-19 20:28 zmoelnig
+
+ * updated the README.build (for the new configure)
+
+2003-02-19 18:41 zmoelnig
+
+ * This commit was generated by cvs2svn to compensate for changes in
+ r139,
+ which included commits to RCS files with non-trunk default
+ branches.
+
+2003-02-19 18:25 zmoelnig
+
+ * GLdefines maps symbols (like GL_FLAT) to corresponding floats
+ (like 7424)
+
+2003-02-19 18:23 zmoelnig
+
+ * undef'ed the MacOS-specific Carbon-include
+
+2003-02-19 18:17 zmoelnig
+
+ * redefined _GL_UNDEFINED to -1 (instead of -10)
+
+2003-02-17 08:18 cclepper
+
+ * added YUV
+
+2003-02-15 04:44 cclepper
+
+ * added altivec function
+
+2003-02-15 04:16 cclepper
+
+ * added altivec function
+
+2003-02-15 04:11 cclepper
+
+ * added pix_mix
+
+2003-02-14 03:55 tigital
+
+ * - doesn't require textures now ;-)
+ - added glBlend message
+
+2003-02-14 03:53 tigital
+
+ * - doesn't require textures now ;-)
+ - finally centered!
+
+2003-02-10 02:24 cclepper
+
+ * added Altivec cache function
+
+2003-02-10 02:13 cclepper
+
+ * hq for DV added
+
+2003-02-10 00:18 tigital
+
+ * example patch for [ripple] controls
+
+2003-02-10 00:17 tigital
+
+ * example patch for [newWave] controls
+
+2003-02-10 00:14 tigital
+
+ * changed gl setup calls to float (from integer): they should all
+ be one or the other, right?
+
+2003-02-10 00:12 tigital
+
+ * added setup for ripple, rubber, and slideSquares
+
+2003-02-10 00:10 tigital
+
+ * rubber: bang "grabs" image, x/y input the can pull/distort image,
+ 2nd bang releases image, which rebounds back to flat
+
+2003-02-10 00:08 tigital
+
+ * slideSquare: creates a field of squares which reaveal texture
+ while moving left to right
+
+2003-02-10 00:07 tigital
+
+ * ripple: bang to inlet causes image rippling, center of ripple is
+ movable via x and y input: see example/07.texture/
+
+2003-02-09 23:53 tigital
+
+ * now has controls for size, speed, and mode; currently only works
+ with [pix_texture]; also requires rotateXYZ, scale, transposeXYZ
+ for centering (see example/texture)
+
+2003-02-09 22:21 tigital
+
+ * added glBlend
+
+2003-02-09 22:20 tigital
+
+ * removed redundant m_linewidth call; added glBlend
+
+2003-02-09 22:18 tigital
+
+ * removed redundant m_linewidth call
+
+2003-02-08 05:57 cclepper
+
+ * added altivec code
+
+2003-02-06 22:38 tigital
+
+ * updated to current "IMAGE_CLASS" memory functions (ie.
+ buffer.clear() & buffer.allocate( dataSize)
+
+2003-02-06 22:36 tigital
+
+ * added tv_delay_setup
+
+2003-02-06 04:55 cclepper
+
+ * added blending
+
+2003-02-06 01:20 tigital
+
+ * cleanup
+
+2003-02-06 01:17 tigital
+
+ * removed HAVE_LIBGLUT for MACOSX
+
+2003-02-05 08:55 cclepper
+
+ * added pix_blur
+
+2003-02-05 08:41 cclepper
+
+ * improved quicktime performance and DV quality
+
+2003-02-05 08:13 cclepper
+
+ * added pix_blur
+
+2003-02-05 08:01 cclepper
+
+ * optimized pix_gain RGBA code
+
+2003-02-04 04:46 cclepper
+
+ * added missing yuv objects
+
+2003-02-04 00:32 zmoelnig
+
+ * added optimization to the Makefiles: "-O3 -funroll-loops
+ -ffast-math"
+
+2003-02-04 00:16 zmoelnig
+
+ * changed the behaviour of $(CXXFLAGS): you can now set CXXFLAGS
+ via the command-line and it it added to the c++-flags $(cxxflags)
+
+2003-02-03 16:55 zmoelnig
+
+ * changed the identifier for the list-ID from "list" to "gllist",
+ because pd would complain about this ("list" is reserved for
+ pd-lists)
+
+2003-02-03 16:47 zmoelnig
+
+ * added this README, so you know what the openGL-stuff is about...
+
+2003-02-03 16:45 zmoelnig
+
+ * *** empty log message ***
+
+2003-02-03 16:43 zmoelnig
+
+ * because of the new configure, some ifdef's have changed there
+ names (HAVE_MPEG becomes HAVE_LIBMPEG etc)
+
+2003-02-03 16:42 zmoelnig
+
+ * added the anything2grey converter
+
+2003-02-03 16:40 zmoelnig
+
+ * added the openGL-stuff
+
+2003-02-03 16:40 zmoelnig
+
+ * there are new ifdef's because of the new configure
+ spit out a warning when compiled without GLUT (is this new ?)
+
+2003-02-03 16:37 zmoelnig
+
+ * added an "m_modified" flag. this might double some code, but it
+ was surely quickto do
+
+2003-02-03 16:34 zmoelnig
+
+ * rewrote the configure-thing
+ hopefully it works now...
+
+2003-02-03 16:32 zmoelnig
+
+ * rewrote the configure-thing
+ hopefully it will work now...
+
+2003-02-03 16:29 zmoelnig
+
+ * added openGL-wrapper objects (mainly openGL-1.1)
+
+2003-02-03 16:27 zmoelnig
+
+ * rewrote (regenerated) the openGL-wrapping stuff
+
+2003-01-29 08:59 cclepper
+
+ * added yuv processing
+
+2003-01-29 08:02 cclepper
+
+ * added yuv processing
+
+2003-01-26 04:39 tigital
+
+ * fixed bug which prevented non-powerOfTwo textures from texturing
+ correctly (m_coords are now set and passed into state->texCoords)
+
+2003-01-26 04:15 cclepper
+
+ * fixed YUV code in pix_gain
+
+2003-01-25 23:55 cclepper
+
+ * changed the color channel order for OSX
+
+2003-01-25 22:38 cclepper
+
+ * fixed/added some yuv stuff
+
+2003-01-25 20:34 cclepper
+
+ * test for yuv update
+
+2003-01-13 14:50 tigital
+
+ * added gl.h & glext.h to allow compile on OS X
+
+2003-01-09 22:40 tigital
+
+ * made s_windowClock=NULL on DestroyWindow to address possible
+ memory leak
+
+2003-01-09 19:26 zmoelnig
+
+ * *** empty log message ***
+
+2003-01-09 19:25 zmoelnig
+
+ * added movement_detection videoRTX
+
+2003-01-07 18:59 zmoelnig
+
+ * added some examples for 04.pix; they were missing?
+
+2002-12-16 17:59 zmoelnig
+
+ * yuv_*: (think) i changed these to the new process*Image()
+ functions
+
+2002-12-16 17:54 zmoelnig
+
+ * pix_info: get information on pixes (xsize, ysize, csize, format,
+ data)
+ pix_yuv : convert images to YUV (for now only RGBA); needs
+ testing
+ pix_rgba: provides a function for YUV; needs testing
+ * : new process*Image() functions for RGBA, YUV,...
+
+2002-12-16 17:40 zmoelnig
+
+ * teapot: if !HAVE_GLUT we still support [teapot], only the
+ rendering is void
+ text2d: the mac-#ifdefs didn't compile on linux, so i fixed them
+
+2002-12-16 17:36 zmoelnig
+
+ * GemPix*Obj: hopefully fixed the bug that appeared when deleting
+ pix_fx
+ now we cache the whole pixBuf-structure and return it on
+ postrendering
+ GemPixUtil: now provides a function for copying
+ imageStruct-information
+ GemGlutObj: if !HAVE_GLUT, we only throw an error at
+ object-creation
+
+2002-12-14 04:43 tigital
+
+ * corrected rangeMess inputs
+
+2002-12-14 04:40 tigital
+
+ * fixed a coupla possible leaks
+
+2002-12-14 04:38 tigital
+
+ * added processYUVImage(), so it works with yuv now!
+
+2002-12-12 07:30 tigital
+
+ * added yuv video input for MacOSX; cleanup unused variables
+
+2002-12-12 07:27 tigital
+
+ * cleanup unused variables
+
+2002-12-10 05:55 tigital
+
+ * removed unused variable "count"
+
+2002-12-10 05:53 tigital
+
+ * added MACOSX support
+
+2002-12-09 11:36 zmoelnig
+
+ * rewrote the <processImage>-callers.
+ processImage is now used for images of any(!) format.
+ thus the programmer has to care for the format him/herself
+ the format specific functions are processImageRGBA and similar
+ the same goes for PixDualObjects (processRGBA_Gray etc...)
+ deleted pix_fx
+ the pix_fx functionality is now in GemPixObj
+ this functionality is: save the image-state before it is
+ processed
+ and reconstruct it in the postrender function
+ so we can change size/format and even bend the data-pointer
+ and objects "before" will not notice (and crash)
+ revised 3 openGL objects (urgh: lots of work to do still)
+
+2002-12-08 21:43 tigital
+
+ * added support for MACOSX
+
+2002-12-08 21:39 tigital
+
+ * reordered variables to shutup gcc3.1
+
+2002-12-08 20:10 zmoelnig
+
+ * added framewise delay!
+
+2002-12-04 05:19 tigital
+
+ * GL_EXTENSIONS formatting same for all platforms
+
+2002-12-02 17:14 zmoelnig
+
+ * new image-processing calls (processRGBAImage)
+
+2002-11-27 20:22 zmoelnig
+
+ * a new (simpler?) setup-logistic
+
+2002-11-27 20:20 zmoelnig
+
+ * *** empty log message ***
+
+2002-11-27 20:09 zmoelnig
+
+ * added a lot of openGL stuff...
+
+2002-11-27 20:04 zmoelnig
+
+ * made CVS compile under linux again
+
+2002-11-27 20:01 zmoelnig
+
+ * made the CVS compile under linux again
+
+2002-11-27 01:28 tigital
+
+ * *** empty log message ***
+
+2002-11-27 01:21 tigital
+
+ * added MACOSX support; initial YUV support
+
+2002-11-27 01:10 tigital
+
+ * added MACOSX support; initial YUV support
+
+2002-11-27 01:00 tigital
+
+ * removed unused variables
+
+2002-11-27 00:59 tigital
+
+ * added MACOSX support; initial YUV support
+
+2002-11-27 00:05 tigital
+
+ * added MACOSX support; initial YUV support
+
+2002-11-26 23:15 tigital
+
+ * added MACOSX support
+
+2002-11-26 23:15 tigital
+
+ * removed unused variable
+
+2002-11-26 23:11 tigital
+
+ * added MACOSX support; initial YUV support
+
+2002-11-26 23:09 tigital
+
+ * reordered variable to shut up gcc 3.1
+
+2002-11-26 23:08 tigital
+
+ * added MACOSX & YUV support
+
+2002-11-26 23:07 tigital
+
+ * added MACOSX support; cleaned up unused variables
+
+2002-11-26 23:05 tigital
+
+ * added for MACOSX; initial YUV support
+
+2002-11-26 23:04 tigital
+
+ * added MACOSX; initial YUV support
+
+2002-11-26 23:03 tigital
+
+ * added MACOSX
+
+2002-11-26 19:57 tigital
+
+ * added MACOSX, YUV support via #ifdef's
+
+2002-11-25 15:28 tigital
+
+ * standardized to processDualGray() & processDualYUV()
+
+2002-11-25 15:23 tigital
+
+ * standardized to processDualGray() & processDualYUV()
+
+2002-11-25 15:02 tigital
+
+ * added MACOSX support
+
+2002-11-25 14:58 tigital
+
+ * added MACOSX support; processYUVImage()
+
+2002-11-25 06:02 tigital
+
+ * added MACOSX support
+
+2002-11-25 06:01 tigital
+
+ * initial contribution
+
+2002-11-24 17:49 tigital
+
+ * added MACOSX support
+
+2002-11-24 01:47 tigital
+
+ * added MACOSX support
+
+2002-11-24 01:45 tigital
+
+ * initial commit
+
+2002-11-24 01:43 tigital
+
+ * initial commit
+
+2002-11-24 01:40 tigital
+
+ * add support for MACOSX
+
+2002-11-24 01:15 tigital
+
+ * add support for MACOSX
+
+2002-11-24 01:12 tigital
+
+ * added support for MACOSX
+
+2002-11-24 01:07 tigital
+
+ * added support for MACOSX and YUV processing
+
+2002-11-24 01:01 tigital
+
+ * added support for YUV processing
+
+2002-11-24 00:58 tigital
+
+ * add MACOSX specific changes
+
+2002-11-05 18:12 zmoelnig
+
+ * *** empty log message ***
+
+2002-11-05 15:32 zmoelnig
+
+ * Makefiles should be distclean on CVS ...?
+
+2002-11-04 17:12 zmoelnig
+
+ * added erich's [cuboid] object, so he doesn't have to worry any
+ more...
+
+2002-11-04 16:28 zmoelnig
+
+ * don't remember: added some example-patches i had forgotten before
+ fixed the pix_subtract bug (which nobody had reported yet)
+
+2002-11-04 16:22 zmoelnig
+
+ * oops, last checkin i forgot some things....
+ ok: applied guenter's MMX changes to pix_*
+
+2002-11-04 16:21 zmoelnig
+
+ * applied guenter's MMX changes to some pix things (?)
+
+2002-10-28 15:25 zmoelnig
+
+ * - edited some example-patches (very minor changes)
+ - rewrote the render-chain mechanism: now the render-chain is not
+ built statically when the rendering is started
+ but dynamically (each gem.object is "banged" (with some gem_state
+ pointers) at run-time
+ gosh: why do we have a message-system in pd, if it is not used ?
+ - the priority of the [gemhead]s can now be changed dynamically
+
+2002-10-21 09:29 zmoelnig
+
+ * applied Daniel Heckenberg's patch for DualPix-Objects
+
+2002-10-21 08:35 zmoelnig
+
+ * fixed the install-things
+
+2002-10-21 07:45 zmoelnig
+
+ * This commit was generated by cvs2svn to compensate for changes in
+ r4,
+ which included commits to RCS files with non-trunk default
+ branches.
+
diff --git a/packages/noncvs/windows/extra/Gem/GEMglBegin-help.pd b/packages/noncvs/windows/extra/Gem/GEMglBegin-help.pd
index b2e875db..1463cec6 100644
--- a/packages/noncvs/windows/extra/Gem/GEMglBegin-help.pd
+++ b/packages/noncvs/windows/extra/Gem/GEMglBegin-help.pd
@@ -1,14 +1,14 @@
-#N canvas 144 70 497 292 10;
-#X text 21 22 GEMglBegin - delimit the vertices of a primitive or a
-group of like primitives;
-#X text 21 61 C Specification: void glBegin( GLenum mode );
-#X text 21 91 Parameters;
-#X text 42 115 mode;
-#X text 77 116 Specifies the primitive or primitives that will be created
-from vertices presented between glBegin and the subsequent glEnd. Ten
-symbolic constants are accepted: GL_POINTS \, GL_LINES \, GL_LINE_STRIP
-\, GL_LINE_LOOP \, GL_TRIANGLES \, GL_TRIANGLE_STRIP \, GL_TRIANGLE_FAN
-\, GL_QUADS \, GL_QUAD_STRIP \, and GL_POLYGON.;
-#X text 71 244 http://www.glprogramming.com/blue/ch05.html#id5450783
-;
-#X text 22 228 OpenGL Reference page:;
+#N canvas 144 70 497 292 10;
+#X text 21 22 GEMglBegin - delimit the vertices of a primitive or a
+group of like primitives;
+#X text 21 61 C Specification: void glBegin( GLenum mode );
+#X text 21 91 Parameters;
+#X text 42 115 mode;
+#X text 77 116 Specifies the primitive or primitives that will be created
+from vertices presented between glBegin and the subsequent glEnd. Ten
+symbolic constants are accepted: GL_POINTS \, GL_LINES \, GL_LINE_STRIP
+\, GL_LINE_LOOP \, GL_TRIANGLES \, GL_TRIANGLE_STRIP \, GL_TRIANGLE_FAN
+\, GL_QUADS \, GL_QUAD_STRIP \, and GL_POLYGON.;
+#X text 71 244 http://www.glprogramming.com/blue/ch05.html#id5450783
+;
+#X text 22 228 OpenGL Reference page:;
diff --git a/packages/noncvs/windows/extra/Gem/GLdefine-help.pd b/packages/noncvs/windows/extra/Gem/GLdefine-help.pd
index e64cc25e..b77a7d5b 100644
--- a/packages/noncvs/windows/extra/Gem/GLdefine-help.pd
+++ b/packages/noncvs/windows/extra/Gem/GLdefine-help.pd
@@ -1,65 +1,65 @@
-#N canvas 78 37 701 310 10;
-#X obj 519 47 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X obj 584 234 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 198 112 destroy;
-#X msg 132 112 create \, 1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 589 273 pd gemwin;
-#X msg 589 254 create;
-#X text 585 233 Create window:;
-#X text 525 29 Example:;
-#X obj 7 65 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 8 216 cnv 15 450 80 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 11 217 Inlets:;
-#X obj 8 176 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 452 8 GEM object;
-#X text 11 266 Outlets:;
-#X obj 522 71 cnv 15 150 140 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 530 192 GEMglBegin;
-#X obj 534 77 loadbang;
-#X text 54 30 Class: GEMgl object;
-#X text 33 14 Synopsis: [GLdefine];
-#X text 15 88 Send an OpenGL configuration constant to a GEMglBegin
-to set up the OpenGL environment. These constants are defined in GL/gl.h
-in the OpenGL C++ code.;
-#X floatatom 584 167 5 0 0 0 - - -;
-#X text 29 229 Inlet 1: bang;
-#X text 23 279 Outlet 1: float;
-#X text 14 137 for more \, see: http://www.glprogramming.com/blue/ch04.html
-;
-#X text 7 69 Description: gets the value of a OpenGL constant;
-#X text 29 245 Inlet 1: message - the name of the constant;
-#X text 17 175 Arguments:;
-#X text 29 189 the name of a OpenGL constant (e.g. GL_LINES or GL_POLYGON)
-;
-#X msg 542 98 GL_LINES;
-#X obj 534 142 GLdefine GL_ADD;
-#X msg 553 119 symbol GL_ACCUM;
-#X connect 2 0 3 0;
-#X connect 3 0 2 0;
-#X connect 14 0 27 0;
-#X connect 26 0 27 0;
-#X connect 27 0 13 1;
-#X connect 27 0 18 0;
-#X connect 28 0 27 0;
+#N canvas 78 37 701 310 10;
+#X obj 519 47 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X obj 584 234 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 198 112 destroy;
+#X msg 132 112 create \, 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 589 273 pd gemwin;
+#X msg 589 254 create;
+#X text 585 233 Create window:;
+#X text 525 29 Example:;
+#X obj 7 65 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 8 216 cnv 15 450 80 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 11 217 Inlets:;
+#X obj 8 176 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 452 8 GEM object;
+#X text 11 266 Outlets:;
+#X obj 522 71 cnv 15 150 140 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 530 192 GEMglBegin;
+#X obj 534 77 loadbang;
+#X text 54 30 Class: GEMgl object;
+#X text 33 14 Synopsis: [GLdefine];
+#X text 15 88 Send an OpenGL configuration constant to a GEMglBegin
+to set up the OpenGL environment. These constants are defined in GL/gl.h
+in the OpenGL C++ code.;
+#X floatatom 584 167 5 0 0 0 - - -;
+#X text 29 229 Inlet 1: bang;
+#X text 23 279 Outlet 1: float;
+#X text 14 137 for more \, see: http://www.glprogramming.com/blue/ch04.html
+;
+#X text 7 69 Description: gets the value of a OpenGL constant;
+#X text 29 245 Inlet 1: message - the name of the constant;
+#X text 17 175 Arguments:;
+#X text 29 189 the name of a OpenGL constant (e.g. GL_LINES or GL_POLYGON)
+;
+#X msg 542 98 GL_LINES;
+#X obj 534 142 GLdefine GL_ADD;
+#X msg 553 119 symbol GL_ACCUM;
+#X connect 2 0 3 0;
+#X connect 3 0 2 0;
+#X connect 14 0 27 0;
+#X connect 26 0 27 0;
+#X connect 27 0 13 1;
+#X connect 27 0 18 0;
+#X connect 28 0 27 0;
diff --git a/packages/noncvs/windows/extra/Gem/Gem.dll b/packages/noncvs/windows/extra/Gem/Gem.dll
index 2e27f1f3..684adaa1 100644
--- a/packages/noncvs/windows/extra/Gem/Gem.dll
+++ b/packages/noncvs/windows/extra/Gem/Gem.dll
Binary files differ
diff --git a/packages/noncvs/windows/extra/Gem/README.txt b/packages/noncvs/windows/extra/Gem/README.txt
index 9f9ed1b1..364cabd7 100644
--- a/packages/noncvs/windows/extra/Gem/README.txt
+++ b/packages/noncvs/windows/extra/Gem/README.txt
@@ -1,136 +1,157 @@
-This is GEM 0.91
-===================
-You can get the current distribution from:
-http://gem.iem.at
-ftp://iem.at/pd/Externals/GEM
-
-=============================================
-NEW:::
-------
-
-Gem is now supported by W32, linux and macOS-X
-the IRIX version might work (but most probably will not): if you want to use Gem under IRIX,feel free to make it work and report failure and success to me, so i can incorporate any needed changes into the main Gem-trunk.
-
-for installation instructions see below
-
-
-NEW (gem-0.87):::
------------------
-(note: this NEWs only refer to the packaging, not to features of Gem)
-
-As with GEM-0.87, i have broken the distribution into various packages
-gem-<gemver>.tgz :: quite everything (except binaries and auxiliary libraries)
-gem-doc-<gemver>.tgz :: example-patches, manual, ...
-gem-bin-<gemver>.zip :: W32-binary (containing a single file "Gem.dll")
-gem-bin-doc-<gemver>.zip :: W32-binary + documentation
-
-GemLibs-<OS>-<libver>.tgz :: auxiliary libraries (used to be "AuxLibs")
-
-1) the core Gem-packages:
-the core Gem-packages all extract into the same directory gem-<gemver>/
-there are install-scripts for windoze (and probably IRIX)
-these will install the documentation...
-
-
-2) the GemLib-package:
-I don't know, whether it has much sense, to break the core Gem-package (doc/src/bin),
-but i do know, that the GemLibs should be in a distinct package (just for the sake of downloading)
-
-the GemLibs have their own version numbering, starting with 1.
-You can get the newest GemLib from the place mentioned above
-
-
-COMPILING DEPENDENCIES:
-=======================
-current version: GEM-0.91
-GemLibs >= 1
-PD >= 0.34
-
--------------------------------------
--------------------------------------
-
-INSTALLATION:
-=============
-
-To install GEM on W32:
-
-a) (preferred method)
- use the installer executable to install Gem into ...\pd\extra
- to build the installer you will have to have NSIS installed
- see build/win-nsis for details
-
-b) do it by hand
-
- 1) unzip the GEM package
-
- 2) put the Gem.dll-file somewhere pd can find it (e.g.: ...\pd\extra)
-
- 3) when using pd>=0.37, copy the entire "help"-folder into the same place where the Gem.dll lies
- rename the "help"-folder to "help-Gem"
- you should now have following structure
- (...)\Gem.dll
- (...)\help-Gem\
- (...)\help-Gem\accumrotate.pd
-
- 4) when using pd<0.37, copy the entire "help"-folder into the pd's reference path ( ...\pd\doc\5.reference)
- rename the newly created "help"-folder to "Gem"
- you should have following structure
- (...)\pd\extra\Gem.dll
- (...)\pd\doc\5.reference\Gem\
- (...)\pd\doc\5.reference\Gem\accumrotate.pd
-
-note: in prior versions of Gem, GLUT was needed; this is obsolete
-
-
--------------------------------------
-To install GEM on linux:
-chdir into <Gemdir>/src/
-read the README.<os> (like README.linux) etc...
-
--------------------------------------
--------------------------------------
-
-
-
-RUNNING:
-========
-
-just installing Gem is not enough !
-you will have to tell pd that it should load that library !!
-you cannot create any Gem-objects without having loaded the Gem-library into pd !!!
-
-make sure you have the proper binary for you OS
- - windows: Gem.dll
- - macOS-X: Gem.pd_darwin
- - linux : Gem.pd_linux
- - irix : Gem.pd_irix
- - ...
-
-when starting pd, tell it to load Gem with the "-lib" flag
-if your Gem-binary lives in pd/extra/, you could just try "pd -lib Gem"
-if your Gem-binary lives somewhere else use something like "pd -lib /path/to/my/Gem"
-you could also use "pd -path /path/to/my -lib Gem"
-after loading Gem you will see a bit of a welcome message on the konsole
-
-NOTE: there *must not* be any file extension with the "-lib"-flag:: "pd -lib Gem.dll" will miserably fail
-NOTE: please note the spelling: it is "Gem" and not "gem" nor "GEM"
-
-if you have problems loading any library including Gem, have a look at the pd-documentation
-if you have problems loading just Gem (but other libraries work), send me a bug-report (see below)
-
-BUG-REPORT:
-===========
-if your mail only says "hey, it does not work !", it is an annoyance and no bug-report
-please specify at least the following things:
-
- Operating-System (kernel-version,...)
- video-card, driver
- other hardware that is related to your problem (e.g.: camera)
- does your system work with similar applications (e.g.: capture-software, openGL (games, "glxgears")
- what is the output of pd when you start it with the "-verbose" flag (e.g.:"pd -verbose -lib Gem")
-
-----
-have fun
-
-zmoelnig@iem.at
-
+This is GEM - Graphics Environment for Multimedia
+=================================================
+You can get the current distribution from:
+http://gem.iem.at
+http://sourceforge.net/projects/pd-gem
+
+=============================================
+NEW:::
+------
+
+Gem is now supported by W32, linux and macOS-X
+the IRIX version might work (but most probably will not): if you want to use Gem under IRIX,feel free to make it work and report failure and success to me, so i can incorporate any needed changes into the main Gem-trunk.
+
+for installation instructions see below
+
+
+NEW (gem-0.87):::
+-----------------
+(note: this NEWs only refer to the packaging, not to features of Gem)
+
+As with GEM-0.87, i have broken the distribution into various packages
+gem-<gemver>.tgz :: quite everything (except binaries and auxiliary libraries)
+gem-doc-<gemver>.tgz :: example-patches, manual, ...
+gem-bin-<gemver>.zip :: W32-binary (containing a single file "Gem.dll")
+gem-bin-doc-<gemver>.zip :: W32-binary + documentation
+
+GemLibs-<OS>-<libver>.tgz :: auxiliary libraries (used to be "AuxLibs")
+
+1) the core Gem-packages:
+the core Gem-packages all extract into the same directory gem-<gemver>/
+there are install-scripts for windoze (and probably IRIX)
+these will install the documentation...
+
+
+2) the GemLib-package:
+I don't know, whether it has much sense, to break the core Gem-package (doc/src/bin),
+but i do know, that the GemLibs should be in a distinct package (just for the sake of downloading)
+
+the GemLibs have their own version numbering, starting with 1.
+You can get the newest GemLib from the place mentioned above
+
+
+-------------------------------------
+-------------------------------------
+
+INSTALLATION:
+=============
+
+-------------------------------------
+To install GEM on linux/OSX/...:
+run
+$ ./configure
+$ make
+$ make install
+
+note that you might want to help Gem to find the Pd-headers, e.g. by doing
+$ ./configure --with-pd=/usr/include/pd
+try
+$ ./configure --help to see more options
+
+-------------------------------------
+To install GEM on W32:
+a) installer (preferred method)
+ use the installer executable to install Gem into ...\pd\extra
+ (to _build_ the installer you will have to have NSIS installed
+ see build/win-nsis for details)
+
+b) archive (do it by hand)
+
+ 1) unzip the GEM package
+
+ 2) put the subfolders of Gem-<version>\ into the "extra" folder of your
+ Pd installation
+ e.g. if you installed Pd as "C:\Program Files\Pd-0.43-0" you should
+ end up with:
+ "C:\Program Files\Pd-0.43-0\extra\Gem"
+ and eventually with
+ "C:\Program Files\Pd-0.43-0\extra\pix_drum"
+ "C:\Program Files\Pd-0.43-0\extra\pix_mano"
+ ...
+
+ there is no need to copy the README.txt found in Gem-<version>\ into
+ "extra"
+
+ 3) please note that the archive comes with all plugins
+ in most cases, you won't need all of them, and having plugins
+ installed that you don't need, will considerably slow down load
+ time of patches and might leed to undesired side-effects.
+ therefore, if loading is too slow (or you experience weird
+ things), it might be a good idea to disable plugins you don't
+ need.
+ disabling plugins is as simple as deleting them (or moving them
+ into a subfolder)
+
+ plugins are files of the form: "gem_<type><NAME>.dll"
+ e.g. "gem_filmQT.dll" is a plugin for reading films using the
+ QuickTime framework.
+ in order to use videoPYLON, videoHALCON and videoAVT, you need
+ to install proprietary libraries yourself; if you haven't done
+ so or don't own a device that can interact with those libraries,
+ you can safely remove these plugins.
+ if you have no clue what this is about, these plugins are most
+ likely not for you (so remove them)
+
+
+
+-------------------------------------
+-------------------------------------
+
+RUNNING:
+========
+
+just installing Gem is not enough !
+you will have to tell pd that it should load that library !!
+you cannot create any Gem-objects without having loaded the Gem-library into pd !!!
+
+make sure you have the proper binary for you OS
+ - windows: Gem.dll
+ - macOS-X: Gem.pd_darwin
+ - linux : Gem.pd_linux
+ - irix : Gem.pd_irix
+ - ...
+
+when starting pd, tell it to load Gem with the "-lib" flag
+if your Gem-binary lives in pd/extra/, you could just try "pd -lib Gem"
+if your Gem-binary lives somewhere else use something like "pd -lib /path/to/my/Gem"
+you could also use "pd -path /path/to/my -lib Gem"
+after loading Gem you will see a bit of a welcome message on the konsole
+
+NOTE: there *must not* be any file extension with the "-lib"-flag:: "pd -lib Gem.dll" will miserably fail
+NOTE: please note the spelling: it is "Gem" and not "gem" nor "GEM"
+
+if you have problems loading any library including Gem, have a look at the pd-documentation
+if you have problems loading just Gem (but other libraries work), send me a bug-report (see below)
+
+BUG-REPORTS:
+============
+please do not hesitate to report any crashes, weirdnesses or other issues, using
+the bugtracker at sourceforge:
+http://sourceforge.net/projects/pd-gem/
+or the gem-dev mailinglist (subscription at http://lists.puredata.info)
+
+if your mail only says "hey, it does not work !", it is an annoyance and no bug-report
+please specify at least the following things:
+ Operating-System (kernel-version,...)
+ video-card, driver
+ other hardware that is related to your problem (e.g.: camera)
+ does your system work with similar applications (e.g.: capture-software, openGL (games, "glxgears")
+ what is the output of pd when you start it with the "-verbose" flag (e.g.:"pd -verbose -lib Gem")
+
+please do not use the puredata bugtracker for reporting gem-specific bugs.
+
+----
+have fun
+
+zmoelnig@iem.at
+
diff --git a/packages/noncvs/windows/extra/Gem/accumrotate-help.pd b/packages/noncvs/windows/extra/Gem/accumrotate-help.pd
index 0f90a08e..6f6358ed 100644
--- a/packages/noncvs/windows/extra/Gem/accumrotate-help.pd
+++ b/packages/noncvs/windows/extra/Gem/accumrotate-help.pd
@@ -1,72 +1,72 @@
-#N canvas 57 47 639 339 10;
-#X text 452 8 GEM object;
-#X text 50 12 Synopsis: [accumrotate];
-#X obj 8 196 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 63 225 Inlet 1: message: reset;
-#X text 64 254 Inlet 3: float: delta-rotation around Y-axis (in deg)
-;
-#X text 64 242 Inlet 2: float: delta-rotation around X-axis (in deg)
-;
-#X text 64 266 Inlet 4: float: delta-rotation around Z-axis (in deg)
-;
-#X text 39 198 Inlets:;
-#X text 63 211 Inlet 1: gemlist;
-#X text 39 282 Outlets:;
-#X text 57 295 Outlet 1: gemlist;
-#X obj 8 156 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 155 Arguments:;
-#X text 63 166 initial rotations around X \, Y \, Z-axes;
-#X obj 8 76 cnv 15 430 70 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 42 95 [accumrotate] accepts a gemList and changes the current
-transformation matrix by the specified delta-rotation;
-#X text 41 130 the delta-values add to the current rotation-matrix.
-;
-#X text 29 77 Description: accumulated rotation;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X text 71 31 Class: manipulation object;
-#X obj 450 158 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X obj 451 233 square;
-#X msg 478 108 reset;
-#X msg 531 163 10;
-#X text 490 139 click repeatedly;
-#X obj 451 186 accumrotate 45 0 0;
-#X msg 491 163 5;
-#X msg 572 163 15;
-#X connect 21 0 22 0;
-#X connect 22 0 21 0;
-#X connect 26 0 31 0;
-#X connect 28 0 31 0;
-#X connect 29 0 31 2;
-#X connect 31 0 27 0;
-#X connect 32 0 31 1;
-#X connect 33 0 31 3;
+#N canvas 57 47 639 339 10;
+#X text 452 8 GEM object;
+#X text 50 12 Synopsis: [accumrotate];
+#X obj 8 196 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 63 225 Inlet 1: message: reset;
+#X text 64 254 Inlet 3: float: delta-rotation around Y-axis (in deg)
+;
+#X text 64 242 Inlet 2: float: delta-rotation around X-axis (in deg)
+;
+#X text 64 266 Inlet 4: float: delta-rotation around Z-axis (in deg)
+;
+#X text 39 198 Inlets:;
+#X text 63 211 Inlet 1: gemlist;
+#X text 39 282 Outlets:;
+#X text 57 295 Outlet 1: gemlist;
+#X obj 8 156 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 155 Arguments:;
+#X text 63 166 initial rotations around X \, Y \, Z-axes;
+#X obj 8 76 cnv 15 430 70 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 42 95 [accumrotate] accepts a gemList and changes the current
+transformation matrix by the specified delta-rotation;
+#X text 41 130 the delta-values add to the current rotation-matrix.
+;
+#X text 29 77 Description: accumulated rotation;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X text 71 31 Class: manipulation object;
+#X obj 450 158 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X obj 451 233 square;
+#X msg 478 108 reset;
+#X msg 531 163 10;
+#X text 490 139 click repeatedly;
+#X obj 451 186 accumrotate 45 0 0;
+#X msg 491 163 5;
+#X msg 572 163 15;
+#X connect 21 0 22 0;
+#X connect 22 0 21 0;
+#X connect 26 0 31 0;
+#X connect 28 0 31 0;
+#X connect 29 0 31 2;
+#X connect 31 0 27 0;
+#X connect 32 0 31 1;
+#X connect 33 0 31 3;
diff --git a/packages/noncvs/windows/extra/Gem/alpha-help.pd b/packages/noncvs/windows/extra/Gem/alpha-help.pd
index 74222b34..128ff22c 100644
--- a/packages/noncvs/windows/extra/Gem/alpha-help.pd
+++ b/packages/noncvs/windows/extra/Gem/alpha-help.pd
@@ -1,96 +1,96 @@
-#N canvas 0 0 707 412 10;
-#X text 452 8 GEM object;
-#X obj 8 296 cnv 15 430 100 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 37 295 Inlets:;
-#X text 453 355 Outlets:;
-#X text 461 366 Outlet 1: gemlist;
-#X obj 8 256 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 255 Arguments:;
-#X obj 8 76 cnv 15 430 175 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 250 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 584 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 589 293 pd gemwin;
-#X msg 589 274 create;
-#X text 585 253 Create window:;
-#X text 71 31 Class: manipulation object;
-#X obj 451 197 cnv 15 80 60 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 579 186 color 1 0 0 0.5;
-#X text 60 319 Inlet 1: float: turn alpha blending on/off;
-#X text 63 266 blending function (default: GL_ONE_MINUS_SRC_ALPHA)
-;
-#X text 50 12 Synopsis: [alpha];
-#X text 29 77 Description: enable alpha blending;
-#X obj 458 310 square;
-#X obj 458 233 alpha;
-#X obj 458 108 color 0 1 0 0.5;
-#X text 61 308 Inlet 1: gemlist;
-#X text 60 331 Inlet 1: message "auto 1" | "auto 0" turn on/off automatic
-depth detection;
-#X floatatom 583 139 5 0 0 0 - - -;
-#X obj 458 86 gemhead 51;
-#X obj 579 211 sphere;
-#X obj 458 137 rotate 114 0 1 0;
-#X floatatom 482 213 1 0 1 0 - - -;
-#X obj 579 162 gemhead 50;
-#X msg 474 176 auto \$1;
-#X obj 474 158 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X msg 583 108 0 1 0 \$1;
-#X floatatom 583 88 5 0 1 0 - - -;
-#X obj 509 205 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X text 22 91 [alpha] turns on and off alpha blending. [alpha] automatically
-uses the glBlendFunc(GL_SRC_ALPHA \, GL_ONE_MINUS_SRC_ALPHA) function
-from OpenGL. If you want a different blending technique \, you will
-need to make your own external. The blending that [alpha] does is the
-stereotypical blending which you will usually want. In a nutshell \,
-any pixel which has an alpha component will be blended with the pixel
-that is in the frame buffer \, producing the usual colored glass effect.
-Be aware that the rendering order matters \, so you probably want to
-set the gemhead order number high so that the object is rendered after
-all of the non-alpha blended ones.;
-#X text 61 356 Inlet 2: float: blending function: 0=GL_ONE \, 1=GL_ONE_MINUS_SOURCE_ALPHA
-;
-#X obj 628 88 hsl 64 15 0 1 0 0 empty empty empty -2 -8 0 10 -262144
--1 -1 0 1;
-#X connect 11 0 12 0;
-#X connect 12 0 11 0;
-#X connect 16 0 28 0;
-#X connect 22 0 21 0;
-#X connect 23 0 29 0;
-#X connect 26 0 29 1;
-#X connect 27 0 23 0;
-#X connect 29 0 22 0;
-#X connect 30 0 22 0;
-#X connect 31 0 16 0;
-#X connect 32 0 22 0;
-#X connect 33 0 32 0;
-#X connect 34 0 23 1;
-#X connect 35 0 34 0;
-#X connect 36 0 22 1;
-#X connect 39 0 35 0;
+#N canvas 0 0 707 412 10;
+#X text 452 8 GEM object;
+#X obj 8 296 cnv 15 430 100 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 37 295 Inlets:;
+#X text 453 355 Outlets:;
+#X text 461 366 Outlet 1: gemlist;
+#X obj 8 256 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 255 Arguments:;
+#X obj 8 76 cnv 15 430 175 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 250 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 584 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 589 293 pd gemwin;
+#X msg 589 274 create;
+#X text 585 253 Create window:;
+#X text 71 31 Class: manipulation object;
+#X obj 451 197 cnv 15 80 60 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 579 186 color 1 0 0 0.5;
+#X text 60 319 Inlet 1: float: turn alpha blending on/off;
+#X text 63 266 blending function (default: GL_ONE_MINUS_SRC_ALPHA)
+;
+#X text 50 12 Synopsis: [alpha];
+#X text 29 77 Description: enable alpha blending;
+#X obj 458 310 square;
+#X obj 458 233 alpha;
+#X obj 458 108 color 0 1 0 0.5;
+#X text 61 308 Inlet 1: gemlist;
+#X text 60 331 Inlet 1: message "auto 1" | "auto 0" turn on/off automatic
+depth detection;
+#X floatatom 583 139 5 0 0 0 - - -;
+#X obj 458 86 gemhead 51;
+#X obj 579 211 sphere;
+#X obj 458 137 rotate 114 0 1 0;
+#X floatatom 482 213 1 0 1 0 - - -;
+#X obj 579 162 gemhead 50;
+#X msg 474 176 auto \$1;
+#X obj 474 158 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X msg 583 108 0 1 0 \$1;
+#X floatatom 583 88 5 0 1 0 - - -;
+#X obj 509 205 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X text 22 91 [alpha] turns on and off alpha blending. [alpha] automatically
+uses the glBlendFunc(GL_SRC_ALPHA \, GL_ONE_MINUS_SRC_ALPHA) function
+from OpenGL. If you want a different blending technique \, you will
+need to make your own external. The blending that [alpha] does is the
+stereotypical blending which you will usually want. In a nutshell \,
+any pixel which has an alpha component will be blended with the pixel
+that is in the frame buffer \, producing the usual colored glass effect.
+Be aware that the rendering order matters \, so you probably want to
+set the gemhead order number high so that the object is rendered after
+all of the non-alpha blended ones.;
+#X text 61 356 Inlet 2: float: blending function: 0=GL_ONE \, 1=GL_ONE_MINUS_SOURCE_ALPHA
+;
+#X obj 628 88 hsl 64 15 0 1 0 0 empty empty empty -2 -8 0 10 -262144
+-1 -1 0 1;
+#X connect 11 0 12 0;
+#X connect 12 0 11 0;
+#X connect 16 0 28 0;
+#X connect 22 0 21 0;
+#X connect 23 0 29 0;
+#X connect 26 0 29 1;
+#X connect 27 0 23 0;
+#X connect 29 0 22 0;
+#X connect 30 0 22 0;
+#X connect 31 0 16 0;
+#X connect 32 0 22 0;
+#X connect 33 0 32 0;
+#X connect 34 0 23 1;
+#X connect 35 0 34 0;
+#X connect 36 0 22 1;
+#X connect 39 0 35 0;
diff --git a/packages/noncvs/windows/extra/Gem/ambient-help.pd b/packages/noncvs/windows/extra/Gem/ambient-help.pd
index eac4f0ea..c849b5fe 100644
--- a/packages/noncvs/windows/extra/Gem/ambient-help.pd
+++ b/packages/noncvs/windows/extra/Gem/ambient-help.pd
@@ -1,66 +1,66 @@
-#N canvas 61 18 639 342 10;
-#X text 452 8 GEM object;
-#X obj 8 196 cnv 15 430 130 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 198 Inlets:;
-#X text 63 211 Inlet 1: gemlist;
-#X text 39 252 Outlets:;
-#X text 57 265 Outlet 1: gemlist;
-#X obj 8 146 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 145 Arguments:;
-#X obj 8 76 cnv 15 430 60 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 197 134 destroy;
-#X msg 132 112 reset \, lighting 1 \, create \, 1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X text 71 31 Class: manipulation object;
-#X obj 450 118 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 29 77 Description: ambient colouring;
-#X obj 451 193 cube;
-#X obj 500 192 gemhead;
-#X obj 500 230 world_light;
-#X obj 500 211 rotate 180 1 0 0;
-#X text 62 156 a list of 3 (RGB) or 4 (RGBA) float-values.;
-#X text 60 171 defaults: 0.2 0.2 0.2 1;
-#X text 22 91 [ambient] accepts a gemList and sets the ambient-color
-for all subsequent vertex-operations. You have to enable lighting to
-see any effects.;
-#X text 50 12 Synopsis: [ambient];
-#X obj 451 156 ambient 0 1 0;
-#X msg 478 130 0.4 0.8 1;
-#X text 63 229 Inlet 2: list: 3(RGB) or 4(RGBA) float values;
-#X floatatom 549 193 5 0 0 0 - - -;
-#X connect 12 0 13 0;
-#X connect 13 0 12 0;
-#X connect 17 0 27 0;
-#X connect 20 0 22 0;
-#X connect 22 0 21 0;
-#X connect 27 0 19 0;
-#X connect 28 0 27 1;
-#X connect 30 0 22 1;
+#N canvas 61 18 639 342 10;
+#X text 452 8 GEM object;
+#X obj 8 196 cnv 15 430 130 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 198 Inlets:;
+#X text 63 211 Inlet 1: gemlist;
+#X text 39 252 Outlets:;
+#X text 57 265 Outlet 1: gemlist;
+#X obj 8 146 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 145 Arguments:;
+#X obj 8 76 cnv 15 430 60 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 197 134 destroy;
+#X msg 132 112 reset \, lighting 1 \, create \, 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X text 71 31 Class: manipulation object;
+#X obj 450 118 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 29 77 Description: ambient colouring;
+#X obj 451 193 cube;
+#X obj 500 192 gemhead;
+#X obj 500 230 world_light;
+#X obj 500 211 rotate 180 1 0 0;
+#X text 62 156 a list of 3 (RGB) or 4 (RGBA) float-values.;
+#X text 60 171 defaults: 0.2 0.2 0.2 1;
+#X text 22 91 [ambient] accepts a gemList and sets the ambient-color
+for all subsequent vertex-operations. You have to enable lighting to
+see any effects.;
+#X text 50 12 Synopsis: [ambient];
+#X obj 451 156 ambient 0 1 0;
+#X msg 478 130 0.4 0.8 1;
+#X text 63 229 Inlet 2: list: 3(RGB) or 4(RGBA) float values;
+#X floatatom 549 193 5 0 0 0 - - -;
+#X connect 12 0 13 0;
+#X connect 13 0 12 0;
+#X connect 17 0 27 0;
+#X connect 20 0 22 0;
+#X connect 22 0 21 0;
+#X connect 27 0 19 0;
+#X connect 28 0 27 1;
+#X connect 30 0 22 1;
diff --git a/packages/noncvs/windows/extra/Gem/ambientRGB-help.pd b/packages/noncvs/windows/extra/Gem/ambientRGB-help.pd
index a857f84d..4f9c1ca1 100644
--- a/packages/noncvs/windows/extra/Gem/ambientRGB-help.pd
+++ b/packages/noncvs/windows/extra/Gem/ambientRGB-help.pd
@@ -1,75 +1,75 @@
-#N canvas 128 161 639 342 10;
-#X text 452 8 GEM object;
-#X obj 8 196 cnv 15 430 130 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 198 Inlets:;
-#X text 63 211 Inlet 1: gemlist;
-#X text 39 292 Outlets:;
-#X text 57 305 Outlet 1: gemlist;
-#X obj 8 146 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 145 Arguments:;
-#X obj 8 76 cnv 15 430 60 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 197 134 destroy;
-#X msg 132 112 reset \, lighting 1 \, create \, 1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X text 71 31 Class: manipulation object;
-#X obj 450 118 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 29 77 Description: ambient colouring;
-#X obj 451 193 cube;
-#X obj 500 192 gemhead;
-#X obj 500 230 world_light;
-#X text 50 12 Synopsis: [ambientRGB];
-#X text 22 91 [ambientRGB] accepts a gemList and sets the ambient-color
-for all subsequent vertex-operations. You have to enable lighting to
-see any effects.;
-#X text 62 156 a list of 3 (RGB) or 4 (RGBA) float-values.;
-#X text 60 171 defaults: 0.2 0.2 0.2 1;
-#X text 63 229 Inlet 2: float: red value;
-#X text 63 244 Inlet 3: float: green value;
-#X text 63 259 Inlet 4: float: blue value;
-#X text 63 274 Inlet 5: float: alpha value;
-#X obj 451 156 ambientRGB 0 1 0;
-#X floatatom 477 122 3 0 1 0 - - -;
-#X floatatom 504 122 3 0 1 0 - - -;
-#X floatatom 531 122 3 0 1 0 - - -;
-#X floatatom 558 122 3 0 1 0 - - -;
-#X floatatom 548 192 5 0 0 0 - - -;
-#X obj 500 211 rotate 70 1 0 0;
-#X connect 12 0 13 0;
-#X connect 13 0 12 0;
-#X connect 17 0 30 0;
-#X connect 20 0 36 0;
-#X connect 30 0 19 0;
-#X connect 31 0 30 1;
-#X connect 32 0 30 2;
-#X connect 33 0 30 3;
-#X connect 34 0 30 4;
-#X connect 35 0 36 1;
-#X connect 36 0 21 0;
+#N canvas 128 161 639 342 10;
+#X text 452 8 GEM object;
+#X obj 8 196 cnv 15 430 130 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 198 Inlets:;
+#X text 63 211 Inlet 1: gemlist;
+#X text 39 292 Outlets:;
+#X text 57 305 Outlet 1: gemlist;
+#X obj 8 146 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 145 Arguments:;
+#X obj 8 76 cnv 15 430 60 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 197 134 destroy;
+#X msg 132 112 reset \, lighting 1 \, create \, 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X text 71 31 Class: manipulation object;
+#X obj 450 118 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 29 77 Description: ambient colouring;
+#X obj 451 193 cube;
+#X obj 500 192 gemhead;
+#X obj 500 230 world_light;
+#X text 50 12 Synopsis: [ambientRGB];
+#X text 22 91 [ambientRGB] accepts a gemList and sets the ambient-color
+for all subsequent vertex-operations. You have to enable lighting to
+see any effects.;
+#X text 62 156 a list of 3 (RGB) or 4 (RGBA) float-values.;
+#X text 60 171 defaults: 0.2 0.2 0.2 1;
+#X text 63 229 Inlet 2: float: red value;
+#X text 63 244 Inlet 3: float: green value;
+#X text 63 259 Inlet 4: float: blue value;
+#X text 63 274 Inlet 5: float: alpha value;
+#X obj 451 156 ambientRGB 0 1 0;
+#X floatatom 477 122 3 0 1 0 - - -;
+#X floatatom 504 122 3 0 1 0 - - -;
+#X floatatom 531 122 3 0 1 0 - - -;
+#X floatatom 558 122 3 0 1 0 - - -;
+#X floatatom 548 192 5 0 0 0 - - -;
+#X obj 500 211 rotate 70 1 0 0;
+#X connect 12 0 13 0;
+#X connect 13 0 12 0;
+#X connect 17 0 30 0;
+#X connect 20 0 36 0;
+#X connect 30 0 19 0;
+#X connect 31 0 30 1;
+#X connect 32 0 30 2;
+#X connect 33 0 30 3;
+#X connect 34 0 30 4;
+#X connect 35 0 36 1;
+#X connect 36 0 21 0;
diff --git a/packages/noncvs/windows/extra/Gem/camera-help.pd b/packages/noncvs/windows/extra/Gem/camera-help.pd
index 9b0d5f89..514f2cbf 100644
--- a/packages/noncvs/windows/extra/Gem/camera-help.pd
+++ b/packages/noncvs/windows/extra/Gem/camera-help.pd
@@ -1,81 +1,81 @@
-#N canvas 0 22 630 494 10;
-#X obj 179 157 camera;
-#X obj 179 45 gemhead;
-#X obj 162 82 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X obj 185 63 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X obj 234 108 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X obj 260 86 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X msg 234 124 left \$1;
-#X msg 260 102 right \$1;
-#X obj 75 120 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X obj 101 98 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X msg 101 114 up \$1;
-#X msg 75 136 down \$1;
-#X msg 267 58 reset;
-#X msg 185 80 forward \$1;
-#X msg 162 98 reverse \$1;
-#X msg 66 252 speed \$1;
-#X floatatom 66 234 5 0 0 0 - - -;
-#X floatatom 67 195 5 0 0 0 - - -;
-#X msg 379 150 lookX \$1;
-#X msg 379 187 lookY \$1;
-#X msg 379 223 lookZ \$1;
-#X floatatom 379 134 5 0 0 0 - - -;
-#X floatatom 379 207 5 0 0 0 - - -;
-#X floatatom 379 170 5 0 0 0 - - -;
-#X msg 67 213 distance \$1;
-#X obj 170 305 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 198 112 destroy;
-#X msg 132 112 create \, 1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 175 344 pd gemwin;
-#X msg 175 325 create;
-#X text 171 304 Create window:;
-#X connect 1 0 0 0;
-#X connect 2 0 14 0;
-#X connect 3 0 13 0;
-#X connect 4 0 6 0;
-#X connect 5 0 7 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X connect 8 0 11 0;
-#X connect 9 0 10 0;
-#X connect 10 0 0 0;
-#X connect 11 0 0 0;
-#X connect 12 0 0 0;
-#X connect 13 0 0 0;
-#X connect 14 0 0 0;
-#X connect 15 0 0 0;
-#X connect 16 0 15 0;
-#X connect 17 0 24 0;
-#X connect 18 0 0 0;
-#X connect 19 0 0 0;
-#X connect 20 0 0 0;
-#X connect 21 0 18 0;
-#X connect 22 0 20 0;
-#X connect 23 0 19 0;
-#X connect 24 0 0 0;
-#X connect 26 0 27 0;
-#X connect 27 0 26 0;
+#N canvas 0 22 630 494 10;
+#X obj 179 157 camera;
+#X obj 179 45 gemhead;
+#X obj 162 82 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 185 63 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 234 108 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 260 86 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X msg 234 124 left \$1;
+#X msg 260 102 right \$1;
+#X obj 75 120 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 101 98 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X msg 101 114 up \$1;
+#X msg 75 136 down \$1;
+#X msg 267 58 reset;
+#X msg 185 80 forward \$1;
+#X msg 162 98 reverse \$1;
+#X msg 66 252 speed \$1;
+#X floatatom 66 234 5 0 0 0 - - -;
+#X floatatom 67 195 5 0 0 0 - - -;
+#X msg 379 150 lookX \$1;
+#X msg 379 187 lookY \$1;
+#X msg 379 223 lookZ \$1;
+#X floatatom 379 134 5 0 0 0 - - -;
+#X floatatom 379 207 5 0 0 0 - - -;
+#X floatatom 379 170 5 0 0 0 - - -;
+#X msg 67 213 distance \$1;
+#X obj 170 305 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 198 112 destroy;
+#X msg 132 112 create \, 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 175 344 pd gemwin;
+#X msg 175 325 create;
+#X text 171 304 Create window:;
+#X connect 1 0 0 0;
+#X connect 2 0 14 0;
+#X connect 3 0 13 0;
+#X connect 4 0 6 0;
+#X connect 5 0 7 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 11 0;
+#X connect 9 0 10 0;
+#X connect 10 0 0 0;
+#X connect 11 0 0 0;
+#X connect 12 0 0 0;
+#X connect 13 0 0 0;
+#X connect 14 0 0 0;
+#X connect 15 0 0 0;
+#X connect 16 0 15 0;
+#X connect 17 0 24 0;
+#X connect 18 0 0 0;
+#X connect 19 0 0 0;
+#X connect 20 0 0 0;
+#X connect 21 0 18 0;
+#X connect 22 0 20 0;
+#X connect 23 0 19 0;
+#X connect 24 0 0 0;
+#X connect 26 0 27 0;
+#X connect 27 0 26 0;
diff --git a/packages/noncvs/windows/extra/Gem/circle-help.pd b/packages/noncvs/windows/extra/Gem/circle-help.pd
index b8370ddd..7caeff78 100644
--- a/packages/noncvs/windows/extra/Gem/circle-help.pd
+++ b/packages/noncvs/windows/extra/Gem/circle-help.pd
@@ -1,65 +1,65 @@
-#N canvas 291 154 710 345 10;
-#X text 33 14 Synopsis: [circle];
-#X text 54 30 Class: geometric object;
-#X text 525 29 Example:;
-#X obj 7 65 cnv 15 450 90 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 7 69 Description: Renders a circle.;
-#X text 16 86 The circle object renders a circle flat disc at the current
-position with current color. The look of the circle can be changed
-with the draw message \, its size can be changed via the second inlet.
-;
-#X obj 8 216 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 9 221 Inlets:;
-#X obj 8 166 cnv 15 450 40 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 165 Arguments:;
-#X text 27 261 Inlet 2: float: size;
-#X text 452 8 GEM object;
-#X text 27 233 Inlet 1: gemlist;
-#X text 9 280 Outlets:;
-#X text 21 293 Outlet 1: gemlist;
-#X text 63 177 size of the circle;
-#X obj 519 47 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X obj 584 224 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 198 112 destroy;
-#X msg 132 112 create \, 1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 589 263 pd gemwin;
-#X msg 589 244 create;
-#X text 585 223 Create window:;
-#X obj 525 80 cnv 15 150 100 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 593 159 circle;
-#X msg 535 95 draw line;
-#X msg 535 116 draw fill;
-#X msg 535 138 draw point;
-#X obj 593 54 gemhead;
-#X floatatom 626 130 5 0 0 2 size - -;
-#X text 64 191 default: 1;
-#X text 27 247 Inlet 1: message: draw [line|fill|point|default];
-#X connect 18 0 19 0;
-#X connect 19 0 18 0;
-#X connect 23 0 22 0;
-#X connect 24 0 22 0;
-#X connect 25 0 22 0;
-#X connect 26 0 22 0;
-#X connect 27 0 22 1;
+#N canvas 291 154 710 345 10;
+#X text 33 14 Synopsis: [circle];
+#X text 54 30 Class: geometric object;
+#X text 525 29 Example:;
+#X obj 7 65 cnv 15 450 90 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 7 69 Description: Renders a circle.;
+#X text 16 86 The circle object renders a circle flat disc at the current
+position with current color. The look of the circle can be changed
+with the draw message \, its size can be changed via the second inlet.
+;
+#X obj 8 216 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 9 221 Inlets:;
+#X obj 8 166 cnv 15 450 40 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 165 Arguments:;
+#X text 27 261 Inlet 2: float: size;
+#X text 452 8 GEM object;
+#X text 27 233 Inlet 1: gemlist;
+#X text 9 280 Outlets:;
+#X text 21 293 Outlet 1: gemlist;
+#X text 63 177 size of the circle;
+#X obj 519 47 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X obj 584 224 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 198 112 destroy;
+#X msg 132 112 create \, 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 589 263 pd gemwin;
+#X msg 589 244 create;
+#X text 585 223 Create window:;
+#X obj 525 80 cnv 15 150 100 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 593 159 circle;
+#X msg 535 95 draw line;
+#X msg 535 116 draw fill;
+#X msg 535 138 draw point;
+#X obj 593 54 gemhead;
+#X floatatom 626 130 5 0 0 2 size - -;
+#X text 64 191 default: 1;
+#X text 27 247 Inlet 1: message: draw [line|fill|point|default];
+#X connect 18 0 19 0;
+#X connect 19 0 18 0;
+#X connect 23 0 22 0;
+#X connect 24 0 22 0;
+#X connect 25 0 22 0;
+#X connect 26 0 22 0;
+#X connect 27 0 22 1;
diff --git a/packages/noncvs/windows/extra/Gem/color-help.pd b/packages/noncvs/windows/extra/Gem/color-help.pd
index 8f71fb8b..b74db548 100644
--- a/packages/noncvs/windows/extra/Gem/color-help.pd
+++ b/packages/noncvs/windows/extra/Gem/color-help.pd
@@ -1,60 +1,60 @@
-#N canvas 42 24 639 342 10;
-#X text 452 8 GEM object;
-#X obj 8 196 cnv 15 430 130 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 198 Inlets:;
-#X text 63 211 Inlet 1: gemlist;
-#X text 39 292 Outlets:;
-#X text 57 305 Outlet 1: gemlist;
-#X obj 8 146 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 145 Arguments:;
-#X obj 8 66 cnv 15 430 70 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 197 134 destroy;
-#X msg 132 112 reset \, create \, 1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X text 71 31 Class: manipulation object;
-#X obj 450 118 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X obj 451 193 cube;
-#X text 62 156 a list of 3 (RGB) or 4 (RGBA) float-values.;
-#X text 60 171 defaults: 0 0 0 1;
-#X obj 451 156 color 0 1 0;
-#X msg 487 127 0 0 1;
-#X text 63 229 Inlet 2: list: 3(RGB) or 4(RGBA) float values;
-#X text 22 81 [color] sets the colour of all subsequent shape and vertex
-operations until reset by another [color]/[colorRGB] object. If you
-set the alpha-value \, you will need an [alpha] object to enable alpha-blending
-;
-#X text 50 12 Synopsis: [color];
-#X text 29 67 Description: colouring;
-#X connect 12 0 13 0;
-#X connect 13 0 12 0;
-#X connect 17 0 21 0;
-#X connect 21 0 18 0;
-#X connect 22 0 21 1;
+#N canvas 42 24 639 342 10;
+#X text 452 8 GEM object;
+#X obj 8 196 cnv 15 430 130 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 198 Inlets:;
+#X text 63 211 Inlet 1: gemlist;
+#X text 39 292 Outlets:;
+#X text 57 305 Outlet 1: gemlist;
+#X obj 8 146 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 145 Arguments:;
+#X obj 8 66 cnv 15 430 70 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 197 134 destroy;
+#X msg 132 112 reset \, create \, 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X text 71 31 Class: manipulation object;
+#X obj 450 118 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X obj 451 193 cube;
+#X text 62 156 a list of 3 (RGB) or 4 (RGBA) float-values.;
+#X text 60 171 defaults: 0 0 0 1;
+#X obj 451 156 color 0 1 0;
+#X msg 487 127 0 0 1;
+#X text 63 229 Inlet 2: list: 3(RGB) or 4(RGBA) float values;
+#X text 22 81 [color] sets the colour of all subsequent shape and vertex
+operations until reset by another [color]/[colorRGB] object. If you
+set the alpha-value \, you will need an [alpha] object to enable alpha-blending
+;
+#X text 50 12 Synopsis: [color];
+#X text 29 67 Description: colouring;
+#X connect 12 0 13 0;
+#X connect 13 0 12 0;
+#X connect 17 0 21 0;
+#X connect 21 0 18 0;
+#X connect 22 0 21 1;
diff --git a/packages/noncvs/windows/extra/Gem/colorRGB-help.pd b/packages/noncvs/windows/extra/Gem/colorRGB-help.pd
index b93055ff..b5f1f63e 100644
--- a/packages/noncvs/windows/extra/Gem/colorRGB-help.pd
+++ b/packages/noncvs/windows/extra/Gem/colorRGB-help.pd
@@ -1,69 +1,69 @@
-#N canvas 42 24 639 342 10;
-#X text 452 8 GEM object;
-#X obj 8 196 cnv 15 430 130 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 198 Inlets:;
-#X text 63 211 Inlet 1: gemlist;
-#X text 39 292 Outlets:;
-#X text 57 305 Outlet 1: gemlist;
-#X obj 8 146 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 145 Arguments:;
-#X obj 8 66 cnv 15 430 70 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 197 134 destroy;
-#X msg 132 112 reset \, create \, 1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X text 71 31 Class: manipulation object;
-#X obj 450 118 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X obj 451 193 cube;
-#X text 62 156 a list of 3 (RGB) or 4 (RGBA) float-values.;
-#X text 63 229 Inlet 2: float: red value;
-#X text 63 244 Inlet 3: float: green value;
-#X text 63 259 Inlet 4: float: blue value;
-#X text 63 274 Inlet 5: float: alpha value;
-#X floatatom 479 122 3 0 1 0 - - -;
-#X floatatom 508 122 3 0 1 0 - - -;
-#X floatatom 536 122 3 0 1 0 - - -;
-#X floatatom 565 122 3 0 1 0 - - -;
-#X text 60 171 defaults: 0 0 0 1;
-#X text 50 12 Synopsis: [colorRGB];
-#X obj 451 156 colorRGB 0 1 0;
-#X text 29 67 Description: colouring;
-#X text 22 81 [colorRGB] sets the colour of all subsequent shape and
-vertex operations until reset by another [color]/[colorRGB] object.
-If you set the alpha-value \, you will need an [alpha] object to enable
-alpha-blending;
-#X connect 12 0 13 0;
-#X connect 13 0 12 0;
-#X connect 17 0 30 0;
-#X connect 24 0 30 1;
-#X connect 25 0 30 2;
-#X connect 26 0 30 3;
-#X connect 27 0 30 4;
-#X connect 30 0 18 0;
+#N canvas 42 24 639 342 10;
+#X text 452 8 GEM object;
+#X obj 8 196 cnv 15 430 130 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 198 Inlets:;
+#X text 63 211 Inlet 1: gemlist;
+#X text 39 292 Outlets:;
+#X text 57 305 Outlet 1: gemlist;
+#X obj 8 146 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 145 Arguments:;
+#X obj 8 66 cnv 15 430 70 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 197 134 destroy;
+#X msg 132 112 reset \, create \, 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X text 71 31 Class: manipulation object;
+#X obj 450 118 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X obj 451 193 cube;
+#X text 62 156 a list of 3 (RGB) or 4 (RGBA) float-values.;
+#X text 63 229 Inlet 2: float: red value;
+#X text 63 244 Inlet 3: float: green value;
+#X text 63 259 Inlet 4: float: blue value;
+#X text 63 274 Inlet 5: float: alpha value;
+#X floatatom 479 122 3 0 1 0 - - -;
+#X floatatom 508 122 3 0 1 0 - - -;
+#X floatatom 536 122 3 0 1 0 - - -;
+#X floatatom 565 122 3 0 1 0 - - -;
+#X text 60 171 defaults: 0 0 0 1;
+#X text 50 12 Synopsis: [colorRGB];
+#X obj 451 156 colorRGB 0 1 0;
+#X text 29 67 Description: colouring;
+#X text 22 81 [colorRGB] sets the colour of all subsequent shape and
+vertex operations until reset by another [color]/[colorRGB] object.
+If you set the alpha-value \, you will need an [alpha] object to enable
+alpha-blending;
+#X connect 12 0 13 0;
+#X connect 13 0 12 0;
+#X connect 17 0 30 0;
+#X connect 24 0 30 1;
+#X connect 25 0 30 2;
+#X connect 26 0 30 3;
+#X connect 27 0 30 4;
+#X connect 30 0 18 0;
diff --git a/packages/noncvs/windows/extra/Gem/colorSquare-help.pd b/packages/noncvs/windows/extra/Gem/colorSquare-help.pd
index aac9afcb..23930582 100644
--- a/packages/noncvs/windows/extra/Gem/colorSquare-help.pd
+++ b/packages/noncvs/windows/extra/Gem/colorSquare-help.pd
@@ -1,82 +1,82 @@
-#N canvas 130 41 696 468 10;
-#X text 54 30 Class: geometric object;
-#X obj 479 107 cnv 15 200 250 empty empty empty 20 12 0 14 -228992
--66577 0;
-#X obj 494 284 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 198 112 destroy;
-#X msg 132 112 create \, 1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 499 323 pd gemwin;
-#X msg 499 304 create;
-#X text 495 283 Create window:;
-#X obj 7 65 cnv 15 450 80 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 8 196 cnv 15 450 200 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 9 201 Inlets:;
-#X obj 8 156 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 155 Arguments:;
-#X text 27 227 Inlet 1: message: draw [line|fill|point];
-#X text 27 241 Inlet 2: float: size;
-#X text 452 8 GEM object;
-#X text 27 213 Inlet 1: gemlist;
-#X text 9 350 Outlets:;
-#X text 21 363 Outlet 1: gemlist;
-#X text 485 89 Example:;
-#X obj 482 137 cnv 15 190 110 empty empty empty 20 12 0 14 -81876 -66577
-0;
-#X text 33 14 Synopsis: [colorSquare];
-#X obj 534 252 cnv 15 100 30 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X msg 485 145 draw line;
-#X msg 485 166 draw fill;
-#X msg 485 188 draw point;
-#X obj 543 114 gemhead;
-#X floatatom 557 143 5 0 0 1 size - -;
-#X text 7 69 Description: Renders a square with several colors.;
-#X text 63 166 size of the square;
-#X obj 543 259 colorSquare;
-#X msg 615 222 1 1 0;
-#X msg 600 203 0 0 1;
-#X msg 586 184 0 1 0;
-#X msg 571 165 1 0 0;
-#X text 27 268 Inlet 3: list: 3(RGB) float values for the lowerleft
-corner;
-#X text 27 285 Inlet 4: list: 3(RGB) float values for the lowerright
-corner;
-#X text 27 305 Inlet 5: list: 3(RGB) float values for the upperright
-corner;
-#X text 27 322 Inlet 6: list: 3(RGB) float values for the upperleft
-corner;
-#X text 16 86 The colorSquare object renders a square at the current
-position. The size of the square can be changed via the second inlet.
-The colors of the 4 corners can be specified separately and are drawn
-as gradients.;
-#X connect 3 0 4 0;
-#X connect 4 0 3 0;
-#X connect 21 0 28 0;
-#X connect 22 0 28 0;
-#X connect 23 0 28 0;
-#X connect 24 0 28 0;
-#X connect 25 0 28 1;
-#X connect 29 0 28 5;
-#X connect 30 0 28 4;
-#X connect 31 0 28 3;
-#X connect 32 0 28 2;
+#N canvas 130 41 696 468 10;
+#X text 54 30 Class: geometric object;
+#X obj 479 107 cnv 15 200 250 empty empty empty 20 12 0 14 -228992
+-66577 0;
+#X obj 494 284 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 198 112 destroy;
+#X msg 132 112 create \, 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 499 323 pd gemwin;
+#X msg 499 304 create;
+#X text 495 283 Create window:;
+#X obj 7 65 cnv 15 450 80 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 8 196 cnv 15 450 200 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 9 201 Inlets:;
+#X obj 8 156 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 155 Arguments:;
+#X text 27 227 Inlet 1: message: draw [line|fill|point];
+#X text 27 241 Inlet 2: float: size;
+#X text 452 8 GEM object;
+#X text 27 213 Inlet 1: gemlist;
+#X text 9 350 Outlets:;
+#X text 21 363 Outlet 1: gemlist;
+#X text 485 89 Example:;
+#X obj 482 137 cnv 15 190 110 empty empty empty 20 12 0 14 -81876 -66577
+0;
+#X text 33 14 Synopsis: [colorSquare];
+#X obj 534 252 cnv 15 100 30 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X msg 485 145 draw line;
+#X msg 485 166 draw fill;
+#X msg 485 188 draw point;
+#X obj 543 114 gemhead;
+#X floatatom 557 143 5 0 0 1 size - -;
+#X text 7 69 Description: Renders a square with several colors.;
+#X text 63 166 size of the square;
+#X obj 543 259 colorSquare;
+#X msg 615 222 1 1 0;
+#X msg 600 203 0 0 1;
+#X msg 586 184 0 1 0;
+#X msg 571 165 1 0 0;
+#X text 27 268 Inlet 3: list: 3(RGB) float values for the lowerleft
+corner;
+#X text 27 285 Inlet 4: list: 3(RGB) float values for the lowerright
+corner;
+#X text 27 305 Inlet 5: list: 3(RGB) float values for the upperright
+corner;
+#X text 27 322 Inlet 6: list: 3(RGB) float values for the upperleft
+corner;
+#X text 16 86 The colorSquare object renders a square at the current
+position. The size of the square can be changed via the second inlet.
+The colors of the 4 corners can be specified separately and are drawn
+as gradients.;
+#X connect 3 0 4 0;
+#X connect 4 0 3 0;
+#X connect 21 0 28 0;
+#X connect 22 0 28 0;
+#X connect 23 0 28 0;
+#X connect 24 0 28 0;
+#X connect 25 0 28 1;
+#X connect 29 0 28 5;
+#X connect 30 0 28 4;
+#X connect 31 0 28 3;
+#X connect 32 0 28 2;
diff --git a/packages/noncvs/windows/extra/Gem/cone-help.pd b/packages/noncvs/windows/extra/Gem/cone-help.pd
index a08b413f..11a90ee7 100644
--- a/packages/noncvs/windows/extra/Gem/cone-help.pd
+++ b/packages/noncvs/windows/extra/Gem/cone-help.pd
@@ -1,69 +1,69 @@
-#N canvas 290 157 710 345 10;
-#X text 54 30 Class: geometric object;
-#X obj 479 47 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X obj 544 224 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 198 112 destroy;
-#X msg 132 112 create \, 1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 549 263 pd gemwin;
-#X msg 549 244 create;
-#X text 545 223 Create window:;
-#X text 485 29 Example:;
-#X obj 7 65 cnv 15 450 80 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 8 216 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 9 221 Inlets:;
-#X obj 8 146 cnv 15 450 50 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 145 Arguments:;
-#X text 27 261 Inlet 2: float: size;
-#X text 452 8 GEM object;
-#X text 27 233 Inlet 1: gemlist;
-#X text 9 287 Outlets:;
-#X text 21 300 Outlet 1: gemlist;
-#X text 33 14 Synopsis: [cone];
-#X text 7 69 Description: Renders a cone.;
-#X text 14 86 The cone object renders a cone at the current position
-with current color. The look of the cone can be changed with the draw
-message \, its size can be changed via the second inlet.;
-#X obj 542 130 cnv 15 100 80 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X msg 485 65 draw line;
-#X msg 485 86 draw fill;
-#X msg 485 108 draw point;
-#X obj 553 54 gemhead;
-#X floatatom 569 144 5 0 0 2 size - -;
-#X obj 553 79 rotateXYZ 90 0 0;
-#X floatatom 586 171 5 0 0 2 segments - -;
-#X text 27 272 Inlet 3: int: number of segments;
-#X obj 553 189 cone 1;
-#X text 64 180 defaults: 1 10;
-#X text 63 162 size of the cone \, number of segments;
-#X text 27 247 Inlet 1: message: draw [line|fill|point|default];
-#X connect 3 0 4 0;
-#X connect 4 0 3 0;
-#X connect 21 0 29 0;
-#X connect 22 0 29 0;
-#X connect 23 0 29 0;
-#X connect 24 0 26 0;
-#X connect 25 0 29 1;
-#X connect 26 0 29 0;
-#X connect 27 0 29 2;
+#N canvas 290 157 710 345 10;
+#X text 54 30 Class: geometric object;
+#X obj 479 47 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X obj 544 224 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 198 112 destroy;
+#X msg 132 112 create \, 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 549 263 pd gemwin;
+#X msg 549 244 create;
+#X text 545 223 Create window:;
+#X text 485 29 Example:;
+#X obj 7 65 cnv 15 450 80 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 8 216 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 9 221 Inlets:;
+#X obj 8 146 cnv 15 450 50 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 145 Arguments:;
+#X text 27 261 Inlet 2: float: size;
+#X text 452 8 GEM object;
+#X text 27 233 Inlet 1: gemlist;
+#X text 9 287 Outlets:;
+#X text 21 300 Outlet 1: gemlist;
+#X text 33 14 Synopsis: [cone];
+#X text 7 69 Description: Renders a cone.;
+#X text 14 86 The cone object renders a cone at the current position
+with current color. The look of the cone can be changed with the draw
+message \, its size can be changed via the second inlet.;
+#X obj 542 130 cnv 15 100 80 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X msg 485 65 draw line;
+#X msg 485 86 draw fill;
+#X msg 485 108 draw point;
+#X obj 553 54 gemhead;
+#X floatatom 569 144 5 0 0 2 size - -;
+#X obj 553 79 rotateXYZ 90 0 0;
+#X floatatom 586 171 5 0 0 2 segments - -;
+#X text 27 272 Inlet 3: int: number of segments;
+#X obj 553 189 cone 1;
+#X text 64 180 defaults: 1 10;
+#X text 63 162 size of the cone \, number of segments;
+#X text 27 247 Inlet 1: message: draw [line|fill|point|default];
+#X connect 3 0 4 0;
+#X connect 4 0 3 0;
+#X connect 21 0 29 0;
+#X connect 22 0 29 0;
+#X connect 23 0 29 0;
+#X connect 24 0 26 0;
+#X connect 25 0 29 1;
+#X connect 26 0 29 0;
+#X connect 27 0 29 2;
diff --git a/packages/noncvs/windows/extra/Gem/cube-help.pd b/packages/noncvs/windows/extra/Gem/cube-help.pd
index d80e0e18..32e4ec0a 100644
--- a/packages/noncvs/windows/extra/Gem/cube-help.pd
+++ b/packages/noncvs/windows/extra/Gem/cube-help.pd
@@ -1,64 +1,64 @@
-#N canvas 289 160 710 345 10;
-#X text 54 30 Class: geometric object;
-#X obj 519 47 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X obj 584 224 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 198 112 destroy;
-#X msg 132 112 create \, 1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 589 263 pd gemwin;
-#X msg 589 244 create;
-#X text 585 223 Create window:;
-#X obj 7 65 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 8 216 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 9 221 Inlets:;
-#X obj 8 176 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 175 Arguments:;
-#X text 27 247 Inlet 1: message: draw [line|fill|point];
-#X text 27 261 Inlet 2: float: size;
-#X text 452 8 GEM object;
-#X text 27 233 Inlet 1: gemlist;
-#X text 9 280 Outlets:;
-#X text 21 293 Outlet 1: gemlist;
-#X text 33 14 Synopsis: [cube];
-#X text 7 69 Description: Renders a cube.;
-#X text 63 186 size of the cube;
-#X text 16 86 The cube object renders a cube at the current position
-with current color. The size of the cube can be changed via the second
-inlet.;
-#X text 525 29 Example:;
-#X obj 522 78 cnv 15 150 100 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X msg 525 128 draw point;
-#X obj 593 54 gemhead;
-#X floatatom 624 114 5 0 0 0 - - -;
-#X text 624 98 size;
-#X obj 593 159 cube;
-#X msg 525 106 draw line;
-#X msg 525 85 draw default;
-#X connect 3 0 4 0;
-#X connect 4 0 3 0;
-#X connect 23 0 27 0;
-#X connect 24 0 27 0;
-#X connect 25 0 27 1;
-#X connect 28 0 27 0;
-#X connect 29 0 27 0;
+#N canvas 289 160 710 345 10;
+#X text 54 30 Class: geometric object;
+#X obj 519 47 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X obj 584 224 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 198 112 destroy;
+#X msg 132 112 create \, 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 589 263 pd gemwin;
+#X msg 589 244 create;
+#X text 585 223 Create window:;
+#X obj 7 65 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 8 216 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 9 221 Inlets:;
+#X obj 8 176 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 175 Arguments:;
+#X text 27 247 Inlet 1: message: draw [line|fill|point];
+#X text 27 261 Inlet 2: float: size;
+#X text 452 8 GEM object;
+#X text 27 233 Inlet 1: gemlist;
+#X text 9 280 Outlets:;
+#X text 21 293 Outlet 1: gemlist;
+#X text 33 14 Synopsis: [cube];
+#X text 7 69 Description: Renders a cube.;
+#X text 63 186 size of the cube;
+#X text 16 86 The cube object renders a cube at the current position
+with current color. The size of the cube can be changed via the second
+inlet.;
+#X text 525 29 Example:;
+#X obj 522 78 cnv 15 150 100 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X msg 525 128 draw point;
+#X obj 593 54 gemhead;
+#X floatatom 624 114 5 0 0 0 - - -;
+#X text 624 98 size;
+#X obj 593 159 cube;
+#X msg 525 106 draw line;
+#X msg 525 85 draw default;
+#X connect 3 0 4 0;
+#X connect 4 0 3 0;
+#X connect 23 0 27 0;
+#X connect 24 0 27 0;
+#X connect 25 0 27 1;
+#X connect 28 0 27 0;
+#X connect 29 0 27 0;
diff --git a/packages/noncvs/windows/extra/Gem/cuboid-help.pd b/packages/noncvs/windows/extra/Gem/cuboid-help.pd
index 428b791c..7dd3dbef 100644
--- a/packages/noncvs/windows/extra/Gem/cuboid-help.pd
+++ b/packages/noncvs/windows/extra/Gem/cuboid-help.pd
@@ -1,73 +1,73 @@
-#N canvas 289 160 710 363 10;
-#X text 54 30 Class: geometric object;
-#X obj 519 47 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X obj 584 224 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 198 112 destroy;
-#X msg 132 112 create \, 1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 589 263 pd gemwin;
-#X msg 589 244 create;
-#X text 585 223 Create window:;
-#X text 525 29 Example:;
-#X obj 7 65 cnv 15 450 80 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 8 216 cnv 15 450 130 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 9 221 Inlets:;
-#X obj 8 156 cnv 15 450 50 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 155 Arguments:;
-#X text 27 247 Inlet 1: message: draw [line|fill|point];
-#X text 452 8 GEM object;
-#X text 27 233 Inlet 1: gemlist;
-#X text 9 310 Outlets:;
-#X text 21 323 Outlet 1: gemlist;
-#X obj 522 82 cnv 15 160 120 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X msg 525 95 draw line;
-#X msg 525 116 draw fill;
-#X msg 525 138 draw point;
-#X obj 593 54 gemhead;
-#X floatatom 605 104 5 0 0 0 - - -;
-#X obj 593 179 cuboid;
-#X floatatom 617 134 5 0 0 0 - - -;
-#X floatatom 630 162 5 0 0 0 - - -;
-#X text 605 88 length;
-#X text 617 118 height;
-#X text 630 146 depth;
-#X text 63 167 dimensions of the cuboid (length width height);
-#X text 7 69 Description: Renders a cuboid box.;
-#X text 16 86 The cuboid object renders a cuboid (box) at the current
-position with current color. The dimensions of the cuboid can be changed
-via the last three inlets.;
-#X text 33 14 Synopsis: [cuboid];
-#X text 27 260 Inlet 2: float: length (dimX);
-#X text 27 275 Inlet 3: float: height (dimY);
-#X text 27 289 Inlet 4: float: depth (dimZ);
-#X text 65 181 default: 1 1 0;
-#X connect 3 0 4 0;
-#X connect 4 0 3 0;
-#X connect 18 0 23 0;
-#X connect 19 0 23 0;
-#X connect 20 0 23 0;
-#X connect 21 0 23 0;
-#X connect 22 0 23 1;
-#X connect 24 0 23 2;
-#X connect 25 0 23 3;
+#N canvas 289 160 710 363 10;
+#X text 54 30 Class: geometric object;
+#X obj 519 47 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X obj 584 224 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 198 112 destroy;
+#X msg 132 112 create \, 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 589 263 pd gemwin;
+#X msg 589 244 create;
+#X text 585 223 Create window:;
+#X text 525 29 Example:;
+#X obj 7 65 cnv 15 450 80 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 8 216 cnv 15 450 130 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 9 221 Inlets:;
+#X obj 8 156 cnv 15 450 50 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 155 Arguments:;
+#X text 27 247 Inlet 1: message: draw [line|fill|point];
+#X text 452 8 GEM object;
+#X text 27 233 Inlet 1: gemlist;
+#X text 9 310 Outlets:;
+#X text 21 323 Outlet 1: gemlist;
+#X obj 522 82 cnv 15 160 120 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X msg 525 95 draw line;
+#X msg 525 116 draw fill;
+#X msg 525 138 draw point;
+#X obj 593 54 gemhead;
+#X floatatom 605 104 5 0 0 0 - - -;
+#X obj 593 179 cuboid;
+#X floatatom 617 134 5 0 0 0 - - -;
+#X floatatom 630 162 5 0 0 0 - - -;
+#X text 605 88 length;
+#X text 617 118 height;
+#X text 630 146 depth;
+#X text 63 167 dimensions of the cuboid (length width height);
+#X text 7 69 Description: Renders a cuboid box.;
+#X text 16 86 The cuboid object renders a cuboid (box) at the current
+position with current color. The dimensions of the cuboid can be changed
+via the last three inlets.;
+#X text 33 14 Synopsis: [cuboid];
+#X text 27 260 Inlet 2: float: length (dimX);
+#X text 27 275 Inlet 3: float: height (dimY);
+#X text 27 289 Inlet 4: float: depth (dimZ);
+#X text 65 181 default: 1 1 0;
+#X connect 3 0 4 0;
+#X connect 4 0 3 0;
+#X connect 18 0 23 0;
+#X connect 19 0 23 0;
+#X connect 20 0 23 0;
+#X connect 21 0 23 0;
+#X connect 22 0 23 1;
+#X connect 24 0 23 2;
+#X connect 25 0 23 3;
diff --git a/packages/noncvs/windows/extra/Gem/curve-help.pd b/packages/noncvs/windows/extra/Gem/curve-help.pd
index 69227794..8f53025f 100644
--- a/packages/noncvs/windows/extra/Gem/curve-help.pd
+++ b/packages/noncvs/windows/extra/Gem/curve-help.pd
@@ -1,112 +1,112 @@
-#N canvas 65 18 762 461 10;
-#X text 54 30 Class: geometric object;
-#X text 475 39 Example:;
-#X obj 7 65 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 8 216 cnv 15 450 180 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 9 221 Inlets:;
-#X obj 8 176 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 175 Arguments:;
-#X text 452 8 GEM object;
-#X text 27 233 Inlet 1: gemlist;
-#X text 9 358 Outlets:;
-#X text 21 371 Outlet 1: gemlist;
-#X obj 469 58 cnv 15 200 295 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X obj 568 359 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy \, reset;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 573 398 pd gemwin;
-#X msg 573 379 create;
-#X text 569 358 Create window:;
-#X obj 474 112 cnv 15 190 200 empty empty empty 20 12 0 14 -85973 -66577
-0;
-#X obj 521 319 cnv 15 100 30 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X text 21 138 Each (additional) inlet will accept an X Y Z point which
-is where the control point will be.;
-#X text 28 323 Inlet 2: list: 3(XYZ) float values;
-#X text 28 344 Inlet N: list: 3(XYZ) float values;
-#X text 52 330 ...;
-#X text 33 14 Synopsis: [curve];
-#X text 7 69 Description: Renders a bezier-curve;
-#X text 63 187 number of control-points of the curve (mandatory);
-#X text 27 247 Inlet 1: message: draw [line|linestrip|fill|point|tri|tristrip|trifan|quad|quadstrip]
-;
-#X text 22 88 [curve] creates a bezier curve. The initial argument
-is the number of control-points of the curve. There is no maximum number
-of control-points.;
-#X text 27 306 Inlet 1: message: res <int> : interpolation-resolution(30)
-;
-#X text 27 293 Inlet 1: message: width <int> : line-width(1);
-#X obj 596 233 cnv 15 65 75 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X msg 479 163 draw line;
-#X msg 479 118 draw fill;
-#X msg 479 140 draw point;
-#X obj 537 64 gemhead;
-#X msg 585 115 1 1 0;
-#X msg 593 135 1 -1 0;
-#X floatatom 605 196 5 0 0 0 - - -;
-#X msg 603 175 -2 1 0;
-#X msg 599 155 -1 -1 -3;
-#X msg 479 183 draw linestrip;
-#X msg 479 203 draw tri;
-#X msg 479 225 draw tristrip;
-#X msg 478 248 draw trifan;
-#X msg 478 269 draw quad;
-#X msg 478 291 draw quadstrip;
-#X obj 537 88 rotateXYZ;
-#X floatatom 595 65 5 0 0 0 - - -;
-#X obj 537 326 curve 5;
-#X obj 608 89 loadbang;
-#X floatatom 599 237 5 0 10 0 - - -;
-#X msg 599 253 width \$1;
-#X floatatom 600 274 5 0 100 0 - - -;
-#X msg 600 291 res \$1;
-#X msg 605 213 \$1 \$1 \$1;
-#X connect 13 0 14 0;
-#X connect 14 0 13 0;
-#X connect 30 0 47 0;
-#X connect 31 0 47 0;
-#X connect 32 0 47 0;
-#X connect 33 0 45 0;
-#X connect 34 0 47 1;
-#X connect 35 0 47 2;
-#X connect 36 0 53 0;
-#X connect 37 0 47 4;
-#X connect 38 0 47 3;
-#X connect 39 0 47 0;
-#X connect 40 0 47 0;
-#X connect 41 0 47 0;
-#X connect 42 0 47 0;
-#X connect 43 0 47 0;
-#X connect 44 0 47 0;
-#X connect 45 0 47 0;
-#X connect 46 0 45 1;
-#X connect 46 0 45 3;
-#X connect 48 0 34 0;
-#X connect 49 0 50 0;
-#X connect 50 0 47 0;
-#X connect 51 0 52 0;
-#X connect 52 0 47 0;
-#X connect 53 0 47 5;
+#N canvas 65 18 762 461 10;
+#X text 54 30 Class: geometric object;
+#X text 475 39 Example:;
+#X obj 7 65 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 8 216 cnv 15 450 180 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 9 221 Inlets:;
+#X obj 8 176 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 175 Arguments:;
+#X text 452 8 GEM object;
+#X text 27 233 Inlet 1: gemlist;
+#X text 9 358 Outlets:;
+#X text 21 371 Outlet 1: gemlist;
+#X obj 469 58 cnv 15 200 295 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X obj 568 359 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy \, reset;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 573 398 pd gemwin;
+#X msg 573 379 create;
+#X text 569 358 Create window:;
+#X obj 474 112 cnv 15 190 200 empty empty empty 20 12 0 14 -85973 -66577
+0;
+#X obj 521 319 cnv 15 100 30 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X text 21 138 Each (additional) inlet will accept an X Y Z point which
+is where the control point will be.;
+#X text 28 323 Inlet 2: list: 3(XYZ) float values;
+#X text 28 344 Inlet N: list: 3(XYZ) float values;
+#X text 52 330 ...;
+#X text 33 14 Synopsis: [curve];
+#X text 7 69 Description: Renders a bezier-curve;
+#X text 63 187 number of control-points of the curve (mandatory);
+#X text 27 247 Inlet 1: message: draw [line|linestrip|fill|point|tri|tristrip|trifan|quad|quadstrip]
+;
+#X text 22 88 [curve] creates a bezier curve. The initial argument
+is the number of control-points of the curve. There is no maximum number
+of control-points.;
+#X text 27 306 Inlet 1: message: res <int> : interpolation-resolution(30)
+;
+#X text 27 293 Inlet 1: message: width <int> : line-width(1);
+#X obj 596 233 cnv 15 65 75 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X msg 479 163 draw line;
+#X msg 479 118 draw fill;
+#X msg 479 140 draw point;
+#X obj 537 64 gemhead;
+#X msg 585 115 1 1 0;
+#X msg 593 135 1 -1 0;
+#X floatatom 605 196 5 0 0 0 - - -;
+#X msg 603 175 -2 1 0;
+#X msg 599 155 -1 -1 -3;
+#X msg 479 183 draw linestrip;
+#X msg 479 203 draw tri;
+#X msg 479 225 draw tristrip;
+#X msg 478 248 draw trifan;
+#X msg 478 269 draw quad;
+#X msg 478 291 draw quadstrip;
+#X obj 537 88 rotateXYZ;
+#X floatatom 595 65 5 0 0 0 - - -;
+#X obj 537 326 curve 5;
+#X obj 608 89 loadbang;
+#X floatatom 599 237 5 0 10 0 - - -;
+#X msg 599 253 width \$1;
+#X floatatom 600 274 5 0 100 0 - - -;
+#X msg 600 291 res \$1;
+#X msg 605 213 \$1 \$1 \$1;
+#X connect 13 0 14 0;
+#X connect 14 0 13 0;
+#X connect 30 0 47 0;
+#X connect 31 0 47 0;
+#X connect 32 0 47 0;
+#X connect 33 0 45 0;
+#X connect 34 0 47 1;
+#X connect 35 0 47 2;
+#X connect 36 0 53 0;
+#X connect 37 0 47 4;
+#X connect 38 0 47 3;
+#X connect 39 0 47 0;
+#X connect 40 0 47 0;
+#X connect 41 0 47 0;
+#X connect 42 0 47 0;
+#X connect 43 0 47 0;
+#X connect 44 0 47 0;
+#X connect 45 0 47 0;
+#X connect 46 0 45 1;
+#X connect 46 0 45 3;
+#X connect 48 0 34 0;
+#X connect 49 0 50 0;
+#X connect 50 0 47 0;
+#X connect 51 0 52 0;
+#X connect 52 0 47 0;
+#X connect 53 0 47 5;
diff --git a/packages/noncvs/windows/extra/Gem/curve3d-help.pd b/packages/noncvs/windows/extra/Gem/curve3d-help.pd
index 4c537455..8348b0f4 100644
--- a/packages/noncvs/windows/extra/Gem/curve3d-help.pd
+++ b/packages/noncvs/windows/extra/Gem/curve3d-help.pd
@@ -1,1658 +1,1658 @@
-#N canvas 361 100 968 580 10;
-#X text 145 42 Class: geometric object;
-#X obj 13 64 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 13 212 cnv 15 450 220 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 17 214 Inlets:;
-#X obj 13 173 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 22 172 Arguments:;
-#X text 32 229 Inlet 1: gemlist;
-#X text 14 401 Outlets:;
-#X text 28 413 Outlet 1: gemlist;
-#X text 146 24 Synopsis: [curve3d];
-#X obj 475 63 cnv 15 480 500 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 845 484 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 455 304 gemwin 0;
-#X obj 132 182 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 198 112 destroy;
-#X msg 132 112 create \, 1;
-#X obj 294 56 gemhead;
-#X obj 294 76 world_light;
-#X msg 207 155 lighting 1;
-#X obj 207 134 loadbang;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X connect 8 0 9 0;
-#X connect 10 0 0 0;
-#X connect 11 0 10 0;
-#X restore 861 523 pd gemwin;
-#X msg 861 504 create;
-#X text 857 483 Create window:;
-#X obj 796 74 cnv 15 150 150 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 796 234 cnv 15 150 150 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 486 74 cnv 15 300 310 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X msg 519 175 draw line;
-#X msg 519 155 draw fill;
-#X msg 519 195 draw point;
-#X msg 536 300 width 1;
-#X msg 536 321 width 4;
-#X msg 519 216 draw line1;
-#X msg 519 237 draw line2;
-#X msg 519 258 draw line3;
-#X msg 519 279 draw line4;
-#X msg 657 169 draw control_line;
-#X msg 657 190 draw control_line1;
-#X msg 657 211 draw control_line2;
-#X msg 657 232 draw control_fill;
-#X msg 657 253 draw control_point;
-#X msg 834 111 res 2 2;
-#X msg 829 269 grid 2 10;
-#X msg 834 132 res 3 3;
-#X msg 829 290 grid 10 10;
-#X msg 829 332 grid 40 40;
-#X msg 834 153 res 5 5;
-#X msg 834 174 res 1 4;
-#X msg 829 311 grid 20 20;
-#X text 592 92 draw style;
-#X text 506 124 draw the curve;
-#X obj 624 343 s curve3d;
-#X obj 810 198 s curve3d;
-#X obj 807 356 s curve3d;
-#X obj 490 344 s curve3d;
-#X text 660 139 of the curve;
-#X text 647 125 draw control point;
-#X obj 486 398 cnv 15 300 150 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 494 407 gemhead;
-#X floatatom 522 450 5 0 0 0 - - -;
-#X floatatom 557 450 5 0 0 0 - - -;
-#X floatatom 593 450 5 0 0 0 - - -;
-#X floatatom 562 408 5 0 0 0 - - -;
-#X floatatom 610 408 5 0 0 0 - - -;
-#X floatatom 659 408 5 0 0 0 - - -;
-#X obj 494 471 rotateXYZ 0 0 0;
-#X obj 494 428 translateXYZ -2.5 -2.5 -2;
-#X obj 504 496 r curve3d;
-#X text 809 91 control matrix;
-#X text 804 78 resolution of the;
-#X text 805 239 resolution of the;
-#X text 826 250 curve grid;
-#X text 28 389 Inlet 2: not used;
-#X text 32 243 Inlet 1: message: draw [line|fill|point|...];
-#X obj 13 443 cnv 15 450 120 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 253 49 691 493 forme2 0;
-#N canvas 0 0 353 257 tripleRnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 219 outlet;
-#X obj 92 64 random 100;
-#X obj 92 122 pack 0 1000;
-#X obj 92 145 line;
-#X obj 170 64 random 100;
-#X obj 170 122 pack 0 1000;
-#X obj 170 145 line;
-#X obj 12 189 pack f f f;
-#X obj 12 90 / 20;
-#X obj 92 91 / 20;
-#X obj 170 91 / 20;
-#X obj 12 12 r bang_forme2;
-#X obj 231 9 r line_forme2;
-#X connect 0 0 11 0;
-#X connect 1 0 2 0;
-#X connect 2 0 10 0;
-#X connect 4 0 12 0;
-#X connect 5 0 6 0;
-#X connect 6 0 10 1;
-#X connect 7 0 13 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 2;
-#X connect 10 0 3 0;
-#X connect 11 0 1 0;
-#X connect 12 0 5 0;
-#X connect 13 0 8 0;
-#X connect 14 0 0 0;
-#X connect 14 0 4 0;
-#X connect 14 0 7 0;
-#X connect 15 0 1 1;
-#X connect 15 0 5 1;
-#X connect 15 0 8 1;
-#X restore 28 92 pd tripleRnd;
-#X msg 26 270 set 2 0 \$1 \$2 \$3;
-#X msg 161 269 set 2 1 \$1 \$2 \$3;
-#X msg 298 269 set 2 2 \$1 \$2 \$3;
-#X msg 299 190 set 1 2 \$1 \$2 \$3;
-#X msg 299 112 set 0 2 \$1 \$2 \$3;
-#X msg 161 112 set 0 1 \$1 \$2 \$3;
-#X msg 28 114 set 0 0 \$1 \$2 \$3;
-#X msg 29 193 set 1 0 \$1 \$2 \$3;
-#X msg 161 189 set 1 1 \$1 \$2 \$3;
-#X msg 26 337 set 3 0 \$1 \$2 \$3;
-#X msg 162 336 set 3 1 \$1 \$2 \$3;
-#X msg 298 338 set 3 2 \$1 \$2 \$3;
-#X msg 423 111 set 0 3 \$1 \$2 \$3;
-#X msg 424 189 set 1 3 \$1 \$2 \$3;
-#X msg 424 265 set 2 3 \$1 \$2 \$3;
-#X msg 423 335 set 3 3 \$1 \$2 \$3;
-#X msg 544 109 set 0 4 \$1 \$2 \$3;
-#X msg 545 187 set 1 4 \$1 \$2 \$3;
-#X msg 540 263 set 2 4 \$1 \$2 \$3;
-#X msg 543 333 set 3 4 \$1 \$2 \$3;
-#X msg 28 399 set 4 0 \$1 \$2 \$3;
-#X msg 162 392 set 4 1 \$1 \$2 \$3;
-#X msg 299 393 set 4 2 \$1 \$2 \$3;
-#X msg 424 391 set 4 3 \$1 \$2 \$3;
-#X msg 545 389 set 4 4 \$1 \$2 \$3;
-#X obj 10 445 outlet;
-#X obj 36 15 inlet;
-#X obj 36 39 s bang_forme2;
-#N canvas 0 0 355 259 tripleRnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 219 outlet;
-#X obj 92 64 random 100;
-#X obj 92 122 pack 0 1000;
-#X obj 92 145 line;
-#X obj 170 64 random 100;
-#X obj 170 122 pack 0 1000;
-#X obj 170 145 line;
-#X obj 12 189 pack f f f;
-#X obj 12 90 / 20;
-#X obj 92 91 / 20;
-#X obj 170 91 / 20;
-#X obj 12 12 r bang_forme2;
-#X obj 231 9 r line_forme2;
-#X connect 0 0 11 0;
-#X connect 1 0 2 0;
-#X connect 2 0 10 0;
-#X connect 4 0 12 0;
-#X connect 5 0 6 0;
-#X connect 6 0 10 1;
-#X connect 7 0 13 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 2;
-#X connect 10 0 3 0;
-#X connect 11 0 1 0;
-#X connect 12 0 5 0;
-#X connect 13 0 8 0;
-#X connect 14 0 0 0;
-#X connect 14 0 4 0;
-#X connect 14 0 7 0;
-#X connect 15 0 1 1;
-#X connect 15 0 5 1;
-#X connect 15 0 8 1;
-#X restore 161 90 pd tripleRnd;
-#N canvas 0 0 351 255 tripleRnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 219 outlet;
-#X obj 92 64 random 100;
-#X obj 92 122 pack 0 1000;
-#X obj 92 145 line;
-#X obj 170 64 random 100;
-#X obj 170 122 pack 0 1000;
-#X obj 170 145 line;
-#X obj 12 189 pack f f f;
-#X obj 12 90 / 20;
-#X obj 92 91 / 20;
-#X obj 170 91 / 20;
-#X obj 12 12 r bang_forme2;
-#X obj 231 9 r line_forme2;
-#X connect 0 0 11 0;
-#X connect 1 0 2 0;
-#X connect 2 0 10 0;
-#X connect 4 0 12 0;
-#X connect 5 0 6 0;
-#X connect 6 0 10 1;
-#X connect 7 0 13 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 2;
-#X connect 10 0 3 0;
-#X connect 11 0 1 0;
-#X connect 12 0 5 0;
-#X connect 13 0 8 0;
-#X connect 14 0 0 0;
-#X connect 14 0 4 0;
-#X connect 14 0 7 0;
-#X connect 15 0 1 1;
-#X connect 15 0 5 1;
-#X connect 15 0 8 1;
-#X restore 299 91 pd tripleRnd;
-#N canvas 0 0 351 255 tripleRnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 219 outlet;
-#X obj 92 64 random 100;
-#X obj 92 122 pack 0 1000;
-#X obj 92 145 line;
-#X obj 170 64 random 100;
-#X obj 170 122 pack 0 1000;
-#X obj 170 145 line;
-#X obj 12 189 pack f f f;
-#X obj 12 90 / 20;
-#X obj 92 91 / 20;
-#X obj 170 91 / 20;
-#X obj 12 12 r bang_forme2;
-#X obj 231 9 r line_forme2;
-#X connect 0 0 11 0;
-#X connect 1 0 2 0;
-#X connect 2 0 10 0;
-#X connect 4 0 12 0;
-#X connect 5 0 6 0;
-#X connect 6 0 10 1;
-#X connect 7 0 13 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 2;
-#X connect 10 0 3 0;
-#X connect 11 0 1 0;
-#X connect 12 0 5 0;
-#X connect 13 0 8 0;
-#X connect 14 0 0 0;
-#X connect 14 0 4 0;
-#X connect 14 0 7 0;
-#X connect 15 0 1 1;
-#X connect 15 0 5 1;
-#X connect 15 0 8 1;
-#X restore 423 89 pd tripleRnd;
-#N canvas 0 0 351 255 tripleRnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 219 outlet;
-#X obj 92 64 random 100;
-#X obj 92 122 pack 0 1000;
-#X obj 92 145 line;
-#X obj 170 64 random 100;
-#X obj 170 122 pack 0 1000;
-#X obj 170 145 line;
-#X obj 12 189 pack f f f;
-#X obj 12 90 / 20;
-#X obj 92 91 / 20;
-#X obj 170 91 / 20;
-#X obj 12 12 r bang_forme2;
-#X obj 231 9 r line_forme2;
-#X connect 0 0 11 0;
-#X connect 1 0 2 0;
-#X connect 2 0 10 0;
-#X connect 4 0 12 0;
-#X connect 5 0 6 0;
-#X connect 6 0 10 1;
-#X connect 7 0 13 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 2;
-#X connect 10 0 3 0;
-#X connect 11 0 1 0;
-#X connect 12 0 5 0;
-#X connect 13 0 8 0;
-#X connect 14 0 0 0;
-#X connect 14 0 4 0;
-#X connect 14 0 7 0;
-#X connect 15 0 1 1;
-#X connect 15 0 5 1;
-#X connect 15 0 8 1;
-#X restore 544 86 pd tripleRnd;
-#N canvas 0 0 351 255 tripleRnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 219 outlet;
-#X obj 92 64 random 100;
-#X obj 92 122 pack 0 1000;
-#X obj 92 145 line;
-#X obj 170 64 random 100;
-#X obj 170 122 pack 0 1000;
-#X obj 170 145 line;
-#X obj 12 189 pack f f f;
-#X obj 12 90 / 20;
-#X obj 92 91 / 20;
-#X obj 170 91 / 20;
-#X obj 12 12 r bang_forme2;
-#X obj 231 9 r line_forme2;
-#X connect 0 0 11 0;
-#X connect 1 0 2 0;
-#X connect 2 0 10 0;
-#X connect 4 0 12 0;
-#X connect 5 0 6 0;
-#X connect 6 0 10 1;
-#X connect 7 0 13 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 2;
-#X connect 10 0 3 0;
-#X connect 11 0 1 0;
-#X connect 12 0 5 0;
-#X connect 13 0 8 0;
-#X connect 14 0 0 0;
-#X connect 14 0 4 0;
-#X connect 14 0 7 0;
-#X connect 15 0 1 1;
-#X connect 15 0 5 1;
-#X connect 15 0 8 1;
-#X restore 29 169 pd tripleRnd;
-#N canvas 0 0 351 255 tripleRnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 219 outlet;
-#X obj 92 64 random 100;
-#X obj 92 122 pack 0 1000;
-#X obj 92 145 line;
-#X obj 170 64 random 100;
-#X obj 170 122 pack 0 1000;
-#X obj 170 145 line;
-#X obj 12 189 pack f f f;
-#X obj 12 90 / 20;
-#X obj 92 91 / 20;
-#X obj 170 91 / 20;
-#X obj 12 12 r bang_forme2;
-#X obj 231 9 r line_forme2;
-#X connect 0 0 11 0;
-#X connect 1 0 2 0;
-#X connect 2 0 10 0;
-#X connect 4 0 12 0;
-#X connect 5 0 6 0;
-#X connect 6 0 10 1;
-#X connect 7 0 13 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 2;
-#X connect 10 0 3 0;
-#X connect 11 0 1 0;
-#X connect 12 0 5 0;
-#X connect 13 0 8 0;
-#X connect 14 0 0 0;
-#X connect 14 0 4 0;
-#X connect 14 0 7 0;
-#X connect 15 0 1 1;
-#X connect 15 0 5 1;
-#X connect 15 0 8 1;
-#X restore 162 167 pd tripleRnd;
-#N canvas 0 0 351 255 tripleRnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 219 outlet;
-#X obj 92 64 random 100;
-#X obj 92 122 pack 0 1000;
-#X obj 92 145 line;
-#X obj 170 64 random 100;
-#X obj 170 122 pack 0 1000;
-#X obj 170 145 line;
-#X obj 12 189 pack f f f;
-#X obj 12 90 / 20;
-#X obj 92 91 / 20;
-#X obj 170 91 / 20;
-#X obj 12 12 r bang_forme2;
-#X obj 231 9 r line_forme2;
-#X connect 0 0 11 0;
-#X connect 1 0 2 0;
-#X connect 2 0 10 0;
-#X connect 4 0 12 0;
-#X connect 5 0 6 0;
-#X connect 6 0 10 1;
-#X connect 7 0 13 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 2;
-#X connect 10 0 3 0;
-#X connect 11 0 1 0;
-#X connect 12 0 5 0;
-#X connect 13 0 8 0;
-#X connect 14 0 0 0;
-#X connect 14 0 4 0;
-#X connect 14 0 7 0;
-#X connect 15 0 1 1;
-#X connect 15 0 5 1;
-#X connect 15 0 8 1;
-#X restore 300 168 pd tripleRnd;
-#N canvas 0 0 351 255 tripleRnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 219 outlet;
-#X obj 92 64 random 100;
-#X obj 92 122 pack 0 1000;
-#X obj 92 145 line;
-#X obj 170 64 random 100;
-#X obj 170 122 pack 0 1000;
-#X obj 170 145 line;
-#X obj 12 189 pack f f f;
-#X obj 12 90 / 20;
-#X obj 92 91 / 20;
-#X obj 170 91 / 20;
-#X obj 12 12 r bang_forme2;
-#X obj 231 9 r line_forme2;
-#X connect 0 0 11 0;
-#X connect 1 0 2 0;
-#X connect 2 0 10 0;
-#X connect 4 0 12 0;
-#X connect 5 0 6 0;
-#X connect 6 0 10 1;
-#X connect 7 0 13 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 2;
-#X connect 10 0 3 0;
-#X connect 11 0 1 0;
-#X connect 12 0 5 0;
-#X connect 13 0 8 0;
-#X connect 14 0 0 0;
-#X connect 14 0 4 0;
-#X connect 14 0 7 0;
-#X connect 15 0 1 1;
-#X connect 15 0 5 1;
-#X connect 15 0 8 1;
-#X restore 424 166 pd tripleRnd;
-#N canvas 0 0 351 255 tripleRnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 219 outlet;
-#X obj 92 64 random 100;
-#X obj 92 122 pack 0 1000;
-#X obj 92 145 line;
-#X obj 170 64 random 100;
-#X obj 170 122 pack 0 1000;
-#X obj 170 145 line;
-#X obj 12 189 pack f f f;
-#X obj 12 90 / 20;
-#X obj 92 91 / 20;
-#X obj 170 91 / 20;
-#X obj 12 12 r bang_forme2;
-#X obj 231 9 r line_forme2;
-#X connect 0 0 11 0;
-#X connect 1 0 2 0;
-#X connect 2 0 10 0;
-#X connect 4 0 12 0;
-#X connect 5 0 6 0;
-#X connect 6 0 10 1;
-#X connect 7 0 13 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 2;
-#X connect 10 0 3 0;
-#X connect 11 0 1 0;
-#X connect 12 0 5 0;
-#X connect 13 0 8 0;
-#X connect 14 0 0 0;
-#X connect 14 0 4 0;
-#X connect 14 0 7 0;
-#X connect 15 0 1 1;
-#X connect 15 0 5 1;
-#X connect 15 0 8 1;
-#X restore 545 163 pd tripleRnd;
-#N canvas 0 0 351 255 tripleRnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 219 outlet;
-#X obj 92 64 random 100;
-#X obj 92 122 pack 0 1000;
-#X obj 92 145 line;
-#X obj 170 64 random 100;
-#X obj 170 122 pack 0 1000;
-#X obj 170 145 line;
-#X obj 12 189 pack f f f;
-#X obj 12 90 / 20;
-#X obj 92 91 / 20;
-#X obj 170 91 / 20;
-#X obj 12 12 r bang_forme2;
-#X obj 231 9 r line_forme2;
-#X connect 0 0 11 0;
-#X connect 1 0 2 0;
-#X connect 2 0 10 0;
-#X connect 4 0 12 0;
-#X connect 5 0 6 0;
-#X connect 6 0 10 1;
-#X connect 7 0 13 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 2;
-#X connect 10 0 3 0;
-#X connect 11 0 1 0;
-#X connect 12 0 5 0;
-#X connect 13 0 8 0;
-#X connect 14 0 0 0;
-#X connect 14 0 4 0;
-#X connect 14 0 7 0;
-#X connect 15 0 1 1;
-#X connect 15 0 5 1;
-#X connect 15 0 8 1;
-#X restore 28 247 pd tripleRnd;
-#N canvas 0 0 351 255 tripleRnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 219 outlet;
-#X obj 92 64 random 100;
-#X obj 92 122 pack 0 1000;
-#X obj 92 145 line;
-#X obj 170 64 random 100;
-#X obj 170 122 pack 0 1000;
-#X obj 170 145 line;
-#X obj 12 189 pack f f f;
-#X obj 12 90 / 20;
-#X obj 92 91 / 20;
-#X obj 170 91 / 20;
-#X obj 12 12 r bang_forme2;
-#X obj 231 9 r line_forme2;
-#X connect 0 0 11 0;
-#X connect 1 0 2 0;
-#X connect 2 0 10 0;
-#X connect 4 0 12 0;
-#X connect 5 0 6 0;
-#X connect 6 0 10 1;
-#X connect 7 0 13 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 2;
-#X connect 10 0 3 0;
-#X connect 11 0 1 0;
-#X connect 12 0 5 0;
-#X connect 13 0 8 0;
-#X connect 14 0 0 0;
-#X connect 14 0 4 0;
-#X connect 14 0 7 0;
-#X connect 15 0 1 1;
-#X connect 15 0 5 1;
-#X connect 15 0 8 1;
-#X restore 161 245 pd tripleRnd;
-#N canvas 0 0 351 255 tripleRnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 219 outlet;
-#X obj 92 64 random 100;
-#X obj 92 122 pack 0 1000;
-#X obj 92 145 line;
-#X obj 170 64 random 100;
-#X obj 170 122 pack 0 1000;
-#X obj 170 145 line;
-#X obj 12 189 pack f f f;
-#X obj 12 90 / 20;
-#X obj 92 91 / 20;
-#X obj 170 91 / 20;
-#X obj 12 12 r bang_forme2;
-#X obj 231 9 r line_forme2;
-#X connect 0 0 11 0;
-#X connect 1 0 2 0;
-#X connect 2 0 10 0;
-#X connect 4 0 12 0;
-#X connect 5 0 6 0;
-#X connect 6 0 10 1;
-#X connect 7 0 13 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 2;
-#X connect 10 0 3 0;
-#X connect 11 0 1 0;
-#X connect 12 0 5 0;
-#X connect 13 0 8 0;
-#X connect 14 0 0 0;
-#X connect 14 0 4 0;
-#X connect 14 0 7 0;
-#X connect 15 0 1 1;
-#X connect 15 0 5 1;
-#X connect 15 0 8 1;
-#X restore 299 246 pd tripleRnd;
-#N canvas 0 0 351 255 tripleRnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 219 outlet;
-#X obj 92 64 random 100;
-#X obj 92 122 pack 0 1000;
-#X obj 92 145 line;
-#X obj 170 64 random 100;
-#X obj 170 122 pack 0 1000;
-#X obj 170 145 line;
-#X obj 12 189 pack f f f;
-#X obj 12 90 / 20;
-#X obj 92 91 / 20;
-#X obj 170 91 / 20;
-#X obj 12 12 r bang_forme2;
-#X obj 231 9 r line_forme2;
-#X connect 0 0 11 0;
-#X connect 1 0 2 0;
-#X connect 2 0 10 0;
-#X connect 4 0 12 0;
-#X connect 5 0 6 0;
-#X connect 6 0 10 1;
-#X connect 7 0 13 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 2;
-#X connect 10 0 3 0;
-#X connect 11 0 1 0;
-#X connect 12 0 5 0;
-#X connect 13 0 8 0;
-#X connect 14 0 0 0;
-#X connect 14 0 4 0;
-#X connect 14 0 7 0;
-#X connect 15 0 1 1;
-#X connect 15 0 5 1;
-#X connect 15 0 8 1;
-#X restore 422 244 pd tripleRnd;
-#N canvas 0 0 351 255 tripleRnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 219 outlet;
-#X obj 92 64 random 100;
-#X obj 92 122 pack 0 1000;
-#X obj 92 145 line;
-#X obj 170 64 random 100;
-#X obj 170 122 pack 0 1000;
-#X obj 170 145 line;
-#X obj 12 189 pack f f f;
-#X obj 12 90 / 20;
-#X obj 92 91 / 20;
-#X obj 170 91 / 20;
-#X obj 12 12 r bang_forme2;
-#X obj 231 9 r line_forme2;
-#X connect 0 0 11 0;
-#X connect 1 0 2 0;
-#X connect 2 0 10 0;
-#X connect 4 0 12 0;
-#X connect 5 0 6 0;
-#X connect 6 0 10 1;
-#X connect 7 0 13 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 2;
-#X connect 10 0 3 0;
-#X connect 11 0 1 0;
-#X connect 12 0 5 0;
-#X connect 13 0 8 0;
-#X connect 14 0 0 0;
-#X connect 14 0 4 0;
-#X connect 14 0 7 0;
-#X connect 15 0 1 1;
-#X connect 15 0 5 1;
-#X connect 15 0 8 1;
-#X restore 544 241 pd tripleRnd;
-#N canvas 0 0 351 255 tripleRnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 219 outlet;
-#X obj 92 64 random 100;
-#X obj 92 122 pack 0 1000;
-#X obj 92 145 line;
-#X obj 170 64 random 100;
-#X obj 170 122 pack 0 1000;
-#X obj 170 145 line;
-#X obj 12 189 pack f f f;
-#X obj 12 90 / 20;
-#X obj 92 91 / 20;
-#X obj 170 91 / 20;
-#X obj 12 12 r bang_forme2;
-#X obj 231 9 r line_forme2;
-#X connect 0 0 11 0;
-#X connect 1 0 2 0;
-#X connect 2 0 10 0;
-#X connect 4 0 12 0;
-#X connect 5 0 6 0;
-#X connect 6 0 10 1;
-#X connect 7 0 13 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 2;
-#X connect 10 0 3 0;
-#X connect 11 0 1 0;
-#X connect 12 0 5 0;
-#X connect 13 0 8 0;
-#X connect 14 0 0 0;
-#X connect 14 0 4 0;
-#X connect 14 0 7 0;
-#X connect 15 0 1 1;
-#X connect 15 0 5 1;
-#X connect 15 0 8 1;
-#X restore 28 318 pd tripleRnd;
-#N canvas 0 0 351 255 tripleRnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 219 outlet;
-#X obj 92 64 random 100;
-#X obj 92 122 pack 0 1000;
-#X obj 92 145 line;
-#X obj 170 64 random 100;
-#X obj 170 122 pack 0 1000;
-#X obj 170 145 line;
-#X obj 12 189 pack f f f;
-#X obj 12 90 / 20;
-#X obj 92 91 / 20;
-#X obj 170 91 / 20;
-#X obj 12 12 r bang_forme2;
-#X obj 231 9 r line_forme2;
-#X connect 0 0 11 0;
-#X connect 1 0 2 0;
-#X connect 2 0 10 0;
-#X connect 4 0 12 0;
-#X connect 5 0 6 0;
-#X connect 6 0 10 1;
-#X connect 7 0 13 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 2;
-#X connect 10 0 3 0;
-#X connect 11 0 1 0;
-#X connect 12 0 5 0;
-#X connect 13 0 8 0;
-#X connect 14 0 0 0;
-#X connect 14 0 4 0;
-#X connect 14 0 7 0;
-#X connect 15 0 1 1;
-#X connect 15 0 5 1;
-#X connect 15 0 8 1;
-#X restore 161 316 pd tripleRnd;
-#N canvas 0 0 351 255 tripleRnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 219 outlet;
-#X obj 92 64 random 100;
-#X obj 92 122 pack 0 1000;
-#X obj 92 145 line;
-#X obj 170 64 random 100;
-#X obj 170 122 pack 0 1000;
-#X obj 170 145 line;
-#X obj 12 189 pack f f f;
-#X obj 12 90 / 20;
-#X obj 92 91 / 20;
-#X obj 170 91 / 20;
-#X obj 12 12 r bang_forme2;
-#X obj 231 9 r line_forme2;
-#X connect 0 0 11 0;
-#X connect 1 0 2 0;
-#X connect 2 0 10 0;
-#X connect 4 0 12 0;
-#X connect 5 0 6 0;
-#X connect 6 0 10 1;
-#X connect 7 0 13 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 2;
-#X connect 10 0 3 0;
-#X connect 11 0 1 0;
-#X connect 12 0 5 0;
-#X connect 13 0 8 0;
-#X connect 14 0 0 0;
-#X connect 14 0 4 0;
-#X connect 14 0 7 0;
-#X connect 15 0 1 1;
-#X connect 15 0 5 1;
-#X connect 15 0 8 1;
-#X restore 299 317 pd tripleRnd;
-#N canvas 0 0 351 255 tripleRnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 219 outlet;
-#X obj 92 64 random 100;
-#X obj 92 122 pack 0 1000;
-#X obj 92 145 line;
-#X obj 170 64 random 100;
-#X obj 170 122 pack 0 1000;
-#X obj 170 145 line;
-#X obj 12 189 pack f f f;
-#X obj 12 90 / 20;
-#X obj 92 91 / 20;
-#X obj 170 91 / 20;
-#X obj 12 12 r bang_forme2;
-#X obj 231 9 r line_forme2;
-#X connect 0 0 11 0;
-#X connect 1 0 2 0;
-#X connect 2 0 10 0;
-#X connect 4 0 12 0;
-#X connect 5 0 6 0;
-#X connect 6 0 10 1;
-#X connect 7 0 13 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 2;
-#X connect 10 0 3 0;
-#X connect 11 0 1 0;
-#X connect 12 0 5 0;
-#X connect 13 0 8 0;
-#X connect 14 0 0 0;
-#X connect 14 0 4 0;
-#X connect 14 0 7 0;
-#X connect 15 0 1 1;
-#X connect 15 0 5 1;
-#X connect 15 0 8 1;
-#X restore 423 315 pd tripleRnd;
-#N canvas 0 0 351 255 tripleRnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 219 outlet;
-#X obj 92 64 random 100;
-#X obj 92 122 pack 0 1000;
-#X obj 92 145 line;
-#X obj 170 64 random 100;
-#X obj 170 122 pack 0 1000;
-#X obj 170 145 line;
-#X obj 12 189 pack f f f;
-#X obj 12 90 / 20;
-#X obj 92 91 / 20;
-#X obj 170 91 / 20;
-#X obj 12 12 r bang_forme2;
-#X obj 231 9 r line_forme2;
-#X connect 0 0 11 0;
-#X connect 1 0 2 0;
-#X connect 2 0 10 0;
-#X connect 4 0 12 0;
-#X connect 5 0 6 0;
-#X connect 6 0 10 1;
-#X connect 7 0 13 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 2;
-#X connect 10 0 3 0;
-#X connect 11 0 1 0;
-#X connect 12 0 5 0;
-#X connect 13 0 8 0;
-#X connect 14 0 0 0;
-#X connect 14 0 4 0;
-#X connect 14 0 7 0;
-#X connect 15 0 1 1;
-#X connect 15 0 5 1;
-#X connect 15 0 8 1;
-#X restore 544 312 pd tripleRnd;
-#N canvas 0 0 351 255 tripleRnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 219 outlet;
-#X obj 92 64 random 100;
-#X obj 92 122 pack 0 1000;
-#X obj 92 145 line;
-#X obj 170 64 random 100;
-#X obj 170 122 pack 0 1000;
-#X obj 170 145 line;
-#X obj 12 189 pack f f f;
-#X obj 12 90 / 20;
-#X obj 92 91 / 20;
-#X obj 170 91 / 20;
-#X obj 12 12 r bang_forme2;
-#X obj 231 9 r line_forme2;
-#X connect 0 0 11 0;
-#X connect 1 0 2 0;
-#X connect 2 0 10 0;
-#X connect 4 0 12 0;
-#X connect 5 0 6 0;
-#X connect 6 0 10 1;
-#X connect 7 0 13 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 2;
-#X connect 10 0 3 0;
-#X connect 11 0 1 0;
-#X connect 12 0 5 0;
-#X connect 13 0 8 0;
-#X connect 14 0 0 0;
-#X connect 14 0 4 0;
-#X connect 14 0 7 0;
-#X connect 15 0 1 1;
-#X connect 15 0 5 1;
-#X connect 15 0 8 1;
-#X restore 29 374 pd tripleRnd;
-#N canvas 0 0 351 255 tripleRnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 219 outlet;
-#X obj 92 64 random 100;
-#X obj 92 122 pack 0 1000;
-#X obj 92 145 line;
-#X obj 170 64 random 100;
-#X obj 170 122 pack 0 1000;
-#X obj 170 145 line;
-#X obj 12 189 pack f f f;
-#X obj 12 90 / 20;
-#X obj 92 91 / 20;
-#X obj 170 91 / 20;
-#X obj 12 12 r bang_forme2;
-#X obj 231 9 r line_forme2;
-#X connect 0 0 11 0;
-#X connect 1 0 2 0;
-#X connect 2 0 10 0;
-#X connect 4 0 12 0;
-#X connect 5 0 6 0;
-#X connect 6 0 10 1;
-#X connect 7 0 13 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 2;
-#X connect 10 0 3 0;
-#X connect 11 0 1 0;
-#X connect 12 0 5 0;
-#X connect 13 0 8 0;
-#X connect 14 0 0 0;
-#X connect 14 0 4 0;
-#X connect 14 0 7 0;
-#X connect 15 0 1 1;
-#X connect 15 0 5 1;
-#X connect 15 0 8 1;
-#X restore 162 372 pd tripleRnd;
-#N canvas 0 0 351 255 tripleRnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 219 outlet;
-#X obj 92 64 random 100;
-#X obj 92 122 pack 0 1000;
-#X obj 92 145 line;
-#X obj 170 64 random 100;
-#X obj 170 122 pack 0 1000;
-#X obj 170 145 line;
-#X obj 12 189 pack f f f;
-#X obj 12 90 / 20;
-#X obj 92 91 / 20;
-#X obj 170 91 / 20;
-#X obj 12 12 r bang_forme2;
-#X obj 231 9 r line_forme2;
-#X connect 0 0 11 0;
-#X connect 1 0 2 0;
-#X connect 2 0 10 0;
-#X connect 4 0 12 0;
-#X connect 5 0 6 0;
-#X connect 6 0 10 1;
-#X connect 7 0 13 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 2;
-#X connect 10 0 3 0;
-#X connect 11 0 1 0;
-#X connect 12 0 5 0;
-#X connect 13 0 8 0;
-#X connect 14 0 0 0;
-#X connect 14 0 4 0;
-#X connect 14 0 7 0;
-#X connect 15 0 1 1;
-#X connect 15 0 5 1;
-#X connect 15 0 8 1;
-#X restore 300 373 pd tripleRnd;
-#N canvas 0 0 351 255 tripleRnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 219 outlet;
-#X obj 92 64 random 100;
-#X obj 92 122 pack 0 1000;
-#X obj 92 145 line;
-#X obj 170 64 random 100;
-#X obj 170 122 pack 0 1000;
-#X obj 170 145 line;
-#X obj 12 189 pack f f f;
-#X obj 12 90 / 20;
-#X obj 92 91 / 20;
-#X obj 170 91 / 20;
-#X obj 12 12 r bang_forme2;
-#X obj 231 9 r line_forme2;
-#X connect 0 0 11 0;
-#X connect 1 0 2 0;
-#X connect 2 0 10 0;
-#X connect 4 0 12 0;
-#X connect 5 0 6 0;
-#X connect 6 0 10 1;
-#X connect 7 0 13 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 2;
-#X connect 10 0 3 0;
-#X connect 11 0 1 0;
-#X connect 12 0 5 0;
-#X connect 13 0 8 0;
-#X connect 14 0 0 0;
-#X connect 14 0 4 0;
-#X connect 14 0 7 0;
-#X connect 15 0 1 1;
-#X connect 15 0 5 1;
-#X connect 15 0 8 1;
-#X restore 424 371 pd tripleRnd;
-#N canvas 0 0 351 255 tripleRnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 219 outlet;
-#X obj 92 64 random 100;
-#X obj 92 122 pack 0 1000;
-#X obj 92 145 line;
-#X obj 170 64 random 100;
-#X obj 170 122 pack 0 1000;
-#X obj 170 145 line;
-#X obj 12 189 pack f f f;
-#X obj 12 90 / 20;
-#X obj 92 91 / 20;
-#X obj 170 91 / 20;
-#X obj 12 12 r bang_forme2;
-#X obj 231 9 r line_forme2;
-#X connect 0 0 11 0;
-#X connect 1 0 2 0;
-#X connect 2 0 10 0;
-#X connect 4 0 12 0;
-#X connect 5 0 6 0;
-#X connect 6 0 10 1;
-#X connect 7 0 13 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 2;
-#X connect 10 0 3 0;
-#X connect 11 0 1 0;
-#X connect 12 0 5 0;
-#X connect 13 0 8 0;
-#X connect 14 0 0 0;
-#X connect 14 0 4 0;
-#X connect 14 0 7 0;
-#X connect 15 0 1 1;
-#X connect 15 0 5 1;
-#X connect 15 0 8 1;
-#X restore 545 368 pd tripleRnd;
-#X connect 0 0 7 0;
-#X connect 1 0 26 0;
-#X connect 2 0 26 0;
-#X connect 3 0 26 0;
-#X connect 4 0 26 0;
-#X connect 5 0 26 0;
-#X connect 6 0 26 0;
-#X connect 7 0 26 0;
-#X connect 8 0 26 0;
-#X connect 9 0 26 0;
-#X connect 10 0 26 0;
-#X connect 11 0 26 0;
-#X connect 12 0 26 0;
-#X connect 13 0 26 0;
-#X connect 14 0 26 0;
-#X connect 15 0 26 0;
-#X connect 16 0 26 0;
-#X connect 17 0 26 0;
-#X connect 18 0 26 0;
-#X connect 19 0 26 0;
-#X connect 20 0 26 0;
-#X connect 21 0 26 0;
-#X connect 22 0 26 0;
-#X connect 23 0 26 0;
-#X connect 24 0 26 0;
-#X connect 25 0 26 0;
-#X connect 27 0 28 0;
-#X connect 29 0 6 0;
-#X connect 30 0 5 0;
-#X connect 31 0 13 0;
-#X connect 32 0 17 0;
-#X connect 33 0 8 0;
-#X connect 34 0 9 0;
-#X connect 35 0 4 0;
-#X connect 36 0 14 0;
-#X connect 37 0 18 0;
-#X connect 38 0 1 0;
-#X connect 39 0 2 0;
-#X connect 40 0 3 0;
-#X connect 41 0 15 0;
-#X connect 42 0 19 0;
-#X connect 43 0 10 0;
-#X connect 44 0 11 0;
-#X connect 45 0 12 0;
-#X connect 46 0 16 0;
-#X connect 47 0 20 0;
-#X connect 48 0 21 0;
-#X connect 49 0 22 0;
-#X connect 50 0 23 0;
-#X connect 51 0 24 0;
-#X connect 52 0 25 0;
-#X restore 136 509 pd forme2;
-#X obj 136 490 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 57 490 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#N canvas 253 49 697 499 forme1 0;
-#X obj 76 418 outlet;
-#X obj 36 15 inlet;
-#N canvas 0 0 251 239 Rnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 173 outlet;
-#X obj 12 90 / 20;
-#X obj 12 12 r bang_forme3;
-#X obj 105 11 r line_forme3;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 4 0 1 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 1;
-#X restore 28 92 pd Rnd;
-#X msg 28 114 set 0 0 0 0 \$1;
-#X msg 126 115 set 0 1 0 1 \$1;
-#X msg 227 116 set 0 2 0 2 \$1;
-#X msg 323 117 set 0 3 0 3 \$1;
-#X msg 419 116 set 0 4 0 4 \$1;
-#X msg 47 159 set 1 0 1 0 \$1;
-#X msg 145 160 set 1 1 1 1 \$1;
-#X msg 246 161 set 1 2 1 2 \$1;
-#X msg 342 162 set 1 3 1 3 \$1;
-#X msg 438 161 set 1 4 1 4 \$1;
-#X msg 68 202 set 2 0 2 0 \$1;
-#X msg 166 203 set 2 1 2 1 \$1;
-#X msg 267 204 set 2 2 2 2 \$1;
-#X msg 363 205 set 2 3 2 3 \$1;
-#X msg 459 204 set 2 4 2 4 \$1;
-#X msg 97 249 set 3 0 3 0 \$1;
-#X msg 195 250 set 3 1 3 1 \$1;
-#X msg 297 251 set 3 2 3 2 \$1;
-#X msg 393 252 set 3 3 3 3 \$1;
-#X msg 488 251 set 3 4 3 4 \$1;
-#X msg 121 296 set 4 0 4 0 \$1;
-#X msg 219 297 set 4 1 4 1 \$1;
-#X msg 320 298 set 4 2 4 2 \$1;
-#X msg 416 299 set 4 3 4 3 \$1;
-#X msg 512 298 set 4 4 4 4 \$1;
-#X obj 36 39 s bang_forme3;
-#N canvas 0 0 249 237 Rnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 173 outlet;
-#X obj 12 90 / 20;
-#X obj 12 12 r bang_forme3;
-#X obj 105 11 r line_forme3;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 4 0 1 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 1;
-#X restore 127 92 pd Rnd;
-#N canvas 0 0 251 239 Rnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 173 outlet;
-#X obj 12 90 / 20;
-#X obj 12 12 r bang_forme3;
-#X obj 105 11 r line_forme3;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 4 0 1 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 1;
-#X restore 227 93 pd Rnd;
-#N canvas 0 0 249 237 Rnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 173 outlet;
-#X obj 12 90 / 20;
-#X obj 12 12 r bang_forme3;
-#X obj 105 11 r line_forme3;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 4 0 1 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 1;
-#X restore 326 93 pd Rnd;
-#N canvas 0 0 249 237 Rnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 173 outlet;
-#X obj 12 90 / 20;
-#X obj 12 12 r bang_forme3;
-#X obj 105 11 r line_forme3;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 4 0 1 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 1;
-#X restore 420 94 pd Rnd;
-#N canvas 0 0 249 237 Rnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 173 outlet;
-#X obj 12 90 / 20;
-#X obj 12 12 r bang_forme3;
-#X obj 105 11 r line_forme3;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 4 0 1 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 1;
-#X restore 48 138 pd Rnd;
-#N canvas 0 0 249 237 Rnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 173 outlet;
-#X obj 12 90 / 20;
-#X obj 12 12 r bang_forme3;
-#X obj 105 11 r line_forme3;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 4 0 1 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 1;
-#X restore 147 138 pd Rnd;
-#N canvas 0 0 249 237 Rnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 173 outlet;
-#X obj 12 90 / 20;
-#X obj 12 12 r bang_forme3;
-#X obj 105 11 r line_forme3;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 4 0 1 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 1;
-#X restore 247 139 pd Rnd;
-#N canvas 0 0 249 237 Rnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 173 outlet;
-#X obj 12 90 / 20;
-#X obj 12 12 r bang_forme3;
-#X obj 105 11 r line_forme3;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 4 0 1 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 1;
-#X restore 346 139 pd Rnd;
-#N canvas 0 0 249 237 Rnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 173 outlet;
-#X obj 12 90 / 20;
-#X obj 12 12 r bang_forme3;
-#X obj 105 11 r line_forme3;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 4 0 1 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 1;
-#X restore 440 140 pd Rnd;
-#N canvas 0 0 249 237 Rnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 173 outlet;
-#X obj 12 90 / 20;
-#X obj 12 12 r bang_forme3;
-#X obj 105 11 r line_forme3;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 4 0 1 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 1;
-#X restore 68 181 pd Rnd;
-#N canvas 0 0 249 237 Rnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 173 outlet;
-#X obj 12 90 / 20;
-#X obj 12 12 r bang_forme3;
-#X obj 105 11 r line_forme3;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 4 0 1 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 1;
-#X restore 167 181 pd Rnd;
-#N canvas 0 0 249 237 Rnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 173 outlet;
-#X obj 12 90 / 20;
-#X obj 12 12 r bang_forme3;
-#X obj 105 11 r line_forme3;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 4 0 1 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 1;
-#X restore 267 182 pd Rnd;
-#N canvas 0 0 249 237 Rnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 173 outlet;
-#X obj 12 90 / 20;
-#X obj 12 12 r bang_forme3;
-#X obj 105 11 r line_forme3;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 4 0 1 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 1;
-#X restore 366 182 pd Rnd;
-#N canvas 0 0 249 237 Rnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 173 outlet;
-#X obj 12 90 / 20;
-#X obj 12 12 r bang_forme3;
-#X obj 105 11 r line_forme3;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 4 0 1 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 1;
-#X restore 460 183 pd Rnd;
-#N canvas 0 0 249 237 Rnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 173 outlet;
-#X obj 12 90 / 20;
-#X obj 12 12 r bang_forme3;
-#X obj 105 11 r line_forme3;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 4 0 1 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 1;
-#X restore 97 227 pd Rnd;
-#N canvas 0 0 249 237 Rnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 173 outlet;
-#X obj 12 90 / 20;
-#X obj 12 12 r bang_forme3;
-#X obj 105 11 r line_forme3;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 4 0 1 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 1;
-#X restore 196 227 pd Rnd;
-#N canvas 0 0 249 237 Rnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 173 outlet;
-#X obj 12 90 / 20;
-#X obj 12 12 r bang_forme3;
-#X obj 105 11 r line_forme3;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 4 0 1 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 1;
-#X restore 296 228 pd Rnd;
-#N canvas 0 0 249 237 Rnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 173 outlet;
-#X obj 12 90 / 20;
-#X obj 12 12 r bang_forme3;
-#X obj 105 11 r line_forme3;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 4 0 1 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 1;
-#X restore 395 228 pd Rnd;
-#N canvas 0 0 249 237 Rnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 173 outlet;
-#X obj 12 90 / 20;
-#X obj 12 12 r bang_forme3;
-#X obj 105 11 r line_forme3;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 4 0 1 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 1;
-#X restore 489 229 pd Rnd;
-#N canvas 0 0 249 237 Rnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 173 outlet;
-#X obj 12 90 / 20;
-#X obj 12 12 r bang_forme3;
-#X obj 105 11 r line_forme3;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 4 0 1 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 1;
-#X restore 121 275 pd Rnd;
-#N canvas 0 0 249 237 Rnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 173 outlet;
-#X obj 12 90 / 20;
-#X obj 12 12 r bang_forme3;
-#X obj 105 11 r line_forme3;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 4 0 1 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 1;
-#X restore 220 275 pd Rnd;
-#N canvas 0 0 249 237 Rnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 173 outlet;
-#X obj 12 90 / 20;
-#X obj 12 12 r bang_forme3;
-#X obj 105 11 r line_forme3;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 4 0 1 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 1;
-#X restore 320 276 pd Rnd;
-#N canvas 0 0 249 237 Rnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 173 outlet;
-#X obj 12 90 / 20;
-#X obj 12 12 r bang_forme3;
-#X obj 105 11 r line_forme3;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 4 0 1 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 1;
-#X restore 419 276 pd Rnd;
-#N canvas 0 0 249 237 Rnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 173 outlet;
-#X obj 12 90 / 20;
-#X obj 12 12 r bang_forme3;
-#X obj 105 11 r line_forme3;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 4 0 1 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 1;
-#X restore 513 277 pd Rnd;
-#X connect 1 0 28 0;
-#X connect 2 0 3 0;
-#X connect 3 0 0 0;
-#X connect 4 0 0 0;
-#X connect 5 0 0 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X connect 8 0 0 0;
-#X connect 9 0 0 0;
-#X connect 10 0 0 0;
-#X connect 11 0 0 0;
-#X connect 12 0 0 0;
-#X connect 13 0 0 0;
-#X connect 14 0 0 0;
-#X connect 15 0 0 0;
-#X connect 16 0 0 0;
-#X connect 17 0 0 0;
-#X connect 18 0 0 0;
-#X connect 19 0 0 0;
-#X connect 20 0 0 0;
-#X connect 21 0 0 0;
-#X connect 22 0 0 0;
-#X connect 23 0 0 0;
-#X connect 24 0 0 0;
-#X connect 25 0 0 0;
-#X connect 26 0 0 0;
-#X connect 27 0 0 0;
-#X connect 29 0 4 0;
-#X connect 30 0 5 0;
-#X connect 31 0 6 0;
-#X connect 32 0 7 0;
-#X connect 33 0 8 0;
-#X connect 34 0 9 0;
-#X connect 35 0 10 0;
-#X connect 36 0 11 0;
-#X connect 37 0 12 0;
-#X connect 38 0 13 0;
-#X connect 39 0 14 0;
-#X connect 40 0 15 0;
-#X connect 41 0 16 0;
-#X connect 42 0 17 0;
-#X connect 43 0 18 0;
-#X connect 44 0 19 0;
-#X connect 45 0 20 0;
-#X connect 46 0 21 0;
-#X connect 47 0 22 0;
-#X connect 48 0 23 0;
-#X connect 49 0 24 0;
-#X connect 50 0 25 0;
-#X connect 51 0 26 0;
-#X connect 52 0 27 0;
-#X restore 57 509 pd forme1;
-#X text 77 489 shape1;
-#X text 156 489 shape2;
-#X obj 57 469 loadbang;
-#X floatatom 214 464 5 0 0 0 - - -;
-#X msg 214 506 set 3 2 \$1 \$2 \$3;
-#X floatatom 247 464 5 0 0 0 - - -;
-#N canvas 0 0 173 130 pak 0;
-#X obj 73 39 t b f;
-#X obj 108 39 t b f;
-#X obj 38 19 inlet;
-#X obj 38 69 pack f f f;
-#X obj 38 90 outlet;
-#X obj 73 19 inlet;
-#X obj 108 19 inlet;
-#X connect 0 0 3 0;
-#X connect 0 1 3 1;
-#X connect 1 0 3 0;
-#X connect 1 1 3 2;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 0;
-#X restore 214 484 pd pak f f f;
-#X floatatom 281 464 5 0 0 0 - - -;
-#X obj 214 532 s exemples_shape;
-#X obj 136 532 s curve3d;
-#X obj 57 532 s curve3d;
-#X text 13 68 Description: Renders a 3d bezier curve.;
-#X text 68 183 size of the control matrix (default : 2 2);
-#X obj 494 521 curve3d 5 5;
-#X text 276 3 Create a 3D bezier curve \, using a matrix of control
-points;
-#X text 31 336 Inlet 1 : message: set Mx My X Y Z;
-#X text 31 296 Inlet 1: message: grid X Y;
-#X text 31 259 Inlet 1: message: res X Y;
-#X text 53 272 This message is use for changing the size of the control
-matrix (X \, Y are 2 int);
-#X text 52 310 This message is use for changing the subdivision of
-the displayed curve (X Y are 2 int);
-#X text 53 349 This message can be use to set the position of a control
-point. (Mx \, My : position of the point in the matrix. X \, Y \, Z
-: position of this control point;
-#X text 21 447 exemples :;
-#X text 29 87 The curve3d object renders a curve at the current position
-with current color or texture. The shape of the curve is cotrolled
-from a matrix. Note that control points are not necessary part of the
-curve.;
-#X connect 12 0 13 0;
-#X connect 13 0 12 0;
-#X connect 18 0 45 0;
-#X connect 19 0 45 0;
-#X connect 21 0 45 0;
-#X connect 22 0 45 0;
-#X connect 23 0 45 0;
-#X connect 24 0 45 0;
-#X connect 25 0 45 0;
-#X connect 26 0 45 0;
-#X connect 27 0 42 0;
-#X connect 28 0 42 0;
-#X connect 29 0 42 0;
-#X connect 30 0 42 0;
-#X connect 31 0 42 0;
-#X connect 32 0 43 0;
-#X connect 33 0 44 0;
-#X connect 34 0 43 0;
-#X connect 35 0 44 0;
-#X connect 36 0 44 0;
-#X connect 37 0 43 0;
-#X connect 38 0 43 0;
-#X connect 39 0 44 0;
-#X connect 49 0 57 0;
-#X connect 50 0 56 1;
-#X connect 51 0 56 2;
-#X connect 52 0 56 3;
-#X connect 53 0 57 1;
-#X connect 54 0 57 2;
-#X connect 55 0 57 3;
-#X connect 56 0 83 0;
-#X connect 57 0 56 0;
-#X connect 58 0 83 0;
-#X connect 66 0 79 0;
-#X connect 67 0 66 0;
-#X connect 68 0 69 0;
-#X connect 69 0 80 0;
-#X connect 72 0 68 0;
-#X connect 73 0 76 0;
-#X connect 74 0 78 0;
-#X connect 75 0 76 1;
-#X connect 76 0 74 0;
-#X connect 77 0 76 2;
+#N canvas 361 100 968 580 10;
+#X text 145 42 Class: geometric object;
+#X obj 13 64 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 13 212 cnv 15 450 220 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 17 214 Inlets:;
+#X obj 13 173 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 22 172 Arguments:;
+#X text 32 229 Inlet 1: gemlist;
+#X text 14 401 Outlets:;
+#X text 28 413 Outlet 1: gemlist;
+#X text 146 24 Synopsis: [curve3d];
+#X obj 475 63 cnv 15 480 500 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 845 484 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 455 304 gemwin 0;
+#X obj 132 182 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 198 112 destroy;
+#X msg 132 112 create \, 1;
+#X obj 294 56 gemhead;
+#X obj 294 76 world_light;
+#X msg 207 155 lighting 1;
+#X obj 207 134 loadbang;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 9 0;
+#X connect 10 0 0 0;
+#X connect 11 0 10 0;
+#X restore 861 523 pd gemwin;
+#X msg 861 504 create;
+#X text 857 483 Create window:;
+#X obj 796 74 cnv 15 150 150 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 796 234 cnv 15 150 150 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 486 74 cnv 15 300 310 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X msg 519 175 draw line;
+#X msg 519 155 draw fill;
+#X msg 519 195 draw point;
+#X msg 536 300 width 1;
+#X msg 536 321 width 4;
+#X msg 519 216 draw line1;
+#X msg 519 237 draw line2;
+#X msg 519 258 draw line3;
+#X msg 519 279 draw line4;
+#X msg 657 169 draw control_line;
+#X msg 657 190 draw control_line1;
+#X msg 657 211 draw control_line2;
+#X msg 657 232 draw control_fill;
+#X msg 657 253 draw control_point;
+#X msg 834 111 res 2 2;
+#X msg 829 269 grid 2 10;
+#X msg 834 132 res 3 3;
+#X msg 829 290 grid 10 10;
+#X msg 829 332 grid 40 40;
+#X msg 834 153 res 5 5;
+#X msg 834 174 res 1 4;
+#X msg 829 311 grid 20 20;
+#X text 592 92 draw style;
+#X text 506 124 draw the curve;
+#X obj 624 343 s curve3d;
+#X obj 810 198 s curve3d;
+#X obj 807 356 s curve3d;
+#X obj 490 344 s curve3d;
+#X text 660 139 of the curve;
+#X text 647 125 draw control point;
+#X obj 486 398 cnv 15 300 150 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 494 407 gemhead;
+#X floatatom 522 450 5 0 0 0 - - -;
+#X floatatom 557 450 5 0 0 0 - - -;
+#X floatatom 593 450 5 0 0 0 - - -;
+#X floatatom 562 408 5 0 0 0 - - -;
+#X floatatom 610 408 5 0 0 0 - - -;
+#X floatatom 659 408 5 0 0 0 - - -;
+#X obj 494 471 rotateXYZ 0 0 0;
+#X obj 494 428 translateXYZ -2.5 -2.5 -2;
+#X obj 504 496 r curve3d;
+#X text 809 91 control matrix;
+#X text 804 78 resolution of the;
+#X text 805 239 resolution of the;
+#X text 826 250 curve grid;
+#X text 28 389 Inlet 2: not used;
+#X text 32 243 Inlet 1: message: draw [line|fill|point|...];
+#X obj 13 443 cnv 15 450 120 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 253 49 691 493 forme2 0;
+#N canvas 0 0 353 257 tripleRnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 219 outlet;
+#X obj 92 64 random 100;
+#X obj 92 122 pack 0 1000;
+#X obj 92 145 line;
+#X obj 170 64 random 100;
+#X obj 170 122 pack 0 1000;
+#X obj 170 145 line;
+#X obj 12 189 pack f f f;
+#X obj 12 90 / 20;
+#X obj 92 91 / 20;
+#X obj 170 91 / 20;
+#X obj 12 12 r bang_forme2;
+#X obj 231 9 r line_forme2;
+#X connect 0 0 11 0;
+#X connect 1 0 2 0;
+#X connect 2 0 10 0;
+#X connect 4 0 12 0;
+#X connect 5 0 6 0;
+#X connect 6 0 10 1;
+#X connect 7 0 13 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 2;
+#X connect 10 0 3 0;
+#X connect 11 0 1 0;
+#X connect 12 0 5 0;
+#X connect 13 0 8 0;
+#X connect 14 0 0 0;
+#X connect 14 0 4 0;
+#X connect 14 0 7 0;
+#X connect 15 0 1 1;
+#X connect 15 0 5 1;
+#X connect 15 0 8 1;
+#X restore 28 92 pd tripleRnd;
+#X msg 26 270 set 2 0 \$1 \$2 \$3;
+#X msg 161 269 set 2 1 \$1 \$2 \$3;
+#X msg 298 269 set 2 2 \$1 \$2 \$3;
+#X msg 299 190 set 1 2 \$1 \$2 \$3;
+#X msg 299 112 set 0 2 \$1 \$2 \$3;
+#X msg 161 112 set 0 1 \$1 \$2 \$3;
+#X msg 28 114 set 0 0 \$1 \$2 \$3;
+#X msg 29 193 set 1 0 \$1 \$2 \$3;
+#X msg 161 189 set 1 1 \$1 \$2 \$3;
+#X msg 26 337 set 3 0 \$1 \$2 \$3;
+#X msg 162 336 set 3 1 \$1 \$2 \$3;
+#X msg 298 338 set 3 2 \$1 \$2 \$3;
+#X msg 423 111 set 0 3 \$1 \$2 \$3;
+#X msg 424 189 set 1 3 \$1 \$2 \$3;
+#X msg 424 265 set 2 3 \$1 \$2 \$3;
+#X msg 423 335 set 3 3 \$1 \$2 \$3;
+#X msg 544 109 set 0 4 \$1 \$2 \$3;
+#X msg 545 187 set 1 4 \$1 \$2 \$3;
+#X msg 540 263 set 2 4 \$1 \$2 \$3;
+#X msg 543 333 set 3 4 \$1 \$2 \$3;
+#X msg 28 399 set 4 0 \$1 \$2 \$3;
+#X msg 162 392 set 4 1 \$1 \$2 \$3;
+#X msg 299 393 set 4 2 \$1 \$2 \$3;
+#X msg 424 391 set 4 3 \$1 \$2 \$3;
+#X msg 545 389 set 4 4 \$1 \$2 \$3;
+#X obj 10 445 outlet;
+#X obj 36 15 inlet;
+#X obj 36 39 s bang_forme2;
+#N canvas 0 0 355 259 tripleRnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 219 outlet;
+#X obj 92 64 random 100;
+#X obj 92 122 pack 0 1000;
+#X obj 92 145 line;
+#X obj 170 64 random 100;
+#X obj 170 122 pack 0 1000;
+#X obj 170 145 line;
+#X obj 12 189 pack f f f;
+#X obj 12 90 / 20;
+#X obj 92 91 / 20;
+#X obj 170 91 / 20;
+#X obj 12 12 r bang_forme2;
+#X obj 231 9 r line_forme2;
+#X connect 0 0 11 0;
+#X connect 1 0 2 0;
+#X connect 2 0 10 0;
+#X connect 4 0 12 0;
+#X connect 5 0 6 0;
+#X connect 6 0 10 1;
+#X connect 7 0 13 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 2;
+#X connect 10 0 3 0;
+#X connect 11 0 1 0;
+#X connect 12 0 5 0;
+#X connect 13 0 8 0;
+#X connect 14 0 0 0;
+#X connect 14 0 4 0;
+#X connect 14 0 7 0;
+#X connect 15 0 1 1;
+#X connect 15 0 5 1;
+#X connect 15 0 8 1;
+#X restore 161 90 pd tripleRnd;
+#N canvas 0 0 351 255 tripleRnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 219 outlet;
+#X obj 92 64 random 100;
+#X obj 92 122 pack 0 1000;
+#X obj 92 145 line;
+#X obj 170 64 random 100;
+#X obj 170 122 pack 0 1000;
+#X obj 170 145 line;
+#X obj 12 189 pack f f f;
+#X obj 12 90 / 20;
+#X obj 92 91 / 20;
+#X obj 170 91 / 20;
+#X obj 12 12 r bang_forme2;
+#X obj 231 9 r line_forme2;
+#X connect 0 0 11 0;
+#X connect 1 0 2 0;
+#X connect 2 0 10 0;
+#X connect 4 0 12 0;
+#X connect 5 0 6 0;
+#X connect 6 0 10 1;
+#X connect 7 0 13 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 2;
+#X connect 10 0 3 0;
+#X connect 11 0 1 0;
+#X connect 12 0 5 0;
+#X connect 13 0 8 0;
+#X connect 14 0 0 0;
+#X connect 14 0 4 0;
+#X connect 14 0 7 0;
+#X connect 15 0 1 1;
+#X connect 15 0 5 1;
+#X connect 15 0 8 1;
+#X restore 299 91 pd tripleRnd;
+#N canvas 0 0 351 255 tripleRnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 219 outlet;
+#X obj 92 64 random 100;
+#X obj 92 122 pack 0 1000;
+#X obj 92 145 line;
+#X obj 170 64 random 100;
+#X obj 170 122 pack 0 1000;
+#X obj 170 145 line;
+#X obj 12 189 pack f f f;
+#X obj 12 90 / 20;
+#X obj 92 91 / 20;
+#X obj 170 91 / 20;
+#X obj 12 12 r bang_forme2;
+#X obj 231 9 r line_forme2;
+#X connect 0 0 11 0;
+#X connect 1 0 2 0;
+#X connect 2 0 10 0;
+#X connect 4 0 12 0;
+#X connect 5 0 6 0;
+#X connect 6 0 10 1;
+#X connect 7 0 13 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 2;
+#X connect 10 0 3 0;
+#X connect 11 0 1 0;
+#X connect 12 0 5 0;
+#X connect 13 0 8 0;
+#X connect 14 0 0 0;
+#X connect 14 0 4 0;
+#X connect 14 0 7 0;
+#X connect 15 0 1 1;
+#X connect 15 0 5 1;
+#X connect 15 0 8 1;
+#X restore 423 89 pd tripleRnd;
+#N canvas 0 0 351 255 tripleRnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 219 outlet;
+#X obj 92 64 random 100;
+#X obj 92 122 pack 0 1000;
+#X obj 92 145 line;
+#X obj 170 64 random 100;
+#X obj 170 122 pack 0 1000;
+#X obj 170 145 line;
+#X obj 12 189 pack f f f;
+#X obj 12 90 / 20;
+#X obj 92 91 / 20;
+#X obj 170 91 / 20;
+#X obj 12 12 r bang_forme2;
+#X obj 231 9 r line_forme2;
+#X connect 0 0 11 0;
+#X connect 1 0 2 0;
+#X connect 2 0 10 0;
+#X connect 4 0 12 0;
+#X connect 5 0 6 0;
+#X connect 6 0 10 1;
+#X connect 7 0 13 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 2;
+#X connect 10 0 3 0;
+#X connect 11 0 1 0;
+#X connect 12 0 5 0;
+#X connect 13 0 8 0;
+#X connect 14 0 0 0;
+#X connect 14 0 4 0;
+#X connect 14 0 7 0;
+#X connect 15 0 1 1;
+#X connect 15 0 5 1;
+#X connect 15 0 8 1;
+#X restore 544 86 pd tripleRnd;
+#N canvas 0 0 351 255 tripleRnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 219 outlet;
+#X obj 92 64 random 100;
+#X obj 92 122 pack 0 1000;
+#X obj 92 145 line;
+#X obj 170 64 random 100;
+#X obj 170 122 pack 0 1000;
+#X obj 170 145 line;
+#X obj 12 189 pack f f f;
+#X obj 12 90 / 20;
+#X obj 92 91 / 20;
+#X obj 170 91 / 20;
+#X obj 12 12 r bang_forme2;
+#X obj 231 9 r line_forme2;
+#X connect 0 0 11 0;
+#X connect 1 0 2 0;
+#X connect 2 0 10 0;
+#X connect 4 0 12 0;
+#X connect 5 0 6 0;
+#X connect 6 0 10 1;
+#X connect 7 0 13 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 2;
+#X connect 10 0 3 0;
+#X connect 11 0 1 0;
+#X connect 12 0 5 0;
+#X connect 13 0 8 0;
+#X connect 14 0 0 0;
+#X connect 14 0 4 0;
+#X connect 14 0 7 0;
+#X connect 15 0 1 1;
+#X connect 15 0 5 1;
+#X connect 15 0 8 1;
+#X restore 29 169 pd tripleRnd;
+#N canvas 0 0 351 255 tripleRnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 219 outlet;
+#X obj 92 64 random 100;
+#X obj 92 122 pack 0 1000;
+#X obj 92 145 line;
+#X obj 170 64 random 100;
+#X obj 170 122 pack 0 1000;
+#X obj 170 145 line;
+#X obj 12 189 pack f f f;
+#X obj 12 90 / 20;
+#X obj 92 91 / 20;
+#X obj 170 91 / 20;
+#X obj 12 12 r bang_forme2;
+#X obj 231 9 r line_forme2;
+#X connect 0 0 11 0;
+#X connect 1 0 2 0;
+#X connect 2 0 10 0;
+#X connect 4 0 12 0;
+#X connect 5 0 6 0;
+#X connect 6 0 10 1;
+#X connect 7 0 13 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 2;
+#X connect 10 0 3 0;
+#X connect 11 0 1 0;
+#X connect 12 0 5 0;
+#X connect 13 0 8 0;
+#X connect 14 0 0 0;
+#X connect 14 0 4 0;
+#X connect 14 0 7 0;
+#X connect 15 0 1 1;
+#X connect 15 0 5 1;
+#X connect 15 0 8 1;
+#X restore 162 167 pd tripleRnd;
+#N canvas 0 0 351 255 tripleRnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 219 outlet;
+#X obj 92 64 random 100;
+#X obj 92 122 pack 0 1000;
+#X obj 92 145 line;
+#X obj 170 64 random 100;
+#X obj 170 122 pack 0 1000;
+#X obj 170 145 line;
+#X obj 12 189 pack f f f;
+#X obj 12 90 / 20;
+#X obj 92 91 / 20;
+#X obj 170 91 / 20;
+#X obj 12 12 r bang_forme2;
+#X obj 231 9 r line_forme2;
+#X connect 0 0 11 0;
+#X connect 1 0 2 0;
+#X connect 2 0 10 0;
+#X connect 4 0 12 0;
+#X connect 5 0 6 0;
+#X connect 6 0 10 1;
+#X connect 7 0 13 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 2;
+#X connect 10 0 3 0;
+#X connect 11 0 1 0;
+#X connect 12 0 5 0;
+#X connect 13 0 8 0;
+#X connect 14 0 0 0;
+#X connect 14 0 4 0;
+#X connect 14 0 7 0;
+#X connect 15 0 1 1;
+#X connect 15 0 5 1;
+#X connect 15 0 8 1;
+#X restore 300 168 pd tripleRnd;
+#N canvas 0 0 351 255 tripleRnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 219 outlet;
+#X obj 92 64 random 100;
+#X obj 92 122 pack 0 1000;
+#X obj 92 145 line;
+#X obj 170 64 random 100;
+#X obj 170 122 pack 0 1000;
+#X obj 170 145 line;
+#X obj 12 189 pack f f f;
+#X obj 12 90 / 20;
+#X obj 92 91 / 20;
+#X obj 170 91 / 20;
+#X obj 12 12 r bang_forme2;
+#X obj 231 9 r line_forme2;
+#X connect 0 0 11 0;
+#X connect 1 0 2 0;
+#X connect 2 0 10 0;
+#X connect 4 0 12 0;
+#X connect 5 0 6 0;
+#X connect 6 0 10 1;
+#X connect 7 0 13 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 2;
+#X connect 10 0 3 0;
+#X connect 11 0 1 0;
+#X connect 12 0 5 0;
+#X connect 13 0 8 0;
+#X connect 14 0 0 0;
+#X connect 14 0 4 0;
+#X connect 14 0 7 0;
+#X connect 15 0 1 1;
+#X connect 15 0 5 1;
+#X connect 15 0 8 1;
+#X restore 424 166 pd tripleRnd;
+#N canvas 0 0 351 255 tripleRnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 219 outlet;
+#X obj 92 64 random 100;
+#X obj 92 122 pack 0 1000;
+#X obj 92 145 line;
+#X obj 170 64 random 100;
+#X obj 170 122 pack 0 1000;
+#X obj 170 145 line;
+#X obj 12 189 pack f f f;
+#X obj 12 90 / 20;
+#X obj 92 91 / 20;
+#X obj 170 91 / 20;
+#X obj 12 12 r bang_forme2;
+#X obj 231 9 r line_forme2;
+#X connect 0 0 11 0;
+#X connect 1 0 2 0;
+#X connect 2 0 10 0;
+#X connect 4 0 12 0;
+#X connect 5 0 6 0;
+#X connect 6 0 10 1;
+#X connect 7 0 13 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 2;
+#X connect 10 0 3 0;
+#X connect 11 0 1 0;
+#X connect 12 0 5 0;
+#X connect 13 0 8 0;
+#X connect 14 0 0 0;
+#X connect 14 0 4 0;
+#X connect 14 0 7 0;
+#X connect 15 0 1 1;
+#X connect 15 0 5 1;
+#X connect 15 0 8 1;
+#X restore 545 163 pd tripleRnd;
+#N canvas 0 0 351 255 tripleRnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 219 outlet;
+#X obj 92 64 random 100;
+#X obj 92 122 pack 0 1000;
+#X obj 92 145 line;
+#X obj 170 64 random 100;
+#X obj 170 122 pack 0 1000;
+#X obj 170 145 line;
+#X obj 12 189 pack f f f;
+#X obj 12 90 / 20;
+#X obj 92 91 / 20;
+#X obj 170 91 / 20;
+#X obj 12 12 r bang_forme2;
+#X obj 231 9 r line_forme2;
+#X connect 0 0 11 0;
+#X connect 1 0 2 0;
+#X connect 2 0 10 0;
+#X connect 4 0 12 0;
+#X connect 5 0 6 0;
+#X connect 6 0 10 1;
+#X connect 7 0 13 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 2;
+#X connect 10 0 3 0;
+#X connect 11 0 1 0;
+#X connect 12 0 5 0;
+#X connect 13 0 8 0;
+#X connect 14 0 0 0;
+#X connect 14 0 4 0;
+#X connect 14 0 7 0;
+#X connect 15 0 1 1;
+#X connect 15 0 5 1;
+#X connect 15 0 8 1;
+#X restore 28 247 pd tripleRnd;
+#N canvas 0 0 351 255 tripleRnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 219 outlet;
+#X obj 92 64 random 100;
+#X obj 92 122 pack 0 1000;
+#X obj 92 145 line;
+#X obj 170 64 random 100;
+#X obj 170 122 pack 0 1000;
+#X obj 170 145 line;
+#X obj 12 189 pack f f f;
+#X obj 12 90 / 20;
+#X obj 92 91 / 20;
+#X obj 170 91 / 20;
+#X obj 12 12 r bang_forme2;
+#X obj 231 9 r line_forme2;
+#X connect 0 0 11 0;
+#X connect 1 0 2 0;
+#X connect 2 0 10 0;
+#X connect 4 0 12 0;
+#X connect 5 0 6 0;
+#X connect 6 0 10 1;
+#X connect 7 0 13 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 2;
+#X connect 10 0 3 0;
+#X connect 11 0 1 0;
+#X connect 12 0 5 0;
+#X connect 13 0 8 0;
+#X connect 14 0 0 0;
+#X connect 14 0 4 0;
+#X connect 14 0 7 0;
+#X connect 15 0 1 1;
+#X connect 15 0 5 1;
+#X connect 15 0 8 1;
+#X restore 161 245 pd tripleRnd;
+#N canvas 0 0 351 255 tripleRnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 219 outlet;
+#X obj 92 64 random 100;
+#X obj 92 122 pack 0 1000;
+#X obj 92 145 line;
+#X obj 170 64 random 100;
+#X obj 170 122 pack 0 1000;
+#X obj 170 145 line;
+#X obj 12 189 pack f f f;
+#X obj 12 90 / 20;
+#X obj 92 91 / 20;
+#X obj 170 91 / 20;
+#X obj 12 12 r bang_forme2;
+#X obj 231 9 r line_forme2;
+#X connect 0 0 11 0;
+#X connect 1 0 2 0;
+#X connect 2 0 10 0;
+#X connect 4 0 12 0;
+#X connect 5 0 6 0;
+#X connect 6 0 10 1;
+#X connect 7 0 13 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 2;
+#X connect 10 0 3 0;
+#X connect 11 0 1 0;
+#X connect 12 0 5 0;
+#X connect 13 0 8 0;
+#X connect 14 0 0 0;
+#X connect 14 0 4 0;
+#X connect 14 0 7 0;
+#X connect 15 0 1 1;
+#X connect 15 0 5 1;
+#X connect 15 0 8 1;
+#X restore 299 246 pd tripleRnd;
+#N canvas 0 0 351 255 tripleRnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 219 outlet;
+#X obj 92 64 random 100;
+#X obj 92 122 pack 0 1000;
+#X obj 92 145 line;
+#X obj 170 64 random 100;
+#X obj 170 122 pack 0 1000;
+#X obj 170 145 line;
+#X obj 12 189 pack f f f;
+#X obj 12 90 / 20;
+#X obj 92 91 / 20;
+#X obj 170 91 / 20;
+#X obj 12 12 r bang_forme2;
+#X obj 231 9 r line_forme2;
+#X connect 0 0 11 0;
+#X connect 1 0 2 0;
+#X connect 2 0 10 0;
+#X connect 4 0 12 0;
+#X connect 5 0 6 0;
+#X connect 6 0 10 1;
+#X connect 7 0 13 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 2;
+#X connect 10 0 3 0;
+#X connect 11 0 1 0;
+#X connect 12 0 5 0;
+#X connect 13 0 8 0;
+#X connect 14 0 0 0;
+#X connect 14 0 4 0;
+#X connect 14 0 7 0;
+#X connect 15 0 1 1;
+#X connect 15 0 5 1;
+#X connect 15 0 8 1;
+#X restore 422 244 pd tripleRnd;
+#N canvas 0 0 351 255 tripleRnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 219 outlet;
+#X obj 92 64 random 100;
+#X obj 92 122 pack 0 1000;
+#X obj 92 145 line;
+#X obj 170 64 random 100;
+#X obj 170 122 pack 0 1000;
+#X obj 170 145 line;
+#X obj 12 189 pack f f f;
+#X obj 12 90 / 20;
+#X obj 92 91 / 20;
+#X obj 170 91 / 20;
+#X obj 12 12 r bang_forme2;
+#X obj 231 9 r line_forme2;
+#X connect 0 0 11 0;
+#X connect 1 0 2 0;
+#X connect 2 0 10 0;
+#X connect 4 0 12 0;
+#X connect 5 0 6 0;
+#X connect 6 0 10 1;
+#X connect 7 0 13 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 2;
+#X connect 10 0 3 0;
+#X connect 11 0 1 0;
+#X connect 12 0 5 0;
+#X connect 13 0 8 0;
+#X connect 14 0 0 0;
+#X connect 14 0 4 0;
+#X connect 14 0 7 0;
+#X connect 15 0 1 1;
+#X connect 15 0 5 1;
+#X connect 15 0 8 1;
+#X restore 544 241 pd tripleRnd;
+#N canvas 0 0 351 255 tripleRnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 219 outlet;
+#X obj 92 64 random 100;
+#X obj 92 122 pack 0 1000;
+#X obj 92 145 line;
+#X obj 170 64 random 100;
+#X obj 170 122 pack 0 1000;
+#X obj 170 145 line;
+#X obj 12 189 pack f f f;
+#X obj 12 90 / 20;
+#X obj 92 91 / 20;
+#X obj 170 91 / 20;
+#X obj 12 12 r bang_forme2;
+#X obj 231 9 r line_forme2;
+#X connect 0 0 11 0;
+#X connect 1 0 2 0;
+#X connect 2 0 10 0;
+#X connect 4 0 12 0;
+#X connect 5 0 6 0;
+#X connect 6 0 10 1;
+#X connect 7 0 13 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 2;
+#X connect 10 0 3 0;
+#X connect 11 0 1 0;
+#X connect 12 0 5 0;
+#X connect 13 0 8 0;
+#X connect 14 0 0 0;
+#X connect 14 0 4 0;
+#X connect 14 0 7 0;
+#X connect 15 0 1 1;
+#X connect 15 0 5 1;
+#X connect 15 0 8 1;
+#X restore 28 318 pd tripleRnd;
+#N canvas 0 0 351 255 tripleRnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 219 outlet;
+#X obj 92 64 random 100;
+#X obj 92 122 pack 0 1000;
+#X obj 92 145 line;
+#X obj 170 64 random 100;
+#X obj 170 122 pack 0 1000;
+#X obj 170 145 line;
+#X obj 12 189 pack f f f;
+#X obj 12 90 / 20;
+#X obj 92 91 / 20;
+#X obj 170 91 / 20;
+#X obj 12 12 r bang_forme2;
+#X obj 231 9 r line_forme2;
+#X connect 0 0 11 0;
+#X connect 1 0 2 0;
+#X connect 2 0 10 0;
+#X connect 4 0 12 0;
+#X connect 5 0 6 0;
+#X connect 6 0 10 1;
+#X connect 7 0 13 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 2;
+#X connect 10 0 3 0;
+#X connect 11 0 1 0;
+#X connect 12 0 5 0;
+#X connect 13 0 8 0;
+#X connect 14 0 0 0;
+#X connect 14 0 4 0;
+#X connect 14 0 7 0;
+#X connect 15 0 1 1;
+#X connect 15 0 5 1;
+#X connect 15 0 8 1;
+#X restore 161 316 pd tripleRnd;
+#N canvas 0 0 351 255 tripleRnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 219 outlet;
+#X obj 92 64 random 100;
+#X obj 92 122 pack 0 1000;
+#X obj 92 145 line;
+#X obj 170 64 random 100;
+#X obj 170 122 pack 0 1000;
+#X obj 170 145 line;
+#X obj 12 189 pack f f f;
+#X obj 12 90 / 20;
+#X obj 92 91 / 20;
+#X obj 170 91 / 20;
+#X obj 12 12 r bang_forme2;
+#X obj 231 9 r line_forme2;
+#X connect 0 0 11 0;
+#X connect 1 0 2 0;
+#X connect 2 0 10 0;
+#X connect 4 0 12 0;
+#X connect 5 0 6 0;
+#X connect 6 0 10 1;
+#X connect 7 0 13 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 2;
+#X connect 10 0 3 0;
+#X connect 11 0 1 0;
+#X connect 12 0 5 0;
+#X connect 13 0 8 0;
+#X connect 14 0 0 0;
+#X connect 14 0 4 0;
+#X connect 14 0 7 0;
+#X connect 15 0 1 1;
+#X connect 15 0 5 1;
+#X connect 15 0 8 1;
+#X restore 299 317 pd tripleRnd;
+#N canvas 0 0 351 255 tripleRnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 219 outlet;
+#X obj 92 64 random 100;
+#X obj 92 122 pack 0 1000;
+#X obj 92 145 line;
+#X obj 170 64 random 100;
+#X obj 170 122 pack 0 1000;
+#X obj 170 145 line;
+#X obj 12 189 pack f f f;
+#X obj 12 90 / 20;
+#X obj 92 91 / 20;
+#X obj 170 91 / 20;
+#X obj 12 12 r bang_forme2;
+#X obj 231 9 r line_forme2;
+#X connect 0 0 11 0;
+#X connect 1 0 2 0;
+#X connect 2 0 10 0;
+#X connect 4 0 12 0;
+#X connect 5 0 6 0;
+#X connect 6 0 10 1;
+#X connect 7 0 13 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 2;
+#X connect 10 0 3 0;
+#X connect 11 0 1 0;
+#X connect 12 0 5 0;
+#X connect 13 0 8 0;
+#X connect 14 0 0 0;
+#X connect 14 0 4 0;
+#X connect 14 0 7 0;
+#X connect 15 0 1 1;
+#X connect 15 0 5 1;
+#X connect 15 0 8 1;
+#X restore 423 315 pd tripleRnd;
+#N canvas 0 0 351 255 tripleRnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 219 outlet;
+#X obj 92 64 random 100;
+#X obj 92 122 pack 0 1000;
+#X obj 92 145 line;
+#X obj 170 64 random 100;
+#X obj 170 122 pack 0 1000;
+#X obj 170 145 line;
+#X obj 12 189 pack f f f;
+#X obj 12 90 / 20;
+#X obj 92 91 / 20;
+#X obj 170 91 / 20;
+#X obj 12 12 r bang_forme2;
+#X obj 231 9 r line_forme2;
+#X connect 0 0 11 0;
+#X connect 1 0 2 0;
+#X connect 2 0 10 0;
+#X connect 4 0 12 0;
+#X connect 5 0 6 0;
+#X connect 6 0 10 1;
+#X connect 7 0 13 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 2;
+#X connect 10 0 3 0;
+#X connect 11 0 1 0;
+#X connect 12 0 5 0;
+#X connect 13 0 8 0;
+#X connect 14 0 0 0;
+#X connect 14 0 4 0;
+#X connect 14 0 7 0;
+#X connect 15 0 1 1;
+#X connect 15 0 5 1;
+#X connect 15 0 8 1;
+#X restore 544 312 pd tripleRnd;
+#N canvas 0 0 351 255 tripleRnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 219 outlet;
+#X obj 92 64 random 100;
+#X obj 92 122 pack 0 1000;
+#X obj 92 145 line;
+#X obj 170 64 random 100;
+#X obj 170 122 pack 0 1000;
+#X obj 170 145 line;
+#X obj 12 189 pack f f f;
+#X obj 12 90 / 20;
+#X obj 92 91 / 20;
+#X obj 170 91 / 20;
+#X obj 12 12 r bang_forme2;
+#X obj 231 9 r line_forme2;
+#X connect 0 0 11 0;
+#X connect 1 0 2 0;
+#X connect 2 0 10 0;
+#X connect 4 0 12 0;
+#X connect 5 0 6 0;
+#X connect 6 0 10 1;
+#X connect 7 0 13 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 2;
+#X connect 10 0 3 0;
+#X connect 11 0 1 0;
+#X connect 12 0 5 0;
+#X connect 13 0 8 0;
+#X connect 14 0 0 0;
+#X connect 14 0 4 0;
+#X connect 14 0 7 0;
+#X connect 15 0 1 1;
+#X connect 15 0 5 1;
+#X connect 15 0 8 1;
+#X restore 29 374 pd tripleRnd;
+#N canvas 0 0 351 255 tripleRnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 219 outlet;
+#X obj 92 64 random 100;
+#X obj 92 122 pack 0 1000;
+#X obj 92 145 line;
+#X obj 170 64 random 100;
+#X obj 170 122 pack 0 1000;
+#X obj 170 145 line;
+#X obj 12 189 pack f f f;
+#X obj 12 90 / 20;
+#X obj 92 91 / 20;
+#X obj 170 91 / 20;
+#X obj 12 12 r bang_forme2;
+#X obj 231 9 r line_forme2;
+#X connect 0 0 11 0;
+#X connect 1 0 2 0;
+#X connect 2 0 10 0;
+#X connect 4 0 12 0;
+#X connect 5 0 6 0;
+#X connect 6 0 10 1;
+#X connect 7 0 13 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 2;
+#X connect 10 0 3 0;
+#X connect 11 0 1 0;
+#X connect 12 0 5 0;
+#X connect 13 0 8 0;
+#X connect 14 0 0 0;
+#X connect 14 0 4 0;
+#X connect 14 0 7 0;
+#X connect 15 0 1 1;
+#X connect 15 0 5 1;
+#X connect 15 0 8 1;
+#X restore 162 372 pd tripleRnd;
+#N canvas 0 0 351 255 tripleRnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 219 outlet;
+#X obj 92 64 random 100;
+#X obj 92 122 pack 0 1000;
+#X obj 92 145 line;
+#X obj 170 64 random 100;
+#X obj 170 122 pack 0 1000;
+#X obj 170 145 line;
+#X obj 12 189 pack f f f;
+#X obj 12 90 / 20;
+#X obj 92 91 / 20;
+#X obj 170 91 / 20;
+#X obj 12 12 r bang_forme2;
+#X obj 231 9 r line_forme2;
+#X connect 0 0 11 0;
+#X connect 1 0 2 0;
+#X connect 2 0 10 0;
+#X connect 4 0 12 0;
+#X connect 5 0 6 0;
+#X connect 6 0 10 1;
+#X connect 7 0 13 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 2;
+#X connect 10 0 3 0;
+#X connect 11 0 1 0;
+#X connect 12 0 5 0;
+#X connect 13 0 8 0;
+#X connect 14 0 0 0;
+#X connect 14 0 4 0;
+#X connect 14 0 7 0;
+#X connect 15 0 1 1;
+#X connect 15 0 5 1;
+#X connect 15 0 8 1;
+#X restore 300 373 pd tripleRnd;
+#N canvas 0 0 351 255 tripleRnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 219 outlet;
+#X obj 92 64 random 100;
+#X obj 92 122 pack 0 1000;
+#X obj 92 145 line;
+#X obj 170 64 random 100;
+#X obj 170 122 pack 0 1000;
+#X obj 170 145 line;
+#X obj 12 189 pack f f f;
+#X obj 12 90 / 20;
+#X obj 92 91 / 20;
+#X obj 170 91 / 20;
+#X obj 12 12 r bang_forme2;
+#X obj 231 9 r line_forme2;
+#X connect 0 0 11 0;
+#X connect 1 0 2 0;
+#X connect 2 0 10 0;
+#X connect 4 0 12 0;
+#X connect 5 0 6 0;
+#X connect 6 0 10 1;
+#X connect 7 0 13 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 2;
+#X connect 10 0 3 0;
+#X connect 11 0 1 0;
+#X connect 12 0 5 0;
+#X connect 13 0 8 0;
+#X connect 14 0 0 0;
+#X connect 14 0 4 0;
+#X connect 14 0 7 0;
+#X connect 15 0 1 1;
+#X connect 15 0 5 1;
+#X connect 15 0 8 1;
+#X restore 424 371 pd tripleRnd;
+#N canvas 0 0 351 255 tripleRnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 219 outlet;
+#X obj 92 64 random 100;
+#X obj 92 122 pack 0 1000;
+#X obj 92 145 line;
+#X obj 170 64 random 100;
+#X obj 170 122 pack 0 1000;
+#X obj 170 145 line;
+#X obj 12 189 pack f f f;
+#X obj 12 90 / 20;
+#X obj 92 91 / 20;
+#X obj 170 91 / 20;
+#X obj 12 12 r bang_forme2;
+#X obj 231 9 r line_forme2;
+#X connect 0 0 11 0;
+#X connect 1 0 2 0;
+#X connect 2 0 10 0;
+#X connect 4 0 12 0;
+#X connect 5 0 6 0;
+#X connect 6 0 10 1;
+#X connect 7 0 13 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 2;
+#X connect 10 0 3 0;
+#X connect 11 0 1 0;
+#X connect 12 0 5 0;
+#X connect 13 0 8 0;
+#X connect 14 0 0 0;
+#X connect 14 0 4 0;
+#X connect 14 0 7 0;
+#X connect 15 0 1 1;
+#X connect 15 0 5 1;
+#X connect 15 0 8 1;
+#X restore 545 368 pd tripleRnd;
+#X connect 0 0 7 0;
+#X connect 1 0 26 0;
+#X connect 2 0 26 0;
+#X connect 3 0 26 0;
+#X connect 4 0 26 0;
+#X connect 5 0 26 0;
+#X connect 6 0 26 0;
+#X connect 7 0 26 0;
+#X connect 8 0 26 0;
+#X connect 9 0 26 0;
+#X connect 10 0 26 0;
+#X connect 11 0 26 0;
+#X connect 12 0 26 0;
+#X connect 13 0 26 0;
+#X connect 14 0 26 0;
+#X connect 15 0 26 0;
+#X connect 16 0 26 0;
+#X connect 17 0 26 0;
+#X connect 18 0 26 0;
+#X connect 19 0 26 0;
+#X connect 20 0 26 0;
+#X connect 21 0 26 0;
+#X connect 22 0 26 0;
+#X connect 23 0 26 0;
+#X connect 24 0 26 0;
+#X connect 25 0 26 0;
+#X connect 27 0 28 0;
+#X connect 29 0 6 0;
+#X connect 30 0 5 0;
+#X connect 31 0 13 0;
+#X connect 32 0 17 0;
+#X connect 33 0 8 0;
+#X connect 34 0 9 0;
+#X connect 35 0 4 0;
+#X connect 36 0 14 0;
+#X connect 37 0 18 0;
+#X connect 38 0 1 0;
+#X connect 39 0 2 0;
+#X connect 40 0 3 0;
+#X connect 41 0 15 0;
+#X connect 42 0 19 0;
+#X connect 43 0 10 0;
+#X connect 44 0 11 0;
+#X connect 45 0 12 0;
+#X connect 46 0 16 0;
+#X connect 47 0 20 0;
+#X connect 48 0 21 0;
+#X connect 49 0 22 0;
+#X connect 50 0 23 0;
+#X connect 51 0 24 0;
+#X connect 52 0 25 0;
+#X restore 136 509 pd forme2;
+#X obj 136 490 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 57 490 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#N canvas 253 49 697 499 forme1 0;
+#X obj 76 418 outlet;
+#X obj 36 15 inlet;
+#N canvas 0 0 251 239 Rnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 173 outlet;
+#X obj 12 90 / 20;
+#X obj 12 12 r bang_forme3;
+#X obj 105 11 r line_forme3;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 1;
+#X restore 28 92 pd Rnd;
+#X msg 28 114 set 0 0 0 0 \$1;
+#X msg 126 115 set 0 1 0 1 \$1;
+#X msg 227 116 set 0 2 0 2 \$1;
+#X msg 323 117 set 0 3 0 3 \$1;
+#X msg 419 116 set 0 4 0 4 \$1;
+#X msg 47 159 set 1 0 1 0 \$1;
+#X msg 145 160 set 1 1 1 1 \$1;
+#X msg 246 161 set 1 2 1 2 \$1;
+#X msg 342 162 set 1 3 1 3 \$1;
+#X msg 438 161 set 1 4 1 4 \$1;
+#X msg 68 202 set 2 0 2 0 \$1;
+#X msg 166 203 set 2 1 2 1 \$1;
+#X msg 267 204 set 2 2 2 2 \$1;
+#X msg 363 205 set 2 3 2 3 \$1;
+#X msg 459 204 set 2 4 2 4 \$1;
+#X msg 97 249 set 3 0 3 0 \$1;
+#X msg 195 250 set 3 1 3 1 \$1;
+#X msg 297 251 set 3 2 3 2 \$1;
+#X msg 393 252 set 3 3 3 3 \$1;
+#X msg 488 251 set 3 4 3 4 \$1;
+#X msg 121 296 set 4 0 4 0 \$1;
+#X msg 219 297 set 4 1 4 1 \$1;
+#X msg 320 298 set 4 2 4 2 \$1;
+#X msg 416 299 set 4 3 4 3 \$1;
+#X msg 512 298 set 4 4 4 4 \$1;
+#X obj 36 39 s bang_forme3;
+#N canvas 0 0 249 237 Rnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 173 outlet;
+#X obj 12 90 / 20;
+#X obj 12 12 r bang_forme3;
+#X obj 105 11 r line_forme3;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 1;
+#X restore 127 92 pd Rnd;
+#N canvas 0 0 251 239 Rnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 173 outlet;
+#X obj 12 90 / 20;
+#X obj 12 12 r bang_forme3;
+#X obj 105 11 r line_forme3;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 1;
+#X restore 227 93 pd Rnd;
+#N canvas 0 0 249 237 Rnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 173 outlet;
+#X obj 12 90 / 20;
+#X obj 12 12 r bang_forme3;
+#X obj 105 11 r line_forme3;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 1;
+#X restore 326 93 pd Rnd;
+#N canvas 0 0 249 237 Rnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 173 outlet;
+#X obj 12 90 / 20;
+#X obj 12 12 r bang_forme3;
+#X obj 105 11 r line_forme3;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 1;
+#X restore 420 94 pd Rnd;
+#N canvas 0 0 249 237 Rnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 173 outlet;
+#X obj 12 90 / 20;
+#X obj 12 12 r bang_forme3;
+#X obj 105 11 r line_forme3;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 1;
+#X restore 48 138 pd Rnd;
+#N canvas 0 0 249 237 Rnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 173 outlet;
+#X obj 12 90 / 20;
+#X obj 12 12 r bang_forme3;
+#X obj 105 11 r line_forme3;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 1;
+#X restore 147 138 pd Rnd;
+#N canvas 0 0 249 237 Rnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 173 outlet;
+#X obj 12 90 / 20;
+#X obj 12 12 r bang_forme3;
+#X obj 105 11 r line_forme3;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 1;
+#X restore 247 139 pd Rnd;
+#N canvas 0 0 249 237 Rnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 173 outlet;
+#X obj 12 90 / 20;
+#X obj 12 12 r bang_forme3;
+#X obj 105 11 r line_forme3;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 1;
+#X restore 346 139 pd Rnd;
+#N canvas 0 0 249 237 Rnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 173 outlet;
+#X obj 12 90 / 20;
+#X obj 12 12 r bang_forme3;
+#X obj 105 11 r line_forme3;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 1;
+#X restore 440 140 pd Rnd;
+#N canvas 0 0 249 237 Rnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 173 outlet;
+#X obj 12 90 / 20;
+#X obj 12 12 r bang_forme3;
+#X obj 105 11 r line_forme3;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 1;
+#X restore 68 181 pd Rnd;
+#N canvas 0 0 249 237 Rnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 173 outlet;
+#X obj 12 90 / 20;
+#X obj 12 12 r bang_forme3;
+#X obj 105 11 r line_forme3;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 1;
+#X restore 167 181 pd Rnd;
+#N canvas 0 0 249 237 Rnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 173 outlet;
+#X obj 12 90 / 20;
+#X obj 12 12 r bang_forme3;
+#X obj 105 11 r line_forme3;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 1;
+#X restore 267 182 pd Rnd;
+#N canvas 0 0 249 237 Rnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 173 outlet;
+#X obj 12 90 / 20;
+#X obj 12 12 r bang_forme3;
+#X obj 105 11 r line_forme3;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 1;
+#X restore 366 182 pd Rnd;
+#N canvas 0 0 249 237 Rnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 173 outlet;
+#X obj 12 90 / 20;
+#X obj 12 12 r bang_forme3;
+#X obj 105 11 r line_forme3;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 1;
+#X restore 460 183 pd Rnd;
+#N canvas 0 0 249 237 Rnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 173 outlet;
+#X obj 12 90 / 20;
+#X obj 12 12 r bang_forme3;
+#X obj 105 11 r line_forme3;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 1;
+#X restore 97 227 pd Rnd;
+#N canvas 0 0 249 237 Rnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 173 outlet;
+#X obj 12 90 / 20;
+#X obj 12 12 r bang_forme3;
+#X obj 105 11 r line_forme3;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 1;
+#X restore 196 227 pd Rnd;
+#N canvas 0 0 249 237 Rnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 173 outlet;
+#X obj 12 90 / 20;
+#X obj 12 12 r bang_forme3;
+#X obj 105 11 r line_forme3;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 1;
+#X restore 296 228 pd Rnd;
+#N canvas 0 0 249 237 Rnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 173 outlet;
+#X obj 12 90 / 20;
+#X obj 12 12 r bang_forme3;
+#X obj 105 11 r line_forme3;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 1;
+#X restore 395 228 pd Rnd;
+#N canvas 0 0 249 237 Rnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 173 outlet;
+#X obj 12 90 / 20;
+#X obj 12 12 r bang_forme3;
+#X obj 105 11 r line_forme3;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 1;
+#X restore 489 229 pd Rnd;
+#N canvas 0 0 249 237 Rnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 173 outlet;
+#X obj 12 90 / 20;
+#X obj 12 12 r bang_forme3;
+#X obj 105 11 r line_forme3;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 1;
+#X restore 121 275 pd Rnd;
+#N canvas 0 0 249 237 Rnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 173 outlet;
+#X obj 12 90 / 20;
+#X obj 12 12 r bang_forme3;
+#X obj 105 11 r line_forme3;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 1;
+#X restore 220 275 pd Rnd;
+#N canvas 0 0 249 237 Rnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 173 outlet;
+#X obj 12 90 / 20;
+#X obj 12 12 r bang_forme3;
+#X obj 105 11 r line_forme3;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 1;
+#X restore 320 276 pd Rnd;
+#N canvas 0 0 249 237 Rnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 173 outlet;
+#X obj 12 90 / 20;
+#X obj 12 12 r bang_forme3;
+#X obj 105 11 r line_forme3;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 1;
+#X restore 419 276 pd Rnd;
+#N canvas 0 0 249 237 Rnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 173 outlet;
+#X obj 12 90 / 20;
+#X obj 12 12 r bang_forme3;
+#X obj 105 11 r line_forme3;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 1;
+#X restore 513 277 pd Rnd;
+#X connect 1 0 28 0;
+#X connect 2 0 3 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X connect 9 0 0 0;
+#X connect 10 0 0 0;
+#X connect 11 0 0 0;
+#X connect 12 0 0 0;
+#X connect 13 0 0 0;
+#X connect 14 0 0 0;
+#X connect 15 0 0 0;
+#X connect 16 0 0 0;
+#X connect 17 0 0 0;
+#X connect 18 0 0 0;
+#X connect 19 0 0 0;
+#X connect 20 0 0 0;
+#X connect 21 0 0 0;
+#X connect 22 0 0 0;
+#X connect 23 0 0 0;
+#X connect 24 0 0 0;
+#X connect 25 0 0 0;
+#X connect 26 0 0 0;
+#X connect 27 0 0 0;
+#X connect 29 0 4 0;
+#X connect 30 0 5 0;
+#X connect 31 0 6 0;
+#X connect 32 0 7 0;
+#X connect 33 0 8 0;
+#X connect 34 0 9 0;
+#X connect 35 0 10 0;
+#X connect 36 0 11 0;
+#X connect 37 0 12 0;
+#X connect 38 0 13 0;
+#X connect 39 0 14 0;
+#X connect 40 0 15 0;
+#X connect 41 0 16 0;
+#X connect 42 0 17 0;
+#X connect 43 0 18 0;
+#X connect 44 0 19 0;
+#X connect 45 0 20 0;
+#X connect 46 0 21 0;
+#X connect 47 0 22 0;
+#X connect 48 0 23 0;
+#X connect 49 0 24 0;
+#X connect 50 0 25 0;
+#X connect 51 0 26 0;
+#X connect 52 0 27 0;
+#X restore 57 509 pd forme1;
+#X text 77 489 shape1;
+#X text 156 489 shape2;
+#X obj 57 469 loadbang;
+#X floatatom 214 464 5 0 0 0 - - -;
+#X msg 214 506 set 3 2 \$1 \$2 \$3;
+#X floatatom 247 464 5 0 0 0 - - -;
+#N canvas 0 0 173 130 pak 0;
+#X obj 73 39 t b f;
+#X obj 108 39 t b f;
+#X obj 38 19 inlet;
+#X obj 38 69 pack f f f;
+#X obj 38 90 outlet;
+#X obj 73 19 inlet;
+#X obj 108 19 inlet;
+#X connect 0 0 3 0;
+#X connect 0 1 3 1;
+#X connect 1 0 3 0;
+#X connect 1 1 3 2;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 0;
+#X restore 214 484 pd pak f f f;
+#X floatatom 281 464 5 0 0 0 - - -;
+#X obj 214 532 s exemples_shape;
+#X obj 136 532 s curve3d;
+#X obj 57 532 s curve3d;
+#X text 13 68 Description: Renders a 3d bezier curve.;
+#X text 68 183 size of the control matrix (default : 2 2);
+#X obj 494 521 curve3d 5 5;
+#X text 276 3 Create a 3D bezier curve \, using a matrix of control
+points;
+#X text 31 336 Inlet 1 : message: set Mx My X Y Z;
+#X text 31 296 Inlet 1: message: grid X Y;
+#X text 31 259 Inlet 1: message: res X Y;
+#X text 53 272 This message is use for changing the size of the control
+matrix (X \, Y are 2 int);
+#X text 52 310 This message is use for changing the subdivision of
+the displayed curve (X Y are 2 int);
+#X text 53 349 This message can be use to set the position of a control
+point. (Mx \, My : position of the point in the matrix. X \, Y \, Z
+: position of this control point;
+#X text 21 447 exemples :;
+#X text 29 87 The curve3d object renders a curve at the current position
+with current color or texture. The shape of the curve is cotrolled
+from a matrix. Note that control points are not necessary part of the
+curve.;
+#X connect 12 0 13 0;
+#X connect 13 0 12 0;
+#X connect 18 0 45 0;
+#X connect 19 0 45 0;
+#X connect 21 0 45 0;
+#X connect 22 0 45 0;
+#X connect 23 0 45 0;
+#X connect 24 0 45 0;
+#X connect 25 0 45 0;
+#X connect 26 0 45 0;
+#X connect 27 0 42 0;
+#X connect 28 0 42 0;
+#X connect 29 0 42 0;
+#X connect 30 0 42 0;
+#X connect 31 0 42 0;
+#X connect 32 0 43 0;
+#X connect 33 0 44 0;
+#X connect 34 0 43 0;
+#X connect 35 0 44 0;
+#X connect 36 0 44 0;
+#X connect 37 0 43 0;
+#X connect 38 0 43 0;
+#X connect 39 0 44 0;
+#X connect 49 0 57 0;
+#X connect 50 0 56 1;
+#X connect 51 0 56 2;
+#X connect 52 0 56 3;
+#X connect 53 0 57 1;
+#X connect 54 0 57 2;
+#X connect 55 0 57 3;
+#X connect 56 0 83 0;
+#X connect 57 0 56 0;
+#X connect 58 0 83 0;
+#X connect 66 0 79 0;
+#X connect 67 0 66 0;
+#X connect 68 0 69 0;
+#X connect 69 0 80 0;
+#X connect 72 0 68 0;
+#X connect 73 0 76 0;
+#X connect 74 0 78 0;
+#X connect 75 0 76 1;
+#X connect 76 0 74 0;
+#X connect 77 0 76 2;
diff --git a/packages/noncvs/windows/extra/Gem/cylinder-help.pd b/packages/noncvs/windows/extra/Gem/cylinder-help.pd
index e9781f71..9acff7a8 100644
--- a/packages/noncvs/windows/extra/Gem/cylinder-help.pd
+++ b/packages/noncvs/windows/extra/Gem/cylinder-help.pd
@@ -1,70 +1,70 @@
-#N canvas 291 154 710 345 10;
-#X text 54 30 Class: geometric object;
-#X obj 479 47 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X obj 544 224 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 198 112 destroy;
-#X msg 132 112 create \, 1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 549 263 pd gemwin;
-#X msg 549 244 create;
-#X text 545 223 Create window:;
-#X text 485 29 Example:;
-#X obj 7 65 cnv 15 450 80 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 8 216 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 9 221 Inlets:;
-#X obj 8 156 cnv 15 450 50 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 155 Arguments:;
-#X text 27 261 Inlet 2: float: size;
-#X text 452 8 GEM object;
-#X text 27 233 Inlet 1: gemlist;
-#X text 9 287 Outlets:;
-#X text 21 300 Outlet 1: gemlist;
-#X obj 546 130 cnv 15 100 80 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X msg 485 65 draw line;
-#X msg 485 86 draw fill;
-#X msg 485 108 draw point;
-#X obj 553 54 gemhead;
-#X floatatom 575 144 5 0 0 2 size - -;
-#X obj 553 79 rotateXYZ 90 0 0;
-#X floatatom 598 172 3 0 0 2 segments - -;
-#X text 27 272 Inlet 3: int: number of segments;
-#X text 33 14 Synopsis: [cylinder];
-#X obj 553 189 cylinder;
-#X text 7 69 Description: Renders a cylinder.;
-#X text 14 86 The cylinder object renders a cylinder at the current
-position with current color. The look of the cylinder can be changed
-with the draw message \, its size can be changed via the second inlet.
-;
-#X text 63 167 size of the cylinder \, segments;
-#X text 63 182 defaults: 1 \, 10;
-#X text 27 247 Inlet 1: message: draw [line|fill|point|default];
-#X connect 3 0 4 0;
-#X connect 4 0 3 0;
-#X connect 18 0 27 0;
-#X connect 19 0 27 0;
-#X connect 20 0 27 0;
-#X connect 21 0 23 0;
-#X connect 22 0 27 1;
-#X connect 23 0 27 0;
-#X connect 24 0 27 2;
+#N canvas 291 154 710 345 10;
+#X text 54 30 Class: geometric object;
+#X obj 479 47 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X obj 544 224 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 198 112 destroy;
+#X msg 132 112 create \, 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 549 263 pd gemwin;
+#X msg 549 244 create;
+#X text 545 223 Create window:;
+#X text 485 29 Example:;
+#X obj 7 65 cnv 15 450 80 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 8 216 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 9 221 Inlets:;
+#X obj 8 156 cnv 15 450 50 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 155 Arguments:;
+#X text 27 261 Inlet 2: float: size;
+#X text 452 8 GEM object;
+#X text 27 233 Inlet 1: gemlist;
+#X text 9 287 Outlets:;
+#X text 21 300 Outlet 1: gemlist;
+#X obj 546 130 cnv 15 100 80 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X msg 485 65 draw line;
+#X msg 485 86 draw fill;
+#X msg 485 108 draw point;
+#X obj 553 54 gemhead;
+#X floatatom 575 144 5 0 0 2 size - -;
+#X obj 553 79 rotateXYZ 90 0 0;
+#X floatatom 598 172 3 0 0 2 segments - -;
+#X text 27 272 Inlet 3: int: number of segments;
+#X text 33 14 Synopsis: [cylinder];
+#X obj 553 189 cylinder;
+#X text 7 69 Description: Renders a cylinder.;
+#X text 14 86 The cylinder object renders a cylinder at the current
+position with current color. The look of the cylinder can be changed
+with the draw message \, its size can be changed via the second inlet.
+;
+#X text 63 167 size of the cylinder \, segments;
+#X text 63 182 defaults: 1 \, 10;
+#X text 27 247 Inlet 1: message: draw [line|fill|point|default];
+#X connect 3 0 4 0;
+#X connect 4 0 3 0;
+#X connect 18 0 27 0;
+#X connect 19 0 27 0;
+#X connect 20 0 27 0;
+#X connect 21 0 23 0;
+#X connect 22 0 27 1;
+#X connect 23 0 27 0;
+#X connect 24 0 27 2;
diff --git a/packages/noncvs/windows/extra/Gem/depth-help.pd b/packages/noncvs/windows/extra/Gem/depth-help.pd
index 87149426..7e3911cf 100644
--- a/packages/noncvs/windows/extra/Gem/depth-help.pd
+++ b/packages/noncvs/windows/extra/Gem/depth-help.pd
@@ -1,21 +1,21 @@
-#N canvas 52 90 600 500 10;
-#X obj 124 219 depth;
-#X msg 173 156 1;
-#X msg 173 184 0;
-#X text 92 291 depth turns on and off depth test (also known as Z-buffering).
-This is very useful if you are in single-buffer mode \, because then
-a painting effect can be achieved. In double-buffered mode \, you probably
-do not want to turn off the depth test \, unless you have taken control
-of the rendering order by setting the priority of each gemhead (see
-the gemhead example for explanation).;
-#X text 138 6 depth;
-#X msg 124 249 gemList;
-#X msg 124 123 gemList;
-#X text 124 61 GEM object;
-#X text 93 403 By default \, this object will turn OFF depth buffering
-for the objects "below".;
-#X text 94 438 You can set the initial state via an argument;
-#X connect 0 0 5 0;
-#X connect 1 0 0 0;
-#X connect 2 0 0 0;
-#X connect 6 0 0 0;
+#N canvas 52 90 600 500 10;
+#X obj 124 219 depth;
+#X msg 173 156 1;
+#X msg 173 184 0;
+#X text 92 291 depth turns on and off depth test (also known as Z-buffering).
+This is very useful if you are in single-buffer mode \, because then
+a painting effect can be achieved. In double-buffered mode \, you probably
+do not want to turn off the depth test \, unless you have taken control
+of the rendering order by setting the priority of each gemhead (see
+the gemhead example for explanation).;
+#X text 138 6 depth;
+#X msg 124 249 gemList;
+#X msg 124 123 gemList;
+#X text 124 61 GEM object;
+#X text 93 403 By default \, this object will turn OFF depth buffering
+for the objects "below".;
+#X text 94 438 You can set the initial state via an argument;
+#X connect 0 0 5 0;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 6 0 0 0;
diff --git a/packages/noncvs/windows/extra/Gem/dev/Base/CPPExtern.h b/packages/noncvs/windows/extra/Gem/dev/Base/CPPExtern.h
index ec17c0e7..fe4ac051 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Base/CPPExtern.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Base/CPPExtern.h
@@ -1,371 +1,371 @@
-/*-----------------------------------------------------------------
-LOG
- GEM - Graphics Environment for Multimedia
-
- The base class for all externs written in C++
-
- Copyright (c) 1997-1999 Mark Danks. mark@danks.org
- For information on usage and redistribution, and for a DISCLAIMER OF ALL
- WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
-
------------------------------------------------------------------*/
-
-#ifndef _INCLUDE__GEM_BASE_CPPEXTERN_H_
-#define _INCLUDE__GEM_BASE_CPPEXTERN_H_
-
-#include "Gem/ExportDef.h"
-
-#include "Gem/RTE.h"
-#include "Gem/Version.h"
-
-#include <new>
-#include <string>
-
-class CPPExtern;
-
-/* forward declaration of a generic exception handler for GemExceptions */
-namespace gem {
- GEM_EXTERN void catchGemException(const char*objname, const t_object*obj);
-};
-
-/*-----------------------------------------------------------------
--------------------------------------------------------------------
-CLASS
- Obj_header
-
- The obligatory object header
-
-DESCRIPTION
-
- This is in a separate struct to assure that when PD uses the
- class, the t_object is the very first thing. If it were the
- first thing in CPPExtern, then there could be problems with
- the vtable.
-
------------------------------------------------------------------*/
-struct GEM_EXTERN Obj_header
-{
- //////////
- // The obligatory object header
- t_object pd_obj;
-
- //////////
- // Our data structure
- CPPExtern *data;
-
- // This has a dummy arg so that NT won't complain
- void *operator new(size_t, void *location, void *dummy);
-};
-
-/*-----------------------------------------------------------------
--------------------------------------------------------------------
-CLASS
- CPPExtern
-
- The base class for all externs written in C++
-
-DESCRIPTION
-
- Each extern which is written in C++ needs to use the #defines at the
- end of this header file. Currently, the operator new(size_t) and
- operator delete(void *) are not overridden. This will be a problem
- when PD expects everything to fit in its memory space and control
- all memory allocation.
-
- The define
-
- CPPEXTERN_HEADER(NEW_CLASS, PARENT_CLASS);
-
- should be somewhere in your header file.
- One of the defines like
-
- CPPEXTERN_NEW(NEW_CLASS);
- CPPEXTERN_NEW_WITH_TWO_ARGS(NEW_CLASS, t_floatarg, A_FLOAT, t_floatarg, A_FLOAT);
-
- should be the first thing in your implementation file.
- NEW_CLASS is the name of your class and PARENT_CLASS is the
- parent of your class.
-
------------------------------------------------------------------*/
-class GEM_EXTERN CPPExtern
-{
- public:
-
- //////////
- // Constructor
- CPPExtern(void);
-
- //////////
- // The Pd header
- t_object *x_obj;
-
- //////////
- // Destructor
- virtual ~CPPExtern(void) = 0;
-
- //////////
- // Get the object's canvas
- const t_canvas *getCanvas(void) const { return(m_canvas); }
-
- //////////
- // This is a holder - don't touch it
- static t_object *m_holder;
-
- //////////
- // my name
- static char *m_holdname;
- t_symbol *m_objectname;
-
- protected:
-
- //////////
- // Creation callback
- static void real_obj_setupCallback(t_class *) {}
-
- private:
-
- //////////
- // The canvas that the object is in
- t_canvas *m_canvas;
-
- public:
- // these call pd's print-functions, and eventually prepend the object's name
- void startpost(const char*format, ...) const;
- void post(const char*format, ...) const;
- void endpost(void) const;
- void verbose(const int level, const char*format, ...) const;
- void error(const char*format, ...) const; /* internally uses pd_error() */
-
- // searches for a file based on the parent abstraction's path
- // wraps open_via_path() and canvas_makefilename()
- // the full filename is returned
- // if the file does not exist, it is constructed
- std::string findFile(const std::string filename, const std::string ext) const;
- std::string findFile(const std::string filename) const;
-
- private:
- mutable bool m_endpost; /* internal state for startpost/post/endpost */
- static bool checkGemVersion(const int major, const int minor);
- CPPExtern(const CPPExtern&);
- virtual CPPExtern&operator=(const CPPExtern&);
-};
-
-////////////////////////////////////////
-// This should be used in the header
-////////////////////////////////////////
-
-#define CPPEXTERN_HEADER(NEW_CLASS, PARENT_CLASS) \
-public: \
-static void obj_freeCallback(void *data) \
-{ CPPExtern *mydata = ((Obj_header *)data)->data; delete mydata; \
- ((Obj_header *)data)->Obj_header::~Obj_header(); } \
-static void real_obj_setupCallback(t_class *classPtr) \
-{ PARENT_CLASS::real_obj_setupCallback(classPtr); \
- NEW_CLASS::obj_setupCallback(classPtr); } \
-private: \
-static inline NEW_CLASS *GetMyClass(void *data) {return((NEW_CLASS *)((Obj_header *)data)->data);} \
-static void obj_setupCallback(t_class *classPtr);
-
-
-////////////////////////////////////////
-// This should be the first thing in the implementation file
-////////////////////////////////////////
-
-//
-// NO ARGUMENTS
-/////////////////////////////////////////////////
-#define CPPEXTERN_NEW(NEW_CLASS) \
- REAL_NEW__CLASS(NEW_CLASS); \
- static void* create_ ## NEW_CLASS (void) \
- REAL_NEW__CREATE1(NEW_CLASS) \
- obj->data = new NEW_CLASS(); \
- REAL_NEW__CREATE2(NEW_CLASS) \
- REAL_NEW__SETUP1(NEW_CLASS) \
- REAL_NEW__SETUP2(NEW_CLASS)
-
-//
-// ONE ARGUMENT
-/////////////////////////////////////////////////
-#define CPPEXTERN_NEW_WITH_ONE_ARG(NEW_CLASS, TYPE, PD_TYPE) \
- REAL_NEW__CLASS(NEW_CLASS); \
- static void* create_ ## NEW_CLASS (TYPE arg) \
- REAL_NEW__CREATE1(NEW_CLASS) \
- obj->data = new NEW_CLASS(arg); \
- REAL_NEW__CREATE2(NEW_CLASS) \
- REAL_NEW__SETUP1(NEW_CLASS) \
- PD_TYPE, \
- REAL_NEW__SETUP2(NEW_CLASS)
-
-//
-// GIMME ARGUMENT
-/////////////////////////////////////////////////
-#define CPPEXTERN_NEW_WITH_GIMME(NEW_CLASS) \
- REAL_NEW__CLASS(NEW_CLASS); \
- static void* create_ ## NEW_CLASS (t_symbol*s, int argc, t_atom*argv) \
- REAL_NEW__CREATE1(NEW_CLASS) \
- obj->data = new NEW_CLASS(argc,argv); \
- REAL_NEW__CREATE2(NEW_CLASS) \
- REAL_NEW__SETUP1(NEW_CLASS) \
- A_GIMME, \
- REAL_NEW__SETUP2(NEW_CLASS)
-
-//
-// TWO ARGUMENTS
-/////////////////////////////////////////////////
-#define CPPEXTERN_NEW_WITH_TWO_ARGS(NEW_CLASS, TYPE, PD_TYPE, TTWO, PD_TWO) \
- REAL_NEW__CLASS(NEW_CLASS); \
- static void* create_ ## NEW_CLASS (TYPE arg, TTWO arg2) \
- REAL_NEW__CREATE1(NEW_CLASS) \
- obj->data = new NEW_CLASS(arg, arg2); \
- REAL_NEW__CREATE2(NEW_CLASS) \
- REAL_NEW__SETUP1(NEW_CLASS) \
- PD_TYPE, PD_TWO, \
- REAL_NEW__SETUP2(NEW_CLASS)
-
-//
-// THREE ARGUMENTS
-/////////////////////////////////////////////////
-#define CPPEXTERN_NEW_WITH_THREE_ARGS(NEW_CLASS, TYPE, PD_TYPE, TTWO, PD_TWO, TTHREE, PD_THREE) \
- REAL_NEW__CLASS(NEW_CLASS); \
- static void* create_ ## NEW_CLASS (TYPE arg, TTWO arg2, TTHREE arg3) \
- REAL_NEW__CREATE1(NEW_CLASS) \
- obj->data = new NEW_CLASS(arg, arg2, arg3); \
- REAL_NEW__CREATE2(NEW_CLASS) \
- REAL_NEW__SETUP1(NEW_CLASS) \
- PD_TYPE, PD_TWO, PD_THREE, \
- REAL_NEW__SETUP2(NEW_CLASS)
-
-//
-// FOUR ARGUMENTS
-/////////////////////////////////////////////////
-#define CPPEXTERN_NEW_WITH_FOUR_ARGS(NEW_CLASS, TYPE, PD_TYPE, TTWO, PD_TWO, TTHREE, PD_THREE, TFOUR, PD_FOUR) \
- REAL_NEW__CLASS(NEW_CLASS); \
- static void* create_ ## NEW_CLASS (TYPE arg, TTWO arg2, TTHREE arg3, TFOUR arg4) \
- REAL_NEW__CREATE1(NEW_CLASS) \
- obj->data = new NEW_CLASS(arg, arg2, arg3, arg4); \
- REAL_NEW__CREATE2(NEW_CLASS) \
- REAL_NEW__SETUP1(NEW_CLASS) \
- PD_TYPE, PD_TWO, PD_THREE, PD_FOUR, \
- REAL_NEW__SETUP2(NEW_CLASS)
-
-//
-// FIVE ARGUMENTS
-/////////////////////////////////////////////////
-#define CPPEXTERN_NEW_WITH_FIVE_ARGS(NEW_CLASS, TYPE, PD_TYPE, TTWO, PD_TWO, TTHREE, PD_THREE, TFOUR, PD_FOUR, TFIVE, PD_FIVE) \
- REAL_NEW__CLASS(NEW_CLASS); \
- static void* create_ ## NEW_CLASS (TYPE arg, TTWO arg2, TTHREE arg3, TFOUR arg4, TFIVE arg5) \
- REAL_NEW__CREATE1(NEW_CLASS) \
- obj->data = new NEW_CLASS(arg, arg2, arg3, arg4, arg5); \
- REAL_NEW__CREATE2(NEW_CLASS) \
- REAL_NEW__SETUP1(NEW_CLASS) \
- PD_TYPE, PD_TWO, PD_THREE, PD_FOUR, PD_FIVE \
- REAL_NEW__SETUP2(NEW_CLASS)
-
-
-//////////////////////////////////////////////////////////////////////////////
-// These should never be called or used directly!!!
-//
-//
-///////////////////////////////////////////////////////////////////////////////
-
-#define REAL_NEW__CLASS(NEW_CLASS) STATIC_CLASS t_class * NEW_CLASS ## _class
-#define REAL_NEW__CREATE1(NEW_CLASS) { \
- try{ \
- Obj_header *obj = new (pd_new(NEW_CLASS ## _class),(void *)NULL) Obj_header; \
- CPPExtern::m_holder = &obj->pd_obj; \
- CPPExtern::m_holdname=(char*)#NEW_CLASS;
-
-#define REAL_NEW__CREATE2(NEW_CLASS) \
- CPPExtern::m_holder = NULL; \
- CPPExtern::m_holdname=NULL; \
- return(obj); \
- } catch (...) {gem::catchGemException(CPPExtern::m_holdname, CPPExtern::m_holder); return NULL;} \
- }
-
-#define REAL_NEW__SETUP1(NEW_CLASS) \
- extern "C" { \
- GEM_EXPORT void NEW_CLASS ## _setup(void) \
- { \
- static int recalled=0; if(recalled)return; recalled=1; \
- NEW_CLASS ## _class = class_new( \
- gensym(#NEW_CLASS), \
- (t_newmethod)create_ ## NEW_CLASS, \
- (t_method)&NEW_CLASS::obj_freeCallback, \
- sizeof(Obj_header), GEM_CLASSFLAGS,
-#define REAL_NEW__SETUP2(NEW_CLASS) \
- A_NULL); \
- SET_HELPSYMBOL(NEW_CLASS); \
- NEW_CLASS::real_obj_setupCallback(NEW_CLASS ## _class); \
- } \
- } \
- AUTO_REGISTER_CLASS(NEW_CLASS);
-
-
-///////////////////////////////////////////////////////////////////////////////
-// static class:
-// by default classes are declared static
-// however, sometimes we need classes not-static, so we can refer to them
-// from other classes
-///////////////////////////////////////////////////////////////////////////////
-#ifdef NO_STATIC_CLASS
-# define STATIC_CLASS
-#else
-# define STATIC_CLASS static
-#endif
-
-///////////////////////////////////////////////////////////////////////////////
-// auto registering a class
-// this creates a dummy class, whose constructor calls the setup-function
-// (registering the class with pd)
-// a static copy of this class is created at runtime, to actually do the setup-call
-///////////////////////////////////////////////////////////////////////////////
-#ifdef NO_AUTO_REGISTER_CLASS
-// if NO_AUTO_REGISTER_CLASS is defined, we will not register the class
-# define AUTO_REGISTER_CLASS(NEW_CLASS) \
- static int NEW_CLASS ## _dummyinstance
-#else
-// for debugging we can show the which classes are auto-registering
-# if 0
-# define POST_AUTOREGISTER(NEW_CLASS) post("auto-registering: "#NEW_CLASS)
-# else
-# define POST_AUTOREGISTER(NEW_CLASS)
-# endif
-# define AUTO_REGISTER_CLASS(NEW_CLASS) \
- class NEW_CLASS ## _cppclass { \
- public: \
- NEW_CLASS ## _cppclass(void) {POST_AUTOREGISTER(NEW_CLASS); NEW_CLASS ## _setup(); } \
-}; \
- static NEW_CLASS ## _cppclass NEW_CLASS ## _instance
-#endif
-
-///////////////////////////////////////////////////////////////////////////////
-// setting the help-symbol
-///////////////////////////////////////////////////////////////////////////////
-#if defined HELPSYMBOL_BASE || defined HELPSYMBOL
-# ifndef HELPSYMBOL_BASE
-# define HELPSYMBOL_BASE ""
-# endif
-
-# ifndef HELPSYMBOL
-# define SET_HELPSYMBOL(NEW_CLASS) \
- class_sethelpsymbol(NEW_CLASS ## _class, gensym(HELPSYMBOL_BASE #NEW_CLASS))
-# else
-# define SET_HELPSYMBOL(NEW_CLASS) \
- class_sethelpsymbol(NEW_CLASS ## _class, gensym(HELPSYMBOL_BASE HELPSYMBOL))
-# endif
-
-#else
-# define SET_HELPSYMBOL(NEW_CLASS)
-#endif /* HELPSYMBOL */
-
-///////////////////////////////////////////////////////////////////////////////
-// setting the class-flags
-///////////////////////////////////////////////////////////////////////////////
-#ifndef GEM_CLASSFLAGS
-# define GEM_CLASSFLAGS 0
-#endif
-
-// macros for boilerplate code to object messages
-#include "RTE/MessageCallbacks.h"
-
-#endif // for header file
+/*-----------------------------------------------------------------
+LOG
+ GEM - Graphics Environment for Multimedia
+
+ The base class for all externs written in C++
+
+ Copyright (c) 1997-1999 Mark Danks. mark@danks.org
+ For information on usage and redistribution, and for a DISCLAIMER OF ALL
+ WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
+
+-----------------------------------------------------------------*/
+
+#ifndef _INCLUDE__GEM_BASE_CPPEXTERN_H_
+#define _INCLUDE__GEM_BASE_CPPEXTERN_H_
+
+#include "Gem/ExportDef.h"
+
+#include "Gem/RTE.h"
+#include "Gem/Version.h"
+
+#include <new>
+#include <string>
+
+class CPPExtern;
+
+/* forward declaration of a generic exception handler for GemExceptions */
+namespace gem {
+ GEM_EXTERN void catchGemException(const char*objname, const t_object*obj);
+};
+
+/*-----------------------------------------------------------------
+-------------------------------------------------------------------
+CLASS
+ Obj_header
+
+ The obligatory object header
+
+DESCRIPTION
+
+ This is in a separate struct to assure that when PD uses the
+ class, the t_object is the very first thing. If it were the
+ first thing in CPPExtern, then there could be problems with
+ the vtable.
+
+-----------------------------------------------------------------*/
+struct GEM_EXTERN Obj_header
+{
+ //////////
+ // The obligatory object header
+ t_object pd_obj;
+
+ //////////
+ // Our data structure
+ CPPExtern *data;
+
+ // This has a dummy arg so that NT won't complain
+ void *operator new(size_t, void *location, void *dummy);
+};
+
+/*-----------------------------------------------------------------
+-------------------------------------------------------------------
+CLASS
+ CPPExtern
+
+ The base class for all externs written in C++
+
+DESCRIPTION
+
+ Each extern which is written in C++ needs to use the #defines at the
+ end of this header file. Currently, the operator new(size_t) and
+ operator delete(void *) are not overridden. This will be a problem
+ when PD expects everything to fit in its memory space and control
+ all memory allocation.
+
+ The define
+
+ CPPEXTERN_HEADER(NEW_CLASS, PARENT_CLASS);
+
+ should be somewhere in your header file.
+ One of the defines like
+
+ CPPEXTERN_NEW(NEW_CLASS);
+ CPPEXTERN_NEW_WITH_TWO_ARGS(NEW_CLASS, t_floatarg, A_FLOAT, t_floatarg, A_FLOAT);
+
+ should be the first thing in your implementation file.
+ NEW_CLASS is the name of your class and PARENT_CLASS is the
+ parent of your class.
+
+-----------------------------------------------------------------*/
+class GEM_EXTERN CPPExtern
+{
+ public:
+
+ //////////
+ // Constructor
+ CPPExtern(void);
+
+ //////////
+ // The Pd header
+ t_object *x_obj;
+
+ //////////
+ // Destructor
+ virtual ~CPPExtern(void) = 0;
+
+ //////////
+ // Get the object's canvas
+ const t_canvas *getCanvas(void) const { return(m_canvas); }
+
+ //////////
+ // This is a holder - don't touch it
+ static t_object *m_holder;
+
+ //////////
+ // my name
+ static char *m_holdname;
+ t_symbol *m_objectname;
+
+ protected:
+
+ //////////
+ // Creation callback
+ static void real_obj_setupCallback(t_class *) {}
+
+ private:
+
+ //////////
+ // The canvas that the object is in
+ t_canvas *m_canvas;
+
+ public:
+ // these call pd's print-functions, and eventually prepend the object's name
+ void startpost(const char*format, ...) const;
+ void post(const char*format, ...) const;
+ void endpost(void) const;
+ void verbose(const int level, const char*format, ...) const;
+ void error(const char*format, ...) const; /* internally uses pd_error() */
+
+ // searches for a file based on the parent abstraction's path
+ // wraps open_via_path() and canvas_makefilename()
+ // the full filename is returned
+ // if the file does not exist, it is constructed
+ std::string findFile(const std::string filename, const std::string ext) const;
+ std::string findFile(const std::string filename) const;
+
+ private:
+ mutable bool m_endpost; /* internal state for startpost/post/endpost */
+ static bool checkGemVersion(const int major, const int minor);
+ CPPExtern(const CPPExtern&);
+ virtual CPPExtern&operator=(const CPPExtern&);
+};
+
+////////////////////////////////////////
+// This should be used in the header
+////////////////////////////////////////
+
+#define CPPEXTERN_HEADER(NEW_CLASS, PARENT_CLASS) \
+public: \
+static void obj_freeCallback(void *data) \
+{ CPPExtern *mydata = ((Obj_header *)data)->data; delete mydata; \
+ ((Obj_header *)data)->Obj_header::~Obj_header(); } \
+static void real_obj_setupCallback(t_class *classPtr) \
+{ PARENT_CLASS::real_obj_setupCallback(classPtr); \
+ NEW_CLASS::obj_setupCallback(classPtr); } \
+private: \
+static inline NEW_CLASS *GetMyClass(void *data) {return((NEW_CLASS *)((Obj_header *)data)->data);} \
+static void obj_setupCallback(t_class *classPtr);
+
+
+////////////////////////////////////////
+// This should be the first thing in the implementation file
+////////////////////////////////////////
+
+//
+// NO ARGUMENTS
+/////////////////////////////////////////////////
+#define CPPEXTERN_NEW(NEW_CLASS) \
+ REAL_NEW__CLASS(NEW_CLASS); \
+ static void* create_ ## NEW_CLASS (void) \
+ REAL_NEW__CREATE1(NEW_CLASS) \
+ obj->data = new NEW_CLASS(); \
+ REAL_NEW__CREATE2(NEW_CLASS) \
+ REAL_NEW__SETUP1(NEW_CLASS) \
+ REAL_NEW__SETUP2(NEW_CLASS)
+
+//
+// ONE ARGUMENT
+/////////////////////////////////////////////////
+#define CPPEXTERN_NEW_WITH_ONE_ARG(NEW_CLASS, TYPE, PD_TYPE) \
+ REAL_NEW__CLASS(NEW_CLASS); \
+ static void* create_ ## NEW_CLASS (TYPE arg) \
+ REAL_NEW__CREATE1(NEW_CLASS) \
+ obj->data = new NEW_CLASS(arg); \
+ REAL_NEW__CREATE2(NEW_CLASS) \
+ REAL_NEW__SETUP1(NEW_CLASS) \
+ PD_TYPE, \
+ REAL_NEW__SETUP2(NEW_CLASS)
+
+//
+// GIMME ARGUMENT
+/////////////////////////////////////////////////
+#define CPPEXTERN_NEW_WITH_GIMME(NEW_CLASS) \
+ REAL_NEW__CLASS(NEW_CLASS); \
+ static void* create_ ## NEW_CLASS (t_symbol*s, int argc, t_atom*argv) \
+ REAL_NEW__CREATE1(NEW_CLASS) \
+ obj->data = new NEW_CLASS(argc,argv); \
+ REAL_NEW__CREATE2(NEW_CLASS) \
+ REAL_NEW__SETUP1(NEW_CLASS) \
+ A_GIMME, \
+ REAL_NEW__SETUP2(NEW_CLASS)
+
+//
+// TWO ARGUMENTS
+/////////////////////////////////////////////////
+#define CPPEXTERN_NEW_WITH_TWO_ARGS(NEW_CLASS, TYPE, PD_TYPE, TTWO, PD_TWO) \
+ REAL_NEW__CLASS(NEW_CLASS); \
+ static void* create_ ## NEW_CLASS (TYPE arg, TTWO arg2) \
+ REAL_NEW__CREATE1(NEW_CLASS) \
+ obj->data = new NEW_CLASS(arg, arg2); \
+ REAL_NEW__CREATE2(NEW_CLASS) \
+ REAL_NEW__SETUP1(NEW_CLASS) \
+ PD_TYPE, PD_TWO, \
+ REAL_NEW__SETUP2(NEW_CLASS)
+
+//
+// THREE ARGUMENTS
+/////////////////////////////////////////////////
+#define CPPEXTERN_NEW_WITH_THREE_ARGS(NEW_CLASS, TYPE, PD_TYPE, TTWO, PD_TWO, TTHREE, PD_THREE) \
+ REAL_NEW__CLASS(NEW_CLASS); \
+ static void* create_ ## NEW_CLASS (TYPE arg, TTWO arg2, TTHREE arg3) \
+ REAL_NEW__CREATE1(NEW_CLASS) \
+ obj->data = new NEW_CLASS(arg, arg2, arg3); \
+ REAL_NEW__CREATE2(NEW_CLASS) \
+ REAL_NEW__SETUP1(NEW_CLASS) \
+ PD_TYPE, PD_TWO, PD_THREE, \
+ REAL_NEW__SETUP2(NEW_CLASS)
+
+//
+// FOUR ARGUMENTS
+/////////////////////////////////////////////////
+#define CPPEXTERN_NEW_WITH_FOUR_ARGS(NEW_CLASS, TYPE, PD_TYPE, TTWO, PD_TWO, TTHREE, PD_THREE, TFOUR, PD_FOUR) \
+ REAL_NEW__CLASS(NEW_CLASS); \
+ static void* create_ ## NEW_CLASS (TYPE arg, TTWO arg2, TTHREE arg3, TFOUR arg4) \
+ REAL_NEW__CREATE1(NEW_CLASS) \
+ obj->data = new NEW_CLASS(arg, arg2, arg3, arg4); \
+ REAL_NEW__CREATE2(NEW_CLASS) \
+ REAL_NEW__SETUP1(NEW_CLASS) \
+ PD_TYPE, PD_TWO, PD_THREE, PD_FOUR, \
+ REAL_NEW__SETUP2(NEW_CLASS)
+
+//
+// FIVE ARGUMENTS
+/////////////////////////////////////////////////
+#define CPPEXTERN_NEW_WITH_FIVE_ARGS(NEW_CLASS, TYPE, PD_TYPE, TTWO, PD_TWO, TTHREE, PD_THREE, TFOUR, PD_FOUR, TFIVE, PD_FIVE) \
+ REAL_NEW__CLASS(NEW_CLASS); \
+ static void* create_ ## NEW_CLASS (TYPE arg, TTWO arg2, TTHREE arg3, TFOUR arg4, TFIVE arg5) \
+ REAL_NEW__CREATE1(NEW_CLASS) \
+ obj->data = new NEW_CLASS(arg, arg2, arg3, arg4, arg5); \
+ REAL_NEW__CREATE2(NEW_CLASS) \
+ REAL_NEW__SETUP1(NEW_CLASS) \
+ PD_TYPE, PD_TWO, PD_THREE, PD_FOUR, PD_FIVE \
+ REAL_NEW__SETUP2(NEW_CLASS)
+
+
+//////////////////////////////////////////////////////////////////////////////
+// These should never be called or used directly!!!
+//
+//
+///////////////////////////////////////////////////////////////////////////////
+
+#define REAL_NEW__CLASS(NEW_CLASS) STATIC_CLASS t_class * NEW_CLASS ## _class
+#define REAL_NEW__CREATE1(NEW_CLASS) { \
+ try{ \
+ Obj_header *obj = new (pd_new(NEW_CLASS ## _class),(void *)NULL) Obj_header; \
+ CPPExtern::m_holder = &obj->pd_obj; \
+ CPPExtern::m_holdname=(char*)#NEW_CLASS;
+
+#define REAL_NEW__CREATE2(NEW_CLASS) \
+ CPPExtern::m_holder = NULL; \
+ CPPExtern::m_holdname=NULL; \
+ return(obj); \
+ } catch (...) {gem::catchGemException(CPPExtern::m_holdname, CPPExtern::m_holder); return NULL;} \
+ }
+
+#define REAL_NEW__SETUP1(NEW_CLASS) \
+ extern "C" { \
+ GEM_EXPORT void NEW_CLASS ## _setup(void) \
+ { \
+ static int recalled=0; if(recalled)return; recalled=1; \
+ NEW_CLASS ## _class = class_new( \
+ gensym(#NEW_CLASS), \
+ (t_newmethod)create_ ## NEW_CLASS, \
+ (t_method)&NEW_CLASS::obj_freeCallback, \
+ sizeof(Obj_header), GEM_CLASSFLAGS,
+#define REAL_NEW__SETUP2(NEW_CLASS) \
+ A_NULL); \
+ SET_HELPSYMBOL(NEW_CLASS); \
+ NEW_CLASS::real_obj_setupCallback(NEW_CLASS ## _class); \
+ } \
+ } \
+ AUTO_REGISTER_CLASS(NEW_CLASS);
+
+
+///////////////////////////////////////////////////////////////////////////////
+// static class:
+// by default classes are declared static
+// however, sometimes we need classes not-static, so we can refer to them
+// from other classes
+///////////////////////////////////////////////////////////////////////////////
+#ifdef NO_STATIC_CLASS
+# define STATIC_CLASS
+#else
+# define STATIC_CLASS static
+#endif
+
+///////////////////////////////////////////////////////////////////////////////
+// auto registering a class
+// this creates a dummy class, whose constructor calls the setup-function
+// (registering the class with pd)
+// a static copy of this class is created at runtime, to actually do the setup-call
+///////////////////////////////////////////////////////////////////////////////
+#ifdef NO_AUTO_REGISTER_CLASS
+// if NO_AUTO_REGISTER_CLASS is defined, we will not register the class
+# define AUTO_REGISTER_CLASS(NEW_CLASS) \
+ static int NEW_CLASS ## _dummyinstance
+#else
+// for debugging we can show the which classes are auto-registering
+# if 0
+# define POST_AUTOREGISTER(NEW_CLASS) post("auto-registering: "#NEW_CLASS)
+# else
+# define POST_AUTOREGISTER(NEW_CLASS)
+# endif
+# define AUTO_REGISTER_CLASS(NEW_CLASS) \
+ class NEW_CLASS ## _cppclass { \
+ public: \
+ NEW_CLASS ## _cppclass(void) {POST_AUTOREGISTER(NEW_CLASS); NEW_CLASS ## _setup(); } \
+}; \
+ static NEW_CLASS ## _cppclass NEW_CLASS ## _instance
+#endif
+
+///////////////////////////////////////////////////////////////////////////////
+// setting the help-symbol
+///////////////////////////////////////////////////////////////////////////////
+#if defined HELPSYMBOL_BASE || defined HELPSYMBOL
+# ifndef HELPSYMBOL_BASE
+# define HELPSYMBOL_BASE ""
+# endif
+
+# ifndef HELPSYMBOL
+# define SET_HELPSYMBOL(NEW_CLASS) \
+ class_sethelpsymbol(NEW_CLASS ## _class, gensym(HELPSYMBOL_BASE #NEW_CLASS))
+# else
+# define SET_HELPSYMBOL(NEW_CLASS) \
+ class_sethelpsymbol(NEW_CLASS ## _class, gensym(HELPSYMBOL_BASE HELPSYMBOL))
+# endif
+
+#else
+# define SET_HELPSYMBOL(NEW_CLASS)
+#endif /* HELPSYMBOL */
+
+///////////////////////////////////////////////////////////////////////////////
+// setting the class-flags
+///////////////////////////////////////////////////////////////////////////////
+#ifndef GEM_CLASSFLAGS
+# define GEM_CLASSFLAGS 0
+#endif
+
+// macros for boilerplate code to object messages
+#include "RTE/MessageCallbacks.h"
+
+#endif // for header file
diff --git a/packages/noncvs/windows/extra/Gem/dev/Base/GemBase.h b/packages/noncvs/windows/extra/Gem/dev/Base/GemBase.h
index c1a6394e..e56b0075 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Base/GemBase.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Base/GemBase.h
@@ -1,140 +1,140 @@
-/*-----------------------------------------------------------------
- LOG
- GEM - Graphics Environment for Multimedia
-
- The base class for all of the gem objects
-
- Copyright (c) 1997-1999 Mark Danks. mark@danks.org
- Copyright (c) Günther Geiger.
- Copyright (c) 2001-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
- For information on usage and redistribution, and for a DISCLAIMER OF ALL
- WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
-
- -----------------------------------------------------------------*/
-
-#ifndef _INCLUDE__GEM_BASE_GEMBASE_H_
-#define _INCLUDE__GEM_BASE_GEMBASE_H_
-
-#include "Gem/GemGL.h"
-#include "Gem/ContextData.h"
-
-#include "Base/CPPExtern.h"
-
-class GemCache;
-class GemState;
-/*-----------------------------------------------------------------
- -------------------------------------------------------------------
- CLASS
- GemBase
-
- Base class for gem objects
-
- DESCRIPTION
-
- -----------------------------------------------------------------*/
-class GEM_EXTERN GemBase : public CPPExtern
-{
- protected:
-
- //////////
- // Constructor
- GemBase();
-
- //////////
- // Destructor
- virtual ~GemBase();
-
- //////////
- virtual void render(GemState *state) = 0;
-
- //////////
- void continueRender(GemState *state);
-
- //////////
- // After objects below you in the chain have finished.
- // You should reset all GEM/OpenGL states here.
- virtual void postrender(GemState *) { ; }
-
- //////////
- // Called when rendering stops
-
-#if 1/*(jmz) this seems to be for gem2pdp*/
- virtual void stoprender() { realStopRendering(); }
-#endif
-
- //////////
- // If you care about the start of rendering
- virtual void startRendering() { ; }
-
- //////////
- // If you care about the stop of rendering
- virtual void stopRendering() { ; }
-
-
- //////////
- // has rendering started ?
- // deprecated, use 'getState()==RENDERING' instead
- bool gem_amRendering;
-
- //////////
- // If anything in the object has changed
- virtual void setModified();
-
- //////////
- // Don't mess with this unless you know what you are doing.
- GemCache *m_cache;
- //////////
- // check whether this object has changed
- bool m_modified;
-
- //////////
- // The outlet
- t_outlet *m_out1;
-
-
- //////////
- // this gets called in the before the startRendering() routine
- // if it returns TRUE, the object's startRendering(), render() and stopRendering() functions will be called
- // it it returns FALSE, the object will be disabled
- // when rendering is restarted, this function get's called again
- // the default is to enable rendering
- // this function is important if you want to disable an object because it cannot be used (e.g. missing driver support)
- virtual bool isRunnable(void);
-
- //////////
- // creation callback
- static void real_obj_setupCallback(t_class *classPtr)
- { CPPExtern::real_obj_setupCallback(classPtr); GemBase::obj_setupCallback(classPtr); }
-
-
- private:
-
- void realStopRendering();
- void gem_startstopMess(int state);
- void gem_renderMess(GemCache* state, GemState* state2);
-
- static inline GemBase *GetMyClass(void *data) {return((GemBase *)((Obj_header *)data)->data);}
-
- friend class gemhead;
- static void obj_setupCallback(t_class *classPtr);
- static void gem_MessCallback(void *, t_symbol *,int, t_atom*);
- static void renderCallback(GemBase *data, GemState *state);
- static void postrenderCallback(GemBase *data, GemState *state);
-#if 1 /*jmz this seems to be for gem2pdp*/
- static void stoprenderCallback(GemBase *data); //DH
-#endif
-
- /* whether the object is internally disabled or not
- * objects are to be disabled, if the system cannot make use of them, e.g. because of unsupported openGL features
- */
- gem::ContextData<bool>m_enabled;
-
- enum RenderState {INIT, ENABLED, DISABLED, RENDERING, MODIFIED};
- gem::ContextData<enum RenderState>m_state;
-
- protected:
- enum RenderState getState(void);
-
-};
-
-#endif // for header file
+/*-----------------------------------------------------------------
+ LOG
+ GEM - Graphics Environment for Multimedia
+
+ The base class for all of the gem objects
+
+ Copyright (c) 1997-1999 Mark Danks. mark@danks.org
+ Copyright (c) Günther Geiger.
+ Copyright (c) 2001-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
+ For information on usage and redistribution, and for a DISCLAIMER OF ALL
+ WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
+
+ -----------------------------------------------------------------*/
+
+#ifndef _INCLUDE__GEM_BASE_GEMBASE_H_
+#define _INCLUDE__GEM_BASE_GEMBASE_H_
+
+#include "Gem/GemGL.h"
+#include "Gem/ContextData.h"
+
+#include "Base/CPPExtern.h"
+
+class GemCache;
+class GemState;
+/*-----------------------------------------------------------------
+ -------------------------------------------------------------------
+ CLASS
+ GemBase
+
+ Base class for gem objects
+
+ DESCRIPTION
+
+ -----------------------------------------------------------------*/
+class GEM_EXTERN GemBase : public CPPExtern
+{
+ protected:
+
+ //////////
+ // Constructor
+ GemBase();
+
+ //////////
+ // Destructor
+ virtual ~GemBase();
+
+ //////////
+ virtual void render(GemState *state) = 0;
+
+ //////////
+ void continueRender(GemState *state);
+
+ //////////
+ // After objects below you in the chain have finished.
+ // You should reset all GEM/OpenGL states here.
+ virtual void postrender(GemState *) { ; }
+
+ //////////
+ // Called when rendering stops
+
+#if 1/*(jmz) this seems to be for gem2pdp*/
+ virtual void stoprender() { realStopRendering(); }
+#endif
+
+ //////////
+ // If you care about the start of rendering
+ virtual void startRendering() { ; }
+
+ //////////
+ // If you care about the stop of rendering
+ virtual void stopRendering() { ; }
+
+
+ //////////
+ // has rendering started ?
+ // deprecated, use 'getState()==RENDERING' instead
+ bool gem_amRendering;
+
+ //////////
+ // If anything in the object has changed
+ virtual void setModified();
+
+ //////////
+ // Don't mess with this unless you know what you are doing.
+ GemCache *m_cache;
+ //////////
+ // check whether this object has changed
+ bool m_modified;
+
+ //////////
+ // The outlet
+ t_outlet *m_out1;
+
+
+ //////////
+ // this gets called in the before the startRendering() routine
+ // if it returns TRUE, the object's startRendering(), render() and stopRendering() functions will be called
+ // it it returns FALSE, the object will be disabled
+ // when rendering is restarted, this function get's called again
+ // the default is to enable rendering
+ // this function is important if you want to disable an object because it cannot be used (e.g. missing driver support)
+ virtual bool isRunnable(void);
+
+ //////////
+ // creation callback
+ static void real_obj_setupCallback(t_class *classPtr)
+ { CPPExtern::real_obj_setupCallback(classPtr); GemBase::obj_setupCallback(classPtr); }
+
+
+ private:
+
+ void realStopRendering();
+ void gem_startstopMess(int state);
+ void gem_renderMess(GemCache* state, GemState* state2);
+
+ static inline GemBase *GetMyClass(void *data) {return((GemBase *)((Obj_header *)data)->data);}
+
+ friend class gemhead;
+ static void obj_setupCallback(t_class *classPtr);
+ static void gem_MessCallback(void *, t_symbol *,int, t_atom*);
+ static void renderCallback(GemBase *data, GemState *state);
+ static void postrenderCallback(GemBase *data, GemState *state);
+#if 1 /*jmz this seems to be for gem2pdp*/
+ static void stoprenderCallback(GemBase *data); //DH
+#endif
+
+ /* whether the object is internally disabled or not
+ * objects are to be disabled, if the system cannot make use of them, e.g. because of unsupported openGL features
+ */
+ gem::ContextData<bool>m_enabled;
+
+ enum RenderState {INIT, ENABLED, DISABLED, RENDERING, MODIFIED};
+ gem::ContextData<enum RenderState>m_state;
+
+ protected:
+ enum RenderState getState(void);
+
+};
+
+#endif // for header file
diff --git a/packages/noncvs/windows/extra/Gem/dev/Base/GemCache.h b/packages/noncvs/windows/extra/Gem/dev/Base/GemCache.h
index cc52dabb..468b5456 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Base/GemCache.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Base/GemCache.h
@@ -1,4 +1,4 @@
-#ifdef __GNUC__
-# warning GemCache.h is deprecated - please include "Gem/Cache.h" instead
-#endif
-#include "Gem/Cache.h"
+#ifdef __GNUC__
+# warning GemCache.h is deprecated - please include "Gem/Cache.h" instead
+#endif
+#include "Gem/Cache.h"
diff --git a/packages/noncvs/windows/extra/Gem/dev/Base/GemContext.h b/packages/noncvs/windows/extra/Gem/dev/Base/GemContext.h
index d755e89a..26eb1d1e 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Base/GemContext.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Base/GemContext.h
@@ -1,57 +1,57 @@
-/*-----------------------------------------------------------------
-LOG
- GEM - Graphics Environment for Multimedia
-
- a rendering context
-
- Copyright (c) 2009-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
- For information on usage and redistribution, and for a DISCLAIMER OF ALL
- WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
-
------------------------------------------------------------------*/
-#ifndef _INCLUDE__GEM_BASE_GEMCONTEXT_H_
-#define _INCLUDE__GEM_BASE_GEMCONTEXT_H_
-
-#include "Gem/ExportDef.h"
-#include "Gem/GemGL.h"
-
-
-# if defined _WIN32
-typedef struct WGLEWContextStruct WGLEWContext;
-# define GemGlewXContext WGLEWContext
-# elif defined __linux__ || defined HAVE_GL_GLX_H
-typedef struct GLXEWContextStruct GLXEWContext;
-# define GemGlewXContext GLXEWContext
-# else
-# define GemGlewXContext void
-# endif
-
-typedef struct GLEWContextStruct GLEWContext;
-
-namespace gem {
-class GEM_EXTERN Context {
- private:
- class PIMPL;
- PIMPL*m_pimpl;
-
- public:
- Context(void);
- Context(const Context&);
- virtual ~Context(void);
-
- Context&operator=(const Context&);
-
- // make context current
- bool push(void);
-
- // make context uncurrent
- bool pop(void);
-
- public:
- static unsigned int getContextId(void);
- static GLEWContext*getGlewContext(void);
- static GemGlewXContext*getGlewXContext(void);
-};
-
-}; // namespace
-#endif // for header file
+/*-----------------------------------------------------------------
+LOG
+ GEM - Graphics Environment for Multimedia
+
+ a rendering context
+
+ Copyright (c) 2009-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
+ For information on usage and redistribution, and for a DISCLAIMER OF ALL
+ WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
+
+-----------------------------------------------------------------*/
+#ifndef _INCLUDE__GEM_BASE_GEMCONTEXT_H_
+#define _INCLUDE__GEM_BASE_GEMCONTEXT_H_
+
+#include "Gem/ExportDef.h"
+#include "Gem/GemGL.h"
+
+
+# if defined _WIN32
+typedef struct WGLEWContextStruct WGLEWContext;
+# define GemGlewXContext WGLEWContext
+# elif defined __linux__ || defined HAVE_GL_GLX_H
+typedef struct GLXEWContextStruct GLXEWContext;
+# define GemGlewXContext GLXEWContext
+# else
+# define GemGlewXContext void
+# endif
+
+typedef struct GLEWContextStruct GLEWContext;
+
+namespace gem {
+class GEM_EXTERN Context {
+ private:
+ class PIMPL;
+ PIMPL*m_pimpl;
+
+ public:
+ Context(void);
+ Context(const Context&);
+ virtual ~Context(void);
+
+ Context&operator=(const Context&);
+
+ // make context current
+ bool push(void);
+
+ // make context uncurrent
+ bool pop(void);
+
+ public:
+ static unsigned int getContextId(void);
+ static GLEWContext*getGlewContext(void);
+ static GemGlewXContext*getGlewXContext(void);
+};
+
+}; // namespace
+#endif // for header file
diff --git a/packages/noncvs/windows/extra/Gem/dev/Base/GemContextData.h b/packages/noncvs/windows/extra/Gem/dev/Base/GemContextData.h
index 1f722c89..de5aae4a 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Base/GemContextData.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Base/GemContextData.h
@@ -1,4 +1,4 @@
-#ifdef __GNUC__
-# warning Base/GemContextData.h is deprecated - please include "Gem/ContextData.h" instead
-#endif
-#include "Gem/ContextData.h"
+#ifdef __GNUC__
+# warning Base/GemContextData.h is deprecated - please include "Gem/ContextData.h" instead
+#endif
+#include "Gem/ContextData.h"
diff --git a/packages/noncvs/windows/extra/Gem/dev/Base/GemEvent.h b/packages/noncvs/windows/extra/Gem/dev/Base/GemEvent.h
index 5baedbc8..c0207bb1 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Base/GemEvent.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Base/GemEvent.h
@@ -1,4 +1,4 @@
-#ifdef __GNUC__
-# warning GemEvent.h is deprecated - please include "Gem/Event.h" instead
-#endif
-#include "Gem/Event.h"
+#ifdef __GNUC__
+# warning GemEvent.h is deprecated - please include "Gem/Event.h" instead
+#endif
+#include "Gem/Event.h"
diff --git a/packages/noncvs/windows/extra/Gem/dev/Base/GemExportDef.h b/packages/noncvs/windows/extra/Gem/dev/Base/GemExportDef.h
index 1a12ef3a..e1e682c9 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Base/GemExportDef.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Base/GemExportDef.h
@@ -1,4 +1,4 @@
-#ifdef __GNUC__
-# warning Base/GemExportDef.h is deprecated - please include "Gem/ExportDef.h" instead
-#endif
-#include "Gem/ExportDef.h"
+#ifdef __GNUC__
+# warning Base/GemExportDef.h is deprecated - please include "Gem/ExportDef.h" instead
+#endif
+#include "Gem/ExportDef.h"
diff --git a/packages/noncvs/windows/extra/Gem/dev/Base/GemFuncUtil.h b/packages/noncvs/windows/extra/Gem/dev/Base/GemFuncUtil.h
index d07c0aa5..42808e9f 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Base/GemFuncUtil.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Base/GemFuncUtil.h
@@ -1,4 +1,4 @@
-#ifdef __GNUC__
-# warning GemFuncUtil.h is deprecated - please include "Utils/Functions.h" instead
-#endif
-#include "Utils/Functions.h"
+#ifdef __GNUC__
+# warning GemFuncUtil.h is deprecated - please include "Utils/Functions.h" instead
+#endif
+#include "Utils/Functions.h"
diff --git a/packages/noncvs/windows/extra/Gem/dev/Base/GemGL.h b/packages/noncvs/windows/extra/Gem/dev/Base/GemGL.h
index 2c43655d..d027fc38 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Base/GemGL.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Base/GemGL.h
@@ -1,4 +1,4 @@
-#ifdef __GNUC__
-# warning GemGL.h is deprecated - please include "Gem/GemGL.h" instead
-#endif
-#include "Gem/GemGL.h"
+#ifdef __GNUC__
+# warning GemGL.h is deprecated - please include "Gem/GemGL.h" instead
+#endif
+#include "Gem/GemGL.h"
diff --git a/packages/noncvs/windows/extra/Gem/dev/Base/GemGLBase.h b/packages/noncvs/windows/extra/Gem/dev/Base/GemGLBase.h
index 6a3d319f..2f63b8bf 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Base/GemGLBase.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Base/GemGLBase.h
@@ -1,23 +1,23 @@
-/* ------------------------------------------------------------------
- * GEM - Graphics Environment for Multimedia
- *
- * Copyright (c) 2008 zmoelnig@iem.at
- * For information on usage and redistribution, and for a DISCLAIMER
- * OF ALL WARRANTIES, see the file, "GEM.LICENSE.TERMS"
- *
- * this file has been generated...
- * ------------------------------------------------------------------
- */
-#ifndef _INCLUDE__GEM_BASE_GEMGLBASE_H_
-#define _INCLUDE__GEM_BASE_GEMGLBASE_H_
-
-#include "Utils/GLUtil.h"
-#include "Base/GemBase.h"
-
-class GEM_EXTERN GemGLBase : public GemBase
-{
-
-};
-
-
-#endif /* for header file */
+/* ------------------------------------------------------------------
+ * GEM - Graphics Environment for Multimedia
+ *
+ * Copyright (c) 2008 zmoelnig@iem.at
+ * For information on usage and redistribution, and for a DISCLAIMER
+ * OF ALL WARRANTIES, see the file, "GEM.LICENSE.TERMS"
+ *
+ * this file has been generated...
+ * ------------------------------------------------------------------
+ */
+#ifndef _INCLUDE__GEM_BASE_GEMGLBASE_H_
+#define _INCLUDE__GEM_BASE_GEMGLBASE_H_
+
+#include "Utils/GLUtil.h"
+#include "Base/GemBase.h"
+
+class GEM_EXTERN GemGLBase : public GemBase
+{
+
+};
+
+
+#endif /* for header file */
diff --git a/packages/noncvs/windows/extra/Gem/dev/Base/GemGLUtil.h b/packages/noncvs/windows/extra/Gem/dev/Base/GemGLUtil.h
index da69562c..0ddb0983 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Base/GemGLUtil.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Base/GemGLUtil.h
@@ -1,4 +1,4 @@
-#ifdef __GNUC__
-# warning GemGLUtil.h is deprecated - please include "Utils/GLUtil.h" instead
-#endif
-#include "Utils/GLUtil.h"
+#ifdef __GNUC__
+# warning GemGLUtil.h is deprecated - please include "Utils/GLUtil.h" instead
+#endif
+#include "Utils/GLUtil.h"
diff --git a/packages/noncvs/windows/extra/Gem/dev/Base/GemGluObj.h b/packages/noncvs/windows/extra/Gem/dev/Base/GemGluObj.h
index 201cfa99..50d2831f 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Base/GemGluObj.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Base/GemGluObj.h
@@ -1,96 +1,96 @@
-/*-----------------------------------------------------------------
-LOG
- GEM - Graphics Environment for Multimedia
-
- A Glu object
-
- Copyright (c) 1997-2000 Mark Danks. mark@danks.org
- Copyright (c) Günther Geiger. geiger@epy.co.at
- Copyright (c) 2001-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
- For information on usage and redistribution, and for a DISCLAIMER OF ALL
- WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
-
------------------------------------------------------------------*/
-
-#ifndef _INCLUDE__GEM_BASE_GEMGLUOBJ_H_
-#define _INCLUDE__GEM_BASE_GEMGLUOBJ_H_
-
-// I hate Microsoft...I shouldn't have to do this!
-#ifdef _WIN32
-#include <windows.h>
-#endif
-
-#include <string.h>
-
-
-#include <math.h>
-#ifndef M_PI
-# define M_PI (3.1415926)
-#endif
-
-#include "Base/GemShape.h"
-
-#ifndef GLU_SILHOUETTE
-# define GLU_SILHOUETTE 0
-#endif
-
-/*-----------------------------------------------------------------
--------------------------------------------------------------------
-CLASS
- GemGluObj
-
- A Glu object
-
-DESCRIPTION
-
- Inlet for an int - "in2"
-
- "in2" - the number of slices in the object
-
------------------------------------------------------------------*/
-class GEM_EXTERN GemGluObj : public GemShape
-{
- public:
-
- //////////
- // Constructor
- GemGluObj(t_floatarg size, t_floatarg slices=10.f, t_floatarg stacks=0.f);
-
- protected:
-
- //////////
- // Destructor
- virtual ~GemGluObj();
-
- //////////
- // How the object should be drawn
- virtual void typeMess(t_symbol *type);
-
- //////////
- // The number of slices in the quadric
- void numSlicesMess(int numSlices);
- void numSlicesMess(int numSlices, int numStacks);
-
- //////////
- // The number of slices
- int m_numSlices, m_numStacks;
-
- //////////
- t_inlet *m_sliceInlet;
-
- //////////
- // creation callback
- static void real_obj_setupCallback(t_class *classPtr)
- { GemShape::real_obj_setupCallback(classPtr); GemGluObj::obj_setupCallback(classPtr); }
-
- private:
-
- static inline GemGluObj *GetMyClass(void *data) {return((GemGluObj *)((Obj_header *)data)->data);}
-
- //////////
- // Static member functions
- static void obj_setupCallback(t_class *classPtr);
- static void numSlicesMessCallback(void *data, t_symbol*, int, t_atom*);
-};
-
-#endif // for header file
+/*-----------------------------------------------------------------
+LOG
+ GEM - Graphics Environment for Multimedia
+
+ A Glu object
+
+ Copyright (c) 1997-2000 Mark Danks. mark@danks.org
+ Copyright (c) Günther Geiger. geiger@epy.co.at
+ Copyright (c) 2001-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
+ For information on usage and redistribution, and for a DISCLAIMER OF ALL
+ WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
+
+-----------------------------------------------------------------*/
+
+#ifndef _INCLUDE__GEM_BASE_GEMGLUOBJ_H_
+#define _INCLUDE__GEM_BASE_GEMGLUOBJ_H_
+
+// I hate Microsoft...I shouldn't have to do this!
+#ifdef _WIN32
+#include <windows.h>
+#endif
+
+#include <string.h>
+
+
+#include <math.h>
+#ifndef M_PI
+# define M_PI (3.1415926)
+#endif
+
+#include "Base/GemShape.h"
+
+#ifndef GLU_SILHOUETTE
+# define GLU_SILHOUETTE 0
+#endif
+
+/*-----------------------------------------------------------------
+-------------------------------------------------------------------
+CLASS
+ GemGluObj
+
+ A Glu object
+
+DESCRIPTION
+
+ Inlet for an int - "in2"
+
+ "in2" - the number of slices in the object
+
+-----------------------------------------------------------------*/
+class GEM_EXTERN GemGluObj : public GemShape
+{
+ public:
+
+ //////////
+ // Constructor
+ GemGluObj(t_floatarg size, t_floatarg slices=10.f, t_floatarg stacks=0.f);
+
+ protected:
+
+ //////////
+ // Destructor
+ virtual ~GemGluObj();
+
+ //////////
+ // How the object should be drawn
+ virtual void typeMess(t_symbol *type);
+
+ //////////
+ // The number of slices in the quadric
+ void numSlicesMess(int numSlices);
+ void numSlicesMess(int numSlices, int numStacks);
+
+ //////////
+ // The number of slices
+ int m_numSlices, m_numStacks;
+
+ //////////
+ t_inlet *m_sliceInlet;
+
+ //////////
+ // creation callback
+ static void real_obj_setupCallback(t_class *classPtr)
+ { GemShape::real_obj_setupCallback(classPtr); GemGluObj::obj_setupCallback(classPtr); }
+
+ private:
+
+ static inline GemGluObj *GetMyClass(void *data) {return((GemGluObj *)((Obj_header *)data)->data);}
+
+ //////////
+ // Static member functions
+ static void obj_setupCallback(t_class *classPtr);
+ static void numSlicesMessCallback(void *data, t_symbol*, int, t_atom*);
+};
+
+#endif // for header file
diff --git a/packages/noncvs/windows/extra/Gem/dev/Base/GemLoaders.h b/packages/noncvs/windows/extra/Gem/dev/Base/GemLoaders.h
index f0efbc8d..5abd7f11 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Base/GemLoaders.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Base/GemLoaders.h
@@ -1,4 +1,4 @@
-#ifdef __GNUC__
-# warning Base/GemLoaders.h is deprecated - please include "Gem/Loaders.h" instead
-#endif
-#include "Gem/Loaders.h"
+#ifdef __GNUC__
+# warning Base/GemLoaders.h is deprecated - please include "Gem/Loaders.h" instead
+#endif
+#include "Gem/Loaders.h"
diff --git a/packages/noncvs/windows/extra/Gem/dev/Base/GemMan.h b/packages/noncvs/windows/extra/Gem/dev/Base/GemMan.h
index ed4b9afc..43980184 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Base/GemMan.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Base/GemMan.h
@@ -1,4 +1,4 @@
-#ifdef __GNUC__
-# warning GemMan.h is deprecated - please include "Gem/Manager.h" instead
-#endif
-#include "Gem/Manager.h"
+#ifdef __GNUC__
+# warning GemMan.h is deprecated - please include "Gem/Manager.h" instead
+#endif
+#include "Gem/Manager.h"
diff --git a/packages/noncvs/windows/extra/Gem/dev/Base/GemMath.h b/packages/noncvs/windows/extra/Gem/dev/Base/GemMath.h
index 4a26d02c..fcced2c6 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Base/GemMath.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Base/GemMath.h
@@ -1,4 +1,4 @@
-#ifdef __GNUC__
-# warning GemMath.h is deprecated - please include "Utils/Math.h" instead
-#endif
-#include "Utils/Math.h"
+#ifdef __GNUC__
+# warning GemMath.h is deprecated - please include "Utils/Math.h" instead
+#endif
+#include "Utils/Math.h"
diff --git a/packages/noncvs/windows/extra/Gem/dev/Base/GemPBuffer.h b/packages/noncvs/windows/extra/Gem/dev/Base/GemPBuffer.h
index 46b12297..5c78f313 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Base/GemPBuffer.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Base/GemPBuffer.h
@@ -1,4 +1,4 @@
-#ifdef __GNUC__
-# warning GemPBuffer.h is deprecated - please include "Gem/PBuffer.h" instead
-#endif
-#include "Gem/PBuffer.h"
+#ifdef __GNUC__
+# warning GemPBuffer.h is deprecated - please include "Gem/PBuffer.h" instead
+#endif
+#include "Gem/PBuffer.h"
diff --git a/packages/noncvs/windows/extra/Gem/dev/Base/GemPathBase.h b/packages/noncvs/windows/extra/Gem/dev/Base/GemPathBase.h
index 51418437..89784495 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Base/GemPathBase.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Base/GemPathBase.h
@@ -1,74 +1,74 @@
-/*-----------------------------------------------------------------
-LOG
- GEM - Graphics Environment for Multimedia
-
- Base class for paths
-
- Copyright (c) 1997-1999 Mark Danks. mark@danks.org
- Copyright (c) Günther Geiger. geiger@epy.co.at
- Copyright (c) 2001-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
- For information on usage and redistribution, and for a DISCLAIMER OF ALL
- WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
-
------------------------------------------------------------------*/
-
-#ifndef _INCLUDE__GEM_BASE_GEMPATHBASE_H_
-#define _INCLUDE__GEM_BASE_GEMPATHBASE_H_
-
-#include "Base/CPPExtern.h"
-
-/*-----------------------------------------------------------------
--------------------------------------------------------------------
-CLASS
- GemPathBase
-
-
-DESCRIPTION
-
-
------------------------------------------------------------------*/
-class GEM_EXTERN GemPathBase : public CPPExtern
-{
- CPPEXTERN_HEADER(GemPathBase, CPPExtern);
-
- public:
-
- //////////
- // Constructor
- GemPathBase(int argc, t_atom *argv);
-
- protected:
-
- //////////
- // Destructor
- virtual ~GemPathBase();
-
- //////////
- // When an open is received
- virtual void openMess(t_symbol *arrayname);
-
- //////////
- // When a float val is received
- virtual void floatMess(float val) = 0;
-
- //////////
- // The number of dimensions
- int m_numDimens;
-
- //////////
- // The array
- t_garray *m_array;
-
- //////////
- // The outlet
- t_outlet *m_out1;
-
- private:
-
- //////////
- // static member functions
- static void openMessCallback(void *data, t_symbol *arrayname);
- static void floatMessCallback(void *data, float n);
-};
-
-#endif // for header file
+/*-----------------------------------------------------------------
+LOG
+ GEM - Graphics Environment for Multimedia
+
+ Base class for paths
+
+ Copyright (c) 1997-1999 Mark Danks. mark@danks.org
+ Copyright (c) Günther Geiger. geiger@epy.co.at
+ Copyright (c) 2001-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
+ For information on usage and redistribution, and for a DISCLAIMER OF ALL
+ WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
+
+-----------------------------------------------------------------*/
+
+#ifndef _INCLUDE__GEM_BASE_GEMPATHBASE_H_
+#define _INCLUDE__GEM_BASE_GEMPATHBASE_H_
+
+#include "Base/CPPExtern.h"
+
+/*-----------------------------------------------------------------
+-------------------------------------------------------------------
+CLASS
+ GemPathBase
+
+
+DESCRIPTION
+
+
+-----------------------------------------------------------------*/
+class GEM_EXTERN GemPathBase : public CPPExtern
+{
+ CPPEXTERN_HEADER(GemPathBase, CPPExtern);
+
+ public:
+
+ //////////
+ // Constructor
+ GemPathBase(int argc, t_atom *argv);
+
+ protected:
+
+ //////////
+ // Destructor
+ virtual ~GemPathBase();
+
+ //////////
+ // When an open is received
+ virtual void openMess(t_symbol *arrayname);
+
+ //////////
+ // When a float val is received
+ virtual void floatMess(float val) = 0;
+
+ //////////
+ // The number of dimensions
+ int m_numDimens;
+
+ //////////
+ // The array
+ t_garray *m_array;
+
+ //////////
+ // The outlet
+ t_outlet *m_out1;
+
+ private:
+
+ //////////
+ // static member functions
+ static void openMessCallback(void *data, t_symbol *arrayname);
+ static void floatMessCallback(void *data, float n);
+};
+
+#endif // for header file
diff --git a/packages/noncvs/windows/extra/Gem/dev/Base/GemPixConvert.h b/packages/noncvs/windows/extra/Gem/dev/Base/GemPixConvert.h
index 5a2ef0de..a996e9a9 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Base/GemPixConvert.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Base/GemPixConvert.h
@@ -1,4 +1,4 @@
-#ifdef __GNUC__
-# warning GemPixConvert.h is deprecated - please include "Gem/PixConvert.h" instead
-#endif
-#include "Gem/PixConvert.h"
+#ifdef __GNUC__
+# warning GemPixConvert.h is deprecated - please include "Gem/PixConvert.h" instead
+#endif
+#include "Gem/PixConvert.h"
diff --git a/packages/noncvs/windows/extra/Gem/dev/Base/GemPixDualObj.h b/packages/noncvs/windows/extra/Gem/dev/Base/GemPixDualObj.h
index 8e7d2cdf..9590f4d0 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Base/GemPixDualObj.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Base/GemPixDualObj.h
@@ -1,190 +1,190 @@
-/*-----------------------------------------------------------------
-LOG
- GEM - Graphics Environment for Multimedia
-
- An object which accepts two pixes.
-
- Copyright (c) 1997-1999 Mark Danks. mark@danks.org
- Copyright (c) Günther Geiger. geiger@epy.co.at
- Copyright (c) 2001-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
- Copyright (c) 2002 James Tittle & Chris Clepper
- For information on usage and redistribution, and for a DISCLAIMER OF ALL
- WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
-
------------------------------------------------------------------*/
-
-#ifndef _INCLUDE__GEM_BASE_GEMPIXDUALOBJ_H_
-#define _INCLUDE__GEM_BASE_GEMPIXDUALOBJ_H_
-
-#define NEW_DUAL_PIX
-
-#include "Base/GemPixObj.h"
-
-/*-----------------------------------------------------------------
--------------------------------------------------------------------
-CLASS
- GemPixDualObj
-
- An object which accepts two pixes.
-
-DESCRIPTION
-
- Inlet for a gem - "gem_right"
-
- "gem_right" - The second gem list
-
------------------------------------------------------------------*/
-class GEM_EXTERN GemPixDualObj : public GemPixObj
-{
- public:
-
- //////////
- // Constructor
- GemPixDualObj();
-
- protected:
-
- //////////
- // Destructor
- virtual ~GemPixDualObj();
-
- void render(GemState *state);
-
- //////////
- // Derived classes should NOT override this!
- // This makes sure that the images are the same size.
- // This calls the other process functions based on the input images.
- virtual void processImage(imageStruct &image);
-
-#ifndef NEW_DUAL_PIX
- //////////
- // The derived class HAS override this.
- // This is called whenever a new image comes through and
- // both of the image structs are RGBA
- virtual void processDualImage(imageStruct &image, imageStruct &right) = 0;
-
- //////////
- // The derived class CAN override this.
- // This is called whenever a new image comes through and both
- // of the image structs are gray8.
- // The default behavior is to output an error.
- virtual void processDualGray(imageStruct &image, imageStruct &right);
-
- //////////
- // The derived class CAN override this.
- // This is called whenever a new image comes through and
- // the left image is an RGBA while the right is a gray8.
- // The default behavior is to output an error.
- virtual void processRightGray(imageStruct &image, imageStruct &right);
-
- //////////
- // The derived class CAN override this.
- // This is called whenever a new image comes through and
- // the left image is a gray8, the right is an RGBA
- // The default behavior is to output an error.
- virtual void processLeftGray(imageStruct &image, imageStruct &right);
-
- //////////
- // The derived class CAN override this.
- // This is called whenever a new image comes through and both
- // of the image structs are YUV.
- // The default behavior is to output an error.
- virtual void processDualYUV(imageStruct &image, imageStruct &right);
-
- //////////
- // The derived class CAN override this.
- // This is called whenever a new image comes through and
- // the left image is an RGBA while the right is a YUV.
- // The default behavior is to output an error.
- virtual void processRightYUV(imageStruct &image, imageStruct &right);
-
- //////////
- // The derived class CAN override this.
- // This is called whenever a new image comes through and
- // the left image is a YUV, the right is an RGBA
- // The default behavior is to output an error.
- virtual void processLeftYUV(imageStruct &image, imageStruct &right);
-#else
- //////////
- // The derived class SHOULD override this, if it provides a method for "all" formats
- virtual void processDualImage(imageStruct &left, imageStruct &right);
- // Here come the more specific dual-processors
- // The derived class SHOULD override these as needed
-
- /* for simplicity this is done via preprocessor defines:
- * the functions defined are like :
- ** processRGBA_RGBA(left, right);
- */
-
-#define PROCESS_DUALIMAGE(CS1, CS2) \
- virtual void process##CS1 ##_##CS2 (imageStruct &left, imageStruct &right){processDualImage(left, right);}
- PROCESS_DUALIMAGE(RGBA, RGBA);
- PROCESS_DUALIMAGE(RGBA, Gray);
- PROCESS_DUALIMAGE(RGBA, YUV );
-
- PROCESS_DUALIMAGE(Gray, RGBA);
- PROCESS_DUALIMAGE(Gray, Gray);
- PROCESS_DUALIMAGE(Gray, YUV );
-
- PROCESS_DUALIMAGE(YUV, RGBA);
- PROCESS_DUALIMAGE(YUV, Gray);
- PROCESS_DUALIMAGE(YUV, YUV );
-#undef PROCESS_DUALIMAGE
-
- /* for simplicity this is done via preprocessor defines:
- * the functions defined are like :
- ** processRGBA_Altivec(left, right);
- */
-#define PROCESS_DUALIMAGE_SIMD(CS1, CS2,_SIMD_EXT) \
- virtual void process##CS1 ##_##_SIMD_EXT (imageStruct &left, imageStruct &right){ \
- process##CS1 ##_##CS2 (left, right);}
-
- PROCESS_DUALIMAGE_SIMD(RGBA, RGBA, MMX);
- PROCESS_DUALIMAGE_SIMD(RGBA, MMX , SSE2);
- PROCESS_DUALIMAGE_SIMD(RGBA, RGBA, Altivec);
-
- PROCESS_DUALIMAGE_SIMD(YUV , YUV , MMX);
- PROCESS_DUALIMAGE_SIMD(YUV , MMX , SSE2);
- PROCESS_DUALIMAGE_SIMD(YUV , YUV , Altivec);
-
- PROCESS_DUALIMAGE_SIMD(Gray, Gray, MMX);
- PROCESS_DUALIMAGE_SIMD(Gray, MMX , SSE2);
- PROCESS_DUALIMAGE_SIMD(Gray, Gray, Altivec);
-#undef PROCESS_DUALIMAGE_SIMD
-
-#endif
- //////////
- virtual void postrender(GemState *);
- virtual void stopRendering();
- virtual void rightstopRendering() { ; }
- virtual void rightRender(GemState *state);
- virtual void rightPostrender(GemState *) { ; }
- virtual void rightStoprender() { ; }
-
- //////////
- GemCache *m_cacheRight;
-
- //////////
- pixBlock *m_pixRight;
-
- int m_pixRightValid;
- int org_pixRightValid;
-
- //////////
- t_inlet *m_inlet;
-
- //////////
- // creation callback
- static void real_obj_setupCallback(t_class *classPtr)
- { GemPixObj::real_obj_setupCallback(classPtr); GemPixDualObj::obj_setupCallback(classPtr); }
-
- private:
-
- static inline GemPixDualObj *GetMyClass(void *data) {return((GemPixDualObj *)((Obj_header *)data)->data);}
-
- //////////
- // Static member functions
- static void obj_setupCallback(t_class *classPtr);
- static void gem_rightMessCallback(void *x, t_symbol *s, int argc, t_atom *argv);
-};
-#endif // for header file
+/*-----------------------------------------------------------------
+LOG
+ GEM - Graphics Environment for Multimedia
+
+ An object which accepts two pixes.
+
+ Copyright (c) 1997-1999 Mark Danks. mark@danks.org
+ Copyright (c) Günther Geiger. geiger@epy.co.at
+ Copyright (c) 2001-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
+ Copyright (c) 2002 James Tittle & Chris Clepper
+ For information on usage and redistribution, and for a DISCLAIMER OF ALL
+ WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
+
+-----------------------------------------------------------------*/
+
+#ifndef _INCLUDE__GEM_BASE_GEMPIXDUALOBJ_H_
+#define _INCLUDE__GEM_BASE_GEMPIXDUALOBJ_H_
+
+#define NEW_DUAL_PIX
+
+#include "Base/GemPixObj.h"
+
+/*-----------------------------------------------------------------
+-------------------------------------------------------------------
+CLASS
+ GemPixDualObj
+
+ An object which accepts two pixes.
+
+DESCRIPTION
+
+ Inlet for a gem - "gem_right"
+
+ "gem_right" - The second gem list
+
+-----------------------------------------------------------------*/
+class GEM_EXTERN GemPixDualObj : public GemPixObj
+{
+ public:
+
+ //////////
+ // Constructor
+ GemPixDualObj();
+
+ protected:
+
+ //////////
+ // Destructor
+ virtual ~GemPixDualObj();
+
+ void render(GemState *state);
+
+ //////////
+ // Derived classes should NOT override this!
+ // This makes sure that the images are the same size.
+ // This calls the other process functions based on the input images.
+ virtual void processImage(imageStruct &image);
+
+#ifndef NEW_DUAL_PIX
+ //////////
+ // The derived class HAS override this.
+ // This is called whenever a new image comes through and
+ // both of the image structs are RGBA
+ virtual void processDualImage(imageStruct &image, imageStruct &right) = 0;
+
+ //////////
+ // The derived class CAN override this.
+ // This is called whenever a new image comes through and both
+ // of the image structs are gray8.
+ // The default behavior is to output an error.
+ virtual void processDualGray(imageStruct &image, imageStruct &right);
+
+ //////////
+ // The derived class CAN override this.
+ // This is called whenever a new image comes through and
+ // the left image is an RGBA while the right is a gray8.
+ // The default behavior is to output an error.
+ virtual void processRightGray(imageStruct &image, imageStruct &right);
+
+ //////////
+ // The derived class CAN override this.
+ // This is called whenever a new image comes through and
+ // the left image is a gray8, the right is an RGBA
+ // The default behavior is to output an error.
+ virtual void processLeftGray(imageStruct &image, imageStruct &right);
+
+ //////////
+ // The derived class CAN override this.
+ // This is called whenever a new image comes through and both
+ // of the image structs are YUV.
+ // The default behavior is to output an error.
+ virtual void processDualYUV(imageStruct &image, imageStruct &right);
+
+ //////////
+ // The derived class CAN override this.
+ // This is called whenever a new image comes through and
+ // the left image is an RGBA while the right is a YUV.
+ // The default behavior is to output an error.
+ virtual void processRightYUV(imageStruct &image, imageStruct &right);
+
+ //////////
+ // The derived class CAN override this.
+ // This is called whenever a new image comes through and
+ // the left image is a YUV, the right is an RGBA
+ // The default behavior is to output an error.
+ virtual void processLeftYUV(imageStruct &image, imageStruct &right);
+#else
+ //////////
+ // The derived class SHOULD override this, if it provides a method for "all" formats
+ virtual void processDualImage(imageStruct &left, imageStruct &right);
+ // Here come the more specific dual-processors
+ // The derived class SHOULD override these as needed
+
+ /* for simplicity this is done via preprocessor defines:
+ * the functions defined are like :
+ ** processRGBA_RGBA(left, right);
+ */
+
+#define PROCESS_DUALIMAGE(CS1, CS2) \
+ virtual void process##CS1 ##_##CS2 (imageStruct &left, imageStruct &right){processDualImage(left, right);}
+ PROCESS_DUALIMAGE(RGBA, RGBA);
+ PROCESS_DUALIMAGE(RGBA, Gray);
+ PROCESS_DUALIMAGE(RGBA, YUV );
+
+ PROCESS_DUALIMAGE(Gray, RGBA);
+ PROCESS_DUALIMAGE(Gray, Gray);
+ PROCESS_DUALIMAGE(Gray, YUV );
+
+ PROCESS_DUALIMAGE(YUV, RGBA);
+ PROCESS_DUALIMAGE(YUV, Gray);
+ PROCESS_DUALIMAGE(YUV, YUV );
+#undef PROCESS_DUALIMAGE
+
+ /* for simplicity this is done via preprocessor defines:
+ * the functions defined are like :
+ ** processRGBA_Altivec(left, right);
+ */
+#define PROCESS_DUALIMAGE_SIMD(CS1, CS2,_SIMD_EXT) \
+ virtual void process##CS1 ##_##_SIMD_EXT (imageStruct &left, imageStruct &right){ \
+ process##CS1 ##_##CS2 (left, right);}
+
+ PROCESS_DUALIMAGE_SIMD(RGBA, RGBA, MMX);
+ PROCESS_DUALIMAGE_SIMD(RGBA, MMX , SSE2);
+ PROCESS_DUALIMAGE_SIMD(RGBA, RGBA, Altivec);
+
+ PROCESS_DUALIMAGE_SIMD(YUV , YUV , MMX);
+ PROCESS_DUALIMAGE_SIMD(YUV , MMX , SSE2);
+ PROCESS_DUALIMAGE_SIMD(YUV , YUV , Altivec);
+
+ PROCESS_DUALIMAGE_SIMD(Gray, Gray, MMX);
+ PROCESS_DUALIMAGE_SIMD(Gray, MMX , SSE2);
+ PROCESS_DUALIMAGE_SIMD(Gray, Gray, Altivec);
+#undef PROCESS_DUALIMAGE_SIMD
+
+#endif
+ //////////
+ virtual void postrender(GemState *);
+ virtual void stopRendering();
+ virtual void rightstopRendering() { ; }
+ virtual void rightRender(GemState *state);
+ virtual void rightPostrender(GemState *) { ; }
+ virtual void rightStoprender() { ; }
+
+ //////////
+ GemCache *m_cacheRight;
+
+ //////////
+ pixBlock *m_pixRight;
+
+ int m_pixRightValid;
+ int org_pixRightValid;
+
+ //////////
+ t_inlet *m_inlet;
+
+ //////////
+ // creation callback
+ static void real_obj_setupCallback(t_class *classPtr)
+ { GemPixObj::real_obj_setupCallback(classPtr); GemPixDualObj::obj_setupCallback(classPtr); }
+
+ private:
+
+ static inline GemPixDualObj *GetMyClass(void *data) {return((GemPixDualObj *)((Obj_header *)data)->data);}
+
+ //////////
+ // Static member functions
+ static void obj_setupCallback(t_class *classPtr);
+ static void gem_rightMessCallback(void *x, t_symbol *s, int argc, t_atom *argv);
+};
+#endif // for header file
diff --git a/packages/noncvs/windows/extra/Gem/dev/Base/GemPixImageLoad.h b/packages/noncvs/windows/extra/Gem/dev/Base/GemPixImageLoad.h
index f7aefce1..4795bd8a 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Base/GemPixImageLoad.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Base/GemPixImageLoad.h
@@ -1,4 +1,4 @@
-#ifdef __GNUC__
-# warning GemPixImageLoad.h is deprecated - please include "Gem/ImageIO.h" instead
-#endif
-#include "Gem/ImageIO.h"
+#ifdef __GNUC__
+# warning GemPixImageLoad.h is deprecated - please include "Gem/ImageIO.h" instead
+#endif
+#include "Gem/ImageIO.h"
diff --git a/packages/noncvs/windows/extra/Gem/dev/Base/GemPixImageSave.h b/packages/noncvs/windows/extra/Gem/dev/Base/GemPixImageSave.h
index f5f3bf73..5b0938de 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Base/GemPixImageSave.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Base/GemPixImageSave.h
@@ -1,4 +1,4 @@
-#ifdef __GNUC__
-# warning GemPixImageSave.h is deprecated - please include "Gem/ImageIO.h" instead
-#endif
-#include "Gem/ImageIO.h"
+#ifdef __GNUC__
+# warning GemPixImageSave.h is deprecated - please include "Gem/ImageIO.h" instead
+#endif
+#include "Gem/ImageIO.h"
diff --git a/packages/noncvs/windows/extra/Gem/dev/Base/GemPixObj.h b/packages/noncvs/windows/extra/Gem/dev/Base/GemPixObj.h
index a7176893..699b5a40 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Base/GemPixObj.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Base/GemPixObj.h
@@ -1,142 +1,142 @@
-/*-----------------------------------------------------------------
-LOG
- GEM - Graphics Environment for Multimedia
-
- Base class for pix class gem objects
-
- Copyright (c) 1997-1999 Mark Danks. mark@danks.org
- Copyright (c) Günther Geiger. geiger@epy.co.at
- Copyright (c) 2001-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
- For information on usage and redistribution, and for a DISCLAIMER OF ALL
- WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
-
------------------------------------------------------------------*/
-
-#ifndef _INCLUDE__GEM_BASE_GEMPIXOBJ_H_
-#define _INCLUDE__GEM_BASE_GEMPIXOBJ_H_
-
-#include "Base/GemBase.h"
-#include "Gem/Image.h"
-#include "stdlib.h"
-#include "string.h"
-#include "math.h"
-
-/*-----------------------------------------------------------------
--------------------------------------------------------------------
-CLASS
- GemPixObj
-
- Base class for pix class gem objects
-
-DESCRIPTION
-
------------------------------------------------------------------*/
-class GEM_EXTERN GemPixObj : public GemBase
-{
- public:
-
- //////////
- // Constructor
- GemPixObj();
-
- protected:
-
- //////////
- // Destructor
- virtual ~GemPixObj() { }
-
- //////////
- // The derived class should override this if it provides
- // processing independent of the image.format
- // This is called whenever a new image comes through.
- // The default is to output an error
- virtual void processImage(imageStruct &image);
-
- //////////
- // The derived class should override this.
- // This is called whenever a new RGB image comes through.
- // The default is to call processImage().
- virtual void processRGBImage(imageStruct &image);
-
- //////////
- // The derived class should override this.
- // This is called whenever a new RGBA image comes through.
- // The default is to call processImage().
- virtual void processRGBAImage(imageStruct &image);
- // SIMD-optimized functions: by default the non-optimized function is called
- virtual void processRGBAMMX(imageStruct &image);
- virtual void processRGBASSE2(imageStruct &image);
- virtual void processRGBAAltivec(imageStruct &image);
-
- //////////
- // The derived class should override this.
- // This is called whenever a new gray8 image comes through.
- // The default is to call processImage().
- virtual void processGrayImage(imageStruct &image);
- // SIMD-optimized functions: by default the non-optimized function is called
- virtual void processGrayMMX(imageStruct &image);
- virtual void processGraySSE2(imageStruct &image);
- virtual void processGrayAltivec(imageStruct &image);
-
- //////////
- // The derived class should override this.
- // This is called whenever a new YUV422 image comes through.
- // The default is to call processImage().
- virtual void processYUVImage(imageStruct &image);
- // SIMD-optimized functions: by default the non-optimized function is called
- virtual void processYUVMMX(imageStruct &image);
- virtual void processYUVSSE2(imageStruct &image);
- virtual void processYUVAltivec(imageStruct &image);
-
- //////////
- // If the derived class needs the image resent.
- // This sets the dirty bit on the pixBlock.
- void setPixModified();
-
- //////////
- // Turn on/off processing
- void processOnOff(int on);
-
- //////////
- // the pixBlock-cache
- pixBlock cachedPixBlock;
- pixBlock *orgPixBlock;
-
- //////////
- int m_processOnOff;
- int m_simd;
-
- //////////
- // creation callback
- static void real_obj_setupCallback(t_class *classPtr) {
- GemBase::real_obj_setupCallback(classPtr);
- GemPixObj::obj_setupCallback(classPtr);
- }
-
- //////////
- // The derived class should NOT override this unless they have some
- // very special behavior.
- // Do the rendering, which calls processImage or processGrayImage, etc...
- // save the image-information
- virtual void render(GemState *state);
- // turn the pointer back to the old data after rendering
- virtual void postrender(GemState *state);
-
- void startRendering(void) {
- //post("start rendering");
- setPixModified();
- }
-
- private:
-
- static inline GemPixObj *GetMyClass(void *data) {return((GemPixObj *)((Obj_header *)data)->data);}
-
- //////////
- // static member functions
- static void obj_setupCallback(t_class *classPtr);
- static void floatMessCallback(void *data, float n);
- static void simdMessCallback(void *data, float n);
-};
-
-
-#endif // for header file
+/*-----------------------------------------------------------------
+LOG
+ GEM - Graphics Environment for Multimedia
+
+ Base class for pix class gem objects
+
+ Copyright (c) 1997-1999 Mark Danks. mark@danks.org
+ Copyright (c) Günther Geiger. geiger@epy.co.at
+ Copyright (c) 2001-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
+ For information on usage and redistribution, and for a DISCLAIMER OF ALL
+ WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
+
+-----------------------------------------------------------------*/
+
+#ifndef _INCLUDE__GEM_BASE_GEMPIXOBJ_H_
+#define _INCLUDE__GEM_BASE_GEMPIXOBJ_H_
+
+#include "Base/GemBase.h"
+#include "Gem/Image.h"
+#include "stdlib.h"
+#include "string.h"
+#include "math.h"
+
+/*-----------------------------------------------------------------
+-------------------------------------------------------------------
+CLASS
+ GemPixObj
+
+ Base class for pix class gem objects
+
+DESCRIPTION
+
+-----------------------------------------------------------------*/
+class GEM_EXTERN GemPixObj : public GemBase
+{
+ public:
+
+ //////////
+ // Constructor
+ GemPixObj();
+
+ protected:
+
+ //////////
+ // Destructor
+ virtual ~GemPixObj() { }
+
+ //////////
+ // The derived class should override this if it provides
+ // processing independent of the image.format
+ // This is called whenever a new image comes through.
+ // The default is to output an error
+ virtual void processImage(imageStruct &image);
+
+ //////////
+ // The derived class should override this.
+ // This is called whenever a new RGB image comes through.
+ // The default is to call processImage().
+ virtual void processRGBImage(imageStruct &image);
+
+ //////////
+ // The derived class should override this.
+ // This is called whenever a new RGBA image comes through.
+ // The default is to call processImage().
+ virtual void processRGBAImage(imageStruct &image);
+ // SIMD-optimized functions: by default the non-optimized function is called
+ virtual void processRGBAMMX(imageStruct &image);
+ virtual void processRGBASSE2(imageStruct &image);
+ virtual void processRGBAAltivec(imageStruct &image);
+
+ //////////
+ // The derived class should override this.
+ // This is called whenever a new gray8 image comes through.
+ // The default is to call processImage().
+ virtual void processGrayImage(imageStruct &image);
+ // SIMD-optimized functions: by default the non-optimized function is called
+ virtual void processGrayMMX(imageStruct &image);
+ virtual void processGraySSE2(imageStruct &image);
+ virtual void processGrayAltivec(imageStruct &image);
+
+ //////////
+ // The derived class should override this.
+ // This is called whenever a new YUV422 image comes through.
+ // The default is to call processImage().
+ virtual void processYUVImage(imageStruct &image);
+ // SIMD-optimized functions: by default the non-optimized function is called
+ virtual void processYUVMMX(imageStruct &image);
+ virtual void processYUVSSE2(imageStruct &image);
+ virtual void processYUVAltivec(imageStruct &image);
+
+ //////////
+ // If the derived class needs the image resent.
+ // This sets the dirty bit on the pixBlock.
+ void setPixModified();
+
+ //////////
+ // Turn on/off processing
+ void processOnOff(int on);
+
+ //////////
+ // the pixBlock-cache
+ pixBlock cachedPixBlock;
+ pixBlock *orgPixBlock;
+
+ //////////
+ int m_processOnOff;
+ int m_simd;
+
+ //////////
+ // creation callback
+ static void real_obj_setupCallback(t_class *classPtr) {
+ GemBase::real_obj_setupCallback(classPtr);
+ GemPixObj::obj_setupCallback(classPtr);
+ }
+
+ //////////
+ // The derived class should NOT override this unless they have some
+ // very special behavior.
+ // Do the rendering, which calls processImage or processGrayImage, etc...
+ // save the image-information
+ virtual void render(GemState *state);
+ // turn the pointer back to the old data after rendering
+ virtual void postrender(GemState *state);
+
+ void startRendering(void) {
+ //post("start rendering");
+ setPixModified();
+ }
+
+ private:
+
+ static inline GemPixObj *GetMyClass(void *data) {return((GemPixObj *)((Obj_header *)data)->data);}
+
+ //////////
+ // static member functions
+ static void obj_setupCallback(t_class *classPtr);
+ static void floatMessCallback(void *data, float n);
+ static void simdMessCallback(void *data, float n);
+};
+
+
+#endif // for header file
diff --git a/packages/noncvs/windows/extra/Gem/dev/Base/GemPixPete.h b/packages/noncvs/windows/extra/Gem/dev/Base/GemPixPete.h
index 053ad9cf..c83547a7 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Base/GemPixPete.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Base/GemPixPete.h
@@ -1,4 +1,4 @@
-#ifdef __GNUC__
-# warning GemPixPete.h is deprecated - please include "Utils/PixPete.h" instead
-#endif
-#include "Utils/PixPete.h"
+#ifdef __GNUC__
+# warning GemPixPete.h is deprecated - please include "Utils/PixPete.h" instead
+#endif
+#include "Utils/PixPete.h"
diff --git a/packages/noncvs/windows/extra/Gem/dev/Base/GemPixUtil.h b/packages/noncvs/windows/extra/Gem/dev/Base/GemPixUtil.h
index 628a1651..b4c6aff7 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Base/GemPixUtil.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Base/GemPixUtil.h
@@ -1,4 +1,4 @@
-#ifdef __GNUC__
-# warning GemPixUtil.h is deprecated - please include "Gem/Image.h" instead
-#endif
-#include "Gem/Image.h"
+#ifdef __GNUC__
+# warning GemPixUtil.h is deprecated - please include "Gem/Image.h" instead
+#endif
+#include "Gem/Image.h"
diff --git a/packages/noncvs/windows/extra/Gem/dev/Base/GemSIMD.h b/packages/noncvs/windows/extra/Gem/dev/Base/GemSIMD.h
index eed6c17f..96af5bba 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Base/GemSIMD.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Base/GemSIMD.h
@@ -1,4 +1,4 @@
-#ifdef __GNUC__
-# warning GemSIMD.h is deprecated - please include "Utils/SIMD.h" instead
-#endif
-#include "Utils/SIMD.h"
+#ifdef __GNUC__
+# warning GemSIMD.h is deprecated - please include "Utils/SIMD.h" instead
+#endif
+#include "Utils/SIMD.h"
diff --git a/packages/noncvs/windows/extra/Gem/dev/Base/GemShape.h b/packages/noncvs/windows/extra/Gem/dev/Base/GemShape.h
index d7c4a621..bb10ab80 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Base/GemShape.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Base/GemShape.h
@@ -1,144 +1,144 @@
-/*-----------------------------------------------------------------
-LOG
- GEM - Graphics Environment for Multimedia
-
- Base class for shapes
-
- Copyright (c) 1997-1999 Mark Danks. mark@danks.org
- Copyright (c) Günther Geiger. geiger@epy.co.at
- Copyright (c) 2001-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
- For information on usage and redistribution, and for a DISCLAIMER OF ALL
- WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
-
------------------------------------------------------------------*/
-
-#ifndef _INCLUDE__GEM_BASE_GEMSHAPE_H_
-#define _INCLUDE__GEM_BASE_GEMSHAPE_H_
-
-#include "Base/GemBase.h"
-
-/*-----------------------------------------------------------------
--------------------------------------------------------------------
-CLASS
- GemShape
-
- Base class for shapes
-
-DESCRIPTION
-
- Inlet for a float - "ft1"
-
- "ft1" - the size of the shape
- "draw" - the drawing style
- "width" - the line width when drawing with lines
-
------------------------------------------------------------------*/
-class TexCoord;
-class GEM_EXTERN GemShape : public GemBase
-{
- public:
-
- //////////
- // Constructor
- // [in] size - A size of 0. means to just use the default (ie, 1.)
- GemShape(t_floatarg size);
- GemShape();
-
- protected:
-
- //////////
- // Destructor
- virtual ~GemShape();
-
- //-----------------------------------
- // GROUP: Access functions
- //-----------------------------------
-
- //////////
- // The width of the lines in line draw mode
- void linewidthMess(float linewidth);
-
- //////////
- // The size of the object
- void sizeMess(float size);
-
- //////////
- // How the object should be drawn
- virtual void typeMess(t_symbol *type);
-
- //-----------------------------------
- // GROUP: Utility functions
- //-----------------------------------
-
- void SetVertex(GemState* state,float x, float y, float z,
- float tx, float ty,
- int curCoord);
-
- void SetVertex(GemState* state,float x, float y, float z,
- float s, float t, float r, float q,
- int curCoord);
-
- //-----------------------------------
- // GROUP: Member variables
- //-----------------------------------
-
- //////////
- // The line width for GL_LINE mode
- GLfloat m_linewidth;
-
- //////////
- // The size of the object
- GLfloat m_size;
-
- //////////
- // The drawing style (GL_LINE, GL_POLYGON, etc)
- GLenum m_drawType;
-
- //////////
- // do we want blending?
- GLboolean m_blend;
- void blendMess(float blend);
-
-
- ////////
- // override this memberfunction to automatically enable softblended rendering,...
- virtual void renderShape(GemState *state) {;}
-
- // OR
- // override this memberfunction if you don't want softblending
- virtual void render(GemState *state);
-
-
- //////////
- // The size inlet
- t_inlet *m_inlet;
-
- //-----------------------------------
- // GROUP: Setup functions
- //-----------------------------------
-
- //////////
- // creation callback
- static void real_obj_setupCallback(t_class *classPtr)
- { GemBase::real_obj_setupCallback(classPtr); GemShape::obj_setupCallback(classPtr); }
-
- private:
-
- static inline GemShape *GetMyClass(void *data) {return((GemShape *)((Obj_header *)data)->data);}
-
- //////////
- // static member functions
- static void obj_setupCallback(t_class *classPtr);
- static void linewidthMessCallback(void *data, t_floatarg linewidth);
- static void typeMessCallback(void *data, t_symbol *type);
- static void sizeMessCallback(void *data, t_floatarg size);
- static void blendMessCallback(void *data, t_floatarg size);
-
-
- protected:
- int m_texType, m_texNum;
- TexCoord*m_texCoords;
- bool m_lighting;
-};
-
-#endif // for header file
+/*-----------------------------------------------------------------
+LOG
+ GEM - Graphics Environment for Multimedia
+
+ Base class for shapes
+
+ Copyright (c) 1997-1999 Mark Danks. mark@danks.org
+ Copyright (c) Günther Geiger. geiger@epy.co.at
+ Copyright (c) 2001-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
+ For information on usage and redistribution, and for a DISCLAIMER OF ALL
+ WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
+
+-----------------------------------------------------------------*/
+
+#ifndef _INCLUDE__GEM_BASE_GEMSHAPE_H_
+#define _INCLUDE__GEM_BASE_GEMSHAPE_H_
+
+#include "Base/GemBase.h"
+
+/*-----------------------------------------------------------------
+-------------------------------------------------------------------
+CLASS
+ GemShape
+
+ Base class for shapes
+
+DESCRIPTION
+
+ Inlet for a float - "ft1"
+
+ "ft1" - the size of the shape
+ "draw" - the drawing style
+ "width" - the line width when drawing with lines
+
+-----------------------------------------------------------------*/
+class TexCoord;
+class GEM_EXTERN GemShape : public GemBase
+{
+ public:
+
+ //////////
+ // Constructor
+ // [in] size - A size of 0. means to just use the default (ie, 1.)
+ GemShape(t_floatarg size);
+ GemShape();
+
+ protected:
+
+ //////////
+ // Destructor
+ virtual ~GemShape();
+
+ //-----------------------------------
+ // GROUP: Access functions
+ //-----------------------------------
+
+ //////////
+ // The width of the lines in line draw mode
+ void linewidthMess(float linewidth);
+
+ //////////
+ // The size of the object
+ void sizeMess(float size);
+
+ //////////
+ // How the object should be drawn
+ virtual void typeMess(t_symbol *type);
+
+ //-----------------------------------
+ // GROUP: Utility functions
+ //-----------------------------------
+
+ void SetVertex(GemState* state,float x, float y, float z,
+ float tx, float ty,
+ int curCoord);
+
+ void SetVertex(GemState* state,float x, float y, float z,
+ float s, float t, float r, float q,
+ int curCoord);
+
+ //-----------------------------------
+ // GROUP: Member variables
+ //-----------------------------------
+
+ //////////
+ // The line width for GL_LINE mode
+ GLfloat m_linewidth;
+
+ //////////
+ // The size of the object
+ GLfloat m_size;
+
+ //////////
+ // The drawing style (GL_LINE, GL_POLYGON, etc)
+ GLenum m_drawType;
+
+ //////////
+ // do we want blending?
+ GLboolean m_blend;
+ void blendMess(float blend);
+
+
+ ////////
+ // override this memberfunction to automatically enable softblended rendering,...
+ virtual void renderShape(GemState *state) {;}
+
+ // OR
+ // override this memberfunction if you don't want softblending
+ virtual void render(GemState *state);
+
+
+ //////////
+ // The size inlet
+ t_inlet *m_inlet;
+
+ //-----------------------------------
+ // GROUP: Setup functions
+ //-----------------------------------
+
+ //////////
+ // creation callback
+ static void real_obj_setupCallback(t_class *classPtr)
+ { GemBase::real_obj_setupCallback(classPtr); GemShape::obj_setupCallback(classPtr); }
+
+ private:
+
+ static inline GemShape *GetMyClass(void *data) {return((GemShape *)((Obj_header *)data)->data);}
+
+ //////////
+ // static member functions
+ static void obj_setupCallback(t_class *classPtr);
+ static void linewidthMessCallback(void *data, t_floatarg linewidth);
+ static void typeMessCallback(void *data, t_symbol *type);
+ static void sizeMessCallback(void *data, t_floatarg size);
+ static void blendMessCallback(void *data, t_floatarg size);
+
+
+ protected:
+ int m_texType, m_texNum;
+ TexCoord*m_texCoords;
+ bool m_lighting;
+};
+
+#endif // for header file
diff --git a/packages/noncvs/windows/extra/Gem/dev/Base/GemState.h b/packages/noncvs/windows/extra/Gem/dev/Base/GemState.h
index d8ea046c..bb0a1075 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Base/GemState.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Base/GemState.h
@@ -1,4 +1,4 @@
-#ifdef __GNUC__
-# warning GemState.h is deprecated - please include "Gem/State.h" instead
-#endif
-#include "Gem/State.h"
+#ifdef __GNUC__
+# warning GemState.h is deprecated - please include "Gem/State.h" instead
+#endif
+#include "Gem/State.h"
diff --git a/packages/noncvs/windows/extra/Gem/dev/Base/GemVector.h b/packages/noncvs/windows/extra/Gem/dev/Base/GemVector.h
index a235559e..a42488cf 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Base/GemVector.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Base/GemVector.h
@@ -1,4 +1,4 @@
-#ifdef __GNUC__
-# warning GemVector.h is deprecated - please include "Utils/Vector.h" instead
-#endif
-#include "Utils/Vector.h"
+#ifdef __GNUC__
+# warning GemVector.h is deprecated - please include "Utils/Vector.h" instead
+#endif
+#include "Utils/Vector.h"
diff --git a/packages/noncvs/windows/extra/Gem/dev/Base/GemVersion.h b/packages/noncvs/windows/extra/Gem/dev/Base/GemVersion.h
index aec3de0a..821bc021 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Base/GemVersion.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Base/GemVersion.h
@@ -1,4 +1,4 @@
-#ifdef __GNUC__
-# warning Base/GemVersion.h is deprecated - please include "Gem/Version.h" instead
-#endif
-#include "Gem/Version.h"
+#ifdef __GNUC__
+# warning Base/GemVersion.h is deprecated - please include "Gem/Version.h" instead
+#endif
+#include "Gem/Version.h"
diff --git a/packages/noncvs/windows/extra/Gem/dev/Base/GemWindow.h b/packages/noncvs/windows/extra/Gem/dev/Base/GemWindow.h
index 7ac15d9f..584a1103 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Base/GemWindow.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Base/GemWindow.h
@@ -1,208 +1,208 @@
-/*-----------------------------------------------------------------
-LOG
- GEM - Graphics Environment for Multimedia
-
- a window class to render to
-
- Copyright (c) 2009-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
- For information on usage and redistribution, and for a DISCLAIMER OF ALL
- WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
-
------------------------------------------------------------------*/
-
-#ifndef _INCLUDE__GEM_BASE_GEMWINDOW_H_
-#define _INCLUDE__GEM_BASE_GEMWINDOW_H_
-
-#include "Gem/GemGL.h"
-#include "Base/CPPExtern.h"
-
-#include <vector>
-/*-----------------------------------------------------------------
--------------------------------------------------------------------
-CLASS
- GemWindow
-
- a window
-
-DESCRIPTION
-
------------------------------------------------------------------*/
-namespace gem {
- class Context;
-};
-
-class GEM_EXTERN GemWindow : public CPPExtern
-{
- CPPEXTERN_HEADER(GemWindow, CPPExtern);
-
- private:
- class PIMPL;
- PIMPL*m_pimpl;
-
- public:
-
- //////////
- // Constructor
- GemWindow(void);
-
- //////////
- // Destructor
- virtual ~GemWindow(void);
-
- public:
- /* OUTPUT */
-
- /* an outlet to propagate information to the patch... mainly callbacks from the context */
- /* LATER think about detaching the output from the stack, so we can e.g. destroy a window from a mouse-callback */
- void info(std::vector<t_atom>);
- void info(t_symbol*s, int, t_atom*);
- void info(std::string);
- void info(std::string, t_float);
- void info(std::string, int i);
- void info(std::string, std::string);
-
- /* tell downstream objects to render */
- void bang(void);
-
- /* mouse movement */
- void motion(int x, int y);
- /* mouse buttons */
- void button(int id, int state);
- /* keyboard buttons */
- // void key(std::string id, int state);
- //void key(int id, int state);
- void key(std::string, int, int state);
-
- /* window resize/move */
- void dimension(unsigned int, unsigned int);
- void position (int, int);
-
- /* INPUT */
-
- /* create a new context */
- static gem::Context*createContext(void);
- /* destroy a given context;
- * @returns NULL
- */
- static gem::Context*destroyContext(gem::Context*);
-
- /* this MUST be called from the derived classes
- * as it will eventually establish a new GemContext (if m_context is non-NULL)
- * if you want to share GemContext's you MUST call
- * GemWindow::createContext() yourself and set m_context to the result
- *
- * if <tt>false</tt> is returned, you should not continue
- */
- bool createGemWindow(void);
- /* create a new window
- * make sure that this calls the parent's createContext() method
- */
- virtual bool create(void) = 0;
-
- /* destroy an established context+infrastructuure *
- * make sure that this get's called from your destroy() implementation
- */
- void destroyGemWindow();
- /* create the current window
- * make sure to call GemWindow::destroyGemWindow()
- */
- virtual void destroy(void) = 0;
-
- /* make the object's context (window,...) the current context
- * this is virtual, so objects can add their own code
- * note however, that they should also call this (parent's) function within
- * typically implementations look like this:
- * bool <mywindow>::makeCurrent(void) {
- * // do your own stuff
- *
- * is <tt>false</tt> is returned, do not attempt to use it (e.g. draw into it)
- */
- virtual bool makeCurrent(void) = 0;
-
- /*
- * make the GemWindow current (reset stacks), switch multiContext
- */
- bool pushContext(void);
- /*
- * make uncurrent
- */
- bool popContext (void);
-
- /* swap back/front buffer
- */
- virtual void swapBuffers(void) = 0;
-
- /* dispatch messages from the window
- * this might get called more often than the render-cycle
- * it might also be called automatically as soon as the window
- * is create()ed (and until the window is destroy()ed)
- */
- virtual void dispatch(void);
-
- /* render to this window
- * the default implementation calls:
- * if(!makeCurrent())return;
- * if(!pushContext())return;
- * bang();
- * if(m_buffer==2)swap();
- * popContext();
- * but you can override this, if you want to
- */
- virtual void render(void);
-
- /* set/get the dimension of the context
- * setting is done by supplying arguments to the method;
- * querying is done by supplying NO arguments
- * this should be kept throughout
- */
- virtual void dimensionsMess(unsigned int width, unsigned int height) = 0;
-
-
- // common property setters
- // by default they will simply set the corresponding values (below in the protected section)
- // to whatever argument is given them
- // so you can use these values when creating the window
- // however, if you need to take immediate action (e.g. because you can), you ought to override these functions
-
- /* render context (pre creation) */
- virtual void bufferMess(int buf);
- virtual void fsaaMess(int value);
-
- /* window decoration (pre creation) */
- virtual void titleMess(std::string);
- virtual void borderMess(bool on);
-
- virtual void fullscreenMess(int on);
- virtual void offsetMess(int x, int y);
-
- /* creation/destruction */
- virtual void createMess(std::string);
- virtual void destroyMess(void);
-
- /* post creation */
- virtual void cursorMess(bool on);
-
- /* print some info */
- virtual void printMess(void);
-
- protected:
- unsigned int m_width, m_height;
-
- // common properties of GemWindow's
- // you can safely ignore these, if they mean nothing to you
- // however, if they do mean something to you, it would be good if you used these
- int m_xoffset, m_yoffset;
- bool m_border;
- int m_fullscreen;
-
- unsigned int m_buffer;
- std::string m_title;
- bool m_cursor;
- int m_fsaa;
-
- gem::Context* m_context;
-};
-
-
-
-#endif // for header file
+/*-----------------------------------------------------------------
+LOG
+ GEM - Graphics Environment for Multimedia
+
+ a window class to render to
+
+ Copyright (c) 2009-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
+ For information on usage and redistribution, and for a DISCLAIMER OF ALL
+ WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
+
+-----------------------------------------------------------------*/
+
+#ifndef _INCLUDE__GEM_BASE_GEMWINDOW_H_
+#define _INCLUDE__GEM_BASE_GEMWINDOW_H_
+
+#include "Gem/GemGL.h"
+#include "Base/CPPExtern.h"
+
+#include <vector>
+/*-----------------------------------------------------------------
+-------------------------------------------------------------------
+CLASS
+ GemWindow
+
+ a window
+
+DESCRIPTION
+
+-----------------------------------------------------------------*/
+namespace gem {
+ class Context;
+};
+
+class GEM_EXTERN GemWindow : public CPPExtern
+{
+ CPPEXTERN_HEADER(GemWindow, CPPExtern);
+
+ private:
+ class PIMPL;
+ PIMPL*m_pimpl;
+
+ public:
+
+ //////////
+ // Constructor
+ GemWindow(void);
+
+ //////////
+ // Destructor
+ virtual ~GemWindow(void);
+
+ public:
+ /* OUTPUT */
+
+ /* an outlet to propagate information to the patch... mainly callbacks from the context */
+ /* LATER think about detaching the output from the stack, so we can e.g. destroy a window from a mouse-callback */
+ void info(std::vector<t_atom>);
+ void info(t_symbol*s, int, t_atom*);
+ void info(std::string);
+ void info(std::string, t_float);
+ void info(std::string, int i);
+ void info(std::string, std::string);
+
+ /* tell downstream objects to render */
+ void bang(void);
+
+ /* mouse movement */
+ void motion(int x, int y);
+ /* mouse buttons */
+ void button(int id, int state);
+ /* keyboard buttons */
+ // void key(std::string id, int state);
+ //void key(int id, int state);
+ void key(std::string, int, int state);
+
+ /* window resize/move */
+ void dimension(unsigned int, unsigned int);
+ void position (int, int);
+
+ /* INPUT */
+
+ /* create a new context */
+ static gem::Context*createContext(void);
+ /* destroy a given context;
+ * @returns NULL
+ */
+ static gem::Context*destroyContext(gem::Context*);
+
+ /* this MUST be called from the derived classes
+ * as it will eventually establish a new GemContext (if m_context is non-NULL)
+ * if you want to share GemContext's you MUST call
+ * GemWindow::createContext() yourself and set m_context to the result
+ *
+ * if <tt>false</tt> is returned, you should not continue
+ */
+ bool createGemWindow(void);
+ /* create a new window
+ * make sure that this calls the parent's createContext() method
+ */
+ virtual bool create(void) = 0;
+
+ /* destroy an established context+infrastructuure *
+ * make sure that this get's called from your destroy() implementation
+ */
+ void destroyGemWindow();
+ /* create the current window
+ * make sure to call GemWindow::destroyGemWindow()
+ */
+ virtual void destroy(void) = 0;
+
+ /* make the object's context (window,...) the current context
+ * this is virtual, so objects can add their own code
+ * note however, that they should also call this (parent's) function within
+ * typically implementations look like this:
+ * bool <mywindow>::makeCurrent(void) {
+ * // do your own stuff
+ *
+ * is <tt>false</tt> is returned, do not attempt to use it (e.g. draw into it)
+ */
+ virtual bool makeCurrent(void) = 0;
+
+ /*
+ * make the GemWindow current (reset stacks), switch multiContext
+ */
+ bool pushContext(void);
+ /*
+ * make uncurrent
+ */
+ bool popContext (void);
+
+ /* swap back/front buffer
+ */
+ virtual void swapBuffers(void) = 0;
+
+ /* dispatch messages from the window
+ * this might get called more often than the render-cycle
+ * it might also be called automatically as soon as the window
+ * is create()ed (and until the window is destroy()ed)
+ */
+ virtual void dispatch(void);
+
+ /* render to this window
+ * the default implementation calls:
+ * if(!makeCurrent())return;
+ * if(!pushContext())return;
+ * bang();
+ * if(m_buffer==2)swap();
+ * popContext();
+ * but you can override this, if you want to
+ */
+ virtual void render(void);
+
+ /* set/get the dimension of the context
+ * setting is done by supplying arguments to the method;
+ * querying is done by supplying NO arguments
+ * this should be kept throughout
+ */
+ virtual void dimensionsMess(unsigned int width, unsigned int height) = 0;
+
+
+ // common property setters
+ // by default they will simply set the corresponding values (below in the protected section)
+ // to whatever argument is given them
+ // so you can use these values when creating the window
+ // however, if you need to take immediate action (e.g. because you can), you ought to override these functions
+
+ /* render context (pre creation) */
+ virtual void bufferMess(int buf);
+ virtual void fsaaMess(int value);
+
+ /* window decoration (pre creation) */
+ virtual void titleMess(std::string);
+ virtual void borderMess(bool on);
+
+ virtual void fullscreenMess(int on);
+ virtual void offsetMess(int x, int y);
+
+ /* creation/destruction */
+ virtual void createMess(std::string);
+ virtual void destroyMess(void);
+
+ /* post creation */
+ virtual void cursorMess(bool on);
+
+ /* print some info */
+ virtual void printMess(void);
+
+ protected:
+ unsigned int m_width, m_height;
+
+ // common properties of GemWindow's
+ // you can safely ignore these, if they mean nothing to you
+ // however, if they do mean something to you, it would be good if you used these
+ int m_xoffset, m_yoffset;
+ bool m_border;
+ int m_fullscreen;
+
+ unsigned int m_buffer;
+ std::string m_title;
+ bool m_cursor;
+ int m_fsaa;
+
+ gem::Context* m_context;
+};
+
+
+
+#endif // for header file
diff --git a/packages/noncvs/windows/extra/Gem/dev/Base/Matrix.h b/packages/noncvs/windows/extra/Gem/dev/Base/Matrix.h
index cf8c8381..36e0024a 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Base/Matrix.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Base/Matrix.h
@@ -1,4 +1,4 @@
-#ifdef __GNUC__
-# warning Matrix.h is deprecated - please include "Utils/Matrix.h" instead
-#endif
-#include "Utils/Matrix.h"
+#ifdef __GNUC__
+# warning Matrix.h is deprecated - please include "Utils/Matrix.h" instead
+#endif
+#include "Utils/Matrix.h"
diff --git a/packages/noncvs/windows/extra/Gem/dev/Base/TextBase.h b/packages/noncvs/windows/extra/Gem/dev/Base/TextBase.h
index d2a029d6..27e67435 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Base/TextBase.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Base/TextBase.h
@@ -1,231 +1,231 @@
-/*-----------------------------------------------------------------
- LOG
- GEM - Graphics Environment for Multimedia
-
- A text
-
- Copyright (c) 1997-1999 Mark Danks. mark@danks.org
- Copyright (c) Günther Geiger. geiger@epy.co.at
- Copyright (c) 2001-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
- Copyright (c) 2005 Georg Holzmann <grh@mur.at>
- For information on usage and redistribution, and for a DISCLAIMER OF ALL
- WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
-
- -----------------------------------------------------------------*/
-
-#ifndef _INCLUDE__GEM_BASE_TEXTBASE_H_
-#define _INCLUDE__GEM_BASE_TEXTBASE_H_
-
-
-#ifdef _WIN32
-# pragma warning( disable : 4786 )
-# pragma warning( disable : 4788 )
-#endif
-
-#include "Gem/GemConfig.h"
-
-#include "Base/GemBase.h"
-
-#include <vector>
-#include <string>
-
-#ifdef FTGL
-# define FONT_SCALE 0.2/3.0
-# ifdef HAVE_FTGL_FTGL_H
-# include "FTGL/ftgl.h"
-# else
-# include "FTFont.h"
-# endif
-#else
-# define FONT_SCALE 1.0
-#endif
-
-using std::vector;
-using std::string;
-using std::wstring;
-
-/*-----------------------------------------------------------------
- -------------------------------------------------------------------
- CLASS
- TextBase
-
- Base class for text objects
-
- DESCRIPTION
-
- "ft1" - The font size
- "text" - The text to draw
-
- -----------------------------------------------------------------*/
-class GEM_EXTERN TextBase : public GemBase
-{
- CPPEXTERN_HEADER(TextBase, GemBase);
-
- public:
-
- //////////
- // Constructor with args
- TextBase(int argc, t_atom *argv);
-
-
- protected:
-
- //////////
- // Destructor
- virtual ~TextBase();
-
- //////////
- // Do the rendering
- virtual void render(GemState*);
-
- //////////
- // break a string according to '\n'
- virtual void breakLine(wstring line);
-
- //-- moocow
- //////////
- // Set the text string from an ASCII list
- virtual void stringMess(int argc, t_atom *argv);
- //-- /moocow
-
- //////////
- // Set the text string
- virtual void textMess(int argc, t_atom *argv);
-
- //////////
- // The font to use
- virtual void fontNameMess(const std::string filename);
-
- //////////
- // set line distance
- virtual void linedistMess(float dist);
-
- //////////
- // Set the font size
- virtual void setFontSize(float size);
- virtual void setFontSize();
-
- //////////
- // Set the precision for rendering
- virtual void setPrecision(float prec);
-
- //////////
- // The different types of justification
- enum JustifyWidth { LEFT, RIGHT, CENTER, BASEW };
- enum JustifyHeight { BOTTOM, TOP, MIDDLE, BASEH };
- enum JustifyDepth { FRONT, BACK, HALFWAY, BASED };
-
- //////////
- // Set the justification
- virtual void setJustification(JustifyWidth wType);
- virtual void setJustification(JustifyWidth wType, JustifyHeight hType);
- virtual void setJustification(JustifyWidth wType, JustifyHeight hType, JustifyDepth dType);
-
- //////////
- // do the justification
- // x1,...,z2 just defines the bounding box of the rendered string.
- // y_offset is the offset of the current line
- virtual void justifyFont(float x1, float y1, float z1,
- float x2, float y2, float z2, float y_offset=0);
-
-
- //-----------------------------------
- // GROUP: Member variables
- //-----------------------------------
-
- //////////
- // The text to display
- // (one entry for each line)
- vector<wstring> m_theText;
-
- //////////
- // distance between the lines
- // (1 = 1 line, 0.5 = 0.5 lines, ...)
- float m_dist;
-
- ///////////
- // vector with the offset
- // of the individual lines
- vector<float> m_lineDist;
-
- //////////
- // Do we have a valid font?
- int m_valid;
-
- //////////
- // The font fize
- float m_fontSize;
-
- //////////
- // The font depth (only for extruded fonts)
- float m_fontDepth;
-
- //////////
- // The rendering precision
- float m_precision;
-
- //////////
- // The width justification
- JustifyWidth m_widthJus;
-
- //////////
- // The height justification
- JustifyHeight m_heightJus;
-
- //////////
- // The depth justification
- JustifyDepth m_depthJus;
-
- //////////
- // The inlet
- t_inlet *m_inlet;
-
-
- //////////
- // The default font name
- static std::string DEFAULT_FONT;
-
- //////////
- // The font structure
-#ifdef FTGL
- FTFont *m_font;
- /* this should delete (m_font) if it is notnull and recreate it.
- * a pointer to the new structure is returned (and is set to m_font).
- * if creation fails, the font is cleaned-up and NULL is returned
- */
- virtual FTFont* makeFont(const char*fontname)=0;
-
- /* this is just handy to reload a font */
- t_symbol* m_fontname;
- /* on starting to render, we reload the font, to make sure it is there
- * this rids us of having to reload the font by hand everytime the rendering is restarted
- */
- virtual void startRendering(void);
-
- /* render one line of the text */
- virtual void renderLine(const char*line,float dist);
- virtual void renderLine(const wchar_t*line,float dist);
-#endif
-
- private:
-
- ///////////
- // helpers:
-
- ///////////
- // helper to make the
- // line distance vector
- void makeLineDist();
-
- //////////
- // Static member functions
- static void textMessCallback(void *data, t_symbol *, int argc, t_atom *argv);
- static void stringMessCallback(void *data, t_symbol *, int argc, t_atom *argv); //--moo
- static void fontSizeMessCallback(void *data, t_floatarg size);
- static void linedistMessCallback(void *data, t_floatarg dist);
- static void precisionMessCallback(void *data, t_floatarg prec);
- static void fontNameMessCallback(void *data, t_symbol *s);
- static void justifyMessCallback(void *data, t_symbol *, int, t_atom*);
-};
-
-#endif // for header file
+/*-----------------------------------------------------------------
+ LOG
+ GEM - Graphics Environment for Multimedia
+
+ A text
+
+ Copyright (c) 1997-1999 Mark Danks. mark@danks.org
+ Copyright (c) Günther Geiger. geiger@epy.co.at
+ Copyright (c) 2001-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
+ Copyright (c) 2005 Georg Holzmann <grh@mur.at>
+ For information on usage and redistribution, and for a DISCLAIMER OF ALL
+ WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
+
+ -----------------------------------------------------------------*/
+
+#ifndef _INCLUDE__GEM_BASE_TEXTBASE_H_
+#define _INCLUDE__GEM_BASE_TEXTBASE_H_
+
+
+#ifdef _WIN32
+# pragma warning( disable : 4786 )
+# pragma warning( disable : 4788 )
+#endif
+
+#include "Gem/GemConfig.h"
+
+#include "Base/GemBase.h"
+
+#include <vector>
+#include <string>
+
+#ifdef FTGL
+# define FONT_SCALE 0.2/3.0
+# ifdef HAVE_FTGL_FTGL_H
+# include "FTGL/ftgl.h"
+# else
+# include "FTFont.h"
+# endif
+#else
+# define FONT_SCALE 1.0
+#endif
+
+using std::vector;
+using std::string;
+using std::wstring;
+
+/*-----------------------------------------------------------------
+ -------------------------------------------------------------------
+ CLASS
+ TextBase
+
+ Base class for text objects
+
+ DESCRIPTION
+
+ "ft1" - The font size
+ "text" - The text to draw
+
+ -----------------------------------------------------------------*/
+class GEM_EXTERN TextBase : public GemBase
+{
+ CPPEXTERN_HEADER(TextBase, GemBase);
+
+ public:
+
+ //////////
+ // Constructor with args
+ TextBase(int argc, t_atom *argv);
+
+
+ protected:
+
+ //////////
+ // Destructor
+ virtual ~TextBase();
+
+ //////////
+ // Do the rendering
+ virtual void render(GemState*);
+
+ //////////
+ // break a string according to '\n'
+ virtual void breakLine(wstring line);
+
+ //-- moocow
+ //////////
+ // Set the text string from an ASCII list
+ virtual void stringMess(int argc, t_atom *argv);
+ //-- /moocow
+
+ //////////
+ // Set the text string
+ virtual void textMess(int argc, t_atom *argv);
+
+ //////////
+ // The font to use
+ virtual void fontNameMess(const std::string filename);
+
+ //////////
+ // set line distance
+ virtual void linedistMess(float dist);
+
+ //////////
+ // Set the font size
+ virtual void setFontSize(float size);
+ virtual void setFontSize();
+
+ //////////
+ // Set the precision for rendering
+ virtual void setPrecision(float prec);
+
+ //////////
+ // The different types of justification
+ enum JustifyWidth { LEFT, RIGHT, CENTER, BASEW };
+ enum JustifyHeight { BOTTOM, TOP, MIDDLE, BASEH };
+ enum JustifyDepth { FRONT, BACK, HALFWAY, BASED };
+
+ //////////
+ // Set the justification
+ virtual void setJustification(JustifyWidth wType);
+ virtual void setJustification(JustifyWidth wType, JustifyHeight hType);
+ virtual void setJustification(JustifyWidth wType, JustifyHeight hType, JustifyDepth dType);
+
+ //////////
+ // do the justification
+ // x1,...,z2 just defines the bounding box of the rendered string.
+ // y_offset is the offset of the current line
+ virtual void justifyFont(float x1, float y1, float z1,
+ float x2, float y2, float z2, float y_offset=0);
+
+
+ //-----------------------------------
+ // GROUP: Member variables
+ //-----------------------------------
+
+ //////////
+ // The text to display
+ // (one entry for each line)
+ vector<wstring> m_theText;
+
+ //////////
+ // distance between the lines
+ // (1 = 1 line, 0.5 = 0.5 lines, ...)
+ float m_dist;
+
+ ///////////
+ // vector with the offset
+ // of the individual lines
+ vector<float> m_lineDist;
+
+ //////////
+ // Do we have a valid font?
+ int m_valid;
+
+ //////////
+ // The font fize
+ float m_fontSize;
+
+ //////////
+ // The font depth (only for extruded fonts)
+ float m_fontDepth;
+
+ //////////
+ // The rendering precision
+ float m_precision;
+
+ //////////
+ // The width justification
+ JustifyWidth m_widthJus;
+
+ //////////
+ // The height justification
+ JustifyHeight m_heightJus;
+
+ //////////
+ // The depth justification
+ JustifyDepth m_depthJus;
+
+ //////////
+ // The inlet
+ t_inlet *m_inlet;
+
+
+ //////////
+ // The default font name
+ static std::string DEFAULT_FONT;
+
+ //////////
+ // The font structure
+#ifdef FTGL
+ FTFont *m_font;
+ /* this should delete (m_font) if it is notnull and recreate it.
+ * a pointer to the new structure is returned (and is set to m_font).
+ * if creation fails, the font is cleaned-up and NULL is returned
+ */
+ virtual FTFont* makeFont(const char*fontname)=0;
+
+ /* this is just handy to reload a font */
+ t_symbol* m_fontname;
+ /* on starting to render, we reload the font, to make sure it is there
+ * this rids us of having to reload the font by hand everytime the rendering is restarted
+ */
+ virtual void startRendering(void);
+
+ /* render one line of the text */
+ virtual void renderLine(const char*line,float dist);
+ virtual void renderLine(const wchar_t*line,float dist);
+#endif
+
+ private:
+
+ ///////////
+ // helpers:
+
+ ///////////
+ // helper to make the
+ // line distance vector
+ void makeLineDist();
+
+ //////////
+ // Static member functions
+ static void textMessCallback(void *data, t_symbol *, int argc, t_atom *argv);
+ static void stringMessCallback(void *data, t_symbol *, int argc, t_atom *argv); //--moo
+ static void fontSizeMessCallback(void *data, t_floatarg size);
+ static void linedistMessCallback(void *data, t_floatarg dist);
+ static void precisionMessCallback(void *data, t_floatarg prec);
+ static void fontNameMessCallback(void *data, t_symbol *s);
+ static void justifyMessCallback(void *data, t_symbol *, int, t_atom*);
+};
+
+#endif // for header file
diff --git a/packages/noncvs/windows/extra/Gem/dev/Gem.lib b/packages/noncvs/windows/extra/Gem/dev/Gem.lib
index c91ed412..0b7b02a1 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Gem.lib
+++ b/packages/noncvs/windows/extra/Gem/dev/Gem.lib
Binary files differ
diff --git a/packages/noncvs/windows/extra/Gem/dev/Gem/Cache.h b/packages/noncvs/windows/extra/Gem/dev/Gem/Cache.h
index 2fcba81f..c9b3f230 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Gem/Cache.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Gem/Cache.h
@@ -1,74 +1,74 @@
-/*-----------------------------------------------------------------
-LOG
- GEM - Graphics Environment for Multimedia
-
- The state to pass among GEM objects
-
- Copyright (c) 1997-1999 Mark Danks. mark@danks.org
- Copyright (c) Günther Geiger. geiger@epy.co.at
- Copyright (c) 2001-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
- For information on usage and redistribution, and for a DISCLAIMER OF ALL
- WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
-
------------------------------------------------------------------*/
-
-#ifndef _INCLUDE__GEM_GEM_CACHE_H_
-#define _INCLUDE__GEM_GEM_CACHE_H_
-
-#include "Gem/ExportDef.h"
-
-class gemhead;
-
-/*-----------------------------------------------------------------
--------------------------------------------------------------------
-CLASS
- GemCache
-
- The cache to pass among GEM objects
-
-DESCRIPTION
-
------------------------------------------------------------------*/
-#define GEMCACHE_MAGIC 0x1234567
-class GEM_EXTERN GemCache
-{
- public:
-
- //////////
- // Constructor
- GemCache(gemhead *parent);
-
- GemCache(const GemCache&);
-
- //////////
- // Destructor
- virtual ~GemCache(void);
-
-
- virtual GemCache& operator=(const GemCache&);
-
- //////////
- // Was a modification made which will void a display list?
- bool dirty;
-
- //////////
- // Should the image be resent?
- bool resendImage;
-
- //////////
- // has the Vertex-Array changed?
- bool vertexDirty;
-
- //////////
- // re-set (like creation, but without instantiating
- void reset(gemhead*parent);
-
- //////////
- gemhead *m_parent;
-
- //////////
- // indicates a valid cache
- int m_magic;
-};
-
-#endif // for header file
+/*-----------------------------------------------------------------
+LOG
+ GEM - Graphics Environment for Multimedia
+
+ The state to pass among GEM objects
+
+ Copyright (c) 1997-1999 Mark Danks. mark@danks.org
+ Copyright (c) Günther Geiger. geiger@epy.co.at
+ Copyright (c) 2001-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
+ For information on usage and redistribution, and for a DISCLAIMER OF ALL
+ WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
+
+-----------------------------------------------------------------*/
+
+#ifndef _INCLUDE__GEM_GEM_CACHE_H_
+#define _INCLUDE__GEM_GEM_CACHE_H_
+
+#include "Gem/ExportDef.h"
+
+class gemhead;
+
+/*-----------------------------------------------------------------
+-------------------------------------------------------------------
+CLASS
+ GemCache
+
+ The cache to pass among GEM objects
+
+DESCRIPTION
+
+-----------------------------------------------------------------*/
+#define GEMCACHE_MAGIC 0x1234567
+class GEM_EXTERN GemCache
+{
+ public:
+
+ //////////
+ // Constructor
+ GemCache(gemhead *parent);
+
+ GemCache(const GemCache&);
+
+ //////////
+ // Destructor
+ virtual ~GemCache(void);
+
+
+ virtual GemCache& operator=(const GemCache&);
+
+ //////////
+ // Was a modification made which will void a display list?
+ bool dirty;
+
+ //////////
+ // Should the image be resent?
+ bool resendImage;
+
+ //////////
+ // has the Vertex-Array changed?
+ bool vertexDirty;
+
+ //////////
+ // re-set (like creation, but without instantiating
+ void reset(gemhead*parent);
+
+ //////////
+ gemhead *m_parent;
+
+ //////////
+ // indicates a valid cache
+ int m_magic;
+};
+
+#endif // for header file
diff --git a/packages/noncvs/windows/extra/Gem/dev/Gem/ContextData.h b/packages/noncvs/windows/extra/Gem/dev/Gem/ContextData.h
index 17673afa..5ee7e161 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Gem/ContextData.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Gem/ContextData.h
@@ -1,149 +1,149 @@
-/*-----------------------------------------------------------------
- LOG
- GEM - Graphics Environment for Multimedia
-
- data specific to a rendering context
-
- Copyright (c) 2009-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
- For information on usage and redistribution, and for a DISCLAIMER OF ALL
- WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
-
- -----------------------------------------------------------------*/
-
-#ifndef _INCLUDE__GEM_GEM_CONTEXTDATA_H_
-#define _INCLUDE__GEM_GEM_CONTEXTDATA_H_
-
-#include "Gem/ExportDef.h"
-#include <vector>
-
-/*-----------------------------------------------------------------
- -------------------------------------------------------------------
- CLASS
- ContextData
-
- rendering context specific data
- this is heavily inspired by VrJuggler
-
- DESCRIPTION
-
- several things in openGL like display-lists are context dependent
- if we have multiple contexts, such values most be generated for each context
- ContextData provides a generic (templated) datatype for this
-
- LATER (SOONER) think about splitting the render() into a context-specific section that
- set's up display-lists,... and a draw() function that just calls the pre-generated values
-
- -----------------------------------------------------------------*/
-
-namespace gem {
-
-class GEM_EXTERN ContextDataBase {
- protected:
- static const int INVALID_CONTEXT;
- virtual int getCurContext(void);
- virtual ~ContextDataBase(void);
-};
-
-
-template<class ContextDataType = int>
- class GEM_EXTERN ContextData : ContextDataBase
- {
- private:
- public:
-
- //////////
- // Constructor
- ContextData(void) : m_haveDefaultValue(false) {;}
-
- ContextData(ContextDataType v) : m_haveDefaultValue(true), m_defaultValue(v) {;}
-
- virtual ~ContextData() {
- m_ContextDataVector.clear();
- }
-
- /**
- * returns the context-specific value
- *
- * @usage ContextData<GLenum>m_fun; m_fun=GL_FUNC_ADD;
- *
- * @pre We are in a draw process.
- * @note Should only be called from the draw function.
- * Results are un-defined for other functions.
- */
- virtual operator ContextDataType()
- {
- return (*getPtrToCur());
- }
-
- /**
- * assigns a value to the correct context
- *
- * @pre We are in a draw process.
- * @note Should only be called from the draw function.
- * Results are un-defined for other functions.
- */
- virtual ContextDataType&operator = (ContextDataType value)
- {
- /* simplistic approach to handle out-of-context assignments:
- * assign the value to all context instances
- */
- if(INVALID_CONTEXT==getCurContext()) {
- doSetAll(value);
- }
-
- return (*getPtrToCur()=value);
- }
-
- private:
- bool m_haveDefaultValue;
- ContextDataType m_defaultValue;
- std::vector<ContextDataType*> m_ContextDataVector;
-
-
- /* Makes sure that the vector is at least requiredSize large */
- void checkSize(unsigned int requiredSize)
- {
- if(requiredSize > m_ContextDataVector.size())
- {
- m_ContextDataVector.reserve(requiredSize); // Resize smartly
- while(m_ContextDataVector.size() < requiredSize) // Add any new items needed
- {
- if(m_haveDefaultValue) {
- m_ContextDataVector.push_back(new ContextDataType(m_defaultValue));
- } else {
- m_ContextDataVector.push_back(new ContextDataType);
- }
- }
- }
- }
-
- /**
- * Returns a pointer to the correct data element in the current context.
- *
- * @pre We are in the draw function.
- * @post Synchronized.
- * @note ASSERT: Same context is rendered by same thread each time.
- */
- ContextDataType* getPtrToCur(void)
- {
- // Get current context
- int context_id = getCurContext();
- // Cache ref for better performance
- checkSize(context_id+1); // Make sure we are large enough (+1 since we have index)
-
- return m_ContextDataVector[context_id];
- }
-
- void doSetAll(ContextDataType v)
- {
- unsigned int i=0;
- for(i=0; i< m_ContextDataVector.size(); i++) {
- *m_ContextDataVector[i]=v;
- }
- }
- };
-};
-
-
-
-#endif // for header file
+/*-----------------------------------------------------------------
+ LOG
+ GEM - Graphics Environment for Multimedia
+
+ data specific to a rendering context
+
+ Copyright (c) 2009-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
+ For information on usage and redistribution, and for a DISCLAIMER OF ALL
+ WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
+
+ -----------------------------------------------------------------*/
+
+#ifndef _INCLUDE__GEM_GEM_CONTEXTDATA_H_
+#define _INCLUDE__GEM_GEM_CONTEXTDATA_H_
+
+#include "Gem/ExportDef.h"
+#include <vector>
+
+/*-----------------------------------------------------------------
+ -------------------------------------------------------------------
+ CLASS
+ ContextData
+
+ rendering context specific data
+ this is heavily inspired by VrJuggler
+
+ DESCRIPTION
+
+ several things in openGL like display-lists are context dependent
+ if we have multiple contexts, such values most be generated for each context
+ ContextData provides a generic (templated) datatype for this
+
+ LATER (SOONER) think about splitting the render() into a context-specific section that
+ set's up display-lists,... and a draw() function that just calls the pre-generated values
+
+ -----------------------------------------------------------------*/
+
+namespace gem {
+
+class GEM_EXTERN ContextDataBase {
+ protected:
+ static const int INVALID_CONTEXT;
+ virtual int getCurContext(void);
+ virtual ~ContextDataBase(void);
+};
+
+
+template<class ContextDataType = int>
+ class GEM_EXTERN ContextData : ContextDataBase
+ {
+ private:
+ public:
+
+ //////////
+ // Constructor
+ ContextData(void) : m_haveDefaultValue(false) {;}
+
+ ContextData(ContextDataType v) : m_haveDefaultValue(true), m_defaultValue(v) {;}
+
+ virtual ~ContextData() {
+ m_ContextDataVector.clear();
+ }
+
+ /**
+ * returns the context-specific value
+ *
+ * @usage ContextData<GLenum>m_fun; m_fun=GL_FUNC_ADD;
+ *
+ * @pre We are in a draw process.
+ * @note Should only be called from the draw function.
+ * Results are un-defined for other functions.
+ */
+ virtual operator ContextDataType()
+ {
+ return (*getPtrToCur());
+ }
+
+ /**
+ * assigns a value to the correct context
+ *
+ * @pre We are in a draw process.
+ * @note Should only be called from the draw function.
+ * Results are un-defined for other functions.
+ */
+ virtual ContextDataType&operator = (ContextDataType value)
+ {
+ /* simplistic approach to handle out-of-context assignments:
+ * assign the value to all context instances
+ */
+ if(INVALID_CONTEXT==getCurContext()) {
+ doSetAll(value);
+ }
+
+ return (*getPtrToCur()=value);
+ }
+
+ private:
+ bool m_haveDefaultValue;
+ ContextDataType m_defaultValue;
+ std::vector<ContextDataType*> m_ContextDataVector;
+
+
+ /* Makes sure that the vector is at least requiredSize large */
+ void checkSize(unsigned int requiredSize)
+ {
+ if(requiredSize > m_ContextDataVector.size())
+ {
+ m_ContextDataVector.reserve(requiredSize); // Resize smartly
+ while(m_ContextDataVector.size() < requiredSize) // Add any new items needed
+ {
+ if(m_haveDefaultValue) {
+ m_ContextDataVector.push_back(new ContextDataType(m_defaultValue));
+ } else {
+ m_ContextDataVector.push_back(new ContextDataType);
+ }
+ }
+ }
+ }
+
+ /**
+ * Returns a pointer to the correct data element in the current context.
+ *
+ * @pre We are in the draw function.
+ * @post Synchronized.
+ * @note ASSERT: Same context is rendered by same thread each time.
+ */
+ ContextDataType* getPtrToCur(void)
+ {
+ // Get current context
+ int context_id = getCurContext();
+ // Cache ref for better performance
+ checkSize(context_id+1); // Make sure we are large enough (+1 since we have index)
+
+ return m_ContextDataVector[context_id];
+ }
+
+ void doSetAll(ContextDataType v)
+ {
+ unsigned int i=0;
+ for(i=0; i< m_ContextDataVector.size(); i++) {
+ *m_ContextDataVector[i]=v;
+ }
+ }
+ };
+};
+
+
+
+#endif // for header file
diff --git a/packages/noncvs/windows/extra/Gem/dev/Gem/Dylib.h b/packages/noncvs/windows/extra/Gem/dev/Gem/Dylib.h
index 4837c1c6..342bd6b6 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Gem/Dylib.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Gem/Dylib.h
@@ -1,68 +1,68 @@
-/*-----------------------------------------------------------------
-LOG
- GEM - Graphics Environment for Multimedia
-
- - registers a loader with Pd
-
- Copyright (c) 2010-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
- For information on usage and redistribution, and for a DISCLAIMER OF ALL
- WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
-
------------------------------------------------------------------*/
-
-#ifndef _INCLUDE__GEM_GEM_DYLIB_H_
-#define _INCLUDE__GEM_GEM_DYLIB_H_
-
-#include "Gem/Exception.h"
-
-
-/* an opaque handle to the platform specific library handle */
-class GemDylibHandle;
-class CPPExtern;
-
-class GEM_EXTERN GemDylib {
- private:
- GemDylibHandle*m_handle;
-
- public:
- GemDylib(const CPPExtern*obj,
- const std::string libname,
- const std::string extension=std::string("")
- ) throw(GemException);
- GemDylib(const std::string libname,
- const std::string extension=std::string("")
- ) throw(GemException);
-
- GemDylib(const GemDylib&);
-
- virtual ~GemDylib(void);
-
- typedef void (*function_t)(void);
-
- virtual GemDylib& operator=(const GemDylib&);
-
- // if void<procname>(void) exists in dylib, run it and return "true"
- // else return false;
- bool run(const std::string procname);
-
- // if <procname> exists in dylib, return it, else return NULL
- function_t proc(const std::string procname);
-
- public:
- /**
- * LoadLib(): convenience function that searches a library named <baselibname> and then runs <procname>()
- * if "extension" is NULL, a plaform-specific default is used
- * on success "true" is returned, else "false
- */
- static bool LoadLib(const std::string procname,
- const std::string baselibname,
- const std::string fileext=std::string(""));
-
-
- static const std::string getDefaultExtension(void);
-};
-
-
-
-
-#endif
+/*-----------------------------------------------------------------
+LOG
+ GEM - Graphics Environment for Multimedia
+
+ - registers a loader with Pd
+
+ Copyright (c) 2010-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
+ For information on usage and redistribution, and for a DISCLAIMER OF ALL
+ WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
+
+-----------------------------------------------------------------*/
+
+#ifndef _INCLUDE__GEM_GEM_DYLIB_H_
+#define _INCLUDE__GEM_GEM_DYLIB_H_
+
+#include "Gem/Exception.h"
+
+
+/* an opaque handle to the platform specific library handle */
+class GemDylibHandle;
+class CPPExtern;
+
+class GEM_EXTERN GemDylib {
+ private:
+ GemDylibHandle*m_handle;
+
+ public:
+ GemDylib(const CPPExtern*obj,
+ const std::string libname,
+ const std::string extension=std::string("")
+ ) throw(GemException);
+ GemDylib(const std::string libname,
+ const std::string extension=std::string("")
+ ) throw(GemException);
+
+ GemDylib(const GemDylib&);
+
+ virtual ~GemDylib(void);
+
+ typedef void (*function_t)(void);
+
+ virtual GemDylib& operator=(const GemDylib&);
+
+ // if void<procname>(void) exists in dylib, run it and return "true"
+ // else return false;
+ bool run(const std::string procname);
+
+ // if <procname> exists in dylib, return it, else return NULL
+ function_t proc(const std::string procname);
+
+ public:
+ /**
+ * LoadLib(): convenience function that searches a library named <baselibname> and then runs <procname>()
+ * if "extension" is NULL, a plaform-specific default is used
+ * on success "true" is returned, else "false
+ */
+ static bool LoadLib(const std::string procname,
+ const std::string baselibname,
+ const std::string fileext=std::string(""));
+
+
+ static const std::string getDefaultExtension(void);
+};
+
+
+
+
+#endif
diff --git a/packages/noncvs/windows/extra/Gem/dev/Gem/Event.h b/packages/noncvs/windows/extra/Gem/dev/Gem/Event.h
index 2c767221..867be53e 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Gem/Event.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Gem/Event.h
@@ -1,104 +1,104 @@
-/*-----------------------------------------------------------------
-LOG
- GEM - Graphics Environment for Multimedia
-
- get keyboard/mouse callbacks
-
- Copyright (c) 1997-1999 Mark Danks. mark@danks.org
- Copyright (c) Günther Geiger. geiger@epy.co.at
- Copyright (c) 2001-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
- For information on usage and redistribution, and for a DISCLAIMER OF ALL
- WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
-
------------------------------------------------------------------*/
-
-#ifndef _INCLUDE__GEM_GEM_EVENT_H_
-#define _INCLUDE__GEM_GEM_EVENT_H_
-
-#include "Gem/ExportDef.h"
-
-//////////////////////////////////////////////////////////////////
-//
-// Mouse motion callback
-//
-//////////////////////////////////////////////////////////////////
-typedef void (*MOTION_CB)(int, int, void *);
-//////////
-// Set a mouse motion callback
-GEM_EXTERN extern void setMotionCallback(MOTION_CB callback, void *data);
-
-//////////
-// Remove a mouse motion callback
-GEM_EXTERN extern void removeMotionCallback(MOTION_CB callback, void *data);
-
-
-//////////////////////////////////////////////////////////////////
-//
-// Mouse button callback
-//
-//////////////////////////////////////////////////////////////////
-typedef void (*BUTTON_CB)(int, int, int, int, void *);
-//////////
-// Set a button callback
-// which == 0 == left
-// which == 1 == middle
-// which == 2 == right
-GEM_EXTERN extern void setButtonCallback(BUTTON_CB callback, void *data);
-
-//////////
-// Remove a button callback
-GEM_EXTERN extern void removeButtonCallback(BUTTON_CB callback, void *data);
-
-
-//////////////////////////////////////////////////////////////////
-//
-// Mouse wheel callback
-//
-//////////////////////////////////////////////////////////////////
-typedef void (*WHEEL_CB)(int, int, void *);
-//////////
-// Set a wheel callback
-GEM_EXTERN extern void setWheelCallback(WHEEL_CB callback, void *data);
-
-//////////
-// Remove a wheel callback
-GEM_EXTERN extern void removeWheelCallback(WHEEL_CB callback, void *data);
-
-//////////////////////////////////////////////////////////////////
-//
-// Keyboard callback
-//
-//////////////////////////////////////////////////////////////////
-typedef void (*KEYBOARD_CB)(char *,int, int, void *);
-//////////
-// Set a keyboard callback
-GEM_EXTERN extern void setKeyboardCallback(KEYBOARD_CB callback, void *data);
-
-//////////
-// Remove a keyboard callback
-GEM_EXTERN extern void removeKeyboardCallback(KEYBOARD_CB callback, void *data);
-
-//////////////////////////////////////////////////////////////////
-//
-// Resize callback
-//
-//////////////////////////////////////////////////////////////////
-typedef void (*RESIZE_CB)(int, int, void *);
-//////////
-// Set a resize callback
-GEM_EXTERN extern void setResizeCallback(RESIZE_CB callback, void *data);
-
-//////////
-// Remove a resize callback
-GEM_EXTERN extern void removeResizeCallback(RESIZE_CB callback, void *data);
-
-//////////
-// Trigger an event
-GEM_EXTERN extern void triggerMotionEvent(int x, int y);
-GEM_EXTERN extern void triggerButtonEvent(int which, int state, int x, int y);
-GEM_EXTERN extern void triggerWheelEvent(int axis, int value);
-GEM_EXTERN extern void triggerKeyboardEvent(char *string, int value, int state);
-GEM_EXTERN extern void triggerResizeEvent(int xSize, int ySize);
-
-#endif // for header file
-
+/*-----------------------------------------------------------------
+LOG
+ GEM - Graphics Environment for Multimedia
+
+ get keyboard/mouse callbacks
+
+ Copyright (c) 1997-1999 Mark Danks. mark@danks.org
+ Copyright (c) Günther Geiger. geiger@epy.co.at
+ Copyright (c) 2001-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
+ For information on usage and redistribution, and for a DISCLAIMER OF ALL
+ WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
+
+-----------------------------------------------------------------*/
+
+#ifndef _INCLUDE__GEM_GEM_EVENT_H_
+#define _INCLUDE__GEM_GEM_EVENT_H_
+
+#include "Gem/ExportDef.h"
+
+//////////////////////////////////////////////////////////////////
+//
+// Mouse motion callback
+//
+//////////////////////////////////////////////////////////////////
+typedef void (*MOTION_CB)(int, int, void *);
+//////////
+// Set a mouse motion callback
+GEM_EXTERN extern void setMotionCallback(MOTION_CB callback, void *data);
+
+//////////
+// Remove a mouse motion callback
+GEM_EXTERN extern void removeMotionCallback(MOTION_CB callback, void *data);
+
+
+//////////////////////////////////////////////////////////////////
+//
+// Mouse button callback
+//
+//////////////////////////////////////////////////////////////////
+typedef void (*BUTTON_CB)(int, int, int, int, void *);
+//////////
+// Set a button callback
+// which == 0 == left
+// which == 1 == middle
+// which == 2 == right
+GEM_EXTERN extern void setButtonCallback(BUTTON_CB callback, void *data);
+
+//////////
+// Remove a button callback
+GEM_EXTERN extern void removeButtonCallback(BUTTON_CB callback, void *data);
+
+
+//////////////////////////////////////////////////////////////////
+//
+// Mouse wheel callback
+//
+//////////////////////////////////////////////////////////////////
+typedef void (*WHEEL_CB)(int, int, void *);
+//////////
+// Set a wheel callback
+GEM_EXTERN extern void setWheelCallback(WHEEL_CB callback, void *data);
+
+//////////
+// Remove a wheel callback
+GEM_EXTERN extern void removeWheelCallback(WHEEL_CB callback, void *data);
+
+//////////////////////////////////////////////////////////////////
+//
+// Keyboard callback
+//
+//////////////////////////////////////////////////////////////////
+typedef void (*KEYBOARD_CB)(char *,int, int, void *);
+//////////
+// Set a keyboard callback
+GEM_EXTERN extern void setKeyboardCallback(KEYBOARD_CB callback, void *data);
+
+//////////
+// Remove a keyboard callback
+GEM_EXTERN extern void removeKeyboardCallback(KEYBOARD_CB callback, void *data);
+
+//////////////////////////////////////////////////////////////////
+//
+// Resize callback
+//
+//////////////////////////////////////////////////////////////////
+typedef void (*RESIZE_CB)(int, int, void *);
+//////////
+// Set a resize callback
+GEM_EXTERN extern void setResizeCallback(RESIZE_CB callback, void *data);
+
+//////////
+// Remove a resize callback
+GEM_EXTERN extern void removeResizeCallback(RESIZE_CB callback, void *data);
+
+//////////
+// Trigger an event
+GEM_EXTERN extern void triggerMotionEvent(int x, int y);
+GEM_EXTERN extern void triggerButtonEvent(int which, int state, int x, int y);
+GEM_EXTERN extern void triggerWheelEvent(int axis, int value);
+GEM_EXTERN extern void triggerKeyboardEvent(char *string, int value, int state);
+GEM_EXTERN extern void triggerResizeEvent(int xSize, int ySize);
+
+#endif // for header file
+
diff --git a/packages/noncvs/windows/extra/Gem/dev/Gem/Exception.h b/packages/noncvs/windows/extra/Gem/dev/Gem/Exception.h
index 949dac09..626b167b 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Gem/Exception.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Gem/Exception.h
@@ -1,58 +1,58 @@
-
-/*-----------------------------------------------------------------
-LOG
- GEM - Graphics Environment for Multimedia
-
- The base class for exceptions thrown by Gem
-
- Copyright (c) 2009-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
- For information on usage and redistribution, and for a DISCLAIMER OF ALL
- WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
-
------------------------------------------------------------------*/
-
-
-/*-----------------------------------------------------------------
--------------------------------------------------------------------
-CLASS
- GemException
-
- an exception class...
-
-DESCRIPTION
-
- this is a class, we can throw on creation,
- to make sure that the pd-object can not be created
-
-
-
------------------------------------------------------------------*/
-
-#ifndef _INCLUDE__GEM_GEM_EXCEPTION_H_
-#define _INCLUDE__GEM_GEM_EXCEPTION_H_
-
-#include "Gem/ExportDef.h"
-#include <string>
-
-typedef struct _text t_object;
-
-class GEM_EXTERN GemException
-{
- public:
- GemException(void) throw();
- GemException(const char*error) throw();
- GemException(const std::string error) throw();
- virtual ~GemException(void) throw();
-
- virtual const char *what(void) const throw();
- virtual void report(const char*origin=0) const throw();
- private:
- const std::string ErrorString;
-};
-
-namespace gem {
- GEM_EXTERN void catchGemException(const char*name=NULL, const t_object*obj=NULL);
-};
-
-
-#endif /* _INCLUDE__GEM_GEM_EXCEPTION_H_ */
+
+/*-----------------------------------------------------------------
+LOG
+ GEM - Graphics Environment for Multimedia
+
+ The base class for exceptions thrown by Gem
+
+ Copyright (c) 2009-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
+ For information on usage and redistribution, and for a DISCLAIMER OF ALL
+ WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
+
+-----------------------------------------------------------------*/
+
+
+/*-----------------------------------------------------------------
+-------------------------------------------------------------------
+CLASS
+ GemException
+
+ an exception class...
+
+DESCRIPTION
+
+ this is a class, we can throw on creation,
+ to make sure that the pd-object can not be created
+
+
+
+-----------------------------------------------------------------*/
+
+#ifndef _INCLUDE__GEM_GEM_EXCEPTION_H_
+#define _INCLUDE__GEM_GEM_EXCEPTION_H_
+
+#include "Gem/ExportDef.h"
+#include <string>
+
+typedef struct _text t_object;
+
+class GEM_EXTERN GemException
+{
+ public:
+ GemException(void) throw();
+ GemException(const char*error) throw();
+ GemException(const std::string error) throw();
+ virtual ~GemException(void) throw();
+
+ virtual const char *what(void) const throw();
+ virtual void report(const char*origin=0) const throw();
+ private:
+ const std::string ErrorString;
+};
+
+namespace gem {
+ GEM_EXTERN void catchGemException(const char*name=NULL, const t_object*obj=NULL);
+};
+
+
+#endif /* _INCLUDE__GEM_GEM_EXCEPTION_H_ */
diff --git a/packages/noncvs/windows/extra/Gem/dev/Gem/ExportDef.h b/packages/noncvs/windows/extra/Gem/dev/Gem/ExportDef.h
index 36eeb2f3..21cff51f 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Gem/ExportDef.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Gem/ExportDef.h
@@ -1,62 +1,62 @@
-/*-----------------------------------------------------------------
-LOG
- GEM - Graphics Environment for Multimedia
-
- Export crap
-
- Copyright (c) 1997-1999 Mark Danks. mark@danks.org
- Copyright (c) Günther Geiger. geiger@epy.co.at
- Copyright (c) 2001-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
- For information on usage and redistribution, and for a DISCLAIMER OF ALL
- WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
-
------------------------------------------------------------------*/
-
-#ifndef _INCLUDE__GEM_GEM_EXPORTDEF_H_
-#define _INCLUDE__GEM_GEM_EXPORTDEF_H_
-
-#if defined _MSC_VER
-/* turn of some warnings on vc-compilers */
-
-/* data conversion with possible loss of data */
-# pragma warning( disable : 4244 )
-/* identifier conversion with possible loss of data */
-# pragma warning( disable : 4305 )
-/* declspec without variable declaration */
-# pragma warning( disable : 4091 )
-/* M$DN classes exporting STL members... */
-# pragma warning( disable : 4251 )
-/* "switch" without "case" (just "default") */
-# pragma warning( disable : 4065 )
-/* Exception Specifications! */
-# pragma warning (disable : 4290)
-
-// Windows requires explicit import and exporting of functions and classes.
-// While this is a pain to do sometimes, in large software development
-// projects, it is very usefull.
-# define GEM_EXPORT __declspec(dllexport)
-# define GEM_IMPORT __declspec(dllimport)
-
-# define GEM_DEPRECATED __declspec(deprecated)
-
-#elif defined __GNUC__
-# define GEM_EXPORT
-# define GEM_IMPORT
-
-# define GEM_DEPRECATED __attribute__ ((deprecated))
-
-#else
-/* unknown compiler */
-# warning set up compiler specific defines
-#endif
-
-
-
-
-#ifdef GEM_INTERNAL
-# define GEM_EXTERN GEM_EXPORT
-#else
-# define GEM_EXTERN GEM_IMPORT
-#endif
-
-#endif // for header file
+/*-----------------------------------------------------------------
+LOG
+ GEM - Graphics Environment for Multimedia
+
+ Export crap
+
+ Copyright (c) 1997-1999 Mark Danks. mark@danks.org
+ Copyright (c) Günther Geiger. geiger@epy.co.at
+ Copyright (c) 2001-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
+ For information on usage and redistribution, and for a DISCLAIMER OF ALL
+ WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
+
+-----------------------------------------------------------------*/
+
+#ifndef _INCLUDE__GEM_GEM_EXPORTDEF_H_
+#define _INCLUDE__GEM_GEM_EXPORTDEF_H_
+
+#if defined _MSC_VER
+/* turn of some warnings on vc-compilers */
+
+/* data conversion with possible loss of data */
+# pragma warning( disable : 4244 )
+/* identifier conversion with possible loss of data */
+# pragma warning( disable : 4305 )
+/* declspec without variable declaration */
+# pragma warning( disable : 4091 )
+/* M$DN classes exporting STL members... */
+# pragma warning( disable : 4251 )
+/* "switch" without "case" (just "default") */
+# pragma warning( disable : 4065 )
+/* Exception Specifications! */
+# pragma warning (disable : 4290)
+
+// Windows requires explicit import and exporting of functions and classes.
+// While this is a pain to do sometimes, in large software development
+// projects, it is very usefull.
+# define GEM_EXPORT __declspec(dllexport)
+# define GEM_IMPORT __declspec(dllimport)
+
+# define GEM_DEPRECATED __declspec(deprecated)
+
+#elif defined __GNUC__
+# define GEM_EXPORT
+# define GEM_IMPORT
+
+# define GEM_DEPRECATED __attribute__ ((deprecated))
+
+#else
+/* unknown compiler */
+# warning set up compiler specific defines
+#endif
+
+
+
+
+#ifdef GEM_INTERNAL
+# define GEM_EXTERN GEM_EXPORT
+#else
+# define GEM_EXTERN GEM_IMPORT
+#endif
+
+#endif // for header file
diff --git a/packages/noncvs/windows/extra/Gem/dev/Gem/Files.h b/packages/noncvs/windows/extra/Gem/dev/Gem/Files.h
index 39eb5032..312ec068 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Gem/Files.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Gem/Files.h
@@ -1,34 +1,34 @@
-/*-----------------------------------------------------------------
-LOG
- GEM - Graphics Environment for Multimedia
-
- - file handling with Gem
-
- Copyright (c) 2010-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
- For information on usage and redistribution, and for a DISCLAIMER OF ALL
- WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
-
------------------------------------------------------------------*/
-
-
-
-#ifndef _INCLUDE__GEM_GEM_FILES_H_
-#define _INCLUDE__GEM_GEM_FILES_H_
-
-#include <string>
-#include <vector>
-#include "Gem/ExportDef.h"
-
-namespace gem {
-
- namespace files {
-
- GEM_EXTERN std::vector<std::string>getFilenameListing(const std::string&pattern);
- GEM_EXTERN std::string expandEnv(const std::string&, bool bashfilename=false);
-
- GEM_EXTERN std::string getExtension(const std::string&filename, bool make_lowercase=false);
-
- };
-};
-
-#endif /* _INCLUDE__GEM_GEM_FILES_H_ */
+/*-----------------------------------------------------------------
+LOG
+ GEM - Graphics Environment for Multimedia
+
+ - file handling with Gem
+
+ Copyright (c) 2010-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
+ For information on usage and redistribution, and for a DISCLAIMER OF ALL
+ WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
+
+-----------------------------------------------------------------*/
+
+
+
+#ifndef _INCLUDE__GEM_GEM_FILES_H_
+#define _INCLUDE__GEM_GEM_FILES_H_
+
+#include <string>
+#include <vector>
+#include "Gem/ExportDef.h"
+
+namespace gem {
+
+ namespace files {
+
+ GEM_EXTERN std::vector<std::string>getFilenameListing(const std::string&pattern);
+ GEM_EXTERN std::string expandEnv(const std::string&, bool bashfilename=false);
+
+ GEM_EXTERN std::string getExtension(const std::string&filename, bool make_lowercase=false);
+
+ };
+};
+
+#endif /* _INCLUDE__GEM_GEM_FILES_H_ */
diff --git a/packages/noncvs/windows/extra/Gem/dev/Gem/GLStack.h b/packages/noncvs/windows/extra/Gem/dev/Gem/GLStack.h
index c8ef7bf2..6fb9412a 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Gem/GLStack.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Gem/GLStack.h
@@ -1,74 +1,74 @@
-/*-----------------------------------------------------------------
- LOG
- GEM - Graphics Environment for Multimedia
-
- handling of diverse openGL stacks
-
- Copyright (c) 1997-2000 Mark Danks. mark@danks.org
- Copyright (c) Günther Geiger. geiger@epy.co.at
- Copyright (c) 2001-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
- For information on usage and redistribution, and for a DISCLAIMER OF ALL
- WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
-
- -----------------------------------------------------------------*/
-#ifndef _INCLUDE__GEM_GEM_GLSTACK_H_
-#define _INCLUDE__GEM_GEM_GLSTACK_H_
-
-#include "Gem/ExportDef.h"
-
-#include <memory>
-
-namespace gem {
-class GEM_EXTERN GLStack {
- public:
- GLStack(bool haveValidContext=false);
- virtual ~GLStack(void);
-
- enum GemStackId { MODELVIEW, COLOR, TEXTURE, PROJECTION };
-
- /** push the given matrix to the stack if the maximum has not been reached
- * returns true on success and false otherwise (stack overflow)
- * NOTE: needs valid openGL context
- * NOTE: might change the current matrix mode; you have to manually reset it
- */
- bool push(enum GemStackId);
-
- /** pushes all matrices possible
- * NOTE: finishes in MODELVIEW matrix mode
- */
- void push(void);
-
- /** pop the given matrix from the stack if the maximum has not been reached
- * returns true on success and false otherwise (stack underflow)
- * NOTE: needs valid openGL context
- * NOTE: might change the current matrix mode; you have to manually reset it
- */
- bool pop(enum GemStackId);
- /** pops all matrices possible
- * NOTE: finishes in MODELVIEW matrix mode
- */
- void pop(void);
-
- /**
- * reset the maximum stack depth of the given stack
- * NOTE: needs valid openGL context
- */
- void reset(void);
- /**
- * reset the maximum stack depth of all stacks
- * returns the current stack depth (-1 on failure)
- * NOTE: needs valid openGL context
- */
- int reset(enum GemStackId);
-
- void print(void);
-
- private:
- class Data;
- std::auto_ptr<Data>data;
-};
-
-} /* namespace gem */
-
-
-#endif /* _INCLUDE__GEM_GEM_GLSTACK_H_ */
+/*-----------------------------------------------------------------
+ LOG
+ GEM - Graphics Environment for Multimedia
+
+ handling of diverse openGL stacks
+
+ Copyright (c) 1997-2000 Mark Danks. mark@danks.org
+ Copyright (c) Günther Geiger. geiger@epy.co.at
+ Copyright (c) 2001-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
+ For information on usage and redistribution, and for a DISCLAIMER OF ALL
+ WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
+
+ -----------------------------------------------------------------*/
+#ifndef _INCLUDE__GEM_GEM_GLSTACK_H_
+#define _INCLUDE__GEM_GEM_GLSTACK_H_
+
+#include "Gem/ExportDef.h"
+
+#include <memory>
+
+namespace gem {
+class GEM_EXTERN GLStack {
+ public:
+ GLStack(bool haveValidContext=false);
+ virtual ~GLStack(void);
+
+ enum GemStackId { MODELVIEW, COLOR, TEXTURE, PROJECTION };
+
+ /** push the given matrix to the stack if the maximum has not been reached
+ * returns true on success and false otherwise (stack overflow)
+ * NOTE: needs valid openGL context
+ * NOTE: might change the current matrix mode; you have to manually reset it
+ */
+ bool push(enum GemStackId);
+
+ /** pushes all matrices possible
+ * NOTE: finishes in MODELVIEW matrix mode
+ */
+ void push(void);
+
+ /** pop the given matrix from the stack if the maximum has not been reached
+ * returns true on success and false otherwise (stack underflow)
+ * NOTE: needs valid openGL context
+ * NOTE: might change the current matrix mode; you have to manually reset it
+ */
+ bool pop(enum GemStackId);
+ /** pops all matrices possible
+ * NOTE: finishes in MODELVIEW matrix mode
+ */
+ void pop(void);
+
+ /**
+ * reset the maximum stack depth of the given stack
+ * NOTE: needs valid openGL context
+ */
+ void reset(void);
+ /**
+ * reset the maximum stack depth of all stacks
+ * returns the current stack depth (-1 on failure)
+ * NOTE: needs valid openGL context
+ */
+ int reset(enum GemStackId);
+
+ void print(void);
+
+ private:
+ class Data;
+ std::auto_ptr<Data>data;
+};
+
+} /* namespace gem */
+
+
+#endif /* _INCLUDE__GEM_GEM_GLSTACK_H_ */
diff --git a/packages/noncvs/windows/extra/Gem/dev/Gem/GemGL.h b/packages/noncvs/windows/extra/Gem/dev/Gem/GemGL.h
index b36f8a28..deae3cc8 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Gem/GemGL.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Gem/GemGL.h
@@ -1,88 +1,88 @@
-/*
- * GemGL: openGL includes for GEM
- *
- * include this file if you want to include the
- * openGL-headers installed on your system
- *
- * tasks:
- *
- * + this file hides the peculiarities of the various platforms
- * (like "OpenGL/gl.h" vs "GL/gl.h")
- *
- * + define some pre-processor defines that are missing in the GL-headers
- *
- * + try to exclude parts of the GL-headers based on GemConfig.h
- *
- */
-
-
-#ifndef _INCLUDE__GEM_GEM_GEMGL_H_
-#define _INCLUDE__GEM_GEM_GEMGL_H_
-
-#include "Gem/ExportDef.h"
-
-// I hate Microsoft...I shouldn't have to do this!
-#ifdef _WIN32
-# include <windows.h>
-#endif
-
-#ifdef GLEW_MX
-# define GEM_MULTICONTEXT
-#endif
-
-#define GLEW_STATIC
-#include "Gem/glew.h"
-
-#ifdef __APPLE__
-# include <OpenGL/OpenGL.h>
-#elif defined _WIN32
-# include "Gem/wglew.h"
-#elif defined __linux__ || defined HAVE_GL_GLX_H
-# include "Gem/glxew.h"
-#endif /* OS */
-
-#ifdef GEM_MULTICONTEXT
-GEM_EXTERN GLEWContext*glewGetContext(void);
-# ifdef __APPLE__
-# elif defined _WIN32
-GEM_EXTERN WGLEWContext*wglewGetContext(void);
-# elif defined __linux__
-GEM_EXTERN GLXEWContext*glxewGetContext(void);
-# endif
-
-#endif /* GEM_MULTICONTEXT */
-
-#ifndef GL_YUV422_GEM
-# define GL_YCBCR_422_GEM GL_YCBCR_422_APPLE
-# define GL_YUV422_GEM GL_YCBCR_422_GEM
-#endif /* GL_YUV422_GEM */
-
-
-#ifndef GL_RGBA_GEM
-# ifdef __APPLE__
-# define GL_RGBA_GEM GL_BGRA_EXT
-# else
-# define GL_RGBA_GEM GL_RGBA
-# endif
-#endif /* GL_RGBA_GEM */
-
-/* default draw-style */
-#ifndef GL_DEFAULT_GEM
-# define GL_DEFAULT_GEM 0xFFFF
-#endif
-
-
-
-/* uäh: in OSX10.3 we only have CGL-1.1 and
- * all the functions are using "long*" rather than "GLint*")
- * only CGL-1.2 got it right
- */
-#ifdef CGL_VERSION_1_0
-# ifdef CGL_VERSION_1_2
-# define GemCGLint GLint
-# else
-# define GemCGLint long
-# endif
-#endif
-
-#endif /* _INCLUDE__GEM_GEM_GEMGL_H_ */
+/*
+ * GemGL: openGL includes for GEM
+ *
+ * include this file if you want to include the
+ * openGL-headers installed on your system
+ *
+ * tasks:
+ *
+ * + this file hides the peculiarities of the various platforms
+ * (like "OpenGL/gl.h" vs "GL/gl.h")
+ *
+ * + define some pre-processor defines that are missing in the GL-headers
+ *
+ * + try to exclude parts of the GL-headers based on GemConfig.h
+ *
+ */
+
+
+#ifndef _INCLUDE__GEM_GEM_GEMGL_H_
+#define _INCLUDE__GEM_GEM_GEMGL_H_
+
+#include "Gem/ExportDef.h"
+
+// I hate Microsoft...I shouldn't have to do this!
+#ifdef _WIN32
+# include <windows.h>
+#endif
+
+#ifdef GLEW_MX
+# define GEM_MULTICONTEXT
+#endif
+
+#define GLEW_STATIC
+#include "Gem/glew.h"
+
+#ifdef __APPLE__
+# include <OpenGL/OpenGL.h>
+#elif defined _WIN32
+# include "Gem/wglew.h"
+#elif defined(__linux__) || defined(__FreeBSD_kernel__)
+# include "Gem/glxew.h"
+#endif /* OS */
+
+#ifdef GEM_MULTICONTEXT
+GEM_EXTERN GLEWContext*glewGetContext(void);
+# ifdef __APPLE__
+# elif defined _WIN32
+GEM_EXTERN WGLEWContext*wglewGetContext(void);
+# elif defined __linux__ || defined HAVE_GL_GLX_H
+GEM_EXTERN GLXEWContext*glxewGetContext(void);
+# endif
+
+#endif /* GEM_MULTICONTEXT */
+
+#ifndef GL_YUV422_GEM
+# define GL_YCBCR_422_GEM GL_YCBCR_422_APPLE
+# define GL_YUV422_GEM GL_YCBCR_422_GEM
+#endif /* GL_YUV422_GEM */
+
+
+#ifndef GL_RGBA_GEM
+# ifdef __APPLE__
+# define GL_RGBA_GEM GL_BGRA_EXT
+# else
+# define GL_RGBA_GEM GL_RGBA
+# endif
+#endif /* GL_RGBA_GEM */
+
+/* default draw-style */
+#ifndef GL_DEFAULT_GEM
+# define GL_DEFAULT_GEM 0xFFFF
+#endif
+
+
+
+/* uäh: in OSX10.3 we only have CGL-1.1 and
+ * all the functions are using "long*" rather than "GLint*")
+ * only CGL-1.2 got it right
+ */
+#ifdef CGL_VERSION_1_0
+# ifdef CGL_VERSION_1_2
+# define GemCGLint GLint
+# else
+# define GemCGLint long
+# endif
+#endif
+
+#endif /* _INCLUDE__GEM_GEM_GEMGL_H_ */
diff --git a/packages/noncvs/windows/extra/Gem/dev/Gem/Image.h b/packages/noncvs/windows/extra/Gem/dev/Gem/Image.h
index 1b4cf70b..1c421c72 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Gem/Image.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Gem/Image.h
@@ -1,284 +1,284 @@
-/*-----------------------------------------------------------------
-LOG
- GEM - Graphics Environment for Multimedia
-
- GemPixUtil.h
- - contains image functions for pix objects
- - part of GEM
-
- Copyright (c) 1997-1999 Mark Danks. mark@danks.org
- Copyright (c) Günther Geiger. geiger@epy.co.at
- Copyright (c) 2001-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
- For information on usage and redistribution, and for a DISCLAIMER OF ALL
- WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
-
------------------------------------------------------------------*/
-
-#ifndef _INCLUDE__GEM_GEM_IMAGE_H_
-#define _INCLUDE__GEM_GEM_IMAGE_H_
-
-#include "Gem/GemGL.h"
-
-#include <string.h>
-#include <stdlib.h>
-
-// basic helper functions, like CLAMP and powerOfTwo
-#include "Utils/Functions.h"
-
-
-///////////////////////////////////////////////////////////////////////////////
-// Color component defines
-//
-// These should be used to reference the various color channels
-///////////////////////////////////////////////////////////////////////////////
-
-/* RGBA */
-
-#if GL_RGBA_GEM == GL_RGBA
-const int chRed = 0;
-const int chGreen = 1;
-const int chBlue = 2;
-const int chAlpha = 3;
-#else
-const int chAlpha = 0;
-const int chRed = 1;
-const int chGreen = 2;
-const int chBlue = 3;
-#endif
-
-
-/* Gray */
-const int chGray = 0;
-
-/* YUV422 */
-const int chU = 0;
-const int chY0 = 1;
-const int chV = 2;
-const int chY1 = 3;
-
-/*-----------------------------------------------------------------
--------------------------------------------------------------------
-CLASS
- imageStruct
-
- The basic image structure
-
------------------------------------------------------------------*/
-// we now have a class "imageStruct";
-// since i need to compile some of the sources with an older version of Gem
-// there is a new define here:
-#define IMAGE_CLASS
-
-struct GEM_EXTERN imageStruct
-{
- imageStruct(void);
- imageStruct(const imageStruct&);
- virtual ~imageStruct(void);
-
- virtual void info(void);
- //////////
- // columns
- virtual unsigned char* allocate(size_t size);
- virtual unsigned char* allocate(void);
-
- // if we have allocated some space already, only re-allocate when needed.
- virtual unsigned char* reallocate(size_t size);
- virtual unsigned char* reallocate(void);
-
- // delete the buffer (if it is ours)
- virtual void clear(void);
-
-
- //////////
- // dimensions of the image
- GLint xsize;
- GLint ysize;
-
- //////////
- // (average) width of 1 pixel (LUMINANCE = 1, RGBA = 4, YUV = 2)
- GLint csize;
-
- //////////
- // data type - always GL_UNSIGNED_BYTE (except for OS X)
- GLenum type;
-
- //////////
- // the format - either GL_RGBA, GL_LUMINANCE
- // or GL_YCBCR_422_GEM (which is on mac-computers GL_YCBCR_422_APPLE)
- GLenum format;
-
- //////////
- // is this owned by us (? what about underscores ?)
- int notowned;
-
- //////////
- // gets a pixel
- /* X,Y are the coordinates
- * C is the offset in the interleaved data (like chRed==0 for red)
- * you should use chRed instead of 0 (because it might not be 0)
- */
- // heck, why are X&Y swapped ?? (JMZ)
- inline unsigned char GetPixel(int Y, int X, int C) const
- {
- return(data[clampFunc(Y, 0, ysize-1) * xsize * csize + clampFunc(X, 0, xsize-1) * csize + C]); }
-
- //////////
- // sets a pixel
- /* while X and Y should be clear (coordinates),
- * C is the offset (like chRed==0 for red).
- * VAL is the value to set.
- */
- inline void SetPixel(int Y, int X, int C, unsigned char VAL)
- { data[clampFunc(Y, 0, ysize-1) * xsize * csize + clampFunc(X, 0, xsize-1) * csize + C] = VAL; }
-
-
- /////////
- // gets the color of a pixel
- virtual void getRGB(int X, int Y, unsigned char*r, unsigned char*g, unsigned char*b, unsigned char*a=NULL) const;
- virtual void getGrey(int X, int Y, unsigned char*g) const;
- virtual void getYUV(int X, int Y, unsigned char*y, unsigned char*u, unsigned char*v) const;
-
- /* following will set the whole image-data to either black or white
- * the size of the image-data is NOT xsize*ysize*csize but datasize
- * this is mostly slower
- * i have put the datasize into private (like pdata) (bad idea?)
- */
- virtual void setBlack(void);
- virtual void setWhite(void);
-
- /* certain formats are bound to certain csizes,
- * it's quite annoying to have to think again and again (ok, not much thinking)
- * so we just give the format (like GL_LUMINANCE)
- * and it will set the image format to this format
- * and set and return the correct csize (like 1)
- * if no format is given the current format is used
- */
- virtual int setCsizeByFormat(int format);
- virtual int setCsizeByFormat(void);
-
-
- /* various copy functions
- * sometimes we want to copy the whole image (including pixel-data),
- * but often it is enough to just copy the meta-data (without pixel-data)
- * into a new imageStruct
- */
- virtual void copy2Image(imageStruct *to) const;
- virtual void copy2ImageStruct(imageStruct *to) const; // copy the imageStruct (but not the actual data)
- /* this is a sort of better copy2Image,
- * which only copies the imageStruct-data if it is needed
- */
- virtual void refreshImage(imageStruct *to) const;
-
-
- /* inplace swapping Red and Blue channel */
- virtual void swapRedBlue(void);
-
- ///////////////////////////////////////////////////////////////////////////////
- // acquiring data including colour-transformations
- // should be accelerated if possible
- /* i wonder whether this is the right place to put these routines
- * they should be stored somewhere centrally
- * (because maybe a lot of objects would like them) (like [pix_rgba]...)
- * but it might be better to put them (the actual conversion routines) into
- * separate files (a separate library?)
- * orgdata points to the actual data in the given format
- * the datasize will be read from image.xsize, image.ysize
- * the dest-format will be given by image.format
- * this is maybe not really clean (the meta-data is stored in the destination,
- * while the source has no meta-data of its own)
- */
- virtual void convertTo (imageStruct*to, GLenum dest_format=0) const;
- virtual void convertFrom(const imageStruct*from, GLenum dest_format=0);
-
- virtual void fromRGB (const unsigned char* orgdata);
- virtual void fromRGBA (const unsigned char* orgdata);
- virtual void fromBGR (const unsigned char* orgdata);
- virtual void fromBGRA (const unsigned char* orgdata);
- virtual void fromRGB16 (const unsigned char* orgdata);
- virtual void fromABGR (const unsigned char* orgdata);
- virtual void fromARGB (const unsigned char* orgdata);
- virtual void fromGray (const unsigned char* orgdata);
- virtual void fromGray (short* orgdata);
- virtual void fromUYVY (const unsigned char* orgdata);
- virtual void fromYUY2 (const unsigned char* orgdata); // YUYV
- virtual void fromYVYU (const unsigned char* orgdata);
- /* planar YUV420: this is rather generic and not really YV12 only */
- virtual void fromYV12 (const unsigned char* Y, const unsigned char*U, const unsigned char*V);
- /* assume that the planes are near each other: YVU */
- virtual void fromYV12 (const unsigned char* orgdata);
- /* assume that the planes are near each other: YVU */
- virtual void fromYU12 (const unsigned char* orgdata);
- /* overloading the above two in order to accept pdp YV12 packets */
- virtual void fromYV12 (const short* Y, const short*U, const short*V);
- virtual void fromYV12 (const short* orgdata);
-
- /* aliases */
- virtual void fromYUV422 (const unsigned char* orgdata){fromUYVY(orgdata);}
- virtual void fromYUV420P(const unsigned char* orgdata){fromYV12(orgdata);}
- virtual void fromYUV420P(const unsigned char*Y,const unsigned char*U,const unsigned char*V){fromYV12(Y,U,V);}
-
- // "data" points to the image.
- // the memory could(!) be reserved by this class or someone else
- // "notowned" should be set to "1", if "data" points to foreign memory
- // "data" is not freed directly, when the destructor is called
- unsigned char *data; // the pointer to the data
- private:
- // "pdata" is the private data, and is the memory reserved by this class
- // this data is freed when the destructor is called
- unsigned char *pdata;
- // "datasize" is the size of data reserved at "pdata"
- size_t datasize;
-
- public:
- //////////
- // true if the image is flipped horizontally (origin is upper-left)
- // false if the image is openGL-conformant (origin is lower-left)
- GLboolean upsidedown;
-
- /* make the image orientation openGL-conformant */
- virtual void fixUpDown(void);
-
- imageStruct& operator=(const imageStruct&);
-};
-
-/*-----------------------------------------------------------------
--------------------------------------------------------------------
-CLASS
- pixBlock
-
- The pix block structure
-
------------------------------------------------------------------*/
-struct GEM_EXTERN pixBlock
-{
- pixBlock();
-
- //////////
- // the block's image
- imageStruct image;
-
- //////////
- // is this a newimage since last time?
- // ie, has it been refreshed
- bool newimage;
-
- //////////
- // keeps track of when new films are loaded
- // useful for rectangle_textures on OSX
- bool newfilm;
-};
-
-///////////////////////////////////////////////////////////////////////////////
-// imageStruct utility functions
-//
-///////////////////////////////////////////////////////////////////////////////
-//////////
-// copies all of the data over and mallocs memory
-GEM_EXTERN extern void copy2Image(imageStruct *to, imageStruct *from);
-
-//////////
-// assumes that it only has to refresh the data
-GEM_EXTERN extern void refreshImage(imageStruct *to, imageStruct *from);
-
-GEM_EXTERN extern int getPixFormat(char*);
-#endif // GEMPIXUTIL_H_
+/*-----------------------------------------------------------------
+LOG
+ GEM - Graphics Environment for Multimedia
+
+ GemPixUtil.h
+ - contains image functions for pix objects
+ - part of GEM
+
+ Copyright (c) 1997-1999 Mark Danks. mark@danks.org
+ Copyright (c) Günther Geiger. geiger@epy.co.at
+ Copyright (c) 2001-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
+ For information on usage and redistribution, and for a DISCLAIMER OF ALL
+ WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
+
+-----------------------------------------------------------------*/
+
+#ifndef _INCLUDE__GEM_GEM_IMAGE_H_
+#define _INCLUDE__GEM_GEM_IMAGE_H_
+
+#include "Gem/GemGL.h"
+
+#include <string.h>
+#include <stdlib.h>
+
+// basic helper functions, like CLAMP and powerOfTwo
+#include "Utils/Functions.h"
+
+
+///////////////////////////////////////////////////////////////////////////////
+// Color component defines
+//
+// These should be used to reference the various color channels
+///////////////////////////////////////////////////////////////////////////////
+
+/* RGBA */
+
+#if GL_RGBA_GEM == GL_RGBA
+const int chRed = 0;
+const int chGreen = 1;
+const int chBlue = 2;
+const int chAlpha = 3;
+#else
+const int chAlpha = 0;
+const int chRed = 1;
+const int chGreen = 2;
+const int chBlue = 3;
+#endif
+
+
+/* Gray */
+const int chGray = 0;
+
+/* YUV422 */
+const int chU = 0;
+const int chY0 = 1;
+const int chV = 2;
+const int chY1 = 3;
+
+/*-----------------------------------------------------------------
+-------------------------------------------------------------------
+CLASS
+ imageStruct
+
+ The basic image structure
+
+-----------------------------------------------------------------*/
+// we now have a class "imageStruct";
+// since i need to compile some of the sources with an older version of Gem
+// there is a new define here:
+#define IMAGE_CLASS
+
+struct GEM_EXTERN imageStruct
+{
+ imageStruct(void);
+ imageStruct(const imageStruct&);
+ virtual ~imageStruct(void);
+
+ virtual void info(void);
+ //////////
+ // columns
+ virtual unsigned char* allocate(size_t size);
+ virtual unsigned char* allocate(void);
+
+ // if we have allocated some space already, only re-allocate when needed.
+ virtual unsigned char* reallocate(size_t size);
+ virtual unsigned char* reallocate(void);
+
+ // delete the buffer (if it is ours)
+ virtual void clear(void);
+
+
+ //////////
+ // dimensions of the image
+ GLint xsize;
+ GLint ysize;
+
+ //////////
+ // (average) width of 1 pixel (LUMINANCE = 1, RGBA = 4, YUV = 2)
+ GLint csize;
+
+ //////////
+ // data type - always GL_UNSIGNED_BYTE (except for OS X)
+ GLenum type;
+
+ //////////
+ // the format - either GL_RGBA, GL_LUMINANCE
+ // or GL_YCBCR_422_GEM (which is on mac-computers GL_YCBCR_422_APPLE)
+ GLenum format;
+
+ //////////
+ // is this owned by us (? what about underscores ?)
+ int notowned;
+
+ //////////
+ // gets a pixel
+ /* X,Y are the coordinates
+ * C is the offset in the interleaved data (like chRed==0 for red)
+ * you should use chRed instead of 0 (because it might not be 0)
+ */
+ // heck, why are X&Y swapped ?? (JMZ)
+ inline unsigned char GetPixel(int Y, int X, int C) const
+ {
+ return(data[clampFunc(Y, 0, ysize-1) * xsize * csize + clampFunc(X, 0, xsize-1) * csize + C]); }
+
+ //////////
+ // sets a pixel
+ /* while X and Y should be clear (coordinates),
+ * C is the offset (like chRed==0 for red).
+ * VAL is the value to set.
+ */
+ inline void SetPixel(int Y, int X, int C, unsigned char VAL)
+ { data[clampFunc(Y, 0, ysize-1) * xsize * csize + clampFunc(X, 0, xsize-1) * csize + C] = VAL; }
+
+
+ /////////
+ // gets the color of a pixel
+ virtual void getRGB(int X, int Y, unsigned char*r, unsigned char*g, unsigned char*b, unsigned char*a=NULL) const;
+ virtual void getGrey(int X, int Y, unsigned char*g) const;
+ virtual void getYUV(int X, int Y, unsigned char*y, unsigned char*u, unsigned char*v) const;
+
+ /* following will set the whole image-data to either black or white
+ * the size of the image-data is NOT xsize*ysize*csize but datasize
+ * this is mostly slower
+ * i have put the datasize into private (like pdata) (bad idea?)
+ */
+ virtual void setBlack(void);
+ virtual void setWhite(void);
+
+ /* certain formats are bound to certain csizes,
+ * it's quite annoying to have to think again and again (ok, not much thinking)
+ * so we just give the format (like GL_LUMINANCE)
+ * and it will set the image format to this format
+ * and set and return the correct csize (like 1)
+ * if no format is given the current format is used
+ */
+ virtual int setCsizeByFormat(int format);
+ virtual int setCsizeByFormat(void);
+
+
+ /* various copy functions
+ * sometimes we want to copy the whole image (including pixel-data),
+ * but often it is enough to just copy the meta-data (without pixel-data)
+ * into a new imageStruct
+ */
+ virtual void copy2Image(imageStruct *to) const;
+ virtual void copy2ImageStruct(imageStruct *to) const; // copy the imageStruct (but not the actual data)
+ /* this is a sort of better copy2Image,
+ * which only copies the imageStruct-data if it is needed
+ */
+ virtual void refreshImage(imageStruct *to) const;
+
+
+ /* inplace swapping Red and Blue channel */
+ virtual void swapRedBlue(void);
+
+ ///////////////////////////////////////////////////////////////////////////////
+ // acquiring data including colour-transformations
+ // should be accelerated if possible
+ /* i wonder whether this is the right place to put these routines
+ * they should be stored somewhere centrally
+ * (because maybe a lot of objects would like them) (like [pix_rgba]...)
+ * but it might be better to put them (the actual conversion routines) into
+ * separate files (a separate library?)
+ * orgdata points to the actual data in the given format
+ * the datasize will be read from image.xsize, image.ysize
+ * the dest-format will be given by image.format
+ * this is maybe not really clean (the meta-data is stored in the destination,
+ * while the source has no meta-data of its own)
+ */
+ virtual void convertTo (imageStruct*to, GLenum dest_format=0) const;
+ virtual void convertFrom(const imageStruct*from, GLenum dest_format=0);
+
+ virtual void fromRGB (const unsigned char* orgdata);
+ virtual void fromRGBA (const unsigned char* orgdata);
+ virtual void fromBGR (const unsigned char* orgdata);
+ virtual void fromBGRA (const unsigned char* orgdata);
+ virtual void fromRGB16 (const unsigned char* orgdata);
+ virtual void fromABGR (const unsigned char* orgdata);
+ virtual void fromARGB (const unsigned char* orgdata);
+ virtual void fromGray (const unsigned char* orgdata);
+ virtual void fromGray (short* orgdata);
+ virtual void fromUYVY (const unsigned char* orgdata);
+ virtual void fromYUY2 (const unsigned char* orgdata); // YUYV
+ virtual void fromYVYU (const unsigned char* orgdata);
+ /* planar YUV420: this is rather generic and not really YV12 only */
+ virtual void fromYV12 (const unsigned char* Y, const unsigned char*U, const unsigned char*V);
+ /* assume that the planes are near each other: YVU */
+ virtual void fromYV12 (const unsigned char* orgdata);
+ /* assume that the planes are near each other: YVU */
+ virtual void fromYU12 (const unsigned char* orgdata);
+ /* overloading the above two in order to accept pdp YV12 packets */
+ virtual void fromYV12 (const short* Y, const short*U, const short*V);
+ virtual void fromYV12 (const short* orgdata);
+
+ /* aliases */
+ virtual void fromYUV422 (const unsigned char* orgdata){fromUYVY(orgdata);}
+ virtual void fromYUV420P(const unsigned char* orgdata){fromYV12(orgdata);}
+ virtual void fromYUV420P(const unsigned char*Y,const unsigned char*U,const unsigned char*V){fromYV12(Y,U,V);}
+
+ // "data" points to the image.
+ // the memory could(!) be reserved by this class or someone else
+ // "notowned" should be set to "1", if "data" points to foreign memory
+ // "data" is not freed directly, when the destructor is called
+ unsigned char *data; // the pointer to the data
+ private:
+ // "pdata" is the private data, and is the memory reserved by this class
+ // this data is freed when the destructor is called
+ unsigned char *pdata;
+ // "datasize" is the size of data reserved at "pdata"
+ size_t datasize;
+
+ public:
+ //////////
+ // true if the image is flipped horizontally (origin is upper-left)
+ // false if the image is openGL-conformant (origin is lower-left)
+ GLboolean upsidedown;
+
+ /* make the image orientation openGL-conformant */
+ virtual void fixUpDown(void);
+
+ imageStruct& operator=(const imageStruct&);
+};
+
+/*-----------------------------------------------------------------
+-------------------------------------------------------------------
+CLASS
+ pixBlock
+
+ The pix block structure
+
+-----------------------------------------------------------------*/
+struct GEM_EXTERN pixBlock
+{
+ pixBlock();
+
+ //////////
+ // the block's image
+ imageStruct image;
+
+ //////////
+ // is this a newimage since last time?
+ // ie, has it been refreshed
+ bool newimage;
+
+ //////////
+ // keeps track of when new films are loaded
+ // useful for rectangle_textures on OSX
+ bool newfilm;
+};
+
+///////////////////////////////////////////////////////////////////////////////
+// imageStruct utility functions
+//
+///////////////////////////////////////////////////////////////////////////////
+//////////
+// copies all of the data over and mallocs memory
+GEM_EXTERN extern void copy2Image(imageStruct *to, imageStruct *from);
+
+//////////
+// assumes that it only has to refresh the data
+GEM_EXTERN extern void refreshImage(imageStruct *to, imageStruct *from);
+
+GEM_EXTERN extern int getPixFormat(char*);
+#endif // GEMPIXUTIL_H_
diff --git a/packages/noncvs/windows/extra/Gem/dev/Gem/ImageIO.h b/packages/noncvs/windows/extra/Gem/dev/Gem/ImageIO.h
index 73c2415d..beeed67f 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Gem/ImageIO.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Gem/ImageIO.h
@@ -1,153 +1,153 @@
-/*-----------------------------------------------------------------
-LOG
- GEM - Graphics Environment for Multimedia
-
- GemPixImageLoad.h
- - code to load in and resize an image
- - part of GEM
-
- Copyright (c) 1997-1999 Mark Danks. mark@danks.org
- Copyright (c) Günther Geiger. geiger@epy.co.at
- Copyright (c) 2001-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
- For information on usage and redistribution, and for a DISCLAIMER OF ALL
- WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
-
------------------------------------------------------------------*/
-
-#ifndef _INCLUDE__GEM_GEM_IMAGEIO_H_
-#define _INCLUDE__GEM_GEM_IMAGEIO_H_
-
-#include "Gem/ExportDef.h"
-
-struct imageStruct;
-
-#include <string>
-
-
-// image2mem() reads an image file into memory
-// and a pointer to an imageStruct
-// NULL = failure
-//
-// format:
-// returns either GL_LUMINANCE or GL_RGBA
-//
-// automatically allocates the memory for the user
-//
-// This can read TIFF, SGI, and JPG images
-//
-namespace gem {
- class Properties;
- namespace image {
- GEM_EXTERN class load {
- public:
- /**
- * loads an image (given as 'filename') synchronously
- * the function blocks until the image is loaded (in which case it returns TRUE)
- * of the image-loading completely failed (in which case it returns FALSE)
- *
- * the loaded image is stored in 'img'
- * 'props' holds a list of additional image properties discovered during loading
- */
- static bool sync(const std::string filename,
- imageStruct&img,
- Properties&props);
-
-
-
- typedef unsigned int id_t;
- static const id_t IMMEDIATE;
- static const id_t INVALID;
-
- /* the callback used for asynchronous image loading
- * userdata is is the pointer supplied when calling async();
- * id is the ID returned by async()
- * img holds a reference to the newly loaded image
- * the image is allocated by the loder, but
- * the callback (you!) is responsible for freeing the image
- * once it is no more needed
- * if image loading failed, img is set to NULL
- * props holds a list of additional image properties discovered during loading
- *
- * currently (with Pd being the only RTE),
- * the callback will always be called from within the main thread
- *
- * the callback might be called directly from within async(),
- * in which case the ID given in the callback and returned by async()
- * is IMMEDIATE
- */
- typedef void (*callback)(void *userdata,
- id_t ID,
- imageStruct*img,
- const Properties&props);
-
- /* loads an image (given as 'filename') asynchronously
- * image loading is done in a separate thread (if possible);
- * when the image is loaded, the callback 'cb' is called with the new image
- *
- * this function returns an ID which is also passed to the callback function,
- * so the caller can identify a certain request (e.g. if several images have been
- * queued for loading before the 1st one was successfully returned;
- *
- * the image might get loaded (and the cb called) before the call to loadAsync()
- * has finished, in which case IMMEDIATE is returned (and used in the CB)
- *
- * if the image cannot be loaded at all, INVALID is returned
- * (and no callback will ever be called)
- *
- */
- static bool async(callback cb,
- void*userdata,
- const std::string filename,
- id_t&ID
- );
-
- /* cancels asynchronous loading of an image
- * removes the given ID (as returned by loadAsync()) from the loader queue
- * returns TRUE if item could be removed, or FALSE if no item ID is in the queue
- *
- * there is no point in cancel()ing an IMMEDIATE or ILLEGAL id
- */
- static bool cancel(id_t ID);
-
- /* load an image in a synchronous way (that is argument compatible with async())
- */
- static bool sync(callback cb,
- void*userdata,
- const std::string filename,
- id_t&ID);
-
- /*
- * deliver all loaded images not delivered yet
- */
- static void poll(void);
-
- /*
- * set asynch loading to "polling" mode
- * in "polling" mode, the caller has to call 'poll()' manually in order to get any loaded images delivered
- * in "pushing" mode this is done automatically (but might hang with current Pd)
- */
- static bool setPolling(bool);
-
-
-};};};
-
-/* legacy */
-GEM_EXTERN extern imageStruct *image2mem(const char *filename);
-
-
-// image2mem() reads an image file into memory
-// and a pointer to an imageStruct
-// NULL = failure
-//
-// format:
-// returns either GL_LUMINANCE or GL_RGBA
-//
-// automatically allocates the memory for the user
-//
-// This can write TIFF, JPG and other images (depending on which backends are available
-// legacy: type=0 -> TIFF; type>0 -> JPEG and (quality:=type)
-//
-GEM_EXTERN extern int mem2image(imageStruct *image, const char *filename, const int type);
-
-
-#endif
+/*-----------------------------------------------------------------
+LOG
+ GEM - Graphics Environment for Multimedia
+
+ GemPixImageLoad.h
+ - code to load in and resize an image
+ - part of GEM
+
+ Copyright (c) 1997-1999 Mark Danks. mark@danks.org
+ Copyright (c) Günther Geiger. geiger@epy.co.at
+ Copyright (c) 2001-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
+ For information on usage and redistribution, and for a DISCLAIMER OF ALL
+ WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
+
+-----------------------------------------------------------------*/
+
+#ifndef _INCLUDE__GEM_GEM_IMAGEIO_H_
+#define _INCLUDE__GEM_GEM_IMAGEIO_H_
+
+#include "Gem/ExportDef.h"
+
+struct imageStruct;
+
+#include <string>
+
+
+// image2mem() reads an image file into memory
+// and a pointer to an imageStruct
+// NULL = failure
+//
+// format:
+// returns either GL_LUMINANCE or GL_RGBA
+//
+// automatically allocates the memory for the user
+//
+// This can read TIFF, SGI, and JPG images
+//
+namespace gem {
+ class Properties;
+ namespace image {
+ GEM_EXTERN class load {
+ public:
+ /**
+ * loads an image (given as 'filename') synchronously
+ * the function blocks until the image is loaded (in which case it returns TRUE)
+ * of the image-loading completely failed (in which case it returns FALSE)
+ *
+ * the loaded image is stored in 'img'
+ * 'props' holds a list of additional image properties discovered during loading
+ */
+ static bool sync(const std::string filename,
+ imageStruct&img,
+ Properties&props);
+
+
+
+ typedef unsigned int id_t;
+ static const id_t IMMEDIATE;
+ static const id_t INVALID;
+
+ /* the callback used for asynchronous image loading
+ * userdata is is the pointer supplied when calling async();
+ * id is the ID returned by async()
+ * img holds a reference to the newly loaded image
+ * the image is allocated by the loder, but
+ * the callback (you!) is responsible for freeing the image
+ * once it is no more needed
+ * if image loading failed, img is set to NULL
+ * props holds a list of additional image properties discovered during loading
+ *
+ * currently (with Pd being the only RTE),
+ * the callback will always be called from within the main thread
+ *
+ * the callback might be called directly from within async(),
+ * in which case the ID given in the callback and returned by async()
+ * is IMMEDIATE
+ */
+ typedef void (*callback)(void *userdata,
+ id_t ID,
+ imageStruct*img,
+ const Properties&props);
+
+ /* loads an image (given as 'filename') asynchronously
+ * image loading is done in a separate thread (if possible);
+ * when the image is loaded, the callback 'cb' is called with the new image
+ *
+ * this function returns an ID which is also passed to the callback function,
+ * so the caller can identify a certain request (e.g. if several images have been
+ * queued for loading before the 1st one was successfully returned;
+ *
+ * the image might get loaded (and the cb called) before the call to loadAsync()
+ * has finished, in which case IMMEDIATE is returned (and used in the CB)
+ *
+ * if the image cannot be loaded at all, INVALID is returned
+ * (and no callback will ever be called)
+ *
+ */
+ static bool async(callback cb,
+ void*userdata,
+ const std::string filename,
+ id_t&ID
+ );
+
+ /* cancels asynchronous loading of an image
+ * removes the given ID (as returned by loadAsync()) from the loader queue
+ * returns TRUE if item could be removed, or FALSE if no item ID is in the queue
+ *
+ * there is no point in cancel()ing an IMMEDIATE or ILLEGAL id
+ */
+ static bool cancel(id_t ID);
+
+ /* load an image in a synchronous way (that is argument compatible with async())
+ */
+ static bool sync(callback cb,
+ void*userdata,
+ const std::string filename,
+ id_t&ID);
+
+ /*
+ * deliver all loaded images not delivered yet
+ */
+ static void poll(void);
+
+ /*
+ * set asynch loading to "polling" mode
+ * in "polling" mode, the caller has to call 'poll()' manually in order to get any loaded images delivered
+ * in "pushing" mode this is done automatically (but might hang with current Pd)
+ */
+ static bool setPolling(bool);
+
+
+};};};
+
+/* legacy */
+GEM_EXTERN extern imageStruct *image2mem(const char *filename);
+
+
+// image2mem() reads an image file into memory
+// and a pointer to an imageStruct
+// NULL = failure
+//
+// format:
+// returns either GL_LUMINANCE or GL_RGBA
+//
+// automatically allocates the memory for the user
+//
+// This can write TIFF, JPG and other images (depending on which backends are available
+// legacy: type=0 -> TIFF; type>0 -> JPEG and (quality:=type)
+//
+GEM_EXTERN extern int mem2image(imageStruct *image, const char *filename, const int type);
+
+
+#endif
diff --git a/packages/noncvs/windows/extra/Gem/dev/Gem/Loaders.h b/packages/noncvs/windows/extra/Gem/dev/Gem/Loaders.h
index 57bfc615..993c8613 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Gem/Loaders.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Gem/Loaders.h
@@ -1,25 +1,25 @@
-/*-----------------------------------------------------------------
-LOG
- GEM - Graphics Environment for Multimedia
-
- - registers a loader with Pd
-
- Copyright (c) 1997-1999 Mark Danks. mark@danks.org
- Copyright (c) G-bünther Geiger. geiger@epy.co.at-A
- Copyright (c) 2001-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
- For information on usage and redistribution, and for a DISCLAIMER OF ALL
- WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
-
------------------------------------------------------------------*/
-
-#ifndef _INCLUDE__GEM_GEM_LOADERS_H_
-#define _INCLUDE__GEM_GEM_LOADERS_H_
-
-#include "m_pd.h"
-
-extern "C" {
- typedef int (*gem_loader_t)(t_canvas *canvas, char *classname);
- void gem_register_loader(gem_loader_t loader);
-}
-
-#endif
+/*-----------------------------------------------------------------
+LOG
+ GEM - Graphics Environment for Multimedia
+
+ - registers a loader with Pd
+
+ Copyright (c) 1997-1999 Mark Danks. mark@danks.org
+ Copyright (c) G-bünther Geiger. geiger@epy.co.at-A
+ Copyright (c) 2001-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
+ For information on usage and redistribution, and for a DISCLAIMER OF ALL
+ WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
+
+-----------------------------------------------------------------*/
+
+#ifndef _INCLUDE__GEM_GEM_LOADERS_H_
+#define _INCLUDE__GEM_GEM_LOADERS_H_
+
+#include "m_pd.h"
+
+extern "C" {
+ typedef int (*gem_loader_t)(t_canvas *canvas, char *classname);
+ void gem_register_loader(gem_loader_t loader);
+}
+
+#endif
diff --git a/packages/noncvs/windows/extra/Gem/dev/Gem/Manager.h b/packages/noncvs/windows/extra/Gem/dev/Gem/Manager.h
index e3811c65..03f5847e 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Gem/Manager.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Gem/Manager.h
@@ -1,250 +1,250 @@
-/*-----------------------------------------------------------------
- LOG
- GEM - Graphics Environment for Multimedia
-
- The base functions and structures
- Also includes gemwin header file
-
- Copyright (c) 1997-2000 Mark Danks.mark@danks.org
- Copyright (c) Günther Geiger. geiger@epy.co.at
- Copyright (c) 2001-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
- For information on usage and redistribution, and for a DISCLAIMER OF ALL
- WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
-
- -----------------------------------------------------------------*/
-
-#ifndef _INCLUDE__GEM_GEM_MANAGER_H_
-#define _INCLUDE__GEM_GEM_MANAGER_H_
-
-#include "Gem/GemGL.h"
-#include "Utils/GLUtil.h"
-
-#include "Gem/ExportDef.h"
-
-#include <string>
-
-class gemhead;
-class GemState;
-class WindowInfo;
-
-namespace gem {
- class Context;
-};
-
-/*-----------------------------------------------------------------
- -------------------------------------------------------------------
- CLASS
- GemMan
-
- A static class to create windows, etc.
-
- DESCRIPTION
-
- -----------------------------------------------------------------*/
-class GEM_EXTERN GemMan
-{
- public:
-
- //////////
- // Should only be called once (usually by GemSetup)
- static void initGem(void);
-
- //////////
- static void addObj(gemhead *obj, float priority);
-
- //////////
- static void removeObj(gemhead *obj, float priority);
-
- //////////
- // Is there a window.
- static int windowExists(void);
-
- //////////
- // Are we rendering.
- static int getRenderState(void);
-
- //////////
- // is there a context (has its meaning under X)
- static void createContext(char* disp);
- static int contextExists(void);
-
- //////////
- // If an object needs to know if the window changed.
- // This is important for display lists.
- static int windowNumber(void);
-
- //////////
- // reset to the initial state
- static void resetState(void);
-
- //////////
- // Just send out one frame (if double buffered, will swap buffers)
- static void render(void *);
-
- static void renderChain(t_symbol *head, bool start);
- static void renderChain(t_symbol *head, GemState *state);
-
-
- //////////
- // Start a clock to do rendering.
- static void startRendering(void);
-
- //////////
- // Stop the clock to do rendering.
- static void stopRendering(void);
-
- //////////
- // Create the window with the current parameters
- static int createWindow(char* disp = 0);
-
- //////////
- // Destroy the window
- static void destroyWindow(void);
- // Destroy the window after a minimal delay
- static void destroyWindowSoon(void);
-
- //////////
- // Swap the buffers.
- // If single buffered, just clears the window
- static void swapBuffers(void);
-
- //////////
- // Set the frame rate
- static void frameRate(float framespersecond);
- //////////
- // Get the frame rate
- static float getFramerate(void);
-
- static int getProfileLevel(void);
-
- static void getDimen(int*width, int*height);
- static void getRealDimen(int*width, int*height);
- static void getOffset(int*x, int*y);
-
- //////////
- // Turn on/off lighting
- static void lightingOnOff(int state);
-
- //////////
- // Turn on/off cursor
- static void cursorOnOff(int state);
-
- //////////
- // Turn on/off topmost position
- static void topmostOnOff(int state);
-
-
- //////////
- // Request a lighting value - it is yours until you free it.
- // The return can be 0, in which there are too many lights
- // [in] specific - If you want a specific light. == 0 means that you don't care.
- static GLenum requestLight(int specific = 0);
-
- //////////
- // Free a lighting value
- static void freeLight(GLenum lightNum);
-
- //////////
- // Print out information
- static void printInfo(void);
-
- //////////
- static void fillGemState(GemState &);
-
- static int texture_rectangle_supported;
-
- enum GemStackId { STACKMODELVIEW, STACKCOLOR, STACKTEXTURE, STACKPROJECTION };
- static GLint maxStackDepth[4]; // for push/pop of matrix-stacks
-
-
- static float m_perspect[6]; // values for the perspective matrix
- static float m_lookat[9]; // values for the lookat matrix
-
- // LATER make this private (right now it is needed in gem2pdp)
- static int m_buffer; // single(1) or double(2)
-
- private:
-
- //////////
- // computer and window information
- static std::string m_title; // title to be displayed
- static int m_fullscreen; // fullscreen (1) or not (0!)
- static int m_menuBar; // hide (0), show(1), hide but autoshow(-1)
- static int m_secondscreen; // set the second screen
- static int m_height; // window height
- static int m_width; // window width
- static int m_w; // the real window width (reported by gemCreateWindow())
- static int m_h; // the real window height
- static int m_xoffset; // window offset (x)
- static int m_yoffset; // window offset (y)
-
- static int m_border; // window border
- static int m_stereo; // stereoscopic
-
- static int m_profile; // off(0), on(1), w/o image caching(2)
- static int m_rendering;
-
- static float m_fog; // fog density
- enum FOG_TYPE
- { FOG_OFF = 0, FOG_LINEAR, FOG_EXP, FOG_EXP2 };
- static FOG_TYPE m_fogMode; // what kind of fog we have
- static GLfloat m_fogColor[4]; // colour of the fog
- static float m_fogStart; // start of the linear fog
- static float m_fogEnd; // start of the linear fog
-
- static float m_motionBlur; // motion-blur factor in double-buffer mode
-
- static float fps;
- static int fsaa;
- static bool pleaseDestroy;
-
- //////////
- // Changing these variables is likely to crash GEM
- // This is current rendering window information
- // The window is created and destroyed by the user, so
- // if there is no window, this will contain NULL pointers.
- static WindowInfo &getWindowInfo(void);
-
- //////////
- // Changing these variables is likely to crash GEM
- // This is constant rendering window information
- // This window is always avaliable (although not visible)
- static WindowInfo &getConstWindowInfo(void);
- static int createConstWindow(char* disp = 0);
-
- // gemwin is allowed to modifying "global" window attributes
- friend class gemwin;
- friend class gem::Context;
-
- static GLfloat m_clear_color[4]; // the frame buffer clear
- static GLbitfield m_clear_mask; // the clear bitmask
- static GLfloat m_mat_ambient[4]; // default ambient material
- static GLfloat m_mat_specular[4]; // default specular material
- static GLfloat m_mat_shininess; // default shininess material
-
- static GLfloat m_stereoSep; // stereo seperation
- static GLfloat m_stereoFocal; // distance to focal point
- static bool m_stereoLine; // draw a line between 2 stereo-screens
-
- static double m_lastRenderTime; // the time of the last rendered frame
-
- // gemwin should not touch the following member variables and member functions
- static int m_windowState;
- static int m_windowNumber;
- static int m_windowContext;
- static int m_cursor;
- static int m_topmost;
-
- static void windowInit(void);
- static void windowCleanup(void);
- static void resetValues(void);
-
- static void resizeCallback(int xsize, int ysize, void*);
- static void dispatchWinmessCallback(void);
-
- //////////
- // check for supported openGL extensions we might need
- static void checkOpenGLExtensions(void);
-};
-
-#endif
+/*-----------------------------------------------------------------
+ LOG
+ GEM - Graphics Environment for Multimedia
+
+ The base functions and structures
+ Also includes gemwin header file
+
+ Copyright (c) 1997-2000 Mark Danks.mark@danks.org
+ Copyright (c) Günther Geiger. geiger@epy.co.at
+ Copyright (c) 2001-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
+ For information on usage and redistribution, and for a DISCLAIMER OF ALL
+ WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
+
+ -----------------------------------------------------------------*/
+
+#ifndef _INCLUDE__GEM_GEM_MANAGER_H_
+#define _INCLUDE__GEM_GEM_MANAGER_H_
+
+#include "Gem/GemGL.h"
+#include "Utils/GLUtil.h"
+
+#include "Gem/ExportDef.h"
+
+#include <string>
+
+class gemhead;
+class GemState;
+class WindowInfo;
+
+namespace gem {
+ class Context;
+};
+
+/*-----------------------------------------------------------------
+ -------------------------------------------------------------------
+ CLASS
+ GemMan
+
+ A static class to create windows, etc.
+
+ DESCRIPTION
+
+ -----------------------------------------------------------------*/
+class GEM_EXTERN GemMan
+{
+ public:
+
+ //////////
+ // Should only be called once (usually by GemSetup)
+ static void initGem(void);
+
+ //////////
+ static void addObj(gemhead *obj, float priority);
+
+ //////////
+ static void removeObj(gemhead *obj, float priority);
+
+ //////////
+ // Is there a window.
+ static int windowExists(void);
+
+ //////////
+ // Are we rendering.
+ static int getRenderState(void);
+
+ //////////
+ // is there a context (has its meaning under X)
+ static void createContext(char* disp);
+ static int contextExists(void);
+
+ //////////
+ // If an object needs to know if the window changed.
+ // This is important for display lists.
+ static int windowNumber(void);
+
+ //////////
+ // reset to the initial state
+ static void resetState(void);
+
+ //////////
+ // Just send out one frame (if double buffered, will swap buffers)
+ static void render(void *);
+
+ static void renderChain(t_symbol *head, bool start);
+ static void renderChain(t_symbol *head, GemState *state);
+
+
+ //////////
+ // Start a clock to do rendering.
+ static void startRendering(void);
+
+ //////////
+ // Stop the clock to do rendering.
+ static void stopRendering(void);
+
+ //////////
+ // Create the window with the current parameters
+ static int createWindow(char* disp = 0);
+
+ //////////
+ // Destroy the window
+ static void destroyWindow(void);
+ // Destroy the window after a minimal delay
+ static void destroyWindowSoon(void);
+
+ //////////
+ // Swap the buffers.
+ // If single buffered, just clears the window
+ static void swapBuffers(void);
+
+ //////////
+ // Set the frame rate
+ static void frameRate(float framespersecond);
+ //////////
+ // Get the frame rate
+ static float getFramerate(void);
+
+ static int getProfileLevel(void);
+
+ static void getDimen(int*width, int*height);
+ static void getRealDimen(int*width, int*height);
+ static void getOffset(int*x, int*y);
+
+ //////////
+ // Turn on/off lighting
+ static void lightingOnOff(int state);
+
+ //////////
+ // Turn on/off cursor
+ static void cursorOnOff(int state);
+
+ //////////
+ // Turn on/off topmost position
+ static void topmostOnOff(int state);
+
+
+ //////////
+ // Request a lighting value - it is yours until you free it.
+ // The return can be 0, in which there are too many lights
+ // [in] specific - If you want a specific light. == 0 means that you don't care.
+ static GLenum requestLight(int specific = 0);
+
+ //////////
+ // Free a lighting value
+ static void freeLight(GLenum lightNum);
+
+ //////////
+ // Print out information
+ static void printInfo(void);
+
+ //////////
+ static void fillGemState(GemState &);
+
+ static int texture_rectangle_supported;
+
+ enum GemStackId { STACKMODELVIEW, STACKCOLOR, STACKTEXTURE, STACKPROJECTION };
+ static GLint maxStackDepth[4]; // for push/pop of matrix-stacks
+
+
+ static float m_perspect[6]; // values for the perspective matrix
+ static float m_lookat[9]; // values for the lookat matrix
+
+ // LATER make this private (right now it is needed in gem2pdp)
+ static int m_buffer; // single(1) or double(2)
+
+ private:
+
+ //////////
+ // computer and window information
+ static std::string m_title; // title to be displayed
+ static int m_fullscreen; // fullscreen (1) or not (0!)
+ static int m_menuBar; // hide (0), show(1), hide but autoshow(-1)
+ static int m_secondscreen; // set the second screen
+ static int m_height; // window height
+ static int m_width; // window width
+ static int m_w; // the real window width (reported by gemCreateWindow())
+ static int m_h; // the real window height
+ static int m_xoffset; // window offset (x)
+ static int m_yoffset; // window offset (y)
+
+ static int m_border; // window border
+ static int m_stereo; // stereoscopic
+
+ static int m_profile; // off(0), on(1), w/o image caching(2)
+ static int m_rendering;
+
+ static float m_fog; // fog density
+ enum FOG_TYPE
+ { FOG_OFF = 0, FOG_LINEAR, FOG_EXP, FOG_EXP2 };
+ static FOG_TYPE m_fogMode; // what kind of fog we have
+ static GLfloat m_fogColor[4]; // colour of the fog
+ static float m_fogStart; // start of the linear fog
+ static float m_fogEnd; // start of the linear fog
+
+ static float m_motionBlur; // motion-blur factor in double-buffer mode
+
+ static float fps;
+ static int fsaa;
+ static bool pleaseDestroy;
+
+ //////////
+ // Changing these variables is likely to crash GEM
+ // This is current rendering window information
+ // The window is created and destroyed by the user, so
+ // if there is no window, this will contain NULL pointers.
+ static WindowInfo &getWindowInfo(void);
+
+ //////////
+ // Changing these variables is likely to crash GEM
+ // This is constant rendering window information
+ // This window is always avaliable (although not visible)
+ static WindowInfo &getConstWindowInfo(void);
+ static int createConstWindow(char* disp = 0);
+
+ // gemwin is allowed to modifying "global" window attributes
+ friend class gemwin;
+ friend class gem::Context;
+
+ static GLfloat m_clear_color[4]; // the frame buffer clear
+ static GLbitfield m_clear_mask; // the clear bitmask
+ static GLfloat m_mat_ambient[4]; // default ambient material
+ static GLfloat m_mat_specular[4]; // default specular material
+ static GLfloat m_mat_shininess; // default shininess material
+
+ static GLfloat m_stereoSep; // stereo seperation
+ static GLfloat m_stereoFocal; // distance to focal point
+ static bool m_stereoLine; // draw a line between 2 stereo-screens
+
+ static double m_lastRenderTime; // the time of the last rendered frame
+
+ // gemwin should not touch the following member variables and member functions
+ static int m_windowState;
+ static int m_windowNumber;
+ static int m_windowContext;
+ static int m_cursor;
+ static int m_topmost;
+
+ static void windowInit(void);
+ static void windowCleanup(void);
+ static void resetValues(void);
+
+ static void resizeCallback(int xsize, int ysize, void*);
+ static void dispatchWinmessCallback(void);
+
+ //////////
+ // check for supported openGL extensions we might need
+ static void checkOpenGLExtensions(void);
+};
+
+#endif
diff --git a/packages/noncvs/windows/extra/Gem/dev/Gem/PBuffer.h b/packages/noncvs/windows/extra/Gem/dev/Gem/PBuffer.h
index 49fe43d4..94d290c3 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Gem/PBuffer.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Gem/PBuffer.h
@@ -1,54 +1,54 @@
-/* OpenGL pixel buffer
- *
- * Copyright (C) 2003-2004, Alexander Zaprjagaev <frustum@frustum.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#ifndef __PBUFFER_H__
-#define __PBUFFER_H__
-
-struct PBuffer_data;
-
-class PBuffer {
-public:
-
- enum {
- GEM_PBUFLAG_RGB = 1 << 0,
- GEM_PBUFLAG_RGBA = 1 << 1,
- GEM_PBUFLAG_DEPTH = 1 << 2,
- GEM_PBUFLAG_STENCIL = 1 << 3,
- GEM_PBUFLAG_FLOAT = 1 << 4,
- GEM_PBUFLAG_MULTISAMPLE_2 = 1 << 5,
- GEM_PBUFLAG_MULTISAMPLE_4 = 1 << 6
- };
-
- PBuffer(int width,int height,int flags = GEM_PBUFLAG_RGBA | GEM_PBUFLAG_DEPTH | GEM_PBUFLAG_STENCIL);
- ~PBuffer(void);
-
- void enable(void);
- void disable(void);
-
- int width;
- int height;
-
-private:
- struct PBuffer_data *data;
-
- PBuffer(const PBuffer&);
- PBuffer&operator=(const PBuffer&);
-};
-
-#endif /* __PBUFFER_H__ */
+/* OpenGL pixel buffer
+ *
+ * Copyright (C) 2003-2004, Alexander Zaprjagaev <frustum@frustum.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#ifndef __PBUFFER_H__
+#define __PBUFFER_H__
+
+struct PBuffer_data;
+
+class PBuffer {
+public:
+
+ enum {
+ GEM_PBUFLAG_RGB = 1 << 0,
+ GEM_PBUFLAG_RGBA = 1 << 1,
+ GEM_PBUFLAG_DEPTH = 1 << 2,
+ GEM_PBUFLAG_STENCIL = 1 << 3,
+ GEM_PBUFLAG_FLOAT = 1 << 4,
+ GEM_PBUFLAG_MULTISAMPLE_2 = 1 << 5,
+ GEM_PBUFLAG_MULTISAMPLE_4 = 1 << 6
+ };
+
+ PBuffer(int width,int height,int flags = GEM_PBUFLAG_RGBA | GEM_PBUFLAG_DEPTH | GEM_PBUFLAG_STENCIL);
+ ~PBuffer(void);
+
+ void enable(void);
+ void disable(void);
+
+ int width;
+ int height;
+
+private:
+ struct PBuffer_data *data;
+
+ PBuffer(const PBuffer&);
+ PBuffer&operator=(const PBuffer&);
+};
+
+#endif /* __PBUFFER_H__ */
diff --git a/packages/noncvs/windows/extra/Gem/dev/Gem/PixConvert.h b/packages/noncvs/windows/extra/Gem/dev/Gem/PixConvert.h
index 8ab80a42..b06ab64f 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Gem/PixConvert.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Gem/PixConvert.h
@@ -1,173 +1,173 @@
-/*-----------------------------------------------------------------
-LOG
- GEM - Graphics Environment for Multimedia
-
- GemPixConvertSIMD.h
- - header-file for color conversion
- - this is mainly for (SIMD-)optimized routines
- - part of GEM
-
- Copyright (c) 2006-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
- For information on usage and redistribution, and for a DISCLAIMER OF ALL
- WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
-
------------------------------------------------------------------*/
-
-
-#ifndef _INCLUDE__GEM_GEM_PIXCONVERT_H_
-#define _INCLUDE__GEM_GEM_PIXCONVERT_H_
-
-#include "Gem/Image.h"
-#include "Utils/SIMD.h"
-
-// use formulae from http://www.poynton.com/notes/colour_and_gamma/ColorFAQ.html#RTFToC30
-/*
- * [Y] 1 [ 65.738 129.075 25.064 ] [R] [ 16]
- * [U] = --- * [ -37.945 -74.494 112.439 ] * [G]+[128]
- * [V] = 256 [ 112.439 -94.154 -18.285 ] [B] [128]
- *
- * [R] 1 [ 298.082 0.0 408.583 ] [Y] [ 16]
- * [G] = --- * [ 298.082 -100.291 -208.120 ] * ([U]-[128])
- * [B] = 256 [ 298.082 516.411 0.0 ] [V] [128]
- */
-
-#define YUV_POYNTON
-// here comes something to be afraid of:
-// (probably it would be better to define the matrices as real constant-value matrices)
-// (instead of element-wise)
-
-#ifdef YUV_POYNTON
-# define Y_OFFSET 16
-# define UV_OFFSET 128
-
-// RGB2YUV
-// poynton-values rounded
-# define RGB2YUV_11 66
-# define RGB2YUV_12 129
-# define RGB2YUV_13 25
-# define RGB2YUV_21 -38
-# define RGB2YUV_22 -74
-# define RGB2YUV_23 112
-# define RGB2YUV_31 112
-# define RGB2YUV_32 -94
-# define RGB2YUV_33 -18
-
-// YUV2RGB
-// (we skip _21 and _31 as they are equal to _11)
-#if 0
-// poynton-values rounded
-# define YUV2RGB_11 298
-# define YUV2RGB_12 0
-# define YUV2RGB_13 409
-# define YUV2RGB_22 -100
-# define YUV2RGB_23 -208
-# define YUV2RGB_32 516
-# define YUV2RGB_33 0
-#else
-
-// this is round(256*inv(rgb2yuv/256))
-// so the general error should be smaller
-# define YUV2RGB_11 298
-# define YUV2RGB_12 -1
-# define YUV2RGB_13 409
-# define YUV2RGB_22 -100
-# define YUV2RGB_23 -210
-# define YUV2RGB_32 519
-# define YUV2RGB_33 0
-#endif
-
-#else
-/* the old ones: */
-# define Y_OFFSET 0
-# define UV_OFFSET 128
-// RGB2YUV
-# define RGB2YUV_11 77
-# define RGB2YUV_12 150
-# define RGB2YUV_13 29
-# define RGB2YUV_21 -43
-# define RGB2YUV_22 -85
-# define RGB2YUV_23 128
-# define RGB2YUV_31 128
-# define RGB2YUV_32 -107
-# define RGB2YUV_33 -21
-// YUV2RGB
-# define YUV2RGB_11 256
-# define YUV2RGB_12 0
-# define YUV2RGB_13 359
-# define YUV2RGB_22 -88
-# define YUV2RGB_23 -183
-# define YUV2RGB_32 454
-# define YUV2RGB_33 0
-
-#endif /* POYNTON */
-
-#if 0
-/* yuv-coefficients would also need an offset! */
-# define RGB2GRAY_RED RGB2YUV_11
-# define RGB2GRAY_GREEN RGB2YUV_12
-# define RGB2GRAY_BLUE RGB2YUV_13
-# define RGB2GRAY_OFFSET Y_OFFSET
-#else
-# define RGB2GRAY_RED 77
-# define RGB2GRAY_GREEN 150
-# define RGB2GRAY_BLUE 29
-# define RGB2GRAY_OFFSET 0
-#endif
-
-/* AltiVec */
-#ifdef __VEC__
-
-/* there are problems on OSX10.3 with older versions of gcc, since the intrinsic code
- * below freely changes between signed and unsigned short vectors
- * newer versions of gcc accept this...
- * LATER: fix the code (GemPixConvertAltivec:750..800)
- */
-# ifdef __GNUC__
-/* according to hcs it does NOT work with gcc-3.3
- * for simplicity, i disable everything below gcc4
- * JMZ: 20061114
- */
-# if __GNUC__ < 4
-# warning disabling AltiVec for older gcc: please fix me
-# define NO_VECTORINT_TO_VECTORUNSIGNEDINT
-# endif
-# endif /* GNUC */
-
-
- void RGB_to_YCbCr_altivec(const unsigned char *rgbdata, size_t RGB_size,
- unsigned char *pixels);
- void RGBA_to_YCbCr_altivec(const unsigned char *rgbadata, size_t RGBA_size,
- unsigned char *pixels);
- void BGR_to_YCbCr_altivec(const unsigned char *bgrdata, size_t BGR_size,
- unsigned char *pixels);
- void BGRA_to_YCbCr_altivec(const unsigned char *bgradata, size_t BGRA_size,
- unsigned char *pixels);
- void YUV422_to_BGRA_altivec(const unsigned char *yuvdata, size_t pixelnum,
- unsigned char *pixels);
- void YV12_to_YUV422_altivec(const short*Y, const short*U, const short*V,
- unsigned char *data, int xsize, int ysize);
-# ifndef NO_VECTORINT_TO_VECTORUNSIGNEDINT
- void YUV422_to_YV12_altivec(short*pY, short*pY2, short*pU, short*pV,
- const unsigned char *gem_image, int xsize, int ysize);
-# endif
-#endif /* AltiVec */
-
-/* SSE2 */
-#ifdef __SSE2__
-void RGBA_to_UYVY_SSE2(const unsigned char *rgbadata,
- size_t size,
- unsigned char *yuvdata);
-void UYVY_to_RGBA_SSE2(const unsigned char *yuvdata,
- size_t size,
- unsigned char *rgbadata);
-void UYVY_to_RGB_SSE2(const unsigned char *yuvdata,
- size_t size,
- unsigned char *rgbadata);
-#endif /* SSE2 */
-
-/* in case somebody has an old machine... */
-#ifdef __MMX__
-
-#endif /* MMX */
-
-#endif /* _INCLUDE__GEM_GEM_PIXCONVERT_H_ */
+/*-----------------------------------------------------------------
+LOG
+ GEM - Graphics Environment for Multimedia
+
+ GemPixConvertSIMD.h
+ - header-file for color conversion
+ - this is mainly for (SIMD-)optimized routines
+ - part of GEM
+
+ Copyright (c) 2006-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
+ For information on usage and redistribution, and for a DISCLAIMER OF ALL
+ WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
+
+-----------------------------------------------------------------*/
+
+
+#ifndef _INCLUDE__GEM_GEM_PIXCONVERT_H_
+#define _INCLUDE__GEM_GEM_PIXCONVERT_H_
+
+#include "Gem/Image.h"
+#include "Utils/SIMD.h"
+
+// use formulae from http://www.poynton.com/notes/colour_and_gamma/ColorFAQ.html#RTFToC30
+/*
+ * [Y] 1 [ 65.738 129.075 25.064 ] [R] [ 16]
+ * [U] = --- * [ -37.945 -74.494 112.439 ] * [G]+[128]
+ * [V] = 256 [ 112.439 -94.154 -18.285 ] [B] [128]
+ *
+ * [R] 1 [ 298.082 0.0 408.583 ] [Y] [ 16]
+ * [G] = --- * [ 298.082 -100.291 -208.120 ] * ([U]-[128])
+ * [B] = 256 [ 298.082 516.411 0.0 ] [V] [128]
+ */
+
+#define YUV_POYNTON
+// here comes something to be afraid of:
+// (probably it would be better to define the matrices as real constant-value matrices)
+// (instead of element-wise)
+
+#ifdef YUV_POYNTON
+# define Y_OFFSET 16
+# define UV_OFFSET 128
+
+// RGB2YUV
+// poynton-values rounded
+# define RGB2YUV_11 66
+# define RGB2YUV_12 129
+# define RGB2YUV_13 25
+# define RGB2YUV_21 -38
+# define RGB2YUV_22 -74
+# define RGB2YUV_23 112
+# define RGB2YUV_31 112
+# define RGB2YUV_32 -94
+# define RGB2YUV_33 -18
+
+// YUV2RGB
+// (we skip _21 and _31 as they are equal to _11)
+#if 0
+// poynton-values rounded
+# define YUV2RGB_11 298
+# define YUV2RGB_12 0
+# define YUV2RGB_13 409
+# define YUV2RGB_22 -100
+# define YUV2RGB_23 -208
+# define YUV2RGB_32 516
+# define YUV2RGB_33 0
+#else
+
+// this is round(256*inv(rgb2yuv/256))
+// so the general error should be smaller
+# define YUV2RGB_11 298
+# define YUV2RGB_12 -1
+# define YUV2RGB_13 409
+# define YUV2RGB_22 -100
+# define YUV2RGB_23 -210
+# define YUV2RGB_32 519
+# define YUV2RGB_33 0
+#endif
+
+#else
+/* the old ones: */
+# define Y_OFFSET 0
+# define UV_OFFSET 128
+// RGB2YUV
+# define RGB2YUV_11 77
+# define RGB2YUV_12 150
+# define RGB2YUV_13 29
+# define RGB2YUV_21 -43
+# define RGB2YUV_22 -85
+# define RGB2YUV_23 128
+# define RGB2YUV_31 128
+# define RGB2YUV_32 -107
+# define RGB2YUV_33 -21
+// YUV2RGB
+# define YUV2RGB_11 256
+# define YUV2RGB_12 0
+# define YUV2RGB_13 359
+# define YUV2RGB_22 -88
+# define YUV2RGB_23 -183
+# define YUV2RGB_32 454
+# define YUV2RGB_33 0
+
+#endif /* POYNTON */
+
+#if 0
+/* yuv-coefficients would also need an offset! */
+# define RGB2GRAY_RED RGB2YUV_11
+# define RGB2GRAY_GREEN RGB2YUV_12
+# define RGB2GRAY_BLUE RGB2YUV_13
+# define RGB2GRAY_OFFSET Y_OFFSET
+#else
+# define RGB2GRAY_RED 77
+# define RGB2GRAY_GREEN 150
+# define RGB2GRAY_BLUE 29
+# define RGB2GRAY_OFFSET 0
+#endif
+
+/* AltiVec */
+#ifdef __VEC__
+
+/* there are problems on OSX10.3 with older versions of gcc, since the intrinsic code
+ * below freely changes between signed and unsigned short vectors
+ * newer versions of gcc accept this...
+ * LATER: fix the code (GemPixConvertAltivec:750..800)
+ */
+# ifdef __GNUC__
+/* according to hcs it does NOT work with gcc-3.3
+ * for simplicity, i disable everything below gcc4
+ * JMZ: 20061114
+ */
+# if __GNUC__ < 4
+# warning disabling AltiVec for older gcc: please fix me
+# define NO_VECTORINT_TO_VECTORUNSIGNEDINT
+# endif
+# endif /* GNUC */
+
+
+ void RGB_to_YCbCr_altivec(const unsigned char *rgbdata, size_t RGB_size,
+ unsigned char *pixels);
+ void RGBA_to_YCbCr_altivec(const unsigned char *rgbadata, size_t RGBA_size,
+ unsigned char *pixels);
+ void BGR_to_YCbCr_altivec(const unsigned char *bgrdata, size_t BGR_size,
+ unsigned char *pixels);
+ void BGRA_to_YCbCr_altivec(const unsigned char *bgradata, size_t BGRA_size,
+ unsigned char *pixels);
+ void YUV422_to_BGRA_altivec(const unsigned char *yuvdata, size_t pixelnum,
+ unsigned char *pixels);
+ void YV12_to_YUV422_altivec(const short*Y, const short*U, const short*V,
+ unsigned char *data, int xsize, int ysize);
+# ifndef NO_VECTORINT_TO_VECTORUNSIGNEDINT
+ void YUV422_to_YV12_altivec(short*pY, short*pY2, short*pU, short*pV,
+ const unsigned char *gem_image, int xsize, int ysize);
+# endif
+#endif /* AltiVec */
+
+/* SSE2 */
+#ifdef __SSE2__
+void RGBA_to_UYVY_SSE2(const unsigned char *rgbadata,
+ size_t size,
+ unsigned char *yuvdata);
+void UYVY_to_RGBA_SSE2(const unsigned char *yuvdata,
+ size_t size,
+ unsigned char *rgbadata);
+void UYVY_to_RGB_SSE2(const unsigned char *yuvdata,
+ size_t size,
+ unsigned char *rgbadata);
+#endif /* SSE2 */
+
+/* in case somebody has an old machine... */
+#ifdef __MMX__
+
+#endif /* MMX */
+
+#endif /* _INCLUDE__GEM_GEM_PIXCONVERT_H_ */
diff --git a/packages/noncvs/windows/extra/Gem/dev/Gem/Properties.h b/packages/noncvs/windows/extra/Gem/dev/Gem/Properties.h
index a5db22dd..f4fdcb3d 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Gem/Properties.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Gem/Properties.h
@@ -1,108 +1,108 @@
-/*
- * Copyright (c) 2010-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
- *
- * map that stores "any"thing
- *
- * USAGE:
- *
- * Properties am; // create a new Properties
- * am["a"] = 42; // assign value "42" to key "a"
- * int i=0;
- * try { i=any_cast<int>am["a"]; } catch(bad_any_cast ex) { ; } // retrieve value from key "a"; might throw a bad_any_cast exception
- * am.get("a", i); // retrieve value at key "a"; if there was an error (e.g. typeof(i) does not match, then i is left untouched and "false" is returned
- *
- * NOTE:
- * this simplilstic approach has some problems with type-conversion
- * e.g. this will fail:
- * am["a"]=12.0f; any_cast<int>am["a"];
- */
-
-#ifndef GEM_PROPERTIES_H
-#define GEM_PROPERTIES_H
-
-#include "Utils/any.h"
-#include <vector>
-#include <string>
-
-namespace gem
-{
- class Properties {
- private:
- class PIMPL;
- PIMPL*pimpl;
-
- public:
- enum PropertyType {
- UNSET=-1, /* not set, in-existant */
- NONE, /* "bang" */
- DOUBLE, /* double */
- STRING, /* std::string */
- UNKNOWN /* all the rest */
- };
-
- Properties(void);
- Properties(const gem::Properties&); /* copy constructor */
-
- virtual ~Properties(void);
-
-#if 0
- /* array/hashmap like access:
- * e.g.: prop["width"]=640;
- */
- virtual gem::any&operator[](const std::string&key);
-#endif
-
- /* get the value of a property
- * e.g.: double w=any_cast<double>prop.at("width")
- */
- virtual gem::any get(const std::string&key) const;
-
- /* check whether the given key exists
- * if the key was in the property-map, return the type of the property
- * if no key of the given value exists, return <code>PropertyType::UNSET</code>
- */
- virtual enum PropertyType type(const std::string) const;
-
- /* set a property
- * e.g.: double w=640; prop.set("width", w);
- */
- virtual void set(const std::string&key, gem::any value);
-
- /* get a property
- * e.g.: double w=320; prop.get("width", w);
- * NOTE: if no property of the given name exists or the existing property
- * is of a different (incompatible) type, "value" will not be changed
- */
- template<class Class>
- bool get(const std::string&key, Class&value) const {
- try {
- value=gem::any_cast<Class>(get(key));
- } catch (gem::bad_any_cast e) {
- return false;
- }
- return true;
- };
-
- /* get all keys
- */
- virtual std::vector<std::string>keys(void) const;
-
- /*
- * delete a given key from the Properties
- */
- virtual void erase(const std::string);
- /*
- * delete all keys from the Properties
- */
- virtual void clear(void);
-
-
- /*
- * assign Properties from another set
- */
- virtual gem::Properties& assign(const gem::Properties&);
- gem::Properties& operator= (const gem::Properties&org) { return assign(org); }
-
- };
-};
-#endif /* GEM_PROPERTIES_H */
+/*
+ * Copyright (c) 2010-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
+ *
+ * map that stores "any"thing
+ *
+ * USAGE:
+ *
+ * Properties am; // create a new Properties
+ * am["a"] = 42; // assign value "42" to key "a"
+ * int i=0;
+ * try { i=any_cast<int>am["a"]; } catch(bad_any_cast ex) { ; } // retrieve value from key "a"; might throw a bad_any_cast exception
+ * am.get("a", i); // retrieve value at key "a"; if there was an error (e.g. typeof(i) does not match, then i is left untouched and "false" is returned
+ *
+ * NOTE:
+ * this simplilstic approach has some problems with type-conversion
+ * e.g. this will fail:
+ * am["a"]=12.0f; any_cast<int>am["a"];
+ */
+
+#ifndef GEM_PROPERTIES_H
+#define GEM_PROPERTIES_H
+
+#include "Utils/any.h"
+#include <vector>
+#include <string>
+
+namespace gem
+{
+ class Properties {
+ private:
+ class PIMPL;
+ PIMPL*pimpl;
+
+ public:
+ enum PropertyType {
+ UNSET=-1, /* not set, in-existant */
+ NONE, /* "bang" */
+ DOUBLE, /* double */
+ STRING, /* std::string */
+ UNKNOWN /* all the rest */
+ };
+
+ Properties(void);
+ Properties(const gem::Properties&); /* copy constructor */
+
+ virtual ~Properties(void);
+
+#if 0
+ /* array/hashmap like access:
+ * e.g.: prop["width"]=640;
+ */
+ virtual gem::any&operator[](const std::string&key);
+#endif
+
+ /* get the value of a property
+ * e.g.: double w=any_cast<double>prop.at("width")
+ */
+ virtual gem::any get(const std::string&key) const;
+
+ /* check whether the given key exists
+ * if the key was in the property-map, return the type of the property
+ * if no key of the given value exists, return <code>PropertyType::UNSET</code>
+ */
+ virtual enum PropertyType type(const std::string) const;
+
+ /* set a property
+ * e.g.: double w=640; prop.set("width", w);
+ */
+ virtual void set(const std::string&key, gem::any value);
+
+ /* get a property
+ * e.g.: double w=320; prop.get("width", w);
+ * NOTE: if no property of the given name exists or the existing property
+ * is of a different (incompatible) type, "value" will not be changed
+ */
+ template<class Class>
+ bool get(const std::string&key, Class&value) const {
+ try {
+ value=gem::any_cast<Class>(get(key));
+ } catch (gem::bad_any_cast e) {
+ return false;
+ }
+ return true;
+ };
+
+ /* get all keys
+ */
+ virtual std::vector<std::string>keys(void) const;
+
+ /*
+ * delete a given key from the Properties
+ */
+ virtual void erase(const std::string);
+ /*
+ * delete all keys from the Properties
+ */
+ virtual void clear(void);
+
+
+ /*
+ * assign Properties from another set
+ */
+ virtual gem::Properties& assign(const gem::Properties&);
+ gem::Properties& operator= (const gem::Properties&org) { return assign(org); }
+
+ };
+};
+#endif /* GEM_PROPERTIES_H */
diff --git a/packages/noncvs/windows/extra/Gem/dev/Gem/RTE.h b/packages/noncvs/windows/extra/Gem/dev/Gem/RTE.h
index af38a9aa..337f8720 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Gem/RTE.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Gem/RTE.h
@@ -1,29 +1,29 @@
-/*-----------------------------------------------------------------
- LOG
- GEM - Graphics Environment for Multimedia
-
- include Realtime-Environments headers
-
- Copyright (c) 2010-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
- For information on usage and redistribution, and for a DISCLAIMER OF ALL
- WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
-
- -----------------------------------------------------------------*/
-
-#ifndef _INCLUDE__GEM_GEM_RTE_H_
-#define _INCLUDE__GEM_GEM_RTE_H_
-
-#if defined _MSC_VER
-/* data conversion with possible loss of data */
-# pragma warning( push )
-# pragma warning( disable : 4091 )
-#endif
-
-#include "m_pd.h"
-
-#ifdef _MSC_VER
-# pragma warning( pop )
-#endif
-
-
-#endif /* _INCLUDE__GEM_GEM_RTE_H_ */
+/*-----------------------------------------------------------------
+ LOG
+ GEM - Graphics Environment for Multimedia
+
+ include Realtime-Environments headers
+
+ Copyright (c) 2010-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
+ For information on usage and redistribution, and for a DISCLAIMER OF ALL
+ WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
+
+ -----------------------------------------------------------------*/
+
+#ifndef _INCLUDE__GEM_GEM_RTE_H_
+#define _INCLUDE__GEM_GEM_RTE_H_
+
+#if defined _MSC_VER
+/* data conversion with possible loss of data */
+# pragma warning( push )
+# pragma warning( disable : 4091 )
+#endif
+
+#include "m_pd.h"
+
+#ifdef _MSC_VER
+# pragma warning( pop )
+#endif
+
+
+#endif /* _INCLUDE__GEM_GEM_RTE_H_ */
diff --git a/packages/noncvs/windows/extra/Gem/dev/Gem/Settings.h b/packages/noncvs/windows/extra/Gem/dev/Gem/Settings.h
index d4d21ad3..d1489868 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Gem/Settings.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Gem/Settings.h
@@ -1,35 +1,35 @@
-/*-----------------------------------------------------------------
-LOG
- GEM - Graphics Environment for Multimedia
-
- - Runtime Configuration of Gem
-
- Copyright (c) 2009-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
- For information on usage and redistribution, and for a DISCLAIMER OF ALL
- WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
-
------------------------------------------------------------------*/
-
-#ifndef _INCLUDE__GEM_GEM_SETTINGS_H_
-#define _INCLUDE__GEM_GEM_SETTINGS_H_
-
-#include <string>
-#include <vector>
-
-typedef struct _atom t_atom;
-class GemSettings {
- public:
- static void init(void);
- static void print(void);
- static void save(void);
-
- static t_atom*get(const std::string key);
- static void set(const std::string key, t_atom*value=NULL);
-
- static void get(const std::string key, int&value);
- static void get(const std::string key, float&value);
- static void get(const std::string key, std::string&value);
-
- static std::vector<std::string> keys();
-};
-#endif
+/*-----------------------------------------------------------------
+LOG
+ GEM - Graphics Environment for Multimedia
+
+ - Runtime Configuration of Gem
+
+ Copyright (c) 2009-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
+ For information on usage and redistribution, and for a DISCLAIMER OF ALL
+ WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
+
+-----------------------------------------------------------------*/
+
+#ifndef _INCLUDE__GEM_GEM_SETTINGS_H_
+#define _INCLUDE__GEM_GEM_SETTINGS_H_
+
+#include <string>
+#include <vector>
+
+typedef struct _atom t_atom;
+class GemSettings {
+ public:
+ static void init(void);
+ static void print(void);
+ static void save(void);
+
+ static t_atom*get(const std::string key);
+ static void set(const std::string key, t_atom*value=NULL);
+
+ static void get(const std::string key, int&value);
+ static void get(const std::string key, float&value);
+ static void get(const std::string key, std::string&value);
+
+ static std::vector<std::string> keys();
+};
+#endif
diff --git a/packages/noncvs/windows/extra/Gem/dev/Gem/State.h b/packages/noncvs/windows/extra/Gem/dev/Gem/State.h
index 2df550f9..ea6f92aa 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Gem/State.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Gem/State.h
@@ -1,227 +1,227 @@
-/*-----------------------------------------------------------------
- LOG
- GEM - Graphics Environment for Multimedia
-
- The state to pass among GEM objects
-
- Copyright (c) 1997-2000 Mark Danks. mark@danks.org
- Copyright (c) Günther Geiger. geiger@epy.co.at
- Copyright (c) 2001-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
- For information on usage and redistribution, and for a DISCLAIMER OF ALL
- WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
-
- -----------------------------------------------------------------*/
-
-#ifndef _INCLUDE__GEM_GEM_STATE_H_
-#define _INCLUDE__GEM_GEM_STATE_H_
-
-#include "Gem/ExportDef.h"
-#include "Gem/GemGL.h"
-
-#include "Gem/RTE.h"
-#include "Utils/any.h"
-
-struct pixBlock;
-class TexCoord;
-
-/*-----------------------------------------------------------------
- -------------------------------------------------------------------
- CLASS
- TexCoord
-
-
- DESCRIPTION
-
- -----------------------------------------------------------------*/
-class GEM_EXTERN TexCoord
-{
- public:
- TexCoord() : s(0.f), t(0.f) { }
- TexCoord(float s_, float t_) : s(s_), t(t_) { }
- float s;
- float t;
-};
-
-
-/*-----------------------------------------------------------------
- -------------------------------------------------------------------
- CLASS
- GemState
-
- The state to pass among GEM objects
-
- DESCRIPTION
-
- -----------------------------------------------------------------*/
-
-class GemStateData;
-class GEM_EXTERN GemState
-{
- public:
- typedef enum {
- _DIRTY,
- _TIMING_TICK,
- _PIX,
- _GL_STACKS,
- _GL_DISPLAYLIST,
- _GL_LIGHTING,
- _GL_SMOOTH,
- _GL_DRAWTYPE,
- _GL_TEX_TYPE,
- _GL_TEX_COORDS,
- _GL_TEX_NUMCOORDS,
- _GL_TEX_UNITS,
-
-
-
-
-
- _LAST
- } key_t;
-
- //////////
- // Has something changed since the last time?
- // deprecated: use property 'dirty' instead
- GEM_DEPRECATED bool dirty;
-
- //////////
- // Are we in a display list creation?
- // deprecated: use property 'gl.displaylist' instead
- GEM_DEPRECATED bool inDisplayList;
-
- //////////
- // Lighting on?
- // deprecated: use property 'gl.lighting' instead
- GEM_DEPRECATED bool lighting;
-
- //////////
- // Smooth shading (flat is other type)
- // deprecated: use property 'gl.smooth' instead
- GEM_DEPRECATED bool smooth;
-
- //////////
- // Texture mapping on?
- // 0..off
- // 1..normalized texture
- // 2..rectangle texture
- // deprecated: use property 'gl.tex.type' instead
- GEM_DEPRECATED int texture;
-
- //////////
- // The image to texture map
- // deprecated: use property 'pix' instead
- GEM_DEPRECATED pixBlock *image;
-
- //////////
- // Texture coordinates.
- // This can be NULL if there aren't any coordinates
- // deprecated: use property 'gl.tex.coords' instead
- GEM_DEPRECATED TexCoord *texCoords;
-
- //////////
- // The number of TexCoords
- // deprecated: use property 'gl.tex.numcoords' instead
- GEM_DEPRECATED int numTexCoords;
-
- //////////
- // The number of multiTexUnits
- // default = 0, max = 7
- // deprecated: use property 'gl.tex.units' instead
- GEM_DEPRECATED int multiTexUnits;
-
- //////////
- // Milliseconds since last frame
- // If in Stereoscopic mode, then it is the same number for both left
- // and right renderings
- // deprecated: use property 'timing.tick' instead
- GEM_DEPRECATED float tickTime;
-
- //////////////////
- // the default draw-type (might be overriden within a Geo)
- // deprecated: use property 'gl.drawtype' instead
- GEM_DEPRECATED GLenum drawType;
-
- //////////
- // how deep is the current stack /* 4 fields for the 4 stacks */
- // deprecated: use property 'gl.stacks' instead
- GEM_DEPRECATED int stackDepth[4];
-
- ////////////
- //vertex-array data
- // deprecated: use property 'vertex.dirty' instead
- GEM_DEPRECATED int VertexDirty; // the vertex-arrays has changed
- // deprecated: use property 'vertex.array.vertex' instead
- GEM_DEPRECATED GLfloat *VertexArray;
- // deprecated: use property 'vertex.array.vertex' instead
- GEM_DEPRECATED int VertexArraySize;
- // deprecated: use property 'vertex.array.vertex' instead
- GEM_DEPRECATED int VertexArrayStride;
-
- // deprecated: use property 'vertex.array.color' instead
- GEM_DEPRECATED GLfloat *ColorArray;
- // deprecated: use property 'vertex.array.color' instead
- GEM_DEPRECATED bool HaveColorArray;
-
- // deprecated: use property 'vertex.array.normal' instead
- GEM_DEPRECATED GLfloat *NormalArray;
- // deprecated: use property 'vertex.array.normal' instead
- GEM_DEPRECATED bool HaveNormalArray;
-
- // deprecated: use property 'vertex.array.texcoord' instead
- GEM_DEPRECATED GLfloat *TexCoordArray;
- // deprecated: use property 'vertex.array.texcoord' instead
- GEM_DEPRECATED bool HaveTexCoordArray;
-
- //////////
- // Constructor
- GemState(void);
- GemState(const GemState&);
-
- //////////
- // Destructor
- virtual ~GemState(void);
-
- float texCoordX(int num) const;
-
- float texCoordY(int num) const;
-
- /* reset (parts of?) the GemState: to be called from [gemhead] */
- void reset(void);
-
-
- /* get a named property */
- /* if the property exists (as the given type),
- * the value of the 2nd argument is set accordingly and <code>true</code> is returned
- * if the key does not exist (or the type is wrong) the value is not touched and <code>false</code> is returned instead
- */
- virtual bool get(const key_t key, gem::any&value);
-
- template<class T>
- bool get(const key_t key, T&value) {
- try {
- gem::any val;
- if(!get(key,val)) {
- // key not found
- return false;
- }
- value=gem::any_cast<T>(val);
- return true;
- } catch (gem::bad_any_cast&x) {
- ::verbose(3, "%s:%d [%s] %d :: %s", __FILE__, __LINE__, __FUNCTION__, key, x.what().c_str());
- // type problem
- }
- return false;
- };
- /* set a named property */
- virtual bool set(const key_t key, gem::any value);
- /* remove a named property */
- virtual bool remove(const key_t key);
-
- // Copy assignment
- GemState& operator=(const GemState&);
-
- protected:
- GemStateData*data;
-};
-
-#endif // for header file
+/*-----------------------------------------------------------------
+ LOG
+ GEM - Graphics Environment for Multimedia
+
+ The state to pass among GEM objects
+
+ Copyright (c) 1997-2000 Mark Danks. mark@danks.org
+ Copyright (c) Günther Geiger. geiger@epy.co.at
+ Copyright (c) 2001-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
+ For information on usage and redistribution, and for a DISCLAIMER OF ALL
+ WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
+
+ -----------------------------------------------------------------*/
+
+#ifndef _INCLUDE__GEM_GEM_STATE_H_
+#define _INCLUDE__GEM_GEM_STATE_H_
+
+#include "Gem/ExportDef.h"
+#include "Gem/GemGL.h"
+
+#include "Gem/RTE.h"
+#include "Utils/any.h"
+
+struct pixBlock;
+class TexCoord;
+
+/*-----------------------------------------------------------------
+ -------------------------------------------------------------------
+ CLASS
+ TexCoord
+
+
+ DESCRIPTION
+
+ -----------------------------------------------------------------*/
+class GEM_EXTERN TexCoord
+{
+ public:
+ TexCoord() : s(0.f), t(0.f) { }
+ TexCoord(float s_, float t_) : s(s_), t(t_) { }
+ float s;
+ float t;
+};
+
+
+/*-----------------------------------------------------------------
+ -------------------------------------------------------------------
+ CLASS
+ GemState
+
+ The state to pass among GEM objects
+
+ DESCRIPTION
+
+ -----------------------------------------------------------------*/
+
+class GemStateData;
+class GEM_EXTERN GemState
+{
+ public:
+ typedef enum {
+ _DIRTY,
+ _TIMING_TICK,
+ _PIX,
+ _GL_STACKS,
+ _GL_DISPLAYLIST,
+ _GL_LIGHTING,
+ _GL_SMOOTH,
+ _GL_DRAWTYPE,
+ _GL_TEX_TYPE,
+ _GL_TEX_COORDS,
+ _GL_TEX_NUMCOORDS,
+ _GL_TEX_UNITS,
+
+
+
+
+
+ _LAST
+ } key_t;
+
+ //////////
+ // Has something changed since the last time?
+ // deprecated: use property 'dirty' instead
+ GEM_DEPRECATED bool dirty;
+
+ //////////
+ // Are we in a display list creation?
+ // deprecated: use property 'gl.displaylist' instead
+ GEM_DEPRECATED bool inDisplayList;
+
+ //////////
+ // Lighting on?
+ // deprecated: use property 'gl.lighting' instead
+ GEM_DEPRECATED bool lighting;
+
+ //////////
+ // Smooth shading (flat is other type)
+ // deprecated: use property 'gl.smooth' instead
+ GEM_DEPRECATED bool smooth;
+
+ //////////
+ // Texture mapping on?
+ // 0..off
+ // 1..normalized texture
+ // 2..rectangle texture
+ // deprecated: use property 'gl.tex.type' instead
+ GEM_DEPRECATED int texture;
+
+ //////////
+ // The image to texture map
+ // deprecated: use property 'pix' instead
+ GEM_DEPRECATED pixBlock *image;
+
+ //////////
+ // Texture coordinates.
+ // This can be NULL if there aren't any coordinates
+ // deprecated: use property 'gl.tex.coords' instead
+ GEM_DEPRECATED TexCoord *texCoords;
+
+ //////////
+ // The number of TexCoords
+ // deprecated: use property 'gl.tex.numcoords' instead
+ GEM_DEPRECATED int numTexCoords;
+
+ //////////
+ // The number of multiTexUnits
+ // default = 0, max = 7
+ // deprecated: use property 'gl.tex.units' instead
+ GEM_DEPRECATED int multiTexUnits;
+
+ //////////
+ // Milliseconds since last frame
+ // If in Stereoscopic mode, then it is the same number for both left
+ // and right renderings
+ // deprecated: use property 'timing.tick' instead
+ GEM_DEPRECATED float tickTime;
+
+ //////////////////
+ // the default draw-type (might be overriden within a Geo)
+ // deprecated: use property 'gl.drawtype' instead
+ GEM_DEPRECATED GLenum drawType;
+
+ //////////
+ // how deep is the current stack /* 4 fields for the 4 stacks */
+ // deprecated: use property 'gl.stacks' instead
+ GEM_DEPRECATED int stackDepth[4];
+
+ ////////////
+ //vertex-array data
+ // deprecated: use property 'vertex.dirty' instead
+ GEM_DEPRECATED int VertexDirty; // the vertex-arrays has changed
+ // deprecated: use property 'vertex.array.vertex' instead
+ GEM_DEPRECATED GLfloat *VertexArray;
+ // deprecated: use property 'vertex.array.vertex' instead
+ GEM_DEPRECATED int VertexArraySize;
+ // deprecated: use property 'vertex.array.vertex' instead
+ GEM_DEPRECATED int VertexArrayStride;
+
+ // deprecated: use property 'vertex.array.color' instead
+ GEM_DEPRECATED GLfloat *ColorArray;
+ // deprecated: use property 'vertex.array.color' instead
+ GEM_DEPRECATED bool HaveColorArray;
+
+ // deprecated: use property 'vertex.array.normal' instead
+ GEM_DEPRECATED GLfloat *NormalArray;
+ // deprecated: use property 'vertex.array.normal' instead
+ GEM_DEPRECATED bool HaveNormalArray;
+
+ // deprecated: use property 'vertex.array.texcoord' instead
+ GEM_DEPRECATED GLfloat *TexCoordArray;
+ // deprecated: use property 'vertex.array.texcoord' instead
+ GEM_DEPRECATED bool HaveTexCoordArray;
+
+ //////////
+ // Constructor
+ GemState(void);
+ GemState(const GemState&);
+
+ //////////
+ // Destructor
+ virtual ~GemState(void);
+
+ float texCoordX(int num) const;
+
+ float texCoordY(int num) const;
+
+ /* reset (parts of?) the GemState: to be called from [gemhead] */
+ void reset(void);
+
+
+ /* get a named property */
+ /* if the property exists (as the given type),
+ * the value of the 2nd argument is set accordingly and <code>true</code> is returned
+ * if the key does not exist (or the type is wrong) the value is not touched and <code>false</code> is returned instead
+ */
+ virtual bool get(const key_t key, gem::any&value);
+
+ template<class T>
+ bool get(const key_t key, T&value) {
+ try {
+ gem::any val;
+ if(!get(key,val)) {
+ // key not found
+ return false;
+ }
+ value=gem::any_cast<T>(val);
+ return true;
+ } catch (gem::bad_any_cast&x) {
+ ::verbose(3, "%s:%d [%s] %d :: %s", __FILE__, __LINE__, __FUNCTION__, key, x.what().c_str());
+ // type problem
+ }
+ return false;
+ };
+ /* set a named property */
+ virtual bool set(const key_t key, gem::any value);
+ /* remove a named property */
+ virtual bool remove(const key_t key);
+
+ // Copy assignment
+ GemState& operator=(const GemState&);
+
+ protected:
+ GemStateData*data;
+};
+
+#endif // for header file
diff --git a/packages/noncvs/windows/extra/Gem/dev/Gem/SynchedWorkerThread.h b/packages/noncvs/windows/extra/Gem/dev/Gem/SynchedWorkerThread.h
index bd53218e..80073330 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Gem/SynchedWorkerThread.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Gem/SynchedWorkerThread.h
@@ -1,65 +1,65 @@
-/*-----------------------------------------------------------------
-LOG
- GEM - Graphics Environment for Multimedia
-
- Synchedworkerthread.h
- - part of GEM
- - a worker thread that automatically dequeues in the main thread
-
- Copyright (c) 2011-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
- For information on usage and redistribution, and for a DISCLAIMER OF ALL
- WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
-
------------------------------------------------------------------*/
-
-#ifndef _INCLUDE__GEM_GEM_SYNCHEDWORKERTHREAD_H_
-#define _INCLUDE__GEM_GEM_SYNCHEDWORKERTHREAD_H_
-
-#include "Gem/WorkerThread.h"
-
-namespace gem { namespace thread {
- GEM_EXTERN class SynchedWorkerThread : public WorkerThread {
- private:
- class PIMPL;
- PIMPL*m_pimpl;
- friend class PIMPL;
- /* dummy implementations */
- SynchedWorkerThread(const SynchedWorkerThread&);
- SynchedWorkerThread&operator=(const SynchedWorkerThread&);
-
- public:
- SynchedWorkerThread(bool autostart=true);
- virtual ~SynchedWorkerThread(void);
-
- /*
- * turn on "polling" mode
- * when in polling mode, the calling thread has to call 'dequeue()' in order to
- * deqeue any DONE data
- * when in pushing mode, the data is pushed automatically within the RTE main thread
- *
- * returns TRUE is now in polling mode, or FALSE if now in pushing mode
- * (might be different from what was requested)
- *
- * this MUST be called from the main thread
- */
- virtual bool setPolling(bool value=true);
-
- /**
- * deqeues the entire DONE queue
- * returns the number of elements dequeued
- */
- virtual unsigned int dequeue(void);
-
- protected:
- // this get's called from the main thread(!) with each
- // finished data chunk
- virtual void done(id_t ID, void*data) = 0;
-
- //////
- // tell RTE to call back asap
- virtual void signal(void);
-
- };};};
-
-
-#endif /* _INCLUDE__GEM_GEM_SYNCHEDWORKERTHREAD_H_ */
+/*-----------------------------------------------------------------
+LOG
+ GEM - Graphics Environment for Multimedia
+
+ Synchedworkerthread.h
+ - part of GEM
+ - a worker thread that automatically dequeues in the main thread
+
+ Copyright (c) 2011-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
+ For information on usage and redistribution, and for a DISCLAIMER OF ALL
+ WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
+
+-----------------------------------------------------------------*/
+
+#ifndef _INCLUDE__GEM_GEM_SYNCHEDWORKERTHREAD_H_
+#define _INCLUDE__GEM_GEM_SYNCHEDWORKERTHREAD_H_
+
+#include "Gem/WorkerThread.h"
+
+namespace gem { namespace thread {
+ GEM_EXTERN class SynchedWorkerThread : public WorkerThread {
+ private:
+ class PIMPL;
+ PIMPL*m_pimpl;
+ friend class PIMPL;
+ /* dummy implementations */
+ SynchedWorkerThread(const SynchedWorkerThread&);
+ SynchedWorkerThread&operator=(const SynchedWorkerThread&);
+
+ public:
+ SynchedWorkerThread(bool autostart=true);
+ virtual ~SynchedWorkerThread(void);
+
+ /*
+ * turn on "polling" mode
+ * when in polling mode, the calling thread has to call 'dequeue()' in order to
+ * deqeue any DONE data
+ * when in pushing mode, the data is pushed automatically within the RTE main thread
+ *
+ * returns TRUE is now in polling mode, or FALSE if now in pushing mode
+ * (might be different from what was requested)
+ *
+ * this MUST be called from the main thread
+ */
+ virtual bool setPolling(bool value=true);
+
+ /**
+ * deqeues the entire DONE queue
+ * returns the number of elements dequeued
+ */
+ virtual unsigned int dequeue(void);
+
+ protected:
+ // this get's called from the main thread(!) with each
+ // finished data chunk
+ virtual void done(id_t ID, void*data) = 0;
+
+ //////
+ // tell RTE to call back asap
+ virtual void signal(void);
+
+ };};};
+
+
+#endif /* _INCLUDE__GEM_GEM_SYNCHEDWORKERTHREAD_H_ */
diff --git a/packages/noncvs/windows/extra/Gem/dev/Gem/ThreadMutex.h b/packages/noncvs/windows/extra/Gem/dev/Gem/ThreadMutex.h
index 35ed6344..cee701f6 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Gem/ThreadMutex.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Gem/ThreadMutex.h
@@ -1,38 +1,38 @@
-/*-----------------------------------------------------------------
-LOG
- GEM - Graphics Environment for Multimedia
-
- - locks a thread (wrapper around pthread_mutex)
-
- Copyright (c) 2011-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
- For information on usage and redistribution, and for a DISCLAIMER OF ALL
- WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
-
------------------------------------------------------------------*/
-
-#ifndef _INCLUDE__GEM_GEM_THREADMUTEX_H_
-#define _INCLUDE__GEM_GEM_THREADMUTEX_H_
-
-
-#include "Gem/ExportDef.h"
-
-namespace gem {
- namespace thread {
- GEM_EXTERN class Mutex {
- private:
- class PIMPL;
- PIMPL*m_pimpl;
- public:
- Mutex(void);
- virtual ~Mutex(void);
-
- Mutex(const Mutex&);
- Mutex&operator=(const Mutex&);
-
- void lock (void);
- void unlock (void);
- bool trylock(void);
- };
- };
-};
-#endif /* _INCLUDE__GEM_GEM_THREADMUTEX_H_ */
+/*-----------------------------------------------------------------
+LOG
+ GEM - Graphics Environment for Multimedia
+
+ - locks a thread (wrapper around pthread_mutex)
+
+ Copyright (c) 2011-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
+ For information on usage and redistribution, and for a DISCLAIMER OF ALL
+ WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
+
+-----------------------------------------------------------------*/
+
+#ifndef _INCLUDE__GEM_GEM_THREADMUTEX_H_
+#define _INCLUDE__GEM_GEM_THREADMUTEX_H_
+
+
+#include "Gem/ExportDef.h"
+
+namespace gem {
+ namespace thread {
+ GEM_EXTERN class Mutex {
+ private:
+ class PIMPL;
+ PIMPL*m_pimpl;
+ public:
+ Mutex(void);
+ virtual ~Mutex(void);
+
+ Mutex(const Mutex&);
+ Mutex&operator=(const Mutex&);
+
+ void lock (void);
+ void unlock (void);
+ bool trylock(void);
+ };
+ };
+};
+#endif /* _INCLUDE__GEM_GEM_THREADMUTEX_H_ */
diff --git a/packages/noncvs/windows/extra/Gem/dev/Gem/ThreadSemaphore.h b/packages/noncvs/windows/extra/Gem/dev/Gem/ThreadSemaphore.h
index c1aa4981..f5023094 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Gem/ThreadSemaphore.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Gem/ThreadSemaphore.h
@@ -1,37 +1,37 @@
-/*-----------------------------------------------------------------
-LOG
- GEM - Graphics Environment for Multimedia
-
- - locks a thread (wrapper around pthread's sem_t)
-
- Copyright (c) 2011-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
- For information on usage and redistribution, and for a DISCLAIMER OF ALL
- WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
-
------------------------------------------------------------------*/
-
-#ifndef _INCLUDE__GEM_GEM_THREADSEMAPHORE_H_
-#define _INCLUDE__GEM_GEM_THREADSEMAPHORE_H_
-
-
-#include "Gem/ExportDef.h"
-
-namespace gem {
- namespace thread {
- GEM_EXTERN class Semaphore {
- private:
- class PIMPL;
- PIMPL*m_pimpl;
- public:
- Semaphore(void);
- virtual ~Semaphore(void);
- Semaphore(const Semaphore&);
-
- void freeze (void);
- void thaw (void);
-
- virtual Semaphore&operator=(const Semaphore&);
- };
- };
-};
-#endif /* _INCLUDE__GEM_GEM_THREADSEMAPHORE_H_ */
+/*-----------------------------------------------------------------
+LOG
+ GEM - Graphics Environment for Multimedia
+
+ - locks a thread (wrapper around pthread's sem_t)
+
+ Copyright (c) 2011-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
+ For information on usage and redistribution, and for a DISCLAIMER OF ALL
+ WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
+
+-----------------------------------------------------------------*/
+
+#ifndef _INCLUDE__GEM_GEM_THREADSEMAPHORE_H_
+#define _INCLUDE__GEM_GEM_THREADSEMAPHORE_H_
+
+
+#include "Gem/ExportDef.h"
+
+namespace gem {
+ namespace thread {
+ GEM_EXTERN class Semaphore {
+ private:
+ class PIMPL;
+ PIMPL*m_pimpl;
+ public:
+ Semaphore(void);
+ virtual ~Semaphore(void);
+ Semaphore(const Semaphore&);
+
+ void freeze (void);
+ void thaw (void);
+
+ virtual Semaphore&operator=(const Semaphore&);
+ };
+ };
+};
+#endif /* _INCLUDE__GEM_GEM_THREADSEMAPHORE_H_ */
diff --git a/packages/noncvs/windows/extra/Gem/dev/Gem/Version.h b/packages/noncvs/windows/extra/Gem/dev/Gem/Version.h
index dbc948fa..b697f992 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Gem/Version.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Gem/Version.h
@@ -1,19 +1,19 @@
-#ifndef GEM_VERSION_H
-#define GEM_VERSION_H
-
-#include "Gem/ExportDef.h"
-
-#define GEM_VERSION_MAJOR 0
-#define GEM_VERSION_MINOR 93
-
-namespace gem {
-class GEM_EXTERN Version {
- public:
- const static char* versionString(void);
- static bool versionCheck(int major, int minor);
-}; };
-
-#define GemVersion gem::Version
-
-#endif
-
+#ifndef GEM_VERSION_H
+#define GEM_VERSION_H
+
+#include "Gem/ExportDef.h"
+
+#define GEM_VERSION_MAJOR 0
+#define GEM_VERSION_MINOR 93
+
+namespace gem {
+class GEM_EXTERN Version {
+ public:
+ const static char* versionString(void);
+ static bool versionCheck(int major, int minor);
+}; };
+
+#define GemVersion gem::Version
+
+#endif
+
diff --git a/packages/noncvs/windows/extra/Gem/dev/Gem/WorkerThread.h b/packages/noncvs/windows/extra/Gem/dev/Gem/WorkerThread.h
index 01c8c133..35d9fb95 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Gem/WorkerThread.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Gem/WorkerThread.h
@@ -1,80 +1,80 @@
-/*-----------------------------------------------------------------
-LOG
- GEM - Graphics Environment for Multimedia
-
- WorkerThread.h
- - part of GEM
- - baseclass for queueing/dequeueing workloads for threaded
-
- Copyright (c) 2011-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
- For information on usage and redistribution, and for a DISCLAIMER OF ALL
- WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
-
------------------------------------------------------------------*/
-
-#ifndef _INCLUDE__GEM_GEM_WORKERTHREAD_H_
-#define _INCLUDE__GEM_GEM_WORKERTHREAD_H_
-
-#include "Gem/ExportDef.h"
-
-namespace gem { namespace thread {
- GEM_EXTERN class WorkerThread {
- private:
- class PIMPL;
- PIMPL*m_pimpl;
- friend class PIMPL;
- /* dummy implementations */
- WorkerThread(const WorkerThread&);
- WorkerThread&operator=(const WorkerThread&);
- public:
- WorkerThread(void);
- virtual ~WorkerThread(void);
-
- ////
- // start/stop thread(s)
- virtual bool start(void);
- virtual bool stop(bool wait=true);
-
- typedef unsigned int id_t;
- static const id_t INVALID, IMMEDIATE;
-
- // queue a 'data' chunk onto the TODO queue
- // the returned 'ID' can be used to interact with the queues
- // if queuing failed, FALSE is returned and ID is set to INVALID
- virtual bool queue(id_t&ID, void*data);
-
- //////
- // cancel a datachunk from the TODO-queue
- // if the chunk was successfully removed, returns TRUE
- // (FALSE is returned, if e.g. the given datachunk was not found in the queue)
- // note that items already processed cannot be cancelled anymore
- virtual bool cancel(const id_t ID);
-
- // dequeue the next datachunk from the DONE queue
- // if the queue is empty, FALSE is returned and ID is set to INVALID
- virtual bool dequeue(id_t&ID, void*&data);
-
- protected:
-
- ////
- // the worker!
- // get's called from an alternative thread(s)
- // when the queue is non-empty,
- // the first element is removed from the TODO queue,
- // and this function is called with the 1st element as data
- // the result returned is added to the done queue (alongside the ID)
- virtual void* process(id_t ID, void*data) = 0;
-
- ////
- // this get's called to indicate that new data is in the DONE queue
- // you can use it to set a semaphore in the main thread, to fetch
- // the data
- // it get's called once after process() has been successfull
- // and will nott be called before dequeue has been called at least once
- //
- virtual void signal(void);
-
- };};};
-
-
-#endif /* _INCLUDE__GEM_GEM_WORKERTHREAD_H_ */
+/*-----------------------------------------------------------------
+LOG
+ GEM - Graphics Environment for Multimedia
+
+ WorkerThread.h
+ - part of GEM
+ - baseclass for queueing/dequeueing workloads for threaded
+
+ Copyright (c) 2011-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
+ For information on usage and redistribution, and for a DISCLAIMER OF ALL
+ WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
+
+-----------------------------------------------------------------*/
+
+#ifndef _INCLUDE__GEM_GEM_WORKERTHREAD_H_
+#define _INCLUDE__GEM_GEM_WORKERTHREAD_H_
+
+#include "Gem/ExportDef.h"
+
+namespace gem { namespace thread {
+ GEM_EXTERN class WorkerThread {
+ private:
+ class PIMPL;
+ PIMPL*m_pimpl;
+ friend class PIMPL;
+ /* dummy implementations */
+ WorkerThread(const WorkerThread&);
+ WorkerThread&operator=(const WorkerThread&);
+ public:
+ WorkerThread(void);
+ virtual ~WorkerThread(void);
+
+ ////
+ // start/stop thread(s)
+ virtual bool start(void);
+ virtual bool stop(bool wait=true);
+
+ typedef unsigned int id_t;
+ static const id_t INVALID, IMMEDIATE;
+
+ // queue a 'data' chunk onto the TODO queue
+ // the returned 'ID' can be used to interact with the queues
+ // if queuing failed, FALSE is returned and ID is set to INVALID
+ virtual bool queue(id_t&ID, void*data);
+
+ //////
+ // cancel a datachunk from the TODO-queue
+ // if the chunk was successfully removed, returns TRUE
+ // (FALSE is returned, if e.g. the given datachunk was not found in the queue)
+ // note that items already processed cannot be cancelled anymore
+ virtual bool cancel(const id_t ID);
+
+ // dequeue the next datachunk from the DONE queue
+ // if the queue is empty, FALSE is returned and ID is set to INVALID
+ virtual bool dequeue(id_t&ID, void*&data);
+
+ protected:
+
+ ////
+ // the worker!
+ // get's called from an alternative thread(s)
+ // when the queue is non-empty,
+ // the first element is removed from the TODO queue,
+ // and this function is called with the 1st element as data
+ // the result returned is added to the done queue (alongside the ID)
+ virtual void* process(id_t ID, void*data) = 0;
+
+ ////
+ // this get's called to indicate that new data is in the DONE queue
+ // you can use it to set a semaphore in the main thread, to fetch
+ // the data
+ // it get's called once after process() has been successfull
+ // and will nott be called before dequeue has been called at least once
+ //
+ virtual void signal(void);
+
+ };};};
+
+
+#endif /* _INCLUDE__GEM_GEM_WORKERTHREAD_H_ */
diff --git a/packages/noncvs/windows/extra/Gem/dev/Gem/glew.h b/packages/noncvs/windows/extra/Gem/dev/Gem/glew.h
index 189270e6..bd4e6413 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Gem/glew.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Gem/glew.h
@@ -1,14435 +1,14435 @@
-/*
-** The OpenGL Extension Wrangler Library
-** Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
-** Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
-** Copyright (C) 2002, Lev Povalahev
-** All rights reserved.
-**
-** Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are met:
-**
-** * Redistributions of source code must retain the above copyright notice,
-** this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright notice,
-** this list of conditions and the following disclaimer in the documentation
-** and/or other materials provided with the distribution.
-** * The name of the author may be used to endorse or promote products
-** derived from this software without specific prior written permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-** AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-** ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-** LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-** CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-** SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-** INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-** CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-** ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
-** THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/*
- * Mesa 3-D graphics library
- * Version: 7.0
- *
- * Copyright (C) 1999-2007 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.
- */
-
-/*
-** Copyright (c) 2007 The Khronos Group Inc.
-**
-** Permission is hereby granted, free of charge, to any person obtaining a
-** copy of this software and/or associated documentation files (the
-** "Materials"), to deal in the Materials without restriction, including
-** without limitation the rights to use, copy, modify, merge, publish,
-** distribute, sublicense, and/or sell copies of the Materials, and to
-** permit persons to whom the Materials are 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 Materials.
-**
-** THE MATERIALS ARE 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 THE AUTHORS OR COPYRIGHT HOLDERS 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
-** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
-*/
-
-#ifndef __glew_h__
-#define __glew_h__
-#define __GLEW_H__
-
-#if defined(__gl_h_) || defined(__GL_H__) || defined(__X_GL_H)
-#error gl.h included before glew.h
-#endif
-#if defined(__glext_h_) || defined(__GLEXT_H_)
-#error glext.h included before glew.h
-#endif
-#if defined(__gl_ATI_h_)
-#error glATI.h included before glew.h
-#endif
-
-#define __gl_h_
-#define __GL_H__
-#define __X_GL_H
-#define __glext_h_
-#define __GLEXT_H_
-#define __gl_ATI_h_
-
-#if defined(_WIN32)
-
-/*
- * GLEW does not include <windows.h> to avoid name space pollution.
- * GL needs GLAPI and GLAPIENTRY, GLU needs APIENTRY, CALLBACK, and wchar_t
- * defined properly.
- */
-/* <windef.h> */
-#ifndef APIENTRY
-#define GLEW_APIENTRY_DEFINED
-# if defined(__MINGW32__) || defined(__CYGWIN__)
-# define APIENTRY __stdcall
-# elif (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) || defined(__BORLANDC__)
-# define APIENTRY __stdcall
-# else
-# define APIENTRY
-# endif
-#endif
-#ifndef GLAPI
-# if defined(__MINGW32__) || defined(__CYGWIN__)
-# define GLAPI extern
-# endif
-#endif
-/* <winnt.h> */
-#ifndef CALLBACK
-#define GLEW_CALLBACK_DEFINED
-# if defined(__MINGW32__) || defined(__CYGWIN__)
-# define CALLBACK __attribute__ ((__stdcall__))
-# elif (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS)
-# define CALLBACK __stdcall
-# else
-# define CALLBACK
-# endif
-#endif
-/* <wingdi.h> and <winnt.h> */
-#ifndef WINGDIAPI
-#define GLEW_WINGDIAPI_DEFINED
-#define WINGDIAPI __declspec(dllimport)
-#endif
-/* <ctype.h> */
-#if (defined(_MSC_VER) || defined(__BORLANDC__)) && !defined(_WCHAR_T_DEFINED)
-typedef unsigned short wchar_t;
-# define _WCHAR_T_DEFINED
-#endif
-/* <stddef.h> */
-#if !defined(_W64)
-# if !defined(__midl) && (defined(_X86_) || defined(_M_IX86)) && defined(_MSC_VER) && _MSC_VER >= 1300
-# define _W64 __w64
-# else
-# define _W64
-# endif
-#endif
-#if !defined(_PTRDIFF_T_DEFINED) && !defined(_PTRDIFF_T_)
-# ifdef _WIN64
-typedef __int64 ptrdiff_t;
-# else
-typedef _W64 int ptrdiff_t;
-# endif
-# define _PTRDIFF_T_DEFINED
-# define _PTRDIFF_T_
-#endif
-
-#ifndef GLAPI
-# if defined(__MINGW32__) || defined(__CYGWIN__)
-# define GLAPI extern
-# else
-# define GLAPI WINGDIAPI
-# endif
-#endif
-
-#ifndef GLAPIENTRY
-#define GLAPIENTRY APIENTRY
-#endif
-
-/*
- * GLEW_STATIC needs to be set when using the static version.
- * GLEW_BUILD is set when building the DLL version.
- */
-#ifdef GLEW_STATIC
-# define GLEWAPI extern
-#else
-# ifdef GLEW_BUILD
-# define GLEWAPI extern __declspec(dllexport)
-# else
-# define GLEWAPI extern __declspec(dllimport)
-# endif
-#endif
-
-#else /* _UNIX */
-
-/*
- * Needed for ptrdiff_t in turn needed by VBO. This is defined by ISO
- * C. On my system, this amounts to _3 lines_ of included code, all of
- * them pretty much harmless. If you know of a way of detecting 32 vs
- * 64 _targets_ at compile time you are free to replace this with
- * something that's portable. For now, _this_ is the portable solution.
- * (mem, 2004-01-04)
- */
-
-#include <stddef.h>
-
-/* SGI MIPSPro doesn't like stdint.h in C++ mode */
-
-#if defined(__sgi) && !defined(__GNUC__)
-#include <inttypes.h>
-#else
-#include <stdint.h>
-#endif
-
-#define GLEW_APIENTRY_DEFINED
-#define APIENTRY
-#define GLEWAPI extern
-
-/* <glu.h> */
-#ifndef GLAPI
-#define GLAPI extern
-#endif
-#ifndef GLAPIENTRY
-#define GLAPIENTRY
-#endif
-
-#endif /* _WIN32 */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* ----------------------------- GL_VERSION_1_1 ---------------------------- */
-
-#ifndef GL_VERSION_1_1
-#define GL_VERSION_1_1 1
-
-typedef unsigned int GLenum;
-typedef unsigned int GLbitfield;
-typedef unsigned int GLuint;
-typedef int GLint;
-typedef int GLsizei;
-typedef unsigned char GLboolean;
-typedef signed char GLbyte;
-typedef short GLshort;
-typedef unsigned char GLubyte;
-typedef unsigned short GLushort;
-typedef unsigned long GLulong;
-typedef float GLfloat;
-typedef float GLclampf;
-typedef double GLdouble;
-typedef double GLclampd;
-typedef void GLvoid;
-#if defined(_MSC_VER)
-# if _MSC_VER < 1400
-typedef __int64 GLint64EXT;
-typedef unsigned __int64 GLuint64EXT;
-# else
-typedef signed long long GLint64EXT;
-typedef unsigned long long GLuint64EXT;
-# endif
-#else
-# if defined(__MINGW32__) || defined(__CYGWIN__)
-#include <inttypes.h>
-# endif
-typedef int64_t GLint64EXT;
-typedef uint64_t GLuint64EXT;
-#endif
-typedef GLint64EXT GLint64;
-typedef GLuint64EXT GLuint64;
-typedef struct __GLsync *GLsync;
-
-#define GL_ACCUM 0x0100
-#define GL_LOAD 0x0101
-#define GL_RETURN 0x0102
-#define GL_MULT 0x0103
-#define GL_ADD 0x0104
-#define GL_NEVER 0x0200
-#define GL_LESS 0x0201
-#define GL_EQUAL 0x0202
-#define GL_LEQUAL 0x0203
-#define GL_GREATER 0x0204
-#define GL_NOTEQUAL 0x0205
-#define GL_GEQUAL 0x0206
-#define GL_ALWAYS 0x0207
-#define GL_CURRENT_BIT 0x00000001
-#define GL_POINT_BIT 0x00000002
-#define GL_LINE_BIT 0x00000004
-#define GL_POLYGON_BIT 0x00000008
-#define GL_POLYGON_STIPPLE_BIT 0x00000010
-#define GL_PIXEL_MODE_BIT 0x00000020
-#define GL_LIGHTING_BIT 0x00000040
-#define GL_FOG_BIT 0x00000080
-#define GL_DEPTH_BUFFER_BIT 0x00000100
-#define GL_ACCUM_BUFFER_BIT 0x00000200
-#define GL_STENCIL_BUFFER_BIT 0x00000400
-#define GL_VIEWPORT_BIT 0x00000800
-#define GL_TRANSFORM_BIT 0x00001000
-#define GL_ENABLE_BIT 0x00002000
-#define GL_COLOR_BUFFER_BIT 0x00004000
-#define GL_HINT_BIT 0x00008000
-#define GL_EVAL_BIT 0x00010000
-#define GL_LIST_BIT 0x00020000
-#define GL_TEXTURE_BIT 0x00040000
-#define GL_SCISSOR_BIT 0x00080000
-#define GL_ALL_ATTRIB_BITS 0x000fffff
-#define GL_POINTS 0x0000
-#define GL_LINES 0x0001
-#define GL_LINE_LOOP 0x0002
-#define GL_LINE_STRIP 0x0003
-#define GL_TRIANGLES 0x0004
-#define GL_TRIANGLE_STRIP 0x0005
-#define GL_TRIANGLE_FAN 0x0006
-#define GL_QUADS 0x0007
-#define GL_QUAD_STRIP 0x0008
-#define GL_POLYGON 0x0009
-#define GL_ZERO 0
-#define GL_ONE 1
-#define GL_SRC_COLOR 0x0300
-#define GL_ONE_MINUS_SRC_COLOR 0x0301
-#define GL_SRC_ALPHA 0x0302
-#define GL_ONE_MINUS_SRC_ALPHA 0x0303
-#define GL_DST_ALPHA 0x0304
-#define GL_ONE_MINUS_DST_ALPHA 0x0305
-#define GL_DST_COLOR 0x0306
-#define GL_ONE_MINUS_DST_COLOR 0x0307
-#define GL_SRC_ALPHA_SATURATE 0x0308
-#define GL_TRUE 1
-#define GL_FALSE 0
-#define GL_CLIP_PLANE0 0x3000
-#define GL_CLIP_PLANE1 0x3001
-#define GL_CLIP_PLANE2 0x3002
-#define GL_CLIP_PLANE3 0x3003
-#define GL_CLIP_PLANE4 0x3004
-#define GL_CLIP_PLANE5 0x3005
-#define GL_BYTE 0x1400
-#define GL_UNSIGNED_BYTE 0x1401
-#define GL_SHORT 0x1402
-#define GL_UNSIGNED_SHORT 0x1403
-#define GL_INT 0x1404
-#define GL_UNSIGNED_INT 0x1405
-#define GL_FLOAT 0x1406
-#define GL_2_BYTES 0x1407
-#define GL_3_BYTES 0x1408
-#define GL_4_BYTES 0x1409
-#define GL_DOUBLE 0x140A
-#define GL_NONE 0
-#define GL_FRONT_LEFT 0x0400
-#define GL_FRONT_RIGHT 0x0401
-#define GL_BACK_LEFT 0x0402
-#define GL_BACK_RIGHT 0x0403
-#define GL_FRONT 0x0404
-#define GL_BACK 0x0405
-#define GL_LEFT 0x0406
-#define GL_RIGHT 0x0407
-#define GL_FRONT_AND_BACK 0x0408
-#define GL_AUX0 0x0409
-#define GL_AUX1 0x040A
-#define GL_AUX2 0x040B
-#define GL_AUX3 0x040C
-#define GL_NO_ERROR 0
-#define GL_INVALID_ENUM 0x0500
-#define GL_INVALID_VALUE 0x0501
-#define GL_INVALID_OPERATION 0x0502
-#define GL_STACK_OVERFLOW 0x0503
-#define GL_STACK_UNDERFLOW 0x0504
-#define GL_OUT_OF_MEMORY 0x0505
-#define GL_2D 0x0600
-#define GL_3D 0x0601
-#define GL_3D_COLOR 0x0602
-#define GL_3D_COLOR_TEXTURE 0x0603
-#define GL_4D_COLOR_TEXTURE 0x0604
-#define GL_PASS_THROUGH_TOKEN 0x0700
-#define GL_POINT_TOKEN 0x0701
-#define GL_LINE_TOKEN 0x0702
-#define GL_POLYGON_TOKEN 0x0703
-#define GL_BITMAP_TOKEN 0x0704
-#define GL_DRAW_PIXEL_TOKEN 0x0705
-#define GL_COPY_PIXEL_TOKEN 0x0706
-#define GL_LINE_RESET_TOKEN 0x0707
-#define GL_EXP 0x0800
-#define GL_EXP2 0x0801
-#define GL_CW 0x0900
-#define GL_CCW 0x0901
-#define GL_COEFF 0x0A00
-#define GL_ORDER 0x0A01
-#define GL_DOMAIN 0x0A02
-#define GL_CURRENT_COLOR 0x0B00
-#define GL_CURRENT_INDEX 0x0B01
-#define GL_CURRENT_NORMAL 0x0B02
-#define GL_CURRENT_TEXTURE_COORDS 0x0B03
-#define GL_CURRENT_RASTER_COLOR 0x0B04
-#define GL_CURRENT_RASTER_INDEX 0x0B05
-#define GL_CURRENT_RASTER_TEXTURE_COORDS 0x0B06
-#define GL_CURRENT_RASTER_POSITION 0x0B07
-#define GL_CURRENT_RASTER_POSITION_VALID 0x0B08
-#define GL_CURRENT_RASTER_DISTANCE 0x0B09
-#define GL_POINT_SMOOTH 0x0B10
-#define GL_POINT_SIZE 0x0B11
-#define GL_POINT_SIZE_RANGE 0x0B12
-#define GL_POINT_SIZE_GRANULARITY 0x0B13
-#define GL_LINE_SMOOTH 0x0B20
-#define GL_LINE_WIDTH 0x0B21
-#define GL_LINE_WIDTH_RANGE 0x0B22
-#define GL_LINE_WIDTH_GRANULARITY 0x0B23
-#define GL_LINE_STIPPLE 0x0B24
-#define GL_LINE_STIPPLE_PATTERN 0x0B25
-#define GL_LINE_STIPPLE_REPEAT 0x0B26
-#define GL_LIST_MODE 0x0B30
-#define GL_MAX_LIST_NESTING 0x0B31
-#define GL_LIST_BASE 0x0B32
-#define GL_LIST_INDEX 0x0B33
-#define GL_POLYGON_MODE 0x0B40
-#define GL_POLYGON_SMOOTH 0x0B41
-#define GL_POLYGON_STIPPLE 0x0B42
-#define GL_EDGE_FLAG 0x0B43
-#define GL_CULL_FACE 0x0B44
-#define GL_CULL_FACE_MODE 0x0B45
-#define GL_FRONT_FACE 0x0B46
-#define GL_LIGHTING 0x0B50
-#define GL_LIGHT_MODEL_LOCAL_VIEWER 0x0B51
-#define GL_LIGHT_MODEL_TWO_SIDE 0x0B52
-#define GL_LIGHT_MODEL_AMBIENT 0x0B53
-#define GL_SHADE_MODEL 0x0B54
-#define GL_COLOR_MATERIAL_FACE 0x0B55
-#define GL_COLOR_MATERIAL_PARAMETER 0x0B56
-#define GL_COLOR_MATERIAL 0x0B57
-#define GL_FOG 0x0B60
-#define GL_FOG_INDEX 0x0B61
-#define GL_FOG_DENSITY 0x0B62
-#define GL_FOG_START 0x0B63
-#define GL_FOG_END 0x0B64
-#define GL_FOG_MODE 0x0B65
-#define GL_FOG_COLOR 0x0B66
-#define GL_DEPTH_RANGE 0x0B70
-#define GL_DEPTH_TEST 0x0B71
-#define GL_DEPTH_WRITEMASK 0x0B72
-#define GL_DEPTH_CLEAR_VALUE 0x0B73
-#define GL_DEPTH_FUNC 0x0B74
-#define GL_ACCUM_CLEAR_VALUE 0x0B80
-#define GL_STENCIL_TEST 0x0B90
-#define GL_STENCIL_CLEAR_VALUE 0x0B91
-#define GL_STENCIL_FUNC 0x0B92
-#define GL_STENCIL_VALUE_MASK 0x0B93
-#define GL_STENCIL_FAIL 0x0B94
-#define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95
-#define GL_STENCIL_PASS_DEPTH_PASS 0x0B96
-#define GL_STENCIL_REF 0x0B97
-#define GL_STENCIL_WRITEMASK 0x0B98
-#define GL_MATRIX_MODE 0x0BA0
-#define GL_NORMALIZE 0x0BA1
-#define GL_VIEWPORT 0x0BA2
-#define GL_MODELVIEW_STACK_DEPTH 0x0BA3
-#define GL_PROJECTION_STACK_DEPTH 0x0BA4
-#define GL_TEXTURE_STACK_DEPTH 0x0BA5
-#define GL_MODELVIEW_MATRIX 0x0BA6
-#define GL_PROJECTION_MATRIX 0x0BA7
-#define GL_TEXTURE_MATRIX 0x0BA8
-#define GL_ATTRIB_STACK_DEPTH 0x0BB0
-#define GL_CLIENT_ATTRIB_STACK_DEPTH 0x0BB1
-#define GL_ALPHA_TEST 0x0BC0
-#define GL_ALPHA_TEST_FUNC 0x0BC1
-#define GL_ALPHA_TEST_REF 0x0BC2
-#define GL_DITHER 0x0BD0
-#define GL_BLEND_DST 0x0BE0
-#define GL_BLEND_SRC 0x0BE1
-#define GL_BLEND 0x0BE2
-#define GL_LOGIC_OP_MODE 0x0BF0
-#define GL_INDEX_LOGIC_OP 0x0BF1
-#define GL_COLOR_LOGIC_OP 0x0BF2
-#define GL_AUX_BUFFERS 0x0C00
-#define GL_DRAW_BUFFER 0x0C01
-#define GL_READ_BUFFER 0x0C02
-#define GL_SCISSOR_BOX 0x0C10
-#define GL_SCISSOR_TEST 0x0C11
-#define GL_INDEX_CLEAR_VALUE 0x0C20
-#define GL_INDEX_WRITEMASK 0x0C21
-#define GL_COLOR_CLEAR_VALUE 0x0C22
-#define GL_COLOR_WRITEMASK 0x0C23
-#define GL_INDEX_MODE 0x0C30
-#define GL_RGBA_MODE 0x0C31
-#define GL_DOUBLEBUFFER 0x0C32
-#define GL_STEREO 0x0C33
-#define GL_RENDER_MODE 0x0C40
-#define GL_PERSPECTIVE_CORRECTION_HINT 0x0C50
-#define GL_POINT_SMOOTH_HINT 0x0C51
-#define GL_LINE_SMOOTH_HINT 0x0C52
-#define GL_POLYGON_SMOOTH_HINT 0x0C53
-#define GL_FOG_HINT 0x0C54
-#define GL_TEXTURE_GEN_S 0x0C60
-#define GL_TEXTURE_GEN_T 0x0C61
-#define GL_TEXTURE_GEN_R 0x0C62
-#define GL_TEXTURE_GEN_Q 0x0C63
-#define GL_PIXEL_MAP_I_TO_I 0x0C70
-#define GL_PIXEL_MAP_S_TO_S 0x0C71
-#define GL_PIXEL_MAP_I_TO_R 0x0C72
-#define GL_PIXEL_MAP_I_TO_G 0x0C73
-#define GL_PIXEL_MAP_I_TO_B 0x0C74
-#define GL_PIXEL_MAP_I_TO_A 0x0C75
-#define GL_PIXEL_MAP_R_TO_R 0x0C76
-#define GL_PIXEL_MAP_G_TO_G 0x0C77
-#define GL_PIXEL_MAP_B_TO_B 0x0C78
-#define GL_PIXEL_MAP_A_TO_A 0x0C79
-#define GL_PIXEL_MAP_I_TO_I_SIZE 0x0CB0
-#define GL_PIXEL_MAP_S_TO_S_SIZE 0x0CB1
-#define GL_PIXEL_MAP_I_TO_R_SIZE 0x0CB2
-#define GL_PIXEL_MAP_I_TO_G_SIZE 0x0CB3
-#define GL_PIXEL_MAP_I_TO_B_SIZE 0x0CB4
-#define GL_PIXEL_MAP_I_TO_A_SIZE 0x0CB5
-#define GL_PIXEL_MAP_R_TO_R_SIZE 0x0CB6
-#define GL_PIXEL_MAP_G_TO_G_SIZE 0x0CB7
-#define GL_PIXEL_MAP_B_TO_B_SIZE 0x0CB8
-#define GL_PIXEL_MAP_A_TO_A_SIZE 0x0CB9
-#define GL_UNPACK_SWAP_BYTES 0x0CF0
-#define GL_UNPACK_LSB_FIRST 0x0CF1
-#define GL_UNPACK_ROW_LENGTH 0x0CF2
-#define GL_UNPACK_SKIP_ROWS 0x0CF3
-#define GL_UNPACK_SKIP_PIXELS 0x0CF4
-#define GL_UNPACK_ALIGNMENT 0x0CF5
-#define GL_PACK_SWAP_BYTES 0x0D00
-#define GL_PACK_LSB_FIRST 0x0D01
-#define GL_PACK_ROW_LENGTH 0x0D02
-#define GL_PACK_SKIP_ROWS 0x0D03
-#define GL_PACK_SKIP_PIXELS 0x0D04
-#define GL_PACK_ALIGNMENT 0x0D05
-#define GL_MAP_COLOR 0x0D10
-#define GL_MAP_STENCIL 0x0D11
-#define GL_INDEX_SHIFT 0x0D12
-#define GL_INDEX_OFFSET 0x0D13
-#define GL_RED_SCALE 0x0D14
-#define GL_RED_BIAS 0x0D15
-#define GL_ZOOM_X 0x0D16
-#define GL_ZOOM_Y 0x0D17
-#define GL_GREEN_SCALE 0x0D18
-#define GL_GREEN_BIAS 0x0D19
-#define GL_BLUE_SCALE 0x0D1A
-#define GL_BLUE_BIAS 0x0D1B
-#define GL_ALPHA_SCALE 0x0D1C
-#define GL_ALPHA_BIAS 0x0D1D
-#define GL_DEPTH_SCALE 0x0D1E
-#define GL_DEPTH_BIAS 0x0D1F
-#define GL_MAX_EVAL_ORDER 0x0D30
-#define GL_MAX_LIGHTS 0x0D31
-#define GL_MAX_CLIP_PLANES 0x0D32
-#define GL_MAX_TEXTURE_SIZE 0x0D33
-#define GL_MAX_PIXEL_MAP_TABLE 0x0D34
-#define GL_MAX_ATTRIB_STACK_DEPTH 0x0D35
-#define GL_MAX_MODELVIEW_STACK_DEPTH 0x0D36
-#define GL_MAX_NAME_STACK_DEPTH 0x0D37
-#define GL_MAX_PROJECTION_STACK_DEPTH 0x0D38
-#define GL_MAX_TEXTURE_STACK_DEPTH 0x0D39
-#define GL_MAX_VIEWPORT_DIMS 0x0D3A
-#define GL_MAX_CLIENT_ATTRIB_STACK_DEPTH 0x0D3B
-#define GL_SUBPIXEL_BITS 0x0D50
-#define GL_INDEX_BITS 0x0D51
-#define GL_RED_BITS 0x0D52
-#define GL_GREEN_BITS 0x0D53
-#define GL_BLUE_BITS 0x0D54
-#define GL_ALPHA_BITS 0x0D55
-#define GL_DEPTH_BITS 0x0D56
-#define GL_STENCIL_BITS 0x0D57
-#define GL_ACCUM_RED_BITS 0x0D58
-#define GL_ACCUM_GREEN_BITS 0x0D59
-#define GL_ACCUM_BLUE_BITS 0x0D5A
-#define GL_ACCUM_ALPHA_BITS 0x0D5B
-#define GL_NAME_STACK_DEPTH 0x0D70
-#define GL_AUTO_NORMAL 0x0D80
-#define GL_MAP1_COLOR_4 0x0D90
-#define GL_MAP1_INDEX 0x0D91
-#define GL_MAP1_NORMAL 0x0D92
-#define GL_MAP1_TEXTURE_COORD_1 0x0D93
-#define GL_MAP1_TEXTURE_COORD_2 0x0D94
-#define GL_MAP1_TEXTURE_COORD_3 0x0D95
-#define GL_MAP1_TEXTURE_COORD_4 0x0D96
-#define GL_MAP1_VERTEX_3 0x0D97
-#define GL_MAP1_VERTEX_4 0x0D98
-#define GL_MAP2_COLOR_4 0x0DB0
-#define GL_MAP2_INDEX 0x0DB1
-#define GL_MAP2_NORMAL 0x0DB2
-#define GL_MAP2_TEXTURE_COORD_1 0x0DB3
-#define GL_MAP2_TEXTURE_COORD_2 0x0DB4
-#define GL_MAP2_TEXTURE_COORD_3 0x0DB5
-#define GL_MAP2_TEXTURE_COORD_4 0x0DB6
-#define GL_MAP2_VERTEX_3 0x0DB7
-#define GL_MAP2_VERTEX_4 0x0DB8
-#define GL_MAP1_GRID_DOMAIN 0x0DD0
-#define GL_MAP1_GRID_SEGMENTS 0x0DD1
-#define GL_MAP2_GRID_DOMAIN 0x0DD2
-#define GL_MAP2_GRID_SEGMENTS 0x0DD3
-#define GL_TEXTURE_1D 0x0DE0
-#define GL_TEXTURE_2D 0x0DE1
-#define GL_FEEDBACK_BUFFER_POINTER 0x0DF0
-#define GL_FEEDBACK_BUFFER_SIZE 0x0DF1
-#define GL_FEEDBACK_BUFFER_TYPE 0x0DF2
-#define GL_SELECTION_BUFFER_POINTER 0x0DF3
-#define GL_SELECTION_BUFFER_SIZE 0x0DF4
-#define GL_TEXTURE_WIDTH 0x1000
-#define GL_TEXTURE_HEIGHT 0x1001
-#define GL_TEXTURE_INTERNAL_FORMAT 0x1003
-#define GL_TEXTURE_BORDER_COLOR 0x1004
-#define GL_TEXTURE_BORDER 0x1005
-#define GL_DONT_CARE 0x1100
-#define GL_FASTEST 0x1101
-#define GL_NICEST 0x1102
-#define GL_LIGHT0 0x4000
-#define GL_LIGHT1 0x4001
-#define GL_LIGHT2 0x4002
-#define GL_LIGHT3 0x4003
-#define GL_LIGHT4 0x4004
-#define GL_LIGHT5 0x4005
-#define GL_LIGHT6 0x4006
-#define GL_LIGHT7 0x4007
-#define GL_AMBIENT 0x1200
-#define GL_DIFFUSE 0x1201
-#define GL_SPECULAR 0x1202
-#define GL_POSITION 0x1203
-#define GL_SPOT_DIRECTION 0x1204
-#define GL_SPOT_EXPONENT 0x1205
-#define GL_SPOT_CUTOFF 0x1206
-#define GL_CONSTANT_ATTENUATION 0x1207
-#define GL_LINEAR_ATTENUATION 0x1208
-#define GL_QUADRATIC_ATTENUATION 0x1209
-#define GL_COMPILE 0x1300
-#define GL_COMPILE_AND_EXECUTE 0x1301
-#define GL_CLEAR 0x1500
-#define GL_AND 0x1501
-#define GL_AND_REVERSE 0x1502
-#define GL_COPY 0x1503
-#define GL_AND_INVERTED 0x1504
-#define GL_NOOP 0x1505
-#define GL_XOR 0x1506
-#define GL_OR 0x1507
-#define GL_NOR 0x1508
-#define GL_EQUIV 0x1509
-#define GL_INVERT 0x150A
-#define GL_OR_REVERSE 0x150B
-#define GL_COPY_INVERTED 0x150C
-#define GL_OR_INVERTED 0x150D
-#define GL_NAND 0x150E
-#define GL_SET 0x150F
-#define GL_EMISSION 0x1600
-#define GL_SHININESS 0x1601
-#define GL_AMBIENT_AND_DIFFUSE 0x1602
-#define GL_COLOR_INDEXES 0x1603
-#define GL_MODELVIEW 0x1700
-#define GL_PROJECTION 0x1701
-#define GL_TEXTURE 0x1702
-#define GL_COLOR 0x1800
-#define GL_DEPTH 0x1801
-#define GL_STENCIL 0x1802
-#define GL_COLOR_INDEX 0x1900
-#define GL_STENCIL_INDEX 0x1901
-#define GL_DEPTH_COMPONENT 0x1902
-#define GL_RED 0x1903
-#define GL_GREEN 0x1904
-#define GL_BLUE 0x1905
-#define GL_ALPHA 0x1906
-#define GL_RGB 0x1907
-#define GL_RGBA 0x1908
-#define GL_LUMINANCE 0x1909
-#define GL_LUMINANCE_ALPHA 0x190A
-#define GL_BITMAP 0x1A00
-#define GL_POINT 0x1B00
-#define GL_LINE 0x1B01
-#define GL_FILL 0x1B02
-#define GL_RENDER 0x1C00
-#define GL_FEEDBACK 0x1C01
-#define GL_SELECT 0x1C02
-#define GL_FLAT 0x1D00
-#define GL_SMOOTH 0x1D01
-#define GL_KEEP 0x1E00
-#define GL_REPLACE 0x1E01
-#define GL_INCR 0x1E02
-#define GL_DECR 0x1E03
-#define GL_VENDOR 0x1F00
-#define GL_RENDERER 0x1F01
-#define GL_VERSION 0x1F02
-#define GL_EXTENSIONS 0x1F03
-#define GL_S 0x2000
-#define GL_T 0x2001
-#define GL_R 0x2002
-#define GL_Q 0x2003
-#define GL_MODULATE 0x2100
-#define GL_DECAL 0x2101
-#define GL_TEXTURE_ENV_MODE 0x2200
-#define GL_TEXTURE_ENV_COLOR 0x2201
-#define GL_TEXTURE_ENV 0x2300
-#define GL_EYE_LINEAR 0x2400
-#define GL_OBJECT_LINEAR 0x2401
-#define GL_SPHERE_MAP 0x2402
-#define GL_TEXTURE_GEN_MODE 0x2500
-#define GL_OBJECT_PLANE 0x2501
-#define GL_EYE_PLANE 0x2502
-#define GL_NEAREST 0x2600
-#define GL_LINEAR 0x2601
-#define GL_NEAREST_MIPMAP_NEAREST 0x2700
-#define GL_LINEAR_MIPMAP_NEAREST 0x2701
-#define GL_NEAREST_MIPMAP_LINEAR 0x2702
-#define GL_LINEAR_MIPMAP_LINEAR 0x2703
-#define GL_TEXTURE_MAG_FILTER 0x2800
-#define GL_TEXTURE_MIN_FILTER 0x2801
-#define GL_TEXTURE_WRAP_S 0x2802
-#define GL_TEXTURE_WRAP_T 0x2803
-#define GL_CLAMP 0x2900
-#define GL_REPEAT 0x2901
-#define GL_CLIENT_PIXEL_STORE_BIT 0x00000001
-#define GL_CLIENT_VERTEX_ARRAY_BIT 0x00000002
-#define GL_CLIENT_ALL_ATTRIB_BITS 0xffffffff
-#define GL_POLYGON_OFFSET_FACTOR 0x8038
-#define GL_POLYGON_OFFSET_UNITS 0x2A00
-#define GL_POLYGON_OFFSET_POINT 0x2A01
-#define GL_POLYGON_OFFSET_LINE 0x2A02
-#define GL_POLYGON_OFFSET_FILL 0x8037
-#define GL_ALPHA4 0x803B
-#define GL_ALPHA8 0x803C
-#define GL_ALPHA12 0x803D
-#define GL_ALPHA16 0x803E
-#define GL_LUMINANCE4 0x803F
-#define GL_LUMINANCE8 0x8040
-#define GL_LUMINANCE12 0x8041
-#define GL_LUMINANCE16 0x8042
-#define GL_LUMINANCE4_ALPHA4 0x8043
-#define GL_LUMINANCE6_ALPHA2 0x8044
-#define GL_LUMINANCE8_ALPHA8 0x8045
-#define GL_LUMINANCE12_ALPHA4 0x8046
-#define GL_LUMINANCE12_ALPHA12 0x8047
-#define GL_LUMINANCE16_ALPHA16 0x8048
-#define GL_INTENSITY 0x8049
-#define GL_INTENSITY4 0x804A
-#define GL_INTENSITY8 0x804B
-#define GL_INTENSITY12 0x804C
-#define GL_INTENSITY16 0x804D
-#define GL_R3_G3_B2 0x2A10
-#define GL_RGB4 0x804F
-#define GL_RGB5 0x8050
-#define GL_RGB8 0x8051
-#define GL_RGB10 0x8052
-#define GL_RGB12 0x8053
-#define GL_RGB16 0x8054
-#define GL_RGBA2 0x8055
-#define GL_RGBA4 0x8056
-#define GL_RGB5_A1 0x8057
-#define GL_RGBA8 0x8058
-#define GL_RGB10_A2 0x8059
-#define GL_RGBA12 0x805A
-#define GL_RGBA16 0x805B
-#define GL_TEXTURE_RED_SIZE 0x805C
-#define GL_TEXTURE_GREEN_SIZE 0x805D
-#define GL_TEXTURE_BLUE_SIZE 0x805E
-#define GL_TEXTURE_ALPHA_SIZE 0x805F
-#define GL_TEXTURE_LUMINANCE_SIZE 0x8060
-#define GL_TEXTURE_INTENSITY_SIZE 0x8061
-#define GL_PROXY_TEXTURE_1D 0x8063
-#define GL_PROXY_TEXTURE_2D 0x8064
-#define GL_TEXTURE_PRIORITY 0x8066
-#define GL_TEXTURE_RESIDENT 0x8067
-#define GL_TEXTURE_BINDING_1D 0x8068
-#define GL_TEXTURE_BINDING_2D 0x8069
-#define GL_VERTEX_ARRAY 0x8074
-#define GL_NORMAL_ARRAY 0x8075
-#define GL_COLOR_ARRAY 0x8076
-#define GL_INDEX_ARRAY 0x8077
-#define GL_TEXTURE_COORD_ARRAY 0x8078
-#define GL_EDGE_FLAG_ARRAY 0x8079
-#define GL_VERTEX_ARRAY_SIZE 0x807A
-#define GL_VERTEX_ARRAY_TYPE 0x807B
-#define GL_VERTEX_ARRAY_STRIDE 0x807C
-#define GL_NORMAL_ARRAY_TYPE 0x807E
-#define GL_NORMAL_ARRAY_STRIDE 0x807F
-#define GL_COLOR_ARRAY_SIZE 0x8081
-#define GL_COLOR_ARRAY_TYPE 0x8082
-#define GL_COLOR_ARRAY_STRIDE 0x8083
-#define GL_INDEX_ARRAY_TYPE 0x8085
-#define GL_INDEX_ARRAY_STRIDE 0x8086
-#define GL_TEXTURE_COORD_ARRAY_SIZE 0x8088
-#define GL_TEXTURE_COORD_ARRAY_TYPE 0x8089
-#define GL_TEXTURE_COORD_ARRAY_STRIDE 0x808A
-#define GL_EDGE_FLAG_ARRAY_STRIDE 0x808C
-#define GL_VERTEX_ARRAY_POINTER 0x808E
-#define GL_NORMAL_ARRAY_POINTER 0x808F
-#define GL_COLOR_ARRAY_POINTER 0x8090
-#define GL_INDEX_ARRAY_POINTER 0x8091
-#define GL_TEXTURE_COORD_ARRAY_POINTER 0x8092
-#define GL_EDGE_FLAG_ARRAY_POINTER 0x8093
-#define GL_V2F 0x2A20
-#define GL_V3F 0x2A21
-#define GL_C4UB_V2F 0x2A22
-#define GL_C4UB_V3F 0x2A23
-#define GL_C3F_V3F 0x2A24
-#define GL_N3F_V3F 0x2A25
-#define GL_C4F_N3F_V3F 0x2A26
-#define GL_T2F_V3F 0x2A27
-#define GL_T4F_V4F 0x2A28
-#define GL_T2F_C4UB_V3F 0x2A29
-#define GL_T2F_C3F_V3F 0x2A2A
-#define GL_T2F_N3F_V3F 0x2A2B
-#define GL_T2F_C4F_N3F_V3F 0x2A2C
-#define GL_T4F_C4F_N3F_V4F 0x2A2D
-#define GL_LOGIC_OP GL_INDEX_LOGIC_OP
-#define GL_TEXTURE_COMPONENTS GL_TEXTURE_INTERNAL_FORMAT
-#define GL_COLOR_INDEX1_EXT 0x80E2
-#define GL_COLOR_INDEX2_EXT 0x80E3
-#define GL_COLOR_INDEX4_EXT 0x80E4
-#define GL_COLOR_INDEX8_EXT 0x80E5
-#define GL_COLOR_INDEX12_EXT 0x80E6
-#define GL_COLOR_INDEX16_EXT 0x80E7
-
-GLAPI void GLAPIENTRY glAccum (GLenum op, GLfloat value);
-GLAPI void GLAPIENTRY glAlphaFunc (GLenum func, GLclampf ref);
-GLAPI GLboolean GLAPIENTRY glAreTexturesResident (GLsizei n, const GLuint *textures, GLboolean *residences);
-GLAPI void GLAPIENTRY glArrayElement (GLint i);
-GLAPI void GLAPIENTRY glBegin (GLenum mode);
-GLAPI void GLAPIENTRY glBindTexture (GLenum target, GLuint texture);
-GLAPI void GLAPIENTRY glBitmap (GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap);
-GLAPI void GLAPIENTRY glBlendFunc (GLenum sfactor, GLenum dfactor);
-GLAPI void GLAPIENTRY glCallList (GLuint list);
-GLAPI void GLAPIENTRY glCallLists (GLsizei n, GLenum type, const GLvoid *lists);
-GLAPI void GLAPIENTRY glClear (GLbitfield mask);
-GLAPI void GLAPIENTRY glClearAccum (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
-GLAPI void GLAPIENTRY glClearColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
-GLAPI void GLAPIENTRY glClearDepth (GLclampd depth);
-GLAPI void GLAPIENTRY glClearIndex (GLfloat c);
-GLAPI void GLAPIENTRY glClearStencil (GLint s);
-GLAPI void GLAPIENTRY glClipPlane (GLenum plane, const GLdouble *equation);
-GLAPI void GLAPIENTRY glColor3b (GLbyte red, GLbyte green, GLbyte blue);
-GLAPI void GLAPIENTRY glColor3bv (const GLbyte *v);
-GLAPI void GLAPIENTRY glColor3d (GLdouble red, GLdouble green, GLdouble blue);
-GLAPI void GLAPIENTRY glColor3dv (const GLdouble *v);
-GLAPI void GLAPIENTRY glColor3f (GLfloat red, GLfloat green, GLfloat blue);
-GLAPI void GLAPIENTRY glColor3fv (const GLfloat *v);
-GLAPI void GLAPIENTRY glColor3i (GLint red, GLint green, GLint blue);
-GLAPI void GLAPIENTRY glColor3iv (const GLint *v);
-GLAPI void GLAPIENTRY glColor3s (GLshort red, GLshort green, GLshort blue);
-GLAPI void GLAPIENTRY glColor3sv (const GLshort *v);
-GLAPI void GLAPIENTRY glColor3ub (GLubyte red, GLubyte green, GLubyte blue);
-GLAPI void GLAPIENTRY glColor3ubv (const GLubyte *v);
-GLAPI void GLAPIENTRY glColor3ui (GLuint red, GLuint green, GLuint blue);
-GLAPI void GLAPIENTRY glColor3uiv (const GLuint *v);
-GLAPI void GLAPIENTRY glColor3us (GLushort red, GLushort green, GLushort blue);
-GLAPI void GLAPIENTRY glColor3usv (const GLushort *v);
-GLAPI void GLAPIENTRY glColor4b (GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha);
-GLAPI void GLAPIENTRY glColor4bv (const GLbyte *v);
-GLAPI void GLAPIENTRY glColor4d (GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha);
-GLAPI void GLAPIENTRY glColor4dv (const GLdouble *v);
-GLAPI void GLAPIENTRY glColor4f (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
-GLAPI void GLAPIENTRY glColor4fv (const GLfloat *v);
-GLAPI void GLAPIENTRY glColor4i (GLint red, GLint green, GLint blue, GLint alpha);
-GLAPI void GLAPIENTRY glColor4iv (const GLint *v);
-GLAPI void GLAPIENTRY glColor4s (GLshort red, GLshort green, GLshort blue, GLshort alpha);
-GLAPI void GLAPIENTRY glColor4sv (const GLshort *v);
-GLAPI void GLAPIENTRY glColor4ub (GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha);
-GLAPI void GLAPIENTRY glColor4ubv (const GLubyte *v);
-GLAPI void GLAPIENTRY glColor4ui (GLuint red, GLuint green, GLuint blue, GLuint alpha);
-GLAPI void GLAPIENTRY glColor4uiv (const GLuint *v);
-GLAPI void GLAPIENTRY glColor4us (GLushort red, GLushort green, GLushort blue, GLushort alpha);
-GLAPI void GLAPIENTRY glColor4usv (const GLushort *v);
-GLAPI void GLAPIENTRY glColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
-GLAPI void GLAPIENTRY glColorMaterial (GLenum face, GLenum mode);
-GLAPI void GLAPIENTRY glColorPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
-GLAPI void GLAPIENTRY glCopyPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum type);
-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);
-GLAPI void GLAPIENTRY glCullFace (GLenum mode);
-GLAPI void GLAPIENTRY glDeleteLists (GLuint list, GLsizei range);
-GLAPI void GLAPIENTRY glDeleteTextures (GLsizei n, const GLuint *textures);
-GLAPI void GLAPIENTRY glDepthFunc (GLenum func);
-GLAPI void GLAPIENTRY glDepthMask (GLboolean flag);
-GLAPI void GLAPIENTRY glDepthRange (GLclampd zNear, GLclampd zFar);
-GLAPI void GLAPIENTRY glDisable (GLenum cap);
-GLAPI void GLAPIENTRY glDisableClientState (GLenum array);
-GLAPI void GLAPIENTRY glDrawArrays (GLenum mode, GLint first, GLsizei count);
-GLAPI void GLAPIENTRY glDrawBuffer (GLenum mode);
-GLAPI void GLAPIENTRY glDrawElements (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices);
-GLAPI void GLAPIENTRY glDrawPixels (GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
-GLAPI void GLAPIENTRY glEdgeFlag (GLboolean flag);
-GLAPI void GLAPIENTRY glEdgeFlagPointer (GLsizei stride, const GLvoid *pointer);
-GLAPI void GLAPIENTRY glEdgeFlagv (const GLboolean *flag);
-GLAPI void GLAPIENTRY glEnable (GLenum cap);
-GLAPI void GLAPIENTRY glEnableClientState (GLenum array);
-GLAPI void GLAPIENTRY glEnd (void);
-GLAPI void GLAPIENTRY glEndList (void);
-GLAPI void GLAPIENTRY glEvalCoord1d (GLdouble u);
-GLAPI void GLAPIENTRY glEvalCoord1dv (const GLdouble *u);
-GLAPI void GLAPIENTRY glEvalCoord1f (GLfloat u);
-GLAPI void GLAPIENTRY glEvalCoord1fv (const GLfloat *u);
-GLAPI void GLAPIENTRY glEvalCoord2d (GLdouble u, GLdouble v);
-GLAPI void GLAPIENTRY glEvalCoord2dv (const GLdouble *u);
-GLAPI void GLAPIENTRY glEvalCoord2f (GLfloat u, GLfloat v);
-GLAPI void GLAPIENTRY glEvalCoord2fv (const GLfloat *u);
-GLAPI void GLAPIENTRY glEvalMesh1 (GLenum mode, GLint i1, GLint i2);
-GLAPI void GLAPIENTRY glEvalMesh2 (GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2);
-GLAPI void GLAPIENTRY glEvalPoint1 (GLint i);
-GLAPI void GLAPIENTRY glEvalPoint2 (GLint i, GLint j);
-GLAPI void GLAPIENTRY glFeedbackBuffer (GLsizei size, GLenum type, GLfloat *buffer);
-GLAPI void GLAPIENTRY glFinish (void);
-GLAPI void GLAPIENTRY glFlush (void);
-GLAPI void GLAPIENTRY glFogf (GLenum pname, GLfloat param);
-GLAPI void GLAPIENTRY glFogfv (GLenum pname, const GLfloat *params);
-GLAPI void GLAPIENTRY glFogi (GLenum pname, GLint param);
-GLAPI void GLAPIENTRY glFogiv (GLenum pname, const GLint *params);
-GLAPI void GLAPIENTRY glFrontFace (GLenum mode);
-GLAPI void GLAPIENTRY glFrustum (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
-GLAPI GLuint GLAPIENTRY glGenLists (GLsizei range);
-GLAPI void GLAPIENTRY glGenTextures (GLsizei n, GLuint *textures);
-GLAPI void GLAPIENTRY glGetBooleanv (GLenum pname, GLboolean *params);
-GLAPI void GLAPIENTRY glGetClipPlane (GLenum plane, GLdouble *equation);
-GLAPI void GLAPIENTRY glGetDoublev (GLenum pname, GLdouble *params);
-GLAPI GLenum GLAPIENTRY glGetError (void);
-GLAPI void GLAPIENTRY glGetFloatv (GLenum pname, GLfloat *params);
-GLAPI void GLAPIENTRY glGetIntegerv (GLenum pname, 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 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 glGetMaterialfv (GLenum face, GLenum pname, GLfloat *params);
-GLAPI void GLAPIENTRY glGetMaterialiv (GLenum face, GLenum pname, GLint *params);
-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 glGetPointerv (GLenum pname, GLvoid* *params);
-GLAPI void GLAPIENTRY glGetPolygonStipple (GLubyte *mask);
-GLAPI const GLubyte * GLAPIENTRY glGetString (GLenum name);
-GLAPI void GLAPIENTRY glGetTexEnvfv (GLenum target, GLenum pname, GLfloat *params);
-GLAPI void GLAPIENTRY glGetTexEnviv (GLenum target, GLenum pname, 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 glGetTexImage (GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);
-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 glGetTexParameterfv (GLenum target, GLenum pname, GLfloat *params);
-GLAPI void GLAPIENTRY glGetTexParameteriv (GLenum target, GLenum pname, GLint *params);
-GLAPI void GLAPIENTRY glHint (GLenum target, GLenum mode);
-GLAPI void GLAPIENTRY glIndexMask (GLuint mask);
-GLAPI void GLAPIENTRY glIndexPointer (GLenum type, GLsizei stride, const GLvoid *pointer);
-GLAPI void GLAPIENTRY glIndexd (GLdouble c);
-GLAPI void GLAPIENTRY glIndexdv (const GLdouble *c);
-GLAPI void GLAPIENTRY glIndexf (GLfloat c);
-GLAPI void GLAPIENTRY glIndexfv (const GLfloat *c);
-GLAPI void GLAPIENTRY glIndexi (GLint c);
-GLAPI void GLAPIENTRY glIndexiv (const GLint *c);
-GLAPI void GLAPIENTRY glIndexs (GLshort c);
-GLAPI void GLAPIENTRY glIndexsv (const GLshort *c);
-GLAPI void GLAPIENTRY glIndexub (GLubyte c);
-GLAPI void GLAPIENTRY glIndexubv (const GLubyte *c);
-GLAPI void GLAPIENTRY glInitNames (void);
-GLAPI void GLAPIENTRY glInterleavedArrays (GLenum format, GLsizei stride, const GLvoid *pointer);
-GLAPI GLboolean GLAPIENTRY glIsEnabled (GLenum cap);
-GLAPI GLboolean GLAPIENTRY glIsList (GLuint list);
-GLAPI GLboolean GLAPIENTRY glIsTexture (GLuint texture);
-GLAPI void GLAPIENTRY glLightModelf (GLenum pname, GLfloat param);
-GLAPI void GLAPIENTRY glLightModelfv (GLenum pname, const GLfloat *params);
-GLAPI void GLAPIENTRY glLightModeli (GLenum pname, GLint param);
-GLAPI void GLAPIENTRY glLightModeliv (GLenum pname, const GLint *params);
-GLAPI void GLAPIENTRY glLightf (GLenum light, GLenum pname, GLfloat param);
-GLAPI void GLAPIENTRY glLightfv (GLenum light, GLenum pname, const GLfloat *params);
-GLAPI void GLAPIENTRY glLighti (GLenum light, GLenum pname, GLint param);
-GLAPI void GLAPIENTRY glLightiv (GLenum light, GLenum pname, const GLint *params);
-GLAPI void GLAPIENTRY glLineStipple (GLint factor, GLushort pattern);
-GLAPI void GLAPIENTRY glLineWidth (GLfloat width);
-GLAPI void GLAPIENTRY glListBase (GLuint base);
-GLAPI void GLAPIENTRY glLoadIdentity (void);
-GLAPI void GLAPIENTRY glLoadMatrixd (const GLdouble *m);
-GLAPI void GLAPIENTRY glLoadMatrixf (const GLfloat *m);
-GLAPI void GLAPIENTRY glLoadName (GLuint name);
-GLAPI void GLAPIENTRY glLogicOp (GLenum opcode);
-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 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 glMaterialf (GLenum face, GLenum pname, GLfloat param);
-GLAPI void GLAPIENTRY glMaterialfv (GLenum face, GLenum pname, const GLfloat *params);
-GLAPI void GLAPIENTRY glMateriali (GLenum face, GLenum pname, GLint param);
-GLAPI void GLAPIENTRY glMaterialiv (GLenum face, GLenum pname, const GLint *params);
-GLAPI void GLAPIENTRY glMatrixMode (GLenum mode);
-GLAPI void GLAPIENTRY glMultMatrixd (const GLdouble *m);
-GLAPI void GLAPIENTRY glMultMatrixf (const GLfloat *m);
-GLAPI void GLAPIENTRY glNewList (GLuint list, GLenum mode);
-GLAPI void GLAPIENTRY glNormal3b (GLbyte nx, GLbyte ny, GLbyte nz);
-GLAPI void GLAPIENTRY glNormal3bv (const GLbyte *v);
-GLAPI void GLAPIENTRY glNormal3d (GLdouble nx, GLdouble ny, GLdouble nz);
-GLAPI void GLAPIENTRY glNormal3dv (const GLdouble *v);
-GLAPI void GLAPIENTRY glNormal3f (GLfloat nx, GLfloat ny, GLfloat nz);
-GLAPI void GLAPIENTRY glNormal3fv (const GLfloat *v);
-GLAPI void GLAPIENTRY glNormal3i (GLint nx, GLint ny, GLint nz);
-GLAPI void GLAPIENTRY glNormal3iv (const GLint *v);
-GLAPI void GLAPIENTRY glNormal3s (GLshort nx, GLshort ny, GLshort nz);
-GLAPI void GLAPIENTRY glNormal3sv (const GLshort *v);
-GLAPI void GLAPIENTRY glNormalPointer (GLenum type, GLsizei stride, const GLvoid *pointer);
-GLAPI void GLAPIENTRY glOrtho (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
-GLAPI void GLAPIENTRY glPassThrough (GLfloat token);
-GLAPI void GLAPIENTRY glPixelMapfv (GLenum map, GLsizei mapsize, const GLfloat *values);
-GLAPI void GLAPIENTRY glPixelMapuiv (GLenum map, GLsizei mapsize, const GLuint *values);
-GLAPI void GLAPIENTRY glPixelMapusv (GLenum map, GLsizei mapsize, const GLushort *values);
-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 glPixelZoom (GLfloat xfactor, GLfloat yfactor);
-GLAPI void GLAPIENTRY glPointSize (GLfloat size);
-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 glPopAttrib (void);
-GLAPI void GLAPIENTRY glPopClientAttrib (void);
-GLAPI void GLAPIENTRY glPopMatrix (void);
-GLAPI void GLAPIENTRY glPopName (void);
-GLAPI void GLAPIENTRY glPrioritizeTextures (GLsizei n, const GLuint *textures, const GLclampf *priorities);
-GLAPI void GLAPIENTRY glPushAttrib (GLbitfield mask);
-GLAPI void GLAPIENTRY glPushClientAttrib (GLbitfield mask);
-GLAPI void GLAPIENTRY glPushMatrix (void);
-GLAPI void GLAPIENTRY glPushName (GLuint name);
-GLAPI void GLAPIENTRY glRasterPos2d (GLdouble x, GLdouble y);
-GLAPI void GLAPIENTRY glRasterPos2dv (const GLdouble *v);
-GLAPI void GLAPIENTRY glRasterPos2f (GLfloat x, GLfloat y);
-GLAPI void GLAPIENTRY glRasterPos2fv (const GLfloat *v);
-GLAPI void GLAPIENTRY glRasterPos2i (GLint x, GLint y);
-GLAPI void GLAPIENTRY glRasterPos2iv (const GLint *v);
-GLAPI void GLAPIENTRY glRasterPos2s (GLshort x, GLshort y);
-GLAPI void GLAPIENTRY glRasterPos2sv (const GLshort *v);
-GLAPI void GLAPIENTRY glRasterPos3d (GLdouble x, GLdouble y, GLdouble z);
-GLAPI void GLAPIENTRY glRasterPos3dv (const GLdouble *v);
-GLAPI void GLAPIENTRY glRasterPos3f (GLfloat x, GLfloat y, GLfloat z);
-GLAPI void GLAPIENTRY glRasterPos3fv (const GLfloat *v);
-GLAPI void GLAPIENTRY glRasterPos3i (GLint x, GLint y, GLint z);
-GLAPI void GLAPIENTRY glRasterPos3iv (const GLint *v);
-GLAPI void GLAPIENTRY glRasterPos3s (GLshort x, GLshort y, GLshort z);
-GLAPI void GLAPIENTRY glRasterPos3sv (const GLshort *v);
-GLAPI void GLAPIENTRY glRasterPos4d (GLdouble x, GLdouble y, GLdouble z, GLdouble w);
-GLAPI void GLAPIENTRY glRasterPos4dv (const GLdouble *v);
-GLAPI void GLAPIENTRY glRasterPos4f (GLfloat x, GLfloat y, GLfloat z, GLfloat w);
-GLAPI void GLAPIENTRY glRasterPos4fv (const GLfloat *v);
-GLAPI void GLAPIENTRY glRasterPos4i (GLint x, GLint y, GLint z, GLint w);
-GLAPI void GLAPIENTRY glRasterPos4iv (const GLint *v);
-GLAPI void GLAPIENTRY glRasterPos4s (GLshort x, GLshort y, GLshort z, GLshort w);
-GLAPI void GLAPIENTRY glRasterPos4sv (const GLshort *v);
-GLAPI void GLAPIENTRY glReadBuffer (GLenum mode);
-GLAPI void GLAPIENTRY glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels);
-GLAPI void GLAPIENTRY glRectd (GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2);
-GLAPI void GLAPIENTRY glRectdv (const GLdouble *v1, const GLdouble *v2);
-GLAPI void GLAPIENTRY glRectf (GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2);
-GLAPI void GLAPIENTRY glRectfv (const GLfloat *v1, const GLfloat *v2);
-GLAPI void GLAPIENTRY glRecti (GLint x1, GLint y1, GLint x2, GLint y2);
-GLAPI void GLAPIENTRY glRectiv (const GLint *v1, const GLint *v2);
-GLAPI void GLAPIENTRY glRects (GLshort x1, GLshort y1, GLshort x2, GLshort y2);
-GLAPI void GLAPIENTRY glRectsv (const GLshort *v1, const GLshort *v2);
-GLAPI GLint GLAPIENTRY glRenderMode (GLenum mode);
-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 glScissor (GLint x, GLint y, GLsizei width, GLsizei height);
-GLAPI void GLAPIENTRY glSelectBuffer (GLsizei size, GLuint *buffer);
-GLAPI void GLAPIENTRY glShadeModel (GLenum mode);
-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 glTexCoord1d (GLdouble s);
-GLAPI void GLAPIENTRY glTexCoord1dv (const GLdouble *v);
-GLAPI void GLAPIENTRY glTexCoord1f (GLfloat s);
-GLAPI void GLAPIENTRY glTexCoord1fv (const GLfloat *v);
-GLAPI void GLAPIENTRY glTexCoord1i (GLint s);
-GLAPI void GLAPIENTRY glTexCoord1iv (const GLint *v);
-GLAPI void GLAPIENTRY glTexCoord1s (GLshort s);
-GLAPI void GLAPIENTRY glTexCoord1sv (const GLshort *v);
-GLAPI void GLAPIENTRY glTexCoord2d (GLdouble s, GLdouble t);
-GLAPI void GLAPIENTRY glTexCoord2dv (const GLdouble *v);
-GLAPI void GLAPIENTRY glTexCoord2f (GLfloat s, GLfloat t);
-GLAPI void GLAPIENTRY glTexCoord2fv (const GLfloat *v);
-GLAPI void GLAPIENTRY glTexCoord2i (GLint s, GLint t);
-GLAPI void GLAPIENTRY glTexCoord2iv (const GLint *v);
-GLAPI void GLAPIENTRY glTexCoord2s (GLshort s, GLshort t);
-GLAPI void GLAPIENTRY glTexCoord2sv (const GLshort *v);
-GLAPI void GLAPIENTRY glTexCoord3d (GLdouble s, GLdouble t, GLdouble r);
-GLAPI void GLAPIENTRY glTexCoord3dv (const GLdouble *v);
-GLAPI void GLAPIENTRY glTexCoord3f (GLfloat s, GLfloat t, GLfloat r);
-GLAPI void GLAPIENTRY glTexCoord3fv (const GLfloat *v);
-GLAPI void GLAPIENTRY glTexCoord3i (GLint s, GLint t, GLint r);
-GLAPI void GLAPIENTRY glTexCoord3iv (const GLint *v);
-GLAPI void GLAPIENTRY glTexCoord3s (GLshort s, GLshort t, GLshort r);
-GLAPI void GLAPIENTRY glTexCoord3sv (const GLshort *v);
-GLAPI void GLAPIENTRY glTexCoord4d (GLdouble s, GLdouble t, GLdouble r, GLdouble q);
-GLAPI void GLAPIENTRY glTexCoord4dv (const GLdouble *v);
-GLAPI void GLAPIENTRY glTexCoord4f (GLfloat s, GLfloat t, GLfloat r, GLfloat q);
-GLAPI void GLAPIENTRY glTexCoord4fv (const GLfloat *v);
-GLAPI void GLAPIENTRY glTexCoord4i (GLint s, GLint t, GLint r, GLint q);
-GLAPI void GLAPIENTRY glTexCoord4iv (const GLint *v);
-GLAPI void GLAPIENTRY glTexCoord4s (GLshort s, GLshort t, GLshort r, GLshort q);
-GLAPI void GLAPIENTRY glTexCoord4sv (const GLshort *v);
-GLAPI void GLAPIENTRY glTexCoordPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
-GLAPI void GLAPIENTRY glTexEnvf (GLenum target, GLenum pname, GLfloat param);
-GLAPI void GLAPIENTRY glTexEnvfv (GLenum target, GLenum pname, const GLfloat *params);
-GLAPI void GLAPIENTRY glTexEnvi (GLenum target, GLenum pname, GLint param);
-GLAPI void GLAPIENTRY glTexEnviv (GLenum target, GLenum pname, const GLint *params);
-GLAPI void GLAPIENTRY glTexGend (GLenum coord, GLenum pname, GLdouble param);
-GLAPI void GLAPIENTRY glTexGendv (GLenum coord, GLenum pname, const GLdouble *params);
-GLAPI void GLAPIENTRY glTexGenf (GLenum coord, GLenum pname, GLfloat param);
-GLAPI void GLAPIENTRY glTexGenfv (GLenum coord, GLenum pname, const GLfloat *params);
-GLAPI void GLAPIENTRY glTexGeni (GLenum coord, GLenum pname, GLint param);
-GLAPI void GLAPIENTRY glTexGeniv (GLenum coord, GLenum pname, const 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 glTexParameterf (GLenum target, GLenum pname, GLfloat param);
-GLAPI void GLAPIENTRY glTexParameterfv (GLenum target, GLenum pname, const GLfloat *params);
-GLAPI void GLAPIENTRY glTexParameteri (GLenum target, GLenum pname, GLint param);
-GLAPI void GLAPIENTRY glTexParameteriv (GLenum target, GLenum pname, const GLint *params);
-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 glTranslated (GLdouble x, GLdouble y, GLdouble z);
-GLAPI void GLAPIENTRY glTranslatef (GLfloat x, GLfloat y, GLfloat z);
-GLAPI void GLAPIENTRY glVertex2d (GLdouble x, GLdouble y);
-GLAPI void GLAPIENTRY glVertex2dv (const GLdouble *v);
-GLAPI void GLAPIENTRY glVertex2f (GLfloat x, GLfloat y);
-GLAPI void GLAPIENTRY glVertex2fv (const GLfloat *v);
-GLAPI void GLAPIENTRY glVertex2i (GLint x, GLint y);
-GLAPI void GLAPIENTRY glVertex2iv (const GLint *v);
-GLAPI void GLAPIENTRY glVertex2s (GLshort x, GLshort y);
-GLAPI void GLAPIENTRY glVertex2sv (const GLshort *v);
-GLAPI void GLAPIENTRY glVertex3d (GLdouble x, GLdouble y, GLdouble z);
-GLAPI void GLAPIENTRY glVertex3dv (const GLdouble *v);
-GLAPI void GLAPIENTRY glVertex3f (GLfloat x, GLfloat y, GLfloat z);
-GLAPI void GLAPIENTRY glVertex3fv (const GLfloat *v);
-GLAPI void GLAPIENTRY glVertex3i (GLint x, GLint y, GLint z);
-GLAPI void GLAPIENTRY glVertex3iv (const GLint *v);
-GLAPI void GLAPIENTRY glVertex3s (GLshort x, GLshort y, GLshort z);
-GLAPI void GLAPIENTRY glVertex3sv (const GLshort *v);
-GLAPI void GLAPIENTRY glVertex4d (GLdouble x, GLdouble y, GLdouble z, GLdouble w);
-GLAPI void GLAPIENTRY glVertex4dv (const GLdouble *v);
-GLAPI void GLAPIENTRY glVertex4f (GLfloat x, GLfloat y, GLfloat z, GLfloat w);
-GLAPI void GLAPIENTRY glVertex4fv (const GLfloat *v);
-GLAPI void GLAPIENTRY glVertex4i (GLint x, GLint y, GLint z, GLint w);
-GLAPI void GLAPIENTRY glVertex4iv (const GLint *v);
-GLAPI void GLAPIENTRY glVertex4s (GLshort x, GLshort y, GLshort z, GLshort w);
-GLAPI void GLAPIENTRY glVertex4sv (const GLshort *v);
-GLAPI void GLAPIENTRY glVertexPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
-GLAPI void GLAPIENTRY glViewport (GLint x, GLint y, GLsizei width, GLsizei height);
-
-#define GLEW_VERSION_1_1 GLEW_GET_VAR(__GLEW_VERSION_1_1)
-
-#endif /* GL_VERSION_1_1 */
-
-/* ---------------------------------- GLU ---------------------------------- */
-
-/* this is where we can safely include GLU */
-#if defined(__APPLE__) && defined(__MACH__)
-#include <OpenGL/glu.h>
-#else
-#include <GL/glu.h>
-#endif
-
-/* ----------------------------- GL_VERSION_1_2 ---------------------------- */
-
-#ifndef GL_VERSION_1_2
-#define GL_VERSION_1_2 1
-
-#define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12
-#define GL_SMOOTH_POINT_SIZE_GRANULARITY 0x0B13
-#define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22
-#define GL_SMOOTH_LINE_WIDTH_GRANULARITY 0x0B23
-#define GL_UNSIGNED_BYTE_3_3_2 0x8032
-#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
-#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
-#define GL_UNSIGNED_INT_8_8_8_8 0x8035
-#define GL_UNSIGNED_INT_10_10_10_2 0x8036
-#define GL_RESCALE_NORMAL 0x803A
-#define GL_TEXTURE_BINDING_3D 0x806A
-#define GL_PACK_SKIP_IMAGES 0x806B
-#define GL_PACK_IMAGE_HEIGHT 0x806C
-#define GL_UNPACK_SKIP_IMAGES 0x806D
-#define GL_UNPACK_IMAGE_HEIGHT 0x806E
-#define GL_TEXTURE_3D 0x806F
-#define GL_PROXY_TEXTURE_3D 0x8070
-#define GL_TEXTURE_DEPTH 0x8071
-#define GL_TEXTURE_WRAP_R 0x8072
-#define GL_MAX_3D_TEXTURE_SIZE 0x8073
-#define GL_BGR 0x80E0
-#define GL_BGRA 0x80E1
-#define GL_MAX_ELEMENTS_VERTICES 0x80E8
-#define GL_MAX_ELEMENTS_INDICES 0x80E9
-#define GL_CLAMP_TO_EDGE 0x812F
-#define GL_TEXTURE_MIN_LOD 0x813A
-#define GL_TEXTURE_MAX_LOD 0x813B
-#define GL_TEXTURE_BASE_LEVEL 0x813C
-#define GL_TEXTURE_MAX_LEVEL 0x813D
-#define GL_LIGHT_MODEL_COLOR_CONTROL 0x81F8
-#define GL_SINGLE_COLOR 0x81F9
-#define GL_SEPARATE_SPECULAR_COLOR 0x81FA
-#define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362
-#define GL_UNSIGNED_SHORT_5_6_5 0x8363
-#define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364
-#define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365
-#define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366
-#define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367
-#define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368
-#define GL_ALIASED_POINT_SIZE_RANGE 0x846D
-#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E
-
-typedef void (GLAPIENTRY * PFNGLCOPYTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
-typedef void (GLAPIENTRY * PFNGLDRAWRANGEELEMENTSPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);
-typedef void (GLAPIENTRY * PFNGLTEXIMAGE3DPROC) (GLenum target, GLint level, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
-typedef void (GLAPIENTRY * PFNGLTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
-
-#define glCopyTexSubImage3D GLEW_GET_FUN(__glewCopyTexSubImage3D)
-#define glDrawRangeElements GLEW_GET_FUN(__glewDrawRangeElements)
-#define glTexImage3D GLEW_GET_FUN(__glewTexImage3D)
-#define glTexSubImage3D GLEW_GET_FUN(__glewTexSubImage3D)
-
-#define GLEW_VERSION_1_2 GLEW_GET_VAR(__GLEW_VERSION_1_2)
-
-#endif /* GL_VERSION_1_2 */
-
-/* ----------------------------- GL_VERSION_1_3 ---------------------------- */
-
-#ifndef GL_VERSION_1_3
-#define GL_VERSION_1_3 1
-
-#define GL_MULTISAMPLE 0x809D
-#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E
-#define GL_SAMPLE_ALPHA_TO_ONE 0x809F
-#define GL_SAMPLE_COVERAGE 0x80A0
-#define GL_SAMPLE_BUFFERS 0x80A8
-#define GL_SAMPLES 0x80A9
-#define GL_SAMPLE_COVERAGE_VALUE 0x80AA
-#define GL_SAMPLE_COVERAGE_INVERT 0x80AB
-#define GL_CLAMP_TO_BORDER 0x812D
-#define GL_TEXTURE0 0x84C0
-#define GL_TEXTURE1 0x84C1
-#define GL_TEXTURE2 0x84C2
-#define GL_TEXTURE3 0x84C3
-#define GL_TEXTURE4 0x84C4
-#define GL_TEXTURE5 0x84C5
-#define GL_TEXTURE6 0x84C6
-#define GL_TEXTURE7 0x84C7
-#define GL_TEXTURE8 0x84C8
-#define GL_TEXTURE9 0x84C9
-#define GL_TEXTURE10 0x84CA
-#define GL_TEXTURE11 0x84CB
-#define GL_TEXTURE12 0x84CC
-#define GL_TEXTURE13 0x84CD
-#define GL_TEXTURE14 0x84CE
-#define GL_TEXTURE15 0x84CF
-#define GL_TEXTURE16 0x84D0
-#define GL_TEXTURE17 0x84D1
-#define GL_TEXTURE18 0x84D2
-#define GL_TEXTURE19 0x84D3
-#define GL_TEXTURE20 0x84D4
-#define GL_TEXTURE21 0x84D5
-#define GL_TEXTURE22 0x84D6
-#define GL_TEXTURE23 0x84D7
-#define GL_TEXTURE24 0x84D8
-#define GL_TEXTURE25 0x84D9
-#define GL_TEXTURE26 0x84DA
-#define GL_TEXTURE27 0x84DB
-#define GL_TEXTURE28 0x84DC
-#define GL_TEXTURE29 0x84DD
-#define GL_TEXTURE30 0x84DE
-#define GL_TEXTURE31 0x84DF
-#define GL_ACTIVE_TEXTURE 0x84E0
-#define GL_CLIENT_ACTIVE_TEXTURE 0x84E1
-#define GL_MAX_TEXTURE_UNITS 0x84E2
-#define GL_TRANSPOSE_MODELVIEW_MATRIX 0x84E3
-#define GL_TRANSPOSE_PROJECTION_MATRIX 0x84E4
-#define GL_TRANSPOSE_TEXTURE_MATRIX 0x84E5
-#define GL_TRANSPOSE_COLOR_MATRIX 0x84E6
-#define GL_SUBTRACT 0x84E7
-#define GL_COMPRESSED_ALPHA 0x84E9
-#define GL_COMPRESSED_LUMINANCE 0x84EA
-#define GL_COMPRESSED_LUMINANCE_ALPHA 0x84EB
-#define GL_COMPRESSED_INTENSITY 0x84EC
-#define GL_COMPRESSED_RGB 0x84ED
-#define GL_COMPRESSED_RGBA 0x84EE
-#define GL_TEXTURE_COMPRESSION_HINT 0x84EF
-#define GL_NORMAL_MAP 0x8511
-#define GL_REFLECTION_MAP 0x8512
-#define GL_TEXTURE_CUBE_MAP 0x8513
-#define GL_TEXTURE_BINDING_CUBE_MAP 0x8514
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A
-#define GL_PROXY_TEXTURE_CUBE_MAP 0x851B
-#define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C
-#define GL_COMBINE 0x8570
-#define GL_COMBINE_RGB 0x8571
-#define GL_COMBINE_ALPHA 0x8572
-#define GL_RGB_SCALE 0x8573
-#define GL_ADD_SIGNED 0x8574
-#define GL_INTERPOLATE 0x8575
-#define GL_CONSTANT 0x8576
-#define GL_PRIMARY_COLOR 0x8577
-#define GL_PREVIOUS 0x8578
-#define GL_SOURCE0_RGB 0x8580
-#define GL_SOURCE1_RGB 0x8581
-#define GL_SOURCE2_RGB 0x8582
-#define GL_SOURCE0_ALPHA 0x8588
-#define GL_SOURCE1_ALPHA 0x8589
-#define GL_SOURCE2_ALPHA 0x858A
-#define GL_OPERAND0_RGB 0x8590
-#define GL_OPERAND1_RGB 0x8591
-#define GL_OPERAND2_RGB 0x8592
-#define GL_OPERAND0_ALPHA 0x8598
-#define GL_OPERAND1_ALPHA 0x8599
-#define GL_OPERAND2_ALPHA 0x859A
-#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE 0x86A0
-#define GL_TEXTURE_COMPRESSED 0x86A1
-#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
-#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3
-#define GL_DOT3_RGB 0x86AE
-#define GL_DOT3_RGBA 0x86AF
-#define GL_MULTISAMPLE_BIT 0x20000000
-
-typedef void (GLAPIENTRY * PFNGLACTIVETEXTUREPROC) (GLenum texture);
-typedef void (GLAPIENTRY * PFNGLCLIENTACTIVETEXTUREPROC) (GLenum texture);
-typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXIMAGE1DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);
-typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);
-typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXIMAGE3DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);
-typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);
-typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);
-typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);
-typedef void (GLAPIENTRY * PFNGLGETCOMPRESSEDTEXIMAGEPROC) (GLenum target, GLint lod, GLvoid *img);
-typedef void (GLAPIENTRY * PFNGLLOADTRANSPOSEMATRIXDPROC) (const GLdouble m[16]);
-typedef void (GLAPIENTRY * PFNGLLOADTRANSPOSEMATRIXFPROC) (const GLfloat m[16]);
-typedef void (GLAPIENTRY * PFNGLMULTTRANSPOSEMATRIXDPROC) (const GLdouble m[16]);
-typedef void (GLAPIENTRY * PFNGLMULTTRANSPOSEMATRIXFPROC) (const GLfloat m[16]);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1DPROC) (GLenum target, GLdouble s);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1DVPROC) (GLenum target, const GLdouble *v);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1FPROC) (GLenum target, GLfloat s);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1FVPROC) (GLenum target, const GLfloat *v);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1IPROC) (GLenum target, GLint s);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1IVPROC) (GLenum target, const GLint *v);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1SPROC) (GLenum target, GLshort s);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1SVPROC) (GLenum target, const GLshort *v);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2DPROC) (GLenum target, GLdouble s, GLdouble t);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2DVPROC) (GLenum target, const GLdouble *v);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2FPROC) (GLenum target, GLfloat s, GLfloat t);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2FVPROC) (GLenum target, const GLfloat *v);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2IPROC) (GLenum target, GLint s, GLint t);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2IVPROC) (GLenum target, const GLint *v);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2SPROC) (GLenum target, GLshort s, GLshort t);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2SVPROC) (GLenum target, const GLshort *v);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3DPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3DVPROC) (GLenum target, const GLdouble *v);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3FPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3FVPROC) (GLenum target, const GLfloat *v);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3IPROC) (GLenum target, GLint s, GLint t, GLint r);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3IVPROC) (GLenum target, const GLint *v);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3SPROC) (GLenum target, GLshort s, GLshort t, GLshort r);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3SVPROC) (GLenum target, const GLshort *v);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4DPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4DVPROC) (GLenum target, const GLdouble *v);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4FPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4FVPROC) (GLenum target, const GLfloat *v);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4IPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4IVPROC) (GLenum target, const GLint *v);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4SPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4SVPROC) (GLenum target, const GLshort *v);
-typedef void (GLAPIENTRY * PFNGLSAMPLECOVERAGEPROC) (GLclampf value, GLboolean invert);
-
-#define glActiveTexture GLEW_GET_FUN(__glewActiveTexture)
-#define glClientActiveTexture GLEW_GET_FUN(__glewClientActiveTexture)
-#define glCompressedTexImage1D GLEW_GET_FUN(__glewCompressedTexImage1D)
-#define glCompressedTexImage2D GLEW_GET_FUN(__glewCompressedTexImage2D)
-#define glCompressedTexImage3D GLEW_GET_FUN(__glewCompressedTexImage3D)
-#define glCompressedTexSubImage1D GLEW_GET_FUN(__glewCompressedTexSubImage1D)
-#define glCompressedTexSubImage2D GLEW_GET_FUN(__glewCompressedTexSubImage2D)
-#define glCompressedTexSubImage3D GLEW_GET_FUN(__glewCompressedTexSubImage3D)
-#define glGetCompressedTexImage GLEW_GET_FUN(__glewGetCompressedTexImage)
-#define glLoadTransposeMatrixd GLEW_GET_FUN(__glewLoadTransposeMatrixd)
-#define glLoadTransposeMatrixf GLEW_GET_FUN(__glewLoadTransposeMatrixf)
-#define glMultTransposeMatrixd GLEW_GET_FUN(__glewMultTransposeMatrixd)
-#define glMultTransposeMatrixf GLEW_GET_FUN(__glewMultTransposeMatrixf)
-#define glMultiTexCoord1d GLEW_GET_FUN(__glewMultiTexCoord1d)
-#define glMultiTexCoord1dv GLEW_GET_FUN(__glewMultiTexCoord1dv)
-#define glMultiTexCoord1f GLEW_GET_FUN(__glewMultiTexCoord1f)
-#define glMultiTexCoord1fv GLEW_GET_FUN(__glewMultiTexCoord1fv)
-#define glMultiTexCoord1i GLEW_GET_FUN(__glewMultiTexCoord1i)
-#define glMultiTexCoord1iv GLEW_GET_FUN(__glewMultiTexCoord1iv)
-#define glMultiTexCoord1s GLEW_GET_FUN(__glewMultiTexCoord1s)
-#define glMultiTexCoord1sv GLEW_GET_FUN(__glewMultiTexCoord1sv)
-#define glMultiTexCoord2d GLEW_GET_FUN(__glewMultiTexCoord2d)
-#define glMultiTexCoord2dv GLEW_GET_FUN(__glewMultiTexCoord2dv)
-#define glMultiTexCoord2f GLEW_GET_FUN(__glewMultiTexCoord2f)
-#define glMultiTexCoord2fv GLEW_GET_FUN(__glewMultiTexCoord2fv)
-#define glMultiTexCoord2i GLEW_GET_FUN(__glewMultiTexCoord2i)
-#define glMultiTexCoord2iv GLEW_GET_FUN(__glewMultiTexCoord2iv)
-#define glMultiTexCoord2s GLEW_GET_FUN(__glewMultiTexCoord2s)
-#define glMultiTexCoord2sv GLEW_GET_FUN(__glewMultiTexCoord2sv)
-#define glMultiTexCoord3d GLEW_GET_FUN(__glewMultiTexCoord3d)
-#define glMultiTexCoord3dv GLEW_GET_FUN(__glewMultiTexCoord3dv)
-#define glMultiTexCoord3f GLEW_GET_FUN(__glewMultiTexCoord3f)
-#define glMultiTexCoord3fv GLEW_GET_FUN(__glewMultiTexCoord3fv)
-#define glMultiTexCoord3i GLEW_GET_FUN(__glewMultiTexCoord3i)
-#define glMultiTexCoord3iv GLEW_GET_FUN(__glewMultiTexCoord3iv)
-#define glMultiTexCoord3s GLEW_GET_FUN(__glewMultiTexCoord3s)
-#define glMultiTexCoord3sv GLEW_GET_FUN(__glewMultiTexCoord3sv)
-#define glMultiTexCoord4d GLEW_GET_FUN(__glewMultiTexCoord4d)
-#define glMultiTexCoord4dv GLEW_GET_FUN(__glewMultiTexCoord4dv)
-#define glMultiTexCoord4f GLEW_GET_FUN(__glewMultiTexCoord4f)
-#define glMultiTexCoord4fv GLEW_GET_FUN(__glewMultiTexCoord4fv)
-#define glMultiTexCoord4i GLEW_GET_FUN(__glewMultiTexCoord4i)
-#define glMultiTexCoord4iv GLEW_GET_FUN(__glewMultiTexCoord4iv)
-#define glMultiTexCoord4s GLEW_GET_FUN(__glewMultiTexCoord4s)
-#define glMultiTexCoord4sv GLEW_GET_FUN(__glewMultiTexCoord4sv)
-#define glSampleCoverage GLEW_GET_FUN(__glewSampleCoverage)
-
-#define GLEW_VERSION_1_3 GLEW_GET_VAR(__GLEW_VERSION_1_3)
-
-#endif /* GL_VERSION_1_3 */
-
-/* ----------------------------- GL_VERSION_1_4 ---------------------------- */
-
-#ifndef GL_VERSION_1_4
-#define GL_VERSION_1_4 1
-
-#define GL_BLEND_DST_RGB 0x80C8
-#define GL_BLEND_SRC_RGB 0x80C9
-#define GL_BLEND_DST_ALPHA 0x80CA
-#define GL_BLEND_SRC_ALPHA 0x80CB
-#define GL_POINT_SIZE_MIN 0x8126
-#define GL_POINT_SIZE_MAX 0x8127
-#define GL_POINT_FADE_THRESHOLD_SIZE 0x8128
-#define GL_POINT_DISTANCE_ATTENUATION 0x8129
-#define GL_GENERATE_MIPMAP 0x8191
-#define GL_GENERATE_MIPMAP_HINT 0x8192
-#define GL_DEPTH_COMPONENT16 0x81A5
-#define GL_DEPTH_COMPONENT24 0x81A6
-#define GL_DEPTH_COMPONENT32 0x81A7
-#define GL_MIRRORED_REPEAT 0x8370
-#define GL_FOG_COORDINATE_SOURCE 0x8450
-#define GL_FOG_COORDINATE 0x8451
-#define GL_FRAGMENT_DEPTH 0x8452
-#define GL_CURRENT_FOG_COORDINATE 0x8453
-#define GL_FOG_COORDINATE_ARRAY_TYPE 0x8454
-#define GL_FOG_COORDINATE_ARRAY_STRIDE 0x8455
-#define GL_FOG_COORDINATE_ARRAY_POINTER 0x8456
-#define GL_FOG_COORDINATE_ARRAY 0x8457
-#define GL_COLOR_SUM 0x8458
-#define GL_CURRENT_SECONDARY_COLOR 0x8459
-#define GL_SECONDARY_COLOR_ARRAY_SIZE 0x845A
-#define GL_SECONDARY_COLOR_ARRAY_TYPE 0x845B
-#define GL_SECONDARY_COLOR_ARRAY_STRIDE 0x845C
-#define GL_SECONDARY_COLOR_ARRAY_POINTER 0x845D
-#define GL_SECONDARY_COLOR_ARRAY 0x845E
-#define GL_MAX_TEXTURE_LOD_BIAS 0x84FD
-#define GL_TEXTURE_FILTER_CONTROL 0x8500
-#define GL_TEXTURE_LOD_BIAS 0x8501
-#define GL_INCR_WRAP 0x8507
-#define GL_DECR_WRAP 0x8508
-#define GL_TEXTURE_DEPTH_SIZE 0x884A
-#define GL_DEPTH_TEXTURE_MODE 0x884B
-#define GL_TEXTURE_COMPARE_MODE 0x884C
-#define GL_TEXTURE_COMPARE_FUNC 0x884D
-#define GL_COMPARE_R_TO_TEXTURE 0x884E
-
-typedef void (GLAPIENTRY * PFNGLBLENDCOLORPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
-typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONPROC) (GLenum mode);
-typedef void (GLAPIENTRY * PFNGLBLENDFUNCSEPARATEPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
-typedef void (GLAPIENTRY * PFNGLFOGCOORDPOINTERPROC) (GLenum type, GLsizei stride, const GLvoid *pointer);
-typedef void (GLAPIENTRY * PFNGLFOGCOORDDPROC) (GLdouble coord);
-typedef void (GLAPIENTRY * PFNGLFOGCOORDDVPROC) (const GLdouble *coord);
-typedef void (GLAPIENTRY * PFNGLFOGCOORDFPROC) (GLfloat coord);
-typedef void (GLAPIENTRY * PFNGLFOGCOORDFVPROC) (const GLfloat *coord);
-typedef void (GLAPIENTRY * PFNGLMULTIDRAWARRAYSPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount);
-typedef void (GLAPIENTRY * PFNGLMULTIDRAWELEMENTSPROC) (GLenum mode, GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount);
-typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFPROC) (GLenum pname, GLfloat param);
-typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFVPROC) (GLenum pname, const GLfloat *params);
-typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERIPROC) (GLenum pname, GLint param);
-typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERIVPROC) (GLenum pname, const GLint *params);
-typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3BPROC) (GLbyte red, GLbyte green, GLbyte blue);
-typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3BVPROC) (const GLbyte *v);
-typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3DPROC) (GLdouble red, GLdouble green, GLdouble blue);
-typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3DVPROC) (const GLdouble *v);
-typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3FPROC) (GLfloat red, GLfloat green, GLfloat blue);
-typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3FVPROC) (const GLfloat *v);
-typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3IPROC) (GLint red, GLint green, GLint blue);
-typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3IVPROC) (const GLint *v);
-typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3SPROC) (GLshort red, GLshort green, GLshort blue);
-typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3SVPROC) (const GLshort *v);
-typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3UBPROC) (GLubyte red, GLubyte green, GLubyte blue);
-typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3UBVPROC) (const GLubyte *v);
-typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3UIPROC) (GLuint red, GLuint green, GLuint blue);
-typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3UIVPROC) (const GLuint *v);
-typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3USPROC) (GLushort red, GLushort green, GLushort blue);
-typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3USVPROC) (const GLushort *v);
-typedef void (GLAPIENTRY * PFNGLSECONDARYCOLORPOINTERPROC) (GLint size, GLenum type, GLsizei stride, GLvoid *pointer);
-typedef void (GLAPIENTRY * PFNGLWINDOWPOS2DPROC) (GLdouble x, GLdouble y);
-typedef void (GLAPIENTRY * PFNGLWINDOWPOS2DVPROC) (const GLdouble *p);
-typedef void (GLAPIENTRY * PFNGLWINDOWPOS2FPROC) (GLfloat x, GLfloat y);
-typedef void (GLAPIENTRY * PFNGLWINDOWPOS2FVPROC) (const GLfloat *p);
-typedef void (GLAPIENTRY * PFNGLWINDOWPOS2IPROC) (GLint x, GLint y);
-typedef void (GLAPIENTRY * PFNGLWINDOWPOS2IVPROC) (const GLint *p);
-typedef void (GLAPIENTRY * PFNGLWINDOWPOS2SPROC) (GLshort x, GLshort y);
-typedef void (GLAPIENTRY * PFNGLWINDOWPOS2SVPROC) (const GLshort *p);
-typedef void (GLAPIENTRY * PFNGLWINDOWPOS3DPROC) (GLdouble x, GLdouble y, GLdouble z);
-typedef void (GLAPIENTRY * PFNGLWINDOWPOS3DVPROC) (const GLdouble *p);
-typedef void (GLAPIENTRY * PFNGLWINDOWPOS3FPROC) (GLfloat x, GLfloat y, GLfloat z);
-typedef void (GLAPIENTRY * PFNGLWINDOWPOS3FVPROC) (const GLfloat *p);
-typedef void (GLAPIENTRY * PFNGLWINDOWPOS3IPROC) (GLint x, GLint y, GLint z);
-typedef void (GLAPIENTRY * PFNGLWINDOWPOS3IVPROC) (const GLint *p);
-typedef void (GLAPIENTRY * PFNGLWINDOWPOS3SPROC) (GLshort x, GLshort y, GLshort z);
-typedef void (GLAPIENTRY * PFNGLWINDOWPOS3SVPROC) (const GLshort *p);
-
-#define glBlendColor GLEW_GET_FUN(__glewBlendColor)
-#define glBlendEquation GLEW_GET_FUN(__glewBlendEquation)
-#define glBlendFuncSeparate GLEW_GET_FUN(__glewBlendFuncSeparate)
-#define glFogCoordPointer GLEW_GET_FUN(__glewFogCoordPointer)
-#define glFogCoordd GLEW_GET_FUN(__glewFogCoordd)
-#define glFogCoorddv GLEW_GET_FUN(__glewFogCoorddv)
-#define glFogCoordf GLEW_GET_FUN(__glewFogCoordf)
-#define glFogCoordfv GLEW_GET_FUN(__glewFogCoordfv)
-#define glMultiDrawArrays GLEW_GET_FUN(__glewMultiDrawArrays)
-#define glMultiDrawElements GLEW_GET_FUN(__glewMultiDrawElements)
-#define glPointParameterf GLEW_GET_FUN(__glewPointParameterf)
-#define glPointParameterfv GLEW_GET_FUN(__glewPointParameterfv)
-#define glPointParameteri GLEW_GET_FUN(__glewPointParameteri)
-#define glPointParameteriv GLEW_GET_FUN(__glewPointParameteriv)
-#define glSecondaryColor3b GLEW_GET_FUN(__glewSecondaryColor3b)
-#define glSecondaryColor3bv GLEW_GET_FUN(__glewSecondaryColor3bv)
-#define glSecondaryColor3d GLEW_GET_FUN(__glewSecondaryColor3d)
-#define glSecondaryColor3dv GLEW_GET_FUN(__glewSecondaryColor3dv)
-#define glSecondaryColor3f GLEW_GET_FUN(__glewSecondaryColor3f)
-#define glSecondaryColor3fv GLEW_GET_FUN(__glewSecondaryColor3fv)
-#define glSecondaryColor3i GLEW_GET_FUN(__glewSecondaryColor3i)
-#define glSecondaryColor3iv GLEW_GET_FUN(__glewSecondaryColor3iv)
-#define glSecondaryColor3s GLEW_GET_FUN(__glewSecondaryColor3s)
-#define glSecondaryColor3sv GLEW_GET_FUN(__glewSecondaryColor3sv)
-#define glSecondaryColor3ub GLEW_GET_FUN(__glewSecondaryColor3ub)
-#define glSecondaryColor3ubv GLEW_GET_FUN(__glewSecondaryColor3ubv)
-#define glSecondaryColor3ui GLEW_GET_FUN(__glewSecondaryColor3ui)
-#define glSecondaryColor3uiv GLEW_GET_FUN(__glewSecondaryColor3uiv)
-#define glSecondaryColor3us GLEW_GET_FUN(__glewSecondaryColor3us)
-#define glSecondaryColor3usv GLEW_GET_FUN(__glewSecondaryColor3usv)
-#define glSecondaryColorPointer GLEW_GET_FUN(__glewSecondaryColorPointer)
-#define glWindowPos2d GLEW_GET_FUN(__glewWindowPos2d)
-#define glWindowPos2dv GLEW_GET_FUN(__glewWindowPos2dv)
-#define glWindowPos2f GLEW_GET_FUN(__glewWindowPos2f)
-#define glWindowPos2fv GLEW_GET_FUN(__glewWindowPos2fv)
-#define glWindowPos2i GLEW_GET_FUN(__glewWindowPos2i)
-#define glWindowPos2iv GLEW_GET_FUN(__glewWindowPos2iv)
-#define glWindowPos2s GLEW_GET_FUN(__glewWindowPos2s)
-#define glWindowPos2sv GLEW_GET_FUN(__glewWindowPos2sv)
-#define glWindowPos3d GLEW_GET_FUN(__glewWindowPos3d)
-#define glWindowPos3dv GLEW_GET_FUN(__glewWindowPos3dv)
-#define glWindowPos3f GLEW_GET_FUN(__glewWindowPos3f)
-#define glWindowPos3fv GLEW_GET_FUN(__glewWindowPos3fv)
-#define glWindowPos3i GLEW_GET_FUN(__glewWindowPos3i)
-#define glWindowPos3iv GLEW_GET_FUN(__glewWindowPos3iv)
-#define glWindowPos3s GLEW_GET_FUN(__glewWindowPos3s)
-#define glWindowPos3sv GLEW_GET_FUN(__glewWindowPos3sv)
-
-#define GLEW_VERSION_1_4 GLEW_GET_VAR(__GLEW_VERSION_1_4)
-
-#endif /* GL_VERSION_1_4 */
-
-/* ----------------------------- GL_VERSION_1_5 ---------------------------- */
-
-#ifndef GL_VERSION_1_5
-#define GL_VERSION_1_5 1
-
-#define GL_FOG_COORD_SRC GL_FOG_COORDINATE_SOURCE
-#define GL_FOG_COORD GL_FOG_COORDINATE
-#define GL_FOG_COORD_ARRAY GL_FOG_COORDINATE_ARRAY
-#define GL_SRC0_RGB GL_SOURCE0_RGB
-#define GL_FOG_COORD_ARRAY_POINTER GL_FOG_COORDINATE_ARRAY_POINTER
-#define GL_FOG_COORD_ARRAY_TYPE GL_FOG_COORDINATE_ARRAY_TYPE
-#define GL_SRC1_ALPHA GL_SOURCE1_ALPHA
-#define GL_CURRENT_FOG_COORD GL_CURRENT_FOG_COORDINATE
-#define GL_FOG_COORD_ARRAY_STRIDE GL_FOG_COORDINATE_ARRAY_STRIDE
-#define GL_SRC0_ALPHA GL_SOURCE0_ALPHA
-#define GL_SRC1_RGB GL_SOURCE1_RGB
-#define GL_FOG_COORD_ARRAY_BUFFER_BINDING GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING
-#define GL_SRC2_ALPHA GL_SOURCE2_ALPHA
-#define GL_SRC2_RGB GL_SOURCE2_RGB
-#define GL_BUFFER_SIZE 0x8764
-#define GL_BUFFER_USAGE 0x8765
-#define GL_QUERY_COUNTER_BITS 0x8864
-#define GL_CURRENT_QUERY 0x8865
-#define GL_QUERY_RESULT 0x8866
-#define GL_QUERY_RESULT_AVAILABLE 0x8867
-#define GL_ARRAY_BUFFER 0x8892
-#define GL_ELEMENT_ARRAY_BUFFER 0x8893
-#define GL_ARRAY_BUFFER_BINDING 0x8894
-#define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895
-#define GL_VERTEX_ARRAY_BUFFER_BINDING 0x8896
-#define GL_NORMAL_ARRAY_BUFFER_BINDING 0x8897
-#define GL_COLOR_ARRAY_BUFFER_BINDING 0x8898
-#define GL_INDEX_ARRAY_BUFFER_BINDING 0x8899
-#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING 0x889A
-#define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING 0x889B
-#define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING 0x889C
-#define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING 0x889D
-#define GL_WEIGHT_ARRAY_BUFFER_BINDING 0x889E
-#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F
-#define GL_READ_ONLY 0x88B8
-#define GL_WRITE_ONLY 0x88B9
-#define GL_READ_WRITE 0x88BA
-#define GL_BUFFER_ACCESS 0x88BB
-#define GL_BUFFER_MAPPED 0x88BC
-#define GL_BUFFER_MAP_POINTER 0x88BD
-#define GL_STREAM_DRAW 0x88E0
-#define GL_STREAM_READ 0x88E1
-#define GL_STREAM_COPY 0x88E2
-#define GL_STATIC_DRAW 0x88E4
-#define GL_STATIC_READ 0x88E5
-#define GL_STATIC_COPY 0x88E6
-#define GL_DYNAMIC_DRAW 0x88E8
-#define GL_DYNAMIC_READ 0x88E9
-#define GL_DYNAMIC_COPY 0x88EA
-#define GL_SAMPLES_PASSED 0x8914
-
-typedef ptrdiff_t GLsizeiptr;
-typedef ptrdiff_t GLintptr;
-
-typedef void (GLAPIENTRY * PFNGLBEGINQUERYPROC) (GLenum target, GLuint id);
-typedef void (GLAPIENTRY * PFNGLBINDBUFFERPROC) (GLenum target, GLuint buffer);
-typedef void (GLAPIENTRY * PFNGLBUFFERDATAPROC) (GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage);
-typedef void (GLAPIENTRY * PFNGLBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data);
-typedef void (GLAPIENTRY * PFNGLDELETEBUFFERSPROC) (GLsizei n, const GLuint* buffers);
-typedef void (GLAPIENTRY * PFNGLDELETEQUERIESPROC) (GLsizei n, const GLuint* ids);
-typedef void (GLAPIENTRY * PFNGLENDQUERYPROC) (GLenum target);
-typedef void (GLAPIENTRY * PFNGLGENBUFFERSPROC) (GLsizei n, GLuint* buffers);
-typedef void (GLAPIENTRY * PFNGLGENQUERIESPROC) (GLsizei n, GLuint* ids);
-typedef void (GLAPIENTRY * PFNGLGETBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint* params);
-typedef void (GLAPIENTRY * PFNGLGETBUFFERPOINTERVPROC) (GLenum target, GLenum pname, GLvoid** params);
-typedef void (GLAPIENTRY * PFNGLGETBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, GLvoid* data);
-typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTIVPROC) (GLuint id, GLenum pname, GLint* params);
-typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTUIVPROC) (GLuint id, GLenum pname, GLuint* params);
-typedef void (GLAPIENTRY * PFNGLGETQUERYIVPROC) (GLenum target, GLenum pname, GLint* params);
-typedef GLboolean (GLAPIENTRY * PFNGLISBUFFERPROC) (GLuint buffer);
-typedef GLboolean (GLAPIENTRY * PFNGLISQUERYPROC) (GLuint id);
-typedef GLvoid* (GLAPIENTRY * PFNGLMAPBUFFERPROC) (GLenum target, GLenum access);
-typedef GLboolean (GLAPIENTRY * PFNGLUNMAPBUFFERPROC) (GLenum target);
-
-#define glBeginQuery GLEW_GET_FUN(__glewBeginQuery)
-#define glBindBuffer GLEW_GET_FUN(__glewBindBuffer)
-#define glBufferData GLEW_GET_FUN(__glewBufferData)
-#define glBufferSubData GLEW_GET_FUN(__glewBufferSubData)
-#define glDeleteBuffers GLEW_GET_FUN(__glewDeleteBuffers)
-#define glDeleteQueries GLEW_GET_FUN(__glewDeleteQueries)
-#define glEndQuery GLEW_GET_FUN(__glewEndQuery)
-#define glGenBuffers GLEW_GET_FUN(__glewGenBuffers)
-#define glGenQueries GLEW_GET_FUN(__glewGenQueries)
-#define glGetBufferParameteriv GLEW_GET_FUN(__glewGetBufferParameteriv)
-#define glGetBufferPointerv GLEW_GET_FUN(__glewGetBufferPointerv)
-#define glGetBufferSubData GLEW_GET_FUN(__glewGetBufferSubData)
-#define glGetQueryObjectiv GLEW_GET_FUN(__glewGetQueryObjectiv)
-#define glGetQueryObjectuiv GLEW_GET_FUN(__glewGetQueryObjectuiv)
-#define glGetQueryiv GLEW_GET_FUN(__glewGetQueryiv)
-#define glIsBuffer GLEW_GET_FUN(__glewIsBuffer)
-#define glIsQuery GLEW_GET_FUN(__glewIsQuery)
-#define glMapBuffer GLEW_GET_FUN(__glewMapBuffer)
-#define glUnmapBuffer GLEW_GET_FUN(__glewUnmapBuffer)
-
-#define GLEW_VERSION_1_5 GLEW_GET_VAR(__GLEW_VERSION_1_5)
-
-#endif /* GL_VERSION_1_5 */
-
-/* ----------------------------- GL_VERSION_2_0 ---------------------------- */
-
-#ifndef GL_VERSION_2_0
-#define GL_VERSION_2_0 1
-
-#define GL_BLEND_EQUATION_RGB GL_BLEND_EQUATION
-#define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622
-#define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623
-#define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624
-#define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625
-#define GL_CURRENT_VERTEX_ATTRIB 0x8626
-#define GL_VERTEX_PROGRAM_POINT_SIZE 0x8642
-#define GL_VERTEX_PROGRAM_TWO_SIDE 0x8643
-#define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645
-#define GL_STENCIL_BACK_FUNC 0x8800
-#define GL_STENCIL_BACK_FAIL 0x8801
-#define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802
-#define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803
-#define GL_MAX_DRAW_BUFFERS 0x8824
-#define GL_DRAW_BUFFER0 0x8825
-#define GL_DRAW_BUFFER1 0x8826
-#define GL_DRAW_BUFFER2 0x8827
-#define GL_DRAW_BUFFER3 0x8828
-#define GL_DRAW_BUFFER4 0x8829
-#define GL_DRAW_BUFFER5 0x882A
-#define GL_DRAW_BUFFER6 0x882B
-#define GL_DRAW_BUFFER7 0x882C
-#define GL_DRAW_BUFFER8 0x882D
-#define GL_DRAW_BUFFER9 0x882E
-#define GL_DRAW_BUFFER10 0x882F
-#define GL_DRAW_BUFFER11 0x8830
-#define GL_DRAW_BUFFER12 0x8831
-#define GL_DRAW_BUFFER13 0x8832
-#define GL_DRAW_BUFFER14 0x8833
-#define GL_DRAW_BUFFER15 0x8834
-#define GL_BLEND_EQUATION_ALPHA 0x883D
-#define GL_POINT_SPRITE 0x8861
-#define GL_COORD_REPLACE 0x8862
-#define GL_MAX_VERTEX_ATTRIBS 0x8869
-#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A
-#define GL_MAX_TEXTURE_COORDS 0x8871
-#define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872
-#define GL_FRAGMENT_SHADER 0x8B30
-#define GL_VERTEX_SHADER 0x8B31
-#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS 0x8B49
-#define GL_MAX_VERTEX_UNIFORM_COMPONENTS 0x8B4A
-#define GL_MAX_VARYING_FLOATS 0x8B4B
-#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C
-#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D
-#define GL_SHADER_TYPE 0x8B4F
-#define GL_FLOAT_VEC2 0x8B50
-#define GL_FLOAT_VEC3 0x8B51
-#define GL_FLOAT_VEC4 0x8B52
-#define GL_INT_VEC2 0x8B53
-#define GL_INT_VEC3 0x8B54
-#define GL_INT_VEC4 0x8B55
-#define GL_BOOL 0x8B56
-#define GL_BOOL_VEC2 0x8B57
-#define GL_BOOL_VEC3 0x8B58
-#define GL_BOOL_VEC4 0x8B59
-#define GL_FLOAT_MAT2 0x8B5A
-#define GL_FLOAT_MAT3 0x8B5B
-#define GL_FLOAT_MAT4 0x8B5C
-#define GL_SAMPLER_1D 0x8B5D
-#define GL_SAMPLER_2D 0x8B5E
-#define GL_SAMPLER_3D 0x8B5F
-#define GL_SAMPLER_CUBE 0x8B60
-#define GL_SAMPLER_1D_SHADOW 0x8B61
-#define GL_SAMPLER_2D_SHADOW 0x8B62
-#define GL_DELETE_STATUS 0x8B80
-#define GL_COMPILE_STATUS 0x8B81
-#define GL_LINK_STATUS 0x8B82
-#define GL_VALIDATE_STATUS 0x8B83
-#define GL_INFO_LOG_LENGTH 0x8B84
-#define GL_ATTACHED_SHADERS 0x8B85
-#define GL_ACTIVE_UNIFORMS 0x8B86
-#define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87
-#define GL_SHADER_SOURCE_LENGTH 0x8B88
-#define GL_ACTIVE_ATTRIBUTES 0x8B89
-#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A
-#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT 0x8B8B
-#define GL_SHADING_LANGUAGE_VERSION 0x8B8C
-#define GL_CURRENT_PROGRAM 0x8B8D
-#define GL_POINT_SPRITE_COORD_ORIGIN 0x8CA0
-#define GL_LOWER_LEFT 0x8CA1
-#define GL_UPPER_LEFT 0x8CA2
-#define GL_STENCIL_BACK_REF 0x8CA3
-#define GL_STENCIL_BACK_VALUE_MASK 0x8CA4
-#define GL_STENCIL_BACK_WRITEMASK 0x8CA5
-
-typedef char GLchar;
-
-typedef void (GLAPIENTRY * PFNGLATTACHSHADERPROC) (GLuint program, GLuint shader);
-typedef void (GLAPIENTRY * PFNGLBINDATTRIBLOCATIONPROC) (GLuint program, GLuint index, const GLchar* name);
-typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONSEPARATEPROC) (GLenum, GLenum);
-typedef void (GLAPIENTRY * PFNGLCOMPILESHADERPROC) (GLuint shader);
-typedef GLuint (GLAPIENTRY * PFNGLCREATEPROGRAMPROC) (void);
-typedef GLuint (GLAPIENTRY * PFNGLCREATESHADERPROC) (GLenum type);
-typedef void (GLAPIENTRY * PFNGLDELETEPROGRAMPROC) (GLuint program);
-typedef void (GLAPIENTRY * PFNGLDELETESHADERPROC) (GLuint shader);
-typedef void (GLAPIENTRY * PFNGLDETACHSHADERPROC) (GLuint program, GLuint shader);
-typedef void (GLAPIENTRY * PFNGLDISABLEVERTEXATTRIBARRAYPROC) (GLuint);
-typedef void (GLAPIENTRY * PFNGLDRAWBUFFERSPROC) (GLsizei n, const GLenum* bufs);
-typedef void (GLAPIENTRY * PFNGLENABLEVERTEXATTRIBARRAYPROC) (GLuint);
-typedef void (GLAPIENTRY * PFNGLGETACTIVEATTRIBPROC) (GLuint program, GLuint index, GLsizei maxLength, GLsizei* length, GLint* size, GLenum* type, GLchar* name);
-typedef void (GLAPIENTRY * PFNGLGETACTIVEUNIFORMPROC) (GLuint program, GLuint index, GLsizei maxLength, GLsizei* length, GLint* size, GLenum* type, GLchar* name);
-typedef void (GLAPIENTRY * PFNGLGETATTACHEDSHADERSPROC) (GLuint program, GLsizei maxCount, GLsizei* count, GLuint* shaders);
-typedef GLint (GLAPIENTRY * PFNGLGETATTRIBLOCATIONPROC) (GLuint program, const GLchar* name);
-typedef void (GLAPIENTRY * PFNGLGETPROGRAMINFOLOGPROC) (GLuint program, GLsizei bufSize, GLsizei* length, GLchar* infoLog);
-typedef void (GLAPIENTRY * PFNGLGETPROGRAMIVPROC) (GLuint program, GLenum pname, GLint* param);
-typedef void (GLAPIENTRY * PFNGLGETSHADERINFOLOGPROC) (GLuint shader, GLsizei bufSize, GLsizei* length, GLchar* infoLog);
-typedef void (GLAPIENTRY * PFNGLGETSHADERSOURCEPROC) (GLint obj, GLsizei maxLength, GLsizei* length, GLchar* source);
-typedef void (GLAPIENTRY * PFNGLGETSHADERIVPROC) (GLuint shader, GLenum pname, GLint* param);
-typedef GLint (GLAPIENTRY * PFNGLGETUNIFORMLOCATIONPROC) (GLuint program, const GLchar* name);
-typedef void (GLAPIENTRY * PFNGLGETUNIFORMFVPROC) (GLuint program, GLint location, GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLGETUNIFORMIVPROC) (GLuint program, GLint location, GLint* params);
-typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBPOINTERVPROC) (GLuint, GLenum, GLvoid*);
-typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBDVPROC) (GLuint, GLenum, GLdouble*);
-typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBFVPROC) (GLuint, GLenum, GLfloat*);
-typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIVPROC) (GLuint, GLenum, GLint*);
-typedef GLboolean (GLAPIENTRY * PFNGLISPROGRAMPROC) (GLuint program);
-typedef GLboolean (GLAPIENTRY * PFNGLISSHADERPROC) (GLuint shader);
-typedef void (GLAPIENTRY * PFNGLLINKPROGRAMPROC) (GLuint program);
-typedef void (GLAPIENTRY * PFNGLSHADERSOURCEPROC) (GLuint shader, GLsizei count, const GLchar** strings, const GLint* lengths);
-typedef void (GLAPIENTRY * PFNGLSTENCILFUNCSEPARATEPROC) (GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask);
-typedef void (GLAPIENTRY * PFNGLSTENCILMASKSEPARATEPROC) (GLenum, GLuint);
-typedef void (GLAPIENTRY * PFNGLSTENCILOPSEPARATEPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
-typedef void (GLAPIENTRY * PFNGLUNIFORM1FPROC) (GLint location, GLfloat v0);
-typedef void (GLAPIENTRY * PFNGLUNIFORM1FVPROC) (GLint location, GLsizei count, const GLfloat* value);
-typedef void (GLAPIENTRY * PFNGLUNIFORM1IPROC) (GLint location, GLint v0);
-typedef void (GLAPIENTRY * PFNGLUNIFORM1IVPROC) (GLint location, GLsizei count, const GLint* value);
-typedef void (GLAPIENTRY * PFNGLUNIFORM2FPROC) (GLint location, GLfloat v0, GLfloat v1);
-typedef void (GLAPIENTRY * PFNGLUNIFORM2FVPROC) (GLint location, GLsizei count, const GLfloat* value);
-typedef void (GLAPIENTRY * PFNGLUNIFORM2IPROC) (GLint location, GLint v0, GLint v1);
-typedef void (GLAPIENTRY * PFNGLUNIFORM2IVPROC) (GLint location, GLsizei count, const GLint* value);
-typedef void (GLAPIENTRY * PFNGLUNIFORM3FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
-typedef void (GLAPIENTRY * PFNGLUNIFORM3FVPROC) (GLint location, GLsizei count, const GLfloat* value);
-typedef void (GLAPIENTRY * PFNGLUNIFORM3IPROC) (GLint location, GLint v0, GLint v1, GLint v2);
-typedef void (GLAPIENTRY * PFNGLUNIFORM3IVPROC) (GLint location, GLsizei count, const GLint* value);
-typedef void (GLAPIENTRY * PFNGLUNIFORM4FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
-typedef void (GLAPIENTRY * PFNGLUNIFORM4FVPROC) (GLint location, GLsizei count, const GLfloat* value);
-typedef void (GLAPIENTRY * PFNGLUNIFORM4IPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
-typedef void (GLAPIENTRY * PFNGLUNIFORM4IVPROC) (GLint location, GLsizei count, const GLint* value);
-typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
-typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
-typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
-typedef void (GLAPIENTRY * PFNGLUSEPROGRAMPROC) (GLuint program);
-typedef void (GLAPIENTRY * PFNGLVALIDATEPROGRAMPROC) (GLuint program);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1DPROC) (GLuint index, GLdouble x);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1DVPROC) (GLuint index, const GLdouble* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1FPROC) (GLuint index, GLfloat x);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1FVPROC) (GLuint index, const GLfloat* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1SPROC) (GLuint index, GLshort x);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1SVPROC) (GLuint index, const GLshort* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2DPROC) (GLuint index, GLdouble x, GLdouble y);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2DVPROC) (GLuint index, const GLdouble* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2FPROC) (GLuint index, GLfloat x, GLfloat y);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2FVPROC) (GLuint index, const GLfloat* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2SPROC) (GLuint index, GLshort x, GLshort y);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2SVPROC) (GLuint index, const GLshort* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3DVPROC) (GLuint index, const GLdouble* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3FVPROC) (GLuint index, const GLfloat* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3SPROC) (GLuint index, GLshort x, GLshort y, GLshort z);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3SVPROC) (GLuint index, const GLshort* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NBVPROC) (GLuint index, const GLbyte* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NIVPROC) (GLuint index, const GLint* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NSVPROC) (GLuint index, const GLshort* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NUBPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NUBVPROC) (GLuint index, const GLubyte* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NUIVPROC) (GLuint index, const GLuint* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NUSVPROC) (GLuint index, const GLushort* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4BVPROC) (GLuint index, const GLbyte* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4DVPROC) (GLuint index, const GLdouble* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4FVPROC) (GLuint index, const GLfloat* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4IVPROC) (GLuint index, const GLint* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4SPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4SVPROC) (GLuint index, const GLshort* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4UBVPROC) (GLuint index, const GLubyte* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4UIVPROC) (GLuint index, const GLuint* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4USVPROC) (GLuint index, const GLushort* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBPOINTERPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* pointer);
-
-#define glAttachShader GLEW_GET_FUN(__glewAttachShader)
-#define glBindAttribLocation GLEW_GET_FUN(__glewBindAttribLocation)
-#define glBlendEquationSeparate GLEW_GET_FUN(__glewBlendEquationSeparate)
-#define glCompileShader GLEW_GET_FUN(__glewCompileShader)
-#define glCreateProgram GLEW_GET_FUN(__glewCreateProgram)
-#define glCreateShader GLEW_GET_FUN(__glewCreateShader)
-#define glDeleteProgram GLEW_GET_FUN(__glewDeleteProgram)
-#define glDeleteShader GLEW_GET_FUN(__glewDeleteShader)
-#define glDetachShader GLEW_GET_FUN(__glewDetachShader)
-#define glDisableVertexAttribArray GLEW_GET_FUN(__glewDisableVertexAttribArray)
-#define glDrawBuffers GLEW_GET_FUN(__glewDrawBuffers)
-#define glEnableVertexAttribArray GLEW_GET_FUN(__glewEnableVertexAttribArray)
-#define glGetActiveAttrib GLEW_GET_FUN(__glewGetActiveAttrib)
-#define glGetActiveUniform GLEW_GET_FUN(__glewGetActiveUniform)
-#define glGetAttachedShaders GLEW_GET_FUN(__glewGetAttachedShaders)
-#define glGetAttribLocation GLEW_GET_FUN(__glewGetAttribLocation)
-#define glGetProgramInfoLog GLEW_GET_FUN(__glewGetProgramInfoLog)
-#define glGetProgramiv GLEW_GET_FUN(__glewGetProgramiv)
-#define glGetShaderInfoLog GLEW_GET_FUN(__glewGetShaderInfoLog)
-#define glGetShaderSource GLEW_GET_FUN(__glewGetShaderSource)
-#define glGetShaderiv GLEW_GET_FUN(__glewGetShaderiv)
-#define glGetUniformLocation GLEW_GET_FUN(__glewGetUniformLocation)
-#define glGetUniformfv GLEW_GET_FUN(__glewGetUniformfv)
-#define glGetUniformiv GLEW_GET_FUN(__glewGetUniformiv)
-#define glGetVertexAttribPointerv GLEW_GET_FUN(__glewGetVertexAttribPointerv)
-#define glGetVertexAttribdv GLEW_GET_FUN(__glewGetVertexAttribdv)
-#define glGetVertexAttribfv GLEW_GET_FUN(__glewGetVertexAttribfv)
-#define glGetVertexAttribiv GLEW_GET_FUN(__glewGetVertexAttribiv)
-#define glIsProgram GLEW_GET_FUN(__glewIsProgram)
-#define glIsShader GLEW_GET_FUN(__glewIsShader)
-#define glLinkProgram GLEW_GET_FUN(__glewLinkProgram)
-#define glShaderSource GLEW_GET_FUN(__glewShaderSource)
-#define glStencilFuncSeparate GLEW_GET_FUN(__glewStencilFuncSeparate)
-#define glStencilMaskSeparate GLEW_GET_FUN(__glewStencilMaskSeparate)
-#define glStencilOpSeparate GLEW_GET_FUN(__glewStencilOpSeparate)
-#define glUniform1f GLEW_GET_FUN(__glewUniform1f)
-#define glUniform1fv GLEW_GET_FUN(__glewUniform1fv)
-#define glUniform1i GLEW_GET_FUN(__glewUniform1i)
-#define glUniform1iv GLEW_GET_FUN(__glewUniform1iv)
-#define glUniform2f GLEW_GET_FUN(__glewUniform2f)
-#define glUniform2fv GLEW_GET_FUN(__glewUniform2fv)
-#define glUniform2i GLEW_GET_FUN(__glewUniform2i)
-#define glUniform2iv GLEW_GET_FUN(__glewUniform2iv)
-#define glUniform3f GLEW_GET_FUN(__glewUniform3f)
-#define glUniform3fv GLEW_GET_FUN(__glewUniform3fv)
-#define glUniform3i GLEW_GET_FUN(__glewUniform3i)
-#define glUniform3iv GLEW_GET_FUN(__glewUniform3iv)
-#define glUniform4f GLEW_GET_FUN(__glewUniform4f)
-#define glUniform4fv GLEW_GET_FUN(__glewUniform4fv)
-#define glUniform4i GLEW_GET_FUN(__glewUniform4i)
-#define glUniform4iv GLEW_GET_FUN(__glewUniform4iv)
-#define glUniformMatrix2fv GLEW_GET_FUN(__glewUniformMatrix2fv)
-#define glUniformMatrix3fv GLEW_GET_FUN(__glewUniformMatrix3fv)
-#define glUniformMatrix4fv GLEW_GET_FUN(__glewUniformMatrix4fv)
-#define glUseProgram GLEW_GET_FUN(__glewUseProgram)
-#define glValidateProgram GLEW_GET_FUN(__glewValidateProgram)
-#define glVertexAttrib1d GLEW_GET_FUN(__glewVertexAttrib1d)
-#define glVertexAttrib1dv GLEW_GET_FUN(__glewVertexAttrib1dv)
-#define glVertexAttrib1f GLEW_GET_FUN(__glewVertexAttrib1f)
-#define glVertexAttrib1fv GLEW_GET_FUN(__glewVertexAttrib1fv)
-#define glVertexAttrib1s GLEW_GET_FUN(__glewVertexAttrib1s)
-#define glVertexAttrib1sv GLEW_GET_FUN(__glewVertexAttrib1sv)
-#define glVertexAttrib2d GLEW_GET_FUN(__glewVertexAttrib2d)
-#define glVertexAttrib2dv GLEW_GET_FUN(__glewVertexAttrib2dv)
-#define glVertexAttrib2f GLEW_GET_FUN(__glewVertexAttrib2f)
-#define glVertexAttrib2fv GLEW_GET_FUN(__glewVertexAttrib2fv)
-#define glVertexAttrib2s GLEW_GET_FUN(__glewVertexAttrib2s)
-#define glVertexAttrib2sv GLEW_GET_FUN(__glewVertexAttrib2sv)
-#define glVertexAttrib3d GLEW_GET_FUN(__glewVertexAttrib3d)
-#define glVertexAttrib3dv GLEW_GET_FUN(__glewVertexAttrib3dv)
-#define glVertexAttrib3f GLEW_GET_FUN(__glewVertexAttrib3f)
-#define glVertexAttrib3fv GLEW_GET_FUN(__glewVertexAttrib3fv)
-#define glVertexAttrib3s GLEW_GET_FUN(__glewVertexAttrib3s)
-#define glVertexAttrib3sv GLEW_GET_FUN(__glewVertexAttrib3sv)
-#define glVertexAttrib4Nbv GLEW_GET_FUN(__glewVertexAttrib4Nbv)
-#define glVertexAttrib4Niv GLEW_GET_FUN(__glewVertexAttrib4Niv)
-#define glVertexAttrib4Nsv GLEW_GET_FUN(__glewVertexAttrib4Nsv)
-#define glVertexAttrib4Nub GLEW_GET_FUN(__glewVertexAttrib4Nub)
-#define glVertexAttrib4Nubv GLEW_GET_FUN(__glewVertexAttrib4Nubv)
-#define glVertexAttrib4Nuiv GLEW_GET_FUN(__glewVertexAttrib4Nuiv)
-#define glVertexAttrib4Nusv GLEW_GET_FUN(__glewVertexAttrib4Nusv)
-#define glVertexAttrib4bv GLEW_GET_FUN(__glewVertexAttrib4bv)
-#define glVertexAttrib4d GLEW_GET_FUN(__glewVertexAttrib4d)
-#define glVertexAttrib4dv GLEW_GET_FUN(__glewVertexAttrib4dv)
-#define glVertexAttrib4f GLEW_GET_FUN(__glewVertexAttrib4f)
-#define glVertexAttrib4fv GLEW_GET_FUN(__glewVertexAttrib4fv)
-#define glVertexAttrib4iv GLEW_GET_FUN(__glewVertexAttrib4iv)
-#define glVertexAttrib4s GLEW_GET_FUN(__glewVertexAttrib4s)
-#define glVertexAttrib4sv GLEW_GET_FUN(__glewVertexAttrib4sv)
-#define glVertexAttrib4ubv GLEW_GET_FUN(__glewVertexAttrib4ubv)
-#define glVertexAttrib4uiv GLEW_GET_FUN(__glewVertexAttrib4uiv)
-#define glVertexAttrib4usv GLEW_GET_FUN(__glewVertexAttrib4usv)
-#define glVertexAttribPointer GLEW_GET_FUN(__glewVertexAttribPointer)
-
-#define GLEW_VERSION_2_0 GLEW_GET_VAR(__GLEW_VERSION_2_0)
-
-#endif /* GL_VERSION_2_0 */
-
-/* ----------------------------- GL_VERSION_2_1 ---------------------------- */
-
-#ifndef GL_VERSION_2_1
-#define GL_VERSION_2_1 1
-
-#define GL_CURRENT_RASTER_SECONDARY_COLOR 0x845F
-#define GL_PIXEL_PACK_BUFFER 0x88EB
-#define GL_PIXEL_UNPACK_BUFFER 0x88EC
-#define GL_PIXEL_PACK_BUFFER_BINDING 0x88ED
-#define GL_PIXEL_UNPACK_BUFFER_BINDING 0x88EF
-#define GL_FLOAT_MAT2x3 0x8B65
-#define GL_FLOAT_MAT2x4 0x8B66
-#define GL_FLOAT_MAT3x2 0x8B67
-#define GL_FLOAT_MAT3x4 0x8B68
-#define GL_FLOAT_MAT4x2 0x8B69
-#define GL_FLOAT_MAT4x3 0x8B6A
-#define GL_SRGB 0x8C40
-#define GL_SRGB8 0x8C41
-#define GL_SRGB_ALPHA 0x8C42
-#define GL_SRGB8_ALPHA8 0x8C43
-#define GL_SLUMINANCE_ALPHA 0x8C44
-#define GL_SLUMINANCE8_ALPHA8 0x8C45
-#define GL_SLUMINANCE 0x8C46
-#define GL_SLUMINANCE8 0x8C47
-#define GL_COMPRESSED_SRGB 0x8C48
-#define GL_COMPRESSED_SRGB_ALPHA 0x8C49
-#define GL_COMPRESSED_SLUMINANCE 0x8C4A
-#define GL_COMPRESSED_SLUMINANCE_ALPHA 0x8C4B
-
-typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX2X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
-typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX2X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
-typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX3X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
-typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX3X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
-typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX4X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
-typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX4X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
-
-#define glUniformMatrix2x3fv GLEW_GET_FUN(__glewUniformMatrix2x3fv)
-#define glUniformMatrix2x4fv GLEW_GET_FUN(__glewUniformMatrix2x4fv)
-#define glUniformMatrix3x2fv GLEW_GET_FUN(__glewUniformMatrix3x2fv)
-#define glUniformMatrix3x4fv GLEW_GET_FUN(__glewUniformMatrix3x4fv)
-#define glUniformMatrix4x2fv GLEW_GET_FUN(__glewUniformMatrix4x2fv)
-#define glUniformMatrix4x3fv GLEW_GET_FUN(__glewUniformMatrix4x3fv)
-
-#define GLEW_VERSION_2_1 GLEW_GET_VAR(__GLEW_VERSION_2_1)
-
-#endif /* GL_VERSION_2_1 */
-
-/* ----------------------------- GL_VERSION_3_0 ---------------------------- */
-
-#ifndef GL_VERSION_3_0
-#define GL_VERSION_3_0 1
-
-#define GL_MAX_CLIP_DISTANCES GL_MAX_CLIP_PLANES
-#define GL_CLIP_DISTANCE5 GL_CLIP_PLANE5
-#define GL_CLIP_DISTANCE1 GL_CLIP_PLANE1
-#define GL_CLIP_DISTANCE3 GL_CLIP_PLANE3
-#define GL_COMPARE_REF_TO_TEXTURE GL_COMPARE_R_TO_TEXTURE_ARB
-#define GL_CLIP_DISTANCE0 GL_CLIP_PLANE0
-#define GL_CLIP_DISTANCE4 GL_CLIP_PLANE4
-#define GL_CLIP_DISTANCE2 GL_CLIP_PLANE2
-#define GL_MAX_VARYING_COMPONENTS GL_MAX_VARYING_FLOATS
-#define GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT 0x0001
-#define GL_MAJOR_VERSION 0x821B
-#define GL_MINOR_VERSION 0x821C
-#define GL_NUM_EXTENSIONS 0x821D
-#define GL_CONTEXT_FLAGS 0x821E
-#define GL_DEPTH_BUFFER 0x8223
-#define GL_STENCIL_BUFFER 0x8224
-#define GL_COMPRESSED_RED 0x8225
-#define GL_COMPRESSED_RG 0x8226
-#define GL_RGBA32F 0x8814
-#define GL_RGB32F 0x8815
-#define GL_RGBA16F 0x881A
-#define GL_RGB16F 0x881B
-#define GL_VERTEX_ATTRIB_ARRAY_INTEGER 0x88FD
-#define GL_MAX_ARRAY_TEXTURE_LAYERS 0x88FF
-#define GL_MIN_PROGRAM_TEXEL_OFFSET 0x8904
-#define GL_MAX_PROGRAM_TEXEL_OFFSET 0x8905
-#define GL_CLAMP_VERTEX_COLOR 0x891A
-#define GL_CLAMP_FRAGMENT_COLOR 0x891B
-#define GL_CLAMP_READ_COLOR 0x891C
-#define GL_FIXED_ONLY 0x891D
-#define GL_TEXTURE_RED_TYPE 0x8C10
-#define GL_TEXTURE_GREEN_TYPE 0x8C11
-#define GL_TEXTURE_BLUE_TYPE 0x8C12
-#define GL_TEXTURE_ALPHA_TYPE 0x8C13
-#define GL_TEXTURE_LUMINANCE_TYPE 0x8C14
-#define GL_TEXTURE_INTENSITY_TYPE 0x8C15
-#define GL_TEXTURE_DEPTH_TYPE 0x8C16
-#define GL_UNSIGNED_NORMALIZED 0x8C17
-#define GL_TEXTURE_1D_ARRAY 0x8C18
-#define GL_PROXY_TEXTURE_1D_ARRAY 0x8C19
-#define GL_TEXTURE_2D_ARRAY 0x8C1A
-#define GL_PROXY_TEXTURE_2D_ARRAY 0x8C1B
-#define GL_TEXTURE_BINDING_1D_ARRAY 0x8C1C
-#define GL_TEXTURE_BINDING_2D_ARRAY 0x8C1D
-#define GL_R11F_G11F_B10F 0x8C3A
-#define GL_UNSIGNED_INT_10F_11F_11F_REV 0x8C3B
-#define GL_RGB9_E5 0x8C3D
-#define GL_UNSIGNED_INT_5_9_9_9_REV 0x8C3E
-#define GL_TEXTURE_SHARED_SIZE 0x8C3F
-#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH 0x8C76
-#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE 0x8C7F
-#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS 0x8C80
-#define GL_TRANSFORM_FEEDBACK_VARYINGS 0x8C83
-#define GL_TRANSFORM_FEEDBACK_BUFFER_START 0x8C84
-#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE 0x8C85
-#define GL_PRIMITIVES_GENERATED 0x8C87
-#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN 0x8C88
-#define GL_RASTERIZER_DISCARD 0x8C89
-#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS 0x8C8A
-#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS 0x8C8B
-#define GL_INTERLEAVED_ATTRIBS 0x8C8C
-#define GL_SEPARATE_ATTRIBS 0x8C8D
-#define GL_TRANSFORM_FEEDBACK_BUFFER 0x8C8E
-#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING 0x8C8F
-#define GL_RGBA32UI 0x8D70
-#define GL_RGB32UI 0x8D71
-#define GL_RGBA16UI 0x8D76
-#define GL_RGB16UI 0x8D77
-#define GL_RGBA8UI 0x8D7C
-#define GL_RGB8UI 0x8D7D
-#define GL_RGBA32I 0x8D82
-#define GL_RGB32I 0x8D83
-#define GL_RGBA16I 0x8D88
-#define GL_RGB16I 0x8D89
-#define GL_RGBA8I 0x8D8E
-#define GL_RGB8I 0x8D8F
-#define GL_RED_INTEGER 0x8D94
-#define GL_GREEN_INTEGER 0x8D95
-#define GL_BLUE_INTEGER 0x8D96
-#define GL_ALPHA_INTEGER 0x8D97
-#define GL_RGB_INTEGER 0x8D98
-#define GL_RGBA_INTEGER 0x8D99
-#define GL_BGR_INTEGER 0x8D9A
-#define GL_BGRA_INTEGER 0x8D9B
-#define GL_SAMPLER_1D_ARRAY 0x8DC0
-#define GL_SAMPLER_2D_ARRAY 0x8DC1
-#define GL_SAMPLER_1D_ARRAY_SHADOW 0x8DC3
-#define GL_SAMPLER_2D_ARRAY_SHADOW 0x8DC4
-#define GL_SAMPLER_CUBE_SHADOW 0x8DC5
-#define GL_UNSIGNED_INT_VEC2 0x8DC6
-#define GL_UNSIGNED_INT_VEC3 0x8DC7
-#define GL_UNSIGNED_INT_VEC4 0x8DC8
-#define GL_INT_SAMPLER_1D 0x8DC9
-#define GL_INT_SAMPLER_2D 0x8DCA
-#define GL_INT_SAMPLER_3D 0x8DCB
-#define GL_INT_SAMPLER_CUBE 0x8DCC
-#define GL_INT_SAMPLER_1D_ARRAY 0x8DCE
-#define GL_INT_SAMPLER_2D_ARRAY 0x8DCF
-#define GL_UNSIGNED_INT_SAMPLER_1D 0x8DD1
-#define GL_UNSIGNED_INT_SAMPLER_2D 0x8DD2
-#define GL_UNSIGNED_INT_SAMPLER_3D 0x8DD3
-#define GL_UNSIGNED_INT_SAMPLER_CUBE 0x8DD4
-#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY 0x8DD6
-#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY 0x8DD7
-#define GL_QUERY_WAIT 0x8E13
-#define GL_QUERY_NO_WAIT 0x8E14
-#define GL_QUERY_BY_REGION_WAIT 0x8E15
-#define GL_QUERY_BY_REGION_NO_WAIT 0x8E16
-
-typedef void (GLAPIENTRY * PFNGLBEGINCONDITIONALRENDERPROC) (GLuint, GLenum);
-typedef void (GLAPIENTRY * PFNGLBEGINTRANSFORMFEEDBACKPROC) (GLenum);
-typedef void (GLAPIENTRY * PFNGLBINDFRAGDATALOCATIONPROC) (GLuint, GLuint, const GLchar*);
-typedef void (GLAPIENTRY * PFNGLCLAMPCOLORPROC) (GLenum, GLenum);
-typedef void (GLAPIENTRY * PFNGLCLEARBUFFERFIPROC) (GLenum, GLint, GLfloat, GLint);
-typedef void (GLAPIENTRY * PFNGLCLEARBUFFERFVPROC) (GLenum, GLint, const GLfloat*);
-typedef void (GLAPIENTRY * PFNGLCLEARBUFFERIVPROC) (GLenum, GLint, const GLint*);
-typedef void (GLAPIENTRY * PFNGLCLEARBUFFERUIVPROC) (GLenum, GLint, const GLuint*);
-typedef void (GLAPIENTRY * PFNGLCOLORMASKIPROC) (GLuint, GLboolean, GLboolean, GLboolean, GLboolean);
-typedef void (GLAPIENTRY * PFNGLDISABLEIPROC) (GLenum, GLuint);
-typedef void (GLAPIENTRY * PFNGLENABLEIPROC) (GLenum, GLuint);
-typedef void (GLAPIENTRY * PFNGLENDCONDITIONALRENDERPROC) (void);
-typedef void (GLAPIENTRY * PFNGLENDTRANSFORMFEEDBACKPROC) (void);
-typedef void (GLAPIENTRY * PFNGLGETBOOLEANI_VPROC) (GLenum, GLuint, GLboolean*);
-typedef GLint (GLAPIENTRY * PFNGLGETFRAGDATALOCATIONPROC) (GLuint, const GLchar*);
-typedef const GLubyte* (GLAPIENTRY * PFNGLGETSTRINGIPROC) (GLenum, GLuint);
-typedef void (GLAPIENTRY * PFNGLGETTEXPARAMETERIIVPROC) (GLenum, GLenum, GLint*);
-typedef void (GLAPIENTRY * PFNGLGETTEXPARAMETERIUIVPROC) (GLenum, GLenum, GLuint*);
-typedef void (GLAPIENTRY * PFNGLGETTRANSFORMFEEDBACKVARYINGPROC) (GLuint, GLuint, GLint*);
-typedef void (GLAPIENTRY * PFNGLGETUNIFORMUIVPROC) (GLuint, GLint, GLuint*);
-typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIIVPROC) (GLuint, GLenum, GLint*);
-typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIUIVPROC) (GLuint, GLenum, GLuint*);
-typedef GLboolean (GLAPIENTRY * PFNGLISENABLEDIPROC) (GLenum, GLuint);
-typedef void (GLAPIENTRY * PFNGLTEXPARAMETERIIVPROC) (GLenum, GLenum, const GLint*);
-typedef void (GLAPIENTRY * PFNGLTEXPARAMETERIUIVPROC) (GLenum, GLenum, const GLuint*);
-typedef void (GLAPIENTRY * PFNGLTRANSFORMFEEDBACKVARYINGSPROC) (GLuint, GLsizei, const GLchar **, GLenum);
-typedef void (GLAPIENTRY * PFNGLUNIFORM1UIPROC) (GLint, GLuint);
-typedef void (GLAPIENTRY * PFNGLUNIFORM1UIVPROC) (GLint, GLsizei, const GLuint*);
-typedef void (GLAPIENTRY * PFNGLUNIFORM2UIPROC) (GLint, GLuint, GLuint);
-typedef void (GLAPIENTRY * PFNGLUNIFORM2UIVPROC) (GLint, GLsizei, const GLuint*);
-typedef void (GLAPIENTRY * PFNGLUNIFORM3UIPROC) (GLint, GLuint, GLuint, GLuint);
-typedef void (GLAPIENTRY * PFNGLUNIFORM3UIVPROC) (GLint, GLsizei, const GLuint*);
-typedef void (GLAPIENTRY * PFNGLUNIFORM4UIPROC) (GLint, GLuint, GLuint, GLuint, GLuint);
-typedef void (GLAPIENTRY * PFNGLUNIFORM4UIVPROC) (GLint, GLsizei, const GLuint*);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1IPROC) (GLuint, GLint);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1IVPROC) (GLuint, const GLint*);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1UIPROC) (GLuint, GLuint);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1UIVPROC) (GLuint, const GLuint*);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2IPROC) (GLuint, GLint, GLint);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2IVPROC) (GLuint, const GLint*);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2UIPROC) (GLuint, GLuint, GLuint);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2UIVPROC) (GLuint, const GLuint*);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3IPROC) (GLuint, GLint, GLint, GLint);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3IVPROC) (GLuint, const GLint*);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3UIPROC) (GLuint, GLuint, GLuint, GLuint);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3UIVPROC) (GLuint, const GLuint*);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4BVPROC) (GLuint, const GLbyte*);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4IPROC) (GLuint, GLint, GLint, GLint, GLint);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4IVPROC) (GLuint, const GLint*);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4SVPROC) (GLuint, const GLshort*);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4UBVPROC) (GLuint, const GLubyte*);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4UIPROC) (GLuint, GLuint, GLuint, GLuint, GLuint);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4UIVPROC) (GLuint, const GLuint*);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4USVPROC) (GLuint, const GLushort*);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBIPOINTERPROC) (GLuint, GLint, GLenum, GLsizei, const GLvoid*);
-
-#define glBeginConditionalRender GLEW_GET_FUN(__glewBeginConditionalRender)
-#define glBeginTransformFeedback GLEW_GET_FUN(__glewBeginTransformFeedback)
-#define glBindFragDataLocation GLEW_GET_FUN(__glewBindFragDataLocation)
-#define glClampColor GLEW_GET_FUN(__glewClampColor)
-#define glClearBufferfi GLEW_GET_FUN(__glewClearBufferfi)
-#define glClearBufferfv GLEW_GET_FUN(__glewClearBufferfv)
-#define glClearBufferiv GLEW_GET_FUN(__glewClearBufferiv)
-#define glClearBufferuiv GLEW_GET_FUN(__glewClearBufferuiv)
-#define glColorMaski GLEW_GET_FUN(__glewColorMaski)
-#define glDisablei GLEW_GET_FUN(__glewDisablei)
-#define glEnablei GLEW_GET_FUN(__glewEnablei)
-#define glEndConditionalRender GLEW_GET_FUN(__glewEndConditionalRender)
-#define glEndTransformFeedback GLEW_GET_FUN(__glewEndTransformFeedback)
-#define glGetBooleani_v GLEW_GET_FUN(__glewGetBooleani_v)
-#define glGetFragDataLocation GLEW_GET_FUN(__glewGetFragDataLocation)
-#define glGetStringi GLEW_GET_FUN(__glewGetStringi)
-#define glGetTexParameterIiv GLEW_GET_FUN(__glewGetTexParameterIiv)
-#define glGetTexParameterIuiv GLEW_GET_FUN(__glewGetTexParameterIuiv)
-#define glGetTransformFeedbackVarying GLEW_GET_FUN(__glewGetTransformFeedbackVarying)
-#define glGetUniformuiv GLEW_GET_FUN(__glewGetUniformuiv)
-#define glGetVertexAttribIiv GLEW_GET_FUN(__glewGetVertexAttribIiv)
-#define glGetVertexAttribIuiv GLEW_GET_FUN(__glewGetVertexAttribIuiv)
-#define glIsEnabledi GLEW_GET_FUN(__glewIsEnabledi)
-#define glTexParameterIiv GLEW_GET_FUN(__glewTexParameterIiv)
-#define glTexParameterIuiv GLEW_GET_FUN(__glewTexParameterIuiv)
-#define glTransformFeedbackVaryings GLEW_GET_FUN(__glewTransformFeedbackVaryings)
-#define glUniform1ui GLEW_GET_FUN(__glewUniform1ui)
-#define glUniform1uiv GLEW_GET_FUN(__glewUniform1uiv)
-#define glUniform2ui GLEW_GET_FUN(__glewUniform2ui)
-#define glUniform2uiv GLEW_GET_FUN(__glewUniform2uiv)
-#define glUniform3ui GLEW_GET_FUN(__glewUniform3ui)
-#define glUniform3uiv GLEW_GET_FUN(__glewUniform3uiv)
-#define glUniform4ui GLEW_GET_FUN(__glewUniform4ui)
-#define glUniform4uiv GLEW_GET_FUN(__glewUniform4uiv)
-#define glVertexAttribI1i GLEW_GET_FUN(__glewVertexAttribI1i)
-#define glVertexAttribI1iv GLEW_GET_FUN(__glewVertexAttribI1iv)
-#define glVertexAttribI1ui GLEW_GET_FUN(__glewVertexAttribI1ui)
-#define glVertexAttribI1uiv GLEW_GET_FUN(__glewVertexAttribI1uiv)
-#define glVertexAttribI2i GLEW_GET_FUN(__glewVertexAttribI2i)
-#define glVertexAttribI2iv GLEW_GET_FUN(__glewVertexAttribI2iv)
-#define glVertexAttribI2ui GLEW_GET_FUN(__glewVertexAttribI2ui)
-#define glVertexAttribI2uiv GLEW_GET_FUN(__glewVertexAttribI2uiv)
-#define glVertexAttribI3i GLEW_GET_FUN(__glewVertexAttribI3i)
-#define glVertexAttribI3iv GLEW_GET_FUN(__glewVertexAttribI3iv)
-#define glVertexAttribI3ui GLEW_GET_FUN(__glewVertexAttribI3ui)
-#define glVertexAttribI3uiv GLEW_GET_FUN(__glewVertexAttribI3uiv)
-#define glVertexAttribI4bv GLEW_GET_FUN(__glewVertexAttribI4bv)
-#define glVertexAttribI4i GLEW_GET_FUN(__glewVertexAttribI4i)
-#define glVertexAttribI4iv GLEW_GET_FUN(__glewVertexAttribI4iv)
-#define glVertexAttribI4sv GLEW_GET_FUN(__glewVertexAttribI4sv)
-#define glVertexAttribI4ubv GLEW_GET_FUN(__glewVertexAttribI4ubv)
-#define glVertexAttribI4ui GLEW_GET_FUN(__glewVertexAttribI4ui)
-#define glVertexAttribI4uiv GLEW_GET_FUN(__glewVertexAttribI4uiv)
-#define glVertexAttribI4usv GLEW_GET_FUN(__glewVertexAttribI4usv)
-#define glVertexAttribIPointer GLEW_GET_FUN(__glewVertexAttribIPointer)
-
-#define GLEW_VERSION_3_0 GLEW_GET_VAR(__GLEW_VERSION_3_0)
-
-#endif /* GL_VERSION_3_0 */
-
-/* ----------------------------- GL_VERSION_3_1 ---------------------------- */
-
-#ifndef GL_VERSION_3_1
-#define GL_VERSION_3_1 1
-
-#define GL_TEXTURE_RECTANGLE 0x84F5
-#define GL_TEXTURE_BINDING_RECTANGLE 0x84F6
-#define GL_PROXY_TEXTURE_RECTANGLE 0x84F7
-#define GL_MAX_RECTANGLE_TEXTURE_SIZE 0x84F8
-#define GL_SAMPLER_2D_RECT 0x8B63
-#define GL_SAMPLER_2D_RECT_SHADOW 0x8B64
-#define GL_TEXTURE_BUFFER 0x8C2A
-#define GL_MAX_TEXTURE_BUFFER_SIZE 0x8C2B
-#define GL_TEXTURE_BINDING_BUFFER 0x8C2C
-#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING 0x8C2D
-#define GL_TEXTURE_BUFFER_FORMAT 0x8C2E
-#define GL_SAMPLER_BUFFER 0x8DC2
-#define GL_INT_SAMPLER_2D_RECT 0x8DCD
-#define GL_INT_SAMPLER_BUFFER 0x8DD0
-#define GL_UNSIGNED_INT_SAMPLER_2D_RECT 0x8DD5
-#define GL_UNSIGNED_INT_SAMPLER_BUFFER 0x8DD8
-#define GL_RED_SNORM 0x8F90
-#define GL_RG_SNORM 0x8F91
-#define GL_RGB_SNORM 0x8F92
-#define GL_RGBA_SNORM 0x8F93
-#define GL_R8_SNORM 0x8F94
-#define GL_RG8_SNORM 0x8F95
-#define GL_RGB8_SNORM 0x8F96
-#define GL_RGBA8_SNORM 0x8F97
-#define GL_R16_SNORM 0x8F98
-#define GL_RG16_SNORM 0x8F99
-#define GL_RGB16_SNORM 0x8F9A
-#define GL_RGBA16_SNORM 0x8F9B
-#define GL_SIGNED_NORMALIZED 0x8F9C
-#define GL_PRIMITIVE_RESTART 0x8F9D
-#define GL_PRIMITIVE_RESTART_INDEX 0x8F9E
-#define GL_BUFFER_ACCESS_FLAGS 0x911F
-#define GL_BUFFER_MAP_LENGTH 0x9120
-#define GL_BUFFER_MAP_OFFSET 0x9121
-
-typedef void (GLAPIENTRY * PFNGLDRAWARRAYSINSTANCEDPROC) (GLenum, GLint, GLsizei, GLsizei);
-typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINSTANCEDPROC) (GLenum, GLsizei, GLenum, const GLvoid*, GLsizei);
-typedef void (GLAPIENTRY * PFNGLPRIMITIVERESTARTINDEXPROC) (GLuint);
-typedef void (GLAPIENTRY * PFNGLTEXBUFFERPROC) (GLenum, GLenum, GLuint);
-
-#define glDrawArraysInstanced GLEW_GET_FUN(__glewDrawArraysInstanced)
-#define glDrawElementsInstanced GLEW_GET_FUN(__glewDrawElementsInstanced)
-#define glPrimitiveRestartIndex GLEW_GET_FUN(__glewPrimitiveRestartIndex)
-#define glTexBuffer GLEW_GET_FUN(__glewTexBuffer)
-
-#define GLEW_VERSION_3_1 GLEW_GET_VAR(__GLEW_VERSION_3_1)
-
-#endif /* GL_VERSION_3_1 */
-
-/* ----------------------------- GL_VERSION_3_2 ---------------------------- */
-
-#ifndef GL_VERSION_3_2
-#define GL_VERSION_3_2 1
-
-#define GL_CONTEXT_CORE_PROFILE_BIT 0x00000001
-#define GL_CONTEXT_COMPATIBILITY_PROFILE_BIT 0x00000002
-#define GL_LINES_ADJACENCY 0x000A
-#define GL_LINE_STRIP_ADJACENCY 0x000B
-#define GL_TRIANGLES_ADJACENCY 0x000C
-#define GL_TRIANGLE_STRIP_ADJACENCY 0x000D
-#define GL_PROGRAM_POINT_SIZE 0x8642
-#define GL_GEOMETRY_VERTICES_OUT 0x8916
-#define GL_GEOMETRY_INPUT_TYPE 0x8917
-#define GL_GEOMETRY_OUTPUT_TYPE 0x8918
-#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS 0x8C29
-#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED 0x8DA7
-#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS 0x8DA8
-#define GL_GEOMETRY_SHADER 0x8DD9
-#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS 0x8DDF
-#define GL_MAX_GEOMETRY_OUTPUT_VERTICES 0x8DE0
-#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS 0x8DE1
-#define GL_MAX_VERTEX_OUTPUT_COMPONENTS 0x9122
-#define GL_MAX_GEOMETRY_INPUT_COMPONENTS 0x9123
-#define GL_MAX_GEOMETRY_OUTPUT_COMPONENTS 0x9124
-#define GL_MAX_FRAGMENT_INPUT_COMPONENTS 0x9125
-#define GL_CONTEXT_PROFILE_MASK 0x9126
-
-typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTUREPROC) (GLenum, GLenum, GLuint, GLint);
-typedef void (GLAPIENTRY * PFNGLGETBUFFERPARAMETERI64VPROC) (GLenum, GLenum, GLint64 *);
-typedef void (GLAPIENTRY * PFNGLGETINTEGER64I_VPROC) (GLenum, GLuint, GLint64 *);
-
-#define glFramebufferTexture GLEW_GET_FUN(__glewFramebufferTexture)
-#define glGetBufferParameteri64v GLEW_GET_FUN(__glewGetBufferParameteri64v)
-#define glGetInteger64i_v GLEW_GET_FUN(__glewGetInteger64i_v)
-
-#define GLEW_VERSION_3_2 GLEW_GET_VAR(__GLEW_VERSION_3_2)
-
-#endif /* GL_VERSION_3_2 */
-
-/* ----------------------------- GL_VERSION_3_3 ---------------------------- */
-
-#ifndef GL_VERSION_3_3
-#define GL_VERSION_3_3 1
-
-#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR 0x88FE
-#define GL_ANY_SAMPLES_PASSED 0x8C2F
-#define GL_TEXTURE_SWIZZLE_R 0x8E42
-#define GL_TEXTURE_SWIZZLE_G 0x8E43
-#define GL_TEXTURE_SWIZZLE_B 0x8E44
-#define GL_TEXTURE_SWIZZLE_A 0x8E45
-#define GL_TEXTURE_SWIZZLE_RGBA 0x8E46
-#define GL_RGB10_A2UI 0x906F
-
-#define GLEW_VERSION_3_3 GLEW_GET_VAR(__GLEW_VERSION_3_3)
-
-#endif /* GL_VERSION_3_3 */
-
-/* ----------------------------- GL_VERSION_4_0 ---------------------------- */
-
-#ifndef GL_VERSION_4_0
-#define GL_VERSION_4_0 1
-
-#define GL_GEOMETRY_SHADER_INVOCATIONS 0x887F
-#define GL_SAMPLE_SHADING 0x8C36
-#define GL_MIN_SAMPLE_SHADING_VALUE 0x8C37
-#define GL_MAX_GEOMETRY_SHADER_INVOCATIONS 0x8E5A
-#define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET 0x8E5B
-#define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET 0x8E5C
-#define GL_FRAGMENT_INTERPOLATION_OFFSET_BITS 0x8E5D
-#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5E
-#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5F
-#define GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS 0x8F9F
-#define GL_TEXTURE_CUBE_MAP_ARRAY 0x9009
-#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY 0x900A
-#define GL_PROXY_TEXTURE_CUBE_MAP_ARRAY 0x900B
-#define GL_SAMPLER_CUBE_MAP_ARRAY 0x900C
-#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW 0x900D
-#define GL_INT_SAMPLER_CUBE_MAP_ARRAY 0x900E
-#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY 0x900F
-
-typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONSEPARATEIPROC) (GLuint buf, GLenum modeRGB, GLenum modeAlpha);
-typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONIPROC) (GLuint buf, GLenum mode);
-typedef void (GLAPIENTRY * PFNGLBLENDFUNCSEPARATEIPROC) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
-typedef void (GLAPIENTRY * PFNGLBLENDFUNCIPROC) (GLuint buf, GLenum src, GLenum dst);
-typedef void (GLAPIENTRY * PFNGLMINSAMPLESHADINGPROC) (GLclampf value);
-
-#define glBlendEquationSeparatei GLEW_GET_FUN(__glewBlendEquationSeparatei)
-#define glBlendEquationi GLEW_GET_FUN(__glewBlendEquationi)
-#define glBlendFuncSeparatei GLEW_GET_FUN(__glewBlendFuncSeparatei)
-#define glBlendFunci GLEW_GET_FUN(__glewBlendFunci)
-#define glMinSampleShading GLEW_GET_FUN(__glewMinSampleShading)
-
-#define GLEW_VERSION_4_0 GLEW_GET_VAR(__GLEW_VERSION_4_0)
-
-#endif /* GL_VERSION_4_0 */
-
-/* -------------------------- GL_3DFX_multisample -------------------------- */
-
-#ifndef GL_3DFX_multisample
-#define GL_3DFX_multisample 1
-
-#define GL_MULTISAMPLE_3DFX 0x86B2
-#define GL_SAMPLE_BUFFERS_3DFX 0x86B3
-#define GL_SAMPLES_3DFX 0x86B4
-#define GL_MULTISAMPLE_BIT_3DFX 0x20000000
-
-#define GLEW_3DFX_multisample GLEW_GET_VAR(__GLEW_3DFX_multisample)
-
-#endif /* GL_3DFX_multisample */
-
-/* ---------------------------- GL_3DFX_tbuffer ---------------------------- */
-
-#ifndef GL_3DFX_tbuffer
-#define GL_3DFX_tbuffer 1
-
-typedef void (GLAPIENTRY * PFNGLTBUFFERMASK3DFXPROC) (GLuint mask);
-
-#define glTbufferMask3DFX GLEW_GET_FUN(__glewTbufferMask3DFX)
-
-#define GLEW_3DFX_tbuffer GLEW_GET_VAR(__GLEW_3DFX_tbuffer)
-
-#endif /* GL_3DFX_tbuffer */
-
-/* -------------------- GL_3DFX_texture_compression_FXT1 ------------------- */
-
-#ifndef GL_3DFX_texture_compression_FXT1
-#define GL_3DFX_texture_compression_FXT1 1
-
-#define GL_COMPRESSED_RGB_FXT1_3DFX 0x86B0
-#define GL_COMPRESSED_RGBA_FXT1_3DFX 0x86B1
-
-#define GLEW_3DFX_texture_compression_FXT1 GLEW_GET_VAR(__GLEW_3DFX_texture_compression_FXT1)
-
-#endif /* GL_3DFX_texture_compression_FXT1 */
-
-/* ----------------------- GL_AMD_conservative_depth ----------------------- */
-
-#ifndef GL_AMD_conservative_depth
-#define GL_AMD_conservative_depth 1
-
-#define GLEW_AMD_conservative_depth GLEW_GET_VAR(__GLEW_AMD_conservative_depth)
-
-#endif /* GL_AMD_conservative_depth */
-
-/* ----------------------- GL_AMD_draw_buffers_blend ----------------------- */
-
-#ifndef GL_AMD_draw_buffers_blend
-#define GL_AMD_draw_buffers_blend 1
-
-typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONINDEXEDAMDPROC) (GLuint buf, GLenum mode);
-typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONSEPARATEINDEXEDAMDPROC) (GLuint buf, GLenum modeRGB, GLenum modeAlpha);
-typedef void (GLAPIENTRY * PFNGLBLENDFUNCINDEXEDAMDPROC) (GLuint buf, GLenum src, GLenum dst);
-typedef void (GLAPIENTRY * PFNGLBLENDFUNCSEPARATEINDEXEDAMDPROC) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
-
-#define glBlendEquationIndexedAMD GLEW_GET_FUN(__glewBlendEquationIndexedAMD)
-#define glBlendEquationSeparateIndexedAMD GLEW_GET_FUN(__glewBlendEquationSeparateIndexedAMD)
-#define glBlendFuncIndexedAMD GLEW_GET_FUN(__glewBlendFuncIndexedAMD)
-#define glBlendFuncSeparateIndexedAMD GLEW_GET_FUN(__glewBlendFuncSeparateIndexedAMD)
-
-#define GLEW_AMD_draw_buffers_blend GLEW_GET_VAR(__GLEW_AMD_draw_buffers_blend)
-
-#endif /* GL_AMD_draw_buffers_blend */
-
-/* ----------------------- GL_AMD_performance_monitor ---------------------- */
-
-#ifndef GL_AMD_performance_monitor
-#define GL_AMD_performance_monitor 1
-
-#define GL_UNSIGNED_INT 0x1405
-#define GL_FLOAT 0x1406
-#define GL_COUNTER_TYPE_AMD 0x8BC0
-#define GL_COUNTER_RANGE_AMD 0x8BC1
-#define GL_UNSIGNED_INT64_AMD 0x8BC2
-#define GL_PERCENTAGE_AMD 0x8BC3
-#define GL_PERFMON_RESULT_AVAILABLE_AMD 0x8BC4
-#define GL_PERFMON_RESULT_SIZE_AMD 0x8BC5
-#define GL_PERFMON_RESULT_AMD 0x8BC6
-
-typedef void (GLAPIENTRY * PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor);
-typedef void (GLAPIENTRY * PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint* monitors);
-typedef void (GLAPIENTRY * PFNGLENDPERFMONITORAMDPROC) (GLuint monitor);
-typedef void (GLAPIENTRY * PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint* monitors);
-typedef void (GLAPIENTRY * PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint* data, GLint *bytesWritten);
-typedef void (GLAPIENTRY * PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, void* data);
-typedef void (GLAPIENTRY * PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei* length, char *counterString);
-typedef void (GLAPIENTRY * PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint* numCounters, GLint *maxActiveCounters, GLsizei countersSize, GLuint *counters);
-typedef void (GLAPIENTRY * PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei* length, char *groupString);
-typedef void (GLAPIENTRY * PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint* numGroups, GLsizei groupsSize, GLuint *groups);
-typedef void (GLAPIENTRY * PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint* counterList);
-
-#define glBeginPerfMonitorAMD GLEW_GET_FUN(__glewBeginPerfMonitorAMD)
-#define glDeletePerfMonitorsAMD GLEW_GET_FUN(__glewDeletePerfMonitorsAMD)
-#define glEndPerfMonitorAMD GLEW_GET_FUN(__glewEndPerfMonitorAMD)
-#define glGenPerfMonitorsAMD GLEW_GET_FUN(__glewGenPerfMonitorsAMD)
-#define glGetPerfMonitorCounterDataAMD GLEW_GET_FUN(__glewGetPerfMonitorCounterDataAMD)
-#define glGetPerfMonitorCounterInfoAMD GLEW_GET_FUN(__glewGetPerfMonitorCounterInfoAMD)
-#define glGetPerfMonitorCounterStringAMD GLEW_GET_FUN(__glewGetPerfMonitorCounterStringAMD)
-#define glGetPerfMonitorCountersAMD GLEW_GET_FUN(__glewGetPerfMonitorCountersAMD)
-#define glGetPerfMonitorGroupStringAMD GLEW_GET_FUN(__glewGetPerfMonitorGroupStringAMD)
-#define glGetPerfMonitorGroupsAMD GLEW_GET_FUN(__glewGetPerfMonitorGroupsAMD)
-#define glSelectPerfMonitorCountersAMD GLEW_GET_FUN(__glewSelectPerfMonitorCountersAMD)
-
-#define GLEW_AMD_performance_monitor GLEW_GET_VAR(__GLEW_AMD_performance_monitor)
-
-#endif /* GL_AMD_performance_monitor */
-
-/* ------------------ GL_AMD_seamless_cubemap_per_texture ------------------ */
-
-#ifndef GL_AMD_seamless_cubemap_per_texture
-#define GL_AMD_seamless_cubemap_per_texture 1
-
-#define GL_TEXTURE_CUBE_MAP_SEAMLESS_ARB 0x884F
-
-#define GLEW_AMD_seamless_cubemap_per_texture GLEW_GET_VAR(__GLEW_AMD_seamless_cubemap_per_texture)
-
-#endif /* GL_AMD_seamless_cubemap_per_texture */
-
-/* ---------------------- GL_AMD_shader_stencil_export --------------------- */
-
-#ifndef GL_AMD_shader_stencil_export
-#define GL_AMD_shader_stencil_export 1
-
-#define GLEW_AMD_shader_stencil_export GLEW_GET_VAR(__GLEW_AMD_shader_stencil_export)
-
-#endif /* GL_AMD_shader_stencil_export */
-
-/* ------------------------ GL_AMD_texture_texture4 ------------------------ */
-
-#ifndef GL_AMD_texture_texture4
-#define GL_AMD_texture_texture4 1
-
-#define GLEW_AMD_texture_texture4 GLEW_GET_VAR(__GLEW_AMD_texture_texture4)
-
-#endif /* GL_AMD_texture_texture4 */
-
-/* -------------------- GL_AMD_vertex_shader_tessellator ------------------- */
-
-#ifndef GL_AMD_vertex_shader_tessellator
-#define GL_AMD_vertex_shader_tessellator 1
-
-#define GL_SAMPLER_BUFFER_AMD 0x9001
-#define GL_INT_SAMPLER_BUFFER_AMD 0x9002
-#define GL_UNSIGNED_INT_SAMPLER_BUFFER_AMD 0x9003
-#define GL_TESSELLATION_MODE_AMD 0x9004
-#define GL_TESSELLATION_FACTOR_AMD 0x9005
-#define GL_DISCRETE_AMD 0x9006
-#define GL_CONTINUOUS_AMD 0x9007
-
-typedef void (GLAPIENTRY * PFNGLTESSELLATIONFACTORAMDPROC) (GLfloat factor);
-typedef void (GLAPIENTRY * PFNGLTESSELLATIONMODEAMDPROC) (GLenum mode);
-
-#define glTessellationFactorAMD GLEW_GET_FUN(__glewTessellationFactorAMD)
-#define glTessellationModeAMD GLEW_GET_FUN(__glewTessellationModeAMD)
-
-#define GLEW_AMD_vertex_shader_tessellator GLEW_GET_VAR(__GLEW_AMD_vertex_shader_tessellator)
-
-#endif /* GL_AMD_vertex_shader_tessellator */
-
-/* ----------------------- GL_APPLE_aux_depth_stencil ---------------------- */
-
-#ifndef GL_APPLE_aux_depth_stencil
-#define GL_APPLE_aux_depth_stencil 1
-
-#define GL_AUX_DEPTH_STENCIL_APPLE 0x8A14
-
-#define GLEW_APPLE_aux_depth_stencil GLEW_GET_VAR(__GLEW_APPLE_aux_depth_stencil)
-
-#endif /* GL_APPLE_aux_depth_stencil */
-
-/* ------------------------ GL_APPLE_client_storage ------------------------ */
-
-#ifndef GL_APPLE_client_storage
-#define GL_APPLE_client_storage 1
-
-#define GL_UNPACK_CLIENT_STORAGE_APPLE 0x85B2
-
-#define GLEW_APPLE_client_storage GLEW_GET_VAR(__GLEW_APPLE_client_storage)
-
-#endif /* GL_APPLE_client_storage */
-
-/* ------------------------- GL_APPLE_element_array ------------------------ */
-
-#ifndef GL_APPLE_element_array
-#define GL_APPLE_element_array 1
-
-#define GL_ELEMENT_ARRAY_APPLE 0x8A0C
-#define GL_ELEMENT_ARRAY_TYPE_APPLE 0x8A0D
-#define GL_ELEMENT_ARRAY_POINTER_APPLE 0x8A0E
-
-typedef void (GLAPIENTRY * PFNGLDRAWELEMENTARRAYAPPLEPROC) (GLenum mode, GLint first, GLsizei count);
-typedef void (GLAPIENTRY * PFNGLDRAWRANGEELEMENTARRAYAPPLEPROC) (GLenum mode, GLuint start, GLuint end, GLint first, GLsizei count);
-typedef void (GLAPIENTRY * PFNGLELEMENTPOINTERAPPLEPROC) (GLenum type, const void* pointer);
-typedef void (GLAPIENTRY * PFNGLMULTIDRAWELEMENTARRAYAPPLEPROC) (GLenum mode, const GLint* first, const GLsizei *count, GLsizei primcount);
-typedef void (GLAPIENTRY * PFNGLMULTIDRAWRANGEELEMENTARRAYAPPLEPROC) (GLenum mode, GLuint start, GLuint end, const GLint* first, const GLsizei *count, GLsizei primcount);
-
-#define glDrawElementArrayAPPLE GLEW_GET_FUN(__glewDrawElementArrayAPPLE)
-#define glDrawRangeElementArrayAPPLE GLEW_GET_FUN(__glewDrawRangeElementArrayAPPLE)
-#define glElementPointerAPPLE GLEW_GET_FUN(__glewElementPointerAPPLE)
-#define glMultiDrawElementArrayAPPLE GLEW_GET_FUN(__glewMultiDrawElementArrayAPPLE)
-#define glMultiDrawRangeElementArrayAPPLE GLEW_GET_FUN(__glewMultiDrawRangeElementArrayAPPLE)
-
-#define GLEW_APPLE_element_array GLEW_GET_VAR(__GLEW_APPLE_element_array)
-
-#endif /* GL_APPLE_element_array */
-
-/* ----------------------------- GL_APPLE_fence ---------------------------- */
-
-#ifndef GL_APPLE_fence
-#define GL_APPLE_fence 1
-
-#define GL_DRAW_PIXELS_APPLE 0x8A0A
-#define GL_FENCE_APPLE 0x8A0B
-
-typedef void (GLAPIENTRY * PFNGLDELETEFENCESAPPLEPROC) (GLsizei n, const GLuint* fences);
-typedef void (GLAPIENTRY * PFNGLFINISHFENCEAPPLEPROC) (GLuint fence);
-typedef void (GLAPIENTRY * PFNGLFINISHOBJECTAPPLEPROC) (GLenum object, GLint name);
-typedef void (GLAPIENTRY * PFNGLGENFENCESAPPLEPROC) (GLsizei n, GLuint* fences);
-typedef GLboolean (GLAPIENTRY * PFNGLISFENCEAPPLEPROC) (GLuint fence);
-typedef void (GLAPIENTRY * PFNGLSETFENCEAPPLEPROC) (GLuint fence);
-typedef GLboolean (GLAPIENTRY * PFNGLTESTFENCEAPPLEPROC) (GLuint fence);
-typedef GLboolean (GLAPIENTRY * PFNGLTESTOBJECTAPPLEPROC) (GLenum object, GLuint name);
-
-#define glDeleteFencesAPPLE GLEW_GET_FUN(__glewDeleteFencesAPPLE)
-#define glFinishFenceAPPLE GLEW_GET_FUN(__glewFinishFenceAPPLE)
-#define glFinishObjectAPPLE GLEW_GET_FUN(__glewFinishObjectAPPLE)
-#define glGenFencesAPPLE GLEW_GET_FUN(__glewGenFencesAPPLE)
-#define glIsFenceAPPLE GLEW_GET_FUN(__glewIsFenceAPPLE)
-#define glSetFenceAPPLE GLEW_GET_FUN(__glewSetFenceAPPLE)
-#define glTestFenceAPPLE GLEW_GET_FUN(__glewTestFenceAPPLE)
-#define glTestObjectAPPLE GLEW_GET_FUN(__glewTestObjectAPPLE)
-
-#define GLEW_APPLE_fence GLEW_GET_VAR(__GLEW_APPLE_fence)
-
-#endif /* GL_APPLE_fence */
-
-/* ------------------------- GL_APPLE_float_pixels ------------------------- */
-
-#ifndef GL_APPLE_float_pixels
-#define GL_APPLE_float_pixels 1
-
-#define GL_HALF_APPLE 0x140B
-#define GL_RGBA_FLOAT32_APPLE 0x8814
-#define GL_RGB_FLOAT32_APPLE 0x8815
-#define GL_ALPHA_FLOAT32_APPLE 0x8816
-#define GL_INTENSITY_FLOAT32_APPLE 0x8817
-#define GL_LUMINANCE_FLOAT32_APPLE 0x8818
-#define GL_LUMINANCE_ALPHA_FLOAT32_APPLE 0x8819
-#define GL_RGBA_FLOAT16_APPLE 0x881A
-#define GL_RGB_FLOAT16_APPLE 0x881B
-#define GL_ALPHA_FLOAT16_APPLE 0x881C
-#define GL_INTENSITY_FLOAT16_APPLE 0x881D
-#define GL_LUMINANCE_FLOAT16_APPLE 0x881E
-#define GL_LUMINANCE_ALPHA_FLOAT16_APPLE 0x881F
-#define GL_COLOR_FLOAT_APPLE 0x8A0F
-
-#define GLEW_APPLE_float_pixels GLEW_GET_VAR(__GLEW_APPLE_float_pixels)
-
-#endif /* GL_APPLE_float_pixels */
-
-/* ---------------------- GL_APPLE_flush_buffer_range ---------------------- */
-
-#ifndef GL_APPLE_flush_buffer_range
-#define GL_APPLE_flush_buffer_range 1
-
-#define GL_BUFFER_SERIALIZED_MODIFY_APPLE 0x8A12
-#define GL_BUFFER_FLUSHING_UNMAP_APPLE 0x8A13
-
-typedef void (GLAPIENTRY * PFNGLBUFFERPARAMETERIAPPLEPROC) (GLenum target, GLenum pname, GLint param);
-typedef void (GLAPIENTRY * PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC) (GLenum target, GLintptr offset, GLsizeiptr size);
-
-#define glBufferParameteriAPPLE GLEW_GET_FUN(__glewBufferParameteriAPPLE)
-#define glFlushMappedBufferRangeAPPLE GLEW_GET_FUN(__glewFlushMappedBufferRangeAPPLE)
-
-#define GLEW_APPLE_flush_buffer_range GLEW_GET_VAR(__GLEW_APPLE_flush_buffer_range)
-
-#endif /* GL_APPLE_flush_buffer_range */
-
-/* ----------------------- GL_APPLE_object_purgeable ----------------------- */
-
-#ifndef GL_APPLE_object_purgeable
-#define GL_APPLE_object_purgeable 1
-
-#define GL_BUFFER_OBJECT_APPLE 0x85B3
-#define GL_RELEASED_APPLE 0x8A19
-#define GL_VOLATILE_APPLE 0x8A1A
-#define GL_RETAINED_APPLE 0x8A1B
-#define GL_UNDEFINED_APPLE 0x8A1C
-#define GL_PURGEABLE_APPLE 0x8A1D
-
-typedef void (GLAPIENTRY * PFNGLGETOBJECTPARAMETERIVAPPLEPROC) (GLenum objectType, GLuint name, GLenum pname, GLint* params);
-typedef GLenum (GLAPIENTRY * PFNGLOBJECTPURGEABLEAPPLEPROC) (GLenum objectType, GLuint name, GLenum option);
-typedef GLenum (GLAPIENTRY * PFNGLOBJECTUNPURGEABLEAPPLEPROC) (GLenum objectType, GLuint name, GLenum option);
-
-#define glGetObjectParameterivAPPLE GLEW_GET_FUN(__glewGetObjectParameterivAPPLE)
-#define glObjectPurgeableAPPLE GLEW_GET_FUN(__glewObjectPurgeableAPPLE)
-#define glObjectUnpurgeableAPPLE GLEW_GET_FUN(__glewObjectUnpurgeableAPPLE)
-
-#define GLEW_APPLE_object_purgeable GLEW_GET_VAR(__GLEW_APPLE_object_purgeable)
-
-#endif /* GL_APPLE_object_purgeable */
-
-/* ------------------------- GL_APPLE_pixel_buffer ------------------------- */
-
-#ifndef GL_APPLE_pixel_buffer
-#define GL_APPLE_pixel_buffer 1
-
-#define GL_MIN_PBUFFER_VIEWPORT_DIMS_APPLE 0x8A10
-
-#define GLEW_APPLE_pixel_buffer GLEW_GET_VAR(__GLEW_APPLE_pixel_buffer)
-
-#endif /* GL_APPLE_pixel_buffer */
-
-/* ---------------------------- GL_APPLE_rgb_422 --------------------------- */
-
-#ifndef GL_APPLE_rgb_422
-#define GL_APPLE_rgb_422 1
-
-#define GL_UNSIGNED_SHORT_8_8_APPLE 0x85BA
-#define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85BB
-#define GL_RGB_422_APPLE 0x8A1F
-
-#define GLEW_APPLE_rgb_422 GLEW_GET_VAR(__GLEW_APPLE_rgb_422)
-
-#endif /* GL_APPLE_rgb_422 */
-
-/* --------------------------- GL_APPLE_row_bytes -------------------------- */
-
-#ifndef GL_APPLE_row_bytes
-#define GL_APPLE_row_bytes 1
-
-#define GL_PACK_ROW_BYTES_APPLE 0x8A15
-#define GL_UNPACK_ROW_BYTES_APPLE 0x8A16
-
-#define GLEW_APPLE_row_bytes GLEW_GET_VAR(__GLEW_APPLE_row_bytes)
-
-#endif /* GL_APPLE_row_bytes */
-
-/* ------------------------ GL_APPLE_specular_vector ----------------------- */
-
-#ifndef GL_APPLE_specular_vector
-#define GL_APPLE_specular_vector 1
-
-#define GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE 0x85B0
-
-#define GLEW_APPLE_specular_vector GLEW_GET_VAR(__GLEW_APPLE_specular_vector)
-
-#endif /* GL_APPLE_specular_vector */
-
-/* ------------------------- GL_APPLE_texture_range ------------------------ */
-
-#ifndef GL_APPLE_texture_range
-#define GL_APPLE_texture_range 1
-
-#define GL_TEXTURE_RANGE_LENGTH_APPLE 0x85B7
-#define GL_TEXTURE_RANGE_POINTER_APPLE 0x85B8
-#define GL_TEXTURE_STORAGE_HINT_APPLE 0x85BC
-#define GL_STORAGE_PRIVATE_APPLE 0x85BD
-#define GL_STORAGE_CACHED_APPLE 0x85BE
-#define GL_STORAGE_SHARED_APPLE 0x85BF
-
-typedef void (GLAPIENTRY * PFNGLGETTEXPARAMETERPOINTERVAPPLEPROC) (GLenum target, GLenum pname, GLvoid **params);
-typedef void (GLAPIENTRY * PFNGLTEXTURERANGEAPPLEPROC) (GLenum target, GLsizei length, GLvoid *pointer);
-
-#define glGetTexParameterPointervAPPLE GLEW_GET_FUN(__glewGetTexParameterPointervAPPLE)
-#define glTextureRangeAPPLE GLEW_GET_FUN(__glewTextureRangeAPPLE)
-
-#define GLEW_APPLE_texture_range GLEW_GET_VAR(__GLEW_APPLE_texture_range)
-
-#endif /* GL_APPLE_texture_range */
-
-/* ------------------------ GL_APPLE_transform_hint ------------------------ */
-
-#ifndef GL_APPLE_transform_hint
-#define GL_APPLE_transform_hint 1
-
-#define GL_TRANSFORM_HINT_APPLE 0x85B1
-
-#define GLEW_APPLE_transform_hint GLEW_GET_VAR(__GLEW_APPLE_transform_hint)
-
-#endif /* GL_APPLE_transform_hint */
-
-/* ---------------------- GL_APPLE_vertex_array_object --------------------- */
-
-#ifndef GL_APPLE_vertex_array_object
-#define GL_APPLE_vertex_array_object 1
-
-#define GL_VERTEX_ARRAY_BINDING_APPLE 0x85B5
-
-typedef void (GLAPIENTRY * PFNGLBINDVERTEXARRAYAPPLEPROC) (GLuint array);
-typedef void (GLAPIENTRY * PFNGLDELETEVERTEXARRAYSAPPLEPROC) (GLsizei n, const GLuint* arrays);
-typedef void (GLAPIENTRY * PFNGLGENVERTEXARRAYSAPPLEPROC) (GLsizei n, const GLuint* arrays);
-typedef GLboolean (GLAPIENTRY * PFNGLISVERTEXARRAYAPPLEPROC) (GLuint array);
-
-#define glBindVertexArrayAPPLE GLEW_GET_FUN(__glewBindVertexArrayAPPLE)
-#define glDeleteVertexArraysAPPLE GLEW_GET_FUN(__glewDeleteVertexArraysAPPLE)
-#define glGenVertexArraysAPPLE GLEW_GET_FUN(__glewGenVertexArraysAPPLE)
-#define glIsVertexArrayAPPLE GLEW_GET_FUN(__glewIsVertexArrayAPPLE)
-
-#define GLEW_APPLE_vertex_array_object GLEW_GET_VAR(__GLEW_APPLE_vertex_array_object)
-
-#endif /* GL_APPLE_vertex_array_object */
-
-/* ---------------------- GL_APPLE_vertex_array_range ---------------------- */
-
-#ifndef GL_APPLE_vertex_array_range
-#define GL_APPLE_vertex_array_range 1
-
-#define GL_VERTEX_ARRAY_RANGE_APPLE 0x851D
-#define GL_VERTEX_ARRAY_RANGE_LENGTH_APPLE 0x851E
-#define GL_VERTEX_ARRAY_STORAGE_HINT_APPLE 0x851F
-#define GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_APPLE 0x8520
-#define GL_VERTEX_ARRAY_RANGE_POINTER_APPLE 0x8521
-#define GL_STORAGE_CLIENT_APPLE 0x85B4
-#define GL_STORAGE_CACHED_APPLE 0x85BE
-#define GL_STORAGE_SHARED_APPLE 0x85BF
-
-typedef void (GLAPIENTRY * PFNGLFLUSHVERTEXARRAYRANGEAPPLEPROC) (GLsizei length, void* pointer);
-typedef void (GLAPIENTRY * PFNGLVERTEXARRAYPARAMETERIAPPLEPROC) (GLenum pname, GLint param);
-typedef void (GLAPIENTRY * PFNGLVERTEXARRAYRANGEAPPLEPROC) (GLsizei length, void* pointer);
-
-#define glFlushVertexArrayRangeAPPLE GLEW_GET_FUN(__glewFlushVertexArrayRangeAPPLE)
-#define glVertexArrayParameteriAPPLE GLEW_GET_FUN(__glewVertexArrayParameteriAPPLE)
-#define glVertexArrayRangeAPPLE GLEW_GET_FUN(__glewVertexArrayRangeAPPLE)
-
-#define GLEW_APPLE_vertex_array_range GLEW_GET_VAR(__GLEW_APPLE_vertex_array_range)
-
-#endif /* GL_APPLE_vertex_array_range */
-
-/* ------------------- GL_APPLE_vertex_program_evaluators ------------------ */
-
-#ifndef GL_APPLE_vertex_program_evaluators
-#define GL_APPLE_vertex_program_evaluators 1
-
-#define GL_VERTEX_ATTRIB_MAP1_APPLE 0x8A00
-#define GL_VERTEX_ATTRIB_MAP2_APPLE 0x8A01
-#define GL_VERTEX_ATTRIB_MAP1_SIZE_APPLE 0x8A02
-#define GL_VERTEX_ATTRIB_MAP1_COEFF_APPLE 0x8A03
-#define GL_VERTEX_ATTRIB_MAP1_ORDER_APPLE 0x8A04
-#define GL_VERTEX_ATTRIB_MAP1_DOMAIN_APPLE 0x8A05
-#define GL_VERTEX_ATTRIB_MAP2_SIZE_APPLE 0x8A06
-#define GL_VERTEX_ATTRIB_MAP2_COEFF_APPLE 0x8A07
-#define GL_VERTEX_ATTRIB_MAP2_ORDER_APPLE 0x8A08
-#define GL_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE 0x8A09
-
-typedef void (GLAPIENTRY * PFNGLDISABLEVERTEXATTRIBAPPLEPROC) (GLuint index, GLenum pname);
-typedef void (GLAPIENTRY * PFNGLENABLEVERTEXATTRIBAPPLEPROC) (GLuint index, GLenum pname);
-typedef GLboolean (GLAPIENTRY * PFNGLISVERTEXATTRIBENABLEDAPPLEPROC) (GLuint index, GLenum pname);
-typedef void (GLAPIENTRY * PFNGLMAPVERTEXATTRIB1DAPPLEPROC) (GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble* points);
-typedef void (GLAPIENTRY * PFNGLMAPVERTEXATTRIB1FAPPLEPROC) (GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat* points);
-typedef void (GLAPIENTRY * PFNGLMAPVERTEXATTRIB2DAPPLEPROC) (GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble* points);
-typedef void (GLAPIENTRY * PFNGLMAPVERTEXATTRIB2FAPPLEPROC) (GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat* points);
-
-#define glDisableVertexAttribAPPLE GLEW_GET_FUN(__glewDisableVertexAttribAPPLE)
-#define glEnableVertexAttribAPPLE GLEW_GET_FUN(__glewEnableVertexAttribAPPLE)
-#define glIsVertexAttribEnabledAPPLE GLEW_GET_FUN(__glewIsVertexAttribEnabledAPPLE)
-#define glMapVertexAttrib1dAPPLE GLEW_GET_FUN(__glewMapVertexAttrib1dAPPLE)
-#define glMapVertexAttrib1fAPPLE GLEW_GET_FUN(__glewMapVertexAttrib1fAPPLE)
-#define glMapVertexAttrib2dAPPLE GLEW_GET_FUN(__glewMapVertexAttrib2dAPPLE)
-#define glMapVertexAttrib2fAPPLE GLEW_GET_FUN(__glewMapVertexAttrib2fAPPLE)
-
-#define GLEW_APPLE_vertex_program_evaluators GLEW_GET_VAR(__GLEW_APPLE_vertex_program_evaluators)
-
-#endif /* GL_APPLE_vertex_program_evaluators */
-
-/* --------------------------- GL_APPLE_ycbcr_422 -------------------------- */
-
-#ifndef GL_APPLE_ycbcr_422
-#define GL_APPLE_ycbcr_422 1
-
-#define GL_YCBCR_422_APPLE 0x85B9
-#define GL_UNSIGNED_SHORT_8_8_APPLE 0x85BA
-#define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85BB
-
-#define GLEW_APPLE_ycbcr_422 GLEW_GET_VAR(__GLEW_APPLE_ycbcr_422)
-
-#endif /* GL_APPLE_ycbcr_422 */
-
-/* ----------------------- GL_ARB_blend_func_extended ---------------------- */
-
-#ifndef GL_ARB_blend_func_extended
-#define GL_ARB_blend_func_extended 1
-
-#define GL_SRC1_COLOR 0x88F9
-#define GL_ONE_MINUS_SRC1_COLOR 0x88FA
-#define GL_ONE_MINUS_SRC1_ALPHA 0x88FB
-#define GL_MAX_DUAL_SOURCE_DRAW_BUFFERS 0x88FC
-
-typedef void (GLAPIENTRY * PFNGLBINDFRAGDATALOCATIONINDEXEDPROC) (GLuint program, GLuint colorNumber, GLuint index, const char * name);
-typedef GLint (GLAPIENTRY * PFNGLGETFRAGDATAINDEXPROC) (GLuint program, const char * name);
-
-#define glBindFragDataLocationIndexed GLEW_GET_FUN(__glewBindFragDataLocationIndexed)
-#define glGetFragDataIndex GLEW_GET_FUN(__glewGetFragDataIndex)
-
-#define GLEW_ARB_blend_func_extended GLEW_GET_VAR(__GLEW_ARB_blend_func_extended)
-
-#endif /* GL_ARB_blend_func_extended */
-
-/* ----------------------- GL_ARB_color_buffer_float ----------------------- */
-
-#ifndef GL_ARB_color_buffer_float
-#define GL_ARB_color_buffer_float 1
-
-#define GL_RGBA_FLOAT_MODE_ARB 0x8820
-#define GL_CLAMP_VERTEX_COLOR_ARB 0x891A
-#define GL_CLAMP_FRAGMENT_COLOR_ARB 0x891B
-#define GL_CLAMP_READ_COLOR_ARB 0x891C
-#define GL_FIXED_ONLY_ARB 0x891D
-
-typedef void (GLAPIENTRY * PFNGLCLAMPCOLORARBPROC) (GLenum target, GLenum clamp);
-
-#define glClampColorARB GLEW_GET_FUN(__glewClampColorARB)
-
-#define GLEW_ARB_color_buffer_float GLEW_GET_VAR(__GLEW_ARB_color_buffer_float)
-
-#endif /* GL_ARB_color_buffer_float */
-
-/* -------------------------- GL_ARB_compatibility ------------------------- */
-
-#ifndef GL_ARB_compatibility
-#define GL_ARB_compatibility 1
-
-#define GLEW_ARB_compatibility GLEW_GET_VAR(__GLEW_ARB_compatibility)
-
-#endif /* GL_ARB_compatibility */
-
-/* --------------------------- GL_ARB_copy_buffer -------------------------- */
-
-#ifndef GL_ARB_copy_buffer
-#define GL_ARB_copy_buffer 1
-
-#define GL_COPY_READ_BUFFER 0x8F36
-#define GL_COPY_WRITE_BUFFER 0x8F37
-
-typedef void (GLAPIENTRY * PFNGLCOPYBUFFERSUBDATAPROC) (GLenum readtarget, GLenum writetarget, GLintptr readoffset, GLintptr writeoffset, GLsizeiptr size);
-
-#define glCopyBufferSubData GLEW_GET_FUN(__glewCopyBufferSubData)
-
-#define GLEW_ARB_copy_buffer GLEW_GET_VAR(__GLEW_ARB_copy_buffer)
-
-#endif /* GL_ARB_copy_buffer */
-
-/* ----------------------- GL_ARB_depth_buffer_float ----------------------- */
-
-#ifndef GL_ARB_depth_buffer_float
-#define GL_ARB_depth_buffer_float 1
-
-#define GL_DEPTH_COMPONENT32F 0x8CAC
-#define GL_DEPTH32F_STENCIL8 0x8CAD
-#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV 0x8DAD
-
-#define GLEW_ARB_depth_buffer_float GLEW_GET_VAR(__GLEW_ARB_depth_buffer_float)
-
-#endif /* GL_ARB_depth_buffer_float */
-
-/* --------------------------- GL_ARB_depth_clamp -------------------------- */
-
-#ifndef GL_ARB_depth_clamp
-#define GL_ARB_depth_clamp 1
-
-#define GL_DEPTH_CLAMP 0x864F
-
-#define GLEW_ARB_depth_clamp GLEW_GET_VAR(__GLEW_ARB_depth_clamp)
-
-#endif /* GL_ARB_depth_clamp */
-
-/* -------------------------- GL_ARB_depth_texture ------------------------- */
-
-#ifndef GL_ARB_depth_texture
-#define GL_ARB_depth_texture 1
-
-#define GL_DEPTH_COMPONENT16_ARB 0x81A5
-#define GL_DEPTH_COMPONENT24_ARB 0x81A6
-#define GL_DEPTH_COMPONENT32_ARB 0x81A7
-#define GL_TEXTURE_DEPTH_SIZE_ARB 0x884A
-#define GL_DEPTH_TEXTURE_MODE_ARB 0x884B
-
-#define GLEW_ARB_depth_texture GLEW_GET_VAR(__GLEW_ARB_depth_texture)
-
-#endif /* GL_ARB_depth_texture */
-
-/* -------------------------- GL_ARB_draw_buffers -------------------------- */
-
-#ifndef GL_ARB_draw_buffers
-#define GL_ARB_draw_buffers 1
-
-#define GL_MAX_DRAW_BUFFERS_ARB 0x8824
-#define GL_DRAW_BUFFER0_ARB 0x8825
-#define GL_DRAW_BUFFER1_ARB 0x8826
-#define GL_DRAW_BUFFER2_ARB 0x8827
-#define GL_DRAW_BUFFER3_ARB 0x8828
-#define GL_DRAW_BUFFER4_ARB 0x8829
-#define GL_DRAW_BUFFER5_ARB 0x882A
-#define GL_DRAW_BUFFER6_ARB 0x882B
-#define GL_DRAW_BUFFER7_ARB 0x882C
-#define GL_DRAW_BUFFER8_ARB 0x882D
-#define GL_DRAW_BUFFER9_ARB 0x882E
-#define GL_DRAW_BUFFER10_ARB 0x882F
-#define GL_DRAW_BUFFER11_ARB 0x8830
-#define GL_DRAW_BUFFER12_ARB 0x8831
-#define GL_DRAW_BUFFER13_ARB 0x8832
-#define GL_DRAW_BUFFER14_ARB 0x8833
-#define GL_DRAW_BUFFER15_ARB 0x8834
-
-typedef void (GLAPIENTRY * PFNGLDRAWBUFFERSARBPROC) (GLsizei n, const GLenum* bufs);
-
-#define glDrawBuffersARB GLEW_GET_FUN(__glewDrawBuffersARB)
-
-#define GLEW_ARB_draw_buffers GLEW_GET_VAR(__GLEW_ARB_draw_buffers)
-
-#endif /* GL_ARB_draw_buffers */
-
-/* ----------------------- GL_ARB_draw_buffers_blend ----------------------- */
-
-#ifndef GL_ARB_draw_buffers_blend
-#define GL_ARB_draw_buffers_blend 1
-
-typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONSEPARATEIARBPROC) (GLuint buf, GLenum modeRGB, GLenum modeAlpha);
-typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONIARBPROC) (GLuint buf, GLenum mode);
-typedef void (GLAPIENTRY * PFNGLBLENDFUNCSEPARATEIARBPROC) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
-typedef void (GLAPIENTRY * PFNGLBLENDFUNCIARBPROC) (GLuint buf, GLenum src, GLenum dst);
-
-#define glBlendEquationSeparateiARB GLEW_GET_FUN(__glewBlendEquationSeparateiARB)
-#define glBlendEquationiARB GLEW_GET_FUN(__glewBlendEquationiARB)
-#define glBlendFuncSeparateiARB GLEW_GET_FUN(__glewBlendFuncSeparateiARB)
-#define glBlendFunciARB GLEW_GET_FUN(__glewBlendFunciARB)
-
-#define GLEW_ARB_draw_buffers_blend GLEW_GET_VAR(__GLEW_ARB_draw_buffers_blend)
-
-#endif /* GL_ARB_draw_buffers_blend */
-
-/* -------------------- GL_ARB_draw_elements_base_vertex ------------------- */
-
-#ifndef GL_ARB_draw_elements_base_vertex
-#define GL_ARB_draw_elements_base_vertex 1
-
-typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSBASEVERTEXPROC) (GLenum mode, GLsizei count, GLenum type, void* indices, GLint basevertex);
-typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC) (GLenum mode, GLsizei count, GLenum type, const void* indices, GLsizei primcount, GLint basevertex);
-typedef void (GLAPIENTRY * PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, void* indices, GLint basevertex);
-typedef void (GLAPIENTRY * PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC) (GLenum mode, GLsizei* count, GLenum type, GLvoid**indices, GLsizei primcount, GLint *basevertex);
-
-#define glDrawElementsBaseVertex GLEW_GET_FUN(__glewDrawElementsBaseVertex)
-#define glDrawElementsInstancedBaseVertex GLEW_GET_FUN(__glewDrawElementsInstancedBaseVertex)
-#define glDrawRangeElementsBaseVertex GLEW_GET_FUN(__glewDrawRangeElementsBaseVertex)
-#define glMultiDrawElementsBaseVertex GLEW_GET_FUN(__glewMultiDrawElementsBaseVertex)
-
-#define GLEW_ARB_draw_elements_base_vertex GLEW_GET_VAR(__GLEW_ARB_draw_elements_base_vertex)
-
-#endif /* GL_ARB_draw_elements_base_vertex */
-
-/* -------------------------- GL_ARB_draw_indirect ------------------------- */
-
-#ifndef GL_ARB_draw_indirect
-#define GL_ARB_draw_indirect 1
-
-#define GL_DRAW_INDIRECT_BUFFER 0x8F3F
-#define GL_DRAW_INDIRECT_BUFFER_BINDING 0x8F43
-
-typedef void (GLAPIENTRY * PFNGLDRAWARRAYSINDIRECTPROC) (GLenum mode, const void* indirect);
-typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINDIRECTPROC) (GLenum mode, GLenum type, const void* indirect);
-
-#define glDrawArraysIndirect GLEW_GET_FUN(__glewDrawArraysIndirect)
-#define glDrawElementsIndirect GLEW_GET_FUN(__glewDrawElementsIndirect)
-
-#define GLEW_ARB_draw_indirect GLEW_GET_VAR(__GLEW_ARB_draw_indirect)
-
-#endif /* GL_ARB_draw_indirect */
-
-/* ------------------------- GL_ARB_draw_instanced ------------------------- */
-
-#ifndef GL_ARB_draw_instanced
-#define GL_ARB_draw_instanced 1
-
-typedef void (GLAPIENTRY * PFNGLDRAWARRAYSINSTANCEDARBPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
-typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINSTANCEDARBPROC) (GLenum mode, GLsizei count, GLenum type, const void* indices, GLsizei primcount);
-
-#define glDrawArraysInstancedARB GLEW_GET_FUN(__glewDrawArraysInstancedARB)
-#define glDrawElementsInstancedARB GLEW_GET_FUN(__glewDrawElementsInstancedARB)
-
-#define GLEW_ARB_draw_instanced GLEW_GET_VAR(__GLEW_ARB_draw_instanced)
-
-#endif /* GL_ARB_draw_instanced */
-
-/* -------------------- GL_ARB_explicit_attrib_location -------------------- */
-
-#ifndef GL_ARB_explicit_attrib_location
-#define GL_ARB_explicit_attrib_location 1
-
-#define GLEW_ARB_explicit_attrib_location GLEW_GET_VAR(__GLEW_ARB_explicit_attrib_location)
-
-#endif /* GL_ARB_explicit_attrib_location */
-
-/* ------------------- GL_ARB_fragment_coord_conventions ------------------- */
-
-#ifndef GL_ARB_fragment_coord_conventions
-#define GL_ARB_fragment_coord_conventions 1
-
-#define GLEW_ARB_fragment_coord_conventions GLEW_GET_VAR(__GLEW_ARB_fragment_coord_conventions)
-
-#endif /* GL_ARB_fragment_coord_conventions */
-
-/* ------------------------ GL_ARB_fragment_program ------------------------ */
-
-#ifndef GL_ARB_fragment_program
-#define GL_ARB_fragment_program 1
-
-#define GL_FRAGMENT_PROGRAM_ARB 0x8804
-#define GL_PROGRAM_ALU_INSTRUCTIONS_ARB 0x8805
-#define GL_PROGRAM_TEX_INSTRUCTIONS_ARB 0x8806
-#define GL_PROGRAM_TEX_INDIRECTIONS_ARB 0x8807
-#define GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 0x8808
-#define GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 0x8809
-#define GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 0x880A
-#define GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB 0x880B
-#define GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB 0x880C
-#define GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB 0x880D
-#define GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 0x880E
-#define GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 0x880F
-#define GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 0x8810
-#define GL_MAX_TEXTURE_COORDS_ARB 0x8871
-#define GL_MAX_TEXTURE_IMAGE_UNITS_ARB 0x8872
-
-#define GLEW_ARB_fragment_program GLEW_GET_VAR(__GLEW_ARB_fragment_program)
-
-#endif /* GL_ARB_fragment_program */
-
-/* --------------------- GL_ARB_fragment_program_shadow -------------------- */
-
-#ifndef GL_ARB_fragment_program_shadow
-#define GL_ARB_fragment_program_shadow 1
-
-#define GLEW_ARB_fragment_program_shadow GLEW_GET_VAR(__GLEW_ARB_fragment_program_shadow)
-
-#endif /* GL_ARB_fragment_program_shadow */
-
-/* ------------------------- GL_ARB_fragment_shader ------------------------ */
-
-#ifndef GL_ARB_fragment_shader
-#define GL_ARB_fragment_shader 1
-
-#define GL_FRAGMENT_SHADER_ARB 0x8B30
-#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB 0x8B49
-#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB 0x8B8B
-
-#define GLEW_ARB_fragment_shader GLEW_GET_VAR(__GLEW_ARB_fragment_shader)
-
-#endif /* GL_ARB_fragment_shader */
-
-/* ----------------------- GL_ARB_framebuffer_object ----------------------- */
-
-#ifndef GL_ARB_framebuffer_object
-#define GL_ARB_framebuffer_object 1
-
-#define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506
-#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING 0x8210
-#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE 0x8211
-#define GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE 0x8212
-#define GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE 0x8213
-#define GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE 0x8214
-#define GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE 0x8215
-#define GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE 0x8216
-#define GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE 0x8217
-#define GL_FRAMEBUFFER_DEFAULT 0x8218
-#define GL_FRAMEBUFFER_UNDEFINED 0x8219
-#define GL_DEPTH_STENCIL_ATTACHMENT 0x821A
-#define GL_INDEX 0x8222
-#define GL_MAX_RENDERBUFFER_SIZE 0x84E8
-#define GL_DEPTH_STENCIL 0x84F9
-#define GL_UNSIGNED_INT_24_8 0x84FA
-#define GL_DEPTH24_STENCIL8 0x88F0
-#define GL_TEXTURE_STENCIL_SIZE 0x88F1
-#define GL_UNSIGNED_NORMALIZED 0x8C17
-#define GL_SRGB 0x8C40
-#define GL_DRAW_FRAMEBUFFER_BINDING 0x8CA6
-#define GL_FRAMEBUFFER_BINDING 0x8CA6
-#define GL_RENDERBUFFER_BINDING 0x8CA7
-#define GL_READ_FRAMEBUFFER 0x8CA8
-#define GL_DRAW_FRAMEBUFFER 0x8CA9
-#define GL_READ_FRAMEBUFFER_BINDING 0x8CAA
-#define GL_RENDERBUFFER_SAMPLES 0x8CAB
-#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0
-#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1
-#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2
-#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3
-#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4
-#define GL_FRAMEBUFFER_COMPLETE 0x8CD5
-#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6
-#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7
-#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER 0x8CDB
-#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER 0x8CDC
-#define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD
-#define GL_MAX_COLOR_ATTACHMENTS 0x8CDF
-#define GL_COLOR_ATTACHMENT0 0x8CE0
-#define GL_COLOR_ATTACHMENT1 0x8CE1
-#define GL_COLOR_ATTACHMENT2 0x8CE2
-#define GL_COLOR_ATTACHMENT3 0x8CE3
-#define GL_COLOR_ATTACHMENT4 0x8CE4
-#define GL_COLOR_ATTACHMENT5 0x8CE5
-#define GL_COLOR_ATTACHMENT6 0x8CE6
-#define GL_COLOR_ATTACHMENT7 0x8CE7
-#define GL_COLOR_ATTACHMENT8 0x8CE8
-#define GL_COLOR_ATTACHMENT9 0x8CE9
-#define GL_COLOR_ATTACHMENT10 0x8CEA
-#define GL_COLOR_ATTACHMENT11 0x8CEB
-#define GL_COLOR_ATTACHMENT12 0x8CEC
-#define GL_COLOR_ATTACHMENT13 0x8CED
-#define GL_COLOR_ATTACHMENT14 0x8CEE
-#define GL_COLOR_ATTACHMENT15 0x8CEF
-#define GL_DEPTH_ATTACHMENT 0x8D00
-#define GL_STENCIL_ATTACHMENT 0x8D20
-#define GL_FRAMEBUFFER 0x8D40
-#define GL_RENDERBUFFER 0x8D41
-#define GL_RENDERBUFFER_WIDTH 0x8D42
-#define GL_RENDERBUFFER_HEIGHT 0x8D43
-#define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44
-#define GL_STENCIL_INDEX1 0x8D46
-#define GL_STENCIL_INDEX4 0x8D47
-#define GL_STENCIL_INDEX8 0x8D48
-#define GL_STENCIL_INDEX16 0x8D49
-#define GL_RENDERBUFFER_RED_SIZE 0x8D50
-#define GL_RENDERBUFFER_GREEN_SIZE 0x8D51
-#define GL_RENDERBUFFER_BLUE_SIZE 0x8D52
-#define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53
-#define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54
-#define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55
-#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56
-#define GL_MAX_SAMPLES 0x8D57
-
-typedef void (GLAPIENTRY * PFNGLBINDFRAMEBUFFERPROC) (GLenum target, GLuint framebuffer);
-typedef void (GLAPIENTRY * PFNGLBINDRENDERBUFFERPROC) (GLenum target, GLuint renderbuffer);
-typedef void (GLAPIENTRY * PFNGLBLITFRAMEBUFFERPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
-typedef GLenum (GLAPIENTRY * PFNGLCHECKFRAMEBUFFERSTATUSPROC) (GLenum target);
-typedef void (GLAPIENTRY * PFNGLDELETEFRAMEBUFFERSPROC) (GLsizei n, const GLuint* framebuffers);
-typedef void (GLAPIENTRY * PFNGLDELETERENDERBUFFERSPROC) (GLsizei n, const GLuint* renderbuffers);
-typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERRENDERBUFFERPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
-typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURE1DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
-typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURE2DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
-typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURE3DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint layer);
-typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURELAYERPROC) (GLenum target,GLenum attachment, GLuint texture,GLint level,GLint layer);
-typedef void (GLAPIENTRY * PFNGLGENFRAMEBUFFERSPROC) (GLsizei n, GLuint* framebuffers);
-typedef void (GLAPIENTRY * PFNGLGENRENDERBUFFERSPROC) (GLsizei n, GLuint* renderbuffers);
-typedef void (GLAPIENTRY * PFNGLGENERATEMIPMAPPROC) (GLenum target);
-typedef void (GLAPIENTRY * PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC) (GLenum target, GLenum attachment, GLenum pname, GLint* params);
-typedef void (GLAPIENTRY * PFNGLGETRENDERBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint* params);
-typedef GLboolean (GLAPIENTRY * PFNGLISFRAMEBUFFERPROC) (GLuint framebuffer);
-typedef GLboolean (GLAPIENTRY * PFNGLISRENDERBUFFERPROC) (GLuint renderbuffer);
-typedef void (GLAPIENTRY * PFNGLRENDERBUFFERSTORAGEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
-typedef void (GLAPIENTRY * PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
-
-#define glBindFramebuffer GLEW_GET_FUN(__glewBindFramebuffer)
-#define glBindRenderbuffer GLEW_GET_FUN(__glewBindRenderbuffer)
-#define glBlitFramebuffer GLEW_GET_FUN(__glewBlitFramebuffer)
-#define glCheckFramebufferStatus GLEW_GET_FUN(__glewCheckFramebufferStatus)
-#define glDeleteFramebuffers GLEW_GET_FUN(__glewDeleteFramebuffers)
-#define glDeleteRenderbuffers GLEW_GET_FUN(__glewDeleteRenderbuffers)
-#define glFramebufferRenderbuffer GLEW_GET_FUN(__glewFramebufferRenderbuffer)
-#define glFramebufferTexture1D GLEW_GET_FUN(__glewFramebufferTexture1D)
-#define glFramebufferTexture2D GLEW_GET_FUN(__glewFramebufferTexture2D)
-#define glFramebufferTexture3D GLEW_GET_FUN(__glewFramebufferTexture3D)
-#define glFramebufferTextureLayer GLEW_GET_FUN(__glewFramebufferTextureLayer)
-#define glGenFramebuffers GLEW_GET_FUN(__glewGenFramebuffers)
-#define glGenRenderbuffers GLEW_GET_FUN(__glewGenRenderbuffers)
-#define glGenerateMipmap GLEW_GET_FUN(__glewGenerateMipmap)
-#define glGetFramebufferAttachmentParameteriv GLEW_GET_FUN(__glewGetFramebufferAttachmentParameteriv)
-#define glGetRenderbufferParameteriv GLEW_GET_FUN(__glewGetRenderbufferParameteriv)
-#define glIsFramebuffer GLEW_GET_FUN(__glewIsFramebuffer)
-#define glIsRenderbuffer GLEW_GET_FUN(__glewIsRenderbuffer)
-#define glRenderbufferStorage GLEW_GET_FUN(__glewRenderbufferStorage)
-#define glRenderbufferStorageMultisample GLEW_GET_FUN(__glewRenderbufferStorageMultisample)
-
-#define GLEW_ARB_framebuffer_object GLEW_GET_VAR(__GLEW_ARB_framebuffer_object)
-
-#endif /* GL_ARB_framebuffer_object */
-
-/* ------------------------ GL_ARB_framebuffer_sRGB ------------------------ */
-
-#ifndef GL_ARB_framebuffer_sRGB
-#define GL_ARB_framebuffer_sRGB 1
-
-#define GL_FRAMEBUFFER_SRGB 0x8DB9
-
-#define GLEW_ARB_framebuffer_sRGB GLEW_GET_VAR(__GLEW_ARB_framebuffer_sRGB)
-
-#endif /* GL_ARB_framebuffer_sRGB */
-
-/* ------------------------ GL_ARB_geometry_shader4 ------------------------ */
-
-#ifndef GL_ARB_geometry_shader4
-#define GL_ARB_geometry_shader4 1
-
-#define GL_LINES_ADJACENCY_ARB 0xA
-#define GL_LINE_STRIP_ADJACENCY_ARB 0xB
-#define GL_TRIANGLES_ADJACENCY_ARB 0xC
-#define GL_TRIANGLE_STRIP_ADJACENCY_ARB 0xD
-#define GL_PROGRAM_POINT_SIZE_ARB 0x8642
-#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB 0x8C29
-#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4
-#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB 0x8DA7
-#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB 0x8DA8
-#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB 0x8DA9
-#define GL_GEOMETRY_SHADER_ARB 0x8DD9
-#define GL_GEOMETRY_VERTICES_OUT_ARB 0x8DDA
-#define GL_GEOMETRY_INPUT_TYPE_ARB 0x8DDB
-#define GL_GEOMETRY_OUTPUT_TYPE_ARB 0x8DDC
-#define GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB 0x8DDD
-#define GL_MAX_VERTEX_VARYING_COMPONENTS_ARB 0x8DDE
-#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB 0x8DDF
-#define GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB 0x8DE0
-#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB 0x8DE1
-
-typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTUREARBPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level);
-typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTUREFACEARBPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);
-typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURELAYERARBPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
-typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETERIARBPROC) (GLuint program, GLenum pname, GLint value);
-
-#define glFramebufferTextureARB GLEW_GET_FUN(__glewFramebufferTextureARB)
-#define glFramebufferTextureFaceARB GLEW_GET_FUN(__glewFramebufferTextureFaceARB)
-#define glFramebufferTextureLayerARB GLEW_GET_FUN(__glewFramebufferTextureLayerARB)
-#define glProgramParameteriARB GLEW_GET_FUN(__glewProgramParameteriARB)
-
-#define GLEW_ARB_geometry_shader4 GLEW_GET_VAR(__GLEW_ARB_geometry_shader4)
-
-#endif /* GL_ARB_geometry_shader4 */
-
-/* --------------------------- GL_ARB_gpu_shader5 -------------------------- */
-
-#ifndef GL_ARB_gpu_shader5
-#define GL_ARB_gpu_shader5 1
-
-#define GL_GEOMETRY_SHADER_INVOCATIONS 0x887F
-#define GL_MAX_GEOMETRY_SHADER_INVOCATIONS 0x8E5A
-#define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET 0x8E5B
-#define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET 0x8E5C
-#define GL_FRAGMENT_INTERPOLATION_OFFSET_BITS 0x8E5D
-#define GL_MAX_VERTEX_STREAMS 0x8E71
-
-#define GLEW_ARB_gpu_shader5 GLEW_GET_VAR(__GLEW_ARB_gpu_shader5)
-
-#endif /* GL_ARB_gpu_shader5 */
-
-/* ------------------------- GL_ARB_gpu_shader_fp64 ------------------------ */
-
-#ifndef GL_ARB_gpu_shader_fp64
-#define GL_ARB_gpu_shader_fp64 1
-
-#define GLEW_ARB_gpu_shader_fp64 GLEW_GET_VAR(__GLEW_ARB_gpu_shader_fp64)
-
-#endif /* GL_ARB_gpu_shader_fp64 */
-
-/* ------------------------ GL_ARB_half_float_pixel ------------------------ */
-
-#ifndef GL_ARB_half_float_pixel
-#define GL_ARB_half_float_pixel 1
-
-#define GL_HALF_FLOAT_ARB 0x140B
-
-#define GLEW_ARB_half_float_pixel GLEW_GET_VAR(__GLEW_ARB_half_float_pixel)
-
-#endif /* GL_ARB_half_float_pixel */
-
-/* ------------------------ GL_ARB_half_float_vertex ----------------------- */
-
-#ifndef GL_ARB_half_float_vertex
-#define GL_ARB_half_float_vertex 1
-
-#define GL_HALF_FLOAT 0x140B
-
-#define GLEW_ARB_half_float_vertex GLEW_GET_VAR(__GLEW_ARB_half_float_vertex)
-
-#endif /* GL_ARB_half_float_vertex */
-
-/* ----------------------------- GL_ARB_imaging ---------------------------- */
-
-#ifndef GL_ARB_imaging
-#define GL_ARB_imaging 1
-
-#define GL_CONSTANT_COLOR 0x8001
-#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002
-#define GL_CONSTANT_ALPHA 0x8003
-#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004
-#define GL_BLEND_COLOR 0x8005
-#define GL_FUNC_ADD 0x8006
-#define GL_MIN 0x8007
-#define GL_MAX 0x8008
-#define GL_BLEND_EQUATION 0x8009
-#define GL_FUNC_SUBTRACT 0x800A
-#define GL_FUNC_REVERSE_SUBTRACT 0x800B
-#define GL_CONVOLUTION_1D 0x8010
-#define GL_CONVOLUTION_2D 0x8011
-#define GL_SEPARABLE_2D 0x8012
-#define GL_CONVOLUTION_BORDER_MODE 0x8013
-#define GL_CONVOLUTION_FILTER_SCALE 0x8014
-#define GL_CONVOLUTION_FILTER_BIAS 0x8015
-#define GL_REDUCE 0x8016
-#define GL_CONVOLUTION_FORMAT 0x8017
-#define GL_CONVOLUTION_WIDTH 0x8018
-#define GL_CONVOLUTION_HEIGHT 0x8019
-#define GL_MAX_CONVOLUTION_WIDTH 0x801A
-#define GL_MAX_CONVOLUTION_HEIGHT 0x801B
-#define GL_POST_CONVOLUTION_RED_SCALE 0x801C
-#define GL_POST_CONVOLUTION_GREEN_SCALE 0x801D
-#define GL_POST_CONVOLUTION_BLUE_SCALE 0x801E
-#define GL_POST_CONVOLUTION_ALPHA_SCALE 0x801F
-#define GL_POST_CONVOLUTION_RED_BIAS 0x8020
-#define GL_POST_CONVOLUTION_GREEN_BIAS 0x8021
-#define GL_POST_CONVOLUTION_BLUE_BIAS 0x8022
-#define GL_POST_CONVOLUTION_ALPHA_BIAS 0x8023
-#define GL_HISTOGRAM 0x8024
-#define GL_PROXY_HISTOGRAM 0x8025
-#define GL_HISTOGRAM_WIDTH 0x8026
-#define GL_HISTOGRAM_FORMAT 0x8027
-#define GL_HISTOGRAM_RED_SIZE 0x8028
-#define GL_HISTOGRAM_GREEN_SIZE 0x8029
-#define GL_HISTOGRAM_BLUE_SIZE 0x802A
-#define GL_HISTOGRAM_ALPHA_SIZE 0x802B
-#define GL_HISTOGRAM_LUMINANCE_SIZE 0x802C
-#define GL_HISTOGRAM_SINK 0x802D
-#define GL_MINMAX 0x802E
-#define GL_MINMAX_FORMAT 0x802F
-#define GL_MINMAX_SINK 0x8030
-#define GL_TABLE_TOO_LARGE 0x8031
-#define GL_COLOR_MATRIX 0x80B1
-#define GL_COLOR_MATRIX_STACK_DEPTH 0x80B2
-#define GL_MAX_COLOR_MATRIX_STACK_DEPTH 0x80B3
-#define GL_POST_COLOR_MATRIX_RED_SCALE 0x80B4
-#define GL_POST_COLOR_MATRIX_GREEN_SCALE 0x80B5
-#define GL_POST_COLOR_MATRIX_BLUE_SCALE 0x80B6
-#define GL_POST_COLOR_MATRIX_ALPHA_SCALE 0x80B7
-#define GL_POST_COLOR_MATRIX_RED_BIAS 0x80B8
-#define GL_POST_COLOR_MATRIX_GREEN_BIAS 0x80B9
-#define GL_POST_COLOR_MATRIX_BLUE_BIAS 0x80BA
-#define GL_POST_COLOR_MATRIX_ALPHA_BIAS 0x80BB
-#define GL_COLOR_TABLE 0x80D0
-#define GL_POST_CONVOLUTION_COLOR_TABLE 0x80D1
-#define GL_POST_COLOR_MATRIX_COLOR_TABLE 0x80D2
-#define GL_PROXY_COLOR_TABLE 0x80D3
-#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE 0x80D4
-#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE 0x80D5
-#define GL_COLOR_TABLE_SCALE 0x80D6
-#define GL_COLOR_TABLE_BIAS 0x80D7
-#define GL_COLOR_TABLE_FORMAT 0x80D8
-#define GL_COLOR_TABLE_WIDTH 0x80D9
-#define GL_COLOR_TABLE_RED_SIZE 0x80DA
-#define GL_COLOR_TABLE_GREEN_SIZE 0x80DB
-#define GL_COLOR_TABLE_BLUE_SIZE 0x80DC
-#define GL_COLOR_TABLE_ALPHA_SIZE 0x80DD
-#define GL_COLOR_TABLE_LUMINANCE_SIZE 0x80DE
-#define GL_COLOR_TABLE_INTENSITY_SIZE 0x80DF
-#define GL_IGNORE_BORDER 0x8150
-#define GL_CONSTANT_BORDER 0x8151
-#define GL_WRAP_BORDER 0x8152
-#define GL_REPLICATE_BORDER 0x8153
-#define GL_CONVOLUTION_BORDER_COLOR 0x8154
-
-typedef void (GLAPIENTRY * PFNGLCOLORSUBTABLEPROC) (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data);
-typedef void (GLAPIENTRY * PFNGLCOLORTABLEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);
-typedef void (GLAPIENTRY * PFNGLCOLORTABLEPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params);
-typedef void (GLAPIENTRY * PFNGLCOLORTABLEPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params);
-typedef void (GLAPIENTRY * PFNGLCONVOLUTIONFILTER1DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image);
-typedef void (GLAPIENTRY * PFNGLCONVOLUTIONFILTER2DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image);
-typedef void (GLAPIENTRY * PFNGLCONVOLUTIONPARAMETERFPROC) (GLenum target, GLenum pname, GLfloat params);
-typedef void (GLAPIENTRY * PFNGLCONVOLUTIONPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params);
-typedef void (GLAPIENTRY * PFNGLCONVOLUTIONPARAMETERIPROC) (GLenum target, GLenum pname, GLint params);
-typedef void (GLAPIENTRY * PFNGLCONVOLUTIONPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params);
-typedef void (GLAPIENTRY * PFNGLCOPYCOLORSUBTABLEPROC) (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);
-typedef void (GLAPIENTRY * PFNGLCOPYCOLORTABLEPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
-typedef void (GLAPIENTRY * PFNGLCOPYCONVOLUTIONFILTER1DPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
-typedef void (GLAPIENTRY * PFNGLCOPYCONVOLUTIONFILTER2DPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);
-typedef void (GLAPIENTRY * PFNGLGETCOLORTABLEPROC) (GLenum target, GLenum format, GLenum type, GLvoid *table);
-typedef void (GLAPIENTRY * PFNGLGETCOLORTABLEPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
-typedef void (GLAPIENTRY * PFNGLGETCOLORTABLEPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
-typedef void (GLAPIENTRY * PFNGLGETCONVOLUTIONFILTERPROC) (GLenum target, GLenum format, GLenum type, GLvoid *image);
-typedef void (GLAPIENTRY * PFNGLGETCONVOLUTIONPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
-typedef void (GLAPIENTRY * PFNGLGETCONVOLUTIONPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
-typedef void (GLAPIENTRY * PFNGLGETHISTOGRAMPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
-typedef void (GLAPIENTRY * PFNGLGETHISTOGRAMPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
-typedef void (GLAPIENTRY * PFNGLGETHISTOGRAMPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
-typedef void (GLAPIENTRY * PFNGLGETMINMAXPROC) (GLenum target, GLboolean reset, GLenum format, GLenum types, GLvoid *values);
-typedef void (GLAPIENTRY * PFNGLGETMINMAXPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
-typedef void (GLAPIENTRY * PFNGLGETMINMAXPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
-typedef void (GLAPIENTRY * PFNGLGETSEPARABLEFILTERPROC) (GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span);
-typedef void (GLAPIENTRY * PFNGLHISTOGRAMPROC) (GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);
-typedef void (GLAPIENTRY * PFNGLMINMAXPROC) (GLenum target, GLenum internalformat, GLboolean sink);
-typedef void (GLAPIENTRY * PFNGLRESETHISTOGRAMPROC) (GLenum target);
-typedef void (GLAPIENTRY * PFNGLRESETMINMAXPROC) (GLenum target);
-typedef void (GLAPIENTRY * PFNGLSEPARABLEFILTER2DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column);
-
-#define glColorSubTable GLEW_GET_FUN(__glewColorSubTable)
-#define glColorTable GLEW_GET_FUN(__glewColorTable)
-#define glColorTableParameterfv GLEW_GET_FUN(__glewColorTableParameterfv)
-#define glColorTableParameteriv GLEW_GET_FUN(__glewColorTableParameteriv)
-#define glConvolutionFilter1D GLEW_GET_FUN(__glewConvolutionFilter1D)
-#define glConvolutionFilter2D GLEW_GET_FUN(__glewConvolutionFilter2D)
-#define glConvolutionParameterf GLEW_GET_FUN(__glewConvolutionParameterf)
-#define glConvolutionParameterfv GLEW_GET_FUN(__glewConvolutionParameterfv)
-#define glConvolutionParameteri GLEW_GET_FUN(__glewConvolutionParameteri)
-#define glConvolutionParameteriv GLEW_GET_FUN(__glewConvolutionParameteriv)
-#define glCopyColorSubTable GLEW_GET_FUN(__glewCopyColorSubTable)
-#define glCopyColorTable GLEW_GET_FUN(__glewCopyColorTable)
-#define glCopyConvolutionFilter1D GLEW_GET_FUN(__glewCopyConvolutionFilter1D)
-#define glCopyConvolutionFilter2D GLEW_GET_FUN(__glewCopyConvolutionFilter2D)
-#define glGetColorTable GLEW_GET_FUN(__glewGetColorTable)
-#define glGetColorTableParameterfv GLEW_GET_FUN(__glewGetColorTableParameterfv)
-#define glGetColorTableParameteriv GLEW_GET_FUN(__glewGetColorTableParameteriv)
-#define glGetConvolutionFilter GLEW_GET_FUN(__glewGetConvolutionFilter)
-#define glGetConvolutionParameterfv GLEW_GET_FUN(__glewGetConvolutionParameterfv)
-#define glGetConvolutionParameteriv GLEW_GET_FUN(__glewGetConvolutionParameteriv)
-#define glGetHistogram GLEW_GET_FUN(__glewGetHistogram)
-#define glGetHistogramParameterfv GLEW_GET_FUN(__glewGetHistogramParameterfv)
-#define glGetHistogramParameteriv GLEW_GET_FUN(__glewGetHistogramParameteriv)
-#define glGetMinmax GLEW_GET_FUN(__glewGetMinmax)
-#define glGetMinmaxParameterfv GLEW_GET_FUN(__glewGetMinmaxParameterfv)
-#define glGetMinmaxParameteriv GLEW_GET_FUN(__glewGetMinmaxParameteriv)
-#define glGetSeparableFilter GLEW_GET_FUN(__glewGetSeparableFilter)
-#define glHistogram GLEW_GET_FUN(__glewHistogram)
-#define glMinmax GLEW_GET_FUN(__glewMinmax)
-#define glResetHistogram GLEW_GET_FUN(__glewResetHistogram)
-#define glResetMinmax GLEW_GET_FUN(__glewResetMinmax)
-#define glSeparableFilter2D GLEW_GET_FUN(__glewSeparableFilter2D)
-
-#define GLEW_ARB_imaging GLEW_GET_VAR(__GLEW_ARB_imaging)
-
-#endif /* GL_ARB_imaging */
-
-/* ------------------------ GL_ARB_instanced_arrays ------------------------ */
-
-#ifndef GL_ARB_instanced_arrays
-#define GL_ARB_instanced_arrays 1
-
-#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB 0x88FE
-
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBDIVISORARBPROC) (GLuint index, GLuint divisor);
-
-#define glVertexAttribDivisorARB GLEW_GET_FUN(__glewVertexAttribDivisorARB)
-
-#define GLEW_ARB_instanced_arrays GLEW_GET_VAR(__GLEW_ARB_instanced_arrays)
-
-#endif /* GL_ARB_instanced_arrays */
-
-/* ------------------------ GL_ARB_map_buffer_range ------------------------ */
-
-#ifndef GL_ARB_map_buffer_range
-#define GL_ARB_map_buffer_range 1
-
-#define GL_MAP_READ_BIT 0x0001
-#define GL_MAP_WRITE_BIT 0x0002
-#define GL_MAP_INVALIDATE_RANGE_BIT 0x0004
-#define GL_MAP_INVALIDATE_BUFFER_BIT 0x0008
-#define GL_MAP_FLUSH_EXPLICIT_BIT 0x0010
-#define GL_MAP_UNSYNCHRONIZED_BIT 0x0020
-
-typedef void (GLAPIENTRY * PFNGLFLUSHMAPPEDBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length);
-typedef GLvoid * (GLAPIENTRY * PFNGLMAPBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
-
-#define glFlushMappedBufferRange GLEW_GET_FUN(__glewFlushMappedBufferRange)
-#define glMapBufferRange GLEW_GET_FUN(__glewMapBufferRange)
-
-#define GLEW_ARB_map_buffer_range GLEW_GET_VAR(__GLEW_ARB_map_buffer_range)
-
-#endif /* GL_ARB_map_buffer_range */
-
-/* ------------------------- GL_ARB_matrix_palette ------------------------- */
-
-#ifndef GL_ARB_matrix_palette
-#define GL_ARB_matrix_palette 1
-
-#define GL_MATRIX_PALETTE_ARB 0x8840
-#define GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB 0x8841
-#define GL_MAX_PALETTE_MATRICES_ARB 0x8842
-#define GL_CURRENT_PALETTE_MATRIX_ARB 0x8843
-#define GL_MATRIX_INDEX_ARRAY_ARB 0x8844
-#define GL_CURRENT_MATRIX_INDEX_ARB 0x8845
-#define GL_MATRIX_INDEX_ARRAY_SIZE_ARB 0x8846
-#define GL_MATRIX_INDEX_ARRAY_TYPE_ARB 0x8847
-#define GL_MATRIX_INDEX_ARRAY_STRIDE_ARB 0x8848
-#define GL_MATRIX_INDEX_ARRAY_POINTER_ARB 0x8849
-
-typedef void (GLAPIENTRY * PFNGLCURRENTPALETTEMATRIXARBPROC) (GLint index);
-typedef void (GLAPIENTRY * PFNGLMATRIXINDEXPOINTERARBPROC) (GLint size, GLenum type, GLsizei stride, GLvoid *pointer);
-typedef void (GLAPIENTRY * PFNGLMATRIXINDEXUBVARBPROC) (GLint size, GLubyte *indices);
-typedef void (GLAPIENTRY * PFNGLMATRIXINDEXUIVARBPROC) (GLint size, GLuint *indices);
-typedef void (GLAPIENTRY * PFNGLMATRIXINDEXUSVARBPROC) (GLint size, GLushort *indices);
-
-#define glCurrentPaletteMatrixARB GLEW_GET_FUN(__glewCurrentPaletteMatrixARB)
-#define glMatrixIndexPointerARB GLEW_GET_FUN(__glewMatrixIndexPointerARB)
-#define glMatrixIndexubvARB GLEW_GET_FUN(__glewMatrixIndexubvARB)
-#define glMatrixIndexuivARB GLEW_GET_FUN(__glewMatrixIndexuivARB)
-#define glMatrixIndexusvARB GLEW_GET_FUN(__glewMatrixIndexusvARB)
-
-#define GLEW_ARB_matrix_palette GLEW_GET_VAR(__GLEW_ARB_matrix_palette)
-
-#endif /* GL_ARB_matrix_palette */
-
-/* --------------------------- GL_ARB_multisample -------------------------- */
-
-#ifndef GL_ARB_multisample
-#define GL_ARB_multisample 1
-
-#define GL_MULTISAMPLE_ARB 0x809D
-#define GL_SAMPLE_ALPHA_TO_COVERAGE_ARB 0x809E
-#define GL_SAMPLE_ALPHA_TO_ONE_ARB 0x809F
-#define GL_SAMPLE_COVERAGE_ARB 0x80A0
-#define GL_SAMPLE_BUFFERS_ARB 0x80A8
-#define GL_SAMPLES_ARB 0x80A9
-#define GL_SAMPLE_COVERAGE_VALUE_ARB 0x80AA
-#define GL_SAMPLE_COVERAGE_INVERT_ARB 0x80AB
-#define GL_MULTISAMPLE_BIT_ARB 0x20000000
-
-typedef void (GLAPIENTRY * PFNGLSAMPLECOVERAGEARBPROC) (GLclampf value, GLboolean invert);
-
-#define glSampleCoverageARB GLEW_GET_FUN(__glewSampleCoverageARB)
-
-#define GLEW_ARB_multisample GLEW_GET_VAR(__GLEW_ARB_multisample)
-
-#endif /* GL_ARB_multisample */
-
-/* -------------------------- GL_ARB_multitexture -------------------------- */
-
-#ifndef GL_ARB_multitexture
-#define GL_ARB_multitexture 1
-
-#define GL_TEXTURE0_ARB 0x84C0
-#define GL_TEXTURE1_ARB 0x84C1
-#define GL_TEXTURE2_ARB 0x84C2
-#define GL_TEXTURE3_ARB 0x84C3
-#define GL_TEXTURE4_ARB 0x84C4
-#define GL_TEXTURE5_ARB 0x84C5
-#define GL_TEXTURE6_ARB 0x84C6
-#define GL_TEXTURE7_ARB 0x84C7
-#define GL_TEXTURE8_ARB 0x84C8
-#define GL_TEXTURE9_ARB 0x84C9
-#define GL_TEXTURE10_ARB 0x84CA
-#define GL_TEXTURE11_ARB 0x84CB
-#define GL_TEXTURE12_ARB 0x84CC
-#define GL_TEXTURE13_ARB 0x84CD
-#define GL_TEXTURE14_ARB 0x84CE
-#define GL_TEXTURE15_ARB 0x84CF
-#define GL_TEXTURE16_ARB 0x84D0
-#define GL_TEXTURE17_ARB 0x84D1
-#define GL_TEXTURE18_ARB 0x84D2
-#define GL_TEXTURE19_ARB 0x84D3
-#define GL_TEXTURE20_ARB 0x84D4
-#define GL_TEXTURE21_ARB 0x84D5
-#define GL_TEXTURE22_ARB 0x84D6
-#define GL_TEXTURE23_ARB 0x84D7
-#define GL_TEXTURE24_ARB 0x84D8
-#define GL_TEXTURE25_ARB 0x84D9
-#define GL_TEXTURE26_ARB 0x84DA
-#define GL_TEXTURE27_ARB 0x84DB
-#define GL_TEXTURE28_ARB 0x84DC
-#define GL_TEXTURE29_ARB 0x84DD
-#define GL_TEXTURE30_ARB 0x84DE
-#define GL_TEXTURE31_ARB 0x84DF
-#define GL_ACTIVE_TEXTURE_ARB 0x84E0
-#define GL_CLIENT_ACTIVE_TEXTURE_ARB 0x84E1
-#define GL_MAX_TEXTURE_UNITS_ARB 0x84E2
-
-typedef void (GLAPIENTRY * PFNGLACTIVETEXTUREARBPROC) (GLenum texture);
-typedef void (GLAPIENTRY * PFNGLCLIENTACTIVETEXTUREARBPROC) (GLenum texture);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1DARBPROC) (GLenum target, GLdouble s);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1DVARBPROC) (GLenum target, const GLdouble *v);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1FARBPROC) (GLenum target, GLfloat s);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1FVARBPROC) (GLenum target, const GLfloat *v);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1IARBPROC) (GLenum target, GLint s);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1IVARBPROC) (GLenum target, const GLint *v);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1SARBPROC) (GLenum target, GLshort s);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1SVARBPROC) (GLenum target, const GLshort *v);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2DARBPROC) (GLenum target, GLdouble s, GLdouble t);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2DVARBPROC) (GLenum target, const GLdouble *v);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2FARBPROC) (GLenum target, GLfloat s, GLfloat t);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2FVARBPROC) (GLenum target, const GLfloat *v);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2IARBPROC) (GLenum target, GLint s, GLint t);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2IVARBPROC) (GLenum target, const GLint *v);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2SARBPROC) (GLenum target, GLshort s, GLshort t);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2SVARBPROC) (GLenum target, const GLshort *v);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3DVARBPROC) (GLenum target, const GLdouble *v);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3FVARBPROC) (GLenum target, const GLfloat *v);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3IARBPROC) (GLenum target, GLint s, GLint t, GLint r);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3IVARBPROC) (GLenum target, const GLint *v);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3SVARBPROC) (GLenum target, const GLshort *v);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4DVARBPROC) (GLenum target, const GLdouble *v);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4FVARBPROC) (GLenum target, const GLfloat *v);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4IARBPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4IVARBPROC) (GLenum target, const GLint *v);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4SVARBPROC) (GLenum target, const GLshort *v);
-
-#define glActiveTextureARB GLEW_GET_FUN(__glewActiveTextureARB)
-#define glClientActiveTextureARB GLEW_GET_FUN(__glewClientActiveTextureARB)
-#define glMultiTexCoord1dARB GLEW_GET_FUN(__glewMultiTexCoord1dARB)
-#define glMultiTexCoord1dvARB GLEW_GET_FUN(__glewMultiTexCoord1dvARB)
-#define glMultiTexCoord1fARB GLEW_GET_FUN(__glewMultiTexCoord1fARB)
-#define glMultiTexCoord1fvARB GLEW_GET_FUN(__glewMultiTexCoord1fvARB)
-#define glMultiTexCoord1iARB GLEW_GET_FUN(__glewMultiTexCoord1iARB)
-#define glMultiTexCoord1ivARB GLEW_GET_FUN(__glewMultiTexCoord1ivARB)
-#define glMultiTexCoord1sARB GLEW_GET_FUN(__glewMultiTexCoord1sARB)
-#define glMultiTexCoord1svARB GLEW_GET_FUN(__glewMultiTexCoord1svARB)
-#define glMultiTexCoord2dARB GLEW_GET_FUN(__glewMultiTexCoord2dARB)
-#define glMultiTexCoord2dvARB GLEW_GET_FUN(__glewMultiTexCoord2dvARB)
-#define glMultiTexCoord2fARB GLEW_GET_FUN(__glewMultiTexCoord2fARB)
-#define glMultiTexCoord2fvARB GLEW_GET_FUN(__glewMultiTexCoord2fvARB)
-#define glMultiTexCoord2iARB GLEW_GET_FUN(__glewMultiTexCoord2iARB)
-#define glMultiTexCoord2ivARB GLEW_GET_FUN(__glewMultiTexCoord2ivARB)
-#define glMultiTexCoord2sARB GLEW_GET_FUN(__glewMultiTexCoord2sARB)
-#define glMultiTexCoord2svARB GLEW_GET_FUN(__glewMultiTexCoord2svARB)
-#define glMultiTexCoord3dARB GLEW_GET_FUN(__glewMultiTexCoord3dARB)
-#define glMultiTexCoord3dvARB GLEW_GET_FUN(__glewMultiTexCoord3dvARB)
-#define glMultiTexCoord3fARB GLEW_GET_FUN(__glewMultiTexCoord3fARB)
-#define glMultiTexCoord3fvARB GLEW_GET_FUN(__glewMultiTexCoord3fvARB)
-#define glMultiTexCoord3iARB GLEW_GET_FUN(__glewMultiTexCoord3iARB)
-#define glMultiTexCoord3ivARB GLEW_GET_FUN(__glewMultiTexCoord3ivARB)
-#define glMultiTexCoord3sARB GLEW_GET_FUN(__glewMultiTexCoord3sARB)
-#define glMultiTexCoord3svARB GLEW_GET_FUN(__glewMultiTexCoord3svARB)
-#define glMultiTexCoord4dARB GLEW_GET_FUN(__glewMultiTexCoord4dARB)
-#define glMultiTexCoord4dvARB GLEW_GET_FUN(__glewMultiTexCoord4dvARB)
-#define glMultiTexCoord4fARB GLEW_GET_FUN(__glewMultiTexCoord4fARB)
-#define glMultiTexCoord4fvARB GLEW_GET_FUN(__glewMultiTexCoord4fvARB)
-#define glMultiTexCoord4iARB GLEW_GET_FUN(__glewMultiTexCoord4iARB)
-#define glMultiTexCoord4ivARB GLEW_GET_FUN(__glewMultiTexCoord4ivARB)
-#define glMultiTexCoord4sARB GLEW_GET_FUN(__glewMultiTexCoord4sARB)
-#define glMultiTexCoord4svARB GLEW_GET_FUN(__glewMultiTexCoord4svARB)
-
-#define GLEW_ARB_multitexture GLEW_GET_VAR(__GLEW_ARB_multitexture)
-
-#endif /* GL_ARB_multitexture */
-
-/* ------------------------- GL_ARB_occlusion_query ------------------------ */
-
-#ifndef GL_ARB_occlusion_query
-#define GL_ARB_occlusion_query 1
-
-#define GL_QUERY_COUNTER_BITS_ARB 0x8864
-#define GL_CURRENT_QUERY_ARB 0x8865
-#define GL_QUERY_RESULT_ARB 0x8866
-#define GL_QUERY_RESULT_AVAILABLE_ARB 0x8867
-#define GL_SAMPLES_PASSED_ARB 0x8914
-
-typedef void (GLAPIENTRY * PFNGLBEGINQUERYARBPROC) (GLenum target, GLuint id);
-typedef void (GLAPIENTRY * PFNGLDELETEQUERIESARBPROC) (GLsizei n, const GLuint* ids);
-typedef void (GLAPIENTRY * PFNGLENDQUERYARBPROC) (GLenum target);
-typedef void (GLAPIENTRY * PFNGLGENQUERIESARBPROC) (GLsizei n, GLuint* ids);
-typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTIVARBPROC) (GLuint id, GLenum pname, GLint* params);
-typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTUIVARBPROC) (GLuint id, GLenum pname, GLuint* params);
-typedef void (GLAPIENTRY * PFNGLGETQUERYIVARBPROC) (GLenum target, GLenum pname, GLint* params);
-typedef GLboolean (GLAPIENTRY * PFNGLISQUERYARBPROC) (GLuint id);
-
-#define glBeginQueryARB GLEW_GET_FUN(__glewBeginQueryARB)
-#define glDeleteQueriesARB GLEW_GET_FUN(__glewDeleteQueriesARB)
-#define glEndQueryARB GLEW_GET_FUN(__glewEndQueryARB)
-#define glGenQueriesARB GLEW_GET_FUN(__glewGenQueriesARB)
-#define glGetQueryObjectivARB GLEW_GET_FUN(__glewGetQueryObjectivARB)
-#define glGetQueryObjectuivARB GLEW_GET_FUN(__glewGetQueryObjectuivARB)
-#define glGetQueryivARB GLEW_GET_FUN(__glewGetQueryivARB)
-#define glIsQueryARB GLEW_GET_FUN(__glewIsQueryARB)
-
-#define GLEW_ARB_occlusion_query GLEW_GET_VAR(__GLEW_ARB_occlusion_query)
-
-#endif /* GL_ARB_occlusion_query */
-
-/* ------------------------ GL_ARB_occlusion_query2 ------------------------ */
-
-#ifndef GL_ARB_occlusion_query2
-#define GL_ARB_occlusion_query2 1
-
-#define GL_ANY_SAMPLES_PASSED 0x8C2F
-
-#define GLEW_ARB_occlusion_query2 GLEW_GET_VAR(__GLEW_ARB_occlusion_query2)
-
-#endif /* GL_ARB_occlusion_query2 */
-
-/* ----------------------- GL_ARB_pixel_buffer_object ---------------------- */
-
-#ifndef GL_ARB_pixel_buffer_object
-#define GL_ARB_pixel_buffer_object 1
-
-#define GL_PIXEL_PACK_BUFFER_ARB 0x88EB
-#define GL_PIXEL_UNPACK_BUFFER_ARB 0x88EC
-#define GL_PIXEL_PACK_BUFFER_BINDING_ARB 0x88ED
-#define GL_PIXEL_UNPACK_BUFFER_BINDING_ARB 0x88EF
-
-#define GLEW_ARB_pixel_buffer_object GLEW_GET_VAR(__GLEW_ARB_pixel_buffer_object)
-
-#endif /* GL_ARB_pixel_buffer_object */
-
-/* ------------------------ GL_ARB_point_parameters ------------------------ */
-
-#ifndef GL_ARB_point_parameters
-#define GL_ARB_point_parameters 1
-
-#define GL_POINT_SIZE_MIN_ARB 0x8126
-#define GL_POINT_SIZE_MAX_ARB 0x8127
-#define GL_POINT_FADE_THRESHOLD_SIZE_ARB 0x8128
-#define GL_POINT_DISTANCE_ATTENUATION_ARB 0x8129
-
-typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFARBPROC) (GLenum pname, GLfloat param);
-typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFVARBPROC) (GLenum pname, GLfloat* params);
-
-#define glPointParameterfARB GLEW_GET_FUN(__glewPointParameterfARB)
-#define glPointParameterfvARB GLEW_GET_FUN(__glewPointParameterfvARB)
-
-#define GLEW_ARB_point_parameters GLEW_GET_VAR(__GLEW_ARB_point_parameters)
-
-#endif /* GL_ARB_point_parameters */
-
-/* -------------------------- GL_ARB_point_sprite -------------------------- */
-
-#ifndef GL_ARB_point_sprite
-#define GL_ARB_point_sprite 1
-
-#define GL_POINT_SPRITE_ARB 0x8861
-#define GL_COORD_REPLACE_ARB 0x8862
-
-#define GLEW_ARB_point_sprite GLEW_GET_VAR(__GLEW_ARB_point_sprite)
-
-#endif /* GL_ARB_point_sprite */
-
-/* ------------------------ GL_ARB_provoking_vertex ------------------------ */
-
-#ifndef GL_ARB_provoking_vertex
-#define GL_ARB_provoking_vertex 1
-
-#define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION 0x8E4C
-#define GL_FIRST_VERTEX_CONVENTION 0x8E4D
-#define GL_LAST_VERTEX_CONVENTION 0x8E4E
-#define GL_PROVOKING_VERTEX 0x8E4F
-
-typedef void (GLAPIENTRY * PFNGLPROVOKINGVERTEXPROC) (GLenum mode);
-
-#define glProvokingVertex GLEW_GET_FUN(__glewProvokingVertex)
-
-#define GLEW_ARB_provoking_vertex GLEW_GET_VAR(__GLEW_ARB_provoking_vertex)
-
-#endif /* GL_ARB_provoking_vertex */
-
-/* ------------------------- GL_ARB_sample_shading ------------------------- */
-
-#ifndef GL_ARB_sample_shading
-#define GL_ARB_sample_shading 1
-
-#define GL_SAMPLE_SHADING_ARB 0x8C36
-#define GL_MIN_SAMPLE_SHADING_VALUE_ARB 0x8C37
-
-typedef void (GLAPIENTRY * PFNGLMINSAMPLESHADINGARBPROC) (GLclampf value);
-
-#define glMinSampleShadingARB GLEW_GET_FUN(__glewMinSampleShadingARB)
-
-#define GLEW_ARB_sample_shading GLEW_GET_VAR(__GLEW_ARB_sample_shading)
-
-#endif /* GL_ARB_sample_shading */
-
-/* ------------------------- GL_ARB_sampler_objects ------------------------ */
-
-#ifndef GL_ARB_sampler_objects
-#define GL_ARB_sampler_objects 1
-
-#define GL_SAMPLER_BINDING 0x8919
-
-typedef void (GLAPIENTRY * PFNGLBINDSAMPLERPROC) (GLuint unit, GLuint sampler);
-typedef void (GLAPIENTRY * PFNGLDELETESAMPLERSPROC) (GLsizei count, const GLuint * samplers);
-typedef void (GLAPIENTRY * PFNGLGENSAMPLERSPROC) (GLsizei count, GLuint* samplers);
-typedef void (GLAPIENTRY * PFNGLGETSAMPLERPARAMETERIIVPROC) (GLuint sampler, GLenum pname, GLint* params);
-typedef void (GLAPIENTRY * PFNGLGETSAMPLERPARAMETERIUIVPROC) (GLuint sampler, GLenum pname, GLuint* params);
-typedef void (GLAPIENTRY * PFNGLGETSAMPLERPARAMETERFVPROC) (GLuint sampler, GLenum pname, GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLGETSAMPLERPARAMETERIVPROC) (GLuint sampler, GLenum pname, GLint* params);
-typedef GLboolean (GLAPIENTRY * PFNGLISSAMPLERPROC) (GLuint sampler);
-typedef void (GLAPIENTRY * PFNGLSAMPLERPARAMETERIIVPROC) (GLuint sampler, GLenum pname, const GLint* params);
-typedef void (GLAPIENTRY * PFNGLSAMPLERPARAMETERIUIVPROC) (GLuint sampler, GLenum pname, const GLuint* params);
-typedef void (GLAPIENTRY * PFNGLSAMPLERPARAMETERFPROC) (GLuint sampler, GLenum pname, GLfloat param);
-typedef void (GLAPIENTRY * PFNGLSAMPLERPARAMETERFVPROC) (GLuint sampler, GLenum pname, const GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLSAMPLERPARAMETERIPROC) (GLuint sampler, GLenum pname, GLint param);
-typedef void (GLAPIENTRY * PFNGLSAMPLERPARAMETERIVPROC) (GLuint sampler, GLenum pname, const GLint* params);
-
-#define glBindSampler GLEW_GET_FUN(__glewBindSampler)
-#define glDeleteSamplers GLEW_GET_FUN(__glewDeleteSamplers)
-#define glGenSamplers GLEW_GET_FUN(__glewGenSamplers)
-#define glGetSamplerParameterIiv GLEW_GET_FUN(__glewGetSamplerParameterIiv)
-#define glGetSamplerParameterIuiv GLEW_GET_FUN(__glewGetSamplerParameterIuiv)
-#define glGetSamplerParameterfv GLEW_GET_FUN(__glewGetSamplerParameterfv)
-#define glGetSamplerParameteriv GLEW_GET_FUN(__glewGetSamplerParameteriv)
-#define glIsSampler GLEW_GET_FUN(__glewIsSampler)
-#define glSamplerParameterIiv GLEW_GET_FUN(__glewSamplerParameterIiv)
-#define glSamplerParameterIuiv GLEW_GET_FUN(__glewSamplerParameterIuiv)
-#define glSamplerParameterf GLEW_GET_FUN(__glewSamplerParameterf)
-#define glSamplerParameterfv GLEW_GET_FUN(__glewSamplerParameterfv)
-#define glSamplerParameteri GLEW_GET_FUN(__glewSamplerParameteri)
-#define glSamplerParameteriv GLEW_GET_FUN(__glewSamplerParameteriv)
-
-#define GLEW_ARB_sampler_objects GLEW_GET_VAR(__GLEW_ARB_sampler_objects)
-
-#endif /* GL_ARB_sampler_objects */
-
-/* ------------------------ GL_ARB_seamless_cube_map ----------------------- */
-
-#ifndef GL_ARB_seamless_cube_map
-#define GL_ARB_seamless_cube_map 1
-
-#define GL_TEXTURE_CUBE_MAP_SEAMLESS 0x884F
-
-#define GLEW_ARB_seamless_cube_map GLEW_GET_VAR(__GLEW_ARB_seamless_cube_map)
-
-#endif /* GL_ARB_seamless_cube_map */
-
-/* ----------------------- GL_ARB_shader_bit_encoding ---------------------- */
-
-#ifndef GL_ARB_shader_bit_encoding
-#define GL_ARB_shader_bit_encoding 1
-
-#define GLEW_ARB_shader_bit_encoding GLEW_GET_VAR(__GLEW_ARB_shader_bit_encoding)
-
-#endif /* GL_ARB_shader_bit_encoding */
-
-/* ------------------------- GL_ARB_shader_objects ------------------------- */
-
-#ifndef GL_ARB_shader_objects
-#define GL_ARB_shader_objects 1
-
-#define GL_PROGRAM_OBJECT_ARB 0x8B40
-#define GL_SHADER_OBJECT_ARB 0x8B48
-#define GL_OBJECT_TYPE_ARB 0x8B4E
-#define GL_OBJECT_SUBTYPE_ARB 0x8B4F
-#define GL_FLOAT_VEC2_ARB 0x8B50
-#define GL_FLOAT_VEC3_ARB 0x8B51
-#define GL_FLOAT_VEC4_ARB 0x8B52
-#define GL_INT_VEC2_ARB 0x8B53
-#define GL_INT_VEC3_ARB 0x8B54
-#define GL_INT_VEC4_ARB 0x8B55
-#define GL_BOOL_ARB 0x8B56
-#define GL_BOOL_VEC2_ARB 0x8B57
-#define GL_BOOL_VEC3_ARB 0x8B58
-#define GL_BOOL_VEC4_ARB 0x8B59
-#define GL_FLOAT_MAT2_ARB 0x8B5A
-#define GL_FLOAT_MAT3_ARB 0x8B5B
-#define GL_FLOAT_MAT4_ARB 0x8B5C
-#define GL_SAMPLER_1D_ARB 0x8B5D
-#define GL_SAMPLER_2D_ARB 0x8B5E
-#define GL_SAMPLER_3D_ARB 0x8B5F
-#define GL_SAMPLER_CUBE_ARB 0x8B60
-#define GL_SAMPLER_1D_SHADOW_ARB 0x8B61
-#define GL_SAMPLER_2D_SHADOW_ARB 0x8B62
-#define GL_SAMPLER_2D_RECT_ARB 0x8B63
-#define GL_SAMPLER_2D_RECT_SHADOW_ARB 0x8B64
-#define GL_OBJECT_DELETE_STATUS_ARB 0x8B80
-#define GL_OBJECT_COMPILE_STATUS_ARB 0x8B81
-#define GL_OBJECT_LINK_STATUS_ARB 0x8B82
-#define GL_OBJECT_VALIDATE_STATUS_ARB 0x8B83
-#define GL_OBJECT_INFO_LOG_LENGTH_ARB 0x8B84
-#define GL_OBJECT_ATTACHED_OBJECTS_ARB 0x8B85
-#define GL_OBJECT_ACTIVE_UNIFORMS_ARB 0x8B86
-#define GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB 0x8B87
-#define GL_OBJECT_SHADER_SOURCE_LENGTH_ARB 0x8B88
-
-typedef char GLcharARB;
-typedef unsigned int GLhandleARB;
-
-typedef void (GLAPIENTRY * PFNGLATTACHOBJECTARBPROC) (GLhandleARB containerObj, GLhandleARB obj);
-typedef void (GLAPIENTRY * PFNGLCOMPILESHADERARBPROC) (GLhandleARB shaderObj);
-typedef GLhandleARB (GLAPIENTRY * PFNGLCREATEPROGRAMOBJECTARBPROC) (void);
-typedef GLhandleARB (GLAPIENTRY * PFNGLCREATESHADEROBJECTARBPROC) (GLenum shaderType);
-typedef void (GLAPIENTRY * PFNGLDELETEOBJECTARBPROC) (GLhandleARB obj);
-typedef void (GLAPIENTRY * PFNGLDETACHOBJECTARBPROC) (GLhandleARB containerObj, GLhandleARB attachedObj);
-typedef void (GLAPIENTRY * PFNGLGETACTIVEUNIFORMARBPROC) (GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei* length, GLint *size, GLenum *type, GLcharARB *name);
-typedef void (GLAPIENTRY * PFNGLGETATTACHEDOBJECTSARBPROC) (GLhandleARB containerObj, GLsizei maxCount, GLsizei* count, GLhandleARB *obj);
-typedef GLhandleARB (GLAPIENTRY * PFNGLGETHANDLEARBPROC) (GLenum pname);
-typedef void (GLAPIENTRY * PFNGLGETINFOLOGARBPROC) (GLhandleARB obj, GLsizei maxLength, GLsizei* length, GLcharARB *infoLog);
-typedef void (GLAPIENTRY * PFNGLGETOBJECTPARAMETERFVARBPROC) (GLhandleARB obj, GLenum pname, GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLGETOBJECTPARAMETERIVARBPROC) (GLhandleARB obj, GLenum pname, GLint* params);
-typedef void (GLAPIENTRY * PFNGLGETSHADERSOURCEARBPROC) (GLhandleARB obj, GLsizei maxLength, GLsizei* length, GLcharARB *source);
-typedef GLint (GLAPIENTRY * PFNGLGETUNIFORMLOCATIONARBPROC) (GLhandleARB programObj, const GLcharARB* name);
-typedef void (GLAPIENTRY * PFNGLGETUNIFORMFVARBPROC) (GLhandleARB programObj, GLint location, GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLGETUNIFORMIVARBPROC) (GLhandleARB programObj, GLint location, GLint* params);
-typedef void (GLAPIENTRY * PFNGLLINKPROGRAMARBPROC) (GLhandleARB programObj);
-typedef void (GLAPIENTRY * PFNGLSHADERSOURCEARBPROC) (GLhandleARB shaderObj, GLsizei count, const GLcharARB ** string, const GLint *length);
-typedef void (GLAPIENTRY * PFNGLUNIFORM1FARBPROC) (GLint location, GLfloat v0);
-typedef void (GLAPIENTRY * PFNGLUNIFORM1FVARBPROC) (GLint location, GLsizei count, const GLfloat* value);
-typedef void (GLAPIENTRY * PFNGLUNIFORM1IARBPROC) (GLint location, GLint v0);
-typedef void (GLAPIENTRY * PFNGLUNIFORM1IVARBPROC) (GLint location, GLsizei count, const GLint* value);
-typedef void (GLAPIENTRY * PFNGLUNIFORM2FARBPROC) (GLint location, GLfloat v0, GLfloat v1);
-typedef void (GLAPIENTRY * PFNGLUNIFORM2FVARBPROC) (GLint location, GLsizei count, const GLfloat* value);
-typedef void (GLAPIENTRY * PFNGLUNIFORM2IARBPROC) (GLint location, GLint v0, GLint v1);
-typedef void (GLAPIENTRY * PFNGLUNIFORM2IVARBPROC) (GLint location, GLsizei count, const GLint* value);
-typedef void (GLAPIENTRY * PFNGLUNIFORM3FARBPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
-typedef void (GLAPIENTRY * PFNGLUNIFORM3FVARBPROC) (GLint location, GLsizei count, const GLfloat* value);
-typedef void (GLAPIENTRY * PFNGLUNIFORM3IARBPROC) (GLint location, GLint v0, GLint v1, GLint v2);
-typedef void (GLAPIENTRY * PFNGLUNIFORM3IVARBPROC) (GLint location, GLsizei count, const GLint* value);
-typedef void (GLAPIENTRY * PFNGLUNIFORM4FARBPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
-typedef void (GLAPIENTRY * PFNGLUNIFORM4FVARBPROC) (GLint location, GLsizei count, const GLfloat* value);
-typedef void (GLAPIENTRY * PFNGLUNIFORM4IARBPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
-typedef void (GLAPIENTRY * PFNGLUNIFORM4IVARBPROC) (GLint location, GLsizei count, const GLint* value);
-typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX2FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
-typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX3FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
-typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX4FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
-typedef void (GLAPIENTRY * PFNGLUSEPROGRAMOBJECTARBPROC) (GLhandleARB programObj);
-typedef void (GLAPIENTRY * PFNGLVALIDATEPROGRAMARBPROC) (GLhandleARB programObj);
-
-#define glAttachObjectARB GLEW_GET_FUN(__glewAttachObjectARB)
-#define glCompileShaderARB GLEW_GET_FUN(__glewCompileShaderARB)
-#define glCreateProgramObjectARB GLEW_GET_FUN(__glewCreateProgramObjectARB)
-#define glCreateShaderObjectARB GLEW_GET_FUN(__glewCreateShaderObjectARB)
-#define glDeleteObjectARB GLEW_GET_FUN(__glewDeleteObjectARB)
-#define glDetachObjectARB GLEW_GET_FUN(__glewDetachObjectARB)
-#define glGetActiveUniformARB GLEW_GET_FUN(__glewGetActiveUniformARB)
-#define glGetAttachedObjectsARB GLEW_GET_FUN(__glewGetAttachedObjectsARB)
-#define glGetHandleARB GLEW_GET_FUN(__glewGetHandleARB)
-#define glGetInfoLogARB GLEW_GET_FUN(__glewGetInfoLogARB)
-#define glGetObjectParameterfvARB GLEW_GET_FUN(__glewGetObjectParameterfvARB)
-#define glGetObjectParameterivARB GLEW_GET_FUN(__glewGetObjectParameterivARB)
-#define glGetShaderSourceARB GLEW_GET_FUN(__glewGetShaderSourceARB)
-#define glGetUniformLocationARB GLEW_GET_FUN(__glewGetUniformLocationARB)
-#define glGetUniformfvARB GLEW_GET_FUN(__glewGetUniformfvARB)
-#define glGetUniformivARB GLEW_GET_FUN(__glewGetUniformivARB)
-#define glLinkProgramARB GLEW_GET_FUN(__glewLinkProgramARB)
-#define glShaderSourceARB GLEW_GET_FUN(__glewShaderSourceARB)
-#define glUniform1fARB GLEW_GET_FUN(__glewUniform1fARB)
-#define glUniform1fvARB GLEW_GET_FUN(__glewUniform1fvARB)
-#define glUniform1iARB GLEW_GET_FUN(__glewUniform1iARB)
-#define glUniform1ivARB GLEW_GET_FUN(__glewUniform1ivARB)
-#define glUniform2fARB GLEW_GET_FUN(__glewUniform2fARB)
-#define glUniform2fvARB GLEW_GET_FUN(__glewUniform2fvARB)
-#define glUniform2iARB GLEW_GET_FUN(__glewUniform2iARB)
-#define glUniform2ivARB GLEW_GET_FUN(__glewUniform2ivARB)
-#define glUniform3fARB GLEW_GET_FUN(__glewUniform3fARB)
-#define glUniform3fvARB GLEW_GET_FUN(__glewUniform3fvARB)
-#define glUniform3iARB GLEW_GET_FUN(__glewUniform3iARB)
-#define glUniform3ivARB GLEW_GET_FUN(__glewUniform3ivARB)
-#define glUniform4fARB GLEW_GET_FUN(__glewUniform4fARB)
-#define glUniform4fvARB GLEW_GET_FUN(__glewUniform4fvARB)
-#define glUniform4iARB GLEW_GET_FUN(__glewUniform4iARB)
-#define glUniform4ivARB GLEW_GET_FUN(__glewUniform4ivARB)
-#define glUniformMatrix2fvARB GLEW_GET_FUN(__glewUniformMatrix2fvARB)
-#define glUniformMatrix3fvARB GLEW_GET_FUN(__glewUniformMatrix3fvARB)
-#define glUniformMatrix4fvARB GLEW_GET_FUN(__glewUniformMatrix4fvARB)
-#define glUseProgramObjectARB GLEW_GET_FUN(__glewUseProgramObjectARB)
-#define glValidateProgramARB GLEW_GET_FUN(__glewValidateProgramARB)
-
-#define GLEW_ARB_shader_objects GLEW_GET_VAR(__GLEW_ARB_shader_objects)
-
-#endif /* GL_ARB_shader_objects */
-
-/* ------------------------ GL_ARB_shader_subroutine ----------------------- */
-
-#ifndef GL_ARB_shader_subroutine
-#define GL_ARB_shader_subroutine 1
-
-#define GL_ACTIVE_SUBROUTINES 0x8DE5
-#define GL_ACTIVE_SUBROUTINE_UNIFORMS 0x8DE6
-#define GL_MAX_SUBROUTINES 0x8DE7
-#define GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS 0x8DE8
-#define GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS 0x8E47
-#define GL_ACTIVE_SUBROUTINE_MAX_LENGTH 0x8E48
-#define GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH 0x8E49
-#define GL_NUM_COMPATIBLE_SUBROUTINES 0x8E4A
-#define GL_COMPATIBLE_SUBROUTINES 0x8E4B
-
-typedef void (GLAPIENTRY * PFNGLGETACTIVESUBROUTINENAMEPROC) (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei* length, char *name);
-typedef void (GLAPIENTRY * PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC) (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei* length, char *name);
-typedef void (GLAPIENTRY * PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC) (GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint* values);
-typedef void (GLAPIENTRY * PFNGLGETPROGRAMSTAGEIVPROC) (GLuint program, GLenum shadertype, GLenum pname, GLint* values);
-typedef GLuint (GLAPIENTRY * PFNGLGETSUBROUTINEINDEXPROC) (GLuint program, GLenum shadertype, const char* name);
-typedef GLint (GLAPIENTRY * PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC) (GLuint program, GLenum shadertype, const char* name);
-typedef void (GLAPIENTRY * PFNGLGETUNIFORMSUBROUTINEUIVPROC) (GLenum shadertype, GLint location, GLuint* params);
-typedef void (GLAPIENTRY * PFNGLUNIFORMSUBROUTINESUIVPROC) (GLenum shadertype, GLsizei count, const GLuint* indices);
-
-#define glGetActiveSubroutineName GLEW_GET_FUN(__glewGetActiveSubroutineName)
-#define glGetActiveSubroutineUniformName GLEW_GET_FUN(__glewGetActiveSubroutineUniformName)
-#define glGetActiveSubroutineUniformiv GLEW_GET_FUN(__glewGetActiveSubroutineUniformiv)
-#define glGetProgramStageiv GLEW_GET_FUN(__glewGetProgramStageiv)
-#define glGetSubroutineIndex GLEW_GET_FUN(__glewGetSubroutineIndex)
-#define glGetSubroutineUniformLocation GLEW_GET_FUN(__glewGetSubroutineUniformLocation)
-#define glGetUniformSubroutineuiv GLEW_GET_FUN(__glewGetUniformSubroutineuiv)
-#define glUniformSubroutinesuiv GLEW_GET_FUN(__glewUniformSubroutinesuiv)
-
-#define GLEW_ARB_shader_subroutine GLEW_GET_VAR(__GLEW_ARB_shader_subroutine)
-
-#endif /* GL_ARB_shader_subroutine */
-
-/* ----------------------- GL_ARB_shader_texture_lod ----------------------- */
-
-#ifndef GL_ARB_shader_texture_lod
-#define GL_ARB_shader_texture_lod 1
-
-#define GLEW_ARB_shader_texture_lod GLEW_GET_VAR(__GLEW_ARB_shader_texture_lod)
-
-#endif /* GL_ARB_shader_texture_lod */
-
-/* ---------------------- GL_ARB_shading_language_100 ---------------------- */
-
-#ifndef GL_ARB_shading_language_100
-#define GL_ARB_shading_language_100 1
-
-#define GL_SHADING_LANGUAGE_VERSION_ARB 0x8B8C
-
-#define GLEW_ARB_shading_language_100 GLEW_GET_VAR(__GLEW_ARB_shading_language_100)
-
-#endif /* GL_ARB_shading_language_100 */
-
-/* -------------------- GL_ARB_shading_language_include -------------------- */
-
-#ifndef GL_ARB_shading_language_include
-#define GL_ARB_shading_language_include 1
-
-#define GL_SHADER_INCLUDE_ARB 0x8DAE
-#define GL_NAMED_STRING_LENGTH_ARB 0x8DE9
-#define GL_NAMED_STRING_TYPE_ARB 0x8DEA
-
-typedef void (GLAPIENTRY * PFNGLCOMPILESHADERINCLUDEARBPROC) (GLuint shader, GLsizei count, const char ** path, const GLint *length);
-typedef void (GLAPIENTRY * PFNGLDELETENAMEDSTRINGARBPROC) (GLint namelen, const char* name);
-typedef void (GLAPIENTRY * PFNGLGETNAMEDSTRINGARBPROC) (GLint namelen, const char* name, GLsizei bufSize, GLint *stringlen, char *string);
-typedef void (GLAPIENTRY * PFNGLGETNAMEDSTRINGIVARBPROC) (GLint namelen, const char* name, GLenum pname, GLint *params);
-typedef GLboolean (GLAPIENTRY * PFNGLISNAMEDSTRINGARBPROC) (GLint namelen, const char* name);
-typedef void (GLAPIENTRY * PFNGLNAMEDSTRINGARBPROC) (GLenum type, GLint namelen, const char* name, GLint stringlen, const char *string);
-
-#define glCompileShaderIncludeARB GLEW_GET_FUN(__glewCompileShaderIncludeARB)
-#define glDeleteNamedStringARB GLEW_GET_FUN(__glewDeleteNamedStringARB)
-#define glGetNamedStringARB GLEW_GET_FUN(__glewGetNamedStringARB)
-#define glGetNamedStringivARB GLEW_GET_FUN(__glewGetNamedStringivARB)
-#define glIsNamedStringARB GLEW_GET_FUN(__glewIsNamedStringARB)
-#define glNamedStringARB GLEW_GET_FUN(__glewNamedStringARB)
-
-#define GLEW_ARB_shading_language_include GLEW_GET_VAR(__GLEW_ARB_shading_language_include)
-
-#endif /* GL_ARB_shading_language_include */
-
-/* ----------------------------- GL_ARB_shadow ----------------------------- */
-
-#ifndef GL_ARB_shadow
-#define GL_ARB_shadow 1
-
-#define GL_TEXTURE_COMPARE_MODE_ARB 0x884C
-#define GL_TEXTURE_COMPARE_FUNC_ARB 0x884D
-#define GL_COMPARE_R_TO_TEXTURE_ARB 0x884E
-
-#define GLEW_ARB_shadow GLEW_GET_VAR(__GLEW_ARB_shadow)
-
-#endif /* GL_ARB_shadow */
-
-/* ------------------------- GL_ARB_shadow_ambient ------------------------- */
-
-#ifndef GL_ARB_shadow_ambient
-#define GL_ARB_shadow_ambient 1
-
-#define GL_TEXTURE_COMPARE_FAIL_VALUE_ARB 0x80BF
-
-#define GLEW_ARB_shadow_ambient GLEW_GET_VAR(__GLEW_ARB_shadow_ambient)
-
-#endif /* GL_ARB_shadow_ambient */
-
-/* ------------------------------ GL_ARB_sync ------------------------------ */
-
-#ifndef GL_ARB_sync
-#define GL_ARB_sync 1
-
-#define GL_SYNC_FLUSH_COMMANDS_BIT 0x00000001
-#define GL_MAX_SERVER_WAIT_TIMEOUT 0x9111
-#define GL_OBJECT_TYPE 0x9112
-#define GL_SYNC_CONDITION 0x9113
-#define GL_SYNC_STATUS 0x9114
-#define GL_SYNC_FLAGS 0x9115
-#define GL_SYNC_FENCE 0x9116
-#define GL_SYNC_GPU_COMMANDS_COMPLETE 0x9117
-#define GL_UNSIGNALED 0x9118
-#define GL_SIGNALED 0x9119
-#define GL_ALREADY_SIGNALED 0x911A
-#define GL_TIMEOUT_EXPIRED 0x911B
-#define GL_CONDITION_SATISFIED 0x911C
-#define GL_WAIT_FAILED 0x911D
-#define GL_TIMEOUT_IGNORED 0xFFFFFFFFFFFFFFFF
-
-typedef GLenum (GLAPIENTRY * PFNGLCLIENTWAITSYNCPROC) (GLsync GLsync,GLbitfield flags,GLuint64 timeout);
-typedef void (GLAPIENTRY * PFNGLDELETESYNCPROC) (GLsync GLsync);
-typedef GLsync (GLAPIENTRY * PFNGLFENCESYNCPROC) (GLenum condition,GLbitfield flags);
-typedef void (GLAPIENTRY * PFNGLGETINTEGER64VPROC) (GLenum pname, GLint64* params);
-typedef void (GLAPIENTRY * PFNGLGETSYNCIVPROC) (GLsync GLsync,GLenum pname,GLsizei bufSize,GLsizei* length, GLint *values);
-typedef GLboolean (GLAPIENTRY * PFNGLISSYNCPROC) (GLsync GLsync);
-typedef void (GLAPIENTRY * PFNGLWAITSYNCPROC) (GLsync GLsync,GLbitfield flags,GLuint64 timeout);
-
-#define glClientWaitSync GLEW_GET_FUN(__glewClientWaitSync)
-#define glDeleteSync GLEW_GET_FUN(__glewDeleteSync)
-#define glFenceSync GLEW_GET_FUN(__glewFenceSync)
-#define glGetInteger64v GLEW_GET_FUN(__glewGetInteger64v)
-#define glGetSynciv GLEW_GET_FUN(__glewGetSynciv)
-#define glIsSync GLEW_GET_FUN(__glewIsSync)
-#define glWaitSync GLEW_GET_FUN(__glewWaitSync)
-
-#define GLEW_ARB_sync GLEW_GET_VAR(__GLEW_ARB_sync)
-
-#endif /* GL_ARB_sync */
-
-/* ----------------------- GL_ARB_tessellation_shader ---------------------- */
-
-#ifndef GL_ARB_tessellation_shader
-#define GL_ARB_tessellation_shader 1
-
-#define GL_PATCHES 0xE
-#define GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER 0x84F0
-#define GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER 0x84F1
-#define GL_MAX_TESS_CONTROL_INPUT_COMPONENTS 0x886C
-#define GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS 0x886D
-#define GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS 0x8E1E
-#define GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS 0x8E1F
-#define GL_PATCH_VERTICES 0x8E72
-#define GL_PATCH_DEFAULT_INNER_LEVEL 0x8E73
-#define GL_PATCH_DEFAULT_OUTER_LEVEL 0x8E74
-#define GL_TESS_CONTROL_OUTPUT_VERTICES 0x8E75
-#define GL_TESS_GEN_MODE 0x8E76
-#define GL_TESS_GEN_SPACING 0x8E77
-#define GL_TESS_GEN_VERTEX_ORDER 0x8E78
-#define GL_TESS_GEN_POINT_MODE 0x8E79
-#define GL_ISOLINES 0x8E7A
-#define GL_FRACTIONAL_ODD 0x8E7B
-#define GL_FRACTIONAL_EVEN 0x8E7C
-#define GL_MAX_PATCH_VERTICES 0x8E7D
-#define GL_MAX_TESS_GEN_LEVEL 0x8E7E
-#define GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS 0x8E7F
-#define GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS 0x8E80
-#define GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS 0x8E81
-#define GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS 0x8E82
-#define GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS 0x8E83
-#define GL_MAX_TESS_PATCH_COMPONENTS 0x8E84
-#define GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS 0x8E85
-#define GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS 0x8E86
-#define GL_TESS_EVALUATION_SHADER 0x8E87
-#define GL_TESS_CONTROL_SHADER 0x8E88
-#define GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS 0x8E89
-#define GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS 0x8E8A
-
-typedef void (GLAPIENTRY * PFNGLPATCHPARAMETERFVPROC) (GLenum pname, const GLfloat* values);
-typedef void (GLAPIENTRY * PFNGLPATCHPARAMETERIPROC) (GLenum pname, GLint value);
-
-#define glPatchParameterfv GLEW_GET_FUN(__glewPatchParameterfv)
-#define glPatchParameteri GLEW_GET_FUN(__glewPatchParameteri)
-
-#define GLEW_ARB_tessellation_shader GLEW_GET_VAR(__GLEW_ARB_tessellation_shader)
-
-#endif /* GL_ARB_tessellation_shader */
-
-/* ---------------------- GL_ARB_texture_border_clamp ---------------------- */
-
-#ifndef GL_ARB_texture_border_clamp
-#define GL_ARB_texture_border_clamp 1
-
-#define GL_CLAMP_TO_BORDER_ARB 0x812D
-
-#define GLEW_ARB_texture_border_clamp GLEW_GET_VAR(__GLEW_ARB_texture_border_clamp)
-
-#endif /* GL_ARB_texture_border_clamp */
-
-/* ---------------------- GL_ARB_texture_buffer_object --------------------- */
-
-#ifndef GL_ARB_texture_buffer_object
-#define GL_ARB_texture_buffer_object 1
-
-#define GL_TEXTURE_BUFFER_ARB 0x8C2A
-#define GL_MAX_TEXTURE_BUFFER_SIZE_ARB 0x8C2B
-#define GL_TEXTURE_BINDING_BUFFER_ARB 0x8C2C
-#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB 0x8C2D
-#define GL_TEXTURE_BUFFER_FORMAT_ARB 0x8C2E
-
-typedef void (GLAPIENTRY * PFNGLTEXBUFFERARBPROC) (GLenum target, GLenum internalformat, GLuint buffer);
-
-#define glTexBufferARB GLEW_GET_FUN(__glewTexBufferARB)
-
-#define GLEW_ARB_texture_buffer_object GLEW_GET_VAR(__GLEW_ARB_texture_buffer_object)
-
-#endif /* GL_ARB_texture_buffer_object */
-
-/* ------------------- GL_ARB_texture_buffer_object_rgb32 ------------------ */
-
-#ifndef GL_ARB_texture_buffer_object_rgb32
-#define GL_ARB_texture_buffer_object_rgb32 1
-
-#define GLEW_ARB_texture_buffer_object_rgb32 GLEW_GET_VAR(__GLEW_ARB_texture_buffer_object_rgb32)
-
-#endif /* GL_ARB_texture_buffer_object_rgb32 */
-
-/* ----------------------- GL_ARB_texture_compression ---------------------- */
-
-#ifndef GL_ARB_texture_compression
-#define GL_ARB_texture_compression 1
-
-#define GL_COMPRESSED_ALPHA_ARB 0x84E9
-#define GL_COMPRESSED_LUMINANCE_ARB 0x84EA
-#define GL_COMPRESSED_LUMINANCE_ALPHA_ARB 0x84EB
-#define GL_COMPRESSED_INTENSITY_ARB 0x84EC
-#define GL_COMPRESSED_RGB_ARB 0x84ED
-#define GL_COMPRESSED_RGBA_ARB 0x84EE
-#define GL_TEXTURE_COMPRESSION_HINT_ARB 0x84EF
-#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB 0x86A0
-#define GL_TEXTURE_COMPRESSED_ARB 0x86A1
-#define GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A2
-#define GL_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A3
-
-typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXIMAGE1DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void* data);
-typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXIMAGE2DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void* data);
-typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXIMAGE3DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void* data);
-typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void* data);
-typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void* data);
-typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void* data);
-typedef void (GLAPIENTRY * PFNGLGETCOMPRESSEDTEXIMAGEARBPROC) (GLenum target, GLint lod, void* img);
-
-#define glCompressedTexImage1DARB GLEW_GET_FUN(__glewCompressedTexImage1DARB)
-#define glCompressedTexImage2DARB GLEW_GET_FUN(__glewCompressedTexImage2DARB)
-#define glCompressedTexImage3DARB GLEW_GET_FUN(__glewCompressedTexImage3DARB)
-#define glCompressedTexSubImage1DARB GLEW_GET_FUN(__glewCompressedTexSubImage1DARB)
-#define glCompressedTexSubImage2DARB GLEW_GET_FUN(__glewCompressedTexSubImage2DARB)
-#define glCompressedTexSubImage3DARB GLEW_GET_FUN(__glewCompressedTexSubImage3DARB)
-#define glGetCompressedTexImageARB GLEW_GET_FUN(__glewGetCompressedTexImageARB)
-
-#define GLEW_ARB_texture_compression GLEW_GET_VAR(__GLEW_ARB_texture_compression)
-
-#endif /* GL_ARB_texture_compression */
-
-/* -------------------- GL_ARB_texture_compression_bptc -------------------- */
-
-#ifndef GL_ARB_texture_compression_bptc
-#define GL_ARB_texture_compression_bptc 1
-
-#define GL_COMPRESSED_RGBA_BPTC_UNORM_ARB 0x8E8C
-#define GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB 0x8E8D
-#define GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB 0x8E8E
-#define GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB 0x8E8F
-
-#define GLEW_ARB_texture_compression_bptc GLEW_GET_VAR(__GLEW_ARB_texture_compression_bptc)
-
-#endif /* GL_ARB_texture_compression_bptc */
-
-/* -------------------- GL_ARB_texture_compression_rgtc -------------------- */
-
-#ifndef GL_ARB_texture_compression_rgtc
-#define GL_ARB_texture_compression_rgtc 1
-
-#define GL_COMPRESSED_RED_RGTC1 0x8DBB
-#define GL_COMPRESSED_SIGNED_RED_RGTC1 0x8DBC
-#define GL_COMPRESSED_RG_RGTC2 0x8DBD
-#define GL_COMPRESSED_SIGNED_RG_RGTC2 0x8DBE
-
-#define GLEW_ARB_texture_compression_rgtc GLEW_GET_VAR(__GLEW_ARB_texture_compression_rgtc)
-
-#endif /* GL_ARB_texture_compression_rgtc */
-
-/* ------------------------ GL_ARB_texture_cube_map ------------------------ */
-
-#ifndef GL_ARB_texture_cube_map
-#define GL_ARB_texture_cube_map 1
-
-#define GL_NORMAL_MAP_ARB 0x8511
-#define GL_REFLECTION_MAP_ARB 0x8512
-#define GL_TEXTURE_CUBE_MAP_ARB 0x8513
-#define GL_TEXTURE_BINDING_CUBE_MAP_ARB 0x8514
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x8515
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x8516
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x8517
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x8518
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x8519
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x851A
-#define GL_PROXY_TEXTURE_CUBE_MAP_ARB 0x851B
-#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB 0x851C
-
-#define GLEW_ARB_texture_cube_map GLEW_GET_VAR(__GLEW_ARB_texture_cube_map)
-
-#endif /* GL_ARB_texture_cube_map */
-
-/* --------------------- GL_ARB_texture_cube_map_array --------------------- */
-
-#ifndef GL_ARB_texture_cube_map_array
-#define GL_ARB_texture_cube_map_array 1
-
-#define GL_TEXTURE_CUBE_MAP_ARRAY_ARB 0x9009
-#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB 0x900A
-#define GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB 0x900B
-#define GL_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900C
-#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB 0x900D
-#define GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900E
-#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900F
-
-#define GLEW_ARB_texture_cube_map_array GLEW_GET_VAR(__GLEW_ARB_texture_cube_map_array)
-
-#endif /* GL_ARB_texture_cube_map_array */
-
-/* ------------------------- GL_ARB_texture_env_add ------------------------ */
-
-#ifndef GL_ARB_texture_env_add
-#define GL_ARB_texture_env_add 1
-
-#define GLEW_ARB_texture_env_add GLEW_GET_VAR(__GLEW_ARB_texture_env_add)
-
-#endif /* GL_ARB_texture_env_add */
-
-/* ----------------------- GL_ARB_texture_env_combine ---------------------- */
-
-#ifndef GL_ARB_texture_env_combine
-#define GL_ARB_texture_env_combine 1
-
-#define GL_SUBTRACT_ARB 0x84E7
-#define GL_COMBINE_ARB 0x8570
-#define GL_COMBINE_RGB_ARB 0x8571
-#define GL_COMBINE_ALPHA_ARB 0x8572
-#define GL_RGB_SCALE_ARB 0x8573
-#define GL_ADD_SIGNED_ARB 0x8574
-#define GL_INTERPOLATE_ARB 0x8575
-#define GL_CONSTANT_ARB 0x8576
-#define GL_PRIMARY_COLOR_ARB 0x8577
-#define GL_PREVIOUS_ARB 0x8578
-#define GL_SOURCE0_RGB_ARB 0x8580
-#define GL_SOURCE1_RGB_ARB 0x8581
-#define GL_SOURCE2_RGB_ARB 0x8582
-#define GL_SOURCE0_ALPHA_ARB 0x8588
-#define GL_SOURCE1_ALPHA_ARB 0x8589
-#define GL_SOURCE2_ALPHA_ARB 0x858A
-#define GL_OPERAND0_RGB_ARB 0x8590
-#define GL_OPERAND1_RGB_ARB 0x8591
-#define GL_OPERAND2_RGB_ARB 0x8592
-#define GL_OPERAND0_ALPHA_ARB 0x8598
-#define GL_OPERAND1_ALPHA_ARB 0x8599
-#define GL_OPERAND2_ALPHA_ARB 0x859A
-
-#define GLEW_ARB_texture_env_combine GLEW_GET_VAR(__GLEW_ARB_texture_env_combine)
-
-#endif /* GL_ARB_texture_env_combine */
-
-/* ---------------------- GL_ARB_texture_env_crossbar ---------------------- */
-
-#ifndef GL_ARB_texture_env_crossbar
-#define GL_ARB_texture_env_crossbar 1
-
-#define GLEW_ARB_texture_env_crossbar GLEW_GET_VAR(__GLEW_ARB_texture_env_crossbar)
-
-#endif /* GL_ARB_texture_env_crossbar */
-
-/* ------------------------ GL_ARB_texture_env_dot3 ------------------------ */
-
-#ifndef GL_ARB_texture_env_dot3
-#define GL_ARB_texture_env_dot3 1
-
-#define GL_DOT3_RGB_ARB 0x86AE
-#define GL_DOT3_RGBA_ARB 0x86AF
-
-#define GLEW_ARB_texture_env_dot3 GLEW_GET_VAR(__GLEW_ARB_texture_env_dot3)
-
-#endif /* GL_ARB_texture_env_dot3 */
-
-/* -------------------------- GL_ARB_texture_float ------------------------- */
-
-#ifndef GL_ARB_texture_float
-#define GL_ARB_texture_float 1
-
-#define GL_RGBA32F_ARB 0x8814
-#define GL_RGB32F_ARB 0x8815
-#define GL_ALPHA32F_ARB 0x8816
-#define GL_INTENSITY32F_ARB 0x8817
-#define GL_LUMINANCE32F_ARB 0x8818
-#define GL_LUMINANCE_ALPHA32F_ARB 0x8819
-#define GL_RGBA16F_ARB 0x881A
-#define GL_RGB16F_ARB 0x881B
-#define GL_ALPHA16F_ARB 0x881C
-#define GL_INTENSITY16F_ARB 0x881D
-#define GL_LUMINANCE16F_ARB 0x881E
-#define GL_LUMINANCE_ALPHA16F_ARB 0x881F
-#define GL_TEXTURE_RED_TYPE_ARB 0x8C10
-#define GL_TEXTURE_GREEN_TYPE_ARB 0x8C11
-#define GL_TEXTURE_BLUE_TYPE_ARB 0x8C12
-#define GL_TEXTURE_ALPHA_TYPE_ARB 0x8C13
-#define GL_TEXTURE_LUMINANCE_TYPE_ARB 0x8C14
-#define GL_TEXTURE_INTENSITY_TYPE_ARB 0x8C15
-#define GL_TEXTURE_DEPTH_TYPE_ARB 0x8C16
-#define GL_UNSIGNED_NORMALIZED_ARB 0x8C17
-
-#define GLEW_ARB_texture_float GLEW_GET_VAR(__GLEW_ARB_texture_float)
-
-#endif /* GL_ARB_texture_float */
-
-/* ------------------------- GL_ARB_texture_gather ------------------------- */
-
-#ifndef GL_ARB_texture_gather
-#define GL_ARB_texture_gather 1
-
-#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB 0x8E5E
-#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB 0x8E5F
-#define GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB 0x8F9F
-
-#define GLEW_ARB_texture_gather GLEW_GET_VAR(__GLEW_ARB_texture_gather)
-
-#endif /* GL_ARB_texture_gather */
-
-/* --------------------- GL_ARB_texture_mirrored_repeat -------------------- */
-
-#ifndef GL_ARB_texture_mirrored_repeat
-#define GL_ARB_texture_mirrored_repeat 1
-
-#define GL_MIRRORED_REPEAT_ARB 0x8370
-
-#define GLEW_ARB_texture_mirrored_repeat GLEW_GET_VAR(__GLEW_ARB_texture_mirrored_repeat)
-
-#endif /* GL_ARB_texture_mirrored_repeat */
-
-/* ----------------------- GL_ARB_texture_multisample ---------------------- */
-
-#ifndef GL_ARB_texture_multisample
-#define GL_ARB_texture_multisample 1
-
-#define GL_SAMPLE_POSITION 0x8E50
-#define GL_SAMPLE_MASK 0x8E51
-#define GL_SAMPLE_MASK_VALUE 0x8E52
-#define GL_MAX_SAMPLE_MASK_WORDS 0x8E59
-#define GL_TEXTURE_2D_MULTISAMPLE 0x9100
-#define GL_PROXY_TEXTURE_2D_MULTISAMPLE 0x9101
-#define GL_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9102
-#define GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9103
-#define GL_TEXTURE_BINDING_2D_MULTISAMPLE 0x9104
-#define GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY 0x9105
-#define GL_TEXTURE_SAMPLES 0x9106
-#define GL_TEXTURE_FIXED_SAMPLE_LOCATIONS 0x9107
-#define GL_SAMPLER_2D_MULTISAMPLE 0x9108
-#define GL_INT_SAMPLER_2D_MULTISAMPLE 0x9109
-#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE 0x910A
-#define GL_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910B
-#define GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910C
-#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910D
-#define GL_MAX_COLOR_TEXTURE_SAMPLES 0x910E
-#define GL_MAX_DEPTH_TEXTURE_SAMPLES 0x910F
-#define GL_MAX_INTEGER_SAMPLES 0x9110
-
-typedef void (GLAPIENTRY * PFNGLGETMULTISAMPLEFVPROC) (GLenum pname, GLuint index, GLfloat* val);
-typedef void (GLAPIENTRY * PFNGLSAMPLEMASKIPROC) (GLuint index, GLbitfield mask);
-typedef void (GLAPIENTRY * PFNGLTEXIMAGE2DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
-typedef void (GLAPIENTRY * PFNGLTEXIMAGE3DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
-
-#define glGetMultisamplefv GLEW_GET_FUN(__glewGetMultisamplefv)
-#define glSampleMaski GLEW_GET_FUN(__glewSampleMaski)
-#define glTexImage2DMultisample GLEW_GET_FUN(__glewTexImage2DMultisample)
-#define glTexImage3DMultisample GLEW_GET_FUN(__glewTexImage3DMultisample)
-
-#define GLEW_ARB_texture_multisample GLEW_GET_VAR(__GLEW_ARB_texture_multisample)
-
-#endif /* GL_ARB_texture_multisample */
-
-/* -------------------- GL_ARB_texture_non_power_of_two -------------------- */
-
-#ifndef GL_ARB_texture_non_power_of_two
-#define GL_ARB_texture_non_power_of_two 1
-
-#define GLEW_ARB_texture_non_power_of_two GLEW_GET_VAR(__GLEW_ARB_texture_non_power_of_two)
-
-#endif /* GL_ARB_texture_non_power_of_two */
-
-/* ------------------------ GL_ARB_texture_query_lod ----------------------- */
-
-#ifndef GL_ARB_texture_query_lod
-#define GL_ARB_texture_query_lod 1
-
-#define GLEW_ARB_texture_query_lod GLEW_GET_VAR(__GLEW_ARB_texture_query_lod)
-
-#endif /* GL_ARB_texture_query_lod */
-
-/* ------------------------ GL_ARB_texture_rectangle ----------------------- */
-
-#ifndef GL_ARB_texture_rectangle
-#define GL_ARB_texture_rectangle 1
-
-#define GL_TEXTURE_RECTANGLE_ARB 0x84F5
-#define GL_TEXTURE_BINDING_RECTANGLE_ARB 0x84F6
-#define GL_PROXY_TEXTURE_RECTANGLE_ARB 0x84F7
-#define GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB 0x84F8
-#define GL_SAMPLER_2D_RECT_ARB 0x8B63
-#define GL_SAMPLER_2D_RECT_SHADOW_ARB 0x8B64
-
-#define GLEW_ARB_texture_rectangle GLEW_GET_VAR(__GLEW_ARB_texture_rectangle)
-
-#endif /* GL_ARB_texture_rectangle */
-
-/* --------------------------- GL_ARB_texture_rg --------------------------- */
-
-#ifndef GL_ARB_texture_rg
-#define GL_ARB_texture_rg 1
-
-#define GL_RED 0x1903
-#define GL_COMPRESSED_RED 0x8225
-#define GL_COMPRESSED_RG 0x8226
-#define GL_RG 0x8227
-#define GL_RG_INTEGER 0x8228
-#define GL_R8 0x8229
-#define GL_R16 0x822A
-#define GL_RG8 0x822B
-#define GL_RG16 0x822C
-#define GL_R16F 0x822D
-#define GL_R32F 0x822E
-#define GL_RG16F 0x822F
-#define GL_RG32F 0x8230
-#define GL_R8I 0x8231
-#define GL_R8UI 0x8232
-#define GL_R16I 0x8233
-#define GL_R16UI 0x8234
-#define GL_R32I 0x8235
-#define GL_R32UI 0x8236
-#define GL_RG8I 0x8237
-#define GL_RG8UI 0x8238
-#define GL_RG16I 0x8239
-#define GL_RG16UI 0x823A
-#define GL_RG32I 0x823B
-#define GL_RG32UI 0x823C
-
-#define GLEW_ARB_texture_rg GLEW_GET_VAR(__GLEW_ARB_texture_rg)
-
-#endif /* GL_ARB_texture_rg */
-
-/* ----------------------- GL_ARB_texture_rgb10_a2ui ----------------------- */
-
-#ifndef GL_ARB_texture_rgb10_a2ui
-#define GL_ARB_texture_rgb10_a2ui 1
-
-#define GL_RGB10_A2UI 0x906F
-
-#define GLEW_ARB_texture_rgb10_a2ui GLEW_GET_VAR(__GLEW_ARB_texture_rgb10_a2ui)
-
-#endif /* GL_ARB_texture_rgb10_a2ui */
-
-/* ------------------------- GL_ARB_texture_swizzle ------------------------ */
-
-#ifndef GL_ARB_texture_swizzle
-#define GL_ARB_texture_swizzle 1
-
-#define GL_TEXTURE_SWIZZLE_R 0x8E42
-#define GL_TEXTURE_SWIZZLE_G 0x8E43
-#define GL_TEXTURE_SWIZZLE_B 0x8E44
-#define GL_TEXTURE_SWIZZLE_A 0x8E45
-#define GL_TEXTURE_SWIZZLE_RGBA 0x8E46
-
-#define GLEW_ARB_texture_swizzle GLEW_GET_VAR(__GLEW_ARB_texture_swizzle)
-
-#endif /* GL_ARB_texture_swizzle */
-
-/* --------------------------- GL_ARB_timer_query -------------------------- */
-
-#ifndef GL_ARB_timer_query
-#define GL_ARB_timer_query 1
-
-#define GL_TIME_ELAPSED 0x88BF
-#define GL_TIMESTAMP 0x8E28
-
-typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTI64VPROC) (GLuint id, GLenum pname, GLint64* params);
-typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTUI64VPROC) (GLuint id, GLenum pname, GLuint64* params);
-typedef void (GLAPIENTRY * PFNGLQUERYCOUNTERPROC) (GLuint id, GLenum target);
-
-#define glGetQueryObjecti64v GLEW_GET_FUN(__glewGetQueryObjecti64v)
-#define glGetQueryObjectui64v GLEW_GET_FUN(__glewGetQueryObjectui64v)
-#define glQueryCounter GLEW_GET_FUN(__glewQueryCounter)
-
-#define GLEW_ARB_timer_query GLEW_GET_VAR(__GLEW_ARB_timer_query)
-
-#endif /* GL_ARB_timer_query */
-
-/* ----------------------- GL_ARB_transform_feedback2 ---------------------- */
-
-#ifndef GL_ARB_transform_feedback2
-#define GL_ARB_transform_feedback2 1
-
-#define GL_TRANSFORM_FEEDBACK 0x8E22
-#define GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED 0x8E23
-#define GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE 0x8E24
-#define GL_TRANSFORM_FEEDBACK_BINDING 0x8E25
-
-typedef void (GLAPIENTRY * PFNGLBINDTRANSFORMFEEDBACKPROC) (GLenum target, GLuint id);
-typedef void (GLAPIENTRY * PFNGLDELETETRANSFORMFEEDBACKSPROC) (GLsizei n, const GLuint* ids);
-typedef void (GLAPIENTRY * PFNGLDRAWTRANSFORMFEEDBACKPROC) (GLenum mode, GLuint id);
-typedef void (GLAPIENTRY * PFNGLGENTRANSFORMFEEDBACKSPROC) (GLsizei n, GLuint* ids);
-typedef GLboolean (GLAPIENTRY * PFNGLISTRANSFORMFEEDBACKPROC) (GLuint id);
-typedef void (GLAPIENTRY * PFNGLPAUSETRANSFORMFEEDBACKPROC) (void);
-typedef void (GLAPIENTRY * PFNGLRESUMETRANSFORMFEEDBACKPROC) (void);
-
-#define glBindTransformFeedback GLEW_GET_FUN(__glewBindTransformFeedback)
-#define glDeleteTransformFeedbacks GLEW_GET_FUN(__glewDeleteTransformFeedbacks)
-#define glDrawTransformFeedback GLEW_GET_FUN(__glewDrawTransformFeedback)
-#define glGenTransformFeedbacks GLEW_GET_FUN(__glewGenTransformFeedbacks)
-#define glIsTransformFeedback GLEW_GET_FUN(__glewIsTransformFeedback)
-#define glPauseTransformFeedback GLEW_GET_FUN(__glewPauseTransformFeedback)
-#define glResumeTransformFeedback GLEW_GET_FUN(__glewResumeTransformFeedback)
-
-#define GLEW_ARB_transform_feedback2 GLEW_GET_VAR(__GLEW_ARB_transform_feedback2)
-
-#endif /* GL_ARB_transform_feedback2 */
-
-/* ----------------------- GL_ARB_transform_feedback3 ---------------------- */
-
-#ifndef GL_ARB_transform_feedback3
-#define GL_ARB_transform_feedback3 1
-
-#define GL_MAX_TRANSFORM_FEEDBACK_BUFFERS 0x8E70
-#define GL_MAX_VERTEX_STREAMS 0x8E71
-
-typedef void (GLAPIENTRY * PFNGLBEGINQUERYINDEXEDPROC) (GLenum target, GLuint index, GLuint id);
-typedef void (GLAPIENTRY * PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC) (GLenum mode, GLuint id, GLuint stream);
-typedef void (GLAPIENTRY * PFNGLENDQUERYINDEXEDPROC) (GLenum target, GLuint index);
-typedef void (GLAPIENTRY * PFNGLGETQUERYINDEXEDIVPROC) (GLenum target, GLuint index, GLenum pname, GLint* params);
-
-#define glBeginQueryIndexed GLEW_GET_FUN(__glewBeginQueryIndexed)
-#define glDrawTransformFeedbackStream GLEW_GET_FUN(__glewDrawTransformFeedbackStream)
-#define glEndQueryIndexed GLEW_GET_FUN(__glewEndQueryIndexed)
-#define glGetQueryIndexediv GLEW_GET_FUN(__glewGetQueryIndexediv)
-
-#define GLEW_ARB_transform_feedback3 GLEW_GET_VAR(__GLEW_ARB_transform_feedback3)
-
-#endif /* GL_ARB_transform_feedback3 */
-
-/* ------------------------ GL_ARB_transpose_matrix ------------------------ */
-
-#ifndef GL_ARB_transpose_matrix
-#define GL_ARB_transpose_matrix 1
-
-#define GL_TRANSPOSE_MODELVIEW_MATRIX_ARB 0x84E3
-#define GL_TRANSPOSE_PROJECTION_MATRIX_ARB 0x84E4
-#define GL_TRANSPOSE_TEXTURE_MATRIX_ARB 0x84E5
-#define GL_TRANSPOSE_COLOR_MATRIX_ARB 0x84E6
-
-typedef void (GLAPIENTRY * PFNGLLOADTRANSPOSEMATRIXDARBPROC) (GLdouble m[16]);
-typedef void (GLAPIENTRY * PFNGLLOADTRANSPOSEMATRIXFARBPROC) (GLfloat m[16]);
-typedef void (GLAPIENTRY * PFNGLMULTTRANSPOSEMATRIXDARBPROC) (GLdouble m[16]);
-typedef void (GLAPIENTRY * PFNGLMULTTRANSPOSEMATRIXFARBPROC) (GLfloat m[16]);
-
-#define glLoadTransposeMatrixdARB GLEW_GET_FUN(__glewLoadTransposeMatrixdARB)
-#define glLoadTransposeMatrixfARB GLEW_GET_FUN(__glewLoadTransposeMatrixfARB)
-#define glMultTransposeMatrixdARB GLEW_GET_FUN(__glewMultTransposeMatrixdARB)
-#define glMultTransposeMatrixfARB GLEW_GET_FUN(__glewMultTransposeMatrixfARB)
-
-#define GLEW_ARB_transpose_matrix GLEW_GET_VAR(__GLEW_ARB_transpose_matrix)
-
-#endif /* GL_ARB_transpose_matrix */
-
-/* ---------------------- GL_ARB_uniform_buffer_object --------------------- */
-
-#ifndef GL_ARB_uniform_buffer_object
-#define GL_ARB_uniform_buffer_object 1
-
-#define GL_UNIFORM_BUFFER 0x8A11
-#define GL_UNIFORM_BUFFER_BINDING 0x8A28
-#define GL_UNIFORM_BUFFER_START 0x8A29
-#define GL_UNIFORM_BUFFER_SIZE 0x8A2A
-#define GL_MAX_VERTEX_UNIFORM_BLOCKS 0x8A2B
-#define GL_MAX_GEOMETRY_UNIFORM_BLOCKS 0x8A2C
-#define GL_MAX_FRAGMENT_UNIFORM_BLOCKS 0x8A2D
-#define GL_MAX_COMBINED_UNIFORM_BLOCKS 0x8A2E
-#define GL_MAX_UNIFORM_BUFFER_BINDINGS 0x8A2F
-#define GL_MAX_UNIFORM_BLOCK_SIZE 0x8A30
-#define GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS 0x8A31
-#define GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS 0x8A32
-#define GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS 0x8A33
-#define GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT 0x8A34
-#define GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH 0x8A35
-#define GL_ACTIVE_UNIFORM_BLOCKS 0x8A36
-#define GL_UNIFORM_TYPE 0x8A37
-#define GL_UNIFORM_SIZE 0x8A38
-#define GL_UNIFORM_NAME_LENGTH 0x8A39
-#define GL_UNIFORM_BLOCK_INDEX 0x8A3A
-#define GL_UNIFORM_OFFSET 0x8A3B
-#define GL_UNIFORM_ARRAY_STRIDE 0x8A3C
-#define GL_UNIFORM_MATRIX_STRIDE 0x8A3D
-#define GL_UNIFORM_IS_ROW_MAJOR 0x8A3E
-#define GL_UNIFORM_BLOCK_BINDING 0x8A3F
-#define GL_UNIFORM_BLOCK_DATA_SIZE 0x8A40
-#define GL_UNIFORM_BLOCK_NAME_LENGTH 0x8A41
-#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS 0x8A42
-#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES 0x8A43
-#define GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER 0x8A44
-#define GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER 0x8A45
-#define GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER 0x8A46
-#define GL_INVALID_INDEX 0xFFFFFFFF
-
-typedef void (GLAPIENTRY * PFNGLBINDBUFFERBASEPROC) (GLenum target, GLuint index, GLuint buffer);
-typedef void (GLAPIENTRY * PFNGLBINDBUFFERRANGEPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
-typedef void (GLAPIENTRY * PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC) (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei* length, char* uniformBlockName);
-typedef void (GLAPIENTRY * PFNGLGETACTIVEUNIFORMBLOCKIVPROC) (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint* params);
-typedef void (GLAPIENTRY * PFNGLGETACTIVEUNIFORMNAMEPROC) (GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei* length, char* uniformName);
-typedef void (GLAPIENTRY * PFNGLGETACTIVEUNIFORMSIVPROC) (GLuint program, GLsizei uniformCount, const GLuint* uniformIndices, GLenum pname, GLint* params);
-typedef void (GLAPIENTRY * PFNGLGETINTEGERI_VPROC) (GLenum target, GLuint index, GLint* data);
-typedef GLuint (GLAPIENTRY * PFNGLGETUNIFORMBLOCKINDEXPROC) (GLuint program, const char* uniformBlockName);
-typedef void (GLAPIENTRY * PFNGLGETUNIFORMINDICESPROC) (GLuint program, GLsizei uniformCount, const char** uniformNames, GLuint* uniformIndices);
-typedef void (GLAPIENTRY * PFNGLUNIFORMBLOCKBINDINGPROC) (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
-
-#define glBindBufferBase GLEW_GET_FUN(__glewBindBufferBase)
-#define glBindBufferRange GLEW_GET_FUN(__glewBindBufferRange)
-#define glGetActiveUniformBlockName GLEW_GET_FUN(__glewGetActiveUniformBlockName)
-#define glGetActiveUniformBlockiv GLEW_GET_FUN(__glewGetActiveUniformBlockiv)
-#define glGetActiveUniformName GLEW_GET_FUN(__glewGetActiveUniformName)
-#define glGetActiveUniformsiv GLEW_GET_FUN(__glewGetActiveUniformsiv)
-#define glGetIntegeri_v GLEW_GET_FUN(__glewGetIntegeri_v)
-#define glGetUniformBlockIndex GLEW_GET_FUN(__glewGetUniformBlockIndex)
-#define glGetUniformIndices GLEW_GET_FUN(__glewGetUniformIndices)
-#define glUniformBlockBinding GLEW_GET_FUN(__glewUniformBlockBinding)
-
-#define GLEW_ARB_uniform_buffer_object GLEW_GET_VAR(__GLEW_ARB_uniform_buffer_object)
-
-#endif /* GL_ARB_uniform_buffer_object */
-
-/* ------------------------ GL_ARB_vertex_array_bgra ----------------------- */
-
-#ifndef GL_ARB_vertex_array_bgra
-#define GL_ARB_vertex_array_bgra 1
-
-#define GL_BGRA 0x80E1
-
-#define GLEW_ARB_vertex_array_bgra GLEW_GET_VAR(__GLEW_ARB_vertex_array_bgra)
-
-#endif /* GL_ARB_vertex_array_bgra */
-
-/* ----------------------- GL_ARB_vertex_array_object ---------------------- */
-
-#ifndef GL_ARB_vertex_array_object
-#define GL_ARB_vertex_array_object 1
-
-#define GL_VERTEX_ARRAY_BINDING 0x85B5
-
-typedef void (GLAPIENTRY * PFNGLBINDVERTEXARRAYPROC) (GLuint array);
-typedef void (GLAPIENTRY * PFNGLDELETEVERTEXARRAYSPROC) (GLsizei n, const GLuint* arrays);
-typedef void (GLAPIENTRY * PFNGLGENVERTEXARRAYSPROC) (GLsizei n, GLuint* arrays);
-typedef GLboolean (GLAPIENTRY * PFNGLISVERTEXARRAYPROC) (GLuint array);
-
-#define glBindVertexArray GLEW_GET_FUN(__glewBindVertexArray)
-#define glDeleteVertexArrays GLEW_GET_FUN(__glewDeleteVertexArrays)
-#define glGenVertexArrays GLEW_GET_FUN(__glewGenVertexArrays)
-#define glIsVertexArray GLEW_GET_FUN(__glewIsVertexArray)
-
-#define GLEW_ARB_vertex_array_object GLEW_GET_VAR(__GLEW_ARB_vertex_array_object)
-
-#endif /* GL_ARB_vertex_array_object */
-
-/* -------------------------- GL_ARB_vertex_blend -------------------------- */
-
-#ifndef GL_ARB_vertex_blend
-#define GL_ARB_vertex_blend 1
-
-#define GL_MODELVIEW0_ARB 0x1700
-#define GL_MODELVIEW1_ARB 0x850A
-#define GL_MAX_VERTEX_UNITS_ARB 0x86A4
-#define GL_ACTIVE_VERTEX_UNITS_ARB 0x86A5
-#define GL_WEIGHT_SUM_UNITY_ARB 0x86A6
-#define GL_VERTEX_BLEND_ARB 0x86A7
-#define GL_CURRENT_WEIGHT_ARB 0x86A8
-#define GL_WEIGHT_ARRAY_TYPE_ARB 0x86A9
-#define GL_WEIGHT_ARRAY_STRIDE_ARB 0x86AA
-#define GL_WEIGHT_ARRAY_SIZE_ARB 0x86AB
-#define GL_WEIGHT_ARRAY_POINTER_ARB 0x86AC
-#define GL_WEIGHT_ARRAY_ARB 0x86AD
-#define GL_MODELVIEW2_ARB 0x8722
-#define GL_MODELVIEW3_ARB 0x8723
-#define GL_MODELVIEW4_ARB 0x8724
-#define GL_MODELVIEW5_ARB 0x8725
-#define GL_MODELVIEW6_ARB 0x8726
-#define GL_MODELVIEW7_ARB 0x8727
-#define GL_MODELVIEW8_ARB 0x8728
-#define GL_MODELVIEW9_ARB 0x8729
-#define GL_MODELVIEW10_ARB 0x872A
-#define GL_MODELVIEW11_ARB 0x872B
-#define GL_MODELVIEW12_ARB 0x872C
-#define GL_MODELVIEW13_ARB 0x872D
-#define GL_MODELVIEW14_ARB 0x872E
-#define GL_MODELVIEW15_ARB 0x872F
-#define GL_MODELVIEW16_ARB 0x8730
-#define GL_MODELVIEW17_ARB 0x8731
-#define GL_MODELVIEW18_ARB 0x8732
-#define GL_MODELVIEW19_ARB 0x8733
-#define GL_MODELVIEW20_ARB 0x8734
-#define GL_MODELVIEW21_ARB 0x8735
-#define GL_MODELVIEW22_ARB 0x8736
-#define GL_MODELVIEW23_ARB 0x8737
-#define GL_MODELVIEW24_ARB 0x8738
-#define GL_MODELVIEW25_ARB 0x8739
-#define GL_MODELVIEW26_ARB 0x873A
-#define GL_MODELVIEW27_ARB 0x873B
-#define GL_MODELVIEW28_ARB 0x873C
-#define GL_MODELVIEW29_ARB 0x873D
-#define GL_MODELVIEW30_ARB 0x873E
-#define GL_MODELVIEW31_ARB 0x873F
-
-typedef void (GLAPIENTRY * PFNGLVERTEXBLENDARBPROC) (GLint count);
-typedef void (GLAPIENTRY * PFNGLWEIGHTPOINTERARBPROC) (GLint size, GLenum type, GLsizei stride, GLvoid *pointer);
-typedef void (GLAPIENTRY * PFNGLWEIGHTBVARBPROC) (GLint size, GLbyte *weights);
-typedef void (GLAPIENTRY * PFNGLWEIGHTDVARBPROC) (GLint size, GLdouble *weights);
-typedef void (GLAPIENTRY * PFNGLWEIGHTFVARBPROC) (GLint size, GLfloat *weights);
-typedef void (GLAPIENTRY * PFNGLWEIGHTIVARBPROC) (GLint size, GLint *weights);
-typedef void (GLAPIENTRY * PFNGLWEIGHTSVARBPROC) (GLint size, GLshort *weights);
-typedef void (GLAPIENTRY * PFNGLWEIGHTUBVARBPROC) (GLint size, GLubyte *weights);
-typedef void (GLAPIENTRY * PFNGLWEIGHTUIVARBPROC) (GLint size, GLuint *weights);
-typedef void (GLAPIENTRY * PFNGLWEIGHTUSVARBPROC) (GLint size, GLushort *weights);
-
-#define glVertexBlendARB GLEW_GET_FUN(__glewVertexBlendARB)
-#define glWeightPointerARB GLEW_GET_FUN(__glewWeightPointerARB)
-#define glWeightbvARB GLEW_GET_FUN(__glewWeightbvARB)
-#define glWeightdvARB GLEW_GET_FUN(__glewWeightdvARB)
-#define glWeightfvARB GLEW_GET_FUN(__glewWeightfvARB)
-#define glWeightivARB GLEW_GET_FUN(__glewWeightivARB)
-#define glWeightsvARB GLEW_GET_FUN(__glewWeightsvARB)
-#define glWeightubvARB GLEW_GET_FUN(__glewWeightubvARB)
-#define glWeightuivARB GLEW_GET_FUN(__glewWeightuivARB)
-#define glWeightusvARB GLEW_GET_FUN(__glewWeightusvARB)
-
-#define GLEW_ARB_vertex_blend GLEW_GET_VAR(__GLEW_ARB_vertex_blend)
-
-#endif /* GL_ARB_vertex_blend */
-
-/* ---------------------- GL_ARB_vertex_buffer_object ---------------------- */
-
-#ifndef GL_ARB_vertex_buffer_object
-#define GL_ARB_vertex_buffer_object 1
-
-#define GL_BUFFER_SIZE_ARB 0x8764
-#define GL_BUFFER_USAGE_ARB 0x8765
-#define GL_ARRAY_BUFFER_ARB 0x8892
-#define GL_ELEMENT_ARRAY_BUFFER_ARB 0x8893
-#define GL_ARRAY_BUFFER_BINDING_ARB 0x8894
-#define GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB 0x8895
-#define GL_VERTEX_ARRAY_BUFFER_BINDING_ARB 0x8896
-#define GL_NORMAL_ARRAY_BUFFER_BINDING_ARB 0x8897
-#define GL_COLOR_ARRAY_BUFFER_BINDING_ARB 0x8898
-#define GL_INDEX_ARRAY_BUFFER_BINDING_ARB 0x8899
-#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB 0x889A
-#define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB 0x889B
-#define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB 0x889C
-#define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB 0x889D
-#define GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB 0x889E
-#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB 0x889F
-#define GL_READ_ONLY_ARB 0x88B8
-#define GL_WRITE_ONLY_ARB 0x88B9
-#define GL_READ_WRITE_ARB 0x88BA
-#define GL_BUFFER_ACCESS_ARB 0x88BB
-#define GL_BUFFER_MAPPED_ARB 0x88BC
-#define GL_BUFFER_MAP_POINTER_ARB 0x88BD
-#define GL_STREAM_DRAW_ARB 0x88E0
-#define GL_STREAM_READ_ARB 0x88E1
-#define GL_STREAM_COPY_ARB 0x88E2
-#define GL_STATIC_DRAW_ARB 0x88E4
-#define GL_STATIC_READ_ARB 0x88E5
-#define GL_STATIC_COPY_ARB 0x88E6
-#define GL_DYNAMIC_DRAW_ARB 0x88E8
-#define GL_DYNAMIC_READ_ARB 0x88E9
-#define GL_DYNAMIC_COPY_ARB 0x88EA
-
-typedef ptrdiff_t GLsizeiptrARB;
-typedef ptrdiff_t GLintptrARB;
-
-typedef void (GLAPIENTRY * PFNGLBINDBUFFERARBPROC) (GLenum target, GLuint buffer);
-typedef void (GLAPIENTRY * PFNGLBUFFERDATAARBPROC) (GLenum target, GLsizeiptrARB size, const GLvoid* data, GLenum usage);
-typedef void (GLAPIENTRY * PFNGLBUFFERSUBDATAARBPROC) (GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid* data);
-typedef void (GLAPIENTRY * PFNGLDELETEBUFFERSARBPROC) (GLsizei n, const GLuint* buffers);
-typedef void (GLAPIENTRY * PFNGLGENBUFFERSARBPROC) (GLsizei n, GLuint* buffers);
-typedef void (GLAPIENTRY * PFNGLGETBUFFERPARAMETERIVARBPROC) (GLenum target, GLenum pname, GLint* params);
-typedef void (GLAPIENTRY * PFNGLGETBUFFERPOINTERVARBPROC) (GLenum target, GLenum pname, GLvoid** params);
-typedef void (GLAPIENTRY * PFNGLGETBUFFERSUBDATAARBPROC) (GLenum target, GLintptrARB offset, GLsizeiptrARB size, GLvoid* data);
-typedef GLboolean (GLAPIENTRY * PFNGLISBUFFERARBPROC) (GLuint buffer);
-typedef GLvoid * (GLAPIENTRY * PFNGLMAPBUFFERARBPROC) (GLenum target, GLenum access);
-typedef GLboolean (GLAPIENTRY * PFNGLUNMAPBUFFERARBPROC) (GLenum target);
-
-#define glBindBufferARB GLEW_GET_FUN(__glewBindBufferARB)
-#define glBufferDataARB GLEW_GET_FUN(__glewBufferDataARB)
-#define glBufferSubDataARB GLEW_GET_FUN(__glewBufferSubDataARB)
-#define glDeleteBuffersARB GLEW_GET_FUN(__glewDeleteBuffersARB)
-#define glGenBuffersARB GLEW_GET_FUN(__glewGenBuffersARB)
-#define glGetBufferParameterivARB GLEW_GET_FUN(__glewGetBufferParameterivARB)
-#define glGetBufferPointervARB GLEW_GET_FUN(__glewGetBufferPointervARB)
-#define glGetBufferSubDataARB GLEW_GET_FUN(__glewGetBufferSubDataARB)
-#define glIsBufferARB GLEW_GET_FUN(__glewIsBufferARB)
-#define glMapBufferARB GLEW_GET_FUN(__glewMapBufferARB)
-#define glUnmapBufferARB GLEW_GET_FUN(__glewUnmapBufferARB)
-
-#define GLEW_ARB_vertex_buffer_object GLEW_GET_VAR(__GLEW_ARB_vertex_buffer_object)
-
-#endif /* GL_ARB_vertex_buffer_object */
-
-/* ------------------------- GL_ARB_vertex_program ------------------------- */
-
-#ifndef GL_ARB_vertex_program
-#define GL_ARB_vertex_program 1
-
-#define GL_COLOR_SUM_ARB 0x8458
-#define GL_VERTEX_PROGRAM_ARB 0x8620
-#define GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB 0x8622
-#define GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB 0x8623
-#define GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB 0x8624
-#define GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB 0x8625
-#define GL_CURRENT_VERTEX_ATTRIB_ARB 0x8626
-#define GL_PROGRAM_LENGTH_ARB 0x8627
-#define GL_PROGRAM_STRING_ARB 0x8628
-#define GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB 0x862E
-#define GL_MAX_PROGRAM_MATRICES_ARB 0x862F
-#define GL_CURRENT_MATRIX_STACK_DEPTH_ARB 0x8640
-#define GL_CURRENT_MATRIX_ARB 0x8641
-#define GL_VERTEX_PROGRAM_POINT_SIZE_ARB 0x8642
-#define GL_VERTEX_PROGRAM_TWO_SIDE_ARB 0x8643
-#define GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB 0x8645
-#define GL_PROGRAM_ERROR_POSITION_ARB 0x864B
-#define GL_PROGRAM_BINDING_ARB 0x8677
-#define GL_MAX_VERTEX_ATTRIBS_ARB 0x8869
-#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB 0x886A
-#define GL_PROGRAM_ERROR_STRING_ARB 0x8874
-#define GL_PROGRAM_FORMAT_ASCII_ARB 0x8875
-#define GL_PROGRAM_FORMAT_ARB 0x8876
-#define GL_PROGRAM_INSTRUCTIONS_ARB 0x88A0
-#define GL_MAX_PROGRAM_INSTRUCTIONS_ARB 0x88A1
-#define GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A2
-#define GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A3
-#define GL_PROGRAM_TEMPORARIES_ARB 0x88A4
-#define GL_MAX_PROGRAM_TEMPORARIES_ARB 0x88A5
-#define GL_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A6
-#define GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A7
-#define GL_PROGRAM_PARAMETERS_ARB 0x88A8
-#define GL_MAX_PROGRAM_PARAMETERS_ARB 0x88A9
-#define GL_PROGRAM_NATIVE_PARAMETERS_ARB 0x88AA
-#define GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB 0x88AB
-#define GL_PROGRAM_ATTRIBS_ARB 0x88AC
-#define GL_MAX_PROGRAM_ATTRIBS_ARB 0x88AD
-#define GL_PROGRAM_NATIVE_ATTRIBS_ARB 0x88AE
-#define GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB 0x88AF
-#define GL_PROGRAM_ADDRESS_REGISTERS_ARB 0x88B0
-#define GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB 0x88B1
-#define GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B2
-#define GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B3
-#define GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB 0x88B4
-#define GL_MAX_PROGRAM_ENV_PARAMETERS_ARB 0x88B5
-#define GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB 0x88B6
-#define GL_TRANSPOSE_CURRENT_MATRIX_ARB 0x88B7
-#define GL_MATRIX0_ARB 0x88C0
-#define GL_MATRIX1_ARB 0x88C1
-#define GL_MATRIX2_ARB 0x88C2
-#define GL_MATRIX3_ARB 0x88C3
-#define GL_MATRIX4_ARB 0x88C4
-#define GL_MATRIX5_ARB 0x88C5
-#define GL_MATRIX6_ARB 0x88C6
-#define GL_MATRIX7_ARB 0x88C7
-#define GL_MATRIX8_ARB 0x88C8
-#define GL_MATRIX9_ARB 0x88C9
-#define GL_MATRIX10_ARB 0x88CA
-#define GL_MATRIX11_ARB 0x88CB
-#define GL_MATRIX12_ARB 0x88CC
-#define GL_MATRIX13_ARB 0x88CD
-#define GL_MATRIX14_ARB 0x88CE
-#define GL_MATRIX15_ARB 0x88CF
-#define GL_MATRIX16_ARB 0x88D0
-#define GL_MATRIX17_ARB 0x88D1
-#define GL_MATRIX18_ARB 0x88D2
-#define GL_MATRIX19_ARB 0x88D3
-#define GL_MATRIX20_ARB 0x88D4
-#define GL_MATRIX21_ARB 0x88D5
-#define GL_MATRIX22_ARB 0x88D6
-#define GL_MATRIX23_ARB 0x88D7
-#define GL_MATRIX24_ARB 0x88D8
-#define GL_MATRIX25_ARB 0x88D9
-#define GL_MATRIX26_ARB 0x88DA
-#define GL_MATRIX27_ARB 0x88DB
-#define GL_MATRIX28_ARB 0x88DC
-#define GL_MATRIX29_ARB 0x88DD
-#define GL_MATRIX30_ARB 0x88DE
-#define GL_MATRIX31_ARB 0x88DF
-
-typedef void (GLAPIENTRY * PFNGLBINDPROGRAMARBPROC) (GLenum target, GLuint program);
-typedef void (GLAPIENTRY * PFNGLDELETEPROGRAMSARBPROC) (GLsizei n, const GLuint* programs);
-typedef void (GLAPIENTRY * PFNGLDISABLEVERTEXATTRIBARRAYARBPROC) (GLuint index);
-typedef void (GLAPIENTRY * PFNGLENABLEVERTEXATTRIBARRAYARBPROC) (GLuint index);
-typedef void (GLAPIENTRY * PFNGLGENPROGRAMSARBPROC) (GLsizei n, GLuint* programs);
-typedef void (GLAPIENTRY * PFNGLGETPROGRAMENVPARAMETERDVARBPROC) (GLenum target, GLuint index, GLdouble* params);
-typedef void (GLAPIENTRY * PFNGLGETPROGRAMENVPARAMETERFVARBPROC) (GLenum target, GLuint index, GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC) (GLenum target, GLuint index, GLdouble* params);
-typedef void (GLAPIENTRY * PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC) (GLenum target, GLuint index, GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLGETPROGRAMSTRINGARBPROC) (GLenum target, GLenum pname, void* string);
-typedef void (GLAPIENTRY * PFNGLGETPROGRAMIVARBPROC) (GLenum target, GLenum pname, GLint* params);
-typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBPOINTERVARBPROC) (GLuint index, GLenum pname, GLvoid** pointer);
-typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBDVARBPROC) (GLuint index, GLenum pname, GLdouble* params);
-typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBFVARBPROC) (GLuint index, GLenum pname, GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIVARBPROC) (GLuint index, GLenum pname, GLint* params);
-typedef GLboolean (GLAPIENTRY * PFNGLISPROGRAMARBPROC) (GLuint program);
-typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETER4DARBPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
-typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETER4DVARBPROC) (GLenum target, GLuint index, const GLdouble* params);
-typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETER4FARBPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
-typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETER4FVARBPROC) (GLenum target, GLuint index, const GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETER4DARBPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
-typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETER4DVARBPROC) (GLenum target, GLuint index, const GLdouble* params);
-typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETER4FARBPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
-typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETER4FVARBPROC) (GLenum target, GLuint index, const GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLPROGRAMSTRINGARBPROC) (GLenum target, GLenum format, GLsizei len, const void* string);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1DARBPROC) (GLuint index, GLdouble x);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1DVARBPROC) (GLuint index, const GLdouble* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1FARBPROC) (GLuint index, GLfloat x);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1FVARBPROC) (GLuint index, const GLfloat* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1SARBPROC) (GLuint index, GLshort x);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1SVARBPROC) (GLuint index, const GLshort* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2DARBPROC) (GLuint index, GLdouble x, GLdouble y);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2DVARBPROC) (GLuint index, const GLdouble* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2FARBPROC) (GLuint index, GLfloat x, GLfloat y);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2FVARBPROC) (GLuint index, const GLfloat* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2SARBPROC) (GLuint index, GLshort x, GLshort y);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2SVARBPROC) (GLuint index, const GLshort* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3DARBPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3DVARBPROC) (GLuint index, const GLdouble* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3FARBPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3FVARBPROC) (GLuint index, const GLfloat* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3SARBPROC) (GLuint index, GLshort x, GLshort y, GLshort z);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3SVARBPROC) (GLuint index, const GLshort* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NBVARBPROC) (GLuint index, const GLbyte* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NIVARBPROC) (GLuint index, const GLint* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NSVARBPROC) (GLuint index, const GLshort* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NUBARBPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NUBVARBPROC) (GLuint index, const GLubyte* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NUIVARBPROC) (GLuint index, const GLuint* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NUSVARBPROC) (GLuint index, const GLushort* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4BVARBPROC) (GLuint index, const GLbyte* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4DARBPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4DVARBPROC) (GLuint index, const GLdouble* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4FARBPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4FVARBPROC) (GLuint index, const GLfloat* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4IVARBPROC) (GLuint index, const GLint* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4SARBPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4SVARBPROC) (GLuint index, const GLshort* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4UBVARBPROC) (GLuint index, const GLubyte* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4UIVARBPROC) (GLuint index, const GLuint* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4USVARBPROC) (GLuint index, const GLushort* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBPOINTERARBPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void* pointer);
-
-#define glBindProgramARB GLEW_GET_FUN(__glewBindProgramARB)
-#define glDeleteProgramsARB GLEW_GET_FUN(__glewDeleteProgramsARB)
-#define glDisableVertexAttribArrayARB GLEW_GET_FUN(__glewDisableVertexAttribArrayARB)
-#define glEnableVertexAttribArrayARB GLEW_GET_FUN(__glewEnableVertexAttribArrayARB)
-#define glGenProgramsARB GLEW_GET_FUN(__glewGenProgramsARB)
-#define glGetProgramEnvParameterdvARB GLEW_GET_FUN(__glewGetProgramEnvParameterdvARB)
-#define glGetProgramEnvParameterfvARB GLEW_GET_FUN(__glewGetProgramEnvParameterfvARB)
-#define glGetProgramLocalParameterdvARB GLEW_GET_FUN(__glewGetProgramLocalParameterdvARB)
-#define glGetProgramLocalParameterfvARB GLEW_GET_FUN(__glewGetProgramLocalParameterfvARB)
-#define glGetProgramStringARB GLEW_GET_FUN(__glewGetProgramStringARB)
-#define glGetProgramivARB GLEW_GET_FUN(__glewGetProgramivARB)
-#define glGetVertexAttribPointervARB GLEW_GET_FUN(__glewGetVertexAttribPointervARB)
-#define glGetVertexAttribdvARB GLEW_GET_FUN(__glewGetVertexAttribdvARB)
-#define glGetVertexAttribfvARB GLEW_GET_FUN(__glewGetVertexAttribfvARB)
-#define glGetVertexAttribivARB GLEW_GET_FUN(__glewGetVertexAttribivARB)
-#define glIsProgramARB GLEW_GET_FUN(__glewIsProgramARB)
-#define glProgramEnvParameter4dARB GLEW_GET_FUN(__glewProgramEnvParameter4dARB)
-#define glProgramEnvParameter4dvARB GLEW_GET_FUN(__glewProgramEnvParameter4dvARB)
-#define glProgramEnvParameter4fARB GLEW_GET_FUN(__glewProgramEnvParameter4fARB)
-#define glProgramEnvParameter4fvARB GLEW_GET_FUN(__glewProgramEnvParameter4fvARB)
-#define glProgramLocalParameter4dARB GLEW_GET_FUN(__glewProgramLocalParameter4dARB)
-#define glProgramLocalParameter4dvARB GLEW_GET_FUN(__glewProgramLocalParameter4dvARB)
-#define glProgramLocalParameter4fARB GLEW_GET_FUN(__glewProgramLocalParameter4fARB)
-#define glProgramLocalParameter4fvARB GLEW_GET_FUN(__glewProgramLocalParameter4fvARB)
-#define glProgramStringARB GLEW_GET_FUN(__glewProgramStringARB)
-#define glVertexAttrib1dARB GLEW_GET_FUN(__glewVertexAttrib1dARB)
-#define glVertexAttrib1dvARB GLEW_GET_FUN(__glewVertexAttrib1dvARB)
-#define glVertexAttrib1fARB GLEW_GET_FUN(__glewVertexAttrib1fARB)
-#define glVertexAttrib1fvARB GLEW_GET_FUN(__glewVertexAttrib1fvARB)
-#define glVertexAttrib1sARB GLEW_GET_FUN(__glewVertexAttrib1sARB)
-#define glVertexAttrib1svARB GLEW_GET_FUN(__glewVertexAttrib1svARB)
-#define glVertexAttrib2dARB GLEW_GET_FUN(__glewVertexAttrib2dARB)
-#define glVertexAttrib2dvARB GLEW_GET_FUN(__glewVertexAttrib2dvARB)
-#define glVertexAttrib2fARB GLEW_GET_FUN(__glewVertexAttrib2fARB)
-#define glVertexAttrib2fvARB GLEW_GET_FUN(__glewVertexAttrib2fvARB)
-#define glVertexAttrib2sARB GLEW_GET_FUN(__glewVertexAttrib2sARB)
-#define glVertexAttrib2svARB GLEW_GET_FUN(__glewVertexAttrib2svARB)
-#define glVertexAttrib3dARB GLEW_GET_FUN(__glewVertexAttrib3dARB)
-#define glVertexAttrib3dvARB GLEW_GET_FUN(__glewVertexAttrib3dvARB)
-#define glVertexAttrib3fARB GLEW_GET_FUN(__glewVertexAttrib3fARB)
-#define glVertexAttrib3fvARB GLEW_GET_FUN(__glewVertexAttrib3fvARB)
-#define glVertexAttrib3sARB GLEW_GET_FUN(__glewVertexAttrib3sARB)
-#define glVertexAttrib3svARB GLEW_GET_FUN(__glewVertexAttrib3svARB)
-#define glVertexAttrib4NbvARB GLEW_GET_FUN(__glewVertexAttrib4NbvARB)
-#define glVertexAttrib4NivARB GLEW_GET_FUN(__glewVertexAttrib4NivARB)
-#define glVertexAttrib4NsvARB GLEW_GET_FUN(__glewVertexAttrib4NsvARB)
-#define glVertexAttrib4NubARB GLEW_GET_FUN(__glewVertexAttrib4NubARB)
-#define glVertexAttrib4NubvARB GLEW_GET_FUN(__glewVertexAttrib4NubvARB)
-#define glVertexAttrib4NuivARB GLEW_GET_FUN(__glewVertexAttrib4NuivARB)
-#define glVertexAttrib4NusvARB GLEW_GET_FUN(__glewVertexAttrib4NusvARB)
-#define glVertexAttrib4bvARB GLEW_GET_FUN(__glewVertexAttrib4bvARB)
-#define glVertexAttrib4dARB GLEW_GET_FUN(__glewVertexAttrib4dARB)
-#define glVertexAttrib4dvARB GLEW_GET_FUN(__glewVertexAttrib4dvARB)
-#define glVertexAttrib4fARB GLEW_GET_FUN(__glewVertexAttrib4fARB)
-#define glVertexAttrib4fvARB GLEW_GET_FUN(__glewVertexAttrib4fvARB)
-#define glVertexAttrib4ivARB GLEW_GET_FUN(__glewVertexAttrib4ivARB)
-#define glVertexAttrib4sARB GLEW_GET_FUN(__glewVertexAttrib4sARB)
-#define glVertexAttrib4svARB GLEW_GET_FUN(__glewVertexAttrib4svARB)
-#define glVertexAttrib4ubvARB GLEW_GET_FUN(__glewVertexAttrib4ubvARB)
-#define glVertexAttrib4uivARB GLEW_GET_FUN(__glewVertexAttrib4uivARB)
-#define glVertexAttrib4usvARB GLEW_GET_FUN(__glewVertexAttrib4usvARB)
-#define glVertexAttribPointerARB GLEW_GET_FUN(__glewVertexAttribPointerARB)
-
-#define GLEW_ARB_vertex_program GLEW_GET_VAR(__GLEW_ARB_vertex_program)
-
-#endif /* GL_ARB_vertex_program */
-
-/* -------------------------- GL_ARB_vertex_shader ------------------------- */
-
-#ifndef GL_ARB_vertex_shader
-#define GL_ARB_vertex_shader 1
-
-#define GL_VERTEX_SHADER_ARB 0x8B31
-#define GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB 0x8B4A
-#define GL_MAX_VARYING_FLOATS_ARB 0x8B4B
-#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB 0x8B4C
-#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB 0x8B4D
-#define GL_OBJECT_ACTIVE_ATTRIBUTES_ARB 0x8B89
-#define GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB 0x8B8A
-
-typedef void (GLAPIENTRY * PFNGLBINDATTRIBLOCATIONARBPROC) (GLhandleARB programObj, GLuint index, const GLcharARB* name);
-typedef void (GLAPIENTRY * PFNGLGETACTIVEATTRIBARBPROC) (GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei* length, GLint *size, GLenum *type, GLcharARB *name);
-typedef GLint (GLAPIENTRY * PFNGLGETATTRIBLOCATIONARBPROC) (GLhandleARB programObj, const GLcharARB* name);
-
-#define glBindAttribLocationARB GLEW_GET_FUN(__glewBindAttribLocationARB)
-#define glGetActiveAttribARB GLEW_GET_FUN(__glewGetActiveAttribARB)
-#define glGetAttribLocationARB GLEW_GET_FUN(__glewGetAttribLocationARB)
-
-#define GLEW_ARB_vertex_shader GLEW_GET_VAR(__GLEW_ARB_vertex_shader)
-
-#endif /* GL_ARB_vertex_shader */
-
-/* ------------------- GL_ARB_vertex_type_2_10_10_10_rev ------------------- */
-
-#ifndef GL_ARB_vertex_type_2_10_10_10_rev
-#define GL_ARB_vertex_type_2_10_10_10_rev 1
-
-#define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368
-#define GL_INT_2_10_10_10_REV 0x8D9F
-
-typedef void (GLAPIENTRY * PFNGLCOLORP3UIPROC) (GLenum type, GLuint color);
-typedef void (GLAPIENTRY * PFNGLCOLORP3UIVPROC) (GLenum type, const GLuint* color);
-typedef void (GLAPIENTRY * PFNGLCOLORP4UIPROC) (GLenum type, GLuint color);
-typedef void (GLAPIENTRY * PFNGLCOLORP4UIVPROC) (GLenum type, const GLuint* color);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORDP1UIPROC) (GLenum texture, GLenum type, GLuint coords);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORDP1UIVPROC) (GLenum texture, GLenum type, const GLuint* coords);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORDP2UIPROC) (GLenum texture, GLenum type, GLuint coords);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORDP2UIVPROC) (GLenum texture, GLenum type, const GLuint* coords);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORDP3UIPROC) (GLenum texture, GLenum type, GLuint coords);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORDP3UIVPROC) (GLenum texture, GLenum type, const GLuint* coords);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORDP4UIPROC) (GLenum texture, GLenum type, GLuint coords);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORDP4UIVPROC) (GLenum texture, GLenum type, const GLuint* coords);
-typedef void (GLAPIENTRY * PFNGLNORMALP3UIPROC) (GLenum type, GLuint coords);
-typedef void (GLAPIENTRY * PFNGLNORMALP3UIVPROC) (GLenum type, const GLuint* coords);
-typedef void (GLAPIENTRY * PFNGLSECONDARYCOLORP3UIPROC) (GLenum type, GLuint color);
-typedef void (GLAPIENTRY * PFNGLSECONDARYCOLORP3UIVPROC) (GLenum type, const GLuint* color);
-typedef void (GLAPIENTRY * PFNGLTEXCOORDP1UIPROC) (GLenum type, GLuint coords);
-typedef void (GLAPIENTRY * PFNGLTEXCOORDP1UIVPROC) (GLenum type, const GLuint* coords);
-typedef void (GLAPIENTRY * PFNGLTEXCOORDP2UIPROC) (GLenum type, GLuint coords);
-typedef void (GLAPIENTRY * PFNGLTEXCOORDP2UIVPROC) (GLenum type, const GLuint* coords);
-typedef void (GLAPIENTRY * PFNGLTEXCOORDP3UIPROC) (GLenum type, GLuint coords);
-typedef void (GLAPIENTRY * PFNGLTEXCOORDP3UIVPROC) (GLenum type, const GLuint* coords);
-typedef void (GLAPIENTRY * PFNGLTEXCOORDP4UIPROC) (GLenum type, GLuint coords);
-typedef void (GLAPIENTRY * PFNGLTEXCOORDP4UIVPROC) (GLenum type, const GLuint* coords);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBP1UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBP1UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint* value);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBP2UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBP2UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint* value);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBP3UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBP3UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint* value);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBP4UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBP4UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint* value);
-typedef void (GLAPIENTRY * PFNGLVERTEXP2UIPROC) (GLenum type, GLuint value);
-typedef void (GLAPIENTRY * PFNGLVERTEXP2UIVPROC) (GLenum type, const GLuint* value);
-typedef void (GLAPIENTRY * PFNGLVERTEXP3UIPROC) (GLenum type, GLuint value);
-typedef void (GLAPIENTRY * PFNGLVERTEXP3UIVPROC) (GLenum type, const GLuint* value);
-typedef void (GLAPIENTRY * PFNGLVERTEXP4UIPROC) (GLenum type, GLuint value);
-typedef void (GLAPIENTRY * PFNGLVERTEXP4UIVPROC) (GLenum type, const GLuint* value);
-
-#define glColorP3ui GLEW_GET_FUN(__glewColorP3ui)
-#define glColorP3uiv GLEW_GET_FUN(__glewColorP3uiv)
-#define glColorP4ui GLEW_GET_FUN(__glewColorP4ui)
-#define glColorP4uiv GLEW_GET_FUN(__glewColorP4uiv)
-#define glMultiTexCoordP1ui GLEW_GET_FUN(__glewMultiTexCoordP1ui)
-#define glMultiTexCoordP1uiv GLEW_GET_FUN(__glewMultiTexCoordP1uiv)
-#define glMultiTexCoordP2ui GLEW_GET_FUN(__glewMultiTexCoordP2ui)
-#define glMultiTexCoordP2uiv GLEW_GET_FUN(__glewMultiTexCoordP2uiv)
-#define glMultiTexCoordP3ui GLEW_GET_FUN(__glewMultiTexCoordP3ui)
-#define glMultiTexCoordP3uiv GLEW_GET_FUN(__glewMultiTexCoordP3uiv)
-#define glMultiTexCoordP4ui GLEW_GET_FUN(__glewMultiTexCoordP4ui)
-#define glMultiTexCoordP4uiv GLEW_GET_FUN(__glewMultiTexCoordP4uiv)
-#define glNormalP3ui GLEW_GET_FUN(__glewNormalP3ui)
-#define glNormalP3uiv GLEW_GET_FUN(__glewNormalP3uiv)
-#define glSecondaryColorP3ui GLEW_GET_FUN(__glewSecondaryColorP3ui)
-#define glSecondaryColorP3uiv GLEW_GET_FUN(__glewSecondaryColorP3uiv)
-#define glTexCoordP1ui GLEW_GET_FUN(__glewTexCoordP1ui)
-#define glTexCoordP1uiv GLEW_GET_FUN(__glewTexCoordP1uiv)
-#define glTexCoordP2ui GLEW_GET_FUN(__glewTexCoordP2ui)
-#define glTexCoordP2uiv GLEW_GET_FUN(__glewTexCoordP2uiv)
-#define glTexCoordP3ui GLEW_GET_FUN(__glewTexCoordP3ui)
-#define glTexCoordP3uiv GLEW_GET_FUN(__glewTexCoordP3uiv)
-#define glTexCoordP4ui GLEW_GET_FUN(__glewTexCoordP4ui)
-#define glTexCoordP4uiv GLEW_GET_FUN(__glewTexCoordP4uiv)
-#define glVertexAttribP1ui GLEW_GET_FUN(__glewVertexAttribP1ui)
-#define glVertexAttribP1uiv GLEW_GET_FUN(__glewVertexAttribP1uiv)
-#define glVertexAttribP2ui GLEW_GET_FUN(__glewVertexAttribP2ui)
-#define glVertexAttribP2uiv GLEW_GET_FUN(__glewVertexAttribP2uiv)
-#define glVertexAttribP3ui GLEW_GET_FUN(__glewVertexAttribP3ui)
-#define glVertexAttribP3uiv GLEW_GET_FUN(__glewVertexAttribP3uiv)
-#define glVertexAttribP4ui GLEW_GET_FUN(__glewVertexAttribP4ui)
-#define glVertexAttribP4uiv GLEW_GET_FUN(__glewVertexAttribP4uiv)
-#define glVertexP2ui GLEW_GET_FUN(__glewVertexP2ui)
-#define glVertexP2uiv GLEW_GET_FUN(__glewVertexP2uiv)
-#define glVertexP3ui GLEW_GET_FUN(__glewVertexP3ui)
-#define glVertexP3uiv GLEW_GET_FUN(__glewVertexP3uiv)
-#define glVertexP4ui GLEW_GET_FUN(__glewVertexP4ui)
-#define glVertexP4uiv GLEW_GET_FUN(__glewVertexP4uiv)
-
-#define GLEW_ARB_vertex_type_2_10_10_10_rev GLEW_GET_VAR(__GLEW_ARB_vertex_type_2_10_10_10_rev)
-
-#endif /* GL_ARB_vertex_type_2_10_10_10_rev */
-
-/* --------------------------- GL_ARB_window_pos --------------------------- */
-
-#ifndef GL_ARB_window_pos
-#define GL_ARB_window_pos 1
-
-typedef void (GLAPIENTRY * PFNGLWINDOWPOS2DARBPROC) (GLdouble x, GLdouble y);
-typedef void (GLAPIENTRY * PFNGLWINDOWPOS2DVARBPROC) (const GLdouble* p);
-typedef void (GLAPIENTRY * PFNGLWINDOWPOS2FARBPROC) (GLfloat x, GLfloat y);
-typedef void (GLAPIENTRY * PFNGLWINDOWPOS2FVARBPROC) (const GLfloat* p);
-typedef void (GLAPIENTRY * PFNGLWINDOWPOS2IARBPROC) (GLint x, GLint y);
-typedef void (GLAPIENTRY * PFNGLWINDOWPOS2IVARBPROC) (const GLint* p);
-typedef void (GLAPIENTRY * PFNGLWINDOWPOS2SARBPROC) (GLshort x, GLshort y);
-typedef void (GLAPIENTRY * PFNGLWINDOWPOS2SVARBPROC) (const GLshort* p);
-typedef void (GLAPIENTRY * PFNGLWINDOWPOS3DARBPROC) (GLdouble x, GLdouble y, GLdouble z);
-typedef void (GLAPIENTRY * PFNGLWINDOWPOS3DVARBPROC) (const GLdouble* p);
-typedef void (GLAPIENTRY * PFNGLWINDOWPOS3FARBPROC) (GLfloat x, GLfloat y, GLfloat z);
-typedef void (GLAPIENTRY * PFNGLWINDOWPOS3FVARBPROC) (const GLfloat* p);
-typedef void (GLAPIENTRY * PFNGLWINDOWPOS3IARBPROC) (GLint x, GLint y, GLint z);
-typedef void (GLAPIENTRY * PFNGLWINDOWPOS3IVARBPROC) (const GLint* p);
-typedef void (GLAPIENTRY * PFNGLWINDOWPOS3SARBPROC) (GLshort x, GLshort y, GLshort z);
-typedef void (GLAPIENTRY * PFNGLWINDOWPOS3SVARBPROC) (const GLshort* p);
-
-#define glWindowPos2dARB GLEW_GET_FUN(__glewWindowPos2dARB)
-#define glWindowPos2dvARB GLEW_GET_FUN(__glewWindowPos2dvARB)
-#define glWindowPos2fARB GLEW_GET_FUN(__glewWindowPos2fARB)
-#define glWindowPos2fvARB GLEW_GET_FUN(__glewWindowPos2fvARB)
-#define glWindowPos2iARB GLEW_GET_FUN(__glewWindowPos2iARB)
-#define glWindowPos2ivARB GLEW_GET_FUN(__glewWindowPos2ivARB)
-#define glWindowPos2sARB GLEW_GET_FUN(__glewWindowPos2sARB)
-#define glWindowPos2svARB GLEW_GET_FUN(__glewWindowPos2svARB)
-#define glWindowPos3dARB GLEW_GET_FUN(__glewWindowPos3dARB)
-#define glWindowPos3dvARB GLEW_GET_FUN(__glewWindowPos3dvARB)
-#define glWindowPos3fARB GLEW_GET_FUN(__glewWindowPos3fARB)
-#define glWindowPos3fvARB GLEW_GET_FUN(__glewWindowPos3fvARB)
-#define glWindowPos3iARB GLEW_GET_FUN(__glewWindowPos3iARB)
-#define glWindowPos3ivARB GLEW_GET_FUN(__glewWindowPos3ivARB)
-#define glWindowPos3sARB GLEW_GET_FUN(__glewWindowPos3sARB)
-#define glWindowPos3svARB GLEW_GET_FUN(__glewWindowPos3svARB)
-
-#define GLEW_ARB_window_pos GLEW_GET_VAR(__GLEW_ARB_window_pos)
-
-#endif /* GL_ARB_window_pos */
-
-/* ------------------------- GL_ATIX_point_sprites ------------------------- */
-
-#ifndef GL_ATIX_point_sprites
-#define GL_ATIX_point_sprites 1
-
-#define GL_TEXTURE_POINT_MODE_ATIX 0x60B0
-#define GL_TEXTURE_POINT_ONE_COORD_ATIX 0x60B1
-#define GL_TEXTURE_POINT_SPRITE_ATIX 0x60B2
-#define GL_POINT_SPRITE_CULL_MODE_ATIX 0x60B3
-#define GL_POINT_SPRITE_CULL_CENTER_ATIX 0x60B4
-#define GL_POINT_SPRITE_CULL_CLIP_ATIX 0x60B5
-
-#define GLEW_ATIX_point_sprites GLEW_GET_VAR(__GLEW_ATIX_point_sprites)
-
-#endif /* GL_ATIX_point_sprites */
-
-/* ---------------------- GL_ATIX_texture_env_combine3 --------------------- */
-
-#ifndef GL_ATIX_texture_env_combine3
-#define GL_ATIX_texture_env_combine3 1
-
-#define GL_MODULATE_ADD_ATIX 0x8744
-#define GL_MODULATE_SIGNED_ADD_ATIX 0x8745
-#define GL_MODULATE_SUBTRACT_ATIX 0x8746
-
-#define GLEW_ATIX_texture_env_combine3 GLEW_GET_VAR(__GLEW_ATIX_texture_env_combine3)
-
-#endif /* GL_ATIX_texture_env_combine3 */
-
-/* ----------------------- GL_ATIX_texture_env_route ----------------------- */
-
-#ifndef GL_ATIX_texture_env_route
-#define GL_ATIX_texture_env_route 1
-
-#define GL_SECONDARY_COLOR_ATIX 0x8747
-#define GL_TEXTURE_OUTPUT_RGB_ATIX 0x8748
-#define GL_TEXTURE_OUTPUT_ALPHA_ATIX 0x8749
-
-#define GLEW_ATIX_texture_env_route GLEW_GET_VAR(__GLEW_ATIX_texture_env_route)
-
-#endif /* GL_ATIX_texture_env_route */
-
-/* ---------------- GL_ATIX_vertex_shader_output_point_size ---------------- */
-
-#ifndef GL_ATIX_vertex_shader_output_point_size
-#define GL_ATIX_vertex_shader_output_point_size 1
-
-#define GL_OUTPUT_POINT_SIZE_ATIX 0x610E
-
-#define GLEW_ATIX_vertex_shader_output_point_size GLEW_GET_VAR(__GLEW_ATIX_vertex_shader_output_point_size)
-
-#endif /* GL_ATIX_vertex_shader_output_point_size */
-
-/* -------------------------- GL_ATI_draw_buffers -------------------------- */
-
-#ifndef GL_ATI_draw_buffers
-#define GL_ATI_draw_buffers 1
-
-#define GL_MAX_DRAW_BUFFERS_ATI 0x8824
-#define GL_DRAW_BUFFER0_ATI 0x8825
-#define GL_DRAW_BUFFER1_ATI 0x8826
-#define GL_DRAW_BUFFER2_ATI 0x8827
-#define GL_DRAW_BUFFER3_ATI 0x8828
-#define GL_DRAW_BUFFER4_ATI 0x8829
-#define GL_DRAW_BUFFER5_ATI 0x882A
-#define GL_DRAW_BUFFER6_ATI 0x882B
-#define GL_DRAW_BUFFER7_ATI 0x882C
-#define GL_DRAW_BUFFER8_ATI 0x882D
-#define GL_DRAW_BUFFER9_ATI 0x882E
-#define GL_DRAW_BUFFER10_ATI 0x882F
-#define GL_DRAW_BUFFER11_ATI 0x8830
-#define GL_DRAW_BUFFER12_ATI 0x8831
-#define GL_DRAW_BUFFER13_ATI 0x8832
-#define GL_DRAW_BUFFER14_ATI 0x8833
-#define GL_DRAW_BUFFER15_ATI 0x8834
-
-typedef void (GLAPIENTRY * PFNGLDRAWBUFFERSATIPROC) (GLsizei n, const GLenum* bufs);
-
-#define glDrawBuffersATI GLEW_GET_FUN(__glewDrawBuffersATI)
-
-#define GLEW_ATI_draw_buffers GLEW_GET_VAR(__GLEW_ATI_draw_buffers)
-
-#endif /* GL_ATI_draw_buffers */
-
-/* -------------------------- GL_ATI_element_array ------------------------- */
-
-#ifndef GL_ATI_element_array
-#define GL_ATI_element_array 1
-
-#define GL_ELEMENT_ARRAY_ATI 0x8768
-#define GL_ELEMENT_ARRAY_TYPE_ATI 0x8769
-#define GL_ELEMENT_ARRAY_POINTER_ATI 0x876A
-
-typedef void (GLAPIENTRY * PFNGLDRAWELEMENTARRAYATIPROC) (GLenum mode, GLsizei count);
-typedef void (GLAPIENTRY * PFNGLDRAWRANGEELEMENTARRAYATIPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count);
-typedef void (GLAPIENTRY * PFNGLELEMENTPOINTERATIPROC) (GLenum type, const void* pointer);
-
-#define glDrawElementArrayATI GLEW_GET_FUN(__glewDrawElementArrayATI)
-#define glDrawRangeElementArrayATI GLEW_GET_FUN(__glewDrawRangeElementArrayATI)
-#define glElementPointerATI GLEW_GET_FUN(__glewElementPointerATI)
-
-#define GLEW_ATI_element_array GLEW_GET_VAR(__GLEW_ATI_element_array)
-
-#endif /* GL_ATI_element_array */
-
-/* ------------------------- GL_ATI_envmap_bumpmap ------------------------- */
-
-#ifndef GL_ATI_envmap_bumpmap
-#define GL_ATI_envmap_bumpmap 1
-
-#define GL_BUMP_ROT_MATRIX_ATI 0x8775
-#define GL_BUMP_ROT_MATRIX_SIZE_ATI 0x8776
-#define GL_BUMP_NUM_TEX_UNITS_ATI 0x8777
-#define GL_BUMP_TEX_UNITS_ATI 0x8778
-#define GL_DUDV_ATI 0x8779
-#define GL_DU8DV8_ATI 0x877A
-#define GL_BUMP_ENVMAP_ATI 0x877B
-#define GL_BUMP_TARGET_ATI 0x877C
-
-typedef void (GLAPIENTRY * PFNGLGETTEXBUMPPARAMETERFVATIPROC) (GLenum pname, GLfloat *param);
-typedef void (GLAPIENTRY * PFNGLGETTEXBUMPPARAMETERIVATIPROC) (GLenum pname, GLint *param);
-typedef void (GLAPIENTRY * PFNGLTEXBUMPPARAMETERFVATIPROC) (GLenum pname, GLfloat *param);
-typedef void (GLAPIENTRY * PFNGLTEXBUMPPARAMETERIVATIPROC) (GLenum pname, GLint *param);
-
-#define glGetTexBumpParameterfvATI GLEW_GET_FUN(__glewGetTexBumpParameterfvATI)
-#define glGetTexBumpParameterivATI GLEW_GET_FUN(__glewGetTexBumpParameterivATI)
-#define glTexBumpParameterfvATI GLEW_GET_FUN(__glewTexBumpParameterfvATI)
-#define glTexBumpParameterivATI GLEW_GET_FUN(__glewTexBumpParameterivATI)
-
-#define GLEW_ATI_envmap_bumpmap GLEW_GET_VAR(__GLEW_ATI_envmap_bumpmap)
-
-#endif /* GL_ATI_envmap_bumpmap */
-
-/* ------------------------- GL_ATI_fragment_shader ------------------------ */
-
-#ifndef GL_ATI_fragment_shader
-#define GL_ATI_fragment_shader 1
-
-#define GL_RED_BIT_ATI 0x00000001
-#define GL_2X_BIT_ATI 0x00000001
-#define GL_4X_BIT_ATI 0x00000002
-#define GL_GREEN_BIT_ATI 0x00000002
-#define GL_COMP_BIT_ATI 0x00000002
-#define GL_BLUE_BIT_ATI 0x00000004
-#define GL_8X_BIT_ATI 0x00000004
-#define GL_NEGATE_BIT_ATI 0x00000004
-#define GL_BIAS_BIT_ATI 0x00000008
-#define GL_HALF_BIT_ATI 0x00000008
-#define GL_QUARTER_BIT_ATI 0x00000010
-#define GL_EIGHTH_BIT_ATI 0x00000020
-#define GL_SATURATE_BIT_ATI 0x00000040
-#define GL_FRAGMENT_SHADER_ATI 0x8920
-#define GL_REG_0_ATI 0x8921
-#define GL_REG_1_ATI 0x8922
-#define GL_REG_2_ATI 0x8923
-#define GL_REG_3_ATI 0x8924
-#define GL_REG_4_ATI 0x8925
-#define GL_REG_5_ATI 0x8926
-#define GL_CON_0_ATI 0x8941
-#define GL_CON_1_ATI 0x8942
-#define GL_CON_2_ATI 0x8943
-#define GL_CON_3_ATI 0x8944
-#define GL_CON_4_ATI 0x8945
-#define GL_CON_5_ATI 0x8946
-#define GL_CON_6_ATI 0x8947
-#define GL_CON_7_ATI 0x8948
-#define GL_MOV_ATI 0x8961
-#define GL_ADD_ATI 0x8963
-#define GL_MUL_ATI 0x8964
-#define GL_SUB_ATI 0x8965
-#define GL_DOT3_ATI 0x8966
-#define GL_DOT4_ATI 0x8967
-#define GL_MAD_ATI 0x8968
-#define GL_LERP_ATI 0x8969
-#define GL_CND_ATI 0x896A
-#define GL_CND0_ATI 0x896B
-#define GL_DOT2_ADD_ATI 0x896C
-#define GL_SECONDARY_INTERPOLATOR_ATI 0x896D
-#define GL_NUM_FRAGMENT_REGISTERS_ATI 0x896E
-#define GL_NUM_FRAGMENT_CONSTANTS_ATI 0x896F
-#define GL_NUM_PASSES_ATI 0x8970
-#define GL_NUM_INSTRUCTIONS_PER_PASS_ATI 0x8971
-#define GL_NUM_INSTRUCTIONS_TOTAL_ATI 0x8972
-#define GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI 0x8973
-#define GL_NUM_LOOPBACK_COMPONENTS_ATI 0x8974
-#define GL_COLOR_ALPHA_PAIRING_ATI 0x8975
-#define GL_SWIZZLE_STR_ATI 0x8976
-#define GL_SWIZZLE_STQ_ATI 0x8977
-#define GL_SWIZZLE_STR_DR_ATI 0x8978
-#define GL_SWIZZLE_STQ_DQ_ATI 0x8979
-#define GL_SWIZZLE_STRQ_ATI 0x897A
-#define GL_SWIZZLE_STRQ_DQ_ATI 0x897B
-
-typedef void (GLAPIENTRY * PFNGLALPHAFRAGMENTOP1ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod);
-typedef void (GLAPIENTRY * PFNGLALPHAFRAGMENTOP2ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod);
-typedef void (GLAPIENTRY * PFNGLALPHAFRAGMENTOP3ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod);
-typedef void (GLAPIENTRY * PFNGLBEGINFRAGMENTSHADERATIPROC) (void);
-typedef void (GLAPIENTRY * PFNGLBINDFRAGMENTSHADERATIPROC) (GLuint id);
-typedef void (GLAPIENTRY * PFNGLCOLORFRAGMENTOP1ATIPROC) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod);
-typedef void (GLAPIENTRY * PFNGLCOLORFRAGMENTOP2ATIPROC) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod);
-typedef void (GLAPIENTRY * PFNGLCOLORFRAGMENTOP3ATIPROC) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod);
-typedef void (GLAPIENTRY * PFNGLDELETEFRAGMENTSHADERATIPROC) (GLuint id);
-typedef void (GLAPIENTRY * PFNGLENDFRAGMENTSHADERATIPROC) (void);
-typedef GLuint (GLAPIENTRY * PFNGLGENFRAGMENTSHADERSATIPROC) (GLuint range);
-typedef void (GLAPIENTRY * PFNGLPASSTEXCOORDATIPROC) (GLuint dst, GLuint coord, GLenum swizzle);
-typedef void (GLAPIENTRY * PFNGLSAMPLEMAPATIPROC) (GLuint dst, GLuint interp, GLenum swizzle);
-typedef void (GLAPIENTRY * PFNGLSETFRAGMENTSHADERCONSTANTATIPROC) (GLuint dst, const GLfloat* value);
-
-#define glAlphaFragmentOp1ATI GLEW_GET_FUN(__glewAlphaFragmentOp1ATI)
-#define glAlphaFragmentOp2ATI GLEW_GET_FUN(__glewAlphaFragmentOp2ATI)
-#define glAlphaFragmentOp3ATI GLEW_GET_FUN(__glewAlphaFragmentOp3ATI)
-#define glBeginFragmentShaderATI GLEW_GET_FUN(__glewBeginFragmentShaderATI)
-#define glBindFragmentShaderATI GLEW_GET_FUN(__glewBindFragmentShaderATI)
-#define glColorFragmentOp1ATI GLEW_GET_FUN(__glewColorFragmentOp1ATI)
-#define glColorFragmentOp2ATI GLEW_GET_FUN(__glewColorFragmentOp2ATI)
-#define glColorFragmentOp3ATI GLEW_GET_FUN(__glewColorFragmentOp3ATI)
-#define glDeleteFragmentShaderATI GLEW_GET_FUN(__glewDeleteFragmentShaderATI)
-#define glEndFragmentShaderATI GLEW_GET_FUN(__glewEndFragmentShaderATI)
-#define glGenFragmentShadersATI GLEW_GET_FUN(__glewGenFragmentShadersATI)
-#define glPassTexCoordATI GLEW_GET_FUN(__glewPassTexCoordATI)
-#define glSampleMapATI GLEW_GET_FUN(__glewSampleMapATI)
-#define glSetFragmentShaderConstantATI GLEW_GET_FUN(__glewSetFragmentShaderConstantATI)
-
-#define GLEW_ATI_fragment_shader GLEW_GET_VAR(__GLEW_ATI_fragment_shader)
-
-#endif /* GL_ATI_fragment_shader */
-
-/* ------------------------ GL_ATI_map_object_buffer ----------------------- */
-
-#ifndef GL_ATI_map_object_buffer
-#define GL_ATI_map_object_buffer 1
-
-typedef void* (GLAPIENTRY * PFNGLMAPOBJECTBUFFERATIPROC) (GLuint buffer);
-typedef void (GLAPIENTRY * PFNGLUNMAPOBJECTBUFFERATIPROC) (GLuint buffer);
-
-#define glMapObjectBufferATI GLEW_GET_FUN(__glewMapObjectBufferATI)
-#define glUnmapObjectBufferATI GLEW_GET_FUN(__glewUnmapObjectBufferATI)
-
-#define GLEW_ATI_map_object_buffer GLEW_GET_VAR(__GLEW_ATI_map_object_buffer)
-
-#endif /* GL_ATI_map_object_buffer */
-
-/* ----------------------------- GL_ATI_meminfo ---------------------------- */
-
-#ifndef GL_ATI_meminfo
-#define GL_ATI_meminfo 1
-
-#define GL_VBO_FREE_MEMORY_ATI 0x87FB
-#define GL_TEXTURE_FREE_MEMORY_ATI 0x87FC
-#define GL_RENDERBUFFER_FREE_MEMORY_ATI 0x87FD
-
-#define GLEW_ATI_meminfo GLEW_GET_VAR(__GLEW_ATI_meminfo)
-
-#endif /* GL_ATI_meminfo */
-
-/* -------------------------- GL_ATI_pn_triangles -------------------------- */
-
-#ifndef GL_ATI_pn_triangles
-#define GL_ATI_pn_triangles 1
-
-#define GL_PN_TRIANGLES_ATI 0x87F0
-#define GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI 0x87F1
-#define GL_PN_TRIANGLES_POINT_MODE_ATI 0x87F2
-#define GL_PN_TRIANGLES_NORMAL_MODE_ATI 0x87F3
-#define GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI 0x87F4
-#define GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI 0x87F5
-#define GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI 0x87F6
-#define GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI 0x87F7
-#define GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI 0x87F8
-
-typedef void (GLAPIENTRY * PFNGLPNTRIANGLESFATIPROC) (GLenum pname, GLfloat param);
-typedef void (GLAPIENTRY * PFNGLPNTRIANGLESIATIPROC) (GLenum pname, GLint param);
-
-#define glPNTrianglesfATI GLEW_GET_FUN(__glPNTrianglewesfATI)
-#define glPNTrianglesiATI GLEW_GET_FUN(__glPNTrianglewesiATI)
-
-#define GLEW_ATI_pn_triangles GLEW_GET_VAR(__GLEW_ATI_pn_triangles)
-
-#endif /* GL_ATI_pn_triangles */
-
-/* ------------------------ GL_ATI_separate_stencil ------------------------ */
-
-#ifndef GL_ATI_separate_stencil
-#define GL_ATI_separate_stencil 1
-
-#define GL_STENCIL_BACK_FUNC_ATI 0x8800
-#define GL_STENCIL_BACK_FAIL_ATI 0x8801
-#define GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI 0x8802
-#define GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI 0x8803
-
-typedef void (GLAPIENTRY * PFNGLSTENCILFUNCSEPARATEATIPROC) (GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask);
-typedef void (GLAPIENTRY * PFNGLSTENCILOPSEPARATEATIPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
-
-#define glStencilFuncSeparateATI GLEW_GET_FUN(__glewStencilFuncSeparateATI)
-#define glStencilOpSeparateATI GLEW_GET_FUN(__glewStencilOpSeparateATI)
-
-#define GLEW_ATI_separate_stencil GLEW_GET_VAR(__GLEW_ATI_separate_stencil)
-
-#endif /* GL_ATI_separate_stencil */
-
-/* ----------------------- GL_ATI_shader_texture_lod ----------------------- */
-
-#ifndef GL_ATI_shader_texture_lod
-#define GL_ATI_shader_texture_lod 1
-
-#define GLEW_ATI_shader_texture_lod GLEW_GET_VAR(__GLEW_ATI_shader_texture_lod)
-
-#endif /* GL_ATI_shader_texture_lod */
-
-/* ---------------------- GL_ATI_text_fragment_shader ---------------------- */
-
-#ifndef GL_ATI_text_fragment_shader
-#define GL_ATI_text_fragment_shader 1
-
-#define GL_TEXT_FRAGMENT_SHADER_ATI 0x8200
-
-#define GLEW_ATI_text_fragment_shader GLEW_GET_VAR(__GLEW_ATI_text_fragment_shader)
-
-#endif /* GL_ATI_text_fragment_shader */
-
-/* --------------------- GL_ATI_texture_compression_3dc -------------------- */
-
-#ifndef GL_ATI_texture_compression_3dc
-#define GL_ATI_texture_compression_3dc 1
-
-#define GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI 0x8837
-
-#define GLEW_ATI_texture_compression_3dc GLEW_GET_VAR(__GLEW_ATI_texture_compression_3dc)
-
-#endif /* GL_ATI_texture_compression_3dc */
-
-/* ---------------------- GL_ATI_texture_env_combine3 ---------------------- */
-
-#ifndef GL_ATI_texture_env_combine3
-#define GL_ATI_texture_env_combine3 1
-
-#define GL_MODULATE_ADD_ATI 0x8744
-#define GL_MODULATE_SIGNED_ADD_ATI 0x8745
-#define GL_MODULATE_SUBTRACT_ATI 0x8746
-
-#define GLEW_ATI_texture_env_combine3 GLEW_GET_VAR(__GLEW_ATI_texture_env_combine3)
-
-#endif /* GL_ATI_texture_env_combine3 */
-
-/* -------------------------- GL_ATI_texture_float ------------------------- */
-
-#ifndef GL_ATI_texture_float
-#define GL_ATI_texture_float 1
-
-#define GL_RGBA_FLOAT32_ATI 0x8814
-#define GL_RGB_FLOAT32_ATI 0x8815
-#define GL_ALPHA_FLOAT32_ATI 0x8816
-#define GL_INTENSITY_FLOAT32_ATI 0x8817
-#define GL_LUMINANCE_FLOAT32_ATI 0x8818
-#define GL_LUMINANCE_ALPHA_FLOAT32_ATI 0x8819
-#define GL_RGBA_FLOAT16_ATI 0x881A
-#define GL_RGB_FLOAT16_ATI 0x881B
-#define GL_ALPHA_FLOAT16_ATI 0x881C
-#define GL_INTENSITY_FLOAT16_ATI 0x881D
-#define GL_LUMINANCE_FLOAT16_ATI 0x881E
-#define GL_LUMINANCE_ALPHA_FLOAT16_ATI 0x881F
-
-#define GLEW_ATI_texture_float GLEW_GET_VAR(__GLEW_ATI_texture_float)
-
-#endif /* GL_ATI_texture_float */
-
-/* ----------------------- GL_ATI_texture_mirror_once ---------------------- */
-
-#ifndef GL_ATI_texture_mirror_once
-#define GL_ATI_texture_mirror_once 1
-
-#define GL_MIRROR_CLAMP_ATI 0x8742
-#define GL_MIRROR_CLAMP_TO_EDGE_ATI 0x8743
-
-#define GLEW_ATI_texture_mirror_once GLEW_GET_VAR(__GLEW_ATI_texture_mirror_once)
-
-#endif /* GL_ATI_texture_mirror_once */
-
-/* ----------------------- GL_ATI_vertex_array_object ---------------------- */
-
-#ifndef GL_ATI_vertex_array_object
-#define GL_ATI_vertex_array_object 1
-
-#define GL_STATIC_ATI 0x8760
-#define GL_DYNAMIC_ATI 0x8761
-#define GL_PRESERVE_ATI 0x8762
-#define GL_DISCARD_ATI 0x8763
-#define GL_OBJECT_BUFFER_SIZE_ATI 0x8764
-#define GL_OBJECT_BUFFER_USAGE_ATI 0x8765
-#define GL_ARRAY_OBJECT_BUFFER_ATI 0x8766
-#define GL_ARRAY_OBJECT_OFFSET_ATI 0x8767
-
-typedef void (GLAPIENTRY * PFNGLARRAYOBJECTATIPROC) (GLenum array, GLint size, GLenum type, GLsizei stride, GLuint buffer, GLuint offset);
-typedef void (GLAPIENTRY * PFNGLFREEOBJECTBUFFERATIPROC) (GLuint buffer);
-typedef void (GLAPIENTRY * PFNGLGETARRAYOBJECTFVATIPROC) (GLenum array, GLenum pname, GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLGETARRAYOBJECTIVATIPROC) (GLenum array, GLenum pname, GLint* params);
-typedef void (GLAPIENTRY * PFNGLGETOBJECTBUFFERFVATIPROC) (GLuint buffer, GLenum pname, GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLGETOBJECTBUFFERIVATIPROC) (GLuint buffer, GLenum pname, GLint* params);
-typedef void (GLAPIENTRY * PFNGLGETVARIANTARRAYOBJECTFVATIPROC) (GLuint id, GLenum pname, GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLGETVARIANTARRAYOBJECTIVATIPROC) (GLuint id, GLenum pname, GLint* params);
-typedef GLboolean (GLAPIENTRY * PFNGLISOBJECTBUFFERATIPROC) (GLuint buffer);
-typedef GLuint (GLAPIENTRY * PFNGLNEWOBJECTBUFFERATIPROC) (GLsizei size, const void* pointer, GLenum usage);
-typedef void (GLAPIENTRY * PFNGLUPDATEOBJECTBUFFERATIPROC) (GLuint buffer, GLuint offset, GLsizei size, const void* pointer, GLenum preserve);
-typedef void (GLAPIENTRY * PFNGLVARIANTARRAYOBJECTATIPROC) (GLuint id, GLenum type, GLsizei stride, GLuint buffer, GLuint offset);
-
-#define glArrayObjectATI GLEW_GET_FUN(__glewArrayObjectATI)
-#define glFreeObjectBufferATI GLEW_GET_FUN(__glewFreeObjectBufferATI)
-#define glGetArrayObjectfvATI GLEW_GET_FUN(__glewGetArrayObjectfvATI)
-#define glGetArrayObjectivATI GLEW_GET_FUN(__glewGetArrayObjectivATI)
-#define glGetObjectBufferfvATI GLEW_GET_FUN(__glewGetObjectBufferfvATI)
-#define glGetObjectBufferivATI GLEW_GET_FUN(__glewGetObjectBufferivATI)
-#define glGetVariantArrayObjectfvATI GLEW_GET_FUN(__glewGetVariantArrayObjectfvATI)
-#define glGetVariantArrayObjectivATI GLEW_GET_FUN(__glewGetVariantArrayObjectivATI)
-#define glIsObjectBufferATI GLEW_GET_FUN(__glewIsObjectBufferATI)
-#define glNewObjectBufferATI GLEW_GET_FUN(__glewNewObjectBufferATI)
-#define glUpdateObjectBufferATI GLEW_GET_FUN(__glewUpdateObjectBufferATI)
-#define glVariantArrayObjectATI GLEW_GET_FUN(__glewVariantArrayObjectATI)
-
-#define GLEW_ATI_vertex_array_object GLEW_GET_VAR(__GLEW_ATI_vertex_array_object)
-
-#endif /* GL_ATI_vertex_array_object */
-
-/* ------------------- GL_ATI_vertex_attrib_array_object ------------------- */
-
-#ifndef GL_ATI_vertex_attrib_array_object
-#define GL_ATI_vertex_attrib_array_object 1
-
-typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC) (GLuint index, GLenum pname, GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC) (GLuint index, GLenum pname, GLint* params);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBARRAYOBJECTATIPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLuint buffer, GLuint offset);
-
-#define glGetVertexAttribArrayObjectfvATI GLEW_GET_FUN(__glewGetVertexAttribArrayObjectfvATI)
-#define glGetVertexAttribArrayObjectivATI GLEW_GET_FUN(__glewGetVertexAttribArrayObjectivATI)
-#define glVertexAttribArrayObjectATI GLEW_GET_FUN(__glewVertexAttribArrayObjectATI)
-
-#define GLEW_ATI_vertex_attrib_array_object GLEW_GET_VAR(__GLEW_ATI_vertex_attrib_array_object)
-
-#endif /* GL_ATI_vertex_attrib_array_object */
-
-/* ------------------------- GL_ATI_vertex_streams ------------------------- */
-
-#ifndef GL_ATI_vertex_streams
-#define GL_ATI_vertex_streams 1
-
-#define GL_MAX_VERTEX_STREAMS_ATI 0x876B
-#define GL_VERTEX_SOURCE_ATI 0x876C
-#define GL_VERTEX_STREAM0_ATI 0x876D
-#define GL_VERTEX_STREAM1_ATI 0x876E
-#define GL_VERTEX_STREAM2_ATI 0x876F
-#define GL_VERTEX_STREAM3_ATI 0x8770
-#define GL_VERTEX_STREAM4_ATI 0x8771
-#define GL_VERTEX_STREAM5_ATI 0x8772
-#define GL_VERTEX_STREAM6_ATI 0x8773
-#define GL_VERTEX_STREAM7_ATI 0x8774
-
-typedef void (GLAPIENTRY * PFNGLCLIENTACTIVEVERTEXSTREAMATIPROC) (GLenum stream);
-typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3BATIPROC) (GLenum stream, GLbyte x, GLbyte y, GLbyte z);
-typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3BVATIPROC) (GLenum stream, const GLbyte *v);
-typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3DATIPROC) (GLenum stream, GLdouble x, GLdouble y, GLdouble z);
-typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3DVATIPROC) (GLenum stream, const GLdouble *v);
-typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3FATIPROC) (GLenum stream, GLfloat x, GLfloat y, GLfloat z);
-typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3FVATIPROC) (GLenum stream, const GLfloat *v);
-typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3IATIPROC) (GLenum stream, GLint x, GLint y, GLint z);
-typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3IVATIPROC) (GLenum stream, const GLint *v);
-typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3SATIPROC) (GLenum stream, GLshort x, GLshort y, GLshort z);
-typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3SVATIPROC) (GLenum stream, const GLshort *v);
-typedef void (GLAPIENTRY * PFNGLVERTEXBLENDENVFATIPROC) (GLenum pname, GLfloat param);
-typedef void (GLAPIENTRY * PFNGLVERTEXBLENDENVIATIPROC) (GLenum pname, GLint param);
-typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2DATIPROC) (GLenum stream, GLdouble x, GLdouble y);
-typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2DVATIPROC) (GLenum stream, const GLdouble *v);
-typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2FATIPROC) (GLenum stream, GLfloat x, GLfloat y);
-typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2FVATIPROC) (GLenum stream, const GLfloat *v);
-typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2IATIPROC) (GLenum stream, GLint x, GLint y);
-typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2IVATIPROC) (GLenum stream, const GLint *v);
-typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2SATIPROC) (GLenum stream, GLshort x, GLshort y);
-typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2SVATIPROC) (GLenum stream, const GLshort *v);
-typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3DATIPROC) (GLenum stream, GLdouble x, GLdouble y, GLdouble z);
-typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3DVATIPROC) (GLenum stream, const GLdouble *v);
-typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3FATIPROC) (GLenum stream, GLfloat x, GLfloat y, GLfloat z);
-typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3FVATIPROC) (GLenum stream, const GLfloat *v);
-typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3IATIPROC) (GLenum stream, GLint x, GLint y, GLint z);
-typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3IVATIPROC) (GLenum stream, const GLint *v);
-typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3SATIPROC) (GLenum stream, GLshort x, GLshort y, GLshort z);
-typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3SVATIPROC) (GLenum stream, const GLshort *v);
-typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4DATIPROC) (GLenum stream, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
-typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4DVATIPROC) (GLenum stream, const GLdouble *v);
-typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4FATIPROC) (GLenum stream, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
-typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4FVATIPROC) (GLenum stream, const GLfloat *v);
-typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4IATIPROC) (GLenum stream, GLint x, GLint y, GLint z, GLint w);
-typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4IVATIPROC) (GLenum stream, const GLint *v);
-typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4SATIPROC) (GLenum stream, GLshort x, GLshort y, GLshort z, GLshort w);
-typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4SVATIPROC) (GLenum stream, const GLshort *v);
-
-#define glClientActiveVertexStreamATI GLEW_GET_FUN(__glewClientActiveVertexStreamATI)
-#define glNormalStream3bATI GLEW_GET_FUN(__glewNormalStream3bATI)
-#define glNormalStream3bvATI GLEW_GET_FUN(__glewNormalStream3bvATI)
-#define glNormalStream3dATI GLEW_GET_FUN(__glewNormalStream3dATI)
-#define glNormalStream3dvATI GLEW_GET_FUN(__glewNormalStream3dvATI)
-#define glNormalStream3fATI GLEW_GET_FUN(__glewNormalStream3fATI)
-#define glNormalStream3fvATI GLEW_GET_FUN(__glewNormalStream3fvATI)
-#define glNormalStream3iATI GLEW_GET_FUN(__glewNormalStream3iATI)
-#define glNormalStream3ivATI GLEW_GET_FUN(__glewNormalStream3ivATI)
-#define glNormalStream3sATI GLEW_GET_FUN(__glewNormalStream3sATI)
-#define glNormalStream3svATI GLEW_GET_FUN(__glewNormalStream3svATI)
-#define glVertexBlendEnvfATI GLEW_GET_FUN(__glewVertexBlendEnvfATI)
-#define glVertexBlendEnviATI GLEW_GET_FUN(__glewVertexBlendEnviATI)
-#define glVertexStream2dATI GLEW_GET_FUN(__glewVertexStream2dATI)
-#define glVertexStream2dvATI GLEW_GET_FUN(__glewVertexStream2dvATI)
-#define glVertexStream2fATI GLEW_GET_FUN(__glewVertexStream2fATI)
-#define glVertexStream2fvATI GLEW_GET_FUN(__glewVertexStream2fvATI)
-#define glVertexStream2iATI GLEW_GET_FUN(__glewVertexStream2iATI)
-#define glVertexStream2ivATI GLEW_GET_FUN(__glewVertexStream2ivATI)
-#define glVertexStream2sATI GLEW_GET_FUN(__glewVertexStream2sATI)
-#define glVertexStream2svATI GLEW_GET_FUN(__glewVertexStream2svATI)
-#define glVertexStream3dATI GLEW_GET_FUN(__glewVertexStream3dATI)
-#define glVertexStream3dvATI GLEW_GET_FUN(__glewVertexStream3dvATI)
-#define glVertexStream3fATI GLEW_GET_FUN(__glewVertexStream3fATI)
-#define glVertexStream3fvATI GLEW_GET_FUN(__glewVertexStream3fvATI)
-#define glVertexStream3iATI GLEW_GET_FUN(__glewVertexStream3iATI)
-#define glVertexStream3ivATI GLEW_GET_FUN(__glewVertexStream3ivATI)
-#define glVertexStream3sATI GLEW_GET_FUN(__glewVertexStream3sATI)
-#define glVertexStream3svATI GLEW_GET_FUN(__glewVertexStream3svATI)
-#define glVertexStream4dATI GLEW_GET_FUN(__glewVertexStream4dATI)
-#define glVertexStream4dvATI GLEW_GET_FUN(__glewVertexStream4dvATI)
-#define glVertexStream4fATI GLEW_GET_FUN(__glewVertexStream4fATI)
-#define glVertexStream4fvATI GLEW_GET_FUN(__glewVertexStream4fvATI)
-#define glVertexStream4iATI GLEW_GET_FUN(__glewVertexStream4iATI)
-#define glVertexStream4ivATI GLEW_GET_FUN(__glewVertexStream4ivATI)
-#define glVertexStream4sATI GLEW_GET_FUN(__glewVertexStream4sATI)
-#define glVertexStream4svATI GLEW_GET_FUN(__glewVertexStream4svATI)
-
-#define GLEW_ATI_vertex_streams GLEW_GET_VAR(__GLEW_ATI_vertex_streams)
-
-#endif /* GL_ATI_vertex_streams */
-
-/* --------------------------- GL_EXT_422_pixels --------------------------- */
-
-#ifndef GL_EXT_422_pixels
-#define GL_EXT_422_pixels 1
-
-#define GL_422_EXT 0x80CC
-#define GL_422_REV_EXT 0x80CD
-#define GL_422_AVERAGE_EXT 0x80CE
-#define GL_422_REV_AVERAGE_EXT 0x80CF
-
-#define GLEW_EXT_422_pixels GLEW_GET_VAR(__GLEW_EXT_422_pixels)
-
-#endif /* GL_EXT_422_pixels */
-
-/* ---------------------------- GL_EXT_Cg_shader --------------------------- */
-
-#ifndef GL_EXT_Cg_shader
-#define GL_EXT_Cg_shader 1
-
-#define GL_CG_VERTEX_SHADER_EXT 0x890E
-#define GL_CG_FRAGMENT_SHADER_EXT 0x890F
-
-#define GLEW_EXT_Cg_shader GLEW_GET_VAR(__GLEW_EXT_Cg_shader)
-
-#endif /* GL_EXT_Cg_shader */
-
-/* ------------------------------ GL_EXT_abgr ------------------------------ */
-
-#ifndef GL_EXT_abgr
-#define GL_EXT_abgr 1
-
-#define GL_ABGR_EXT 0x8000
-
-#define GLEW_EXT_abgr GLEW_GET_VAR(__GLEW_EXT_abgr)
-
-#endif /* GL_EXT_abgr */
-
-/* ------------------------------ GL_EXT_bgra ------------------------------ */
-
-#ifndef GL_EXT_bgra
-#define GL_EXT_bgra 1
-
-#define GL_BGR_EXT 0x80E0
-#define GL_BGRA_EXT 0x80E1
-
-#define GLEW_EXT_bgra GLEW_GET_VAR(__GLEW_EXT_bgra)
-
-#endif /* GL_EXT_bgra */
-
-/* ------------------------ GL_EXT_bindable_uniform ------------------------ */
-
-#ifndef GL_EXT_bindable_uniform
-#define GL_EXT_bindable_uniform 1
-
-#define GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT 0x8DE2
-#define GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT 0x8DE3
-#define GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT 0x8DE4
-#define GL_MAX_BINDABLE_UNIFORM_SIZE_EXT 0x8DED
-#define GL_UNIFORM_BUFFER_EXT 0x8DEE
-#define GL_UNIFORM_BUFFER_BINDING_EXT 0x8DEF
-
-typedef GLint (GLAPIENTRY * PFNGLGETUNIFORMBUFFERSIZEEXTPROC) (GLuint program, GLint location);
-typedef GLintptr (GLAPIENTRY * PFNGLGETUNIFORMOFFSETEXTPROC) (GLuint program, GLint location);
-typedef void (GLAPIENTRY * PFNGLUNIFORMBUFFEREXTPROC) (GLuint program, GLint location, GLuint buffer);
-
-#define glGetUniformBufferSizeEXT GLEW_GET_FUN(__glewGetUniformBufferSizeEXT)
-#define glGetUniformOffsetEXT GLEW_GET_FUN(__glewGetUniformOffsetEXT)
-#define glUniformBufferEXT GLEW_GET_FUN(__glewUniformBufferEXT)
-
-#define GLEW_EXT_bindable_uniform GLEW_GET_VAR(__GLEW_EXT_bindable_uniform)
-
-#endif /* GL_EXT_bindable_uniform */
-
-/* --------------------------- GL_EXT_blend_color -------------------------- */
-
-#ifndef GL_EXT_blend_color
-#define GL_EXT_blend_color 1
-
-#define GL_CONSTANT_COLOR_EXT 0x8001
-#define GL_ONE_MINUS_CONSTANT_COLOR_EXT 0x8002
-#define GL_CONSTANT_ALPHA_EXT 0x8003
-#define GL_ONE_MINUS_CONSTANT_ALPHA_EXT 0x8004
-#define GL_BLEND_COLOR_EXT 0x8005
-
-typedef void (GLAPIENTRY * PFNGLBLENDCOLOREXTPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
-
-#define glBlendColorEXT GLEW_GET_FUN(__glewBlendColorEXT)
-
-#define GLEW_EXT_blend_color GLEW_GET_VAR(__GLEW_EXT_blend_color)
-
-#endif /* GL_EXT_blend_color */
-
-/* --------------------- GL_EXT_blend_equation_separate -------------------- */
-
-#ifndef GL_EXT_blend_equation_separate
-#define GL_EXT_blend_equation_separate 1
-
-#define GL_BLEND_EQUATION_RGB_EXT 0x8009
-#define GL_BLEND_EQUATION_ALPHA_EXT 0x883D
-
-typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONSEPARATEEXTPROC) (GLenum modeRGB, GLenum modeAlpha);
-
-#define glBlendEquationSeparateEXT GLEW_GET_FUN(__glewBlendEquationSeparateEXT)
-
-#define GLEW_EXT_blend_equation_separate GLEW_GET_VAR(__GLEW_EXT_blend_equation_separate)
-
-#endif /* GL_EXT_blend_equation_separate */
-
-/* ----------------------- GL_EXT_blend_func_separate ---------------------- */
-
-#ifndef GL_EXT_blend_func_separate
-#define GL_EXT_blend_func_separate 1
-
-#define GL_BLEND_DST_RGB_EXT 0x80C8
-#define GL_BLEND_SRC_RGB_EXT 0x80C9
-#define GL_BLEND_DST_ALPHA_EXT 0x80CA
-#define GL_BLEND_SRC_ALPHA_EXT 0x80CB
-
-typedef void (GLAPIENTRY * PFNGLBLENDFUNCSEPARATEEXTPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
-
-#define glBlendFuncSeparateEXT GLEW_GET_FUN(__glewBlendFuncSeparateEXT)
-
-#define GLEW_EXT_blend_func_separate GLEW_GET_VAR(__GLEW_EXT_blend_func_separate)
-
-#endif /* GL_EXT_blend_func_separate */
-
-/* ------------------------- GL_EXT_blend_logic_op ------------------------- */
-
-#ifndef GL_EXT_blend_logic_op
-#define GL_EXT_blend_logic_op 1
-
-#define GLEW_EXT_blend_logic_op GLEW_GET_VAR(__GLEW_EXT_blend_logic_op)
-
-#endif /* GL_EXT_blend_logic_op */
-
-/* -------------------------- GL_EXT_blend_minmax -------------------------- */
-
-#ifndef GL_EXT_blend_minmax
-#define GL_EXT_blend_minmax 1
-
-#define GL_FUNC_ADD_EXT 0x8006
-#define GL_MIN_EXT 0x8007
-#define GL_MAX_EXT 0x8008
-#define GL_BLEND_EQUATION_EXT 0x8009
-
-typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONEXTPROC) (GLenum mode);
-
-#define glBlendEquationEXT GLEW_GET_FUN(__glewBlendEquationEXT)
-
-#define GLEW_EXT_blend_minmax GLEW_GET_VAR(__GLEW_EXT_blend_minmax)
-
-#endif /* GL_EXT_blend_minmax */
-
-/* ------------------------- GL_EXT_blend_subtract ------------------------- */
-
-#ifndef GL_EXT_blend_subtract
-#define GL_EXT_blend_subtract 1
-
-#define GL_FUNC_SUBTRACT_EXT 0x800A
-#define GL_FUNC_REVERSE_SUBTRACT_EXT 0x800B
-
-#define GLEW_EXT_blend_subtract GLEW_GET_VAR(__GLEW_EXT_blend_subtract)
-
-#endif /* GL_EXT_blend_subtract */
-
-/* ------------------------ GL_EXT_clip_volume_hint ------------------------ */
-
-#ifndef GL_EXT_clip_volume_hint
-#define GL_EXT_clip_volume_hint 1
-
-#define GL_CLIP_VOLUME_CLIPPING_HINT_EXT 0x80F0
-
-#define GLEW_EXT_clip_volume_hint GLEW_GET_VAR(__GLEW_EXT_clip_volume_hint)
-
-#endif /* GL_EXT_clip_volume_hint */
-
-/* ------------------------------ GL_EXT_cmyka ----------------------------- */
-
-#ifndef GL_EXT_cmyka
-#define GL_EXT_cmyka 1
-
-#define GL_CMYK_EXT 0x800C
-#define GL_CMYKA_EXT 0x800D
-#define GL_PACK_CMYK_HINT_EXT 0x800E
-#define GL_UNPACK_CMYK_HINT_EXT 0x800F
-
-#define GLEW_EXT_cmyka GLEW_GET_VAR(__GLEW_EXT_cmyka)
-
-#endif /* GL_EXT_cmyka */
-
-/* ------------------------- GL_EXT_color_subtable ------------------------- */
-
-#ifndef GL_EXT_color_subtable
-#define GL_EXT_color_subtable 1
-
-typedef void (GLAPIENTRY * PFNGLCOLORSUBTABLEEXTPROC) (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const void* data);
-typedef void (GLAPIENTRY * PFNGLCOPYCOLORSUBTABLEEXTPROC) (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);
-
-#define glColorSubTableEXT GLEW_GET_FUN(__glewColorSubTableEXT)
-#define glCopyColorSubTableEXT GLEW_GET_FUN(__glewCopyColorSubTableEXT)
-
-#define GLEW_EXT_color_subtable GLEW_GET_VAR(__GLEW_EXT_color_subtable)
-
-#endif /* GL_EXT_color_subtable */
-
-/* ---------------------- GL_EXT_compiled_vertex_array --------------------- */
-
-#ifndef GL_EXT_compiled_vertex_array
-#define GL_EXT_compiled_vertex_array 1
-
-#define GL_ARRAY_ELEMENT_LOCK_FIRST_EXT 0x81A8
-#define GL_ARRAY_ELEMENT_LOCK_COUNT_EXT 0x81A9
-
-typedef void (GLAPIENTRY * PFNGLLOCKARRAYSEXTPROC) (GLint first, GLsizei count);
-typedef void (GLAPIENTRY * PFNGLUNLOCKARRAYSEXTPROC) (void);
-
-#define glLockArraysEXT GLEW_GET_FUN(__glewLockArraysEXT)
-#define glUnlockArraysEXT GLEW_GET_FUN(__glewUnlockArraysEXT)
-
-#define GLEW_EXT_compiled_vertex_array GLEW_GET_VAR(__GLEW_EXT_compiled_vertex_array)
-
-#endif /* GL_EXT_compiled_vertex_array */
-
-/* --------------------------- GL_EXT_convolution -------------------------- */
-
-#ifndef GL_EXT_convolution
-#define GL_EXT_convolution 1
-
-#define GL_CONVOLUTION_1D_EXT 0x8010
-#define GL_CONVOLUTION_2D_EXT 0x8011
-#define GL_SEPARABLE_2D_EXT 0x8012
-#define GL_CONVOLUTION_BORDER_MODE_EXT 0x8013
-#define GL_CONVOLUTION_FILTER_SCALE_EXT 0x8014
-#define GL_CONVOLUTION_FILTER_BIAS_EXT 0x8015
-#define GL_REDUCE_EXT 0x8016
-#define GL_CONVOLUTION_FORMAT_EXT 0x8017
-#define GL_CONVOLUTION_WIDTH_EXT 0x8018
-#define GL_CONVOLUTION_HEIGHT_EXT 0x8019
-#define GL_MAX_CONVOLUTION_WIDTH_EXT 0x801A
-#define GL_MAX_CONVOLUTION_HEIGHT_EXT 0x801B
-#define GL_POST_CONVOLUTION_RED_SCALE_EXT 0x801C
-#define GL_POST_CONVOLUTION_GREEN_SCALE_EXT 0x801D
-#define GL_POST_CONVOLUTION_BLUE_SCALE_EXT 0x801E
-#define GL_POST_CONVOLUTION_ALPHA_SCALE_EXT 0x801F
-#define GL_POST_CONVOLUTION_RED_BIAS_EXT 0x8020
-#define GL_POST_CONVOLUTION_GREEN_BIAS_EXT 0x8021
-#define GL_POST_CONVOLUTION_BLUE_BIAS_EXT 0x8022
-#define GL_POST_CONVOLUTION_ALPHA_BIAS_EXT 0x8023
-
-typedef void (GLAPIENTRY * PFNGLCONVOLUTIONFILTER1DEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void* image);
-typedef void (GLAPIENTRY * PFNGLCONVOLUTIONFILTER2DEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void* image);
-typedef void (GLAPIENTRY * PFNGLCONVOLUTIONPARAMETERFEXTPROC) (GLenum target, GLenum pname, GLfloat param);
-typedef void (GLAPIENTRY * PFNGLCONVOLUTIONPARAMETERFVEXTPROC) (GLenum target, GLenum pname, const GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLCONVOLUTIONPARAMETERIEXTPROC) (GLenum target, GLenum pname, GLint param);
-typedef void (GLAPIENTRY * PFNGLCONVOLUTIONPARAMETERIVEXTPROC) (GLenum target, GLenum pname, const GLint* params);
-typedef void (GLAPIENTRY * PFNGLCOPYCONVOLUTIONFILTER1DEXTPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
-typedef void (GLAPIENTRY * PFNGLCOPYCONVOLUTIONFILTER2DEXTPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);
-typedef void (GLAPIENTRY * PFNGLGETCONVOLUTIONFILTEREXTPROC) (GLenum target, GLenum format, GLenum type, void* image);
-typedef void (GLAPIENTRY * PFNGLGETCONVOLUTIONPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLGETCONVOLUTIONPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint* params);
-typedef void (GLAPIENTRY * PFNGLGETSEPARABLEFILTEREXTPROC) (GLenum target, GLenum format, GLenum type, void* row, void* column, void* span);
-typedef void (GLAPIENTRY * PFNGLSEPARABLEFILTER2DEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void* row, const void* column);
-
-#define glConvolutionFilter1DEXT GLEW_GET_FUN(__glewConvolutionFilter1DEXT)
-#define glConvolutionFilter2DEXT GLEW_GET_FUN(__glewConvolutionFilter2DEXT)
-#define glConvolutionParameterfEXT GLEW_GET_FUN(__glewConvolutionParameterfEXT)
-#define glConvolutionParameterfvEXT GLEW_GET_FUN(__glewConvolutionParameterfvEXT)
-#define glConvolutionParameteriEXT GLEW_GET_FUN(__glewConvolutionParameteriEXT)
-#define glConvolutionParameterivEXT GLEW_GET_FUN(__glewConvolutionParameterivEXT)
-#define glCopyConvolutionFilter1DEXT GLEW_GET_FUN(__glewCopyConvolutionFilter1DEXT)
-#define glCopyConvolutionFilter2DEXT GLEW_GET_FUN(__glewCopyConvolutionFilter2DEXT)
-#define glGetConvolutionFilterEXT GLEW_GET_FUN(__glewGetConvolutionFilterEXT)
-#define glGetConvolutionParameterfvEXT GLEW_GET_FUN(__glewGetConvolutionParameterfvEXT)
-#define glGetConvolutionParameterivEXT GLEW_GET_FUN(__glewGetConvolutionParameterivEXT)
-#define glGetSeparableFilterEXT GLEW_GET_FUN(__glewGetSeparableFilterEXT)
-#define glSeparableFilter2DEXT GLEW_GET_FUN(__glewSeparableFilter2DEXT)
-
-#define GLEW_EXT_convolution GLEW_GET_VAR(__GLEW_EXT_convolution)
-
-#endif /* GL_EXT_convolution */
-
-/* ------------------------ GL_EXT_coordinate_frame ------------------------ */
-
-#ifndef GL_EXT_coordinate_frame
-#define GL_EXT_coordinate_frame 1
-
-#define GL_TANGENT_ARRAY_EXT 0x8439
-#define GL_BINORMAL_ARRAY_EXT 0x843A
-#define GL_CURRENT_TANGENT_EXT 0x843B
-#define GL_CURRENT_BINORMAL_EXT 0x843C
-#define GL_TANGENT_ARRAY_TYPE_EXT 0x843E
-#define GL_TANGENT_ARRAY_STRIDE_EXT 0x843F
-#define GL_BINORMAL_ARRAY_TYPE_EXT 0x8440
-#define GL_BINORMAL_ARRAY_STRIDE_EXT 0x8441
-#define GL_TANGENT_ARRAY_POINTER_EXT 0x8442
-#define GL_BINORMAL_ARRAY_POINTER_EXT 0x8443
-#define GL_MAP1_TANGENT_EXT 0x8444
-#define GL_MAP2_TANGENT_EXT 0x8445
-#define GL_MAP1_BINORMAL_EXT 0x8446
-#define GL_MAP2_BINORMAL_EXT 0x8447
-
-typedef void (GLAPIENTRY * PFNGLBINORMALPOINTEREXTPROC) (GLenum type, GLsizei stride, void* pointer);
-typedef void (GLAPIENTRY * PFNGLTANGENTPOINTEREXTPROC) (GLenum type, GLsizei stride, void* pointer);
-
-#define glBinormalPointerEXT GLEW_GET_FUN(__glewBinormalPointerEXT)
-#define glTangentPointerEXT GLEW_GET_FUN(__glewTangentPointerEXT)
-
-#define GLEW_EXT_coordinate_frame GLEW_GET_VAR(__GLEW_EXT_coordinate_frame)
-
-#endif /* GL_EXT_coordinate_frame */
-
-/* -------------------------- GL_EXT_copy_texture -------------------------- */
-
-#ifndef GL_EXT_copy_texture
-#define GL_EXT_copy_texture 1
-
-typedef void (GLAPIENTRY * PFNGLCOPYTEXIMAGE1DEXTPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
-typedef void (GLAPIENTRY * PFNGLCOPYTEXIMAGE2DEXTPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
-typedef void (GLAPIENTRY * PFNGLCOPYTEXSUBIMAGE1DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
-typedef void (GLAPIENTRY * PFNGLCOPYTEXSUBIMAGE2DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
-typedef void (GLAPIENTRY * PFNGLCOPYTEXSUBIMAGE3DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
-
-#define glCopyTexImage1DEXT GLEW_GET_FUN(__glewCopyTexImage1DEXT)
-#define glCopyTexImage2DEXT GLEW_GET_FUN(__glewCopyTexImage2DEXT)
-#define glCopyTexSubImage1DEXT GLEW_GET_FUN(__glewCopyTexSubImage1DEXT)
-#define glCopyTexSubImage2DEXT GLEW_GET_FUN(__glewCopyTexSubImage2DEXT)
-#define glCopyTexSubImage3DEXT GLEW_GET_FUN(__glewCopyTexSubImage3DEXT)
-
-#define GLEW_EXT_copy_texture GLEW_GET_VAR(__GLEW_EXT_copy_texture)
-
-#endif /* GL_EXT_copy_texture */
-
-/* --------------------------- GL_EXT_cull_vertex -------------------------- */
-
-#ifndef GL_EXT_cull_vertex
-#define GL_EXT_cull_vertex 1
-
-#define GL_CULL_VERTEX_EXT 0x81AA
-#define GL_CULL_VERTEX_EYE_POSITION_EXT 0x81AB
-#define GL_CULL_VERTEX_OBJECT_POSITION_EXT 0x81AC
-
-typedef void (GLAPIENTRY * PFNGLCULLPARAMETERDVEXTPROC) (GLenum pname, GLdouble* params);
-typedef void (GLAPIENTRY * PFNGLCULLPARAMETERFVEXTPROC) (GLenum pname, GLfloat* params);
-
-#define glCullParameterdvEXT GLEW_GET_FUN(__glewCullParameterdvEXT)
-#define glCullParameterfvEXT GLEW_GET_FUN(__glewCullParameterfvEXT)
-
-#define GLEW_EXT_cull_vertex GLEW_GET_VAR(__GLEW_EXT_cull_vertex)
-
-#endif /* GL_EXT_cull_vertex */
-
-/* ------------------------ GL_EXT_depth_bounds_test ----------------------- */
-
-#ifndef GL_EXT_depth_bounds_test
-#define GL_EXT_depth_bounds_test 1
-
-#define GL_DEPTH_BOUNDS_TEST_EXT 0x8890
-#define GL_DEPTH_BOUNDS_EXT 0x8891
-
-typedef void (GLAPIENTRY * PFNGLDEPTHBOUNDSEXTPROC) (GLclampd zmin, GLclampd zmax);
-
-#define glDepthBoundsEXT GLEW_GET_FUN(__glewDepthBoundsEXT)
-
-#define GLEW_EXT_depth_bounds_test GLEW_GET_VAR(__GLEW_EXT_depth_bounds_test)
-
-#endif /* GL_EXT_depth_bounds_test */
-
-/* ----------------------- GL_EXT_direct_state_access ---------------------- */
-
-#ifndef GL_EXT_direct_state_access
-#define GL_EXT_direct_state_access 1
-
-#define GL_PROGRAM_MATRIX_EXT 0x8E2D
-#define GL_TRANSPOSE_PROGRAM_MATRIX_EXT 0x8E2E
-#define GL_PROGRAM_MATRIX_STACK_DEPTH_EXT 0x8E2F
-
-typedef void (GLAPIENTRY * PFNGLBINDMULTITEXTUREEXTPROC) (GLenum texunit, GLenum target, GLuint texture);
-typedef GLenum (GLAPIENTRY * PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC) (GLuint framebuffer, GLenum target);
-typedef void (GLAPIENTRY * PFNGLCLIENTATTRIBDEFAULTEXTPROC) (GLbitfield mask);
-typedef void (GLAPIENTRY * PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void* data);
-typedef void (GLAPIENTRY * PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void* data);
-typedef void (GLAPIENTRY * PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void* data);
-typedef void (GLAPIENTRY * PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void* data);
-typedef void (GLAPIENTRY * PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void* data);
-typedef void (GLAPIENTRY * PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void* data);
-typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void* data);
-typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void* data);
-typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void* data);
-typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void* data);
-typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void* data);
-typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void* data);
-typedef void (GLAPIENTRY * PFNGLCOPYMULTITEXIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
-typedef void (GLAPIENTRY * PFNGLCOPYMULTITEXIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
-typedef void (GLAPIENTRY * PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
-typedef void (GLAPIENTRY * PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
-typedef void (GLAPIENTRY * PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
-typedef void (GLAPIENTRY * PFNGLCOPYTEXTUREIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
-typedef void (GLAPIENTRY * PFNGLCOPYTEXTUREIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
-typedef void (GLAPIENTRY * PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
-typedef void (GLAPIENTRY * PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
-typedef void (GLAPIENTRY * PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
-typedef void (GLAPIENTRY * PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC) (GLenum array, GLuint index);
-typedef void (GLAPIENTRY * PFNGLDISABLECLIENTSTATEIEXTPROC) (GLenum array, GLuint index);
-typedef void (GLAPIENTRY * PFNGLDISABLEVERTEXARRAYATTRIBEXTPROC) (GLuint vaobj, GLuint index);
-typedef void (GLAPIENTRY * PFNGLDISABLEVERTEXARRAYEXTPROC) (GLuint vaobj, GLenum array);
-typedef void (GLAPIENTRY * PFNGLENABLECLIENTSTATEINDEXEDEXTPROC) (GLenum array, GLuint index);
-typedef void (GLAPIENTRY * PFNGLENABLECLIENTSTATEIEXTPROC) (GLenum array, GLuint index);
-typedef void (GLAPIENTRY * PFNGLENABLEVERTEXARRAYATTRIBEXTPROC) (GLuint vaobj, GLuint index);
-typedef void (GLAPIENTRY * PFNGLENABLEVERTEXARRAYEXTPROC) (GLuint vaobj, GLenum array);
-typedef void (GLAPIENTRY * PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr length);
-typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC) (GLuint framebuffer, GLenum mode);
-typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC) (GLuint framebuffer, GLsizei n, const GLenum* bufs);
-typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERREADBUFFEREXTPROC) (GLuint framebuffer, GLenum mode);
-typedef void (GLAPIENTRY * PFNGLGENERATEMULTITEXMIPMAPEXTPROC) (GLenum texunit, GLenum target);
-typedef void (GLAPIENTRY * PFNGLGENERATETEXTUREMIPMAPEXTPROC) (GLuint texture, GLenum target);
-typedef void (GLAPIENTRY * PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC) (GLenum texunit, GLenum target, GLint level, void* img);
-typedef void (GLAPIENTRY * PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC) (GLuint texture, GLenum target, GLint level, void* img);
-typedef void (GLAPIENTRY * PFNGLGETDOUBLEINDEXEDVEXTPROC) (GLenum target, GLuint index, GLdouble* params);
-typedef void (GLAPIENTRY * PFNGLGETDOUBLEI_VEXTPROC) (GLenum pname, GLuint index, GLdouble* params);
-typedef void (GLAPIENTRY * PFNGLGETFLOATINDEXEDVEXTPROC) (GLenum target, GLuint index, GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLGETFLOATI_VEXTPROC) (GLenum pname, GLuint index, GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC) (GLuint framebuffer, GLenum pname, GLint* param);
-typedef void (GLAPIENTRY * PFNGLGETMULTITEXENVFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLGETMULTITEXENVIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint* params);
-typedef void (GLAPIENTRY * PFNGLGETMULTITEXGENDVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLdouble* params);
-typedef void (GLAPIENTRY * PFNGLGETMULTITEXGENFVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLGETMULTITEXGENIVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLint* params);
-typedef void (GLAPIENTRY * PFNGLGETMULTITEXIMAGEEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum format, GLenum type, void* pixels);
-typedef void (GLAPIENTRY * PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum pname, GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum pname, GLint* params);
-typedef void (GLAPIENTRY * PFNGLGETMULTITEXPARAMETERIIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint* params);
-typedef void (GLAPIENTRY * PFNGLGETMULTITEXPARAMETERIUIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLuint* params);
-typedef void (GLAPIENTRY * PFNGLGETMULTITEXPARAMETERFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLGETMULTITEXPARAMETERIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint* params);
-typedef void (GLAPIENTRY * PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC) (GLuint buffer, GLenum pname, GLint* params);
-typedef void (GLAPIENTRY * PFNGLGETNAMEDBUFFERPOINTERVEXTPROC) (GLuint buffer, GLenum pname, void** params);
-typedef void (GLAPIENTRY * PFNGLGETNAMEDBUFFERSUBDATAEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, void* data);
-typedef void (GLAPIENTRY * PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum pname, GLint* params);
-typedef void (GLAPIENTRY * PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC) (GLuint program, GLenum target, GLuint index, GLint* params);
-typedef void (GLAPIENTRY * PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC) (GLuint program, GLenum target, GLuint index, GLuint* params);
-typedef void (GLAPIENTRY * PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC) (GLuint program, GLenum target, GLuint index, GLdouble* params);
-typedef void (GLAPIENTRY * PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC) (GLuint program, GLenum target, GLuint index, GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLGETNAMEDPROGRAMSTRINGEXTPROC) (GLuint program, GLenum target, GLenum pname, void* string);
-typedef void (GLAPIENTRY * PFNGLGETNAMEDPROGRAMIVEXTPROC) (GLuint program, GLenum target, GLenum pname, GLint* params);
-typedef void (GLAPIENTRY * PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC) (GLuint renderbuffer, GLenum pname, GLint* params);
-typedef void (GLAPIENTRY * PFNGLGETPOINTERINDEXEDVEXTPROC) (GLenum target, GLuint index, GLvoid** params);
-typedef void (GLAPIENTRY * PFNGLGETPOINTERI_VEXTPROC) (GLenum pname, GLuint index, GLvoid** params);
-typedef void (GLAPIENTRY * PFNGLGETTEXTUREIMAGEEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, void* pixels);
-typedef void (GLAPIENTRY * PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum pname, GLint* params);
-typedef void (GLAPIENTRY * PFNGLGETTEXTUREPARAMETERIIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLint* params);
-typedef void (GLAPIENTRY * PFNGLGETTEXTUREPARAMETERIUIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLuint* params);
-typedef void (GLAPIENTRY * PFNGLGETTEXTUREPARAMETERFVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLGETTEXTUREPARAMETERIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLint* params);
-typedef void (GLAPIENTRY * PFNGLGETVERTEXARRAYINTEGERI_VEXTPROC) (GLuint vaobj, GLuint index, GLenum pname, GLint* param);
-typedef void (GLAPIENTRY * PFNGLGETVERTEXARRAYINTEGERVEXTPROC) (GLuint vaobj, GLenum pname, GLint* param);
-typedef void (GLAPIENTRY * PFNGLGETVERTEXARRAYPOINTERI_VEXTPROC) (GLuint vaobj, GLuint index, GLenum pname, GLvoid** param);
-typedef void (GLAPIENTRY * PFNGLGETVERTEXARRAYPOINTERVEXTPROC) (GLuint vaobj, GLenum pname, GLvoid** param);
-typedef GLvoid * (GLAPIENTRY * PFNGLMAPNAMEDBUFFEREXTPROC) (GLuint buffer, GLenum access);
-typedef GLvoid * (GLAPIENTRY * PFNGLMAPNAMEDBUFFERRANGEEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access);
-typedef void (GLAPIENTRY * PFNGLMATRIXFRUSTUMEXTPROC) (GLenum matrixMode, GLdouble l, GLdouble r, GLdouble b, GLdouble t, GLdouble n, GLdouble f);
-typedef void (GLAPIENTRY * PFNGLMATRIXLOADIDENTITYEXTPROC) (GLenum matrixMode);
-typedef void (GLAPIENTRY * PFNGLMATRIXLOADTRANSPOSEDEXTPROC) (GLenum matrixMode, const GLdouble* m);
-typedef void (GLAPIENTRY * PFNGLMATRIXLOADTRANSPOSEFEXTPROC) (GLenum matrixMode, const GLfloat* m);
-typedef void (GLAPIENTRY * PFNGLMATRIXLOADDEXTPROC) (GLenum matrixMode, const GLdouble* m);
-typedef void (GLAPIENTRY * PFNGLMATRIXLOADFEXTPROC) (GLenum matrixMode, const GLfloat* m);
-typedef void (GLAPIENTRY * PFNGLMATRIXMULTTRANSPOSEDEXTPROC) (GLenum matrixMode, const GLdouble* m);
-typedef void (GLAPIENTRY * PFNGLMATRIXMULTTRANSPOSEFEXTPROC) (GLenum matrixMode, const GLfloat* m);
-typedef void (GLAPIENTRY * PFNGLMATRIXMULTDEXTPROC) (GLenum matrixMode, const GLdouble* m);
-typedef void (GLAPIENTRY * PFNGLMATRIXMULTFEXTPROC) (GLenum matrixMode, const GLfloat* m);
-typedef void (GLAPIENTRY * PFNGLMATRIXORTHOEXTPROC) (GLenum matrixMode, GLdouble l, GLdouble r, GLdouble b, GLdouble t, GLdouble n, GLdouble f);
-typedef void (GLAPIENTRY * PFNGLMATRIXPOPEXTPROC) (GLenum matrixMode);
-typedef void (GLAPIENTRY * PFNGLMATRIXPUSHEXTPROC) (GLenum matrixMode);
-typedef void (GLAPIENTRY * PFNGLMATRIXROTATEDEXTPROC) (GLenum matrixMode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z);
-typedef void (GLAPIENTRY * PFNGLMATRIXROTATEFEXTPROC) (GLenum matrixMode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
-typedef void (GLAPIENTRY * PFNGLMATRIXSCALEDEXTPROC) (GLenum matrixMode, GLdouble x, GLdouble y, GLdouble z);
-typedef void (GLAPIENTRY * PFNGLMATRIXSCALEFEXTPROC) (GLenum matrixMode, GLfloat x, GLfloat y, GLfloat z);
-typedef void (GLAPIENTRY * PFNGLMATRIXTRANSLATEDEXTPROC) (GLenum matrixMode, GLdouble x, GLdouble y, GLdouble z);
-typedef void (GLAPIENTRY * PFNGLMATRIXTRANSLATEFEXTPROC) (GLenum matrixMode, GLfloat x, GLfloat y, GLfloat z);
-typedef void (GLAPIENTRY * PFNGLMULTITEXBUFFEREXTPROC) (GLenum texunit, GLenum target, GLenum internalformat, GLuint buffer);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORDPOINTEREXTPROC) (GLenum texunit, GLint size, GLenum type, GLsizei stride, const void* pointer);
-typedef void (GLAPIENTRY * PFNGLMULTITEXENVFEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat param);
-typedef void (GLAPIENTRY * PFNGLMULTITEXENVFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLMULTITEXENVIEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint param);
-typedef void (GLAPIENTRY * PFNGLMULTITEXENVIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLint* params);
-typedef void (GLAPIENTRY * PFNGLMULTITEXGENDEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLdouble param);
-typedef void (GLAPIENTRY * PFNGLMULTITEXGENDVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, const GLdouble* params);
-typedef void (GLAPIENTRY * PFNGLMULTITEXGENFEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLfloat param);
-typedef void (GLAPIENTRY * PFNGLMULTITEXGENFVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, const GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLMULTITEXGENIEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLint param);
-typedef void (GLAPIENTRY * PFNGLMULTITEXGENIVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, const GLint* params);
-typedef void (GLAPIENTRY * PFNGLMULTITEXIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void* pixels);
-typedef void (GLAPIENTRY * PFNGLMULTITEXIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void* pixels);
-typedef void (GLAPIENTRY * PFNGLMULTITEXIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void* pixels);
-typedef void (GLAPIENTRY * PFNGLMULTITEXPARAMETERIIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLint* params);
-typedef void (GLAPIENTRY * PFNGLMULTITEXPARAMETERIUIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLuint* params);
-typedef void (GLAPIENTRY * PFNGLMULTITEXPARAMETERFEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat param);
-typedef void (GLAPIENTRY * PFNGLMULTITEXPARAMETERFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLfloat* param);
-typedef void (GLAPIENTRY * PFNGLMULTITEXPARAMETERIEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint param);
-typedef void (GLAPIENTRY * PFNGLMULTITEXPARAMETERIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLint* param);
-typedef void (GLAPIENTRY * PFNGLMULTITEXRENDERBUFFEREXTPROC) (GLenum texunit, GLenum target, GLuint renderbuffer);
-typedef void (GLAPIENTRY * PFNGLMULTITEXSUBIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void* pixels);
-typedef void (GLAPIENTRY * PFNGLMULTITEXSUBIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void* pixels);
-typedef void (GLAPIENTRY * PFNGLMULTITEXSUBIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void* pixels);
-typedef void (GLAPIENTRY * PFNGLNAMEDBUFFERDATAEXTPROC) (GLuint buffer, GLsizeiptr size, const void* data, GLenum usage);
-typedef void (GLAPIENTRY * PFNGLNAMEDBUFFERSUBDATAEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, const void* data);
-typedef void (GLAPIENTRY * PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC) (GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
-typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC) (GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
-typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
-typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
-typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
-typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level);
-typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLenum face);
-typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer);
-typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC) (GLuint program, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
-typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLdouble* params);
-typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC) (GLuint program, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
-typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC) (GLuint program, GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);
-typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLint* params);
-typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC) (GLuint program, GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
-typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLuint* params);
-typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC) (GLuint program, GLenum target, GLuint index, GLsizei count, const GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC) (GLuint program, GLenum target, GLuint index, GLsizei count, const GLint* params);
-typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC) (GLuint program, GLenum target, GLuint index, GLsizei count, const GLuint* params);
-typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMSTRINGEXTPROC) (GLuint program, GLenum target, GLenum format, GLsizei len, const void* string);
-typedef void (GLAPIENTRY * PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC) (GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height);
-typedef void (GLAPIENTRY * PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC) (GLuint renderbuffer, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height);
-typedef void (GLAPIENTRY * PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
-typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1FEXTPROC) (GLuint program, GLint location, GLfloat v0);
-typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat* value);
-typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1IEXTPROC) (GLuint program, GLint location, GLint v0);
-typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint* value);
-typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1UIEXTPROC) (GLuint program, GLint location, GLuint v0);
-typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint* value);
-typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1);
-typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat* value);
-typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1);
-typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint* value);
-typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1);
-typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint* value);
-typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
-typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat* value);
-typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
-typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint* value);
-typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
-typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint* value);
-typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
-typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat* value);
-typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
-typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint* value);
-typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
-typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint* value);
-typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
-typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
-typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
-typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
-typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
-typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
-typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
-typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
-typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
-typedef void (GLAPIENTRY * PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC) (GLbitfield mask);
-typedef void (GLAPIENTRY * PFNGLTEXTUREBUFFEREXTPROC) (GLuint texture, GLenum target, GLenum internalformat, GLuint buffer);
-typedef void (GLAPIENTRY * PFNGLTEXTUREIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void* pixels);
-typedef void (GLAPIENTRY * PFNGLTEXTUREIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void* pixels);
-typedef void (GLAPIENTRY * PFNGLTEXTUREIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void* pixels);
-typedef void (GLAPIENTRY * PFNGLTEXTUREPARAMETERIIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLint* params);
-typedef void (GLAPIENTRY * PFNGLTEXTUREPARAMETERIUIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLuint* params);
-typedef void (GLAPIENTRY * PFNGLTEXTUREPARAMETERFEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLfloat param);
-typedef void (GLAPIENTRY * PFNGLTEXTUREPARAMETERFVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLfloat* param);
-typedef void (GLAPIENTRY * PFNGLTEXTUREPARAMETERIEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLint param);
-typedef void (GLAPIENTRY * PFNGLTEXTUREPARAMETERIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLint* param);
-typedef void (GLAPIENTRY * PFNGLTEXTURERENDERBUFFEREXTPROC) (GLuint texture, GLenum target, GLuint renderbuffer);
-typedef void (GLAPIENTRY * PFNGLTEXTURESUBIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void* pixels);
-typedef void (GLAPIENTRY * PFNGLTEXTURESUBIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void* pixels);
-typedef void (GLAPIENTRY * PFNGLTEXTURESUBIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void* pixels);
-typedef GLboolean (GLAPIENTRY * PFNGLUNMAPNAMEDBUFFEREXTPROC) (GLuint buffer);
-typedef void (GLAPIENTRY * PFNGLVERTEXARRAYCOLOROFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset);
-typedef void (GLAPIENTRY * PFNGLVERTEXARRAYEDGEFLAGOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLsizei stride, GLintptr offset);
-typedef void (GLAPIENTRY * PFNGLVERTEXARRAYFOGCOORDOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset);
-typedef void (GLAPIENTRY * PFNGLVERTEXARRAYINDEXOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset);
-typedef void (GLAPIENTRY * PFNGLVERTEXARRAYMULTITEXCOORDOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLenum texunit, GLint size, GLenum type, GLsizei stride, GLintptr offset);
-typedef void (GLAPIENTRY * PFNGLVERTEXARRAYNORMALOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset);
-typedef void (GLAPIENTRY * PFNGLVERTEXARRAYSECONDARYCOLOROFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset);
-typedef void (GLAPIENTRY * PFNGLVERTEXARRAYTEXCOORDOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset);
-typedef void (GLAPIENTRY * PFNGLVERTEXARRAYVERTEXATTRIBIOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset);
-typedef void (GLAPIENTRY * PFNGLVERTEXARRAYVERTEXATTRIBOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLintptr offset);
-typedef void (GLAPIENTRY * PFNGLVERTEXARRAYVERTEXOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset);
-
-#define glBindMultiTextureEXT GLEW_GET_FUN(__glewBindMultiTextureEXT)
-#define glCheckNamedFramebufferStatusEXT GLEW_GET_FUN(__glewCheckNamedFramebufferStatusEXT)
-#define glClientAttribDefaultEXT GLEW_GET_FUN(__glewClientAttribDefaultEXT)
-#define glCompressedMultiTexImage1DEXT GLEW_GET_FUN(__glewCompressedMultiTexImage1DEXT)
-#define glCompressedMultiTexImage2DEXT GLEW_GET_FUN(__glewCompressedMultiTexImage2DEXT)
-#define glCompressedMultiTexImage3DEXT GLEW_GET_FUN(__glewCompressedMultiTexImage3DEXT)
-#define glCompressedMultiTexSubImage1DEXT GLEW_GET_FUN(__glewCompressedMultiTexSubImage1DEXT)
-#define glCompressedMultiTexSubImage2DEXT GLEW_GET_FUN(__glewCompressedMultiTexSubImage2DEXT)
-#define glCompressedMultiTexSubImage3DEXT GLEW_GET_FUN(__glewCompressedMultiTexSubImage3DEXT)
-#define glCompressedTextureImage1DEXT GLEW_GET_FUN(__glewCompressedTextureImage1DEXT)
-#define glCompressedTextureImage2DEXT GLEW_GET_FUN(__glewCompressedTextureImage2DEXT)
-#define glCompressedTextureImage3DEXT GLEW_GET_FUN(__glewCompressedTextureImage3DEXT)
-#define glCompressedTextureSubImage1DEXT GLEW_GET_FUN(__glewCompressedTextureSubImage1DEXT)
-#define glCompressedTextureSubImage2DEXT GLEW_GET_FUN(__glewCompressedTextureSubImage2DEXT)
-#define glCompressedTextureSubImage3DEXT GLEW_GET_FUN(__glewCompressedTextureSubImage3DEXT)
-#define glCopyMultiTexImage1DEXT GLEW_GET_FUN(__glewCopyMultiTexImage1DEXT)
-#define glCopyMultiTexImage2DEXT GLEW_GET_FUN(__glewCopyMultiTexImage2DEXT)
-#define glCopyMultiTexSubImage1DEXT GLEW_GET_FUN(__glewCopyMultiTexSubImage1DEXT)
-#define glCopyMultiTexSubImage2DEXT GLEW_GET_FUN(__glewCopyMultiTexSubImage2DEXT)
-#define glCopyMultiTexSubImage3DEXT GLEW_GET_FUN(__glewCopyMultiTexSubImage3DEXT)
-#define glCopyTextureImage1DEXT GLEW_GET_FUN(__glewCopyTextureImage1DEXT)
-#define glCopyTextureImage2DEXT GLEW_GET_FUN(__glewCopyTextureImage2DEXT)
-#define glCopyTextureSubImage1DEXT GLEW_GET_FUN(__glewCopyTextureSubImage1DEXT)
-#define glCopyTextureSubImage2DEXT GLEW_GET_FUN(__glewCopyTextureSubImage2DEXT)
-#define glCopyTextureSubImage3DEXT GLEW_GET_FUN(__glewCopyTextureSubImage3DEXT)
-#define glDisableClientStateIndexedEXT GLEW_GET_FUN(__glewDisableClientStateIndexedEXT)
-#define glDisableClientStateiEXT GLEW_GET_FUN(__glewDisableClientStateiEXT)
-#define glDisableVertexArrayAttribEXT GLEW_GET_FUN(__glewDisableVertexArrayAttribEXT)
-#define glDisableVertexArrayEXT GLEW_GET_FUN(__glewDisableVertexArrayEXT)
-#define glEnableClientStateIndexedEXT GLEW_GET_FUN(__glewEnableClientStateIndexedEXT)
-#define glEnableClientStateiEXT GLEW_GET_FUN(__glewEnableClientStateiEXT)
-#define glEnableVertexArrayAttribEXT GLEW_GET_FUN(__glewEnableVertexArrayAttribEXT)
-#define glEnableVertexArrayEXT GLEW_GET_FUN(__glewEnableVertexArrayEXT)
-#define glFlushMappedNamedBufferRangeEXT GLEW_GET_FUN(__glewFlushMappedNamedBufferRangeEXT)
-#define glFramebufferDrawBufferEXT GLEW_GET_FUN(__glewFramebufferDrawBufferEXT)
-#define glFramebufferDrawBuffersEXT GLEW_GET_FUN(__glewFramebufferDrawBuffersEXT)
-#define glFramebufferReadBufferEXT GLEW_GET_FUN(__glewFramebufferReadBufferEXT)
-#define glGenerateMultiTexMipmapEXT GLEW_GET_FUN(__glewGenerateMultiTexMipmapEXT)
-#define glGenerateTextureMipmapEXT GLEW_GET_FUN(__glewGenerateTextureMipmapEXT)
-#define glGetCompressedMultiTexImageEXT GLEW_GET_FUN(__glewGetCompressedMultiTexImageEXT)
-#define glGetCompressedTextureImageEXT GLEW_GET_FUN(__glewGetCompressedTextureImageEXT)
-#define glGetDoubleIndexedvEXT GLEW_GET_FUN(__glewGetDoubleIndexedvEXT)
-#define glGetDoublei_vEXT GLEW_GET_FUN(__glewGetDoublei_vEXT)
-#define glGetFloatIndexedvEXT GLEW_GET_FUN(__glewGetFloatIndexedvEXT)
-#define glGetFloati_vEXT GLEW_GET_FUN(__glewGetFloati_vEXT)
-#define glGetFramebufferParameterivEXT GLEW_GET_FUN(__glewGetFramebufferParameterivEXT)
-#define glGetMultiTexEnvfvEXT GLEW_GET_FUN(__glewGetMultiTexEnvfvEXT)
-#define glGetMultiTexEnvivEXT GLEW_GET_FUN(__glewGetMultiTexEnvivEXT)
-#define glGetMultiTexGendvEXT GLEW_GET_FUN(__glewGetMultiTexGendvEXT)
-#define glGetMultiTexGenfvEXT GLEW_GET_FUN(__glewGetMultiTexGenfvEXT)
-#define glGetMultiTexGenivEXT GLEW_GET_FUN(__glewGetMultiTexGenivEXT)
-#define glGetMultiTexImageEXT GLEW_GET_FUN(__glewGetMultiTexImageEXT)
-#define glGetMultiTexLevelParameterfvEXT GLEW_GET_FUN(__glewGetMultiTexLevelParameterfvEXT)
-#define glGetMultiTexLevelParameterivEXT GLEW_GET_FUN(__glewGetMultiTexLevelParameterivEXT)
-#define glGetMultiTexParameterIivEXT GLEW_GET_FUN(__glewGetMultiTexParameterIivEXT)
-#define glGetMultiTexParameterIuivEXT GLEW_GET_FUN(__glewGetMultiTexParameterIuivEXT)
-#define glGetMultiTexParameterfvEXT GLEW_GET_FUN(__glewGetMultiTexParameterfvEXT)
-#define glGetMultiTexParameterivEXT GLEW_GET_FUN(__glewGetMultiTexParameterivEXT)
-#define glGetNamedBufferParameterivEXT GLEW_GET_FUN(__glewGetNamedBufferParameterivEXT)
-#define glGetNamedBufferPointervEXT GLEW_GET_FUN(__glewGetNamedBufferPointervEXT)
-#define glGetNamedBufferSubDataEXT GLEW_GET_FUN(__glewGetNamedBufferSubDataEXT)
-#define glGetNamedFramebufferAttachmentParameterivEXT GLEW_GET_FUN(__glewGetNamedFramebufferAttachmentParameterivEXT)
-#define glGetNamedProgramLocalParameterIivEXT GLEW_GET_FUN(__glewGetNamedProgramLocalParameterIivEXT)
-#define glGetNamedProgramLocalParameterIuivEXT GLEW_GET_FUN(__glewGetNamedProgramLocalParameterIuivEXT)
-#define glGetNamedProgramLocalParameterdvEXT GLEW_GET_FUN(__glewGetNamedProgramLocalParameterdvEXT)
-#define glGetNamedProgramLocalParameterfvEXT GLEW_GET_FUN(__glewGetNamedProgramLocalParameterfvEXT)
-#define glGetNamedProgramStringEXT GLEW_GET_FUN(__glewGetNamedProgramStringEXT)
-#define glGetNamedProgramivEXT GLEW_GET_FUN(__glewGetNamedProgramivEXT)
-#define glGetNamedRenderbufferParameterivEXT GLEW_GET_FUN(__glewGetNamedRenderbufferParameterivEXT)
-#define glGetPointerIndexedvEXT GLEW_GET_FUN(__glewGetPointerIndexedvEXT)
-#define glGetPointeri_vEXT GLEW_GET_FUN(__glewGetPointeri_vEXT)
-#define glGetTextureImageEXT GLEW_GET_FUN(__glewGetTextureImageEXT)
-#define glGetTextureLevelParameterfvEXT GLEW_GET_FUN(__glewGetTextureLevelParameterfvEXT)
-#define glGetTextureLevelParameterivEXT GLEW_GET_FUN(__glewGetTextureLevelParameterivEXT)
-#define glGetTextureParameterIivEXT GLEW_GET_FUN(__glewGetTextureParameterIivEXT)
-#define glGetTextureParameterIuivEXT GLEW_GET_FUN(__glewGetTextureParameterIuivEXT)
-#define glGetTextureParameterfvEXT GLEW_GET_FUN(__glewGetTextureParameterfvEXT)
-#define glGetTextureParameterivEXT GLEW_GET_FUN(__glewGetTextureParameterivEXT)
-#define glGetVertexArrayIntegeri_vEXT GLEW_GET_FUN(__glewGetVertexArrayIntegeri_vEXT)
-#define glGetVertexArrayIntegervEXT GLEW_GET_FUN(__glewGetVertexArrayIntegervEXT)
-#define glGetVertexArrayPointeri_vEXT GLEW_GET_FUN(__glewGetVertexArrayPointeri_vEXT)
-#define glGetVertexArrayPointervEXT GLEW_GET_FUN(__glewGetVertexArrayPointervEXT)
-#define glMapNamedBufferEXT GLEW_GET_FUN(__glewMapNamedBufferEXT)
-#define glMapNamedBufferRangeEXT GLEW_GET_FUN(__glewMapNamedBufferRangeEXT)
-#define glMatrixFrustumEXT GLEW_GET_FUN(__glewMatrixFrustumEXT)
-#define glMatrixLoadIdentityEXT GLEW_GET_FUN(__glewMatrixLoadIdentityEXT)
-#define glMatrixLoadTransposedEXT GLEW_GET_FUN(__glewMatrixLoadTransposedEXT)
-#define glMatrixLoadTransposefEXT GLEW_GET_FUN(__glewMatrixLoadTransposefEXT)
-#define glMatrixLoaddEXT GLEW_GET_FUN(__glewMatrixLoaddEXT)
-#define glMatrixLoadfEXT GLEW_GET_FUN(__glewMatrixLoadfEXT)
-#define glMatrixMultTransposedEXT GLEW_GET_FUN(__glewMatrixMultTransposedEXT)
-#define glMatrixMultTransposefEXT GLEW_GET_FUN(__glewMatrixMultTransposefEXT)
-#define glMatrixMultdEXT GLEW_GET_FUN(__glewMatrixMultdEXT)
-#define glMatrixMultfEXT GLEW_GET_FUN(__glewMatrixMultfEXT)
-#define glMatrixOrthoEXT GLEW_GET_FUN(__glewMatrixOrthoEXT)
-#define glMatrixPopEXT GLEW_GET_FUN(__glewMatrixPopEXT)
-#define glMatrixPushEXT GLEW_GET_FUN(__glewMatrixPushEXT)
-#define glMatrixRotatedEXT GLEW_GET_FUN(__glewMatrixRotatedEXT)
-#define glMatrixRotatefEXT GLEW_GET_FUN(__glewMatrixRotatefEXT)
-#define glMatrixScaledEXT GLEW_GET_FUN(__glewMatrixScaledEXT)
-#define glMatrixScalefEXT GLEW_GET_FUN(__glewMatrixScalefEXT)
-#define glMatrixTranslatedEXT GLEW_GET_FUN(__glewMatrixTranslatedEXT)
-#define glMatrixTranslatefEXT GLEW_GET_FUN(__glewMatrixTranslatefEXT)
-#define glMultiTexBufferEXT GLEW_GET_FUN(__glewMultiTexBufferEXT)
-#define glMultiTexCoordPointerEXT GLEW_GET_FUN(__glewMultiTexCoordPointerEXT)
-#define glMultiTexEnvfEXT GLEW_GET_FUN(__glewMultiTexEnvfEXT)
-#define glMultiTexEnvfvEXT GLEW_GET_FUN(__glewMultiTexEnvfvEXT)
-#define glMultiTexEnviEXT GLEW_GET_FUN(__glewMultiTexEnviEXT)
-#define glMultiTexEnvivEXT GLEW_GET_FUN(__glewMultiTexEnvivEXT)
-#define glMultiTexGendEXT GLEW_GET_FUN(__glewMultiTexGendEXT)
-#define glMultiTexGendvEXT GLEW_GET_FUN(__glewMultiTexGendvEXT)
-#define glMultiTexGenfEXT GLEW_GET_FUN(__glewMultiTexGenfEXT)
-#define glMultiTexGenfvEXT GLEW_GET_FUN(__glewMultiTexGenfvEXT)
-#define glMultiTexGeniEXT GLEW_GET_FUN(__glewMultiTexGeniEXT)
-#define glMultiTexGenivEXT GLEW_GET_FUN(__glewMultiTexGenivEXT)
-#define glMultiTexImage1DEXT GLEW_GET_FUN(__glewMultiTexImage1DEXT)
-#define glMultiTexImage2DEXT GLEW_GET_FUN(__glewMultiTexImage2DEXT)
-#define glMultiTexImage3DEXT GLEW_GET_FUN(__glewMultiTexImage3DEXT)
-#define glMultiTexParameterIivEXT GLEW_GET_FUN(__glewMultiTexParameterIivEXT)
-#define glMultiTexParameterIuivEXT GLEW_GET_FUN(__glewMultiTexParameterIuivEXT)
-#define glMultiTexParameterfEXT GLEW_GET_FUN(__glewMultiTexParameterfEXT)
-#define glMultiTexParameterfvEXT GLEW_GET_FUN(__glewMultiTexParameterfvEXT)
-#define glMultiTexParameteriEXT GLEW_GET_FUN(__glewMultiTexParameteriEXT)
-#define glMultiTexParameterivEXT GLEW_GET_FUN(__glewMultiTexParameterivEXT)
-#define glMultiTexRenderbufferEXT GLEW_GET_FUN(__glewMultiTexRenderbufferEXT)
-#define glMultiTexSubImage1DEXT GLEW_GET_FUN(__glewMultiTexSubImage1DEXT)
-#define glMultiTexSubImage2DEXT GLEW_GET_FUN(__glewMultiTexSubImage2DEXT)
-#define glMultiTexSubImage3DEXT GLEW_GET_FUN(__glewMultiTexSubImage3DEXT)
-#define glNamedBufferDataEXT GLEW_GET_FUN(__glewNamedBufferDataEXT)
-#define glNamedBufferSubDataEXT GLEW_GET_FUN(__glewNamedBufferSubDataEXT)
-#define glNamedCopyBufferSubDataEXT GLEW_GET_FUN(__glewNamedCopyBufferSubDataEXT)
-#define glNamedFramebufferRenderbufferEXT GLEW_GET_FUN(__glewNamedFramebufferRenderbufferEXT)
-#define glNamedFramebufferTexture1DEXT GLEW_GET_FUN(__glewNamedFramebufferTexture1DEXT)
-#define glNamedFramebufferTexture2DEXT GLEW_GET_FUN(__glewNamedFramebufferTexture2DEXT)
-#define glNamedFramebufferTexture3DEXT GLEW_GET_FUN(__glewNamedFramebufferTexture3DEXT)
-#define glNamedFramebufferTextureEXT GLEW_GET_FUN(__glewNamedFramebufferTextureEXT)
-#define glNamedFramebufferTextureFaceEXT GLEW_GET_FUN(__glewNamedFramebufferTextureFaceEXT)
-#define glNamedFramebufferTextureLayerEXT GLEW_GET_FUN(__glewNamedFramebufferTextureLayerEXT)
-#define glNamedProgramLocalParameter4dEXT GLEW_GET_FUN(__glewNamedProgramLocalParameter4dEXT)
-#define glNamedProgramLocalParameter4dvEXT GLEW_GET_FUN(__glewNamedProgramLocalParameter4dvEXT)
-#define glNamedProgramLocalParameter4fEXT GLEW_GET_FUN(__glewNamedProgramLocalParameter4fEXT)
-#define glNamedProgramLocalParameter4fvEXT GLEW_GET_FUN(__glewNamedProgramLocalParameter4fvEXT)
-#define glNamedProgramLocalParameterI4iEXT GLEW_GET_FUN(__glewNamedProgramLocalParameterI4iEXT)
-#define glNamedProgramLocalParameterI4ivEXT GLEW_GET_FUN(__glewNamedProgramLocalParameterI4ivEXT)
-#define glNamedProgramLocalParameterI4uiEXT GLEW_GET_FUN(__glewNamedProgramLocalParameterI4uiEXT)
-#define glNamedProgramLocalParameterI4uivEXT GLEW_GET_FUN(__glewNamedProgramLocalParameterI4uivEXT)
-#define glNamedProgramLocalParameters4fvEXT GLEW_GET_FUN(__glewNamedProgramLocalParameters4fvEXT)
-#define glNamedProgramLocalParametersI4ivEXT GLEW_GET_FUN(__glewNamedProgramLocalParametersI4ivEXT)
-#define glNamedProgramLocalParametersI4uivEXT GLEW_GET_FUN(__glewNamedProgramLocalParametersI4uivEXT)
-#define glNamedProgramStringEXT GLEW_GET_FUN(__glewNamedProgramStringEXT)
-#define glNamedRenderbufferStorageEXT GLEW_GET_FUN(__glewNamedRenderbufferStorageEXT)
-#define glNamedRenderbufferStorageMultisampleCoverageEXT GLEW_GET_FUN(__glewNamedRenderbufferStorageMultisampleCoverageEXT)
-#define glNamedRenderbufferStorageMultisampleEXT GLEW_GET_FUN(__glewNamedRenderbufferStorageMultisampleEXT)
-#define glProgramUniform1fEXT GLEW_GET_FUN(__glewProgramUniform1fEXT)
-#define glProgramUniform1fvEXT GLEW_GET_FUN(__glewProgramUniform1fvEXT)
-#define glProgramUniform1iEXT GLEW_GET_FUN(__glewProgramUniform1iEXT)
-#define glProgramUniform1ivEXT GLEW_GET_FUN(__glewProgramUniform1ivEXT)
-#define glProgramUniform1uiEXT GLEW_GET_FUN(__glewProgramUniform1uiEXT)
-#define glProgramUniform1uivEXT GLEW_GET_FUN(__glewProgramUniform1uivEXT)
-#define glProgramUniform2fEXT GLEW_GET_FUN(__glewProgramUniform2fEXT)
-#define glProgramUniform2fvEXT GLEW_GET_FUN(__glewProgramUniform2fvEXT)
-#define glProgramUniform2iEXT GLEW_GET_FUN(__glewProgramUniform2iEXT)
-#define glProgramUniform2ivEXT GLEW_GET_FUN(__glewProgramUniform2ivEXT)
-#define glProgramUniform2uiEXT GLEW_GET_FUN(__glewProgramUniform2uiEXT)
-#define glProgramUniform2uivEXT GLEW_GET_FUN(__glewProgramUniform2uivEXT)
-#define glProgramUniform3fEXT GLEW_GET_FUN(__glewProgramUniform3fEXT)
-#define glProgramUniform3fvEXT GLEW_GET_FUN(__glewProgramUniform3fvEXT)
-#define glProgramUniform3iEXT GLEW_GET_FUN(__glewProgramUniform3iEXT)
-#define glProgramUniform3ivEXT GLEW_GET_FUN(__glewProgramUniform3ivEXT)
-#define glProgramUniform3uiEXT GLEW_GET_FUN(__glewProgramUniform3uiEXT)
-#define glProgramUniform3uivEXT GLEW_GET_FUN(__glewProgramUniform3uivEXT)
-#define glProgramUniform4fEXT GLEW_GET_FUN(__glewProgramUniform4fEXT)
-#define glProgramUniform4fvEXT GLEW_GET_FUN(__glewProgramUniform4fvEXT)
-#define glProgramUniform4iEXT GLEW_GET_FUN(__glewProgramUniform4iEXT)
-#define glProgramUniform4ivEXT GLEW_GET_FUN(__glewProgramUniform4ivEXT)
-#define glProgramUniform4uiEXT GLEW_GET_FUN(__glewProgramUniform4uiEXT)
-#define glProgramUniform4uivEXT GLEW_GET_FUN(__glewProgramUniform4uivEXT)
-#define glProgramUniformMatrix2fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix2fvEXT)
-#define glProgramUniformMatrix2x3fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix2x3fvEXT)
-#define glProgramUniformMatrix2x4fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix2x4fvEXT)
-#define glProgramUniformMatrix3fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix3fvEXT)
-#define glProgramUniformMatrix3x2fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix3x2fvEXT)
-#define glProgramUniformMatrix3x4fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix3x4fvEXT)
-#define glProgramUniformMatrix4fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix4fvEXT)
-#define glProgramUniformMatrix4x2fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix4x2fvEXT)
-#define glProgramUniformMatrix4x3fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix4x3fvEXT)
-#define glPushClientAttribDefaultEXT GLEW_GET_FUN(__glewPushClientAttribDefaultEXT)
-#define glTextureBufferEXT GLEW_GET_FUN(__glewTextureBufferEXT)
-#define glTextureImage1DEXT GLEW_GET_FUN(__glewTextureImage1DEXT)
-#define glTextureImage2DEXT GLEW_GET_FUN(__glewTextureImage2DEXT)
-#define glTextureImage3DEXT GLEW_GET_FUN(__glewTextureImage3DEXT)
-#define glTextureParameterIivEXT GLEW_GET_FUN(__glewTextureParameterIivEXT)
-#define glTextureParameterIuivEXT GLEW_GET_FUN(__glewTextureParameterIuivEXT)
-#define glTextureParameterfEXT GLEW_GET_FUN(__glewTextureParameterfEXT)
-#define glTextureParameterfvEXT GLEW_GET_FUN(__glewTextureParameterfvEXT)
-#define glTextureParameteriEXT GLEW_GET_FUN(__glewTextureParameteriEXT)
-#define glTextureParameterivEXT GLEW_GET_FUN(__glewTextureParameterivEXT)
-#define glTextureRenderbufferEXT GLEW_GET_FUN(__glewTextureRenderbufferEXT)
-#define glTextureSubImage1DEXT GLEW_GET_FUN(__glewTextureSubImage1DEXT)
-#define glTextureSubImage2DEXT GLEW_GET_FUN(__glewTextureSubImage2DEXT)
-#define glTextureSubImage3DEXT GLEW_GET_FUN(__glewTextureSubImage3DEXT)
-#define glUnmapNamedBufferEXT GLEW_GET_FUN(__glewUnmapNamedBufferEXT)
-#define glVertexArrayColorOffsetEXT GLEW_GET_FUN(__glewVertexArrayColorOffsetEXT)
-#define glVertexArrayEdgeFlagOffsetEXT GLEW_GET_FUN(__glewVertexArrayEdgeFlagOffsetEXT)
-#define glVertexArrayFogCoordOffsetEXT GLEW_GET_FUN(__glewVertexArrayFogCoordOffsetEXT)
-#define glVertexArrayIndexOffsetEXT GLEW_GET_FUN(__glewVertexArrayIndexOffsetEXT)
-#define glVertexArrayMultiTexCoordOffsetEXT GLEW_GET_FUN(__glewVertexArrayMultiTexCoordOffsetEXT)
-#define glVertexArrayNormalOffsetEXT GLEW_GET_FUN(__glewVertexArrayNormalOffsetEXT)
-#define glVertexArraySecondaryColorOffsetEXT GLEW_GET_FUN(__glewVertexArraySecondaryColorOffsetEXT)
-#define glVertexArrayTexCoordOffsetEXT GLEW_GET_FUN(__glewVertexArrayTexCoordOffsetEXT)
-#define glVertexArrayVertexAttribIOffsetEXT GLEW_GET_FUN(__glewVertexArrayVertexAttribIOffsetEXT)
-#define glVertexArrayVertexAttribOffsetEXT GLEW_GET_FUN(__glewVertexArrayVertexAttribOffsetEXT)
-#define glVertexArrayVertexOffsetEXT GLEW_GET_FUN(__glewVertexArrayVertexOffsetEXT)
-
-#define GLEW_EXT_direct_state_access GLEW_GET_VAR(__GLEW_EXT_direct_state_access)
-
-#endif /* GL_EXT_direct_state_access */
-
-/* -------------------------- GL_EXT_draw_buffers2 ------------------------- */
-
-#ifndef GL_EXT_draw_buffers2
-#define GL_EXT_draw_buffers2 1
-
-typedef void (GLAPIENTRY * PFNGLCOLORMASKINDEXEDEXTPROC) (GLuint buf, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
-typedef void (GLAPIENTRY * PFNGLDISABLEINDEXEDEXTPROC) (GLenum target, GLuint index);
-typedef void (GLAPIENTRY * PFNGLENABLEINDEXEDEXTPROC) (GLenum target, GLuint index);
-typedef void (GLAPIENTRY * PFNGLGETBOOLEANINDEXEDVEXTPROC) (GLenum value, GLuint index, GLboolean* data);
-typedef void (GLAPIENTRY * PFNGLGETINTEGERINDEXEDVEXTPROC) (GLenum value, GLuint index, GLint* data);
-typedef GLboolean (GLAPIENTRY * PFNGLISENABLEDINDEXEDEXTPROC) (GLenum target, GLuint index);
-
-#define glColorMaskIndexedEXT GLEW_GET_FUN(__glewColorMaskIndexedEXT)
-#define glDisableIndexedEXT GLEW_GET_FUN(__glewDisableIndexedEXT)
-#define glEnableIndexedEXT GLEW_GET_FUN(__glewEnableIndexedEXT)
-#define glGetBooleanIndexedvEXT GLEW_GET_FUN(__glewGetBooleanIndexedvEXT)
-#define glGetIntegerIndexedvEXT GLEW_GET_FUN(__glewGetIntegerIndexedvEXT)
-#define glIsEnabledIndexedEXT GLEW_GET_FUN(__glewIsEnabledIndexedEXT)
-
-#define GLEW_EXT_draw_buffers2 GLEW_GET_VAR(__GLEW_EXT_draw_buffers2)
-
-#endif /* GL_EXT_draw_buffers2 */
-
-/* ------------------------- GL_EXT_draw_instanced ------------------------- */
-
-#ifndef GL_EXT_draw_instanced
-#define GL_EXT_draw_instanced 1
-
-typedef void (GLAPIENTRY * PFNGLDRAWARRAYSINSTANCEDEXTPROC) (GLenum mode, GLint start, GLsizei count, GLsizei primcount);
-typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINSTANCEDEXTPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);
-
-#define glDrawArraysInstancedEXT GLEW_GET_FUN(__glewDrawArraysInstancedEXT)
-#define glDrawElementsInstancedEXT GLEW_GET_FUN(__glewDrawElementsInstancedEXT)
-
-#define GLEW_EXT_draw_instanced GLEW_GET_VAR(__GLEW_EXT_draw_instanced)
-
-#endif /* GL_EXT_draw_instanced */
-
-/* ----------------------- GL_EXT_draw_range_elements ---------------------- */
-
-#ifndef GL_EXT_draw_range_elements
-#define GL_EXT_draw_range_elements 1
-
-#define GL_MAX_ELEMENTS_VERTICES 0x80E8
-#define GL_MAX_ELEMENTS_INDICES 0x80E9
-
-typedef void (GLAPIENTRY * PFNGLDRAWRANGEELEMENTSEXTPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);
-
-#define glDrawRangeElementsEXT GLEW_GET_FUN(__glewDrawRangeElementsEXT)
-
-#define GLEW_EXT_draw_range_elements GLEW_GET_VAR(__GLEW_EXT_draw_range_elements)
-
-#endif /* GL_EXT_draw_range_elements */
-
-/* ---------------------------- GL_EXT_fog_coord --------------------------- */
-
-#ifndef GL_EXT_fog_coord
-#define GL_EXT_fog_coord 1
-
-#define GL_FOG_COORDINATE_SOURCE_EXT 0x8450
-#define GL_FOG_COORDINATE_EXT 0x8451
-#define GL_FRAGMENT_DEPTH_EXT 0x8452
-#define GL_CURRENT_FOG_COORDINATE_EXT 0x8453
-#define GL_FOG_COORDINATE_ARRAY_TYPE_EXT 0x8454
-#define GL_FOG_COORDINATE_ARRAY_STRIDE_EXT 0x8455
-#define GL_FOG_COORDINATE_ARRAY_POINTER_EXT 0x8456
-#define GL_FOG_COORDINATE_ARRAY_EXT 0x8457
-
-typedef void (GLAPIENTRY * PFNGLFOGCOORDPOINTEREXTPROC) (GLenum type, GLsizei stride, const GLvoid *pointer);
-typedef void (GLAPIENTRY * PFNGLFOGCOORDDEXTPROC) (GLdouble coord);
-typedef void (GLAPIENTRY * PFNGLFOGCOORDDVEXTPROC) (const GLdouble *coord);
-typedef void (GLAPIENTRY * PFNGLFOGCOORDFEXTPROC) (GLfloat coord);
-typedef void (GLAPIENTRY * PFNGLFOGCOORDFVEXTPROC) (const GLfloat *coord);
-
-#define glFogCoordPointerEXT GLEW_GET_FUN(__glewFogCoordPointerEXT)
-#define glFogCoorddEXT GLEW_GET_FUN(__glewFogCoorddEXT)
-#define glFogCoorddvEXT GLEW_GET_FUN(__glewFogCoorddvEXT)
-#define glFogCoordfEXT GLEW_GET_FUN(__glewFogCoordfEXT)
-#define glFogCoordfvEXT GLEW_GET_FUN(__glewFogCoordfvEXT)
-
-#define GLEW_EXT_fog_coord GLEW_GET_VAR(__GLEW_EXT_fog_coord)
-
-#endif /* GL_EXT_fog_coord */
-
-/* ------------------------ GL_EXT_fragment_lighting ----------------------- */
-
-#ifndef GL_EXT_fragment_lighting
-#define GL_EXT_fragment_lighting 1
-
-#define GL_FRAGMENT_LIGHTING_EXT 0x8400
-#define GL_FRAGMENT_COLOR_MATERIAL_EXT 0x8401
-#define GL_FRAGMENT_COLOR_MATERIAL_FACE_EXT 0x8402
-#define GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_EXT 0x8403
-#define GL_MAX_FRAGMENT_LIGHTS_EXT 0x8404
-#define GL_MAX_ACTIVE_LIGHTS_EXT 0x8405
-#define GL_CURRENT_RASTER_NORMAL_EXT 0x8406
-#define GL_LIGHT_ENV_MODE_EXT 0x8407
-#define GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_EXT 0x8408
-#define GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_EXT 0x8409
-#define GL_FRAGMENT_LIGHT_MODEL_AMBIENT_EXT 0x840A
-#define GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_EXT 0x840B
-#define GL_FRAGMENT_LIGHT0_EXT 0x840C
-#define GL_FRAGMENT_LIGHT7_EXT 0x8413
-
-typedef void (GLAPIENTRY * PFNGLFRAGMENTCOLORMATERIALEXTPROC) (GLenum face, GLenum mode);
-typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTMODELFEXTPROC) (GLenum pname, GLfloat param);
-typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTMODELFVEXTPROC) (GLenum pname, GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTMODELIEXTPROC) (GLenum pname, GLint param);
-typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTMODELIVEXTPROC) (GLenum pname, GLint* params);
-typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTFEXTPROC) (GLenum light, GLenum pname, GLfloat param);
-typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTFVEXTPROC) (GLenum light, GLenum pname, GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTIEXTPROC) (GLenum light, GLenum pname, GLint param);
-typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTIVEXTPROC) (GLenum light, GLenum pname, GLint* params);
-typedef void (GLAPIENTRY * PFNGLFRAGMENTMATERIALFEXTPROC) (GLenum face, GLenum pname, const GLfloat param);
-typedef void (GLAPIENTRY * PFNGLFRAGMENTMATERIALFVEXTPROC) (GLenum face, GLenum pname, const GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLFRAGMENTMATERIALIEXTPROC) (GLenum face, GLenum pname, const GLint param);
-typedef void (GLAPIENTRY * PFNGLFRAGMENTMATERIALIVEXTPROC) (GLenum face, GLenum pname, const GLint* params);
-typedef void (GLAPIENTRY * PFNGLGETFRAGMENTLIGHTFVEXTPROC) (GLenum light, GLenum pname, GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLGETFRAGMENTLIGHTIVEXTPROC) (GLenum light, GLenum pname, GLint* params);
-typedef void (GLAPIENTRY * PFNGLGETFRAGMENTMATERIALFVEXTPROC) (GLenum face, GLenum pname, const GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLGETFRAGMENTMATERIALIVEXTPROC) (GLenum face, GLenum pname, const GLint* params);
-typedef void (GLAPIENTRY * PFNGLLIGHTENVIEXTPROC) (GLenum pname, GLint param);
-
-#define glFragmentColorMaterialEXT GLEW_GET_FUN(__glewFragmentColorMaterialEXT)
-#define glFragmentLightModelfEXT GLEW_GET_FUN(__glewFragmentLightModelfEXT)
-#define glFragmentLightModelfvEXT GLEW_GET_FUN(__glewFragmentLightModelfvEXT)
-#define glFragmentLightModeliEXT GLEW_GET_FUN(__glewFragmentLightModeliEXT)
-#define glFragmentLightModelivEXT GLEW_GET_FUN(__glewFragmentLightModelivEXT)
-#define glFragmentLightfEXT GLEW_GET_FUN(__glewFragmentLightfEXT)
-#define glFragmentLightfvEXT GLEW_GET_FUN(__glewFragmentLightfvEXT)
-#define glFragmentLightiEXT GLEW_GET_FUN(__glewFragmentLightiEXT)
-#define glFragmentLightivEXT GLEW_GET_FUN(__glewFragmentLightivEXT)
-#define glFragmentMaterialfEXT GLEW_GET_FUN(__glewFragmentMaterialfEXT)
-#define glFragmentMaterialfvEXT GLEW_GET_FUN(__glewFragmentMaterialfvEXT)
-#define glFragmentMaterialiEXT GLEW_GET_FUN(__glewFragmentMaterialiEXT)
-#define glFragmentMaterialivEXT GLEW_GET_FUN(__glewFragmentMaterialivEXT)
-#define glGetFragmentLightfvEXT GLEW_GET_FUN(__glewGetFragmentLightfvEXT)
-#define glGetFragmentLightivEXT GLEW_GET_FUN(__glewGetFragmentLightivEXT)
-#define glGetFragmentMaterialfvEXT GLEW_GET_FUN(__glewGetFragmentMaterialfvEXT)
-#define glGetFragmentMaterialivEXT GLEW_GET_FUN(__glewGetFragmentMaterialivEXT)
-#define glLightEnviEXT GLEW_GET_FUN(__glewLightEnviEXT)
-
-#define GLEW_EXT_fragment_lighting GLEW_GET_VAR(__GLEW_EXT_fragment_lighting)
-
-#endif /* GL_EXT_fragment_lighting */
-
-/* ------------------------ GL_EXT_framebuffer_blit ------------------------ */
-
-#ifndef GL_EXT_framebuffer_blit
-#define GL_EXT_framebuffer_blit 1
-
-#define GL_DRAW_FRAMEBUFFER_BINDING_EXT 0x8CA6
-#define GL_READ_FRAMEBUFFER_EXT 0x8CA8
-#define GL_DRAW_FRAMEBUFFER_EXT 0x8CA9
-#define GL_READ_FRAMEBUFFER_BINDING_EXT 0x8CAA
-
-typedef void (GLAPIENTRY * PFNGLBLITFRAMEBUFFEREXTPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
-
-#define glBlitFramebufferEXT GLEW_GET_FUN(__glewBlitFramebufferEXT)
-
-#define GLEW_EXT_framebuffer_blit GLEW_GET_VAR(__GLEW_EXT_framebuffer_blit)
-
-#endif /* GL_EXT_framebuffer_blit */
-
-/* --------------------- GL_EXT_framebuffer_multisample -------------------- */
-
-#ifndef GL_EXT_framebuffer_multisample
-#define GL_EXT_framebuffer_multisample 1
-
-#define GL_RENDERBUFFER_SAMPLES_EXT 0x8CAB
-#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8D56
-#define GL_MAX_SAMPLES_EXT 0x8D57
-
-typedef void (GLAPIENTRY * PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
-
-#define glRenderbufferStorageMultisampleEXT GLEW_GET_FUN(__glewRenderbufferStorageMultisampleEXT)
-
-#define GLEW_EXT_framebuffer_multisample GLEW_GET_VAR(__GLEW_EXT_framebuffer_multisample)
-
-#endif /* GL_EXT_framebuffer_multisample */
-
-/* ----------------------- GL_EXT_framebuffer_object ----------------------- */
-
-#ifndef GL_EXT_framebuffer_object
-#define GL_EXT_framebuffer_object 1
-
-#define GL_INVALID_FRAMEBUFFER_OPERATION_EXT 0x0506
-#define GL_MAX_RENDERBUFFER_SIZE_EXT 0x84E8
-#define GL_FRAMEBUFFER_BINDING_EXT 0x8CA6
-#define GL_RENDERBUFFER_BINDING_EXT 0x8CA7
-#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT 0x8CD0
-#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT 0x8CD1
-#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT 0x8CD2
-#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT 0x8CD3
-#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT 0x8CD4
-#define GL_FRAMEBUFFER_COMPLETE_EXT 0x8CD5
-#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT 0x8CD6
-#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT 0x8CD7
-#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT 0x8CD9
-#define GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT 0x8CDA
-#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT 0x8CDB
-#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT 0x8CDC
-#define GL_FRAMEBUFFER_UNSUPPORTED_EXT 0x8CDD
-#define GL_MAX_COLOR_ATTACHMENTS_EXT 0x8CDF
-#define GL_COLOR_ATTACHMENT0_EXT 0x8CE0
-#define GL_COLOR_ATTACHMENT1_EXT 0x8CE1
-#define GL_COLOR_ATTACHMENT2_EXT 0x8CE2
-#define GL_COLOR_ATTACHMENT3_EXT 0x8CE3
-#define GL_COLOR_ATTACHMENT4_EXT 0x8CE4
-#define GL_COLOR_ATTACHMENT5_EXT 0x8CE5
-#define GL_COLOR_ATTACHMENT6_EXT 0x8CE6
-#define GL_COLOR_ATTACHMENT7_EXT 0x8CE7
-#define GL_COLOR_ATTACHMENT8_EXT 0x8CE8
-#define GL_COLOR_ATTACHMENT9_EXT 0x8CE9
-#define GL_COLOR_ATTACHMENT10_EXT 0x8CEA
-#define GL_COLOR_ATTACHMENT11_EXT 0x8CEB
-#define GL_COLOR_ATTACHMENT12_EXT 0x8CEC
-#define GL_COLOR_ATTACHMENT13_EXT 0x8CED
-#define GL_COLOR_ATTACHMENT14_EXT 0x8CEE
-#define GL_COLOR_ATTACHMENT15_EXT 0x8CEF
-#define GL_DEPTH_ATTACHMENT_EXT 0x8D00
-#define GL_STENCIL_ATTACHMENT_EXT 0x8D20
-#define GL_FRAMEBUFFER_EXT 0x8D40
-#define GL_RENDERBUFFER_EXT 0x8D41
-#define GL_RENDERBUFFER_WIDTH_EXT 0x8D42
-#define GL_RENDERBUFFER_HEIGHT_EXT 0x8D43
-#define GL_RENDERBUFFER_INTERNAL_FORMAT_EXT 0x8D44
-#define GL_STENCIL_INDEX1_EXT 0x8D46
-#define GL_STENCIL_INDEX4_EXT 0x8D47
-#define GL_STENCIL_INDEX8_EXT 0x8D48
-#define GL_STENCIL_INDEX16_EXT 0x8D49
-#define GL_RENDERBUFFER_RED_SIZE_EXT 0x8D50
-#define GL_RENDERBUFFER_GREEN_SIZE_EXT 0x8D51
-#define GL_RENDERBUFFER_BLUE_SIZE_EXT 0x8D52
-#define GL_RENDERBUFFER_ALPHA_SIZE_EXT 0x8D53
-#define GL_RENDERBUFFER_DEPTH_SIZE_EXT 0x8D54
-#define GL_RENDERBUFFER_STENCIL_SIZE_EXT 0x8D55
-
-typedef void (GLAPIENTRY * PFNGLBINDFRAMEBUFFEREXTPROC) (GLenum target, GLuint framebuffer);
-typedef void (GLAPIENTRY * PFNGLBINDRENDERBUFFEREXTPROC) (GLenum target, GLuint renderbuffer);
-typedef GLenum (GLAPIENTRY * PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC) (GLenum target);
-typedef void (GLAPIENTRY * PFNGLDELETEFRAMEBUFFERSEXTPROC) (GLsizei n, const GLuint* framebuffers);
-typedef void (GLAPIENTRY * PFNGLDELETERENDERBUFFERSEXTPROC) (GLsizei n, const GLuint* renderbuffers);
-typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
-typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURE1DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
-typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURE2DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
-typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURE3DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
-typedef void (GLAPIENTRY * PFNGLGENFRAMEBUFFERSEXTPROC) (GLsizei n, GLuint* framebuffers);
-typedef void (GLAPIENTRY * PFNGLGENRENDERBUFFERSEXTPROC) (GLsizei n, GLuint* renderbuffers);
-typedef void (GLAPIENTRY * PFNGLGENERATEMIPMAPEXTPROC) (GLenum target);
-typedef void (GLAPIENTRY * PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC) (GLenum target, GLenum attachment, GLenum pname, GLint* params);
-typedef void (GLAPIENTRY * PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint* params);
-typedef GLboolean (GLAPIENTRY * PFNGLISFRAMEBUFFEREXTPROC) (GLuint framebuffer);
-typedef GLboolean (GLAPIENTRY * PFNGLISRENDERBUFFEREXTPROC) (GLuint renderbuffer);
-typedef void (GLAPIENTRY * PFNGLRENDERBUFFERSTORAGEEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
-
-#define glBindFramebufferEXT GLEW_GET_FUN(__glewBindFramebufferEXT)
-#define glBindRenderbufferEXT GLEW_GET_FUN(__glewBindRenderbufferEXT)
-#define glCheckFramebufferStatusEXT GLEW_GET_FUN(__glewCheckFramebufferStatusEXT)
-#define glDeleteFramebuffersEXT GLEW_GET_FUN(__glewDeleteFramebuffersEXT)
-#define glDeleteRenderbuffersEXT GLEW_GET_FUN(__glewDeleteRenderbuffersEXT)
-#define glFramebufferRenderbufferEXT GLEW_GET_FUN(__glewFramebufferRenderbufferEXT)
-#define glFramebufferTexture1DEXT GLEW_GET_FUN(__glewFramebufferTexture1DEXT)
-#define glFramebufferTexture2DEXT GLEW_GET_FUN(__glewFramebufferTexture2DEXT)
-#define glFramebufferTexture3DEXT GLEW_GET_FUN(__glewFramebufferTexture3DEXT)
-#define glGenFramebuffersEXT GLEW_GET_FUN(__glewGenFramebuffersEXT)
-#define glGenRenderbuffersEXT GLEW_GET_FUN(__glewGenRenderbuffersEXT)
-#define glGenerateMipmapEXT GLEW_GET_FUN(__glewGenerateMipmapEXT)
-#define glGetFramebufferAttachmentParameterivEXT GLEW_GET_FUN(__glewGetFramebufferAttachmentParameterivEXT)
-#define glGetRenderbufferParameterivEXT GLEW_GET_FUN(__glewGetRenderbufferParameterivEXT)
-#define glIsFramebufferEXT GLEW_GET_FUN(__glewIsFramebufferEXT)
-#define glIsRenderbufferEXT GLEW_GET_FUN(__glewIsRenderbufferEXT)
-#define glRenderbufferStorageEXT GLEW_GET_FUN(__glewRenderbufferStorageEXT)
-
-#define GLEW_EXT_framebuffer_object GLEW_GET_VAR(__GLEW_EXT_framebuffer_object)
-
-#endif /* GL_EXT_framebuffer_object */
-
-/* ------------------------ GL_EXT_framebuffer_sRGB ------------------------ */
-
-#ifndef GL_EXT_framebuffer_sRGB
-#define GL_EXT_framebuffer_sRGB 1
-
-#define GL_FRAMEBUFFER_SRGB_EXT 0x8DB9
-#define GL_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x8DBA
-
-#define GLEW_EXT_framebuffer_sRGB GLEW_GET_VAR(__GLEW_EXT_framebuffer_sRGB)
-
-#endif /* GL_EXT_framebuffer_sRGB */
-
-/* ------------------------ GL_EXT_geometry_shader4 ------------------------ */
-
-#ifndef GL_EXT_geometry_shader4
-#define GL_EXT_geometry_shader4 1
-
-#define GL_LINES_ADJACENCY_EXT 0xA
-#define GL_LINE_STRIP_ADJACENCY_EXT 0xB
-#define GL_TRIANGLES_ADJACENCY_EXT 0xC
-#define GL_TRIANGLE_STRIP_ADJACENCY_EXT 0xD
-#define GL_PROGRAM_POINT_SIZE_EXT 0x8642
-#define GL_MAX_VARYING_COMPONENTS_EXT 0x8B4B
-#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT 0x8C29
-#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT 0x8CD4
-#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT 0x8DA7
-#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT 0x8DA8
-#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT 0x8DA9
-#define GL_GEOMETRY_SHADER_EXT 0x8DD9
-#define GL_GEOMETRY_VERTICES_OUT_EXT 0x8DDA
-#define GL_GEOMETRY_INPUT_TYPE_EXT 0x8DDB
-#define GL_GEOMETRY_OUTPUT_TYPE_EXT 0x8DDC
-#define GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT 0x8DDD
-#define GL_MAX_VERTEX_VARYING_COMPONENTS_EXT 0x8DDE
-#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT 0x8DDF
-#define GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT 0x8DE0
-#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT 0x8DE1
-
-typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTUREEXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level);
-typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);
-typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
-typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETERIEXTPROC) (GLuint program, GLenum pname, GLint value);
-
-#define glFramebufferTextureEXT GLEW_GET_FUN(__glewFramebufferTextureEXT)
-#define glFramebufferTextureFaceEXT GLEW_GET_FUN(__glewFramebufferTextureFaceEXT)
-#define glFramebufferTextureLayerEXT GLEW_GET_FUN(__glewFramebufferTextureLayerEXT)
-#define glProgramParameteriEXT GLEW_GET_FUN(__glewProgramParameteriEXT)
-
-#define GLEW_EXT_geometry_shader4 GLEW_GET_VAR(__GLEW_EXT_geometry_shader4)
-
-#endif /* GL_EXT_geometry_shader4 */
-
-/* --------------------- GL_EXT_gpu_program_parameters --------------------- */
-
-#ifndef GL_EXT_gpu_program_parameters
-#define GL_EXT_gpu_program_parameters 1
-
-typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETERS4FVEXTPROC) (GLenum target, GLuint index, GLsizei count, const GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC) (GLenum target, GLuint index, GLsizei count, const GLfloat* params);
-
-#define glProgramEnvParameters4fvEXT GLEW_GET_FUN(__glewProgramEnvParameters4fvEXT)
-#define glProgramLocalParameters4fvEXT GLEW_GET_FUN(__glewProgramLocalParameters4fvEXT)
-
-#define GLEW_EXT_gpu_program_parameters GLEW_GET_VAR(__GLEW_EXT_gpu_program_parameters)
-
-#endif /* GL_EXT_gpu_program_parameters */
-
-/* --------------------------- GL_EXT_gpu_shader4 -------------------------- */
-
-#ifndef GL_EXT_gpu_shader4
-#define GL_EXT_gpu_shader4 1
-
-#define GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT 0x88FD
-#define GL_SAMPLER_1D_ARRAY_EXT 0x8DC0
-#define GL_SAMPLER_2D_ARRAY_EXT 0x8DC1
-#define GL_SAMPLER_BUFFER_EXT 0x8DC2
-#define GL_SAMPLER_1D_ARRAY_SHADOW_EXT 0x8DC3
-#define GL_SAMPLER_2D_ARRAY_SHADOW_EXT 0x8DC4
-#define GL_SAMPLER_CUBE_SHADOW_EXT 0x8DC5
-#define GL_UNSIGNED_INT_VEC2_EXT 0x8DC6
-#define GL_UNSIGNED_INT_VEC3_EXT 0x8DC7
-#define GL_UNSIGNED_INT_VEC4_EXT 0x8DC8
-#define GL_INT_SAMPLER_1D_EXT 0x8DC9
-#define GL_INT_SAMPLER_2D_EXT 0x8DCA
-#define GL_INT_SAMPLER_3D_EXT 0x8DCB
-#define GL_INT_SAMPLER_CUBE_EXT 0x8DCC
-#define GL_INT_SAMPLER_2D_RECT_EXT 0x8DCD
-#define GL_INT_SAMPLER_1D_ARRAY_EXT 0x8DCE
-#define GL_INT_SAMPLER_2D_ARRAY_EXT 0x8DCF
-#define GL_INT_SAMPLER_BUFFER_EXT 0x8DD0
-#define GL_UNSIGNED_INT_SAMPLER_1D_EXT 0x8DD1
-#define GL_UNSIGNED_INT_SAMPLER_2D_EXT 0x8DD2
-#define GL_UNSIGNED_INT_SAMPLER_3D_EXT 0x8DD3
-#define GL_UNSIGNED_INT_SAMPLER_CUBE_EXT 0x8DD4
-#define GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT 0x8DD5
-#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT 0x8DD6
-#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT 0x8DD7
-#define GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT 0x8DD8
-
-typedef void (GLAPIENTRY * PFNGLBINDFRAGDATALOCATIONEXTPROC) (GLuint program, GLuint color, const GLchar *name);
-typedef GLint (GLAPIENTRY * PFNGLGETFRAGDATALOCATIONEXTPROC) (GLuint program, const GLchar *name);
-typedef void (GLAPIENTRY * PFNGLGETUNIFORMUIVEXTPROC) (GLuint program, GLint location, GLuint *params);
-typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIIVEXTPROC) (GLuint index, GLenum pname, GLint *params);
-typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIUIVEXTPROC) (GLuint index, GLenum pname, GLuint *params);
-typedef void (GLAPIENTRY * PFNGLUNIFORM1UIEXTPROC) (GLint location, GLuint v0);
-typedef void (GLAPIENTRY * PFNGLUNIFORM1UIVEXTPROC) (GLint location, GLsizei count, const GLuint *value);
-typedef void (GLAPIENTRY * PFNGLUNIFORM2UIEXTPROC) (GLint location, GLuint v0, GLuint v1);
-typedef void (GLAPIENTRY * PFNGLUNIFORM2UIVEXTPROC) (GLint location, GLsizei count, const GLuint *value);
-typedef void (GLAPIENTRY * PFNGLUNIFORM3UIEXTPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2);
-typedef void (GLAPIENTRY * PFNGLUNIFORM3UIVEXTPROC) (GLint location, GLsizei count, const GLuint *value);
-typedef void (GLAPIENTRY * PFNGLUNIFORM4UIEXTPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
-typedef void (GLAPIENTRY * PFNGLUNIFORM4UIVEXTPROC) (GLint location, GLsizei count, const GLuint *value);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1IEXTPROC) (GLuint index, GLint x);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1IVEXTPROC) (GLuint index, const GLint *v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1UIEXTPROC) (GLuint index, GLuint x);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1UIVEXTPROC) (GLuint index, const GLuint *v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2IEXTPROC) (GLuint index, GLint x, GLint y);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2IVEXTPROC) (GLuint index, const GLint *v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2UIEXTPROC) (GLuint index, GLuint x, GLuint y);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2UIVEXTPROC) (GLuint index, const GLuint *v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3IEXTPROC) (GLuint index, GLint x, GLint y, GLint z);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3IVEXTPROC) (GLuint index, const GLint *v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3UIEXTPROC) (GLuint index, GLuint x, GLuint y, GLuint z);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3UIVEXTPROC) (GLuint index, const GLuint *v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4BVEXTPROC) (GLuint index, const GLbyte *v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4IEXTPROC) (GLuint index, GLint x, GLint y, GLint z, GLint w);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4IVEXTPROC) (GLuint index, const GLint *v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4SVEXTPROC) (GLuint index, const GLshort *v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4UBVEXTPROC) (GLuint index, const GLubyte *v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4UIEXTPROC) (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4UIVEXTPROC) (GLuint index, const GLuint *v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4USVEXTPROC) (GLuint index, const GLushort *v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBIPOINTEREXTPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
-
-#define glBindFragDataLocationEXT GLEW_GET_FUN(__glewBindFragDataLocationEXT)
-#define glGetFragDataLocationEXT GLEW_GET_FUN(__glewGetFragDataLocationEXT)
-#define glGetUniformuivEXT GLEW_GET_FUN(__glewGetUniformuivEXT)
-#define glGetVertexAttribIivEXT GLEW_GET_FUN(__glewGetVertexAttribIivEXT)
-#define glGetVertexAttribIuivEXT GLEW_GET_FUN(__glewGetVertexAttribIuivEXT)
-#define glUniform1uiEXT GLEW_GET_FUN(__glewUniform1uiEXT)
-#define glUniform1uivEXT GLEW_GET_FUN(__glewUniform1uivEXT)
-#define glUniform2uiEXT GLEW_GET_FUN(__glewUniform2uiEXT)
-#define glUniform2uivEXT GLEW_GET_FUN(__glewUniform2uivEXT)
-#define glUniform3uiEXT GLEW_GET_FUN(__glewUniform3uiEXT)
-#define glUniform3uivEXT GLEW_GET_FUN(__glewUniform3uivEXT)
-#define glUniform4uiEXT GLEW_GET_FUN(__glewUniform4uiEXT)
-#define glUniform4uivEXT GLEW_GET_FUN(__glewUniform4uivEXT)
-#define glVertexAttribI1iEXT GLEW_GET_FUN(__glewVertexAttribI1iEXT)
-#define glVertexAttribI1ivEXT GLEW_GET_FUN(__glewVertexAttribI1ivEXT)
-#define glVertexAttribI1uiEXT GLEW_GET_FUN(__glewVertexAttribI1uiEXT)
-#define glVertexAttribI1uivEXT GLEW_GET_FUN(__glewVertexAttribI1uivEXT)
-#define glVertexAttribI2iEXT GLEW_GET_FUN(__glewVertexAttribI2iEXT)
-#define glVertexAttribI2ivEXT GLEW_GET_FUN(__glewVertexAttribI2ivEXT)
-#define glVertexAttribI2uiEXT GLEW_GET_FUN(__glewVertexAttribI2uiEXT)
-#define glVertexAttribI2uivEXT GLEW_GET_FUN(__glewVertexAttribI2uivEXT)
-#define glVertexAttribI3iEXT GLEW_GET_FUN(__glewVertexAttribI3iEXT)
-#define glVertexAttribI3ivEXT GLEW_GET_FUN(__glewVertexAttribI3ivEXT)
-#define glVertexAttribI3uiEXT GLEW_GET_FUN(__glewVertexAttribI3uiEXT)
-#define glVertexAttribI3uivEXT GLEW_GET_FUN(__glewVertexAttribI3uivEXT)
-#define glVertexAttribI4bvEXT GLEW_GET_FUN(__glewVertexAttribI4bvEXT)
-#define glVertexAttribI4iEXT GLEW_GET_FUN(__glewVertexAttribI4iEXT)
-#define glVertexAttribI4ivEXT GLEW_GET_FUN(__glewVertexAttribI4ivEXT)
-#define glVertexAttribI4svEXT GLEW_GET_FUN(__glewVertexAttribI4svEXT)
-#define glVertexAttribI4ubvEXT GLEW_GET_FUN(__glewVertexAttribI4ubvEXT)
-#define glVertexAttribI4uiEXT GLEW_GET_FUN(__glewVertexAttribI4uiEXT)
-#define glVertexAttribI4uivEXT GLEW_GET_FUN(__glewVertexAttribI4uivEXT)
-#define glVertexAttribI4usvEXT GLEW_GET_FUN(__glewVertexAttribI4usvEXT)
-#define glVertexAttribIPointerEXT GLEW_GET_FUN(__glewVertexAttribIPointerEXT)
-
-#define GLEW_EXT_gpu_shader4 GLEW_GET_VAR(__GLEW_EXT_gpu_shader4)
-
-#endif /* GL_EXT_gpu_shader4 */
-
-/* ---------------------------- GL_EXT_histogram --------------------------- */
-
-#ifndef GL_EXT_histogram
-#define GL_EXT_histogram 1
-
-#define GL_HISTOGRAM_EXT 0x8024
-#define GL_PROXY_HISTOGRAM_EXT 0x8025
-#define GL_HISTOGRAM_WIDTH_EXT 0x8026
-#define GL_HISTOGRAM_FORMAT_EXT 0x8027
-#define GL_HISTOGRAM_RED_SIZE_EXT 0x8028
-#define GL_HISTOGRAM_GREEN_SIZE_EXT 0x8029
-#define GL_HISTOGRAM_BLUE_SIZE_EXT 0x802A
-#define GL_HISTOGRAM_ALPHA_SIZE_EXT 0x802B
-#define GL_HISTOGRAM_LUMINANCE_SIZE_EXT 0x802C
-#define GL_HISTOGRAM_SINK_EXT 0x802D
-#define GL_MINMAX_EXT 0x802E
-#define GL_MINMAX_FORMAT_EXT 0x802F
-#define GL_MINMAX_SINK_EXT 0x8030
-
-typedef void (GLAPIENTRY * PFNGLGETHISTOGRAMEXTPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, void* values);
-typedef void (GLAPIENTRY * PFNGLGETHISTOGRAMPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLGETHISTOGRAMPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint* params);
-typedef void (GLAPIENTRY * PFNGLGETMINMAXEXTPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, void* values);
-typedef void (GLAPIENTRY * PFNGLGETMINMAXPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLGETMINMAXPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint* params);
-typedef void (GLAPIENTRY * PFNGLHISTOGRAMEXTPROC) (GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);
-typedef void (GLAPIENTRY * PFNGLMINMAXEXTPROC) (GLenum target, GLenum internalformat, GLboolean sink);
-typedef void (GLAPIENTRY * PFNGLRESETHISTOGRAMEXTPROC) (GLenum target);
-typedef void (GLAPIENTRY * PFNGLRESETMINMAXEXTPROC) (GLenum target);
-
-#define glGetHistogramEXT GLEW_GET_FUN(__glewGetHistogramEXT)
-#define glGetHistogramParameterfvEXT GLEW_GET_FUN(__glewGetHistogramParameterfvEXT)
-#define glGetHistogramParameterivEXT GLEW_GET_FUN(__glewGetHistogramParameterivEXT)
-#define glGetMinmaxEXT GLEW_GET_FUN(__glewGetMinmaxEXT)
-#define glGetMinmaxParameterfvEXT GLEW_GET_FUN(__glewGetMinmaxParameterfvEXT)
-#define glGetMinmaxParameterivEXT GLEW_GET_FUN(__glewGetMinmaxParameterivEXT)
-#define glHistogramEXT GLEW_GET_FUN(__glewHistogramEXT)
-#define glMinmaxEXT GLEW_GET_FUN(__glewMinmaxEXT)
-#define glResetHistogramEXT GLEW_GET_FUN(__glewResetHistogramEXT)
-#define glResetMinmaxEXT GLEW_GET_FUN(__glewResetMinmaxEXT)
-
-#define GLEW_EXT_histogram GLEW_GET_VAR(__GLEW_EXT_histogram)
-
-#endif /* GL_EXT_histogram */
-
-/* ----------------------- GL_EXT_index_array_formats ---------------------- */
-
-#ifndef GL_EXT_index_array_formats
-#define GL_EXT_index_array_formats 1
-
-#define GLEW_EXT_index_array_formats GLEW_GET_VAR(__GLEW_EXT_index_array_formats)
-
-#endif /* GL_EXT_index_array_formats */
-
-/* --------------------------- GL_EXT_index_func --------------------------- */
-
-#ifndef GL_EXT_index_func
-#define GL_EXT_index_func 1
-
-typedef void (GLAPIENTRY * PFNGLINDEXFUNCEXTPROC) (GLenum func, GLfloat ref);
-
-#define glIndexFuncEXT GLEW_GET_FUN(__glewIndexFuncEXT)
-
-#define GLEW_EXT_index_func GLEW_GET_VAR(__GLEW_EXT_index_func)
-
-#endif /* GL_EXT_index_func */
-
-/* ------------------------- GL_EXT_index_material ------------------------- */
-
-#ifndef GL_EXT_index_material
-#define GL_EXT_index_material 1
-
-typedef void (GLAPIENTRY * PFNGLINDEXMATERIALEXTPROC) (GLenum face, GLenum mode);
-
-#define glIndexMaterialEXT GLEW_GET_FUN(__glewIndexMaterialEXT)
-
-#define GLEW_EXT_index_material GLEW_GET_VAR(__GLEW_EXT_index_material)
-
-#endif /* GL_EXT_index_material */
-
-/* -------------------------- GL_EXT_index_texture ------------------------- */
-
-#ifndef GL_EXT_index_texture
-#define GL_EXT_index_texture 1
-
-#define GLEW_EXT_index_texture GLEW_GET_VAR(__GLEW_EXT_index_texture)
-
-#endif /* GL_EXT_index_texture */
-
-/* -------------------------- GL_EXT_light_texture ------------------------- */
-
-#ifndef GL_EXT_light_texture
-#define GL_EXT_light_texture 1
-
-#define GL_FRAGMENT_MATERIAL_EXT 0x8349
-#define GL_FRAGMENT_NORMAL_EXT 0x834A
-#define GL_FRAGMENT_COLOR_EXT 0x834C
-#define GL_ATTENUATION_EXT 0x834D
-#define GL_SHADOW_ATTENUATION_EXT 0x834E
-#define GL_TEXTURE_APPLICATION_MODE_EXT 0x834F
-#define GL_TEXTURE_LIGHT_EXT 0x8350
-#define GL_TEXTURE_MATERIAL_FACE_EXT 0x8351
-#define GL_TEXTURE_MATERIAL_PARAMETER_EXT 0x8352
-#define GL_FRAGMENT_DEPTH_EXT 0x8452
-
-typedef void (GLAPIENTRY * PFNGLAPPLYTEXTUREEXTPROC) (GLenum mode);
-typedef void (GLAPIENTRY * PFNGLTEXTURELIGHTEXTPROC) (GLenum pname);
-typedef void (GLAPIENTRY * PFNGLTEXTUREMATERIALEXTPROC) (GLenum face, GLenum mode);
-
-#define glApplyTextureEXT GLEW_GET_FUN(__glewApplyTextureEXT)
-#define glTextureLightEXT GLEW_GET_FUN(__glewTextureLightEXT)
-#define glTextureMaterialEXT GLEW_GET_FUN(__glewTextureMaterialEXT)
-
-#define GLEW_EXT_light_texture GLEW_GET_VAR(__GLEW_EXT_light_texture)
-
-#endif /* GL_EXT_light_texture */
-
-/* ------------------------- GL_EXT_misc_attribute ------------------------- */
-
-#ifndef GL_EXT_misc_attribute
-#define GL_EXT_misc_attribute 1
-
-#define GLEW_EXT_misc_attribute GLEW_GET_VAR(__GLEW_EXT_misc_attribute)
-
-#endif /* GL_EXT_misc_attribute */
-
-/* ------------------------ GL_EXT_multi_draw_arrays ----------------------- */
-
-#ifndef GL_EXT_multi_draw_arrays
-#define GL_EXT_multi_draw_arrays 1
-
-typedef void (GLAPIENTRY * PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, GLint* first, GLsizei *count, GLsizei primcount);
-typedef void (GLAPIENTRY * PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, GLsizei* count, GLenum type, const GLvoid **indices, GLsizei primcount);
-
-#define glMultiDrawArraysEXT GLEW_GET_FUN(__glewMultiDrawArraysEXT)
-#define glMultiDrawElementsEXT GLEW_GET_FUN(__glewMultiDrawElementsEXT)
-
-#define GLEW_EXT_multi_draw_arrays GLEW_GET_VAR(__GLEW_EXT_multi_draw_arrays)
-
-#endif /* GL_EXT_multi_draw_arrays */
-
-/* --------------------------- GL_EXT_multisample -------------------------- */
-
-#ifndef GL_EXT_multisample
-#define GL_EXT_multisample 1
-
-#define GL_MULTISAMPLE_EXT 0x809D
-#define GL_SAMPLE_ALPHA_TO_MASK_EXT 0x809E
-#define GL_SAMPLE_ALPHA_TO_ONE_EXT 0x809F
-#define GL_SAMPLE_MASK_EXT 0x80A0
-#define GL_1PASS_EXT 0x80A1
-#define GL_2PASS_0_EXT 0x80A2
-#define GL_2PASS_1_EXT 0x80A3
-#define GL_4PASS_0_EXT 0x80A4
-#define GL_4PASS_1_EXT 0x80A5
-#define GL_4PASS_2_EXT 0x80A6
-#define GL_4PASS_3_EXT 0x80A7
-#define GL_SAMPLE_BUFFERS_EXT 0x80A8
-#define GL_SAMPLES_EXT 0x80A9
-#define GL_SAMPLE_MASK_VALUE_EXT 0x80AA
-#define GL_SAMPLE_MASK_INVERT_EXT 0x80AB
-#define GL_SAMPLE_PATTERN_EXT 0x80AC
-#define GL_MULTISAMPLE_BIT_EXT 0x20000000
-
-typedef void (GLAPIENTRY * PFNGLSAMPLEMASKEXTPROC) (GLclampf value, GLboolean invert);
-typedef void (GLAPIENTRY * PFNGLSAMPLEPATTERNEXTPROC) (GLenum pattern);
-
-#define glSampleMaskEXT GLEW_GET_FUN(__glewSampleMaskEXT)
-#define glSamplePatternEXT GLEW_GET_FUN(__glewSamplePatternEXT)
-
-#define GLEW_EXT_multisample GLEW_GET_VAR(__GLEW_EXT_multisample)
-
-#endif /* GL_EXT_multisample */
-
-/* ---------------------- GL_EXT_packed_depth_stencil ---------------------- */
-
-#ifndef GL_EXT_packed_depth_stencil
-#define GL_EXT_packed_depth_stencil 1
-
-#define GL_DEPTH_STENCIL_EXT 0x84F9
-#define GL_UNSIGNED_INT_24_8_EXT 0x84FA
-#define GL_DEPTH24_STENCIL8_EXT 0x88F0
-#define GL_TEXTURE_STENCIL_SIZE_EXT 0x88F1
-
-#define GLEW_EXT_packed_depth_stencil GLEW_GET_VAR(__GLEW_EXT_packed_depth_stencil)
-
-#endif /* GL_EXT_packed_depth_stencil */
-
-/* -------------------------- GL_EXT_packed_float -------------------------- */
-
-#ifndef GL_EXT_packed_float
-#define GL_EXT_packed_float 1
-
-#define GL_R11F_G11F_B10F_EXT 0x8C3A
-#define GL_UNSIGNED_INT_10F_11F_11F_REV_EXT 0x8C3B
-#define GL_RGBA_SIGNED_COMPONENTS_EXT 0x8C3C
-
-#define GLEW_EXT_packed_float GLEW_GET_VAR(__GLEW_EXT_packed_float)
-
-#endif /* GL_EXT_packed_float */
-
-/* -------------------------- GL_EXT_packed_pixels ------------------------- */
-
-#ifndef GL_EXT_packed_pixels
-#define GL_EXT_packed_pixels 1
-
-#define GL_UNSIGNED_BYTE_3_3_2_EXT 0x8032
-#define GL_UNSIGNED_SHORT_4_4_4_4_EXT 0x8033
-#define GL_UNSIGNED_SHORT_5_5_5_1_EXT 0x8034
-#define GL_UNSIGNED_INT_8_8_8_8_EXT 0x8035
-#define GL_UNSIGNED_INT_10_10_10_2_EXT 0x8036
-
-#define GLEW_EXT_packed_pixels GLEW_GET_VAR(__GLEW_EXT_packed_pixels)
-
-#endif /* GL_EXT_packed_pixels */
-
-/* ------------------------ GL_EXT_paletted_texture ------------------------ */
-
-#ifndef GL_EXT_paletted_texture
-#define GL_EXT_paletted_texture 1
-
-#define GL_TEXTURE_1D 0x0DE0
-#define GL_TEXTURE_2D 0x0DE1
-#define GL_PROXY_TEXTURE_1D 0x8063
-#define GL_PROXY_TEXTURE_2D 0x8064
-#define GL_TEXTURE_3D_EXT 0x806F
-#define GL_PROXY_TEXTURE_3D_EXT 0x8070
-#define GL_COLOR_TABLE_FORMAT_EXT 0x80D8
-#define GL_COLOR_TABLE_WIDTH_EXT 0x80D9
-#define GL_COLOR_TABLE_RED_SIZE_EXT 0x80DA
-#define GL_COLOR_TABLE_GREEN_SIZE_EXT 0x80DB
-#define GL_COLOR_TABLE_BLUE_SIZE_EXT 0x80DC
-#define GL_COLOR_TABLE_ALPHA_SIZE_EXT 0x80DD
-#define GL_COLOR_TABLE_LUMINANCE_SIZE_EXT 0x80DE
-#define GL_COLOR_TABLE_INTENSITY_SIZE_EXT 0x80DF
-#define GL_COLOR_INDEX1_EXT 0x80E2
-#define GL_COLOR_INDEX2_EXT 0x80E3
-#define GL_COLOR_INDEX4_EXT 0x80E4
-#define GL_COLOR_INDEX8_EXT 0x80E5
-#define GL_COLOR_INDEX12_EXT 0x80E6
-#define GL_COLOR_INDEX16_EXT 0x80E7
-#define GL_TEXTURE_INDEX_SIZE_EXT 0x80ED
-#define GL_TEXTURE_CUBE_MAP_ARB 0x8513
-#define GL_PROXY_TEXTURE_CUBE_MAP_ARB 0x851B
-
-typedef void (GLAPIENTRY * PFNGLCOLORTABLEEXTPROC) (GLenum target, GLenum internalFormat, GLsizei width, GLenum format, GLenum type, const void* data);
-typedef void (GLAPIENTRY * PFNGLGETCOLORTABLEEXTPROC) (GLenum target, GLenum format, GLenum type, void* data);
-typedef void (GLAPIENTRY * PFNGLGETCOLORTABLEPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLGETCOLORTABLEPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint* params);
-
-#define glColorTableEXT GLEW_GET_FUN(__glewColorTableEXT)
-#define glGetColorTableEXT GLEW_GET_FUN(__glewGetColorTableEXT)
-#define glGetColorTableParameterfvEXT GLEW_GET_FUN(__glewGetColorTableParameterfvEXT)
-#define glGetColorTableParameterivEXT GLEW_GET_FUN(__glewGetColorTableParameterivEXT)
-
-#define GLEW_EXT_paletted_texture GLEW_GET_VAR(__GLEW_EXT_paletted_texture)
-
-#endif /* GL_EXT_paletted_texture */
-
-/* ----------------------- GL_EXT_pixel_buffer_object ---------------------- */
-
-#ifndef GL_EXT_pixel_buffer_object
-#define GL_EXT_pixel_buffer_object 1
-
-#define GL_PIXEL_PACK_BUFFER_EXT 0x88EB
-#define GL_PIXEL_UNPACK_BUFFER_EXT 0x88EC
-#define GL_PIXEL_PACK_BUFFER_BINDING_EXT 0x88ED
-#define GL_PIXEL_UNPACK_BUFFER_BINDING_EXT 0x88EF
-
-#define GLEW_EXT_pixel_buffer_object GLEW_GET_VAR(__GLEW_EXT_pixel_buffer_object)
-
-#endif /* GL_EXT_pixel_buffer_object */
-
-/* ------------------------- GL_EXT_pixel_transform ------------------------ */
-
-#ifndef GL_EXT_pixel_transform
-#define GL_EXT_pixel_transform 1
-
-#define GL_PIXEL_TRANSFORM_2D_EXT 0x8330
-#define GL_PIXEL_MAG_FILTER_EXT 0x8331
-#define GL_PIXEL_MIN_FILTER_EXT 0x8332
-#define GL_PIXEL_CUBIC_WEIGHT_EXT 0x8333
-#define GL_CUBIC_EXT 0x8334
-#define GL_AVERAGE_EXT 0x8335
-#define GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT 0x8336
-#define GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT 0x8337
-#define GL_PIXEL_TRANSFORM_2D_MATRIX_EXT 0x8338
-
-typedef void (GLAPIENTRY * PFNGLGETPIXELTRANSFORMPARAMETERFVEXTPROC) (GLenum target, GLenum pname, const GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLGETPIXELTRANSFORMPARAMETERIVEXTPROC) (GLenum target, GLenum pname, const GLint* params);
-typedef void (GLAPIENTRY * PFNGLPIXELTRANSFORMPARAMETERFEXTPROC) (GLenum target, GLenum pname, const GLfloat param);
-typedef void (GLAPIENTRY * PFNGLPIXELTRANSFORMPARAMETERFVEXTPROC) (GLenum target, GLenum pname, const GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLPIXELTRANSFORMPARAMETERIEXTPROC) (GLenum target, GLenum pname, const GLint param);
-typedef void (GLAPIENTRY * PFNGLPIXELTRANSFORMPARAMETERIVEXTPROC) (GLenum target, GLenum pname, const GLint* params);
-
-#define glGetPixelTransformParameterfvEXT GLEW_GET_FUN(__glewGetPixelTransformParameterfvEXT)
-#define glGetPixelTransformParameterivEXT GLEW_GET_FUN(__glewGetPixelTransformParameterivEXT)
-#define glPixelTransformParameterfEXT GLEW_GET_FUN(__glewPixelTransformParameterfEXT)
-#define glPixelTransformParameterfvEXT GLEW_GET_FUN(__glewPixelTransformParameterfvEXT)
-#define glPixelTransformParameteriEXT GLEW_GET_FUN(__glewPixelTransformParameteriEXT)
-#define glPixelTransformParameterivEXT GLEW_GET_FUN(__glewPixelTransformParameterivEXT)
-
-#define GLEW_EXT_pixel_transform GLEW_GET_VAR(__GLEW_EXT_pixel_transform)
-
-#endif /* GL_EXT_pixel_transform */
-
-/* ------------------- GL_EXT_pixel_transform_color_table ------------------ */
-
-#ifndef GL_EXT_pixel_transform_color_table
-#define GL_EXT_pixel_transform_color_table 1
-
-#define GLEW_EXT_pixel_transform_color_table GLEW_GET_VAR(__GLEW_EXT_pixel_transform_color_table)
-
-#endif /* GL_EXT_pixel_transform_color_table */
-
-/* ------------------------ GL_EXT_point_parameters ------------------------ */
-
-#ifndef GL_EXT_point_parameters
-#define GL_EXT_point_parameters 1
-
-#define GL_POINT_SIZE_MIN_EXT 0x8126
-#define GL_POINT_SIZE_MAX_EXT 0x8127
-#define GL_POINT_FADE_THRESHOLD_SIZE_EXT 0x8128
-#define GL_DISTANCE_ATTENUATION_EXT 0x8129
-
-typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFEXTPROC) (GLenum pname, GLfloat param);
-typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFVEXTPROC) (GLenum pname, GLfloat* params);
-
-#define glPointParameterfEXT GLEW_GET_FUN(__glewPointParameterfEXT)
-#define glPointParameterfvEXT GLEW_GET_FUN(__glewPointParameterfvEXT)
-
-#define GLEW_EXT_point_parameters GLEW_GET_VAR(__GLEW_EXT_point_parameters)
-
-#endif /* GL_EXT_point_parameters */
-
-/* ------------------------- GL_EXT_polygon_offset ------------------------- */
-
-#ifndef GL_EXT_polygon_offset
-#define GL_EXT_polygon_offset 1
-
-#define GL_POLYGON_OFFSET_EXT 0x8037
-#define GL_POLYGON_OFFSET_FACTOR_EXT 0x8038
-#define GL_POLYGON_OFFSET_BIAS_EXT 0x8039
-
-typedef void (GLAPIENTRY * PFNGLPOLYGONOFFSETEXTPROC) (GLfloat factor, GLfloat bias);
-
-#define glPolygonOffsetEXT GLEW_GET_FUN(__glewPolygonOffsetEXT)
-
-#define GLEW_EXT_polygon_offset GLEW_GET_VAR(__GLEW_EXT_polygon_offset)
-
-#endif /* GL_EXT_polygon_offset */
-
-/* ------------------------ GL_EXT_provoking_vertex ------------------------ */
-
-#ifndef GL_EXT_provoking_vertex
-#define GL_EXT_provoking_vertex 1
-
-#define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT 0x8E4C
-#define GL_FIRST_VERTEX_CONVENTION_EXT 0x8E4D
-#define GL_LAST_VERTEX_CONVENTION_EXT 0x8E4E
-#define GL_PROVOKING_VERTEX_EXT 0x8E4F
-
-typedef void (GLAPIENTRY * PFNGLPROVOKINGVERTEXEXTPROC) (GLenum mode);
-
-#define glProvokingVertexEXT GLEW_GET_FUN(__glewProvokingVertexEXT)
-
-#define GLEW_EXT_provoking_vertex GLEW_GET_VAR(__GLEW_EXT_provoking_vertex)
-
-#endif /* GL_EXT_provoking_vertex */
-
-/* ------------------------- GL_EXT_rescale_normal ------------------------- */
-
-#ifndef GL_EXT_rescale_normal
-#define GL_EXT_rescale_normal 1
-
-#define GL_RESCALE_NORMAL_EXT 0x803A
-
-#define GLEW_EXT_rescale_normal GLEW_GET_VAR(__GLEW_EXT_rescale_normal)
-
-#endif /* GL_EXT_rescale_normal */
-
-/* -------------------------- GL_EXT_scene_marker -------------------------- */
-
-#ifndef GL_EXT_scene_marker
-#define GL_EXT_scene_marker 1
-
-typedef void (GLAPIENTRY * PFNGLBEGINSCENEEXTPROC) (void);
-typedef void (GLAPIENTRY * PFNGLENDSCENEEXTPROC) (void);
-
-#define glBeginSceneEXT GLEW_GET_FUN(__glewBeginSceneEXT)
-#define glEndSceneEXT GLEW_GET_FUN(__glewEndSceneEXT)
-
-#define GLEW_EXT_scene_marker GLEW_GET_VAR(__GLEW_EXT_scene_marker)
-
-#endif /* GL_EXT_scene_marker */
-
-/* ------------------------- GL_EXT_secondary_color ------------------------ */
-
-#ifndef GL_EXT_secondary_color
-#define GL_EXT_secondary_color 1
-
-#define GL_COLOR_SUM_EXT 0x8458
-#define GL_CURRENT_SECONDARY_COLOR_EXT 0x8459
-#define GL_SECONDARY_COLOR_ARRAY_SIZE_EXT 0x845A
-#define GL_SECONDARY_COLOR_ARRAY_TYPE_EXT 0x845B
-#define GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT 0x845C
-#define GL_SECONDARY_COLOR_ARRAY_POINTER_EXT 0x845D
-#define GL_SECONDARY_COLOR_ARRAY_EXT 0x845E
-
-typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3BEXTPROC) (GLbyte red, GLbyte green, GLbyte blue);
-typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3BVEXTPROC) (const GLbyte *v);
-typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3DEXTPROC) (GLdouble red, GLdouble green, GLdouble blue);
-typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3DVEXTPROC) (const GLdouble *v);
-typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3FEXTPROC) (GLfloat red, GLfloat green, GLfloat blue);
-typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3FVEXTPROC) (const GLfloat *v);
-typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3IEXTPROC) (GLint red, GLint green, GLint blue);
-typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3IVEXTPROC) (const GLint *v);
-typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3SEXTPROC) (GLshort red, GLshort green, GLshort blue);
-typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3SVEXTPROC) (const GLshort *v);
-typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3UBEXTPROC) (GLubyte red, GLubyte green, GLubyte blue);
-typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3UBVEXTPROC) (const GLubyte *v);
-typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3UIEXTPROC) (GLuint red, GLuint green, GLuint blue);
-typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3UIVEXTPROC) (const GLuint *v);
-typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3USEXTPROC) (GLushort red, GLushort green, GLushort blue);
-typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3USVEXTPROC) (const GLushort *v);
-typedef void (GLAPIENTRY * PFNGLSECONDARYCOLORPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLvoid *pointer);
-
-#define glSecondaryColor3bEXT GLEW_GET_FUN(__glewSecondaryColor3bEXT)
-#define glSecondaryColor3bvEXT GLEW_GET_FUN(__glewSecondaryColor3bvEXT)
-#define glSecondaryColor3dEXT GLEW_GET_FUN(__glewSecondaryColor3dEXT)
-#define glSecondaryColor3dvEXT GLEW_GET_FUN(__glewSecondaryColor3dvEXT)
-#define glSecondaryColor3fEXT GLEW_GET_FUN(__glewSecondaryColor3fEXT)
-#define glSecondaryColor3fvEXT GLEW_GET_FUN(__glewSecondaryColor3fvEXT)
-#define glSecondaryColor3iEXT GLEW_GET_FUN(__glewSecondaryColor3iEXT)
-#define glSecondaryColor3ivEXT GLEW_GET_FUN(__glewSecondaryColor3ivEXT)
-#define glSecondaryColor3sEXT GLEW_GET_FUN(__glewSecondaryColor3sEXT)
-#define glSecondaryColor3svEXT GLEW_GET_FUN(__glewSecondaryColor3svEXT)
-#define glSecondaryColor3ubEXT GLEW_GET_FUN(__glewSecondaryColor3ubEXT)
-#define glSecondaryColor3ubvEXT GLEW_GET_FUN(__glewSecondaryColor3ubvEXT)
-#define glSecondaryColor3uiEXT GLEW_GET_FUN(__glewSecondaryColor3uiEXT)
-#define glSecondaryColor3uivEXT GLEW_GET_FUN(__glewSecondaryColor3uivEXT)
-#define glSecondaryColor3usEXT GLEW_GET_FUN(__glewSecondaryColor3usEXT)
-#define glSecondaryColor3usvEXT GLEW_GET_FUN(__glewSecondaryColor3usvEXT)
-#define glSecondaryColorPointerEXT GLEW_GET_FUN(__glewSecondaryColorPointerEXT)
-
-#define GLEW_EXT_secondary_color GLEW_GET_VAR(__GLEW_EXT_secondary_color)
-
-#endif /* GL_EXT_secondary_color */
-
-/* --------------------- GL_EXT_separate_shader_objects -------------------- */
-
-#ifndef GL_EXT_separate_shader_objects
-#define GL_EXT_separate_shader_objects 1
-
-#define GL_ACTIVE_PROGRAM_EXT 0x8B8D
-
-typedef void (GLAPIENTRY * PFNGLACTIVEPROGRAMEXTPROC) (GLuint program);
-typedef GLuint (GLAPIENTRY * PFNGLCREATESHADERPROGRAMEXTPROC) (GLenum type, const char* string);
-typedef void (GLAPIENTRY * PFNGLUSESHADERPROGRAMEXTPROC) (GLenum type, GLuint program);
-
-#define glActiveProgramEXT GLEW_GET_FUN(__glewActiveProgramEXT)
-#define glCreateShaderProgramEXT GLEW_GET_FUN(__glewCreateShaderProgramEXT)
-#define glUseShaderProgramEXT GLEW_GET_FUN(__glewUseShaderProgramEXT)
-
-#define GLEW_EXT_separate_shader_objects GLEW_GET_VAR(__GLEW_EXT_separate_shader_objects)
-
-#endif /* GL_EXT_separate_shader_objects */
-
-/* --------------------- GL_EXT_separate_specular_color -------------------- */
-
-#ifndef GL_EXT_separate_specular_color
-#define GL_EXT_separate_specular_color 1
-
-#define GL_LIGHT_MODEL_COLOR_CONTROL_EXT 0x81F8
-#define GL_SINGLE_COLOR_EXT 0x81F9
-#define GL_SEPARATE_SPECULAR_COLOR_EXT 0x81FA
-
-#define GLEW_EXT_separate_specular_color GLEW_GET_VAR(__GLEW_EXT_separate_specular_color)
-
-#endif /* GL_EXT_separate_specular_color */
-
-/* --------------------- GL_EXT_shader_image_load_store -------------------- */
-
-#ifndef GL_EXT_shader_image_load_store
-#define GL_EXT_shader_image_load_store 1
-
-#define GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT 0x00000001
-#define GL_ELEMENT_ARRAY_BARRIER_BIT_EXT 0x00000002
-#define GL_UNIFORM_BARRIER_BIT_EXT 0x00000004
-#define GL_TEXTURE_FETCH_BARRIER_BIT_EXT 0x00000008
-#define GL_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT 0x00000020
-#define GL_COMMAND_BARRIER_BIT_EXT 0x00000040
-#define GL_PIXEL_BUFFER_BARRIER_BIT_EXT 0x00000080
-#define GL_TEXTURE_UPDATE_BARRIER_BIT_EXT 0x00000100
-#define GL_BUFFER_UPDATE_BARRIER_BIT_EXT 0x00000200
-#define GL_FRAMEBUFFER_BARRIER_BIT_EXT 0x00000400
-#define GL_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT 0x00000800
-#define GL_ATOMIC_COUNTER_BARRIER_BIT_EXT 0x00001000
-#define GL_MAX_IMAGE_UNITS_EXT 0x8F38
-#define GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT 0x8F39
-#define GL_IMAGE_BINDING_NAME_EXT 0x8F3A
-#define GL_IMAGE_BINDING_LEVEL_EXT 0x8F3B
-#define GL_IMAGE_BINDING_LAYERED_EXT 0x8F3C
-#define GL_IMAGE_BINDING_LAYER_EXT 0x8F3D
-#define GL_IMAGE_BINDING_ACCESS_EXT 0x8F3E
-#define GL_IMAGE_1D_EXT 0x904C
-#define GL_IMAGE_2D_EXT 0x904D
-#define GL_IMAGE_3D_EXT 0x904E
-#define GL_IMAGE_2D_RECT_EXT 0x904F
-#define GL_IMAGE_CUBE_EXT 0x9050
-#define GL_IMAGE_BUFFER_EXT 0x9051
-#define GL_IMAGE_1D_ARRAY_EXT 0x9052
-#define GL_IMAGE_2D_ARRAY_EXT 0x9053
-#define GL_IMAGE_CUBE_MAP_ARRAY_EXT 0x9054
-#define GL_IMAGE_2D_MULTISAMPLE_EXT 0x9055
-#define GL_IMAGE_2D_MULTISAMPLE_ARRAY_EXT 0x9056
-#define GL_INT_IMAGE_1D_EXT 0x9057
-#define GL_INT_IMAGE_2D_EXT 0x9058
-#define GL_INT_IMAGE_3D_EXT 0x9059
-#define GL_INT_IMAGE_2D_RECT_EXT 0x905A
-#define GL_INT_IMAGE_CUBE_EXT 0x905B
-#define GL_INT_IMAGE_BUFFER_EXT 0x905C
-#define GL_INT_IMAGE_1D_ARRAY_EXT 0x905D
-#define GL_INT_IMAGE_2D_ARRAY_EXT 0x905E
-#define GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT 0x905F
-#define GL_INT_IMAGE_2D_MULTISAMPLE_EXT 0x9060
-#define GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT 0x9061
-#define GL_UNSIGNED_INT_IMAGE_1D_EXT 0x9062
-#define GL_UNSIGNED_INT_IMAGE_2D_EXT 0x9063
-#define GL_UNSIGNED_INT_IMAGE_3D_EXT 0x9064
-#define GL_UNSIGNED_INT_IMAGE_2D_RECT_EXT 0x9065
-#define GL_UNSIGNED_INT_IMAGE_CUBE_EXT 0x9066
-#define GL_UNSIGNED_INT_IMAGE_BUFFER_EXT 0x9067
-#define GL_UNSIGNED_INT_IMAGE_1D_ARRAY_EXT 0x9068
-#define GL_UNSIGNED_INT_IMAGE_2D_ARRAY_EXT 0x9069
-#define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT 0x906A
-#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT 0x906B
-#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT 0x906C
-#define GL_MAX_IMAGE_SAMPLES_EXT 0x906D
-#define GL_IMAGE_BINDING_FORMAT_EXT 0x906E
-#define GL_ALL_BARRIER_BITS_EXT 0xFFFFFFFF
-
-typedef void (GLAPIENTRY * PFNGLBINDIMAGETEXTUREEXTPROC) (GLuint index, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLint format);
-typedef void (GLAPIENTRY * PFNGLMEMORYBARRIEREXTPROC) (GLbitfield barriers);
-
-#define glBindImageTextureEXT GLEW_GET_FUN(__glewBindImageTextureEXT)
-#define glMemoryBarrierEXT GLEW_GET_FUN(__glewMemoryBarrierEXT)
-
-#define GLEW_EXT_shader_image_load_store GLEW_GET_VAR(__GLEW_EXT_shader_image_load_store)
-
-#endif /* GL_EXT_shader_image_load_store */
-
-/* -------------------------- GL_EXT_shadow_funcs -------------------------- */
-
-#ifndef GL_EXT_shadow_funcs
-#define GL_EXT_shadow_funcs 1
-
-#define GLEW_EXT_shadow_funcs GLEW_GET_VAR(__GLEW_EXT_shadow_funcs)
-
-#endif /* GL_EXT_shadow_funcs */
-
-/* --------------------- GL_EXT_shared_texture_palette --------------------- */
-
-#ifndef GL_EXT_shared_texture_palette
-#define GL_EXT_shared_texture_palette 1
-
-#define GL_SHARED_TEXTURE_PALETTE_EXT 0x81FB
-
-#define GLEW_EXT_shared_texture_palette GLEW_GET_VAR(__GLEW_EXT_shared_texture_palette)
-
-#endif /* GL_EXT_shared_texture_palette */
-
-/* ------------------------ GL_EXT_stencil_clear_tag ----------------------- */
-
-#ifndef GL_EXT_stencil_clear_tag
-#define GL_EXT_stencil_clear_tag 1
-
-#define GL_STENCIL_TAG_BITS_EXT 0x88F2
-#define GL_STENCIL_CLEAR_TAG_VALUE_EXT 0x88F3
-
-#define GLEW_EXT_stencil_clear_tag GLEW_GET_VAR(__GLEW_EXT_stencil_clear_tag)
-
-#endif /* GL_EXT_stencil_clear_tag */
-
-/* ------------------------ GL_EXT_stencil_two_side ------------------------ */
-
-#ifndef GL_EXT_stencil_two_side
-#define GL_EXT_stencil_two_side 1
-
-#define GL_STENCIL_TEST_TWO_SIDE_EXT 0x8910
-#define GL_ACTIVE_STENCIL_FACE_EXT 0x8911
-
-typedef void (GLAPIENTRY * PFNGLACTIVESTENCILFACEEXTPROC) (GLenum face);
-
-#define glActiveStencilFaceEXT GLEW_GET_FUN(__glewActiveStencilFaceEXT)
-
-#define GLEW_EXT_stencil_two_side GLEW_GET_VAR(__GLEW_EXT_stencil_two_side)
-
-#endif /* GL_EXT_stencil_two_side */
-
-/* -------------------------- GL_EXT_stencil_wrap -------------------------- */
-
-#ifndef GL_EXT_stencil_wrap
-#define GL_EXT_stencil_wrap 1
-
-#define GL_INCR_WRAP_EXT 0x8507
-#define GL_DECR_WRAP_EXT 0x8508
-
-#define GLEW_EXT_stencil_wrap GLEW_GET_VAR(__GLEW_EXT_stencil_wrap)
-
-#endif /* GL_EXT_stencil_wrap */
-
-/* --------------------------- GL_EXT_subtexture --------------------------- */
-
-#ifndef GL_EXT_subtexture
-#define GL_EXT_subtexture 1
-
-typedef void (GLAPIENTRY * PFNGLTEXSUBIMAGE1DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void* pixels);
-typedef void (GLAPIENTRY * PFNGLTEXSUBIMAGE2DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void* pixels);
-typedef void (GLAPIENTRY * PFNGLTEXSUBIMAGE3DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void* pixels);
-
-#define glTexSubImage1DEXT GLEW_GET_FUN(__glewTexSubImage1DEXT)
-#define glTexSubImage2DEXT GLEW_GET_FUN(__glewTexSubImage2DEXT)
-#define glTexSubImage3DEXT GLEW_GET_FUN(__glewTexSubImage3DEXT)
-
-#define GLEW_EXT_subtexture GLEW_GET_VAR(__GLEW_EXT_subtexture)
-
-#endif /* GL_EXT_subtexture */
-
-/* ----------------------------- GL_EXT_texture ---------------------------- */
-
-#ifndef GL_EXT_texture
-#define GL_EXT_texture 1
-
-#define GL_ALPHA4_EXT 0x803B
-#define GL_ALPHA8_EXT 0x803C
-#define GL_ALPHA12_EXT 0x803D
-#define GL_ALPHA16_EXT 0x803E
-#define GL_LUMINANCE4_EXT 0x803F
-#define GL_LUMINANCE8_EXT 0x8040
-#define GL_LUMINANCE12_EXT 0x8041
-#define GL_LUMINANCE16_EXT 0x8042
-#define GL_LUMINANCE4_ALPHA4_EXT 0x8043
-#define GL_LUMINANCE6_ALPHA2_EXT 0x8044
-#define GL_LUMINANCE8_ALPHA8_EXT 0x8045
-#define GL_LUMINANCE12_ALPHA4_EXT 0x8046
-#define GL_LUMINANCE12_ALPHA12_EXT 0x8047
-#define GL_LUMINANCE16_ALPHA16_EXT 0x8048
-#define GL_INTENSITY_EXT 0x8049
-#define GL_INTENSITY4_EXT 0x804A
-#define GL_INTENSITY8_EXT 0x804B
-#define GL_INTENSITY12_EXT 0x804C
-#define GL_INTENSITY16_EXT 0x804D
-#define GL_RGB2_EXT 0x804E
-#define GL_RGB4_EXT 0x804F
-#define GL_RGB5_EXT 0x8050
-#define GL_RGB8_EXT 0x8051
-#define GL_RGB10_EXT 0x8052
-#define GL_RGB12_EXT 0x8053
-#define GL_RGB16_EXT 0x8054
-#define GL_RGBA2_EXT 0x8055
-#define GL_RGBA4_EXT 0x8056
-#define GL_RGB5_A1_EXT 0x8057
-#define GL_RGBA8_EXT 0x8058
-#define GL_RGB10_A2_EXT 0x8059
-#define GL_RGBA12_EXT 0x805A
-#define GL_RGBA16_EXT 0x805B
-#define GL_TEXTURE_RED_SIZE_EXT 0x805C
-#define GL_TEXTURE_GREEN_SIZE_EXT 0x805D
-#define GL_TEXTURE_BLUE_SIZE_EXT 0x805E
-#define GL_TEXTURE_ALPHA_SIZE_EXT 0x805F
-#define GL_TEXTURE_LUMINANCE_SIZE_EXT 0x8060
-#define GL_TEXTURE_INTENSITY_SIZE_EXT 0x8061
-#define GL_REPLACE_EXT 0x8062
-#define GL_PROXY_TEXTURE_1D_EXT 0x8063
-#define GL_PROXY_TEXTURE_2D_EXT 0x8064
-
-#define GLEW_EXT_texture GLEW_GET_VAR(__GLEW_EXT_texture)
-
-#endif /* GL_EXT_texture */
-
-/* ---------------------------- GL_EXT_texture3D --------------------------- */
-
-#ifndef GL_EXT_texture3D
-#define GL_EXT_texture3D 1
-
-#define GL_PACK_SKIP_IMAGES_EXT 0x806B
-#define GL_PACK_IMAGE_HEIGHT_EXT 0x806C
-#define GL_UNPACK_SKIP_IMAGES_EXT 0x806D
-#define GL_UNPACK_IMAGE_HEIGHT_EXT 0x806E
-#define GL_TEXTURE_3D_EXT 0x806F
-#define GL_PROXY_TEXTURE_3D_EXT 0x8070
-#define GL_TEXTURE_DEPTH_EXT 0x8071
-#define GL_TEXTURE_WRAP_R_EXT 0x8072
-#define GL_MAX_3D_TEXTURE_SIZE_EXT 0x8073
-
-typedef void (GLAPIENTRY * PFNGLTEXIMAGE3DEXTPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void* pixels);
-
-#define glTexImage3DEXT GLEW_GET_FUN(__glewTexImage3DEXT)
-
-#define GLEW_EXT_texture3D GLEW_GET_VAR(__GLEW_EXT_texture3D)
-
-#endif /* GL_EXT_texture3D */
-
-/* -------------------------- GL_EXT_texture_array ------------------------- */
-
-#ifndef GL_EXT_texture_array
-#define GL_EXT_texture_array 1
-
-#define GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT 0x884E
-#define GL_MAX_ARRAY_TEXTURE_LAYERS_EXT 0x88FF
-#define GL_TEXTURE_1D_ARRAY_EXT 0x8C18
-#define GL_PROXY_TEXTURE_1D_ARRAY_EXT 0x8C19
-#define GL_TEXTURE_2D_ARRAY_EXT 0x8C1A
-#define GL_PROXY_TEXTURE_2D_ARRAY_EXT 0x8C1B
-#define GL_TEXTURE_BINDING_1D_ARRAY_EXT 0x8C1C
-#define GL_TEXTURE_BINDING_2D_ARRAY_EXT 0x8C1D
-
-#define GLEW_EXT_texture_array GLEW_GET_VAR(__GLEW_EXT_texture_array)
-
-#endif /* GL_EXT_texture_array */
-
-/* ---------------------- GL_EXT_texture_buffer_object --------------------- */
-
-#ifndef GL_EXT_texture_buffer_object
-#define GL_EXT_texture_buffer_object 1
-
-#define GL_TEXTURE_BUFFER_EXT 0x8C2A
-#define GL_MAX_TEXTURE_BUFFER_SIZE_EXT 0x8C2B
-#define GL_TEXTURE_BINDING_BUFFER_EXT 0x8C2C
-#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT 0x8C2D
-#define GL_TEXTURE_BUFFER_FORMAT_EXT 0x8C2E
-
-typedef void (GLAPIENTRY * PFNGLTEXBUFFEREXTPROC) (GLenum target, GLenum internalformat, GLuint buffer);
-
-#define glTexBufferEXT GLEW_GET_FUN(__glewTexBufferEXT)
-
-#define GLEW_EXT_texture_buffer_object GLEW_GET_VAR(__GLEW_EXT_texture_buffer_object)
-
-#endif /* GL_EXT_texture_buffer_object */
-
-/* -------------------- GL_EXT_texture_compression_dxt1 -------------------- */
-
-#ifndef GL_EXT_texture_compression_dxt1
-#define GL_EXT_texture_compression_dxt1 1
-
-#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0
-#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1
-
-#define GLEW_EXT_texture_compression_dxt1 GLEW_GET_VAR(__GLEW_EXT_texture_compression_dxt1)
-
-#endif /* GL_EXT_texture_compression_dxt1 */
-
-/* -------------------- GL_EXT_texture_compression_latc -------------------- */
-
-#ifndef GL_EXT_texture_compression_latc
-#define GL_EXT_texture_compression_latc 1
-
-#define GL_COMPRESSED_LUMINANCE_LATC1_EXT 0x8C70
-#define GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT 0x8C71
-#define GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT 0x8C72
-#define GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT 0x8C73
-
-#define GLEW_EXT_texture_compression_latc GLEW_GET_VAR(__GLEW_EXT_texture_compression_latc)
-
-#endif /* GL_EXT_texture_compression_latc */
-
-/* -------------------- GL_EXT_texture_compression_rgtc -------------------- */
-
-#ifndef GL_EXT_texture_compression_rgtc
-#define GL_EXT_texture_compression_rgtc 1
-
-#define GL_COMPRESSED_RED_RGTC1_EXT 0x8DBB
-#define GL_COMPRESSED_SIGNED_RED_RGTC1_EXT 0x8DBC
-#define GL_COMPRESSED_RED_GREEN_RGTC2_EXT 0x8DBD
-#define GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT 0x8DBE
-
-#define GLEW_EXT_texture_compression_rgtc GLEW_GET_VAR(__GLEW_EXT_texture_compression_rgtc)
-
-#endif /* GL_EXT_texture_compression_rgtc */
-
-/* -------------------- GL_EXT_texture_compression_s3tc -------------------- */
-
-#ifndef GL_EXT_texture_compression_s3tc
-#define GL_EXT_texture_compression_s3tc 1
-
-#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0
-#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1
-#define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2
-#define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3
-
-#define GLEW_EXT_texture_compression_s3tc GLEW_GET_VAR(__GLEW_EXT_texture_compression_s3tc)
-
-#endif /* GL_EXT_texture_compression_s3tc */
-
-/* ------------------------ GL_EXT_texture_cube_map ------------------------ */
-
-#ifndef GL_EXT_texture_cube_map
-#define GL_EXT_texture_cube_map 1
-
-#define GL_NORMAL_MAP_EXT 0x8511
-#define GL_REFLECTION_MAP_EXT 0x8512
-#define GL_TEXTURE_CUBE_MAP_EXT 0x8513
-#define GL_TEXTURE_BINDING_CUBE_MAP_EXT 0x8514
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT 0x8515
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT 0x8516
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT 0x8517
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT 0x8518
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT 0x8519
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT 0x851A
-#define GL_PROXY_TEXTURE_CUBE_MAP_EXT 0x851B
-#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT 0x851C
-
-#define GLEW_EXT_texture_cube_map GLEW_GET_VAR(__GLEW_EXT_texture_cube_map)
-
-#endif /* GL_EXT_texture_cube_map */
-
-/* ----------------------- GL_EXT_texture_edge_clamp ----------------------- */
-
-#ifndef GL_EXT_texture_edge_clamp
-#define GL_EXT_texture_edge_clamp 1
-
-#define GL_CLAMP_TO_EDGE_EXT 0x812F
-
-#define GLEW_EXT_texture_edge_clamp GLEW_GET_VAR(__GLEW_EXT_texture_edge_clamp)
-
-#endif /* GL_EXT_texture_edge_clamp */
-
-/* --------------------------- GL_EXT_texture_env -------------------------- */
-
-#ifndef GL_EXT_texture_env
-#define GL_EXT_texture_env 1
-
-#define GL_TEXTURE_ENV0_EXT 0
-#define GL_ENV_BLEND_EXT 0
-#define GL_TEXTURE_ENV_SHIFT_EXT 0
-#define GL_ENV_REPLACE_EXT 0
-#define GL_ENV_ADD_EXT 0
-#define GL_ENV_SUBTRACT_EXT 0
-#define GL_TEXTURE_ENV_MODE_ALPHA_EXT 0
-#define GL_ENV_REVERSE_SUBTRACT_EXT 0
-#define GL_ENV_REVERSE_BLEND_EXT 0
-#define GL_ENV_COPY_EXT 0
-#define GL_ENV_MODULATE_EXT 0
-
-#define GLEW_EXT_texture_env GLEW_GET_VAR(__GLEW_EXT_texture_env)
-
-#endif /* GL_EXT_texture_env */
-
-/* ------------------------- GL_EXT_texture_env_add ------------------------ */
-
-#ifndef GL_EXT_texture_env_add
-#define GL_EXT_texture_env_add 1
-
-#define GLEW_EXT_texture_env_add GLEW_GET_VAR(__GLEW_EXT_texture_env_add)
-
-#endif /* GL_EXT_texture_env_add */
-
-/* ----------------------- GL_EXT_texture_env_combine ---------------------- */
-
-#ifndef GL_EXT_texture_env_combine
-#define GL_EXT_texture_env_combine 1
-
-#define GL_COMBINE_EXT 0x8570
-#define GL_COMBINE_RGB_EXT 0x8571
-#define GL_COMBINE_ALPHA_EXT 0x8572
-#define GL_RGB_SCALE_EXT 0x8573
-#define GL_ADD_SIGNED_EXT 0x8574
-#define GL_INTERPOLATE_EXT 0x8575
-#define GL_CONSTANT_EXT 0x8576
-#define GL_PRIMARY_COLOR_EXT 0x8577
-#define GL_PREVIOUS_EXT 0x8578
-#define GL_SOURCE0_RGB_EXT 0x8580
-#define GL_SOURCE1_RGB_EXT 0x8581
-#define GL_SOURCE2_RGB_EXT 0x8582
-#define GL_SOURCE0_ALPHA_EXT 0x8588
-#define GL_SOURCE1_ALPHA_EXT 0x8589
-#define GL_SOURCE2_ALPHA_EXT 0x858A
-#define GL_OPERAND0_RGB_EXT 0x8590
-#define GL_OPERAND1_RGB_EXT 0x8591
-#define GL_OPERAND2_RGB_EXT 0x8592
-#define GL_OPERAND0_ALPHA_EXT 0x8598
-#define GL_OPERAND1_ALPHA_EXT 0x8599
-#define GL_OPERAND2_ALPHA_EXT 0x859A
-
-#define GLEW_EXT_texture_env_combine GLEW_GET_VAR(__GLEW_EXT_texture_env_combine)
-
-#endif /* GL_EXT_texture_env_combine */
-
-/* ------------------------ GL_EXT_texture_env_dot3 ------------------------ */
-
-#ifndef GL_EXT_texture_env_dot3
-#define GL_EXT_texture_env_dot3 1
-
-#define GL_DOT3_RGB_EXT 0x8740
-#define GL_DOT3_RGBA_EXT 0x8741
-
-#define GLEW_EXT_texture_env_dot3 GLEW_GET_VAR(__GLEW_EXT_texture_env_dot3)
-
-#endif /* GL_EXT_texture_env_dot3 */
-
-/* ------------------- GL_EXT_texture_filter_anisotropic ------------------- */
-
-#ifndef GL_EXT_texture_filter_anisotropic
-#define GL_EXT_texture_filter_anisotropic 1
-
-#define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE
-#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF
-
-#define GLEW_EXT_texture_filter_anisotropic GLEW_GET_VAR(__GLEW_EXT_texture_filter_anisotropic)
-
-#endif /* GL_EXT_texture_filter_anisotropic */
-
-/* ------------------------- GL_EXT_texture_integer ------------------------ */
-
-#ifndef GL_EXT_texture_integer
-#define GL_EXT_texture_integer 1
-
-#define GL_RGBA32UI_EXT 0x8D70
-#define GL_RGB32UI_EXT 0x8D71
-#define GL_ALPHA32UI_EXT 0x8D72
-#define GL_INTENSITY32UI_EXT 0x8D73
-#define GL_LUMINANCE32UI_EXT 0x8D74
-#define GL_LUMINANCE_ALPHA32UI_EXT 0x8D75
-#define GL_RGBA16UI_EXT 0x8D76
-#define GL_RGB16UI_EXT 0x8D77
-#define GL_ALPHA16UI_EXT 0x8D78
-#define GL_INTENSITY16UI_EXT 0x8D79
-#define GL_LUMINANCE16UI_EXT 0x8D7A
-#define GL_LUMINANCE_ALPHA16UI_EXT 0x8D7B
-#define GL_RGBA8UI_EXT 0x8D7C
-#define GL_RGB8UI_EXT 0x8D7D
-#define GL_ALPHA8UI_EXT 0x8D7E
-#define GL_INTENSITY8UI_EXT 0x8D7F
-#define GL_LUMINANCE8UI_EXT 0x8D80
-#define GL_LUMINANCE_ALPHA8UI_EXT 0x8D81
-#define GL_RGBA32I_EXT 0x8D82
-#define GL_RGB32I_EXT 0x8D83
-#define GL_ALPHA32I_EXT 0x8D84
-#define GL_INTENSITY32I_EXT 0x8D85
-#define GL_LUMINANCE32I_EXT 0x8D86
-#define GL_LUMINANCE_ALPHA32I_EXT 0x8D87
-#define GL_RGBA16I_EXT 0x8D88
-#define GL_RGB16I_EXT 0x8D89
-#define GL_ALPHA16I_EXT 0x8D8A
-#define GL_INTENSITY16I_EXT 0x8D8B
-#define GL_LUMINANCE16I_EXT 0x8D8C
-#define GL_LUMINANCE_ALPHA16I_EXT 0x8D8D
-#define GL_RGBA8I_EXT 0x8D8E
-#define GL_RGB8I_EXT 0x8D8F
-#define GL_ALPHA8I_EXT 0x8D90
-#define GL_INTENSITY8I_EXT 0x8D91
-#define GL_LUMINANCE8I_EXT 0x8D92
-#define GL_LUMINANCE_ALPHA8I_EXT 0x8D93
-#define GL_RED_INTEGER_EXT 0x8D94
-#define GL_GREEN_INTEGER_EXT 0x8D95
-#define GL_BLUE_INTEGER_EXT 0x8D96
-#define GL_ALPHA_INTEGER_EXT 0x8D97
-#define GL_RGB_INTEGER_EXT 0x8D98
-#define GL_RGBA_INTEGER_EXT 0x8D99
-#define GL_BGR_INTEGER_EXT 0x8D9A
-#define GL_BGRA_INTEGER_EXT 0x8D9B
-#define GL_LUMINANCE_INTEGER_EXT 0x8D9C
-#define GL_LUMINANCE_ALPHA_INTEGER_EXT 0x8D9D
-#define GL_RGBA_INTEGER_MODE_EXT 0x8D9E
-
-typedef void (GLAPIENTRY * PFNGLCLEARCOLORIIEXTPROC) (GLint red, GLint green, GLint blue, GLint alpha);
-typedef void (GLAPIENTRY * PFNGLCLEARCOLORIUIEXTPROC) (GLuint red, GLuint green, GLuint blue, GLuint alpha);
-typedef void (GLAPIENTRY * PFNGLGETTEXPARAMETERIIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
-typedef void (GLAPIENTRY * PFNGLGETTEXPARAMETERIUIVEXTPROC) (GLenum target, GLenum pname, GLuint *params);
-typedef void (GLAPIENTRY * PFNGLTEXPARAMETERIIVEXTPROC) (GLenum target, GLenum pname, const GLint *params);
-typedef void (GLAPIENTRY * PFNGLTEXPARAMETERIUIVEXTPROC) (GLenum target, GLenum pname, const GLuint *params);
-
-#define glClearColorIiEXT GLEW_GET_FUN(__glewClearColorIiEXT)
-#define glClearColorIuiEXT GLEW_GET_FUN(__glewClearColorIuiEXT)
-#define glGetTexParameterIivEXT GLEW_GET_FUN(__glewGetTexParameterIivEXT)
-#define glGetTexParameterIuivEXT GLEW_GET_FUN(__glewGetTexParameterIuivEXT)
-#define glTexParameterIivEXT GLEW_GET_FUN(__glewTexParameterIivEXT)
-#define glTexParameterIuivEXT GLEW_GET_FUN(__glewTexParameterIuivEXT)
-
-#define GLEW_EXT_texture_integer GLEW_GET_VAR(__GLEW_EXT_texture_integer)
-
-#endif /* GL_EXT_texture_integer */
-
-/* ------------------------ GL_EXT_texture_lod_bias ------------------------ */
-
-#ifndef GL_EXT_texture_lod_bias
-#define GL_EXT_texture_lod_bias 1
-
-#define GL_MAX_TEXTURE_LOD_BIAS_EXT 0x84FD
-#define GL_TEXTURE_FILTER_CONTROL_EXT 0x8500
-#define GL_TEXTURE_LOD_BIAS_EXT 0x8501
-
-#define GLEW_EXT_texture_lod_bias GLEW_GET_VAR(__GLEW_EXT_texture_lod_bias)
-
-#endif /* GL_EXT_texture_lod_bias */
-
-/* ---------------------- GL_EXT_texture_mirror_clamp ---------------------- */
-
-#ifndef GL_EXT_texture_mirror_clamp
-#define GL_EXT_texture_mirror_clamp 1
-
-#define GL_MIRROR_CLAMP_EXT 0x8742
-#define GL_MIRROR_CLAMP_TO_EDGE_EXT 0x8743
-#define GL_MIRROR_CLAMP_TO_BORDER_EXT 0x8912
-
-#define GLEW_EXT_texture_mirror_clamp GLEW_GET_VAR(__GLEW_EXT_texture_mirror_clamp)
-
-#endif /* GL_EXT_texture_mirror_clamp */
-
-/* ------------------------- GL_EXT_texture_object ------------------------- */
-
-#ifndef GL_EXT_texture_object
-#define GL_EXT_texture_object 1
-
-#define GL_TEXTURE_PRIORITY_EXT 0x8066
-#define GL_TEXTURE_RESIDENT_EXT 0x8067
-#define GL_TEXTURE_1D_BINDING_EXT 0x8068
-#define GL_TEXTURE_2D_BINDING_EXT 0x8069
-#define GL_TEXTURE_3D_BINDING_EXT 0x806A
-
-typedef GLboolean (GLAPIENTRY * PFNGLARETEXTURESRESIDENTEXTPROC) (GLsizei n, const GLuint* textures, GLboolean* residences);
-typedef void (GLAPIENTRY * PFNGLBINDTEXTUREEXTPROC) (GLenum target, GLuint texture);
-typedef void (GLAPIENTRY * PFNGLDELETETEXTURESEXTPROC) (GLsizei n, const GLuint* textures);
-typedef void (GLAPIENTRY * PFNGLGENTEXTURESEXTPROC) (GLsizei n, GLuint* textures);
-typedef GLboolean (GLAPIENTRY * PFNGLISTEXTUREEXTPROC) (GLuint texture);
-typedef void (GLAPIENTRY * PFNGLPRIORITIZETEXTURESEXTPROC) (GLsizei n, const GLuint* textures, const GLclampf* priorities);
-
-#define glAreTexturesResidentEXT GLEW_GET_FUN(__glewAreTexturesResidentEXT)
-#define glBindTextureEXT GLEW_GET_FUN(__glewBindTextureEXT)
-#define glDeleteTexturesEXT GLEW_GET_FUN(__glewDeleteTexturesEXT)
-#define glGenTexturesEXT GLEW_GET_FUN(__glewGenTexturesEXT)
-#define glIsTextureEXT GLEW_GET_FUN(__glewIsTextureEXT)
-#define glPrioritizeTexturesEXT GLEW_GET_FUN(__glewPrioritizeTexturesEXT)
-
-#define GLEW_EXT_texture_object GLEW_GET_VAR(__GLEW_EXT_texture_object)
-
-#endif /* GL_EXT_texture_object */
-
-/* --------------------- GL_EXT_texture_perturb_normal --------------------- */
-
-#ifndef GL_EXT_texture_perturb_normal
-#define GL_EXT_texture_perturb_normal 1
-
-#define GL_PERTURB_EXT 0x85AE
-#define GL_TEXTURE_NORMAL_EXT 0x85AF
-
-typedef void (GLAPIENTRY * PFNGLTEXTURENORMALEXTPROC) (GLenum mode);
-
-#define glTextureNormalEXT GLEW_GET_FUN(__glewTextureNormalEXT)
-
-#define GLEW_EXT_texture_perturb_normal GLEW_GET_VAR(__GLEW_EXT_texture_perturb_normal)
-
-#endif /* GL_EXT_texture_perturb_normal */
-
-/* ------------------------ GL_EXT_texture_rectangle ----------------------- */
-
-#ifndef GL_EXT_texture_rectangle
-#define GL_EXT_texture_rectangle 1
-
-#define GL_TEXTURE_RECTANGLE_EXT 0x84F5
-#define GL_TEXTURE_BINDING_RECTANGLE_EXT 0x84F6
-#define GL_PROXY_TEXTURE_RECTANGLE_EXT 0x84F7
-#define GL_MAX_RECTANGLE_TEXTURE_SIZE_EXT 0x84F8
-
-#define GLEW_EXT_texture_rectangle GLEW_GET_VAR(__GLEW_EXT_texture_rectangle)
-
-#endif /* GL_EXT_texture_rectangle */
-
-/* -------------------------- GL_EXT_texture_sRGB -------------------------- */
-
-#ifndef GL_EXT_texture_sRGB
-#define GL_EXT_texture_sRGB 1
-
-#define GL_SRGB_EXT 0x8C40
-#define GL_SRGB8_EXT 0x8C41
-#define GL_SRGB_ALPHA_EXT 0x8C42
-#define GL_SRGB8_ALPHA8_EXT 0x8C43
-#define GL_SLUMINANCE_ALPHA_EXT 0x8C44
-#define GL_SLUMINANCE8_ALPHA8_EXT 0x8C45
-#define GL_SLUMINANCE_EXT 0x8C46
-#define GL_SLUMINANCE8_EXT 0x8C47
-#define GL_COMPRESSED_SRGB_EXT 0x8C48
-#define GL_COMPRESSED_SRGB_ALPHA_EXT 0x8C49
-#define GL_COMPRESSED_SLUMINANCE_EXT 0x8C4A
-#define GL_COMPRESSED_SLUMINANCE_ALPHA_EXT 0x8C4B
-#define GL_COMPRESSED_SRGB_S3TC_DXT1_EXT 0x8C4C
-#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT 0x8C4D
-#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT 0x8C4E
-#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT 0x8C4F
-
-#define GLEW_EXT_texture_sRGB GLEW_GET_VAR(__GLEW_EXT_texture_sRGB)
-
-#endif /* GL_EXT_texture_sRGB */
-
-/* --------------------- GL_EXT_texture_shared_exponent -------------------- */
-
-#ifndef GL_EXT_texture_shared_exponent
-#define GL_EXT_texture_shared_exponent 1
-
-#define GL_RGB9_E5_EXT 0x8C3D
-#define GL_UNSIGNED_INT_5_9_9_9_REV_EXT 0x8C3E
-#define GL_TEXTURE_SHARED_SIZE_EXT 0x8C3F
-
-#define GLEW_EXT_texture_shared_exponent GLEW_GET_VAR(__GLEW_EXT_texture_shared_exponent)
-
-#endif /* GL_EXT_texture_shared_exponent */
-
-/* -------------------------- GL_EXT_texture_snorm ------------------------- */
-
-#ifndef GL_EXT_texture_snorm
-#define GL_EXT_texture_snorm 1
-
-#define GL_RED_SNORM 0x8F90
-#define GL_RG_SNORM 0x8F91
-#define GL_RGB_SNORM 0x8F92
-#define GL_RGBA_SNORM 0x8F93
-#define GL_R8_SNORM 0x8F94
-#define GL_RG8_SNORM 0x8F95
-#define GL_RGB8_SNORM 0x8F96
-#define GL_RGBA8_SNORM 0x8F97
-#define GL_R16_SNORM 0x8F98
-#define GL_RG16_SNORM 0x8F99
-#define GL_RGB16_SNORM 0x8F9A
-#define GL_RGBA16_SNORM 0x8F9B
-#define GL_SIGNED_NORMALIZED 0x8F9C
-#define GL_ALPHA_SNORM 0x9010
-#define GL_LUMINANCE_SNORM 0x9011
-#define GL_LUMINANCE_ALPHA_SNORM 0x9012
-#define GL_INTENSITY_SNORM 0x9013
-#define GL_ALPHA8_SNORM 0x9014
-#define GL_LUMINANCE8_SNORM 0x9015
-#define GL_LUMINANCE8_ALPHA8_SNORM 0x9016
-#define GL_INTENSITY8_SNORM 0x9017
-#define GL_ALPHA16_SNORM 0x9018
-#define GL_LUMINANCE16_SNORM 0x9019
-#define GL_LUMINANCE16_ALPHA16_SNORM 0x901A
-#define GL_INTENSITY16_SNORM 0x901B
-
-#define GLEW_EXT_texture_snorm GLEW_GET_VAR(__GLEW_EXT_texture_snorm)
-
-#endif /* GL_EXT_texture_snorm */
-
-/* ------------------------- GL_EXT_texture_swizzle ------------------------ */
-
-#ifndef GL_EXT_texture_swizzle
-#define GL_EXT_texture_swizzle 1
-
-#define GL_TEXTURE_SWIZZLE_R_EXT 0x8E42
-#define GL_TEXTURE_SWIZZLE_G_EXT 0x8E43
-#define GL_TEXTURE_SWIZZLE_B_EXT 0x8E44
-#define GL_TEXTURE_SWIZZLE_A_EXT 0x8E45
-#define GL_TEXTURE_SWIZZLE_RGBA_EXT 0x8E46
-
-#define GLEW_EXT_texture_swizzle GLEW_GET_VAR(__GLEW_EXT_texture_swizzle)
-
-#endif /* GL_EXT_texture_swizzle */
-
-/* --------------------------- GL_EXT_timer_query -------------------------- */
-
-#ifndef GL_EXT_timer_query
-#define GL_EXT_timer_query 1
-
-#define GL_TIME_ELAPSED_EXT 0x88BF
-
-typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTI64VEXTPROC) (GLuint id, GLenum pname, GLint64EXT *params);
-typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTUI64VEXTPROC) (GLuint id, GLenum pname, GLuint64EXT *params);
-
-#define glGetQueryObjecti64vEXT GLEW_GET_FUN(__glewGetQueryObjecti64vEXT)
-#define glGetQueryObjectui64vEXT GLEW_GET_FUN(__glewGetQueryObjectui64vEXT)
-
-#define GLEW_EXT_timer_query GLEW_GET_VAR(__GLEW_EXT_timer_query)
-
-#endif /* GL_EXT_timer_query */
-
-/* ----------------------- GL_EXT_transform_feedback ----------------------- */
-
-#ifndef GL_EXT_transform_feedback
-#define GL_EXT_transform_feedback 1
-
-#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT 0x8C76
-#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT 0x8C7F
-#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT 0x8C80
-#define GL_TRANSFORM_FEEDBACK_VARYINGS_EXT 0x8C83
-#define GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT 0x8C84
-#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT 0x8C85
-#define GL_PRIMITIVES_GENERATED_EXT 0x8C87
-#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT 0x8C88
-#define GL_RASTERIZER_DISCARD_EXT 0x8C89
-#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT 0x8C8A
-#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT 0x8C8B
-#define GL_INTERLEAVED_ATTRIBS_EXT 0x8C8C
-#define GL_SEPARATE_ATTRIBS_EXT 0x8C8D
-#define GL_TRANSFORM_FEEDBACK_BUFFER_EXT 0x8C8E
-#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT 0x8C8F
-
-typedef void (GLAPIENTRY * PFNGLBEGINTRANSFORMFEEDBACKEXTPROC) (GLenum primitiveMode);
-typedef void (GLAPIENTRY * PFNGLBINDBUFFERBASEEXTPROC) (GLenum target, GLuint index, GLuint buffer);
-typedef void (GLAPIENTRY * PFNGLBINDBUFFEROFFSETEXTPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset);
-typedef void (GLAPIENTRY * PFNGLBINDBUFFERRANGEEXTPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
-typedef void (GLAPIENTRY * PFNGLENDTRANSFORMFEEDBACKEXTPROC) (void);
-typedef void (GLAPIENTRY * PFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLsizei *size, GLenum *type, char *name);
-typedef void (GLAPIENTRY * PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC) (GLuint program, GLsizei count, const char ** varyings, GLenum bufferMode);
-
-#define glBeginTransformFeedbackEXT GLEW_GET_FUN(__glewBeginTransformFeedbackEXT)
-#define glBindBufferBaseEXT GLEW_GET_FUN(__glewBindBufferBaseEXT)
-#define glBindBufferOffsetEXT GLEW_GET_FUN(__glewBindBufferOffsetEXT)
-#define glBindBufferRangeEXT GLEW_GET_FUN(__glewBindBufferRangeEXT)
-#define glEndTransformFeedbackEXT GLEW_GET_FUN(__glewEndTransformFeedbackEXT)
-#define glGetTransformFeedbackVaryingEXT GLEW_GET_FUN(__glewGetTransformFeedbackVaryingEXT)
-#define glTransformFeedbackVaryingsEXT GLEW_GET_FUN(__glewTransformFeedbackVaryingsEXT)
-
-#define GLEW_EXT_transform_feedback GLEW_GET_VAR(__GLEW_EXT_transform_feedback)
-
-#endif /* GL_EXT_transform_feedback */
-
-/* -------------------------- GL_EXT_vertex_array -------------------------- */
-
-#ifndef GL_EXT_vertex_array
-#define GL_EXT_vertex_array 1
-
-#define GL_DOUBLE_EXT 0x140A
-#define GL_VERTEX_ARRAY_EXT 0x8074
-#define GL_NORMAL_ARRAY_EXT 0x8075
-#define GL_COLOR_ARRAY_EXT 0x8076
-#define GL_INDEX_ARRAY_EXT 0x8077
-#define GL_TEXTURE_COORD_ARRAY_EXT 0x8078
-#define GL_EDGE_FLAG_ARRAY_EXT 0x8079
-#define GL_VERTEX_ARRAY_SIZE_EXT 0x807A
-#define GL_VERTEX_ARRAY_TYPE_EXT 0x807B
-#define GL_VERTEX_ARRAY_STRIDE_EXT 0x807C
-#define GL_VERTEX_ARRAY_COUNT_EXT 0x807D
-#define GL_NORMAL_ARRAY_TYPE_EXT 0x807E
-#define GL_NORMAL_ARRAY_STRIDE_EXT 0x807F
-#define GL_NORMAL_ARRAY_COUNT_EXT 0x8080
-#define GL_COLOR_ARRAY_SIZE_EXT 0x8081
-#define GL_COLOR_ARRAY_TYPE_EXT 0x8082
-#define GL_COLOR_ARRAY_STRIDE_EXT 0x8083
-#define GL_COLOR_ARRAY_COUNT_EXT 0x8084
-#define GL_INDEX_ARRAY_TYPE_EXT 0x8085
-#define GL_INDEX_ARRAY_STRIDE_EXT 0x8086
-#define GL_INDEX_ARRAY_COUNT_EXT 0x8087
-#define GL_TEXTURE_COORD_ARRAY_SIZE_EXT 0x8088
-#define GL_TEXTURE_COORD_ARRAY_TYPE_EXT 0x8089
-#define GL_TEXTURE_COORD_ARRAY_STRIDE_EXT 0x808A
-#define GL_TEXTURE_COORD_ARRAY_COUNT_EXT 0x808B
-#define GL_EDGE_FLAG_ARRAY_STRIDE_EXT 0x808C
-#define GL_EDGE_FLAG_ARRAY_COUNT_EXT 0x808D
-#define GL_VERTEX_ARRAY_POINTER_EXT 0x808E
-#define GL_NORMAL_ARRAY_POINTER_EXT 0x808F
-#define GL_COLOR_ARRAY_POINTER_EXT 0x8090
-#define GL_INDEX_ARRAY_POINTER_EXT 0x8091
-#define GL_TEXTURE_COORD_ARRAY_POINTER_EXT 0x8092
-#define GL_EDGE_FLAG_ARRAY_POINTER_EXT 0x8093
-
-typedef void (GLAPIENTRY * PFNGLARRAYELEMENTEXTPROC) (GLint i);
-typedef void (GLAPIENTRY * PFNGLCOLORPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const void* pointer);
-typedef void (GLAPIENTRY * PFNGLDRAWARRAYSEXTPROC) (GLenum mode, GLint first, GLsizei count);
-typedef void (GLAPIENTRY * PFNGLEDGEFLAGPOINTEREXTPROC) (GLsizei stride, GLsizei count, const GLboolean* pointer);
-typedef void (GLAPIENTRY * PFNGLGETPOINTERVEXTPROC) (GLenum pname, void** params);
-typedef void (GLAPIENTRY * PFNGLINDEXPOINTEREXTPROC) (GLenum type, GLsizei stride, GLsizei count, const void* pointer);
-typedef void (GLAPIENTRY * PFNGLNORMALPOINTEREXTPROC) (GLenum type, GLsizei stride, GLsizei count, const void* pointer);
-typedef void (GLAPIENTRY * PFNGLTEXCOORDPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const void* pointer);
-typedef void (GLAPIENTRY * PFNGLVERTEXPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const void* pointer);
-
-#define glArrayElementEXT GLEW_GET_FUN(__glewArrayElementEXT)
-#define glColorPointerEXT GLEW_GET_FUN(__glewColorPointerEXT)
-#define glDrawArraysEXT GLEW_GET_FUN(__glewDrawArraysEXT)
-#define glEdgeFlagPointerEXT GLEW_GET_FUN(__glewEdgeFlagPointerEXT)
-#define glGetPointervEXT GLEW_GET_FUN(__glewGetPointervEXT)
-#define glIndexPointerEXT GLEW_GET_FUN(__glewIndexPointerEXT)
-#define glNormalPointerEXT GLEW_GET_FUN(__glewNormalPointerEXT)
-#define glTexCoordPointerEXT GLEW_GET_FUN(__glewTexCoordPointerEXT)
-#define glVertexPointerEXT GLEW_GET_FUN(__glewVertexPointerEXT)
-
-#define GLEW_EXT_vertex_array GLEW_GET_VAR(__GLEW_EXT_vertex_array)
-
-#endif /* GL_EXT_vertex_array */
-
-/* ------------------------ GL_EXT_vertex_array_bgra ----------------------- */
-
-#ifndef GL_EXT_vertex_array_bgra
-#define GL_EXT_vertex_array_bgra 1
-
-#define GL_BGRA 0x80E1
-
-#define GLEW_EXT_vertex_array_bgra GLEW_GET_VAR(__GLEW_EXT_vertex_array_bgra)
-
-#endif /* GL_EXT_vertex_array_bgra */
-
-/* ----------------------- GL_EXT_vertex_attrib_64bit ---------------------- */
-
-#ifndef GL_EXT_vertex_attrib_64bit
-#define GL_EXT_vertex_attrib_64bit 1
-
-#define GL_DOUBLE_MAT2_EXT 0x8F46
-#define GL_DOUBLE_MAT3_EXT 0x8F47
-#define GL_DOUBLE_MAT4_EXT 0x8F48
-#define GL_DOUBLE_VEC2_EXT 0x8FFC
-#define GL_DOUBLE_VEC3_EXT 0x8FFD
-#define GL_DOUBLE_VEC4_EXT 0x8FFE
-
-typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBLDVEXTPROC) (GLuint index, GLenum pname, GLdouble* params);
-typedef void (GLAPIENTRY * PFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL1DEXTPROC) (GLuint index, GLdouble x);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL1DVEXTPROC) (GLuint index, const GLdouble* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL2DEXTPROC) (GLuint index, GLdouble x, GLdouble y);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL2DVEXTPROC) (GLuint index, const GLdouble* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL3DEXTPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL3DVEXTPROC) (GLuint index, const GLdouble* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL4DEXTPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL4DVEXTPROC) (GLuint index, const GLdouble* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBLPOINTEREXTPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const void* pointer);
-
-#define glGetVertexAttribLdvEXT GLEW_GET_FUN(__glewGetVertexAttribLdvEXT)
-#define glVertexArrayVertexAttribLOffsetEXT GLEW_GET_FUN(__glewVertexArrayVertexAttribLOffsetEXT)
-#define glVertexAttribL1dEXT GLEW_GET_FUN(__glewVertexAttribL1dEXT)
-#define glVertexAttribL1dvEXT GLEW_GET_FUN(__glewVertexAttribL1dvEXT)
-#define glVertexAttribL2dEXT GLEW_GET_FUN(__glewVertexAttribL2dEXT)
-#define glVertexAttribL2dvEXT GLEW_GET_FUN(__glewVertexAttribL2dvEXT)
-#define glVertexAttribL3dEXT GLEW_GET_FUN(__glewVertexAttribL3dEXT)
-#define glVertexAttribL3dvEXT GLEW_GET_FUN(__glewVertexAttribL3dvEXT)
-#define glVertexAttribL4dEXT GLEW_GET_FUN(__glewVertexAttribL4dEXT)
-#define glVertexAttribL4dvEXT GLEW_GET_FUN(__glewVertexAttribL4dvEXT)
-#define glVertexAttribLPointerEXT GLEW_GET_FUN(__glewVertexAttribLPointerEXT)
-
-#define GLEW_EXT_vertex_attrib_64bit GLEW_GET_VAR(__GLEW_EXT_vertex_attrib_64bit)
-
-#endif /* GL_EXT_vertex_attrib_64bit */
-
-/* -------------------------- GL_EXT_vertex_shader ------------------------- */
-
-#ifndef GL_EXT_vertex_shader
-#define GL_EXT_vertex_shader 1
-
-#define GL_VERTEX_SHADER_EXT 0x8780
-#define GL_VERTEX_SHADER_BINDING_EXT 0x8781
-#define GL_OP_INDEX_EXT 0x8782
-#define GL_OP_NEGATE_EXT 0x8783
-#define GL_OP_DOT3_EXT 0x8784
-#define GL_OP_DOT4_EXT 0x8785
-#define GL_OP_MUL_EXT 0x8786
-#define GL_OP_ADD_EXT 0x8787
-#define GL_OP_MADD_EXT 0x8788
-#define GL_OP_FRAC_EXT 0x8789
-#define GL_OP_MAX_EXT 0x878A
-#define GL_OP_MIN_EXT 0x878B
-#define GL_OP_SET_GE_EXT 0x878C
-#define GL_OP_SET_LT_EXT 0x878D
-#define GL_OP_CLAMP_EXT 0x878E
-#define GL_OP_FLOOR_EXT 0x878F
-#define GL_OP_ROUND_EXT 0x8790
-#define GL_OP_EXP_BASE_2_EXT 0x8791
-#define GL_OP_LOG_BASE_2_EXT 0x8792
-#define GL_OP_POWER_EXT 0x8793
-#define GL_OP_RECIP_EXT 0x8794
-#define GL_OP_RECIP_SQRT_EXT 0x8795
-#define GL_OP_SUB_EXT 0x8796
-#define GL_OP_CROSS_PRODUCT_EXT 0x8797
-#define GL_OP_MULTIPLY_MATRIX_EXT 0x8798
-#define GL_OP_MOV_EXT 0x8799
-#define GL_OUTPUT_VERTEX_EXT 0x879A
-#define GL_OUTPUT_COLOR0_EXT 0x879B
-#define GL_OUTPUT_COLOR1_EXT 0x879C
-#define GL_OUTPUT_TEXTURE_COORD0_EXT 0x879D
-#define GL_OUTPUT_TEXTURE_COORD1_EXT 0x879E
-#define GL_OUTPUT_TEXTURE_COORD2_EXT 0x879F
-#define GL_OUTPUT_TEXTURE_COORD3_EXT 0x87A0
-#define GL_OUTPUT_TEXTURE_COORD4_EXT 0x87A1
-#define GL_OUTPUT_TEXTURE_COORD5_EXT 0x87A2
-#define GL_OUTPUT_TEXTURE_COORD6_EXT 0x87A3
-#define GL_OUTPUT_TEXTURE_COORD7_EXT 0x87A4
-#define GL_OUTPUT_TEXTURE_COORD8_EXT 0x87A5
-#define GL_OUTPUT_TEXTURE_COORD9_EXT 0x87A6
-#define GL_OUTPUT_TEXTURE_COORD10_EXT 0x87A7
-#define GL_OUTPUT_TEXTURE_COORD11_EXT 0x87A8
-#define GL_OUTPUT_TEXTURE_COORD12_EXT 0x87A9
-#define GL_OUTPUT_TEXTURE_COORD13_EXT 0x87AA
-#define GL_OUTPUT_TEXTURE_COORD14_EXT 0x87AB
-#define GL_OUTPUT_TEXTURE_COORD15_EXT 0x87AC
-#define GL_OUTPUT_TEXTURE_COORD16_EXT 0x87AD
-#define GL_OUTPUT_TEXTURE_COORD17_EXT 0x87AE
-#define GL_OUTPUT_TEXTURE_COORD18_EXT 0x87AF
-#define GL_OUTPUT_TEXTURE_COORD19_EXT 0x87B0
-#define GL_OUTPUT_TEXTURE_COORD20_EXT 0x87B1
-#define GL_OUTPUT_TEXTURE_COORD21_EXT 0x87B2
-#define GL_OUTPUT_TEXTURE_COORD22_EXT 0x87B3
-#define GL_OUTPUT_TEXTURE_COORD23_EXT 0x87B4
-#define GL_OUTPUT_TEXTURE_COORD24_EXT 0x87B5
-#define GL_OUTPUT_TEXTURE_COORD25_EXT 0x87B6
-#define GL_OUTPUT_TEXTURE_COORD26_EXT 0x87B7
-#define GL_OUTPUT_TEXTURE_COORD27_EXT 0x87B8
-#define GL_OUTPUT_TEXTURE_COORD28_EXT 0x87B9
-#define GL_OUTPUT_TEXTURE_COORD29_EXT 0x87BA
-#define GL_OUTPUT_TEXTURE_COORD30_EXT 0x87BB
-#define GL_OUTPUT_TEXTURE_COORD31_EXT 0x87BC
-#define GL_OUTPUT_FOG_EXT 0x87BD
-#define GL_SCALAR_EXT 0x87BE
-#define GL_VECTOR_EXT 0x87BF
-#define GL_MATRIX_EXT 0x87C0
-#define GL_VARIANT_EXT 0x87C1
-#define GL_INVARIANT_EXT 0x87C2
-#define GL_LOCAL_CONSTANT_EXT 0x87C3
-#define GL_LOCAL_EXT 0x87C4
-#define GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87C5
-#define GL_MAX_VERTEX_SHADER_VARIANTS_EXT 0x87C6
-#define GL_MAX_VERTEX_SHADER_INVARIANTS_EXT 0x87C7
-#define GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87C8
-#define GL_MAX_VERTEX_SHADER_LOCALS_EXT 0x87C9
-#define GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87CA
-#define GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT 0x87CB
-#define GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT 0x87CC
-#define GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87CD
-#define GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT 0x87CE
-#define GL_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87CF
-#define GL_VERTEX_SHADER_VARIANTS_EXT 0x87D0
-#define GL_VERTEX_SHADER_INVARIANTS_EXT 0x87D1
-#define GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87D2
-#define GL_VERTEX_SHADER_LOCALS_EXT 0x87D3
-#define GL_VERTEX_SHADER_OPTIMIZED_EXT 0x87D4
-#define GL_X_EXT 0x87D5
-#define GL_Y_EXT 0x87D6
-#define GL_Z_EXT 0x87D7
-#define GL_W_EXT 0x87D8
-#define GL_NEGATIVE_X_EXT 0x87D9
-#define GL_NEGATIVE_Y_EXT 0x87DA
-#define GL_NEGATIVE_Z_EXT 0x87DB
-#define GL_NEGATIVE_W_EXT 0x87DC
-#define GL_ZERO_EXT 0x87DD
-#define GL_ONE_EXT 0x87DE
-#define GL_NEGATIVE_ONE_EXT 0x87DF
-#define GL_NORMALIZED_RANGE_EXT 0x87E0
-#define GL_FULL_RANGE_EXT 0x87E1
-#define GL_CURRENT_VERTEX_EXT 0x87E2
-#define GL_MVP_MATRIX_EXT 0x87E3
-#define GL_VARIANT_VALUE_EXT 0x87E4
-#define GL_VARIANT_DATATYPE_EXT 0x87E5
-#define GL_VARIANT_ARRAY_STRIDE_EXT 0x87E6
-#define GL_VARIANT_ARRAY_TYPE_EXT 0x87E7
-#define GL_VARIANT_ARRAY_EXT 0x87E8
-#define GL_VARIANT_ARRAY_POINTER_EXT 0x87E9
-#define GL_INVARIANT_VALUE_EXT 0x87EA
-#define GL_INVARIANT_DATATYPE_EXT 0x87EB
-#define GL_LOCAL_CONSTANT_VALUE_EXT 0x87EC
-#define GL_LOCAL_CONSTANT_DATATYPE_EXT 0x87ED
-
-typedef void (GLAPIENTRY * PFNGLBEGINVERTEXSHADEREXTPROC) (void);
-typedef GLuint (GLAPIENTRY * PFNGLBINDLIGHTPARAMETEREXTPROC) (GLenum light, GLenum value);
-typedef GLuint (GLAPIENTRY * PFNGLBINDMATERIALPARAMETEREXTPROC) (GLenum face, GLenum value);
-typedef GLuint (GLAPIENTRY * PFNGLBINDPARAMETEREXTPROC) (GLenum value);
-typedef GLuint (GLAPIENTRY * PFNGLBINDTEXGENPARAMETEREXTPROC) (GLenum unit, GLenum coord, GLenum value);
-typedef GLuint (GLAPIENTRY * PFNGLBINDTEXTUREUNITPARAMETEREXTPROC) (GLenum unit, GLenum value);
-typedef void (GLAPIENTRY * PFNGLBINDVERTEXSHADEREXTPROC) (GLuint id);
-typedef void (GLAPIENTRY * PFNGLDELETEVERTEXSHADEREXTPROC) (GLuint id);
-typedef void (GLAPIENTRY * PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC) (GLuint id);
-typedef void (GLAPIENTRY * PFNGLENABLEVARIANTCLIENTSTATEEXTPROC) (GLuint id);
-typedef void (GLAPIENTRY * PFNGLENDVERTEXSHADEREXTPROC) (void);
-typedef void (GLAPIENTRY * PFNGLEXTRACTCOMPONENTEXTPROC) (GLuint res, GLuint src, GLuint num);
-typedef GLuint (GLAPIENTRY * PFNGLGENSYMBOLSEXTPROC) (GLenum dataType, GLenum storageType, GLenum range, GLuint components);
-typedef GLuint (GLAPIENTRY * PFNGLGENVERTEXSHADERSEXTPROC) (GLuint range);
-typedef void (GLAPIENTRY * PFNGLGETINVARIANTBOOLEANVEXTPROC) (GLuint id, GLenum value, GLboolean *data);
-typedef void (GLAPIENTRY * PFNGLGETINVARIANTFLOATVEXTPROC) (GLuint id, GLenum value, GLfloat *data);
-typedef void (GLAPIENTRY * PFNGLGETINVARIANTINTEGERVEXTPROC) (GLuint id, GLenum value, GLint *data);
-typedef void (GLAPIENTRY * PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC) (GLuint id, GLenum value, GLboolean *data);
-typedef void (GLAPIENTRY * PFNGLGETLOCALCONSTANTFLOATVEXTPROC) (GLuint id, GLenum value, GLfloat *data);
-typedef void (GLAPIENTRY * PFNGLGETLOCALCONSTANTINTEGERVEXTPROC) (GLuint id, GLenum value, GLint *data);
-typedef void (GLAPIENTRY * PFNGLGETVARIANTBOOLEANVEXTPROC) (GLuint id, GLenum value, GLboolean *data);
-typedef void (GLAPIENTRY * PFNGLGETVARIANTFLOATVEXTPROC) (GLuint id, GLenum value, GLfloat *data);
-typedef void (GLAPIENTRY * PFNGLGETVARIANTINTEGERVEXTPROC) (GLuint id, GLenum value, GLint *data);
-typedef void (GLAPIENTRY * PFNGLGETVARIANTPOINTERVEXTPROC) (GLuint id, GLenum value, GLvoid **data);
-typedef void (GLAPIENTRY * PFNGLINSERTCOMPONENTEXTPROC) (GLuint res, GLuint src, GLuint num);
-typedef GLboolean (GLAPIENTRY * PFNGLISVARIANTENABLEDEXTPROC) (GLuint id, GLenum cap);
-typedef void (GLAPIENTRY * PFNGLSETINVARIANTEXTPROC) (GLuint id, GLenum type, GLvoid *addr);
-typedef void (GLAPIENTRY * PFNGLSETLOCALCONSTANTEXTPROC) (GLuint id, GLenum type, GLvoid *addr);
-typedef void (GLAPIENTRY * PFNGLSHADEROP1EXTPROC) (GLenum op, GLuint res, GLuint arg1);
-typedef void (GLAPIENTRY * PFNGLSHADEROP2EXTPROC) (GLenum op, GLuint res, GLuint arg1, GLuint arg2);
-typedef void (GLAPIENTRY * PFNGLSHADEROP3EXTPROC) (GLenum op, GLuint res, GLuint arg1, GLuint arg2, GLuint arg3);
-typedef void (GLAPIENTRY * PFNGLSWIZZLEEXTPROC) (GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW);
-typedef void (GLAPIENTRY * PFNGLVARIANTPOINTEREXTPROC) (GLuint id, GLenum type, GLuint stride, GLvoid *addr);
-typedef void (GLAPIENTRY * PFNGLVARIANTBVEXTPROC) (GLuint id, GLbyte *addr);
-typedef void (GLAPIENTRY * PFNGLVARIANTDVEXTPROC) (GLuint id, GLdouble *addr);
-typedef void (GLAPIENTRY * PFNGLVARIANTFVEXTPROC) (GLuint id, GLfloat *addr);
-typedef void (GLAPIENTRY * PFNGLVARIANTIVEXTPROC) (GLuint id, GLint *addr);
-typedef void (GLAPIENTRY * PFNGLVARIANTSVEXTPROC) (GLuint id, GLshort *addr);
-typedef void (GLAPIENTRY * PFNGLVARIANTUBVEXTPROC) (GLuint id, GLubyte *addr);
-typedef void (GLAPIENTRY * PFNGLVARIANTUIVEXTPROC) (GLuint id, GLuint *addr);
-typedef void (GLAPIENTRY * PFNGLVARIANTUSVEXTPROC) (GLuint id, GLushort *addr);
-typedef void (GLAPIENTRY * PFNGLWRITEMASKEXTPROC) (GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW);
-
-#define glBeginVertexShaderEXT GLEW_GET_FUN(__glewBeginVertexShaderEXT)
-#define glBindLightParameterEXT GLEW_GET_FUN(__glewBindLightParameterEXT)
-#define glBindMaterialParameterEXT GLEW_GET_FUN(__glewBindMaterialParameterEXT)
-#define glBindParameterEXT GLEW_GET_FUN(__glewBindParameterEXT)
-#define glBindTexGenParameterEXT GLEW_GET_FUN(__glewBindTexGenParameterEXT)
-#define glBindTextureUnitParameterEXT GLEW_GET_FUN(__glewBindTextureUnitParameterEXT)
-#define glBindVertexShaderEXT GLEW_GET_FUN(__glewBindVertexShaderEXT)
-#define glDeleteVertexShaderEXT GLEW_GET_FUN(__glewDeleteVertexShaderEXT)
-#define glDisableVariantClientStateEXT GLEW_GET_FUN(__glewDisableVariantClientStateEXT)
-#define glEnableVariantClientStateEXT GLEW_GET_FUN(__glewEnableVariantClientStateEXT)
-#define glEndVertexShaderEXT GLEW_GET_FUN(__glewEndVertexShaderEXT)
-#define glExtractComponentEXT GLEW_GET_FUN(__glewExtractComponentEXT)
-#define glGenSymbolsEXT GLEW_GET_FUN(__glewGenSymbolsEXT)
-#define glGenVertexShadersEXT GLEW_GET_FUN(__glewGenVertexShadersEXT)
-#define glGetInvariantBooleanvEXT GLEW_GET_FUN(__glewGetInvariantBooleanvEXT)
-#define glGetInvariantFloatvEXT GLEW_GET_FUN(__glewGetInvariantFloatvEXT)
-#define glGetInvariantIntegervEXT GLEW_GET_FUN(__glewGetInvariantIntegervEXT)
-#define glGetLocalConstantBooleanvEXT GLEW_GET_FUN(__glewGetLocalConstantBooleanvEXT)
-#define glGetLocalConstantFloatvEXT GLEW_GET_FUN(__glewGetLocalConstantFloatvEXT)
-#define glGetLocalConstantIntegervEXT GLEW_GET_FUN(__glewGetLocalConstantIntegervEXT)
-#define glGetVariantBooleanvEXT GLEW_GET_FUN(__glewGetVariantBooleanvEXT)
-#define glGetVariantFloatvEXT GLEW_GET_FUN(__glewGetVariantFloatvEXT)
-#define glGetVariantIntegervEXT GLEW_GET_FUN(__glewGetVariantIntegervEXT)
-#define glGetVariantPointervEXT GLEW_GET_FUN(__glewGetVariantPointervEXT)
-#define glInsertComponentEXT GLEW_GET_FUN(__glewInsertComponentEXT)
-#define glIsVariantEnabledEXT GLEW_GET_FUN(__glewIsVariantEnabledEXT)
-#define glSetInvariantEXT GLEW_GET_FUN(__glewSetInvariantEXT)
-#define glSetLocalConstantEXT GLEW_GET_FUN(__glewSetLocalConstantEXT)
-#define glShaderOp1EXT GLEW_GET_FUN(__glewShaderOp1EXT)
-#define glShaderOp2EXT GLEW_GET_FUN(__glewShaderOp2EXT)
-#define glShaderOp3EXT GLEW_GET_FUN(__glewShaderOp3EXT)
-#define glSwizzleEXT GLEW_GET_FUN(__glewSwizzleEXT)
-#define glVariantPointerEXT GLEW_GET_FUN(__glewVariantPointerEXT)
-#define glVariantbvEXT GLEW_GET_FUN(__glewVariantbvEXT)
-#define glVariantdvEXT GLEW_GET_FUN(__glewVariantdvEXT)
-#define glVariantfvEXT GLEW_GET_FUN(__glewVariantfvEXT)
-#define glVariantivEXT GLEW_GET_FUN(__glewVariantivEXT)
-#define glVariantsvEXT GLEW_GET_FUN(__glewVariantsvEXT)
-#define glVariantubvEXT GLEW_GET_FUN(__glewVariantubvEXT)
-#define glVariantuivEXT GLEW_GET_FUN(__glewVariantuivEXT)
-#define glVariantusvEXT GLEW_GET_FUN(__glewVariantusvEXT)
-#define glWriteMaskEXT GLEW_GET_FUN(__glewWriteMaskEXT)
-
-#define GLEW_EXT_vertex_shader GLEW_GET_VAR(__GLEW_EXT_vertex_shader)
-
-#endif /* GL_EXT_vertex_shader */
-
-/* ------------------------ GL_EXT_vertex_weighting ------------------------ */
-
-#ifndef GL_EXT_vertex_weighting
-#define GL_EXT_vertex_weighting 1
-
-#define GL_MODELVIEW0_STACK_DEPTH_EXT 0x0BA3
-#define GL_MODELVIEW0_MATRIX_EXT 0x0BA6
-#define GL_MODELVIEW0_EXT 0x1700
-#define GL_MODELVIEW1_STACK_DEPTH_EXT 0x8502
-#define GL_MODELVIEW1_MATRIX_EXT 0x8506
-#define GL_VERTEX_WEIGHTING_EXT 0x8509
-#define GL_MODELVIEW1_EXT 0x850A
-#define GL_CURRENT_VERTEX_WEIGHT_EXT 0x850B
-#define GL_VERTEX_WEIGHT_ARRAY_EXT 0x850C
-#define GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT 0x850D
-#define GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT 0x850E
-#define GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT 0x850F
-#define GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT 0x8510
-
-typedef void (GLAPIENTRY * PFNGLVERTEXWEIGHTPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, void* pointer);
-typedef void (GLAPIENTRY * PFNGLVERTEXWEIGHTFEXTPROC) (GLfloat weight);
-typedef void (GLAPIENTRY * PFNGLVERTEXWEIGHTFVEXTPROC) (GLfloat* weight);
-
-#define glVertexWeightPointerEXT GLEW_GET_FUN(__glewVertexWeightPointerEXT)
-#define glVertexWeightfEXT GLEW_GET_FUN(__glewVertexWeightfEXT)
-#define glVertexWeightfvEXT GLEW_GET_FUN(__glewVertexWeightfvEXT)
-
-#define GLEW_EXT_vertex_weighting GLEW_GET_VAR(__GLEW_EXT_vertex_weighting)
-
-#endif /* GL_EXT_vertex_weighting */
-
-/* ---------------------- GL_GREMEDY_frame_terminator ---------------------- */
-
-#ifndef GL_GREMEDY_frame_terminator
-#define GL_GREMEDY_frame_terminator 1
-
-typedef void (GLAPIENTRY * PFNGLFRAMETERMINATORGREMEDYPROC) (void);
-
-#define glFrameTerminatorGREMEDY GLEW_GET_FUN(__glewFrameTerminatorGREMEDY)
-
-#define GLEW_GREMEDY_frame_terminator GLEW_GET_VAR(__GLEW_GREMEDY_frame_terminator)
-
-#endif /* GL_GREMEDY_frame_terminator */
-
-/* ------------------------ GL_GREMEDY_string_marker ----------------------- */
-
-#ifndef GL_GREMEDY_string_marker
-#define GL_GREMEDY_string_marker 1
-
-typedef void (GLAPIENTRY * PFNGLSTRINGMARKERGREMEDYPROC) (GLsizei len, const void* string);
-
-#define glStringMarkerGREMEDY GLEW_GET_FUN(__glewStringMarkerGREMEDY)
-
-#define GLEW_GREMEDY_string_marker GLEW_GET_VAR(__GLEW_GREMEDY_string_marker)
-
-#endif /* GL_GREMEDY_string_marker */
-
-/* --------------------- GL_HP_convolution_border_modes -------------------- */
-
-#ifndef GL_HP_convolution_border_modes
-#define GL_HP_convolution_border_modes 1
-
-#define GLEW_HP_convolution_border_modes GLEW_GET_VAR(__GLEW_HP_convolution_border_modes)
-
-#endif /* GL_HP_convolution_border_modes */
-
-/* ------------------------- GL_HP_image_transform ------------------------- */
-
-#ifndef GL_HP_image_transform
-#define GL_HP_image_transform 1
-
-typedef void (GLAPIENTRY * PFNGLGETIMAGETRANSFORMPARAMETERFVHPPROC) (GLenum target, GLenum pname, const GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLGETIMAGETRANSFORMPARAMETERIVHPPROC) (GLenum target, GLenum pname, const GLint* params);
-typedef void (GLAPIENTRY * PFNGLIMAGETRANSFORMPARAMETERFHPPROC) (GLenum target, GLenum pname, const GLfloat param);
-typedef void (GLAPIENTRY * PFNGLIMAGETRANSFORMPARAMETERFVHPPROC) (GLenum target, GLenum pname, const GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLIMAGETRANSFORMPARAMETERIHPPROC) (GLenum target, GLenum pname, const GLint param);
-typedef void (GLAPIENTRY * PFNGLIMAGETRANSFORMPARAMETERIVHPPROC) (GLenum target, GLenum pname, const GLint* params);
-
-#define glGetImageTransformParameterfvHP GLEW_GET_FUN(__glewGetImageTransformParameterfvHP)
-#define glGetImageTransformParameterivHP GLEW_GET_FUN(__glewGetImageTransformParameterivHP)
-#define glImageTransformParameterfHP GLEW_GET_FUN(__glewImageTransformParameterfHP)
-#define glImageTransformParameterfvHP GLEW_GET_FUN(__glewImageTransformParameterfvHP)
-#define glImageTransformParameteriHP GLEW_GET_FUN(__glewImageTransformParameteriHP)
-#define glImageTransformParameterivHP GLEW_GET_FUN(__glewImageTransformParameterivHP)
-
-#define GLEW_HP_image_transform GLEW_GET_VAR(__GLEW_HP_image_transform)
-
-#endif /* GL_HP_image_transform */
-
-/* -------------------------- GL_HP_occlusion_test ------------------------- */
-
-#ifndef GL_HP_occlusion_test
-#define GL_HP_occlusion_test 1
-
-#define GL_OCCLUSION_TEST_HP 0x8165
-#define GL_OCCLUSION_TEST_RESULT_HP 0x8166
-
-#define GLEW_HP_occlusion_test GLEW_GET_VAR(__GLEW_HP_occlusion_test)
-
-#endif /* GL_HP_occlusion_test */
-
-/* ------------------------- GL_HP_texture_lighting ------------------------ */
-
-#ifndef GL_HP_texture_lighting
-#define GL_HP_texture_lighting 1
-
-#define GLEW_HP_texture_lighting GLEW_GET_VAR(__GLEW_HP_texture_lighting)
-
-#endif /* GL_HP_texture_lighting */
-
-/* --------------------------- GL_IBM_cull_vertex -------------------------- */
-
-#ifndef GL_IBM_cull_vertex
-#define GL_IBM_cull_vertex 1
-
-#define GL_CULL_VERTEX_IBM 103050
-
-#define GLEW_IBM_cull_vertex GLEW_GET_VAR(__GLEW_IBM_cull_vertex)
-
-#endif /* GL_IBM_cull_vertex */
-
-/* ---------------------- GL_IBM_multimode_draw_arrays --------------------- */
-
-#ifndef GL_IBM_multimode_draw_arrays
-#define GL_IBM_multimode_draw_arrays 1
-
-typedef void (GLAPIENTRY * PFNGLMULTIMODEDRAWARRAYSIBMPROC) (const GLenum* mode, const GLint *first, const GLsizei *count, GLsizei primcount, GLint modestride);
-typedef void (GLAPIENTRY * PFNGLMULTIMODEDRAWELEMENTSIBMPROC) (const GLenum* mode, const GLsizei *count, GLenum type, const GLvoid * const *indices, GLsizei primcount, GLint modestride);
-
-#define glMultiModeDrawArraysIBM GLEW_GET_FUN(__glewMultiModeDrawArraysIBM)
-#define glMultiModeDrawElementsIBM GLEW_GET_FUN(__glewMultiModeDrawElementsIBM)
-
-#define GLEW_IBM_multimode_draw_arrays GLEW_GET_VAR(__GLEW_IBM_multimode_draw_arrays)
-
-#endif /* GL_IBM_multimode_draw_arrays */
-
-/* ------------------------- GL_IBM_rasterpos_clip ------------------------- */
-
-#ifndef GL_IBM_rasterpos_clip
-#define GL_IBM_rasterpos_clip 1
-
-#define GL_RASTER_POSITION_UNCLIPPED_IBM 103010
-
-#define GLEW_IBM_rasterpos_clip GLEW_GET_VAR(__GLEW_IBM_rasterpos_clip)
-
-#endif /* GL_IBM_rasterpos_clip */
-
-/* --------------------------- GL_IBM_static_data -------------------------- */
-
-#ifndef GL_IBM_static_data
-#define GL_IBM_static_data 1
-
-#define GL_ALL_STATIC_DATA_IBM 103060
-#define GL_STATIC_VERTEX_ARRAY_IBM 103061
-
-#define GLEW_IBM_static_data GLEW_GET_VAR(__GLEW_IBM_static_data)
-
-#endif /* GL_IBM_static_data */
-
-/* --------------------- GL_IBM_texture_mirrored_repeat -------------------- */
-
-#ifndef GL_IBM_texture_mirrored_repeat
-#define GL_IBM_texture_mirrored_repeat 1
-
-#define GL_MIRRORED_REPEAT_IBM 0x8370
-
-#define GLEW_IBM_texture_mirrored_repeat GLEW_GET_VAR(__GLEW_IBM_texture_mirrored_repeat)
-
-#endif /* GL_IBM_texture_mirrored_repeat */
-
-/* ----------------------- GL_IBM_vertex_array_lists ----------------------- */
-
-#ifndef GL_IBM_vertex_array_lists
-#define GL_IBM_vertex_array_lists 1
-
-#define GL_VERTEX_ARRAY_LIST_IBM 103070
-#define GL_NORMAL_ARRAY_LIST_IBM 103071
-#define GL_COLOR_ARRAY_LIST_IBM 103072
-#define GL_INDEX_ARRAY_LIST_IBM 103073
-#define GL_TEXTURE_COORD_ARRAY_LIST_IBM 103074
-#define GL_EDGE_FLAG_ARRAY_LIST_IBM 103075
-#define GL_FOG_COORDINATE_ARRAY_LIST_IBM 103076
-#define GL_SECONDARY_COLOR_ARRAY_LIST_IBM 103077
-#define GL_VERTEX_ARRAY_LIST_STRIDE_IBM 103080
-#define GL_NORMAL_ARRAY_LIST_STRIDE_IBM 103081
-#define GL_COLOR_ARRAY_LIST_STRIDE_IBM 103082
-#define GL_INDEX_ARRAY_LIST_STRIDE_IBM 103083
-#define GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM 103084
-#define GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM 103085
-#define GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM 103086
-#define GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM 103087
-
-typedef void (GLAPIENTRY * PFNGLCOLORPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const GLvoid ** pointer, GLint ptrstride);
-typedef void (GLAPIENTRY * PFNGLEDGEFLAGPOINTERLISTIBMPROC) (GLint stride, const GLboolean ** pointer, GLint ptrstride);
-typedef void (GLAPIENTRY * PFNGLFOGCOORDPOINTERLISTIBMPROC) (GLenum type, GLint stride, const GLvoid ** pointer, GLint ptrstride);
-typedef void (GLAPIENTRY * PFNGLINDEXPOINTERLISTIBMPROC) (GLenum type, GLint stride, const GLvoid ** pointer, GLint ptrstride);
-typedef void (GLAPIENTRY * PFNGLNORMALPOINTERLISTIBMPROC) (GLenum type, GLint stride, const GLvoid ** pointer, GLint ptrstride);
-typedef void (GLAPIENTRY * PFNGLSECONDARYCOLORPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const GLvoid ** pointer, GLint ptrstride);
-typedef void (GLAPIENTRY * PFNGLTEXCOORDPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const GLvoid ** pointer, GLint ptrstride);
-typedef void (GLAPIENTRY * PFNGLVERTEXPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const GLvoid ** pointer, GLint ptrstride);
-
-#define glColorPointerListIBM GLEW_GET_FUN(__glewColorPointerListIBM)
-#define glEdgeFlagPointerListIBM GLEW_GET_FUN(__glewEdgeFlagPointerListIBM)
-#define glFogCoordPointerListIBM GLEW_GET_FUN(__glewFogCoordPointerListIBM)
-#define glIndexPointerListIBM GLEW_GET_FUN(__glewIndexPointerListIBM)
-#define glNormalPointerListIBM GLEW_GET_FUN(__glewNormalPointerListIBM)
-#define glSecondaryColorPointerListIBM GLEW_GET_FUN(__glewSecondaryColorPointerListIBM)
-#define glTexCoordPointerListIBM GLEW_GET_FUN(__glewTexCoordPointerListIBM)
-#define glVertexPointerListIBM GLEW_GET_FUN(__glewVertexPointerListIBM)
-
-#define GLEW_IBM_vertex_array_lists GLEW_GET_VAR(__GLEW_IBM_vertex_array_lists)
-
-#endif /* GL_IBM_vertex_array_lists */
-
-/* -------------------------- GL_INGR_color_clamp -------------------------- */
-
-#ifndef GL_INGR_color_clamp
-#define GL_INGR_color_clamp 1
-
-#define GL_RED_MIN_CLAMP_INGR 0x8560
-#define GL_GREEN_MIN_CLAMP_INGR 0x8561
-#define GL_BLUE_MIN_CLAMP_INGR 0x8562
-#define GL_ALPHA_MIN_CLAMP_INGR 0x8563
-#define GL_RED_MAX_CLAMP_INGR 0x8564
-#define GL_GREEN_MAX_CLAMP_INGR 0x8565
-#define GL_BLUE_MAX_CLAMP_INGR 0x8566
-#define GL_ALPHA_MAX_CLAMP_INGR 0x8567
-
-#define GLEW_INGR_color_clamp GLEW_GET_VAR(__GLEW_INGR_color_clamp)
-
-#endif /* GL_INGR_color_clamp */
-
-/* ------------------------- GL_INGR_interlace_read ------------------------ */
-
-#ifndef GL_INGR_interlace_read
-#define GL_INGR_interlace_read 1
-
-#define GL_INTERLACE_READ_INGR 0x8568
-
-#define GLEW_INGR_interlace_read GLEW_GET_VAR(__GLEW_INGR_interlace_read)
-
-#endif /* GL_INGR_interlace_read */
-
-/* ------------------------ GL_INTEL_parallel_arrays ----------------------- */
-
-#ifndef GL_INTEL_parallel_arrays
-#define GL_INTEL_parallel_arrays 1
-
-#define GL_PARALLEL_ARRAYS_INTEL 0x83F4
-#define GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL 0x83F5
-#define GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL 0x83F6
-#define GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL 0x83F7
-#define GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL 0x83F8
-
-typedef void (GLAPIENTRY * PFNGLCOLORPOINTERVINTELPROC) (GLint size, GLenum type, const void** pointer);
-typedef void (GLAPIENTRY * PFNGLNORMALPOINTERVINTELPROC) (GLenum type, const void** pointer);
-typedef void (GLAPIENTRY * PFNGLTEXCOORDPOINTERVINTELPROC) (GLint size, GLenum type, const void** pointer);
-typedef void (GLAPIENTRY * PFNGLVERTEXPOINTERVINTELPROC) (GLint size, GLenum type, const void** pointer);
-
-#define glColorPointervINTEL GLEW_GET_FUN(__glewColorPointervINTEL)
-#define glNormalPointervINTEL GLEW_GET_FUN(__glewNormalPointervINTEL)
-#define glTexCoordPointervINTEL GLEW_GET_FUN(__glewTexCoordPointervINTEL)
-#define glVertexPointervINTEL GLEW_GET_FUN(__glewVertexPointervINTEL)
-
-#define GLEW_INTEL_parallel_arrays GLEW_GET_VAR(__GLEW_INTEL_parallel_arrays)
-
-#endif /* GL_INTEL_parallel_arrays */
-
-/* ------------------------ GL_INTEL_texture_scissor ----------------------- */
-
-#ifndef GL_INTEL_texture_scissor
-#define GL_INTEL_texture_scissor 1
-
-typedef void (GLAPIENTRY * PFNGLTEXSCISSORFUNCINTELPROC) (GLenum target, GLenum lfunc, GLenum hfunc);
-typedef void (GLAPIENTRY * PFNGLTEXSCISSORINTELPROC) (GLenum target, GLclampf tlow, GLclampf thigh);
-
-#define glTexScissorFuncINTEL GLEW_GET_FUN(__glewTexScissorFuncINTEL)
-#define glTexScissorINTEL GLEW_GET_FUN(__glewTexScissorINTEL)
-
-#define GLEW_INTEL_texture_scissor GLEW_GET_VAR(__GLEW_INTEL_texture_scissor)
-
-#endif /* GL_INTEL_texture_scissor */
-
-/* -------------------------- GL_KTX_buffer_region ------------------------- */
-
-#ifndef GL_KTX_buffer_region
-#define GL_KTX_buffer_region 1
-
-#define GL_KTX_FRONT_REGION 0x0
-#define GL_KTX_BACK_REGION 0x1
-#define GL_KTX_Z_REGION 0x2
-#define GL_KTX_STENCIL_REGION 0x3
-
-typedef GLuint (GLAPIENTRY * PFNGLBUFFERREGIONENABLEDEXTPROC) (void);
-typedef void (GLAPIENTRY * PFNGLDELETEBUFFERREGIONEXTPROC) (GLenum region);
-typedef void (GLAPIENTRY * PFNGLDRAWBUFFERREGIONEXTPROC) (GLuint region, GLint x, GLint y, GLsizei width, GLsizei height, GLint xDest, GLint yDest);
-typedef GLuint (GLAPIENTRY * PFNGLNEWBUFFERREGIONEXTPROC) (GLenum region);
-typedef void (GLAPIENTRY * PFNGLREADBUFFERREGIONEXTPROC) (GLuint region, GLint x, GLint y, GLsizei width, GLsizei height);
-
-#define glBufferRegionEnabledEXT GLEW_GET_FUN(__glewBufferRegionEnabledEXT)
-#define glDeleteBufferRegionEXT GLEW_GET_FUN(__glewDeleteBufferRegionEXT)
-#define glDrawBufferRegionEXT GLEW_GET_FUN(__glewDrawBufferRegionEXT)
-#define glNewBufferRegionEXT GLEW_GET_FUN(__glewNewBufferRegionEXT)
-#define glReadBufferRegionEXT GLEW_GET_FUN(__glewReadBufferRegionEXT)
-
-#define GLEW_KTX_buffer_region GLEW_GET_VAR(__GLEW_KTX_buffer_region)
-
-#endif /* GL_KTX_buffer_region */
-
-/* ------------------------- GL_MESAX_texture_stack ------------------------ */
-
-#ifndef GL_MESAX_texture_stack
-#define GL_MESAX_texture_stack 1
-
-#define GL_TEXTURE_1D_STACK_MESAX 0x8759
-#define GL_TEXTURE_2D_STACK_MESAX 0x875A
-#define GL_PROXY_TEXTURE_1D_STACK_MESAX 0x875B
-#define GL_PROXY_TEXTURE_2D_STACK_MESAX 0x875C
-#define GL_TEXTURE_1D_STACK_BINDING_MESAX 0x875D
-#define GL_TEXTURE_2D_STACK_BINDING_MESAX 0x875E
-
-#define GLEW_MESAX_texture_stack GLEW_GET_VAR(__GLEW_MESAX_texture_stack)
-
-#endif /* GL_MESAX_texture_stack */
-
-/* -------------------------- GL_MESA_pack_invert -------------------------- */
-
-#ifndef GL_MESA_pack_invert
-#define GL_MESA_pack_invert 1
-
-#define GL_PACK_INVERT_MESA 0x8758
-
-#define GLEW_MESA_pack_invert GLEW_GET_VAR(__GLEW_MESA_pack_invert)
-
-#endif /* GL_MESA_pack_invert */
-
-/* ------------------------- GL_MESA_resize_buffers ------------------------ */
-
-#ifndef GL_MESA_resize_buffers
-#define GL_MESA_resize_buffers 1
-
-typedef void (GLAPIENTRY * PFNGLRESIZEBUFFERSMESAPROC) (void);
-
-#define glResizeBuffersMESA GLEW_GET_FUN(__glewResizeBuffersMESA)
-
-#define GLEW_MESA_resize_buffers GLEW_GET_VAR(__GLEW_MESA_resize_buffers)
-
-#endif /* GL_MESA_resize_buffers */
-
-/* --------------------------- GL_MESA_window_pos -------------------------- */
-
-#ifndef GL_MESA_window_pos
-#define GL_MESA_window_pos 1
-
-typedef void (GLAPIENTRY * PFNGLWINDOWPOS2DMESAPROC) (GLdouble x, GLdouble y);
-typedef void (GLAPIENTRY * PFNGLWINDOWPOS2DVMESAPROC) (const GLdouble* p);
-typedef void (GLAPIENTRY * PFNGLWINDOWPOS2FMESAPROC) (GLfloat x, GLfloat y);
-typedef void (GLAPIENTRY * PFNGLWINDOWPOS2FVMESAPROC) (const GLfloat* p);
-typedef void (GLAPIENTRY * PFNGLWINDOWPOS2IMESAPROC) (GLint x, GLint y);
-typedef void (GLAPIENTRY * PFNGLWINDOWPOS2IVMESAPROC) (const GLint* p);
-typedef void (GLAPIENTRY * PFNGLWINDOWPOS2SMESAPROC) (GLshort x, GLshort y);
-typedef void (GLAPIENTRY * PFNGLWINDOWPOS2SVMESAPROC) (const GLshort* p);
-typedef void (GLAPIENTRY * PFNGLWINDOWPOS3DMESAPROC) (GLdouble x, GLdouble y, GLdouble z);
-typedef void (GLAPIENTRY * PFNGLWINDOWPOS3DVMESAPROC) (const GLdouble* p);
-typedef void (GLAPIENTRY * PFNGLWINDOWPOS3FMESAPROC) (GLfloat x, GLfloat y, GLfloat z);
-typedef void (GLAPIENTRY * PFNGLWINDOWPOS3FVMESAPROC) (const GLfloat* p);
-typedef void (GLAPIENTRY * PFNGLWINDOWPOS3IMESAPROC) (GLint x, GLint y, GLint z);
-typedef void (GLAPIENTRY * PFNGLWINDOWPOS3IVMESAPROC) (const GLint* p);
-typedef void (GLAPIENTRY * PFNGLWINDOWPOS3SMESAPROC) (GLshort x, GLshort y, GLshort z);
-typedef void (GLAPIENTRY * PFNGLWINDOWPOS3SVMESAPROC) (const GLshort* p);
-typedef void (GLAPIENTRY * PFNGLWINDOWPOS4DMESAPROC) (GLdouble x, GLdouble y, GLdouble z, GLdouble);
-typedef void (GLAPIENTRY * PFNGLWINDOWPOS4DVMESAPROC) (const GLdouble* p);
-typedef void (GLAPIENTRY * PFNGLWINDOWPOS4FMESAPROC) (GLfloat x, GLfloat y, GLfloat z, GLfloat w);
-typedef void (GLAPIENTRY * PFNGLWINDOWPOS4FVMESAPROC) (const GLfloat* p);
-typedef void (GLAPIENTRY * PFNGLWINDOWPOS4IMESAPROC) (GLint x, GLint y, GLint z, GLint w);
-typedef void (GLAPIENTRY * PFNGLWINDOWPOS4IVMESAPROC) (const GLint* p);
-typedef void (GLAPIENTRY * PFNGLWINDOWPOS4SMESAPROC) (GLshort x, GLshort y, GLshort z, GLshort w);
-typedef void (GLAPIENTRY * PFNGLWINDOWPOS4SVMESAPROC) (const GLshort* p);
-
-#define glWindowPos2dMESA GLEW_GET_FUN(__glewWindowPos2dMESA)
-#define glWindowPos2dvMESA GLEW_GET_FUN(__glewWindowPos2dvMESA)
-#define glWindowPos2fMESA GLEW_GET_FUN(__glewWindowPos2fMESA)
-#define glWindowPos2fvMESA GLEW_GET_FUN(__glewWindowPos2fvMESA)
-#define glWindowPos2iMESA GLEW_GET_FUN(__glewWindowPos2iMESA)
-#define glWindowPos2ivMESA GLEW_GET_FUN(__glewWindowPos2ivMESA)
-#define glWindowPos2sMESA GLEW_GET_FUN(__glewWindowPos2sMESA)
-#define glWindowPos2svMESA GLEW_GET_FUN(__glewWindowPos2svMESA)
-#define glWindowPos3dMESA GLEW_GET_FUN(__glewWindowPos3dMESA)
-#define glWindowPos3dvMESA GLEW_GET_FUN(__glewWindowPos3dvMESA)
-#define glWindowPos3fMESA GLEW_GET_FUN(__glewWindowPos3fMESA)
-#define glWindowPos3fvMESA GLEW_GET_FUN(__glewWindowPos3fvMESA)
-#define glWindowPos3iMESA GLEW_GET_FUN(__glewWindowPos3iMESA)
-#define glWindowPos3ivMESA GLEW_GET_FUN(__glewWindowPos3ivMESA)
-#define glWindowPos3sMESA GLEW_GET_FUN(__glewWindowPos3sMESA)
-#define glWindowPos3svMESA GLEW_GET_FUN(__glewWindowPos3svMESA)
-#define glWindowPos4dMESA GLEW_GET_FUN(__glewWindowPos4dMESA)
-#define glWindowPos4dvMESA GLEW_GET_FUN(__glewWindowPos4dvMESA)
-#define glWindowPos4fMESA GLEW_GET_FUN(__glewWindowPos4fMESA)
-#define glWindowPos4fvMESA GLEW_GET_FUN(__glewWindowPos4fvMESA)
-#define glWindowPos4iMESA GLEW_GET_FUN(__glewWindowPos4iMESA)
-#define glWindowPos4ivMESA GLEW_GET_FUN(__glewWindowPos4ivMESA)
-#define glWindowPos4sMESA GLEW_GET_FUN(__glewWindowPos4sMESA)
-#define glWindowPos4svMESA GLEW_GET_FUN(__glewWindowPos4svMESA)
-
-#define GLEW_MESA_window_pos GLEW_GET_VAR(__GLEW_MESA_window_pos)
-
-#endif /* GL_MESA_window_pos */
-
-/* ------------------------- GL_MESA_ycbcr_texture ------------------------- */
-
-#ifndef GL_MESA_ycbcr_texture
-#define GL_MESA_ycbcr_texture 1
-
-#define GL_UNSIGNED_SHORT_8_8_MESA 0x85BA
-#define GL_UNSIGNED_SHORT_8_8_REV_MESA 0x85BB
-#define GL_YCBCR_MESA 0x8757
-
-#define GLEW_MESA_ycbcr_texture GLEW_GET_VAR(__GLEW_MESA_ycbcr_texture)
-
-#endif /* GL_MESA_ycbcr_texture */
-
-/* --------------------------- GL_NV_blend_square -------------------------- */
-
-#ifndef GL_NV_blend_square
-#define GL_NV_blend_square 1
-
-#define GLEW_NV_blend_square GLEW_GET_VAR(__GLEW_NV_blend_square)
-
-#endif /* GL_NV_blend_square */
-
-/* ------------------------ GL_NV_conditional_render ----------------------- */
-
-#ifndef GL_NV_conditional_render
-#define GL_NV_conditional_render 1
-
-#define GL_QUERY_WAIT_NV 0x8E13
-#define GL_QUERY_NO_WAIT_NV 0x8E14
-#define GL_QUERY_BY_REGION_WAIT_NV 0x8E15
-#define GL_QUERY_BY_REGION_NO_WAIT_NV 0x8E16
-
-typedef void (GLAPIENTRY * PFNGLBEGINCONDITIONALRENDERNVPROC) (GLuint id, GLenum mode);
-typedef void (GLAPIENTRY * PFNGLENDCONDITIONALRENDERNVPROC) (void);
-
-#define glBeginConditionalRenderNV GLEW_GET_FUN(__glewBeginConditionalRenderNV)
-#define glEndConditionalRenderNV GLEW_GET_FUN(__glewEndConditionalRenderNV)
-
-#define GLEW_NV_conditional_render GLEW_GET_VAR(__GLEW_NV_conditional_render)
-
-#endif /* GL_NV_conditional_render */
-
-/* ----------------------- GL_NV_copy_depth_to_color ----------------------- */
-
-#ifndef GL_NV_copy_depth_to_color
-#define GL_NV_copy_depth_to_color 1
-
-#define GL_DEPTH_STENCIL_TO_RGBA_NV 0x886E
-#define GL_DEPTH_STENCIL_TO_BGRA_NV 0x886F
-
-#define GLEW_NV_copy_depth_to_color GLEW_GET_VAR(__GLEW_NV_copy_depth_to_color)
-
-#endif /* GL_NV_copy_depth_to_color */
-
-/* ---------------------------- GL_NV_copy_image --------------------------- */
-
-#ifndef GL_NV_copy_image
-#define GL_NV_copy_image 1
-
-typedef void (GLAPIENTRY * PFNGLCOPYIMAGESUBDATANVPROC) (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);
-
-#define glCopyImageSubDataNV GLEW_GET_FUN(__glewCopyImageSubDataNV)
-
-#define GLEW_NV_copy_image GLEW_GET_VAR(__GLEW_NV_copy_image)
-
-#endif /* GL_NV_copy_image */
-
-/* ------------------------ GL_NV_depth_buffer_float ----------------------- */
-
-#ifndef GL_NV_depth_buffer_float
-#define GL_NV_depth_buffer_float 1
-
-#define GL_DEPTH_COMPONENT32F_NV 0x8DAB
-#define GL_DEPTH32F_STENCIL8_NV 0x8DAC
-#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV 0x8DAD
-#define GL_DEPTH_BUFFER_FLOAT_MODE_NV 0x8DAF
-
-typedef void (GLAPIENTRY * PFNGLCLEARDEPTHDNVPROC) (GLdouble depth);
-typedef void (GLAPIENTRY * PFNGLDEPTHBOUNDSDNVPROC) (GLdouble zmin, GLdouble zmax);
-typedef void (GLAPIENTRY * PFNGLDEPTHRANGEDNVPROC) (GLdouble zNear, GLdouble zFar);
-
-#define glClearDepthdNV GLEW_GET_FUN(__glewClearDepthdNV)
-#define glDepthBoundsdNV GLEW_GET_FUN(__glewDepthBoundsdNV)
-#define glDepthRangedNV GLEW_GET_FUN(__glewDepthRangedNV)
-
-#define GLEW_NV_depth_buffer_float GLEW_GET_VAR(__GLEW_NV_depth_buffer_float)
-
-#endif /* GL_NV_depth_buffer_float */
-
-/* --------------------------- GL_NV_depth_clamp --------------------------- */
-
-#ifndef GL_NV_depth_clamp
-#define GL_NV_depth_clamp 1
-
-#define GL_DEPTH_CLAMP_NV 0x864F
-
-#define GLEW_NV_depth_clamp GLEW_GET_VAR(__GLEW_NV_depth_clamp)
-
-#endif /* GL_NV_depth_clamp */
-
-/* ---------------------- GL_NV_depth_range_unclamped ---------------------- */
-
-#ifndef GL_NV_depth_range_unclamped
-#define GL_NV_depth_range_unclamped 1
-
-#define GL_SAMPLE_COUNT_BITS_NV 0x8864
-#define GL_CURRENT_SAMPLE_COUNT_QUERY_NV 0x8865
-#define GL_QUERY_RESULT_NV 0x8866
-#define GL_QUERY_RESULT_AVAILABLE_NV 0x8867
-#define GL_SAMPLE_COUNT_NV 0x8914
-
-#define GLEW_NV_depth_range_unclamped GLEW_GET_VAR(__GLEW_NV_depth_range_unclamped)
-
-#endif /* GL_NV_depth_range_unclamped */
-
-/* ---------------------------- GL_NV_evaluators --------------------------- */
-
-#ifndef GL_NV_evaluators
-#define GL_NV_evaluators 1
-
-#define GL_EVAL_2D_NV 0x86C0
-#define GL_EVAL_TRIANGULAR_2D_NV 0x86C1
-#define GL_MAP_TESSELLATION_NV 0x86C2
-#define GL_MAP_ATTRIB_U_ORDER_NV 0x86C3
-#define GL_MAP_ATTRIB_V_ORDER_NV 0x86C4
-#define GL_EVAL_FRACTIONAL_TESSELLATION_NV 0x86C5
-#define GL_EVAL_VERTEX_ATTRIB0_NV 0x86C6
-#define GL_EVAL_VERTEX_ATTRIB1_NV 0x86C7
-#define GL_EVAL_VERTEX_ATTRIB2_NV 0x86C8
-#define GL_EVAL_VERTEX_ATTRIB3_NV 0x86C9
-#define GL_EVAL_VERTEX_ATTRIB4_NV 0x86CA
-#define GL_EVAL_VERTEX_ATTRIB5_NV 0x86CB
-#define GL_EVAL_VERTEX_ATTRIB6_NV 0x86CC
-#define GL_EVAL_VERTEX_ATTRIB7_NV 0x86CD
-#define GL_EVAL_VERTEX_ATTRIB8_NV 0x86CE
-#define GL_EVAL_VERTEX_ATTRIB9_NV 0x86CF
-#define GL_EVAL_VERTEX_ATTRIB10_NV 0x86D0
-#define GL_EVAL_VERTEX_ATTRIB11_NV 0x86D1
-#define GL_EVAL_VERTEX_ATTRIB12_NV 0x86D2
-#define GL_EVAL_VERTEX_ATTRIB13_NV 0x86D3
-#define GL_EVAL_VERTEX_ATTRIB14_NV 0x86D4
-#define GL_EVAL_VERTEX_ATTRIB15_NV 0x86D5
-#define GL_MAX_MAP_TESSELLATION_NV 0x86D6
-#define GL_MAX_RATIONAL_EVAL_ORDER_NV 0x86D7
-
-typedef void (GLAPIENTRY * PFNGLEVALMAPSNVPROC) (GLenum target, GLenum mode);
-typedef void (GLAPIENTRY * PFNGLGETMAPATTRIBPARAMETERFVNVPROC) (GLenum target, GLuint index, GLenum pname, GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLGETMAPATTRIBPARAMETERIVNVPROC) (GLenum target, GLuint index, GLenum pname, GLint* params);
-typedef void (GLAPIENTRY * PFNGLGETMAPCONTROLPOINTSNVPROC) (GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLboolean packed, void* points);
-typedef void (GLAPIENTRY * PFNGLGETMAPPARAMETERFVNVPROC) (GLenum target, GLenum pname, GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLGETMAPPARAMETERIVNVPROC) (GLenum target, GLenum pname, GLint* params);
-typedef void (GLAPIENTRY * PFNGLMAPCONTROLPOINTSNVPROC) (GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLint uorder, GLint vorder, GLboolean packed, const void* points);
-typedef void (GLAPIENTRY * PFNGLMAPPARAMETERFVNVPROC) (GLenum target, GLenum pname, const GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLMAPPARAMETERIVNVPROC) (GLenum target, GLenum pname, const GLint* params);
-
-#define glEvalMapsNV GLEW_GET_FUN(__glewEvalMapsNV)
-#define glGetMapAttribParameterfvNV GLEW_GET_FUN(__glewGetMapAttribParameterfvNV)
-#define glGetMapAttribParameterivNV GLEW_GET_FUN(__glewGetMapAttribParameterivNV)
-#define glGetMapControlPointsNV GLEW_GET_FUN(__glewGetMapControlPointsNV)
-#define glGetMapParameterfvNV GLEW_GET_FUN(__glewGetMapParameterfvNV)
-#define glGetMapParameterivNV GLEW_GET_FUN(__glewGetMapParameterivNV)
-#define glMapControlPointsNV GLEW_GET_FUN(__glewMapControlPointsNV)
-#define glMapParameterfvNV GLEW_GET_FUN(__glewMapParameterfvNV)
-#define glMapParameterivNV GLEW_GET_FUN(__glewMapParameterivNV)
-
-#define GLEW_NV_evaluators GLEW_GET_VAR(__GLEW_NV_evaluators)
-
-#endif /* GL_NV_evaluators */
-
-/* ----------------------- GL_NV_explicit_multisample ---------------------- */
-
-#ifndef GL_NV_explicit_multisample
-#define GL_NV_explicit_multisample 1
-
-#define GL_SAMPLE_POSITION_NV 0x8E50
-#define GL_SAMPLE_MASK_NV 0x8E51
-#define GL_SAMPLE_MASK_VALUE_NV 0x8E52
-#define GL_TEXTURE_BINDING_RENDERBUFFER_NV 0x8E53
-#define GL_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV 0x8E54
-#define GL_TEXTURE_RENDERBUFFER_NV 0x8E55
-#define GL_SAMPLER_RENDERBUFFER_NV 0x8E56
-#define GL_INT_SAMPLER_RENDERBUFFER_NV 0x8E57
-#define GL_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV 0x8E58
-#define GL_MAX_SAMPLE_MASK_WORDS_NV 0x8E59
-
-typedef void (GLAPIENTRY * PFNGLGETMULTISAMPLEFVNVPROC) (GLenum pname, GLuint index, GLfloat* val);
-typedef void (GLAPIENTRY * PFNGLSAMPLEMASKINDEXEDNVPROC) (GLuint index, GLbitfield mask);
-typedef void (GLAPIENTRY * PFNGLTEXRENDERBUFFERNVPROC) (GLenum target, GLuint renderbuffer);
-
-#define glGetMultisamplefvNV GLEW_GET_FUN(__glewGetMultisamplefvNV)
-#define glSampleMaskIndexedNV GLEW_GET_FUN(__glewSampleMaskIndexedNV)
-#define glTexRenderbufferNV GLEW_GET_FUN(__glewTexRenderbufferNV)
-
-#define GLEW_NV_explicit_multisample GLEW_GET_VAR(__GLEW_NV_explicit_multisample)
-
-#endif /* GL_NV_explicit_multisample */
-
-/* ------------------------------ GL_NV_fence ------------------------------ */
-
-#ifndef GL_NV_fence
-#define GL_NV_fence 1
-
-#define GL_ALL_COMPLETED_NV 0x84F2
-#define GL_FENCE_STATUS_NV 0x84F3
-#define GL_FENCE_CONDITION_NV 0x84F4
-
-typedef void (GLAPIENTRY * PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint* fences);
-typedef void (GLAPIENTRY * PFNGLFINISHFENCENVPROC) (GLuint fence);
-typedef void (GLAPIENTRY * PFNGLGENFENCESNVPROC) (GLsizei n, GLuint* fences);
-typedef void (GLAPIENTRY * PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint* params);
-typedef GLboolean (GLAPIENTRY * PFNGLISFENCENVPROC) (GLuint fence);
-typedef void (GLAPIENTRY * PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition);
-typedef GLboolean (GLAPIENTRY * PFNGLTESTFENCENVPROC) (GLuint fence);
-
-#define glDeleteFencesNV GLEW_GET_FUN(__glewDeleteFencesNV)
-#define glFinishFenceNV GLEW_GET_FUN(__glewFinishFenceNV)
-#define glGenFencesNV GLEW_GET_FUN(__glewGenFencesNV)
-#define glGetFenceivNV GLEW_GET_FUN(__glewGetFenceivNV)
-#define glIsFenceNV GLEW_GET_FUN(__glewIsFenceNV)
-#define glSetFenceNV GLEW_GET_FUN(__glewSetFenceNV)
-#define glTestFenceNV GLEW_GET_FUN(__glewTestFenceNV)
-
-#define GLEW_NV_fence GLEW_GET_VAR(__GLEW_NV_fence)
-
-#endif /* GL_NV_fence */
-
-/* --------------------------- GL_NV_float_buffer -------------------------- */
-
-#ifndef GL_NV_float_buffer
-#define GL_NV_float_buffer 1
-
-#define GL_FLOAT_R_NV 0x8880
-#define GL_FLOAT_RG_NV 0x8881
-#define GL_FLOAT_RGB_NV 0x8882
-#define GL_FLOAT_RGBA_NV 0x8883
-#define GL_FLOAT_R16_NV 0x8884
-#define GL_FLOAT_R32_NV 0x8885
-#define GL_FLOAT_RG16_NV 0x8886
-#define GL_FLOAT_RG32_NV 0x8887
-#define GL_FLOAT_RGB16_NV 0x8888
-#define GL_FLOAT_RGB32_NV 0x8889
-#define GL_FLOAT_RGBA16_NV 0x888A
-#define GL_FLOAT_RGBA32_NV 0x888B
-#define GL_TEXTURE_FLOAT_COMPONENTS_NV 0x888C
-#define GL_FLOAT_CLEAR_COLOR_VALUE_NV 0x888D
-#define GL_FLOAT_RGBA_MODE_NV 0x888E
-
-#define GLEW_NV_float_buffer GLEW_GET_VAR(__GLEW_NV_float_buffer)
-
-#endif /* GL_NV_float_buffer */
-
-/* --------------------------- GL_NV_fog_distance -------------------------- */
-
-#ifndef GL_NV_fog_distance
-#define GL_NV_fog_distance 1
-
-#define GL_FOG_DISTANCE_MODE_NV 0x855A
-#define GL_EYE_RADIAL_NV 0x855B
-#define GL_EYE_PLANE_ABSOLUTE_NV 0x855C
-
-#define GLEW_NV_fog_distance GLEW_GET_VAR(__GLEW_NV_fog_distance)
-
-#endif /* GL_NV_fog_distance */
-
-/* ------------------------- GL_NV_fragment_program ------------------------ */
-
-#ifndef GL_NV_fragment_program
-#define GL_NV_fragment_program 1
-
-#define GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV 0x8868
-#define GL_FRAGMENT_PROGRAM_NV 0x8870
-#define GL_MAX_TEXTURE_COORDS_NV 0x8871
-#define GL_MAX_TEXTURE_IMAGE_UNITS_NV 0x8872
-#define GL_FRAGMENT_PROGRAM_BINDING_NV 0x8873
-#define GL_PROGRAM_ERROR_STRING_NV 0x8874
-
-typedef void (GLAPIENTRY * PFNGLGETPROGRAMNAMEDPARAMETERDVNVPROC) (GLuint id, GLsizei len, const GLubyte* name, GLdouble *params);
-typedef void (GLAPIENTRY * PFNGLGETPROGRAMNAMEDPARAMETERFVNVPROC) (GLuint id, GLsizei len, const GLubyte* name, GLfloat *params);
-typedef void (GLAPIENTRY * PFNGLPROGRAMNAMEDPARAMETER4DNVPROC) (GLuint id, GLsizei len, const GLubyte* name, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
-typedef void (GLAPIENTRY * PFNGLPROGRAMNAMEDPARAMETER4DVNVPROC) (GLuint id, GLsizei len, const GLubyte* name, const GLdouble v[]);
-typedef void (GLAPIENTRY * PFNGLPROGRAMNAMEDPARAMETER4FNVPROC) (GLuint id, GLsizei len, const GLubyte* name, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
-typedef void (GLAPIENTRY * PFNGLPROGRAMNAMEDPARAMETER4FVNVPROC) (GLuint id, GLsizei len, const GLubyte* name, const GLfloat v[]);
-
-#define glGetProgramNamedParameterdvNV GLEW_GET_FUN(__glewGetProgramNamedParameterdvNV)
-#define glGetProgramNamedParameterfvNV GLEW_GET_FUN(__glewGetProgramNamedParameterfvNV)
-#define glProgramNamedParameter4dNV GLEW_GET_FUN(__glewProgramNamedParameter4dNV)
-#define glProgramNamedParameter4dvNV GLEW_GET_FUN(__glewProgramNamedParameter4dvNV)
-#define glProgramNamedParameter4fNV GLEW_GET_FUN(__glewProgramNamedParameter4fNV)
-#define glProgramNamedParameter4fvNV GLEW_GET_FUN(__glewProgramNamedParameter4fvNV)
-
-#define GLEW_NV_fragment_program GLEW_GET_VAR(__GLEW_NV_fragment_program)
-
-#endif /* GL_NV_fragment_program */
-
-/* ------------------------ GL_NV_fragment_program2 ------------------------ */
-
-#ifndef GL_NV_fragment_program2
-#define GL_NV_fragment_program2 1
-
-#define GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV 0x88F4
-#define GL_MAX_PROGRAM_CALL_DEPTH_NV 0x88F5
-#define GL_MAX_PROGRAM_IF_DEPTH_NV 0x88F6
-#define GL_MAX_PROGRAM_LOOP_DEPTH_NV 0x88F7
-#define GL_MAX_PROGRAM_LOOP_COUNT_NV 0x88F8
-
-#define GLEW_NV_fragment_program2 GLEW_GET_VAR(__GLEW_NV_fragment_program2)
-
-#endif /* GL_NV_fragment_program2 */
-
-/* ------------------------ GL_NV_fragment_program4 ------------------------ */
-
-#ifndef GL_NV_fragment_program4
-#define GL_NV_fragment_program4 1
-
-#define GLEW_NV_fragment_program4 GLEW_GET_VAR(__GLEW_NV_fragment_program4)
-
-#endif /* GL_NV_fragment_program4 */
-
-/* --------------------- GL_NV_fragment_program_option --------------------- */
-
-#ifndef GL_NV_fragment_program_option
-#define GL_NV_fragment_program_option 1
-
-#define GLEW_NV_fragment_program_option GLEW_GET_VAR(__GLEW_NV_fragment_program_option)
-
-#endif /* GL_NV_fragment_program_option */
-
-/* ----------------- GL_NV_framebuffer_multisample_coverage ---------------- */
-
-#ifndef GL_NV_framebuffer_multisample_coverage
-#define GL_NV_framebuffer_multisample_coverage 1
-
-#define GL_RENDERBUFFER_COVERAGE_SAMPLES_NV 0x8CAB
-#define GL_RENDERBUFFER_COLOR_SAMPLES_NV 0x8E10
-#define GL_MAX_MULTISAMPLE_COVERAGE_MODES_NV 0x8E11
-#define GL_MULTISAMPLE_COVERAGE_MODES_NV 0x8E12
-
-typedef void (GLAPIENTRY * PFNGLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENVPROC) (GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height);
-
-#define glRenderbufferStorageMultisampleCoverageNV GLEW_GET_FUN(__glewRenderbufferStorageMultisampleCoverageNV)
-
-#define GLEW_NV_framebuffer_multisample_coverage GLEW_GET_VAR(__GLEW_NV_framebuffer_multisample_coverage)
-
-#endif /* GL_NV_framebuffer_multisample_coverage */
-
-/* ------------------------ GL_NV_geometry_program4 ------------------------ */
-
-#ifndef GL_NV_geometry_program4
-#define GL_NV_geometry_program4 1
-
-#define GL_GEOMETRY_PROGRAM_NV 0x8C26
-#define GL_MAX_PROGRAM_OUTPUT_VERTICES_NV 0x8C27
-#define GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV 0x8C28
-
-typedef void (GLAPIENTRY * PFNGLPROGRAMVERTEXLIMITNVPROC) (GLenum target, GLint limit);
-
-#define glProgramVertexLimitNV GLEW_GET_FUN(__glewProgramVertexLimitNV)
-
-#define GLEW_NV_geometry_program4 GLEW_GET_VAR(__GLEW_NV_geometry_program4)
-
-#endif /* GL_NV_geometry_program4 */
-
-/* ------------------------- GL_NV_geometry_shader4 ------------------------ */
-
-#ifndef GL_NV_geometry_shader4
-#define GL_NV_geometry_shader4 1
-
-#define GLEW_NV_geometry_shader4 GLEW_GET_VAR(__GLEW_NV_geometry_shader4)
-
-#endif /* GL_NV_geometry_shader4 */
-
-/* --------------------------- GL_NV_gpu_program4 -------------------------- */
-
-#ifndef GL_NV_gpu_program4
-#define GL_NV_gpu_program4 1
-
-#define GL_MIN_PROGRAM_TEXEL_OFFSET_NV 0x8904
-#define GL_MAX_PROGRAM_TEXEL_OFFSET_NV 0x8905
-#define GL_PROGRAM_ATTRIB_COMPONENTS_NV 0x8906
-#define GL_PROGRAM_RESULT_COMPONENTS_NV 0x8907
-#define GL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV 0x8908
-#define GL_MAX_PROGRAM_RESULT_COMPONENTS_NV 0x8909
-#define GL_MAX_PROGRAM_GENERIC_ATTRIBS_NV 0x8DA5
-#define GL_MAX_PROGRAM_GENERIC_RESULTS_NV 0x8DA6
-
-typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETERI4INVPROC) (GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);
-typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETERI4IVNVPROC) (GLenum target, GLuint index, const GLint *params);
-typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETERI4UINVPROC) (GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
-typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETERI4UIVNVPROC) (GLenum target, GLuint index, const GLuint *params);
-typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETERSI4IVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLint *params);
-typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETERSI4UIVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLuint *params);
-typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETERI4INVPROC) (GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);
-typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETERI4IVNVPROC) (GLenum target, GLuint index, const GLint *params);
-typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETERI4UINVPROC) (GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
-typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETERI4UIVNVPROC) (GLenum target, GLuint index, const GLuint *params);
-typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETERSI4IVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLint *params);
-typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETERSI4UIVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLuint *params);
-
-#define glProgramEnvParameterI4iNV GLEW_GET_FUN(__glewProgramEnvParameterI4iNV)
-#define glProgramEnvParameterI4ivNV GLEW_GET_FUN(__glewProgramEnvParameterI4ivNV)
-#define glProgramEnvParameterI4uiNV GLEW_GET_FUN(__glewProgramEnvParameterI4uiNV)
-#define glProgramEnvParameterI4uivNV GLEW_GET_FUN(__glewProgramEnvParameterI4uivNV)
-#define glProgramEnvParametersI4ivNV GLEW_GET_FUN(__glewProgramEnvParametersI4ivNV)
-#define glProgramEnvParametersI4uivNV GLEW_GET_FUN(__glewProgramEnvParametersI4uivNV)
-#define glProgramLocalParameterI4iNV GLEW_GET_FUN(__glewProgramLocalParameterI4iNV)
-#define glProgramLocalParameterI4ivNV GLEW_GET_FUN(__glewProgramLocalParameterI4ivNV)
-#define glProgramLocalParameterI4uiNV GLEW_GET_FUN(__glewProgramLocalParameterI4uiNV)
-#define glProgramLocalParameterI4uivNV GLEW_GET_FUN(__glewProgramLocalParameterI4uivNV)
-#define glProgramLocalParametersI4ivNV GLEW_GET_FUN(__glewProgramLocalParametersI4ivNV)
-#define glProgramLocalParametersI4uivNV GLEW_GET_FUN(__glewProgramLocalParametersI4uivNV)
-
-#define GLEW_NV_gpu_program4 GLEW_GET_VAR(__GLEW_NV_gpu_program4)
-
-#endif /* GL_NV_gpu_program4 */
-
-/* --------------------------- GL_NV_gpu_program5 -------------------------- */
-
-#ifndef GL_NV_gpu_program5
-#define GL_NV_gpu_program5 1
-
-#define GL_MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV 0x8E5A
-#define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_NV 0x8E5B
-#define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_NV 0x8E5C
-#define GL_FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV 0x8E5D
-
-#define GLEW_NV_gpu_program5 GLEW_GET_VAR(__GLEW_NV_gpu_program5)
-
-#endif /* GL_NV_gpu_program5 */
-
-/* ------------------------- GL_NV_gpu_program_fp64 ------------------------ */
-
-#ifndef GL_NV_gpu_program_fp64
-#define GL_NV_gpu_program_fp64 1
-
-#define GLEW_NV_gpu_program_fp64 GLEW_GET_VAR(__GLEW_NV_gpu_program_fp64)
-
-#endif /* GL_NV_gpu_program_fp64 */
-
-/* --------------------------- GL_NV_gpu_shader5 --------------------------- */
-
-#ifndef GL_NV_gpu_shader5
-#define GL_NV_gpu_shader5 1
-
-#define GL_INT64_NV 0x140E
-#define GL_UNSIGNED_INT64_NV 0x140F
-#define GL_INT8_NV 0x8FE0
-#define GL_INT8_VEC2_NV 0x8FE1
-#define GL_INT8_VEC3_NV 0x8FE2
-#define GL_INT8_VEC4_NV 0x8FE3
-#define GL_INT16_NV 0x8FE4
-#define GL_INT16_VEC2_NV 0x8FE5
-#define GL_INT16_VEC3_NV 0x8FE6
-#define GL_INT16_VEC4_NV 0x8FE7
-#define GL_INT64_VEC2_NV 0x8FE9
-#define GL_INT64_VEC3_NV 0x8FEA
-#define GL_INT64_VEC4_NV 0x8FEB
-#define GL_UNSIGNED_INT8_NV 0x8FEC
-#define GL_UNSIGNED_INT8_VEC2_NV 0x8FED
-#define GL_UNSIGNED_INT8_VEC3_NV 0x8FEE
-#define GL_UNSIGNED_INT8_VEC4_NV 0x8FEF
-#define GL_UNSIGNED_INT16_NV 0x8FF0
-#define GL_UNSIGNED_INT16_VEC2_NV 0x8FF1
-#define GL_UNSIGNED_INT16_VEC3_NV 0x8FF2
-#define GL_UNSIGNED_INT16_VEC4_NV 0x8FF3
-#define GL_UNSIGNED_INT64_VEC2_NV 0x8FF5
-#define GL_UNSIGNED_INT64_VEC3_NV 0x8FF6
-#define GL_UNSIGNED_INT64_VEC4_NV 0x8FF7
-#define GL_FLOAT16_NV 0x8FF8
-#define GL_FLOAT16_VEC2_NV 0x8FF9
-#define GL_FLOAT16_VEC3_NV 0x8FFA
-#define GL_FLOAT16_VEC4_NV 0x8FFB
-
-typedef void (GLAPIENTRY * PFNGLGETUNIFORMI64VNVPROC) (GLuint program, GLint location, GLint64EXT* params);
-typedef void (GLAPIENTRY * PFNGLGETUNIFORMUI64VNVPROC) (GLuint program, GLint location, GLuint64EXT* params);
-typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1I64NVPROC) (GLuint program, GLint location, GLint64EXT x);
-typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT* value);
-typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x);
-typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT* value);
-typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y);
-typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT* value);
-typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y);
-typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT* value);
-typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);
-typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT* value);
-typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);
-typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT* value);
-typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);
-typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT* value);
-typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);
-typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT* value);
-typedef void (GLAPIENTRY * PFNGLUNIFORM1I64NVPROC) (GLint location, GLint64EXT x);
-typedef void (GLAPIENTRY * PFNGLUNIFORM1I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT* value);
-typedef void (GLAPIENTRY * PFNGLUNIFORM1UI64NVPROC) (GLint location, GLuint64EXT x);
-typedef void (GLAPIENTRY * PFNGLUNIFORM1UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT* value);
-typedef void (GLAPIENTRY * PFNGLUNIFORM2I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y);
-typedef void (GLAPIENTRY * PFNGLUNIFORM2I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT* value);
-typedef void (GLAPIENTRY * PFNGLUNIFORM2UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y);
-typedef void (GLAPIENTRY * PFNGLUNIFORM2UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT* value);
-typedef void (GLAPIENTRY * PFNGLUNIFORM3I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);
-typedef void (GLAPIENTRY * PFNGLUNIFORM3I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT* value);
-typedef void (GLAPIENTRY * PFNGLUNIFORM3UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);
-typedef void (GLAPIENTRY * PFNGLUNIFORM3UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT* value);
-typedef void (GLAPIENTRY * PFNGLUNIFORM4I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);
-typedef void (GLAPIENTRY * PFNGLUNIFORM4I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT* value);
-typedef void (GLAPIENTRY * PFNGLUNIFORM4UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);
-typedef void (GLAPIENTRY * PFNGLUNIFORM4UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT* value);
-
-#define glGetUniformi64vNV GLEW_GET_FUN(__glewGetUniformi64vNV)
-#define glGetUniformui64vNV GLEW_GET_FUN(__glewGetUniformui64vNV)
-#define glProgramUniform1i64NV GLEW_GET_FUN(__glewProgramUniform1i64NV)
-#define glProgramUniform1i64vNV GLEW_GET_FUN(__glewProgramUniform1i64vNV)
-#define glProgramUniform1ui64NV GLEW_GET_FUN(__glewProgramUniform1ui64NV)
-#define glProgramUniform1ui64vNV GLEW_GET_FUN(__glewProgramUniform1ui64vNV)
-#define glProgramUniform2i64NV GLEW_GET_FUN(__glewProgramUniform2i64NV)
-#define glProgramUniform2i64vNV GLEW_GET_FUN(__glewProgramUniform2i64vNV)
-#define glProgramUniform2ui64NV GLEW_GET_FUN(__glewProgramUniform2ui64NV)
-#define glProgramUniform2ui64vNV GLEW_GET_FUN(__glewProgramUniform2ui64vNV)
-#define glProgramUniform3i64NV GLEW_GET_FUN(__glewProgramUniform3i64NV)
-#define glProgramUniform3i64vNV GLEW_GET_FUN(__glewProgramUniform3i64vNV)
-#define glProgramUniform3ui64NV GLEW_GET_FUN(__glewProgramUniform3ui64NV)
-#define glProgramUniform3ui64vNV GLEW_GET_FUN(__glewProgramUniform3ui64vNV)
-#define glProgramUniform4i64NV GLEW_GET_FUN(__glewProgramUniform4i64NV)
-#define glProgramUniform4i64vNV GLEW_GET_FUN(__glewProgramUniform4i64vNV)
-#define glProgramUniform4ui64NV GLEW_GET_FUN(__glewProgramUniform4ui64NV)
-#define glProgramUniform4ui64vNV GLEW_GET_FUN(__glewProgramUniform4ui64vNV)
-#define glUniform1i64NV GLEW_GET_FUN(__glewUniform1i64NV)
-#define glUniform1i64vNV GLEW_GET_FUN(__glewUniform1i64vNV)
-#define glUniform1ui64NV GLEW_GET_FUN(__glewUniform1ui64NV)
-#define glUniform1ui64vNV GLEW_GET_FUN(__glewUniform1ui64vNV)
-#define glUniform2i64NV GLEW_GET_FUN(__glewUniform2i64NV)
-#define glUniform2i64vNV GLEW_GET_FUN(__glewUniform2i64vNV)
-#define glUniform2ui64NV GLEW_GET_FUN(__glewUniform2ui64NV)
-#define glUniform2ui64vNV GLEW_GET_FUN(__glewUniform2ui64vNV)
-#define glUniform3i64NV GLEW_GET_FUN(__glewUniform3i64NV)
-#define glUniform3i64vNV GLEW_GET_FUN(__glewUniform3i64vNV)
-#define glUniform3ui64NV GLEW_GET_FUN(__glewUniform3ui64NV)
-#define glUniform3ui64vNV GLEW_GET_FUN(__glewUniform3ui64vNV)
-#define glUniform4i64NV GLEW_GET_FUN(__glewUniform4i64NV)
-#define glUniform4i64vNV GLEW_GET_FUN(__glewUniform4i64vNV)
-#define glUniform4ui64NV GLEW_GET_FUN(__glewUniform4ui64NV)
-#define glUniform4ui64vNV GLEW_GET_FUN(__glewUniform4ui64vNV)
-
-#define GLEW_NV_gpu_shader5 GLEW_GET_VAR(__GLEW_NV_gpu_shader5)
-
-#endif /* GL_NV_gpu_shader5 */
-
-/* ---------------------------- GL_NV_half_float --------------------------- */
-
-#ifndef GL_NV_half_float
-#define GL_NV_half_float 1
-
-#define GL_HALF_FLOAT_NV 0x140B
-
-typedef unsigned short GLhalf;
-
-typedef void (GLAPIENTRY * PFNGLCOLOR3HNVPROC) (GLhalf red, GLhalf green, GLhalf blue);
-typedef void (GLAPIENTRY * PFNGLCOLOR3HVNVPROC) (const GLhalf* v);
-typedef void (GLAPIENTRY * PFNGLCOLOR4HNVPROC) (GLhalf red, GLhalf green, GLhalf blue, GLhalf alpha);
-typedef void (GLAPIENTRY * PFNGLCOLOR4HVNVPROC) (const GLhalf* v);
-typedef void (GLAPIENTRY * PFNGLFOGCOORDHNVPROC) (GLhalf fog);
-typedef void (GLAPIENTRY * PFNGLFOGCOORDHVNVPROC) (const GLhalf* fog);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1HNVPROC) (GLenum target, GLhalf s);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1HVNVPROC) (GLenum target, const GLhalf* v);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2HNVPROC) (GLenum target, GLhalf s, GLhalf t);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2HVNVPROC) (GLenum target, const GLhalf* v);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3HNVPROC) (GLenum target, GLhalf s, GLhalf t, GLhalf r);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3HVNVPROC) (GLenum target, const GLhalf* v);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4HNVPROC) (GLenum target, GLhalf s, GLhalf t, GLhalf r, GLhalf q);
-typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4HVNVPROC) (GLenum target, const GLhalf* v);
-typedef void (GLAPIENTRY * PFNGLNORMAL3HNVPROC) (GLhalf nx, GLhalf ny, GLhalf nz);
-typedef void (GLAPIENTRY * PFNGLNORMAL3HVNVPROC) (const GLhalf* v);
-typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3HNVPROC) (GLhalf red, GLhalf green, GLhalf blue);
-typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3HVNVPROC) (const GLhalf* v);
-typedef void (GLAPIENTRY * PFNGLTEXCOORD1HNVPROC) (GLhalf s);
-typedef void (GLAPIENTRY * PFNGLTEXCOORD1HVNVPROC) (const GLhalf* v);
-typedef void (GLAPIENTRY * PFNGLTEXCOORD2HNVPROC) (GLhalf s, GLhalf t);
-typedef void (GLAPIENTRY * PFNGLTEXCOORD2HVNVPROC) (const GLhalf* v);
-typedef void (GLAPIENTRY * PFNGLTEXCOORD3HNVPROC) (GLhalf s, GLhalf t, GLhalf r);
-typedef void (GLAPIENTRY * PFNGLTEXCOORD3HVNVPROC) (const GLhalf* v);
-typedef void (GLAPIENTRY * PFNGLTEXCOORD4HNVPROC) (GLhalf s, GLhalf t, GLhalf r, GLhalf q);
-typedef void (GLAPIENTRY * PFNGLTEXCOORD4HVNVPROC) (const GLhalf* v);
-typedef void (GLAPIENTRY * PFNGLVERTEX2HNVPROC) (GLhalf x, GLhalf y);
-typedef void (GLAPIENTRY * PFNGLVERTEX2HVNVPROC) (const GLhalf* v);
-typedef void (GLAPIENTRY * PFNGLVERTEX3HNVPROC) (GLhalf x, GLhalf y, GLhalf z);
-typedef void (GLAPIENTRY * PFNGLVERTEX3HVNVPROC) (const GLhalf* v);
-typedef void (GLAPIENTRY * PFNGLVERTEX4HNVPROC) (GLhalf x, GLhalf y, GLhalf z, GLhalf w);
-typedef void (GLAPIENTRY * PFNGLVERTEX4HVNVPROC) (const GLhalf* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1HNVPROC) (GLuint index, GLhalf x);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1HVNVPROC) (GLuint index, const GLhalf* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2HNVPROC) (GLuint index, GLhalf x, GLhalf y);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2HVNVPROC) (GLuint index, const GLhalf* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3HNVPROC) (GLuint index, GLhalf x, GLhalf y, GLhalf z);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3HVNVPROC) (GLuint index, const GLhalf* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4HNVPROC) (GLuint index, GLhalf x, GLhalf y, GLhalf z, GLhalf w);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4HVNVPROC) (GLuint index, const GLhalf* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS1HVNVPROC) (GLuint index, GLsizei n, const GLhalf* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS2HVNVPROC) (GLuint index, GLsizei n, const GLhalf* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS3HVNVPROC) (GLuint index, GLsizei n, const GLhalf* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS4HVNVPROC) (GLuint index, GLsizei n, const GLhalf* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXWEIGHTHNVPROC) (GLhalf weight);
-typedef void (GLAPIENTRY * PFNGLVERTEXWEIGHTHVNVPROC) (const GLhalf* weight);
-
-#define glColor3hNV GLEW_GET_FUN(__glewColor3hNV)
-#define glColor3hvNV GLEW_GET_FUN(__glewColor3hvNV)
-#define glColor4hNV GLEW_GET_FUN(__glewColor4hNV)
-#define glColor4hvNV GLEW_GET_FUN(__glewColor4hvNV)
-#define glFogCoordhNV GLEW_GET_FUN(__glewFogCoordhNV)
-#define glFogCoordhvNV GLEW_GET_FUN(__glewFogCoordhvNV)
-#define glMultiTexCoord1hNV GLEW_GET_FUN(__glewMultiTexCoord1hNV)
-#define glMultiTexCoord1hvNV GLEW_GET_FUN(__glewMultiTexCoord1hvNV)
-#define glMultiTexCoord2hNV GLEW_GET_FUN(__glewMultiTexCoord2hNV)
-#define glMultiTexCoord2hvNV GLEW_GET_FUN(__glewMultiTexCoord2hvNV)
-#define glMultiTexCoord3hNV GLEW_GET_FUN(__glewMultiTexCoord3hNV)
-#define glMultiTexCoord3hvNV GLEW_GET_FUN(__glewMultiTexCoord3hvNV)
-#define glMultiTexCoord4hNV GLEW_GET_FUN(__glewMultiTexCoord4hNV)
-#define glMultiTexCoord4hvNV GLEW_GET_FUN(__glewMultiTexCoord4hvNV)
-#define glNormal3hNV GLEW_GET_FUN(__glewNormal3hNV)
-#define glNormal3hvNV GLEW_GET_FUN(__glewNormal3hvNV)
-#define glSecondaryColor3hNV GLEW_GET_FUN(__glewSecondaryColor3hNV)
-#define glSecondaryColor3hvNV GLEW_GET_FUN(__glewSecondaryColor3hvNV)
-#define glTexCoord1hNV GLEW_GET_FUN(__glewTexCoord1hNV)
-#define glTexCoord1hvNV GLEW_GET_FUN(__glewTexCoord1hvNV)
-#define glTexCoord2hNV GLEW_GET_FUN(__glewTexCoord2hNV)
-#define glTexCoord2hvNV GLEW_GET_FUN(__glewTexCoord2hvNV)
-#define glTexCoord3hNV GLEW_GET_FUN(__glewTexCoord3hNV)
-#define glTexCoord3hvNV GLEW_GET_FUN(__glewTexCoord3hvNV)
-#define glTexCoord4hNV GLEW_GET_FUN(__glewTexCoord4hNV)
-#define glTexCoord4hvNV GLEW_GET_FUN(__glewTexCoord4hvNV)
-#define glVertex2hNV GLEW_GET_FUN(__glewVertex2hNV)
-#define glVertex2hvNV GLEW_GET_FUN(__glewVertex2hvNV)
-#define glVertex3hNV GLEW_GET_FUN(__glewVertex3hNV)
-#define glVertex3hvNV GLEW_GET_FUN(__glewVertex3hvNV)
-#define glVertex4hNV GLEW_GET_FUN(__glewVertex4hNV)
-#define glVertex4hvNV GLEW_GET_FUN(__glewVertex4hvNV)
-#define glVertexAttrib1hNV GLEW_GET_FUN(__glewVertexAttrib1hNV)
-#define glVertexAttrib1hvNV GLEW_GET_FUN(__glewVertexAttrib1hvNV)
-#define glVertexAttrib2hNV GLEW_GET_FUN(__glewVertexAttrib2hNV)
-#define glVertexAttrib2hvNV GLEW_GET_FUN(__glewVertexAttrib2hvNV)
-#define glVertexAttrib3hNV GLEW_GET_FUN(__glewVertexAttrib3hNV)
-#define glVertexAttrib3hvNV GLEW_GET_FUN(__glewVertexAttrib3hvNV)
-#define glVertexAttrib4hNV GLEW_GET_FUN(__glewVertexAttrib4hNV)
-#define glVertexAttrib4hvNV GLEW_GET_FUN(__glewVertexAttrib4hvNV)
-#define glVertexAttribs1hvNV GLEW_GET_FUN(__glewVertexAttribs1hvNV)
-#define glVertexAttribs2hvNV GLEW_GET_FUN(__glewVertexAttribs2hvNV)
-#define glVertexAttribs3hvNV GLEW_GET_FUN(__glewVertexAttribs3hvNV)
-#define glVertexAttribs4hvNV GLEW_GET_FUN(__glewVertexAttribs4hvNV)
-#define glVertexWeighthNV GLEW_GET_FUN(__glewVertexWeighthNV)
-#define glVertexWeighthvNV GLEW_GET_FUN(__glewVertexWeighthvNV)
-
-#define GLEW_NV_half_float GLEW_GET_VAR(__GLEW_NV_half_float)
-
-#endif /* GL_NV_half_float */
-
-/* ------------------------ GL_NV_light_max_exponent ----------------------- */
-
-#ifndef GL_NV_light_max_exponent
-#define GL_NV_light_max_exponent 1
-
-#define GL_MAX_SHININESS_NV 0x8504
-#define GL_MAX_SPOT_EXPONENT_NV 0x8505
-
-#define GLEW_NV_light_max_exponent GLEW_GET_VAR(__GLEW_NV_light_max_exponent)
-
-#endif /* GL_NV_light_max_exponent */
-
-/* --------------------- GL_NV_multisample_filter_hint --------------------- */
-
-#ifndef GL_NV_multisample_filter_hint
-#define GL_NV_multisample_filter_hint 1
-
-#define GL_MULTISAMPLE_FILTER_HINT_NV 0x8534
-
-#define GLEW_NV_multisample_filter_hint GLEW_GET_VAR(__GLEW_NV_multisample_filter_hint)
-
-#endif /* GL_NV_multisample_filter_hint */
-
-/* ------------------------- GL_NV_occlusion_query ------------------------- */
-
-#ifndef GL_NV_occlusion_query
-#define GL_NV_occlusion_query 1
-
-#define GL_PIXEL_COUNTER_BITS_NV 0x8864
-#define GL_CURRENT_OCCLUSION_QUERY_ID_NV 0x8865
-#define GL_PIXEL_COUNT_NV 0x8866
-#define GL_PIXEL_COUNT_AVAILABLE_NV 0x8867
-
-typedef void (GLAPIENTRY * PFNGLBEGINOCCLUSIONQUERYNVPROC) (GLuint id);
-typedef void (GLAPIENTRY * PFNGLDELETEOCCLUSIONQUERIESNVPROC) (GLsizei n, const GLuint* ids);
-typedef void (GLAPIENTRY * PFNGLENDOCCLUSIONQUERYNVPROC) (void);
-typedef void (GLAPIENTRY * PFNGLGENOCCLUSIONQUERIESNVPROC) (GLsizei n, GLuint* ids);
-typedef void (GLAPIENTRY * PFNGLGETOCCLUSIONQUERYIVNVPROC) (GLuint id, GLenum pname, GLint* params);
-typedef void (GLAPIENTRY * PFNGLGETOCCLUSIONQUERYUIVNVPROC) (GLuint id, GLenum pname, GLuint* params);
-typedef GLboolean (GLAPIENTRY * PFNGLISOCCLUSIONQUERYNVPROC) (GLuint id);
-
-#define glBeginOcclusionQueryNV GLEW_GET_FUN(__glewBeginOcclusionQueryNV)
-#define glDeleteOcclusionQueriesNV GLEW_GET_FUN(__glewDeleteOcclusionQueriesNV)
-#define glEndOcclusionQueryNV GLEW_GET_FUN(__glewEndOcclusionQueryNV)
-#define glGenOcclusionQueriesNV GLEW_GET_FUN(__glewGenOcclusionQueriesNV)
-#define glGetOcclusionQueryivNV GLEW_GET_FUN(__glewGetOcclusionQueryivNV)
-#define glGetOcclusionQueryuivNV GLEW_GET_FUN(__glewGetOcclusionQueryuivNV)
-#define glIsOcclusionQueryNV GLEW_GET_FUN(__glewIsOcclusionQueryNV)
-
-#define GLEW_NV_occlusion_query GLEW_GET_VAR(__GLEW_NV_occlusion_query)
-
-#endif /* GL_NV_occlusion_query */
-
-/* ----------------------- GL_NV_packed_depth_stencil ---------------------- */
-
-#ifndef GL_NV_packed_depth_stencil
-#define GL_NV_packed_depth_stencil 1
-
-#define GL_DEPTH_STENCIL_NV 0x84F9
-#define GL_UNSIGNED_INT_24_8_NV 0x84FA
-
-#define GLEW_NV_packed_depth_stencil GLEW_GET_VAR(__GLEW_NV_packed_depth_stencil)
-
-#endif /* GL_NV_packed_depth_stencil */
-
-/* --------------------- GL_NV_parameter_buffer_object --------------------- */
-
-#ifndef GL_NV_parameter_buffer_object
-#define GL_NV_parameter_buffer_object 1
-
-#define GL_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV 0x8DA0
-#define GL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV 0x8DA1
-#define GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV 0x8DA2
-#define GL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV 0x8DA3
-#define GL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV 0x8DA4
-
-typedef void (GLAPIENTRY * PFNGLPROGRAMBUFFERPARAMETERSIIVNVPROC) (GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLint *params);
-typedef void (GLAPIENTRY * PFNGLPROGRAMBUFFERPARAMETERSIUIVNVPROC) (GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLuint *params);
-typedef void (GLAPIENTRY * PFNGLPROGRAMBUFFERPARAMETERSFVNVPROC) (GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLfloat *params);
-
-#define glProgramBufferParametersIivNV GLEW_GET_FUN(__glewProgramBufferParametersIivNV)
-#define glProgramBufferParametersIuivNV GLEW_GET_FUN(__glewProgramBufferParametersIuivNV)
-#define glProgramBufferParametersfvNV GLEW_GET_FUN(__glewProgramBufferParametersfvNV)
-
-#define GLEW_NV_parameter_buffer_object GLEW_GET_VAR(__GLEW_NV_parameter_buffer_object)
-
-#endif /* GL_NV_parameter_buffer_object */
-
-/* --------------------- GL_NV_parameter_buffer_object2 -------------------- */
-
-#ifndef GL_NV_parameter_buffer_object2
-#define GL_NV_parameter_buffer_object2 1
-
-#define GLEW_NV_parameter_buffer_object2 GLEW_GET_VAR(__GLEW_NV_parameter_buffer_object2)
-
-#endif /* GL_NV_parameter_buffer_object2 */
-
-/* ------------------------- GL_NV_pixel_data_range ------------------------ */
-
-#ifndef GL_NV_pixel_data_range
-#define GL_NV_pixel_data_range 1
-
-#define GL_WRITE_PIXEL_DATA_RANGE_NV 0x8878
-#define GL_READ_PIXEL_DATA_RANGE_NV 0x8879
-#define GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV 0x887A
-#define GL_READ_PIXEL_DATA_RANGE_LENGTH_NV 0x887B
-#define GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV 0x887C
-#define GL_READ_PIXEL_DATA_RANGE_POINTER_NV 0x887D
-
-typedef void (GLAPIENTRY * PFNGLFLUSHPIXELDATARANGENVPROC) (GLenum target);
-typedef void (GLAPIENTRY * PFNGLPIXELDATARANGENVPROC) (GLenum target, GLsizei length, void* pointer);
-
-#define glFlushPixelDataRangeNV GLEW_GET_FUN(__glewFlushPixelDataRangeNV)
-#define glPixelDataRangeNV GLEW_GET_FUN(__glewPixelDataRangeNV)
-
-#define GLEW_NV_pixel_data_range GLEW_GET_VAR(__GLEW_NV_pixel_data_range)
-
-#endif /* GL_NV_pixel_data_range */
-
-/* --------------------------- GL_NV_point_sprite -------------------------- */
-
-#ifndef GL_NV_point_sprite
-#define GL_NV_point_sprite 1
-
-#define GL_POINT_SPRITE_NV 0x8861
-#define GL_COORD_REPLACE_NV 0x8862
-#define GL_POINT_SPRITE_R_MODE_NV 0x8863
-
-typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERINVPROC) (GLenum pname, GLint param);
-typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERIVNVPROC) (GLenum pname, const GLint* params);
-
-#define glPointParameteriNV GLEW_GET_FUN(__glewPointParameteriNV)
-#define glPointParameterivNV GLEW_GET_FUN(__glewPointParameterivNV)
-
-#define GLEW_NV_point_sprite GLEW_GET_VAR(__GLEW_NV_point_sprite)
-
-#endif /* GL_NV_point_sprite */
-
-/* -------------------------- GL_NV_present_video -------------------------- */
-
-#ifndef GL_NV_present_video
-#define GL_NV_present_video 1
-
-#define GL_FRAME_NV 0x8E26
-#define GL_FIELDS_NV 0x8E27
-#define GL_CURRENT_TIME_NV 0x8E28
-#define GL_NUM_FILL_STREAMS_NV 0x8E29
-#define GL_PRESENT_TIME_NV 0x8E2A
-#define GL_PRESENT_DURATION_NV 0x8E2B
-
-typedef void (GLAPIENTRY * PFNGLGETVIDEOI64VNVPROC) (GLuint video_slot, GLenum pname, GLint64EXT* params);
-typedef void (GLAPIENTRY * PFNGLGETVIDEOIVNVPROC) (GLuint video_slot, GLenum pname, GLint* params);
-typedef void (GLAPIENTRY * PFNGLGETVIDEOUI64VNVPROC) (GLuint video_slot, GLenum pname, GLuint64EXT* params);
-typedef void (GLAPIENTRY * PFNGLGETVIDEOUIVNVPROC) (GLuint video_slot, GLenum pname, GLuint* params);
-typedef void (GLAPIENTRY * PFNGLPRESENTFRAMEDUALFILLNVPROC) (GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLenum target1, GLuint fill1, GLenum target2, GLuint fill2, GLenum target3, GLuint fill3);
-typedef void (GLAPIENTRY * PFNGLPRESENTFRAMEKEYEDNVPROC) (GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLuint key0, GLenum target1, GLuint fill1, GLuint key1);
-
-#define glGetVideoi64vNV GLEW_GET_FUN(__glewGetVideoi64vNV)
-#define glGetVideoivNV GLEW_GET_FUN(__glewGetVideoivNV)
-#define glGetVideoui64vNV GLEW_GET_FUN(__glewGetVideoui64vNV)
-#define glGetVideouivNV GLEW_GET_FUN(__glewGetVideouivNV)
-#define glPresentFrameDualFillNV GLEW_GET_FUN(__glewPresentFrameDualFillNV)
-#define glPresentFrameKeyedNV GLEW_GET_FUN(__glewPresentFrameKeyedNV)
-
-#define GLEW_NV_present_video GLEW_GET_VAR(__GLEW_NV_present_video)
-
-#endif /* GL_NV_present_video */
-
-/* ------------------------ GL_NV_primitive_restart ------------------------ */
-
-#ifndef GL_NV_primitive_restart
-#define GL_NV_primitive_restart 1
-
-#define GL_PRIMITIVE_RESTART_NV 0x8558
-#define GL_PRIMITIVE_RESTART_INDEX_NV 0x8559
-
-typedef void (GLAPIENTRY * PFNGLPRIMITIVERESTARTINDEXNVPROC) (GLuint index);
-typedef void (GLAPIENTRY * PFNGLPRIMITIVERESTARTNVPROC) (void);
-
-#define glPrimitiveRestartIndexNV GLEW_GET_FUN(__glewPrimitiveRestartIndexNV)
-#define glPrimitiveRestartNV GLEW_GET_FUN(__glewPrimitiveRestartNV)
-
-#define GLEW_NV_primitive_restart GLEW_GET_VAR(__GLEW_NV_primitive_restart)
-
-#endif /* GL_NV_primitive_restart */
-
-/* ------------------------ GL_NV_register_combiners ----------------------- */
-
-#ifndef GL_NV_register_combiners
-#define GL_NV_register_combiners 1
-
-#define GL_REGISTER_COMBINERS_NV 0x8522
-#define GL_VARIABLE_A_NV 0x8523
-#define GL_VARIABLE_B_NV 0x8524
-#define GL_VARIABLE_C_NV 0x8525
-#define GL_VARIABLE_D_NV 0x8526
-#define GL_VARIABLE_E_NV 0x8527
-#define GL_VARIABLE_F_NV 0x8528
-#define GL_VARIABLE_G_NV 0x8529
-#define GL_CONSTANT_COLOR0_NV 0x852A
-#define GL_CONSTANT_COLOR1_NV 0x852B
-#define GL_PRIMARY_COLOR_NV 0x852C
-#define GL_SECONDARY_COLOR_NV 0x852D
-#define GL_SPARE0_NV 0x852E
-#define GL_SPARE1_NV 0x852F
-#define GL_DISCARD_NV 0x8530
-#define GL_E_TIMES_F_NV 0x8531
-#define GL_SPARE0_PLUS_SECONDARY_COLOR_NV 0x8532
-#define GL_UNSIGNED_IDENTITY_NV 0x8536
-#define GL_UNSIGNED_INVERT_NV 0x8537
-#define GL_EXPAND_NORMAL_NV 0x8538
-#define GL_EXPAND_NEGATE_NV 0x8539
-#define GL_HALF_BIAS_NORMAL_NV 0x853A
-#define GL_HALF_BIAS_NEGATE_NV 0x853B
-#define GL_SIGNED_IDENTITY_NV 0x853C
-#define GL_SIGNED_NEGATE_NV 0x853D
-#define GL_SCALE_BY_TWO_NV 0x853E
-#define GL_SCALE_BY_FOUR_NV 0x853F
-#define GL_SCALE_BY_ONE_HALF_NV 0x8540
-#define GL_BIAS_BY_NEGATIVE_ONE_HALF_NV 0x8541
-#define GL_COMBINER_INPUT_NV 0x8542
-#define GL_COMBINER_MAPPING_NV 0x8543
-#define GL_COMBINER_COMPONENT_USAGE_NV 0x8544
-#define GL_COMBINER_AB_DOT_PRODUCT_NV 0x8545
-#define GL_COMBINER_CD_DOT_PRODUCT_NV 0x8546
-#define GL_COMBINER_MUX_SUM_NV 0x8547
-#define GL_COMBINER_SCALE_NV 0x8548
-#define GL_COMBINER_BIAS_NV 0x8549
-#define GL_COMBINER_AB_OUTPUT_NV 0x854A
-#define GL_COMBINER_CD_OUTPUT_NV 0x854B
-#define GL_COMBINER_SUM_OUTPUT_NV 0x854C
-#define GL_MAX_GENERAL_COMBINERS_NV 0x854D
-#define GL_NUM_GENERAL_COMBINERS_NV 0x854E
-#define GL_COLOR_SUM_CLAMP_NV 0x854F
-#define GL_COMBINER0_NV 0x8550
-#define GL_COMBINER1_NV 0x8551
-#define GL_COMBINER2_NV 0x8552
-#define GL_COMBINER3_NV 0x8553
-#define GL_COMBINER4_NV 0x8554
-#define GL_COMBINER5_NV 0x8555
-#define GL_COMBINER6_NV 0x8556
-#define GL_COMBINER7_NV 0x8557
-
-typedef void (GLAPIENTRY * PFNGLCOMBINERINPUTNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);
-typedef void (GLAPIENTRY * PFNGLCOMBINEROUTPUTNVPROC) (GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum);
-typedef void (GLAPIENTRY * PFNGLCOMBINERPARAMETERFNVPROC) (GLenum pname, GLfloat param);
-typedef void (GLAPIENTRY * PFNGLCOMBINERPARAMETERFVNVPROC) (GLenum pname, const GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLCOMBINERPARAMETERINVPROC) (GLenum pname, GLint param);
-typedef void (GLAPIENTRY * PFNGLCOMBINERPARAMETERIVNVPROC) (GLenum pname, const GLint* params);
-typedef void (GLAPIENTRY * PFNGLFINALCOMBINERINPUTNVPROC) (GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);
-typedef void (GLAPIENTRY * PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint* params);
-typedef void (GLAPIENTRY * PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC) (GLenum stage, GLenum portion, GLenum pname, GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC) (GLenum stage, GLenum portion, GLenum pname, GLint* params);
-typedef void (GLAPIENTRY * PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC) (GLenum variable, GLenum pname, GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC) (GLenum variable, GLenum pname, GLint* params);
-
-#define glCombinerInputNV GLEW_GET_FUN(__glewCombinerInputNV)
-#define glCombinerOutputNV GLEW_GET_FUN(__glewCombinerOutputNV)
-#define glCombinerParameterfNV GLEW_GET_FUN(__glewCombinerParameterfNV)
-#define glCombinerParameterfvNV GLEW_GET_FUN(__glewCombinerParameterfvNV)
-#define glCombinerParameteriNV GLEW_GET_FUN(__glewCombinerParameteriNV)
-#define glCombinerParameterivNV GLEW_GET_FUN(__glewCombinerParameterivNV)
-#define glFinalCombinerInputNV GLEW_GET_FUN(__glewFinalCombinerInputNV)
-#define glGetCombinerInputParameterfvNV GLEW_GET_FUN(__glewGetCombinerInputParameterfvNV)
-#define glGetCombinerInputParameterivNV GLEW_GET_FUN(__glewGetCombinerInputParameterivNV)
-#define glGetCombinerOutputParameterfvNV GLEW_GET_FUN(__glewGetCombinerOutputParameterfvNV)
-#define glGetCombinerOutputParameterivNV GLEW_GET_FUN(__glewGetCombinerOutputParameterivNV)
-#define glGetFinalCombinerInputParameterfvNV GLEW_GET_FUN(__glewGetFinalCombinerInputParameterfvNV)
-#define glGetFinalCombinerInputParameterivNV GLEW_GET_FUN(__glewGetFinalCombinerInputParameterivNV)
-
-#define GLEW_NV_register_combiners GLEW_GET_VAR(__GLEW_NV_register_combiners)
-
-#endif /* GL_NV_register_combiners */
-
-/* ----------------------- GL_NV_register_combiners2 ----------------------- */
-
-#ifndef GL_NV_register_combiners2
-#define GL_NV_register_combiners2 1
-
-#define GL_PER_STAGE_CONSTANTS_NV 0x8535
-
-typedef void (GLAPIENTRY * PFNGLCOMBINERSTAGEPARAMETERFVNVPROC) (GLenum stage, GLenum pname, const GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC) (GLenum stage, GLenum pname, GLfloat* params);
-
-#define glCombinerStageParameterfvNV GLEW_GET_FUN(__glewCombinerStageParameterfvNV)
-#define glGetCombinerStageParameterfvNV GLEW_GET_FUN(__glewGetCombinerStageParameterfvNV)
-
-#define GLEW_NV_register_combiners2 GLEW_GET_VAR(__GLEW_NV_register_combiners2)
-
-#endif /* GL_NV_register_combiners2 */
-
-/* ------------------------ GL_NV_shader_buffer_load ----------------------- */
-
-#ifndef GL_NV_shader_buffer_load
-#define GL_NV_shader_buffer_load 1
-
-#define GL_BUFFER_GPU_ADDRESS_NV 0x8F1D
-#define GL_GPU_ADDRESS_NV 0x8F34
-#define GL_MAX_SHADER_BUFFER_ADDRESS_NV 0x8F35
-
-typedef void (GLAPIENTRY * PFNGLGETBUFFERPARAMETERUI64VNVPROC) (GLenum target, GLenum pname, GLuint64EXT* params);
-typedef void (GLAPIENTRY * PFNGLGETINTEGERUI64VNVPROC) (GLenum value, GLuint64EXT* result);
-typedef void (GLAPIENTRY * PFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC) (GLuint buffer, GLenum pname, GLuint64EXT* params);
-typedef GLboolean (GLAPIENTRY * PFNGLISBUFFERRESIDENTNVPROC) (GLenum target);
-typedef GLboolean (GLAPIENTRY * PFNGLISNAMEDBUFFERRESIDENTNVPROC) (GLuint buffer);
-typedef void (GLAPIENTRY * PFNGLMAKEBUFFERNONRESIDENTNVPROC) (GLenum target);
-typedef void (GLAPIENTRY * PFNGLMAKEBUFFERRESIDENTNVPROC) (GLenum target, GLenum access);
-typedef void (GLAPIENTRY * PFNGLMAKENAMEDBUFFERNONRESIDENTNVPROC) (GLuint buffer);
-typedef void (GLAPIENTRY * PFNGLMAKENAMEDBUFFERRESIDENTNVPROC) (GLuint buffer, GLenum access);
-typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMUI64NVPROC) (GLuint program, GLint location, GLuint64EXT value);
-typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMUI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT* value);
-typedef void (GLAPIENTRY * PFNGLUNIFORMUI64NVPROC) (GLint location, GLuint64EXT value);
-typedef void (GLAPIENTRY * PFNGLUNIFORMUI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT* value);
-
-#define glGetBufferParameterui64vNV GLEW_GET_FUN(__glewGetBufferParameterui64vNV)
-#define glGetIntegerui64vNV GLEW_GET_FUN(__glewGetIntegerui64vNV)
-#define glGetNamedBufferParameterui64vNV GLEW_GET_FUN(__glewGetNamedBufferParameterui64vNV)
-#define glIsBufferResidentNV GLEW_GET_FUN(__glewIsBufferResidentNV)
-#define glIsNamedBufferResidentNV GLEW_GET_FUN(__glewIsNamedBufferResidentNV)
-#define glMakeBufferNonResidentNV GLEW_GET_FUN(__glewMakeBufferNonResidentNV)
-#define glMakeBufferResidentNV GLEW_GET_FUN(__glewMakeBufferResidentNV)
-#define glMakeNamedBufferNonResidentNV GLEW_GET_FUN(__glewMakeNamedBufferNonResidentNV)
-#define glMakeNamedBufferResidentNV GLEW_GET_FUN(__glewMakeNamedBufferResidentNV)
-#define glProgramUniformui64NV GLEW_GET_FUN(__glewProgramUniformui64NV)
-#define glProgramUniformui64vNV GLEW_GET_FUN(__glewProgramUniformui64vNV)
-#define glUniformui64NV GLEW_GET_FUN(__glewUniformui64NV)
-#define glUniformui64vNV GLEW_GET_FUN(__glewUniformui64vNV)
-
-#define GLEW_NV_shader_buffer_load GLEW_GET_VAR(__GLEW_NV_shader_buffer_load)
-
-#endif /* GL_NV_shader_buffer_load */
-
-/* ---------------------- GL_NV_tessellation_program5 ---------------------- */
-
-#ifndef GL_NV_tessellation_program5
-#define GL_NV_tessellation_program5 1
-
-#define GL_MAX_PROGRAM_PATCH_ATTRIBS_NV 0x86D8
-#define GL_TESS_CONTROL_PROGRAM_NV 0x891E
-#define GL_TESS_EVALUATION_PROGRAM_NV 0x891F
-#define GL_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV 0x8C74
-#define GL_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV 0x8C75
-
-#define GLEW_NV_tessellation_program5 GLEW_GET_VAR(__GLEW_NV_tessellation_program5)
-
-#endif /* GL_NV_tessellation_program5 */
-
-/* -------------------------- GL_NV_texgen_emboss -------------------------- */
-
-#ifndef GL_NV_texgen_emboss
-#define GL_NV_texgen_emboss 1
-
-#define GL_EMBOSS_LIGHT_NV 0x855D
-#define GL_EMBOSS_CONSTANT_NV 0x855E
-#define GL_EMBOSS_MAP_NV 0x855F
-
-#define GLEW_NV_texgen_emboss GLEW_GET_VAR(__GLEW_NV_texgen_emboss)
-
-#endif /* GL_NV_texgen_emboss */
-
-/* ------------------------ GL_NV_texgen_reflection ------------------------ */
-
-#ifndef GL_NV_texgen_reflection
-#define GL_NV_texgen_reflection 1
-
-#define GL_NORMAL_MAP_NV 0x8511
-#define GL_REFLECTION_MAP_NV 0x8512
-
-#define GLEW_NV_texgen_reflection GLEW_GET_VAR(__GLEW_NV_texgen_reflection)
-
-#endif /* GL_NV_texgen_reflection */
-
-/* ------------------------- GL_NV_texture_barrier ------------------------- */
-
-#ifndef GL_NV_texture_barrier
-#define GL_NV_texture_barrier 1
-
-typedef void (GLAPIENTRY * PFNGLTEXTUREBARRIERNVPROC) (void);
-
-#define glTextureBarrierNV GLEW_GET_FUN(__glewTextureBarrierNV)
-
-#define GLEW_NV_texture_barrier GLEW_GET_VAR(__GLEW_NV_texture_barrier)
-
-#endif /* GL_NV_texture_barrier */
-
-/* --------------------- GL_NV_texture_compression_vtc --------------------- */
-
-#ifndef GL_NV_texture_compression_vtc
-#define GL_NV_texture_compression_vtc 1
-
-#define GLEW_NV_texture_compression_vtc GLEW_GET_VAR(__GLEW_NV_texture_compression_vtc)
-
-#endif /* GL_NV_texture_compression_vtc */
-
-/* ----------------------- GL_NV_texture_env_combine4 ---------------------- */
-
-#ifndef GL_NV_texture_env_combine4
-#define GL_NV_texture_env_combine4 1
-
-#define GL_COMBINE4_NV 0x8503
-#define GL_SOURCE3_RGB_NV 0x8583
-#define GL_SOURCE3_ALPHA_NV 0x858B
-#define GL_OPERAND3_RGB_NV 0x8593
-#define GL_OPERAND3_ALPHA_NV 0x859B
-
-#define GLEW_NV_texture_env_combine4 GLEW_GET_VAR(__GLEW_NV_texture_env_combine4)
-
-#endif /* GL_NV_texture_env_combine4 */
-
-/* ---------------------- GL_NV_texture_expand_normal ---------------------- */
-
-#ifndef GL_NV_texture_expand_normal
-#define GL_NV_texture_expand_normal 1
-
-#define GL_TEXTURE_UNSIGNED_REMAP_MODE_NV 0x888F
-
-#define GLEW_NV_texture_expand_normal GLEW_GET_VAR(__GLEW_NV_texture_expand_normal)
-
-#endif /* GL_NV_texture_expand_normal */
-
-/* ------------------------ GL_NV_texture_rectangle ------------------------ */
-
-#ifndef GL_NV_texture_rectangle
-#define GL_NV_texture_rectangle 1
-
-#define GL_TEXTURE_RECTANGLE_NV 0x84F5
-#define GL_TEXTURE_BINDING_RECTANGLE_NV 0x84F6
-#define GL_PROXY_TEXTURE_RECTANGLE_NV 0x84F7
-#define GL_MAX_RECTANGLE_TEXTURE_SIZE_NV 0x84F8
-
-#define GLEW_NV_texture_rectangle GLEW_GET_VAR(__GLEW_NV_texture_rectangle)
-
-#endif /* GL_NV_texture_rectangle */
-
-/* -------------------------- GL_NV_texture_shader ------------------------- */
-
-#ifndef GL_NV_texture_shader
-#define GL_NV_texture_shader 1
-
-#define GL_OFFSET_TEXTURE_RECTANGLE_NV 0x864C
-#define GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV 0x864D
-#define GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV 0x864E
-#define GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV 0x86D9
-#define GL_UNSIGNED_INT_S8_S8_8_8_NV 0x86DA
-#define GL_UNSIGNED_INT_8_8_S8_S8_REV_NV 0x86DB
-#define GL_DSDT_MAG_INTENSITY_NV 0x86DC
-#define GL_SHADER_CONSISTENT_NV 0x86DD
-#define GL_TEXTURE_SHADER_NV 0x86DE
-#define GL_SHADER_OPERATION_NV 0x86DF
-#define GL_CULL_MODES_NV 0x86E0
-#define GL_OFFSET_TEXTURE_2D_MATRIX_NV 0x86E1
-#define GL_OFFSET_TEXTURE_MATRIX_NV 0x86E1
-#define GL_OFFSET_TEXTURE_2D_SCALE_NV 0x86E2
-#define GL_OFFSET_TEXTURE_SCALE_NV 0x86E2
-#define GL_OFFSET_TEXTURE_BIAS_NV 0x86E3
-#define GL_OFFSET_TEXTURE_2D_BIAS_NV 0x86E3
-#define GL_PREVIOUS_TEXTURE_INPUT_NV 0x86E4
-#define GL_CONST_EYE_NV 0x86E5
-#define GL_PASS_THROUGH_NV 0x86E6
-#define GL_CULL_FRAGMENT_NV 0x86E7
-#define GL_OFFSET_TEXTURE_2D_NV 0x86E8
-#define GL_DEPENDENT_AR_TEXTURE_2D_NV 0x86E9
-#define GL_DEPENDENT_GB_TEXTURE_2D_NV 0x86EA
-#define GL_DOT_PRODUCT_NV 0x86EC
-#define GL_DOT_PRODUCT_DEPTH_REPLACE_NV 0x86ED
-#define GL_DOT_PRODUCT_TEXTURE_2D_NV 0x86EE
-#define GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV 0x86F0
-#define GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV 0x86F1
-#define GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV 0x86F2
-#define GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV 0x86F3
-#define GL_HILO_NV 0x86F4
-#define GL_DSDT_NV 0x86F5
-#define GL_DSDT_MAG_NV 0x86F6
-#define GL_DSDT_MAG_VIB_NV 0x86F7
-#define GL_HILO16_NV 0x86F8
-#define GL_SIGNED_HILO_NV 0x86F9
-#define GL_SIGNED_HILO16_NV 0x86FA
-#define GL_SIGNED_RGBA_NV 0x86FB
-#define GL_SIGNED_RGBA8_NV 0x86FC
-#define GL_SIGNED_RGB_NV 0x86FE
-#define GL_SIGNED_RGB8_NV 0x86FF
-#define GL_SIGNED_LUMINANCE_NV 0x8701
-#define GL_SIGNED_LUMINANCE8_NV 0x8702
-#define GL_SIGNED_LUMINANCE_ALPHA_NV 0x8703
-#define GL_SIGNED_LUMINANCE8_ALPHA8_NV 0x8704
-#define GL_SIGNED_ALPHA_NV 0x8705
-#define GL_SIGNED_ALPHA8_NV 0x8706
-#define GL_SIGNED_INTENSITY_NV 0x8707
-#define GL_SIGNED_INTENSITY8_NV 0x8708
-#define GL_DSDT8_NV 0x8709
-#define GL_DSDT8_MAG8_NV 0x870A
-#define GL_DSDT8_MAG8_INTENSITY8_NV 0x870B
-#define GL_SIGNED_RGB_UNSIGNED_ALPHA_NV 0x870C
-#define GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV 0x870D
-#define GL_HI_SCALE_NV 0x870E
-#define GL_LO_SCALE_NV 0x870F
-#define GL_DS_SCALE_NV 0x8710
-#define GL_DT_SCALE_NV 0x8711
-#define GL_MAGNITUDE_SCALE_NV 0x8712
-#define GL_VIBRANCE_SCALE_NV 0x8713
-#define GL_HI_BIAS_NV 0x8714
-#define GL_LO_BIAS_NV 0x8715
-#define GL_DS_BIAS_NV 0x8716
-#define GL_DT_BIAS_NV 0x8717
-#define GL_MAGNITUDE_BIAS_NV 0x8718
-#define GL_VIBRANCE_BIAS_NV 0x8719
-#define GL_TEXTURE_BORDER_VALUES_NV 0x871A
-#define GL_TEXTURE_HI_SIZE_NV 0x871B
-#define GL_TEXTURE_LO_SIZE_NV 0x871C
-#define GL_TEXTURE_DS_SIZE_NV 0x871D
-#define GL_TEXTURE_DT_SIZE_NV 0x871E
-#define GL_TEXTURE_MAG_SIZE_NV 0x871F
-
-#define GLEW_NV_texture_shader GLEW_GET_VAR(__GLEW_NV_texture_shader)
-
-#endif /* GL_NV_texture_shader */
-
-/* ------------------------- GL_NV_texture_shader2 ------------------------- */
-
-#ifndef GL_NV_texture_shader2
-#define GL_NV_texture_shader2 1
-
-#define GL_UNSIGNED_INT_S8_S8_8_8_NV 0x86DA
-#define GL_UNSIGNED_INT_8_8_S8_S8_REV_NV 0x86DB
-#define GL_DSDT_MAG_INTENSITY_NV 0x86DC
-#define GL_DOT_PRODUCT_TEXTURE_3D_NV 0x86EF
-#define GL_HILO_NV 0x86F4
-#define GL_DSDT_NV 0x86F5
-#define GL_DSDT_MAG_NV 0x86F6
-#define GL_DSDT_MAG_VIB_NV 0x86F7
-#define GL_HILO16_NV 0x86F8
-#define GL_SIGNED_HILO_NV 0x86F9
-#define GL_SIGNED_HILO16_NV 0x86FA
-#define GL_SIGNED_RGBA_NV 0x86FB
-#define GL_SIGNED_RGBA8_NV 0x86FC
-#define GL_SIGNED_RGB_NV 0x86FE
-#define GL_SIGNED_RGB8_NV 0x86FF
-#define GL_SIGNED_LUMINANCE_NV 0x8701
-#define GL_SIGNED_LUMINANCE8_NV 0x8702
-#define GL_SIGNED_LUMINANCE_ALPHA_NV 0x8703
-#define GL_SIGNED_LUMINANCE8_ALPHA8_NV 0x8704
-#define GL_SIGNED_ALPHA_NV 0x8705
-#define GL_SIGNED_ALPHA8_NV 0x8706
-#define GL_SIGNED_INTENSITY_NV 0x8707
-#define GL_SIGNED_INTENSITY8_NV 0x8708
-#define GL_DSDT8_NV 0x8709
-#define GL_DSDT8_MAG8_NV 0x870A
-#define GL_DSDT8_MAG8_INTENSITY8_NV 0x870B
-#define GL_SIGNED_RGB_UNSIGNED_ALPHA_NV 0x870C
-#define GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV 0x870D
-
-#define GLEW_NV_texture_shader2 GLEW_GET_VAR(__GLEW_NV_texture_shader2)
-
-#endif /* GL_NV_texture_shader2 */
-
-/* ------------------------- GL_NV_texture_shader3 ------------------------- */
-
-#ifndef GL_NV_texture_shader3
-#define GL_NV_texture_shader3 1
-
-#define GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV 0x8850
-#define GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV 0x8851
-#define GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV 0x8852
-#define GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV 0x8853
-#define GL_OFFSET_HILO_TEXTURE_2D_NV 0x8854
-#define GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV 0x8855
-#define GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV 0x8856
-#define GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV 0x8857
-#define GL_DEPENDENT_HILO_TEXTURE_2D_NV 0x8858
-#define GL_DEPENDENT_RGB_TEXTURE_3D_NV 0x8859
-#define GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV 0x885A
-#define GL_DOT_PRODUCT_PASS_THROUGH_NV 0x885B
-#define GL_DOT_PRODUCT_TEXTURE_1D_NV 0x885C
-#define GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV 0x885D
-#define GL_HILO8_NV 0x885E
-#define GL_SIGNED_HILO8_NV 0x885F
-#define GL_FORCE_BLUE_TO_ONE_NV 0x8860
-
-#define GLEW_NV_texture_shader3 GLEW_GET_VAR(__GLEW_NV_texture_shader3)
-
-#endif /* GL_NV_texture_shader3 */
-
-/* ------------------------ GL_NV_transform_feedback ----------------------- */
-
-#ifndef GL_NV_transform_feedback
-#define GL_NV_transform_feedback 1
-
-#define GL_BACK_PRIMARY_COLOR_NV 0x8C77
-#define GL_BACK_SECONDARY_COLOR_NV 0x8C78
-#define GL_TEXTURE_COORD_NV 0x8C79
-#define GL_CLIP_DISTANCE_NV 0x8C7A
-#define GL_VERTEX_ID_NV 0x8C7B
-#define GL_PRIMITIVE_ID_NV 0x8C7C
-#define GL_GENERIC_ATTRIB_NV 0x8C7D
-#define GL_TRANSFORM_FEEDBACK_ATTRIBS_NV 0x8C7E
-#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE_NV 0x8C7F
-#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV 0x8C80
-#define GL_ACTIVE_VARYINGS_NV 0x8C81
-#define GL_ACTIVE_VARYING_MAX_LENGTH_NV 0x8C82
-#define GL_TRANSFORM_FEEDBACK_VARYINGS_NV 0x8C83
-#define GL_TRANSFORM_FEEDBACK_BUFFER_START_NV 0x8C84
-#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV 0x8C85
-#define GL_TRANSFORM_FEEDBACK_RECORD_NV 0x8C86
-#define GL_PRIMITIVES_GENERATED_NV 0x8C87
-#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV 0x8C88
-#define GL_RASTERIZER_DISCARD_NV 0x8C89
-#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV 0x8C8A
-#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV 0x8C8B
-#define GL_INTERLEAVED_ATTRIBS_NV 0x8C8C
-#define GL_SEPARATE_ATTRIBS_NV 0x8C8D
-#define GL_TRANSFORM_FEEDBACK_BUFFER_NV 0x8C8E
-#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV 0x8C8F
-
-typedef void (GLAPIENTRY * PFNGLACTIVEVARYINGNVPROC) (GLuint program, const GLchar *name);
-typedef void (GLAPIENTRY * PFNGLBEGINTRANSFORMFEEDBACKNVPROC) (GLenum primitiveMode);
-typedef void (GLAPIENTRY * PFNGLBINDBUFFERBASENVPROC) (GLenum target, GLuint index, GLuint buffer);
-typedef void (GLAPIENTRY * PFNGLBINDBUFFEROFFSETNVPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset);
-typedef void (GLAPIENTRY * PFNGLBINDBUFFERRANGENVPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
-typedef void (GLAPIENTRY * PFNGLENDTRANSFORMFEEDBACKNVPROC) (void);
-typedef void (GLAPIENTRY * PFNGLGETACTIVEVARYINGNVPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
-typedef void (GLAPIENTRY * PFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC) (GLuint program, GLuint index, GLint *location);
-typedef GLint (GLAPIENTRY * PFNGLGETVARYINGLOCATIONNVPROC) (GLuint program, const GLchar *name);
-typedef void (GLAPIENTRY * PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC) (GLuint count, const GLint *attribs, GLenum bufferMode);
-typedef void (GLAPIENTRY * PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC) (GLuint program, GLsizei count, const GLint *locations, GLenum bufferMode);
-
-#define glActiveVaryingNV GLEW_GET_FUN(__glewActiveVaryingNV)
-#define glBeginTransformFeedbackNV GLEW_GET_FUN(__glewBeginTransformFeedbackNV)
-#define glBindBufferBaseNV GLEW_GET_FUN(__glewBindBufferBaseNV)
-#define glBindBufferOffsetNV GLEW_GET_FUN(__glewBindBufferOffsetNV)
-#define glBindBufferRangeNV GLEW_GET_FUN(__glewBindBufferRangeNV)
-#define glEndTransformFeedbackNV GLEW_GET_FUN(__glewEndTransformFeedbackNV)
-#define glGetActiveVaryingNV GLEW_GET_FUN(__glewGetActiveVaryingNV)
-#define glGetTransformFeedbackVaryingNV GLEW_GET_FUN(__glewGetTransformFeedbackVaryingNV)
-#define glGetVaryingLocationNV GLEW_GET_FUN(__glewGetVaryingLocationNV)
-#define glTransformFeedbackAttribsNV GLEW_GET_FUN(__glewTransformFeedbackAttribsNV)
-#define glTransformFeedbackVaryingsNV GLEW_GET_FUN(__glewTransformFeedbackVaryingsNV)
-
-#define GLEW_NV_transform_feedback GLEW_GET_VAR(__GLEW_NV_transform_feedback)
-
-#endif /* GL_NV_transform_feedback */
-
-/* ----------------------- GL_NV_transform_feedback2 ----------------------- */
-
-#ifndef GL_NV_transform_feedback2
-#define GL_NV_transform_feedback2 1
-
-#define GL_TRANSFORM_FEEDBACK_NV 0x8E22
-#define GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV 0x8E23
-#define GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV 0x8E24
-#define GL_TRANSFORM_FEEDBACK_BINDING_NV 0x8E25
-
-typedef void (GLAPIENTRY * PFNGLBINDTRANSFORMFEEDBACKNVPROC) (GLenum target, GLuint id);
-typedef void (GLAPIENTRY * PFNGLDELETETRANSFORMFEEDBACKSNVPROC) (GLsizei n, const GLuint* ids);
-typedef void (GLAPIENTRY * PFNGLDRAWTRANSFORMFEEDBACKNVPROC) (GLenum mode, GLuint id);
-typedef void (GLAPIENTRY * PFNGLGENTRANSFORMFEEDBACKSNVPROC) (GLsizei n, GLuint* ids);
-typedef GLboolean (GLAPIENTRY * PFNGLISTRANSFORMFEEDBACKNVPROC) (GLuint id);
-typedef void (GLAPIENTRY * PFNGLPAUSETRANSFORMFEEDBACKNVPROC) (void);
-typedef void (GLAPIENTRY * PFNGLRESUMETRANSFORMFEEDBACKNVPROC) (void);
-
-#define glBindTransformFeedbackNV GLEW_GET_FUN(__glewBindTransformFeedbackNV)
-#define glDeleteTransformFeedbacksNV GLEW_GET_FUN(__glewDeleteTransformFeedbacksNV)
-#define glDrawTransformFeedbackNV GLEW_GET_FUN(__glewDrawTransformFeedbackNV)
-#define glGenTransformFeedbacksNV GLEW_GET_FUN(__glewGenTransformFeedbacksNV)
-#define glIsTransformFeedbackNV GLEW_GET_FUN(__glewIsTransformFeedbackNV)
-#define glPauseTransformFeedbackNV GLEW_GET_FUN(__glewPauseTransformFeedbackNV)
-#define glResumeTransformFeedbackNV GLEW_GET_FUN(__glewResumeTransformFeedbackNV)
-
-#define GLEW_NV_transform_feedback2 GLEW_GET_VAR(__GLEW_NV_transform_feedback2)
-
-#endif /* GL_NV_transform_feedback2 */
-
-/* ------------------------ GL_NV_vertex_array_range ----------------------- */
-
-#ifndef GL_NV_vertex_array_range
-#define GL_NV_vertex_array_range 1
-
-#define GL_VERTEX_ARRAY_RANGE_NV 0x851D
-#define GL_VERTEX_ARRAY_RANGE_LENGTH_NV 0x851E
-#define GL_VERTEX_ARRAY_RANGE_VALID_NV 0x851F
-#define GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV 0x8520
-#define GL_VERTEX_ARRAY_RANGE_POINTER_NV 0x8521
-
-typedef void (GLAPIENTRY * PFNGLFLUSHVERTEXARRAYRANGENVPROC) (void);
-typedef void (GLAPIENTRY * PFNGLVERTEXARRAYRANGENVPROC) (GLsizei length, void* pointer);
-
-#define glFlushVertexArrayRangeNV GLEW_GET_FUN(__glewFlushVertexArrayRangeNV)
-#define glVertexArrayRangeNV GLEW_GET_FUN(__glewVertexArrayRangeNV)
-
-#define GLEW_NV_vertex_array_range GLEW_GET_VAR(__GLEW_NV_vertex_array_range)
-
-#endif /* GL_NV_vertex_array_range */
-
-/* ----------------------- GL_NV_vertex_array_range2 ----------------------- */
-
-#ifndef GL_NV_vertex_array_range2
-#define GL_NV_vertex_array_range2 1
-
-#define GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV 0x8533
-
-#define GLEW_NV_vertex_array_range2 GLEW_GET_VAR(__GLEW_NV_vertex_array_range2)
-
-#endif /* GL_NV_vertex_array_range2 */
-
-/* ------------------- GL_NV_vertex_attrib_integer_64bit ------------------- */
-
-#ifndef GL_NV_vertex_attrib_integer_64bit
-#define GL_NV_vertex_attrib_integer_64bit 1
-
-#define GL_INT64_NV 0x140E
-#define GL_UNSIGNED_INT64_NV 0x140F
-
-typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBLI64VNVPROC) (GLuint index, GLenum pname, GLint64EXT* params);
-typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBLUI64VNVPROC) (GLuint index, GLenum pname, GLuint64EXT* params);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL1I64NVPROC) (GLuint index, GLint64EXT x);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL1I64VNVPROC) (GLuint index, const GLint64EXT* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL1UI64NVPROC) (GLuint index, GLuint64EXT x);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL1UI64VNVPROC) (GLuint index, const GLuint64EXT* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL2I64NVPROC) (GLuint index, GLint64EXT x, GLint64EXT y);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL2I64VNVPROC) (GLuint index, const GLint64EXT* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL2UI64NVPROC) (GLuint index, GLuint64EXT x, GLuint64EXT y);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL2UI64VNVPROC) (GLuint index, const GLuint64EXT* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL3I64NVPROC) (GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL3I64VNVPROC) (GLuint index, const GLint64EXT* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL3UI64NVPROC) (GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL3UI64VNVPROC) (GLuint index, const GLuint64EXT* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL4I64NVPROC) (GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL4I64VNVPROC) (GLuint index, const GLint64EXT* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL4UI64NVPROC) (GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL4UI64VNVPROC) (GLuint index, const GLuint64EXT* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBLFORMATNVPROC) (GLuint index, GLint size, GLenum type, GLsizei stride);
-
-#define glGetVertexAttribLi64vNV GLEW_GET_FUN(__glewGetVertexAttribLi64vNV)
-#define glGetVertexAttribLui64vNV GLEW_GET_FUN(__glewGetVertexAttribLui64vNV)
-#define glVertexAttribL1i64NV GLEW_GET_FUN(__glewVertexAttribL1i64NV)
-#define glVertexAttribL1i64vNV GLEW_GET_FUN(__glewVertexAttribL1i64vNV)
-#define glVertexAttribL1ui64NV GLEW_GET_FUN(__glewVertexAttribL1ui64NV)
-#define glVertexAttribL1ui64vNV GLEW_GET_FUN(__glewVertexAttribL1ui64vNV)
-#define glVertexAttribL2i64NV GLEW_GET_FUN(__glewVertexAttribL2i64NV)
-#define glVertexAttribL2i64vNV GLEW_GET_FUN(__glewVertexAttribL2i64vNV)
-#define glVertexAttribL2ui64NV GLEW_GET_FUN(__glewVertexAttribL2ui64NV)
-#define glVertexAttribL2ui64vNV GLEW_GET_FUN(__glewVertexAttribL2ui64vNV)
-#define glVertexAttribL3i64NV GLEW_GET_FUN(__glewVertexAttribL3i64NV)
-#define glVertexAttribL3i64vNV GLEW_GET_FUN(__glewVertexAttribL3i64vNV)
-#define glVertexAttribL3ui64NV GLEW_GET_FUN(__glewVertexAttribL3ui64NV)
-#define glVertexAttribL3ui64vNV GLEW_GET_FUN(__glewVertexAttribL3ui64vNV)
-#define glVertexAttribL4i64NV GLEW_GET_FUN(__glewVertexAttribL4i64NV)
-#define glVertexAttribL4i64vNV GLEW_GET_FUN(__glewVertexAttribL4i64vNV)
-#define glVertexAttribL4ui64NV GLEW_GET_FUN(__glewVertexAttribL4ui64NV)
-#define glVertexAttribL4ui64vNV GLEW_GET_FUN(__glewVertexAttribL4ui64vNV)
-#define glVertexAttribLFormatNV GLEW_GET_FUN(__glewVertexAttribLFormatNV)
-
-#define GLEW_NV_vertex_attrib_integer_64bit GLEW_GET_VAR(__GLEW_NV_vertex_attrib_integer_64bit)
-
-#endif /* GL_NV_vertex_attrib_integer_64bit */
-
-/* ------------------- GL_NV_vertex_buffer_unified_memory ------------------ */
-
-#ifndef GL_NV_vertex_buffer_unified_memory
-#define GL_NV_vertex_buffer_unified_memory 1
-
-#define GL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV 0x8F1E
-#define GL_ELEMENT_ARRAY_UNIFIED_NV 0x8F1F
-#define GL_VERTEX_ATTRIB_ARRAY_ADDRESS_NV 0x8F20
-#define GL_VERTEX_ARRAY_ADDRESS_NV 0x8F21
-#define GL_NORMAL_ARRAY_ADDRESS_NV 0x8F22
-#define GL_COLOR_ARRAY_ADDRESS_NV 0x8F23
-#define GL_INDEX_ARRAY_ADDRESS_NV 0x8F24
-#define GL_TEXTURE_COORD_ARRAY_ADDRESS_NV 0x8F25
-#define GL_EDGE_FLAG_ARRAY_ADDRESS_NV 0x8F26
-#define GL_SECONDARY_COLOR_ARRAY_ADDRESS_NV 0x8F27
-#define GL_FOG_COORD_ARRAY_ADDRESS_NV 0x8F28
-#define GL_ELEMENT_ARRAY_ADDRESS_NV 0x8F29
-#define GL_VERTEX_ATTRIB_ARRAY_LENGTH_NV 0x8F2A
-#define GL_VERTEX_ARRAY_LENGTH_NV 0x8F2B
-#define GL_NORMAL_ARRAY_LENGTH_NV 0x8F2C
-#define GL_COLOR_ARRAY_LENGTH_NV 0x8F2D
-#define GL_INDEX_ARRAY_LENGTH_NV 0x8F2E
-#define GL_TEXTURE_COORD_ARRAY_LENGTH_NV 0x8F2F
-#define GL_EDGE_FLAG_ARRAY_LENGTH_NV 0x8F30
-#define GL_SECONDARY_COLOR_ARRAY_LENGTH_NV 0x8F31
-#define GL_FOG_COORD_ARRAY_LENGTH_NV 0x8F32
-#define GL_ELEMENT_ARRAY_LENGTH_NV 0x8F33
-
-typedef void (GLAPIENTRY * PFNGLBUFFERADDRESSRANGENVPROC) (GLenum pname, GLuint index, GLuint64EXT address, GLsizeiptr length);
-typedef void (GLAPIENTRY * PFNGLCOLORFORMATNVPROC) (GLint size, GLenum type, GLsizei stride);
-typedef void (GLAPIENTRY * PFNGLEDGEFLAGFORMATNVPROC) (GLsizei stride);
-typedef void (GLAPIENTRY * PFNGLFOGCOORDFORMATNVPROC) (GLenum type, GLsizei stride);
-typedef void (GLAPIENTRY * PFNGLGETINTEGERUI64I_VNVPROC) (GLenum value, GLuint index, GLuint64EXT result[]);
-typedef void (GLAPIENTRY * PFNGLINDEXFORMATNVPROC) (GLenum type, GLsizei stride);
-typedef void (GLAPIENTRY * PFNGLNORMALFORMATNVPROC) (GLenum type, GLsizei stride);
-typedef void (GLAPIENTRY * PFNGLSECONDARYCOLORFORMATNVPROC) (GLint size, GLenum type, GLsizei stride);
-typedef void (GLAPIENTRY * PFNGLTEXCOORDFORMATNVPROC) (GLint size, GLenum type, GLsizei stride);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBFORMATNVPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBIFORMATNVPROC) (GLuint index, GLint size, GLenum type, GLsizei stride);
-typedef void (GLAPIENTRY * PFNGLVERTEXFORMATNVPROC) (GLint size, GLenum type, GLsizei stride);
-
-#define glBufferAddressRangeNV GLEW_GET_FUN(__glewBufferAddressRangeNV)
-#define glColorFormatNV GLEW_GET_FUN(__glewColorFormatNV)
-#define glEdgeFlagFormatNV GLEW_GET_FUN(__glewEdgeFlagFormatNV)
-#define glFogCoordFormatNV GLEW_GET_FUN(__glewFogCoordFormatNV)
-#define glGetIntegerui64i_vNV GLEW_GET_FUN(__glewGetIntegerui64i_vNV)
-#define glIndexFormatNV GLEW_GET_FUN(__glewIndexFormatNV)
-#define glNormalFormatNV GLEW_GET_FUN(__glewNormalFormatNV)
-#define glSecondaryColorFormatNV GLEW_GET_FUN(__glewSecondaryColorFormatNV)
-#define glTexCoordFormatNV GLEW_GET_FUN(__glewTexCoordFormatNV)
-#define glVertexAttribFormatNV GLEW_GET_FUN(__glewVertexAttribFormatNV)
-#define glVertexAttribIFormatNV GLEW_GET_FUN(__glewVertexAttribIFormatNV)
-#define glVertexFormatNV GLEW_GET_FUN(__glewVertexFormatNV)
-
-#define GLEW_NV_vertex_buffer_unified_memory GLEW_GET_VAR(__GLEW_NV_vertex_buffer_unified_memory)
-
-#endif /* GL_NV_vertex_buffer_unified_memory */
-
-/* -------------------------- GL_NV_vertex_program ------------------------- */
-
-#ifndef GL_NV_vertex_program
-#define GL_NV_vertex_program 1
-
-#define GL_VERTEX_PROGRAM_NV 0x8620
-#define GL_VERTEX_STATE_PROGRAM_NV 0x8621
-#define GL_ATTRIB_ARRAY_SIZE_NV 0x8623
-#define GL_ATTRIB_ARRAY_STRIDE_NV 0x8624
-#define GL_ATTRIB_ARRAY_TYPE_NV 0x8625
-#define GL_CURRENT_ATTRIB_NV 0x8626
-#define GL_PROGRAM_LENGTH_NV 0x8627
-#define GL_PROGRAM_STRING_NV 0x8628
-#define GL_MODELVIEW_PROJECTION_NV 0x8629
-#define GL_IDENTITY_NV 0x862A
-#define GL_INVERSE_NV 0x862B
-#define GL_TRANSPOSE_NV 0x862C
-#define GL_INVERSE_TRANSPOSE_NV 0x862D
-#define GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV 0x862E
-#define GL_MAX_TRACK_MATRICES_NV 0x862F
-#define GL_MATRIX0_NV 0x8630
-#define GL_MATRIX1_NV 0x8631
-#define GL_MATRIX2_NV 0x8632
-#define GL_MATRIX3_NV 0x8633
-#define GL_MATRIX4_NV 0x8634
-#define GL_MATRIX5_NV 0x8635
-#define GL_MATRIX6_NV 0x8636
-#define GL_MATRIX7_NV 0x8637
-#define GL_CURRENT_MATRIX_STACK_DEPTH_NV 0x8640
-#define GL_CURRENT_MATRIX_NV 0x8641
-#define GL_VERTEX_PROGRAM_POINT_SIZE_NV 0x8642
-#define GL_VERTEX_PROGRAM_TWO_SIDE_NV 0x8643
-#define GL_PROGRAM_PARAMETER_NV 0x8644
-#define GL_ATTRIB_ARRAY_POINTER_NV 0x8645
-#define GL_PROGRAM_TARGET_NV 0x8646
-#define GL_PROGRAM_RESIDENT_NV 0x8647
-#define GL_TRACK_MATRIX_NV 0x8648
-#define GL_TRACK_MATRIX_TRANSFORM_NV 0x8649
-#define GL_VERTEX_PROGRAM_BINDING_NV 0x864A
-#define GL_PROGRAM_ERROR_POSITION_NV 0x864B
-#define GL_VERTEX_ATTRIB_ARRAY0_NV 0x8650
-#define GL_VERTEX_ATTRIB_ARRAY1_NV 0x8651
-#define GL_VERTEX_ATTRIB_ARRAY2_NV 0x8652
-#define GL_VERTEX_ATTRIB_ARRAY3_NV 0x8653
-#define GL_VERTEX_ATTRIB_ARRAY4_NV 0x8654
-#define GL_VERTEX_ATTRIB_ARRAY5_NV 0x8655
-#define GL_VERTEX_ATTRIB_ARRAY6_NV 0x8656
-#define GL_VERTEX_ATTRIB_ARRAY7_NV 0x8657
-#define GL_VERTEX_ATTRIB_ARRAY8_NV 0x8658
-#define GL_VERTEX_ATTRIB_ARRAY9_NV 0x8659
-#define GL_VERTEX_ATTRIB_ARRAY10_NV 0x865A
-#define GL_VERTEX_ATTRIB_ARRAY11_NV 0x865B
-#define GL_VERTEX_ATTRIB_ARRAY12_NV 0x865C
-#define GL_VERTEX_ATTRIB_ARRAY13_NV 0x865D
-#define GL_VERTEX_ATTRIB_ARRAY14_NV 0x865E
-#define GL_VERTEX_ATTRIB_ARRAY15_NV 0x865F
-#define GL_MAP1_VERTEX_ATTRIB0_4_NV 0x8660
-#define GL_MAP1_VERTEX_ATTRIB1_4_NV 0x8661
-#define GL_MAP1_VERTEX_ATTRIB2_4_NV 0x8662
-#define GL_MAP1_VERTEX_ATTRIB3_4_NV 0x8663
-#define GL_MAP1_VERTEX_ATTRIB4_4_NV 0x8664
-#define GL_MAP1_VERTEX_ATTRIB5_4_NV 0x8665
-#define GL_MAP1_VERTEX_ATTRIB6_4_NV 0x8666
-#define GL_MAP1_VERTEX_ATTRIB7_4_NV 0x8667
-#define GL_MAP1_VERTEX_ATTRIB8_4_NV 0x8668
-#define GL_MAP1_VERTEX_ATTRIB9_4_NV 0x8669
-#define GL_MAP1_VERTEX_ATTRIB10_4_NV 0x866A
-#define GL_MAP1_VERTEX_ATTRIB11_4_NV 0x866B
-#define GL_MAP1_VERTEX_ATTRIB12_4_NV 0x866C
-#define GL_MAP1_VERTEX_ATTRIB13_4_NV 0x866D
-#define GL_MAP1_VERTEX_ATTRIB14_4_NV 0x866E
-#define GL_MAP1_VERTEX_ATTRIB15_4_NV 0x866F
-#define GL_MAP2_VERTEX_ATTRIB0_4_NV 0x8670
-#define GL_MAP2_VERTEX_ATTRIB1_4_NV 0x8671
-#define GL_MAP2_VERTEX_ATTRIB2_4_NV 0x8672
-#define GL_MAP2_VERTEX_ATTRIB3_4_NV 0x8673
-#define GL_MAP2_VERTEX_ATTRIB4_4_NV 0x8674
-#define GL_MAP2_VERTEX_ATTRIB5_4_NV 0x8675
-#define GL_MAP2_VERTEX_ATTRIB6_4_NV 0x8676
-#define GL_MAP2_VERTEX_ATTRIB7_4_NV 0x8677
-#define GL_MAP2_VERTEX_ATTRIB8_4_NV 0x8678
-#define GL_MAP2_VERTEX_ATTRIB9_4_NV 0x8679
-#define GL_MAP2_VERTEX_ATTRIB10_4_NV 0x867A
-#define GL_MAP2_VERTEX_ATTRIB11_4_NV 0x867B
-#define GL_MAP2_VERTEX_ATTRIB12_4_NV 0x867C
-#define GL_MAP2_VERTEX_ATTRIB13_4_NV 0x867D
-#define GL_MAP2_VERTEX_ATTRIB14_4_NV 0x867E
-#define GL_MAP2_VERTEX_ATTRIB15_4_NV 0x867F
-
-typedef GLboolean (GLAPIENTRY * PFNGLAREPROGRAMSRESIDENTNVPROC) (GLsizei n, const GLuint* ids, GLboolean *residences);
-typedef void (GLAPIENTRY * PFNGLBINDPROGRAMNVPROC) (GLenum target, GLuint id);
-typedef void (GLAPIENTRY * PFNGLDELETEPROGRAMSNVPROC) (GLsizei n, const GLuint* ids);
-typedef void (GLAPIENTRY * PFNGLEXECUTEPROGRAMNVPROC) (GLenum target, GLuint id, const GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLGENPROGRAMSNVPROC) (GLsizei n, GLuint* ids);
-typedef void (GLAPIENTRY * PFNGLGETPROGRAMPARAMETERDVNVPROC) (GLenum target, GLuint index, GLenum pname, GLdouble* params);
-typedef void (GLAPIENTRY * PFNGLGETPROGRAMPARAMETERFVNVPROC) (GLenum target, GLuint index, GLenum pname, GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLGETPROGRAMSTRINGNVPROC) (GLuint id, GLenum pname, GLubyte* program);
-typedef void (GLAPIENTRY * PFNGLGETPROGRAMIVNVPROC) (GLuint id, GLenum pname, GLint* params);
-typedef void (GLAPIENTRY * PFNGLGETTRACKMATRIXIVNVPROC) (GLenum target, GLuint address, GLenum pname, GLint* params);
-typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBPOINTERVNVPROC) (GLuint index, GLenum pname, GLvoid** pointer);
-typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBDVNVPROC) (GLuint index, GLenum pname, GLdouble* params);
-typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBFVNVPROC) (GLuint index, GLenum pname, GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIVNVPROC) (GLuint index, GLenum pname, GLint* params);
-typedef GLboolean (GLAPIENTRY * PFNGLISPROGRAMNVPROC) (GLuint id);
-typedef void (GLAPIENTRY * PFNGLLOADPROGRAMNVPROC) (GLenum target, GLuint id, GLsizei len, const GLubyte* program);
-typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETER4DNVPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
-typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETER4DVNVPROC) (GLenum target, GLuint index, const GLdouble* params);
-typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETER4FNVPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
-typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETER4FVNVPROC) (GLenum target, GLuint index, const GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETERS4DVNVPROC) (GLenum target, GLuint index, GLuint num, const GLdouble* params);
-typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETERS4FVNVPROC) (GLenum target, GLuint index, GLuint num, const GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLREQUESTRESIDENTPROGRAMSNVPROC) (GLsizei n, GLuint* ids);
-typedef void (GLAPIENTRY * PFNGLTRACKMATRIXNVPROC) (GLenum target, GLuint address, GLenum matrix, GLenum transform);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1DNVPROC) (GLuint index, GLdouble x);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1DVNVPROC) (GLuint index, const GLdouble* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1FNVPROC) (GLuint index, GLfloat x);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1FVNVPROC) (GLuint index, const GLfloat* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1SNVPROC) (GLuint index, GLshort x);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1SVNVPROC) (GLuint index, const GLshort* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2DNVPROC) (GLuint index, GLdouble x, GLdouble y);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2DVNVPROC) (GLuint index, const GLdouble* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2FNVPROC) (GLuint index, GLfloat x, GLfloat y);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2FVNVPROC) (GLuint index, const GLfloat* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2SNVPROC) (GLuint index, GLshort x, GLshort y);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2SVNVPROC) (GLuint index, const GLshort* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3DNVPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3DVNVPROC) (GLuint index, const GLdouble* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3FNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3FVNVPROC) (GLuint index, const GLfloat* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3SNVPROC) (GLuint index, GLshort x, GLshort y, GLshort z);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3SVNVPROC) (GLuint index, const GLshort* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4DNVPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4DVNVPROC) (GLuint index, const GLdouble* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4FNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4FVNVPROC) (GLuint index, const GLfloat* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4SNVPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4SVNVPROC) (GLuint index, const GLshort* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4UBNVPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4UBVNVPROC) (GLuint index, const GLubyte* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBPOINTERNVPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const void* pointer);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS1DVNVPROC) (GLuint index, GLsizei n, const GLdouble* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS1FVNVPROC) (GLuint index, GLsizei n, const GLfloat* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS1SVNVPROC) (GLuint index, GLsizei n, const GLshort* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS2DVNVPROC) (GLuint index, GLsizei n, const GLdouble* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS2FVNVPROC) (GLuint index, GLsizei n, const GLfloat* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS2SVNVPROC) (GLuint index, GLsizei n, const GLshort* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS3DVNVPROC) (GLuint index, GLsizei n, const GLdouble* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS3FVNVPROC) (GLuint index, GLsizei n, const GLfloat* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS3SVNVPROC) (GLuint index, GLsizei n, const GLshort* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS4DVNVPROC) (GLuint index, GLsizei n, const GLdouble* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS4FVNVPROC) (GLuint index, GLsizei n, const GLfloat* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS4SVNVPROC) (GLuint index, GLsizei n, const GLshort* v);
-typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS4UBVNVPROC) (GLuint index, GLsizei n, const GLubyte* v);
-
-#define glAreProgramsResidentNV GLEW_GET_FUN(__glewAreProgramsResidentNV)
-#define glBindProgramNV GLEW_GET_FUN(__glewBindProgramNV)
-#define glDeleteProgramsNV GLEW_GET_FUN(__glewDeleteProgramsNV)
-#define glExecuteProgramNV GLEW_GET_FUN(__glewExecuteProgramNV)
-#define glGenProgramsNV GLEW_GET_FUN(__glewGenProgramsNV)
-#define glGetProgramParameterdvNV GLEW_GET_FUN(__glewGetProgramParameterdvNV)
-#define glGetProgramParameterfvNV GLEW_GET_FUN(__glewGetProgramParameterfvNV)
-#define glGetProgramStringNV GLEW_GET_FUN(__glewGetProgramStringNV)
-#define glGetProgramivNV GLEW_GET_FUN(__glewGetProgramivNV)
-#define glGetTrackMatrixivNV GLEW_GET_FUN(__glewGetTrackMatrixivNV)
-#define glGetVertexAttribPointervNV GLEW_GET_FUN(__glewGetVertexAttribPointervNV)
-#define glGetVertexAttribdvNV GLEW_GET_FUN(__glewGetVertexAttribdvNV)
-#define glGetVertexAttribfvNV GLEW_GET_FUN(__glewGetVertexAttribfvNV)
-#define glGetVertexAttribivNV GLEW_GET_FUN(__glewGetVertexAttribivNV)
-#define glIsProgramNV GLEW_GET_FUN(__glewIsProgramNV)
-#define glLoadProgramNV GLEW_GET_FUN(__glewLoadProgramNV)
-#define glProgramParameter4dNV GLEW_GET_FUN(__glewProgramParameter4dNV)
-#define glProgramParameter4dvNV GLEW_GET_FUN(__glewProgramParameter4dvNV)
-#define glProgramParameter4fNV GLEW_GET_FUN(__glewProgramParameter4fNV)
-#define glProgramParameter4fvNV GLEW_GET_FUN(__glewProgramParameter4fvNV)
-#define glProgramParameters4dvNV GLEW_GET_FUN(__glewProgramParameters4dvNV)
-#define glProgramParameters4fvNV GLEW_GET_FUN(__glewProgramParameters4fvNV)
-#define glRequestResidentProgramsNV GLEW_GET_FUN(__glewRequestResidentProgramsNV)
-#define glTrackMatrixNV GLEW_GET_FUN(__glewTrackMatrixNV)
-#define glVertexAttrib1dNV GLEW_GET_FUN(__glewVertexAttrib1dNV)
-#define glVertexAttrib1dvNV GLEW_GET_FUN(__glewVertexAttrib1dvNV)
-#define glVertexAttrib1fNV GLEW_GET_FUN(__glewVertexAttrib1fNV)
-#define glVertexAttrib1fvNV GLEW_GET_FUN(__glewVertexAttrib1fvNV)
-#define glVertexAttrib1sNV GLEW_GET_FUN(__glewVertexAttrib1sNV)
-#define glVertexAttrib1svNV GLEW_GET_FUN(__glewVertexAttrib1svNV)
-#define glVertexAttrib2dNV GLEW_GET_FUN(__glewVertexAttrib2dNV)
-#define glVertexAttrib2dvNV GLEW_GET_FUN(__glewVertexAttrib2dvNV)
-#define glVertexAttrib2fNV GLEW_GET_FUN(__glewVertexAttrib2fNV)
-#define glVertexAttrib2fvNV GLEW_GET_FUN(__glewVertexAttrib2fvNV)
-#define glVertexAttrib2sNV GLEW_GET_FUN(__glewVertexAttrib2sNV)
-#define glVertexAttrib2svNV GLEW_GET_FUN(__glewVertexAttrib2svNV)
-#define glVertexAttrib3dNV GLEW_GET_FUN(__glewVertexAttrib3dNV)
-#define glVertexAttrib3dvNV GLEW_GET_FUN(__glewVertexAttrib3dvNV)
-#define glVertexAttrib3fNV GLEW_GET_FUN(__glewVertexAttrib3fNV)
-#define glVertexAttrib3fvNV GLEW_GET_FUN(__glewVertexAttrib3fvNV)
-#define glVertexAttrib3sNV GLEW_GET_FUN(__glewVertexAttrib3sNV)
-#define glVertexAttrib3svNV GLEW_GET_FUN(__glewVertexAttrib3svNV)
-#define glVertexAttrib4dNV GLEW_GET_FUN(__glewVertexAttrib4dNV)
-#define glVertexAttrib4dvNV GLEW_GET_FUN(__glewVertexAttrib4dvNV)
-#define glVertexAttrib4fNV GLEW_GET_FUN(__glewVertexAttrib4fNV)
-#define glVertexAttrib4fvNV GLEW_GET_FUN(__glewVertexAttrib4fvNV)
-#define glVertexAttrib4sNV GLEW_GET_FUN(__glewVertexAttrib4sNV)
-#define glVertexAttrib4svNV GLEW_GET_FUN(__glewVertexAttrib4svNV)
-#define glVertexAttrib4ubNV GLEW_GET_FUN(__glewVertexAttrib4ubNV)
-#define glVertexAttrib4ubvNV GLEW_GET_FUN(__glewVertexAttrib4ubvNV)
-#define glVertexAttribPointerNV GLEW_GET_FUN(__glewVertexAttribPointerNV)
-#define glVertexAttribs1dvNV GLEW_GET_FUN(__glewVertexAttribs1dvNV)
-#define glVertexAttribs1fvNV GLEW_GET_FUN(__glewVertexAttribs1fvNV)
-#define glVertexAttribs1svNV GLEW_GET_FUN(__glewVertexAttribs1svNV)
-#define glVertexAttribs2dvNV GLEW_GET_FUN(__glewVertexAttribs2dvNV)
-#define glVertexAttribs2fvNV GLEW_GET_FUN(__glewVertexAttribs2fvNV)
-#define glVertexAttribs2svNV GLEW_GET_FUN(__glewVertexAttribs2svNV)
-#define glVertexAttribs3dvNV GLEW_GET_FUN(__glewVertexAttribs3dvNV)
-#define glVertexAttribs3fvNV GLEW_GET_FUN(__glewVertexAttribs3fvNV)
-#define glVertexAttribs3svNV GLEW_GET_FUN(__glewVertexAttribs3svNV)
-#define glVertexAttribs4dvNV GLEW_GET_FUN(__glewVertexAttribs4dvNV)
-#define glVertexAttribs4fvNV GLEW_GET_FUN(__glewVertexAttribs4fvNV)
-#define glVertexAttribs4svNV GLEW_GET_FUN(__glewVertexAttribs4svNV)
-#define glVertexAttribs4ubvNV GLEW_GET_FUN(__glewVertexAttribs4ubvNV)
-
-#define GLEW_NV_vertex_program GLEW_GET_VAR(__GLEW_NV_vertex_program)
-
-#endif /* GL_NV_vertex_program */
-
-/* ------------------------ GL_NV_vertex_program1_1 ------------------------ */
-
-#ifndef GL_NV_vertex_program1_1
-#define GL_NV_vertex_program1_1 1
-
-#define GLEW_NV_vertex_program1_1 GLEW_GET_VAR(__GLEW_NV_vertex_program1_1)
-
-#endif /* GL_NV_vertex_program1_1 */
-
-/* ------------------------- GL_NV_vertex_program2 ------------------------- */
-
-#ifndef GL_NV_vertex_program2
-#define GL_NV_vertex_program2 1
-
-#define GLEW_NV_vertex_program2 GLEW_GET_VAR(__GLEW_NV_vertex_program2)
-
-#endif /* GL_NV_vertex_program2 */
-
-/* ---------------------- GL_NV_vertex_program2_option --------------------- */
-
-#ifndef GL_NV_vertex_program2_option
-#define GL_NV_vertex_program2_option 1
-
-#define GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV 0x88F4
-#define GL_MAX_PROGRAM_CALL_DEPTH_NV 0x88F5
-
-#define GLEW_NV_vertex_program2_option GLEW_GET_VAR(__GLEW_NV_vertex_program2_option)
-
-#endif /* GL_NV_vertex_program2_option */
-
-/* ------------------------- GL_NV_vertex_program3 ------------------------- */
-
-#ifndef GL_NV_vertex_program3
-#define GL_NV_vertex_program3 1
-
-#define MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB 0x8B4C
-
-#define GLEW_NV_vertex_program3 GLEW_GET_VAR(__GLEW_NV_vertex_program3)
-
-#endif /* GL_NV_vertex_program3 */
-
-/* ------------------------- GL_NV_vertex_program4 ------------------------- */
-
-#ifndef GL_NV_vertex_program4
-#define GL_NV_vertex_program4 1
-
-#define GLEW_NV_vertex_program4 GLEW_GET_VAR(__GLEW_NV_vertex_program4)
-
-#endif /* GL_NV_vertex_program4 */
-
-/* ------------------------ GL_OES_byte_coordinates ------------------------ */
-
-#ifndef GL_OES_byte_coordinates
-#define GL_OES_byte_coordinates 1
-
-#define GL_BYTE 0x1400
-
-#define GLEW_OES_byte_coordinates GLEW_GET_VAR(__GLEW_OES_byte_coordinates)
-
-#endif /* GL_OES_byte_coordinates */
-
-/* ------------------- GL_OES_compressed_paletted_texture ------------------ */
-
-#ifndef GL_OES_compressed_paletted_texture
-#define GL_OES_compressed_paletted_texture 1
-
-#define GL_PALETTE4_RGB8_OES 0x8B90
-#define GL_PALETTE4_RGBA8_OES 0x8B91
-#define GL_PALETTE4_R5_G6_B5_OES 0x8B92
-#define GL_PALETTE4_RGBA4_OES 0x8B93
-#define GL_PALETTE4_RGB5_A1_OES 0x8B94
-#define GL_PALETTE8_RGB8_OES 0x8B95
-#define GL_PALETTE8_RGBA8_OES 0x8B96
-#define GL_PALETTE8_R5_G6_B5_OES 0x8B97
-#define GL_PALETTE8_RGBA4_OES 0x8B98
-#define GL_PALETTE8_RGB5_A1_OES 0x8B99
-
-#define GLEW_OES_compressed_paletted_texture GLEW_GET_VAR(__GLEW_OES_compressed_paletted_texture)
-
-#endif /* GL_OES_compressed_paletted_texture */
-
-/* --------------------------- GL_OES_read_format -------------------------- */
-
-#ifndef GL_OES_read_format
-#define GL_OES_read_format 1
-
-#define GL_IMPLEMENTATION_COLOR_READ_TYPE_OES 0x8B9A
-#define GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES 0x8B9B
-
-#define GLEW_OES_read_format GLEW_GET_VAR(__GLEW_OES_read_format)
-
-#endif /* GL_OES_read_format */
-
-/* ------------------------ GL_OES_single_precision ------------------------ */
-
-#ifndef GL_OES_single_precision
-#define GL_OES_single_precision 1
-
-typedef void (GLAPIENTRY * PFNGLCLEARDEPTHFOESPROC) (GLclampd depth);
-typedef void (GLAPIENTRY * PFNGLCLIPPLANEFOESPROC) (GLenum plane, const GLfloat* equation);
-typedef void (GLAPIENTRY * PFNGLDEPTHRANGEFOESPROC) (GLclampf n, GLclampf f);
-typedef void (GLAPIENTRY * PFNGLFRUSTUMFOESPROC) (GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f);
-typedef void (GLAPIENTRY * PFNGLGETCLIPPLANEFOESPROC) (GLenum plane, GLfloat* equation);
-typedef void (GLAPIENTRY * PFNGLORTHOFOESPROC) (GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f);
-
-#define glClearDepthfOES GLEW_GET_FUN(__glewClearDepthfOES)
-#define glClipPlanefOES GLEW_GET_FUN(__glewClipPlanefOES)
-#define glDepthRangefOES GLEW_GET_FUN(__glewDepthRangefOES)
-#define glFrustumfOES GLEW_GET_FUN(__glewFrustumfOES)
-#define glGetClipPlanefOES GLEW_GET_FUN(__glewGetClipPlanefOES)
-#define glOrthofOES GLEW_GET_FUN(__glewOrthofOES)
-
-#define GLEW_OES_single_precision GLEW_GET_VAR(__GLEW_OES_single_precision)
-
-#endif /* GL_OES_single_precision */
-
-/* ---------------------------- GL_OML_interlace --------------------------- */
-
-#ifndef GL_OML_interlace
-#define GL_OML_interlace 1
-
-#define GL_INTERLACE_OML 0x8980
-#define GL_INTERLACE_READ_OML 0x8981
-
-#define GLEW_OML_interlace GLEW_GET_VAR(__GLEW_OML_interlace)
-
-#endif /* GL_OML_interlace */
-
-/* ---------------------------- GL_OML_resample ---------------------------- */
-
-#ifndef GL_OML_resample
-#define GL_OML_resample 1
-
-#define GL_PACK_RESAMPLE_OML 0x8984
-#define GL_UNPACK_RESAMPLE_OML 0x8985
-#define GL_RESAMPLE_REPLICATE_OML 0x8986
-#define GL_RESAMPLE_ZERO_FILL_OML 0x8987
-#define GL_RESAMPLE_AVERAGE_OML 0x8988
-#define GL_RESAMPLE_DECIMATE_OML 0x8989
-
-#define GLEW_OML_resample GLEW_GET_VAR(__GLEW_OML_resample)
-
-#endif /* GL_OML_resample */
-
-/* ---------------------------- GL_OML_subsample --------------------------- */
-
-#ifndef GL_OML_subsample
-#define GL_OML_subsample 1
-
-#define GL_FORMAT_SUBSAMPLE_24_24_OML 0x8982
-#define GL_FORMAT_SUBSAMPLE_244_244_OML 0x8983
-
-#define GLEW_OML_subsample GLEW_GET_VAR(__GLEW_OML_subsample)
-
-#endif /* GL_OML_subsample */
-
-/* --------------------------- GL_PGI_misc_hints --------------------------- */
-
-#ifndef GL_PGI_misc_hints
-#define GL_PGI_misc_hints 1
-
-#define GL_PREFER_DOUBLEBUFFER_HINT_PGI 107000
-#define GL_CONSERVE_MEMORY_HINT_PGI 107005
-#define GL_RECLAIM_MEMORY_HINT_PGI 107006
-#define GL_NATIVE_GRAPHICS_HANDLE_PGI 107010
-#define GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI 107011
-#define GL_NATIVE_GRAPHICS_END_HINT_PGI 107012
-#define GL_ALWAYS_FAST_HINT_PGI 107020
-#define GL_ALWAYS_SOFT_HINT_PGI 107021
-#define GL_ALLOW_DRAW_OBJ_HINT_PGI 107022
-#define GL_ALLOW_DRAW_WIN_HINT_PGI 107023
-#define GL_ALLOW_DRAW_FRG_HINT_PGI 107024
-#define GL_ALLOW_DRAW_MEM_HINT_PGI 107025
-#define GL_STRICT_DEPTHFUNC_HINT_PGI 107030
-#define GL_STRICT_LIGHTING_HINT_PGI 107031
-#define GL_STRICT_SCISSOR_HINT_PGI 107032
-#define GL_FULL_STIPPLE_HINT_PGI 107033
-#define GL_CLIP_NEAR_HINT_PGI 107040
-#define GL_CLIP_FAR_HINT_PGI 107041
-#define GL_WIDE_LINE_HINT_PGI 107042
-#define GL_BACK_NORMALS_HINT_PGI 107043
-
-#define GLEW_PGI_misc_hints GLEW_GET_VAR(__GLEW_PGI_misc_hints)
-
-#endif /* GL_PGI_misc_hints */
-
-/* -------------------------- GL_PGI_vertex_hints -------------------------- */
-
-#ifndef GL_PGI_vertex_hints
-#define GL_PGI_vertex_hints 1
-
-#define GL_VERTEX23_BIT_PGI 0x00000004
-#define GL_VERTEX4_BIT_PGI 0x00000008
-#define GL_COLOR3_BIT_PGI 0x00010000
-#define GL_COLOR4_BIT_PGI 0x00020000
-#define GL_EDGEFLAG_BIT_PGI 0x00040000
-#define GL_INDEX_BIT_PGI 0x00080000
-#define GL_MAT_AMBIENT_BIT_PGI 0x00100000
-#define GL_VERTEX_DATA_HINT_PGI 107050
-#define GL_VERTEX_CONSISTENT_HINT_PGI 107051
-#define GL_MATERIAL_SIDE_HINT_PGI 107052
-#define GL_MAX_VERTEX_HINT_PGI 107053
-#define GL_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI 0x00200000
-#define GL_MAT_DIFFUSE_BIT_PGI 0x00400000
-#define GL_MAT_EMISSION_BIT_PGI 0x00800000
-#define GL_MAT_COLOR_INDEXES_BIT_PGI 0x01000000
-#define GL_MAT_SHININESS_BIT_PGI 0x02000000
-#define GL_MAT_SPECULAR_BIT_PGI 0x04000000
-#define GL_NORMAL_BIT_PGI 0x08000000
-#define GL_TEXCOORD1_BIT_PGI 0x10000000
-#define GL_TEXCOORD2_BIT_PGI 0x20000000
-#define GL_TEXCOORD3_BIT_PGI 0x40000000
-#define GL_TEXCOORD4_BIT_PGI 0x80000000
-
-#define GLEW_PGI_vertex_hints GLEW_GET_VAR(__GLEW_PGI_vertex_hints)
-
-#endif /* GL_PGI_vertex_hints */
-
-/* ----------------------- GL_REND_screen_coordinates ---------------------- */
-
-#ifndef GL_REND_screen_coordinates
-#define GL_REND_screen_coordinates 1
-
-#define GL_SCREEN_COORDINATES_REND 0x8490
-#define GL_INVERTED_SCREEN_W_REND 0x8491
-
-#define GLEW_REND_screen_coordinates GLEW_GET_VAR(__GLEW_REND_screen_coordinates)
-
-#endif /* GL_REND_screen_coordinates */
-
-/* ------------------------------- GL_S3_s3tc ------------------------------ */
-
-#ifndef GL_S3_s3tc
-#define GL_S3_s3tc 1
-
-#define GL_RGB_S3TC 0x83A0
-#define GL_RGB4_S3TC 0x83A1
-#define GL_RGBA_S3TC 0x83A2
-#define GL_RGBA4_S3TC 0x83A3
-#define GL_RGBA_DXT5_S3TC 0x83A4
-#define GL_RGBA4_DXT5_S3TC 0x83A5
-
-#define GLEW_S3_s3tc GLEW_GET_VAR(__GLEW_S3_s3tc)
-
-#endif /* GL_S3_s3tc */
-
-/* -------------------------- GL_SGIS_color_range -------------------------- */
-
-#ifndef GL_SGIS_color_range
-#define GL_SGIS_color_range 1
-
-#define GL_EXTENDED_RANGE_SGIS 0x85A5
-#define GL_MIN_RED_SGIS 0x85A6
-#define GL_MAX_RED_SGIS 0x85A7
-#define GL_MIN_GREEN_SGIS 0x85A8
-#define GL_MAX_GREEN_SGIS 0x85A9
-#define GL_MIN_BLUE_SGIS 0x85AA
-#define GL_MAX_BLUE_SGIS 0x85AB
-#define GL_MIN_ALPHA_SGIS 0x85AC
-#define GL_MAX_ALPHA_SGIS 0x85AD
-
-#define GLEW_SGIS_color_range GLEW_GET_VAR(__GLEW_SGIS_color_range)
-
-#endif /* GL_SGIS_color_range */
-
-/* ------------------------- GL_SGIS_detail_texture ------------------------ */
-
-#ifndef GL_SGIS_detail_texture
-#define GL_SGIS_detail_texture 1
-
-typedef void (GLAPIENTRY * PFNGLDETAILTEXFUNCSGISPROC) (GLenum target, GLsizei n, const GLfloat* points);
-typedef void (GLAPIENTRY * PFNGLGETDETAILTEXFUNCSGISPROC) (GLenum target, GLfloat* points);
-
-#define glDetailTexFuncSGIS GLEW_GET_FUN(__glewDetailTexFuncSGIS)
-#define glGetDetailTexFuncSGIS GLEW_GET_FUN(__glewGetDetailTexFuncSGIS)
-
-#define GLEW_SGIS_detail_texture GLEW_GET_VAR(__GLEW_SGIS_detail_texture)
-
-#endif /* GL_SGIS_detail_texture */
-
-/* -------------------------- GL_SGIS_fog_function ------------------------- */
-
-#ifndef GL_SGIS_fog_function
-#define GL_SGIS_fog_function 1
-
-typedef void (GLAPIENTRY * PFNGLFOGFUNCSGISPROC) (GLsizei n, const GLfloat* points);
-typedef void (GLAPIENTRY * PFNGLGETFOGFUNCSGISPROC) (GLfloat* points);
-
-#define glFogFuncSGIS GLEW_GET_FUN(__glewFogFuncSGIS)
-#define glGetFogFuncSGIS GLEW_GET_FUN(__glewGetFogFuncSGIS)
-
-#define GLEW_SGIS_fog_function GLEW_GET_VAR(__GLEW_SGIS_fog_function)
-
-#endif /* GL_SGIS_fog_function */
-
-/* ------------------------ GL_SGIS_generate_mipmap ------------------------ */
-
-#ifndef GL_SGIS_generate_mipmap
-#define GL_SGIS_generate_mipmap 1
-
-#define GL_GENERATE_MIPMAP_SGIS 0x8191
-#define GL_GENERATE_MIPMAP_HINT_SGIS 0x8192
-
-#define GLEW_SGIS_generate_mipmap GLEW_GET_VAR(__GLEW_SGIS_generate_mipmap)
-
-#endif /* GL_SGIS_generate_mipmap */
-
-/* -------------------------- GL_SGIS_multisample -------------------------- */
-
-#ifndef GL_SGIS_multisample
-#define GL_SGIS_multisample 1
-
-#define GL_MULTISAMPLE_SGIS 0x809D
-#define GL_SAMPLE_ALPHA_TO_MASK_SGIS 0x809E
-#define GL_SAMPLE_ALPHA_TO_ONE_SGIS 0x809F
-#define GL_SAMPLE_MASK_SGIS 0x80A0
-#define GL_1PASS_SGIS 0x80A1
-#define GL_2PASS_0_SGIS 0x80A2
-#define GL_2PASS_1_SGIS 0x80A3
-#define GL_4PASS_0_SGIS 0x80A4
-#define GL_4PASS_1_SGIS 0x80A5
-#define GL_4PASS_2_SGIS 0x80A6
-#define GL_4PASS_3_SGIS 0x80A7
-#define GL_SAMPLE_BUFFERS_SGIS 0x80A8
-#define GL_SAMPLES_SGIS 0x80A9
-#define GL_SAMPLE_MASK_VALUE_SGIS 0x80AA
-#define GL_SAMPLE_MASK_INVERT_SGIS 0x80AB
-#define GL_SAMPLE_PATTERN_SGIS 0x80AC
-#define GL_MULTISAMPLE_BIT_EXT 0x20000000
-
-typedef void (GLAPIENTRY * PFNGLSAMPLEMASKSGISPROC) (GLclampf value, GLboolean invert);
-typedef void (GLAPIENTRY * PFNGLSAMPLEPATTERNSGISPROC) (GLenum pattern);
-
-#define glSampleMaskSGIS GLEW_GET_FUN(__glewSampleMaskSGIS)
-#define glSamplePatternSGIS GLEW_GET_FUN(__glewSamplePatternSGIS)
-
-#define GLEW_SGIS_multisample GLEW_GET_VAR(__GLEW_SGIS_multisample)
-
-#endif /* GL_SGIS_multisample */
-
-/* ------------------------- GL_SGIS_pixel_texture ------------------------- */
-
-#ifndef GL_SGIS_pixel_texture
-#define GL_SGIS_pixel_texture 1
-
-#define GLEW_SGIS_pixel_texture GLEW_GET_VAR(__GLEW_SGIS_pixel_texture)
-
-#endif /* GL_SGIS_pixel_texture */
-
-/* ----------------------- GL_SGIS_point_line_texgen ----------------------- */
-
-#ifndef GL_SGIS_point_line_texgen
-#define GL_SGIS_point_line_texgen 1
-
-#define GL_EYE_DISTANCE_TO_POINT_SGIS 0x81F0
-#define GL_OBJECT_DISTANCE_TO_POINT_SGIS 0x81F1
-#define GL_EYE_DISTANCE_TO_LINE_SGIS 0x81F2
-#define GL_OBJECT_DISTANCE_TO_LINE_SGIS 0x81F3
-#define GL_EYE_POINT_SGIS 0x81F4
-#define GL_OBJECT_POINT_SGIS 0x81F5
-#define GL_EYE_LINE_SGIS 0x81F6
-#define GL_OBJECT_LINE_SGIS 0x81F7
-
-#define GLEW_SGIS_point_line_texgen GLEW_GET_VAR(__GLEW_SGIS_point_line_texgen)
-
-#endif /* GL_SGIS_point_line_texgen */
-
-/* ------------------------ GL_SGIS_sharpen_texture ------------------------ */
-
-#ifndef GL_SGIS_sharpen_texture
-#define GL_SGIS_sharpen_texture 1
-
-typedef void (GLAPIENTRY * PFNGLGETSHARPENTEXFUNCSGISPROC) (GLenum target, GLfloat* points);
-typedef void (GLAPIENTRY * PFNGLSHARPENTEXFUNCSGISPROC) (GLenum target, GLsizei n, const GLfloat* points);
-
-#define glGetSharpenTexFuncSGIS GLEW_GET_FUN(__glewGetSharpenTexFuncSGIS)
-#define glSharpenTexFuncSGIS GLEW_GET_FUN(__glewSharpenTexFuncSGIS)
-
-#define GLEW_SGIS_sharpen_texture GLEW_GET_VAR(__GLEW_SGIS_sharpen_texture)
-
-#endif /* GL_SGIS_sharpen_texture */
-
-/* --------------------------- GL_SGIS_texture4D --------------------------- */
-
-#ifndef GL_SGIS_texture4D
-#define GL_SGIS_texture4D 1
-
-typedef void (GLAPIENTRY * PFNGLTEXIMAGE4DSGISPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLsizei extent, GLint border, GLenum format, GLenum type, const void* pixels);
-typedef void (GLAPIENTRY * PFNGLTEXSUBIMAGE4DSGISPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint woffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei extent, GLenum format, GLenum type, const void* pixels);
-
-#define glTexImage4DSGIS GLEW_GET_FUN(__glewTexImage4DSGIS)
-#define glTexSubImage4DSGIS GLEW_GET_FUN(__glewTexSubImage4DSGIS)
-
-#define GLEW_SGIS_texture4D GLEW_GET_VAR(__GLEW_SGIS_texture4D)
-
-#endif /* GL_SGIS_texture4D */
-
-/* ---------------------- GL_SGIS_texture_border_clamp --------------------- */
-
-#ifndef GL_SGIS_texture_border_clamp
-#define GL_SGIS_texture_border_clamp 1
-
-#define GL_CLAMP_TO_BORDER_SGIS 0x812D
-
-#define GLEW_SGIS_texture_border_clamp GLEW_GET_VAR(__GLEW_SGIS_texture_border_clamp)
-
-#endif /* GL_SGIS_texture_border_clamp */
-
-/* ----------------------- GL_SGIS_texture_edge_clamp ---------------------- */
-
-#ifndef GL_SGIS_texture_edge_clamp
-#define GL_SGIS_texture_edge_clamp 1
-
-#define GL_CLAMP_TO_EDGE_SGIS 0x812F
-
-#define GLEW_SGIS_texture_edge_clamp GLEW_GET_VAR(__GLEW_SGIS_texture_edge_clamp)
-
-#endif /* GL_SGIS_texture_edge_clamp */
-
-/* ------------------------ GL_SGIS_texture_filter4 ------------------------ */
-
-#ifndef GL_SGIS_texture_filter4
-#define GL_SGIS_texture_filter4 1
-
-typedef void (GLAPIENTRY * PFNGLGETTEXFILTERFUNCSGISPROC) (GLenum target, GLenum filter, GLfloat* weights);
-typedef void (GLAPIENTRY * PFNGLTEXFILTERFUNCSGISPROC) (GLenum target, GLenum filter, GLsizei n, const GLfloat* weights);
-
-#define glGetTexFilterFuncSGIS GLEW_GET_FUN(__glewGetTexFilterFuncSGIS)
-#define glTexFilterFuncSGIS GLEW_GET_FUN(__glewTexFilterFuncSGIS)
-
-#define GLEW_SGIS_texture_filter4 GLEW_GET_VAR(__GLEW_SGIS_texture_filter4)
-
-#endif /* GL_SGIS_texture_filter4 */
-
-/* -------------------------- GL_SGIS_texture_lod -------------------------- */
-
-#ifndef GL_SGIS_texture_lod
-#define GL_SGIS_texture_lod 1
-
-#define GL_TEXTURE_MIN_LOD_SGIS 0x813A
-#define GL_TEXTURE_MAX_LOD_SGIS 0x813B
-#define GL_TEXTURE_BASE_LEVEL_SGIS 0x813C
-#define GL_TEXTURE_MAX_LEVEL_SGIS 0x813D
-
-#define GLEW_SGIS_texture_lod GLEW_GET_VAR(__GLEW_SGIS_texture_lod)
-
-#endif /* GL_SGIS_texture_lod */
-
-/* ------------------------- GL_SGIS_texture_select ------------------------ */
-
-#ifndef GL_SGIS_texture_select
-#define GL_SGIS_texture_select 1
-
-#define GLEW_SGIS_texture_select GLEW_GET_VAR(__GLEW_SGIS_texture_select)
-
-#endif /* GL_SGIS_texture_select */
-
-/* ----------------------------- GL_SGIX_async ----------------------------- */
-
-#ifndef GL_SGIX_async
-#define GL_SGIX_async 1
-
-#define GL_ASYNC_MARKER_SGIX 0x8329
-
-typedef void (GLAPIENTRY * PFNGLASYNCMARKERSGIXPROC) (GLuint marker);
-typedef void (GLAPIENTRY * PFNGLDELETEASYNCMARKERSSGIXPROC) (GLuint marker, GLsizei range);
-typedef GLint (GLAPIENTRY * PFNGLFINISHASYNCSGIXPROC) (GLuint* markerp);
-typedef GLuint (GLAPIENTRY * PFNGLGENASYNCMARKERSSGIXPROC) (GLsizei range);
-typedef GLboolean (GLAPIENTRY * PFNGLISASYNCMARKERSGIXPROC) (GLuint marker);
-typedef GLint (GLAPIENTRY * PFNGLPOLLASYNCSGIXPROC) (GLuint* markerp);
-
-#define glAsyncMarkerSGIX GLEW_GET_FUN(__glewAsyncMarkerSGIX)
-#define glDeleteAsyncMarkersSGIX GLEW_GET_FUN(__glewDeleteAsyncMarkersSGIX)
-#define glFinishAsyncSGIX GLEW_GET_FUN(__glewFinishAsyncSGIX)
-#define glGenAsyncMarkersSGIX GLEW_GET_FUN(__glewGenAsyncMarkersSGIX)
-#define glIsAsyncMarkerSGIX GLEW_GET_FUN(__glewIsAsyncMarkerSGIX)
-#define glPollAsyncSGIX GLEW_GET_FUN(__glewPollAsyncSGIX)
-
-#define GLEW_SGIX_async GLEW_GET_VAR(__GLEW_SGIX_async)
-
-#endif /* GL_SGIX_async */
-
-/* ------------------------ GL_SGIX_async_histogram ------------------------ */
-
-#ifndef GL_SGIX_async_histogram
-#define GL_SGIX_async_histogram 1
-
-#define GL_ASYNC_HISTOGRAM_SGIX 0x832C
-#define GL_MAX_ASYNC_HISTOGRAM_SGIX 0x832D
-
-#define GLEW_SGIX_async_histogram GLEW_GET_VAR(__GLEW_SGIX_async_histogram)
-
-#endif /* GL_SGIX_async_histogram */
-
-/* -------------------------- GL_SGIX_async_pixel -------------------------- */
-
-#ifndef GL_SGIX_async_pixel
-#define GL_SGIX_async_pixel 1
-
-#define GL_ASYNC_TEX_IMAGE_SGIX 0x835C
-#define GL_ASYNC_DRAW_PIXELS_SGIX 0x835D
-#define GL_ASYNC_READ_PIXELS_SGIX 0x835E
-#define GL_MAX_ASYNC_TEX_IMAGE_SGIX 0x835F
-#define GL_MAX_ASYNC_DRAW_PIXELS_SGIX 0x8360
-#define GL_MAX_ASYNC_READ_PIXELS_SGIX 0x8361
-
-#define GLEW_SGIX_async_pixel GLEW_GET_VAR(__GLEW_SGIX_async_pixel)
-
-#endif /* GL_SGIX_async_pixel */
-
-/* ----------------------- GL_SGIX_blend_alpha_minmax ---------------------- */
-
-#ifndef GL_SGIX_blend_alpha_minmax
-#define GL_SGIX_blend_alpha_minmax 1
-
-#define GL_ALPHA_MIN_SGIX 0x8320
-#define GL_ALPHA_MAX_SGIX 0x8321
-
-#define GLEW_SGIX_blend_alpha_minmax GLEW_GET_VAR(__GLEW_SGIX_blend_alpha_minmax)
-
-#endif /* GL_SGIX_blend_alpha_minmax */
-
-/* ---------------------------- GL_SGIX_clipmap ---------------------------- */
-
-#ifndef GL_SGIX_clipmap
-#define GL_SGIX_clipmap 1
-
-#define GLEW_SGIX_clipmap GLEW_GET_VAR(__GLEW_SGIX_clipmap)
-
-#endif /* GL_SGIX_clipmap */
-
-/* ---------------------- GL_SGIX_convolution_accuracy --------------------- */
-
-#ifndef GL_SGIX_convolution_accuracy
-#define GL_SGIX_convolution_accuracy 1
-
-#define GL_CONVOLUTION_HINT_SGIX 0x8316
-
-#define GLEW_SGIX_convolution_accuracy GLEW_GET_VAR(__GLEW_SGIX_convolution_accuracy)
-
-#endif /* GL_SGIX_convolution_accuracy */
-
-/* ------------------------- GL_SGIX_depth_texture ------------------------- */
-
-#ifndef GL_SGIX_depth_texture
-#define GL_SGIX_depth_texture 1
-
-#define GL_DEPTH_COMPONENT16_SGIX 0x81A5
-#define GL_DEPTH_COMPONENT24_SGIX 0x81A6
-#define GL_DEPTH_COMPONENT32_SGIX 0x81A7
-
-#define GLEW_SGIX_depth_texture GLEW_GET_VAR(__GLEW_SGIX_depth_texture)
-
-#endif /* GL_SGIX_depth_texture */
-
-/* -------------------------- GL_SGIX_flush_raster ------------------------- */
-
-#ifndef GL_SGIX_flush_raster
-#define GL_SGIX_flush_raster 1
-
-typedef void (GLAPIENTRY * PFNGLFLUSHRASTERSGIXPROC) (void);
-
-#define glFlushRasterSGIX GLEW_GET_FUN(__glewFlushRasterSGIX)
-
-#define GLEW_SGIX_flush_raster GLEW_GET_VAR(__GLEW_SGIX_flush_raster)
-
-#endif /* GL_SGIX_flush_raster */
-
-/* --------------------------- GL_SGIX_fog_offset -------------------------- */
-
-#ifndef GL_SGIX_fog_offset
-#define GL_SGIX_fog_offset 1
-
-#define GL_FOG_OFFSET_SGIX 0x8198
-#define GL_FOG_OFFSET_VALUE_SGIX 0x8199
-
-#define GLEW_SGIX_fog_offset GLEW_GET_VAR(__GLEW_SGIX_fog_offset)
-
-#endif /* GL_SGIX_fog_offset */
-
-/* -------------------------- GL_SGIX_fog_texture -------------------------- */
-
-#ifndef GL_SGIX_fog_texture
-#define GL_SGIX_fog_texture 1
-
-#define GL_TEXTURE_FOG_SGIX 0
-#define GL_FOG_PATCHY_FACTOR_SGIX 0
-#define GL_FRAGMENT_FOG_SGIX 0
-
-typedef void (GLAPIENTRY * PFNGLTEXTUREFOGSGIXPROC) (GLenum pname);
-
-#define glTextureFogSGIX GLEW_GET_FUN(__glewTextureFogSGIX)
-
-#define GLEW_SGIX_fog_texture GLEW_GET_VAR(__GLEW_SGIX_fog_texture)
-
-#endif /* GL_SGIX_fog_texture */
-
-/* ------------------- GL_SGIX_fragment_specular_lighting ------------------ */
-
-#ifndef GL_SGIX_fragment_specular_lighting
-#define GL_SGIX_fragment_specular_lighting 1
-
-typedef void (GLAPIENTRY * PFNGLFRAGMENTCOLORMATERIALSGIXPROC) (GLenum face, GLenum mode);
-typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTMODELFSGIXPROC) (GLenum pname, GLfloat param);
-typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTMODELFVSGIXPROC) (GLenum pname, GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTMODELISGIXPROC) (GLenum pname, GLint param);
-typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTMODELIVSGIXPROC) (GLenum pname, GLint* params);
-typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTFSGIXPROC) (GLenum light, GLenum pname, GLfloat param);
-typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTFVSGIXPROC) (GLenum light, GLenum pname, GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTISGIXPROC) (GLenum light, GLenum pname, GLint param);
-typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTIVSGIXPROC) (GLenum light, GLenum pname, GLint* params);
-typedef void (GLAPIENTRY * PFNGLFRAGMENTMATERIALFSGIXPROC) (GLenum face, GLenum pname, const GLfloat param);
-typedef void (GLAPIENTRY * PFNGLFRAGMENTMATERIALFVSGIXPROC) (GLenum face, GLenum pname, const GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLFRAGMENTMATERIALISGIXPROC) (GLenum face, GLenum pname, const GLint param);
-typedef void (GLAPIENTRY * PFNGLFRAGMENTMATERIALIVSGIXPROC) (GLenum face, GLenum pname, const GLint* params);
-typedef void (GLAPIENTRY * PFNGLGETFRAGMENTLIGHTFVSGIXPROC) (GLenum light, GLenum value, GLfloat* data);
-typedef void (GLAPIENTRY * PFNGLGETFRAGMENTLIGHTIVSGIXPROC) (GLenum light, GLenum value, GLint* data);
-typedef void (GLAPIENTRY * PFNGLGETFRAGMENTMATERIALFVSGIXPROC) (GLenum face, GLenum pname, const GLfloat* data);
-typedef void (GLAPIENTRY * PFNGLGETFRAGMENTMATERIALIVSGIXPROC) (GLenum face, GLenum pname, const GLint* data);
-
-#define glFragmentColorMaterialSGIX GLEW_GET_FUN(__glewFragmentColorMaterialSGIX)
-#define glFragmentLightModelfSGIX GLEW_GET_FUN(__glewFragmentLightModelfSGIX)
-#define glFragmentLightModelfvSGIX GLEW_GET_FUN(__glewFragmentLightModelfvSGIX)
-#define glFragmentLightModeliSGIX GLEW_GET_FUN(__glewFragmentLightModeliSGIX)
-#define glFragmentLightModelivSGIX GLEW_GET_FUN(__glewFragmentLightModelivSGIX)
-#define glFragmentLightfSGIX GLEW_GET_FUN(__glewFragmentLightfSGIX)
-#define glFragmentLightfvSGIX GLEW_GET_FUN(__glewFragmentLightfvSGIX)
-#define glFragmentLightiSGIX GLEW_GET_FUN(__glewFragmentLightiSGIX)
-#define glFragmentLightivSGIX GLEW_GET_FUN(__glewFragmentLightivSGIX)
-#define glFragmentMaterialfSGIX GLEW_GET_FUN(__glewFragmentMaterialfSGIX)
-#define glFragmentMaterialfvSGIX GLEW_GET_FUN(__glewFragmentMaterialfvSGIX)
-#define glFragmentMaterialiSGIX GLEW_GET_FUN(__glewFragmentMaterialiSGIX)
-#define glFragmentMaterialivSGIX GLEW_GET_FUN(__glewFragmentMaterialivSGIX)
-#define glGetFragmentLightfvSGIX GLEW_GET_FUN(__glewGetFragmentLightfvSGIX)
-#define glGetFragmentLightivSGIX GLEW_GET_FUN(__glewGetFragmentLightivSGIX)
-#define glGetFragmentMaterialfvSGIX GLEW_GET_FUN(__glewGetFragmentMaterialfvSGIX)
-#define glGetFragmentMaterialivSGIX GLEW_GET_FUN(__glewGetFragmentMaterialivSGIX)
-
-#define GLEW_SGIX_fragment_specular_lighting GLEW_GET_VAR(__GLEW_SGIX_fragment_specular_lighting)
-
-#endif /* GL_SGIX_fragment_specular_lighting */
-
-/* --------------------------- GL_SGIX_framezoom --------------------------- */
-
-#ifndef GL_SGIX_framezoom
-#define GL_SGIX_framezoom 1
-
-typedef void (GLAPIENTRY * PFNGLFRAMEZOOMSGIXPROC) (GLint factor);
-
-#define glFrameZoomSGIX GLEW_GET_FUN(__glewFrameZoomSGIX)
-
-#define GLEW_SGIX_framezoom GLEW_GET_VAR(__GLEW_SGIX_framezoom)
-
-#endif /* GL_SGIX_framezoom */
-
-/* --------------------------- GL_SGIX_interlace --------------------------- */
-
-#ifndef GL_SGIX_interlace
-#define GL_SGIX_interlace 1
-
-#define GL_INTERLACE_SGIX 0x8094
-
-#define GLEW_SGIX_interlace GLEW_GET_VAR(__GLEW_SGIX_interlace)
-
-#endif /* GL_SGIX_interlace */
-
-/* ------------------------- GL_SGIX_ir_instrument1 ------------------------ */
-
-#ifndef GL_SGIX_ir_instrument1
-#define GL_SGIX_ir_instrument1 1
-
-#define GLEW_SGIX_ir_instrument1 GLEW_GET_VAR(__GLEW_SGIX_ir_instrument1)
-
-#endif /* GL_SGIX_ir_instrument1 */
-
-/* ------------------------- GL_SGIX_list_priority ------------------------- */
-
-#ifndef GL_SGIX_list_priority
-#define GL_SGIX_list_priority 1
-
-#define GLEW_SGIX_list_priority GLEW_GET_VAR(__GLEW_SGIX_list_priority)
-
-#endif /* GL_SGIX_list_priority */
-
-/* ------------------------- GL_SGIX_pixel_texture ------------------------- */
-
-#ifndef GL_SGIX_pixel_texture
-#define GL_SGIX_pixel_texture 1
-
-typedef void (GLAPIENTRY * PFNGLPIXELTEXGENSGIXPROC) (GLenum mode);
-
-#define glPixelTexGenSGIX GLEW_GET_FUN(__glewPixelTexGenSGIX)
-
-#define GLEW_SGIX_pixel_texture GLEW_GET_VAR(__GLEW_SGIX_pixel_texture)
-
-#endif /* GL_SGIX_pixel_texture */
-
-/* ----------------------- GL_SGIX_pixel_texture_bits ---------------------- */
-
-#ifndef GL_SGIX_pixel_texture_bits
-#define GL_SGIX_pixel_texture_bits 1
-
-#define GLEW_SGIX_pixel_texture_bits GLEW_GET_VAR(__GLEW_SGIX_pixel_texture_bits)
-
-#endif /* GL_SGIX_pixel_texture_bits */
-
-/* ------------------------ GL_SGIX_reference_plane ------------------------ */
-
-#ifndef GL_SGIX_reference_plane
-#define GL_SGIX_reference_plane 1
-
-typedef void (GLAPIENTRY * PFNGLREFERENCEPLANESGIXPROC) (const GLdouble* equation);
-
-#define glReferencePlaneSGIX GLEW_GET_FUN(__glewReferencePlaneSGIX)
-
-#define GLEW_SGIX_reference_plane GLEW_GET_VAR(__GLEW_SGIX_reference_plane)
-
-#endif /* GL_SGIX_reference_plane */
-
-/* ---------------------------- GL_SGIX_resample --------------------------- */
-
-#ifndef GL_SGIX_resample
-#define GL_SGIX_resample 1
-
-#define GL_PACK_RESAMPLE_SGIX 0x842E
-#define GL_UNPACK_RESAMPLE_SGIX 0x842F
-#define GL_RESAMPLE_DECIMATE_SGIX 0x8430
-#define GL_RESAMPLE_REPLICATE_SGIX 0x8433
-#define GL_RESAMPLE_ZERO_FILL_SGIX 0x8434
-
-#define GLEW_SGIX_resample GLEW_GET_VAR(__GLEW_SGIX_resample)
-
-#endif /* GL_SGIX_resample */
-
-/* ----------------------------- GL_SGIX_shadow ---------------------------- */
-
-#ifndef GL_SGIX_shadow
-#define GL_SGIX_shadow 1
-
-#define GL_TEXTURE_COMPARE_SGIX 0x819A
-#define GL_TEXTURE_COMPARE_OPERATOR_SGIX 0x819B
-#define GL_TEXTURE_LEQUAL_R_SGIX 0x819C
-#define GL_TEXTURE_GEQUAL_R_SGIX 0x819D
-
-#define GLEW_SGIX_shadow GLEW_GET_VAR(__GLEW_SGIX_shadow)
-
-#endif /* GL_SGIX_shadow */
-
-/* ------------------------- GL_SGIX_shadow_ambient ------------------------ */
-
-#ifndef GL_SGIX_shadow_ambient
-#define GL_SGIX_shadow_ambient 1
-
-#define GL_SHADOW_AMBIENT_SGIX 0x80BF
-
-#define GLEW_SGIX_shadow_ambient GLEW_GET_VAR(__GLEW_SGIX_shadow_ambient)
-
-#endif /* GL_SGIX_shadow_ambient */
-
-/* ----------------------------- GL_SGIX_sprite ---------------------------- */
-
-#ifndef GL_SGIX_sprite
-#define GL_SGIX_sprite 1
-
-typedef void (GLAPIENTRY * PFNGLSPRITEPARAMETERFSGIXPROC) (GLenum pname, GLfloat param);
-typedef void (GLAPIENTRY * PFNGLSPRITEPARAMETERFVSGIXPROC) (GLenum pname, GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLSPRITEPARAMETERISGIXPROC) (GLenum pname, GLint param);
-typedef void (GLAPIENTRY * PFNGLSPRITEPARAMETERIVSGIXPROC) (GLenum pname, GLint* params);
-
-#define glSpriteParameterfSGIX GLEW_GET_FUN(__glewSpriteParameterfSGIX)
-#define glSpriteParameterfvSGIX GLEW_GET_FUN(__glewSpriteParameterfvSGIX)
-#define glSpriteParameteriSGIX GLEW_GET_FUN(__glewSpriteParameteriSGIX)
-#define glSpriteParameterivSGIX GLEW_GET_FUN(__glewSpriteParameterivSGIX)
-
-#define GLEW_SGIX_sprite GLEW_GET_VAR(__GLEW_SGIX_sprite)
-
-#endif /* GL_SGIX_sprite */
-
-/* ----------------------- GL_SGIX_tag_sample_buffer ----------------------- */
-
-#ifndef GL_SGIX_tag_sample_buffer
-#define GL_SGIX_tag_sample_buffer 1
-
-typedef void (GLAPIENTRY * PFNGLTAGSAMPLEBUFFERSGIXPROC) (void);
-
-#define glTagSampleBufferSGIX GLEW_GET_FUN(__glewTagSampleBufferSGIX)
-
-#define GLEW_SGIX_tag_sample_buffer GLEW_GET_VAR(__GLEW_SGIX_tag_sample_buffer)
-
-#endif /* GL_SGIX_tag_sample_buffer */
-
-/* ------------------------ GL_SGIX_texture_add_env ------------------------ */
-
-#ifndef GL_SGIX_texture_add_env
-#define GL_SGIX_texture_add_env 1
-
-#define GLEW_SGIX_texture_add_env GLEW_GET_VAR(__GLEW_SGIX_texture_add_env)
-
-#endif /* GL_SGIX_texture_add_env */
-
-/* -------------------- GL_SGIX_texture_coordinate_clamp ------------------- */
-
-#ifndef GL_SGIX_texture_coordinate_clamp
-#define GL_SGIX_texture_coordinate_clamp 1
-
-#define GL_TEXTURE_MAX_CLAMP_S_SGIX 0x8369
-#define GL_TEXTURE_MAX_CLAMP_T_SGIX 0x836A
-#define GL_TEXTURE_MAX_CLAMP_R_SGIX 0x836B
-
-#define GLEW_SGIX_texture_coordinate_clamp GLEW_GET_VAR(__GLEW_SGIX_texture_coordinate_clamp)
-
-#endif /* GL_SGIX_texture_coordinate_clamp */
-
-/* ------------------------ GL_SGIX_texture_lod_bias ----------------------- */
-
-#ifndef GL_SGIX_texture_lod_bias
-#define GL_SGIX_texture_lod_bias 1
-
-#define GLEW_SGIX_texture_lod_bias GLEW_GET_VAR(__GLEW_SGIX_texture_lod_bias)
-
-#endif /* GL_SGIX_texture_lod_bias */
-
-/* ---------------------- GL_SGIX_texture_multi_buffer --------------------- */
-
-#ifndef GL_SGIX_texture_multi_buffer
-#define GL_SGIX_texture_multi_buffer 1
-
-#define GL_TEXTURE_MULTI_BUFFER_HINT_SGIX 0x812E
-
-#define GLEW_SGIX_texture_multi_buffer GLEW_GET_VAR(__GLEW_SGIX_texture_multi_buffer)
-
-#endif /* GL_SGIX_texture_multi_buffer */
-
-/* ------------------------- GL_SGIX_texture_range ------------------------- */
-
-#ifndef GL_SGIX_texture_range
-#define GL_SGIX_texture_range 1
-
-#define GL_RGB_SIGNED_SGIX 0x85E0
-#define GL_RGBA_SIGNED_SGIX 0x85E1
-#define GL_ALPHA_SIGNED_SGIX 0x85E2
-#define GL_LUMINANCE_SIGNED_SGIX 0x85E3
-#define GL_INTENSITY_SIGNED_SGIX 0x85E4
-#define GL_LUMINANCE_ALPHA_SIGNED_SGIX 0x85E5
-#define GL_RGB16_SIGNED_SGIX 0x85E6
-#define GL_RGBA16_SIGNED_SGIX 0x85E7
-#define GL_ALPHA16_SIGNED_SGIX 0x85E8
-#define GL_LUMINANCE16_SIGNED_SGIX 0x85E9
-#define GL_INTENSITY16_SIGNED_SGIX 0x85EA
-#define GL_LUMINANCE16_ALPHA16_SIGNED_SGIX 0x85EB
-#define GL_RGB_EXTENDED_RANGE_SGIX 0x85EC
-#define GL_RGBA_EXTENDED_RANGE_SGIX 0x85ED
-#define GL_ALPHA_EXTENDED_RANGE_SGIX 0x85EE
-#define GL_LUMINANCE_EXTENDED_RANGE_SGIX 0x85EF
-#define GL_INTENSITY_EXTENDED_RANGE_SGIX 0x85F0
-#define GL_LUMINANCE_ALPHA_EXTENDED_RANGE_SGIX 0x85F1
-#define GL_RGB16_EXTENDED_RANGE_SGIX 0x85F2
-#define GL_RGBA16_EXTENDED_RANGE_SGIX 0x85F3
-#define GL_ALPHA16_EXTENDED_RANGE_SGIX 0x85F4
-#define GL_LUMINANCE16_EXTENDED_RANGE_SGIX 0x85F5
-#define GL_INTENSITY16_EXTENDED_RANGE_SGIX 0x85F6
-#define GL_LUMINANCE16_ALPHA16_EXTENDED_RANGE_SGIX 0x85F7
-#define GL_MIN_LUMINANCE_SGIS 0x85F8
-#define GL_MAX_LUMINANCE_SGIS 0x85F9
-#define GL_MIN_INTENSITY_SGIS 0x85FA
-#define GL_MAX_INTENSITY_SGIS 0x85FB
-
-#define GLEW_SGIX_texture_range GLEW_GET_VAR(__GLEW_SGIX_texture_range)
-
-#endif /* GL_SGIX_texture_range */
-
-/* ----------------------- GL_SGIX_texture_scale_bias ---------------------- */
-
-#ifndef GL_SGIX_texture_scale_bias
-#define GL_SGIX_texture_scale_bias 1
-
-#define GL_POST_TEXTURE_FILTER_BIAS_SGIX 0x8179
-#define GL_POST_TEXTURE_FILTER_SCALE_SGIX 0x817A
-#define GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX 0x817B
-#define GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX 0x817C
-
-#define GLEW_SGIX_texture_scale_bias GLEW_GET_VAR(__GLEW_SGIX_texture_scale_bias)
-
-#endif /* GL_SGIX_texture_scale_bias */
-
-/* ------------------------- GL_SGIX_vertex_preclip ------------------------ */
-
-#ifndef GL_SGIX_vertex_preclip
-#define GL_SGIX_vertex_preclip 1
-
-#define GL_VERTEX_PRECLIP_SGIX 0x83EE
-#define GL_VERTEX_PRECLIP_HINT_SGIX 0x83EF
-
-#define GLEW_SGIX_vertex_preclip GLEW_GET_VAR(__GLEW_SGIX_vertex_preclip)
-
-#endif /* GL_SGIX_vertex_preclip */
-
-/* ---------------------- GL_SGIX_vertex_preclip_hint ---------------------- */
-
-#ifndef GL_SGIX_vertex_preclip_hint
-#define GL_SGIX_vertex_preclip_hint 1
-
-#define GL_VERTEX_PRECLIP_SGIX 0x83EE
-#define GL_VERTEX_PRECLIP_HINT_SGIX 0x83EF
-
-#define GLEW_SGIX_vertex_preclip_hint GLEW_GET_VAR(__GLEW_SGIX_vertex_preclip_hint)
-
-#endif /* GL_SGIX_vertex_preclip_hint */
-
-/* ----------------------------- GL_SGIX_ycrcb ----------------------------- */
-
-#ifndef GL_SGIX_ycrcb
-#define GL_SGIX_ycrcb 1
-
-#define GLEW_SGIX_ycrcb GLEW_GET_VAR(__GLEW_SGIX_ycrcb)
-
-#endif /* GL_SGIX_ycrcb */
-
-/* -------------------------- GL_SGI_color_matrix -------------------------- */
-
-#ifndef GL_SGI_color_matrix
-#define GL_SGI_color_matrix 1
-
-#define GL_COLOR_MATRIX_SGI 0x80B1
-#define GL_COLOR_MATRIX_STACK_DEPTH_SGI 0x80B2
-#define GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI 0x80B3
-#define GL_POST_COLOR_MATRIX_RED_SCALE_SGI 0x80B4
-#define GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI 0x80B5
-#define GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI 0x80B6
-#define GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI 0x80B7
-#define GL_POST_COLOR_MATRIX_RED_BIAS_SGI 0x80B8
-#define GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI 0x80B9
-#define GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI 0x80BA
-#define GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI 0x80BB
-
-#define GLEW_SGI_color_matrix GLEW_GET_VAR(__GLEW_SGI_color_matrix)
-
-#endif /* GL_SGI_color_matrix */
-
-/* --------------------------- GL_SGI_color_table -------------------------- */
-
-#ifndef GL_SGI_color_table
-#define GL_SGI_color_table 1
-
-#define GL_COLOR_TABLE_SGI 0x80D0
-#define GL_POST_CONVOLUTION_COLOR_TABLE_SGI 0x80D1
-#define GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI 0x80D2
-#define GL_PROXY_COLOR_TABLE_SGI 0x80D3
-#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI 0x80D4
-#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI 0x80D5
-#define GL_COLOR_TABLE_SCALE_SGI 0x80D6
-#define GL_COLOR_TABLE_BIAS_SGI 0x80D7
-#define GL_COLOR_TABLE_FORMAT_SGI 0x80D8
-#define GL_COLOR_TABLE_WIDTH_SGI 0x80D9
-#define GL_COLOR_TABLE_RED_SIZE_SGI 0x80DA
-#define GL_COLOR_TABLE_GREEN_SIZE_SGI 0x80DB
-#define GL_COLOR_TABLE_BLUE_SIZE_SGI 0x80DC
-#define GL_COLOR_TABLE_ALPHA_SIZE_SGI 0x80DD
-#define GL_COLOR_TABLE_LUMINANCE_SIZE_SGI 0x80DE
-#define GL_COLOR_TABLE_INTENSITY_SIZE_SGI 0x80DF
-
-typedef void (GLAPIENTRY * PFNGLCOLORTABLEPARAMETERFVSGIPROC) (GLenum target, GLenum pname, const GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLCOLORTABLEPARAMETERIVSGIPROC) (GLenum target, GLenum pname, const GLint* params);
-typedef void (GLAPIENTRY * PFNGLCOLORTABLESGIPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void* table);
-typedef void (GLAPIENTRY * PFNGLCOPYCOLORTABLESGIPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
-typedef void (GLAPIENTRY * PFNGLGETCOLORTABLEPARAMETERFVSGIPROC) (GLenum target, GLenum pname, GLfloat* params);
-typedef void (GLAPIENTRY * PFNGLGETCOLORTABLEPARAMETERIVSGIPROC) (GLenum target, GLenum pname, GLint* params);
-typedef void (GLAPIENTRY * PFNGLGETCOLORTABLESGIPROC) (GLenum target, GLenum format, GLenum type, void* table);
-
-#define glColorTableParameterfvSGI GLEW_GET_FUN(__glewColorTableParameterfvSGI)
-#define glColorTableParameterivSGI GLEW_GET_FUN(__glewColorTableParameterivSGI)
-#define glColorTableSGI GLEW_GET_FUN(__glewColorTableSGI)
-#define glCopyColorTableSGI GLEW_GET_FUN(__glewCopyColorTableSGI)
-#define glGetColorTableParameterfvSGI GLEW_GET_FUN(__glewGetColorTableParameterfvSGI)
-#define glGetColorTableParameterivSGI GLEW_GET_FUN(__glewGetColorTableParameterivSGI)
-#define glGetColorTableSGI GLEW_GET_FUN(__glewGetColorTableSGI)
-
-#define GLEW_SGI_color_table GLEW_GET_VAR(__GLEW_SGI_color_table)
-
-#endif /* GL_SGI_color_table */
-
-/* ----------------------- GL_SGI_texture_color_table ---------------------- */
-
-#ifndef GL_SGI_texture_color_table
-#define GL_SGI_texture_color_table 1
-
-#define GL_TEXTURE_COLOR_TABLE_SGI 0x80BC
-#define GL_PROXY_TEXTURE_COLOR_TABLE_SGI 0x80BD
-
-#define GLEW_SGI_texture_color_table GLEW_GET_VAR(__GLEW_SGI_texture_color_table)
-
-#endif /* GL_SGI_texture_color_table */
-
-/* ------------------------- GL_SUNX_constant_data ------------------------- */
-
-#ifndef GL_SUNX_constant_data
-#define GL_SUNX_constant_data 1
-
-#define GL_UNPACK_CONSTANT_DATA_SUNX 0x81D5
-#define GL_TEXTURE_CONSTANT_DATA_SUNX 0x81D6
-
-typedef void (GLAPIENTRY * PFNGLFINISHTEXTURESUNXPROC) (void);
-
-#define glFinishTextureSUNX GLEW_GET_FUN(__glewFinishTextureSUNX)
-
-#define GLEW_SUNX_constant_data GLEW_GET_VAR(__GLEW_SUNX_constant_data)
-
-#endif /* GL_SUNX_constant_data */
-
-/* -------------------- GL_SUN_convolution_border_modes -------------------- */
-
-#ifndef GL_SUN_convolution_border_modes
-#define GL_SUN_convolution_border_modes 1
-
-#define GL_WRAP_BORDER_SUN 0x81D4
-
-#define GLEW_SUN_convolution_border_modes GLEW_GET_VAR(__GLEW_SUN_convolution_border_modes)
-
-#endif /* GL_SUN_convolution_border_modes */
-
-/* -------------------------- GL_SUN_global_alpha -------------------------- */
-
-#ifndef GL_SUN_global_alpha
-#define GL_SUN_global_alpha 1
-
-#define GL_GLOBAL_ALPHA_SUN 0x81D9
-#define GL_GLOBAL_ALPHA_FACTOR_SUN 0x81DA
-
-typedef void (GLAPIENTRY * PFNGLGLOBALALPHAFACTORBSUNPROC) (GLbyte factor);
-typedef void (GLAPIENTRY * PFNGLGLOBALALPHAFACTORDSUNPROC) (GLdouble factor);
-typedef void (GLAPIENTRY * PFNGLGLOBALALPHAFACTORFSUNPROC) (GLfloat factor);
-typedef void (GLAPIENTRY * PFNGLGLOBALALPHAFACTORISUNPROC) (GLint factor);
-typedef void (GLAPIENTRY * PFNGLGLOBALALPHAFACTORSSUNPROC) (GLshort factor);
-typedef void (GLAPIENTRY * PFNGLGLOBALALPHAFACTORUBSUNPROC) (GLubyte factor);
-typedef void (GLAPIENTRY * PFNGLGLOBALALPHAFACTORUISUNPROC) (GLuint factor);
-typedef void (GLAPIENTRY * PFNGLGLOBALALPHAFACTORUSSUNPROC) (GLushort factor);
-
-#define glGlobalAlphaFactorbSUN GLEW_GET_FUN(__glewGlobalAlphaFactorbSUN)
-#define glGlobalAlphaFactordSUN GLEW_GET_FUN(__glewGlobalAlphaFactordSUN)
-#define glGlobalAlphaFactorfSUN GLEW_GET_FUN(__glewGlobalAlphaFactorfSUN)
-#define glGlobalAlphaFactoriSUN GLEW_GET_FUN(__glewGlobalAlphaFactoriSUN)
-#define glGlobalAlphaFactorsSUN GLEW_GET_FUN(__glewGlobalAlphaFactorsSUN)
-#define glGlobalAlphaFactorubSUN GLEW_GET_FUN(__glewGlobalAlphaFactorubSUN)
-#define glGlobalAlphaFactoruiSUN GLEW_GET_FUN(__glewGlobalAlphaFactoruiSUN)
-#define glGlobalAlphaFactorusSUN GLEW_GET_FUN(__glewGlobalAlphaFactorusSUN)
-
-#define GLEW_SUN_global_alpha GLEW_GET_VAR(__GLEW_SUN_global_alpha)
-
-#endif /* GL_SUN_global_alpha */
-
-/* --------------------------- GL_SUN_mesh_array --------------------------- */
-
-#ifndef GL_SUN_mesh_array
-#define GL_SUN_mesh_array 1
-
-#define GL_QUAD_MESH_SUN 0x8614
-#define GL_TRIANGLE_MESH_SUN 0x8615
-
-#define GLEW_SUN_mesh_array GLEW_GET_VAR(__GLEW_SUN_mesh_array)
-
-#endif /* GL_SUN_mesh_array */
-
-/* ------------------------ GL_SUN_read_video_pixels ----------------------- */
-
-#ifndef GL_SUN_read_video_pixels
-#define GL_SUN_read_video_pixels 1
-
-typedef void (GLAPIENTRY * PFNGLREADVIDEOPIXELSSUNPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels);
-
-#define glReadVideoPixelsSUN GLEW_GET_FUN(__glewReadVideoPixelsSUN)
-
-#define GLEW_SUN_read_video_pixels GLEW_GET_VAR(__GLEW_SUN_read_video_pixels)
-
-#endif /* GL_SUN_read_video_pixels */
-
-/* --------------------------- GL_SUN_slice_accum -------------------------- */
-
-#ifndef GL_SUN_slice_accum
-#define GL_SUN_slice_accum 1
-
-#define GL_SLICE_ACCUM_SUN 0x85CC
-
-#define GLEW_SUN_slice_accum GLEW_GET_VAR(__GLEW_SUN_slice_accum)
-
-#endif /* GL_SUN_slice_accum */
-
-/* -------------------------- GL_SUN_triangle_list ------------------------- */
-
-#ifndef GL_SUN_triangle_list
-#define GL_SUN_triangle_list 1
-
-#define GL_RESTART_SUN 0x01
-#define GL_REPLACE_MIDDLE_SUN 0x02
-#define GL_REPLACE_OLDEST_SUN 0x03
-#define GL_TRIANGLE_LIST_SUN 0x81D7
-#define GL_REPLACEMENT_CODE_SUN 0x81D8
-#define GL_REPLACEMENT_CODE_ARRAY_SUN 0x85C0
-#define GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN 0x85C1
-#define GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN 0x85C2
-#define GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN 0x85C3
-#define GL_R1UI_V3F_SUN 0x85C4
-#define GL_R1UI_C4UB_V3F_SUN 0x85C5
-#define GL_R1UI_C3F_V3F_SUN 0x85C6
-#define GL_R1UI_N3F_V3F_SUN 0x85C7
-#define GL_R1UI_C4F_N3F_V3F_SUN 0x85C8
-#define GL_R1UI_T2F_V3F_SUN 0x85C9
-#define GL_R1UI_T2F_N3F_V3F_SUN 0x85CA
-#define GL_R1UI_T2F_C4F_N3F_V3F_SUN 0x85CB
-
-typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEPOINTERSUNPROC) (GLenum type, GLsizei stride, const void* pointer);
-typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUBSUNPROC) (GLubyte code);
-typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUBVSUNPROC) (const GLubyte* code);
-typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUISUNPROC) (GLuint code);
-typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUIVSUNPROC) (const GLuint* code);
-typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUSSUNPROC) (GLushort code);
-typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUSVSUNPROC) (const GLushort* code);
-
-#define glReplacementCodePointerSUN GLEW_GET_FUN(__glewReplacementCodePointerSUN)
-#define glReplacementCodeubSUN GLEW_GET_FUN(__glewReplacementCodeubSUN)
-#define glReplacementCodeubvSUN GLEW_GET_FUN(__glewReplacementCodeubvSUN)
-#define glReplacementCodeuiSUN GLEW_GET_FUN(__glewReplacementCodeuiSUN)
-#define glReplacementCodeuivSUN GLEW_GET_FUN(__glewReplacementCodeuivSUN)
-#define glReplacementCodeusSUN GLEW_GET_FUN(__glewReplacementCodeusSUN)
-#define glReplacementCodeusvSUN GLEW_GET_FUN(__glewReplacementCodeusvSUN)
-
-#define GLEW_SUN_triangle_list GLEW_GET_VAR(__GLEW_SUN_triangle_list)
-
-#endif /* GL_SUN_triangle_list */
-
-/* ----------------------------- GL_SUN_vertex ----------------------------- */
-
-#ifndef GL_SUN_vertex
-#define GL_SUN_vertex 1
-
-typedef void (GLAPIENTRY * PFNGLCOLOR3FVERTEX3FSUNPROC) (GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);
-typedef void (GLAPIENTRY * PFNGLCOLOR3FVERTEX3FVSUNPROC) (const GLfloat* c, const GLfloat *v);
-typedef void (GLAPIENTRY * PFNGLCOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
-typedef void (GLAPIENTRY * PFNGLCOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLfloat* c, const GLfloat *n, const GLfloat *v);
-typedef void (GLAPIENTRY * PFNGLCOLOR4UBVERTEX2FSUNPROC) (GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y);
-typedef void (GLAPIENTRY * PFNGLCOLOR4UBVERTEX2FVSUNPROC) (const GLubyte* c, const GLfloat *v);
-typedef void (GLAPIENTRY * PFNGLCOLOR4UBVERTEX3FSUNPROC) (GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);
-typedef void (GLAPIENTRY * PFNGLCOLOR4UBVERTEX3FVSUNPROC) (const GLubyte* c, const GLfloat *v);
-typedef void (GLAPIENTRY * PFNGLNORMAL3FVERTEX3FSUNPROC) (GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
-typedef void (GLAPIENTRY * PFNGLNORMAL3FVERTEX3FVSUNPROC) (const GLfloat* n, const GLfloat *v);
-typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FSUNPROC) (GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);
-typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FVSUNPROC) (const GLuint* rc, const GLfloat *c, const GLfloat *v);
-typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
-typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLuint* rc, const GLfloat *c, const GLfloat *n, const GLfloat *v);
-typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FSUNPROC) (GLuint rc, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);
-typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FVSUNPROC) (const GLuint* rc, const GLubyte *c, const GLfloat *v);
-typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
-typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FVSUNPROC) (const GLuint* rc, const GLfloat *n, const GLfloat *v);
-typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
-typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLuint* rc, const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);
-typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
-typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FVSUNPROC) (const GLuint* rc, const GLfloat *tc, const GLfloat *n, const GLfloat *v);
-typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FSUNPROC) (GLuint rc, GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z);
-typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FVSUNPROC) (const GLuint* rc, const GLfloat *tc, const GLfloat *v);
-typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUIVERTEX3FSUNPROC) (GLuint rc, GLfloat x, GLfloat y, GLfloat z);
-typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUIVERTEX3FVSUNPROC) (const GLuint* rc, const GLfloat *v);
-typedef void (GLAPIENTRY * PFNGLTEXCOORD2FCOLOR3FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);
-typedef void (GLAPIENTRY * PFNGLTEXCOORD2FCOLOR3FVERTEX3FVSUNPROC) (const GLfloat* tc, const GLfloat *c, const GLfloat *v);
-typedef void (GLAPIENTRY * PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
-typedef void (GLAPIENTRY * PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLfloat* tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);
-typedef void (GLAPIENTRY * PFNGLTEXCOORD2FCOLOR4UBVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);
-typedef void (GLAPIENTRY * PFNGLTEXCOORD2FCOLOR4UBVERTEX3FVSUNPROC) (const GLfloat* tc, const GLubyte *c, const GLfloat *v);
-typedef void (GLAPIENTRY * PFNGLTEXCOORD2FNORMAL3FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
-typedef void (GLAPIENTRY * PFNGLTEXCOORD2FNORMAL3FVERTEX3FVSUNPROC) (const GLfloat* tc, const GLfloat *n, const GLfloat *v);
-typedef void (GLAPIENTRY * PFNGLTEXCOORD2FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z);
-typedef void (GLAPIENTRY * PFNGLTEXCOORD2FVERTEX3FVSUNPROC) (const GLfloat* tc, const GLfloat *v);
-typedef void (GLAPIENTRY * PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FSUNPROC) (GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
-typedef void (GLAPIENTRY * PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FVSUNPROC) (const GLfloat* tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);
-typedef void (GLAPIENTRY * PFNGLTEXCOORD4FVERTEX4FSUNPROC) (GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
-typedef void (GLAPIENTRY * PFNGLTEXCOORD4FVERTEX4FVSUNPROC) (const GLfloat* tc, const GLfloat *v);
-
-#define glColor3fVertex3fSUN GLEW_GET_FUN(__glewColor3fVertex3fSUN)
-#define glColor3fVertex3fvSUN GLEW_GET_FUN(__glewColor3fVertex3fvSUN)
-#define glColor4fNormal3fVertex3fSUN GLEW_GET_FUN(__glewColor4fNormal3fVertex3fSUN)
-#define glColor4fNormal3fVertex3fvSUN GLEW_GET_FUN(__glewColor4fNormal3fVertex3fvSUN)
-#define glColor4ubVertex2fSUN GLEW_GET_FUN(__glewColor4ubVertex2fSUN)
-#define glColor4ubVertex2fvSUN GLEW_GET_FUN(__glewColor4ubVertex2fvSUN)
-#define glColor4ubVertex3fSUN GLEW_GET_FUN(__glewColor4ubVertex3fSUN)
-#define glColor4ubVertex3fvSUN GLEW_GET_FUN(__glewColor4ubVertex3fvSUN)
-#define glNormal3fVertex3fSUN GLEW_GET_FUN(__glewNormal3fVertex3fSUN)
-#define glNormal3fVertex3fvSUN GLEW_GET_FUN(__glewNormal3fVertex3fvSUN)
-#define glReplacementCodeuiColor3fVertex3fSUN GLEW_GET_FUN(__glewReplacementCodeuiColor3fVertex3fSUN)
-#define glReplacementCodeuiColor3fVertex3fvSUN GLEW_GET_FUN(__glewReplacementCodeuiColor3fVertex3fvSUN)
-#define glReplacementCodeuiColor4fNormal3fVertex3fSUN GLEW_GET_FUN(__glewReplacementCodeuiColor4fNormal3fVertex3fSUN)
-#define glReplacementCodeuiColor4fNormal3fVertex3fvSUN GLEW_GET_FUN(__glewReplacementCodeuiColor4fNormal3fVertex3fvSUN)
-#define glReplacementCodeuiColor4ubVertex3fSUN GLEW_GET_FUN(__glewReplacementCodeuiColor4ubVertex3fSUN)
-#define glReplacementCodeuiColor4ubVertex3fvSUN GLEW_GET_FUN(__glewReplacementCodeuiColor4ubVertex3fvSUN)
-#define glReplacementCodeuiNormal3fVertex3fSUN GLEW_GET_FUN(__glewReplacementCodeuiNormal3fVertex3fSUN)
-#define glReplacementCodeuiNormal3fVertex3fvSUN GLEW_GET_FUN(__glewReplacementCodeuiNormal3fVertex3fvSUN)
-#define glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN GLEW_GET_FUN(__glewReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN)
-#define glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN GLEW_GET_FUN(__glewReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN)
-#define glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN GLEW_GET_FUN(__glewReplacementCodeuiTexCoord2fNormal3fVertex3fSUN)
-#define glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN GLEW_GET_FUN(__glewReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN)
-#define glReplacementCodeuiTexCoord2fVertex3fSUN GLEW_GET_FUN(__glewReplacementCodeuiTexCoord2fVertex3fSUN)
-#define glReplacementCodeuiTexCoord2fVertex3fvSUN GLEW_GET_FUN(__glewReplacementCodeuiTexCoord2fVertex3fvSUN)
-#define glReplacementCodeuiVertex3fSUN GLEW_GET_FUN(__glewReplacementCodeuiVertex3fSUN)
-#define glReplacementCodeuiVertex3fvSUN GLEW_GET_FUN(__glewReplacementCodeuiVertex3fvSUN)
-#define glTexCoord2fColor3fVertex3fSUN GLEW_GET_FUN(__glewTexCoord2fColor3fVertex3fSUN)
-#define glTexCoord2fColor3fVertex3fvSUN GLEW_GET_FUN(__glewTexCoord2fColor3fVertex3fvSUN)
-#define glTexCoord2fColor4fNormal3fVertex3fSUN GLEW_GET_FUN(__glewTexCoord2fColor4fNormal3fVertex3fSUN)
-#define glTexCoord2fColor4fNormal3fVertex3fvSUN GLEW_GET_FUN(__glewTexCoord2fColor4fNormal3fVertex3fvSUN)
-#define glTexCoord2fColor4ubVertex3fSUN GLEW_GET_FUN(__glewTexCoord2fColor4ubVertex3fSUN)
-#define glTexCoord2fColor4ubVertex3fvSUN GLEW_GET_FUN(__glewTexCoord2fColor4ubVertex3fvSUN)
-#define glTexCoord2fNormal3fVertex3fSUN GLEW_GET_FUN(__glewTexCoord2fNormal3fVertex3fSUN)
-#define glTexCoord2fNormal3fVertex3fvSUN GLEW_GET_FUN(__glewTexCoord2fNormal3fVertex3fvSUN)
-#define glTexCoord2fVertex3fSUN GLEW_GET_FUN(__glewTexCoord2fVertex3fSUN)
-#define glTexCoord2fVertex3fvSUN GLEW_GET_FUN(__glewTexCoord2fVertex3fvSUN)
-#define glTexCoord4fColor4fNormal3fVertex4fSUN GLEW_GET_FUN(__glewTexCoord4fColor4fNormal3fVertex4fSUN)
-#define glTexCoord4fColor4fNormal3fVertex4fvSUN GLEW_GET_FUN(__glewTexCoord4fColor4fNormal3fVertex4fvSUN)
-#define glTexCoord4fVertex4fSUN GLEW_GET_FUN(__glewTexCoord4fVertex4fSUN)
-#define glTexCoord4fVertex4fvSUN GLEW_GET_FUN(__glewTexCoord4fVertex4fvSUN)
-
-#define GLEW_SUN_vertex GLEW_GET_VAR(__GLEW_SUN_vertex)
-
-#endif /* GL_SUN_vertex */
-
-/* -------------------------- GL_WIN_phong_shading ------------------------- */
-
-#ifndef GL_WIN_phong_shading
-#define GL_WIN_phong_shading 1
-
-#define GL_PHONG_WIN 0x80EA
-#define GL_PHONG_HINT_WIN 0x80EB
-
-#define GLEW_WIN_phong_shading GLEW_GET_VAR(__GLEW_WIN_phong_shading)
-
-#endif /* GL_WIN_phong_shading */
-
-/* -------------------------- GL_WIN_specular_fog -------------------------- */
-
-#ifndef GL_WIN_specular_fog
-#define GL_WIN_specular_fog 1
-
-#define GL_FOG_SPECULAR_TEXTURE_WIN 0x80EC
-
-#define GLEW_WIN_specular_fog GLEW_GET_VAR(__GLEW_WIN_specular_fog)
-
-#endif /* GL_WIN_specular_fog */
-
-/* ---------------------------- GL_WIN_swap_hint --------------------------- */
-
-#ifndef GL_WIN_swap_hint
-#define GL_WIN_swap_hint 1
-
-typedef void (GLAPIENTRY * PFNGLADDSWAPHINTRECTWINPROC) (GLint x, GLint y, GLsizei width, GLsizei height);
-
-#define glAddSwapHintRectWIN GLEW_GET_FUN(__glewAddSwapHintRectWIN)
-
-#define GLEW_WIN_swap_hint GLEW_GET_VAR(__GLEW_WIN_swap_hint)
-
-#endif /* GL_WIN_swap_hint */
-
-/* ------------------------------------------------------------------------- */
-
-#if defined(GLEW_MX) && defined(_WIN32)
-#define GLEW_FUN_EXPORT
-#else
-#define GLEW_FUN_EXPORT GLEWAPI
-#endif /* GLEW_MX */
-
-#if defined(GLEW_MX)
-#define GLEW_VAR_EXPORT
-#else
-#define GLEW_VAR_EXPORT GLEWAPI
-#endif /* GLEW_MX */
-
-#if defined(GLEW_MX) && defined(_WIN32)
-struct GLEWContextStruct
-{
-#endif /* GLEW_MX */
-
-GLEW_FUN_EXPORT PFNGLCOPYTEXSUBIMAGE3DPROC __glewCopyTexSubImage3D;
-GLEW_FUN_EXPORT PFNGLDRAWRANGEELEMENTSPROC __glewDrawRangeElements;
-GLEW_FUN_EXPORT PFNGLTEXIMAGE3DPROC __glewTexImage3D;
-GLEW_FUN_EXPORT PFNGLTEXSUBIMAGE3DPROC __glewTexSubImage3D;
-
-GLEW_FUN_EXPORT PFNGLACTIVETEXTUREPROC __glewActiveTexture;
-GLEW_FUN_EXPORT PFNGLCLIENTACTIVETEXTUREPROC __glewClientActiveTexture;
-GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXIMAGE1DPROC __glewCompressedTexImage1D;
-GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXIMAGE2DPROC __glewCompressedTexImage2D;
-GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXIMAGE3DPROC __glewCompressedTexImage3D;
-GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC __glewCompressedTexSubImage1D;
-GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC __glewCompressedTexSubImage2D;
-GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC __glewCompressedTexSubImage3D;
-GLEW_FUN_EXPORT PFNGLGETCOMPRESSEDTEXIMAGEPROC __glewGetCompressedTexImage;
-GLEW_FUN_EXPORT PFNGLLOADTRANSPOSEMATRIXDPROC __glewLoadTransposeMatrixd;
-GLEW_FUN_EXPORT PFNGLLOADTRANSPOSEMATRIXFPROC __glewLoadTransposeMatrixf;
-GLEW_FUN_EXPORT PFNGLMULTTRANSPOSEMATRIXDPROC __glewMultTransposeMatrixd;
-GLEW_FUN_EXPORT PFNGLMULTTRANSPOSEMATRIXFPROC __glewMultTransposeMatrixf;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1DPROC __glewMultiTexCoord1d;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1DVPROC __glewMultiTexCoord1dv;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1FPROC __glewMultiTexCoord1f;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1FVPROC __glewMultiTexCoord1fv;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1IPROC __glewMultiTexCoord1i;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1IVPROC __glewMultiTexCoord1iv;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1SPROC __glewMultiTexCoord1s;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1SVPROC __glewMultiTexCoord1sv;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2DPROC __glewMultiTexCoord2d;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2DVPROC __glewMultiTexCoord2dv;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2FPROC __glewMultiTexCoord2f;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2FVPROC __glewMultiTexCoord2fv;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2IPROC __glewMultiTexCoord2i;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2IVPROC __glewMultiTexCoord2iv;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2SPROC __glewMultiTexCoord2s;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2SVPROC __glewMultiTexCoord2sv;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3DPROC __glewMultiTexCoord3d;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3DVPROC __glewMultiTexCoord3dv;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3FPROC __glewMultiTexCoord3f;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3FVPROC __glewMultiTexCoord3fv;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3IPROC __glewMultiTexCoord3i;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3IVPROC __glewMultiTexCoord3iv;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3SPROC __glewMultiTexCoord3s;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3SVPROC __glewMultiTexCoord3sv;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4DPROC __glewMultiTexCoord4d;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4DVPROC __glewMultiTexCoord4dv;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4FPROC __glewMultiTexCoord4f;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4FVPROC __glewMultiTexCoord4fv;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4IPROC __glewMultiTexCoord4i;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4IVPROC __glewMultiTexCoord4iv;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4SPROC __glewMultiTexCoord4s;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4SVPROC __glewMultiTexCoord4sv;
-GLEW_FUN_EXPORT PFNGLSAMPLECOVERAGEPROC __glewSampleCoverage;
-
-GLEW_FUN_EXPORT PFNGLBLENDCOLORPROC __glewBlendColor;
-GLEW_FUN_EXPORT PFNGLBLENDEQUATIONPROC __glewBlendEquation;
-GLEW_FUN_EXPORT PFNGLBLENDFUNCSEPARATEPROC __glewBlendFuncSeparate;
-GLEW_FUN_EXPORT PFNGLFOGCOORDPOINTERPROC __glewFogCoordPointer;
-GLEW_FUN_EXPORT PFNGLFOGCOORDDPROC __glewFogCoordd;
-GLEW_FUN_EXPORT PFNGLFOGCOORDDVPROC __glewFogCoorddv;
-GLEW_FUN_EXPORT PFNGLFOGCOORDFPROC __glewFogCoordf;
-GLEW_FUN_EXPORT PFNGLFOGCOORDFVPROC __glewFogCoordfv;
-GLEW_FUN_EXPORT PFNGLMULTIDRAWARRAYSPROC __glewMultiDrawArrays;
-GLEW_FUN_EXPORT PFNGLMULTIDRAWELEMENTSPROC __glewMultiDrawElements;
-GLEW_FUN_EXPORT PFNGLPOINTPARAMETERFPROC __glewPointParameterf;
-GLEW_FUN_EXPORT PFNGLPOINTPARAMETERFVPROC __glewPointParameterfv;
-GLEW_FUN_EXPORT PFNGLPOINTPARAMETERIPROC __glewPointParameteri;
-GLEW_FUN_EXPORT PFNGLPOINTPARAMETERIVPROC __glewPointParameteriv;
-GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3BPROC __glewSecondaryColor3b;
-GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3BVPROC __glewSecondaryColor3bv;
-GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3DPROC __glewSecondaryColor3d;
-GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3DVPROC __glewSecondaryColor3dv;
-GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3FPROC __glewSecondaryColor3f;
-GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3FVPROC __glewSecondaryColor3fv;
-GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3IPROC __glewSecondaryColor3i;
-GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3IVPROC __glewSecondaryColor3iv;
-GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3SPROC __glewSecondaryColor3s;
-GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3SVPROC __glewSecondaryColor3sv;
-GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3UBPROC __glewSecondaryColor3ub;
-GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3UBVPROC __glewSecondaryColor3ubv;
-GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3UIPROC __glewSecondaryColor3ui;
-GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3UIVPROC __glewSecondaryColor3uiv;
-GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3USPROC __glewSecondaryColor3us;
-GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3USVPROC __glewSecondaryColor3usv;
-GLEW_FUN_EXPORT PFNGLSECONDARYCOLORPOINTERPROC __glewSecondaryColorPointer;
-GLEW_FUN_EXPORT PFNGLWINDOWPOS2DPROC __glewWindowPos2d;
-GLEW_FUN_EXPORT PFNGLWINDOWPOS2DVPROC __glewWindowPos2dv;
-GLEW_FUN_EXPORT PFNGLWINDOWPOS2FPROC __glewWindowPos2f;
-GLEW_FUN_EXPORT PFNGLWINDOWPOS2FVPROC __glewWindowPos2fv;
-GLEW_FUN_EXPORT PFNGLWINDOWPOS2IPROC __glewWindowPos2i;
-GLEW_FUN_EXPORT PFNGLWINDOWPOS2IVPROC __glewWindowPos2iv;
-GLEW_FUN_EXPORT PFNGLWINDOWPOS2SPROC __glewWindowPos2s;
-GLEW_FUN_EXPORT PFNGLWINDOWPOS2SVPROC __glewWindowPos2sv;
-GLEW_FUN_EXPORT PFNGLWINDOWPOS3DPROC __glewWindowPos3d;
-GLEW_FUN_EXPORT PFNGLWINDOWPOS3DVPROC __glewWindowPos3dv;
-GLEW_FUN_EXPORT PFNGLWINDOWPOS3FPROC __glewWindowPos3f;
-GLEW_FUN_EXPORT PFNGLWINDOWPOS3FVPROC __glewWindowPos3fv;
-GLEW_FUN_EXPORT PFNGLWINDOWPOS3IPROC __glewWindowPos3i;
-GLEW_FUN_EXPORT PFNGLWINDOWPOS3IVPROC __glewWindowPos3iv;
-GLEW_FUN_EXPORT PFNGLWINDOWPOS3SPROC __glewWindowPos3s;
-GLEW_FUN_EXPORT PFNGLWINDOWPOS3SVPROC __glewWindowPos3sv;
-
-GLEW_FUN_EXPORT PFNGLBEGINQUERYPROC __glewBeginQuery;
-GLEW_FUN_EXPORT PFNGLBINDBUFFERPROC __glewBindBuffer;
-GLEW_FUN_EXPORT PFNGLBUFFERDATAPROC __glewBufferData;
-GLEW_FUN_EXPORT PFNGLBUFFERSUBDATAPROC __glewBufferSubData;
-GLEW_FUN_EXPORT PFNGLDELETEBUFFERSPROC __glewDeleteBuffers;
-GLEW_FUN_EXPORT PFNGLDELETEQUERIESPROC __glewDeleteQueries;
-GLEW_FUN_EXPORT PFNGLENDQUERYPROC __glewEndQuery;
-GLEW_FUN_EXPORT PFNGLGENBUFFERSPROC __glewGenBuffers;
-GLEW_FUN_EXPORT PFNGLGENQUERIESPROC __glewGenQueries;
-GLEW_FUN_EXPORT PFNGLGETBUFFERPARAMETERIVPROC __glewGetBufferParameteriv;
-GLEW_FUN_EXPORT PFNGLGETBUFFERPOINTERVPROC __glewGetBufferPointerv;
-GLEW_FUN_EXPORT PFNGLGETBUFFERSUBDATAPROC __glewGetBufferSubData;
-GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTIVPROC __glewGetQueryObjectiv;
-GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTUIVPROC __glewGetQueryObjectuiv;
-GLEW_FUN_EXPORT PFNGLGETQUERYIVPROC __glewGetQueryiv;
-GLEW_FUN_EXPORT PFNGLISBUFFERPROC __glewIsBuffer;
-GLEW_FUN_EXPORT PFNGLISQUERYPROC __glewIsQuery;
-GLEW_FUN_EXPORT PFNGLMAPBUFFERPROC __glewMapBuffer;
-GLEW_FUN_EXPORT PFNGLUNMAPBUFFERPROC __glewUnmapBuffer;
-
-GLEW_FUN_EXPORT PFNGLATTACHSHADERPROC __glewAttachShader;
-GLEW_FUN_EXPORT PFNGLBINDATTRIBLOCATIONPROC __glewBindAttribLocation;
-GLEW_FUN_EXPORT PFNGLBLENDEQUATIONSEPARATEPROC __glewBlendEquationSeparate;
-GLEW_FUN_EXPORT PFNGLCOMPILESHADERPROC __glewCompileShader;
-GLEW_FUN_EXPORT PFNGLCREATEPROGRAMPROC __glewCreateProgram;
-GLEW_FUN_EXPORT PFNGLCREATESHADERPROC __glewCreateShader;
-GLEW_FUN_EXPORT PFNGLDELETEPROGRAMPROC __glewDeleteProgram;
-GLEW_FUN_EXPORT PFNGLDELETESHADERPROC __glewDeleteShader;
-GLEW_FUN_EXPORT PFNGLDETACHSHADERPROC __glewDetachShader;
-GLEW_FUN_EXPORT PFNGLDISABLEVERTEXATTRIBARRAYPROC __glewDisableVertexAttribArray;
-GLEW_FUN_EXPORT PFNGLDRAWBUFFERSPROC __glewDrawBuffers;
-GLEW_FUN_EXPORT PFNGLENABLEVERTEXATTRIBARRAYPROC __glewEnableVertexAttribArray;
-GLEW_FUN_EXPORT PFNGLGETACTIVEATTRIBPROC __glewGetActiveAttrib;
-GLEW_FUN_EXPORT PFNGLGETACTIVEUNIFORMPROC __glewGetActiveUniform;
-GLEW_FUN_EXPORT PFNGLGETATTACHEDSHADERSPROC __glewGetAttachedShaders;
-GLEW_FUN_EXPORT PFNGLGETATTRIBLOCATIONPROC __glewGetAttribLocation;
-GLEW_FUN_EXPORT PFNGLGETPROGRAMINFOLOGPROC __glewGetProgramInfoLog;
-GLEW_FUN_EXPORT PFNGLGETPROGRAMIVPROC __glewGetProgramiv;
-GLEW_FUN_EXPORT PFNGLGETSHADERINFOLOGPROC __glewGetShaderInfoLog;
-GLEW_FUN_EXPORT PFNGLGETSHADERSOURCEPROC __glewGetShaderSource;
-GLEW_FUN_EXPORT PFNGLGETSHADERIVPROC __glewGetShaderiv;
-GLEW_FUN_EXPORT PFNGLGETUNIFORMLOCATIONPROC __glewGetUniformLocation;
-GLEW_FUN_EXPORT PFNGLGETUNIFORMFVPROC __glewGetUniformfv;
-GLEW_FUN_EXPORT PFNGLGETUNIFORMIVPROC __glewGetUniformiv;
-GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBPOINTERVPROC __glewGetVertexAttribPointerv;
-GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBDVPROC __glewGetVertexAttribdv;
-GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBFVPROC __glewGetVertexAttribfv;
-GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBIVPROC __glewGetVertexAttribiv;
-GLEW_FUN_EXPORT PFNGLISPROGRAMPROC __glewIsProgram;
-GLEW_FUN_EXPORT PFNGLISSHADERPROC __glewIsShader;
-GLEW_FUN_EXPORT PFNGLLINKPROGRAMPROC __glewLinkProgram;
-GLEW_FUN_EXPORT PFNGLSHADERSOURCEPROC __glewShaderSource;
-GLEW_FUN_EXPORT PFNGLSTENCILFUNCSEPARATEPROC __glewStencilFuncSeparate;
-GLEW_FUN_EXPORT PFNGLSTENCILMASKSEPARATEPROC __glewStencilMaskSeparate;
-GLEW_FUN_EXPORT PFNGLSTENCILOPSEPARATEPROC __glewStencilOpSeparate;
-GLEW_FUN_EXPORT PFNGLUNIFORM1FPROC __glewUniform1f;
-GLEW_FUN_EXPORT PFNGLUNIFORM1FVPROC __glewUniform1fv;
-GLEW_FUN_EXPORT PFNGLUNIFORM1IPROC __glewUniform1i;
-GLEW_FUN_EXPORT PFNGLUNIFORM1IVPROC __glewUniform1iv;
-GLEW_FUN_EXPORT PFNGLUNIFORM2FPROC __glewUniform2f;
-GLEW_FUN_EXPORT PFNGLUNIFORM2FVPROC __glewUniform2fv;
-GLEW_FUN_EXPORT PFNGLUNIFORM2IPROC __glewUniform2i;
-GLEW_FUN_EXPORT PFNGLUNIFORM2IVPROC __glewUniform2iv;
-GLEW_FUN_EXPORT PFNGLUNIFORM3FPROC __glewUniform3f;
-GLEW_FUN_EXPORT PFNGLUNIFORM3FVPROC __glewUniform3fv;
-GLEW_FUN_EXPORT PFNGLUNIFORM3IPROC __glewUniform3i;
-GLEW_FUN_EXPORT PFNGLUNIFORM3IVPROC __glewUniform3iv;
-GLEW_FUN_EXPORT PFNGLUNIFORM4FPROC __glewUniform4f;
-GLEW_FUN_EXPORT PFNGLUNIFORM4FVPROC __glewUniform4fv;
-GLEW_FUN_EXPORT PFNGLUNIFORM4IPROC __glewUniform4i;
-GLEW_FUN_EXPORT PFNGLUNIFORM4IVPROC __glewUniform4iv;
-GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX2FVPROC __glewUniformMatrix2fv;
-GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX3FVPROC __glewUniformMatrix3fv;
-GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX4FVPROC __glewUniformMatrix4fv;
-GLEW_FUN_EXPORT PFNGLUSEPROGRAMPROC __glewUseProgram;
-GLEW_FUN_EXPORT PFNGLVALIDATEPROGRAMPROC __glewValidateProgram;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1DPROC __glewVertexAttrib1d;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1DVPROC __glewVertexAttrib1dv;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1FPROC __glewVertexAttrib1f;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1FVPROC __glewVertexAttrib1fv;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1SPROC __glewVertexAttrib1s;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1SVPROC __glewVertexAttrib1sv;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2DPROC __glewVertexAttrib2d;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2DVPROC __glewVertexAttrib2dv;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2FPROC __glewVertexAttrib2f;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2FVPROC __glewVertexAttrib2fv;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2SPROC __glewVertexAttrib2s;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2SVPROC __glewVertexAttrib2sv;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3DPROC __glewVertexAttrib3d;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3DVPROC __glewVertexAttrib3dv;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3FPROC __glewVertexAttrib3f;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3FVPROC __glewVertexAttrib3fv;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3SPROC __glewVertexAttrib3s;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3SVPROC __glewVertexAttrib3sv;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NBVPROC __glewVertexAttrib4Nbv;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NIVPROC __glewVertexAttrib4Niv;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NSVPROC __glewVertexAttrib4Nsv;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NUBPROC __glewVertexAttrib4Nub;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NUBVPROC __glewVertexAttrib4Nubv;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NUIVPROC __glewVertexAttrib4Nuiv;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NUSVPROC __glewVertexAttrib4Nusv;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4BVPROC __glewVertexAttrib4bv;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4DPROC __glewVertexAttrib4d;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4DVPROC __glewVertexAttrib4dv;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4FPROC __glewVertexAttrib4f;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4FVPROC __glewVertexAttrib4fv;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4IVPROC __glewVertexAttrib4iv;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4SPROC __glewVertexAttrib4s;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4SVPROC __glewVertexAttrib4sv;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4UBVPROC __glewVertexAttrib4ubv;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4UIVPROC __glewVertexAttrib4uiv;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4USVPROC __glewVertexAttrib4usv;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBPOINTERPROC __glewVertexAttribPointer;
-
-GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX2X3FVPROC __glewUniformMatrix2x3fv;
-GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX2X4FVPROC __glewUniformMatrix2x4fv;
-GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX3X2FVPROC __glewUniformMatrix3x2fv;
-GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX3X4FVPROC __glewUniformMatrix3x4fv;
-GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX4X2FVPROC __glewUniformMatrix4x2fv;
-GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX4X3FVPROC __glewUniformMatrix4x3fv;
-
-GLEW_FUN_EXPORT PFNGLBEGINCONDITIONALRENDERPROC __glewBeginConditionalRender;
-GLEW_FUN_EXPORT PFNGLBEGINTRANSFORMFEEDBACKPROC __glewBeginTransformFeedback;
-GLEW_FUN_EXPORT PFNGLBINDFRAGDATALOCATIONPROC __glewBindFragDataLocation;
-GLEW_FUN_EXPORT PFNGLCLAMPCOLORPROC __glewClampColor;
-GLEW_FUN_EXPORT PFNGLCLEARBUFFERFIPROC __glewClearBufferfi;
-GLEW_FUN_EXPORT PFNGLCLEARBUFFERFVPROC __glewClearBufferfv;
-GLEW_FUN_EXPORT PFNGLCLEARBUFFERIVPROC __glewClearBufferiv;
-GLEW_FUN_EXPORT PFNGLCLEARBUFFERUIVPROC __glewClearBufferuiv;
-GLEW_FUN_EXPORT PFNGLCOLORMASKIPROC __glewColorMaski;
-GLEW_FUN_EXPORT PFNGLDISABLEIPROC __glewDisablei;
-GLEW_FUN_EXPORT PFNGLENABLEIPROC __glewEnablei;
-GLEW_FUN_EXPORT PFNGLENDCONDITIONALRENDERPROC __glewEndConditionalRender;
-GLEW_FUN_EXPORT PFNGLENDTRANSFORMFEEDBACKPROC __glewEndTransformFeedback;
-GLEW_FUN_EXPORT PFNGLGETBOOLEANI_VPROC __glewGetBooleani_v;
-GLEW_FUN_EXPORT PFNGLGETFRAGDATALOCATIONPROC __glewGetFragDataLocation;
-GLEW_FUN_EXPORT PFNGLGETSTRINGIPROC __glewGetStringi;
-GLEW_FUN_EXPORT PFNGLGETTEXPARAMETERIIVPROC __glewGetTexParameterIiv;
-GLEW_FUN_EXPORT PFNGLGETTEXPARAMETERIUIVPROC __glewGetTexParameterIuiv;
-GLEW_FUN_EXPORT PFNGLGETTRANSFORMFEEDBACKVARYINGPROC __glewGetTransformFeedbackVarying;
-GLEW_FUN_EXPORT PFNGLGETUNIFORMUIVPROC __glewGetUniformuiv;
-GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBIIVPROC __glewGetVertexAttribIiv;
-GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBIUIVPROC __glewGetVertexAttribIuiv;
-GLEW_FUN_EXPORT PFNGLISENABLEDIPROC __glewIsEnabledi;
-GLEW_FUN_EXPORT PFNGLTEXPARAMETERIIVPROC __glewTexParameterIiv;
-GLEW_FUN_EXPORT PFNGLTEXPARAMETERIUIVPROC __glewTexParameterIuiv;
-GLEW_FUN_EXPORT PFNGLTRANSFORMFEEDBACKVARYINGSPROC __glewTransformFeedbackVaryings;
-GLEW_FUN_EXPORT PFNGLUNIFORM1UIPROC __glewUniform1ui;
-GLEW_FUN_EXPORT PFNGLUNIFORM1UIVPROC __glewUniform1uiv;
-GLEW_FUN_EXPORT PFNGLUNIFORM2UIPROC __glewUniform2ui;
-GLEW_FUN_EXPORT PFNGLUNIFORM2UIVPROC __glewUniform2uiv;
-GLEW_FUN_EXPORT PFNGLUNIFORM3UIPROC __glewUniform3ui;
-GLEW_FUN_EXPORT PFNGLUNIFORM3UIVPROC __glewUniform3uiv;
-GLEW_FUN_EXPORT PFNGLUNIFORM4UIPROC __glewUniform4ui;
-GLEW_FUN_EXPORT PFNGLUNIFORM4UIVPROC __glewUniform4uiv;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI1IPROC __glewVertexAttribI1i;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI1IVPROC __glewVertexAttribI1iv;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI1UIPROC __glewVertexAttribI1ui;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI1UIVPROC __glewVertexAttribI1uiv;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI2IPROC __glewVertexAttribI2i;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI2IVPROC __glewVertexAttribI2iv;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI2UIPROC __glewVertexAttribI2ui;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI2UIVPROC __glewVertexAttribI2uiv;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI3IPROC __glewVertexAttribI3i;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI3IVPROC __glewVertexAttribI3iv;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI3UIPROC __glewVertexAttribI3ui;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI3UIVPROC __glewVertexAttribI3uiv;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4BVPROC __glewVertexAttribI4bv;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4IPROC __glewVertexAttribI4i;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4IVPROC __glewVertexAttribI4iv;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4SVPROC __glewVertexAttribI4sv;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4UBVPROC __glewVertexAttribI4ubv;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4UIPROC __glewVertexAttribI4ui;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4UIVPROC __glewVertexAttribI4uiv;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4USVPROC __glewVertexAttribI4usv;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBIPOINTERPROC __glewVertexAttribIPointer;
-
-GLEW_FUN_EXPORT PFNGLDRAWARRAYSINSTANCEDPROC __glewDrawArraysInstanced;
-GLEW_FUN_EXPORT PFNGLDRAWELEMENTSINSTANCEDPROC __glewDrawElementsInstanced;
-GLEW_FUN_EXPORT PFNGLPRIMITIVERESTARTINDEXPROC __glewPrimitiveRestartIndex;
-GLEW_FUN_EXPORT PFNGLTEXBUFFERPROC __glewTexBuffer;
-
-GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTUREPROC __glewFramebufferTexture;
-GLEW_FUN_EXPORT PFNGLGETBUFFERPARAMETERI64VPROC __glewGetBufferParameteri64v;
-GLEW_FUN_EXPORT PFNGLGETINTEGER64I_VPROC __glewGetInteger64i_v;
-
-GLEW_FUN_EXPORT PFNGLBLENDEQUATIONSEPARATEIPROC __glewBlendEquationSeparatei;
-GLEW_FUN_EXPORT PFNGLBLENDEQUATIONIPROC __glewBlendEquationi;
-GLEW_FUN_EXPORT PFNGLBLENDFUNCSEPARATEIPROC __glewBlendFuncSeparatei;
-GLEW_FUN_EXPORT PFNGLBLENDFUNCIPROC __glewBlendFunci;
-GLEW_FUN_EXPORT PFNGLMINSAMPLESHADINGPROC __glewMinSampleShading;
-
-GLEW_FUN_EXPORT PFNGLTBUFFERMASK3DFXPROC __glewTbufferMask3DFX;
-
-GLEW_FUN_EXPORT PFNGLBLENDEQUATIONINDEXEDAMDPROC __glewBlendEquationIndexedAMD;
-GLEW_FUN_EXPORT PFNGLBLENDEQUATIONSEPARATEINDEXEDAMDPROC __glewBlendEquationSeparateIndexedAMD;
-GLEW_FUN_EXPORT PFNGLBLENDFUNCINDEXEDAMDPROC __glewBlendFuncIndexedAMD;
-GLEW_FUN_EXPORT PFNGLBLENDFUNCSEPARATEINDEXEDAMDPROC __glewBlendFuncSeparateIndexedAMD;
-
-GLEW_FUN_EXPORT PFNGLBEGINPERFMONITORAMDPROC __glewBeginPerfMonitorAMD;
-GLEW_FUN_EXPORT PFNGLDELETEPERFMONITORSAMDPROC __glewDeletePerfMonitorsAMD;
-GLEW_FUN_EXPORT PFNGLENDPERFMONITORAMDPROC __glewEndPerfMonitorAMD;
-GLEW_FUN_EXPORT PFNGLGENPERFMONITORSAMDPROC __glewGenPerfMonitorsAMD;
-GLEW_FUN_EXPORT PFNGLGETPERFMONITORCOUNTERDATAAMDPROC __glewGetPerfMonitorCounterDataAMD;
-GLEW_FUN_EXPORT PFNGLGETPERFMONITORCOUNTERINFOAMDPROC __glewGetPerfMonitorCounterInfoAMD;
-GLEW_FUN_EXPORT PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC __glewGetPerfMonitorCounterStringAMD;
-GLEW_FUN_EXPORT PFNGLGETPERFMONITORCOUNTERSAMDPROC __glewGetPerfMonitorCountersAMD;
-GLEW_FUN_EXPORT PFNGLGETPERFMONITORGROUPSTRINGAMDPROC __glewGetPerfMonitorGroupStringAMD;
-GLEW_FUN_EXPORT PFNGLGETPERFMONITORGROUPSAMDPROC __glewGetPerfMonitorGroupsAMD;
-GLEW_FUN_EXPORT PFNGLSELECTPERFMONITORCOUNTERSAMDPROC __glewSelectPerfMonitorCountersAMD;
-
-GLEW_FUN_EXPORT PFNGLTESSELLATIONFACTORAMDPROC __glewTessellationFactorAMD;
-GLEW_FUN_EXPORT PFNGLTESSELLATIONMODEAMDPROC __glewTessellationModeAMD;
-
-GLEW_FUN_EXPORT PFNGLDRAWELEMENTARRAYAPPLEPROC __glewDrawElementArrayAPPLE;
-GLEW_FUN_EXPORT PFNGLDRAWRANGEELEMENTARRAYAPPLEPROC __glewDrawRangeElementArrayAPPLE;
-GLEW_FUN_EXPORT PFNGLELEMENTPOINTERAPPLEPROC __glewElementPointerAPPLE;
-GLEW_FUN_EXPORT PFNGLMULTIDRAWELEMENTARRAYAPPLEPROC __glewMultiDrawElementArrayAPPLE;
-GLEW_FUN_EXPORT PFNGLMULTIDRAWRANGEELEMENTARRAYAPPLEPROC __glewMultiDrawRangeElementArrayAPPLE;
-
-GLEW_FUN_EXPORT PFNGLDELETEFENCESAPPLEPROC __glewDeleteFencesAPPLE;
-GLEW_FUN_EXPORT PFNGLFINISHFENCEAPPLEPROC __glewFinishFenceAPPLE;
-GLEW_FUN_EXPORT PFNGLFINISHOBJECTAPPLEPROC __glewFinishObjectAPPLE;
-GLEW_FUN_EXPORT PFNGLGENFENCESAPPLEPROC __glewGenFencesAPPLE;
-GLEW_FUN_EXPORT PFNGLISFENCEAPPLEPROC __glewIsFenceAPPLE;
-GLEW_FUN_EXPORT PFNGLSETFENCEAPPLEPROC __glewSetFenceAPPLE;
-GLEW_FUN_EXPORT PFNGLTESTFENCEAPPLEPROC __glewTestFenceAPPLE;
-GLEW_FUN_EXPORT PFNGLTESTOBJECTAPPLEPROC __glewTestObjectAPPLE;
-
-GLEW_FUN_EXPORT PFNGLBUFFERPARAMETERIAPPLEPROC __glewBufferParameteriAPPLE;
-GLEW_FUN_EXPORT PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC __glewFlushMappedBufferRangeAPPLE;
-
-GLEW_FUN_EXPORT PFNGLGETOBJECTPARAMETERIVAPPLEPROC __glewGetObjectParameterivAPPLE;
-GLEW_FUN_EXPORT PFNGLOBJECTPURGEABLEAPPLEPROC __glewObjectPurgeableAPPLE;
-GLEW_FUN_EXPORT PFNGLOBJECTUNPURGEABLEAPPLEPROC __glewObjectUnpurgeableAPPLE;
-
-GLEW_FUN_EXPORT PFNGLGETTEXPARAMETERPOINTERVAPPLEPROC __glewGetTexParameterPointervAPPLE;
-GLEW_FUN_EXPORT PFNGLTEXTURERANGEAPPLEPROC __glewTextureRangeAPPLE;
-
-GLEW_FUN_EXPORT PFNGLBINDVERTEXARRAYAPPLEPROC __glewBindVertexArrayAPPLE;
-GLEW_FUN_EXPORT PFNGLDELETEVERTEXARRAYSAPPLEPROC __glewDeleteVertexArraysAPPLE;
-GLEW_FUN_EXPORT PFNGLGENVERTEXARRAYSAPPLEPROC __glewGenVertexArraysAPPLE;
-GLEW_FUN_EXPORT PFNGLISVERTEXARRAYAPPLEPROC __glewIsVertexArrayAPPLE;
-
-GLEW_FUN_EXPORT PFNGLFLUSHVERTEXARRAYRANGEAPPLEPROC __glewFlushVertexArrayRangeAPPLE;
-GLEW_FUN_EXPORT PFNGLVERTEXARRAYPARAMETERIAPPLEPROC __glewVertexArrayParameteriAPPLE;
-GLEW_FUN_EXPORT PFNGLVERTEXARRAYRANGEAPPLEPROC __glewVertexArrayRangeAPPLE;
-
-GLEW_FUN_EXPORT PFNGLDISABLEVERTEXATTRIBAPPLEPROC __glewDisableVertexAttribAPPLE;
-GLEW_FUN_EXPORT PFNGLENABLEVERTEXATTRIBAPPLEPROC __glewEnableVertexAttribAPPLE;
-GLEW_FUN_EXPORT PFNGLISVERTEXATTRIBENABLEDAPPLEPROC __glewIsVertexAttribEnabledAPPLE;
-GLEW_FUN_EXPORT PFNGLMAPVERTEXATTRIB1DAPPLEPROC __glewMapVertexAttrib1dAPPLE;
-GLEW_FUN_EXPORT PFNGLMAPVERTEXATTRIB1FAPPLEPROC __glewMapVertexAttrib1fAPPLE;
-GLEW_FUN_EXPORT PFNGLMAPVERTEXATTRIB2DAPPLEPROC __glewMapVertexAttrib2dAPPLE;
-GLEW_FUN_EXPORT PFNGLMAPVERTEXATTRIB2FAPPLEPROC __glewMapVertexAttrib2fAPPLE;
-
-GLEW_FUN_EXPORT PFNGLBINDFRAGDATALOCATIONINDEXEDPROC __glewBindFragDataLocationIndexed;
-GLEW_FUN_EXPORT PFNGLGETFRAGDATAINDEXPROC __glewGetFragDataIndex;
-
-GLEW_FUN_EXPORT PFNGLCLAMPCOLORARBPROC __glewClampColorARB;
-
-GLEW_FUN_EXPORT PFNGLCOPYBUFFERSUBDATAPROC __glewCopyBufferSubData;
-
-GLEW_FUN_EXPORT PFNGLDRAWBUFFERSARBPROC __glewDrawBuffersARB;
-
-GLEW_FUN_EXPORT PFNGLBLENDEQUATIONSEPARATEIARBPROC __glewBlendEquationSeparateiARB;
-GLEW_FUN_EXPORT PFNGLBLENDEQUATIONIARBPROC __glewBlendEquationiARB;
-GLEW_FUN_EXPORT PFNGLBLENDFUNCSEPARATEIARBPROC __glewBlendFuncSeparateiARB;
-GLEW_FUN_EXPORT PFNGLBLENDFUNCIARBPROC __glewBlendFunciARB;
-
-GLEW_FUN_EXPORT PFNGLDRAWELEMENTSBASEVERTEXPROC __glewDrawElementsBaseVertex;
-GLEW_FUN_EXPORT PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC __glewDrawElementsInstancedBaseVertex;
-GLEW_FUN_EXPORT PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC __glewDrawRangeElementsBaseVertex;
-GLEW_FUN_EXPORT PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC __glewMultiDrawElementsBaseVertex;
-
-GLEW_FUN_EXPORT PFNGLDRAWARRAYSINDIRECTPROC __glewDrawArraysIndirect;
-GLEW_FUN_EXPORT PFNGLDRAWELEMENTSINDIRECTPROC __glewDrawElementsIndirect;
-
-GLEW_FUN_EXPORT PFNGLDRAWARRAYSINSTANCEDARBPROC __glewDrawArraysInstancedARB;
-GLEW_FUN_EXPORT PFNGLDRAWELEMENTSINSTANCEDARBPROC __glewDrawElementsInstancedARB;
-
-GLEW_FUN_EXPORT PFNGLBINDFRAMEBUFFERPROC __glewBindFramebuffer;
-GLEW_FUN_EXPORT PFNGLBINDRENDERBUFFERPROC __glewBindRenderbuffer;
-GLEW_FUN_EXPORT PFNGLBLITFRAMEBUFFERPROC __glewBlitFramebuffer;
-GLEW_FUN_EXPORT PFNGLCHECKFRAMEBUFFERSTATUSPROC __glewCheckFramebufferStatus;
-GLEW_FUN_EXPORT PFNGLDELETEFRAMEBUFFERSPROC __glewDeleteFramebuffers;
-GLEW_FUN_EXPORT PFNGLDELETERENDERBUFFERSPROC __glewDeleteRenderbuffers;
-GLEW_FUN_EXPORT PFNGLFRAMEBUFFERRENDERBUFFERPROC __glewFramebufferRenderbuffer;
-GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURE1DPROC __glewFramebufferTexture1D;
-GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURE2DPROC __glewFramebufferTexture2D;
-GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURE3DPROC __glewFramebufferTexture3D;
-GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURELAYERPROC __glewFramebufferTextureLayer;
-GLEW_FUN_EXPORT PFNGLGENFRAMEBUFFERSPROC __glewGenFramebuffers;
-GLEW_FUN_EXPORT PFNGLGENRENDERBUFFERSPROC __glewGenRenderbuffers;
-GLEW_FUN_EXPORT PFNGLGENERATEMIPMAPPROC __glewGenerateMipmap;
-GLEW_FUN_EXPORT PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC __glewGetFramebufferAttachmentParameteriv;
-GLEW_FUN_EXPORT PFNGLGETRENDERBUFFERPARAMETERIVPROC __glewGetRenderbufferParameteriv;
-GLEW_FUN_EXPORT PFNGLISFRAMEBUFFERPROC __glewIsFramebuffer;
-GLEW_FUN_EXPORT PFNGLISRENDERBUFFERPROC __glewIsRenderbuffer;
-GLEW_FUN_EXPORT PFNGLRENDERBUFFERSTORAGEPROC __glewRenderbufferStorage;
-GLEW_FUN_EXPORT PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC __glewRenderbufferStorageMultisample;
-
-GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTUREARBPROC __glewFramebufferTextureARB;
-GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTUREFACEARBPROC __glewFramebufferTextureFaceARB;
-GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURELAYERARBPROC __glewFramebufferTextureLayerARB;
-GLEW_FUN_EXPORT PFNGLPROGRAMPARAMETERIARBPROC __glewProgramParameteriARB;
-
-GLEW_FUN_EXPORT PFNGLCOLORSUBTABLEPROC __glewColorSubTable;
-GLEW_FUN_EXPORT PFNGLCOLORTABLEPROC __glewColorTable;
-GLEW_FUN_EXPORT PFNGLCOLORTABLEPARAMETERFVPROC __glewColorTableParameterfv;
-GLEW_FUN_EXPORT PFNGLCOLORTABLEPARAMETERIVPROC __glewColorTableParameteriv;
-GLEW_FUN_EXPORT PFNGLCONVOLUTIONFILTER1DPROC __glewConvolutionFilter1D;
-GLEW_FUN_EXPORT PFNGLCONVOLUTIONFILTER2DPROC __glewConvolutionFilter2D;
-GLEW_FUN_EXPORT PFNGLCONVOLUTIONPARAMETERFPROC __glewConvolutionParameterf;
-GLEW_FUN_EXPORT PFNGLCONVOLUTIONPARAMETERFVPROC __glewConvolutionParameterfv;
-GLEW_FUN_EXPORT PFNGLCONVOLUTIONPARAMETERIPROC __glewConvolutionParameteri;
-GLEW_FUN_EXPORT PFNGLCONVOLUTIONPARAMETERIVPROC __glewConvolutionParameteriv;
-GLEW_FUN_EXPORT PFNGLCOPYCOLORSUBTABLEPROC __glewCopyColorSubTable;
-GLEW_FUN_EXPORT PFNGLCOPYCOLORTABLEPROC __glewCopyColorTable;
-GLEW_FUN_EXPORT PFNGLCOPYCONVOLUTIONFILTER1DPROC __glewCopyConvolutionFilter1D;
-GLEW_FUN_EXPORT PFNGLCOPYCONVOLUTIONFILTER2DPROC __glewCopyConvolutionFilter2D;
-GLEW_FUN_EXPORT PFNGLGETCOLORTABLEPROC __glewGetColorTable;
-GLEW_FUN_EXPORT PFNGLGETCOLORTABLEPARAMETERFVPROC __glewGetColorTableParameterfv;
-GLEW_FUN_EXPORT PFNGLGETCOLORTABLEPARAMETERIVPROC __glewGetColorTableParameteriv;
-GLEW_FUN_EXPORT PFNGLGETCONVOLUTIONFILTERPROC __glewGetConvolutionFilter;
-GLEW_FUN_EXPORT PFNGLGETCONVOLUTIONPARAMETERFVPROC __glewGetConvolutionParameterfv;
-GLEW_FUN_EXPORT PFNGLGETCONVOLUTIONPARAMETERIVPROC __glewGetConvolutionParameteriv;
-GLEW_FUN_EXPORT PFNGLGETHISTOGRAMPROC __glewGetHistogram;
-GLEW_FUN_EXPORT PFNGLGETHISTOGRAMPARAMETERFVPROC __glewGetHistogramParameterfv;
-GLEW_FUN_EXPORT PFNGLGETHISTOGRAMPARAMETERIVPROC __glewGetHistogramParameteriv;
-GLEW_FUN_EXPORT PFNGLGETMINMAXPROC __glewGetMinmax;
-GLEW_FUN_EXPORT PFNGLGETMINMAXPARAMETERFVPROC __glewGetMinmaxParameterfv;
-GLEW_FUN_EXPORT PFNGLGETMINMAXPARAMETERIVPROC __glewGetMinmaxParameteriv;
-GLEW_FUN_EXPORT PFNGLGETSEPARABLEFILTERPROC __glewGetSeparableFilter;
-GLEW_FUN_EXPORT PFNGLHISTOGRAMPROC __glewHistogram;
-GLEW_FUN_EXPORT PFNGLMINMAXPROC __glewMinmax;
-GLEW_FUN_EXPORT PFNGLRESETHISTOGRAMPROC __glewResetHistogram;
-GLEW_FUN_EXPORT PFNGLRESETMINMAXPROC __glewResetMinmax;
-GLEW_FUN_EXPORT PFNGLSEPARABLEFILTER2DPROC __glewSeparableFilter2D;
-
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBDIVISORARBPROC __glewVertexAttribDivisorARB;
-
-GLEW_FUN_EXPORT PFNGLFLUSHMAPPEDBUFFERRANGEPROC __glewFlushMappedBufferRange;
-GLEW_FUN_EXPORT PFNGLMAPBUFFERRANGEPROC __glewMapBufferRange;
-
-GLEW_FUN_EXPORT PFNGLCURRENTPALETTEMATRIXARBPROC __glewCurrentPaletteMatrixARB;
-GLEW_FUN_EXPORT PFNGLMATRIXINDEXPOINTERARBPROC __glewMatrixIndexPointerARB;
-GLEW_FUN_EXPORT PFNGLMATRIXINDEXUBVARBPROC __glewMatrixIndexubvARB;
-GLEW_FUN_EXPORT PFNGLMATRIXINDEXUIVARBPROC __glewMatrixIndexuivARB;
-GLEW_FUN_EXPORT PFNGLMATRIXINDEXUSVARBPROC __glewMatrixIndexusvARB;
-
-GLEW_FUN_EXPORT PFNGLSAMPLECOVERAGEARBPROC __glewSampleCoverageARB;
-
-GLEW_FUN_EXPORT PFNGLACTIVETEXTUREARBPROC __glewActiveTextureARB;
-GLEW_FUN_EXPORT PFNGLCLIENTACTIVETEXTUREARBPROC __glewClientActiveTextureARB;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1DARBPROC __glewMultiTexCoord1dARB;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1DVARBPROC __glewMultiTexCoord1dvARB;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1FARBPROC __glewMultiTexCoord1fARB;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1FVARBPROC __glewMultiTexCoord1fvARB;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1IARBPROC __glewMultiTexCoord1iARB;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1IVARBPROC __glewMultiTexCoord1ivARB;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1SARBPROC __glewMultiTexCoord1sARB;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1SVARBPROC __glewMultiTexCoord1svARB;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2DARBPROC __glewMultiTexCoord2dARB;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2DVARBPROC __glewMultiTexCoord2dvARB;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2FARBPROC __glewMultiTexCoord2fARB;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2FVARBPROC __glewMultiTexCoord2fvARB;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2IARBPROC __glewMultiTexCoord2iARB;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2IVARBPROC __glewMultiTexCoord2ivARB;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2SARBPROC __glewMultiTexCoord2sARB;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2SVARBPROC __glewMultiTexCoord2svARB;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3DARBPROC __glewMultiTexCoord3dARB;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3DVARBPROC __glewMultiTexCoord3dvARB;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3FARBPROC __glewMultiTexCoord3fARB;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3FVARBPROC __glewMultiTexCoord3fvARB;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3IARBPROC __glewMultiTexCoord3iARB;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3IVARBPROC __glewMultiTexCoord3ivARB;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3SARBPROC __glewMultiTexCoord3sARB;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3SVARBPROC __glewMultiTexCoord3svARB;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4DARBPROC __glewMultiTexCoord4dARB;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4DVARBPROC __glewMultiTexCoord4dvARB;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4FARBPROC __glewMultiTexCoord4fARB;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4FVARBPROC __glewMultiTexCoord4fvARB;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4IARBPROC __glewMultiTexCoord4iARB;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4IVARBPROC __glewMultiTexCoord4ivARB;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4SARBPROC __glewMultiTexCoord4sARB;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4SVARBPROC __glewMultiTexCoord4svARB;
-
-GLEW_FUN_EXPORT PFNGLBEGINQUERYARBPROC __glewBeginQueryARB;
-GLEW_FUN_EXPORT PFNGLDELETEQUERIESARBPROC __glewDeleteQueriesARB;
-GLEW_FUN_EXPORT PFNGLENDQUERYARBPROC __glewEndQueryARB;
-GLEW_FUN_EXPORT PFNGLGENQUERIESARBPROC __glewGenQueriesARB;
-GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTIVARBPROC __glewGetQueryObjectivARB;
-GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTUIVARBPROC __glewGetQueryObjectuivARB;
-GLEW_FUN_EXPORT PFNGLGETQUERYIVARBPROC __glewGetQueryivARB;
-GLEW_FUN_EXPORT PFNGLISQUERYARBPROC __glewIsQueryARB;
-
-GLEW_FUN_EXPORT PFNGLPOINTPARAMETERFARBPROC __glewPointParameterfARB;
-GLEW_FUN_EXPORT PFNGLPOINTPARAMETERFVARBPROC __glewPointParameterfvARB;
-
-GLEW_FUN_EXPORT PFNGLPROVOKINGVERTEXPROC __glewProvokingVertex;
-
-GLEW_FUN_EXPORT PFNGLMINSAMPLESHADINGARBPROC __glewMinSampleShadingARB;
-
-GLEW_FUN_EXPORT PFNGLBINDSAMPLERPROC __glewBindSampler;
-GLEW_FUN_EXPORT PFNGLDELETESAMPLERSPROC __glewDeleteSamplers;
-GLEW_FUN_EXPORT PFNGLGENSAMPLERSPROC __glewGenSamplers;
-GLEW_FUN_EXPORT PFNGLGETSAMPLERPARAMETERIIVPROC __glewGetSamplerParameterIiv;
-GLEW_FUN_EXPORT PFNGLGETSAMPLERPARAMETERIUIVPROC __glewGetSamplerParameterIuiv;
-GLEW_FUN_EXPORT PFNGLGETSAMPLERPARAMETERFVPROC __glewGetSamplerParameterfv;
-GLEW_FUN_EXPORT PFNGLGETSAMPLERPARAMETERIVPROC __glewGetSamplerParameteriv;
-GLEW_FUN_EXPORT PFNGLISSAMPLERPROC __glewIsSampler;
-GLEW_FUN_EXPORT PFNGLSAMPLERPARAMETERIIVPROC __glewSamplerParameterIiv;
-GLEW_FUN_EXPORT PFNGLSAMPLERPARAMETERIUIVPROC __glewSamplerParameterIuiv;
-GLEW_FUN_EXPORT PFNGLSAMPLERPARAMETERFPROC __glewSamplerParameterf;
-GLEW_FUN_EXPORT PFNGLSAMPLERPARAMETERFVPROC __glewSamplerParameterfv;
-GLEW_FUN_EXPORT PFNGLSAMPLERPARAMETERIPROC __glewSamplerParameteri;
-GLEW_FUN_EXPORT PFNGLSAMPLERPARAMETERIVPROC __glewSamplerParameteriv;
-
-GLEW_FUN_EXPORT PFNGLATTACHOBJECTARBPROC __glewAttachObjectARB;
-GLEW_FUN_EXPORT PFNGLCOMPILESHADERARBPROC __glewCompileShaderARB;
-GLEW_FUN_EXPORT PFNGLCREATEPROGRAMOBJECTARBPROC __glewCreateProgramObjectARB;
-GLEW_FUN_EXPORT PFNGLCREATESHADEROBJECTARBPROC __glewCreateShaderObjectARB;
-GLEW_FUN_EXPORT PFNGLDELETEOBJECTARBPROC __glewDeleteObjectARB;
-GLEW_FUN_EXPORT PFNGLDETACHOBJECTARBPROC __glewDetachObjectARB;
-GLEW_FUN_EXPORT PFNGLGETACTIVEUNIFORMARBPROC __glewGetActiveUniformARB;
-GLEW_FUN_EXPORT PFNGLGETATTACHEDOBJECTSARBPROC __glewGetAttachedObjectsARB;
-GLEW_FUN_EXPORT PFNGLGETHANDLEARBPROC __glewGetHandleARB;
-GLEW_FUN_EXPORT PFNGLGETINFOLOGARBPROC __glewGetInfoLogARB;
-GLEW_FUN_EXPORT PFNGLGETOBJECTPARAMETERFVARBPROC __glewGetObjectParameterfvARB;
-GLEW_FUN_EXPORT PFNGLGETOBJECTPARAMETERIVARBPROC __glewGetObjectParameterivARB;
-GLEW_FUN_EXPORT PFNGLGETSHADERSOURCEARBPROC __glewGetShaderSourceARB;
-GLEW_FUN_EXPORT PFNGLGETUNIFORMLOCATIONARBPROC __glewGetUniformLocationARB;
-GLEW_FUN_EXPORT PFNGLGETUNIFORMFVARBPROC __glewGetUniformfvARB;
-GLEW_FUN_EXPORT PFNGLGETUNIFORMIVARBPROC __glewGetUniformivARB;
-GLEW_FUN_EXPORT PFNGLLINKPROGRAMARBPROC __glewLinkProgramARB;
-GLEW_FUN_EXPORT PFNGLSHADERSOURCEARBPROC __glewShaderSourceARB;
-GLEW_FUN_EXPORT PFNGLUNIFORM1FARBPROC __glewUniform1fARB;
-GLEW_FUN_EXPORT PFNGLUNIFORM1FVARBPROC __glewUniform1fvARB;
-GLEW_FUN_EXPORT PFNGLUNIFORM1IARBPROC __glewUniform1iARB;
-GLEW_FUN_EXPORT PFNGLUNIFORM1IVARBPROC __glewUniform1ivARB;
-GLEW_FUN_EXPORT PFNGLUNIFORM2FARBPROC __glewUniform2fARB;
-GLEW_FUN_EXPORT PFNGLUNIFORM2FVARBPROC __glewUniform2fvARB;
-GLEW_FUN_EXPORT PFNGLUNIFORM2IARBPROC __glewUniform2iARB;
-GLEW_FUN_EXPORT PFNGLUNIFORM2IVARBPROC __glewUniform2ivARB;
-GLEW_FUN_EXPORT PFNGLUNIFORM3FARBPROC __glewUniform3fARB;
-GLEW_FUN_EXPORT PFNGLUNIFORM3FVARBPROC __glewUniform3fvARB;
-GLEW_FUN_EXPORT PFNGLUNIFORM3IARBPROC __glewUniform3iARB;
-GLEW_FUN_EXPORT PFNGLUNIFORM3IVARBPROC __glewUniform3ivARB;
-GLEW_FUN_EXPORT PFNGLUNIFORM4FARBPROC __glewUniform4fARB;
-GLEW_FUN_EXPORT PFNGLUNIFORM4FVARBPROC __glewUniform4fvARB;
-GLEW_FUN_EXPORT PFNGLUNIFORM4IARBPROC __glewUniform4iARB;
-GLEW_FUN_EXPORT PFNGLUNIFORM4IVARBPROC __glewUniform4ivARB;
-GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX2FVARBPROC __glewUniformMatrix2fvARB;
-GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX3FVARBPROC __glewUniformMatrix3fvARB;
-GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX4FVARBPROC __glewUniformMatrix4fvARB;
-GLEW_FUN_EXPORT PFNGLUSEPROGRAMOBJECTARBPROC __glewUseProgramObjectARB;
-GLEW_FUN_EXPORT PFNGLVALIDATEPROGRAMARBPROC __glewValidateProgramARB;
-
-GLEW_FUN_EXPORT PFNGLGETACTIVESUBROUTINENAMEPROC __glewGetActiveSubroutineName;
-GLEW_FUN_EXPORT PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC __glewGetActiveSubroutineUniformName;
-GLEW_FUN_EXPORT PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC __glewGetActiveSubroutineUniformiv;
-GLEW_FUN_EXPORT PFNGLGETPROGRAMSTAGEIVPROC __glewGetProgramStageiv;
-GLEW_FUN_EXPORT PFNGLGETSUBROUTINEINDEXPROC __glewGetSubroutineIndex;
-GLEW_FUN_EXPORT PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC __glewGetSubroutineUniformLocation;
-GLEW_FUN_EXPORT PFNGLGETUNIFORMSUBROUTINEUIVPROC __glewGetUniformSubroutineuiv;
-GLEW_FUN_EXPORT PFNGLUNIFORMSUBROUTINESUIVPROC __glewUniformSubroutinesuiv;
-
-GLEW_FUN_EXPORT PFNGLCOMPILESHADERINCLUDEARBPROC __glewCompileShaderIncludeARB;
-GLEW_FUN_EXPORT PFNGLDELETENAMEDSTRINGARBPROC __glewDeleteNamedStringARB;
-GLEW_FUN_EXPORT PFNGLGETNAMEDSTRINGARBPROC __glewGetNamedStringARB;
-GLEW_FUN_EXPORT PFNGLGETNAMEDSTRINGIVARBPROC __glewGetNamedStringivARB;
-GLEW_FUN_EXPORT PFNGLISNAMEDSTRINGARBPROC __glewIsNamedStringARB;
-GLEW_FUN_EXPORT PFNGLNAMEDSTRINGARBPROC __glewNamedStringARB;
-
-GLEW_FUN_EXPORT PFNGLCLIENTWAITSYNCPROC __glewClientWaitSync;
-GLEW_FUN_EXPORT PFNGLDELETESYNCPROC __glewDeleteSync;
-GLEW_FUN_EXPORT PFNGLFENCESYNCPROC __glewFenceSync;
-GLEW_FUN_EXPORT PFNGLGETINTEGER64VPROC __glewGetInteger64v;
-GLEW_FUN_EXPORT PFNGLGETSYNCIVPROC __glewGetSynciv;
-GLEW_FUN_EXPORT PFNGLISSYNCPROC __glewIsSync;
-GLEW_FUN_EXPORT PFNGLWAITSYNCPROC __glewWaitSync;
-
-GLEW_FUN_EXPORT PFNGLPATCHPARAMETERFVPROC __glewPatchParameterfv;
-GLEW_FUN_EXPORT PFNGLPATCHPARAMETERIPROC __glewPatchParameteri;
-
-GLEW_FUN_EXPORT PFNGLTEXBUFFERARBPROC __glewTexBufferARB;
-
-GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXIMAGE1DARBPROC __glewCompressedTexImage1DARB;
-GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXIMAGE2DARBPROC __glewCompressedTexImage2DARB;
-GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXIMAGE3DARBPROC __glewCompressedTexImage3DARB;
-GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC __glewCompressedTexSubImage1DARB;
-GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC __glewCompressedTexSubImage2DARB;
-GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC __glewCompressedTexSubImage3DARB;
-GLEW_FUN_EXPORT PFNGLGETCOMPRESSEDTEXIMAGEARBPROC __glewGetCompressedTexImageARB;
-
-GLEW_FUN_EXPORT PFNGLGETMULTISAMPLEFVPROC __glewGetMultisamplefv;
-GLEW_FUN_EXPORT PFNGLSAMPLEMASKIPROC __glewSampleMaski;
-GLEW_FUN_EXPORT PFNGLTEXIMAGE2DMULTISAMPLEPROC __glewTexImage2DMultisample;
-GLEW_FUN_EXPORT PFNGLTEXIMAGE3DMULTISAMPLEPROC __glewTexImage3DMultisample;
-
-GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTI64VPROC __glewGetQueryObjecti64v;
-GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTUI64VPROC __glewGetQueryObjectui64v;
-GLEW_FUN_EXPORT PFNGLQUERYCOUNTERPROC __glewQueryCounter;
-
-GLEW_FUN_EXPORT PFNGLBINDTRANSFORMFEEDBACKPROC __glewBindTransformFeedback;
-GLEW_FUN_EXPORT PFNGLDELETETRANSFORMFEEDBACKSPROC __glewDeleteTransformFeedbacks;
-GLEW_FUN_EXPORT PFNGLDRAWTRANSFORMFEEDBACKPROC __glewDrawTransformFeedback;
-GLEW_FUN_EXPORT PFNGLGENTRANSFORMFEEDBACKSPROC __glewGenTransformFeedbacks;
-GLEW_FUN_EXPORT PFNGLISTRANSFORMFEEDBACKPROC __glewIsTransformFeedback;
-GLEW_FUN_EXPORT PFNGLPAUSETRANSFORMFEEDBACKPROC __glewPauseTransformFeedback;
-GLEW_FUN_EXPORT PFNGLRESUMETRANSFORMFEEDBACKPROC __glewResumeTransformFeedback;
-
-GLEW_FUN_EXPORT PFNGLBEGINQUERYINDEXEDPROC __glewBeginQueryIndexed;
-GLEW_FUN_EXPORT PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC __glewDrawTransformFeedbackStream;
-GLEW_FUN_EXPORT PFNGLENDQUERYINDEXEDPROC __glewEndQueryIndexed;
-GLEW_FUN_EXPORT PFNGLGETQUERYINDEXEDIVPROC __glewGetQueryIndexediv;
-
-GLEW_FUN_EXPORT PFNGLLOADTRANSPOSEMATRIXDARBPROC __glewLoadTransposeMatrixdARB;
-GLEW_FUN_EXPORT PFNGLLOADTRANSPOSEMATRIXFARBPROC __glewLoadTransposeMatrixfARB;
-GLEW_FUN_EXPORT PFNGLMULTTRANSPOSEMATRIXDARBPROC __glewMultTransposeMatrixdARB;
-GLEW_FUN_EXPORT PFNGLMULTTRANSPOSEMATRIXFARBPROC __glewMultTransposeMatrixfARB;
-
-GLEW_FUN_EXPORT PFNGLBINDBUFFERBASEPROC __glewBindBufferBase;
-GLEW_FUN_EXPORT PFNGLBINDBUFFERRANGEPROC __glewBindBufferRange;
-GLEW_FUN_EXPORT PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC __glewGetActiveUniformBlockName;
-GLEW_FUN_EXPORT PFNGLGETACTIVEUNIFORMBLOCKIVPROC __glewGetActiveUniformBlockiv;
-GLEW_FUN_EXPORT PFNGLGETACTIVEUNIFORMNAMEPROC __glewGetActiveUniformName;
-GLEW_FUN_EXPORT PFNGLGETACTIVEUNIFORMSIVPROC __glewGetActiveUniformsiv;
-GLEW_FUN_EXPORT PFNGLGETINTEGERI_VPROC __glewGetIntegeri_v;
-GLEW_FUN_EXPORT PFNGLGETUNIFORMBLOCKINDEXPROC __glewGetUniformBlockIndex;
-GLEW_FUN_EXPORT PFNGLGETUNIFORMINDICESPROC __glewGetUniformIndices;
-GLEW_FUN_EXPORT PFNGLUNIFORMBLOCKBINDINGPROC __glewUniformBlockBinding;
-
-GLEW_FUN_EXPORT PFNGLBINDVERTEXARRAYPROC __glewBindVertexArray;
-GLEW_FUN_EXPORT PFNGLDELETEVERTEXARRAYSPROC __glewDeleteVertexArrays;
-GLEW_FUN_EXPORT PFNGLGENVERTEXARRAYSPROC __glewGenVertexArrays;
-GLEW_FUN_EXPORT PFNGLISVERTEXARRAYPROC __glewIsVertexArray;
-
-GLEW_FUN_EXPORT PFNGLVERTEXBLENDARBPROC __glewVertexBlendARB;
-GLEW_FUN_EXPORT PFNGLWEIGHTPOINTERARBPROC __glewWeightPointerARB;
-GLEW_FUN_EXPORT PFNGLWEIGHTBVARBPROC __glewWeightbvARB;
-GLEW_FUN_EXPORT PFNGLWEIGHTDVARBPROC __glewWeightdvARB;
-GLEW_FUN_EXPORT PFNGLWEIGHTFVARBPROC __glewWeightfvARB;
-GLEW_FUN_EXPORT PFNGLWEIGHTIVARBPROC __glewWeightivARB;
-GLEW_FUN_EXPORT PFNGLWEIGHTSVARBPROC __glewWeightsvARB;
-GLEW_FUN_EXPORT PFNGLWEIGHTUBVARBPROC __glewWeightubvARB;
-GLEW_FUN_EXPORT PFNGLWEIGHTUIVARBPROC __glewWeightuivARB;
-GLEW_FUN_EXPORT PFNGLWEIGHTUSVARBPROC __glewWeightusvARB;
-
-GLEW_FUN_EXPORT PFNGLBINDBUFFERARBPROC __glewBindBufferARB;
-GLEW_FUN_EXPORT PFNGLBUFFERDATAARBPROC __glewBufferDataARB;
-GLEW_FUN_EXPORT PFNGLBUFFERSUBDATAARBPROC __glewBufferSubDataARB;
-GLEW_FUN_EXPORT PFNGLDELETEBUFFERSARBPROC __glewDeleteBuffersARB;
-GLEW_FUN_EXPORT PFNGLGENBUFFERSARBPROC __glewGenBuffersARB;
-GLEW_FUN_EXPORT PFNGLGETBUFFERPARAMETERIVARBPROC __glewGetBufferParameterivARB;
-GLEW_FUN_EXPORT PFNGLGETBUFFERPOINTERVARBPROC __glewGetBufferPointervARB;
-GLEW_FUN_EXPORT PFNGLGETBUFFERSUBDATAARBPROC __glewGetBufferSubDataARB;
-GLEW_FUN_EXPORT PFNGLISBUFFERARBPROC __glewIsBufferARB;
-GLEW_FUN_EXPORT PFNGLMAPBUFFERARBPROC __glewMapBufferARB;
-GLEW_FUN_EXPORT PFNGLUNMAPBUFFERARBPROC __glewUnmapBufferARB;
-
-GLEW_FUN_EXPORT PFNGLBINDPROGRAMARBPROC __glewBindProgramARB;
-GLEW_FUN_EXPORT PFNGLDELETEPROGRAMSARBPROC __glewDeleteProgramsARB;
-GLEW_FUN_EXPORT PFNGLDISABLEVERTEXATTRIBARRAYARBPROC __glewDisableVertexAttribArrayARB;
-GLEW_FUN_EXPORT PFNGLENABLEVERTEXATTRIBARRAYARBPROC __glewEnableVertexAttribArrayARB;
-GLEW_FUN_EXPORT PFNGLGENPROGRAMSARBPROC __glewGenProgramsARB;
-GLEW_FUN_EXPORT PFNGLGETPROGRAMENVPARAMETERDVARBPROC __glewGetProgramEnvParameterdvARB;
-GLEW_FUN_EXPORT PFNGLGETPROGRAMENVPARAMETERFVARBPROC __glewGetProgramEnvParameterfvARB;
-GLEW_FUN_EXPORT PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC __glewGetProgramLocalParameterdvARB;
-GLEW_FUN_EXPORT PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC __glewGetProgramLocalParameterfvARB;
-GLEW_FUN_EXPORT PFNGLGETPROGRAMSTRINGARBPROC __glewGetProgramStringARB;
-GLEW_FUN_EXPORT PFNGLGETPROGRAMIVARBPROC __glewGetProgramivARB;
-GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBPOINTERVARBPROC __glewGetVertexAttribPointervARB;
-GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBDVARBPROC __glewGetVertexAttribdvARB;
-GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBFVARBPROC __glewGetVertexAttribfvARB;
-GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBIVARBPROC __glewGetVertexAttribivARB;
-GLEW_FUN_EXPORT PFNGLISPROGRAMARBPROC __glewIsProgramARB;
-GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETER4DARBPROC __glewProgramEnvParameter4dARB;
-GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETER4DVARBPROC __glewProgramEnvParameter4dvARB;
-GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETER4FARBPROC __glewProgramEnvParameter4fARB;
-GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETER4FVARBPROC __glewProgramEnvParameter4fvARB;
-GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETER4DARBPROC __glewProgramLocalParameter4dARB;
-GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETER4DVARBPROC __glewProgramLocalParameter4dvARB;
-GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETER4FARBPROC __glewProgramLocalParameter4fARB;
-GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETER4FVARBPROC __glewProgramLocalParameter4fvARB;
-GLEW_FUN_EXPORT PFNGLPROGRAMSTRINGARBPROC __glewProgramStringARB;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1DARBPROC __glewVertexAttrib1dARB;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1DVARBPROC __glewVertexAttrib1dvARB;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1FARBPROC __glewVertexAttrib1fARB;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1FVARBPROC __glewVertexAttrib1fvARB;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1SARBPROC __glewVertexAttrib1sARB;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1SVARBPROC __glewVertexAttrib1svARB;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2DARBPROC __glewVertexAttrib2dARB;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2DVARBPROC __glewVertexAttrib2dvARB;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2FARBPROC __glewVertexAttrib2fARB;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2FVARBPROC __glewVertexAttrib2fvARB;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2SARBPROC __glewVertexAttrib2sARB;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2SVARBPROC __glewVertexAttrib2svARB;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3DARBPROC __glewVertexAttrib3dARB;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3DVARBPROC __glewVertexAttrib3dvARB;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3FARBPROC __glewVertexAttrib3fARB;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3FVARBPROC __glewVertexAttrib3fvARB;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3SARBPROC __glewVertexAttrib3sARB;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3SVARBPROC __glewVertexAttrib3svARB;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NBVARBPROC __glewVertexAttrib4NbvARB;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NIVARBPROC __glewVertexAttrib4NivARB;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NSVARBPROC __glewVertexAttrib4NsvARB;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NUBARBPROC __glewVertexAttrib4NubARB;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NUBVARBPROC __glewVertexAttrib4NubvARB;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NUIVARBPROC __glewVertexAttrib4NuivARB;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NUSVARBPROC __glewVertexAttrib4NusvARB;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4BVARBPROC __glewVertexAttrib4bvARB;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4DARBPROC __glewVertexAttrib4dARB;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4DVARBPROC __glewVertexAttrib4dvARB;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4FARBPROC __glewVertexAttrib4fARB;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4FVARBPROC __glewVertexAttrib4fvARB;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4IVARBPROC __glewVertexAttrib4ivARB;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4SARBPROC __glewVertexAttrib4sARB;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4SVARBPROC __glewVertexAttrib4svARB;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4UBVARBPROC __glewVertexAttrib4ubvARB;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4UIVARBPROC __glewVertexAttrib4uivARB;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4USVARBPROC __glewVertexAttrib4usvARB;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBPOINTERARBPROC __glewVertexAttribPointerARB;
-
-GLEW_FUN_EXPORT PFNGLBINDATTRIBLOCATIONARBPROC __glewBindAttribLocationARB;
-GLEW_FUN_EXPORT PFNGLGETACTIVEATTRIBARBPROC __glewGetActiveAttribARB;
-GLEW_FUN_EXPORT PFNGLGETATTRIBLOCATIONARBPROC __glewGetAttribLocationARB;
-
-GLEW_FUN_EXPORT PFNGLCOLORP3UIPROC __glewColorP3ui;
-GLEW_FUN_EXPORT PFNGLCOLORP3UIVPROC __glewColorP3uiv;
-GLEW_FUN_EXPORT PFNGLCOLORP4UIPROC __glewColorP4ui;
-GLEW_FUN_EXPORT PFNGLCOLORP4UIVPROC __glewColorP4uiv;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORDP1UIPROC __glewMultiTexCoordP1ui;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORDP1UIVPROC __glewMultiTexCoordP1uiv;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORDP2UIPROC __glewMultiTexCoordP2ui;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORDP2UIVPROC __glewMultiTexCoordP2uiv;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORDP3UIPROC __glewMultiTexCoordP3ui;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORDP3UIVPROC __glewMultiTexCoordP3uiv;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORDP4UIPROC __glewMultiTexCoordP4ui;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORDP4UIVPROC __glewMultiTexCoordP4uiv;
-GLEW_FUN_EXPORT PFNGLNORMALP3UIPROC __glewNormalP3ui;
-GLEW_FUN_EXPORT PFNGLNORMALP3UIVPROC __glewNormalP3uiv;
-GLEW_FUN_EXPORT PFNGLSECONDARYCOLORP3UIPROC __glewSecondaryColorP3ui;
-GLEW_FUN_EXPORT PFNGLSECONDARYCOLORP3UIVPROC __glewSecondaryColorP3uiv;
-GLEW_FUN_EXPORT PFNGLTEXCOORDP1UIPROC __glewTexCoordP1ui;
-GLEW_FUN_EXPORT PFNGLTEXCOORDP1UIVPROC __glewTexCoordP1uiv;
-GLEW_FUN_EXPORT PFNGLTEXCOORDP2UIPROC __glewTexCoordP2ui;
-GLEW_FUN_EXPORT PFNGLTEXCOORDP2UIVPROC __glewTexCoordP2uiv;
-GLEW_FUN_EXPORT PFNGLTEXCOORDP3UIPROC __glewTexCoordP3ui;
-GLEW_FUN_EXPORT PFNGLTEXCOORDP3UIVPROC __glewTexCoordP3uiv;
-GLEW_FUN_EXPORT PFNGLTEXCOORDP4UIPROC __glewTexCoordP4ui;
-GLEW_FUN_EXPORT PFNGLTEXCOORDP4UIVPROC __glewTexCoordP4uiv;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBP1UIPROC __glewVertexAttribP1ui;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBP1UIVPROC __glewVertexAttribP1uiv;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBP2UIPROC __glewVertexAttribP2ui;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBP2UIVPROC __glewVertexAttribP2uiv;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBP3UIPROC __glewVertexAttribP3ui;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBP3UIVPROC __glewVertexAttribP3uiv;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBP4UIPROC __glewVertexAttribP4ui;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBP4UIVPROC __glewVertexAttribP4uiv;
-GLEW_FUN_EXPORT PFNGLVERTEXP2UIPROC __glewVertexP2ui;
-GLEW_FUN_EXPORT PFNGLVERTEXP2UIVPROC __glewVertexP2uiv;
-GLEW_FUN_EXPORT PFNGLVERTEXP3UIPROC __glewVertexP3ui;
-GLEW_FUN_EXPORT PFNGLVERTEXP3UIVPROC __glewVertexP3uiv;
-GLEW_FUN_EXPORT PFNGLVERTEXP4UIPROC __glewVertexP4ui;
-GLEW_FUN_EXPORT PFNGLVERTEXP4UIVPROC __glewVertexP4uiv;
-
-GLEW_FUN_EXPORT PFNGLWINDOWPOS2DARBPROC __glewWindowPos2dARB;
-GLEW_FUN_EXPORT PFNGLWINDOWPOS2DVARBPROC __glewWindowPos2dvARB;
-GLEW_FUN_EXPORT PFNGLWINDOWPOS2FARBPROC __glewWindowPos2fARB;
-GLEW_FUN_EXPORT PFNGLWINDOWPOS2FVARBPROC __glewWindowPos2fvARB;
-GLEW_FUN_EXPORT PFNGLWINDOWPOS2IARBPROC __glewWindowPos2iARB;
-GLEW_FUN_EXPORT PFNGLWINDOWPOS2IVARBPROC __glewWindowPos2ivARB;
-GLEW_FUN_EXPORT PFNGLWINDOWPOS2SARBPROC __glewWindowPos2sARB;
-GLEW_FUN_EXPORT PFNGLWINDOWPOS2SVARBPROC __glewWindowPos2svARB;
-GLEW_FUN_EXPORT PFNGLWINDOWPOS3DARBPROC __glewWindowPos3dARB;
-GLEW_FUN_EXPORT PFNGLWINDOWPOS3DVARBPROC __glewWindowPos3dvARB;
-GLEW_FUN_EXPORT PFNGLWINDOWPOS3FARBPROC __glewWindowPos3fARB;
-GLEW_FUN_EXPORT PFNGLWINDOWPOS3FVARBPROC __glewWindowPos3fvARB;
-GLEW_FUN_EXPORT PFNGLWINDOWPOS3IARBPROC __glewWindowPos3iARB;
-GLEW_FUN_EXPORT PFNGLWINDOWPOS3IVARBPROC __glewWindowPos3ivARB;
-GLEW_FUN_EXPORT PFNGLWINDOWPOS3SARBPROC __glewWindowPos3sARB;
-GLEW_FUN_EXPORT PFNGLWINDOWPOS3SVARBPROC __glewWindowPos3svARB;
-
-GLEW_FUN_EXPORT PFNGLDRAWBUFFERSATIPROC __glewDrawBuffersATI;
-
-GLEW_FUN_EXPORT PFNGLDRAWELEMENTARRAYATIPROC __glewDrawElementArrayATI;
-GLEW_FUN_EXPORT PFNGLDRAWRANGEELEMENTARRAYATIPROC __glewDrawRangeElementArrayATI;
-GLEW_FUN_EXPORT PFNGLELEMENTPOINTERATIPROC __glewElementPointerATI;
-
-GLEW_FUN_EXPORT PFNGLGETTEXBUMPPARAMETERFVATIPROC __glewGetTexBumpParameterfvATI;
-GLEW_FUN_EXPORT PFNGLGETTEXBUMPPARAMETERIVATIPROC __glewGetTexBumpParameterivATI;
-GLEW_FUN_EXPORT PFNGLTEXBUMPPARAMETERFVATIPROC __glewTexBumpParameterfvATI;
-GLEW_FUN_EXPORT PFNGLTEXBUMPPARAMETERIVATIPROC __glewTexBumpParameterivATI;
-
-GLEW_FUN_EXPORT PFNGLALPHAFRAGMENTOP1ATIPROC __glewAlphaFragmentOp1ATI;
-GLEW_FUN_EXPORT PFNGLALPHAFRAGMENTOP2ATIPROC __glewAlphaFragmentOp2ATI;
-GLEW_FUN_EXPORT PFNGLALPHAFRAGMENTOP3ATIPROC __glewAlphaFragmentOp3ATI;
-GLEW_FUN_EXPORT PFNGLBEGINFRAGMENTSHADERATIPROC __glewBeginFragmentShaderATI;
-GLEW_FUN_EXPORT PFNGLBINDFRAGMENTSHADERATIPROC __glewBindFragmentShaderATI;
-GLEW_FUN_EXPORT PFNGLCOLORFRAGMENTOP1ATIPROC __glewColorFragmentOp1ATI;
-GLEW_FUN_EXPORT PFNGLCOLORFRAGMENTOP2ATIPROC __glewColorFragmentOp2ATI;
-GLEW_FUN_EXPORT PFNGLCOLORFRAGMENTOP3ATIPROC __glewColorFragmentOp3ATI;
-GLEW_FUN_EXPORT PFNGLDELETEFRAGMENTSHADERATIPROC __glewDeleteFragmentShaderATI;
-GLEW_FUN_EXPORT PFNGLENDFRAGMENTSHADERATIPROC __glewEndFragmentShaderATI;
-GLEW_FUN_EXPORT PFNGLGENFRAGMENTSHADERSATIPROC __glewGenFragmentShadersATI;
-GLEW_FUN_EXPORT PFNGLPASSTEXCOORDATIPROC __glewPassTexCoordATI;
-GLEW_FUN_EXPORT PFNGLSAMPLEMAPATIPROC __glewSampleMapATI;
-GLEW_FUN_EXPORT PFNGLSETFRAGMENTSHADERCONSTANTATIPROC __glewSetFragmentShaderConstantATI;
-
-GLEW_FUN_EXPORT PFNGLMAPOBJECTBUFFERATIPROC __glewMapObjectBufferATI;
-GLEW_FUN_EXPORT PFNGLUNMAPOBJECTBUFFERATIPROC __glewUnmapObjectBufferATI;
-
-GLEW_FUN_EXPORT PFNGLPNTRIANGLESFATIPROC __glPNTrianglewesfATI;
-GLEW_FUN_EXPORT PFNGLPNTRIANGLESIATIPROC __glPNTrianglewesiATI;
-
-GLEW_FUN_EXPORT PFNGLSTENCILFUNCSEPARATEATIPROC __glewStencilFuncSeparateATI;
-GLEW_FUN_EXPORT PFNGLSTENCILOPSEPARATEATIPROC __glewStencilOpSeparateATI;
-
-GLEW_FUN_EXPORT PFNGLARRAYOBJECTATIPROC __glewArrayObjectATI;
-GLEW_FUN_EXPORT PFNGLFREEOBJECTBUFFERATIPROC __glewFreeObjectBufferATI;
-GLEW_FUN_EXPORT PFNGLGETARRAYOBJECTFVATIPROC __glewGetArrayObjectfvATI;
-GLEW_FUN_EXPORT PFNGLGETARRAYOBJECTIVATIPROC __glewGetArrayObjectivATI;
-GLEW_FUN_EXPORT PFNGLGETOBJECTBUFFERFVATIPROC __glewGetObjectBufferfvATI;
-GLEW_FUN_EXPORT PFNGLGETOBJECTBUFFERIVATIPROC __glewGetObjectBufferivATI;
-GLEW_FUN_EXPORT PFNGLGETVARIANTARRAYOBJECTFVATIPROC __glewGetVariantArrayObjectfvATI;
-GLEW_FUN_EXPORT PFNGLGETVARIANTARRAYOBJECTIVATIPROC __glewGetVariantArrayObjectivATI;
-GLEW_FUN_EXPORT PFNGLISOBJECTBUFFERATIPROC __glewIsObjectBufferATI;
-GLEW_FUN_EXPORT PFNGLNEWOBJECTBUFFERATIPROC __glewNewObjectBufferATI;
-GLEW_FUN_EXPORT PFNGLUPDATEOBJECTBUFFERATIPROC __glewUpdateObjectBufferATI;
-GLEW_FUN_EXPORT PFNGLVARIANTARRAYOBJECTATIPROC __glewVariantArrayObjectATI;
-
-GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC __glewGetVertexAttribArrayObjectfvATI;
-GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC __glewGetVertexAttribArrayObjectivATI;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBARRAYOBJECTATIPROC __glewVertexAttribArrayObjectATI;
-
-GLEW_FUN_EXPORT PFNGLCLIENTACTIVEVERTEXSTREAMATIPROC __glewClientActiveVertexStreamATI;
-GLEW_FUN_EXPORT PFNGLNORMALSTREAM3BATIPROC __glewNormalStream3bATI;
-GLEW_FUN_EXPORT PFNGLNORMALSTREAM3BVATIPROC __glewNormalStream3bvATI;
-GLEW_FUN_EXPORT PFNGLNORMALSTREAM3DATIPROC __glewNormalStream3dATI;
-GLEW_FUN_EXPORT PFNGLNORMALSTREAM3DVATIPROC __glewNormalStream3dvATI;
-GLEW_FUN_EXPORT PFNGLNORMALSTREAM3FATIPROC __glewNormalStream3fATI;
-GLEW_FUN_EXPORT PFNGLNORMALSTREAM3FVATIPROC __glewNormalStream3fvATI;
-GLEW_FUN_EXPORT PFNGLNORMALSTREAM3IATIPROC __glewNormalStream3iATI;
-GLEW_FUN_EXPORT PFNGLNORMALSTREAM3IVATIPROC __glewNormalStream3ivATI;
-GLEW_FUN_EXPORT PFNGLNORMALSTREAM3SATIPROC __glewNormalStream3sATI;
-GLEW_FUN_EXPORT PFNGLNORMALSTREAM3SVATIPROC __glewNormalStream3svATI;
-GLEW_FUN_EXPORT PFNGLVERTEXBLENDENVFATIPROC __glewVertexBlendEnvfATI;
-GLEW_FUN_EXPORT PFNGLVERTEXBLENDENVIATIPROC __glewVertexBlendEnviATI;
-GLEW_FUN_EXPORT PFNGLVERTEXSTREAM2DATIPROC __glewVertexStream2dATI;
-GLEW_FUN_EXPORT PFNGLVERTEXSTREAM2DVATIPROC __glewVertexStream2dvATI;
-GLEW_FUN_EXPORT PFNGLVERTEXSTREAM2FATIPROC __glewVertexStream2fATI;
-GLEW_FUN_EXPORT PFNGLVERTEXSTREAM2FVATIPROC __glewVertexStream2fvATI;
-GLEW_FUN_EXPORT PFNGLVERTEXSTREAM2IATIPROC __glewVertexStream2iATI;
-GLEW_FUN_EXPORT PFNGLVERTEXSTREAM2IVATIPROC __glewVertexStream2ivATI;
-GLEW_FUN_EXPORT PFNGLVERTEXSTREAM2SATIPROC __glewVertexStream2sATI;
-GLEW_FUN_EXPORT PFNGLVERTEXSTREAM2SVATIPROC __glewVertexStream2svATI;
-GLEW_FUN_EXPORT PFNGLVERTEXSTREAM3DATIPROC __glewVertexStream3dATI;
-GLEW_FUN_EXPORT PFNGLVERTEXSTREAM3DVATIPROC __glewVertexStream3dvATI;
-GLEW_FUN_EXPORT PFNGLVERTEXSTREAM3FATIPROC __glewVertexStream3fATI;
-GLEW_FUN_EXPORT PFNGLVERTEXSTREAM3FVATIPROC __glewVertexStream3fvATI;
-GLEW_FUN_EXPORT PFNGLVERTEXSTREAM3IATIPROC __glewVertexStream3iATI;
-GLEW_FUN_EXPORT PFNGLVERTEXSTREAM3IVATIPROC __glewVertexStream3ivATI;
-GLEW_FUN_EXPORT PFNGLVERTEXSTREAM3SATIPROC __glewVertexStream3sATI;
-GLEW_FUN_EXPORT PFNGLVERTEXSTREAM3SVATIPROC __glewVertexStream3svATI;
-GLEW_FUN_EXPORT PFNGLVERTEXSTREAM4DATIPROC __glewVertexStream4dATI;
-GLEW_FUN_EXPORT PFNGLVERTEXSTREAM4DVATIPROC __glewVertexStream4dvATI;
-GLEW_FUN_EXPORT PFNGLVERTEXSTREAM4FATIPROC __glewVertexStream4fATI;
-GLEW_FUN_EXPORT PFNGLVERTEXSTREAM4FVATIPROC __glewVertexStream4fvATI;
-GLEW_FUN_EXPORT PFNGLVERTEXSTREAM4IATIPROC __glewVertexStream4iATI;
-GLEW_FUN_EXPORT PFNGLVERTEXSTREAM4IVATIPROC __glewVertexStream4ivATI;
-GLEW_FUN_EXPORT PFNGLVERTEXSTREAM4SATIPROC __glewVertexStream4sATI;
-GLEW_FUN_EXPORT PFNGLVERTEXSTREAM4SVATIPROC __glewVertexStream4svATI;
-
-GLEW_FUN_EXPORT PFNGLGETUNIFORMBUFFERSIZEEXTPROC __glewGetUniformBufferSizeEXT;
-GLEW_FUN_EXPORT PFNGLGETUNIFORMOFFSETEXTPROC __glewGetUniformOffsetEXT;
-GLEW_FUN_EXPORT PFNGLUNIFORMBUFFEREXTPROC __glewUniformBufferEXT;
-
-GLEW_FUN_EXPORT PFNGLBLENDCOLOREXTPROC __glewBlendColorEXT;
-
-GLEW_FUN_EXPORT PFNGLBLENDEQUATIONSEPARATEEXTPROC __glewBlendEquationSeparateEXT;
-
-GLEW_FUN_EXPORT PFNGLBLENDFUNCSEPARATEEXTPROC __glewBlendFuncSeparateEXT;
-
-GLEW_FUN_EXPORT PFNGLBLENDEQUATIONEXTPROC __glewBlendEquationEXT;
-
-GLEW_FUN_EXPORT PFNGLCOLORSUBTABLEEXTPROC __glewColorSubTableEXT;
-GLEW_FUN_EXPORT PFNGLCOPYCOLORSUBTABLEEXTPROC __glewCopyColorSubTableEXT;
-
-GLEW_FUN_EXPORT PFNGLLOCKARRAYSEXTPROC __glewLockArraysEXT;
-GLEW_FUN_EXPORT PFNGLUNLOCKARRAYSEXTPROC __glewUnlockArraysEXT;
-
-GLEW_FUN_EXPORT PFNGLCONVOLUTIONFILTER1DEXTPROC __glewConvolutionFilter1DEXT;
-GLEW_FUN_EXPORT PFNGLCONVOLUTIONFILTER2DEXTPROC __glewConvolutionFilter2DEXT;
-GLEW_FUN_EXPORT PFNGLCONVOLUTIONPARAMETERFEXTPROC __glewConvolutionParameterfEXT;
-GLEW_FUN_EXPORT PFNGLCONVOLUTIONPARAMETERFVEXTPROC __glewConvolutionParameterfvEXT;
-GLEW_FUN_EXPORT PFNGLCONVOLUTIONPARAMETERIEXTPROC __glewConvolutionParameteriEXT;
-GLEW_FUN_EXPORT PFNGLCONVOLUTIONPARAMETERIVEXTPROC __glewConvolutionParameterivEXT;
-GLEW_FUN_EXPORT PFNGLCOPYCONVOLUTIONFILTER1DEXTPROC __glewCopyConvolutionFilter1DEXT;
-GLEW_FUN_EXPORT PFNGLCOPYCONVOLUTIONFILTER2DEXTPROC __glewCopyConvolutionFilter2DEXT;
-GLEW_FUN_EXPORT PFNGLGETCONVOLUTIONFILTEREXTPROC __glewGetConvolutionFilterEXT;
-GLEW_FUN_EXPORT PFNGLGETCONVOLUTIONPARAMETERFVEXTPROC __glewGetConvolutionParameterfvEXT;
-GLEW_FUN_EXPORT PFNGLGETCONVOLUTIONPARAMETERIVEXTPROC __glewGetConvolutionParameterivEXT;
-GLEW_FUN_EXPORT PFNGLGETSEPARABLEFILTEREXTPROC __glewGetSeparableFilterEXT;
-GLEW_FUN_EXPORT PFNGLSEPARABLEFILTER2DEXTPROC __glewSeparableFilter2DEXT;
-
-GLEW_FUN_EXPORT PFNGLBINORMALPOINTEREXTPROC __glewBinormalPointerEXT;
-GLEW_FUN_EXPORT PFNGLTANGENTPOINTEREXTPROC __glewTangentPointerEXT;
-
-GLEW_FUN_EXPORT PFNGLCOPYTEXIMAGE1DEXTPROC __glewCopyTexImage1DEXT;
-GLEW_FUN_EXPORT PFNGLCOPYTEXIMAGE2DEXTPROC __glewCopyTexImage2DEXT;
-GLEW_FUN_EXPORT PFNGLCOPYTEXSUBIMAGE1DEXTPROC __glewCopyTexSubImage1DEXT;
-GLEW_FUN_EXPORT PFNGLCOPYTEXSUBIMAGE2DEXTPROC __glewCopyTexSubImage2DEXT;
-GLEW_FUN_EXPORT PFNGLCOPYTEXSUBIMAGE3DEXTPROC __glewCopyTexSubImage3DEXT;
-
-GLEW_FUN_EXPORT PFNGLCULLPARAMETERDVEXTPROC __glewCullParameterdvEXT;
-GLEW_FUN_EXPORT PFNGLCULLPARAMETERFVEXTPROC __glewCullParameterfvEXT;
-
-GLEW_FUN_EXPORT PFNGLDEPTHBOUNDSEXTPROC __glewDepthBoundsEXT;
-
-GLEW_FUN_EXPORT PFNGLBINDMULTITEXTUREEXTPROC __glewBindMultiTextureEXT;
-GLEW_FUN_EXPORT PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC __glewCheckNamedFramebufferStatusEXT;
-GLEW_FUN_EXPORT PFNGLCLIENTATTRIBDEFAULTEXTPROC __glewClientAttribDefaultEXT;
-GLEW_FUN_EXPORT PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC __glewCompressedMultiTexImage1DEXT;
-GLEW_FUN_EXPORT PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC __glewCompressedMultiTexImage2DEXT;
-GLEW_FUN_EXPORT PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC __glewCompressedMultiTexImage3DEXT;
-GLEW_FUN_EXPORT PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC __glewCompressedMultiTexSubImage1DEXT;
-GLEW_FUN_EXPORT PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC __glewCompressedMultiTexSubImage2DEXT;
-GLEW_FUN_EXPORT PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC __glewCompressedMultiTexSubImage3DEXT;
-GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC __glewCompressedTextureImage1DEXT;
-GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC __glewCompressedTextureImage2DEXT;
-GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC __glewCompressedTextureImage3DEXT;
-GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC __glewCompressedTextureSubImage1DEXT;
-GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC __glewCompressedTextureSubImage2DEXT;
-GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC __glewCompressedTextureSubImage3DEXT;
-GLEW_FUN_EXPORT PFNGLCOPYMULTITEXIMAGE1DEXTPROC __glewCopyMultiTexImage1DEXT;
-GLEW_FUN_EXPORT PFNGLCOPYMULTITEXIMAGE2DEXTPROC __glewCopyMultiTexImage2DEXT;
-GLEW_FUN_EXPORT PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC __glewCopyMultiTexSubImage1DEXT;
-GLEW_FUN_EXPORT PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC __glewCopyMultiTexSubImage2DEXT;
-GLEW_FUN_EXPORT PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC __glewCopyMultiTexSubImage3DEXT;
-GLEW_FUN_EXPORT PFNGLCOPYTEXTUREIMAGE1DEXTPROC __glewCopyTextureImage1DEXT;
-GLEW_FUN_EXPORT PFNGLCOPYTEXTUREIMAGE2DEXTPROC __glewCopyTextureImage2DEXT;
-GLEW_FUN_EXPORT PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC __glewCopyTextureSubImage1DEXT;
-GLEW_FUN_EXPORT PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC __glewCopyTextureSubImage2DEXT;
-GLEW_FUN_EXPORT PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC __glewCopyTextureSubImage3DEXT;
-GLEW_FUN_EXPORT PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC __glewDisableClientStateIndexedEXT;
-GLEW_FUN_EXPORT PFNGLDISABLECLIENTSTATEIEXTPROC __glewDisableClientStateiEXT;
-GLEW_FUN_EXPORT PFNGLDISABLEVERTEXARRAYATTRIBEXTPROC __glewDisableVertexArrayAttribEXT;
-GLEW_FUN_EXPORT PFNGLDISABLEVERTEXARRAYEXTPROC __glewDisableVertexArrayEXT;
-GLEW_FUN_EXPORT PFNGLENABLECLIENTSTATEINDEXEDEXTPROC __glewEnableClientStateIndexedEXT;
-GLEW_FUN_EXPORT PFNGLENABLECLIENTSTATEIEXTPROC __glewEnableClientStateiEXT;
-GLEW_FUN_EXPORT PFNGLENABLEVERTEXARRAYATTRIBEXTPROC __glewEnableVertexArrayAttribEXT;
-GLEW_FUN_EXPORT PFNGLENABLEVERTEXARRAYEXTPROC __glewEnableVertexArrayEXT;
-GLEW_FUN_EXPORT PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC __glewFlushMappedNamedBufferRangeEXT;
-GLEW_FUN_EXPORT PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC __glewFramebufferDrawBufferEXT;
-GLEW_FUN_EXPORT PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC __glewFramebufferDrawBuffersEXT;
-GLEW_FUN_EXPORT PFNGLFRAMEBUFFERREADBUFFEREXTPROC __glewFramebufferReadBufferEXT;
-GLEW_FUN_EXPORT PFNGLGENERATEMULTITEXMIPMAPEXTPROC __glewGenerateMultiTexMipmapEXT;
-GLEW_FUN_EXPORT PFNGLGENERATETEXTUREMIPMAPEXTPROC __glewGenerateTextureMipmapEXT;
-GLEW_FUN_EXPORT PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC __glewGetCompressedMultiTexImageEXT;
-GLEW_FUN_EXPORT PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC __glewGetCompressedTextureImageEXT;
-GLEW_FUN_EXPORT PFNGLGETDOUBLEINDEXEDVEXTPROC __glewGetDoubleIndexedvEXT;
-GLEW_FUN_EXPORT PFNGLGETDOUBLEI_VEXTPROC __glewGetDoublei_vEXT;
-GLEW_FUN_EXPORT PFNGLGETFLOATINDEXEDVEXTPROC __glewGetFloatIndexedvEXT;
-GLEW_FUN_EXPORT PFNGLGETFLOATI_VEXTPROC __glewGetFloati_vEXT;
-GLEW_FUN_EXPORT PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC __glewGetFramebufferParameterivEXT;
-GLEW_FUN_EXPORT PFNGLGETMULTITEXENVFVEXTPROC __glewGetMultiTexEnvfvEXT;
-GLEW_FUN_EXPORT PFNGLGETMULTITEXENVIVEXTPROC __glewGetMultiTexEnvivEXT;
-GLEW_FUN_EXPORT PFNGLGETMULTITEXGENDVEXTPROC __glewGetMultiTexGendvEXT;
-GLEW_FUN_EXPORT PFNGLGETMULTITEXGENFVEXTPROC __glewGetMultiTexGenfvEXT;
-GLEW_FUN_EXPORT PFNGLGETMULTITEXGENIVEXTPROC __glewGetMultiTexGenivEXT;
-GLEW_FUN_EXPORT PFNGLGETMULTITEXIMAGEEXTPROC __glewGetMultiTexImageEXT;
-GLEW_FUN_EXPORT PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC __glewGetMultiTexLevelParameterfvEXT;
-GLEW_FUN_EXPORT PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC __glewGetMultiTexLevelParameterivEXT;
-GLEW_FUN_EXPORT PFNGLGETMULTITEXPARAMETERIIVEXTPROC __glewGetMultiTexParameterIivEXT;
-GLEW_FUN_EXPORT PFNGLGETMULTITEXPARAMETERIUIVEXTPROC __glewGetMultiTexParameterIuivEXT;
-GLEW_FUN_EXPORT PFNGLGETMULTITEXPARAMETERFVEXTPROC __glewGetMultiTexParameterfvEXT;
-GLEW_FUN_EXPORT PFNGLGETMULTITEXPARAMETERIVEXTPROC __glewGetMultiTexParameterivEXT;
-GLEW_FUN_EXPORT PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC __glewGetNamedBufferParameterivEXT;
-GLEW_FUN_EXPORT PFNGLGETNAMEDBUFFERPOINTERVEXTPROC __glewGetNamedBufferPointervEXT;
-GLEW_FUN_EXPORT PFNGLGETNAMEDBUFFERSUBDATAEXTPROC __glewGetNamedBufferSubDataEXT;
-GLEW_FUN_EXPORT PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC __glewGetNamedFramebufferAttachmentParameterivEXT;
-GLEW_FUN_EXPORT PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC __glewGetNamedProgramLocalParameterIivEXT;
-GLEW_FUN_EXPORT PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC __glewGetNamedProgramLocalParameterIuivEXT;
-GLEW_FUN_EXPORT PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC __glewGetNamedProgramLocalParameterdvEXT;
-GLEW_FUN_EXPORT PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC __glewGetNamedProgramLocalParameterfvEXT;
-GLEW_FUN_EXPORT PFNGLGETNAMEDPROGRAMSTRINGEXTPROC __glewGetNamedProgramStringEXT;
-GLEW_FUN_EXPORT PFNGLGETNAMEDPROGRAMIVEXTPROC __glewGetNamedProgramivEXT;
-GLEW_FUN_EXPORT PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC __glewGetNamedRenderbufferParameterivEXT;
-GLEW_FUN_EXPORT PFNGLGETPOINTERINDEXEDVEXTPROC __glewGetPointerIndexedvEXT;
-GLEW_FUN_EXPORT PFNGLGETPOINTERI_VEXTPROC __glewGetPointeri_vEXT;
-GLEW_FUN_EXPORT PFNGLGETTEXTUREIMAGEEXTPROC __glewGetTextureImageEXT;
-GLEW_FUN_EXPORT PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC __glewGetTextureLevelParameterfvEXT;
-GLEW_FUN_EXPORT PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC __glewGetTextureLevelParameterivEXT;
-GLEW_FUN_EXPORT PFNGLGETTEXTUREPARAMETERIIVEXTPROC __glewGetTextureParameterIivEXT;
-GLEW_FUN_EXPORT PFNGLGETTEXTUREPARAMETERIUIVEXTPROC __glewGetTextureParameterIuivEXT;
-GLEW_FUN_EXPORT PFNGLGETTEXTUREPARAMETERFVEXTPROC __glewGetTextureParameterfvEXT;
-GLEW_FUN_EXPORT PFNGLGETTEXTUREPARAMETERIVEXTPROC __glewGetTextureParameterivEXT;
-GLEW_FUN_EXPORT PFNGLGETVERTEXARRAYINTEGERI_VEXTPROC __glewGetVertexArrayIntegeri_vEXT;
-GLEW_FUN_EXPORT PFNGLGETVERTEXARRAYINTEGERVEXTPROC __glewGetVertexArrayIntegervEXT;
-GLEW_FUN_EXPORT PFNGLGETVERTEXARRAYPOINTERI_VEXTPROC __glewGetVertexArrayPointeri_vEXT;
-GLEW_FUN_EXPORT PFNGLGETVERTEXARRAYPOINTERVEXTPROC __glewGetVertexArrayPointervEXT;
-GLEW_FUN_EXPORT PFNGLMAPNAMEDBUFFEREXTPROC __glewMapNamedBufferEXT;
-GLEW_FUN_EXPORT PFNGLMAPNAMEDBUFFERRANGEEXTPROC __glewMapNamedBufferRangeEXT;
-GLEW_FUN_EXPORT PFNGLMATRIXFRUSTUMEXTPROC __glewMatrixFrustumEXT;
-GLEW_FUN_EXPORT PFNGLMATRIXLOADIDENTITYEXTPROC __glewMatrixLoadIdentityEXT;
-GLEW_FUN_EXPORT PFNGLMATRIXLOADTRANSPOSEDEXTPROC __glewMatrixLoadTransposedEXT;
-GLEW_FUN_EXPORT PFNGLMATRIXLOADTRANSPOSEFEXTPROC __glewMatrixLoadTransposefEXT;
-GLEW_FUN_EXPORT PFNGLMATRIXLOADDEXTPROC __glewMatrixLoaddEXT;
-GLEW_FUN_EXPORT PFNGLMATRIXLOADFEXTPROC __glewMatrixLoadfEXT;
-GLEW_FUN_EXPORT PFNGLMATRIXMULTTRANSPOSEDEXTPROC __glewMatrixMultTransposedEXT;
-GLEW_FUN_EXPORT PFNGLMATRIXMULTTRANSPOSEFEXTPROC __glewMatrixMultTransposefEXT;
-GLEW_FUN_EXPORT PFNGLMATRIXMULTDEXTPROC __glewMatrixMultdEXT;
-GLEW_FUN_EXPORT PFNGLMATRIXMULTFEXTPROC __glewMatrixMultfEXT;
-GLEW_FUN_EXPORT PFNGLMATRIXORTHOEXTPROC __glewMatrixOrthoEXT;
-GLEW_FUN_EXPORT PFNGLMATRIXPOPEXTPROC __glewMatrixPopEXT;
-GLEW_FUN_EXPORT PFNGLMATRIXPUSHEXTPROC __glewMatrixPushEXT;
-GLEW_FUN_EXPORT PFNGLMATRIXROTATEDEXTPROC __glewMatrixRotatedEXT;
-GLEW_FUN_EXPORT PFNGLMATRIXROTATEFEXTPROC __glewMatrixRotatefEXT;
-GLEW_FUN_EXPORT PFNGLMATRIXSCALEDEXTPROC __glewMatrixScaledEXT;
-GLEW_FUN_EXPORT PFNGLMATRIXSCALEFEXTPROC __glewMatrixScalefEXT;
-GLEW_FUN_EXPORT PFNGLMATRIXTRANSLATEDEXTPROC __glewMatrixTranslatedEXT;
-GLEW_FUN_EXPORT PFNGLMATRIXTRANSLATEFEXTPROC __glewMatrixTranslatefEXT;
-GLEW_FUN_EXPORT PFNGLMULTITEXBUFFEREXTPROC __glewMultiTexBufferEXT;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORDPOINTEREXTPROC __glewMultiTexCoordPointerEXT;
-GLEW_FUN_EXPORT PFNGLMULTITEXENVFEXTPROC __glewMultiTexEnvfEXT;
-GLEW_FUN_EXPORT PFNGLMULTITEXENVFVEXTPROC __glewMultiTexEnvfvEXT;
-GLEW_FUN_EXPORT PFNGLMULTITEXENVIEXTPROC __glewMultiTexEnviEXT;
-GLEW_FUN_EXPORT PFNGLMULTITEXENVIVEXTPROC __glewMultiTexEnvivEXT;
-GLEW_FUN_EXPORT PFNGLMULTITEXGENDEXTPROC __glewMultiTexGendEXT;
-GLEW_FUN_EXPORT PFNGLMULTITEXGENDVEXTPROC __glewMultiTexGendvEXT;
-GLEW_FUN_EXPORT PFNGLMULTITEXGENFEXTPROC __glewMultiTexGenfEXT;
-GLEW_FUN_EXPORT PFNGLMULTITEXGENFVEXTPROC __glewMultiTexGenfvEXT;
-GLEW_FUN_EXPORT PFNGLMULTITEXGENIEXTPROC __glewMultiTexGeniEXT;
-GLEW_FUN_EXPORT PFNGLMULTITEXGENIVEXTPROC __glewMultiTexGenivEXT;
-GLEW_FUN_EXPORT PFNGLMULTITEXIMAGE1DEXTPROC __glewMultiTexImage1DEXT;
-GLEW_FUN_EXPORT PFNGLMULTITEXIMAGE2DEXTPROC __glewMultiTexImage2DEXT;
-GLEW_FUN_EXPORT PFNGLMULTITEXIMAGE3DEXTPROC __glewMultiTexImage3DEXT;
-GLEW_FUN_EXPORT PFNGLMULTITEXPARAMETERIIVEXTPROC __glewMultiTexParameterIivEXT;
-GLEW_FUN_EXPORT PFNGLMULTITEXPARAMETERIUIVEXTPROC __glewMultiTexParameterIuivEXT;
-GLEW_FUN_EXPORT PFNGLMULTITEXPARAMETERFEXTPROC __glewMultiTexParameterfEXT;
-GLEW_FUN_EXPORT PFNGLMULTITEXPARAMETERFVEXTPROC __glewMultiTexParameterfvEXT;
-GLEW_FUN_EXPORT PFNGLMULTITEXPARAMETERIEXTPROC __glewMultiTexParameteriEXT;
-GLEW_FUN_EXPORT PFNGLMULTITEXPARAMETERIVEXTPROC __glewMultiTexParameterivEXT;
-GLEW_FUN_EXPORT PFNGLMULTITEXRENDERBUFFEREXTPROC __glewMultiTexRenderbufferEXT;
-GLEW_FUN_EXPORT PFNGLMULTITEXSUBIMAGE1DEXTPROC __glewMultiTexSubImage1DEXT;
-GLEW_FUN_EXPORT PFNGLMULTITEXSUBIMAGE2DEXTPROC __glewMultiTexSubImage2DEXT;
-GLEW_FUN_EXPORT PFNGLMULTITEXSUBIMAGE3DEXTPROC __glewMultiTexSubImage3DEXT;
-GLEW_FUN_EXPORT PFNGLNAMEDBUFFERDATAEXTPROC __glewNamedBufferDataEXT;
-GLEW_FUN_EXPORT PFNGLNAMEDBUFFERSUBDATAEXTPROC __glewNamedBufferSubDataEXT;
-GLEW_FUN_EXPORT PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC __glewNamedCopyBufferSubDataEXT;
-GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC __glewNamedFramebufferRenderbufferEXT;
-GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC __glewNamedFramebufferTexture1DEXT;
-GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC __glewNamedFramebufferTexture2DEXT;
-GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC __glewNamedFramebufferTexture3DEXT;
-GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC __glewNamedFramebufferTextureEXT;
-GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC __glewNamedFramebufferTextureFaceEXT;
-GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC __glewNamedFramebufferTextureLayerEXT;
-GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC __glewNamedProgramLocalParameter4dEXT;
-GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC __glewNamedProgramLocalParameter4dvEXT;
-GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC __glewNamedProgramLocalParameter4fEXT;
-GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC __glewNamedProgramLocalParameter4fvEXT;
-GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC __glewNamedProgramLocalParameterI4iEXT;
-GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC __glewNamedProgramLocalParameterI4ivEXT;
-GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC __glewNamedProgramLocalParameterI4uiEXT;
-GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC __glewNamedProgramLocalParameterI4uivEXT;
-GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC __glewNamedProgramLocalParameters4fvEXT;
-GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC __glewNamedProgramLocalParametersI4ivEXT;
-GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC __glewNamedProgramLocalParametersI4uivEXT;
-GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMSTRINGEXTPROC __glewNamedProgramStringEXT;
-GLEW_FUN_EXPORT PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC __glewNamedRenderbufferStorageEXT;
-GLEW_FUN_EXPORT PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC __glewNamedRenderbufferStorageMultisampleCoverageEXT;
-GLEW_FUN_EXPORT PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC __glewNamedRenderbufferStorageMultisampleEXT;
-GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1FEXTPROC __glewProgramUniform1fEXT;
-GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1FVEXTPROC __glewProgramUniform1fvEXT;
-GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1IEXTPROC __glewProgramUniform1iEXT;
-GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1IVEXTPROC __glewProgramUniform1ivEXT;
-GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1UIEXTPROC __glewProgramUniform1uiEXT;
-GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1UIVEXTPROC __glewProgramUniform1uivEXT;
-GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2FEXTPROC __glewProgramUniform2fEXT;
-GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2FVEXTPROC __glewProgramUniform2fvEXT;
-GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2IEXTPROC __glewProgramUniform2iEXT;
-GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2IVEXTPROC __glewProgramUniform2ivEXT;
-GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2UIEXTPROC __glewProgramUniform2uiEXT;
-GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2UIVEXTPROC __glewProgramUniform2uivEXT;
-GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3FEXTPROC __glewProgramUniform3fEXT;
-GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3FVEXTPROC __glewProgramUniform3fvEXT;
-GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3IEXTPROC __glewProgramUniform3iEXT;
-GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3IVEXTPROC __glewProgramUniform3ivEXT;
-GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3UIEXTPROC __glewProgramUniform3uiEXT;
-GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3UIVEXTPROC __glewProgramUniform3uivEXT;
-GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4FEXTPROC __glewProgramUniform4fEXT;
-GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4FVEXTPROC __glewProgramUniform4fvEXT;
-GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4IEXTPROC __glewProgramUniform4iEXT;
-GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4IVEXTPROC __glewProgramUniform4ivEXT;
-GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4UIEXTPROC __glewProgramUniform4uiEXT;
-GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4UIVEXTPROC __glewProgramUniform4uivEXT;
-GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC __glewProgramUniformMatrix2fvEXT;
-GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC __glewProgramUniformMatrix2x3fvEXT;
-GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC __glewProgramUniformMatrix2x4fvEXT;
-GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC __glewProgramUniformMatrix3fvEXT;
-GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC __glewProgramUniformMatrix3x2fvEXT;
-GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC __glewProgramUniformMatrix3x4fvEXT;
-GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC __glewProgramUniformMatrix4fvEXT;
-GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC __glewProgramUniformMatrix4x2fvEXT;
-GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC __glewProgramUniformMatrix4x3fvEXT;
-GLEW_FUN_EXPORT PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC __glewPushClientAttribDefaultEXT;
-GLEW_FUN_EXPORT PFNGLTEXTUREBUFFEREXTPROC __glewTextureBufferEXT;
-GLEW_FUN_EXPORT PFNGLTEXTUREIMAGE1DEXTPROC __glewTextureImage1DEXT;
-GLEW_FUN_EXPORT PFNGLTEXTUREIMAGE2DEXTPROC __glewTextureImage2DEXT;
-GLEW_FUN_EXPORT PFNGLTEXTUREIMAGE3DEXTPROC __glewTextureImage3DEXT;
-GLEW_FUN_EXPORT PFNGLTEXTUREPARAMETERIIVEXTPROC __glewTextureParameterIivEXT;
-GLEW_FUN_EXPORT PFNGLTEXTUREPARAMETERIUIVEXTPROC __glewTextureParameterIuivEXT;
-GLEW_FUN_EXPORT PFNGLTEXTUREPARAMETERFEXTPROC __glewTextureParameterfEXT;
-GLEW_FUN_EXPORT PFNGLTEXTUREPARAMETERFVEXTPROC __glewTextureParameterfvEXT;
-GLEW_FUN_EXPORT PFNGLTEXTUREPARAMETERIEXTPROC __glewTextureParameteriEXT;
-GLEW_FUN_EXPORT PFNGLTEXTUREPARAMETERIVEXTPROC __glewTextureParameterivEXT;
-GLEW_FUN_EXPORT PFNGLTEXTURERENDERBUFFEREXTPROC __glewTextureRenderbufferEXT;
-GLEW_FUN_EXPORT PFNGLTEXTURESUBIMAGE1DEXTPROC __glewTextureSubImage1DEXT;
-GLEW_FUN_EXPORT PFNGLTEXTURESUBIMAGE2DEXTPROC __glewTextureSubImage2DEXT;
-GLEW_FUN_EXPORT PFNGLTEXTURESUBIMAGE3DEXTPROC __glewTextureSubImage3DEXT;
-GLEW_FUN_EXPORT PFNGLUNMAPNAMEDBUFFEREXTPROC __glewUnmapNamedBufferEXT;
-GLEW_FUN_EXPORT PFNGLVERTEXARRAYCOLOROFFSETEXTPROC __glewVertexArrayColorOffsetEXT;
-GLEW_FUN_EXPORT PFNGLVERTEXARRAYEDGEFLAGOFFSETEXTPROC __glewVertexArrayEdgeFlagOffsetEXT;
-GLEW_FUN_EXPORT PFNGLVERTEXARRAYFOGCOORDOFFSETEXTPROC __glewVertexArrayFogCoordOffsetEXT;
-GLEW_FUN_EXPORT PFNGLVERTEXARRAYINDEXOFFSETEXTPROC __glewVertexArrayIndexOffsetEXT;
-GLEW_FUN_EXPORT PFNGLVERTEXARRAYMULTITEXCOORDOFFSETEXTPROC __glewVertexArrayMultiTexCoordOffsetEXT;
-GLEW_FUN_EXPORT PFNGLVERTEXARRAYNORMALOFFSETEXTPROC __glewVertexArrayNormalOffsetEXT;
-GLEW_FUN_EXPORT PFNGLVERTEXARRAYSECONDARYCOLOROFFSETEXTPROC __glewVertexArraySecondaryColorOffsetEXT;
-GLEW_FUN_EXPORT PFNGLVERTEXARRAYTEXCOORDOFFSETEXTPROC __glewVertexArrayTexCoordOffsetEXT;
-GLEW_FUN_EXPORT PFNGLVERTEXARRAYVERTEXATTRIBIOFFSETEXTPROC __glewVertexArrayVertexAttribIOffsetEXT;
-GLEW_FUN_EXPORT PFNGLVERTEXARRAYVERTEXATTRIBOFFSETEXTPROC __glewVertexArrayVertexAttribOffsetEXT;
-GLEW_FUN_EXPORT PFNGLVERTEXARRAYVERTEXOFFSETEXTPROC __glewVertexArrayVertexOffsetEXT;
-
-GLEW_FUN_EXPORT PFNGLCOLORMASKINDEXEDEXTPROC __glewColorMaskIndexedEXT;
-GLEW_FUN_EXPORT PFNGLDISABLEINDEXEDEXTPROC __glewDisableIndexedEXT;
-GLEW_FUN_EXPORT PFNGLENABLEINDEXEDEXTPROC __glewEnableIndexedEXT;
-GLEW_FUN_EXPORT PFNGLGETBOOLEANINDEXEDVEXTPROC __glewGetBooleanIndexedvEXT;
-GLEW_FUN_EXPORT PFNGLGETINTEGERINDEXEDVEXTPROC __glewGetIntegerIndexedvEXT;
-GLEW_FUN_EXPORT PFNGLISENABLEDINDEXEDEXTPROC __glewIsEnabledIndexedEXT;
-
-GLEW_FUN_EXPORT PFNGLDRAWARRAYSINSTANCEDEXTPROC __glewDrawArraysInstancedEXT;
-GLEW_FUN_EXPORT PFNGLDRAWELEMENTSINSTANCEDEXTPROC __glewDrawElementsInstancedEXT;
-
-GLEW_FUN_EXPORT PFNGLDRAWRANGEELEMENTSEXTPROC __glewDrawRangeElementsEXT;
-
-GLEW_FUN_EXPORT PFNGLFOGCOORDPOINTEREXTPROC __glewFogCoordPointerEXT;
-GLEW_FUN_EXPORT PFNGLFOGCOORDDEXTPROC __glewFogCoorddEXT;
-GLEW_FUN_EXPORT PFNGLFOGCOORDDVEXTPROC __glewFogCoorddvEXT;
-GLEW_FUN_EXPORT PFNGLFOGCOORDFEXTPROC __glewFogCoordfEXT;
-GLEW_FUN_EXPORT PFNGLFOGCOORDFVEXTPROC __glewFogCoordfvEXT;
-
-GLEW_FUN_EXPORT PFNGLFRAGMENTCOLORMATERIALEXTPROC __glewFragmentColorMaterialEXT;
-GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTMODELFEXTPROC __glewFragmentLightModelfEXT;
-GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTMODELFVEXTPROC __glewFragmentLightModelfvEXT;
-GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTMODELIEXTPROC __glewFragmentLightModeliEXT;
-GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTMODELIVEXTPROC __glewFragmentLightModelivEXT;
-GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTFEXTPROC __glewFragmentLightfEXT;
-GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTFVEXTPROC __glewFragmentLightfvEXT;
-GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTIEXTPROC __glewFragmentLightiEXT;
-GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTIVEXTPROC __glewFragmentLightivEXT;
-GLEW_FUN_EXPORT PFNGLFRAGMENTMATERIALFEXTPROC __glewFragmentMaterialfEXT;
-GLEW_FUN_EXPORT PFNGLFRAGMENTMATERIALFVEXTPROC __glewFragmentMaterialfvEXT;
-GLEW_FUN_EXPORT PFNGLFRAGMENTMATERIALIEXTPROC __glewFragmentMaterialiEXT;
-GLEW_FUN_EXPORT PFNGLFRAGMENTMATERIALIVEXTPROC __glewFragmentMaterialivEXT;
-GLEW_FUN_EXPORT PFNGLGETFRAGMENTLIGHTFVEXTPROC __glewGetFragmentLightfvEXT;
-GLEW_FUN_EXPORT PFNGLGETFRAGMENTLIGHTIVEXTPROC __glewGetFragmentLightivEXT;
-GLEW_FUN_EXPORT PFNGLGETFRAGMENTMATERIALFVEXTPROC __glewGetFragmentMaterialfvEXT;
-GLEW_FUN_EXPORT PFNGLGETFRAGMENTMATERIALIVEXTPROC __glewGetFragmentMaterialivEXT;
-GLEW_FUN_EXPORT PFNGLLIGHTENVIEXTPROC __glewLightEnviEXT;
-
-GLEW_FUN_EXPORT PFNGLBLITFRAMEBUFFEREXTPROC __glewBlitFramebufferEXT;
-
-GLEW_FUN_EXPORT PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC __glewRenderbufferStorageMultisampleEXT;
-
-GLEW_FUN_EXPORT PFNGLBINDFRAMEBUFFEREXTPROC __glewBindFramebufferEXT;
-GLEW_FUN_EXPORT PFNGLBINDRENDERBUFFEREXTPROC __glewBindRenderbufferEXT;
-GLEW_FUN_EXPORT PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC __glewCheckFramebufferStatusEXT;
-GLEW_FUN_EXPORT PFNGLDELETEFRAMEBUFFERSEXTPROC __glewDeleteFramebuffersEXT;
-GLEW_FUN_EXPORT PFNGLDELETERENDERBUFFERSEXTPROC __glewDeleteRenderbuffersEXT;
-GLEW_FUN_EXPORT PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC __glewFramebufferRenderbufferEXT;
-GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURE1DEXTPROC __glewFramebufferTexture1DEXT;
-GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURE2DEXTPROC __glewFramebufferTexture2DEXT;
-GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURE3DEXTPROC __glewFramebufferTexture3DEXT;
-GLEW_FUN_EXPORT PFNGLGENFRAMEBUFFERSEXTPROC __glewGenFramebuffersEXT;
-GLEW_FUN_EXPORT PFNGLGENRENDERBUFFERSEXTPROC __glewGenRenderbuffersEXT;
-GLEW_FUN_EXPORT PFNGLGENERATEMIPMAPEXTPROC __glewGenerateMipmapEXT;
-GLEW_FUN_EXPORT PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC __glewGetFramebufferAttachmentParameterivEXT;
-GLEW_FUN_EXPORT PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC __glewGetRenderbufferParameterivEXT;
-GLEW_FUN_EXPORT PFNGLISFRAMEBUFFEREXTPROC __glewIsFramebufferEXT;
-GLEW_FUN_EXPORT PFNGLISRENDERBUFFEREXTPROC __glewIsRenderbufferEXT;
-GLEW_FUN_EXPORT PFNGLRENDERBUFFERSTORAGEEXTPROC __glewRenderbufferStorageEXT;
-
-GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTUREEXTPROC __glewFramebufferTextureEXT;
-GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC __glewFramebufferTextureFaceEXT;
-GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC __glewFramebufferTextureLayerEXT;
-GLEW_FUN_EXPORT PFNGLPROGRAMPARAMETERIEXTPROC __glewProgramParameteriEXT;
-
-GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETERS4FVEXTPROC __glewProgramEnvParameters4fvEXT;
-GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC __glewProgramLocalParameters4fvEXT;
-
-GLEW_FUN_EXPORT PFNGLBINDFRAGDATALOCATIONEXTPROC __glewBindFragDataLocationEXT;
-GLEW_FUN_EXPORT PFNGLGETFRAGDATALOCATIONEXTPROC __glewGetFragDataLocationEXT;
-GLEW_FUN_EXPORT PFNGLGETUNIFORMUIVEXTPROC __glewGetUniformuivEXT;
-GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBIIVEXTPROC __glewGetVertexAttribIivEXT;
-GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBIUIVEXTPROC __glewGetVertexAttribIuivEXT;
-GLEW_FUN_EXPORT PFNGLUNIFORM1UIEXTPROC __glewUniform1uiEXT;
-GLEW_FUN_EXPORT PFNGLUNIFORM1UIVEXTPROC __glewUniform1uivEXT;
-GLEW_FUN_EXPORT PFNGLUNIFORM2UIEXTPROC __glewUniform2uiEXT;
-GLEW_FUN_EXPORT PFNGLUNIFORM2UIVEXTPROC __glewUniform2uivEXT;
-GLEW_FUN_EXPORT PFNGLUNIFORM3UIEXTPROC __glewUniform3uiEXT;
-GLEW_FUN_EXPORT PFNGLUNIFORM3UIVEXTPROC __glewUniform3uivEXT;
-GLEW_FUN_EXPORT PFNGLUNIFORM4UIEXTPROC __glewUniform4uiEXT;
-GLEW_FUN_EXPORT PFNGLUNIFORM4UIVEXTPROC __glewUniform4uivEXT;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI1IEXTPROC __glewVertexAttribI1iEXT;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI1IVEXTPROC __glewVertexAttribI1ivEXT;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI1UIEXTPROC __glewVertexAttribI1uiEXT;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI1UIVEXTPROC __glewVertexAttribI1uivEXT;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI2IEXTPROC __glewVertexAttribI2iEXT;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI2IVEXTPROC __glewVertexAttribI2ivEXT;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI2UIEXTPROC __glewVertexAttribI2uiEXT;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI2UIVEXTPROC __glewVertexAttribI2uivEXT;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI3IEXTPROC __glewVertexAttribI3iEXT;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI3IVEXTPROC __glewVertexAttribI3ivEXT;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI3UIEXTPROC __glewVertexAttribI3uiEXT;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI3UIVEXTPROC __glewVertexAttribI3uivEXT;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4BVEXTPROC __glewVertexAttribI4bvEXT;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4IEXTPROC __glewVertexAttribI4iEXT;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4IVEXTPROC __glewVertexAttribI4ivEXT;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4SVEXTPROC __glewVertexAttribI4svEXT;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4UBVEXTPROC __glewVertexAttribI4ubvEXT;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4UIEXTPROC __glewVertexAttribI4uiEXT;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4UIVEXTPROC __glewVertexAttribI4uivEXT;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4USVEXTPROC __glewVertexAttribI4usvEXT;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBIPOINTEREXTPROC __glewVertexAttribIPointerEXT;
-
-GLEW_FUN_EXPORT PFNGLGETHISTOGRAMEXTPROC __glewGetHistogramEXT;
-GLEW_FUN_EXPORT PFNGLGETHISTOGRAMPARAMETERFVEXTPROC __glewGetHistogramParameterfvEXT;
-GLEW_FUN_EXPORT PFNGLGETHISTOGRAMPARAMETERIVEXTPROC __glewGetHistogramParameterivEXT;
-GLEW_FUN_EXPORT PFNGLGETMINMAXEXTPROC __glewGetMinmaxEXT;
-GLEW_FUN_EXPORT PFNGLGETMINMAXPARAMETERFVEXTPROC __glewGetMinmaxParameterfvEXT;
-GLEW_FUN_EXPORT PFNGLGETMINMAXPARAMETERIVEXTPROC __glewGetMinmaxParameterivEXT;
-GLEW_FUN_EXPORT PFNGLHISTOGRAMEXTPROC __glewHistogramEXT;
-GLEW_FUN_EXPORT PFNGLMINMAXEXTPROC __glewMinmaxEXT;
-GLEW_FUN_EXPORT PFNGLRESETHISTOGRAMEXTPROC __glewResetHistogramEXT;
-GLEW_FUN_EXPORT PFNGLRESETMINMAXEXTPROC __glewResetMinmaxEXT;
-
-GLEW_FUN_EXPORT PFNGLINDEXFUNCEXTPROC __glewIndexFuncEXT;
-
-GLEW_FUN_EXPORT PFNGLINDEXMATERIALEXTPROC __glewIndexMaterialEXT;
-
-GLEW_FUN_EXPORT PFNGLAPPLYTEXTUREEXTPROC __glewApplyTextureEXT;
-GLEW_FUN_EXPORT PFNGLTEXTURELIGHTEXTPROC __glewTextureLightEXT;
-GLEW_FUN_EXPORT PFNGLTEXTUREMATERIALEXTPROC __glewTextureMaterialEXT;
-
-GLEW_FUN_EXPORT PFNGLMULTIDRAWARRAYSEXTPROC __glewMultiDrawArraysEXT;
-GLEW_FUN_EXPORT PFNGLMULTIDRAWELEMENTSEXTPROC __glewMultiDrawElementsEXT;
-
-GLEW_FUN_EXPORT PFNGLSAMPLEMASKEXTPROC __glewSampleMaskEXT;
-GLEW_FUN_EXPORT PFNGLSAMPLEPATTERNEXTPROC __glewSamplePatternEXT;
-
-GLEW_FUN_EXPORT PFNGLCOLORTABLEEXTPROC __glewColorTableEXT;
-GLEW_FUN_EXPORT PFNGLGETCOLORTABLEEXTPROC __glewGetColorTableEXT;
-GLEW_FUN_EXPORT PFNGLGETCOLORTABLEPARAMETERFVEXTPROC __glewGetColorTableParameterfvEXT;
-GLEW_FUN_EXPORT PFNGLGETCOLORTABLEPARAMETERIVEXTPROC __glewGetColorTableParameterivEXT;
-
-GLEW_FUN_EXPORT PFNGLGETPIXELTRANSFORMPARAMETERFVEXTPROC __glewGetPixelTransformParameterfvEXT;
-GLEW_FUN_EXPORT PFNGLGETPIXELTRANSFORMPARAMETERIVEXTPROC __glewGetPixelTransformParameterivEXT;
-GLEW_FUN_EXPORT PFNGLPIXELTRANSFORMPARAMETERFEXTPROC __glewPixelTransformParameterfEXT;
-GLEW_FUN_EXPORT PFNGLPIXELTRANSFORMPARAMETERFVEXTPROC __glewPixelTransformParameterfvEXT;
-GLEW_FUN_EXPORT PFNGLPIXELTRANSFORMPARAMETERIEXTPROC __glewPixelTransformParameteriEXT;
-GLEW_FUN_EXPORT PFNGLPIXELTRANSFORMPARAMETERIVEXTPROC __glewPixelTransformParameterivEXT;
-
-GLEW_FUN_EXPORT PFNGLPOINTPARAMETERFEXTPROC __glewPointParameterfEXT;
-GLEW_FUN_EXPORT PFNGLPOINTPARAMETERFVEXTPROC __glewPointParameterfvEXT;
-
-GLEW_FUN_EXPORT PFNGLPOLYGONOFFSETEXTPROC __glewPolygonOffsetEXT;
-
-GLEW_FUN_EXPORT PFNGLPROVOKINGVERTEXEXTPROC __glewProvokingVertexEXT;
-
-GLEW_FUN_EXPORT PFNGLBEGINSCENEEXTPROC __glewBeginSceneEXT;
-GLEW_FUN_EXPORT PFNGLENDSCENEEXTPROC __glewEndSceneEXT;
-
-GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3BEXTPROC __glewSecondaryColor3bEXT;
-GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3BVEXTPROC __glewSecondaryColor3bvEXT;
-GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3DEXTPROC __glewSecondaryColor3dEXT;
-GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3DVEXTPROC __glewSecondaryColor3dvEXT;
-GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3FEXTPROC __glewSecondaryColor3fEXT;
-GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3FVEXTPROC __glewSecondaryColor3fvEXT;
-GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3IEXTPROC __glewSecondaryColor3iEXT;
-GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3IVEXTPROC __glewSecondaryColor3ivEXT;
-GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3SEXTPROC __glewSecondaryColor3sEXT;
-GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3SVEXTPROC __glewSecondaryColor3svEXT;
-GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3UBEXTPROC __glewSecondaryColor3ubEXT;
-GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3UBVEXTPROC __glewSecondaryColor3ubvEXT;
-GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3UIEXTPROC __glewSecondaryColor3uiEXT;
-GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3UIVEXTPROC __glewSecondaryColor3uivEXT;
-GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3USEXTPROC __glewSecondaryColor3usEXT;
-GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3USVEXTPROC __glewSecondaryColor3usvEXT;
-GLEW_FUN_EXPORT PFNGLSECONDARYCOLORPOINTEREXTPROC __glewSecondaryColorPointerEXT;
-
-GLEW_FUN_EXPORT PFNGLACTIVEPROGRAMEXTPROC __glewActiveProgramEXT;
-GLEW_FUN_EXPORT PFNGLCREATESHADERPROGRAMEXTPROC __glewCreateShaderProgramEXT;
-GLEW_FUN_EXPORT PFNGLUSESHADERPROGRAMEXTPROC __glewUseShaderProgramEXT;
-
-GLEW_FUN_EXPORT PFNGLBINDIMAGETEXTUREEXTPROC __glewBindImageTextureEXT;
-GLEW_FUN_EXPORT PFNGLMEMORYBARRIEREXTPROC __glewMemoryBarrierEXT;
-
-GLEW_FUN_EXPORT PFNGLACTIVESTENCILFACEEXTPROC __glewActiveStencilFaceEXT;
-
-GLEW_FUN_EXPORT PFNGLTEXSUBIMAGE1DEXTPROC __glewTexSubImage1DEXT;
-GLEW_FUN_EXPORT PFNGLTEXSUBIMAGE2DEXTPROC __glewTexSubImage2DEXT;
-GLEW_FUN_EXPORT PFNGLTEXSUBIMAGE3DEXTPROC __glewTexSubImage3DEXT;
-
-GLEW_FUN_EXPORT PFNGLTEXIMAGE3DEXTPROC __glewTexImage3DEXT;
-
-GLEW_FUN_EXPORT PFNGLTEXBUFFEREXTPROC __glewTexBufferEXT;
-
-GLEW_FUN_EXPORT PFNGLCLEARCOLORIIEXTPROC __glewClearColorIiEXT;
-GLEW_FUN_EXPORT PFNGLCLEARCOLORIUIEXTPROC __glewClearColorIuiEXT;
-GLEW_FUN_EXPORT PFNGLGETTEXPARAMETERIIVEXTPROC __glewGetTexParameterIivEXT;
-GLEW_FUN_EXPORT PFNGLGETTEXPARAMETERIUIVEXTPROC __glewGetTexParameterIuivEXT;
-GLEW_FUN_EXPORT PFNGLTEXPARAMETERIIVEXTPROC __glewTexParameterIivEXT;
-GLEW_FUN_EXPORT PFNGLTEXPARAMETERIUIVEXTPROC __glewTexParameterIuivEXT;
-
-GLEW_FUN_EXPORT PFNGLARETEXTURESRESIDENTEXTPROC __glewAreTexturesResidentEXT;
-GLEW_FUN_EXPORT PFNGLBINDTEXTUREEXTPROC __glewBindTextureEXT;
-GLEW_FUN_EXPORT PFNGLDELETETEXTURESEXTPROC __glewDeleteTexturesEXT;
-GLEW_FUN_EXPORT PFNGLGENTEXTURESEXTPROC __glewGenTexturesEXT;
-GLEW_FUN_EXPORT PFNGLISTEXTUREEXTPROC __glewIsTextureEXT;
-GLEW_FUN_EXPORT PFNGLPRIORITIZETEXTURESEXTPROC __glewPrioritizeTexturesEXT;
-
-GLEW_FUN_EXPORT PFNGLTEXTURENORMALEXTPROC __glewTextureNormalEXT;
-
-GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTI64VEXTPROC __glewGetQueryObjecti64vEXT;
-GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTUI64VEXTPROC __glewGetQueryObjectui64vEXT;
-
-GLEW_FUN_EXPORT PFNGLBEGINTRANSFORMFEEDBACKEXTPROC __glewBeginTransformFeedbackEXT;
-GLEW_FUN_EXPORT PFNGLBINDBUFFERBASEEXTPROC __glewBindBufferBaseEXT;
-GLEW_FUN_EXPORT PFNGLBINDBUFFEROFFSETEXTPROC __glewBindBufferOffsetEXT;
-GLEW_FUN_EXPORT PFNGLBINDBUFFERRANGEEXTPROC __glewBindBufferRangeEXT;
-GLEW_FUN_EXPORT PFNGLENDTRANSFORMFEEDBACKEXTPROC __glewEndTransformFeedbackEXT;
-GLEW_FUN_EXPORT PFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC __glewGetTransformFeedbackVaryingEXT;
-GLEW_FUN_EXPORT PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC __glewTransformFeedbackVaryingsEXT;
-
-GLEW_FUN_EXPORT PFNGLARRAYELEMENTEXTPROC __glewArrayElementEXT;
-GLEW_FUN_EXPORT PFNGLCOLORPOINTEREXTPROC __glewColorPointerEXT;
-GLEW_FUN_EXPORT PFNGLDRAWARRAYSEXTPROC __glewDrawArraysEXT;
-GLEW_FUN_EXPORT PFNGLEDGEFLAGPOINTEREXTPROC __glewEdgeFlagPointerEXT;
-GLEW_FUN_EXPORT PFNGLGETPOINTERVEXTPROC __glewGetPointervEXT;
-GLEW_FUN_EXPORT PFNGLINDEXPOINTEREXTPROC __glewIndexPointerEXT;
-GLEW_FUN_EXPORT PFNGLNORMALPOINTEREXTPROC __glewNormalPointerEXT;
-GLEW_FUN_EXPORT PFNGLTEXCOORDPOINTEREXTPROC __glewTexCoordPointerEXT;
-GLEW_FUN_EXPORT PFNGLVERTEXPOINTEREXTPROC __glewVertexPointerEXT;
-
-GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBLDVEXTPROC __glewGetVertexAttribLdvEXT;
-GLEW_FUN_EXPORT PFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC __glewVertexArrayVertexAttribLOffsetEXT;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL1DEXTPROC __glewVertexAttribL1dEXT;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL1DVEXTPROC __glewVertexAttribL1dvEXT;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL2DEXTPROC __glewVertexAttribL2dEXT;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL2DVEXTPROC __glewVertexAttribL2dvEXT;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL3DEXTPROC __glewVertexAttribL3dEXT;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL3DVEXTPROC __glewVertexAttribL3dvEXT;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL4DEXTPROC __glewVertexAttribL4dEXT;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL4DVEXTPROC __glewVertexAttribL4dvEXT;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBLPOINTEREXTPROC __glewVertexAttribLPointerEXT;
-
-GLEW_FUN_EXPORT PFNGLBEGINVERTEXSHADEREXTPROC __glewBeginVertexShaderEXT;
-GLEW_FUN_EXPORT PFNGLBINDLIGHTPARAMETEREXTPROC __glewBindLightParameterEXT;
-GLEW_FUN_EXPORT PFNGLBINDMATERIALPARAMETEREXTPROC __glewBindMaterialParameterEXT;
-GLEW_FUN_EXPORT PFNGLBINDPARAMETEREXTPROC __glewBindParameterEXT;
-GLEW_FUN_EXPORT PFNGLBINDTEXGENPARAMETEREXTPROC __glewBindTexGenParameterEXT;
-GLEW_FUN_EXPORT PFNGLBINDTEXTUREUNITPARAMETEREXTPROC __glewBindTextureUnitParameterEXT;
-GLEW_FUN_EXPORT PFNGLBINDVERTEXSHADEREXTPROC __glewBindVertexShaderEXT;
-GLEW_FUN_EXPORT PFNGLDELETEVERTEXSHADEREXTPROC __glewDeleteVertexShaderEXT;
-GLEW_FUN_EXPORT PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC __glewDisableVariantClientStateEXT;
-GLEW_FUN_EXPORT PFNGLENABLEVARIANTCLIENTSTATEEXTPROC __glewEnableVariantClientStateEXT;
-GLEW_FUN_EXPORT PFNGLENDVERTEXSHADEREXTPROC __glewEndVertexShaderEXT;
-GLEW_FUN_EXPORT PFNGLEXTRACTCOMPONENTEXTPROC __glewExtractComponentEXT;
-GLEW_FUN_EXPORT PFNGLGENSYMBOLSEXTPROC __glewGenSymbolsEXT;
-GLEW_FUN_EXPORT PFNGLGENVERTEXSHADERSEXTPROC __glewGenVertexShadersEXT;
-GLEW_FUN_EXPORT PFNGLGETINVARIANTBOOLEANVEXTPROC __glewGetInvariantBooleanvEXT;
-GLEW_FUN_EXPORT PFNGLGETINVARIANTFLOATVEXTPROC __glewGetInvariantFloatvEXT;
-GLEW_FUN_EXPORT PFNGLGETINVARIANTINTEGERVEXTPROC __glewGetInvariantIntegervEXT;
-GLEW_FUN_EXPORT PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC __glewGetLocalConstantBooleanvEXT;
-GLEW_FUN_EXPORT PFNGLGETLOCALCONSTANTFLOATVEXTPROC __glewGetLocalConstantFloatvEXT;
-GLEW_FUN_EXPORT PFNGLGETLOCALCONSTANTINTEGERVEXTPROC __glewGetLocalConstantIntegervEXT;
-GLEW_FUN_EXPORT PFNGLGETVARIANTBOOLEANVEXTPROC __glewGetVariantBooleanvEXT;
-GLEW_FUN_EXPORT PFNGLGETVARIANTFLOATVEXTPROC __glewGetVariantFloatvEXT;
-GLEW_FUN_EXPORT PFNGLGETVARIANTINTEGERVEXTPROC __glewGetVariantIntegervEXT;
-GLEW_FUN_EXPORT PFNGLGETVARIANTPOINTERVEXTPROC __glewGetVariantPointervEXT;
-GLEW_FUN_EXPORT PFNGLINSERTCOMPONENTEXTPROC __glewInsertComponentEXT;
-GLEW_FUN_EXPORT PFNGLISVARIANTENABLEDEXTPROC __glewIsVariantEnabledEXT;
-GLEW_FUN_EXPORT PFNGLSETINVARIANTEXTPROC __glewSetInvariantEXT;
-GLEW_FUN_EXPORT PFNGLSETLOCALCONSTANTEXTPROC __glewSetLocalConstantEXT;
-GLEW_FUN_EXPORT PFNGLSHADEROP1EXTPROC __glewShaderOp1EXT;
-GLEW_FUN_EXPORT PFNGLSHADEROP2EXTPROC __glewShaderOp2EXT;
-GLEW_FUN_EXPORT PFNGLSHADEROP3EXTPROC __glewShaderOp3EXT;
-GLEW_FUN_EXPORT PFNGLSWIZZLEEXTPROC __glewSwizzleEXT;
-GLEW_FUN_EXPORT PFNGLVARIANTPOINTEREXTPROC __glewVariantPointerEXT;
-GLEW_FUN_EXPORT PFNGLVARIANTBVEXTPROC __glewVariantbvEXT;
-GLEW_FUN_EXPORT PFNGLVARIANTDVEXTPROC __glewVariantdvEXT;
-GLEW_FUN_EXPORT PFNGLVARIANTFVEXTPROC __glewVariantfvEXT;
-GLEW_FUN_EXPORT PFNGLVARIANTIVEXTPROC __glewVariantivEXT;
-GLEW_FUN_EXPORT PFNGLVARIANTSVEXTPROC __glewVariantsvEXT;
-GLEW_FUN_EXPORT PFNGLVARIANTUBVEXTPROC __glewVariantubvEXT;
-GLEW_FUN_EXPORT PFNGLVARIANTUIVEXTPROC __glewVariantuivEXT;
-GLEW_FUN_EXPORT PFNGLVARIANTUSVEXTPROC __glewVariantusvEXT;
-GLEW_FUN_EXPORT PFNGLWRITEMASKEXTPROC __glewWriteMaskEXT;
-
-GLEW_FUN_EXPORT PFNGLVERTEXWEIGHTPOINTEREXTPROC __glewVertexWeightPointerEXT;
-GLEW_FUN_EXPORT PFNGLVERTEXWEIGHTFEXTPROC __glewVertexWeightfEXT;
-GLEW_FUN_EXPORT PFNGLVERTEXWEIGHTFVEXTPROC __glewVertexWeightfvEXT;
-
-GLEW_FUN_EXPORT PFNGLFRAMETERMINATORGREMEDYPROC __glewFrameTerminatorGREMEDY;
-
-GLEW_FUN_EXPORT PFNGLSTRINGMARKERGREMEDYPROC __glewStringMarkerGREMEDY;
-
-GLEW_FUN_EXPORT PFNGLGETIMAGETRANSFORMPARAMETERFVHPPROC __glewGetImageTransformParameterfvHP;
-GLEW_FUN_EXPORT PFNGLGETIMAGETRANSFORMPARAMETERIVHPPROC __glewGetImageTransformParameterivHP;
-GLEW_FUN_EXPORT PFNGLIMAGETRANSFORMPARAMETERFHPPROC __glewImageTransformParameterfHP;
-GLEW_FUN_EXPORT PFNGLIMAGETRANSFORMPARAMETERFVHPPROC __glewImageTransformParameterfvHP;
-GLEW_FUN_EXPORT PFNGLIMAGETRANSFORMPARAMETERIHPPROC __glewImageTransformParameteriHP;
-GLEW_FUN_EXPORT PFNGLIMAGETRANSFORMPARAMETERIVHPPROC __glewImageTransformParameterivHP;
-
-GLEW_FUN_EXPORT PFNGLMULTIMODEDRAWARRAYSIBMPROC __glewMultiModeDrawArraysIBM;
-GLEW_FUN_EXPORT PFNGLMULTIMODEDRAWELEMENTSIBMPROC __glewMultiModeDrawElementsIBM;
-
-GLEW_FUN_EXPORT PFNGLCOLORPOINTERLISTIBMPROC __glewColorPointerListIBM;
-GLEW_FUN_EXPORT PFNGLEDGEFLAGPOINTERLISTIBMPROC __glewEdgeFlagPointerListIBM;
-GLEW_FUN_EXPORT PFNGLFOGCOORDPOINTERLISTIBMPROC __glewFogCoordPointerListIBM;
-GLEW_FUN_EXPORT PFNGLINDEXPOINTERLISTIBMPROC __glewIndexPointerListIBM;
-GLEW_FUN_EXPORT PFNGLNORMALPOINTERLISTIBMPROC __glewNormalPointerListIBM;
-GLEW_FUN_EXPORT PFNGLSECONDARYCOLORPOINTERLISTIBMPROC __glewSecondaryColorPointerListIBM;
-GLEW_FUN_EXPORT PFNGLTEXCOORDPOINTERLISTIBMPROC __glewTexCoordPointerListIBM;
-GLEW_FUN_EXPORT PFNGLVERTEXPOINTERLISTIBMPROC __glewVertexPointerListIBM;
-
-GLEW_FUN_EXPORT PFNGLCOLORPOINTERVINTELPROC __glewColorPointervINTEL;
-GLEW_FUN_EXPORT PFNGLNORMALPOINTERVINTELPROC __glewNormalPointervINTEL;
-GLEW_FUN_EXPORT PFNGLTEXCOORDPOINTERVINTELPROC __glewTexCoordPointervINTEL;
-GLEW_FUN_EXPORT PFNGLVERTEXPOINTERVINTELPROC __glewVertexPointervINTEL;
-
-GLEW_FUN_EXPORT PFNGLTEXSCISSORFUNCINTELPROC __glewTexScissorFuncINTEL;
-GLEW_FUN_EXPORT PFNGLTEXSCISSORINTELPROC __glewTexScissorINTEL;
-
-GLEW_FUN_EXPORT PFNGLBUFFERREGIONENABLEDEXTPROC __glewBufferRegionEnabledEXT;
-GLEW_FUN_EXPORT PFNGLDELETEBUFFERREGIONEXTPROC __glewDeleteBufferRegionEXT;
-GLEW_FUN_EXPORT PFNGLDRAWBUFFERREGIONEXTPROC __glewDrawBufferRegionEXT;
-GLEW_FUN_EXPORT PFNGLNEWBUFFERREGIONEXTPROC __glewNewBufferRegionEXT;
-GLEW_FUN_EXPORT PFNGLREADBUFFERREGIONEXTPROC __glewReadBufferRegionEXT;
-
-GLEW_FUN_EXPORT PFNGLRESIZEBUFFERSMESAPROC __glewResizeBuffersMESA;
-
-GLEW_FUN_EXPORT PFNGLWINDOWPOS2DMESAPROC __glewWindowPos2dMESA;
-GLEW_FUN_EXPORT PFNGLWINDOWPOS2DVMESAPROC __glewWindowPos2dvMESA;
-GLEW_FUN_EXPORT PFNGLWINDOWPOS2FMESAPROC __glewWindowPos2fMESA;
-GLEW_FUN_EXPORT PFNGLWINDOWPOS2FVMESAPROC __glewWindowPos2fvMESA;
-GLEW_FUN_EXPORT PFNGLWINDOWPOS2IMESAPROC __glewWindowPos2iMESA;
-GLEW_FUN_EXPORT PFNGLWINDOWPOS2IVMESAPROC __glewWindowPos2ivMESA;
-GLEW_FUN_EXPORT PFNGLWINDOWPOS2SMESAPROC __glewWindowPos2sMESA;
-GLEW_FUN_EXPORT PFNGLWINDOWPOS2SVMESAPROC __glewWindowPos2svMESA;
-GLEW_FUN_EXPORT PFNGLWINDOWPOS3DMESAPROC __glewWindowPos3dMESA;
-GLEW_FUN_EXPORT PFNGLWINDOWPOS3DVMESAPROC __glewWindowPos3dvMESA;
-GLEW_FUN_EXPORT PFNGLWINDOWPOS3FMESAPROC __glewWindowPos3fMESA;
-GLEW_FUN_EXPORT PFNGLWINDOWPOS3FVMESAPROC __glewWindowPos3fvMESA;
-GLEW_FUN_EXPORT PFNGLWINDOWPOS3IMESAPROC __glewWindowPos3iMESA;
-GLEW_FUN_EXPORT PFNGLWINDOWPOS3IVMESAPROC __glewWindowPos3ivMESA;
-GLEW_FUN_EXPORT PFNGLWINDOWPOS3SMESAPROC __glewWindowPos3sMESA;
-GLEW_FUN_EXPORT PFNGLWINDOWPOS3SVMESAPROC __glewWindowPos3svMESA;
-GLEW_FUN_EXPORT PFNGLWINDOWPOS4DMESAPROC __glewWindowPos4dMESA;
-GLEW_FUN_EXPORT PFNGLWINDOWPOS4DVMESAPROC __glewWindowPos4dvMESA;
-GLEW_FUN_EXPORT PFNGLWINDOWPOS4FMESAPROC __glewWindowPos4fMESA;
-GLEW_FUN_EXPORT PFNGLWINDOWPOS4FVMESAPROC __glewWindowPos4fvMESA;
-GLEW_FUN_EXPORT PFNGLWINDOWPOS4IMESAPROC __glewWindowPos4iMESA;
-GLEW_FUN_EXPORT PFNGLWINDOWPOS4IVMESAPROC __glewWindowPos4ivMESA;
-GLEW_FUN_EXPORT PFNGLWINDOWPOS4SMESAPROC __glewWindowPos4sMESA;
-GLEW_FUN_EXPORT PFNGLWINDOWPOS4SVMESAPROC __glewWindowPos4svMESA;
-
-GLEW_FUN_EXPORT PFNGLBEGINCONDITIONALRENDERNVPROC __glewBeginConditionalRenderNV;
-GLEW_FUN_EXPORT PFNGLENDCONDITIONALRENDERNVPROC __glewEndConditionalRenderNV;
-
-GLEW_FUN_EXPORT PFNGLCOPYIMAGESUBDATANVPROC __glewCopyImageSubDataNV;
-
-GLEW_FUN_EXPORT PFNGLCLEARDEPTHDNVPROC __glewClearDepthdNV;
-GLEW_FUN_EXPORT PFNGLDEPTHBOUNDSDNVPROC __glewDepthBoundsdNV;
-GLEW_FUN_EXPORT PFNGLDEPTHRANGEDNVPROC __glewDepthRangedNV;
-
-GLEW_FUN_EXPORT PFNGLEVALMAPSNVPROC __glewEvalMapsNV;
-GLEW_FUN_EXPORT PFNGLGETMAPATTRIBPARAMETERFVNVPROC __glewGetMapAttribParameterfvNV;
-GLEW_FUN_EXPORT PFNGLGETMAPATTRIBPARAMETERIVNVPROC __glewGetMapAttribParameterivNV;
-GLEW_FUN_EXPORT PFNGLGETMAPCONTROLPOINTSNVPROC __glewGetMapControlPointsNV;
-GLEW_FUN_EXPORT PFNGLGETMAPPARAMETERFVNVPROC __glewGetMapParameterfvNV;
-GLEW_FUN_EXPORT PFNGLGETMAPPARAMETERIVNVPROC __glewGetMapParameterivNV;
-GLEW_FUN_EXPORT PFNGLMAPCONTROLPOINTSNVPROC __glewMapControlPointsNV;
-GLEW_FUN_EXPORT PFNGLMAPPARAMETERFVNVPROC __glewMapParameterfvNV;
-GLEW_FUN_EXPORT PFNGLMAPPARAMETERIVNVPROC __glewMapParameterivNV;
-
-GLEW_FUN_EXPORT PFNGLGETMULTISAMPLEFVNVPROC __glewGetMultisamplefvNV;
-GLEW_FUN_EXPORT PFNGLSAMPLEMASKINDEXEDNVPROC __glewSampleMaskIndexedNV;
-GLEW_FUN_EXPORT PFNGLTEXRENDERBUFFERNVPROC __glewTexRenderbufferNV;
-
-GLEW_FUN_EXPORT PFNGLDELETEFENCESNVPROC __glewDeleteFencesNV;
-GLEW_FUN_EXPORT PFNGLFINISHFENCENVPROC __glewFinishFenceNV;
-GLEW_FUN_EXPORT PFNGLGENFENCESNVPROC __glewGenFencesNV;
-GLEW_FUN_EXPORT PFNGLGETFENCEIVNVPROC __glewGetFenceivNV;
-GLEW_FUN_EXPORT PFNGLISFENCENVPROC __glewIsFenceNV;
-GLEW_FUN_EXPORT PFNGLSETFENCENVPROC __glewSetFenceNV;
-GLEW_FUN_EXPORT PFNGLTESTFENCENVPROC __glewTestFenceNV;
-
-GLEW_FUN_EXPORT PFNGLGETPROGRAMNAMEDPARAMETERDVNVPROC __glewGetProgramNamedParameterdvNV;
-GLEW_FUN_EXPORT PFNGLGETPROGRAMNAMEDPARAMETERFVNVPROC __glewGetProgramNamedParameterfvNV;
-GLEW_FUN_EXPORT PFNGLPROGRAMNAMEDPARAMETER4DNVPROC __glewProgramNamedParameter4dNV;
-GLEW_FUN_EXPORT PFNGLPROGRAMNAMEDPARAMETER4DVNVPROC __glewProgramNamedParameter4dvNV;
-GLEW_FUN_EXPORT PFNGLPROGRAMNAMEDPARAMETER4FNVPROC __glewProgramNamedParameter4fNV;
-GLEW_FUN_EXPORT PFNGLPROGRAMNAMEDPARAMETER4FVNVPROC __glewProgramNamedParameter4fvNV;
-
-GLEW_FUN_EXPORT PFNGLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENVPROC __glewRenderbufferStorageMultisampleCoverageNV;
-
-GLEW_FUN_EXPORT PFNGLPROGRAMVERTEXLIMITNVPROC __glewProgramVertexLimitNV;
-
-GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETERI4INVPROC __glewProgramEnvParameterI4iNV;
-GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETERI4IVNVPROC __glewProgramEnvParameterI4ivNV;
-GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETERI4UINVPROC __glewProgramEnvParameterI4uiNV;
-GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETERI4UIVNVPROC __glewProgramEnvParameterI4uivNV;
-GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETERSI4IVNVPROC __glewProgramEnvParametersI4ivNV;
-GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETERSI4UIVNVPROC __glewProgramEnvParametersI4uivNV;
-GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETERI4INVPROC __glewProgramLocalParameterI4iNV;
-GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETERI4IVNVPROC __glewProgramLocalParameterI4ivNV;
-GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETERI4UINVPROC __glewProgramLocalParameterI4uiNV;
-GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETERI4UIVNVPROC __glewProgramLocalParameterI4uivNV;
-GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETERSI4IVNVPROC __glewProgramLocalParametersI4ivNV;
-GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETERSI4UIVNVPROC __glewProgramLocalParametersI4uivNV;
-
-GLEW_FUN_EXPORT PFNGLGETUNIFORMI64VNVPROC __glewGetUniformi64vNV;
-GLEW_FUN_EXPORT PFNGLGETUNIFORMUI64VNVPROC __glewGetUniformui64vNV;
-GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1I64NVPROC __glewProgramUniform1i64NV;
-GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1I64VNVPROC __glewProgramUniform1i64vNV;
-GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1UI64NVPROC __glewProgramUniform1ui64NV;
-GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1UI64VNVPROC __glewProgramUniform1ui64vNV;
-GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2I64NVPROC __glewProgramUniform2i64NV;
-GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2I64VNVPROC __glewProgramUniform2i64vNV;
-GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2UI64NVPROC __glewProgramUniform2ui64NV;
-GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2UI64VNVPROC __glewProgramUniform2ui64vNV;
-GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3I64NVPROC __glewProgramUniform3i64NV;
-GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3I64VNVPROC __glewProgramUniform3i64vNV;
-GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3UI64NVPROC __glewProgramUniform3ui64NV;
-GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3UI64VNVPROC __glewProgramUniform3ui64vNV;
-GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4I64NVPROC __glewProgramUniform4i64NV;
-GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4I64VNVPROC __glewProgramUniform4i64vNV;
-GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4UI64NVPROC __glewProgramUniform4ui64NV;
-GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4UI64VNVPROC __glewProgramUniform4ui64vNV;
-GLEW_FUN_EXPORT PFNGLUNIFORM1I64NVPROC __glewUniform1i64NV;
-GLEW_FUN_EXPORT PFNGLUNIFORM1I64VNVPROC __glewUniform1i64vNV;
-GLEW_FUN_EXPORT PFNGLUNIFORM1UI64NVPROC __glewUniform1ui64NV;
-GLEW_FUN_EXPORT PFNGLUNIFORM1UI64VNVPROC __glewUniform1ui64vNV;
-GLEW_FUN_EXPORT PFNGLUNIFORM2I64NVPROC __glewUniform2i64NV;
-GLEW_FUN_EXPORT PFNGLUNIFORM2I64VNVPROC __glewUniform2i64vNV;
-GLEW_FUN_EXPORT PFNGLUNIFORM2UI64NVPROC __glewUniform2ui64NV;
-GLEW_FUN_EXPORT PFNGLUNIFORM2UI64VNVPROC __glewUniform2ui64vNV;
-GLEW_FUN_EXPORT PFNGLUNIFORM3I64NVPROC __glewUniform3i64NV;
-GLEW_FUN_EXPORT PFNGLUNIFORM3I64VNVPROC __glewUniform3i64vNV;
-GLEW_FUN_EXPORT PFNGLUNIFORM3UI64NVPROC __glewUniform3ui64NV;
-GLEW_FUN_EXPORT PFNGLUNIFORM3UI64VNVPROC __glewUniform3ui64vNV;
-GLEW_FUN_EXPORT PFNGLUNIFORM4I64NVPROC __glewUniform4i64NV;
-GLEW_FUN_EXPORT PFNGLUNIFORM4I64VNVPROC __glewUniform4i64vNV;
-GLEW_FUN_EXPORT PFNGLUNIFORM4UI64NVPROC __glewUniform4ui64NV;
-GLEW_FUN_EXPORT PFNGLUNIFORM4UI64VNVPROC __glewUniform4ui64vNV;
-
-GLEW_FUN_EXPORT PFNGLCOLOR3HNVPROC __glewColor3hNV;
-GLEW_FUN_EXPORT PFNGLCOLOR3HVNVPROC __glewColor3hvNV;
-GLEW_FUN_EXPORT PFNGLCOLOR4HNVPROC __glewColor4hNV;
-GLEW_FUN_EXPORT PFNGLCOLOR4HVNVPROC __glewColor4hvNV;
-GLEW_FUN_EXPORT PFNGLFOGCOORDHNVPROC __glewFogCoordhNV;
-GLEW_FUN_EXPORT PFNGLFOGCOORDHVNVPROC __glewFogCoordhvNV;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1HNVPROC __glewMultiTexCoord1hNV;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1HVNVPROC __glewMultiTexCoord1hvNV;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2HNVPROC __glewMultiTexCoord2hNV;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2HVNVPROC __glewMultiTexCoord2hvNV;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3HNVPROC __glewMultiTexCoord3hNV;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3HVNVPROC __glewMultiTexCoord3hvNV;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4HNVPROC __glewMultiTexCoord4hNV;
-GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4HVNVPROC __glewMultiTexCoord4hvNV;
-GLEW_FUN_EXPORT PFNGLNORMAL3HNVPROC __glewNormal3hNV;
-GLEW_FUN_EXPORT PFNGLNORMAL3HVNVPROC __glewNormal3hvNV;
-GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3HNVPROC __glewSecondaryColor3hNV;
-GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3HVNVPROC __glewSecondaryColor3hvNV;
-GLEW_FUN_EXPORT PFNGLTEXCOORD1HNVPROC __glewTexCoord1hNV;
-GLEW_FUN_EXPORT PFNGLTEXCOORD1HVNVPROC __glewTexCoord1hvNV;
-GLEW_FUN_EXPORT PFNGLTEXCOORD2HNVPROC __glewTexCoord2hNV;
-GLEW_FUN_EXPORT PFNGLTEXCOORD2HVNVPROC __glewTexCoord2hvNV;
-GLEW_FUN_EXPORT PFNGLTEXCOORD3HNVPROC __glewTexCoord3hNV;
-GLEW_FUN_EXPORT PFNGLTEXCOORD3HVNVPROC __glewTexCoord3hvNV;
-GLEW_FUN_EXPORT PFNGLTEXCOORD4HNVPROC __glewTexCoord4hNV;
-GLEW_FUN_EXPORT PFNGLTEXCOORD4HVNVPROC __glewTexCoord4hvNV;
-GLEW_FUN_EXPORT PFNGLVERTEX2HNVPROC __glewVertex2hNV;
-GLEW_FUN_EXPORT PFNGLVERTEX2HVNVPROC __glewVertex2hvNV;
-GLEW_FUN_EXPORT PFNGLVERTEX3HNVPROC __glewVertex3hNV;
-GLEW_FUN_EXPORT PFNGLVERTEX3HVNVPROC __glewVertex3hvNV;
-GLEW_FUN_EXPORT PFNGLVERTEX4HNVPROC __glewVertex4hNV;
-GLEW_FUN_EXPORT PFNGLVERTEX4HVNVPROC __glewVertex4hvNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1HNVPROC __glewVertexAttrib1hNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1HVNVPROC __glewVertexAttrib1hvNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2HNVPROC __glewVertexAttrib2hNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2HVNVPROC __glewVertexAttrib2hvNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3HNVPROC __glewVertexAttrib3hNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3HVNVPROC __glewVertexAttrib3hvNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4HNVPROC __glewVertexAttrib4hNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4HVNVPROC __glewVertexAttrib4hvNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS1HVNVPROC __glewVertexAttribs1hvNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS2HVNVPROC __glewVertexAttribs2hvNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS3HVNVPROC __glewVertexAttribs3hvNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS4HVNVPROC __glewVertexAttribs4hvNV;
-GLEW_FUN_EXPORT PFNGLVERTEXWEIGHTHNVPROC __glewVertexWeighthNV;
-GLEW_FUN_EXPORT PFNGLVERTEXWEIGHTHVNVPROC __glewVertexWeighthvNV;
-
-GLEW_FUN_EXPORT PFNGLBEGINOCCLUSIONQUERYNVPROC __glewBeginOcclusionQueryNV;
-GLEW_FUN_EXPORT PFNGLDELETEOCCLUSIONQUERIESNVPROC __glewDeleteOcclusionQueriesNV;
-GLEW_FUN_EXPORT PFNGLENDOCCLUSIONQUERYNVPROC __glewEndOcclusionQueryNV;
-GLEW_FUN_EXPORT PFNGLGENOCCLUSIONQUERIESNVPROC __glewGenOcclusionQueriesNV;
-GLEW_FUN_EXPORT PFNGLGETOCCLUSIONQUERYIVNVPROC __glewGetOcclusionQueryivNV;
-GLEW_FUN_EXPORT PFNGLGETOCCLUSIONQUERYUIVNVPROC __glewGetOcclusionQueryuivNV;
-GLEW_FUN_EXPORT PFNGLISOCCLUSIONQUERYNVPROC __glewIsOcclusionQueryNV;
-
-GLEW_FUN_EXPORT PFNGLPROGRAMBUFFERPARAMETERSIIVNVPROC __glewProgramBufferParametersIivNV;
-GLEW_FUN_EXPORT PFNGLPROGRAMBUFFERPARAMETERSIUIVNVPROC __glewProgramBufferParametersIuivNV;
-GLEW_FUN_EXPORT PFNGLPROGRAMBUFFERPARAMETERSFVNVPROC __glewProgramBufferParametersfvNV;
-
-GLEW_FUN_EXPORT PFNGLFLUSHPIXELDATARANGENVPROC __glewFlushPixelDataRangeNV;
-GLEW_FUN_EXPORT PFNGLPIXELDATARANGENVPROC __glewPixelDataRangeNV;
-
-GLEW_FUN_EXPORT PFNGLPOINTPARAMETERINVPROC __glewPointParameteriNV;
-GLEW_FUN_EXPORT PFNGLPOINTPARAMETERIVNVPROC __glewPointParameterivNV;
-
-GLEW_FUN_EXPORT PFNGLGETVIDEOI64VNVPROC __glewGetVideoi64vNV;
-GLEW_FUN_EXPORT PFNGLGETVIDEOIVNVPROC __glewGetVideoivNV;
-GLEW_FUN_EXPORT PFNGLGETVIDEOUI64VNVPROC __glewGetVideoui64vNV;
-GLEW_FUN_EXPORT PFNGLGETVIDEOUIVNVPROC __glewGetVideouivNV;
-GLEW_FUN_EXPORT PFNGLPRESENTFRAMEDUALFILLNVPROC __glewPresentFrameDualFillNV;
-GLEW_FUN_EXPORT PFNGLPRESENTFRAMEKEYEDNVPROC __glewPresentFrameKeyedNV;
-
-GLEW_FUN_EXPORT PFNGLPRIMITIVERESTARTINDEXNVPROC __glewPrimitiveRestartIndexNV;
-GLEW_FUN_EXPORT PFNGLPRIMITIVERESTARTNVPROC __glewPrimitiveRestartNV;
-
-GLEW_FUN_EXPORT PFNGLCOMBINERINPUTNVPROC __glewCombinerInputNV;
-GLEW_FUN_EXPORT PFNGLCOMBINEROUTPUTNVPROC __glewCombinerOutputNV;
-GLEW_FUN_EXPORT PFNGLCOMBINERPARAMETERFNVPROC __glewCombinerParameterfNV;
-GLEW_FUN_EXPORT PFNGLCOMBINERPARAMETERFVNVPROC __glewCombinerParameterfvNV;
-GLEW_FUN_EXPORT PFNGLCOMBINERPARAMETERINVPROC __glewCombinerParameteriNV;
-GLEW_FUN_EXPORT PFNGLCOMBINERPARAMETERIVNVPROC __glewCombinerParameterivNV;
-GLEW_FUN_EXPORT PFNGLFINALCOMBINERINPUTNVPROC __glewFinalCombinerInputNV;
-GLEW_FUN_EXPORT PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC __glewGetCombinerInputParameterfvNV;
-GLEW_FUN_EXPORT PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC __glewGetCombinerInputParameterivNV;
-GLEW_FUN_EXPORT PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC __glewGetCombinerOutputParameterfvNV;
-GLEW_FUN_EXPORT PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC __glewGetCombinerOutputParameterivNV;
-GLEW_FUN_EXPORT PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC __glewGetFinalCombinerInputParameterfvNV;
-GLEW_FUN_EXPORT PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC __glewGetFinalCombinerInputParameterivNV;
-
-GLEW_FUN_EXPORT PFNGLCOMBINERSTAGEPARAMETERFVNVPROC __glewCombinerStageParameterfvNV;
-GLEW_FUN_EXPORT PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC __glewGetCombinerStageParameterfvNV;
-
-GLEW_FUN_EXPORT PFNGLGETBUFFERPARAMETERUI64VNVPROC __glewGetBufferParameterui64vNV;
-GLEW_FUN_EXPORT PFNGLGETINTEGERUI64VNVPROC __glewGetIntegerui64vNV;
-GLEW_FUN_EXPORT PFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC __glewGetNamedBufferParameterui64vNV;
-GLEW_FUN_EXPORT PFNGLISBUFFERRESIDENTNVPROC __glewIsBufferResidentNV;
-GLEW_FUN_EXPORT PFNGLISNAMEDBUFFERRESIDENTNVPROC __glewIsNamedBufferResidentNV;
-GLEW_FUN_EXPORT PFNGLMAKEBUFFERNONRESIDENTNVPROC __glewMakeBufferNonResidentNV;
-GLEW_FUN_EXPORT PFNGLMAKEBUFFERRESIDENTNVPROC __glewMakeBufferResidentNV;
-GLEW_FUN_EXPORT PFNGLMAKENAMEDBUFFERNONRESIDENTNVPROC __glewMakeNamedBufferNonResidentNV;
-GLEW_FUN_EXPORT PFNGLMAKENAMEDBUFFERRESIDENTNVPROC __glewMakeNamedBufferResidentNV;
-GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMUI64NVPROC __glewProgramUniformui64NV;
-GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMUI64VNVPROC __glewProgramUniformui64vNV;
-GLEW_FUN_EXPORT PFNGLUNIFORMUI64NVPROC __glewUniformui64NV;
-GLEW_FUN_EXPORT PFNGLUNIFORMUI64VNVPROC __glewUniformui64vNV;
-
-GLEW_FUN_EXPORT PFNGLTEXTUREBARRIERNVPROC __glewTextureBarrierNV;
-
-GLEW_FUN_EXPORT PFNGLACTIVEVARYINGNVPROC __glewActiveVaryingNV;
-GLEW_FUN_EXPORT PFNGLBEGINTRANSFORMFEEDBACKNVPROC __glewBeginTransformFeedbackNV;
-GLEW_FUN_EXPORT PFNGLBINDBUFFERBASENVPROC __glewBindBufferBaseNV;
-GLEW_FUN_EXPORT PFNGLBINDBUFFEROFFSETNVPROC __glewBindBufferOffsetNV;
-GLEW_FUN_EXPORT PFNGLBINDBUFFERRANGENVPROC __glewBindBufferRangeNV;
-GLEW_FUN_EXPORT PFNGLENDTRANSFORMFEEDBACKNVPROC __glewEndTransformFeedbackNV;
-GLEW_FUN_EXPORT PFNGLGETACTIVEVARYINGNVPROC __glewGetActiveVaryingNV;
-GLEW_FUN_EXPORT PFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC __glewGetTransformFeedbackVaryingNV;
-GLEW_FUN_EXPORT PFNGLGETVARYINGLOCATIONNVPROC __glewGetVaryingLocationNV;
-GLEW_FUN_EXPORT PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC __glewTransformFeedbackAttribsNV;
-GLEW_FUN_EXPORT PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC __glewTransformFeedbackVaryingsNV;
-
-GLEW_FUN_EXPORT PFNGLBINDTRANSFORMFEEDBACKNVPROC __glewBindTransformFeedbackNV;
-GLEW_FUN_EXPORT PFNGLDELETETRANSFORMFEEDBACKSNVPROC __glewDeleteTransformFeedbacksNV;
-GLEW_FUN_EXPORT PFNGLDRAWTRANSFORMFEEDBACKNVPROC __glewDrawTransformFeedbackNV;
-GLEW_FUN_EXPORT PFNGLGENTRANSFORMFEEDBACKSNVPROC __glewGenTransformFeedbacksNV;
-GLEW_FUN_EXPORT PFNGLISTRANSFORMFEEDBACKNVPROC __glewIsTransformFeedbackNV;
-GLEW_FUN_EXPORT PFNGLPAUSETRANSFORMFEEDBACKNVPROC __glewPauseTransformFeedbackNV;
-GLEW_FUN_EXPORT PFNGLRESUMETRANSFORMFEEDBACKNVPROC __glewResumeTransformFeedbackNV;
-
-GLEW_FUN_EXPORT PFNGLFLUSHVERTEXARRAYRANGENVPROC __glewFlushVertexArrayRangeNV;
-GLEW_FUN_EXPORT PFNGLVERTEXARRAYRANGENVPROC __glewVertexArrayRangeNV;
-
-GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBLI64VNVPROC __glewGetVertexAttribLi64vNV;
-GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBLUI64VNVPROC __glewGetVertexAttribLui64vNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL1I64NVPROC __glewVertexAttribL1i64NV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL1I64VNVPROC __glewVertexAttribL1i64vNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL1UI64NVPROC __glewVertexAttribL1ui64NV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL1UI64VNVPROC __glewVertexAttribL1ui64vNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL2I64NVPROC __glewVertexAttribL2i64NV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL2I64VNVPROC __glewVertexAttribL2i64vNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL2UI64NVPROC __glewVertexAttribL2ui64NV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL2UI64VNVPROC __glewVertexAttribL2ui64vNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL3I64NVPROC __glewVertexAttribL3i64NV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL3I64VNVPROC __glewVertexAttribL3i64vNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL3UI64NVPROC __glewVertexAttribL3ui64NV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL3UI64VNVPROC __glewVertexAttribL3ui64vNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL4I64NVPROC __glewVertexAttribL4i64NV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL4I64VNVPROC __glewVertexAttribL4i64vNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL4UI64NVPROC __glewVertexAttribL4ui64NV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL4UI64VNVPROC __glewVertexAttribL4ui64vNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBLFORMATNVPROC __glewVertexAttribLFormatNV;
-
-GLEW_FUN_EXPORT PFNGLBUFFERADDRESSRANGENVPROC __glewBufferAddressRangeNV;
-GLEW_FUN_EXPORT PFNGLCOLORFORMATNVPROC __glewColorFormatNV;
-GLEW_FUN_EXPORT PFNGLEDGEFLAGFORMATNVPROC __glewEdgeFlagFormatNV;
-GLEW_FUN_EXPORT PFNGLFOGCOORDFORMATNVPROC __glewFogCoordFormatNV;
-GLEW_FUN_EXPORT PFNGLGETINTEGERUI64I_VNVPROC __glewGetIntegerui64i_vNV;
-GLEW_FUN_EXPORT PFNGLINDEXFORMATNVPROC __glewIndexFormatNV;
-GLEW_FUN_EXPORT PFNGLNORMALFORMATNVPROC __glewNormalFormatNV;
-GLEW_FUN_EXPORT PFNGLSECONDARYCOLORFORMATNVPROC __glewSecondaryColorFormatNV;
-GLEW_FUN_EXPORT PFNGLTEXCOORDFORMATNVPROC __glewTexCoordFormatNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBFORMATNVPROC __glewVertexAttribFormatNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBIFORMATNVPROC __glewVertexAttribIFormatNV;
-GLEW_FUN_EXPORT PFNGLVERTEXFORMATNVPROC __glewVertexFormatNV;
-
-GLEW_FUN_EXPORT PFNGLAREPROGRAMSRESIDENTNVPROC __glewAreProgramsResidentNV;
-GLEW_FUN_EXPORT PFNGLBINDPROGRAMNVPROC __glewBindProgramNV;
-GLEW_FUN_EXPORT PFNGLDELETEPROGRAMSNVPROC __glewDeleteProgramsNV;
-GLEW_FUN_EXPORT PFNGLEXECUTEPROGRAMNVPROC __glewExecuteProgramNV;
-GLEW_FUN_EXPORT PFNGLGENPROGRAMSNVPROC __glewGenProgramsNV;
-GLEW_FUN_EXPORT PFNGLGETPROGRAMPARAMETERDVNVPROC __glewGetProgramParameterdvNV;
-GLEW_FUN_EXPORT PFNGLGETPROGRAMPARAMETERFVNVPROC __glewGetProgramParameterfvNV;
-GLEW_FUN_EXPORT PFNGLGETPROGRAMSTRINGNVPROC __glewGetProgramStringNV;
-GLEW_FUN_EXPORT PFNGLGETPROGRAMIVNVPROC __glewGetProgramivNV;
-GLEW_FUN_EXPORT PFNGLGETTRACKMATRIXIVNVPROC __glewGetTrackMatrixivNV;
-GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBPOINTERVNVPROC __glewGetVertexAttribPointervNV;
-GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBDVNVPROC __glewGetVertexAttribdvNV;
-GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBFVNVPROC __glewGetVertexAttribfvNV;
-GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBIVNVPROC __glewGetVertexAttribivNV;
-GLEW_FUN_EXPORT PFNGLISPROGRAMNVPROC __glewIsProgramNV;
-GLEW_FUN_EXPORT PFNGLLOADPROGRAMNVPROC __glewLoadProgramNV;
-GLEW_FUN_EXPORT PFNGLPROGRAMPARAMETER4DNVPROC __glewProgramParameter4dNV;
-GLEW_FUN_EXPORT PFNGLPROGRAMPARAMETER4DVNVPROC __glewProgramParameter4dvNV;
-GLEW_FUN_EXPORT PFNGLPROGRAMPARAMETER4FNVPROC __glewProgramParameter4fNV;
-GLEW_FUN_EXPORT PFNGLPROGRAMPARAMETER4FVNVPROC __glewProgramParameter4fvNV;
-GLEW_FUN_EXPORT PFNGLPROGRAMPARAMETERS4DVNVPROC __glewProgramParameters4dvNV;
-GLEW_FUN_EXPORT PFNGLPROGRAMPARAMETERS4FVNVPROC __glewProgramParameters4fvNV;
-GLEW_FUN_EXPORT PFNGLREQUESTRESIDENTPROGRAMSNVPROC __glewRequestResidentProgramsNV;
-GLEW_FUN_EXPORT PFNGLTRACKMATRIXNVPROC __glewTrackMatrixNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1DNVPROC __glewVertexAttrib1dNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1DVNVPROC __glewVertexAttrib1dvNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1FNVPROC __glewVertexAttrib1fNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1FVNVPROC __glewVertexAttrib1fvNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1SNVPROC __glewVertexAttrib1sNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1SVNVPROC __glewVertexAttrib1svNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2DNVPROC __glewVertexAttrib2dNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2DVNVPROC __glewVertexAttrib2dvNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2FNVPROC __glewVertexAttrib2fNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2FVNVPROC __glewVertexAttrib2fvNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2SNVPROC __glewVertexAttrib2sNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2SVNVPROC __glewVertexAttrib2svNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3DNVPROC __glewVertexAttrib3dNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3DVNVPROC __glewVertexAttrib3dvNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3FNVPROC __glewVertexAttrib3fNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3FVNVPROC __glewVertexAttrib3fvNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3SNVPROC __glewVertexAttrib3sNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3SVNVPROC __glewVertexAttrib3svNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4DNVPROC __glewVertexAttrib4dNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4DVNVPROC __glewVertexAttrib4dvNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4FNVPROC __glewVertexAttrib4fNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4FVNVPROC __glewVertexAttrib4fvNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4SNVPROC __glewVertexAttrib4sNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4SVNVPROC __glewVertexAttrib4svNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4UBNVPROC __glewVertexAttrib4ubNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4UBVNVPROC __glewVertexAttrib4ubvNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBPOINTERNVPROC __glewVertexAttribPointerNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS1DVNVPROC __glewVertexAttribs1dvNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS1FVNVPROC __glewVertexAttribs1fvNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS1SVNVPROC __glewVertexAttribs1svNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS2DVNVPROC __glewVertexAttribs2dvNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS2FVNVPROC __glewVertexAttribs2fvNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS2SVNVPROC __glewVertexAttribs2svNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS3DVNVPROC __glewVertexAttribs3dvNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS3FVNVPROC __glewVertexAttribs3fvNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS3SVNVPROC __glewVertexAttribs3svNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS4DVNVPROC __glewVertexAttribs4dvNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS4FVNVPROC __glewVertexAttribs4fvNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS4SVNVPROC __glewVertexAttribs4svNV;
-GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS4UBVNVPROC __glewVertexAttribs4ubvNV;
-
-GLEW_FUN_EXPORT PFNGLCLEARDEPTHFOESPROC __glewClearDepthfOES;
-GLEW_FUN_EXPORT PFNGLCLIPPLANEFOESPROC __glewClipPlanefOES;
-GLEW_FUN_EXPORT PFNGLDEPTHRANGEFOESPROC __glewDepthRangefOES;
-GLEW_FUN_EXPORT PFNGLFRUSTUMFOESPROC __glewFrustumfOES;
-GLEW_FUN_EXPORT PFNGLGETCLIPPLANEFOESPROC __glewGetClipPlanefOES;
-GLEW_FUN_EXPORT PFNGLORTHOFOESPROC __glewOrthofOES;
-
-GLEW_FUN_EXPORT PFNGLDETAILTEXFUNCSGISPROC __glewDetailTexFuncSGIS;
-GLEW_FUN_EXPORT PFNGLGETDETAILTEXFUNCSGISPROC __glewGetDetailTexFuncSGIS;
-
-GLEW_FUN_EXPORT PFNGLFOGFUNCSGISPROC __glewFogFuncSGIS;
-GLEW_FUN_EXPORT PFNGLGETFOGFUNCSGISPROC __glewGetFogFuncSGIS;
-
-GLEW_FUN_EXPORT PFNGLSAMPLEMASKSGISPROC __glewSampleMaskSGIS;
-GLEW_FUN_EXPORT PFNGLSAMPLEPATTERNSGISPROC __glewSamplePatternSGIS;
-
-GLEW_FUN_EXPORT PFNGLGETSHARPENTEXFUNCSGISPROC __glewGetSharpenTexFuncSGIS;
-GLEW_FUN_EXPORT PFNGLSHARPENTEXFUNCSGISPROC __glewSharpenTexFuncSGIS;
-
-GLEW_FUN_EXPORT PFNGLTEXIMAGE4DSGISPROC __glewTexImage4DSGIS;
-GLEW_FUN_EXPORT PFNGLTEXSUBIMAGE4DSGISPROC __glewTexSubImage4DSGIS;
-
-GLEW_FUN_EXPORT PFNGLGETTEXFILTERFUNCSGISPROC __glewGetTexFilterFuncSGIS;
-GLEW_FUN_EXPORT PFNGLTEXFILTERFUNCSGISPROC __glewTexFilterFuncSGIS;
-
-GLEW_FUN_EXPORT PFNGLASYNCMARKERSGIXPROC __glewAsyncMarkerSGIX;
-GLEW_FUN_EXPORT PFNGLDELETEASYNCMARKERSSGIXPROC __glewDeleteAsyncMarkersSGIX;
-GLEW_FUN_EXPORT PFNGLFINISHASYNCSGIXPROC __glewFinishAsyncSGIX;
-GLEW_FUN_EXPORT PFNGLGENASYNCMARKERSSGIXPROC __glewGenAsyncMarkersSGIX;
-GLEW_FUN_EXPORT PFNGLISASYNCMARKERSGIXPROC __glewIsAsyncMarkerSGIX;
-GLEW_FUN_EXPORT PFNGLPOLLASYNCSGIXPROC __glewPollAsyncSGIX;
-
-GLEW_FUN_EXPORT PFNGLFLUSHRASTERSGIXPROC __glewFlushRasterSGIX;
-
-GLEW_FUN_EXPORT PFNGLTEXTUREFOGSGIXPROC __glewTextureFogSGIX;
-
-GLEW_FUN_EXPORT PFNGLFRAGMENTCOLORMATERIALSGIXPROC __glewFragmentColorMaterialSGIX;
-GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTMODELFSGIXPROC __glewFragmentLightModelfSGIX;
-GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTMODELFVSGIXPROC __glewFragmentLightModelfvSGIX;
-GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTMODELISGIXPROC __glewFragmentLightModeliSGIX;
-GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTMODELIVSGIXPROC __glewFragmentLightModelivSGIX;
-GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTFSGIXPROC __glewFragmentLightfSGIX;
-GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTFVSGIXPROC __glewFragmentLightfvSGIX;
-GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTISGIXPROC __glewFragmentLightiSGIX;
-GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTIVSGIXPROC __glewFragmentLightivSGIX;
-GLEW_FUN_EXPORT PFNGLFRAGMENTMATERIALFSGIXPROC __glewFragmentMaterialfSGIX;
-GLEW_FUN_EXPORT PFNGLFRAGMENTMATERIALFVSGIXPROC __glewFragmentMaterialfvSGIX;
-GLEW_FUN_EXPORT PFNGLFRAGMENTMATERIALISGIXPROC __glewFragmentMaterialiSGIX;
-GLEW_FUN_EXPORT PFNGLFRAGMENTMATERIALIVSGIXPROC __glewFragmentMaterialivSGIX;
-GLEW_FUN_EXPORT PFNGLGETFRAGMENTLIGHTFVSGIXPROC __glewGetFragmentLightfvSGIX;
-GLEW_FUN_EXPORT PFNGLGETFRAGMENTLIGHTIVSGIXPROC __glewGetFragmentLightivSGIX;
-GLEW_FUN_EXPORT PFNGLGETFRAGMENTMATERIALFVSGIXPROC __glewGetFragmentMaterialfvSGIX;
-GLEW_FUN_EXPORT PFNGLGETFRAGMENTMATERIALIVSGIXPROC __glewGetFragmentMaterialivSGIX;
-
-GLEW_FUN_EXPORT PFNGLFRAMEZOOMSGIXPROC __glewFrameZoomSGIX;
-
-GLEW_FUN_EXPORT PFNGLPIXELTEXGENSGIXPROC __glewPixelTexGenSGIX;
-
-GLEW_FUN_EXPORT PFNGLREFERENCEPLANESGIXPROC __glewReferencePlaneSGIX;
-
-GLEW_FUN_EXPORT PFNGLSPRITEPARAMETERFSGIXPROC __glewSpriteParameterfSGIX;
-GLEW_FUN_EXPORT PFNGLSPRITEPARAMETERFVSGIXPROC __glewSpriteParameterfvSGIX;
-GLEW_FUN_EXPORT PFNGLSPRITEPARAMETERISGIXPROC __glewSpriteParameteriSGIX;
-GLEW_FUN_EXPORT PFNGLSPRITEPARAMETERIVSGIXPROC __glewSpriteParameterivSGIX;
-
-GLEW_FUN_EXPORT PFNGLTAGSAMPLEBUFFERSGIXPROC __glewTagSampleBufferSGIX;
-
-GLEW_FUN_EXPORT PFNGLCOLORTABLEPARAMETERFVSGIPROC __glewColorTableParameterfvSGI;
-GLEW_FUN_EXPORT PFNGLCOLORTABLEPARAMETERIVSGIPROC __glewColorTableParameterivSGI;
-GLEW_FUN_EXPORT PFNGLCOLORTABLESGIPROC __glewColorTableSGI;
-GLEW_FUN_EXPORT PFNGLCOPYCOLORTABLESGIPROC __glewCopyColorTableSGI;
-GLEW_FUN_EXPORT PFNGLGETCOLORTABLEPARAMETERFVSGIPROC __glewGetColorTableParameterfvSGI;
-GLEW_FUN_EXPORT PFNGLGETCOLORTABLEPARAMETERIVSGIPROC __glewGetColorTableParameterivSGI;
-GLEW_FUN_EXPORT PFNGLGETCOLORTABLESGIPROC __glewGetColorTableSGI;
-
-GLEW_FUN_EXPORT PFNGLFINISHTEXTURESUNXPROC __glewFinishTextureSUNX;
-
-GLEW_FUN_EXPORT PFNGLGLOBALALPHAFACTORBSUNPROC __glewGlobalAlphaFactorbSUN;
-GLEW_FUN_EXPORT PFNGLGLOBALALPHAFACTORDSUNPROC __glewGlobalAlphaFactordSUN;
-GLEW_FUN_EXPORT PFNGLGLOBALALPHAFACTORFSUNPROC __glewGlobalAlphaFactorfSUN;
-GLEW_FUN_EXPORT PFNGLGLOBALALPHAFACTORISUNPROC __glewGlobalAlphaFactoriSUN;
-GLEW_FUN_EXPORT PFNGLGLOBALALPHAFACTORSSUNPROC __glewGlobalAlphaFactorsSUN;
-GLEW_FUN_EXPORT PFNGLGLOBALALPHAFACTORUBSUNPROC __glewGlobalAlphaFactorubSUN;
-GLEW_FUN_EXPORT PFNGLGLOBALALPHAFACTORUISUNPROC __glewGlobalAlphaFactoruiSUN;
-GLEW_FUN_EXPORT PFNGLGLOBALALPHAFACTORUSSUNPROC __glewGlobalAlphaFactorusSUN;
-
-GLEW_FUN_EXPORT PFNGLREADVIDEOPIXELSSUNPROC __glewReadVideoPixelsSUN;
-
-GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEPOINTERSUNPROC __glewReplacementCodePointerSUN;
-GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUBSUNPROC __glewReplacementCodeubSUN;
-GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUBVSUNPROC __glewReplacementCodeubvSUN;
-GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUISUNPROC __glewReplacementCodeuiSUN;
-GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUIVSUNPROC __glewReplacementCodeuivSUN;
-GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUSSUNPROC __glewReplacementCodeusSUN;
-GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUSVSUNPROC __glewReplacementCodeusvSUN;
-
-GLEW_FUN_EXPORT PFNGLCOLOR3FVERTEX3FSUNPROC __glewColor3fVertex3fSUN;
-GLEW_FUN_EXPORT PFNGLCOLOR3FVERTEX3FVSUNPROC __glewColor3fVertex3fvSUN;
-GLEW_FUN_EXPORT PFNGLCOLOR4FNORMAL3FVERTEX3FSUNPROC __glewColor4fNormal3fVertex3fSUN;
-GLEW_FUN_EXPORT PFNGLCOLOR4FNORMAL3FVERTEX3FVSUNPROC __glewColor4fNormal3fVertex3fvSUN;
-GLEW_FUN_EXPORT PFNGLCOLOR4UBVERTEX2FSUNPROC __glewColor4ubVertex2fSUN;
-GLEW_FUN_EXPORT PFNGLCOLOR4UBVERTEX2FVSUNPROC __glewColor4ubVertex2fvSUN;
-GLEW_FUN_EXPORT PFNGLCOLOR4UBVERTEX3FSUNPROC __glewColor4ubVertex3fSUN;
-GLEW_FUN_EXPORT PFNGLCOLOR4UBVERTEX3FVSUNPROC __glewColor4ubVertex3fvSUN;
-GLEW_FUN_EXPORT PFNGLNORMAL3FVERTEX3FSUNPROC __glewNormal3fVertex3fSUN;
-GLEW_FUN_EXPORT PFNGLNORMAL3FVERTEX3FVSUNPROC __glewNormal3fVertex3fvSUN;
-GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FSUNPROC __glewReplacementCodeuiColor3fVertex3fSUN;
-GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FVSUNPROC __glewReplacementCodeuiColor3fVertex3fvSUN;
-GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FSUNPROC __glewReplacementCodeuiColor4fNormal3fVertex3fSUN;
-GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FVSUNPROC __glewReplacementCodeuiColor4fNormal3fVertex3fvSUN;
-GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FSUNPROC __glewReplacementCodeuiColor4ubVertex3fSUN;
-GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FVSUNPROC __glewReplacementCodeuiColor4ubVertex3fvSUN;
-GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FSUNPROC __glewReplacementCodeuiNormal3fVertex3fSUN;
-GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FVSUNPROC __glewReplacementCodeuiNormal3fVertex3fvSUN;
-GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC __glewReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN;
-GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC __glewReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN;
-GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FSUNPROC __glewReplacementCodeuiTexCoord2fNormal3fVertex3fSUN;
-GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FVSUNPROC __glewReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN;
-GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FSUNPROC __glewReplacementCodeuiTexCoord2fVertex3fSUN;
-GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FVSUNPROC __glewReplacementCodeuiTexCoord2fVertex3fvSUN;
-GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUIVERTEX3FSUNPROC __glewReplacementCodeuiVertex3fSUN;
-GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUIVERTEX3FVSUNPROC __glewReplacementCodeuiVertex3fvSUN;
-GLEW_FUN_EXPORT PFNGLTEXCOORD2FCOLOR3FVERTEX3FSUNPROC __glewTexCoord2fColor3fVertex3fSUN;
-GLEW_FUN_EXPORT PFNGLTEXCOORD2FCOLOR3FVERTEX3FVSUNPROC __glewTexCoord2fColor3fVertex3fvSUN;
-GLEW_FUN_EXPORT PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC __glewTexCoord2fColor4fNormal3fVertex3fSUN;
-GLEW_FUN_EXPORT PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC __glewTexCoord2fColor4fNormal3fVertex3fvSUN;
-GLEW_FUN_EXPORT PFNGLTEXCOORD2FCOLOR4UBVERTEX3FSUNPROC __glewTexCoord2fColor4ubVertex3fSUN;
-GLEW_FUN_EXPORT PFNGLTEXCOORD2FCOLOR4UBVERTEX3FVSUNPROC __glewTexCoord2fColor4ubVertex3fvSUN;
-GLEW_FUN_EXPORT PFNGLTEXCOORD2FNORMAL3FVERTEX3FSUNPROC __glewTexCoord2fNormal3fVertex3fSUN;
-GLEW_FUN_EXPORT PFNGLTEXCOORD2FNORMAL3FVERTEX3FVSUNPROC __glewTexCoord2fNormal3fVertex3fvSUN;
-GLEW_FUN_EXPORT PFNGLTEXCOORD2FVERTEX3FSUNPROC __glewTexCoord2fVertex3fSUN;
-GLEW_FUN_EXPORT PFNGLTEXCOORD2FVERTEX3FVSUNPROC __glewTexCoord2fVertex3fvSUN;
-GLEW_FUN_EXPORT PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FSUNPROC __glewTexCoord4fColor4fNormal3fVertex4fSUN;
-GLEW_FUN_EXPORT PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FVSUNPROC __glewTexCoord4fColor4fNormal3fVertex4fvSUN;
-GLEW_FUN_EXPORT PFNGLTEXCOORD4FVERTEX4FSUNPROC __glewTexCoord4fVertex4fSUN;
-GLEW_FUN_EXPORT PFNGLTEXCOORD4FVERTEX4FVSUNPROC __glewTexCoord4fVertex4fvSUN;
-
-GLEW_FUN_EXPORT PFNGLADDSWAPHINTRECTWINPROC __glewAddSwapHintRectWIN;
-
-#if defined(GLEW_MX) && !defined(_WIN32)
-struct GLEWContextStruct
-{
-#endif /* GLEW_MX */
-
-GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_1_1;
-GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_1_2;
-GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_1_3;
-GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_1_4;
-GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_1_5;
-GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_2_0;
-GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_2_1;
-GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_3_0;
-GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_3_1;
-GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_3_2;
-GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_3_3;
-GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_4_0;
-GLEW_VAR_EXPORT GLboolean __GLEW_3DFX_multisample;
-GLEW_VAR_EXPORT GLboolean __GLEW_3DFX_tbuffer;
-GLEW_VAR_EXPORT GLboolean __GLEW_3DFX_texture_compression_FXT1;
-GLEW_VAR_EXPORT GLboolean __GLEW_AMD_conservative_depth;
-GLEW_VAR_EXPORT GLboolean __GLEW_AMD_draw_buffers_blend;
-GLEW_VAR_EXPORT GLboolean __GLEW_AMD_performance_monitor;
-GLEW_VAR_EXPORT GLboolean __GLEW_AMD_seamless_cubemap_per_texture;
-GLEW_VAR_EXPORT GLboolean __GLEW_AMD_shader_stencil_export;
-GLEW_VAR_EXPORT GLboolean __GLEW_AMD_texture_texture4;
-GLEW_VAR_EXPORT GLboolean __GLEW_AMD_vertex_shader_tessellator;
-GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_aux_depth_stencil;
-GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_client_storage;
-GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_element_array;
-GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_fence;
-GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_float_pixels;
-GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_flush_buffer_range;
-GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_object_purgeable;
-GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_pixel_buffer;
-GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_rgb_422;
-GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_row_bytes;
-GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_specular_vector;
-GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_texture_range;
-GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_transform_hint;
-GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_vertex_array_object;
-GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_vertex_array_range;
-GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_vertex_program_evaluators;
-GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_ycbcr_422;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_blend_func_extended;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_color_buffer_float;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_compatibility;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_copy_buffer;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_depth_buffer_float;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_depth_clamp;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_depth_texture;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_draw_buffers;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_draw_buffers_blend;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_draw_elements_base_vertex;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_draw_indirect;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_draw_instanced;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_explicit_attrib_location;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_fragment_coord_conventions;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_fragment_program;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_fragment_program_shadow;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_fragment_shader;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_framebuffer_object;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_framebuffer_sRGB;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_geometry_shader4;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_gpu_shader5;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_gpu_shader_fp64;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_half_float_pixel;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_half_float_vertex;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_imaging;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_instanced_arrays;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_map_buffer_range;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_matrix_palette;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_multisample;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_multitexture;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_occlusion_query;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_occlusion_query2;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_pixel_buffer_object;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_point_parameters;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_point_sprite;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_provoking_vertex;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_sample_shading;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_sampler_objects;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_seamless_cube_map;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_bit_encoding;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_objects;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_subroutine;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_texture_lod;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shading_language_100;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shading_language_include;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shadow;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shadow_ambient;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_sync;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_tessellation_shader;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_border_clamp;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_buffer_object;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_buffer_object_rgb32;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_compression;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_compression_bptc;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_compression_rgtc;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_cube_map;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_cube_map_array;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_env_add;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_env_combine;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_env_crossbar;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_env_dot3;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_float;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_gather;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_mirrored_repeat;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_multisample;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_non_power_of_two;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_query_lod;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_rectangle;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_rg;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_rgb10_a2ui;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_swizzle;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_timer_query;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_transform_feedback2;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_transform_feedback3;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_transpose_matrix;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_uniform_buffer_object;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_array_bgra;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_array_object;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_blend;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_buffer_object;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_program;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_shader;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_type_2_10_10_10_rev;
-GLEW_VAR_EXPORT GLboolean __GLEW_ARB_window_pos;
-GLEW_VAR_EXPORT GLboolean __GLEW_ATIX_point_sprites;
-GLEW_VAR_EXPORT GLboolean __GLEW_ATIX_texture_env_combine3;
-GLEW_VAR_EXPORT GLboolean __GLEW_ATIX_texture_env_route;
-GLEW_VAR_EXPORT GLboolean __GLEW_ATIX_vertex_shader_output_point_size;
-GLEW_VAR_EXPORT GLboolean __GLEW_ATI_draw_buffers;
-GLEW_VAR_EXPORT GLboolean __GLEW_ATI_element_array;
-GLEW_VAR_EXPORT GLboolean __GLEW_ATI_envmap_bumpmap;
-GLEW_VAR_EXPORT GLboolean __GLEW_ATI_fragment_shader;
-GLEW_VAR_EXPORT GLboolean __GLEW_ATI_map_object_buffer;
-GLEW_VAR_EXPORT GLboolean __GLEW_ATI_meminfo;
-GLEW_VAR_EXPORT GLboolean __GLEW_ATI_pn_triangles;
-GLEW_VAR_EXPORT GLboolean __GLEW_ATI_separate_stencil;
-GLEW_VAR_EXPORT GLboolean __GLEW_ATI_shader_texture_lod;
-GLEW_VAR_EXPORT GLboolean __GLEW_ATI_text_fragment_shader;
-GLEW_VAR_EXPORT GLboolean __GLEW_ATI_texture_compression_3dc;
-GLEW_VAR_EXPORT GLboolean __GLEW_ATI_texture_env_combine3;
-GLEW_VAR_EXPORT GLboolean __GLEW_ATI_texture_float;
-GLEW_VAR_EXPORT GLboolean __GLEW_ATI_texture_mirror_once;
-GLEW_VAR_EXPORT GLboolean __GLEW_ATI_vertex_array_object;
-GLEW_VAR_EXPORT GLboolean __GLEW_ATI_vertex_attrib_array_object;
-GLEW_VAR_EXPORT GLboolean __GLEW_ATI_vertex_streams;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_422_pixels;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_Cg_shader;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_abgr;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_bgra;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_bindable_uniform;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_blend_color;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_blend_equation_separate;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_blend_func_separate;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_blend_logic_op;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_blend_minmax;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_blend_subtract;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_clip_volume_hint;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_cmyka;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_color_subtable;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_compiled_vertex_array;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_convolution;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_coordinate_frame;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_copy_texture;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_cull_vertex;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_depth_bounds_test;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_direct_state_access;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_draw_buffers2;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_draw_instanced;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_draw_range_elements;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_fog_coord;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_fragment_lighting;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_framebuffer_blit;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_framebuffer_multisample;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_framebuffer_object;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_framebuffer_sRGB;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_geometry_shader4;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_gpu_program_parameters;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_gpu_shader4;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_histogram;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_index_array_formats;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_index_func;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_index_material;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_index_texture;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_light_texture;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_misc_attribute;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_multi_draw_arrays;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_multisample;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_packed_depth_stencil;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_packed_float;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_packed_pixels;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_paletted_texture;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_pixel_buffer_object;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_pixel_transform;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_pixel_transform_color_table;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_point_parameters;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_polygon_offset;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_provoking_vertex;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_rescale_normal;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_scene_marker;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_secondary_color;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_separate_shader_objects;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_separate_specular_color;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_shader_image_load_store;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_shadow_funcs;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_shared_texture_palette;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_stencil_clear_tag;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_stencil_two_side;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_stencil_wrap;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_subtexture;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture3D;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_array;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_buffer_object;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_compression_dxt1;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_compression_latc;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_compression_rgtc;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_compression_s3tc;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_cube_map;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_edge_clamp;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_env;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_env_add;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_env_combine;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_env_dot3;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_filter_anisotropic;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_integer;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_lod_bias;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_mirror_clamp;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_object;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_perturb_normal;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_rectangle;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_sRGB;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_shared_exponent;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_snorm;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_swizzle;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_timer_query;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_transform_feedback;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_vertex_array;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_vertex_array_bgra;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_vertex_attrib_64bit;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_vertex_shader;
-GLEW_VAR_EXPORT GLboolean __GLEW_EXT_vertex_weighting;
-GLEW_VAR_EXPORT GLboolean __GLEW_GREMEDY_frame_terminator;
-GLEW_VAR_EXPORT GLboolean __GLEW_GREMEDY_string_marker;
-GLEW_VAR_EXPORT GLboolean __GLEW_HP_convolution_border_modes;
-GLEW_VAR_EXPORT GLboolean __GLEW_HP_image_transform;
-GLEW_VAR_EXPORT GLboolean __GLEW_HP_occlusion_test;
-GLEW_VAR_EXPORT GLboolean __GLEW_HP_texture_lighting;
-GLEW_VAR_EXPORT GLboolean __GLEW_IBM_cull_vertex;
-GLEW_VAR_EXPORT GLboolean __GLEW_IBM_multimode_draw_arrays;
-GLEW_VAR_EXPORT GLboolean __GLEW_IBM_rasterpos_clip;
-GLEW_VAR_EXPORT GLboolean __GLEW_IBM_static_data;
-GLEW_VAR_EXPORT GLboolean __GLEW_IBM_texture_mirrored_repeat;
-GLEW_VAR_EXPORT GLboolean __GLEW_IBM_vertex_array_lists;
-GLEW_VAR_EXPORT GLboolean __GLEW_INGR_color_clamp;
-GLEW_VAR_EXPORT GLboolean __GLEW_INGR_interlace_read;
-GLEW_VAR_EXPORT GLboolean __GLEW_INTEL_parallel_arrays;
-GLEW_VAR_EXPORT GLboolean __GLEW_INTEL_texture_scissor;
-GLEW_VAR_EXPORT GLboolean __GLEW_KTX_buffer_region;
-GLEW_VAR_EXPORT GLboolean __GLEW_MESAX_texture_stack;
-GLEW_VAR_EXPORT GLboolean __GLEW_MESA_pack_invert;
-GLEW_VAR_EXPORT GLboolean __GLEW_MESA_resize_buffers;
-GLEW_VAR_EXPORT GLboolean __GLEW_MESA_window_pos;
-GLEW_VAR_EXPORT GLboolean __GLEW_MESA_ycbcr_texture;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_blend_square;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_conditional_render;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_copy_depth_to_color;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_copy_image;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_depth_buffer_float;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_depth_clamp;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_depth_range_unclamped;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_evaluators;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_explicit_multisample;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_fence;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_float_buffer;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_fog_distance;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_fragment_program;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_fragment_program2;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_fragment_program4;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_fragment_program_option;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_framebuffer_multisample_coverage;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_geometry_program4;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_geometry_shader4;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_gpu_program4;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_gpu_program5;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_gpu_program_fp64;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_gpu_shader5;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_half_float;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_light_max_exponent;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_multisample_filter_hint;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_occlusion_query;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_packed_depth_stencil;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_parameter_buffer_object;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_parameter_buffer_object2;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_pixel_data_range;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_point_sprite;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_present_video;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_primitive_restart;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_register_combiners;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_register_combiners2;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_shader_buffer_load;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_tessellation_program5;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_texgen_emboss;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_texgen_reflection;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_barrier;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_compression_vtc;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_env_combine4;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_expand_normal;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_rectangle;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_shader;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_shader2;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_shader3;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_transform_feedback;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_transform_feedback2;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_array_range;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_array_range2;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_attrib_integer_64bit;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_buffer_unified_memory;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_program;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_program1_1;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_program2;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_program2_option;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_program3;
-GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_program4;
-GLEW_VAR_EXPORT GLboolean __GLEW_OES_byte_coordinates;
-GLEW_VAR_EXPORT GLboolean __GLEW_OES_compressed_paletted_texture;
-GLEW_VAR_EXPORT GLboolean __GLEW_OES_read_format;
-GLEW_VAR_EXPORT GLboolean __GLEW_OES_single_precision;
-GLEW_VAR_EXPORT GLboolean __GLEW_OML_interlace;
-GLEW_VAR_EXPORT GLboolean __GLEW_OML_resample;
-GLEW_VAR_EXPORT GLboolean __GLEW_OML_subsample;
-GLEW_VAR_EXPORT GLboolean __GLEW_PGI_misc_hints;
-GLEW_VAR_EXPORT GLboolean __GLEW_PGI_vertex_hints;
-GLEW_VAR_EXPORT GLboolean __GLEW_REND_screen_coordinates;
-GLEW_VAR_EXPORT GLboolean __GLEW_S3_s3tc;
-GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_color_range;
-GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_detail_texture;
-GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_fog_function;
-GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_generate_mipmap;
-GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_multisample;
-GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_pixel_texture;
-GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_point_line_texgen;
-GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_sharpen_texture;
-GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_texture4D;
-GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_texture_border_clamp;
-GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_texture_edge_clamp;
-GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_texture_filter4;
-GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_texture_lod;
-GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_texture_select;
-GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_async;
-GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_async_histogram;
-GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_async_pixel;
-GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_blend_alpha_minmax;
-GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_clipmap;
-GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_convolution_accuracy;
-GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_depth_texture;
-GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_flush_raster;
-GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_fog_offset;
-GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_fog_texture;
-GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_fragment_specular_lighting;
-GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_framezoom;
-GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_interlace;
-GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_ir_instrument1;
-GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_list_priority;
-GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_pixel_texture;
-GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_pixel_texture_bits;
-GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_reference_plane;
-GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_resample;
-GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_shadow;
-GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_shadow_ambient;
-GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_sprite;
-GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_tag_sample_buffer;
-GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_texture_add_env;
-GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_texture_coordinate_clamp;
-GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_texture_lod_bias;
-GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_texture_multi_buffer;
-GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_texture_range;
-GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_texture_scale_bias;
-GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_vertex_preclip;
-GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_vertex_preclip_hint;
-GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_ycrcb;
-GLEW_VAR_EXPORT GLboolean __GLEW_SGI_color_matrix;
-GLEW_VAR_EXPORT GLboolean __GLEW_SGI_color_table;
-GLEW_VAR_EXPORT GLboolean __GLEW_SGI_texture_color_table;
-GLEW_VAR_EXPORT GLboolean __GLEW_SUNX_constant_data;
-GLEW_VAR_EXPORT GLboolean __GLEW_SUN_convolution_border_modes;
-GLEW_VAR_EXPORT GLboolean __GLEW_SUN_global_alpha;
-GLEW_VAR_EXPORT GLboolean __GLEW_SUN_mesh_array;
-GLEW_VAR_EXPORT GLboolean __GLEW_SUN_read_video_pixels;
-GLEW_VAR_EXPORT GLboolean __GLEW_SUN_slice_accum;
-GLEW_VAR_EXPORT GLboolean __GLEW_SUN_triangle_list;
-GLEW_VAR_EXPORT GLboolean __GLEW_SUN_vertex;
-GLEW_VAR_EXPORT GLboolean __GLEW_WIN_phong_shading;
-GLEW_VAR_EXPORT GLboolean __GLEW_WIN_specular_fog;
-GLEW_VAR_EXPORT GLboolean __GLEW_WIN_swap_hint;
-
-#ifdef GLEW_MX
-}; /* GLEWContextStruct */
-#endif /* GLEW_MX */
-
-/* ------------------------------------------------------------------------- */
-
-/* error codes */
-#define GLEW_OK 0
-#define GLEW_NO_ERROR 0
-#define GLEW_ERROR_NO_GL_VERSION 1 /* missing GL version */
-#define GLEW_ERROR_GL_VERSION_10_ONLY 2 /* GL 1.1 and up are not supported */
-#define GLEW_ERROR_GLX_VERSION_11_ONLY 3 /* GLX 1.2 and up are not supported */
-
-/* string codes */
-#define GLEW_VERSION 1
-#define GLEW_VERSION_MAJOR 2
-#define GLEW_VERSION_MINOR 3
-#define GLEW_VERSION_MICRO 4
-
-/* API */
-#ifdef GLEW_MX
-
-typedef struct GLEWContextStruct GLEWContext;
-GLEWAPI GLenum glewContextInit (GLEWContext* ctx);
-GLEWAPI GLboolean glewContextIsSupported (GLEWContext* ctx, const char* name);
-
-#define glewInit() glewContextInit(glewGetContext())
-#define glewIsSupported(x) glewContextIsSupported(glewGetContext(), x)
-#define glewIsExtensionSupported(x) glewIsSupported(x)
-
-#define GLEW_GET_VAR(x) (*(const GLboolean*)&(glewGetContext()->x))
-#ifdef _WIN32
-# define GLEW_GET_FUN(x) glewGetContext()->x
-#else
-# define GLEW_GET_FUN(x) x
-#endif
-
-#else /* GLEW_MX */
-
-GLEWAPI GLenum glewInit ();
-GLEWAPI GLboolean glewIsSupported (const char* name);
-#define glewIsExtensionSupported(x) glewIsSupported(x)
-
-#define GLEW_GET_VAR(x) (*(const GLboolean*)&x)
-#define GLEW_GET_FUN(x) x
-
-#endif /* GLEW_MX */
-
-GLEWAPI GLboolean glewExperimental;
-GLEWAPI GLboolean glewGetExtension (const char* name);
-GLEWAPI const GLubyte* glewGetErrorString (GLenum error);
-GLEWAPI const GLubyte* glewGetString (GLenum name);
-
-#ifdef __cplusplus
-}
-#endif
-
-#ifdef GLEW_APIENTRY_DEFINED
-#undef GLEW_APIENTRY_DEFINED
-#undef APIENTRY
-#undef GLAPIENTRY
-#define GLAPIENTRY
-#endif
-
-#ifdef GLEW_CALLBACK_DEFINED
-#undef GLEW_CALLBACK_DEFINED
-#undef CALLBACK
-#endif
-
-#ifdef GLEW_WINGDIAPI_DEFINED
-#undef GLEW_WINGDIAPI_DEFINED
-#undef WINGDIAPI
-#endif
-
-#undef GLAPI
-/* #undef GLEWAPI */
-
-#endif /* __glew_h__ */
+/*
+** The OpenGL Extension Wrangler Library
+** Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
+** Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
+** Copyright (C) 2002, Lev Povalahev
+** All rights reserved.
+**
+** Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are met:
+**
+** * Redistributions of source code must retain the above copyright notice,
+** this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright notice,
+** this list of conditions and the following disclaimer in the documentation
+** and/or other materials provided with the distribution.
+** * The name of the author may be used to endorse or promote products
+** derived from this software without specific prior written permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+** AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+** ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+** LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+** CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+** SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+** INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+** CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+** ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+** THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+/*
+ * Mesa 3-D graphics library
+ * Version: 7.0
+ *
+ * Copyright (C) 1999-2007 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.
+ */
+
+/*
+** Copyright (c) 2007 The Khronos Group Inc.
+**
+** Permission is hereby granted, free of charge, to any person obtaining a
+** copy of this software and/or associated documentation files (the
+** "Materials"), to deal in the Materials without restriction, including
+** without limitation the rights to use, copy, modify, merge, publish,
+** distribute, sublicense, and/or sell copies of the Materials, and to
+** permit persons to whom the Materials are 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 Materials.
+**
+** THE MATERIALS ARE 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 THE AUTHORS OR COPYRIGHT HOLDERS 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
+** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
+*/
+
+#ifndef __glew_h__
+#define __glew_h__
+#define __GLEW_H__
+
+#if defined(__gl_h_) || defined(__GL_H__) || defined(__X_GL_H)
+#error gl.h included before glew.h
+#endif
+#if defined(__glext_h_) || defined(__GLEXT_H_)
+#error glext.h included before glew.h
+#endif
+#if defined(__gl_ATI_h_)
+#error glATI.h included before glew.h
+#endif
+
+#define __gl_h_
+#define __GL_H__
+#define __X_GL_H
+#define __glext_h_
+#define __GLEXT_H_
+#define __gl_ATI_h_
+
+#if defined(_WIN32)
+
+/*
+ * GLEW does not include <windows.h> to avoid name space pollution.
+ * GL needs GLAPI and GLAPIENTRY, GLU needs APIENTRY, CALLBACK, and wchar_t
+ * defined properly.
+ */
+/* <windef.h> */
+#ifndef APIENTRY
+#define GLEW_APIENTRY_DEFINED
+# if defined(__MINGW32__) || defined(__CYGWIN__)
+# define APIENTRY __stdcall
+# elif (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) || defined(__BORLANDC__)
+# define APIENTRY __stdcall
+# else
+# define APIENTRY
+# endif
+#endif
+#ifndef GLAPI
+# if defined(__MINGW32__) || defined(__CYGWIN__)
+# define GLAPI extern
+# endif
+#endif
+/* <winnt.h> */
+#ifndef CALLBACK
+#define GLEW_CALLBACK_DEFINED
+# if defined(__MINGW32__) || defined(__CYGWIN__)
+# define CALLBACK __attribute__ ((__stdcall__))
+# elif (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS)
+# define CALLBACK __stdcall
+# else
+# define CALLBACK
+# endif
+#endif
+/* <wingdi.h> and <winnt.h> */
+#ifndef WINGDIAPI
+#define GLEW_WINGDIAPI_DEFINED
+#define WINGDIAPI __declspec(dllimport)
+#endif
+/* <ctype.h> */
+#if (defined(_MSC_VER) || defined(__BORLANDC__)) && !defined(_WCHAR_T_DEFINED)
+typedef unsigned short wchar_t;
+# define _WCHAR_T_DEFINED
+#endif
+/* <stddef.h> */
+#if !defined(_W64)
+# if !defined(__midl) && (defined(_X86_) || defined(_M_IX86)) && defined(_MSC_VER) && _MSC_VER >= 1300
+# define _W64 __w64
+# else
+# define _W64
+# endif
+#endif
+#if !defined(_PTRDIFF_T_DEFINED) && !defined(_PTRDIFF_T_)
+# ifdef _WIN64
+typedef __int64 ptrdiff_t;
+# else
+typedef _W64 int ptrdiff_t;
+# endif
+# define _PTRDIFF_T_DEFINED
+# define _PTRDIFF_T_
+#endif
+
+#ifndef GLAPI
+# if defined(__MINGW32__) || defined(__CYGWIN__)
+# define GLAPI extern
+# else
+# define GLAPI WINGDIAPI
+# endif
+#endif
+
+#ifndef GLAPIENTRY
+#define GLAPIENTRY APIENTRY
+#endif
+
+/*
+ * GLEW_STATIC needs to be set when using the static version.
+ * GLEW_BUILD is set when building the DLL version.
+ */
+#ifdef GLEW_STATIC
+# define GLEWAPI extern
+#else
+# ifdef GLEW_BUILD
+# define GLEWAPI extern __declspec(dllexport)
+# else
+# define GLEWAPI extern __declspec(dllimport)
+# endif
+#endif
+
+#else /* _UNIX */
+
+/*
+ * Needed for ptrdiff_t in turn needed by VBO. This is defined by ISO
+ * C. On my system, this amounts to _3 lines_ of included code, all of
+ * them pretty much harmless. If you know of a way of detecting 32 vs
+ * 64 _targets_ at compile time you are free to replace this with
+ * something that's portable. For now, _this_ is the portable solution.
+ * (mem, 2004-01-04)
+ */
+
+#include <stddef.h>
+
+/* SGI MIPSPro doesn't like stdint.h in C++ mode */
+
+#if defined(__sgi) && !defined(__GNUC__)
+#include <inttypes.h>
+#else
+#include <stdint.h>
+#endif
+
+#define GLEW_APIENTRY_DEFINED
+#define APIENTRY
+#define GLEWAPI extern
+
+/* <glu.h> */
+#ifndef GLAPI
+#define GLAPI extern
+#endif
+#ifndef GLAPIENTRY
+#define GLAPIENTRY
+#endif
+
+#endif /* _WIN32 */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ----------------------------- GL_VERSION_1_1 ---------------------------- */
+
+#ifndef GL_VERSION_1_1
+#define GL_VERSION_1_1 1
+
+typedef unsigned int GLenum;
+typedef unsigned int GLbitfield;
+typedef unsigned int GLuint;
+typedef int GLint;
+typedef int GLsizei;
+typedef unsigned char GLboolean;
+typedef signed char GLbyte;
+typedef short GLshort;
+typedef unsigned char GLubyte;
+typedef unsigned short GLushort;
+typedef unsigned long GLulong;
+typedef float GLfloat;
+typedef float GLclampf;
+typedef double GLdouble;
+typedef double GLclampd;
+typedef void GLvoid;
+#if defined(_MSC_VER)
+# if _MSC_VER < 1400
+typedef __int64 GLint64EXT;
+typedef unsigned __int64 GLuint64EXT;
+# else
+typedef signed long long GLint64EXT;
+typedef unsigned long long GLuint64EXT;
+# endif
+#else
+# if defined(__MINGW32__) || defined(__CYGWIN__)
+#include <inttypes.h>
+# endif
+typedef int64_t GLint64EXT;
+typedef uint64_t GLuint64EXT;
+#endif
+typedef GLint64EXT GLint64;
+typedef GLuint64EXT GLuint64;
+typedef struct __GLsync *GLsync;
+
+#define GL_ACCUM 0x0100
+#define GL_LOAD 0x0101
+#define GL_RETURN 0x0102
+#define GL_MULT 0x0103
+#define GL_ADD 0x0104
+#define GL_NEVER 0x0200
+#define GL_LESS 0x0201
+#define GL_EQUAL 0x0202
+#define GL_LEQUAL 0x0203
+#define GL_GREATER 0x0204
+#define GL_NOTEQUAL 0x0205
+#define GL_GEQUAL 0x0206
+#define GL_ALWAYS 0x0207
+#define GL_CURRENT_BIT 0x00000001
+#define GL_POINT_BIT 0x00000002
+#define GL_LINE_BIT 0x00000004
+#define GL_POLYGON_BIT 0x00000008
+#define GL_POLYGON_STIPPLE_BIT 0x00000010
+#define GL_PIXEL_MODE_BIT 0x00000020
+#define GL_LIGHTING_BIT 0x00000040
+#define GL_FOG_BIT 0x00000080
+#define GL_DEPTH_BUFFER_BIT 0x00000100
+#define GL_ACCUM_BUFFER_BIT 0x00000200
+#define GL_STENCIL_BUFFER_BIT 0x00000400
+#define GL_VIEWPORT_BIT 0x00000800
+#define GL_TRANSFORM_BIT 0x00001000
+#define GL_ENABLE_BIT 0x00002000
+#define GL_COLOR_BUFFER_BIT 0x00004000
+#define GL_HINT_BIT 0x00008000
+#define GL_EVAL_BIT 0x00010000
+#define GL_LIST_BIT 0x00020000
+#define GL_TEXTURE_BIT 0x00040000
+#define GL_SCISSOR_BIT 0x00080000
+#define GL_ALL_ATTRIB_BITS 0x000fffff
+#define GL_POINTS 0x0000
+#define GL_LINES 0x0001
+#define GL_LINE_LOOP 0x0002
+#define GL_LINE_STRIP 0x0003
+#define GL_TRIANGLES 0x0004
+#define GL_TRIANGLE_STRIP 0x0005
+#define GL_TRIANGLE_FAN 0x0006
+#define GL_QUADS 0x0007
+#define GL_QUAD_STRIP 0x0008
+#define GL_POLYGON 0x0009
+#define GL_ZERO 0
+#define GL_ONE 1
+#define GL_SRC_COLOR 0x0300
+#define GL_ONE_MINUS_SRC_COLOR 0x0301
+#define GL_SRC_ALPHA 0x0302
+#define GL_ONE_MINUS_SRC_ALPHA 0x0303
+#define GL_DST_ALPHA 0x0304
+#define GL_ONE_MINUS_DST_ALPHA 0x0305
+#define GL_DST_COLOR 0x0306
+#define GL_ONE_MINUS_DST_COLOR 0x0307
+#define GL_SRC_ALPHA_SATURATE 0x0308
+#define GL_TRUE 1
+#define GL_FALSE 0
+#define GL_CLIP_PLANE0 0x3000
+#define GL_CLIP_PLANE1 0x3001
+#define GL_CLIP_PLANE2 0x3002
+#define GL_CLIP_PLANE3 0x3003
+#define GL_CLIP_PLANE4 0x3004
+#define GL_CLIP_PLANE5 0x3005
+#define GL_BYTE 0x1400
+#define GL_UNSIGNED_BYTE 0x1401
+#define GL_SHORT 0x1402
+#define GL_UNSIGNED_SHORT 0x1403
+#define GL_INT 0x1404
+#define GL_UNSIGNED_INT 0x1405
+#define GL_FLOAT 0x1406
+#define GL_2_BYTES 0x1407
+#define GL_3_BYTES 0x1408
+#define GL_4_BYTES 0x1409
+#define GL_DOUBLE 0x140A
+#define GL_NONE 0
+#define GL_FRONT_LEFT 0x0400
+#define GL_FRONT_RIGHT 0x0401
+#define GL_BACK_LEFT 0x0402
+#define GL_BACK_RIGHT 0x0403
+#define GL_FRONT 0x0404
+#define GL_BACK 0x0405
+#define GL_LEFT 0x0406
+#define GL_RIGHT 0x0407
+#define GL_FRONT_AND_BACK 0x0408
+#define GL_AUX0 0x0409
+#define GL_AUX1 0x040A
+#define GL_AUX2 0x040B
+#define GL_AUX3 0x040C
+#define GL_NO_ERROR 0
+#define GL_INVALID_ENUM 0x0500
+#define GL_INVALID_VALUE 0x0501
+#define GL_INVALID_OPERATION 0x0502
+#define GL_STACK_OVERFLOW 0x0503
+#define GL_STACK_UNDERFLOW 0x0504
+#define GL_OUT_OF_MEMORY 0x0505
+#define GL_2D 0x0600
+#define GL_3D 0x0601
+#define GL_3D_COLOR 0x0602
+#define GL_3D_COLOR_TEXTURE 0x0603
+#define GL_4D_COLOR_TEXTURE 0x0604
+#define GL_PASS_THROUGH_TOKEN 0x0700
+#define GL_POINT_TOKEN 0x0701
+#define GL_LINE_TOKEN 0x0702
+#define GL_POLYGON_TOKEN 0x0703
+#define GL_BITMAP_TOKEN 0x0704
+#define GL_DRAW_PIXEL_TOKEN 0x0705
+#define GL_COPY_PIXEL_TOKEN 0x0706
+#define GL_LINE_RESET_TOKEN 0x0707
+#define GL_EXP 0x0800
+#define GL_EXP2 0x0801
+#define GL_CW 0x0900
+#define GL_CCW 0x0901
+#define GL_COEFF 0x0A00
+#define GL_ORDER 0x0A01
+#define GL_DOMAIN 0x0A02
+#define GL_CURRENT_COLOR 0x0B00
+#define GL_CURRENT_INDEX 0x0B01
+#define GL_CURRENT_NORMAL 0x0B02
+#define GL_CURRENT_TEXTURE_COORDS 0x0B03
+#define GL_CURRENT_RASTER_COLOR 0x0B04
+#define GL_CURRENT_RASTER_INDEX 0x0B05
+#define GL_CURRENT_RASTER_TEXTURE_COORDS 0x0B06
+#define GL_CURRENT_RASTER_POSITION 0x0B07
+#define GL_CURRENT_RASTER_POSITION_VALID 0x0B08
+#define GL_CURRENT_RASTER_DISTANCE 0x0B09
+#define GL_POINT_SMOOTH 0x0B10
+#define GL_POINT_SIZE 0x0B11
+#define GL_POINT_SIZE_RANGE 0x0B12
+#define GL_POINT_SIZE_GRANULARITY 0x0B13
+#define GL_LINE_SMOOTH 0x0B20
+#define GL_LINE_WIDTH 0x0B21
+#define GL_LINE_WIDTH_RANGE 0x0B22
+#define GL_LINE_WIDTH_GRANULARITY 0x0B23
+#define GL_LINE_STIPPLE 0x0B24
+#define GL_LINE_STIPPLE_PATTERN 0x0B25
+#define GL_LINE_STIPPLE_REPEAT 0x0B26
+#define GL_LIST_MODE 0x0B30
+#define GL_MAX_LIST_NESTING 0x0B31
+#define GL_LIST_BASE 0x0B32
+#define GL_LIST_INDEX 0x0B33
+#define GL_POLYGON_MODE 0x0B40
+#define GL_POLYGON_SMOOTH 0x0B41
+#define GL_POLYGON_STIPPLE 0x0B42
+#define GL_EDGE_FLAG 0x0B43
+#define GL_CULL_FACE 0x0B44
+#define GL_CULL_FACE_MODE 0x0B45
+#define GL_FRONT_FACE 0x0B46
+#define GL_LIGHTING 0x0B50
+#define GL_LIGHT_MODEL_LOCAL_VIEWER 0x0B51
+#define GL_LIGHT_MODEL_TWO_SIDE 0x0B52
+#define GL_LIGHT_MODEL_AMBIENT 0x0B53
+#define GL_SHADE_MODEL 0x0B54
+#define GL_COLOR_MATERIAL_FACE 0x0B55
+#define GL_COLOR_MATERIAL_PARAMETER 0x0B56
+#define GL_COLOR_MATERIAL 0x0B57
+#define GL_FOG 0x0B60
+#define GL_FOG_INDEX 0x0B61
+#define GL_FOG_DENSITY 0x0B62
+#define GL_FOG_START 0x0B63
+#define GL_FOG_END 0x0B64
+#define GL_FOG_MODE 0x0B65
+#define GL_FOG_COLOR 0x0B66
+#define GL_DEPTH_RANGE 0x0B70
+#define GL_DEPTH_TEST 0x0B71
+#define GL_DEPTH_WRITEMASK 0x0B72
+#define GL_DEPTH_CLEAR_VALUE 0x0B73
+#define GL_DEPTH_FUNC 0x0B74
+#define GL_ACCUM_CLEAR_VALUE 0x0B80
+#define GL_STENCIL_TEST 0x0B90
+#define GL_STENCIL_CLEAR_VALUE 0x0B91
+#define GL_STENCIL_FUNC 0x0B92
+#define GL_STENCIL_VALUE_MASK 0x0B93
+#define GL_STENCIL_FAIL 0x0B94
+#define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95
+#define GL_STENCIL_PASS_DEPTH_PASS 0x0B96
+#define GL_STENCIL_REF 0x0B97
+#define GL_STENCIL_WRITEMASK 0x0B98
+#define GL_MATRIX_MODE 0x0BA0
+#define GL_NORMALIZE 0x0BA1
+#define GL_VIEWPORT 0x0BA2
+#define GL_MODELVIEW_STACK_DEPTH 0x0BA3
+#define GL_PROJECTION_STACK_DEPTH 0x0BA4
+#define GL_TEXTURE_STACK_DEPTH 0x0BA5
+#define GL_MODELVIEW_MATRIX 0x0BA6
+#define GL_PROJECTION_MATRIX 0x0BA7
+#define GL_TEXTURE_MATRIX 0x0BA8
+#define GL_ATTRIB_STACK_DEPTH 0x0BB0
+#define GL_CLIENT_ATTRIB_STACK_DEPTH 0x0BB1
+#define GL_ALPHA_TEST 0x0BC0
+#define GL_ALPHA_TEST_FUNC 0x0BC1
+#define GL_ALPHA_TEST_REF 0x0BC2
+#define GL_DITHER 0x0BD0
+#define GL_BLEND_DST 0x0BE0
+#define GL_BLEND_SRC 0x0BE1
+#define GL_BLEND 0x0BE2
+#define GL_LOGIC_OP_MODE 0x0BF0
+#define GL_INDEX_LOGIC_OP 0x0BF1
+#define GL_COLOR_LOGIC_OP 0x0BF2
+#define GL_AUX_BUFFERS 0x0C00
+#define GL_DRAW_BUFFER 0x0C01
+#define GL_READ_BUFFER 0x0C02
+#define GL_SCISSOR_BOX 0x0C10
+#define GL_SCISSOR_TEST 0x0C11
+#define GL_INDEX_CLEAR_VALUE 0x0C20
+#define GL_INDEX_WRITEMASK 0x0C21
+#define GL_COLOR_CLEAR_VALUE 0x0C22
+#define GL_COLOR_WRITEMASK 0x0C23
+#define GL_INDEX_MODE 0x0C30
+#define GL_RGBA_MODE 0x0C31
+#define GL_DOUBLEBUFFER 0x0C32
+#define GL_STEREO 0x0C33
+#define GL_RENDER_MODE 0x0C40
+#define GL_PERSPECTIVE_CORRECTION_HINT 0x0C50
+#define GL_POINT_SMOOTH_HINT 0x0C51
+#define GL_LINE_SMOOTH_HINT 0x0C52
+#define GL_POLYGON_SMOOTH_HINT 0x0C53
+#define GL_FOG_HINT 0x0C54
+#define GL_TEXTURE_GEN_S 0x0C60
+#define GL_TEXTURE_GEN_T 0x0C61
+#define GL_TEXTURE_GEN_R 0x0C62
+#define GL_TEXTURE_GEN_Q 0x0C63
+#define GL_PIXEL_MAP_I_TO_I 0x0C70
+#define GL_PIXEL_MAP_S_TO_S 0x0C71
+#define GL_PIXEL_MAP_I_TO_R 0x0C72
+#define GL_PIXEL_MAP_I_TO_G 0x0C73
+#define GL_PIXEL_MAP_I_TO_B 0x0C74
+#define GL_PIXEL_MAP_I_TO_A 0x0C75
+#define GL_PIXEL_MAP_R_TO_R 0x0C76
+#define GL_PIXEL_MAP_G_TO_G 0x0C77
+#define GL_PIXEL_MAP_B_TO_B 0x0C78
+#define GL_PIXEL_MAP_A_TO_A 0x0C79
+#define GL_PIXEL_MAP_I_TO_I_SIZE 0x0CB0
+#define GL_PIXEL_MAP_S_TO_S_SIZE 0x0CB1
+#define GL_PIXEL_MAP_I_TO_R_SIZE 0x0CB2
+#define GL_PIXEL_MAP_I_TO_G_SIZE 0x0CB3
+#define GL_PIXEL_MAP_I_TO_B_SIZE 0x0CB4
+#define GL_PIXEL_MAP_I_TO_A_SIZE 0x0CB5
+#define GL_PIXEL_MAP_R_TO_R_SIZE 0x0CB6
+#define GL_PIXEL_MAP_G_TO_G_SIZE 0x0CB7
+#define GL_PIXEL_MAP_B_TO_B_SIZE 0x0CB8
+#define GL_PIXEL_MAP_A_TO_A_SIZE 0x0CB9
+#define GL_UNPACK_SWAP_BYTES 0x0CF0
+#define GL_UNPACK_LSB_FIRST 0x0CF1
+#define GL_UNPACK_ROW_LENGTH 0x0CF2
+#define GL_UNPACK_SKIP_ROWS 0x0CF3
+#define GL_UNPACK_SKIP_PIXELS 0x0CF4
+#define GL_UNPACK_ALIGNMENT 0x0CF5
+#define GL_PACK_SWAP_BYTES 0x0D00
+#define GL_PACK_LSB_FIRST 0x0D01
+#define GL_PACK_ROW_LENGTH 0x0D02
+#define GL_PACK_SKIP_ROWS 0x0D03
+#define GL_PACK_SKIP_PIXELS 0x0D04
+#define GL_PACK_ALIGNMENT 0x0D05
+#define GL_MAP_COLOR 0x0D10
+#define GL_MAP_STENCIL 0x0D11
+#define GL_INDEX_SHIFT 0x0D12
+#define GL_INDEX_OFFSET 0x0D13
+#define GL_RED_SCALE 0x0D14
+#define GL_RED_BIAS 0x0D15
+#define GL_ZOOM_X 0x0D16
+#define GL_ZOOM_Y 0x0D17
+#define GL_GREEN_SCALE 0x0D18
+#define GL_GREEN_BIAS 0x0D19
+#define GL_BLUE_SCALE 0x0D1A
+#define GL_BLUE_BIAS 0x0D1B
+#define GL_ALPHA_SCALE 0x0D1C
+#define GL_ALPHA_BIAS 0x0D1D
+#define GL_DEPTH_SCALE 0x0D1E
+#define GL_DEPTH_BIAS 0x0D1F
+#define GL_MAX_EVAL_ORDER 0x0D30
+#define GL_MAX_LIGHTS 0x0D31
+#define GL_MAX_CLIP_PLANES 0x0D32
+#define GL_MAX_TEXTURE_SIZE 0x0D33
+#define GL_MAX_PIXEL_MAP_TABLE 0x0D34
+#define GL_MAX_ATTRIB_STACK_DEPTH 0x0D35
+#define GL_MAX_MODELVIEW_STACK_DEPTH 0x0D36
+#define GL_MAX_NAME_STACK_DEPTH 0x0D37
+#define GL_MAX_PROJECTION_STACK_DEPTH 0x0D38
+#define GL_MAX_TEXTURE_STACK_DEPTH 0x0D39
+#define GL_MAX_VIEWPORT_DIMS 0x0D3A
+#define GL_MAX_CLIENT_ATTRIB_STACK_DEPTH 0x0D3B
+#define GL_SUBPIXEL_BITS 0x0D50
+#define GL_INDEX_BITS 0x0D51
+#define GL_RED_BITS 0x0D52
+#define GL_GREEN_BITS 0x0D53
+#define GL_BLUE_BITS 0x0D54
+#define GL_ALPHA_BITS 0x0D55
+#define GL_DEPTH_BITS 0x0D56
+#define GL_STENCIL_BITS 0x0D57
+#define GL_ACCUM_RED_BITS 0x0D58
+#define GL_ACCUM_GREEN_BITS 0x0D59
+#define GL_ACCUM_BLUE_BITS 0x0D5A
+#define GL_ACCUM_ALPHA_BITS 0x0D5B
+#define GL_NAME_STACK_DEPTH 0x0D70
+#define GL_AUTO_NORMAL 0x0D80
+#define GL_MAP1_COLOR_4 0x0D90
+#define GL_MAP1_INDEX 0x0D91
+#define GL_MAP1_NORMAL 0x0D92
+#define GL_MAP1_TEXTURE_COORD_1 0x0D93
+#define GL_MAP1_TEXTURE_COORD_2 0x0D94
+#define GL_MAP1_TEXTURE_COORD_3 0x0D95
+#define GL_MAP1_TEXTURE_COORD_4 0x0D96
+#define GL_MAP1_VERTEX_3 0x0D97
+#define GL_MAP1_VERTEX_4 0x0D98
+#define GL_MAP2_COLOR_4 0x0DB0
+#define GL_MAP2_INDEX 0x0DB1
+#define GL_MAP2_NORMAL 0x0DB2
+#define GL_MAP2_TEXTURE_COORD_1 0x0DB3
+#define GL_MAP2_TEXTURE_COORD_2 0x0DB4
+#define GL_MAP2_TEXTURE_COORD_3 0x0DB5
+#define GL_MAP2_TEXTURE_COORD_4 0x0DB6
+#define GL_MAP2_VERTEX_3 0x0DB7
+#define GL_MAP2_VERTEX_4 0x0DB8
+#define GL_MAP1_GRID_DOMAIN 0x0DD0
+#define GL_MAP1_GRID_SEGMENTS 0x0DD1
+#define GL_MAP2_GRID_DOMAIN 0x0DD2
+#define GL_MAP2_GRID_SEGMENTS 0x0DD3
+#define GL_TEXTURE_1D 0x0DE0
+#define GL_TEXTURE_2D 0x0DE1
+#define GL_FEEDBACK_BUFFER_POINTER 0x0DF0
+#define GL_FEEDBACK_BUFFER_SIZE 0x0DF1
+#define GL_FEEDBACK_BUFFER_TYPE 0x0DF2
+#define GL_SELECTION_BUFFER_POINTER 0x0DF3
+#define GL_SELECTION_BUFFER_SIZE 0x0DF4
+#define GL_TEXTURE_WIDTH 0x1000
+#define GL_TEXTURE_HEIGHT 0x1001
+#define GL_TEXTURE_INTERNAL_FORMAT 0x1003
+#define GL_TEXTURE_BORDER_COLOR 0x1004
+#define GL_TEXTURE_BORDER 0x1005
+#define GL_DONT_CARE 0x1100
+#define GL_FASTEST 0x1101
+#define GL_NICEST 0x1102
+#define GL_LIGHT0 0x4000
+#define GL_LIGHT1 0x4001
+#define GL_LIGHT2 0x4002
+#define GL_LIGHT3 0x4003
+#define GL_LIGHT4 0x4004
+#define GL_LIGHT5 0x4005
+#define GL_LIGHT6 0x4006
+#define GL_LIGHT7 0x4007
+#define GL_AMBIENT 0x1200
+#define GL_DIFFUSE 0x1201
+#define GL_SPECULAR 0x1202
+#define GL_POSITION 0x1203
+#define GL_SPOT_DIRECTION 0x1204
+#define GL_SPOT_EXPONENT 0x1205
+#define GL_SPOT_CUTOFF 0x1206
+#define GL_CONSTANT_ATTENUATION 0x1207
+#define GL_LINEAR_ATTENUATION 0x1208
+#define GL_QUADRATIC_ATTENUATION 0x1209
+#define GL_COMPILE 0x1300
+#define GL_COMPILE_AND_EXECUTE 0x1301
+#define GL_CLEAR 0x1500
+#define GL_AND 0x1501
+#define GL_AND_REVERSE 0x1502
+#define GL_COPY 0x1503
+#define GL_AND_INVERTED 0x1504
+#define GL_NOOP 0x1505
+#define GL_XOR 0x1506
+#define GL_OR 0x1507
+#define GL_NOR 0x1508
+#define GL_EQUIV 0x1509
+#define GL_INVERT 0x150A
+#define GL_OR_REVERSE 0x150B
+#define GL_COPY_INVERTED 0x150C
+#define GL_OR_INVERTED 0x150D
+#define GL_NAND 0x150E
+#define GL_SET 0x150F
+#define GL_EMISSION 0x1600
+#define GL_SHININESS 0x1601
+#define GL_AMBIENT_AND_DIFFUSE 0x1602
+#define GL_COLOR_INDEXES 0x1603
+#define GL_MODELVIEW 0x1700
+#define GL_PROJECTION 0x1701
+#define GL_TEXTURE 0x1702
+#define GL_COLOR 0x1800
+#define GL_DEPTH 0x1801
+#define GL_STENCIL 0x1802
+#define GL_COLOR_INDEX 0x1900
+#define GL_STENCIL_INDEX 0x1901
+#define GL_DEPTH_COMPONENT 0x1902
+#define GL_RED 0x1903
+#define GL_GREEN 0x1904
+#define GL_BLUE 0x1905
+#define GL_ALPHA 0x1906
+#define GL_RGB 0x1907
+#define GL_RGBA 0x1908
+#define GL_LUMINANCE 0x1909
+#define GL_LUMINANCE_ALPHA 0x190A
+#define GL_BITMAP 0x1A00
+#define GL_POINT 0x1B00
+#define GL_LINE 0x1B01
+#define GL_FILL 0x1B02
+#define GL_RENDER 0x1C00
+#define GL_FEEDBACK 0x1C01
+#define GL_SELECT 0x1C02
+#define GL_FLAT 0x1D00
+#define GL_SMOOTH 0x1D01
+#define GL_KEEP 0x1E00
+#define GL_REPLACE 0x1E01
+#define GL_INCR 0x1E02
+#define GL_DECR 0x1E03
+#define GL_VENDOR 0x1F00
+#define GL_RENDERER 0x1F01
+#define GL_VERSION 0x1F02
+#define GL_EXTENSIONS 0x1F03
+#define GL_S 0x2000
+#define GL_T 0x2001
+#define GL_R 0x2002
+#define GL_Q 0x2003
+#define GL_MODULATE 0x2100
+#define GL_DECAL 0x2101
+#define GL_TEXTURE_ENV_MODE 0x2200
+#define GL_TEXTURE_ENV_COLOR 0x2201
+#define GL_TEXTURE_ENV 0x2300
+#define GL_EYE_LINEAR 0x2400
+#define GL_OBJECT_LINEAR 0x2401
+#define GL_SPHERE_MAP 0x2402
+#define GL_TEXTURE_GEN_MODE 0x2500
+#define GL_OBJECT_PLANE 0x2501
+#define GL_EYE_PLANE 0x2502
+#define GL_NEAREST 0x2600
+#define GL_LINEAR 0x2601
+#define GL_NEAREST_MIPMAP_NEAREST 0x2700
+#define GL_LINEAR_MIPMAP_NEAREST 0x2701
+#define GL_NEAREST_MIPMAP_LINEAR 0x2702
+#define GL_LINEAR_MIPMAP_LINEAR 0x2703
+#define GL_TEXTURE_MAG_FILTER 0x2800
+#define GL_TEXTURE_MIN_FILTER 0x2801
+#define GL_TEXTURE_WRAP_S 0x2802
+#define GL_TEXTURE_WRAP_T 0x2803
+#define GL_CLAMP 0x2900
+#define GL_REPEAT 0x2901
+#define GL_CLIENT_PIXEL_STORE_BIT 0x00000001
+#define GL_CLIENT_VERTEX_ARRAY_BIT 0x00000002
+#define GL_CLIENT_ALL_ATTRIB_BITS 0xffffffff
+#define GL_POLYGON_OFFSET_FACTOR 0x8038
+#define GL_POLYGON_OFFSET_UNITS 0x2A00
+#define GL_POLYGON_OFFSET_POINT 0x2A01
+#define GL_POLYGON_OFFSET_LINE 0x2A02
+#define GL_POLYGON_OFFSET_FILL 0x8037
+#define GL_ALPHA4 0x803B
+#define GL_ALPHA8 0x803C
+#define GL_ALPHA12 0x803D
+#define GL_ALPHA16 0x803E
+#define GL_LUMINANCE4 0x803F
+#define GL_LUMINANCE8 0x8040
+#define GL_LUMINANCE12 0x8041
+#define GL_LUMINANCE16 0x8042
+#define GL_LUMINANCE4_ALPHA4 0x8043
+#define GL_LUMINANCE6_ALPHA2 0x8044
+#define GL_LUMINANCE8_ALPHA8 0x8045
+#define GL_LUMINANCE12_ALPHA4 0x8046
+#define GL_LUMINANCE12_ALPHA12 0x8047
+#define GL_LUMINANCE16_ALPHA16 0x8048
+#define GL_INTENSITY 0x8049
+#define GL_INTENSITY4 0x804A
+#define GL_INTENSITY8 0x804B
+#define GL_INTENSITY12 0x804C
+#define GL_INTENSITY16 0x804D
+#define GL_R3_G3_B2 0x2A10
+#define GL_RGB4 0x804F
+#define GL_RGB5 0x8050
+#define GL_RGB8 0x8051
+#define GL_RGB10 0x8052
+#define GL_RGB12 0x8053
+#define GL_RGB16 0x8054
+#define GL_RGBA2 0x8055
+#define GL_RGBA4 0x8056
+#define GL_RGB5_A1 0x8057
+#define GL_RGBA8 0x8058
+#define GL_RGB10_A2 0x8059
+#define GL_RGBA12 0x805A
+#define GL_RGBA16 0x805B
+#define GL_TEXTURE_RED_SIZE 0x805C
+#define GL_TEXTURE_GREEN_SIZE 0x805D
+#define GL_TEXTURE_BLUE_SIZE 0x805E
+#define GL_TEXTURE_ALPHA_SIZE 0x805F
+#define GL_TEXTURE_LUMINANCE_SIZE 0x8060
+#define GL_TEXTURE_INTENSITY_SIZE 0x8061
+#define GL_PROXY_TEXTURE_1D 0x8063
+#define GL_PROXY_TEXTURE_2D 0x8064
+#define GL_TEXTURE_PRIORITY 0x8066
+#define GL_TEXTURE_RESIDENT 0x8067
+#define GL_TEXTURE_BINDING_1D 0x8068
+#define GL_TEXTURE_BINDING_2D 0x8069
+#define GL_VERTEX_ARRAY 0x8074
+#define GL_NORMAL_ARRAY 0x8075
+#define GL_COLOR_ARRAY 0x8076
+#define GL_INDEX_ARRAY 0x8077
+#define GL_TEXTURE_COORD_ARRAY 0x8078
+#define GL_EDGE_FLAG_ARRAY 0x8079
+#define GL_VERTEX_ARRAY_SIZE 0x807A
+#define GL_VERTEX_ARRAY_TYPE 0x807B
+#define GL_VERTEX_ARRAY_STRIDE 0x807C
+#define GL_NORMAL_ARRAY_TYPE 0x807E
+#define GL_NORMAL_ARRAY_STRIDE 0x807F
+#define GL_COLOR_ARRAY_SIZE 0x8081
+#define GL_COLOR_ARRAY_TYPE 0x8082
+#define GL_COLOR_ARRAY_STRIDE 0x8083
+#define GL_INDEX_ARRAY_TYPE 0x8085
+#define GL_INDEX_ARRAY_STRIDE 0x8086
+#define GL_TEXTURE_COORD_ARRAY_SIZE 0x8088
+#define GL_TEXTURE_COORD_ARRAY_TYPE 0x8089
+#define GL_TEXTURE_COORD_ARRAY_STRIDE 0x808A
+#define GL_EDGE_FLAG_ARRAY_STRIDE 0x808C
+#define GL_VERTEX_ARRAY_POINTER 0x808E
+#define GL_NORMAL_ARRAY_POINTER 0x808F
+#define GL_COLOR_ARRAY_POINTER 0x8090
+#define GL_INDEX_ARRAY_POINTER 0x8091
+#define GL_TEXTURE_COORD_ARRAY_POINTER 0x8092
+#define GL_EDGE_FLAG_ARRAY_POINTER 0x8093
+#define GL_V2F 0x2A20
+#define GL_V3F 0x2A21
+#define GL_C4UB_V2F 0x2A22
+#define GL_C4UB_V3F 0x2A23
+#define GL_C3F_V3F 0x2A24
+#define GL_N3F_V3F 0x2A25
+#define GL_C4F_N3F_V3F 0x2A26
+#define GL_T2F_V3F 0x2A27
+#define GL_T4F_V4F 0x2A28
+#define GL_T2F_C4UB_V3F 0x2A29
+#define GL_T2F_C3F_V3F 0x2A2A
+#define GL_T2F_N3F_V3F 0x2A2B
+#define GL_T2F_C4F_N3F_V3F 0x2A2C
+#define GL_T4F_C4F_N3F_V4F 0x2A2D
+#define GL_LOGIC_OP GL_INDEX_LOGIC_OP
+#define GL_TEXTURE_COMPONENTS GL_TEXTURE_INTERNAL_FORMAT
+#define GL_COLOR_INDEX1_EXT 0x80E2
+#define GL_COLOR_INDEX2_EXT 0x80E3
+#define GL_COLOR_INDEX4_EXT 0x80E4
+#define GL_COLOR_INDEX8_EXT 0x80E5
+#define GL_COLOR_INDEX12_EXT 0x80E6
+#define GL_COLOR_INDEX16_EXT 0x80E7
+
+GLAPI void GLAPIENTRY glAccum (GLenum op, GLfloat value);
+GLAPI void GLAPIENTRY glAlphaFunc (GLenum func, GLclampf ref);
+GLAPI GLboolean GLAPIENTRY glAreTexturesResident (GLsizei n, const GLuint *textures, GLboolean *residences);
+GLAPI void GLAPIENTRY glArrayElement (GLint i);
+GLAPI void GLAPIENTRY glBegin (GLenum mode);
+GLAPI void GLAPIENTRY glBindTexture (GLenum target, GLuint texture);
+GLAPI void GLAPIENTRY glBitmap (GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap);
+GLAPI void GLAPIENTRY glBlendFunc (GLenum sfactor, GLenum dfactor);
+GLAPI void GLAPIENTRY glCallList (GLuint list);
+GLAPI void GLAPIENTRY glCallLists (GLsizei n, GLenum type, const GLvoid *lists);
+GLAPI void GLAPIENTRY glClear (GLbitfield mask);
+GLAPI void GLAPIENTRY glClearAccum (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
+GLAPI void GLAPIENTRY glClearColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
+GLAPI void GLAPIENTRY glClearDepth (GLclampd depth);
+GLAPI void GLAPIENTRY glClearIndex (GLfloat c);
+GLAPI void GLAPIENTRY glClearStencil (GLint s);
+GLAPI void GLAPIENTRY glClipPlane (GLenum plane, const GLdouble *equation);
+GLAPI void GLAPIENTRY glColor3b (GLbyte red, GLbyte green, GLbyte blue);
+GLAPI void GLAPIENTRY glColor3bv (const GLbyte *v);
+GLAPI void GLAPIENTRY glColor3d (GLdouble red, GLdouble green, GLdouble blue);
+GLAPI void GLAPIENTRY glColor3dv (const GLdouble *v);
+GLAPI void GLAPIENTRY glColor3f (GLfloat red, GLfloat green, GLfloat blue);
+GLAPI void GLAPIENTRY glColor3fv (const GLfloat *v);
+GLAPI void GLAPIENTRY glColor3i (GLint red, GLint green, GLint blue);
+GLAPI void GLAPIENTRY glColor3iv (const GLint *v);
+GLAPI void GLAPIENTRY glColor3s (GLshort red, GLshort green, GLshort blue);
+GLAPI void GLAPIENTRY glColor3sv (const GLshort *v);
+GLAPI void GLAPIENTRY glColor3ub (GLubyte red, GLubyte green, GLubyte blue);
+GLAPI void GLAPIENTRY glColor3ubv (const GLubyte *v);
+GLAPI void GLAPIENTRY glColor3ui (GLuint red, GLuint green, GLuint blue);
+GLAPI void GLAPIENTRY glColor3uiv (const GLuint *v);
+GLAPI void GLAPIENTRY glColor3us (GLushort red, GLushort green, GLushort blue);
+GLAPI void GLAPIENTRY glColor3usv (const GLushort *v);
+GLAPI void GLAPIENTRY glColor4b (GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha);
+GLAPI void GLAPIENTRY glColor4bv (const GLbyte *v);
+GLAPI void GLAPIENTRY glColor4d (GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha);
+GLAPI void GLAPIENTRY glColor4dv (const GLdouble *v);
+GLAPI void GLAPIENTRY glColor4f (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
+GLAPI void GLAPIENTRY glColor4fv (const GLfloat *v);
+GLAPI void GLAPIENTRY glColor4i (GLint red, GLint green, GLint blue, GLint alpha);
+GLAPI void GLAPIENTRY glColor4iv (const GLint *v);
+GLAPI void GLAPIENTRY glColor4s (GLshort red, GLshort green, GLshort blue, GLshort alpha);
+GLAPI void GLAPIENTRY glColor4sv (const GLshort *v);
+GLAPI void GLAPIENTRY glColor4ub (GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha);
+GLAPI void GLAPIENTRY glColor4ubv (const GLubyte *v);
+GLAPI void GLAPIENTRY glColor4ui (GLuint red, GLuint green, GLuint blue, GLuint alpha);
+GLAPI void GLAPIENTRY glColor4uiv (const GLuint *v);
+GLAPI void GLAPIENTRY glColor4us (GLushort red, GLushort green, GLushort blue, GLushort alpha);
+GLAPI void GLAPIENTRY glColor4usv (const GLushort *v);
+GLAPI void GLAPIENTRY glColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
+GLAPI void GLAPIENTRY glColorMaterial (GLenum face, GLenum mode);
+GLAPI void GLAPIENTRY glColorPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
+GLAPI void GLAPIENTRY glCopyPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum type);
+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);
+GLAPI void GLAPIENTRY glCullFace (GLenum mode);
+GLAPI void GLAPIENTRY glDeleteLists (GLuint list, GLsizei range);
+GLAPI void GLAPIENTRY glDeleteTextures (GLsizei n, const GLuint *textures);
+GLAPI void GLAPIENTRY glDepthFunc (GLenum func);
+GLAPI void GLAPIENTRY glDepthMask (GLboolean flag);
+GLAPI void GLAPIENTRY glDepthRange (GLclampd zNear, GLclampd zFar);
+GLAPI void GLAPIENTRY glDisable (GLenum cap);
+GLAPI void GLAPIENTRY glDisableClientState (GLenum array);
+GLAPI void GLAPIENTRY glDrawArrays (GLenum mode, GLint first, GLsizei count);
+GLAPI void GLAPIENTRY glDrawBuffer (GLenum mode);
+GLAPI void GLAPIENTRY glDrawElements (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices);
+GLAPI void GLAPIENTRY glDrawPixels (GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
+GLAPI void GLAPIENTRY glEdgeFlag (GLboolean flag);
+GLAPI void GLAPIENTRY glEdgeFlagPointer (GLsizei stride, const GLvoid *pointer);
+GLAPI void GLAPIENTRY glEdgeFlagv (const GLboolean *flag);
+GLAPI void GLAPIENTRY glEnable (GLenum cap);
+GLAPI void GLAPIENTRY glEnableClientState (GLenum array);
+GLAPI void GLAPIENTRY glEnd (void);
+GLAPI void GLAPIENTRY glEndList (void);
+GLAPI void GLAPIENTRY glEvalCoord1d (GLdouble u);
+GLAPI void GLAPIENTRY glEvalCoord1dv (const GLdouble *u);
+GLAPI void GLAPIENTRY glEvalCoord1f (GLfloat u);
+GLAPI void GLAPIENTRY glEvalCoord1fv (const GLfloat *u);
+GLAPI void GLAPIENTRY glEvalCoord2d (GLdouble u, GLdouble v);
+GLAPI void GLAPIENTRY glEvalCoord2dv (const GLdouble *u);
+GLAPI void GLAPIENTRY glEvalCoord2f (GLfloat u, GLfloat v);
+GLAPI void GLAPIENTRY glEvalCoord2fv (const GLfloat *u);
+GLAPI void GLAPIENTRY glEvalMesh1 (GLenum mode, GLint i1, GLint i2);
+GLAPI void GLAPIENTRY glEvalMesh2 (GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2);
+GLAPI void GLAPIENTRY glEvalPoint1 (GLint i);
+GLAPI void GLAPIENTRY glEvalPoint2 (GLint i, GLint j);
+GLAPI void GLAPIENTRY glFeedbackBuffer (GLsizei size, GLenum type, GLfloat *buffer);
+GLAPI void GLAPIENTRY glFinish (void);
+GLAPI void GLAPIENTRY glFlush (void);
+GLAPI void GLAPIENTRY glFogf (GLenum pname, GLfloat param);
+GLAPI void GLAPIENTRY glFogfv (GLenum pname, const GLfloat *params);
+GLAPI void GLAPIENTRY glFogi (GLenum pname, GLint param);
+GLAPI void GLAPIENTRY glFogiv (GLenum pname, const GLint *params);
+GLAPI void GLAPIENTRY glFrontFace (GLenum mode);
+GLAPI void GLAPIENTRY glFrustum (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
+GLAPI GLuint GLAPIENTRY glGenLists (GLsizei range);
+GLAPI void GLAPIENTRY glGenTextures (GLsizei n, GLuint *textures);
+GLAPI void GLAPIENTRY glGetBooleanv (GLenum pname, GLboolean *params);
+GLAPI void GLAPIENTRY glGetClipPlane (GLenum plane, GLdouble *equation);
+GLAPI void GLAPIENTRY glGetDoublev (GLenum pname, GLdouble *params);
+GLAPI GLenum GLAPIENTRY glGetError (void);
+GLAPI void GLAPIENTRY glGetFloatv (GLenum pname, GLfloat *params);
+GLAPI void GLAPIENTRY glGetIntegerv (GLenum pname, 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 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 glGetMaterialfv (GLenum face, GLenum pname, GLfloat *params);
+GLAPI void GLAPIENTRY glGetMaterialiv (GLenum face, GLenum pname, GLint *params);
+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 glGetPointerv (GLenum pname, GLvoid* *params);
+GLAPI void GLAPIENTRY glGetPolygonStipple (GLubyte *mask);
+GLAPI const GLubyte * GLAPIENTRY glGetString (GLenum name);
+GLAPI void GLAPIENTRY glGetTexEnvfv (GLenum target, GLenum pname, GLfloat *params);
+GLAPI void GLAPIENTRY glGetTexEnviv (GLenum target, GLenum pname, 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 glGetTexImage (GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);
+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 glGetTexParameterfv (GLenum target, GLenum pname, GLfloat *params);
+GLAPI void GLAPIENTRY glGetTexParameteriv (GLenum target, GLenum pname, GLint *params);
+GLAPI void GLAPIENTRY glHint (GLenum target, GLenum mode);
+GLAPI void GLAPIENTRY glIndexMask (GLuint mask);
+GLAPI void GLAPIENTRY glIndexPointer (GLenum type, GLsizei stride, const GLvoid *pointer);
+GLAPI void GLAPIENTRY glIndexd (GLdouble c);
+GLAPI void GLAPIENTRY glIndexdv (const GLdouble *c);
+GLAPI void GLAPIENTRY glIndexf (GLfloat c);
+GLAPI void GLAPIENTRY glIndexfv (const GLfloat *c);
+GLAPI void GLAPIENTRY glIndexi (GLint c);
+GLAPI void GLAPIENTRY glIndexiv (const GLint *c);
+GLAPI void GLAPIENTRY glIndexs (GLshort c);
+GLAPI void GLAPIENTRY glIndexsv (const GLshort *c);
+GLAPI void GLAPIENTRY glIndexub (GLubyte c);
+GLAPI void GLAPIENTRY glIndexubv (const GLubyte *c);
+GLAPI void GLAPIENTRY glInitNames (void);
+GLAPI void GLAPIENTRY glInterleavedArrays (GLenum format, GLsizei stride, const GLvoid *pointer);
+GLAPI GLboolean GLAPIENTRY glIsEnabled (GLenum cap);
+GLAPI GLboolean GLAPIENTRY glIsList (GLuint list);
+GLAPI GLboolean GLAPIENTRY glIsTexture (GLuint texture);
+GLAPI void GLAPIENTRY glLightModelf (GLenum pname, GLfloat param);
+GLAPI void GLAPIENTRY glLightModelfv (GLenum pname, const GLfloat *params);
+GLAPI void GLAPIENTRY glLightModeli (GLenum pname, GLint param);
+GLAPI void GLAPIENTRY glLightModeliv (GLenum pname, const GLint *params);
+GLAPI void GLAPIENTRY glLightf (GLenum light, GLenum pname, GLfloat param);
+GLAPI void GLAPIENTRY glLightfv (GLenum light, GLenum pname, const GLfloat *params);
+GLAPI void GLAPIENTRY glLighti (GLenum light, GLenum pname, GLint param);
+GLAPI void GLAPIENTRY glLightiv (GLenum light, GLenum pname, const GLint *params);
+GLAPI void GLAPIENTRY glLineStipple (GLint factor, GLushort pattern);
+GLAPI void GLAPIENTRY glLineWidth (GLfloat width);
+GLAPI void GLAPIENTRY glListBase (GLuint base);
+GLAPI void GLAPIENTRY glLoadIdentity (void);
+GLAPI void GLAPIENTRY glLoadMatrixd (const GLdouble *m);
+GLAPI void GLAPIENTRY glLoadMatrixf (const GLfloat *m);
+GLAPI void GLAPIENTRY glLoadName (GLuint name);
+GLAPI void GLAPIENTRY glLogicOp (GLenum opcode);
+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 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 glMaterialf (GLenum face, GLenum pname, GLfloat param);
+GLAPI void GLAPIENTRY glMaterialfv (GLenum face, GLenum pname, const GLfloat *params);
+GLAPI void GLAPIENTRY glMateriali (GLenum face, GLenum pname, GLint param);
+GLAPI void GLAPIENTRY glMaterialiv (GLenum face, GLenum pname, const GLint *params);
+GLAPI void GLAPIENTRY glMatrixMode (GLenum mode);
+GLAPI void GLAPIENTRY glMultMatrixd (const GLdouble *m);
+GLAPI void GLAPIENTRY glMultMatrixf (const GLfloat *m);
+GLAPI void GLAPIENTRY glNewList (GLuint list, GLenum mode);
+GLAPI void GLAPIENTRY glNormal3b (GLbyte nx, GLbyte ny, GLbyte nz);
+GLAPI void GLAPIENTRY glNormal3bv (const GLbyte *v);
+GLAPI void GLAPIENTRY glNormal3d (GLdouble nx, GLdouble ny, GLdouble nz);
+GLAPI void GLAPIENTRY glNormal3dv (const GLdouble *v);
+GLAPI void GLAPIENTRY glNormal3f (GLfloat nx, GLfloat ny, GLfloat nz);
+GLAPI void GLAPIENTRY glNormal3fv (const GLfloat *v);
+GLAPI void GLAPIENTRY glNormal3i (GLint nx, GLint ny, GLint nz);
+GLAPI void GLAPIENTRY glNormal3iv (const GLint *v);
+GLAPI void GLAPIENTRY glNormal3s (GLshort nx, GLshort ny, GLshort nz);
+GLAPI void GLAPIENTRY glNormal3sv (const GLshort *v);
+GLAPI void GLAPIENTRY glNormalPointer (GLenum type, GLsizei stride, const GLvoid *pointer);
+GLAPI void GLAPIENTRY glOrtho (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
+GLAPI void GLAPIENTRY glPassThrough (GLfloat token);
+GLAPI void GLAPIENTRY glPixelMapfv (GLenum map, GLsizei mapsize, const GLfloat *values);
+GLAPI void GLAPIENTRY glPixelMapuiv (GLenum map, GLsizei mapsize, const GLuint *values);
+GLAPI void GLAPIENTRY glPixelMapusv (GLenum map, GLsizei mapsize, const GLushort *values);
+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 glPixelZoom (GLfloat xfactor, GLfloat yfactor);
+GLAPI void GLAPIENTRY glPointSize (GLfloat size);
+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 glPopAttrib (void);
+GLAPI void GLAPIENTRY glPopClientAttrib (void);
+GLAPI void GLAPIENTRY glPopMatrix (void);
+GLAPI void GLAPIENTRY glPopName (void);
+GLAPI void GLAPIENTRY glPrioritizeTextures (GLsizei n, const GLuint *textures, const GLclampf *priorities);
+GLAPI void GLAPIENTRY glPushAttrib (GLbitfield mask);
+GLAPI void GLAPIENTRY glPushClientAttrib (GLbitfield mask);
+GLAPI void GLAPIENTRY glPushMatrix (void);
+GLAPI void GLAPIENTRY glPushName (GLuint name);
+GLAPI void GLAPIENTRY glRasterPos2d (GLdouble x, GLdouble y);
+GLAPI void GLAPIENTRY glRasterPos2dv (const GLdouble *v);
+GLAPI void GLAPIENTRY glRasterPos2f (GLfloat x, GLfloat y);
+GLAPI void GLAPIENTRY glRasterPos2fv (const GLfloat *v);
+GLAPI void GLAPIENTRY glRasterPos2i (GLint x, GLint y);
+GLAPI void GLAPIENTRY glRasterPos2iv (const GLint *v);
+GLAPI void GLAPIENTRY glRasterPos2s (GLshort x, GLshort y);
+GLAPI void GLAPIENTRY glRasterPos2sv (const GLshort *v);
+GLAPI void GLAPIENTRY glRasterPos3d (GLdouble x, GLdouble y, GLdouble z);
+GLAPI void GLAPIENTRY glRasterPos3dv (const GLdouble *v);
+GLAPI void GLAPIENTRY glRasterPos3f (GLfloat x, GLfloat y, GLfloat z);
+GLAPI void GLAPIENTRY glRasterPos3fv (const GLfloat *v);
+GLAPI void GLAPIENTRY glRasterPos3i (GLint x, GLint y, GLint z);
+GLAPI void GLAPIENTRY glRasterPos3iv (const GLint *v);
+GLAPI void GLAPIENTRY glRasterPos3s (GLshort x, GLshort y, GLshort z);
+GLAPI void GLAPIENTRY glRasterPos3sv (const GLshort *v);
+GLAPI void GLAPIENTRY glRasterPos4d (GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+GLAPI void GLAPIENTRY glRasterPos4dv (const GLdouble *v);
+GLAPI void GLAPIENTRY glRasterPos4f (GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+GLAPI void GLAPIENTRY glRasterPos4fv (const GLfloat *v);
+GLAPI void GLAPIENTRY glRasterPos4i (GLint x, GLint y, GLint z, GLint w);
+GLAPI void GLAPIENTRY glRasterPos4iv (const GLint *v);
+GLAPI void GLAPIENTRY glRasterPos4s (GLshort x, GLshort y, GLshort z, GLshort w);
+GLAPI void GLAPIENTRY glRasterPos4sv (const GLshort *v);
+GLAPI void GLAPIENTRY glReadBuffer (GLenum mode);
+GLAPI void GLAPIENTRY glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels);
+GLAPI void GLAPIENTRY glRectd (GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2);
+GLAPI void GLAPIENTRY glRectdv (const GLdouble *v1, const GLdouble *v2);
+GLAPI void GLAPIENTRY glRectf (GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2);
+GLAPI void GLAPIENTRY glRectfv (const GLfloat *v1, const GLfloat *v2);
+GLAPI void GLAPIENTRY glRecti (GLint x1, GLint y1, GLint x2, GLint y2);
+GLAPI void GLAPIENTRY glRectiv (const GLint *v1, const GLint *v2);
+GLAPI void GLAPIENTRY glRects (GLshort x1, GLshort y1, GLshort x2, GLshort y2);
+GLAPI void GLAPIENTRY glRectsv (const GLshort *v1, const GLshort *v2);
+GLAPI GLint GLAPIENTRY glRenderMode (GLenum mode);
+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 glScissor (GLint x, GLint y, GLsizei width, GLsizei height);
+GLAPI void GLAPIENTRY glSelectBuffer (GLsizei size, GLuint *buffer);
+GLAPI void GLAPIENTRY glShadeModel (GLenum mode);
+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 glTexCoord1d (GLdouble s);
+GLAPI void GLAPIENTRY glTexCoord1dv (const GLdouble *v);
+GLAPI void GLAPIENTRY glTexCoord1f (GLfloat s);
+GLAPI void GLAPIENTRY glTexCoord1fv (const GLfloat *v);
+GLAPI void GLAPIENTRY glTexCoord1i (GLint s);
+GLAPI void GLAPIENTRY glTexCoord1iv (const GLint *v);
+GLAPI void GLAPIENTRY glTexCoord1s (GLshort s);
+GLAPI void GLAPIENTRY glTexCoord1sv (const GLshort *v);
+GLAPI void GLAPIENTRY glTexCoord2d (GLdouble s, GLdouble t);
+GLAPI void GLAPIENTRY glTexCoord2dv (const GLdouble *v);
+GLAPI void GLAPIENTRY glTexCoord2f (GLfloat s, GLfloat t);
+GLAPI void GLAPIENTRY glTexCoord2fv (const GLfloat *v);
+GLAPI void GLAPIENTRY glTexCoord2i (GLint s, GLint t);
+GLAPI void GLAPIENTRY glTexCoord2iv (const GLint *v);
+GLAPI void GLAPIENTRY glTexCoord2s (GLshort s, GLshort t);
+GLAPI void GLAPIENTRY glTexCoord2sv (const GLshort *v);
+GLAPI void GLAPIENTRY glTexCoord3d (GLdouble s, GLdouble t, GLdouble r);
+GLAPI void GLAPIENTRY glTexCoord3dv (const GLdouble *v);
+GLAPI void GLAPIENTRY glTexCoord3f (GLfloat s, GLfloat t, GLfloat r);
+GLAPI void GLAPIENTRY glTexCoord3fv (const GLfloat *v);
+GLAPI void GLAPIENTRY glTexCoord3i (GLint s, GLint t, GLint r);
+GLAPI void GLAPIENTRY glTexCoord3iv (const GLint *v);
+GLAPI void GLAPIENTRY glTexCoord3s (GLshort s, GLshort t, GLshort r);
+GLAPI void GLAPIENTRY glTexCoord3sv (const GLshort *v);
+GLAPI void GLAPIENTRY glTexCoord4d (GLdouble s, GLdouble t, GLdouble r, GLdouble q);
+GLAPI void GLAPIENTRY glTexCoord4dv (const GLdouble *v);
+GLAPI void GLAPIENTRY glTexCoord4f (GLfloat s, GLfloat t, GLfloat r, GLfloat q);
+GLAPI void GLAPIENTRY glTexCoord4fv (const GLfloat *v);
+GLAPI void GLAPIENTRY glTexCoord4i (GLint s, GLint t, GLint r, GLint q);
+GLAPI void GLAPIENTRY glTexCoord4iv (const GLint *v);
+GLAPI void GLAPIENTRY glTexCoord4s (GLshort s, GLshort t, GLshort r, GLshort q);
+GLAPI void GLAPIENTRY glTexCoord4sv (const GLshort *v);
+GLAPI void GLAPIENTRY glTexCoordPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
+GLAPI void GLAPIENTRY glTexEnvf (GLenum target, GLenum pname, GLfloat param);
+GLAPI void GLAPIENTRY glTexEnvfv (GLenum target, GLenum pname, const GLfloat *params);
+GLAPI void GLAPIENTRY glTexEnvi (GLenum target, GLenum pname, GLint param);
+GLAPI void GLAPIENTRY glTexEnviv (GLenum target, GLenum pname, const GLint *params);
+GLAPI void GLAPIENTRY glTexGend (GLenum coord, GLenum pname, GLdouble param);
+GLAPI void GLAPIENTRY glTexGendv (GLenum coord, GLenum pname, const GLdouble *params);
+GLAPI void GLAPIENTRY glTexGenf (GLenum coord, GLenum pname, GLfloat param);
+GLAPI void GLAPIENTRY glTexGenfv (GLenum coord, GLenum pname, const GLfloat *params);
+GLAPI void GLAPIENTRY glTexGeni (GLenum coord, GLenum pname, GLint param);
+GLAPI void GLAPIENTRY glTexGeniv (GLenum coord, GLenum pname, const 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 glTexParameterf (GLenum target, GLenum pname, GLfloat param);
+GLAPI void GLAPIENTRY glTexParameterfv (GLenum target, GLenum pname, const GLfloat *params);
+GLAPI void GLAPIENTRY glTexParameteri (GLenum target, GLenum pname, GLint param);
+GLAPI void GLAPIENTRY glTexParameteriv (GLenum target, GLenum pname, const GLint *params);
+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 glTranslated (GLdouble x, GLdouble y, GLdouble z);
+GLAPI void GLAPIENTRY glTranslatef (GLfloat x, GLfloat y, GLfloat z);
+GLAPI void GLAPIENTRY glVertex2d (GLdouble x, GLdouble y);
+GLAPI void GLAPIENTRY glVertex2dv (const GLdouble *v);
+GLAPI void GLAPIENTRY glVertex2f (GLfloat x, GLfloat y);
+GLAPI void GLAPIENTRY glVertex2fv (const GLfloat *v);
+GLAPI void GLAPIENTRY glVertex2i (GLint x, GLint y);
+GLAPI void GLAPIENTRY glVertex2iv (const GLint *v);
+GLAPI void GLAPIENTRY glVertex2s (GLshort x, GLshort y);
+GLAPI void GLAPIENTRY glVertex2sv (const GLshort *v);
+GLAPI void GLAPIENTRY glVertex3d (GLdouble x, GLdouble y, GLdouble z);
+GLAPI void GLAPIENTRY glVertex3dv (const GLdouble *v);
+GLAPI void GLAPIENTRY glVertex3f (GLfloat x, GLfloat y, GLfloat z);
+GLAPI void GLAPIENTRY glVertex3fv (const GLfloat *v);
+GLAPI void GLAPIENTRY glVertex3i (GLint x, GLint y, GLint z);
+GLAPI void GLAPIENTRY glVertex3iv (const GLint *v);
+GLAPI void GLAPIENTRY glVertex3s (GLshort x, GLshort y, GLshort z);
+GLAPI void GLAPIENTRY glVertex3sv (const GLshort *v);
+GLAPI void GLAPIENTRY glVertex4d (GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+GLAPI void GLAPIENTRY glVertex4dv (const GLdouble *v);
+GLAPI void GLAPIENTRY glVertex4f (GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+GLAPI void GLAPIENTRY glVertex4fv (const GLfloat *v);
+GLAPI void GLAPIENTRY glVertex4i (GLint x, GLint y, GLint z, GLint w);
+GLAPI void GLAPIENTRY glVertex4iv (const GLint *v);
+GLAPI void GLAPIENTRY glVertex4s (GLshort x, GLshort y, GLshort z, GLshort w);
+GLAPI void GLAPIENTRY glVertex4sv (const GLshort *v);
+GLAPI void GLAPIENTRY glVertexPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
+GLAPI void GLAPIENTRY glViewport (GLint x, GLint y, GLsizei width, GLsizei height);
+
+#define GLEW_VERSION_1_1 GLEW_GET_VAR(__GLEW_VERSION_1_1)
+
+#endif /* GL_VERSION_1_1 */
+
+/* ---------------------------------- GLU ---------------------------------- */
+
+/* this is where we can safely include GLU */
+#if defined(__APPLE__) && defined(__MACH__)
+#include <OpenGL/glu.h>
+#else
+#include <GL/glu.h>
+#endif
+
+/* ----------------------------- GL_VERSION_1_2 ---------------------------- */
+
+#ifndef GL_VERSION_1_2
+#define GL_VERSION_1_2 1
+
+#define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12
+#define GL_SMOOTH_POINT_SIZE_GRANULARITY 0x0B13
+#define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22
+#define GL_SMOOTH_LINE_WIDTH_GRANULARITY 0x0B23
+#define GL_UNSIGNED_BYTE_3_3_2 0x8032
+#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
+#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
+#define GL_UNSIGNED_INT_8_8_8_8 0x8035
+#define GL_UNSIGNED_INT_10_10_10_2 0x8036
+#define GL_RESCALE_NORMAL 0x803A
+#define GL_TEXTURE_BINDING_3D 0x806A
+#define GL_PACK_SKIP_IMAGES 0x806B
+#define GL_PACK_IMAGE_HEIGHT 0x806C
+#define GL_UNPACK_SKIP_IMAGES 0x806D
+#define GL_UNPACK_IMAGE_HEIGHT 0x806E
+#define GL_TEXTURE_3D 0x806F
+#define GL_PROXY_TEXTURE_3D 0x8070
+#define GL_TEXTURE_DEPTH 0x8071
+#define GL_TEXTURE_WRAP_R 0x8072
+#define GL_MAX_3D_TEXTURE_SIZE 0x8073
+#define GL_BGR 0x80E0
+#define GL_BGRA 0x80E1
+#define GL_MAX_ELEMENTS_VERTICES 0x80E8
+#define GL_MAX_ELEMENTS_INDICES 0x80E9
+#define GL_CLAMP_TO_EDGE 0x812F
+#define GL_TEXTURE_MIN_LOD 0x813A
+#define GL_TEXTURE_MAX_LOD 0x813B
+#define GL_TEXTURE_BASE_LEVEL 0x813C
+#define GL_TEXTURE_MAX_LEVEL 0x813D
+#define GL_LIGHT_MODEL_COLOR_CONTROL 0x81F8
+#define GL_SINGLE_COLOR 0x81F9
+#define GL_SEPARATE_SPECULAR_COLOR 0x81FA
+#define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362
+#define GL_UNSIGNED_SHORT_5_6_5 0x8363
+#define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364
+#define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365
+#define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366
+#define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367
+#define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368
+#define GL_ALIASED_POINT_SIZE_RANGE 0x846D
+#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E
+
+typedef void (GLAPIENTRY * PFNGLCOPYTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+typedef void (GLAPIENTRY * PFNGLDRAWRANGEELEMENTSPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);
+typedef void (GLAPIENTRY * PFNGLTEXIMAGE3DPROC) (GLenum target, GLint level, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+typedef void (GLAPIENTRY * PFNGLTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
+
+#define glCopyTexSubImage3D GLEW_GET_FUN(__glewCopyTexSubImage3D)
+#define glDrawRangeElements GLEW_GET_FUN(__glewDrawRangeElements)
+#define glTexImage3D GLEW_GET_FUN(__glewTexImage3D)
+#define glTexSubImage3D GLEW_GET_FUN(__glewTexSubImage3D)
+
+#define GLEW_VERSION_1_2 GLEW_GET_VAR(__GLEW_VERSION_1_2)
+
+#endif /* GL_VERSION_1_2 */
+
+/* ----------------------------- GL_VERSION_1_3 ---------------------------- */
+
+#ifndef GL_VERSION_1_3
+#define GL_VERSION_1_3 1
+
+#define GL_MULTISAMPLE 0x809D
+#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E
+#define GL_SAMPLE_ALPHA_TO_ONE 0x809F
+#define GL_SAMPLE_COVERAGE 0x80A0
+#define GL_SAMPLE_BUFFERS 0x80A8
+#define GL_SAMPLES 0x80A9
+#define GL_SAMPLE_COVERAGE_VALUE 0x80AA
+#define GL_SAMPLE_COVERAGE_INVERT 0x80AB
+#define GL_CLAMP_TO_BORDER 0x812D
+#define GL_TEXTURE0 0x84C0
+#define GL_TEXTURE1 0x84C1
+#define GL_TEXTURE2 0x84C2
+#define GL_TEXTURE3 0x84C3
+#define GL_TEXTURE4 0x84C4
+#define GL_TEXTURE5 0x84C5
+#define GL_TEXTURE6 0x84C6
+#define GL_TEXTURE7 0x84C7
+#define GL_TEXTURE8 0x84C8
+#define GL_TEXTURE9 0x84C9
+#define GL_TEXTURE10 0x84CA
+#define GL_TEXTURE11 0x84CB
+#define GL_TEXTURE12 0x84CC
+#define GL_TEXTURE13 0x84CD
+#define GL_TEXTURE14 0x84CE
+#define GL_TEXTURE15 0x84CF
+#define GL_TEXTURE16 0x84D0
+#define GL_TEXTURE17 0x84D1
+#define GL_TEXTURE18 0x84D2
+#define GL_TEXTURE19 0x84D3
+#define GL_TEXTURE20 0x84D4
+#define GL_TEXTURE21 0x84D5
+#define GL_TEXTURE22 0x84D6
+#define GL_TEXTURE23 0x84D7
+#define GL_TEXTURE24 0x84D8
+#define GL_TEXTURE25 0x84D9
+#define GL_TEXTURE26 0x84DA
+#define GL_TEXTURE27 0x84DB
+#define GL_TEXTURE28 0x84DC
+#define GL_TEXTURE29 0x84DD
+#define GL_TEXTURE30 0x84DE
+#define GL_TEXTURE31 0x84DF
+#define GL_ACTIVE_TEXTURE 0x84E0
+#define GL_CLIENT_ACTIVE_TEXTURE 0x84E1
+#define GL_MAX_TEXTURE_UNITS 0x84E2
+#define GL_TRANSPOSE_MODELVIEW_MATRIX 0x84E3
+#define GL_TRANSPOSE_PROJECTION_MATRIX 0x84E4
+#define GL_TRANSPOSE_TEXTURE_MATRIX 0x84E5
+#define GL_TRANSPOSE_COLOR_MATRIX 0x84E6
+#define GL_SUBTRACT 0x84E7
+#define GL_COMPRESSED_ALPHA 0x84E9
+#define GL_COMPRESSED_LUMINANCE 0x84EA
+#define GL_COMPRESSED_LUMINANCE_ALPHA 0x84EB
+#define GL_COMPRESSED_INTENSITY 0x84EC
+#define GL_COMPRESSED_RGB 0x84ED
+#define GL_COMPRESSED_RGBA 0x84EE
+#define GL_TEXTURE_COMPRESSION_HINT 0x84EF
+#define GL_NORMAL_MAP 0x8511
+#define GL_REFLECTION_MAP 0x8512
+#define GL_TEXTURE_CUBE_MAP 0x8513
+#define GL_TEXTURE_BINDING_CUBE_MAP 0x8514
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A
+#define GL_PROXY_TEXTURE_CUBE_MAP 0x851B
+#define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C
+#define GL_COMBINE 0x8570
+#define GL_COMBINE_RGB 0x8571
+#define GL_COMBINE_ALPHA 0x8572
+#define GL_RGB_SCALE 0x8573
+#define GL_ADD_SIGNED 0x8574
+#define GL_INTERPOLATE 0x8575
+#define GL_CONSTANT 0x8576
+#define GL_PRIMARY_COLOR 0x8577
+#define GL_PREVIOUS 0x8578
+#define GL_SOURCE0_RGB 0x8580
+#define GL_SOURCE1_RGB 0x8581
+#define GL_SOURCE2_RGB 0x8582
+#define GL_SOURCE0_ALPHA 0x8588
+#define GL_SOURCE1_ALPHA 0x8589
+#define GL_SOURCE2_ALPHA 0x858A
+#define GL_OPERAND0_RGB 0x8590
+#define GL_OPERAND1_RGB 0x8591
+#define GL_OPERAND2_RGB 0x8592
+#define GL_OPERAND0_ALPHA 0x8598
+#define GL_OPERAND1_ALPHA 0x8599
+#define GL_OPERAND2_ALPHA 0x859A
+#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE 0x86A0
+#define GL_TEXTURE_COMPRESSED 0x86A1
+#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
+#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3
+#define GL_DOT3_RGB 0x86AE
+#define GL_DOT3_RGBA 0x86AF
+#define GL_MULTISAMPLE_BIT 0x20000000
+
+typedef void (GLAPIENTRY * PFNGLACTIVETEXTUREPROC) (GLenum texture);
+typedef void (GLAPIENTRY * PFNGLCLIENTACTIVETEXTUREPROC) (GLenum texture);
+typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXIMAGE1DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);
+typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);
+typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXIMAGE3DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);
+typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);
+typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);
+typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);
+typedef void (GLAPIENTRY * PFNGLGETCOMPRESSEDTEXIMAGEPROC) (GLenum target, GLint lod, GLvoid *img);
+typedef void (GLAPIENTRY * PFNGLLOADTRANSPOSEMATRIXDPROC) (const GLdouble m[16]);
+typedef void (GLAPIENTRY * PFNGLLOADTRANSPOSEMATRIXFPROC) (const GLfloat m[16]);
+typedef void (GLAPIENTRY * PFNGLMULTTRANSPOSEMATRIXDPROC) (const GLdouble m[16]);
+typedef void (GLAPIENTRY * PFNGLMULTTRANSPOSEMATRIXFPROC) (const GLfloat m[16]);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1DPROC) (GLenum target, GLdouble s);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1DVPROC) (GLenum target, const GLdouble *v);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1FPROC) (GLenum target, GLfloat s);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1FVPROC) (GLenum target, const GLfloat *v);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1IPROC) (GLenum target, GLint s);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1IVPROC) (GLenum target, const GLint *v);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1SPROC) (GLenum target, GLshort s);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1SVPROC) (GLenum target, const GLshort *v);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2DPROC) (GLenum target, GLdouble s, GLdouble t);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2DVPROC) (GLenum target, const GLdouble *v);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2FPROC) (GLenum target, GLfloat s, GLfloat t);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2FVPROC) (GLenum target, const GLfloat *v);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2IPROC) (GLenum target, GLint s, GLint t);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2IVPROC) (GLenum target, const GLint *v);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2SPROC) (GLenum target, GLshort s, GLshort t);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2SVPROC) (GLenum target, const GLshort *v);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3DPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3DVPROC) (GLenum target, const GLdouble *v);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3FPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3FVPROC) (GLenum target, const GLfloat *v);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3IPROC) (GLenum target, GLint s, GLint t, GLint r);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3IVPROC) (GLenum target, const GLint *v);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3SPROC) (GLenum target, GLshort s, GLshort t, GLshort r);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3SVPROC) (GLenum target, const GLshort *v);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4DPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4DVPROC) (GLenum target, const GLdouble *v);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4FPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4FVPROC) (GLenum target, const GLfloat *v);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4IPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4IVPROC) (GLenum target, const GLint *v);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4SPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4SVPROC) (GLenum target, const GLshort *v);
+typedef void (GLAPIENTRY * PFNGLSAMPLECOVERAGEPROC) (GLclampf value, GLboolean invert);
+
+#define glActiveTexture GLEW_GET_FUN(__glewActiveTexture)
+#define glClientActiveTexture GLEW_GET_FUN(__glewClientActiveTexture)
+#define glCompressedTexImage1D GLEW_GET_FUN(__glewCompressedTexImage1D)
+#define glCompressedTexImage2D GLEW_GET_FUN(__glewCompressedTexImage2D)
+#define glCompressedTexImage3D GLEW_GET_FUN(__glewCompressedTexImage3D)
+#define glCompressedTexSubImage1D GLEW_GET_FUN(__glewCompressedTexSubImage1D)
+#define glCompressedTexSubImage2D GLEW_GET_FUN(__glewCompressedTexSubImage2D)
+#define glCompressedTexSubImage3D GLEW_GET_FUN(__glewCompressedTexSubImage3D)
+#define glGetCompressedTexImage GLEW_GET_FUN(__glewGetCompressedTexImage)
+#define glLoadTransposeMatrixd GLEW_GET_FUN(__glewLoadTransposeMatrixd)
+#define glLoadTransposeMatrixf GLEW_GET_FUN(__glewLoadTransposeMatrixf)
+#define glMultTransposeMatrixd GLEW_GET_FUN(__glewMultTransposeMatrixd)
+#define glMultTransposeMatrixf GLEW_GET_FUN(__glewMultTransposeMatrixf)
+#define glMultiTexCoord1d GLEW_GET_FUN(__glewMultiTexCoord1d)
+#define glMultiTexCoord1dv GLEW_GET_FUN(__glewMultiTexCoord1dv)
+#define glMultiTexCoord1f GLEW_GET_FUN(__glewMultiTexCoord1f)
+#define glMultiTexCoord1fv GLEW_GET_FUN(__glewMultiTexCoord1fv)
+#define glMultiTexCoord1i GLEW_GET_FUN(__glewMultiTexCoord1i)
+#define glMultiTexCoord1iv GLEW_GET_FUN(__glewMultiTexCoord1iv)
+#define glMultiTexCoord1s GLEW_GET_FUN(__glewMultiTexCoord1s)
+#define glMultiTexCoord1sv GLEW_GET_FUN(__glewMultiTexCoord1sv)
+#define glMultiTexCoord2d GLEW_GET_FUN(__glewMultiTexCoord2d)
+#define glMultiTexCoord2dv GLEW_GET_FUN(__glewMultiTexCoord2dv)
+#define glMultiTexCoord2f GLEW_GET_FUN(__glewMultiTexCoord2f)
+#define glMultiTexCoord2fv GLEW_GET_FUN(__glewMultiTexCoord2fv)
+#define glMultiTexCoord2i GLEW_GET_FUN(__glewMultiTexCoord2i)
+#define glMultiTexCoord2iv GLEW_GET_FUN(__glewMultiTexCoord2iv)
+#define glMultiTexCoord2s GLEW_GET_FUN(__glewMultiTexCoord2s)
+#define glMultiTexCoord2sv GLEW_GET_FUN(__glewMultiTexCoord2sv)
+#define glMultiTexCoord3d GLEW_GET_FUN(__glewMultiTexCoord3d)
+#define glMultiTexCoord3dv GLEW_GET_FUN(__glewMultiTexCoord3dv)
+#define glMultiTexCoord3f GLEW_GET_FUN(__glewMultiTexCoord3f)
+#define glMultiTexCoord3fv GLEW_GET_FUN(__glewMultiTexCoord3fv)
+#define glMultiTexCoord3i GLEW_GET_FUN(__glewMultiTexCoord3i)
+#define glMultiTexCoord3iv GLEW_GET_FUN(__glewMultiTexCoord3iv)
+#define glMultiTexCoord3s GLEW_GET_FUN(__glewMultiTexCoord3s)
+#define glMultiTexCoord3sv GLEW_GET_FUN(__glewMultiTexCoord3sv)
+#define glMultiTexCoord4d GLEW_GET_FUN(__glewMultiTexCoord4d)
+#define glMultiTexCoord4dv GLEW_GET_FUN(__glewMultiTexCoord4dv)
+#define glMultiTexCoord4f GLEW_GET_FUN(__glewMultiTexCoord4f)
+#define glMultiTexCoord4fv GLEW_GET_FUN(__glewMultiTexCoord4fv)
+#define glMultiTexCoord4i GLEW_GET_FUN(__glewMultiTexCoord4i)
+#define glMultiTexCoord4iv GLEW_GET_FUN(__glewMultiTexCoord4iv)
+#define glMultiTexCoord4s GLEW_GET_FUN(__glewMultiTexCoord4s)
+#define glMultiTexCoord4sv GLEW_GET_FUN(__glewMultiTexCoord4sv)
+#define glSampleCoverage GLEW_GET_FUN(__glewSampleCoverage)
+
+#define GLEW_VERSION_1_3 GLEW_GET_VAR(__GLEW_VERSION_1_3)
+
+#endif /* GL_VERSION_1_3 */
+
+/* ----------------------------- GL_VERSION_1_4 ---------------------------- */
+
+#ifndef GL_VERSION_1_4
+#define GL_VERSION_1_4 1
+
+#define GL_BLEND_DST_RGB 0x80C8
+#define GL_BLEND_SRC_RGB 0x80C9
+#define GL_BLEND_DST_ALPHA 0x80CA
+#define GL_BLEND_SRC_ALPHA 0x80CB
+#define GL_POINT_SIZE_MIN 0x8126
+#define GL_POINT_SIZE_MAX 0x8127
+#define GL_POINT_FADE_THRESHOLD_SIZE 0x8128
+#define GL_POINT_DISTANCE_ATTENUATION 0x8129
+#define GL_GENERATE_MIPMAP 0x8191
+#define GL_GENERATE_MIPMAP_HINT 0x8192
+#define GL_DEPTH_COMPONENT16 0x81A5
+#define GL_DEPTH_COMPONENT24 0x81A6
+#define GL_DEPTH_COMPONENT32 0x81A7
+#define GL_MIRRORED_REPEAT 0x8370
+#define GL_FOG_COORDINATE_SOURCE 0x8450
+#define GL_FOG_COORDINATE 0x8451
+#define GL_FRAGMENT_DEPTH 0x8452
+#define GL_CURRENT_FOG_COORDINATE 0x8453
+#define GL_FOG_COORDINATE_ARRAY_TYPE 0x8454
+#define GL_FOG_COORDINATE_ARRAY_STRIDE 0x8455
+#define GL_FOG_COORDINATE_ARRAY_POINTER 0x8456
+#define GL_FOG_COORDINATE_ARRAY 0x8457
+#define GL_COLOR_SUM 0x8458
+#define GL_CURRENT_SECONDARY_COLOR 0x8459
+#define GL_SECONDARY_COLOR_ARRAY_SIZE 0x845A
+#define GL_SECONDARY_COLOR_ARRAY_TYPE 0x845B
+#define GL_SECONDARY_COLOR_ARRAY_STRIDE 0x845C
+#define GL_SECONDARY_COLOR_ARRAY_POINTER 0x845D
+#define GL_SECONDARY_COLOR_ARRAY 0x845E
+#define GL_MAX_TEXTURE_LOD_BIAS 0x84FD
+#define GL_TEXTURE_FILTER_CONTROL 0x8500
+#define GL_TEXTURE_LOD_BIAS 0x8501
+#define GL_INCR_WRAP 0x8507
+#define GL_DECR_WRAP 0x8508
+#define GL_TEXTURE_DEPTH_SIZE 0x884A
+#define GL_DEPTH_TEXTURE_MODE 0x884B
+#define GL_TEXTURE_COMPARE_MODE 0x884C
+#define GL_TEXTURE_COMPARE_FUNC 0x884D
+#define GL_COMPARE_R_TO_TEXTURE 0x884E
+
+typedef void (GLAPIENTRY * PFNGLBLENDCOLORPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
+typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONPROC) (GLenum mode);
+typedef void (GLAPIENTRY * PFNGLBLENDFUNCSEPARATEPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
+typedef void (GLAPIENTRY * PFNGLFOGCOORDPOINTERPROC) (GLenum type, GLsizei stride, const GLvoid *pointer);
+typedef void (GLAPIENTRY * PFNGLFOGCOORDDPROC) (GLdouble coord);
+typedef void (GLAPIENTRY * PFNGLFOGCOORDDVPROC) (const GLdouble *coord);
+typedef void (GLAPIENTRY * PFNGLFOGCOORDFPROC) (GLfloat coord);
+typedef void (GLAPIENTRY * PFNGLFOGCOORDFVPROC) (const GLfloat *coord);
+typedef void (GLAPIENTRY * PFNGLMULTIDRAWARRAYSPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount);
+typedef void (GLAPIENTRY * PFNGLMULTIDRAWELEMENTSPROC) (GLenum mode, GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount);
+typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFPROC) (GLenum pname, GLfloat param);
+typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFVPROC) (GLenum pname, const GLfloat *params);
+typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERIPROC) (GLenum pname, GLint param);
+typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERIVPROC) (GLenum pname, const GLint *params);
+typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3BPROC) (GLbyte red, GLbyte green, GLbyte blue);
+typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3BVPROC) (const GLbyte *v);
+typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3DPROC) (GLdouble red, GLdouble green, GLdouble blue);
+typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3DVPROC) (const GLdouble *v);
+typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3FPROC) (GLfloat red, GLfloat green, GLfloat blue);
+typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3FVPROC) (const GLfloat *v);
+typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3IPROC) (GLint red, GLint green, GLint blue);
+typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3IVPROC) (const GLint *v);
+typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3SPROC) (GLshort red, GLshort green, GLshort blue);
+typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3SVPROC) (const GLshort *v);
+typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3UBPROC) (GLubyte red, GLubyte green, GLubyte blue);
+typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3UBVPROC) (const GLubyte *v);
+typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3UIPROC) (GLuint red, GLuint green, GLuint blue);
+typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3UIVPROC) (const GLuint *v);
+typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3USPROC) (GLushort red, GLushort green, GLushort blue);
+typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3USVPROC) (const GLushort *v);
+typedef void (GLAPIENTRY * PFNGLSECONDARYCOLORPOINTERPROC) (GLint size, GLenum type, GLsizei stride, GLvoid *pointer);
+typedef void (GLAPIENTRY * PFNGLWINDOWPOS2DPROC) (GLdouble x, GLdouble y);
+typedef void (GLAPIENTRY * PFNGLWINDOWPOS2DVPROC) (const GLdouble *p);
+typedef void (GLAPIENTRY * PFNGLWINDOWPOS2FPROC) (GLfloat x, GLfloat y);
+typedef void (GLAPIENTRY * PFNGLWINDOWPOS2FVPROC) (const GLfloat *p);
+typedef void (GLAPIENTRY * PFNGLWINDOWPOS2IPROC) (GLint x, GLint y);
+typedef void (GLAPIENTRY * PFNGLWINDOWPOS2IVPROC) (const GLint *p);
+typedef void (GLAPIENTRY * PFNGLWINDOWPOS2SPROC) (GLshort x, GLshort y);
+typedef void (GLAPIENTRY * PFNGLWINDOWPOS2SVPROC) (const GLshort *p);
+typedef void (GLAPIENTRY * PFNGLWINDOWPOS3DPROC) (GLdouble x, GLdouble y, GLdouble z);
+typedef void (GLAPIENTRY * PFNGLWINDOWPOS3DVPROC) (const GLdouble *p);
+typedef void (GLAPIENTRY * PFNGLWINDOWPOS3FPROC) (GLfloat x, GLfloat y, GLfloat z);
+typedef void (GLAPIENTRY * PFNGLWINDOWPOS3FVPROC) (const GLfloat *p);
+typedef void (GLAPIENTRY * PFNGLWINDOWPOS3IPROC) (GLint x, GLint y, GLint z);
+typedef void (GLAPIENTRY * PFNGLWINDOWPOS3IVPROC) (const GLint *p);
+typedef void (GLAPIENTRY * PFNGLWINDOWPOS3SPROC) (GLshort x, GLshort y, GLshort z);
+typedef void (GLAPIENTRY * PFNGLWINDOWPOS3SVPROC) (const GLshort *p);
+
+#define glBlendColor GLEW_GET_FUN(__glewBlendColor)
+#define glBlendEquation GLEW_GET_FUN(__glewBlendEquation)
+#define glBlendFuncSeparate GLEW_GET_FUN(__glewBlendFuncSeparate)
+#define glFogCoordPointer GLEW_GET_FUN(__glewFogCoordPointer)
+#define glFogCoordd GLEW_GET_FUN(__glewFogCoordd)
+#define glFogCoorddv GLEW_GET_FUN(__glewFogCoorddv)
+#define glFogCoordf GLEW_GET_FUN(__glewFogCoordf)
+#define glFogCoordfv GLEW_GET_FUN(__glewFogCoordfv)
+#define glMultiDrawArrays GLEW_GET_FUN(__glewMultiDrawArrays)
+#define glMultiDrawElements GLEW_GET_FUN(__glewMultiDrawElements)
+#define glPointParameterf GLEW_GET_FUN(__glewPointParameterf)
+#define glPointParameterfv GLEW_GET_FUN(__glewPointParameterfv)
+#define glPointParameteri GLEW_GET_FUN(__glewPointParameteri)
+#define glPointParameteriv GLEW_GET_FUN(__glewPointParameteriv)
+#define glSecondaryColor3b GLEW_GET_FUN(__glewSecondaryColor3b)
+#define glSecondaryColor3bv GLEW_GET_FUN(__glewSecondaryColor3bv)
+#define glSecondaryColor3d GLEW_GET_FUN(__glewSecondaryColor3d)
+#define glSecondaryColor3dv GLEW_GET_FUN(__glewSecondaryColor3dv)
+#define glSecondaryColor3f GLEW_GET_FUN(__glewSecondaryColor3f)
+#define glSecondaryColor3fv GLEW_GET_FUN(__glewSecondaryColor3fv)
+#define glSecondaryColor3i GLEW_GET_FUN(__glewSecondaryColor3i)
+#define glSecondaryColor3iv GLEW_GET_FUN(__glewSecondaryColor3iv)
+#define glSecondaryColor3s GLEW_GET_FUN(__glewSecondaryColor3s)
+#define glSecondaryColor3sv GLEW_GET_FUN(__glewSecondaryColor3sv)
+#define glSecondaryColor3ub GLEW_GET_FUN(__glewSecondaryColor3ub)
+#define glSecondaryColor3ubv GLEW_GET_FUN(__glewSecondaryColor3ubv)
+#define glSecondaryColor3ui GLEW_GET_FUN(__glewSecondaryColor3ui)
+#define glSecondaryColor3uiv GLEW_GET_FUN(__glewSecondaryColor3uiv)
+#define glSecondaryColor3us GLEW_GET_FUN(__glewSecondaryColor3us)
+#define glSecondaryColor3usv GLEW_GET_FUN(__glewSecondaryColor3usv)
+#define glSecondaryColorPointer GLEW_GET_FUN(__glewSecondaryColorPointer)
+#define glWindowPos2d GLEW_GET_FUN(__glewWindowPos2d)
+#define glWindowPos2dv GLEW_GET_FUN(__glewWindowPos2dv)
+#define glWindowPos2f GLEW_GET_FUN(__glewWindowPos2f)
+#define glWindowPos2fv GLEW_GET_FUN(__glewWindowPos2fv)
+#define glWindowPos2i GLEW_GET_FUN(__glewWindowPos2i)
+#define glWindowPos2iv GLEW_GET_FUN(__glewWindowPos2iv)
+#define glWindowPos2s GLEW_GET_FUN(__glewWindowPos2s)
+#define glWindowPos2sv GLEW_GET_FUN(__glewWindowPos2sv)
+#define glWindowPos3d GLEW_GET_FUN(__glewWindowPos3d)
+#define glWindowPos3dv GLEW_GET_FUN(__glewWindowPos3dv)
+#define glWindowPos3f GLEW_GET_FUN(__glewWindowPos3f)
+#define glWindowPos3fv GLEW_GET_FUN(__glewWindowPos3fv)
+#define glWindowPos3i GLEW_GET_FUN(__glewWindowPos3i)
+#define glWindowPos3iv GLEW_GET_FUN(__glewWindowPos3iv)
+#define glWindowPos3s GLEW_GET_FUN(__glewWindowPos3s)
+#define glWindowPos3sv GLEW_GET_FUN(__glewWindowPos3sv)
+
+#define GLEW_VERSION_1_4 GLEW_GET_VAR(__GLEW_VERSION_1_4)
+
+#endif /* GL_VERSION_1_4 */
+
+/* ----------------------------- GL_VERSION_1_5 ---------------------------- */
+
+#ifndef GL_VERSION_1_5
+#define GL_VERSION_1_5 1
+
+#define GL_FOG_COORD_SRC GL_FOG_COORDINATE_SOURCE
+#define GL_FOG_COORD GL_FOG_COORDINATE
+#define GL_FOG_COORD_ARRAY GL_FOG_COORDINATE_ARRAY
+#define GL_SRC0_RGB GL_SOURCE0_RGB
+#define GL_FOG_COORD_ARRAY_POINTER GL_FOG_COORDINATE_ARRAY_POINTER
+#define GL_FOG_COORD_ARRAY_TYPE GL_FOG_COORDINATE_ARRAY_TYPE
+#define GL_SRC1_ALPHA GL_SOURCE1_ALPHA
+#define GL_CURRENT_FOG_COORD GL_CURRENT_FOG_COORDINATE
+#define GL_FOG_COORD_ARRAY_STRIDE GL_FOG_COORDINATE_ARRAY_STRIDE
+#define GL_SRC0_ALPHA GL_SOURCE0_ALPHA
+#define GL_SRC1_RGB GL_SOURCE1_RGB
+#define GL_FOG_COORD_ARRAY_BUFFER_BINDING GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING
+#define GL_SRC2_ALPHA GL_SOURCE2_ALPHA
+#define GL_SRC2_RGB GL_SOURCE2_RGB
+#define GL_BUFFER_SIZE 0x8764
+#define GL_BUFFER_USAGE 0x8765
+#define GL_QUERY_COUNTER_BITS 0x8864
+#define GL_CURRENT_QUERY 0x8865
+#define GL_QUERY_RESULT 0x8866
+#define GL_QUERY_RESULT_AVAILABLE 0x8867
+#define GL_ARRAY_BUFFER 0x8892
+#define GL_ELEMENT_ARRAY_BUFFER 0x8893
+#define GL_ARRAY_BUFFER_BINDING 0x8894
+#define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895
+#define GL_VERTEX_ARRAY_BUFFER_BINDING 0x8896
+#define GL_NORMAL_ARRAY_BUFFER_BINDING 0x8897
+#define GL_COLOR_ARRAY_BUFFER_BINDING 0x8898
+#define GL_INDEX_ARRAY_BUFFER_BINDING 0x8899
+#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING 0x889A
+#define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING 0x889B
+#define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING 0x889C
+#define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING 0x889D
+#define GL_WEIGHT_ARRAY_BUFFER_BINDING 0x889E
+#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F
+#define GL_READ_ONLY 0x88B8
+#define GL_WRITE_ONLY 0x88B9
+#define GL_READ_WRITE 0x88BA
+#define GL_BUFFER_ACCESS 0x88BB
+#define GL_BUFFER_MAPPED 0x88BC
+#define GL_BUFFER_MAP_POINTER 0x88BD
+#define GL_STREAM_DRAW 0x88E0
+#define GL_STREAM_READ 0x88E1
+#define GL_STREAM_COPY 0x88E2
+#define GL_STATIC_DRAW 0x88E4
+#define GL_STATIC_READ 0x88E5
+#define GL_STATIC_COPY 0x88E6
+#define GL_DYNAMIC_DRAW 0x88E8
+#define GL_DYNAMIC_READ 0x88E9
+#define GL_DYNAMIC_COPY 0x88EA
+#define GL_SAMPLES_PASSED 0x8914
+
+typedef ptrdiff_t GLsizeiptr;
+typedef ptrdiff_t GLintptr;
+
+typedef void (GLAPIENTRY * PFNGLBEGINQUERYPROC) (GLenum target, GLuint id);
+typedef void (GLAPIENTRY * PFNGLBINDBUFFERPROC) (GLenum target, GLuint buffer);
+typedef void (GLAPIENTRY * PFNGLBUFFERDATAPROC) (GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage);
+typedef void (GLAPIENTRY * PFNGLBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data);
+typedef void (GLAPIENTRY * PFNGLDELETEBUFFERSPROC) (GLsizei n, const GLuint* buffers);
+typedef void (GLAPIENTRY * PFNGLDELETEQUERIESPROC) (GLsizei n, const GLuint* ids);
+typedef void (GLAPIENTRY * PFNGLENDQUERYPROC) (GLenum target);
+typedef void (GLAPIENTRY * PFNGLGENBUFFERSPROC) (GLsizei n, GLuint* buffers);
+typedef void (GLAPIENTRY * PFNGLGENQUERIESPROC) (GLsizei n, GLuint* ids);
+typedef void (GLAPIENTRY * PFNGLGETBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint* params);
+typedef void (GLAPIENTRY * PFNGLGETBUFFERPOINTERVPROC) (GLenum target, GLenum pname, GLvoid** params);
+typedef void (GLAPIENTRY * PFNGLGETBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, GLvoid* data);
+typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTIVPROC) (GLuint id, GLenum pname, GLint* params);
+typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTUIVPROC) (GLuint id, GLenum pname, GLuint* params);
+typedef void (GLAPIENTRY * PFNGLGETQUERYIVPROC) (GLenum target, GLenum pname, GLint* params);
+typedef GLboolean (GLAPIENTRY * PFNGLISBUFFERPROC) (GLuint buffer);
+typedef GLboolean (GLAPIENTRY * PFNGLISQUERYPROC) (GLuint id);
+typedef GLvoid* (GLAPIENTRY * PFNGLMAPBUFFERPROC) (GLenum target, GLenum access);
+typedef GLboolean (GLAPIENTRY * PFNGLUNMAPBUFFERPROC) (GLenum target);
+
+#define glBeginQuery GLEW_GET_FUN(__glewBeginQuery)
+#define glBindBuffer GLEW_GET_FUN(__glewBindBuffer)
+#define glBufferData GLEW_GET_FUN(__glewBufferData)
+#define glBufferSubData GLEW_GET_FUN(__glewBufferSubData)
+#define glDeleteBuffers GLEW_GET_FUN(__glewDeleteBuffers)
+#define glDeleteQueries GLEW_GET_FUN(__glewDeleteQueries)
+#define glEndQuery GLEW_GET_FUN(__glewEndQuery)
+#define glGenBuffers GLEW_GET_FUN(__glewGenBuffers)
+#define glGenQueries GLEW_GET_FUN(__glewGenQueries)
+#define glGetBufferParameteriv GLEW_GET_FUN(__glewGetBufferParameteriv)
+#define glGetBufferPointerv GLEW_GET_FUN(__glewGetBufferPointerv)
+#define glGetBufferSubData GLEW_GET_FUN(__glewGetBufferSubData)
+#define glGetQueryObjectiv GLEW_GET_FUN(__glewGetQueryObjectiv)
+#define glGetQueryObjectuiv GLEW_GET_FUN(__glewGetQueryObjectuiv)
+#define glGetQueryiv GLEW_GET_FUN(__glewGetQueryiv)
+#define glIsBuffer GLEW_GET_FUN(__glewIsBuffer)
+#define glIsQuery GLEW_GET_FUN(__glewIsQuery)
+#define glMapBuffer GLEW_GET_FUN(__glewMapBuffer)
+#define glUnmapBuffer GLEW_GET_FUN(__glewUnmapBuffer)
+
+#define GLEW_VERSION_1_5 GLEW_GET_VAR(__GLEW_VERSION_1_5)
+
+#endif /* GL_VERSION_1_5 */
+
+/* ----------------------------- GL_VERSION_2_0 ---------------------------- */
+
+#ifndef GL_VERSION_2_0
+#define GL_VERSION_2_0 1
+
+#define GL_BLEND_EQUATION_RGB GL_BLEND_EQUATION
+#define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622
+#define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623
+#define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624
+#define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625
+#define GL_CURRENT_VERTEX_ATTRIB 0x8626
+#define GL_VERTEX_PROGRAM_POINT_SIZE 0x8642
+#define GL_VERTEX_PROGRAM_TWO_SIDE 0x8643
+#define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645
+#define GL_STENCIL_BACK_FUNC 0x8800
+#define GL_STENCIL_BACK_FAIL 0x8801
+#define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802
+#define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803
+#define GL_MAX_DRAW_BUFFERS 0x8824
+#define GL_DRAW_BUFFER0 0x8825
+#define GL_DRAW_BUFFER1 0x8826
+#define GL_DRAW_BUFFER2 0x8827
+#define GL_DRAW_BUFFER3 0x8828
+#define GL_DRAW_BUFFER4 0x8829
+#define GL_DRAW_BUFFER5 0x882A
+#define GL_DRAW_BUFFER6 0x882B
+#define GL_DRAW_BUFFER7 0x882C
+#define GL_DRAW_BUFFER8 0x882D
+#define GL_DRAW_BUFFER9 0x882E
+#define GL_DRAW_BUFFER10 0x882F
+#define GL_DRAW_BUFFER11 0x8830
+#define GL_DRAW_BUFFER12 0x8831
+#define GL_DRAW_BUFFER13 0x8832
+#define GL_DRAW_BUFFER14 0x8833
+#define GL_DRAW_BUFFER15 0x8834
+#define GL_BLEND_EQUATION_ALPHA 0x883D
+#define GL_POINT_SPRITE 0x8861
+#define GL_COORD_REPLACE 0x8862
+#define GL_MAX_VERTEX_ATTRIBS 0x8869
+#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A
+#define GL_MAX_TEXTURE_COORDS 0x8871
+#define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872
+#define GL_FRAGMENT_SHADER 0x8B30
+#define GL_VERTEX_SHADER 0x8B31
+#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS 0x8B49
+#define GL_MAX_VERTEX_UNIFORM_COMPONENTS 0x8B4A
+#define GL_MAX_VARYING_FLOATS 0x8B4B
+#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C
+#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D
+#define GL_SHADER_TYPE 0x8B4F
+#define GL_FLOAT_VEC2 0x8B50
+#define GL_FLOAT_VEC3 0x8B51
+#define GL_FLOAT_VEC4 0x8B52
+#define GL_INT_VEC2 0x8B53
+#define GL_INT_VEC3 0x8B54
+#define GL_INT_VEC4 0x8B55
+#define GL_BOOL 0x8B56
+#define GL_BOOL_VEC2 0x8B57
+#define GL_BOOL_VEC3 0x8B58
+#define GL_BOOL_VEC4 0x8B59
+#define GL_FLOAT_MAT2 0x8B5A
+#define GL_FLOAT_MAT3 0x8B5B
+#define GL_FLOAT_MAT4 0x8B5C
+#define GL_SAMPLER_1D 0x8B5D
+#define GL_SAMPLER_2D 0x8B5E
+#define GL_SAMPLER_3D 0x8B5F
+#define GL_SAMPLER_CUBE 0x8B60
+#define GL_SAMPLER_1D_SHADOW 0x8B61
+#define GL_SAMPLER_2D_SHADOW 0x8B62
+#define GL_DELETE_STATUS 0x8B80
+#define GL_COMPILE_STATUS 0x8B81
+#define GL_LINK_STATUS 0x8B82
+#define GL_VALIDATE_STATUS 0x8B83
+#define GL_INFO_LOG_LENGTH 0x8B84
+#define GL_ATTACHED_SHADERS 0x8B85
+#define GL_ACTIVE_UNIFORMS 0x8B86
+#define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87
+#define GL_SHADER_SOURCE_LENGTH 0x8B88
+#define GL_ACTIVE_ATTRIBUTES 0x8B89
+#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A
+#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT 0x8B8B
+#define GL_SHADING_LANGUAGE_VERSION 0x8B8C
+#define GL_CURRENT_PROGRAM 0x8B8D
+#define GL_POINT_SPRITE_COORD_ORIGIN 0x8CA0
+#define GL_LOWER_LEFT 0x8CA1
+#define GL_UPPER_LEFT 0x8CA2
+#define GL_STENCIL_BACK_REF 0x8CA3
+#define GL_STENCIL_BACK_VALUE_MASK 0x8CA4
+#define GL_STENCIL_BACK_WRITEMASK 0x8CA5
+
+typedef char GLchar;
+
+typedef void (GLAPIENTRY * PFNGLATTACHSHADERPROC) (GLuint program, GLuint shader);
+typedef void (GLAPIENTRY * PFNGLBINDATTRIBLOCATIONPROC) (GLuint program, GLuint index, const GLchar* name);
+typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONSEPARATEPROC) (GLenum, GLenum);
+typedef void (GLAPIENTRY * PFNGLCOMPILESHADERPROC) (GLuint shader);
+typedef GLuint (GLAPIENTRY * PFNGLCREATEPROGRAMPROC) (void);
+typedef GLuint (GLAPIENTRY * PFNGLCREATESHADERPROC) (GLenum type);
+typedef void (GLAPIENTRY * PFNGLDELETEPROGRAMPROC) (GLuint program);
+typedef void (GLAPIENTRY * PFNGLDELETESHADERPROC) (GLuint shader);
+typedef void (GLAPIENTRY * PFNGLDETACHSHADERPROC) (GLuint program, GLuint shader);
+typedef void (GLAPIENTRY * PFNGLDISABLEVERTEXATTRIBARRAYPROC) (GLuint);
+typedef void (GLAPIENTRY * PFNGLDRAWBUFFERSPROC) (GLsizei n, const GLenum* bufs);
+typedef void (GLAPIENTRY * PFNGLENABLEVERTEXATTRIBARRAYPROC) (GLuint);
+typedef void (GLAPIENTRY * PFNGLGETACTIVEATTRIBPROC) (GLuint program, GLuint index, GLsizei maxLength, GLsizei* length, GLint* size, GLenum* type, GLchar* name);
+typedef void (GLAPIENTRY * PFNGLGETACTIVEUNIFORMPROC) (GLuint program, GLuint index, GLsizei maxLength, GLsizei* length, GLint* size, GLenum* type, GLchar* name);
+typedef void (GLAPIENTRY * PFNGLGETATTACHEDSHADERSPROC) (GLuint program, GLsizei maxCount, GLsizei* count, GLuint* shaders);
+typedef GLint (GLAPIENTRY * PFNGLGETATTRIBLOCATIONPROC) (GLuint program, const GLchar* name);
+typedef void (GLAPIENTRY * PFNGLGETPROGRAMINFOLOGPROC) (GLuint program, GLsizei bufSize, GLsizei* length, GLchar* infoLog);
+typedef void (GLAPIENTRY * PFNGLGETPROGRAMIVPROC) (GLuint program, GLenum pname, GLint* param);
+typedef void (GLAPIENTRY * PFNGLGETSHADERINFOLOGPROC) (GLuint shader, GLsizei bufSize, GLsizei* length, GLchar* infoLog);
+typedef void (GLAPIENTRY * PFNGLGETSHADERSOURCEPROC) (GLint obj, GLsizei maxLength, GLsizei* length, GLchar* source);
+typedef void (GLAPIENTRY * PFNGLGETSHADERIVPROC) (GLuint shader, GLenum pname, GLint* param);
+typedef GLint (GLAPIENTRY * PFNGLGETUNIFORMLOCATIONPROC) (GLuint program, const GLchar* name);
+typedef void (GLAPIENTRY * PFNGLGETUNIFORMFVPROC) (GLuint program, GLint location, GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLGETUNIFORMIVPROC) (GLuint program, GLint location, GLint* params);
+typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBPOINTERVPROC) (GLuint, GLenum, GLvoid*);
+typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBDVPROC) (GLuint, GLenum, GLdouble*);
+typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBFVPROC) (GLuint, GLenum, GLfloat*);
+typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIVPROC) (GLuint, GLenum, GLint*);
+typedef GLboolean (GLAPIENTRY * PFNGLISPROGRAMPROC) (GLuint program);
+typedef GLboolean (GLAPIENTRY * PFNGLISSHADERPROC) (GLuint shader);
+typedef void (GLAPIENTRY * PFNGLLINKPROGRAMPROC) (GLuint program);
+typedef void (GLAPIENTRY * PFNGLSHADERSOURCEPROC) (GLuint shader, GLsizei count, const GLchar** strings, const GLint* lengths);
+typedef void (GLAPIENTRY * PFNGLSTENCILFUNCSEPARATEPROC) (GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask);
+typedef void (GLAPIENTRY * PFNGLSTENCILMASKSEPARATEPROC) (GLenum, GLuint);
+typedef void (GLAPIENTRY * PFNGLSTENCILOPSEPARATEPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
+typedef void (GLAPIENTRY * PFNGLUNIFORM1FPROC) (GLint location, GLfloat v0);
+typedef void (GLAPIENTRY * PFNGLUNIFORM1FVPROC) (GLint location, GLsizei count, const GLfloat* value);
+typedef void (GLAPIENTRY * PFNGLUNIFORM1IPROC) (GLint location, GLint v0);
+typedef void (GLAPIENTRY * PFNGLUNIFORM1IVPROC) (GLint location, GLsizei count, const GLint* value);
+typedef void (GLAPIENTRY * PFNGLUNIFORM2FPROC) (GLint location, GLfloat v0, GLfloat v1);
+typedef void (GLAPIENTRY * PFNGLUNIFORM2FVPROC) (GLint location, GLsizei count, const GLfloat* value);
+typedef void (GLAPIENTRY * PFNGLUNIFORM2IPROC) (GLint location, GLint v0, GLint v1);
+typedef void (GLAPIENTRY * PFNGLUNIFORM2IVPROC) (GLint location, GLsizei count, const GLint* value);
+typedef void (GLAPIENTRY * PFNGLUNIFORM3FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
+typedef void (GLAPIENTRY * PFNGLUNIFORM3FVPROC) (GLint location, GLsizei count, const GLfloat* value);
+typedef void (GLAPIENTRY * PFNGLUNIFORM3IPROC) (GLint location, GLint v0, GLint v1, GLint v2);
+typedef void (GLAPIENTRY * PFNGLUNIFORM3IVPROC) (GLint location, GLsizei count, const GLint* value);
+typedef void (GLAPIENTRY * PFNGLUNIFORM4FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
+typedef void (GLAPIENTRY * PFNGLUNIFORM4FVPROC) (GLint location, GLsizei count, const GLfloat* value);
+typedef void (GLAPIENTRY * PFNGLUNIFORM4IPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
+typedef void (GLAPIENTRY * PFNGLUNIFORM4IVPROC) (GLint location, GLsizei count, const GLint* value);
+typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
+typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
+typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
+typedef void (GLAPIENTRY * PFNGLUSEPROGRAMPROC) (GLuint program);
+typedef void (GLAPIENTRY * PFNGLVALIDATEPROGRAMPROC) (GLuint program);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1DPROC) (GLuint index, GLdouble x);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1DVPROC) (GLuint index, const GLdouble* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1FPROC) (GLuint index, GLfloat x);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1FVPROC) (GLuint index, const GLfloat* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1SPROC) (GLuint index, GLshort x);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1SVPROC) (GLuint index, const GLshort* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2DPROC) (GLuint index, GLdouble x, GLdouble y);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2DVPROC) (GLuint index, const GLdouble* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2FPROC) (GLuint index, GLfloat x, GLfloat y);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2FVPROC) (GLuint index, const GLfloat* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2SPROC) (GLuint index, GLshort x, GLshort y);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2SVPROC) (GLuint index, const GLshort* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3DVPROC) (GLuint index, const GLdouble* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3FVPROC) (GLuint index, const GLfloat* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3SPROC) (GLuint index, GLshort x, GLshort y, GLshort z);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3SVPROC) (GLuint index, const GLshort* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NBVPROC) (GLuint index, const GLbyte* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NIVPROC) (GLuint index, const GLint* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NSVPROC) (GLuint index, const GLshort* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NUBPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NUBVPROC) (GLuint index, const GLubyte* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NUIVPROC) (GLuint index, const GLuint* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NUSVPROC) (GLuint index, const GLushort* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4BVPROC) (GLuint index, const GLbyte* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4DVPROC) (GLuint index, const GLdouble* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4FVPROC) (GLuint index, const GLfloat* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4IVPROC) (GLuint index, const GLint* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4SPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4SVPROC) (GLuint index, const GLshort* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4UBVPROC) (GLuint index, const GLubyte* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4UIVPROC) (GLuint index, const GLuint* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4USVPROC) (GLuint index, const GLushort* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBPOINTERPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* pointer);
+
+#define glAttachShader GLEW_GET_FUN(__glewAttachShader)
+#define glBindAttribLocation GLEW_GET_FUN(__glewBindAttribLocation)
+#define glBlendEquationSeparate GLEW_GET_FUN(__glewBlendEquationSeparate)
+#define glCompileShader GLEW_GET_FUN(__glewCompileShader)
+#define glCreateProgram GLEW_GET_FUN(__glewCreateProgram)
+#define glCreateShader GLEW_GET_FUN(__glewCreateShader)
+#define glDeleteProgram GLEW_GET_FUN(__glewDeleteProgram)
+#define glDeleteShader GLEW_GET_FUN(__glewDeleteShader)
+#define glDetachShader GLEW_GET_FUN(__glewDetachShader)
+#define glDisableVertexAttribArray GLEW_GET_FUN(__glewDisableVertexAttribArray)
+#define glDrawBuffers GLEW_GET_FUN(__glewDrawBuffers)
+#define glEnableVertexAttribArray GLEW_GET_FUN(__glewEnableVertexAttribArray)
+#define glGetActiveAttrib GLEW_GET_FUN(__glewGetActiveAttrib)
+#define glGetActiveUniform GLEW_GET_FUN(__glewGetActiveUniform)
+#define glGetAttachedShaders GLEW_GET_FUN(__glewGetAttachedShaders)
+#define glGetAttribLocation GLEW_GET_FUN(__glewGetAttribLocation)
+#define glGetProgramInfoLog GLEW_GET_FUN(__glewGetProgramInfoLog)
+#define glGetProgramiv GLEW_GET_FUN(__glewGetProgramiv)
+#define glGetShaderInfoLog GLEW_GET_FUN(__glewGetShaderInfoLog)
+#define glGetShaderSource GLEW_GET_FUN(__glewGetShaderSource)
+#define glGetShaderiv GLEW_GET_FUN(__glewGetShaderiv)
+#define glGetUniformLocation GLEW_GET_FUN(__glewGetUniformLocation)
+#define glGetUniformfv GLEW_GET_FUN(__glewGetUniformfv)
+#define glGetUniformiv GLEW_GET_FUN(__glewGetUniformiv)
+#define glGetVertexAttribPointerv GLEW_GET_FUN(__glewGetVertexAttribPointerv)
+#define glGetVertexAttribdv GLEW_GET_FUN(__glewGetVertexAttribdv)
+#define glGetVertexAttribfv GLEW_GET_FUN(__glewGetVertexAttribfv)
+#define glGetVertexAttribiv GLEW_GET_FUN(__glewGetVertexAttribiv)
+#define glIsProgram GLEW_GET_FUN(__glewIsProgram)
+#define glIsShader GLEW_GET_FUN(__glewIsShader)
+#define glLinkProgram GLEW_GET_FUN(__glewLinkProgram)
+#define glShaderSource GLEW_GET_FUN(__glewShaderSource)
+#define glStencilFuncSeparate GLEW_GET_FUN(__glewStencilFuncSeparate)
+#define glStencilMaskSeparate GLEW_GET_FUN(__glewStencilMaskSeparate)
+#define glStencilOpSeparate GLEW_GET_FUN(__glewStencilOpSeparate)
+#define glUniform1f GLEW_GET_FUN(__glewUniform1f)
+#define glUniform1fv GLEW_GET_FUN(__glewUniform1fv)
+#define glUniform1i GLEW_GET_FUN(__glewUniform1i)
+#define glUniform1iv GLEW_GET_FUN(__glewUniform1iv)
+#define glUniform2f GLEW_GET_FUN(__glewUniform2f)
+#define glUniform2fv GLEW_GET_FUN(__glewUniform2fv)
+#define glUniform2i GLEW_GET_FUN(__glewUniform2i)
+#define glUniform2iv GLEW_GET_FUN(__glewUniform2iv)
+#define glUniform3f GLEW_GET_FUN(__glewUniform3f)
+#define glUniform3fv GLEW_GET_FUN(__glewUniform3fv)
+#define glUniform3i GLEW_GET_FUN(__glewUniform3i)
+#define glUniform3iv GLEW_GET_FUN(__glewUniform3iv)
+#define glUniform4f GLEW_GET_FUN(__glewUniform4f)
+#define glUniform4fv GLEW_GET_FUN(__glewUniform4fv)
+#define glUniform4i GLEW_GET_FUN(__glewUniform4i)
+#define glUniform4iv GLEW_GET_FUN(__glewUniform4iv)
+#define glUniformMatrix2fv GLEW_GET_FUN(__glewUniformMatrix2fv)
+#define glUniformMatrix3fv GLEW_GET_FUN(__glewUniformMatrix3fv)
+#define glUniformMatrix4fv GLEW_GET_FUN(__glewUniformMatrix4fv)
+#define glUseProgram GLEW_GET_FUN(__glewUseProgram)
+#define glValidateProgram GLEW_GET_FUN(__glewValidateProgram)
+#define glVertexAttrib1d GLEW_GET_FUN(__glewVertexAttrib1d)
+#define glVertexAttrib1dv GLEW_GET_FUN(__glewVertexAttrib1dv)
+#define glVertexAttrib1f GLEW_GET_FUN(__glewVertexAttrib1f)
+#define glVertexAttrib1fv GLEW_GET_FUN(__glewVertexAttrib1fv)
+#define glVertexAttrib1s GLEW_GET_FUN(__glewVertexAttrib1s)
+#define glVertexAttrib1sv GLEW_GET_FUN(__glewVertexAttrib1sv)
+#define glVertexAttrib2d GLEW_GET_FUN(__glewVertexAttrib2d)
+#define glVertexAttrib2dv GLEW_GET_FUN(__glewVertexAttrib2dv)
+#define glVertexAttrib2f GLEW_GET_FUN(__glewVertexAttrib2f)
+#define glVertexAttrib2fv GLEW_GET_FUN(__glewVertexAttrib2fv)
+#define glVertexAttrib2s GLEW_GET_FUN(__glewVertexAttrib2s)
+#define glVertexAttrib2sv GLEW_GET_FUN(__glewVertexAttrib2sv)
+#define glVertexAttrib3d GLEW_GET_FUN(__glewVertexAttrib3d)
+#define glVertexAttrib3dv GLEW_GET_FUN(__glewVertexAttrib3dv)
+#define glVertexAttrib3f GLEW_GET_FUN(__glewVertexAttrib3f)
+#define glVertexAttrib3fv GLEW_GET_FUN(__glewVertexAttrib3fv)
+#define glVertexAttrib3s GLEW_GET_FUN(__glewVertexAttrib3s)
+#define glVertexAttrib3sv GLEW_GET_FUN(__glewVertexAttrib3sv)
+#define glVertexAttrib4Nbv GLEW_GET_FUN(__glewVertexAttrib4Nbv)
+#define glVertexAttrib4Niv GLEW_GET_FUN(__glewVertexAttrib4Niv)
+#define glVertexAttrib4Nsv GLEW_GET_FUN(__glewVertexAttrib4Nsv)
+#define glVertexAttrib4Nub GLEW_GET_FUN(__glewVertexAttrib4Nub)
+#define glVertexAttrib4Nubv GLEW_GET_FUN(__glewVertexAttrib4Nubv)
+#define glVertexAttrib4Nuiv GLEW_GET_FUN(__glewVertexAttrib4Nuiv)
+#define glVertexAttrib4Nusv GLEW_GET_FUN(__glewVertexAttrib4Nusv)
+#define glVertexAttrib4bv GLEW_GET_FUN(__glewVertexAttrib4bv)
+#define glVertexAttrib4d GLEW_GET_FUN(__glewVertexAttrib4d)
+#define glVertexAttrib4dv GLEW_GET_FUN(__glewVertexAttrib4dv)
+#define glVertexAttrib4f GLEW_GET_FUN(__glewVertexAttrib4f)
+#define glVertexAttrib4fv GLEW_GET_FUN(__glewVertexAttrib4fv)
+#define glVertexAttrib4iv GLEW_GET_FUN(__glewVertexAttrib4iv)
+#define glVertexAttrib4s GLEW_GET_FUN(__glewVertexAttrib4s)
+#define glVertexAttrib4sv GLEW_GET_FUN(__glewVertexAttrib4sv)
+#define glVertexAttrib4ubv GLEW_GET_FUN(__glewVertexAttrib4ubv)
+#define glVertexAttrib4uiv GLEW_GET_FUN(__glewVertexAttrib4uiv)
+#define glVertexAttrib4usv GLEW_GET_FUN(__glewVertexAttrib4usv)
+#define glVertexAttribPointer GLEW_GET_FUN(__glewVertexAttribPointer)
+
+#define GLEW_VERSION_2_0 GLEW_GET_VAR(__GLEW_VERSION_2_0)
+
+#endif /* GL_VERSION_2_0 */
+
+/* ----------------------------- GL_VERSION_2_1 ---------------------------- */
+
+#ifndef GL_VERSION_2_1
+#define GL_VERSION_2_1 1
+
+#define GL_CURRENT_RASTER_SECONDARY_COLOR 0x845F
+#define GL_PIXEL_PACK_BUFFER 0x88EB
+#define GL_PIXEL_UNPACK_BUFFER 0x88EC
+#define GL_PIXEL_PACK_BUFFER_BINDING 0x88ED
+#define GL_PIXEL_UNPACK_BUFFER_BINDING 0x88EF
+#define GL_FLOAT_MAT2x3 0x8B65
+#define GL_FLOAT_MAT2x4 0x8B66
+#define GL_FLOAT_MAT3x2 0x8B67
+#define GL_FLOAT_MAT3x4 0x8B68
+#define GL_FLOAT_MAT4x2 0x8B69
+#define GL_FLOAT_MAT4x3 0x8B6A
+#define GL_SRGB 0x8C40
+#define GL_SRGB8 0x8C41
+#define GL_SRGB_ALPHA 0x8C42
+#define GL_SRGB8_ALPHA8 0x8C43
+#define GL_SLUMINANCE_ALPHA 0x8C44
+#define GL_SLUMINANCE8_ALPHA8 0x8C45
+#define GL_SLUMINANCE 0x8C46
+#define GL_SLUMINANCE8 0x8C47
+#define GL_COMPRESSED_SRGB 0x8C48
+#define GL_COMPRESSED_SRGB_ALPHA 0x8C49
+#define GL_COMPRESSED_SLUMINANCE 0x8C4A
+#define GL_COMPRESSED_SLUMINANCE_ALPHA 0x8C4B
+
+typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX2X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX2X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX3X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX3X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX4X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX4X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
+
+#define glUniformMatrix2x3fv GLEW_GET_FUN(__glewUniformMatrix2x3fv)
+#define glUniformMatrix2x4fv GLEW_GET_FUN(__glewUniformMatrix2x4fv)
+#define glUniformMatrix3x2fv GLEW_GET_FUN(__glewUniformMatrix3x2fv)
+#define glUniformMatrix3x4fv GLEW_GET_FUN(__glewUniformMatrix3x4fv)
+#define glUniformMatrix4x2fv GLEW_GET_FUN(__glewUniformMatrix4x2fv)
+#define glUniformMatrix4x3fv GLEW_GET_FUN(__glewUniformMatrix4x3fv)
+
+#define GLEW_VERSION_2_1 GLEW_GET_VAR(__GLEW_VERSION_2_1)
+
+#endif /* GL_VERSION_2_1 */
+
+/* ----------------------------- GL_VERSION_3_0 ---------------------------- */
+
+#ifndef GL_VERSION_3_0
+#define GL_VERSION_3_0 1
+
+#define GL_MAX_CLIP_DISTANCES GL_MAX_CLIP_PLANES
+#define GL_CLIP_DISTANCE5 GL_CLIP_PLANE5
+#define GL_CLIP_DISTANCE1 GL_CLIP_PLANE1
+#define GL_CLIP_DISTANCE3 GL_CLIP_PLANE3
+#define GL_COMPARE_REF_TO_TEXTURE GL_COMPARE_R_TO_TEXTURE_ARB
+#define GL_CLIP_DISTANCE0 GL_CLIP_PLANE0
+#define GL_CLIP_DISTANCE4 GL_CLIP_PLANE4
+#define GL_CLIP_DISTANCE2 GL_CLIP_PLANE2
+#define GL_MAX_VARYING_COMPONENTS GL_MAX_VARYING_FLOATS
+#define GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT 0x0001
+#define GL_MAJOR_VERSION 0x821B
+#define GL_MINOR_VERSION 0x821C
+#define GL_NUM_EXTENSIONS 0x821D
+#define GL_CONTEXT_FLAGS 0x821E
+#define GL_DEPTH_BUFFER 0x8223
+#define GL_STENCIL_BUFFER 0x8224
+#define GL_COMPRESSED_RED 0x8225
+#define GL_COMPRESSED_RG 0x8226
+#define GL_RGBA32F 0x8814
+#define GL_RGB32F 0x8815
+#define GL_RGBA16F 0x881A
+#define GL_RGB16F 0x881B
+#define GL_VERTEX_ATTRIB_ARRAY_INTEGER 0x88FD
+#define GL_MAX_ARRAY_TEXTURE_LAYERS 0x88FF
+#define GL_MIN_PROGRAM_TEXEL_OFFSET 0x8904
+#define GL_MAX_PROGRAM_TEXEL_OFFSET 0x8905
+#define GL_CLAMP_VERTEX_COLOR 0x891A
+#define GL_CLAMP_FRAGMENT_COLOR 0x891B
+#define GL_CLAMP_READ_COLOR 0x891C
+#define GL_FIXED_ONLY 0x891D
+#define GL_TEXTURE_RED_TYPE 0x8C10
+#define GL_TEXTURE_GREEN_TYPE 0x8C11
+#define GL_TEXTURE_BLUE_TYPE 0x8C12
+#define GL_TEXTURE_ALPHA_TYPE 0x8C13
+#define GL_TEXTURE_LUMINANCE_TYPE 0x8C14
+#define GL_TEXTURE_INTENSITY_TYPE 0x8C15
+#define GL_TEXTURE_DEPTH_TYPE 0x8C16
+#define GL_UNSIGNED_NORMALIZED 0x8C17
+#define GL_TEXTURE_1D_ARRAY 0x8C18
+#define GL_PROXY_TEXTURE_1D_ARRAY 0x8C19
+#define GL_TEXTURE_2D_ARRAY 0x8C1A
+#define GL_PROXY_TEXTURE_2D_ARRAY 0x8C1B
+#define GL_TEXTURE_BINDING_1D_ARRAY 0x8C1C
+#define GL_TEXTURE_BINDING_2D_ARRAY 0x8C1D
+#define GL_R11F_G11F_B10F 0x8C3A
+#define GL_UNSIGNED_INT_10F_11F_11F_REV 0x8C3B
+#define GL_RGB9_E5 0x8C3D
+#define GL_UNSIGNED_INT_5_9_9_9_REV 0x8C3E
+#define GL_TEXTURE_SHARED_SIZE 0x8C3F
+#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH 0x8C76
+#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE 0x8C7F
+#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS 0x8C80
+#define GL_TRANSFORM_FEEDBACK_VARYINGS 0x8C83
+#define GL_TRANSFORM_FEEDBACK_BUFFER_START 0x8C84
+#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE 0x8C85
+#define GL_PRIMITIVES_GENERATED 0x8C87
+#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN 0x8C88
+#define GL_RASTERIZER_DISCARD 0x8C89
+#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS 0x8C8A
+#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS 0x8C8B
+#define GL_INTERLEAVED_ATTRIBS 0x8C8C
+#define GL_SEPARATE_ATTRIBS 0x8C8D
+#define GL_TRANSFORM_FEEDBACK_BUFFER 0x8C8E
+#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING 0x8C8F
+#define GL_RGBA32UI 0x8D70
+#define GL_RGB32UI 0x8D71
+#define GL_RGBA16UI 0x8D76
+#define GL_RGB16UI 0x8D77
+#define GL_RGBA8UI 0x8D7C
+#define GL_RGB8UI 0x8D7D
+#define GL_RGBA32I 0x8D82
+#define GL_RGB32I 0x8D83
+#define GL_RGBA16I 0x8D88
+#define GL_RGB16I 0x8D89
+#define GL_RGBA8I 0x8D8E
+#define GL_RGB8I 0x8D8F
+#define GL_RED_INTEGER 0x8D94
+#define GL_GREEN_INTEGER 0x8D95
+#define GL_BLUE_INTEGER 0x8D96
+#define GL_ALPHA_INTEGER 0x8D97
+#define GL_RGB_INTEGER 0x8D98
+#define GL_RGBA_INTEGER 0x8D99
+#define GL_BGR_INTEGER 0x8D9A
+#define GL_BGRA_INTEGER 0x8D9B
+#define GL_SAMPLER_1D_ARRAY 0x8DC0
+#define GL_SAMPLER_2D_ARRAY 0x8DC1
+#define GL_SAMPLER_1D_ARRAY_SHADOW 0x8DC3
+#define GL_SAMPLER_2D_ARRAY_SHADOW 0x8DC4
+#define GL_SAMPLER_CUBE_SHADOW 0x8DC5
+#define GL_UNSIGNED_INT_VEC2 0x8DC6
+#define GL_UNSIGNED_INT_VEC3 0x8DC7
+#define GL_UNSIGNED_INT_VEC4 0x8DC8
+#define GL_INT_SAMPLER_1D 0x8DC9
+#define GL_INT_SAMPLER_2D 0x8DCA
+#define GL_INT_SAMPLER_3D 0x8DCB
+#define GL_INT_SAMPLER_CUBE 0x8DCC
+#define GL_INT_SAMPLER_1D_ARRAY 0x8DCE
+#define GL_INT_SAMPLER_2D_ARRAY 0x8DCF
+#define GL_UNSIGNED_INT_SAMPLER_1D 0x8DD1
+#define GL_UNSIGNED_INT_SAMPLER_2D 0x8DD2
+#define GL_UNSIGNED_INT_SAMPLER_3D 0x8DD3
+#define GL_UNSIGNED_INT_SAMPLER_CUBE 0x8DD4
+#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY 0x8DD6
+#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY 0x8DD7
+#define GL_QUERY_WAIT 0x8E13
+#define GL_QUERY_NO_WAIT 0x8E14
+#define GL_QUERY_BY_REGION_WAIT 0x8E15
+#define GL_QUERY_BY_REGION_NO_WAIT 0x8E16
+
+typedef void (GLAPIENTRY * PFNGLBEGINCONDITIONALRENDERPROC) (GLuint, GLenum);
+typedef void (GLAPIENTRY * PFNGLBEGINTRANSFORMFEEDBACKPROC) (GLenum);
+typedef void (GLAPIENTRY * PFNGLBINDFRAGDATALOCATIONPROC) (GLuint, GLuint, const GLchar*);
+typedef void (GLAPIENTRY * PFNGLCLAMPCOLORPROC) (GLenum, GLenum);
+typedef void (GLAPIENTRY * PFNGLCLEARBUFFERFIPROC) (GLenum, GLint, GLfloat, GLint);
+typedef void (GLAPIENTRY * PFNGLCLEARBUFFERFVPROC) (GLenum, GLint, const GLfloat*);
+typedef void (GLAPIENTRY * PFNGLCLEARBUFFERIVPROC) (GLenum, GLint, const GLint*);
+typedef void (GLAPIENTRY * PFNGLCLEARBUFFERUIVPROC) (GLenum, GLint, const GLuint*);
+typedef void (GLAPIENTRY * PFNGLCOLORMASKIPROC) (GLuint, GLboolean, GLboolean, GLboolean, GLboolean);
+typedef void (GLAPIENTRY * PFNGLDISABLEIPROC) (GLenum, GLuint);
+typedef void (GLAPIENTRY * PFNGLENABLEIPROC) (GLenum, GLuint);
+typedef void (GLAPIENTRY * PFNGLENDCONDITIONALRENDERPROC) (void);
+typedef void (GLAPIENTRY * PFNGLENDTRANSFORMFEEDBACKPROC) (void);
+typedef void (GLAPIENTRY * PFNGLGETBOOLEANI_VPROC) (GLenum, GLuint, GLboolean*);
+typedef GLint (GLAPIENTRY * PFNGLGETFRAGDATALOCATIONPROC) (GLuint, const GLchar*);
+typedef const GLubyte* (GLAPIENTRY * PFNGLGETSTRINGIPROC) (GLenum, GLuint);
+typedef void (GLAPIENTRY * PFNGLGETTEXPARAMETERIIVPROC) (GLenum, GLenum, GLint*);
+typedef void (GLAPIENTRY * PFNGLGETTEXPARAMETERIUIVPROC) (GLenum, GLenum, GLuint*);
+typedef void (GLAPIENTRY * PFNGLGETTRANSFORMFEEDBACKVARYINGPROC) (GLuint, GLuint, GLint*);
+typedef void (GLAPIENTRY * PFNGLGETUNIFORMUIVPROC) (GLuint, GLint, GLuint*);
+typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIIVPROC) (GLuint, GLenum, GLint*);
+typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIUIVPROC) (GLuint, GLenum, GLuint*);
+typedef GLboolean (GLAPIENTRY * PFNGLISENABLEDIPROC) (GLenum, GLuint);
+typedef void (GLAPIENTRY * PFNGLTEXPARAMETERIIVPROC) (GLenum, GLenum, const GLint*);
+typedef void (GLAPIENTRY * PFNGLTEXPARAMETERIUIVPROC) (GLenum, GLenum, const GLuint*);
+typedef void (GLAPIENTRY * PFNGLTRANSFORMFEEDBACKVARYINGSPROC) (GLuint, GLsizei, const GLchar **, GLenum);
+typedef void (GLAPIENTRY * PFNGLUNIFORM1UIPROC) (GLint, GLuint);
+typedef void (GLAPIENTRY * PFNGLUNIFORM1UIVPROC) (GLint, GLsizei, const GLuint*);
+typedef void (GLAPIENTRY * PFNGLUNIFORM2UIPROC) (GLint, GLuint, GLuint);
+typedef void (GLAPIENTRY * PFNGLUNIFORM2UIVPROC) (GLint, GLsizei, const GLuint*);
+typedef void (GLAPIENTRY * PFNGLUNIFORM3UIPROC) (GLint, GLuint, GLuint, GLuint);
+typedef void (GLAPIENTRY * PFNGLUNIFORM3UIVPROC) (GLint, GLsizei, const GLuint*);
+typedef void (GLAPIENTRY * PFNGLUNIFORM4UIPROC) (GLint, GLuint, GLuint, GLuint, GLuint);
+typedef void (GLAPIENTRY * PFNGLUNIFORM4UIVPROC) (GLint, GLsizei, const GLuint*);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1IPROC) (GLuint, GLint);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1IVPROC) (GLuint, const GLint*);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1UIPROC) (GLuint, GLuint);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1UIVPROC) (GLuint, const GLuint*);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2IPROC) (GLuint, GLint, GLint);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2IVPROC) (GLuint, const GLint*);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2UIPROC) (GLuint, GLuint, GLuint);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2UIVPROC) (GLuint, const GLuint*);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3IPROC) (GLuint, GLint, GLint, GLint);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3IVPROC) (GLuint, const GLint*);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3UIPROC) (GLuint, GLuint, GLuint, GLuint);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3UIVPROC) (GLuint, const GLuint*);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4BVPROC) (GLuint, const GLbyte*);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4IPROC) (GLuint, GLint, GLint, GLint, GLint);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4IVPROC) (GLuint, const GLint*);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4SVPROC) (GLuint, const GLshort*);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4UBVPROC) (GLuint, const GLubyte*);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4UIPROC) (GLuint, GLuint, GLuint, GLuint, GLuint);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4UIVPROC) (GLuint, const GLuint*);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4USVPROC) (GLuint, const GLushort*);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBIPOINTERPROC) (GLuint, GLint, GLenum, GLsizei, const GLvoid*);
+
+#define glBeginConditionalRender GLEW_GET_FUN(__glewBeginConditionalRender)
+#define glBeginTransformFeedback GLEW_GET_FUN(__glewBeginTransformFeedback)
+#define glBindFragDataLocation GLEW_GET_FUN(__glewBindFragDataLocation)
+#define glClampColor GLEW_GET_FUN(__glewClampColor)
+#define glClearBufferfi GLEW_GET_FUN(__glewClearBufferfi)
+#define glClearBufferfv GLEW_GET_FUN(__glewClearBufferfv)
+#define glClearBufferiv GLEW_GET_FUN(__glewClearBufferiv)
+#define glClearBufferuiv GLEW_GET_FUN(__glewClearBufferuiv)
+#define glColorMaski GLEW_GET_FUN(__glewColorMaski)
+#define glDisablei GLEW_GET_FUN(__glewDisablei)
+#define glEnablei GLEW_GET_FUN(__glewEnablei)
+#define glEndConditionalRender GLEW_GET_FUN(__glewEndConditionalRender)
+#define glEndTransformFeedback GLEW_GET_FUN(__glewEndTransformFeedback)
+#define glGetBooleani_v GLEW_GET_FUN(__glewGetBooleani_v)
+#define glGetFragDataLocation GLEW_GET_FUN(__glewGetFragDataLocation)
+#define glGetStringi GLEW_GET_FUN(__glewGetStringi)
+#define glGetTexParameterIiv GLEW_GET_FUN(__glewGetTexParameterIiv)
+#define glGetTexParameterIuiv GLEW_GET_FUN(__glewGetTexParameterIuiv)
+#define glGetTransformFeedbackVarying GLEW_GET_FUN(__glewGetTransformFeedbackVarying)
+#define glGetUniformuiv GLEW_GET_FUN(__glewGetUniformuiv)
+#define glGetVertexAttribIiv GLEW_GET_FUN(__glewGetVertexAttribIiv)
+#define glGetVertexAttribIuiv GLEW_GET_FUN(__glewGetVertexAttribIuiv)
+#define glIsEnabledi GLEW_GET_FUN(__glewIsEnabledi)
+#define glTexParameterIiv GLEW_GET_FUN(__glewTexParameterIiv)
+#define glTexParameterIuiv GLEW_GET_FUN(__glewTexParameterIuiv)
+#define glTransformFeedbackVaryings GLEW_GET_FUN(__glewTransformFeedbackVaryings)
+#define glUniform1ui GLEW_GET_FUN(__glewUniform1ui)
+#define glUniform1uiv GLEW_GET_FUN(__glewUniform1uiv)
+#define glUniform2ui GLEW_GET_FUN(__glewUniform2ui)
+#define glUniform2uiv GLEW_GET_FUN(__glewUniform2uiv)
+#define glUniform3ui GLEW_GET_FUN(__glewUniform3ui)
+#define glUniform3uiv GLEW_GET_FUN(__glewUniform3uiv)
+#define glUniform4ui GLEW_GET_FUN(__glewUniform4ui)
+#define glUniform4uiv GLEW_GET_FUN(__glewUniform4uiv)
+#define glVertexAttribI1i GLEW_GET_FUN(__glewVertexAttribI1i)
+#define glVertexAttribI1iv GLEW_GET_FUN(__glewVertexAttribI1iv)
+#define glVertexAttribI1ui GLEW_GET_FUN(__glewVertexAttribI1ui)
+#define glVertexAttribI1uiv GLEW_GET_FUN(__glewVertexAttribI1uiv)
+#define glVertexAttribI2i GLEW_GET_FUN(__glewVertexAttribI2i)
+#define glVertexAttribI2iv GLEW_GET_FUN(__glewVertexAttribI2iv)
+#define glVertexAttribI2ui GLEW_GET_FUN(__glewVertexAttribI2ui)
+#define glVertexAttribI2uiv GLEW_GET_FUN(__glewVertexAttribI2uiv)
+#define glVertexAttribI3i GLEW_GET_FUN(__glewVertexAttribI3i)
+#define glVertexAttribI3iv GLEW_GET_FUN(__glewVertexAttribI3iv)
+#define glVertexAttribI3ui GLEW_GET_FUN(__glewVertexAttribI3ui)
+#define glVertexAttribI3uiv GLEW_GET_FUN(__glewVertexAttribI3uiv)
+#define glVertexAttribI4bv GLEW_GET_FUN(__glewVertexAttribI4bv)
+#define glVertexAttribI4i GLEW_GET_FUN(__glewVertexAttribI4i)
+#define glVertexAttribI4iv GLEW_GET_FUN(__glewVertexAttribI4iv)
+#define glVertexAttribI4sv GLEW_GET_FUN(__glewVertexAttribI4sv)
+#define glVertexAttribI4ubv GLEW_GET_FUN(__glewVertexAttribI4ubv)
+#define glVertexAttribI4ui GLEW_GET_FUN(__glewVertexAttribI4ui)
+#define glVertexAttribI4uiv GLEW_GET_FUN(__glewVertexAttribI4uiv)
+#define glVertexAttribI4usv GLEW_GET_FUN(__glewVertexAttribI4usv)
+#define glVertexAttribIPointer GLEW_GET_FUN(__glewVertexAttribIPointer)
+
+#define GLEW_VERSION_3_0 GLEW_GET_VAR(__GLEW_VERSION_3_0)
+
+#endif /* GL_VERSION_3_0 */
+
+/* ----------------------------- GL_VERSION_3_1 ---------------------------- */
+
+#ifndef GL_VERSION_3_1
+#define GL_VERSION_3_1 1
+
+#define GL_TEXTURE_RECTANGLE 0x84F5
+#define GL_TEXTURE_BINDING_RECTANGLE 0x84F6
+#define GL_PROXY_TEXTURE_RECTANGLE 0x84F7
+#define GL_MAX_RECTANGLE_TEXTURE_SIZE 0x84F8
+#define GL_SAMPLER_2D_RECT 0x8B63
+#define GL_SAMPLER_2D_RECT_SHADOW 0x8B64
+#define GL_TEXTURE_BUFFER 0x8C2A
+#define GL_MAX_TEXTURE_BUFFER_SIZE 0x8C2B
+#define GL_TEXTURE_BINDING_BUFFER 0x8C2C
+#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING 0x8C2D
+#define GL_TEXTURE_BUFFER_FORMAT 0x8C2E
+#define GL_SAMPLER_BUFFER 0x8DC2
+#define GL_INT_SAMPLER_2D_RECT 0x8DCD
+#define GL_INT_SAMPLER_BUFFER 0x8DD0
+#define GL_UNSIGNED_INT_SAMPLER_2D_RECT 0x8DD5
+#define GL_UNSIGNED_INT_SAMPLER_BUFFER 0x8DD8
+#define GL_RED_SNORM 0x8F90
+#define GL_RG_SNORM 0x8F91
+#define GL_RGB_SNORM 0x8F92
+#define GL_RGBA_SNORM 0x8F93
+#define GL_R8_SNORM 0x8F94
+#define GL_RG8_SNORM 0x8F95
+#define GL_RGB8_SNORM 0x8F96
+#define GL_RGBA8_SNORM 0x8F97
+#define GL_R16_SNORM 0x8F98
+#define GL_RG16_SNORM 0x8F99
+#define GL_RGB16_SNORM 0x8F9A
+#define GL_RGBA16_SNORM 0x8F9B
+#define GL_SIGNED_NORMALIZED 0x8F9C
+#define GL_PRIMITIVE_RESTART 0x8F9D
+#define GL_PRIMITIVE_RESTART_INDEX 0x8F9E
+#define GL_BUFFER_ACCESS_FLAGS 0x911F
+#define GL_BUFFER_MAP_LENGTH 0x9120
+#define GL_BUFFER_MAP_OFFSET 0x9121
+
+typedef void (GLAPIENTRY * PFNGLDRAWARRAYSINSTANCEDPROC) (GLenum, GLint, GLsizei, GLsizei);
+typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINSTANCEDPROC) (GLenum, GLsizei, GLenum, const GLvoid*, GLsizei);
+typedef void (GLAPIENTRY * PFNGLPRIMITIVERESTARTINDEXPROC) (GLuint);
+typedef void (GLAPIENTRY * PFNGLTEXBUFFERPROC) (GLenum, GLenum, GLuint);
+
+#define glDrawArraysInstanced GLEW_GET_FUN(__glewDrawArraysInstanced)
+#define glDrawElementsInstanced GLEW_GET_FUN(__glewDrawElementsInstanced)
+#define glPrimitiveRestartIndex GLEW_GET_FUN(__glewPrimitiveRestartIndex)
+#define glTexBuffer GLEW_GET_FUN(__glewTexBuffer)
+
+#define GLEW_VERSION_3_1 GLEW_GET_VAR(__GLEW_VERSION_3_1)
+
+#endif /* GL_VERSION_3_1 */
+
+/* ----------------------------- GL_VERSION_3_2 ---------------------------- */
+
+#ifndef GL_VERSION_3_2
+#define GL_VERSION_3_2 1
+
+#define GL_CONTEXT_CORE_PROFILE_BIT 0x00000001
+#define GL_CONTEXT_COMPATIBILITY_PROFILE_BIT 0x00000002
+#define GL_LINES_ADJACENCY 0x000A
+#define GL_LINE_STRIP_ADJACENCY 0x000B
+#define GL_TRIANGLES_ADJACENCY 0x000C
+#define GL_TRIANGLE_STRIP_ADJACENCY 0x000D
+#define GL_PROGRAM_POINT_SIZE 0x8642
+#define GL_GEOMETRY_VERTICES_OUT 0x8916
+#define GL_GEOMETRY_INPUT_TYPE 0x8917
+#define GL_GEOMETRY_OUTPUT_TYPE 0x8918
+#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS 0x8C29
+#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED 0x8DA7
+#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS 0x8DA8
+#define GL_GEOMETRY_SHADER 0x8DD9
+#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS 0x8DDF
+#define GL_MAX_GEOMETRY_OUTPUT_VERTICES 0x8DE0
+#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS 0x8DE1
+#define GL_MAX_VERTEX_OUTPUT_COMPONENTS 0x9122
+#define GL_MAX_GEOMETRY_INPUT_COMPONENTS 0x9123
+#define GL_MAX_GEOMETRY_OUTPUT_COMPONENTS 0x9124
+#define GL_MAX_FRAGMENT_INPUT_COMPONENTS 0x9125
+#define GL_CONTEXT_PROFILE_MASK 0x9126
+
+typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTUREPROC) (GLenum, GLenum, GLuint, GLint);
+typedef void (GLAPIENTRY * PFNGLGETBUFFERPARAMETERI64VPROC) (GLenum, GLenum, GLint64 *);
+typedef void (GLAPIENTRY * PFNGLGETINTEGER64I_VPROC) (GLenum, GLuint, GLint64 *);
+
+#define glFramebufferTexture GLEW_GET_FUN(__glewFramebufferTexture)
+#define glGetBufferParameteri64v GLEW_GET_FUN(__glewGetBufferParameteri64v)
+#define glGetInteger64i_v GLEW_GET_FUN(__glewGetInteger64i_v)
+
+#define GLEW_VERSION_3_2 GLEW_GET_VAR(__GLEW_VERSION_3_2)
+
+#endif /* GL_VERSION_3_2 */
+
+/* ----------------------------- GL_VERSION_3_3 ---------------------------- */
+
+#ifndef GL_VERSION_3_3
+#define GL_VERSION_3_3 1
+
+#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR 0x88FE
+#define GL_ANY_SAMPLES_PASSED 0x8C2F
+#define GL_TEXTURE_SWIZZLE_R 0x8E42
+#define GL_TEXTURE_SWIZZLE_G 0x8E43
+#define GL_TEXTURE_SWIZZLE_B 0x8E44
+#define GL_TEXTURE_SWIZZLE_A 0x8E45
+#define GL_TEXTURE_SWIZZLE_RGBA 0x8E46
+#define GL_RGB10_A2UI 0x906F
+
+#define GLEW_VERSION_3_3 GLEW_GET_VAR(__GLEW_VERSION_3_3)
+
+#endif /* GL_VERSION_3_3 */
+
+/* ----------------------------- GL_VERSION_4_0 ---------------------------- */
+
+#ifndef GL_VERSION_4_0
+#define GL_VERSION_4_0 1
+
+#define GL_GEOMETRY_SHADER_INVOCATIONS 0x887F
+#define GL_SAMPLE_SHADING 0x8C36
+#define GL_MIN_SAMPLE_SHADING_VALUE 0x8C37
+#define GL_MAX_GEOMETRY_SHADER_INVOCATIONS 0x8E5A
+#define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET 0x8E5B
+#define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET 0x8E5C
+#define GL_FRAGMENT_INTERPOLATION_OFFSET_BITS 0x8E5D
+#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5E
+#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5F
+#define GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS 0x8F9F
+#define GL_TEXTURE_CUBE_MAP_ARRAY 0x9009
+#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY 0x900A
+#define GL_PROXY_TEXTURE_CUBE_MAP_ARRAY 0x900B
+#define GL_SAMPLER_CUBE_MAP_ARRAY 0x900C
+#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW 0x900D
+#define GL_INT_SAMPLER_CUBE_MAP_ARRAY 0x900E
+#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY 0x900F
+
+typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONSEPARATEIPROC) (GLuint buf, GLenum modeRGB, GLenum modeAlpha);
+typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONIPROC) (GLuint buf, GLenum mode);
+typedef void (GLAPIENTRY * PFNGLBLENDFUNCSEPARATEIPROC) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
+typedef void (GLAPIENTRY * PFNGLBLENDFUNCIPROC) (GLuint buf, GLenum src, GLenum dst);
+typedef void (GLAPIENTRY * PFNGLMINSAMPLESHADINGPROC) (GLclampf value);
+
+#define glBlendEquationSeparatei GLEW_GET_FUN(__glewBlendEquationSeparatei)
+#define glBlendEquationi GLEW_GET_FUN(__glewBlendEquationi)
+#define glBlendFuncSeparatei GLEW_GET_FUN(__glewBlendFuncSeparatei)
+#define glBlendFunci GLEW_GET_FUN(__glewBlendFunci)
+#define glMinSampleShading GLEW_GET_FUN(__glewMinSampleShading)
+
+#define GLEW_VERSION_4_0 GLEW_GET_VAR(__GLEW_VERSION_4_0)
+
+#endif /* GL_VERSION_4_0 */
+
+/* -------------------------- GL_3DFX_multisample -------------------------- */
+
+#ifndef GL_3DFX_multisample
+#define GL_3DFX_multisample 1
+
+#define GL_MULTISAMPLE_3DFX 0x86B2
+#define GL_SAMPLE_BUFFERS_3DFX 0x86B3
+#define GL_SAMPLES_3DFX 0x86B4
+#define GL_MULTISAMPLE_BIT_3DFX 0x20000000
+
+#define GLEW_3DFX_multisample GLEW_GET_VAR(__GLEW_3DFX_multisample)
+
+#endif /* GL_3DFX_multisample */
+
+/* ---------------------------- GL_3DFX_tbuffer ---------------------------- */
+
+#ifndef GL_3DFX_tbuffer
+#define GL_3DFX_tbuffer 1
+
+typedef void (GLAPIENTRY * PFNGLTBUFFERMASK3DFXPROC) (GLuint mask);
+
+#define glTbufferMask3DFX GLEW_GET_FUN(__glewTbufferMask3DFX)
+
+#define GLEW_3DFX_tbuffer GLEW_GET_VAR(__GLEW_3DFX_tbuffer)
+
+#endif /* GL_3DFX_tbuffer */
+
+/* -------------------- GL_3DFX_texture_compression_FXT1 ------------------- */
+
+#ifndef GL_3DFX_texture_compression_FXT1
+#define GL_3DFX_texture_compression_FXT1 1
+
+#define GL_COMPRESSED_RGB_FXT1_3DFX 0x86B0
+#define GL_COMPRESSED_RGBA_FXT1_3DFX 0x86B1
+
+#define GLEW_3DFX_texture_compression_FXT1 GLEW_GET_VAR(__GLEW_3DFX_texture_compression_FXT1)
+
+#endif /* GL_3DFX_texture_compression_FXT1 */
+
+/* ----------------------- GL_AMD_conservative_depth ----------------------- */
+
+#ifndef GL_AMD_conservative_depth
+#define GL_AMD_conservative_depth 1
+
+#define GLEW_AMD_conservative_depth GLEW_GET_VAR(__GLEW_AMD_conservative_depth)
+
+#endif /* GL_AMD_conservative_depth */
+
+/* ----------------------- GL_AMD_draw_buffers_blend ----------------------- */
+
+#ifndef GL_AMD_draw_buffers_blend
+#define GL_AMD_draw_buffers_blend 1
+
+typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONINDEXEDAMDPROC) (GLuint buf, GLenum mode);
+typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONSEPARATEINDEXEDAMDPROC) (GLuint buf, GLenum modeRGB, GLenum modeAlpha);
+typedef void (GLAPIENTRY * PFNGLBLENDFUNCINDEXEDAMDPROC) (GLuint buf, GLenum src, GLenum dst);
+typedef void (GLAPIENTRY * PFNGLBLENDFUNCSEPARATEINDEXEDAMDPROC) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
+
+#define glBlendEquationIndexedAMD GLEW_GET_FUN(__glewBlendEquationIndexedAMD)
+#define glBlendEquationSeparateIndexedAMD GLEW_GET_FUN(__glewBlendEquationSeparateIndexedAMD)
+#define glBlendFuncIndexedAMD GLEW_GET_FUN(__glewBlendFuncIndexedAMD)
+#define glBlendFuncSeparateIndexedAMD GLEW_GET_FUN(__glewBlendFuncSeparateIndexedAMD)
+
+#define GLEW_AMD_draw_buffers_blend GLEW_GET_VAR(__GLEW_AMD_draw_buffers_blend)
+
+#endif /* GL_AMD_draw_buffers_blend */
+
+/* ----------------------- GL_AMD_performance_monitor ---------------------- */
+
+#ifndef GL_AMD_performance_monitor
+#define GL_AMD_performance_monitor 1
+
+#define GL_UNSIGNED_INT 0x1405
+#define GL_FLOAT 0x1406
+#define GL_COUNTER_TYPE_AMD 0x8BC0
+#define GL_COUNTER_RANGE_AMD 0x8BC1
+#define GL_UNSIGNED_INT64_AMD 0x8BC2
+#define GL_PERCENTAGE_AMD 0x8BC3
+#define GL_PERFMON_RESULT_AVAILABLE_AMD 0x8BC4
+#define GL_PERFMON_RESULT_SIZE_AMD 0x8BC5
+#define GL_PERFMON_RESULT_AMD 0x8BC6
+
+typedef void (GLAPIENTRY * PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor);
+typedef void (GLAPIENTRY * PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint* monitors);
+typedef void (GLAPIENTRY * PFNGLENDPERFMONITORAMDPROC) (GLuint monitor);
+typedef void (GLAPIENTRY * PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint* monitors);
+typedef void (GLAPIENTRY * PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint* data, GLint *bytesWritten);
+typedef void (GLAPIENTRY * PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, void* data);
+typedef void (GLAPIENTRY * PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei* length, char *counterString);
+typedef void (GLAPIENTRY * PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint* numCounters, GLint *maxActiveCounters, GLsizei countersSize, GLuint *counters);
+typedef void (GLAPIENTRY * PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei* length, char *groupString);
+typedef void (GLAPIENTRY * PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint* numGroups, GLsizei groupsSize, GLuint *groups);
+typedef void (GLAPIENTRY * PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint* counterList);
+
+#define glBeginPerfMonitorAMD GLEW_GET_FUN(__glewBeginPerfMonitorAMD)
+#define glDeletePerfMonitorsAMD GLEW_GET_FUN(__glewDeletePerfMonitorsAMD)
+#define glEndPerfMonitorAMD GLEW_GET_FUN(__glewEndPerfMonitorAMD)
+#define glGenPerfMonitorsAMD GLEW_GET_FUN(__glewGenPerfMonitorsAMD)
+#define glGetPerfMonitorCounterDataAMD GLEW_GET_FUN(__glewGetPerfMonitorCounterDataAMD)
+#define glGetPerfMonitorCounterInfoAMD GLEW_GET_FUN(__glewGetPerfMonitorCounterInfoAMD)
+#define glGetPerfMonitorCounterStringAMD GLEW_GET_FUN(__glewGetPerfMonitorCounterStringAMD)
+#define glGetPerfMonitorCountersAMD GLEW_GET_FUN(__glewGetPerfMonitorCountersAMD)
+#define glGetPerfMonitorGroupStringAMD GLEW_GET_FUN(__glewGetPerfMonitorGroupStringAMD)
+#define glGetPerfMonitorGroupsAMD GLEW_GET_FUN(__glewGetPerfMonitorGroupsAMD)
+#define glSelectPerfMonitorCountersAMD GLEW_GET_FUN(__glewSelectPerfMonitorCountersAMD)
+
+#define GLEW_AMD_performance_monitor GLEW_GET_VAR(__GLEW_AMD_performance_monitor)
+
+#endif /* GL_AMD_performance_monitor */
+
+/* ------------------ GL_AMD_seamless_cubemap_per_texture ------------------ */
+
+#ifndef GL_AMD_seamless_cubemap_per_texture
+#define GL_AMD_seamless_cubemap_per_texture 1
+
+#define GL_TEXTURE_CUBE_MAP_SEAMLESS_ARB 0x884F
+
+#define GLEW_AMD_seamless_cubemap_per_texture GLEW_GET_VAR(__GLEW_AMD_seamless_cubemap_per_texture)
+
+#endif /* GL_AMD_seamless_cubemap_per_texture */
+
+/* ---------------------- GL_AMD_shader_stencil_export --------------------- */
+
+#ifndef GL_AMD_shader_stencil_export
+#define GL_AMD_shader_stencil_export 1
+
+#define GLEW_AMD_shader_stencil_export GLEW_GET_VAR(__GLEW_AMD_shader_stencil_export)
+
+#endif /* GL_AMD_shader_stencil_export */
+
+/* ------------------------ GL_AMD_texture_texture4 ------------------------ */
+
+#ifndef GL_AMD_texture_texture4
+#define GL_AMD_texture_texture4 1
+
+#define GLEW_AMD_texture_texture4 GLEW_GET_VAR(__GLEW_AMD_texture_texture4)
+
+#endif /* GL_AMD_texture_texture4 */
+
+/* -------------------- GL_AMD_vertex_shader_tessellator ------------------- */
+
+#ifndef GL_AMD_vertex_shader_tessellator
+#define GL_AMD_vertex_shader_tessellator 1
+
+#define GL_SAMPLER_BUFFER_AMD 0x9001
+#define GL_INT_SAMPLER_BUFFER_AMD 0x9002
+#define GL_UNSIGNED_INT_SAMPLER_BUFFER_AMD 0x9003
+#define GL_TESSELLATION_MODE_AMD 0x9004
+#define GL_TESSELLATION_FACTOR_AMD 0x9005
+#define GL_DISCRETE_AMD 0x9006
+#define GL_CONTINUOUS_AMD 0x9007
+
+typedef void (GLAPIENTRY * PFNGLTESSELLATIONFACTORAMDPROC) (GLfloat factor);
+typedef void (GLAPIENTRY * PFNGLTESSELLATIONMODEAMDPROC) (GLenum mode);
+
+#define glTessellationFactorAMD GLEW_GET_FUN(__glewTessellationFactorAMD)
+#define glTessellationModeAMD GLEW_GET_FUN(__glewTessellationModeAMD)
+
+#define GLEW_AMD_vertex_shader_tessellator GLEW_GET_VAR(__GLEW_AMD_vertex_shader_tessellator)
+
+#endif /* GL_AMD_vertex_shader_tessellator */
+
+/* ----------------------- GL_APPLE_aux_depth_stencil ---------------------- */
+
+#ifndef GL_APPLE_aux_depth_stencil
+#define GL_APPLE_aux_depth_stencil 1
+
+#define GL_AUX_DEPTH_STENCIL_APPLE 0x8A14
+
+#define GLEW_APPLE_aux_depth_stencil GLEW_GET_VAR(__GLEW_APPLE_aux_depth_stencil)
+
+#endif /* GL_APPLE_aux_depth_stencil */
+
+/* ------------------------ GL_APPLE_client_storage ------------------------ */
+
+#ifndef GL_APPLE_client_storage
+#define GL_APPLE_client_storage 1
+
+#define GL_UNPACK_CLIENT_STORAGE_APPLE 0x85B2
+
+#define GLEW_APPLE_client_storage GLEW_GET_VAR(__GLEW_APPLE_client_storage)
+
+#endif /* GL_APPLE_client_storage */
+
+/* ------------------------- GL_APPLE_element_array ------------------------ */
+
+#ifndef GL_APPLE_element_array
+#define GL_APPLE_element_array 1
+
+#define GL_ELEMENT_ARRAY_APPLE 0x8A0C
+#define GL_ELEMENT_ARRAY_TYPE_APPLE 0x8A0D
+#define GL_ELEMENT_ARRAY_POINTER_APPLE 0x8A0E
+
+typedef void (GLAPIENTRY * PFNGLDRAWELEMENTARRAYAPPLEPROC) (GLenum mode, GLint first, GLsizei count);
+typedef void (GLAPIENTRY * PFNGLDRAWRANGEELEMENTARRAYAPPLEPROC) (GLenum mode, GLuint start, GLuint end, GLint first, GLsizei count);
+typedef void (GLAPIENTRY * PFNGLELEMENTPOINTERAPPLEPROC) (GLenum type, const void* pointer);
+typedef void (GLAPIENTRY * PFNGLMULTIDRAWELEMENTARRAYAPPLEPROC) (GLenum mode, const GLint* first, const GLsizei *count, GLsizei primcount);
+typedef void (GLAPIENTRY * PFNGLMULTIDRAWRANGEELEMENTARRAYAPPLEPROC) (GLenum mode, GLuint start, GLuint end, const GLint* first, const GLsizei *count, GLsizei primcount);
+
+#define glDrawElementArrayAPPLE GLEW_GET_FUN(__glewDrawElementArrayAPPLE)
+#define glDrawRangeElementArrayAPPLE GLEW_GET_FUN(__glewDrawRangeElementArrayAPPLE)
+#define glElementPointerAPPLE GLEW_GET_FUN(__glewElementPointerAPPLE)
+#define glMultiDrawElementArrayAPPLE GLEW_GET_FUN(__glewMultiDrawElementArrayAPPLE)
+#define glMultiDrawRangeElementArrayAPPLE GLEW_GET_FUN(__glewMultiDrawRangeElementArrayAPPLE)
+
+#define GLEW_APPLE_element_array GLEW_GET_VAR(__GLEW_APPLE_element_array)
+
+#endif /* GL_APPLE_element_array */
+
+/* ----------------------------- GL_APPLE_fence ---------------------------- */
+
+#ifndef GL_APPLE_fence
+#define GL_APPLE_fence 1
+
+#define GL_DRAW_PIXELS_APPLE 0x8A0A
+#define GL_FENCE_APPLE 0x8A0B
+
+typedef void (GLAPIENTRY * PFNGLDELETEFENCESAPPLEPROC) (GLsizei n, const GLuint* fences);
+typedef void (GLAPIENTRY * PFNGLFINISHFENCEAPPLEPROC) (GLuint fence);
+typedef void (GLAPIENTRY * PFNGLFINISHOBJECTAPPLEPROC) (GLenum object, GLint name);
+typedef void (GLAPIENTRY * PFNGLGENFENCESAPPLEPROC) (GLsizei n, GLuint* fences);
+typedef GLboolean (GLAPIENTRY * PFNGLISFENCEAPPLEPROC) (GLuint fence);
+typedef void (GLAPIENTRY * PFNGLSETFENCEAPPLEPROC) (GLuint fence);
+typedef GLboolean (GLAPIENTRY * PFNGLTESTFENCEAPPLEPROC) (GLuint fence);
+typedef GLboolean (GLAPIENTRY * PFNGLTESTOBJECTAPPLEPROC) (GLenum object, GLuint name);
+
+#define glDeleteFencesAPPLE GLEW_GET_FUN(__glewDeleteFencesAPPLE)
+#define glFinishFenceAPPLE GLEW_GET_FUN(__glewFinishFenceAPPLE)
+#define glFinishObjectAPPLE GLEW_GET_FUN(__glewFinishObjectAPPLE)
+#define glGenFencesAPPLE GLEW_GET_FUN(__glewGenFencesAPPLE)
+#define glIsFenceAPPLE GLEW_GET_FUN(__glewIsFenceAPPLE)
+#define glSetFenceAPPLE GLEW_GET_FUN(__glewSetFenceAPPLE)
+#define glTestFenceAPPLE GLEW_GET_FUN(__glewTestFenceAPPLE)
+#define glTestObjectAPPLE GLEW_GET_FUN(__glewTestObjectAPPLE)
+
+#define GLEW_APPLE_fence GLEW_GET_VAR(__GLEW_APPLE_fence)
+
+#endif /* GL_APPLE_fence */
+
+/* ------------------------- GL_APPLE_float_pixels ------------------------- */
+
+#ifndef GL_APPLE_float_pixels
+#define GL_APPLE_float_pixels 1
+
+#define GL_HALF_APPLE 0x140B
+#define GL_RGBA_FLOAT32_APPLE 0x8814
+#define GL_RGB_FLOAT32_APPLE 0x8815
+#define GL_ALPHA_FLOAT32_APPLE 0x8816
+#define GL_INTENSITY_FLOAT32_APPLE 0x8817
+#define GL_LUMINANCE_FLOAT32_APPLE 0x8818
+#define GL_LUMINANCE_ALPHA_FLOAT32_APPLE 0x8819
+#define GL_RGBA_FLOAT16_APPLE 0x881A
+#define GL_RGB_FLOAT16_APPLE 0x881B
+#define GL_ALPHA_FLOAT16_APPLE 0x881C
+#define GL_INTENSITY_FLOAT16_APPLE 0x881D
+#define GL_LUMINANCE_FLOAT16_APPLE 0x881E
+#define GL_LUMINANCE_ALPHA_FLOAT16_APPLE 0x881F
+#define GL_COLOR_FLOAT_APPLE 0x8A0F
+
+#define GLEW_APPLE_float_pixels GLEW_GET_VAR(__GLEW_APPLE_float_pixels)
+
+#endif /* GL_APPLE_float_pixels */
+
+/* ---------------------- GL_APPLE_flush_buffer_range ---------------------- */
+
+#ifndef GL_APPLE_flush_buffer_range
+#define GL_APPLE_flush_buffer_range 1
+
+#define GL_BUFFER_SERIALIZED_MODIFY_APPLE 0x8A12
+#define GL_BUFFER_FLUSHING_UNMAP_APPLE 0x8A13
+
+typedef void (GLAPIENTRY * PFNGLBUFFERPARAMETERIAPPLEPROC) (GLenum target, GLenum pname, GLint param);
+typedef void (GLAPIENTRY * PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC) (GLenum target, GLintptr offset, GLsizeiptr size);
+
+#define glBufferParameteriAPPLE GLEW_GET_FUN(__glewBufferParameteriAPPLE)
+#define glFlushMappedBufferRangeAPPLE GLEW_GET_FUN(__glewFlushMappedBufferRangeAPPLE)
+
+#define GLEW_APPLE_flush_buffer_range GLEW_GET_VAR(__GLEW_APPLE_flush_buffer_range)
+
+#endif /* GL_APPLE_flush_buffer_range */
+
+/* ----------------------- GL_APPLE_object_purgeable ----------------------- */
+
+#ifndef GL_APPLE_object_purgeable
+#define GL_APPLE_object_purgeable 1
+
+#define GL_BUFFER_OBJECT_APPLE 0x85B3
+#define GL_RELEASED_APPLE 0x8A19
+#define GL_VOLATILE_APPLE 0x8A1A
+#define GL_RETAINED_APPLE 0x8A1B
+#define GL_UNDEFINED_APPLE 0x8A1C
+#define GL_PURGEABLE_APPLE 0x8A1D
+
+typedef void (GLAPIENTRY * PFNGLGETOBJECTPARAMETERIVAPPLEPROC) (GLenum objectType, GLuint name, GLenum pname, GLint* params);
+typedef GLenum (GLAPIENTRY * PFNGLOBJECTPURGEABLEAPPLEPROC) (GLenum objectType, GLuint name, GLenum option);
+typedef GLenum (GLAPIENTRY * PFNGLOBJECTUNPURGEABLEAPPLEPROC) (GLenum objectType, GLuint name, GLenum option);
+
+#define glGetObjectParameterivAPPLE GLEW_GET_FUN(__glewGetObjectParameterivAPPLE)
+#define glObjectPurgeableAPPLE GLEW_GET_FUN(__glewObjectPurgeableAPPLE)
+#define glObjectUnpurgeableAPPLE GLEW_GET_FUN(__glewObjectUnpurgeableAPPLE)
+
+#define GLEW_APPLE_object_purgeable GLEW_GET_VAR(__GLEW_APPLE_object_purgeable)
+
+#endif /* GL_APPLE_object_purgeable */
+
+/* ------------------------- GL_APPLE_pixel_buffer ------------------------- */
+
+#ifndef GL_APPLE_pixel_buffer
+#define GL_APPLE_pixel_buffer 1
+
+#define GL_MIN_PBUFFER_VIEWPORT_DIMS_APPLE 0x8A10
+
+#define GLEW_APPLE_pixel_buffer GLEW_GET_VAR(__GLEW_APPLE_pixel_buffer)
+
+#endif /* GL_APPLE_pixel_buffer */
+
+/* ---------------------------- GL_APPLE_rgb_422 --------------------------- */
+
+#ifndef GL_APPLE_rgb_422
+#define GL_APPLE_rgb_422 1
+
+#define GL_UNSIGNED_SHORT_8_8_APPLE 0x85BA
+#define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85BB
+#define GL_RGB_422_APPLE 0x8A1F
+
+#define GLEW_APPLE_rgb_422 GLEW_GET_VAR(__GLEW_APPLE_rgb_422)
+
+#endif /* GL_APPLE_rgb_422 */
+
+/* --------------------------- GL_APPLE_row_bytes -------------------------- */
+
+#ifndef GL_APPLE_row_bytes
+#define GL_APPLE_row_bytes 1
+
+#define GL_PACK_ROW_BYTES_APPLE 0x8A15
+#define GL_UNPACK_ROW_BYTES_APPLE 0x8A16
+
+#define GLEW_APPLE_row_bytes GLEW_GET_VAR(__GLEW_APPLE_row_bytes)
+
+#endif /* GL_APPLE_row_bytes */
+
+/* ------------------------ GL_APPLE_specular_vector ----------------------- */
+
+#ifndef GL_APPLE_specular_vector
+#define GL_APPLE_specular_vector 1
+
+#define GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE 0x85B0
+
+#define GLEW_APPLE_specular_vector GLEW_GET_VAR(__GLEW_APPLE_specular_vector)
+
+#endif /* GL_APPLE_specular_vector */
+
+/* ------------------------- GL_APPLE_texture_range ------------------------ */
+
+#ifndef GL_APPLE_texture_range
+#define GL_APPLE_texture_range 1
+
+#define GL_TEXTURE_RANGE_LENGTH_APPLE 0x85B7
+#define GL_TEXTURE_RANGE_POINTER_APPLE 0x85B8
+#define GL_TEXTURE_STORAGE_HINT_APPLE 0x85BC
+#define GL_STORAGE_PRIVATE_APPLE 0x85BD
+#define GL_STORAGE_CACHED_APPLE 0x85BE
+#define GL_STORAGE_SHARED_APPLE 0x85BF
+
+typedef void (GLAPIENTRY * PFNGLGETTEXPARAMETERPOINTERVAPPLEPROC) (GLenum target, GLenum pname, GLvoid **params);
+typedef void (GLAPIENTRY * PFNGLTEXTURERANGEAPPLEPROC) (GLenum target, GLsizei length, GLvoid *pointer);
+
+#define glGetTexParameterPointervAPPLE GLEW_GET_FUN(__glewGetTexParameterPointervAPPLE)
+#define glTextureRangeAPPLE GLEW_GET_FUN(__glewTextureRangeAPPLE)
+
+#define GLEW_APPLE_texture_range GLEW_GET_VAR(__GLEW_APPLE_texture_range)
+
+#endif /* GL_APPLE_texture_range */
+
+/* ------------------------ GL_APPLE_transform_hint ------------------------ */
+
+#ifndef GL_APPLE_transform_hint
+#define GL_APPLE_transform_hint 1
+
+#define GL_TRANSFORM_HINT_APPLE 0x85B1
+
+#define GLEW_APPLE_transform_hint GLEW_GET_VAR(__GLEW_APPLE_transform_hint)
+
+#endif /* GL_APPLE_transform_hint */
+
+/* ---------------------- GL_APPLE_vertex_array_object --------------------- */
+
+#ifndef GL_APPLE_vertex_array_object
+#define GL_APPLE_vertex_array_object 1
+
+#define GL_VERTEX_ARRAY_BINDING_APPLE 0x85B5
+
+typedef void (GLAPIENTRY * PFNGLBINDVERTEXARRAYAPPLEPROC) (GLuint array);
+typedef void (GLAPIENTRY * PFNGLDELETEVERTEXARRAYSAPPLEPROC) (GLsizei n, const GLuint* arrays);
+typedef void (GLAPIENTRY * PFNGLGENVERTEXARRAYSAPPLEPROC) (GLsizei n, const GLuint* arrays);
+typedef GLboolean (GLAPIENTRY * PFNGLISVERTEXARRAYAPPLEPROC) (GLuint array);
+
+#define glBindVertexArrayAPPLE GLEW_GET_FUN(__glewBindVertexArrayAPPLE)
+#define glDeleteVertexArraysAPPLE GLEW_GET_FUN(__glewDeleteVertexArraysAPPLE)
+#define glGenVertexArraysAPPLE GLEW_GET_FUN(__glewGenVertexArraysAPPLE)
+#define glIsVertexArrayAPPLE GLEW_GET_FUN(__glewIsVertexArrayAPPLE)
+
+#define GLEW_APPLE_vertex_array_object GLEW_GET_VAR(__GLEW_APPLE_vertex_array_object)
+
+#endif /* GL_APPLE_vertex_array_object */
+
+/* ---------------------- GL_APPLE_vertex_array_range ---------------------- */
+
+#ifndef GL_APPLE_vertex_array_range
+#define GL_APPLE_vertex_array_range 1
+
+#define GL_VERTEX_ARRAY_RANGE_APPLE 0x851D
+#define GL_VERTEX_ARRAY_RANGE_LENGTH_APPLE 0x851E
+#define GL_VERTEX_ARRAY_STORAGE_HINT_APPLE 0x851F
+#define GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_APPLE 0x8520
+#define GL_VERTEX_ARRAY_RANGE_POINTER_APPLE 0x8521
+#define GL_STORAGE_CLIENT_APPLE 0x85B4
+#define GL_STORAGE_CACHED_APPLE 0x85BE
+#define GL_STORAGE_SHARED_APPLE 0x85BF
+
+typedef void (GLAPIENTRY * PFNGLFLUSHVERTEXARRAYRANGEAPPLEPROC) (GLsizei length, void* pointer);
+typedef void (GLAPIENTRY * PFNGLVERTEXARRAYPARAMETERIAPPLEPROC) (GLenum pname, GLint param);
+typedef void (GLAPIENTRY * PFNGLVERTEXARRAYRANGEAPPLEPROC) (GLsizei length, void* pointer);
+
+#define glFlushVertexArrayRangeAPPLE GLEW_GET_FUN(__glewFlushVertexArrayRangeAPPLE)
+#define glVertexArrayParameteriAPPLE GLEW_GET_FUN(__glewVertexArrayParameteriAPPLE)
+#define glVertexArrayRangeAPPLE GLEW_GET_FUN(__glewVertexArrayRangeAPPLE)
+
+#define GLEW_APPLE_vertex_array_range GLEW_GET_VAR(__GLEW_APPLE_vertex_array_range)
+
+#endif /* GL_APPLE_vertex_array_range */
+
+/* ------------------- GL_APPLE_vertex_program_evaluators ------------------ */
+
+#ifndef GL_APPLE_vertex_program_evaluators
+#define GL_APPLE_vertex_program_evaluators 1
+
+#define GL_VERTEX_ATTRIB_MAP1_APPLE 0x8A00
+#define GL_VERTEX_ATTRIB_MAP2_APPLE 0x8A01
+#define GL_VERTEX_ATTRIB_MAP1_SIZE_APPLE 0x8A02
+#define GL_VERTEX_ATTRIB_MAP1_COEFF_APPLE 0x8A03
+#define GL_VERTEX_ATTRIB_MAP1_ORDER_APPLE 0x8A04
+#define GL_VERTEX_ATTRIB_MAP1_DOMAIN_APPLE 0x8A05
+#define GL_VERTEX_ATTRIB_MAP2_SIZE_APPLE 0x8A06
+#define GL_VERTEX_ATTRIB_MAP2_COEFF_APPLE 0x8A07
+#define GL_VERTEX_ATTRIB_MAP2_ORDER_APPLE 0x8A08
+#define GL_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE 0x8A09
+
+typedef void (GLAPIENTRY * PFNGLDISABLEVERTEXATTRIBAPPLEPROC) (GLuint index, GLenum pname);
+typedef void (GLAPIENTRY * PFNGLENABLEVERTEXATTRIBAPPLEPROC) (GLuint index, GLenum pname);
+typedef GLboolean (GLAPIENTRY * PFNGLISVERTEXATTRIBENABLEDAPPLEPROC) (GLuint index, GLenum pname);
+typedef void (GLAPIENTRY * PFNGLMAPVERTEXATTRIB1DAPPLEPROC) (GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble* points);
+typedef void (GLAPIENTRY * PFNGLMAPVERTEXATTRIB1FAPPLEPROC) (GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat* points);
+typedef void (GLAPIENTRY * PFNGLMAPVERTEXATTRIB2DAPPLEPROC) (GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble* points);
+typedef void (GLAPIENTRY * PFNGLMAPVERTEXATTRIB2FAPPLEPROC) (GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat* points);
+
+#define glDisableVertexAttribAPPLE GLEW_GET_FUN(__glewDisableVertexAttribAPPLE)
+#define glEnableVertexAttribAPPLE GLEW_GET_FUN(__glewEnableVertexAttribAPPLE)
+#define glIsVertexAttribEnabledAPPLE GLEW_GET_FUN(__glewIsVertexAttribEnabledAPPLE)
+#define glMapVertexAttrib1dAPPLE GLEW_GET_FUN(__glewMapVertexAttrib1dAPPLE)
+#define glMapVertexAttrib1fAPPLE GLEW_GET_FUN(__glewMapVertexAttrib1fAPPLE)
+#define glMapVertexAttrib2dAPPLE GLEW_GET_FUN(__glewMapVertexAttrib2dAPPLE)
+#define glMapVertexAttrib2fAPPLE GLEW_GET_FUN(__glewMapVertexAttrib2fAPPLE)
+
+#define GLEW_APPLE_vertex_program_evaluators GLEW_GET_VAR(__GLEW_APPLE_vertex_program_evaluators)
+
+#endif /* GL_APPLE_vertex_program_evaluators */
+
+/* --------------------------- GL_APPLE_ycbcr_422 -------------------------- */
+
+#ifndef GL_APPLE_ycbcr_422
+#define GL_APPLE_ycbcr_422 1
+
+#define GL_YCBCR_422_APPLE 0x85B9
+#define GL_UNSIGNED_SHORT_8_8_APPLE 0x85BA
+#define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85BB
+
+#define GLEW_APPLE_ycbcr_422 GLEW_GET_VAR(__GLEW_APPLE_ycbcr_422)
+
+#endif /* GL_APPLE_ycbcr_422 */
+
+/* ----------------------- GL_ARB_blend_func_extended ---------------------- */
+
+#ifndef GL_ARB_blend_func_extended
+#define GL_ARB_blend_func_extended 1
+
+#define GL_SRC1_COLOR 0x88F9
+#define GL_ONE_MINUS_SRC1_COLOR 0x88FA
+#define GL_ONE_MINUS_SRC1_ALPHA 0x88FB
+#define GL_MAX_DUAL_SOURCE_DRAW_BUFFERS 0x88FC
+
+typedef void (GLAPIENTRY * PFNGLBINDFRAGDATALOCATIONINDEXEDPROC) (GLuint program, GLuint colorNumber, GLuint index, const char * name);
+typedef GLint (GLAPIENTRY * PFNGLGETFRAGDATAINDEXPROC) (GLuint program, const char * name);
+
+#define glBindFragDataLocationIndexed GLEW_GET_FUN(__glewBindFragDataLocationIndexed)
+#define glGetFragDataIndex GLEW_GET_FUN(__glewGetFragDataIndex)
+
+#define GLEW_ARB_blend_func_extended GLEW_GET_VAR(__GLEW_ARB_blend_func_extended)
+
+#endif /* GL_ARB_blend_func_extended */
+
+/* ----------------------- GL_ARB_color_buffer_float ----------------------- */
+
+#ifndef GL_ARB_color_buffer_float
+#define GL_ARB_color_buffer_float 1
+
+#define GL_RGBA_FLOAT_MODE_ARB 0x8820
+#define GL_CLAMP_VERTEX_COLOR_ARB 0x891A
+#define GL_CLAMP_FRAGMENT_COLOR_ARB 0x891B
+#define GL_CLAMP_READ_COLOR_ARB 0x891C
+#define GL_FIXED_ONLY_ARB 0x891D
+
+typedef void (GLAPIENTRY * PFNGLCLAMPCOLORARBPROC) (GLenum target, GLenum clamp);
+
+#define glClampColorARB GLEW_GET_FUN(__glewClampColorARB)
+
+#define GLEW_ARB_color_buffer_float GLEW_GET_VAR(__GLEW_ARB_color_buffer_float)
+
+#endif /* GL_ARB_color_buffer_float */
+
+/* -------------------------- GL_ARB_compatibility ------------------------- */
+
+#ifndef GL_ARB_compatibility
+#define GL_ARB_compatibility 1
+
+#define GLEW_ARB_compatibility GLEW_GET_VAR(__GLEW_ARB_compatibility)
+
+#endif /* GL_ARB_compatibility */
+
+/* --------------------------- GL_ARB_copy_buffer -------------------------- */
+
+#ifndef GL_ARB_copy_buffer
+#define GL_ARB_copy_buffer 1
+
+#define GL_COPY_READ_BUFFER 0x8F36
+#define GL_COPY_WRITE_BUFFER 0x8F37
+
+typedef void (GLAPIENTRY * PFNGLCOPYBUFFERSUBDATAPROC) (GLenum readtarget, GLenum writetarget, GLintptr readoffset, GLintptr writeoffset, GLsizeiptr size);
+
+#define glCopyBufferSubData GLEW_GET_FUN(__glewCopyBufferSubData)
+
+#define GLEW_ARB_copy_buffer GLEW_GET_VAR(__GLEW_ARB_copy_buffer)
+
+#endif /* GL_ARB_copy_buffer */
+
+/* ----------------------- GL_ARB_depth_buffer_float ----------------------- */
+
+#ifndef GL_ARB_depth_buffer_float
+#define GL_ARB_depth_buffer_float 1
+
+#define GL_DEPTH_COMPONENT32F 0x8CAC
+#define GL_DEPTH32F_STENCIL8 0x8CAD
+#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV 0x8DAD
+
+#define GLEW_ARB_depth_buffer_float GLEW_GET_VAR(__GLEW_ARB_depth_buffer_float)
+
+#endif /* GL_ARB_depth_buffer_float */
+
+/* --------------------------- GL_ARB_depth_clamp -------------------------- */
+
+#ifndef GL_ARB_depth_clamp
+#define GL_ARB_depth_clamp 1
+
+#define GL_DEPTH_CLAMP 0x864F
+
+#define GLEW_ARB_depth_clamp GLEW_GET_VAR(__GLEW_ARB_depth_clamp)
+
+#endif /* GL_ARB_depth_clamp */
+
+/* -------------------------- GL_ARB_depth_texture ------------------------- */
+
+#ifndef GL_ARB_depth_texture
+#define GL_ARB_depth_texture 1
+
+#define GL_DEPTH_COMPONENT16_ARB 0x81A5
+#define GL_DEPTH_COMPONENT24_ARB 0x81A6
+#define GL_DEPTH_COMPONENT32_ARB 0x81A7
+#define GL_TEXTURE_DEPTH_SIZE_ARB 0x884A
+#define GL_DEPTH_TEXTURE_MODE_ARB 0x884B
+
+#define GLEW_ARB_depth_texture GLEW_GET_VAR(__GLEW_ARB_depth_texture)
+
+#endif /* GL_ARB_depth_texture */
+
+/* -------------------------- GL_ARB_draw_buffers -------------------------- */
+
+#ifndef GL_ARB_draw_buffers
+#define GL_ARB_draw_buffers 1
+
+#define GL_MAX_DRAW_BUFFERS_ARB 0x8824
+#define GL_DRAW_BUFFER0_ARB 0x8825
+#define GL_DRAW_BUFFER1_ARB 0x8826
+#define GL_DRAW_BUFFER2_ARB 0x8827
+#define GL_DRAW_BUFFER3_ARB 0x8828
+#define GL_DRAW_BUFFER4_ARB 0x8829
+#define GL_DRAW_BUFFER5_ARB 0x882A
+#define GL_DRAW_BUFFER6_ARB 0x882B
+#define GL_DRAW_BUFFER7_ARB 0x882C
+#define GL_DRAW_BUFFER8_ARB 0x882D
+#define GL_DRAW_BUFFER9_ARB 0x882E
+#define GL_DRAW_BUFFER10_ARB 0x882F
+#define GL_DRAW_BUFFER11_ARB 0x8830
+#define GL_DRAW_BUFFER12_ARB 0x8831
+#define GL_DRAW_BUFFER13_ARB 0x8832
+#define GL_DRAW_BUFFER14_ARB 0x8833
+#define GL_DRAW_BUFFER15_ARB 0x8834
+
+typedef void (GLAPIENTRY * PFNGLDRAWBUFFERSARBPROC) (GLsizei n, const GLenum* bufs);
+
+#define glDrawBuffersARB GLEW_GET_FUN(__glewDrawBuffersARB)
+
+#define GLEW_ARB_draw_buffers GLEW_GET_VAR(__GLEW_ARB_draw_buffers)
+
+#endif /* GL_ARB_draw_buffers */
+
+/* ----------------------- GL_ARB_draw_buffers_blend ----------------------- */
+
+#ifndef GL_ARB_draw_buffers_blend
+#define GL_ARB_draw_buffers_blend 1
+
+typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONSEPARATEIARBPROC) (GLuint buf, GLenum modeRGB, GLenum modeAlpha);
+typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONIARBPROC) (GLuint buf, GLenum mode);
+typedef void (GLAPIENTRY * PFNGLBLENDFUNCSEPARATEIARBPROC) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
+typedef void (GLAPIENTRY * PFNGLBLENDFUNCIARBPROC) (GLuint buf, GLenum src, GLenum dst);
+
+#define glBlendEquationSeparateiARB GLEW_GET_FUN(__glewBlendEquationSeparateiARB)
+#define glBlendEquationiARB GLEW_GET_FUN(__glewBlendEquationiARB)
+#define glBlendFuncSeparateiARB GLEW_GET_FUN(__glewBlendFuncSeparateiARB)
+#define glBlendFunciARB GLEW_GET_FUN(__glewBlendFunciARB)
+
+#define GLEW_ARB_draw_buffers_blend GLEW_GET_VAR(__GLEW_ARB_draw_buffers_blend)
+
+#endif /* GL_ARB_draw_buffers_blend */
+
+/* -------------------- GL_ARB_draw_elements_base_vertex ------------------- */
+
+#ifndef GL_ARB_draw_elements_base_vertex
+#define GL_ARB_draw_elements_base_vertex 1
+
+typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSBASEVERTEXPROC) (GLenum mode, GLsizei count, GLenum type, void* indices, GLint basevertex);
+typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC) (GLenum mode, GLsizei count, GLenum type, const void* indices, GLsizei primcount, GLint basevertex);
+typedef void (GLAPIENTRY * PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, void* indices, GLint basevertex);
+typedef void (GLAPIENTRY * PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC) (GLenum mode, GLsizei* count, GLenum type, GLvoid**indices, GLsizei primcount, GLint *basevertex);
+
+#define glDrawElementsBaseVertex GLEW_GET_FUN(__glewDrawElementsBaseVertex)
+#define glDrawElementsInstancedBaseVertex GLEW_GET_FUN(__glewDrawElementsInstancedBaseVertex)
+#define glDrawRangeElementsBaseVertex GLEW_GET_FUN(__glewDrawRangeElementsBaseVertex)
+#define glMultiDrawElementsBaseVertex GLEW_GET_FUN(__glewMultiDrawElementsBaseVertex)
+
+#define GLEW_ARB_draw_elements_base_vertex GLEW_GET_VAR(__GLEW_ARB_draw_elements_base_vertex)
+
+#endif /* GL_ARB_draw_elements_base_vertex */
+
+/* -------------------------- GL_ARB_draw_indirect ------------------------- */
+
+#ifndef GL_ARB_draw_indirect
+#define GL_ARB_draw_indirect 1
+
+#define GL_DRAW_INDIRECT_BUFFER 0x8F3F
+#define GL_DRAW_INDIRECT_BUFFER_BINDING 0x8F43
+
+typedef void (GLAPIENTRY * PFNGLDRAWARRAYSINDIRECTPROC) (GLenum mode, const void* indirect);
+typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINDIRECTPROC) (GLenum mode, GLenum type, const void* indirect);
+
+#define glDrawArraysIndirect GLEW_GET_FUN(__glewDrawArraysIndirect)
+#define glDrawElementsIndirect GLEW_GET_FUN(__glewDrawElementsIndirect)
+
+#define GLEW_ARB_draw_indirect GLEW_GET_VAR(__GLEW_ARB_draw_indirect)
+
+#endif /* GL_ARB_draw_indirect */
+
+/* ------------------------- GL_ARB_draw_instanced ------------------------- */
+
+#ifndef GL_ARB_draw_instanced
+#define GL_ARB_draw_instanced 1
+
+typedef void (GLAPIENTRY * PFNGLDRAWARRAYSINSTANCEDARBPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
+typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINSTANCEDARBPROC) (GLenum mode, GLsizei count, GLenum type, const void* indices, GLsizei primcount);
+
+#define glDrawArraysInstancedARB GLEW_GET_FUN(__glewDrawArraysInstancedARB)
+#define glDrawElementsInstancedARB GLEW_GET_FUN(__glewDrawElementsInstancedARB)
+
+#define GLEW_ARB_draw_instanced GLEW_GET_VAR(__GLEW_ARB_draw_instanced)
+
+#endif /* GL_ARB_draw_instanced */
+
+/* -------------------- GL_ARB_explicit_attrib_location -------------------- */
+
+#ifndef GL_ARB_explicit_attrib_location
+#define GL_ARB_explicit_attrib_location 1
+
+#define GLEW_ARB_explicit_attrib_location GLEW_GET_VAR(__GLEW_ARB_explicit_attrib_location)
+
+#endif /* GL_ARB_explicit_attrib_location */
+
+/* ------------------- GL_ARB_fragment_coord_conventions ------------------- */
+
+#ifndef GL_ARB_fragment_coord_conventions
+#define GL_ARB_fragment_coord_conventions 1
+
+#define GLEW_ARB_fragment_coord_conventions GLEW_GET_VAR(__GLEW_ARB_fragment_coord_conventions)
+
+#endif /* GL_ARB_fragment_coord_conventions */
+
+/* ------------------------ GL_ARB_fragment_program ------------------------ */
+
+#ifndef GL_ARB_fragment_program
+#define GL_ARB_fragment_program 1
+
+#define GL_FRAGMENT_PROGRAM_ARB 0x8804
+#define GL_PROGRAM_ALU_INSTRUCTIONS_ARB 0x8805
+#define GL_PROGRAM_TEX_INSTRUCTIONS_ARB 0x8806
+#define GL_PROGRAM_TEX_INDIRECTIONS_ARB 0x8807
+#define GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 0x8808
+#define GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 0x8809
+#define GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 0x880A
+#define GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB 0x880B
+#define GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB 0x880C
+#define GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB 0x880D
+#define GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 0x880E
+#define GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 0x880F
+#define GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 0x8810
+#define GL_MAX_TEXTURE_COORDS_ARB 0x8871
+#define GL_MAX_TEXTURE_IMAGE_UNITS_ARB 0x8872
+
+#define GLEW_ARB_fragment_program GLEW_GET_VAR(__GLEW_ARB_fragment_program)
+
+#endif /* GL_ARB_fragment_program */
+
+/* --------------------- GL_ARB_fragment_program_shadow -------------------- */
+
+#ifndef GL_ARB_fragment_program_shadow
+#define GL_ARB_fragment_program_shadow 1
+
+#define GLEW_ARB_fragment_program_shadow GLEW_GET_VAR(__GLEW_ARB_fragment_program_shadow)
+
+#endif /* GL_ARB_fragment_program_shadow */
+
+/* ------------------------- GL_ARB_fragment_shader ------------------------ */
+
+#ifndef GL_ARB_fragment_shader
+#define GL_ARB_fragment_shader 1
+
+#define GL_FRAGMENT_SHADER_ARB 0x8B30
+#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB 0x8B49
+#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB 0x8B8B
+
+#define GLEW_ARB_fragment_shader GLEW_GET_VAR(__GLEW_ARB_fragment_shader)
+
+#endif /* GL_ARB_fragment_shader */
+
+/* ----------------------- GL_ARB_framebuffer_object ----------------------- */
+
+#ifndef GL_ARB_framebuffer_object
+#define GL_ARB_framebuffer_object 1
+
+#define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506
+#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING 0x8210
+#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE 0x8211
+#define GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE 0x8212
+#define GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE 0x8213
+#define GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE 0x8214
+#define GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE 0x8215
+#define GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE 0x8216
+#define GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE 0x8217
+#define GL_FRAMEBUFFER_DEFAULT 0x8218
+#define GL_FRAMEBUFFER_UNDEFINED 0x8219
+#define GL_DEPTH_STENCIL_ATTACHMENT 0x821A
+#define GL_INDEX 0x8222
+#define GL_MAX_RENDERBUFFER_SIZE 0x84E8
+#define GL_DEPTH_STENCIL 0x84F9
+#define GL_UNSIGNED_INT_24_8 0x84FA
+#define GL_DEPTH24_STENCIL8 0x88F0
+#define GL_TEXTURE_STENCIL_SIZE 0x88F1
+#define GL_UNSIGNED_NORMALIZED 0x8C17
+#define GL_SRGB 0x8C40
+#define GL_DRAW_FRAMEBUFFER_BINDING 0x8CA6
+#define GL_FRAMEBUFFER_BINDING 0x8CA6
+#define GL_RENDERBUFFER_BINDING 0x8CA7
+#define GL_READ_FRAMEBUFFER 0x8CA8
+#define GL_DRAW_FRAMEBUFFER 0x8CA9
+#define GL_READ_FRAMEBUFFER_BINDING 0x8CAA
+#define GL_RENDERBUFFER_SAMPLES 0x8CAB
+#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0
+#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1
+#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2
+#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3
+#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4
+#define GL_FRAMEBUFFER_COMPLETE 0x8CD5
+#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6
+#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7
+#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER 0x8CDB
+#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER 0x8CDC
+#define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD
+#define GL_MAX_COLOR_ATTACHMENTS 0x8CDF
+#define GL_COLOR_ATTACHMENT0 0x8CE0
+#define GL_COLOR_ATTACHMENT1 0x8CE1
+#define GL_COLOR_ATTACHMENT2 0x8CE2
+#define GL_COLOR_ATTACHMENT3 0x8CE3
+#define GL_COLOR_ATTACHMENT4 0x8CE4
+#define GL_COLOR_ATTACHMENT5 0x8CE5
+#define GL_COLOR_ATTACHMENT6 0x8CE6
+#define GL_COLOR_ATTACHMENT7 0x8CE7
+#define GL_COLOR_ATTACHMENT8 0x8CE8
+#define GL_COLOR_ATTACHMENT9 0x8CE9
+#define GL_COLOR_ATTACHMENT10 0x8CEA
+#define GL_COLOR_ATTACHMENT11 0x8CEB
+#define GL_COLOR_ATTACHMENT12 0x8CEC
+#define GL_COLOR_ATTACHMENT13 0x8CED
+#define GL_COLOR_ATTACHMENT14 0x8CEE
+#define GL_COLOR_ATTACHMENT15 0x8CEF
+#define GL_DEPTH_ATTACHMENT 0x8D00
+#define GL_STENCIL_ATTACHMENT 0x8D20
+#define GL_FRAMEBUFFER 0x8D40
+#define GL_RENDERBUFFER 0x8D41
+#define GL_RENDERBUFFER_WIDTH 0x8D42
+#define GL_RENDERBUFFER_HEIGHT 0x8D43
+#define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44
+#define GL_STENCIL_INDEX1 0x8D46
+#define GL_STENCIL_INDEX4 0x8D47
+#define GL_STENCIL_INDEX8 0x8D48
+#define GL_STENCIL_INDEX16 0x8D49
+#define GL_RENDERBUFFER_RED_SIZE 0x8D50
+#define GL_RENDERBUFFER_GREEN_SIZE 0x8D51
+#define GL_RENDERBUFFER_BLUE_SIZE 0x8D52
+#define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53
+#define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54
+#define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55
+#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56
+#define GL_MAX_SAMPLES 0x8D57
+
+typedef void (GLAPIENTRY * PFNGLBINDFRAMEBUFFERPROC) (GLenum target, GLuint framebuffer);
+typedef void (GLAPIENTRY * PFNGLBINDRENDERBUFFERPROC) (GLenum target, GLuint renderbuffer);
+typedef void (GLAPIENTRY * PFNGLBLITFRAMEBUFFERPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
+typedef GLenum (GLAPIENTRY * PFNGLCHECKFRAMEBUFFERSTATUSPROC) (GLenum target);
+typedef void (GLAPIENTRY * PFNGLDELETEFRAMEBUFFERSPROC) (GLsizei n, const GLuint* framebuffers);
+typedef void (GLAPIENTRY * PFNGLDELETERENDERBUFFERSPROC) (GLsizei n, const GLuint* renderbuffers);
+typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERRENDERBUFFERPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
+typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURE1DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURE2DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURE3DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint layer);
+typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURELAYERPROC) (GLenum target,GLenum attachment, GLuint texture,GLint level,GLint layer);
+typedef void (GLAPIENTRY * PFNGLGENFRAMEBUFFERSPROC) (GLsizei n, GLuint* framebuffers);
+typedef void (GLAPIENTRY * PFNGLGENRENDERBUFFERSPROC) (GLsizei n, GLuint* renderbuffers);
+typedef void (GLAPIENTRY * PFNGLGENERATEMIPMAPPROC) (GLenum target);
+typedef void (GLAPIENTRY * PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC) (GLenum target, GLenum attachment, GLenum pname, GLint* params);
+typedef void (GLAPIENTRY * PFNGLGETRENDERBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint* params);
+typedef GLboolean (GLAPIENTRY * PFNGLISFRAMEBUFFERPROC) (GLuint framebuffer);
+typedef GLboolean (GLAPIENTRY * PFNGLISRENDERBUFFERPROC) (GLuint renderbuffer);
+typedef void (GLAPIENTRY * PFNGLRENDERBUFFERSTORAGEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
+typedef void (GLAPIENTRY * PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
+
+#define glBindFramebuffer GLEW_GET_FUN(__glewBindFramebuffer)
+#define glBindRenderbuffer GLEW_GET_FUN(__glewBindRenderbuffer)
+#define glBlitFramebuffer GLEW_GET_FUN(__glewBlitFramebuffer)
+#define glCheckFramebufferStatus GLEW_GET_FUN(__glewCheckFramebufferStatus)
+#define glDeleteFramebuffers GLEW_GET_FUN(__glewDeleteFramebuffers)
+#define glDeleteRenderbuffers GLEW_GET_FUN(__glewDeleteRenderbuffers)
+#define glFramebufferRenderbuffer GLEW_GET_FUN(__glewFramebufferRenderbuffer)
+#define glFramebufferTexture1D GLEW_GET_FUN(__glewFramebufferTexture1D)
+#define glFramebufferTexture2D GLEW_GET_FUN(__glewFramebufferTexture2D)
+#define glFramebufferTexture3D GLEW_GET_FUN(__glewFramebufferTexture3D)
+#define glFramebufferTextureLayer GLEW_GET_FUN(__glewFramebufferTextureLayer)
+#define glGenFramebuffers GLEW_GET_FUN(__glewGenFramebuffers)
+#define glGenRenderbuffers GLEW_GET_FUN(__glewGenRenderbuffers)
+#define glGenerateMipmap GLEW_GET_FUN(__glewGenerateMipmap)
+#define glGetFramebufferAttachmentParameteriv GLEW_GET_FUN(__glewGetFramebufferAttachmentParameteriv)
+#define glGetRenderbufferParameteriv GLEW_GET_FUN(__glewGetRenderbufferParameteriv)
+#define glIsFramebuffer GLEW_GET_FUN(__glewIsFramebuffer)
+#define glIsRenderbuffer GLEW_GET_FUN(__glewIsRenderbuffer)
+#define glRenderbufferStorage GLEW_GET_FUN(__glewRenderbufferStorage)
+#define glRenderbufferStorageMultisample GLEW_GET_FUN(__glewRenderbufferStorageMultisample)
+
+#define GLEW_ARB_framebuffer_object GLEW_GET_VAR(__GLEW_ARB_framebuffer_object)
+
+#endif /* GL_ARB_framebuffer_object */
+
+/* ------------------------ GL_ARB_framebuffer_sRGB ------------------------ */
+
+#ifndef GL_ARB_framebuffer_sRGB
+#define GL_ARB_framebuffer_sRGB 1
+
+#define GL_FRAMEBUFFER_SRGB 0x8DB9
+
+#define GLEW_ARB_framebuffer_sRGB GLEW_GET_VAR(__GLEW_ARB_framebuffer_sRGB)
+
+#endif /* GL_ARB_framebuffer_sRGB */
+
+/* ------------------------ GL_ARB_geometry_shader4 ------------------------ */
+
+#ifndef GL_ARB_geometry_shader4
+#define GL_ARB_geometry_shader4 1
+
+#define GL_LINES_ADJACENCY_ARB 0xA
+#define GL_LINE_STRIP_ADJACENCY_ARB 0xB
+#define GL_TRIANGLES_ADJACENCY_ARB 0xC
+#define GL_TRIANGLE_STRIP_ADJACENCY_ARB 0xD
+#define GL_PROGRAM_POINT_SIZE_ARB 0x8642
+#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB 0x8C29
+#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4
+#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB 0x8DA7
+#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB 0x8DA8
+#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB 0x8DA9
+#define GL_GEOMETRY_SHADER_ARB 0x8DD9
+#define GL_GEOMETRY_VERTICES_OUT_ARB 0x8DDA
+#define GL_GEOMETRY_INPUT_TYPE_ARB 0x8DDB
+#define GL_GEOMETRY_OUTPUT_TYPE_ARB 0x8DDC
+#define GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB 0x8DDD
+#define GL_MAX_VERTEX_VARYING_COMPONENTS_ARB 0x8DDE
+#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB 0x8DDF
+#define GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB 0x8DE0
+#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB 0x8DE1
+
+typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTUREARBPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level);
+typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTUREFACEARBPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);
+typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURELAYERARBPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
+typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETERIARBPROC) (GLuint program, GLenum pname, GLint value);
+
+#define glFramebufferTextureARB GLEW_GET_FUN(__glewFramebufferTextureARB)
+#define glFramebufferTextureFaceARB GLEW_GET_FUN(__glewFramebufferTextureFaceARB)
+#define glFramebufferTextureLayerARB GLEW_GET_FUN(__glewFramebufferTextureLayerARB)
+#define glProgramParameteriARB GLEW_GET_FUN(__glewProgramParameteriARB)
+
+#define GLEW_ARB_geometry_shader4 GLEW_GET_VAR(__GLEW_ARB_geometry_shader4)
+
+#endif /* GL_ARB_geometry_shader4 */
+
+/* --------------------------- GL_ARB_gpu_shader5 -------------------------- */
+
+#ifndef GL_ARB_gpu_shader5
+#define GL_ARB_gpu_shader5 1
+
+#define GL_GEOMETRY_SHADER_INVOCATIONS 0x887F
+#define GL_MAX_GEOMETRY_SHADER_INVOCATIONS 0x8E5A
+#define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET 0x8E5B
+#define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET 0x8E5C
+#define GL_FRAGMENT_INTERPOLATION_OFFSET_BITS 0x8E5D
+#define GL_MAX_VERTEX_STREAMS 0x8E71
+
+#define GLEW_ARB_gpu_shader5 GLEW_GET_VAR(__GLEW_ARB_gpu_shader5)
+
+#endif /* GL_ARB_gpu_shader5 */
+
+/* ------------------------- GL_ARB_gpu_shader_fp64 ------------------------ */
+
+#ifndef GL_ARB_gpu_shader_fp64
+#define GL_ARB_gpu_shader_fp64 1
+
+#define GLEW_ARB_gpu_shader_fp64 GLEW_GET_VAR(__GLEW_ARB_gpu_shader_fp64)
+
+#endif /* GL_ARB_gpu_shader_fp64 */
+
+/* ------------------------ GL_ARB_half_float_pixel ------------------------ */
+
+#ifndef GL_ARB_half_float_pixel
+#define GL_ARB_half_float_pixel 1
+
+#define GL_HALF_FLOAT_ARB 0x140B
+
+#define GLEW_ARB_half_float_pixel GLEW_GET_VAR(__GLEW_ARB_half_float_pixel)
+
+#endif /* GL_ARB_half_float_pixel */
+
+/* ------------------------ GL_ARB_half_float_vertex ----------------------- */
+
+#ifndef GL_ARB_half_float_vertex
+#define GL_ARB_half_float_vertex 1
+
+#define GL_HALF_FLOAT 0x140B
+
+#define GLEW_ARB_half_float_vertex GLEW_GET_VAR(__GLEW_ARB_half_float_vertex)
+
+#endif /* GL_ARB_half_float_vertex */
+
+/* ----------------------------- GL_ARB_imaging ---------------------------- */
+
+#ifndef GL_ARB_imaging
+#define GL_ARB_imaging 1
+
+#define GL_CONSTANT_COLOR 0x8001
+#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002
+#define GL_CONSTANT_ALPHA 0x8003
+#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004
+#define GL_BLEND_COLOR 0x8005
+#define GL_FUNC_ADD 0x8006
+#define GL_MIN 0x8007
+#define GL_MAX 0x8008
+#define GL_BLEND_EQUATION 0x8009
+#define GL_FUNC_SUBTRACT 0x800A
+#define GL_FUNC_REVERSE_SUBTRACT 0x800B
+#define GL_CONVOLUTION_1D 0x8010
+#define GL_CONVOLUTION_2D 0x8011
+#define GL_SEPARABLE_2D 0x8012
+#define GL_CONVOLUTION_BORDER_MODE 0x8013
+#define GL_CONVOLUTION_FILTER_SCALE 0x8014
+#define GL_CONVOLUTION_FILTER_BIAS 0x8015
+#define GL_REDUCE 0x8016
+#define GL_CONVOLUTION_FORMAT 0x8017
+#define GL_CONVOLUTION_WIDTH 0x8018
+#define GL_CONVOLUTION_HEIGHT 0x8019
+#define GL_MAX_CONVOLUTION_WIDTH 0x801A
+#define GL_MAX_CONVOLUTION_HEIGHT 0x801B
+#define GL_POST_CONVOLUTION_RED_SCALE 0x801C
+#define GL_POST_CONVOLUTION_GREEN_SCALE 0x801D
+#define GL_POST_CONVOLUTION_BLUE_SCALE 0x801E
+#define GL_POST_CONVOLUTION_ALPHA_SCALE 0x801F
+#define GL_POST_CONVOLUTION_RED_BIAS 0x8020
+#define GL_POST_CONVOLUTION_GREEN_BIAS 0x8021
+#define GL_POST_CONVOLUTION_BLUE_BIAS 0x8022
+#define GL_POST_CONVOLUTION_ALPHA_BIAS 0x8023
+#define GL_HISTOGRAM 0x8024
+#define GL_PROXY_HISTOGRAM 0x8025
+#define GL_HISTOGRAM_WIDTH 0x8026
+#define GL_HISTOGRAM_FORMAT 0x8027
+#define GL_HISTOGRAM_RED_SIZE 0x8028
+#define GL_HISTOGRAM_GREEN_SIZE 0x8029
+#define GL_HISTOGRAM_BLUE_SIZE 0x802A
+#define GL_HISTOGRAM_ALPHA_SIZE 0x802B
+#define GL_HISTOGRAM_LUMINANCE_SIZE 0x802C
+#define GL_HISTOGRAM_SINK 0x802D
+#define GL_MINMAX 0x802E
+#define GL_MINMAX_FORMAT 0x802F
+#define GL_MINMAX_SINK 0x8030
+#define GL_TABLE_TOO_LARGE 0x8031
+#define GL_COLOR_MATRIX 0x80B1
+#define GL_COLOR_MATRIX_STACK_DEPTH 0x80B2
+#define GL_MAX_COLOR_MATRIX_STACK_DEPTH 0x80B3
+#define GL_POST_COLOR_MATRIX_RED_SCALE 0x80B4
+#define GL_POST_COLOR_MATRIX_GREEN_SCALE 0x80B5
+#define GL_POST_COLOR_MATRIX_BLUE_SCALE 0x80B6
+#define GL_POST_COLOR_MATRIX_ALPHA_SCALE 0x80B7
+#define GL_POST_COLOR_MATRIX_RED_BIAS 0x80B8
+#define GL_POST_COLOR_MATRIX_GREEN_BIAS 0x80B9
+#define GL_POST_COLOR_MATRIX_BLUE_BIAS 0x80BA
+#define GL_POST_COLOR_MATRIX_ALPHA_BIAS 0x80BB
+#define GL_COLOR_TABLE 0x80D0
+#define GL_POST_CONVOLUTION_COLOR_TABLE 0x80D1
+#define GL_POST_COLOR_MATRIX_COLOR_TABLE 0x80D2
+#define GL_PROXY_COLOR_TABLE 0x80D3
+#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE 0x80D4
+#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE 0x80D5
+#define GL_COLOR_TABLE_SCALE 0x80D6
+#define GL_COLOR_TABLE_BIAS 0x80D7
+#define GL_COLOR_TABLE_FORMAT 0x80D8
+#define GL_COLOR_TABLE_WIDTH 0x80D9
+#define GL_COLOR_TABLE_RED_SIZE 0x80DA
+#define GL_COLOR_TABLE_GREEN_SIZE 0x80DB
+#define GL_COLOR_TABLE_BLUE_SIZE 0x80DC
+#define GL_COLOR_TABLE_ALPHA_SIZE 0x80DD
+#define GL_COLOR_TABLE_LUMINANCE_SIZE 0x80DE
+#define GL_COLOR_TABLE_INTENSITY_SIZE 0x80DF
+#define GL_IGNORE_BORDER 0x8150
+#define GL_CONSTANT_BORDER 0x8151
+#define GL_WRAP_BORDER 0x8152
+#define GL_REPLICATE_BORDER 0x8153
+#define GL_CONVOLUTION_BORDER_COLOR 0x8154
+
+typedef void (GLAPIENTRY * PFNGLCOLORSUBTABLEPROC) (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data);
+typedef void (GLAPIENTRY * PFNGLCOLORTABLEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);
+typedef void (GLAPIENTRY * PFNGLCOLORTABLEPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params);
+typedef void (GLAPIENTRY * PFNGLCOLORTABLEPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params);
+typedef void (GLAPIENTRY * PFNGLCONVOLUTIONFILTER1DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image);
+typedef void (GLAPIENTRY * PFNGLCONVOLUTIONFILTER2DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image);
+typedef void (GLAPIENTRY * PFNGLCONVOLUTIONPARAMETERFPROC) (GLenum target, GLenum pname, GLfloat params);
+typedef void (GLAPIENTRY * PFNGLCONVOLUTIONPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params);
+typedef void (GLAPIENTRY * PFNGLCONVOLUTIONPARAMETERIPROC) (GLenum target, GLenum pname, GLint params);
+typedef void (GLAPIENTRY * PFNGLCONVOLUTIONPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params);
+typedef void (GLAPIENTRY * PFNGLCOPYCOLORSUBTABLEPROC) (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);
+typedef void (GLAPIENTRY * PFNGLCOPYCOLORTABLEPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
+typedef void (GLAPIENTRY * PFNGLCOPYCONVOLUTIONFILTER1DPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
+typedef void (GLAPIENTRY * PFNGLCOPYCONVOLUTIONFILTER2DPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);
+typedef void (GLAPIENTRY * PFNGLGETCOLORTABLEPROC) (GLenum target, GLenum format, GLenum type, GLvoid *table);
+typedef void (GLAPIENTRY * PFNGLGETCOLORTABLEPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
+typedef void (GLAPIENTRY * PFNGLGETCOLORTABLEPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
+typedef void (GLAPIENTRY * PFNGLGETCONVOLUTIONFILTERPROC) (GLenum target, GLenum format, GLenum type, GLvoid *image);
+typedef void (GLAPIENTRY * PFNGLGETCONVOLUTIONPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
+typedef void (GLAPIENTRY * PFNGLGETCONVOLUTIONPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
+typedef void (GLAPIENTRY * PFNGLGETHISTOGRAMPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
+typedef void (GLAPIENTRY * PFNGLGETHISTOGRAMPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
+typedef void (GLAPIENTRY * PFNGLGETHISTOGRAMPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
+typedef void (GLAPIENTRY * PFNGLGETMINMAXPROC) (GLenum target, GLboolean reset, GLenum format, GLenum types, GLvoid *values);
+typedef void (GLAPIENTRY * PFNGLGETMINMAXPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
+typedef void (GLAPIENTRY * PFNGLGETMINMAXPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
+typedef void (GLAPIENTRY * PFNGLGETSEPARABLEFILTERPROC) (GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span);
+typedef void (GLAPIENTRY * PFNGLHISTOGRAMPROC) (GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);
+typedef void (GLAPIENTRY * PFNGLMINMAXPROC) (GLenum target, GLenum internalformat, GLboolean sink);
+typedef void (GLAPIENTRY * PFNGLRESETHISTOGRAMPROC) (GLenum target);
+typedef void (GLAPIENTRY * PFNGLRESETMINMAXPROC) (GLenum target);
+typedef void (GLAPIENTRY * PFNGLSEPARABLEFILTER2DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column);
+
+#define glColorSubTable GLEW_GET_FUN(__glewColorSubTable)
+#define glColorTable GLEW_GET_FUN(__glewColorTable)
+#define glColorTableParameterfv GLEW_GET_FUN(__glewColorTableParameterfv)
+#define glColorTableParameteriv GLEW_GET_FUN(__glewColorTableParameteriv)
+#define glConvolutionFilter1D GLEW_GET_FUN(__glewConvolutionFilter1D)
+#define glConvolutionFilter2D GLEW_GET_FUN(__glewConvolutionFilter2D)
+#define glConvolutionParameterf GLEW_GET_FUN(__glewConvolutionParameterf)
+#define glConvolutionParameterfv GLEW_GET_FUN(__glewConvolutionParameterfv)
+#define glConvolutionParameteri GLEW_GET_FUN(__glewConvolutionParameteri)
+#define glConvolutionParameteriv GLEW_GET_FUN(__glewConvolutionParameteriv)
+#define glCopyColorSubTable GLEW_GET_FUN(__glewCopyColorSubTable)
+#define glCopyColorTable GLEW_GET_FUN(__glewCopyColorTable)
+#define glCopyConvolutionFilter1D GLEW_GET_FUN(__glewCopyConvolutionFilter1D)
+#define glCopyConvolutionFilter2D GLEW_GET_FUN(__glewCopyConvolutionFilter2D)
+#define glGetColorTable GLEW_GET_FUN(__glewGetColorTable)
+#define glGetColorTableParameterfv GLEW_GET_FUN(__glewGetColorTableParameterfv)
+#define glGetColorTableParameteriv GLEW_GET_FUN(__glewGetColorTableParameteriv)
+#define glGetConvolutionFilter GLEW_GET_FUN(__glewGetConvolutionFilter)
+#define glGetConvolutionParameterfv GLEW_GET_FUN(__glewGetConvolutionParameterfv)
+#define glGetConvolutionParameteriv GLEW_GET_FUN(__glewGetConvolutionParameteriv)
+#define glGetHistogram GLEW_GET_FUN(__glewGetHistogram)
+#define glGetHistogramParameterfv GLEW_GET_FUN(__glewGetHistogramParameterfv)
+#define glGetHistogramParameteriv GLEW_GET_FUN(__glewGetHistogramParameteriv)
+#define glGetMinmax GLEW_GET_FUN(__glewGetMinmax)
+#define glGetMinmaxParameterfv GLEW_GET_FUN(__glewGetMinmaxParameterfv)
+#define glGetMinmaxParameteriv GLEW_GET_FUN(__glewGetMinmaxParameteriv)
+#define glGetSeparableFilter GLEW_GET_FUN(__glewGetSeparableFilter)
+#define glHistogram GLEW_GET_FUN(__glewHistogram)
+#define glMinmax GLEW_GET_FUN(__glewMinmax)
+#define glResetHistogram GLEW_GET_FUN(__glewResetHistogram)
+#define glResetMinmax GLEW_GET_FUN(__glewResetMinmax)
+#define glSeparableFilter2D GLEW_GET_FUN(__glewSeparableFilter2D)
+
+#define GLEW_ARB_imaging GLEW_GET_VAR(__GLEW_ARB_imaging)
+
+#endif /* GL_ARB_imaging */
+
+/* ------------------------ GL_ARB_instanced_arrays ------------------------ */
+
+#ifndef GL_ARB_instanced_arrays
+#define GL_ARB_instanced_arrays 1
+
+#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB 0x88FE
+
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBDIVISORARBPROC) (GLuint index, GLuint divisor);
+
+#define glVertexAttribDivisorARB GLEW_GET_FUN(__glewVertexAttribDivisorARB)
+
+#define GLEW_ARB_instanced_arrays GLEW_GET_VAR(__GLEW_ARB_instanced_arrays)
+
+#endif /* GL_ARB_instanced_arrays */
+
+/* ------------------------ GL_ARB_map_buffer_range ------------------------ */
+
+#ifndef GL_ARB_map_buffer_range
+#define GL_ARB_map_buffer_range 1
+
+#define GL_MAP_READ_BIT 0x0001
+#define GL_MAP_WRITE_BIT 0x0002
+#define GL_MAP_INVALIDATE_RANGE_BIT 0x0004
+#define GL_MAP_INVALIDATE_BUFFER_BIT 0x0008
+#define GL_MAP_FLUSH_EXPLICIT_BIT 0x0010
+#define GL_MAP_UNSYNCHRONIZED_BIT 0x0020
+
+typedef void (GLAPIENTRY * PFNGLFLUSHMAPPEDBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length);
+typedef GLvoid * (GLAPIENTRY * PFNGLMAPBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
+
+#define glFlushMappedBufferRange GLEW_GET_FUN(__glewFlushMappedBufferRange)
+#define glMapBufferRange GLEW_GET_FUN(__glewMapBufferRange)
+
+#define GLEW_ARB_map_buffer_range GLEW_GET_VAR(__GLEW_ARB_map_buffer_range)
+
+#endif /* GL_ARB_map_buffer_range */
+
+/* ------------------------- GL_ARB_matrix_palette ------------------------- */
+
+#ifndef GL_ARB_matrix_palette
+#define GL_ARB_matrix_palette 1
+
+#define GL_MATRIX_PALETTE_ARB 0x8840
+#define GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB 0x8841
+#define GL_MAX_PALETTE_MATRICES_ARB 0x8842
+#define GL_CURRENT_PALETTE_MATRIX_ARB 0x8843
+#define GL_MATRIX_INDEX_ARRAY_ARB 0x8844
+#define GL_CURRENT_MATRIX_INDEX_ARB 0x8845
+#define GL_MATRIX_INDEX_ARRAY_SIZE_ARB 0x8846
+#define GL_MATRIX_INDEX_ARRAY_TYPE_ARB 0x8847
+#define GL_MATRIX_INDEX_ARRAY_STRIDE_ARB 0x8848
+#define GL_MATRIX_INDEX_ARRAY_POINTER_ARB 0x8849
+
+typedef void (GLAPIENTRY * PFNGLCURRENTPALETTEMATRIXARBPROC) (GLint index);
+typedef void (GLAPIENTRY * PFNGLMATRIXINDEXPOINTERARBPROC) (GLint size, GLenum type, GLsizei stride, GLvoid *pointer);
+typedef void (GLAPIENTRY * PFNGLMATRIXINDEXUBVARBPROC) (GLint size, GLubyte *indices);
+typedef void (GLAPIENTRY * PFNGLMATRIXINDEXUIVARBPROC) (GLint size, GLuint *indices);
+typedef void (GLAPIENTRY * PFNGLMATRIXINDEXUSVARBPROC) (GLint size, GLushort *indices);
+
+#define glCurrentPaletteMatrixARB GLEW_GET_FUN(__glewCurrentPaletteMatrixARB)
+#define glMatrixIndexPointerARB GLEW_GET_FUN(__glewMatrixIndexPointerARB)
+#define glMatrixIndexubvARB GLEW_GET_FUN(__glewMatrixIndexubvARB)
+#define glMatrixIndexuivARB GLEW_GET_FUN(__glewMatrixIndexuivARB)
+#define glMatrixIndexusvARB GLEW_GET_FUN(__glewMatrixIndexusvARB)
+
+#define GLEW_ARB_matrix_palette GLEW_GET_VAR(__GLEW_ARB_matrix_palette)
+
+#endif /* GL_ARB_matrix_palette */
+
+/* --------------------------- GL_ARB_multisample -------------------------- */
+
+#ifndef GL_ARB_multisample
+#define GL_ARB_multisample 1
+
+#define GL_MULTISAMPLE_ARB 0x809D
+#define GL_SAMPLE_ALPHA_TO_COVERAGE_ARB 0x809E
+#define GL_SAMPLE_ALPHA_TO_ONE_ARB 0x809F
+#define GL_SAMPLE_COVERAGE_ARB 0x80A0
+#define GL_SAMPLE_BUFFERS_ARB 0x80A8
+#define GL_SAMPLES_ARB 0x80A9
+#define GL_SAMPLE_COVERAGE_VALUE_ARB 0x80AA
+#define GL_SAMPLE_COVERAGE_INVERT_ARB 0x80AB
+#define GL_MULTISAMPLE_BIT_ARB 0x20000000
+
+typedef void (GLAPIENTRY * PFNGLSAMPLECOVERAGEARBPROC) (GLclampf value, GLboolean invert);
+
+#define glSampleCoverageARB GLEW_GET_FUN(__glewSampleCoverageARB)
+
+#define GLEW_ARB_multisample GLEW_GET_VAR(__GLEW_ARB_multisample)
+
+#endif /* GL_ARB_multisample */
+
+/* -------------------------- GL_ARB_multitexture -------------------------- */
+
+#ifndef GL_ARB_multitexture
+#define GL_ARB_multitexture 1
+
+#define GL_TEXTURE0_ARB 0x84C0
+#define GL_TEXTURE1_ARB 0x84C1
+#define GL_TEXTURE2_ARB 0x84C2
+#define GL_TEXTURE3_ARB 0x84C3
+#define GL_TEXTURE4_ARB 0x84C4
+#define GL_TEXTURE5_ARB 0x84C5
+#define GL_TEXTURE6_ARB 0x84C6
+#define GL_TEXTURE7_ARB 0x84C7
+#define GL_TEXTURE8_ARB 0x84C8
+#define GL_TEXTURE9_ARB 0x84C9
+#define GL_TEXTURE10_ARB 0x84CA
+#define GL_TEXTURE11_ARB 0x84CB
+#define GL_TEXTURE12_ARB 0x84CC
+#define GL_TEXTURE13_ARB 0x84CD
+#define GL_TEXTURE14_ARB 0x84CE
+#define GL_TEXTURE15_ARB 0x84CF
+#define GL_TEXTURE16_ARB 0x84D0
+#define GL_TEXTURE17_ARB 0x84D1
+#define GL_TEXTURE18_ARB 0x84D2
+#define GL_TEXTURE19_ARB 0x84D3
+#define GL_TEXTURE20_ARB 0x84D4
+#define GL_TEXTURE21_ARB 0x84D5
+#define GL_TEXTURE22_ARB 0x84D6
+#define GL_TEXTURE23_ARB 0x84D7
+#define GL_TEXTURE24_ARB 0x84D8
+#define GL_TEXTURE25_ARB 0x84D9
+#define GL_TEXTURE26_ARB 0x84DA
+#define GL_TEXTURE27_ARB 0x84DB
+#define GL_TEXTURE28_ARB 0x84DC
+#define GL_TEXTURE29_ARB 0x84DD
+#define GL_TEXTURE30_ARB 0x84DE
+#define GL_TEXTURE31_ARB 0x84DF
+#define GL_ACTIVE_TEXTURE_ARB 0x84E0
+#define GL_CLIENT_ACTIVE_TEXTURE_ARB 0x84E1
+#define GL_MAX_TEXTURE_UNITS_ARB 0x84E2
+
+typedef void (GLAPIENTRY * PFNGLACTIVETEXTUREARBPROC) (GLenum texture);
+typedef void (GLAPIENTRY * PFNGLCLIENTACTIVETEXTUREARBPROC) (GLenum texture);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1DARBPROC) (GLenum target, GLdouble s);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1DVARBPROC) (GLenum target, const GLdouble *v);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1FARBPROC) (GLenum target, GLfloat s);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1FVARBPROC) (GLenum target, const GLfloat *v);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1IARBPROC) (GLenum target, GLint s);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1IVARBPROC) (GLenum target, const GLint *v);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1SARBPROC) (GLenum target, GLshort s);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1SVARBPROC) (GLenum target, const GLshort *v);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2DARBPROC) (GLenum target, GLdouble s, GLdouble t);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2DVARBPROC) (GLenum target, const GLdouble *v);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2FARBPROC) (GLenum target, GLfloat s, GLfloat t);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2FVARBPROC) (GLenum target, const GLfloat *v);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2IARBPROC) (GLenum target, GLint s, GLint t);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2IVARBPROC) (GLenum target, const GLint *v);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2SARBPROC) (GLenum target, GLshort s, GLshort t);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2SVARBPROC) (GLenum target, const GLshort *v);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3DVARBPROC) (GLenum target, const GLdouble *v);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3FVARBPROC) (GLenum target, const GLfloat *v);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3IARBPROC) (GLenum target, GLint s, GLint t, GLint r);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3IVARBPROC) (GLenum target, const GLint *v);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3SVARBPROC) (GLenum target, const GLshort *v);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4DVARBPROC) (GLenum target, const GLdouble *v);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4FVARBPROC) (GLenum target, const GLfloat *v);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4IARBPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4IVARBPROC) (GLenum target, const GLint *v);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4SVARBPROC) (GLenum target, const GLshort *v);
+
+#define glActiveTextureARB GLEW_GET_FUN(__glewActiveTextureARB)
+#define glClientActiveTextureARB GLEW_GET_FUN(__glewClientActiveTextureARB)
+#define glMultiTexCoord1dARB GLEW_GET_FUN(__glewMultiTexCoord1dARB)
+#define glMultiTexCoord1dvARB GLEW_GET_FUN(__glewMultiTexCoord1dvARB)
+#define glMultiTexCoord1fARB GLEW_GET_FUN(__glewMultiTexCoord1fARB)
+#define glMultiTexCoord1fvARB GLEW_GET_FUN(__glewMultiTexCoord1fvARB)
+#define glMultiTexCoord1iARB GLEW_GET_FUN(__glewMultiTexCoord1iARB)
+#define glMultiTexCoord1ivARB GLEW_GET_FUN(__glewMultiTexCoord1ivARB)
+#define glMultiTexCoord1sARB GLEW_GET_FUN(__glewMultiTexCoord1sARB)
+#define glMultiTexCoord1svARB GLEW_GET_FUN(__glewMultiTexCoord1svARB)
+#define glMultiTexCoord2dARB GLEW_GET_FUN(__glewMultiTexCoord2dARB)
+#define glMultiTexCoord2dvARB GLEW_GET_FUN(__glewMultiTexCoord2dvARB)
+#define glMultiTexCoord2fARB GLEW_GET_FUN(__glewMultiTexCoord2fARB)
+#define glMultiTexCoord2fvARB GLEW_GET_FUN(__glewMultiTexCoord2fvARB)
+#define glMultiTexCoord2iARB GLEW_GET_FUN(__glewMultiTexCoord2iARB)
+#define glMultiTexCoord2ivARB GLEW_GET_FUN(__glewMultiTexCoord2ivARB)
+#define glMultiTexCoord2sARB GLEW_GET_FUN(__glewMultiTexCoord2sARB)
+#define glMultiTexCoord2svARB GLEW_GET_FUN(__glewMultiTexCoord2svARB)
+#define glMultiTexCoord3dARB GLEW_GET_FUN(__glewMultiTexCoord3dARB)
+#define glMultiTexCoord3dvARB GLEW_GET_FUN(__glewMultiTexCoord3dvARB)
+#define glMultiTexCoord3fARB GLEW_GET_FUN(__glewMultiTexCoord3fARB)
+#define glMultiTexCoord3fvARB GLEW_GET_FUN(__glewMultiTexCoord3fvARB)
+#define glMultiTexCoord3iARB GLEW_GET_FUN(__glewMultiTexCoord3iARB)
+#define glMultiTexCoord3ivARB GLEW_GET_FUN(__glewMultiTexCoord3ivARB)
+#define glMultiTexCoord3sARB GLEW_GET_FUN(__glewMultiTexCoord3sARB)
+#define glMultiTexCoord3svARB GLEW_GET_FUN(__glewMultiTexCoord3svARB)
+#define glMultiTexCoord4dARB GLEW_GET_FUN(__glewMultiTexCoord4dARB)
+#define glMultiTexCoord4dvARB GLEW_GET_FUN(__glewMultiTexCoord4dvARB)
+#define glMultiTexCoord4fARB GLEW_GET_FUN(__glewMultiTexCoord4fARB)
+#define glMultiTexCoord4fvARB GLEW_GET_FUN(__glewMultiTexCoord4fvARB)
+#define glMultiTexCoord4iARB GLEW_GET_FUN(__glewMultiTexCoord4iARB)
+#define glMultiTexCoord4ivARB GLEW_GET_FUN(__glewMultiTexCoord4ivARB)
+#define glMultiTexCoord4sARB GLEW_GET_FUN(__glewMultiTexCoord4sARB)
+#define glMultiTexCoord4svARB GLEW_GET_FUN(__glewMultiTexCoord4svARB)
+
+#define GLEW_ARB_multitexture GLEW_GET_VAR(__GLEW_ARB_multitexture)
+
+#endif /* GL_ARB_multitexture */
+
+/* ------------------------- GL_ARB_occlusion_query ------------------------ */
+
+#ifndef GL_ARB_occlusion_query
+#define GL_ARB_occlusion_query 1
+
+#define GL_QUERY_COUNTER_BITS_ARB 0x8864
+#define GL_CURRENT_QUERY_ARB 0x8865
+#define GL_QUERY_RESULT_ARB 0x8866
+#define GL_QUERY_RESULT_AVAILABLE_ARB 0x8867
+#define GL_SAMPLES_PASSED_ARB 0x8914
+
+typedef void (GLAPIENTRY * PFNGLBEGINQUERYARBPROC) (GLenum target, GLuint id);
+typedef void (GLAPIENTRY * PFNGLDELETEQUERIESARBPROC) (GLsizei n, const GLuint* ids);
+typedef void (GLAPIENTRY * PFNGLENDQUERYARBPROC) (GLenum target);
+typedef void (GLAPIENTRY * PFNGLGENQUERIESARBPROC) (GLsizei n, GLuint* ids);
+typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTIVARBPROC) (GLuint id, GLenum pname, GLint* params);
+typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTUIVARBPROC) (GLuint id, GLenum pname, GLuint* params);
+typedef void (GLAPIENTRY * PFNGLGETQUERYIVARBPROC) (GLenum target, GLenum pname, GLint* params);
+typedef GLboolean (GLAPIENTRY * PFNGLISQUERYARBPROC) (GLuint id);
+
+#define glBeginQueryARB GLEW_GET_FUN(__glewBeginQueryARB)
+#define glDeleteQueriesARB GLEW_GET_FUN(__glewDeleteQueriesARB)
+#define glEndQueryARB GLEW_GET_FUN(__glewEndQueryARB)
+#define glGenQueriesARB GLEW_GET_FUN(__glewGenQueriesARB)
+#define glGetQueryObjectivARB GLEW_GET_FUN(__glewGetQueryObjectivARB)
+#define glGetQueryObjectuivARB GLEW_GET_FUN(__glewGetQueryObjectuivARB)
+#define glGetQueryivARB GLEW_GET_FUN(__glewGetQueryivARB)
+#define glIsQueryARB GLEW_GET_FUN(__glewIsQueryARB)
+
+#define GLEW_ARB_occlusion_query GLEW_GET_VAR(__GLEW_ARB_occlusion_query)
+
+#endif /* GL_ARB_occlusion_query */
+
+/* ------------------------ GL_ARB_occlusion_query2 ------------------------ */
+
+#ifndef GL_ARB_occlusion_query2
+#define GL_ARB_occlusion_query2 1
+
+#define GL_ANY_SAMPLES_PASSED 0x8C2F
+
+#define GLEW_ARB_occlusion_query2 GLEW_GET_VAR(__GLEW_ARB_occlusion_query2)
+
+#endif /* GL_ARB_occlusion_query2 */
+
+/* ----------------------- GL_ARB_pixel_buffer_object ---------------------- */
+
+#ifndef GL_ARB_pixel_buffer_object
+#define GL_ARB_pixel_buffer_object 1
+
+#define GL_PIXEL_PACK_BUFFER_ARB 0x88EB
+#define GL_PIXEL_UNPACK_BUFFER_ARB 0x88EC
+#define GL_PIXEL_PACK_BUFFER_BINDING_ARB 0x88ED
+#define GL_PIXEL_UNPACK_BUFFER_BINDING_ARB 0x88EF
+
+#define GLEW_ARB_pixel_buffer_object GLEW_GET_VAR(__GLEW_ARB_pixel_buffer_object)
+
+#endif /* GL_ARB_pixel_buffer_object */
+
+/* ------------------------ GL_ARB_point_parameters ------------------------ */
+
+#ifndef GL_ARB_point_parameters
+#define GL_ARB_point_parameters 1
+
+#define GL_POINT_SIZE_MIN_ARB 0x8126
+#define GL_POINT_SIZE_MAX_ARB 0x8127
+#define GL_POINT_FADE_THRESHOLD_SIZE_ARB 0x8128
+#define GL_POINT_DISTANCE_ATTENUATION_ARB 0x8129
+
+typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFARBPROC) (GLenum pname, GLfloat param);
+typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFVARBPROC) (GLenum pname, GLfloat* params);
+
+#define glPointParameterfARB GLEW_GET_FUN(__glewPointParameterfARB)
+#define glPointParameterfvARB GLEW_GET_FUN(__glewPointParameterfvARB)
+
+#define GLEW_ARB_point_parameters GLEW_GET_VAR(__GLEW_ARB_point_parameters)
+
+#endif /* GL_ARB_point_parameters */
+
+/* -------------------------- GL_ARB_point_sprite -------------------------- */
+
+#ifndef GL_ARB_point_sprite
+#define GL_ARB_point_sprite 1
+
+#define GL_POINT_SPRITE_ARB 0x8861
+#define GL_COORD_REPLACE_ARB 0x8862
+
+#define GLEW_ARB_point_sprite GLEW_GET_VAR(__GLEW_ARB_point_sprite)
+
+#endif /* GL_ARB_point_sprite */
+
+/* ------------------------ GL_ARB_provoking_vertex ------------------------ */
+
+#ifndef GL_ARB_provoking_vertex
+#define GL_ARB_provoking_vertex 1
+
+#define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION 0x8E4C
+#define GL_FIRST_VERTEX_CONVENTION 0x8E4D
+#define GL_LAST_VERTEX_CONVENTION 0x8E4E
+#define GL_PROVOKING_VERTEX 0x8E4F
+
+typedef void (GLAPIENTRY * PFNGLPROVOKINGVERTEXPROC) (GLenum mode);
+
+#define glProvokingVertex GLEW_GET_FUN(__glewProvokingVertex)
+
+#define GLEW_ARB_provoking_vertex GLEW_GET_VAR(__GLEW_ARB_provoking_vertex)
+
+#endif /* GL_ARB_provoking_vertex */
+
+/* ------------------------- GL_ARB_sample_shading ------------------------- */
+
+#ifndef GL_ARB_sample_shading
+#define GL_ARB_sample_shading 1
+
+#define GL_SAMPLE_SHADING_ARB 0x8C36
+#define GL_MIN_SAMPLE_SHADING_VALUE_ARB 0x8C37
+
+typedef void (GLAPIENTRY * PFNGLMINSAMPLESHADINGARBPROC) (GLclampf value);
+
+#define glMinSampleShadingARB GLEW_GET_FUN(__glewMinSampleShadingARB)
+
+#define GLEW_ARB_sample_shading GLEW_GET_VAR(__GLEW_ARB_sample_shading)
+
+#endif /* GL_ARB_sample_shading */
+
+/* ------------------------- GL_ARB_sampler_objects ------------------------ */
+
+#ifndef GL_ARB_sampler_objects
+#define GL_ARB_sampler_objects 1
+
+#define GL_SAMPLER_BINDING 0x8919
+
+typedef void (GLAPIENTRY * PFNGLBINDSAMPLERPROC) (GLuint unit, GLuint sampler);
+typedef void (GLAPIENTRY * PFNGLDELETESAMPLERSPROC) (GLsizei count, const GLuint * samplers);
+typedef void (GLAPIENTRY * PFNGLGENSAMPLERSPROC) (GLsizei count, GLuint* samplers);
+typedef void (GLAPIENTRY * PFNGLGETSAMPLERPARAMETERIIVPROC) (GLuint sampler, GLenum pname, GLint* params);
+typedef void (GLAPIENTRY * PFNGLGETSAMPLERPARAMETERIUIVPROC) (GLuint sampler, GLenum pname, GLuint* params);
+typedef void (GLAPIENTRY * PFNGLGETSAMPLERPARAMETERFVPROC) (GLuint sampler, GLenum pname, GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLGETSAMPLERPARAMETERIVPROC) (GLuint sampler, GLenum pname, GLint* params);
+typedef GLboolean (GLAPIENTRY * PFNGLISSAMPLERPROC) (GLuint sampler);
+typedef void (GLAPIENTRY * PFNGLSAMPLERPARAMETERIIVPROC) (GLuint sampler, GLenum pname, const GLint* params);
+typedef void (GLAPIENTRY * PFNGLSAMPLERPARAMETERIUIVPROC) (GLuint sampler, GLenum pname, const GLuint* params);
+typedef void (GLAPIENTRY * PFNGLSAMPLERPARAMETERFPROC) (GLuint sampler, GLenum pname, GLfloat param);
+typedef void (GLAPIENTRY * PFNGLSAMPLERPARAMETERFVPROC) (GLuint sampler, GLenum pname, const GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLSAMPLERPARAMETERIPROC) (GLuint sampler, GLenum pname, GLint param);
+typedef void (GLAPIENTRY * PFNGLSAMPLERPARAMETERIVPROC) (GLuint sampler, GLenum pname, const GLint* params);
+
+#define glBindSampler GLEW_GET_FUN(__glewBindSampler)
+#define glDeleteSamplers GLEW_GET_FUN(__glewDeleteSamplers)
+#define glGenSamplers GLEW_GET_FUN(__glewGenSamplers)
+#define glGetSamplerParameterIiv GLEW_GET_FUN(__glewGetSamplerParameterIiv)
+#define glGetSamplerParameterIuiv GLEW_GET_FUN(__glewGetSamplerParameterIuiv)
+#define glGetSamplerParameterfv GLEW_GET_FUN(__glewGetSamplerParameterfv)
+#define glGetSamplerParameteriv GLEW_GET_FUN(__glewGetSamplerParameteriv)
+#define glIsSampler GLEW_GET_FUN(__glewIsSampler)
+#define glSamplerParameterIiv GLEW_GET_FUN(__glewSamplerParameterIiv)
+#define glSamplerParameterIuiv GLEW_GET_FUN(__glewSamplerParameterIuiv)
+#define glSamplerParameterf GLEW_GET_FUN(__glewSamplerParameterf)
+#define glSamplerParameterfv GLEW_GET_FUN(__glewSamplerParameterfv)
+#define glSamplerParameteri GLEW_GET_FUN(__glewSamplerParameteri)
+#define glSamplerParameteriv GLEW_GET_FUN(__glewSamplerParameteriv)
+
+#define GLEW_ARB_sampler_objects GLEW_GET_VAR(__GLEW_ARB_sampler_objects)
+
+#endif /* GL_ARB_sampler_objects */
+
+/* ------------------------ GL_ARB_seamless_cube_map ----------------------- */
+
+#ifndef GL_ARB_seamless_cube_map
+#define GL_ARB_seamless_cube_map 1
+
+#define GL_TEXTURE_CUBE_MAP_SEAMLESS 0x884F
+
+#define GLEW_ARB_seamless_cube_map GLEW_GET_VAR(__GLEW_ARB_seamless_cube_map)
+
+#endif /* GL_ARB_seamless_cube_map */
+
+/* ----------------------- GL_ARB_shader_bit_encoding ---------------------- */
+
+#ifndef GL_ARB_shader_bit_encoding
+#define GL_ARB_shader_bit_encoding 1
+
+#define GLEW_ARB_shader_bit_encoding GLEW_GET_VAR(__GLEW_ARB_shader_bit_encoding)
+
+#endif /* GL_ARB_shader_bit_encoding */
+
+/* ------------------------- GL_ARB_shader_objects ------------------------- */
+
+#ifndef GL_ARB_shader_objects
+#define GL_ARB_shader_objects 1
+
+#define GL_PROGRAM_OBJECT_ARB 0x8B40
+#define GL_SHADER_OBJECT_ARB 0x8B48
+#define GL_OBJECT_TYPE_ARB 0x8B4E
+#define GL_OBJECT_SUBTYPE_ARB 0x8B4F
+#define GL_FLOAT_VEC2_ARB 0x8B50
+#define GL_FLOAT_VEC3_ARB 0x8B51
+#define GL_FLOAT_VEC4_ARB 0x8B52
+#define GL_INT_VEC2_ARB 0x8B53
+#define GL_INT_VEC3_ARB 0x8B54
+#define GL_INT_VEC4_ARB 0x8B55
+#define GL_BOOL_ARB 0x8B56
+#define GL_BOOL_VEC2_ARB 0x8B57
+#define GL_BOOL_VEC3_ARB 0x8B58
+#define GL_BOOL_VEC4_ARB 0x8B59
+#define GL_FLOAT_MAT2_ARB 0x8B5A
+#define GL_FLOAT_MAT3_ARB 0x8B5B
+#define GL_FLOAT_MAT4_ARB 0x8B5C
+#define GL_SAMPLER_1D_ARB 0x8B5D
+#define GL_SAMPLER_2D_ARB 0x8B5E
+#define GL_SAMPLER_3D_ARB 0x8B5F
+#define GL_SAMPLER_CUBE_ARB 0x8B60
+#define GL_SAMPLER_1D_SHADOW_ARB 0x8B61
+#define GL_SAMPLER_2D_SHADOW_ARB 0x8B62
+#define GL_SAMPLER_2D_RECT_ARB 0x8B63
+#define GL_SAMPLER_2D_RECT_SHADOW_ARB 0x8B64
+#define GL_OBJECT_DELETE_STATUS_ARB 0x8B80
+#define GL_OBJECT_COMPILE_STATUS_ARB 0x8B81
+#define GL_OBJECT_LINK_STATUS_ARB 0x8B82
+#define GL_OBJECT_VALIDATE_STATUS_ARB 0x8B83
+#define GL_OBJECT_INFO_LOG_LENGTH_ARB 0x8B84
+#define GL_OBJECT_ATTACHED_OBJECTS_ARB 0x8B85
+#define GL_OBJECT_ACTIVE_UNIFORMS_ARB 0x8B86
+#define GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB 0x8B87
+#define GL_OBJECT_SHADER_SOURCE_LENGTH_ARB 0x8B88
+
+typedef char GLcharARB;
+typedef unsigned int GLhandleARB;
+
+typedef void (GLAPIENTRY * PFNGLATTACHOBJECTARBPROC) (GLhandleARB containerObj, GLhandleARB obj);
+typedef void (GLAPIENTRY * PFNGLCOMPILESHADERARBPROC) (GLhandleARB shaderObj);
+typedef GLhandleARB (GLAPIENTRY * PFNGLCREATEPROGRAMOBJECTARBPROC) (void);
+typedef GLhandleARB (GLAPIENTRY * PFNGLCREATESHADEROBJECTARBPROC) (GLenum shaderType);
+typedef void (GLAPIENTRY * PFNGLDELETEOBJECTARBPROC) (GLhandleARB obj);
+typedef void (GLAPIENTRY * PFNGLDETACHOBJECTARBPROC) (GLhandleARB containerObj, GLhandleARB attachedObj);
+typedef void (GLAPIENTRY * PFNGLGETACTIVEUNIFORMARBPROC) (GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei* length, GLint *size, GLenum *type, GLcharARB *name);
+typedef void (GLAPIENTRY * PFNGLGETATTACHEDOBJECTSARBPROC) (GLhandleARB containerObj, GLsizei maxCount, GLsizei* count, GLhandleARB *obj);
+typedef GLhandleARB (GLAPIENTRY * PFNGLGETHANDLEARBPROC) (GLenum pname);
+typedef void (GLAPIENTRY * PFNGLGETINFOLOGARBPROC) (GLhandleARB obj, GLsizei maxLength, GLsizei* length, GLcharARB *infoLog);
+typedef void (GLAPIENTRY * PFNGLGETOBJECTPARAMETERFVARBPROC) (GLhandleARB obj, GLenum pname, GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLGETOBJECTPARAMETERIVARBPROC) (GLhandleARB obj, GLenum pname, GLint* params);
+typedef void (GLAPIENTRY * PFNGLGETSHADERSOURCEARBPROC) (GLhandleARB obj, GLsizei maxLength, GLsizei* length, GLcharARB *source);
+typedef GLint (GLAPIENTRY * PFNGLGETUNIFORMLOCATIONARBPROC) (GLhandleARB programObj, const GLcharARB* name);
+typedef void (GLAPIENTRY * PFNGLGETUNIFORMFVARBPROC) (GLhandleARB programObj, GLint location, GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLGETUNIFORMIVARBPROC) (GLhandleARB programObj, GLint location, GLint* params);
+typedef void (GLAPIENTRY * PFNGLLINKPROGRAMARBPROC) (GLhandleARB programObj);
+typedef void (GLAPIENTRY * PFNGLSHADERSOURCEARBPROC) (GLhandleARB shaderObj, GLsizei count, const GLcharARB ** string, const GLint *length);
+typedef void (GLAPIENTRY * PFNGLUNIFORM1FARBPROC) (GLint location, GLfloat v0);
+typedef void (GLAPIENTRY * PFNGLUNIFORM1FVARBPROC) (GLint location, GLsizei count, const GLfloat* value);
+typedef void (GLAPIENTRY * PFNGLUNIFORM1IARBPROC) (GLint location, GLint v0);
+typedef void (GLAPIENTRY * PFNGLUNIFORM1IVARBPROC) (GLint location, GLsizei count, const GLint* value);
+typedef void (GLAPIENTRY * PFNGLUNIFORM2FARBPROC) (GLint location, GLfloat v0, GLfloat v1);
+typedef void (GLAPIENTRY * PFNGLUNIFORM2FVARBPROC) (GLint location, GLsizei count, const GLfloat* value);
+typedef void (GLAPIENTRY * PFNGLUNIFORM2IARBPROC) (GLint location, GLint v0, GLint v1);
+typedef void (GLAPIENTRY * PFNGLUNIFORM2IVARBPROC) (GLint location, GLsizei count, const GLint* value);
+typedef void (GLAPIENTRY * PFNGLUNIFORM3FARBPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
+typedef void (GLAPIENTRY * PFNGLUNIFORM3FVARBPROC) (GLint location, GLsizei count, const GLfloat* value);
+typedef void (GLAPIENTRY * PFNGLUNIFORM3IARBPROC) (GLint location, GLint v0, GLint v1, GLint v2);
+typedef void (GLAPIENTRY * PFNGLUNIFORM3IVARBPROC) (GLint location, GLsizei count, const GLint* value);
+typedef void (GLAPIENTRY * PFNGLUNIFORM4FARBPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
+typedef void (GLAPIENTRY * PFNGLUNIFORM4FVARBPROC) (GLint location, GLsizei count, const GLfloat* value);
+typedef void (GLAPIENTRY * PFNGLUNIFORM4IARBPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
+typedef void (GLAPIENTRY * PFNGLUNIFORM4IVARBPROC) (GLint location, GLsizei count, const GLint* value);
+typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX2FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
+typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX3FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
+typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX4FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
+typedef void (GLAPIENTRY * PFNGLUSEPROGRAMOBJECTARBPROC) (GLhandleARB programObj);
+typedef void (GLAPIENTRY * PFNGLVALIDATEPROGRAMARBPROC) (GLhandleARB programObj);
+
+#define glAttachObjectARB GLEW_GET_FUN(__glewAttachObjectARB)
+#define glCompileShaderARB GLEW_GET_FUN(__glewCompileShaderARB)
+#define glCreateProgramObjectARB GLEW_GET_FUN(__glewCreateProgramObjectARB)
+#define glCreateShaderObjectARB GLEW_GET_FUN(__glewCreateShaderObjectARB)
+#define glDeleteObjectARB GLEW_GET_FUN(__glewDeleteObjectARB)
+#define glDetachObjectARB GLEW_GET_FUN(__glewDetachObjectARB)
+#define glGetActiveUniformARB GLEW_GET_FUN(__glewGetActiveUniformARB)
+#define glGetAttachedObjectsARB GLEW_GET_FUN(__glewGetAttachedObjectsARB)
+#define glGetHandleARB GLEW_GET_FUN(__glewGetHandleARB)
+#define glGetInfoLogARB GLEW_GET_FUN(__glewGetInfoLogARB)
+#define glGetObjectParameterfvARB GLEW_GET_FUN(__glewGetObjectParameterfvARB)
+#define glGetObjectParameterivARB GLEW_GET_FUN(__glewGetObjectParameterivARB)
+#define glGetShaderSourceARB GLEW_GET_FUN(__glewGetShaderSourceARB)
+#define glGetUniformLocationARB GLEW_GET_FUN(__glewGetUniformLocationARB)
+#define glGetUniformfvARB GLEW_GET_FUN(__glewGetUniformfvARB)
+#define glGetUniformivARB GLEW_GET_FUN(__glewGetUniformivARB)
+#define glLinkProgramARB GLEW_GET_FUN(__glewLinkProgramARB)
+#define glShaderSourceARB GLEW_GET_FUN(__glewShaderSourceARB)
+#define glUniform1fARB GLEW_GET_FUN(__glewUniform1fARB)
+#define glUniform1fvARB GLEW_GET_FUN(__glewUniform1fvARB)
+#define glUniform1iARB GLEW_GET_FUN(__glewUniform1iARB)
+#define glUniform1ivARB GLEW_GET_FUN(__glewUniform1ivARB)
+#define glUniform2fARB GLEW_GET_FUN(__glewUniform2fARB)
+#define glUniform2fvARB GLEW_GET_FUN(__glewUniform2fvARB)
+#define glUniform2iARB GLEW_GET_FUN(__glewUniform2iARB)
+#define glUniform2ivARB GLEW_GET_FUN(__glewUniform2ivARB)
+#define glUniform3fARB GLEW_GET_FUN(__glewUniform3fARB)
+#define glUniform3fvARB GLEW_GET_FUN(__glewUniform3fvARB)
+#define glUniform3iARB GLEW_GET_FUN(__glewUniform3iARB)
+#define glUniform3ivARB GLEW_GET_FUN(__glewUniform3ivARB)
+#define glUniform4fARB GLEW_GET_FUN(__glewUniform4fARB)
+#define glUniform4fvARB GLEW_GET_FUN(__glewUniform4fvARB)
+#define glUniform4iARB GLEW_GET_FUN(__glewUniform4iARB)
+#define glUniform4ivARB GLEW_GET_FUN(__glewUniform4ivARB)
+#define glUniformMatrix2fvARB GLEW_GET_FUN(__glewUniformMatrix2fvARB)
+#define glUniformMatrix3fvARB GLEW_GET_FUN(__glewUniformMatrix3fvARB)
+#define glUniformMatrix4fvARB GLEW_GET_FUN(__glewUniformMatrix4fvARB)
+#define glUseProgramObjectARB GLEW_GET_FUN(__glewUseProgramObjectARB)
+#define glValidateProgramARB GLEW_GET_FUN(__glewValidateProgramARB)
+
+#define GLEW_ARB_shader_objects GLEW_GET_VAR(__GLEW_ARB_shader_objects)
+
+#endif /* GL_ARB_shader_objects */
+
+/* ------------------------ GL_ARB_shader_subroutine ----------------------- */
+
+#ifndef GL_ARB_shader_subroutine
+#define GL_ARB_shader_subroutine 1
+
+#define GL_ACTIVE_SUBROUTINES 0x8DE5
+#define GL_ACTIVE_SUBROUTINE_UNIFORMS 0x8DE6
+#define GL_MAX_SUBROUTINES 0x8DE7
+#define GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS 0x8DE8
+#define GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS 0x8E47
+#define GL_ACTIVE_SUBROUTINE_MAX_LENGTH 0x8E48
+#define GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH 0x8E49
+#define GL_NUM_COMPATIBLE_SUBROUTINES 0x8E4A
+#define GL_COMPATIBLE_SUBROUTINES 0x8E4B
+
+typedef void (GLAPIENTRY * PFNGLGETACTIVESUBROUTINENAMEPROC) (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei* length, char *name);
+typedef void (GLAPIENTRY * PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC) (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei* length, char *name);
+typedef void (GLAPIENTRY * PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC) (GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint* values);
+typedef void (GLAPIENTRY * PFNGLGETPROGRAMSTAGEIVPROC) (GLuint program, GLenum shadertype, GLenum pname, GLint* values);
+typedef GLuint (GLAPIENTRY * PFNGLGETSUBROUTINEINDEXPROC) (GLuint program, GLenum shadertype, const char* name);
+typedef GLint (GLAPIENTRY * PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC) (GLuint program, GLenum shadertype, const char* name);
+typedef void (GLAPIENTRY * PFNGLGETUNIFORMSUBROUTINEUIVPROC) (GLenum shadertype, GLint location, GLuint* params);
+typedef void (GLAPIENTRY * PFNGLUNIFORMSUBROUTINESUIVPROC) (GLenum shadertype, GLsizei count, const GLuint* indices);
+
+#define glGetActiveSubroutineName GLEW_GET_FUN(__glewGetActiveSubroutineName)
+#define glGetActiveSubroutineUniformName GLEW_GET_FUN(__glewGetActiveSubroutineUniformName)
+#define glGetActiveSubroutineUniformiv GLEW_GET_FUN(__glewGetActiveSubroutineUniformiv)
+#define glGetProgramStageiv GLEW_GET_FUN(__glewGetProgramStageiv)
+#define glGetSubroutineIndex GLEW_GET_FUN(__glewGetSubroutineIndex)
+#define glGetSubroutineUniformLocation GLEW_GET_FUN(__glewGetSubroutineUniformLocation)
+#define glGetUniformSubroutineuiv GLEW_GET_FUN(__glewGetUniformSubroutineuiv)
+#define glUniformSubroutinesuiv GLEW_GET_FUN(__glewUniformSubroutinesuiv)
+
+#define GLEW_ARB_shader_subroutine GLEW_GET_VAR(__GLEW_ARB_shader_subroutine)
+
+#endif /* GL_ARB_shader_subroutine */
+
+/* ----------------------- GL_ARB_shader_texture_lod ----------------------- */
+
+#ifndef GL_ARB_shader_texture_lod
+#define GL_ARB_shader_texture_lod 1
+
+#define GLEW_ARB_shader_texture_lod GLEW_GET_VAR(__GLEW_ARB_shader_texture_lod)
+
+#endif /* GL_ARB_shader_texture_lod */
+
+/* ---------------------- GL_ARB_shading_language_100 ---------------------- */
+
+#ifndef GL_ARB_shading_language_100
+#define GL_ARB_shading_language_100 1
+
+#define GL_SHADING_LANGUAGE_VERSION_ARB 0x8B8C
+
+#define GLEW_ARB_shading_language_100 GLEW_GET_VAR(__GLEW_ARB_shading_language_100)
+
+#endif /* GL_ARB_shading_language_100 */
+
+/* -------------------- GL_ARB_shading_language_include -------------------- */
+
+#ifndef GL_ARB_shading_language_include
+#define GL_ARB_shading_language_include 1
+
+#define GL_SHADER_INCLUDE_ARB 0x8DAE
+#define GL_NAMED_STRING_LENGTH_ARB 0x8DE9
+#define GL_NAMED_STRING_TYPE_ARB 0x8DEA
+
+typedef void (GLAPIENTRY * PFNGLCOMPILESHADERINCLUDEARBPROC) (GLuint shader, GLsizei count, const char ** path, const GLint *length);
+typedef void (GLAPIENTRY * PFNGLDELETENAMEDSTRINGARBPROC) (GLint namelen, const char* name);
+typedef void (GLAPIENTRY * PFNGLGETNAMEDSTRINGARBPROC) (GLint namelen, const char* name, GLsizei bufSize, GLint *stringlen, char *string);
+typedef void (GLAPIENTRY * PFNGLGETNAMEDSTRINGIVARBPROC) (GLint namelen, const char* name, GLenum pname, GLint *params);
+typedef GLboolean (GLAPIENTRY * PFNGLISNAMEDSTRINGARBPROC) (GLint namelen, const char* name);
+typedef void (GLAPIENTRY * PFNGLNAMEDSTRINGARBPROC) (GLenum type, GLint namelen, const char* name, GLint stringlen, const char *string);
+
+#define glCompileShaderIncludeARB GLEW_GET_FUN(__glewCompileShaderIncludeARB)
+#define glDeleteNamedStringARB GLEW_GET_FUN(__glewDeleteNamedStringARB)
+#define glGetNamedStringARB GLEW_GET_FUN(__glewGetNamedStringARB)
+#define glGetNamedStringivARB GLEW_GET_FUN(__glewGetNamedStringivARB)
+#define glIsNamedStringARB GLEW_GET_FUN(__glewIsNamedStringARB)
+#define glNamedStringARB GLEW_GET_FUN(__glewNamedStringARB)
+
+#define GLEW_ARB_shading_language_include GLEW_GET_VAR(__GLEW_ARB_shading_language_include)
+
+#endif /* GL_ARB_shading_language_include */
+
+/* ----------------------------- GL_ARB_shadow ----------------------------- */
+
+#ifndef GL_ARB_shadow
+#define GL_ARB_shadow 1
+
+#define GL_TEXTURE_COMPARE_MODE_ARB 0x884C
+#define GL_TEXTURE_COMPARE_FUNC_ARB 0x884D
+#define GL_COMPARE_R_TO_TEXTURE_ARB 0x884E
+
+#define GLEW_ARB_shadow GLEW_GET_VAR(__GLEW_ARB_shadow)
+
+#endif /* GL_ARB_shadow */
+
+/* ------------------------- GL_ARB_shadow_ambient ------------------------- */
+
+#ifndef GL_ARB_shadow_ambient
+#define GL_ARB_shadow_ambient 1
+
+#define GL_TEXTURE_COMPARE_FAIL_VALUE_ARB 0x80BF
+
+#define GLEW_ARB_shadow_ambient GLEW_GET_VAR(__GLEW_ARB_shadow_ambient)
+
+#endif /* GL_ARB_shadow_ambient */
+
+/* ------------------------------ GL_ARB_sync ------------------------------ */
+
+#ifndef GL_ARB_sync
+#define GL_ARB_sync 1
+
+#define GL_SYNC_FLUSH_COMMANDS_BIT 0x00000001
+#define GL_MAX_SERVER_WAIT_TIMEOUT 0x9111
+#define GL_OBJECT_TYPE 0x9112
+#define GL_SYNC_CONDITION 0x9113
+#define GL_SYNC_STATUS 0x9114
+#define GL_SYNC_FLAGS 0x9115
+#define GL_SYNC_FENCE 0x9116
+#define GL_SYNC_GPU_COMMANDS_COMPLETE 0x9117
+#define GL_UNSIGNALED 0x9118
+#define GL_SIGNALED 0x9119
+#define GL_ALREADY_SIGNALED 0x911A
+#define GL_TIMEOUT_EXPIRED 0x911B
+#define GL_CONDITION_SATISFIED 0x911C
+#define GL_WAIT_FAILED 0x911D
+#define GL_TIMEOUT_IGNORED 0xFFFFFFFFFFFFFFFF
+
+typedef GLenum (GLAPIENTRY * PFNGLCLIENTWAITSYNCPROC) (GLsync GLsync,GLbitfield flags,GLuint64 timeout);
+typedef void (GLAPIENTRY * PFNGLDELETESYNCPROC) (GLsync GLsync);
+typedef GLsync (GLAPIENTRY * PFNGLFENCESYNCPROC) (GLenum condition,GLbitfield flags);
+typedef void (GLAPIENTRY * PFNGLGETINTEGER64VPROC) (GLenum pname, GLint64* params);
+typedef void (GLAPIENTRY * PFNGLGETSYNCIVPROC) (GLsync GLsync,GLenum pname,GLsizei bufSize,GLsizei* length, GLint *values);
+typedef GLboolean (GLAPIENTRY * PFNGLISSYNCPROC) (GLsync GLsync);
+typedef void (GLAPIENTRY * PFNGLWAITSYNCPROC) (GLsync GLsync,GLbitfield flags,GLuint64 timeout);
+
+#define glClientWaitSync GLEW_GET_FUN(__glewClientWaitSync)
+#define glDeleteSync GLEW_GET_FUN(__glewDeleteSync)
+#define glFenceSync GLEW_GET_FUN(__glewFenceSync)
+#define glGetInteger64v GLEW_GET_FUN(__glewGetInteger64v)
+#define glGetSynciv GLEW_GET_FUN(__glewGetSynciv)
+#define glIsSync GLEW_GET_FUN(__glewIsSync)
+#define glWaitSync GLEW_GET_FUN(__glewWaitSync)
+
+#define GLEW_ARB_sync GLEW_GET_VAR(__GLEW_ARB_sync)
+
+#endif /* GL_ARB_sync */
+
+/* ----------------------- GL_ARB_tessellation_shader ---------------------- */
+
+#ifndef GL_ARB_tessellation_shader
+#define GL_ARB_tessellation_shader 1
+
+#define GL_PATCHES 0xE
+#define GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER 0x84F0
+#define GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER 0x84F1
+#define GL_MAX_TESS_CONTROL_INPUT_COMPONENTS 0x886C
+#define GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS 0x886D
+#define GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS 0x8E1E
+#define GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS 0x8E1F
+#define GL_PATCH_VERTICES 0x8E72
+#define GL_PATCH_DEFAULT_INNER_LEVEL 0x8E73
+#define GL_PATCH_DEFAULT_OUTER_LEVEL 0x8E74
+#define GL_TESS_CONTROL_OUTPUT_VERTICES 0x8E75
+#define GL_TESS_GEN_MODE 0x8E76
+#define GL_TESS_GEN_SPACING 0x8E77
+#define GL_TESS_GEN_VERTEX_ORDER 0x8E78
+#define GL_TESS_GEN_POINT_MODE 0x8E79
+#define GL_ISOLINES 0x8E7A
+#define GL_FRACTIONAL_ODD 0x8E7B
+#define GL_FRACTIONAL_EVEN 0x8E7C
+#define GL_MAX_PATCH_VERTICES 0x8E7D
+#define GL_MAX_TESS_GEN_LEVEL 0x8E7E
+#define GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS 0x8E7F
+#define GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS 0x8E80
+#define GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS 0x8E81
+#define GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS 0x8E82
+#define GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS 0x8E83
+#define GL_MAX_TESS_PATCH_COMPONENTS 0x8E84
+#define GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS 0x8E85
+#define GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS 0x8E86
+#define GL_TESS_EVALUATION_SHADER 0x8E87
+#define GL_TESS_CONTROL_SHADER 0x8E88
+#define GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS 0x8E89
+#define GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS 0x8E8A
+
+typedef void (GLAPIENTRY * PFNGLPATCHPARAMETERFVPROC) (GLenum pname, const GLfloat* values);
+typedef void (GLAPIENTRY * PFNGLPATCHPARAMETERIPROC) (GLenum pname, GLint value);
+
+#define glPatchParameterfv GLEW_GET_FUN(__glewPatchParameterfv)
+#define glPatchParameteri GLEW_GET_FUN(__glewPatchParameteri)
+
+#define GLEW_ARB_tessellation_shader GLEW_GET_VAR(__GLEW_ARB_tessellation_shader)
+
+#endif /* GL_ARB_tessellation_shader */
+
+/* ---------------------- GL_ARB_texture_border_clamp ---------------------- */
+
+#ifndef GL_ARB_texture_border_clamp
+#define GL_ARB_texture_border_clamp 1
+
+#define GL_CLAMP_TO_BORDER_ARB 0x812D
+
+#define GLEW_ARB_texture_border_clamp GLEW_GET_VAR(__GLEW_ARB_texture_border_clamp)
+
+#endif /* GL_ARB_texture_border_clamp */
+
+/* ---------------------- GL_ARB_texture_buffer_object --------------------- */
+
+#ifndef GL_ARB_texture_buffer_object
+#define GL_ARB_texture_buffer_object 1
+
+#define GL_TEXTURE_BUFFER_ARB 0x8C2A
+#define GL_MAX_TEXTURE_BUFFER_SIZE_ARB 0x8C2B
+#define GL_TEXTURE_BINDING_BUFFER_ARB 0x8C2C
+#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB 0x8C2D
+#define GL_TEXTURE_BUFFER_FORMAT_ARB 0x8C2E
+
+typedef void (GLAPIENTRY * PFNGLTEXBUFFERARBPROC) (GLenum target, GLenum internalformat, GLuint buffer);
+
+#define glTexBufferARB GLEW_GET_FUN(__glewTexBufferARB)
+
+#define GLEW_ARB_texture_buffer_object GLEW_GET_VAR(__GLEW_ARB_texture_buffer_object)
+
+#endif /* GL_ARB_texture_buffer_object */
+
+/* ------------------- GL_ARB_texture_buffer_object_rgb32 ------------------ */
+
+#ifndef GL_ARB_texture_buffer_object_rgb32
+#define GL_ARB_texture_buffer_object_rgb32 1
+
+#define GLEW_ARB_texture_buffer_object_rgb32 GLEW_GET_VAR(__GLEW_ARB_texture_buffer_object_rgb32)
+
+#endif /* GL_ARB_texture_buffer_object_rgb32 */
+
+/* ----------------------- GL_ARB_texture_compression ---------------------- */
+
+#ifndef GL_ARB_texture_compression
+#define GL_ARB_texture_compression 1
+
+#define GL_COMPRESSED_ALPHA_ARB 0x84E9
+#define GL_COMPRESSED_LUMINANCE_ARB 0x84EA
+#define GL_COMPRESSED_LUMINANCE_ALPHA_ARB 0x84EB
+#define GL_COMPRESSED_INTENSITY_ARB 0x84EC
+#define GL_COMPRESSED_RGB_ARB 0x84ED
+#define GL_COMPRESSED_RGBA_ARB 0x84EE
+#define GL_TEXTURE_COMPRESSION_HINT_ARB 0x84EF
+#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB 0x86A0
+#define GL_TEXTURE_COMPRESSED_ARB 0x86A1
+#define GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A2
+#define GL_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A3
+
+typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXIMAGE1DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void* data);
+typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXIMAGE2DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void* data);
+typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXIMAGE3DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void* data);
+typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void* data);
+typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void* data);
+typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void* data);
+typedef void (GLAPIENTRY * PFNGLGETCOMPRESSEDTEXIMAGEARBPROC) (GLenum target, GLint lod, void* img);
+
+#define glCompressedTexImage1DARB GLEW_GET_FUN(__glewCompressedTexImage1DARB)
+#define glCompressedTexImage2DARB GLEW_GET_FUN(__glewCompressedTexImage2DARB)
+#define glCompressedTexImage3DARB GLEW_GET_FUN(__glewCompressedTexImage3DARB)
+#define glCompressedTexSubImage1DARB GLEW_GET_FUN(__glewCompressedTexSubImage1DARB)
+#define glCompressedTexSubImage2DARB GLEW_GET_FUN(__glewCompressedTexSubImage2DARB)
+#define glCompressedTexSubImage3DARB GLEW_GET_FUN(__glewCompressedTexSubImage3DARB)
+#define glGetCompressedTexImageARB GLEW_GET_FUN(__glewGetCompressedTexImageARB)
+
+#define GLEW_ARB_texture_compression GLEW_GET_VAR(__GLEW_ARB_texture_compression)
+
+#endif /* GL_ARB_texture_compression */
+
+/* -------------------- GL_ARB_texture_compression_bptc -------------------- */
+
+#ifndef GL_ARB_texture_compression_bptc
+#define GL_ARB_texture_compression_bptc 1
+
+#define GL_COMPRESSED_RGBA_BPTC_UNORM_ARB 0x8E8C
+#define GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB 0x8E8D
+#define GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB 0x8E8E
+#define GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB 0x8E8F
+
+#define GLEW_ARB_texture_compression_bptc GLEW_GET_VAR(__GLEW_ARB_texture_compression_bptc)
+
+#endif /* GL_ARB_texture_compression_bptc */
+
+/* -------------------- GL_ARB_texture_compression_rgtc -------------------- */
+
+#ifndef GL_ARB_texture_compression_rgtc
+#define GL_ARB_texture_compression_rgtc 1
+
+#define GL_COMPRESSED_RED_RGTC1 0x8DBB
+#define GL_COMPRESSED_SIGNED_RED_RGTC1 0x8DBC
+#define GL_COMPRESSED_RG_RGTC2 0x8DBD
+#define GL_COMPRESSED_SIGNED_RG_RGTC2 0x8DBE
+
+#define GLEW_ARB_texture_compression_rgtc GLEW_GET_VAR(__GLEW_ARB_texture_compression_rgtc)
+
+#endif /* GL_ARB_texture_compression_rgtc */
+
+/* ------------------------ GL_ARB_texture_cube_map ------------------------ */
+
+#ifndef GL_ARB_texture_cube_map
+#define GL_ARB_texture_cube_map 1
+
+#define GL_NORMAL_MAP_ARB 0x8511
+#define GL_REFLECTION_MAP_ARB 0x8512
+#define GL_TEXTURE_CUBE_MAP_ARB 0x8513
+#define GL_TEXTURE_BINDING_CUBE_MAP_ARB 0x8514
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x8515
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x8516
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x8517
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x8518
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x8519
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x851A
+#define GL_PROXY_TEXTURE_CUBE_MAP_ARB 0x851B
+#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB 0x851C
+
+#define GLEW_ARB_texture_cube_map GLEW_GET_VAR(__GLEW_ARB_texture_cube_map)
+
+#endif /* GL_ARB_texture_cube_map */
+
+/* --------------------- GL_ARB_texture_cube_map_array --------------------- */
+
+#ifndef GL_ARB_texture_cube_map_array
+#define GL_ARB_texture_cube_map_array 1
+
+#define GL_TEXTURE_CUBE_MAP_ARRAY_ARB 0x9009
+#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB 0x900A
+#define GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB 0x900B
+#define GL_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900C
+#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB 0x900D
+#define GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900E
+#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB 0x900F
+
+#define GLEW_ARB_texture_cube_map_array GLEW_GET_VAR(__GLEW_ARB_texture_cube_map_array)
+
+#endif /* GL_ARB_texture_cube_map_array */
+
+/* ------------------------- GL_ARB_texture_env_add ------------------------ */
+
+#ifndef GL_ARB_texture_env_add
+#define GL_ARB_texture_env_add 1
+
+#define GLEW_ARB_texture_env_add GLEW_GET_VAR(__GLEW_ARB_texture_env_add)
+
+#endif /* GL_ARB_texture_env_add */
+
+/* ----------------------- GL_ARB_texture_env_combine ---------------------- */
+
+#ifndef GL_ARB_texture_env_combine
+#define GL_ARB_texture_env_combine 1
+
+#define GL_SUBTRACT_ARB 0x84E7
+#define GL_COMBINE_ARB 0x8570
+#define GL_COMBINE_RGB_ARB 0x8571
+#define GL_COMBINE_ALPHA_ARB 0x8572
+#define GL_RGB_SCALE_ARB 0x8573
+#define GL_ADD_SIGNED_ARB 0x8574
+#define GL_INTERPOLATE_ARB 0x8575
+#define GL_CONSTANT_ARB 0x8576
+#define GL_PRIMARY_COLOR_ARB 0x8577
+#define GL_PREVIOUS_ARB 0x8578
+#define GL_SOURCE0_RGB_ARB 0x8580
+#define GL_SOURCE1_RGB_ARB 0x8581
+#define GL_SOURCE2_RGB_ARB 0x8582
+#define GL_SOURCE0_ALPHA_ARB 0x8588
+#define GL_SOURCE1_ALPHA_ARB 0x8589
+#define GL_SOURCE2_ALPHA_ARB 0x858A
+#define GL_OPERAND0_RGB_ARB 0x8590
+#define GL_OPERAND1_RGB_ARB 0x8591
+#define GL_OPERAND2_RGB_ARB 0x8592
+#define GL_OPERAND0_ALPHA_ARB 0x8598
+#define GL_OPERAND1_ALPHA_ARB 0x8599
+#define GL_OPERAND2_ALPHA_ARB 0x859A
+
+#define GLEW_ARB_texture_env_combine GLEW_GET_VAR(__GLEW_ARB_texture_env_combine)
+
+#endif /* GL_ARB_texture_env_combine */
+
+/* ---------------------- GL_ARB_texture_env_crossbar ---------------------- */
+
+#ifndef GL_ARB_texture_env_crossbar
+#define GL_ARB_texture_env_crossbar 1
+
+#define GLEW_ARB_texture_env_crossbar GLEW_GET_VAR(__GLEW_ARB_texture_env_crossbar)
+
+#endif /* GL_ARB_texture_env_crossbar */
+
+/* ------------------------ GL_ARB_texture_env_dot3 ------------------------ */
+
+#ifndef GL_ARB_texture_env_dot3
+#define GL_ARB_texture_env_dot3 1
+
+#define GL_DOT3_RGB_ARB 0x86AE
+#define GL_DOT3_RGBA_ARB 0x86AF
+
+#define GLEW_ARB_texture_env_dot3 GLEW_GET_VAR(__GLEW_ARB_texture_env_dot3)
+
+#endif /* GL_ARB_texture_env_dot3 */
+
+/* -------------------------- GL_ARB_texture_float ------------------------- */
+
+#ifndef GL_ARB_texture_float
+#define GL_ARB_texture_float 1
+
+#define GL_RGBA32F_ARB 0x8814
+#define GL_RGB32F_ARB 0x8815
+#define GL_ALPHA32F_ARB 0x8816
+#define GL_INTENSITY32F_ARB 0x8817
+#define GL_LUMINANCE32F_ARB 0x8818
+#define GL_LUMINANCE_ALPHA32F_ARB 0x8819
+#define GL_RGBA16F_ARB 0x881A
+#define GL_RGB16F_ARB 0x881B
+#define GL_ALPHA16F_ARB 0x881C
+#define GL_INTENSITY16F_ARB 0x881D
+#define GL_LUMINANCE16F_ARB 0x881E
+#define GL_LUMINANCE_ALPHA16F_ARB 0x881F
+#define GL_TEXTURE_RED_TYPE_ARB 0x8C10
+#define GL_TEXTURE_GREEN_TYPE_ARB 0x8C11
+#define GL_TEXTURE_BLUE_TYPE_ARB 0x8C12
+#define GL_TEXTURE_ALPHA_TYPE_ARB 0x8C13
+#define GL_TEXTURE_LUMINANCE_TYPE_ARB 0x8C14
+#define GL_TEXTURE_INTENSITY_TYPE_ARB 0x8C15
+#define GL_TEXTURE_DEPTH_TYPE_ARB 0x8C16
+#define GL_UNSIGNED_NORMALIZED_ARB 0x8C17
+
+#define GLEW_ARB_texture_float GLEW_GET_VAR(__GLEW_ARB_texture_float)
+
+#endif /* GL_ARB_texture_float */
+
+/* ------------------------- GL_ARB_texture_gather ------------------------- */
+
+#ifndef GL_ARB_texture_gather
+#define GL_ARB_texture_gather 1
+
+#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB 0x8E5E
+#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB 0x8E5F
+#define GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB 0x8F9F
+
+#define GLEW_ARB_texture_gather GLEW_GET_VAR(__GLEW_ARB_texture_gather)
+
+#endif /* GL_ARB_texture_gather */
+
+/* --------------------- GL_ARB_texture_mirrored_repeat -------------------- */
+
+#ifndef GL_ARB_texture_mirrored_repeat
+#define GL_ARB_texture_mirrored_repeat 1
+
+#define GL_MIRRORED_REPEAT_ARB 0x8370
+
+#define GLEW_ARB_texture_mirrored_repeat GLEW_GET_VAR(__GLEW_ARB_texture_mirrored_repeat)
+
+#endif /* GL_ARB_texture_mirrored_repeat */
+
+/* ----------------------- GL_ARB_texture_multisample ---------------------- */
+
+#ifndef GL_ARB_texture_multisample
+#define GL_ARB_texture_multisample 1
+
+#define GL_SAMPLE_POSITION 0x8E50
+#define GL_SAMPLE_MASK 0x8E51
+#define GL_SAMPLE_MASK_VALUE 0x8E52
+#define GL_MAX_SAMPLE_MASK_WORDS 0x8E59
+#define GL_TEXTURE_2D_MULTISAMPLE 0x9100
+#define GL_PROXY_TEXTURE_2D_MULTISAMPLE 0x9101
+#define GL_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9102
+#define GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9103
+#define GL_TEXTURE_BINDING_2D_MULTISAMPLE 0x9104
+#define GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY 0x9105
+#define GL_TEXTURE_SAMPLES 0x9106
+#define GL_TEXTURE_FIXED_SAMPLE_LOCATIONS 0x9107
+#define GL_SAMPLER_2D_MULTISAMPLE 0x9108
+#define GL_INT_SAMPLER_2D_MULTISAMPLE 0x9109
+#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE 0x910A
+#define GL_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910B
+#define GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910C
+#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910D
+#define GL_MAX_COLOR_TEXTURE_SAMPLES 0x910E
+#define GL_MAX_DEPTH_TEXTURE_SAMPLES 0x910F
+#define GL_MAX_INTEGER_SAMPLES 0x9110
+
+typedef void (GLAPIENTRY * PFNGLGETMULTISAMPLEFVPROC) (GLenum pname, GLuint index, GLfloat* val);
+typedef void (GLAPIENTRY * PFNGLSAMPLEMASKIPROC) (GLuint index, GLbitfield mask);
+typedef void (GLAPIENTRY * PFNGLTEXIMAGE2DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
+typedef void (GLAPIENTRY * PFNGLTEXIMAGE3DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
+
+#define glGetMultisamplefv GLEW_GET_FUN(__glewGetMultisamplefv)
+#define glSampleMaski GLEW_GET_FUN(__glewSampleMaski)
+#define glTexImage2DMultisample GLEW_GET_FUN(__glewTexImage2DMultisample)
+#define glTexImage3DMultisample GLEW_GET_FUN(__glewTexImage3DMultisample)
+
+#define GLEW_ARB_texture_multisample GLEW_GET_VAR(__GLEW_ARB_texture_multisample)
+
+#endif /* GL_ARB_texture_multisample */
+
+/* -------------------- GL_ARB_texture_non_power_of_two -------------------- */
+
+#ifndef GL_ARB_texture_non_power_of_two
+#define GL_ARB_texture_non_power_of_two 1
+
+#define GLEW_ARB_texture_non_power_of_two GLEW_GET_VAR(__GLEW_ARB_texture_non_power_of_two)
+
+#endif /* GL_ARB_texture_non_power_of_two */
+
+/* ------------------------ GL_ARB_texture_query_lod ----------------------- */
+
+#ifndef GL_ARB_texture_query_lod
+#define GL_ARB_texture_query_lod 1
+
+#define GLEW_ARB_texture_query_lod GLEW_GET_VAR(__GLEW_ARB_texture_query_lod)
+
+#endif /* GL_ARB_texture_query_lod */
+
+/* ------------------------ GL_ARB_texture_rectangle ----------------------- */
+
+#ifndef GL_ARB_texture_rectangle
+#define GL_ARB_texture_rectangle 1
+
+#define GL_TEXTURE_RECTANGLE_ARB 0x84F5
+#define GL_TEXTURE_BINDING_RECTANGLE_ARB 0x84F6
+#define GL_PROXY_TEXTURE_RECTANGLE_ARB 0x84F7
+#define GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB 0x84F8
+#define GL_SAMPLER_2D_RECT_ARB 0x8B63
+#define GL_SAMPLER_2D_RECT_SHADOW_ARB 0x8B64
+
+#define GLEW_ARB_texture_rectangle GLEW_GET_VAR(__GLEW_ARB_texture_rectangle)
+
+#endif /* GL_ARB_texture_rectangle */
+
+/* --------------------------- GL_ARB_texture_rg --------------------------- */
+
+#ifndef GL_ARB_texture_rg
+#define GL_ARB_texture_rg 1
+
+#define GL_RED 0x1903
+#define GL_COMPRESSED_RED 0x8225
+#define GL_COMPRESSED_RG 0x8226
+#define GL_RG 0x8227
+#define GL_RG_INTEGER 0x8228
+#define GL_R8 0x8229
+#define GL_R16 0x822A
+#define GL_RG8 0x822B
+#define GL_RG16 0x822C
+#define GL_R16F 0x822D
+#define GL_R32F 0x822E
+#define GL_RG16F 0x822F
+#define GL_RG32F 0x8230
+#define GL_R8I 0x8231
+#define GL_R8UI 0x8232
+#define GL_R16I 0x8233
+#define GL_R16UI 0x8234
+#define GL_R32I 0x8235
+#define GL_R32UI 0x8236
+#define GL_RG8I 0x8237
+#define GL_RG8UI 0x8238
+#define GL_RG16I 0x8239
+#define GL_RG16UI 0x823A
+#define GL_RG32I 0x823B
+#define GL_RG32UI 0x823C
+
+#define GLEW_ARB_texture_rg GLEW_GET_VAR(__GLEW_ARB_texture_rg)
+
+#endif /* GL_ARB_texture_rg */
+
+/* ----------------------- GL_ARB_texture_rgb10_a2ui ----------------------- */
+
+#ifndef GL_ARB_texture_rgb10_a2ui
+#define GL_ARB_texture_rgb10_a2ui 1
+
+#define GL_RGB10_A2UI 0x906F
+
+#define GLEW_ARB_texture_rgb10_a2ui GLEW_GET_VAR(__GLEW_ARB_texture_rgb10_a2ui)
+
+#endif /* GL_ARB_texture_rgb10_a2ui */
+
+/* ------------------------- GL_ARB_texture_swizzle ------------------------ */
+
+#ifndef GL_ARB_texture_swizzle
+#define GL_ARB_texture_swizzle 1
+
+#define GL_TEXTURE_SWIZZLE_R 0x8E42
+#define GL_TEXTURE_SWIZZLE_G 0x8E43
+#define GL_TEXTURE_SWIZZLE_B 0x8E44
+#define GL_TEXTURE_SWIZZLE_A 0x8E45
+#define GL_TEXTURE_SWIZZLE_RGBA 0x8E46
+
+#define GLEW_ARB_texture_swizzle GLEW_GET_VAR(__GLEW_ARB_texture_swizzle)
+
+#endif /* GL_ARB_texture_swizzle */
+
+/* --------------------------- GL_ARB_timer_query -------------------------- */
+
+#ifndef GL_ARB_timer_query
+#define GL_ARB_timer_query 1
+
+#define GL_TIME_ELAPSED 0x88BF
+#define GL_TIMESTAMP 0x8E28
+
+typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTI64VPROC) (GLuint id, GLenum pname, GLint64* params);
+typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTUI64VPROC) (GLuint id, GLenum pname, GLuint64* params);
+typedef void (GLAPIENTRY * PFNGLQUERYCOUNTERPROC) (GLuint id, GLenum target);
+
+#define glGetQueryObjecti64v GLEW_GET_FUN(__glewGetQueryObjecti64v)
+#define glGetQueryObjectui64v GLEW_GET_FUN(__glewGetQueryObjectui64v)
+#define glQueryCounter GLEW_GET_FUN(__glewQueryCounter)
+
+#define GLEW_ARB_timer_query GLEW_GET_VAR(__GLEW_ARB_timer_query)
+
+#endif /* GL_ARB_timer_query */
+
+/* ----------------------- GL_ARB_transform_feedback2 ---------------------- */
+
+#ifndef GL_ARB_transform_feedback2
+#define GL_ARB_transform_feedback2 1
+
+#define GL_TRANSFORM_FEEDBACK 0x8E22
+#define GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED 0x8E23
+#define GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE 0x8E24
+#define GL_TRANSFORM_FEEDBACK_BINDING 0x8E25
+
+typedef void (GLAPIENTRY * PFNGLBINDTRANSFORMFEEDBACKPROC) (GLenum target, GLuint id);
+typedef void (GLAPIENTRY * PFNGLDELETETRANSFORMFEEDBACKSPROC) (GLsizei n, const GLuint* ids);
+typedef void (GLAPIENTRY * PFNGLDRAWTRANSFORMFEEDBACKPROC) (GLenum mode, GLuint id);
+typedef void (GLAPIENTRY * PFNGLGENTRANSFORMFEEDBACKSPROC) (GLsizei n, GLuint* ids);
+typedef GLboolean (GLAPIENTRY * PFNGLISTRANSFORMFEEDBACKPROC) (GLuint id);
+typedef void (GLAPIENTRY * PFNGLPAUSETRANSFORMFEEDBACKPROC) (void);
+typedef void (GLAPIENTRY * PFNGLRESUMETRANSFORMFEEDBACKPROC) (void);
+
+#define glBindTransformFeedback GLEW_GET_FUN(__glewBindTransformFeedback)
+#define glDeleteTransformFeedbacks GLEW_GET_FUN(__glewDeleteTransformFeedbacks)
+#define glDrawTransformFeedback GLEW_GET_FUN(__glewDrawTransformFeedback)
+#define glGenTransformFeedbacks GLEW_GET_FUN(__glewGenTransformFeedbacks)
+#define glIsTransformFeedback GLEW_GET_FUN(__glewIsTransformFeedback)
+#define glPauseTransformFeedback GLEW_GET_FUN(__glewPauseTransformFeedback)
+#define glResumeTransformFeedback GLEW_GET_FUN(__glewResumeTransformFeedback)
+
+#define GLEW_ARB_transform_feedback2 GLEW_GET_VAR(__GLEW_ARB_transform_feedback2)
+
+#endif /* GL_ARB_transform_feedback2 */
+
+/* ----------------------- GL_ARB_transform_feedback3 ---------------------- */
+
+#ifndef GL_ARB_transform_feedback3
+#define GL_ARB_transform_feedback3 1
+
+#define GL_MAX_TRANSFORM_FEEDBACK_BUFFERS 0x8E70
+#define GL_MAX_VERTEX_STREAMS 0x8E71
+
+typedef void (GLAPIENTRY * PFNGLBEGINQUERYINDEXEDPROC) (GLenum target, GLuint index, GLuint id);
+typedef void (GLAPIENTRY * PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC) (GLenum mode, GLuint id, GLuint stream);
+typedef void (GLAPIENTRY * PFNGLENDQUERYINDEXEDPROC) (GLenum target, GLuint index);
+typedef void (GLAPIENTRY * PFNGLGETQUERYINDEXEDIVPROC) (GLenum target, GLuint index, GLenum pname, GLint* params);
+
+#define glBeginQueryIndexed GLEW_GET_FUN(__glewBeginQueryIndexed)
+#define glDrawTransformFeedbackStream GLEW_GET_FUN(__glewDrawTransformFeedbackStream)
+#define glEndQueryIndexed GLEW_GET_FUN(__glewEndQueryIndexed)
+#define glGetQueryIndexediv GLEW_GET_FUN(__glewGetQueryIndexediv)
+
+#define GLEW_ARB_transform_feedback3 GLEW_GET_VAR(__GLEW_ARB_transform_feedback3)
+
+#endif /* GL_ARB_transform_feedback3 */
+
+/* ------------------------ GL_ARB_transpose_matrix ------------------------ */
+
+#ifndef GL_ARB_transpose_matrix
+#define GL_ARB_transpose_matrix 1
+
+#define GL_TRANSPOSE_MODELVIEW_MATRIX_ARB 0x84E3
+#define GL_TRANSPOSE_PROJECTION_MATRIX_ARB 0x84E4
+#define GL_TRANSPOSE_TEXTURE_MATRIX_ARB 0x84E5
+#define GL_TRANSPOSE_COLOR_MATRIX_ARB 0x84E6
+
+typedef void (GLAPIENTRY * PFNGLLOADTRANSPOSEMATRIXDARBPROC) (GLdouble m[16]);
+typedef void (GLAPIENTRY * PFNGLLOADTRANSPOSEMATRIXFARBPROC) (GLfloat m[16]);
+typedef void (GLAPIENTRY * PFNGLMULTTRANSPOSEMATRIXDARBPROC) (GLdouble m[16]);
+typedef void (GLAPIENTRY * PFNGLMULTTRANSPOSEMATRIXFARBPROC) (GLfloat m[16]);
+
+#define glLoadTransposeMatrixdARB GLEW_GET_FUN(__glewLoadTransposeMatrixdARB)
+#define glLoadTransposeMatrixfARB GLEW_GET_FUN(__glewLoadTransposeMatrixfARB)
+#define glMultTransposeMatrixdARB GLEW_GET_FUN(__glewMultTransposeMatrixdARB)
+#define glMultTransposeMatrixfARB GLEW_GET_FUN(__glewMultTransposeMatrixfARB)
+
+#define GLEW_ARB_transpose_matrix GLEW_GET_VAR(__GLEW_ARB_transpose_matrix)
+
+#endif /* GL_ARB_transpose_matrix */
+
+/* ---------------------- GL_ARB_uniform_buffer_object --------------------- */
+
+#ifndef GL_ARB_uniform_buffer_object
+#define GL_ARB_uniform_buffer_object 1
+
+#define GL_UNIFORM_BUFFER 0x8A11
+#define GL_UNIFORM_BUFFER_BINDING 0x8A28
+#define GL_UNIFORM_BUFFER_START 0x8A29
+#define GL_UNIFORM_BUFFER_SIZE 0x8A2A
+#define GL_MAX_VERTEX_UNIFORM_BLOCKS 0x8A2B
+#define GL_MAX_GEOMETRY_UNIFORM_BLOCKS 0x8A2C
+#define GL_MAX_FRAGMENT_UNIFORM_BLOCKS 0x8A2D
+#define GL_MAX_COMBINED_UNIFORM_BLOCKS 0x8A2E
+#define GL_MAX_UNIFORM_BUFFER_BINDINGS 0x8A2F
+#define GL_MAX_UNIFORM_BLOCK_SIZE 0x8A30
+#define GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS 0x8A31
+#define GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS 0x8A32
+#define GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS 0x8A33
+#define GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT 0x8A34
+#define GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH 0x8A35
+#define GL_ACTIVE_UNIFORM_BLOCKS 0x8A36
+#define GL_UNIFORM_TYPE 0x8A37
+#define GL_UNIFORM_SIZE 0x8A38
+#define GL_UNIFORM_NAME_LENGTH 0x8A39
+#define GL_UNIFORM_BLOCK_INDEX 0x8A3A
+#define GL_UNIFORM_OFFSET 0x8A3B
+#define GL_UNIFORM_ARRAY_STRIDE 0x8A3C
+#define GL_UNIFORM_MATRIX_STRIDE 0x8A3D
+#define GL_UNIFORM_IS_ROW_MAJOR 0x8A3E
+#define GL_UNIFORM_BLOCK_BINDING 0x8A3F
+#define GL_UNIFORM_BLOCK_DATA_SIZE 0x8A40
+#define GL_UNIFORM_BLOCK_NAME_LENGTH 0x8A41
+#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS 0x8A42
+#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES 0x8A43
+#define GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER 0x8A44
+#define GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER 0x8A45
+#define GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER 0x8A46
+#define GL_INVALID_INDEX 0xFFFFFFFF
+
+typedef void (GLAPIENTRY * PFNGLBINDBUFFERBASEPROC) (GLenum target, GLuint index, GLuint buffer);
+typedef void (GLAPIENTRY * PFNGLBINDBUFFERRANGEPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
+typedef void (GLAPIENTRY * PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC) (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei* length, char* uniformBlockName);
+typedef void (GLAPIENTRY * PFNGLGETACTIVEUNIFORMBLOCKIVPROC) (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint* params);
+typedef void (GLAPIENTRY * PFNGLGETACTIVEUNIFORMNAMEPROC) (GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei* length, char* uniformName);
+typedef void (GLAPIENTRY * PFNGLGETACTIVEUNIFORMSIVPROC) (GLuint program, GLsizei uniformCount, const GLuint* uniformIndices, GLenum pname, GLint* params);
+typedef void (GLAPIENTRY * PFNGLGETINTEGERI_VPROC) (GLenum target, GLuint index, GLint* data);
+typedef GLuint (GLAPIENTRY * PFNGLGETUNIFORMBLOCKINDEXPROC) (GLuint program, const char* uniformBlockName);
+typedef void (GLAPIENTRY * PFNGLGETUNIFORMINDICESPROC) (GLuint program, GLsizei uniformCount, const char** uniformNames, GLuint* uniformIndices);
+typedef void (GLAPIENTRY * PFNGLUNIFORMBLOCKBINDINGPROC) (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
+
+#define glBindBufferBase GLEW_GET_FUN(__glewBindBufferBase)
+#define glBindBufferRange GLEW_GET_FUN(__glewBindBufferRange)
+#define glGetActiveUniformBlockName GLEW_GET_FUN(__glewGetActiveUniformBlockName)
+#define glGetActiveUniformBlockiv GLEW_GET_FUN(__glewGetActiveUniformBlockiv)
+#define glGetActiveUniformName GLEW_GET_FUN(__glewGetActiveUniformName)
+#define glGetActiveUniformsiv GLEW_GET_FUN(__glewGetActiveUniformsiv)
+#define glGetIntegeri_v GLEW_GET_FUN(__glewGetIntegeri_v)
+#define glGetUniformBlockIndex GLEW_GET_FUN(__glewGetUniformBlockIndex)
+#define glGetUniformIndices GLEW_GET_FUN(__glewGetUniformIndices)
+#define glUniformBlockBinding GLEW_GET_FUN(__glewUniformBlockBinding)
+
+#define GLEW_ARB_uniform_buffer_object GLEW_GET_VAR(__GLEW_ARB_uniform_buffer_object)
+
+#endif /* GL_ARB_uniform_buffer_object */
+
+/* ------------------------ GL_ARB_vertex_array_bgra ----------------------- */
+
+#ifndef GL_ARB_vertex_array_bgra
+#define GL_ARB_vertex_array_bgra 1
+
+#define GL_BGRA 0x80E1
+
+#define GLEW_ARB_vertex_array_bgra GLEW_GET_VAR(__GLEW_ARB_vertex_array_bgra)
+
+#endif /* GL_ARB_vertex_array_bgra */
+
+/* ----------------------- GL_ARB_vertex_array_object ---------------------- */
+
+#ifndef GL_ARB_vertex_array_object
+#define GL_ARB_vertex_array_object 1
+
+#define GL_VERTEX_ARRAY_BINDING 0x85B5
+
+typedef void (GLAPIENTRY * PFNGLBINDVERTEXARRAYPROC) (GLuint array);
+typedef void (GLAPIENTRY * PFNGLDELETEVERTEXARRAYSPROC) (GLsizei n, const GLuint* arrays);
+typedef void (GLAPIENTRY * PFNGLGENVERTEXARRAYSPROC) (GLsizei n, GLuint* arrays);
+typedef GLboolean (GLAPIENTRY * PFNGLISVERTEXARRAYPROC) (GLuint array);
+
+#define glBindVertexArray GLEW_GET_FUN(__glewBindVertexArray)
+#define glDeleteVertexArrays GLEW_GET_FUN(__glewDeleteVertexArrays)
+#define glGenVertexArrays GLEW_GET_FUN(__glewGenVertexArrays)
+#define glIsVertexArray GLEW_GET_FUN(__glewIsVertexArray)
+
+#define GLEW_ARB_vertex_array_object GLEW_GET_VAR(__GLEW_ARB_vertex_array_object)
+
+#endif /* GL_ARB_vertex_array_object */
+
+/* -------------------------- GL_ARB_vertex_blend -------------------------- */
+
+#ifndef GL_ARB_vertex_blend
+#define GL_ARB_vertex_blend 1
+
+#define GL_MODELVIEW0_ARB 0x1700
+#define GL_MODELVIEW1_ARB 0x850A
+#define GL_MAX_VERTEX_UNITS_ARB 0x86A4
+#define GL_ACTIVE_VERTEX_UNITS_ARB 0x86A5
+#define GL_WEIGHT_SUM_UNITY_ARB 0x86A6
+#define GL_VERTEX_BLEND_ARB 0x86A7
+#define GL_CURRENT_WEIGHT_ARB 0x86A8
+#define GL_WEIGHT_ARRAY_TYPE_ARB 0x86A9
+#define GL_WEIGHT_ARRAY_STRIDE_ARB 0x86AA
+#define GL_WEIGHT_ARRAY_SIZE_ARB 0x86AB
+#define GL_WEIGHT_ARRAY_POINTER_ARB 0x86AC
+#define GL_WEIGHT_ARRAY_ARB 0x86AD
+#define GL_MODELVIEW2_ARB 0x8722
+#define GL_MODELVIEW3_ARB 0x8723
+#define GL_MODELVIEW4_ARB 0x8724
+#define GL_MODELVIEW5_ARB 0x8725
+#define GL_MODELVIEW6_ARB 0x8726
+#define GL_MODELVIEW7_ARB 0x8727
+#define GL_MODELVIEW8_ARB 0x8728
+#define GL_MODELVIEW9_ARB 0x8729
+#define GL_MODELVIEW10_ARB 0x872A
+#define GL_MODELVIEW11_ARB 0x872B
+#define GL_MODELVIEW12_ARB 0x872C
+#define GL_MODELVIEW13_ARB 0x872D
+#define GL_MODELVIEW14_ARB 0x872E
+#define GL_MODELVIEW15_ARB 0x872F
+#define GL_MODELVIEW16_ARB 0x8730
+#define GL_MODELVIEW17_ARB 0x8731
+#define GL_MODELVIEW18_ARB 0x8732
+#define GL_MODELVIEW19_ARB 0x8733
+#define GL_MODELVIEW20_ARB 0x8734
+#define GL_MODELVIEW21_ARB 0x8735
+#define GL_MODELVIEW22_ARB 0x8736
+#define GL_MODELVIEW23_ARB 0x8737
+#define GL_MODELVIEW24_ARB 0x8738
+#define GL_MODELVIEW25_ARB 0x8739
+#define GL_MODELVIEW26_ARB 0x873A
+#define GL_MODELVIEW27_ARB 0x873B
+#define GL_MODELVIEW28_ARB 0x873C
+#define GL_MODELVIEW29_ARB 0x873D
+#define GL_MODELVIEW30_ARB 0x873E
+#define GL_MODELVIEW31_ARB 0x873F
+
+typedef void (GLAPIENTRY * PFNGLVERTEXBLENDARBPROC) (GLint count);
+typedef void (GLAPIENTRY * PFNGLWEIGHTPOINTERARBPROC) (GLint size, GLenum type, GLsizei stride, GLvoid *pointer);
+typedef void (GLAPIENTRY * PFNGLWEIGHTBVARBPROC) (GLint size, GLbyte *weights);
+typedef void (GLAPIENTRY * PFNGLWEIGHTDVARBPROC) (GLint size, GLdouble *weights);
+typedef void (GLAPIENTRY * PFNGLWEIGHTFVARBPROC) (GLint size, GLfloat *weights);
+typedef void (GLAPIENTRY * PFNGLWEIGHTIVARBPROC) (GLint size, GLint *weights);
+typedef void (GLAPIENTRY * PFNGLWEIGHTSVARBPROC) (GLint size, GLshort *weights);
+typedef void (GLAPIENTRY * PFNGLWEIGHTUBVARBPROC) (GLint size, GLubyte *weights);
+typedef void (GLAPIENTRY * PFNGLWEIGHTUIVARBPROC) (GLint size, GLuint *weights);
+typedef void (GLAPIENTRY * PFNGLWEIGHTUSVARBPROC) (GLint size, GLushort *weights);
+
+#define glVertexBlendARB GLEW_GET_FUN(__glewVertexBlendARB)
+#define glWeightPointerARB GLEW_GET_FUN(__glewWeightPointerARB)
+#define glWeightbvARB GLEW_GET_FUN(__glewWeightbvARB)
+#define glWeightdvARB GLEW_GET_FUN(__glewWeightdvARB)
+#define glWeightfvARB GLEW_GET_FUN(__glewWeightfvARB)
+#define glWeightivARB GLEW_GET_FUN(__glewWeightivARB)
+#define glWeightsvARB GLEW_GET_FUN(__glewWeightsvARB)
+#define glWeightubvARB GLEW_GET_FUN(__glewWeightubvARB)
+#define glWeightuivARB GLEW_GET_FUN(__glewWeightuivARB)
+#define glWeightusvARB GLEW_GET_FUN(__glewWeightusvARB)
+
+#define GLEW_ARB_vertex_blend GLEW_GET_VAR(__GLEW_ARB_vertex_blend)
+
+#endif /* GL_ARB_vertex_blend */
+
+/* ---------------------- GL_ARB_vertex_buffer_object ---------------------- */
+
+#ifndef GL_ARB_vertex_buffer_object
+#define GL_ARB_vertex_buffer_object 1
+
+#define GL_BUFFER_SIZE_ARB 0x8764
+#define GL_BUFFER_USAGE_ARB 0x8765
+#define GL_ARRAY_BUFFER_ARB 0x8892
+#define GL_ELEMENT_ARRAY_BUFFER_ARB 0x8893
+#define GL_ARRAY_BUFFER_BINDING_ARB 0x8894
+#define GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB 0x8895
+#define GL_VERTEX_ARRAY_BUFFER_BINDING_ARB 0x8896
+#define GL_NORMAL_ARRAY_BUFFER_BINDING_ARB 0x8897
+#define GL_COLOR_ARRAY_BUFFER_BINDING_ARB 0x8898
+#define GL_INDEX_ARRAY_BUFFER_BINDING_ARB 0x8899
+#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB 0x889A
+#define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB 0x889B
+#define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB 0x889C
+#define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB 0x889D
+#define GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB 0x889E
+#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB 0x889F
+#define GL_READ_ONLY_ARB 0x88B8
+#define GL_WRITE_ONLY_ARB 0x88B9
+#define GL_READ_WRITE_ARB 0x88BA
+#define GL_BUFFER_ACCESS_ARB 0x88BB
+#define GL_BUFFER_MAPPED_ARB 0x88BC
+#define GL_BUFFER_MAP_POINTER_ARB 0x88BD
+#define GL_STREAM_DRAW_ARB 0x88E0
+#define GL_STREAM_READ_ARB 0x88E1
+#define GL_STREAM_COPY_ARB 0x88E2
+#define GL_STATIC_DRAW_ARB 0x88E4
+#define GL_STATIC_READ_ARB 0x88E5
+#define GL_STATIC_COPY_ARB 0x88E6
+#define GL_DYNAMIC_DRAW_ARB 0x88E8
+#define GL_DYNAMIC_READ_ARB 0x88E9
+#define GL_DYNAMIC_COPY_ARB 0x88EA
+
+typedef ptrdiff_t GLsizeiptrARB;
+typedef ptrdiff_t GLintptrARB;
+
+typedef void (GLAPIENTRY * PFNGLBINDBUFFERARBPROC) (GLenum target, GLuint buffer);
+typedef void (GLAPIENTRY * PFNGLBUFFERDATAARBPROC) (GLenum target, GLsizeiptrARB size, const GLvoid* data, GLenum usage);
+typedef void (GLAPIENTRY * PFNGLBUFFERSUBDATAARBPROC) (GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid* data);
+typedef void (GLAPIENTRY * PFNGLDELETEBUFFERSARBPROC) (GLsizei n, const GLuint* buffers);
+typedef void (GLAPIENTRY * PFNGLGENBUFFERSARBPROC) (GLsizei n, GLuint* buffers);
+typedef void (GLAPIENTRY * PFNGLGETBUFFERPARAMETERIVARBPROC) (GLenum target, GLenum pname, GLint* params);
+typedef void (GLAPIENTRY * PFNGLGETBUFFERPOINTERVARBPROC) (GLenum target, GLenum pname, GLvoid** params);
+typedef void (GLAPIENTRY * PFNGLGETBUFFERSUBDATAARBPROC) (GLenum target, GLintptrARB offset, GLsizeiptrARB size, GLvoid* data);
+typedef GLboolean (GLAPIENTRY * PFNGLISBUFFERARBPROC) (GLuint buffer);
+typedef GLvoid * (GLAPIENTRY * PFNGLMAPBUFFERARBPROC) (GLenum target, GLenum access);
+typedef GLboolean (GLAPIENTRY * PFNGLUNMAPBUFFERARBPROC) (GLenum target);
+
+#define glBindBufferARB GLEW_GET_FUN(__glewBindBufferARB)
+#define glBufferDataARB GLEW_GET_FUN(__glewBufferDataARB)
+#define glBufferSubDataARB GLEW_GET_FUN(__glewBufferSubDataARB)
+#define glDeleteBuffersARB GLEW_GET_FUN(__glewDeleteBuffersARB)
+#define glGenBuffersARB GLEW_GET_FUN(__glewGenBuffersARB)
+#define glGetBufferParameterivARB GLEW_GET_FUN(__glewGetBufferParameterivARB)
+#define glGetBufferPointervARB GLEW_GET_FUN(__glewGetBufferPointervARB)
+#define glGetBufferSubDataARB GLEW_GET_FUN(__glewGetBufferSubDataARB)
+#define glIsBufferARB GLEW_GET_FUN(__glewIsBufferARB)
+#define glMapBufferARB GLEW_GET_FUN(__glewMapBufferARB)
+#define glUnmapBufferARB GLEW_GET_FUN(__glewUnmapBufferARB)
+
+#define GLEW_ARB_vertex_buffer_object GLEW_GET_VAR(__GLEW_ARB_vertex_buffer_object)
+
+#endif /* GL_ARB_vertex_buffer_object */
+
+/* ------------------------- GL_ARB_vertex_program ------------------------- */
+
+#ifndef GL_ARB_vertex_program
+#define GL_ARB_vertex_program 1
+
+#define GL_COLOR_SUM_ARB 0x8458
+#define GL_VERTEX_PROGRAM_ARB 0x8620
+#define GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB 0x8622
+#define GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB 0x8623
+#define GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB 0x8624
+#define GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB 0x8625
+#define GL_CURRENT_VERTEX_ATTRIB_ARB 0x8626
+#define GL_PROGRAM_LENGTH_ARB 0x8627
+#define GL_PROGRAM_STRING_ARB 0x8628
+#define GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB 0x862E
+#define GL_MAX_PROGRAM_MATRICES_ARB 0x862F
+#define GL_CURRENT_MATRIX_STACK_DEPTH_ARB 0x8640
+#define GL_CURRENT_MATRIX_ARB 0x8641
+#define GL_VERTEX_PROGRAM_POINT_SIZE_ARB 0x8642
+#define GL_VERTEX_PROGRAM_TWO_SIDE_ARB 0x8643
+#define GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB 0x8645
+#define GL_PROGRAM_ERROR_POSITION_ARB 0x864B
+#define GL_PROGRAM_BINDING_ARB 0x8677
+#define GL_MAX_VERTEX_ATTRIBS_ARB 0x8869
+#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB 0x886A
+#define GL_PROGRAM_ERROR_STRING_ARB 0x8874
+#define GL_PROGRAM_FORMAT_ASCII_ARB 0x8875
+#define GL_PROGRAM_FORMAT_ARB 0x8876
+#define GL_PROGRAM_INSTRUCTIONS_ARB 0x88A0
+#define GL_MAX_PROGRAM_INSTRUCTIONS_ARB 0x88A1
+#define GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A2
+#define GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A3
+#define GL_PROGRAM_TEMPORARIES_ARB 0x88A4
+#define GL_MAX_PROGRAM_TEMPORARIES_ARB 0x88A5
+#define GL_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A6
+#define GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A7
+#define GL_PROGRAM_PARAMETERS_ARB 0x88A8
+#define GL_MAX_PROGRAM_PARAMETERS_ARB 0x88A9
+#define GL_PROGRAM_NATIVE_PARAMETERS_ARB 0x88AA
+#define GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB 0x88AB
+#define GL_PROGRAM_ATTRIBS_ARB 0x88AC
+#define GL_MAX_PROGRAM_ATTRIBS_ARB 0x88AD
+#define GL_PROGRAM_NATIVE_ATTRIBS_ARB 0x88AE
+#define GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB 0x88AF
+#define GL_PROGRAM_ADDRESS_REGISTERS_ARB 0x88B0
+#define GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB 0x88B1
+#define GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B2
+#define GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B3
+#define GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB 0x88B4
+#define GL_MAX_PROGRAM_ENV_PARAMETERS_ARB 0x88B5
+#define GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB 0x88B6
+#define GL_TRANSPOSE_CURRENT_MATRIX_ARB 0x88B7
+#define GL_MATRIX0_ARB 0x88C0
+#define GL_MATRIX1_ARB 0x88C1
+#define GL_MATRIX2_ARB 0x88C2
+#define GL_MATRIX3_ARB 0x88C3
+#define GL_MATRIX4_ARB 0x88C4
+#define GL_MATRIX5_ARB 0x88C5
+#define GL_MATRIX6_ARB 0x88C6
+#define GL_MATRIX7_ARB 0x88C7
+#define GL_MATRIX8_ARB 0x88C8
+#define GL_MATRIX9_ARB 0x88C9
+#define GL_MATRIX10_ARB 0x88CA
+#define GL_MATRIX11_ARB 0x88CB
+#define GL_MATRIX12_ARB 0x88CC
+#define GL_MATRIX13_ARB 0x88CD
+#define GL_MATRIX14_ARB 0x88CE
+#define GL_MATRIX15_ARB 0x88CF
+#define GL_MATRIX16_ARB 0x88D0
+#define GL_MATRIX17_ARB 0x88D1
+#define GL_MATRIX18_ARB 0x88D2
+#define GL_MATRIX19_ARB 0x88D3
+#define GL_MATRIX20_ARB 0x88D4
+#define GL_MATRIX21_ARB 0x88D5
+#define GL_MATRIX22_ARB 0x88D6
+#define GL_MATRIX23_ARB 0x88D7
+#define GL_MATRIX24_ARB 0x88D8
+#define GL_MATRIX25_ARB 0x88D9
+#define GL_MATRIX26_ARB 0x88DA
+#define GL_MATRIX27_ARB 0x88DB
+#define GL_MATRIX28_ARB 0x88DC
+#define GL_MATRIX29_ARB 0x88DD
+#define GL_MATRIX30_ARB 0x88DE
+#define GL_MATRIX31_ARB 0x88DF
+
+typedef void (GLAPIENTRY * PFNGLBINDPROGRAMARBPROC) (GLenum target, GLuint program);
+typedef void (GLAPIENTRY * PFNGLDELETEPROGRAMSARBPROC) (GLsizei n, const GLuint* programs);
+typedef void (GLAPIENTRY * PFNGLDISABLEVERTEXATTRIBARRAYARBPROC) (GLuint index);
+typedef void (GLAPIENTRY * PFNGLENABLEVERTEXATTRIBARRAYARBPROC) (GLuint index);
+typedef void (GLAPIENTRY * PFNGLGENPROGRAMSARBPROC) (GLsizei n, GLuint* programs);
+typedef void (GLAPIENTRY * PFNGLGETPROGRAMENVPARAMETERDVARBPROC) (GLenum target, GLuint index, GLdouble* params);
+typedef void (GLAPIENTRY * PFNGLGETPROGRAMENVPARAMETERFVARBPROC) (GLenum target, GLuint index, GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC) (GLenum target, GLuint index, GLdouble* params);
+typedef void (GLAPIENTRY * PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC) (GLenum target, GLuint index, GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLGETPROGRAMSTRINGARBPROC) (GLenum target, GLenum pname, void* string);
+typedef void (GLAPIENTRY * PFNGLGETPROGRAMIVARBPROC) (GLenum target, GLenum pname, GLint* params);
+typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBPOINTERVARBPROC) (GLuint index, GLenum pname, GLvoid** pointer);
+typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBDVARBPROC) (GLuint index, GLenum pname, GLdouble* params);
+typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBFVARBPROC) (GLuint index, GLenum pname, GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIVARBPROC) (GLuint index, GLenum pname, GLint* params);
+typedef GLboolean (GLAPIENTRY * PFNGLISPROGRAMARBPROC) (GLuint program);
+typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETER4DARBPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETER4DVARBPROC) (GLenum target, GLuint index, const GLdouble* params);
+typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETER4FARBPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETER4FVARBPROC) (GLenum target, GLuint index, const GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETER4DARBPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETER4DVARBPROC) (GLenum target, GLuint index, const GLdouble* params);
+typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETER4FARBPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETER4FVARBPROC) (GLenum target, GLuint index, const GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLPROGRAMSTRINGARBPROC) (GLenum target, GLenum format, GLsizei len, const void* string);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1DARBPROC) (GLuint index, GLdouble x);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1DVARBPROC) (GLuint index, const GLdouble* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1FARBPROC) (GLuint index, GLfloat x);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1FVARBPROC) (GLuint index, const GLfloat* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1SARBPROC) (GLuint index, GLshort x);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1SVARBPROC) (GLuint index, const GLshort* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2DARBPROC) (GLuint index, GLdouble x, GLdouble y);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2DVARBPROC) (GLuint index, const GLdouble* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2FARBPROC) (GLuint index, GLfloat x, GLfloat y);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2FVARBPROC) (GLuint index, const GLfloat* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2SARBPROC) (GLuint index, GLshort x, GLshort y);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2SVARBPROC) (GLuint index, const GLshort* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3DARBPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3DVARBPROC) (GLuint index, const GLdouble* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3FARBPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3FVARBPROC) (GLuint index, const GLfloat* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3SARBPROC) (GLuint index, GLshort x, GLshort y, GLshort z);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3SVARBPROC) (GLuint index, const GLshort* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NBVARBPROC) (GLuint index, const GLbyte* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NIVARBPROC) (GLuint index, const GLint* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NSVARBPROC) (GLuint index, const GLshort* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NUBARBPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NUBVARBPROC) (GLuint index, const GLubyte* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NUIVARBPROC) (GLuint index, const GLuint* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4NUSVARBPROC) (GLuint index, const GLushort* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4BVARBPROC) (GLuint index, const GLbyte* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4DARBPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4DVARBPROC) (GLuint index, const GLdouble* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4FARBPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4FVARBPROC) (GLuint index, const GLfloat* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4IVARBPROC) (GLuint index, const GLint* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4SARBPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4SVARBPROC) (GLuint index, const GLshort* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4UBVARBPROC) (GLuint index, const GLubyte* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4UIVARBPROC) (GLuint index, const GLuint* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4USVARBPROC) (GLuint index, const GLushort* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBPOINTERARBPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void* pointer);
+
+#define glBindProgramARB GLEW_GET_FUN(__glewBindProgramARB)
+#define glDeleteProgramsARB GLEW_GET_FUN(__glewDeleteProgramsARB)
+#define glDisableVertexAttribArrayARB GLEW_GET_FUN(__glewDisableVertexAttribArrayARB)
+#define glEnableVertexAttribArrayARB GLEW_GET_FUN(__glewEnableVertexAttribArrayARB)
+#define glGenProgramsARB GLEW_GET_FUN(__glewGenProgramsARB)
+#define glGetProgramEnvParameterdvARB GLEW_GET_FUN(__glewGetProgramEnvParameterdvARB)
+#define glGetProgramEnvParameterfvARB GLEW_GET_FUN(__glewGetProgramEnvParameterfvARB)
+#define glGetProgramLocalParameterdvARB GLEW_GET_FUN(__glewGetProgramLocalParameterdvARB)
+#define glGetProgramLocalParameterfvARB GLEW_GET_FUN(__glewGetProgramLocalParameterfvARB)
+#define glGetProgramStringARB GLEW_GET_FUN(__glewGetProgramStringARB)
+#define glGetProgramivARB GLEW_GET_FUN(__glewGetProgramivARB)
+#define glGetVertexAttribPointervARB GLEW_GET_FUN(__glewGetVertexAttribPointervARB)
+#define glGetVertexAttribdvARB GLEW_GET_FUN(__glewGetVertexAttribdvARB)
+#define glGetVertexAttribfvARB GLEW_GET_FUN(__glewGetVertexAttribfvARB)
+#define glGetVertexAttribivARB GLEW_GET_FUN(__glewGetVertexAttribivARB)
+#define glIsProgramARB GLEW_GET_FUN(__glewIsProgramARB)
+#define glProgramEnvParameter4dARB GLEW_GET_FUN(__glewProgramEnvParameter4dARB)
+#define glProgramEnvParameter4dvARB GLEW_GET_FUN(__glewProgramEnvParameter4dvARB)
+#define glProgramEnvParameter4fARB GLEW_GET_FUN(__glewProgramEnvParameter4fARB)
+#define glProgramEnvParameter4fvARB GLEW_GET_FUN(__glewProgramEnvParameter4fvARB)
+#define glProgramLocalParameter4dARB GLEW_GET_FUN(__glewProgramLocalParameter4dARB)
+#define glProgramLocalParameter4dvARB GLEW_GET_FUN(__glewProgramLocalParameter4dvARB)
+#define glProgramLocalParameter4fARB GLEW_GET_FUN(__glewProgramLocalParameter4fARB)
+#define glProgramLocalParameter4fvARB GLEW_GET_FUN(__glewProgramLocalParameter4fvARB)
+#define glProgramStringARB GLEW_GET_FUN(__glewProgramStringARB)
+#define glVertexAttrib1dARB GLEW_GET_FUN(__glewVertexAttrib1dARB)
+#define glVertexAttrib1dvARB GLEW_GET_FUN(__glewVertexAttrib1dvARB)
+#define glVertexAttrib1fARB GLEW_GET_FUN(__glewVertexAttrib1fARB)
+#define glVertexAttrib1fvARB GLEW_GET_FUN(__glewVertexAttrib1fvARB)
+#define glVertexAttrib1sARB GLEW_GET_FUN(__glewVertexAttrib1sARB)
+#define glVertexAttrib1svARB GLEW_GET_FUN(__glewVertexAttrib1svARB)
+#define glVertexAttrib2dARB GLEW_GET_FUN(__glewVertexAttrib2dARB)
+#define glVertexAttrib2dvARB GLEW_GET_FUN(__glewVertexAttrib2dvARB)
+#define glVertexAttrib2fARB GLEW_GET_FUN(__glewVertexAttrib2fARB)
+#define glVertexAttrib2fvARB GLEW_GET_FUN(__glewVertexAttrib2fvARB)
+#define glVertexAttrib2sARB GLEW_GET_FUN(__glewVertexAttrib2sARB)
+#define glVertexAttrib2svARB GLEW_GET_FUN(__glewVertexAttrib2svARB)
+#define glVertexAttrib3dARB GLEW_GET_FUN(__glewVertexAttrib3dARB)
+#define glVertexAttrib3dvARB GLEW_GET_FUN(__glewVertexAttrib3dvARB)
+#define glVertexAttrib3fARB GLEW_GET_FUN(__glewVertexAttrib3fARB)
+#define glVertexAttrib3fvARB GLEW_GET_FUN(__glewVertexAttrib3fvARB)
+#define glVertexAttrib3sARB GLEW_GET_FUN(__glewVertexAttrib3sARB)
+#define glVertexAttrib3svARB GLEW_GET_FUN(__glewVertexAttrib3svARB)
+#define glVertexAttrib4NbvARB GLEW_GET_FUN(__glewVertexAttrib4NbvARB)
+#define glVertexAttrib4NivARB GLEW_GET_FUN(__glewVertexAttrib4NivARB)
+#define glVertexAttrib4NsvARB GLEW_GET_FUN(__glewVertexAttrib4NsvARB)
+#define glVertexAttrib4NubARB GLEW_GET_FUN(__glewVertexAttrib4NubARB)
+#define glVertexAttrib4NubvARB GLEW_GET_FUN(__glewVertexAttrib4NubvARB)
+#define glVertexAttrib4NuivARB GLEW_GET_FUN(__glewVertexAttrib4NuivARB)
+#define glVertexAttrib4NusvARB GLEW_GET_FUN(__glewVertexAttrib4NusvARB)
+#define glVertexAttrib4bvARB GLEW_GET_FUN(__glewVertexAttrib4bvARB)
+#define glVertexAttrib4dARB GLEW_GET_FUN(__glewVertexAttrib4dARB)
+#define glVertexAttrib4dvARB GLEW_GET_FUN(__glewVertexAttrib4dvARB)
+#define glVertexAttrib4fARB GLEW_GET_FUN(__glewVertexAttrib4fARB)
+#define glVertexAttrib4fvARB GLEW_GET_FUN(__glewVertexAttrib4fvARB)
+#define glVertexAttrib4ivARB GLEW_GET_FUN(__glewVertexAttrib4ivARB)
+#define glVertexAttrib4sARB GLEW_GET_FUN(__glewVertexAttrib4sARB)
+#define glVertexAttrib4svARB GLEW_GET_FUN(__glewVertexAttrib4svARB)
+#define glVertexAttrib4ubvARB GLEW_GET_FUN(__glewVertexAttrib4ubvARB)
+#define glVertexAttrib4uivARB GLEW_GET_FUN(__glewVertexAttrib4uivARB)
+#define glVertexAttrib4usvARB GLEW_GET_FUN(__glewVertexAttrib4usvARB)
+#define glVertexAttribPointerARB GLEW_GET_FUN(__glewVertexAttribPointerARB)
+
+#define GLEW_ARB_vertex_program GLEW_GET_VAR(__GLEW_ARB_vertex_program)
+
+#endif /* GL_ARB_vertex_program */
+
+/* -------------------------- GL_ARB_vertex_shader ------------------------- */
+
+#ifndef GL_ARB_vertex_shader
+#define GL_ARB_vertex_shader 1
+
+#define GL_VERTEX_SHADER_ARB 0x8B31
+#define GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB 0x8B4A
+#define GL_MAX_VARYING_FLOATS_ARB 0x8B4B
+#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB 0x8B4C
+#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB 0x8B4D
+#define GL_OBJECT_ACTIVE_ATTRIBUTES_ARB 0x8B89
+#define GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB 0x8B8A
+
+typedef void (GLAPIENTRY * PFNGLBINDATTRIBLOCATIONARBPROC) (GLhandleARB programObj, GLuint index, const GLcharARB* name);
+typedef void (GLAPIENTRY * PFNGLGETACTIVEATTRIBARBPROC) (GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei* length, GLint *size, GLenum *type, GLcharARB *name);
+typedef GLint (GLAPIENTRY * PFNGLGETATTRIBLOCATIONARBPROC) (GLhandleARB programObj, const GLcharARB* name);
+
+#define glBindAttribLocationARB GLEW_GET_FUN(__glewBindAttribLocationARB)
+#define glGetActiveAttribARB GLEW_GET_FUN(__glewGetActiveAttribARB)
+#define glGetAttribLocationARB GLEW_GET_FUN(__glewGetAttribLocationARB)
+
+#define GLEW_ARB_vertex_shader GLEW_GET_VAR(__GLEW_ARB_vertex_shader)
+
+#endif /* GL_ARB_vertex_shader */
+
+/* ------------------- GL_ARB_vertex_type_2_10_10_10_rev ------------------- */
+
+#ifndef GL_ARB_vertex_type_2_10_10_10_rev
+#define GL_ARB_vertex_type_2_10_10_10_rev 1
+
+#define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368
+#define GL_INT_2_10_10_10_REV 0x8D9F
+
+typedef void (GLAPIENTRY * PFNGLCOLORP3UIPROC) (GLenum type, GLuint color);
+typedef void (GLAPIENTRY * PFNGLCOLORP3UIVPROC) (GLenum type, const GLuint* color);
+typedef void (GLAPIENTRY * PFNGLCOLORP4UIPROC) (GLenum type, GLuint color);
+typedef void (GLAPIENTRY * PFNGLCOLORP4UIVPROC) (GLenum type, const GLuint* color);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORDP1UIPROC) (GLenum texture, GLenum type, GLuint coords);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORDP1UIVPROC) (GLenum texture, GLenum type, const GLuint* coords);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORDP2UIPROC) (GLenum texture, GLenum type, GLuint coords);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORDP2UIVPROC) (GLenum texture, GLenum type, const GLuint* coords);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORDP3UIPROC) (GLenum texture, GLenum type, GLuint coords);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORDP3UIVPROC) (GLenum texture, GLenum type, const GLuint* coords);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORDP4UIPROC) (GLenum texture, GLenum type, GLuint coords);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORDP4UIVPROC) (GLenum texture, GLenum type, const GLuint* coords);
+typedef void (GLAPIENTRY * PFNGLNORMALP3UIPROC) (GLenum type, GLuint coords);
+typedef void (GLAPIENTRY * PFNGLNORMALP3UIVPROC) (GLenum type, const GLuint* coords);
+typedef void (GLAPIENTRY * PFNGLSECONDARYCOLORP3UIPROC) (GLenum type, GLuint color);
+typedef void (GLAPIENTRY * PFNGLSECONDARYCOLORP3UIVPROC) (GLenum type, const GLuint* color);
+typedef void (GLAPIENTRY * PFNGLTEXCOORDP1UIPROC) (GLenum type, GLuint coords);
+typedef void (GLAPIENTRY * PFNGLTEXCOORDP1UIVPROC) (GLenum type, const GLuint* coords);
+typedef void (GLAPIENTRY * PFNGLTEXCOORDP2UIPROC) (GLenum type, GLuint coords);
+typedef void (GLAPIENTRY * PFNGLTEXCOORDP2UIVPROC) (GLenum type, const GLuint* coords);
+typedef void (GLAPIENTRY * PFNGLTEXCOORDP3UIPROC) (GLenum type, GLuint coords);
+typedef void (GLAPIENTRY * PFNGLTEXCOORDP3UIVPROC) (GLenum type, const GLuint* coords);
+typedef void (GLAPIENTRY * PFNGLTEXCOORDP4UIPROC) (GLenum type, GLuint coords);
+typedef void (GLAPIENTRY * PFNGLTEXCOORDP4UIVPROC) (GLenum type, const GLuint* coords);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBP1UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBP1UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint* value);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBP2UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBP2UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint* value);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBP3UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBP3UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint* value);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBP4UIPROC) (GLuint index, GLenum type, GLboolean normalized, GLuint value);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBP4UIVPROC) (GLuint index, GLenum type, GLboolean normalized, const GLuint* value);
+typedef void (GLAPIENTRY * PFNGLVERTEXP2UIPROC) (GLenum type, GLuint value);
+typedef void (GLAPIENTRY * PFNGLVERTEXP2UIVPROC) (GLenum type, const GLuint* value);
+typedef void (GLAPIENTRY * PFNGLVERTEXP3UIPROC) (GLenum type, GLuint value);
+typedef void (GLAPIENTRY * PFNGLVERTEXP3UIVPROC) (GLenum type, const GLuint* value);
+typedef void (GLAPIENTRY * PFNGLVERTEXP4UIPROC) (GLenum type, GLuint value);
+typedef void (GLAPIENTRY * PFNGLVERTEXP4UIVPROC) (GLenum type, const GLuint* value);
+
+#define glColorP3ui GLEW_GET_FUN(__glewColorP3ui)
+#define glColorP3uiv GLEW_GET_FUN(__glewColorP3uiv)
+#define glColorP4ui GLEW_GET_FUN(__glewColorP4ui)
+#define glColorP4uiv GLEW_GET_FUN(__glewColorP4uiv)
+#define glMultiTexCoordP1ui GLEW_GET_FUN(__glewMultiTexCoordP1ui)
+#define glMultiTexCoordP1uiv GLEW_GET_FUN(__glewMultiTexCoordP1uiv)
+#define glMultiTexCoordP2ui GLEW_GET_FUN(__glewMultiTexCoordP2ui)
+#define glMultiTexCoordP2uiv GLEW_GET_FUN(__glewMultiTexCoordP2uiv)
+#define glMultiTexCoordP3ui GLEW_GET_FUN(__glewMultiTexCoordP3ui)
+#define glMultiTexCoordP3uiv GLEW_GET_FUN(__glewMultiTexCoordP3uiv)
+#define glMultiTexCoordP4ui GLEW_GET_FUN(__glewMultiTexCoordP4ui)
+#define glMultiTexCoordP4uiv GLEW_GET_FUN(__glewMultiTexCoordP4uiv)
+#define glNormalP3ui GLEW_GET_FUN(__glewNormalP3ui)
+#define glNormalP3uiv GLEW_GET_FUN(__glewNormalP3uiv)
+#define glSecondaryColorP3ui GLEW_GET_FUN(__glewSecondaryColorP3ui)
+#define glSecondaryColorP3uiv GLEW_GET_FUN(__glewSecondaryColorP3uiv)
+#define glTexCoordP1ui GLEW_GET_FUN(__glewTexCoordP1ui)
+#define glTexCoordP1uiv GLEW_GET_FUN(__glewTexCoordP1uiv)
+#define glTexCoordP2ui GLEW_GET_FUN(__glewTexCoordP2ui)
+#define glTexCoordP2uiv GLEW_GET_FUN(__glewTexCoordP2uiv)
+#define glTexCoordP3ui GLEW_GET_FUN(__glewTexCoordP3ui)
+#define glTexCoordP3uiv GLEW_GET_FUN(__glewTexCoordP3uiv)
+#define glTexCoordP4ui GLEW_GET_FUN(__glewTexCoordP4ui)
+#define glTexCoordP4uiv GLEW_GET_FUN(__glewTexCoordP4uiv)
+#define glVertexAttribP1ui GLEW_GET_FUN(__glewVertexAttribP1ui)
+#define glVertexAttribP1uiv GLEW_GET_FUN(__glewVertexAttribP1uiv)
+#define glVertexAttribP2ui GLEW_GET_FUN(__glewVertexAttribP2ui)
+#define glVertexAttribP2uiv GLEW_GET_FUN(__glewVertexAttribP2uiv)
+#define glVertexAttribP3ui GLEW_GET_FUN(__glewVertexAttribP3ui)
+#define glVertexAttribP3uiv GLEW_GET_FUN(__glewVertexAttribP3uiv)
+#define glVertexAttribP4ui GLEW_GET_FUN(__glewVertexAttribP4ui)
+#define glVertexAttribP4uiv GLEW_GET_FUN(__glewVertexAttribP4uiv)
+#define glVertexP2ui GLEW_GET_FUN(__glewVertexP2ui)
+#define glVertexP2uiv GLEW_GET_FUN(__glewVertexP2uiv)
+#define glVertexP3ui GLEW_GET_FUN(__glewVertexP3ui)
+#define glVertexP3uiv GLEW_GET_FUN(__glewVertexP3uiv)
+#define glVertexP4ui GLEW_GET_FUN(__glewVertexP4ui)
+#define glVertexP4uiv GLEW_GET_FUN(__glewVertexP4uiv)
+
+#define GLEW_ARB_vertex_type_2_10_10_10_rev GLEW_GET_VAR(__GLEW_ARB_vertex_type_2_10_10_10_rev)
+
+#endif /* GL_ARB_vertex_type_2_10_10_10_rev */
+
+/* --------------------------- GL_ARB_window_pos --------------------------- */
+
+#ifndef GL_ARB_window_pos
+#define GL_ARB_window_pos 1
+
+typedef void (GLAPIENTRY * PFNGLWINDOWPOS2DARBPROC) (GLdouble x, GLdouble y);
+typedef void (GLAPIENTRY * PFNGLWINDOWPOS2DVARBPROC) (const GLdouble* p);
+typedef void (GLAPIENTRY * PFNGLWINDOWPOS2FARBPROC) (GLfloat x, GLfloat y);
+typedef void (GLAPIENTRY * PFNGLWINDOWPOS2FVARBPROC) (const GLfloat* p);
+typedef void (GLAPIENTRY * PFNGLWINDOWPOS2IARBPROC) (GLint x, GLint y);
+typedef void (GLAPIENTRY * PFNGLWINDOWPOS2IVARBPROC) (const GLint* p);
+typedef void (GLAPIENTRY * PFNGLWINDOWPOS2SARBPROC) (GLshort x, GLshort y);
+typedef void (GLAPIENTRY * PFNGLWINDOWPOS2SVARBPROC) (const GLshort* p);
+typedef void (GLAPIENTRY * PFNGLWINDOWPOS3DARBPROC) (GLdouble x, GLdouble y, GLdouble z);
+typedef void (GLAPIENTRY * PFNGLWINDOWPOS3DVARBPROC) (const GLdouble* p);
+typedef void (GLAPIENTRY * PFNGLWINDOWPOS3FARBPROC) (GLfloat x, GLfloat y, GLfloat z);
+typedef void (GLAPIENTRY * PFNGLWINDOWPOS3FVARBPROC) (const GLfloat* p);
+typedef void (GLAPIENTRY * PFNGLWINDOWPOS3IARBPROC) (GLint x, GLint y, GLint z);
+typedef void (GLAPIENTRY * PFNGLWINDOWPOS3IVARBPROC) (const GLint* p);
+typedef void (GLAPIENTRY * PFNGLWINDOWPOS3SARBPROC) (GLshort x, GLshort y, GLshort z);
+typedef void (GLAPIENTRY * PFNGLWINDOWPOS3SVARBPROC) (const GLshort* p);
+
+#define glWindowPos2dARB GLEW_GET_FUN(__glewWindowPos2dARB)
+#define glWindowPos2dvARB GLEW_GET_FUN(__glewWindowPos2dvARB)
+#define glWindowPos2fARB GLEW_GET_FUN(__glewWindowPos2fARB)
+#define glWindowPos2fvARB GLEW_GET_FUN(__glewWindowPos2fvARB)
+#define glWindowPos2iARB GLEW_GET_FUN(__glewWindowPos2iARB)
+#define glWindowPos2ivARB GLEW_GET_FUN(__glewWindowPos2ivARB)
+#define glWindowPos2sARB GLEW_GET_FUN(__glewWindowPos2sARB)
+#define glWindowPos2svARB GLEW_GET_FUN(__glewWindowPos2svARB)
+#define glWindowPos3dARB GLEW_GET_FUN(__glewWindowPos3dARB)
+#define glWindowPos3dvARB GLEW_GET_FUN(__glewWindowPos3dvARB)
+#define glWindowPos3fARB GLEW_GET_FUN(__glewWindowPos3fARB)
+#define glWindowPos3fvARB GLEW_GET_FUN(__glewWindowPos3fvARB)
+#define glWindowPos3iARB GLEW_GET_FUN(__glewWindowPos3iARB)
+#define glWindowPos3ivARB GLEW_GET_FUN(__glewWindowPos3ivARB)
+#define glWindowPos3sARB GLEW_GET_FUN(__glewWindowPos3sARB)
+#define glWindowPos3svARB GLEW_GET_FUN(__glewWindowPos3svARB)
+
+#define GLEW_ARB_window_pos GLEW_GET_VAR(__GLEW_ARB_window_pos)
+
+#endif /* GL_ARB_window_pos */
+
+/* ------------------------- GL_ATIX_point_sprites ------------------------- */
+
+#ifndef GL_ATIX_point_sprites
+#define GL_ATIX_point_sprites 1
+
+#define GL_TEXTURE_POINT_MODE_ATIX 0x60B0
+#define GL_TEXTURE_POINT_ONE_COORD_ATIX 0x60B1
+#define GL_TEXTURE_POINT_SPRITE_ATIX 0x60B2
+#define GL_POINT_SPRITE_CULL_MODE_ATIX 0x60B3
+#define GL_POINT_SPRITE_CULL_CENTER_ATIX 0x60B4
+#define GL_POINT_SPRITE_CULL_CLIP_ATIX 0x60B5
+
+#define GLEW_ATIX_point_sprites GLEW_GET_VAR(__GLEW_ATIX_point_sprites)
+
+#endif /* GL_ATIX_point_sprites */
+
+/* ---------------------- GL_ATIX_texture_env_combine3 --------------------- */
+
+#ifndef GL_ATIX_texture_env_combine3
+#define GL_ATIX_texture_env_combine3 1
+
+#define GL_MODULATE_ADD_ATIX 0x8744
+#define GL_MODULATE_SIGNED_ADD_ATIX 0x8745
+#define GL_MODULATE_SUBTRACT_ATIX 0x8746
+
+#define GLEW_ATIX_texture_env_combine3 GLEW_GET_VAR(__GLEW_ATIX_texture_env_combine3)
+
+#endif /* GL_ATIX_texture_env_combine3 */
+
+/* ----------------------- GL_ATIX_texture_env_route ----------------------- */
+
+#ifndef GL_ATIX_texture_env_route
+#define GL_ATIX_texture_env_route 1
+
+#define GL_SECONDARY_COLOR_ATIX 0x8747
+#define GL_TEXTURE_OUTPUT_RGB_ATIX 0x8748
+#define GL_TEXTURE_OUTPUT_ALPHA_ATIX 0x8749
+
+#define GLEW_ATIX_texture_env_route GLEW_GET_VAR(__GLEW_ATIX_texture_env_route)
+
+#endif /* GL_ATIX_texture_env_route */
+
+/* ---------------- GL_ATIX_vertex_shader_output_point_size ---------------- */
+
+#ifndef GL_ATIX_vertex_shader_output_point_size
+#define GL_ATIX_vertex_shader_output_point_size 1
+
+#define GL_OUTPUT_POINT_SIZE_ATIX 0x610E
+
+#define GLEW_ATIX_vertex_shader_output_point_size GLEW_GET_VAR(__GLEW_ATIX_vertex_shader_output_point_size)
+
+#endif /* GL_ATIX_vertex_shader_output_point_size */
+
+/* -------------------------- GL_ATI_draw_buffers -------------------------- */
+
+#ifndef GL_ATI_draw_buffers
+#define GL_ATI_draw_buffers 1
+
+#define GL_MAX_DRAW_BUFFERS_ATI 0x8824
+#define GL_DRAW_BUFFER0_ATI 0x8825
+#define GL_DRAW_BUFFER1_ATI 0x8826
+#define GL_DRAW_BUFFER2_ATI 0x8827
+#define GL_DRAW_BUFFER3_ATI 0x8828
+#define GL_DRAW_BUFFER4_ATI 0x8829
+#define GL_DRAW_BUFFER5_ATI 0x882A
+#define GL_DRAW_BUFFER6_ATI 0x882B
+#define GL_DRAW_BUFFER7_ATI 0x882C
+#define GL_DRAW_BUFFER8_ATI 0x882D
+#define GL_DRAW_BUFFER9_ATI 0x882E
+#define GL_DRAW_BUFFER10_ATI 0x882F
+#define GL_DRAW_BUFFER11_ATI 0x8830
+#define GL_DRAW_BUFFER12_ATI 0x8831
+#define GL_DRAW_BUFFER13_ATI 0x8832
+#define GL_DRAW_BUFFER14_ATI 0x8833
+#define GL_DRAW_BUFFER15_ATI 0x8834
+
+typedef void (GLAPIENTRY * PFNGLDRAWBUFFERSATIPROC) (GLsizei n, const GLenum* bufs);
+
+#define glDrawBuffersATI GLEW_GET_FUN(__glewDrawBuffersATI)
+
+#define GLEW_ATI_draw_buffers GLEW_GET_VAR(__GLEW_ATI_draw_buffers)
+
+#endif /* GL_ATI_draw_buffers */
+
+/* -------------------------- GL_ATI_element_array ------------------------- */
+
+#ifndef GL_ATI_element_array
+#define GL_ATI_element_array 1
+
+#define GL_ELEMENT_ARRAY_ATI 0x8768
+#define GL_ELEMENT_ARRAY_TYPE_ATI 0x8769
+#define GL_ELEMENT_ARRAY_POINTER_ATI 0x876A
+
+typedef void (GLAPIENTRY * PFNGLDRAWELEMENTARRAYATIPROC) (GLenum mode, GLsizei count);
+typedef void (GLAPIENTRY * PFNGLDRAWRANGEELEMENTARRAYATIPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count);
+typedef void (GLAPIENTRY * PFNGLELEMENTPOINTERATIPROC) (GLenum type, const void* pointer);
+
+#define glDrawElementArrayATI GLEW_GET_FUN(__glewDrawElementArrayATI)
+#define glDrawRangeElementArrayATI GLEW_GET_FUN(__glewDrawRangeElementArrayATI)
+#define glElementPointerATI GLEW_GET_FUN(__glewElementPointerATI)
+
+#define GLEW_ATI_element_array GLEW_GET_VAR(__GLEW_ATI_element_array)
+
+#endif /* GL_ATI_element_array */
+
+/* ------------------------- GL_ATI_envmap_bumpmap ------------------------- */
+
+#ifndef GL_ATI_envmap_bumpmap
+#define GL_ATI_envmap_bumpmap 1
+
+#define GL_BUMP_ROT_MATRIX_ATI 0x8775
+#define GL_BUMP_ROT_MATRIX_SIZE_ATI 0x8776
+#define GL_BUMP_NUM_TEX_UNITS_ATI 0x8777
+#define GL_BUMP_TEX_UNITS_ATI 0x8778
+#define GL_DUDV_ATI 0x8779
+#define GL_DU8DV8_ATI 0x877A
+#define GL_BUMP_ENVMAP_ATI 0x877B
+#define GL_BUMP_TARGET_ATI 0x877C
+
+typedef void (GLAPIENTRY * PFNGLGETTEXBUMPPARAMETERFVATIPROC) (GLenum pname, GLfloat *param);
+typedef void (GLAPIENTRY * PFNGLGETTEXBUMPPARAMETERIVATIPROC) (GLenum pname, GLint *param);
+typedef void (GLAPIENTRY * PFNGLTEXBUMPPARAMETERFVATIPROC) (GLenum pname, GLfloat *param);
+typedef void (GLAPIENTRY * PFNGLTEXBUMPPARAMETERIVATIPROC) (GLenum pname, GLint *param);
+
+#define glGetTexBumpParameterfvATI GLEW_GET_FUN(__glewGetTexBumpParameterfvATI)
+#define glGetTexBumpParameterivATI GLEW_GET_FUN(__glewGetTexBumpParameterivATI)
+#define glTexBumpParameterfvATI GLEW_GET_FUN(__glewTexBumpParameterfvATI)
+#define glTexBumpParameterivATI GLEW_GET_FUN(__glewTexBumpParameterivATI)
+
+#define GLEW_ATI_envmap_bumpmap GLEW_GET_VAR(__GLEW_ATI_envmap_bumpmap)
+
+#endif /* GL_ATI_envmap_bumpmap */
+
+/* ------------------------- GL_ATI_fragment_shader ------------------------ */
+
+#ifndef GL_ATI_fragment_shader
+#define GL_ATI_fragment_shader 1
+
+#define GL_RED_BIT_ATI 0x00000001
+#define GL_2X_BIT_ATI 0x00000001
+#define GL_4X_BIT_ATI 0x00000002
+#define GL_GREEN_BIT_ATI 0x00000002
+#define GL_COMP_BIT_ATI 0x00000002
+#define GL_BLUE_BIT_ATI 0x00000004
+#define GL_8X_BIT_ATI 0x00000004
+#define GL_NEGATE_BIT_ATI 0x00000004
+#define GL_BIAS_BIT_ATI 0x00000008
+#define GL_HALF_BIT_ATI 0x00000008
+#define GL_QUARTER_BIT_ATI 0x00000010
+#define GL_EIGHTH_BIT_ATI 0x00000020
+#define GL_SATURATE_BIT_ATI 0x00000040
+#define GL_FRAGMENT_SHADER_ATI 0x8920
+#define GL_REG_0_ATI 0x8921
+#define GL_REG_1_ATI 0x8922
+#define GL_REG_2_ATI 0x8923
+#define GL_REG_3_ATI 0x8924
+#define GL_REG_4_ATI 0x8925
+#define GL_REG_5_ATI 0x8926
+#define GL_CON_0_ATI 0x8941
+#define GL_CON_1_ATI 0x8942
+#define GL_CON_2_ATI 0x8943
+#define GL_CON_3_ATI 0x8944
+#define GL_CON_4_ATI 0x8945
+#define GL_CON_5_ATI 0x8946
+#define GL_CON_6_ATI 0x8947
+#define GL_CON_7_ATI 0x8948
+#define GL_MOV_ATI 0x8961
+#define GL_ADD_ATI 0x8963
+#define GL_MUL_ATI 0x8964
+#define GL_SUB_ATI 0x8965
+#define GL_DOT3_ATI 0x8966
+#define GL_DOT4_ATI 0x8967
+#define GL_MAD_ATI 0x8968
+#define GL_LERP_ATI 0x8969
+#define GL_CND_ATI 0x896A
+#define GL_CND0_ATI 0x896B
+#define GL_DOT2_ADD_ATI 0x896C
+#define GL_SECONDARY_INTERPOLATOR_ATI 0x896D
+#define GL_NUM_FRAGMENT_REGISTERS_ATI 0x896E
+#define GL_NUM_FRAGMENT_CONSTANTS_ATI 0x896F
+#define GL_NUM_PASSES_ATI 0x8970
+#define GL_NUM_INSTRUCTIONS_PER_PASS_ATI 0x8971
+#define GL_NUM_INSTRUCTIONS_TOTAL_ATI 0x8972
+#define GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI 0x8973
+#define GL_NUM_LOOPBACK_COMPONENTS_ATI 0x8974
+#define GL_COLOR_ALPHA_PAIRING_ATI 0x8975
+#define GL_SWIZZLE_STR_ATI 0x8976
+#define GL_SWIZZLE_STQ_ATI 0x8977
+#define GL_SWIZZLE_STR_DR_ATI 0x8978
+#define GL_SWIZZLE_STQ_DQ_ATI 0x8979
+#define GL_SWIZZLE_STRQ_ATI 0x897A
+#define GL_SWIZZLE_STRQ_DQ_ATI 0x897B
+
+typedef void (GLAPIENTRY * PFNGLALPHAFRAGMENTOP1ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod);
+typedef void (GLAPIENTRY * PFNGLALPHAFRAGMENTOP2ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod);
+typedef void (GLAPIENTRY * PFNGLALPHAFRAGMENTOP3ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod);
+typedef void (GLAPIENTRY * PFNGLBEGINFRAGMENTSHADERATIPROC) (void);
+typedef void (GLAPIENTRY * PFNGLBINDFRAGMENTSHADERATIPROC) (GLuint id);
+typedef void (GLAPIENTRY * PFNGLCOLORFRAGMENTOP1ATIPROC) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod);
+typedef void (GLAPIENTRY * PFNGLCOLORFRAGMENTOP2ATIPROC) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod);
+typedef void (GLAPIENTRY * PFNGLCOLORFRAGMENTOP3ATIPROC) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod);
+typedef void (GLAPIENTRY * PFNGLDELETEFRAGMENTSHADERATIPROC) (GLuint id);
+typedef void (GLAPIENTRY * PFNGLENDFRAGMENTSHADERATIPROC) (void);
+typedef GLuint (GLAPIENTRY * PFNGLGENFRAGMENTSHADERSATIPROC) (GLuint range);
+typedef void (GLAPIENTRY * PFNGLPASSTEXCOORDATIPROC) (GLuint dst, GLuint coord, GLenum swizzle);
+typedef void (GLAPIENTRY * PFNGLSAMPLEMAPATIPROC) (GLuint dst, GLuint interp, GLenum swizzle);
+typedef void (GLAPIENTRY * PFNGLSETFRAGMENTSHADERCONSTANTATIPROC) (GLuint dst, const GLfloat* value);
+
+#define glAlphaFragmentOp1ATI GLEW_GET_FUN(__glewAlphaFragmentOp1ATI)
+#define glAlphaFragmentOp2ATI GLEW_GET_FUN(__glewAlphaFragmentOp2ATI)
+#define glAlphaFragmentOp3ATI GLEW_GET_FUN(__glewAlphaFragmentOp3ATI)
+#define glBeginFragmentShaderATI GLEW_GET_FUN(__glewBeginFragmentShaderATI)
+#define glBindFragmentShaderATI GLEW_GET_FUN(__glewBindFragmentShaderATI)
+#define glColorFragmentOp1ATI GLEW_GET_FUN(__glewColorFragmentOp1ATI)
+#define glColorFragmentOp2ATI GLEW_GET_FUN(__glewColorFragmentOp2ATI)
+#define glColorFragmentOp3ATI GLEW_GET_FUN(__glewColorFragmentOp3ATI)
+#define glDeleteFragmentShaderATI GLEW_GET_FUN(__glewDeleteFragmentShaderATI)
+#define glEndFragmentShaderATI GLEW_GET_FUN(__glewEndFragmentShaderATI)
+#define glGenFragmentShadersATI GLEW_GET_FUN(__glewGenFragmentShadersATI)
+#define glPassTexCoordATI GLEW_GET_FUN(__glewPassTexCoordATI)
+#define glSampleMapATI GLEW_GET_FUN(__glewSampleMapATI)
+#define glSetFragmentShaderConstantATI GLEW_GET_FUN(__glewSetFragmentShaderConstantATI)
+
+#define GLEW_ATI_fragment_shader GLEW_GET_VAR(__GLEW_ATI_fragment_shader)
+
+#endif /* GL_ATI_fragment_shader */
+
+/* ------------------------ GL_ATI_map_object_buffer ----------------------- */
+
+#ifndef GL_ATI_map_object_buffer
+#define GL_ATI_map_object_buffer 1
+
+typedef void* (GLAPIENTRY * PFNGLMAPOBJECTBUFFERATIPROC) (GLuint buffer);
+typedef void (GLAPIENTRY * PFNGLUNMAPOBJECTBUFFERATIPROC) (GLuint buffer);
+
+#define glMapObjectBufferATI GLEW_GET_FUN(__glewMapObjectBufferATI)
+#define glUnmapObjectBufferATI GLEW_GET_FUN(__glewUnmapObjectBufferATI)
+
+#define GLEW_ATI_map_object_buffer GLEW_GET_VAR(__GLEW_ATI_map_object_buffer)
+
+#endif /* GL_ATI_map_object_buffer */
+
+/* ----------------------------- GL_ATI_meminfo ---------------------------- */
+
+#ifndef GL_ATI_meminfo
+#define GL_ATI_meminfo 1
+
+#define GL_VBO_FREE_MEMORY_ATI 0x87FB
+#define GL_TEXTURE_FREE_MEMORY_ATI 0x87FC
+#define GL_RENDERBUFFER_FREE_MEMORY_ATI 0x87FD
+
+#define GLEW_ATI_meminfo GLEW_GET_VAR(__GLEW_ATI_meminfo)
+
+#endif /* GL_ATI_meminfo */
+
+/* -------------------------- GL_ATI_pn_triangles -------------------------- */
+
+#ifndef GL_ATI_pn_triangles
+#define GL_ATI_pn_triangles 1
+
+#define GL_PN_TRIANGLES_ATI 0x87F0
+#define GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI 0x87F1
+#define GL_PN_TRIANGLES_POINT_MODE_ATI 0x87F2
+#define GL_PN_TRIANGLES_NORMAL_MODE_ATI 0x87F3
+#define GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI 0x87F4
+#define GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI 0x87F5
+#define GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI 0x87F6
+#define GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI 0x87F7
+#define GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI 0x87F8
+
+typedef void (GLAPIENTRY * PFNGLPNTRIANGLESFATIPROC) (GLenum pname, GLfloat param);
+typedef void (GLAPIENTRY * PFNGLPNTRIANGLESIATIPROC) (GLenum pname, GLint param);
+
+#define glPNTrianglesfATI GLEW_GET_FUN(__glPNTrianglewesfATI)
+#define glPNTrianglesiATI GLEW_GET_FUN(__glPNTrianglewesiATI)
+
+#define GLEW_ATI_pn_triangles GLEW_GET_VAR(__GLEW_ATI_pn_triangles)
+
+#endif /* GL_ATI_pn_triangles */
+
+/* ------------------------ GL_ATI_separate_stencil ------------------------ */
+
+#ifndef GL_ATI_separate_stencil
+#define GL_ATI_separate_stencil 1
+
+#define GL_STENCIL_BACK_FUNC_ATI 0x8800
+#define GL_STENCIL_BACK_FAIL_ATI 0x8801
+#define GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI 0x8802
+#define GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI 0x8803
+
+typedef void (GLAPIENTRY * PFNGLSTENCILFUNCSEPARATEATIPROC) (GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask);
+typedef void (GLAPIENTRY * PFNGLSTENCILOPSEPARATEATIPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
+
+#define glStencilFuncSeparateATI GLEW_GET_FUN(__glewStencilFuncSeparateATI)
+#define glStencilOpSeparateATI GLEW_GET_FUN(__glewStencilOpSeparateATI)
+
+#define GLEW_ATI_separate_stencil GLEW_GET_VAR(__GLEW_ATI_separate_stencil)
+
+#endif /* GL_ATI_separate_stencil */
+
+/* ----------------------- GL_ATI_shader_texture_lod ----------------------- */
+
+#ifndef GL_ATI_shader_texture_lod
+#define GL_ATI_shader_texture_lod 1
+
+#define GLEW_ATI_shader_texture_lod GLEW_GET_VAR(__GLEW_ATI_shader_texture_lod)
+
+#endif /* GL_ATI_shader_texture_lod */
+
+/* ---------------------- GL_ATI_text_fragment_shader ---------------------- */
+
+#ifndef GL_ATI_text_fragment_shader
+#define GL_ATI_text_fragment_shader 1
+
+#define GL_TEXT_FRAGMENT_SHADER_ATI 0x8200
+
+#define GLEW_ATI_text_fragment_shader GLEW_GET_VAR(__GLEW_ATI_text_fragment_shader)
+
+#endif /* GL_ATI_text_fragment_shader */
+
+/* --------------------- GL_ATI_texture_compression_3dc -------------------- */
+
+#ifndef GL_ATI_texture_compression_3dc
+#define GL_ATI_texture_compression_3dc 1
+
+#define GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI 0x8837
+
+#define GLEW_ATI_texture_compression_3dc GLEW_GET_VAR(__GLEW_ATI_texture_compression_3dc)
+
+#endif /* GL_ATI_texture_compression_3dc */
+
+/* ---------------------- GL_ATI_texture_env_combine3 ---------------------- */
+
+#ifndef GL_ATI_texture_env_combine3
+#define GL_ATI_texture_env_combine3 1
+
+#define GL_MODULATE_ADD_ATI 0x8744
+#define GL_MODULATE_SIGNED_ADD_ATI 0x8745
+#define GL_MODULATE_SUBTRACT_ATI 0x8746
+
+#define GLEW_ATI_texture_env_combine3 GLEW_GET_VAR(__GLEW_ATI_texture_env_combine3)
+
+#endif /* GL_ATI_texture_env_combine3 */
+
+/* -------------------------- GL_ATI_texture_float ------------------------- */
+
+#ifndef GL_ATI_texture_float
+#define GL_ATI_texture_float 1
+
+#define GL_RGBA_FLOAT32_ATI 0x8814
+#define GL_RGB_FLOAT32_ATI 0x8815
+#define GL_ALPHA_FLOAT32_ATI 0x8816
+#define GL_INTENSITY_FLOAT32_ATI 0x8817
+#define GL_LUMINANCE_FLOAT32_ATI 0x8818
+#define GL_LUMINANCE_ALPHA_FLOAT32_ATI 0x8819
+#define GL_RGBA_FLOAT16_ATI 0x881A
+#define GL_RGB_FLOAT16_ATI 0x881B
+#define GL_ALPHA_FLOAT16_ATI 0x881C
+#define GL_INTENSITY_FLOAT16_ATI 0x881D
+#define GL_LUMINANCE_FLOAT16_ATI 0x881E
+#define GL_LUMINANCE_ALPHA_FLOAT16_ATI 0x881F
+
+#define GLEW_ATI_texture_float GLEW_GET_VAR(__GLEW_ATI_texture_float)
+
+#endif /* GL_ATI_texture_float */
+
+/* ----------------------- GL_ATI_texture_mirror_once ---------------------- */
+
+#ifndef GL_ATI_texture_mirror_once
+#define GL_ATI_texture_mirror_once 1
+
+#define GL_MIRROR_CLAMP_ATI 0x8742
+#define GL_MIRROR_CLAMP_TO_EDGE_ATI 0x8743
+
+#define GLEW_ATI_texture_mirror_once GLEW_GET_VAR(__GLEW_ATI_texture_mirror_once)
+
+#endif /* GL_ATI_texture_mirror_once */
+
+/* ----------------------- GL_ATI_vertex_array_object ---------------------- */
+
+#ifndef GL_ATI_vertex_array_object
+#define GL_ATI_vertex_array_object 1
+
+#define GL_STATIC_ATI 0x8760
+#define GL_DYNAMIC_ATI 0x8761
+#define GL_PRESERVE_ATI 0x8762
+#define GL_DISCARD_ATI 0x8763
+#define GL_OBJECT_BUFFER_SIZE_ATI 0x8764
+#define GL_OBJECT_BUFFER_USAGE_ATI 0x8765
+#define GL_ARRAY_OBJECT_BUFFER_ATI 0x8766
+#define GL_ARRAY_OBJECT_OFFSET_ATI 0x8767
+
+typedef void (GLAPIENTRY * PFNGLARRAYOBJECTATIPROC) (GLenum array, GLint size, GLenum type, GLsizei stride, GLuint buffer, GLuint offset);
+typedef void (GLAPIENTRY * PFNGLFREEOBJECTBUFFERATIPROC) (GLuint buffer);
+typedef void (GLAPIENTRY * PFNGLGETARRAYOBJECTFVATIPROC) (GLenum array, GLenum pname, GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLGETARRAYOBJECTIVATIPROC) (GLenum array, GLenum pname, GLint* params);
+typedef void (GLAPIENTRY * PFNGLGETOBJECTBUFFERFVATIPROC) (GLuint buffer, GLenum pname, GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLGETOBJECTBUFFERIVATIPROC) (GLuint buffer, GLenum pname, GLint* params);
+typedef void (GLAPIENTRY * PFNGLGETVARIANTARRAYOBJECTFVATIPROC) (GLuint id, GLenum pname, GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLGETVARIANTARRAYOBJECTIVATIPROC) (GLuint id, GLenum pname, GLint* params);
+typedef GLboolean (GLAPIENTRY * PFNGLISOBJECTBUFFERATIPROC) (GLuint buffer);
+typedef GLuint (GLAPIENTRY * PFNGLNEWOBJECTBUFFERATIPROC) (GLsizei size, const void* pointer, GLenum usage);
+typedef void (GLAPIENTRY * PFNGLUPDATEOBJECTBUFFERATIPROC) (GLuint buffer, GLuint offset, GLsizei size, const void* pointer, GLenum preserve);
+typedef void (GLAPIENTRY * PFNGLVARIANTARRAYOBJECTATIPROC) (GLuint id, GLenum type, GLsizei stride, GLuint buffer, GLuint offset);
+
+#define glArrayObjectATI GLEW_GET_FUN(__glewArrayObjectATI)
+#define glFreeObjectBufferATI GLEW_GET_FUN(__glewFreeObjectBufferATI)
+#define glGetArrayObjectfvATI GLEW_GET_FUN(__glewGetArrayObjectfvATI)
+#define glGetArrayObjectivATI GLEW_GET_FUN(__glewGetArrayObjectivATI)
+#define glGetObjectBufferfvATI GLEW_GET_FUN(__glewGetObjectBufferfvATI)
+#define glGetObjectBufferivATI GLEW_GET_FUN(__glewGetObjectBufferivATI)
+#define glGetVariantArrayObjectfvATI GLEW_GET_FUN(__glewGetVariantArrayObjectfvATI)
+#define glGetVariantArrayObjectivATI GLEW_GET_FUN(__glewGetVariantArrayObjectivATI)
+#define glIsObjectBufferATI GLEW_GET_FUN(__glewIsObjectBufferATI)
+#define glNewObjectBufferATI GLEW_GET_FUN(__glewNewObjectBufferATI)
+#define glUpdateObjectBufferATI GLEW_GET_FUN(__glewUpdateObjectBufferATI)
+#define glVariantArrayObjectATI GLEW_GET_FUN(__glewVariantArrayObjectATI)
+
+#define GLEW_ATI_vertex_array_object GLEW_GET_VAR(__GLEW_ATI_vertex_array_object)
+
+#endif /* GL_ATI_vertex_array_object */
+
+/* ------------------- GL_ATI_vertex_attrib_array_object ------------------- */
+
+#ifndef GL_ATI_vertex_attrib_array_object
+#define GL_ATI_vertex_attrib_array_object 1
+
+typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC) (GLuint index, GLenum pname, GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC) (GLuint index, GLenum pname, GLint* params);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBARRAYOBJECTATIPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLuint buffer, GLuint offset);
+
+#define glGetVertexAttribArrayObjectfvATI GLEW_GET_FUN(__glewGetVertexAttribArrayObjectfvATI)
+#define glGetVertexAttribArrayObjectivATI GLEW_GET_FUN(__glewGetVertexAttribArrayObjectivATI)
+#define glVertexAttribArrayObjectATI GLEW_GET_FUN(__glewVertexAttribArrayObjectATI)
+
+#define GLEW_ATI_vertex_attrib_array_object GLEW_GET_VAR(__GLEW_ATI_vertex_attrib_array_object)
+
+#endif /* GL_ATI_vertex_attrib_array_object */
+
+/* ------------------------- GL_ATI_vertex_streams ------------------------- */
+
+#ifndef GL_ATI_vertex_streams
+#define GL_ATI_vertex_streams 1
+
+#define GL_MAX_VERTEX_STREAMS_ATI 0x876B
+#define GL_VERTEX_SOURCE_ATI 0x876C
+#define GL_VERTEX_STREAM0_ATI 0x876D
+#define GL_VERTEX_STREAM1_ATI 0x876E
+#define GL_VERTEX_STREAM2_ATI 0x876F
+#define GL_VERTEX_STREAM3_ATI 0x8770
+#define GL_VERTEX_STREAM4_ATI 0x8771
+#define GL_VERTEX_STREAM5_ATI 0x8772
+#define GL_VERTEX_STREAM6_ATI 0x8773
+#define GL_VERTEX_STREAM7_ATI 0x8774
+
+typedef void (GLAPIENTRY * PFNGLCLIENTACTIVEVERTEXSTREAMATIPROC) (GLenum stream);
+typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3BATIPROC) (GLenum stream, GLbyte x, GLbyte y, GLbyte z);
+typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3BVATIPROC) (GLenum stream, const GLbyte *v);
+typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3DATIPROC) (GLenum stream, GLdouble x, GLdouble y, GLdouble z);
+typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3DVATIPROC) (GLenum stream, const GLdouble *v);
+typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3FATIPROC) (GLenum stream, GLfloat x, GLfloat y, GLfloat z);
+typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3FVATIPROC) (GLenum stream, const GLfloat *v);
+typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3IATIPROC) (GLenum stream, GLint x, GLint y, GLint z);
+typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3IVATIPROC) (GLenum stream, const GLint *v);
+typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3SATIPROC) (GLenum stream, GLshort x, GLshort y, GLshort z);
+typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3SVATIPROC) (GLenum stream, const GLshort *v);
+typedef void (GLAPIENTRY * PFNGLVERTEXBLENDENVFATIPROC) (GLenum pname, GLfloat param);
+typedef void (GLAPIENTRY * PFNGLVERTEXBLENDENVIATIPROC) (GLenum pname, GLint param);
+typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2DATIPROC) (GLenum stream, GLdouble x, GLdouble y);
+typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2DVATIPROC) (GLenum stream, const GLdouble *v);
+typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2FATIPROC) (GLenum stream, GLfloat x, GLfloat y);
+typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2FVATIPROC) (GLenum stream, const GLfloat *v);
+typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2IATIPROC) (GLenum stream, GLint x, GLint y);
+typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2IVATIPROC) (GLenum stream, const GLint *v);
+typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2SATIPROC) (GLenum stream, GLshort x, GLshort y);
+typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2SVATIPROC) (GLenum stream, const GLshort *v);
+typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3DATIPROC) (GLenum stream, GLdouble x, GLdouble y, GLdouble z);
+typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3DVATIPROC) (GLenum stream, const GLdouble *v);
+typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3FATIPROC) (GLenum stream, GLfloat x, GLfloat y, GLfloat z);
+typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3FVATIPROC) (GLenum stream, const GLfloat *v);
+typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3IATIPROC) (GLenum stream, GLint x, GLint y, GLint z);
+typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3IVATIPROC) (GLenum stream, const GLint *v);
+typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3SATIPROC) (GLenum stream, GLshort x, GLshort y, GLshort z);
+typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3SVATIPROC) (GLenum stream, const GLshort *v);
+typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4DATIPROC) (GLenum stream, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4DVATIPROC) (GLenum stream, const GLdouble *v);
+typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4FATIPROC) (GLenum stream, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4FVATIPROC) (GLenum stream, const GLfloat *v);
+typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4IATIPROC) (GLenum stream, GLint x, GLint y, GLint z, GLint w);
+typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4IVATIPROC) (GLenum stream, const GLint *v);
+typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4SATIPROC) (GLenum stream, GLshort x, GLshort y, GLshort z, GLshort w);
+typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4SVATIPROC) (GLenum stream, const GLshort *v);
+
+#define glClientActiveVertexStreamATI GLEW_GET_FUN(__glewClientActiveVertexStreamATI)
+#define glNormalStream3bATI GLEW_GET_FUN(__glewNormalStream3bATI)
+#define glNormalStream3bvATI GLEW_GET_FUN(__glewNormalStream3bvATI)
+#define glNormalStream3dATI GLEW_GET_FUN(__glewNormalStream3dATI)
+#define glNormalStream3dvATI GLEW_GET_FUN(__glewNormalStream3dvATI)
+#define glNormalStream3fATI GLEW_GET_FUN(__glewNormalStream3fATI)
+#define glNormalStream3fvATI GLEW_GET_FUN(__glewNormalStream3fvATI)
+#define glNormalStream3iATI GLEW_GET_FUN(__glewNormalStream3iATI)
+#define glNormalStream3ivATI GLEW_GET_FUN(__glewNormalStream3ivATI)
+#define glNormalStream3sATI GLEW_GET_FUN(__glewNormalStream3sATI)
+#define glNormalStream3svATI GLEW_GET_FUN(__glewNormalStream3svATI)
+#define glVertexBlendEnvfATI GLEW_GET_FUN(__glewVertexBlendEnvfATI)
+#define glVertexBlendEnviATI GLEW_GET_FUN(__glewVertexBlendEnviATI)
+#define glVertexStream2dATI GLEW_GET_FUN(__glewVertexStream2dATI)
+#define glVertexStream2dvATI GLEW_GET_FUN(__glewVertexStream2dvATI)
+#define glVertexStream2fATI GLEW_GET_FUN(__glewVertexStream2fATI)
+#define glVertexStream2fvATI GLEW_GET_FUN(__glewVertexStream2fvATI)
+#define glVertexStream2iATI GLEW_GET_FUN(__glewVertexStream2iATI)
+#define glVertexStream2ivATI GLEW_GET_FUN(__glewVertexStream2ivATI)
+#define glVertexStream2sATI GLEW_GET_FUN(__glewVertexStream2sATI)
+#define glVertexStream2svATI GLEW_GET_FUN(__glewVertexStream2svATI)
+#define glVertexStream3dATI GLEW_GET_FUN(__glewVertexStream3dATI)
+#define glVertexStream3dvATI GLEW_GET_FUN(__glewVertexStream3dvATI)
+#define glVertexStream3fATI GLEW_GET_FUN(__glewVertexStream3fATI)
+#define glVertexStream3fvATI GLEW_GET_FUN(__glewVertexStream3fvATI)
+#define glVertexStream3iATI GLEW_GET_FUN(__glewVertexStream3iATI)
+#define glVertexStream3ivATI GLEW_GET_FUN(__glewVertexStream3ivATI)
+#define glVertexStream3sATI GLEW_GET_FUN(__glewVertexStream3sATI)
+#define glVertexStream3svATI GLEW_GET_FUN(__glewVertexStream3svATI)
+#define glVertexStream4dATI GLEW_GET_FUN(__glewVertexStream4dATI)
+#define glVertexStream4dvATI GLEW_GET_FUN(__glewVertexStream4dvATI)
+#define glVertexStream4fATI GLEW_GET_FUN(__glewVertexStream4fATI)
+#define glVertexStream4fvATI GLEW_GET_FUN(__glewVertexStream4fvATI)
+#define glVertexStream4iATI GLEW_GET_FUN(__glewVertexStream4iATI)
+#define glVertexStream4ivATI GLEW_GET_FUN(__glewVertexStream4ivATI)
+#define glVertexStream4sATI GLEW_GET_FUN(__glewVertexStream4sATI)
+#define glVertexStream4svATI GLEW_GET_FUN(__glewVertexStream4svATI)
+
+#define GLEW_ATI_vertex_streams GLEW_GET_VAR(__GLEW_ATI_vertex_streams)
+
+#endif /* GL_ATI_vertex_streams */
+
+/* --------------------------- GL_EXT_422_pixels --------------------------- */
+
+#ifndef GL_EXT_422_pixels
+#define GL_EXT_422_pixels 1
+
+#define GL_422_EXT 0x80CC
+#define GL_422_REV_EXT 0x80CD
+#define GL_422_AVERAGE_EXT 0x80CE
+#define GL_422_REV_AVERAGE_EXT 0x80CF
+
+#define GLEW_EXT_422_pixels GLEW_GET_VAR(__GLEW_EXT_422_pixels)
+
+#endif /* GL_EXT_422_pixels */
+
+/* ---------------------------- GL_EXT_Cg_shader --------------------------- */
+
+#ifndef GL_EXT_Cg_shader
+#define GL_EXT_Cg_shader 1
+
+#define GL_CG_VERTEX_SHADER_EXT 0x890E
+#define GL_CG_FRAGMENT_SHADER_EXT 0x890F
+
+#define GLEW_EXT_Cg_shader GLEW_GET_VAR(__GLEW_EXT_Cg_shader)
+
+#endif /* GL_EXT_Cg_shader */
+
+/* ------------------------------ GL_EXT_abgr ------------------------------ */
+
+#ifndef GL_EXT_abgr
+#define GL_EXT_abgr 1
+
+#define GL_ABGR_EXT 0x8000
+
+#define GLEW_EXT_abgr GLEW_GET_VAR(__GLEW_EXT_abgr)
+
+#endif /* GL_EXT_abgr */
+
+/* ------------------------------ GL_EXT_bgra ------------------------------ */
+
+#ifndef GL_EXT_bgra
+#define GL_EXT_bgra 1
+
+#define GL_BGR_EXT 0x80E0
+#define GL_BGRA_EXT 0x80E1
+
+#define GLEW_EXT_bgra GLEW_GET_VAR(__GLEW_EXT_bgra)
+
+#endif /* GL_EXT_bgra */
+
+/* ------------------------ GL_EXT_bindable_uniform ------------------------ */
+
+#ifndef GL_EXT_bindable_uniform
+#define GL_EXT_bindable_uniform 1
+
+#define GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT 0x8DE2
+#define GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT 0x8DE3
+#define GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT 0x8DE4
+#define GL_MAX_BINDABLE_UNIFORM_SIZE_EXT 0x8DED
+#define GL_UNIFORM_BUFFER_EXT 0x8DEE
+#define GL_UNIFORM_BUFFER_BINDING_EXT 0x8DEF
+
+typedef GLint (GLAPIENTRY * PFNGLGETUNIFORMBUFFERSIZEEXTPROC) (GLuint program, GLint location);
+typedef GLintptr (GLAPIENTRY * PFNGLGETUNIFORMOFFSETEXTPROC) (GLuint program, GLint location);
+typedef void (GLAPIENTRY * PFNGLUNIFORMBUFFEREXTPROC) (GLuint program, GLint location, GLuint buffer);
+
+#define glGetUniformBufferSizeEXT GLEW_GET_FUN(__glewGetUniformBufferSizeEXT)
+#define glGetUniformOffsetEXT GLEW_GET_FUN(__glewGetUniformOffsetEXT)
+#define glUniformBufferEXT GLEW_GET_FUN(__glewUniformBufferEXT)
+
+#define GLEW_EXT_bindable_uniform GLEW_GET_VAR(__GLEW_EXT_bindable_uniform)
+
+#endif /* GL_EXT_bindable_uniform */
+
+/* --------------------------- GL_EXT_blend_color -------------------------- */
+
+#ifndef GL_EXT_blend_color
+#define GL_EXT_blend_color 1
+
+#define GL_CONSTANT_COLOR_EXT 0x8001
+#define GL_ONE_MINUS_CONSTANT_COLOR_EXT 0x8002
+#define GL_CONSTANT_ALPHA_EXT 0x8003
+#define GL_ONE_MINUS_CONSTANT_ALPHA_EXT 0x8004
+#define GL_BLEND_COLOR_EXT 0x8005
+
+typedef void (GLAPIENTRY * PFNGLBLENDCOLOREXTPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
+
+#define glBlendColorEXT GLEW_GET_FUN(__glewBlendColorEXT)
+
+#define GLEW_EXT_blend_color GLEW_GET_VAR(__GLEW_EXT_blend_color)
+
+#endif /* GL_EXT_blend_color */
+
+/* --------------------- GL_EXT_blend_equation_separate -------------------- */
+
+#ifndef GL_EXT_blend_equation_separate
+#define GL_EXT_blend_equation_separate 1
+
+#define GL_BLEND_EQUATION_RGB_EXT 0x8009
+#define GL_BLEND_EQUATION_ALPHA_EXT 0x883D
+
+typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONSEPARATEEXTPROC) (GLenum modeRGB, GLenum modeAlpha);
+
+#define glBlendEquationSeparateEXT GLEW_GET_FUN(__glewBlendEquationSeparateEXT)
+
+#define GLEW_EXT_blend_equation_separate GLEW_GET_VAR(__GLEW_EXT_blend_equation_separate)
+
+#endif /* GL_EXT_blend_equation_separate */
+
+/* ----------------------- GL_EXT_blend_func_separate ---------------------- */
+
+#ifndef GL_EXT_blend_func_separate
+#define GL_EXT_blend_func_separate 1
+
+#define GL_BLEND_DST_RGB_EXT 0x80C8
+#define GL_BLEND_SRC_RGB_EXT 0x80C9
+#define GL_BLEND_DST_ALPHA_EXT 0x80CA
+#define GL_BLEND_SRC_ALPHA_EXT 0x80CB
+
+typedef void (GLAPIENTRY * PFNGLBLENDFUNCSEPARATEEXTPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
+
+#define glBlendFuncSeparateEXT GLEW_GET_FUN(__glewBlendFuncSeparateEXT)
+
+#define GLEW_EXT_blend_func_separate GLEW_GET_VAR(__GLEW_EXT_blend_func_separate)
+
+#endif /* GL_EXT_blend_func_separate */
+
+/* ------------------------- GL_EXT_blend_logic_op ------------------------- */
+
+#ifndef GL_EXT_blend_logic_op
+#define GL_EXT_blend_logic_op 1
+
+#define GLEW_EXT_blend_logic_op GLEW_GET_VAR(__GLEW_EXT_blend_logic_op)
+
+#endif /* GL_EXT_blend_logic_op */
+
+/* -------------------------- GL_EXT_blend_minmax -------------------------- */
+
+#ifndef GL_EXT_blend_minmax
+#define GL_EXT_blend_minmax 1
+
+#define GL_FUNC_ADD_EXT 0x8006
+#define GL_MIN_EXT 0x8007
+#define GL_MAX_EXT 0x8008
+#define GL_BLEND_EQUATION_EXT 0x8009
+
+typedef void (GLAPIENTRY * PFNGLBLENDEQUATIONEXTPROC) (GLenum mode);
+
+#define glBlendEquationEXT GLEW_GET_FUN(__glewBlendEquationEXT)
+
+#define GLEW_EXT_blend_minmax GLEW_GET_VAR(__GLEW_EXT_blend_minmax)
+
+#endif /* GL_EXT_blend_minmax */
+
+/* ------------------------- GL_EXT_blend_subtract ------------------------- */
+
+#ifndef GL_EXT_blend_subtract
+#define GL_EXT_blend_subtract 1
+
+#define GL_FUNC_SUBTRACT_EXT 0x800A
+#define GL_FUNC_REVERSE_SUBTRACT_EXT 0x800B
+
+#define GLEW_EXT_blend_subtract GLEW_GET_VAR(__GLEW_EXT_blend_subtract)
+
+#endif /* GL_EXT_blend_subtract */
+
+/* ------------------------ GL_EXT_clip_volume_hint ------------------------ */
+
+#ifndef GL_EXT_clip_volume_hint
+#define GL_EXT_clip_volume_hint 1
+
+#define GL_CLIP_VOLUME_CLIPPING_HINT_EXT 0x80F0
+
+#define GLEW_EXT_clip_volume_hint GLEW_GET_VAR(__GLEW_EXT_clip_volume_hint)
+
+#endif /* GL_EXT_clip_volume_hint */
+
+/* ------------------------------ GL_EXT_cmyka ----------------------------- */
+
+#ifndef GL_EXT_cmyka
+#define GL_EXT_cmyka 1
+
+#define GL_CMYK_EXT 0x800C
+#define GL_CMYKA_EXT 0x800D
+#define GL_PACK_CMYK_HINT_EXT 0x800E
+#define GL_UNPACK_CMYK_HINT_EXT 0x800F
+
+#define GLEW_EXT_cmyka GLEW_GET_VAR(__GLEW_EXT_cmyka)
+
+#endif /* GL_EXT_cmyka */
+
+/* ------------------------- GL_EXT_color_subtable ------------------------- */
+
+#ifndef GL_EXT_color_subtable
+#define GL_EXT_color_subtable 1
+
+typedef void (GLAPIENTRY * PFNGLCOLORSUBTABLEEXTPROC) (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const void* data);
+typedef void (GLAPIENTRY * PFNGLCOPYCOLORSUBTABLEEXTPROC) (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);
+
+#define glColorSubTableEXT GLEW_GET_FUN(__glewColorSubTableEXT)
+#define glCopyColorSubTableEXT GLEW_GET_FUN(__glewCopyColorSubTableEXT)
+
+#define GLEW_EXT_color_subtable GLEW_GET_VAR(__GLEW_EXT_color_subtable)
+
+#endif /* GL_EXT_color_subtable */
+
+/* ---------------------- GL_EXT_compiled_vertex_array --------------------- */
+
+#ifndef GL_EXT_compiled_vertex_array
+#define GL_EXT_compiled_vertex_array 1
+
+#define GL_ARRAY_ELEMENT_LOCK_FIRST_EXT 0x81A8
+#define GL_ARRAY_ELEMENT_LOCK_COUNT_EXT 0x81A9
+
+typedef void (GLAPIENTRY * PFNGLLOCKARRAYSEXTPROC) (GLint first, GLsizei count);
+typedef void (GLAPIENTRY * PFNGLUNLOCKARRAYSEXTPROC) (void);
+
+#define glLockArraysEXT GLEW_GET_FUN(__glewLockArraysEXT)
+#define glUnlockArraysEXT GLEW_GET_FUN(__glewUnlockArraysEXT)
+
+#define GLEW_EXT_compiled_vertex_array GLEW_GET_VAR(__GLEW_EXT_compiled_vertex_array)
+
+#endif /* GL_EXT_compiled_vertex_array */
+
+/* --------------------------- GL_EXT_convolution -------------------------- */
+
+#ifndef GL_EXT_convolution
+#define GL_EXT_convolution 1
+
+#define GL_CONVOLUTION_1D_EXT 0x8010
+#define GL_CONVOLUTION_2D_EXT 0x8011
+#define GL_SEPARABLE_2D_EXT 0x8012
+#define GL_CONVOLUTION_BORDER_MODE_EXT 0x8013
+#define GL_CONVOLUTION_FILTER_SCALE_EXT 0x8014
+#define GL_CONVOLUTION_FILTER_BIAS_EXT 0x8015
+#define GL_REDUCE_EXT 0x8016
+#define GL_CONVOLUTION_FORMAT_EXT 0x8017
+#define GL_CONVOLUTION_WIDTH_EXT 0x8018
+#define GL_CONVOLUTION_HEIGHT_EXT 0x8019
+#define GL_MAX_CONVOLUTION_WIDTH_EXT 0x801A
+#define GL_MAX_CONVOLUTION_HEIGHT_EXT 0x801B
+#define GL_POST_CONVOLUTION_RED_SCALE_EXT 0x801C
+#define GL_POST_CONVOLUTION_GREEN_SCALE_EXT 0x801D
+#define GL_POST_CONVOLUTION_BLUE_SCALE_EXT 0x801E
+#define GL_POST_CONVOLUTION_ALPHA_SCALE_EXT 0x801F
+#define GL_POST_CONVOLUTION_RED_BIAS_EXT 0x8020
+#define GL_POST_CONVOLUTION_GREEN_BIAS_EXT 0x8021
+#define GL_POST_CONVOLUTION_BLUE_BIAS_EXT 0x8022
+#define GL_POST_CONVOLUTION_ALPHA_BIAS_EXT 0x8023
+
+typedef void (GLAPIENTRY * PFNGLCONVOLUTIONFILTER1DEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void* image);
+typedef void (GLAPIENTRY * PFNGLCONVOLUTIONFILTER2DEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void* image);
+typedef void (GLAPIENTRY * PFNGLCONVOLUTIONPARAMETERFEXTPROC) (GLenum target, GLenum pname, GLfloat param);
+typedef void (GLAPIENTRY * PFNGLCONVOLUTIONPARAMETERFVEXTPROC) (GLenum target, GLenum pname, const GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLCONVOLUTIONPARAMETERIEXTPROC) (GLenum target, GLenum pname, GLint param);
+typedef void (GLAPIENTRY * PFNGLCONVOLUTIONPARAMETERIVEXTPROC) (GLenum target, GLenum pname, const GLint* params);
+typedef void (GLAPIENTRY * PFNGLCOPYCONVOLUTIONFILTER1DEXTPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
+typedef void (GLAPIENTRY * PFNGLCOPYCONVOLUTIONFILTER2DEXTPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);
+typedef void (GLAPIENTRY * PFNGLGETCONVOLUTIONFILTEREXTPROC) (GLenum target, GLenum format, GLenum type, void* image);
+typedef void (GLAPIENTRY * PFNGLGETCONVOLUTIONPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLGETCONVOLUTIONPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint* params);
+typedef void (GLAPIENTRY * PFNGLGETSEPARABLEFILTEREXTPROC) (GLenum target, GLenum format, GLenum type, void* row, void* column, void* span);
+typedef void (GLAPIENTRY * PFNGLSEPARABLEFILTER2DEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void* row, const void* column);
+
+#define glConvolutionFilter1DEXT GLEW_GET_FUN(__glewConvolutionFilter1DEXT)
+#define glConvolutionFilter2DEXT GLEW_GET_FUN(__glewConvolutionFilter2DEXT)
+#define glConvolutionParameterfEXT GLEW_GET_FUN(__glewConvolutionParameterfEXT)
+#define glConvolutionParameterfvEXT GLEW_GET_FUN(__glewConvolutionParameterfvEXT)
+#define glConvolutionParameteriEXT GLEW_GET_FUN(__glewConvolutionParameteriEXT)
+#define glConvolutionParameterivEXT GLEW_GET_FUN(__glewConvolutionParameterivEXT)
+#define glCopyConvolutionFilter1DEXT GLEW_GET_FUN(__glewCopyConvolutionFilter1DEXT)
+#define glCopyConvolutionFilter2DEXT GLEW_GET_FUN(__glewCopyConvolutionFilter2DEXT)
+#define glGetConvolutionFilterEXT GLEW_GET_FUN(__glewGetConvolutionFilterEXT)
+#define glGetConvolutionParameterfvEXT GLEW_GET_FUN(__glewGetConvolutionParameterfvEXT)
+#define glGetConvolutionParameterivEXT GLEW_GET_FUN(__glewGetConvolutionParameterivEXT)
+#define glGetSeparableFilterEXT GLEW_GET_FUN(__glewGetSeparableFilterEXT)
+#define glSeparableFilter2DEXT GLEW_GET_FUN(__glewSeparableFilter2DEXT)
+
+#define GLEW_EXT_convolution GLEW_GET_VAR(__GLEW_EXT_convolution)
+
+#endif /* GL_EXT_convolution */
+
+/* ------------------------ GL_EXT_coordinate_frame ------------------------ */
+
+#ifndef GL_EXT_coordinate_frame
+#define GL_EXT_coordinate_frame 1
+
+#define GL_TANGENT_ARRAY_EXT 0x8439
+#define GL_BINORMAL_ARRAY_EXT 0x843A
+#define GL_CURRENT_TANGENT_EXT 0x843B
+#define GL_CURRENT_BINORMAL_EXT 0x843C
+#define GL_TANGENT_ARRAY_TYPE_EXT 0x843E
+#define GL_TANGENT_ARRAY_STRIDE_EXT 0x843F
+#define GL_BINORMAL_ARRAY_TYPE_EXT 0x8440
+#define GL_BINORMAL_ARRAY_STRIDE_EXT 0x8441
+#define GL_TANGENT_ARRAY_POINTER_EXT 0x8442
+#define GL_BINORMAL_ARRAY_POINTER_EXT 0x8443
+#define GL_MAP1_TANGENT_EXT 0x8444
+#define GL_MAP2_TANGENT_EXT 0x8445
+#define GL_MAP1_BINORMAL_EXT 0x8446
+#define GL_MAP2_BINORMAL_EXT 0x8447
+
+typedef void (GLAPIENTRY * PFNGLBINORMALPOINTEREXTPROC) (GLenum type, GLsizei stride, void* pointer);
+typedef void (GLAPIENTRY * PFNGLTANGENTPOINTEREXTPROC) (GLenum type, GLsizei stride, void* pointer);
+
+#define glBinormalPointerEXT GLEW_GET_FUN(__glewBinormalPointerEXT)
+#define glTangentPointerEXT GLEW_GET_FUN(__glewTangentPointerEXT)
+
+#define GLEW_EXT_coordinate_frame GLEW_GET_VAR(__GLEW_EXT_coordinate_frame)
+
+#endif /* GL_EXT_coordinate_frame */
+
+/* -------------------------- GL_EXT_copy_texture -------------------------- */
+
+#ifndef GL_EXT_copy_texture
+#define GL_EXT_copy_texture 1
+
+typedef void (GLAPIENTRY * PFNGLCOPYTEXIMAGE1DEXTPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
+typedef void (GLAPIENTRY * PFNGLCOPYTEXIMAGE2DEXTPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
+typedef void (GLAPIENTRY * PFNGLCOPYTEXSUBIMAGE1DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
+typedef void (GLAPIENTRY * PFNGLCOPYTEXSUBIMAGE2DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+typedef void (GLAPIENTRY * PFNGLCOPYTEXSUBIMAGE3DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+
+#define glCopyTexImage1DEXT GLEW_GET_FUN(__glewCopyTexImage1DEXT)
+#define glCopyTexImage2DEXT GLEW_GET_FUN(__glewCopyTexImage2DEXT)
+#define glCopyTexSubImage1DEXT GLEW_GET_FUN(__glewCopyTexSubImage1DEXT)
+#define glCopyTexSubImage2DEXT GLEW_GET_FUN(__glewCopyTexSubImage2DEXT)
+#define glCopyTexSubImage3DEXT GLEW_GET_FUN(__glewCopyTexSubImage3DEXT)
+
+#define GLEW_EXT_copy_texture GLEW_GET_VAR(__GLEW_EXT_copy_texture)
+
+#endif /* GL_EXT_copy_texture */
+
+/* --------------------------- GL_EXT_cull_vertex -------------------------- */
+
+#ifndef GL_EXT_cull_vertex
+#define GL_EXT_cull_vertex 1
+
+#define GL_CULL_VERTEX_EXT 0x81AA
+#define GL_CULL_VERTEX_EYE_POSITION_EXT 0x81AB
+#define GL_CULL_VERTEX_OBJECT_POSITION_EXT 0x81AC
+
+typedef void (GLAPIENTRY * PFNGLCULLPARAMETERDVEXTPROC) (GLenum pname, GLdouble* params);
+typedef void (GLAPIENTRY * PFNGLCULLPARAMETERFVEXTPROC) (GLenum pname, GLfloat* params);
+
+#define glCullParameterdvEXT GLEW_GET_FUN(__glewCullParameterdvEXT)
+#define glCullParameterfvEXT GLEW_GET_FUN(__glewCullParameterfvEXT)
+
+#define GLEW_EXT_cull_vertex GLEW_GET_VAR(__GLEW_EXT_cull_vertex)
+
+#endif /* GL_EXT_cull_vertex */
+
+/* ------------------------ GL_EXT_depth_bounds_test ----------------------- */
+
+#ifndef GL_EXT_depth_bounds_test
+#define GL_EXT_depth_bounds_test 1
+
+#define GL_DEPTH_BOUNDS_TEST_EXT 0x8890
+#define GL_DEPTH_BOUNDS_EXT 0x8891
+
+typedef void (GLAPIENTRY * PFNGLDEPTHBOUNDSEXTPROC) (GLclampd zmin, GLclampd zmax);
+
+#define glDepthBoundsEXT GLEW_GET_FUN(__glewDepthBoundsEXT)
+
+#define GLEW_EXT_depth_bounds_test GLEW_GET_VAR(__GLEW_EXT_depth_bounds_test)
+
+#endif /* GL_EXT_depth_bounds_test */
+
+/* ----------------------- GL_EXT_direct_state_access ---------------------- */
+
+#ifndef GL_EXT_direct_state_access
+#define GL_EXT_direct_state_access 1
+
+#define GL_PROGRAM_MATRIX_EXT 0x8E2D
+#define GL_TRANSPOSE_PROGRAM_MATRIX_EXT 0x8E2E
+#define GL_PROGRAM_MATRIX_STACK_DEPTH_EXT 0x8E2F
+
+typedef void (GLAPIENTRY * PFNGLBINDMULTITEXTUREEXTPROC) (GLenum texunit, GLenum target, GLuint texture);
+typedef GLenum (GLAPIENTRY * PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC) (GLuint framebuffer, GLenum target);
+typedef void (GLAPIENTRY * PFNGLCLIENTATTRIBDEFAULTEXTPROC) (GLbitfield mask);
+typedef void (GLAPIENTRY * PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void* data);
+typedef void (GLAPIENTRY * PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void* data);
+typedef void (GLAPIENTRY * PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void* data);
+typedef void (GLAPIENTRY * PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void* data);
+typedef void (GLAPIENTRY * PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void* data);
+typedef void (GLAPIENTRY * PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void* data);
+typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void* data);
+typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void* data);
+typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void* data);
+typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void* data);
+typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void* data);
+typedef void (GLAPIENTRY * PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void* data);
+typedef void (GLAPIENTRY * PFNGLCOPYMULTITEXIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
+typedef void (GLAPIENTRY * PFNGLCOPYMULTITEXIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
+typedef void (GLAPIENTRY * PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
+typedef void (GLAPIENTRY * PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+typedef void (GLAPIENTRY * PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+typedef void (GLAPIENTRY * PFNGLCOPYTEXTUREIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
+typedef void (GLAPIENTRY * PFNGLCOPYTEXTUREIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
+typedef void (GLAPIENTRY * PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
+typedef void (GLAPIENTRY * PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+typedef void (GLAPIENTRY * PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+typedef void (GLAPIENTRY * PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC) (GLenum array, GLuint index);
+typedef void (GLAPIENTRY * PFNGLDISABLECLIENTSTATEIEXTPROC) (GLenum array, GLuint index);
+typedef void (GLAPIENTRY * PFNGLDISABLEVERTEXARRAYATTRIBEXTPROC) (GLuint vaobj, GLuint index);
+typedef void (GLAPIENTRY * PFNGLDISABLEVERTEXARRAYEXTPROC) (GLuint vaobj, GLenum array);
+typedef void (GLAPIENTRY * PFNGLENABLECLIENTSTATEINDEXEDEXTPROC) (GLenum array, GLuint index);
+typedef void (GLAPIENTRY * PFNGLENABLECLIENTSTATEIEXTPROC) (GLenum array, GLuint index);
+typedef void (GLAPIENTRY * PFNGLENABLEVERTEXARRAYATTRIBEXTPROC) (GLuint vaobj, GLuint index);
+typedef void (GLAPIENTRY * PFNGLENABLEVERTEXARRAYEXTPROC) (GLuint vaobj, GLenum array);
+typedef void (GLAPIENTRY * PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr length);
+typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC) (GLuint framebuffer, GLenum mode);
+typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC) (GLuint framebuffer, GLsizei n, const GLenum* bufs);
+typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERREADBUFFEREXTPROC) (GLuint framebuffer, GLenum mode);
+typedef void (GLAPIENTRY * PFNGLGENERATEMULTITEXMIPMAPEXTPROC) (GLenum texunit, GLenum target);
+typedef void (GLAPIENTRY * PFNGLGENERATETEXTUREMIPMAPEXTPROC) (GLuint texture, GLenum target);
+typedef void (GLAPIENTRY * PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC) (GLenum texunit, GLenum target, GLint level, void* img);
+typedef void (GLAPIENTRY * PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC) (GLuint texture, GLenum target, GLint level, void* img);
+typedef void (GLAPIENTRY * PFNGLGETDOUBLEINDEXEDVEXTPROC) (GLenum target, GLuint index, GLdouble* params);
+typedef void (GLAPIENTRY * PFNGLGETDOUBLEI_VEXTPROC) (GLenum pname, GLuint index, GLdouble* params);
+typedef void (GLAPIENTRY * PFNGLGETFLOATINDEXEDVEXTPROC) (GLenum target, GLuint index, GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLGETFLOATI_VEXTPROC) (GLenum pname, GLuint index, GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC) (GLuint framebuffer, GLenum pname, GLint* param);
+typedef void (GLAPIENTRY * PFNGLGETMULTITEXENVFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLGETMULTITEXENVIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint* params);
+typedef void (GLAPIENTRY * PFNGLGETMULTITEXGENDVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLdouble* params);
+typedef void (GLAPIENTRY * PFNGLGETMULTITEXGENFVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLGETMULTITEXGENIVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLint* params);
+typedef void (GLAPIENTRY * PFNGLGETMULTITEXIMAGEEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum format, GLenum type, void* pixels);
+typedef void (GLAPIENTRY * PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum pname, GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC) (GLenum texunit, GLenum target, GLint level, GLenum pname, GLint* params);
+typedef void (GLAPIENTRY * PFNGLGETMULTITEXPARAMETERIIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint* params);
+typedef void (GLAPIENTRY * PFNGLGETMULTITEXPARAMETERIUIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLuint* params);
+typedef void (GLAPIENTRY * PFNGLGETMULTITEXPARAMETERFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLGETMULTITEXPARAMETERIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint* params);
+typedef void (GLAPIENTRY * PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC) (GLuint buffer, GLenum pname, GLint* params);
+typedef void (GLAPIENTRY * PFNGLGETNAMEDBUFFERPOINTERVEXTPROC) (GLuint buffer, GLenum pname, void** params);
+typedef void (GLAPIENTRY * PFNGLGETNAMEDBUFFERSUBDATAEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, void* data);
+typedef void (GLAPIENTRY * PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum pname, GLint* params);
+typedef void (GLAPIENTRY * PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC) (GLuint program, GLenum target, GLuint index, GLint* params);
+typedef void (GLAPIENTRY * PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC) (GLuint program, GLenum target, GLuint index, GLuint* params);
+typedef void (GLAPIENTRY * PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC) (GLuint program, GLenum target, GLuint index, GLdouble* params);
+typedef void (GLAPIENTRY * PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC) (GLuint program, GLenum target, GLuint index, GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLGETNAMEDPROGRAMSTRINGEXTPROC) (GLuint program, GLenum target, GLenum pname, void* string);
+typedef void (GLAPIENTRY * PFNGLGETNAMEDPROGRAMIVEXTPROC) (GLuint program, GLenum target, GLenum pname, GLint* params);
+typedef void (GLAPIENTRY * PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC) (GLuint renderbuffer, GLenum pname, GLint* params);
+typedef void (GLAPIENTRY * PFNGLGETPOINTERINDEXEDVEXTPROC) (GLenum target, GLuint index, GLvoid** params);
+typedef void (GLAPIENTRY * PFNGLGETPOINTERI_VEXTPROC) (GLenum pname, GLuint index, GLvoid** params);
+typedef void (GLAPIENTRY * PFNGLGETTEXTUREIMAGEEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, void* pixels);
+typedef void (GLAPIENTRY * PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC) (GLuint texture, GLenum target, GLint level, GLenum pname, GLint* params);
+typedef void (GLAPIENTRY * PFNGLGETTEXTUREPARAMETERIIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLint* params);
+typedef void (GLAPIENTRY * PFNGLGETTEXTUREPARAMETERIUIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLuint* params);
+typedef void (GLAPIENTRY * PFNGLGETTEXTUREPARAMETERFVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLGETTEXTUREPARAMETERIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLint* params);
+typedef void (GLAPIENTRY * PFNGLGETVERTEXARRAYINTEGERI_VEXTPROC) (GLuint vaobj, GLuint index, GLenum pname, GLint* param);
+typedef void (GLAPIENTRY * PFNGLGETVERTEXARRAYINTEGERVEXTPROC) (GLuint vaobj, GLenum pname, GLint* param);
+typedef void (GLAPIENTRY * PFNGLGETVERTEXARRAYPOINTERI_VEXTPROC) (GLuint vaobj, GLuint index, GLenum pname, GLvoid** param);
+typedef void (GLAPIENTRY * PFNGLGETVERTEXARRAYPOINTERVEXTPROC) (GLuint vaobj, GLenum pname, GLvoid** param);
+typedef GLvoid * (GLAPIENTRY * PFNGLMAPNAMEDBUFFEREXTPROC) (GLuint buffer, GLenum access);
+typedef GLvoid * (GLAPIENTRY * PFNGLMAPNAMEDBUFFERRANGEEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access);
+typedef void (GLAPIENTRY * PFNGLMATRIXFRUSTUMEXTPROC) (GLenum matrixMode, GLdouble l, GLdouble r, GLdouble b, GLdouble t, GLdouble n, GLdouble f);
+typedef void (GLAPIENTRY * PFNGLMATRIXLOADIDENTITYEXTPROC) (GLenum matrixMode);
+typedef void (GLAPIENTRY * PFNGLMATRIXLOADTRANSPOSEDEXTPROC) (GLenum matrixMode, const GLdouble* m);
+typedef void (GLAPIENTRY * PFNGLMATRIXLOADTRANSPOSEFEXTPROC) (GLenum matrixMode, const GLfloat* m);
+typedef void (GLAPIENTRY * PFNGLMATRIXLOADDEXTPROC) (GLenum matrixMode, const GLdouble* m);
+typedef void (GLAPIENTRY * PFNGLMATRIXLOADFEXTPROC) (GLenum matrixMode, const GLfloat* m);
+typedef void (GLAPIENTRY * PFNGLMATRIXMULTTRANSPOSEDEXTPROC) (GLenum matrixMode, const GLdouble* m);
+typedef void (GLAPIENTRY * PFNGLMATRIXMULTTRANSPOSEFEXTPROC) (GLenum matrixMode, const GLfloat* m);
+typedef void (GLAPIENTRY * PFNGLMATRIXMULTDEXTPROC) (GLenum matrixMode, const GLdouble* m);
+typedef void (GLAPIENTRY * PFNGLMATRIXMULTFEXTPROC) (GLenum matrixMode, const GLfloat* m);
+typedef void (GLAPIENTRY * PFNGLMATRIXORTHOEXTPROC) (GLenum matrixMode, GLdouble l, GLdouble r, GLdouble b, GLdouble t, GLdouble n, GLdouble f);
+typedef void (GLAPIENTRY * PFNGLMATRIXPOPEXTPROC) (GLenum matrixMode);
+typedef void (GLAPIENTRY * PFNGLMATRIXPUSHEXTPROC) (GLenum matrixMode);
+typedef void (GLAPIENTRY * PFNGLMATRIXROTATEDEXTPROC) (GLenum matrixMode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z);
+typedef void (GLAPIENTRY * PFNGLMATRIXROTATEFEXTPROC) (GLenum matrixMode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
+typedef void (GLAPIENTRY * PFNGLMATRIXSCALEDEXTPROC) (GLenum matrixMode, GLdouble x, GLdouble y, GLdouble z);
+typedef void (GLAPIENTRY * PFNGLMATRIXSCALEFEXTPROC) (GLenum matrixMode, GLfloat x, GLfloat y, GLfloat z);
+typedef void (GLAPIENTRY * PFNGLMATRIXTRANSLATEDEXTPROC) (GLenum matrixMode, GLdouble x, GLdouble y, GLdouble z);
+typedef void (GLAPIENTRY * PFNGLMATRIXTRANSLATEFEXTPROC) (GLenum matrixMode, GLfloat x, GLfloat y, GLfloat z);
+typedef void (GLAPIENTRY * PFNGLMULTITEXBUFFEREXTPROC) (GLenum texunit, GLenum target, GLenum internalformat, GLuint buffer);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORDPOINTEREXTPROC) (GLenum texunit, GLint size, GLenum type, GLsizei stride, const void* pointer);
+typedef void (GLAPIENTRY * PFNGLMULTITEXENVFEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat param);
+typedef void (GLAPIENTRY * PFNGLMULTITEXENVFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLMULTITEXENVIEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint param);
+typedef void (GLAPIENTRY * PFNGLMULTITEXENVIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLint* params);
+typedef void (GLAPIENTRY * PFNGLMULTITEXGENDEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLdouble param);
+typedef void (GLAPIENTRY * PFNGLMULTITEXGENDVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, const GLdouble* params);
+typedef void (GLAPIENTRY * PFNGLMULTITEXGENFEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLfloat param);
+typedef void (GLAPIENTRY * PFNGLMULTITEXGENFVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, const GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLMULTITEXGENIEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, GLint param);
+typedef void (GLAPIENTRY * PFNGLMULTITEXGENIVEXTPROC) (GLenum texunit, GLenum coord, GLenum pname, const GLint* params);
+typedef void (GLAPIENTRY * PFNGLMULTITEXIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void* pixels);
+typedef void (GLAPIENTRY * PFNGLMULTITEXIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void* pixels);
+typedef void (GLAPIENTRY * PFNGLMULTITEXIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void* pixels);
+typedef void (GLAPIENTRY * PFNGLMULTITEXPARAMETERIIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLint* params);
+typedef void (GLAPIENTRY * PFNGLMULTITEXPARAMETERIUIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLuint* params);
+typedef void (GLAPIENTRY * PFNGLMULTITEXPARAMETERFEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLfloat param);
+typedef void (GLAPIENTRY * PFNGLMULTITEXPARAMETERFVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLfloat* param);
+typedef void (GLAPIENTRY * PFNGLMULTITEXPARAMETERIEXTPROC) (GLenum texunit, GLenum target, GLenum pname, GLint param);
+typedef void (GLAPIENTRY * PFNGLMULTITEXPARAMETERIVEXTPROC) (GLenum texunit, GLenum target, GLenum pname, const GLint* param);
+typedef void (GLAPIENTRY * PFNGLMULTITEXRENDERBUFFEREXTPROC) (GLenum texunit, GLenum target, GLuint renderbuffer);
+typedef void (GLAPIENTRY * PFNGLMULTITEXSUBIMAGE1DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void* pixels);
+typedef void (GLAPIENTRY * PFNGLMULTITEXSUBIMAGE2DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void* pixels);
+typedef void (GLAPIENTRY * PFNGLMULTITEXSUBIMAGE3DEXTPROC) (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void* pixels);
+typedef void (GLAPIENTRY * PFNGLNAMEDBUFFERDATAEXTPROC) (GLuint buffer, GLsizeiptr size, const void* data, GLenum usage);
+typedef void (GLAPIENTRY * PFNGLNAMEDBUFFERSUBDATAEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, const void* data);
+typedef void (GLAPIENTRY * PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC) (GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
+typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC) (GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
+typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC) (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
+typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level);
+typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLenum face);
+typedef void (GLAPIENTRY * PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer);
+typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC) (GLuint program, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLdouble* params);
+typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC) (GLuint program, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC) (GLuint program, GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);
+typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLint* params);
+typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC) (GLuint program, GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
+typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC) (GLuint program, GLenum target, GLuint index, const GLuint* params);
+typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC) (GLuint program, GLenum target, GLuint index, GLsizei count, const GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC) (GLuint program, GLenum target, GLuint index, GLsizei count, const GLint* params);
+typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC) (GLuint program, GLenum target, GLuint index, GLsizei count, const GLuint* params);
+typedef void (GLAPIENTRY * PFNGLNAMEDPROGRAMSTRINGEXTPROC) (GLuint program, GLenum target, GLenum format, GLsizei len, const void* string);
+typedef void (GLAPIENTRY * PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC) (GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height);
+typedef void (GLAPIENTRY * PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC) (GLuint renderbuffer, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height);
+typedef void (GLAPIENTRY * PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
+typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1FEXTPROC) (GLuint program, GLint location, GLfloat v0);
+typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat* value);
+typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1IEXTPROC) (GLuint program, GLint location, GLint v0);
+typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint* value);
+typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1UIEXTPROC) (GLuint program, GLint location, GLuint v0);
+typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint* value);
+typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1);
+typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat* value);
+typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1);
+typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint* value);
+typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1);
+typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint* value);
+typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
+typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat* value);
+typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
+typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint* value);
+typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
+typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint* value);
+typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
+typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat* value);
+typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
+typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint* value);
+typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
+typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint* value);
+typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
+typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
+typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
+typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
+typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
+typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
+typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
+typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
+typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
+typedef void (GLAPIENTRY * PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC) (GLbitfield mask);
+typedef void (GLAPIENTRY * PFNGLTEXTUREBUFFEREXTPROC) (GLuint texture, GLenum target, GLenum internalformat, GLuint buffer);
+typedef void (GLAPIENTRY * PFNGLTEXTUREIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void* pixels);
+typedef void (GLAPIENTRY * PFNGLTEXTUREIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void* pixels);
+typedef void (GLAPIENTRY * PFNGLTEXTUREIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void* pixels);
+typedef void (GLAPIENTRY * PFNGLTEXTUREPARAMETERIIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLint* params);
+typedef void (GLAPIENTRY * PFNGLTEXTUREPARAMETERIUIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLuint* params);
+typedef void (GLAPIENTRY * PFNGLTEXTUREPARAMETERFEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLfloat param);
+typedef void (GLAPIENTRY * PFNGLTEXTUREPARAMETERFVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLfloat* param);
+typedef void (GLAPIENTRY * PFNGLTEXTUREPARAMETERIEXTPROC) (GLuint texture, GLenum target, GLenum pname, GLint param);
+typedef void (GLAPIENTRY * PFNGLTEXTUREPARAMETERIVEXTPROC) (GLuint texture, GLenum target, GLenum pname, const GLint* param);
+typedef void (GLAPIENTRY * PFNGLTEXTURERENDERBUFFEREXTPROC) (GLuint texture, GLenum target, GLuint renderbuffer);
+typedef void (GLAPIENTRY * PFNGLTEXTURESUBIMAGE1DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void* pixels);
+typedef void (GLAPIENTRY * PFNGLTEXTURESUBIMAGE2DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void* pixels);
+typedef void (GLAPIENTRY * PFNGLTEXTURESUBIMAGE3DEXTPROC) (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void* pixels);
+typedef GLboolean (GLAPIENTRY * PFNGLUNMAPNAMEDBUFFEREXTPROC) (GLuint buffer);
+typedef void (GLAPIENTRY * PFNGLVERTEXARRAYCOLOROFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset);
+typedef void (GLAPIENTRY * PFNGLVERTEXARRAYEDGEFLAGOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLsizei stride, GLintptr offset);
+typedef void (GLAPIENTRY * PFNGLVERTEXARRAYFOGCOORDOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset);
+typedef void (GLAPIENTRY * PFNGLVERTEXARRAYINDEXOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset);
+typedef void (GLAPIENTRY * PFNGLVERTEXARRAYMULTITEXCOORDOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLenum texunit, GLint size, GLenum type, GLsizei stride, GLintptr offset);
+typedef void (GLAPIENTRY * PFNGLVERTEXARRAYNORMALOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset);
+typedef void (GLAPIENTRY * PFNGLVERTEXARRAYSECONDARYCOLOROFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset);
+typedef void (GLAPIENTRY * PFNGLVERTEXARRAYTEXCOORDOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset);
+typedef void (GLAPIENTRY * PFNGLVERTEXARRAYVERTEXATTRIBIOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset);
+typedef void (GLAPIENTRY * PFNGLVERTEXARRAYVERTEXATTRIBOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLintptr offset);
+typedef void (GLAPIENTRY * PFNGLVERTEXARRAYVERTEXOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset);
+
+#define glBindMultiTextureEXT GLEW_GET_FUN(__glewBindMultiTextureEXT)
+#define glCheckNamedFramebufferStatusEXT GLEW_GET_FUN(__glewCheckNamedFramebufferStatusEXT)
+#define glClientAttribDefaultEXT GLEW_GET_FUN(__glewClientAttribDefaultEXT)
+#define glCompressedMultiTexImage1DEXT GLEW_GET_FUN(__glewCompressedMultiTexImage1DEXT)
+#define glCompressedMultiTexImage2DEXT GLEW_GET_FUN(__glewCompressedMultiTexImage2DEXT)
+#define glCompressedMultiTexImage3DEXT GLEW_GET_FUN(__glewCompressedMultiTexImage3DEXT)
+#define glCompressedMultiTexSubImage1DEXT GLEW_GET_FUN(__glewCompressedMultiTexSubImage1DEXT)
+#define glCompressedMultiTexSubImage2DEXT GLEW_GET_FUN(__glewCompressedMultiTexSubImage2DEXT)
+#define glCompressedMultiTexSubImage3DEXT GLEW_GET_FUN(__glewCompressedMultiTexSubImage3DEXT)
+#define glCompressedTextureImage1DEXT GLEW_GET_FUN(__glewCompressedTextureImage1DEXT)
+#define glCompressedTextureImage2DEXT GLEW_GET_FUN(__glewCompressedTextureImage2DEXT)
+#define glCompressedTextureImage3DEXT GLEW_GET_FUN(__glewCompressedTextureImage3DEXT)
+#define glCompressedTextureSubImage1DEXT GLEW_GET_FUN(__glewCompressedTextureSubImage1DEXT)
+#define glCompressedTextureSubImage2DEXT GLEW_GET_FUN(__glewCompressedTextureSubImage2DEXT)
+#define glCompressedTextureSubImage3DEXT GLEW_GET_FUN(__glewCompressedTextureSubImage3DEXT)
+#define glCopyMultiTexImage1DEXT GLEW_GET_FUN(__glewCopyMultiTexImage1DEXT)
+#define glCopyMultiTexImage2DEXT GLEW_GET_FUN(__glewCopyMultiTexImage2DEXT)
+#define glCopyMultiTexSubImage1DEXT GLEW_GET_FUN(__glewCopyMultiTexSubImage1DEXT)
+#define glCopyMultiTexSubImage2DEXT GLEW_GET_FUN(__glewCopyMultiTexSubImage2DEXT)
+#define glCopyMultiTexSubImage3DEXT GLEW_GET_FUN(__glewCopyMultiTexSubImage3DEXT)
+#define glCopyTextureImage1DEXT GLEW_GET_FUN(__glewCopyTextureImage1DEXT)
+#define glCopyTextureImage2DEXT GLEW_GET_FUN(__glewCopyTextureImage2DEXT)
+#define glCopyTextureSubImage1DEXT GLEW_GET_FUN(__glewCopyTextureSubImage1DEXT)
+#define glCopyTextureSubImage2DEXT GLEW_GET_FUN(__glewCopyTextureSubImage2DEXT)
+#define glCopyTextureSubImage3DEXT GLEW_GET_FUN(__glewCopyTextureSubImage3DEXT)
+#define glDisableClientStateIndexedEXT GLEW_GET_FUN(__glewDisableClientStateIndexedEXT)
+#define glDisableClientStateiEXT GLEW_GET_FUN(__glewDisableClientStateiEXT)
+#define glDisableVertexArrayAttribEXT GLEW_GET_FUN(__glewDisableVertexArrayAttribEXT)
+#define glDisableVertexArrayEXT GLEW_GET_FUN(__glewDisableVertexArrayEXT)
+#define glEnableClientStateIndexedEXT GLEW_GET_FUN(__glewEnableClientStateIndexedEXT)
+#define glEnableClientStateiEXT GLEW_GET_FUN(__glewEnableClientStateiEXT)
+#define glEnableVertexArrayAttribEXT GLEW_GET_FUN(__glewEnableVertexArrayAttribEXT)
+#define glEnableVertexArrayEXT GLEW_GET_FUN(__glewEnableVertexArrayEXT)
+#define glFlushMappedNamedBufferRangeEXT GLEW_GET_FUN(__glewFlushMappedNamedBufferRangeEXT)
+#define glFramebufferDrawBufferEXT GLEW_GET_FUN(__glewFramebufferDrawBufferEXT)
+#define glFramebufferDrawBuffersEXT GLEW_GET_FUN(__glewFramebufferDrawBuffersEXT)
+#define glFramebufferReadBufferEXT GLEW_GET_FUN(__glewFramebufferReadBufferEXT)
+#define glGenerateMultiTexMipmapEXT GLEW_GET_FUN(__glewGenerateMultiTexMipmapEXT)
+#define glGenerateTextureMipmapEXT GLEW_GET_FUN(__glewGenerateTextureMipmapEXT)
+#define glGetCompressedMultiTexImageEXT GLEW_GET_FUN(__glewGetCompressedMultiTexImageEXT)
+#define glGetCompressedTextureImageEXT GLEW_GET_FUN(__glewGetCompressedTextureImageEXT)
+#define glGetDoubleIndexedvEXT GLEW_GET_FUN(__glewGetDoubleIndexedvEXT)
+#define glGetDoublei_vEXT GLEW_GET_FUN(__glewGetDoublei_vEXT)
+#define glGetFloatIndexedvEXT GLEW_GET_FUN(__glewGetFloatIndexedvEXT)
+#define glGetFloati_vEXT GLEW_GET_FUN(__glewGetFloati_vEXT)
+#define glGetFramebufferParameterivEXT GLEW_GET_FUN(__glewGetFramebufferParameterivEXT)
+#define glGetMultiTexEnvfvEXT GLEW_GET_FUN(__glewGetMultiTexEnvfvEXT)
+#define glGetMultiTexEnvivEXT GLEW_GET_FUN(__glewGetMultiTexEnvivEXT)
+#define glGetMultiTexGendvEXT GLEW_GET_FUN(__glewGetMultiTexGendvEXT)
+#define glGetMultiTexGenfvEXT GLEW_GET_FUN(__glewGetMultiTexGenfvEXT)
+#define glGetMultiTexGenivEXT GLEW_GET_FUN(__glewGetMultiTexGenivEXT)
+#define glGetMultiTexImageEXT GLEW_GET_FUN(__glewGetMultiTexImageEXT)
+#define glGetMultiTexLevelParameterfvEXT GLEW_GET_FUN(__glewGetMultiTexLevelParameterfvEXT)
+#define glGetMultiTexLevelParameterivEXT GLEW_GET_FUN(__glewGetMultiTexLevelParameterivEXT)
+#define glGetMultiTexParameterIivEXT GLEW_GET_FUN(__glewGetMultiTexParameterIivEXT)
+#define glGetMultiTexParameterIuivEXT GLEW_GET_FUN(__glewGetMultiTexParameterIuivEXT)
+#define glGetMultiTexParameterfvEXT GLEW_GET_FUN(__glewGetMultiTexParameterfvEXT)
+#define glGetMultiTexParameterivEXT GLEW_GET_FUN(__glewGetMultiTexParameterivEXT)
+#define glGetNamedBufferParameterivEXT GLEW_GET_FUN(__glewGetNamedBufferParameterivEXT)
+#define glGetNamedBufferPointervEXT GLEW_GET_FUN(__glewGetNamedBufferPointervEXT)
+#define glGetNamedBufferSubDataEXT GLEW_GET_FUN(__glewGetNamedBufferSubDataEXT)
+#define glGetNamedFramebufferAttachmentParameterivEXT GLEW_GET_FUN(__glewGetNamedFramebufferAttachmentParameterivEXT)
+#define glGetNamedProgramLocalParameterIivEXT GLEW_GET_FUN(__glewGetNamedProgramLocalParameterIivEXT)
+#define glGetNamedProgramLocalParameterIuivEXT GLEW_GET_FUN(__glewGetNamedProgramLocalParameterIuivEXT)
+#define glGetNamedProgramLocalParameterdvEXT GLEW_GET_FUN(__glewGetNamedProgramLocalParameterdvEXT)
+#define glGetNamedProgramLocalParameterfvEXT GLEW_GET_FUN(__glewGetNamedProgramLocalParameterfvEXT)
+#define glGetNamedProgramStringEXT GLEW_GET_FUN(__glewGetNamedProgramStringEXT)
+#define glGetNamedProgramivEXT GLEW_GET_FUN(__glewGetNamedProgramivEXT)
+#define glGetNamedRenderbufferParameterivEXT GLEW_GET_FUN(__glewGetNamedRenderbufferParameterivEXT)
+#define glGetPointerIndexedvEXT GLEW_GET_FUN(__glewGetPointerIndexedvEXT)
+#define glGetPointeri_vEXT GLEW_GET_FUN(__glewGetPointeri_vEXT)
+#define glGetTextureImageEXT GLEW_GET_FUN(__glewGetTextureImageEXT)
+#define glGetTextureLevelParameterfvEXT GLEW_GET_FUN(__glewGetTextureLevelParameterfvEXT)
+#define glGetTextureLevelParameterivEXT GLEW_GET_FUN(__glewGetTextureLevelParameterivEXT)
+#define glGetTextureParameterIivEXT GLEW_GET_FUN(__glewGetTextureParameterIivEXT)
+#define glGetTextureParameterIuivEXT GLEW_GET_FUN(__glewGetTextureParameterIuivEXT)
+#define glGetTextureParameterfvEXT GLEW_GET_FUN(__glewGetTextureParameterfvEXT)
+#define glGetTextureParameterivEXT GLEW_GET_FUN(__glewGetTextureParameterivEXT)
+#define glGetVertexArrayIntegeri_vEXT GLEW_GET_FUN(__glewGetVertexArrayIntegeri_vEXT)
+#define glGetVertexArrayIntegervEXT GLEW_GET_FUN(__glewGetVertexArrayIntegervEXT)
+#define glGetVertexArrayPointeri_vEXT GLEW_GET_FUN(__glewGetVertexArrayPointeri_vEXT)
+#define glGetVertexArrayPointervEXT GLEW_GET_FUN(__glewGetVertexArrayPointervEXT)
+#define glMapNamedBufferEXT GLEW_GET_FUN(__glewMapNamedBufferEXT)
+#define glMapNamedBufferRangeEXT GLEW_GET_FUN(__glewMapNamedBufferRangeEXT)
+#define glMatrixFrustumEXT GLEW_GET_FUN(__glewMatrixFrustumEXT)
+#define glMatrixLoadIdentityEXT GLEW_GET_FUN(__glewMatrixLoadIdentityEXT)
+#define glMatrixLoadTransposedEXT GLEW_GET_FUN(__glewMatrixLoadTransposedEXT)
+#define glMatrixLoadTransposefEXT GLEW_GET_FUN(__glewMatrixLoadTransposefEXT)
+#define glMatrixLoaddEXT GLEW_GET_FUN(__glewMatrixLoaddEXT)
+#define glMatrixLoadfEXT GLEW_GET_FUN(__glewMatrixLoadfEXT)
+#define glMatrixMultTransposedEXT GLEW_GET_FUN(__glewMatrixMultTransposedEXT)
+#define glMatrixMultTransposefEXT GLEW_GET_FUN(__glewMatrixMultTransposefEXT)
+#define glMatrixMultdEXT GLEW_GET_FUN(__glewMatrixMultdEXT)
+#define glMatrixMultfEXT GLEW_GET_FUN(__glewMatrixMultfEXT)
+#define glMatrixOrthoEXT GLEW_GET_FUN(__glewMatrixOrthoEXT)
+#define glMatrixPopEXT GLEW_GET_FUN(__glewMatrixPopEXT)
+#define glMatrixPushEXT GLEW_GET_FUN(__glewMatrixPushEXT)
+#define glMatrixRotatedEXT GLEW_GET_FUN(__glewMatrixRotatedEXT)
+#define glMatrixRotatefEXT GLEW_GET_FUN(__glewMatrixRotatefEXT)
+#define glMatrixScaledEXT GLEW_GET_FUN(__glewMatrixScaledEXT)
+#define glMatrixScalefEXT GLEW_GET_FUN(__glewMatrixScalefEXT)
+#define glMatrixTranslatedEXT GLEW_GET_FUN(__glewMatrixTranslatedEXT)
+#define glMatrixTranslatefEXT GLEW_GET_FUN(__glewMatrixTranslatefEXT)
+#define glMultiTexBufferEXT GLEW_GET_FUN(__glewMultiTexBufferEXT)
+#define glMultiTexCoordPointerEXT GLEW_GET_FUN(__glewMultiTexCoordPointerEXT)
+#define glMultiTexEnvfEXT GLEW_GET_FUN(__glewMultiTexEnvfEXT)
+#define glMultiTexEnvfvEXT GLEW_GET_FUN(__glewMultiTexEnvfvEXT)
+#define glMultiTexEnviEXT GLEW_GET_FUN(__glewMultiTexEnviEXT)
+#define glMultiTexEnvivEXT GLEW_GET_FUN(__glewMultiTexEnvivEXT)
+#define glMultiTexGendEXT GLEW_GET_FUN(__glewMultiTexGendEXT)
+#define glMultiTexGendvEXT GLEW_GET_FUN(__glewMultiTexGendvEXT)
+#define glMultiTexGenfEXT GLEW_GET_FUN(__glewMultiTexGenfEXT)
+#define glMultiTexGenfvEXT GLEW_GET_FUN(__glewMultiTexGenfvEXT)
+#define glMultiTexGeniEXT GLEW_GET_FUN(__glewMultiTexGeniEXT)
+#define glMultiTexGenivEXT GLEW_GET_FUN(__glewMultiTexGenivEXT)
+#define glMultiTexImage1DEXT GLEW_GET_FUN(__glewMultiTexImage1DEXT)
+#define glMultiTexImage2DEXT GLEW_GET_FUN(__glewMultiTexImage2DEXT)
+#define glMultiTexImage3DEXT GLEW_GET_FUN(__glewMultiTexImage3DEXT)
+#define glMultiTexParameterIivEXT GLEW_GET_FUN(__glewMultiTexParameterIivEXT)
+#define glMultiTexParameterIuivEXT GLEW_GET_FUN(__glewMultiTexParameterIuivEXT)
+#define glMultiTexParameterfEXT GLEW_GET_FUN(__glewMultiTexParameterfEXT)
+#define glMultiTexParameterfvEXT GLEW_GET_FUN(__glewMultiTexParameterfvEXT)
+#define glMultiTexParameteriEXT GLEW_GET_FUN(__glewMultiTexParameteriEXT)
+#define glMultiTexParameterivEXT GLEW_GET_FUN(__glewMultiTexParameterivEXT)
+#define glMultiTexRenderbufferEXT GLEW_GET_FUN(__glewMultiTexRenderbufferEXT)
+#define glMultiTexSubImage1DEXT GLEW_GET_FUN(__glewMultiTexSubImage1DEXT)
+#define glMultiTexSubImage2DEXT GLEW_GET_FUN(__glewMultiTexSubImage2DEXT)
+#define glMultiTexSubImage3DEXT GLEW_GET_FUN(__glewMultiTexSubImage3DEXT)
+#define glNamedBufferDataEXT GLEW_GET_FUN(__glewNamedBufferDataEXT)
+#define glNamedBufferSubDataEXT GLEW_GET_FUN(__glewNamedBufferSubDataEXT)
+#define glNamedCopyBufferSubDataEXT GLEW_GET_FUN(__glewNamedCopyBufferSubDataEXT)
+#define glNamedFramebufferRenderbufferEXT GLEW_GET_FUN(__glewNamedFramebufferRenderbufferEXT)
+#define glNamedFramebufferTexture1DEXT GLEW_GET_FUN(__glewNamedFramebufferTexture1DEXT)
+#define glNamedFramebufferTexture2DEXT GLEW_GET_FUN(__glewNamedFramebufferTexture2DEXT)
+#define glNamedFramebufferTexture3DEXT GLEW_GET_FUN(__glewNamedFramebufferTexture3DEXT)
+#define glNamedFramebufferTextureEXT GLEW_GET_FUN(__glewNamedFramebufferTextureEXT)
+#define glNamedFramebufferTextureFaceEXT GLEW_GET_FUN(__glewNamedFramebufferTextureFaceEXT)
+#define glNamedFramebufferTextureLayerEXT GLEW_GET_FUN(__glewNamedFramebufferTextureLayerEXT)
+#define glNamedProgramLocalParameter4dEXT GLEW_GET_FUN(__glewNamedProgramLocalParameter4dEXT)
+#define glNamedProgramLocalParameter4dvEXT GLEW_GET_FUN(__glewNamedProgramLocalParameter4dvEXT)
+#define glNamedProgramLocalParameter4fEXT GLEW_GET_FUN(__glewNamedProgramLocalParameter4fEXT)
+#define glNamedProgramLocalParameter4fvEXT GLEW_GET_FUN(__glewNamedProgramLocalParameter4fvEXT)
+#define glNamedProgramLocalParameterI4iEXT GLEW_GET_FUN(__glewNamedProgramLocalParameterI4iEXT)
+#define glNamedProgramLocalParameterI4ivEXT GLEW_GET_FUN(__glewNamedProgramLocalParameterI4ivEXT)
+#define glNamedProgramLocalParameterI4uiEXT GLEW_GET_FUN(__glewNamedProgramLocalParameterI4uiEXT)
+#define glNamedProgramLocalParameterI4uivEXT GLEW_GET_FUN(__glewNamedProgramLocalParameterI4uivEXT)
+#define glNamedProgramLocalParameters4fvEXT GLEW_GET_FUN(__glewNamedProgramLocalParameters4fvEXT)
+#define glNamedProgramLocalParametersI4ivEXT GLEW_GET_FUN(__glewNamedProgramLocalParametersI4ivEXT)
+#define glNamedProgramLocalParametersI4uivEXT GLEW_GET_FUN(__glewNamedProgramLocalParametersI4uivEXT)
+#define glNamedProgramStringEXT GLEW_GET_FUN(__glewNamedProgramStringEXT)
+#define glNamedRenderbufferStorageEXT GLEW_GET_FUN(__glewNamedRenderbufferStorageEXT)
+#define glNamedRenderbufferStorageMultisampleCoverageEXT GLEW_GET_FUN(__glewNamedRenderbufferStorageMultisampleCoverageEXT)
+#define glNamedRenderbufferStorageMultisampleEXT GLEW_GET_FUN(__glewNamedRenderbufferStorageMultisampleEXT)
+#define glProgramUniform1fEXT GLEW_GET_FUN(__glewProgramUniform1fEXT)
+#define glProgramUniform1fvEXT GLEW_GET_FUN(__glewProgramUniform1fvEXT)
+#define glProgramUniform1iEXT GLEW_GET_FUN(__glewProgramUniform1iEXT)
+#define glProgramUniform1ivEXT GLEW_GET_FUN(__glewProgramUniform1ivEXT)
+#define glProgramUniform1uiEXT GLEW_GET_FUN(__glewProgramUniform1uiEXT)
+#define glProgramUniform1uivEXT GLEW_GET_FUN(__glewProgramUniform1uivEXT)
+#define glProgramUniform2fEXT GLEW_GET_FUN(__glewProgramUniform2fEXT)
+#define glProgramUniform2fvEXT GLEW_GET_FUN(__glewProgramUniform2fvEXT)
+#define glProgramUniform2iEXT GLEW_GET_FUN(__glewProgramUniform2iEXT)
+#define glProgramUniform2ivEXT GLEW_GET_FUN(__glewProgramUniform2ivEXT)
+#define glProgramUniform2uiEXT GLEW_GET_FUN(__glewProgramUniform2uiEXT)
+#define glProgramUniform2uivEXT GLEW_GET_FUN(__glewProgramUniform2uivEXT)
+#define glProgramUniform3fEXT GLEW_GET_FUN(__glewProgramUniform3fEXT)
+#define glProgramUniform3fvEXT GLEW_GET_FUN(__glewProgramUniform3fvEXT)
+#define glProgramUniform3iEXT GLEW_GET_FUN(__glewProgramUniform3iEXT)
+#define glProgramUniform3ivEXT GLEW_GET_FUN(__glewProgramUniform3ivEXT)
+#define glProgramUniform3uiEXT GLEW_GET_FUN(__glewProgramUniform3uiEXT)
+#define glProgramUniform3uivEXT GLEW_GET_FUN(__glewProgramUniform3uivEXT)
+#define glProgramUniform4fEXT GLEW_GET_FUN(__glewProgramUniform4fEXT)
+#define glProgramUniform4fvEXT GLEW_GET_FUN(__glewProgramUniform4fvEXT)
+#define glProgramUniform4iEXT GLEW_GET_FUN(__glewProgramUniform4iEXT)
+#define glProgramUniform4ivEXT GLEW_GET_FUN(__glewProgramUniform4ivEXT)
+#define glProgramUniform4uiEXT GLEW_GET_FUN(__glewProgramUniform4uiEXT)
+#define glProgramUniform4uivEXT GLEW_GET_FUN(__glewProgramUniform4uivEXT)
+#define glProgramUniformMatrix2fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix2fvEXT)
+#define glProgramUniformMatrix2x3fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix2x3fvEXT)
+#define glProgramUniformMatrix2x4fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix2x4fvEXT)
+#define glProgramUniformMatrix3fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix3fvEXT)
+#define glProgramUniformMatrix3x2fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix3x2fvEXT)
+#define glProgramUniformMatrix3x4fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix3x4fvEXT)
+#define glProgramUniformMatrix4fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix4fvEXT)
+#define glProgramUniformMatrix4x2fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix4x2fvEXT)
+#define glProgramUniformMatrix4x3fvEXT GLEW_GET_FUN(__glewProgramUniformMatrix4x3fvEXT)
+#define glPushClientAttribDefaultEXT GLEW_GET_FUN(__glewPushClientAttribDefaultEXT)
+#define glTextureBufferEXT GLEW_GET_FUN(__glewTextureBufferEXT)
+#define glTextureImage1DEXT GLEW_GET_FUN(__glewTextureImage1DEXT)
+#define glTextureImage2DEXT GLEW_GET_FUN(__glewTextureImage2DEXT)
+#define glTextureImage3DEXT GLEW_GET_FUN(__glewTextureImage3DEXT)
+#define glTextureParameterIivEXT GLEW_GET_FUN(__glewTextureParameterIivEXT)
+#define glTextureParameterIuivEXT GLEW_GET_FUN(__glewTextureParameterIuivEXT)
+#define glTextureParameterfEXT GLEW_GET_FUN(__glewTextureParameterfEXT)
+#define glTextureParameterfvEXT GLEW_GET_FUN(__glewTextureParameterfvEXT)
+#define glTextureParameteriEXT GLEW_GET_FUN(__glewTextureParameteriEXT)
+#define glTextureParameterivEXT GLEW_GET_FUN(__glewTextureParameterivEXT)
+#define glTextureRenderbufferEXT GLEW_GET_FUN(__glewTextureRenderbufferEXT)
+#define glTextureSubImage1DEXT GLEW_GET_FUN(__glewTextureSubImage1DEXT)
+#define glTextureSubImage2DEXT GLEW_GET_FUN(__glewTextureSubImage2DEXT)
+#define glTextureSubImage3DEXT GLEW_GET_FUN(__glewTextureSubImage3DEXT)
+#define glUnmapNamedBufferEXT GLEW_GET_FUN(__glewUnmapNamedBufferEXT)
+#define glVertexArrayColorOffsetEXT GLEW_GET_FUN(__glewVertexArrayColorOffsetEXT)
+#define glVertexArrayEdgeFlagOffsetEXT GLEW_GET_FUN(__glewVertexArrayEdgeFlagOffsetEXT)
+#define glVertexArrayFogCoordOffsetEXT GLEW_GET_FUN(__glewVertexArrayFogCoordOffsetEXT)
+#define glVertexArrayIndexOffsetEXT GLEW_GET_FUN(__glewVertexArrayIndexOffsetEXT)
+#define glVertexArrayMultiTexCoordOffsetEXT GLEW_GET_FUN(__glewVertexArrayMultiTexCoordOffsetEXT)
+#define glVertexArrayNormalOffsetEXT GLEW_GET_FUN(__glewVertexArrayNormalOffsetEXT)
+#define glVertexArraySecondaryColorOffsetEXT GLEW_GET_FUN(__glewVertexArraySecondaryColorOffsetEXT)
+#define glVertexArrayTexCoordOffsetEXT GLEW_GET_FUN(__glewVertexArrayTexCoordOffsetEXT)
+#define glVertexArrayVertexAttribIOffsetEXT GLEW_GET_FUN(__glewVertexArrayVertexAttribIOffsetEXT)
+#define glVertexArrayVertexAttribOffsetEXT GLEW_GET_FUN(__glewVertexArrayVertexAttribOffsetEXT)
+#define glVertexArrayVertexOffsetEXT GLEW_GET_FUN(__glewVertexArrayVertexOffsetEXT)
+
+#define GLEW_EXT_direct_state_access GLEW_GET_VAR(__GLEW_EXT_direct_state_access)
+
+#endif /* GL_EXT_direct_state_access */
+
+/* -------------------------- GL_EXT_draw_buffers2 ------------------------- */
+
+#ifndef GL_EXT_draw_buffers2
+#define GL_EXT_draw_buffers2 1
+
+typedef void (GLAPIENTRY * PFNGLCOLORMASKINDEXEDEXTPROC) (GLuint buf, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
+typedef void (GLAPIENTRY * PFNGLDISABLEINDEXEDEXTPROC) (GLenum target, GLuint index);
+typedef void (GLAPIENTRY * PFNGLENABLEINDEXEDEXTPROC) (GLenum target, GLuint index);
+typedef void (GLAPIENTRY * PFNGLGETBOOLEANINDEXEDVEXTPROC) (GLenum value, GLuint index, GLboolean* data);
+typedef void (GLAPIENTRY * PFNGLGETINTEGERINDEXEDVEXTPROC) (GLenum value, GLuint index, GLint* data);
+typedef GLboolean (GLAPIENTRY * PFNGLISENABLEDINDEXEDEXTPROC) (GLenum target, GLuint index);
+
+#define glColorMaskIndexedEXT GLEW_GET_FUN(__glewColorMaskIndexedEXT)
+#define glDisableIndexedEXT GLEW_GET_FUN(__glewDisableIndexedEXT)
+#define glEnableIndexedEXT GLEW_GET_FUN(__glewEnableIndexedEXT)
+#define glGetBooleanIndexedvEXT GLEW_GET_FUN(__glewGetBooleanIndexedvEXT)
+#define glGetIntegerIndexedvEXT GLEW_GET_FUN(__glewGetIntegerIndexedvEXT)
+#define glIsEnabledIndexedEXT GLEW_GET_FUN(__glewIsEnabledIndexedEXT)
+
+#define GLEW_EXT_draw_buffers2 GLEW_GET_VAR(__GLEW_EXT_draw_buffers2)
+
+#endif /* GL_EXT_draw_buffers2 */
+
+/* ------------------------- GL_EXT_draw_instanced ------------------------- */
+
+#ifndef GL_EXT_draw_instanced
+#define GL_EXT_draw_instanced 1
+
+typedef void (GLAPIENTRY * PFNGLDRAWARRAYSINSTANCEDEXTPROC) (GLenum mode, GLint start, GLsizei count, GLsizei primcount);
+typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINSTANCEDEXTPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);
+
+#define glDrawArraysInstancedEXT GLEW_GET_FUN(__glewDrawArraysInstancedEXT)
+#define glDrawElementsInstancedEXT GLEW_GET_FUN(__glewDrawElementsInstancedEXT)
+
+#define GLEW_EXT_draw_instanced GLEW_GET_VAR(__GLEW_EXT_draw_instanced)
+
+#endif /* GL_EXT_draw_instanced */
+
+/* ----------------------- GL_EXT_draw_range_elements ---------------------- */
+
+#ifndef GL_EXT_draw_range_elements
+#define GL_EXT_draw_range_elements 1
+
+#define GL_MAX_ELEMENTS_VERTICES 0x80E8
+#define GL_MAX_ELEMENTS_INDICES 0x80E9
+
+typedef void (GLAPIENTRY * PFNGLDRAWRANGEELEMENTSEXTPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);
+
+#define glDrawRangeElementsEXT GLEW_GET_FUN(__glewDrawRangeElementsEXT)
+
+#define GLEW_EXT_draw_range_elements GLEW_GET_VAR(__GLEW_EXT_draw_range_elements)
+
+#endif /* GL_EXT_draw_range_elements */
+
+/* ---------------------------- GL_EXT_fog_coord --------------------------- */
+
+#ifndef GL_EXT_fog_coord
+#define GL_EXT_fog_coord 1
+
+#define GL_FOG_COORDINATE_SOURCE_EXT 0x8450
+#define GL_FOG_COORDINATE_EXT 0x8451
+#define GL_FRAGMENT_DEPTH_EXT 0x8452
+#define GL_CURRENT_FOG_COORDINATE_EXT 0x8453
+#define GL_FOG_COORDINATE_ARRAY_TYPE_EXT 0x8454
+#define GL_FOG_COORDINATE_ARRAY_STRIDE_EXT 0x8455
+#define GL_FOG_COORDINATE_ARRAY_POINTER_EXT 0x8456
+#define GL_FOG_COORDINATE_ARRAY_EXT 0x8457
+
+typedef void (GLAPIENTRY * PFNGLFOGCOORDPOINTEREXTPROC) (GLenum type, GLsizei stride, const GLvoid *pointer);
+typedef void (GLAPIENTRY * PFNGLFOGCOORDDEXTPROC) (GLdouble coord);
+typedef void (GLAPIENTRY * PFNGLFOGCOORDDVEXTPROC) (const GLdouble *coord);
+typedef void (GLAPIENTRY * PFNGLFOGCOORDFEXTPROC) (GLfloat coord);
+typedef void (GLAPIENTRY * PFNGLFOGCOORDFVEXTPROC) (const GLfloat *coord);
+
+#define glFogCoordPointerEXT GLEW_GET_FUN(__glewFogCoordPointerEXT)
+#define glFogCoorddEXT GLEW_GET_FUN(__glewFogCoorddEXT)
+#define glFogCoorddvEXT GLEW_GET_FUN(__glewFogCoorddvEXT)
+#define glFogCoordfEXT GLEW_GET_FUN(__glewFogCoordfEXT)
+#define glFogCoordfvEXT GLEW_GET_FUN(__glewFogCoordfvEXT)
+
+#define GLEW_EXT_fog_coord GLEW_GET_VAR(__GLEW_EXT_fog_coord)
+
+#endif /* GL_EXT_fog_coord */
+
+/* ------------------------ GL_EXT_fragment_lighting ----------------------- */
+
+#ifndef GL_EXT_fragment_lighting
+#define GL_EXT_fragment_lighting 1
+
+#define GL_FRAGMENT_LIGHTING_EXT 0x8400
+#define GL_FRAGMENT_COLOR_MATERIAL_EXT 0x8401
+#define GL_FRAGMENT_COLOR_MATERIAL_FACE_EXT 0x8402
+#define GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_EXT 0x8403
+#define GL_MAX_FRAGMENT_LIGHTS_EXT 0x8404
+#define GL_MAX_ACTIVE_LIGHTS_EXT 0x8405
+#define GL_CURRENT_RASTER_NORMAL_EXT 0x8406
+#define GL_LIGHT_ENV_MODE_EXT 0x8407
+#define GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_EXT 0x8408
+#define GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_EXT 0x8409
+#define GL_FRAGMENT_LIGHT_MODEL_AMBIENT_EXT 0x840A
+#define GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_EXT 0x840B
+#define GL_FRAGMENT_LIGHT0_EXT 0x840C
+#define GL_FRAGMENT_LIGHT7_EXT 0x8413
+
+typedef void (GLAPIENTRY * PFNGLFRAGMENTCOLORMATERIALEXTPROC) (GLenum face, GLenum mode);
+typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTMODELFEXTPROC) (GLenum pname, GLfloat param);
+typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTMODELFVEXTPROC) (GLenum pname, GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTMODELIEXTPROC) (GLenum pname, GLint param);
+typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTMODELIVEXTPROC) (GLenum pname, GLint* params);
+typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTFEXTPROC) (GLenum light, GLenum pname, GLfloat param);
+typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTFVEXTPROC) (GLenum light, GLenum pname, GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTIEXTPROC) (GLenum light, GLenum pname, GLint param);
+typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTIVEXTPROC) (GLenum light, GLenum pname, GLint* params);
+typedef void (GLAPIENTRY * PFNGLFRAGMENTMATERIALFEXTPROC) (GLenum face, GLenum pname, const GLfloat param);
+typedef void (GLAPIENTRY * PFNGLFRAGMENTMATERIALFVEXTPROC) (GLenum face, GLenum pname, const GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLFRAGMENTMATERIALIEXTPROC) (GLenum face, GLenum pname, const GLint param);
+typedef void (GLAPIENTRY * PFNGLFRAGMENTMATERIALIVEXTPROC) (GLenum face, GLenum pname, const GLint* params);
+typedef void (GLAPIENTRY * PFNGLGETFRAGMENTLIGHTFVEXTPROC) (GLenum light, GLenum pname, GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLGETFRAGMENTLIGHTIVEXTPROC) (GLenum light, GLenum pname, GLint* params);
+typedef void (GLAPIENTRY * PFNGLGETFRAGMENTMATERIALFVEXTPROC) (GLenum face, GLenum pname, const GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLGETFRAGMENTMATERIALIVEXTPROC) (GLenum face, GLenum pname, const GLint* params);
+typedef void (GLAPIENTRY * PFNGLLIGHTENVIEXTPROC) (GLenum pname, GLint param);
+
+#define glFragmentColorMaterialEXT GLEW_GET_FUN(__glewFragmentColorMaterialEXT)
+#define glFragmentLightModelfEXT GLEW_GET_FUN(__glewFragmentLightModelfEXT)
+#define glFragmentLightModelfvEXT GLEW_GET_FUN(__glewFragmentLightModelfvEXT)
+#define glFragmentLightModeliEXT GLEW_GET_FUN(__glewFragmentLightModeliEXT)
+#define glFragmentLightModelivEXT GLEW_GET_FUN(__glewFragmentLightModelivEXT)
+#define glFragmentLightfEXT GLEW_GET_FUN(__glewFragmentLightfEXT)
+#define glFragmentLightfvEXT GLEW_GET_FUN(__glewFragmentLightfvEXT)
+#define glFragmentLightiEXT GLEW_GET_FUN(__glewFragmentLightiEXT)
+#define glFragmentLightivEXT GLEW_GET_FUN(__glewFragmentLightivEXT)
+#define glFragmentMaterialfEXT GLEW_GET_FUN(__glewFragmentMaterialfEXT)
+#define glFragmentMaterialfvEXT GLEW_GET_FUN(__glewFragmentMaterialfvEXT)
+#define glFragmentMaterialiEXT GLEW_GET_FUN(__glewFragmentMaterialiEXT)
+#define glFragmentMaterialivEXT GLEW_GET_FUN(__glewFragmentMaterialivEXT)
+#define glGetFragmentLightfvEXT GLEW_GET_FUN(__glewGetFragmentLightfvEXT)
+#define glGetFragmentLightivEXT GLEW_GET_FUN(__glewGetFragmentLightivEXT)
+#define glGetFragmentMaterialfvEXT GLEW_GET_FUN(__glewGetFragmentMaterialfvEXT)
+#define glGetFragmentMaterialivEXT GLEW_GET_FUN(__glewGetFragmentMaterialivEXT)
+#define glLightEnviEXT GLEW_GET_FUN(__glewLightEnviEXT)
+
+#define GLEW_EXT_fragment_lighting GLEW_GET_VAR(__GLEW_EXT_fragment_lighting)
+
+#endif /* GL_EXT_fragment_lighting */
+
+/* ------------------------ GL_EXT_framebuffer_blit ------------------------ */
+
+#ifndef GL_EXT_framebuffer_blit
+#define GL_EXT_framebuffer_blit 1
+
+#define GL_DRAW_FRAMEBUFFER_BINDING_EXT 0x8CA6
+#define GL_READ_FRAMEBUFFER_EXT 0x8CA8
+#define GL_DRAW_FRAMEBUFFER_EXT 0x8CA9
+#define GL_READ_FRAMEBUFFER_BINDING_EXT 0x8CAA
+
+typedef void (GLAPIENTRY * PFNGLBLITFRAMEBUFFEREXTPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
+
+#define glBlitFramebufferEXT GLEW_GET_FUN(__glewBlitFramebufferEXT)
+
+#define GLEW_EXT_framebuffer_blit GLEW_GET_VAR(__GLEW_EXT_framebuffer_blit)
+
+#endif /* GL_EXT_framebuffer_blit */
+
+/* --------------------- GL_EXT_framebuffer_multisample -------------------- */
+
+#ifndef GL_EXT_framebuffer_multisample
+#define GL_EXT_framebuffer_multisample 1
+
+#define GL_RENDERBUFFER_SAMPLES_EXT 0x8CAB
+#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8D56
+#define GL_MAX_SAMPLES_EXT 0x8D57
+
+typedef void (GLAPIENTRY * PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
+
+#define glRenderbufferStorageMultisampleEXT GLEW_GET_FUN(__glewRenderbufferStorageMultisampleEXT)
+
+#define GLEW_EXT_framebuffer_multisample GLEW_GET_VAR(__GLEW_EXT_framebuffer_multisample)
+
+#endif /* GL_EXT_framebuffer_multisample */
+
+/* ----------------------- GL_EXT_framebuffer_object ----------------------- */
+
+#ifndef GL_EXT_framebuffer_object
+#define GL_EXT_framebuffer_object 1
+
+#define GL_INVALID_FRAMEBUFFER_OPERATION_EXT 0x0506
+#define GL_MAX_RENDERBUFFER_SIZE_EXT 0x84E8
+#define GL_FRAMEBUFFER_BINDING_EXT 0x8CA6
+#define GL_RENDERBUFFER_BINDING_EXT 0x8CA7
+#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT 0x8CD0
+#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT 0x8CD1
+#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT 0x8CD2
+#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT 0x8CD3
+#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT 0x8CD4
+#define GL_FRAMEBUFFER_COMPLETE_EXT 0x8CD5
+#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT 0x8CD6
+#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT 0x8CD7
+#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT 0x8CD9
+#define GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT 0x8CDA
+#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT 0x8CDB
+#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT 0x8CDC
+#define GL_FRAMEBUFFER_UNSUPPORTED_EXT 0x8CDD
+#define GL_MAX_COLOR_ATTACHMENTS_EXT 0x8CDF
+#define GL_COLOR_ATTACHMENT0_EXT 0x8CE0
+#define GL_COLOR_ATTACHMENT1_EXT 0x8CE1
+#define GL_COLOR_ATTACHMENT2_EXT 0x8CE2
+#define GL_COLOR_ATTACHMENT3_EXT 0x8CE3
+#define GL_COLOR_ATTACHMENT4_EXT 0x8CE4
+#define GL_COLOR_ATTACHMENT5_EXT 0x8CE5
+#define GL_COLOR_ATTACHMENT6_EXT 0x8CE6
+#define GL_COLOR_ATTACHMENT7_EXT 0x8CE7
+#define GL_COLOR_ATTACHMENT8_EXT 0x8CE8
+#define GL_COLOR_ATTACHMENT9_EXT 0x8CE9
+#define GL_COLOR_ATTACHMENT10_EXT 0x8CEA
+#define GL_COLOR_ATTACHMENT11_EXT 0x8CEB
+#define GL_COLOR_ATTACHMENT12_EXT 0x8CEC
+#define GL_COLOR_ATTACHMENT13_EXT 0x8CED
+#define GL_COLOR_ATTACHMENT14_EXT 0x8CEE
+#define GL_COLOR_ATTACHMENT15_EXT 0x8CEF
+#define GL_DEPTH_ATTACHMENT_EXT 0x8D00
+#define GL_STENCIL_ATTACHMENT_EXT 0x8D20
+#define GL_FRAMEBUFFER_EXT 0x8D40
+#define GL_RENDERBUFFER_EXT 0x8D41
+#define GL_RENDERBUFFER_WIDTH_EXT 0x8D42
+#define GL_RENDERBUFFER_HEIGHT_EXT 0x8D43
+#define GL_RENDERBUFFER_INTERNAL_FORMAT_EXT 0x8D44
+#define GL_STENCIL_INDEX1_EXT 0x8D46
+#define GL_STENCIL_INDEX4_EXT 0x8D47
+#define GL_STENCIL_INDEX8_EXT 0x8D48
+#define GL_STENCIL_INDEX16_EXT 0x8D49
+#define GL_RENDERBUFFER_RED_SIZE_EXT 0x8D50
+#define GL_RENDERBUFFER_GREEN_SIZE_EXT 0x8D51
+#define GL_RENDERBUFFER_BLUE_SIZE_EXT 0x8D52
+#define GL_RENDERBUFFER_ALPHA_SIZE_EXT 0x8D53
+#define GL_RENDERBUFFER_DEPTH_SIZE_EXT 0x8D54
+#define GL_RENDERBUFFER_STENCIL_SIZE_EXT 0x8D55
+
+typedef void (GLAPIENTRY * PFNGLBINDFRAMEBUFFEREXTPROC) (GLenum target, GLuint framebuffer);
+typedef void (GLAPIENTRY * PFNGLBINDRENDERBUFFEREXTPROC) (GLenum target, GLuint renderbuffer);
+typedef GLenum (GLAPIENTRY * PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC) (GLenum target);
+typedef void (GLAPIENTRY * PFNGLDELETEFRAMEBUFFERSEXTPROC) (GLsizei n, const GLuint* framebuffers);
+typedef void (GLAPIENTRY * PFNGLDELETERENDERBUFFERSEXTPROC) (GLsizei n, const GLuint* renderbuffers);
+typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
+typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURE1DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURE2DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURE3DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
+typedef void (GLAPIENTRY * PFNGLGENFRAMEBUFFERSEXTPROC) (GLsizei n, GLuint* framebuffers);
+typedef void (GLAPIENTRY * PFNGLGENRENDERBUFFERSEXTPROC) (GLsizei n, GLuint* renderbuffers);
+typedef void (GLAPIENTRY * PFNGLGENERATEMIPMAPEXTPROC) (GLenum target);
+typedef void (GLAPIENTRY * PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC) (GLenum target, GLenum attachment, GLenum pname, GLint* params);
+typedef void (GLAPIENTRY * PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint* params);
+typedef GLboolean (GLAPIENTRY * PFNGLISFRAMEBUFFEREXTPROC) (GLuint framebuffer);
+typedef GLboolean (GLAPIENTRY * PFNGLISRENDERBUFFEREXTPROC) (GLuint renderbuffer);
+typedef void (GLAPIENTRY * PFNGLRENDERBUFFERSTORAGEEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
+
+#define glBindFramebufferEXT GLEW_GET_FUN(__glewBindFramebufferEXT)
+#define glBindRenderbufferEXT GLEW_GET_FUN(__glewBindRenderbufferEXT)
+#define glCheckFramebufferStatusEXT GLEW_GET_FUN(__glewCheckFramebufferStatusEXT)
+#define glDeleteFramebuffersEXT GLEW_GET_FUN(__glewDeleteFramebuffersEXT)
+#define glDeleteRenderbuffersEXT GLEW_GET_FUN(__glewDeleteRenderbuffersEXT)
+#define glFramebufferRenderbufferEXT GLEW_GET_FUN(__glewFramebufferRenderbufferEXT)
+#define glFramebufferTexture1DEXT GLEW_GET_FUN(__glewFramebufferTexture1DEXT)
+#define glFramebufferTexture2DEXT GLEW_GET_FUN(__glewFramebufferTexture2DEXT)
+#define glFramebufferTexture3DEXT GLEW_GET_FUN(__glewFramebufferTexture3DEXT)
+#define glGenFramebuffersEXT GLEW_GET_FUN(__glewGenFramebuffersEXT)
+#define glGenRenderbuffersEXT GLEW_GET_FUN(__glewGenRenderbuffersEXT)
+#define glGenerateMipmapEXT GLEW_GET_FUN(__glewGenerateMipmapEXT)
+#define glGetFramebufferAttachmentParameterivEXT GLEW_GET_FUN(__glewGetFramebufferAttachmentParameterivEXT)
+#define glGetRenderbufferParameterivEXT GLEW_GET_FUN(__glewGetRenderbufferParameterivEXT)
+#define glIsFramebufferEXT GLEW_GET_FUN(__glewIsFramebufferEXT)
+#define glIsRenderbufferEXT GLEW_GET_FUN(__glewIsRenderbufferEXT)
+#define glRenderbufferStorageEXT GLEW_GET_FUN(__glewRenderbufferStorageEXT)
+
+#define GLEW_EXT_framebuffer_object GLEW_GET_VAR(__GLEW_EXT_framebuffer_object)
+
+#endif /* GL_EXT_framebuffer_object */
+
+/* ------------------------ GL_EXT_framebuffer_sRGB ------------------------ */
+
+#ifndef GL_EXT_framebuffer_sRGB
+#define GL_EXT_framebuffer_sRGB 1
+
+#define GL_FRAMEBUFFER_SRGB_EXT 0x8DB9
+#define GL_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x8DBA
+
+#define GLEW_EXT_framebuffer_sRGB GLEW_GET_VAR(__GLEW_EXT_framebuffer_sRGB)
+
+#endif /* GL_EXT_framebuffer_sRGB */
+
+/* ------------------------ GL_EXT_geometry_shader4 ------------------------ */
+
+#ifndef GL_EXT_geometry_shader4
+#define GL_EXT_geometry_shader4 1
+
+#define GL_LINES_ADJACENCY_EXT 0xA
+#define GL_LINE_STRIP_ADJACENCY_EXT 0xB
+#define GL_TRIANGLES_ADJACENCY_EXT 0xC
+#define GL_TRIANGLE_STRIP_ADJACENCY_EXT 0xD
+#define GL_PROGRAM_POINT_SIZE_EXT 0x8642
+#define GL_MAX_VARYING_COMPONENTS_EXT 0x8B4B
+#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT 0x8C29
+#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT 0x8CD4
+#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT 0x8DA7
+#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT 0x8DA8
+#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT 0x8DA9
+#define GL_GEOMETRY_SHADER_EXT 0x8DD9
+#define GL_GEOMETRY_VERTICES_OUT_EXT 0x8DDA
+#define GL_GEOMETRY_INPUT_TYPE_EXT 0x8DDB
+#define GL_GEOMETRY_OUTPUT_TYPE_EXT 0x8DDC
+#define GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT 0x8DDD
+#define GL_MAX_VERTEX_VARYING_COMPONENTS_EXT 0x8DDE
+#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT 0x8DDF
+#define GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT 0x8DE0
+#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT 0x8DE1
+
+typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTUREEXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level);
+typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);
+typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
+typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETERIEXTPROC) (GLuint program, GLenum pname, GLint value);
+
+#define glFramebufferTextureEXT GLEW_GET_FUN(__glewFramebufferTextureEXT)
+#define glFramebufferTextureFaceEXT GLEW_GET_FUN(__glewFramebufferTextureFaceEXT)
+#define glFramebufferTextureLayerEXT GLEW_GET_FUN(__glewFramebufferTextureLayerEXT)
+#define glProgramParameteriEXT GLEW_GET_FUN(__glewProgramParameteriEXT)
+
+#define GLEW_EXT_geometry_shader4 GLEW_GET_VAR(__GLEW_EXT_geometry_shader4)
+
+#endif /* GL_EXT_geometry_shader4 */
+
+/* --------------------- GL_EXT_gpu_program_parameters --------------------- */
+
+#ifndef GL_EXT_gpu_program_parameters
+#define GL_EXT_gpu_program_parameters 1
+
+typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETERS4FVEXTPROC) (GLenum target, GLuint index, GLsizei count, const GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC) (GLenum target, GLuint index, GLsizei count, const GLfloat* params);
+
+#define glProgramEnvParameters4fvEXT GLEW_GET_FUN(__glewProgramEnvParameters4fvEXT)
+#define glProgramLocalParameters4fvEXT GLEW_GET_FUN(__glewProgramLocalParameters4fvEXT)
+
+#define GLEW_EXT_gpu_program_parameters GLEW_GET_VAR(__GLEW_EXT_gpu_program_parameters)
+
+#endif /* GL_EXT_gpu_program_parameters */
+
+/* --------------------------- GL_EXT_gpu_shader4 -------------------------- */
+
+#ifndef GL_EXT_gpu_shader4
+#define GL_EXT_gpu_shader4 1
+
+#define GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT 0x88FD
+#define GL_SAMPLER_1D_ARRAY_EXT 0x8DC0
+#define GL_SAMPLER_2D_ARRAY_EXT 0x8DC1
+#define GL_SAMPLER_BUFFER_EXT 0x8DC2
+#define GL_SAMPLER_1D_ARRAY_SHADOW_EXT 0x8DC3
+#define GL_SAMPLER_2D_ARRAY_SHADOW_EXT 0x8DC4
+#define GL_SAMPLER_CUBE_SHADOW_EXT 0x8DC5
+#define GL_UNSIGNED_INT_VEC2_EXT 0x8DC6
+#define GL_UNSIGNED_INT_VEC3_EXT 0x8DC7
+#define GL_UNSIGNED_INT_VEC4_EXT 0x8DC8
+#define GL_INT_SAMPLER_1D_EXT 0x8DC9
+#define GL_INT_SAMPLER_2D_EXT 0x8DCA
+#define GL_INT_SAMPLER_3D_EXT 0x8DCB
+#define GL_INT_SAMPLER_CUBE_EXT 0x8DCC
+#define GL_INT_SAMPLER_2D_RECT_EXT 0x8DCD
+#define GL_INT_SAMPLER_1D_ARRAY_EXT 0x8DCE
+#define GL_INT_SAMPLER_2D_ARRAY_EXT 0x8DCF
+#define GL_INT_SAMPLER_BUFFER_EXT 0x8DD0
+#define GL_UNSIGNED_INT_SAMPLER_1D_EXT 0x8DD1
+#define GL_UNSIGNED_INT_SAMPLER_2D_EXT 0x8DD2
+#define GL_UNSIGNED_INT_SAMPLER_3D_EXT 0x8DD3
+#define GL_UNSIGNED_INT_SAMPLER_CUBE_EXT 0x8DD4
+#define GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT 0x8DD5
+#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT 0x8DD6
+#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT 0x8DD7
+#define GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT 0x8DD8
+
+typedef void (GLAPIENTRY * PFNGLBINDFRAGDATALOCATIONEXTPROC) (GLuint program, GLuint color, const GLchar *name);
+typedef GLint (GLAPIENTRY * PFNGLGETFRAGDATALOCATIONEXTPROC) (GLuint program, const GLchar *name);
+typedef void (GLAPIENTRY * PFNGLGETUNIFORMUIVEXTPROC) (GLuint program, GLint location, GLuint *params);
+typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIIVEXTPROC) (GLuint index, GLenum pname, GLint *params);
+typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIUIVEXTPROC) (GLuint index, GLenum pname, GLuint *params);
+typedef void (GLAPIENTRY * PFNGLUNIFORM1UIEXTPROC) (GLint location, GLuint v0);
+typedef void (GLAPIENTRY * PFNGLUNIFORM1UIVEXTPROC) (GLint location, GLsizei count, const GLuint *value);
+typedef void (GLAPIENTRY * PFNGLUNIFORM2UIEXTPROC) (GLint location, GLuint v0, GLuint v1);
+typedef void (GLAPIENTRY * PFNGLUNIFORM2UIVEXTPROC) (GLint location, GLsizei count, const GLuint *value);
+typedef void (GLAPIENTRY * PFNGLUNIFORM3UIEXTPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2);
+typedef void (GLAPIENTRY * PFNGLUNIFORM3UIVEXTPROC) (GLint location, GLsizei count, const GLuint *value);
+typedef void (GLAPIENTRY * PFNGLUNIFORM4UIEXTPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
+typedef void (GLAPIENTRY * PFNGLUNIFORM4UIVEXTPROC) (GLint location, GLsizei count, const GLuint *value);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1IEXTPROC) (GLuint index, GLint x);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1IVEXTPROC) (GLuint index, const GLint *v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1UIEXTPROC) (GLuint index, GLuint x);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI1UIVEXTPROC) (GLuint index, const GLuint *v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2IEXTPROC) (GLuint index, GLint x, GLint y);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2IVEXTPROC) (GLuint index, const GLint *v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2UIEXTPROC) (GLuint index, GLuint x, GLuint y);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI2UIVEXTPROC) (GLuint index, const GLuint *v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3IEXTPROC) (GLuint index, GLint x, GLint y, GLint z);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3IVEXTPROC) (GLuint index, const GLint *v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3UIEXTPROC) (GLuint index, GLuint x, GLuint y, GLuint z);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI3UIVEXTPROC) (GLuint index, const GLuint *v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4BVEXTPROC) (GLuint index, const GLbyte *v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4IEXTPROC) (GLuint index, GLint x, GLint y, GLint z, GLint w);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4IVEXTPROC) (GLuint index, const GLint *v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4SVEXTPROC) (GLuint index, const GLshort *v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4UBVEXTPROC) (GLuint index, const GLubyte *v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4UIEXTPROC) (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4UIVEXTPROC) (GLuint index, const GLuint *v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBI4USVEXTPROC) (GLuint index, const GLushort *v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBIPOINTEREXTPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
+
+#define glBindFragDataLocationEXT GLEW_GET_FUN(__glewBindFragDataLocationEXT)
+#define glGetFragDataLocationEXT GLEW_GET_FUN(__glewGetFragDataLocationEXT)
+#define glGetUniformuivEXT GLEW_GET_FUN(__glewGetUniformuivEXT)
+#define glGetVertexAttribIivEXT GLEW_GET_FUN(__glewGetVertexAttribIivEXT)
+#define glGetVertexAttribIuivEXT GLEW_GET_FUN(__glewGetVertexAttribIuivEXT)
+#define glUniform1uiEXT GLEW_GET_FUN(__glewUniform1uiEXT)
+#define glUniform1uivEXT GLEW_GET_FUN(__glewUniform1uivEXT)
+#define glUniform2uiEXT GLEW_GET_FUN(__glewUniform2uiEXT)
+#define glUniform2uivEXT GLEW_GET_FUN(__glewUniform2uivEXT)
+#define glUniform3uiEXT GLEW_GET_FUN(__glewUniform3uiEXT)
+#define glUniform3uivEXT GLEW_GET_FUN(__glewUniform3uivEXT)
+#define glUniform4uiEXT GLEW_GET_FUN(__glewUniform4uiEXT)
+#define glUniform4uivEXT GLEW_GET_FUN(__glewUniform4uivEXT)
+#define glVertexAttribI1iEXT GLEW_GET_FUN(__glewVertexAttribI1iEXT)
+#define glVertexAttribI1ivEXT GLEW_GET_FUN(__glewVertexAttribI1ivEXT)
+#define glVertexAttribI1uiEXT GLEW_GET_FUN(__glewVertexAttribI1uiEXT)
+#define glVertexAttribI1uivEXT GLEW_GET_FUN(__glewVertexAttribI1uivEXT)
+#define glVertexAttribI2iEXT GLEW_GET_FUN(__glewVertexAttribI2iEXT)
+#define glVertexAttribI2ivEXT GLEW_GET_FUN(__glewVertexAttribI2ivEXT)
+#define glVertexAttribI2uiEXT GLEW_GET_FUN(__glewVertexAttribI2uiEXT)
+#define glVertexAttribI2uivEXT GLEW_GET_FUN(__glewVertexAttribI2uivEXT)
+#define glVertexAttribI3iEXT GLEW_GET_FUN(__glewVertexAttribI3iEXT)
+#define glVertexAttribI3ivEXT GLEW_GET_FUN(__glewVertexAttribI3ivEXT)
+#define glVertexAttribI3uiEXT GLEW_GET_FUN(__glewVertexAttribI3uiEXT)
+#define glVertexAttribI3uivEXT GLEW_GET_FUN(__glewVertexAttribI3uivEXT)
+#define glVertexAttribI4bvEXT GLEW_GET_FUN(__glewVertexAttribI4bvEXT)
+#define glVertexAttribI4iEXT GLEW_GET_FUN(__glewVertexAttribI4iEXT)
+#define glVertexAttribI4ivEXT GLEW_GET_FUN(__glewVertexAttribI4ivEXT)
+#define glVertexAttribI4svEXT GLEW_GET_FUN(__glewVertexAttribI4svEXT)
+#define glVertexAttribI4ubvEXT GLEW_GET_FUN(__glewVertexAttribI4ubvEXT)
+#define glVertexAttribI4uiEXT GLEW_GET_FUN(__glewVertexAttribI4uiEXT)
+#define glVertexAttribI4uivEXT GLEW_GET_FUN(__glewVertexAttribI4uivEXT)
+#define glVertexAttribI4usvEXT GLEW_GET_FUN(__glewVertexAttribI4usvEXT)
+#define glVertexAttribIPointerEXT GLEW_GET_FUN(__glewVertexAttribIPointerEXT)
+
+#define GLEW_EXT_gpu_shader4 GLEW_GET_VAR(__GLEW_EXT_gpu_shader4)
+
+#endif /* GL_EXT_gpu_shader4 */
+
+/* ---------------------------- GL_EXT_histogram --------------------------- */
+
+#ifndef GL_EXT_histogram
+#define GL_EXT_histogram 1
+
+#define GL_HISTOGRAM_EXT 0x8024
+#define GL_PROXY_HISTOGRAM_EXT 0x8025
+#define GL_HISTOGRAM_WIDTH_EXT 0x8026
+#define GL_HISTOGRAM_FORMAT_EXT 0x8027
+#define GL_HISTOGRAM_RED_SIZE_EXT 0x8028
+#define GL_HISTOGRAM_GREEN_SIZE_EXT 0x8029
+#define GL_HISTOGRAM_BLUE_SIZE_EXT 0x802A
+#define GL_HISTOGRAM_ALPHA_SIZE_EXT 0x802B
+#define GL_HISTOGRAM_LUMINANCE_SIZE_EXT 0x802C
+#define GL_HISTOGRAM_SINK_EXT 0x802D
+#define GL_MINMAX_EXT 0x802E
+#define GL_MINMAX_FORMAT_EXT 0x802F
+#define GL_MINMAX_SINK_EXT 0x8030
+
+typedef void (GLAPIENTRY * PFNGLGETHISTOGRAMEXTPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, void* values);
+typedef void (GLAPIENTRY * PFNGLGETHISTOGRAMPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLGETHISTOGRAMPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint* params);
+typedef void (GLAPIENTRY * PFNGLGETMINMAXEXTPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, void* values);
+typedef void (GLAPIENTRY * PFNGLGETMINMAXPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLGETMINMAXPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint* params);
+typedef void (GLAPIENTRY * PFNGLHISTOGRAMEXTPROC) (GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);
+typedef void (GLAPIENTRY * PFNGLMINMAXEXTPROC) (GLenum target, GLenum internalformat, GLboolean sink);
+typedef void (GLAPIENTRY * PFNGLRESETHISTOGRAMEXTPROC) (GLenum target);
+typedef void (GLAPIENTRY * PFNGLRESETMINMAXEXTPROC) (GLenum target);
+
+#define glGetHistogramEXT GLEW_GET_FUN(__glewGetHistogramEXT)
+#define glGetHistogramParameterfvEXT GLEW_GET_FUN(__glewGetHistogramParameterfvEXT)
+#define glGetHistogramParameterivEXT GLEW_GET_FUN(__glewGetHistogramParameterivEXT)
+#define glGetMinmaxEXT GLEW_GET_FUN(__glewGetMinmaxEXT)
+#define glGetMinmaxParameterfvEXT GLEW_GET_FUN(__glewGetMinmaxParameterfvEXT)
+#define glGetMinmaxParameterivEXT GLEW_GET_FUN(__glewGetMinmaxParameterivEXT)
+#define glHistogramEXT GLEW_GET_FUN(__glewHistogramEXT)
+#define glMinmaxEXT GLEW_GET_FUN(__glewMinmaxEXT)
+#define glResetHistogramEXT GLEW_GET_FUN(__glewResetHistogramEXT)
+#define glResetMinmaxEXT GLEW_GET_FUN(__glewResetMinmaxEXT)
+
+#define GLEW_EXT_histogram GLEW_GET_VAR(__GLEW_EXT_histogram)
+
+#endif /* GL_EXT_histogram */
+
+/* ----------------------- GL_EXT_index_array_formats ---------------------- */
+
+#ifndef GL_EXT_index_array_formats
+#define GL_EXT_index_array_formats 1
+
+#define GLEW_EXT_index_array_formats GLEW_GET_VAR(__GLEW_EXT_index_array_formats)
+
+#endif /* GL_EXT_index_array_formats */
+
+/* --------------------------- GL_EXT_index_func --------------------------- */
+
+#ifndef GL_EXT_index_func
+#define GL_EXT_index_func 1
+
+typedef void (GLAPIENTRY * PFNGLINDEXFUNCEXTPROC) (GLenum func, GLfloat ref);
+
+#define glIndexFuncEXT GLEW_GET_FUN(__glewIndexFuncEXT)
+
+#define GLEW_EXT_index_func GLEW_GET_VAR(__GLEW_EXT_index_func)
+
+#endif /* GL_EXT_index_func */
+
+/* ------------------------- GL_EXT_index_material ------------------------- */
+
+#ifndef GL_EXT_index_material
+#define GL_EXT_index_material 1
+
+typedef void (GLAPIENTRY * PFNGLINDEXMATERIALEXTPROC) (GLenum face, GLenum mode);
+
+#define glIndexMaterialEXT GLEW_GET_FUN(__glewIndexMaterialEXT)
+
+#define GLEW_EXT_index_material GLEW_GET_VAR(__GLEW_EXT_index_material)
+
+#endif /* GL_EXT_index_material */
+
+/* -------------------------- GL_EXT_index_texture ------------------------- */
+
+#ifndef GL_EXT_index_texture
+#define GL_EXT_index_texture 1
+
+#define GLEW_EXT_index_texture GLEW_GET_VAR(__GLEW_EXT_index_texture)
+
+#endif /* GL_EXT_index_texture */
+
+/* -------------------------- GL_EXT_light_texture ------------------------- */
+
+#ifndef GL_EXT_light_texture
+#define GL_EXT_light_texture 1
+
+#define GL_FRAGMENT_MATERIAL_EXT 0x8349
+#define GL_FRAGMENT_NORMAL_EXT 0x834A
+#define GL_FRAGMENT_COLOR_EXT 0x834C
+#define GL_ATTENUATION_EXT 0x834D
+#define GL_SHADOW_ATTENUATION_EXT 0x834E
+#define GL_TEXTURE_APPLICATION_MODE_EXT 0x834F
+#define GL_TEXTURE_LIGHT_EXT 0x8350
+#define GL_TEXTURE_MATERIAL_FACE_EXT 0x8351
+#define GL_TEXTURE_MATERIAL_PARAMETER_EXT 0x8352
+#define GL_FRAGMENT_DEPTH_EXT 0x8452
+
+typedef void (GLAPIENTRY * PFNGLAPPLYTEXTUREEXTPROC) (GLenum mode);
+typedef void (GLAPIENTRY * PFNGLTEXTURELIGHTEXTPROC) (GLenum pname);
+typedef void (GLAPIENTRY * PFNGLTEXTUREMATERIALEXTPROC) (GLenum face, GLenum mode);
+
+#define glApplyTextureEXT GLEW_GET_FUN(__glewApplyTextureEXT)
+#define glTextureLightEXT GLEW_GET_FUN(__glewTextureLightEXT)
+#define glTextureMaterialEXT GLEW_GET_FUN(__glewTextureMaterialEXT)
+
+#define GLEW_EXT_light_texture GLEW_GET_VAR(__GLEW_EXT_light_texture)
+
+#endif /* GL_EXT_light_texture */
+
+/* ------------------------- GL_EXT_misc_attribute ------------------------- */
+
+#ifndef GL_EXT_misc_attribute
+#define GL_EXT_misc_attribute 1
+
+#define GLEW_EXT_misc_attribute GLEW_GET_VAR(__GLEW_EXT_misc_attribute)
+
+#endif /* GL_EXT_misc_attribute */
+
+/* ------------------------ GL_EXT_multi_draw_arrays ----------------------- */
+
+#ifndef GL_EXT_multi_draw_arrays
+#define GL_EXT_multi_draw_arrays 1
+
+typedef void (GLAPIENTRY * PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, GLint* first, GLsizei *count, GLsizei primcount);
+typedef void (GLAPIENTRY * PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, GLsizei* count, GLenum type, const GLvoid **indices, GLsizei primcount);
+
+#define glMultiDrawArraysEXT GLEW_GET_FUN(__glewMultiDrawArraysEXT)
+#define glMultiDrawElementsEXT GLEW_GET_FUN(__glewMultiDrawElementsEXT)
+
+#define GLEW_EXT_multi_draw_arrays GLEW_GET_VAR(__GLEW_EXT_multi_draw_arrays)
+
+#endif /* GL_EXT_multi_draw_arrays */
+
+/* --------------------------- GL_EXT_multisample -------------------------- */
+
+#ifndef GL_EXT_multisample
+#define GL_EXT_multisample 1
+
+#define GL_MULTISAMPLE_EXT 0x809D
+#define GL_SAMPLE_ALPHA_TO_MASK_EXT 0x809E
+#define GL_SAMPLE_ALPHA_TO_ONE_EXT 0x809F
+#define GL_SAMPLE_MASK_EXT 0x80A0
+#define GL_1PASS_EXT 0x80A1
+#define GL_2PASS_0_EXT 0x80A2
+#define GL_2PASS_1_EXT 0x80A3
+#define GL_4PASS_0_EXT 0x80A4
+#define GL_4PASS_1_EXT 0x80A5
+#define GL_4PASS_2_EXT 0x80A6
+#define GL_4PASS_3_EXT 0x80A7
+#define GL_SAMPLE_BUFFERS_EXT 0x80A8
+#define GL_SAMPLES_EXT 0x80A9
+#define GL_SAMPLE_MASK_VALUE_EXT 0x80AA
+#define GL_SAMPLE_MASK_INVERT_EXT 0x80AB
+#define GL_SAMPLE_PATTERN_EXT 0x80AC
+#define GL_MULTISAMPLE_BIT_EXT 0x20000000
+
+typedef void (GLAPIENTRY * PFNGLSAMPLEMASKEXTPROC) (GLclampf value, GLboolean invert);
+typedef void (GLAPIENTRY * PFNGLSAMPLEPATTERNEXTPROC) (GLenum pattern);
+
+#define glSampleMaskEXT GLEW_GET_FUN(__glewSampleMaskEXT)
+#define glSamplePatternEXT GLEW_GET_FUN(__glewSamplePatternEXT)
+
+#define GLEW_EXT_multisample GLEW_GET_VAR(__GLEW_EXT_multisample)
+
+#endif /* GL_EXT_multisample */
+
+/* ---------------------- GL_EXT_packed_depth_stencil ---------------------- */
+
+#ifndef GL_EXT_packed_depth_stencil
+#define GL_EXT_packed_depth_stencil 1
+
+#define GL_DEPTH_STENCIL_EXT 0x84F9
+#define GL_UNSIGNED_INT_24_8_EXT 0x84FA
+#define GL_DEPTH24_STENCIL8_EXT 0x88F0
+#define GL_TEXTURE_STENCIL_SIZE_EXT 0x88F1
+
+#define GLEW_EXT_packed_depth_stencil GLEW_GET_VAR(__GLEW_EXT_packed_depth_stencil)
+
+#endif /* GL_EXT_packed_depth_stencil */
+
+/* -------------------------- GL_EXT_packed_float -------------------------- */
+
+#ifndef GL_EXT_packed_float
+#define GL_EXT_packed_float 1
+
+#define GL_R11F_G11F_B10F_EXT 0x8C3A
+#define GL_UNSIGNED_INT_10F_11F_11F_REV_EXT 0x8C3B
+#define GL_RGBA_SIGNED_COMPONENTS_EXT 0x8C3C
+
+#define GLEW_EXT_packed_float GLEW_GET_VAR(__GLEW_EXT_packed_float)
+
+#endif /* GL_EXT_packed_float */
+
+/* -------------------------- GL_EXT_packed_pixels ------------------------- */
+
+#ifndef GL_EXT_packed_pixels
+#define GL_EXT_packed_pixels 1
+
+#define GL_UNSIGNED_BYTE_3_3_2_EXT 0x8032
+#define GL_UNSIGNED_SHORT_4_4_4_4_EXT 0x8033
+#define GL_UNSIGNED_SHORT_5_5_5_1_EXT 0x8034
+#define GL_UNSIGNED_INT_8_8_8_8_EXT 0x8035
+#define GL_UNSIGNED_INT_10_10_10_2_EXT 0x8036
+
+#define GLEW_EXT_packed_pixels GLEW_GET_VAR(__GLEW_EXT_packed_pixels)
+
+#endif /* GL_EXT_packed_pixels */
+
+/* ------------------------ GL_EXT_paletted_texture ------------------------ */
+
+#ifndef GL_EXT_paletted_texture
+#define GL_EXT_paletted_texture 1
+
+#define GL_TEXTURE_1D 0x0DE0
+#define GL_TEXTURE_2D 0x0DE1
+#define GL_PROXY_TEXTURE_1D 0x8063
+#define GL_PROXY_TEXTURE_2D 0x8064
+#define GL_TEXTURE_3D_EXT 0x806F
+#define GL_PROXY_TEXTURE_3D_EXT 0x8070
+#define GL_COLOR_TABLE_FORMAT_EXT 0x80D8
+#define GL_COLOR_TABLE_WIDTH_EXT 0x80D9
+#define GL_COLOR_TABLE_RED_SIZE_EXT 0x80DA
+#define GL_COLOR_TABLE_GREEN_SIZE_EXT 0x80DB
+#define GL_COLOR_TABLE_BLUE_SIZE_EXT 0x80DC
+#define GL_COLOR_TABLE_ALPHA_SIZE_EXT 0x80DD
+#define GL_COLOR_TABLE_LUMINANCE_SIZE_EXT 0x80DE
+#define GL_COLOR_TABLE_INTENSITY_SIZE_EXT 0x80DF
+#define GL_COLOR_INDEX1_EXT 0x80E2
+#define GL_COLOR_INDEX2_EXT 0x80E3
+#define GL_COLOR_INDEX4_EXT 0x80E4
+#define GL_COLOR_INDEX8_EXT 0x80E5
+#define GL_COLOR_INDEX12_EXT 0x80E6
+#define GL_COLOR_INDEX16_EXT 0x80E7
+#define GL_TEXTURE_INDEX_SIZE_EXT 0x80ED
+#define GL_TEXTURE_CUBE_MAP_ARB 0x8513
+#define GL_PROXY_TEXTURE_CUBE_MAP_ARB 0x851B
+
+typedef void (GLAPIENTRY * PFNGLCOLORTABLEEXTPROC) (GLenum target, GLenum internalFormat, GLsizei width, GLenum format, GLenum type, const void* data);
+typedef void (GLAPIENTRY * PFNGLGETCOLORTABLEEXTPROC) (GLenum target, GLenum format, GLenum type, void* data);
+typedef void (GLAPIENTRY * PFNGLGETCOLORTABLEPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLGETCOLORTABLEPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint* params);
+
+#define glColorTableEXT GLEW_GET_FUN(__glewColorTableEXT)
+#define glGetColorTableEXT GLEW_GET_FUN(__glewGetColorTableEXT)
+#define glGetColorTableParameterfvEXT GLEW_GET_FUN(__glewGetColorTableParameterfvEXT)
+#define glGetColorTableParameterivEXT GLEW_GET_FUN(__glewGetColorTableParameterivEXT)
+
+#define GLEW_EXT_paletted_texture GLEW_GET_VAR(__GLEW_EXT_paletted_texture)
+
+#endif /* GL_EXT_paletted_texture */
+
+/* ----------------------- GL_EXT_pixel_buffer_object ---------------------- */
+
+#ifndef GL_EXT_pixel_buffer_object
+#define GL_EXT_pixel_buffer_object 1
+
+#define GL_PIXEL_PACK_BUFFER_EXT 0x88EB
+#define GL_PIXEL_UNPACK_BUFFER_EXT 0x88EC
+#define GL_PIXEL_PACK_BUFFER_BINDING_EXT 0x88ED
+#define GL_PIXEL_UNPACK_BUFFER_BINDING_EXT 0x88EF
+
+#define GLEW_EXT_pixel_buffer_object GLEW_GET_VAR(__GLEW_EXT_pixel_buffer_object)
+
+#endif /* GL_EXT_pixel_buffer_object */
+
+/* ------------------------- GL_EXT_pixel_transform ------------------------ */
+
+#ifndef GL_EXT_pixel_transform
+#define GL_EXT_pixel_transform 1
+
+#define GL_PIXEL_TRANSFORM_2D_EXT 0x8330
+#define GL_PIXEL_MAG_FILTER_EXT 0x8331
+#define GL_PIXEL_MIN_FILTER_EXT 0x8332
+#define GL_PIXEL_CUBIC_WEIGHT_EXT 0x8333
+#define GL_CUBIC_EXT 0x8334
+#define GL_AVERAGE_EXT 0x8335
+#define GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT 0x8336
+#define GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT 0x8337
+#define GL_PIXEL_TRANSFORM_2D_MATRIX_EXT 0x8338
+
+typedef void (GLAPIENTRY * PFNGLGETPIXELTRANSFORMPARAMETERFVEXTPROC) (GLenum target, GLenum pname, const GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLGETPIXELTRANSFORMPARAMETERIVEXTPROC) (GLenum target, GLenum pname, const GLint* params);
+typedef void (GLAPIENTRY * PFNGLPIXELTRANSFORMPARAMETERFEXTPROC) (GLenum target, GLenum pname, const GLfloat param);
+typedef void (GLAPIENTRY * PFNGLPIXELTRANSFORMPARAMETERFVEXTPROC) (GLenum target, GLenum pname, const GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLPIXELTRANSFORMPARAMETERIEXTPROC) (GLenum target, GLenum pname, const GLint param);
+typedef void (GLAPIENTRY * PFNGLPIXELTRANSFORMPARAMETERIVEXTPROC) (GLenum target, GLenum pname, const GLint* params);
+
+#define glGetPixelTransformParameterfvEXT GLEW_GET_FUN(__glewGetPixelTransformParameterfvEXT)
+#define glGetPixelTransformParameterivEXT GLEW_GET_FUN(__glewGetPixelTransformParameterivEXT)
+#define glPixelTransformParameterfEXT GLEW_GET_FUN(__glewPixelTransformParameterfEXT)
+#define glPixelTransformParameterfvEXT GLEW_GET_FUN(__glewPixelTransformParameterfvEXT)
+#define glPixelTransformParameteriEXT GLEW_GET_FUN(__glewPixelTransformParameteriEXT)
+#define glPixelTransformParameterivEXT GLEW_GET_FUN(__glewPixelTransformParameterivEXT)
+
+#define GLEW_EXT_pixel_transform GLEW_GET_VAR(__GLEW_EXT_pixel_transform)
+
+#endif /* GL_EXT_pixel_transform */
+
+/* ------------------- GL_EXT_pixel_transform_color_table ------------------ */
+
+#ifndef GL_EXT_pixel_transform_color_table
+#define GL_EXT_pixel_transform_color_table 1
+
+#define GLEW_EXT_pixel_transform_color_table GLEW_GET_VAR(__GLEW_EXT_pixel_transform_color_table)
+
+#endif /* GL_EXT_pixel_transform_color_table */
+
+/* ------------------------ GL_EXT_point_parameters ------------------------ */
+
+#ifndef GL_EXT_point_parameters
+#define GL_EXT_point_parameters 1
+
+#define GL_POINT_SIZE_MIN_EXT 0x8126
+#define GL_POINT_SIZE_MAX_EXT 0x8127
+#define GL_POINT_FADE_THRESHOLD_SIZE_EXT 0x8128
+#define GL_DISTANCE_ATTENUATION_EXT 0x8129
+
+typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFEXTPROC) (GLenum pname, GLfloat param);
+typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERFVEXTPROC) (GLenum pname, GLfloat* params);
+
+#define glPointParameterfEXT GLEW_GET_FUN(__glewPointParameterfEXT)
+#define glPointParameterfvEXT GLEW_GET_FUN(__glewPointParameterfvEXT)
+
+#define GLEW_EXT_point_parameters GLEW_GET_VAR(__GLEW_EXT_point_parameters)
+
+#endif /* GL_EXT_point_parameters */
+
+/* ------------------------- GL_EXT_polygon_offset ------------------------- */
+
+#ifndef GL_EXT_polygon_offset
+#define GL_EXT_polygon_offset 1
+
+#define GL_POLYGON_OFFSET_EXT 0x8037
+#define GL_POLYGON_OFFSET_FACTOR_EXT 0x8038
+#define GL_POLYGON_OFFSET_BIAS_EXT 0x8039
+
+typedef void (GLAPIENTRY * PFNGLPOLYGONOFFSETEXTPROC) (GLfloat factor, GLfloat bias);
+
+#define glPolygonOffsetEXT GLEW_GET_FUN(__glewPolygonOffsetEXT)
+
+#define GLEW_EXT_polygon_offset GLEW_GET_VAR(__GLEW_EXT_polygon_offset)
+
+#endif /* GL_EXT_polygon_offset */
+
+/* ------------------------ GL_EXT_provoking_vertex ------------------------ */
+
+#ifndef GL_EXT_provoking_vertex
+#define GL_EXT_provoking_vertex 1
+
+#define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT 0x8E4C
+#define GL_FIRST_VERTEX_CONVENTION_EXT 0x8E4D
+#define GL_LAST_VERTEX_CONVENTION_EXT 0x8E4E
+#define GL_PROVOKING_VERTEX_EXT 0x8E4F
+
+typedef void (GLAPIENTRY * PFNGLPROVOKINGVERTEXEXTPROC) (GLenum mode);
+
+#define glProvokingVertexEXT GLEW_GET_FUN(__glewProvokingVertexEXT)
+
+#define GLEW_EXT_provoking_vertex GLEW_GET_VAR(__GLEW_EXT_provoking_vertex)
+
+#endif /* GL_EXT_provoking_vertex */
+
+/* ------------------------- GL_EXT_rescale_normal ------------------------- */
+
+#ifndef GL_EXT_rescale_normal
+#define GL_EXT_rescale_normal 1
+
+#define GL_RESCALE_NORMAL_EXT 0x803A
+
+#define GLEW_EXT_rescale_normal GLEW_GET_VAR(__GLEW_EXT_rescale_normal)
+
+#endif /* GL_EXT_rescale_normal */
+
+/* -------------------------- GL_EXT_scene_marker -------------------------- */
+
+#ifndef GL_EXT_scene_marker
+#define GL_EXT_scene_marker 1
+
+typedef void (GLAPIENTRY * PFNGLBEGINSCENEEXTPROC) (void);
+typedef void (GLAPIENTRY * PFNGLENDSCENEEXTPROC) (void);
+
+#define glBeginSceneEXT GLEW_GET_FUN(__glewBeginSceneEXT)
+#define glEndSceneEXT GLEW_GET_FUN(__glewEndSceneEXT)
+
+#define GLEW_EXT_scene_marker GLEW_GET_VAR(__GLEW_EXT_scene_marker)
+
+#endif /* GL_EXT_scene_marker */
+
+/* ------------------------- GL_EXT_secondary_color ------------------------ */
+
+#ifndef GL_EXT_secondary_color
+#define GL_EXT_secondary_color 1
+
+#define GL_COLOR_SUM_EXT 0x8458
+#define GL_CURRENT_SECONDARY_COLOR_EXT 0x8459
+#define GL_SECONDARY_COLOR_ARRAY_SIZE_EXT 0x845A
+#define GL_SECONDARY_COLOR_ARRAY_TYPE_EXT 0x845B
+#define GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT 0x845C
+#define GL_SECONDARY_COLOR_ARRAY_POINTER_EXT 0x845D
+#define GL_SECONDARY_COLOR_ARRAY_EXT 0x845E
+
+typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3BEXTPROC) (GLbyte red, GLbyte green, GLbyte blue);
+typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3BVEXTPROC) (const GLbyte *v);
+typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3DEXTPROC) (GLdouble red, GLdouble green, GLdouble blue);
+typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3DVEXTPROC) (const GLdouble *v);
+typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3FEXTPROC) (GLfloat red, GLfloat green, GLfloat blue);
+typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3FVEXTPROC) (const GLfloat *v);
+typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3IEXTPROC) (GLint red, GLint green, GLint blue);
+typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3IVEXTPROC) (const GLint *v);
+typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3SEXTPROC) (GLshort red, GLshort green, GLshort blue);
+typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3SVEXTPROC) (const GLshort *v);
+typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3UBEXTPROC) (GLubyte red, GLubyte green, GLubyte blue);
+typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3UBVEXTPROC) (const GLubyte *v);
+typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3UIEXTPROC) (GLuint red, GLuint green, GLuint blue);
+typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3UIVEXTPROC) (const GLuint *v);
+typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3USEXTPROC) (GLushort red, GLushort green, GLushort blue);
+typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3USVEXTPROC) (const GLushort *v);
+typedef void (GLAPIENTRY * PFNGLSECONDARYCOLORPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLvoid *pointer);
+
+#define glSecondaryColor3bEXT GLEW_GET_FUN(__glewSecondaryColor3bEXT)
+#define glSecondaryColor3bvEXT GLEW_GET_FUN(__glewSecondaryColor3bvEXT)
+#define glSecondaryColor3dEXT GLEW_GET_FUN(__glewSecondaryColor3dEXT)
+#define glSecondaryColor3dvEXT GLEW_GET_FUN(__glewSecondaryColor3dvEXT)
+#define glSecondaryColor3fEXT GLEW_GET_FUN(__glewSecondaryColor3fEXT)
+#define glSecondaryColor3fvEXT GLEW_GET_FUN(__glewSecondaryColor3fvEXT)
+#define glSecondaryColor3iEXT GLEW_GET_FUN(__glewSecondaryColor3iEXT)
+#define glSecondaryColor3ivEXT GLEW_GET_FUN(__glewSecondaryColor3ivEXT)
+#define glSecondaryColor3sEXT GLEW_GET_FUN(__glewSecondaryColor3sEXT)
+#define glSecondaryColor3svEXT GLEW_GET_FUN(__glewSecondaryColor3svEXT)
+#define glSecondaryColor3ubEXT GLEW_GET_FUN(__glewSecondaryColor3ubEXT)
+#define glSecondaryColor3ubvEXT GLEW_GET_FUN(__glewSecondaryColor3ubvEXT)
+#define glSecondaryColor3uiEXT GLEW_GET_FUN(__glewSecondaryColor3uiEXT)
+#define glSecondaryColor3uivEXT GLEW_GET_FUN(__glewSecondaryColor3uivEXT)
+#define glSecondaryColor3usEXT GLEW_GET_FUN(__glewSecondaryColor3usEXT)
+#define glSecondaryColor3usvEXT GLEW_GET_FUN(__glewSecondaryColor3usvEXT)
+#define glSecondaryColorPointerEXT GLEW_GET_FUN(__glewSecondaryColorPointerEXT)
+
+#define GLEW_EXT_secondary_color GLEW_GET_VAR(__GLEW_EXT_secondary_color)
+
+#endif /* GL_EXT_secondary_color */
+
+/* --------------------- GL_EXT_separate_shader_objects -------------------- */
+
+#ifndef GL_EXT_separate_shader_objects
+#define GL_EXT_separate_shader_objects 1
+
+#define GL_ACTIVE_PROGRAM_EXT 0x8B8D
+
+typedef void (GLAPIENTRY * PFNGLACTIVEPROGRAMEXTPROC) (GLuint program);
+typedef GLuint (GLAPIENTRY * PFNGLCREATESHADERPROGRAMEXTPROC) (GLenum type, const char* string);
+typedef void (GLAPIENTRY * PFNGLUSESHADERPROGRAMEXTPROC) (GLenum type, GLuint program);
+
+#define glActiveProgramEXT GLEW_GET_FUN(__glewActiveProgramEXT)
+#define glCreateShaderProgramEXT GLEW_GET_FUN(__glewCreateShaderProgramEXT)
+#define glUseShaderProgramEXT GLEW_GET_FUN(__glewUseShaderProgramEXT)
+
+#define GLEW_EXT_separate_shader_objects GLEW_GET_VAR(__GLEW_EXT_separate_shader_objects)
+
+#endif /* GL_EXT_separate_shader_objects */
+
+/* --------------------- GL_EXT_separate_specular_color -------------------- */
+
+#ifndef GL_EXT_separate_specular_color
+#define GL_EXT_separate_specular_color 1
+
+#define GL_LIGHT_MODEL_COLOR_CONTROL_EXT 0x81F8
+#define GL_SINGLE_COLOR_EXT 0x81F9
+#define GL_SEPARATE_SPECULAR_COLOR_EXT 0x81FA
+
+#define GLEW_EXT_separate_specular_color GLEW_GET_VAR(__GLEW_EXT_separate_specular_color)
+
+#endif /* GL_EXT_separate_specular_color */
+
+/* --------------------- GL_EXT_shader_image_load_store -------------------- */
+
+#ifndef GL_EXT_shader_image_load_store
+#define GL_EXT_shader_image_load_store 1
+
+#define GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT 0x00000001
+#define GL_ELEMENT_ARRAY_BARRIER_BIT_EXT 0x00000002
+#define GL_UNIFORM_BARRIER_BIT_EXT 0x00000004
+#define GL_TEXTURE_FETCH_BARRIER_BIT_EXT 0x00000008
+#define GL_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT 0x00000020
+#define GL_COMMAND_BARRIER_BIT_EXT 0x00000040
+#define GL_PIXEL_BUFFER_BARRIER_BIT_EXT 0x00000080
+#define GL_TEXTURE_UPDATE_BARRIER_BIT_EXT 0x00000100
+#define GL_BUFFER_UPDATE_BARRIER_BIT_EXT 0x00000200
+#define GL_FRAMEBUFFER_BARRIER_BIT_EXT 0x00000400
+#define GL_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT 0x00000800
+#define GL_ATOMIC_COUNTER_BARRIER_BIT_EXT 0x00001000
+#define GL_MAX_IMAGE_UNITS_EXT 0x8F38
+#define GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT 0x8F39
+#define GL_IMAGE_BINDING_NAME_EXT 0x8F3A
+#define GL_IMAGE_BINDING_LEVEL_EXT 0x8F3B
+#define GL_IMAGE_BINDING_LAYERED_EXT 0x8F3C
+#define GL_IMAGE_BINDING_LAYER_EXT 0x8F3D
+#define GL_IMAGE_BINDING_ACCESS_EXT 0x8F3E
+#define GL_IMAGE_1D_EXT 0x904C
+#define GL_IMAGE_2D_EXT 0x904D
+#define GL_IMAGE_3D_EXT 0x904E
+#define GL_IMAGE_2D_RECT_EXT 0x904F
+#define GL_IMAGE_CUBE_EXT 0x9050
+#define GL_IMAGE_BUFFER_EXT 0x9051
+#define GL_IMAGE_1D_ARRAY_EXT 0x9052
+#define GL_IMAGE_2D_ARRAY_EXT 0x9053
+#define GL_IMAGE_CUBE_MAP_ARRAY_EXT 0x9054
+#define GL_IMAGE_2D_MULTISAMPLE_EXT 0x9055
+#define GL_IMAGE_2D_MULTISAMPLE_ARRAY_EXT 0x9056
+#define GL_INT_IMAGE_1D_EXT 0x9057
+#define GL_INT_IMAGE_2D_EXT 0x9058
+#define GL_INT_IMAGE_3D_EXT 0x9059
+#define GL_INT_IMAGE_2D_RECT_EXT 0x905A
+#define GL_INT_IMAGE_CUBE_EXT 0x905B
+#define GL_INT_IMAGE_BUFFER_EXT 0x905C
+#define GL_INT_IMAGE_1D_ARRAY_EXT 0x905D
+#define GL_INT_IMAGE_2D_ARRAY_EXT 0x905E
+#define GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT 0x905F
+#define GL_INT_IMAGE_2D_MULTISAMPLE_EXT 0x9060
+#define GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT 0x9061
+#define GL_UNSIGNED_INT_IMAGE_1D_EXT 0x9062
+#define GL_UNSIGNED_INT_IMAGE_2D_EXT 0x9063
+#define GL_UNSIGNED_INT_IMAGE_3D_EXT 0x9064
+#define GL_UNSIGNED_INT_IMAGE_2D_RECT_EXT 0x9065
+#define GL_UNSIGNED_INT_IMAGE_CUBE_EXT 0x9066
+#define GL_UNSIGNED_INT_IMAGE_BUFFER_EXT 0x9067
+#define GL_UNSIGNED_INT_IMAGE_1D_ARRAY_EXT 0x9068
+#define GL_UNSIGNED_INT_IMAGE_2D_ARRAY_EXT 0x9069
+#define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT 0x906A
+#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT 0x906B
+#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT 0x906C
+#define GL_MAX_IMAGE_SAMPLES_EXT 0x906D
+#define GL_IMAGE_BINDING_FORMAT_EXT 0x906E
+#define GL_ALL_BARRIER_BITS_EXT 0xFFFFFFFF
+
+typedef void (GLAPIENTRY * PFNGLBINDIMAGETEXTUREEXTPROC) (GLuint index, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLint format);
+typedef void (GLAPIENTRY * PFNGLMEMORYBARRIEREXTPROC) (GLbitfield barriers);
+
+#define glBindImageTextureEXT GLEW_GET_FUN(__glewBindImageTextureEXT)
+#define glMemoryBarrierEXT GLEW_GET_FUN(__glewMemoryBarrierEXT)
+
+#define GLEW_EXT_shader_image_load_store GLEW_GET_VAR(__GLEW_EXT_shader_image_load_store)
+
+#endif /* GL_EXT_shader_image_load_store */
+
+/* -------------------------- GL_EXT_shadow_funcs -------------------------- */
+
+#ifndef GL_EXT_shadow_funcs
+#define GL_EXT_shadow_funcs 1
+
+#define GLEW_EXT_shadow_funcs GLEW_GET_VAR(__GLEW_EXT_shadow_funcs)
+
+#endif /* GL_EXT_shadow_funcs */
+
+/* --------------------- GL_EXT_shared_texture_palette --------------------- */
+
+#ifndef GL_EXT_shared_texture_palette
+#define GL_EXT_shared_texture_palette 1
+
+#define GL_SHARED_TEXTURE_PALETTE_EXT 0x81FB
+
+#define GLEW_EXT_shared_texture_palette GLEW_GET_VAR(__GLEW_EXT_shared_texture_palette)
+
+#endif /* GL_EXT_shared_texture_palette */
+
+/* ------------------------ GL_EXT_stencil_clear_tag ----------------------- */
+
+#ifndef GL_EXT_stencil_clear_tag
+#define GL_EXT_stencil_clear_tag 1
+
+#define GL_STENCIL_TAG_BITS_EXT 0x88F2
+#define GL_STENCIL_CLEAR_TAG_VALUE_EXT 0x88F3
+
+#define GLEW_EXT_stencil_clear_tag GLEW_GET_VAR(__GLEW_EXT_stencil_clear_tag)
+
+#endif /* GL_EXT_stencil_clear_tag */
+
+/* ------------------------ GL_EXT_stencil_two_side ------------------------ */
+
+#ifndef GL_EXT_stencil_two_side
+#define GL_EXT_stencil_two_side 1
+
+#define GL_STENCIL_TEST_TWO_SIDE_EXT 0x8910
+#define GL_ACTIVE_STENCIL_FACE_EXT 0x8911
+
+typedef void (GLAPIENTRY * PFNGLACTIVESTENCILFACEEXTPROC) (GLenum face);
+
+#define glActiveStencilFaceEXT GLEW_GET_FUN(__glewActiveStencilFaceEXT)
+
+#define GLEW_EXT_stencil_two_side GLEW_GET_VAR(__GLEW_EXT_stencil_two_side)
+
+#endif /* GL_EXT_stencil_two_side */
+
+/* -------------------------- GL_EXT_stencil_wrap -------------------------- */
+
+#ifndef GL_EXT_stencil_wrap
+#define GL_EXT_stencil_wrap 1
+
+#define GL_INCR_WRAP_EXT 0x8507
+#define GL_DECR_WRAP_EXT 0x8508
+
+#define GLEW_EXT_stencil_wrap GLEW_GET_VAR(__GLEW_EXT_stencil_wrap)
+
+#endif /* GL_EXT_stencil_wrap */
+
+/* --------------------------- GL_EXT_subtexture --------------------------- */
+
+#ifndef GL_EXT_subtexture
+#define GL_EXT_subtexture 1
+
+typedef void (GLAPIENTRY * PFNGLTEXSUBIMAGE1DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void* pixels);
+typedef void (GLAPIENTRY * PFNGLTEXSUBIMAGE2DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void* pixels);
+typedef void (GLAPIENTRY * PFNGLTEXSUBIMAGE3DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void* pixels);
+
+#define glTexSubImage1DEXT GLEW_GET_FUN(__glewTexSubImage1DEXT)
+#define glTexSubImage2DEXT GLEW_GET_FUN(__glewTexSubImage2DEXT)
+#define glTexSubImage3DEXT GLEW_GET_FUN(__glewTexSubImage3DEXT)
+
+#define GLEW_EXT_subtexture GLEW_GET_VAR(__GLEW_EXT_subtexture)
+
+#endif /* GL_EXT_subtexture */
+
+/* ----------------------------- GL_EXT_texture ---------------------------- */
+
+#ifndef GL_EXT_texture
+#define GL_EXT_texture 1
+
+#define GL_ALPHA4_EXT 0x803B
+#define GL_ALPHA8_EXT 0x803C
+#define GL_ALPHA12_EXT 0x803D
+#define GL_ALPHA16_EXT 0x803E
+#define GL_LUMINANCE4_EXT 0x803F
+#define GL_LUMINANCE8_EXT 0x8040
+#define GL_LUMINANCE12_EXT 0x8041
+#define GL_LUMINANCE16_EXT 0x8042
+#define GL_LUMINANCE4_ALPHA4_EXT 0x8043
+#define GL_LUMINANCE6_ALPHA2_EXT 0x8044
+#define GL_LUMINANCE8_ALPHA8_EXT 0x8045
+#define GL_LUMINANCE12_ALPHA4_EXT 0x8046
+#define GL_LUMINANCE12_ALPHA12_EXT 0x8047
+#define GL_LUMINANCE16_ALPHA16_EXT 0x8048
+#define GL_INTENSITY_EXT 0x8049
+#define GL_INTENSITY4_EXT 0x804A
+#define GL_INTENSITY8_EXT 0x804B
+#define GL_INTENSITY12_EXT 0x804C
+#define GL_INTENSITY16_EXT 0x804D
+#define GL_RGB2_EXT 0x804E
+#define GL_RGB4_EXT 0x804F
+#define GL_RGB5_EXT 0x8050
+#define GL_RGB8_EXT 0x8051
+#define GL_RGB10_EXT 0x8052
+#define GL_RGB12_EXT 0x8053
+#define GL_RGB16_EXT 0x8054
+#define GL_RGBA2_EXT 0x8055
+#define GL_RGBA4_EXT 0x8056
+#define GL_RGB5_A1_EXT 0x8057
+#define GL_RGBA8_EXT 0x8058
+#define GL_RGB10_A2_EXT 0x8059
+#define GL_RGBA12_EXT 0x805A
+#define GL_RGBA16_EXT 0x805B
+#define GL_TEXTURE_RED_SIZE_EXT 0x805C
+#define GL_TEXTURE_GREEN_SIZE_EXT 0x805D
+#define GL_TEXTURE_BLUE_SIZE_EXT 0x805E
+#define GL_TEXTURE_ALPHA_SIZE_EXT 0x805F
+#define GL_TEXTURE_LUMINANCE_SIZE_EXT 0x8060
+#define GL_TEXTURE_INTENSITY_SIZE_EXT 0x8061
+#define GL_REPLACE_EXT 0x8062
+#define GL_PROXY_TEXTURE_1D_EXT 0x8063
+#define GL_PROXY_TEXTURE_2D_EXT 0x8064
+
+#define GLEW_EXT_texture GLEW_GET_VAR(__GLEW_EXT_texture)
+
+#endif /* GL_EXT_texture */
+
+/* ---------------------------- GL_EXT_texture3D --------------------------- */
+
+#ifndef GL_EXT_texture3D
+#define GL_EXT_texture3D 1
+
+#define GL_PACK_SKIP_IMAGES_EXT 0x806B
+#define GL_PACK_IMAGE_HEIGHT_EXT 0x806C
+#define GL_UNPACK_SKIP_IMAGES_EXT 0x806D
+#define GL_UNPACK_IMAGE_HEIGHT_EXT 0x806E
+#define GL_TEXTURE_3D_EXT 0x806F
+#define GL_PROXY_TEXTURE_3D_EXT 0x8070
+#define GL_TEXTURE_DEPTH_EXT 0x8071
+#define GL_TEXTURE_WRAP_R_EXT 0x8072
+#define GL_MAX_3D_TEXTURE_SIZE_EXT 0x8073
+
+typedef void (GLAPIENTRY * PFNGLTEXIMAGE3DEXTPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void* pixels);
+
+#define glTexImage3DEXT GLEW_GET_FUN(__glewTexImage3DEXT)
+
+#define GLEW_EXT_texture3D GLEW_GET_VAR(__GLEW_EXT_texture3D)
+
+#endif /* GL_EXT_texture3D */
+
+/* -------------------------- GL_EXT_texture_array ------------------------- */
+
+#ifndef GL_EXT_texture_array
+#define GL_EXT_texture_array 1
+
+#define GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT 0x884E
+#define GL_MAX_ARRAY_TEXTURE_LAYERS_EXT 0x88FF
+#define GL_TEXTURE_1D_ARRAY_EXT 0x8C18
+#define GL_PROXY_TEXTURE_1D_ARRAY_EXT 0x8C19
+#define GL_TEXTURE_2D_ARRAY_EXT 0x8C1A
+#define GL_PROXY_TEXTURE_2D_ARRAY_EXT 0x8C1B
+#define GL_TEXTURE_BINDING_1D_ARRAY_EXT 0x8C1C
+#define GL_TEXTURE_BINDING_2D_ARRAY_EXT 0x8C1D
+
+#define GLEW_EXT_texture_array GLEW_GET_VAR(__GLEW_EXT_texture_array)
+
+#endif /* GL_EXT_texture_array */
+
+/* ---------------------- GL_EXT_texture_buffer_object --------------------- */
+
+#ifndef GL_EXT_texture_buffer_object
+#define GL_EXT_texture_buffer_object 1
+
+#define GL_TEXTURE_BUFFER_EXT 0x8C2A
+#define GL_MAX_TEXTURE_BUFFER_SIZE_EXT 0x8C2B
+#define GL_TEXTURE_BINDING_BUFFER_EXT 0x8C2C
+#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT 0x8C2D
+#define GL_TEXTURE_BUFFER_FORMAT_EXT 0x8C2E
+
+typedef void (GLAPIENTRY * PFNGLTEXBUFFEREXTPROC) (GLenum target, GLenum internalformat, GLuint buffer);
+
+#define glTexBufferEXT GLEW_GET_FUN(__glewTexBufferEXT)
+
+#define GLEW_EXT_texture_buffer_object GLEW_GET_VAR(__GLEW_EXT_texture_buffer_object)
+
+#endif /* GL_EXT_texture_buffer_object */
+
+/* -------------------- GL_EXT_texture_compression_dxt1 -------------------- */
+
+#ifndef GL_EXT_texture_compression_dxt1
+#define GL_EXT_texture_compression_dxt1 1
+
+#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0
+#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1
+
+#define GLEW_EXT_texture_compression_dxt1 GLEW_GET_VAR(__GLEW_EXT_texture_compression_dxt1)
+
+#endif /* GL_EXT_texture_compression_dxt1 */
+
+/* -------------------- GL_EXT_texture_compression_latc -------------------- */
+
+#ifndef GL_EXT_texture_compression_latc
+#define GL_EXT_texture_compression_latc 1
+
+#define GL_COMPRESSED_LUMINANCE_LATC1_EXT 0x8C70
+#define GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT 0x8C71
+#define GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT 0x8C72
+#define GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT 0x8C73
+
+#define GLEW_EXT_texture_compression_latc GLEW_GET_VAR(__GLEW_EXT_texture_compression_latc)
+
+#endif /* GL_EXT_texture_compression_latc */
+
+/* -------------------- GL_EXT_texture_compression_rgtc -------------------- */
+
+#ifndef GL_EXT_texture_compression_rgtc
+#define GL_EXT_texture_compression_rgtc 1
+
+#define GL_COMPRESSED_RED_RGTC1_EXT 0x8DBB
+#define GL_COMPRESSED_SIGNED_RED_RGTC1_EXT 0x8DBC
+#define GL_COMPRESSED_RED_GREEN_RGTC2_EXT 0x8DBD
+#define GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT 0x8DBE
+
+#define GLEW_EXT_texture_compression_rgtc GLEW_GET_VAR(__GLEW_EXT_texture_compression_rgtc)
+
+#endif /* GL_EXT_texture_compression_rgtc */
+
+/* -------------------- GL_EXT_texture_compression_s3tc -------------------- */
+
+#ifndef GL_EXT_texture_compression_s3tc
+#define GL_EXT_texture_compression_s3tc 1
+
+#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0
+#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1
+#define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2
+#define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3
+
+#define GLEW_EXT_texture_compression_s3tc GLEW_GET_VAR(__GLEW_EXT_texture_compression_s3tc)
+
+#endif /* GL_EXT_texture_compression_s3tc */
+
+/* ------------------------ GL_EXT_texture_cube_map ------------------------ */
+
+#ifndef GL_EXT_texture_cube_map
+#define GL_EXT_texture_cube_map 1
+
+#define GL_NORMAL_MAP_EXT 0x8511
+#define GL_REFLECTION_MAP_EXT 0x8512
+#define GL_TEXTURE_CUBE_MAP_EXT 0x8513
+#define GL_TEXTURE_BINDING_CUBE_MAP_EXT 0x8514
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT 0x8515
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT 0x8516
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT 0x8517
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT 0x8518
+#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT 0x8519
+#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT 0x851A
+#define GL_PROXY_TEXTURE_CUBE_MAP_EXT 0x851B
+#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT 0x851C
+
+#define GLEW_EXT_texture_cube_map GLEW_GET_VAR(__GLEW_EXT_texture_cube_map)
+
+#endif /* GL_EXT_texture_cube_map */
+
+/* ----------------------- GL_EXT_texture_edge_clamp ----------------------- */
+
+#ifndef GL_EXT_texture_edge_clamp
+#define GL_EXT_texture_edge_clamp 1
+
+#define GL_CLAMP_TO_EDGE_EXT 0x812F
+
+#define GLEW_EXT_texture_edge_clamp GLEW_GET_VAR(__GLEW_EXT_texture_edge_clamp)
+
+#endif /* GL_EXT_texture_edge_clamp */
+
+/* --------------------------- GL_EXT_texture_env -------------------------- */
+
+#ifndef GL_EXT_texture_env
+#define GL_EXT_texture_env 1
+
+#define GL_TEXTURE_ENV0_EXT 0
+#define GL_ENV_BLEND_EXT 0
+#define GL_TEXTURE_ENV_SHIFT_EXT 0
+#define GL_ENV_REPLACE_EXT 0
+#define GL_ENV_ADD_EXT 0
+#define GL_ENV_SUBTRACT_EXT 0
+#define GL_TEXTURE_ENV_MODE_ALPHA_EXT 0
+#define GL_ENV_REVERSE_SUBTRACT_EXT 0
+#define GL_ENV_REVERSE_BLEND_EXT 0
+#define GL_ENV_COPY_EXT 0
+#define GL_ENV_MODULATE_EXT 0
+
+#define GLEW_EXT_texture_env GLEW_GET_VAR(__GLEW_EXT_texture_env)
+
+#endif /* GL_EXT_texture_env */
+
+/* ------------------------- GL_EXT_texture_env_add ------------------------ */
+
+#ifndef GL_EXT_texture_env_add
+#define GL_EXT_texture_env_add 1
+
+#define GLEW_EXT_texture_env_add GLEW_GET_VAR(__GLEW_EXT_texture_env_add)
+
+#endif /* GL_EXT_texture_env_add */
+
+/* ----------------------- GL_EXT_texture_env_combine ---------------------- */
+
+#ifndef GL_EXT_texture_env_combine
+#define GL_EXT_texture_env_combine 1
+
+#define GL_COMBINE_EXT 0x8570
+#define GL_COMBINE_RGB_EXT 0x8571
+#define GL_COMBINE_ALPHA_EXT 0x8572
+#define GL_RGB_SCALE_EXT 0x8573
+#define GL_ADD_SIGNED_EXT 0x8574
+#define GL_INTERPOLATE_EXT 0x8575
+#define GL_CONSTANT_EXT 0x8576
+#define GL_PRIMARY_COLOR_EXT 0x8577
+#define GL_PREVIOUS_EXT 0x8578
+#define GL_SOURCE0_RGB_EXT 0x8580
+#define GL_SOURCE1_RGB_EXT 0x8581
+#define GL_SOURCE2_RGB_EXT 0x8582
+#define GL_SOURCE0_ALPHA_EXT 0x8588
+#define GL_SOURCE1_ALPHA_EXT 0x8589
+#define GL_SOURCE2_ALPHA_EXT 0x858A
+#define GL_OPERAND0_RGB_EXT 0x8590
+#define GL_OPERAND1_RGB_EXT 0x8591
+#define GL_OPERAND2_RGB_EXT 0x8592
+#define GL_OPERAND0_ALPHA_EXT 0x8598
+#define GL_OPERAND1_ALPHA_EXT 0x8599
+#define GL_OPERAND2_ALPHA_EXT 0x859A
+
+#define GLEW_EXT_texture_env_combine GLEW_GET_VAR(__GLEW_EXT_texture_env_combine)
+
+#endif /* GL_EXT_texture_env_combine */
+
+/* ------------------------ GL_EXT_texture_env_dot3 ------------------------ */
+
+#ifndef GL_EXT_texture_env_dot3
+#define GL_EXT_texture_env_dot3 1
+
+#define GL_DOT3_RGB_EXT 0x8740
+#define GL_DOT3_RGBA_EXT 0x8741
+
+#define GLEW_EXT_texture_env_dot3 GLEW_GET_VAR(__GLEW_EXT_texture_env_dot3)
+
+#endif /* GL_EXT_texture_env_dot3 */
+
+/* ------------------- GL_EXT_texture_filter_anisotropic ------------------- */
+
+#ifndef GL_EXT_texture_filter_anisotropic
+#define GL_EXT_texture_filter_anisotropic 1
+
+#define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE
+#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF
+
+#define GLEW_EXT_texture_filter_anisotropic GLEW_GET_VAR(__GLEW_EXT_texture_filter_anisotropic)
+
+#endif /* GL_EXT_texture_filter_anisotropic */
+
+/* ------------------------- GL_EXT_texture_integer ------------------------ */
+
+#ifndef GL_EXT_texture_integer
+#define GL_EXT_texture_integer 1
+
+#define GL_RGBA32UI_EXT 0x8D70
+#define GL_RGB32UI_EXT 0x8D71
+#define GL_ALPHA32UI_EXT 0x8D72
+#define GL_INTENSITY32UI_EXT 0x8D73
+#define GL_LUMINANCE32UI_EXT 0x8D74
+#define GL_LUMINANCE_ALPHA32UI_EXT 0x8D75
+#define GL_RGBA16UI_EXT 0x8D76
+#define GL_RGB16UI_EXT 0x8D77
+#define GL_ALPHA16UI_EXT 0x8D78
+#define GL_INTENSITY16UI_EXT 0x8D79
+#define GL_LUMINANCE16UI_EXT 0x8D7A
+#define GL_LUMINANCE_ALPHA16UI_EXT 0x8D7B
+#define GL_RGBA8UI_EXT 0x8D7C
+#define GL_RGB8UI_EXT 0x8D7D
+#define GL_ALPHA8UI_EXT 0x8D7E
+#define GL_INTENSITY8UI_EXT 0x8D7F
+#define GL_LUMINANCE8UI_EXT 0x8D80
+#define GL_LUMINANCE_ALPHA8UI_EXT 0x8D81
+#define GL_RGBA32I_EXT 0x8D82
+#define GL_RGB32I_EXT 0x8D83
+#define GL_ALPHA32I_EXT 0x8D84
+#define GL_INTENSITY32I_EXT 0x8D85
+#define GL_LUMINANCE32I_EXT 0x8D86
+#define GL_LUMINANCE_ALPHA32I_EXT 0x8D87
+#define GL_RGBA16I_EXT 0x8D88
+#define GL_RGB16I_EXT 0x8D89
+#define GL_ALPHA16I_EXT 0x8D8A
+#define GL_INTENSITY16I_EXT 0x8D8B
+#define GL_LUMINANCE16I_EXT 0x8D8C
+#define GL_LUMINANCE_ALPHA16I_EXT 0x8D8D
+#define GL_RGBA8I_EXT 0x8D8E
+#define GL_RGB8I_EXT 0x8D8F
+#define GL_ALPHA8I_EXT 0x8D90
+#define GL_INTENSITY8I_EXT 0x8D91
+#define GL_LUMINANCE8I_EXT 0x8D92
+#define GL_LUMINANCE_ALPHA8I_EXT 0x8D93
+#define GL_RED_INTEGER_EXT 0x8D94
+#define GL_GREEN_INTEGER_EXT 0x8D95
+#define GL_BLUE_INTEGER_EXT 0x8D96
+#define GL_ALPHA_INTEGER_EXT 0x8D97
+#define GL_RGB_INTEGER_EXT 0x8D98
+#define GL_RGBA_INTEGER_EXT 0x8D99
+#define GL_BGR_INTEGER_EXT 0x8D9A
+#define GL_BGRA_INTEGER_EXT 0x8D9B
+#define GL_LUMINANCE_INTEGER_EXT 0x8D9C
+#define GL_LUMINANCE_ALPHA_INTEGER_EXT 0x8D9D
+#define GL_RGBA_INTEGER_MODE_EXT 0x8D9E
+
+typedef void (GLAPIENTRY * PFNGLCLEARCOLORIIEXTPROC) (GLint red, GLint green, GLint blue, GLint alpha);
+typedef void (GLAPIENTRY * PFNGLCLEARCOLORIUIEXTPROC) (GLuint red, GLuint green, GLuint blue, GLuint alpha);
+typedef void (GLAPIENTRY * PFNGLGETTEXPARAMETERIIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
+typedef void (GLAPIENTRY * PFNGLGETTEXPARAMETERIUIVEXTPROC) (GLenum target, GLenum pname, GLuint *params);
+typedef void (GLAPIENTRY * PFNGLTEXPARAMETERIIVEXTPROC) (GLenum target, GLenum pname, const GLint *params);
+typedef void (GLAPIENTRY * PFNGLTEXPARAMETERIUIVEXTPROC) (GLenum target, GLenum pname, const GLuint *params);
+
+#define glClearColorIiEXT GLEW_GET_FUN(__glewClearColorIiEXT)
+#define glClearColorIuiEXT GLEW_GET_FUN(__glewClearColorIuiEXT)
+#define glGetTexParameterIivEXT GLEW_GET_FUN(__glewGetTexParameterIivEXT)
+#define glGetTexParameterIuivEXT GLEW_GET_FUN(__glewGetTexParameterIuivEXT)
+#define glTexParameterIivEXT GLEW_GET_FUN(__glewTexParameterIivEXT)
+#define glTexParameterIuivEXT GLEW_GET_FUN(__glewTexParameterIuivEXT)
+
+#define GLEW_EXT_texture_integer GLEW_GET_VAR(__GLEW_EXT_texture_integer)
+
+#endif /* GL_EXT_texture_integer */
+
+/* ------------------------ GL_EXT_texture_lod_bias ------------------------ */
+
+#ifndef GL_EXT_texture_lod_bias
+#define GL_EXT_texture_lod_bias 1
+
+#define GL_MAX_TEXTURE_LOD_BIAS_EXT 0x84FD
+#define GL_TEXTURE_FILTER_CONTROL_EXT 0x8500
+#define GL_TEXTURE_LOD_BIAS_EXT 0x8501
+
+#define GLEW_EXT_texture_lod_bias GLEW_GET_VAR(__GLEW_EXT_texture_lod_bias)
+
+#endif /* GL_EXT_texture_lod_bias */
+
+/* ---------------------- GL_EXT_texture_mirror_clamp ---------------------- */
+
+#ifndef GL_EXT_texture_mirror_clamp
+#define GL_EXT_texture_mirror_clamp 1
+
+#define GL_MIRROR_CLAMP_EXT 0x8742
+#define GL_MIRROR_CLAMP_TO_EDGE_EXT 0x8743
+#define GL_MIRROR_CLAMP_TO_BORDER_EXT 0x8912
+
+#define GLEW_EXT_texture_mirror_clamp GLEW_GET_VAR(__GLEW_EXT_texture_mirror_clamp)
+
+#endif /* GL_EXT_texture_mirror_clamp */
+
+/* ------------------------- GL_EXT_texture_object ------------------------- */
+
+#ifndef GL_EXT_texture_object
+#define GL_EXT_texture_object 1
+
+#define GL_TEXTURE_PRIORITY_EXT 0x8066
+#define GL_TEXTURE_RESIDENT_EXT 0x8067
+#define GL_TEXTURE_1D_BINDING_EXT 0x8068
+#define GL_TEXTURE_2D_BINDING_EXT 0x8069
+#define GL_TEXTURE_3D_BINDING_EXT 0x806A
+
+typedef GLboolean (GLAPIENTRY * PFNGLARETEXTURESRESIDENTEXTPROC) (GLsizei n, const GLuint* textures, GLboolean* residences);
+typedef void (GLAPIENTRY * PFNGLBINDTEXTUREEXTPROC) (GLenum target, GLuint texture);
+typedef void (GLAPIENTRY * PFNGLDELETETEXTURESEXTPROC) (GLsizei n, const GLuint* textures);
+typedef void (GLAPIENTRY * PFNGLGENTEXTURESEXTPROC) (GLsizei n, GLuint* textures);
+typedef GLboolean (GLAPIENTRY * PFNGLISTEXTUREEXTPROC) (GLuint texture);
+typedef void (GLAPIENTRY * PFNGLPRIORITIZETEXTURESEXTPROC) (GLsizei n, const GLuint* textures, const GLclampf* priorities);
+
+#define glAreTexturesResidentEXT GLEW_GET_FUN(__glewAreTexturesResidentEXT)
+#define glBindTextureEXT GLEW_GET_FUN(__glewBindTextureEXT)
+#define glDeleteTexturesEXT GLEW_GET_FUN(__glewDeleteTexturesEXT)
+#define glGenTexturesEXT GLEW_GET_FUN(__glewGenTexturesEXT)
+#define glIsTextureEXT GLEW_GET_FUN(__glewIsTextureEXT)
+#define glPrioritizeTexturesEXT GLEW_GET_FUN(__glewPrioritizeTexturesEXT)
+
+#define GLEW_EXT_texture_object GLEW_GET_VAR(__GLEW_EXT_texture_object)
+
+#endif /* GL_EXT_texture_object */
+
+/* --------------------- GL_EXT_texture_perturb_normal --------------------- */
+
+#ifndef GL_EXT_texture_perturb_normal
+#define GL_EXT_texture_perturb_normal 1
+
+#define GL_PERTURB_EXT 0x85AE
+#define GL_TEXTURE_NORMAL_EXT 0x85AF
+
+typedef void (GLAPIENTRY * PFNGLTEXTURENORMALEXTPROC) (GLenum mode);
+
+#define glTextureNormalEXT GLEW_GET_FUN(__glewTextureNormalEXT)
+
+#define GLEW_EXT_texture_perturb_normal GLEW_GET_VAR(__GLEW_EXT_texture_perturb_normal)
+
+#endif /* GL_EXT_texture_perturb_normal */
+
+/* ------------------------ GL_EXT_texture_rectangle ----------------------- */
+
+#ifndef GL_EXT_texture_rectangle
+#define GL_EXT_texture_rectangle 1
+
+#define GL_TEXTURE_RECTANGLE_EXT 0x84F5
+#define GL_TEXTURE_BINDING_RECTANGLE_EXT 0x84F6
+#define GL_PROXY_TEXTURE_RECTANGLE_EXT 0x84F7
+#define GL_MAX_RECTANGLE_TEXTURE_SIZE_EXT 0x84F8
+
+#define GLEW_EXT_texture_rectangle GLEW_GET_VAR(__GLEW_EXT_texture_rectangle)
+
+#endif /* GL_EXT_texture_rectangle */
+
+/* -------------------------- GL_EXT_texture_sRGB -------------------------- */
+
+#ifndef GL_EXT_texture_sRGB
+#define GL_EXT_texture_sRGB 1
+
+#define GL_SRGB_EXT 0x8C40
+#define GL_SRGB8_EXT 0x8C41
+#define GL_SRGB_ALPHA_EXT 0x8C42
+#define GL_SRGB8_ALPHA8_EXT 0x8C43
+#define GL_SLUMINANCE_ALPHA_EXT 0x8C44
+#define GL_SLUMINANCE8_ALPHA8_EXT 0x8C45
+#define GL_SLUMINANCE_EXT 0x8C46
+#define GL_SLUMINANCE8_EXT 0x8C47
+#define GL_COMPRESSED_SRGB_EXT 0x8C48
+#define GL_COMPRESSED_SRGB_ALPHA_EXT 0x8C49
+#define GL_COMPRESSED_SLUMINANCE_EXT 0x8C4A
+#define GL_COMPRESSED_SLUMINANCE_ALPHA_EXT 0x8C4B
+#define GL_COMPRESSED_SRGB_S3TC_DXT1_EXT 0x8C4C
+#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT 0x8C4D
+#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT 0x8C4E
+#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT 0x8C4F
+
+#define GLEW_EXT_texture_sRGB GLEW_GET_VAR(__GLEW_EXT_texture_sRGB)
+
+#endif /* GL_EXT_texture_sRGB */
+
+/* --------------------- GL_EXT_texture_shared_exponent -------------------- */
+
+#ifndef GL_EXT_texture_shared_exponent
+#define GL_EXT_texture_shared_exponent 1
+
+#define GL_RGB9_E5_EXT 0x8C3D
+#define GL_UNSIGNED_INT_5_9_9_9_REV_EXT 0x8C3E
+#define GL_TEXTURE_SHARED_SIZE_EXT 0x8C3F
+
+#define GLEW_EXT_texture_shared_exponent GLEW_GET_VAR(__GLEW_EXT_texture_shared_exponent)
+
+#endif /* GL_EXT_texture_shared_exponent */
+
+/* -------------------------- GL_EXT_texture_snorm ------------------------- */
+
+#ifndef GL_EXT_texture_snorm
+#define GL_EXT_texture_snorm 1
+
+#define GL_RED_SNORM 0x8F90
+#define GL_RG_SNORM 0x8F91
+#define GL_RGB_SNORM 0x8F92
+#define GL_RGBA_SNORM 0x8F93
+#define GL_R8_SNORM 0x8F94
+#define GL_RG8_SNORM 0x8F95
+#define GL_RGB8_SNORM 0x8F96
+#define GL_RGBA8_SNORM 0x8F97
+#define GL_R16_SNORM 0x8F98
+#define GL_RG16_SNORM 0x8F99
+#define GL_RGB16_SNORM 0x8F9A
+#define GL_RGBA16_SNORM 0x8F9B
+#define GL_SIGNED_NORMALIZED 0x8F9C
+#define GL_ALPHA_SNORM 0x9010
+#define GL_LUMINANCE_SNORM 0x9011
+#define GL_LUMINANCE_ALPHA_SNORM 0x9012
+#define GL_INTENSITY_SNORM 0x9013
+#define GL_ALPHA8_SNORM 0x9014
+#define GL_LUMINANCE8_SNORM 0x9015
+#define GL_LUMINANCE8_ALPHA8_SNORM 0x9016
+#define GL_INTENSITY8_SNORM 0x9017
+#define GL_ALPHA16_SNORM 0x9018
+#define GL_LUMINANCE16_SNORM 0x9019
+#define GL_LUMINANCE16_ALPHA16_SNORM 0x901A
+#define GL_INTENSITY16_SNORM 0x901B
+
+#define GLEW_EXT_texture_snorm GLEW_GET_VAR(__GLEW_EXT_texture_snorm)
+
+#endif /* GL_EXT_texture_snorm */
+
+/* ------------------------- GL_EXT_texture_swizzle ------------------------ */
+
+#ifndef GL_EXT_texture_swizzle
+#define GL_EXT_texture_swizzle 1
+
+#define GL_TEXTURE_SWIZZLE_R_EXT 0x8E42
+#define GL_TEXTURE_SWIZZLE_G_EXT 0x8E43
+#define GL_TEXTURE_SWIZZLE_B_EXT 0x8E44
+#define GL_TEXTURE_SWIZZLE_A_EXT 0x8E45
+#define GL_TEXTURE_SWIZZLE_RGBA_EXT 0x8E46
+
+#define GLEW_EXT_texture_swizzle GLEW_GET_VAR(__GLEW_EXT_texture_swizzle)
+
+#endif /* GL_EXT_texture_swizzle */
+
+/* --------------------------- GL_EXT_timer_query -------------------------- */
+
+#ifndef GL_EXT_timer_query
+#define GL_EXT_timer_query 1
+
+#define GL_TIME_ELAPSED_EXT 0x88BF
+
+typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTI64VEXTPROC) (GLuint id, GLenum pname, GLint64EXT *params);
+typedef void (GLAPIENTRY * PFNGLGETQUERYOBJECTUI64VEXTPROC) (GLuint id, GLenum pname, GLuint64EXT *params);
+
+#define glGetQueryObjecti64vEXT GLEW_GET_FUN(__glewGetQueryObjecti64vEXT)
+#define glGetQueryObjectui64vEXT GLEW_GET_FUN(__glewGetQueryObjectui64vEXT)
+
+#define GLEW_EXT_timer_query GLEW_GET_VAR(__GLEW_EXT_timer_query)
+
+#endif /* GL_EXT_timer_query */
+
+/* ----------------------- GL_EXT_transform_feedback ----------------------- */
+
+#ifndef GL_EXT_transform_feedback
+#define GL_EXT_transform_feedback 1
+
+#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT 0x8C76
+#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT 0x8C7F
+#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT 0x8C80
+#define GL_TRANSFORM_FEEDBACK_VARYINGS_EXT 0x8C83
+#define GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT 0x8C84
+#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT 0x8C85
+#define GL_PRIMITIVES_GENERATED_EXT 0x8C87
+#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT 0x8C88
+#define GL_RASTERIZER_DISCARD_EXT 0x8C89
+#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT 0x8C8A
+#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT 0x8C8B
+#define GL_INTERLEAVED_ATTRIBS_EXT 0x8C8C
+#define GL_SEPARATE_ATTRIBS_EXT 0x8C8D
+#define GL_TRANSFORM_FEEDBACK_BUFFER_EXT 0x8C8E
+#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT 0x8C8F
+
+typedef void (GLAPIENTRY * PFNGLBEGINTRANSFORMFEEDBACKEXTPROC) (GLenum primitiveMode);
+typedef void (GLAPIENTRY * PFNGLBINDBUFFERBASEEXTPROC) (GLenum target, GLuint index, GLuint buffer);
+typedef void (GLAPIENTRY * PFNGLBINDBUFFEROFFSETEXTPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset);
+typedef void (GLAPIENTRY * PFNGLBINDBUFFERRANGEEXTPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
+typedef void (GLAPIENTRY * PFNGLENDTRANSFORMFEEDBACKEXTPROC) (void);
+typedef void (GLAPIENTRY * PFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLsizei *size, GLenum *type, char *name);
+typedef void (GLAPIENTRY * PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC) (GLuint program, GLsizei count, const char ** varyings, GLenum bufferMode);
+
+#define glBeginTransformFeedbackEXT GLEW_GET_FUN(__glewBeginTransformFeedbackEXT)
+#define glBindBufferBaseEXT GLEW_GET_FUN(__glewBindBufferBaseEXT)
+#define glBindBufferOffsetEXT GLEW_GET_FUN(__glewBindBufferOffsetEXT)
+#define glBindBufferRangeEXT GLEW_GET_FUN(__glewBindBufferRangeEXT)
+#define glEndTransformFeedbackEXT GLEW_GET_FUN(__glewEndTransformFeedbackEXT)
+#define glGetTransformFeedbackVaryingEXT GLEW_GET_FUN(__glewGetTransformFeedbackVaryingEXT)
+#define glTransformFeedbackVaryingsEXT GLEW_GET_FUN(__glewTransformFeedbackVaryingsEXT)
+
+#define GLEW_EXT_transform_feedback GLEW_GET_VAR(__GLEW_EXT_transform_feedback)
+
+#endif /* GL_EXT_transform_feedback */
+
+/* -------------------------- GL_EXT_vertex_array -------------------------- */
+
+#ifndef GL_EXT_vertex_array
+#define GL_EXT_vertex_array 1
+
+#define GL_DOUBLE_EXT 0x140A
+#define GL_VERTEX_ARRAY_EXT 0x8074
+#define GL_NORMAL_ARRAY_EXT 0x8075
+#define GL_COLOR_ARRAY_EXT 0x8076
+#define GL_INDEX_ARRAY_EXT 0x8077
+#define GL_TEXTURE_COORD_ARRAY_EXT 0x8078
+#define GL_EDGE_FLAG_ARRAY_EXT 0x8079
+#define GL_VERTEX_ARRAY_SIZE_EXT 0x807A
+#define GL_VERTEX_ARRAY_TYPE_EXT 0x807B
+#define GL_VERTEX_ARRAY_STRIDE_EXT 0x807C
+#define GL_VERTEX_ARRAY_COUNT_EXT 0x807D
+#define GL_NORMAL_ARRAY_TYPE_EXT 0x807E
+#define GL_NORMAL_ARRAY_STRIDE_EXT 0x807F
+#define GL_NORMAL_ARRAY_COUNT_EXT 0x8080
+#define GL_COLOR_ARRAY_SIZE_EXT 0x8081
+#define GL_COLOR_ARRAY_TYPE_EXT 0x8082
+#define GL_COLOR_ARRAY_STRIDE_EXT 0x8083
+#define GL_COLOR_ARRAY_COUNT_EXT 0x8084
+#define GL_INDEX_ARRAY_TYPE_EXT 0x8085
+#define GL_INDEX_ARRAY_STRIDE_EXT 0x8086
+#define GL_INDEX_ARRAY_COUNT_EXT 0x8087
+#define GL_TEXTURE_COORD_ARRAY_SIZE_EXT 0x8088
+#define GL_TEXTURE_COORD_ARRAY_TYPE_EXT 0x8089
+#define GL_TEXTURE_COORD_ARRAY_STRIDE_EXT 0x808A
+#define GL_TEXTURE_COORD_ARRAY_COUNT_EXT 0x808B
+#define GL_EDGE_FLAG_ARRAY_STRIDE_EXT 0x808C
+#define GL_EDGE_FLAG_ARRAY_COUNT_EXT 0x808D
+#define GL_VERTEX_ARRAY_POINTER_EXT 0x808E
+#define GL_NORMAL_ARRAY_POINTER_EXT 0x808F
+#define GL_COLOR_ARRAY_POINTER_EXT 0x8090
+#define GL_INDEX_ARRAY_POINTER_EXT 0x8091
+#define GL_TEXTURE_COORD_ARRAY_POINTER_EXT 0x8092
+#define GL_EDGE_FLAG_ARRAY_POINTER_EXT 0x8093
+
+typedef void (GLAPIENTRY * PFNGLARRAYELEMENTEXTPROC) (GLint i);
+typedef void (GLAPIENTRY * PFNGLCOLORPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const void* pointer);
+typedef void (GLAPIENTRY * PFNGLDRAWARRAYSEXTPROC) (GLenum mode, GLint first, GLsizei count);
+typedef void (GLAPIENTRY * PFNGLEDGEFLAGPOINTEREXTPROC) (GLsizei stride, GLsizei count, const GLboolean* pointer);
+typedef void (GLAPIENTRY * PFNGLGETPOINTERVEXTPROC) (GLenum pname, void** params);
+typedef void (GLAPIENTRY * PFNGLINDEXPOINTEREXTPROC) (GLenum type, GLsizei stride, GLsizei count, const void* pointer);
+typedef void (GLAPIENTRY * PFNGLNORMALPOINTEREXTPROC) (GLenum type, GLsizei stride, GLsizei count, const void* pointer);
+typedef void (GLAPIENTRY * PFNGLTEXCOORDPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const void* pointer);
+typedef void (GLAPIENTRY * PFNGLVERTEXPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const void* pointer);
+
+#define glArrayElementEXT GLEW_GET_FUN(__glewArrayElementEXT)
+#define glColorPointerEXT GLEW_GET_FUN(__glewColorPointerEXT)
+#define glDrawArraysEXT GLEW_GET_FUN(__glewDrawArraysEXT)
+#define glEdgeFlagPointerEXT GLEW_GET_FUN(__glewEdgeFlagPointerEXT)
+#define glGetPointervEXT GLEW_GET_FUN(__glewGetPointervEXT)
+#define glIndexPointerEXT GLEW_GET_FUN(__glewIndexPointerEXT)
+#define glNormalPointerEXT GLEW_GET_FUN(__glewNormalPointerEXT)
+#define glTexCoordPointerEXT GLEW_GET_FUN(__glewTexCoordPointerEXT)
+#define glVertexPointerEXT GLEW_GET_FUN(__glewVertexPointerEXT)
+
+#define GLEW_EXT_vertex_array GLEW_GET_VAR(__GLEW_EXT_vertex_array)
+
+#endif /* GL_EXT_vertex_array */
+
+/* ------------------------ GL_EXT_vertex_array_bgra ----------------------- */
+
+#ifndef GL_EXT_vertex_array_bgra
+#define GL_EXT_vertex_array_bgra 1
+
+#define GL_BGRA 0x80E1
+
+#define GLEW_EXT_vertex_array_bgra GLEW_GET_VAR(__GLEW_EXT_vertex_array_bgra)
+
+#endif /* GL_EXT_vertex_array_bgra */
+
+/* ----------------------- GL_EXT_vertex_attrib_64bit ---------------------- */
+
+#ifndef GL_EXT_vertex_attrib_64bit
+#define GL_EXT_vertex_attrib_64bit 1
+
+#define GL_DOUBLE_MAT2_EXT 0x8F46
+#define GL_DOUBLE_MAT3_EXT 0x8F47
+#define GL_DOUBLE_MAT4_EXT 0x8F48
+#define GL_DOUBLE_VEC2_EXT 0x8FFC
+#define GL_DOUBLE_VEC3_EXT 0x8FFD
+#define GL_DOUBLE_VEC4_EXT 0x8FFE
+
+typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBLDVEXTPROC) (GLuint index, GLenum pname, GLdouble* params);
+typedef void (GLAPIENTRY * PFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL1DEXTPROC) (GLuint index, GLdouble x);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL1DVEXTPROC) (GLuint index, const GLdouble* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL2DEXTPROC) (GLuint index, GLdouble x, GLdouble y);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL2DVEXTPROC) (GLuint index, const GLdouble* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL3DEXTPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL3DVEXTPROC) (GLuint index, const GLdouble* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL4DEXTPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL4DVEXTPROC) (GLuint index, const GLdouble* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBLPOINTEREXTPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const void* pointer);
+
+#define glGetVertexAttribLdvEXT GLEW_GET_FUN(__glewGetVertexAttribLdvEXT)
+#define glVertexArrayVertexAttribLOffsetEXT GLEW_GET_FUN(__glewVertexArrayVertexAttribLOffsetEXT)
+#define glVertexAttribL1dEXT GLEW_GET_FUN(__glewVertexAttribL1dEXT)
+#define glVertexAttribL1dvEXT GLEW_GET_FUN(__glewVertexAttribL1dvEXT)
+#define glVertexAttribL2dEXT GLEW_GET_FUN(__glewVertexAttribL2dEXT)
+#define glVertexAttribL2dvEXT GLEW_GET_FUN(__glewVertexAttribL2dvEXT)
+#define glVertexAttribL3dEXT GLEW_GET_FUN(__glewVertexAttribL3dEXT)
+#define glVertexAttribL3dvEXT GLEW_GET_FUN(__glewVertexAttribL3dvEXT)
+#define glVertexAttribL4dEXT GLEW_GET_FUN(__glewVertexAttribL4dEXT)
+#define glVertexAttribL4dvEXT GLEW_GET_FUN(__glewVertexAttribL4dvEXT)
+#define glVertexAttribLPointerEXT GLEW_GET_FUN(__glewVertexAttribLPointerEXT)
+
+#define GLEW_EXT_vertex_attrib_64bit GLEW_GET_VAR(__GLEW_EXT_vertex_attrib_64bit)
+
+#endif /* GL_EXT_vertex_attrib_64bit */
+
+/* -------------------------- GL_EXT_vertex_shader ------------------------- */
+
+#ifndef GL_EXT_vertex_shader
+#define GL_EXT_vertex_shader 1
+
+#define GL_VERTEX_SHADER_EXT 0x8780
+#define GL_VERTEX_SHADER_BINDING_EXT 0x8781
+#define GL_OP_INDEX_EXT 0x8782
+#define GL_OP_NEGATE_EXT 0x8783
+#define GL_OP_DOT3_EXT 0x8784
+#define GL_OP_DOT4_EXT 0x8785
+#define GL_OP_MUL_EXT 0x8786
+#define GL_OP_ADD_EXT 0x8787
+#define GL_OP_MADD_EXT 0x8788
+#define GL_OP_FRAC_EXT 0x8789
+#define GL_OP_MAX_EXT 0x878A
+#define GL_OP_MIN_EXT 0x878B
+#define GL_OP_SET_GE_EXT 0x878C
+#define GL_OP_SET_LT_EXT 0x878D
+#define GL_OP_CLAMP_EXT 0x878E
+#define GL_OP_FLOOR_EXT 0x878F
+#define GL_OP_ROUND_EXT 0x8790
+#define GL_OP_EXP_BASE_2_EXT 0x8791
+#define GL_OP_LOG_BASE_2_EXT 0x8792
+#define GL_OP_POWER_EXT 0x8793
+#define GL_OP_RECIP_EXT 0x8794
+#define GL_OP_RECIP_SQRT_EXT 0x8795
+#define GL_OP_SUB_EXT 0x8796
+#define GL_OP_CROSS_PRODUCT_EXT 0x8797
+#define GL_OP_MULTIPLY_MATRIX_EXT 0x8798
+#define GL_OP_MOV_EXT 0x8799
+#define GL_OUTPUT_VERTEX_EXT 0x879A
+#define GL_OUTPUT_COLOR0_EXT 0x879B
+#define GL_OUTPUT_COLOR1_EXT 0x879C
+#define GL_OUTPUT_TEXTURE_COORD0_EXT 0x879D
+#define GL_OUTPUT_TEXTURE_COORD1_EXT 0x879E
+#define GL_OUTPUT_TEXTURE_COORD2_EXT 0x879F
+#define GL_OUTPUT_TEXTURE_COORD3_EXT 0x87A0
+#define GL_OUTPUT_TEXTURE_COORD4_EXT 0x87A1
+#define GL_OUTPUT_TEXTURE_COORD5_EXT 0x87A2
+#define GL_OUTPUT_TEXTURE_COORD6_EXT 0x87A3
+#define GL_OUTPUT_TEXTURE_COORD7_EXT 0x87A4
+#define GL_OUTPUT_TEXTURE_COORD8_EXT 0x87A5
+#define GL_OUTPUT_TEXTURE_COORD9_EXT 0x87A6
+#define GL_OUTPUT_TEXTURE_COORD10_EXT 0x87A7
+#define GL_OUTPUT_TEXTURE_COORD11_EXT 0x87A8
+#define GL_OUTPUT_TEXTURE_COORD12_EXT 0x87A9
+#define GL_OUTPUT_TEXTURE_COORD13_EXT 0x87AA
+#define GL_OUTPUT_TEXTURE_COORD14_EXT 0x87AB
+#define GL_OUTPUT_TEXTURE_COORD15_EXT 0x87AC
+#define GL_OUTPUT_TEXTURE_COORD16_EXT 0x87AD
+#define GL_OUTPUT_TEXTURE_COORD17_EXT 0x87AE
+#define GL_OUTPUT_TEXTURE_COORD18_EXT 0x87AF
+#define GL_OUTPUT_TEXTURE_COORD19_EXT 0x87B0
+#define GL_OUTPUT_TEXTURE_COORD20_EXT 0x87B1
+#define GL_OUTPUT_TEXTURE_COORD21_EXT 0x87B2
+#define GL_OUTPUT_TEXTURE_COORD22_EXT 0x87B3
+#define GL_OUTPUT_TEXTURE_COORD23_EXT 0x87B4
+#define GL_OUTPUT_TEXTURE_COORD24_EXT 0x87B5
+#define GL_OUTPUT_TEXTURE_COORD25_EXT 0x87B6
+#define GL_OUTPUT_TEXTURE_COORD26_EXT 0x87B7
+#define GL_OUTPUT_TEXTURE_COORD27_EXT 0x87B8
+#define GL_OUTPUT_TEXTURE_COORD28_EXT 0x87B9
+#define GL_OUTPUT_TEXTURE_COORD29_EXT 0x87BA
+#define GL_OUTPUT_TEXTURE_COORD30_EXT 0x87BB
+#define GL_OUTPUT_TEXTURE_COORD31_EXT 0x87BC
+#define GL_OUTPUT_FOG_EXT 0x87BD
+#define GL_SCALAR_EXT 0x87BE
+#define GL_VECTOR_EXT 0x87BF
+#define GL_MATRIX_EXT 0x87C0
+#define GL_VARIANT_EXT 0x87C1
+#define GL_INVARIANT_EXT 0x87C2
+#define GL_LOCAL_CONSTANT_EXT 0x87C3
+#define GL_LOCAL_EXT 0x87C4
+#define GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87C5
+#define GL_MAX_VERTEX_SHADER_VARIANTS_EXT 0x87C6
+#define GL_MAX_VERTEX_SHADER_INVARIANTS_EXT 0x87C7
+#define GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87C8
+#define GL_MAX_VERTEX_SHADER_LOCALS_EXT 0x87C9
+#define GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87CA
+#define GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT 0x87CB
+#define GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT 0x87CC
+#define GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87CD
+#define GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT 0x87CE
+#define GL_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87CF
+#define GL_VERTEX_SHADER_VARIANTS_EXT 0x87D0
+#define GL_VERTEX_SHADER_INVARIANTS_EXT 0x87D1
+#define GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87D2
+#define GL_VERTEX_SHADER_LOCALS_EXT 0x87D3
+#define GL_VERTEX_SHADER_OPTIMIZED_EXT 0x87D4
+#define GL_X_EXT 0x87D5
+#define GL_Y_EXT 0x87D6
+#define GL_Z_EXT 0x87D7
+#define GL_W_EXT 0x87D8
+#define GL_NEGATIVE_X_EXT 0x87D9
+#define GL_NEGATIVE_Y_EXT 0x87DA
+#define GL_NEGATIVE_Z_EXT 0x87DB
+#define GL_NEGATIVE_W_EXT 0x87DC
+#define GL_ZERO_EXT 0x87DD
+#define GL_ONE_EXT 0x87DE
+#define GL_NEGATIVE_ONE_EXT 0x87DF
+#define GL_NORMALIZED_RANGE_EXT 0x87E0
+#define GL_FULL_RANGE_EXT 0x87E1
+#define GL_CURRENT_VERTEX_EXT 0x87E2
+#define GL_MVP_MATRIX_EXT 0x87E3
+#define GL_VARIANT_VALUE_EXT 0x87E4
+#define GL_VARIANT_DATATYPE_EXT 0x87E5
+#define GL_VARIANT_ARRAY_STRIDE_EXT 0x87E6
+#define GL_VARIANT_ARRAY_TYPE_EXT 0x87E7
+#define GL_VARIANT_ARRAY_EXT 0x87E8
+#define GL_VARIANT_ARRAY_POINTER_EXT 0x87E9
+#define GL_INVARIANT_VALUE_EXT 0x87EA
+#define GL_INVARIANT_DATATYPE_EXT 0x87EB
+#define GL_LOCAL_CONSTANT_VALUE_EXT 0x87EC
+#define GL_LOCAL_CONSTANT_DATATYPE_EXT 0x87ED
+
+typedef void (GLAPIENTRY * PFNGLBEGINVERTEXSHADEREXTPROC) (void);
+typedef GLuint (GLAPIENTRY * PFNGLBINDLIGHTPARAMETEREXTPROC) (GLenum light, GLenum value);
+typedef GLuint (GLAPIENTRY * PFNGLBINDMATERIALPARAMETEREXTPROC) (GLenum face, GLenum value);
+typedef GLuint (GLAPIENTRY * PFNGLBINDPARAMETEREXTPROC) (GLenum value);
+typedef GLuint (GLAPIENTRY * PFNGLBINDTEXGENPARAMETEREXTPROC) (GLenum unit, GLenum coord, GLenum value);
+typedef GLuint (GLAPIENTRY * PFNGLBINDTEXTUREUNITPARAMETEREXTPROC) (GLenum unit, GLenum value);
+typedef void (GLAPIENTRY * PFNGLBINDVERTEXSHADEREXTPROC) (GLuint id);
+typedef void (GLAPIENTRY * PFNGLDELETEVERTEXSHADEREXTPROC) (GLuint id);
+typedef void (GLAPIENTRY * PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC) (GLuint id);
+typedef void (GLAPIENTRY * PFNGLENABLEVARIANTCLIENTSTATEEXTPROC) (GLuint id);
+typedef void (GLAPIENTRY * PFNGLENDVERTEXSHADEREXTPROC) (void);
+typedef void (GLAPIENTRY * PFNGLEXTRACTCOMPONENTEXTPROC) (GLuint res, GLuint src, GLuint num);
+typedef GLuint (GLAPIENTRY * PFNGLGENSYMBOLSEXTPROC) (GLenum dataType, GLenum storageType, GLenum range, GLuint components);
+typedef GLuint (GLAPIENTRY * PFNGLGENVERTEXSHADERSEXTPROC) (GLuint range);
+typedef void (GLAPIENTRY * PFNGLGETINVARIANTBOOLEANVEXTPROC) (GLuint id, GLenum value, GLboolean *data);
+typedef void (GLAPIENTRY * PFNGLGETINVARIANTFLOATVEXTPROC) (GLuint id, GLenum value, GLfloat *data);
+typedef void (GLAPIENTRY * PFNGLGETINVARIANTINTEGERVEXTPROC) (GLuint id, GLenum value, GLint *data);
+typedef void (GLAPIENTRY * PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC) (GLuint id, GLenum value, GLboolean *data);
+typedef void (GLAPIENTRY * PFNGLGETLOCALCONSTANTFLOATVEXTPROC) (GLuint id, GLenum value, GLfloat *data);
+typedef void (GLAPIENTRY * PFNGLGETLOCALCONSTANTINTEGERVEXTPROC) (GLuint id, GLenum value, GLint *data);
+typedef void (GLAPIENTRY * PFNGLGETVARIANTBOOLEANVEXTPROC) (GLuint id, GLenum value, GLboolean *data);
+typedef void (GLAPIENTRY * PFNGLGETVARIANTFLOATVEXTPROC) (GLuint id, GLenum value, GLfloat *data);
+typedef void (GLAPIENTRY * PFNGLGETVARIANTINTEGERVEXTPROC) (GLuint id, GLenum value, GLint *data);
+typedef void (GLAPIENTRY * PFNGLGETVARIANTPOINTERVEXTPROC) (GLuint id, GLenum value, GLvoid **data);
+typedef void (GLAPIENTRY * PFNGLINSERTCOMPONENTEXTPROC) (GLuint res, GLuint src, GLuint num);
+typedef GLboolean (GLAPIENTRY * PFNGLISVARIANTENABLEDEXTPROC) (GLuint id, GLenum cap);
+typedef void (GLAPIENTRY * PFNGLSETINVARIANTEXTPROC) (GLuint id, GLenum type, GLvoid *addr);
+typedef void (GLAPIENTRY * PFNGLSETLOCALCONSTANTEXTPROC) (GLuint id, GLenum type, GLvoid *addr);
+typedef void (GLAPIENTRY * PFNGLSHADEROP1EXTPROC) (GLenum op, GLuint res, GLuint arg1);
+typedef void (GLAPIENTRY * PFNGLSHADEROP2EXTPROC) (GLenum op, GLuint res, GLuint arg1, GLuint arg2);
+typedef void (GLAPIENTRY * PFNGLSHADEROP3EXTPROC) (GLenum op, GLuint res, GLuint arg1, GLuint arg2, GLuint arg3);
+typedef void (GLAPIENTRY * PFNGLSWIZZLEEXTPROC) (GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW);
+typedef void (GLAPIENTRY * PFNGLVARIANTPOINTEREXTPROC) (GLuint id, GLenum type, GLuint stride, GLvoid *addr);
+typedef void (GLAPIENTRY * PFNGLVARIANTBVEXTPROC) (GLuint id, GLbyte *addr);
+typedef void (GLAPIENTRY * PFNGLVARIANTDVEXTPROC) (GLuint id, GLdouble *addr);
+typedef void (GLAPIENTRY * PFNGLVARIANTFVEXTPROC) (GLuint id, GLfloat *addr);
+typedef void (GLAPIENTRY * PFNGLVARIANTIVEXTPROC) (GLuint id, GLint *addr);
+typedef void (GLAPIENTRY * PFNGLVARIANTSVEXTPROC) (GLuint id, GLshort *addr);
+typedef void (GLAPIENTRY * PFNGLVARIANTUBVEXTPROC) (GLuint id, GLubyte *addr);
+typedef void (GLAPIENTRY * PFNGLVARIANTUIVEXTPROC) (GLuint id, GLuint *addr);
+typedef void (GLAPIENTRY * PFNGLVARIANTUSVEXTPROC) (GLuint id, GLushort *addr);
+typedef void (GLAPIENTRY * PFNGLWRITEMASKEXTPROC) (GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW);
+
+#define glBeginVertexShaderEXT GLEW_GET_FUN(__glewBeginVertexShaderEXT)
+#define glBindLightParameterEXT GLEW_GET_FUN(__glewBindLightParameterEXT)
+#define glBindMaterialParameterEXT GLEW_GET_FUN(__glewBindMaterialParameterEXT)
+#define glBindParameterEXT GLEW_GET_FUN(__glewBindParameterEXT)
+#define glBindTexGenParameterEXT GLEW_GET_FUN(__glewBindTexGenParameterEXT)
+#define glBindTextureUnitParameterEXT GLEW_GET_FUN(__glewBindTextureUnitParameterEXT)
+#define glBindVertexShaderEXT GLEW_GET_FUN(__glewBindVertexShaderEXT)
+#define glDeleteVertexShaderEXT GLEW_GET_FUN(__glewDeleteVertexShaderEXT)
+#define glDisableVariantClientStateEXT GLEW_GET_FUN(__glewDisableVariantClientStateEXT)
+#define glEnableVariantClientStateEXT GLEW_GET_FUN(__glewEnableVariantClientStateEXT)
+#define glEndVertexShaderEXT GLEW_GET_FUN(__glewEndVertexShaderEXT)
+#define glExtractComponentEXT GLEW_GET_FUN(__glewExtractComponentEXT)
+#define glGenSymbolsEXT GLEW_GET_FUN(__glewGenSymbolsEXT)
+#define glGenVertexShadersEXT GLEW_GET_FUN(__glewGenVertexShadersEXT)
+#define glGetInvariantBooleanvEXT GLEW_GET_FUN(__glewGetInvariantBooleanvEXT)
+#define glGetInvariantFloatvEXT GLEW_GET_FUN(__glewGetInvariantFloatvEXT)
+#define glGetInvariantIntegervEXT GLEW_GET_FUN(__glewGetInvariantIntegervEXT)
+#define glGetLocalConstantBooleanvEXT GLEW_GET_FUN(__glewGetLocalConstantBooleanvEXT)
+#define glGetLocalConstantFloatvEXT GLEW_GET_FUN(__glewGetLocalConstantFloatvEXT)
+#define glGetLocalConstantIntegervEXT GLEW_GET_FUN(__glewGetLocalConstantIntegervEXT)
+#define glGetVariantBooleanvEXT GLEW_GET_FUN(__glewGetVariantBooleanvEXT)
+#define glGetVariantFloatvEXT GLEW_GET_FUN(__glewGetVariantFloatvEXT)
+#define glGetVariantIntegervEXT GLEW_GET_FUN(__glewGetVariantIntegervEXT)
+#define glGetVariantPointervEXT GLEW_GET_FUN(__glewGetVariantPointervEXT)
+#define glInsertComponentEXT GLEW_GET_FUN(__glewInsertComponentEXT)
+#define glIsVariantEnabledEXT GLEW_GET_FUN(__glewIsVariantEnabledEXT)
+#define glSetInvariantEXT GLEW_GET_FUN(__glewSetInvariantEXT)
+#define glSetLocalConstantEXT GLEW_GET_FUN(__glewSetLocalConstantEXT)
+#define glShaderOp1EXT GLEW_GET_FUN(__glewShaderOp1EXT)
+#define glShaderOp2EXT GLEW_GET_FUN(__glewShaderOp2EXT)
+#define glShaderOp3EXT GLEW_GET_FUN(__glewShaderOp3EXT)
+#define glSwizzleEXT GLEW_GET_FUN(__glewSwizzleEXT)
+#define glVariantPointerEXT GLEW_GET_FUN(__glewVariantPointerEXT)
+#define glVariantbvEXT GLEW_GET_FUN(__glewVariantbvEXT)
+#define glVariantdvEXT GLEW_GET_FUN(__glewVariantdvEXT)
+#define glVariantfvEXT GLEW_GET_FUN(__glewVariantfvEXT)
+#define glVariantivEXT GLEW_GET_FUN(__glewVariantivEXT)
+#define glVariantsvEXT GLEW_GET_FUN(__glewVariantsvEXT)
+#define glVariantubvEXT GLEW_GET_FUN(__glewVariantubvEXT)
+#define glVariantuivEXT GLEW_GET_FUN(__glewVariantuivEXT)
+#define glVariantusvEXT GLEW_GET_FUN(__glewVariantusvEXT)
+#define glWriteMaskEXT GLEW_GET_FUN(__glewWriteMaskEXT)
+
+#define GLEW_EXT_vertex_shader GLEW_GET_VAR(__GLEW_EXT_vertex_shader)
+
+#endif /* GL_EXT_vertex_shader */
+
+/* ------------------------ GL_EXT_vertex_weighting ------------------------ */
+
+#ifndef GL_EXT_vertex_weighting
+#define GL_EXT_vertex_weighting 1
+
+#define GL_MODELVIEW0_STACK_DEPTH_EXT 0x0BA3
+#define GL_MODELVIEW0_MATRIX_EXT 0x0BA6
+#define GL_MODELVIEW0_EXT 0x1700
+#define GL_MODELVIEW1_STACK_DEPTH_EXT 0x8502
+#define GL_MODELVIEW1_MATRIX_EXT 0x8506
+#define GL_VERTEX_WEIGHTING_EXT 0x8509
+#define GL_MODELVIEW1_EXT 0x850A
+#define GL_CURRENT_VERTEX_WEIGHT_EXT 0x850B
+#define GL_VERTEX_WEIGHT_ARRAY_EXT 0x850C
+#define GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT 0x850D
+#define GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT 0x850E
+#define GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT 0x850F
+#define GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT 0x8510
+
+typedef void (GLAPIENTRY * PFNGLVERTEXWEIGHTPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, void* pointer);
+typedef void (GLAPIENTRY * PFNGLVERTEXWEIGHTFEXTPROC) (GLfloat weight);
+typedef void (GLAPIENTRY * PFNGLVERTEXWEIGHTFVEXTPROC) (GLfloat* weight);
+
+#define glVertexWeightPointerEXT GLEW_GET_FUN(__glewVertexWeightPointerEXT)
+#define glVertexWeightfEXT GLEW_GET_FUN(__glewVertexWeightfEXT)
+#define glVertexWeightfvEXT GLEW_GET_FUN(__glewVertexWeightfvEXT)
+
+#define GLEW_EXT_vertex_weighting GLEW_GET_VAR(__GLEW_EXT_vertex_weighting)
+
+#endif /* GL_EXT_vertex_weighting */
+
+/* ---------------------- GL_GREMEDY_frame_terminator ---------------------- */
+
+#ifndef GL_GREMEDY_frame_terminator
+#define GL_GREMEDY_frame_terminator 1
+
+typedef void (GLAPIENTRY * PFNGLFRAMETERMINATORGREMEDYPROC) (void);
+
+#define glFrameTerminatorGREMEDY GLEW_GET_FUN(__glewFrameTerminatorGREMEDY)
+
+#define GLEW_GREMEDY_frame_terminator GLEW_GET_VAR(__GLEW_GREMEDY_frame_terminator)
+
+#endif /* GL_GREMEDY_frame_terminator */
+
+/* ------------------------ GL_GREMEDY_string_marker ----------------------- */
+
+#ifndef GL_GREMEDY_string_marker
+#define GL_GREMEDY_string_marker 1
+
+typedef void (GLAPIENTRY * PFNGLSTRINGMARKERGREMEDYPROC) (GLsizei len, const void* string);
+
+#define glStringMarkerGREMEDY GLEW_GET_FUN(__glewStringMarkerGREMEDY)
+
+#define GLEW_GREMEDY_string_marker GLEW_GET_VAR(__GLEW_GREMEDY_string_marker)
+
+#endif /* GL_GREMEDY_string_marker */
+
+/* --------------------- GL_HP_convolution_border_modes -------------------- */
+
+#ifndef GL_HP_convolution_border_modes
+#define GL_HP_convolution_border_modes 1
+
+#define GLEW_HP_convolution_border_modes GLEW_GET_VAR(__GLEW_HP_convolution_border_modes)
+
+#endif /* GL_HP_convolution_border_modes */
+
+/* ------------------------- GL_HP_image_transform ------------------------- */
+
+#ifndef GL_HP_image_transform
+#define GL_HP_image_transform 1
+
+typedef void (GLAPIENTRY * PFNGLGETIMAGETRANSFORMPARAMETERFVHPPROC) (GLenum target, GLenum pname, const GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLGETIMAGETRANSFORMPARAMETERIVHPPROC) (GLenum target, GLenum pname, const GLint* params);
+typedef void (GLAPIENTRY * PFNGLIMAGETRANSFORMPARAMETERFHPPROC) (GLenum target, GLenum pname, const GLfloat param);
+typedef void (GLAPIENTRY * PFNGLIMAGETRANSFORMPARAMETERFVHPPROC) (GLenum target, GLenum pname, const GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLIMAGETRANSFORMPARAMETERIHPPROC) (GLenum target, GLenum pname, const GLint param);
+typedef void (GLAPIENTRY * PFNGLIMAGETRANSFORMPARAMETERIVHPPROC) (GLenum target, GLenum pname, const GLint* params);
+
+#define glGetImageTransformParameterfvHP GLEW_GET_FUN(__glewGetImageTransformParameterfvHP)
+#define glGetImageTransformParameterivHP GLEW_GET_FUN(__glewGetImageTransformParameterivHP)
+#define glImageTransformParameterfHP GLEW_GET_FUN(__glewImageTransformParameterfHP)
+#define glImageTransformParameterfvHP GLEW_GET_FUN(__glewImageTransformParameterfvHP)
+#define glImageTransformParameteriHP GLEW_GET_FUN(__glewImageTransformParameteriHP)
+#define glImageTransformParameterivHP GLEW_GET_FUN(__glewImageTransformParameterivHP)
+
+#define GLEW_HP_image_transform GLEW_GET_VAR(__GLEW_HP_image_transform)
+
+#endif /* GL_HP_image_transform */
+
+/* -------------------------- GL_HP_occlusion_test ------------------------- */
+
+#ifndef GL_HP_occlusion_test
+#define GL_HP_occlusion_test 1
+
+#define GL_OCCLUSION_TEST_HP 0x8165
+#define GL_OCCLUSION_TEST_RESULT_HP 0x8166
+
+#define GLEW_HP_occlusion_test GLEW_GET_VAR(__GLEW_HP_occlusion_test)
+
+#endif /* GL_HP_occlusion_test */
+
+/* ------------------------- GL_HP_texture_lighting ------------------------ */
+
+#ifndef GL_HP_texture_lighting
+#define GL_HP_texture_lighting 1
+
+#define GLEW_HP_texture_lighting GLEW_GET_VAR(__GLEW_HP_texture_lighting)
+
+#endif /* GL_HP_texture_lighting */
+
+/* --------------------------- GL_IBM_cull_vertex -------------------------- */
+
+#ifndef GL_IBM_cull_vertex
+#define GL_IBM_cull_vertex 1
+
+#define GL_CULL_VERTEX_IBM 103050
+
+#define GLEW_IBM_cull_vertex GLEW_GET_VAR(__GLEW_IBM_cull_vertex)
+
+#endif /* GL_IBM_cull_vertex */
+
+/* ---------------------- GL_IBM_multimode_draw_arrays --------------------- */
+
+#ifndef GL_IBM_multimode_draw_arrays
+#define GL_IBM_multimode_draw_arrays 1
+
+typedef void (GLAPIENTRY * PFNGLMULTIMODEDRAWARRAYSIBMPROC) (const GLenum* mode, const GLint *first, const GLsizei *count, GLsizei primcount, GLint modestride);
+typedef void (GLAPIENTRY * PFNGLMULTIMODEDRAWELEMENTSIBMPROC) (const GLenum* mode, const GLsizei *count, GLenum type, const GLvoid * const *indices, GLsizei primcount, GLint modestride);
+
+#define glMultiModeDrawArraysIBM GLEW_GET_FUN(__glewMultiModeDrawArraysIBM)
+#define glMultiModeDrawElementsIBM GLEW_GET_FUN(__glewMultiModeDrawElementsIBM)
+
+#define GLEW_IBM_multimode_draw_arrays GLEW_GET_VAR(__GLEW_IBM_multimode_draw_arrays)
+
+#endif /* GL_IBM_multimode_draw_arrays */
+
+/* ------------------------- GL_IBM_rasterpos_clip ------------------------- */
+
+#ifndef GL_IBM_rasterpos_clip
+#define GL_IBM_rasterpos_clip 1
+
+#define GL_RASTER_POSITION_UNCLIPPED_IBM 103010
+
+#define GLEW_IBM_rasterpos_clip GLEW_GET_VAR(__GLEW_IBM_rasterpos_clip)
+
+#endif /* GL_IBM_rasterpos_clip */
+
+/* --------------------------- GL_IBM_static_data -------------------------- */
+
+#ifndef GL_IBM_static_data
+#define GL_IBM_static_data 1
+
+#define GL_ALL_STATIC_DATA_IBM 103060
+#define GL_STATIC_VERTEX_ARRAY_IBM 103061
+
+#define GLEW_IBM_static_data GLEW_GET_VAR(__GLEW_IBM_static_data)
+
+#endif /* GL_IBM_static_data */
+
+/* --------------------- GL_IBM_texture_mirrored_repeat -------------------- */
+
+#ifndef GL_IBM_texture_mirrored_repeat
+#define GL_IBM_texture_mirrored_repeat 1
+
+#define GL_MIRRORED_REPEAT_IBM 0x8370
+
+#define GLEW_IBM_texture_mirrored_repeat GLEW_GET_VAR(__GLEW_IBM_texture_mirrored_repeat)
+
+#endif /* GL_IBM_texture_mirrored_repeat */
+
+/* ----------------------- GL_IBM_vertex_array_lists ----------------------- */
+
+#ifndef GL_IBM_vertex_array_lists
+#define GL_IBM_vertex_array_lists 1
+
+#define GL_VERTEX_ARRAY_LIST_IBM 103070
+#define GL_NORMAL_ARRAY_LIST_IBM 103071
+#define GL_COLOR_ARRAY_LIST_IBM 103072
+#define GL_INDEX_ARRAY_LIST_IBM 103073
+#define GL_TEXTURE_COORD_ARRAY_LIST_IBM 103074
+#define GL_EDGE_FLAG_ARRAY_LIST_IBM 103075
+#define GL_FOG_COORDINATE_ARRAY_LIST_IBM 103076
+#define GL_SECONDARY_COLOR_ARRAY_LIST_IBM 103077
+#define GL_VERTEX_ARRAY_LIST_STRIDE_IBM 103080
+#define GL_NORMAL_ARRAY_LIST_STRIDE_IBM 103081
+#define GL_COLOR_ARRAY_LIST_STRIDE_IBM 103082
+#define GL_INDEX_ARRAY_LIST_STRIDE_IBM 103083
+#define GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM 103084
+#define GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM 103085
+#define GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM 103086
+#define GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM 103087
+
+typedef void (GLAPIENTRY * PFNGLCOLORPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const GLvoid ** pointer, GLint ptrstride);
+typedef void (GLAPIENTRY * PFNGLEDGEFLAGPOINTERLISTIBMPROC) (GLint stride, const GLboolean ** pointer, GLint ptrstride);
+typedef void (GLAPIENTRY * PFNGLFOGCOORDPOINTERLISTIBMPROC) (GLenum type, GLint stride, const GLvoid ** pointer, GLint ptrstride);
+typedef void (GLAPIENTRY * PFNGLINDEXPOINTERLISTIBMPROC) (GLenum type, GLint stride, const GLvoid ** pointer, GLint ptrstride);
+typedef void (GLAPIENTRY * PFNGLNORMALPOINTERLISTIBMPROC) (GLenum type, GLint stride, const GLvoid ** pointer, GLint ptrstride);
+typedef void (GLAPIENTRY * PFNGLSECONDARYCOLORPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const GLvoid ** pointer, GLint ptrstride);
+typedef void (GLAPIENTRY * PFNGLTEXCOORDPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const GLvoid ** pointer, GLint ptrstride);
+typedef void (GLAPIENTRY * PFNGLVERTEXPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const GLvoid ** pointer, GLint ptrstride);
+
+#define glColorPointerListIBM GLEW_GET_FUN(__glewColorPointerListIBM)
+#define glEdgeFlagPointerListIBM GLEW_GET_FUN(__glewEdgeFlagPointerListIBM)
+#define glFogCoordPointerListIBM GLEW_GET_FUN(__glewFogCoordPointerListIBM)
+#define glIndexPointerListIBM GLEW_GET_FUN(__glewIndexPointerListIBM)
+#define glNormalPointerListIBM GLEW_GET_FUN(__glewNormalPointerListIBM)
+#define glSecondaryColorPointerListIBM GLEW_GET_FUN(__glewSecondaryColorPointerListIBM)
+#define glTexCoordPointerListIBM GLEW_GET_FUN(__glewTexCoordPointerListIBM)
+#define glVertexPointerListIBM GLEW_GET_FUN(__glewVertexPointerListIBM)
+
+#define GLEW_IBM_vertex_array_lists GLEW_GET_VAR(__GLEW_IBM_vertex_array_lists)
+
+#endif /* GL_IBM_vertex_array_lists */
+
+/* -------------------------- GL_INGR_color_clamp -------------------------- */
+
+#ifndef GL_INGR_color_clamp
+#define GL_INGR_color_clamp 1
+
+#define GL_RED_MIN_CLAMP_INGR 0x8560
+#define GL_GREEN_MIN_CLAMP_INGR 0x8561
+#define GL_BLUE_MIN_CLAMP_INGR 0x8562
+#define GL_ALPHA_MIN_CLAMP_INGR 0x8563
+#define GL_RED_MAX_CLAMP_INGR 0x8564
+#define GL_GREEN_MAX_CLAMP_INGR 0x8565
+#define GL_BLUE_MAX_CLAMP_INGR 0x8566
+#define GL_ALPHA_MAX_CLAMP_INGR 0x8567
+
+#define GLEW_INGR_color_clamp GLEW_GET_VAR(__GLEW_INGR_color_clamp)
+
+#endif /* GL_INGR_color_clamp */
+
+/* ------------------------- GL_INGR_interlace_read ------------------------ */
+
+#ifndef GL_INGR_interlace_read
+#define GL_INGR_interlace_read 1
+
+#define GL_INTERLACE_READ_INGR 0x8568
+
+#define GLEW_INGR_interlace_read GLEW_GET_VAR(__GLEW_INGR_interlace_read)
+
+#endif /* GL_INGR_interlace_read */
+
+/* ------------------------ GL_INTEL_parallel_arrays ----------------------- */
+
+#ifndef GL_INTEL_parallel_arrays
+#define GL_INTEL_parallel_arrays 1
+
+#define GL_PARALLEL_ARRAYS_INTEL 0x83F4
+#define GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL 0x83F5
+#define GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL 0x83F6
+#define GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL 0x83F7
+#define GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL 0x83F8
+
+typedef void (GLAPIENTRY * PFNGLCOLORPOINTERVINTELPROC) (GLint size, GLenum type, const void** pointer);
+typedef void (GLAPIENTRY * PFNGLNORMALPOINTERVINTELPROC) (GLenum type, const void** pointer);
+typedef void (GLAPIENTRY * PFNGLTEXCOORDPOINTERVINTELPROC) (GLint size, GLenum type, const void** pointer);
+typedef void (GLAPIENTRY * PFNGLVERTEXPOINTERVINTELPROC) (GLint size, GLenum type, const void** pointer);
+
+#define glColorPointervINTEL GLEW_GET_FUN(__glewColorPointervINTEL)
+#define glNormalPointervINTEL GLEW_GET_FUN(__glewNormalPointervINTEL)
+#define glTexCoordPointervINTEL GLEW_GET_FUN(__glewTexCoordPointervINTEL)
+#define glVertexPointervINTEL GLEW_GET_FUN(__glewVertexPointervINTEL)
+
+#define GLEW_INTEL_parallel_arrays GLEW_GET_VAR(__GLEW_INTEL_parallel_arrays)
+
+#endif /* GL_INTEL_parallel_arrays */
+
+/* ------------------------ GL_INTEL_texture_scissor ----------------------- */
+
+#ifndef GL_INTEL_texture_scissor
+#define GL_INTEL_texture_scissor 1
+
+typedef void (GLAPIENTRY * PFNGLTEXSCISSORFUNCINTELPROC) (GLenum target, GLenum lfunc, GLenum hfunc);
+typedef void (GLAPIENTRY * PFNGLTEXSCISSORINTELPROC) (GLenum target, GLclampf tlow, GLclampf thigh);
+
+#define glTexScissorFuncINTEL GLEW_GET_FUN(__glewTexScissorFuncINTEL)
+#define glTexScissorINTEL GLEW_GET_FUN(__glewTexScissorINTEL)
+
+#define GLEW_INTEL_texture_scissor GLEW_GET_VAR(__GLEW_INTEL_texture_scissor)
+
+#endif /* GL_INTEL_texture_scissor */
+
+/* -------------------------- GL_KTX_buffer_region ------------------------- */
+
+#ifndef GL_KTX_buffer_region
+#define GL_KTX_buffer_region 1
+
+#define GL_KTX_FRONT_REGION 0x0
+#define GL_KTX_BACK_REGION 0x1
+#define GL_KTX_Z_REGION 0x2
+#define GL_KTX_STENCIL_REGION 0x3
+
+typedef GLuint (GLAPIENTRY * PFNGLBUFFERREGIONENABLEDEXTPROC) (void);
+typedef void (GLAPIENTRY * PFNGLDELETEBUFFERREGIONEXTPROC) (GLenum region);
+typedef void (GLAPIENTRY * PFNGLDRAWBUFFERREGIONEXTPROC) (GLuint region, GLint x, GLint y, GLsizei width, GLsizei height, GLint xDest, GLint yDest);
+typedef GLuint (GLAPIENTRY * PFNGLNEWBUFFERREGIONEXTPROC) (GLenum region);
+typedef void (GLAPIENTRY * PFNGLREADBUFFERREGIONEXTPROC) (GLuint region, GLint x, GLint y, GLsizei width, GLsizei height);
+
+#define glBufferRegionEnabledEXT GLEW_GET_FUN(__glewBufferRegionEnabledEXT)
+#define glDeleteBufferRegionEXT GLEW_GET_FUN(__glewDeleteBufferRegionEXT)
+#define glDrawBufferRegionEXT GLEW_GET_FUN(__glewDrawBufferRegionEXT)
+#define glNewBufferRegionEXT GLEW_GET_FUN(__glewNewBufferRegionEXT)
+#define glReadBufferRegionEXT GLEW_GET_FUN(__glewReadBufferRegionEXT)
+
+#define GLEW_KTX_buffer_region GLEW_GET_VAR(__GLEW_KTX_buffer_region)
+
+#endif /* GL_KTX_buffer_region */
+
+/* ------------------------- GL_MESAX_texture_stack ------------------------ */
+
+#ifndef GL_MESAX_texture_stack
+#define GL_MESAX_texture_stack 1
+
+#define GL_TEXTURE_1D_STACK_MESAX 0x8759
+#define GL_TEXTURE_2D_STACK_MESAX 0x875A
+#define GL_PROXY_TEXTURE_1D_STACK_MESAX 0x875B
+#define GL_PROXY_TEXTURE_2D_STACK_MESAX 0x875C
+#define GL_TEXTURE_1D_STACK_BINDING_MESAX 0x875D
+#define GL_TEXTURE_2D_STACK_BINDING_MESAX 0x875E
+
+#define GLEW_MESAX_texture_stack GLEW_GET_VAR(__GLEW_MESAX_texture_stack)
+
+#endif /* GL_MESAX_texture_stack */
+
+/* -------------------------- GL_MESA_pack_invert -------------------------- */
+
+#ifndef GL_MESA_pack_invert
+#define GL_MESA_pack_invert 1
+
+#define GL_PACK_INVERT_MESA 0x8758
+
+#define GLEW_MESA_pack_invert GLEW_GET_VAR(__GLEW_MESA_pack_invert)
+
+#endif /* GL_MESA_pack_invert */
+
+/* ------------------------- GL_MESA_resize_buffers ------------------------ */
+
+#ifndef GL_MESA_resize_buffers
+#define GL_MESA_resize_buffers 1
+
+typedef void (GLAPIENTRY * PFNGLRESIZEBUFFERSMESAPROC) (void);
+
+#define glResizeBuffersMESA GLEW_GET_FUN(__glewResizeBuffersMESA)
+
+#define GLEW_MESA_resize_buffers GLEW_GET_VAR(__GLEW_MESA_resize_buffers)
+
+#endif /* GL_MESA_resize_buffers */
+
+/* --------------------------- GL_MESA_window_pos -------------------------- */
+
+#ifndef GL_MESA_window_pos
+#define GL_MESA_window_pos 1
+
+typedef void (GLAPIENTRY * PFNGLWINDOWPOS2DMESAPROC) (GLdouble x, GLdouble y);
+typedef void (GLAPIENTRY * PFNGLWINDOWPOS2DVMESAPROC) (const GLdouble* p);
+typedef void (GLAPIENTRY * PFNGLWINDOWPOS2FMESAPROC) (GLfloat x, GLfloat y);
+typedef void (GLAPIENTRY * PFNGLWINDOWPOS2FVMESAPROC) (const GLfloat* p);
+typedef void (GLAPIENTRY * PFNGLWINDOWPOS2IMESAPROC) (GLint x, GLint y);
+typedef void (GLAPIENTRY * PFNGLWINDOWPOS2IVMESAPROC) (const GLint* p);
+typedef void (GLAPIENTRY * PFNGLWINDOWPOS2SMESAPROC) (GLshort x, GLshort y);
+typedef void (GLAPIENTRY * PFNGLWINDOWPOS2SVMESAPROC) (const GLshort* p);
+typedef void (GLAPIENTRY * PFNGLWINDOWPOS3DMESAPROC) (GLdouble x, GLdouble y, GLdouble z);
+typedef void (GLAPIENTRY * PFNGLWINDOWPOS3DVMESAPROC) (const GLdouble* p);
+typedef void (GLAPIENTRY * PFNGLWINDOWPOS3FMESAPROC) (GLfloat x, GLfloat y, GLfloat z);
+typedef void (GLAPIENTRY * PFNGLWINDOWPOS3FVMESAPROC) (const GLfloat* p);
+typedef void (GLAPIENTRY * PFNGLWINDOWPOS3IMESAPROC) (GLint x, GLint y, GLint z);
+typedef void (GLAPIENTRY * PFNGLWINDOWPOS3IVMESAPROC) (const GLint* p);
+typedef void (GLAPIENTRY * PFNGLWINDOWPOS3SMESAPROC) (GLshort x, GLshort y, GLshort z);
+typedef void (GLAPIENTRY * PFNGLWINDOWPOS3SVMESAPROC) (const GLshort* p);
+typedef void (GLAPIENTRY * PFNGLWINDOWPOS4DMESAPROC) (GLdouble x, GLdouble y, GLdouble z, GLdouble);
+typedef void (GLAPIENTRY * PFNGLWINDOWPOS4DVMESAPROC) (const GLdouble* p);
+typedef void (GLAPIENTRY * PFNGLWINDOWPOS4FMESAPROC) (GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+typedef void (GLAPIENTRY * PFNGLWINDOWPOS4FVMESAPROC) (const GLfloat* p);
+typedef void (GLAPIENTRY * PFNGLWINDOWPOS4IMESAPROC) (GLint x, GLint y, GLint z, GLint w);
+typedef void (GLAPIENTRY * PFNGLWINDOWPOS4IVMESAPROC) (const GLint* p);
+typedef void (GLAPIENTRY * PFNGLWINDOWPOS4SMESAPROC) (GLshort x, GLshort y, GLshort z, GLshort w);
+typedef void (GLAPIENTRY * PFNGLWINDOWPOS4SVMESAPROC) (const GLshort* p);
+
+#define glWindowPos2dMESA GLEW_GET_FUN(__glewWindowPos2dMESA)
+#define glWindowPos2dvMESA GLEW_GET_FUN(__glewWindowPos2dvMESA)
+#define glWindowPos2fMESA GLEW_GET_FUN(__glewWindowPos2fMESA)
+#define glWindowPos2fvMESA GLEW_GET_FUN(__glewWindowPos2fvMESA)
+#define glWindowPos2iMESA GLEW_GET_FUN(__glewWindowPos2iMESA)
+#define glWindowPos2ivMESA GLEW_GET_FUN(__glewWindowPos2ivMESA)
+#define glWindowPos2sMESA GLEW_GET_FUN(__glewWindowPos2sMESA)
+#define glWindowPos2svMESA GLEW_GET_FUN(__glewWindowPos2svMESA)
+#define glWindowPos3dMESA GLEW_GET_FUN(__glewWindowPos3dMESA)
+#define glWindowPos3dvMESA GLEW_GET_FUN(__glewWindowPos3dvMESA)
+#define glWindowPos3fMESA GLEW_GET_FUN(__glewWindowPos3fMESA)
+#define glWindowPos3fvMESA GLEW_GET_FUN(__glewWindowPos3fvMESA)
+#define glWindowPos3iMESA GLEW_GET_FUN(__glewWindowPos3iMESA)
+#define glWindowPos3ivMESA GLEW_GET_FUN(__glewWindowPos3ivMESA)
+#define glWindowPos3sMESA GLEW_GET_FUN(__glewWindowPos3sMESA)
+#define glWindowPos3svMESA GLEW_GET_FUN(__glewWindowPos3svMESA)
+#define glWindowPos4dMESA GLEW_GET_FUN(__glewWindowPos4dMESA)
+#define glWindowPos4dvMESA GLEW_GET_FUN(__glewWindowPos4dvMESA)
+#define glWindowPos4fMESA GLEW_GET_FUN(__glewWindowPos4fMESA)
+#define glWindowPos4fvMESA GLEW_GET_FUN(__glewWindowPos4fvMESA)
+#define glWindowPos4iMESA GLEW_GET_FUN(__glewWindowPos4iMESA)
+#define glWindowPos4ivMESA GLEW_GET_FUN(__glewWindowPos4ivMESA)
+#define glWindowPos4sMESA GLEW_GET_FUN(__glewWindowPos4sMESA)
+#define glWindowPos4svMESA GLEW_GET_FUN(__glewWindowPos4svMESA)
+
+#define GLEW_MESA_window_pos GLEW_GET_VAR(__GLEW_MESA_window_pos)
+
+#endif /* GL_MESA_window_pos */
+
+/* ------------------------- GL_MESA_ycbcr_texture ------------------------- */
+
+#ifndef GL_MESA_ycbcr_texture
+#define GL_MESA_ycbcr_texture 1
+
+#define GL_UNSIGNED_SHORT_8_8_MESA 0x85BA
+#define GL_UNSIGNED_SHORT_8_8_REV_MESA 0x85BB
+#define GL_YCBCR_MESA 0x8757
+
+#define GLEW_MESA_ycbcr_texture GLEW_GET_VAR(__GLEW_MESA_ycbcr_texture)
+
+#endif /* GL_MESA_ycbcr_texture */
+
+/* --------------------------- GL_NV_blend_square -------------------------- */
+
+#ifndef GL_NV_blend_square
+#define GL_NV_blend_square 1
+
+#define GLEW_NV_blend_square GLEW_GET_VAR(__GLEW_NV_blend_square)
+
+#endif /* GL_NV_blend_square */
+
+/* ------------------------ GL_NV_conditional_render ----------------------- */
+
+#ifndef GL_NV_conditional_render
+#define GL_NV_conditional_render 1
+
+#define GL_QUERY_WAIT_NV 0x8E13
+#define GL_QUERY_NO_WAIT_NV 0x8E14
+#define GL_QUERY_BY_REGION_WAIT_NV 0x8E15
+#define GL_QUERY_BY_REGION_NO_WAIT_NV 0x8E16
+
+typedef void (GLAPIENTRY * PFNGLBEGINCONDITIONALRENDERNVPROC) (GLuint id, GLenum mode);
+typedef void (GLAPIENTRY * PFNGLENDCONDITIONALRENDERNVPROC) (void);
+
+#define glBeginConditionalRenderNV GLEW_GET_FUN(__glewBeginConditionalRenderNV)
+#define glEndConditionalRenderNV GLEW_GET_FUN(__glewEndConditionalRenderNV)
+
+#define GLEW_NV_conditional_render GLEW_GET_VAR(__GLEW_NV_conditional_render)
+
+#endif /* GL_NV_conditional_render */
+
+/* ----------------------- GL_NV_copy_depth_to_color ----------------------- */
+
+#ifndef GL_NV_copy_depth_to_color
+#define GL_NV_copy_depth_to_color 1
+
+#define GL_DEPTH_STENCIL_TO_RGBA_NV 0x886E
+#define GL_DEPTH_STENCIL_TO_BGRA_NV 0x886F
+
+#define GLEW_NV_copy_depth_to_color GLEW_GET_VAR(__GLEW_NV_copy_depth_to_color)
+
+#endif /* GL_NV_copy_depth_to_color */
+
+/* ---------------------------- GL_NV_copy_image --------------------------- */
+
+#ifndef GL_NV_copy_image
+#define GL_NV_copy_image 1
+
+typedef void (GLAPIENTRY * PFNGLCOPYIMAGESUBDATANVPROC) (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);
+
+#define glCopyImageSubDataNV GLEW_GET_FUN(__glewCopyImageSubDataNV)
+
+#define GLEW_NV_copy_image GLEW_GET_VAR(__GLEW_NV_copy_image)
+
+#endif /* GL_NV_copy_image */
+
+/* ------------------------ GL_NV_depth_buffer_float ----------------------- */
+
+#ifndef GL_NV_depth_buffer_float
+#define GL_NV_depth_buffer_float 1
+
+#define GL_DEPTH_COMPONENT32F_NV 0x8DAB
+#define GL_DEPTH32F_STENCIL8_NV 0x8DAC
+#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV 0x8DAD
+#define GL_DEPTH_BUFFER_FLOAT_MODE_NV 0x8DAF
+
+typedef void (GLAPIENTRY * PFNGLCLEARDEPTHDNVPROC) (GLdouble depth);
+typedef void (GLAPIENTRY * PFNGLDEPTHBOUNDSDNVPROC) (GLdouble zmin, GLdouble zmax);
+typedef void (GLAPIENTRY * PFNGLDEPTHRANGEDNVPROC) (GLdouble zNear, GLdouble zFar);
+
+#define glClearDepthdNV GLEW_GET_FUN(__glewClearDepthdNV)
+#define glDepthBoundsdNV GLEW_GET_FUN(__glewDepthBoundsdNV)
+#define glDepthRangedNV GLEW_GET_FUN(__glewDepthRangedNV)
+
+#define GLEW_NV_depth_buffer_float GLEW_GET_VAR(__GLEW_NV_depth_buffer_float)
+
+#endif /* GL_NV_depth_buffer_float */
+
+/* --------------------------- GL_NV_depth_clamp --------------------------- */
+
+#ifndef GL_NV_depth_clamp
+#define GL_NV_depth_clamp 1
+
+#define GL_DEPTH_CLAMP_NV 0x864F
+
+#define GLEW_NV_depth_clamp GLEW_GET_VAR(__GLEW_NV_depth_clamp)
+
+#endif /* GL_NV_depth_clamp */
+
+/* ---------------------- GL_NV_depth_range_unclamped ---------------------- */
+
+#ifndef GL_NV_depth_range_unclamped
+#define GL_NV_depth_range_unclamped 1
+
+#define GL_SAMPLE_COUNT_BITS_NV 0x8864
+#define GL_CURRENT_SAMPLE_COUNT_QUERY_NV 0x8865
+#define GL_QUERY_RESULT_NV 0x8866
+#define GL_QUERY_RESULT_AVAILABLE_NV 0x8867
+#define GL_SAMPLE_COUNT_NV 0x8914
+
+#define GLEW_NV_depth_range_unclamped GLEW_GET_VAR(__GLEW_NV_depth_range_unclamped)
+
+#endif /* GL_NV_depth_range_unclamped */
+
+/* ---------------------------- GL_NV_evaluators --------------------------- */
+
+#ifndef GL_NV_evaluators
+#define GL_NV_evaluators 1
+
+#define GL_EVAL_2D_NV 0x86C0
+#define GL_EVAL_TRIANGULAR_2D_NV 0x86C1
+#define GL_MAP_TESSELLATION_NV 0x86C2
+#define GL_MAP_ATTRIB_U_ORDER_NV 0x86C3
+#define GL_MAP_ATTRIB_V_ORDER_NV 0x86C4
+#define GL_EVAL_FRACTIONAL_TESSELLATION_NV 0x86C5
+#define GL_EVAL_VERTEX_ATTRIB0_NV 0x86C6
+#define GL_EVAL_VERTEX_ATTRIB1_NV 0x86C7
+#define GL_EVAL_VERTEX_ATTRIB2_NV 0x86C8
+#define GL_EVAL_VERTEX_ATTRIB3_NV 0x86C9
+#define GL_EVAL_VERTEX_ATTRIB4_NV 0x86CA
+#define GL_EVAL_VERTEX_ATTRIB5_NV 0x86CB
+#define GL_EVAL_VERTEX_ATTRIB6_NV 0x86CC
+#define GL_EVAL_VERTEX_ATTRIB7_NV 0x86CD
+#define GL_EVAL_VERTEX_ATTRIB8_NV 0x86CE
+#define GL_EVAL_VERTEX_ATTRIB9_NV 0x86CF
+#define GL_EVAL_VERTEX_ATTRIB10_NV 0x86D0
+#define GL_EVAL_VERTEX_ATTRIB11_NV 0x86D1
+#define GL_EVAL_VERTEX_ATTRIB12_NV 0x86D2
+#define GL_EVAL_VERTEX_ATTRIB13_NV 0x86D3
+#define GL_EVAL_VERTEX_ATTRIB14_NV 0x86D4
+#define GL_EVAL_VERTEX_ATTRIB15_NV 0x86D5
+#define GL_MAX_MAP_TESSELLATION_NV 0x86D6
+#define GL_MAX_RATIONAL_EVAL_ORDER_NV 0x86D7
+
+typedef void (GLAPIENTRY * PFNGLEVALMAPSNVPROC) (GLenum target, GLenum mode);
+typedef void (GLAPIENTRY * PFNGLGETMAPATTRIBPARAMETERFVNVPROC) (GLenum target, GLuint index, GLenum pname, GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLGETMAPATTRIBPARAMETERIVNVPROC) (GLenum target, GLuint index, GLenum pname, GLint* params);
+typedef void (GLAPIENTRY * PFNGLGETMAPCONTROLPOINTSNVPROC) (GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLboolean packed, void* points);
+typedef void (GLAPIENTRY * PFNGLGETMAPPARAMETERFVNVPROC) (GLenum target, GLenum pname, GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLGETMAPPARAMETERIVNVPROC) (GLenum target, GLenum pname, GLint* params);
+typedef void (GLAPIENTRY * PFNGLMAPCONTROLPOINTSNVPROC) (GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLint uorder, GLint vorder, GLboolean packed, const void* points);
+typedef void (GLAPIENTRY * PFNGLMAPPARAMETERFVNVPROC) (GLenum target, GLenum pname, const GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLMAPPARAMETERIVNVPROC) (GLenum target, GLenum pname, const GLint* params);
+
+#define glEvalMapsNV GLEW_GET_FUN(__glewEvalMapsNV)
+#define glGetMapAttribParameterfvNV GLEW_GET_FUN(__glewGetMapAttribParameterfvNV)
+#define glGetMapAttribParameterivNV GLEW_GET_FUN(__glewGetMapAttribParameterivNV)
+#define glGetMapControlPointsNV GLEW_GET_FUN(__glewGetMapControlPointsNV)
+#define glGetMapParameterfvNV GLEW_GET_FUN(__glewGetMapParameterfvNV)
+#define glGetMapParameterivNV GLEW_GET_FUN(__glewGetMapParameterivNV)
+#define glMapControlPointsNV GLEW_GET_FUN(__glewMapControlPointsNV)
+#define glMapParameterfvNV GLEW_GET_FUN(__glewMapParameterfvNV)
+#define glMapParameterivNV GLEW_GET_FUN(__glewMapParameterivNV)
+
+#define GLEW_NV_evaluators GLEW_GET_VAR(__GLEW_NV_evaluators)
+
+#endif /* GL_NV_evaluators */
+
+/* ----------------------- GL_NV_explicit_multisample ---------------------- */
+
+#ifndef GL_NV_explicit_multisample
+#define GL_NV_explicit_multisample 1
+
+#define GL_SAMPLE_POSITION_NV 0x8E50
+#define GL_SAMPLE_MASK_NV 0x8E51
+#define GL_SAMPLE_MASK_VALUE_NV 0x8E52
+#define GL_TEXTURE_BINDING_RENDERBUFFER_NV 0x8E53
+#define GL_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV 0x8E54
+#define GL_TEXTURE_RENDERBUFFER_NV 0x8E55
+#define GL_SAMPLER_RENDERBUFFER_NV 0x8E56
+#define GL_INT_SAMPLER_RENDERBUFFER_NV 0x8E57
+#define GL_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV 0x8E58
+#define GL_MAX_SAMPLE_MASK_WORDS_NV 0x8E59
+
+typedef void (GLAPIENTRY * PFNGLGETMULTISAMPLEFVNVPROC) (GLenum pname, GLuint index, GLfloat* val);
+typedef void (GLAPIENTRY * PFNGLSAMPLEMASKINDEXEDNVPROC) (GLuint index, GLbitfield mask);
+typedef void (GLAPIENTRY * PFNGLTEXRENDERBUFFERNVPROC) (GLenum target, GLuint renderbuffer);
+
+#define glGetMultisamplefvNV GLEW_GET_FUN(__glewGetMultisamplefvNV)
+#define glSampleMaskIndexedNV GLEW_GET_FUN(__glewSampleMaskIndexedNV)
+#define glTexRenderbufferNV GLEW_GET_FUN(__glewTexRenderbufferNV)
+
+#define GLEW_NV_explicit_multisample GLEW_GET_VAR(__GLEW_NV_explicit_multisample)
+
+#endif /* GL_NV_explicit_multisample */
+
+/* ------------------------------ GL_NV_fence ------------------------------ */
+
+#ifndef GL_NV_fence
+#define GL_NV_fence 1
+
+#define GL_ALL_COMPLETED_NV 0x84F2
+#define GL_FENCE_STATUS_NV 0x84F3
+#define GL_FENCE_CONDITION_NV 0x84F4
+
+typedef void (GLAPIENTRY * PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint* fences);
+typedef void (GLAPIENTRY * PFNGLFINISHFENCENVPROC) (GLuint fence);
+typedef void (GLAPIENTRY * PFNGLGENFENCESNVPROC) (GLsizei n, GLuint* fences);
+typedef void (GLAPIENTRY * PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint* params);
+typedef GLboolean (GLAPIENTRY * PFNGLISFENCENVPROC) (GLuint fence);
+typedef void (GLAPIENTRY * PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition);
+typedef GLboolean (GLAPIENTRY * PFNGLTESTFENCENVPROC) (GLuint fence);
+
+#define glDeleteFencesNV GLEW_GET_FUN(__glewDeleteFencesNV)
+#define glFinishFenceNV GLEW_GET_FUN(__glewFinishFenceNV)
+#define glGenFencesNV GLEW_GET_FUN(__glewGenFencesNV)
+#define glGetFenceivNV GLEW_GET_FUN(__glewGetFenceivNV)
+#define glIsFenceNV GLEW_GET_FUN(__glewIsFenceNV)
+#define glSetFenceNV GLEW_GET_FUN(__glewSetFenceNV)
+#define glTestFenceNV GLEW_GET_FUN(__glewTestFenceNV)
+
+#define GLEW_NV_fence GLEW_GET_VAR(__GLEW_NV_fence)
+
+#endif /* GL_NV_fence */
+
+/* --------------------------- GL_NV_float_buffer -------------------------- */
+
+#ifndef GL_NV_float_buffer
+#define GL_NV_float_buffer 1
+
+#define GL_FLOAT_R_NV 0x8880
+#define GL_FLOAT_RG_NV 0x8881
+#define GL_FLOAT_RGB_NV 0x8882
+#define GL_FLOAT_RGBA_NV 0x8883
+#define GL_FLOAT_R16_NV 0x8884
+#define GL_FLOAT_R32_NV 0x8885
+#define GL_FLOAT_RG16_NV 0x8886
+#define GL_FLOAT_RG32_NV 0x8887
+#define GL_FLOAT_RGB16_NV 0x8888
+#define GL_FLOAT_RGB32_NV 0x8889
+#define GL_FLOAT_RGBA16_NV 0x888A
+#define GL_FLOAT_RGBA32_NV 0x888B
+#define GL_TEXTURE_FLOAT_COMPONENTS_NV 0x888C
+#define GL_FLOAT_CLEAR_COLOR_VALUE_NV 0x888D
+#define GL_FLOAT_RGBA_MODE_NV 0x888E
+
+#define GLEW_NV_float_buffer GLEW_GET_VAR(__GLEW_NV_float_buffer)
+
+#endif /* GL_NV_float_buffer */
+
+/* --------------------------- GL_NV_fog_distance -------------------------- */
+
+#ifndef GL_NV_fog_distance
+#define GL_NV_fog_distance 1
+
+#define GL_FOG_DISTANCE_MODE_NV 0x855A
+#define GL_EYE_RADIAL_NV 0x855B
+#define GL_EYE_PLANE_ABSOLUTE_NV 0x855C
+
+#define GLEW_NV_fog_distance GLEW_GET_VAR(__GLEW_NV_fog_distance)
+
+#endif /* GL_NV_fog_distance */
+
+/* ------------------------- GL_NV_fragment_program ------------------------ */
+
+#ifndef GL_NV_fragment_program
+#define GL_NV_fragment_program 1
+
+#define GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV 0x8868
+#define GL_FRAGMENT_PROGRAM_NV 0x8870
+#define GL_MAX_TEXTURE_COORDS_NV 0x8871
+#define GL_MAX_TEXTURE_IMAGE_UNITS_NV 0x8872
+#define GL_FRAGMENT_PROGRAM_BINDING_NV 0x8873
+#define GL_PROGRAM_ERROR_STRING_NV 0x8874
+
+typedef void (GLAPIENTRY * PFNGLGETPROGRAMNAMEDPARAMETERDVNVPROC) (GLuint id, GLsizei len, const GLubyte* name, GLdouble *params);
+typedef void (GLAPIENTRY * PFNGLGETPROGRAMNAMEDPARAMETERFVNVPROC) (GLuint id, GLsizei len, const GLubyte* name, GLfloat *params);
+typedef void (GLAPIENTRY * PFNGLPROGRAMNAMEDPARAMETER4DNVPROC) (GLuint id, GLsizei len, const GLubyte* name, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+typedef void (GLAPIENTRY * PFNGLPROGRAMNAMEDPARAMETER4DVNVPROC) (GLuint id, GLsizei len, const GLubyte* name, const GLdouble v[]);
+typedef void (GLAPIENTRY * PFNGLPROGRAMNAMEDPARAMETER4FNVPROC) (GLuint id, GLsizei len, const GLubyte* name, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+typedef void (GLAPIENTRY * PFNGLPROGRAMNAMEDPARAMETER4FVNVPROC) (GLuint id, GLsizei len, const GLubyte* name, const GLfloat v[]);
+
+#define glGetProgramNamedParameterdvNV GLEW_GET_FUN(__glewGetProgramNamedParameterdvNV)
+#define glGetProgramNamedParameterfvNV GLEW_GET_FUN(__glewGetProgramNamedParameterfvNV)
+#define glProgramNamedParameter4dNV GLEW_GET_FUN(__glewProgramNamedParameter4dNV)
+#define glProgramNamedParameter4dvNV GLEW_GET_FUN(__glewProgramNamedParameter4dvNV)
+#define glProgramNamedParameter4fNV GLEW_GET_FUN(__glewProgramNamedParameter4fNV)
+#define glProgramNamedParameter4fvNV GLEW_GET_FUN(__glewProgramNamedParameter4fvNV)
+
+#define GLEW_NV_fragment_program GLEW_GET_VAR(__GLEW_NV_fragment_program)
+
+#endif /* GL_NV_fragment_program */
+
+/* ------------------------ GL_NV_fragment_program2 ------------------------ */
+
+#ifndef GL_NV_fragment_program2
+#define GL_NV_fragment_program2 1
+
+#define GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV 0x88F4
+#define GL_MAX_PROGRAM_CALL_DEPTH_NV 0x88F5
+#define GL_MAX_PROGRAM_IF_DEPTH_NV 0x88F6
+#define GL_MAX_PROGRAM_LOOP_DEPTH_NV 0x88F7
+#define GL_MAX_PROGRAM_LOOP_COUNT_NV 0x88F8
+
+#define GLEW_NV_fragment_program2 GLEW_GET_VAR(__GLEW_NV_fragment_program2)
+
+#endif /* GL_NV_fragment_program2 */
+
+/* ------------------------ GL_NV_fragment_program4 ------------------------ */
+
+#ifndef GL_NV_fragment_program4
+#define GL_NV_fragment_program4 1
+
+#define GLEW_NV_fragment_program4 GLEW_GET_VAR(__GLEW_NV_fragment_program4)
+
+#endif /* GL_NV_fragment_program4 */
+
+/* --------------------- GL_NV_fragment_program_option --------------------- */
+
+#ifndef GL_NV_fragment_program_option
+#define GL_NV_fragment_program_option 1
+
+#define GLEW_NV_fragment_program_option GLEW_GET_VAR(__GLEW_NV_fragment_program_option)
+
+#endif /* GL_NV_fragment_program_option */
+
+/* ----------------- GL_NV_framebuffer_multisample_coverage ---------------- */
+
+#ifndef GL_NV_framebuffer_multisample_coverage
+#define GL_NV_framebuffer_multisample_coverage 1
+
+#define GL_RENDERBUFFER_COVERAGE_SAMPLES_NV 0x8CAB
+#define GL_RENDERBUFFER_COLOR_SAMPLES_NV 0x8E10
+#define GL_MAX_MULTISAMPLE_COVERAGE_MODES_NV 0x8E11
+#define GL_MULTISAMPLE_COVERAGE_MODES_NV 0x8E12
+
+typedef void (GLAPIENTRY * PFNGLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENVPROC) (GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height);
+
+#define glRenderbufferStorageMultisampleCoverageNV GLEW_GET_FUN(__glewRenderbufferStorageMultisampleCoverageNV)
+
+#define GLEW_NV_framebuffer_multisample_coverage GLEW_GET_VAR(__GLEW_NV_framebuffer_multisample_coverage)
+
+#endif /* GL_NV_framebuffer_multisample_coverage */
+
+/* ------------------------ GL_NV_geometry_program4 ------------------------ */
+
+#ifndef GL_NV_geometry_program4
+#define GL_NV_geometry_program4 1
+
+#define GL_GEOMETRY_PROGRAM_NV 0x8C26
+#define GL_MAX_PROGRAM_OUTPUT_VERTICES_NV 0x8C27
+#define GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV 0x8C28
+
+typedef void (GLAPIENTRY * PFNGLPROGRAMVERTEXLIMITNVPROC) (GLenum target, GLint limit);
+
+#define glProgramVertexLimitNV GLEW_GET_FUN(__glewProgramVertexLimitNV)
+
+#define GLEW_NV_geometry_program4 GLEW_GET_VAR(__GLEW_NV_geometry_program4)
+
+#endif /* GL_NV_geometry_program4 */
+
+/* ------------------------- GL_NV_geometry_shader4 ------------------------ */
+
+#ifndef GL_NV_geometry_shader4
+#define GL_NV_geometry_shader4 1
+
+#define GLEW_NV_geometry_shader4 GLEW_GET_VAR(__GLEW_NV_geometry_shader4)
+
+#endif /* GL_NV_geometry_shader4 */
+
+/* --------------------------- GL_NV_gpu_program4 -------------------------- */
+
+#ifndef GL_NV_gpu_program4
+#define GL_NV_gpu_program4 1
+
+#define GL_MIN_PROGRAM_TEXEL_OFFSET_NV 0x8904
+#define GL_MAX_PROGRAM_TEXEL_OFFSET_NV 0x8905
+#define GL_PROGRAM_ATTRIB_COMPONENTS_NV 0x8906
+#define GL_PROGRAM_RESULT_COMPONENTS_NV 0x8907
+#define GL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV 0x8908
+#define GL_MAX_PROGRAM_RESULT_COMPONENTS_NV 0x8909
+#define GL_MAX_PROGRAM_GENERIC_ATTRIBS_NV 0x8DA5
+#define GL_MAX_PROGRAM_GENERIC_RESULTS_NV 0x8DA6
+
+typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETERI4INVPROC) (GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);
+typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETERI4IVNVPROC) (GLenum target, GLuint index, const GLint *params);
+typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETERI4UINVPROC) (GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
+typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETERI4UIVNVPROC) (GLenum target, GLuint index, const GLuint *params);
+typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETERSI4IVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLint *params);
+typedef void (GLAPIENTRY * PFNGLPROGRAMENVPARAMETERSI4UIVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLuint *params);
+typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETERI4INVPROC) (GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);
+typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETERI4IVNVPROC) (GLenum target, GLuint index, const GLint *params);
+typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETERI4UINVPROC) (GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
+typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETERI4UIVNVPROC) (GLenum target, GLuint index, const GLuint *params);
+typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETERSI4IVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLint *params);
+typedef void (GLAPIENTRY * PFNGLPROGRAMLOCALPARAMETERSI4UIVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLuint *params);
+
+#define glProgramEnvParameterI4iNV GLEW_GET_FUN(__glewProgramEnvParameterI4iNV)
+#define glProgramEnvParameterI4ivNV GLEW_GET_FUN(__glewProgramEnvParameterI4ivNV)
+#define glProgramEnvParameterI4uiNV GLEW_GET_FUN(__glewProgramEnvParameterI4uiNV)
+#define glProgramEnvParameterI4uivNV GLEW_GET_FUN(__glewProgramEnvParameterI4uivNV)
+#define glProgramEnvParametersI4ivNV GLEW_GET_FUN(__glewProgramEnvParametersI4ivNV)
+#define glProgramEnvParametersI4uivNV GLEW_GET_FUN(__glewProgramEnvParametersI4uivNV)
+#define glProgramLocalParameterI4iNV GLEW_GET_FUN(__glewProgramLocalParameterI4iNV)
+#define glProgramLocalParameterI4ivNV GLEW_GET_FUN(__glewProgramLocalParameterI4ivNV)
+#define glProgramLocalParameterI4uiNV GLEW_GET_FUN(__glewProgramLocalParameterI4uiNV)
+#define glProgramLocalParameterI4uivNV GLEW_GET_FUN(__glewProgramLocalParameterI4uivNV)
+#define glProgramLocalParametersI4ivNV GLEW_GET_FUN(__glewProgramLocalParametersI4ivNV)
+#define glProgramLocalParametersI4uivNV GLEW_GET_FUN(__glewProgramLocalParametersI4uivNV)
+
+#define GLEW_NV_gpu_program4 GLEW_GET_VAR(__GLEW_NV_gpu_program4)
+
+#endif /* GL_NV_gpu_program4 */
+
+/* --------------------------- GL_NV_gpu_program5 -------------------------- */
+
+#ifndef GL_NV_gpu_program5
+#define GL_NV_gpu_program5 1
+
+#define GL_MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV 0x8E5A
+#define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_NV 0x8E5B
+#define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_NV 0x8E5C
+#define GL_FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV 0x8E5D
+
+#define GLEW_NV_gpu_program5 GLEW_GET_VAR(__GLEW_NV_gpu_program5)
+
+#endif /* GL_NV_gpu_program5 */
+
+/* ------------------------- GL_NV_gpu_program_fp64 ------------------------ */
+
+#ifndef GL_NV_gpu_program_fp64
+#define GL_NV_gpu_program_fp64 1
+
+#define GLEW_NV_gpu_program_fp64 GLEW_GET_VAR(__GLEW_NV_gpu_program_fp64)
+
+#endif /* GL_NV_gpu_program_fp64 */
+
+/* --------------------------- GL_NV_gpu_shader5 --------------------------- */
+
+#ifndef GL_NV_gpu_shader5
+#define GL_NV_gpu_shader5 1
+
+#define GL_INT64_NV 0x140E
+#define GL_UNSIGNED_INT64_NV 0x140F
+#define GL_INT8_NV 0x8FE0
+#define GL_INT8_VEC2_NV 0x8FE1
+#define GL_INT8_VEC3_NV 0x8FE2
+#define GL_INT8_VEC4_NV 0x8FE3
+#define GL_INT16_NV 0x8FE4
+#define GL_INT16_VEC2_NV 0x8FE5
+#define GL_INT16_VEC3_NV 0x8FE6
+#define GL_INT16_VEC4_NV 0x8FE7
+#define GL_INT64_VEC2_NV 0x8FE9
+#define GL_INT64_VEC3_NV 0x8FEA
+#define GL_INT64_VEC4_NV 0x8FEB
+#define GL_UNSIGNED_INT8_NV 0x8FEC
+#define GL_UNSIGNED_INT8_VEC2_NV 0x8FED
+#define GL_UNSIGNED_INT8_VEC3_NV 0x8FEE
+#define GL_UNSIGNED_INT8_VEC4_NV 0x8FEF
+#define GL_UNSIGNED_INT16_NV 0x8FF0
+#define GL_UNSIGNED_INT16_VEC2_NV 0x8FF1
+#define GL_UNSIGNED_INT16_VEC3_NV 0x8FF2
+#define GL_UNSIGNED_INT16_VEC4_NV 0x8FF3
+#define GL_UNSIGNED_INT64_VEC2_NV 0x8FF5
+#define GL_UNSIGNED_INT64_VEC3_NV 0x8FF6
+#define GL_UNSIGNED_INT64_VEC4_NV 0x8FF7
+#define GL_FLOAT16_NV 0x8FF8
+#define GL_FLOAT16_VEC2_NV 0x8FF9
+#define GL_FLOAT16_VEC3_NV 0x8FFA
+#define GL_FLOAT16_VEC4_NV 0x8FFB
+
+typedef void (GLAPIENTRY * PFNGLGETUNIFORMI64VNVPROC) (GLuint program, GLint location, GLint64EXT* params);
+typedef void (GLAPIENTRY * PFNGLGETUNIFORMUI64VNVPROC) (GLuint program, GLint location, GLuint64EXT* params);
+typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1I64NVPROC) (GLuint program, GLint location, GLint64EXT x);
+typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT* value);
+typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x);
+typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT* value);
+typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y);
+typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT* value);
+typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y);
+typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM2UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT* value);
+typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);
+typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT* value);
+typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);
+typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM3UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT* value);
+typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);
+typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT* value);
+typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);
+typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM4UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT* value);
+typedef void (GLAPIENTRY * PFNGLUNIFORM1I64NVPROC) (GLint location, GLint64EXT x);
+typedef void (GLAPIENTRY * PFNGLUNIFORM1I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT* value);
+typedef void (GLAPIENTRY * PFNGLUNIFORM1UI64NVPROC) (GLint location, GLuint64EXT x);
+typedef void (GLAPIENTRY * PFNGLUNIFORM1UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT* value);
+typedef void (GLAPIENTRY * PFNGLUNIFORM2I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y);
+typedef void (GLAPIENTRY * PFNGLUNIFORM2I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT* value);
+typedef void (GLAPIENTRY * PFNGLUNIFORM2UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y);
+typedef void (GLAPIENTRY * PFNGLUNIFORM2UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT* value);
+typedef void (GLAPIENTRY * PFNGLUNIFORM3I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z);
+typedef void (GLAPIENTRY * PFNGLUNIFORM3I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT* value);
+typedef void (GLAPIENTRY * PFNGLUNIFORM3UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);
+typedef void (GLAPIENTRY * PFNGLUNIFORM3UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT* value);
+typedef void (GLAPIENTRY * PFNGLUNIFORM4I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);
+typedef void (GLAPIENTRY * PFNGLUNIFORM4I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT* value);
+typedef void (GLAPIENTRY * PFNGLUNIFORM4UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);
+typedef void (GLAPIENTRY * PFNGLUNIFORM4UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT* value);
+
+#define glGetUniformi64vNV GLEW_GET_FUN(__glewGetUniformi64vNV)
+#define glGetUniformui64vNV GLEW_GET_FUN(__glewGetUniformui64vNV)
+#define glProgramUniform1i64NV GLEW_GET_FUN(__glewProgramUniform1i64NV)
+#define glProgramUniform1i64vNV GLEW_GET_FUN(__glewProgramUniform1i64vNV)
+#define glProgramUniform1ui64NV GLEW_GET_FUN(__glewProgramUniform1ui64NV)
+#define glProgramUniform1ui64vNV GLEW_GET_FUN(__glewProgramUniform1ui64vNV)
+#define glProgramUniform2i64NV GLEW_GET_FUN(__glewProgramUniform2i64NV)
+#define glProgramUniform2i64vNV GLEW_GET_FUN(__glewProgramUniform2i64vNV)
+#define glProgramUniform2ui64NV GLEW_GET_FUN(__glewProgramUniform2ui64NV)
+#define glProgramUniform2ui64vNV GLEW_GET_FUN(__glewProgramUniform2ui64vNV)
+#define glProgramUniform3i64NV GLEW_GET_FUN(__glewProgramUniform3i64NV)
+#define glProgramUniform3i64vNV GLEW_GET_FUN(__glewProgramUniform3i64vNV)
+#define glProgramUniform3ui64NV GLEW_GET_FUN(__glewProgramUniform3ui64NV)
+#define glProgramUniform3ui64vNV GLEW_GET_FUN(__glewProgramUniform3ui64vNV)
+#define glProgramUniform4i64NV GLEW_GET_FUN(__glewProgramUniform4i64NV)
+#define glProgramUniform4i64vNV GLEW_GET_FUN(__glewProgramUniform4i64vNV)
+#define glProgramUniform4ui64NV GLEW_GET_FUN(__glewProgramUniform4ui64NV)
+#define glProgramUniform4ui64vNV GLEW_GET_FUN(__glewProgramUniform4ui64vNV)
+#define glUniform1i64NV GLEW_GET_FUN(__glewUniform1i64NV)
+#define glUniform1i64vNV GLEW_GET_FUN(__glewUniform1i64vNV)
+#define glUniform1ui64NV GLEW_GET_FUN(__glewUniform1ui64NV)
+#define glUniform1ui64vNV GLEW_GET_FUN(__glewUniform1ui64vNV)
+#define glUniform2i64NV GLEW_GET_FUN(__glewUniform2i64NV)
+#define glUniform2i64vNV GLEW_GET_FUN(__glewUniform2i64vNV)
+#define glUniform2ui64NV GLEW_GET_FUN(__glewUniform2ui64NV)
+#define glUniform2ui64vNV GLEW_GET_FUN(__glewUniform2ui64vNV)
+#define glUniform3i64NV GLEW_GET_FUN(__glewUniform3i64NV)
+#define glUniform3i64vNV GLEW_GET_FUN(__glewUniform3i64vNV)
+#define glUniform3ui64NV GLEW_GET_FUN(__glewUniform3ui64NV)
+#define glUniform3ui64vNV GLEW_GET_FUN(__glewUniform3ui64vNV)
+#define glUniform4i64NV GLEW_GET_FUN(__glewUniform4i64NV)
+#define glUniform4i64vNV GLEW_GET_FUN(__glewUniform4i64vNV)
+#define glUniform4ui64NV GLEW_GET_FUN(__glewUniform4ui64NV)
+#define glUniform4ui64vNV GLEW_GET_FUN(__glewUniform4ui64vNV)
+
+#define GLEW_NV_gpu_shader5 GLEW_GET_VAR(__GLEW_NV_gpu_shader5)
+
+#endif /* GL_NV_gpu_shader5 */
+
+/* ---------------------------- GL_NV_half_float --------------------------- */
+
+#ifndef GL_NV_half_float
+#define GL_NV_half_float 1
+
+#define GL_HALF_FLOAT_NV 0x140B
+
+typedef unsigned short GLhalf;
+
+typedef void (GLAPIENTRY * PFNGLCOLOR3HNVPROC) (GLhalf red, GLhalf green, GLhalf blue);
+typedef void (GLAPIENTRY * PFNGLCOLOR3HVNVPROC) (const GLhalf* v);
+typedef void (GLAPIENTRY * PFNGLCOLOR4HNVPROC) (GLhalf red, GLhalf green, GLhalf blue, GLhalf alpha);
+typedef void (GLAPIENTRY * PFNGLCOLOR4HVNVPROC) (const GLhalf* v);
+typedef void (GLAPIENTRY * PFNGLFOGCOORDHNVPROC) (GLhalf fog);
+typedef void (GLAPIENTRY * PFNGLFOGCOORDHVNVPROC) (const GLhalf* fog);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1HNVPROC) (GLenum target, GLhalf s);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD1HVNVPROC) (GLenum target, const GLhalf* v);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2HNVPROC) (GLenum target, GLhalf s, GLhalf t);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD2HVNVPROC) (GLenum target, const GLhalf* v);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3HNVPROC) (GLenum target, GLhalf s, GLhalf t, GLhalf r);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD3HVNVPROC) (GLenum target, const GLhalf* v);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4HNVPROC) (GLenum target, GLhalf s, GLhalf t, GLhalf r, GLhalf q);
+typedef void (GLAPIENTRY * PFNGLMULTITEXCOORD4HVNVPROC) (GLenum target, const GLhalf* v);
+typedef void (GLAPIENTRY * PFNGLNORMAL3HNVPROC) (GLhalf nx, GLhalf ny, GLhalf nz);
+typedef void (GLAPIENTRY * PFNGLNORMAL3HVNVPROC) (const GLhalf* v);
+typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3HNVPROC) (GLhalf red, GLhalf green, GLhalf blue);
+typedef void (GLAPIENTRY * PFNGLSECONDARYCOLOR3HVNVPROC) (const GLhalf* v);
+typedef void (GLAPIENTRY * PFNGLTEXCOORD1HNVPROC) (GLhalf s);
+typedef void (GLAPIENTRY * PFNGLTEXCOORD1HVNVPROC) (const GLhalf* v);
+typedef void (GLAPIENTRY * PFNGLTEXCOORD2HNVPROC) (GLhalf s, GLhalf t);
+typedef void (GLAPIENTRY * PFNGLTEXCOORD2HVNVPROC) (const GLhalf* v);
+typedef void (GLAPIENTRY * PFNGLTEXCOORD3HNVPROC) (GLhalf s, GLhalf t, GLhalf r);
+typedef void (GLAPIENTRY * PFNGLTEXCOORD3HVNVPROC) (const GLhalf* v);
+typedef void (GLAPIENTRY * PFNGLTEXCOORD4HNVPROC) (GLhalf s, GLhalf t, GLhalf r, GLhalf q);
+typedef void (GLAPIENTRY * PFNGLTEXCOORD4HVNVPROC) (const GLhalf* v);
+typedef void (GLAPIENTRY * PFNGLVERTEX2HNVPROC) (GLhalf x, GLhalf y);
+typedef void (GLAPIENTRY * PFNGLVERTEX2HVNVPROC) (const GLhalf* v);
+typedef void (GLAPIENTRY * PFNGLVERTEX3HNVPROC) (GLhalf x, GLhalf y, GLhalf z);
+typedef void (GLAPIENTRY * PFNGLVERTEX3HVNVPROC) (const GLhalf* v);
+typedef void (GLAPIENTRY * PFNGLVERTEX4HNVPROC) (GLhalf x, GLhalf y, GLhalf z, GLhalf w);
+typedef void (GLAPIENTRY * PFNGLVERTEX4HVNVPROC) (const GLhalf* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1HNVPROC) (GLuint index, GLhalf x);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1HVNVPROC) (GLuint index, const GLhalf* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2HNVPROC) (GLuint index, GLhalf x, GLhalf y);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2HVNVPROC) (GLuint index, const GLhalf* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3HNVPROC) (GLuint index, GLhalf x, GLhalf y, GLhalf z);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3HVNVPROC) (GLuint index, const GLhalf* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4HNVPROC) (GLuint index, GLhalf x, GLhalf y, GLhalf z, GLhalf w);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4HVNVPROC) (GLuint index, const GLhalf* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS1HVNVPROC) (GLuint index, GLsizei n, const GLhalf* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS2HVNVPROC) (GLuint index, GLsizei n, const GLhalf* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS3HVNVPROC) (GLuint index, GLsizei n, const GLhalf* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS4HVNVPROC) (GLuint index, GLsizei n, const GLhalf* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXWEIGHTHNVPROC) (GLhalf weight);
+typedef void (GLAPIENTRY * PFNGLVERTEXWEIGHTHVNVPROC) (const GLhalf* weight);
+
+#define glColor3hNV GLEW_GET_FUN(__glewColor3hNV)
+#define glColor3hvNV GLEW_GET_FUN(__glewColor3hvNV)
+#define glColor4hNV GLEW_GET_FUN(__glewColor4hNV)
+#define glColor4hvNV GLEW_GET_FUN(__glewColor4hvNV)
+#define glFogCoordhNV GLEW_GET_FUN(__glewFogCoordhNV)
+#define glFogCoordhvNV GLEW_GET_FUN(__glewFogCoordhvNV)
+#define glMultiTexCoord1hNV GLEW_GET_FUN(__glewMultiTexCoord1hNV)
+#define glMultiTexCoord1hvNV GLEW_GET_FUN(__glewMultiTexCoord1hvNV)
+#define glMultiTexCoord2hNV GLEW_GET_FUN(__glewMultiTexCoord2hNV)
+#define glMultiTexCoord2hvNV GLEW_GET_FUN(__glewMultiTexCoord2hvNV)
+#define glMultiTexCoord3hNV GLEW_GET_FUN(__glewMultiTexCoord3hNV)
+#define glMultiTexCoord3hvNV GLEW_GET_FUN(__glewMultiTexCoord3hvNV)
+#define glMultiTexCoord4hNV GLEW_GET_FUN(__glewMultiTexCoord4hNV)
+#define glMultiTexCoord4hvNV GLEW_GET_FUN(__glewMultiTexCoord4hvNV)
+#define glNormal3hNV GLEW_GET_FUN(__glewNormal3hNV)
+#define glNormal3hvNV GLEW_GET_FUN(__glewNormal3hvNV)
+#define glSecondaryColor3hNV GLEW_GET_FUN(__glewSecondaryColor3hNV)
+#define glSecondaryColor3hvNV GLEW_GET_FUN(__glewSecondaryColor3hvNV)
+#define glTexCoord1hNV GLEW_GET_FUN(__glewTexCoord1hNV)
+#define glTexCoord1hvNV GLEW_GET_FUN(__glewTexCoord1hvNV)
+#define glTexCoord2hNV GLEW_GET_FUN(__glewTexCoord2hNV)
+#define glTexCoord2hvNV GLEW_GET_FUN(__glewTexCoord2hvNV)
+#define glTexCoord3hNV GLEW_GET_FUN(__glewTexCoord3hNV)
+#define glTexCoord3hvNV GLEW_GET_FUN(__glewTexCoord3hvNV)
+#define glTexCoord4hNV GLEW_GET_FUN(__glewTexCoord4hNV)
+#define glTexCoord4hvNV GLEW_GET_FUN(__glewTexCoord4hvNV)
+#define glVertex2hNV GLEW_GET_FUN(__glewVertex2hNV)
+#define glVertex2hvNV GLEW_GET_FUN(__glewVertex2hvNV)
+#define glVertex3hNV GLEW_GET_FUN(__glewVertex3hNV)
+#define glVertex3hvNV GLEW_GET_FUN(__glewVertex3hvNV)
+#define glVertex4hNV GLEW_GET_FUN(__glewVertex4hNV)
+#define glVertex4hvNV GLEW_GET_FUN(__glewVertex4hvNV)
+#define glVertexAttrib1hNV GLEW_GET_FUN(__glewVertexAttrib1hNV)
+#define glVertexAttrib1hvNV GLEW_GET_FUN(__glewVertexAttrib1hvNV)
+#define glVertexAttrib2hNV GLEW_GET_FUN(__glewVertexAttrib2hNV)
+#define glVertexAttrib2hvNV GLEW_GET_FUN(__glewVertexAttrib2hvNV)
+#define glVertexAttrib3hNV GLEW_GET_FUN(__glewVertexAttrib3hNV)
+#define glVertexAttrib3hvNV GLEW_GET_FUN(__glewVertexAttrib3hvNV)
+#define glVertexAttrib4hNV GLEW_GET_FUN(__glewVertexAttrib4hNV)
+#define glVertexAttrib4hvNV GLEW_GET_FUN(__glewVertexAttrib4hvNV)
+#define glVertexAttribs1hvNV GLEW_GET_FUN(__glewVertexAttribs1hvNV)
+#define glVertexAttribs2hvNV GLEW_GET_FUN(__glewVertexAttribs2hvNV)
+#define glVertexAttribs3hvNV GLEW_GET_FUN(__glewVertexAttribs3hvNV)
+#define glVertexAttribs4hvNV GLEW_GET_FUN(__glewVertexAttribs4hvNV)
+#define glVertexWeighthNV GLEW_GET_FUN(__glewVertexWeighthNV)
+#define glVertexWeighthvNV GLEW_GET_FUN(__glewVertexWeighthvNV)
+
+#define GLEW_NV_half_float GLEW_GET_VAR(__GLEW_NV_half_float)
+
+#endif /* GL_NV_half_float */
+
+/* ------------------------ GL_NV_light_max_exponent ----------------------- */
+
+#ifndef GL_NV_light_max_exponent
+#define GL_NV_light_max_exponent 1
+
+#define GL_MAX_SHININESS_NV 0x8504
+#define GL_MAX_SPOT_EXPONENT_NV 0x8505
+
+#define GLEW_NV_light_max_exponent GLEW_GET_VAR(__GLEW_NV_light_max_exponent)
+
+#endif /* GL_NV_light_max_exponent */
+
+/* --------------------- GL_NV_multisample_filter_hint --------------------- */
+
+#ifndef GL_NV_multisample_filter_hint
+#define GL_NV_multisample_filter_hint 1
+
+#define GL_MULTISAMPLE_FILTER_HINT_NV 0x8534
+
+#define GLEW_NV_multisample_filter_hint GLEW_GET_VAR(__GLEW_NV_multisample_filter_hint)
+
+#endif /* GL_NV_multisample_filter_hint */
+
+/* ------------------------- GL_NV_occlusion_query ------------------------- */
+
+#ifndef GL_NV_occlusion_query
+#define GL_NV_occlusion_query 1
+
+#define GL_PIXEL_COUNTER_BITS_NV 0x8864
+#define GL_CURRENT_OCCLUSION_QUERY_ID_NV 0x8865
+#define GL_PIXEL_COUNT_NV 0x8866
+#define GL_PIXEL_COUNT_AVAILABLE_NV 0x8867
+
+typedef void (GLAPIENTRY * PFNGLBEGINOCCLUSIONQUERYNVPROC) (GLuint id);
+typedef void (GLAPIENTRY * PFNGLDELETEOCCLUSIONQUERIESNVPROC) (GLsizei n, const GLuint* ids);
+typedef void (GLAPIENTRY * PFNGLENDOCCLUSIONQUERYNVPROC) (void);
+typedef void (GLAPIENTRY * PFNGLGENOCCLUSIONQUERIESNVPROC) (GLsizei n, GLuint* ids);
+typedef void (GLAPIENTRY * PFNGLGETOCCLUSIONQUERYIVNVPROC) (GLuint id, GLenum pname, GLint* params);
+typedef void (GLAPIENTRY * PFNGLGETOCCLUSIONQUERYUIVNVPROC) (GLuint id, GLenum pname, GLuint* params);
+typedef GLboolean (GLAPIENTRY * PFNGLISOCCLUSIONQUERYNVPROC) (GLuint id);
+
+#define glBeginOcclusionQueryNV GLEW_GET_FUN(__glewBeginOcclusionQueryNV)
+#define glDeleteOcclusionQueriesNV GLEW_GET_FUN(__glewDeleteOcclusionQueriesNV)
+#define glEndOcclusionQueryNV GLEW_GET_FUN(__glewEndOcclusionQueryNV)
+#define glGenOcclusionQueriesNV GLEW_GET_FUN(__glewGenOcclusionQueriesNV)
+#define glGetOcclusionQueryivNV GLEW_GET_FUN(__glewGetOcclusionQueryivNV)
+#define glGetOcclusionQueryuivNV GLEW_GET_FUN(__glewGetOcclusionQueryuivNV)
+#define glIsOcclusionQueryNV GLEW_GET_FUN(__glewIsOcclusionQueryNV)
+
+#define GLEW_NV_occlusion_query GLEW_GET_VAR(__GLEW_NV_occlusion_query)
+
+#endif /* GL_NV_occlusion_query */
+
+/* ----------------------- GL_NV_packed_depth_stencil ---------------------- */
+
+#ifndef GL_NV_packed_depth_stencil
+#define GL_NV_packed_depth_stencil 1
+
+#define GL_DEPTH_STENCIL_NV 0x84F9
+#define GL_UNSIGNED_INT_24_8_NV 0x84FA
+
+#define GLEW_NV_packed_depth_stencil GLEW_GET_VAR(__GLEW_NV_packed_depth_stencil)
+
+#endif /* GL_NV_packed_depth_stencil */
+
+/* --------------------- GL_NV_parameter_buffer_object --------------------- */
+
+#ifndef GL_NV_parameter_buffer_object
+#define GL_NV_parameter_buffer_object 1
+
+#define GL_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV 0x8DA0
+#define GL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV 0x8DA1
+#define GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV 0x8DA2
+#define GL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV 0x8DA3
+#define GL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV 0x8DA4
+
+typedef void (GLAPIENTRY * PFNGLPROGRAMBUFFERPARAMETERSIIVNVPROC) (GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLint *params);
+typedef void (GLAPIENTRY * PFNGLPROGRAMBUFFERPARAMETERSIUIVNVPROC) (GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLuint *params);
+typedef void (GLAPIENTRY * PFNGLPROGRAMBUFFERPARAMETERSFVNVPROC) (GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLfloat *params);
+
+#define glProgramBufferParametersIivNV GLEW_GET_FUN(__glewProgramBufferParametersIivNV)
+#define glProgramBufferParametersIuivNV GLEW_GET_FUN(__glewProgramBufferParametersIuivNV)
+#define glProgramBufferParametersfvNV GLEW_GET_FUN(__glewProgramBufferParametersfvNV)
+
+#define GLEW_NV_parameter_buffer_object GLEW_GET_VAR(__GLEW_NV_parameter_buffer_object)
+
+#endif /* GL_NV_parameter_buffer_object */
+
+/* --------------------- GL_NV_parameter_buffer_object2 -------------------- */
+
+#ifndef GL_NV_parameter_buffer_object2
+#define GL_NV_parameter_buffer_object2 1
+
+#define GLEW_NV_parameter_buffer_object2 GLEW_GET_VAR(__GLEW_NV_parameter_buffer_object2)
+
+#endif /* GL_NV_parameter_buffer_object2 */
+
+/* ------------------------- GL_NV_pixel_data_range ------------------------ */
+
+#ifndef GL_NV_pixel_data_range
+#define GL_NV_pixel_data_range 1
+
+#define GL_WRITE_PIXEL_DATA_RANGE_NV 0x8878
+#define GL_READ_PIXEL_DATA_RANGE_NV 0x8879
+#define GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV 0x887A
+#define GL_READ_PIXEL_DATA_RANGE_LENGTH_NV 0x887B
+#define GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV 0x887C
+#define GL_READ_PIXEL_DATA_RANGE_POINTER_NV 0x887D
+
+typedef void (GLAPIENTRY * PFNGLFLUSHPIXELDATARANGENVPROC) (GLenum target);
+typedef void (GLAPIENTRY * PFNGLPIXELDATARANGENVPROC) (GLenum target, GLsizei length, void* pointer);
+
+#define glFlushPixelDataRangeNV GLEW_GET_FUN(__glewFlushPixelDataRangeNV)
+#define glPixelDataRangeNV GLEW_GET_FUN(__glewPixelDataRangeNV)
+
+#define GLEW_NV_pixel_data_range GLEW_GET_VAR(__GLEW_NV_pixel_data_range)
+
+#endif /* GL_NV_pixel_data_range */
+
+/* --------------------------- GL_NV_point_sprite -------------------------- */
+
+#ifndef GL_NV_point_sprite
+#define GL_NV_point_sprite 1
+
+#define GL_POINT_SPRITE_NV 0x8861
+#define GL_COORD_REPLACE_NV 0x8862
+#define GL_POINT_SPRITE_R_MODE_NV 0x8863
+
+typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERINVPROC) (GLenum pname, GLint param);
+typedef void (GLAPIENTRY * PFNGLPOINTPARAMETERIVNVPROC) (GLenum pname, const GLint* params);
+
+#define glPointParameteriNV GLEW_GET_FUN(__glewPointParameteriNV)
+#define glPointParameterivNV GLEW_GET_FUN(__glewPointParameterivNV)
+
+#define GLEW_NV_point_sprite GLEW_GET_VAR(__GLEW_NV_point_sprite)
+
+#endif /* GL_NV_point_sprite */
+
+/* -------------------------- GL_NV_present_video -------------------------- */
+
+#ifndef GL_NV_present_video
+#define GL_NV_present_video 1
+
+#define GL_FRAME_NV 0x8E26
+#define GL_FIELDS_NV 0x8E27
+#define GL_CURRENT_TIME_NV 0x8E28
+#define GL_NUM_FILL_STREAMS_NV 0x8E29
+#define GL_PRESENT_TIME_NV 0x8E2A
+#define GL_PRESENT_DURATION_NV 0x8E2B
+
+typedef void (GLAPIENTRY * PFNGLGETVIDEOI64VNVPROC) (GLuint video_slot, GLenum pname, GLint64EXT* params);
+typedef void (GLAPIENTRY * PFNGLGETVIDEOIVNVPROC) (GLuint video_slot, GLenum pname, GLint* params);
+typedef void (GLAPIENTRY * PFNGLGETVIDEOUI64VNVPROC) (GLuint video_slot, GLenum pname, GLuint64EXT* params);
+typedef void (GLAPIENTRY * PFNGLGETVIDEOUIVNVPROC) (GLuint video_slot, GLenum pname, GLuint* params);
+typedef void (GLAPIENTRY * PFNGLPRESENTFRAMEDUALFILLNVPROC) (GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLenum target1, GLuint fill1, GLenum target2, GLuint fill2, GLenum target3, GLuint fill3);
+typedef void (GLAPIENTRY * PFNGLPRESENTFRAMEKEYEDNVPROC) (GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLuint key0, GLenum target1, GLuint fill1, GLuint key1);
+
+#define glGetVideoi64vNV GLEW_GET_FUN(__glewGetVideoi64vNV)
+#define glGetVideoivNV GLEW_GET_FUN(__glewGetVideoivNV)
+#define glGetVideoui64vNV GLEW_GET_FUN(__glewGetVideoui64vNV)
+#define glGetVideouivNV GLEW_GET_FUN(__glewGetVideouivNV)
+#define glPresentFrameDualFillNV GLEW_GET_FUN(__glewPresentFrameDualFillNV)
+#define glPresentFrameKeyedNV GLEW_GET_FUN(__glewPresentFrameKeyedNV)
+
+#define GLEW_NV_present_video GLEW_GET_VAR(__GLEW_NV_present_video)
+
+#endif /* GL_NV_present_video */
+
+/* ------------------------ GL_NV_primitive_restart ------------------------ */
+
+#ifndef GL_NV_primitive_restart
+#define GL_NV_primitive_restart 1
+
+#define GL_PRIMITIVE_RESTART_NV 0x8558
+#define GL_PRIMITIVE_RESTART_INDEX_NV 0x8559
+
+typedef void (GLAPIENTRY * PFNGLPRIMITIVERESTARTINDEXNVPROC) (GLuint index);
+typedef void (GLAPIENTRY * PFNGLPRIMITIVERESTARTNVPROC) (void);
+
+#define glPrimitiveRestartIndexNV GLEW_GET_FUN(__glewPrimitiveRestartIndexNV)
+#define glPrimitiveRestartNV GLEW_GET_FUN(__glewPrimitiveRestartNV)
+
+#define GLEW_NV_primitive_restart GLEW_GET_VAR(__GLEW_NV_primitive_restart)
+
+#endif /* GL_NV_primitive_restart */
+
+/* ------------------------ GL_NV_register_combiners ----------------------- */
+
+#ifndef GL_NV_register_combiners
+#define GL_NV_register_combiners 1
+
+#define GL_REGISTER_COMBINERS_NV 0x8522
+#define GL_VARIABLE_A_NV 0x8523
+#define GL_VARIABLE_B_NV 0x8524
+#define GL_VARIABLE_C_NV 0x8525
+#define GL_VARIABLE_D_NV 0x8526
+#define GL_VARIABLE_E_NV 0x8527
+#define GL_VARIABLE_F_NV 0x8528
+#define GL_VARIABLE_G_NV 0x8529
+#define GL_CONSTANT_COLOR0_NV 0x852A
+#define GL_CONSTANT_COLOR1_NV 0x852B
+#define GL_PRIMARY_COLOR_NV 0x852C
+#define GL_SECONDARY_COLOR_NV 0x852D
+#define GL_SPARE0_NV 0x852E
+#define GL_SPARE1_NV 0x852F
+#define GL_DISCARD_NV 0x8530
+#define GL_E_TIMES_F_NV 0x8531
+#define GL_SPARE0_PLUS_SECONDARY_COLOR_NV 0x8532
+#define GL_UNSIGNED_IDENTITY_NV 0x8536
+#define GL_UNSIGNED_INVERT_NV 0x8537
+#define GL_EXPAND_NORMAL_NV 0x8538
+#define GL_EXPAND_NEGATE_NV 0x8539
+#define GL_HALF_BIAS_NORMAL_NV 0x853A
+#define GL_HALF_BIAS_NEGATE_NV 0x853B
+#define GL_SIGNED_IDENTITY_NV 0x853C
+#define GL_SIGNED_NEGATE_NV 0x853D
+#define GL_SCALE_BY_TWO_NV 0x853E
+#define GL_SCALE_BY_FOUR_NV 0x853F
+#define GL_SCALE_BY_ONE_HALF_NV 0x8540
+#define GL_BIAS_BY_NEGATIVE_ONE_HALF_NV 0x8541
+#define GL_COMBINER_INPUT_NV 0x8542
+#define GL_COMBINER_MAPPING_NV 0x8543
+#define GL_COMBINER_COMPONENT_USAGE_NV 0x8544
+#define GL_COMBINER_AB_DOT_PRODUCT_NV 0x8545
+#define GL_COMBINER_CD_DOT_PRODUCT_NV 0x8546
+#define GL_COMBINER_MUX_SUM_NV 0x8547
+#define GL_COMBINER_SCALE_NV 0x8548
+#define GL_COMBINER_BIAS_NV 0x8549
+#define GL_COMBINER_AB_OUTPUT_NV 0x854A
+#define GL_COMBINER_CD_OUTPUT_NV 0x854B
+#define GL_COMBINER_SUM_OUTPUT_NV 0x854C
+#define GL_MAX_GENERAL_COMBINERS_NV 0x854D
+#define GL_NUM_GENERAL_COMBINERS_NV 0x854E
+#define GL_COLOR_SUM_CLAMP_NV 0x854F
+#define GL_COMBINER0_NV 0x8550
+#define GL_COMBINER1_NV 0x8551
+#define GL_COMBINER2_NV 0x8552
+#define GL_COMBINER3_NV 0x8553
+#define GL_COMBINER4_NV 0x8554
+#define GL_COMBINER5_NV 0x8555
+#define GL_COMBINER6_NV 0x8556
+#define GL_COMBINER7_NV 0x8557
+
+typedef void (GLAPIENTRY * PFNGLCOMBINERINPUTNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);
+typedef void (GLAPIENTRY * PFNGLCOMBINEROUTPUTNVPROC) (GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum);
+typedef void (GLAPIENTRY * PFNGLCOMBINERPARAMETERFNVPROC) (GLenum pname, GLfloat param);
+typedef void (GLAPIENTRY * PFNGLCOMBINERPARAMETERFVNVPROC) (GLenum pname, const GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLCOMBINERPARAMETERINVPROC) (GLenum pname, GLint param);
+typedef void (GLAPIENTRY * PFNGLCOMBINERPARAMETERIVNVPROC) (GLenum pname, const GLint* params);
+typedef void (GLAPIENTRY * PFNGLFINALCOMBINERINPUTNVPROC) (GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);
+typedef void (GLAPIENTRY * PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint* params);
+typedef void (GLAPIENTRY * PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC) (GLenum stage, GLenum portion, GLenum pname, GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC) (GLenum stage, GLenum portion, GLenum pname, GLint* params);
+typedef void (GLAPIENTRY * PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC) (GLenum variable, GLenum pname, GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC) (GLenum variable, GLenum pname, GLint* params);
+
+#define glCombinerInputNV GLEW_GET_FUN(__glewCombinerInputNV)
+#define glCombinerOutputNV GLEW_GET_FUN(__glewCombinerOutputNV)
+#define glCombinerParameterfNV GLEW_GET_FUN(__glewCombinerParameterfNV)
+#define glCombinerParameterfvNV GLEW_GET_FUN(__glewCombinerParameterfvNV)
+#define glCombinerParameteriNV GLEW_GET_FUN(__glewCombinerParameteriNV)
+#define glCombinerParameterivNV GLEW_GET_FUN(__glewCombinerParameterivNV)
+#define glFinalCombinerInputNV GLEW_GET_FUN(__glewFinalCombinerInputNV)
+#define glGetCombinerInputParameterfvNV GLEW_GET_FUN(__glewGetCombinerInputParameterfvNV)
+#define glGetCombinerInputParameterivNV GLEW_GET_FUN(__glewGetCombinerInputParameterivNV)
+#define glGetCombinerOutputParameterfvNV GLEW_GET_FUN(__glewGetCombinerOutputParameterfvNV)
+#define glGetCombinerOutputParameterivNV GLEW_GET_FUN(__glewGetCombinerOutputParameterivNV)
+#define glGetFinalCombinerInputParameterfvNV GLEW_GET_FUN(__glewGetFinalCombinerInputParameterfvNV)
+#define glGetFinalCombinerInputParameterivNV GLEW_GET_FUN(__glewGetFinalCombinerInputParameterivNV)
+
+#define GLEW_NV_register_combiners GLEW_GET_VAR(__GLEW_NV_register_combiners)
+
+#endif /* GL_NV_register_combiners */
+
+/* ----------------------- GL_NV_register_combiners2 ----------------------- */
+
+#ifndef GL_NV_register_combiners2
+#define GL_NV_register_combiners2 1
+
+#define GL_PER_STAGE_CONSTANTS_NV 0x8535
+
+typedef void (GLAPIENTRY * PFNGLCOMBINERSTAGEPARAMETERFVNVPROC) (GLenum stage, GLenum pname, const GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC) (GLenum stage, GLenum pname, GLfloat* params);
+
+#define glCombinerStageParameterfvNV GLEW_GET_FUN(__glewCombinerStageParameterfvNV)
+#define glGetCombinerStageParameterfvNV GLEW_GET_FUN(__glewGetCombinerStageParameterfvNV)
+
+#define GLEW_NV_register_combiners2 GLEW_GET_VAR(__GLEW_NV_register_combiners2)
+
+#endif /* GL_NV_register_combiners2 */
+
+/* ------------------------ GL_NV_shader_buffer_load ----------------------- */
+
+#ifndef GL_NV_shader_buffer_load
+#define GL_NV_shader_buffer_load 1
+
+#define GL_BUFFER_GPU_ADDRESS_NV 0x8F1D
+#define GL_GPU_ADDRESS_NV 0x8F34
+#define GL_MAX_SHADER_BUFFER_ADDRESS_NV 0x8F35
+
+typedef void (GLAPIENTRY * PFNGLGETBUFFERPARAMETERUI64VNVPROC) (GLenum target, GLenum pname, GLuint64EXT* params);
+typedef void (GLAPIENTRY * PFNGLGETINTEGERUI64VNVPROC) (GLenum value, GLuint64EXT* result);
+typedef void (GLAPIENTRY * PFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC) (GLuint buffer, GLenum pname, GLuint64EXT* params);
+typedef GLboolean (GLAPIENTRY * PFNGLISBUFFERRESIDENTNVPROC) (GLenum target);
+typedef GLboolean (GLAPIENTRY * PFNGLISNAMEDBUFFERRESIDENTNVPROC) (GLuint buffer);
+typedef void (GLAPIENTRY * PFNGLMAKEBUFFERNONRESIDENTNVPROC) (GLenum target);
+typedef void (GLAPIENTRY * PFNGLMAKEBUFFERRESIDENTNVPROC) (GLenum target, GLenum access);
+typedef void (GLAPIENTRY * PFNGLMAKENAMEDBUFFERNONRESIDENTNVPROC) (GLuint buffer);
+typedef void (GLAPIENTRY * PFNGLMAKENAMEDBUFFERRESIDENTNVPROC) (GLuint buffer, GLenum access);
+typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMUI64NVPROC) (GLuint program, GLint location, GLuint64EXT value);
+typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORMUI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT* value);
+typedef void (GLAPIENTRY * PFNGLUNIFORMUI64NVPROC) (GLint location, GLuint64EXT value);
+typedef void (GLAPIENTRY * PFNGLUNIFORMUI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT* value);
+
+#define glGetBufferParameterui64vNV GLEW_GET_FUN(__glewGetBufferParameterui64vNV)
+#define glGetIntegerui64vNV GLEW_GET_FUN(__glewGetIntegerui64vNV)
+#define glGetNamedBufferParameterui64vNV GLEW_GET_FUN(__glewGetNamedBufferParameterui64vNV)
+#define glIsBufferResidentNV GLEW_GET_FUN(__glewIsBufferResidentNV)
+#define glIsNamedBufferResidentNV GLEW_GET_FUN(__glewIsNamedBufferResidentNV)
+#define glMakeBufferNonResidentNV GLEW_GET_FUN(__glewMakeBufferNonResidentNV)
+#define glMakeBufferResidentNV GLEW_GET_FUN(__glewMakeBufferResidentNV)
+#define glMakeNamedBufferNonResidentNV GLEW_GET_FUN(__glewMakeNamedBufferNonResidentNV)
+#define glMakeNamedBufferResidentNV GLEW_GET_FUN(__glewMakeNamedBufferResidentNV)
+#define glProgramUniformui64NV GLEW_GET_FUN(__glewProgramUniformui64NV)
+#define glProgramUniformui64vNV GLEW_GET_FUN(__glewProgramUniformui64vNV)
+#define glUniformui64NV GLEW_GET_FUN(__glewUniformui64NV)
+#define glUniformui64vNV GLEW_GET_FUN(__glewUniformui64vNV)
+
+#define GLEW_NV_shader_buffer_load GLEW_GET_VAR(__GLEW_NV_shader_buffer_load)
+
+#endif /* GL_NV_shader_buffer_load */
+
+/* ---------------------- GL_NV_tessellation_program5 ---------------------- */
+
+#ifndef GL_NV_tessellation_program5
+#define GL_NV_tessellation_program5 1
+
+#define GL_MAX_PROGRAM_PATCH_ATTRIBS_NV 0x86D8
+#define GL_TESS_CONTROL_PROGRAM_NV 0x891E
+#define GL_TESS_EVALUATION_PROGRAM_NV 0x891F
+#define GL_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV 0x8C74
+#define GL_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV 0x8C75
+
+#define GLEW_NV_tessellation_program5 GLEW_GET_VAR(__GLEW_NV_tessellation_program5)
+
+#endif /* GL_NV_tessellation_program5 */
+
+/* -------------------------- GL_NV_texgen_emboss -------------------------- */
+
+#ifndef GL_NV_texgen_emboss
+#define GL_NV_texgen_emboss 1
+
+#define GL_EMBOSS_LIGHT_NV 0x855D
+#define GL_EMBOSS_CONSTANT_NV 0x855E
+#define GL_EMBOSS_MAP_NV 0x855F
+
+#define GLEW_NV_texgen_emboss GLEW_GET_VAR(__GLEW_NV_texgen_emboss)
+
+#endif /* GL_NV_texgen_emboss */
+
+/* ------------------------ GL_NV_texgen_reflection ------------------------ */
+
+#ifndef GL_NV_texgen_reflection
+#define GL_NV_texgen_reflection 1
+
+#define GL_NORMAL_MAP_NV 0x8511
+#define GL_REFLECTION_MAP_NV 0x8512
+
+#define GLEW_NV_texgen_reflection GLEW_GET_VAR(__GLEW_NV_texgen_reflection)
+
+#endif /* GL_NV_texgen_reflection */
+
+/* ------------------------- GL_NV_texture_barrier ------------------------- */
+
+#ifndef GL_NV_texture_barrier
+#define GL_NV_texture_barrier 1
+
+typedef void (GLAPIENTRY * PFNGLTEXTUREBARRIERNVPROC) (void);
+
+#define glTextureBarrierNV GLEW_GET_FUN(__glewTextureBarrierNV)
+
+#define GLEW_NV_texture_barrier GLEW_GET_VAR(__GLEW_NV_texture_barrier)
+
+#endif /* GL_NV_texture_barrier */
+
+/* --------------------- GL_NV_texture_compression_vtc --------------------- */
+
+#ifndef GL_NV_texture_compression_vtc
+#define GL_NV_texture_compression_vtc 1
+
+#define GLEW_NV_texture_compression_vtc GLEW_GET_VAR(__GLEW_NV_texture_compression_vtc)
+
+#endif /* GL_NV_texture_compression_vtc */
+
+/* ----------------------- GL_NV_texture_env_combine4 ---------------------- */
+
+#ifndef GL_NV_texture_env_combine4
+#define GL_NV_texture_env_combine4 1
+
+#define GL_COMBINE4_NV 0x8503
+#define GL_SOURCE3_RGB_NV 0x8583
+#define GL_SOURCE3_ALPHA_NV 0x858B
+#define GL_OPERAND3_RGB_NV 0x8593
+#define GL_OPERAND3_ALPHA_NV 0x859B
+
+#define GLEW_NV_texture_env_combine4 GLEW_GET_VAR(__GLEW_NV_texture_env_combine4)
+
+#endif /* GL_NV_texture_env_combine4 */
+
+/* ---------------------- GL_NV_texture_expand_normal ---------------------- */
+
+#ifndef GL_NV_texture_expand_normal
+#define GL_NV_texture_expand_normal 1
+
+#define GL_TEXTURE_UNSIGNED_REMAP_MODE_NV 0x888F
+
+#define GLEW_NV_texture_expand_normal GLEW_GET_VAR(__GLEW_NV_texture_expand_normal)
+
+#endif /* GL_NV_texture_expand_normal */
+
+/* ------------------------ GL_NV_texture_rectangle ------------------------ */
+
+#ifndef GL_NV_texture_rectangle
+#define GL_NV_texture_rectangle 1
+
+#define GL_TEXTURE_RECTANGLE_NV 0x84F5
+#define GL_TEXTURE_BINDING_RECTANGLE_NV 0x84F6
+#define GL_PROXY_TEXTURE_RECTANGLE_NV 0x84F7
+#define GL_MAX_RECTANGLE_TEXTURE_SIZE_NV 0x84F8
+
+#define GLEW_NV_texture_rectangle GLEW_GET_VAR(__GLEW_NV_texture_rectangle)
+
+#endif /* GL_NV_texture_rectangle */
+
+/* -------------------------- GL_NV_texture_shader ------------------------- */
+
+#ifndef GL_NV_texture_shader
+#define GL_NV_texture_shader 1
+
+#define GL_OFFSET_TEXTURE_RECTANGLE_NV 0x864C
+#define GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV 0x864D
+#define GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV 0x864E
+#define GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV 0x86D9
+#define GL_UNSIGNED_INT_S8_S8_8_8_NV 0x86DA
+#define GL_UNSIGNED_INT_8_8_S8_S8_REV_NV 0x86DB
+#define GL_DSDT_MAG_INTENSITY_NV 0x86DC
+#define GL_SHADER_CONSISTENT_NV 0x86DD
+#define GL_TEXTURE_SHADER_NV 0x86DE
+#define GL_SHADER_OPERATION_NV 0x86DF
+#define GL_CULL_MODES_NV 0x86E0
+#define GL_OFFSET_TEXTURE_2D_MATRIX_NV 0x86E1
+#define GL_OFFSET_TEXTURE_MATRIX_NV 0x86E1
+#define GL_OFFSET_TEXTURE_2D_SCALE_NV 0x86E2
+#define GL_OFFSET_TEXTURE_SCALE_NV 0x86E2
+#define GL_OFFSET_TEXTURE_BIAS_NV 0x86E3
+#define GL_OFFSET_TEXTURE_2D_BIAS_NV 0x86E3
+#define GL_PREVIOUS_TEXTURE_INPUT_NV 0x86E4
+#define GL_CONST_EYE_NV 0x86E5
+#define GL_PASS_THROUGH_NV 0x86E6
+#define GL_CULL_FRAGMENT_NV 0x86E7
+#define GL_OFFSET_TEXTURE_2D_NV 0x86E8
+#define GL_DEPENDENT_AR_TEXTURE_2D_NV 0x86E9
+#define GL_DEPENDENT_GB_TEXTURE_2D_NV 0x86EA
+#define GL_DOT_PRODUCT_NV 0x86EC
+#define GL_DOT_PRODUCT_DEPTH_REPLACE_NV 0x86ED
+#define GL_DOT_PRODUCT_TEXTURE_2D_NV 0x86EE
+#define GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV 0x86F0
+#define GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV 0x86F1
+#define GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV 0x86F2
+#define GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV 0x86F3
+#define GL_HILO_NV 0x86F4
+#define GL_DSDT_NV 0x86F5
+#define GL_DSDT_MAG_NV 0x86F6
+#define GL_DSDT_MAG_VIB_NV 0x86F7
+#define GL_HILO16_NV 0x86F8
+#define GL_SIGNED_HILO_NV 0x86F9
+#define GL_SIGNED_HILO16_NV 0x86FA
+#define GL_SIGNED_RGBA_NV 0x86FB
+#define GL_SIGNED_RGBA8_NV 0x86FC
+#define GL_SIGNED_RGB_NV 0x86FE
+#define GL_SIGNED_RGB8_NV 0x86FF
+#define GL_SIGNED_LUMINANCE_NV 0x8701
+#define GL_SIGNED_LUMINANCE8_NV 0x8702
+#define GL_SIGNED_LUMINANCE_ALPHA_NV 0x8703
+#define GL_SIGNED_LUMINANCE8_ALPHA8_NV 0x8704
+#define GL_SIGNED_ALPHA_NV 0x8705
+#define GL_SIGNED_ALPHA8_NV 0x8706
+#define GL_SIGNED_INTENSITY_NV 0x8707
+#define GL_SIGNED_INTENSITY8_NV 0x8708
+#define GL_DSDT8_NV 0x8709
+#define GL_DSDT8_MAG8_NV 0x870A
+#define GL_DSDT8_MAG8_INTENSITY8_NV 0x870B
+#define GL_SIGNED_RGB_UNSIGNED_ALPHA_NV 0x870C
+#define GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV 0x870D
+#define GL_HI_SCALE_NV 0x870E
+#define GL_LO_SCALE_NV 0x870F
+#define GL_DS_SCALE_NV 0x8710
+#define GL_DT_SCALE_NV 0x8711
+#define GL_MAGNITUDE_SCALE_NV 0x8712
+#define GL_VIBRANCE_SCALE_NV 0x8713
+#define GL_HI_BIAS_NV 0x8714
+#define GL_LO_BIAS_NV 0x8715
+#define GL_DS_BIAS_NV 0x8716
+#define GL_DT_BIAS_NV 0x8717
+#define GL_MAGNITUDE_BIAS_NV 0x8718
+#define GL_VIBRANCE_BIAS_NV 0x8719
+#define GL_TEXTURE_BORDER_VALUES_NV 0x871A
+#define GL_TEXTURE_HI_SIZE_NV 0x871B
+#define GL_TEXTURE_LO_SIZE_NV 0x871C
+#define GL_TEXTURE_DS_SIZE_NV 0x871D
+#define GL_TEXTURE_DT_SIZE_NV 0x871E
+#define GL_TEXTURE_MAG_SIZE_NV 0x871F
+
+#define GLEW_NV_texture_shader GLEW_GET_VAR(__GLEW_NV_texture_shader)
+
+#endif /* GL_NV_texture_shader */
+
+/* ------------------------- GL_NV_texture_shader2 ------------------------- */
+
+#ifndef GL_NV_texture_shader2
+#define GL_NV_texture_shader2 1
+
+#define GL_UNSIGNED_INT_S8_S8_8_8_NV 0x86DA
+#define GL_UNSIGNED_INT_8_8_S8_S8_REV_NV 0x86DB
+#define GL_DSDT_MAG_INTENSITY_NV 0x86DC
+#define GL_DOT_PRODUCT_TEXTURE_3D_NV 0x86EF
+#define GL_HILO_NV 0x86F4
+#define GL_DSDT_NV 0x86F5
+#define GL_DSDT_MAG_NV 0x86F6
+#define GL_DSDT_MAG_VIB_NV 0x86F7
+#define GL_HILO16_NV 0x86F8
+#define GL_SIGNED_HILO_NV 0x86F9
+#define GL_SIGNED_HILO16_NV 0x86FA
+#define GL_SIGNED_RGBA_NV 0x86FB
+#define GL_SIGNED_RGBA8_NV 0x86FC
+#define GL_SIGNED_RGB_NV 0x86FE
+#define GL_SIGNED_RGB8_NV 0x86FF
+#define GL_SIGNED_LUMINANCE_NV 0x8701
+#define GL_SIGNED_LUMINANCE8_NV 0x8702
+#define GL_SIGNED_LUMINANCE_ALPHA_NV 0x8703
+#define GL_SIGNED_LUMINANCE8_ALPHA8_NV 0x8704
+#define GL_SIGNED_ALPHA_NV 0x8705
+#define GL_SIGNED_ALPHA8_NV 0x8706
+#define GL_SIGNED_INTENSITY_NV 0x8707
+#define GL_SIGNED_INTENSITY8_NV 0x8708
+#define GL_DSDT8_NV 0x8709
+#define GL_DSDT8_MAG8_NV 0x870A
+#define GL_DSDT8_MAG8_INTENSITY8_NV 0x870B
+#define GL_SIGNED_RGB_UNSIGNED_ALPHA_NV 0x870C
+#define GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV 0x870D
+
+#define GLEW_NV_texture_shader2 GLEW_GET_VAR(__GLEW_NV_texture_shader2)
+
+#endif /* GL_NV_texture_shader2 */
+
+/* ------------------------- GL_NV_texture_shader3 ------------------------- */
+
+#ifndef GL_NV_texture_shader3
+#define GL_NV_texture_shader3 1
+
+#define GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV 0x8850
+#define GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV 0x8851
+#define GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV 0x8852
+#define GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV 0x8853
+#define GL_OFFSET_HILO_TEXTURE_2D_NV 0x8854
+#define GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV 0x8855
+#define GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV 0x8856
+#define GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV 0x8857
+#define GL_DEPENDENT_HILO_TEXTURE_2D_NV 0x8858
+#define GL_DEPENDENT_RGB_TEXTURE_3D_NV 0x8859
+#define GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV 0x885A
+#define GL_DOT_PRODUCT_PASS_THROUGH_NV 0x885B
+#define GL_DOT_PRODUCT_TEXTURE_1D_NV 0x885C
+#define GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV 0x885D
+#define GL_HILO8_NV 0x885E
+#define GL_SIGNED_HILO8_NV 0x885F
+#define GL_FORCE_BLUE_TO_ONE_NV 0x8860
+
+#define GLEW_NV_texture_shader3 GLEW_GET_VAR(__GLEW_NV_texture_shader3)
+
+#endif /* GL_NV_texture_shader3 */
+
+/* ------------------------ GL_NV_transform_feedback ----------------------- */
+
+#ifndef GL_NV_transform_feedback
+#define GL_NV_transform_feedback 1
+
+#define GL_BACK_PRIMARY_COLOR_NV 0x8C77
+#define GL_BACK_SECONDARY_COLOR_NV 0x8C78
+#define GL_TEXTURE_COORD_NV 0x8C79
+#define GL_CLIP_DISTANCE_NV 0x8C7A
+#define GL_VERTEX_ID_NV 0x8C7B
+#define GL_PRIMITIVE_ID_NV 0x8C7C
+#define GL_GENERIC_ATTRIB_NV 0x8C7D
+#define GL_TRANSFORM_FEEDBACK_ATTRIBS_NV 0x8C7E
+#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE_NV 0x8C7F
+#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV 0x8C80
+#define GL_ACTIVE_VARYINGS_NV 0x8C81
+#define GL_ACTIVE_VARYING_MAX_LENGTH_NV 0x8C82
+#define GL_TRANSFORM_FEEDBACK_VARYINGS_NV 0x8C83
+#define GL_TRANSFORM_FEEDBACK_BUFFER_START_NV 0x8C84
+#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV 0x8C85
+#define GL_TRANSFORM_FEEDBACK_RECORD_NV 0x8C86
+#define GL_PRIMITIVES_GENERATED_NV 0x8C87
+#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV 0x8C88
+#define GL_RASTERIZER_DISCARD_NV 0x8C89
+#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV 0x8C8A
+#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV 0x8C8B
+#define GL_INTERLEAVED_ATTRIBS_NV 0x8C8C
+#define GL_SEPARATE_ATTRIBS_NV 0x8C8D
+#define GL_TRANSFORM_FEEDBACK_BUFFER_NV 0x8C8E
+#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV 0x8C8F
+
+typedef void (GLAPIENTRY * PFNGLACTIVEVARYINGNVPROC) (GLuint program, const GLchar *name);
+typedef void (GLAPIENTRY * PFNGLBEGINTRANSFORMFEEDBACKNVPROC) (GLenum primitiveMode);
+typedef void (GLAPIENTRY * PFNGLBINDBUFFERBASENVPROC) (GLenum target, GLuint index, GLuint buffer);
+typedef void (GLAPIENTRY * PFNGLBINDBUFFEROFFSETNVPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset);
+typedef void (GLAPIENTRY * PFNGLBINDBUFFERRANGENVPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
+typedef void (GLAPIENTRY * PFNGLENDTRANSFORMFEEDBACKNVPROC) (void);
+typedef void (GLAPIENTRY * PFNGLGETACTIVEVARYINGNVPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
+typedef void (GLAPIENTRY * PFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC) (GLuint program, GLuint index, GLint *location);
+typedef GLint (GLAPIENTRY * PFNGLGETVARYINGLOCATIONNVPROC) (GLuint program, const GLchar *name);
+typedef void (GLAPIENTRY * PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC) (GLuint count, const GLint *attribs, GLenum bufferMode);
+typedef void (GLAPIENTRY * PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC) (GLuint program, GLsizei count, const GLint *locations, GLenum bufferMode);
+
+#define glActiveVaryingNV GLEW_GET_FUN(__glewActiveVaryingNV)
+#define glBeginTransformFeedbackNV GLEW_GET_FUN(__glewBeginTransformFeedbackNV)
+#define glBindBufferBaseNV GLEW_GET_FUN(__glewBindBufferBaseNV)
+#define glBindBufferOffsetNV GLEW_GET_FUN(__glewBindBufferOffsetNV)
+#define glBindBufferRangeNV GLEW_GET_FUN(__glewBindBufferRangeNV)
+#define glEndTransformFeedbackNV GLEW_GET_FUN(__glewEndTransformFeedbackNV)
+#define glGetActiveVaryingNV GLEW_GET_FUN(__glewGetActiveVaryingNV)
+#define glGetTransformFeedbackVaryingNV GLEW_GET_FUN(__glewGetTransformFeedbackVaryingNV)
+#define glGetVaryingLocationNV GLEW_GET_FUN(__glewGetVaryingLocationNV)
+#define glTransformFeedbackAttribsNV GLEW_GET_FUN(__glewTransformFeedbackAttribsNV)
+#define glTransformFeedbackVaryingsNV GLEW_GET_FUN(__glewTransformFeedbackVaryingsNV)
+
+#define GLEW_NV_transform_feedback GLEW_GET_VAR(__GLEW_NV_transform_feedback)
+
+#endif /* GL_NV_transform_feedback */
+
+/* ----------------------- GL_NV_transform_feedback2 ----------------------- */
+
+#ifndef GL_NV_transform_feedback2
+#define GL_NV_transform_feedback2 1
+
+#define GL_TRANSFORM_FEEDBACK_NV 0x8E22
+#define GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV 0x8E23
+#define GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV 0x8E24
+#define GL_TRANSFORM_FEEDBACK_BINDING_NV 0x8E25
+
+typedef void (GLAPIENTRY * PFNGLBINDTRANSFORMFEEDBACKNVPROC) (GLenum target, GLuint id);
+typedef void (GLAPIENTRY * PFNGLDELETETRANSFORMFEEDBACKSNVPROC) (GLsizei n, const GLuint* ids);
+typedef void (GLAPIENTRY * PFNGLDRAWTRANSFORMFEEDBACKNVPROC) (GLenum mode, GLuint id);
+typedef void (GLAPIENTRY * PFNGLGENTRANSFORMFEEDBACKSNVPROC) (GLsizei n, GLuint* ids);
+typedef GLboolean (GLAPIENTRY * PFNGLISTRANSFORMFEEDBACKNVPROC) (GLuint id);
+typedef void (GLAPIENTRY * PFNGLPAUSETRANSFORMFEEDBACKNVPROC) (void);
+typedef void (GLAPIENTRY * PFNGLRESUMETRANSFORMFEEDBACKNVPROC) (void);
+
+#define glBindTransformFeedbackNV GLEW_GET_FUN(__glewBindTransformFeedbackNV)
+#define glDeleteTransformFeedbacksNV GLEW_GET_FUN(__glewDeleteTransformFeedbacksNV)
+#define glDrawTransformFeedbackNV GLEW_GET_FUN(__glewDrawTransformFeedbackNV)
+#define glGenTransformFeedbacksNV GLEW_GET_FUN(__glewGenTransformFeedbacksNV)
+#define glIsTransformFeedbackNV GLEW_GET_FUN(__glewIsTransformFeedbackNV)
+#define glPauseTransformFeedbackNV GLEW_GET_FUN(__glewPauseTransformFeedbackNV)
+#define glResumeTransformFeedbackNV GLEW_GET_FUN(__glewResumeTransformFeedbackNV)
+
+#define GLEW_NV_transform_feedback2 GLEW_GET_VAR(__GLEW_NV_transform_feedback2)
+
+#endif /* GL_NV_transform_feedback2 */
+
+/* ------------------------ GL_NV_vertex_array_range ----------------------- */
+
+#ifndef GL_NV_vertex_array_range
+#define GL_NV_vertex_array_range 1
+
+#define GL_VERTEX_ARRAY_RANGE_NV 0x851D
+#define GL_VERTEX_ARRAY_RANGE_LENGTH_NV 0x851E
+#define GL_VERTEX_ARRAY_RANGE_VALID_NV 0x851F
+#define GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV 0x8520
+#define GL_VERTEX_ARRAY_RANGE_POINTER_NV 0x8521
+
+typedef void (GLAPIENTRY * PFNGLFLUSHVERTEXARRAYRANGENVPROC) (void);
+typedef void (GLAPIENTRY * PFNGLVERTEXARRAYRANGENVPROC) (GLsizei length, void* pointer);
+
+#define glFlushVertexArrayRangeNV GLEW_GET_FUN(__glewFlushVertexArrayRangeNV)
+#define glVertexArrayRangeNV GLEW_GET_FUN(__glewVertexArrayRangeNV)
+
+#define GLEW_NV_vertex_array_range GLEW_GET_VAR(__GLEW_NV_vertex_array_range)
+
+#endif /* GL_NV_vertex_array_range */
+
+/* ----------------------- GL_NV_vertex_array_range2 ----------------------- */
+
+#ifndef GL_NV_vertex_array_range2
+#define GL_NV_vertex_array_range2 1
+
+#define GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV 0x8533
+
+#define GLEW_NV_vertex_array_range2 GLEW_GET_VAR(__GLEW_NV_vertex_array_range2)
+
+#endif /* GL_NV_vertex_array_range2 */
+
+/* ------------------- GL_NV_vertex_attrib_integer_64bit ------------------- */
+
+#ifndef GL_NV_vertex_attrib_integer_64bit
+#define GL_NV_vertex_attrib_integer_64bit 1
+
+#define GL_INT64_NV 0x140E
+#define GL_UNSIGNED_INT64_NV 0x140F
+
+typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBLI64VNVPROC) (GLuint index, GLenum pname, GLint64EXT* params);
+typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBLUI64VNVPROC) (GLuint index, GLenum pname, GLuint64EXT* params);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL1I64NVPROC) (GLuint index, GLint64EXT x);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL1I64VNVPROC) (GLuint index, const GLint64EXT* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL1UI64NVPROC) (GLuint index, GLuint64EXT x);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL1UI64VNVPROC) (GLuint index, const GLuint64EXT* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL2I64NVPROC) (GLuint index, GLint64EXT x, GLint64EXT y);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL2I64VNVPROC) (GLuint index, const GLint64EXT* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL2UI64NVPROC) (GLuint index, GLuint64EXT x, GLuint64EXT y);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL2UI64VNVPROC) (GLuint index, const GLuint64EXT* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL3I64NVPROC) (GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL3I64VNVPROC) (GLuint index, const GLint64EXT* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL3UI64NVPROC) (GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL3UI64VNVPROC) (GLuint index, const GLuint64EXT* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL4I64NVPROC) (GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL4I64VNVPROC) (GLuint index, const GLint64EXT* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL4UI64NVPROC) (GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBL4UI64VNVPROC) (GLuint index, const GLuint64EXT* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBLFORMATNVPROC) (GLuint index, GLint size, GLenum type, GLsizei stride);
+
+#define glGetVertexAttribLi64vNV GLEW_GET_FUN(__glewGetVertexAttribLi64vNV)
+#define glGetVertexAttribLui64vNV GLEW_GET_FUN(__glewGetVertexAttribLui64vNV)
+#define glVertexAttribL1i64NV GLEW_GET_FUN(__glewVertexAttribL1i64NV)
+#define glVertexAttribL1i64vNV GLEW_GET_FUN(__glewVertexAttribL1i64vNV)
+#define glVertexAttribL1ui64NV GLEW_GET_FUN(__glewVertexAttribL1ui64NV)
+#define glVertexAttribL1ui64vNV GLEW_GET_FUN(__glewVertexAttribL1ui64vNV)
+#define glVertexAttribL2i64NV GLEW_GET_FUN(__glewVertexAttribL2i64NV)
+#define glVertexAttribL2i64vNV GLEW_GET_FUN(__glewVertexAttribL2i64vNV)
+#define glVertexAttribL2ui64NV GLEW_GET_FUN(__glewVertexAttribL2ui64NV)
+#define glVertexAttribL2ui64vNV GLEW_GET_FUN(__glewVertexAttribL2ui64vNV)
+#define glVertexAttribL3i64NV GLEW_GET_FUN(__glewVertexAttribL3i64NV)
+#define glVertexAttribL3i64vNV GLEW_GET_FUN(__glewVertexAttribL3i64vNV)
+#define glVertexAttribL3ui64NV GLEW_GET_FUN(__glewVertexAttribL3ui64NV)
+#define glVertexAttribL3ui64vNV GLEW_GET_FUN(__glewVertexAttribL3ui64vNV)
+#define glVertexAttribL4i64NV GLEW_GET_FUN(__glewVertexAttribL4i64NV)
+#define glVertexAttribL4i64vNV GLEW_GET_FUN(__glewVertexAttribL4i64vNV)
+#define glVertexAttribL4ui64NV GLEW_GET_FUN(__glewVertexAttribL4ui64NV)
+#define glVertexAttribL4ui64vNV GLEW_GET_FUN(__glewVertexAttribL4ui64vNV)
+#define glVertexAttribLFormatNV GLEW_GET_FUN(__glewVertexAttribLFormatNV)
+
+#define GLEW_NV_vertex_attrib_integer_64bit GLEW_GET_VAR(__GLEW_NV_vertex_attrib_integer_64bit)
+
+#endif /* GL_NV_vertex_attrib_integer_64bit */
+
+/* ------------------- GL_NV_vertex_buffer_unified_memory ------------------ */
+
+#ifndef GL_NV_vertex_buffer_unified_memory
+#define GL_NV_vertex_buffer_unified_memory 1
+
+#define GL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV 0x8F1E
+#define GL_ELEMENT_ARRAY_UNIFIED_NV 0x8F1F
+#define GL_VERTEX_ATTRIB_ARRAY_ADDRESS_NV 0x8F20
+#define GL_VERTEX_ARRAY_ADDRESS_NV 0x8F21
+#define GL_NORMAL_ARRAY_ADDRESS_NV 0x8F22
+#define GL_COLOR_ARRAY_ADDRESS_NV 0x8F23
+#define GL_INDEX_ARRAY_ADDRESS_NV 0x8F24
+#define GL_TEXTURE_COORD_ARRAY_ADDRESS_NV 0x8F25
+#define GL_EDGE_FLAG_ARRAY_ADDRESS_NV 0x8F26
+#define GL_SECONDARY_COLOR_ARRAY_ADDRESS_NV 0x8F27
+#define GL_FOG_COORD_ARRAY_ADDRESS_NV 0x8F28
+#define GL_ELEMENT_ARRAY_ADDRESS_NV 0x8F29
+#define GL_VERTEX_ATTRIB_ARRAY_LENGTH_NV 0x8F2A
+#define GL_VERTEX_ARRAY_LENGTH_NV 0x8F2B
+#define GL_NORMAL_ARRAY_LENGTH_NV 0x8F2C
+#define GL_COLOR_ARRAY_LENGTH_NV 0x8F2D
+#define GL_INDEX_ARRAY_LENGTH_NV 0x8F2E
+#define GL_TEXTURE_COORD_ARRAY_LENGTH_NV 0x8F2F
+#define GL_EDGE_FLAG_ARRAY_LENGTH_NV 0x8F30
+#define GL_SECONDARY_COLOR_ARRAY_LENGTH_NV 0x8F31
+#define GL_FOG_COORD_ARRAY_LENGTH_NV 0x8F32
+#define GL_ELEMENT_ARRAY_LENGTH_NV 0x8F33
+
+typedef void (GLAPIENTRY * PFNGLBUFFERADDRESSRANGENVPROC) (GLenum pname, GLuint index, GLuint64EXT address, GLsizeiptr length);
+typedef void (GLAPIENTRY * PFNGLCOLORFORMATNVPROC) (GLint size, GLenum type, GLsizei stride);
+typedef void (GLAPIENTRY * PFNGLEDGEFLAGFORMATNVPROC) (GLsizei stride);
+typedef void (GLAPIENTRY * PFNGLFOGCOORDFORMATNVPROC) (GLenum type, GLsizei stride);
+typedef void (GLAPIENTRY * PFNGLGETINTEGERUI64I_VNVPROC) (GLenum value, GLuint index, GLuint64EXT result[]);
+typedef void (GLAPIENTRY * PFNGLINDEXFORMATNVPROC) (GLenum type, GLsizei stride);
+typedef void (GLAPIENTRY * PFNGLNORMALFORMATNVPROC) (GLenum type, GLsizei stride);
+typedef void (GLAPIENTRY * PFNGLSECONDARYCOLORFORMATNVPROC) (GLint size, GLenum type, GLsizei stride);
+typedef void (GLAPIENTRY * PFNGLTEXCOORDFORMATNVPROC) (GLint size, GLenum type, GLsizei stride);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBFORMATNVPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBIFORMATNVPROC) (GLuint index, GLint size, GLenum type, GLsizei stride);
+typedef void (GLAPIENTRY * PFNGLVERTEXFORMATNVPROC) (GLint size, GLenum type, GLsizei stride);
+
+#define glBufferAddressRangeNV GLEW_GET_FUN(__glewBufferAddressRangeNV)
+#define glColorFormatNV GLEW_GET_FUN(__glewColorFormatNV)
+#define glEdgeFlagFormatNV GLEW_GET_FUN(__glewEdgeFlagFormatNV)
+#define glFogCoordFormatNV GLEW_GET_FUN(__glewFogCoordFormatNV)
+#define glGetIntegerui64i_vNV GLEW_GET_FUN(__glewGetIntegerui64i_vNV)
+#define glIndexFormatNV GLEW_GET_FUN(__glewIndexFormatNV)
+#define glNormalFormatNV GLEW_GET_FUN(__glewNormalFormatNV)
+#define glSecondaryColorFormatNV GLEW_GET_FUN(__glewSecondaryColorFormatNV)
+#define glTexCoordFormatNV GLEW_GET_FUN(__glewTexCoordFormatNV)
+#define glVertexAttribFormatNV GLEW_GET_FUN(__glewVertexAttribFormatNV)
+#define glVertexAttribIFormatNV GLEW_GET_FUN(__glewVertexAttribIFormatNV)
+#define glVertexFormatNV GLEW_GET_FUN(__glewVertexFormatNV)
+
+#define GLEW_NV_vertex_buffer_unified_memory GLEW_GET_VAR(__GLEW_NV_vertex_buffer_unified_memory)
+
+#endif /* GL_NV_vertex_buffer_unified_memory */
+
+/* -------------------------- GL_NV_vertex_program ------------------------- */
+
+#ifndef GL_NV_vertex_program
+#define GL_NV_vertex_program 1
+
+#define GL_VERTEX_PROGRAM_NV 0x8620
+#define GL_VERTEX_STATE_PROGRAM_NV 0x8621
+#define GL_ATTRIB_ARRAY_SIZE_NV 0x8623
+#define GL_ATTRIB_ARRAY_STRIDE_NV 0x8624
+#define GL_ATTRIB_ARRAY_TYPE_NV 0x8625
+#define GL_CURRENT_ATTRIB_NV 0x8626
+#define GL_PROGRAM_LENGTH_NV 0x8627
+#define GL_PROGRAM_STRING_NV 0x8628
+#define GL_MODELVIEW_PROJECTION_NV 0x8629
+#define GL_IDENTITY_NV 0x862A
+#define GL_INVERSE_NV 0x862B
+#define GL_TRANSPOSE_NV 0x862C
+#define GL_INVERSE_TRANSPOSE_NV 0x862D
+#define GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV 0x862E
+#define GL_MAX_TRACK_MATRICES_NV 0x862F
+#define GL_MATRIX0_NV 0x8630
+#define GL_MATRIX1_NV 0x8631
+#define GL_MATRIX2_NV 0x8632
+#define GL_MATRIX3_NV 0x8633
+#define GL_MATRIX4_NV 0x8634
+#define GL_MATRIX5_NV 0x8635
+#define GL_MATRIX6_NV 0x8636
+#define GL_MATRIX7_NV 0x8637
+#define GL_CURRENT_MATRIX_STACK_DEPTH_NV 0x8640
+#define GL_CURRENT_MATRIX_NV 0x8641
+#define GL_VERTEX_PROGRAM_POINT_SIZE_NV 0x8642
+#define GL_VERTEX_PROGRAM_TWO_SIDE_NV 0x8643
+#define GL_PROGRAM_PARAMETER_NV 0x8644
+#define GL_ATTRIB_ARRAY_POINTER_NV 0x8645
+#define GL_PROGRAM_TARGET_NV 0x8646
+#define GL_PROGRAM_RESIDENT_NV 0x8647
+#define GL_TRACK_MATRIX_NV 0x8648
+#define GL_TRACK_MATRIX_TRANSFORM_NV 0x8649
+#define GL_VERTEX_PROGRAM_BINDING_NV 0x864A
+#define GL_PROGRAM_ERROR_POSITION_NV 0x864B
+#define GL_VERTEX_ATTRIB_ARRAY0_NV 0x8650
+#define GL_VERTEX_ATTRIB_ARRAY1_NV 0x8651
+#define GL_VERTEX_ATTRIB_ARRAY2_NV 0x8652
+#define GL_VERTEX_ATTRIB_ARRAY3_NV 0x8653
+#define GL_VERTEX_ATTRIB_ARRAY4_NV 0x8654
+#define GL_VERTEX_ATTRIB_ARRAY5_NV 0x8655
+#define GL_VERTEX_ATTRIB_ARRAY6_NV 0x8656
+#define GL_VERTEX_ATTRIB_ARRAY7_NV 0x8657
+#define GL_VERTEX_ATTRIB_ARRAY8_NV 0x8658
+#define GL_VERTEX_ATTRIB_ARRAY9_NV 0x8659
+#define GL_VERTEX_ATTRIB_ARRAY10_NV 0x865A
+#define GL_VERTEX_ATTRIB_ARRAY11_NV 0x865B
+#define GL_VERTEX_ATTRIB_ARRAY12_NV 0x865C
+#define GL_VERTEX_ATTRIB_ARRAY13_NV 0x865D
+#define GL_VERTEX_ATTRIB_ARRAY14_NV 0x865E
+#define GL_VERTEX_ATTRIB_ARRAY15_NV 0x865F
+#define GL_MAP1_VERTEX_ATTRIB0_4_NV 0x8660
+#define GL_MAP1_VERTEX_ATTRIB1_4_NV 0x8661
+#define GL_MAP1_VERTEX_ATTRIB2_4_NV 0x8662
+#define GL_MAP1_VERTEX_ATTRIB3_4_NV 0x8663
+#define GL_MAP1_VERTEX_ATTRIB4_4_NV 0x8664
+#define GL_MAP1_VERTEX_ATTRIB5_4_NV 0x8665
+#define GL_MAP1_VERTEX_ATTRIB6_4_NV 0x8666
+#define GL_MAP1_VERTEX_ATTRIB7_4_NV 0x8667
+#define GL_MAP1_VERTEX_ATTRIB8_4_NV 0x8668
+#define GL_MAP1_VERTEX_ATTRIB9_4_NV 0x8669
+#define GL_MAP1_VERTEX_ATTRIB10_4_NV 0x866A
+#define GL_MAP1_VERTEX_ATTRIB11_4_NV 0x866B
+#define GL_MAP1_VERTEX_ATTRIB12_4_NV 0x866C
+#define GL_MAP1_VERTEX_ATTRIB13_4_NV 0x866D
+#define GL_MAP1_VERTEX_ATTRIB14_4_NV 0x866E
+#define GL_MAP1_VERTEX_ATTRIB15_4_NV 0x866F
+#define GL_MAP2_VERTEX_ATTRIB0_4_NV 0x8670
+#define GL_MAP2_VERTEX_ATTRIB1_4_NV 0x8671
+#define GL_MAP2_VERTEX_ATTRIB2_4_NV 0x8672
+#define GL_MAP2_VERTEX_ATTRIB3_4_NV 0x8673
+#define GL_MAP2_VERTEX_ATTRIB4_4_NV 0x8674
+#define GL_MAP2_VERTEX_ATTRIB5_4_NV 0x8675
+#define GL_MAP2_VERTEX_ATTRIB6_4_NV 0x8676
+#define GL_MAP2_VERTEX_ATTRIB7_4_NV 0x8677
+#define GL_MAP2_VERTEX_ATTRIB8_4_NV 0x8678
+#define GL_MAP2_VERTEX_ATTRIB9_4_NV 0x8679
+#define GL_MAP2_VERTEX_ATTRIB10_4_NV 0x867A
+#define GL_MAP2_VERTEX_ATTRIB11_4_NV 0x867B
+#define GL_MAP2_VERTEX_ATTRIB12_4_NV 0x867C
+#define GL_MAP2_VERTEX_ATTRIB13_4_NV 0x867D
+#define GL_MAP2_VERTEX_ATTRIB14_4_NV 0x867E
+#define GL_MAP2_VERTEX_ATTRIB15_4_NV 0x867F
+
+typedef GLboolean (GLAPIENTRY * PFNGLAREPROGRAMSRESIDENTNVPROC) (GLsizei n, const GLuint* ids, GLboolean *residences);
+typedef void (GLAPIENTRY * PFNGLBINDPROGRAMNVPROC) (GLenum target, GLuint id);
+typedef void (GLAPIENTRY * PFNGLDELETEPROGRAMSNVPROC) (GLsizei n, const GLuint* ids);
+typedef void (GLAPIENTRY * PFNGLEXECUTEPROGRAMNVPROC) (GLenum target, GLuint id, const GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLGENPROGRAMSNVPROC) (GLsizei n, GLuint* ids);
+typedef void (GLAPIENTRY * PFNGLGETPROGRAMPARAMETERDVNVPROC) (GLenum target, GLuint index, GLenum pname, GLdouble* params);
+typedef void (GLAPIENTRY * PFNGLGETPROGRAMPARAMETERFVNVPROC) (GLenum target, GLuint index, GLenum pname, GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLGETPROGRAMSTRINGNVPROC) (GLuint id, GLenum pname, GLubyte* program);
+typedef void (GLAPIENTRY * PFNGLGETPROGRAMIVNVPROC) (GLuint id, GLenum pname, GLint* params);
+typedef void (GLAPIENTRY * PFNGLGETTRACKMATRIXIVNVPROC) (GLenum target, GLuint address, GLenum pname, GLint* params);
+typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBPOINTERVNVPROC) (GLuint index, GLenum pname, GLvoid** pointer);
+typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBDVNVPROC) (GLuint index, GLenum pname, GLdouble* params);
+typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBFVNVPROC) (GLuint index, GLenum pname, GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLGETVERTEXATTRIBIVNVPROC) (GLuint index, GLenum pname, GLint* params);
+typedef GLboolean (GLAPIENTRY * PFNGLISPROGRAMNVPROC) (GLuint id);
+typedef void (GLAPIENTRY * PFNGLLOADPROGRAMNVPROC) (GLenum target, GLuint id, GLsizei len, const GLubyte* program);
+typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETER4DNVPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETER4DVNVPROC) (GLenum target, GLuint index, const GLdouble* params);
+typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETER4FNVPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETER4FVNVPROC) (GLenum target, GLuint index, const GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETERS4DVNVPROC) (GLenum target, GLuint index, GLuint num, const GLdouble* params);
+typedef void (GLAPIENTRY * PFNGLPROGRAMPARAMETERS4FVNVPROC) (GLenum target, GLuint index, GLuint num, const GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLREQUESTRESIDENTPROGRAMSNVPROC) (GLsizei n, GLuint* ids);
+typedef void (GLAPIENTRY * PFNGLTRACKMATRIXNVPROC) (GLenum target, GLuint address, GLenum matrix, GLenum transform);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1DNVPROC) (GLuint index, GLdouble x);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1DVNVPROC) (GLuint index, const GLdouble* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1FNVPROC) (GLuint index, GLfloat x);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1FVNVPROC) (GLuint index, const GLfloat* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1SNVPROC) (GLuint index, GLshort x);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB1SVNVPROC) (GLuint index, const GLshort* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2DNVPROC) (GLuint index, GLdouble x, GLdouble y);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2DVNVPROC) (GLuint index, const GLdouble* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2FNVPROC) (GLuint index, GLfloat x, GLfloat y);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2FVNVPROC) (GLuint index, const GLfloat* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2SNVPROC) (GLuint index, GLshort x, GLshort y);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB2SVNVPROC) (GLuint index, const GLshort* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3DNVPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3DVNVPROC) (GLuint index, const GLdouble* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3FNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3FVNVPROC) (GLuint index, const GLfloat* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3SNVPROC) (GLuint index, GLshort x, GLshort y, GLshort z);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB3SVNVPROC) (GLuint index, const GLshort* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4DNVPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4DVNVPROC) (GLuint index, const GLdouble* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4FNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4FVNVPROC) (GLuint index, const GLfloat* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4SNVPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4SVNVPROC) (GLuint index, const GLshort* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4UBNVPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIB4UBVNVPROC) (GLuint index, const GLubyte* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBPOINTERNVPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const void* pointer);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS1DVNVPROC) (GLuint index, GLsizei n, const GLdouble* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS1FVNVPROC) (GLuint index, GLsizei n, const GLfloat* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS1SVNVPROC) (GLuint index, GLsizei n, const GLshort* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS2DVNVPROC) (GLuint index, GLsizei n, const GLdouble* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS2FVNVPROC) (GLuint index, GLsizei n, const GLfloat* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS2SVNVPROC) (GLuint index, GLsizei n, const GLshort* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS3DVNVPROC) (GLuint index, GLsizei n, const GLdouble* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS3FVNVPROC) (GLuint index, GLsizei n, const GLfloat* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS3SVNVPROC) (GLuint index, GLsizei n, const GLshort* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS4DVNVPROC) (GLuint index, GLsizei n, const GLdouble* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS4FVNVPROC) (GLuint index, GLsizei n, const GLfloat* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS4SVNVPROC) (GLuint index, GLsizei n, const GLshort* v);
+typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBS4UBVNVPROC) (GLuint index, GLsizei n, const GLubyte* v);
+
+#define glAreProgramsResidentNV GLEW_GET_FUN(__glewAreProgramsResidentNV)
+#define glBindProgramNV GLEW_GET_FUN(__glewBindProgramNV)
+#define glDeleteProgramsNV GLEW_GET_FUN(__glewDeleteProgramsNV)
+#define glExecuteProgramNV GLEW_GET_FUN(__glewExecuteProgramNV)
+#define glGenProgramsNV GLEW_GET_FUN(__glewGenProgramsNV)
+#define glGetProgramParameterdvNV GLEW_GET_FUN(__glewGetProgramParameterdvNV)
+#define glGetProgramParameterfvNV GLEW_GET_FUN(__glewGetProgramParameterfvNV)
+#define glGetProgramStringNV GLEW_GET_FUN(__glewGetProgramStringNV)
+#define glGetProgramivNV GLEW_GET_FUN(__glewGetProgramivNV)
+#define glGetTrackMatrixivNV GLEW_GET_FUN(__glewGetTrackMatrixivNV)
+#define glGetVertexAttribPointervNV GLEW_GET_FUN(__glewGetVertexAttribPointervNV)
+#define glGetVertexAttribdvNV GLEW_GET_FUN(__glewGetVertexAttribdvNV)
+#define glGetVertexAttribfvNV GLEW_GET_FUN(__glewGetVertexAttribfvNV)
+#define glGetVertexAttribivNV GLEW_GET_FUN(__glewGetVertexAttribivNV)
+#define glIsProgramNV GLEW_GET_FUN(__glewIsProgramNV)
+#define glLoadProgramNV GLEW_GET_FUN(__glewLoadProgramNV)
+#define glProgramParameter4dNV GLEW_GET_FUN(__glewProgramParameter4dNV)
+#define glProgramParameter4dvNV GLEW_GET_FUN(__glewProgramParameter4dvNV)
+#define glProgramParameter4fNV GLEW_GET_FUN(__glewProgramParameter4fNV)
+#define glProgramParameter4fvNV GLEW_GET_FUN(__glewProgramParameter4fvNV)
+#define glProgramParameters4dvNV GLEW_GET_FUN(__glewProgramParameters4dvNV)
+#define glProgramParameters4fvNV GLEW_GET_FUN(__glewProgramParameters4fvNV)
+#define glRequestResidentProgramsNV GLEW_GET_FUN(__glewRequestResidentProgramsNV)
+#define glTrackMatrixNV GLEW_GET_FUN(__glewTrackMatrixNV)
+#define glVertexAttrib1dNV GLEW_GET_FUN(__glewVertexAttrib1dNV)
+#define glVertexAttrib1dvNV GLEW_GET_FUN(__glewVertexAttrib1dvNV)
+#define glVertexAttrib1fNV GLEW_GET_FUN(__glewVertexAttrib1fNV)
+#define glVertexAttrib1fvNV GLEW_GET_FUN(__glewVertexAttrib1fvNV)
+#define glVertexAttrib1sNV GLEW_GET_FUN(__glewVertexAttrib1sNV)
+#define glVertexAttrib1svNV GLEW_GET_FUN(__glewVertexAttrib1svNV)
+#define glVertexAttrib2dNV GLEW_GET_FUN(__glewVertexAttrib2dNV)
+#define glVertexAttrib2dvNV GLEW_GET_FUN(__glewVertexAttrib2dvNV)
+#define glVertexAttrib2fNV GLEW_GET_FUN(__glewVertexAttrib2fNV)
+#define glVertexAttrib2fvNV GLEW_GET_FUN(__glewVertexAttrib2fvNV)
+#define glVertexAttrib2sNV GLEW_GET_FUN(__glewVertexAttrib2sNV)
+#define glVertexAttrib2svNV GLEW_GET_FUN(__glewVertexAttrib2svNV)
+#define glVertexAttrib3dNV GLEW_GET_FUN(__glewVertexAttrib3dNV)
+#define glVertexAttrib3dvNV GLEW_GET_FUN(__glewVertexAttrib3dvNV)
+#define glVertexAttrib3fNV GLEW_GET_FUN(__glewVertexAttrib3fNV)
+#define glVertexAttrib3fvNV GLEW_GET_FUN(__glewVertexAttrib3fvNV)
+#define glVertexAttrib3sNV GLEW_GET_FUN(__glewVertexAttrib3sNV)
+#define glVertexAttrib3svNV GLEW_GET_FUN(__glewVertexAttrib3svNV)
+#define glVertexAttrib4dNV GLEW_GET_FUN(__glewVertexAttrib4dNV)
+#define glVertexAttrib4dvNV GLEW_GET_FUN(__glewVertexAttrib4dvNV)
+#define glVertexAttrib4fNV GLEW_GET_FUN(__glewVertexAttrib4fNV)
+#define glVertexAttrib4fvNV GLEW_GET_FUN(__glewVertexAttrib4fvNV)
+#define glVertexAttrib4sNV GLEW_GET_FUN(__glewVertexAttrib4sNV)
+#define glVertexAttrib4svNV GLEW_GET_FUN(__glewVertexAttrib4svNV)
+#define glVertexAttrib4ubNV GLEW_GET_FUN(__glewVertexAttrib4ubNV)
+#define glVertexAttrib4ubvNV GLEW_GET_FUN(__glewVertexAttrib4ubvNV)
+#define glVertexAttribPointerNV GLEW_GET_FUN(__glewVertexAttribPointerNV)
+#define glVertexAttribs1dvNV GLEW_GET_FUN(__glewVertexAttribs1dvNV)
+#define glVertexAttribs1fvNV GLEW_GET_FUN(__glewVertexAttribs1fvNV)
+#define glVertexAttribs1svNV GLEW_GET_FUN(__glewVertexAttribs1svNV)
+#define glVertexAttribs2dvNV GLEW_GET_FUN(__glewVertexAttribs2dvNV)
+#define glVertexAttribs2fvNV GLEW_GET_FUN(__glewVertexAttribs2fvNV)
+#define glVertexAttribs2svNV GLEW_GET_FUN(__glewVertexAttribs2svNV)
+#define glVertexAttribs3dvNV GLEW_GET_FUN(__glewVertexAttribs3dvNV)
+#define glVertexAttribs3fvNV GLEW_GET_FUN(__glewVertexAttribs3fvNV)
+#define glVertexAttribs3svNV GLEW_GET_FUN(__glewVertexAttribs3svNV)
+#define glVertexAttribs4dvNV GLEW_GET_FUN(__glewVertexAttribs4dvNV)
+#define glVertexAttribs4fvNV GLEW_GET_FUN(__glewVertexAttribs4fvNV)
+#define glVertexAttribs4svNV GLEW_GET_FUN(__glewVertexAttribs4svNV)
+#define glVertexAttribs4ubvNV GLEW_GET_FUN(__glewVertexAttribs4ubvNV)
+
+#define GLEW_NV_vertex_program GLEW_GET_VAR(__GLEW_NV_vertex_program)
+
+#endif /* GL_NV_vertex_program */
+
+/* ------------------------ GL_NV_vertex_program1_1 ------------------------ */
+
+#ifndef GL_NV_vertex_program1_1
+#define GL_NV_vertex_program1_1 1
+
+#define GLEW_NV_vertex_program1_1 GLEW_GET_VAR(__GLEW_NV_vertex_program1_1)
+
+#endif /* GL_NV_vertex_program1_1 */
+
+/* ------------------------- GL_NV_vertex_program2 ------------------------- */
+
+#ifndef GL_NV_vertex_program2
+#define GL_NV_vertex_program2 1
+
+#define GLEW_NV_vertex_program2 GLEW_GET_VAR(__GLEW_NV_vertex_program2)
+
+#endif /* GL_NV_vertex_program2 */
+
+/* ---------------------- GL_NV_vertex_program2_option --------------------- */
+
+#ifndef GL_NV_vertex_program2_option
+#define GL_NV_vertex_program2_option 1
+
+#define GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV 0x88F4
+#define GL_MAX_PROGRAM_CALL_DEPTH_NV 0x88F5
+
+#define GLEW_NV_vertex_program2_option GLEW_GET_VAR(__GLEW_NV_vertex_program2_option)
+
+#endif /* GL_NV_vertex_program2_option */
+
+/* ------------------------- GL_NV_vertex_program3 ------------------------- */
+
+#ifndef GL_NV_vertex_program3
+#define GL_NV_vertex_program3 1
+
+#define MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB 0x8B4C
+
+#define GLEW_NV_vertex_program3 GLEW_GET_VAR(__GLEW_NV_vertex_program3)
+
+#endif /* GL_NV_vertex_program3 */
+
+/* ------------------------- GL_NV_vertex_program4 ------------------------- */
+
+#ifndef GL_NV_vertex_program4
+#define GL_NV_vertex_program4 1
+
+#define GLEW_NV_vertex_program4 GLEW_GET_VAR(__GLEW_NV_vertex_program4)
+
+#endif /* GL_NV_vertex_program4 */
+
+/* ------------------------ GL_OES_byte_coordinates ------------------------ */
+
+#ifndef GL_OES_byte_coordinates
+#define GL_OES_byte_coordinates 1
+
+#define GL_BYTE 0x1400
+
+#define GLEW_OES_byte_coordinates GLEW_GET_VAR(__GLEW_OES_byte_coordinates)
+
+#endif /* GL_OES_byte_coordinates */
+
+/* ------------------- GL_OES_compressed_paletted_texture ------------------ */
+
+#ifndef GL_OES_compressed_paletted_texture
+#define GL_OES_compressed_paletted_texture 1
+
+#define GL_PALETTE4_RGB8_OES 0x8B90
+#define GL_PALETTE4_RGBA8_OES 0x8B91
+#define GL_PALETTE4_R5_G6_B5_OES 0x8B92
+#define GL_PALETTE4_RGBA4_OES 0x8B93
+#define GL_PALETTE4_RGB5_A1_OES 0x8B94
+#define GL_PALETTE8_RGB8_OES 0x8B95
+#define GL_PALETTE8_RGBA8_OES 0x8B96
+#define GL_PALETTE8_R5_G6_B5_OES 0x8B97
+#define GL_PALETTE8_RGBA4_OES 0x8B98
+#define GL_PALETTE8_RGB5_A1_OES 0x8B99
+
+#define GLEW_OES_compressed_paletted_texture GLEW_GET_VAR(__GLEW_OES_compressed_paletted_texture)
+
+#endif /* GL_OES_compressed_paletted_texture */
+
+/* --------------------------- GL_OES_read_format -------------------------- */
+
+#ifndef GL_OES_read_format
+#define GL_OES_read_format 1
+
+#define GL_IMPLEMENTATION_COLOR_READ_TYPE_OES 0x8B9A
+#define GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES 0x8B9B
+
+#define GLEW_OES_read_format GLEW_GET_VAR(__GLEW_OES_read_format)
+
+#endif /* GL_OES_read_format */
+
+/* ------------------------ GL_OES_single_precision ------------------------ */
+
+#ifndef GL_OES_single_precision
+#define GL_OES_single_precision 1
+
+typedef void (GLAPIENTRY * PFNGLCLEARDEPTHFOESPROC) (GLclampd depth);
+typedef void (GLAPIENTRY * PFNGLCLIPPLANEFOESPROC) (GLenum plane, const GLfloat* equation);
+typedef void (GLAPIENTRY * PFNGLDEPTHRANGEFOESPROC) (GLclampf n, GLclampf f);
+typedef void (GLAPIENTRY * PFNGLFRUSTUMFOESPROC) (GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f);
+typedef void (GLAPIENTRY * PFNGLGETCLIPPLANEFOESPROC) (GLenum plane, GLfloat* equation);
+typedef void (GLAPIENTRY * PFNGLORTHOFOESPROC) (GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f);
+
+#define glClearDepthfOES GLEW_GET_FUN(__glewClearDepthfOES)
+#define glClipPlanefOES GLEW_GET_FUN(__glewClipPlanefOES)
+#define glDepthRangefOES GLEW_GET_FUN(__glewDepthRangefOES)
+#define glFrustumfOES GLEW_GET_FUN(__glewFrustumfOES)
+#define glGetClipPlanefOES GLEW_GET_FUN(__glewGetClipPlanefOES)
+#define glOrthofOES GLEW_GET_FUN(__glewOrthofOES)
+
+#define GLEW_OES_single_precision GLEW_GET_VAR(__GLEW_OES_single_precision)
+
+#endif /* GL_OES_single_precision */
+
+/* ---------------------------- GL_OML_interlace --------------------------- */
+
+#ifndef GL_OML_interlace
+#define GL_OML_interlace 1
+
+#define GL_INTERLACE_OML 0x8980
+#define GL_INTERLACE_READ_OML 0x8981
+
+#define GLEW_OML_interlace GLEW_GET_VAR(__GLEW_OML_interlace)
+
+#endif /* GL_OML_interlace */
+
+/* ---------------------------- GL_OML_resample ---------------------------- */
+
+#ifndef GL_OML_resample
+#define GL_OML_resample 1
+
+#define GL_PACK_RESAMPLE_OML 0x8984
+#define GL_UNPACK_RESAMPLE_OML 0x8985
+#define GL_RESAMPLE_REPLICATE_OML 0x8986
+#define GL_RESAMPLE_ZERO_FILL_OML 0x8987
+#define GL_RESAMPLE_AVERAGE_OML 0x8988
+#define GL_RESAMPLE_DECIMATE_OML 0x8989
+
+#define GLEW_OML_resample GLEW_GET_VAR(__GLEW_OML_resample)
+
+#endif /* GL_OML_resample */
+
+/* ---------------------------- GL_OML_subsample --------------------------- */
+
+#ifndef GL_OML_subsample
+#define GL_OML_subsample 1
+
+#define GL_FORMAT_SUBSAMPLE_24_24_OML 0x8982
+#define GL_FORMAT_SUBSAMPLE_244_244_OML 0x8983
+
+#define GLEW_OML_subsample GLEW_GET_VAR(__GLEW_OML_subsample)
+
+#endif /* GL_OML_subsample */
+
+/* --------------------------- GL_PGI_misc_hints --------------------------- */
+
+#ifndef GL_PGI_misc_hints
+#define GL_PGI_misc_hints 1
+
+#define GL_PREFER_DOUBLEBUFFER_HINT_PGI 107000
+#define GL_CONSERVE_MEMORY_HINT_PGI 107005
+#define GL_RECLAIM_MEMORY_HINT_PGI 107006
+#define GL_NATIVE_GRAPHICS_HANDLE_PGI 107010
+#define GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI 107011
+#define GL_NATIVE_GRAPHICS_END_HINT_PGI 107012
+#define GL_ALWAYS_FAST_HINT_PGI 107020
+#define GL_ALWAYS_SOFT_HINT_PGI 107021
+#define GL_ALLOW_DRAW_OBJ_HINT_PGI 107022
+#define GL_ALLOW_DRAW_WIN_HINT_PGI 107023
+#define GL_ALLOW_DRAW_FRG_HINT_PGI 107024
+#define GL_ALLOW_DRAW_MEM_HINT_PGI 107025
+#define GL_STRICT_DEPTHFUNC_HINT_PGI 107030
+#define GL_STRICT_LIGHTING_HINT_PGI 107031
+#define GL_STRICT_SCISSOR_HINT_PGI 107032
+#define GL_FULL_STIPPLE_HINT_PGI 107033
+#define GL_CLIP_NEAR_HINT_PGI 107040
+#define GL_CLIP_FAR_HINT_PGI 107041
+#define GL_WIDE_LINE_HINT_PGI 107042
+#define GL_BACK_NORMALS_HINT_PGI 107043
+
+#define GLEW_PGI_misc_hints GLEW_GET_VAR(__GLEW_PGI_misc_hints)
+
+#endif /* GL_PGI_misc_hints */
+
+/* -------------------------- GL_PGI_vertex_hints -------------------------- */
+
+#ifndef GL_PGI_vertex_hints
+#define GL_PGI_vertex_hints 1
+
+#define GL_VERTEX23_BIT_PGI 0x00000004
+#define GL_VERTEX4_BIT_PGI 0x00000008
+#define GL_COLOR3_BIT_PGI 0x00010000
+#define GL_COLOR4_BIT_PGI 0x00020000
+#define GL_EDGEFLAG_BIT_PGI 0x00040000
+#define GL_INDEX_BIT_PGI 0x00080000
+#define GL_MAT_AMBIENT_BIT_PGI 0x00100000
+#define GL_VERTEX_DATA_HINT_PGI 107050
+#define GL_VERTEX_CONSISTENT_HINT_PGI 107051
+#define GL_MATERIAL_SIDE_HINT_PGI 107052
+#define GL_MAX_VERTEX_HINT_PGI 107053
+#define GL_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI 0x00200000
+#define GL_MAT_DIFFUSE_BIT_PGI 0x00400000
+#define GL_MAT_EMISSION_BIT_PGI 0x00800000
+#define GL_MAT_COLOR_INDEXES_BIT_PGI 0x01000000
+#define GL_MAT_SHININESS_BIT_PGI 0x02000000
+#define GL_MAT_SPECULAR_BIT_PGI 0x04000000
+#define GL_NORMAL_BIT_PGI 0x08000000
+#define GL_TEXCOORD1_BIT_PGI 0x10000000
+#define GL_TEXCOORD2_BIT_PGI 0x20000000
+#define GL_TEXCOORD3_BIT_PGI 0x40000000
+#define GL_TEXCOORD4_BIT_PGI 0x80000000
+
+#define GLEW_PGI_vertex_hints GLEW_GET_VAR(__GLEW_PGI_vertex_hints)
+
+#endif /* GL_PGI_vertex_hints */
+
+/* ----------------------- GL_REND_screen_coordinates ---------------------- */
+
+#ifndef GL_REND_screen_coordinates
+#define GL_REND_screen_coordinates 1
+
+#define GL_SCREEN_COORDINATES_REND 0x8490
+#define GL_INVERTED_SCREEN_W_REND 0x8491
+
+#define GLEW_REND_screen_coordinates GLEW_GET_VAR(__GLEW_REND_screen_coordinates)
+
+#endif /* GL_REND_screen_coordinates */
+
+/* ------------------------------- GL_S3_s3tc ------------------------------ */
+
+#ifndef GL_S3_s3tc
+#define GL_S3_s3tc 1
+
+#define GL_RGB_S3TC 0x83A0
+#define GL_RGB4_S3TC 0x83A1
+#define GL_RGBA_S3TC 0x83A2
+#define GL_RGBA4_S3TC 0x83A3
+#define GL_RGBA_DXT5_S3TC 0x83A4
+#define GL_RGBA4_DXT5_S3TC 0x83A5
+
+#define GLEW_S3_s3tc GLEW_GET_VAR(__GLEW_S3_s3tc)
+
+#endif /* GL_S3_s3tc */
+
+/* -------------------------- GL_SGIS_color_range -------------------------- */
+
+#ifndef GL_SGIS_color_range
+#define GL_SGIS_color_range 1
+
+#define GL_EXTENDED_RANGE_SGIS 0x85A5
+#define GL_MIN_RED_SGIS 0x85A6
+#define GL_MAX_RED_SGIS 0x85A7
+#define GL_MIN_GREEN_SGIS 0x85A8
+#define GL_MAX_GREEN_SGIS 0x85A9
+#define GL_MIN_BLUE_SGIS 0x85AA
+#define GL_MAX_BLUE_SGIS 0x85AB
+#define GL_MIN_ALPHA_SGIS 0x85AC
+#define GL_MAX_ALPHA_SGIS 0x85AD
+
+#define GLEW_SGIS_color_range GLEW_GET_VAR(__GLEW_SGIS_color_range)
+
+#endif /* GL_SGIS_color_range */
+
+/* ------------------------- GL_SGIS_detail_texture ------------------------ */
+
+#ifndef GL_SGIS_detail_texture
+#define GL_SGIS_detail_texture 1
+
+typedef void (GLAPIENTRY * PFNGLDETAILTEXFUNCSGISPROC) (GLenum target, GLsizei n, const GLfloat* points);
+typedef void (GLAPIENTRY * PFNGLGETDETAILTEXFUNCSGISPROC) (GLenum target, GLfloat* points);
+
+#define glDetailTexFuncSGIS GLEW_GET_FUN(__glewDetailTexFuncSGIS)
+#define glGetDetailTexFuncSGIS GLEW_GET_FUN(__glewGetDetailTexFuncSGIS)
+
+#define GLEW_SGIS_detail_texture GLEW_GET_VAR(__GLEW_SGIS_detail_texture)
+
+#endif /* GL_SGIS_detail_texture */
+
+/* -------------------------- GL_SGIS_fog_function ------------------------- */
+
+#ifndef GL_SGIS_fog_function
+#define GL_SGIS_fog_function 1
+
+typedef void (GLAPIENTRY * PFNGLFOGFUNCSGISPROC) (GLsizei n, const GLfloat* points);
+typedef void (GLAPIENTRY * PFNGLGETFOGFUNCSGISPROC) (GLfloat* points);
+
+#define glFogFuncSGIS GLEW_GET_FUN(__glewFogFuncSGIS)
+#define glGetFogFuncSGIS GLEW_GET_FUN(__glewGetFogFuncSGIS)
+
+#define GLEW_SGIS_fog_function GLEW_GET_VAR(__GLEW_SGIS_fog_function)
+
+#endif /* GL_SGIS_fog_function */
+
+/* ------------------------ GL_SGIS_generate_mipmap ------------------------ */
+
+#ifndef GL_SGIS_generate_mipmap
+#define GL_SGIS_generate_mipmap 1
+
+#define GL_GENERATE_MIPMAP_SGIS 0x8191
+#define GL_GENERATE_MIPMAP_HINT_SGIS 0x8192
+
+#define GLEW_SGIS_generate_mipmap GLEW_GET_VAR(__GLEW_SGIS_generate_mipmap)
+
+#endif /* GL_SGIS_generate_mipmap */
+
+/* -------------------------- GL_SGIS_multisample -------------------------- */
+
+#ifndef GL_SGIS_multisample
+#define GL_SGIS_multisample 1
+
+#define GL_MULTISAMPLE_SGIS 0x809D
+#define GL_SAMPLE_ALPHA_TO_MASK_SGIS 0x809E
+#define GL_SAMPLE_ALPHA_TO_ONE_SGIS 0x809F
+#define GL_SAMPLE_MASK_SGIS 0x80A0
+#define GL_1PASS_SGIS 0x80A1
+#define GL_2PASS_0_SGIS 0x80A2
+#define GL_2PASS_1_SGIS 0x80A3
+#define GL_4PASS_0_SGIS 0x80A4
+#define GL_4PASS_1_SGIS 0x80A5
+#define GL_4PASS_2_SGIS 0x80A6
+#define GL_4PASS_3_SGIS 0x80A7
+#define GL_SAMPLE_BUFFERS_SGIS 0x80A8
+#define GL_SAMPLES_SGIS 0x80A9
+#define GL_SAMPLE_MASK_VALUE_SGIS 0x80AA
+#define GL_SAMPLE_MASK_INVERT_SGIS 0x80AB
+#define GL_SAMPLE_PATTERN_SGIS 0x80AC
+#define GL_MULTISAMPLE_BIT_EXT 0x20000000
+
+typedef void (GLAPIENTRY * PFNGLSAMPLEMASKSGISPROC) (GLclampf value, GLboolean invert);
+typedef void (GLAPIENTRY * PFNGLSAMPLEPATTERNSGISPROC) (GLenum pattern);
+
+#define glSampleMaskSGIS GLEW_GET_FUN(__glewSampleMaskSGIS)
+#define glSamplePatternSGIS GLEW_GET_FUN(__glewSamplePatternSGIS)
+
+#define GLEW_SGIS_multisample GLEW_GET_VAR(__GLEW_SGIS_multisample)
+
+#endif /* GL_SGIS_multisample */
+
+/* ------------------------- GL_SGIS_pixel_texture ------------------------- */
+
+#ifndef GL_SGIS_pixel_texture
+#define GL_SGIS_pixel_texture 1
+
+#define GLEW_SGIS_pixel_texture GLEW_GET_VAR(__GLEW_SGIS_pixel_texture)
+
+#endif /* GL_SGIS_pixel_texture */
+
+/* ----------------------- GL_SGIS_point_line_texgen ----------------------- */
+
+#ifndef GL_SGIS_point_line_texgen
+#define GL_SGIS_point_line_texgen 1
+
+#define GL_EYE_DISTANCE_TO_POINT_SGIS 0x81F0
+#define GL_OBJECT_DISTANCE_TO_POINT_SGIS 0x81F1
+#define GL_EYE_DISTANCE_TO_LINE_SGIS 0x81F2
+#define GL_OBJECT_DISTANCE_TO_LINE_SGIS 0x81F3
+#define GL_EYE_POINT_SGIS 0x81F4
+#define GL_OBJECT_POINT_SGIS 0x81F5
+#define GL_EYE_LINE_SGIS 0x81F6
+#define GL_OBJECT_LINE_SGIS 0x81F7
+
+#define GLEW_SGIS_point_line_texgen GLEW_GET_VAR(__GLEW_SGIS_point_line_texgen)
+
+#endif /* GL_SGIS_point_line_texgen */
+
+/* ------------------------ GL_SGIS_sharpen_texture ------------------------ */
+
+#ifndef GL_SGIS_sharpen_texture
+#define GL_SGIS_sharpen_texture 1
+
+typedef void (GLAPIENTRY * PFNGLGETSHARPENTEXFUNCSGISPROC) (GLenum target, GLfloat* points);
+typedef void (GLAPIENTRY * PFNGLSHARPENTEXFUNCSGISPROC) (GLenum target, GLsizei n, const GLfloat* points);
+
+#define glGetSharpenTexFuncSGIS GLEW_GET_FUN(__glewGetSharpenTexFuncSGIS)
+#define glSharpenTexFuncSGIS GLEW_GET_FUN(__glewSharpenTexFuncSGIS)
+
+#define GLEW_SGIS_sharpen_texture GLEW_GET_VAR(__GLEW_SGIS_sharpen_texture)
+
+#endif /* GL_SGIS_sharpen_texture */
+
+/* --------------------------- GL_SGIS_texture4D --------------------------- */
+
+#ifndef GL_SGIS_texture4D
+#define GL_SGIS_texture4D 1
+
+typedef void (GLAPIENTRY * PFNGLTEXIMAGE4DSGISPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLsizei extent, GLint border, GLenum format, GLenum type, const void* pixels);
+typedef void (GLAPIENTRY * PFNGLTEXSUBIMAGE4DSGISPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint woffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei extent, GLenum format, GLenum type, const void* pixels);
+
+#define glTexImage4DSGIS GLEW_GET_FUN(__glewTexImage4DSGIS)
+#define glTexSubImage4DSGIS GLEW_GET_FUN(__glewTexSubImage4DSGIS)
+
+#define GLEW_SGIS_texture4D GLEW_GET_VAR(__GLEW_SGIS_texture4D)
+
+#endif /* GL_SGIS_texture4D */
+
+/* ---------------------- GL_SGIS_texture_border_clamp --------------------- */
+
+#ifndef GL_SGIS_texture_border_clamp
+#define GL_SGIS_texture_border_clamp 1
+
+#define GL_CLAMP_TO_BORDER_SGIS 0x812D
+
+#define GLEW_SGIS_texture_border_clamp GLEW_GET_VAR(__GLEW_SGIS_texture_border_clamp)
+
+#endif /* GL_SGIS_texture_border_clamp */
+
+/* ----------------------- GL_SGIS_texture_edge_clamp ---------------------- */
+
+#ifndef GL_SGIS_texture_edge_clamp
+#define GL_SGIS_texture_edge_clamp 1
+
+#define GL_CLAMP_TO_EDGE_SGIS 0x812F
+
+#define GLEW_SGIS_texture_edge_clamp GLEW_GET_VAR(__GLEW_SGIS_texture_edge_clamp)
+
+#endif /* GL_SGIS_texture_edge_clamp */
+
+/* ------------------------ GL_SGIS_texture_filter4 ------------------------ */
+
+#ifndef GL_SGIS_texture_filter4
+#define GL_SGIS_texture_filter4 1
+
+typedef void (GLAPIENTRY * PFNGLGETTEXFILTERFUNCSGISPROC) (GLenum target, GLenum filter, GLfloat* weights);
+typedef void (GLAPIENTRY * PFNGLTEXFILTERFUNCSGISPROC) (GLenum target, GLenum filter, GLsizei n, const GLfloat* weights);
+
+#define glGetTexFilterFuncSGIS GLEW_GET_FUN(__glewGetTexFilterFuncSGIS)
+#define glTexFilterFuncSGIS GLEW_GET_FUN(__glewTexFilterFuncSGIS)
+
+#define GLEW_SGIS_texture_filter4 GLEW_GET_VAR(__GLEW_SGIS_texture_filter4)
+
+#endif /* GL_SGIS_texture_filter4 */
+
+/* -------------------------- GL_SGIS_texture_lod -------------------------- */
+
+#ifndef GL_SGIS_texture_lod
+#define GL_SGIS_texture_lod 1
+
+#define GL_TEXTURE_MIN_LOD_SGIS 0x813A
+#define GL_TEXTURE_MAX_LOD_SGIS 0x813B
+#define GL_TEXTURE_BASE_LEVEL_SGIS 0x813C
+#define GL_TEXTURE_MAX_LEVEL_SGIS 0x813D
+
+#define GLEW_SGIS_texture_lod GLEW_GET_VAR(__GLEW_SGIS_texture_lod)
+
+#endif /* GL_SGIS_texture_lod */
+
+/* ------------------------- GL_SGIS_texture_select ------------------------ */
+
+#ifndef GL_SGIS_texture_select
+#define GL_SGIS_texture_select 1
+
+#define GLEW_SGIS_texture_select GLEW_GET_VAR(__GLEW_SGIS_texture_select)
+
+#endif /* GL_SGIS_texture_select */
+
+/* ----------------------------- GL_SGIX_async ----------------------------- */
+
+#ifndef GL_SGIX_async
+#define GL_SGIX_async 1
+
+#define GL_ASYNC_MARKER_SGIX 0x8329
+
+typedef void (GLAPIENTRY * PFNGLASYNCMARKERSGIXPROC) (GLuint marker);
+typedef void (GLAPIENTRY * PFNGLDELETEASYNCMARKERSSGIXPROC) (GLuint marker, GLsizei range);
+typedef GLint (GLAPIENTRY * PFNGLFINISHASYNCSGIXPROC) (GLuint* markerp);
+typedef GLuint (GLAPIENTRY * PFNGLGENASYNCMARKERSSGIXPROC) (GLsizei range);
+typedef GLboolean (GLAPIENTRY * PFNGLISASYNCMARKERSGIXPROC) (GLuint marker);
+typedef GLint (GLAPIENTRY * PFNGLPOLLASYNCSGIXPROC) (GLuint* markerp);
+
+#define glAsyncMarkerSGIX GLEW_GET_FUN(__glewAsyncMarkerSGIX)
+#define glDeleteAsyncMarkersSGIX GLEW_GET_FUN(__glewDeleteAsyncMarkersSGIX)
+#define glFinishAsyncSGIX GLEW_GET_FUN(__glewFinishAsyncSGIX)
+#define glGenAsyncMarkersSGIX GLEW_GET_FUN(__glewGenAsyncMarkersSGIX)
+#define glIsAsyncMarkerSGIX GLEW_GET_FUN(__glewIsAsyncMarkerSGIX)
+#define glPollAsyncSGIX GLEW_GET_FUN(__glewPollAsyncSGIX)
+
+#define GLEW_SGIX_async GLEW_GET_VAR(__GLEW_SGIX_async)
+
+#endif /* GL_SGIX_async */
+
+/* ------------------------ GL_SGIX_async_histogram ------------------------ */
+
+#ifndef GL_SGIX_async_histogram
+#define GL_SGIX_async_histogram 1
+
+#define GL_ASYNC_HISTOGRAM_SGIX 0x832C
+#define GL_MAX_ASYNC_HISTOGRAM_SGIX 0x832D
+
+#define GLEW_SGIX_async_histogram GLEW_GET_VAR(__GLEW_SGIX_async_histogram)
+
+#endif /* GL_SGIX_async_histogram */
+
+/* -------------------------- GL_SGIX_async_pixel -------------------------- */
+
+#ifndef GL_SGIX_async_pixel
+#define GL_SGIX_async_pixel 1
+
+#define GL_ASYNC_TEX_IMAGE_SGIX 0x835C
+#define GL_ASYNC_DRAW_PIXELS_SGIX 0x835D
+#define GL_ASYNC_READ_PIXELS_SGIX 0x835E
+#define GL_MAX_ASYNC_TEX_IMAGE_SGIX 0x835F
+#define GL_MAX_ASYNC_DRAW_PIXELS_SGIX 0x8360
+#define GL_MAX_ASYNC_READ_PIXELS_SGIX 0x8361
+
+#define GLEW_SGIX_async_pixel GLEW_GET_VAR(__GLEW_SGIX_async_pixel)
+
+#endif /* GL_SGIX_async_pixel */
+
+/* ----------------------- GL_SGIX_blend_alpha_minmax ---------------------- */
+
+#ifndef GL_SGIX_blend_alpha_minmax
+#define GL_SGIX_blend_alpha_minmax 1
+
+#define GL_ALPHA_MIN_SGIX 0x8320
+#define GL_ALPHA_MAX_SGIX 0x8321
+
+#define GLEW_SGIX_blend_alpha_minmax GLEW_GET_VAR(__GLEW_SGIX_blend_alpha_minmax)
+
+#endif /* GL_SGIX_blend_alpha_minmax */
+
+/* ---------------------------- GL_SGIX_clipmap ---------------------------- */
+
+#ifndef GL_SGIX_clipmap
+#define GL_SGIX_clipmap 1
+
+#define GLEW_SGIX_clipmap GLEW_GET_VAR(__GLEW_SGIX_clipmap)
+
+#endif /* GL_SGIX_clipmap */
+
+/* ---------------------- GL_SGIX_convolution_accuracy --------------------- */
+
+#ifndef GL_SGIX_convolution_accuracy
+#define GL_SGIX_convolution_accuracy 1
+
+#define GL_CONVOLUTION_HINT_SGIX 0x8316
+
+#define GLEW_SGIX_convolution_accuracy GLEW_GET_VAR(__GLEW_SGIX_convolution_accuracy)
+
+#endif /* GL_SGIX_convolution_accuracy */
+
+/* ------------------------- GL_SGIX_depth_texture ------------------------- */
+
+#ifndef GL_SGIX_depth_texture
+#define GL_SGIX_depth_texture 1
+
+#define GL_DEPTH_COMPONENT16_SGIX 0x81A5
+#define GL_DEPTH_COMPONENT24_SGIX 0x81A6
+#define GL_DEPTH_COMPONENT32_SGIX 0x81A7
+
+#define GLEW_SGIX_depth_texture GLEW_GET_VAR(__GLEW_SGIX_depth_texture)
+
+#endif /* GL_SGIX_depth_texture */
+
+/* -------------------------- GL_SGIX_flush_raster ------------------------- */
+
+#ifndef GL_SGIX_flush_raster
+#define GL_SGIX_flush_raster 1
+
+typedef void (GLAPIENTRY * PFNGLFLUSHRASTERSGIXPROC) (void);
+
+#define glFlushRasterSGIX GLEW_GET_FUN(__glewFlushRasterSGIX)
+
+#define GLEW_SGIX_flush_raster GLEW_GET_VAR(__GLEW_SGIX_flush_raster)
+
+#endif /* GL_SGIX_flush_raster */
+
+/* --------------------------- GL_SGIX_fog_offset -------------------------- */
+
+#ifndef GL_SGIX_fog_offset
+#define GL_SGIX_fog_offset 1
+
+#define GL_FOG_OFFSET_SGIX 0x8198
+#define GL_FOG_OFFSET_VALUE_SGIX 0x8199
+
+#define GLEW_SGIX_fog_offset GLEW_GET_VAR(__GLEW_SGIX_fog_offset)
+
+#endif /* GL_SGIX_fog_offset */
+
+/* -------------------------- GL_SGIX_fog_texture -------------------------- */
+
+#ifndef GL_SGIX_fog_texture
+#define GL_SGIX_fog_texture 1
+
+#define GL_TEXTURE_FOG_SGIX 0
+#define GL_FOG_PATCHY_FACTOR_SGIX 0
+#define GL_FRAGMENT_FOG_SGIX 0
+
+typedef void (GLAPIENTRY * PFNGLTEXTUREFOGSGIXPROC) (GLenum pname);
+
+#define glTextureFogSGIX GLEW_GET_FUN(__glewTextureFogSGIX)
+
+#define GLEW_SGIX_fog_texture GLEW_GET_VAR(__GLEW_SGIX_fog_texture)
+
+#endif /* GL_SGIX_fog_texture */
+
+/* ------------------- GL_SGIX_fragment_specular_lighting ------------------ */
+
+#ifndef GL_SGIX_fragment_specular_lighting
+#define GL_SGIX_fragment_specular_lighting 1
+
+typedef void (GLAPIENTRY * PFNGLFRAGMENTCOLORMATERIALSGIXPROC) (GLenum face, GLenum mode);
+typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTMODELFSGIXPROC) (GLenum pname, GLfloat param);
+typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTMODELFVSGIXPROC) (GLenum pname, GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTMODELISGIXPROC) (GLenum pname, GLint param);
+typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTMODELIVSGIXPROC) (GLenum pname, GLint* params);
+typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTFSGIXPROC) (GLenum light, GLenum pname, GLfloat param);
+typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTFVSGIXPROC) (GLenum light, GLenum pname, GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTISGIXPROC) (GLenum light, GLenum pname, GLint param);
+typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTIVSGIXPROC) (GLenum light, GLenum pname, GLint* params);
+typedef void (GLAPIENTRY * PFNGLFRAGMENTMATERIALFSGIXPROC) (GLenum face, GLenum pname, const GLfloat param);
+typedef void (GLAPIENTRY * PFNGLFRAGMENTMATERIALFVSGIXPROC) (GLenum face, GLenum pname, const GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLFRAGMENTMATERIALISGIXPROC) (GLenum face, GLenum pname, const GLint param);
+typedef void (GLAPIENTRY * PFNGLFRAGMENTMATERIALIVSGIXPROC) (GLenum face, GLenum pname, const GLint* params);
+typedef void (GLAPIENTRY * PFNGLGETFRAGMENTLIGHTFVSGIXPROC) (GLenum light, GLenum value, GLfloat* data);
+typedef void (GLAPIENTRY * PFNGLGETFRAGMENTLIGHTIVSGIXPROC) (GLenum light, GLenum value, GLint* data);
+typedef void (GLAPIENTRY * PFNGLGETFRAGMENTMATERIALFVSGIXPROC) (GLenum face, GLenum pname, const GLfloat* data);
+typedef void (GLAPIENTRY * PFNGLGETFRAGMENTMATERIALIVSGIXPROC) (GLenum face, GLenum pname, const GLint* data);
+
+#define glFragmentColorMaterialSGIX GLEW_GET_FUN(__glewFragmentColorMaterialSGIX)
+#define glFragmentLightModelfSGIX GLEW_GET_FUN(__glewFragmentLightModelfSGIX)
+#define glFragmentLightModelfvSGIX GLEW_GET_FUN(__glewFragmentLightModelfvSGIX)
+#define glFragmentLightModeliSGIX GLEW_GET_FUN(__glewFragmentLightModeliSGIX)
+#define glFragmentLightModelivSGIX GLEW_GET_FUN(__glewFragmentLightModelivSGIX)
+#define glFragmentLightfSGIX GLEW_GET_FUN(__glewFragmentLightfSGIX)
+#define glFragmentLightfvSGIX GLEW_GET_FUN(__glewFragmentLightfvSGIX)
+#define glFragmentLightiSGIX GLEW_GET_FUN(__glewFragmentLightiSGIX)
+#define glFragmentLightivSGIX GLEW_GET_FUN(__glewFragmentLightivSGIX)
+#define glFragmentMaterialfSGIX GLEW_GET_FUN(__glewFragmentMaterialfSGIX)
+#define glFragmentMaterialfvSGIX GLEW_GET_FUN(__glewFragmentMaterialfvSGIX)
+#define glFragmentMaterialiSGIX GLEW_GET_FUN(__glewFragmentMaterialiSGIX)
+#define glFragmentMaterialivSGIX GLEW_GET_FUN(__glewFragmentMaterialivSGIX)
+#define glGetFragmentLightfvSGIX GLEW_GET_FUN(__glewGetFragmentLightfvSGIX)
+#define glGetFragmentLightivSGIX GLEW_GET_FUN(__glewGetFragmentLightivSGIX)
+#define glGetFragmentMaterialfvSGIX GLEW_GET_FUN(__glewGetFragmentMaterialfvSGIX)
+#define glGetFragmentMaterialivSGIX GLEW_GET_FUN(__glewGetFragmentMaterialivSGIX)
+
+#define GLEW_SGIX_fragment_specular_lighting GLEW_GET_VAR(__GLEW_SGIX_fragment_specular_lighting)
+
+#endif /* GL_SGIX_fragment_specular_lighting */
+
+/* --------------------------- GL_SGIX_framezoom --------------------------- */
+
+#ifndef GL_SGIX_framezoom
+#define GL_SGIX_framezoom 1
+
+typedef void (GLAPIENTRY * PFNGLFRAMEZOOMSGIXPROC) (GLint factor);
+
+#define glFrameZoomSGIX GLEW_GET_FUN(__glewFrameZoomSGIX)
+
+#define GLEW_SGIX_framezoom GLEW_GET_VAR(__GLEW_SGIX_framezoom)
+
+#endif /* GL_SGIX_framezoom */
+
+/* --------------------------- GL_SGIX_interlace --------------------------- */
+
+#ifndef GL_SGIX_interlace
+#define GL_SGIX_interlace 1
+
+#define GL_INTERLACE_SGIX 0x8094
+
+#define GLEW_SGIX_interlace GLEW_GET_VAR(__GLEW_SGIX_interlace)
+
+#endif /* GL_SGIX_interlace */
+
+/* ------------------------- GL_SGIX_ir_instrument1 ------------------------ */
+
+#ifndef GL_SGIX_ir_instrument1
+#define GL_SGIX_ir_instrument1 1
+
+#define GLEW_SGIX_ir_instrument1 GLEW_GET_VAR(__GLEW_SGIX_ir_instrument1)
+
+#endif /* GL_SGIX_ir_instrument1 */
+
+/* ------------------------- GL_SGIX_list_priority ------------------------- */
+
+#ifndef GL_SGIX_list_priority
+#define GL_SGIX_list_priority 1
+
+#define GLEW_SGIX_list_priority GLEW_GET_VAR(__GLEW_SGIX_list_priority)
+
+#endif /* GL_SGIX_list_priority */
+
+/* ------------------------- GL_SGIX_pixel_texture ------------------------- */
+
+#ifndef GL_SGIX_pixel_texture
+#define GL_SGIX_pixel_texture 1
+
+typedef void (GLAPIENTRY * PFNGLPIXELTEXGENSGIXPROC) (GLenum mode);
+
+#define glPixelTexGenSGIX GLEW_GET_FUN(__glewPixelTexGenSGIX)
+
+#define GLEW_SGIX_pixel_texture GLEW_GET_VAR(__GLEW_SGIX_pixel_texture)
+
+#endif /* GL_SGIX_pixel_texture */
+
+/* ----------------------- GL_SGIX_pixel_texture_bits ---------------------- */
+
+#ifndef GL_SGIX_pixel_texture_bits
+#define GL_SGIX_pixel_texture_bits 1
+
+#define GLEW_SGIX_pixel_texture_bits GLEW_GET_VAR(__GLEW_SGIX_pixel_texture_bits)
+
+#endif /* GL_SGIX_pixel_texture_bits */
+
+/* ------------------------ GL_SGIX_reference_plane ------------------------ */
+
+#ifndef GL_SGIX_reference_plane
+#define GL_SGIX_reference_plane 1
+
+typedef void (GLAPIENTRY * PFNGLREFERENCEPLANESGIXPROC) (const GLdouble* equation);
+
+#define glReferencePlaneSGIX GLEW_GET_FUN(__glewReferencePlaneSGIX)
+
+#define GLEW_SGIX_reference_plane GLEW_GET_VAR(__GLEW_SGIX_reference_plane)
+
+#endif /* GL_SGIX_reference_plane */
+
+/* ---------------------------- GL_SGIX_resample --------------------------- */
+
+#ifndef GL_SGIX_resample
+#define GL_SGIX_resample 1
+
+#define GL_PACK_RESAMPLE_SGIX 0x842E
+#define GL_UNPACK_RESAMPLE_SGIX 0x842F
+#define GL_RESAMPLE_DECIMATE_SGIX 0x8430
+#define GL_RESAMPLE_REPLICATE_SGIX 0x8433
+#define GL_RESAMPLE_ZERO_FILL_SGIX 0x8434
+
+#define GLEW_SGIX_resample GLEW_GET_VAR(__GLEW_SGIX_resample)
+
+#endif /* GL_SGIX_resample */
+
+/* ----------------------------- GL_SGIX_shadow ---------------------------- */
+
+#ifndef GL_SGIX_shadow
+#define GL_SGIX_shadow 1
+
+#define GL_TEXTURE_COMPARE_SGIX 0x819A
+#define GL_TEXTURE_COMPARE_OPERATOR_SGIX 0x819B
+#define GL_TEXTURE_LEQUAL_R_SGIX 0x819C
+#define GL_TEXTURE_GEQUAL_R_SGIX 0x819D
+
+#define GLEW_SGIX_shadow GLEW_GET_VAR(__GLEW_SGIX_shadow)
+
+#endif /* GL_SGIX_shadow */
+
+/* ------------------------- GL_SGIX_shadow_ambient ------------------------ */
+
+#ifndef GL_SGIX_shadow_ambient
+#define GL_SGIX_shadow_ambient 1
+
+#define GL_SHADOW_AMBIENT_SGIX 0x80BF
+
+#define GLEW_SGIX_shadow_ambient GLEW_GET_VAR(__GLEW_SGIX_shadow_ambient)
+
+#endif /* GL_SGIX_shadow_ambient */
+
+/* ----------------------------- GL_SGIX_sprite ---------------------------- */
+
+#ifndef GL_SGIX_sprite
+#define GL_SGIX_sprite 1
+
+typedef void (GLAPIENTRY * PFNGLSPRITEPARAMETERFSGIXPROC) (GLenum pname, GLfloat param);
+typedef void (GLAPIENTRY * PFNGLSPRITEPARAMETERFVSGIXPROC) (GLenum pname, GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLSPRITEPARAMETERISGIXPROC) (GLenum pname, GLint param);
+typedef void (GLAPIENTRY * PFNGLSPRITEPARAMETERIVSGIXPROC) (GLenum pname, GLint* params);
+
+#define glSpriteParameterfSGIX GLEW_GET_FUN(__glewSpriteParameterfSGIX)
+#define glSpriteParameterfvSGIX GLEW_GET_FUN(__glewSpriteParameterfvSGIX)
+#define glSpriteParameteriSGIX GLEW_GET_FUN(__glewSpriteParameteriSGIX)
+#define glSpriteParameterivSGIX GLEW_GET_FUN(__glewSpriteParameterivSGIX)
+
+#define GLEW_SGIX_sprite GLEW_GET_VAR(__GLEW_SGIX_sprite)
+
+#endif /* GL_SGIX_sprite */
+
+/* ----------------------- GL_SGIX_tag_sample_buffer ----------------------- */
+
+#ifndef GL_SGIX_tag_sample_buffer
+#define GL_SGIX_tag_sample_buffer 1
+
+typedef void (GLAPIENTRY * PFNGLTAGSAMPLEBUFFERSGIXPROC) (void);
+
+#define glTagSampleBufferSGIX GLEW_GET_FUN(__glewTagSampleBufferSGIX)
+
+#define GLEW_SGIX_tag_sample_buffer GLEW_GET_VAR(__GLEW_SGIX_tag_sample_buffer)
+
+#endif /* GL_SGIX_tag_sample_buffer */
+
+/* ------------------------ GL_SGIX_texture_add_env ------------------------ */
+
+#ifndef GL_SGIX_texture_add_env
+#define GL_SGIX_texture_add_env 1
+
+#define GLEW_SGIX_texture_add_env GLEW_GET_VAR(__GLEW_SGIX_texture_add_env)
+
+#endif /* GL_SGIX_texture_add_env */
+
+/* -------------------- GL_SGIX_texture_coordinate_clamp ------------------- */
+
+#ifndef GL_SGIX_texture_coordinate_clamp
+#define GL_SGIX_texture_coordinate_clamp 1
+
+#define GL_TEXTURE_MAX_CLAMP_S_SGIX 0x8369
+#define GL_TEXTURE_MAX_CLAMP_T_SGIX 0x836A
+#define GL_TEXTURE_MAX_CLAMP_R_SGIX 0x836B
+
+#define GLEW_SGIX_texture_coordinate_clamp GLEW_GET_VAR(__GLEW_SGIX_texture_coordinate_clamp)
+
+#endif /* GL_SGIX_texture_coordinate_clamp */
+
+/* ------------------------ GL_SGIX_texture_lod_bias ----------------------- */
+
+#ifndef GL_SGIX_texture_lod_bias
+#define GL_SGIX_texture_lod_bias 1
+
+#define GLEW_SGIX_texture_lod_bias GLEW_GET_VAR(__GLEW_SGIX_texture_lod_bias)
+
+#endif /* GL_SGIX_texture_lod_bias */
+
+/* ---------------------- GL_SGIX_texture_multi_buffer --------------------- */
+
+#ifndef GL_SGIX_texture_multi_buffer
+#define GL_SGIX_texture_multi_buffer 1
+
+#define GL_TEXTURE_MULTI_BUFFER_HINT_SGIX 0x812E
+
+#define GLEW_SGIX_texture_multi_buffer GLEW_GET_VAR(__GLEW_SGIX_texture_multi_buffer)
+
+#endif /* GL_SGIX_texture_multi_buffer */
+
+/* ------------------------- GL_SGIX_texture_range ------------------------- */
+
+#ifndef GL_SGIX_texture_range
+#define GL_SGIX_texture_range 1
+
+#define GL_RGB_SIGNED_SGIX 0x85E0
+#define GL_RGBA_SIGNED_SGIX 0x85E1
+#define GL_ALPHA_SIGNED_SGIX 0x85E2
+#define GL_LUMINANCE_SIGNED_SGIX 0x85E3
+#define GL_INTENSITY_SIGNED_SGIX 0x85E4
+#define GL_LUMINANCE_ALPHA_SIGNED_SGIX 0x85E5
+#define GL_RGB16_SIGNED_SGIX 0x85E6
+#define GL_RGBA16_SIGNED_SGIX 0x85E7
+#define GL_ALPHA16_SIGNED_SGIX 0x85E8
+#define GL_LUMINANCE16_SIGNED_SGIX 0x85E9
+#define GL_INTENSITY16_SIGNED_SGIX 0x85EA
+#define GL_LUMINANCE16_ALPHA16_SIGNED_SGIX 0x85EB
+#define GL_RGB_EXTENDED_RANGE_SGIX 0x85EC
+#define GL_RGBA_EXTENDED_RANGE_SGIX 0x85ED
+#define GL_ALPHA_EXTENDED_RANGE_SGIX 0x85EE
+#define GL_LUMINANCE_EXTENDED_RANGE_SGIX 0x85EF
+#define GL_INTENSITY_EXTENDED_RANGE_SGIX 0x85F0
+#define GL_LUMINANCE_ALPHA_EXTENDED_RANGE_SGIX 0x85F1
+#define GL_RGB16_EXTENDED_RANGE_SGIX 0x85F2
+#define GL_RGBA16_EXTENDED_RANGE_SGIX 0x85F3
+#define GL_ALPHA16_EXTENDED_RANGE_SGIX 0x85F4
+#define GL_LUMINANCE16_EXTENDED_RANGE_SGIX 0x85F5
+#define GL_INTENSITY16_EXTENDED_RANGE_SGIX 0x85F6
+#define GL_LUMINANCE16_ALPHA16_EXTENDED_RANGE_SGIX 0x85F7
+#define GL_MIN_LUMINANCE_SGIS 0x85F8
+#define GL_MAX_LUMINANCE_SGIS 0x85F9
+#define GL_MIN_INTENSITY_SGIS 0x85FA
+#define GL_MAX_INTENSITY_SGIS 0x85FB
+
+#define GLEW_SGIX_texture_range GLEW_GET_VAR(__GLEW_SGIX_texture_range)
+
+#endif /* GL_SGIX_texture_range */
+
+/* ----------------------- GL_SGIX_texture_scale_bias ---------------------- */
+
+#ifndef GL_SGIX_texture_scale_bias
+#define GL_SGIX_texture_scale_bias 1
+
+#define GL_POST_TEXTURE_FILTER_BIAS_SGIX 0x8179
+#define GL_POST_TEXTURE_FILTER_SCALE_SGIX 0x817A
+#define GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX 0x817B
+#define GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX 0x817C
+
+#define GLEW_SGIX_texture_scale_bias GLEW_GET_VAR(__GLEW_SGIX_texture_scale_bias)
+
+#endif /* GL_SGIX_texture_scale_bias */
+
+/* ------------------------- GL_SGIX_vertex_preclip ------------------------ */
+
+#ifndef GL_SGIX_vertex_preclip
+#define GL_SGIX_vertex_preclip 1
+
+#define GL_VERTEX_PRECLIP_SGIX 0x83EE
+#define GL_VERTEX_PRECLIP_HINT_SGIX 0x83EF
+
+#define GLEW_SGIX_vertex_preclip GLEW_GET_VAR(__GLEW_SGIX_vertex_preclip)
+
+#endif /* GL_SGIX_vertex_preclip */
+
+/* ---------------------- GL_SGIX_vertex_preclip_hint ---------------------- */
+
+#ifndef GL_SGIX_vertex_preclip_hint
+#define GL_SGIX_vertex_preclip_hint 1
+
+#define GL_VERTEX_PRECLIP_SGIX 0x83EE
+#define GL_VERTEX_PRECLIP_HINT_SGIX 0x83EF
+
+#define GLEW_SGIX_vertex_preclip_hint GLEW_GET_VAR(__GLEW_SGIX_vertex_preclip_hint)
+
+#endif /* GL_SGIX_vertex_preclip_hint */
+
+/* ----------------------------- GL_SGIX_ycrcb ----------------------------- */
+
+#ifndef GL_SGIX_ycrcb
+#define GL_SGIX_ycrcb 1
+
+#define GLEW_SGIX_ycrcb GLEW_GET_VAR(__GLEW_SGIX_ycrcb)
+
+#endif /* GL_SGIX_ycrcb */
+
+/* -------------------------- GL_SGI_color_matrix -------------------------- */
+
+#ifndef GL_SGI_color_matrix
+#define GL_SGI_color_matrix 1
+
+#define GL_COLOR_MATRIX_SGI 0x80B1
+#define GL_COLOR_MATRIX_STACK_DEPTH_SGI 0x80B2
+#define GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI 0x80B3
+#define GL_POST_COLOR_MATRIX_RED_SCALE_SGI 0x80B4
+#define GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI 0x80B5
+#define GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI 0x80B6
+#define GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI 0x80B7
+#define GL_POST_COLOR_MATRIX_RED_BIAS_SGI 0x80B8
+#define GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI 0x80B9
+#define GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI 0x80BA
+#define GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI 0x80BB
+
+#define GLEW_SGI_color_matrix GLEW_GET_VAR(__GLEW_SGI_color_matrix)
+
+#endif /* GL_SGI_color_matrix */
+
+/* --------------------------- GL_SGI_color_table -------------------------- */
+
+#ifndef GL_SGI_color_table
+#define GL_SGI_color_table 1
+
+#define GL_COLOR_TABLE_SGI 0x80D0
+#define GL_POST_CONVOLUTION_COLOR_TABLE_SGI 0x80D1
+#define GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI 0x80D2
+#define GL_PROXY_COLOR_TABLE_SGI 0x80D3
+#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI 0x80D4
+#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI 0x80D5
+#define GL_COLOR_TABLE_SCALE_SGI 0x80D6
+#define GL_COLOR_TABLE_BIAS_SGI 0x80D7
+#define GL_COLOR_TABLE_FORMAT_SGI 0x80D8
+#define GL_COLOR_TABLE_WIDTH_SGI 0x80D9
+#define GL_COLOR_TABLE_RED_SIZE_SGI 0x80DA
+#define GL_COLOR_TABLE_GREEN_SIZE_SGI 0x80DB
+#define GL_COLOR_TABLE_BLUE_SIZE_SGI 0x80DC
+#define GL_COLOR_TABLE_ALPHA_SIZE_SGI 0x80DD
+#define GL_COLOR_TABLE_LUMINANCE_SIZE_SGI 0x80DE
+#define GL_COLOR_TABLE_INTENSITY_SIZE_SGI 0x80DF
+
+typedef void (GLAPIENTRY * PFNGLCOLORTABLEPARAMETERFVSGIPROC) (GLenum target, GLenum pname, const GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLCOLORTABLEPARAMETERIVSGIPROC) (GLenum target, GLenum pname, const GLint* params);
+typedef void (GLAPIENTRY * PFNGLCOLORTABLESGIPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void* table);
+typedef void (GLAPIENTRY * PFNGLCOPYCOLORTABLESGIPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
+typedef void (GLAPIENTRY * PFNGLGETCOLORTABLEPARAMETERFVSGIPROC) (GLenum target, GLenum pname, GLfloat* params);
+typedef void (GLAPIENTRY * PFNGLGETCOLORTABLEPARAMETERIVSGIPROC) (GLenum target, GLenum pname, GLint* params);
+typedef void (GLAPIENTRY * PFNGLGETCOLORTABLESGIPROC) (GLenum target, GLenum format, GLenum type, void* table);
+
+#define glColorTableParameterfvSGI GLEW_GET_FUN(__glewColorTableParameterfvSGI)
+#define glColorTableParameterivSGI GLEW_GET_FUN(__glewColorTableParameterivSGI)
+#define glColorTableSGI GLEW_GET_FUN(__glewColorTableSGI)
+#define glCopyColorTableSGI GLEW_GET_FUN(__glewCopyColorTableSGI)
+#define glGetColorTableParameterfvSGI GLEW_GET_FUN(__glewGetColorTableParameterfvSGI)
+#define glGetColorTableParameterivSGI GLEW_GET_FUN(__glewGetColorTableParameterivSGI)
+#define glGetColorTableSGI GLEW_GET_FUN(__glewGetColorTableSGI)
+
+#define GLEW_SGI_color_table GLEW_GET_VAR(__GLEW_SGI_color_table)
+
+#endif /* GL_SGI_color_table */
+
+/* ----------------------- GL_SGI_texture_color_table ---------------------- */
+
+#ifndef GL_SGI_texture_color_table
+#define GL_SGI_texture_color_table 1
+
+#define GL_TEXTURE_COLOR_TABLE_SGI 0x80BC
+#define GL_PROXY_TEXTURE_COLOR_TABLE_SGI 0x80BD
+
+#define GLEW_SGI_texture_color_table GLEW_GET_VAR(__GLEW_SGI_texture_color_table)
+
+#endif /* GL_SGI_texture_color_table */
+
+/* ------------------------- GL_SUNX_constant_data ------------------------- */
+
+#ifndef GL_SUNX_constant_data
+#define GL_SUNX_constant_data 1
+
+#define GL_UNPACK_CONSTANT_DATA_SUNX 0x81D5
+#define GL_TEXTURE_CONSTANT_DATA_SUNX 0x81D6
+
+typedef void (GLAPIENTRY * PFNGLFINISHTEXTURESUNXPROC) (void);
+
+#define glFinishTextureSUNX GLEW_GET_FUN(__glewFinishTextureSUNX)
+
+#define GLEW_SUNX_constant_data GLEW_GET_VAR(__GLEW_SUNX_constant_data)
+
+#endif /* GL_SUNX_constant_data */
+
+/* -------------------- GL_SUN_convolution_border_modes -------------------- */
+
+#ifndef GL_SUN_convolution_border_modes
+#define GL_SUN_convolution_border_modes 1
+
+#define GL_WRAP_BORDER_SUN 0x81D4
+
+#define GLEW_SUN_convolution_border_modes GLEW_GET_VAR(__GLEW_SUN_convolution_border_modes)
+
+#endif /* GL_SUN_convolution_border_modes */
+
+/* -------------------------- GL_SUN_global_alpha -------------------------- */
+
+#ifndef GL_SUN_global_alpha
+#define GL_SUN_global_alpha 1
+
+#define GL_GLOBAL_ALPHA_SUN 0x81D9
+#define GL_GLOBAL_ALPHA_FACTOR_SUN 0x81DA
+
+typedef void (GLAPIENTRY * PFNGLGLOBALALPHAFACTORBSUNPROC) (GLbyte factor);
+typedef void (GLAPIENTRY * PFNGLGLOBALALPHAFACTORDSUNPROC) (GLdouble factor);
+typedef void (GLAPIENTRY * PFNGLGLOBALALPHAFACTORFSUNPROC) (GLfloat factor);
+typedef void (GLAPIENTRY * PFNGLGLOBALALPHAFACTORISUNPROC) (GLint factor);
+typedef void (GLAPIENTRY * PFNGLGLOBALALPHAFACTORSSUNPROC) (GLshort factor);
+typedef void (GLAPIENTRY * PFNGLGLOBALALPHAFACTORUBSUNPROC) (GLubyte factor);
+typedef void (GLAPIENTRY * PFNGLGLOBALALPHAFACTORUISUNPROC) (GLuint factor);
+typedef void (GLAPIENTRY * PFNGLGLOBALALPHAFACTORUSSUNPROC) (GLushort factor);
+
+#define glGlobalAlphaFactorbSUN GLEW_GET_FUN(__glewGlobalAlphaFactorbSUN)
+#define glGlobalAlphaFactordSUN GLEW_GET_FUN(__glewGlobalAlphaFactordSUN)
+#define glGlobalAlphaFactorfSUN GLEW_GET_FUN(__glewGlobalAlphaFactorfSUN)
+#define glGlobalAlphaFactoriSUN GLEW_GET_FUN(__glewGlobalAlphaFactoriSUN)
+#define glGlobalAlphaFactorsSUN GLEW_GET_FUN(__glewGlobalAlphaFactorsSUN)
+#define glGlobalAlphaFactorubSUN GLEW_GET_FUN(__glewGlobalAlphaFactorubSUN)
+#define glGlobalAlphaFactoruiSUN GLEW_GET_FUN(__glewGlobalAlphaFactoruiSUN)
+#define glGlobalAlphaFactorusSUN GLEW_GET_FUN(__glewGlobalAlphaFactorusSUN)
+
+#define GLEW_SUN_global_alpha GLEW_GET_VAR(__GLEW_SUN_global_alpha)
+
+#endif /* GL_SUN_global_alpha */
+
+/* --------------------------- GL_SUN_mesh_array --------------------------- */
+
+#ifndef GL_SUN_mesh_array
+#define GL_SUN_mesh_array 1
+
+#define GL_QUAD_MESH_SUN 0x8614
+#define GL_TRIANGLE_MESH_SUN 0x8615
+
+#define GLEW_SUN_mesh_array GLEW_GET_VAR(__GLEW_SUN_mesh_array)
+
+#endif /* GL_SUN_mesh_array */
+
+/* ------------------------ GL_SUN_read_video_pixels ----------------------- */
+
+#ifndef GL_SUN_read_video_pixels
+#define GL_SUN_read_video_pixels 1
+
+typedef void (GLAPIENTRY * PFNGLREADVIDEOPIXELSSUNPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels);
+
+#define glReadVideoPixelsSUN GLEW_GET_FUN(__glewReadVideoPixelsSUN)
+
+#define GLEW_SUN_read_video_pixels GLEW_GET_VAR(__GLEW_SUN_read_video_pixels)
+
+#endif /* GL_SUN_read_video_pixels */
+
+/* --------------------------- GL_SUN_slice_accum -------------------------- */
+
+#ifndef GL_SUN_slice_accum
+#define GL_SUN_slice_accum 1
+
+#define GL_SLICE_ACCUM_SUN 0x85CC
+
+#define GLEW_SUN_slice_accum GLEW_GET_VAR(__GLEW_SUN_slice_accum)
+
+#endif /* GL_SUN_slice_accum */
+
+/* -------------------------- GL_SUN_triangle_list ------------------------- */
+
+#ifndef GL_SUN_triangle_list
+#define GL_SUN_triangle_list 1
+
+#define GL_RESTART_SUN 0x01
+#define GL_REPLACE_MIDDLE_SUN 0x02
+#define GL_REPLACE_OLDEST_SUN 0x03
+#define GL_TRIANGLE_LIST_SUN 0x81D7
+#define GL_REPLACEMENT_CODE_SUN 0x81D8
+#define GL_REPLACEMENT_CODE_ARRAY_SUN 0x85C0
+#define GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN 0x85C1
+#define GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN 0x85C2
+#define GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN 0x85C3
+#define GL_R1UI_V3F_SUN 0x85C4
+#define GL_R1UI_C4UB_V3F_SUN 0x85C5
+#define GL_R1UI_C3F_V3F_SUN 0x85C6
+#define GL_R1UI_N3F_V3F_SUN 0x85C7
+#define GL_R1UI_C4F_N3F_V3F_SUN 0x85C8
+#define GL_R1UI_T2F_V3F_SUN 0x85C9
+#define GL_R1UI_T2F_N3F_V3F_SUN 0x85CA
+#define GL_R1UI_T2F_C4F_N3F_V3F_SUN 0x85CB
+
+typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEPOINTERSUNPROC) (GLenum type, GLsizei stride, const void* pointer);
+typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUBSUNPROC) (GLubyte code);
+typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUBVSUNPROC) (const GLubyte* code);
+typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUISUNPROC) (GLuint code);
+typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUIVSUNPROC) (const GLuint* code);
+typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUSSUNPROC) (GLushort code);
+typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUSVSUNPROC) (const GLushort* code);
+
+#define glReplacementCodePointerSUN GLEW_GET_FUN(__glewReplacementCodePointerSUN)
+#define glReplacementCodeubSUN GLEW_GET_FUN(__glewReplacementCodeubSUN)
+#define glReplacementCodeubvSUN GLEW_GET_FUN(__glewReplacementCodeubvSUN)
+#define glReplacementCodeuiSUN GLEW_GET_FUN(__glewReplacementCodeuiSUN)
+#define glReplacementCodeuivSUN GLEW_GET_FUN(__glewReplacementCodeuivSUN)
+#define glReplacementCodeusSUN GLEW_GET_FUN(__glewReplacementCodeusSUN)
+#define glReplacementCodeusvSUN GLEW_GET_FUN(__glewReplacementCodeusvSUN)
+
+#define GLEW_SUN_triangle_list GLEW_GET_VAR(__GLEW_SUN_triangle_list)
+
+#endif /* GL_SUN_triangle_list */
+
+/* ----------------------------- GL_SUN_vertex ----------------------------- */
+
+#ifndef GL_SUN_vertex
+#define GL_SUN_vertex 1
+
+typedef void (GLAPIENTRY * PFNGLCOLOR3FVERTEX3FSUNPROC) (GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);
+typedef void (GLAPIENTRY * PFNGLCOLOR3FVERTEX3FVSUNPROC) (const GLfloat* c, const GLfloat *v);
+typedef void (GLAPIENTRY * PFNGLCOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
+typedef void (GLAPIENTRY * PFNGLCOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLfloat* c, const GLfloat *n, const GLfloat *v);
+typedef void (GLAPIENTRY * PFNGLCOLOR4UBVERTEX2FSUNPROC) (GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y);
+typedef void (GLAPIENTRY * PFNGLCOLOR4UBVERTEX2FVSUNPROC) (const GLubyte* c, const GLfloat *v);
+typedef void (GLAPIENTRY * PFNGLCOLOR4UBVERTEX3FSUNPROC) (GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);
+typedef void (GLAPIENTRY * PFNGLCOLOR4UBVERTEX3FVSUNPROC) (const GLubyte* c, const GLfloat *v);
+typedef void (GLAPIENTRY * PFNGLNORMAL3FVERTEX3FSUNPROC) (GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
+typedef void (GLAPIENTRY * PFNGLNORMAL3FVERTEX3FVSUNPROC) (const GLfloat* n, const GLfloat *v);
+typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FSUNPROC) (GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);
+typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FVSUNPROC) (const GLuint* rc, const GLfloat *c, const GLfloat *v);
+typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
+typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLuint* rc, const GLfloat *c, const GLfloat *n, const GLfloat *v);
+typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FSUNPROC) (GLuint rc, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);
+typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FVSUNPROC) (const GLuint* rc, const GLubyte *c, const GLfloat *v);
+typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
+typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FVSUNPROC) (const GLuint* rc, const GLfloat *n, const GLfloat *v);
+typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
+typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLuint* rc, const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);
+typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
+typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FVSUNPROC) (const GLuint* rc, const GLfloat *tc, const GLfloat *n, const GLfloat *v);
+typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FSUNPROC) (GLuint rc, GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z);
+typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FVSUNPROC) (const GLuint* rc, const GLfloat *tc, const GLfloat *v);
+typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUIVERTEX3FSUNPROC) (GLuint rc, GLfloat x, GLfloat y, GLfloat z);
+typedef void (GLAPIENTRY * PFNGLREPLACEMENTCODEUIVERTEX3FVSUNPROC) (const GLuint* rc, const GLfloat *v);
+typedef void (GLAPIENTRY * PFNGLTEXCOORD2FCOLOR3FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);
+typedef void (GLAPIENTRY * PFNGLTEXCOORD2FCOLOR3FVERTEX3FVSUNPROC) (const GLfloat* tc, const GLfloat *c, const GLfloat *v);
+typedef void (GLAPIENTRY * PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
+typedef void (GLAPIENTRY * PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLfloat* tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);
+typedef void (GLAPIENTRY * PFNGLTEXCOORD2FCOLOR4UBVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);
+typedef void (GLAPIENTRY * PFNGLTEXCOORD2FCOLOR4UBVERTEX3FVSUNPROC) (const GLfloat* tc, const GLubyte *c, const GLfloat *v);
+typedef void (GLAPIENTRY * PFNGLTEXCOORD2FNORMAL3FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
+typedef void (GLAPIENTRY * PFNGLTEXCOORD2FNORMAL3FVERTEX3FVSUNPROC) (const GLfloat* tc, const GLfloat *n, const GLfloat *v);
+typedef void (GLAPIENTRY * PFNGLTEXCOORD2FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z);
+typedef void (GLAPIENTRY * PFNGLTEXCOORD2FVERTEX3FVSUNPROC) (const GLfloat* tc, const GLfloat *v);
+typedef void (GLAPIENTRY * PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FSUNPROC) (GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+typedef void (GLAPIENTRY * PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FVSUNPROC) (const GLfloat* tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);
+typedef void (GLAPIENTRY * PFNGLTEXCOORD4FVERTEX4FSUNPROC) (GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+typedef void (GLAPIENTRY * PFNGLTEXCOORD4FVERTEX4FVSUNPROC) (const GLfloat* tc, const GLfloat *v);
+
+#define glColor3fVertex3fSUN GLEW_GET_FUN(__glewColor3fVertex3fSUN)
+#define glColor3fVertex3fvSUN GLEW_GET_FUN(__glewColor3fVertex3fvSUN)
+#define glColor4fNormal3fVertex3fSUN GLEW_GET_FUN(__glewColor4fNormal3fVertex3fSUN)
+#define glColor4fNormal3fVertex3fvSUN GLEW_GET_FUN(__glewColor4fNormal3fVertex3fvSUN)
+#define glColor4ubVertex2fSUN GLEW_GET_FUN(__glewColor4ubVertex2fSUN)
+#define glColor4ubVertex2fvSUN GLEW_GET_FUN(__glewColor4ubVertex2fvSUN)
+#define glColor4ubVertex3fSUN GLEW_GET_FUN(__glewColor4ubVertex3fSUN)
+#define glColor4ubVertex3fvSUN GLEW_GET_FUN(__glewColor4ubVertex3fvSUN)
+#define glNormal3fVertex3fSUN GLEW_GET_FUN(__glewNormal3fVertex3fSUN)
+#define glNormal3fVertex3fvSUN GLEW_GET_FUN(__glewNormal3fVertex3fvSUN)
+#define glReplacementCodeuiColor3fVertex3fSUN GLEW_GET_FUN(__glewReplacementCodeuiColor3fVertex3fSUN)
+#define glReplacementCodeuiColor3fVertex3fvSUN GLEW_GET_FUN(__glewReplacementCodeuiColor3fVertex3fvSUN)
+#define glReplacementCodeuiColor4fNormal3fVertex3fSUN GLEW_GET_FUN(__glewReplacementCodeuiColor4fNormal3fVertex3fSUN)
+#define glReplacementCodeuiColor4fNormal3fVertex3fvSUN GLEW_GET_FUN(__glewReplacementCodeuiColor4fNormal3fVertex3fvSUN)
+#define glReplacementCodeuiColor4ubVertex3fSUN GLEW_GET_FUN(__glewReplacementCodeuiColor4ubVertex3fSUN)
+#define glReplacementCodeuiColor4ubVertex3fvSUN GLEW_GET_FUN(__glewReplacementCodeuiColor4ubVertex3fvSUN)
+#define glReplacementCodeuiNormal3fVertex3fSUN GLEW_GET_FUN(__glewReplacementCodeuiNormal3fVertex3fSUN)
+#define glReplacementCodeuiNormal3fVertex3fvSUN GLEW_GET_FUN(__glewReplacementCodeuiNormal3fVertex3fvSUN)
+#define glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN GLEW_GET_FUN(__glewReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN)
+#define glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN GLEW_GET_FUN(__glewReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN)
+#define glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN GLEW_GET_FUN(__glewReplacementCodeuiTexCoord2fNormal3fVertex3fSUN)
+#define glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN GLEW_GET_FUN(__glewReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN)
+#define glReplacementCodeuiTexCoord2fVertex3fSUN GLEW_GET_FUN(__glewReplacementCodeuiTexCoord2fVertex3fSUN)
+#define glReplacementCodeuiTexCoord2fVertex3fvSUN GLEW_GET_FUN(__glewReplacementCodeuiTexCoord2fVertex3fvSUN)
+#define glReplacementCodeuiVertex3fSUN GLEW_GET_FUN(__glewReplacementCodeuiVertex3fSUN)
+#define glReplacementCodeuiVertex3fvSUN GLEW_GET_FUN(__glewReplacementCodeuiVertex3fvSUN)
+#define glTexCoord2fColor3fVertex3fSUN GLEW_GET_FUN(__glewTexCoord2fColor3fVertex3fSUN)
+#define glTexCoord2fColor3fVertex3fvSUN GLEW_GET_FUN(__glewTexCoord2fColor3fVertex3fvSUN)
+#define glTexCoord2fColor4fNormal3fVertex3fSUN GLEW_GET_FUN(__glewTexCoord2fColor4fNormal3fVertex3fSUN)
+#define glTexCoord2fColor4fNormal3fVertex3fvSUN GLEW_GET_FUN(__glewTexCoord2fColor4fNormal3fVertex3fvSUN)
+#define glTexCoord2fColor4ubVertex3fSUN GLEW_GET_FUN(__glewTexCoord2fColor4ubVertex3fSUN)
+#define glTexCoord2fColor4ubVertex3fvSUN GLEW_GET_FUN(__glewTexCoord2fColor4ubVertex3fvSUN)
+#define glTexCoord2fNormal3fVertex3fSUN GLEW_GET_FUN(__glewTexCoord2fNormal3fVertex3fSUN)
+#define glTexCoord2fNormal3fVertex3fvSUN GLEW_GET_FUN(__glewTexCoord2fNormal3fVertex3fvSUN)
+#define glTexCoord2fVertex3fSUN GLEW_GET_FUN(__glewTexCoord2fVertex3fSUN)
+#define glTexCoord2fVertex3fvSUN GLEW_GET_FUN(__glewTexCoord2fVertex3fvSUN)
+#define glTexCoord4fColor4fNormal3fVertex4fSUN GLEW_GET_FUN(__glewTexCoord4fColor4fNormal3fVertex4fSUN)
+#define glTexCoord4fColor4fNormal3fVertex4fvSUN GLEW_GET_FUN(__glewTexCoord4fColor4fNormal3fVertex4fvSUN)
+#define glTexCoord4fVertex4fSUN GLEW_GET_FUN(__glewTexCoord4fVertex4fSUN)
+#define glTexCoord4fVertex4fvSUN GLEW_GET_FUN(__glewTexCoord4fVertex4fvSUN)
+
+#define GLEW_SUN_vertex GLEW_GET_VAR(__GLEW_SUN_vertex)
+
+#endif /* GL_SUN_vertex */
+
+/* -------------------------- GL_WIN_phong_shading ------------------------- */
+
+#ifndef GL_WIN_phong_shading
+#define GL_WIN_phong_shading 1
+
+#define GL_PHONG_WIN 0x80EA
+#define GL_PHONG_HINT_WIN 0x80EB
+
+#define GLEW_WIN_phong_shading GLEW_GET_VAR(__GLEW_WIN_phong_shading)
+
+#endif /* GL_WIN_phong_shading */
+
+/* -------------------------- GL_WIN_specular_fog -------------------------- */
+
+#ifndef GL_WIN_specular_fog
+#define GL_WIN_specular_fog 1
+
+#define GL_FOG_SPECULAR_TEXTURE_WIN 0x80EC
+
+#define GLEW_WIN_specular_fog GLEW_GET_VAR(__GLEW_WIN_specular_fog)
+
+#endif /* GL_WIN_specular_fog */
+
+/* ---------------------------- GL_WIN_swap_hint --------------------------- */
+
+#ifndef GL_WIN_swap_hint
+#define GL_WIN_swap_hint 1
+
+typedef void (GLAPIENTRY * PFNGLADDSWAPHINTRECTWINPROC) (GLint x, GLint y, GLsizei width, GLsizei height);
+
+#define glAddSwapHintRectWIN GLEW_GET_FUN(__glewAddSwapHintRectWIN)
+
+#define GLEW_WIN_swap_hint GLEW_GET_VAR(__GLEW_WIN_swap_hint)
+
+#endif /* GL_WIN_swap_hint */
+
+/* ------------------------------------------------------------------------- */
+
+#if defined(GLEW_MX) && defined(_WIN32)
+#define GLEW_FUN_EXPORT
+#else
+#define GLEW_FUN_EXPORT GLEWAPI
+#endif /* GLEW_MX */
+
+#if defined(GLEW_MX)
+#define GLEW_VAR_EXPORT
+#else
+#define GLEW_VAR_EXPORT GLEWAPI
+#endif /* GLEW_MX */
+
+#if defined(GLEW_MX) && defined(_WIN32)
+struct GLEWContextStruct
+{
+#endif /* GLEW_MX */
+
+GLEW_FUN_EXPORT PFNGLCOPYTEXSUBIMAGE3DPROC __glewCopyTexSubImage3D;
+GLEW_FUN_EXPORT PFNGLDRAWRANGEELEMENTSPROC __glewDrawRangeElements;
+GLEW_FUN_EXPORT PFNGLTEXIMAGE3DPROC __glewTexImage3D;
+GLEW_FUN_EXPORT PFNGLTEXSUBIMAGE3DPROC __glewTexSubImage3D;
+
+GLEW_FUN_EXPORT PFNGLACTIVETEXTUREPROC __glewActiveTexture;
+GLEW_FUN_EXPORT PFNGLCLIENTACTIVETEXTUREPROC __glewClientActiveTexture;
+GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXIMAGE1DPROC __glewCompressedTexImage1D;
+GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXIMAGE2DPROC __glewCompressedTexImage2D;
+GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXIMAGE3DPROC __glewCompressedTexImage3D;
+GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC __glewCompressedTexSubImage1D;
+GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC __glewCompressedTexSubImage2D;
+GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC __glewCompressedTexSubImage3D;
+GLEW_FUN_EXPORT PFNGLGETCOMPRESSEDTEXIMAGEPROC __glewGetCompressedTexImage;
+GLEW_FUN_EXPORT PFNGLLOADTRANSPOSEMATRIXDPROC __glewLoadTransposeMatrixd;
+GLEW_FUN_EXPORT PFNGLLOADTRANSPOSEMATRIXFPROC __glewLoadTransposeMatrixf;
+GLEW_FUN_EXPORT PFNGLMULTTRANSPOSEMATRIXDPROC __glewMultTransposeMatrixd;
+GLEW_FUN_EXPORT PFNGLMULTTRANSPOSEMATRIXFPROC __glewMultTransposeMatrixf;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1DPROC __glewMultiTexCoord1d;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1DVPROC __glewMultiTexCoord1dv;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1FPROC __glewMultiTexCoord1f;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1FVPROC __glewMultiTexCoord1fv;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1IPROC __glewMultiTexCoord1i;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1IVPROC __glewMultiTexCoord1iv;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1SPROC __glewMultiTexCoord1s;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1SVPROC __glewMultiTexCoord1sv;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2DPROC __glewMultiTexCoord2d;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2DVPROC __glewMultiTexCoord2dv;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2FPROC __glewMultiTexCoord2f;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2FVPROC __glewMultiTexCoord2fv;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2IPROC __glewMultiTexCoord2i;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2IVPROC __glewMultiTexCoord2iv;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2SPROC __glewMultiTexCoord2s;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2SVPROC __glewMultiTexCoord2sv;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3DPROC __glewMultiTexCoord3d;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3DVPROC __glewMultiTexCoord3dv;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3FPROC __glewMultiTexCoord3f;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3FVPROC __glewMultiTexCoord3fv;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3IPROC __glewMultiTexCoord3i;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3IVPROC __glewMultiTexCoord3iv;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3SPROC __glewMultiTexCoord3s;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3SVPROC __glewMultiTexCoord3sv;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4DPROC __glewMultiTexCoord4d;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4DVPROC __glewMultiTexCoord4dv;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4FPROC __glewMultiTexCoord4f;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4FVPROC __glewMultiTexCoord4fv;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4IPROC __glewMultiTexCoord4i;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4IVPROC __glewMultiTexCoord4iv;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4SPROC __glewMultiTexCoord4s;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4SVPROC __glewMultiTexCoord4sv;
+GLEW_FUN_EXPORT PFNGLSAMPLECOVERAGEPROC __glewSampleCoverage;
+
+GLEW_FUN_EXPORT PFNGLBLENDCOLORPROC __glewBlendColor;
+GLEW_FUN_EXPORT PFNGLBLENDEQUATIONPROC __glewBlendEquation;
+GLEW_FUN_EXPORT PFNGLBLENDFUNCSEPARATEPROC __glewBlendFuncSeparate;
+GLEW_FUN_EXPORT PFNGLFOGCOORDPOINTERPROC __glewFogCoordPointer;
+GLEW_FUN_EXPORT PFNGLFOGCOORDDPROC __glewFogCoordd;
+GLEW_FUN_EXPORT PFNGLFOGCOORDDVPROC __glewFogCoorddv;
+GLEW_FUN_EXPORT PFNGLFOGCOORDFPROC __glewFogCoordf;
+GLEW_FUN_EXPORT PFNGLFOGCOORDFVPROC __glewFogCoordfv;
+GLEW_FUN_EXPORT PFNGLMULTIDRAWARRAYSPROC __glewMultiDrawArrays;
+GLEW_FUN_EXPORT PFNGLMULTIDRAWELEMENTSPROC __glewMultiDrawElements;
+GLEW_FUN_EXPORT PFNGLPOINTPARAMETERFPROC __glewPointParameterf;
+GLEW_FUN_EXPORT PFNGLPOINTPARAMETERFVPROC __glewPointParameterfv;
+GLEW_FUN_EXPORT PFNGLPOINTPARAMETERIPROC __glewPointParameteri;
+GLEW_FUN_EXPORT PFNGLPOINTPARAMETERIVPROC __glewPointParameteriv;
+GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3BPROC __glewSecondaryColor3b;
+GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3BVPROC __glewSecondaryColor3bv;
+GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3DPROC __glewSecondaryColor3d;
+GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3DVPROC __glewSecondaryColor3dv;
+GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3FPROC __glewSecondaryColor3f;
+GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3FVPROC __glewSecondaryColor3fv;
+GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3IPROC __glewSecondaryColor3i;
+GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3IVPROC __glewSecondaryColor3iv;
+GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3SPROC __glewSecondaryColor3s;
+GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3SVPROC __glewSecondaryColor3sv;
+GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3UBPROC __glewSecondaryColor3ub;
+GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3UBVPROC __glewSecondaryColor3ubv;
+GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3UIPROC __glewSecondaryColor3ui;
+GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3UIVPROC __glewSecondaryColor3uiv;
+GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3USPROC __glewSecondaryColor3us;
+GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3USVPROC __glewSecondaryColor3usv;
+GLEW_FUN_EXPORT PFNGLSECONDARYCOLORPOINTERPROC __glewSecondaryColorPointer;
+GLEW_FUN_EXPORT PFNGLWINDOWPOS2DPROC __glewWindowPos2d;
+GLEW_FUN_EXPORT PFNGLWINDOWPOS2DVPROC __glewWindowPos2dv;
+GLEW_FUN_EXPORT PFNGLWINDOWPOS2FPROC __glewWindowPos2f;
+GLEW_FUN_EXPORT PFNGLWINDOWPOS2FVPROC __glewWindowPos2fv;
+GLEW_FUN_EXPORT PFNGLWINDOWPOS2IPROC __glewWindowPos2i;
+GLEW_FUN_EXPORT PFNGLWINDOWPOS2IVPROC __glewWindowPos2iv;
+GLEW_FUN_EXPORT PFNGLWINDOWPOS2SPROC __glewWindowPos2s;
+GLEW_FUN_EXPORT PFNGLWINDOWPOS2SVPROC __glewWindowPos2sv;
+GLEW_FUN_EXPORT PFNGLWINDOWPOS3DPROC __glewWindowPos3d;
+GLEW_FUN_EXPORT PFNGLWINDOWPOS3DVPROC __glewWindowPos3dv;
+GLEW_FUN_EXPORT PFNGLWINDOWPOS3FPROC __glewWindowPos3f;
+GLEW_FUN_EXPORT PFNGLWINDOWPOS3FVPROC __glewWindowPos3fv;
+GLEW_FUN_EXPORT PFNGLWINDOWPOS3IPROC __glewWindowPos3i;
+GLEW_FUN_EXPORT PFNGLWINDOWPOS3IVPROC __glewWindowPos3iv;
+GLEW_FUN_EXPORT PFNGLWINDOWPOS3SPROC __glewWindowPos3s;
+GLEW_FUN_EXPORT PFNGLWINDOWPOS3SVPROC __glewWindowPos3sv;
+
+GLEW_FUN_EXPORT PFNGLBEGINQUERYPROC __glewBeginQuery;
+GLEW_FUN_EXPORT PFNGLBINDBUFFERPROC __glewBindBuffer;
+GLEW_FUN_EXPORT PFNGLBUFFERDATAPROC __glewBufferData;
+GLEW_FUN_EXPORT PFNGLBUFFERSUBDATAPROC __glewBufferSubData;
+GLEW_FUN_EXPORT PFNGLDELETEBUFFERSPROC __glewDeleteBuffers;
+GLEW_FUN_EXPORT PFNGLDELETEQUERIESPROC __glewDeleteQueries;
+GLEW_FUN_EXPORT PFNGLENDQUERYPROC __glewEndQuery;
+GLEW_FUN_EXPORT PFNGLGENBUFFERSPROC __glewGenBuffers;
+GLEW_FUN_EXPORT PFNGLGENQUERIESPROC __glewGenQueries;
+GLEW_FUN_EXPORT PFNGLGETBUFFERPARAMETERIVPROC __glewGetBufferParameteriv;
+GLEW_FUN_EXPORT PFNGLGETBUFFERPOINTERVPROC __glewGetBufferPointerv;
+GLEW_FUN_EXPORT PFNGLGETBUFFERSUBDATAPROC __glewGetBufferSubData;
+GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTIVPROC __glewGetQueryObjectiv;
+GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTUIVPROC __glewGetQueryObjectuiv;
+GLEW_FUN_EXPORT PFNGLGETQUERYIVPROC __glewGetQueryiv;
+GLEW_FUN_EXPORT PFNGLISBUFFERPROC __glewIsBuffer;
+GLEW_FUN_EXPORT PFNGLISQUERYPROC __glewIsQuery;
+GLEW_FUN_EXPORT PFNGLMAPBUFFERPROC __glewMapBuffer;
+GLEW_FUN_EXPORT PFNGLUNMAPBUFFERPROC __glewUnmapBuffer;
+
+GLEW_FUN_EXPORT PFNGLATTACHSHADERPROC __glewAttachShader;
+GLEW_FUN_EXPORT PFNGLBINDATTRIBLOCATIONPROC __glewBindAttribLocation;
+GLEW_FUN_EXPORT PFNGLBLENDEQUATIONSEPARATEPROC __glewBlendEquationSeparate;
+GLEW_FUN_EXPORT PFNGLCOMPILESHADERPROC __glewCompileShader;
+GLEW_FUN_EXPORT PFNGLCREATEPROGRAMPROC __glewCreateProgram;
+GLEW_FUN_EXPORT PFNGLCREATESHADERPROC __glewCreateShader;
+GLEW_FUN_EXPORT PFNGLDELETEPROGRAMPROC __glewDeleteProgram;
+GLEW_FUN_EXPORT PFNGLDELETESHADERPROC __glewDeleteShader;
+GLEW_FUN_EXPORT PFNGLDETACHSHADERPROC __glewDetachShader;
+GLEW_FUN_EXPORT PFNGLDISABLEVERTEXATTRIBARRAYPROC __glewDisableVertexAttribArray;
+GLEW_FUN_EXPORT PFNGLDRAWBUFFERSPROC __glewDrawBuffers;
+GLEW_FUN_EXPORT PFNGLENABLEVERTEXATTRIBARRAYPROC __glewEnableVertexAttribArray;
+GLEW_FUN_EXPORT PFNGLGETACTIVEATTRIBPROC __glewGetActiveAttrib;
+GLEW_FUN_EXPORT PFNGLGETACTIVEUNIFORMPROC __glewGetActiveUniform;
+GLEW_FUN_EXPORT PFNGLGETATTACHEDSHADERSPROC __glewGetAttachedShaders;
+GLEW_FUN_EXPORT PFNGLGETATTRIBLOCATIONPROC __glewGetAttribLocation;
+GLEW_FUN_EXPORT PFNGLGETPROGRAMINFOLOGPROC __glewGetProgramInfoLog;
+GLEW_FUN_EXPORT PFNGLGETPROGRAMIVPROC __glewGetProgramiv;
+GLEW_FUN_EXPORT PFNGLGETSHADERINFOLOGPROC __glewGetShaderInfoLog;
+GLEW_FUN_EXPORT PFNGLGETSHADERSOURCEPROC __glewGetShaderSource;
+GLEW_FUN_EXPORT PFNGLGETSHADERIVPROC __glewGetShaderiv;
+GLEW_FUN_EXPORT PFNGLGETUNIFORMLOCATIONPROC __glewGetUniformLocation;
+GLEW_FUN_EXPORT PFNGLGETUNIFORMFVPROC __glewGetUniformfv;
+GLEW_FUN_EXPORT PFNGLGETUNIFORMIVPROC __glewGetUniformiv;
+GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBPOINTERVPROC __glewGetVertexAttribPointerv;
+GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBDVPROC __glewGetVertexAttribdv;
+GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBFVPROC __glewGetVertexAttribfv;
+GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBIVPROC __glewGetVertexAttribiv;
+GLEW_FUN_EXPORT PFNGLISPROGRAMPROC __glewIsProgram;
+GLEW_FUN_EXPORT PFNGLISSHADERPROC __glewIsShader;
+GLEW_FUN_EXPORT PFNGLLINKPROGRAMPROC __glewLinkProgram;
+GLEW_FUN_EXPORT PFNGLSHADERSOURCEPROC __glewShaderSource;
+GLEW_FUN_EXPORT PFNGLSTENCILFUNCSEPARATEPROC __glewStencilFuncSeparate;
+GLEW_FUN_EXPORT PFNGLSTENCILMASKSEPARATEPROC __glewStencilMaskSeparate;
+GLEW_FUN_EXPORT PFNGLSTENCILOPSEPARATEPROC __glewStencilOpSeparate;
+GLEW_FUN_EXPORT PFNGLUNIFORM1FPROC __glewUniform1f;
+GLEW_FUN_EXPORT PFNGLUNIFORM1FVPROC __glewUniform1fv;
+GLEW_FUN_EXPORT PFNGLUNIFORM1IPROC __glewUniform1i;
+GLEW_FUN_EXPORT PFNGLUNIFORM1IVPROC __glewUniform1iv;
+GLEW_FUN_EXPORT PFNGLUNIFORM2FPROC __glewUniform2f;
+GLEW_FUN_EXPORT PFNGLUNIFORM2FVPROC __glewUniform2fv;
+GLEW_FUN_EXPORT PFNGLUNIFORM2IPROC __glewUniform2i;
+GLEW_FUN_EXPORT PFNGLUNIFORM2IVPROC __glewUniform2iv;
+GLEW_FUN_EXPORT PFNGLUNIFORM3FPROC __glewUniform3f;
+GLEW_FUN_EXPORT PFNGLUNIFORM3FVPROC __glewUniform3fv;
+GLEW_FUN_EXPORT PFNGLUNIFORM3IPROC __glewUniform3i;
+GLEW_FUN_EXPORT PFNGLUNIFORM3IVPROC __glewUniform3iv;
+GLEW_FUN_EXPORT PFNGLUNIFORM4FPROC __glewUniform4f;
+GLEW_FUN_EXPORT PFNGLUNIFORM4FVPROC __glewUniform4fv;
+GLEW_FUN_EXPORT PFNGLUNIFORM4IPROC __glewUniform4i;
+GLEW_FUN_EXPORT PFNGLUNIFORM4IVPROC __glewUniform4iv;
+GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX2FVPROC __glewUniformMatrix2fv;
+GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX3FVPROC __glewUniformMatrix3fv;
+GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX4FVPROC __glewUniformMatrix4fv;
+GLEW_FUN_EXPORT PFNGLUSEPROGRAMPROC __glewUseProgram;
+GLEW_FUN_EXPORT PFNGLVALIDATEPROGRAMPROC __glewValidateProgram;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1DPROC __glewVertexAttrib1d;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1DVPROC __glewVertexAttrib1dv;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1FPROC __glewVertexAttrib1f;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1FVPROC __glewVertexAttrib1fv;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1SPROC __glewVertexAttrib1s;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1SVPROC __glewVertexAttrib1sv;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2DPROC __glewVertexAttrib2d;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2DVPROC __glewVertexAttrib2dv;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2FPROC __glewVertexAttrib2f;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2FVPROC __glewVertexAttrib2fv;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2SPROC __glewVertexAttrib2s;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2SVPROC __glewVertexAttrib2sv;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3DPROC __glewVertexAttrib3d;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3DVPROC __glewVertexAttrib3dv;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3FPROC __glewVertexAttrib3f;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3FVPROC __glewVertexAttrib3fv;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3SPROC __glewVertexAttrib3s;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3SVPROC __glewVertexAttrib3sv;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NBVPROC __glewVertexAttrib4Nbv;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NIVPROC __glewVertexAttrib4Niv;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NSVPROC __glewVertexAttrib4Nsv;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NUBPROC __glewVertexAttrib4Nub;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NUBVPROC __glewVertexAttrib4Nubv;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NUIVPROC __glewVertexAttrib4Nuiv;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NUSVPROC __glewVertexAttrib4Nusv;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4BVPROC __glewVertexAttrib4bv;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4DPROC __glewVertexAttrib4d;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4DVPROC __glewVertexAttrib4dv;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4FPROC __glewVertexAttrib4f;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4FVPROC __glewVertexAttrib4fv;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4IVPROC __glewVertexAttrib4iv;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4SPROC __glewVertexAttrib4s;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4SVPROC __glewVertexAttrib4sv;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4UBVPROC __glewVertexAttrib4ubv;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4UIVPROC __glewVertexAttrib4uiv;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4USVPROC __glewVertexAttrib4usv;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBPOINTERPROC __glewVertexAttribPointer;
+
+GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX2X3FVPROC __glewUniformMatrix2x3fv;
+GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX2X4FVPROC __glewUniformMatrix2x4fv;
+GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX3X2FVPROC __glewUniformMatrix3x2fv;
+GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX3X4FVPROC __glewUniformMatrix3x4fv;
+GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX4X2FVPROC __glewUniformMatrix4x2fv;
+GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX4X3FVPROC __glewUniformMatrix4x3fv;
+
+GLEW_FUN_EXPORT PFNGLBEGINCONDITIONALRENDERPROC __glewBeginConditionalRender;
+GLEW_FUN_EXPORT PFNGLBEGINTRANSFORMFEEDBACKPROC __glewBeginTransformFeedback;
+GLEW_FUN_EXPORT PFNGLBINDFRAGDATALOCATIONPROC __glewBindFragDataLocation;
+GLEW_FUN_EXPORT PFNGLCLAMPCOLORPROC __glewClampColor;
+GLEW_FUN_EXPORT PFNGLCLEARBUFFERFIPROC __glewClearBufferfi;
+GLEW_FUN_EXPORT PFNGLCLEARBUFFERFVPROC __glewClearBufferfv;
+GLEW_FUN_EXPORT PFNGLCLEARBUFFERIVPROC __glewClearBufferiv;
+GLEW_FUN_EXPORT PFNGLCLEARBUFFERUIVPROC __glewClearBufferuiv;
+GLEW_FUN_EXPORT PFNGLCOLORMASKIPROC __glewColorMaski;
+GLEW_FUN_EXPORT PFNGLDISABLEIPROC __glewDisablei;
+GLEW_FUN_EXPORT PFNGLENABLEIPROC __glewEnablei;
+GLEW_FUN_EXPORT PFNGLENDCONDITIONALRENDERPROC __glewEndConditionalRender;
+GLEW_FUN_EXPORT PFNGLENDTRANSFORMFEEDBACKPROC __glewEndTransformFeedback;
+GLEW_FUN_EXPORT PFNGLGETBOOLEANI_VPROC __glewGetBooleani_v;
+GLEW_FUN_EXPORT PFNGLGETFRAGDATALOCATIONPROC __glewGetFragDataLocation;
+GLEW_FUN_EXPORT PFNGLGETSTRINGIPROC __glewGetStringi;
+GLEW_FUN_EXPORT PFNGLGETTEXPARAMETERIIVPROC __glewGetTexParameterIiv;
+GLEW_FUN_EXPORT PFNGLGETTEXPARAMETERIUIVPROC __glewGetTexParameterIuiv;
+GLEW_FUN_EXPORT PFNGLGETTRANSFORMFEEDBACKVARYINGPROC __glewGetTransformFeedbackVarying;
+GLEW_FUN_EXPORT PFNGLGETUNIFORMUIVPROC __glewGetUniformuiv;
+GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBIIVPROC __glewGetVertexAttribIiv;
+GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBIUIVPROC __glewGetVertexAttribIuiv;
+GLEW_FUN_EXPORT PFNGLISENABLEDIPROC __glewIsEnabledi;
+GLEW_FUN_EXPORT PFNGLTEXPARAMETERIIVPROC __glewTexParameterIiv;
+GLEW_FUN_EXPORT PFNGLTEXPARAMETERIUIVPROC __glewTexParameterIuiv;
+GLEW_FUN_EXPORT PFNGLTRANSFORMFEEDBACKVARYINGSPROC __glewTransformFeedbackVaryings;
+GLEW_FUN_EXPORT PFNGLUNIFORM1UIPROC __glewUniform1ui;
+GLEW_FUN_EXPORT PFNGLUNIFORM1UIVPROC __glewUniform1uiv;
+GLEW_FUN_EXPORT PFNGLUNIFORM2UIPROC __glewUniform2ui;
+GLEW_FUN_EXPORT PFNGLUNIFORM2UIVPROC __glewUniform2uiv;
+GLEW_FUN_EXPORT PFNGLUNIFORM3UIPROC __glewUniform3ui;
+GLEW_FUN_EXPORT PFNGLUNIFORM3UIVPROC __glewUniform3uiv;
+GLEW_FUN_EXPORT PFNGLUNIFORM4UIPROC __glewUniform4ui;
+GLEW_FUN_EXPORT PFNGLUNIFORM4UIVPROC __glewUniform4uiv;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI1IPROC __glewVertexAttribI1i;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI1IVPROC __glewVertexAttribI1iv;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI1UIPROC __glewVertexAttribI1ui;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI1UIVPROC __glewVertexAttribI1uiv;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI2IPROC __glewVertexAttribI2i;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI2IVPROC __glewVertexAttribI2iv;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI2UIPROC __glewVertexAttribI2ui;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI2UIVPROC __glewVertexAttribI2uiv;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI3IPROC __glewVertexAttribI3i;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI3IVPROC __glewVertexAttribI3iv;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI3UIPROC __glewVertexAttribI3ui;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI3UIVPROC __glewVertexAttribI3uiv;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4BVPROC __glewVertexAttribI4bv;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4IPROC __glewVertexAttribI4i;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4IVPROC __glewVertexAttribI4iv;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4SVPROC __glewVertexAttribI4sv;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4UBVPROC __glewVertexAttribI4ubv;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4UIPROC __glewVertexAttribI4ui;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4UIVPROC __glewVertexAttribI4uiv;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4USVPROC __glewVertexAttribI4usv;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBIPOINTERPROC __glewVertexAttribIPointer;
+
+GLEW_FUN_EXPORT PFNGLDRAWARRAYSINSTANCEDPROC __glewDrawArraysInstanced;
+GLEW_FUN_EXPORT PFNGLDRAWELEMENTSINSTANCEDPROC __glewDrawElementsInstanced;
+GLEW_FUN_EXPORT PFNGLPRIMITIVERESTARTINDEXPROC __glewPrimitiveRestartIndex;
+GLEW_FUN_EXPORT PFNGLTEXBUFFERPROC __glewTexBuffer;
+
+GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTUREPROC __glewFramebufferTexture;
+GLEW_FUN_EXPORT PFNGLGETBUFFERPARAMETERI64VPROC __glewGetBufferParameteri64v;
+GLEW_FUN_EXPORT PFNGLGETINTEGER64I_VPROC __glewGetInteger64i_v;
+
+GLEW_FUN_EXPORT PFNGLBLENDEQUATIONSEPARATEIPROC __glewBlendEquationSeparatei;
+GLEW_FUN_EXPORT PFNGLBLENDEQUATIONIPROC __glewBlendEquationi;
+GLEW_FUN_EXPORT PFNGLBLENDFUNCSEPARATEIPROC __glewBlendFuncSeparatei;
+GLEW_FUN_EXPORT PFNGLBLENDFUNCIPROC __glewBlendFunci;
+GLEW_FUN_EXPORT PFNGLMINSAMPLESHADINGPROC __glewMinSampleShading;
+
+GLEW_FUN_EXPORT PFNGLTBUFFERMASK3DFXPROC __glewTbufferMask3DFX;
+
+GLEW_FUN_EXPORT PFNGLBLENDEQUATIONINDEXEDAMDPROC __glewBlendEquationIndexedAMD;
+GLEW_FUN_EXPORT PFNGLBLENDEQUATIONSEPARATEINDEXEDAMDPROC __glewBlendEquationSeparateIndexedAMD;
+GLEW_FUN_EXPORT PFNGLBLENDFUNCINDEXEDAMDPROC __glewBlendFuncIndexedAMD;
+GLEW_FUN_EXPORT PFNGLBLENDFUNCSEPARATEINDEXEDAMDPROC __glewBlendFuncSeparateIndexedAMD;
+
+GLEW_FUN_EXPORT PFNGLBEGINPERFMONITORAMDPROC __glewBeginPerfMonitorAMD;
+GLEW_FUN_EXPORT PFNGLDELETEPERFMONITORSAMDPROC __glewDeletePerfMonitorsAMD;
+GLEW_FUN_EXPORT PFNGLENDPERFMONITORAMDPROC __glewEndPerfMonitorAMD;
+GLEW_FUN_EXPORT PFNGLGENPERFMONITORSAMDPROC __glewGenPerfMonitorsAMD;
+GLEW_FUN_EXPORT PFNGLGETPERFMONITORCOUNTERDATAAMDPROC __glewGetPerfMonitorCounterDataAMD;
+GLEW_FUN_EXPORT PFNGLGETPERFMONITORCOUNTERINFOAMDPROC __glewGetPerfMonitorCounterInfoAMD;
+GLEW_FUN_EXPORT PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC __glewGetPerfMonitorCounterStringAMD;
+GLEW_FUN_EXPORT PFNGLGETPERFMONITORCOUNTERSAMDPROC __glewGetPerfMonitorCountersAMD;
+GLEW_FUN_EXPORT PFNGLGETPERFMONITORGROUPSTRINGAMDPROC __glewGetPerfMonitorGroupStringAMD;
+GLEW_FUN_EXPORT PFNGLGETPERFMONITORGROUPSAMDPROC __glewGetPerfMonitorGroupsAMD;
+GLEW_FUN_EXPORT PFNGLSELECTPERFMONITORCOUNTERSAMDPROC __glewSelectPerfMonitorCountersAMD;
+
+GLEW_FUN_EXPORT PFNGLTESSELLATIONFACTORAMDPROC __glewTessellationFactorAMD;
+GLEW_FUN_EXPORT PFNGLTESSELLATIONMODEAMDPROC __glewTessellationModeAMD;
+
+GLEW_FUN_EXPORT PFNGLDRAWELEMENTARRAYAPPLEPROC __glewDrawElementArrayAPPLE;
+GLEW_FUN_EXPORT PFNGLDRAWRANGEELEMENTARRAYAPPLEPROC __glewDrawRangeElementArrayAPPLE;
+GLEW_FUN_EXPORT PFNGLELEMENTPOINTERAPPLEPROC __glewElementPointerAPPLE;
+GLEW_FUN_EXPORT PFNGLMULTIDRAWELEMENTARRAYAPPLEPROC __glewMultiDrawElementArrayAPPLE;
+GLEW_FUN_EXPORT PFNGLMULTIDRAWRANGEELEMENTARRAYAPPLEPROC __glewMultiDrawRangeElementArrayAPPLE;
+
+GLEW_FUN_EXPORT PFNGLDELETEFENCESAPPLEPROC __glewDeleteFencesAPPLE;
+GLEW_FUN_EXPORT PFNGLFINISHFENCEAPPLEPROC __glewFinishFenceAPPLE;
+GLEW_FUN_EXPORT PFNGLFINISHOBJECTAPPLEPROC __glewFinishObjectAPPLE;
+GLEW_FUN_EXPORT PFNGLGENFENCESAPPLEPROC __glewGenFencesAPPLE;
+GLEW_FUN_EXPORT PFNGLISFENCEAPPLEPROC __glewIsFenceAPPLE;
+GLEW_FUN_EXPORT PFNGLSETFENCEAPPLEPROC __glewSetFenceAPPLE;
+GLEW_FUN_EXPORT PFNGLTESTFENCEAPPLEPROC __glewTestFenceAPPLE;
+GLEW_FUN_EXPORT PFNGLTESTOBJECTAPPLEPROC __glewTestObjectAPPLE;
+
+GLEW_FUN_EXPORT PFNGLBUFFERPARAMETERIAPPLEPROC __glewBufferParameteriAPPLE;
+GLEW_FUN_EXPORT PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC __glewFlushMappedBufferRangeAPPLE;
+
+GLEW_FUN_EXPORT PFNGLGETOBJECTPARAMETERIVAPPLEPROC __glewGetObjectParameterivAPPLE;
+GLEW_FUN_EXPORT PFNGLOBJECTPURGEABLEAPPLEPROC __glewObjectPurgeableAPPLE;
+GLEW_FUN_EXPORT PFNGLOBJECTUNPURGEABLEAPPLEPROC __glewObjectUnpurgeableAPPLE;
+
+GLEW_FUN_EXPORT PFNGLGETTEXPARAMETERPOINTERVAPPLEPROC __glewGetTexParameterPointervAPPLE;
+GLEW_FUN_EXPORT PFNGLTEXTURERANGEAPPLEPROC __glewTextureRangeAPPLE;
+
+GLEW_FUN_EXPORT PFNGLBINDVERTEXARRAYAPPLEPROC __glewBindVertexArrayAPPLE;
+GLEW_FUN_EXPORT PFNGLDELETEVERTEXARRAYSAPPLEPROC __glewDeleteVertexArraysAPPLE;
+GLEW_FUN_EXPORT PFNGLGENVERTEXARRAYSAPPLEPROC __glewGenVertexArraysAPPLE;
+GLEW_FUN_EXPORT PFNGLISVERTEXARRAYAPPLEPROC __glewIsVertexArrayAPPLE;
+
+GLEW_FUN_EXPORT PFNGLFLUSHVERTEXARRAYRANGEAPPLEPROC __glewFlushVertexArrayRangeAPPLE;
+GLEW_FUN_EXPORT PFNGLVERTEXARRAYPARAMETERIAPPLEPROC __glewVertexArrayParameteriAPPLE;
+GLEW_FUN_EXPORT PFNGLVERTEXARRAYRANGEAPPLEPROC __glewVertexArrayRangeAPPLE;
+
+GLEW_FUN_EXPORT PFNGLDISABLEVERTEXATTRIBAPPLEPROC __glewDisableVertexAttribAPPLE;
+GLEW_FUN_EXPORT PFNGLENABLEVERTEXATTRIBAPPLEPROC __glewEnableVertexAttribAPPLE;
+GLEW_FUN_EXPORT PFNGLISVERTEXATTRIBENABLEDAPPLEPROC __glewIsVertexAttribEnabledAPPLE;
+GLEW_FUN_EXPORT PFNGLMAPVERTEXATTRIB1DAPPLEPROC __glewMapVertexAttrib1dAPPLE;
+GLEW_FUN_EXPORT PFNGLMAPVERTEXATTRIB1FAPPLEPROC __glewMapVertexAttrib1fAPPLE;
+GLEW_FUN_EXPORT PFNGLMAPVERTEXATTRIB2DAPPLEPROC __glewMapVertexAttrib2dAPPLE;
+GLEW_FUN_EXPORT PFNGLMAPVERTEXATTRIB2FAPPLEPROC __glewMapVertexAttrib2fAPPLE;
+
+GLEW_FUN_EXPORT PFNGLBINDFRAGDATALOCATIONINDEXEDPROC __glewBindFragDataLocationIndexed;
+GLEW_FUN_EXPORT PFNGLGETFRAGDATAINDEXPROC __glewGetFragDataIndex;
+
+GLEW_FUN_EXPORT PFNGLCLAMPCOLORARBPROC __glewClampColorARB;
+
+GLEW_FUN_EXPORT PFNGLCOPYBUFFERSUBDATAPROC __glewCopyBufferSubData;
+
+GLEW_FUN_EXPORT PFNGLDRAWBUFFERSARBPROC __glewDrawBuffersARB;
+
+GLEW_FUN_EXPORT PFNGLBLENDEQUATIONSEPARATEIARBPROC __glewBlendEquationSeparateiARB;
+GLEW_FUN_EXPORT PFNGLBLENDEQUATIONIARBPROC __glewBlendEquationiARB;
+GLEW_FUN_EXPORT PFNGLBLENDFUNCSEPARATEIARBPROC __glewBlendFuncSeparateiARB;
+GLEW_FUN_EXPORT PFNGLBLENDFUNCIARBPROC __glewBlendFunciARB;
+
+GLEW_FUN_EXPORT PFNGLDRAWELEMENTSBASEVERTEXPROC __glewDrawElementsBaseVertex;
+GLEW_FUN_EXPORT PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC __glewDrawElementsInstancedBaseVertex;
+GLEW_FUN_EXPORT PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC __glewDrawRangeElementsBaseVertex;
+GLEW_FUN_EXPORT PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC __glewMultiDrawElementsBaseVertex;
+
+GLEW_FUN_EXPORT PFNGLDRAWARRAYSINDIRECTPROC __glewDrawArraysIndirect;
+GLEW_FUN_EXPORT PFNGLDRAWELEMENTSINDIRECTPROC __glewDrawElementsIndirect;
+
+GLEW_FUN_EXPORT PFNGLDRAWARRAYSINSTANCEDARBPROC __glewDrawArraysInstancedARB;
+GLEW_FUN_EXPORT PFNGLDRAWELEMENTSINSTANCEDARBPROC __glewDrawElementsInstancedARB;
+
+GLEW_FUN_EXPORT PFNGLBINDFRAMEBUFFERPROC __glewBindFramebuffer;
+GLEW_FUN_EXPORT PFNGLBINDRENDERBUFFERPROC __glewBindRenderbuffer;
+GLEW_FUN_EXPORT PFNGLBLITFRAMEBUFFERPROC __glewBlitFramebuffer;
+GLEW_FUN_EXPORT PFNGLCHECKFRAMEBUFFERSTATUSPROC __glewCheckFramebufferStatus;
+GLEW_FUN_EXPORT PFNGLDELETEFRAMEBUFFERSPROC __glewDeleteFramebuffers;
+GLEW_FUN_EXPORT PFNGLDELETERENDERBUFFERSPROC __glewDeleteRenderbuffers;
+GLEW_FUN_EXPORT PFNGLFRAMEBUFFERRENDERBUFFERPROC __glewFramebufferRenderbuffer;
+GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURE1DPROC __glewFramebufferTexture1D;
+GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURE2DPROC __glewFramebufferTexture2D;
+GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURE3DPROC __glewFramebufferTexture3D;
+GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURELAYERPROC __glewFramebufferTextureLayer;
+GLEW_FUN_EXPORT PFNGLGENFRAMEBUFFERSPROC __glewGenFramebuffers;
+GLEW_FUN_EXPORT PFNGLGENRENDERBUFFERSPROC __glewGenRenderbuffers;
+GLEW_FUN_EXPORT PFNGLGENERATEMIPMAPPROC __glewGenerateMipmap;
+GLEW_FUN_EXPORT PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC __glewGetFramebufferAttachmentParameteriv;
+GLEW_FUN_EXPORT PFNGLGETRENDERBUFFERPARAMETERIVPROC __glewGetRenderbufferParameteriv;
+GLEW_FUN_EXPORT PFNGLISFRAMEBUFFERPROC __glewIsFramebuffer;
+GLEW_FUN_EXPORT PFNGLISRENDERBUFFERPROC __glewIsRenderbuffer;
+GLEW_FUN_EXPORT PFNGLRENDERBUFFERSTORAGEPROC __glewRenderbufferStorage;
+GLEW_FUN_EXPORT PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC __glewRenderbufferStorageMultisample;
+
+GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTUREARBPROC __glewFramebufferTextureARB;
+GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTUREFACEARBPROC __glewFramebufferTextureFaceARB;
+GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURELAYERARBPROC __glewFramebufferTextureLayerARB;
+GLEW_FUN_EXPORT PFNGLPROGRAMPARAMETERIARBPROC __glewProgramParameteriARB;
+
+GLEW_FUN_EXPORT PFNGLCOLORSUBTABLEPROC __glewColorSubTable;
+GLEW_FUN_EXPORT PFNGLCOLORTABLEPROC __glewColorTable;
+GLEW_FUN_EXPORT PFNGLCOLORTABLEPARAMETERFVPROC __glewColorTableParameterfv;
+GLEW_FUN_EXPORT PFNGLCOLORTABLEPARAMETERIVPROC __glewColorTableParameteriv;
+GLEW_FUN_EXPORT PFNGLCONVOLUTIONFILTER1DPROC __glewConvolutionFilter1D;
+GLEW_FUN_EXPORT PFNGLCONVOLUTIONFILTER2DPROC __glewConvolutionFilter2D;
+GLEW_FUN_EXPORT PFNGLCONVOLUTIONPARAMETERFPROC __glewConvolutionParameterf;
+GLEW_FUN_EXPORT PFNGLCONVOLUTIONPARAMETERFVPROC __glewConvolutionParameterfv;
+GLEW_FUN_EXPORT PFNGLCONVOLUTIONPARAMETERIPROC __glewConvolutionParameteri;
+GLEW_FUN_EXPORT PFNGLCONVOLUTIONPARAMETERIVPROC __glewConvolutionParameteriv;
+GLEW_FUN_EXPORT PFNGLCOPYCOLORSUBTABLEPROC __glewCopyColorSubTable;
+GLEW_FUN_EXPORT PFNGLCOPYCOLORTABLEPROC __glewCopyColorTable;
+GLEW_FUN_EXPORT PFNGLCOPYCONVOLUTIONFILTER1DPROC __glewCopyConvolutionFilter1D;
+GLEW_FUN_EXPORT PFNGLCOPYCONVOLUTIONFILTER2DPROC __glewCopyConvolutionFilter2D;
+GLEW_FUN_EXPORT PFNGLGETCOLORTABLEPROC __glewGetColorTable;
+GLEW_FUN_EXPORT PFNGLGETCOLORTABLEPARAMETERFVPROC __glewGetColorTableParameterfv;
+GLEW_FUN_EXPORT PFNGLGETCOLORTABLEPARAMETERIVPROC __glewGetColorTableParameteriv;
+GLEW_FUN_EXPORT PFNGLGETCONVOLUTIONFILTERPROC __glewGetConvolutionFilter;
+GLEW_FUN_EXPORT PFNGLGETCONVOLUTIONPARAMETERFVPROC __glewGetConvolutionParameterfv;
+GLEW_FUN_EXPORT PFNGLGETCONVOLUTIONPARAMETERIVPROC __glewGetConvolutionParameteriv;
+GLEW_FUN_EXPORT PFNGLGETHISTOGRAMPROC __glewGetHistogram;
+GLEW_FUN_EXPORT PFNGLGETHISTOGRAMPARAMETERFVPROC __glewGetHistogramParameterfv;
+GLEW_FUN_EXPORT PFNGLGETHISTOGRAMPARAMETERIVPROC __glewGetHistogramParameteriv;
+GLEW_FUN_EXPORT PFNGLGETMINMAXPROC __glewGetMinmax;
+GLEW_FUN_EXPORT PFNGLGETMINMAXPARAMETERFVPROC __glewGetMinmaxParameterfv;
+GLEW_FUN_EXPORT PFNGLGETMINMAXPARAMETERIVPROC __glewGetMinmaxParameteriv;
+GLEW_FUN_EXPORT PFNGLGETSEPARABLEFILTERPROC __glewGetSeparableFilter;
+GLEW_FUN_EXPORT PFNGLHISTOGRAMPROC __glewHistogram;
+GLEW_FUN_EXPORT PFNGLMINMAXPROC __glewMinmax;
+GLEW_FUN_EXPORT PFNGLRESETHISTOGRAMPROC __glewResetHistogram;
+GLEW_FUN_EXPORT PFNGLRESETMINMAXPROC __glewResetMinmax;
+GLEW_FUN_EXPORT PFNGLSEPARABLEFILTER2DPROC __glewSeparableFilter2D;
+
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBDIVISORARBPROC __glewVertexAttribDivisorARB;
+
+GLEW_FUN_EXPORT PFNGLFLUSHMAPPEDBUFFERRANGEPROC __glewFlushMappedBufferRange;
+GLEW_FUN_EXPORT PFNGLMAPBUFFERRANGEPROC __glewMapBufferRange;
+
+GLEW_FUN_EXPORT PFNGLCURRENTPALETTEMATRIXARBPROC __glewCurrentPaletteMatrixARB;
+GLEW_FUN_EXPORT PFNGLMATRIXINDEXPOINTERARBPROC __glewMatrixIndexPointerARB;
+GLEW_FUN_EXPORT PFNGLMATRIXINDEXUBVARBPROC __glewMatrixIndexubvARB;
+GLEW_FUN_EXPORT PFNGLMATRIXINDEXUIVARBPROC __glewMatrixIndexuivARB;
+GLEW_FUN_EXPORT PFNGLMATRIXINDEXUSVARBPROC __glewMatrixIndexusvARB;
+
+GLEW_FUN_EXPORT PFNGLSAMPLECOVERAGEARBPROC __glewSampleCoverageARB;
+
+GLEW_FUN_EXPORT PFNGLACTIVETEXTUREARBPROC __glewActiveTextureARB;
+GLEW_FUN_EXPORT PFNGLCLIENTACTIVETEXTUREARBPROC __glewClientActiveTextureARB;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1DARBPROC __glewMultiTexCoord1dARB;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1DVARBPROC __glewMultiTexCoord1dvARB;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1FARBPROC __glewMultiTexCoord1fARB;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1FVARBPROC __glewMultiTexCoord1fvARB;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1IARBPROC __glewMultiTexCoord1iARB;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1IVARBPROC __glewMultiTexCoord1ivARB;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1SARBPROC __glewMultiTexCoord1sARB;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1SVARBPROC __glewMultiTexCoord1svARB;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2DARBPROC __glewMultiTexCoord2dARB;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2DVARBPROC __glewMultiTexCoord2dvARB;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2FARBPROC __glewMultiTexCoord2fARB;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2FVARBPROC __glewMultiTexCoord2fvARB;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2IARBPROC __glewMultiTexCoord2iARB;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2IVARBPROC __glewMultiTexCoord2ivARB;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2SARBPROC __glewMultiTexCoord2sARB;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2SVARBPROC __glewMultiTexCoord2svARB;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3DARBPROC __glewMultiTexCoord3dARB;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3DVARBPROC __glewMultiTexCoord3dvARB;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3FARBPROC __glewMultiTexCoord3fARB;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3FVARBPROC __glewMultiTexCoord3fvARB;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3IARBPROC __glewMultiTexCoord3iARB;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3IVARBPROC __glewMultiTexCoord3ivARB;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3SARBPROC __glewMultiTexCoord3sARB;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3SVARBPROC __glewMultiTexCoord3svARB;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4DARBPROC __glewMultiTexCoord4dARB;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4DVARBPROC __glewMultiTexCoord4dvARB;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4FARBPROC __glewMultiTexCoord4fARB;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4FVARBPROC __glewMultiTexCoord4fvARB;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4IARBPROC __glewMultiTexCoord4iARB;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4IVARBPROC __glewMultiTexCoord4ivARB;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4SARBPROC __glewMultiTexCoord4sARB;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4SVARBPROC __glewMultiTexCoord4svARB;
+
+GLEW_FUN_EXPORT PFNGLBEGINQUERYARBPROC __glewBeginQueryARB;
+GLEW_FUN_EXPORT PFNGLDELETEQUERIESARBPROC __glewDeleteQueriesARB;
+GLEW_FUN_EXPORT PFNGLENDQUERYARBPROC __glewEndQueryARB;
+GLEW_FUN_EXPORT PFNGLGENQUERIESARBPROC __glewGenQueriesARB;
+GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTIVARBPROC __glewGetQueryObjectivARB;
+GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTUIVARBPROC __glewGetQueryObjectuivARB;
+GLEW_FUN_EXPORT PFNGLGETQUERYIVARBPROC __glewGetQueryivARB;
+GLEW_FUN_EXPORT PFNGLISQUERYARBPROC __glewIsQueryARB;
+
+GLEW_FUN_EXPORT PFNGLPOINTPARAMETERFARBPROC __glewPointParameterfARB;
+GLEW_FUN_EXPORT PFNGLPOINTPARAMETERFVARBPROC __glewPointParameterfvARB;
+
+GLEW_FUN_EXPORT PFNGLPROVOKINGVERTEXPROC __glewProvokingVertex;
+
+GLEW_FUN_EXPORT PFNGLMINSAMPLESHADINGARBPROC __glewMinSampleShadingARB;
+
+GLEW_FUN_EXPORT PFNGLBINDSAMPLERPROC __glewBindSampler;
+GLEW_FUN_EXPORT PFNGLDELETESAMPLERSPROC __glewDeleteSamplers;
+GLEW_FUN_EXPORT PFNGLGENSAMPLERSPROC __glewGenSamplers;
+GLEW_FUN_EXPORT PFNGLGETSAMPLERPARAMETERIIVPROC __glewGetSamplerParameterIiv;
+GLEW_FUN_EXPORT PFNGLGETSAMPLERPARAMETERIUIVPROC __glewGetSamplerParameterIuiv;
+GLEW_FUN_EXPORT PFNGLGETSAMPLERPARAMETERFVPROC __glewGetSamplerParameterfv;
+GLEW_FUN_EXPORT PFNGLGETSAMPLERPARAMETERIVPROC __glewGetSamplerParameteriv;
+GLEW_FUN_EXPORT PFNGLISSAMPLERPROC __glewIsSampler;
+GLEW_FUN_EXPORT PFNGLSAMPLERPARAMETERIIVPROC __glewSamplerParameterIiv;
+GLEW_FUN_EXPORT PFNGLSAMPLERPARAMETERIUIVPROC __glewSamplerParameterIuiv;
+GLEW_FUN_EXPORT PFNGLSAMPLERPARAMETERFPROC __glewSamplerParameterf;
+GLEW_FUN_EXPORT PFNGLSAMPLERPARAMETERFVPROC __glewSamplerParameterfv;
+GLEW_FUN_EXPORT PFNGLSAMPLERPARAMETERIPROC __glewSamplerParameteri;
+GLEW_FUN_EXPORT PFNGLSAMPLERPARAMETERIVPROC __glewSamplerParameteriv;
+
+GLEW_FUN_EXPORT PFNGLATTACHOBJECTARBPROC __glewAttachObjectARB;
+GLEW_FUN_EXPORT PFNGLCOMPILESHADERARBPROC __glewCompileShaderARB;
+GLEW_FUN_EXPORT PFNGLCREATEPROGRAMOBJECTARBPROC __glewCreateProgramObjectARB;
+GLEW_FUN_EXPORT PFNGLCREATESHADEROBJECTARBPROC __glewCreateShaderObjectARB;
+GLEW_FUN_EXPORT PFNGLDELETEOBJECTARBPROC __glewDeleteObjectARB;
+GLEW_FUN_EXPORT PFNGLDETACHOBJECTARBPROC __glewDetachObjectARB;
+GLEW_FUN_EXPORT PFNGLGETACTIVEUNIFORMARBPROC __glewGetActiveUniformARB;
+GLEW_FUN_EXPORT PFNGLGETATTACHEDOBJECTSARBPROC __glewGetAttachedObjectsARB;
+GLEW_FUN_EXPORT PFNGLGETHANDLEARBPROC __glewGetHandleARB;
+GLEW_FUN_EXPORT PFNGLGETINFOLOGARBPROC __glewGetInfoLogARB;
+GLEW_FUN_EXPORT PFNGLGETOBJECTPARAMETERFVARBPROC __glewGetObjectParameterfvARB;
+GLEW_FUN_EXPORT PFNGLGETOBJECTPARAMETERIVARBPROC __glewGetObjectParameterivARB;
+GLEW_FUN_EXPORT PFNGLGETSHADERSOURCEARBPROC __glewGetShaderSourceARB;
+GLEW_FUN_EXPORT PFNGLGETUNIFORMLOCATIONARBPROC __glewGetUniformLocationARB;
+GLEW_FUN_EXPORT PFNGLGETUNIFORMFVARBPROC __glewGetUniformfvARB;
+GLEW_FUN_EXPORT PFNGLGETUNIFORMIVARBPROC __glewGetUniformivARB;
+GLEW_FUN_EXPORT PFNGLLINKPROGRAMARBPROC __glewLinkProgramARB;
+GLEW_FUN_EXPORT PFNGLSHADERSOURCEARBPROC __glewShaderSourceARB;
+GLEW_FUN_EXPORT PFNGLUNIFORM1FARBPROC __glewUniform1fARB;
+GLEW_FUN_EXPORT PFNGLUNIFORM1FVARBPROC __glewUniform1fvARB;
+GLEW_FUN_EXPORT PFNGLUNIFORM1IARBPROC __glewUniform1iARB;
+GLEW_FUN_EXPORT PFNGLUNIFORM1IVARBPROC __glewUniform1ivARB;
+GLEW_FUN_EXPORT PFNGLUNIFORM2FARBPROC __glewUniform2fARB;
+GLEW_FUN_EXPORT PFNGLUNIFORM2FVARBPROC __glewUniform2fvARB;
+GLEW_FUN_EXPORT PFNGLUNIFORM2IARBPROC __glewUniform2iARB;
+GLEW_FUN_EXPORT PFNGLUNIFORM2IVARBPROC __glewUniform2ivARB;
+GLEW_FUN_EXPORT PFNGLUNIFORM3FARBPROC __glewUniform3fARB;
+GLEW_FUN_EXPORT PFNGLUNIFORM3FVARBPROC __glewUniform3fvARB;
+GLEW_FUN_EXPORT PFNGLUNIFORM3IARBPROC __glewUniform3iARB;
+GLEW_FUN_EXPORT PFNGLUNIFORM3IVARBPROC __glewUniform3ivARB;
+GLEW_FUN_EXPORT PFNGLUNIFORM4FARBPROC __glewUniform4fARB;
+GLEW_FUN_EXPORT PFNGLUNIFORM4FVARBPROC __glewUniform4fvARB;
+GLEW_FUN_EXPORT PFNGLUNIFORM4IARBPROC __glewUniform4iARB;
+GLEW_FUN_EXPORT PFNGLUNIFORM4IVARBPROC __glewUniform4ivARB;
+GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX2FVARBPROC __glewUniformMatrix2fvARB;
+GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX3FVARBPROC __glewUniformMatrix3fvARB;
+GLEW_FUN_EXPORT PFNGLUNIFORMMATRIX4FVARBPROC __glewUniformMatrix4fvARB;
+GLEW_FUN_EXPORT PFNGLUSEPROGRAMOBJECTARBPROC __glewUseProgramObjectARB;
+GLEW_FUN_EXPORT PFNGLVALIDATEPROGRAMARBPROC __glewValidateProgramARB;
+
+GLEW_FUN_EXPORT PFNGLGETACTIVESUBROUTINENAMEPROC __glewGetActiveSubroutineName;
+GLEW_FUN_EXPORT PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC __glewGetActiveSubroutineUniformName;
+GLEW_FUN_EXPORT PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC __glewGetActiveSubroutineUniformiv;
+GLEW_FUN_EXPORT PFNGLGETPROGRAMSTAGEIVPROC __glewGetProgramStageiv;
+GLEW_FUN_EXPORT PFNGLGETSUBROUTINEINDEXPROC __glewGetSubroutineIndex;
+GLEW_FUN_EXPORT PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC __glewGetSubroutineUniformLocation;
+GLEW_FUN_EXPORT PFNGLGETUNIFORMSUBROUTINEUIVPROC __glewGetUniformSubroutineuiv;
+GLEW_FUN_EXPORT PFNGLUNIFORMSUBROUTINESUIVPROC __glewUniformSubroutinesuiv;
+
+GLEW_FUN_EXPORT PFNGLCOMPILESHADERINCLUDEARBPROC __glewCompileShaderIncludeARB;
+GLEW_FUN_EXPORT PFNGLDELETENAMEDSTRINGARBPROC __glewDeleteNamedStringARB;
+GLEW_FUN_EXPORT PFNGLGETNAMEDSTRINGARBPROC __glewGetNamedStringARB;
+GLEW_FUN_EXPORT PFNGLGETNAMEDSTRINGIVARBPROC __glewGetNamedStringivARB;
+GLEW_FUN_EXPORT PFNGLISNAMEDSTRINGARBPROC __glewIsNamedStringARB;
+GLEW_FUN_EXPORT PFNGLNAMEDSTRINGARBPROC __glewNamedStringARB;
+
+GLEW_FUN_EXPORT PFNGLCLIENTWAITSYNCPROC __glewClientWaitSync;
+GLEW_FUN_EXPORT PFNGLDELETESYNCPROC __glewDeleteSync;
+GLEW_FUN_EXPORT PFNGLFENCESYNCPROC __glewFenceSync;
+GLEW_FUN_EXPORT PFNGLGETINTEGER64VPROC __glewGetInteger64v;
+GLEW_FUN_EXPORT PFNGLGETSYNCIVPROC __glewGetSynciv;
+GLEW_FUN_EXPORT PFNGLISSYNCPROC __glewIsSync;
+GLEW_FUN_EXPORT PFNGLWAITSYNCPROC __glewWaitSync;
+
+GLEW_FUN_EXPORT PFNGLPATCHPARAMETERFVPROC __glewPatchParameterfv;
+GLEW_FUN_EXPORT PFNGLPATCHPARAMETERIPROC __glewPatchParameteri;
+
+GLEW_FUN_EXPORT PFNGLTEXBUFFERARBPROC __glewTexBufferARB;
+
+GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXIMAGE1DARBPROC __glewCompressedTexImage1DARB;
+GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXIMAGE2DARBPROC __glewCompressedTexImage2DARB;
+GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXIMAGE3DARBPROC __glewCompressedTexImage3DARB;
+GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC __glewCompressedTexSubImage1DARB;
+GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC __glewCompressedTexSubImage2DARB;
+GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC __glewCompressedTexSubImage3DARB;
+GLEW_FUN_EXPORT PFNGLGETCOMPRESSEDTEXIMAGEARBPROC __glewGetCompressedTexImageARB;
+
+GLEW_FUN_EXPORT PFNGLGETMULTISAMPLEFVPROC __glewGetMultisamplefv;
+GLEW_FUN_EXPORT PFNGLSAMPLEMASKIPROC __glewSampleMaski;
+GLEW_FUN_EXPORT PFNGLTEXIMAGE2DMULTISAMPLEPROC __glewTexImage2DMultisample;
+GLEW_FUN_EXPORT PFNGLTEXIMAGE3DMULTISAMPLEPROC __glewTexImage3DMultisample;
+
+GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTI64VPROC __glewGetQueryObjecti64v;
+GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTUI64VPROC __glewGetQueryObjectui64v;
+GLEW_FUN_EXPORT PFNGLQUERYCOUNTERPROC __glewQueryCounter;
+
+GLEW_FUN_EXPORT PFNGLBINDTRANSFORMFEEDBACKPROC __glewBindTransformFeedback;
+GLEW_FUN_EXPORT PFNGLDELETETRANSFORMFEEDBACKSPROC __glewDeleteTransformFeedbacks;
+GLEW_FUN_EXPORT PFNGLDRAWTRANSFORMFEEDBACKPROC __glewDrawTransformFeedback;
+GLEW_FUN_EXPORT PFNGLGENTRANSFORMFEEDBACKSPROC __glewGenTransformFeedbacks;
+GLEW_FUN_EXPORT PFNGLISTRANSFORMFEEDBACKPROC __glewIsTransformFeedback;
+GLEW_FUN_EXPORT PFNGLPAUSETRANSFORMFEEDBACKPROC __glewPauseTransformFeedback;
+GLEW_FUN_EXPORT PFNGLRESUMETRANSFORMFEEDBACKPROC __glewResumeTransformFeedback;
+
+GLEW_FUN_EXPORT PFNGLBEGINQUERYINDEXEDPROC __glewBeginQueryIndexed;
+GLEW_FUN_EXPORT PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC __glewDrawTransformFeedbackStream;
+GLEW_FUN_EXPORT PFNGLENDQUERYINDEXEDPROC __glewEndQueryIndexed;
+GLEW_FUN_EXPORT PFNGLGETQUERYINDEXEDIVPROC __glewGetQueryIndexediv;
+
+GLEW_FUN_EXPORT PFNGLLOADTRANSPOSEMATRIXDARBPROC __glewLoadTransposeMatrixdARB;
+GLEW_FUN_EXPORT PFNGLLOADTRANSPOSEMATRIXFARBPROC __glewLoadTransposeMatrixfARB;
+GLEW_FUN_EXPORT PFNGLMULTTRANSPOSEMATRIXDARBPROC __glewMultTransposeMatrixdARB;
+GLEW_FUN_EXPORT PFNGLMULTTRANSPOSEMATRIXFARBPROC __glewMultTransposeMatrixfARB;
+
+GLEW_FUN_EXPORT PFNGLBINDBUFFERBASEPROC __glewBindBufferBase;
+GLEW_FUN_EXPORT PFNGLBINDBUFFERRANGEPROC __glewBindBufferRange;
+GLEW_FUN_EXPORT PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC __glewGetActiveUniformBlockName;
+GLEW_FUN_EXPORT PFNGLGETACTIVEUNIFORMBLOCKIVPROC __glewGetActiveUniformBlockiv;
+GLEW_FUN_EXPORT PFNGLGETACTIVEUNIFORMNAMEPROC __glewGetActiveUniformName;
+GLEW_FUN_EXPORT PFNGLGETACTIVEUNIFORMSIVPROC __glewGetActiveUniformsiv;
+GLEW_FUN_EXPORT PFNGLGETINTEGERI_VPROC __glewGetIntegeri_v;
+GLEW_FUN_EXPORT PFNGLGETUNIFORMBLOCKINDEXPROC __glewGetUniformBlockIndex;
+GLEW_FUN_EXPORT PFNGLGETUNIFORMINDICESPROC __glewGetUniformIndices;
+GLEW_FUN_EXPORT PFNGLUNIFORMBLOCKBINDINGPROC __glewUniformBlockBinding;
+
+GLEW_FUN_EXPORT PFNGLBINDVERTEXARRAYPROC __glewBindVertexArray;
+GLEW_FUN_EXPORT PFNGLDELETEVERTEXARRAYSPROC __glewDeleteVertexArrays;
+GLEW_FUN_EXPORT PFNGLGENVERTEXARRAYSPROC __glewGenVertexArrays;
+GLEW_FUN_EXPORT PFNGLISVERTEXARRAYPROC __glewIsVertexArray;
+
+GLEW_FUN_EXPORT PFNGLVERTEXBLENDARBPROC __glewVertexBlendARB;
+GLEW_FUN_EXPORT PFNGLWEIGHTPOINTERARBPROC __glewWeightPointerARB;
+GLEW_FUN_EXPORT PFNGLWEIGHTBVARBPROC __glewWeightbvARB;
+GLEW_FUN_EXPORT PFNGLWEIGHTDVARBPROC __glewWeightdvARB;
+GLEW_FUN_EXPORT PFNGLWEIGHTFVARBPROC __glewWeightfvARB;
+GLEW_FUN_EXPORT PFNGLWEIGHTIVARBPROC __glewWeightivARB;
+GLEW_FUN_EXPORT PFNGLWEIGHTSVARBPROC __glewWeightsvARB;
+GLEW_FUN_EXPORT PFNGLWEIGHTUBVARBPROC __glewWeightubvARB;
+GLEW_FUN_EXPORT PFNGLWEIGHTUIVARBPROC __glewWeightuivARB;
+GLEW_FUN_EXPORT PFNGLWEIGHTUSVARBPROC __glewWeightusvARB;
+
+GLEW_FUN_EXPORT PFNGLBINDBUFFERARBPROC __glewBindBufferARB;
+GLEW_FUN_EXPORT PFNGLBUFFERDATAARBPROC __glewBufferDataARB;
+GLEW_FUN_EXPORT PFNGLBUFFERSUBDATAARBPROC __glewBufferSubDataARB;
+GLEW_FUN_EXPORT PFNGLDELETEBUFFERSARBPROC __glewDeleteBuffersARB;
+GLEW_FUN_EXPORT PFNGLGENBUFFERSARBPROC __glewGenBuffersARB;
+GLEW_FUN_EXPORT PFNGLGETBUFFERPARAMETERIVARBPROC __glewGetBufferParameterivARB;
+GLEW_FUN_EXPORT PFNGLGETBUFFERPOINTERVARBPROC __glewGetBufferPointervARB;
+GLEW_FUN_EXPORT PFNGLGETBUFFERSUBDATAARBPROC __glewGetBufferSubDataARB;
+GLEW_FUN_EXPORT PFNGLISBUFFERARBPROC __glewIsBufferARB;
+GLEW_FUN_EXPORT PFNGLMAPBUFFERARBPROC __glewMapBufferARB;
+GLEW_FUN_EXPORT PFNGLUNMAPBUFFERARBPROC __glewUnmapBufferARB;
+
+GLEW_FUN_EXPORT PFNGLBINDPROGRAMARBPROC __glewBindProgramARB;
+GLEW_FUN_EXPORT PFNGLDELETEPROGRAMSARBPROC __glewDeleteProgramsARB;
+GLEW_FUN_EXPORT PFNGLDISABLEVERTEXATTRIBARRAYARBPROC __glewDisableVertexAttribArrayARB;
+GLEW_FUN_EXPORT PFNGLENABLEVERTEXATTRIBARRAYARBPROC __glewEnableVertexAttribArrayARB;
+GLEW_FUN_EXPORT PFNGLGENPROGRAMSARBPROC __glewGenProgramsARB;
+GLEW_FUN_EXPORT PFNGLGETPROGRAMENVPARAMETERDVARBPROC __glewGetProgramEnvParameterdvARB;
+GLEW_FUN_EXPORT PFNGLGETPROGRAMENVPARAMETERFVARBPROC __glewGetProgramEnvParameterfvARB;
+GLEW_FUN_EXPORT PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC __glewGetProgramLocalParameterdvARB;
+GLEW_FUN_EXPORT PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC __glewGetProgramLocalParameterfvARB;
+GLEW_FUN_EXPORT PFNGLGETPROGRAMSTRINGARBPROC __glewGetProgramStringARB;
+GLEW_FUN_EXPORT PFNGLGETPROGRAMIVARBPROC __glewGetProgramivARB;
+GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBPOINTERVARBPROC __glewGetVertexAttribPointervARB;
+GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBDVARBPROC __glewGetVertexAttribdvARB;
+GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBFVARBPROC __glewGetVertexAttribfvARB;
+GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBIVARBPROC __glewGetVertexAttribivARB;
+GLEW_FUN_EXPORT PFNGLISPROGRAMARBPROC __glewIsProgramARB;
+GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETER4DARBPROC __glewProgramEnvParameter4dARB;
+GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETER4DVARBPROC __glewProgramEnvParameter4dvARB;
+GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETER4FARBPROC __glewProgramEnvParameter4fARB;
+GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETER4FVARBPROC __glewProgramEnvParameter4fvARB;
+GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETER4DARBPROC __glewProgramLocalParameter4dARB;
+GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETER4DVARBPROC __glewProgramLocalParameter4dvARB;
+GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETER4FARBPROC __glewProgramLocalParameter4fARB;
+GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETER4FVARBPROC __glewProgramLocalParameter4fvARB;
+GLEW_FUN_EXPORT PFNGLPROGRAMSTRINGARBPROC __glewProgramStringARB;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1DARBPROC __glewVertexAttrib1dARB;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1DVARBPROC __glewVertexAttrib1dvARB;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1FARBPROC __glewVertexAttrib1fARB;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1FVARBPROC __glewVertexAttrib1fvARB;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1SARBPROC __glewVertexAttrib1sARB;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1SVARBPROC __glewVertexAttrib1svARB;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2DARBPROC __glewVertexAttrib2dARB;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2DVARBPROC __glewVertexAttrib2dvARB;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2FARBPROC __glewVertexAttrib2fARB;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2FVARBPROC __glewVertexAttrib2fvARB;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2SARBPROC __glewVertexAttrib2sARB;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2SVARBPROC __glewVertexAttrib2svARB;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3DARBPROC __glewVertexAttrib3dARB;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3DVARBPROC __glewVertexAttrib3dvARB;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3FARBPROC __glewVertexAttrib3fARB;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3FVARBPROC __glewVertexAttrib3fvARB;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3SARBPROC __glewVertexAttrib3sARB;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3SVARBPROC __glewVertexAttrib3svARB;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NBVARBPROC __glewVertexAttrib4NbvARB;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NIVARBPROC __glewVertexAttrib4NivARB;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NSVARBPROC __glewVertexAttrib4NsvARB;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NUBARBPROC __glewVertexAttrib4NubARB;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NUBVARBPROC __glewVertexAttrib4NubvARB;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NUIVARBPROC __glewVertexAttrib4NuivARB;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4NUSVARBPROC __glewVertexAttrib4NusvARB;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4BVARBPROC __glewVertexAttrib4bvARB;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4DARBPROC __glewVertexAttrib4dARB;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4DVARBPROC __glewVertexAttrib4dvARB;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4FARBPROC __glewVertexAttrib4fARB;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4FVARBPROC __glewVertexAttrib4fvARB;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4IVARBPROC __glewVertexAttrib4ivARB;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4SARBPROC __glewVertexAttrib4sARB;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4SVARBPROC __glewVertexAttrib4svARB;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4UBVARBPROC __glewVertexAttrib4ubvARB;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4UIVARBPROC __glewVertexAttrib4uivARB;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4USVARBPROC __glewVertexAttrib4usvARB;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBPOINTERARBPROC __glewVertexAttribPointerARB;
+
+GLEW_FUN_EXPORT PFNGLBINDATTRIBLOCATIONARBPROC __glewBindAttribLocationARB;
+GLEW_FUN_EXPORT PFNGLGETACTIVEATTRIBARBPROC __glewGetActiveAttribARB;
+GLEW_FUN_EXPORT PFNGLGETATTRIBLOCATIONARBPROC __glewGetAttribLocationARB;
+
+GLEW_FUN_EXPORT PFNGLCOLORP3UIPROC __glewColorP3ui;
+GLEW_FUN_EXPORT PFNGLCOLORP3UIVPROC __glewColorP3uiv;
+GLEW_FUN_EXPORT PFNGLCOLORP4UIPROC __glewColorP4ui;
+GLEW_FUN_EXPORT PFNGLCOLORP4UIVPROC __glewColorP4uiv;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORDP1UIPROC __glewMultiTexCoordP1ui;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORDP1UIVPROC __glewMultiTexCoordP1uiv;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORDP2UIPROC __glewMultiTexCoordP2ui;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORDP2UIVPROC __glewMultiTexCoordP2uiv;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORDP3UIPROC __glewMultiTexCoordP3ui;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORDP3UIVPROC __glewMultiTexCoordP3uiv;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORDP4UIPROC __glewMultiTexCoordP4ui;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORDP4UIVPROC __glewMultiTexCoordP4uiv;
+GLEW_FUN_EXPORT PFNGLNORMALP3UIPROC __glewNormalP3ui;
+GLEW_FUN_EXPORT PFNGLNORMALP3UIVPROC __glewNormalP3uiv;
+GLEW_FUN_EXPORT PFNGLSECONDARYCOLORP3UIPROC __glewSecondaryColorP3ui;
+GLEW_FUN_EXPORT PFNGLSECONDARYCOLORP3UIVPROC __glewSecondaryColorP3uiv;
+GLEW_FUN_EXPORT PFNGLTEXCOORDP1UIPROC __glewTexCoordP1ui;
+GLEW_FUN_EXPORT PFNGLTEXCOORDP1UIVPROC __glewTexCoordP1uiv;
+GLEW_FUN_EXPORT PFNGLTEXCOORDP2UIPROC __glewTexCoordP2ui;
+GLEW_FUN_EXPORT PFNGLTEXCOORDP2UIVPROC __glewTexCoordP2uiv;
+GLEW_FUN_EXPORT PFNGLTEXCOORDP3UIPROC __glewTexCoordP3ui;
+GLEW_FUN_EXPORT PFNGLTEXCOORDP3UIVPROC __glewTexCoordP3uiv;
+GLEW_FUN_EXPORT PFNGLTEXCOORDP4UIPROC __glewTexCoordP4ui;
+GLEW_FUN_EXPORT PFNGLTEXCOORDP4UIVPROC __glewTexCoordP4uiv;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBP1UIPROC __glewVertexAttribP1ui;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBP1UIVPROC __glewVertexAttribP1uiv;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBP2UIPROC __glewVertexAttribP2ui;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBP2UIVPROC __glewVertexAttribP2uiv;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBP3UIPROC __glewVertexAttribP3ui;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBP3UIVPROC __glewVertexAttribP3uiv;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBP4UIPROC __glewVertexAttribP4ui;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBP4UIVPROC __glewVertexAttribP4uiv;
+GLEW_FUN_EXPORT PFNGLVERTEXP2UIPROC __glewVertexP2ui;
+GLEW_FUN_EXPORT PFNGLVERTEXP2UIVPROC __glewVertexP2uiv;
+GLEW_FUN_EXPORT PFNGLVERTEXP3UIPROC __glewVertexP3ui;
+GLEW_FUN_EXPORT PFNGLVERTEXP3UIVPROC __glewVertexP3uiv;
+GLEW_FUN_EXPORT PFNGLVERTEXP4UIPROC __glewVertexP4ui;
+GLEW_FUN_EXPORT PFNGLVERTEXP4UIVPROC __glewVertexP4uiv;
+
+GLEW_FUN_EXPORT PFNGLWINDOWPOS2DARBPROC __glewWindowPos2dARB;
+GLEW_FUN_EXPORT PFNGLWINDOWPOS2DVARBPROC __glewWindowPos2dvARB;
+GLEW_FUN_EXPORT PFNGLWINDOWPOS2FARBPROC __glewWindowPos2fARB;
+GLEW_FUN_EXPORT PFNGLWINDOWPOS2FVARBPROC __glewWindowPos2fvARB;
+GLEW_FUN_EXPORT PFNGLWINDOWPOS2IARBPROC __glewWindowPos2iARB;
+GLEW_FUN_EXPORT PFNGLWINDOWPOS2IVARBPROC __glewWindowPos2ivARB;
+GLEW_FUN_EXPORT PFNGLWINDOWPOS2SARBPROC __glewWindowPos2sARB;
+GLEW_FUN_EXPORT PFNGLWINDOWPOS2SVARBPROC __glewWindowPos2svARB;
+GLEW_FUN_EXPORT PFNGLWINDOWPOS3DARBPROC __glewWindowPos3dARB;
+GLEW_FUN_EXPORT PFNGLWINDOWPOS3DVARBPROC __glewWindowPos3dvARB;
+GLEW_FUN_EXPORT PFNGLWINDOWPOS3FARBPROC __glewWindowPos3fARB;
+GLEW_FUN_EXPORT PFNGLWINDOWPOS3FVARBPROC __glewWindowPos3fvARB;
+GLEW_FUN_EXPORT PFNGLWINDOWPOS3IARBPROC __glewWindowPos3iARB;
+GLEW_FUN_EXPORT PFNGLWINDOWPOS3IVARBPROC __glewWindowPos3ivARB;
+GLEW_FUN_EXPORT PFNGLWINDOWPOS3SARBPROC __glewWindowPos3sARB;
+GLEW_FUN_EXPORT PFNGLWINDOWPOS3SVARBPROC __glewWindowPos3svARB;
+
+GLEW_FUN_EXPORT PFNGLDRAWBUFFERSATIPROC __glewDrawBuffersATI;
+
+GLEW_FUN_EXPORT PFNGLDRAWELEMENTARRAYATIPROC __glewDrawElementArrayATI;
+GLEW_FUN_EXPORT PFNGLDRAWRANGEELEMENTARRAYATIPROC __glewDrawRangeElementArrayATI;
+GLEW_FUN_EXPORT PFNGLELEMENTPOINTERATIPROC __glewElementPointerATI;
+
+GLEW_FUN_EXPORT PFNGLGETTEXBUMPPARAMETERFVATIPROC __glewGetTexBumpParameterfvATI;
+GLEW_FUN_EXPORT PFNGLGETTEXBUMPPARAMETERIVATIPROC __glewGetTexBumpParameterivATI;
+GLEW_FUN_EXPORT PFNGLTEXBUMPPARAMETERFVATIPROC __glewTexBumpParameterfvATI;
+GLEW_FUN_EXPORT PFNGLTEXBUMPPARAMETERIVATIPROC __glewTexBumpParameterivATI;
+
+GLEW_FUN_EXPORT PFNGLALPHAFRAGMENTOP1ATIPROC __glewAlphaFragmentOp1ATI;
+GLEW_FUN_EXPORT PFNGLALPHAFRAGMENTOP2ATIPROC __glewAlphaFragmentOp2ATI;
+GLEW_FUN_EXPORT PFNGLALPHAFRAGMENTOP3ATIPROC __glewAlphaFragmentOp3ATI;
+GLEW_FUN_EXPORT PFNGLBEGINFRAGMENTSHADERATIPROC __glewBeginFragmentShaderATI;
+GLEW_FUN_EXPORT PFNGLBINDFRAGMENTSHADERATIPROC __glewBindFragmentShaderATI;
+GLEW_FUN_EXPORT PFNGLCOLORFRAGMENTOP1ATIPROC __glewColorFragmentOp1ATI;
+GLEW_FUN_EXPORT PFNGLCOLORFRAGMENTOP2ATIPROC __glewColorFragmentOp2ATI;
+GLEW_FUN_EXPORT PFNGLCOLORFRAGMENTOP3ATIPROC __glewColorFragmentOp3ATI;
+GLEW_FUN_EXPORT PFNGLDELETEFRAGMENTSHADERATIPROC __glewDeleteFragmentShaderATI;
+GLEW_FUN_EXPORT PFNGLENDFRAGMENTSHADERATIPROC __glewEndFragmentShaderATI;
+GLEW_FUN_EXPORT PFNGLGENFRAGMENTSHADERSATIPROC __glewGenFragmentShadersATI;
+GLEW_FUN_EXPORT PFNGLPASSTEXCOORDATIPROC __glewPassTexCoordATI;
+GLEW_FUN_EXPORT PFNGLSAMPLEMAPATIPROC __glewSampleMapATI;
+GLEW_FUN_EXPORT PFNGLSETFRAGMENTSHADERCONSTANTATIPROC __glewSetFragmentShaderConstantATI;
+
+GLEW_FUN_EXPORT PFNGLMAPOBJECTBUFFERATIPROC __glewMapObjectBufferATI;
+GLEW_FUN_EXPORT PFNGLUNMAPOBJECTBUFFERATIPROC __glewUnmapObjectBufferATI;
+
+GLEW_FUN_EXPORT PFNGLPNTRIANGLESFATIPROC __glPNTrianglewesfATI;
+GLEW_FUN_EXPORT PFNGLPNTRIANGLESIATIPROC __glPNTrianglewesiATI;
+
+GLEW_FUN_EXPORT PFNGLSTENCILFUNCSEPARATEATIPROC __glewStencilFuncSeparateATI;
+GLEW_FUN_EXPORT PFNGLSTENCILOPSEPARATEATIPROC __glewStencilOpSeparateATI;
+
+GLEW_FUN_EXPORT PFNGLARRAYOBJECTATIPROC __glewArrayObjectATI;
+GLEW_FUN_EXPORT PFNGLFREEOBJECTBUFFERATIPROC __glewFreeObjectBufferATI;
+GLEW_FUN_EXPORT PFNGLGETARRAYOBJECTFVATIPROC __glewGetArrayObjectfvATI;
+GLEW_FUN_EXPORT PFNGLGETARRAYOBJECTIVATIPROC __glewGetArrayObjectivATI;
+GLEW_FUN_EXPORT PFNGLGETOBJECTBUFFERFVATIPROC __glewGetObjectBufferfvATI;
+GLEW_FUN_EXPORT PFNGLGETOBJECTBUFFERIVATIPROC __glewGetObjectBufferivATI;
+GLEW_FUN_EXPORT PFNGLGETVARIANTARRAYOBJECTFVATIPROC __glewGetVariantArrayObjectfvATI;
+GLEW_FUN_EXPORT PFNGLGETVARIANTARRAYOBJECTIVATIPROC __glewGetVariantArrayObjectivATI;
+GLEW_FUN_EXPORT PFNGLISOBJECTBUFFERATIPROC __glewIsObjectBufferATI;
+GLEW_FUN_EXPORT PFNGLNEWOBJECTBUFFERATIPROC __glewNewObjectBufferATI;
+GLEW_FUN_EXPORT PFNGLUPDATEOBJECTBUFFERATIPROC __glewUpdateObjectBufferATI;
+GLEW_FUN_EXPORT PFNGLVARIANTARRAYOBJECTATIPROC __glewVariantArrayObjectATI;
+
+GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC __glewGetVertexAttribArrayObjectfvATI;
+GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC __glewGetVertexAttribArrayObjectivATI;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBARRAYOBJECTATIPROC __glewVertexAttribArrayObjectATI;
+
+GLEW_FUN_EXPORT PFNGLCLIENTACTIVEVERTEXSTREAMATIPROC __glewClientActiveVertexStreamATI;
+GLEW_FUN_EXPORT PFNGLNORMALSTREAM3BATIPROC __glewNormalStream3bATI;
+GLEW_FUN_EXPORT PFNGLNORMALSTREAM3BVATIPROC __glewNormalStream3bvATI;
+GLEW_FUN_EXPORT PFNGLNORMALSTREAM3DATIPROC __glewNormalStream3dATI;
+GLEW_FUN_EXPORT PFNGLNORMALSTREAM3DVATIPROC __glewNormalStream3dvATI;
+GLEW_FUN_EXPORT PFNGLNORMALSTREAM3FATIPROC __glewNormalStream3fATI;
+GLEW_FUN_EXPORT PFNGLNORMALSTREAM3FVATIPROC __glewNormalStream3fvATI;
+GLEW_FUN_EXPORT PFNGLNORMALSTREAM3IATIPROC __glewNormalStream3iATI;
+GLEW_FUN_EXPORT PFNGLNORMALSTREAM3IVATIPROC __glewNormalStream3ivATI;
+GLEW_FUN_EXPORT PFNGLNORMALSTREAM3SATIPROC __glewNormalStream3sATI;
+GLEW_FUN_EXPORT PFNGLNORMALSTREAM3SVATIPROC __glewNormalStream3svATI;
+GLEW_FUN_EXPORT PFNGLVERTEXBLENDENVFATIPROC __glewVertexBlendEnvfATI;
+GLEW_FUN_EXPORT PFNGLVERTEXBLENDENVIATIPROC __glewVertexBlendEnviATI;
+GLEW_FUN_EXPORT PFNGLVERTEXSTREAM2DATIPROC __glewVertexStream2dATI;
+GLEW_FUN_EXPORT PFNGLVERTEXSTREAM2DVATIPROC __glewVertexStream2dvATI;
+GLEW_FUN_EXPORT PFNGLVERTEXSTREAM2FATIPROC __glewVertexStream2fATI;
+GLEW_FUN_EXPORT PFNGLVERTEXSTREAM2FVATIPROC __glewVertexStream2fvATI;
+GLEW_FUN_EXPORT PFNGLVERTEXSTREAM2IATIPROC __glewVertexStream2iATI;
+GLEW_FUN_EXPORT PFNGLVERTEXSTREAM2IVATIPROC __glewVertexStream2ivATI;
+GLEW_FUN_EXPORT PFNGLVERTEXSTREAM2SATIPROC __glewVertexStream2sATI;
+GLEW_FUN_EXPORT PFNGLVERTEXSTREAM2SVATIPROC __glewVertexStream2svATI;
+GLEW_FUN_EXPORT PFNGLVERTEXSTREAM3DATIPROC __glewVertexStream3dATI;
+GLEW_FUN_EXPORT PFNGLVERTEXSTREAM3DVATIPROC __glewVertexStream3dvATI;
+GLEW_FUN_EXPORT PFNGLVERTEXSTREAM3FATIPROC __glewVertexStream3fATI;
+GLEW_FUN_EXPORT PFNGLVERTEXSTREAM3FVATIPROC __glewVertexStream3fvATI;
+GLEW_FUN_EXPORT PFNGLVERTEXSTREAM3IATIPROC __glewVertexStream3iATI;
+GLEW_FUN_EXPORT PFNGLVERTEXSTREAM3IVATIPROC __glewVertexStream3ivATI;
+GLEW_FUN_EXPORT PFNGLVERTEXSTREAM3SATIPROC __glewVertexStream3sATI;
+GLEW_FUN_EXPORT PFNGLVERTEXSTREAM3SVATIPROC __glewVertexStream3svATI;
+GLEW_FUN_EXPORT PFNGLVERTEXSTREAM4DATIPROC __glewVertexStream4dATI;
+GLEW_FUN_EXPORT PFNGLVERTEXSTREAM4DVATIPROC __glewVertexStream4dvATI;
+GLEW_FUN_EXPORT PFNGLVERTEXSTREAM4FATIPROC __glewVertexStream4fATI;
+GLEW_FUN_EXPORT PFNGLVERTEXSTREAM4FVATIPROC __glewVertexStream4fvATI;
+GLEW_FUN_EXPORT PFNGLVERTEXSTREAM4IATIPROC __glewVertexStream4iATI;
+GLEW_FUN_EXPORT PFNGLVERTEXSTREAM4IVATIPROC __glewVertexStream4ivATI;
+GLEW_FUN_EXPORT PFNGLVERTEXSTREAM4SATIPROC __glewVertexStream4sATI;
+GLEW_FUN_EXPORT PFNGLVERTEXSTREAM4SVATIPROC __glewVertexStream4svATI;
+
+GLEW_FUN_EXPORT PFNGLGETUNIFORMBUFFERSIZEEXTPROC __glewGetUniformBufferSizeEXT;
+GLEW_FUN_EXPORT PFNGLGETUNIFORMOFFSETEXTPROC __glewGetUniformOffsetEXT;
+GLEW_FUN_EXPORT PFNGLUNIFORMBUFFEREXTPROC __glewUniformBufferEXT;
+
+GLEW_FUN_EXPORT PFNGLBLENDCOLOREXTPROC __glewBlendColorEXT;
+
+GLEW_FUN_EXPORT PFNGLBLENDEQUATIONSEPARATEEXTPROC __glewBlendEquationSeparateEXT;
+
+GLEW_FUN_EXPORT PFNGLBLENDFUNCSEPARATEEXTPROC __glewBlendFuncSeparateEXT;
+
+GLEW_FUN_EXPORT PFNGLBLENDEQUATIONEXTPROC __glewBlendEquationEXT;
+
+GLEW_FUN_EXPORT PFNGLCOLORSUBTABLEEXTPROC __glewColorSubTableEXT;
+GLEW_FUN_EXPORT PFNGLCOPYCOLORSUBTABLEEXTPROC __glewCopyColorSubTableEXT;
+
+GLEW_FUN_EXPORT PFNGLLOCKARRAYSEXTPROC __glewLockArraysEXT;
+GLEW_FUN_EXPORT PFNGLUNLOCKARRAYSEXTPROC __glewUnlockArraysEXT;
+
+GLEW_FUN_EXPORT PFNGLCONVOLUTIONFILTER1DEXTPROC __glewConvolutionFilter1DEXT;
+GLEW_FUN_EXPORT PFNGLCONVOLUTIONFILTER2DEXTPROC __glewConvolutionFilter2DEXT;
+GLEW_FUN_EXPORT PFNGLCONVOLUTIONPARAMETERFEXTPROC __glewConvolutionParameterfEXT;
+GLEW_FUN_EXPORT PFNGLCONVOLUTIONPARAMETERFVEXTPROC __glewConvolutionParameterfvEXT;
+GLEW_FUN_EXPORT PFNGLCONVOLUTIONPARAMETERIEXTPROC __glewConvolutionParameteriEXT;
+GLEW_FUN_EXPORT PFNGLCONVOLUTIONPARAMETERIVEXTPROC __glewConvolutionParameterivEXT;
+GLEW_FUN_EXPORT PFNGLCOPYCONVOLUTIONFILTER1DEXTPROC __glewCopyConvolutionFilter1DEXT;
+GLEW_FUN_EXPORT PFNGLCOPYCONVOLUTIONFILTER2DEXTPROC __glewCopyConvolutionFilter2DEXT;
+GLEW_FUN_EXPORT PFNGLGETCONVOLUTIONFILTEREXTPROC __glewGetConvolutionFilterEXT;
+GLEW_FUN_EXPORT PFNGLGETCONVOLUTIONPARAMETERFVEXTPROC __glewGetConvolutionParameterfvEXT;
+GLEW_FUN_EXPORT PFNGLGETCONVOLUTIONPARAMETERIVEXTPROC __glewGetConvolutionParameterivEXT;
+GLEW_FUN_EXPORT PFNGLGETSEPARABLEFILTEREXTPROC __glewGetSeparableFilterEXT;
+GLEW_FUN_EXPORT PFNGLSEPARABLEFILTER2DEXTPROC __glewSeparableFilter2DEXT;
+
+GLEW_FUN_EXPORT PFNGLBINORMALPOINTEREXTPROC __glewBinormalPointerEXT;
+GLEW_FUN_EXPORT PFNGLTANGENTPOINTEREXTPROC __glewTangentPointerEXT;
+
+GLEW_FUN_EXPORT PFNGLCOPYTEXIMAGE1DEXTPROC __glewCopyTexImage1DEXT;
+GLEW_FUN_EXPORT PFNGLCOPYTEXIMAGE2DEXTPROC __glewCopyTexImage2DEXT;
+GLEW_FUN_EXPORT PFNGLCOPYTEXSUBIMAGE1DEXTPROC __glewCopyTexSubImage1DEXT;
+GLEW_FUN_EXPORT PFNGLCOPYTEXSUBIMAGE2DEXTPROC __glewCopyTexSubImage2DEXT;
+GLEW_FUN_EXPORT PFNGLCOPYTEXSUBIMAGE3DEXTPROC __glewCopyTexSubImage3DEXT;
+
+GLEW_FUN_EXPORT PFNGLCULLPARAMETERDVEXTPROC __glewCullParameterdvEXT;
+GLEW_FUN_EXPORT PFNGLCULLPARAMETERFVEXTPROC __glewCullParameterfvEXT;
+
+GLEW_FUN_EXPORT PFNGLDEPTHBOUNDSEXTPROC __glewDepthBoundsEXT;
+
+GLEW_FUN_EXPORT PFNGLBINDMULTITEXTUREEXTPROC __glewBindMultiTextureEXT;
+GLEW_FUN_EXPORT PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC __glewCheckNamedFramebufferStatusEXT;
+GLEW_FUN_EXPORT PFNGLCLIENTATTRIBDEFAULTEXTPROC __glewClientAttribDefaultEXT;
+GLEW_FUN_EXPORT PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC __glewCompressedMultiTexImage1DEXT;
+GLEW_FUN_EXPORT PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC __glewCompressedMultiTexImage2DEXT;
+GLEW_FUN_EXPORT PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC __glewCompressedMultiTexImage3DEXT;
+GLEW_FUN_EXPORT PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC __glewCompressedMultiTexSubImage1DEXT;
+GLEW_FUN_EXPORT PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC __glewCompressedMultiTexSubImage2DEXT;
+GLEW_FUN_EXPORT PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC __glewCompressedMultiTexSubImage3DEXT;
+GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC __glewCompressedTextureImage1DEXT;
+GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC __glewCompressedTextureImage2DEXT;
+GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC __glewCompressedTextureImage3DEXT;
+GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC __glewCompressedTextureSubImage1DEXT;
+GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC __glewCompressedTextureSubImage2DEXT;
+GLEW_FUN_EXPORT PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC __glewCompressedTextureSubImage3DEXT;
+GLEW_FUN_EXPORT PFNGLCOPYMULTITEXIMAGE1DEXTPROC __glewCopyMultiTexImage1DEXT;
+GLEW_FUN_EXPORT PFNGLCOPYMULTITEXIMAGE2DEXTPROC __glewCopyMultiTexImage2DEXT;
+GLEW_FUN_EXPORT PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC __glewCopyMultiTexSubImage1DEXT;
+GLEW_FUN_EXPORT PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC __glewCopyMultiTexSubImage2DEXT;
+GLEW_FUN_EXPORT PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC __glewCopyMultiTexSubImage3DEXT;
+GLEW_FUN_EXPORT PFNGLCOPYTEXTUREIMAGE1DEXTPROC __glewCopyTextureImage1DEXT;
+GLEW_FUN_EXPORT PFNGLCOPYTEXTUREIMAGE2DEXTPROC __glewCopyTextureImage2DEXT;
+GLEW_FUN_EXPORT PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC __glewCopyTextureSubImage1DEXT;
+GLEW_FUN_EXPORT PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC __glewCopyTextureSubImage2DEXT;
+GLEW_FUN_EXPORT PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC __glewCopyTextureSubImage3DEXT;
+GLEW_FUN_EXPORT PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC __glewDisableClientStateIndexedEXT;
+GLEW_FUN_EXPORT PFNGLDISABLECLIENTSTATEIEXTPROC __glewDisableClientStateiEXT;
+GLEW_FUN_EXPORT PFNGLDISABLEVERTEXARRAYATTRIBEXTPROC __glewDisableVertexArrayAttribEXT;
+GLEW_FUN_EXPORT PFNGLDISABLEVERTEXARRAYEXTPROC __glewDisableVertexArrayEXT;
+GLEW_FUN_EXPORT PFNGLENABLECLIENTSTATEINDEXEDEXTPROC __glewEnableClientStateIndexedEXT;
+GLEW_FUN_EXPORT PFNGLENABLECLIENTSTATEIEXTPROC __glewEnableClientStateiEXT;
+GLEW_FUN_EXPORT PFNGLENABLEVERTEXARRAYATTRIBEXTPROC __glewEnableVertexArrayAttribEXT;
+GLEW_FUN_EXPORT PFNGLENABLEVERTEXARRAYEXTPROC __glewEnableVertexArrayEXT;
+GLEW_FUN_EXPORT PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC __glewFlushMappedNamedBufferRangeEXT;
+GLEW_FUN_EXPORT PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC __glewFramebufferDrawBufferEXT;
+GLEW_FUN_EXPORT PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC __glewFramebufferDrawBuffersEXT;
+GLEW_FUN_EXPORT PFNGLFRAMEBUFFERREADBUFFEREXTPROC __glewFramebufferReadBufferEXT;
+GLEW_FUN_EXPORT PFNGLGENERATEMULTITEXMIPMAPEXTPROC __glewGenerateMultiTexMipmapEXT;
+GLEW_FUN_EXPORT PFNGLGENERATETEXTUREMIPMAPEXTPROC __glewGenerateTextureMipmapEXT;
+GLEW_FUN_EXPORT PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC __glewGetCompressedMultiTexImageEXT;
+GLEW_FUN_EXPORT PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC __glewGetCompressedTextureImageEXT;
+GLEW_FUN_EXPORT PFNGLGETDOUBLEINDEXEDVEXTPROC __glewGetDoubleIndexedvEXT;
+GLEW_FUN_EXPORT PFNGLGETDOUBLEI_VEXTPROC __glewGetDoublei_vEXT;
+GLEW_FUN_EXPORT PFNGLGETFLOATINDEXEDVEXTPROC __glewGetFloatIndexedvEXT;
+GLEW_FUN_EXPORT PFNGLGETFLOATI_VEXTPROC __glewGetFloati_vEXT;
+GLEW_FUN_EXPORT PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC __glewGetFramebufferParameterivEXT;
+GLEW_FUN_EXPORT PFNGLGETMULTITEXENVFVEXTPROC __glewGetMultiTexEnvfvEXT;
+GLEW_FUN_EXPORT PFNGLGETMULTITEXENVIVEXTPROC __glewGetMultiTexEnvivEXT;
+GLEW_FUN_EXPORT PFNGLGETMULTITEXGENDVEXTPROC __glewGetMultiTexGendvEXT;
+GLEW_FUN_EXPORT PFNGLGETMULTITEXGENFVEXTPROC __glewGetMultiTexGenfvEXT;
+GLEW_FUN_EXPORT PFNGLGETMULTITEXGENIVEXTPROC __glewGetMultiTexGenivEXT;
+GLEW_FUN_EXPORT PFNGLGETMULTITEXIMAGEEXTPROC __glewGetMultiTexImageEXT;
+GLEW_FUN_EXPORT PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC __glewGetMultiTexLevelParameterfvEXT;
+GLEW_FUN_EXPORT PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC __glewGetMultiTexLevelParameterivEXT;
+GLEW_FUN_EXPORT PFNGLGETMULTITEXPARAMETERIIVEXTPROC __glewGetMultiTexParameterIivEXT;
+GLEW_FUN_EXPORT PFNGLGETMULTITEXPARAMETERIUIVEXTPROC __glewGetMultiTexParameterIuivEXT;
+GLEW_FUN_EXPORT PFNGLGETMULTITEXPARAMETERFVEXTPROC __glewGetMultiTexParameterfvEXT;
+GLEW_FUN_EXPORT PFNGLGETMULTITEXPARAMETERIVEXTPROC __glewGetMultiTexParameterivEXT;
+GLEW_FUN_EXPORT PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC __glewGetNamedBufferParameterivEXT;
+GLEW_FUN_EXPORT PFNGLGETNAMEDBUFFERPOINTERVEXTPROC __glewGetNamedBufferPointervEXT;
+GLEW_FUN_EXPORT PFNGLGETNAMEDBUFFERSUBDATAEXTPROC __glewGetNamedBufferSubDataEXT;
+GLEW_FUN_EXPORT PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC __glewGetNamedFramebufferAttachmentParameterivEXT;
+GLEW_FUN_EXPORT PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC __glewGetNamedProgramLocalParameterIivEXT;
+GLEW_FUN_EXPORT PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC __glewGetNamedProgramLocalParameterIuivEXT;
+GLEW_FUN_EXPORT PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC __glewGetNamedProgramLocalParameterdvEXT;
+GLEW_FUN_EXPORT PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC __glewGetNamedProgramLocalParameterfvEXT;
+GLEW_FUN_EXPORT PFNGLGETNAMEDPROGRAMSTRINGEXTPROC __glewGetNamedProgramStringEXT;
+GLEW_FUN_EXPORT PFNGLGETNAMEDPROGRAMIVEXTPROC __glewGetNamedProgramivEXT;
+GLEW_FUN_EXPORT PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC __glewGetNamedRenderbufferParameterivEXT;
+GLEW_FUN_EXPORT PFNGLGETPOINTERINDEXEDVEXTPROC __glewGetPointerIndexedvEXT;
+GLEW_FUN_EXPORT PFNGLGETPOINTERI_VEXTPROC __glewGetPointeri_vEXT;
+GLEW_FUN_EXPORT PFNGLGETTEXTUREIMAGEEXTPROC __glewGetTextureImageEXT;
+GLEW_FUN_EXPORT PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC __glewGetTextureLevelParameterfvEXT;
+GLEW_FUN_EXPORT PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC __glewGetTextureLevelParameterivEXT;
+GLEW_FUN_EXPORT PFNGLGETTEXTUREPARAMETERIIVEXTPROC __glewGetTextureParameterIivEXT;
+GLEW_FUN_EXPORT PFNGLGETTEXTUREPARAMETERIUIVEXTPROC __glewGetTextureParameterIuivEXT;
+GLEW_FUN_EXPORT PFNGLGETTEXTUREPARAMETERFVEXTPROC __glewGetTextureParameterfvEXT;
+GLEW_FUN_EXPORT PFNGLGETTEXTUREPARAMETERIVEXTPROC __glewGetTextureParameterivEXT;
+GLEW_FUN_EXPORT PFNGLGETVERTEXARRAYINTEGERI_VEXTPROC __glewGetVertexArrayIntegeri_vEXT;
+GLEW_FUN_EXPORT PFNGLGETVERTEXARRAYINTEGERVEXTPROC __glewGetVertexArrayIntegervEXT;
+GLEW_FUN_EXPORT PFNGLGETVERTEXARRAYPOINTERI_VEXTPROC __glewGetVertexArrayPointeri_vEXT;
+GLEW_FUN_EXPORT PFNGLGETVERTEXARRAYPOINTERVEXTPROC __glewGetVertexArrayPointervEXT;
+GLEW_FUN_EXPORT PFNGLMAPNAMEDBUFFEREXTPROC __glewMapNamedBufferEXT;
+GLEW_FUN_EXPORT PFNGLMAPNAMEDBUFFERRANGEEXTPROC __glewMapNamedBufferRangeEXT;
+GLEW_FUN_EXPORT PFNGLMATRIXFRUSTUMEXTPROC __glewMatrixFrustumEXT;
+GLEW_FUN_EXPORT PFNGLMATRIXLOADIDENTITYEXTPROC __glewMatrixLoadIdentityEXT;
+GLEW_FUN_EXPORT PFNGLMATRIXLOADTRANSPOSEDEXTPROC __glewMatrixLoadTransposedEXT;
+GLEW_FUN_EXPORT PFNGLMATRIXLOADTRANSPOSEFEXTPROC __glewMatrixLoadTransposefEXT;
+GLEW_FUN_EXPORT PFNGLMATRIXLOADDEXTPROC __glewMatrixLoaddEXT;
+GLEW_FUN_EXPORT PFNGLMATRIXLOADFEXTPROC __glewMatrixLoadfEXT;
+GLEW_FUN_EXPORT PFNGLMATRIXMULTTRANSPOSEDEXTPROC __glewMatrixMultTransposedEXT;
+GLEW_FUN_EXPORT PFNGLMATRIXMULTTRANSPOSEFEXTPROC __glewMatrixMultTransposefEXT;
+GLEW_FUN_EXPORT PFNGLMATRIXMULTDEXTPROC __glewMatrixMultdEXT;
+GLEW_FUN_EXPORT PFNGLMATRIXMULTFEXTPROC __glewMatrixMultfEXT;
+GLEW_FUN_EXPORT PFNGLMATRIXORTHOEXTPROC __glewMatrixOrthoEXT;
+GLEW_FUN_EXPORT PFNGLMATRIXPOPEXTPROC __glewMatrixPopEXT;
+GLEW_FUN_EXPORT PFNGLMATRIXPUSHEXTPROC __glewMatrixPushEXT;
+GLEW_FUN_EXPORT PFNGLMATRIXROTATEDEXTPROC __glewMatrixRotatedEXT;
+GLEW_FUN_EXPORT PFNGLMATRIXROTATEFEXTPROC __glewMatrixRotatefEXT;
+GLEW_FUN_EXPORT PFNGLMATRIXSCALEDEXTPROC __glewMatrixScaledEXT;
+GLEW_FUN_EXPORT PFNGLMATRIXSCALEFEXTPROC __glewMatrixScalefEXT;
+GLEW_FUN_EXPORT PFNGLMATRIXTRANSLATEDEXTPROC __glewMatrixTranslatedEXT;
+GLEW_FUN_EXPORT PFNGLMATRIXTRANSLATEFEXTPROC __glewMatrixTranslatefEXT;
+GLEW_FUN_EXPORT PFNGLMULTITEXBUFFEREXTPROC __glewMultiTexBufferEXT;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORDPOINTEREXTPROC __glewMultiTexCoordPointerEXT;
+GLEW_FUN_EXPORT PFNGLMULTITEXENVFEXTPROC __glewMultiTexEnvfEXT;
+GLEW_FUN_EXPORT PFNGLMULTITEXENVFVEXTPROC __glewMultiTexEnvfvEXT;
+GLEW_FUN_EXPORT PFNGLMULTITEXENVIEXTPROC __glewMultiTexEnviEXT;
+GLEW_FUN_EXPORT PFNGLMULTITEXENVIVEXTPROC __glewMultiTexEnvivEXT;
+GLEW_FUN_EXPORT PFNGLMULTITEXGENDEXTPROC __glewMultiTexGendEXT;
+GLEW_FUN_EXPORT PFNGLMULTITEXGENDVEXTPROC __glewMultiTexGendvEXT;
+GLEW_FUN_EXPORT PFNGLMULTITEXGENFEXTPROC __glewMultiTexGenfEXT;
+GLEW_FUN_EXPORT PFNGLMULTITEXGENFVEXTPROC __glewMultiTexGenfvEXT;
+GLEW_FUN_EXPORT PFNGLMULTITEXGENIEXTPROC __glewMultiTexGeniEXT;
+GLEW_FUN_EXPORT PFNGLMULTITEXGENIVEXTPROC __glewMultiTexGenivEXT;
+GLEW_FUN_EXPORT PFNGLMULTITEXIMAGE1DEXTPROC __glewMultiTexImage1DEXT;
+GLEW_FUN_EXPORT PFNGLMULTITEXIMAGE2DEXTPROC __glewMultiTexImage2DEXT;
+GLEW_FUN_EXPORT PFNGLMULTITEXIMAGE3DEXTPROC __glewMultiTexImage3DEXT;
+GLEW_FUN_EXPORT PFNGLMULTITEXPARAMETERIIVEXTPROC __glewMultiTexParameterIivEXT;
+GLEW_FUN_EXPORT PFNGLMULTITEXPARAMETERIUIVEXTPROC __glewMultiTexParameterIuivEXT;
+GLEW_FUN_EXPORT PFNGLMULTITEXPARAMETERFEXTPROC __glewMultiTexParameterfEXT;
+GLEW_FUN_EXPORT PFNGLMULTITEXPARAMETERFVEXTPROC __glewMultiTexParameterfvEXT;
+GLEW_FUN_EXPORT PFNGLMULTITEXPARAMETERIEXTPROC __glewMultiTexParameteriEXT;
+GLEW_FUN_EXPORT PFNGLMULTITEXPARAMETERIVEXTPROC __glewMultiTexParameterivEXT;
+GLEW_FUN_EXPORT PFNGLMULTITEXRENDERBUFFEREXTPROC __glewMultiTexRenderbufferEXT;
+GLEW_FUN_EXPORT PFNGLMULTITEXSUBIMAGE1DEXTPROC __glewMultiTexSubImage1DEXT;
+GLEW_FUN_EXPORT PFNGLMULTITEXSUBIMAGE2DEXTPROC __glewMultiTexSubImage2DEXT;
+GLEW_FUN_EXPORT PFNGLMULTITEXSUBIMAGE3DEXTPROC __glewMultiTexSubImage3DEXT;
+GLEW_FUN_EXPORT PFNGLNAMEDBUFFERDATAEXTPROC __glewNamedBufferDataEXT;
+GLEW_FUN_EXPORT PFNGLNAMEDBUFFERSUBDATAEXTPROC __glewNamedBufferSubDataEXT;
+GLEW_FUN_EXPORT PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC __glewNamedCopyBufferSubDataEXT;
+GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC __glewNamedFramebufferRenderbufferEXT;
+GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC __glewNamedFramebufferTexture1DEXT;
+GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC __glewNamedFramebufferTexture2DEXT;
+GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC __glewNamedFramebufferTexture3DEXT;
+GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC __glewNamedFramebufferTextureEXT;
+GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC __glewNamedFramebufferTextureFaceEXT;
+GLEW_FUN_EXPORT PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC __glewNamedFramebufferTextureLayerEXT;
+GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC __glewNamedProgramLocalParameter4dEXT;
+GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC __glewNamedProgramLocalParameter4dvEXT;
+GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC __glewNamedProgramLocalParameter4fEXT;
+GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC __glewNamedProgramLocalParameter4fvEXT;
+GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC __glewNamedProgramLocalParameterI4iEXT;
+GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC __glewNamedProgramLocalParameterI4ivEXT;
+GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC __glewNamedProgramLocalParameterI4uiEXT;
+GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC __glewNamedProgramLocalParameterI4uivEXT;
+GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC __glewNamedProgramLocalParameters4fvEXT;
+GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC __glewNamedProgramLocalParametersI4ivEXT;
+GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC __glewNamedProgramLocalParametersI4uivEXT;
+GLEW_FUN_EXPORT PFNGLNAMEDPROGRAMSTRINGEXTPROC __glewNamedProgramStringEXT;
+GLEW_FUN_EXPORT PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC __glewNamedRenderbufferStorageEXT;
+GLEW_FUN_EXPORT PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC __glewNamedRenderbufferStorageMultisampleCoverageEXT;
+GLEW_FUN_EXPORT PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC __glewNamedRenderbufferStorageMultisampleEXT;
+GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1FEXTPROC __glewProgramUniform1fEXT;
+GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1FVEXTPROC __glewProgramUniform1fvEXT;
+GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1IEXTPROC __glewProgramUniform1iEXT;
+GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1IVEXTPROC __glewProgramUniform1ivEXT;
+GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1UIEXTPROC __glewProgramUniform1uiEXT;
+GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1UIVEXTPROC __glewProgramUniform1uivEXT;
+GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2FEXTPROC __glewProgramUniform2fEXT;
+GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2FVEXTPROC __glewProgramUniform2fvEXT;
+GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2IEXTPROC __glewProgramUniform2iEXT;
+GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2IVEXTPROC __glewProgramUniform2ivEXT;
+GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2UIEXTPROC __glewProgramUniform2uiEXT;
+GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2UIVEXTPROC __glewProgramUniform2uivEXT;
+GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3FEXTPROC __glewProgramUniform3fEXT;
+GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3FVEXTPROC __glewProgramUniform3fvEXT;
+GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3IEXTPROC __glewProgramUniform3iEXT;
+GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3IVEXTPROC __glewProgramUniform3ivEXT;
+GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3UIEXTPROC __glewProgramUniform3uiEXT;
+GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3UIVEXTPROC __glewProgramUniform3uivEXT;
+GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4FEXTPROC __glewProgramUniform4fEXT;
+GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4FVEXTPROC __glewProgramUniform4fvEXT;
+GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4IEXTPROC __glewProgramUniform4iEXT;
+GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4IVEXTPROC __glewProgramUniform4ivEXT;
+GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4UIEXTPROC __glewProgramUniform4uiEXT;
+GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4UIVEXTPROC __glewProgramUniform4uivEXT;
+GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC __glewProgramUniformMatrix2fvEXT;
+GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC __glewProgramUniformMatrix2x3fvEXT;
+GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC __glewProgramUniformMatrix2x4fvEXT;
+GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC __glewProgramUniformMatrix3fvEXT;
+GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC __glewProgramUniformMatrix3x2fvEXT;
+GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC __glewProgramUniformMatrix3x4fvEXT;
+GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC __glewProgramUniformMatrix4fvEXT;
+GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC __glewProgramUniformMatrix4x2fvEXT;
+GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC __glewProgramUniformMatrix4x3fvEXT;
+GLEW_FUN_EXPORT PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC __glewPushClientAttribDefaultEXT;
+GLEW_FUN_EXPORT PFNGLTEXTUREBUFFEREXTPROC __glewTextureBufferEXT;
+GLEW_FUN_EXPORT PFNGLTEXTUREIMAGE1DEXTPROC __glewTextureImage1DEXT;
+GLEW_FUN_EXPORT PFNGLTEXTUREIMAGE2DEXTPROC __glewTextureImage2DEXT;
+GLEW_FUN_EXPORT PFNGLTEXTUREIMAGE3DEXTPROC __glewTextureImage3DEXT;
+GLEW_FUN_EXPORT PFNGLTEXTUREPARAMETERIIVEXTPROC __glewTextureParameterIivEXT;
+GLEW_FUN_EXPORT PFNGLTEXTUREPARAMETERIUIVEXTPROC __glewTextureParameterIuivEXT;
+GLEW_FUN_EXPORT PFNGLTEXTUREPARAMETERFEXTPROC __glewTextureParameterfEXT;
+GLEW_FUN_EXPORT PFNGLTEXTUREPARAMETERFVEXTPROC __glewTextureParameterfvEXT;
+GLEW_FUN_EXPORT PFNGLTEXTUREPARAMETERIEXTPROC __glewTextureParameteriEXT;
+GLEW_FUN_EXPORT PFNGLTEXTUREPARAMETERIVEXTPROC __glewTextureParameterivEXT;
+GLEW_FUN_EXPORT PFNGLTEXTURERENDERBUFFEREXTPROC __glewTextureRenderbufferEXT;
+GLEW_FUN_EXPORT PFNGLTEXTURESUBIMAGE1DEXTPROC __glewTextureSubImage1DEXT;
+GLEW_FUN_EXPORT PFNGLTEXTURESUBIMAGE2DEXTPROC __glewTextureSubImage2DEXT;
+GLEW_FUN_EXPORT PFNGLTEXTURESUBIMAGE3DEXTPROC __glewTextureSubImage3DEXT;
+GLEW_FUN_EXPORT PFNGLUNMAPNAMEDBUFFEREXTPROC __glewUnmapNamedBufferEXT;
+GLEW_FUN_EXPORT PFNGLVERTEXARRAYCOLOROFFSETEXTPROC __glewVertexArrayColorOffsetEXT;
+GLEW_FUN_EXPORT PFNGLVERTEXARRAYEDGEFLAGOFFSETEXTPROC __glewVertexArrayEdgeFlagOffsetEXT;
+GLEW_FUN_EXPORT PFNGLVERTEXARRAYFOGCOORDOFFSETEXTPROC __glewVertexArrayFogCoordOffsetEXT;
+GLEW_FUN_EXPORT PFNGLVERTEXARRAYINDEXOFFSETEXTPROC __glewVertexArrayIndexOffsetEXT;
+GLEW_FUN_EXPORT PFNGLVERTEXARRAYMULTITEXCOORDOFFSETEXTPROC __glewVertexArrayMultiTexCoordOffsetEXT;
+GLEW_FUN_EXPORT PFNGLVERTEXARRAYNORMALOFFSETEXTPROC __glewVertexArrayNormalOffsetEXT;
+GLEW_FUN_EXPORT PFNGLVERTEXARRAYSECONDARYCOLOROFFSETEXTPROC __glewVertexArraySecondaryColorOffsetEXT;
+GLEW_FUN_EXPORT PFNGLVERTEXARRAYTEXCOORDOFFSETEXTPROC __glewVertexArrayTexCoordOffsetEXT;
+GLEW_FUN_EXPORT PFNGLVERTEXARRAYVERTEXATTRIBIOFFSETEXTPROC __glewVertexArrayVertexAttribIOffsetEXT;
+GLEW_FUN_EXPORT PFNGLVERTEXARRAYVERTEXATTRIBOFFSETEXTPROC __glewVertexArrayVertexAttribOffsetEXT;
+GLEW_FUN_EXPORT PFNGLVERTEXARRAYVERTEXOFFSETEXTPROC __glewVertexArrayVertexOffsetEXT;
+
+GLEW_FUN_EXPORT PFNGLCOLORMASKINDEXEDEXTPROC __glewColorMaskIndexedEXT;
+GLEW_FUN_EXPORT PFNGLDISABLEINDEXEDEXTPROC __glewDisableIndexedEXT;
+GLEW_FUN_EXPORT PFNGLENABLEINDEXEDEXTPROC __glewEnableIndexedEXT;
+GLEW_FUN_EXPORT PFNGLGETBOOLEANINDEXEDVEXTPROC __glewGetBooleanIndexedvEXT;
+GLEW_FUN_EXPORT PFNGLGETINTEGERINDEXEDVEXTPROC __glewGetIntegerIndexedvEXT;
+GLEW_FUN_EXPORT PFNGLISENABLEDINDEXEDEXTPROC __glewIsEnabledIndexedEXT;
+
+GLEW_FUN_EXPORT PFNGLDRAWARRAYSINSTANCEDEXTPROC __glewDrawArraysInstancedEXT;
+GLEW_FUN_EXPORT PFNGLDRAWELEMENTSINSTANCEDEXTPROC __glewDrawElementsInstancedEXT;
+
+GLEW_FUN_EXPORT PFNGLDRAWRANGEELEMENTSEXTPROC __glewDrawRangeElementsEXT;
+
+GLEW_FUN_EXPORT PFNGLFOGCOORDPOINTEREXTPROC __glewFogCoordPointerEXT;
+GLEW_FUN_EXPORT PFNGLFOGCOORDDEXTPROC __glewFogCoorddEXT;
+GLEW_FUN_EXPORT PFNGLFOGCOORDDVEXTPROC __glewFogCoorddvEXT;
+GLEW_FUN_EXPORT PFNGLFOGCOORDFEXTPROC __glewFogCoordfEXT;
+GLEW_FUN_EXPORT PFNGLFOGCOORDFVEXTPROC __glewFogCoordfvEXT;
+
+GLEW_FUN_EXPORT PFNGLFRAGMENTCOLORMATERIALEXTPROC __glewFragmentColorMaterialEXT;
+GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTMODELFEXTPROC __glewFragmentLightModelfEXT;
+GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTMODELFVEXTPROC __glewFragmentLightModelfvEXT;
+GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTMODELIEXTPROC __glewFragmentLightModeliEXT;
+GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTMODELIVEXTPROC __glewFragmentLightModelivEXT;
+GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTFEXTPROC __glewFragmentLightfEXT;
+GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTFVEXTPROC __glewFragmentLightfvEXT;
+GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTIEXTPROC __glewFragmentLightiEXT;
+GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTIVEXTPROC __glewFragmentLightivEXT;
+GLEW_FUN_EXPORT PFNGLFRAGMENTMATERIALFEXTPROC __glewFragmentMaterialfEXT;
+GLEW_FUN_EXPORT PFNGLFRAGMENTMATERIALFVEXTPROC __glewFragmentMaterialfvEXT;
+GLEW_FUN_EXPORT PFNGLFRAGMENTMATERIALIEXTPROC __glewFragmentMaterialiEXT;
+GLEW_FUN_EXPORT PFNGLFRAGMENTMATERIALIVEXTPROC __glewFragmentMaterialivEXT;
+GLEW_FUN_EXPORT PFNGLGETFRAGMENTLIGHTFVEXTPROC __glewGetFragmentLightfvEXT;
+GLEW_FUN_EXPORT PFNGLGETFRAGMENTLIGHTIVEXTPROC __glewGetFragmentLightivEXT;
+GLEW_FUN_EXPORT PFNGLGETFRAGMENTMATERIALFVEXTPROC __glewGetFragmentMaterialfvEXT;
+GLEW_FUN_EXPORT PFNGLGETFRAGMENTMATERIALIVEXTPROC __glewGetFragmentMaterialivEXT;
+GLEW_FUN_EXPORT PFNGLLIGHTENVIEXTPROC __glewLightEnviEXT;
+
+GLEW_FUN_EXPORT PFNGLBLITFRAMEBUFFEREXTPROC __glewBlitFramebufferEXT;
+
+GLEW_FUN_EXPORT PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC __glewRenderbufferStorageMultisampleEXT;
+
+GLEW_FUN_EXPORT PFNGLBINDFRAMEBUFFEREXTPROC __glewBindFramebufferEXT;
+GLEW_FUN_EXPORT PFNGLBINDRENDERBUFFEREXTPROC __glewBindRenderbufferEXT;
+GLEW_FUN_EXPORT PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC __glewCheckFramebufferStatusEXT;
+GLEW_FUN_EXPORT PFNGLDELETEFRAMEBUFFERSEXTPROC __glewDeleteFramebuffersEXT;
+GLEW_FUN_EXPORT PFNGLDELETERENDERBUFFERSEXTPROC __glewDeleteRenderbuffersEXT;
+GLEW_FUN_EXPORT PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC __glewFramebufferRenderbufferEXT;
+GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURE1DEXTPROC __glewFramebufferTexture1DEXT;
+GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURE2DEXTPROC __glewFramebufferTexture2DEXT;
+GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURE3DEXTPROC __glewFramebufferTexture3DEXT;
+GLEW_FUN_EXPORT PFNGLGENFRAMEBUFFERSEXTPROC __glewGenFramebuffersEXT;
+GLEW_FUN_EXPORT PFNGLGENRENDERBUFFERSEXTPROC __glewGenRenderbuffersEXT;
+GLEW_FUN_EXPORT PFNGLGENERATEMIPMAPEXTPROC __glewGenerateMipmapEXT;
+GLEW_FUN_EXPORT PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC __glewGetFramebufferAttachmentParameterivEXT;
+GLEW_FUN_EXPORT PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC __glewGetRenderbufferParameterivEXT;
+GLEW_FUN_EXPORT PFNGLISFRAMEBUFFEREXTPROC __glewIsFramebufferEXT;
+GLEW_FUN_EXPORT PFNGLISRENDERBUFFEREXTPROC __glewIsRenderbufferEXT;
+GLEW_FUN_EXPORT PFNGLRENDERBUFFERSTORAGEEXTPROC __glewRenderbufferStorageEXT;
+
+GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTUREEXTPROC __glewFramebufferTextureEXT;
+GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC __glewFramebufferTextureFaceEXT;
+GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC __glewFramebufferTextureLayerEXT;
+GLEW_FUN_EXPORT PFNGLPROGRAMPARAMETERIEXTPROC __glewProgramParameteriEXT;
+
+GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETERS4FVEXTPROC __glewProgramEnvParameters4fvEXT;
+GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC __glewProgramLocalParameters4fvEXT;
+
+GLEW_FUN_EXPORT PFNGLBINDFRAGDATALOCATIONEXTPROC __glewBindFragDataLocationEXT;
+GLEW_FUN_EXPORT PFNGLGETFRAGDATALOCATIONEXTPROC __glewGetFragDataLocationEXT;
+GLEW_FUN_EXPORT PFNGLGETUNIFORMUIVEXTPROC __glewGetUniformuivEXT;
+GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBIIVEXTPROC __glewGetVertexAttribIivEXT;
+GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBIUIVEXTPROC __glewGetVertexAttribIuivEXT;
+GLEW_FUN_EXPORT PFNGLUNIFORM1UIEXTPROC __glewUniform1uiEXT;
+GLEW_FUN_EXPORT PFNGLUNIFORM1UIVEXTPROC __glewUniform1uivEXT;
+GLEW_FUN_EXPORT PFNGLUNIFORM2UIEXTPROC __glewUniform2uiEXT;
+GLEW_FUN_EXPORT PFNGLUNIFORM2UIVEXTPROC __glewUniform2uivEXT;
+GLEW_FUN_EXPORT PFNGLUNIFORM3UIEXTPROC __glewUniform3uiEXT;
+GLEW_FUN_EXPORT PFNGLUNIFORM3UIVEXTPROC __glewUniform3uivEXT;
+GLEW_FUN_EXPORT PFNGLUNIFORM4UIEXTPROC __glewUniform4uiEXT;
+GLEW_FUN_EXPORT PFNGLUNIFORM4UIVEXTPROC __glewUniform4uivEXT;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI1IEXTPROC __glewVertexAttribI1iEXT;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI1IVEXTPROC __glewVertexAttribI1ivEXT;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI1UIEXTPROC __glewVertexAttribI1uiEXT;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI1UIVEXTPROC __glewVertexAttribI1uivEXT;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI2IEXTPROC __glewVertexAttribI2iEXT;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI2IVEXTPROC __glewVertexAttribI2ivEXT;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI2UIEXTPROC __glewVertexAttribI2uiEXT;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI2UIVEXTPROC __glewVertexAttribI2uivEXT;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI3IEXTPROC __glewVertexAttribI3iEXT;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI3IVEXTPROC __glewVertexAttribI3ivEXT;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI3UIEXTPROC __glewVertexAttribI3uiEXT;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI3UIVEXTPROC __glewVertexAttribI3uivEXT;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4BVEXTPROC __glewVertexAttribI4bvEXT;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4IEXTPROC __glewVertexAttribI4iEXT;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4IVEXTPROC __glewVertexAttribI4ivEXT;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4SVEXTPROC __glewVertexAttribI4svEXT;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4UBVEXTPROC __glewVertexAttribI4ubvEXT;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4UIEXTPROC __glewVertexAttribI4uiEXT;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4UIVEXTPROC __glewVertexAttribI4uivEXT;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBI4USVEXTPROC __glewVertexAttribI4usvEXT;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBIPOINTEREXTPROC __glewVertexAttribIPointerEXT;
+
+GLEW_FUN_EXPORT PFNGLGETHISTOGRAMEXTPROC __glewGetHistogramEXT;
+GLEW_FUN_EXPORT PFNGLGETHISTOGRAMPARAMETERFVEXTPROC __glewGetHistogramParameterfvEXT;
+GLEW_FUN_EXPORT PFNGLGETHISTOGRAMPARAMETERIVEXTPROC __glewGetHistogramParameterivEXT;
+GLEW_FUN_EXPORT PFNGLGETMINMAXEXTPROC __glewGetMinmaxEXT;
+GLEW_FUN_EXPORT PFNGLGETMINMAXPARAMETERFVEXTPROC __glewGetMinmaxParameterfvEXT;
+GLEW_FUN_EXPORT PFNGLGETMINMAXPARAMETERIVEXTPROC __glewGetMinmaxParameterivEXT;
+GLEW_FUN_EXPORT PFNGLHISTOGRAMEXTPROC __glewHistogramEXT;
+GLEW_FUN_EXPORT PFNGLMINMAXEXTPROC __glewMinmaxEXT;
+GLEW_FUN_EXPORT PFNGLRESETHISTOGRAMEXTPROC __glewResetHistogramEXT;
+GLEW_FUN_EXPORT PFNGLRESETMINMAXEXTPROC __glewResetMinmaxEXT;
+
+GLEW_FUN_EXPORT PFNGLINDEXFUNCEXTPROC __glewIndexFuncEXT;
+
+GLEW_FUN_EXPORT PFNGLINDEXMATERIALEXTPROC __glewIndexMaterialEXT;
+
+GLEW_FUN_EXPORT PFNGLAPPLYTEXTUREEXTPROC __glewApplyTextureEXT;
+GLEW_FUN_EXPORT PFNGLTEXTURELIGHTEXTPROC __glewTextureLightEXT;
+GLEW_FUN_EXPORT PFNGLTEXTUREMATERIALEXTPROC __glewTextureMaterialEXT;
+
+GLEW_FUN_EXPORT PFNGLMULTIDRAWARRAYSEXTPROC __glewMultiDrawArraysEXT;
+GLEW_FUN_EXPORT PFNGLMULTIDRAWELEMENTSEXTPROC __glewMultiDrawElementsEXT;
+
+GLEW_FUN_EXPORT PFNGLSAMPLEMASKEXTPROC __glewSampleMaskEXT;
+GLEW_FUN_EXPORT PFNGLSAMPLEPATTERNEXTPROC __glewSamplePatternEXT;
+
+GLEW_FUN_EXPORT PFNGLCOLORTABLEEXTPROC __glewColorTableEXT;
+GLEW_FUN_EXPORT PFNGLGETCOLORTABLEEXTPROC __glewGetColorTableEXT;
+GLEW_FUN_EXPORT PFNGLGETCOLORTABLEPARAMETERFVEXTPROC __glewGetColorTableParameterfvEXT;
+GLEW_FUN_EXPORT PFNGLGETCOLORTABLEPARAMETERIVEXTPROC __glewGetColorTableParameterivEXT;
+
+GLEW_FUN_EXPORT PFNGLGETPIXELTRANSFORMPARAMETERFVEXTPROC __glewGetPixelTransformParameterfvEXT;
+GLEW_FUN_EXPORT PFNGLGETPIXELTRANSFORMPARAMETERIVEXTPROC __glewGetPixelTransformParameterivEXT;
+GLEW_FUN_EXPORT PFNGLPIXELTRANSFORMPARAMETERFEXTPROC __glewPixelTransformParameterfEXT;
+GLEW_FUN_EXPORT PFNGLPIXELTRANSFORMPARAMETERFVEXTPROC __glewPixelTransformParameterfvEXT;
+GLEW_FUN_EXPORT PFNGLPIXELTRANSFORMPARAMETERIEXTPROC __glewPixelTransformParameteriEXT;
+GLEW_FUN_EXPORT PFNGLPIXELTRANSFORMPARAMETERIVEXTPROC __glewPixelTransformParameterivEXT;
+
+GLEW_FUN_EXPORT PFNGLPOINTPARAMETERFEXTPROC __glewPointParameterfEXT;
+GLEW_FUN_EXPORT PFNGLPOINTPARAMETERFVEXTPROC __glewPointParameterfvEXT;
+
+GLEW_FUN_EXPORT PFNGLPOLYGONOFFSETEXTPROC __glewPolygonOffsetEXT;
+
+GLEW_FUN_EXPORT PFNGLPROVOKINGVERTEXEXTPROC __glewProvokingVertexEXT;
+
+GLEW_FUN_EXPORT PFNGLBEGINSCENEEXTPROC __glewBeginSceneEXT;
+GLEW_FUN_EXPORT PFNGLENDSCENEEXTPROC __glewEndSceneEXT;
+
+GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3BEXTPROC __glewSecondaryColor3bEXT;
+GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3BVEXTPROC __glewSecondaryColor3bvEXT;
+GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3DEXTPROC __glewSecondaryColor3dEXT;
+GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3DVEXTPROC __glewSecondaryColor3dvEXT;
+GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3FEXTPROC __glewSecondaryColor3fEXT;
+GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3FVEXTPROC __glewSecondaryColor3fvEXT;
+GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3IEXTPROC __glewSecondaryColor3iEXT;
+GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3IVEXTPROC __glewSecondaryColor3ivEXT;
+GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3SEXTPROC __glewSecondaryColor3sEXT;
+GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3SVEXTPROC __glewSecondaryColor3svEXT;
+GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3UBEXTPROC __glewSecondaryColor3ubEXT;
+GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3UBVEXTPROC __glewSecondaryColor3ubvEXT;
+GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3UIEXTPROC __glewSecondaryColor3uiEXT;
+GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3UIVEXTPROC __glewSecondaryColor3uivEXT;
+GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3USEXTPROC __glewSecondaryColor3usEXT;
+GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3USVEXTPROC __glewSecondaryColor3usvEXT;
+GLEW_FUN_EXPORT PFNGLSECONDARYCOLORPOINTEREXTPROC __glewSecondaryColorPointerEXT;
+
+GLEW_FUN_EXPORT PFNGLACTIVEPROGRAMEXTPROC __glewActiveProgramEXT;
+GLEW_FUN_EXPORT PFNGLCREATESHADERPROGRAMEXTPROC __glewCreateShaderProgramEXT;
+GLEW_FUN_EXPORT PFNGLUSESHADERPROGRAMEXTPROC __glewUseShaderProgramEXT;
+
+GLEW_FUN_EXPORT PFNGLBINDIMAGETEXTUREEXTPROC __glewBindImageTextureEXT;
+GLEW_FUN_EXPORT PFNGLMEMORYBARRIEREXTPROC __glewMemoryBarrierEXT;
+
+GLEW_FUN_EXPORT PFNGLACTIVESTENCILFACEEXTPROC __glewActiveStencilFaceEXT;
+
+GLEW_FUN_EXPORT PFNGLTEXSUBIMAGE1DEXTPROC __glewTexSubImage1DEXT;
+GLEW_FUN_EXPORT PFNGLTEXSUBIMAGE2DEXTPROC __glewTexSubImage2DEXT;
+GLEW_FUN_EXPORT PFNGLTEXSUBIMAGE3DEXTPROC __glewTexSubImage3DEXT;
+
+GLEW_FUN_EXPORT PFNGLTEXIMAGE3DEXTPROC __glewTexImage3DEXT;
+
+GLEW_FUN_EXPORT PFNGLTEXBUFFEREXTPROC __glewTexBufferEXT;
+
+GLEW_FUN_EXPORT PFNGLCLEARCOLORIIEXTPROC __glewClearColorIiEXT;
+GLEW_FUN_EXPORT PFNGLCLEARCOLORIUIEXTPROC __glewClearColorIuiEXT;
+GLEW_FUN_EXPORT PFNGLGETTEXPARAMETERIIVEXTPROC __glewGetTexParameterIivEXT;
+GLEW_FUN_EXPORT PFNGLGETTEXPARAMETERIUIVEXTPROC __glewGetTexParameterIuivEXT;
+GLEW_FUN_EXPORT PFNGLTEXPARAMETERIIVEXTPROC __glewTexParameterIivEXT;
+GLEW_FUN_EXPORT PFNGLTEXPARAMETERIUIVEXTPROC __glewTexParameterIuivEXT;
+
+GLEW_FUN_EXPORT PFNGLARETEXTURESRESIDENTEXTPROC __glewAreTexturesResidentEXT;
+GLEW_FUN_EXPORT PFNGLBINDTEXTUREEXTPROC __glewBindTextureEXT;
+GLEW_FUN_EXPORT PFNGLDELETETEXTURESEXTPROC __glewDeleteTexturesEXT;
+GLEW_FUN_EXPORT PFNGLGENTEXTURESEXTPROC __glewGenTexturesEXT;
+GLEW_FUN_EXPORT PFNGLISTEXTUREEXTPROC __glewIsTextureEXT;
+GLEW_FUN_EXPORT PFNGLPRIORITIZETEXTURESEXTPROC __glewPrioritizeTexturesEXT;
+
+GLEW_FUN_EXPORT PFNGLTEXTURENORMALEXTPROC __glewTextureNormalEXT;
+
+GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTI64VEXTPROC __glewGetQueryObjecti64vEXT;
+GLEW_FUN_EXPORT PFNGLGETQUERYOBJECTUI64VEXTPROC __glewGetQueryObjectui64vEXT;
+
+GLEW_FUN_EXPORT PFNGLBEGINTRANSFORMFEEDBACKEXTPROC __glewBeginTransformFeedbackEXT;
+GLEW_FUN_EXPORT PFNGLBINDBUFFERBASEEXTPROC __glewBindBufferBaseEXT;
+GLEW_FUN_EXPORT PFNGLBINDBUFFEROFFSETEXTPROC __glewBindBufferOffsetEXT;
+GLEW_FUN_EXPORT PFNGLBINDBUFFERRANGEEXTPROC __glewBindBufferRangeEXT;
+GLEW_FUN_EXPORT PFNGLENDTRANSFORMFEEDBACKEXTPROC __glewEndTransformFeedbackEXT;
+GLEW_FUN_EXPORT PFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC __glewGetTransformFeedbackVaryingEXT;
+GLEW_FUN_EXPORT PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC __glewTransformFeedbackVaryingsEXT;
+
+GLEW_FUN_EXPORT PFNGLARRAYELEMENTEXTPROC __glewArrayElementEXT;
+GLEW_FUN_EXPORT PFNGLCOLORPOINTEREXTPROC __glewColorPointerEXT;
+GLEW_FUN_EXPORT PFNGLDRAWARRAYSEXTPROC __glewDrawArraysEXT;
+GLEW_FUN_EXPORT PFNGLEDGEFLAGPOINTEREXTPROC __glewEdgeFlagPointerEXT;
+GLEW_FUN_EXPORT PFNGLGETPOINTERVEXTPROC __glewGetPointervEXT;
+GLEW_FUN_EXPORT PFNGLINDEXPOINTEREXTPROC __glewIndexPointerEXT;
+GLEW_FUN_EXPORT PFNGLNORMALPOINTEREXTPROC __glewNormalPointerEXT;
+GLEW_FUN_EXPORT PFNGLTEXCOORDPOINTEREXTPROC __glewTexCoordPointerEXT;
+GLEW_FUN_EXPORT PFNGLVERTEXPOINTEREXTPROC __glewVertexPointerEXT;
+
+GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBLDVEXTPROC __glewGetVertexAttribLdvEXT;
+GLEW_FUN_EXPORT PFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC __glewVertexArrayVertexAttribLOffsetEXT;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL1DEXTPROC __glewVertexAttribL1dEXT;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL1DVEXTPROC __glewVertexAttribL1dvEXT;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL2DEXTPROC __glewVertexAttribL2dEXT;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL2DVEXTPROC __glewVertexAttribL2dvEXT;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL3DEXTPROC __glewVertexAttribL3dEXT;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL3DVEXTPROC __glewVertexAttribL3dvEXT;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL4DEXTPROC __glewVertexAttribL4dEXT;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL4DVEXTPROC __glewVertexAttribL4dvEXT;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBLPOINTEREXTPROC __glewVertexAttribLPointerEXT;
+
+GLEW_FUN_EXPORT PFNGLBEGINVERTEXSHADEREXTPROC __glewBeginVertexShaderEXT;
+GLEW_FUN_EXPORT PFNGLBINDLIGHTPARAMETEREXTPROC __glewBindLightParameterEXT;
+GLEW_FUN_EXPORT PFNGLBINDMATERIALPARAMETEREXTPROC __glewBindMaterialParameterEXT;
+GLEW_FUN_EXPORT PFNGLBINDPARAMETEREXTPROC __glewBindParameterEXT;
+GLEW_FUN_EXPORT PFNGLBINDTEXGENPARAMETEREXTPROC __glewBindTexGenParameterEXT;
+GLEW_FUN_EXPORT PFNGLBINDTEXTUREUNITPARAMETEREXTPROC __glewBindTextureUnitParameterEXT;
+GLEW_FUN_EXPORT PFNGLBINDVERTEXSHADEREXTPROC __glewBindVertexShaderEXT;
+GLEW_FUN_EXPORT PFNGLDELETEVERTEXSHADEREXTPROC __glewDeleteVertexShaderEXT;
+GLEW_FUN_EXPORT PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC __glewDisableVariantClientStateEXT;
+GLEW_FUN_EXPORT PFNGLENABLEVARIANTCLIENTSTATEEXTPROC __glewEnableVariantClientStateEXT;
+GLEW_FUN_EXPORT PFNGLENDVERTEXSHADEREXTPROC __glewEndVertexShaderEXT;
+GLEW_FUN_EXPORT PFNGLEXTRACTCOMPONENTEXTPROC __glewExtractComponentEXT;
+GLEW_FUN_EXPORT PFNGLGENSYMBOLSEXTPROC __glewGenSymbolsEXT;
+GLEW_FUN_EXPORT PFNGLGENVERTEXSHADERSEXTPROC __glewGenVertexShadersEXT;
+GLEW_FUN_EXPORT PFNGLGETINVARIANTBOOLEANVEXTPROC __glewGetInvariantBooleanvEXT;
+GLEW_FUN_EXPORT PFNGLGETINVARIANTFLOATVEXTPROC __glewGetInvariantFloatvEXT;
+GLEW_FUN_EXPORT PFNGLGETINVARIANTINTEGERVEXTPROC __glewGetInvariantIntegervEXT;
+GLEW_FUN_EXPORT PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC __glewGetLocalConstantBooleanvEXT;
+GLEW_FUN_EXPORT PFNGLGETLOCALCONSTANTFLOATVEXTPROC __glewGetLocalConstantFloatvEXT;
+GLEW_FUN_EXPORT PFNGLGETLOCALCONSTANTINTEGERVEXTPROC __glewGetLocalConstantIntegervEXT;
+GLEW_FUN_EXPORT PFNGLGETVARIANTBOOLEANVEXTPROC __glewGetVariantBooleanvEXT;
+GLEW_FUN_EXPORT PFNGLGETVARIANTFLOATVEXTPROC __glewGetVariantFloatvEXT;
+GLEW_FUN_EXPORT PFNGLGETVARIANTINTEGERVEXTPROC __glewGetVariantIntegervEXT;
+GLEW_FUN_EXPORT PFNGLGETVARIANTPOINTERVEXTPROC __glewGetVariantPointervEXT;
+GLEW_FUN_EXPORT PFNGLINSERTCOMPONENTEXTPROC __glewInsertComponentEXT;
+GLEW_FUN_EXPORT PFNGLISVARIANTENABLEDEXTPROC __glewIsVariantEnabledEXT;
+GLEW_FUN_EXPORT PFNGLSETINVARIANTEXTPROC __glewSetInvariantEXT;
+GLEW_FUN_EXPORT PFNGLSETLOCALCONSTANTEXTPROC __glewSetLocalConstantEXT;
+GLEW_FUN_EXPORT PFNGLSHADEROP1EXTPROC __glewShaderOp1EXT;
+GLEW_FUN_EXPORT PFNGLSHADEROP2EXTPROC __glewShaderOp2EXT;
+GLEW_FUN_EXPORT PFNGLSHADEROP3EXTPROC __glewShaderOp3EXT;
+GLEW_FUN_EXPORT PFNGLSWIZZLEEXTPROC __glewSwizzleEXT;
+GLEW_FUN_EXPORT PFNGLVARIANTPOINTEREXTPROC __glewVariantPointerEXT;
+GLEW_FUN_EXPORT PFNGLVARIANTBVEXTPROC __glewVariantbvEXT;
+GLEW_FUN_EXPORT PFNGLVARIANTDVEXTPROC __glewVariantdvEXT;
+GLEW_FUN_EXPORT PFNGLVARIANTFVEXTPROC __glewVariantfvEXT;
+GLEW_FUN_EXPORT PFNGLVARIANTIVEXTPROC __glewVariantivEXT;
+GLEW_FUN_EXPORT PFNGLVARIANTSVEXTPROC __glewVariantsvEXT;
+GLEW_FUN_EXPORT PFNGLVARIANTUBVEXTPROC __glewVariantubvEXT;
+GLEW_FUN_EXPORT PFNGLVARIANTUIVEXTPROC __glewVariantuivEXT;
+GLEW_FUN_EXPORT PFNGLVARIANTUSVEXTPROC __glewVariantusvEXT;
+GLEW_FUN_EXPORT PFNGLWRITEMASKEXTPROC __glewWriteMaskEXT;
+
+GLEW_FUN_EXPORT PFNGLVERTEXWEIGHTPOINTEREXTPROC __glewVertexWeightPointerEXT;
+GLEW_FUN_EXPORT PFNGLVERTEXWEIGHTFEXTPROC __glewVertexWeightfEXT;
+GLEW_FUN_EXPORT PFNGLVERTEXWEIGHTFVEXTPROC __glewVertexWeightfvEXT;
+
+GLEW_FUN_EXPORT PFNGLFRAMETERMINATORGREMEDYPROC __glewFrameTerminatorGREMEDY;
+
+GLEW_FUN_EXPORT PFNGLSTRINGMARKERGREMEDYPROC __glewStringMarkerGREMEDY;
+
+GLEW_FUN_EXPORT PFNGLGETIMAGETRANSFORMPARAMETERFVHPPROC __glewGetImageTransformParameterfvHP;
+GLEW_FUN_EXPORT PFNGLGETIMAGETRANSFORMPARAMETERIVHPPROC __glewGetImageTransformParameterivHP;
+GLEW_FUN_EXPORT PFNGLIMAGETRANSFORMPARAMETERFHPPROC __glewImageTransformParameterfHP;
+GLEW_FUN_EXPORT PFNGLIMAGETRANSFORMPARAMETERFVHPPROC __glewImageTransformParameterfvHP;
+GLEW_FUN_EXPORT PFNGLIMAGETRANSFORMPARAMETERIHPPROC __glewImageTransformParameteriHP;
+GLEW_FUN_EXPORT PFNGLIMAGETRANSFORMPARAMETERIVHPPROC __glewImageTransformParameterivHP;
+
+GLEW_FUN_EXPORT PFNGLMULTIMODEDRAWARRAYSIBMPROC __glewMultiModeDrawArraysIBM;
+GLEW_FUN_EXPORT PFNGLMULTIMODEDRAWELEMENTSIBMPROC __glewMultiModeDrawElementsIBM;
+
+GLEW_FUN_EXPORT PFNGLCOLORPOINTERLISTIBMPROC __glewColorPointerListIBM;
+GLEW_FUN_EXPORT PFNGLEDGEFLAGPOINTERLISTIBMPROC __glewEdgeFlagPointerListIBM;
+GLEW_FUN_EXPORT PFNGLFOGCOORDPOINTERLISTIBMPROC __glewFogCoordPointerListIBM;
+GLEW_FUN_EXPORT PFNGLINDEXPOINTERLISTIBMPROC __glewIndexPointerListIBM;
+GLEW_FUN_EXPORT PFNGLNORMALPOINTERLISTIBMPROC __glewNormalPointerListIBM;
+GLEW_FUN_EXPORT PFNGLSECONDARYCOLORPOINTERLISTIBMPROC __glewSecondaryColorPointerListIBM;
+GLEW_FUN_EXPORT PFNGLTEXCOORDPOINTERLISTIBMPROC __glewTexCoordPointerListIBM;
+GLEW_FUN_EXPORT PFNGLVERTEXPOINTERLISTIBMPROC __glewVertexPointerListIBM;
+
+GLEW_FUN_EXPORT PFNGLCOLORPOINTERVINTELPROC __glewColorPointervINTEL;
+GLEW_FUN_EXPORT PFNGLNORMALPOINTERVINTELPROC __glewNormalPointervINTEL;
+GLEW_FUN_EXPORT PFNGLTEXCOORDPOINTERVINTELPROC __glewTexCoordPointervINTEL;
+GLEW_FUN_EXPORT PFNGLVERTEXPOINTERVINTELPROC __glewVertexPointervINTEL;
+
+GLEW_FUN_EXPORT PFNGLTEXSCISSORFUNCINTELPROC __glewTexScissorFuncINTEL;
+GLEW_FUN_EXPORT PFNGLTEXSCISSORINTELPROC __glewTexScissorINTEL;
+
+GLEW_FUN_EXPORT PFNGLBUFFERREGIONENABLEDEXTPROC __glewBufferRegionEnabledEXT;
+GLEW_FUN_EXPORT PFNGLDELETEBUFFERREGIONEXTPROC __glewDeleteBufferRegionEXT;
+GLEW_FUN_EXPORT PFNGLDRAWBUFFERREGIONEXTPROC __glewDrawBufferRegionEXT;
+GLEW_FUN_EXPORT PFNGLNEWBUFFERREGIONEXTPROC __glewNewBufferRegionEXT;
+GLEW_FUN_EXPORT PFNGLREADBUFFERREGIONEXTPROC __glewReadBufferRegionEXT;
+
+GLEW_FUN_EXPORT PFNGLRESIZEBUFFERSMESAPROC __glewResizeBuffersMESA;
+
+GLEW_FUN_EXPORT PFNGLWINDOWPOS2DMESAPROC __glewWindowPos2dMESA;
+GLEW_FUN_EXPORT PFNGLWINDOWPOS2DVMESAPROC __glewWindowPos2dvMESA;
+GLEW_FUN_EXPORT PFNGLWINDOWPOS2FMESAPROC __glewWindowPos2fMESA;
+GLEW_FUN_EXPORT PFNGLWINDOWPOS2FVMESAPROC __glewWindowPos2fvMESA;
+GLEW_FUN_EXPORT PFNGLWINDOWPOS2IMESAPROC __glewWindowPos2iMESA;
+GLEW_FUN_EXPORT PFNGLWINDOWPOS2IVMESAPROC __glewWindowPos2ivMESA;
+GLEW_FUN_EXPORT PFNGLWINDOWPOS2SMESAPROC __glewWindowPos2sMESA;
+GLEW_FUN_EXPORT PFNGLWINDOWPOS2SVMESAPROC __glewWindowPos2svMESA;
+GLEW_FUN_EXPORT PFNGLWINDOWPOS3DMESAPROC __glewWindowPos3dMESA;
+GLEW_FUN_EXPORT PFNGLWINDOWPOS3DVMESAPROC __glewWindowPos3dvMESA;
+GLEW_FUN_EXPORT PFNGLWINDOWPOS3FMESAPROC __glewWindowPos3fMESA;
+GLEW_FUN_EXPORT PFNGLWINDOWPOS3FVMESAPROC __glewWindowPos3fvMESA;
+GLEW_FUN_EXPORT PFNGLWINDOWPOS3IMESAPROC __glewWindowPos3iMESA;
+GLEW_FUN_EXPORT PFNGLWINDOWPOS3IVMESAPROC __glewWindowPos3ivMESA;
+GLEW_FUN_EXPORT PFNGLWINDOWPOS3SMESAPROC __glewWindowPos3sMESA;
+GLEW_FUN_EXPORT PFNGLWINDOWPOS3SVMESAPROC __glewWindowPos3svMESA;
+GLEW_FUN_EXPORT PFNGLWINDOWPOS4DMESAPROC __glewWindowPos4dMESA;
+GLEW_FUN_EXPORT PFNGLWINDOWPOS4DVMESAPROC __glewWindowPos4dvMESA;
+GLEW_FUN_EXPORT PFNGLWINDOWPOS4FMESAPROC __glewWindowPos4fMESA;
+GLEW_FUN_EXPORT PFNGLWINDOWPOS4FVMESAPROC __glewWindowPos4fvMESA;
+GLEW_FUN_EXPORT PFNGLWINDOWPOS4IMESAPROC __glewWindowPos4iMESA;
+GLEW_FUN_EXPORT PFNGLWINDOWPOS4IVMESAPROC __glewWindowPos4ivMESA;
+GLEW_FUN_EXPORT PFNGLWINDOWPOS4SMESAPROC __glewWindowPos4sMESA;
+GLEW_FUN_EXPORT PFNGLWINDOWPOS4SVMESAPROC __glewWindowPos4svMESA;
+
+GLEW_FUN_EXPORT PFNGLBEGINCONDITIONALRENDERNVPROC __glewBeginConditionalRenderNV;
+GLEW_FUN_EXPORT PFNGLENDCONDITIONALRENDERNVPROC __glewEndConditionalRenderNV;
+
+GLEW_FUN_EXPORT PFNGLCOPYIMAGESUBDATANVPROC __glewCopyImageSubDataNV;
+
+GLEW_FUN_EXPORT PFNGLCLEARDEPTHDNVPROC __glewClearDepthdNV;
+GLEW_FUN_EXPORT PFNGLDEPTHBOUNDSDNVPROC __glewDepthBoundsdNV;
+GLEW_FUN_EXPORT PFNGLDEPTHRANGEDNVPROC __glewDepthRangedNV;
+
+GLEW_FUN_EXPORT PFNGLEVALMAPSNVPROC __glewEvalMapsNV;
+GLEW_FUN_EXPORT PFNGLGETMAPATTRIBPARAMETERFVNVPROC __glewGetMapAttribParameterfvNV;
+GLEW_FUN_EXPORT PFNGLGETMAPATTRIBPARAMETERIVNVPROC __glewGetMapAttribParameterivNV;
+GLEW_FUN_EXPORT PFNGLGETMAPCONTROLPOINTSNVPROC __glewGetMapControlPointsNV;
+GLEW_FUN_EXPORT PFNGLGETMAPPARAMETERFVNVPROC __glewGetMapParameterfvNV;
+GLEW_FUN_EXPORT PFNGLGETMAPPARAMETERIVNVPROC __glewGetMapParameterivNV;
+GLEW_FUN_EXPORT PFNGLMAPCONTROLPOINTSNVPROC __glewMapControlPointsNV;
+GLEW_FUN_EXPORT PFNGLMAPPARAMETERFVNVPROC __glewMapParameterfvNV;
+GLEW_FUN_EXPORT PFNGLMAPPARAMETERIVNVPROC __glewMapParameterivNV;
+
+GLEW_FUN_EXPORT PFNGLGETMULTISAMPLEFVNVPROC __glewGetMultisamplefvNV;
+GLEW_FUN_EXPORT PFNGLSAMPLEMASKINDEXEDNVPROC __glewSampleMaskIndexedNV;
+GLEW_FUN_EXPORT PFNGLTEXRENDERBUFFERNVPROC __glewTexRenderbufferNV;
+
+GLEW_FUN_EXPORT PFNGLDELETEFENCESNVPROC __glewDeleteFencesNV;
+GLEW_FUN_EXPORT PFNGLFINISHFENCENVPROC __glewFinishFenceNV;
+GLEW_FUN_EXPORT PFNGLGENFENCESNVPROC __glewGenFencesNV;
+GLEW_FUN_EXPORT PFNGLGETFENCEIVNVPROC __glewGetFenceivNV;
+GLEW_FUN_EXPORT PFNGLISFENCENVPROC __glewIsFenceNV;
+GLEW_FUN_EXPORT PFNGLSETFENCENVPROC __glewSetFenceNV;
+GLEW_FUN_EXPORT PFNGLTESTFENCENVPROC __glewTestFenceNV;
+
+GLEW_FUN_EXPORT PFNGLGETPROGRAMNAMEDPARAMETERDVNVPROC __glewGetProgramNamedParameterdvNV;
+GLEW_FUN_EXPORT PFNGLGETPROGRAMNAMEDPARAMETERFVNVPROC __glewGetProgramNamedParameterfvNV;
+GLEW_FUN_EXPORT PFNGLPROGRAMNAMEDPARAMETER4DNVPROC __glewProgramNamedParameter4dNV;
+GLEW_FUN_EXPORT PFNGLPROGRAMNAMEDPARAMETER4DVNVPROC __glewProgramNamedParameter4dvNV;
+GLEW_FUN_EXPORT PFNGLPROGRAMNAMEDPARAMETER4FNVPROC __glewProgramNamedParameter4fNV;
+GLEW_FUN_EXPORT PFNGLPROGRAMNAMEDPARAMETER4FVNVPROC __glewProgramNamedParameter4fvNV;
+
+GLEW_FUN_EXPORT PFNGLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENVPROC __glewRenderbufferStorageMultisampleCoverageNV;
+
+GLEW_FUN_EXPORT PFNGLPROGRAMVERTEXLIMITNVPROC __glewProgramVertexLimitNV;
+
+GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETERI4INVPROC __glewProgramEnvParameterI4iNV;
+GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETERI4IVNVPROC __glewProgramEnvParameterI4ivNV;
+GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETERI4UINVPROC __glewProgramEnvParameterI4uiNV;
+GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETERI4UIVNVPROC __glewProgramEnvParameterI4uivNV;
+GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETERSI4IVNVPROC __glewProgramEnvParametersI4ivNV;
+GLEW_FUN_EXPORT PFNGLPROGRAMENVPARAMETERSI4UIVNVPROC __glewProgramEnvParametersI4uivNV;
+GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETERI4INVPROC __glewProgramLocalParameterI4iNV;
+GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETERI4IVNVPROC __glewProgramLocalParameterI4ivNV;
+GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETERI4UINVPROC __glewProgramLocalParameterI4uiNV;
+GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETERI4UIVNVPROC __glewProgramLocalParameterI4uivNV;
+GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETERSI4IVNVPROC __glewProgramLocalParametersI4ivNV;
+GLEW_FUN_EXPORT PFNGLPROGRAMLOCALPARAMETERSI4UIVNVPROC __glewProgramLocalParametersI4uivNV;
+
+GLEW_FUN_EXPORT PFNGLGETUNIFORMI64VNVPROC __glewGetUniformi64vNV;
+GLEW_FUN_EXPORT PFNGLGETUNIFORMUI64VNVPROC __glewGetUniformui64vNV;
+GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1I64NVPROC __glewProgramUniform1i64NV;
+GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1I64VNVPROC __glewProgramUniform1i64vNV;
+GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1UI64NVPROC __glewProgramUniform1ui64NV;
+GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM1UI64VNVPROC __glewProgramUniform1ui64vNV;
+GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2I64NVPROC __glewProgramUniform2i64NV;
+GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2I64VNVPROC __glewProgramUniform2i64vNV;
+GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2UI64NVPROC __glewProgramUniform2ui64NV;
+GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM2UI64VNVPROC __glewProgramUniform2ui64vNV;
+GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3I64NVPROC __glewProgramUniform3i64NV;
+GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3I64VNVPROC __glewProgramUniform3i64vNV;
+GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3UI64NVPROC __glewProgramUniform3ui64NV;
+GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM3UI64VNVPROC __glewProgramUniform3ui64vNV;
+GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4I64NVPROC __glewProgramUniform4i64NV;
+GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4I64VNVPROC __glewProgramUniform4i64vNV;
+GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4UI64NVPROC __glewProgramUniform4ui64NV;
+GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORM4UI64VNVPROC __glewProgramUniform4ui64vNV;
+GLEW_FUN_EXPORT PFNGLUNIFORM1I64NVPROC __glewUniform1i64NV;
+GLEW_FUN_EXPORT PFNGLUNIFORM1I64VNVPROC __glewUniform1i64vNV;
+GLEW_FUN_EXPORT PFNGLUNIFORM1UI64NVPROC __glewUniform1ui64NV;
+GLEW_FUN_EXPORT PFNGLUNIFORM1UI64VNVPROC __glewUniform1ui64vNV;
+GLEW_FUN_EXPORT PFNGLUNIFORM2I64NVPROC __glewUniform2i64NV;
+GLEW_FUN_EXPORT PFNGLUNIFORM2I64VNVPROC __glewUniform2i64vNV;
+GLEW_FUN_EXPORT PFNGLUNIFORM2UI64NVPROC __glewUniform2ui64NV;
+GLEW_FUN_EXPORT PFNGLUNIFORM2UI64VNVPROC __glewUniform2ui64vNV;
+GLEW_FUN_EXPORT PFNGLUNIFORM3I64NVPROC __glewUniform3i64NV;
+GLEW_FUN_EXPORT PFNGLUNIFORM3I64VNVPROC __glewUniform3i64vNV;
+GLEW_FUN_EXPORT PFNGLUNIFORM3UI64NVPROC __glewUniform3ui64NV;
+GLEW_FUN_EXPORT PFNGLUNIFORM3UI64VNVPROC __glewUniform3ui64vNV;
+GLEW_FUN_EXPORT PFNGLUNIFORM4I64NVPROC __glewUniform4i64NV;
+GLEW_FUN_EXPORT PFNGLUNIFORM4I64VNVPROC __glewUniform4i64vNV;
+GLEW_FUN_EXPORT PFNGLUNIFORM4UI64NVPROC __glewUniform4ui64NV;
+GLEW_FUN_EXPORT PFNGLUNIFORM4UI64VNVPROC __glewUniform4ui64vNV;
+
+GLEW_FUN_EXPORT PFNGLCOLOR3HNVPROC __glewColor3hNV;
+GLEW_FUN_EXPORT PFNGLCOLOR3HVNVPROC __glewColor3hvNV;
+GLEW_FUN_EXPORT PFNGLCOLOR4HNVPROC __glewColor4hNV;
+GLEW_FUN_EXPORT PFNGLCOLOR4HVNVPROC __glewColor4hvNV;
+GLEW_FUN_EXPORT PFNGLFOGCOORDHNVPROC __glewFogCoordhNV;
+GLEW_FUN_EXPORT PFNGLFOGCOORDHVNVPROC __glewFogCoordhvNV;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1HNVPROC __glewMultiTexCoord1hNV;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD1HVNVPROC __glewMultiTexCoord1hvNV;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2HNVPROC __glewMultiTexCoord2hNV;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD2HVNVPROC __glewMultiTexCoord2hvNV;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3HNVPROC __glewMultiTexCoord3hNV;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD3HVNVPROC __glewMultiTexCoord3hvNV;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4HNVPROC __glewMultiTexCoord4hNV;
+GLEW_FUN_EXPORT PFNGLMULTITEXCOORD4HVNVPROC __glewMultiTexCoord4hvNV;
+GLEW_FUN_EXPORT PFNGLNORMAL3HNVPROC __glewNormal3hNV;
+GLEW_FUN_EXPORT PFNGLNORMAL3HVNVPROC __glewNormal3hvNV;
+GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3HNVPROC __glewSecondaryColor3hNV;
+GLEW_FUN_EXPORT PFNGLSECONDARYCOLOR3HVNVPROC __glewSecondaryColor3hvNV;
+GLEW_FUN_EXPORT PFNGLTEXCOORD1HNVPROC __glewTexCoord1hNV;
+GLEW_FUN_EXPORT PFNGLTEXCOORD1HVNVPROC __glewTexCoord1hvNV;
+GLEW_FUN_EXPORT PFNGLTEXCOORD2HNVPROC __glewTexCoord2hNV;
+GLEW_FUN_EXPORT PFNGLTEXCOORD2HVNVPROC __glewTexCoord2hvNV;
+GLEW_FUN_EXPORT PFNGLTEXCOORD3HNVPROC __glewTexCoord3hNV;
+GLEW_FUN_EXPORT PFNGLTEXCOORD3HVNVPROC __glewTexCoord3hvNV;
+GLEW_FUN_EXPORT PFNGLTEXCOORD4HNVPROC __glewTexCoord4hNV;
+GLEW_FUN_EXPORT PFNGLTEXCOORD4HVNVPROC __glewTexCoord4hvNV;
+GLEW_FUN_EXPORT PFNGLVERTEX2HNVPROC __glewVertex2hNV;
+GLEW_FUN_EXPORT PFNGLVERTEX2HVNVPROC __glewVertex2hvNV;
+GLEW_FUN_EXPORT PFNGLVERTEX3HNVPROC __glewVertex3hNV;
+GLEW_FUN_EXPORT PFNGLVERTEX3HVNVPROC __glewVertex3hvNV;
+GLEW_FUN_EXPORT PFNGLVERTEX4HNVPROC __glewVertex4hNV;
+GLEW_FUN_EXPORT PFNGLVERTEX4HVNVPROC __glewVertex4hvNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1HNVPROC __glewVertexAttrib1hNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1HVNVPROC __glewVertexAttrib1hvNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2HNVPROC __glewVertexAttrib2hNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2HVNVPROC __glewVertexAttrib2hvNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3HNVPROC __glewVertexAttrib3hNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3HVNVPROC __glewVertexAttrib3hvNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4HNVPROC __glewVertexAttrib4hNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4HVNVPROC __glewVertexAttrib4hvNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS1HVNVPROC __glewVertexAttribs1hvNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS2HVNVPROC __glewVertexAttribs2hvNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS3HVNVPROC __glewVertexAttribs3hvNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS4HVNVPROC __glewVertexAttribs4hvNV;
+GLEW_FUN_EXPORT PFNGLVERTEXWEIGHTHNVPROC __glewVertexWeighthNV;
+GLEW_FUN_EXPORT PFNGLVERTEXWEIGHTHVNVPROC __glewVertexWeighthvNV;
+
+GLEW_FUN_EXPORT PFNGLBEGINOCCLUSIONQUERYNVPROC __glewBeginOcclusionQueryNV;
+GLEW_FUN_EXPORT PFNGLDELETEOCCLUSIONQUERIESNVPROC __glewDeleteOcclusionQueriesNV;
+GLEW_FUN_EXPORT PFNGLENDOCCLUSIONQUERYNVPROC __glewEndOcclusionQueryNV;
+GLEW_FUN_EXPORT PFNGLGENOCCLUSIONQUERIESNVPROC __glewGenOcclusionQueriesNV;
+GLEW_FUN_EXPORT PFNGLGETOCCLUSIONQUERYIVNVPROC __glewGetOcclusionQueryivNV;
+GLEW_FUN_EXPORT PFNGLGETOCCLUSIONQUERYUIVNVPROC __glewGetOcclusionQueryuivNV;
+GLEW_FUN_EXPORT PFNGLISOCCLUSIONQUERYNVPROC __glewIsOcclusionQueryNV;
+
+GLEW_FUN_EXPORT PFNGLPROGRAMBUFFERPARAMETERSIIVNVPROC __glewProgramBufferParametersIivNV;
+GLEW_FUN_EXPORT PFNGLPROGRAMBUFFERPARAMETERSIUIVNVPROC __glewProgramBufferParametersIuivNV;
+GLEW_FUN_EXPORT PFNGLPROGRAMBUFFERPARAMETERSFVNVPROC __glewProgramBufferParametersfvNV;
+
+GLEW_FUN_EXPORT PFNGLFLUSHPIXELDATARANGENVPROC __glewFlushPixelDataRangeNV;
+GLEW_FUN_EXPORT PFNGLPIXELDATARANGENVPROC __glewPixelDataRangeNV;
+
+GLEW_FUN_EXPORT PFNGLPOINTPARAMETERINVPROC __glewPointParameteriNV;
+GLEW_FUN_EXPORT PFNGLPOINTPARAMETERIVNVPROC __glewPointParameterivNV;
+
+GLEW_FUN_EXPORT PFNGLGETVIDEOI64VNVPROC __glewGetVideoi64vNV;
+GLEW_FUN_EXPORT PFNGLGETVIDEOIVNVPROC __glewGetVideoivNV;
+GLEW_FUN_EXPORT PFNGLGETVIDEOUI64VNVPROC __glewGetVideoui64vNV;
+GLEW_FUN_EXPORT PFNGLGETVIDEOUIVNVPROC __glewGetVideouivNV;
+GLEW_FUN_EXPORT PFNGLPRESENTFRAMEDUALFILLNVPROC __glewPresentFrameDualFillNV;
+GLEW_FUN_EXPORT PFNGLPRESENTFRAMEKEYEDNVPROC __glewPresentFrameKeyedNV;
+
+GLEW_FUN_EXPORT PFNGLPRIMITIVERESTARTINDEXNVPROC __glewPrimitiveRestartIndexNV;
+GLEW_FUN_EXPORT PFNGLPRIMITIVERESTARTNVPROC __glewPrimitiveRestartNV;
+
+GLEW_FUN_EXPORT PFNGLCOMBINERINPUTNVPROC __glewCombinerInputNV;
+GLEW_FUN_EXPORT PFNGLCOMBINEROUTPUTNVPROC __glewCombinerOutputNV;
+GLEW_FUN_EXPORT PFNGLCOMBINERPARAMETERFNVPROC __glewCombinerParameterfNV;
+GLEW_FUN_EXPORT PFNGLCOMBINERPARAMETERFVNVPROC __glewCombinerParameterfvNV;
+GLEW_FUN_EXPORT PFNGLCOMBINERPARAMETERINVPROC __glewCombinerParameteriNV;
+GLEW_FUN_EXPORT PFNGLCOMBINERPARAMETERIVNVPROC __glewCombinerParameterivNV;
+GLEW_FUN_EXPORT PFNGLFINALCOMBINERINPUTNVPROC __glewFinalCombinerInputNV;
+GLEW_FUN_EXPORT PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC __glewGetCombinerInputParameterfvNV;
+GLEW_FUN_EXPORT PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC __glewGetCombinerInputParameterivNV;
+GLEW_FUN_EXPORT PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC __glewGetCombinerOutputParameterfvNV;
+GLEW_FUN_EXPORT PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC __glewGetCombinerOutputParameterivNV;
+GLEW_FUN_EXPORT PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC __glewGetFinalCombinerInputParameterfvNV;
+GLEW_FUN_EXPORT PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC __glewGetFinalCombinerInputParameterivNV;
+
+GLEW_FUN_EXPORT PFNGLCOMBINERSTAGEPARAMETERFVNVPROC __glewCombinerStageParameterfvNV;
+GLEW_FUN_EXPORT PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC __glewGetCombinerStageParameterfvNV;
+
+GLEW_FUN_EXPORT PFNGLGETBUFFERPARAMETERUI64VNVPROC __glewGetBufferParameterui64vNV;
+GLEW_FUN_EXPORT PFNGLGETINTEGERUI64VNVPROC __glewGetIntegerui64vNV;
+GLEW_FUN_EXPORT PFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC __glewGetNamedBufferParameterui64vNV;
+GLEW_FUN_EXPORT PFNGLISBUFFERRESIDENTNVPROC __glewIsBufferResidentNV;
+GLEW_FUN_EXPORT PFNGLISNAMEDBUFFERRESIDENTNVPROC __glewIsNamedBufferResidentNV;
+GLEW_FUN_EXPORT PFNGLMAKEBUFFERNONRESIDENTNVPROC __glewMakeBufferNonResidentNV;
+GLEW_FUN_EXPORT PFNGLMAKEBUFFERRESIDENTNVPROC __glewMakeBufferResidentNV;
+GLEW_FUN_EXPORT PFNGLMAKENAMEDBUFFERNONRESIDENTNVPROC __glewMakeNamedBufferNonResidentNV;
+GLEW_FUN_EXPORT PFNGLMAKENAMEDBUFFERRESIDENTNVPROC __glewMakeNamedBufferResidentNV;
+GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMUI64NVPROC __glewProgramUniformui64NV;
+GLEW_FUN_EXPORT PFNGLPROGRAMUNIFORMUI64VNVPROC __glewProgramUniformui64vNV;
+GLEW_FUN_EXPORT PFNGLUNIFORMUI64NVPROC __glewUniformui64NV;
+GLEW_FUN_EXPORT PFNGLUNIFORMUI64VNVPROC __glewUniformui64vNV;
+
+GLEW_FUN_EXPORT PFNGLTEXTUREBARRIERNVPROC __glewTextureBarrierNV;
+
+GLEW_FUN_EXPORT PFNGLACTIVEVARYINGNVPROC __glewActiveVaryingNV;
+GLEW_FUN_EXPORT PFNGLBEGINTRANSFORMFEEDBACKNVPROC __glewBeginTransformFeedbackNV;
+GLEW_FUN_EXPORT PFNGLBINDBUFFERBASENVPROC __glewBindBufferBaseNV;
+GLEW_FUN_EXPORT PFNGLBINDBUFFEROFFSETNVPROC __glewBindBufferOffsetNV;
+GLEW_FUN_EXPORT PFNGLBINDBUFFERRANGENVPROC __glewBindBufferRangeNV;
+GLEW_FUN_EXPORT PFNGLENDTRANSFORMFEEDBACKNVPROC __glewEndTransformFeedbackNV;
+GLEW_FUN_EXPORT PFNGLGETACTIVEVARYINGNVPROC __glewGetActiveVaryingNV;
+GLEW_FUN_EXPORT PFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC __glewGetTransformFeedbackVaryingNV;
+GLEW_FUN_EXPORT PFNGLGETVARYINGLOCATIONNVPROC __glewGetVaryingLocationNV;
+GLEW_FUN_EXPORT PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC __glewTransformFeedbackAttribsNV;
+GLEW_FUN_EXPORT PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC __glewTransformFeedbackVaryingsNV;
+
+GLEW_FUN_EXPORT PFNGLBINDTRANSFORMFEEDBACKNVPROC __glewBindTransformFeedbackNV;
+GLEW_FUN_EXPORT PFNGLDELETETRANSFORMFEEDBACKSNVPROC __glewDeleteTransformFeedbacksNV;
+GLEW_FUN_EXPORT PFNGLDRAWTRANSFORMFEEDBACKNVPROC __glewDrawTransformFeedbackNV;
+GLEW_FUN_EXPORT PFNGLGENTRANSFORMFEEDBACKSNVPROC __glewGenTransformFeedbacksNV;
+GLEW_FUN_EXPORT PFNGLISTRANSFORMFEEDBACKNVPROC __glewIsTransformFeedbackNV;
+GLEW_FUN_EXPORT PFNGLPAUSETRANSFORMFEEDBACKNVPROC __glewPauseTransformFeedbackNV;
+GLEW_FUN_EXPORT PFNGLRESUMETRANSFORMFEEDBACKNVPROC __glewResumeTransformFeedbackNV;
+
+GLEW_FUN_EXPORT PFNGLFLUSHVERTEXARRAYRANGENVPROC __glewFlushVertexArrayRangeNV;
+GLEW_FUN_EXPORT PFNGLVERTEXARRAYRANGENVPROC __glewVertexArrayRangeNV;
+
+GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBLI64VNVPROC __glewGetVertexAttribLi64vNV;
+GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBLUI64VNVPROC __glewGetVertexAttribLui64vNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL1I64NVPROC __glewVertexAttribL1i64NV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL1I64VNVPROC __glewVertexAttribL1i64vNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL1UI64NVPROC __glewVertexAttribL1ui64NV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL1UI64VNVPROC __glewVertexAttribL1ui64vNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL2I64NVPROC __glewVertexAttribL2i64NV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL2I64VNVPROC __glewVertexAttribL2i64vNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL2UI64NVPROC __glewVertexAttribL2ui64NV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL2UI64VNVPROC __glewVertexAttribL2ui64vNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL3I64NVPROC __glewVertexAttribL3i64NV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL3I64VNVPROC __glewVertexAttribL3i64vNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL3UI64NVPROC __glewVertexAttribL3ui64NV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL3UI64VNVPROC __glewVertexAttribL3ui64vNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL4I64NVPROC __glewVertexAttribL4i64NV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL4I64VNVPROC __glewVertexAttribL4i64vNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL4UI64NVPROC __glewVertexAttribL4ui64NV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBL4UI64VNVPROC __glewVertexAttribL4ui64vNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBLFORMATNVPROC __glewVertexAttribLFormatNV;
+
+GLEW_FUN_EXPORT PFNGLBUFFERADDRESSRANGENVPROC __glewBufferAddressRangeNV;
+GLEW_FUN_EXPORT PFNGLCOLORFORMATNVPROC __glewColorFormatNV;
+GLEW_FUN_EXPORT PFNGLEDGEFLAGFORMATNVPROC __glewEdgeFlagFormatNV;
+GLEW_FUN_EXPORT PFNGLFOGCOORDFORMATNVPROC __glewFogCoordFormatNV;
+GLEW_FUN_EXPORT PFNGLGETINTEGERUI64I_VNVPROC __glewGetIntegerui64i_vNV;
+GLEW_FUN_EXPORT PFNGLINDEXFORMATNVPROC __glewIndexFormatNV;
+GLEW_FUN_EXPORT PFNGLNORMALFORMATNVPROC __glewNormalFormatNV;
+GLEW_FUN_EXPORT PFNGLSECONDARYCOLORFORMATNVPROC __glewSecondaryColorFormatNV;
+GLEW_FUN_EXPORT PFNGLTEXCOORDFORMATNVPROC __glewTexCoordFormatNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBFORMATNVPROC __glewVertexAttribFormatNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBIFORMATNVPROC __glewVertexAttribIFormatNV;
+GLEW_FUN_EXPORT PFNGLVERTEXFORMATNVPROC __glewVertexFormatNV;
+
+GLEW_FUN_EXPORT PFNGLAREPROGRAMSRESIDENTNVPROC __glewAreProgramsResidentNV;
+GLEW_FUN_EXPORT PFNGLBINDPROGRAMNVPROC __glewBindProgramNV;
+GLEW_FUN_EXPORT PFNGLDELETEPROGRAMSNVPROC __glewDeleteProgramsNV;
+GLEW_FUN_EXPORT PFNGLEXECUTEPROGRAMNVPROC __glewExecuteProgramNV;
+GLEW_FUN_EXPORT PFNGLGENPROGRAMSNVPROC __glewGenProgramsNV;
+GLEW_FUN_EXPORT PFNGLGETPROGRAMPARAMETERDVNVPROC __glewGetProgramParameterdvNV;
+GLEW_FUN_EXPORT PFNGLGETPROGRAMPARAMETERFVNVPROC __glewGetProgramParameterfvNV;
+GLEW_FUN_EXPORT PFNGLGETPROGRAMSTRINGNVPROC __glewGetProgramStringNV;
+GLEW_FUN_EXPORT PFNGLGETPROGRAMIVNVPROC __glewGetProgramivNV;
+GLEW_FUN_EXPORT PFNGLGETTRACKMATRIXIVNVPROC __glewGetTrackMatrixivNV;
+GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBPOINTERVNVPROC __glewGetVertexAttribPointervNV;
+GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBDVNVPROC __glewGetVertexAttribdvNV;
+GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBFVNVPROC __glewGetVertexAttribfvNV;
+GLEW_FUN_EXPORT PFNGLGETVERTEXATTRIBIVNVPROC __glewGetVertexAttribivNV;
+GLEW_FUN_EXPORT PFNGLISPROGRAMNVPROC __glewIsProgramNV;
+GLEW_FUN_EXPORT PFNGLLOADPROGRAMNVPROC __glewLoadProgramNV;
+GLEW_FUN_EXPORT PFNGLPROGRAMPARAMETER4DNVPROC __glewProgramParameter4dNV;
+GLEW_FUN_EXPORT PFNGLPROGRAMPARAMETER4DVNVPROC __glewProgramParameter4dvNV;
+GLEW_FUN_EXPORT PFNGLPROGRAMPARAMETER4FNVPROC __glewProgramParameter4fNV;
+GLEW_FUN_EXPORT PFNGLPROGRAMPARAMETER4FVNVPROC __glewProgramParameter4fvNV;
+GLEW_FUN_EXPORT PFNGLPROGRAMPARAMETERS4DVNVPROC __glewProgramParameters4dvNV;
+GLEW_FUN_EXPORT PFNGLPROGRAMPARAMETERS4FVNVPROC __glewProgramParameters4fvNV;
+GLEW_FUN_EXPORT PFNGLREQUESTRESIDENTPROGRAMSNVPROC __glewRequestResidentProgramsNV;
+GLEW_FUN_EXPORT PFNGLTRACKMATRIXNVPROC __glewTrackMatrixNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1DNVPROC __glewVertexAttrib1dNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1DVNVPROC __glewVertexAttrib1dvNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1FNVPROC __glewVertexAttrib1fNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1FVNVPROC __glewVertexAttrib1fvNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1SNVPROC __glewVertexAttrib1sNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB1SVNVPROC __glewVertexAttrib1svNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2DNVPROC __glewVertexAttrib2dNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2DVNVPROC __glewVertexAttrib2dvNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2FNVPROC __glewVertexAttrib2fNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2FVNVPROC __glewVertexAttrib2fvNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2SNVPROC __glewVertexAttrib2sNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB2SVNVPROC __glewVertexAttrib2svNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3DNVPROC __glewVertexAttrib3dNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3DVNVPROC __glewVertexAttrib3dvNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3FNVPROC __glewVertexAttrib3fNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3FVNVPROC __glewVertexAttrib3fvNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3SNVPROC __glewVertexAttrib3sNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB3SVNVPROC __glewVertexAttrib3svNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4DNVPROC __glewVertexAttrib4dNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4DVNVPROC __glewVertexAttrib4dvNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4FNVPROC __glewVertexAttrib4fNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4FVNVPROC __glewVertexAttrib4fvNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4SNVPROC __glewVertexAttrib4sNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4SVNVPROC __glewVertexAttrib4svNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4UBNVPROC __glewVertexAttrib4ubNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIB4UBVNVPROC __glewVertexAttrib4ubvNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBPOINTERNVPROC __glewVertexAttribPointerNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS1DVNVPROC __glewVertexAttribs1dvNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS1FVNVPROC __glewVertexAttribs1fvNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS1SVNVPROC __glewVertexAttribs1svNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS2DVNVPROC __glewVertexAttribs2dvNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS2FVNVPROC __glewVertexAttribs2fvNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS2SVNVPROC __glewVertexAttribs2svNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS3DVNVPROC __glewVertexAttribs3dvNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS3FVNVPROC __glewVertexAttribs3fvNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS3SVNVPROC __glewVertexAttribs3svNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS4DVNVPROC __glewVertexAttribs4dvNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS4FVNVPROC __glewVertexAttribs4fvNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS4SVNVPROC __glewVertexAttribs4svNV;
+GLEW_FUN_EXPORT PFNGLVERTEXATTRIBS4UBVNVPROC __glewVertexAttribs4ubvNV;
+
+GLEW_FUN_EXPORT PFNGLCLEARDEPTHFOESPROC __glewClearDepthfOES;
+GLEW_FUN_EXPORT PFNGLCLIPPLANEFOESPROC __glewClipPlanefOES;
+GLEW_FUN_EXPORT PFNGLDEPTHRANGEFOESPROC __glewDepthRangefOES;
+GLEW_FUN_EXPORT PFNGLFRUSTUMFOESPROC __glewFrustumfOES;
+GLEW_FUN_EXPORT PFNGLGETCLIPPLANEFOESPROC __glewGetClipPlanefOES;
+GLEW_FUN_EXPORT PFNGLORTHOFOESPROC __glewOrthofOES;
+
+GLEW_FUN_EXPORT PFNGLDETAILTEXFUNCSGISPROC __glewDetailTexFuncSGIS;
+GLEW_FUN_EXPORT PFNGLGETDETAILTEXFUNCSGISPROC __glewGetDetailTexFuncSGIS;
+
+GLEW_FUN_EXPORT PFNGLFOGFUNCSGISPROC __glewFogFuncSGIS;
+GLEW_FUN_EXPORT PFNGLGETFOGFUNCSGISPROC __glewGetFogFuncSGIS;
+
+GLEW_FUN_EXPORT PFNGLSAMPLEMASKSGISPROC __glewSampleMaskSGIS;
+GLEW_FUN_EXPORT PFNGLSAMPLEPATTERNSGISPROC __glewSamplePatternSGIS;
+
+GLEW_FUN_EXPORT PFNGLGETSHARPENTEXFUNCSGISPROC __glewGetSharpenTexFuncSGIS;
+GLEW_FUN_EXPORT PFNGLSHARPENTEXFUNCSGISPROC __glewSharpenTexFuncSGIS;
+
+GLEW_FUN_EXPORT PFNGLTEXIMAGE4DSGISPROC __glewTexImage4DSGIS;
+GLEW_FUN_EXPORT PFNGLTEXSUBIMAGE4DSGISPROC __glewTexSubImage4DSGIS;
+
+GLEW_FUN_EXPORT PFNGLGETTEXFILTERFUNCSGISPROC __glewGetTexFilterFuncSGIS;
+GLEW_FUN_EXPORT PFNGLTEXFILTERFUNCSGISPROC __glewTexFilterFuncSGIS;
+
+GLEW_FUN_EXPORT PFNGLASYNCMARKERSGIXPROC __glewAsyncMarkerSGIX;
+GLEW_FUN_EXPORT PFNGLDELETEASYNCMARKERSSGIXPROC __glewDeleteAsyncMarkersSGIX;
+GLEW_FUN_EXPORT PFNGLFINISHASYNCSGIXPROC __glewFinishAsyncSGIX;
+GLEW_FUN_EXPORT PFNGLGENASYNCMARKERSSGIXPROC __glewGenAsyncMarkersSGIX;
+GLEW_FUN_EXPORT PFNGLISASYNCMARKERSGIXPROC __glewIsAsyncMarkerSGIX;
+GLEW_FUN_EXPORT PFNGLPOLLASYNCSGIXPROC __glewPollAsyncSGIX;
+
+GLEW_FUN_EXPORT PFNGLFLUSHRASTERSGIXPROC __glewFlushRasterSGIX;
+
+GLEW_FUN_EXPORT PFNGLTEXTUREFOGSGIXPROC __glewTextureFogSGIX;
+
+GLEW_FUN_EXPORT PFNGLFRAGMENTCOLORMATERIALSGIXPROC __glewFragmentColorMaterialSGIX;
+GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTMODELFSGIXPROC __glewFragmentLightModelfSGIX;
+GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTMODELFVSGIXPROC __glewFragmentLightModelfvSGIX;
+GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTMODELISGIXPROC __glewFragmentLightModeliSGIX;
+GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTMODELIVSGIXPROC __glewFragmentLightModelivSGIX;
+GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTFSGIXPROC __glewFragmentLightfSGIX;
+GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTFVSGIXPROC __glewFragmentLightfvSGIX;
+GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTISGIXPROC __glewFragmentLightiSGIX;
+GLEW_FUN_EXPORT PFNGLFRAGMENTLIGHTIVSGIXPROC __glewFragmentLightivSGIX;
+GLEW_FUN_EXPORT PFNGLFRAGMENTMATERIALFSGIXPROC __glewFragmentMaterialfSGIX;
+GLEW_FUN_EXPORT PFNGLFRAGMENTMATERIALFVSGIXPROC __glewFragmentMaterialfvSGIX;
+GLEW_FUN_EXPORT PFNGLFRAGMENTMATERIALISGIXPROC __glewFragmentMaterialiSGIX;
+GLEW_FUN_EXPORT PFNGLFRAGMENTMATERIALIVSGIXPROC __glewFragmentMaterialivSGIX;
+GLEW_FUN_EXPORT PFNGLGETFRAGMENTLIGHTFVSGIXPROC __glewGetFragmentLightfvSGIX;
+GLEW_FUN_EXPORT PFNGLGETFRAGMENTLIGHTIVSGIXPROC __glewGetFragmentLightivSGIX;
+GLEW_FUN_EXPORT PFNGLGETFRAGMENTMATERIALFVSGIXPROC __glewGetFragmentMaterialfvSGIX;
+GLEW_FUN_EXPORT PFNGLGETFRAGMENTMATERIALIVSGIXPROC __glewGetFragmentMaterialivSGIX;
+
+GLEW_FUN_EXPORT PFNGLFRAMEZOOMSGIXPROC __glewFrameZoomSGIX;
+
+GLEW_FUN_EXPORT PFNGLPIXELTEXGENSGIXPROC __glewPixelTexGenSGIX;
+
+GLEW_FUN_EXPORT PFNGLREFERENCEPLANESGIXPROC __glewReferencePlaneSGIX;
+
+GLEW_FUN_EXPORT PFNGLSPRITEPARAMETERFSGIXPROC __glewSpriteParameterfSGIX;
+GLEW_FUN_EXPORT PFNGLSPRITEPARAMETERFVSGIXPROC __glewSpriteParameterfvSGIX;
+GLEW_FUN_EXPORT PFNGLSPRITEPARAMETERISGIXPROC __glewSpriteParameteriSGIX;
+GLEW_FUN_EXPORT PFNGLSPRITEPARAMETERIVSGIXPROC __glewSpriteParameterivSGIX;
+
+GLEW_FUN_EXPORT PFNGLTAGSAMPLEBUFFERSGIXPROC __glewTagSampleBufferSGIX;
+
+GLEW_FUN_EXPORT PFNGLCOLORTABLEPARAMETERFVSGIPROC __glewColorTableParameterfvSGI;
+GLEW_FUN_EXPORT PFNGLCOLORTABLEPARAMETERIVSGIPROC __glewColorTableParameterivSGI;
+GLEW_FUN_EXPORT PFNGLCOLORTABLESGIPROC __glewColorTableSGI;
+GLEW_FUN_EXPORT PFNGLCOPYCOLORTABLESGIPROC __glewCopyColorTableSGI;
+GLEW_FUN_EXPORT PFNGLGETCOLORTABLEPARAMETERFVSGIPROC __glewGetColorTableParameterfvSGI;
+GLEW_FUN_EXPORT PFNGLGETCOLORTABLEPARAMETERIVSGIPROC __glewGetColorTableParameterivSGI;
+GLEW_FUN_EXPORT PFNGLGETCOLORTABLESGIPROC __glewGetColorTableSGI;
+
+GLEW_FUN_EXPORT PFNGLFINISHTEXTURESUNXPROC __glewFinishTextureSUNX;
+
+GLEW_FUN_EXPORT PFNGLGLOBALALPHAFACTORBSUNPROC __glewGlobalAlphaFactorbSUN;
+GLEW_FUN_EXPORT PFNGLGLOBALALPHAFACTORDSUNPROC __glewGlobalAlphaFactordSUN;
+GLEW_FUN_EXPORT PFNGLGLOBALALPHAFACTORFSUNPROC __glewGlobalAlphaFactorfSUN;
+GLEW_FUN_EXPORT PFNGLGLOBALALPHAFACTORISUNPROC __glewGlobalAlphaFactoriSUN;
+GLEW_FUN_EXPORT PFNGLGLOBALALPHAFACTORSSUNPROC __glewGlobalAlphaFactorsSUN;
+GLEW_FUN_EXPORT PFNGLGLOBALALPHAFACTORUBSUNPROC __glewGlobalAlphaFactorubSUN;
+GLEW_FUN_EXPORT PFNGLGLOBALALPHAFACTORUISUNPROC __glewGlobalAlphaFactoruiSUN;
+GLEW_FUN_EXPORT PFNGLGLOBALALPHAFACTORUSSUNPROC __glewGlobalAlphaFactorusSUN;
+
+GLEW_FUN_EXPORT PFNGLREADVIDEOPIXELSSUNPROC __glewReadVideoPixelsSUN;
+
+GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEPOINTERSUNPROC __glewReplacementCodePointerSUN;
+GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUBSUNPROC __glewReplacementCodeubSUN;
+GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUBVSUNPROC __glewReplacementCodeubvSUN;
+GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUISUNPROC __glewReplacementCodeuiSUN;
+GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUIVSUNPROC __glewReplacementCodeuivSUN;
+GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUSSUNPROC __glewReplacementCodeusSUN;
+GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUSVSUNPROC __glewReplacementCodeusvSUN;
+
+GLEW_FUN_EXPORT PFNGLCOLOR3FVERTEX3FSUNPROC __glewColor3fVertex3fSUN;
+GLEW_FUN_EXPORT PFNGLCOLOR3FVERTEX3FVSUNPROC __glewColor3fVertex3fvSUN;
+GLEW_FUN_EXPORT PFNGLCOLOR4FNORMAL3FVERTEX3FSUNPROC __glewColor4fNormal3fVertex3fSUN;
+GLEW_FUN_EXPORT PFNGLCOLOR4FNORMAL3FVERTEX3FVSUNPROC __glewColor4fNormal3fVertex3fvSUN;
+GLEW_FUN_EXPORT PFNGLCOLOR4UBVERTEX2FSUNPROC __glewColor4ubVertex2fSUN;
+GLEW_FUN_EXPORT PFNGLCOLOR4UBVERTEX2FVSUNPROC __glewColor4ubVertex2fvSUN;
+GLEW_FUN_EXPORT PFNGLCOLOR4UBVERTEX3FSUNPROC __glewColor4ubVertex3fSUN;
+GLEW_FUN_EXPORT PFNGLCOLOR4UBVERTEX3FVSUNPROC __glewColor4ubVertex3fvSUN;
+GLEW_FUN_EXPORT PFNGLNORMAL3FVERTEX3FSUNPROC __glewNormal3fVertex3fSUN;
+GLEW_FUN_EXPORT PFNGLNORMAL3FVERTEX3FVSUNPROC __glewNormal3fVertex3fvSUN;
+GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FSUNPROC __glewReplacementCodeuiColor3fVertex3fSUN;
+GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FVSUNPROC __glewReplacementCodeuiColor3fVertex3fvSUN;
+GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FSUNPROC __glewReplacementCodeuiColor4fNormal3fVertex3fSUN;
+GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FVSUNPROC __glewReplacementCodeuiColor4fNormal3fVertex3fvSUN;
+GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FSUNPROC __glewReplacementCodeuiColor4ubVertex3fSUN;
+GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FVSUNPROC __glewReplacementCodeuiColor4ubVertex3fvSUN;
+GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FSUNPROC __glewReplacementCodeuiNormal3fVertex3fSUN;
+GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FVSUNPROC __glewReplacementCodeuiNormal3fVertex3fvSUN;
+GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC __glewReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN;
+GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC __glewReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN;
+GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FSUNPROC __glewReplacementCodeuiTexCoord2fNormal3fVertex3fSUN;
+GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FVSUNPROC __glewReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN;
+GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FSUNPROC __glewReplacementCodeuiTexCoord2fVertex3fSUN;
+GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FVSUNPROC __glewReplacementCodeuiTexCoord2fVertex3fvSUN;
+GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUIVERTEX3FSUNPROC __glewReplacementCodeuiVertex3fSUN;
+GLEW_FUN_EXPORT PFNGLREPLACEMENTCODEUIVERTEX3FVSUNPROC __glewReplacementCodeuiVertex3fvSUN;
+GLEW_FUN_EXPORT PFNGLTEXCOORD2FCOLOR3FVERTEX3FSUNPROC __glewTexCoord2fColor3fVertex3fSUN;
+GLEW_FUN_EXPORT PFNGLTEXCOORD2FCOLOR3FVERTEX3FVSUNPROC __glewTexCoord2fColor3fVertex3fvSUN;
+GLEW_FUN_EXPORT PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC __glewTexCoord2fColor4fNormal3fVertex3fSUN;
+GLEW_FUN_EXPORT PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC __glewTexCoord2fColor4fNormal3fVertex3fvSUN;
+GLEW_FUN_EXPORT PFNGLTEXCOORD2FCOLOR4UBVERTEX3FSUNPROC __glewTexCoord2fColor4ubVertex3fSUN;
+GLEW_FUN_EXPORT PFNGLTEXCOORD2FCOLOR4UBVERTEX3FVSUNPROC __glewTexCoord2fColor4ubVertex3fvSUN;
+GLEW_FUN_EXPORT PFNGLTEXCOORD2FNORMAL3FVERTEX3FSUNPROC __glewTexCoord2fNormal3fVertex3fSUN;
+GLEW_FUN_EXPORT PFNGLTEXCOORD2FNORMAL3FVERTEX3FVSUNPROC __glewTexCoord2fNormal3fVertex3fvSUN;
+GLEW_FUN_EXPORT PFNGLTEXCOORD2FVERTEX3FSUNPROC __glewTexCoord2fVertex3fSUN;
+GLEW_FUN_EXPORT PFNGLTEXCOORD2FVERTEX3FVSUNPROC __glewTexCoord2fVertex3fvSUN;
+GLEW_FUN_EXPORT PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FSUNPROC __glewTexCoord4fColor4fNormal3fVertex4fSUN;
+GLEW_FUN_EXPORT PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FVSUNPROC __glewTexCoord4fColor4fNormal3fVertex4fvSUN;
+GLEW_FUN_EXPORT PFNGLTEXCOORD4FVERTEX4FSUNPROC __glewTexCoord4fVertex4fSUN;
+GLEW_FUN_EXPORT PFNGLTEXCOORD4FVERTEX4FVSUNPROC __glewTexCoord4fVertex4fvSUN;
+
+GLEW_FUN_EXPORT PFNGLADDSWAPHINTRECTWINPROC __glewAddSwapHintRectWIN;
+
+#if defined(GLEW_MX) && !defined(_WIN32)
+struct GLEWContextStruct
+{
+#endif /* GLEW_MX */
+
+GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_1_1;
+GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_1_2;
+GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_1_3;
+GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_1_4;
+GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_1_5;
+GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_2_0;
+GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_2_1;
+GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_3_0;
+GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_3_1;
+GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_3_2;
+GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_3_3;
+GLEW_VAR_EXPORT GLboolean __GLEW_VERSION_4_0;
+GLEW_VAR_EXPORT GLboolean __GLEW_3DFX_multisample;
+GLEW_VAR_EXPORT GLboolean __GLEW_3DFX_tbuffer;
+GLEW_VAR_EXPORT GLboolean __GLEW_3DFX_texture_compression_FXT1;
+GLEW_VAR_EXPORT GLboolean __GLEW_AMD_conservative_depth;
+GLEW_VAR_EXPORT GLboolean __GLEW_AMD_draw_buffers_blend;
+GLEW_VAR_EXPORT GLboolean __GLEW_AMD_performance_monitor;
+GLEW_VAR_EXPORT GLboolean __GLEW_AMD_seamless_cubemap_per_texture;
+GLEW_VAR_EXPORT GLboolean __GLEW_AMD_shader_stencil_export;
+GLEW_VAR_EXPORT GLboolean __GLEW_AMD_texture_texture4;
+GLEW_VAR_EXPORT GLboolean __GLEW_AMD_vertex_shader_tessellator;
+GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_aux_depth_stencil;
+GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_client_storage;
+GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_element_array;
+GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_fence;
+GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_float_pixels;
+GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_flush_buffer_range;
+GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_object_purgeable;
+GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_pixel_buffer;
+GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_rgb_422;
+GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_row_bytes;
+GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_specular_vector;
+GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_texture_range;
+GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_transform_hint;
+GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_vertex_array_object;
+GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_vertex_array_range;
+GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_vertex_program_evaluators;
+GLEW_VAR_EXPORT GLboolean __GLEW_APPLE_ycbcr_422;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_blend_func_extended;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_color_buffer_float;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_compatibility;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_copy_buffer;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_depth_buffer_float;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_depth_clamp;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_depth_texture;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_draw_buffers;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_draw_buffers_blend;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_draw_elements_base_vertex;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_draw_indirect;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_draw_instanced;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_explicit_attrib_location;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_fragment_coord_conventions;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_fragment_program;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_fragment_program_shadow;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_fragment_shader;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_framebuffer_object;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_framebuffer_sRGB;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_geometry_shader4;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_gpu_shader5;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_gpu_shader_fp64;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_half_float_pixel;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_half_float_vertex;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_imaging;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_instanced_arrays;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_map_buffer_range;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_matrix_palette;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_multisample;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_multitexture;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_occlusion_query;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_occlusion_query2;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_pixel_buffer_object;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_point_parameters;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_point_sprite;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_provoking_vertex;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_sample_shading;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_sampler_objects;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_seamless_cube_map;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_bit_encoding;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_objects;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_subroutine;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shader_texture_lod;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shading_language_100;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shading_language_include;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shadow;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_shadow_ambient;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_sync;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_tessellation_shader;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_border_clamp;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_buffer_object;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_buffer_object_rgb32;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_compression;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_compression_bptc;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_compression_rgtc;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_cube_map;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_cube_map_array;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_env_add;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_env_combine;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_env_crossbar;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_env_dot3;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_float;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_gather;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_mirrored_repeat;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_multisample;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_non_power_of_two;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_query_lod;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_rectangle;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_rg;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_rgb10_a2ui;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_texture_swizzle;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_timer_query;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_transform_feedback2;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_transform_feedback3;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_transpose_matrix;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_uniform_buffer_object;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_array_bgra;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_array_object;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_blend;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_buffer_object;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_program;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_shader;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_vertex_type_2_10_10_10_rev;
+GLEW_VAR_EXPORT GLboolean __GLEW_ARB_window_pos;
+GLEW_VAR_EXPORT GLboolean __GLEW_ATIX_point_sprites;
+GLEW_VAR_EXPORT GLboolean __GLEW_ATIX_texture_env_combine3;
+GLEW_VAR_EXPORT GLboolean __GLEW_ATIX_texture_env_route;
+GLEW_VAR_EXPORT GLboolean __GLEW_ATIX_vertex_shader_output_point_size;
+GLEW_VAR_EXPORT GLboolean __GLEW_ATI_draw_buffers;
+GLEW_VAR_EXPORT GLboolean __GLEW_ATI_element_array;
+GLEW_VAR_EXPORT GLboolean __GLEW_ATI_envmap_bumpmap;
+GLEW_VAR_EXPORT GLboolean __GLEW_ATI_fragment_shader;
+GLEW_VAR_EXPORT GLboolean __GLEW_ATI_map_object_buffer;
+GLEW_VAR_EXPORT GLboolean __GLEW_ATI_meminfo;
+GLEW_VAR_EXPORT GLboolean __GLEW_ATI_pn_triangles;
+GLEW_VAR_EXPORT GLboolean __GLEW_ATI_separate_stencil;
+GLEW_VAR_EXPORT GLboolean __GLEW_ATI_shader_texture_lod;
+GLEW_VAR_EXPORT GLboolean __GLEW_ATI_text_fragment_shader;
+GLEW_VAR_EXPORT GLboolean __GLEW_ATI_texture_compression_3dc;
+GLEW_VAR_EXPORT GLboolean __GLEW_ATI_texture_env_combine3;
+GLEW_VAR_EXPORT GLboolean __GLEW_ATI_texture_float;
+GLEW_VAR_EXPORT GLboolean __GLEW_ATI_texture_mirror_once;
+GLEW_VAR_EXPORT GLboolean __GLEW_ATI_vertex_array_object;
+GLEW_VAR_EXPORT GLboolean __GLEW_ATI_vertex_attrib_array_object;
+GLEW_VAR_EXPORT GLboolean __GLEW_ATI_vertex_streams;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_422_pixels;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_Cg_shader;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_abgr;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_bgra;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_bindable_uniform;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_blend_color;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_blend_equation_separate;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_blend_func_separate;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_blend_logic_op;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_blend_minmax;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_blend_subtract;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_clip_volume_hint;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_cmyka;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_color_subtable;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_compiled_vertex_array;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_convolution;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_coordinate_frame;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_copy_texture;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_cull_vertex;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_depth_bounds_test;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_direct_state_access;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_draw_buffers2;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_draw_instanced;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_draw_range_elements;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_fog_coord;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_fragment_lighting;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_framebuffer_blit;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_framebuffer_multisample;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_framebuffer_object;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_framebuffer_sRGB;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_geometry_shader4;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_gpu_program_parameters;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_gpu_shader4;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_histogram;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_index_array_formats;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_index_func;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_index_material;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_index_texture;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_light_texture;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_misc_attribute;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_multi_draw_arrays;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_multisample;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_packed_depth_stencil;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_packed_float;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_packed_pixels;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_paletted_texture;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_pixel_buffer_object;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_pixel_transform;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_pixel_transform_color_table;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_point_parameters;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_polygon_offset;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_provoking_vertex;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_rescale_normal;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_scene_marker;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_secondary_color;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_separate_shader_objects;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_separate_specular_color;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_shader_image_load_store;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_shadow_funcs;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_shared_texture_palette;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_stencil_clear_tag;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_stencil_two_side;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_stencil_wrap;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_subtexture;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture3D;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_array;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_buffer_object;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_compression_dxt1;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_compression_latc;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_compression_rgtc;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_compression_s3tc;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_cube_map;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_edge_clamp;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_env;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_env_add;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_env_combine;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_env_dot3;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_filter_anisotropic;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_integer;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_lod_bias;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_mirror_clamp;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_object;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_perturb_normal;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_rectangle;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_sRGB;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_shared_exponent;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_snorm;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_texture_swizzle;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_timer_query;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_transform_feedback;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_vertex_array;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_vertex_array_bgra;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_vertex_attrib_64bit;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_vertex_shader;
+GLEW_VAR_EXPORT GLboolean __GLEW_EXT_vertex_weighting;
+GLEW_VAR_EXPORT GLboolean __GLEW_GREMEDY_frame_terminator;
+GLEW_VAR_EXPORT GLboolean __GLEW_GREMEDY_string_marker;
+GLEW_VAR_EXPORT GLboolean __GLEW_HP_convolution_border_modes;
+GLEW_VAR_EXPORT GLboolean __GLEW_HP_image_transform;
+GLEW_VAR_EXPORT GLboolean __GLEW_HP_occlusion_test;
+GLEW_VAR_EXPORT GLboolean __GLEW_HP_texture_lighting;
+GLEW_VAR_EXPORT GLboolean __GLEW_IBM_cull_vertex;
+GLEW_VAR_EXPORT GLboolean __GLEW_IBM_multimode_draw_arrays;
+GLEW_VAR_EXPORT GLboolean __GLEW_IBM_rasterpos_clip;
+GLEW_VAR_EXPORT GLboolean __GLEW_IBM_static_data;
+GLEW_VAR_EXPORT GLboolean __GLEW_IBM_texture_mirrored_repeat;
+GLEW_VAR_EXPORT GLboolean __GLEW_IBM_vertex_array_lists;
+GLEW_VAR_EXPORT GLboolean __GLEW_INGR_color_clamp;
+GLEW_VAR_EXPORT GLboolean __GLEW_INGR_interlace_read;
+GLEW_VAR_EXPORT GLboolean __GLEW_INTEL_parallel_arrays;
+GLEW_VAR_EXPORT GLboolean __GLEW_INTEL_texture_scissor;
+GLEW_VAR_EXPORT GLboolean __GLEW_KTX_buffer_region;
+GLEW_VAR_EXPORT GLboolean __GLEW_MESAX_texture_stack;
+GLEW_VAR_EXPORT GLboolean __GLEW_MESA_pack_invert;
+GLEW_VAR_EXPORT GLboolean __GLEW_MESA_resize_buffers;
+GLEW_VAR_EXPORT GLboolean __GLEW_MESA_window_pos;
+GLEW_VAR_EXPORT GLboolean __GLEW_MESA_ycbcr_texture;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_blend_square;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_conditional_render;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_copy_depth_to_color;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_copy_image;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_depth_buffer_float;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_depth_clamp;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_depth_range_unclamped;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_evaluators;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_explicit_multisample;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_fence;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_float_buffer;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_fog_distance;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_fragment_program;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_fragment_program2;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_fragment_program4;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_fragment_program_option;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_framebuffer_multisample_coverage;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_geometry_program4;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_geometry_shader4;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_gpu_program4;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_gpu_program5;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_gpu_program_fp64;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_gpu_shader5;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_half_float;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_light_max_exponent;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_multisample_filter_hint;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_occlusion_query;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_packed_depth_stencil;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_parameter_buffer_object;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_parameter_buffer_object2;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_pixel_data_range;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_point_sprite;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_present_video;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_primitive_restart;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_register_combiners;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_register_combiners2;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_shader_buffer_load;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_tessellation_program5;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_texgen_emboss;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_texgen_reflection;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_barrier;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_compression_vtc;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_env_combine4;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_expand_normal;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_rectangle;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_shader;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_shader2;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_texture_shader3;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_transform_feedback;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_transform_feedback2;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_array_range;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_array_range2;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_attrib_integer_64bit;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_buffer_unified_memory;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_program;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_program1_1;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_program2;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_program2_option;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_program3;
+GLEW_VAR_EXPORT GLboolean __GLEW_NV_vertex_program4;
+GLEW_VAR_EXPORT GLboolean __GLEW_OES_byte_coordinates;
+GLEW_VAR_EXPORT GLboolean __GLEW_OES_compressed_paletted_texture;
+GLEW_VAR_EXPORT GLboolean __GLEW_OES_read_format;
+GLEW_VAR_EXPORT GLboolean __GLEW_OES_single_precision;
+GLEW_VAR_EXPORT GLboolean __GLEW_OML_interlace;
+GLEW_VAR_EXPORT GLboolean __GLEW_OML_resample;
+GLEW_VAR_EXPORT GLboolean __GLEW_OML_subsample;
+GLEW_VAR_EXPORT GLboolean __GLEW_PGI_misc_hints;
+GLEW_VAR_EXPORT GLboolean __GLEW_PGI_vertex_hints;
+GLEW_VAR_EXPORT GLboolean __GLEW_REND_screen_coordinates;
+GLEW_VAR_EXPORT GLboolean __GLEW_S3_s3tc;
+GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_color_range;
+GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_detail_texture;
+GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_fog_function;
+GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_generate_mipmap;
+GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_multisample;
+GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_pixel_texture;
+GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_point_line_texgen;
+GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_sharpen_texture;
+GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_texture4D;
+GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_texture_border_clamp;
+GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_texture_edge_clamp;
+GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_texture_filter4;
+GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_texture_lod;
+GLEW_VAR_EXPORT GLboolean __GLEW_SGIS_texture_select;
+GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_async;
+GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_async_histogram;
+GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_async_pixel;
+GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_blend_alpha_minmax;
+GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_clipmap;
+GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_convolution_accuracy;
+GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_depth_texture;
+GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_flush_raster;
+GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_fog_offset;
+GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_fog_texture;
+GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_fragment_specular_lighting;
+GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_framezoom;
+GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_interlace;
+GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_ir_instrument1;
+GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_list_priority;
+GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_pixel_texture;
+GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_pixel_texture_bits;
+GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_reference_plane;
+GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_resample;
+GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_shadow;
+GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_shadow_ambient;
+GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_sprite;
+GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_tag_sample_buffer;
+GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_texture_add_env;
+GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_texture_coordinate_clamp;
+GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_texture_lod_bias;
+GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_texture_multi_buffer;
+GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_texture_range;
+GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_texture_scale_bias;
+GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_vertex_preclip;
+GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_vertex_preclip_hint;
+GLEW_VAR_EXPORT GLboolean __GLEW_SGIX_ycrcb;
+GLEW_VAR_EXPORT GLboolean __GLEW_SGI_color_matrix;
+GLEW_VAR_EXPORT GLboolean __GLEW_SGI_color_table;
+GLEW_VAR_EXPORT GLboolean __GLEW_SGI_texture_color_table;
+GLEW_VAR_EXPORT GLboolean __GLEW_SUNX_constant_data;
+GLEW_VAR_EXPORT GLboolean __GLEW_SUN_convolution_border_modes;
+GLEW_VAR_EXPORT GLboolean __GLEW_SUN_global_alpha;
+GLEW_VAR_EXPORT GLboolean __GLEW_SUN_mesh_array;
+GLEW_VAR_EXPORT GLboolean __GLEW_SUN_read_video_pixels;
+GLEW_VAR_EXPORT GLboolean __GLEW_SUN_slice_accum;
+GLEW_VAR_EXPORT GLboolean __GLEW_SUN_triangle_list;
+GLEW_VAR_EXPORT GLboolean __GLEW_SUN_vertex;
+GLEW_VAR_EXPORT GLboolean __GLEW_WIN_phong_shading;
+GLEW_VAR_EXPORT GLboolean __GLEW_WIN_specular_fog;
+GLEW_VAR_EXPORT GLboolean __GLEW_WIN_swap_hint;
+
+#ifdef GLEW_MX
+}; /* GLEWContextStruct */
+#endif /* GLEW_MX */
+
+/* ------------------------------------------------------------------------- */
+
+/* error codes */
+#define GLEW_OK 0
+#define GLEW_NO_ERROR 0
+#define GLEW_ERROR_NO_GL_VERSION 1 /* missing GL version */
+#define GLEW_ERROR_GL_VERSION_10_ONLY 2 /* GL 1.1 and up are not supported */
+#define GLEW_ERROR_GLX_VERSION_11_ONLY 3 /* GLX 1.2 and up are not supported */
+
+/* string codes */
+#define GLEW_VERSION 1
+#define GLEW_VERSION_MAJOR 2
+#define GLEW_VERSION_MINOR 3
+#define GLEW_VERSION_MICRO 4
+
+/* API */
+#ifdef GLEW_MX
+
+typedef struct GLEWContextStruct GLEWContext;
+GLEWAPI GLenum glewContextInit (GLEWContext* ctx);
+GLEWAPI GLboolean glewContextIsSupported (GLEWContext* ctx, const char* name);
+
+#define glewInit() glewContextInit(glewGetContext())
+#define glewIsSupported(x) glewContextIsSupported(glewGetContext(), x)
+#define glewIsExtensionSupported(x) glewIsSupported(x)
+
+#define GLEW_GET_VAR(x) (*(const GLboolean*)&(glewGetContext()->x))
+#ifdef _WIN32
+# define GLEW_GET_FUN(x) glewGetContext()->x
+#else
+# define GLEW_GET_FUN(x) x
+#endif
+
+#else /* GLEW_MX */
+
+GLEWAPI GLenum glewInit ();
+GLEWAPI GLboolean glewIsSupported (const char* name);
+#define glewIsExtensionSupported(x) glewIsSupported(x)
+
+#define GLEW_GET_VAR(x) (*(const GLboolean*)&x)
+#define GLEW_GET_FUN(x) x
+
+#endif /* GLEW_MX */
+
+GLEWAPI GLboolean glewExperimental;
+GLEWAPI GLboolean glewGetExtension (const char* name);
+GLEWAPI const GLubyte* glewGetErrorString (GLenum error);
+GLEWAPI const GLubyte* glewGetString (GLenum name);
+
+#ifdef __cplusplus
+}
+#endif
+
+#ifdef GLEW_APIENTRY_DEFINED
+#undef GLEW_APIENTRY_DEFINED
+#undef APIENTRY
+#undef GLAPIENTRY
+#define GLAPIENTRY
+#endif
+
+#ifdef GLEW_CALLBACK_DEFINED
+#undef GLEW_CALLBACK_DEFINED
+#undef CALLBACK
+#endif
+
+#ifdef GLEW_WINGDIAPI_DEFINED
+#undef GLEW_WINGDIAPI_DEFINED
+#undef WINGDIAPI
+#endif
+
+#undef GLAPI
+/* #undef GLEWAPI */
+
+#endif /* __glew_h__ */
diff --git a/packages/noncvs/windows/extra/Gem/dev/Gem/glxew.h b/packages/noncvs/windows/extra/Gem/dev/Gem/glxew.h
index ac75ff91..c6e934f9 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Gem/glxew.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Gem/glxew.h
@@ -1,1476 +1,1476 @@
-/*
-** The OpenGL Extension Wrangler Library
-** Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
-** Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
-** Copyright (C) 2002, Lev Povalahev
-** All rights reserved.
-**
-** Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are met:
-**
-** * Redistributions of source code must retain the above copyright notice,
-** this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright notice,
-** this list of conditions and the following disclaimer in the documentation
-** and/or other materials provided with the distribution.
-** * The name of the author may be used to endorse or promote products
-** derived from this software without specific prior written permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-** AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-** ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-** LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-** CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-** SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-** INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-** CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-** ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
-** THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/*
- * Mesa 3-D graphics library
- * Version: 7.0
- *
- * Copyright (C) 1999-2007 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.
- */
-
-/*
-** Copyright (c) 2007 The Khronos Group Inc.
-**
-** Permission is hereby granted, free of charge, to any person obtaining a
-** copy of this software and/or associated documentation files (the
-** "Materials"), to deal in the Materials without restriction, including
-** without limitation the rights to use, copy, modify, merge, publish,
-** distribute, sublicense, and/or sell copies of the Materials, and to
-** permit persons to whom the Materials are 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 Materials.
-**
-** THE MATERIALS ARE 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 THE AUTHORS OR COPYRIGHT HOLDERS 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
-** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
-*/
-
-#ifndef __glxew_h__
-#define __glxew_h__
-#define __GLXEW_H__
-
-#ifdef __glxext_h_
-#error glxext.h included before glxew.h
-#endif
-
-#if defined(GLX_H) || defined(__GLX_glx_h__) || defined(__glx_h__)
-#error glx.h included before glxew.h
-#endif
-
-#define __glxext_h_
-
-#define GLX_H
-#define __GLX_glx_h__
-#define __glx_h__
-
-#include <X11/Xlib.h>
-#include <X11/Xutil.h>
-#include <X11/Xmd.h>
-#include "glew.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* ---------------------------- GLX_VERSION_1_0 --------------------------- */
-
-#ifndef GLX_VERSION_1_0
-#define GLX_VERSION_1_0 1
-
-#define GLX_USE_GL 1
-#define GLX_BUFFER_SIZE 2
-#define GLX_LEVEL 3
-#define GLX_RGBA 4
-#define GLX_DOUBLEBUFFER 5
-#define GLX_STEREO 6
-#define GLX_AUX_BUFFERS 7
-#define GLX_RED_SIZE 8
-#define GLX_GREEN_SIZE 9
-#define GLX_BLUE_SIZE 10
-#define GLX_ALPHA_SIZE 11
-#define GLX_DEPTH_SIZE 12
-#define GLX_STENCIL_SIZE 13
-#define GLX_ACCUM_RED_SIZE 14
-#define GLX_ACCUM_GREEN_SIZE 15
-#define GLX_ACCUM_BLUE_SIZE 16
-#define GLX_ACCUM_ALPHA_SIZE 17
-#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
-
-typedef XID GLXDrawable;
-typedef XID GLXPixmap;
-#ifdef __sun
-typedef struct __glXContextRec *GLXContext;
-#else
-typedef struct __GLXcontextRec *GLXContext;
-#endif
-
-typedef unsigned int GLXVideoDeviceNV;
-
-extern Bool glXQueryExtension (Display *dpy, int *errorBase, int *eventBase);
-extern Bool glXQueryVersion (Display *dpy, int *major, int *minor);
-extern int glXGetConfig (Display *dpy, XVisualInfo *vis, int attrib, int *value);
-extern XVisualInfo* glXChooseVisual (Display *dpy, int screen, int *attribList);
-extern GLXPixmap glXCreateGLXPixmap (Display *dpy, XVisualInfo *vis, Pixmap pixmap);
-extern void glXDestroyGLXPixmap (Display *dpy, GLXPixmap pix);
-extern GLXContext glXCreateContext (Display *dpy, XVisualInfo *vis, GLXContext shareList, Bool direct);
-extern void glXDestroyContext (Display *dpy, GLXContext ctx);
-extern Bool glXIsDirect (Display *dpy, GLXContext ctx);
-extern void glXCopyContext (Display *dpy, GLXContext src, GLXContext dst, GLulong mask);
-extern Bool glXMakeCurrent (Display *dpy, GLXDrawable drawable, GLXContext ctx);
-extern GLXContext glXGetCurrentContext (void);
-extern GLXDrawable glXGetCurrentDrawable (void);
-extern void glXWaitGL (void);
-extern void glXWaitX (void);
-extern void glXSwapBuffers (Display *dpy, GLXDrawable drawable);
-extern void glXUseXFont (Font font, int first, int count, int listBase);
-
-#define GLXEW_VERSION_1_0 GLXEW_GET_VAR(__GLXEW_VERSION_1_0)
-
-#endif /* GLX_VERSION_1_0 */
-
-/* ---------------------------- GLX_VERSION_1_1 --------------------------- */
-
-#ifndef GLX_VERSION_1_1
-#define GLX_VERSION_1_1
-
-#define GLX_VENDOR 0x1
-#define GLX_VERSION 0x2
-#define GLX_EXTENSIONS 0x3
-
-extern const char* glXQueryExtensionsString (Display *dpy, int screen);
-extern const char* glXGetClientString (Display *dpy, int name);
-extern const char* glXQueryServerString (Display *dpy, int screen, int name);
-
-#define GLXEW_VERSION_1_1 GLXEW_GET_VAR(__GLXEW_VERSION_1_1)
-
-#endif /* GLX_VERSION_1_1 */
-
-/* ---------------------------- GLX_VERSION_1_2 ---------------------------- */
-
-#ifndef GLX_VERSION_1_2
-#define GLX_VERSION_1_2 1
-
-typedef Display* ( * PFNGLXGETCURRENTDISPLAYPROC) (void);
-
-#define glXGetCurrentDisplay GLXEW_GET_FUN(__glewXGetCurrentDisplay)
-
-#define GLXEW_VERSION_1_2 GLXEW_GET_VAR(__GLXEW_VERSION_1_2)
-
-#endif /* GLX_VERSION_1_2 */
-
-/* ---------------------------- GLX_VERSION_1_3 ---------------------------- */
-
-#ifndef GLX_VERSION_1_3
-#define GLX_VERSION_1_3 1
-
-#define GLX_RGBA_BIT 0x00000001
-#define GLX_FRONT_LEFT_BUFFER_BIT 0x00000001
-#define GLX_WINDOW_BIT 0x00000001
-#define GLX_COLOR_INDEX_BIT 0x00000002
-#define GLX_PIXMAP_BIT 0x00000002
-#define GLX_FRONT_RIGHT_BUFFER_BIT 0x00000002
-#define GLX_BACK_LEFT_BUFFER_BIT 0x00000004
-#define GLX_PBUFFER_BIT 0x00000004
-#define GLX_BACK_RIGHT_BUFFER_BIT 0x00000008
-#define GLX_AUX_BUFFERS_BIT 0x00000010
-#define GLX_CONFIG_CAVEAT 0x20
-#define GLX_DEPTH_BUFFER_BIT 0x00000020
-#define GLX_X_VISUAL_TYPE 0x22
-#define GLX_TRANSPARENT_TYPE 0x23
-#define GLX_TRANSPARENT_INDEX_VALUE 0x24
-#define GLX_TRANSPARENT_RED_VALUE 0x25
-#define GLX_TRANSPARENT_GREEN_VALUE 0x26
-#define GLX_TRANSPARENT_BLUE_VALUE 0x27
-#define GLX_TRANSPARENT_ALPHA_VALUE 0x28
-#define GLX_STENCIL_BUFFER_BIT 0x00000040
-#define GLX_ACCUM_BUFFER_BIT 0x00000080
-#define GLX_NONE 0x8000
-#define GLX_SLOW_CONFIG 0x8001
-#define GLX_TRUE_COLOR 0x8002
-#define GLX_DIRECT_COLOR 0x8003
-#define GLX_PSEUDO_COLOR 0x8004
-#define GLX_STATIC_COLOR 0x8005
-#define GLX_GRAY_SCALE 0x8006
-#define GLX_STATIC_GRAY 0x8007
-#define GLX_TRANSPARENT_RGB 0x8008
-#define GLX_TRANSPARENT_INDEX 0x8009
-#define GLX_VISUAL_ID 0x800B
-#define GLX_SCREEN 0x800C
-#define GLX_NON_CONFORMANT_CONFIG 0x800D
-#define GLX_DRAWABLE_TYPE 0x8010
-#define GLX_RENDER_TYPE 0x8011
-#define GLX_X_RENDERABLE 0x8012
-#define GLX_FBCONFIG_ID 0x8013
-#define GLX_RGBA_TYPE 0x8014
-#define GLX_COLOR_INDEX_TYPE 0x8015
-#define GLX_MAX_PBUFFER_WIDTH 0x8016
-#define GLX_MAX_PBUFFER_HEIGHT 0x8017
-#define GLX_MAX_PBUFFER_PIXELS 0x8018
-#define GLX_PRESERVED_CONTENTS 0x801B
-#define GLX_LARGEST_PBUFFER 0x801C
-#define GLX_WIDTH 0x801D
-#define GLX_HEIGHT 0x801E
-#define GLX_EVENT_MASK 0x801F
-#define GLX_DAMAGED 0x8020
-#define GLX_SAVED 0x8021
-#define GLX_WINDOW 0x8022
-#define GLX_PBUFFER 0x8023
-#define GLX_PBUFFER_HEIGHT 0x8040
-#define GLX_PBUFFER_WIDTH 0x8041
-#define GLX_PBUFFER_CLOBBER_MASK 0x08000000
-#define GLX_DONT_CARE 0xFFFFFFFF
-
-typedef XID GLXFBConfigID;
-typedef XID GLXWindow;
-typedef XID GLXPbuffer;
-typedef struct __GLXFBConfigRec *GLXFBConfig;
-
-typedef struct {
- int event_type;
- int draw_type;
- unsigned long serial;
- Bool send_event;
- Display *display;
- GLXDrawable drawable;
- unsigned int buffer_mask;
- unsigned int aux_buffer;
- int x, y;
- int width, height;
- int count;
-} GLXPbufferClobberEvent;
-typedef union __GLXEvent {
- GLXPbufferClobberEvent glxpbufferclobber;
- long pad[24];
-} GLXEvent;
-
-typedef GLXFBConfig* ( * PFNGLXCHOOSEFBCONFIGPROC) (Display *dpy, int screen, const int *attrib_list, int *nelements);
-typedef GLXContext ( * PFNGLXCREATENEWCONTEXTPROC) (Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct);
-typedef GLXPbuffer ( * PFNGLXCREATEPBUFFERPROC) (Display *dpy, GLXFBConfig config, const int *attrib_list);
-typedef GLXPixmap ( * PFNGLXCREATEPIXMAPPROC) (Display *dpy, GLXFBConfig config, Pixmap pixmap, const int *attrib_list);
-typedef GLXWindow ( * PFNGLXCREATEWINDOWPROC) (Display *dpy, GLXFBConfig config, Window win, const int *attrib_list);
-typedef void ( * PFNGLXDESTROYPBUFFERPROC) (Display *dpy, GLXPbuffer pbuf);
-typedef void ( * PFNGLXDESTROYPIXMAPPROC) (Display *dpy, GLXPixmap pixmap);
-typedef void ( * PFNGLXDESTROYWINDOWPROC) (Display *dpy, GLXWindow win);
-typedef GLXDrawable ( * PFNGLXGETCURRENTREADDRAWABLEPROC) (void);
-typedef int ( * PFNGLXGETFBCONFIGATTRIBPROC) (Display *dpy, GLXFBConfig config, int attribute, int *value);
-typedef GLXFBConfig* ( * PFNGLXGETFBCONFIGSPROC) (Display *dpy, int screen, int *nelements);
-typedef void ( * PFNGLXGETSELECTEDEVENTPROC) (Display *dpy, GLXDrawable draw, unsigned long *event_mask);
-typedef XVisualInfo* ( * PFNGLXGETVISUALFROMFBCONFIGPROC) (Display *dpy, GLXFBConfig config);
-typedef Bool ( * PFNGLXMAKECONTEXTCURRENTPROC) (Display *display, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
-typedef int ( * PFNGLXQUERYCONTEXTPROC) (Display *dpy, GLXContext ctx, int attribute, int *value);
-typedef void ( * PFNGLXQUERYDRAWABLEPROC) (Display *dpy, GLXDrawable draw, int attribute, unsigned int *value);
-typedef void ( * PFNGLXSELECTEVENTPROC) (Display *dpy, GLXDrawable draw, unsigned long event_mask);
-
-#define glXChooseFBConfig GLXEW_GET_FUN(__glewXChooseFBConfig)
-#define glXCreateNewContext GLXEW_GET_FUN(__glewXCreateNewContext)
-#define glXCreatePbuffer GLXEW_GET_FUN(__glewXCreatePbuffer)
-#define glXCreatePixmap GLXEW_GET_FUN(__glewXCreatePixmap)
-#define glXCreateWindow GLXEW_GET_FUN(__glewXCreateWindow)
-#define glXDestroyPbuffer GLXEW_GET_FUN(__glewXDestroyPbuffer)
-#define glXDestroyPixmap GLXEW_GET_FUN(__glewXDestroyPixmap)
-#define glXDestroyWindow GLXEW_GET_FUN(__glewXDestroyWindow)
-#define glXGetCurrentReadDrawable GLXEW_GET_FUN(__glewXGetCurrentReadDrawable)
-#define glXGetFBConfigAttrib GLXEW_GET_FUN(__glewXGetFBConfigAttrib)
-#define glXGetFBConfigs GLXEW_GET_FUN(__glewXGetFBConfigs)
-#define glXGetSelectedEvent GLXEW_GET_FUN(__glewXGetSelectedEvent)
-#define glXGetVisualFromFBConfig GLXEW_GET_FUN(__glewXGetVisualFromFBConfig)
-#define glXMakeContextCurrent GLXEW_GET_FUN(__glewXMakeContextCurrent)
-#define glXQueryContext GLXEW_GET_FUN(__glewXQueryContext)
-#define glXQueryDrawable GLXEW_GET_FUN(__glewXQueryDrawable)
-#define glXSelectEvent GLXEW_GET_FUN(__glewXSelectEvent)
-
-#define GLXEW_VERSION_1_3 GLXEW_GET_VAR(__GLXEW_VERSION_1_3)
-
-#endif /* GLX_VERSION_1_3 */
-
-/* ---------------------------- GLX_VERSION_1_4 ---------------------------- */
-
-#ifndef GLX_VERSION_1_4
-#define GLX_VERSION_1_4 1
-
-#define GLX_SAMPLE_BUFFERS 100000
-#define GLX_SAMPLES 100001
-
-extern void ( * glXGetProcAddress (const GLubyte *procName)) (void);
-
-#define GLXEW_VERSION_1_4 GLXEW_GET_VAR(__GLXEW_VERSION_1_4)
-
-#endif /* GLX_VERSION_1_4 */
-
-/* -------------------------- GLX_3DFX_multisample ------------------------- */
-
-#ifndef GLX_3DFX_multisample
-#define GLX_3DFX_multisample 1
-
-#define GLX_SAMPLE_BUFFERS_3DFX 0x8050
-#define GLX_SAMPLES_3DFX 0x8051
-
-#define GLXEW_3DFX_multisample GLXEW_GET_VAR(__GLXEW_3DFX_multisample)
-
-#endif /* GLX_3DFX_multisample */
-
-/* ------------------------- GLX_ARB_create_context ------------------------ */
-
-#ifndef GLX_ARB_create_context
-#define GLX_ARB_create_context 1
-
-#define GLX_CONTEXT_DEBUG_BIT_ARB 0x0001
-#define GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x0002
-#define GLX_CONTEXT_MAJOR_VERSION_ARB 0x2091
-#define GLX_CONTEXT_MINOR_VERSION_ARB 0x2092
-#define GLX_CONTEXT_FLAGS_ARB 0x2094
-
-typedef GLXContext ( * PFNGLXCREATECONTEXTATTRIBSARBPROC) (Display* dpy, GLXFBConfig config, GLXContext share_context, Bool direct, const int *attrib_list);
-
-#define glXCreateContextAttribsARB GLXEW_GET_FUN(__glewXCreateContextAttribsARB)
-
-#define GLXEW_ARB_create_context GLXEW_GET_VAR(__GLXEW_ARB_create_context)
-
-#endif /* GLX_ARB_create_context */
-
-/* --------------------- GLX_ARB_create_context_profile -------------------- */
-
-#ifndef GLX_ARB_create_context_profile
-#define GLX_ARB_create_context_profile 1
-
-#define GLX_CONTEXT_CORE_PROFILE_BIT_ARB 0x00000001
-#define GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x00000002
-#define GLX_CONTEXT_PROFILE_MASK_ARB 0x9126
-
-#define GLXEW_ARB_create_context_profile GLXEW_GET_VAR(__GLXEW_ARB_create_context_profile)
-
-#endif /* GLX_ARB_create_context_profile */
-
-/* ------------------------- GLX_ARB_fbconfig_float ------------------------ */
-
-#ifndef GLX_ARB_fbconfig_float
-#define GLX_ARB_fbconfig_float 1
-
-#define GLX_RGBA_FLOAT_BIT 0x00000004
-#define GLX_RGBA_FLOAT_TYPE 0x20B9
-
-#define GLXEW_ARB_fbconfig_float GLXEW_GET_VAR(__GLXEW_ARB_fbconfig_float)
-
-#endif /* GLX_ARB_fbconfig_float */
-
-/* ------------------------ GLX_ARB_framebuffer_sRGB ----------------------- */
-
-#ifndef GLX_ARB_framebuffer_sRGB
-#define GLX_ARB_framebuffer_sRGB 1
-
-#define GLX_FRAMEBUFFER_SRGB_CAPABLE_ARB 0x20B2
-
-#define GLXEW_ARB_framebuffer_sRGB GLXEW_GET_VAR(__GLXEW_ARB_framebuffer_sRGB)
-
-#endif /* GLX_ARB_framebuffer_sRGB */
-
-/* ------------------------ GLX_ARB_get_proc_address ----------------------- */
-
-#ifndef GLX_ARB_get_proc_address
-#define GLX_ARB_get_proc_address 1
-
-extern void ( * glXGetProcAddressARB (const GLubyte *procName)) (void);
-
-#define GLXEW_ARB_get_proc_address GLXEW_GET_VAR(__GLXEW_ARB_get_proc_address)
-
-#endif /* GLX_ARB_get_proc_address */
-
-/* -------------------------- GLX_ARB_multisample -------------------------- */
-
-#ifndef GLX_ARB_multisample
-#define GLX_ARB_multisample 1
-
-#define GLX_SAMPLE_BUFFERS_ARB 100000
-#define GLX_SAMPLES_ARB 100001
-
-#define GLXEW_ARB_multisample GLXEW_GET_VAR(__GLXEW_ARB_multisample)
-
-#endif /* GLX_ARB_multisample */
-
-/* ---------------------- GLX_ARB_vertex_buffer_object --------------------- */
-
-#ifndef GLX_ARB_vertex_buffer_object
-#define GLX_ARB_vertex_buffer_object 1
-
-#define GLX_CONTEXT_ALLOW_BUFFER_BYTE_ORDER_MISMATCH_ARB 0x2095
-
-#define GLXEW_ARB_vertex_buffer_object GLXEW_GET_VAR(__GLXEW_ARB_vertex_buffer_object)
-
-#endif /* GLX_ARB_vertex_buffer_object */
-
-/* ----------------------- GLX_ATI_pixel_format_float ---------------------- */
-
-#ifndef GLX_ATI_pixel_format_float
-#define GLX_ATI_pixel_format_float 1
-
-#define GLX_RGBA_FLOAT_ATI_BIT 0x00000100
-
-#define GLXEW_ATI_pixel_format_float GLXEW_GET_VAR(__GLXEW_ATI_pixel_format_float)
-
-#endif /* GLX_ATI_pixel_format_float */
-
-/* ------------------------- GLX_ATI_render_texture ------------------------ */
-
-#ifndef GLX_ATI_render_texture
-#define GLX_ATI_render_texture 1
-
-#define GLX_BIND_TO_TEXTURE_RGB_ATI 0x9800
-#define GLX_BIND_TO_TEXTURE_RGBA_ATI 0x9801
-#define GLX_TEXTURE_FORMAT_ATI 0x9802
-#define GLX_TEXTURE_TARGET_ATI 0x9803
-#define GLX_MIPMAP_TEXTURE_ATI 0x9804
-#define GLX_TEXTURE_RGB_ATI 0x9805
-#define GLX_TEXTURE_RGBA_ATI 0x9806
-#define GLX_NO_TEXTURE_ATI 0x9807
-#define GLX_TEXTURE_CUBE_MAP_ATI 0x9808
-#define GLX_TEXTURE_1D_ATI 0x9809
-#define GLX_TEXTURE_2D_ATI 0x980A
-#define GLX_MIPMAP_LEVEL_ATI 0x980B
-#define GLX_CUBE_MAP_FACE_ATI 0x980C
-#define GLX_TEXTURE_CUBE_MAP_POSITIVE_X_ATI 0x980D
-#define GLX_TEXTURE_CUBE_MAP_NEGATIVE_X_ATI 0x980E
-#define GLX_TEXTURE_CUBE_MAP_POSITIVE_Y_ATI 0x980F
-#define GLX_TEXTURE_CUBE_MAP_NEGATIVE_Y_ATI 0x9810
-#define GLX_TEXTURE_CUBE_MAP_POSITIVE_Z_ATI 0x9811
-#define GLX_TEXTURE_CUBE_MAP_NEGATIVE_Z_ATI 0x9812
-#define GLX_FRONT_LEFT_ATI 0x9813
-#define GLX_FRONT_RIGHT_ATI 0x9814
-#define GLX_BACK_LEFT_ATI 0x9815
-#define GLX_BACK_RIGHT_ATI 0x9816
-#define GLX_AUX0_ATI 0x9817
-#define GLX_AUX1_ATI 0x9818
-#define GLX_AUX2_ATI 0x9819
-#define GLX_AUX3_ATI 0x981A
-#define GLX_AUX4_ATI 0x981B
-#define GLX_AUX5_ATI 0x981C
-#define GLX_AUX6_ATI 0x981D
-#define GLX_AUX7_ATI 0x981E
-#define GLX_AUX8_ATI 0x981F
-#define GLX_AUX9_ATI 0x9820
-#define GLX_BIND_TO_TEXTURE_LUMINANCE_ATI 0x9821
-#define GLX_BIND_TO_TEXTURE_INTENSITY_ATI 0x9822
-
-typedef void ( * PFNGLXBINDTEXIMAGEATIPROC) (Display *dpy, GLXPbuffer pbuf, int buffer);
-typedef void ( * PFNGLXDRAWABLEATTRIBATIPROC) (Display *dpy, GLXDrawable draw, const int *attrib_list);
-typedef void ( * PFNGLXRELEASETEXIMAGEATIPROC) (Display *dpy, GLXPbuffer pbuf, int buffer);
-
-#define glXBindTexImageATI GLXEW_GET_FUN(__glewXBindTexImageATI)
-#define glXDrawableAttribATI GLXEW_GET_FUN(__glewXDrawableAttribATI)
-#define glXReleaseTexImageATI GLXEW_GET_FUN(__glewXReleaseTexImageATI)
-
-#define GLXEW_ATI_render_texture GLXEW_GET_VAR(__GLXEW_ATI_render_texture)
-
-#endif /* GLX_ATI_render_texture */
-
-/* --------------------- GLX_EXT_fbconfig_packed_float --------------------- */
-
-#ifndef GLX_EXT_fbconfig_packed_float
-#define GLX_EXT_fbconfig_packed_float 1
-
-#define GLX_RGBA_UNSIGNED_FLOAT_BIT_EXT 0x00000008
-#define GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT 0x20B1
-
-#define GLXEW_EXT_fbconfig_packed_float GLXEW_GET_VAR(__GLXEW_EXT_fbconfig_packed_float)
-
-#endif /* GLX_EXT_fbconfig_packed_float */
-
-/* ------------------------ GLX_EXT_framebuffer_sRGB ----------------------- */
-
-#ifndef GLX_EXT_framebuffer_sRGB
-#define GLX_EXT_framebuffer_sRGB 1
-
-#define GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20B2
-
-#define GLXEW_EXT_framebuffer_sRGB GLXEW_GET_VAR(__GLXEW_EXT_framebuffer_sRGB)
-
-#endif /* GLX_EXT_framebuffer_sRGB */
-
-/* ------------------------- GLX_EXT_import_context ------------------------ */
-
-#ifndef GLX_EXT_import_context
-#define GLX_EXT_import_context 1
-
-#define GLX_SHARE_CONTEXT_EXT 0x800A
-#define GLX_VISUAL_ID_EXT 0x800B
-#define GLX_SCREEN_EXT 0x800C
-
-typedef XID GLXContextID;
-
-typedef void ( * PFNGLXFREECONTEXTEXTPROC) (Display* dpy, GLXContext context);
-typedef GLXContextID ( * PFNGLXGETCONTEXTIDEXTPROC) (const GLXContext context);
-typedef GLXContext ( * PFNGLXIMPORTCONTEXTEXTPROC) (Display* dpy, GLXContextID contextID);
-typedef int ( * PFNGLXQUERYCONTEXTINFOEXTPROC) (Display* dpy, GLXContext context, int attribute,int *value);
-
-#define glXFreeContextEXT GLXEW_GET_FUN(__glewXFreeContextEXT)
-#define glXGetContextIDEXT GLXEW_GET_FUN(__glewXGetContextIDEXT)
-#define glXImportContextEXT GLXEW_GET_FUN(__glewXImportContextEXT)
-#define glXQueryContextInfoEXT GLXEW_GET_FUN(__glewXQueryContextInfoEXT)
-
-#define GLXEW_EXT_import_context GLXEW_GET_VAR(__GLXEW_EXT_import_context)
-
-#endif /* GLX_EXT_import_context */
-
-/* -------------------------- GLX_EXT_scene_marker ------------------------- */
-
-#ifndef GLX_EXT_scene_marker
-#define GLX_EXT_scene_marker 1
-
-#define GLXEW_EXT_scene_marker GLXEW_GET_VAR(__GLXEW_EXT_scene_marker)
-
-#endif /* GLX_EXT_scene_marker */
-
-/* -------------------------- GLX_EXT_swap_control ------------------------- */
-
-#ifndef GLX_EXT_swap_control
-#define GLX_EXT_swap_control 1
-
-#define GLX_SWAP_INTERVAL_EXT 0x20F1
-#define GLX_MAX_SWAP_INTERVAL_EXT 0x20F2
-
-typedef void ( * PFNGLXSWAPINTERVALEXTPROC) (Display* dpy, GLXDrawable drawable, int interval);
-
-#define glXSwapIntervalEXT GLXEW_GET_FUN(__glewXSwapIntervalEXT)
-
-#define GLXEW_EXT_swap_control GLXEW_GET_VAR(__GLXEW_EXT_swap_control)
-
-#endif /* GLX_EXT_swap_control */
-
-/* ---------------------- GLX_EXT_texture_from_pixmap ---------------------- */
-
-#ifndef GLX_EXT_texture_from_pixmap
-#define GLX_EXT_texture_from_pixmap 1
-
-#define GLX_TEXTURE_1D_BIT_EXT 0x00000001
-#define GLX_TEXTURE_2D_BIT_EXT 0x00000002
-#define GLX_TEXTURE_RECTANGLE_BIT_EXT 0x00000004
-#define GLX_BIND_TO_TEXTURE_RGB_EXT 0x20D0
-#define GLX_BIND_TO_TEXTURE_RGBA_EXT 0x20D1
-#define GLX_BIND_TO_MIPMAP_TEXTURE_EXT 0x20D2
-#define GLX_BIND_TO_TEXTURE_TARGETS_EXT 0x20D3
-#define GLX_Y_INVERTED_EXT 0x20D4
-#define GLX_TEXTURE_FORMAT_EXT 0x20D5
-#define GLX_TEXTURE_TARGET_EXT 0x20D6
-#define GLX_MIPMAP_TEXTURE_EXT 0x20D7
-#define GLX_TEXTURE_FORMAT_NONE_EXT 0x20D8
-#define GLX_TEXTURE_FORMAT_RGB_EXT 0x20D9
-#define GLX_TEXTURE_FORMAT_RGBA_EXT 0x20DA
-#define GLX_TEXTURE_1D_EXT 0x20DB
-#define GLX_TEXTURE_2D_EXT 0x20DC
-#define GLX_TEXTURE_RECTANGLE_EXT 0x20DD
-#define GLX_FRONT_LEFT_EXT 0x20DE
-#define GLX_FRONT_RIGHT_EXT 0x20DF
-#define GLX_BACK_LEFT_EXT 0x20E0
-#define GLX_BACK_RIGHT_EXT 0x20E1
-#define GLX_AUX0_EXT 0x20E2
-#define GLX_AUX1_EXT 0x20E3
-#define GLX_AUX2_EXT 0x20E4
-#define GLX_AUX3_EXT 0x20E5
-#define GLX_AUX4_EXT 0x20E6
-#define GLX_AUX5_EXT 0x20E7
-#define GLX_AUX6_EXT 0x20E8
-#define GLX_AUX7_EXT 0x20E9
-#define GLX_AUX8_EXT 0x20EA
-#define GLX_AUX9_EXT 0x20EB
-
-typedef void ( * PFNGLXBINDTEXIMAGEEXTPROC) (Display* display, GLXDrawable drawable, int buffer, const int *attrib_list);
-typedef void ( * PFNGLXRELEASETEXIMAGEEXTPROC) (Display* display, GLXDrawable drawable, int buffer);
-
-#define glXBindTexImageEXT GLXEW_GET_FUN(__glewXBindTexImageEXT)
-#define glXReleaseTexImageEXT GLXEW_GET_FUN(__glewXReleaseTexImageEXT)
-
-#define GLXEW_EXT_texture_from_pixmap GLXEW_GET_VAR(__GLXEW_EXT_texture_from_pixmap)
-
-#endif /* GLX_EXT_texture_from_pixmap */
-
-/* -------------------------- GLX_EXT_visual_info -------------------------- */
-
-#ifndef GLX_EXT_visual_info
-#define GLX_EXT_visual_info 1
-
-#define GLX_X_VISUAL_TYPE_EXT 0x22
-#define GLX_TRANSPARENT_TYPE_EXT 0x23
-#define GLX_TRANSPARENT_INDEX_VALUE_EXT 0x24
-#define GLX_TRANSPARENT_RED_VALUE_EXT 0x25
-#define GLX_TRANSPARENT_GREEN_VALUE_EXT 0x26
-#define GLX_TRANSPARENT_BLUE_VALUE_EXT 0x27
-#define GLX_TRANSPARENT_ALPHA_VALUE_EXT 0x28
-#define GLX_NONE_EXT 0x8000
-#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_TRANSPARENT_RGB_EXT 0x8008
-#define GLX_TRANSPARENT_INDEX_EXT 0x8009
-
-#define GLXEW_EXT_visual_info GLXEW_GET_VAR(__GLXEW_EXT_visual_info)
-
-#endif /* GLX_EXT_visual_info */
-
-/* ------------------------- GLX_EXT_visual_rating ------------------------- */
-
-#ifndef GLX_EXT_visual_rating
-#define GLX_EXT_visual_rating 1
-
-#define GLX_VISUAL_CAVEAT_EXT 0x20
-#define GLX_SLOW_VISUAL_EXT 0x8001
-#define GLX_NON_CONFORMANT_VISUAL_EXT 0x800D
-
-#define GLXEW_EXT_visual_rating GLXEW_GET_VAR(__GLXEW_EXT_visual_rating)
-
-#endif /* GLX_EXT_visual_rating */
-
-/* -------------------------- GLX_INTEL_swap_event ------------------------- */
-
-#ifndef GLX_INTEL_swap_event
-#define GLX_INTEL_swap_event 1
-
-#define GLX_EXCHANGE_COMPLETE_INTEL 0x8180
-#define GLX_COPY_COMPLETE_INTEL 0x8181
-#define GLX_FLIP_COMPLETE_INTEL 0x8182
-#define GLX_BUFFER_SWAP_COMPLETE_INTEL_MASK 0x04000000
-
-#define GLXEW_INTEL_swap_event GLXEW_GET_VAR(__GLXEW_INTEL_swap_event)
-
-#endif /* GLX_INTEL_swap_event */
-
-/* -------------------------- GLX_MESA_agp_offset -------------------------- */
-
-#ifndef GLX_MESA_agp_offset
-#define GLX_MESA_agp_offset 1
-
-typedef unsigned int ( * PFNGLXGETAGPOFFSETMESAPROC) (const void* pointer);
-
-#define glXGetAGPOffsetMESA GLXEW_GET_FUN(__glewXGetAGPOffsetMESA)
-
-#define GLXEW_MESA_agp_offset GLXEW_GET_VAR(__GLXEW_MESA_agp_offset)
-
-#endif /* GLX_MESA_agp_offset */
-
-/* ------------------------ GLX_MESA_copy_sub_buffer ----------------------- */
-
-#ifndef GLX_MESA_copy_sub_buffer
-#define GLX_MESA_copy_sub_buffer 1
-
-typedef void ( * PFNGLXCOPYSUBBUFFERMESAPROC) (Display* dpy, GLXDrawable drawable, int x, int y, int width, int height);
-
-#define glXCopySubBufferMESA GLXEW_GET_FUN(__glewXCopySubBufferMESA)
-
-#define GLXEW_MESA_copy_sub_buffer GLXEW_GET_VAR(__GLXEW_MESA_copy_sub_buffer)
-
-#endif /* GLX_MESA_copy_sub_buffer */
-
-/* ------------------------ GLX_MESA_pixmap_colormap ----------------------- */
-
-#ifndef GLX_MESA_pixmap_colormap
-#define GLX_MESA_pixmap_colormap 1
-
-typedef GLXPixmap ( * PFNGLXCREATEGLXPIXMAPMESAPROC) (Display* dpy, XVisualInfo *visual, Pixmap pixmap, Colormap cmap);
-
-#define glXCreateGLXPixmapMESA GLXEW_GET_FUN(__glewXCreateGLXPixmapMESA)
-
-#define GLXEW_MESA_pixmap_colormap GLXEW_GET_VAR(__GLXEW_MESA_pixmap_colormap)
-
-#endif /* GLX_MESA_pixmap_colormap */
-
-/* ------------------------ GLX_MESA_release_buffers ----------------------- */
-
-#ifndef GLX_MESA_release_buffers
-#define GLX_MESA_release_buffers 1
-
-typedef Bool ( * PFNGLXRELEASEBUFFERSMESAPROC) (Display* dpy, GLXDrawable d);
-
-#define glXReleaseBuffersMESA GLXEW_GET_FUN(__glewXReleaseBuffersMESA)
-
-#define GLXEW_MESA_release_buffers GLXEW_GET_VAR(__GLXEW_MESA_release_buffers)
-
-#endif /* GLX_MESA_release_buffers */
-
-/* ------------------------- GLX_MESA_set_3dfx_mode ------------------------ */
-
-#ifndef GLX_MESA_set_3dfx_mode
-#define GLX_MESA_set_3dfx_mode 1
-
-#define GLX_3DFX_WINDOW_MODE_MESA 0x1
-#define GLX_3DFX_FULLSCREEN_MODE_MESA 0x2
-
-typedef GLboolean ( * PFNGLXSET3DFXMODEMESAPROC) (GLint mode);
-
-#define glXSet3DfxModeMESA GLXEW_GET_FUN(__glewXSet3DfxModeMESA)
-
-#define GLXEW_MESA_set_3dfx_mode GLXEW_GET_VAR(__GLXEW_MESA_set_3dfx_mode)
-
-#endif /* GLX_MESA_set_3dfx_mode */
-
-/* --------------------------- GLX_NV_copy_image --------------------------- */
-
-#ifndef GLX_NV_copy_image
-#define GLX_NV_copy_image 1
-
-typedef void ( * PFNGLXCOPYIMAGESUBDATANVPROC) (Display *dpy, GLXContext srcCtx, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLXContext dstCtx, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);
-
-#define glXCopyImageSubDataNV GLXEW_GET_FUN(__glewXCopyImageSubDataNV)
-
-#define GLXEW_NV_copy_image GLXEW_GET_VAR(__GLXEW_NV_copy_image)
-
-#endif /* GLX_NV_copy_image */
-
-/* -------------------------- GLX_NV_float_buffer -------------------------- */
-
-#ifndef GLX_NV_float_buffer
-#define GLX_NV_float_buffer 1
-
-#define GLX_FLOAT_COMPONENTS_NV 0x20B0
-
-#define GLXEW_NV_float_buffer GLXEW_GET_VAR(__GLXEW_NV_float_buffer)
-
-#endif /* GLX_NV_float_buffer */
-
-/* -------------------------- GLX_NV_present_video ------------------------- */
-
-#ifndef GLX_NV_present_video
-#define GLX_NV_present_video 1
-
-#define GLX_NUM_VIDEO_SLOTS_NV 0x20F0
-
-typedef int ( * PFNGLXBINDVIDEODEVICENVPROC) (Display* dpy, unsigned int video_slot, unsigned int video_device, const int *attrib_list);
-typedef unsigned int* ( * PFNGLXENUMERATEVIDEODEVICESNVPROC) (Display *dpy, int screen, int *nelements);
-
-#define glXBindVideoDeviceNV GLXEW_GET_FUN(__glewXBindVideoDeviceNV)
-#define glXEnumerateVideoDevicesNV GLXEW_GET_FUN(__glewXEnumerateVideoDevicesNV)
-
-#define GLXEW_NV_present_video GLXEW_GET_VAR(__GLXEW_NV_present_video)
-
-#endif /* GLX_NV_present_video */
-
-/* --------------------------- GLX_NV_swap_group --------------------------- */
-
-#ifndef GLX_NV_swap_group
-#define GLX_NV_swap_group 1
-
-typedef Bool ( * PFNGLXBINDSWAPBARRIERNVPROC) (Display* dpy, GLuint group, GLuint barrier);
-typedef Bool ( * PFNGLXJOINSWAPGROUPNVPROC) (Display* dpy, GLXDrawable drawable, GLuint group);
-typedef Bool ( * PFNGLXQUERYFRAMECOUNTNVPROC) (Display* dpy, int screen, GLuint *count);
-typedef Bool ( * PFNGLXQUERYMAXSWAPGROUPSNVPROC) (Display* dpy, int screen, GLuint *maxGroups, GLuint *maxBarriers);
-typedef Bool ( * PFNGLXQUERYSWAPGROUPNVPROC) (Display* dpy, GLXDrawable drawable, GLuint *group, GLuint *barrier);
-typedef Bool ( * PFNGLXRESETFRAMECOUNTNVPROC) (Display* dpy, int screen);
-
-#define glXBindSwapBarrierNV GLXEW_GET_FUN(__glewXBindSwapBarrierNV)
-#define glXJoinSwapGroupNV GLXEW_GET_FUN(__glewXJoinSwapGroupNV)
-#define glXQueryFrameCountNV GLXEW_GET_FUN(__glewXQueryFrameCountNV)
-#define glXQueryMaxSwapGroupsNV GLXEW_GET_FUN(__glewXQueryMaxSwapGroupsNV)
-#define glXQuerySwapGroupNV GLXEW_GET_FUN(__glewXQuerySwapGroupNV)
-#define glXResetFrameCountNV GLXEW_GET_FUN(__glewXResetFrameCountNV)
-
-#define GLXEW_NV_swap_group GLXEW_GET_VAR(__GLXEW_NV_swap_group)
-
-#endif /* GLX_NV_swap_group */
-
-/* ----------------------- GLX_NV_vertex_array_range ----------------------- */
-
-#ifndef GLX_NV_vertex_array_range
-#define GLX_NV_vertex_array_range 1
-
-typedef void * ( * PFNGLXALLOCATEMEMORYNVPROC) (GLsizei size, GLfloat readFrequency, GLfloat writeFrequency, GLfloat priority);
-typedef void ( * PFNGLXFREEMEMORYNVPROC) (void *pointer);
-
-#define glXAllocateMemoryNV GLXEW_GET_FUN(__glewXAllocateMemoryNV)
-#define glXFreeMemoryNV GLXEW_GET_FUN(__glewXFreeMemoryNV)
-
-#define GLXEW_NV_vertex_array_range GLXEW_GET_VAR(__GLXEW_NV_vertex_array_range)
-
-#endif /* GLX_NV_vertex_array_range */
-
-/* -------------------------- GLX_NV_video_output -------------------------- */
-
-#ifndef GLX_NV_video_output
-#define GLX_NV_video_output 1
-
-#define GLX_VIDEO_OUT_COLOR_NV 0x20C3
-#define GLX_VIDEO_OUT_ALPHA_NV 0x20C4
-#define GLX_VIDEO_OUT_DEPTH_NV 0x20C5
-#define GLX_VIDEO_OUT_COLOR_AND_ALPHA_NV 0x20C6
-#define GLX_VIDEO_OUT_COLOR_AND_DEPTH_NV 0x20C7
-#define GLX_VIDEO_OUT_FRAME_NV 0x20C8
-#define GLX_VIDEO_OUT_FIELD_1_NV 0x20C9
-#define GLX_VIDEO_OUT_FIELD_2_NV 0x20CA
-#define GLX_VIDEO_OUT_STACKED_FIELDS_1_2_NV 0x20CB
-#define GLX_VIDEO_OUT_STACKED_FIELDS_2_1_NV 0x20CC
-
-typedef int ( * PFNGLXBINDVIDEOIMAGENVPROC) (Display* dpy, GLXVideoDeviceNV VideoDevice, GLXPbuffer pbuf, int iVideoBuffer);
-typedef int ( * PFNGLXGETVIDEODEVICENVPROC) (Display* dpy, int screen, int numVideoDevices, GLXVideoDeviceNV *pVideoDevice);
-typedef int ( * PFNGLXGETVIDEOINFONVPROC) (Display* dpy, int screen, GLXVideoDeviceNV VideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo);
-typedef int ( * PFNGLXRELEASEVIDEODEVICENVPROC) (Display* dpy, int screen, GLXVideoDeviceNV VideoDevice);
-typedef int ( * PFNGLXRELEASEVIDEOIMAGENVPROC) (Display* dpy, GLXPbuffer pbuf);
-typedef int ( * PFNGLXSENDPBUFFERTOVIDEONVPROC) (Display* dpy, GLXPbuffer pbuf, int iBufferType, unsigned long *pulCounterPbuffer, GLboolean bBlock);
-
-#define glXBindVideoImageNV GLXEW_GET_FUN(__glewXBindVideoImageNV)
-#define glXGetVideoDeviceNV GLXEW_GET_FUN(__glewXGetVideoDeviceNV)
-#define glXGetVideoInfoNV GLXEW_GET_FUN(__glewXGetVideoInfoNV)
-#define glXReleaseVideoDeviceNV GLXEW_GET_FUN(__glewXReleaseVideoDeviceNV)
-#define glXReleaseVideoImageNV GLXEW_GET_FUN(__glewXReleaseVideoImageNV)
-#define glXSendPbufferToVideoNV GLXEW_GET_FUN(__glewXSendPbufferToVideoNV)
-
-#define GLXEW_NV_video_output GLXEW_GET_VAR(__GLXEW_NV_video_output)
-
-#endif /* GLX_NV_video_output */
-
-/* -------------------------- GLX_OML_swap_method -------------------------- */
-
-#ifndef GLX_OML_swap_method
-#define GLX_OML_swap_method 1
-
-#define GLX_SWAP_METHOD_OML 0x8060
-#define GLX_SWAP_EXCHANGE_OML 0x8061
-#define GLX_SWAP_COPY_OML 0x8062
-#define GLX_SWAP_UNDEFINED_OML 0x8063
-
-#define GLXEW_OML_swap_method GLXEW_GET_VAR(__GLXEW_OML_swap_method)
-
-#endif /* GLX_OML_swap_method */
-
-/* -------------------------- GLX_OML_sync_control ------------------------- */
-
-#if !defined(GLX_OML_sync_control) && defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
-#include <inttypes.h>
-#define GLX_OML_sync_control 1
-
-typedef Bool ( * PFNGLXGETMSCRATEOMLPROC) (Display* dpy, GLXDrawable drawable, int32_t* numerator, int32_t* denominator);
-typedef Bool ( * PFNGLXGETSYNCVALUESOMLPROC) (Display* dpy, GLXDrawable drawable, int64_t* ust, int64_t* msc, int64_t* sbc);
-typedef int64_t ( * PFNGLXSWAPBUFFERSMSCOMLPROC) (Display* dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder);
-typedef Bool ( * PFNGLXWAITFORMSCOMLPROC) (Display* dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder, int64_t* ust, int64_t* msc, int64_t* sbc);
-typedef Bool ( * PFNGLXWAITFORSBCOMLPROC) (Display* dpy, GLXDrawable drawable, int64_t target_sbc, int64_t* ust, int64_t* msc, int64_t* sbc);
-
-#define glXGetMscRateOML GLXEW_GET_FUN(__glewXGetMscRateOML)
-#define glXGetSyncValuesOML GLXEW_GET_FUN(__glewXGetSyncValuesOML)
-#define glXSwapBuffersMscOML GLXEW_GET_FUN(__glewXSwapBuffersMscOML)
-#define glXWaitForMscOML GLXEW_GET_FUN(__glewXWaitForMscOML)
-#define glXWaitForSbcOML GLXEW_GET_FUN(__glewXWaitForSbcOML)
-
-#define GLXEW_OML_sync_control GLXEW_GET_VAR(__GLXEW_OML_sync_control)
-
-#endif /* GLX_OML_sync_control */
-
-/* ------------------------ GLX_SGIS_blended_overlay ----------------------- */
-
-#ifndef GLX_SGIS_blended_overlay
-#define GLX_SGIS_blended_overlay 1
-
-#define GLX_BLENDED_RGBA_SGIS 0x8025
-
-#define GLXEW_SGIS_blended_overlay GLXEW_GET_VAR(__GLXEW_SGIS_blended_overlay)
-
-#endif /* GLX_SGIS_blended_overlay */
-
-/* -------------------------- GLX_SGIS_color_range ------------------------- */
-
-#ifndef GLX_SGIS_color_range
-#define GLX_SGIS_color_range 1
-
-#define GLX_MIN_RED_SGIS 0
-#define GLX_MAX_GREEN_SGIS 0
-#define GLX_MIN_BLUE_SGIS 0
-#define GLX_MAX_ALPHA_SGIS 0
-#define GLX_MIN_GREEN_SGIS 0
-#define GLX_MIN_ALPHA_SGIS 0
-#define GLX_MAX_RED_SGIS 0
-#define GLX_EXTENDED_RANGE_SGIS 0
-#define GLX_MAX_BLUE_SGIS 0
-
-#define GLXEW_SGIS_color_range GLXEW_GET_VAR(__GLXEW_SGIS_color_range)
-
-#endif /* GLX_SGIS_color_range */
-
-/* -------------------------- GLX_SGIS_multisample ------------------------- */
-
-#ifndef GLX_SGIS_multisample
-#define GLX_SGIS_multisample 1
-
-#define GLX_SAMPLE_BUFFERS_SGIS 100000
-#define GLX_SAMPLES_SGIS 100001
-
-#define GLXEW_SGIS_multisample GLXEW_GET_VAR(__GLXEW_SGIS_multisample)
-
-#endif /* GLX_SGIS_multisample */
-
-/* ---------------------- GLX_SGIS_shared_multisample ---------------------- */
-
-#ifndef GLX_SGIS_shared_multisample
-#define GLX_SGIS_shared_multisample 1
-
-#define GLX_MULTISAMPLE_SUB_RECT_WIDTH_SGIS 0x8026
-#define GLX_MULTISAMPLE_SUB_RECT_HEIGHT_SGIS 0x8027
-
-#define GLXEW_SGIS_shared_multisample GLXEW_GET_VAR(__GLXEW_SGIS_shared_multisample)
-
-#endif /* GLX_SGIS_shared_multisample */
-
-/* --------------------------- GLX_SGIX_fbconfig --------------------------- */
-
-#ifndef GLX_SGIX_fbconfig
-#define GLX_SGIX_fbconfig 1
-
-#define GLX_WINDOW_BIT_SGIX 0x00000001
-#define GLX_RGBA_BIT_SGIX 0x00000001
-#define GLX_PIXMAP_BIT_SGIX 0x00000002
-#define GLX_COLOR_INDEX_BIT_SGIX 0x00000002
-#define GLX_SCREEN_EXT 0x800C
-#define GLX_DRAWABLE_TYPE_SGIX 0x8010
-#define GLX_RENDER_TYPE_SGIX 0x8011
-#define GLX_X_RENDERABLE_SGIX 0x8012
-#define GLX_FBCONFIG_ID_SGIX 0x8013
-#define GLX_RGBA_TYPE_SGIX 0x8014
-#define GLX_COLOR_INDEX_TYPE_SGIX 0x8015
-
-typedef XID GLXFBConfigIDSGIX;
-typedef struct __GLXFBConfigRec *GLXFBConfigSGIX;
-
-typedef GLXFBConfigSGIX* ( * PFNGLXCHOOSEFBCONFIGSGIXPROC) (Display *dpy, int screen, const int *attrib_list, int *nelements);
-typedef GLXContext ( * PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC) (Display* dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct);
-typedef GLXPixmap ( * PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC) (Display* dpy, GLXFBConfig config, Pixmap pixmap);
-typedef int ( * PFNGLXGETFBCONFIGATTRIBSGIXPROC) (Display* dpy, GLXFBConfigSGIX config, int attribute, int *value);
-typedef GLXFBConfigSGIX ( * PFNGLXGETFBCONFIGFROMVISUALSGIXPROC) (Display* dpy, XVisualInfo *vis);
-typedef XVisualInfo* ( * PFNGLXGETVISUALFROMFBCONFIGSGIXPROC) (Display *dpy, GLXFBConfig config);
-
-#define glXChooseFBConfigSGIX GLXEW_GET_FUN(__glewXChooseFBConfigSGIX)
-#define glXCreateContextWithConfigSGIX GLXEW_GET_FUN(__glewXCreateContextWithConfigSGIX)
-#define glXCreateGLXPixmapWithConfigSGIX GLXEW_GET_FUN(__glewXCreateGLXPixmapWithConfigSGIX)
-#define glXGetFBConfigAttribSGIX GLXEW_GET_FUN(__glewXGetFBConfigAttribSGIX)
-#define glXGetFBConfigFromVisualSGIX GLXEW_GET_FUN(__glewXGetFBConfigFromVisualSGIX)
-#define glXGetVisualFromFBConfigSGIX GLXEW_GET_FUN(__glewXGetVisualFromFBConfigSGIX)
-
-#define GLXEW_SGIX_fbconfig GLXEW_GET_VAR(__GLXEW_SGIX_fbconfig)
-
-#endif /* GLX_SGIX_fbconfig */
-
-/* --------------------------- GLX_SGIX_hyperpipe -------------------------- */
-
-#ifndef GLX_SGIX_hyperpipe
-#define GLX_SGIX_hyperpipe 1
-
-#define GLX_HYPERPIPE_DISPLAY_PIPE_SGIX 0x00000001
-#define GLX_PIPE_RECT_SGIX 0x00000001
-#define GLX_PIPE_RECT_LIMITS_SGIX 0x00000002
-#define GLX_HYPERPIPE_RENDER_PIPE_SGIX 0x00000002
-#define GLX_HYPERPIPE_STEREO_SGIX 0x00000003
-#define GLX_HYPERPIPE_PIXEL_AVERAGE_SGIX 0x00000004
-#define GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX 80
-#define GLX_BAD_HYPERPIPE_CONFIG_SGIX 91
-#define GLX_BAD_HYPERPIPE_SGIX 92
-#define GLX_HYPERPIPE_ID_SGIX 0x8030
-
-typedef struct {
- char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX];
- int networkId;
-} GLXHyperpipeNetworkSGIX;
-typedef struct {
- char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX];
- int XOrigin;
- int YOrigin;
- int maxHeight;
- int maxWidth;
-} GLXPipeRectLimits;
-typedef struct {
- char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX];
- int channel;
- unsigned int participationType;
- int timeSlice;
-} GLXHyperpipeConfigSGIX;
-typedef struct {
- char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX];
- int srcXOrigin;
- int srcYOrigin;
- int srcWidth;
- int srcHeight;
- int destXOrigin;
- int destYOrigin;
- int destWidth;
- int destHeight;
-} GLXPipeRect;
-
-typedef int ( * PFNGLXBINDHYPERPIPESGIXPROC) (Display *dpy, int hpId);
-typedef int ( * PFNGLXDESTROYHYPERPIPECONFIGSGIXPROC) (Display *dpy, int hpId);
-typedef int ( * PFNGLXHYPERPIPEATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *attribList);
-typedef int ( * PFNGLXHYPERPIPECONFIGSGIXPROC) (Display *dpy, int networkId, int npipes, GLXHyperpipeConfigSGIX *cfg, int *hpId);
-typedef int ( * PFNGLXQUERYHYPERPIPEATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *returnAttribList);
-typedef int ( * PFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *attribList, void *returnAttribList);
-typedef GLXHyperpipeConfigSGIX * ( * PFNGLXQUERYHYPERPIPECONFIGSGIXPROC) (Display *dpy, int hpId, int *npipes);
-typedef GLXHyperpipeNetworkSGIX * ( * PFNGLXQUERYHYPERPIPENETWORKSGIXPROC) (Display *dpy, int *npipes);
-
-#define glXBindHyperpipeSGIX GLXEW_GET_FUN(__glewXBindHyperpipeSGIX)
-#define glXDestroyHyperpipeConfigSGIX GLXEW_GET_FUN(__glewXDestroyHyperpipeConfigSGIX)
-#define glXHyperpipeAttribSGIX GLXEW_GET_FUN(__glewXHyperpipeAttribSGIX)
-#define glXHyperpipeConfigSGIX GLXEW_GET_FUN(__glewXHyperpipeConfigSGIX)
-#define glXQueryHyperpipeAttribSGIX GLXEW_GET_FUN(__glewXQueryHyperpipeAttribSGIX)
-#define glXQueryHyperpipeBestAttribSGIX GLXEW_GET_FUN(__glewXQueryHyperpipeBestAttribSGIX)
-#define glXQueryHyperpipeConfigSGIX GLXEW_GET_FUN(__glewXQueryHyperpipeConfigSGIX)
-#define glXQueryHyperpipeNetworkSGIX GLXEW_GET_FUN(__glewXQueryHyperpipeNetworkSGIX)
-
-#define GLXEW_SGIX_hyperpipe GLXEW_GET_VAR(__GLXEW_SGIX_hyperpipe)
-
-#endif /* GLX_SGIX_hyperpipe */
-
-/* ---------------------------- GLX_SGIX_pbuffer --------------------------- */
-
-#ifndef GLX_SGIX_pbuffer
-#define GLX_SGIX_pbuffer 1
-
-#define GLX_FRONT_LEFT_BUFFER_BIT_SGIX 0x00000001
-#define GLX_FRONT_RIGHT_BUFFER_BIT_SGIX 0x00000002
-#define GLX_PBUFFER_BIT_SGIX 0x00000004
-#define GLX_BACK_LEFT_BUFFER_BIT_SGIX 0x00000004
-#define GLX_BACK_RIGHT_BUFFER_BIT_SGIX 0x00000008
-#define GLX_AUX_BUFFERS_BIT_SGIX 0x00000010
-#define GLX_DEPTH_BUFFER_BIT_SGIX 0x00000020
-#define GLX_STENCIL_BUFFER_BIT_SGIX 0x00000040
-#define GLX_ACCUM_BUFFER_BIT_SGIX 0x00000080
-#define GLX_SAMPLE_BUFFERS_BIT_SGIX 0x00000100
-#define GLX_MAX_PBUFFER_WIDTH_SGIX 0x8016
-#define GLX_MAX_PBUFFER_HEIGHT_SGIX 0x8017
-#define GLX_MAX_PBUFFER_PIXELS_SGIX 0x8018
-#define GLX_OPTIMAL_PBUFFER_WIDTH_SGIX 0x8019
-#define GLX_OPTIMAL_PBUFFER_HEIGHT_SGIX 0x801A
-#define GLX_PRESERVED_CONTENTS_SGIX 0x801B
-#define GLX_LARGEST_PBUFFER_SGIX 0x801C
-#define GLX_WIDTH_SGIX 0x801D
-#define GLX_HEIGHT_SGIX 0x801E
-#define GLX_EVENT_MASK_SGIX 0x801F
-#define GLX_DAMAGED_SGIX 0x8020
-#define GLX_SAVED_SGIX 0x8021
-#define GLX_WINDOW_SGIX 0x8022
-#define GLX_PBUFFER_SGIX 0x8023
-#define GLX_BUFFER_CLOBBER_MASK_SGIX 0x08000000
-
-typedef XID GLXPbufferSGIX;
-typedef struct { int type; unsigned long serial; Bool send_event; Display *display; GLXDrawable drawable; int event_type; int draw_type; unsigned int mask; int x, y; int width, height; int count; } GLXBufferClobberEventSGIX;
-
-typedef GLXPbuffer ( * PFNGLXCREATEGLXPBUFFERSGIXPROC) (Display* dpy, GLXFBConfig config, unsigned int width, unsigned int height, int *attrib_list);
-typedef void ( * PFNGLXDESTROYGLXPBUFFERSGIXPROC) (Display* dpy, GLXPbuffer pbuf);
-typedef void ( * PFNGLXGETSELECTEDEVENTSGIXPROC) (Display* dpy, GLXDrawable drawable, unsigned long *mask);
-typedef void ( * PFNGLXQUERYGLXPBUFFERSGIXPROC) (Display* dpy, GLXPbuffer pbuf, int attribute, unsigned int *value);
-typedef void ( * PFNGLXSELECTEVENTSGIXPROC) (Display* dpy, GLXDrawable drawable, unsigned long mask);
-
-#define glXCreateGLXPbufferSGIX GLXEW_GET_FUN(__glewXCreateGLXPbufferSGIX)
-#define glXDestroyGLXPbufferSGIX GLXEW_GET_FUN(__glewXDestroyGLXPbufferSGIX)
-#define glXGetSelectedEventSGIX GLXEW_GET_FUN(__glewXGetSelectedEventSGIX)
-#define glXQueryGLXPbufferSGIX GLXEW_GET_FUN(__glewXQueryGLXPbufferSGIX)
-#define glXSelectEventSGIX GLXEW_GET_FUN(__glewXSelectEventSGIX)
-
-#define GLXEW_SGIX_pbuffer GLXEW_GET_VAR(__GLXEW_SGIX_pbuffer)
-
-#endif /* GLX_SGIX_pbuffer */
-
-/* ------------------------- GLX_SGIX_swap_barrier ------------------------- */
-
-#ifndef GLX_SGIX_swap_barrier
-#define GLX_SGIX_swap_barrier 1
-
-typedef void ( * PFNGLXBINDSWAPBARRIERSGIXPROC) (Display *dpy, GLXDrawable drawable, int barrier);
-typedef Bool ( * PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC) (Display *dpy, int screen, int *max);
-
-#define glXBindSwapBarrierSGIX GLXEW_GET_FUN(__glewXBindSwapBarrierSGIX)
-#define glXQueryMaxSwapBarriersSGIX GLXEW_GET_FUN(__glewXQueryMaxSwapBarriersSGIX)
-
-#define GLXEW_SGIX_swap_barrier GLXEW_GET_VAR(__GLXEW_SGIX_swap_barrier)
-
-#endif /* GLX_SGIX_swap_barrier */
-
-/* -------------------------- GLX_SGIX_swap_group -------------------------- */
-
-#ifndef GLX_SGIX_swap_group
-#define GLX_SGIX_swap_group 1
-
-typedef void ( * PFNGLXJOINSWAPGROUPSGIXPROC) (Display *dpy, GLXDrawable drawable, GLXDrawable member);
-
-#define glXJoinSwapGroupSGIX GLXEW_GET_FUN(__glewXJoinSwapGroupSGIX)
-
-#define GLXEW_SGIX_swap_group GLXEW_GET_VAR(__GLXEW_SGIX_swap_group)
-
-#endif /* GLX_SGIX_swap_group */
-
-/* ------------------------- GLX_SGIX_video_resize ------------------------- */
-
-#ifndef GLX_SGIX_video_resize
-#define GLX_SGIX_video_resize 1
-
-#define GLX_SYNC_FRAME_SGIX 0x00000000
-#define GLX_SYNC_SWAP_SGIX 0x00000001
-
-typedef int ( * PFNGLXBINDCHANNELTOWINDOWSGIXPROC) (Display* display, int screen, int channel, Window window);
-typedef int ( * PFNGLXCHANNELRECTSGIXPROC) (Display* display, int screen, int channel, int x, int y, int w, int h);
-typedef int ( * PFNGLXCHANNELRECTSYNCSGIXPROC) (Display* display, int screen, int channel, GLenum synctype);
-typedef int ( * PFNGLXQUERYCHANNELDELTASSGIXPROC) (Display* display, int screen, int channel, int *x, int *y, int *w, int *h);
-typedef int ( * PFNGLXQUERYCHANNELRECTSGIXPROC) (Display* display, int screen, int channel, int *dx, int *dy, int *dw, int *dh);
-
-#define glXBindChannelToWindowSGIX GLXEW_GET_FUN(__glewXBindChannelToWindowSGIX)
-#define glXChannelRectSGIX GLXEW_GET_FUN(__glewXChannelRectSGIX)
-#define glXChannelRectSyncSGIX GLXEW_GET_FUN(__glewXChannelRectSyncSGIX)
-#define glXQueryChannelDeltasSGIX GLXEW_GET_FUN(__glewXQueryChannelDeltasSGIX)
-#define glXQueryChannelRectSGIX GLXEW_GET_FUN(__glewXQueryChannelRectSGIX)
-
-#define GLXEW_SGIX_video_resize GLXEW_GET_VAR(__GLXEW_SGIX_video_resize)
-
-#endif /* GLX_SGIX_video_resize */
-
-/* ---------------------- GLX_SGIX_visual_select_group --------------------- */
-
-#ifndef GLX_SGIX_visual_select_group
-#define GLX_SGIX_visual_select_group 1
-
-#define GLX_VISUAL_SELECT_GROUP_SGIX 0x8028
-
-#define GLXEW_SGIX_visual_select_group GLXEW_GET_VAR(__GLXEW_SGIX_visual_select_group)
-
-#endif /* GLX_SGIX_visual_select_group */
-
-/* ---------------------------- GLX_SGI_cushion ---------------------------- */
-
-#ifndef GLX_SGI_cushion
-#define GLX_SGI_cushion 1
-
-typedef void ( * PFNGLXCUSHIONSGIPROC) (Display* dpy, Window window, float cushion);
-
-#define glXCushionSGI GLXEW_GET_FUN(__glewXCushionSGI)
-
-#define GLXEW_SGI_cushion GLXEW_GET_VAR(__GLXEW_SGI_cushion)
-
-#endif /* GLX_SGI_cushion */
-
-/* ----------------------- GLX_SGI_make_current_read ----------------------- */
-
-#ifndef GLX_SGI_make_current_read
-#define GLX_SGI_make_current_read 1
-
-typedef GLXDrawable ( * PFNGLXGETCURRENTREADDRAWABLESGIPROC) (void);
-typedef Bool ( * PFNGLXMAKECURRENTREADSGIPROC) (Display* dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
-
-#define glXGetCurrentReadDrawableSGI GLXEW_GET_FUN(__glewXGetCurrentReadDrawableSGI)
-#define glXMakeCurrentReadSGI GLXEW_GET_FUN(__glewXMakeCurrentReadSGI)
-
-#define GLXEW_SGI_make_current_read GLXEW_GET_VAR(__GLXEW_SGI_make_current_read)
-
-#endif /* GLX_SGI_make_current_read */
-
-/* -------------------------- GLX_SGI_swap_control ------------------------- */
-
-#ifndef GLX_SGI_swap_control
-#define GLX_SGI_swap_control 1
-
-typedef int ( * PFNGLXSWAPINTERVALSGIPROC) (int interval);
-
-#define glXSwapIntervalSGI GLXEW_GET_FUN(__glewXSwapIntervalSGI)
-
-#define GLXEW_SGI_swap_control GLXEW_GET_VAR(__GLXEW_SGI_swap_control)
-
-#endif /* GLX_SGI_swap_control */
-
-/* --------------------------- GLX_SGI_video_sync -------------------------- */
-
-#ifndef GLX_SGI_video_sync
-#define GLX_SGI_video_sync 1
-
-typedef int ( * PFNGLXGETVIDEOSYNCSGIPROC) (uint* count);
-typedef int ( * PFNGLXWAITVIDEOSYNCSGIPROC) (int divisor, int remainder, unsigned int* count);
-
-#define glXGetVideoSyncSGI GLXEW_GET_FUN(__glewXGetVideoSyncSGI)
-#define glXWaitVideoSyncSGI GLXEW_GET_FUN(__glewXWaitVideoSyncSGI)
-
-#define GLXEW_SGI_video_sync GLXEW_GET_VAR(__GLXEW_SGI_video_sync)
-
-#endif /* GLX_SGI_video_sync */
-
-/* --------------------- GLX_SUN_get_transparent_index --------------------- */
-
-#ifndef GLX_SUN_get_transparent_index
-#define GLX_SUN_get_transparent_index 1
-
-typedef Status ( * PFNGLXGETTRANSPARENTINDEXSUNPROC) (Display* dpy, Window overlay, Window underlay, unsigned long *pTransparentIndex);
-
-#define glXGetTransparentIndexSUN GLXEW_GET_FUN(__glewXGetTransparentIndexSUN)
-
-#define GLXEW_SUN_get_transparent_index GLXEW_GET_VAR(__GLXEW_SUN_get_transparent_index)
-
-#endif /* GLX_SUN_get_transparent_index */
-
-/* -------------------------- GLX_SUN_video_resize ------------------------- */
-
-#ifndef GLX_SUN_video_resize
-#define GLX_SUN_video_resize 1
-
-#define GLX_VIDEO_RESIZE_SUN 0x8171
-#define GL_VIDEO_RESIZE_COMPENSATION_SUN 0x85CD
-
-typedef int ( * PFNGLXGETVIDEORESIZESUNPROC) (Display* display, GLXDrawable window, float* factor);
-typedef int ( * PFNGLXVIDEORESIZESUNPROC) (Display* display, GLXDrawable window, float factor);
-
-#define glXGetVideoResizeSUN GLXEW_GET_FUN(__glewXGetVideoResizeSUN)
-#define glXVideoResizeSUN GLXEW_GET_FUN(__glewXVideoResizeSUN)
-
-#define GLXEW_SUN_video_resize GLXEW_GET_VAR(__GLXEW_SUN_video_resize)
-
-#endif /* GLX_SUN_video_resize */
-
-/* ------------------------------------------------------------------------- */
-
-#ifdef GLEW_MX
-#define GLXEW_EXPORT
-#else
-#define GLXEW_EXPORT extern
-#endif /* GLEW_MX */
-
-extern PFNGLXGETCURRENTDISPLAYPROC __glewXGetCurrentDisplay;
-
-extern PFNGLXCHOOSEFBCONFIGPROC __glewXChooseFBConfig;
-extern PFNGLXCREATENEWCONTEXTPROC __glewXCreateNewContext;
-extern PFNGLXCREATEPBUFFERPROC __glewXCreatePbuffer;
-extern PFNGLXCREATEPIXMAPPROC __glewXCreatePixmap;
-extern PFNGLXCREATEWINDOWPROC __glewXCreateWindow;
-extern PFNGLXDESTROYPBUFFERPROC __glewXDestroyPbuffer;
-extern PFNGLXDESTROYPIXMAPPROC __glewXDestroyPixmap;
-extern PFNGLXDESTROYWINDOWPROC __glewXDestroyWindow;
-extern PFNGLXGETCURRENTREADDRAWABLEPROC __glewXGetCurrentReadDrawable;
-extern PFNGLXGETFBCONFIGATTRIBPROC __glewXGetFBConfigAttrib;
-extern PFNGLXGETFBCONFIGSPROC __glewXGetFBConfigs;
-extern PFNGLXGETSELECTEDEVENTPROC __glewXGetSelectedEvent;
-extern PFNGLXGETVISUALFROMFBCONFIGPROC __glewXGetVisualFromFBConfig;
-extern PFNGLXMAKECONTEXTCURRENTPROC __glewXMakeContextCurrent;
-extern PFNGLXQUERYCONTEXTPROC __glewXQueryContext;
-extern PFNGLXQUERYDRAWABLEPROC __glewXQueryDrawable;
-extern PFNGLXSELECTEVENTPROC __glewXSelectEvent;
-
-extern PFNGLXCREATECONTEXTATTRIBSARBPROC __glewXCreateContextAttribsARB;
-
-extern PFNGLXBINDTEXIMAGEATIPROC __glewXBindTexImageATI;
-extern PFNGLXDRAWABLEATTRIBATIPROC __glewXDrawableAttribATI;
-extern PFNGLXRELEASETEXIMAGEATIPROC __glewXReleaseTexImageATI;
-
-extern PFNGLXFREECONTEXTEXTPROC __glewXFreeContextEXT;
-extern PFNGLXGETCONTEXTIDEXTPROC __glewXGetContextIDEXT;
-extern PFNGLXIMPORTCONTEXTEXTPROC __glewXImportContextEXT;
-extern PFNGLXQUERYCONTEXTINFOEXTPROC __glewXQueryContextInfoEXT;
-
-extern PFNGLXSWAPINTERVALEXTPROC __glewXSwapIntervalEXT;
-
-extern PFNGLXBINDTEXIMAGEEXTPROC __glewXBindTexImageEXT;
-extern PFNGLXRELEASETEXIMAGEEXTPROC __glewXReleaseTexImageEXT;
-
-extern PFNGLXGETAGPOFFSETMESAPROC __glewXGetAGPOffsetMESA;
-
-extern PFNGLXCOPYSUBBUFFERMESAPROC __glewXCopySubBufferMESA;
-
-extern PFNGLXCREATEGLXPIXMAPMESAPROC __glewXCreateGLXPixmapMESA;
-
-extern PFNGLXRELEASEBUFFERSMESAPROC __glewXReleaseBuffersMESA;
-
-extern PFNGLXSET3DFXMODEMESAPROC __glewXSet3DfxModeMESA;
-
-extern PFNGLXCOPYIMAGESUBDATANVPROC __glewXCopyImageSubDataNV;
-
-extern PFNGLXBINDVIDEODEVICENVPROC __glewXBindVideoDeviceNV;
-extern PFNGLXENUMERATEVIDEODEVICESNVPROC __glewXEnumerateVideoDevicesNV;
-
-extern PFNGLXBINDSWAPBARRIERNVPROC __glewXBindSwapBarrierNV;
-extern PFNGLXJOINSWAPGROUPNVPROC __glewXJoinSwapGroupNV;
-extern PFNGLXQUERYFRAMECOUNTNVPROC __glewXQueryFrameCountNV;
-extern PFNGLXQUERYMAXSWAPGROUPSNVPROC __glewXQueryMaxSwapGroupsNV;
-extern PFNGLXQUERYSWAPGROUPNVPROC __glewXQuerySwapGroupNV;
-extern PFNGLXRESETFRAMECOUNTNVPROC __glewXResetFrameCountNV;
-
-extern PFNGLXALLOCATEMEMORYNVPROC __glewXAllocateMemoryNV;
-extern PFNGLXFREEMEMORYNVPROC __glewXFreeMemoryNV;
-
-extern PFNGLXBINDVIDEOIMAGENVPROC __glewXBindVideoImageNV;
-extern PFNGLXGETVIDEODEVICENVPROC __glewXGetVideoDeviceNV;
-extern PFNGLXGETVIDEOINFONVPROC __glewXGetVideoInfoNV;
-extern PFNGLXRELEASEVIDEODEVICENVPROC __glewXReleaseVideoDeviceNV;
-extern PFNGLXRELEASEVIDEOIMAGENVPROC __glewXReleaseVideoImageNV;
-extern PFNGLXSENDPBUFFERTOVIDEONVPROC __glewXSendPbufferToVideoNV;
-
-#ifdef GLX_OML_sync_control
-extern PFNGLXGETMSCRATEOMLPROC __glewXGetMscRateOML;
-extern PFNGLXGETSYNCVALUESOMLPROC __glewXGetSyncValuesOML;
-extern PFNGLXSWAPBUFFERSMSCOMLPROC __glewXSwapBuffersMscOML;
-extern PFNGLXWAITFORMSCOMLPROC __glewXWaitForMscOML;
-extern PFNGLXWAITFORSBCOMLPROC __glewXWaitForSbcOML;
-#endif
-
-extern PFNGLXCHOOSEFBCONFIGSGIXPROC __glewXChooseFBConfigSGIX;
-extern PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC __glewXCreateContextWithConfigSGIX;
-extern PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC __glewXCreateGLXPixmapWithConfigSGIX;
-extern PFNGLXGETFBCONFIGATTRIBSGIXPROC __glewXGetFBConfigAttribSGIX;
-extern PFNGLXGETFBCONFIGFROMVISUALSGIXPROC __glewXGetFBConfigFromVisualSGIX;
-extern PFNGLXGETVISUALFROMFBCONFIGSGIXPROC __glewXGetVisualFromFBConfigSGIX;
-
-extern PFNGLXBINDHYPERPIPESGIXPROC __glewXBindHyperpipeSGIX;
-extern PFNGLXDESTROYHYPERPIPECONFIGSGIXPROC __glewXDestroyHyperpipeConfigSGIX;
-extern PFNGLXHYPERPIPEATTRIBSGIXPROC __glewXHyperpipeAttribSGIX;
-extern PFNGLXHYPERPIPECONFIGSGIXPROC __glewXHyperpipeConfigSGIX;
-extern PFNGLXQUERYHYPERPIPEATTRIBSGIXPROC __glewXQueryHyperpipeAttribSGIX;
-extern PFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC __glewXQueryHyperpipeBestAttribSGIX;
-extern PFNGLXQUERYHYPERPIPECONFIGSGIXPROC __glewXQueryHyperpipeConfigSGIX;
-extern PFNGLXQUERYHYPERPIPENETWORKSGIXPROC __glewXQueryHyperpipeNetworkSGIX;
-
-extern PFNGLXCREATEGLXPBUFFERSGIXPROC __glewXCreateGLXPbufferSGIX;
-extern PFNGLXDESTROYGLXPBUFFERSGIXPROC __glewXDestroyGLXPbufferSGIX;
-extern PFNGLXGETSELECTEDEVENTSGIXPROC __glewXGetSelectedEventSGIX;
-extern PFNGLXQUERYGLXPBUFFERSGIXPROC __glewXQueryGLXPbufferSGIX;
-extern PFNGLXSELECTEVENTSGIXPROC __glewXSelectEventSGIX;
-
-extern PFNGLXBINDSWAPBARRIERSGIXPROC __glewXBindSwapBarrierSGIX;
-extern PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC __glewXQueryMaxSwapBarriersSGIX;
-
-extern PFNGLXJOINSWAPGROUPSGIXPROC __glewXJoinSwapGroupSGIX;
-
-extern PFNGLXBINDCHANNELTOWINDOWSGIXPROC __glewXBindChannelToWindowSGIX;
-extern PFNGLXCHANNELRECTSGIXPROC __glewXChannelRectSGIX;
-extern PFNGLXCHANNELRECTSYNCSGIXPROC __glewXChannelRectSyncSGIX;
-extern PFNGLXQUERYCHANNELDELTASSGIXPROC __glewXQueryChannelDeltasSGIX;
-extern PFNGLXQUERYCHANNELRECTSGIXPROC __glewXQueryChannelRectSGIX;
-
-extern PFNGLXCUSHIONSGIPROC __glewXCushionSGI;
-
-extern PFNGLXGETCURRENTREADDRAWABLESGIPROC __glewXGetCurrentReadDrawableSGI;
-extern PFNGLXMAKECURRENTREADSGIPROC __glewXMakeCurrentReadSGI;
-
-extern PFNGLXSWAPINTERVALSGIPROC __glewXSwapIntervalSGI;
-
-extern PFNGLXGETVIDEOSYNCSGIPROC __glewXGetVideoSyncSGI;
-extern PFNGLXWAITVIDEOSYNCSGIPROC __glewXWaitVideoSyncSGI;
-
-extern PFNGLXGETTRANSPARENTINDEXSUNPROC __glewXGetTransparentIndexSUN;
-
-extern PFNGLXGETVIDEORESIZESUNPROC __glewXGetVideoResizeSUN;
-extern PFNGLXVIDEORESIZESUNPROC __glewXVideoResizeSUN;
-
-#if defined(GLEW_MX)
-struct GLXEWContextStruct
-{
-#endif /* GLEW_MX */
-
-GLXEW_EXPORT GLboolean __GLXEW_VERSION_1_0;
-GLXEW_EXPORT GLboolean __GLXEW_VERSION_1_1;
-GLXEW_EXPORT GLboolean __GLXEW_VERSION_1_2;
-GLXEW_EXPORT GLboolean __GLXEW_VERSION_1_3;
-GLXEW_EXPORT GLboolean __GLXEW_VERSION_1_4;
-GLXEW_EXPORT GLboolean __GLXEW_3DFX_multisample;
-GLXEW_EXPORT GLboolean __GLXEW_ARB_create_context;
-GLXEW_EXPORT GLboolean __GLXEW_ARB_create_context_profile;
-GLXEW_EXPORT GLboolean __GLXEW_ARB_fbconfig_float;
-GLXEW_EXPORT GLboolean __GLXEW_ARB_framebuffer_sRGB;
-GLXEW_EXPORT GLboolean __GLXEW_ARB_get_proc_address;
-GLXEW_EXPORT GLboolean __GLXEW_ARB_multisample;
-GLXEW_EXPORT GLboolean __GLXEW_ARB_vertex_buffer_object;
-GLXEW_EXPORT GLboolean __GLXEW_ATI_pixel_format_float;
-GLXEW_EXPORT GLboolean __GLXEW_ATI_render_texture;
-GLXEW_EXPORT GLboolean __GLXEW_EXT_fbconfig_packed_float;
-GLXEW_EXPORT GLboolean __GLXEW_EXT_framebuffer_sRGB;
-GLXEW_EXPORT GLboolean __GLXEW_EXT_import_context;
-GLXEW_EXPORT GLboolean __GLXEW_EXT_scene_marker;
-GLXEW_EXPORT GLboolean __GLXEW_EXT_swap_control;
-GLXEW_EXPORT GLboolean __GLXEW_EXT_texture_from_pixmap;
-GLXEW_EXPORT GLboolean __GLXEW_EXT_visual_info;
-GLXEW_EXPORT GLboolean __GLXEW_EXT_visual_rating;
-GLXEW_EXPORT GLboolean __GLXEW_INTEL_swap_event;
-GLXEW_EXPORT GLboolean __GLXEW_MESA_agp_offset;
-GLXEW_EXPORT GLboolean __GLXEW_MESA_copy_sub_buffer;
-GLXEW_EXPORT GLboolean __GLXEW_MESA_pixmap_colormap;
-GLXEW_EXPORT GLboolean __GLXEW_MESA_release_buffers;
-GLXEW_EXPORT GLboolean __GLXEW_MESA_set_3dfx_mode;
-GLXEW_EXPORT GLboolean __GLXEW_NV_copy_image;
-GLXEW_EXPORT GLboolean __GLXEW_NV_float_buffer;
-GLXEW_EXPORT GLboolean __GLXEW_NV_present_video;
-GLXEW_EXPORT GLboolean __GLXEW_NV_swap_group;
-GLXEW_EXPORT GLboolean __GLXEW_NV_vertex_array_range;
-GLXEW_EXPORT GLboolean __GLXEW_NV_video_output;
-GLXEW_EXPORT GLboolean __GLXEW_OML_swap_method;
-GLXEW_EXPORT GLboolean __GLXEW_OML_sync_control;
-GLXEW_EXPORT GLboolean __GLXEW_SGIS_blended_overlay;
-GLXEW_EXPORT GLboolean __GLXEW_SGIS_color_range;
-GLXEW_EXPORT GLboolean __GLXEW_SGIS_multisample;
-GLXEW_EXPORT GLboolean __GLXEW_SGIS_shared_multisample;
-GLXEW_EXPORT GLboolean __GLXEW_SGIX_fbconfig;
-GLXEW_EXPORT GLboolean __GLXEW_SGIX_hyperpipe;
-GLXEW_EXPORT GLboolean __GLXEW_SGIX_pbuffer;
-GLXEW_EXPORT GLboolean __GLXEW_SGIX_swap_barrier;
-GLXEW_EXPORT GLboolean __GLXEW_SGIX_swap_group;
-GLXEW_EXPORT GLboolean __GLXEW_SGIX_video_resize;
-GLXEW_EXPORT GLboolean __GLXEW_SGIX_visual_select_group;
-GLXEW_EXPORT GLboolean __GLXEW_SGI_cushion;
-GLXEW_EXPORT GLboolean __GLXEW_SGI_make_current_read;
-GLXEW_EXPORT GLboolean __GLXEW_SGI_swap_control;
-GLXEW_EXPORT GLboolean __GLXEW_SGI_video_sync;
-GLXEW_EXPORT GLboolean __GLXEW_SUN_get_transparent_index;
-GLXEW_EXPORT GLboolean __GLXEW_SUN_video_resize;
-
-#ifdef GLEW_MX
-}; /* GLXEWContextStruct */
-#endif /* GLEW_MX */
-
-/* ------------------------------------------------------------------------ */
-
-#ifdef GLEW_MX
-
-typedef struct GLXEWContextStruct GLXEWContext;
-extern GLenum glxewContextInit (GLXEWContext* ctx);
-extern GLboolean glxewContextIsSupported (GLXEWContext* ctx, const char* name);
-
-#define glxewInit() glxewContextInit(glxewGetContext())
-#define glxewIsSupported(x) glxewContextIsSupported(glxewGetContext(), x)
-
-#define GLXEW_GET_VAR(x) (*(const GLboolean*)&(glxewGetContext()->x))
-#define GLXEW_GET_FUN(x) x
-
-#else /* GLEW_MX */
-
-#define GLXEW_GET_VAR(x) (*(const GLboolean*)&x)
-#define GLXEW_GET_FUN(x) x
-
-extern GLboolean glxewIsSupported (const char* name);
-
-#endif /* GLEW_MX */
-
-extern GLboolean glxewGetExtension (const char* name);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __glxew_h__ */
+/*
+** The OpenGL Extension Wrangler Library
+** Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
+** Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
+** Copyright (C) 2002, Lev Povalahev
+** All rights reserved.
+**
+** Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are met:
+**
+** * Redistributions of source code must retain the above copyright notice,
+** this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright notice,
+** this list of conditions and the following disclaimer in the documentation
+** and/or other materials provided with the distribution.
+** * The name of the author may be used to endorse or promote products
+** derived from this software without specific prior written permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+** AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+** ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+** LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+** CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+** SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+** INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+** CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+** ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+** THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+/*
+ * Mesa 3-D graphics library
+ * Version: 7.0
+ *
+ * Copyright (C) 1999-2007 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.
+ */
+
+/*
+** Copyright (c) 2007 The Khronos Group Inc.
+**
+** Permission is hereby granted, free of charge, to any person obtaining a
+** copy of this software and/or associated documentation files (the
+** "Materials"), to deal in the Materials without restriction, including
+** without limitation the rights to use, copy, modify, merge, publish,
+** distribute, sublicense, and/or sell copies of the Materials, and to
+** permit persons to whom the Materials are 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 Materials.
+**
+** THE MATERIALS ARE 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 THE AUTHORS OR COPYRIGHT HOLDERS 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
+** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
+*/
+
+#ifndef __glxew_h__
+#define __glxew_h__
+#define __GLXEW_H__
+
+#ifdef __glxext_h_
+#error glxext.h included before glxew.h
+#endif
+
+#if defined(GLX_H) || defined(__GLX_glx_h__) || defined(__glx_h__)
+#error glx.h included before glxew.h
+#endif
+
+#define __glxext_h_
+
+#define GLX_H
+#define __GLX_glx_h__
+#define __glx_h__
+
+#include <X11/Xlib.h>
+#include <X11/Xutil.h>
+#include <X11/Xmd.h>
+#include "glew.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ---------------------------- GLX_VERSION_1_0 --------------------------- */
+
+#ifndef GLX_VERSION_1_0
+#define GLX_VERSION_1_0 1
+
+#define GLX_USE_GL 1
+#define GLX_BUFFER_SIZE 2
+#define GLX_LEVEL 3
+#define GLX_RGBA 4
+#define GLX_DOUBLEBUFFER 5
+#define GLX_STEREO 6
+#define GLX_AUX_BUFFERS 7
+#define GLX_RED_SIZE 8
+#define GLX_GREEN_SIZE 9
+#define GLX_BLUE_SIZE 10
+#define GLX_ALPHA_SIZE 11
+#define GLX_DEPTH_SIZE 12
+#define GLX_STENCIL_SIZE 13
+#define GLX_ACCUM_RED_SIZE 14
+#define GLX_ACCUM_GREEN_SIZE 15
+#define GLX_ACCUM_BLUE_SIZE 16
+#define GLX_ACCUM_ALPHA_SIZE 17
+#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
+
+typedef XID GLXDrawable;
+typedef XID GLXPixmap;
+#ifdef __sun
+typedef struct __glXContextRec *GLXContext;
+#else
+typedef struct __GLXcontextRec *GLXContext;
+#endif
+
+typedef unsigned int GLXVideoDeviceNV;
+
+extern Bool glXQueryExtension (Display *dpy, int *errorBase, int *eventBase);
+extern Bool glXQueryVersion (Display *dpy, int *major, int *minor);
+extern int glXGetConfig (Display *dpy, XVisualInfo *vis, int attrib, int *value);
+extern XVisualInfo* glXChooseVisual (Display *dpy, int screen, int *attribList);
+extern GLXPixmap glXCreateGLXPixmap (Display *dpy, XVisualInfo *vis, Pixmap pixmap);
+extern void glXDestroyGLXPixmap (Display *dpy, GLXPixmap pix);
+extern GLXContext glXCreateContext (Display *dpy, XVisualInfo *vis, GLXContext shareList, Bool direct);
+extern void glXDestroyContext (Display *dpy, GLXContext ctx);
+extern Bool glXIsDirect (Display *dpy, GLXContext ctx);
+extern void glXCopyContext (Display *dpy, GLXContext src, GLXContext dst, GLulong mask);
+extern Bool glXMakeCurrent (Display *dpy, GLXDrawable drawable, GLXContext ctx);
+extern GLXContext glXGetCurrentContext (void);
+extern GLXDrawable glXGetCurrentDrawable (void);
+extern void glXWaitGL (void);
+extern void glXWaitX (void);
+extern void glXSwapBuffers (Display *dpy, GLXDrawable drawable);
+extern void glXUseXFont (Font font, int first, int count, int listBase);
+
+#define GLXEW_VERSION_1_0 GLXEW_GET_VAR(__GLXEW_VERSION_1_0)
+
+#endif /* GLX_VERSION_1_0 */
+
+/* ---------------------------- GLX_VERSION_1_1 --------------------------- */
+
+#ifndef GLX_VERSION_1_1
+#define GLX_VERSION_1_1
+
+#define GLX_VENDOR 0x1
+#define GLX_VERSION 0x2
+#define GLX_EXTENSIONS 0x3
+
+extern const char* glXQueryExtensionsString (Display *dpy, int screen);
+extern const char* glXGetClientString (Display *dpy, int name);
+extern const char* glXQueryServerString (Display *dpy, int screen, int name);
+
+#define GLXEW_VERSION_1_1 GLXEW_GET_VAR(__GLXEW_VERSION_1_1)
+
+#endif /* GLX_VERSION_1_1 */
+
+/* ---------------------------- GLX_VERSION_1_2 ---------------------------- */
+
+#ifndef GLX_VERSION_1_2
+#define GLX_VERSION_1_2 1
+
+typedef Display* ( * PFNGLXGETCURRENTDISPLAYPROC) (void);
+
+#define glXGetCurrentDisplay GLXEW_GET_FUN(__glewXGetCurrentDisplay)
+
+#define GLXEW_VERSION_1_2 GLXEW_GET_VAR(__GLXEW_VERSION_1_2)
+
+#endif /* GLX_VERSION_1_2 */
+
+/* ---------------------------- GLX_VERSION_1_3 ---------------------------- */
+
+#ifndef GLX_VERSION_1_3
+#define GLX_VERSION_1_3 1
+
+#define GLX_RGBA_BIT 0x00000001
+#define GLX_FRONT_LEFT_BUFFER_BIT 0x00000001
+#define GLX_WINDOW_BIT 0x00000001
+#define GLX_COLOR_INDEX_BIT 0x00000002
+#define GLX_PIXMAP_BIT 0x00000002
+#define GLX_FRONT_RIGHT_BUFFER_BIT 0x00000002
+#define GLX_BACK_LEFT_BUFFER_BIT 0x00000004
+#define GLX_PBUFFER_BIT 0x00000004
+#define GLX_BACK_RIGHT_BUFFER_BIT 0x00000008
+#define GLX_AUX_BUFFERS_BIT 0x00000010
+#define GLX_CONFIG_CAVEAT 0x20
+#define GLX_DEPTH_BUFFER_BIT 0x00000020
+#define GLX_X_VISUAL_TYPE 0x22
+#define GLX_TRANSPARENT_TYPE 0x23
+#define GLX_TRANSPARENT_INDEX_VALUE 0x24
+#define GLX_TRANSPARENT_RED_VALUE 0x25
+#define GLX_TRANSPARENT_GREEN_VALUE 0x26
+#define GLX_TRANSPARENT_BLUE_VALUE 0x27
+#define GLX_TRANSPARENT_ALPHA_VALUE 0x28
+#define GLX_STENCIL_BUFFER_BIT 0x00000040
+#define GLX_ACCUM_BUFFER_BIT 0x00000080
+#define GLX_NONE 0x8000
+#define GLX_SLOW_CONFIG 0x8001
+#define GLX_TRUE_COLOR 0x8002
+#define GLX_DIRECT_COLOR 0x8003
+#define GLX_PSEUDO_COLOR 0x8004
+#define GLX_STATIC_COLOR 0x8005
+#define GLX_GRAY_SCALE 0x8006
+#define GLX_STATIC_GRAY 0x8007
+#define GLX_TRANSPARENT_RGB 0x8008
+#define GLX_TRANSPARENT_INDEX 0x8009
+#define GLX_VISUAL_ID 0x800B
+#define GLX_SCREEN 0x800C
+#define GLX_NON_CONFORMANT_CONFIG 0x800D
+#define GLX_DRAWABLE_TYPE 0x8010
+#define GLX_RENDER_TYPE 0x8011
+#define GLX_X_RENDERABLE 0x8012
+#define GLX_FBCONFIG_ID 0x8013
+#define GLX_RGBA_TYPE 0x8014
+#define GLX_COLOR_INDEX_TYPE 0x8015
+#define GLX_MAX_PBUFFER_WIDTH 0x8016
+#define GLX_MAX_PBUFFER_HEIGHT 0x8017
+#define GLX_MAX_PBUFFER_PIXELS 0x8018
+#define GLX_PRESERVED_CONTENTS 0x801B
+#define GLX_LARGEST_PBUFFER 0x801C
+#define GLX_WIDTH 0x801D
+#define GLX_HEIGHT 0x801E
+#define GLX_EVENT_MASK 0x801F
+#define GLX_DAMAGED 0x8020
+#define GLX_SAVED 0x8021
+#define GLX_WINDOW 0x8022
+#define GLX_PBUFFER 0x8023
+#define GLX_PBUFFER_HEIGHT 0x8040
+#define GLX_PBUFFER_WIDTH 0x8041
+#define GLX_PBUFFER_CLOBBER_MASK 0x08000000
+#define GLX_DONT_CARE 0xFFFFFFFF
+
+typedef XID GLXFBConfigID;
+typedef XID GLXWindow;
+typedef XID GLXPbuffer;
+typedef struct __GLXFBConfigRec *GLXFBConfig;
+
+typedef struct {
+ int event_type;
+ int draw_type;
+ unsigned long serial;
+ Bool send_event;
+ Display *display;
+ GLXDrawable drawable;
+ unsigned int buffer_mask;
+ unsigned int aux_buffer;
+ int x, y;
+ int width, height;
+ int count;
+} GLXPbufferClobberEvent;
+typedef union __GLXEvent {
+ GLXPbufferClobberEvent glxpbufferclobber;
+ long pad[24];
+} GLXEvent;
+
+typedef GLXFBConfig* ( * PFNGLXCHOOSEFBCONFIGPROC) (Display *dpy, int screen, const int *attrib_list, int *nelements);
+typedef GLXContext ( * PFNGLXCREATENEWCONTEXTPROC) (Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct);
+typedef GLXPbuffer ( * PFNGLXCREATEPBUFFERPROC) (Display *dpy, GLXFBConfig config, const int *attrib_list);
+typedef GLXPixmap ( * PFNGLXCREATEPIXMAPPROC) (Display *dpy, GLXFBConfig config, Pixmap pixmap, const int *attrib_list);
+typedef GLXWindow ( * PFNGLXCREATEWINDOWPROC) (Display *dpy, GLXFBConfig config, Window win, const int *attrib_list);
+typedef void ( * PFNGLXDESTROYPBUFFERPROC) (Display *dpy, GLXPbuffer pbuf);
+typedef void ( * PFNGLXDESTROYPIXMAPPROC) (Display *dpy, GLXPixmap pixmap);
+typedef void ( * PFNGLXDESTROYWINDOWPROC) (Display *dpy, GLXWindow win);
+typedef GLXDrawable ( * PFNGLXGETCURRENTREADDRAWABLEPROC) (void);
+typedef int ( * PFNGLXGETFBCONFIGATTRIBPROC) (Display *dpy, GLXFBConfig config, int attribute, int *value);
+typedef GLXFBConfig* ( * PFNGLXGETFBCONFIGSPROC) (Display *dpy, int screen, int *nelements);
+typedef void ( * PFNGLXGETSELECTEDEVENTPROC) (Display *dpy, GLXDrawable draw, unsigned long *event_mask);
+typedef XVisualInfo* ( * PFNGLXGETVISUALFROMFBCONFIGPROC) (Display *dpy, GLXFBConfig config);
+typedef Bool ( * PFNGLXMAKECONTEXTCURRENTPROC) (Display *display, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
+typedef int ( * PFNGLXQUERYCONTEXTPROC) (Display *dpy, GLXContext ctx, int attribute, int *value);
+typedef void ( * PFNGLXQUERYDRAWABLEPROC) (Display *dpy, GLXDrawable draw, int attribute, unsigned int *value);
+typedef void ( * PFNGLXSELECTEVENTPROC) (Display *dpy, GLXDrawable draw, unsigned long event_mask);
+
+#define glXChooseFBConfig GLXEW_GET_FUN(__glewXChooseFBConfig)
+#define glXCreateNewContext GLXEW_GET_FUN(__glewXCreateNewContext)
+#define glXCreatePbuffer GLXEW_GET_FUN(__glewXCreatePbuffer)
+#define glXCreatePixmap GLXEW_GET_FUN(__glewXCreatePixmap)
+#define glXCreateWindow GLXEW_GET_FUN(__glewXCreateWindow)
+#define glXDestroyPbuffer GLXEW_GET_FUN(__glewXDestroyPbuffer)
+#define glXDestroyPixmap GLXEW_GET_FUN(__glewXDestroyPixmap)
+#define glXDestroyWindow GLXEW_GET_FUN(__glewXDestroyWindow)
+#define glXGetCurrentReadDrawable GLXEW_GET_FUN(__glewXGetCurrentReadDrawable)
+#define glXGetFBConfigAttrib GLXEW_GET_FUN(__glewXGetFBConfigAttrib)
+#define glXGetFBConfigs GLXEW_GET_FUN(__glewXGetFBConfigs)
+#define glXGetSelectedEvent GLXEW_GET_FUN(__glewXGetSelectedEvent)
+#define glXGetVisualFromFBConfig GLXEW_GET_FUN(__glewXGetVisualFromFBConfig)
+#define glXMakeContextCurrent GLXEW_GET_FUN(__glewXMakeContextCurrent)
+#define glXQueryContext GLXEW_GET_FUN(__glewXQueryContext)
+#define glXQueryDrawable GLXEW_GET_FUN(__glewXQueryDrawable)
+#define glXSelectEvent GLXEW_GET_FUN(__glewXSelectEvent)
+
+#define GLXEW_VERSION_1_3 GLXEW_GET_VAR(__GLXEW_VERSION_1_3)
+
+#endif /* GLX_VERSION_1_3 */
+
+/* ---------------------------- GLX_VERSION_1_4 ---------------------------- */
+
+#ifndef GLX_VERSION_1_4
+#define GLX_VERSION_1_4 1
+
+#define GLX_SAMPLE_BUFFERS 100000
+#define GLX_SAMPLES 100001
+
+extern void ( * glXGetProcAddress (const GLubyte *procName)) (void);
+
+#define GLXEW_VERSION_1_4 GLXEW_GET_VAR(__GLXEW_VERSION_1_4)
+
+#endif /* GLX_VERSION_1_4 */
+
+/* -------------------------- GLX_3DFX_multisample ------------------------- */
+
+#ifndef GLX_3DFX_multisample
+#define GLX_3DFX_multisample 1
+
+#define GLX_SAMPLE_BUFFERS_3DFX 0x8050
+#define GLX_SAMPLES_3DFX 0x8051
+
+#define GLXEW_3DFX_multisample GLXEW_GET_VAR(__GLXEW_3DFX_multisample)
+
+#endif /* GLX_3DFX_multisample */
+
+/* ------------------------- GLX_ARB_create_context ------------------------ */
+
+#ifndef GLX_ARB_create_context
+#define GLX_ARB_create_context 1
+
+#define GLX_CONTEXT_DEBUG_BIT_ARB 0x0001
+#define GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x0002
+#define GLX_CONTEXT_MAJOR_VERSION_ARB 0x2091
+#define GLX_CONTEXT_MINOR_VERSION_ARB 0x2092
+#define GLX_CONTEXT_FLAGS_ARB 0x2094
+
+typedef GLXContext ( * PFNGLXCREATECONTEXTATTRIBSARBPROC) (Display* dpy, GLXFBConfig config, GLXContext share_context, Bool direct, const int *attrib_list);
+
+#define glXCreateContextAttribsARB GLXEW_GET_FUN(__glewXCreateContextAttribsARB)
+
+#define GLXEW_ARB_create_context GLXEW_GET_VAR(__GLXEW_ARB_create_context)
+
+#endif /* GLX_ARB_create_context */
+
+/* --------------------- GLX_ARB_create_context_profile -------------------- */
+
+#ifndef GLX_ARB_create_context_profile
+#define GLX_ARB_create_context_profile 1
+
+#define GLX_CONTEXT_CORE_PROFILE_BIT_ARB 0x00000001
+#define GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x00000002
+#define GLX_CONTEXT_PROFILE_MASK_ARB 0x9126
+
+#define GLXEW_ARB_create_context_profile GLXEW_GET_VAR(__GLXEW_ARB_create_context_profile)
+
+#endif /* GLX_ARB_create_context_profile */
+
+/* ------------------------- GLX_ARB_fbconfig_float ------------------------ */
+
+#ifndef GLX_ARB_fbconfig_float
+#define GLX_ARB_fbconfig_float 1
+
+#define GLX_RGBA_FLOAT_BIT 0x00000004
+#define GLX_RGBA_FLOAT_TYPE 0x20B9
+
+#define GLXEW_ARB_fbconfig_float GLXEW_GET_VAR(__GLXEW_ARB_fbconfig_float)
+
+#endif /* GLX_ARB_fbconfig_float */
+
+/* ------------------------ GLX_ARB_framebuffer_sRGB ----------------------- */
+
+#ifndef GLX_ARB_framebuffer_sRGB
+#define GLX_ARB_framebuffer_sRGB 1
+
+#define GLX_FRAMEBUFFER_SRGB_CAPABLE_ARB 0x20B2
+
+#define GLXEW_ARB_framebuffer_sRGB GLXEW_GET_VAR(__GLXEW_ARB_framebuffer_sRGB)
+
+#endif /* GLX_ARB_framebuffer_sRGB */
+
+/* ------------------------ GLX_ARB_get_proc_address ----------------------- */
+
+#ifndef GLX_ARB_get_proc_address
+#define GLX_ARB_get_proc_address 1
+
+extern void ( * glXGetProcAddressARB (const GLubyte *procName)) (void);
+
+#define GLXEW_ARB_get_proc_address GLXEW_GET_VAR(__GLXEW_ARB_get_proc_address)
+
+#endif /* GLX_ARB_get_proc_address */
+
+/* -------------------------- GLX_ARB_multisample -------------------------- */
+
+#ifndef GLX_ARB_multisample
+#define GLX_ARB_multisample 1
+
+#define GLX_SAMPLE_BUFFERS_ARB 100000
+#define GLX_SAMPLES_ARB 100001
+
+#define GLXEW_ARB_multisample GLXEW_GET_VAR(__GLXEW_ARB_multisample)
+
+#endif /* GLX_ARB_multisample */
+
+/* ---------------------- GLX_ARB_vertex_buffer_object --------------------- */
+
+#ifndef GLX_ARB_vertex_buffer_object
+#define GLX_ARB_vertex_buffer_object 1
+
+#define GLX_CONTEXT_ALLOW_BUFFER_BYTE_ORDER_MISMATCH_ARB 0x2095
+
+#define GLXEW_ARB_vertex_buffer_object GLXEW_GET_VAR(__GLXEW_ARB_vertex_buffer_object)
+
+#endif /* GLX_ARB_vertex_buffer_object */
+
+/* ----------------------- GLX_ATI_pixel_format_float ---------------------- */
+
+#ifndef GLX_ATI_pixel_format_float
+#define GLX_ATI_pixel_format_float 1
+
+#define GLX_RGBA_FLOAT_ATI_BIT 0x00000100
+
+#define GLXEW_ATI_pixel_format_float GLXEW_GET_VAR(__GLXEW_ATI_pixel_format_float)
+
+#endif /* GLX_ATI_pixel_format_float */
+
+/* ------------------------- GLX_ATI_render_texture ------------------------ */
+
+#ifndef GLX_ATI_render_texture
+#define GLX_ATI_render_texture 1
+
+#define GLX_BIND_TO_TEXTURE_RGB_ATI 0x9800
+#define GLX_BIND_TO_TEXTURE_RGBA_ATI 0x9801
+#define GLX_TEXTURE_FORMAT_ATI 0x9802
+#define GLX_TEXTURE_TARGET_ATI 0x9803
+#define GLX_MIPMAP_TEXTURE_ATI 0x9804
+#define GLX_TEXTURE_RGB_ATI 0x9805
+#define GLX_TEXTURE_RGBA_ATI 0x9806
+#define GLX_NO_TEXTURE_ATI 0x9807
+#define GLX_TEXTURE_CUBE_MAP_ATI 0x9808
+#define GLX_TEXTURE_1D_ATI 0x9809
+#define GLX_TEXTURE_2D_ATI 0x980A
+#define GLX_MIPMAP_LEVEL_ATI 0x980B
+#define GLX_CUBE_MAP_FACE_ATI 0x980C
+#define GLX_TEXTURE_CUBE_MAP_POSITIVE_X_ATI 0x980D
+#define GLX_TEXTURE_CUBE_MAP_NEGATIVE_X_ATI 0x980E
+#define GLX_TEXTURE_CUBE_MAP_POSITIVE_Y_ATI 0x980F
+#define GLX_TEXTURE_CUBE_MAP_NEGATIVE_Y_ATI 0x9810
+#define GLX_TEXTURE_CUBE_MAP_POSITIVE_Z_ATI 0x9811
+#define GLX_TEXTURE_CUBE_MAP_NEGATIVE_Z_ATI 0x9812
+#define GLX_FRONT_LEFT_ATI 0x9813
+#define GLX_FRONT_RIGHT_ATI 0x9814
+#define GLX_BACK_LEFT_ATI 0x9815
+#define GLX_BACK_RIGHT_ATI 0x9816
+#define GLX_AUX0_ATI 0x9817
+#define GLX_AUX1_ATI 0x9818
+#define GLX_AUX2_ATI 0x9819
+#define GLX_AUX3_ATI 0x981A
+#define GLX_AUX4_ATI 0x981B
+#define GLX_AUX5_ATI 0x981C
+#define GLX_AUX6_ATI 0x981D
+#define GLX_AUX7_ATI 0x981E
+#define GLX_AUX8_ATI 0x981F
+#define GLX_AUX9_ATI 0x9820
+#define GLX_BIND_TO_TEXTURE_LUMINANCE_ATI 0x9821
+#define GLX_BIND_TO_TEXTURE_INTENSITY_ATI 0x9822
+
+typedef void ( * PFNGLXBINDTEXIMAGEATIPROC) (Display *dpy, GLXPbuffer pbuf, int buffer);
+typedef void ( * PFNGLXDRAWABLEATTRIBATIPROC) (Display *dpy, GLXDrawable draw, const int *attrib_list);
+typedef void ( * PFNGLXRELEASETEXIMAGEATIPROC) (Display *dpy, GLXPbuffer pbuf, int buffer);
+
+#define glXBindTexImageATI GLXEW_GET_FUN(__glewXBindTexImageATI)
+#define glXDrawableAttribATI GLXEW_GET_FUN(__glewXDrawableAttribATI)
+#define glXReleaseTexImageATI GLXEW_GET_FUN(__glewXReleaseTexImageATI)
+
+#define GLXEW_ATI_render_texture GLXEW_GET_VAR(__GLXEW_ATI_render_texture)
+
+#endif /* GLX_ATI_render_texture */
+
+/* --------------------- GLX_EXT_fbconfig_packed_float --------------------- */
+
+#ifndef GLX_EXT_fbconfig_packed_float
+#define GLX_EXT_fbconfig_packed_float 1
+
+#define GLX_RGBA_UNSIGNED_FLOAT_BIT_EXT 0x00000008
+#define GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT 0x20B1
+
+#define GLXEW_EXT_fbconfig_packed_float GLXEW_GET_VAR(__GLXEW_EXT_fbconfig_packed_float)
+
+#endif /* GLX_EXT_fbconfig_packed_float */
+
+/* ------------------------ GLX_EXT_framebuffer_sRGB ----------------------- */
+
+#ifndef GLX_EXT_framebuffer_sRGB
+#define GLX_EXT_framebuffer_sRGB 1
+
+#define GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20B2
+
+#define GLXEW_EXT_framebuffer_sRGB GLXEW_GET_VAR(__GLXEW_EXT_framebuffer_sRGB)
+
+#endif /* GLX_EXT_framebuffer_sRGB */
+
+/* ------------------------- GLX_EXT_import_context ------------------------ */
+
+#ifndef GLX_EXT_import_context
+#define GLX_EXT_import_context 1
+
+#define GLX_SHARE_CONTEXT_EXT 0x800A
+#define GLX_VISUAL_ID_EXT 0x800B
+#define GLX_SCREEN_EXT 0x800C
+
+typedef XID GLXContextID;
+
+typedef void ( * PFNGLXFREECONTEXTEXTPROC) (Display* dpy, GLXContext context);
+typedef GLXContextID ( * PFNGLXGETCONTEXTIDEXTPROC) (const GLXContext context);
+typedef GLXContext ( * PFNGLXIMPORTCONTEXTEXTPROC) (Display* dpy, GLXContextID contextID);
+typedef int ( * PFNGLXQUERYCONTEXTINFOEXTPROC) (Display* dpy, GLXContext context, int attribute,int *value);
+
+#define glXFreeContextEXT GLXEW_GET_FUN(__glewXFreeContextEXT)
+#define glXGetContextIDEXT GLXEW_GET_FUN(__glewXGetContextIDEXT)
+#define glXImportContextEXT GLXEW_GET_FUN(__glewXImportContextEXT)
+#define glXQueryContextInfoEXT GLXEW_GET_FUN(__glewXQueryContextInfoEXT)
+
+#define GLXEW_EXT_import_context GLXEW_GET_VAR(__GLXEW_EXT_import_context)
+
+#endif /* GLX_EXT_import_context */
+
+/* -------------------------- GLX_EXT_scene_marker ------------------------- */
+
+#ifndef GLX_EXT_scene_marker
+#define GLX_EXT_scene_marker 1
+
+#define GLXEW_EXT_scene_marker GLXEW_GET_VAR(__GLXEW_EXT_scene_marker)
+
+#endif /* GLX_EXT_scene_marker */
+
+/* -------------------------- GLX_EXT_swap_control ------------------------- */
+
+#ifndef GLX_EXT_swap_control
+#define GLX_EXT_swap_control 1
+
+#define GLX_SWAP_INTERVAL_EXT 0x20F1
+#define GLX_MAX_SWAP_INTERVAL_EXT 0x20F2
+
+typedef void ( * PFNGLXSWAPINTERVALEXTPROC) (Display* dpy, GLXDrawable drawable, int interval);
+
+#define glXSwapIntervalEXT GLXEW_GET_FUN(__glewXSwapIntervalEXT)
+
+#define GLXEW_EXT_swap_control GLXEW_GET_VAR(__GLXEW_EXT_swap_control)
+
+#endif /* GLX_EXT_swap_control */
+
+/* ---------------------- GLX_EXT_texture_from_pixmap ---------------------- */
+
+#ifndef GLX_EXT_texture_from_pixmap
+#define GLX_EXT_texture_from_pixmap 1
+
+#define GLX_TEXTURE_1D_BIT_EXT 0x00000001
+#define GLX_TEXTURE_2D_BIT_EXT 0x00000002
+#define GLX_TEXTURE_RECTANGLE_BIT_EXT 0x00000004
+#define GLX_BIND_TO_TEXTURE_RGB_EXT 0x20D0
+#define GLX_BIND_TO_TEXTURE_RGBA_EXT 0x20D1
+#define GLX_BIND_TO_MIPMAP_TEXTURE_EXT 0x20D2
+#define GLX_BIND_TO_TEXTURE_TARGETS_EXT 0x20D3
+#define GLX_Y_INVERTED_EXT 0x20D4
+#define GLX_TEXTURE_FORMAT_EXT 0x20D5
+#define GLX_TEXTURE_TARGET_EXT 0x20D6
+#define GLX_MIPMAP_TEXTURE_EXT 0x20D7
+#define GLX_TEXTURE_FORMAT_NONE_EXT 0x20D8
+#define GLX_TEXTURE_FORMAT_RGB_EXT 0x20D9
+#define GLX_TEXTURE_FORMAT_RGBA_EXT 0x20DA
+#define GLX_TEXTURE_1D_EXT 0x20DB
+#define GLX_TEXTURE_2D_EXT 0x20DC
+#define GLX_TEXTURE_RECTANGLE_EXT 0x20DD
+#define GLX_FRONT_LEFT_EXT 0x20DE
+#define GLX_FRONT_RIGHT_EXT 0x20DF
+#define GLX_BACK_LEFT_EXT 0x20E0
+#define GLX_BACK_RIGHT_EXT 0x20E1
+#define GLX_AUX0_EXT 0x20E2
+#define GLX_AUX1_EXT 0x20E3
+#define GLX_AUX2_EXT 0x20E4
+#define GLX_AUX3_EXT 0x20E5
+#define GLX_AUX4_EXT 0x20E6
+#define GLX_AUX5_EXT 0x20E7
+#define GLX_AUX6_EXT 0x20E8
+#define GLX_AUX7_EXT 0x20E9
+#define GLX_AUX8_EXT 0x20EA
+#define GLX_AUX9_EXT 0x20EB
+
+typedef void ( * PFNGLXBINDTEXIMAGEEXTPROC) (Display* display, GLXDrawable drawable, int buffer, const int *attrib_list);
+typedef void ( * PFNGLXRELEASETEXIMAGEEXTPROC) (Display* display, GLXDrawable drawable, int buffer);
+
+#define glXBindTexImageEXT GLXEW_GET_FUN(__glewXBindTexImageEXT)
+#define glXReleaseTexImageEXT GLXEW_GET_FUN(__glewXReleaseTexImageEXT)
+
+#define GLXEW_EXT_texture_from_pixmap GLXEW_GET_VAR(__GLXEW_EXT_texture_from_pixmap)
+
+#endif /* GLX_EXT_texture_from_pixmap */
+
+/* -------------------------- GLX_EXT_visual_info -------------------------- */
+
+#ifndef GLX_EXT_visual_info
+#define GLX_EXT_visual_info 1
+
+#define GLX_X_VISUAL_TYPE_EXT 0x22
+#define GLX_TRANSPARENT_TYPE_EXT 0x23
+#define GLX_TRANSPARENT_INDEX_VALUE_EXT 0x24
+#define GLX_TRANSPARENT_RED_VALUE_EXT 0x25
+#define GLX_TRANSPARENT_GREEN_VALUE_EXT 0x26
+#define GLX_TRANSPARENT_BLUE_VALUE_EXT 0x27
+#define GLX_TRANSPARENT_ALPHA_VALUE_EXT 0x28
+#define GLX_NONE_EXT 0x8000
+#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_TRANSPARENT_RGB_EXT 0x8008
+#define GLX_TRANSPARENT_INDEX_EXT 0x8009
+
+#define GLXEW_EXT_visual_info GLXEW_GET_VAR(__GLXEW_EXT_visual_info)
+
+#endif /* GLX_EXT_visual_info */
+
+/* ------------------------- GLX_EXT_visual_rating ------------------------- */
+
+#ifndef GLX_EXT_visual_rating
+#define GLX_EXT_visual_rating 1
+
+#define GLX_VISUAL_CAVEAT_EXT 0x20
+#define GLX_SLOW_VISUAL_EXT 0x8001
+#define GLX_NON_CONFORMANT_VISUAL_EXT 0x800D
+
+#define GLXEW_EXT_visual_rating GLXEW_GET_VAR(__GLXEW_EXT_visual_rating)
+
+#endif /* GLX_EXT_visual_rating */
+
+/* -------------------------- GLX_INTEL_swap_event ------------------------- */
+
+#ifndef GLX_INTEL_swap_event
+#define GLX_INTEL_swap_event 1
+
+#define GLX_EXCHANGE_COMPLETE_INTEL 0x8180
+#define GLX_COPY_COMPLETE_INTEL 0x8181
+#define GLX_FLIP_COMPLETE_INTEL 0x8182
+#define GLX_BUFFER_SWAP_COMPLETE_INTEL_MASK 0x04000000
+
+#define GLXEW_INTEL_swap_event GLXEW_GET_VAR(__GLXEW_INTEL_swap_event)
+
+#endif /* GLX_INTEL_swap_event */
+
+/* -------------------------- GLX_MESA_agp_offset -------------------------- */
+
+#ifndef GLX_MESA_agp_offset
+#define GLX_MESA_agp_offset 1
+
+typedef unsigned int ( * PFNGLXGETAGPOFFSETMESAPROC) (const void* pointer);
+
+#define glXGetAGPOffsetMESA GLXEW_GET_FUN(__glewXGetAGPOffsetMESA)
+
+#define GLXEW_MESA_agp_offset GLXEW_GET_VAR(__GLXEW_MESA_agp_offset)
+
+#endif /* GLX_MESA_agp_offset */
+
+/* ------------------------ GLX_MESA_copy_sub_buffer ----------------------- */
+
+#ifndef GLX_MESA_copy_sub_buffer
+#define GLX_MESA_copy_sub_buffer 1
+
+typedef void ( * PFNGLXCOPYSUBBUFFERMESAPROC) (Display* dpy, GLXDrawable drawable, int x, int y, int width, int height);
+
+#define glXCopySubBufferMESA GLXEW_GET_FUN(__glewXCopySubBufferMESA)
+
+#define GLXEW_MESA_copy_sub_buffer GLXEW_GET_VAR(__GLXEW_MESA_copy_sub_buffer)
+
+#endif /* GLX_MESA_copy_sub_buffer */
+
+/* ------------------------ GLX_MESA_pixmap_colormap ----------------------- */
+
+#ifndef GLX_MESA_pixmap_colormap
+#define GLX_MESA_pixmap_colormap 1
+
+typedef GLXPixmap ( * PFNGLXCREATEGLXPIXMAPMESAPROC) (Display* dpy, XVisualInfo *visual, Pixmap pixmap, Colormap cmap);
+
+#define glXCreateGLXPixmapMESA GLXEW_GET_FUN(__glewXCreateGLXPixmapMESA)
+
+#define GLXEW_MESA_pixmap_colormap GLXEW_GET_VAR(__GLXEW_MESA_pixmap_colormap)
+
+#endif /* GLX_MESA_pixmap_colormap */
+
+/* ------------------------ GLX_MESA_release_buffers ----------------------- */
+
+#ifndef GLX_MESA_release_buffers
+#define GLX_MESA_release_buffers 1
+
+typedef Bool ( * PFNGLXRELEASEBUFFERSMESAPROC) (Display* dpy, GLXDrawable d);
+
+#define glXReleaseBuffersMESA GLXEW_GET_FUN(__glewXReleaseBuffersMESA)
+
+#define GLXEW_MESA_release_buffers GLXEW_GET_VAR(__GLXEW_MESA_release_buffers)
+
+#endif /* GLX_MESA_release_buffers */
+
+/* ------------------------- GLX_MESA_set_3dfx_mode ------------------------ */
+
+#ifndef GLX_MESA_set_3dfx_mode
+#define GLX_MESA_set_3dfx_mode 1
+
+#define GLX_3DFX_WINDOW_MODE_MESA 0x1
+#define GLX_3DFX_FULLSCREEN_MODE_MESA 0x2
+
+typedef GLboolean ( * PFNGLXSET3DFXMODEMESAPROC) (GLint mode);
+
+#define glXSet3DfxModeMESA GLXEW_GET_FUN(__glewXSet3DfxModeMESA)
+
+#define GLXEW_MESA_set_3dfx_mode GLXEW_GET_VAR(__GLXEW_MESA_set_3dfx_mode)
+
+#endif /* GLX_MESA_set_3dfx_mode */
+
+/* --------------------------- GLX_NV_copy_image --------------------------- */
+
+#ifndef GLX_NV_copy_image
+#define GLX_NV_copy_image 1
+
+typedef void ( * PFNGLXCOPYIMAGESUBDATANVPROC) (Display *dpy, GLXContext srcCtx, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLXContext dstCtx, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);
+
+#define glXCopyImageSubDataNV GLXEW_GET_FUN(__glewXCopyImageSubDataNV)
+
+#define GLXEW_NV_copy_image GLXEW_GET_VAR(__GLXEW_NV_copy_image)
+
+#endif /* GLX_NV_copy_image */
+
+/* -------------------------- GLX_NV_float_buffer -------------------------- */
+
+#ifndef GLX_NV_float_buffer
+#define GLX_NV_float_buffer 1
+
+#define GLX_FLOAT_COMPONENTS_NV 0x20B0
+
+#define GLXEW_NV_float_buffer GLXEW_GET_VAR(__GLXEW_NV_float_buffer)
+
+#endif /* GLX_NV_float_buffer */
+
+/* -------------------------- GLX_NV_present_video ------------------------- */
+
+#ifndef GLX_NV_present_video
+#define GLX_NV_present_video 1
+
+#define GLX_NUM_VIDEO_SLOTS_NV 0x20F0
+
+typedef int ( * PFNGLXBINDVIDEODEVICENVPROC) (Display* dpy, unsigned int video_slot, unsigned int video_device, const int *attrib_list);
+typedef unsigned int* ( * PFNGLXENUMERATEVIDEODEVICESNVPROC) (Display *dpy, int screen, int *nelements);
+
+#define glXBindVideoDeviceNV GLXEW_GET_FUN(__glewXBindVideoDeviceNV)
+#define glXEnumerateVideoDevicesNV GLXEW_GET_FUN(__glewXEnumerateVideoDevicesNV)
+
+#define GLXEW_NV_present_video GLXEW_GET_VAR(__GLXEW_NV_present_video)
+
+#endif /* GLX_NV_present_video */
+
+/* --------------------------- GLX_NV_swap_group --------------------------- */
+
+#ifndef GLX_NV_swap_group
+#define GLX_NV_swap_group 1
+
+typedef Bool ( * PFNGLXBINDSWAPBARRIERNVPROC) (Display* dpy, GLuint group, GLuint barrier);
+typedef Bool ( * PFNGLXJOINSWAPGROUPNVPROC) (Display* dpy, GLXDrawable drawable, GLuint group);
+typedef Bool ( * PFNGLXQUERYFRAMECOUNTNVPROC) (Display* dpy, int screen, GLuint *count);
+typedef Bool ( * PFNGLXQUERYMAXSWAPGROUPSNVPROC) (Display* dpy, int screen, GLuint *maxGroups, GLuint *maxBarriers);
+typedef Bool ( * PFNGLXQUERYSWAPGROUPNVPROC) (Display* dpy, GLXDrawable drawable, GLuint *group, GLuint *barrier);
+typedef Bool ( * PFNGLXRESETFRAMECOUNTNVPROC) (Display* dpy, int screen);
+
+#define glXBindSwapBarrierNV GLXEW_GET_FUN(__glewXBindSwapBarrierNV)
+#define glXJoinSwapGroupNV GLXEW_GET_FUN(__glewXJoinSwapGroupNV)
+#define glXQueryFrameCountNV GLXEW_GET_FUN(__glewXQueryFrameCountNV)
+#define glXQueryMaxSwapGroupsNV GLXEW_GET_FUN(__glewXQueryMaxSwapGroupsNV)
+#define glXQuerySwapGroupNV GLXEW_GET_FUN(__glewXQuerySwapGroupNV)
+#define glXResetFrameCountNV GLXEW_GET_FUN(__glewXResetFrameCountNV)
+
+#define GLXEW_NV_swap_group GLXEW_GET_VAR(__GLXEW_NV_swap_group)
+
+#endif /* GLX_NV_swap_group */
+
+/* ----------------------- GLX_NV_vertex_array_range ----------------------- */
+
+#ifndef GLX_NV_vertex_array_range
+#define GLX_NV_vertex_array_range 1
+
+typedef void * ( * PFNGLXALLOCATEMEMORYNVPROC) (GLsizei size, GLfloat readFrequency, GLfloat writeFrequency, GLfloat priority);
+typedef void ( * PFNGLXFREEMEMORYNVPROC) (void *pointer);
+
+#define glXAllocateMemoryNV GLXEW_GET_FUN(__glewXAllocateMemoryNV)
+#define glXFreeMemoryNV GLXEW_GET_FUN(__glewXFreeMemoryNV)
+
+#define GLXEW_NV_vertex_array_range GLXEW_GET_VAR(__GLXEW_NV_vertex_array_range)
+
+#endif /* GLX_NV_vertex_array_range */
+
+/* -------------------------- GLX_NV_video_output -------------------------- */
+
+#ifndef GLX_NV_video_output
+#define GLX_NV_video_output 1
+
+#define GLX_VIDEO_OUT_COLOR_NV 0x20C3
+#define GLX_VIDEO_OUT_ALPHA_NV 0x20C4
+#define GLX_VIDEO_OUT_DEPTH_NV 0x20C5
+#define GLX_VIDEO_OUT_COLOR_AND_ALPHA_NV 0x20C6
+#define GLX_VIDEO_OUT_COLOR_AND_DEPTH_NV 0x20C7
+#define GLX_VIDEO_OUT_FRAME_NV 0x20C8
+#define GLX_VIDEO_OUT_FIELD_1_NV 0x20C9
+#define GLX_VIDEO_OUT_FIELD_2_NV 0x20CA
+#define GLX_VIDEO_OUT_STACKED_FIELDS_1_2_NV 0x20CB
+#define GLX_VIDEO_OUT_STACKED_FIELDS_2_1_NV 0x20CC
+
+typedef int ( * PFNGLXBINDVIDEOIMAGENVPROC) (Display* dpy, GLXVideoDeviceNV VideoDevice, GLXPbuffer pbuf, int iVideoBuffer);
+typedef int ( * PFNGLXGETVIDEODEVICENVPROC) (Display* dpy, int screen, int numVideoDevices, GLXVideoDeviceNV *pVideoDevice);
+typedef int ( * PFNGLXGETVIDEOINFONVPROC) (Display* dpy, int screen, GLXVideoDeviceNV VideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo);
+typedef int ( * PFNGLXRELEASEVIDEODEVICENVPROC) (Display* dpy, int screen, GLXVideoDeviceNV VideoDevice);
+typedef int ( * PFNGLXRELEASEVIDEOIMAGENVPROC) (Display* dpy, GLXPbuffer pbuf);
+typedef int ( * PFNGLXSENDPBUFFERTOVIDEONVPROC) (Display* dpy, GLXPbuffer pbuf, int iBufferType, unsigned long *pulCounterPbuffer, GLboolean bBlock);
+
+#define glXBindVideoImageNV GLXEW_GET_FUN(__glewXBindVideoImageNV)
+#define glXGetVideoDeviceNV GLXEW_GET_FUN(__glewXGetVideoDeviceNV)
+#define glXGetVideoInfoNV GLXEW_GET_FUN(__glewXGetVideoInfoNV)
+#define glXReleaseVideoDeviceNV GLXEW_GET_FUN(__glewXReleaseVideoDeviceNV)
+#define glXReleaseVideoImageNV GLXEW_GET_FUN(__glewXReleaseVideoImageNV)
+#define glXSendPbufferToVideoNV GLXEW_GET_FUN(__glewXSendPbufferToVideoNV)
+
+#define GLXEW_NV_video_output GLXEW_GET_VAR(__GLXEW_NV_video_output)
+
+#endif /* GLX_NV_video_output */
+
+/* -------------------------- GLX_OML_swap_method -------------------------- */
+
+#ifndef GLX_OML_swap_method
+#define GLX_OML_swap_method 1
+
+#define GLX_SWAP_METHOD_OML 0x8060
+#define GLX_SWAP_EXCHANGE_OML 0x8061
+#define GLX_SWAP_COPY_OML 0x8062
+#define GLX_SWAP_UNDEFINED_OML 0x8063
+
+#define GLXEW_OML_swap_method GLXEW_GET_VAR(__GLXEW_OML_swap_method)
+
+#endif /* GLX_OML_swap_method */
+
+/* -------------------------- GLX_OML_sync_control ------------------------- */
+
+#if !defined(GLX_OML_sync_control) && defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
+#include <inttypes.h>
+#define GLX_OML_sync_control 1
+
+typedef Bool ( * PFNGLXGETMSCRATEOMLPROC) (Display* dpy, GLXDrawable drawable, int32_t* numerator, int32_t* denominator);
+typedef Bool ( * PFNGLXGETSYNCVALUESOMLPROC) (Display* dpy, GLXDrawable drawable, int64_t* ust, int64_t* msc, int64_t* sbc);
+typedef int64_t ( * PFNGLXSWAPBUFFERSMSCOMLPROC) (Display* dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder);
+typedef Bool ( * PFNGLXWAITFORMSCOMLPROC) (Display* dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder, int64_t* ust, int64_t* msc, int64_t* sbc);
+typedef Bool ( * PFNGLXWAITFORSBCOMLPROC) (Display* dpy, GLXDrawable drawable, int64_t target_sbc, int64_t* ust, int64_t* msc, int64_t* sbc);
+
+#define glXGetMscRateOML GLXEW_GET_FUN(__glewXGetMscRateOML)
+#define glXGetSyncValuesOML GLXEW_GET_FUN(__glewXGetSyncValuesOML)
+#define glXSwapBuffersMscOML GLXEW_GET_FUN(__glewXSwapBuffersMscOML)
+#define glXWaitForMscOML GLXEW_GET_FUN(__glewXWaitForMscOML)
+#define glXWaitForSbcOML GLXEW_GET_FUN(__glewXWaitForSbcOML)
+
+#define GLXEW_OML_sync_control GLXEW_GET_VAR(__GLXEW_OML_sync_control)
+
+#endif /* GLX_OML_sync_control */
+
+/* ------------------------ GLX_SGIS_blended_overlay ----------------------- */
+
+#ifndef GLX_SGIS_blended_overlay
+#define GLX_SGIS_blended_overlay 1
+
+#define GLX_BLENDED_RGBA_SGIS 0x8025
+
+#define GLXEW_SGIS_blended_overlay GLXEW_GET_VAR(__GLXEW_SGIS_blended_overlay)
+
+#endif /* GLX_SGIS_blended_overlay */
+
+/* -------------------------- GLX_SGIS_color_range ------------------------- */
+
+#ifndef GLX_SGIS_color_range
+#define GLX_SGIS_color_range 1
+
+#define GLX_MIN_RED_SGIS 0
+#define GLX_MAX_GREEN_SGIS 0
+#define GLX_MIN_BLUE_SGIS 0
+#define GLX_MAX_ALPHA_SGIS 0
+#define GLX_MIN_GREEN_SGIS 0
+#define GLX_MIN_ALPHA_SGIS 0
+#define GLX_MAX_RED_SGIS 0
+#define GLX_EXTENDED_RANGE_SGIS 0
+#define GLX_MAX_BLUE_SGIS 0
+
+#define GLXEW_SGIS_color_range GLXEW_GET_VAR(__GLXEW_SGIS_color_range)
+
+#endif /* GLX_SGIS_color_range */
+
+/* -------------------------- GLX_SGIS_multisample ------------------------- */
+
+#ifndef GLX_SGIS_multisample
+#define GLX_SGIS_multisample 1
+
+#define GLX_SAMPLE_BUFFERS_SGIS 100000
+#define GLX_SAMPLES_SGIS 100001
+
+#define GLXEW_SGIS_multisample GLXEW_GET_VAR(__GLXEW_SGIS_multisample)
+
+#endif /* GLX_SGIS_multisample */
+
+/* ---------------------- GLX_SGIS_shared_multisample ---------------------- */
+
+#ifndef GLX_SGIS_shared_multisample
+#define GLX_SGIS_shared_multisample 1
+
+#define GLX_MULTISAMPLE_SUB_RECT_WIDTH_SGIS 0x8026
+#define GLX_MULTISAMPLE_SUB_RECT_HEIGHT_SGIS 0x8027
+
+#define GLXEW_SGIS_shared_multisample GLXEW_GET_VAR(__GLXEW_SGIS_shared_multisample)
+
+#endif /* GLX_SGIS_shared_multisample */
+
+/* --------------------------- GLX_SGIX_fbconfig --------------------------- */
+
+#ifndef GLX_SGIX_fbconfig
+#define GLX_SGIX_fbconfig 1
+
+#define GLX_WINDOW_BIT_SGIX 0x00000001
+#define GLX_RGBA_BIT_SGIX 0x00000001
+#define GLX_PIXMAP_BIT_SGIX 0x00000002
+#define GLX_COLOR_INDEX_BIT_SGIX 0x00000002
+#define GLX_SCREEN_EXT 0x800C
+#define GLX_DRAWABLE_TYPE_SGIX 0x8010
+#define GLX_RENDER_TYPE_SGIX 0x8011
+#define GLX_X_RENDERABLE_SGIX 0x8012
+#define GLX_FBCONFIG_ID_SGIX 0x8013
+#define GLX_RGBA_TYPE_SGIX 0x8014
+#define GLX_COLOR_INDEX_TYPE_SGIX 0x8015
+
+typedef XID GLXFBConfigIDSGIX;
+typedef struct __GLXFBConfigRec *GLXFBConfigSGIX;
+
+typedef GLXFBConfigSGIX* ( * PFNGLXCHOOSEFBCONFIGSGIXPROC) (Display *dpy, int screen, const int *attrib_list, int *nelements);
+typedef GLXContext ( * PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC) (Display* dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct);
+typedef GLXPixmap ( * PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC) (Display* dpy, GLXFBConfig config, Pixmap pixmap);
+typedef int ( * PFNGLXGETFBCONFIGATTRIBSGIXPROC) (Display* dpy, GLXFBConfigSGIX config, int attribute, int *value);
+typedef GLXFBConfigSGIX ( * PFNGLXGETFBCONFIGFROMVISUALSGIXPROC) (Display* dpy, XVisualInfo *vis);
+typedef XVisualInfo* ( * PFNGLXGETVISUALFROMFBCONFIGSGIXPROC) (Display *dpy, GLXFBConfig config);
+
+#define glXChooseFBConfigSGIX GLXEW_GET_FUN(__glewXChooseFBConfigSGIX)
+#define glXCreateContextWithConfigSGIX GLXEW_GET_FUN(__glewXCreateContextWithConfigSGIX)
+#define glXCreateGLXPixmapWithConfigSGIX GLXEW_GET_FUN(__glewXCreateGLXPixmapWithConfigSGIX)
+#define glXGetFBConfigAttribSGIX GLXEW_GET_FUN(__glewXGetFBConfigAttribSGIX)
+#define glXGetFBConfigFromVisualSGIX GLXEW_GET_FUN(__glewXGetFBConfigFromVisualSGIX)
+#define glXGetVisualFromFBConfigSGIX GLXEW_GET_FUN(__glewXGetVisualFromFBConfigSGIX)
+
+#define GLXEW_SGIX_fbconfig GLXEW_GET_VAR(__GLXEW_SGIX_fbconfig)
+
+#endif /* GLX_SGIX_fbconfig */
+
+/* --------------------------- GLX_SGIX_hyperpipe -------------------------- */
+
+#ifndef GLX_SGIX_hyperpipe
+#define GLX_SGIX_hyperpipe 1
+
+#define GLX_HYPERPIPE_DISPLAY_PIPE_SGIX 0x00000001
+#define GLX_PIPE_RECT_SGIX 0x00000001
+#define GLX_PIPE_RECT_LIMITS_SGIX 0x00000002
+#define GLX_HYPERPIPE_RENDER_PIPE_SGIX 0x00000002
+#define GLX_HYPERPIPE_STEREO_SGIX 0x00000003
+#define GLX_HYPERPIPE_PIXEL_AVERAGE_SGIX 0x00000004
+#define GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX 80
+#define GLX_BAD_HYPERPIPE_CONFIG_SGIX 91
+#define GLX_BAD_HYPERPIPE_SGIX 92
+#define GLX_HYPERPIPE_ID_SGIX 0x8030
+
+typedef struct {
+ char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX];
+ int networkId;
+} GLXHyperpipeNetworkSGIX;
+typedef struct {
+ char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX];
+ int XOrigin;
+ int YOrigin;
+ int maxHeight;
+ int maxWidth;
+} GLXPipeRectLimits;
+typedef struct {
+ char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX];
+ int channel;
+ unsigned int participationType;
+ int timeSlice;
+} GLXHyperpipeConfigSGIX;
+typedef struct {
+ char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX];
+ int srcXOrigin;
+ int srcYOrigin;
+ int srcWidth;
+ int srcHeight;
+ int destXOrigin;
+ int destYOrigin;
+ int destWidth;
+ int destHeight;
+} GLXPipeRect;
+
+typedef int ( * PFNGLXBINDHYPERPIPESGIXPROC) (Display *dpy, int hpId);
+typedef int ( * PFNGLXDESTROYHYPERPIPECONFIGSGIXPROC) (Display *dpy, int hpId);
+typedef int ( * PFNGLXHYPERPIPEATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *attribList);
+typedef int ( * PFNGLXHYPERPIPECONFIGSGIXPROC) (Display *dpy, int networkId, int npipes, GLXHyperpipeConfigSGIX *cfg, int *hpId);
+typedef int ( * PFNGLXQUERYHYPERPIPEATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *returnAttribList);
+typedef int ( * PFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC) (Display *dpy, int timeSlice, int attrib, int size, void *attribList, void *returnAttribList);
+typedef GLXHyperpipeConfigSGIX * ( * PFNGLXQUERYHYPERPIPECONFIGSGIXPROC) (Display *dpy, int hpId, int *npipes);
+typedef GLXHyperpipeNetworkSGIX * ( * PFNGLXQUERYHYPERPIPENETWORKSGIXPROC) (Display *dpy, int *npipes);
+
+#define glXBindHyperpipeSGIX GLXEW_GET_FUN(__glewXBindHyperpipeSGIX)
+#define glXDestroyHyperpipeConfigSGIX GLXEW_GET_FUN(__glewXDestroyHyperpipeConfigSGIX)
+#define glXHyperpipeAttribSGIX GLXEW_GET_FUN(__glewXHyperpipeAttribSGIX)
+#define glXHyperpipeConfigSGIX GLXEW_GET_FUN(__glewXHyperpipeConfigSGIX)
+#define glXQueryHyperpipeAttribSGIX GLXEW_GET_FUN(__glewXQueryHyperpipeAttribSGIX)
+#define glXQueryHyperpipeBestAttribSGIX GLXEW_GET_FUN(__glewXQueryHyperpipeBestAttribSGIX)
+#define glXQueryHyperpipeConfigSGIX GLXEW_GET_FUN(__glewXQueryHyperpipeConfigSGIX)
+#define glXQueryHyperpipeNetworkSGIX GLXEW_GET_FUN(__glewXQueryHyperpipeNetworkSGIX)
+
+#define GLXEW_SGIX_hyperpipe GLXEW_GET_VAR(__GLXEW_SGIX_hyperpipe)
+
+#endif /* GLX_SGIX_hyperpipe */
+
+/* ---------------------------- GLX_SGIX_pbuffer --------------------------- */
+
+#ifndef GLX_SGIX_pbuffer
+#define GLX_SGIX_pbuffer 1
+
+#define GLX_FRONT_LEFT_BUFFER_BIT_SGIX 0x00000001
+#define GLX_FRONT_RIGHT_BUFFER_BIT_SGIX 0x00000002
+#define GLX_PBUFFER_BIT_SGIX 0x00000004
+#define GLX_BACK_LEFT_BUFFER_BIT_SGIX 0x00000004
+#define GLX_BACK_RIGHT_BUFFER_BIT_SGIX 0x00000008
+#define GLX_AUX_BUFFERS_BIT_SGIX 0x00000010
+#define GLX_DEPTH_BUFFER_BIT_SGIX 0x00000020
+#define GLX_STENCIL_BUFFER_BIT_SGIX 0x00000040
+#define GLX_ACCUM_BUFFER_BIT_SGIX 0x00000080
+#define GLX_SAMPLE_BUFFERS_BIT_SGIX 0x00000100
+#define GLX_MAX_PBUFFER_WIDTH_SGIX 0x8016
+#define GLX_MAX_PBUFFER_HEIGHT_SGIX 0x8017
+#define GLX_MAX_PBUFFER_PIXELS_SGIX 0x8018
+#define GLX_OPTIMAL_PBUFFER_WIDTH_SGIX 0x8019
+#define GLX_OPTIMAL_PBUFFER_HEIGHT_SGIX 0x801A
+#define GLX_PRESERVED_CONTENTS_SGIX 0x801B
+#define GLX_LARGEST_PBUFFER_SGIX 0x801C
+#define GLX_WIDTH_SGIX 0x801D
+#define GLX_HEIGHT_SGIX 0x801E
+#define GLX_EVENT_MASK_SGIX 0x801F
+#define GLX_DAMAGED_SGIX 0x8020
+#define GLX_SAVED_SGIX 0x8021
+#define GLX_WINDOW_SGIX 0x8022
+#define GLX_PBUFFER_SGIX 0x8023
+#define GLX_BUFFER_CLOBBER_MASK_SGIX 0x08000000
+
+typedef XID GLXPbufferSGIX;
+typedef struct { int type; unsigned long serial; Bool send_event; Display *display; GLXDrawable drawable; int event_type; int draw_type; unsigned int mask; int x, y; int width, height; int count; } GLXBufferClobberEventSGIX;
+
+typedef GLXPbuffer ( * PFNGLXCREATEGLXPBUFFERSGIXPROC) (Display* dpy, GLXFBConfig config, unsigned int width, unsigned int height, int *attrib_list);
+typedef void ( * PFNGLXDESTROYGLXPBUFFERSGIXPROC) (Display* dpy, GLXPbuffer pbuf);
+typedef void ( * PFNGLXGETSELECTEDEVENTSGIXPROC) (Display* dpy, GLXDrawable drawable, unsigned long *mask);
+typedef void ( * PFNGLXQUERYGLXPBUFFERSGIXPROC) (Display* dpy, GLXPbuffer pbuf, int attribute, unsigned int *value);
+typedef void ( * PFNGLXSELECTEVENTSGIXPROC) (Display* dpy, GLXDrawable drawable, unsigned long mask);
+
+#define glXCreateGLXPbufferSGIX GLXEW_GET_FUN(__glewXCreateGLXPbufferSGIX)
+#define glXDestroyGLXPbufferSGIX GLXEW_GET_FUN(__glewXDestroyGLXPbufferSGIX)
+#define glXGetSelectedEventSGIX GLXEW_GET_FUN(__glewXGetSelectedEventSGIX)
+#define glXQueryGLXPbufferSGIX GLXEW_GET_FUN(__glewXQueryGLXPbufferSGIX)
+#define glXSelectEventSGIX GLXEW_GET_FUN(__glewXSelectEventSGIX)
+
+#define GLXEW_SGIX_pbuffer GLXEW_GET_VAR(__GLXEW_SGIX_pbuffer)
+
+#endif /* GLX_SGIX_pbuffer */
+
+/* ------------------------- GLX_SGIX_swap_barrier ------------------------- */
+
+#ifndef GLX_SGIX_swap_barrier
+#define GLX_SGIX_swap_barrier 1
+
+typedef void ( * PFNGLXBINDSWAPBARRIERSGIXPROC) (Display *dpy, GLXDrawable drawable, int barrier);
+typedef Bool ( * PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC) (Display *dpy, int screen, int *max);
+
+#define glXBindSwapBarrierSGIX GLXEW_GET_FUN(__glewXBindSwapBarrierSGIX)
+#define glXQueryMaxSwapBarriersSGIX GLXEW_GET_FUN(__glewXQueryMaxSwapBarriersSGIX)
+
+#define GLXEW_SGIX_swap_barrier GLXEW_GET_VAR(__GLXEW_SGIX_swap_barrier)
+
+#endif /* GLX_SGIX_swap_barrier */
+
+/* -------------------------- GLX_SGIX_swap_group -------------------------- */
+
+#ifndef GLX_SGIX_swap_group
+#define GLX_SGIX_swap_group 1
+
+typedef void ( * PFNGLXJOINSWAPGROUPSGIXPROC) (Display *dpy, GLXDrawable drawable, GLXDrawable member);
+
+#define glXJoinSwapGroupSGIX GLXEW_GET_FUN(__glewXJoinSwapGroupSGIX)
+
+#define GLXEW_SGIX_swap_group GLXEW_GET_VAR(__GLXEW_SGIX_swap_group)
+
+#endif /* GLX_SGIX_swap_group */
+
+/* ------------------------- GLX_SGIX_video_resize ------------------------- */
+
+#ifndef GLX_SGIX_video_resize
+#define GLX_SGIX_video_resize 1
+
+#define GLX_SYNC_FRAME_SGIX 0x00000000
+#define GLX_SYNC_SWAP_SGIX 0x00000001
+
+typedef int ( * PFNGLXBINDCHANNELTOWINDOWSGIXPROC) (Display* display, int screen, int channel, Window window);
+typedef int ( * PFNGLXCHANNELRECTSGIXPROC) (Display* display, int screen, int channel, int x, int y, int w, int h);
+typedef int ( * PFNGLXCHANNELRECTSYNCSGIXPROC) (Display* display, int screen, int channel, GLenum synctype);
+typedef int ( * PFNGLXQUERYCHANNELDELTASSGIXPROC) (Display* display, int screen, int channel, int *x, int *y, int *w, int *h);
+typedef int ( * PFNGLXQUERYCHANNELRECTSGIXPROC) (Display* display, int screen, int channel, int *dx, int *dy, int *dw, int *dh);
+
+#define glXBindChannelToWindowSGIX GLXEW_GET_FUN(__glewXBindChannelToWindowSGIX)
+#define glXChannelRectSGIX GLXEW_GET_FUN(__glewXChannelRectSGIX)
+#define glXChannelRectSyncSGIX GLXEW_GET_FUN(__glewXChannelRectSyncSGIX)
+#define glXQueryChannelDeltasSGIX GLXEW_GET_FUN(__glewXQueryChannelDeltasSGIX)
+#define glXQueryChannelRectSGIX GLXEW_GET_FUN(__glewXQueryChannelRectSGIX)
+
+#define GLXEW_SGIX_video_resize GLXEW_GET_VAR(__GLXEW_SGIX_video_resize)
+
+#endif /* GLX_SGIX_video_resize */
+
+/* ---------------------- GLX_SGIX_visual_select_group --------------------- */
+
+#ifndef GLX_SGIX_visual_select_group
+#define GLX_SGIX_visual_select_group 1
+
+#define GLX_VISUAL_SELECT_GROUP_SGIX 0x8028
+
+#define GLXEW_SGIX_visual_select_group GLXEW_GET_VAR(__GLXEW_SGIX_visual_select_group)
+
+#endif /* GLX_SGIX_visual_select_group */
+
+/* ---------------------------- GLX_SGI_cushion ---------------------------- */
+
+#ifndef GLX_SGI_cushion
+#define GLX_SGI_cushion 1
+
+typedef void ( * PFNGLXCUSHIONSGIPROC) (Display* dpy, Window window, float cushion);
+
+#define glXCushionSGI GLXEW_GET_FUN(__glewXCushionSGI)
+
+#define GLXEW_SGI_cushion GLXEW_GET_VAR(__GLXEW_SGI_cushion)
+
+#endif /* GLX_SGI_cushion */
+
+/* ----------------------- GLX_SGI_make_current_read ----------------------- */
+
+#ifndef GLX_SGI_make_current_read
+#define GLX_SGI_make_current_read 1
+
+typedef GLXDrawable ( * PFNGLXGETCURRENTREADDRAWABLESGIPROC) (void);
+typedef Bool ( * PFNGLXMAKECURRENTREADSGIPROC) (Display* dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
+
+#define glXGetCurrentReadDrawableSGI GLXEW_GET_FUN(__glewXGetCurrentReadDrawableSGI)
+#define glXMakeCurrentReadSGI GLXEW_GET_FUN(__glewXMakeCurrentReadSGI)
+
+#define GLXEW_SGI_make_current_read GLXEW_GET_VAR(__GLXEW_SGI_make_current_read)
+
+#endif /* GLX_SGI_make_current_read */
+
+/* -------------------------- GLX_SGI_swap_control ------------------------- */
+
+#ifndef GLX_SGI_swap_control
+#define GLX_SGI_swap_control 1
+
+typedef int ( * PFNGLXSWAPINTERVALSGIPROC) (int interval);
+
+#define glXSwapIntervalSGI GLXEW_GET_FUN(__glewXSwapIntervalSGI)
+
+#define GLXEW_SGI_swap_control GLXEW_GET_VAR(__GLXEW_SGI_swap_control)
+
+#endif /* GLX_SGI_swap_control */
+
+/* --------------------------- GLX_SGI_video_sync -------------------------- */
+
+#ifndef GLX_SGI_video_sync
+#define GLX_SGI_video_sync 1
+
+typedef int ( * PFNGLXGETVIDEOSYNCSGIPROC) (uint* count);
+typedef int ( * PFNGLXWAITVIDEOSYNCSGIPROC) (int divisor, int remainder, unsigned int* count);
+
+#define glXGetVideoSyncSGI GLXEW_GET_FUN(__glewXGetVideoSyncSGI)
+#define glXWaitVideoSyncSGI GLXEW_GET_FUN(__glewXWaitVideoSyncSGI)
+
+#define GLXEW_SGI_video_sync GLXEW_GET_VAR(__GLXEW_SGI_video_sync)
+
+#endif /* GLX_SGI_video_sync */
+
+/* --------------------- GLX_SUN_get_transparent_index --------------------- */
+
+#ifndef GLX_SUN_get_transparent_index
+#define GLX_SUN_get_transparent_index 1
+
+typedef Status ( * PFNGLXGETTRANSPARENTINDEXSUNPROC) (Display* dpy, Window overlay, Window underlay, unsigned long *pTransparentIndex);
+
+#define glXGetTransparentIndexSUN GLXEW_GET_FUN(__glewXGetTransparentIndexSUN)
+
+#define GLXEW_SUN_get_transparent_index GLXEW_GET_VAR(__GLXEW_SUN_get_transparent_index)
+
+#endif /* GLX_SUN_get_transparent_index */
+
+/* -------------------------- GLX_SUN_video_resize ------------------------- */
+
+#ifndef GLX_SUN_video_resize
+#define GLX_SUN_video_resize 1
+
+#define GLX_VIDEO_RESIZE_SUN 0x8171
+#define GL_VIDEO_RESIZE_COMPENSATION_SUN 0x85CD
+
+typedef int ( * PFNGLXGETVIDEORESIZESUNPROC) (Display* display, GLXDrawable window, float* factor);
+typedef int ( * PFNGLXVIDEORESIZESUNPROC) (Display* display, GLXDrawable window, float factor);
+
+#define glXGetVideoResizeSUN GLXEW_GET_FUN(__glewXGetVideoResizeSUN)
+#define glXVideoResizeSUN GLXEW_GET_FUN(__glewXVideoResizeSUN)
+
+#define GLXEW_SUN_video_resize GLXEW_GET_VAR(__GLXEW_SUN_video_resize)
+
+#endif /* GLX_SUN_video_resize */
+
+/* ------------------------------------------------------------------------- */
+
+#ifdef GLEW_MX
+#define GLXEW_EXPORT
+#else
+#define GLXEW_EXPORT extern
+#endif /* GLEW_MX */
+
+extern PFNGLXGETCURRENTDISPLAYPROC __glewXGetCurrentDisplay;
+
+extern PFNGLXCHOOSEFBCONFIGPROC __glewXChooseFBConfig;
+extern PFNGLXCREATENEWCONTEXTPROC __glewXCreateNewContext;
+extern PFNGLXCREATEPBUFFERPROC __glewXCreatePbuffer;
+extern PFNGLXCREATEPIXMAPPROC __glewXCreatePixmap;
+extern PFNGLXCREATEWINDOWPROC __glewXCreateWindow;
+extern PFNGLXDESTROYPBUFFERPROC __glewXDestroyPbuffer;
+extern PFNGLXDESTROYPIXMAPPROC __glewXDestroyPixmap;
+extern PFNGLXDESTROYWINDOWPROC __glewXDestroyWindow;
+extern PFNGLXGETCURRENTREADDRAWABLEPROC __glewXGetCurrentReadDrawable;
+extern PFNGLXGETFBCONFIGATTRIBPROC __glewXGetFBConfigAttrib;
+extern PFNGLXGETFBCONFIGSPROC __glewXGetFBConfigs;
+extern PFNGLXGETSELECTEDEVENTPROC __glewXGetSelectedEvent;
+extern PFNGLXGETVISUALFROMFBCONFIGPROC __glewXGetVisualFromFBConfig;
+extern PFNGLXMAKECONTEXTCURRENTPROC __glewXMakeContextCurrent;
+extern PFNGLXQUERYCONTEXTPROC __glewXQueryContext;
+extern PFNGLXQUERYDRAWABLEPROC __glewXQueryDrawable;
+extern PFNGLXSELECTEVENTPROC __glewXSelectEvent;
+
+extern PFNGLXCREATECONTEXTATTRIBSARBPROC __glewXCreateContextAttribsARB;
+
+extern PFNGLXBINDTEXIMAGEATIPROC __glewXBindTexImageATI;
+extern PFNGLXDRAWABLEATTRIBATIPROC __glewXDrawableAttribATI;
+extern PFNGLXRELEASETEXIMAGEATIPROC __glewXReleaseTexImageATI;
+
+extern PFNGLXFREECONTEXTEXTPROC __glewXFreeContextEXT;
+extern PFNGLXGETCONTEXTIDEXTPROC __glewXGetContextIDEXT;
+extern PFNGLXIMPORTCONTEXTEXTPROC __glewXImportContextEXT;
+extern PFNGLXQUERYCONTEXTINFOEXTPROC __glewXQueryContextInfoEXT;
+
+extern PFNGLXSWAPINTERVALEXTPROC __glewXSwapIntervalEXT;
+
+extern PFNGLXBINDTEXIMAGEEXTPROC __glewXBindTexImageEXT;
+extern PFNGLXRELEASETEXIMAGEEXTPROC __glewXReleaseTexImageEXT;
+
+extern PFNGLXGETAGPOFFSETMESAPROC __glewXGetAGPOffsetMESA;
+
+extern PFNGLXCOPYSUBBUFFERMESAPROC __glewXCopySubBufferMESA;
+
+extern PFNGLXCREATEGLXPIXMAPMESAPROC __glewXCreateGLXPixmapMESA;
+
+extern PFNGLXRELEASEBUFFERSMESAPROC __glewXReleaseBuffersMESA;
+
+extern PFNGLXSET3DFXMODEMESAPROC __glewXSet3DfxModeMESA;
+
+extern PFNGLXCOPYIMAGESUBDATANVPROC __glewXCopyImageSubDataNV;
+
+extern PFNGLXBINDVIDEODEVICENVPROC __glewXBindVideoDeviceNV;
+extern PFNGLXENUMERATEVIDEODEVICESNVPROC __glewXEnumerateVideoDevicesNV;
+
+extern PFNGLXBINDSWAPBARRIERNVPROC __glewXBindSwapBarrierNV;
+extern PFNGLXJOINSWAPGROUPNVPROC __glewXJoinSwapGroupNV;
+extern PFNGLXQUERYFRAMECOUNTNVPROC __glewXQueryFrameCountNV;
+extern PFNGLXQUERYMAXSWAPGROUPSNVPROC __glewXQueryMaxSwapGroupsNV;
+extern PFNGLXQUERYSWAPGROUPNVPROC __glewXQuerySwapGroupNV;
+extern PFNGLXRESETFRAMECOUNTNVPROC __glewXResetFrameCountNV;
+
+extern PFNGLXALLOCATEMEMORYNVPROC __glewXAllocateMemoryNV;
+extern PFNGLXFREEMEMORYNVPROC __glewXFreeMemoryNV;
+
+extern PFNGLXBINDVIDEOIMAGENVPROC __glewXBindVideoImageNV;
+extern PFNGLXGETVIDEODEVICENVPROC __glewXGetVideoDeviceNV;
+extern PFNGLXGETVIDEOINFONVPROC __glewXGetVideoInfoNV;
+extern PFNGLXRELEASEVIDEODEVICENVPROC __glewXReleaseVideoDeviceNV;
+extern PFNGLXRELEASEVIDEOIMAGENVPROC __glewXReleaseVideoImageNV;
+extern PFNGLXSENDPBUFFERTOVIDEONVPROC __glewXSendPbufferToVideoNV;
+
+#ifdef GLX_OML_sync_control
+extern PFNGLXGETMSCRATEOMLPROC __glewXGetMscRateOML;
+extern PFNGLXGETSYNCVALUESOMLPROC __glewXGetSyncValuesOML;
+extern PFNGLXSWAPBUFFERSMSCOMLPROC __glewXSwapBuffersMscOML;
+extern PFNGLXWAITFORMSCOMLPROC __glewXWaitForMscOML;
+extern PFNGLXWAITFORSBCOMLPROC __glewXWaitForSbcOML;
+#endif
+
+extern PFNGLXCHOOSEFBCONFIGSGIXPROC __glewXChooseFBConfigSGIX;
+extern PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC __glewXCreateContextWithConfigSGIX;
+extern PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC __glewXCreateGLXPixmapWithConfigSGIX;
+extern PFNGLXGETFBCONFIGATTRIBSGIXPROC __glewXGetFBConfigAttribSGIX;
+extern PFNGLXGETFBCONFIGFROMVISUALSGIXPROC __glewXGetFBConfigFromVisualSGIX;
+extern PFNGLXGETVISUALFROMFBCONFIGSGIXPROC __glewXGetVisualFromFBConfigSGIX;
+
+extern PFNGLXBINDHYPERPIPESGIXPROC __glewXBindHyperpipeSGIX;
+extern PFNGLXDESTROYHYPERPIPECONFIGSGIXPROC __glewXDestroyHyperpipeConfigSGIX;
+extern PFNGLXHYPERPIPEATTRIBSGIXPROC __glewXHyperpipeAttribSGIX;
+extern PFNGLXHYPERPIPECONFIGSGIXPROC __glewXHyperpipeConfigSGIX;
+extern PFNGLXQUERYHYPERPIPEATTRIBSGIXPROC __glewXQueryHyperpipeAttribSGIX;
+extern PFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC __glewXQueryHyperpipeBestAttribSGIX;
+extern PFNGLXQUERYHYPERPIPECONFIGSGIXPROC __glewXQueryHyperpipeConfigSGIX;
+extern PFNGLXQUERYHYPERPIPENETWORKSGIXPROC __glewXQueryHyperpipeNetworkSGIX;
+
+extern PFNGLXCREATEGLXPBUFFERSGIXPROC __glewXCreateGLXPbufferSGIX;
+extern PFNGLXDESTROYGLXPBUFFERSGIXPROC __glewXDestroyGLXPbufferSGIX;
+extern PFNGLXGETSELECTEDEVENTSGIXPROC __glewXGetSelectedEventSGIX;
+extern PFNGLXQUERYGLXPBUFFERSGIXPROC __glewXQueryGLXPbufferSGIX;
+extern PFNGLXSELECTEVENTSGIXPROC __glewXSelectEventSGIX;
+
+extern PFNGLXBINDSWAPBARRIERSGIXPROC __glewXBindSwapBarrierSGIX;
+extern PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC __glewXQueryMaxSwapBarriersSGIX;
+
+extern PFNGLXJOINSWAPGROUPSGIXPROC __glewXJoinSwapGroupSGIX;
+
+extern PFNGLXBINDCHANNELTOWINDOWSGIXPROC __glewXBindChannelToWindowSGIX;
+extern PFNGLXCHANNELRECTSGIXPROC __glewXChannelRectSGIX;
+extern PFNGLXCHANNELRECTSYNCSGIXPROC __glewXChannelRectSyncSGIX;
+extern PFNGLXQUERYCHANNELDELTASSGIXPROC __glewXQueryChannelDeltasSGIX;
+extern PFNGLXQUERYCHANNELRECTSGIXPROC __glewXQueryChannelRectSGIX;
+
+extern PFNGLXCUSHIONSGIPROC __glewXCushionSGI;
+
+extern PFNGLXGETCURRENTREADDRAWABLESGIPROC __glewXGetCurrentReadDrawableSGI;
+extern PFNGLXMAKECURRENTREADSGIPROC __glewXMakeCurrentReadSGI;
+
+extern PFNGLXSWAPINTERVALSGIPROC __glewXSwapIntervalSGI;
+
+extern PFNGLXGETVIDEOSYNCSGIPROC __glewXGetVideoSyncSGI;
+extern PFNGLXWAITVIDEOSYNCSGIPROC __glewXWaitVideoSyncSGI;
+
+extern PFNGLXGETTRANSPARENTINDEXSUNPROC __glewXGetTransparentIndexSUN;
+
+extern PFNGLXGETVIDEORESIZESUNPROC __glewXGetVideoResizeSUN;
+extern PFNGLXVIDEORESIZESUNPROC __glewXVideoResizeSUN;
+
+#if defined(GLEW_MX)
+struct GLXEWContextStruct
+{
+#endif /* GLEW_MX */
+
+GLXEW_EXPORT GLboolean __GLXEW_VERSION_1_0;
+GLXEW_EXPORT GLboolean __GLXEW_VERSION_1_1;
+GLXEW_EXPORT GLboolean __GLXEW_VERSION_1_2;
+GLXEW_EXPORT GLboolean __GLXEW_VERSION_1_3;
+GLXEW_EXPORT GLboolean __GLXEW_VERSION_1_4;
+GLXEW_EXPORT GLboolean __GLXEW_3DFX_multisample;
+GLXEW_EXPORT GLboolean __GLXEW_ARB_create_context;
+GLXEW_EXPORT GLboolean __GLXEW_ARB_create_context_profile;
+GLXEW_EXPORT GLboolean __GLXEW_ARB_fbconfig_float;
+GLXEW_EXPORT GLboolean __GLXEW_ARB_framebuffer_sRGB;
+GLXEW_EXPORT GLboolean __GLXEW_ARB_get_proc_address;
+GLXEW_EXPORT GLboolean __GLXEW_ARB_multisample;
+GLXEW_EXPORT GLboolean __GLXEW_ARB_vertex_buffer_object;
+GLXEW_EXPORT GLboolean __GLXEW_ATI_pixel_format_float;
+GLXEW_EXPORT GLboolean __GLXEW_ATI_render_texture;
+GLXEW_EXPORT GLboolean __GLXEW_EXT_fbconfig_packed_float;
+GLXEW_EXPORT GLboolean __GLXEW_EXT_framebuffer_sRGB;
+GLXEW_EXPORT GLboolean __GLXEW_EXT_import_context;
+GLXEW_EXPORT GLboolean __GLXEW_EXT_scene_marker;
+GLXEW_EXPORT GLboolean __GLXEW_EXT_swap_control;
+GLXEW_EXPORT GLboolean __GLXEW_EXT_texture_from_pixmap;
+GLXEW_EXPORT GLboolean __GLXEW_EXT_visual_info;
+GLXEW_EXPORT GLboolean __GLXEW_EXT_visual_rating;
+GLXEW_EXPORT GLboolean __GLXEW_INTEL_swap_event;
+GLXEW_EXPORT GLboolean __GLXEW_MESA_agp_offset;
+GLXEW_EXPORT GLboolean __GLXEW_MESA_copy_sub_buffer;
+GLXEW_EXPORT GLboolean __GLXEW_MESA_pixmap_colormap;
+GLXEW_EXPORT GLboolean __GLXEW_MESA_release_buffers;
+GLXEW_EXPORT GLboolean __GLXEW_MESA_set_3dfx_mode;
+GLXEW_EXPORT GLboolean __GLXEW_NV_copy_image;
+GLXEW_EXPORT GLboolean __GLXEW_NV_float_buffer;
+GLXEW_EXPORT GLboolean __GLXEW_NV_present_video;
+GLXEW_EXPORT GLboolean __GLXEW_NV_swap_group;
+GLXEW_EXPORT GLboolean __GLXEW_NV_vertex_array_range;
+GLXEW_EXPORT GLboolean __GLXEW_NV_video_output;
+GLXEW_EXPORT GLboolean __GLXEW_OML_swap_method;
+GLXEW_EXPORT GLboolean __GLXEW_OML_sync_control;
+GLXEW_EXPORT GLboolean __GLXEW_SGIS_blended_overlay;
+GLXEW_EXPORT GLboolean __GLXEW_SGIS_color_range;
+GLXEW_EXPORT GLboolean __GLXEW_SGIS_multisample;
+GLXEW_EXPORT GLboolean __GLXEW_SGIS_shared_multisample;
+GLXEW_EXPORT GLboolean __GLXEW_SGIX_fbconfig;
+GLXEW_EXPORT GLboolean __GLXEW_SGIX_hyperpipe;
+GLXEW_EXPORT GLboolean __GLXEW_SGIX_pbuffer;
+GLXEW_EXPORT GLboolean __GLXEW_SGIX_swap_barrier;
+GLXEW_EXPORT GLboolean __GLXEW_SGIX_swap_group;
+GLXEW_EXPORT GLboolean __GLXEW_SGIX_video_resize;
+GLXEW_EXPORT GLboolean __GLXEW_SGIX_visual_select_group;
+GLXEW_EXPORT GLboolean __GLXEW_SGI_cushion;
+GLXEW_EXPORT GLboolean __GLXEW_SGI_make_current_read;
+GLXEW_EXPORT GLboolean __GLXEW_SGI_swap_control;
+GLXEW_EXPORT GLboolean __GLXEW_SGI_video_sync;
+GLXEW_EXPORT GLboolean __GLXEW_SUN_get_transparent_index;
+GLXEW_EXPORT GLboolean __GLXEW_SUN_video_resize;
+
+#ifdef GLEW_MX
+}; /* GLXEWContextStruct */
+#endif /* GLEW_MX */
+
+/* ------------------------------------------------------------------------ */
+
+#ifdef GLEW_MX
+
+typedef struct GLXEWContextStruct GLXEWContext;
+extern GLenum glxewContextInit (GLXEWContext* ctx);
+extern GLboolean glxewContextIsSupported (GLXEWContext* ctx, const char* name);
+
+#define glxewInit() glxewContextInit(glxewGetContext())
+#define glxewIsSupported(x) glxewContextIsSupported(glxewGetContext(), x)
+
+#define GLXEW_GET_VAR(x) (*(const GLboolean*)&(glxewGetContext()->x))
+#define GLXEW_GET_FUN(x) x
+
+#else /* GLEW_MX */
+
+#define GLXEW_GET_VAR(x) (*(const GLboolean*)&x)
+#define GLXEW_GET_FUN(x) x
+
+extern GLboolean glxewIsSupported (const char* name);
+
+#endif /* GLEW_MX */
+
+extern GLboolean glxewGetExtension (const char* name);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __glxew_h__ */
diff --git a/packages/noncvs/windows/extra/Gem/dev/Gem/wglew.h b/packages/noncvs/windows/extra/Gem/dev/Gem/wglew.h
index 7c7a3804..34786665 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Gem/wglew.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Gem/wglew.h
@@ -1,1247 +1,1247 @@
-/*
-** The OpenGL Extension Wrangler Library
-** Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
-** Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
-** Copyright (C) 2002, Lev Povalahev
-** All rights reserved.
-**
-** Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are met:
-**
-** * Redistributions of source code must retain the above copyright notice,
-** this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright notice,
-** this list of conditions and the following disclaimer in the documentation
-** and/or other materials provided with the distribution.
-** * The name of the author may be used to endorse or promote products
-** derived from this software without specific prior written permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-** AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-** ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-** LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-** CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-** SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-** INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-** CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-** ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
-** THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/*
-** Copyright (c) 2007 The Khronos Group Inc.
-**
-** Permission is hereby granted, free of charge, to any person obtaining a
-** copy of this software and/or associated documentation files (the
-** "Materials"), to deal in the Materials without restriction, including
-** without limitation the rights to use, copy, modify, merge, publish,
-** distribute, sublicense, and/or sell copies of the Materials, and to
-** permit persons to whom the Materials are 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 Materials.
-**
-** THE MATERIALS ARE 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 THE AUTHORS OR COPYRIGHT HOLDERS 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
-** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
-*/
-
-#ifndef __wglew_h__
-#define __wglew_h__
-#define __WGLEW_H__
-
-#ifdef __wglext_h_
-#error wglext.h included before wglew.h
-#endif
-
-#define __wglext_h_
-
-#if !defined(WINAPI)
-# ifndef WIN32_LEAN_AND_MEAN
-# define WIN32_LEAN_AND_MEAN 1
-# endif
-#include <windows.h>
-# undef WIN32_LEAN_AND_MEAN
-#endif
-
-/*
- * GLEW_STATIC needs to be set when using the static version.
- * GLEW_BUILD is set when building the DLL version.
- */
-#ifdef GLEW_STATIC
-# define GLEWAPI extern
-#else
-# ifdef GLEW_BUILD
-# define GLEWAPI extern __declspec(dllexport)
-# else
-# define GLEWAPI extern __declspec(dllimport)
-# endif
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* -------------------------- WGL_3DFX_multisample ------------------------- */
-
-#ifndef WGL_3DFX_multisample
-#define WGL_3DFX_multisample 1
-
-#define WGL_SAMPLE_BUFFERS_3DFX 0x2060
-#define WGL_SAMPLES_3DFX 0x2061
-
-#define WGLEW_3DFX_multisample WGLEW_GET_VAR(__WGLEW_3DFX_multisample)
-
-#endif /* WGL_3DFX_multisample */
-
-/* ------------------------- WGL_3DL_stereo_control ------------------------ */
-
-#ifndef WGL_3DL_stereo_control
-#define WGL_3DL_stereo_control 1
-
-#define WGL_STEREO_EMITTER_ENABLE_3DL 0x2055
-#define WGL_STEREO_EMITTER_DISABLE_3DL 0x2056
-#define WGL_STEREO_POLARITY_NORMAL_3DL 0x2057
-#define WGL_STEREO_POLARITY_INVERT_3DL 0x2058
-
-typedef BOOL (WINAPI * PFNWGLSETSTEREOEMITTERSTATE3DLPROC) (HDC hDC, UINT uState);
-
-#define wglSetStereoEmitterState3DL WGLEW_GET_FUN(__wglewSetStereoEmitterState3DL)
-
-#define WGLEW_3DL_stereo_control WGLEW_GET_VAR(__WGLEW_3DL_stereo_control)
-
-#endif /* WGL_3DL_stereo_control */
-
-/* ------------------------ WGL_AMD_gpu_association ------------------------ */
-
-#ifndef WGL_AMD_gpu_association
-#define WGL_AMD_gpu_association 1
-
-#define WGL_GPU_VENDOR_AMD 0x1F00
-#define WGL_GPU_RENDERER_STRING_AMD 0x1F01
-#define WGL_GPU_OPENGL_VERSION_STRING_AMD 0x1F02
-#define WGL_GPU_FASTEST_TARGET_GPUS_AMD 0x21A2
-#define WGL_GPU_RAM_AMD 0x21A3
-#define WGL_GPU_CLOCK_AMD 0x21A4
-#define WGL_GPU_NUM_PIPES_AMD 0x21A5
-#define WGL_GPU_NUM_SIMD_AMD 0x21A6
-#define WGL_GPU_NUM_RB_AMD 0x21A7
-#define WGL_GPU_NUM_SPI_AMD 0x21A8
-
-typedef VOID (WINAPI * PFNWGLBLITCONTEXTFRAMEBUFFERAMDPROC) (HGLRC dstCtx, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
-typedef HGLRC (WINAPI * PFNWGLCREATEASSOCIATEDCONTEXTAMDPROC) (UINT id);
-typedef HGLRC (WINAPI * PFNWGLCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC) (UINT id, HGLRC hShareContext, const int* attribList);
-typedef BOOL (WINAPI * PFNWGLDELETEASSOCIATEDCONTEXTAMDPROC) (HGLRC hglrc);
-typedef UINT (WINAPI * PFNWGLGETCONTEXTGPUIDAMDPROC) (HGLRC hglrc);
-typedef HGLRC (WINAPI * PFNWGLGETCURRENTASSOCIATEDCONTEXTAMDPROC) (void);
-typedef UINT (WINAPI * PFNWGLGETGPUIDSAMDPROC) (UINT maxCount, UINT* ids);
-typedef INT (WINAPI * PFNWGLGETGPUINFOAMDPROC) (UINT id, INT property, GLenum dataType, UINT size, void* data);
-typedef BOOL (WINAPI * PFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC) (HGLRC hglrc);
-
-#define wglBlitContextFramebufferAMD WGLEW_GET_FUN(__wglewBlitContextFramebufferAMD)
-#define wglCreateAssociatedContextAMD WGLEW_GET_FUN(__wglewCreateAssociatedContextAMD)
-#define wglCreateAssociatedContextAttribsAMD WGLEW_GET_FUN(__wglewCreateAssociatedContextAttribsAMD)
-#define wglDeleteAssociatedContextAMD WGLEW_GET_FUN(__wglewDeleteAssociatedContextAMD)
-#define wglGetContextGPUIDAMD WGLEW_GET_FUN(__wglewGetContextGPUIDAMD)
-#define wglGetCurrentAssociatedContextAMD WGLEW_GET_FUN(__wglewGetCurrentAssociatedContextAMD)
-#define wglGetGPUIDsAMD WGLEW_GET_FUN(__wglewGetGPUIDsAMD)
-#define wglGetGPUInfoAMD WGLEW_GET_FUN(__wglewGetGPUInfoAMD)
-#define wglMakeAssociatedContextCurrentAMD WGLEW_GET_FUN(__wglewMakeAssociatedContextCurrentAMD)
-
-#define WGLEW_AMD_gpu_association WGLEW_GET_VAR(__WGLEW_AMD_gpu_association)
-
-#endif /* WGL_AMD_gpu_association */
-
-/* ------------------------- WGL_ARB_buffer_region ------------------------- */
-
-#ifndef WGL_ARB_buffer_region
-#define WGL_ARB_buffer_region 1
-
-#define WGL_FRONT_COLOR_BUFFER_BIT_ARB 0x00000001
-#define WGL_BACK_COLOR_BUFFER_BIT_ARB 0x00000002
-#define WGL_DEPTH_BUFFER_BIT_ARB 0x00000004
-#define WGL_STENCIL_BUFFER_BIT_ARB 0x00000008
-
-typedef HANDLE (WINAPI * PFNWGLCREATEBUFFERREGIONARBPROC) (HDC hDC, int iLayerPlane, UINT uType);
-typedef VOID (WINAPI * PFNWGLDELETEBUFFERREGIONARBPROC) (HANDLE hRegion);
-typedef BOOL (WINAPI * PFNWGLRESTOREBUFFERREGIONARBPROC) (HANDLE hRegion, int x, int y, int width, int height, int xSrc, int ySrc);
-typedef BOOL (WINAPI * PFNWGLSAVEBUFFERREGIONARBPROC) (HANDLE hRegion, int x, int y, int width, int height);
-
-#define wglCreateBufferRegionARB WGLEW_GET_FUN(__wglewCreateBufferRegionARB)
-#define wglDeleteBufferRegionARB WGLEW_GET_FUN(__wglewDeleteBufferRegionARB)
-#define wglRestoreBufferRegionARB WGLEW_GET_FUN(__wglewRestoreBufferRegionARB)
-#define wglSaveBufferRegionARB WGLEW_GET_FUN(__wglewSaveBufferRegionARB)
-
-#define WGLEW_ARB_buffer_region WGLEW_GET_VAR(__WGLEW_ARB_buffer_region)
-
-#endif /* WGL_ARB_buffer_region */
-
-/* ------------------------- WGL_ARB_create_context ------------------------ */
-
-#ifndef WGL_ARB_create_context
-#define WGL_ARB_create_context 1
-
-#define WGL_CONTEXT_DEBUG_BIT_ARB 0x0001
-#define WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x0002
-#define WGL_CONTEXT_MAJOR_VERSION_ARB 0x2091
-#define WGL_CONTEXT_MINOR_VERSION_ARB 0x2092
-#define WGL_CONTEXT_LAYER_PLANE_ARB 0x2093
-#define WGL_CONTEXT_FLAGS_ARB 0x2094
-
-typedef HGLRC (WINAPI * PFNWGLCREATECONTEXTATTRIBSARBPROC) (HDC hDC, HGLRC hShareContext, const int* attribList);
-
-#define wglCreateContextAttribsARB WGLEW_GET_FUN(__wglewCreateContextAttribsARB)
-
-#define WGLEW_ARB_create_context WGLEW_GET_VAR(__WGLEW_ARB_create_context)
-
-#endif /* WGL_ARB_create_context */
-
-/* --------------------- WGL_ARB_create_context_profile -------------------- */
-
-#ifndef WGL_ARB_create_context_profile
-#define WGL_ARB_create_context_profile 1
-
-#define WGL_CONTEXT_CORE_PROFILE_BIT_ARB 0x00000001
-#define WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x00000002
-#define WGL_CONTEXT_PROFILE_MASK_ARB 0x9126
-
-#define WGLEW_ARB_create_context_profile WGLEW_GET_VAR(__WGLEW_ARB_create_context_profile)
-
-#endif /* WGL_ARB_create_context_profile */
-
-/* ----------------------- WGL_ARB_extensions_string ----------------------- */
-
-#ifndef WGL_ARB_extensions_string
-#define WGL_ARB_extensions_string 1
-
-typedef const char* (WINAPI * PFNWGLGETEXTENSIONSSTRINGARBPROC) (HDC hdc);
-
-#define wglGetExtensionsStringARB WGLEW_GET_FUN(__wglewGetExtensionsStringARB)
-
-#define WGLEW_ARB_extensions_string WGLEW_GET_VAR(__WGLEW_ARB_extensions_string)
-
-#endif /* WGL_ARB_extensions_string */
-
-/* ------------------------ WGL_ARB_framebuffer_sRGB ----------------------- */
-
-#ifndef WGL_ARB_framebuffer_sRGB
-#define WGL_ARB_framebuffer_sRGB 1
-
-#define WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB 0x20A9
-
-#define WGLEW_ARB_framebuffer_sRGB WGLEW_GET_VAR(__WGLEW_ARB_framebuffer_sRGB)
-
-#endif /* WGL_ARB_framebuffer_sRGB */
-
-/* ----------------------- WGL_ARB_make_current_read ----------------------- */
-
-#ifndef WGL_ARB_make_current_read
-#define WGL_ARB_make_current_read 1
-
-#define ERROR_INVALID_PIXEL_TYPE_ARB 0x2043
-#define ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB 0x2054
-
-typedef HDC (WINAPI * PFNWGLGETCURRENTREADDCARBPROC) (VOID);
-typedef BOOL (WINAPI * PFNWGLMAKECONTEXTCURRENTARBPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
-
-#define wglGetCurrentReadDCARB WGLEW_GET_FUN(__wglewGetCurrentReadDCARB)
-#define wglMakeContextCurrentARB WGLEW_GET_FUN(__wglewMakeContextCurrentARB)
-
-#define WGLEW_ARB_make_current_read WGLEW_GET_VAR(__WGLEW_ARB_make_current_read)
-
-#endif /* WGL_ARB_make_current_read */
-
-/* -------------------------- WGL_ARB_multisample -------------------------- */
-
-#ifndef WGL_ARB_multisample
-#define WGL_ARB_multisample 1
-
-#define WGL_SAMPLE_BUFFERS_ARB 0x2041
-#define WGL_SAMPLES_ARB 0x2042
-
-#define WGLEW_ARB_multisample WGLEW_GET_VAR(__WGLEW_ARB_multisample)
-
-#endif /* WGL_ARB_multisample */
-
-/* ---------------------------- WGL_ARB_pbuffer ---------------------------- */
-
-#ifndef WGL_ARB_pbuffer
-#define WGL_ARB_pbuffer 1
-
-#define WGL_DRAW_TO_PBUFFER_ARB 0x202D
-#define WGL_MAX_PBUFFER_PIXELS_ARB 0x202E
-#define WGL_MAX_PBUFFER_WIDTH_ARB 0x202F
-#define WGL_MAX_PBUFFER_HEIGHT_ARB 0x2030
-#define WGL_PBUFFER_LARGEST_ARB 0x2033
-#define WGL_PBUFFER_WIDTH_ARB 0x2034
-#define WGL_PBUFFER_HEIGHT_ARB 0x2035
-#define WGL_PBUFFER_LOST_ARB 0x2036
-
-DECLARE_HANDLE(HPBUFFERARB);
-
-typedef HPBUFFERARB (WINAPI * PFNWGLCREATEPBUFFERARBPROC) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int* piAttribList);
-typedef BOOL (WINAPI * PFNWGLDESTROYPBUFFERARBPROC) (HPBUFFERARB hPbuffer);
-typedef HDC (WINAPI * PFNWGLGETPBUFFERDCARBPROC) (HPBUFFERARB hPbuffer);
-typedef BOOL (WINAPI * PFNWGLQUERYPBUFFERARBPROC) (HPBUFFERARB hPbuffer, int iAttribute, int* piValue);
-typedef int (WINAPI * PFNWGLRELEASEPBUFFERDCARBPROC) (HPBUFFERARB hPbuffer, HDC hDC);
-
-#define wglCreatePbufferARB WGLEW_GET_FUN(__wglewCreatePbufferARB)
-#define wglDestroyPbufferARB WGLEW_GET_FUN(__wglewDestroyPbufferARB)
-#define wglGetPbufferDCARB WGLEW_GET_FUN(__wglewGetPbufferDCARB)
-#define wglQueryPbufferARB WGLEW_GET_FUN(__wglewQueryPbufferARB)
-#define wglReleasePbufferDCARB WGLEW_GET_FUN(__wglewReleasePbufferDCARB)
-
-#define WGLEW_ARB_pbuffer WGLEW_GET_VAR(__WGLEW_ARB_pbuffer)
-
-#endif /* WGL_ARB_pbuffer */
-
-/* -------------------------- WGL_ARB_pixel_format ------------------------- */
-
-#ifndef WGL_ARB_pixel_format
-#define WGL_ARB_pixel_format 1
-
-#define WGL_NUMBER_PIXEL_FORMATS_ARB 0x2000
-#define WGL_DRAW_TO_WINDOW_ARB 0x2001
-#define WGL_DRAW_TO_BITMAP_ARB 0x2002
-#define WGL_ACCELERATION_ARB 0x2003
-#define WGL_NEED_PALETTE_ARB 0x2004
-#define WGL_NEED_SYSTEM_PALETTE_ARB 0x2005
-#define WGL_SWAP_LAYER_BUFFERS_ARB 0x2006
-#define WGL_SWAP_METHOD_ARB 0x2007
-#define WGL_NUMBER_OVERLAYS_ARB 0x2008
-#define WGL_NUMBER_UNDERLAYS_ARB 0x2009
-#define WGL_TRANSPARENT_ARB 0x200A
-#define WGL_SHARE_DEPTH_ARB 0x200C
-#define WGL_SHARE_STENCIL_ARB 0x200D
-#define WGL_SHARE_ACCUM_ARB 0x200E
-#define WGL_SUPPORT_GDI_ARB 0x200F
-#define WGL_SUPPORT_OPENGL_ARB 0x2010
-#define WGL_DOUBLE_BUFFER_ARB 0x2011
-#define WGL_STEREO_ARB 0x2012
-#define WGL_PIXEL_TYPE_ARB 0x2013
-#define WGL_COLOR_BITS_ARB 0x2014
-#define WGL_RED_BITS_ARB 0x2015
-#define WGL_RED_SHIFT_ARB 0x2016
-#define WGL_GREEN_BITS_ARB 0x2017
-#define WGL_GREEN_SHIFT_ARB 0x2018
-#define WGL_BLUE_BITS_ARB 0x2019
-#define WGL_BLUE_SHIFT_ARB 0x201A
-#define WGL_ALPHA_BITS_ARB 0x201B
-#define WGL_ALPHA_SHIFT_ARB 0x201C
-#define WGL_ACCUM_BITS_ARB 0x201D
-#define WGL_ACCUM_RED_BITS_ARB 0x201E
-#define WGL_ACCUM_GREEN_BITS_ARB 0x201F
-#define WGL_ACCUM_BLUE_BITS_ARB 0x2020
-#define WGL_ACCUM_ALPHA_BITS_ARB 0x2021
-#define WGL_DEPTH_BITS_ARB 0x2022
-#define WGL_STENCIL_BITS_ARB 0x2023
-#define WGL_AUX_BUFFERS_ARB 0x2024
-#define WGL_NO_ACCELERATION_ARB 0x2025
-#define WGL_GENERIC_ACCELERATION_ARB 0x2026
-#define WGL_FULL_ACCELERATION_ARB 0x2027
-#define WGL_SWAP_EXCHANGE_ARB 0x2028
-#define WGL_SWAP_COPY_ARB 0x2029
-#define WGL_SWAP_UNDEFINED_ARB 0x202A
-#define WGL_TYPE_RGBA_ARB 0x202B
-#define WGL_TYPE_COLORINDEX_ARB 0x202C
-#define WGL_TRANSPARENT_RED_VALUE_ARB 0x2037
-#define WGL_TRANSPARENT_GREEN_VALUE_ARB 0x2038
-#define WGL_TRANSPARENT_BLUE_VALUE_ARB 0x2039
-#define WGL_TRANSPARENT_ALPHA_VALUE_ARB 0x203A
-#define WGL_TRANSPARENT_INDEX_VALUE_ARB 0x203B
-
-typedef BOOL (WINAPI * PFNWGLCHOOSEPIXELFORMATARBPROC) (HDC hdc, const int* piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);
-typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBFVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int* piAttributes, FLOAT *pfValues);
-typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBIVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int* piAttributes, int *piValues);
-
-#define wglChoosePixelFormatARB WGLEW_GET_FUN(__wglewChoosePixelFormatARB)
-#define wglGetPixelFormatAttribfvARB WGLEW_GET_FUN(__wglewGetPixelFormatAttribfvARB)
-#define wglGetPixelFormatAttribivARB WGLEW_GET_FUN(__wglewGetPixelFormatAttribivARB)
-
-#define WGLEW_ARB_pixel_format WGLEW_GET_VAR(__WGLEW_ARB_pixel_format)
-
-#endif /* WGL_ARB_pixel_format */
-
-/* ----------------------- WGL_ARB_pixel_format_float ---------------------- */
-
-#ifndef WGL_ARB_pixel_format_float
-#define WGL_ARB_pixel_format_float 1
-
-#define WGL_TYPE_RGBA_FLOAT_ARB 0x21A0
-
-#define WGLEW_ARB_pixel_format_float WGLEW_GET_VAR(__WGLEW_ARB_pixel_format_float)
-
-#endif /* WGL_ARB_pixel_format_float */
-
-/* ------------------------- WGL_ARB_render_texture ------------------------ */
-
-#ifndef WGL_ARB_render_texture
-#define WGL_ARB_render_texture 1
-
-#define WGL_BIND_TO_TEXTURE_RGB_ARB 0x2070
-#define WGL_BIND_TO_TEXTURE_RGBA_ARB 0x2071
-#define WGL_TEXTURE_FORMAT_ARB 0x2072
-#define WGL_TEXTURE_TARGET_ARB 0x2073
-#define WGL_MIPMAP_TEXTURE_ARB 0x2074
-#define WGL_TEXTURE_RGB_ARB 0x2075
-#define WGL_TEXTURE_RGBA_ARB 0x2076
-#define WGL_NO_TEXTURE_ARB 0x2077
-#define WGL_TEXTURE_CUBE_MAP_ARB 0x2078
-#define WGL_TEXTURE_1D_ARB 0x2079
-#define WGL_TEXTURE_2D_ARB 0x207A
-#define WGL_MIPMAP_LEVEL_ARB 0x207B
-#define WGL_CUBE_MAP_FACE_ARB 0x207C
-#define WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x207D
-#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x207E
-#define WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x207F
-#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x2080
-#define WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x2081
-#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x2082
-#define WGL_FRONT_LEFT_ARB 0x2083
-#define WGL_FRONT_RIGHT_ARB 0x2084
-#define WGL_BACK_LEFT_ARB 0x2085
-#define WGL_BACK_RIGHT_ARB 0x2086
-#define WGL_AUX0_ARB 0x2087
-#define WGL_AUX1_ARB 0x2088
-#define WGL_AUX2_ARB 0x2089
-#define WGL_AUX3_ARB 0x208A
-#define WGL_AUX4_ARB 0x208B
-#define WGL_AUX5_ARB 0x208C
-#define WGL_AUX6_ARB 0x208D
-#define WGL_AUX7_ARB 0x208E
-#define WGL_AUX8_ARB 0x208F
-#define WGL_AUX9_ARB 0x2090
-
-typedef BOOL (WINAPI * PFNWGLBINDTEXIMAGEARBPROC) (HPBUFFERARB hPbuffer, int iBuffer);
-typedef BOOL (WINAPI * PFNWGLRELEASETEXIMAGEARBPROC) (HPBUFFERARB hPbuffer, int iBuffer);
-typedef BOOL (WINAPI * PFNWGLSETPBUFFERATTRIBARBPROC) (HPBUFFERARB hPbuffer, const int* piAttribList);
-
-#define wglBindTexImageARB WGLEW_GET_FUN(__wglewBindTexImageARB)
-#define wglReleaseTexImageARB WGLEW_GET_FUN(__wglewReleaseTexImageARB)
-#define wglSetPbufferAttribARB WGLEW_GET_FUN(__wglewSetPbufferAttribARB)
-
-#define WGLEW_ARB_render_texture WGLEW_GET_VAR(__WGLEW_ARB_render_texture)
-
-#endif /* WGL_ARB_render_texture */
-
-/* ----------------------- WGL_ATI_pixel_format_float ---------------------- */
-
-#ifndef WGL_ATI_pixel_format_float
-#define WGL_ATI_pixel_format_float 1
-
-#define WGL_TYPE_RGBA_FLOAT_ATI 0x21A0
-#define GL_RGBA_FLOAT_MODE_ATI 0x8820
-#define GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI 0x8835
-
-#define WGLEW_ATI_pixel_format_float WGLEW_GET_VAR(__WGLEW_ATI_pixel_format_float)
-
-#endif /* WGL_ATI_pixel_format_float */
-
-/* -------------------- WGL_ATI_render_texture_rectangle ------------------- */
-
-#ifndef WGL_ATI_render_texture_rectangle
-#define WGL_ATI_render_texture_rectangle 1
-
-#define WGL_TEXTURE_RECTANGLE_ATI 0x21A5
-
-#define WGLEW_ATI_render_texture_rectangle WGLEW_GET_VAR(__WGLEW_ATI_render_texture_rectangle)
-
-#endif /* WGL_ATI_render_texture_rectangle */
-
-/* -------------------------- WGL_EXT_depth_float -------------------------- */
-
-#ifndef WGL_EXT_depth_float
-#define WGL_EXT_depth_float 1
-
-#define WGL_DEPTH_FLOAT_EXT 0x2040
-
-#define WGLEW_EXT_depth_float WGLEW_GET_VAR(__WGLEW_EXT_depth_float)
-
-#endif /* WGL_EXT_depth_float */
-
-/* ---------------------- WGL_EXT_display_color_table ---------------------- */
-
-#ifndef WGL_EXT_display_color_table
-#define WGL_EXT_display_color_table 1
-
-typedef GLboolean (WINAPI * PFNWGLBINDDISPLAYCOLORTABLEEXTPROC) (GLushort id);
-typedef GLboolean (WINAPI * PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC) (GLushort id);
-typedef void (WINAPI * PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC) (GLushort id);
-typedef GLboolean (WINAPI * PFNWGLLOADDISPLAYCOLORTABLEEXTPROC) (GLushort* table, GLuint length);
-
-#define wglBindDisplayColorTableEXT WGLEW_GET_FUN(__wglewBindDisplayColorTableEXT)
-#define wglCreateDisplayColorTableEXT WGLEW_GET_FUN(__wglewCreateDisplayColorTableEXT)
-#define wglDestroyDisplayColorTableEXT WGLEW_GET_FUN(__wglewDestroyDisplayColorTableEXT)
-#define wglLoadDisplayColorTableEXT WGLEW_GET_FUN(__wglewLoadDisplayColorTableEXT)
-
-#define WGLEW_EXT_display_color_table WGLEW_GET_VAR(__WGLEW_EXT_display_color_table)
-
-#endif /* WGL_EXT_display_color_table */
-
-/* ----------------------- WGL_EXT_extensions_string ----------------------- */
-
-#ifndef WGL_EXT_extensions_string
-#define WGL_EXT_extensions_string 1
-
-typedef const char* (WINAPI * PFNWGLGETEXTENSIONSSTRINGEXTPROC) (void);
-
-#define wglGetExtensionsStringEXT WGLEW_GET_FUN(__wglewGetExtensionsStringEXT)
-
-#define WGLEW_EXT_extensions_string WGLEW_GET_VAR(__WGLEW_EXT_extensions_string)
-
-#endif /* WGL_EXT_extensions_string */
-
-/* ------------------------ WGL_EXT_framebuffer_sRGB ----------------------- */
-
-#ifndef WGL_EXT_framebuffer_sRGB
-#define WGL_EXT_framebuffer_sRGB 1
-
-#define WGL_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20A9
-
-#define WGLEW_EXT_framebuffer_sRGB WGLEW_GET_VAR(__WGLEW_EXT_framebuffer_sRGB)
-
-#endif /* WGL_EXT_framebuffer_sRGB */
-
-/* ----------------------- WGL_EXT_make_current_read ----------------------- */
-
-#ifndef WGL_EXT_make_current_read
-#define WGL_EXT_make_current_read 1
-
-#define ERROR_INVALID_PIXEL_TYPE_EXT 0x2043
-
-typedef HDC (WINAPI * PFNWGLGETCURRENTREADDCEXTPROC) (VOID);
-typedef BOOL (WINAPI * PFNWGLMAKECONTEXTCURRENTEXTPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
-
-#define wglGetCurrentReadDCEXT WGLEW_GET_FUN(__wglewGetCurrentReadDCEXT)
-#define wglMakeContextCurrentEXT WGLEW_GET_FUN(__wglewMakeContextCurrentEXT)
-
-#define WGLEW_EXT_make_current_read WGLEW_GET_VAR(__WGLEW_EXT_make_current_read)
-
-#endif /* WGL_EXT_make_current_read */
-
-/* -------------------------- WGL_EXT_multisample -------------------------- */
-
-#ifndef WGL_EXT_multisample
-#define WGL_EXT_multisample 1
-
-#define WGL_SAMPLE_BUFFERS_EXT 0x2041
-#define WGL_SAMPLES_EXT 0x2042
-
-#define WGLEW_EXT_multisample WGLEW_GET_VAR(__WGLEW_EXT_multisample)
-
-#endif /* WGL_EXT_multisample */
-
-/* ---------------------------- WGL_EXT_pbuffer ---------------------------- */
-
-#ifndef WGL_EXT_pbuffer
-#define WGL_EXT_pbuffer 1
-
-#define WGL_DRAW_TO_PBUFFER_EXT 0x202D
-#define WGL_MAX_PBUFFER_PIXELS_EXT 0x202E
-#define WGL_MAX_PBUFFER_WIDTH_EXT 0x202F
-#define WGL_MAX_PBUFFER_HEIGHT_EXT 0x2030
-#define WGL_OPTIMAL_PBUFFER_WIDTH_EXT 0x2031
-#define WGL_OPTIMAL_PBUFFER_HEIGHT_EXT 0x2032
-#define WGL_PBUFFER_LARGEST_EXT 0x2033
-#define WGL_PBUFFER_WIDTH_EXT 0x2034
-#define WGL_PBUFFER_HEIGHT_EXT 0x2035
-
-DECLARE_HANDLE(HPBUFFEREXT);
-
-typedef HPBUFFEREXT (WINAPI * PFNWGLCREATEPBUFFEREXTPROC) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int* piAttribList);
-typedef BOOL (WINAPI * PFNWGLDESTROYPBUFFEREXTPROC) (HPBUFFEREXT hPbuffer);
-typedef HDC (WINAPI * PFNWGLGETPBUFFERDCEXTPROC) (HPBUFFEREXT hPbuffer);
-typedef BOOL (WINAPI * PFNWGLQUERYPBUFFEREXTPROC) (HPBUFFEREXT hPbuffer, int iAttribute, int* piValue);
-typedef int (WINAPI * PFNWGLRELEASEPBUFFERDCEXTPROC) (HPBUFFEREXT hPbuffer, HDC hDC);
-
-#define wglCreatePbufferEXT WGLEW_GET_FUN(__wglewCreatePbufferEXT)
-#define wglDestroyPbufferEXT WGLEW_GET_FUN(__wglewDestroyPbufferEXT)
-#define wglGetPbufferDCEXT WGLEW_GET_FUN(__wglewGetPbufferDCEXT)
-#define wglQueryPbufferEXT WGLEW_GET_FUN(__wglewQueryPbufferEXT)
-#define wglReleasePbufferDCEXT WGLEW_GET_FUN(__wglewReleasePbufferDCEXT)
-
-#define WGLEW_EXT_pbuffer WGLEW_GET_VAR(__WGLEW_EXT_pbuffer)
-
-#endif /* WGL_EXT_pbuffer */
-
-/* -------------------------- WGL_EXT_pixel_format ------------------------- */
-
-#ifndef WGL_EXT_pixel_format
-#define WGL_EXT_pixel_format 1
-
-#define WGL_NUMBER_PIXEL_FORMATS_EXT 0x2000
-#define WGL_DRAW_TO_WINDOW_EXT 0x2001
-#define WGL_DRAW_TO_BITMAP_EXT 0x2002
-#define WGL_ACCELERATION_EXT 0x2003
-#define WGL_NEED_PALETTE_EXT 0x2004
-#define WGL_NEED_SYSTEM_PALETTE_EXT 0x2005
-#define WGL_SWAP_LAYER_BUFFERS_EXT 0x2006
-#define WGL_SWAP_METHOD_EXT 0x2007
-#define WGL_NUMBER_OVERLAYS_EXT 0x2008
-#define WGL_NUMBER_UNDERLAYS_EXT 0x2009
-#define WGL_TRANSPARENT_EXT 0x200A
-#define WGL_TRANSPARENT_VALUE_EXT 0x200B
-#define WGL_SHARE_DEPTH_EXT 0x200C
-#define WGL_SHARE_STENCIL_EXT 0x200D
-#define WGL_SHARE_ACCUM_EXT 0x200E
-#define WGL_SUPPORT_GDI_EXT 0x200F
-#define WGL_SUPPORT_OPENGL_EXT 0x2010
-#define WGL_DOUBLE_BUFFER_EXT 0x2011
-#define WGL_STEREO_EXT 0x2012
-#define WGL_PIXEL_TYPE_EXT 0x2013
-#define WGL_COLOR_BITS_EXT 0x2014
-#define WGL_RED_BITS_EXT 0x2015
-#define WGL_RED_SHIFT_EXT 0x2016
-#define WGL_GREEN_BITS_EXT 0x2017
-#define WGL_GREEN_SHIFT_EXT 0x2018
-#define WGL_BLUE_BITS_EXT 0x2019
-#define WGL_BLUE_SHIFT_EXT 0x201A
-#define WGL_ALPHA_BITS_EXT 0x201B
-#define WGL_ALPHA_SHIFT_EXT 0x201C
-#define WGL_ACCUM_BITS_EXT 0x201D
-#define WGL_ACCUM_RED_BITS_EXT 0x201E
-#define WGL_ACCUM_GREEN_BITS_EXT 0x201F
-#define WGL_ACCUM_BLUE_BITS_EXT 0x2020
-#define WGL_ACCUM_ALPHA_BITS_EXT 0x2021
-#define WGL_DEPTH_BITS_EXT 0x2022
-#define WGL_STENCIL_BITS_EXT 0x2023
-#define WGL_AUX_BUFFERS_EXT 0x2024
-#define WGL_NO_ACCELERATION_EXT 0x2025
-#define WGL_GENERIC_ACCELERATION_EXT 0x2026
-#define WGL_FULL_ACCELERATION_EXT 0x2027
-#define WGL_SWAP_EXCHANGE_EXT 0x2028
-#define WGL_SWAP_COPY_EXT 0x2029
-#define WGL_SWAP_UNDEFINED_EXT 0x202A
-#define WGL_TYPE_RGBA_EXT 0x202B
-#define WGL_TYPE_COLORINDEX_EXT 0x202C
-
-typedef BOOL (WINAPI * PFNWGLCHOOSEPIXELFORMATEXTPROC) (HDC hdc, const int* piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);
-typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBFVEXTPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int* piAttributes, FLOAT *pfValues);
-typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBIVEXTPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int* piAttributes, int *piValues);
-
-#define wglChoosePixelFormatEXT WGLEW_GET_FUN(__wglewChoosePixelFormatEXT)
-#define wglGetPixelFormatAttribfvEXT WGLEW_GET_FUN(__wglewGetPixelFormatAttribfvEXT)
-#define wglGetPixelFormatAttribivEXT WGLEW_GET_FUN(__wglewGetPixelFormatAttribivEXT)
-
-#define WGLEW_EXT_pixel_format WGLEW_GET_VAR(__WGLEW_EXT_pixel_format)
-
-#endif /* WGL_EXT_pixel_format */
-
-/* ------------------- WGL_EXT_pixel_format_packed_float ------------------- */
-
-#ifndef WGL_EXT_pixel_format_packed_float
-#define WGL_EXT_pixel_format_packed_float 1
-
-#define WGL_TYPE_RGBA_UNSIGNED_FLOAT_EXT 0x20A8
-
-#define WGLEW_EXT_pixel_format_packed_float WGLEW_GET_VAR(__WGLEW_EXT_pixel_format_packed_float)
-
-#endif /* WGL_EXT_pixel_format_packed_float */
-
-/* -------------------------- WGL_EXT_swap_control ------------------------- */
-
-#ifndef WGL_EXT_swap_control
-#define WGL_EXT_swap_control 1
-
-typedef int (WINAPI * PFNWGLGETSWAPINTERVALEXTPROC) (void);
-typedef BOOL (WINAPI * PFNWGLSWAPINTERVALEXTPROC) (int interval);
-
-#define wglGetSwapIntervalEXT WGLEW_GET_FUN(__wglewGetSwapIntervalEXT)
-#define wglSwapIntervalEXT WGLEW_GET_FUN(__wglewSwapIntervalEXT)
-
-#define WGLEW_EXT_swap_control WGLEW_GET_VAR(__WGLEW_EXT_swap_control)
-
-#endif /* WGL_EXT_swap_control */
-
-/* --------------------- WGL_I3D_digital_video_control --------------------- */
-
-#ifndef WGL_I3D_digital_video_control
-#define WGL_I3D_digital_video_control 1
-
-#define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D 0x2050
-#define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D 0x2051
-#define WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D 0x2052
-#define WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D 0x2053
-
-typedef BOOL (WINAPI * PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC) (HDC hDC, int iAttribute, int* piValue);
-typedef BOOL (WINAPI * PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC) (HDC hDC, int iAttribute, const int* piValue);
-
-#define wglGetDigitalVideoParametersI3D WGLEW_GET_FUN(__wglewGetDigitalVideoParametersI3D)
-#define wglSetDigitalVideoParametersI3D WGLEW_GET_FUN(__wglewSetDigitalVideoParametersI3D)
-
-#define WGLEW_I3D_digital_video_control WGLEW_GET_VAR(__WGLEW_I3D_digital_video_control)
-
-#endif /* WGL_I3D_digital_video_control */
-
-/* ----------------------------- WGL_I3D_gamma ----------------------------- */
-
-#ifndef WGL_I3D_gamma
-#define WGL_I3D_gamma 1
-
-#define WGL_GAMMA_TABLE_SIZE_I3D 0x204E
-#define WGL_GAMMA_EXCLUDE_DESKTOP_I3D 0x204F
-
-typedef BOOL (WINAPI * PFNWGLGETGAMMATABLEI3DPROC) (HDC hDC, int iEntries, USHORT* puRed, USHORT *puGreen, USHORT *puBlue);
-typedef BOOL (WINAPI * PFNWGLGETGAMMATABLEPARAMETERSI3DPROC) (HDC hDC, int iAttribute, int* piValue);
-typedef BOOL (WINAPI * PFNWGLSETGAMMATABLEI3DPROC) (HDC hDC, int iEntries, const USHORT* puRed, const USHORT *puGreen, const USHORT *puBlue);
-typedef BOOL (WINAPI * PFNWGLSETGAMMATABLEPARAMETERSI3DPROC) (HDC hDC, int iAttribute, const int* piValue);
-
-#define wglGetGammaTableI3D WGLEW_GET_FUN(__wglewGetGammaTableI3D)
-#define wglGetGammaTableParametersI3D WGLEW_GET_FUN(__wglewGetGammaTableParametersI3D)
-#define wglSetGammaTableI3D WGLEW_GET_FUN(__wglewSetGammaTableI3D)
-#define wglSetGammaTableParametersI3D WGLEW_GET_FUN(__wglewSetGammaTableParametersI3D)
-
-#define WGLEW_I3D_gamma WGLEW_GET_VAR(__WGLEW_I3D_gamma)
-
-#endif /* WGL_I3D_gamma */
-
-/* ---------------------------- WGL_I3D_genlock ---------------------------- */
-
-#ifndef WGL_I3D_genlock
-#define WGL_I3D_genlock 1
-
-#define WGL_GENLOCK_SOURCE_MULTIVIEW_I3D 0x2044
-#define WGL_GENLOCK_SOURCE_EXTERNAL_SYNC_I3D 0x2045
-#define WGL_GENLOCK_SOURCE_EXTERNAL_FIELD_I3D 0x2046
-#define WGL_GENLOCK_SOURCE_EXTERNAL_TTL_I3D 0x2047
-#define WGL_GENLOCK_SOURCE_DIGITAL_SYNC_I3D 0x2048
-#define WGL_GENLOCK_SOURCE_DIGITAL_FIELD_I3D 0x2049
-#define WGL_GENLOCK_SOURCE_EDGE_FALLING_I3D 0x204A
-#define WGL_GENLOCK_SOURCE_EDGE_RISING_I3D 0x204B
-#define WGL_GENLOCK_SOURCE_EDGE_BOTH_I3D 0x204C
-
-typedef BOOL (WINAPI * PFNWGLDISABLEGENLOCKI3DPROC) (HDC hDC);
-typedef BOOL (WINAPI * PFNWGLENABLEGENLOCKI3DPROC) (HDC hDC);
-typedef BOOL (WINAPI * PFNWGLGENLOCKSAMPLERATEI3DPROC) (HDC hDC, UINT uRate);
-typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEDELAYI3DPROC) (HDC hDC, UINT uDelay);
-typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEEDGEI3DPROC) (HDC hDC, UINT uEdge);
-typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEI3DPROC) (HDC hDC, UINT uSource);
-typedef BOOL (WINAPI * PFNWGLGETGENLOCKSAMPLERATEI3DPROC) (HDC hDC, UINT* uRate);
-typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEDELAYI3DPROC) (HDC hDC, UINT* uDelay);
-typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEEDGEI3DPROC) (HDC hDC, UINT* uEdge);
-typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEI3DPROC) (HDC hDC, UINT* uSource);
-typedef BOOL (WINAPI * PFNWGLISENABLEDGENLOCKI3DPROC) (HDC hDC, BOOL* pFlag);
-typedef BOOL (WINAPI * PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC) (HDC hDC, UINT* uMaxLineDelay, UINT *uMaxPixelDelay);
-
-#define wglDisableGenlockI3D WGLEW_GET_FUN(__wglewDisableGenlockI3D)
-#define wglEnableGenlockI3D WGLEW_GET_FUN(__wglewEnableGenlockI3D)
-#define wglGenlockSampleRateI3D WGLEW_GET_FUN(__wglewGenlockSampleRateI3D)
-#define wglGenlockSourceDelayI3D WGLEW_GET_FUN(__wglewGenlockSourceDelayI3D)
-#define wglGenlockSourceEdgeI3D WGLEW_GET_FUN(__wglewGenlockSourceEdgeI3D)
-#define wglGenlockSourceI3D WGLEW_GET_FUN(__wglewGenlockSourceI3D)
-#define wglGetGenlockSampleRateI3D WGLEW_GET_FUN(__wglewGetGenlockSampleRateI3D)
-#define wglGetGenlockSourceDelayI3D WGLEW_GET_FUN(__wglewGetGenlockSourceDelayI3D)
-#define wglGetGenlockSourceEdgeI3D WGLEW_GET_FUN(__wglewGetGenlockSourceEdgeI3D)
-#define wglGetGenlockSourceI3D WGLEW_GET_FUN(__wglewGetGenlockSourceI3D)
-#define wglIsEnabledGenlockI3D WGLEW_GET_FUN(__wglewIsEnabledGenlockI3D)
-#define wglQueryGenlockMaxSourceDelayI3D WGLEW_GET_FUN(__wglewQueryGenlockMaxSourceDelayI3D)
-
-#define WGLEW_I3D_genlock WGLEW_GET_VAR(__WGLEW_I3D_genlock)
-
-#endif /* WGL_I3D_genlock */
-
-/* -------------------------- WGL_I3D_image_buffer ------------------------- */
-
-#ifndef WGL_I3D_image_buffer
-#define WGL_I3D_image_buffer 1
-
-#define WGL_IMAGE_BUFFER_MIN_ACCESS_I3D 0x00000001
-#define WGL_IMAGE_BUFFER_LOCK_I3D 0x00000002
-
-typedef BOOL (WINAPI * PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC) (HDC hdc, HANDLE* pEvent, LPVOID *pAddress, DWORD *pSize, UINT count);
-typedef LPVOID (WINAPI * PFNWGLCREATEIMAGEBUFFERI3DPROC) (HDC hDC, DWORD dwSize, UINT uFlags);
-typedef BOOL (WINAPI * PFNWGLDESTROYIMAGEBUFFERI3DPROC) (HDC hDC, LPVOID pAddress);
-typedef BOOL (WINAPI * PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC) (HDC hdc, LPVOID* pAddress, UINT count);
-
-#define wglAssociateImageBufferEventsI3D WGLEW_GET_FUN(__wglewAssociateImageBufferEventsI3D)
-#define wglCreateImageBufferI3D WGLEW_GET_FUN(__wglewCreateImageBufferI3D)
-#define wglDestroyImageBufferI3D WGLEW_GET_FUN(__wglewDestroyImageBufferI3D)
-#define wglReleaseImageBufferEventsI3D WGLEW_GET_FUN(__wglewReleaseImageBufferEventsI3D)
-
-#define WGLEW_I3D_image_buffer WGLEW_GET_VAR(__WGLEW_I3D_image_buffer)
-
-#endif /* WGL_I3D_image_buffer */
-
-/* ------------------------ WGL_I3D_swap_frame_lock ------------------------ */
-
-#ifndef WGL_I3D_swap_frame_lock
-#define WGL_I3D_swap_frame_lock 1
-
-typedef BOOL (WINAPI * PFNWGLDISABLEFRAMELOCKI3DPROC) (VOID);
-typedef BOOL (WINAPI * PFNWGLENABLEFRAMELOCKI3DPROC) (VOID);
-typedef BOOL (WINAPI * PFNWGLISENABLEDFRAMELOCKI3DPROC) (BOOL* pFlag);
-typedef BOOL (WINAPI * PFNWGLQUERYFRAMELOCKMASTERI3DPROC) (BOOL* pFlag);
-
-#define wglDisableFrameLockI3D WGLEW_GET_FUN(__wglewDisableFrameLockI3D)
-#define wglEnableFrameLockI3D WGLEW_GET_FUN(__wglewEnableFrameLockI3D)
-#define wglIsEnabledFrameLockI3D WGLEW_GET_FUN(__wglewIsEnabledFrameLockI3D)
-#define wglQueryFrameLockMasterI3D WGLEW_GET_FUN(__wglewQueryFrameLockMasterI3D)
-
-#define WGLEW_I3D_swap_frame_lock WGLEW_GET_VAR(__WGLEW_I3D_swap_frame_lock)
-
-#endif /* WGL_I3D_swap_frame_lock */
-
-/* ------------------------ WGL_I3D_swap_frame_usage ----------------------- */
-
-#ifndef WGL_I3D_swap_frame_usage
-#define WGL_I3D_swap_frame_usage 1
-
-typedef BOOL (WINAPI * PFNWGLBEGINFRAMETRACKINGI3DPROC) (void);
-typedef BOOL (WINAPI * PFNWGLENDFRAMETRACKINGI3DPROC) (void);
-typedef BOOL (WINAPI * PFNWGLGETFRAMEUSAGEI3DPROC) (float* pUsage);
-typedef BOOL (WINAPI * PFNWGLQUERYFRAMETRACKINGI3DPROC) (DWORD* pFrameCount, DWORD *pMissedFrames, float *pLastMissedUsage);
-
-#define wglBeginFrameTrackingI3D WGLEW_GET_FUN(__wglewBeginFrameTrackingI3D)
-#define wglEndFrameTrackingI3D WGLEW_GET_FUN(__wglewEndFrameTrackingI3D)
-#define wglGetFrameUsageI3D WGLEW_GET_FUN(__wglewGetFrameUsageI3D)
-#define wglQueryFrameTrackingI3D WGLEW_GET_FUN(__wglewQueryFrameTrackingI3D)
-
-#define WGLEW_I3D_swap_frame_usage WGLEW_GET_VAR(__WGLEW_I3D_swap_frame_usage)
-
-#endif /* WGL_I3D_swap_frame_usage */
-
-/* --------------------------- WGL_NV_copy_image --------------------------- */
-
-#ifndef WGL_NV_copy_image
-#define WGL_NV_copy_image 1
-
-typedef BOOL (WINAPI * PFNWGLCOPYIMAGESUBDATANVPROC) (HGLRC hSrcRC, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, HGLRC hDstRC, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);
-
-#define wglCopyImageSubDataNV WGLEW_GET_FUN(__wglewCopyImageSubDataNV)
-
-#define WGLEW_NV_copy_image WGLEW_GET_VAR(__WGLEW_NV_copy_image)
-
-#endif /* WGL_NV_copy_image */
-
-/* -------------------------- WGL_NV_float_buffer -------------------------- */
-
-#ifndef WGL_NV_float_buffer
-#define WGL_NV_float_buffer 1
-
-#define WGL_FLOAT_COMPONENTS_NV 0x20B0
-#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV 0x20B1
-#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV 0x20B2
-#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV 0x20B3
-#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV 0x20B4
-#define WGL_TEXTURE_FLOAT_R_NV 0x20B5
-#define WGL_TEXTURE_FLOAT_RG_NV 0x20B6
-#define WGL_TEXTURE_FLOAT_RGB_NV 0x20B7
-#define WGL_TEXTURE_FLOAT_RGBA_NV 0x20B8
-
-#define WGLEW_NV_float_buffer WGLEW_GET_VAR(__WGLEW_NV_float_buffer)
-
-#endif /* WGL_NV_float_buffer */
-
-/* -------------------------- WGL_NV_gpu_affinity -------------------------- */
-
-#ifndef WGL_NV_gpu_affinity
-#define WGL_NV_gpu_affinity 1
-
-#define WGL_ERROR_INCOMPATIBLE_AFFINITY_MASKS_NV 0x20D0
-#define WGL_ERROR_MISSING_AFFINITY_MASK_NV 0x20D1
-
-DECLARE_HANDLE(HGPUNV);
-typedef struct _GPU_DEVICE {
- DWORD cb;
- CHAR DeviceName[32];
- CHAR DeviceString[128];
- DWORD Flags;
- RECT rcVirtualScreen;
-} GPU_DEVICE, *PGPU_DEVICE;
-
-typedef HDC (WINAPI * PFNWGLCREATEAFFINITYDCNVPROC) (const HGPUNV *phGpuList);
-typedef BOOL (WINAPI * PFNWGLDELETEDCNVPROC) (HDC hdc);
-typedef BOOL (WINAPI * PFNWGLENUMGPUDEVICESNVPROC) (HGPUNV hGpu, UINT iDeviceIndex, PGPU_DEVICE lpGpuDevice);
-typedef BOOL (WINAPI * PFNWGLENUMGPUSFROMAFFINITYDCNVPROC) (HDC hAffinityDC, UINT iGpuIndex, HGPUNV *hGpu);
-typedef BOOL (WINAPI * PFNWGLENUMGPUSNVPROC) (UINT iGpuIndex, HGPUNV *phGpu);
-
-#define wglCreateAffinityDCNV WGLEW_GET_FUN(__wglewCreateAffinityDCNV)
-#define wglDeleteDCNV WGLEW_GET_FUN(__wglewDeleteDCNV)
-#define wglEnumGpuDevicesNV WGLEW_GET_FUN(__wglewEnumGpuDevicesNV)
-#define wglEnumGpusFromAffinityDCNV WGLEW_GET_FUN(__wglewEnumGpusFromAffinityDCNV)
-#define wglEnumGpusNV WGLEW_GET_FUN(__wglewEnumGpusNV)
-
-#define WGLEW_NV_gpu_affinity WGLEW_GET_VAR(__WGLEW_NV_gpu_affinity)
-
-#endif /* WGL_NV_gpu_affinity */
-
-/* -------------------------- WGL_NV_present_video ------------------------- */
-
-#ifndef WGL_NV_present_video
-#define WGL_NV_present_video 1
-
-#define WGL_NUM_VIDEO_SLOTS_NV 0x20F0
-
-DECLARE_HANDLE(HVIDEOOUTPUTDEVICENV);
-
-typedef BOOL (WINAPI * PFNWGLBINDVIDEODEVICENVPROC) (HDC hDc, unsigned int uVideoSlot, HVIDEOOUTPUTDEVICENV hVideoDevice, const int* piAttribList);
-typedef int (WINAPI * PFNWGLENUMERATEVIDEODEVICESNVPROC) (HDC hDc, HVIDEOOUTPUTDEVICENV* phDeviceList);
-typedef BOOL (WINAPI * PFNWGLQUERYCURRENTCONTEXTNVPROC) (int iAttribute, int* piValue);
-
-#define wglBindVideoDeviceNV WGLEW_GET_FUN(__wglewBindVideoDeviceNV)
-#define wglEnumerateVideoDevicesNV WGLEW_GET_FUN(__wglewEnumerateVideoDevicesNV)
-#define wglQueryCurrentContextNV WGLEW_GET_FUN(__wglewQueryCurrentContextNV)
-
-#define WGLEW_NV_present_video WGLEW_GET_VAR(__WGLEW_NV_present_video)
-
-#endif /* WGL_NV_present_video */
-
-/* ---------------------- WGL_NV_render_depth_texture ---------------------- */
-
-#ifndef WGL_NV_render_depth_texture
-#define WGL_NV_render_depth_texture 1
-
-#define WGL_NO_TEXTURE_ARB 0x2077
-#define WGL_BIND_TO_TEXTURE_DEPTH_NV 0x20A3
-#define WGL_BIND_TO_TEXTURE_RECTANGLE_DEPTH_NV 0x20A4
-#define WGL_DEPTH_TEXTURE_FORMAT_NV 0x20A5
-#define WGL_TEXTURE_DEPTH_COMPONENT_NV 0x20A6
-#define WGL_DEPTH_COMPONENT_NV 0x20A7
-
-#define WGLEW_NV_render_depth_texture WGLEW_GET_VAR(__WGLEW_NV_render_depth_texture)
-
-#endif /* WGL_NV_render_depth_texture */
-
-/* -------------------- WGL_NV_render_texture_rectangle -------------------- */
-
-#ifndef WGL_NV_render_texture_rectangle
-#define WGL_NV_render_texture_rectangle 1
-
-#define WGL_BIND_TO_TEXTURE_RECTANGLE_RGB_NV 0x20A0
-#define WGL_BIND_TO_TEXTURE_RECTANGLE_RGBA_NV 0x20A1
-#define WGL_TEXTURE_RECTANGLE_NV 0x20A2
-
-#define WGLEW_NV_render_texture_rectangle WGLEW_GET_VAR(__WGLEW_NV_render_texture_rectangle)
-
-#endif /* WGL_NV_render_texture_rectangle */
-
-/* --------------------------- WGL_NV_swap_group --------------------------- */
-
-#ifndef WGL_NV_swap_group
-#define WGL_NV_swap_group 1
-
-typedef BOOL (WINAPI * PFNWGLBINDSWAPBARRIERNVPROC) (GLuint group, GLuint barrier);
-typedef BOOL (WINAPI * PFNWGLJOINSWAPGROUPNVPROC) (HDC hDC, GLuint group);
-typedef BOOL (WINAPI * PFNWGLQUERYFRAMECOUNTNVPROC) (HDC hDC, GLuint* count);
-typedef BOOL (WINAPI * PFNWGLQUERYMAXSWAPGROUPSNVPROC) (HDC hDC, GLuint* maxGroups, GLuint *maxBarriers);
-typedef BOOL (WINAPI * PFNWGLQUERYSWAPGROUPNVPROC) (HDC hDC, GLuint* group, GLuint *barrier);
-typedef BOOL (WINAPI * PFNWGLRESETFRAMECOUNTNVPROC) (HDC hDC);
-
-#define wglBindSwapBarrierNV WGLEW_GET_FUN(__wglewBindSwapBarrierNV)
-#define wglJoinSwapGroupNV WGLEW_GET_FUN(__wglewJoinSwapGroupNV)
-#define wglQueryFrameCountNV WGLEW_GET_FUN(__wglewQueryFrameCountNV)
-#define wglQueryMaxSwapGroupsNV WGLEW_GET_FUN(__wglewQueryMaxSwapGroupsNV)
-#define wglQuerySwapGroupNV WGLEW_GET_FUN(__wglewQuerySwapGroupNV)
-#define wglResetFrameCountNV WGLEW_GET_FUN(__wglewResetFrameCountNV)
-
-#define WGLEW_NV_swap_group WGLEW_GET_VAR(__WGLEW_NV_swap_group)
-
-#endif /* WGL_NV_swap_group */
-
-/* ----------------------- WGL_NV_vertex_array_range ----------------------- */
-
-#ifndef WGL_NV_vertex_array_range
-#define WGL_NV_vertex_array_range 1
-
-typedef void * (WINAPI * PFNWGLALLOCATEMEMORYNVPROC) (GLsizei size, GLfloat readFrequency, GLfloat writeFrequency, GLfloat priority);
-typedef void (WINAPI * PFNWGLFREEMEMORYNVPROC) (void *pointer);
-
-#define wglAllocateMemoryNV WGLEW_GET_FUN(__wglewAllocateMemoryNV)
-#define wglFreeMemoryNV WGLEW_GET_FUN(__wglewFreeMemoryNV)
-
-#define WGLEW_NV_vertex_array_range WGLEW_GET_VAR(__WGLEW_NV_vertex_array_range)
-
-#endif /* WGL_NV_vertex_array_range */
-
-/* -------------------------- WGL_NV_video_output -------------------------- */
-
-#ifndef WGL_NV_video_output
-#define WGL_NV_video_output 1
-
-#define WGL_BIND_TO_VIDEO_RGB_NV 0x20C0
-#define WGL_BIND_TO_VIDEO_RGBA_NV 0x20C1
-#define WGL_BIND_TO_VIDEO_RGB_AND_DEPTH_NV 0x20C2
-#define WGL_VIDEO_OUT_COLOR_NV 0x20C3
-#define WGL_VIDEO_OUT_ALPHA_NV 0x20C4
-#define WGL_VIDEO_OUT_DEPTH_NV 0x20C5
-#define WGL_VIDEO_OUT_COLOR_AND_ALPHA_NV 0x20C6
-#define WGL_VIDEO_OUT_COLOR_AND_DEPTH_NV 0x20C7
-#define WGL_VIDEO_OUT_FRAME 0x20C8
-#define WGL_VIDEO_OUT_FIELD_1 0x20C9
-#define WGL_VIDEO_OUT_FIELD_2 0x20CA
-#define WGL_VIDEO_OUT_STACKED_FIELDS_1_2 0x20CB
-#define WGL_VIDEO_OUT_STACKED_FIELDS_2_1 0x20CC
-
-DECLARE_HANDLE(HPVIDEODEV);
-
-typedef BOOL (WINAPI * PFNWGLBINDVIDEOIMAGENVPROC) (HPVIDEODEV hVideoDevice, HPBUFFERARB hPbuffer, int iVideoBuffer);
-typedef BOOL (WINAPI * PFNWGLGETVIDEODEVICENVPROC) (HDC hDC, int numDevices, HPVIDEODEV* hVideoDevice);
-typedef BOOL (WINAPI * PFNWGLGETVIDEOINFONVPROC) (HPVIDEODEV hpVideoDevice, unsigned long* pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo);
-typedef BOOL (WINAPI * PFNWGLRELEASEVIDEODEVICENVPROC) (HPVIDEODEV hVideoDevice);
-typedef BOOL (WINAPI * PFNWGLRELEASEVIDEOIMAGENVPROC) (HPBUFFERARB hPbuffer, int iVideoBuffer);
-typedef BOOL (WINAPI * PFNWGLSENDPBUFFERTOVIDEONVPROC) (HPBUFFERARB hPbuffer, int iBufferType, unsigned long* pulCounterPbuffer, BOOL bBlock);
-
-#define wglBindVideoImageNV WGLEW_GET_FUN(__wglewBindVideoImageNV)
-#define wglGetVideoDeviceNV WGLEW_GET_FUN(__wglewGetVideoDeviceNV)
-#define wglGetVideoInfoNV WGLEW_GET_FUN(__wglewGetVideoInfoNV)
-#define wglReleaseVideoDeviceNV WGLEW_GET_FUN(__wglewReleaseVideoDeviceNV)
-#define wglReleaseVideoImageNV WGLEW_GET_FUN(__wglewReleaseVideoImageNV)
-#define wglSendPbufferToVideoNV WGLEW_GET_FUN(__wglewSendPbufferToVideoNV)
-
-#define WGLEW_NV_video_output WGLEW_GET_VAR(__WGLEW_NV_video_output)
-
-#endif /* WGL_NV_video_output */
-
-/* -------------------------- WGL_OML_sync_control ------------------------- */
-
-#ifndef WGL_OML_sync_control
-#define WGL_OML_sync_control 1
-
-typedef BOOL (WINAPI * PFNWGLGETMSCRATEOMLPROC) (HDC hdc, INT32* numerator, INT32 *denominator);
-typedef BOOL (WINAPI * PFNWGLGETSYNCVALUESOMLPROC) (HDC hdc, INT64* ust, INT64 *msc, INT64 *sbc);
-typedef INT64 (WINAPI * PFNWGLSWAPBUFFERSMSCOMLPROC) (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder);
-typedef INT64 (WINAPI * PFNWGLSWAPLAYERBUFFERSMSCOMLPROC) (HDC hdc, INT fuPlanes, INT64 target_msc, INT64 divisor, INT64 remainder);
-typedef BOOL (WINAPI * PFNWGLWAITFORMSCOMLPROC) (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder, INT64* ust, INT64 *msc, INT64 *sbc);
-typedef BOOL (WINAPI * PFNWGLWAITFORSBCOMLPROC) (HDC hdc, INT64 target_sbc, INT64* ust, INT64 *msc, INT64 *sbc);
-
-#define wglGetMscRateOML WGLEW_GET_FUN(__wglewGetMscRateOML)
-#define wglGetSyncValuesOML WGLEW_GET_FUN(__wglewGetSyncValuesOML)
-#define wglSwapBuffersMscOML WGLEW_GET_FUN(__wglewSwapBuffersMscOML)
-#define wglSwapLayerBuffersMscOML WGLEW_GET_FUN(__wglewSwapLayerBuffersMscOML)
-#define wglWaitForMscOML WGLEW_GET_FUN(__wglewWaitForMscOML)
-#define wglWaitForSbcOML WGLEW_GET_FUN(__wglewWaitForSbcOML)
-
-#define WGLEW_OML_sync_control WGLEW_GET_VAR(__WGLEW_OML_sync_control)
-
-#endif /* WGL_OML_sync_control */
-
-/* ------------------------------------------------------------------------- */
-
-#ifdef GLEW_MX
-#define WGLEW_EXPORT
-#else
-#define WGLEW_EXPORT GLEWAPI
-#endif /* GLEW_MX */
-
-#ifdef GLEW_MX
-struct WGLEWContextStruct
-{
-#endif /* GLEW_MX */
-
-WGLEW_EXPORT PFNWGLSETSTEREOEMITTERSTATE3DLPROC __wglewSetStereoEmitterState3DL;
-
-WGLEW_EXPORT PFNWGLBLITCONTEXTFRAMEBUFFERAMDPROC __wglewBlitContextFramebufferAMD;
-WGLEW_EXPORT PFNWGLCREATEASSOCIATEDCONTEXTAMDPROC __wglewCreateAssociatedContextAMD;
-WGLEW_EXPORT PFNWGLCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC __wglewCreateAssociatedContextAttribsAMD;
-WGLEW_EXPORT PFNWGLDELETEASSOCIATEDCONTEXTAMDPROC __wglewDeleteAssociatedContextAMD;
-WGLEW_EXPORT PFNWGLGETCONTEXTGPUIDAMDPROC __wglewGetContextGPUIDAMD;
-WGLEW_EXPORT PFNWGLGETCURRENTASSOCIATEDCONTEXTAMDPROC __wglewGetCurrentAssociatedContextAMD;
-WGLEW_EXPORT PFNWGLGETGPUIDSAMDPROC __wglewGetGPUIDsAMD;
-WGLEW_EXPORT PFNWGLGETGPUINFOAMDPROC __wglewGetGPUInfoAMD;
-WGLEW_EXPORT PFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC __wglewMakeAssociatedContextCurrentAMD;
-
-WGLEW_EXPORT PFNWGLCREATEBUFFERREGIONARBPROC __wglewCreateBufferRegionARB;
-WGLEW_EXPORT PFNWGLDELETEBUFFERREGIONARBPROC __wglewDeleteBufferRegionARB;
-WGLEW_EXPORT PFNWGLRESTOREBUFFERREGIONARBPROC __wglewRestoreBufferRegionARB;
-WGLEW_EXPORT PFNWGLSAVEBUFFERREGIONARBPROC __wglewSaveBufferRegionARB;
-
-WGLEW_EXPORT PFNWGLCREATECONTEXTATTRIBSARBPROC __wglewCreateContextAttribsARB;
-
-WGLEW_EXPORT PFNWGLGETEXTENSIONSSTRINGARBPROC __wglewGetExtensionsStringARB;
-
-WGLEW_EXPORT PFNWGLGETCURRENTREADDCARBPROC __wglewGetCurrentReadDCARB;
-WGLEW_EXPORT PFNWGLMAKECONTEXTCURRENTARBPROC __wglewMakeContextCurrentARB;
-
-WGLEW_EXPORT PFNWGLCREATEPBUFFERARBPROC __wglewCreatePbufferARB;
-WGLEW_EXPORT PFNWGLDESTROYPBUFFERARBPROC __wglewDestroyPbufferARB;
-WGLEW_EXPORT PFNWGLGETPBUFFERDCARBPROC __wglewGetPbufferDCARB;
-WGLEW_EXPORT PFNWGLQUERYPBUFFERARBPROC __wglewQueryPbufferARB;
-WGLEW_EXPORT PFNWGLRELEASEPBUFFERDCARBPROC __wglewReleasePbufferDCARB;
-
-WGLEW_EXPORT PFNWGLCHOOSEPIXELFORMATARBPROC __wglewChoosePixelFormatARB;
-WGLEW_EXPORT PFNWGLGETPIXELFORMATATTRIBFVARBPROC __wglewGetPixelFormatAttribfvARB;
-WGLEW_EXPORT PFNWGLGETPIXELFORMATATTRIBIVARBPROC __wglewGetPixelFormatAttribivARB;
-
-WGLEW_EXPORT PFNWGLBINDTEXIMAGEARBPROC __wglewBindTexImageARB;
-WGLEW_EXPORT PFNWGLRELEASETEXIMAGEARBPROC __wglewReleaseTexImageARB;
-WGLEW_EXPORT PFNWGLSETPBUFFERATTRIBARBPROC __wglewSetPbufferAttribARB;
-
-WGLEW_EXPORT PFNWGLBINDDISPLAYCOLORTABLEEXTPROC __wglewBindDisplayColorTableEXT;
-WGLEW_EXPORT PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC __wglewCreateDisplayColorTableEXT;
-WGLEW_EXPORT PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC __wglewDestroyDisplayColorTableEXT;
-WGLEW_EXPORT PFNWGLLOADDISPLAYCOLORTABLEEXTPROC __wglewLoadDisplayColorTableEXT;
-
-WGLEW_EXPORT PFNWGLGETEXTENSIONSSTRINGEXTPROC __wglewGetExtensionsStringEXT;
-
-WGLEW_EXPORT PFNWGLGETCURRENTREADDCEXTPROC __wglewGetCurrentReadDCEXT;
-WGLEW_EXPORT PFNWGLMAKECONTEXTCURRENTEXTPROC __wglewMakeContextCurrentEXT;
-
-WGLEW_EXPORT PFNWGLCREATEPBUFFEREXTPROC __wglewCreatePbufferEXT;
-WGLEW_EXPORT PFNWGLDESTROYPBUFFEREXTPROC __wglewDestroyPbufferEXT;
-WGLEW_EXPORT PFNWGLGETPBUFFERDCEXTPROC __wglewGetPbufferDCEXT;
-WGLEW_EXPORT PFNWGLQUERYPBUFFEREXTPROC __wglewQueryPbufferEXT;
-WGLEW_EXPORT PFNWGLRELEASEPBUFFERDCEXTPROC __wglewReleasePbufferDCEXT;
-
-WGLEW_EXPORT PFNWGLCHOOSEPIXELFORMATEXTPROC __wglewChoosePixelFormatEXT;
-WGLEW_EXPORT PFNWGLGETPIXELFORMATATTRIBFVEXTPROC __wglewGetPixelFormatAttribfvEXT;
-WGLEW_EXPORT PFNWGLGETPIXELFORMATATTRIBIVEXTPROC __wglewGetPixelFormatAttribivEXT;
-
-WGLEW_EXPORT PFNWGLGETSWAPINTERVALEXTPROC __wglewGetSwapIntervalEXT;
-WGLEW_EXPORT PFNWGLSWAPINTERVALEXTPROC __wglewSwapIntervalEXT;
-
-WGLEW_EXPORT PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC __wglewGetDigitalVideoParametersI3D;
-WGLEW_EXPORT PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC __wglewSetDigitalVideoParametersI3D;
-
-WGLEW_EXPORT PFNWGLGETGAMMATABLEI3DPROC __wglewGetGammaTableI3D;
-WGLEW_EXPORT PFNWGLGETGAMMATABLEPARAMETERSI3DPROC __wglewGetGammaTableParametersI3D;
-WGLEW_EXPORT PFNWGLSETGAMMATABLEI3DPROC __wglewSetGammaTableI3D;
-WGLEW_EXPORT PFNWGLSETGAMMATABLEPARAMETERSI3DPROC __wglewSetGammaTableParametersI3D;
-
-WGLEW_EXPORT PFNWGLDISABLEGENLOCKI3DPROC __wglewDisableGenlockI3D;
-WGLEW_EXPORT PFNWGLENABLEGENLOCKI3DPROC __wglewEnableGenlockI3D;
-WGLEW_EXPORT PFNWGLGENLOCKSAMPLERATEI3DPROC __wglewGenlockSampleRateI3D;
-WGLEW_EXPORT PFNWGLGENLOCKSOURCEDELAYI3DPROC __wglewGenlockSourceDelayI3D;
-WGLEW_EXPORT PFNWGLGENLOCKSOURCEEDGEI3DPROC __wglewGenlockSourceEdgeI3D;
-WGLEW_EXPORT PFNWGLGENLOCKSOURCEI3DPROC __wglewGenlockSourceI3D;
-WGLEW_EXPORT PFNWGLGETGENLOCKSAMPLERATEI3DPROC __wglewGetGenlockSampleRateI3D;
-WGLEW_EXPORT PFNWGLGETGENLOCKSOURCEDELAYI3DPROC __wglewGetGenlockSourceDelayI3D;
-WGLEW_EXPORT PFNWGLGETGENLOCKSOURCEEDGEI3DPROC __wglewGetGenlockSourceEdgeI3D;
-WGLEW_EXPORT PFNWGLGETGENLOCKSOURCEI3DPROC __wglewGetGenlockSourceI3D;
-WGLEW_EXPORT PFNWGLISENABLEDGENLOCKI3DPROC __wglewIsEnabledGenlockI3D;
-WGLEW_EXPORT PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC __wglewQueryGenlockMaxSourceDelayI3D;
-
-WGLEW_EXPORT PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC __wglewAssociateImageBufferEventsI3D;
-WGLEW_EXPORT PFNWGLCREATEIMAGEBUFFERI3DPROC __wglewCreateImageBufferI3D;
-WGLEW_EXPORT PFNWGLDESTROYIMAGEBUFFERI3DPROC __wglewDestroyImageBufferI3D;
-WGLEW_EXPORT PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC __wglewReleaseImageBufferEventsI3D;
-
-WGLEW_EXPORT PFNWGLDISABLEFRAMELOCKI3DPROC __wglewDisableFrameLockI3D;
-WGLEW_EXPORT PFNWGLENABLEFRAMELOCKI3DPROC __wglewEnableFrameLockI3D;
-WGLEW_EXPORT PFNWGLISENABLEDFRAMELOCKI3DPROC __wglewIsEnabledFrameLockI3D;
-WGLEW_EXPORT PFNWGLQUERYFRAMELOCKMASTERI3DPROC __wglewQueryFrameLockMasterI3D;
-
-WGLEW_EXPORT PFNWGLBEGINFRAMETRACKINGI3DPROC __wglewBeginFrameTrackingI3D;
-WGLEW_EXPORT PFNWGLENDFRAMETRACKINGI3DPROC __wglewEndFrameTrackingI3D;
-WGLEW_EXPORT PFNWGLGETFRAMEUSAGEI3DPROC __wglewGetFrameUsageI3D;
-WGLEW_EXPORT PFNWGLQUERYFRAMETRACKINGI3DPROC __wglewQueryFrameTrackingI3D;
-
-WGLEW_EXPORT PFNWGLCOPYIMAGESUBDATANVPROC __wglewCopyImageSubDataNV;
-
-WGLEW_EXPORT PFNWGLCREATEAFFINITYDCNVPROC __wglewCreateAffinityDCNV;
-WGLEW_EXPORT PFNWGLDELETEDCNVPROC __wglewDeleteDCNV;
-WGLEW_EXPORT PFNWGLENUMGPUDEVICESNVPROC __wglewEnumGpuDevicesNV;
-WGLEW_EXPORT PFNWGLENUMGPUSFROMAFFINITYDCNVPROC __wglewEnumGpusFromAffinityDCNV;
-WGLEW_EXPORT PFNWGLENUMGPUSNVPROC __wglewEnumGpusNV;
-
-WGLEW_EXPORT PFNWGLBINDVIDEODEVICENVPROC __wglewBindVideoDeviceNV;
-WGLEW_EXPORT PFNWGLENUMERATEVIDEODEVICESNVPROC __wglewEnumerateVideoDevicesNV;
-WGLEW_EXPORT PFNWGLQUERYCURRENTCONTEXTNVPROC __wglewQueryCurrentContextNV;
-
-WGLEW_EXPORT PFNWGLBINDSWAPBARRIERNVPROC __wglewBindSwapBarrierNV;
-WGLEW_EXPORT PFNWGLJOINSWAPGROUPNVPROC __wglewJoinSwapGroupNV;
-WGLEW_EXPORT PFNWGLQUERYFRAMECOUNTNVPROC __wglewQueryFrameCountNV;
-WGLEW_EXPORT PFNWGLQUERYMAXSWAPGROUPSNVPROC __wglewQueryMaxSwapGroupsNV;
-WGLEW_EXPORT PFNWGLQUERYSWAPGROUPNVPROC __wglewQuerySwapGroupNV;
-WGLEW_EXPORT PFNWGLRESETFRAMECOUNTNVPROC __wglewResetFrameCountNV;
-
-WGLEW_EXPORT PFNWGLALLOCATEMEMORYNVPROC __wglewAllocateMemoryNV;
-WGLEW_EXPORT PFNWGLFREEMEMORYNVPROC __wglewFreeMemoryNV;
-
-WGLEW_EXPORT PFNWGLBINDVIDEOIMAGENVPROC __wglewBindVideoImageNV;
-WGLEW_EXPORT PFNWGLGETVIDEODEVICENVPROC __wglewGetVideoDeviceNV;
-WGLEW_EXPORT PFNWGLGETVIDEOINFONVPROC __wglewGetVideoInfoNV;
-WGLEW_EXPORT PFNWGLRELEASEVIDEODEVICENVPROC __wglewReleaseVideoDeviceNV;
-WGLEW_EXPORT PFNWGLRELEASEVIDEOIMAGENVPROC __wglewReleaseVideoImageNV;
-WGLEW_EXPORT PFNWGLSENDPBUFFERTOVIDEONVPROC __wglewSendPbufferToVideoNV;
-
-WGLEW_EXPORT PFNWGLGETMSCRATEOMLPROC __wglewGetMscRateOML;
-WGLEW_EXPORT PFNWGLGETSYNCVALUESOMLPROC __wglewGetSyncValuesOML;
-WGLEW_EXPORT PFNWGLSWAPBUFFERSMSCOMLPROC __wglewSwapBuffersMscOML;
-WGLEW_EXPORT PFNWGLSWAPLAYERBUFFERSMSCOMLPROC __wglewSwapLayerBuffersMscOML;
-WGLEW_EXPORT PFNWGLWAITFORMSCOMLPROC __wglewWaitForMscOML;
-WGLEW_EXPORT PFNWGLWAITFORSBCOMLPROC __wglewWaitForSbcOML;
-WGLEW_EXPORT GLboolean __WGLEW_3DFX_multisample;
-WGLEW_EXPORT GLboolean __WGLEW_3DL_stereo_control;
-WGLEW_EXPORT GLboolean __WGLEW_AMD_gpu_association;
-WGLEW_EXPORT GLboolean __WGLEW_ARB_buffer_region;
-WGLEW_EXPORT GLboolean __WGLEW_ARB_create_context;
-WGLEW_EXPORT GLboolean __WGLEW_ARB_create_context_profile;
-WGLEW_EXPORT GLboolean __WGLEW_ARB_extensions_string;
-WGLEW_EXPORT GLboolean __WGLEW_ARB_framebuffer_sRGB;
-WGLEW_EXPORT GLboolean __WGLEW_ARB_make_current_read;
-WGLEW_EXPORT GLboolean __WGLEW_ARB_multisample;
-WGLEW_EXPORT GLboolean __WGLEW_ARB_pbuffer;
-WGLEW_EXPORT GLboolean __WGLEW_ARB_pixel_format;
-WGLEW_EXPORT GLboolean __WGLEW_ARB_pixel_format_float;
-WGLEW_EXPORT GLboolean __WGLEW_ARB_render_texture;
-WGLEW_EXPORT GLboolean __WGLEW_ATI_pixel_format_float;
-WGLEW_EXPORT GLboolean __WGLEW_ATI_render_texture_rectangle;
-WGLEW_EXPORT GLboolean __WGLEW_EXT_depth_float;
-WGLEW_EXPORT GLboolean __WGLEW_EXT_display_color_table;
-WGLEW_EXPORT GLboolean __WGLEW_EXT_extensions_string;
-WGLEW_EXPORT GLboolean __WGLEW_EXT_framebuffer_sRGB;
-WGLEW_EXPORT GLboolean __WGLEW_EXT_make_current_read;
-WGLEW_EXPORT GLboolean __WGLEW_EXT_multisample;
-WGLEW_EXPORT GLboolean __WGLEW_EXT_pbuffer;
-WGLEW_EXPORT GLboolean __WGLEW_EXT_pixel_format;
-WGLEW_EXPORT GLboolean __WGLEW_EXT_pixel_format_packed_float;
-WGLEW_EXPORT GLboolean __WGLEW_EXT_swap_control;
-WGLEW_EXPORT GLboolean __WGLEW_I3D_digital_video_control;
-WGLEW_EXPORT GLboolean __WGLEW_I3D_gamma;
-WGLEW_EXPORT GLboolean __WGLEW_I3D_genlock;
-WGLEW_EXPORT GLboolean __WGLEW_I3D_image_buffer;
-WGLEW_EXPORT GLboolean __WGLEW_I3D_swap_frame_lock;
-WGLEW_EXPORT GLboolean __WGLEW_I3D_swap_frame_usage;
-WGLEW_EXPORT GLboolean __WGLEW_NV_copy_image;
-WGLEW_EXPORT GLboolean __WGLEW_NV_float_buffer;
-WGLEW_EXPORT GLboolean __WGLEW_NV_gpu_affinity;
-WGLEW_EXPORT GLboolean __WGLEW_NV_present_video;
-WGLEW_EXPORT GLboolean __WGLEW_NV_render_depth_texture;
-WGLEW_EXPORT GLboolean __WGLEW_NV_render_texture_rectangle;
-WGLEW_EXPORT GLboolean __WGLEW_NV_swap_group;
-WGLEW_EXPORT GLboolean __WGLEW_NV_vertex_array_range;
-WGLEW_EXPORT GLboolean __WGLEW_NV_video_output;
-WGLEW_EXPORT GLboolean __WGLEW_OML_sync_control;
-
-#ifdef GLEW_MX
-}; /* WGLEWContextStruct */
-#endif /* GLEW_MX */
-
-/* ------------------------------------------------------------------------- */
-
-#ifdef GLEW_MX
-
-typedef struct WGLEWContextStruct WGLEWContext;
-GLEWAPI GLenum wglewContextInit (WGLEWContext* ctx);
-GLEWAPI GLboolean wglewContextIsSupported (WGLEWContext* ctx, const char* name);
-
-#define wglewInit() wglewContextInit(wglewGetContext())
-#define wglewIsSupported(x) wglewContextIsSupported(wglewGetContext(), x)
-
-#define WGLEW_GET_VAR(x) (*(const GLboolean*)&(wglewGetContext()->x))
-#define WGLEW_GET_FUN(x) wglewGetContext()->x
-
-#else /* GLEW_MX */
-
-#define WGLEW_GET_VAR(x) (*(const GLboolean*)&x)
-#define WGLEW_GET_FUN(x) x
-
-GLEWAPI GLboolean wglewIsSupported (const char* name);
-
-#endif /* GLEW_MX */
-
-GLEWAPI GLboolean wglewGetExtension (const char* name);
-
-#ifdef __cplusplus
-}
-#endif
-
-#undef GLEWAPI
-
-#endif /* __wglew_h__ */
+/*
+** The OpenGL Extension Wrangler Library
+** Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
+** Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
+** Copyright (C) 2002, Lev Povalahev
+** All rights reserved.
+**
+** Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are met:
+**
+** * Redistributions of source code must retain the above copyright notice,
+** this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright notice,
+** this list of conditions and the following disclaimer in the documentation
+** and/or other materials provided with the distribution.
+** * The name of the author may be used to endorse or promote products
+** derived from this software without specific prior written permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+** AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+** ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+** LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+** CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+** SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+** INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+** CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+** ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+** THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+/*
+** Copyright (c) 2007 The Khronos Group Inc.
+**
+** Permission is hereby granted, free of charge, to any person obtaining a
+** copy of this software and/or associated documentation files (the
+** "Materials"), to deal in the Materials without restriction, including
+** without limitation the rights to use, copy, modify, merge, publish,
+** distribute, sublicense, and/or sell copies of the Materials, and to
+** permit persons to whom the Materials are 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 Materials.
+**
+** THE MATERIALS ARE 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 THE AUTHORS OR COPYRIGHT HOLDERS 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
+** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
+*/
+
+#ifndef __wglew_h__
+#define __wglew_h__
+#define __WGLEW_H__
+
+#ifdef __wglext_h_
+#error wglext.h included before wglew.h
+#endif
+
+#define __wglext_h_
+
+#if !defined(WINAPI)
+# ifndef WIN32_LEAN_AND_MEAN
+# define WIN32_LEAN_AND_MEAN 1
+# endif
+#include <windows.h>
+# undef WIN32_LEAN_AND_MEAN
+#endif
+
+/*
+ * GLEW_STATIC needs to be set when using the static version.
+ * GLEW_BUILD is set when building the DLL version.
+ */
+#ifdef GLEW_STATIC
+# define GLEWAPI extern
+#else
+# ifdef GLEW_BUILD
+# define GLEWAPI extern __declspec(dllexport)
+# else
+# define GLEWAPI extern __declspec(dllimport)
+# endif
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* -------------------------- WGL_3DFX_multisample ------------------------- */
+
+#ifndef WGL_3DFX_multisample
+#define WGL_3DFX_multisample 1
+
+#define WGL_SAMPLE_BUFFERS_3DFX 0x2060
+#define WGL_SAMPLES_3DFX 0x2061
+
+#define WGLEW_3DFX_multisample WGLEW_GET_VAR(__WGLEW_3DFX_multisample)
+
+#endif /* WGL_3DFX_multisample */
+
+/* ------------------------- WGL_3DL_stereo_control ------------------------ */
+
+#ifndef WGL_3DL_stereo_control
+#define WGL_3DL_stereo_control 1
+
+#define WGL_STEREO_EMITTER_ENABLE_3DL 0x2055
+#define WGL_STEREO_EMITTER_DISABLE_3DL 0x2056
+#define WGL_STEREO_POLARITY_NORMAL_3DL 0x2057
+#define WGL_STEREO_POLARITY_INVERT_3DL 0x2058
+
+typedef BOOL (WINAPI * PFNWGLSETSTEREOEMITTERSTATE3DLPROC) (HDC hDC, UINT uState);
+
+#define wglSetStereoEmitterState3DL WGLEW_GET_FUN(__wglewSetStereoEmitterState3DL)
+
+#define WGLEW_3DL_stereo_control WGLEW_GET_VAR(__WGLEW_3DL_stereo_control)
+
+#endif /* WGL_3DL_stereo_control */
+
+/* ------------------------ WGL_AMD_gpu_association ------------------------ */
+
+#ifndef WGL_AMD_gpu_association
+#define WGL_AMD_gpu_association 1
+
+#define WGL_GPU_VENDOR_AMD 0x1F00
+#define WGL_GPU_RENDERER_STRING_AMD 0x1F01
+#define WGL_GPU_OPENGL_VERSION_STRING_AMD 0x1F02
+#define WGL_GPU_FASTEST_TARGET_GPUS_AMD 0x21A2
+#define WGL_GPU_RAM_AMD 0x21A3
+#define WGL_GPU_CLOCK_AMD 0x21A4
+#define WGL_GPU_NUM_PIPES_AMD 0x21A5
+#define WGL_GPU_NUM_SIMD_AMD 0x21A6
+#define WGL_GPU_NUM_RB_AMD 0x21A7
+#define WGL_GPU_NUM_SPI_AMD 0x21A8
+
+typedef VOID (WINAPI * PFNWGLBLITCONTEXTFRAMEBUFFERAMDPROC) (HGLRC dstCtx, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
+typedef HGLRC (WINAPI * PFNWGLCREATEASSOCIATEDCONTEXTAMDPROC) (UINT id);
+typedef HGLRC (WINAPI * PFNWGLCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC) (UINT id, HGLRC hShareContext, const int* attribList);
+typedef BOOL (WINAPI * PFNWGLDELETEASSOCIATEDCONTEXTAMDPROC) (HGLRC hglrc);
+typedef UINT (WINAPI * PFNWGLGETCONTEXTGPUIDAMDPROC) (HGLRC hglrc);
+typedef HGLRC (WINAPI * PFNWGLGETCURRENTASSOCIATEDCONTEXTAMDPROC) (void);
+typedef UINT (WINAPI * PFNWGLGETGPUIDSAMDPROC) (UINT maxCount, UINT* ids);
+typedef INT (WINAPI * PFNWGLGETGPUINFOAMDPROC) (UINT id, INT property, GLenum dataType, UINT size, void* data);
+typedef BOOL (WINAPI * PFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC) (HGLRC hglrc);
+
+#define wglBlitContextFramebufferAMD WGLEW_GET_FUN(__wglewBlitContextFramebufferAMD)
+#define wglCreateAssociatedContextAMD WGLEW_GET_FUN(__wglewCreateAssociatedContextAMD)
+#define wglCreateAssociatedContextAttribsAMD WGLEW_GET_FUN(__wglewCreateAssociatedContextAttribsAMD)
+#define wglDeleteAssociatedContextAMD WGLEW_GET_FUN(__wglewDeleteAssociatedContextAMD)
+#define wglGetContextGPUIDAMD WGLEW_GET_FUN(__wglewGetContextGPUIDAMD)
+#define wglGetCurrentAssociatedContextAMD WGLEW_GET_FUN(__wglewGetCurrentAssociatedContextAMD)
+#define wglGetGPUIDsAMD WGLEW_GET_FUN(__wglewGetGPUIDsAMD)
+#define wglGetGPUInfoAMD WGLEW_GET_FUN(__wglewGetGPUInfoAMD)
+#define wglMakeAssociatedContextCurrentAMD WGLEW_GET_FUN(__wglewMakeAssociatedContextCurrentAMD)
+
+#define WGLEW_AMD_gpu_association WGLEW_GET_VAR(__WGLEW_AMD_gpu_association)
+
+#endif /* WGL_AMD_gpu_association */
+
+/* ------------------------- WGL_ARB_buffer_region ------------------------- */
+
+#ifndef WGL_ARB_buffer_region
+#define WGL_ARB_buffer_region 1
+
+#define WGL_FRONT_COLOR_BUFFER_BIT_ARB 0x00000001
+#define WGL_BACK_COLOR_BUFFER_BIT_ARB 0x00000002
+#define WGL_DEPTH_BUFFER_BIT_ARB 0x00000004
+#define WGL_STENCIL_BUFFER_BIT_ARB 0x00000008
+
+typedef HANDLE (WINAPI * PFNWGLCREATEBUFFERREGIONARBPROC) (HDC hDC, int iLayerPlane, UINT uType);
+typedef VOID (WINAPI * PFNWGLDELETEBUFFERREGIONARBPROC) (HANDLE hRegion);
+typedef BOOL (WINAPI * PFNWGLRESTOREBUFFERREGIONARBPROC) (HANDLE hRegion, int x, int y, int width, int height, int xSrc, int ySrc);
+typedef BOOL (WINAPI * PFNWGLSAVEBUFFERREGIONARBPROC) (HANDLE hRegion, int x, int y, int width, int height);
+
+#define wglCreateBufferRegionARB WGLEW_GET_FUN(__wglewCreateBufferRegionARB)
+#define wglDeleteBufferRegionARB WGLEW_GET_FUN(__wglewDeleteBufferRegionARB)
+#define wglRestoreBufferRegionARB WGLEW_GET_FUN(__wglewRestoreBufferRegionARB)
+#define wglSaveBufferRegionARB WGLEW_GET_FUN(__wglewSaveBufferRegionARB)
+
+#define WGLEW_ARB_buffer_region WGLEW_GET_VAR(__WGLEW_ARB_buffer_region)
+
+#endif /* WGL_ARB_buffer_region */
+
+/* ------------------------- WGL_ARB_create_context ------------------------ */
+
+#ifndef WGL_ARB_create_context
+#define WGL_ARB_create_context 1
+
+#define WGL_CONTEXT_DEBUG_BIT_ARB 0x0001
+#define WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x0002
+#define WGL_CONTEXT_MAJOR_VERSION_ARB 0x2091
+#define WGL_CONTEXT_MINOR_VERSION_ARB 0x2092
+#define WGL_CONTEXT_LAYER_PLANE_ARB 0x2093
+#define WGL_CONTEXT_FLAGS_ARB 0x2094
+
+typedef HGLRC (WINAPI * PFNWGLCREATECONTEXTATTRIBSARBPROC) (HDC hDC, HGLRC hShareContext, const int* attribList);
+
+#define wglCreateContextAttribsARB WGLEW_GET_FUN(__wglewCreateContextAttribsARB)
+
+#define WGLEW_ARB_create_context WGLEW_GET_VAR(__WGLEW_ARB_create_context)
+
+#endif /* WGL_ARB_create_context */
+
+/* --------------------- WGL_ARB_create_context_profile -------------------- */
+
+#ifndef WGL_ARB_create_context_profile
+#define WGL_ARB_create_context_profile 1
+
+#define WGL_CONTEXT_CORE_PROFILE_BIT_ARB 0x00000001
+#define WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x00000002
+#define WGL_CONTEXT_PROFILE_MASK_ARB 0x9126
+
+#define WGLEW_ARB_create_context_profile WGLEW_GET_VAR(__WGLEW_ARB_create_context_profile)
+
+#endif /* WGL_ARB_create_context_profile */
+
+/* ----------------------- WGL_ARB_extensions_string ----------------------- */
+
+#ifndef WGL_ARB_extensions_string
+#define WGL_ARB_extensions_string 1
+
+typedef const char* (WINAPI * PFNWGLGETEXTENSIONSSTRINGARBPROC) (HDC hdc);
+
+#define wglGetExtensionsStringARB WGLEW_GET_FUN(__wglewGetExtensionsStringARB)
+
+#define WGLEW_ARB_extensions_string WGLEW_GET_VAR(__WGLEW_ARB_extensions_string)
+
+#endif /* WGL_ARB_extensions_string */
+
+/* ------------------------ WGL_ARB_framebuffer_sRGB ----------------------- */
+
+#ifndef WGL_ARB_framebuffer_sRGB
+#define WGL_ARB_framebuffer_sRGB 1
+
+#define WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB 0x20A9
+
+#define WGLEW_ARB_framebuffer_sRGB WGLEW_GET_VAR(__WGLEW_ARB_framebuffer_sRGB)
+
+#endif /* WGL_ARB_framebuffer_sRGB */
+
+/* ----------------------- WGL_ARB_make_current_read ----------------------- */
+
+#ifndef WGL_ARB_make_current_read
+#define WGL_ARB_make_current_read 1
+
+#define ERROR_INVALID_PIXEL_TYPE_ARB 0x2043
+#define ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB 0x2054
+
+typedef HDC (WINAPI * PFNWGLGETCURRENTREADDCARBPROC) (VOID);
+typedef BOOL (WINAPI * PFNWGLMAKECONTEXTCURRENTARBPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
+
+#define wglGetCurrentReadDCARB WGLEW_GET_FUN(__wglewGetCurrentReadDCARB)
+#define wglMakeContextCurrentARB WGLEW_GET_FUN(__wglewMakeContextCurrentARB)
+
+#define WGLEW_ARB_make_current_read WGLEW_GET_VAR(__WGLEW_ARB_make_current_read)
+
+#endif /* WGL_ARB_make_current_read */
+
+/* -------------------------- WGL_ARB_multisample -------------------------- */
+
+#ifndef WGL_ARB_multisample
+#define WGL_ARB_multisample 1
+
+#define WGL_SAMPLE_BUFFERS_ARB 0x2041
+#define WGL_SAMPLES_ARB 0x2042
+
+#define WGLEW_ARB_multisample WGLEW_GET_VAR(__WGLEW_ARB_multisample)
+
+#endif /* WGL_ARB_multisample */
+
+/* ---------------------------- WGL_ARB_pbuffer ---------------------------- */
+
+#ifndef WGL_ARB_pbuffer
+#define WGL_ARB_pbuffer 1
+
+#define WGL_DRAW_TO_PBUFFER_ARB 0x202D
+#define WGL_MAX_PBUFFER_PIXELS_ARB 0x202E
+#define WGL_MAX_PBUFFER_WIDTH_ARB 0x202F
+#define WGL_MAX_PBUFFER_HEIGHT_ARB 0x2030
+#define WGL_PBUFFER_LARGEST_ARB 0x2033
+#define WGL_PBUFFER_WIDTH_ARB 0x2034
+#define WGL_PBUFFER_HEIGHT_ARB 0x2035
+#define WGL_PBUFFER_LOST_ARB 0x2036
+
+DECLARE_HANDLE(HPBUFFERARB);
+
+typedef HPBUFFERARB (WINAPI * PFNWGLCREATEPBUFFERARBPROC) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int* piAttribList);
+typedef BOOL (WINAPI * PFNWGLDESTROYPBUFFERARBPROC) (HPBUFFERARB hPbuffer);
+typedef HDC (WINAPI * PFNWGLGETPBUFFERDCARBPROC) (HPBUFFERARB hPbuffer);
+typedef BOOL (WINAPI * PFNWGLQUERYPBUFFERARBPROC) (HPBUFFERARB hPbuffer, int iAttribute, int* piValue);
+typedef int (WINAPI * PFNWGLRELEASEPBUFFERDCARBPROC) (HPBUFFERARB hPbuffer, HDC hDC);
+
+#define wglCreatePbufferARB WGLEW_GET_FUN(__wglewCreatePbufferARB)
+#define wglDestroyPbufferARB WGLEW_GET_FUN(__wglewDestroyPbufferARB)
+#define wglGetPbufferDCARB WGLEW_GET_FUN(__wglewGetPbufferDCARB)
+#define wglQueryPbufferARB WGLEW_GET_FUN(__wglewQueryPbufferARB)
+#define wglReleasePbufferDCARB WGLEW_GET_FUN(__wglewReleasePbufferDCARB)
+
+#define WGLEW_ARB_pbuffer WGLEW_GET_VAR(__WGLEW_ARB_pbuffer)
+
+#endif /* WGL_ARB_pbuffer */
+
+/* -------------------------- WGL_ARB_pixel_format ------------------------- */
+
+#ifndef WGL_ARB_pixel_format
+#define WGL_ARB_pixel_format 1
+
+#define WGL_NUMBER_PIXEL_FORMATS_ARB 0x2000
+#define WGL_DRAW_TO_WINDOW_ARB 0x2001
+#define WGL_DRAW_TO_BITMAP_ARB 0x2002
+#define WGL_ACCELERATION_ARB 0x2003
+#define WGL_NEED_PALETTE_ARB 0x2004
+#define WGL_NEED_SYSTEM_PALETTE_ARB 0x2005
+#define WGL_SWAP_LAYER_BUFFERS_ARB 0x2006
+#define WGL_SWAP_METHOD_ARB 0x2007
+#define WGL_NUMBER_OVERLAYS_ARB 0x2008
+#define WGL_NUMBER_UNDERLAYS_ARB 0x2009
+#define WGL_TRANSPARENT_ARB 0x200A
+#define WGL_SHARE_DEPTH_ARB 0x200C
+#define WGL_SHARE_STENCIL_ARB 0x200D
+#define WGL_SHARE_ACCUM_ARB 0x200E
+#define WGL_SUPPORT_GDI_ARB 0x200F
+#define WGL_SUPPORT_OPENGL_ARB 0x2010
+#define WGL_DOUBLE_BUFFER_ARB 0x2011
+#define WGL_STEREO_ARB 0x2012
+#define WGL_PIXEL_TYPE_ARB 0x2013
+#define WGL_COLOR_BITS_ARB 0x2014
+#define WGL_RED_BITS_ARB 0x2015
+#define WGL_RED_SHIFT_ARB 0x2016
+#define WGL_GREEN_BITS_ARB 0x2017
+#define WGL_GREEN_SHIFT_ARB 0x2018
+#define WGL_BLUE_BITS_ARB 0x2019
+#define WGL_BLUE_SHIFT_ARB 0x201A
+#define WGL_ALPHA_BITS_ARB 0x201B
+#define WGL_ALPHA_SHIFT_ARB 0x201C
+#define WGL_ACCUM_BITS_ARB 0x201D
+#define WGL_ACCUM_RED_BITS_ARB 0x201E
+#define WGL_ACCUM_GREEN_BITS_ARB 0x201F
+#define WGL_ACCUM_BLUE_BITS_ARB 0x2020
+#define WGL_ACCUM_ALPHA_BITS_ARB 0x2021
+#define WGL_DEPTH_BITS_ARB 0x2022
+#define WGL_STENCIL_BITS_ARB 0x2023
+#define WGL_AUX_BUFFERS_ARB 0x2024
+#define WGL_NO_ACCELERATION_ARB 0x2025
+#define WGL_GENERIC_ACCELERATION_ARB 0x2026
+#define WGL_FULL_ACCELERATION_ARB 0x2027
+#define WGL_SWAP_EXCHANGE_ARB 0x2028
+#define WGL_SWAP_COPY_ARB 0x2029
+#define WGL_SWAP_UNDEFINED_ARB 0x202A
+#define WGL_TYPE_RGBA_ARB 0x202B
+#define WGL_TYPE_COLORINDEX_ARB 0x202C
+#define WGL_TRANSPARENT_RED_VALUE_ARB 0x2037
+#define WGL_TRANSPARENT_GREEN_VALUE_ARB 0x2038
+#define WGL_TRANSPARENT_BLUE_VALUE_ARB 0x2039
+#define WGL_TRANSPARENT_ALPHA_VALUE_ARB 0x203A
+#define WGL_TRANSPARENT_INDEX_VALUE_ARB 0x203B
+
+typedef BOOL (WINAPI * PFNWGLCHOOSEPIXELFORMATARBPROC) (HDC hdc, const int* piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);
+typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBFVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int* piAttributes, FLOAT *pfValues);
+typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBIVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int* piAttributes, int *piValues);
+
+#define wglChoosePixelFormatARB WGLEW_GET_FUN(__wglewChoosePixelFormatARB)
+#define wglGetPixelFormatAttribfvARB WGLEW_GET_FUN(__wglewGetPixelFormatAttribfvARB)
+#define wglGetPixelFormatAttribivARB WGLEW_GET_FUN(__wglewGetPixelFormatAttribivARB)
+
+#define WGLEW_ARB_pixel_format WGLEW_GET_VAR(__WGLEW_ARB_pixel_format)
+
+#endif /* WGL_ARB_pixel_format */
+
+/* ----------------------- WGL_ARB_pixel_format_float ---------------------- */
+
+#ifndef WGL_ARB_pixel_format_float
+#define WGL_ARB_pixel_format_float 1
+
+#define WGL_TYPE_RGBA_FLOAT_ARB 0x21A0
+
+#define WGLEW_ARB_pixel_format_float WGLEW_GET_VAR(__WGLEW_ARB_pixel_format_float)
+
+#endif /* WGL_ARB_pixel_format_float */
+
+/* ------------------------- WGL_ARB_render_texture ------------------------ */
+
+#ifndef WGL_ARB_render_texture
+#define WGL_ARB_render_texture 1
+
+#define WGL_BIND_TO_TEXTURE_RGB_ARB 0x2070
+#define WGL_BIND_TO_TEXTURE_RGBA_ARB 0x2071
+#define WGL_TEXTURE_FORMAT_ARB 0x2072
+#define WGL_TEXTURE_TARGET_ARB 0x2073
+#define WGL_MIPMAP_TEXTURE_ARB 0x2074
+#define WGL_TEXTURE_RGB_ARB 0x2075
+#define WGL_TEXTURE_RGBA_ARB 0x2076
+#define WGL_NO_TEXTURE_ARB 0x2077
+#define WGL_TEXTURE_CUBE_MAP_ARB 0x2078
+#define WGL_TEXTURE_1D_ARB 0x2079
+#define WGL_TEXTURE_2D_ARB 0x207A
+#define WGL_MIPMAP_LEVEL_ARB 0x207B
+#define WGL_CUBE_MAP_FACE_ARB 0x207C
+#define WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x207D
+#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x207E
+#define WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x207F
+#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x2080
+#define WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x2081
+#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x2082
+#define WGL_FRONT_LEFT_ARB 0x2083
+#define WGL_FRONT_RIGHT_ARB 0x2084
+#define WGL_BACK_LEFT_ARB 0x2085
+#define WGL_BACK_RIGHT_ARB 0x2086
+#define WGL_AUX0_ARB 0x2087
+#define WGL_AUX1_ARB 0x2088
+#define WGL_AUX2_ARB 0x2089
+#define WGL_AUX3_ARB 0x208A
+#define WGL_AUX4_ARB 0x208B
+#define WGL_AUX5_ARB 0x208C
+#define WGL_AUX6_ARB 0x208D
+#define WGL_AUX7_ARB 0x208E
+#define WGL_AUX8_ARB 0x208F
+#define WGL_AUX9_ARB 0x2090
+
+typedef BOOL (WINAPI * PFNWGLBINDTEXIMAGEARBPROC) (HPBUFFERARB hPbuffer, int iBuffer);
+typedef BOOL (WINAPI * PFNWGLRELEASETEXIMAGEARBPROC) (HPBUFFERARB hPbuffer, int iBuffer);
+typedef BOOL (WINAPI * PFNWGLSETPBUFFERATTRIBARBPROC) (HPBUFFERARB hPbuffer, const int* piAttribList);
+
+#define wglBindTexImageARB WGLEW_GET_FUN(__wglewBindTexImageARB)
+#define wglReleaseTexImageARB WGLEW_GET_FUN(__wglewReleaseTexImageARB)
+#define wglSetPbufferAttribARB WGLEW_GET_FUN(__wglewSetPbufferAttribARB)
+
+#define WGLEW_ARB_render_texture WGLEW_GET_VAR(__WGLEW_ARB_render_texture)
+
+#endif /* WGL_ARB_render_texture */
+
+/* ----------------------- WGL_ATI_pixel_format_float ---------------------- */
+
+#ifndef WGL_ATI_pixel_format_float
+#define WGL_ATI_pixel_format_float 1
+
+#define WGL_TYPE_RGBA_FLOAT_ATI 0x21A0
+#define GL_RGBA_FLOAT_MODE_ATI 0x8820
+#define GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI 0x8835
+
+#define WGLEW_ATI_pixel_format_float WGLEW_GET_VAR(__WGLEW_ATI_pixel_format_float)
+
+#endif /* WGL_ATI_pixel_format_float */
+
+/* -------------------- WGL_ATI_render_texture_rectangle ------------------- */
+
+#ifndef WGL_ATI_render_texture_rectangle
+#define WGL_ATI_render_texture_rectangle 1
+
+#define WGL_TEXTURE_RECTANGLE_ATI 0x21A5
+
+#define WGLEW_ATI_render_texture_rectangle WGLEW_GET_VAR(__WGLEW_ATI_render_texture_rectangle)
+
+#endif /* WGL_ATI_render_texture_rectangle */
+
+/* -------------------------- WGL_EXT_depth_float -------------------------- */
+
+#ifndef WGL_EXT_depth_float
+#define WGL_EXT_depth_float 1
+
+#define WGL_DEPTH_FLOAT_EXT 0x2040
+
+#define WGLEW_EXT_depth_float WGLEW_GET_VAR(__WGLEW_EXT_depth_float)
+
+#endif /* WGL_EXT_depth_float */
+
+/* ---------------------- WGL_EXT_display_color_table ---------------------- */
+
+#ifndef WGL_EXT_display_color_table
+#define WGL_EXT_display_color_table 1
+
+typedef GLboolean (WINAPI * PFNWGLBINDDISPLAYCOLORTABLEEXTPROC) (GLushort id);
+typedef GLboolean (WINAPI * PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC) (GLushort id);
+typedef void (WINAPI * PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC) (GLushort id);
+typedef GLboolean (WINAPI * PFNWGLLOADDISPLAYCOLORTABLEEXTPROC) (GLushort* table, GLuint length);
+
+#define wglBindDisplayColorTableEXT WGLEW_GET_FUN(__wglewBindDisplayColorTableEXT)
+#define wglCreateDisplayColorTableEXT WGLEW_GET_FUN(__wglewCreateDisplayColorTableEXT)
+#define wglDestroyDisplayColorTableEXT WGLEW_GET_FUN(__wglewDestroyDisplayColorTableEXT)
+#define wglLoadDisplayColorTableEXT WGLEW_GET_FUN(__wglewLoadDisplayColorTableEXT)
+
+#define WGLEW_EXT_display_color_table WGLEW_GET_VAR(__WGLEW_EXT_display_color_table)
+
+#endif /* WGL_EXT_display_color_table */
+
+/* ----------------------- WGL_EXT_extensions_string ----------------------- */
+
+#ifndef WGL_EXT_extensions_string
+#define WGL_EXT_extensions_string 1
+
+typedef const char* (WINAPI * PFNWGLGETEXTENSIONSSTRINGEXTPROC) (void);
+
+#define wglGetExtensionsStringEXT WGLEW_GET_FUN(__wglewGetExtensionsStringEXT)
+
+#define WGLEW_EXT_extensions_string WGLEW_GET_VAR(__WGLEW_EXT_extensions_string)
+
+#endif /* WGL_EXT_extensions_string */
+
+/* ------------------------ WGL_EXT_framebuffer_sRGB ----------------------- */
+
+#ifndef WGL_EXT_framebuffer_sRGB
+#define WGL_EXT_framebuffer_sRGB 1
+
+#define WGL_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20A9
+
+#define WGLEW_EXT_framebuffer_sRGB WGLEW_GET_VAR(__WGLEW_EXT_framebuffer_sRGB)
+
+#endif /* WGL_EXT_framebuffer_sRGB */
+
+/* ----------------------- WGL_EXT_make_current_read ----------------------- */
+
+#ifndef WGL_EXT_make_current_read
+#define WGL_EXT_make_current_read 1
+
+#define ERROR_INVALID_PIXEL_TYPE_EXT 0x2043
+
+typedef HDC (WINAPI * PFNWGLGETCURRENTREADDCEXTPROC) (VOID);
+typedef BOOL (WINAPI * PFNWGLMAKECONTEXTCURRENTEXTPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
+
+#define wglGetCurrentReadDCEXT WGLEW_GET_FUN(__wglewGetCurrentReadDCEXT)
+#define wglMakeContextCurrentEXT WGLEW_GET_FUN(__wglewMakeContextCurrentEXT)
+
+#define WGLEW_EXT_make_current_read WGLEW_GET_VAR(__WGLEW_EXT_make_current_read)
+
+#endif /* WGL_EXT_make_current_read */
+
+/* -------------------------- WGL_EXT_multisample -------------------------- */
+
+#ifndef WGL_EXT_multisample
+#define WGL_EXT_multisample 1
+
+#define WGL_SAMPLE_BUFFERS_EXT 0x2041
+#define WGL_SAMPLES_EXT 0x2042
+
+#define WGLEW_EXT_multisample WGLEW_GET_VAR(__WGLEW_EXT_multisample)
+
+#endif /* WGL_EXT_multisample */
+
+/* ---------------------------- WGL_EXT_pbuffer ---------------------------- */
+
+#ifndef WGL_EXT_pbuffer
+#define WGL_EXT_pbuffer 1
+
+#define WGL_DRAW_TO_PBUFFER_EXT 0x202D
+#define WGL_MAX_PBUFFER_PIXELS_EXT 0x202E
+#define WGL_MAX_PBUFFER_WIDTH_EXT 0x202F
+#define WGL_MAX_PBUFFER_HEIGHT_EXT 0x2030
+#define WGL_OPTIMAL_PBUFFER_WIDTH_EXT 0x2031
+#define WGL_OPTIMAL_PBUFFER_HEIGHT_EXT 0x2032
+#define WGL_PBUFFER_LARGEST_EXT 0x2033
+#define WGL_PBUFFER_WIDTH_EXT 0x2034
+#define WGL_PBUFFER_HEIGHT_EXT 0x2035
+
+DECLARE_HANDLE(HPBUFFEREXT);
+
+typedef HPBUFFEREXT (WINAPI * PFNWGLCREATEPBUFFEREXTPROC) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int* piAttribList);
+typedef BOOL (WINAPI * PFNWGLDESTROYPBUFFEREXTPROC) (HPBUFFEREXT hPbuffer);
+typedef HDC (WINAPI * PFNWGLGETPBUFFERDCEXTPROC) (HPBUFFEREXT hPbuffer);
+typedef BOOL (WINAPI * PFNWGLQUERYPBUFFEREXTPROC) (HPBUFFEREXT hPbuffer, int iAttribute, int* piValue);
+typedef int (WINAPI * PFNWGLRELEASEPBUFFERDCEXTPROC) (HPBUFFEREXT hPbuffer, HDC hDC);
+
+#define wglCreatePbufferEXT WGLEW_GET_FUN(__wglewCreatePbufferEXT)
+#define wglDestroyPbufferEXT WGLEW_GET_FUN(__wglewDestroyPbufferEXT)
+#define wglGetPbufferDCEXT WGLEW_GET_FUN(__wglewGetPbufferDCEXT)
+#define wglQueryPbufferEXT WGLEW_GET_FUN(__wglewQueryPbufferEXT)
+#define wglReleasePbufferDCEXT WGLEW_GET_FUN(__wglewReleasePbufferDCEXT)
+
+#define WGLEW_EXT_pbuffer WGLEW_GET_VAR(__WGLEW_EXT_pbuffer)
+
+#endif /* WGL_EXT_pbuffer */
+
+/* -------------------------- WGL_EXT_pixel_format ------------------------- */
+
+#ifndef WGL_EXT_pixel_format
+#define WGL_EXT_pixel_format 1
+
+#define WGL_NUMBER_PIXEL_FORMATS_EXT 0x2000
+#define WGL_DRAW_TO_WINDOW_EXT 0x2001
+#define WGL_DRAW_TO_BITMAP_EXT 0x2002
+#define WGL_ACCELERATION_EXT 0x2003
+#define WGL_NEED_PALETTE_EXT 0x2004
+#define WGL_NEED_SYSTEM_PALETTE_EXT 0x2005
+#define WGL_SWAP_LAYER_BUFFERS_EXT 0x2006
+#define WGL_SWAP_METHOD_EXT 0x2007
+#define WGL_NUMBER_OVERLAYS_EXT 0x2008
+#define WGL_NUMBER_UNDERLAYS_EXT 0x2009
+#define WGL_TRANSPARENT_EXT 0x200A
+#define WGL_TRANSPARENT_VALUE_EXT 0x200B
+#define WGL_SHARE_DEPTH_EXT 0x200C
+#define WGL_SHARE_STENCIL_EXT 0x200D
+#define WGL_SHARE_ACCUM_EXT 0x200E
+#define WGL_SUPPORT_GDI_EXT 0x200F
+#define WGL_SUPPORT_OPENGL_EXT 0x2010
+#define WGL_DOUBLE_BUFFER_EXT 0x2011
+#define WGL_STEREO_EXT 0x2012
+#define WGL_PIXEL_TYPE_EXT 0x2013
+#define WGL_COLOR_BITS_EXT 0x2014
+#define WGL_RED_BITS_EXT 0x2015
+#define WGL_RED_SHIFT_EXT 0x2016
+#define WGL_GREEN_BITS_EXT 0x2017
+#define WGL_GREEN_SHIFT_EXT 0x2018
+#define WGL_BLUE_BITS_EXT 0x2019
+#define WGL_BLUE_SHIFT_EXT 0x201A
+#define WGL_ALPHA_BITS_EXT 0x201B
+#define WGL_ALPHA_SHIFT_EXT 0x201C
+#define WGL_ACCUM_BITS_EXT 0x201D
+#define WGL_ACCUM_RED_BITS_EXT 0x201E
+#define WGL_ACCUM_GREEN_BITS_EXT 0x201F
+#define WGL_ACCUM_BLUE_BITS_EXT 0x2020
+#define WGL_ACCUM_ALPHA_BITS_EXT 0x2021
+#define WGL_DEPTH_BITS_EXT 0x2022
+#define WGL_STENCIL_BITS_EXT 0x2023
+#define WGL_AUX_BUFFERS_EXT 0x2024
+#define WGL_NO_ACCELERATION_EXT 0x2025
+#define WGL_GENERIC_ACCELERATION_EXT 0x2026
+#define WGL_FULL_ACCELERATION_EXT 0x2027
+#define WGL_SWAP_EXCHANGE_EXT 0x2028
+#define WGL_SWAP_COPY_EXT 0x2029
+#define WGL_SWAP_UNDEFINED_EXT 0x202A
+#define WGL_TYPE_RGBA_EXT 0x202B
+#define WGL_TYPE_COLORINDEX_EXT 0x202C
+
+typedef BOOL (WINAPI * PFNWGLCHOOSEPIXELFORMATEXTPROC) (HDC hdc, const int* piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);
+typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBFVEXTPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int* piAttributes, FLOAT *pfValues);
+typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBIVEXTPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int* piAttributes, int *piValues);
+
+#define wglChoosePixelFormatEXT WGLEW_GET_FUN(__wglewChoosePixelFormatEXT)
+#define wglGetPixelFormatAttribfvEXT WGLEW_GET_FUN(__wglewGetPixelFormatAttribfvEXT)
+#define wglGetPixelFormatAttribivEXT WGLEW_GET_FUN(__wglewGetPixelFormatAttribivEXT)
+
+#define WGLEW_EXT_pixel_format WGLEW_GET_VAR(__WGLEW_EXT_pixel_format)
+
+#endif /* WGL_EXT_pixel_format */
+
+/* ------------------- WGL_EXT_pixel_format_packed_float ------------------- */
+
+#ifndef WGL_EXT_pixel_format_packed_float
+#define WGL_EXT_pixel_format_packed_float 1
+
+#define WGL_TYPE_RGBA_UNSIGNED_FLOAT_EXT 0x20A8
+
+#define WGLEW_EXT_pixel_format_packed_float WGLEW_GET_VAR(__WGLEW_EXT_pixel_format_packed_float)
+
+#endif /* WGL_EXT_pixel_format_packed_float */
+
+/* -------------------------- WGL_EXT_swap_control ------------------------- */
+
+#ifndef WGL_EXT_swap_control
+#define WGL_EXT_swap_control 1
+
+typedef int (WINAPI * PFNWGLGETSWAPINTERVALEXTPROC) (void);
+typedef BOOL (WINAPI * PFNWGLSWAPINTERVALEXTPROC) (int interval);
+
+#define wglGetSwapIntervalEXT WGLEW_GET_FUN(__wglewGetSwapIntervalEXT)
+#define wglSwapIntervalEXT WGLEW_GET_FUN(__wglewSwapIntervalEXT)
+
+#define WGLEW_EXT_swap_control WGLEW_GET_VAR(__WGLEW_EXT_swap_control)
+
+#endif /* WGL_EXT_swap_control */
+
+/* --------------------- WGL_I3D_digital_video_control --------------------- */
+
+#ifndef WGL_I3D_digital_video_control
+#define WGL_I3D_digital_video_control 1
+
+#define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D 0x2050
+#define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D 0x2051
+#define WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D 0x2052
+#define WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D 0x2053
+
+typedef BOOL (WINAPI * PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC) (HDC hDC, int iAttribute, int* piValue);
+typedef BOOL (WINAPI * PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC) (HDC hDC, int iAttribute, const int* piValue);
+
+#define wglGetDigitalVideoParametersI3D WGLEW_GET_FUN(__wglewGetDigitalVideoParametersI3D)
+#define wglSetDigitalVideoParametersI3D WGLEW_GET_FUN(__wglewSetDigitalVideoParametersI3D)
+
+#define WGLEW_I3D_digital_video_control WGLEW_GET_VAR(__WGLEW_I3D_digital_video_control)
+
+#endif /* WGL_I3D_digital_video_control */
+
+/* ----------------------------- WGL_I3D_gamma ----------------------------- */
+
+#ifndef WGL_I3D_gamma
+#define WGL_I3D_gamma 1
+
+#define WGL_GAMMA_TABLE_SIZE_I3D 0x204E
+#define WGL_GAMMA_EXCLUDE_DESKTOP_I3D 0x204F
+
+typedef BOOL (WINAPI * PFNWGLGETGAMMATABLEI3DPROC) (HDC hDC, int iEntries, USHORT* puRed, USHORT *puGreen, USHORT *puBlue);
+typedef BOOL (WINAPI * PFNWGLGETGAMMATABLEPARAMETERSI3DPROC) (HDC hDC, int iAttribute, int* piValue);
+typedef BOOL (WINAPI * PFNWGLSETGAMMATABLEI3DPROC) (HDC hDC, int iEntries, const USHORT* puRed, const USHORT *puGreen, const USHORT *puBlue);
+typedef BOOL (WINAPI * PFNWGLSETGAMMATABLEPARAMETERSI3DPROC) (HDC hDC, int iAttribute, const int* piValue);
+
+#define wglGetGammaTableI3D WGLEW_GET_FUN(__wglewGetGammaTableI3D)
+#define wglGetGammaTableParametersI3D WGLEW_GET_FUN(__wglewGetGammaTableParametersI3D)
+#define wglSetGammaTableI3D WGLEW_GET_FUN(__wglewSetGammaTableI3D)
+#define wglSetGammaTableParametersI3D WGLEW_GET_FUN(__wglewSetGammaTableParametersI3D)
+
+#define WGLEW_I3D_gamma WGLEW_GET_VAR(__WGLEW_I3D_gamma)
+
+#endif /* WGL_I3D_gamma */
+
+/* ---------------------------- WGL_I3D_genlock ---------------------------- */
+
+#ifndef WGL_I3D_genlock
+#define WGL_I3D_genlock 1
+
+#define WGL_GENLOCK_SOURCE_MULTIVIEW_I3D 0x2044
+#define WGL_GENLOCK_SOURCE_EXTERNAL_SYNC_I3D 0x2045
+#define WGL_GENLOCK_SOURCE_EXTERNAL_FIELD_I3D 0x2046
+#define WGL_GENLOCK_SOURCE_EXTERNAL_TTL_I3D 0x2047
+#define WGL_GENLOCK_SOURCE_DIGITAL_SYNC_I3D 0x2048
+#define WGL_GENLOCK_SOURCE_DIGITAL_FIELD_I3D 0x2049
+#define WGL_GENLOCK_SOURCE_EDGE_FALLING_I3D 0x204A
+#define WGL_GENLOCK_SOURCE_EDGE_RISING_I3D 0x204B
+#define WGL_GENLOCK_SOURCE_EDGE_BOTH_I3D 0x204C
+
+typedef BOOL (WINAPI * PFNWGLDISABLEGENLOCKI3DPROC) (HDC hDC);
+typedef BOOL (WINAPI * PFNWGLENABLEGENLOCKI3DPROC) (HDC hDC);
+typedef BOOL (WINAPI * PFNWGLGENLOCKSAMPLERATEI3DPROC) (HDC hDC, UINT uRate);
+typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEDELAYI3DPROC) (HDC hDC, UINT uDelay);
+typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEEDGEI3DPROC) (HDC hDC, UINT uEdge);
+typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEI3DPROC) (HDC hDC, UINT uSource);
+typedef BOOL (WINAPI * PFNWGLGETGENLOCKSAMPLERATEI3DPROC) (HDC hDC, UINT* uRate);
+typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEDELAYI3DPROC) (HDC hDC, UINT* uDelay);
+typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEEDGEI3DPROC) (HDC hDC, UINT* uEdge);
+typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEI3DPROC) (HDC hDC, UINT* uSource);
+typedef BOOL (WINAPI * PFNWGLISENABLEDGENLOCKI3DPROC) (HDC hDC, BOOL* pFlag);
+typedef BOOL (WINAPI * PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC) (HDC hDC, UINT* uMaxLineDelay, UINT *uMaxPixelDelay);
+
+#define wglDisableGenlockI3D WGLEW_GET_FUN(__wglewDisableGenlockI3D)
+#define wglEnableGenlockI3D WGLEW_GET_FUN(__wglewEnableGenlockI3D)
+#define wglGenlockSampleRateI3D WGLEW_GET_FUN(__wglewGenlockSampleRateI3D)
+#define wglGenlockSourceDelayI3D WGLEW_GET_FUN(__wglewGenlockSourceDelayI3D)
+#define wglGenlockSourceEdgeI3D WGLEW_GET_FUN(__wglewGenlockSourceEdgeI3D)
+#define wglGenlockSourceI3D WGLEW_GET_FUN(__wglewGenlockSourceI3D)
+#define wglGetGenlockSampleRateI3D WGLEW_GET_FUN(__wglewGetGenlockSampleRateI3D)
+#define wglGetGenlockSourceDelayI3D WGLEW_GET_FUN(__wglewGetGenlockSourceDelayI3D)
+#define wglGetGenlockSourceEdgeI3D WGLEW_GET_FUN(__wglewGetGenlockSourceEdgeI3D)
+#define wglGetGenlockSourceI3D WGLEW_GET_FUN(__wglewGetGenlockSourceI3D)
+#define wglIsEnabledGenlockI3D WGLEW_GET_FUN(__wglewIsEnabledGenlockI3D)
+#define wglQueryGenlockMaxSourceDelayI3D WGLEW_GET_FUN(__wglewQueryGenlockMaxSourceDelayI3D)
+
+#define WGLEW_I3D_genlock WGLEW_GET_VAR(__WGLEW_I3D_genlock)
+
+#endif /* WGL_I3D_genlock */
+
+/* -------------------------- WGL_I3D_image_buffer ------------------------- */
+
+#ifndef WGL_I3D_image_buffer
+#define WGL_I3D_image_buffer 1
+
+#define WGL_IMAGE_BUFFER_MIN_ACCESS_I3D 0x00000001
+#define WGL_IMAGE_BUFFER_LOCK_I3D 0x00000002
+
+typedef BOOL (WINAPI * PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC) (HDC hdc, HANDLE* pEvent, LPVOID *pAddress, DWORD *pSize, UINT count);
+typedef LPVOID (WINAPI * PFNWGLCREATEIMAGEBUFFERI3DPROC) (HDC hDC, DWORD dwSize, UINT uFlags);
+typedef BOOL (WINAPI * PFNWGLDESTROYIMAGEBUFFERI3DPROC) (HDC hDC, LPVOID pAddress);
+typedef BOOL (WINAPI * PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC) (HDC hdc, LPVOID* pAddress, UINT count);
+
+#define wglAssociateImageBufferEventsI3D WGLEW_GET_FUN(__wglewAssociateImageBufferEventsI3D)
+#define wglCreateImageBufferI3D WGLEW_GET_FUN(__wglewCreateImageBufferI3D)
+#define wglDestroyImageBufferI3D WGLEW_GET_FUN(__wglewDestroyImageBufferI3D)
+#define wglReleaseImageBufferEventsI3D WGLEW_GET_FUN(__wglewReleaseImageBufferEventsI3D)
+
+#define WGLEW_I3D_image_buffer WGLEW_GET_VAR(__WGLEW_I3D_image_buffer)
+
+#endif /* WGL_I3D_image_buffer */
+
+/* ------------------------ WGL_I3D_swap_frame_lock ------------------------ */
+
+#ifndef WGL_I3D_swap_frame_lock
+#define WGL_I3D_swap_frame_lock 1
+
+typedef BOOL (WINAPI * PFNWGLDISABLEFRAMELOCKI3DPROC) (VOID);
+typedef BOOL (WINAPI * PFNWGLENABLEFRAMELOCKI3DPROC) (VOID);
+typedef BOOL (WINAPI * PFNWGLISENABLEDFRAMELOCKI3DPROC) (BOOL* pFlag);
+typedef BOOL (WINAPI * PFNWGLQUERYFRAMELOCKMASTERI3DPROC) (BOOL* pFlag);
+
+#define wglDisableFrameLockI3D WGLEW_GET_FUN(__wglewDisableFrameLockI3D)
+#define wglEnableFrameLockI3D WGLEW_GET_FUN(__wglewEnableFrameLockI3D)
+#define wglIsEnabledFrameLockI3D WGLEW_GET_FUN(__wglewIsEnabledFrameLockI3D)
+#define wglQueryFrameLockMasterI3D WGLEW_GET_FUN(__wglewQueryFrameLockMasterI3D)
+
+#define WGLEW_I3D_swap_frame_lock WGLEW_GET_VAR(__WGLEW_I3D_swap_frame_lock)
+
+#endif /* WGL_I3D_swap_frame_lock */
+
+/* ------------------------ WGL_I3D_swap_frame_usage ----------------------- */
+
+#ifndef WGL_I3D_swap_frame_usage
+#define WGL_I3D_swap_frame_usage 1
+
+typedef BOOL (WINAPI * PFNWGLBEGINFRAMETRACKINGI3DPROC) (void);
+typedef BOOL (WINAPI * PFNWGLENDFRAMETRACKINGI3DPROC) (void);
+typedef BOOL (WINAPI * PFNWGLGETFRAMEUSAGEI3DPROC) (float* pUsage);
+typedef BOOL (WINAPI * PFNWGLQUERYFRAMETRACKINGI3DPROC) (DWORD* pFrameCount, DWORD *pMissedFrames, float *pLastMissedUsage);
+
+#define wglBeginFrameTrackingI3D WGLEW_GET_FUN(__wglewBeginFrameTrackingI3D)
+#define wglEndFrameTrackingI3D WGLEW_GET_FUN(__wglewEndFrameTrackingI3D)
+#define wglGetFrameUsageI3D WGLEW_GET_FUN(__wglewGetFrameUsageI3D)
+#define wglQueryFrameTrackingI3D WGLEW_GET_FUN(__wglewQueryFrameTrackingI3D)
+
+#define WGLEW_I3D_swap_frame_usage WGLEW_GET_VAR(__WGLEW_I3D_swap_frame_usage)
+
+#endif /* WGL_I3D_swap_frame_usage */
+
+/* --------------------------- WGL_NV_copy_image --------------------------- */
+
+#ifndef WGL_NV_copy_image
+#define WGL_NV_copy_image 1
+
+typedef BOOL (WINAPI * PFNWGLCOPYIMAGESUBDATANVPROC) (HGLRC hSrcRC, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, HGLRC hDstRC, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);
+
+#define wglCopyImageSubDataNV WGLEW_GET_FUN(__wglewCopyImageSubDataNV)
+
+#define WGLEW_NV_copy_image WGLEW_GET_VAR(__WGLEW_NV_copy_image)
+
+#endif /* WGL_NV_copy_image */
+
+/* -------------------------- WGL_NV_float_buffer -------------------------- */
+
+#ifndef WGL_NV_float_buffer
+#define WGL_NV_float_buffer 1
+
+#define WGL_FLOAT_COMPONENTS_NV 0x20B0
+#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV 0x20B1
+#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV 0x20B2
+#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV 0x20B3
+#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV 0x20B4
+#define WGL_TEXTURE_FLOAT_R_NV 0x20B5
+#define WGL_TEXTURE_FLOAT_RG_NV 0x20B6
+#define WGL_TEXTURE_FLOAT_RGB_NV 0x20B7
+#define WGL_TEXTURE_FLOAT_RGBA_NV 0x20B8
+
+#define WGLEW_NV_float_buffer WGLEW_GET_VAR(__WGLEW_NV_float_buffer)
+
+#endif /* WGL_NV_float_buffer */
+
+/* -------------------------- WGL_NV_gpu_affinity -------------------------- */
+
+#ifndef WGL_NV_gpu_affinity
+#define WGL_NV_gpu_affinity 1
+
+#define WGL_ERROR_INCOMPATIBLE_AFFINITY_MASKS_NV 0x20D0
+#define WGL_ERROR_MISSING_AFFINITY_MASK_NV 0x20D1
+
+DECLARE_HANDLE(HGPUNV);
+typedef struct _GPU_DEVICE {
+ DWORD cb;
+ CHAR DeviceName[32];
+ CHAR DeviceString[128];
+ DWORD Flags;
+ RECT rcVirtualScreen;
+} GPU_DEVICE, *PGPU_DEVICE;
+
+typedef HDC (WINAPI * PFNWGLCREATEAFFINITYDCNVPROC) (const HGPUNV *phGpuList);
+typedef BOOL (WINAPI * PFNWGLDELETEDCNVPROC) (HDC hdc);
+typedef BOOL (WINAPI * PFNWGLENUMGPUDEVICESNVPROC) (HGPUNV hGpu, UINT iDeviceIndex, PGPU_DEVICE lpGpuDevice);
+typedef BOOL (WINAPI * PFNWGLENUMGPUSFROMAFFINITYDCNVPROC) (HDC hAffinityDC, UINT iGpuIndex, HGPUNV *hGpu);
+typedef BOOL (WINAPI * PFNWGLENUMGPUSNVPROC) (UINT iGpuIndex, HGPUNV *phGpu);
+
+#define wglCreateAffinityDCNV WGLEW_GET_FUN(__wglewCreateAffinityDCNV)
+#define wglDeleteDCNV WGLEW_GET_FUN(__wglewDeleteDCNV)
+#define wglEnumGpuDevicesNV WGLEW_GET_FUN(__wglewEnumGpuDevicesNV)
+#define wglEnumGpusFromAffinityDCNV WGLEW_GET_FUN(__wglewEnumGpusFromAffinityDCNV)
+#define wglEnumGpusNV WGLEW_GET_FUN(__wglewEnumGpusNV)
+
+#define WGLEW_NV_gpu_affinity WGLEW_GET_VAR(__WGLEW_NV_gpu_affinity)
+
+#endif /* WGL_NV_gpu_affinity */
+
+/* -------------------------- WGL_NV_present_video ------------------------- */
+
+#ifndef WGL_NV_present_video
+#define WGL_NV_present_video 1
+
+#define WGL_NUM_VIDEO_SLOTS_NV 0x20F0
+
+DECLARE_HANDLE(HVIDEOOUTPUTDEVICENV);
+
+typedef BOOL (WINAPI * PFNWGLBINDVIDEODEVICENVPROC) (HDC hDc, unsigned int uVideoSlot, HVIDEOOUTPUTDEVICENV hVideoDevice, const int* piAttribList);
+typedef int (WINAPI * PFNWGLENUMERATEVIDEODEVICESNVPROC) (HDC hDc, HVIDEOOUTPUTDEVICENV* phDeviceList);
+typedef BOOL (WINAPI * PFNWGLQUERYCURRENTCONTEXTNVPROC) (int iAttribute, int* piValue);
+
+#define wglBindVideoDeviceNV WGLEW_GET_FUN(__wglewBindVideoDeviceNV)
+#define wglEnumerateVideoDevicesNV WGLEW_GET_FUN(__wglewEnumerateVideoDevicesNV)
+#define wglQueryCurrentContextNV WGLEW_GET_FUN(__wglewQueryCurrentContextNV)
+
+#define WGLEW_NV_present_video WGLEW_GET_VAR(__WGLEW_NV_present_video)
+
+#endif /* WGL_NV_present_video */
+
+/* ---------------------- WGL_NV_render_depth_texture ---------------------- */
+
+#ifndef WGL_NV_render_depth_texture
+#define WGL_NV_render_depth_texture 1
+
+#define WGL_NO_TEXTURE_ARB 0x2077
+#define WGL_BIND_TO_TEXTURE_DEPTH_NV 0x20A3
+#define WGL_BIND_TO_TEXTURE_RECTANGLE_DEPTH_NV 0x20A4
+#define WGL_DEPTH_TEXTURE_FORMAT_NV 0x20A5
+#define WGL_TEXTURE_DEPTH_COMPONENT_NV 0x20A6
+#define WGL_DEPTH_COMPONENT_NV 0x20A7
+
+#define WGLEW_NV_render_depth_texture WGLEW_GET_VAR(__WGLEW_NV_render_depth_texture)
+
+#endif /* WGL_NV_render_depth_texture */
+
+/* -------------------- WGL_NV_render_texture_rectangle -------------------- */
+
+#ifndef WGL_NV_render_texture_rectangle
+#define WGL_NV_render_texture_rectangle 1
+
+#define WGL_BIND_TO_TEXTURE_RECTANGLE_RGB_NV 0x20A0
+#define WGL_BIND_TO_TEXTURE_RECTANGLE_RGBA_NV 0x20A1
+#define WGL_TEXTURE_RECTANGLE_NV 0x20A2
+
+#define WGLEW_NV_render_texture_rectangle WGLEW_GET_VAR(__WGLEW_NV_render_texture_rectangle)
+
+#endif /* WGL_NV_render_texture_rectangle */
+
+/* --------------------------- WGL_NV_swap_group --------------------------- */
+
+#ifndef WGL_NV_swap_group
+#define WGL_NV_swap_group 1
+
+typedef BOOL (WINAPI * PFNWGLBINDSWAPBARRIERNVPROC) (GLuint group, GLuint barrier);
+typedef BOOL (WINAPI * PFNWGLJOINSWAPGROUPNVPROC) (HDC hDC, GLuint group);
+typedef BOOL (WINAPI * PFNWGLQUERYFRAMECOUNTNVPROC) (HDC hDC, GLuint* count);
+typedef BOOL (WINAPI * PFNWGLQUERYMAXSWAPGROUPSNVPROC) (HDC hDC, GLuint* maxGroups, GLuint *maxBarriers);
+typedef BOOL (WINAPI * PFNWGLQUERYSWAPGROUPNVPROC) (HDC hDC, GLuint* group, GLuint *barrier);
+typedef BOOL (WINAPI * PFNWGLRESETFRAMECOUNTNVPROC) (HDC hDC);
+
+#define wglBindSwapBarrierNV WGLEW_GET_FUN(__wglewBindSwapBarrierNV)
+#define wglJoinSwapGroupNV WGLEW_GET_FUN(__wglewJoinSwapGroupNV)
+#define wglQueryFrameCountNV WGLEW_GET_FUN(__wglewQueryFrameCountNV)
+#define wglQueryMaxSwapGroupsNV WGLEW_GET_FUN(__wglewQueryMaxSwapGroupsNV)
+#define wglQuerySwapGroupNV WGLEW_GET_FUN(__wglewQuerySwapGroupNV)
+#define wglResetFrameCountNV WGLEW_GET_FUN(__wglewResetFrameCountNV)
+
+#define WGLEW_NV_swap_group WGLEW_GET_VAR(__WGLEW_NV_swap_group)
+
+#endif /* WGL_NV_swap_group */
+
+/* ----------------------- WGL_NV_vertex_array_range ----------------------- */
+
+#ifndef WGL_NV_vertex_array_range
+#define WGL_NV_vertex_array_range 1
+
+typedef void * (WINAPI * PFNWGLALLOCATEMEMORYNVPROC) (GLsizei size, GLfloat readFrequency, GLfloat writeFrequency, GLfloat priority);
+typedef void (WINAPI * PFNWGLFREEMEMORYNVPROC) (void *pointer);
+
+#define wglAllocateMemoryNV WGLEW_GET_FUN(__wglewAllocateMemoryNV)
+#define wglFreeMemoryNV WGLEW_GET_FUN(__wglewFreeMemoryNV)
+
+#define WGLEW_NV_vertex_array_range WGLEW_GET_VAR(__WGLEW_NV_vertex_array_range)
+
+#endif /* WGL_NV_vertex_array_range */
+
+/* -------------------------- WGL_NV_video_output -------------------------- */
+
+#ifndef WGL_NV_video_output
+#define WGL_NV_video_output 1
+
+#define WGL_BIND_TO_VIDEO_RGB_NV 0x20C0
+#define WGL_BIND_TO_VIDEO_RGBA_NV 0x20C1
+#define WGL_BIND_TO_VIDEO_RGB_AND_DEPTH_NV 0x20C2
+#define WGL_VIDEO_OUT_COLOR_NV 0x20C3
+#define WGL_VIDEO_OUT_ALPHA_NV 0x20C4
+#define WGL_VIDEO_OUT_DEPTH_NV 0x20C5
+#define WGL_VIDEO_OUT_COLOR_AND_ALPHA_NV 0x20C6
+#define WGL_VIDEO_OUT_COLOR_AND_DEPTH_NV 0x20C7
+#define WGL_VIDEO_OUT_FRAME 0x20C8
+#define WGL_VIDEO_OUT_FIELD_1 0x20C9
+#define WGL_VIDEO_OUT_FIELD_2 0x20CA
+#define WGL_VIDEO_OUT_STACKED_FIELDS_1_2 0x20CB
+#define WGL_VIDEO_OUT_STACKED_FIELDS_2_1 0x20CC
+
+DECLARE_HANDLE(HPVIDEODEV);
+
+typedef BOOL (WINAPI * PFNWGLBINDVIDEOIMAGENVPROC) (HPVIDEODEV hVideoDevice, HPBUFFERARB hPbuffer, int iVideoBuffer);
+typedef BOOL (WINAPI * PFNWGLGETVIDEODEVICENVPROC) (HDC hDC, int numDevices, HPVIDEODEV* hVideoDevice);
+typedef BOOL (WINAPI * PFNWGLGETVIDEOINFONVPROC) (HPVIDEODEV hpVideoDevice, unsigned long* pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo);
+typedef BOOL (WINAPI * PFNWGLRELEASEVIDEODEVICENVPROC) (HPVIDEODEV hVideoDevice);
+typedef BOOL (WINAPI * PFNWGLRELEASEVIDEOIMAGENVPROC) (HPBUFFERARB hPbuffer, int iVideoBuffer);
+typedef BOOL (WINAPI * PFNWGLSENDPBUFFERTOVIDEONVPROC) (HPBUFFERARB hPbuffer, int iBufferType, unsigned long* pulCounterPbuffer, BOOL bBlock);
+
+#define wglBindVideoImageNV WGLEW_GET_FUN(__wglewBindVideoImageNV)
+#define wglGetVideoDeviceNV WGLEW_GET_FUN(__wglewGetVideoDeviceNV)
+#define wglGetVideoInfoNV WGLEW_GET_FUN(__wglewGetVideoInfoNV)
+#define wglReleaseVideoDeviceNV WGLEW_GET_FUN(__wglewReleaseVideoDeviceNV)
+#define wglReleaseVideoImageNV WGLEW_GET_FUN(__wglewReleaseVideoImageNV)
+#define wglSendPbufferToVideoNV WGLEW_GET_FUN(__wglewSendPbufferToVideoNV)
+
+#define WGLEW_NV_video_output WGLEW_GET_VAR(__WGLEW_NV_video_output)
+
+#endif /* WGL_NV_video_output */
+
+/* -------------------------- WGL_OML_sync_control ------------------------- */
+
+#ifndef WGL_OML_sync_control
+#define WGL_OML_sync_control 1
+
+typedef BOOL (WINAPI * PFNWGLGETMSCRATEOMLPROC) (HDC hdc, INT32* numerator, INT32 *denominator);
+typedef BOOL (WINAPI * PFNWGLGETSYNCVALUESOMLPROC) (HDC hdc, INT64* ust, INT64 *msc, INT64 *sbc);
+typedef INT64 (WINAPI * PFNWGLSWAPBUFFERSMSCOMLPROC) (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder);
+typedef INT64 (WINAPI * PFNWGLSWAPLAYERBUFFERSMSCOMLPROC) (HDC hdc, INT fuPlanes, INT64 target_msc, INT64 divisor, INT64 remainder);
+typedef BOOL (WINAPI * PFNWGLWAITFORMSCOMLPROC) (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder, INT64* ust, INT64 *msc, INT64 *sbc);
+typedef BOOL (WINAPI * PFNWGLWAITFORSBCOMLPROC) (HDC hdc, INT64 target_sbc, INT64* ust, INT64 *msc, INT64 *sbc);
+
+#define wglGetMscRateOML WGLEW_GET_FUN(__wglewGetMscRateOML)
+#define wglGetSyncValuesOML WGLEW_GET_FUN(__wglewGetSyncValuesOML)
+#define wglSwapBuffersMscOML WGLEW_GET_FUN(__wglewSwapBuffersMscOML)
+#define wglSwapLayerBuffersMscOML WGLEW_GET_FUN(__wglewSwapLayerBuffersMscOML)
+#define wglWaitForMscOML WGLEW_GET_FUN(__wglewWaitForMscOML)
+#define wglWaitForSbcOML WGLEW_GET_FUN(__wglewWaitForSbcOML)
+
+#define WGLEW_OML_sync_control WGLEW_GET_VAR(__WGLEW_OML_sync_control)
+
+#endif /* WGL_OML_sync_control */
+
+/* ------------------------------------------------------------------------- */
+
+#ifdef GLEW_MX
+#define WGLEW_EXPORT
+#else
+#define WGLEW_EXPORT GLEWAPI
+#endif /* GLEW_MX */
+
+#ifdef GLEW_MX
+struct WGLEWContextStruct
+{
+#endif /* GLEW_MX */
+
+WGLEW_EXPORT PFNWGLSETSTEREOEMITTERSTATE3DLPROC __wglewSetStereoEmitterState3DL;
+
+WGLEW_EXPORT PFNWGLBLITCONTEXTFRAMEBUFFERAMDPROC __wglewBlitContextFramebufferAMD;
+WGLEW_EXPORT PFNWGLCREATEASSOCIATEDCONTEXTAMDPROC __wglewCreateAssociatedContextAMD;
+WGLEW_EXPORT PFNWGLCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC __wglewCreateAssociatedContextAttribsAMD;
+WGLEW_EXPORT PFNWGLDELETEASSOCIATEDCONTEXTAMDPROC __wglewDeleteAssociatedContextAMD;
+WGLEW_EXPORT PFNWGLGETCONTEXTGPUIDAMDPROC __wglewGetContextGPUIDAMD;
+WGLEW_EXPORT PFNWGLGETCURRENTASSOCIATEDCONTEXTAMDPROC __wglewGetCurrentAssociatedContextAMD;
+WGLEW_EXPORT PFNWGLGETGPUIDSAMDPROC __wglewGetGPUIDsAMD;
+WGLEW_EXPORT PFNWGLGETGPUINFOAMDPROC __wglewGetGPUInfoAMD;
+WGLEW_EXPORT PFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC __wglewMakeAssociatedContextCurrentAMD;
+
+WGLEW_EXPORT PFNWGLCREATEBUFFERREGIONARBPROC __wglewCreateBufferRegionARB;
+WGLEW_EXPORT PFNWGLDELETEBUFFERREGIONARBPROC __wglewDeleteBufferRegionARB;
+WGLEW_EXPORT PFNWGLRESTOREBUFFERREGIONARBPROC __wglewRestoreBufferRegionARB;
+WGLEW_EXPORT PFNWGLSAVEBUFFERREGIONARBPROC __wglewSaveBufferRegionARB;
+
+WGLEW_EXPORT PFNWGLCREATECONTEXTATTRIBSARBPROC __wglewCreateContextAttribsARB;
+
+WGLEW_EXPORT PFNWGLGETEXTENSIONSSTRINGARBPROC __wglewGetExtensionsStringARB;
+
+WGLEW_EXPORT PFNWGLGETCURRENTREADDCARBPROC __wglewGetCurrentReadDCARB;
+WGLEW_EXPORT PFNWGLMAKECONTEXTCURRENTARBPROC __wglewMakeContextCurrentARB;
+
+WGLEW_EXPORT PFNWGLCREATEPBUFFERARBPROC __wglewCreatePbufferARB;
+WGLEW_EXPORT PFNWGLDESTROYPBUFFERARBPROC __wglewDestroyPbufferARB;
+WGLEW_EXPORT PFNWGLGETPBUFFERDCARBPROC __wglewGetPbufferDCARB;
+WGLEW_EXPORT PFNWGLQUERYPBUFFERARBPROC __wglewQueryPbufferARB;
+WGLEW_EXPORT PFNWGLRELEASEPBUFFERDCARBPROC __wglewReleasePbufferDCARB;
+
+WGLEW_EXPORT PFNWGLCHOOSEPIXELFORMATARBPROC __wglewChoosePixelFormatARB;
+WGLEW_EXPORT PFNWGLGETPIXELFORMATATTRIBFVARBPROC __wglewGetPixelFormatAttribfvARB;
+WGLEW_EXPORT PFNWGLGETPIXELFORMATATTRIBIVARBPROC __wglewGetPixelFormatAttribivARB;
+
+WGLEW_EXPORT PFNWGLBINDTEXIMAGEARBPROC __wglewBindTexImageARB;
+WGLEW_EXPORT PFNWGLRELEASETEXIMAGEARBPROC __wglewReleaseTexImageARB;
+WGLEW_EXPORT PFNWGLSETPBUFFERATTRIBARBPROC __wglewSetPbufferAttribARB;
+
+WGLEW_EXPORT PFNWGLBINDDISPLAYCOLORTABLEEXTPROC __wglewBindDisplayColorTableEXT;
+WGLEW_EXPORT PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC __wglewCreateDisplayColorTableEXT;
+WGLEW_EXPORT PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC __wglewDestroyDisplayColorTableEXT;
+WGLEW_EXPORT PFNWGLLOADDISPLAYCOLORTABLEEXTPROC __wglewLoadDisplayColorTableEXT;
+
+WGLEW_EXPORT PFNWGLGETEXTENSIONSSTRINGEXTPROC __wglewGetExtensionsStringEXT;
+
+WGLEW_EXPORT PFNWGLGETCURRENTREADDCEXTPROC __wglewGetCurrentReadDCEXT;
+WGLEW_EXPORT PFNWGLMAKECONTEXTCURRENTEXTPROC __wglewMakeContextCurrentEXT;
+
+WGLEW_EXPORT PFNWGLCREATEPBUFFEREXTPROC __wglewCreatePbufferEXT;
+WGLEW_EXPORT PFNWGLDESTROYPBUFFEREXTPROC __wglewDestroyPbufferEXT;
+WGLEW_EXPORT PFNWGLGETPBUFFERDCEXTPROC __wglewGetPbufferDCEXT;
+WGLEW_EXPORT PFNWGLQUERYPBUFFEREXTPROC __wglewQueryPbufferEXT;
+WGLEW_EXPORT PFNWGLRELEASEPBUFFERDCEXTPROC __wglewReleasePbufferDCEXT;
+
+WGLEW_EXPORT PFNWGLCHOOSEPIXELFORMATEXTPROC __wglewChoosePixelFormatEXT;
+WGLEW_EXPORT PFNWGLGETPIXELFORMATATTRIBFVEXTPROC __wglewGetPixelFormatAttribfvEXT;
+WGLEW_EXPORT PFNWGLGETPIXELFORMATATTRIBIVEXTPROC __wglewGetPixelFormatAttribivEXT;
+
+WGLEW_EXPORT PFNWGLGETSWAPINTERVALEXTPROC __wglewGetSwapIntervalEXT;
+WGLEW_EXPORT PFNWGLSWAPINTERVALEXTPROC __wglewSwapIntervalEXT;
+
+WGLEW_EXPORT PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC __wglewGetDigitalVideoParametersI3D;
+WGLEW_EXPORT PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC __wglewSetDigitalVideoParametersI3D;
+
+WGLEW_EXPORT PFNWGLGETGAMMATABLEI3DPROC __wglewGetGammaTableI3D;
+WGLEW_EXPORT PFNWGLGETGAMMATABLEPARAMETERSI3DPROC __wglewGetGammaTableParametersI3D;
+WGLEW_EXPORT PFNWGLSETGAMMATABLEI3DPROC __wglewSetGammaTableI3D;
+WGLEW_EXPORT PFNWGLSETGAMMATABLEPARAMETERSI3DPROC __wglewSetGammaTableParametersI3D;
+
+WGLEW_EXPORT PFNWGLDISABLEGENLOCKI3DPROC __wglewDisableGenlockI3D;
+WGLEW_EXPORT PFNWGLENABLEGENLOCKI3DPROC __wglewEnableGenlockI3D;
+WGLEW_EXPORT PFNWGLGENLOCKSAMPLERATEI3DPROC __wglewGenlockSampleRateI3D;
+WGLEW_EXPORT PFNWGLGENLOCKSOURCEDELAYI3DPROC __wglewGenlockSourceDelayI3D;
+WGLEW_EXPORT PFNWGLGENLOCKSOURCEEDGEI3DPROC __wglewGenlockSourceEdgeI3D;
+WGLEW_EXPORT PFNWGLGENLOCKSOURCEI3DPROC __wglewGenlockSourceI3D;
+WGLEW_EXPORT PFNWGLGETGENLOCKSAMPLERATEI3DPROC __wglewGetGenlockSampleRateI3D;
+WGLEW_EXPORT PFNWGLGETGENLOCKSOURCEDELAYI3DPROC __wglewGetGenlockSourceDelayI3D;
+WGLEW_EXPORT PFNWGLGETGENLOCKSOURCEEDGEI3DPROC __wglewGetGenlockSourceEdgeI3D;
+WGLEW_EXPORT PFNWGLGETGENLOCKSOURCEI3DPROC __wglewGetGenlockSourceI3D;
+WGLEW_EXPORT PFNWGLISENABLEDGENLOCKI3DPROC __wglewIsEnabledGenlockI3D;
+WGLEW_EXPORT PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC __wglewQueryGenlockMaxSourceDelayI3D;
+
+WGLEW_EXPORT PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC __wglewAssociateImageBufferEventsI3D;
+WGLEW_EXPORT PFNWGLCREATEIMAGEBUFFERI3DPROC __wglewCreateImageBufferI3D;
+WGLEW_EXPORT PFNWGLDESTROYIMAGEBUFFERI3DPROC __wglewDestroyImageBufferI3D;
+WGLEW_EXPORT PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC __wglewReleaseImageBufferEventsI3D;
+
+WGLEW_EXPORT PFNWGLDISABLEFRAMELOCKI3DPROC __wglewDisableFrameLockI3D;
+WGLEW_EXPORT PFNWGLENABLEFRAMELOCKI3DPROC __wglewEnableFrameLockI3D;
+WGLEW_EXPORT PFNWGLISENABLEDFRAMELOCKI3DPROC __wglewIsEnabledFrameLockI3D;
+WGLEW_EXPORT PFNWGLQUERYFRAMELOCKMASTERI3DPROC __wglewQueryFrameLockMasterI3D;
+
+WGLEW_EXPORT PFNWGLBEGINFRAMETRACKINGI3DPROC __wglewBeginFrameTrackingI3D;
+WGLEW_EXPORT PFNWGLENDFRAMETRACKINGI3DPROC __wglewEndFrameTrackingI3D;
+WGLEW_EXPORT PFNWGLGETFRAMEUSAGEI3DPROC __wglewGetFrameUsageI3D;
+WGLEW_EXPORT PFNWGLQUERYFRAMETRACKINGI3DPROC __wglewQueryFrameTrackingI3D;
+
+WGLEW_EXPORT PFNWGLCOPYIMAGESUBDATANVPROC __wglewCopyImageSubDataNV;
+
+WGLEW_EXPORT PFNWGLCREATEAFFINITYDCNVPROC __wglewCreateAffinityDCNV;
+WGLEW_EXPORT PFNWGLDELETEDCNVPROC __wglewDeleteDCNV;
+WGLEW_EXPORT PFNWGLENUMGPUDEVICESNVPROC __wglewEnumGpuDevicesNV;
+WGLEW_EXPORT PFNWGLENUMGPUSFROMAFFINITYDCNVPROC __wglewEnumGpusFromAffinityDCNV;
+WGLEW_EXPORT PFNWGLENUMGPUSNVPROC __wglewEnumGpusNV;
+
+WGLEW_EXPORT PFNWGLBINDVIDEODEVICENVPROC __wglewBindVideoDeviceNV;
+WGLEW_EXPORT PFNWGLENUMERATEVIDEODEVICESNVPROC __wglewEnumerateVideoDevicesNV;
+WGLEW_EXPORT PFNWGLQUERYCURRENTCONTEXTNVPROC __wglewQueryCurrentContextNV;
+
+WGLEW_EXPORT PFNWGLBINDSWAPBARRIERNVPROC __wglewBindSwapBarrierNV;
+WGLEW_EXPORT PFNWGLJOINSWAPGROUPNVPROC __wglewJoinSwapGroupNV;
+WGLEW_EXPORT PFNWGLQUERYFRAMECOUNTNVPROC __wglewQueryFrameCountNV;
+WGLEW_EXPORT PFNWGLQUERYMAXSWAPGROUPSNVPROC __wglewQueryMaxSwapGroupsNV;
+WGLEW_EXPORT PFNWGLQUERYSWAPGROUPNVPROC __wglewQuerySwapGroupNV;
+WGLEW_EXPORT PFNWGLRESETFRAMECOUNTNVPROC __wglewResetFrameCountNV;
+
+WGLEW_EXPORT PFNWGLALLOCATEMEMORYNVPROC __wglewAllocateMemoryNV;
+WGLEW_EXPORT PFNWGLFREEMEMORYNVPROC __wglewFreeMemoryNV;
+
+WGLEW_EXPORT PFNWGLBINDVIDEOIMAGENVPROC __wglewBindVideoImageNV;
+WGLEW_EXPORT PFNWGLGETVIDEODEVICENVPROC __wglewGetVideoDeviceNV;
+WGLEW_EXPORT PFNWGLGETVIDEOINFONVPROC __wglewGetVideoInfoNV;
+WGLEW_EXPORT PFNWGLRELEASEVIDEODEVICENVPROC __wglewReleaseVideoDeviceNV;
+WGLEW_EXPORT PFNWGLRELEASEVIDEOIMAGENVPROC __wglewReleaseVideoImageNV;
+WGLEW_EXPORT PFNWGLSENDPBUFFERTOVIDEONVPROC __wglewSendPbufferToVideoNV;
+
+WGLEW_EXPORT PFNWGLGETMSCRATEOMLPROC __wglewGetMscRateOML;
+WGLEW_EXPORT PFNWGLGETSYNCVALUESOMLPROC __wglewGetSyncValuesOML;
+WGLEW_EXPORT PFNWGLSWAPBUFFERSMSCOMLPROC __wglewSwapBuffersMscOML;
+WGLEW_EXPORT PFNWGLSWAPLAYERBUFFERSMSCOMLPROC __wglewSwapLayerBuffersMscOML;
+WGLEW_EXPORT PFNWGLWAITFORMSCOMLPROC __wglewWaitForMscOML;
+WGLEW_EXPORT PFNWGLWAITFORSBCOMLPROC __wglewWaitForSbcOML;
+WGLEW_EXPORT GLboolean __WGLEW_3DFX_multisample;
+WGLEW_EXPORT GLboolean __WGLEW_3DL_stereo_control;
+WGLEW_EXPORT GLboolean __WGLEW_AMD_gpu_association;
+WGLEW_EXPORT GLboolean __WGLEW_ARB_buffer_region;
+WGLEW_EXPORT GLboolean __WGLEW_ARB_create_context;
+WGLEW_EXPORT GLboolean __WGLEW_ARB_create_context_profile;
+WGLEW_EXPORT GLboolean __WGLEW_ARB_extensions_string;
+WGLEW_EXPORT GLboolean __WGLEW_ARB_framebuffer_sRGB;
+WGLEW_EXPORT GLboolean __WGLEW_ARB_make_current_read;
+WGLEW_EXPORT GLboolean __WGLEW_ARB_multisample;
+WGLEW_EXPORT GLboolean __WGLEW_ARB_pbuffer;
+WGLEW_EXPORT GLboolean __WGLEW_ARB_pixel_format;
+WGLEW_EXPORT GLboolean __WGLEW_ARB_pixel_format_float;
+WGLEW_EXPORT GLboolean __WGLEW_ARB_render_texture;
+WGLEW_EXPORT GLboolean __WGLEW_ATI_pixel_format_float;
+WGLEW_EXPORT GLboolean __WGLEW_ATI_render_texture_rectangle;
+WGLEW_EXPORT GLboolean __WGLEW_EXT_depth_float;
+WGLEW_EXPORT GLboolean __WGLEW_EXT_display_color_table;
+WGLEW_EXPORT GLboolean __WGLEW_EXT_extensions_string;
+WGLEW_EXPORT GLboolean __WGLEW_EXT_framebuffer_sRGB;
+WGLEW_EXPORT GLboolean __WGLEW_EXT_make_current_read;
+WGLEW_EXPORT GLboolean __WGLEW_EXT_multisample;
+WGLEW_EXPORT GLboolean __WGLEW_EXT_pbuffer;
+WGLEW_EXPORT GLboolean __WGLEW_EXT_pixel_format;
+WGLEW_EXPORT GLboolean __WGLEW_EXT_pixel_format_packed_float;
+WGLEW_EXPORT GLboolean __WGLEW_EXT_swap_control;
+WGLEW_EXPORT GLboolean __WGLEW_I3D_digital_video_control;
+WGLEW_EXPORT GLboolean __WGLEW_I3D_gamma;
+WGLEW_EXPORT GLboolean __WGLEW_I3D_genlock;
+WGLEW_EXPORT GLboolean __WGLEW_I3D_image_buffer;
+WGLEW_EXPORT GLboolean __WGLEW_I3D_swap_frame_lock;
+WGLEW_EXPORT GLboolean __WGLEW_I3D_swap_frame_usage;
+WGLEW_EXPORT GLboolean __WGLEW_NV_copy_image;
+WGLEW_EXPORT GLboolean __WGLEW_NV_float_buffer;
+WGLEW_EXPORT GLboolean __WGLEW_NV_gpu_affinity;
+WGLEW_EXPORT GLboolean __WGLEW_NV_present_video;
+WGLEW_EXPORT GLboolean __WGLEW_NV_render_depth_texture;
+WGLEW_EXPORT GLboolean __WGLEW_NV_render_texture_rectangle;
+WGLEW_EXPORT GLboolean __WGLEW_NV_swap_group;
+WGLEW_EXPORT GLboolean __WGLEW_NV_vertex_array_range;
+WGLEW_EXPORT GLboolean __WGLEW_NV_video_output;
+WGLEW_EXPORT GLboolean __WGLEW_OML_sync_control;
+
+#ifdef GLEW_MX
+}; /* WGLEWContextStruct */
+#endif /* GLEW_MX */
+
+/* ------------------------------------------------------------------------- */
+
+#ifdef GLEW_MX
+
+typedef struct WGLEWContextStruct WGLEWContext;
+GLEWAPI GLenum wglewContextInit (WGLEWContext* ctx);
+GLEWAPI GLboolean wglewContextIsSupported (WGLEWContext* ctx, const char* name);
+
+#define wglewInit() wglewContextInit(wglewGetContext())
+#define wglewIsSupported(x) wglewContextIsSupported(wglewGetContext(), x)
+
+#define WGLEW_GET_VAR(x) (*(const GLboolean*)&(wglewGetContext()->x))
+#define WGLEW_GET_FUN(x) wglewGetContext()->x
+
+#else /* GLEW_MX */
+
+#define WGLEW_GET_VAR(x) (*(const GLboolean*)&x)
+#define WGLEW_GET_FUN(x) x
+
+GLEWAPI GLboolean wglewIsSupported (const char* name);
+
+#endif /* GLEW_MX */
+
+GLEWAPI GLboolean wglewGetExtension (const char* name);
+
+#ifdef __cplusplus
+}
+#endif
+
+#undef GLEWAPI
+
+#endif /* __wglew_h__ */
diff --git a/packages/noncvs/windows/extra/Gem/dev/RTE/Array.h b/packages/noncvs/windows/extra/Gem/dev/RTE/Array.h
index ea91fbf8..cbd4e5c1 100644
--- a/packages/noncvs/windows/extra/Gem/dev/RTE/Array.h
+++ b/packages/noncvs/windows/extra/Gem/dev/RTE/Array.h
@@ -1,51 +1,51 @@
-/*-----------------------------------------------------------------
- LOG
- GEM - Graphics Environment for Multimedia
-
- access arrays of the RTE
-
- Copyright (c) 2010-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
- For information on usage and redistribution, and for a DISCLAIMER OF ALL
- WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
-
- -----------------------------------------------------------------*/
-#ifndef _INCLUDE__GEM_RTE_ARRAY_H_
-#define _INCLUDE__GEM_RTE_ARRAY_H_
-
-
-#include "Gem/ExportDef.h"
-#include <string>
-
-namespace gem {
- namespace RTE {
- GEM_EXTERN class Array {
- private:
- class PIMPL;
- PIMPL*m_pimpl;
-
- public:
- Array(void);
- Array(const gem::RTE::Array&a);
- Array(const std::string&name);
-
- virtual ~Array(void);
-
- /* check whether we hold a valid reference to an array */
- virtual bool isValid();
-
- /* reference another array */
- virtual bool name(const std::string&s);
- virtual const std::string name(void);
-
- virtual bool resize(const size_t newsize);
- virtual size_t size(void);
-
- virtual t_float&operator[](const unsigned int&index);
-
- virtual void set(const t_float f);
-
- virtual Array&operator=(const Array&);
- };
- };
-};
-#endif /* _INCLUDE__GEM_RTE_ARRAY_H_ */
+/*-----------------------------------------------------------------
+ LOG
+ GEM - Graphics Environment for Multimedia
+
+ access arrays of the RTE
+
+ Copyright (c) 2010-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
+ For information on usage and redistribution, and for a DISCLAIMER OF ALL
+ WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
+
+ -----------------------------------------------------------------*/
+#ifndef _INCLUDE__GEM_RTE_ARRAY_H_
+#define _INCLUDE__GEM_RTE_ARRAY_H_
+
+
+#include "Gem/ExportDef.h"
+#include <string>
+
+namespace gem {
+ namespace RTE {
+ GEM_EXTERN class Array {
+ private:
+ class PIMPL;
+ PIMPL*m_pimpl;
+
+ public:
+ Array(void);
+ Array(const gem::RTE::Array&a);
+ Array(const std::string&name);
+
+ virtual ~Array(void);
+
+ /* check whether we hold a valid reference to an array */
+ virtual bool isValid();
+
+ /* reference another array */
+ virtual bool name(const std::string&s);
+ virtual const std::string name(void);
+
+ virtual bool resize(const size_t newsize);
+ virtual size_t size(void);
+
+ virtual t_float&operator[](const unsigned int&index);
+
+ virtual void set(const t_float f);
+
+ virtual Array&operator=(const Array&);
+ };
+ };
+};
+#endif /* _INCLUDE__GEM_RTE_ARRAY_H_ */
diff --git a/packages/noncvs/windows/extra/Gem/dev/RTE/MessageCallbacks.h b/packages/noncvs/windows/extra/Gem/dev/RTE/MessageCallbacks.h
index 8a178888..75c9f5d7 100644
--- a/packages/noncvs/windows/extra/Gem/dev/RTE/MessageCallbacks.h
+++ b/packages/noncvs/windows/extra/Gem/dev/RTE/MessageCallbacks.h
@@ -1,146 +1,146 @@
-/*-----------------------------------------------------------------
- LOG
- GEM - Graphics Environment for Multimedia
-
- helper-functions&macros for message callbacks to objects
-
- Copyright (c) 2010-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
- For information on usage and redistribution, and for a DISCLAIMER OF ALL
- WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
-
- -----------------------------------------------------------------*/
-
-// these utility macros warp the callback functions from the RTE, no need add them to your headers!
-
-// NOTE: this is very experimental; you should not include this header unless you know what you are doing
-// once this has proven to work (test on M$VC!), it is likely to be included automatically
-
-/* usage:
- * void myclass::obj_setupCallback(t_class*classPtr) {
- * CPPEXTERN_MSG (classPtr, "foo", gimmeMess); // A_GIMME
- * CPPEXTERN_MSG0(classPtr, "doit", bangMess); // no args
- * CPPEXTERN_MSG1(classPtr, "name", nameMess, t_symbol*); // 1 arg (A_SYMBOL)
- * CPPEXTERN_MSG1(classPtr, "title", titleMess, std::string); // 1 arg (A_SYMBOL)
- * CPPEXTERN_MSG3(classPtr, "values", tripletMess, t_float, t_float, t_float); // 3 args (A_FLOAT)
- * }
- * void myclass::gimmeMess (t_symbol*s, int argc, t_atom*argv) {;}
- * void myclass::bangMess (void) {;}
- * void myclass::nameMess (t_symbol*s) {;}
- * void myclass::titleMess (std::string s) {;}
- * void myclass::tripletMess(t_float a, t_float b, t_float c) {;}
- */
-#ifndef _INCLUDE__GEM_RTE_MESSAGECALLBACKS_H_
-#define _INCLUDE__GEM_RTE_MESSAGECALLBACKS_H_
-
-namespace gem {
- namespace RteMess {
- class NoneType {}; // just a dummy class
- template<class T=NoneType, class T1=T>
- struct TypeTemplateCore{
- static t_atomtype atomtype_id(void) { return A_NULL; }
- static T1 cast(T value) { return static_cast<T1>(value); }
- typedef T proxyType;
- virtual ~TypeTemplateCore(void) { }
- };
- template<class T>
- struct TypeTemplate : TypeTemplateCore<T, T> {
- };
- template<>
- struct TypeTemplate<t_float> : TypeTemplateCore<t_float> {
- static t_atomtype atomtype_id(void) { return A_FLOAT; }
- };
- template<>
- struct TypeTemplate<t_int> : TypeTemplateCore<t_float, t_int> {
- static t_atomtype atomtype_id(void) { return A_FLOAT; }
- };
- template<>
- struct TypeTemplate<int> : TypeTemplateCore<t_float, int> {
- static t_atomtype atomtype_id(void) { return A_FLOAT; }
- };
- template<>
- struct TypeTemplate<unsigned int> : TypeTemplateCore<t_float, unsigned int> {
- static t_atomtype atomtype_id(void) { return A_FLOAT; }
- };
- template<>
- struct TypeTemplate<bool> : TypeTemplateCore<t_float, bool> {
- static t_atomtype atomtype_id(void) { return A_FLOAT; }
- static bool cast(t_float f) {return (f>0.5); }
- };
- template<>
- struct TypeTemplate<t_symbol*> : TypeTemplateCore<t_symbol*> {
- static t_atomtype atomtype_id(void) { return A_DEFSYMBOL; }
- };
- template<>
- struct TypeTemplate<std::string> : TypeTemplateCore<t_symbol*, std::string> {
- static t_atomtype atomtype_id(void) { return A_DEFSYMBOL; }
- static std::string cast(t_symbol*s) {return std::string(s->s_name); }
- };
- }; };
-#define MSG_CONCAT3(a, b, c) _##a##_##b##_##c
-
-
-
-
-#define CPPEXTERN_MSG_(line, cp, selector, fun) \
- struct MSG_CONCAT3(CallbackClass, fun, line) { \
- static void callback(void*data, t_symbol*s, int argc, t_atom*argv) { GetMyClass(data)->fun(s, argc, argv); } \
- MSG_CONCAT3(CallbackClass, fun, line) (t_class*c, std::string s) { class_addmethod(c, reinterpret_cast<t_method>(callback), gensym(s.c_str()), A_GIMME, A_NULL); } \
- }; \
- MSG_CONCAT3(CallbackClass, fun, line) MSG_CONCAT3(CallbackClassInstance, fun, line) (cp, selector)
-#define CPPEXTERN_MSG0_(line, cp, selector, fun) \
- struct MSG_CONCAT3(CallbackClass, fun, line) { \
- static void callback(void*data) { GetMyClass(data)->fun(); } \
- MSG_CONCAT3(CallbackClass, fun, line) (t_class*c, std::string s) { class_addmethod(c, reinterpret_cast<t_method>(callback), gensym(s.c_str()), A_NULL); } \
- }; \
- MSG_CONCAT3(CallbackClass, fun, line) MSG_CONCAT3(CallbackClassInstance, fun, line) (cp, selector)
-#define CPPEXTERN_MSG1_(line, cp, selector, fun, typ0) \
- struct MSG_CONCAT3(CallbackClass, fun, line) { \
- static void callback(void*data, gem::RteMess::TypeTemplate<typ0>::proxyType v0) \
- { GetMyClass(data)->fun(gem::RteMess::TypeTemplate<typ0>::cast(v0)); } \
- MSG_CONCAT3(CallbackClass, fun, line) (t_class*c, std::string s) { class_addmethod(c, reinterpret_cast<t_method>(callback), gensym(s.c_str()), gem::RteMess::TypeTemplate<typ0>::atomtype_id(), A_NULL); } \
- }; \
- MSG_CONCAT3(CallbackClass, fun, line) MSG_CONCAT3(CallbackClassInstance, fun, line) (cp, selector)
-#define CPPEXTERN_MSG2_(line, cp, selector, fun, typ0, typ1) \
- struct MSG_CONCAT3(CallbackClass, fun, line) { \
- static void callback(void*data, gem::RteMess::TypeTemplate<typ0>::proxyType v0, gem::RteMess::TypeTemplate<typ1>::proxyType v1) \
- { GetMyClass(data)->fun(gem::RteMess::TypeTemplate<typ0>::cast(v0), gem::RteMess::TypeTemplate<typ1>::cast(v1)); } \
- MSG_CONCAT3(CallbackClass, fun, line) (t_class*c, std::string s) { class_addmethod(c, reinterpret_cast<t_method>(callback), gensym(s.c_str()), gem::RteMess::TypeTemplate<typ0>::atomtype_id(), gem::RteMess::TypeTemplate<typ1>::atomtype_id(), A_NULL); } \
- }; \
- MSG_CONCAT3(CallbackClass, fun, line) MSG_CONCAT3(CallbackClassInstance, fun, line) (cp, selector)
-
-#define CPPEXTERN_MSG3_(line, cp, selector, fun, typ0, typ1, typ2) \
- struct MSG_CONCAT3(CallbackClass, fun, line) { \
- static void callback(void*data, gem::RteMess::TypeTemplate<typ0>::proxyType v0, gem::RteMess::TypeTemplate<typ1>::proxyType v1, gem::RteMess::TypeTemplate<typ2>::proxyType v2) \
- { GetMyClass(data)->fun(gem::RteMess::TypeTemplate<typ0>::cast(v0), gem::RteMess::TypeTemplate<typ1>::cast(v1), gem::RteMess::TypeTemplate<typ2>::cast(v2)); } \
- MSG_CONCAT3(CallbackClass, fun, line) (t_class*c, std::string s) { class_addmethod(c, reinterpret_cast<t_method>(callback), gensym(s.c_str()), gem::RteMess::TypeTemplate<typ0>::atomtype_id(), gem::RteMess::TypeTemplate<typ1>::atomtype_id(), gem::RteMess::TypeTemplate<typ2>::atomtype_id(), A_NULL); } \
- }; \
- MSG_CONCAT3(CallbackClass, fun, line) MSG_CONCAT3(CallbackClassInstance, fun, line) (cp, selector)
-
-#define CPPEXTERN_MSG4_(line, cp, selector, fun, typ0, typ1, typ2, typ3) \
- struct MSG_CONCAT3(CallbackClass, fun, line) { \
- static void callback(void*data, gem::RteMess::TypeTemplate<typ0>::proxyType v0, gem::RteMess::TypeTemplate<typ1>::proxyType v1, gem::RteMess::TypeTemplate<typ2>::proxyType v2, gem::RteMess::TypeTemplate<typ3>::proxyType v3) \
- { GetMyClass(data)->fun(gem::RteMess::TypeTemplate<typ0>::cast(v0), gem::RteMess::TypeTemplate<typ1>::cast(v1), gem::RteMess::TypeTemplate<typ2>::cast(v2), gem::RteMess::TypeTemplate<typ3>::cast(v3)); } \
- MSG_CONCAT3(CallbackClass, fun, line) (t_class*c, std::string s) { class_addmethod(c, reinterpret_cast<t_method>(callback), gensym(s.c_str()), gem::RteMess::TypeTemplate<typ0>::atomtype_id(), gem::RteMess::TypeTemplate<typ1>::atomtype_id(), gem::RteMess::TypeTemplate<typ2>::atomtype_id(), gem::RteMess::TypeTemplate<typ3>::atomtype_id(), A_NULL); } \
- }; \
- MSG_CONCAT3(CallbackClass, fun, line) MSG_CONCAT3(CallbackClassInstance, fun, line) (cp, selector)
-#define CPPEXTERN_MSG5_(line, cp, selector, fun, typ0, typ1, typ2, typ3, typ4) \
- struct MSG_CONCAT3(CallbackClass, fun, line) { \
- static void callback(void*data, gem::RteMess::TypeTemplate<typ0>::proxyType v0, gem::RteMess::TypeTemplate<typ1>::proxyType v1, gem::RteMess::TypeTemplate<typ2>::proxyType v2, gem::RteMess::TypeTemplate<typ3>::proxyType v3, gem::RteMess::TypeTemplate<typ4>::proxyType v4) \
- { GetMyClass(data)->fun(gem::RteMess::TypeTemplate<typ0>::cast(v0), gem::RteMess::TypeTemplate<typ1>::cast(v1), gem::RteMess::TypeTemplate<typ2>::cast(v2), gem::RteMess::TypeTemplate<typ3>::cast(v3), gem::RteMess::TypeTemplate<typ4>::cast(v4)); } \
- MSG_CONCAT3(CallbackClass, fun, line) (t_class*c, std::string s) { class_addmethod(c, reinterpret_cast<t_method>(callback), gensym(s.c_str()), gem::RteMess::TypeTemplate<typ0>::atomtype_id(), gem::RteMess::TypeTemplate<typ1>::atomtype_id(), gem::RteMess::TypeTemplate<typ2>::atomtype_id(), gem::RteMess::TypeTemplate<typ3>::atomtype_id(), gem::RteMess::TypeTemplate<typ4>::atomtype_id(), A_NULL); } \
- }; \
- MSG_CONCAT3(CallbackClass, fun, line) MSG_CONCAT3(CallbackClassInstance, fun, line) (cp, selector)
-
-
-#define CPPEXTERN_MSG(cp, selector, fun) CPPEXTERN_MSG_ ( __LINE__ , cp, selector, fun)
-#define CPPEXTERN_MSG0(cp, selector, fun) CPPEXTERN_MSG0_ ( __LINE__ , cp, selector, fun)
-#define CPPEXTERN_MSG1(cp, selector, fun, typ) CPPEXTERN_MSG1_ ( __LINE__ , cp, selector, fun, typ)
-#define CPPEXTERN_MSG2(cp, selector, fun, typ0, typ1) CPPEXTERN_MSG2_ ( __LINE__ , cp, selector, fun, typ0, typ1)
-#define CPPEXTERN_MSG3(cp, selector, fun, typ0, typ1, typ2) CPPEXTERN_MSG3_ ( __LINE__ , cp, selector, fun, typ0, typ1, typ2)
-#define CPPEXTERN_MSG4(cp, selector, fun, typ0, typ1, typ2, typ3) CPPEXTERN_MSG4_ ( __LINE__ , cp, selector, fun, typ0, typ1, typ2, typ3)
-#define CPPEXTERN_MSG5(cp, selector, fun, typ0, typ1, typ2, typ3, typ4) CPPEXTERN_MSG5_ ( __LINE__ , cp, selector, fun, typ0, typ1, typ2, typ3, typ4)
-
-
-
-
-#endif /* _INCLUDE__GEM_RTE_MESSAGECALLBACKS_H_ */
+/*-----------------------------------------------------------------
+ LOG
+ GEM - Graphics Environment for Multimedia
+
+ helper-functions&macros for message callbacks to objects
+
+ Copyright (c) 2010-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
+ For information on usage and redistribution, and for a DISCLAIMER OF ALL
+ WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
+
+ -----------------------------------------------------------------*/
+
+// these utility macros warp the callback functions from the RTE, no need add them to your headers!
+
+// NOTE: this is very experimental; you should not include this header unless you know what you are doing
+// once this has proven to work (test on M$VC!), it is likely to be included automatically
+
+/* usage:
+ * void myclass::obj_setupCallback(t_class*classPtr) {
+ * CPPEXTERN_MSG (classPtr, "foo", gimmeMess); // A_GIMME
+ * CPPEXTERN_MSG0(classPtr, "doit", bangMess); // no args
+ * CPPEXTERN_MSG1(classPtr, "name", nameMess, t_symbol*); // 1 arg (A_SYMBOL)
+ * CPPEXTERN_MSG1(classPtr, "title", titleMess, std::string); // 1 arg (A_SYMBOL)
+ * CPPEXTERN_MSG3(classPtr, "values", tripletMess, t_float, t_float, t_float); // 3 args (A_FLOAT)
+ * }
+ * void myclass::gimmeMess (t_symbol*s, int argc, t_atom*argv) {;}
+ * void myclass::bangMess (void) {;}
+ * void myclass::nameMess (t_symbol*s) {;}
+ * void myclass::titleMess (std::string s) {;}
+ * void myclass::tripletMess(t_float a, t_float b, t_float c) {;}
+ */
+#ifndef _INCLUDE__GEM_RTE_MESSAGECALLBACKS_H_
+#define _INCLUDE__GEM_RTE_MESSAGECALLBACKS_H_
+
+namespace gem {
+ namespace RteMess {
+ class NoneType {}; // just a dummy class
+ template<class T=NoneType, class T1=T>
+ struct TypeTemplateCore{
+ static t_atomtype atomtype_id(void) { return A_NULL; }
+ static T1 cast(T value) { return static_cast<T1>(value); }
+ typedef T proxyType;
+ virtual ~TypeTemplateCore(void) { }
+ };
+ template<class T>
+ struct TypeTemplate : TypeTemplateCore<T, T> {
+ };
+ template<>
+ struct TypeTemplate<t_float> : TypeTemplateCore<t_float> {
+ static t_atomtype atomtype_id(void) { return A_FLOAT; }
+ };
+ template<>
+ struct TypeTemplate<t_int> : TypeTemplateCore<t_float, t_int> {
+ static t_atomtype atomtype_id(void) { return A_FLOAT; }
+ };
+ template<>
+ struct TypeTemplate<int> : TypeTemplateCore<t_float, int> {
+ static t_atomtype atomtype_id(void) { return A_FLOAT; }
+ };
+ template<>
+ struct TypeTemplate<unsigned int> : TypeTemplateCore<t_float, unsigned int> {
+ static t_atomtype atomtype_id(void) { return A_FLOAT; }
+ };
+ template<>
+ struct TypeTemplate<bool> : TypeTemplateCore<t_float, bool> {
+ static t_atomtype atomtype_id(void) { return A_FLOAT; }
+ static bool cast(t_float f) {return (f>0.5); }
+ };
+ template<>
+ struct TypeTemplate<t_symbol*> : TypeTemplateCore<t_symbol*> {
+ static t_atomtype atomtype_id(void) { return A_DEFSYMBOL; }
+ };
+ template<>
+ struct TypeTemplate<std::string> : TypeTemplateCore<t_symbol*, std::string> {
+ static t_atomtype atomtype_id(void) { return A_DEFSYMBOL; }
+ static std::string cast(t_symbol*s) {return std::string(s->s_name); }
+ };
+ }; };
+#define MSG_CONCAT3(a, b, c) _##a##_##b##_##c
+
+
+
+
+#define CPPEXTERN_MSG_(line, cp, selector, fun) \
+ struct MSG_CONCAT3(CallbackClass, fun, line) { \
+ static void callback(void*data, t_symbol*s, int argc, t_atom*argv) { GetMyClass(data)->fun(s, argc, argv); } \
+ MSG_CONCAT3(CallbackClass, fun, line) (t_class*c, std::string s) { class_addmethod(c, reinterpret_cast<t_method>(callback), gensym(s.c_str()), A_GIMME, A_NULL); } \
+ }; \
+ MSG_CONCAT3(CallbackClass, fun, line) MSG_CONCAT3(CallbackClassInstance, fun, line) (cp, selector)
+#define CPPEXTERN_MSG0_(line, cp, selector, fun) \
+ struct MSG_CONCAT3(CallbackClass, fun, line) { \
+ static void callback(void*data) { GetMyClass(data)->fun(); } \
+ MSG_CONCAT3(CallbackClass, fun, line) (t_class*c, std::string s) { class_addmethod(c, reinterpret_cast<t_method>(callback), gensym(s.c_str()), A_NULL); } \
+ }; \
+ MSG_CONCAT3(CallbackClass, fun, line) MSG_CONCAT3(CallbackClassInstance, fun, line) (cp, selector)
+#define CPPEXTERN_MSG1_(line, cp, selector, fun, typ0) \
+ struct MSG_CONCAT3(CallbackClass, fun, line) { \
+ static void callback(void*data, gem::RteMess::TypeTemplate<typ0>::proxyType v0) \
+ { GetMyClass(data)->fun(gem::RteMess::TypeTemplate<typ0>::cast(v0)); } \
+ MSG_CONCAT3(CallbackClass, fun, line) (t_class*c, std::string s) { class_addmethod(c, reinterpret_cast<t_method>(callback), gensym(s.c_str()), gem::RteMess::TypeTemplate<typ0>::atomtype_id(), A_NULL); } \
+ }; \
+ MSG_CONCAT3(CallbackClass, fun, line) MSG_CONCAT3(CallbackClassInstance, fun, line) (cp, selector)
+#define CPPEXTERN_MSG2_(line, cp, selector, fun, typ0, typ1) \
+ struct MSG_CONCAT3(CallbackClass, fun, line) { \
+ static void callback(void*data, gem::RteMess::TypeTemplate<typ0>::proxyType v0, gem::RteMess::TypeTemplate<typ1>::proxyType v1) \
+ { GetMyClass(data)->fun(gem::RteMess::TypeTemplate<typ0>::cast(v0), gem::RteMess::TypeTemplate<typ1>::cast(v1)); } \
+ MSG_CONCAT3(CallbackClass, fun, line) (t_class*c, std::string s) { class_addmethod(c, reinterpret_cast<t_method>(callback), gensym(s.c_str()), gem::RteMess::TypeTemplate<typ0>::atomtype_id(), gem::RteMess::TypeTemplate<typ1>::atomtype_id(), A_NULL); } \
+ }; \
+ MSG_CONCAT3(CallbackClass, fun, line) MSG_CONCAT3(CallbackClassInstance, fun, line) (cp, selector)
+
+#define CPPEXTERN_MSG3_(line, cp, selector, fun, typ0, typ1, typ2) \
+ struct MSG_CONCAT3(CallbackClass, fun, line) { \
+ static void callback(void*data, gem::RteMess::TypeTemplate<typ0>::proxyType v0, gem::RteMess::TypeTemplate<typ1>::proxyType v1, gem::RteMess::TypeTemplate<typ2>::proxyType v2) \
+ { GetMyClass(data)->fun(gem::RteMess::TypeTemplate<typ0>::cast(v0), gem::RteMess::TypeTemplate<typ1>::cast(v1), gem::RteMess::TypeTemplate<typ2>::cast(v2)); } \
+ MSG_CONCAT3(CallbackClass, fun, line) (t_class*c, std::string s) { class_addmethod(c, reinterpret_cast<t_method>(callback), gensym(s.c_str()), gem::RteMess::TypeTemplate<typ0>::atomtype_id(), gem::RteMess::TypeTemplate<typ1>::atomtype_id(), gem::RteMess::TypeTemplate<typ2>::atomtype_id(), A_NULL); } \
+ }; \
+ MSG_CONCAT3(CallbackClass, fun, line) MSG_CONCAT3(CallbackClassInstance, fun, line) (cp, selector)
+
+#define CPPEXTERN_MSG4_(line, cp, selector, fun, typ0, typ1, typ2, typ3) \
+ struct MSG_CONCAT3(CallbackClass, fun, line) { \
+ static void callback(void*data, gem::RteMess::TypeTemplate<typ0>::proxyType v0, gem::RteMess::TypeTemplate<typ1>::proxyType v1, gem::RteMess::TypeTemplate<typ2>::proxyType v2, gem::RteMess::TypeTemplate<typ3>::proxyType v3) \
+ { GetMyClass(data)->fun(gem::RteMess::TypeTemplate<typ0>::cast(v0), gem::RteMess::TypeTemplate<typ1>::cast(v1), gem::RteMess::TypeTemplate<typ2>::cast(v2), gem::RteMess::TypeTemplate<typ3>::cast(v3)); } \
+ MSG_CONCAT3(CallbackClass, fun, line) (t_class*c, std::string s) { class_addmethod(c, reinterpret_cast<t_method>(callback), gensym(s.c_str()), gem::RteMess::TypeTemplate<typ0>::atomtype_id(), gem::RteMess::TypeTemplate<typ1>::atomtype_id(), gem::RteMess::TypeTemplate<typ2>::atomtype_id(), gem::RteMess::TypeTemplate<typ3>::atomtype_id(), A_NULL); } \
+ }; \
+ MSG_CONCAT3(CallbackClass, fun, line) MSG_CONCAT3(CallbackClassInstance, fun, line) (cp, selector)
+#define CPPEXTERN_MSG5_(line, cp, selector, fun, typ0, typ1, typ2, typ3, typ4) \
+ struct MSG_CONCAT3(CallbackClass, fun, line) { \
+ static void callback(void*data, gem::RteMess::TypeTemplate<typ0>::proxyType v0, gem::RteMess::TypeTemplate<typ1>::proxyType v1, gem::RteMess::TypeTemplate<typ2>::proxyType v2, gem::RteMess::TypeTemplate<typ3>::proxyType v3, gem::RteMess::TypeTemplate<typ4>::proxyType v4) \
+ { GetMyClass(data)->fun(gem::RteMess::TypeTemplate<typ0>::cast(v0), gem::RteMess::TypeTemplate<typ1>::cast(v1), gem::RteMess::TypeTemplate<typ2>::cast(v2), gem::RteMess::TypeTemplate<typ3>::cast(v3), gem::RteMess::TypeTemplate<typ4>::cast(v4)); } \
+ MSG_CONCAT3(CallbackClass, fun, line) (t_class*c, std::string s) { class_addmethod(c, reinterpret_cast<t_method>(callback), gensym(s.c_str()), gem::RteMess::TypeTemplate<typ0>::atomtype_id(), gem::RteMess::TypeTemplate<typ1>::atomtype_id(), gem::RteMess::TypeTemplate<typ2>::atomtype_id(), gem::RteMess::TypeTemplate<typ3>::atomtype_id(), gem::RteMess::TypeTemplate<typ4>::atomtype_id(), A_NULL); } \
+ }; \
+ MSG_CONCAT3(CallbackClass, fun, line) MSG_CONCAT3(CallbackClassInstance, fun, line) (cp, selector)
+
+
+#define CPPEXTERN_MSG(cp, selector, fun) CPPEXTERN_MSG_ ( __LINE__ , cp, selector, fun)
+#define CPPEXTERN_MSG0(cp, selector, fun) CPPEXTERN_MSG0_ ( __LINE__ , cp, selector, fun)
+#define CPPEXTERN_MSG1(cp, selector, fun, typ) CPPEXTERN_MSG1_ ( __LINE__ , cp, selector, fun, typ)
+#define CPPEXTERN_MSG2(cp, selector, fun, typ0, typ1) CPPEXTERN_MSG2_ ( __LINE__ , cp, selector, fun, typ0, typ1)
+#define CPPEXTERN_MSG3(cp, selector, fun, typ0, typ1, typ2) CPPEXTERN_MSG3_ ( __LINE__ , cp, selector, fun, typ0, typ1, typ2)
+#define CPPEXTERN_MSG4(cp, selector, fun, typ0, typ1, typ2, typ3) CPPEXTERN_MSG4_ ( __LINE__ , cp, selector, fun, typ0, typ1, typ2, typ3)
+#define CPPEXTERN_MSG5(cp, selector, fun, typ0, typ1, typ2, typ3, typ4) CPPEXTERN_MSG5_ ( __LINE__ , cp, selector, fun, typ0, typ1, typ2, typ3, typ4)
+
+
+
+
+#endif /* _INCLUDE__GEM_RTE_MESSAGECALLBACKS_H_ */
diff --git a/packages/noncvs/windows/extra/Gem/dev/Utils/Functions.h b/packages/noncvs/windows/extra/Gem/dev/Utils/Functions.h
index 00edb6a0..14a437ad 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Utils/Functions.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Utils/Functions.h
@@ -1,360 +1,360 @@
-/*-----------------------------------------------------------------
-LOG
- GEM - Graphics Environment for Multimedia
-
- GemFuncUtil.h
- - contains functions for graphics
- - part of GEM
-
- Copyright (c) 1997-2000 Mark Danks. mark@danks.org
- Copyright (c) Günther Geiger. geiger@epy.co.at
- Copyright (c) 2001-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
- For information on usage and redistribution, and for a DISCLAIMER OF ALL
- WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
-
------------------------------------------------------------------*/
-
-#ifndef _INCLUDE__GEM_UTILS_FUNCTIONS_H_
-#define _INCLUDE__GEM_UTILS_FUNCTIONS_H_
-
-#ifdef __APPLE__
-#include <Carbon/Carbon.h>
-#endif
-
-#include "Gem/ExportDef.h"
-
-/* this should be included for ALL platforms:
- * should we define __MMX__ for windows in there ?
- */
-#include "Utils/SIMD.h"
-#include "Utils/GemMath.h"
-
-// for rand()
-#include <stdlib.h>
-
-///////////////////////////////////////////////////////////////////////////////
-// powerOfTwo
-// get the next higher 2^n-number (if value is'nt 2^n by itself)
-///////////////////////////////////////////////////////////////////////////////
-inline int powerOfTwo(int value)
-{
-/*
- int x = 1;
- // while(x <= value) x <<= 1;
- while(x < value) x <<= 1;
- return(x);
-*/
-// optimization from "Hacker's Delight"
-// - above loop executes in 4n+3 instructions, where n is the power of 2 of returned int
-// - below code is branch-free and only 12 instructions!
- value = value - 1;
- value = value | (value >> 1);
- value = value | (value >> 2);
- value = value | (value >> 4);
- value = value | (value >> 8);
- value = value | (value >> 16);
- return (value + 1);
-}
-
-///////////////////////////////////////////////////////////////////////////////
-// min/max functions
-//
-///////////////////////////////////////////////////////////////////////////////
-#ifndef MIN
-inline int MIN(int x, int y) { return (x<y)?x:y; }
-inline float MIN(float x, float y) { return (x<y)?x:y; }
-#endif
-#ifndef MAX
-inline int MAX(int x, int y) { return (x>y)?x:y; }
-inline float MAX(float x, float y) { return (x>y)?x:y; }
-#endif
-
-inline unsigned char TRI_MAX(unsigned char v1, unsigned char v2, unsigned char v3){
- if (v1 > v2 && v1 > v3) return(v1);
- if (v2 > v3) return(v2);
- return(v3);
-}
-inline unsigned char TRI_MIN(unsigned char v1, unsigned char v2, unsigned char v3){
- if (v1 < v2 && v1 < v3) return(v1);
- if (v2 < v3) return(v2);
- return(v3);
-}
-
-///////////////////////////////////////////////////////////////////////////////
-// Clamp functions
-//
-///////////////////////////////////////////////////////////////////////////////
-//////////
-// Clamp a value high
-inline unsigned char CLAMP_HIGH(int x)
- { return((unsigned char )((x > 255) ? 255 : x)); }
-
-//////////
-// Clamp a value low
-inline unsigned char CLAMP_LOW(int x)
- { return((unsigned char )((x < 0) ? 0 : x)); }
-
-//////////
-// Clamp an int to the range of an unsigned char
-inline unsigned char CLAMP(int x)
- { return((unsigned char)((x > 255) ? 255 : ( (x < 0) ? 0 : x))); }
-
-//////////
-// Clamp a float to the range of an unsigned char
-inline unsigned char CLAMP(float x)
- { return((unsigned char)((x > 255.f) ? 255.f : ( (x < 0.f) ? 0.f : x))); }
-
-//////////
-// Clamp a float to 0. <= x <= 1.0
-inline float FLOAT_CLAMP(float x)
- { return((x > 1.f) ? 1.f : ( (x < 0.f) ? 0.f : x)); }
-
-/////////
-// Clamp the Y channel of YUV (16%235)
-inline unsigned char CLAMP_Y(int x)
- { return((unsigned char)((x > 235) ? 235 : ( (x < 16) ? 16 : x))); }
-
-///////////////////////////////////////////////////////////////////////////////
-// Multiply and interpolation
-//
-///////////////////////////////////////////////////////////////////////////////
-//////////
-// Exactly multiply two unsigned chars
-// This avoids a float value (important on Intel...)
-// From Alvy Ray Smith paper
-inline unsigned char INT_MULT(unsigned int a, unsigned int b)
- { int t = (unsigned int)a * (unsigned int)b + 0x80;
- return((unsigned char)(((t >> 8) + t) >> 8)); }
-
-//////////
-// Exactly LERPs two values
-// This avoids a float value (important on Intel...)
-// From Alvy Ray Smith paper
-inline unsigned char INT_LERP(unsigned int p, unsigned int q, unsigned int a)
- { return((unsigned char)(p + INT_MULT(a, q - p))); }
-
-//////////
-// Floating point LERP
-inline float FLOAT_LERP(float p, float q, float a)
- { return( a * (q - p) + p); }
-
-
-///////////////////////////////////////////////////////////////////////////////
-// Step function
-//
-///////////////////////////////////////////////////////////////////////////////
-inline int stepFunc(float x, float a)
- { return(x >= a); }
-inline int stepFunc(int x, int a)
- { return(x >= a); }
-inline int stepFunc(unsigned char x, unsigned char a)
- { return(x >= a); }
-
-///////////////////////////////////////////////////////////////////////////////
-// Pulse function
-//
-///////////////////////////////////////////////////////////////////////////////
-inline int pulseFunc(float x, float a, float b)
- { return(stepFunc(a, x) - stepFunc(b, x)); }
-inline int pulseFunc(int x, int a, int b)
- { return(stepFunc(a, x) - stepFunc(b, x)); }
-inline int pulseFunc(unsigned char x, unsigned char a, unsigned char b)
- { return(stepFunc(a, x) - stepFunc(b, x)); }
-
-
-///////////////////////////////////////////////////////////////////////////////
-// Clamp function
-//
-///////////////////////////////////////////////////////////////////////////////
-inline float clampFunc(float x, float a, float b)
- { return(x < a ? a : (x > b ? b : x)); }
-inline int clampFunc(int x, int a, int b)
- { return(x < a ? a : (x > b ? b : x)); }
-inline unsigned char clampFunc(unsigned char x, unsigned char a, unsigned char b)
- { return(x < a ? a : (x > b ? b : x)); }
-inline void* clampFunc(void* x, void* a, void* b)
- { return(x < a ? a : (x > b ? b : x)); }
-/*
- inline int GateInt(int nValue,int nMin,int nMax)
- inline float GateFlt(float nValue,float nMin,float nMax)
- inline void* GatePtr(void* pValue,void* pMin,void* pMax)
-*/
-
-
-///////////////////////////////////////////////////////////////////////////////
-// absolute integer
-//
-///////////////////////////////////////////////////////////////////////////////
-inline int AbsInt(int inValue) { return (inValue>0)?inValue:-inValue; }
-static inline int GetSign(int inValue) { return (inValue<0)?-1:1; }
-
-///////////////////////////////////////////////////////////////////////////////
-// wrapping functions for integers
-//
-///////////////////////////////////////////////////////////////////////////////
-
-inline int GetTiled(int inValue,const int nMax) {
- int nOutValue=(inValue%nMax);
- if (nOutValue<0)nOutValue=((nMax-1)+nOutValue);
- return nOutValue;
-}
-
-inline int GetMirrored(int inValue,const int nMax) {
- const int nTwoMax=(nMax*2);
- int nOutValue=GetTiled(inValue,nTwoMax);
- if (nOutValue>=nMax)nOutValue=((nTwoMax-1)-nOutValue);
- return nOutValue;
-}
-
-
-///////////////////////////////////////////////////////////////////////////////
-// 2D-algebra
-//
-///////////////////////////////////////////////////////////////////////////////
-static inline void Get2dTangent(float inX,float inY,float* poutX,float* poutY) {
- *poutX=inY;
- *poutY=-inX;
-}
-///////////////////////////////////////////////////////////////////////////////
-// 2D-dot product
-///////////////////////////////////////////////////////////////////////////////
-static inline float Dot2d(float Ax,float Ay,float Bx,float By) {
- return ((Ax*Bx)+(Ay*By));
-}
-///////////////////////////////////////////////////////////////////////////////
-// 2D-vector normalization
-///////////////////////////////////////////////////////////////////////////////
-static inline void Normalise2d(float* pX,float* pY) {
- const float MagSqr=Dot2d(*pX,*pY,*pX,*pY);
- float Magnitude=(float)sqrt(MagSqr);
- if (Magnitude<=0.0f) {
- Magnitude=0.001f;
- }
- const float RecipMag=1.0f/Magnitude;
-
- *pX*=RecipMag;
- *pY*=RecipMag;
-}
-
-///////////////////////////////////////////////////////////////////////////////
-// higher algebra
-//
-///////////////////////////////////////////////////////////////////////////////
-inline float GetRandomFloat(void) {
- return rand()/static_cast<float>(RAND_MAX);
-}
-
-
-///////////////////////////////////////////////////////////////////////////////
-// Smooth step function (3x^2 - 2x^3)
-//
-///////////////////////////////////////////////////////////////////////////////
-GEM_EXTERN extern float smoothStep(float x, float a, float b);
-GEM_EXTERN extern int smoothStep(int x, int a, int b);
-GEM_EXTERN extern unsigned char smoothStep(unsigned char x, unsigned char a, unsigned char b);
-
-///////////////////////////////////////////////////////////////////////////////
-// Bias function
-//
-// Remap unit interval (curve)
-// If a == 0.5, then is linear mapping.
-///////////////////////////////////////////////////////////////////////////////
-GEM_EXTERN extern float biasFunc(float x, float a);
-
-///////////////////////////////////////////////////////////////////////////////
-// Gain function
-//
-// Remap unit interval (S-curve)
-// Will always return 0.5 when x is 0.5
-// If a == 0.5, then is linear mapping.
-///////////////////////////////////////////////////////////////////////////////
-GEM_EXTERN extern float gainFunc(float x, float a);
-
-///////////////////////////////////////////////////////////////////////////////
-// Linear function
-//
-// val should be 0 <= val <= 1.
-// ret should point at a float of enough dimensions to hold the returned value
-// For instance, numDimen == 2, should have a ret[2]
-// numDimen is the number of dimensions to compute
-// npnts is the number of points per dimension.
-//
-///////////////////////////////////////////////////////////////////////////////
-GEM_EXTERN extern void linearFunc(float val, float *ret, int numDimen, int npnts, float *pnts);
-
-///////////////////////////////////////////////////////////////////////////////
-// Spline function
-//
-// val should be 0 <= val <= 1.
-// ret should point at a float of enough dimensions to hold the returned value
-// For instance, numDimen == 2, should have a ret[2]
-// numDimen is the number of dimensions to compute
-// nknots is the number of knots per dimension.
-// There must be at least four knots!
-//
-// Thanks to
-// _Texturing and Modeling: A Procedural Approach_
-// David S. Ebert, Ed.
-///////////////////////////////////////////////////////////////////////////////
-GEM_EXTERN extern void splineFunc(float val, float *ret, int numDimen, int nknots, float *knot);
-
-
-///////////////////////////////////////////////////////////////////////////////
-// Pixel access functions
-//
-///////////////////////////////////////////////////////////////////////////////
-//
-// Accelerated Pixel Manipulations
-// This is sort on a vector operation on 8 chars at the same time .... could be
-// implemented in MMX
-// Alpha channel is not added !! (would be nr 3 and 7)
-
-#define ADD8_NOALPHA(a,b) \
- ((unsigned char*)(a))[0] = CLAMP_HIGH((int)((unsigned char*)(a))[0] + ((unsigned char*)(b))[0]);\
- ((unsigned char*)(a))[1] = CLAMP_HIGH((int)((unsigned char*)(a))[1] + ((unsigned char*)(b))[1]);\
- ((unsigned char*)(a))[2] = CLAMP_HIGH((int)((unsigned char*)(a))[2] + ((unsigned char*)(b))[2]);\
- ((unsigned char*)(a))[4] = CLAMP_HIGH((int)((unsigned char*)(a))[4] + ((unsigned char*)(b))[4]);\
- ((unsigned char*)(a))[5] = CLAMP_HIGH((int)((unsigned char*)(a))[5] + ((unsigned char*)(b))[5]);\
- ((unsigned char*)(a))[6] = CLAMP_HIGH((int)((unsigned char*)(a))[6] + ((unsigned char*)(b))[6]);\
-
-#define SUB8_NOALPHA(a,b) \
- ((unsigned char*)(a))[0] = CLAMP_LOW((int)((unsigned char*)(a))[0] - ((unsigned char*)(b))[0]);\
- ((unsigned char*)(a))[1] = CLAMP_LOW((int)((unsigned char*)(a))[1] - ((unsigned char*)(b))[1]);\
- ((unsigned char*)(a))[2] = CLAMP_LOW((int)((unsigned char*)(a))[2] - ((unsigned char*)(b))[2]);\
- ((unsigned char*)(a))[4] = CLAMP_LOW((int)((unsigned char*)(a))[4] - ((unsigned char*)(b))[4]);\
- ((unsigned char*)(a))[5] = CLAMP_LOW((int)((unsigned char*)(a))[5] - ((unsigned char*)(b))[5]);\
- ((unsigned char*)(a))[6] = CLAMP_LOW((int)((unsigned char*)(a))[6] - ((unsigned char*)(b))[6]);\
-
-#define ADD8(a,b) \
- ((unsigned char*)(a))[0] = CLAMP_HIGH((int)((unsigned char*)(a))[0] + ((unsigned char*)(b))[0]);\
- ((unsigned char*)(a))[1] = CLAMP_HIGH((int)((unsigned char*)(a))[1] + ((unsigned char*)(b))[1]);\
- ((unsigned char*)(a))[2] = CLAMP_HIGH((int)((unsigned char*)(a))[2] + ((unsigned char*)(b))[2]);\
- ((unsigned char*)(a))[3] = CLAMP_HIGH((int)((unsigned char*)(a))[3] + ((unsigned char*)(b))[3]);\
- ((unsigned char*)(a))[4] = CLAMP_HIGH((int)((unsigned char*)(a))[4] + ((unsigned char*)(b))[4]);\
- ((unsigned char*)(a))[5] = CLAMP_HIGH((int)((unsigned char*)(a))[5] + ((unsigned char*)(b))[5]);\
- ((unsigned char*)(a))[6] = CLAMP_HIGH((int)((unsigned char*)(a))[6] + ((unsigned char*)(b))[6]);\
- ((unsigned char*)(a))[7] = CLAMP_HIGH((int)((unsigned char*)(a))[7] + ((unsigned char*)(b))[7]);\
-
-#define SUB8(a,b) \
- ((unsigned char*)(a))[0] = CLAMP_LOW((int)((unsigned char*)(a))[0] - ((unsigned char*)(b))[0]);\
- ((unsigned char*)(a))[1] = CLAMP_LOW((int)((unsigned char*)(a))[1] - ((unsigned char*)(b))[1]);\
- ((unsigned char*)(a))[2] = CLAMP_LOW((int)((unsigned char*)(a))[2] - ((unsigned char*)(b))[2]);\
- ((unsigned char*)(a))[3] = CLAMP_LOW((int)((unsigned char*)(a))[3] - ((unsigned char*)(b))[3]);\
- ((unsigned char*)(a))[4] = CLAMP_LOW((int)((unsigned char*)(a))[4] - ((unsigned char*)(b))[4]);\
- ((unsigned char*)(a))[5] = CLAMP_LOW((int)((unsigned char*)(a))[5] - ((unsigned char*)(b))[5]);\
- ((unsigned char*)(a))[6] = CLAMP_LOW((int)((unsigned char*)(a))[6] - ((unsigned char*)(b))[6]);\
- ((unsigned char*)(a))[7] = CLAMP_LOW((int)((unsigned char*)(a))[7] - ((unsigned char*)(b))[7]);\
-
-
-
-#ifdef __APPLE__
-//Ian Ollman's function to determine the cache prefetch for altivec vec_dst()
-inline UInt32 GetPrefetchConstant( int blockSizeInVectors, int blockCount, int blockStride )
-{
- return ((blockSizeInVectors << 24) & 0x1F000000) | ((blockCount << 16) & 0x00FF0000) | (blockStride & 0xFFFF);
-}
-#endif
-
-
-#endif // for header file
-
+/*-----------------------------------------------------------------
+LOG
+ GEM - Graphics Environment for Multimedia
+
+ GemFuncUtil.h
+ - contains functions for graphics
+ - part of GEM
+
+ Copyright (c) 1997-2000 Mark Danks. mark@danks.org
+ Copyright (c) Günther Geiger. geiger@epy.co.at
+ Copyright (c) 2001-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
+ For information on usage and redistribution, and for a DISCLAIMER OF ALL
+ WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
+
+-----------------------------------------------------------------*/
+
+#ifndef _INCLUDE__GEM_UTILS_FUNCTIONS_H_
+#define _INCLUDE__GEM_UTILS_FUNCTIONS_H_
+
+#ifdef __APPLE__
+#include <Carbon/Carbon.h>
+#endif
+
+#include "Gem/ExportDef.h"
+
+/* this should be included for ALL platforms:
+ * should we define __MMX__ for windows in there ?
+ */
+#include "Utils/SIMD.h"
+#include "Utils/GemMath.h"
+
+// for rand()
+#include <stdlib.h>
+
+///////////////////////////////////////////////////////////////////////////////
+// powerOfTwo
+// get the next higher 2^n-number (if value is'nt 2^n by itself)
+///////////////////////////////////////////////////////////////////////////////
+inline int powerOfTwo(int value)
+{
+/*
+ int x = 1;
+ // while(x <= value) x <<= 1;
+ while(x < value) x <<= 1;
+ return(x);
+*/
+// optimization from "Hacker's Delight"
+// - above loop executes in 4n+3 instructions, where n is the power of 2 of returned int
+// - below code is branch-free and only 12 instructions!
+ value = value - 1;
+ value = value | (value >> 1);
+ value = value | (value >> 2);
+ value = value | (value >> 4);
+ value = value | (value >> 8);
+ value = value | (value >> 16);
+ return (value + 1);
+}
+
+///////////////////////////////////////////////////////////////////////////////
+// min/max functions
+//
+///////////////////////////////////////////////////////////////////////////////
+#ifndef MIN
+inline int MIN(int x, int y) { return (x<y)?x:y; }
+inline float MIN(float x, float y) { return (x<y)?x:y; }
+#endif
+#ifndef MAX
+inline int MAX(int x, int y) { return (x>y)?x:y; }
+inline float MAX(float x, float y) { return (x>y)?x:y; }
+#endif
+
+inline unsigned char TRI_MAX(unsigned char v1, unsigned char v2, unsigned char v3){
+ if (v1 > v2 && v1 > v3) return(v1);
+ if (v2 > v3) return(v2);
+ return(v3);
+}
+inline unsigned char TRI_MIN(unsigned char v1, unsigned char v2, unsigned char v3){
+ if (v1 < v2 && v1 < v3) return(v1);
+ if (v2 < v3) return(v2);
+ return(v3);
+}
+
+///////////////////////////////////////////////////////////////////////////////
+// Clamp functions
+//
+///////////////////////////////////////////////////////////////////////////////
+//////////
+// Clamp a value high
+inline unsigned char CLAMP_HIGH(int x)
+ { return((unsigned char )((x > 255) ? 255 : x)); }
+
+//////////
+// Clamp a value low
+inline unsigned char CLAMP_LOW(int x)
+ { return((unsigned char )((x < 0) ? 0 : x)); }
+
+//////////
+// Clamp an int to the range of an unsigned char
+inline unsigned char CLAMP(int x)
+ { return((unsigned char)((x > 255) ? 255 : ( (x < 0) ? 0 : x))); }
+
+//////////
+// Clamp a float to the range of an unsigned char
+inline unsigned char CLAMP(float x)
+ { return((unsigned char)((x > 255.f) ? 255.f : ( (x < 0.f) ? 0.f : x))); }
+
+//////////
+// Clamp a float to 0. <= x <= 1.0
+inline float FLOAT_CLAMP(float x)
+ { return((x > 1.f) ? 1.f : ( (x < 0.f) ? 0.f : x)); }
+
+/////////
+// Clamp the Y channel of YUV (16%235)
+inline unsigned char CLAMP_Y(int x)
+ { return((unsigned char)((x > 235) ? 235 : ( (x < 16) ? 16 : x))); }
+
+///////////////////////////////////////////////////////////////////////////////
+// Multiply and interpolation
+//
+///////////////////////////////////////////////////////////////////////////////
+//////////
+// Exactly multiply two unsigned chars
+// This avoids a float value (important on Intel...)
+// From Alvy Ray Smith paper
+inline unsigned char INT_MULT(unsigned int a, unsigned int b)
+ { int t = (unsigned int)a * (unsigned int)b + 0x80;
+ return((unsigned char)(((t >> 8) + t) >> 8)); }
+
+//////////
+// Exactly LERPs two values
+// This avoids a float value (important on Intel...)
+// From Alvy Ray Smith paper
+inline unsigned char INT_LERP(unsigned int p, unsigned int q, unsigned int a)
+ { return((unsigned char)(p + INT_MULT(a, q - p))); }
+
+//////////
+// Floating point LERP
+inline float FLOAT_LERP(float p, float q, float a)
+ { return( a * (q - p) + p); }
+
+
+///////////////////////////////////////////////////////////////////////////////
+// Step function
+//
+///////////////////////////////////////////////////////////////////////////////
+inline int stepFunc(float x, float a)
+ { return(x >= a); }
+inline int stepFunc(int x, int a)
+ { return(x >= a); }
+inline int stepFunc(unsigned char x, unsigned char a)
+ { return(x >= a); }
+
+///////////////////////////////////////////////////////////////////////////////
+// Pulse function
+//
+///////////////////////////////////////////////////////////////////////////////
+inline int pulseFunc(float x, float a, float b)
+ { return(stepFunc(a, x) - stepFunc(b, x)); }
+inline int pulseFunc(int x, int a, int b)
+ { return(stepFunc(a, x) - stepFunc(b, x)); }
+inline int pulseFunc(unsigned char x, unsigned char a, unsigned char b)
+ { return(stepFunc(a, x) - stepFunc(b, x)); }
+
+
+///////////////////////////////////////////////////////////////////////////////
+// Clamp function
+//
+///////////////////////////////////////////////////////////////////////////////
+inline float clampFunc(float x, float a, float b)
+ { return(x < a ? a : (x > b ? b : x)); }
+inline int clampFunc(int x, int a, int b)
+ { return(x < a ? a : (x > b ? b : x)); }
+inline unsigned char clampFunc(unsigned char x, unsigned char a, unsigned char b)
+ { return(x < a ? a : (x > b ? b : x)); }
+inline void* clampFunc(void* x, void* a, void* b)
+ { return(x < a ? a : (x > b ? b : x)); }
+/*
+ inline int GateInt(int nValue,int nMin,int nMax)
+ inline float GateFlt(float nValue,float nMin,float nMax)
+ inline void* GatePtr(void* pValue,void* pMin,void* pMax)
+*/
+
+
+///////////////////////////////////////////////////////////////////////////////
+// absolute integer
+//
+///////////////////////////////////////////////////////////////////////////////
+inline int AbsInt(int inValue) { return (inValue>0)?inValue:-inValue; }
+static inline int GetSign(int inValue) { return (inValue<0)?-1:1; }
+
+///////////////////////////////////////////////////////////////////////////////
+// wrapping functions for integers
+//
+///////////////////////////////////////////////////////////////////////////////
+
+inline int GetTiled(int inValue,const int nMax) {
+ int nOutValue=(inValue%nMax);
+ if (nOutValue<0)nOutValue=((nMax-1)+nOutValue);
+ return nOutValue;
+}
+
+inline int GetMirrored(int inValue,const int nMax) {
+ const int nTwoMax=(nMax*2);
+ int nOutValue=GetTiled(inValue,nTwoMax);
+ if (nOutValue>=nMax)nOutValue=((nTwoMax-1)-nOutValue);
+ return nOutValue;
+}
+
+
+///////////////////////////////////////////////////////////////////////////////
+// 2D-algebra
+//
+///////////////////////////////////////////////////////////////////////////////
+static inline void Get2dTangent(float inX,float inY,float* poutX,float* poutY) {
+ *poutX=inY;
+ *poutY=-inX;
+}
+///////////////////////////////////////////////////////////////////////////////
+// 2D-dot product
+///////////////////////////////////////////////////////////////////////////////
+static inline float Dot2d(float Ax,float Ay,float Bx,float By) {
+ return ((Ax*Bx)+(Ay*By));
+}
+///////////////////////////////////////////////////////////////////////////////
+// 2D-vector normalization
+///////////////////////////////////////////////////////////////////////////////
+static inline void Normalise2d(float* pX,float* pY) {
+ const float MagSqr=Dot2d(*pX,*pY,*pX,*pY);
+ float Magnitude=(float)sqrt(MagSqr);
+ if (Magnitude<=0.0f) {
+ Magnitude=0.001f;
+ }
+ const float RecipMag=1.0f/Magnitude;
+
+ *pX*=RecipMag;
+ *pY*=RecipMag;
+}
+
+///////////////////////////////////////////////////////////////////////////////
+// higher algebra
+//
+///////////////////////////////////////////////////////////////////////////////
+inline float GetRandomFloat(void) {
+ return rand()/static_cast<float>(RAND_MAX);
+}
+
+
+///////////////////////////////////////////////////////////////////////////////
+// Smooth step function (3x^2 - 2x^3)
+//
+///////////////////////////////////////////////////////////////////////////////
+GEM_EXTERN extern float smoothStep(float x, float a, float b);
+GEM_EXTERN extern int smoothStep(int x, int a, int b);
+GEM_EXTERN extern unsigned char smoothStep(unsigned char x, unsigned char a, unsigned char b);
+
+///////////////////////////////////////////////////////////////////////////////
+// Bias function
+//
+// Remap unit interval (curve)
+// If a == 0.5, then is linear mapping.
+///////////////////////////////////////////////////////////////////////////////
+GEM_EXTERN extern float biasFunc(float x, float a);
+
+///////////////////////////////////////////////////////////////////////////////
+// Gain function
+//
+// Remap unit interval (S-curve)
+// Will always return 0.5 when x is 0.5
+// If a == 0.5, then is linear mapping.
+///////////////////////////////////////////////////////////////////////////////
+GEM_EXTERN extern float gainFunc(float x, float a);
+
+///////////////////////////////////////////////////////////////////////////////
+// Linear function
+//
+// val should be 0 <= val <= 1.
+// ret should point at a float of enough dimensions to hold the returned value
+// For instance, numDimen == 2, should have a ret[2]
+// numDimen is the number of dimensions to compute
+// npnts is the number of points per dimension.
+//
+///////////////////////////////////////////////////////////////////////////////
+GEM_EXTERN extern void linearFunc(float val, float *ret, int numDimen, int npnts, float *pnts);
+
+///////////////////////////////////////////////////////////////////////////////
+// Spline function
+//
+// val should be 0 <= val <= 1.
+// ret should point at a float of enough dimensions to hold the returned value
+// For instance, numDimen == 2, should have a ret[2]
+// numDimen is the number of dimensions to compute
+// nknots is the number of knots per dimension.
+// There must be at least four knots!
+//
+// Thanks to
+// _Texturing and Modeling: A Procedural Approach_
+// David S. Ebert, Ed.
+///////////////////////////////////////////////////////////////////////////////
+GEM_EXTERN extern void splineFunc(float val, float *ret, int numDimen, int nknots, float *knot);
+
+
+///////////////////////////////////////////////////////////////////////////////
+// Pixel access functions
+//
+///////////////////////////////////////////////////////////////////////////////
+//
+// Accelerated Pixel Manipulations
+// This is sort on a vector operation on 8 chars at the same time .... could be
+// implemented in MMX
+// Alpha channel is not added !! (would be nr 3 and 7)
+
+#define ADD8_NOALPHA(a,b) \
+ ((unsigned char*)(a))[0] = CLAMP_HIGH((int)((unsigned char*)(a))[0] + ((unsigned char*)(b))[0]);\
+ ((unsigned char*)(a))[1] = CLAMP_HIGH((int)((unsigned char*)(a))[1] + ((unsigned char*)(b))[1]);\
+ ((unsigned char*)(a))[2] = CLAMP_HIGH((int)((unsigned char*)(a))[2] + ((unsigned char*)(b))[2]);\
+ ((unsigned char*)(a))[4] = CLAMP_HIGH((int)((unsigned char*)(a))[4] + ((unsigned char*)(b))[4]);\
+ ((unsigned char*)(a))[5] = CLAMP_HIGH((int)((unsigned char*)(a))[5] + ((unsigned char*)(b))[5]);\
+ ((unsigned char*)(a))[6] = CLAMP_HIGH((int)((unsigned char*)(a))[6] + ((unsigned char*)(b))[6]);\
+
+#define SUB8_NOALPHA(a,b) \
+ ((unsigned char*)(a))[0] = CLAMP_LOW((int)((unsigned char*)(a))[0] - ((unsigned char*)(b))[0]);\
+ ((unsigned char*)(a))[1] = CLAMP_LOW((int)((unsigned char*)(a))[1] - ((unsigned char*)(b))[1]);\
+ ((unsigned char*)(a))[2] = CLAMP_LOW((int)((unsigned char*)(a))[2] - ((unsigned char*)(b))[2]);\
+ ((unsigned char*)(a))[4] = CLAMP_LOW((int)((unsigned char*)(a))[4] - ((unsigned char*)(b))[4]);\
+ ((unsigned char*)(a))[5] = CLAMP_LOW((int)((unsigned char*)(a))[5] - ((unsigned char*)(b))[5]);\
+ ((unsigned char*)(a))[6] = CLAMP_LOW((int)((unsigned char*)(a))[6] - ((unsigned char*)(b))[6]);\
+
+#define ADD8(a,b) \
+ ((unsigned char*)(a))[0] = CLAMP_HIGH((int)((unsigned char*)(a))[0] + ((unsigned char*)(b))[0]);\
+ ((unsigned char*)(a))[1] = CLAMP_HIGH((int)((unsigned char*)(a))[1] + ((unsigned char*)(b))[1]);\
+ ((unsigned char*)(a))[2] = CLAMP_HIGH((int)((unsigned char*)(a))[2] + ((unsigned char*)(b))[2]);\
+ ((unsigned char*)(a))[3] = CLAMP_HIGH((int)((unsigned char*)(a))[3] + ((unsigned char*)(b))[3]);\
+ ((unsigned char*)(a))[4] = CLAMP_HIGH((int)((unsigned char*)(a))[4] + ((unsigned char*)(b))[4]);\
+ ((unsigned char*)(a))[5] = CLAMP_HIGH((int)((unsigned char*)(a))[5] + ((unsigned char*)(b))[5]);\
+ ((unsigned char*)(a))[6] = CLAMP_HIGH((int)((unsigned char*)(a))[6] + ((unsigned char*)(b))[6]);\
+ ((unsigned char*)(a))[7] = CLAMP_HIGH((int)((unsigned char*)(a))[7] + ((unsigned char*)(b))[7]);\
+
+#define SUB8(a,b) \
+ ((unsigned char*)(a))[0] = CLAMP_LOW((int)((unsigned char*)(a))[0] - ((unsigned char*)(b))[0]);\
+ ((unsigned char*)(a))[1] = CLAMP_LOW((int)((unsigned char*)(a))[1] - ((unsigned char*)(b))[1]);\
+ ((unsigned char*)(a))[2] = CLAMP_LOW((int)((unsigned char*)(a))[2] - ((unsigned char*)(b))[2]);\
+ ((unsigned char*)(a))[3] = CLAMP_LOW((int)((unsigned char*)(a))[3] - ((unsigned char*)(b))[3]);\
+ ((unsigned char*)(a))[4] = CLAMP_LOW((int)((unsigned char*)(a))[4] - ((unsigned char*)(b))[4]);\
+ ((unsigned char*)(a))[5] = CLAMP_LOW((int)((unsigned char*)(a))[5] - ((unsigned char*)(b))[5]);\
+ ((unsigned char*)(a))[6] = CLAMP_LOW((int)((unsigned char*)(a))[6] - ((unsigned char*)(b))[6]);\
+ ((unsigned char*)(a))[7] = CLAMP_LOW((int)((unsigned char*)(a))[7] - ((unsigned char*)(b))[7]);\
+
+
+
+#ifdef __APPLE__
+//Ian Ollman's function to determine the cache prefetch for altivec vec_dst()
+inline UInt32 GetPrefetchConstant( int blockSizeInVectors, int blockCount, int blockStride )
+{
+ return ((blockSizeInVectors << 24) & 0x1F000000) | ((blockCount << 16) & 0x00FF0000) | (blockStride & 0xFFFF);
+}
+#endif
+
+
+#endif // for header file
+
diff --git a/packages/noncvs/windows/extra/Gem/dev/Utils/GLUtil.h b/packages/noncvs/windows/extra/Gem/dev/Utils/GLUtil.h
index 05922a04..8140eb7e 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Utils/GLUtil.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Utils/GLUtil.h
@@ -1,35 +1,35 @@
-/*-----------------------------------------------------------------
-LOG
- GEM - Graphics Environment for Multimedia
-
- GemGLUtil.h
- - contains functions for graphics
- - part of GEM
-
- Copyright (c) 1997-2000 Mark Danks. mark@danks.org
- Copyright (c) Günther Geiger. geiger@epy.co.at
- Copyright (c) 2001-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
- For information on usage and redistribution, and for a DISCLAIMER OF ALL
- WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
-
------------------------------------------------------------------*/
-
-#ifndef _INCLUDE__GEM_UTILS_GLUTIL_H_
-#define _INCLUDE__GEM_UTILS_GLUTIL_H_
-
-#include "Gem/ExportDef.h"
-
-/* for t_symbol/t_atom */
-/* LATER get rid of that (std::string) */
-#include "Gem/RTE.h"
-
-/* for GLenum */
-#include "Gem/GemGL.h"
-
-GEM_EXTERN extern GLenum glReportError (void);
-GEM_EXTERN extern int getGLdefine(const char *name);
-GEM_EXTERN extern int getGLdefine(const t_symbol *name);
-GEM_EXTERN extern int getGLdefine(const t_atom *name);
-GEM_EXTERN extern int getGLbitfield(int argc, t_atom *argv);
-#endif // for header file
-
+/*-----------------------------------------------------------------
+LOG
+ GEM - Graphics Environment for Multimedia
+
+ GemGLUtil.h
+ - contains functions for graphics
+ - part of GEM
+
+ Copyright (c) 1997-2000 Mark Danks. mark@danks.org
+ Copyright (c) Günther Geiger. geiger@epy.co.at
+ Copyright (c) 2001-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
+ For information on usage and redistribution, and for a DISCLAIMER OF ALL
+ WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
+
+-----------------------------------------------------------------*/
+
+#ifndef _INCLUDE__GEM_UTILS_GLUTIL_H_
+#define _INCLUDE__GEM_UTILS_GLUTIL_H_
+
+#include "Gem/ExportDef.h"
+
+/* for t_symbol/t_atom */
+/* LATER get rid of that (std::string) */
+#include "Gem/RTE.h"
+
+/* for GLenum */
+#include "Gem/GemGL.h"
+
+GEM_EXTERN extern GLenum glReportError (void);
+GEM_EXTERN extern int getGLdefine(const char *name);
+GEM_EXTERN extern int getGLdefine(const t_symbol *name);
+GEM_EXTERN extern int getGLdefine(const t_atom *name);
+GEM_EXTERN extern int getGLbitfield(int argc, t_atom *argv);
+#endif // for header file
+
diff --git a/packages/noncvs/windows/extra/Gem/dev/Utils/GemMath.h b/packages/noncvs/windows/extra/Gem/dev/Utils/GemMath.h
index c10f6a94..55665dbc 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Utils/GemMath.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Utils/GemMath.h
@@ -1,85 +1,85 @@
-/*-----------------------------------------------------------------
-LOG
- GEM - Graphics Environment for Multimedia
-
- Matrix class
-
- Copyright (c) 1997-1999 Mark Danks. mark@danks.org
- Copyright (c) Günther Geiger. geiger@epy.co.at
- Copyright (c) 2001-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
- For information on usage and redistribution, and for a DISCLAIMER OF ALL
- WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
-
------------------------------------------------------------------*/
-
-#ifndef _INCLUDE__GEM_UTILS_GEMMATH_H_
-#define _INCLUDE__GEM_UTILS_GEMMATH_H_
-#include <math.h>
-
-#ifndef M_PI
-#define M_PI 3.14159265358979323846
-#endif
-
-#ifdef __APPLE__
-# include <AvailabilityMacros.h>
-# if defined (MAC_OS_X_VERSION_10_3) && MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_3
-# else
-
-#define sqrtf(v) (float)sqrt((double)(v))
-#define cosf(v) (float)cos((double)(v))
-#define sinf(v) (float)sin((double)(v))
-#define tanf(v) (float)tan((double)(v))
-#define logf(v) (float)log((double)(v))
-#define expf(v) (float)exp((double)(v))
-
-#define atan2f(v,p) (float)atan2((double)(v), (double)(p))
-#define powf(v,p) (float)pow((double)(v), (double)(p))
-
-# endif /* OSX_10_3 */
-#endif /* __APPLE__ */
-
-
-///////////////////////////////////////////////////////////////////////////////
-// Speedup found via Shark: ppc only
-//
-// If you do not require full precision, you can use the PowerPC floating-point
-// reciprocal square-root estimate instruction (frsqrte) instead of calling sqrt().
-//
-// If needed, you can increase the precision of the estimate returned by
-// frsqrte (5-bits of precision) by using the Newton-Raphson method for improving
-// the estimate (x0) for 1/sqrt(a) (x1 = 0.5 * x0 * [3.0 - a * x0 * x0]).
-///////////////////////////////////////////////////////////////////////////////
-#ifdef __ppc__
-# include <ppc_intrinsics.h>
-# ifdef sqrt
-# undef sqrt
-# endif
-# ifdef sqrtf
-# undef sqrtf
-# endif
-
-# define sqrt fast_sqrtf
-# define sqrtf fast_sqrtf
-
-inline double fast_sqrt(double x)
-{
- register double est = __frsqrte(x);
- return x * 0.5 * est * __fnmsub(est * est, x, 3.0);
-}
-
-inline float fast_sqrtf(float x)
-{
- register float est = (float)__frsqrte(x);
- return x * 0.5f * est * __fnmsubs(est * est, x, 3.0f);
-}
-#endif /* __ppc__ */
-
-#ifdef _WIN32
-/* seems like there is no drand48() on w32 */
-/* JMZ: this should really return "double" instead of "float",
- * but we need only float... */
-# define drand48() ((float)rand())/((float)RAND_MAX)
-#endif /* _WIN32 */
-
-
-#endif // for header file
+/*-----------------------------------------------------------------
+LOG
+ GEM - Graphics Environment for Multimedia
+
+ Matrix class
+
+ Copyright (c) 1997-1999 Mark Danks. mark@danks.org
+ Copyright (c) Günther Geiger. geiger@epy.co.at
+ Copyright (c) 2001-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
+ For information on usage and redistribution, and for a DISCLAIMER OF ALL
+ WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
+
+-----------------------------------------------------------------*/
+
+#ifndef _INCLUDE__GEM_UTILS_GEMMATH_H_
+#define _INCLUDE__GEM_UTILS_GEMMATH_H_
+#include <math.h>
+
+#ifndef M_PI
+#define M_PI 3.14159265358979323846
+#endif
+
+#ifdef __APPLE__
+# include <AvailabilityMacros.h>
+# if defined (MAC_OS_X_VERSION_10_3) && MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_3
+# else
+
+#define sqrtf(v) (float)sqrt((double)(v))
+#define cosf(v) (float)cos((double)(v))
+#define sinf(v) (float)sin((double)(v))
+#define tanf(v) (float)tan((double)(v))
+#define logf(v) (float)log((double)(v))
+#define expf(v) (float)exp((double)(v))
+
+#define atan2f(v,p) (float)atan2((double)(v), (double)(p))
+#define powf(v,p) (float)pow((double)(v), (double)(p))
+
+# endif /* OSX_10_3 */
+#endif /* __APPLE__ */
+
+
+///////////////////////////////////////////////////////////////////////////////
+// Speedup found via Shark: ppc only
+//
+// If you do not require full precision, you can use the PowerPC floating-point
+// reciprocal square-root estimate instruction (frsqrte) instead of calling sqrt().
+//
+// If needed, you can increase the precision of the estimate returned by
+// frsqrte (5-bits of precision) by using the Newton-Raphson method for improving
+// the estimate (x0) for 1/sqrt(a) (x1 = 0.5 * x0 * [3.0 - a * x0 * x0]).
+///////////////////////////////////////////////////////////////////////////////
+#ifdef __ppc__
+# include <ppc_intrinsics.h>
+# ifdef sqrt
+# undef sqrt
+# endif
+# ifdef sqrtf
+# undef sqrtf
+# endif
+
+# define sqrt fast_sqrtf
+# define sqrtf fast_sqrtf
+
+inline double fast_sqrt(double x)
+{
+ register double est = __frsqrte(x);
+ return x * 0.5 * est * __fnmsub(est * est, x, 3.0);
+}
+
+inline float fast_sqrtf(float x)
+{
+ register float est = (float)__frsqrte(x);
+ return x * 0.5f * est * __fnmsubs(est * est, x, 3.0f);
+}
+#endif /* __ppc__ */
+
+#ifdef _WIN32
+/* seems like there is no drand48() on w32 */
+/* JMZ: this should really return "double" instead of "float",
+ * but we need only float... */
+# define drand48() ((float)rand())/((float)RAND_MAX)
+#endif /* _WIN32 */
+
+
+#endif // for header file
diff --git a/packages/noncvs/windows/extra/Gem/dev/Utils/Matrix.h b/packages/noncvs/windows/extra/Gem/dev/Utils/Matrix.h
index 9b373bee..e56a6204 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Utils/Matrix.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Utils/Matrix.h
@@ -1,78 +1,78 @@
-/*-----------------------------------------------------------------
-LOG
- GEM - Graphics Environment for Multimedia
-
- Matrix class
-
- Copyright (c) 1997-1999 Mark Danks. mark@danks.org
- Copyright (c) Günther Geiger. geiger@epy.co.at
- Copyright (c) 2001-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
- For information on usage and redistribution, and for a DISCLAIMER OF ALL
- WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
-
------------------------------------------------------------------*/
-
-#ifndef _INCLUDE__GEM_UTILS_MATRIX_H_
-#define _INCLUDE__GEM_UTILS_MATRIX_H_
-
-#include "Gem/ExportDef.h"
-
-/*-----------------------------------------------------------------
--------------------------------------------------------------------
-CLASS
- Matrix
-
- 4x4 Matrix class
-
-DESCRIPTION
-
- Post-concatenation
- Column-major
-
------------------------------------------------------------------*/
-class GEM_EXTERN Matrix
-{
- public:
-
- //////////
- // Constructor
- // Sets the matrix to identity
- Matrix(void);
-
- //////////
- // Set the matrix to the identity
- void identity(void);
-
- //////////
- // Post mulitply the matrix
- void multiply(Matrix *pMatrix);
-
- //////////
- void scale(float x, float y, float z);
-
- //////////
- void translate(float x, float y, float z);
-
- //////////
- void rotateX(float degrees);
-
- //////////
- void rotateY(float degrees);
-
- //////////
- void rotateZ(float degrees);
-
- //////////
- void transform(float srcX, float srcY, float srcZ, float *dstX, float *dstY, float *dstZ) const;
-
- //////////
- // The actual matrix values
- float mat[4][4];
-
- //////////
- // Utility functions
- static void generateNormal(const float *v1, const float *v2, const float *v3, float *dst);
-};
-
-
-#endif // for header file
+/*-----------------------------------------------------------------
+LOG
+ GEM - Graphics Environment for Multimedia
+
+ Matrix class
+
+ Copyright (c) 1997-1999 Mark Danks. mark@danks.org
+ Copyright (c) Günther Geiger. geiger@epy.co.at
+ Copyright (c) 2001-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
+ For information on usage and redistribution, and for a DISCLAIMER OF ALL
+ WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
+
+-----------------------------------------------------------------*/
+
+#ifndef _INCLUDE__GEM_UTILS_MATRIX_H_
+#define _INCLUDE__GEM_UTILS_MATRIX_H_
+
+#include "Gem/ExportDef.h"
+
+/*-----------------------------------------------------------------
+-------------------------------------------------------------------
+CLASS
+ Matrix
+
+ 4x4 Matrix class
+
+DESCRIPTION
+
+ Post-concatenation
+ Column-major
+
+-----------------------------------------------------------------*/
+class GEM_EXTERN Matrix
+{
+ public:
+
+ //////////
+ // Constructor
+ // Sets the matrix to identity
+ Matrix(void);
+
+ //////////
+ // Set the matrix to the identity
+ void identity(void);
+
+ //////////
+ // Post mulitply the matrix
+ void multiply(Matrix *pMatrix);
+
+ //////////
+ void scale(float x, float y, float z);
+
+ //////////
+ void translate(float x, float y, float z);
+
+ //////////
+ void rotateX(float degrees);
+
+ //////////
+ void rotateY(float degrees);
+
+ //////////
+ void rotateZ(float degrees);
+
+ //////////
+ void transform(float srcX, float srcY, float srcZ, float *dstX, float *dstY, float *dstZ) const;
+
+ //////////
+ // The actual matrix values
+ float mat[4][4];
+
+ //////////
+ // Utility functions
+ static void generateNormal(const float *v1, const float *v2, const float *v3, float *dst);
+};
+
+
+#endif // for header file
diff --git a/packages/noncvs/windows/extra/Gem/dev/Utils/PixPete.h b/packages/noncvs/windows/extra/Gem/dev/Utils/PixPete.h
index fb724c93..8033dc90 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Utils/PixPete.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Utils/PixPete.h
@@ -1,221 +1,227 @@
-/*-----------------------------------------------------------------
-LOG
- GEM - Graphics Environment for Multimedia
-
- helper stuff for ports of Pete's Plugins
-
- http://www.petewarden.com
-
- Copyright (c) 2004-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
- For information on usage and redistribution, and for a DISCLAIMER OF ALL
- WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
-
------------------------------------------------------------------*/
-#ifndef _INCLUDE__GEM_UTILS_PIXPETE_H_
-#define _INCLUDE__GEM_UTILS_PIXPETE_H_
-
-#include <stdlib.h>
-
-
-// utility functions from PeteHelpers.h
-typedef unsigned long U32;
-typedef unsigned short U16;
-typedef unsigned char U8;
-
-
-/* is this only on my system ?
- i thought Gem's YUV is UYVY and not YVYU
- seems weird... (jmz)
-*/
-#ifdef __APPLE__
-
-# define SHIFT_ALPHA (24)
-# define SHIFT_RED (16)
-# define SHIFT_GREEN (8)
-# define SHIFT_BLUE (0)
-
-# define SHIFT_U (24)
-# define SHIFT_Y1 (16)
-# define SHIFT_V (8)
-# define SHIFT_Y2 (0)
-
-#else
-
-# define SHIFT_ALPHA (24)
-# define SHIFT_RED (16)
-# define SHIFT_GREEN (8)
-# define SHIFT_BLUE (0)
-
-# define SHIFT_U (0)
-# define SHIFT_Y1 (8)
-# define SHIFT_V (16)
-# define SHIFT_Y2 (24)
-#endif
-
-const float Pete_Pi=3.141582f;
-const float Pete_TwoPi=(2.0f*Pete_Pi);
-const float Pete_HalfPi=(0.5f*Pete_Pi);
-
-static inline void Pete_ZeroMemory(void* pMemory,int nCount) {
- char* pCurrent=(char*)pMemory;
- char* pEnd=(pCurrent+nCount);
- // while (pCurrent<pEnd) *pCurrent=0;
- // pCurrent+=1;
- // }
- while(pCurrent<pEnd)*pCurrent++=0;
-// memset(pMemory,0,nCount);
-}
-
-typedef U32 PETE_PIXELDATA32;
-#define SIZEOF_PETE_PIXELDATA32 (4)
-
-typedef U32 PETE_PIXELDATA24;
-#define SIZEOF_PETE_PIXELDATA24 (3)
-
-typedef U16 PETE_PIXELDATA16;
-#define SIZEOF_PETE_PIXELDATA16 (2)
-
-static inline void Pete_CopyAndConvert24BitTo32Bit(PETE_PIXELDATA24* pSource,PETE_PIXELDATA32* pOutput,int nPixelCount) {
-
- char* pSourceEnd=((char*)pSource)+(nPixelCount*SIZEOF_PETE_PIXELDATA24);
- char* pCurrentSource=((char*)pSource);
- char* pCurrentOutput=((char*)pOutput);
-
- while (pCurrentSource<pSourceEnd) {
- *((PETE_PIXELDATA32*)pCurrentOutput)=
- *((PETE_PIXELDATA24*)pCurrentSource);
-
- pCurrentSource+=SIZEOF_PETE_PIXELDATA24;
- pCurrentOutput+=SIZEOF_PETE_PIXELDATA32;
- }
-}
-
-static inline void Pete_CopyAndConvert32BitTo24Bit(PETE_PIXELDATA32* pSource,PETE_PIXELDATA24* pOutput,int nPixelCount) {
-
- char* pSourceEnd=((char*)pSource)+(nPixelCount*SIZEOF_PETE_PIXELDATA32);
- char* pCurrentSource=((char*)pSource);
- char* pCurrentOutput=((char*)pOutput);
-
- while (pCurrentSource<pSourceEnd) {
- *((PETE_PIXELDATA24*)pCurrentOutput)=
- *((PETE_PIXELDATA32*)pCurrentSource);
-
- pCurrentSource+=SIZEOF_PETE_PIXELDATA32;
- pCurrentOutput+=SIZEOF_PETE_PIXELDATA24;
- }
-}
-
-static inline void Pete_InPlaceConvert24BitTo32Bit(PETE_PIXELDATA24* pBuffer,int nPixelCount) {
- char* pBufferStart=(char*)pBuffer;
-
- char* pBuffer32Current=(pBufferStart+((nPixelCount-1)*SIZEOF_PETE_PIXELDATA32));
- char* pBuffer24Current=(pBufferStart+((nPixelCount-1)*SIZEOF_PETE_PIXELDATA24));
-
- while (pBuffer32Current>=pBufferStart) {
-
- *((PETE_PIXELDATA32*)pBuffer32Current)=
- *((PETE_PIXELDATA24*)pBuffer24Current);
-
- pBuffer32Current-=SIZEOF_PETE_PIXELDATA32;
- pBuffer24Current-=SIZEOF_PETE_PIXELDATA24;
- }
-}
-
-static inline void Pete_CopyAndConvert16Bit565To32Bit(PETE_PIXELDATA16* pSource,PETE_PIXELDATA32* pOutput,int nPixelCount) {
-
- char* pSourceEnd=((char*)pSource)+(nPixelCount*SIZEOF_PETE_PIXELDATA16);
- char* pCurrentSource=((char*)pSource);
- char* pCurrentOutput=((char*)pOutput);
-
- while (pCurrentSource<pSourceEnd) {
-
- PETE_PIXELDATA16 SourceColour=
- *((PETE_PIXELDATA16*)pCurrentSource);
-
- const int nMaskedRed=(SourceColour>>11)&31;
- const int nMaskedGreen=(SourceColour>>5)&63;
- const int nMaskedBlue=(SourceColour>>0)&31;
-
- const int nNormalizedRed=(nMaskedRed<<3)|(nMaskedRed>>2);
- const int nNormalizedGreen=(nMaskedGreen<<2)|(nMaskedGreen>>4);
- const int nNormalizedBlue=(nMaskedBlue<<3)|(nMaskedBlue>>2);
-
- const PETE_PIXELDATA32 OutputColour=
- (nNormalizedRed<<16)|
- (nNormalizedGreen<<8)|
- (nNormalizedBlue<<0);
-
- *((PETE_PIXELDATA32*)pCurrentOutput)=OutputColour;
-
- pCurrentSource+=SIZEOF_PETE_PIXELDATA16;
- pCurrentOutput+=SIZEOF_PETE_PIXELDATA32;
-
- }
-
-}
-
-static inline void Pete_CopyAndConvert32BitTo16Bit565(PETE_PIXELDATA32* pSource,PETE_PIXELDATA16* pOutput,int nPixelCount) {
-
- char* pSourceEnd=((char*)pSource)+(nPixelCount*SIZEOF_PETE_PIXELDATA32);
- char* pCurrentSource=((char*)pSource);
- char* pCurrentOutput=((char*)pOutput);
-
- while (pCurrentSource<pSourceEnd) {
-
- PETE_PIXELDATA32 SourceColour=
- *((PETE_PIXELDATA32*)pCurrentSource);
-
- const int nSourceRed=(SourceColour>>16)&0xff;
- const int nSourceGreen=(SourceColour>>8)&0xff;
- const int nSourceBlue=(SourceColour>>0)&0xff;
-
- const int nMaskedRed=(nSourceRed>>3);
- const int nMaskedGreen=(nSourceGreen>>2);
- const int nMaskedBlue=(nSourceBlue>>3);
-
- PETE_PIXELDATA16 OutputColour=
- (nMaskedRed<<11)|
- (nMaskedGreen<<5)|
- (nMaskedBlue<<0);
-
- *((PETE_PIXELDATA16*)pCurrentOutput)=OutputColour;
-
- pCurrentSource+=SIZEOF_PETE_PIXELDATA32;
- pCurrentOutput+=SIZEOF_PETE_PIXELDATA16;
- }
-}
-typedef void* SPete_MemHandle;
-
-inline SPete_MemHandle Pete_NewHandle(int nBytesToAlloc) {
- return malloc(nBytesToAlloc);
-}
-
-inline void Pete_FreeHandle(SPete_MemHandle InHandle) {
- free(InHandle);
-}
-
-inline void* Pete_LockHandle(SPete_MemHandle InHandle) {
- return InHandle;
-}
-
-inline void Pete_UnLockHandle(SPete_MemHandle InHandle) {
- // do nothing
-}
-
-const int cnBiggestSignedInt=0x7fffffff;
-
-inline int GetLuminance(const U32 inColour) {
- const int nRed=(inColour&(0xff<<SHIFT_RED))>>16;
- const int nGreen=(inColour&(0xff<<SHIFT_GREEN))>>8;
- const int nBlue=(inColour&(0xff<<SHIFT_BLUE))>>0;
-
- const int nLuminance =
- ((77 * nRed)+
- (150* nGreen)+ // used to be 50 which is plain wron
- (29 * nBlue));
-
- return nLuminance;
-}
-
-#endif /* _INCLUDE__GEM_UTILS_PIXPETE_H_ */
-// end of PeteHelpers.h stuff
+/*-----------------------------------------------------------------
+LOG
+ GEM - Graphics Environment for Multimedia
+
+ helper stuff for ports of Pete's Plugins
+
+ http://www.petewarden.com
+
+ Copyright (c) 2004-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
+ For information on usage and redistribution, and for a DISCLAIMER OF ALL
+ WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
+
+-----------------------------------------------------------------*/
+#ifndef _INCLUDE__GEM_UTILS_PIXPETE_H_
+#define _INCLUDE__GEM_UTILS_PIXPETE_H_
+
+#include <stdlib.h>
+
+// utility functions from PeteHelpers.h
+
+#ifndef _MSC_VER
+# include <stdint.h>
+typedef uint32_t U32;
+typedef uint16_t U16;
+typedef uint8_t U8;
+#else
+typedef unsigned long U32;
+typedef unsigned short U16;
+typedef unsigned char U8;
+#endif
+
+/* is this only on my system ?
+ i thought Gem's YUV is UYVY and not YVYU
+ seems weird... (jmz)
+*/
+#ifdef __APPLE__
+
+# define SHIFT_ALPHA (24)
+# define SHIFT_RED (16)
+# define SHIFT_GREEN (8)
+# define SHIFT_BLUE (0)
+
+# define SHIFT_U (24)
+# define SHIFT_Y1 (16)
+# define SHIFT_V (8)
+# define SHIFT_Y2 (0)
+
+#else
+
+# define SHIFT_ALPHA (24)
+# define SHIFT_RED (16)
+# define SHIFT_GREEN (8)
+# define SHIFT_BLUE (0)
+
+# define SHIFT_U (0)
+# define SHIFT_Y1 (8)
+# define SHIFT_V (16)
+# define SHIFT_Y2 (24)
+#endif
+
+const float Pete_Pi=3.141582f;
+const float Pete_TwoPi=(2.0f*Pete_Pi);
+const float Pete_HalfPi=(0.5f*Pete_Pi);
+
+static inline void Pete_ZeroMemory(void* pMemory,int nCount) {
+ char* pCurrent=(char*)pMemory;
+ char* pEnd=(pCurrent+nCount);
+ // while (pCurrent<pEnd) *pCurrent=0;
+ // pCurrent+=1;
+ // }
+ while(pCurrent<pEnd)*pCurrent++=0;
+// memset(pMemory,0,nCount);
+}
+
+typedef U32 PETE_PIXELDATA32;
+#define SIZEOF_PETE_PIXELDATA32 (4)
+
+typedef U32 PETE_PIXELDATA24;
+#define SIZEOF_PETE_PIXELDATA24 (3)
+
+typedef U16 PETE_PIXELDATA16;
+#define SIZEOF_PETE_PIXELDATA16 (2)
+
+static inline void Pete_CopyAndConvert24BitTo32Bit(PETE_PIXELDATA24* pSource,PETE_PIXELDATA32* pOutput,int nPixelCount) {
+
+ char* pSourceEnd=((char*)pSource)+(nPixelCount*SIZEOF_PETE_PIXELDATA24);
+ char* pCurrentSource=((char*)pSource);
+ char* pCurrentOutput=((char*)pOutput);
+
+ while (pCurrentSource<pSourceEnd) {
+ *((PETE_PIXELDATA32*)pCurrentOutput)=
+ *((PETE_PIXELDATA24*)pCurrentSource);
+
+ pCurrentSource+=SIZEOF_PETE_PIXELDATA24;
+ pCurrentOutput+=SIZEOF_PETE_PIXELDATA32;
+ }
+}
+
+static inline void Pete_CopyAndConvert32BitTo24Bit(PETE_PIXELDATA32* pSource,PETE_PIXELDATA24* pOutput,int nPixelCount) {
+
+ char* pSourceEnd=((char*)pSource)+(nPixelCount*SIZEOF_PETE_PIXELDATA32);
+ char* pCurrentSource=((char*)pSource);
+ char* pCurrentOutput=((char*)pOutput);
+
+ while (pCurrentSource<pSourceEnd) {
+ *((PETE_PIXELDATA24*)pCurrentOutput)=
+ *((PETE_PIXELDATA32*)pCurrentSource);
+
+ pCurrentSource+=SIZEOF_PETE_PIXELDATA32;
+ pCurrentOutput+=SIZEOF_PETE_PIXELDATA24;
+ }
+}
+
+static inline void Pete_InPlaceConvert24BitTo32Bit(PETE_PIXELDATA24* pBuffer,int nPixelCount) {
+ char* pBufferStart=(char*)pBuffer;
+
+ char* pBuffer32Current=(pBufferStart+((nPixelCount-1)*SIZEOF_PETE_PIXELDATA32));
+ char* pBuffer24Current=(pBufferStart+((nPixelCount-1)*SIZEOF_PETE_PIXELDATA24));
+
+ while (pBuffer32Current>=pBufferStart) {
+
+ *((PETE_PIXELDATA32*)pBuffer32Current)=
+ *((PETE_PIXELDATA24*)pBuffer24Current);
+
+ pBuffer32Current-=SIZEOF_PETE_PIXELDATA32;
+ pBuffer24Current-=SIZEOF_PETE_PIXELDATA24;
+ }
+}
+
+static inline void Pete_CopyAndConvert16Bit565To32Bit(PETE_PIXELDATA16* pSource,PETE_PIXELDATA32* pOutput,int nPixelCount) {
+
+ char* pSourceEnd=((char*)pSource)+(nPixelCount*SIZEOF_PETE_PIXELDATA16);
+ char* pCurrentSource=((char*)pSource);
+ char* pCurrentOutput=((char*)pOutput);
+
+ while (pCurrentSource<pSourceEnd) {
+
+ PETE_PIXELDATA16 SourceColour=
+ *((PETE_PIXELDATA16*)pCurrentSource);
+
+ const int nMaskedRed=(SourceColour>>11)&31;
+ const int nMaskedGreen=(SourceColour>>5)&63;
+ const int nMaskedBlue=(SourceColour>>0)&31;
+
+ const int nNormalizedRed=(nMaskedRed<<3)|(nMaskedRed>>2);
+ const int nNormalizedGreen=(nMaskedGreen<<2)|(nMaskedGreen>>4);
+ const int nNormalizedBlue=(nMaskedBlue<<3)|(nMaskedBlue>>2);
+
+ const PETE_PIXELDATA32 OutputColour=
+ (nNormalizedRed<<16)|
+ (nNormalizedGreen<<8)|
+ (nNormalizedBlue<<0);
+
+ *((PETE_PIXELDATA32*)pCurrentOutput)=OutputColour;
+
+ pCurrentSource+=SIZEOF_PETE_PIXELDATA16;
+ pCurrentOutput+=SIZEOF_PETE_PIXELDATA32;
+
+ }
+
+}
+
+static inline void Pete_CopyAndConvert32BitTo16Bit565(PETE_PIXELDATA32* pSource,PETE_PIXELDATA16* pOutput,int nPixelCount) {
+
+ char* pSourceEnd=((char*)pSource)+(nPixelCount*SIZEOF_PETE_PIXELDATA32);
+ char* pCurrentSource=((char*)pSource);
+ char* pCurrentOutput=((char*)pOutput);
+
+ while (pCurrentSource<pSourceEnd) {
+
+ PETE_PIXELDATA32 SourceColour=
+ *((PETE_PIXELDATA32*)pCurrentSource);
+
+ const int nSourceRed=(SourceColour>>16)&0xff;
+ const int nSourceGreen=(SourceColour>>8)&0xff;
+ const int nSourceBlue=(SourceColour>>0)&0xff;
+
+ const int nMaskedRed=(nSourceRed>>3);
+ const int nMaskedGreen=(nSourceGreen>>2);
+ const int nMaskedBlue=(nSourceBlue>>3);
+
+ PETE_PIXELDATA16 OutputColour=
+ (nMaskedRed<<11)|
+ (nMaskedGreen<<5)|
+ (nMaskedBlue<<0);
+
+ *((PETE_PIXELDATA16*)pCurrentOutput)=OutputColour;
+
+ pCurrentSource+=SIZEOF_PETE_PIXELDATA32;
+ pCurrentOutput+=SIZEOF_PETE_PIXELDATA16;
+ }
+}
+typedef void* SPete_MemHandle;
+
+inline SPete_MemHandle Pete_NewHandle(int nBytesToAlloc) {
+ return malloc(nBytesToAlloc);
+}
+
+inline void Pete_FreeHandle(SPete_MemHandle InHandle) {
+ free(InHandle);
+}
+
+inline void* Pete_LockHandle(SPete_MemHandle InHandle) {
+ return InHandle;
+}
+
+inline void Pete_UnLockHandle(SPete_MemHandle InHandle) {
+ // do nothing
+}
+
+const int cnBiggestSignedInt=0x7fffffff;
+
+inline int GetLuminance(const U32 inColour) {
+ const int nRed=(inColour&(0xff<<SHIFT_RED))>>16;
+ const int nGreen=(inColour&(0xff<<SHIFT_GREEN))>>8;
+ const int nBlue=(inColour&(0xff<<SHIFT_BLUE))>>0;
+
+ const int nLuminance =
+ ((77 * nRed)+
+ (150* nGreen)+ // used to be 50 which is plain wrong
+ (29 * nBlue));
+
+ return nLuminance;
+}
+
+#endif /* _INCLUDE__GEM_UTILS_PIXPETE_H_ */
+// end of PeteHelpers.h stuff
diff --git a/packages/noncvs/windows/extra/Gem/dev/Utils/SIMD.h b/packages/noncvs/windows/extra/Gem/dev/Utils/SIMD.h
index b6ed0024..6e83e30e 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Utils/SIMD.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Utils/SIMD.h
@@ -1,117 +1,117 @@
-
-/*-----------------------------------------------------------------
-LOG
- GEM - Graphics Environment for Multimedia
-
- include file for SIMD
-
- Copyright (c) 1997-1999 Mark Danks. mark@danks.org
- Copyright (c) Günther Geiger. geiger@epy.co.at
- Copyright (c) 2001-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
- For information on usage and redistribution, and for a DISCLAIMER OF ALL
- WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
-
------------------------------------------------------------------*/
-
-/*
- * compiler-issues:
- *
- * gcc: when gcc is invoked with "-mmmx" (or "-msse2" or "-maltivec")
- * the defines __MMX__ (or corresponding) will be defined automatically
- *
- * vc6: you will have to install the microsoft processor-pack to use MMX/SSE2
- * you have to have the sp5 for vc6 installed (note: do not install sp6!!)
- * vc6/vc7: (i think) you need to define __MMX__ (and friends) by hand
- */
-
-#ifndef _INCLUDE__GEM_UTILS_SIMD_H_
-#define _INCLUDE__GEM_UTILS_SIMD_H_
-
-#define GEM_VECTORALIGNMENT 128
-
-const int GEM_SIMD_NONE=0;
-const int GEM_SIMD_MMX=1;
-const int GEM_SIMD_SSE2=2;
-const int GEM_SIMD_ALTIVEC=3;
-
-
-#if defined __APPLE__ && defined __VEC__
-# ifndef __APPLE_ALTIVEC__
-# undef __VEC__
-# endif
-#endif
-
-/* include for SIMD on PC's */
-#ifdef __SSE2__
-#include <emmintrin.h>
-// for icc this should be <dvec.h>
-typedef union{
- unsigned char c[16];
- __m128i v;
-} vector_128;
-#elif defined __VEC__
-/* for AltiVec (PowerPC) */
-typedef union{
- unsigned char c[16];
- vector unsigned char v;
-} vector_128;
-#endif
-
-#if defined __MMX__
-# include <mmintrin.h>
-// for icc this should be <ivec.h>
-typedef union{
- __m64 v; unsigned char c[8];
-} vector64i;
-
-#endif
-
-
-#ifdef __SSE__
-#include <xmmintrin.h>
-
-typedef union{
- __m128 m; float f[4];
-} vector128f;
-#endif
-
-#include "Gem/ExportDef.h"
-
-
-/* this is a help-class to query the capabilities of the cpu
- * whenever you want to use SIMD-optimized code, you should
- * make sure you chose the code-block based on the "cpuid" value
- * of this class and NOT simply on preprocessor defines.
- *
- * this class needs only be instantiated once (and it is done in GemMan)
- * this sets the cpuid
- */
-class GEM_EXTERN GemSIMD
-{
- public:
- GemSIMD(void);
- virtual ~GemSIMD(void);
-
- /* this gets the "cpuid" (something like GEM_SIMD_NONE) */
- static int getCPU(void);
-
- /* change the cpuid returned by getCPU()
- * you can only set the cpuid to something that is actually supported
- * by your processor
- */
- static int requestCPU(int cpuid);
-
- /* performs a runtime-check (if possible) to determine the capabilities
- * of the CPU
- * sets realcpuid appropriately and returns this value
- */
- static int simd_runtime_check(void);
-
- private:
- /* this is the maximum capability of the CPU */
- static int realcpuid;
- /* this is the current choosen capability (normally this equals realcpuid) */
- static int cpuid;
-};
-
-#endif /* _INCLUDE__GEM_UTILS_SIMD_H_ */
+
+/*-----------------------------------------------------------------
+LOG
+ GEM - Graphics Environment for Multimedia
+
+ include file for SIMD
+
+ Copyright (c) 1997-1999 Mark Danks. mark@danks.org
+ Copyright (c) Günther Geiger. geiger@epy.co.at
+ Copyright (c) 2001-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
+ For information on usage and redistribution, and for a DISCLAIMER OF ALL
+ WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
+
+-----------------------------------------------------------------*/
+
+/*
+ * compiler-issues:
+ *
+ * gcc: when gcc is invoked with "-mmmx" (or "-msse2" or "-maltivec")
+ * the defines __MMX__ (or corresponding) will be defined automatically
+ *
+ * vc6: you will have to install the microsoft processor-pack to use MMX/SSE2
+ * you have to have the sp5 for vc6 installed (note: do not install sp6!!)
+ * vc6/vc7: (i think) you need to define __MMX__ (and friends) by hand
+ */
+
+#ifndef _INCLUDE__GEM_UTILS_SIMD_H_
+#define _INCLUDE__GEM_UTILS_SIMD_H_
+
+#define GEM_VECTORALIGNMENT 128
+
+const int GEM_SIMD_NONE=0;
+const int GEM_SIMD_MMX=1;
+const int GEM_SIMD_SSE2=2;
+const int GEM_SIMD_ALTIVEC=3;
+
+
+#if defined __APPLE__ && defined __VEC__
+# ifndef __APPLE_ALTIVEC__
+# undef __VEC__
+# endif
+#endif
+
+/* include for SIMD on PC's */
+#ifdef __SSE2__
+#include <emmintrin.h>
+// for icc this should be <dvec.h>
+typedef union{
+ unsigned char c[16];
+ __m128i v;
+} vector_128;
+#elif defined __VEC__
+/* for AltiVec (PowerPC) */
+typedef union{
+ unsigned char c[16];
+ vector unsigned char v;
+} vector_128;
+#endif
+
+#if defined __MMX__
+# include <mmintrin.h>
+// for icc this should be <ivec.h>
+typedef union{
+ __m64 v; unsigned char c[8];
+} vector64i;
+
+#endif
+
+
+#ifdef __SSE__
+#include <xmmintrin.h>
+
+typedef union{
+ __m128 m; float f[4];
+} vector128f;
+#endif
+
+#include "Gem/ExportDef.h"
+
+
+/* this is a help-class to query the capabilities of the cpu
+ * whenever you want to use SIMD-optimized code, you should
+ * make sure you chose the code-block based on the "cpuid" value
+ * of this class and NOT simply on preprocessor defines.
+ *
+ * this class needs only be instantiated once (and it is done in GemMan)
+ * this sets the cpuid
+ */
+class GEM_EXTERN GemSIMD
+{
+ public:
+ GemSIMD(void);
+ virtual ~GemSIMD(void);
+
+ /* this gets the "cpuid" (something like GEM_SIMD_NONE) */
+ static int getCPU(void);
+
+ /* change the cpuid returned by getCPU()
+ * you can only set the cpuid to something that is actually supported
+ * by your processor
+ */
+ static int requestCPU(int cpuid);
+
+ /* performs a runtime-check (if possible) to determine the capabilities
+ * of the CPU
+ * sets realcpuid appropriately and returns this value
+ */
+ static int simd_runtime_check(void);
+
+ private:
+ /* this is the maximum capability of the CPU */
+ static int realcpuid;
+ /* this is the current choosen capability (normally this equals realcpuid) */
+ static int cpuid;
+};
+
+#endif /* _INCLUDE__GEM_UTILS_SIMD_H_ */
diff --git a/packages/noncvs/windows/extra/Gem/dev/Utils/Vector.h b/packages/noncvs/windows/extra/Gem/dev/Utils/Vector.h
index b0b657c5..6923c77f 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Utils/Vector.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Utils/Vector.h
@@ -1,77 +1,77 @@
-/*-----------------------------------------------------------------
-LOG
- GEM - Graphics Environment for Multimedia
-
- vector-classes
-
- zmoelnig@iem.at, tigital@mac.com
-
- For information on usage and redistribution, and for a DISCLAIMER OF ALL
- WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
-
------------------------------------------------------------------*/
-
-#ifndef _INCLUDE__GEM_UTILS_VECTOR_H_
-#define _INCLUDE__GEM_UTILS_VECTOR_H_
-
-#include "Gem/ExportDef.h"
-
-
-
-// This is our 2D point class. This will be used to store the UV coordinates.
-class GEM_EXTERN CVector2 {
-public:
- float x, y;
-};
-
-
-// This is our basic 3D point/vector class
-class GEM_EXTERN CVector3 {
-public:
- // the elements of a vector:
- float x, y, z;
-
- // A default constructor
- CVector3(void);
-
- // This is our constructor that allows us to initialize our data upon creating an instance
- CVector3(float X, float Y, float Z);
-
- // Here we overload the + operator so we can add vectors together
- CVector3 operator+(CVector3 vVector) const;
-
- // Here we overload the - operator so we can subtract vectors
- CVector3 operator-(CVector3 vVector) const;
-
- // Here we overload the - operator so we can negate the vector
- CVector3 operator-(void) const;
-
- // Here we overload the * operator so we can multiply by scalars
- CVector3 operator*(float num) const;
-
- // Here we overload the * operator so we can dot-multiply
- float operator*(CVector3 vVector) const;
-
- // cross-multiplication
- CVector3 cross(CVector3 vVector) const;
-
- // Here we overload the / operator so we can divide by a scalar
- CVector3 operator/(float num) const;
-
-
- // here we calculate the absolute-value of the vector
- float abs(void) const;
-
- // here we calculate the square of the absolute-value of the vector
- float abs2(void) const;
-
- // here we normalize the vector
- CVector3 normalize(void) const;
-
- // here we compare 2 vectors on approx. equality
- bool equals(CVector3 vVector, float epsilon) const;
-
-
-};
-
-#endif /* _INCLUDE__GEM_UTILS_VECTOR_H_ */
+/*-----------------------------------------------------------------
+LOG
+ GEM - Graphics Environment for Multimedia
+
+ vector-classes
+
+ zmoelnig@iem.at, tigital@mac.com
+
+ For information on usage and redistribution, and for a DISCLAIMER OF ALL
+ WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
+
+-----------------------------------------------------------------*/
+
+#ifndef _INCLUDE__GEM_UTILS_VECTOR_H_
+#define _INCLUDE__GEM_UTILS_VECTOR_H_
+
+#include "Gem/ExportDef.h"
+
+
+
+// This is our 2D point class. This will be used to store the UV coordinates.
+class GEM_EXTERN CVector2 {
+public:
+ float x, y;
+};
+
+
+// This is our basic 3D point/vector class
+class GEM_EXTERN CVector3 {
+public:
+ // the elements of a vector:
+ float x, y, z;
+
+ // A default constructor
+ CVector3(void);
+
+ // This is our constructor that allows us to initialize our data upon creating an instance
+ CVector3(float X, float Y, float Z);
+
+ // Here we overload the + operator so we can add vectors together
+ CVector3 operator+(CVector3 vVector) const;
+
+ // Here we overload the - operator so we can subtract vectors
+ CVector3 operator-(CVector3 vVector) const;
+
+ // Here we overload the - operator so we can negate the vector
+ CVector3 operator-(void) const;
+
+ // Here we overload the * operator so we can multiply by scalars
+ CVector3 operator*(float num) const;
+
+ // Here we overload the * operator so we can dot-multiply
+ float operator*(CVector3 vVector) const;
+
+ // cross-multiplication
+ CVector3 cross(CVector3 vVector) const;
+
+ // Here we overload the / operator so we can divide by a scalar
+ CVector3 operator/(float num) const;
+
+
+ // here we calculate the absolute-value of the vector
+ float abs(void) const;
+
+ // here we calculate the square of the absolute-value of the vector
+ float abs2(void) const;
+
+ // here we normalize the vector
+ CVector3 normalize(void) const;
+
+ // here we compare 2 vectors on approx. equality
+ bool equals(CVector3 vVector, float epsilon) const;
+
+
+};
+
+#endif /* _INCLUDE__GEM_UTILS_VECTOR_H_ */
diff --git a/packages/noncvs/windows/extra/Gem/dev/Utils/any.h b/packages/noncvs/windows/extra/Gem/dev/Utils/any.h
index 1294c8c4..597742be 100644
--- a/packages/noncvs/windows/extra/Gem/dev/Utils/any.h
+++ b/packages/noncvs/windows/extra/Gem/dev/Utils/any.h
@@ -1,308 +1,308 @@
-/*
- * (C) Copyright Christopher Diggins 2005
- * (C) Copyright Pablo Aguilar 2005
- * (C) Copyright Kevlin Henney 2001
- *
- * Copyright (C) 2010-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
- * downloaded this code from http://www.codeproject.com/KB/cpp/dynamic_typing.aspx
- * changed namespace/defines "cdiggins" to something "gem"
- *
- * Distributed under the Boost Software License, Version 1.0. (See
- * accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- */
-
-#ifndef GEM_ANY_HPP
-#define GEM_ANY_HPP
-
-#include "Gem/ExportDef.h"
-
-#ifdef _MSC_VER
-# pragma warning( push )
-# pragma warning( disable: 4275 )
-#endif
-
-#include <stdexcept>
-#include <typeinfo>
-#include <algorithm>
-
-
-namespace gem
-{
- struct GEM_EXTERN bad_any_cast : std::bad_cast {
- bad_any_cast(const std::type_info& src, const std::type_info& dest)
- : from(src.name()), to(dest.name())
- { }
- virtual ~bad_any_cast(void) throw()
- { }
- virtual const std::string what(void) {
- std::string result = std::string("bad cast(");
- result+= from;
- result+= std::string("->");
- result+= to;
- result+= std::string(")");
- return result;
- }
- const std::string from;
- const std::string to;
- };
-
- namespace any_detail {
- // function pointer table
-
- struct fxn_ptr_table {
- const std::type_info& (*get_type)(void);
- void (*static_delete)(void**);
- void (*clone)(void* const*, void**);
- void (*move)(void* const*,void**);
- };
-
- // static functions for small value-types
-
- template<bool is_small>
- struct fxns
- {
- template<typename T>
- struct type {
- static const std::type_info& get_type(void) {
- return typeid(T);
- }
- static void static_delete(void** x) {
- reinterpret_cast<T*>(x)->~T();
- }
- static void clone(void* const* src, void** dest) {
- new(dest) T(*reinterpret_cast<T const*>(src));
- }
- static void move(void* const* src, void** dest) {
- reinterpret_cast<T*>(dest)->~T();
- *reinterpret_cast<T*>(dest) = *reinterpret_cast<T const*>(src);
- }
- };
- };
-
- // static functions for big value-types (bigger than a void*)
-
- template<>
- struct fxns<false>
- {
- template<typename T>
- struct type {
- static const std::type_info& get_type(void) {
- return typeid(T);
- }
- static void static_delete(void** x) {
- delete(*reinterpret_cast<T**>(x));
- }
- static void clone(void* const* src, void** dest) {
- *dest = new T(**reinterpret_cast<T* const*>(src));
- }
- static void move(void* const* src, void** dest) {
- (*reinterpret_cast<T**>(dest))->~T();
- **reinterpret_cast<T**>(dest) = **reinterpret_cast<T* const*>(src);
- }
- };
- };
-
- template<typename T>
- struct get_table
- {
- static const bool is_small = sizeof(T) <= sizeof(void*);
-
- static fxn_ptr_table* get(void)
- {
- static fxn_ptr_table static_table = {
- fxns<is_small>::template type<T>::get_type
- , fxns<is_small>::template type<T>::static_delete
- , fxns<is_small>::template type<T>::clone
- , fxns<is_small>::template type<T>::move
- };
- return &static_table;
- }
- };
-
- struct empty {
- };
- } // namespace any_detail
-
-
- struct GEM_EXTERN any
- {
- // structors
-
- template <typename T>
- any(const T& x) : table(NULL), object(NULL) {
- table = any_detail::get_table<T>::get();
- if (sizeof(T) <= sizeof(void*)) {
- new(&object) T(x);
- }
- else {
- object = new T(x);
- }
- }
-
- any(void) : table(NULL), object(NULL) {
- table = any_detail::get_table<any_detail::empty>::get();
- object = NULL;
- }
-
- any(const any& x) : table(NULL), object(NULL) {
- table = any_detail::get_table<any_detail::empty>::get();
- assign(x);
- }
-
- virtual ~any(void) {
- table->static_delete(&object);
- }
-
- // assignment
-
- any& assign(const any& x) {
- // are we copying between the same type?
-
- if (table == x.table) {
- // if so, we can avoid reallocation
-
- table->move(&x.object, &object);
- }
- else {
- reset();
- x.table->clone(&x.object, &object);
- table = x.table;
- }
- return *this;
- }
-
- template <typename T>
- any& assign(const T& x)
- {
- // are we copying between the same type?
-
- any_detail::fxn_ptr_table* x_table = any_detail::get_table<T>::get();
- if (table == x_table) {
- // if so, we can avoid deallocating and resuse memory
-
- if (sizeof(T) <= sizeof(void*)) {
- // create copy on-top of object pointer itself
-
- new(&object) T(x);
- }
- else {
- // create copy on-top of old version
-
- new(object) T(x);
- }
- }
- else {
- reset();
- if (sizeof(T) <= sizeof(void*)) {
- // create copy on-top of object pointer itself
-
- new(&object) T(x);
- // update table pointer
-
- table = x_table;
- }
- else {
- object = new T(x);
- table = x_table;
- }
- }
- return *this;
- }
-
- // assignment operator
-
- template<typename T>
- any& operator=(T const& x) {
- return assign(x);
- }
- any& operator=(const any& x) {
- return assign(x);
- }
-
- // utility functions
-
- any& swap(any& x) {
- std::swap(table, x.table);
- std::swap(object, x.object);
- return *this;
- }
-
- const std::type_info& get_type(void) const {
- return table->get_type();
- }
-
- template<typename T>
- const T& cast(void) const {
- if (get_type() != typeid(T)) {
- throw bad_any_cast(get_type(), typeid(T));
- }
- if (sizeof(T) <= sizeof(void*)) {
- return *reinterpret_cast<T const*>(&object);
- }
- else {
- return *reinterpret_cast<T const*>(object);
- }
- }
-
- // implicit casting is disabled by default
-
- #ifdef ANY_IMPLICIT_CASTING
- // automatic casting operator
-
- template<typename T>
- operator T(void) const {
- return cast<T>();
- }
- #endif // implicit casting
-
-
- bool empty(void) const {
- return table == any_detail::get_table<any_detail::empty>::get();
- }
-
- void reset(void)
- {
- if (empty()) return;
- table->static_delete(&object);
- table = any_detail::get_table<any_detail::empty>::get();
- object = NULL;
- }
-
- // fields
-
- any_detail::fxn_ptr_table* table;
- void* object;
- };
-
- // boost::any-like casting
-
- template<typename T>
- T* any_cast(any* this_) {
- if (this_->get_type() != typeid(T)) {
- throw bad_any_cast(this_->get_type(), typeid(T));
- }
- if (sizeof(T) <= sizeof(void*)) {
- return reinterpret_cast<T*>(&this_->object);
- }
- else {
- return reinterpret_cast<T*>(this_->object);
- }
- }
-
- template<typename T>
- T const* any_cast(any const* this_) {
- return any_cast<T>(const_cast<any*>(this_));
- }
-
- template<typename T>
- T const& any_cast(any const& this_){
- return *any_cast<T>(const_cast<any*>(&this_));
- }
-}
-
-#ifdef _MSC_VER
-# pragma warning( pop )
-#endif
-
-#endif // GEM_ANY_HPP
+/*
+ * (C) Copyright Christopher Diggins 2005
+ * (C) Copyright Pablo Aguilar 2005
+ * (C) Copyright Kevlin Henney 2001
+ *
+ * Copyright (C) 2010-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
+ * downloaded this code from http://www.codeproject.com/KB/cpp/dynamic_typing.aspx
+ * changed namespace/defines "cdiggins" to something "gem"
+ *
+ * Distributed under the Boost Software License, Version 1.0. (See
+ * accompanying file LICENSE_1_0.txt or copy at
+ * http://www.boost.org/LICENSE_1_0.txt)
+ */
+
+#ifndef GEM_ANY_HPP
+#define GEM_ANY_HPP
+
+#include "Gem/ExportDef.h"
+
+#ifdef _MSC_VER
+# pragma warning( push )
+# pragma warning( disable: 4275 )
+#endif
+
+#include <stdexcept>
+#include <typeinfo>
+#include <algorithm>
+
+
+namespace gem
+{
+ struct GEM_EXTERN bad_any_cast : std::bad_cast {
+ bad_any_cast(const std::type_info& src, const std::type_info& dest)
+ : from(src.name()), to(dest.name())
+ { }
+ virtual ~bad_any_cast(void) throw()
+ { }
+ virtual const std::string what(void) {
+ std::string result = std::string("bad cast(");
+ result+= from;
+ result+= std::string("->");
+ result+= to;
+ result+= std::string(")");
+ return result;
+ }
+ const std::string from;
+ const std::string to;
+ };
+
+ namespace any_detail {
+ // function pointer table
+
+ struct fxn_ptr_table {
+ const std::type_info& (*get_type)(void);
+ void (*static_delete)(void**);
+ void (*clone)(void* const*, void**);
+ void (*move)(void* const*,void**);
+ };
+
+ // static functions for small value-types
+
+ template<bool is_small>
+ struct fxns
+ {
+ template<typename T>
+ struct type {
+ static const std::type_info& get_type(void) {
+ return typeid(T);
+ }
+ static void static_delete(void** x) {
+ reinterpret_cast<T*>(x)->~T();
+ }
+ static void clone(void* const* src, void** dest) {
+ new(dest) T(*reinterpret_cast<T const*>(src));
+ }
+ static void move(void* const* src, void** dest) {
+ reinterpret_cast<T*>(dest)->~T();
+ *reinterpret_cast<T*>(dest) = *reinterpret_cast<T const*>(src);
+ }
+ };
+ };
+
+ // static functions for big value-types (bigger than a void*)
+
+ template<>
+ struct fxns<false>
+ {
+ template<typename T>
+ struct type {
+ static const std::type_info& get_type(void) {
+ return typeid(T);
+ }
+ static void static_delete(void** x) {
+ delete(*reinterpret_cast<T**>(x));
+ }
+ static void clone(void* const* src, void** dest) {
+ *dest = new T(**reinterpret_cast<T* const*>(src));
+ }
+ static void move(void* const* src, void** dest) {
+ (*reinterpret_cast<T**>(dest))->~T();
+ **reinterpret_cast<T**>(dest) = **reinterpret_cast<T* const*>(src);
+ }
+ };
+ };
+
+ template<typename T>
+ struct get_table
+ {
+ static const bool is_small = sizeof(T) <= sizeof(void*);
+
+ static fxn_ptr_table* get(void)
+ {
+ static fxn_ptr_table static_table = {
+ fxns<is_small>::template type<T>::get_type
+ , fxns<is_small>::template type<T>::static_delete
+ , fxns<is_small>::template type<T>::clone
+ , fxns<is_small>::template type<T>::move
+ };
+ return &static_table;
+ }
+ };
+
+ struct empty {
+ };
+ } // namespace any_detail
+
+
+ struct GEM_EXTERN any
+ {
+ // structors
+
+ template <typename T>
+ any(const T& x) : table(NULL), object(NULL) {
+ table = any_detail::get_table<T>::get();
+ if (sizeof(T) <= sizeof(void*)) {
+ new(&object) T(x);
+ }
+ else {
+ object = new T(x);
+ }
+ }
+
+ any(void) : table(NULL), object(NULL) {
+ table = any_detail::get_table<any_detail::empty>::get();
+ object = NULL;
+ }
+
+ any(const any& x) : table(NULL), object(NULL) {
+ table = any_detail::get_table<any_detail::empty>::get();
+ assign(x);
+ }
+
+ virtual ~any(void) {
+ table->static_delete(&object);
+ }
+
+ // assignment
+
+ any& assign(const any& x) {
+ // are we copying between the same type?
+
+ if (table == x.table) {
+ // if so, we can avoid reallocation
+
+ table->move(&x.object, &object);
+ }
+ else {
+ reset();
+ x.table->clone(&x.object, &object);
+ table = x.table;
+ }
+ return *this;
+ }
+
+ template <typename T>
+ any& assign(const T& x)
+ {
+ // are we copying between the same type?
+
+ any_detail::fxn_ptr_table* x_table = any_detail::get_table<T>::get();
+ if (table == x_table) {
+ // if so, we can avoid deallocating and resuse memory
+
+ if (sizeof(T) <= sizeof(void*)) {
+ // create copy on-top of object pointer itself
+
+ new(&object) T(x);
+ }
+ else {
+ // create copy on-top of old version
+
+ new(object) T(x);
+ }
+ }
+ else {
+ reset();
+ if (sizeof(T) <= sizeof(void*)) {
+ // create copy on-top of object pointer itself
+
+ new(&object) T(x);
+ // update table pointer
+
+ table = x_table;
+ }
+ else {
+ object = new T(x);
+ table = x_table;
+ }
+ }
+ return *this;
+ }
+
+ // assignment operator
+
+ template<typename T>
+ any& operator=(T const& x) {
+ return assign(x);
+ }
+ any& operator=(const any& x) {
+ return assign(x);
+ }
+
+ // utility functions
+
+ any& swap(any& x) {
+ std::swap(table, x.table);
+ std::swap(object, x.object);
+ return *this;
+ }
+
+ const std::type_info& get_type(void) const {
+ return table->get_type();
+ }
+
+ template<typename T>
+ const T& cast(void) const {
+ if (get_type() != typeid(T)) {
+ throw bad_any_cast(get_type(), typeid(T));
+ }
+ if (sizeof(T) <= sizeof(void*)) {
+ return *reinterpret_cast<T const*>(&object);
+ }
+ else {
+ return *reinterpret_cast<T const*>(object);
+ }
+ }
+
+ // implicit casting is disabled by default
+
+ #ifdef ANY_IMPLICIT_CASTING
+ // automatic casting operator
+
+ template<typename T>
+ operator T(void) const {
+ return cast<T>();
+ }
+ #endif // implicit casting
+
+
+ bool empty(void) const {
+ return table == any_detail::get_table<any_detail::empty>::get();
+ }
+
+ void reset(void)
+ {
+ if (empty()) return;
+ table->static_delete(&object);
+ table = any_detail::get_table<any_detail::empty>::get();
+ object = NULL;
+ }
+
+ // fields
+
+ any_detail::fxn_ptr_table* table;
+ void* object;
+ };
+
+ // boost::any-like casting
+
+ template<typename T>
+ T* any_cast(any* this_) {
+ if (this_->get_type() != typeid(T)) {
+ throw bad_any_cast(this_->get_type(), typeid(T));
+ }
+ if (sizeof(T) <= sizeof(void*)) {
+ return reinterpret_cast<T*>(&this_->object);
+ }
+ else {
+ return reinterpret_cast<T*>(this_->object);
+ }
+ }
+
+ template<typename T>
+ T const* any_cast(any const* this_) {
+ return any_cast<T>(const_cast<any*>(this_));
+ }
+
+ template<typename T>
+ T const& any_cast(any const& this_){
+ return *any_cast<T>(const_cast<any*>(&this_));
+ }
+}
+
+#ifdef _MSC_VER
+# pragma warning( pop )
+#endif
+
+#endif // GEM_ANY_HPP
diff --git a/packages/noncvs/windows/extra/Gem/dev/plugins/PluginFactory.h b/packages/noncvs/windows/extra/Gem/dev/plugins/PluginFactory.h
index 5755748e..87ea7cf3 100644
--- a/packages/noncvs/windows/extra/Gem/dev/plugins/PluginFactory.h
+++ b/packages/noncvs/windows/extra/Gem/dev/plugins/PluginFactory.h
@@ -1,105 +1,105 @@
-#ifndef _INCLUDE__GEM_PLUGINS_PLUGINFACTORY_H_
-#define _INCLUDE__GEM_PLUGINS_PLUGINFACTORY_H_
-
-#include "Gem/ExportDef.h"
-
-
-#include <map>
-#include <vector>
-#include <string>
-
-#include <typeinfo>
-#include <iostream>
-
-namespace gem {
-
- class GEM_EXTERN BasePluginFactory {
- public:
- int doLoadPlugins(std::string basename, std::string path);
- protected:
- BasePluginFactory();
- virtual ~BasePluginFactory(void);
-
- std::vector<std::string>get(void);
- void*get(std::string);
- void set(std::string, void*);
-
- private:
- class Pimpl;
- Pimpl*m_pimpl;
- };
-
- template<class Class>
- class GEM_EXPORT PluginFactory : public BasePluginFactory {
- public:
-
- /**
- * constructor function type (without arguments)
- */
- typedef Class*(ctor_t)(void);
-
- /**
- * register a a constructor associated with a given ID
- */
- static void registerClass(std::string id, ctor_t*c);
- /**
- * get an instance of class constructed by the constructor associated with the given ID
- */
- static Class*getInstance(std::string id);
-
- /**
- * get a list of all IDs currently registered with this factory
- */
- static std::vector<std::string>getIDs(void);
-
- /**
- * load more plugins
- */
- static int loadPlugins(std::string basename, std::string path=std::string(""));
-
- private:
- static PluginFactory<Class>*s_factory;
- static PluginFactory<Class>*getPluginFactory();
-
- void doRegisterClass(std::string id, ctor_t*c);
- Class*doGetInstance(std::string id);
- std::vector<std::string>doGetIDs(void);
- };
-
-
- namespace PluginFactoryRegistrar {
- /**
- * creates a new ChildClass and returns it as a (pointer to) an instance of BaseClass
- */
- template<class ChildClass, class BaseClass>
- static BaseClass* allocator(void);
-
- /**
- * registers a ChildClass with a certain ID in the BaseClass factory
- *
- * example:
- * static gem::PluginFactoryRegistrar<Child, Base, std::string > basefac_childreg("childID"); // register Child as 'childID'
- * Base*instance=gem::PluginFactory<Base>::getInstance("childID"); // returns an instance of Child
- */
- template<class ChildClass, class BaseClass>
- struct registrar {
- registrar(std::string ID);
- };
-
- /**
- * registers a dummy constructor with a default ID
- */
- template<class BaseClass>
- struct dummy {
- dummy(void);
- };
- };
-
-/* include the actual implementation */
-#include "PluginFactoryTimple.h"
-
-
-}; // namespace gem
-
-
-#endif /* _INCLUDE__GEM_PLUGINS_PLUGINFACTORY_H_ */
+#ifndef _INCLUDE__GEM_PLUGINS_PLUGINFACTORY_H_
+#define _INCLUDE__GEM_PLUGINS_PLUGINFACTORY_H_
+
+#include "Gem/ExportDef.h"
+
+
+#include <map>
+#include <vector>
+#include <string>
+
+#include <typeinfo>
+#include <iostream>
+
+namespace gem {
+
+ class GEM_EXTERN BasePluginFactory {
+ public:
+ int doLoadPlugins(std::string basename, std::string path);
+ protected:
+ BasePluginFactory();
+ virtual ~BasePluginFactory(void);
+
+ std::vector<std::string>get(void);
+ void*get(std::string);
+ void set(std::string, void*);
+
+ private:
+ class Pimpl;
+ Pimpl*m_pimpl;
+ };
+
+ template<class Class>
+ class GEM_EXPORT PluginFactory : public BasePluginFactory {
+ public:
+
+ /**
+ * constructor function type (without arguments)
+ */
+ typedef Class*(ctor_t)(void);
+
+ /**
+ * register a a constructor associated with a given ID
+ */
+ static void registerClass(std::string id, ctor_t*c);
+ /**
+ * get an instance of class constructed by the constructor associated with the given ID
+ */
+ static Class*getInstance(std::string id);
+
+ /**
+ * get a list of all IDs currently registered with this factory
+ */
+ static std::vector<std::string>getIDs(void);
+
+ /**
+ * load more plugins
+ */
+ static int loadPlugins(std::string basename, std::string path=std::string(""));
+
+ private:
+ static PluginFactory<Class>*s_factory;
+ static PluginFactory<Class>*getPluginFactory();
+
+ void doRegisterClass(std::string id, ctor_t*c);
+ Class*doGetInstance(std::string id);
+ std::vector<std::string>doGetIDs(void);
+ };
+
+
+ namespace PluginFactoryRegistrar {
+ /**
+ * creates a new ChildClass and returns it as a (pointer to) an instance of BaseClass
+ */
+ template<class ChildClass, class BaseClass>
+ static BaseClass* allocator(void);
+
+ /**
+ * registers a ChildClass with a certain ID in the BaseClass factory
+ *
+ * example:
+ * static gem::PluginFactoryRegistrar<Child, Base, std::string > basefac_childreg("childID"); // register Child as 'childID'
+ * Base*instance=gem::PluginFactory<Base>::getInstance("childID"); // returns an instance of Child
+ */
+ template<class ChildClass, class BaseClass>
+ struct registrar {
+ registrar(std::string ID);
+ };
+
+ /**
+ * registers a dummy constructor with a default ID
+ */
+ template<class BaseClass>
+ struct dummy {
+ dummy(void);
+ };
+ };
+
+/* include the actual implementation */
+#include "PluginFactoryTimple.h"
+
+
+}; // namespace gem
+
+
+#endif /* _INCLUDE__GEM_PLUGINS_PLUGINFACTORY_H_ */
diff --git a/packages/noncvs/windows/extra/Gem/dev/plugins/PluginFactoryTimple.h b/packages/noncvs/windows/extra/Gem/dev/plugins/PluginFactoryTimple.h
index a82762d1..e0ce3f2d 100644
--- a/packages/noncvs/windows/extra/Gem/dev/plugins/PluginFactoryTimple.h
+++ b/packages/noncvs/windows/extra/Gem/dev/plugins/PluginFactoryTimple.h
@@ -1,134 +1,134 @@
-
-/*-----------------------------------------------------------------
-LOG
- GEM - Graphics Environment for Multimedia
-
- - template implementation for PluginFactory
-
- Copyright (c) 2010-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
- For information on usage and redistribution, and for a DISCLAIMER OF ALL
- WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
-
------------------------------------------------------------------*/
-
-#ifndef _INCLUDE__GEM_PLUGINS_PLUGINFACTORY_H_
-# error you must not include PluginFactory Implementation directly! include PluginFactory.h instead
-#endif
-
-/* on M$VC (at least v2007) we must not define the template-implementation in the plugins
- * if we want to use the same implementation in both host and application
- *
- * on gcc (at least on linux) we have to provide the implementation
- */
-#if defined _MSC_VER && !defined GEM_INTERNAL
-# define OMIT_PLUGINFACTORY_TEMPLATE_IMPLEMENATION
-#endif
-
-#ifndef OMIT_PLUGINFACTORY_TEMPLATE_IMPLEMENATION
-
-/* Implementation of templated PluginFactory */
-/* actually this should be done in a cpp file rather than a header-file,
- * but since virtually no compiler can handle this it is done here...
- */
-
-
-/* ********************************************************************* */
-/* Implementation of PluginFactory<Class> */
-
-template<class Class>
- PluginFactory<Class>* PluginFactory<Class>::s_factory=NULL;
-
-template<class Class>
- PluginFactory<Class>* PluginFactory<Class>::getPluginFactory(void) {
- if(NULL==s_factory) {
- s_factory=new PluginFactory<Class>;
- }
- //std::cerr << "factory @ " << (void*)s_factory << " --> " << typeid(s_factory).name() << std::endl;
- return s_factory;
-}
-
-template<class Class>
- void PluginFactory<Class>::doRegisterClass(std::string id, ctor_t*c) {
- set(id, (void*)c);
-}
-
-template<class Class>
- Class*PluginFactory<Class>::doGetInstance(std::string id) {
- ctor_t*ctor=(ctor_t*)get(id);
- if(ctor)
- return ctor();
- else
- return NULL;
-}
-
-template<class Class>
-void PluginFactory<Class>::registerClass(std::string id, ctor_t*c) {
- PluginFactory<Class>*fac=getPluginFactory();
- if(NULL==fac) {
- std::cerr << "unable to get a factory!" << std::endl;
- }
- // std::cerr << "factory @ " << (void*)fac << std::endl;
- fac->doRegisterClass(id, c);
-}
-
-template<class Class>
-Class*PluginFactory<Class>::getInstance(std::string id) {
- PluginFactory<Class>*fac=getPluginFactory();
- if(NULL==fac) {
- return NULL;
- }
- return(fac->doGetInstance(id));
-}
-
-template<class Class>
- int PluginFactory<Class>::loadPlugins(std::string basename, std::string path) {
- PluginFactory<Class>*fac=getPluginFactory();
- if(NULL==fac) {
- return 0;
- }
- return fac->doLoadPlugins(basename, path);
-}
-
-template<class Class>
- std::vector<std::string>PluginFactory<Class>::doGetIDs() {
- return get();
-}
-
-template<class Class>
- std::vector<std::string>PluginFactory<Class>::getIDs() {
- std::vector<std::string>result;
- PluginFactory<Class>*fac=getPluginFactory();
- if(fac) {
- return fac->doGetIDs();
- }
- return result;
-}
-
-#endif /* !OMIT_PLUGINFACTORY_TEMPLATE_IMPLEMENATION */
-
-/* ********************************************************************* */
-/* Implementation of PluginFactoryRegistrar<ChildClass, BaseClass> */
-
-namespace PluginFactoryRegistrar {
- template<class ChildClass, class BaseClass>
- BaseClass* allocator() {
- ChildClass* res0 = new ChildClass();
- BaseClass* res1 = dynamic_cast<BaseClass*>(res0);
- if(NULL==res1) {
- delete res0;
- }
- return res1;
- }
-
- template<class ChildClass, class BaseClass>
- registrar<ChildClass, BaseClass> :: registrar(std::string id) {
- PluginFactory<BaseClass>::registerClass(id, allocator<ChildClass, BaseClass>);
- }
- template<class BaseClass>
- dummy<BaseClass> :: dummy() {
- std::string id; // default ID
- PluginFactory<BaseClass>::registerClass(id, NULL);
- }
-
-};
-
+
+/*-----------------------------------------------------------------
+LOG
+ GEM - Graphics Environment for Multimedia
+
+ - template implementation for PluginFactory
+
+ Copyright (c) 2010-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
+ For information on usage and redistribution, and for a DISCLAIMER OF ALL
+ WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
+
+-----------------------------------------------------------------*/
+
+#ifndef _INCLUDE__GEM_PLUGINS_PLUGINFACTORY_H_
+# error you must not include PluginFactory Implementation directly! include PluginFactory.h instead
+#endif
+
+/* on M$VC (at least v2007) we must not define the template-implementation in the plugins
+ * if we want to use the same implementation in both host and application
+ *
+ * on gcc (at least on linux) we have to provide the implementation
+ */
+#if defined _MSC_VER && !defined GEM_INTERNAL
+# define OMIT_PLUGINFACTORY_TEMPLATE_IMPLEMENATION
+#endif
+
+#ifndef OMIT_PLUGINFACTORY_TEMPLATE_IMPLEMENATION
+
+/* Implementation of templated PluginFactory */
+/* actually this should be done in a cpp file rather than a header-file,
+ * but since virtually no compiler can handle this it is done here...
+ */
+
+
+/* ********************************************************************* */
+/* Implementation of PluginFactory<Class> */
+
+template<class Class>
+ PluginFactory<Class>* PluginFactory<Class>::s_factory=NULL;
+
+template<class Class>
+ PluginFactory<Class>* PluginFactory<Class>::getPluginFactory(void) {
+ if(NULL==s_factory) {
+ s_factory=new PluginFactory<Class>;
+ }
+ //std::cerr << "factory @ " << (void*)s_factory << " --> " << typeid(s_factory).name() << std::endl;
+ return s_factory;
+}
+
+template<class Class>
+ void PluginFactory<Class>::doRegisterClass(std::string id, ctor_t*c) {
+ set(id, (void*)c);
+}
+
+template<class Class>
+ Class*PluginFactory<Class>::doGetInstance(std::string id) {
+ ctor_t*ctor=(ctor_t*)get(id);
+ if(ctor)
+ return ctor();
+ else
+ return NULL;
+}
+
+template<class Class>
+void PluginFactory<Class>::registerClass(std::string id, ctor_t*c) {
+ PluginFactory<Class>*fac=getPluginFactory();
+ if(NULL==fac) {
+ std::cerr << "unable to get a factory!" << std::endl;
+ }
+ // std::cerr << "factory @ " << (void*)fac << std::endl;
+ fac->doRegisterClass(id, c);
+}
+
+template<class Class>
+Class*PluginFactory<Class>::getInstance(std::string id) {
+ PluginFactory<Class>*fac=getPluginFactory();
+ if(NULL==fac) {
+ return NULL;
+ }
+ return(fac->doGetInstance(id));
+}
+
+template<class Class>
+ int PluginFactory<Class>::loadPlugins(std::string basename, std::string path) {
+ PluginFactory<Class>*fac=getPluginFactory();
+ if(NULL==fac) {
+ return 0;
+ }
+ return fac->doLoadPlugins(basename, path);
+}
+
+template<class Class>
+ std::vector<std::string>PluginFactory<Class>::doGetIDs() {
+ return get();
+}
+
+template<class Class>
+ std::vector<std::string>PluginFactory<Class>::getIDs() {
+ std::vector<std::string>result;
+ PluginFactory<Class>*fac=getPluginFactory();
+ if(fac) {
+ return fac->doGetIDs();
+ }
+ return result;
+}
+
+#endif /* !OMIT_PLUGINFACTORY_TEMPLATE_IMPLEMENATION */
+
+/* ********************************************************************* */
+/* Implementation of PluginFactoryRegistrar<ChildClass, BaseClass> */
+
+namespace PluginFactoryRegistrar {
+ template<class ChildClass, class BaseClass>
+ BaseClass* allocator() {
+ ChildClass* res0 = new ChildClass();
+ BaseClass* res1 = dynamic_cast<BaseClass*>(res0);
+ if(NULL==res1) {
+ delete res0;
+ }
+ return res1;
+ }
+
+ template<class ChildClass, class BaseClass>
+ registrar<ChildClass, BaseClass> :: registrar(std::string id) {
+ PluginFactory<BaseClass>::registerClass(id, allocator<ChildClass, BaseClass>);
+ }
+ template<class BaseClass>
+ dummy<BaseClass> :: dummy() {
+ std::string id; // default ID
+ PluginFactory<BaseClass>::registerClass(id, NULL);
+ }
+
+};
+
diff --git a/packages/noncvs/windows/extra/Gem/dev/plugins/film.h b/packages/noncvs/windows/extra/Gem/dev/plugins/film.h
index 313c796a..e42ff923 100644
--- a/packages/noncvs/windows/extra/Gem/dev/plugins/film.h
+++ b/packages/noncvs/windows/extra/Gem/dev/plugins/film.h
@@ -1,173 +1,173 @@
-/* -----------------------------------------------------------------
-
-GEM - Graphics Environment for Multimedia
-
-Load an digital video (like AVI, Mpeg, Quicktime) into a pix block
-(OS independant parent-class)
-
-Copyright (c) 1997-1999 Mark Danks. mark@danks.org
-Copyright (c) Günther Geiger. geiger@epy.co.at
-Copyright (c) 2001-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
-
------------------------------------------------------------------*/
-
-#ifndef _INCLUDE__GEM_PLUGINS_FILM_H_
-#define _INCLUDE__GEM_PLUGINS_FILM_H_
-
-#include "Gem/ExportDef.h"
-#include "Gem/GemGL.h"
-#include <string>
-
-/*-----------------------------------------------------------------
- -------------------------------------------------------------------
- CLASS
- film
-
- parent class for the system- and library-dependent film-loader classes
-
- KEYWORDS
- pix film movie
-
- DESCRIPTION
-
- -----------------------------------------------------------------*/
-
-class pixBlock;
-namespace gem {
- class Properties;
-}
-namespace gem { namespace plugins {
-class GEM_EXTERN film
-{
- public:
-
- //////////
- // returns an instance wrapping all plugins or NULL
- // if NULL is returned, you might still try your luck with manually accessing the
- // PluginFactory
- static film*getInstance(void);
-
- /////////
- // dtor must be virtual
- virtual ~film(void);
-
- //////////
- // open a movie up
- /* open the film "filename" (think better about URIs ?)
- *
- * try to open the film with the requested properties
- *
- * about properties:
- * requestprops: are properties that can change the behaviour of how the
- * film is opened; examples are "colorspace" (e.g. GL_RGBA) or
- * "streaming" (rather than random frame access)
- * the backend need not implement any of the properties
- *
- * resultprops: give feedback about the opened film
- * if the film could not be opened, the content is undefined
- * if the film was successfully opened, following properties should be set
- * if a property can not be determined (e.g. variable fps), it should be set unset
- *
- *
- * discussion: should the colourspace be only a hint or should we force it
- * (evt. by converting the actual cs by hand to the desired one)
- * more discussion: i guess the cs should really be forced somehow by [pix_film]
- * now i don't know, whether the cs-conversion should be done by [pix_film] itself or
- * rather by the film*-classes.
- * but i guess film* makes more sense, because then, [pix_film] doesn't have to know
- * anything about the internal cs of the decoder
- */
- /* returns TRUE if loading was successfull, FALSE otherwise */
- virtual bool open(const std::string,
- const gem::Properties&requestprops) = 0;
-
- /* some error codes */
- enum errCode { SUCCESS = 0,
- FAILURE = 1,
- DONTKNOW= 2 };
-
- //////////
- // Change which image to display
- /* this is the second core function of this class:
- * most decoding-libraries can set the frame-number on a random-access basis.
- * some cannot, then this might do nothing
- * you could also switch between various tracks of a file (if the format supports it)
- * specifying trackNum as -1 means "same track as before"
- */
- virtual errCode changeImage(int imgNum, int trackNum=-1) = 0;
-
- //////////
- // get the next frame
- /* this is the core-function of this class !!!!
- * when called it returns the current frame in the *pixBlock structure
- * dev: you can use "m_image" for this (and "return &m_image;")
- * if the image cannot be read, returns 0
- * dev: you probably want to set the whole meta-information
- * (xsize,ysize,csize,format) over again
- * if you are smart and the colour-space is fine, just point
- * if this is a "new" frame (e.g. freshly decoded),
- * pixblock.newimage should be set to 1
- */
- virtual pixBlock* getFrame(void) = 0;
-
- //////////
- // close the movie file
- /* close the file and clean up temporary things */
- virtual void close(void) = 0;
-
-
- ////////
- // returns true if instance can be used in thread
- virtual bool isThreadable(void) = 0;
-
- /**
- * list all properties the currently opened film supports
- * if no film is opened, this returns generic backend properties
- * which can be different from media specific properties
- * after calling, "readable" will hold a list of all properties that can be read
- * and "writeable" will hold a list of all properties that can be set
- * if the enumeration fails, this returns <code>false</code>
- */
-
- virtual bool enumProperties(gem::Properties&readable,
- gem::Properties&writeable) = 0;
-
- /**
- * set a number of properties (as defined by "props")
- * the "props" may hold properties not supported by the currently opened media,
- * which is legal; in this case the superfluous properties are simply ignored
- * this function MAY modify the props;
- * namely one-shot properties should be removed from the props
- *
- * examples: "colorspace" GL_RGBA
- * "auto" 1
- */
- virtual void setProperties(gem::Properties&props) = 0;
-
- /**
- * get the current value of the given properties from the media
- * if props holds properties that can not be read for the media, they are set to UNSET
- *
- * "width" (width of each frame in pixels)
- * "height" (height of each frame in pixels)
- * "fps" (frames per second)
- * "frames" (framecount)
- */
- virtual void getProperties(gem::Properties&props) = 0;
-};
-
-};}; // namespace gem::plugins
-
-
-/**
- * \fn REGISTER_FILMFACTORY(const char *id, Class filmClass)
- * registers a new class "filmClass" with the film-factory
- *
- * \param id a symbolic (const char*) ID for the given class
- * \param filmClass a class derived from "film"
- */
-#define REGISTER_FILMFACTORY(id, TYP) static gem::PluginFactoryRegistrar::registrar<TYP, gem::plugins::film> fac_film_ ## TYP (id)
-
-#endif // for header file
+/* -----------------------------------------------------------------
+
+GEM - Graphics Environment for Multimedia
+
+Load an digital video (like AVI, Mpeg, Quicktime) into a pix block
+(OS independant parent-class)
+
+Copyright (c) 1997-1999 Mark Danks. mark@danks.org
+Copyright (c) Günther Geiger. geiger@epy.co.at
+Copyright (c) 2001-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
+For information on usage and redistribution, and for a DISCLAIMER OF ALL
+WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
+
+-----------------------------------------------------------------*/
+
+#ifndef _INCLUDE__GEM_PLUGINS_FILM_H_
+#define _INCLUDE__GEM_PLUGINS_FILM_H_
+
+#include "Gem/ExportDef.h"
+#include "Gem/GemGL.h"
+#include <string>
+
+/*-----------------------------------------------------------------
+ -------------------------------------------------------------------
+ CLASS
+ film
+
+ parent class for the system- and library-dependent film-loader classes
+
+ KEYWORDS
+ pix film movie
+
+ DESCRIPTION
+
+ -----------------------------------------------------------------*/
+
+struct pixBlock;
+namespace gem {
+ class Properties;
+}
+namespace gem { namespace plugins {
+class GEM_EXTERN film
+{
+ public:
+
+ //////////
+ // returns an instance wrapping all plugins or NULL
+ // if NULL is returned, you might still try your luck with manually accessing the
+ // PluginFactory
+ static film*getInstance(void);
+
+ /////////
+ // dtor must be virtual
+ virtual ~film(void);
+
+ //////////
+ // open a movie up
+ /* open the film "filename" (think better about URIs ?)
+ *
+ * try to open the film with the requested properties
+ *
+ * about properties:
+ * requestprops: are properties that can change the behaviour of how the
+ * film is opened; examples are "colorspace" (e.g. GL_RGBA) or
+ * "streaming" (rather than random frame access)
+ * the backend need not implement any of the properties
+ *
+ * resultprops: give feedback about the opened film
+ * if the film could not be opened, the content is undefined
+ * if the film was successfully opened, following properties should be set
+ * if a property can not be determined (e.g. variable fps), it should be set unset
+ *
+ *
+ * discussion: should the colourspace be only a hint or should we force it
+ * (evt. by converting the actual cs by hand to the desired one)
+ * more discussion: i guess the cs should really be forced somehow by [pix_film]
+ * now i don't know, whether the cs-conversion should be done by [pix_film] itself or
+ * rather by the film*-classes.
+ * but i guess film* makes more sense, because then, [pix_film] doesn't have to know
+ * anything about the internal cs of the decoder
+ */
+ /* returns TRUE if loading was successfull, FALSE otherwise */
+ virtual bool open(const std::string,
+ const gem::Properties&requestprops) = 0;
+
+ /* some error codes */
+ enum errCode { SUCCESS = 0,
+ FAILURE = 1,
+ DONTKNOW= 2 };
+
+ //////////
+ // Change which image to display
+ /* this is the second core function of this class:
+ * most decoding-libraries can set the frame-number on a random-access basis.
+ * some cannot, then this might do nothing
+ * you could also switch between various tracks of a file (if the format supports it)
+ * specifying trackNum as -1 means "same track as before"
+ */
+ virtual errCode changeImage(int imgNum, int trackNum=-1) = 0;
+
+ //////////
+ // get the next frame
+ /* this is the core-function of this class !!!!
+ * when called it returns the current frame in the *pixBlock structure
+ * dev: you can use "m_image" for this (and "return &m_image;")
+ * if the image cannot be read, returns 0
+ * dev: you probably want to set the whole meta-information
+ * (xsize,ysize,csize,format) over again
+ * if you are smart and the colour-space is fine, just point
+ * if this is a "new" frame (e.g. freshly decoded),
+ * pixblock.newimage should be set to 1
+ */
+ virtual pixBlock* getFrame(void) = 0;
+
+ //////////
+ // close the movie file
+ /* close the file and clean up temporary things */
+ virtual void close(void) = 0;
+
+
+ ////////
+ // returns true if instance can be used in thread
+ virtual bool isThreadable(void) = 0;
+
+ /**
+ * list all properties the currently opened film supports
+ * if no film is opened, this returns generic backend properties
+ * which can be different from media specific properties
+ * after calling, "readable" will hold a list of all properties that can be read
+ * and "writeable" will hold a list of all properties that can be set
+ * if the enumeration fails, this returns <code>false</code>
+ */
+
+ virtual bool enumProperties(gem::Properties&readable,
+ gem::Properties&writeable) = 0;
+
+ /**
+ * set a number of properties (as defined by "props")
+ * the "props" may hold properties not supported by the currently opened media,
+ * which is legal; in this case the superfluous properties are simply ignored
+ * this function MAY modify the props;
+ * namely one-shot properties should be removed from the props
+ *
+ * examples: "colorspace" GL_RGBA
+ * "auto" 1
+ */
+ virtual void setProperties(gem::Properties&props) = 0;
+
+ /**
+ * get the current value of the given properties from the media
+ * if props holds properties that can not be read for the media, they are set to UNSET
+ *
+ * "width" (width of each frame in pixels)
+ * "height" (height of each frame in pixels)
+ * "fps" (frames per second)
+ * "frames" (framecount)
+ */
+ virtual void getProperties(gem::Properties&props) = 0;
+};
+
+};}; // namespace gem::plugins
+
+
+/**
+ * \fn REGISTER_FILMFACTORY(const char *id, Class filmClass)
+ * registers a new class "filmClass" with the film-factory
+ *
+ * \param id a symbolic (const char*) ID for the given class
+ * \param filmClass a class derived from "film"
+ */
+#define REGISTER_FILMFACTORY(id, TYP) static gem::PluginFactoryRegistrar::registrar<TYP, gem::plugins::film> fac_film_ ## TYP (id)
+
+#endif // for header file
diff --git a/packages/noncvs/windows/extra/Gem/dev/plugins/imageloader.h b/packages/noncvs/windows/extra/Gem/dev/plugins/imageloader.h
index 111ad822..fb50fe1f 100644
--- a/packages/noncvs/windows/extra/Gem/dev/plugins/imageloader.h
+++ b/packages/noncvs/windows/extra/Gem/dev/plugins/imageloader.h
@@ -1,75 +1,75 @@
-/* -----------------------------------------------------------------
-
-GEM - Graphics Environment for Multimedia
-
-Load an image and return the frame(OS independant interface)
-
-Copyright (c) 2011-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
-
------------------------------------------------------------------*/
-
-#ifndef _INCLUDE__GEM_PLUGINS_IMAGELOADER_H_
-#define _INCLUDE__GEM_PLUGINS_IMAGELOADER_H_
-
-#include "Gem/Image.h"
-#include "Gem/Properties.h"
-
-#include <string>
-
-/*-----------------------------------------------------------------
- -------------------------------------------------------------------
- CLASS
- imageloader
-
- interface for the system- and library-dependent imageloader classes
-
- KEYWORDS
- pix load an image
-
- DESCRIPTION
-
- -----------------------------------------------------------------*/
-namespace gem { namespace plugins {
- class GEM_EXTERN imageloader
- {
- public:
-
- //////////
- // returns an instance wrapping all plugins or NULL
- // if NULL is returned, you might still try your luck with manually accessing the
- // PluginFactory
- static imageloader*getInstance(void);
-
- ////////
- // dtor must be virtual
- virtual ~imageloader(void);
-
- /* read a image
- *
- * props can be filled by the loader with additional information on the image
- * e.g. EXIF tags,...
- */
- /* returns TRUE if loading was successfull, FALSE otherwise */
- virtual bool load(std::string filename,
- imageStruct&result,
- gem::Properties&props) = 0;
-
- /* returns TRUE if this object can be used from within a thread */
- virtual bool isThreadable(void) = 0;
- };
-
- };}; // namespace gem
-
-
-/**
- * \fn REGISTER_IMAGELOADERFACTORY(const char *id, Class imageloaderClass)
- * registers a new class "imageloaderClass" with the imageloader-factory
- *
- * \param id a symbolic (const char*) ID for the given class
- * \param imageloaderClass a class derived from "imageloader"
- */
-#define REGISTER_IMAGELOADERFACTORY(id, TYP) static gem::PluginFactoryRegistrar::registrar<TYP, gem::plugins::imageloader> fac_imageloader_ ## TYP (id)
-
-#endif // for header file
+/* -----------------------------------------------------------------
+
+GEM - Graphics Environment for Multimedia
+
+Load an image and return the frame(OS independant interface)
+
+Copyright (c) 2011-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
+For information on usage and redistribution, and for a DISCLAIMER OF ALL
+WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
+
+-----------------------------------------------------------------*/
+
+#ifndef _INCLUDE__GEM_PLUGINS_IMAGELOADER_H_
+#define _INCLUDE__GEM_PLUGINS_IMAGELOADER_H_
+
+#include "Gem/Image.h"
+#include "Gem/Properties.h"
+
+#include <string>
+
+/*-----------------------------------------------------------------
+ -------------------------------------------------------------------
+ CLASS
+ imageloader
+
+ interface for the system- and library-dependent imageloader classes
+
+ KEYWORDS
+ pix load an image
+
+ DESCRIPTION
+
+ -----------------------------------------------------------------*/
+namespace gem { namespace plugins {
+ class GEM_EXTERN imageloader
+ {
+ public:
+
+ //////////
+ // returns an instance wrapping all plugins or NULL
+ // if NULL is returned, you might still try your luck with manually accessing the
+ // PluginFactory
+ static imageloader*getInstance(void);
+
+ ////////
+ // dtor must be virtual
+ virtual ~imageloader(void);
+
+ /* read a image
+ *
+ * props can be filled by the loader with additional information on the image
+ * e.g. EXIF tags,...
+ */
+ /* returns TRUE if loading was successfull, FALSE otherwise */
+ virtual bool load(std::string filename,
+ imageStruct&result,
+ gem::Properties&props) = 0;
+
+ /* returns TRUE if this object can be used from within a thread */
+ virtual bool isThreadable(void) = 0;
+ };
+
+ };}; // namespace gem
+
+
+/**
+ * \fn REGISTER_IMAGELOADERFACTORY(const char *id, Class imageloaderClass)
+ * registers a new class "imageloaderClass" with the imageloader-factory
+ *
+ * \param id a symbolic (const char*) ID for the given class
+ * \param imageloaderClass a class derived from "imageloader"
+ */
+#define REGISTER_IMAGELOADERFACTORY(id, TYP) static gem::PluginFactoryRegistrar::registrar<TYP, gem::plugins::imageloader> fac_imageloader_ ## TYP (id)
+
+#endif // for header file
diff --git a/packages/noncvs/windows/extra/Gem/dev/plugins/imagesaver.h b/packages/noncvs/windows/extra/Gem/dev/plugins/imagesaver.h
index dfb45ae9..2f4390cc 100644
--- a/packages/noncvs/windows/extra/Gem/dev/plugins/imagesaver.h
+++ b/packages/noncvs/windows/extra/Gem/dev/plugins/imagesaver.h
@@ -1,126 +1,126 @@
-/* -----------------------------------------------------------------
-
-GEM - Graphics Environment for Multimedia
-
-Load an image and return the frame(OS independant interface)
-
-Copyright (c) 2011-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
-
------------------------------------------------------------------*/
-
-#ifndef _INCLUDE__GEM_PLUGINS_IMAGESAVER_H_
-#define _INCLUDE__GEM_PLUGINS_IMAGESAVER_H_
-
-#include "Gem/Image.h"
-#include "Gem/Properties.h"
-
-#include <string>
-
-
-/*-----------------------------------------------------------------
- -------------------------------------------------------------------
- CLASS
- imagesaver
-
- interface for the system- and library-dependent imagesaver classes
-
- KEYWORDS
- save a pix to disk
-
- DESCRIPTION
-
- -----------------------------------------------------------------*/
-namespace gem { namespace plugins {
- class GEM_EXTERN imagesaver
- {
- public:
-
- //////////
- // returns an instance wrapping all plugins or NULL
- // if NULL is returned, you might still try your luck with manually accessing the
- // PluginFactory
- static imagesaver*getInstance(void);
-
- ////////
- // dtor must be virtual
- virtual ~imagesaver(void);
-
- /* save the image 'img' under the filename 'filename', respecting as many 'props' as possible
- *
- * returns TRUE if saving was successfull, FALSE otherwise */
- virtual bool save(const imageStruct&img, const std::string&filename, const std::string&mimetype, const gem::Properties&props) = 0;
-
- /* estimate how 'well' we could save the 'img'
- * this is used to rate the different backends for a given image
- *
- * e.g. if the user requests saving of an image as <filename>, virtually all backends will have a way to to as requested
- * however, if filename was "bla.jpg", a TIFF-backend might save as a TIFF-image with a .jpg extension,
- * which is probably not what the user expected (esp. if there _is_ a JPEG-backend, which for whatever reasons
- * would only have been called after the TIFF-backend)
- *
- * the solution is quite simple: each backend is first asked, how well it could save a given image according to properties
- * the backend that returns the highest value, will be chosen first; if it fails to save the image
- * (returning FALSE in the save() function), the backend with the next higher rating will be chosen and so on
- *
- *
- * mimetype and properties are the main factors for rating;
- * 'mimetype' (string): mimetype of the image; e.g. 'image/jpeg' means 'write the image as JPEG'
- * if not empty, the mimetype will override all other ways to set the output format (like filename)
- * even though we only expect mimetypes of type 'image/*', the prefix ('image/') is mandatory
- * a predefined properties (for legacy reasons) is:
- * 'quality' (float) : for lossy formats, this is the quality (in percent)
- *
- * expected return values:
- * <=0: 'USE ME IF YOU MUST (but rather not)'
- * 0 is returned, if the backend expects to be able to save the given image under the given
- * filename to disk, but it will ignore all properties (including the mimetype!) and will
- * ignore all file extensions
- * it is hoped that '0' is never the winner (for any feasible format)
- * example: saves a TIFF-image as /tmp/foo.doc
- * 100: 'YES'
- * 100 is returned, if the plugin knows how to handle the given 'mimetype' property
- * if 'mimetype' is empty and the plugin has performed an heuristic based on the filename
- * to determine that the user wants a format that is provided by this very plugin, it can return 100 as well.
- * however, if 'mimetype' and file extension contradict each other, 'mimetype' wins!
- * 100+: 'YES, ABSOLUTELY'
- * every additional property that can be applied, gains an extra point
- * example: both the JPG and the JPEG2K backend provide saving of jpegs, but only JPG can set the quality
- * the user requests: filename=img.jpg,mimetype='image/jpeg',quality=20
- * JPG returns 101, whereas JPEG2K returns 100, so JPG wins and writes
- * 0..50: the backend knows how to handle some of the properties (but it has no clue about the output format requested
- * example: filename=img.tif,mimetype='image/tiff',quality=20
- * JPG knows how to handle the 'quality' property, but not the 'mimetype', so it scores 1 point
- * TIFF knows how to handle the 'mimetype' but not the 'quality', so it scores 100 points
- */
- virtual float estimateSave( const imageStruct&img, const std::string&filename, const std::string&mimetype, const gem::Properties&props) = 0;
-
- /**
- * get writing capabilities of this backend (informative)
- *
- * list all (known) mimetypes and properties this backend supports for writing
- * both can be empty, if they are not known when requested
- * if only some properties/mimetypes are explicitely known (but it is likely that more are supported),
- * it is generally better, to list the few rather than nothing
- */
- virtual void getWriteCapabilities(std::vector<std::string>&mimetypes, gem::Properties&props) = 0;
-
- /* returns TRUE, if it is save to use this backend from multple threads
- */
- virtual bool isThreadable(void) = 0;
- };
-
- }; }; // namespace gem
-
-
-/**
- * \fn REGISTER_IMAGESAVERFACTORY(const char *id, Class imagesaverClass)
- * registers a new class "imagesaverClass" with the imagesaver-factory
- *
- * \param id a symbolic (const char*) ID for the given class
- * \param imagesaverClass a class derived from "imagesaver"
- */
-#define REGISTER_IMAGESAVERFACTORY(id, TYP) static gem::PluginFactoryRegistrar::registrar<TYP, gem::plugins::imagesaver> fac_imagesaver_ ## TYP (id)
-
-#endif // for header file
+/* -----------------------------------------------------------------
+
+GEM - Graphics Environment for Multimedia
+
+Load an image and return the frame(OS independant interface)
+
+Copyright (c) 2011-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
+For information on usage and redistribution, and for a DISCLAIMER OF ALL
+WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
+
+-----------------------------------------------------------------*/
+
+#ifndef _INCLUDE__GEM_PLUGINS_IMAGESAVER_H_
+#define _INCLUDE__GEM_PLUGINS_IMAGESAVER_H_
+
+#include "Gem/Image.h"
+#include "Gem/Properties.h"
+
+#include <string>
+
+
+/*-----------------------------------------------------------------
+ -------------------------------------------------------------------
+ CLASS
+ imagesaver
+
+ interface for the system- and library-dependent imagesaver classes
+
+ KEYWORDS
+ save a pix to disk
+
+ DESCRIPTION
+
+ -----------------------------------------------------------------*/
+namespace gem { namespace plugins {
+ class GEM_EXTERN imagesaver
+ {
+ public:
+
+ //////////
+ // returns an instance wrapping all plugins or NULL
+ // if NULL is returned, you might still try your luck with manually accessing the
+ // PluginFactory
+ static imagesaver*getInstance(void);
+
+ ////////
+ // dtor must be virtual
+ virtual ~imagesaver(void);
+
+ /* save the image 'img' under the filename 'filename', respecting as many 'props' as possible
+ *
+ * returns TRUE if saving was successfull, FALSE otherwise */
+ virtual bool save(const imageStruct&img, const std::string&filename, const std::string&mimetype, const gem::Properties&props) = 0;
+
+ /* estimate how 'well' we could save the 'img'
+ * this is used to rate the different backends for a given image
+ *
+ * e.g. if the user requests saving of an image as <filename>, virtually all backends will have a way to to as requested
+ * however, if filename was "bla.jpg", a TIFF-backend might save as a TIFF-image with a .jpg extension,
+ * which is probably not what the user expected (esp. if there _is_ a JPEG-backend, which for whatever reasons
+ * would only have been called after the TIFF-backend)
+ *
+ * the solution is quite simple: each backend is first asked, how well it could save a given image according to properties
+ * the backend that returns the highest value, will be chosen first; if it fails to save the image
+ * (returning FALSE in the save() function), the backend with the next higher rating will be chosen and so on
+ *
+ *
+ * mimetype and properties are the main factors for rating;
+ * 'mimetype' (string): mimetype of the image; e.g. 'image/jpeg' means 'write the image as JPEG'
+ * if not empty, the mimetype will override all other ways to set the output format (like filename)
+ * even though we only expect mimetypes of type 'image/*', the prefix ('image/') is mandatory
+ * a predefined properties (for legacy reasons) is:
+ * 'quality' (float) : for lossy formats, this is the quality (in percent)
+ *
+ * expected return values:
+ * <=0: 'USE ME IF YOU MUST (but rather not)'
+ * 0 is returned, if the backend expects to be able to save the given image under the given
+ * filename to disk, but it will ignore all properties (including the mimetype!) and will
+ * ignore all file extensions
+ * it is hoped that '0' is never the winner (for any feasible format)
+ * example: saves a TIFF-image as /tmp/foo.doc
+ * 100: 'YES'
+ * 100 is returned, if the plugin knows how to handle the given 'mimetype' property
+ * if 'mimetype' is empty and the plugin has performed an heuristic based on the filename
+ * to determine that the user wants a format that is provided by this very plugin, it can return 100 as well.
+ * however, if 'mimetype' and file extension contradict each other, 'mimetype' wins!
+ * 100+: 'YES, ABSOLUTELY'
+ * every additional property that can be applied, gains an extra point
+ * example: both the JPG and the JPEG2K backend provide saving of jpegs, but only JPG can set the quality
+ * the user requests: filename=img.jpg,mimetype='image/jpeg',quality=20
+ * JPG returns 101, whereas JPEG2K returns 100, so JPG wins and writes
+ * 0..50: the backend knows how to handle some of the properties (but it has no clue about the output format requested
+ * example: filename=img.tif,mimetype='image/tiff',quality=20
+ * JPG knows how to handle the 'quality' property, but not the 'mimetype', so it scores 1 point
+ * TIFF knows how to handle the 'mimetype' but not the 'quality', so it scores 100 points
+ */
+ virtual float estimateSave( const imageStruct&img, const std::string&filename, const std::string&mimetype, const gem::Properties&props) = 0;
+
+ /**
+ * get writing capabilities of this backend (informative)
+ *
+ * list all (known) mimetypes and properties this backend supports for writing
+ * both can be empty, if they are not known when requested
+ * if only some properties/mimetypes are explicitely known (but it is likely that more are supported),
+ * it is generally better, to list the few rather than nothing
+ */
+ virtual void getWriteCapabilities(std::vector<std::string>&mimetypes, gem::Properties&props) = 0;
+
+ /* returns TRUE, if it is save to use this backend from multple threads
+ */
+ virtual bool isThreadable(void) = 0;
+ };
+
+ }; }; // namespace gem
+
+
+/**
+ * \fn REGISTER_IMAGESAVERFACTORY(const char *id, Class imagesaverClass)
+ * registers a new class "imagesaverClass" with the imagesaver-factory
+ *
+ * \param id a symbolic (const char*) ID for the given class
+ * \param imagesaverClass a class derived from "imagesaver"
+ */
+#define REGISTER_IMAGESAVERFACTORY(id, TYP) static gem::PluginFactoryRegistrar::registrar<TYP, gem::plugins::imagesaver> fac_imagesaver_ ## TYP (id)
+
+#endif // for header file
diff --git a/packages/noncvs/windows/extra/Gem/dev/plugins/record.h b/packages/noncvs/windows/extra/Gem/dev/plugins/record.h
index 8b317539..45908669 100644
--- a/packages/noncvs/windows/extra/Gem/dev/plugins/record.h
+++ b/packages/noncvs/windows/extra/Gem/dev/plugins/record.h
@@ -1,108 +1,108 @@
-/* -----------------------------------------------------------------
-
-GEM - Graphics Environment for Multimedia
-
-Load an digital video (like AVI, Mpeg, Quicktime) into a pix block
-(OS independant interface)
-
-Copyright (c) 2010-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
-
------------------------------------------------------------------*/
-
-#ifndef _INCLUDE__GEM_PLUGINS_RECORD_H_
-#define _INCLUDE__GEM_PLUGINS_RECORD_H_
-
-#include "Gem/Image.h"
-#include "Gem/Properties.h"
-#include <string>
-
-
-/*-----------------------------------------------------------------
- -------------------------------------------------------------------
- CLASS
- record
-
- parent class for the system- and library-dependent record-loader classes
-
- KEYWORDS
- pix record movie
-
- DESCRIPTION
-
- -----------------------------------------------------------------*/
-namespace gem { namespace plugins {
- class GEM_EXTERN record
-{
-public:
-
- //////////
- // returns an instance wrapping all plugins or NULL
- // if NULL is returned, you might still try your luck with manually accessing the
- // PluginFactory
- static record*getInstance(void);
-
- /////////
- // dtor must be virtual
- virtual ~record(void);
-
- /**
- * get a list of supported codecs (short-form names, e.g. "mjpa")
- */
- virtual std::vector<std::string>getCodecs(void) = 0;
- /**
- * get a human readable description of the given codec (e.g. "Motion Jpeg A")
- */
- virtual const std::string getCodecDescription(const std::string codecname) = 0;
- /**
- * set the current codec
- */
- virtual bool setCodec(const std::string name) = 0;
-
- /**
- * list all properties the currently selected codec supports
- * if the enumeration fails, this returns <code>false</code>
- */
- virtual bool enumProperties(gem::Properties&props) = 0;
-
- //////////
- // popup a dialog to set the codec interactively (interesting on os-x and w32)
- // just return FALSE if you don't support dialogs
- virtual bool dialog(void) = 0;
-
- //////////
- // start recording
- /*
- * returns TRUE if opening was successfull, FALSE otherwise
- */
- virtual bool start(const std::string filename, gem::Properties&props) = 0;
-
- //////////
- // record a frame
- virtual bool write(imageStruct*) = 0;
-
- //////////
- // stop recording
- virtual void stop (void) = 0;
-
- };
-}; };
-
-
-
-/*
- * factory code:
- * to use these macros, you have to include "plugins/PluginFactory.h"
- */
-
-/**
- * \fn REGISTER_RECORDFACTORY(const char *id, Class recordClass)
- * registers a new class "recordClass" with the record-factory
- *
- * \param id a symbolic (const char*) ID for the given class
- * \param recordClass a class derived from "record"
- */
-#define REGISTER_RECORDFACTORY(id, TYP) static gem::PluginFactoryRegistrar::registrar<TYP, gem::plugins::record> fac_record_ ## TYP (id)
-
-#endif // for header file
+/* -----------------------------------------------------------------
+
+GEM - Graphics Environment for Multimedia
+
+Load an digital video (like AVI, Mpeg, Quicktime) into a pix block
+(OS independant interface)
+
+Copyright (c) 2010-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
+For information on usage and redistribution, and for a DISCLAIMER OF ALL
+WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
+
+-----------------------------------------------------------------*/
+
+#ifndef _INCLUDE__GEM_PLUGINS_RECORD_H_
+#define _INCLUDE__GEM_PLUGINS_RECORD_H_
+
+#include "Gem/Image.h"
+#include "Gem/Properties.h"
+#include <string>
+
+
+/*-----------------------------------------------------------------
+ -------------------------------------------------------------------
+ CLASS
+ record
+
+ parent class for the system- and library-dependent record-loader classes
+
+ KEYWORDS
+ pix record movie
+
+ DESCRIPTION
+
+ -----------------------------------------------------------------*/
+namespace gem { namespace plugins {
+ class GEM_EXTERN record
+{
+public:
+
+ //////////
+ // returns an instance wrapping all plugins or NULL
+ // if NULL is returned, you might still try your luck with manually accessing the
+ // PluginFactory
+ static record*getInstance(void);
+
+ /////////
+ // dtor must be virtual
+ virtual ~record(void);
+
+ /**
+ * get a list of supported codecs (short-form names, e.g. "mjpa")
+ */
+ virtual std::vector<std::string>getCodecs(void) = 0;
+ /**
+ * get a human readable description of the given codec (e.g. "Motion Jpeg A")
+ */
+ virtual const std::string getCodecDescription(const std::string codecname) = 0;
+ /**
+ * set the current codec
+ */
+ virtual bool setCodec(const std::string name) = 0;
+
+ /**
+ * list all properties the currently selected codec supports
+ * if the enumeration fails, this returns <code>false</code>
+ */
+ virtual bool enumProperties(gem::Properties&props) = 0;
+
+ //////////
+ // popup a dialog to set the codec interactively (interesting on os-x and w32)
+ // just return FALSE if you don't support dialogs
+ virtual bool dialog(void) = 0;
+
+ //////////
+ // start recording
+ /*
+ * returns TRUE if opening was successfull, FALSE otherwise
+ */
+ virtual bool start(const std::string filename, gem::Properties&props) = 0;
+
+ //////////
+ // record a frame
+ virtual bool write(imageStruct*) = 0;
+
+ //////////
+ // stop recording
+ virtual void stop (void) = 0;
+
+ };
+}; };
+
+
+
+/*
+ * factory code:
+ * to use these macros, you have to include "plugins/PluginFactory.h"
+ */
+
+/**
+ * \fn REGISTER_RECORDFACTORY(const char *id, Class recordClass)
+ * registers a new class "recordClass" with the record-factory
+ *
+ * \param id a symbolic (const char*) ID for the given class
+ * \param recordClass a class derived from "record"
+ */
+#define REGISTER_RECORDFACTORY(id, TYP) static gem::PluginFactoryRegistrar::registrar<TYP, gem::plugins::record> fac_record_ ## TYP (id)
+
+#endif // for header file
diff --git a/packages/noncvs/windows/extra/Gem/dev/plugins/video.h b/packages/noncvs/windows/extra/Gem/dev/plugins/video.h
index 1b15f9ac..21992e58 100644
--- a/packages/noncvs/windows/extra/Gem/dev/plugins/video.h
+++ b/packages/noncvs/windows/extra/Gem/dev/plugins/video.h
@@ -1,221 +1,221 @@
-/*-----------------------------------------------------------------
-
-GEM - Graphics Environment for Multimedia
-
-Base Class for Video Capture Plugins
-
-Copyright (c) 2010-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
-
------------------------------------------------------------------*/
-
-#ifndef _INCLUDE__GEM_PLUGINS_VIDEO_H_
-#define _INCLUDE__GEM_PLUGINS_VIDEO_H_
-
-#include "Gem/Properties.h"
-#include <vector>
-#include <string>
-
-/*-----------------------------------------------------------------
- -------------------------------------------------------------------
- CLASS
- video
-
- a OS-indendent interface for grabbing video-frames
-
- KEYWORDS
- pix, capture
-
- -----------------------------------------------------------------*/
-struct pixBlock;
-namespace gem { namespace plugins {
- class GEM_EXTERN video {
- public:
-
- //////////
- // returns an instance wrapping all plugins or NULL
- // if NULL is returned, you might still try your luck with manually accessing the
- // PluginFactory
- static video*getInstance(void);
-
- ////////
- // dtor must be virtual
- virtual ~video(void);
-
- //////////////////////
- // device settings
-
- /**
- * enumerate known devices
- * \return a list of device names (if they can be enumerated)
- */
- virtual std::vector<std::string>enumerate(void) = 0;
-
- /**
- * set the device to be opened next time
- * the ID provided should match an index in the list returned by enumerate()
- * after the device has been set, the caller(!) has to restart
- * (close() the current handle, try open() with the new settings)
- * the default implementation (which you normally shouldn't need to override)
- * will simply set m_devicenum and clear m_devicename
- */
- virtual bool setDevice(int ID) = 0;
-
- /**
- * set the device to be opened next time
- * the list returned by enumerate() provides a set of valid names to use here
- * depending on the backend, other names might be possible as well (e.g. IP-cameras)
- * after the device has been set, the caller(!) has to restart
- * (close() the current handle, try open() with the new settings)
- * the default implementation (which you normally shouldn't need to override)
- * will simply set m_devicename and clear m_devicenum
- */
- virtual bool setDevice(const std::string) = 0;
-
-
- //! open the device (calls openDevice())
- virtual bool open(gem::Properties&props) = 0;
- //! start the transmission (calls startTransfer())
- virtual bool start(void) = 0;
-
- /**
- * get the next frame (called when rendering)
- * grab the next frame from the device
- * if no new frame is available, this should set the "newimage" flag to false
- * \return the new frame or NULL on error
- */
- virtual pixBlock *getFrame(void) = 0;
-
- /**
- * release a frame (after use)
- * this gets called once for each frame retrieved via getFrame()
- * if you are using DMA or the like, now is the time to release the ressource
- */
- virtual void releaseFrame(void) = 0;
-
-
- //! stop the transmission (calls stopTransfer())
- virtual bool stop(void) = 0;
- //! close the device (calls closeDevice())
- virtual void close(void) = 0;
-
- /**
- * reset the backend, possibly re-enumerating devices
- * returns TRUE if reset was successfull
- */
- virtual bool reset(void) = 0;
-
-
- /**
- * list all properties the currently opened device supports
- * after calling, "readable" will hold a list of all properties that can be read
- * and "writeable" will hold a list of all properties that can be set
- * if the enumeration fails, this returns <code>false</code>
- *
- * the backend has to provide the names for the properties
- * these are defined by default, and need not be enumerated!
- * "width" "dimen" message (float)
- * "height" "dimen" message (float)
- * "leftmargin" ("dimen" message) (float)
- * "rightmargin" ("dimen" message) (float)
- * "toptmargin" ("dimen" message) (float)
- * "bottommargin" ("dimen" message) (float)
- * "channel" "channel" message (float)
- * "frequency" "channel" message (float)
- * "norm" "norm" message (string)
- * "quality" "quality" message (float)
- */
- virtual bool enumProperties(gem::Properties&readable,
- gem::Properties&writeable) = 0;
-
- /**
- * set a number of properties (as defined by "props")
- * the "props" may hold properties not supported by the currently opened device,
- * which is legal; in this case the superfluous properties are simply ignored
- * this function MAY modify the props;
- * namely one-shot properties (e.g. "do-white-balance-now")
- * should be removed from the props
- */
- virtual void setProperties(gem::Properties&props) = 0;
-
- /**
- * get the current value of the given properties from the device
- * if props holds properties that can not be read from the device, they are set to UNSET
- */
- virtual void getProperties(gem::Properties&props) = 0;
-
-
- /**
- * call a system-specific configuration dialog
- * if your system provides a GUI for configuring the device, here is the time to open it
- * of several dialogs are available (for different properties), the user can specify which one
- * they want with the string list
- * if the list is empty, provide sane defaults (e.g. ALL dialogs)
- * if the system does not support dialogs, return FALSE
- * if the system does support dialogs and the user has specified which one they want,
- * return TRUE if at least one dialog could be handled
- */
- virtual bool dialog(std::vector<std::string>names=std::vector<std::string>()) = 0;
- /**
- * enumerate list of possible dialogs (if any)
- */
- virtual std::vector<std::string>dialogs(void) = 0;
-
-
-
-
-
- /**
- * returns TRUE if the object can be used in a thread or FALSE otherwise
- * if a backend implements threading itself, it should return FALSE
- * in order to prevent double threading
- */
- virtual bool isThreadable(void) = 0;
-
-
- /** turn on/off "asynchronous"-grabbing
- * default is "true"
- * "asynchronous" means, that the device is constantly grabbing, and grabFrame() returns the current frame
- * non-"continous" means, that the device will only issue a new grab when a frame has read
- * (thus potentially reducing the CPU-load to what is needed, at the cost of slightly outdated images
- * returns: the old state
- */
- virtual bool grabAsynchronous(bool) = 0;
-
- /**
- * Set the preferred colorspace (of the frames returned by getFrame()
- * \return FALSE if the colorspace cannot be set (e.g. while grabbing is active)
- */
- virtual bool setColor(int) = 0;
-
-
- // meta information about the plugin
-
- // for pix_video: query whether this backend provides access to this class of devices
- // (e.g. "dv")
- virtual bool provides(const std::string) = 0;
- // get a list of all provided devices
- virtual std::vector<std::string>provides(void) = 0;
-
- // get's the name of the backend (e.g. "v4l")
- virtual const std::string getName(void) = 0;
- };
- };}; // namespace
-
-/*
- * factory code:
- * to use these macros, you have to include "plugins/PluginFactory.h"
- */
-
-
-/**
- * \fn REGISTER_VIDEOFACTORY(const char *id, Class videoClass)
- * registers a new class "videoClass" with the video-factory
- *
- * \param id a symbolic (const char*) ID for the given class
- * \param videoClass a class derived from "video"
- */
-#define REGISTER_VIDEOFACTORY(id, TYP) static gem::PluginFactoryRegistrar::registrar<TYP, gem::plugins::video> fac_video_ ## TYP (id)
-
-#endif // for header file
+/*-----------------------------------------------------------------
+
+GEM - Graphics Environment for Multimedia
+
+Base Class for Video Capture Plugins
+
+Copyright (c) 2010-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at
+For information on usage and redistribution, and for a DISCLAIMER OF ALL
+WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
+
+-----------------------------------------------------------------*/
+
+#ifndef _INCLUDE__GEM_PLUGINS_VIDEO_H_
+#define _INCLUDE__GEM_PLUGINS_VIDEO_H_
+
+#include "Gem/Properties.h"
+#include <vector>
+#include <string>
+
+/*-----------------------------------------------------------------
+ -------------------------------------------------------------------
+ CLASS
+ video
+
+ a OS-indendent interface for grabbing video-frames
+
+ KEYWORDS
+ pix, capture
+
+ -----------------------------------------------------------------*/
+struct pixBlock;
+namespace gem { namespace plugins {
+ class GEM_EXTERN video {
+ public:
+
+ //////////
+ // returns an instance wrapping all plugins or NULL
+ // if NULL is returned, you might still try your luck with manually accessing the
+ // PluginFactory
+ static video*getInstance(void);
+
+ ////////
+ // dtor must be virtual
+ virtual ~video(void);
+
+ //////////////////////
+ // device settings
+
+ /**
+ * enumerate known devices
+ * \return a list of device names (if they can be enumerated)
+ */
+ virtual std::vector<std::string>enumerate(void) = 0;
+
+ /**
+ * set the device to be opened next time
+ * the ID provided should match an index in the list returned by enumerate()
+ * after the device has been set, the caller(!) has to restart
+ * (close() the current handle, try open() with the new settings)
+ * the default implementation (which you normally shouldn't need to override)
+ * will simply set m_devicenum and clear m_devicename
+ */
+ virtual bool setDevice(int ID) = 0;
+
+ /**
+ * set the device to be opened next time
+ * the list returned by enumerate() provides a set of valid names to use here
+ * depending on the backend, other names might be possible as well (e.g. IP-cameras)
+ * after the device has been set, the caller(!) has to restart
+ * (close() the current handle, try open() with the new settings)
+ * the default implementation (which you normally shouldn't need to override)
+ * will simply set m_devicename and clear m_devicenum
+ */
+ virtual bool setDevice(const std::string) = 0;
+
+
+ //! open the device (calls openDevice())
+ virtual bool open(gem::Properties&props) = 0;
+ //! start the transmission (calls startTransfer())
+ virtual bool start(void) = 0;
+
+ /**
+ * get the next frame (called when rendering)
+ * grab the next frame from the device
+ * if no new frame is available, this should set the "newimage" flag to false
+ * \return the new frame or NULL on error
+ */
+ virtual pixBlock *getFrame(void) = 0;
+
+ /**
+ * release a frame (after use)
+ * this gets called once for each frame retrieved via getFrame()
+ * if you are using DMA or the like, now is the time to release the ressource
+ */
+ virtual void releaseFrame(void) = 0;
+
+
+ //! stop the transmission (calls stopTransfer())
+ virtual bool stop(void) = 0;
+ //! close the device (calls closeDevice())
+ virtual void close(void) = 0;
+
+ /**
+ * reset the backend, possibly re-enumerating devices
+ * returns TRUE if reset was successfull
+ */
+ virtual bool reset(void) = 0;
+
+
+ /**
+ * list all properties the currently opened device supports
+ * after calling, "readable" will hold a list of all properties that can be read
+ * and "writeable" will hold a list of all properties that can be set
+ * if the enumeration fails, this returns <code>false</code>
+ *
+ * the backend has to provide the names for the properties
+ * these are defined by default, and need not be enumerated!
+ * "width" "dimen" message (float)
+ * "height" "dimen" message (float)
+ * "leftmargin" ("dimen" message) (float)
+ * "rightmargin" ("dimen" message) (float)
+ * "toptmargin" ("dimen" message) (float)
+ * "bottommargin" ("dimen" message) (float)
+ * "channel" "channel" message (float)
+ * "frequency" "channel" message (float)
+ * "norm" "norm" message (string)
+ * "quality" "quality" message (float)
+ */
+ virtual bool enumProperties(gem::Properties&readable,
+ gem::Properties&writeable) = 0;
+
+ /**
+ * set a number of properties (as defined by "props")
+ * the "props" may hold properties not supported by the currently opened device,
+ * which is legal; in this case the superfluous properties are simply ignored
+ * this function MAY modify the props;
+ * namely one-shot properties (e.g. "do-white-balance-now")
+ * should be removed from the props
+ */
+ virtual void setProperties(gem::Properties&props) = 0;
+
+ /**
+ * get the current value of the given properties from the device
+ * if props holds properties that can not be read from the device, they are set to UNSET
+ */
+ virtual void getProperties(gem::Properties&props) = 0;
+
+
+ /**
+ * call a system-specific configuration dialog
+ * if your system provides a GUI for configuring the device, here is the time to open it
+ * of several dialogs are available (for different properties), the user can specify which one
+ * they want with the string list
+ * if the list is empty, provide sane defaults (e.g. ALL dialogs)
+ * if the system does not support dialogs, return FALSE
+ * if the system does support dialogs and the user has specified which one they want,
+ * return TRUE if at least one dialog could be handled
+ */
+ virtual bool dialog(std::vector<std::string>names=std::vector<std::string>()) = 0;
+ /**
+ * enumerate list of possible dialogs (if any)
+ */
+ virtual std::vector<std::string>dialogs(void) = 0;
+
+
+
+
+
+ /**
+ * returns TRUE if the object can be used in a thread or FALSE otherwise
+ * if a backend implements threading itself, it should return FALSE
+ * in order to prevent double threading
+ */
+ virtual bool isThreadable(void) = 0;
+
+
+ /** turn on/off "asynchronous"-grabbing
+ * default is "true"
+ * "asynchronous" means, that the device is constantly grabbing, and grabFrame() returns the current frame
+ * non-"continous" means, that the device will only issue a new grab when a frame has read
+ * (thus potentially reducing the CPU-load to what is needed, at the cost of slightly outdated images
+ * returns: the old state
+ */
+ virtual bool grabAsynchronous(bool) = 0;
+
+ /**
+ * Set the preferred colorspace (of the frames returned by getFrame()
+ * \return FALSE if the colorspace cannot be set (e.g. while grabbing is active)
+ */
+ virtual bool setColor(int) = 0;
+
+
+ // meta information about the plugin
+
+ // for pix_video: query whether this backend provides access to this class of devices
+ // (e.g. "dv")
+ virtual bool provides(const std::string) = 0;
+ // get a list of all provided devices
+ virtual std::vector<std::string>provides(void) = 0;
+
+ // get's the name of the backend (e.g. "v4l")
+ virtual const std::string getName(void) = 0;
+ };
+ };}; // namespace
+
+/*
+ * factory code:
+ * to use these macros, you have to include "plugins/PluginFactory.h"
+ */
+
+
+/**
+ * \fn REGISTER_VIDEOFACTORY(const char *id, Class videoClass)
+ * registers a new class "videoClass" with the video-factory
+ *
+ * \param id a symbolic (const char*) ID for the given class
+ * \param videoClass a class derived from "video"
+ */
+#define REGISTER_VIDEOFACTORY(id, TYP) static gem::PluginFactoryRegistrar::registrar<TYP, gem::plugins::video> fac_video_ ## TYP (id)
+
+#endif // for header file
diff --git a/packages/noncvs/windows/extra/Gem/diffuse-help.pd b/packages/noncvs/windows/extra/Gem/diffuse-help.pd
index 67d9f66c..ad3efdfb 100644
--- a/packages/noncvs/windows/extra/Gem/diffuse-help.pd
+++ b/packages/noncvs/windows/extra/Gem/diffuse-help.pd
@@ -1,66 +1,66 @@
-#N canvas 61 18 639 342 10;
-#X text 452 8 GEM object;
-#X obj 8 196 cnv 15 430 130 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 198 Inlets:;
-#X text 63 211 Inlet 1: gemlist;
-#X text 39 252 Outlets:;
-#X text 57 265 Outlet 1: gemlist;
-#X obj 8 146 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 145 Arguments:;
-#X obj 8 76 cnv 15 430 60 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 197 134 destroy;
-#X msg 132 112 reset \, lighting 1 \, create \, 1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X text 71 31 Class: manipulation object;
-#X obj 450 118 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X obj 451 193 cube;
-#X obj 500 192 gemhead;
-#X obj 500 230 world_light;
-#X text 62 156 a list of 3 (RGB) or 4 (RGBA) float-values.;
-#X msg 478 130 0.4 0.8 1;
-#X text 63 229 Inlet 2: list: 3(RGB) or 4(RGBA) float values;
-#X text 50 12 Synopsis: [diffuse];
-#X text 29 77 Description: diffuse colouring;
-#X text 60 171 defaults: 0.8 0.8 0.8 1;
-#X text 22 91 [diffuse] accepts a gemList and sets the diffuse-color
-for all subsequent vertex-operations. You have to enable lighting to
-see any effects.;
-#X floatatom 561 190 5 0 0 0 - - -;
-#X obj 500 211 rotate 66 1 0 0;
-#X obj 451 156 diffuse 0 1 0;
-#X connect 12 0 13 0;
-#X connect 13 0 12 0;
-#X connect 17 0 30 0;
-#X connect 19 0 29 0;
-#X connect 22 0 30 1;
-#X connect 28 0 29 1;
-#X connect 29 0 20 0;
-#X connect 30 0 18 0;
+#N canvas 61 18 639 342 10;
+#X text 452 8 GEM object;
+#X obj 8 196 cnv 15 430 130 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 198 Inlets:;
+#X text 63 211 Inlet 1: gemlist;
+#X text 39 252 Outlets:;
+#X text 57 265 Outlet 1: gemlist;
+#X obj 8 146 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 145 Arguments:;
+#X obj 8 76 cnv 15 430 60 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 197 134 destroy;
+#X msg 132 112 reset \, lighting 1 \, create \, 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X text 71 31 Class: manipulation object;
+#X obj 450 118 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X obj 451 193 cube;
+#X obj 500 192 gemhead;
+#X obj 500 230 world_light;
+#X text 62 156 a list of 3 (RGB) or 4 (RGBA) float-values.;
+#X msg 478 130 0.4 0.8 1;
+#X text 63 229 Inlet 2: list: 3(RGB) or 4(RGBA) float values;
+#X text 50 12 Synopsis: [diffuse];
+#X text 29 77 Description: diffuse colouring;
+#X text 60 171 defaults: 0.8 0.8 0.8 1;
+#X text 22 91 [diffuse] accepts a gemList and sets the diffuse-color
+for all subsequent vertex-operations. You have to enable lighting to
+see any effects.;
+#X floatatom 561 190 5 0 0 0 - - -;
+#X obj 500 211 rotate 66 1 0 0;
+#X obj 451 156 diffuse 0 1 0;
+#X connect 12 0 13 0;
+#X connect 13 0 12 0;
+#X connect 17 0 30 0;
+#X connect 19 0 29 0;
+#X connect 22 0 30 1;
+#X connect 28 0 29 1;
+#X connect 29 0 20 0;
+#X connect 30 0 18 0;
diff --git a/packages/noncvs/windows/extra/Gem/diffuseRGB-help.pd b/packages/noncvs/windows/extra/Gem/diffuseRGB-help.pd
index 4a9af356..05b04e6b 100644
--- a/packages/noncvs/windows/extra/Gem/diffuseRGB-help.pd
+++ b/packages/noncvs/windows/extra/Gem/diffuseRGB-help.pd
@@ -1,73 +1,73 @@
-#N canvas 61 18 639 342 10;
-#X text 452 8 GEM object;
-#X obj 8 196 cnv 15 430 130 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 198 Inlets:;
-#X text 63 211 Inlet 1: gemlist;
-#X text 39 292 Outlets:;
-#X text 57 305 Outlet 1: gemlist;
-#X obj 8 146 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 145 Arguments:;
-#X obj 8 76 cnv 15 430 60 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 197 134 destroy;
-#X msg 132 112 reset \, lighting 1 \, create \, 1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X text 71 31 Class: manipulation object;
-#X obj 450 118 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X obj 451 193 cube;
-#X obj 500 192 gemhead;
-#X obj 500 230 world_light;
-#X text 62 156 a list of 3 (RGB) or 4 (RGBA) float-values.;
-#X text 63 229 Inlet 2: float: red value;
-#X text 63 244 Inlet 3: float: green value;
-#X text 63 259 Inlet 4: float: blue value;
-#X text 63 274 Inlet 5: float: alpha value;
-#X floatatom 477 122 3 0 1 0 - - -;
-#X floatatom 504 122 3 0 1 0 - - -;
-#X floatatom 531 122 3 0 1 0 - - -;
-#X floatatom 558 122 3 0 1 0 - - -;
-#X text 50 12 Synopsis: [diffuseRGB];
-#X text 29 77 Description: diffuse colouring;
-#X text 22 91 [diffuseRGB] accepts a gemList and sets the diffuse-color
-for all subsequent vertex-operations. You have to enable lighting to
-see any effects.;
-#X obj 451 156 diffuseRGB 0 1 0;
-#X text 60 171 defaults: 0.8 0.8 0.8 1;
-#X obj 500 211 rotate 63 1 0 0;
-#X connect 12 0 13 0;
-#X connect 13 0 12 0;
-#X connect 17 0 33 0;
-#X connect 19 0 35 0;
-#X connect 26 0 33 1;
-#X connect 27 0 33 2;
-#X connect 28 0 33 3;
-#X connect 29 0 33 4;
-#X connect 33 0 18 0;
-#X connect 35 0 20 0;
+#N canvas 61 18 639 342 10;
+#X text 452 8 GEM object;
+#X obj 8 196 cnv 15 430 130 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 198 Inlets:;
+#X text 63 211 Inlet 1: gemlist;
+#X text 39 292 Outlets:;
+#X text 57 305 Outlet 1: gemlist;
+#X obj 8 146 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 145 Arguments:;
+#X obj 8 76 cnv 15 430 60 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 197 134 destroy;
+#X msg 132 112 reset \, lighting 1 \, create \, 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X text 71 31 Class: manipulation object;
+#X obj 450 118 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X obj 451 193 cube;
+#X obj 500 192 gemhead;
+#X obj 500 230 world_light;
+#X text 62 156 a list of 3 (RGB) or 4 (RGBA) float-values.;
+#X text 63 229 Inlet 2: float: red value;
+#X text 63 244 Inlet 3: float: green value;
+#X text 63 259 Inlet 4: float: blue value;
+#X text 63 274 Inlet 5: float: alpha value;
+#X floatatom 477 122 3 0 1 0 - - -;
+#X floatatom 504 122 3 0 1 0 - - -;
+#X floatatom 531 122 3 0 1 0 - - -;
+#X floatatom 558 122 3 0 1 0 - - -;
+#X text 50 12 Synopsis: [diffuseRGB];
+#X text 29 77 Description: diffuse colouring;
+#X text 22 91 [diffuseRGB] accepts a gemList and sets the diffuse-color
+for all subsequent vertex-operations. You have to enable lighting to
+see any effects.;
+#X obj 451 156 diffuseRGB 0 1 0;
+#X text 60 171 defaults: 0.8 0.8 0.8 1;
+#X obj 500 211 rotate 63 1 0 0;
+#X connect 12 0 13 0;
+#X connect 13 0 12 0;
+#X connect 17 0 33 0;
+#X connect 19 0 35 0;
+#X connect 26 0 33 1;
+#X connect 27 0 33 2;
+#X connect 28 0 33 3;
+#X connect 29 0 33 4;
+#X connect 33 0 18 0;
+#X connect 35 0 20 0;
diff --git a/packages/noncvs/windows/extra/Gem/disk-help.pd b/packages/noncvs/windows/extra/Gem/disk-help.pd
index c5f94d73..319a1de8 100644
--- a/packages/noncvs/windows/extra/Gem/disk-help.pd
+++ b/packages/noncvs/windows/extra/Gem/disk-help.pd
@@ -1,72 +1,72 @@
-#N canvas 291 154 710 345 10;
-#X text 54 30 Class: geometric object;
-#X obj 479 47 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X obj 544 224 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 198 112 destroy;
-#X msg 132 112 create \, 1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 549 263 pd gemwin;
-#X msg 549 244 create;
-#X text 545 223 Create window:;
-#X text 485 29 Example:;
-#X obj 7 65 cnv 15 450 90 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 8 216 cnv 15 450 120 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 9 221 Inlets:;
-#X obj 8 166 cnv 15 450 40 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 165 Arguments:;
-#X text 452 8 GEM object;
-#X text 27 233 Inlet 1: gemlist;
-#X text 9 307 Outlets:;
-#X text 21 320 Outlet 1: gemlist;
-#X obj 481 81 cnv 15 160 140 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X msg 485 95 draw line;
-#X msg 485 116 draw fill;
-#X msg 485 138 draw point;
-#X obj 553 54 gemhead;
-#X floatatom 564 102 5 0 0 1 R - -;
-#X floatatom 576 122 3 0 0 1 segments - -;
-#X floatatom 589 147 5 0 0 1 r - -;
-#X text 27 261 Inlet 2: float: size (= outer radius);
-#X text 33 14 Synopsis: [disk];
-#X text 7 69 Description: Renders a disk.;
-#X text 14 86 The disk object renders a flat disk with a hole in the
-middle at the current position with current color. The look of the
-disk can be changed with the draw message \, its size can be changed
-via the second inlet \, the size of the hole via the third inlet.;
-#X text 26 286 Inlet 4: float: inner radius (default: 0);
-#X obj 553 199 disk 1;
-#X text 27 273 Inlet 3: int: number of segments (default: 10);
-#X text 28 177 disk size(=outer radius) \, segments \, hole size(=inner
-radius);
-#X text 29 191 defaults: 1 \, 10 \, 0;
-#X text 27 247 Inlet 1: message: draw [line|fill|point|default];
-#X connect 3 0 4 0;
-#X connect 4 0 3 0;
-#X connect 17 0 29 0;
-#X connect 18 0 29 0;
-#X connect 19 0 29 0;
-#X connect 20 0 29 0;
-#X connect 21 0 29 1;
-#X connect 22 0 29 2;
-#X connect 23 0 29 3;
+#N canvas 291 154 710 345 10;
+#X text 54 30 Class: geometric object;
+#X obj 479 47 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X obj 544 224 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 198 112 destroy;
+#X msg 132 112 create \, 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 549 263 pd gemwin;
+#X msg 549 244 create;
+#X text 545 223 Create window:;
+#X text 485 29 Example:;
+#X obj 7 65 cnv 15 450 90 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 8 216 cnv 15 450 120 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 9 221 Inlets:;
+#X obj 8 166 cnv 15 450 40 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 165 Arguments:;
+#X text 452 8 GEM object;
+#X text 27 233 Inlet 1: gemlist;
+#X text 9 307 Outlets:;
+#X text 21 320 Outlet 1: gemlist;
+#X obj 481 81 cnv 15 160 140 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X msg 485 95 draw line;
+#X msg 485 116 draw fill;
+#X msg 485 138 draw point;
+#X obj 553 54 gemhead;
+#X floatatom 564 102 5 0 0 1 R - -;
+#X floatatom 576 122 3 0 0 1 segments - -;
+#X floatatom 589 147 5 0 0 1 r - -;
+#X text 27 261 Inlet 2: float: size (= outer radius);
+#X text 33 14 Synopsis: [disk];
+#X text 7 69 Description: Renders a disk.;
+#X text 14 86 The disk object renders a flat disk with a hole in the
+middle at the current position with current color. The look of the
+disk can be changed with the draw message \, its size can be changed
+via the second inlet \, the size of the hole via the third inlet.;
+#X text 26 286 Inlet 4: float: inner radius (default: 0);
+#X obj 553 199 disk 1;
+#X text 27 273 Inlet 3: int: number of segments (default: 10);
+#X text 28 177 disk size(=outer radius) \, segments \, hole size(=inner
+radius);
+#X text 29 191 defaults: 1 \, 10 \, 0;
+#X text 27 247 Inlet 1: message: draw [line|fill|point|default];
+#X connect 3 0 4 0;
+#X connect 4 0 3 0;
+#X connect 17 0 29 0;
+#X connect 18 0 29 0;
+#X connect 19 0 29 0;
+#X connect 20 0 29 0;
+#X connect 21 0 29 1;
+#X connect 22 0 29 2;
+#X connect 23 0 29 3;
diff --git a/packages/noncvs/windows/extra/Gem/emission-help.pd b/packages/noncvs/windows/extra/Gem/emission-help.pd
index 75ba5d87..8c43f9cc 100644
--- a/packages/noncvs/windows/extra/Gem/emission-help.pd
+++ b/packages/noncvs/windows/extra/Gem/emission-help.pd
@@ -1,64 +1,64 @@
-#N canvas 61 18 639 342 10;
-#X text 452 8 GEM object;
-#X obj 8 196 cnv 15 430 130 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 198 Inlets:;
-#X text 63 211 Inlet 1: gemlist;
-#X text 39 252 Outlets:;
-#X text 57 265 Outlet 1: gemlist;
-#X obj 8 146 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 145 Arguments:;
-#X obj 8 76 cnv 15 430 60 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 197 134 destroy;
-#X msg 132 112 reset \, lighting 1 \, create \, 1;
-#X msg 277 206 lighting \$1;
-#X obj 313 182 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X connect 8 0 0 0;
-#X connect 9 0 8 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X text 71 31 Class: manipulation object;
-#X obj 450 118 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X obj 451 193 cube;
-#X text 62 156 a list of 3 (RGB) or 4 (RGBA) float-values.;
-#X msg 478 130 0.4 0.8 1;
-#X text 63 229 Inlet 2: list: 3(RGB) or 4(RGBA) float values;
-#X text 60 171 defaults: 0 0 0 1;
-#X text 50 12 Synopsis: [emission];
-#X obj 451 156 emission 0 1 0;
-#X text 29 77 Description: emission colouring;
-#X text 21 91 [emission] accepts a gemList and sets the emission-color
-for all subsequent vertex-operations. You have to enable lighting to
-see any effects.;
-#X connect 12 0 13 0;
-#X connect 13 0 12 0;
-#X connect 17 0 24 0;
-#X connect 20 0 24 1;
-#X connect 24 0 18 0;
+#N canvas 61 18 639 342 10;
+#X text 452 8 GEM object;
+#X obj 8 196 cnv 15 430 130 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 198 Inlets:;
+#X text 63 211 Inlet 1: gemlist;
+#X text 39 252 Outlets:;
+#X text 57 265 Outlet 1: gemlist;
+#X obj 8 146 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 145 Arguments:;
+#X obj 8 76 cnv 15 430 60 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 197 134 destroy;
+#X msg 132 112 reset \, lighting 1 \, create \, 1;
+#X msg 277 206 lighting \$1;
+#X obj 313 182 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X connect 9 0 8 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X text 71 31 Class: manipulation object;
+#X obj 450 118 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X obj 451 193 cube;
+#X text 62 156 a list of 3 (RGB) or 4 (RGBA) float-values.;
+#X msg 478 130 0.4 0.8 1;
+#X text 63 229 Inlet 2: list: 3(RGB) or 4(RGBA) float values;
+#X text 60 171 defaults: 0 0 0 1;
+#X text 50 12 Synopsis: [emission];
+#X obj 451 156 emission 0 1 0;
+#X text 29 77 Description: emission colouring;
+#X text 21 91 [emission] accepts a gemList and sets the emission-color
+for all subsequent vertex-operations. You have to enable lighting to
+see any effects.;
+#X connect 12 0 13 0;
+#X connect 13 0 12 0;
+#X connect 17 0 24 0;
+#X connect 20 0 24 1;
+#X connect 24 0 18 0;
diff --git a/packages/noncvs/windows/extra/Gem/emissionRGB-help.pd b/packages/noncvs/windows/extra/Gem/emissionRGB-help.pd
index 40bbb7ba..d20bf673 100644
--- a/packages/noncvs/windows/extra/Gem/emissionRGB-help.pd
+++ b/packages/noncvs/windows/extra/Gem/emissionRGB-help.pd
@@ -1,68 +1,68 @@
-#N canvas 61 18 639 342 10;
-#X text 452 8 GEM object;
-#X obj 8 196 cnv 15 430 130 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 198 Inlets:;
-#X text 63 211 Inlet 1: gemlist;
-#X text 39 292 Outlets:;
-#X text 57 305 Outlet 1: gemlist;
-#X obj 8 146 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 145 Arguments:;
-#X obj 8 76 cnv 15 430 60 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 197 134 destroy;
-#X msg 132 112 reset \, lighting 1 \, create \, 1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X text 71 31 Class: manipulation object;
-#X obj 450 118 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X obj 451 193 cube;
-#X text 62 156 a list of 3 (RGB) or 4 (RGBA) float-values.;
-#X text 63 229 Inlet 2: float: red value;
-#X text 63 244 Inlet 3: float: green value;
-#X text 63 259 Inlet 4: float: blue value;
-#X text 63 274 Inlet 5: float: alpha value;
-#X floatatom 479 122 3 0 1 0 - - -;
-#X floatatom 508 122 3 0 1 0 - - -;
-#X floatatom 536 122 3 0 1 0 - - -;
-#X floatatom 565 122 3 0 1 0 - - -;
-#X obj 451 156 emissionRGB 0 1 0;
-#X text 60 171 defaults: 0 0 0 1;
-#X text 29 77 Description: emission colouring;
-#X text 50 12 Synopsis: [emissionRGB];
-#X text 22 91 [emissionRGB] accepts a gemList and sets the emission-color
-for all subsequent vertex-operations. You have to enable lighting to
-see any effects.;
-#X connect 12 0 13 0;
-#X connect 13 0 12 0;
-#X connect 17 0 28 0;
-#X connect 24 0 28 1;
-#X connect 25 0 28 2;
-#X connect 26 0 28 3;
-#X connect 27 0 28 4;
-#X connect 28 0 18 0;
+#N canvas 61 18 639 342 10;
+#X text 452 8 GEM object;
+#X obj 8 196 cnv 15 430 130 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 198 Inlets:;
+#X text 63 211 Inlet 1: gemlist;
+#X text 39 292 Outlets:;
+#X text 57 305 Outlet 1: gemlist;
+#X obj 8 146 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 145 Arguments:;
+#X obj 8 76 cnv 15 430 60 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 197 134 destroy;
+#X msg 132 112 reset \, lighting 1 \, create \, 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X text 71 31 Class: manipulation object;
+#X obj 450 118 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X obj 451 193 cube;
+#X text 62 156 a list of 3 (RGB) or 4 (RGBA) float-values.;
+#X text 63 229 Inlet 2: float: red value;
+#X text 63 244 Inlet 3: float: green value;
+#X text 63 259 Inlet 4: float: blue value;
+#X text 63 274 Inlet 5: float: alpha value;
+#X floatatom 479 122 3 0 1 0 - - -;
+#X floatatom 508 122 3 0 1 0 - - -;
+#X floatatom 536 122 3 0 1 0 - - -;
+#X floatatom 565 122 3 0 1 0 - - -;
+#X obj 451 156 emissionRGB 0 1 0;
+#X text 60 171 defaults: 0 0 0 1;
+#X text 29 77 Description: emission colouring;
+#X text 50 12 Synopsis: [emissionRGB];
+#X text 22 91 [emissionRGB] accepts a gemList and sets the emission-color
+for all subsequent vertex-operations. You have to enable lighting to
+see any effects.;
+#X connect 12 0 13 0;
+#X connect 13 0 12 0;
+#X connect 17 0 28 0;
+#X connect 24 0 28 1;
+#X connect 25 0 28 2;
+#X connect 26 0 28 3;
+#X connect 27 0 28 4;
+#X connect 28 0 18 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/01.basic/01.redSquare.pd b/packages/noncvs/windows/extra/Gem/examples/01.basic/01.redSquare.pd
index c64e4a2c..73558abc 100644
--- a/packages/noncvs/windows/extra/Gem/examples/01.basic/01.redSquare.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/01.basic/01.redSquare.pd
@@ -1,63 +1,63 @@
-#N canvas 139 83 602 502 10;
-#X obj 240 186 gemhead;
-#X floatatom 348 258 0 0 0 0 - - -;
-#X obj 240 246 color;
-#X msg 342 191 1 1 1;
-#X msg 342 156 1 0 0;
-#X obj 240 339 square;
-#X text 109 26 this demonstrates how to create a red square;
-#X text 328 119 change the color;
-#X text 341 226 rotate the square;
-#X msg 343 302 draw line;
-#X msg 343 322 draw fill;
-#X msg 346 375 width 1;
-#X msg 347 395 width 10;
-#X obj 240 297 rotate;
-#X obj 20 59 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 454 304 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 182 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 238 112 destroy;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 59 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X obj 59 65 t b b;
-#X connect 0 0 3 0;
-#X connect 1 0 2 0;
-#X connect 3 1 1 0;
-#X restore 289 80 pd Gem.init;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X connect 8 0 0 0;
-#X restore 25 103 pd gemwin;
-#X msg 25 79 create;
-#X text 21 59 Create window and render;
-#X text 386 157 red;
-#X text 389 192 white;
-#X text 379 260 (in degree);
-#X connect 0 0 2 0;
-#X connect 1 0 13 1;
-#X connect 2 0 13 0;
-#X connect 3 0 2 1;
-#X connect 4 0 2 1;
-#X connect 9 0 5 0;
-#X connect 10 0 5 0;
-#X connect 11 0 5 0;
-#X connect 12 0 5 0;
-#X connect 13 0 5 0;
-#X connect 15 0 16 0;
-#X connect 16 0 15 0;
+#N canvas 139 83 602 502 10;
+#X obj 240 186 gemhead;
+#X floatatom 348 258 0 0 0 0 - - -;
+#X obj 240 246 color;
+#X msg 342 191 1 1 1;
+#X msg 342 156 1 0 0;
+#X obj 240 339 square;
+#X text 109 26 this demonstrates how to create a red square;
+#X text 328 119 change the color;
+#X text 341 226 rotate the square;
+#X msg 343 302 draw line;
+#X msg 343 322 draw fill;
+#X msg 346 375 width 1;
+#X msg 347 395 width 10;
+#X obj 240 297 rotate;
+#X obj 20 59 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 454 304 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 182 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 238 112 destroy;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 59 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X obj 59 65 t b b;
+#X connect 0 0 3 0;
+#X connect 1 0 2 0;
+#X connect 3 1 1 0;
+#X restore 289 80 pd Gem.init;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X restore 25 103 pd gemwin;
+#X msg 25 79 create;
+#X text 21 59 Create window and render;
+#X text 386 157 red;
+#X text 389 192 white;
+#X text 379 260 (in degree);
+#X connect 0 0 2 0;
+#X connect 1 0 13 1;
+#X connect 2 0 13 0;
+#X connect 3 0 2 1;
+#X connect 4 0 2 1;
+#X connect 9 0 5 0;
+#X connect 10 0 5 0;
+#X connect 11 0 5 0;
+#X connect 12 0 5 0;
+#X connect 13 0 5 0;
+#X connect 15 0 16 0;
+#X connect 16 0 15 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/01.basic/02.blueRectangle.pd b/packages/noncvs/windows/extra/Gem/examples/01.basic/02.blueRectangle.pd
index 5d522bc2..7c9cc744 100644
--- a/packages/noncvs/windows/extra/Gem/examples/01.basic/02.blueRectangle.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/01.basic/02.blueRectangle.pd
@@ -1,65 +1,65 @@
-#N canvas 396 160 600 500 10;
-#X obj 350 159 gemhead;
-#X obj 350 337 rotate;
-#X floatatom 409 275 0 0 0 0 - - -;
-#X msg 452 144 1 1 1;
-#X text 438 92 change the color;
-#X msg 237 313 draw line;
-#X msg 237 346 draw fill;
-#X text 111 28 this demonstrates how to create a blue rectangle;
-#X obj 350 379 rectangle 2 1;
-#X text 382 260 rotate the rectangle;
-#X msg 452 169 0 0 1;
-#X floatatom 427 336 0 0 0 0 - - -;
-#X floatatom 482 337 0 0 0 0 - - -;
-#X text 419 314 width;
-#X text 477 313 height;
-#X obj 20 59 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 454 304 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 182 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 238 112 destroy;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 59 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X obj 59 65 t b b;
-#X connect 0 0 3 0;
-#X connect 1 0 2 0;
-#X connect 3 1 1 0;
-#X restore 289 80 pd Gem.init;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X connect 8 0 0 0;
-#X restore 25 103 pd gemwin;
-#X msg 25 79 create;
-#X text 21 59 Create window and render;
-#X text 504 170 blue;
-#X text 495 146 white;
-#X obj 350 219 color 0 0 1;
-#X text 422 221 (blue);
-#X connect 0 0 21 0;
-#X connect 1 0 8 0;
-#X connect 2 0 1 1;
-#X connect 3 0 21 1;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 10 0 21 1;
-#X connect 11 0 8 1;
-#X connect 12 0 8 2;
-#X connect 16 0 17 0;
-#X connect 17 0 16 0;
-#X connect 21 0 1 0;
+#N canvas 396 160 600 500 10;
+#X obj 350 159 gemhead;
+#X obj 350 337 rotate;
+#X floatatom 409 275 0 0 0 0 - - -;
+#X msg 452 144 1 1 1;
+#X text 438 92 change the color;
+#X msg 237 313 draw line;
+#X msg 237 346 draw fill;
+#X text 111 28 this demonstrates how to create a blue rectangle;
+#X obj 350 379 rectangle 2 1;
+#X text 382 260 rotate the rectangle;
+#X msg 452 169 0 0 1;
+#X floatatom 427 336 0 0 0 0 - - -;
+#X floatatom 482 337 0 0 0 0 - - -;
+#X text 419 314 width;
+#X text 477 313 height;
+#X obj 20 59 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 454 304 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 182 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 238 112 destroy;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 59 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X obj 59 65 t b b;
+#X connect 0 0 3 0;
+#X connect 1 0 2 0;
+#X connect 3 1 1 0;
+#X restore 289 80 pd Gem.init;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X restore 25 103 pd gemwin;
+#X msg 25 79 create;
+#X text 21 59 Create window and render;
+#X text 504 170 blue;
+#X text 495 146 white;
+#X obj 350 219 color 0 0 1;
+#X text 422 221 (blue);
+#X connect 0 0 21 0;
+#X connect 1 0 8 0;
+#X connect 2 0 1 1;
+#X connect 3 0 21 1;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 10 0 21 1;
+#X connect 11 0 8 1;
+#X connect 12 0 8 2;
+#X connect 16 0 17 0;
+#X connect 17 0 16 0;
+#X connect 21 0 1 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/01.basic/03.disk.pd b/packages/noncvs/windows/extra/Gem/examples/01.basic/03.disk.pd
index e65fbf8c..0d2e2565 100644
--- a/packages/noncvs/windows/extra/Gem/examples/01.basic/03.disk.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/01.basic/03.disk.pd
@@ -1,59 +1,59 @@
-#N canvas 28 208 601 392 10;
-#X obj 274 138 gemhead;
-#X floatatom 350 169 0 0 0 0 - - -;
-#X obj 22 325 world_light;
-#X obj 22 283 gemhead 1;
-#X text 369 251 change the number of slices;
-#X msg 421 269 15;
-#X obj 274 207 rotateXYZ 26 26 0;
-#X floatatom 299 277 0 1 4 2 size - -;
-#X floatatom 400 330 0 0 0.9 2 inner_radius - -;
-#X obj 274 356 disk 2 5 1;
-#X msg 384 269 10;
-#X obj 30 59 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 454 304 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 182 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 238 112 destroy;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 59 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X obj 59 65 t b b;
-#X msg 59 94 lighting 1;
-#X connect 0 0 3 0;
-#X connect 1 0 2 0;
-#X connect 3 0 4 0;
-#X connect 3 1 1 0;
-#X connect 4 0 2 0;
-#X restore 289 80 pd Gem.init;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X connect 8 0 0 0;
-#X restore 35 103 pd gemwin;
-#X msg 35 79 create;
-#X text 31 59 Create window and render;
-#X connect 0 0 6 0;
-#X connect 1 0 6 1;
-#X connect 1 0 6 2;
-#X connect 3 0 2 0;
-#X connect 5 0 9 2;
-#X connect 6 0 9 0;
-#X connect 7 0 9 1;
-#X connect 8 0 9 3;
-#X connect 10 0 9 2;
-#X connect 12 0 13 0;
-#X connect 13 0 12 0;
+#N canvas 28 208 601 392 10;
+#X obj 274 138 gemhead;
+#X floatatom 350 169 0 0 0 0 - - -;
+#X obj 22 325 world_light;
+#X obj 22 283 gemhead 1;
+#X text 369 251 change the number of slices;
+#X msg 421 269 15;
+#X obj 274 207 rotateXYZ 26 26 0;
+#X floatatom 299 277 0 1 4 2 size - -;
+#X floatatom 400 330 0 0 0.9 2 inner_radius - -;
+#X obj 274 356 disk 2 5 1;
+#X msg 384 269 10;
+#X obj 30 59 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 454 304 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 182 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 238 112 destroy;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 59 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X obj 59 65 t b b;
+#X msg 59 94 lighting 1;
+#X connect 0 0 3 0;
+#X connect 1 0 2 0;
+#X connect 3 0 4 0;
+#X connect 3 1 1 0;
+#X connect 4 0 2 0;
+#X restore 289 80 pd Gem.init;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X restore 35 103 pd gemwin;
+#X msg 35 79 create;
+#X text 31 59 Create window and render;
+#X connect 0 0 6 0;
+#X connect 1 0 6 1;
+#X connect 1 0 6 2;
+#X connect 3 0 2 0;
+#X connect 5 0 9 2;
+#X connect 6 0 9 0;
+#X connect 7 0 9 1;
+#X connect 8 0 9 3;
+#X connect 10 0 9 2;
+#X connect 12 0 13 0;
+#X connect 13 0 12 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/01.basic/04.PrimTri.pd b/packages/noncvs/windows/extra/Gem/examples/01.basic/04.PrimTri.pd
index 98de6428..ae448586 100644
--- a/packages/noncvs/windows/extra/Gem/examples/01.basic/04.PrimTri.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/01.basic/04.PrimTri.pd
@@ -1,65 +1,65 @@
-#N canvas 173 -28 667 537 12;
-#X obj 306 137 gemhead;
-#X obj 306 248 rotate;
-#X floatatom 372 194 0 0 0 0 - - -;
-#X msg 124 207 draw line;
-#X msg 142 240 draw fill;
-#X obj 306 431 primTri;
-#X text 48 23 this demonstrates how to create a triangle primitive
-;
-#X text 337 172 rotate the triangle;
-#X msg 561 306 1 0 0;
-#X msg 561 342 0 1 0;
-#X msg 561 378 0 0 1;
-#X text 555 270 colors;
-#X text 420 264 vertices;
-#X msg 423 286 1 1 0;
-#X msg 422 357 -1 1 0;
-#X msg 423 322 1 -2 0;
-#X text 192 52 the colors can be RGB or RGBA;
-#X obj 30 109 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 454 304 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 182 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 238 112 destroy;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 59 26 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X obj 59 45 t b b;
-#X connect 0 0 3 0;
-#X connect 1 0 2 0;
-#X connect 3 1 1 0;
-#X restore 289 80 pd Gem.init;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X connect 8 0 0 0;
-#X restore 35 153 pd gemwin;
-#X msg 35 129 create;
-#X text 31 109 Create window and render;
-#X connect 0 0 1 0;
-#X connect 1 0 5 0;
-#X connect 2 0 1 1;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 8 0 5 4;
-#X connect 9 0 5 5;
-#X connect 10 0 5 6;
-#X connect 13 0 5 1;
-#X connect 14 0 5 3;
-#X connect 15 0 5 2;
-#X connect 18 0 19 0;
-#X connect 19 0 18 0;
+#N canvas 173 -28 667 537 12;
+#X obj 306 137 gemhead;
+#X obj 306 248 rotate;
+#X floatatom 372 194 0 0 0 0 - - -;
+#X msg 124 207 draw line;
+#X msg 142 240 draw fill;
+#X obj 306 431 primTri;
+#X text 48 23 this demonstrates how to create a triangle primitive
+;
+#X text 337 172 rotate the triangle;
+#X msg 561 306 1 0 0;
+#X msg 561 342 0 1 0;
+#X msg 561 378 0 0 1;
+#X text 555 270 colors;
+#X text 420 264 vertices;
+#X msg 423 286 1 1 0;
+#X msg 422 357 -1 1 0;
+#X msg 423 322 1 -2 0;
+#X text 192 52 the colors can be RGB or RGBA;
+#X obj 30 109 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 454 304 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 182 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 238 112 destroy;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 59 26 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X obj 59 45 t b b;
+#X connect 0 0 3 0;
+#X connect 1 0 2 0;
+#X connect 3 1 1 0;
+#X restore 289 80 pd Gem.init;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X restore 35 153 pd gemwin;
+#X msg 35 129 create;
+#X text 31 109 Create window and render;
+#X connect 0 0 1 0;
+#X connect 1 0 5 0;
+#X connect 2 0 1 1;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 8 0 5 4;
+#X connect 9 0 5 5;
+#X connect 10 0 5 6;
+#X connect 13 0 5 1;
+#X connect 14 0 5 3;
+#X connect 15 0 5 2;
+#X connect 18 0 19 0;
+#X connect 19 0 18 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/01.basic/05.cube.pd b/packages/noncvs/windows/extra/Gem/examples/01.basic/05.cube.pd
index dd5d72ee..d2611802 100644
--- a/packages/noncvs/windows/extra/Gem/examples/01.basic/05.cube.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/01.basic/05.cube.pd
@@ -1,44 +1,44 @@
-#N canvas 361 165 602 280 10;
-#X obj 372 91 gemhead;
-#X floatatom 416 122 0 -4.5 4.5 0 - - -;
-#X obj 372 197 cube;
-#X obj 372 159 translateXYZ;
-#X obj 30 109 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 454 304 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 182 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 238 112 destroy;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 59 26 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X obj 59 45 t b b;
-#X connect 0 0 3 0;
-#X connect 1 0 2 0;
-#X connect 3 1 1 0;
-#X restore 289 80 pd Gem.init;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X connect 8 0 0 0;
-#X restore 35 153 pd gemwin;
-#X msg 35 129 create;
-#X text 31 109 Create window and render;
-#X connect 0 0 3 0;
-#X connect 1 0 3 1;
-#X connect 1 0 3 2;
-#X connect 3 0 2 0;
-#X connect 5 0 6 0;
-#X connect 6 0 5 0;
+#N canvas 361 165 602 280 10;
+#X obj 372 91 gemhead;
+#X floatatom 416 122 0 -4.5 4.5 0 - - -;
+#X obj 372 197 cube;
+#X obj 372 159 translateXYZ;
+#X obj 30 109 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 454 304 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 182 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 238 112 destroy;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 59 26 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X obj 59 45 t b b;
+#X connect 0 0 3 0;
+#X connect 1 0 2 0;
+#X connect 3 1 1 0;
+#X restore 289 80 pd Gem.init;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X restore 35 153 pd gemwin;
+#X msg 35 129 create;
+#X text 31 109 Create window and render;
+#X connect 0 0 3 0;
+#X connect 1 0 3 1;
+#X connect 1 0 3 2;
+#X connect 3 0 2 0;
+#X connect 5 0 6 0;
+#X connect 6 0 5 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/01.basic/06.sphere.pd b/packages/noncvs/windows/extra/Gem/examples/01.basic/06.sphere.pd
index 9117bf74..4f9f1c29 100644
--- a/packages/noncvs/windows/extra/Gem/examples/01.basic/06.sphere.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/01.basic/06.sphere.pd
@@ -1,55 +1,55 @@
-#N canvas 393 222 603 394 10;
-#X obj 275 174 gemhead;
-#X floatatom 319 205 0 0 0 0 - - -;
-#X obj 275 317 sphere;
-#X obj 22 325 world_light;
-#X obj 22 283 gemhead 1;
-#X text 377 279 change the number of slices;
-#X obj 275 242 rotateXYZ;
-#X msg 340 280 15;
-#X msg 303 280 5;
-#X obj 31 53 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 454 304 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 182 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 238 112 destroy;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 59 26 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X obj 59 45 t b b;
-#X msg 51 75 lighting 1;
-#X connect 0 0 3 0;
-#X connect 1 0 2 0;
-#X connect 3 0 4 0;
-#X connect 3 1 1 0;
-#X connect 4 0 2 0;
-#X restore 289 80 pd Gem.init;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X connect 8 0 0 0;
-#X restore 36 97 pd gemwin;
-#X msg 36 73 create;
-#X text 32 53 Create window and render;
-#X connect 0 0 6 0;
-#X connect 1 0 6 1;
-#X connect 1 0 6 2;
-#X connect 4 0 3 0;
-#X connect 6 0 2 0;
-#X connect 7 0 2 2;
-#X connect 8 0 2 2;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
+#N canvas 393 222 603 394 10;
+#X obj 275 174 gemhead;
+#X floatatom 319 205 0 0 0 0 - - -;
+#X obj 275 317 sphere;
+#X obj 22 325 world_light;
+#X obj 22 283 gemhead 1;
+#X text 377 279 change the number of slices;
+#X obj 275 242 rotateXYZ;
+#X msg 340 280 15;
+#X msg 303 280 5;
+#X obj 31 53 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 454 304 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 182 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 238 112 destroy;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 59 26 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X obj 59 45 t b b;
+#X msg 51 75 lighting 1;
+#X connect 0 0 3 0;
+#X connect 1 0 2 0;
+#X connect 3 0 4 0;
+#X connect 3 1 1 0;
+#X connect 4 0 2 0;
+#X restore 289 80 pd Gem.init;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X restore 36 97 pd gemwin;
+#X msg 36 73 create;
+#X text 32 53 Create window and render;
+#X connect 0 0 6 0;
+#X connect 1 0 6 1;
+#X connect 1 0 6 2;
+#X connect 4 0 3 0;
+#X connect 6 0 2 0;
+#X connect 7 0 2 2;
+#X connect 8 0 2 2;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/01.basic/07.cylinder.pd b/packages/noncvs/windows/extra/Gem/examples/01.basic/07.cylinder.pd
index fcc9bfed..5f4a6dcd 100644
--- a/packages/noncvs/windows/extra/Gem/examples/01.basic/07.cylinder.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/01.basic/07.cylinder.pd
@@ -1,62 +1,62 @@
-#N canvas 393 222 603 394 10;
-#X obj 274 138 gemhead;
-#X floatatom 318 169 0 0 0 0 - - -;
-#X obj 22 325 world_light;
-#X obj 22 283 gemhead 1;
-#X text 369 251 change the number of slices;
-#X msg 421 269 15;
-#X msg 384 269 5;
-#X obj 274 356 cylinder;
-#X obj 274 207 rotateXYZ 26 26 0;
-#X floatatom 299 303 0 0 0 2 size - -;
-#X obj 31 53 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 454 304 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 182 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 238 112 destroy;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 59 26 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X obj 59 45 t b b;
-#X msg 51 75 lighting 1;
-#X connect 0 0 3 0;
-#X connect 1 0 2 0;
-#X connect 3 0 4 0;
-#X connect 3 1 1 0;
-#X connect 4 0 2 0;
-#X restore 289 80 pd Gem.init;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X connect 8 0 0 0;
-#X restore 36 97 pd gemwin;
-#X msg 36 73 create;
-#X text 32 53 Create window and render;
-#X obj 94 325 world_light;
-#X obj 94 283 gemhead 1;
-#X obj 94 302 rotateXYZ 12 54 20;
-#X connect 0 0 8 0;
-#X connect 1 0 8 1;
-#X connect 1 0 8 2;
-#X connect 3 0 2 0;
-#X connect 5 0 7 2;
-#X connect 6 0 7 2;
-#X connect 8 0 7 0;
-#X connect 9 0 7 1;
-#X connect 11 0 12 0;
-#X connect 12 0 11 0;
-#X connect 15 0 16 0;
-#X connect 16 0 14 0;
+#N canvas 393 222 603 394 10;
+#X obj 274 138 gemhead;
+#X floatatom 318 169 0 0 0 0 - - -;
+#X obj 22 325 world_light;
+#X obj 22 283 gemhead 1;
+#X text 369 251 change the number of slices;
+#X msg 421 269 15;
+#X msg 384 269 5;
+#X obj 274 356 cylinder;
+#X obj 274 207 rotateXYZ 26 26 0;
+#X floatatom 299 303 0 0 0 2 size - -;
+#X obj 31 53 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 454 304 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 182 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 238 112 destroy;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 59 26 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X obj 59 45 t b b;
+#X msg 51 75 lighting 1;
+#X connect 0 0 3 0;
+#X connect 1 0 2 0;
+#X connect 3 0 4 0;
+#X connect 3 1 1 0;
+#X connect 4 0 2 0;
+#X restore 289 80 pd Gem.init;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X restore 36 97 pd gemwin;
+#X msg 36 73 create;
+#X text 32 53 Create window and render;
+#X obj 94 325 world_light;
+#X obj 94 283 gemhead 1;
+#X obj 94 302 rotateXYZ 12 54 20;
+#X connect 0 0 8 0;
+#X connect 1 0 8 1;
+#X connect 1 0 8 2;
+#X connect 3 0 2 0;
+#X connect 5 0 7 2;
+#X connect 6 0 7 2;
+#X connect 8 0 7 0;
+#X connect 9 0 7 1;
+#X connect 11 0 12 0;
+#X connect 12 0 11 0;
+#X connect 15 0 16 0;
+#X connect 16 0 14 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/01.basic/08.model.pd b/packages/noncvs/windows/extra/Gem/examples/01.basic/08.model.pd
index 415daacb..8ea8aba0 100644
--- a/packages/noncvs/windows/extra/Gem/examples/01.basic/08.model.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/01.basic/08.model.pd
@@ -1,61 +1,61 @@
-#N canvas 348 152 673 462 12;
-#X floatatom 460 79 0 0 0 0 - - -;
-#X obj 385 44 gemhead;
-#X floatatom 446 179 0 0 0 0 - - -;
-#X obj 212 283 gemhead 1;
-#X obj 212 321 world_light;
-#X text 185 21 load in a model file;
-#X obj 33 85 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 454 304 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 182 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 238 112 destroy;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 59 26 loadbang;
-#X msg 165 79 reset;
-#X obj 118 113 outlet;
-#X obj 59 45 t b b;
-#X obj 167 38 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X msg 54 75 lighting 1;
-#X connect 0 0 3 0;
-#X connect 1 0 2 0;
-#X connect 3 0 5 0;
-#X connect 3 1 1 0;
-#X connect 4 0 5 0;
-#X connect 5 0 2 0;
-#X restore 289 80 pd Gem.init;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X connect 8 0 0 0;
-#X restore 38 129 pd gemwin;
-#X msg 38 105 destroy;
-#X text 34 85 Create window and render;
-#X text 69 378 Gem can load 3d-models in the alias|wavefront .obj format
-;
-#X obj 385 255 model ../data/venus.obj;
-#X obj 385 205 rotate 0 0 1 0;
-#X obj 385 134 translate 0 0 0 1;
-#X obj 460 103 / 100;
-#X connect 0 0 14 0;
-#X connect 1 0 13 0;
-#X connect 2 0 12 1;
-#X connect 3 0 4 0;
-#X connect 7 0 8 0;
-#X connect 8 0 7 0;
-#X connect 12 0 11 0;
-#X connect 13 0 12 0;
-#X connect 14 0 13 1;
+#N canvas 348 152 673 462 12;
+#X floatatom 460 79 0 0 0 0 - - -;
+#X obj 385 44 gemhead;
+#X floatatom 446 179 0 0 0 0 - - -;
+#X obj 212 283 gemhead 1;
+#X obj 212 321 world_light;
+#X text 185 21 load in a model file;
+#X obj 33 85 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 454 304 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 182 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 238 112 destroy;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 59 26 loadbang;
+#X msg 165 79 reset;
+#X obj 118 113 outlet;
+#X obj 59 45 t b b;
+#X obj 167 38 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X msg 54 75 lighting 1;
+#X connect 0 0 3 0;
+#X connect 1 0 2 0;
+#X connect 3 0 5 0;
+#X connect 3 1 1 0;
+#X connect 4 0 5 0;
+#X connect 5 0 2 0;
+#X restore 289 80 pd Gem.init;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X restore 38 129 pd gemwin;
+#X msg 38 105 destroy;
+#X text 34 85 Create window and render;
+#X text 69 378 Gem can load 3d-models in the alias|wavefront .obj format
+;
+#X obj 385 255 model ../data/venus.obj;
+#X obj 385 205 rotate 0 0 1 0;
+#X obj 385 134 translate 0 0 0 1;
+#X obj 460 103 / 100;
+#X connect 0 0 14 0;
+#X connect 1 0 13 0;
+#X connect 2 0 12 1;
+#X connect 3 0 4 0;
+#X connect 7 0 8 0;
+#X connect 8 0 7 0;
+#X connect 12 0 11 0;
+#X connect 13 0 12 0;
+#X connect 14 0 13 1;
diff --git a/packages/noncvs/windows/extra/Gem/examples/01.basic/09.yelloTeapot.pd b/packages/noncvs/windows/extra/Gem/examples/01.basic/09.yelloTeapot.pd
index 328e9b87..3831fce4 100644
--- a/packages/noncvs/windows/extra/Gem/examples/01.basic/09.yelloTeapot.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/01.basic/09.yelloTeapot.pd
@@ -1,65 +1,65 @@
-#N canvas 56 98 635 502 12;
-#X obj 350 226 gemhead;
-#X floatatom 458 298 0 0 0 0 - - -;
-#X obj 350 286 color;
-#X msg 452 231 1 1 1;
-#X text 438 159 change the color;
-#X obj 350 379 teapot;
-#X obj 350 337 rotateXYZ;
-#X obj 29 398 gemhead;
-#X obj 29 420 world_light;
-#X msg 452 196 1 1 0;
-#X text 109 29 this demonstrates how to create a yellow teapot;
-#X text 449 277 rotate the teapot;
-#X msg 456 365 draw line;
-#X msg 453 395 draw fill;
-#X obj 31 73 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 454 304 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 182 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 238 112 destroy;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 59 26 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X obj 59 45 t b b;
-#X msg 51 75 lighting 1;
-#X connect 0 0 3 0;
-#X connect 1 0 2 0;
-#X connect 3 0 4 0;
-#X connect 3 1 1 0;
-#X connect 4 0 2 0;
-#X restore 289 80 pd Gem.init;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X connect 8 0 0 0;
-#X restore 36 117 pd gemwin;
-#X msg 36 93 create;
-#X text 32 73 Create window and render;
-#X text 32 261 this is the famous;
-#X text 52 294 utah teapot;
-#X connect 0 0 2 0;
-#X connect 1 0 6 1;
-#X connect 1 0 6 2;
-#X connect 2 0 6 0;
-#X connect 3 0 2 1;
-#X connect 6 0 5 0;
-#X connect 7 0 8 0;
-#X connect 9 0 2 1;
-#X connect 12 0 5 0;
-#X connect 13 0 5 0;
-#X connect 15 0 16 0;
-#X connect 16 0 15 0;
+#N canvas 56 98 635 502 12;
+#X obj 350 226 gemhead;
+#X floatatom 458 298 0 0 0 0 - - -;
+#X obj 350 286 color;
+#X msg 452 231 1 1 1;
+#X text 438 159 change the color;
+#X obj 350 379 teapot;
+#X obj 350 337 rotateXYZ;
+#X obj 29 398 gemhead;
+#X obj 29 420 world_light;
+#X msg 452 196 1 1 0;
+#X text 109 29 this demonstrates how to create a yellow teapot;
+#X text 449 277 rotate the teapot;
+#X msg 456 365 draw line;
+#X msg 453 395 draw fill;
+#X obj 31 73 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 454 304 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 182 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 238 112 destroy;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 59 26 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X obj 59 45 t b b;
+#X msg 51 75 lighting 1;
+#X connect 0 0 3 0;
+#X connect 1 0 2 0;
+#X connect 3 0 4 0;
+#X connect 3 1 1 0;
+#X connect 4 0 2 0;
+#X restore 289 80 pd Gem.init;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X restore 36 117 pd gemwin;
+#X msg 36 93 create;
+#X text 32 73 Create window and render;
+#X text 32 261 this is the famous;
+#X text 52 294 utah teapot;
+#X connect 0 0 2 0;
+#X connect 1 0 6 1;
+#X connect 1 0 6 2;
+#X connect 2 0 6 0;
+#X connect 3 0 2 1;
+#X connect 6 0 5 0;
+#X connect 7 0 8 0;
+#X connect 9 0 2 1;
+#X connect 12 0 5 0;
+#X connect 13 0 5 0;
+#X connect 15 0 16 0;
+#X connect 16 0 15 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/02.advanced/00.gemwin-subpatch.pd b/packages/noncvs/windows/extra/Gem/examples/02.advanced/00.gemwin-subpatch.pd
index 5f0fc8fa..448d69b7 100644
--- a/packages/noncvs/windows/extra/Gem/examples/02.advanced/00.gemwin-subpatch.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/02.advanced/00.gemwin-subpatch.pd
@@ -1,61 +1,61 @@
-#N canvas 0 0 725 412 10;
-#N canvas 95 194 290 179 Gem.init 0;
-#X obj 83 30 loadbang;
-#X msg 83 67 reset;
-#X obj 83 107 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 100 115 pd Gem.init;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 100 134 pd gemwin;
-#X text 247 146 just enable the toggle labeled "rendering" to create
-a window and start rendering \; switching the toggle off will destroy
-the window;
-#X text 260 60 by now we assume that you know how to control a Gem-window
-;
-#X text 252 268 apart from that \, the subpatch is really the same
-as [gemwin] itself \; e.g. you can send any message to it that [gemwin]
-understands.;
-#X text 249 204 thus you don't have to click on [create( and then [1(
-anymore...;
-#X text 249 113 for the sake of simplicity \, from now on the examples
-will use the subpatch on the left side to control the Gem-window.;
-#X connect 0 0 1 0;
+#N canvas 0 0 725 412 10;
+#N canvas 95 194 290 179 Gem.init 0;
+#X obj 83 30 loadbang;
+#X msg 83 67 reset;
+#X obj 83 107 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 100 115 pd Gem.init;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 100 134 pd gemwin;
+#X text 247 146 just enable the toggle labeled "rendering" to create
+a window and start rendering \; switching the toggle off will destroy
+the window;
+#X text 260 60 by now we assume that you know how to control a Gem-window
+;
+#X text 252 268 apart from that \, the subpatch is really the same
+as [gemwin] itself \; e.g. you can send any message to it that [gemwin]
+understands.;
+#X text 249 204 thus you don't have to click on [create( and then [1(
+anymore...;
+#X text 249 113 for the sake of simplicity \, from now on the examples
+will use the subpatch on the left side to control the Gem-window.;
+#X connect 0 0 1 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/02.advanced/01.Separator.pd b/packages/noncvs/windows/extra/Gem/examples/02.advanced/01.Separator.pd
index 06d4c7ac..1379a0ef 100644
--- a/packages/noncvs/windows/extra/Gem/examples/02.advanced/01.Separator.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/02.advanced/01.Separator.pd
@@ -1,143 +1,143 @@
-#N canvas 215 32 781 537 10;
-#X obj 607 137 separator;
-#X msg 697 200 1;
-#X msg 734 199 0;
-#X text 206 264 on;
-#X text 243 262 off;
-#X msg 19 288 1;
-#X msg 55 290 0;
-#X msg 200 290 1;
-#X msg 238 290 0;
-#X obj 276 308 gemhead 1;
-#X obj 482 240 int 0;
-#X obj 534 241 + 2;
-#X floatatom 646 302 0 0 0 0 - - -;
-#X obj 607 464 sphere;
-#X obj 488 19 gemhead;
-#X floatatom 482 273 0 0 0 0 - - -;
-#X obj 97 350 world_light;
-#X obj 97 295 gemhead 1;
-#X obj 443 418 sphere;
-#X obj 646 275 int 0;
-#X obj 276 364 light;
-#X msg 644 431 20;
-#X msg 480 388 5;
-#X text 31 246 global light;
-#X text 242 236 local light;
-#X text 25 266 on;
-#X text 55 267 off;
-#X obj 482 206 metro 50;
-#X msg 482 176 1;
-#X msg 519 178 0;
-#X obj 646 241 metro 100;
-#X obj 708 273 + 1;
-#X obj 443 142 separator;
-#X obj 443 338 translateXYZ 2 0 0;
-#X obj 443 301 rotate 0 1 0;
-#X obj 607 341 rotate 1 0 0;
-#X obj 607 374 translateXYZ 0 2 0;
-#X obj 607 179 color 0 1 0;
-#X obj 644 401 r initstuff;
-#X obj 480 362 r initstuff;
-#X obj 94 473 s initstuff;
-#X obj 94 443 loadbang;
-#X obj 488 99 translateXYZ;
-#X floatatom 540 62 0 0 0 0 - - -;
-#X text 582 60 change this number;
-#N canvas 95 194 290 179 Gem.init 0;
-#X obj 83 30 loadbang;
-#X msg 161 76 reset;
-#X obj 45 107 outlet;
-#X msg 45 75 dimen 300 300;
-#X obj 88 51 t b b;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 3 0 2 0;
-#X connect 4 0 3 0;
-#X connect 4 1 1 0;
-#X restore 230 117 pd Gem.init;
-#X msg 100 102 lighting \$1;
-#X text 89 60 turn lighting on/off;
-#X obj 100 78 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 100 134 pd gemwin;
-#X connect 0 0 37 0;
-#X connect 1 0 30 0;
-#X connect 2 0 30 0;
-#X connect 2 0 19 0;
-#X connect 5 0 16 0;
-#X connect 6 0 16 0;
-#X connect 7 0 20 0;
-#X connect 8 0 20 0;
-#X connect 9 0 20 0;
-#X connect 10 0 11 0;
-#X connect 10 0 15 0;
-#X connect 11 0 10 1;
-#X connect 12 0 35 1;
-#X connect 14 0 42 0;
-#X connect 15 0 34 1;
-#X connect 17 0 16 0;
-#X connect 19 0 12 0;
-#X connect 19 0 31 0;
-#X connect 21 0 13 2;
-#X connect 22 0 18 2;
-#X connect 27 0 10 0;
-#X connect 28 0 27 0;
-#X connect 29 0 27 0;
-#X connect 29 0 10 0;
-#X connect 30 0 19 0;
-#X connect 31 0 19 1;
-#X connect 32 0 34 0;
-#X connect 33 0 18 0;
-#X connect 34 0 33 0;
-#X connect 35 0 36 0;
-#X connect 36 0 13 0;
-#X connect 37 0 35 0;
-#X connect 38 0 21 0;
-#X connect 39 0 22 0;
-#X connect 41 0 40 0;
-#X connect 42 0 32 0;
-#X connect 42 0 0 0;
-#X connect 43 0 42 2;
-#X connect 45 0 49 0;
-#X connect 46 0 49 0;
-#X connect 48 0 46 0;
+#N canvas 215 32 781 537 10;
+#X obj 607 137 separator;
+#X msg 697 200 1;
+#X msg 734 199 0;
+#X text 206 264 on;
+#X text 243 262 off;
+#X msg 19 288 1;
+#X msg 55 290 0;
+#X msg 200 290 1;
+#X msg 238 290 0;
+#X obj 276 308 gemhead 1;
+#X obj 482 240 int 0;
+#X obj 534 241 + 2;
+#X floatatom 646 302 0 0 0 0 - - -;
+#X obj 607 464 sphere;
+#X obj 488 19 gemhead;
+#X floatatom 482 273 0 0 0 0 - - -;
+#X obj 97 350 world_light;
+#X obj 97 295 gemhead 1;
+#X obj 443 418 sphere;
+#X obj 646 275 int 0;
+#X obj 276 364 light;
+#X msg 644 431 20;
+#X msg 480 388 5;
+#X text 31 246 global light;
+#X text 242 236 local light;
+#X text 25 266 on;
+#X text 55 267 off;
+#X obj 482 206 metro 50;
+#X msg 482 176 1;
+#X msg 519 178 0;
+#X obj 646 241 metro 100;
+#X obj 708 273 + 1;
+#X obj 443 142 separator;
+#X obj 443 338 translateXYZ 2 0 0;
+#X obj 443 301 rotate 0 1 0;
+#X obj 607 341 rotate 1 0 0;
+#X obj 607 374 translateXYZ 0 2 0;
+#X obj 607 179 color 0 1 0;
+#X obj 644 401 r initstuff;
+#X obj 480 362 r initstuff;
+#X obj 94 473 s initstuff;
+#X obj 94 443 loadbang;
+#X obj 488 99 translateXYZ;
+#X floatatom 540 62 0 0 0 0 - - -;
+#X text 582 60 change this number;
+#N canvas 95 194 290 179 Gem.init 0;
+#X obj 83 30 loadbang;
+#X msg 161 76 reset;
+#X obj 45 107 outlet;
+#X msg 45 75 dimen 300 300;
+#X obj 88 51 t b b;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 3 0 2 0;
+#X connect 4 0 3 0;
+#X connect 4 1 1 0;
+#X restore 230 117 pd Gem.init;
+#X msg 100 102 lighting \$1;
+#X text 89 60 turn lighting on/off;
+#X obj 100 78 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 100 134 pd gemwin;
+#X connect 0 0 37 0;
+#X connect 1 0 30 0;
+#X connect 2 0 30 0;
+#X connect 2 0 19 0;
+#X connect 5 0 16 0;
+#X connect 6 0 16 0;
+#X connect 7 0 20 0;
+#X connect 8 0 20 0;
+#X connect 9 0 20 0;
+#X connect 10 0 11 0;
+#X connect 10 0 15 0;
+#X connect 11 0 10 1;
+#X connect 12 0 35 1;
+#X connect 14 0 42 0;
+#X connect 15 0 34 1;
+#X connect 17 0 16 0;
+#X connect 19 0 12 0;
+#X connect 19 0 31 0;
+#X connect 21 0 13 2;
+#X connect 22 0 18 2;
+#X connect 27 0 10 0;
+#X connect 28 0 27 0;
+#X connect 29 0 27 0;
+#X connect 29 0 10 0;
+#X connect 30 0 19 0;
+#X connect 31 0 19 1;
+#X connect 32 0 34 0;
+#X connect 33 0 18 0;
+#X connect 34 0 33 0;
+#X connect 35 0 36 0;
+#X connect 36 0 13 0;
+#X connect 37 0 35 0;
+#X connect 38 0 21 0;
+#X connect 39 0 22 0;
+#X connect 41 0 40 0;
+#X connect 42 0 32 0;
+#X connect 42 0 0 0;
+#X connect 43 0 42 2;
+#X connect 45 0 49 0;
+#X connect 46 0 49 0;
+#X connect 48 0 46 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/02.advanced/02.Ortho.pd b/packages/noncvs/windows/extra/Gem/examples/02.advanced/02.Ortho.pd
index 329b2f84..86d91cad 100644
--- a/packages/noncvs/windows/extra/Gem/examples/02.advanced/02.Ortho.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/02.advanced/02.Ortho.pd
@@ -1,87 +1,87 @@
-#N canvas 396 100 600 500 10;
-#X obj 358 140 gemhead;
-#X floatatom 377 222 0 0 0 0 - - -;
-#X obj 358 256 rotateXYZ;
-#X obj 150 135 gemhead 60;
-#X obj 150 162 ortho;
-#X obj 150 314 colorRGB 0 1 0;
-#X obj 358 332 model ../data/venus.obj;
-#X obj 150 347 model ../data/venus.obj;
-#X obj 12 257 gemhead 1;
-#X obj 12 296 world_light;
-#X floatatom 169 213 0 0 0 0 - - -;
-#X obj 150 249 rotateXYZ;
-#X obj 358 182 translateXYZ 1 0 0;
-#X obj 150 189 translateXYZ -1 0 0;
-#X obj 358 301 scale 3;
-#X obj 150 282 scale 3;
-#X text 168 6 display two models;
-#X text 136 85 rotate the two models to see the effect;
-#N canvas 22 20 213 300 Gem.init 0;
-#X obj 71 191 outlet;
-#X obj 71 81 loadbang;
-#X msg 101 134 reset;
-#X obj 71 109 t b b;
-#X msg 71 164 lighting 1;
-#X connect 1 0 3 0;
-#X connect 2 0 0 0;
-#X connect 3 0 4 0;
-#X connect 3 1 2 0;
-#X connect 4 0 0 0;
-#X restore 43 61 pd Gem.init;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 18 95 pd gemwin;
-#X text 142 32 one model is in "perspective" mode;
-#X text 159 54 the other is in "orthographic" mode;
-#X connect 0 0 12 0;
-#X connect 1 0 2 1;
-#X connect 2 0 14 0;
-#X connect 3 0 4 0;
-#X connect 4 0 13 0;
-#X connect 5 0 7 0;
-#X connect 8 0 9 0;
-#X connect 10 0 11 1;
-#X connect 11 0 15 0;
-#X connect 12 0 2 0;
-#X connect 13 0 11 0;
-#X connect 14 0 6 0;
-#X connect 15 0 5 0;
-#X connect 18 0 19 0;
+#N canvas 396 100 600 500 10;
+#X obj 358 140 gemhead;
+#X floatatom 377 222 0 0 0 0 - - -;
+#X obj 358 256 rotateXYZ;
+#X obj 150 135 gemhead 60;
+#X obj 150 162 ortho;
+#X obj 150 314 colorRGB 0 1 0;
+#X obj 358 332 model ../data/venus.obj;
+#X obj 150 347 model ../data/venus.obj;
+#X obj 12 257 gemhead 1;
+#X obj 12 296 world_light;
+#X floatatom 169 213 0 0 0 0 - - -;
+#X obj 150 249 rotateXYZ;
+#X obj 358 182 translateXYZ 1 0 0;
+#X obj 150 189 translateXYZ -1 0 0;
+#X obj 358 301 scale 3;
+#X obj 150 282 scale 3;
+#X text 168 6 display two models;
+#X text 136 85 rotate the two models to see the effect;
+#N canvas 22 20 213 300 Gem.init 0;
+#X obj 71 191 outlet;
+#X obj 71 81 loadbang;
+#X msg 101 134 reset;
+#X obj 71 109 t b b;
+#X msg 71 164 lighting 1;
+#X connect 1 0 3 0;
+#X connect 2 0 0 0;
+#X connect 3 0 4 0;
+#X connect 3 1 2 0;
+#X connect 4 0 0 0;
+#X restore 43 61 pd Gem.init;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 18 95 pd gemwin;
+#X text 142 32 one model is in "perspective" mode;
+#X text 159 54 the other is in "orthographic" mode;
+#X connect 0 0 12 0;
+#X connect 1 0 2 1;
+#X connect 2 0 14 0;
+#X connect 3 0 4 0;
+#X connect 4 0 13 0;
+#X connect 5 0 7 0;
+#X connect 8 0 9 0;
+#X connect 10 0 11 1;
+#X connect 11 0 15 0;
+#X connect 12 0 2 0;
+#X connect 13 0 11 0;
+#X connect 14 0 6 0;
+#X connect 15 0 5 0;
+#X connect 18 0 19 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/02.advanced/03.View.pd b/packages/noncvs/windows/extra/Gem/examples/02.advanced/03.View.pd
index 835e5516..90be21a5 100644
--- a/packages/noncvs/windows/extra/Gem/examples/02.advanced/03.View.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/02.advanced/03.View.pd
@@ -1,85 +1,85 @@
-#N canvas 55 43 729 499 10;
-#X obj 309 426 gemhead;
-#X obj 179 426 gemhead 1;
-#X obj 179 464 world_light;
-#X obj 309 464 model ../data/venus.obj;
-#X msg 240 111 view 0 0 \$1;
-#X floatatom 240 85 0 0 0 0 - - -;
-#X text 344 85 move the camera;
-#X msg 240 183 view 0 0 4 \$1;
-#X floatatom 240 147 0 0 0 0 - - -;
-#X text 343 106 default is 0 \, 0 \, 4;
-#X text 370 168 turn left and right;
-#X floatatom 236 220 0 0 0 0 - - -;
-#X msg 236 256 view 0 0 4 0 \$1;
-#X text 363 237 turn up and down;
-#X floatatom 237 294 0 0 0 0 - - -;
-#X msg 237 330 view 0 0 4 \$1 \$1;
-#X text 296 301 turn left and right and up and down;
-#N canvas 22 20 213 300 Gem.init 0;
-#X obj 71 191 outlet;
-#X obj 71 81 loadbang;
-#X msg 101 134 reset;
-#X obj 71 109 t b b;
-#X msg 71 164 lighting 1;
-#X connect 1 0 3 0;
-#X connect 2 0 0 0;
-#X connect 3 0 4 0;
-#X connect 3 1 2 0;
-#X connect 4 0 0 0;
-#X restore 29 176 pd Gem.init;
-#X text 185 21 change the view-point;
-#X msg 542 107 view x y z;
-#X msg 547 184 view x y z phi;
-#X msg 550 267 view x y z phi theta;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 29 200 pd gemwin;
-#X connect 0 0 3 0;
-#X connect 1 0 2 0;
-#X connect 4 0 22 0;
-#X connect 5 0 4 0;
-#X connect 7 0 22 0;
-#X connect 8 0 7 0;
-#X connect 11 0 12 0;
-#X connect 12 0 22 0;
-#X connect 14 0 15 0;
-#X connect 15 0 22 0;
-#X connect 17 0 22 0;
+#N canvas 55 43 729 499 10;
+#X obj 309 426 gemhead;
+#X obj 179 426 gemhead 1;
+#X obj 179 464 world_light;
+#X obj 309 464 model ../data/venus.obj;
+#X msg 240 111 view 0 0 \$1;
+#X floatatom 240 85 0 0 0 0 - - -;
+#X text 344 85 move the camera;
+#X msg 240 183 view 0 0 4 \$1;
+#X floatatom 240 147 0 0 0 0 - - -;
+#X text 343 106 default is 0 \, 0 \, 4;
+#X text 370 168 turn left and right;
+#X floatatom 236 220 0 0 0 0 - - -;
+#X msg 236 256 view 0 0 4 0 \$1;
+#X text 363 237 turn up and down;
+#X floatatom 237 294 0 0 0 0 - - -;
+#X msg 237 330 view 0 0 4 \$1 \$1;
+#X text 296 301 turn left and right and up and down;
+#N canvas 22 20 213 300 Gem.init 0;
+#X obj 71 191 outlet;
+#X obj 71 81 loadbang;
+#X msg 101 134 reset;
+#X obj 71 109 t b b;
+#X msg 71 164 lighting 1;
+#X connect 1 0 3 0;
+#X connect 2 0 0 0;
+#X connect 3 0 4 0;
+#X connect 3 1 2 0;
+#X connect 4 0 0 0;
+#X restore 29 176 pd Gem.init;
+#X text 185 21 change the view-point;
+#X msg 542 107 view x y z;
+#X msg 547 184 view x y z phi;
+#X msg 550 267 view x y z phi theta;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 29 200 pd gemwin;
+#X connect 0 0 3 0;
+#X connect 1 0 2 0;
+#X connect 4 0 22 0;
+#X connect 5 0 4 0;
+#X connect 7 0 22 0;
+#X connect 8 0 7 0;
+#X connect 11 0 12 0;
+#X connect 12 0 22 0;
+#X connect 14 0 15 0;
+#X connect 15 0 22 0;
+#X connect 17 0 22 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/02.advanced/03.View_OSD.pd b/packages/noncvs/windows/extra/Gem/examples/02.advanced/03.View_OSD.pd
index f76ecf7e..f9683b60 100644
--- a/packages/noncvs/windows/extra/Gem/examples/02.advanced/03.View_OSD.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/02.advanced/03.View_OSD.pd
@@ -1,286 +1,286 @@
-#N canvas 30 138 946 464 10;
-#N canvas 46 140 290 229 Gem.init 0;
-#X obj 71 191 outlet;
-#X obj 71 81 loadbang;
-#X msg 101 134 reset;
-#X obj 71 109 t b b;
-#X msg 71 164 lighting 1;
-#X msg 155 164 lighting 0;
-#X connect 1 0 3 0;
-#X connect 2 0 0 0;
-#X connect 3 0 4 0;
-#X connect 3 1 2 0;
-#X connect 4 0 0 0;
-#X connect 5 0 0 0;
-#X restore 48 98 pd Gem.init;
-#X obj 249 195 cube;
-#X msg 249 121 set \$1;
-#X floatatom 249 98 5 0 0 0 - - -;
-#X obj 249 169 translateXYZ 1 2 -3;
-#X obj 77 130 r view_mess;
-#N canvas 285 0 450 300 lighting 0;
-#X obj 214 196 world_light;
-#X obj 214 136 gemhead 1;
-#X obj 65 157 world_light;
-#X obj 65 105 gemhead 1;
-#X msg 278 97 0.5 0.8 0.6;
-#X obj 161 42 loadbang;
-#X obj 65 129 rotateXYZ -104 160 0;
-#X obj 214 164 rotateXYZ 104 -100 0;
-#X msg 137 98 1 1 1;
-#X connect 1 0 7 0;
-#X connect 3 0 6 0;
-#X connect 4 0 0 1;
-#X connect 5 0 8 0;
-#X connect 5 0 4 0;
-#X connect 6 0 2 0;
-#X connect 7 0 0 0;
-#X connect 8 0 2 1;
-#X restore 729 106 pd lighting;
-#X obj 271 291 translateXYZ 0 -2 -2;
-#X obj 271 265 gemhead -50;
-#X obj 675 106 gemhead;
-#X obj 675 129 model ../data/venus.obj;
-#X obj 249 145 gemhead -50;
-#X obj 271 315 text2d;
-#N canvas 8 40 381 205 textinit 0;
-#X obj 85 140 outlet;
-#X obj 94 63 loadbang;
-#X msg 100 107 text press left button and move mouse;
-#X msg 82 86 font ../data/vera.ttf;
-#X connect 1 0 3 0;
-#X connect 1 0 2 0;
-#X connect 2 0 0 0;
-#X connect 3 0 0 0;
-#X restore 469 297 pd textinit;
-#X obj 249 56 tgl 15 0 empty stay_cube empty 0 -6 0 8 -262144 -1 -1
-0 100;
-#X obj 249 76 - 50;
-#X text 125 6 change the view-point \, but keep some objects at a fixed
-position;
-#X text 307 120 set the priority for rendering;
-#X text 431 188 a priority<0 will be rendered AFTER all other things
-\, and with viewpoint set to the origin! (objects will not be affected
-by a change of view);
-#X text 431 240 this is good for displaying logos \, help messages
-and cetera...;
-#X obj 588 282 gemhead -50;
-#N canvas 108 327 419 265 textinit 0;
-#X obj 82 198 outlet;
-#X obj 78 82 loadbang;
-#X msg 97 165 text occasionally press right button;
-#X obj 225 10 gemhead -1;
-#X obj 225 80 spigot;
-#X obj 225 39 t b b;
-#X obj 225 102 t b f;
-#X obj 264 60 f 1;
-#X msg 225 126 font ../data/vera.ttf;
-#X connect 1 0 2 0;
-#X connect 2 0 0 0;
-#X connect 3 0 5 0;
-#X connect 4 0 6 0;
-#X connect 5 0 4 0;
-#X connect 5 1 7 0;
-#X connect 6 0 8 0;
-#X connect 6 1 7 1;
-#X connect 7 0 4 1;
-#X connect 8 0 0 0;
-#X restore 786 389 pd textinit;
-#X obj 588 407 text3d;
-#X obj 588 380 rotateXYZ;
-#X obj 588 332 render_trigger;
-#X obj 634 353 i;
-#X obj 687 353 % 360;
-#X obj 660 353 - 5;
-#X obj 588 308 translateXYZ 0 -7 -10;
-#N canvas 20 100 362 426 mousemove 0;
-#X obj 129 8 gemmouse;
-#X obj 136 88 pack;
-#X obj 136 110 spigot;
-#X obj 136 131 unpack;
-#X obj 136 196 t f f;
-#X obj 36 16 gemkeyname;
-#X obj 36 39 pack 0 s;
-#X obj 36 62 route 1;
-#X obj 36 84 route space;
-#X msg 36 107 0;
-#X msg 136 365 view \$2 \$3 \$1 0 0 0 0 1 0;
-#X obj 136 173 +;
-#X obj 136 221 * -1;
-#X obj 201 237 t f f;
-#X obj 201 174 +;
-#X obj 201 262 * -1;
-#X obj 36 129 t f f f;
-#X obj 136 388 s view_mess;
-#X text 61 106 reset;
-#N canvas 292 198 304 356 coordinates 0;
-#X obj 89 52 inlet;
-#X obj 94 331 outlet;
-#X obj 193 62 atan;
-#X msg 193 41 1;
-#X obj 193 84 / 45;
-#X obj 193 20 loadbang;
-#X text 94 29 r phi theta;
-#X obj 89 78 unpack 0 0 0;
-#X obj 128 123 *;
-#X obj 168 123 *;
-#X obj 120 197 cos;
-#X obj 150 198 sin;
-#X obj 120 166 t f f;
-#X obj 183 198 cos;
-#X obj 213 199 sin;
-#X obj 183 167 t f f;
-#X obj 120 230 *;
-#X obj 150 231 *;
-#X obj 85 275 *;
-#X obj 125 275 *;
-#X obj 174 277 *;
-#X obj 66 242 t f f f;
-#X obj 91 308 pack 0 0 0;
-#X connect 0 0 7 0;
-#X connect 2 0 4 0;
-#X connect 3 0 2 0;
-#X connect 4 0 9 1;
-#X connect 4 0 8 1;
-#X connect 5 0 3 0;
-#X connect 7 0 21 0;
-#X connect 7 1 8 0;
-#X connect 7 2 9 0;
-#X connect 8 0 12 0;
-#X connect 9 0 15 0;
-#X connect 10 0 16 0;
-#X connect 11 0 17 0;
-#X connect 12 0 10 0;
-#X connect 12 1 11 0;
-#X connect 13 0 16 1;
-#X connect 13 0 17 1;
-#X connect 14 0 20 1;
-#X connect 15 0 13 0;
-#X connect 15 1 14 0;
-#X connect 16 0 18 1;
-#X connect 17 0 19 1;
-#X connect 18 0 22 0;
-#X connect 19 0 22 1;
-#X connect 20 0 22 2;
-#X connect 21 0 18 0;
-#X connect 21 1 19 0;
-#X connect 21 2 20 0;
-#X connect 22 0 1 0;
-#X restore 136 310 pd coordinates;
-#X obj 136 249 t b f;
-#X obj 136 289 pack 4 0 0;
-#X obj 177 46 t f f;
-#X obj 177 67 -;
-#X obj 136 45 t f f;
-#X obj 136 66 -;
-#X obj 278 57 s stay_cube;
-#X obj 278 35 select 1;
-#X obj 201 151 * 0.5;
-#X obj 136 153 * 0.5;
-#X obj 201 209 clip -90 90;
-#X connect 0 0 24 0;
-#X connect 0 1 22 0;
-#X connect 0 2 2 1;
-#X connect 0 4 27 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 3 0 29 0;
-#X connect 3 1 28 0;
-#X connect 4 0 12 0;
-#X connect 4 1 11 1;
-#X connect 5 0 6 0;
-#X connect 5 1 6 1;
-#X connect 6 0 7 0;
-#X connect 7 0 8 0;
-#X connect 8 0 9 0;
-#X connect 9 0 16 0;
-#X connect 10 0 17 0;
-#X connect 11 0 4 0;
-#X connect 12 0 20 0;
-#X connect 13 0 15 0;
-#X connect 13 1 14 1;
-#X connect 14 0 30 0;
-#X connect 15 0 21 2;
-#X connect 16 0 11 0;
-#X connect 16 1 11 1;
-#X connect 16 1 14 0;
-#X connect 16 2 14 1;
-#X connect 19 0 10 0;
-#X connect 20 0 21 0;
-#X connect 20 1 21 1;
-#X connect 21 0 19 0;
-#X connect 22 0 23 1;
-#X connect 22 1 23 0;
-#X connect 23 0 1 1;
-#X connect 24 0 25 1;
-#X connect 24 1 25 0;
-#X connect 25 0 1 0;
-#X connect 27 0 26 0;
-#X connect 28 0 14 0;
-#X connect 29 0 11 0;
-#X connect 30 0 13 0;
-#X restore 731 34 pd mousemove;
-#X text 275 48 0...[cube] is rendered OSD;
-#X text 275 60 1...[cube] is rendered at "view";
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 48 204 pd gemwin;
-#X connect 0 0 32 0;
-#X connect 2 0 11 0;
-#X connect 3 0 2 0;
-#X connect 4 0 1 0;
-#X connect 5 0 32 0;
-#X connect 7 0 12 0;
-#X connect 8 0 7 0;
-#X connect 9 0 10 0;
-#X connect 11 0 4 0;
-#X connect 13 0 12 0;
-#X connect 14 0 15 0;
-#X connect 15 0 3 0;
-#X connect 20 0 28 0;
-#X connect 21 0 22 0;
-#X connect 23 0 22 0;
-#X connect 24 0 23 0;
-#X connect 24 1 25 0;
-#X connect 25 0 27 0;
-#X connect 25 0 23 1;
-#X connect 26 0 25 1;
-#X connect 27 0 26 0;
-#X connect 28 0 24 0;
+#N canvas 30 138 946 464 10;
+#N canvas 46 140 290 229 Gem.init 0;
+#X obj 71 191 outlet;
+#X obj 71 81 loadbang;
+#X msg 101 134 reset;
+#X obj 71 109 t b b;
+#X msg 71 164 lighting 1;
+#X msg 155 164 lighting 0;
+#X connect 1 0 3 0;
+#X connect 2 0 0 0;
+#X connect 3 0 4 0;
+#X connect 3 1 2 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X restore 48 98 pd Gem.init;
+#X obj 249 195 cube;
+#X msg 249 121 set \$1;
+#X floatatom 249 98 5 0 0 0 - - -;
+#X obj 249 169 translateXYZ 1 2 -3;
+#X obj 77 130 r view_mess;
+#N canvas 285 0 450 300 lighting 0;
+#X obj 214 196 world_light;
+#X obj 214 136 gemhead 1;
+#X obj 65 157 world_light;
+#X obj 65 105 gemhead 1;
+#X msg 278 97 0.5 0.8 0.6;
+#X obj 161 42 loadbang;
+#X obj 65 129 rotateXYZ -104 160 0;
+#X obj 214 164 rotateXYZ 104 -100 0;
+#X msg 137 98 1 1 1;
+#X connect 1 0 7 0;
+#X connect 3 0 6 0;
+#X connect 4 0 0 1;
+#X connect 5 0 8 0;
+#X connect 5 0 4 0;
+#X connect 6 0 2 0;
+#X connect 7 0 0 0;
+#X connect 8 0 2 1;
+#X restore 729 106 pd lighting;
+#X obj 271 291 translateXYZ 0 -2 -2;
+#X obj 271 265 gemhead -50;
+#X obj 675 106 gemhead;
+#X obj 675 129 model ../data/venus.obj;
+#X obj 249 145 gemhead -50;
+#X obj 271 315 text2d;
+#N canvas 8 40 381 205 textinit 0;
+#X obj 85 140 outlet;
+#X obj 94 63 loadbang;
+#X msg 100 107 text press left button and move mouse;
+#X msg 82 86 font ../data/vera.ttf;
+#X connect 1 0 3 0;
+#X connect 1 0 2 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 0;
+#X restore 469 297 pd textinit;
+#X obj 249 56 tgl 15 0 empty stay_cube empty 0 -6 0 8 -262144 -1 -1
+0 100;
+#X obj 249 76 - 50;
+#X text 125 6 change the view-point \, but keep some objects at a fixed
+position;
+#X text 307 120 set the priority for rendering;
+#X text 431 188 a priority<0 will be rendered AFTER all other things
+\, and with viewpoint set to the origin! (objects will not be affected
+by a change of view);
+#X text 431 240 this is good for displaying logos \, help messages
+and cetera...;
+#X obj 588 282 gemhead -50;
+#N canvas 108 327 419 265 textinit 0;
+#X obj 82 198 outlet;
+#X obj 78 82 loadbang;
+#X msg 97 165 text occasionally press right button;
+#X obj 225 10 gemhead -1;
+#X obj 225 80 spigot;
+#X obj 225 39 t b b;
+#X obj 225 102 t b f;
+#X obj 264 60 f 1;
+#X msg 225 126 font ../data/vera.ttf;
+#X connect 1 0 2 0;
+#X connect 2 0 0 0;
+#X connect 3 0 5 0;
+#X connect 4 0 6 0;
+#X connect 5 0 4 0;
+#X connect 5 1 7 0;
+#X connect 6 0 8 0;
+#X connect 6 1 7 1;
+#X connect 7 0 4 1;
+#X connect 8 0 0 0;
+#X restore 786 389 pd textinit;
+#X obj 588 407 text3d;
+#X obj 588 380 rotateXYZ;
+#X obj 588 332 render_trigger;
+#X obj 634 353 i;
+#X obj 687 353 % 360;
+#X obj 660 353 - 5;
+#X obj 588 308 translateXYZ 0 -7 -10;
+#N canvas 20 100 362 426 mousemove 0;
+#X obj 129 8 gemmouse;
+#X obj 136 88 pack;
+#X obj 136 110 spigot;
+#X obj 136 131 unpack;
+#X obj 136 196 t f f;
+#X obj 36 16 gemkeyname;
+#X obj 36 39 pack 0 s;
+#X obj 36 62 route 1;
+#X obj 36 84 route space;
+#X msg 36 107 0;
+#X msg 136 365 view \$2 \$3 \$1 0 0 0 0 1 0;
+#X obj 136 173 +;
+#X obj 136 221 * -1;
+#X obj 201 237 t f f;
+#X obj 201 174 +;
+#X obj 201 262 * -1;
+#X obj 36 129 t f f f;
+#X obj 136 388 s view_mess;
+#X text 61 106 reset;
+#N canvas 292 198 304 356 coordinates 0;
+#X obj 89 52 inlet;
+#X obj 94 331 outlet;
+#X obj 193 62 atan;
+#X msg 193 41 1;
+#X obj 193 84 / 45;
+#X obj 193 20 loadbang;
+#X text 94 29 r phi theta;
+#X obj 89 78 unpack 0 0 0;
+#X obj 128 123 *;
+#X obj 168 123 *;
+#X obj 120 197 cos;
+#X obj 150 198 sin;
+#X obj 120 166 t f f;
+#X obj 183 198 cos;
+#X obj 213 199 sin;
+#X obj 183 167 t f f;
+#X obj 120 230 *;
+#X obj 150 231 *;
+#X obj 85 275 *;
+#X obj 125 275 *;
+#X obj 174 277 *;
+#X obj 66 242 t f f f;
+#X obj 91 308 pack 0 0 0;
+#X connect 0 0 7 0;
+#X connect 2 0 4 0;
+#X connect 3 0 2 0;
+#X connect 4 0 9 1;
+#X connect 4 0 8 1;
+#X connect 5 0 3 0;
+#X connect 7 0 21 0;
+#X connect 7 1 8 0;
+#X connect 7 2 9 0;
+#X connect 8 0 12 0;
+#X connect 9 0 15 0;
+#X connect 10 0 16 0;
+#X connect 11 0 17 0;
+#X connect 12 0 10 0;
+#X connect 12 1 11 0;
+#X connect 13 0 16 1;
+#X connect 13 0 17 1;
+#X connect 14 0 20 1;
+#X connect 15 0 13 0;
+#X connect 15 1 14 0;
+#X connect 16 0 18 1;
+#X connect 17 0 19 1;
+#X connect 18 0 22 0;
+#X connect 19 0 22 1;
+#X connect 20 0 22 2;
+#X connect 21 0 18 0;
+#X connect 21 1 19 0;
+#X connect 21 2 20 0;
+#X connect 22 0 1 0;
+#X restore 136 310 pd coordinates;
+#X obj 136 249 t b f;
+#X obj 136 289 pack 4 0 0;
+#X obj 177 46 t f f;
+#X obj 177 67 -;
+#X obj 136 45 t f f;
+#X obj 136 66 -;
+#X obj 278 57 s stay_cube;
+#X obj 278 35 select 1;
+#X obj 201 151 * 0.5;
+#X obj 136 153 * 0.5;
+#X obj 201 209 clip -90 90;
+#X connect 0 0 24 0;
+#X connect 0 1 22 0;
+#X connect 0 2 2 1;
+#X connect 0 4 27 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 29 0;
+#X connect 3 1 28 0;
+#X connect 4 0 12 0;
+#X connect 4 1 11 1;
+#X connect 5 0 6 0;
+#X connect 5 1 6 1;
+#X connect 6 0 7 0;
+#X connect 7 0 8 0;
+#X connect 8 0 9 0;
+#X connect 9 0 16 0;
+#X connect 10 0 17 0;
+#X connect 11 0 4 0;
+#X connect 12 0 20 0;
+#X connect 13 0 15 0;
+#X connect 13 1 14 1;
+#X connect 14 0 30 0;
+#X connect 15 0 21 2;
+#X connect 16 0 11 0;
+#X connect 16 1 11 1;
+#X connect 16 1 14 0;
+#X connect 16 2 14 1;
+#X connect 19 0 10 0;
+#X connect 20 0 21 0;
+#X connect 20 1 21 1;
+#X connect 21 0 19 0;
+#X connect 22 0 23 1;
+#X connect 22 1 23 0;
+#X connect 23 0 1 1;
+#X connect 24 0 25 1;
+#X connect 24 1 25 0;
+#X connect 25 0 1 0;
+#X connect 27 0 26 0;
+#X connect 28 0 14 0;
+#X connect 29 0 11 0;
+#X connect 30 0 13 0;
+#X restore 731 34 pd mousemove;
+#X text 275 48 0...[cube] is rendered OSD;
+#X text 275 60 1...[cube] is rendered at "view";
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 48 204 pd gemwin;
+#X connect 0 0 32 0;
+#X connect 2 0 11 0;
+#X connect 3 0 2 0;
+#X connect 4 0 1 0;
+#X connect 5 0 32 0;
+#X connect 7 0 12 0;
+#X connect 8 0 7 0;
+#X connect 9 0 10 0;
+#X connect 11 0 4 0;
+#X connect 13 0 12 0;
+#X connect 14 0 15 0;
+#X connect 15 0 3 0;
+#X connect 20 0 28 0;
+#X connect 21 0 22 0;
+#X connect 23 0 22 0;
+#X connect 24 0 23 0;
+#X connect 24 1 25 0;
+#X connect 25 0 27 0;
+#X connect 25 0 23 1;
+#X connect 26 0 25 1;
+#X connect 27 0 26 0;
+#X connect 28 0 24 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/02.advanced/04.Fog.pd b/packages/noncvs/windows/extra/Gem/examples/02.advanced/04.Fog.pd
index 28991afb..5b03f28f 100644
--- a/packages/noncvs/windows/extra/Gem/examples/02.advanced/04.Fog.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/02.advanced/04.Fog.pd
@@ -1,99 +1,99 @@
-#N canvas 275 99 721 506 10;
-#X floatatom 414 85 0 0 0 0 - - -;
-#X obj 385 44 gemhead;
-#X floatatom 403 165 0 0 0 0 - - -;
-#X obj 268 149 gemhead 1;
-#X obj 268 187 world_light;
-#X obj 385 279 model ../data/venus.obj;
-#X obj 385 134 translateXYZ;
-#X obj 385 205 rotateXYZ;
-#X obj 385 238 scale 3;
-#X obj 40 198 r fogmess;
-#X msg 335 395 \; fogmess fogmode 2 \; fogmess fog 0.1;
-#X msg 11 394 \; fogmess fogmode 0;
-#X msg 172 393 \; fogmess fogmode 1 \; fogmess fog 0.7;
-#X text 39 349 no fog;
-#X text 190 354 linear fog;
-#X text 371 353 exp fog;
-#X text 520 357 exp^2 fog;
-#X msg 485 399 \; fogmess fogmode 3 \; fogmess fog 0.1;
-#X text 184 21 various fog types;
-#X obj 522 132 gemhead;
-#X floatatom 458 97 5 0 0 0 - - -;
-#X obj 522 170 rotateXYZ 0 -117 0;
-#X obj 522 189 square 5;
-#X obj 522 151 translateXYZ -3.5 0 -6.57;
-#X obj 385 22 tgl 15 1 empty empty empty 20 8 0 8 -262144 -1 -1 1 1
-;
-#X obj 522 113 tgl 15 1 empty empty empty 20 8 0 8 -262144 -1 -1 1
-1;
-#N canvas 26 40 290 300 Gem.init 0;
-#X obj 71 191 outlet;
-#X obj 71 81 loadbang;
-#X msg 101 134 reset;
-#X obj 71 109 t b b;
-#X msg 71 164 lighting 1;
-#X msg 131 165 fogcolor 1 0 0;
-#X connect 1 0 3 0;
-#X connect 2 0 0 0;
-#X connect 3 0 4 0;
-#X connect 3 0 5 0;
-#X connect 3 1 2 0;
-#X connect 4 0 0 0;
-#X connect 5 0 0 0;
-#X restore 59 219 pd Gem.init;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 40 258 pd gemwin;
-#X connect 0 0 6 3;
-#X connect 1 0 6 0;
-#X connect 2 0 7 1;
-#X connect 3 0 4 0;
-#X connect 6 0 7 0;
-#X connect 7 0 8 0;
-#X connect 8 0 5 0;
-#X connect 9 0 27 0;
-#X connect 19 0 23 0;
-#X connect 20 0 6 1;
-#X connect 21 0 22 0;
-#X connect 23 0 21 0;
-#X connect 24 0 1 0;
-#X connect 25 0 19 0;
-#X connect 26 0 27 0;
+#N canvas 275 99 721 506 10;
+#X floatatom 414 85 0 0 0 0 - - -;
+#X obj 385 44 gemhead;
+#X floatatom 403 165 0 0 0 0 - - -;
+#X obj 268 149 gemhead 1;
+#X obj 268 187 world_light;
+#X obj 385 279 model ../data/venus.obj;
+#X obj 385 134 translateXYZ;
+#X obj 385 205 rotateXYZ;
+#X obj 385 238 scale 3;
+#X obj 40 198 r fogmess;
+#X msg 335 395 \; fogmess fogmode 2 \; fogmess fog 0.1;
+#X msg 11 394 \; fogmess fogmode 0;
+#X msg 172 393 \; fogmess fogmode 1 \; fogmess fog 0.7;
+#X text 39 349 no fog;
+#X text 190 354 linear fog;
+#X text 371 353 exp fog;
+#X text 520 357 exp^2 fog;
+#X msg 485 399 \; fogmess fogmode 3 \; fogmess fog 0.1;
+#X text 184 21 various fog types;
+#X obj 522 132 gemhead;
+#X floatatom 458 97 5 0 0 0 - - -;
+#X obj 522 170 rotateXYZ 0 -117 0;
+#X obj 522 189 square 5;
+#X obj 522 151 translateXYZ -3.5 0 -6.57;
+#X obj 385 22 tgl 15 1 empty empty empty 20 8 0 8 -262144 -1 -1 1 1
+;
+#X obj 522 113 tgl 15 1 empty empty empty 20 8 0 8 -262144 -1 -1 1
+1;
+#N canvas 26 40 290 300 Gem.init 0;
+#X obj 71 191 outlet;
+#X obj 71 81 loadbang;
+#X msg 101 134 reset;
+#X obj 71 109 t b b;
+#X msg 71 164 lighting 1;
+#X msg 131 165 fogcolor 1 0 0;
+#X connect 1 0 3 0;
+#X connect 2 0 0 0;
+#X connect 3 0 4 0;
+#X connect 3 0 5 0;
+#X connect 3 1 2 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X restore 59 219 pd Gem.init;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 40 258 pd gemwin;
+#X connect 0 0 6 3;
+#X connect 1 0 6 0;
+#X connect 2 0 7 1;
+#X connect 3 0 4 0;
+#X connect 6 0 7 0;
+#X connect 7 0 8 0;
+#X connect 8 0 5 0;
+#X connect 9 0 27 0;
+#X connect 19 0 23 0;
+#X connect 20 0 6 1;
+#X connect 21 0 22 0;
+#X connect 23 0 21 0;
+#X connect 24 0 1 0;
+#X connect 25 0 19 0;
+#X connect 26 0 27 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/02.advanced/05.Stereo.pd b/packages/noncvs/windows/extra/Gem/examples/02.advanced/05.Stereo.pd
index 8fc351e4..7b761f53 100644
--- a/packages/noncvs/windows/extra/Gem/examples/02.advanced/05.Stereo.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/02.advanced/05.Stereo.pd
@@ -1,97 +1,97 @@
-#N canvas 631 50 600 504 10;
-#X obj 426 54 gemhead;
-#X floatatom 464 134 0 0 0 0 - - -;
-#X obj 464 307 gemhead 1;
-#X obj 464 332 world_light;
-#X obj 426 181 model ../data/venus.obj;
-#X text 185 21 load in a model file;
-#X obj 426 81 translateXYZ 0 0 2;
-#X obj 426 157 rotateXYZ;
-#X text 149 40 and display it stereoscopically;
-#X msg 221 130 stereoSep \$1;
-#X msg 318 129 stereoFoc \$1;
-#X floatatom 221 92 0 0 0 0 - - -;
-#X floatatom 318 87 0 0 0 0 - - -;
-#X text 23 295 The default stereoSep is -15;
-#X text 23 315 The model may appear inside out depending on what viewing
-method you use.;
-#X text 23 350 If it does \, change the stereoSep to 15;
-#N canvas 30 60 290 300 Gem.init 0;
-#X obj 71 191 outlet;
-#X obj 71 81 loadbang;
-#X msg 101 134 reset;
-#X obj 71 109 t b b;
-#X msg 71 164 lighting 1;
-#X msg 148 165 stereo 1;
-#X connect 1 0 3 0;
-#X connect 2 0 0 0;
-#X connect 3 0 4 0;
-#X connect 3 0 5 0;
-#X connect 3 1 2 0;
-#X connect 4 0 0 0;
-#X connect 5 0 0 0;
-#X restore 58 173 pd Gem.init;
-#X msg 271 206 stereo 1;
-#X msg 271 228 stereo 2;
-#X msg 271 271 stereo 0;
-#X text 335 207 2 separate images;
-#X text 338 230 red/green stereo;
-#X text 336 273 no stereo;
-#X msg 271 248 stereo 3;
-#X text 338 250 crystal eyes stereo;
-#X text 32 402 NOTE: you need special hardware to use "crystal eyes
-stereo";
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 58 207 pd gemwin;
-#X connect 0 0 6 0;
-#X connect 1 0 7 2;
-#X connect 2 0 3 0;
-#X connect 6 0 7 0;
-#X connect 7 0 4 0;
-#X connect 9 0 26 0;
-#X connect 10 0 26 0;
-#X connect 11 0 9 0;
-#X connect 12 0 10 0;
-#X connect 16 0 26 0;
-#X connect 17 0 26 0;
-#X connect 18 0 26 0;
-#X connect 19 0 26 0;
-#X connect 23 0 26 0;
+#N canvas 631 50 600 504 10;
+#X obj 426 54 gemhead;
+#X floatatom 464 134 0 0 0 0 - - -;
+#X obj 464 307 gemhead 1;
+#X obj 464 332 world_light;
+#X obj 426 181 model ../data/venus.obj;
+#X text 185 21 load in a model file;
+#X obj 426 81 translateXYZ 0 0 2;
+#X obj 426 157 rotateXYZ;
+#X text 149 40 and display it stereoscopically;
+#X msg 221 130 stereoSep \$1;
+#X msg 318 129 stereoFoc \$1;
+#X floatatom 221 92 0 0 0 0 - - -;
+#X floatatom 318 87 0 0 0 0 - - -;
+#X text 23 295 The default stereoSep is -15;
+#X text 23 315 The model may appear inside out depending on what viewing
+method you use.;
+#X text 23 350 If it does \, change the stereoSep to 15;
+#N canvas 30 60 290 300 Gem.init 0;
+#X obj 71 191 outlet;
+#X obj 71 81 loadbang;
+#X msg 101 134 reset;
+#X obj 71 109 t b b;
+#X msg 71 164 lighting 1;
+#X msg 148 165 stereo 1;
+#X connect 1 0 3 0;
+#X connect 2 0 0 0;
+#X connect 3 0 4 0;
+#X connect 3 0 5 0;
+#X connect 3 1 2 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X restore 58 173 pd Gem.init;
+#X msg 271 206 stereo 1;
+#X msg 271 228 stereo 2;
+#X msg 271 271 stereo 0;
+#X text 335 207 2 separate images;
+#X text 338 230 red/green stereo;
+#X text 336 273 no stereo;
+#X msg 271 248 stereo 3;
+#X text 338 250 crystal eyes stereo;
+#X text 32 402 NOTE: you need special hardware to use "crystal eyes
+stereo";
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 58 207 pd gemwin;
+#X connect 0 0 6 0;
+#X connect 1 0 7 2;
+#X connect 2 0 3 0;
+#X connect 6 0 7 0;
+#X connect 7 0 4 0;
+#X connect 9 0 26 0;
+#X connect 10 0 26 0;
+#X connect 11 0 9 0;
+#X connect 12 0 10 0;
+#X connect 16 0 26 0;
+#X connect 17 0 26 0;
+#X connect 18 0 26 0;
+#X connect 19 0 26 0;
+#X connect 23 0 26 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/02.advanced/06.StereoParticle.pd b/packages/noncvs/windows/extra/Gem/examples/02.advanced/06.StereoParticle.pd
index 80b1f06b..eb5eb727 100644
--- a/packages/noncvs/windows/extra/Gem/examples/02.advanced/06.StereoParticle.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/02.advanced/06.StereoParticle.pd
@@ -1,88 +1,88 @@
-#N canvas 396 160 600 500 10;
-#X obj 198 50 gemhead;
-#X obj 198 82 part_head;
-#X obj 198 136 part_color;
-#X obj 198 447 part_draw;
-#X msg 335 69 0 1 0;
-#X text 329 37 set the color range;
-#X obj 198 331 part_gravity 0 -0.01 0;
-#X obj 198 206 part_velsphere 0 0.2 0 0.2;
-#X text 310 269 set the number per frame;
-#X text 310 378 set the age to kill at;
-#X text 366 327 gravity to affect the particles;
-#X text 408 174 the velocity domain;
-#X text 406 191 a sphere at 0 \, 0.2 \, 0;
-#X msg 219 413 draw line;
-#X msg 298 413 draw point;
-#X msg 393 69 1 0 0;
-#X obj 198 270 part_source 25;
-#X obj 198 381 part_killold 45;
-#X text 406 208 radius = 0.2;
-#X msg 31 131 stereoSep 15;
-#X obj 198 174 part_size 2;
-#N canvas 26 40 290 300 Gem.init 0;
-#X obj 71 191 outlet;
-#X obj 71 81 loadbang;
-#X msg 101 134 reset;
-#X obj 71 109 t b b;
-#X msg 71 164 stereo 1;
-#X connect 1 0 3 0;
-#X connect 2 0 0 0;
-#X connect 3 0 4 0;
-#X connect 3 1 2 0;
-#X connect 4 0 0 0;
-#X restore 87 170 pd Gem.init;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 31 187 pd gemwin;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X connect 2 0 20 0;
-#X connect 4 0 2 1;
-#X connect 6 0 17 0;
-#X connect 7 0 16 0;
-#X connect 13 0 3 0;
-#X connect 14 0 3 0;
-#X connect 15 0 2 2;
-#X connect 16 0 6 0;
-#X connect 17 0 3 0;
-#X connect 19 0 22 0;
-#X connect 20 0 7 0;
-#X connect 21 0 22 0;
+#N canvas 396 160 600 500 10;
+#X obj 198 50 gemhead;
+#X obj 198 82 part_head;
+#X obj 198 136 part_color;
+#X obj 198 447 part_draw;
+#X msg 335 69 0 1 0;
+#X text 329 37 set the color range;
+#X obj 198 331 part_gravity 0 -0.01 0;
+#X obj 198 206 part_velsphere 0 0.2 0 0.2;
+#X text 310 269 set the number per frame;
+#X text 310 378 set the age to kill at;
+#X text 366 327 gravity to affect the particles;
+#X text 408 174 the velocity domain;
+#X text 406 191 a sphere at 0 \, 0.2 \, 0;
+#X msg 219 413 draw line;
+#X msg 298 413 draw point;
+#X msg 393 69 1 0 0;
+#X obj 198 270 part_source 25;
+#X obj 198 381 part_killold 45;
+#X text 406 208 radius = 0.2;
+#X msg 31 131 stereoSep 15;
+#X obj 198 174 part_size 2;
+#N canvas 26 40 290 300 Gem.init 0;
+#X obj 71 191 outlet;
+#X obj 71 81 loadbang;
+#X msg 101 134 reset;
+#X obj 71 109 t b b;
+#X msg 71 164 stereo 1;
+#X connect 1 0 3 0;
+#X connect 2 0 0 0;
+#X connect 3 0 4 0;
+#X connect 3 1 2 0;
+#X connect 4 0 0 0;
+#X restore 87 170 pd Gem.init;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 31 187 pd gemwin;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 2 0 20 0;
+#X connect 4 0 2 1;
+#X connect 6 0 17 0;
+#X connect 7 0 16 0;
+#X connect 13 0 3 0;
+#X connect 14 0 3 0;
+#X connect 15 0 2 2;
+#X connect 16 0 6 0;
+#X connect 17 0 3 0;
+#X connect 19 0 22 0;
+#X connect 20 0 7 0;
+#X connect 21 0 22 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/02.advanced/07.Snapshot1.pd b/packages/noncvs/windows/extra/Gem/examples/02.advanced/07.Snapshot1.pd
index 55b77766..ff223a3f 100644
--- a/packages/noncvs/windows/extra/Gem/examples/02.advanced/07.Snapshot1.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/02.advanced/07.Snapshot1.pd
@@ -1,87 +1,87 @@
-#N canvas 396 100 600 375 10;
-#X obj 210 252 gemhead;
-#X obj 210 312 model ../data/venus.obj;
-#X text 117 4 snap a portion of the graphics window into a texture
-;
-#X obj 210 278 translateXYZ 0 0 2;
-#X obj 423 193 gemhead;
-#X obj 423 255 pix_texture;
-#X msg 294 88 snap;
-#X msg 275 56 bang;
-#X msg 355 148 bang;
-#X msg 328 120 bang;
-#X obj 423 226 pix_snap 0 0 256 256;
-#X obj 423 284 rotateXYZ 0 45 25;
-#X obj 423 317 square 4;
-#X text 327 54 draw the model;
-#X text 348 87 snap the frame buffer;
-#X text 390 120 clear the frame buffer;
-#X text 407 146 draw the snapped texture;
-#N canvas 26 40 290 300 Gem.init 0;
-#X obj 71 191 outlet;
-#X obj 71 81 loadbang;
-#X msg 101 134 reset;
-#X obj 71 109 t b b;
-#X msg 71 164 dimen 256 256;
-#X msg 179 165 buffer 1;
-#X connect 1 0 3 0;
-#X connect 2 0 0 0;
-#X connect 3 0 4 0;
-#X connect 3 0 5 0;
-#X connect 3 1 2 0;
-#X connect 4 0 0 0;
-#X connect 5 0 0 0;
-#X restore 30 120 pd Gem.init;
-#X text 123 20 notice that this is using single buffered (see Gem.init)
-drawing!;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 30 137 pd gemwin;
-#X connect 0 0 3 0;
-#X connect 3 0 1 0;
-#X connect 4 0 10 0;
-#X connect 5 0 11 0;
-#X connect 6 0 10 0;
-#X connect 7 0 0 0;
-#X connect 8 0 4 0;
-#X connect 9 0 19 0;
-#X connect 10 0 5 0;
-#X connect 11 0 12 0;
-#X connect 17 0 19 0;
+#N canvas 396 100 600 375 10;
+#X obj 210 252 gemhead;
+#X obj 210 312 model ../data/venus.obj;
+#X text 117 4 snap a portion of the graphics window into a texture
+;
+#X obj 210 278 translateXYZ 0 0 2;
+#X obj 423 193 gemhead;
+#X obj 423 255 pix_texture;
+#X msg 294 88 snap;
+#X msg 275 56 bang;
+#X msg 355 148 bang;
+#X msg 328 120 bang;
+#X obj 423 226 pix_snap 0 0 256 256;
+#X obj 423 284 rotateXYZ 0 45 25;
+#X obj 423 317 square 4;
+#X text 327 54 draw the model;
+#X text 348 87 snap the frame buffer;
+#X text 390 120 clear the frame buffer;
+#X text 407 146 draw the snapped texture;
+#N canvas 26 40 290 300 Gem.init 0;
+#X obj 71 191 outlet;
+#X obj 71 81 loadbang;
+#X msg 101 134 reset;
+#X obj 71 109 t b b;
+#X msg 71 164 dimen 256 256;
+#X msg 179 165 buffer 1;
+#X connect 1 0 3 0;
+#X connect 2 0 0 0;
+#X connect 3 0 4 0;
+#X connect 3 0 5 0;
+#X connect 3 1 2 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X restore 30 120 pd Gem.init;
+#X text 123 20 notice that this is using single buffered (see Gem.init)
+drawing!;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 30 137 pd gemwin;
+#X connect 0 0 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 10 0;
+#X connect 5 0 11 0;
+#X connect 6 0 10 0;
+#X connect 7 0 0 0;
+#X connect 8 0 4 0;
+#X connect 9 0 19 0;
+#X connect 10 0 5 0;
+#X connect 11 0 12 0;
+#X connect 17 0 19 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/02.advanced/08.Snapshot2.pd b/packages/noncvs/windows/extra/Gem/examples/02.advanced/08.Snapshot2.pd
index ef84f34b..e54c77f3 100644
--- a/packages/noncvs/windows/extra/Gem/examples/02.advanced/08.Snapshot2.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/02.advanced/08.Snapshot2.pd
@@ -1,138 +1,138 @@
-#N canvas 389 0 635 537 10;
-#X obj 64 405 gemhead;
-#X obj 64 509 model ../data/venus.obj;
-#X text 115 2 snap a portion of the graphics window into a texture
-;
-#X obj 399 365 pix_texture;
-#X obj 399 430 rotateXYZ;
-#X floatatom 500 399 0 0 0 0 - - -;
-#X msg 339 350 snap;
-#X msg 110 370 0;
-#X obj 399 256 render_trigger;
-#X obj 399 329 pix_snap 0 0 256 256;
-#X obj 399 219 gemhead 60;
-#X obj 399 453 square 3;
-#X msg 34 94 \; render 1;
-#X msg 32 50 \; render 0;
-#X obj 18 181 r render;
-#X obj 180 360 r render;
-#X obj 295 322 t b b;
-#X obj 295 197 r render;
-#X msg 295 260 clear;
-#X obj 295 229 sel 1;
-#X obj 233 400 gemhead;
-#X obj 233 510 model ../data/venus.obj;
-#X obj 233 472 color 1 0 0;
-#X obj 64 478 color 0 1 0;
-#X obj 233 432 translateXYZ 1 0 1;
-#X obj 64 438 translateXYZ -1 0 1;
-#X text 369 155 notice that we use render_trigger;
-#X text 369 172 to make sure that we snap before;
-#X text 373 190 the square is drawn;
-#X text 126 42 you may need to turn rendering off \, then on;
-#X text 128 59 to get the snap to work right. This is because;
-#X text 127 77 the first time rendering is turned on \, we might;
-#X text 128 95 have garbage in the frame buffer;
-#X text 127 126 rotate the square to see the texture;
-#N canvas 26 40 290 300 Gem.init 0;
-#X obj 71 191 outlet;
-#X obj 71 81 loadbang;
-#X msg 101 134 reset;
-#X obj 71 109 t b b;
-#X msg 71 164 dimen 256 256;
-#X connect 1 0 3 0;
-#X connect 2 0 0 0;
-#X connect 3 0 4 0;
-#X connect 3 1 2 0;
-#X connect 4 0 0 0;
-#X restore 84 181 pd Gem.init;
-#N canvas 0 0 450 300 oneshot 0;
-#X obj 93 82 inlet;
-#X obj 187 148 bang;
-#X msg 187 167 1;
-#X obj 93 214 spigot;
-#X msg 155 168 0;
-#X obj 93 172 t a b;
-#X obj 93 240 t a b;
-#X obj 136 192 i 1;
-#X obj 93 107 route clear;
-#X obj 93 262 outlet;
-#X connect 0 0 8 0;
-#X connect 1 0 2 0;
-#X connect 2 0 7 1;
-#X connect 3 0 6 0;
-#X connect 4 0 7 1;
-#X connect 5 0 3 0;
-#X connect 5 1 7 0;
-#X connect 6 0 9 0;
-#X connect 6 1 4 0;
-#X connect 7 0 3 1;
-#X connect 8 0 1 0;
-#X connect 8 1 5 0;
-#X restore 295 287 pd oneshot;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 18 206 pd gemwin;
-#X connect 0 0 25 0;
-#X connect 3 0 4 0;
-#X connect 4 0 11 0;
-#X connect 5 0 4 2;
-#X connect 6 0 9 0;
-#X connect 7 0 0 0;
-#X connect 7 0 20 0;
-#X connect 8 0 9 0;
-#X connect 8 1 35 0;
-#X connect 9 0 3 0;
-#X connect 10 0 8 0;
-#X connect 14 0 36 0;
-#X connect 15 0 0 0;
-#X connect 15 0 20 0;
-#X connect 16 0 7 0;
-#X connect 16 1 6 0;
-#X connect 17 0 19 0;
-#X connect 18 0 35 0;
-#X connect 19 0 18 0;
-#X connect 20 0 24 0;
-#X connect 22 0 21 0;
-#X connect 23 0 1 0;
-#X connect 24 0 22 0;
-#X connect 25 0 23 0;
-#X connect 34 0 36 0;
-#X connect 35 0 16 0;
+#N canvas 389 0 635 537 10;
+#X obj 64 405 gemhead;
+#X obj 64 509 model ../data/venus.obj;
+#X text 115 2 snap a portion of the graphics window into a texture
+;
+#X obj 399 365 pix_texture;
+#X obj 399 430 rotateXYZ;
+#X floatatom 500 399 0 0 0 0 - - -;
+#X msg 339 350 snap;
+#X msg 110 370 0;
+#X obj 399 256 render_trigger;
+#X obj 399 329 pix_snap 0 0 256 256;
+#X obj 399 219 gemhead 60;
+#X obj 399 453 square 3;
+#X msg 34 94 \; render 1;
+#X msg 32 50 \; render 0;
+#X obj 18 181 r render;
+#X obj 180 360 r render;
+#X obj 295 322 t b b;
+#X obj 295 197 r render;
+#X msg 295 260 clear;
+#X obj 295 229 sel 1;
+#X obj 233 400 gemhead;
+#X obj 233 510 model ../data/venus.obj;
+#X obj 233 472 color 1 0 0;
+#X obj 64 478 color 0 1 0;
+#X obj 233 432 translateXYZ 1 0 1;
+#X obj 64 438 translateXYZ -1 0 1;
+#X text 369 155 notice that we use render_trigger;
+#X text 369 172 to make sure that we snap before;
+#X text 373 190 the square is drawn;
+#X text 126 42 you may need to turn rendering off \, then on;
+#X text 128 59 to get the snap to work right. This is because;
+#X text 127 77 the first time rendering is turned on \, we might;
+#X text 128 95 have garbage in the frame buffer;
+#X text 127 126 rotate the square to see the texture;
+#N canvas 26 40 290 300 Gem.init 0;
+#X obj 71 191 outlet;
+#X obj 71 81 loadbang;
+#X msg 101 134 reset;
+#X obj 71 109 t b b;
+#X msg 71 164 dimen 256 256;
+#X connect 1 0 3 0;
+#X connect 2 0 0 0;
+#X connect 3 0 4 0;
+#X connect 3 1 2 0;
+#X connect 4 0 0 0;
+#X restore 84 181 pd Gem.init;
+#N canvas 0 0 450 300 oneshot 0;
+#X obj 93 82 inlet;
+#X obj 187 148 bang;
+#X msg 187 167 1;
+#X obj 93 214 spigot;
+#X msg 155 168 0;
+#X obj 93 172 t a b;
+#X obj 93 240 t a b;
+#X obj 136 192 i 1;
+#X obj 93 107 route clear;
+#X obj 93 262 outlet;
+#X connect 0 0 8 0;
+#X connect 1 0 2 0;
+#X connect 2 0 7 1;
+#X connect 3 0 6 0;
+#X connect 4 0 7 1;
+#X connect 5 0 3 0;
+#X connect 5 1 7 0;
+#X connect 6 0 9 0;
+#X connect 6 1 4 0;
+#X connect 7 0 3 1;
+#X connect 8 0 1 0;
+#X connect 8 1 5 0;
+#X restore 295 287 pd oneshot;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 18 206 pd gemwin;
+#X connect 0 0 25 0;
+#X connect 3 0 4 0;
+#X connect 4 0 11 0;
+#X connect 5 0 4 2;
+#X connect 6 0 9 0;
+#X connect 7 0 0 0;
+#X connect 7 0 20 0;
+#X connect 8 0 9 0;
+#X connect 8 1 35 0;
+#X connect 9 0 3 0;
+#X connect 10 0 8 0;
+#X connect 14 0 36 0;
+#X connect 15 0 0 0;
+#X connect 15 0 20 0;
+#X connect 16 0 7 0;
+#X connect 16 1 6 0;
+#X connect 17 0 19 0;
+#X connect 18 0 35 0;
+#X connect 19 0 18 0;
+#X connect 20 0 24 0;
+#X connect 22 0 21 0;
+#X connect 23 0 1 0;
+#X connect 24 0 22 0;
+#X connect 25 0 23 0;
+#X connect 34 0 36 0;
+#X connect 35 0 16 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/02.advanced/09.SnapshotSave.pd b/packages/noncvs/windows/extra/Gem/examples/02.advanced/09.SnapshotSave.pd
index 92bc2eb6..78b44d1b 100644
--- a/packages/noncvs/windows/extra/Gem/examples/02.advanced/09.SnapshotSave.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/02.advanced/09.SnapshotSave.pd
@@ -1,145 +1,145 @@
-#N canvas 54 216 940 412 10;
-#N canvas 338 262 290 225 Gem.init 0;
-#X obj 83 30 loadbang;
-#X msg 161 76 reset;
-#X obj 45 184 outlet;
-#X obj 88 51 t b b;
-#X msg 45 75 dimen 128 128;
-#X msg 71 109 lighting 1;
-#X msg 127 171 color 0.5 0.3 1;
-#X connect 0 0 3 0;
-#X connect 1 0 2 0;
-#X connect 3 0 4 0;
-#X connect 3 0 5 0;
-#X connect 3 0 6 0;
-#X connect 3 1 1 0;
-#X connect 4 0 2 0;
-#X connect 5 0 2 0;
-#X connect 6 0 2 0;
-#X restore 51 96 pd Gem.init;
-#X obj 255 118 gemhead;
-#X obj 255 144 render_trigger;
-#X obj 332 256 + 1;
-#X obj 362 256 % 360;
-#X obj 255 279 rotateXYZ;
-#X obj 255 359 pix_texture;
-#X obj 62 265 gemhead;
-#X obj 62 291 world_light;
-#X obj 652 251 gemhead 99;
-#X obj 548 154 savepanel;
-#X msg 673 293 file \$1;
-#X obj 420 182 symbol /tmp/gemshot;
-#X obj 420 110 bng 30 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 420 280 makefilename %s00000.tif;
-#X msg 420 308 open \$1;
-#X obj 255 387 square 4;
-#X obj 255 334 pix_image;
-#X msg 134 269 list 1 1 0.4;
-#X obj 255 306 color 1 0.3 1;
-#X obj 134 248 loadbang;
-#X obj 420 210 t b s b s;
-#X obj 420 258 symbol;
-#X obj 420 234 del 500;
-#X obj 301 188 spigot;
-#X obj 338 165 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
-1;
-#X floatatom 301 238 5 0 0 0 - - -;
-#X obj 301 216 i;
-#X obj 548 134 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 338 123 loadbang;
-#X text 186 22 similar to the previous example: [pix_write] gets the
-current output window and writes it not into a texture but into a file
-(TIFF or JPEG);
-#X text 492 364 mind the 99: [pix_write] has to be called late \, to
-ensure that all that you want is already rendered onto the screen.
-;
-#X msg 789 285 auto \$1;
-#X obj 793 263 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 1 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 51 113 pd gemwin;
-#X obj 60 321 gemhead;
-#X obj 60 341 translate 1 0 1 0;
-#X obj 60 362 color 0 1 0;
-#X obj 60 382 sphere 0.5;
-#X obj 652 326 pix_write;
-#X connect 0 0 34 0;
-#X connect 1 0 2 0;
-#X connect 2 0 5 0;
-#X connect 2 1 24 0;
-#X connect 3 0 4 0;
-#X connect 4 0 27 1;
-#X connect 5 0 19 0;
-#X connect 6 0 16 0;
-#X connect 7 0 8 0;
-#X connect 9 0 39 0;
-#X connect 10 0 12 1;
-#X connect 11 0 39 0;
-#X connect 12 0 21 0;
-#X connect 13 0 12 0;
-#X connect 14 0 15 0;
-#X connect 15 0 17 0;
-#X connect 17 0 6 0;
-#X connect 18 0 8 1;
-#X connect 19 0 17 0;
-#X connect 20 0 18 0;
-#X connect 21 0 23 0;
-#X connect 21 1 22 1;
-#X connect 21 2 39 0;
-#X connect 21 3 11 0;
-#X connect 22 0 14 0;
-#X connect 23 0 22 0;
-#X connect 24 0 27 0;
-#X connect 25 0 24 1;
-#X connect 26 0 3 0;
-#X connect 26 0 5 1;
-#X connect 26 0 5 2;
-#X connect 26 0 5 3;
-#X connect 27 0 26 0;
-#X connect 28 0 10 0;
-#X connect 29 0 25 0;
-#X connect 32 0 39 0;
-#X connect 33 0 32 0;
-#X connect 35 0 36 0;
-#X connect 36 0 37 0;
-#X connect 37 0 38 0;
+#N canvas 54 216 940 412 10;
+#N canvas 338 262 290 225 Gem.init 0;
+#X obj 83 30 loadbang;
+#X msg 161 76 reset;
+#X obj 45 184 outlet;
+#X obj 88 51 t b b;
+#X msg 45 75 dimen 128 128;
+#X msg 71 109 lighting 1;
+#X msg 127 171 color 0.5 0.3 1;
+#X connect 0 0 3 0;
+#X connect 1 0 2 0;
+#X connect 3 0 4 0;
+#X connect 3 0 5 0;
+#X connect 3 0 6 0;
+#X connect 3 1 1 0;
+#X connect 4 0 2 0;
+#X connect 5 0 2 0;
+#X connect 6 0 2 0;
+#X restore 51 96 pd Gem.init;
+#X obj 255 118 gemhead;
+#X obj 255 144 render_trigger;
+#X obj 332 256 + 1;
+#X obj 362 256 % 360;
+#X obj 255 279 rotateXYZ;
+#X obj 255 359 pix_texture;
+#X obj 62 265 gemhead;
+#X obj 62 291 world_light;
+#X obj 652 251 gemhead 99;
+#X obj 548 154 savepanel;
+#X msg 673 293 file \$1;
+#X obj 420 182 symbol /tmp/gemshot;
+#X obj 420 110 bng 30 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 420 280 makefilename %s00000.tif;
+#X msg 420 308 open \$1;
+#X obj 255 387 square 4;
+#X obj 255 334 pix_image;
+#X msg 134 269 list 1 1 0.4;
+#X obj 255 306 color 1 0.3 1;
+#X obj 134 248 loadbang;
+#X obj 420 210 t b s b s;
+#X obj 420 258 symbol;
+#X obj 420 234 del 500;
+#X obj 301 188 spigot;
+#X obj 338 165 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
+1;
+#X floatatom 301 238 5 0 0 0 - - -;
+#X obj 301 216 i;
+#X obj 548 134 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 338 123 loadbang;
+#X text 186 22 similar to the previous example: [pix_write] gets the
+current output window and writes it not into a texture but into a file
+(TIFF or JPEG);
+#X text 492 364 mind the 99: [pix_write] has to be called late \, to
+ensure that all that you want is already rendered onto the screen.
+;
+#X msg 789 285 auto \$1;
+#X obj 793 263 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 1 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 51 113 pd gemwin;
+#X obj 60 321 gemhead;
+#X obj 60 341 translate 1 0 1 0;
+#X obj 60 362 color 0 1 0;
+#X obj 60 382 sphere 0.5;
+#X obj 652 326 pix_write;
+#X connect 0 0 34 0;
+#X connect 1 0 2 0;
+#X connect 2 0 5 0;
+#X connect 2 1 24 0;
+#X connect 3 0 4 0;
+#X connect 4 0 27 1;
+#X connect 5 0 19 0;
+#X connect 6 0 16 0;
+#X connect 7 0 8 0;
+#X connect 9 0 39 0;
+#X connect 10 0 12 1;
+#X connect 11 0 39 0;
+#X connect 12 0 21 0;
+#X connect 13 0 12 0;
+#X connect 14 0 15 0;
+#X connect 15 0 17 0;
+#X connect 17 0 6 0;
+#X connect 18 0 8 1;
+#X connect 19 0 17 0;
+#X connect 20 0 18 0;
+#X connect 21 0 23 0;
+#X connect 21 1 22 1;
+#X connect 21 2 39 0;
+#X connect 21 3 11 0;
+#X connect 22 0 14 0;
+#X connect 23 0 22 0;
+#X connect 24 0 27 0;
+#X connect 25 0 24 1;
+#X connect 26 0 3 0;
+#X connect 26 0 5 1;
+#X connect 26 0 5 2;
+#X connect 26 0 5 3;
+#X connect 27 0 26 0;
+#X connect 28 0 10 0;
+#X connect 29 0 25 0;
+#X connect 32 0 39 0;
+#X connect 33 0 32 0;
+#X connect 35 0 36 0;
+#X connect 36 0 37 0;
+#X connect 37 0 38 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/02.advanced/10.LinearPath.pd b/packages/noncvs/windows/extra/Gem/examples/02.advanced/10.LinearPath.pd
index 1a75686f..e9a44004 100644
--- a/packages/noncvs/windows/extra/Gem/examples/02.advanced/10.LinearPath.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/02.advanced/10.LinearPath.pd
@@ -1,87 +1,87 @@
-#N canvas 372 134 624 496 10;
-#X floatatom 481 249 0 0 0 0 - - -;
-#X msg 422 21 1;
-#X msg 455 21 0;
-#X floatatom 451 172 0 0 0 0 - - -;
-#X obj 350 184 gemhead;
-#X obj 350 240 color;
-#X obj 350 364 square;
-#N canvas 21 297 600 400 arrays 0;
-#N canvas 0 0 450 300 (subpatch) 0;
-#X array array2 15 float 0;
-#X array array3 24 float 0;
-#X coords 0 1 15 -1 400 300 1;
-#X restore 63 4 graph;
-#X restore 38 447 page arrays;
-#X obj 422 124 line;
-#X msg 422 95 0 \, 1 2000;
-#X obj 350 334 translate 1 0 0 0;
-#X msg 39 347 \; array2 resize 15 \; array2 read ../data/valcolor.tab
-\; array3 resize 24 \; array3 read ../data/valmotion.tab;
-#X obj 422 63 metro 2000;
-#X obj 422 213 linear_path 3 array2;
-#X obj 464 300 linear_path 3 array3;
-#X text 109 29 this demonstrates the linear_path object;
-#X obj 39 313 loadbang;
-#N canvas 26 40 290 300 Gem.init 0;
-#X obj 68 196 outlet;
-#X obj 68 86 loadbang;
-#X msg 68 136 reset;
-#X connect 1 0 2 0;
-#X connect 2 0 0 0;
-#X restore 54 134 pd Gem.init;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 54 151 pd gemwin;
-#X connect 0 0 14 0;
-#X connect 1 0 12 0;
-#X connect 2 0 12 0;
-#X connect 3 0 13 0;
-#X connect 4 0 5 0;
-#X connect 5 0 10 0;
-#X connect 8 0 13 0;
-#X connect 8 0 14 0;
-#X connect 9 0 8 0;
-#X connect 10 0 6 0;
-#X connect 12 0 9 0;
-#X connect 13 0 5 1;
-#X connect 14 0 10 2;
-#X connect 16 0 11 0;
-#X connect 17 0 18 0;
+#N canvas 372 134 624 496 10;
+#X floatatom 481 249 0 0 0 0 - - -;
+#X msg 422 21 1;
+#X msg 455 21 0;
+#X floatatom 451 172 0 0 0 0 - - -;
+#X obj 350 184 gemhead;
+#X obj 350 240 color;
+#X obj 350 364 square;
+#N canvas 21 297 600 400 arrays 0;
+#N canvas 0 0 450 300 (subpatch) 0;
+#X array array2 15 float 0;
+#X array array3 24 float 0;
+#X coords 0 1 15 -1 400 300 1;
+#X restore 63 4 graph;
+#X restore 38 447 page arrays;
+#X obj 422 124 line;
+#X msg 422 95 0 \, 1 2000;
+#X obj 350 334 translate 1 0 0 0;
+#X msg 39 347 \; array2 resize 15 \; array2 read ../data/valcolor.tab
+\; array3 resize 24 \; array3 read ../data/valmotion.tab;
+#X obj 422 63 metro 2000;
+#X obj 422 213 linear_path 3 array2;
+#X obj 464 300 linear_path 3 array3;
+#X text 109 29 this demonstrates the linear_path object;
+#X obj 39 313 loadbang;
+#N canvas 26 40 290 300 Gem.init 0;
+#X obj 68 196 outlet;
+#X obj 68 86 loadbang;
+#X msg 68 136 reset;
+#X connect 1 0 2 0;
+#X connect 2 0 0 0;
+#X restore 54 134 pd Gem.init;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 54 151 pd gemwin;
+#X connect 0 0 14 0;
+#X connect 1 0 12 0;
+#X connect 2 0 12 0;
+#X connect 3 0 13 0;
+#X connect 4 0 5 0;
+#X connect 5 0 10 0;
+#X connect 8 0 13 0;
+#X connect 8 0 14 0;
+#X connect 9 0 8 0;
+#X connect 10 0 6 0;
+#X connect 12 0 9 0;
+#X connect 13 0 5 1;
+#X connect 14 0 10 2;
+#X connect 16 0 11 0;
+#X connect 17 0 18 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/02.advanced/11.SplinePath.pd b/packages/noncvs/windows/extra/Gem/examples/02.advanced/11.SplinePath.pd
index 3938ed88..999a285d 100644
--- a/packages/noncvs/windows/extra/Gem/examples/02.advanced/11.SplinePath.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/02.advanced/11.SplinePath.pd
@@ -1,87 +1,87 @@
-#N canvas 355 106 641 505 10;
-#X floatatom 492 288 0 0 0 0 - - -;
-#X msg 421 55 1;
-#X msg 461 55 0;
-#X floatatom 463 210 0 0 0 0 - - -;
-#X obj 350 226 gemhead;
-#X obj 350 289 color;
-#X obj 350 403 square;
-#N canvas 21 297 600 400 arrays 0;
-#N canvas 0 0 450 300 (subpatch) 0;
-#X array array2 18 float 0;
-#X array array3 24 float 0;
-#X coords 0 1 15 -1 400 300 1;
-#X restore 63 4 graph;
-#X restore 26 474 page arrays;
-#X obj 421 254 spline_path 3 array2;
-#X obj 421 163 line;
-#X msg 421 129 0 \, 1 2000;
-#X obj 350 351 translate 1 0 0 0;
-#X obj 464 320 spline_path 3 array3;
-#X obj 421 98 metro 2000;
-#X text 109 29 this demonstrates the spline_path object;
-#X obj 28 345 loadbang;
-#X msg 28 380 \; array2 resize 18 \; array2 read ../data/valcolor.tab
-\; array3 resize 24 \; array3 read ../data/valmotion.tab;
-#N canvas 26 40 290 300 Gem.init 0;
-#X obj 68 196 outlet;
-#X obj 68 86 loadbang;
-#X msg 68 136 reset;
-#X connect 1 0 2 0;
-#X connect 2 0 0 0;
-#X restore 33 148 pd Gem.init;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 33 171 pd gemwin;
-#X connect 0 0 12 0;
-#X connect 1 0 13 0;
-#X connect 2 0 13 0;
-#X connect 3 0 8 0;
-#X connect 4 0 5 0;
-#X connect 5 0 11 0;
-#X connect 8 0 5 1;
-#X connect 9 0 8 0;
-#X connect 9 0 12 0;
-#X connect 10 0 9 0;
-#X connect 11 0 6 0;
-#X connect 12 0 11 2;
-#X connect 13 0 10 0;
-#X connect 15 0 16 0;
-#X connect 17 0 18 0;
+#N canvas 355 106 641 505 10;
+#X floatatom 492 288 0 0 0 0 - - -;
+#X msg 421 55 1;
+#X msg 461 55 0;
+#X floatatom 463 210 0 0 0 0 - - -;
+#X obj 350 226 gemhead;
+#X obj 350 289 color;
+#X obj 350 403 square;
+#N canvas 21 297 600 400 arrays 0;
+#N canvas 0 0 450 300 (subpatch) 0;
+#X array array2 18 float 0;
+#X array array3 24 float 0;
+#X coords 0 1 15 -1 400 300 1;
+#X restore 63 4 graph;
+#X restore 26 474 page arrays;
+#X obj 421 254 spline_path 3 array2;
+#X obj 421 163 line;
+#X msg 421 129 0 \, 1 2000;
+#X obj 350 351 translate 1 0 0 0;
+#X obj 464 320 spline_path 3 array3;
+#X obj 421 98 metro 2000;
+#X text 109 29 this demonstrates the spline_path object;
+#X obj 28 345 loadbang;
+#X msg 28 380 \; array2 resize 18 \; array2 read ../data/valcolor.tab
+\; array3 resize 24 \; array3 read ../data/valmotion.tab;
+#N canvas 26 40 290 300 Gem.init 0;
+#X obj 68 196 outlet;
+#X obj 68 86 loadbang;
+#X msg 68 136 reset;
+#X connect 1 0 2 0;
+#X connect 2 0 0 0;
+#X restore 33 148 pd Gem.init;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 33 171 pd gemwin;
+#X connect 0 0 12 0;
+#X connect 1 0 13 0;
+#X connect 2 0 13 0;
+#X connect 3 0 8 0;
+#X connect 4 0 5 0;
+#X connect 5 0 11 0;
+#X connect 8 0 5 1;
+#X connect 9 0 8 0;
+#X connect 9 0 12 0;
+#X connect 10 0 9 0;
+#X connect 11 0 6 0;
+#X connect 12 0 11 2;
+#X connect 13 0 10 0;
+#X connect 15 0 16 0;
+#X connect 17 0 18 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/02.advanced/12.Hsv.pd b/packages/noncvs/windows/extra/Gem/examples/02.advanced/12.Hsv.pd
index 28379a21..0dd6fdbd 100644
--- a/packages/noncvs/windows/extra/Gem/examples/02.advanced/12.Hsv.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/02.advanced/12.Hsv.pd
@@ -1,105 +1,105 @@
-#N canvas 433 87 762 506 12;
-#X obj 248 352 gemhead;
-#X obj 248 412 color;
-#X msg 559 202 1 1 1;
-#X msg 524 156 1 0 0;
-#X obj 248 441 square;
-#X text 396 19 change the color;
-#X text 2 90 create and destroy the graphics window;
-#X obj 524 266 rgb2hsv;
-#X obj 379 303 hsv2rgb;
-#X obj 379 330 unpack 0 0 0;
-#X floatatom 379 363 0 0 0 3 red - -;
-#X floatatom 431 361 0 0 0 3 green - -;
-#X floatatom 490 361 0 0 0 3 blue - -;
-#X obj 541 327 unpack 0 0 0;
-#X floatatom 541 416 0 0 0 3 hue - -;
-#X floatatom 593 391 0 0 0 3 saturation - -;
-#X floatatom 632 353 0 0 0 3 value - -;
-#X msg 612 246 0 1 0;
-#X floatatom 379 85 0 0 1 2 hue #0-hue -;
-#X floatatom 400 121 0 0 1 2 saturation #0-saturation -;
-#X obj 399 174 t b f;
-#X floatatom 437 148 0 0 1 2 value #0-value -;
-#X obj 437 174 t b f;
-#X text 526 139 red;
-#X text 559 185 white;
-#X text 614 224 green;
-#X obj 379 203 pack 0 1 1;
-#N canvas 30 60 290 300 Gem.init 0;
-#X obj 68 196 outlet;
-#X obj 68 86 loadbang;
-#X msg 68 136 reset;
-#X connect 1 0 2 0;
-#X connect 2 0 0 0;
-#X restore 26 133 pd Gem.init;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 1 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 26 162 pd gemwin;
-#X obj 532 52 hsl 128 15 0 1 0 0 \$0-hue empty hue -2 -8 0 10 -262144
--1 -1 0 1;
-#X obj 532 82 hsl 128 15 0 1 0 0 \$0-saturation empty saturation -2
--8 0 10 -262144 -1 -1 0 1;
-#X obj 532 112 hsl 128 15 0 1 0 0 \$0-value empty value -2 -8 0 10
--262144 -1 -1 0 1;
-#X connect 0 0 1 0;
-#X connect 1 0 4 0;
-#X connect 2 0 7 0;
-#X connect 3 0 7 0;
-#X connect 7 0 8 0;
-#X connect 7 0 13 0;
-#X connect 8 0 1 1;
-#X connect 8 0 9 0;
-#X connect 9 0 10 0;
-#X connect 9 1 11 0;
-#X connect 9 2 12 0;
-#X connect 13 0 14 0;
-#X connect 13 1 15 0;
-#X connect 13 2 16 0;
-#X connect 17 0 7 0;
-#X connect 18 0 26 0;
-#X connect 19 0 20 0;
-#X connect 20 0 26 0;
-#X connect 20 1 26 1;
-#X connect 21 0 22 0;
-#X connect 22 0 26 0;
-#X connect 22 1 26 2;
-#X connect 26 0 8 0;
-#X connect 27 0 28 0;
+#N canvas 433 87 762 506 12;
+#X obj 248 352 gemhead;
+#X obj 248 412 color;
+#X msg 559 202 1 1 1;
+#X msg 524 156 1 0 0;
+#X obj 248 441 square;
+#X text 396 19 change the color;
+#X text 2 90 create and destroy the graphics window;
+#X obj 524 266 rgb2hsv;
+#X obj 379 303 hsv2rgb;
+#X obj 379 330 unpack 0 0 0;
+#X floatatom 379 363 0 0 0 3 red - -;
+#X floatatom 431 361 0 0 0 3 green - -;
+#X floatatom 490 361 0 0 0 3 blue - -;
+#X obj 541 327 unpack 0 0 0;
+#X floatatom 541 416 0 0 0 3 hue - -;
+#X floatatom 593 391 0 0 0 3 saturation - -;
+#X floatatom 632 353 0 0 0 3 value - -;
+#X msg 612 246 0 1 0;
+#X floatatom 379 85 0 0 1 2 hue #0-hue -;
+#X floatatom 400 121 0 0 1 2 saturation #0-saturation -;
+#X obj 399 174 t b f;
+#X floatatom 437 148 0 0 1 2 value #0-value -;
+#X obj 437 174 t b f;
+#X text 526 139 red;
+#X text 559 185 white;
+#X text 614 224 green;
+#X obj 379 203 pack 0 1 1;
+#N canvas 30 60 290 300 Gem.init 0;
+#X obj 68 196 outlet;
+#X obj 68 86 loadbang;
+#X msg 68 136 reset;
+#X connect 1 0 2 0;
+#X connect 2 0 0 0;
+#X restore 26 133 pd Gem.init;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 1 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 26 162 pd gemwin;
+#X obj 532 52 hsl 128 15 0 1 0 0 \$0-hue empty hue -2 -8 0 10 -262144
+-1 -1 0 1;
+#X obj 532 82 hsl 128 15 0 1 0 0 \$0-saturation empty saturation -2
+-8 0 10 -262144 -1 -1 0 1;
+#X obj 532 112 hsl 128 15 0 1 0 0 \$0-value empty value -2 -8 0 10
+-262144 -1 -1 0 1;
+#X connect 0 0 1 0;
+#X connect 1 0 4 0;
+#X connect 2 0 7 0;
+#X connect 3 0 7 0;
+#X connect 7 0 8 0;
+#X connect 7 0 13 0;
+#X connect 8 0 1 1;
+#X connect 8 0 9 0;
+#X connect 9 0 10 0;
+#X connect 9 1 11 0;
+#X connect 9 2 12 0;
+#X connect 13 0 14 0;
+#X connect 13 1 15 0;
+#X connect 13 2 16 0;
+#X connect 17 0 7 0;
+#X connect 18 0 26 0;
+#X connect 19 0 20 0;
+#X connect 20 0 26 0;
+#X connect 20 1 26 1;
+#X connect 21 0 22 0;
+#X connect 22 0 26 0;
+#X connect 22 1 26 2;
+#X connect 26 0 8 0;
+#X connect 27 0 28 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/02.advanced/13.ModelRescale.pd b/packages/noncvs/windows/extra/Gem/examples/02.advanced/13.ModelRescale.pd
index 3da29273..8a1a7b9b 100644
--- a/packages/noncvs/windows/extra/Gem/examples/02.advanced/13.ModelRescale.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/02.advanced/13.ModelRescale.pd
@@ -1,107 +1,107 @@
-#N canvas 8 40 682 502 12;
-#X floatatom 241 220 0 0 0 0 - - -;
-#X obj 208 268 translate;
-#X msg 275 220 0 0 1;
-#X obj 208 178 gemhead;
-#X floatatom 237 304 0 0 0 0 - - -;
-#X obj 43 357 gemhead 1;
-#X obj 43 395 world_light;
-#X msg 285 307 open ../data/venus.obj;
-#X floatatom 511 227 0 0 0 0 - - -;
-#X obj 478 275 translate;
-#X msg 545 227 0 0 1;
-#X obj 478 185 gemhead;
-#X msg 521 321 0 1 0;
-#X obj 478 346 rotate;
-#X floatatom 499 298 0 0 0 0 - - -;
-#X obj 478 396 model ../data/venus.obj;
-#X obj 208 339 scaleXYZ;
-#X obj 327 149 loadbang;
-#X msg 271 187 -10;
-#X msg 325 246 0.1;
-#X obj 333 278 t b b;
-#X text 224 34 notice that the 'rescale 0' message is sent;
-#X text 227 90 notice the size difference due to the scale and;
-#X text 229 109 translate objects on the left chain;
-#N canvas 22 20 213 300 Gem.init 0;
-#X obj 71 191 outlet;
-#X obj 71 81 loadbang;
-#X msg 101 134 reset;
-#X obj 71 109 t b b;
-#X msg 71 164 lighting 1;
-#X connect 1 0 3 0;
-#X connect 2 0 0 0;
-#X connect 3 0 4 0;
-#X connect 3 1 2 0;
-#X connect 4 0 0 0;
-#X restore 34 98 pd Gem.init;
-#X msg 289 347 rescale 0;
-#X obj 208 389 model;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 34 124 pd gemwin;
-#X text 228 51 before the 'open' occurs;
-#X connect 0 0 1 1;
-#X connect 1 0 16 0;
-#X connect 2 0 1 2;
-#X connect 3 0 1 0;
-#X connect 4 0 16 1;
-#X connect 4 0 16 2;
-#X connect 4 0 16 3;
-#X connect 5 0 6 0;
-#X connect 7 0 26 0;
-#X connect 8 0 9 1;
-#X connect 9 0 13 0;
-#X connect 10 0 9 2;
-#X connect 11 0 9 0;
-#X connect 12 0 13 2;
-#X connect 13 0 15 0;
-#X connect 14 0 13 1;
-#X connect 16 0 26 0;
-#X connect 17 0 2 0;
-#X connect 17 0 18 0;
-#X connect 17 0 19 0;
-#X connect 17 0 20 0;
-#X connect 18 0 0 0;
-#X connect 19 0 4 0;
-#X connect 20 0 7 0;
-#X connect 20 1 25 0;
-#X connect 24 0 27 0;
-#X connect 25 0 26 0;
+#N canvas 8 40 682 502 12;
+#X floatatom 241 220 0 0 0 0 - - -;
+#X obj 208 268 translate;
+#X msg 275 220 0 0 1;
+#X obj 208 178 gemhead;
+#X floatatom 237 304 0 0 0 0 - - -;
+#X obj 43 357 gemhead 1;
+#X obj 43 395 world_light;
+#X msg 285 307 open ../data/venus.obj;
+#X floatatom 511 227 0 0 0 0 - - -;
+#X obj 478 275 translate;
+#X msg 545 227 0 0 1;
+#X obj 478 185 gemhead;
+#X msg 521 321 0 1 0;
+#X obj 478 346 rotate;
+#X floatatom 499 298 0 0 0 0 - - -;
+#X obj 478 396 model ../data/venus.obj;
+#X obj 208 339 scaleXYZ;
+#X obj 327 149 loadbang;
+#X msg 271 187 -10;
+#X msg 325 246 0.1;
+#X obj 333 278 t b b;
+#X text 224 34 notice that the 'rescale 0' message is sent;
+#X text 227 90 notice the size difference due to the scale and;
+#X text 229 109 translate objects on the left chain;
+#N canvas 22 20 213 300 Gem.init 0;
+#X obj 71 191 outlet;
+#X obj 71 81 loadbang;
+#X msg 101 134 reset;
+#X obj 71 109 t b b;
+#X msg 71 164 lighting 1;
+#X connect 1 0 3 0;
+#X connect 2 0 0 0;
+#X connect 3 0 4 0;
+#X connect 3 1 2 0;
+#X connect 4 0 0 0;
+#X restore 34 98 pd Gem.init;
+#X msg 289 347 rescale 0;
+#X obj 208 389 model;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 34 124 pd gemwin;
+#X text 228 51 before the 'open' occurs;
+#X connect 0 0 1 1;
+#X connect 1 0 16 0;
+#X connect 2 0 1 2;
+#X connect 3 0 1 0;
+#X connect 4 0 16 1;
+#X connect 4 0 16 2;
+#X connect 4 0 16 3;
+#X connect 5 0 6 0;
+#X connect 7 0 26 0;
+#X connect 8 0 9 1;
+#X connect 9 0 13 0;
+#X connect 10 0 9 2;
+#X connect 11 0 9 0;
+#X connect 12 0 13 2;
+#X connect 13 0 15 0;
+#X connect 14 0 13 1;
+#X connect 16 0 26 0;
+#X connect 17 0 2 0;
+#X connect 17 0 18 0;
+#X connect 17 0 19 0;
+#X connect 17 0 20 0;
+#X connect 18 0 0 0;
+#X connect 19 0 4 0;
+#X connect 20 0 7 0;
+#X connect 20 1 25 0;
+#X connect 24 0 27 0;
+#X connect 25 0 26 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/02.advanced/14.RenderOrder.pd b/packages/noncvs/windows/extra/Gem/examples/02.advanced/14.RenderOrder.pd
index a199d0b6..ed9b1189 100644
--- a/packages/noncvs/windows/extra/Gem/examples/02.advanced/14.RenderOrder.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/02.advanced/14.RenderOrder.pd
@@ -1,149 +1,149 @@
-#N canvas 0 0 986 385 10;
-#X text 276 35 Blue Sphere;
-#N canvas 95 194 290 179 Gem.init 0;
-#X obj 118 18 loadbang;
-#X msg 201 78 reset;
-#X obj 118 113 outlet;
-#X obj 118 45 t b b;
-#X connect 0 0 3 0;
-#X connect 1 0 2 0;
-#X connect 3 1 1 0;
-#X restore 72 145 pd Gem.init;
-#X obj 265 98 color 0 0 1 0.5;
-#X obj 265 229 pix_texture;
-#X obj 265 182 pix_image ../data/dancer.JPG;
-#X obj 265 251 alpha;
-#X obj 265 207 pix_alpha;
-#X obj 265 68 gemhead 50;
-#X obj 681 244 alpha;
-#X obj 681 173 gemhead 50;
-#X obj 681 197 color 0 1 0 0.5;
-#X obj 681 222 translateXYZ 0 -0.5 -1;
-#X obj 849 123 int 0;
-#X obj 891 123 + 1;
-#X obj 849 100 metro 50;
-#X obj 923 122 % 50;
-#X obj 849 81 tgl 15 0 empty render_onoff empty 0 -6 0 8 -262144 -1
--1 0 1;
-#X obj 849 146 / 25;
-#X obj 849 168 - 1;
-#X msg 681 124 set \$1;
-#X floatatom 681 101 5 0 0 0 - - -;
-#X msg 679 9 40;
-#X msg 696 32 60;
-#X obj 849 191 t f f;
-#X msg 709 54 auto;
-#N canvas 189 208 450 300 set-priority 0;
-#X obj 103 59 inlet;
-#X obj 94 277 outlet;
-#X obj 103 96 route auto;
-#X obj 352 59 inlet;
-#X obj 352 88 < 0;
-#X obj 352 112 change;
-#X obj 352 135 select 1 0;
-#X msg 327 169 40;
-#X msg 363 170 60;
-#X obj 94 247 spigot;
-#X obj 168 120 t f b;
-#X msg 198 145 0;
-#X msg 103 117 10;
-#X obj 103 138 t f f;
-#X connect 0 0 2 0;
-#X connect 2 0 12 0;
-#X connect 2 1 10 0;
-#X connect 3 0 4 0;
-#X connect 4 0 5 0;
-#X connect 5 0 6 0;
-#X connect 6 0 7 0;
-#X connect 6 1 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 9 0;
-#X connect 9 0 1 0;
-#X connect 10 0 1 0;
-#X connect 10 1 11 0;
-#X connect 11 0 9 1;
-#X connect 12 0 13 0;
-#X connect 13 0 9 1;
-#X connect 13 1 5 0;
-#X restore 693 76 pd set-priority;
-#X obj 265 272 square 3;
-#X obj 681 266 square 3;
-#X text 866 81 movement on/off;
-#X text 736 9 priority 40 (<50);
-#X text 735 28 priority 60 (>50);
-#X text 748 51 dynamic ordering;
-#X text 218 299 the rendering order does matter \, when doing things
-like alpha-blending: alpha-blending only works if the semi-transparent
-(alpha<1) object is rendered AFTER the objects that shine through;
-#X text 596 291 this turns out to be a problem in dynamic scenes (eg:
-with moving objects/viewpoint):: if a semi-transparent object used
-to be "in front" of another semi-transparent object \, but suddenly
-becomes "behind" \, the rendering order has to be changed. do this
-\, by giving the [gemhead] a "set" message;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 72 168 pd gemwin;
-#X connect 1 0 34 0;
-#X connect 2 0 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 6 0;
-#X connect 5 0 26 0;
-#X connect 6 0 3 0;
-#X connect 7 0 2 0;
-#X connect 8 0 27 0;
-#X connect 9 0 10 0;
-#X connect 10 0 11 0;
-#X connect 11 0 8 0;
-#X connect 12 0 13 0;
-#X connect 12 0 17 0;
-#X connect 13 0 15 0;
-#X connect 14 0 12 0;
-#X connect 15 0 12 1;
-#X connect 16 0 14 0;
-#X connect 17 0 18 0;
-#X connect 18 0 23 0;
-#X connect 19 0 9 0;
-#X connect 20 0 19 0;
-#X connect 21 0 25 0;
-#X connect 22 0 25 0;
-#X connect 23 0 11 3;
-#X connect 23 1 25 1;
-#X connect 24 0 25 0;
-#X connect 25 0 20 0;
+#N canvas 0 0 986 385 10;
+#X text 276 35 Blue Sphere;
+#N canvas 95 194 290 179 Gem.init 0;
+#X obj 118 18 loadbang;
+#X msg 201 78 reset;
+#X obj 118 113 outlet;
+#X obj 118 45 t b b;
+#X connect 0 0 3 0;
+#X connect 1 0 2 0;
+#X connect 3 1 1 0;
+#X restore 72 145 pd Gem.init;
+#X obj 265 98 color 0 0 1 0.5;
+#X obj 265 229 pix_texture;
+#X obj 265 182 pix_image ../data/dancer.JPG;
+#X obj 265 251 alpha;
+#X obj 265 207 pix_alpha;
+#X obj 265 68 gemhead 50;
+#X obj 681 244 alpha;
+#X obj 681 173 gemhead 50;
+#X obj 681 197 color 0 1 0 0.5;
+#X obj 681 222 translateXYZ 0 -0.5 -1;
+#X obj 849 123 int 0;
+#X obj 891 123 + 1;
+#X obj 849 100 metro 50;
+#X obj 923 122 % 50;
+#X obj 849 81 tgl 15 0 empty render_onoff empty 0 -6 0 8 -262144 -1
+-1 0 1;
+#X obj 849 146 / 25;
+#X obj 849 168 - 1;
+#X msg 681 124 set \$1;
+#X floatatom 681 101 5 0 0 0 - - -;
+#X msg 679 9 40;
+#X msg 696 32 60;
+#X obj 849 191 t f f;
+#X msg 709 54 auto;
+#N canvas 189 208 450 300 set-priority 0;
+#X obj 103 59 inlet;
+#X obj 94 277 outlet;
+#X obj 103 96 route auto;
+#X obj 352 59 inlet;
+#X obj 352 88 < 0;
+#X obj 352 112 change;
+#X obj 352 135 select 1 0;
+#X msg 327 169 40;
+#X msg 363 170 60;
+#X obj 94 247 spigot;
+#X obj 168 120 t f b;
+#X msg 198 145 0;
+#X msg 103 117 10;
+#X obj 103 138 t f f;
+#X connect 0 0 2 0;
+#X connect 2 0 12 0;
+#X connect 2 1 10 0;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 5 0 6 0;
+#X connect 6 0 7 0;
+#X connect 6 1 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 9 0;
+#X connect 9 0 1 0;
+#X connect 10 0 1 0;
+#X connect 10 1 11 0;
+#X connect 11 0 9 1;
+#X connect 12 0 13 0;
+#X connect 13 0 9 1;
+#X connect 13 1 5 0;
+#X restore 693 76 pd set-priority;
+#X obj 265 272 square 3;
+#X obj 681 266 square 3;
+#X text 866 81 movement on/off;
+#X text 736 9 priority 40 (<50);
+#X text 735 28 priority 60 (>50);
+#X text 748 51 dynamic ordering;
+#X text 218 299 the rendering order does matter \, when doing things
+like alpha-blending: alpha-blending only works if the semi-transparent
+(alpha<1) object is rendered AFTER the objects that shine through;
+#X text 596 291 this turns out to be a problem in dynamic scenes (eg:
+with moving objects/viewpoint):: if a semi-transparent object used
+to be "in front" of another semi-transparent object \, but suddenly
+becomes "behind" \, the rendering order has to be changed. do this
+\, by giving the [gemhead] a "set" message;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 72 168 pd gemwin;
+#X connect 1 0 34 0;
+#X connect 2 0 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 6 0;
+#X connect 5 0 26 0;
+#X connect 6 0 3 0;
+#X connect 7 0 2 0;
+#X connect 8 0 27 0;
+#X connect 9 0 10 0;
+#X connect 10 0 11 0;
+#X connect 11 0 8 0;
+#X connect 12 0 13 0;
+#X connect 12 0 17 0;
+#X connect 13 0 15 0;
+#X connect 14 0 12 0;
+#X connect 15 0 12 1;
+#X connect 16 0 14 0;
+#X connect 17 0 18 0;
+#X connect 18 0 23 0;
+#X connect 19 0 9 0;
+#X connect 20 0 19 0;
+#X connect 21 0 25 0;
+#X connect 22 0 25 0;
+#X connect 23 0 11 3;
+#X connect 23 1 25 1;
+#X connect 24 0 25 0;
+#X connect 25 0 20 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/02.advanced/15.GemWin.pd b/packages/noncvs/windows/extra/Gem/examples/02.advanced/15.GemWin.pd
index a414b15b..3eb05764 100644
--- a/packages/noncvs/windows/extra/Gem/examples/02.advanced/15.GemWin.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/02.advanced/15.GemWin.pd
@@ -1,73 +1,73 @@
-#N canvas 51 56 650 553 10;
-#X obj 53 224 gemwin;
-#X obj 38 397 gemmouse;
-#X obj 109 206 r gemwin_mess;
-#X obj 63 459 s gemwin_mess;
-#X obj 63 418 del 100;
-#X msg 63 439 destroy;
-#X obj 15 86 cnv 15 100 100 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X msg 53 105 create;
-#X msg 26 143 destroy;
-#X obj 238 3 cnv 15 400 480 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X obj 14 296 cnv 15 180 80 empty empty cursor 20 0 0 14 -195568 -66577
-0;
-#X msg 20 327 \; gemwin_mess cursor \$1;
-#X obj 20 308 tgl 15 1 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
-;
-#X text 39 306 show/hide cursor;
-#X text 32 484 press the left-mouse-button to kill the gem-window;
-#X obj 247 36 cnv 15 380 120 empty empty title-bar 20 0 0 14 -233017
--66577 0;
-#X msg 253 49 title Graphic's_Environment_for_Multimedia;
-#X msg 286 94 title \$1;
-#X symbolatom 286 72 10 0 0;
-#X text 359 94 type your own title;
-#X obj 253 125 s gemwin_mess;
-#X obj 247 259 cnv 15 380 120 empty empty dimensions+positioning 20
-0 0 14 -233017 -66577 0;
-#X obj 253 348 s gemwin_mess;
-#X obj 248 167 cnv 15 380 80 empty empty window-decorations 20 0 0
-14 -233017 -66577 0;
-#X obj 258 185 tgl 15 1 empty empty empty 0 -6 0 8 -262144 -1 -1 1
-1;
-#X msg 258 204 \; gemwin_mess border \$1;
-#X msg 253 285 dimen 500 500;
-#X msg 273 315 dimen 200 421;
-#X obj 417 347 s gemwin_mess;
-#X msg 417 284 offset 0 0;
-#X msg 437 314 offset 500 70;
-#X text 277 183 with/out borders;
-#X text 534 282 offset might;
-#X text 540 298 work only;
-#X text 552 315 without;
-#X text 548 330 borders !;
-#X obj 247 391 cnv 15 380 80 empty empty full-screen 20 0 0 14 -233017
--66577 0;
-#X obj 257 409 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
-1;
-#X msg 257 428 \; gemwin_mess fullscreen \$1;
-#X text 276 407 fullscreen/windowed;
-#X text 11 14 how to control the GEM-window;
-#X text 291 7 use these BEFORE creating the window!;
-#X text 466 398 titles \, borders \,;
-#X text 458 415 dimensions & offsets;
-#X text 468 432 mean nothing in;
-#X text 463 448 fullscreen mode !;
-#X connect 1 2 4 0;
-#X connect 2 0 0 0;
-#X connect 4 0 5 0;
-#X connect 5 0 3 0;
-#X connect 7 0 0 0;
-#X connect 8 0 0 0;
-#X connect 12 0 11 0;
-#X connect 16 0 20 0;
-#X connect 17 0 20 0;
-#X connect 18 0 17 0;
-#X connect 24 0 25 0;
-#X connect 26 0 22 0;
-#X connect 27 0 22 0;
-#X connect 29 0 28 0;
-#X connect 30 0 28 0;
-#X connect 37 0 38 0;
+#N canvas 51 56 650 553 10;
+#X obj 53 224 gemwin;
+#X obj 38 397 gemmouse;
+#X obj 109 206 r gemwin_mess;
+#X obj 63 459 s gemwin_mess;
+#X obj 63 418 del 100;
+#X msg 63 439 destroy;
+#X obj 15 86 cnv 15 100 100 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X msg 53 105 create;
+#X msg 26 143 destroy;
+#X obj 238 3 cnv 15 400 480 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X obj 14 296 cnv 15 180 80 empty empty cursor 20 0 0 14 -195568 -66577
+0;
+#X msg 20 327 \; gemwin_mess cursor \$1;
+#X obj 20 308 tgl 15 1 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
+;
+#X text 39 306 show/hide cursor;
+#X text 32 484 press the left-mouse-button to kill the gem-window;
+#X obj 247 36 cnv 15 380 120 empty empty title-bar 20 0 0 14 -233017
+-66577 0;
+#X msg 253 49 title Graphic's_Environment_for_Multimedia;
+#X msg 286 94 title \$1;
+#X symbolatom 286 72 10 0 0;
+#X text 359 94 type your own title;
+#X obj 253 125 s gemwin_mess;
+#X obj 247 259 cnv 15 380 120 empty empty dimensions+positioning 20
+0 0 14 -233017 -66577 0;
+#X obj 253 348 s gemwin_mess;
+#X obj 248 167 cnv 15 380 80 empty empty window-decorations 20 0 0
+14 -233017 -66577 0;
+#X obj 258 185 tgl 15 1 empty empty empty 0 -6 0 8 -262144 -1 -1 1
+1;
+#X msg 258 204 \; gemwin_mess border \$1;
+#X msg 253 285 dimen 500 500;
+#X msg 273 315 dimen 200 421;
+#X obj 417 347 s gemwin_mess;
+#X msg 417 284 offset 0 0;
+#X msg 437 314 offset 500 70;
+#X text 277 183 with/out borders;
+#X text 534 282 offset might;
+#X text 540 298 work only;
+#X text 552 315 without;
+#X text 548 330 borders !;
+#X obj 247 391 cnv 15 380 80 empty empty full-screen 20 0 0 14 -233017
+-66577 0;
+#X obj 257 409 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
+1;
+#X msg 257 428 \; gemwin_mess fullscreen \$1;
+#X text 276 407 fullscreen/windowed;
+#X text 11 14 how to control the GEM-window;
+#X text 291 7 use these BEFORE creating the window!;
+#X text 466 398 titles \, borders \,;
+#X text 458 415 dimensions & offsets;
+#X text 468 432 mean nothing in;
+#X text 463 448 fullscreen mode !;
+#X connect 1 2 4 0;
+#X connect 2 0 0 0;
+#X connect 4 0 5 0;
+#X connect 5 0 3 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X connect 12 0 11 0;
+#X connect 16 0 20 0;
+#X connect 17 0 20 0;
+#X connect 18 0 17 0;
+#X connect 24 0 25 0;
+#X connect 26 0 22 0;
+#X connect 27 0 22 0;
+#X connect 29 0 28 0;
+#X connect 30 0 28 0;
+#X connect 37 0 38 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/02.advanced/16.vertex_program.pd b/packages/noncvs/windows/extra/Gem/examples/02.advanced/16.vertex_program.pd
index 3d940b43..17b6fbd5 100644
--- a/packages/noncvs/windows/extra/Gem/examples/02.advanced/16.vertex_program.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/02.advanced/16.vertex_program.pd
@@ -1,189 +1,189 @@
-#N canvas 27 90 540 557 10;
-#X obj 404 142 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 235 42 gemhead;
-#X obj 235 111 pix_texture;
-#X obj 235 497 rotateXYZ;
-#X obj 106 467 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
--262144 -1 -1 0 256;
-#X obj 167 467 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
--262144 -1 -1 0 256;
-#X obj 395 250 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
--262144 -1 -1 -0.25 256;
-#X obj 425 267 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
--262144 -1 -1 0.5 256;
-#X obj 458 285 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
--262144 -1 -1 0.2 256;
-#X obj 425 304 t b f;
-#X obj 462 304 t b f;
-#X obj 303 413 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
--262144 -1 -1 34336 256;
-#X obj 371 355 nbx 5 14 -1e+37 1e+37 0 0 empty empty parameter# 0 -6
-0 10 -262144 -1 -1 0 256;
-#X obj 440 324 pack 0 0 0 0;
-#X obj 235 431 GEMglProgramEnvParameter4fvARB;
-#X obj 242 358 loadbang;
-#X obj 242 390 GLdefine GL_VERTEX_PROGRAM_ARB;
-#X text 253 374 GL_VERTEX_PROGRAM_ARB = 34336;
-#X msg 188 136 print;
-#X text 382 23 open a texture;
-#X text 343 123 open a vertex-program;
-#X text 420 469 open a model;
-#N canvas 0 0 450 300 defaults 0;
-#X obj 112 43 loadbang;
-#X msg 102 121 0;
-#X obj 102 186 outlet;
-#X obj 102 84 t b b;
-#X obj 164 156 unpack 0 0 0;
-#X obj 168 188 outlet;
-#X obj 217 189 outlet;
-#X obj 263 189 outlet;
-#X text 101 208 param#;
-#X text 205 216 param-values;
-#X obj 179 44 inlet;
-#X msg 161 122 -0.25 0.5 0.2;
-#X connect 0 0 3 0;
-#X connect 1 0 2 0;
-#X connect 3 0 1 0;
-#X connect 3 1 11 0;
-#X connect 4 0 5 0;
-#X connect 4 1 6 0;
-#X connect 4 2 7 0;
-#X connect 10 0 3 0;
-#X connect 11 0 4 0;
-#X restore 371 228 pd defaults;
-#X msg 371 211 default;
-#X obj 235 531 model ../data/venus.obj;
-#X obj 235 82 pix_image ../data/64shade.tif;
-#N canvas 0 0 450 300 open 0;
-#X obj 75 103 openpanel;
-#X obj 75 173 outlet;
-#X obj 75 127 t b s;
-#X msg 105 152 set open \$1;
-#X obj 75 80 inlet;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 2 1 3 0;
-#X connect 3 0 1 0;
-#X connect 4 0 0 0;
-#X restore 347 141 pd open;
-#X obj 418 46 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#N canvas 0 0 450 300 open 0;
-#X obj 75 103 openpanel;
-#X obj 75 173 outlet;
-#X obj 75 127 t b s;
-#X msg 105 152 set open \$1;
-#X obj 75 80 inlet;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 2 1 3 0;
-#X connect 3 0 1 0;
-#X connect 4 0 0 0;
-#X restore 361 45 pd open;
-#X msg 361 65 open ../data/64shade.tif;
-#X obj 434 495 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#N canvas 0 0 450 300 open 0;
-#X obj 75 103 openpanel;
-#X obj 75 173 outlet;
-#X obj 75 127 t b s;
-#X msg 105 152 set open \$1;
-#X obj 75 80 inlet;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 2 1 3 0;
-#X connect 3 0 1 0;
-#X connect 4 0 0 0;
-#X restore 377 494 pd open;
-#X msg 377 514 open ../data/venus.obj;
-#X obj 44 467 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
--262144 -1 -1 0 256;
-#X msg 66 313 bang;
-#X text 60 294 2nd click me;
-#X obj 143 330 t b b b;
-#X text 54 448 3rd play me;
-#X text 79 18 1st click me;
-#X text 295 275 4th play me;
-#X msg 347 161 open ../data/toon.vp;
-#X obj 235 178 vertex_program ../data/toon.vp;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 54 83 pd gemwin;
-#X connect 0 0 26 0;
-#X connect 1 0 25 0;
-#X connect 2 0 41 0;
-#X connect 3 0 24 0;
-#X connect 4 0 3 2;
-#X connect 5 0 3 3;
-#X connect 6 0 13 0;
-#X connect 7 0 9 0;
-#X connect 8 0 10 0;
-#X connect 9 0 13 0;
-#X connect 9 1 13 1;
-#X connect 10 0 13 0;
-#X connect 10 1 13 2;
-#X connect 11 0 14 1;
-#X connect 12 0 14 2;
-#X connect 13 0 14 3;
-#X connect 14 0 3 0;
-#X connect 15 0 16 0;
-#X connect 16 0 11 0;
-#X connect 18 0 41 0;
-#X connect 22 0 12 0;
-#X connect 22 1 6 0;
-#X connect 22 2 7 0;
-#X connect 22 3 8 0;
-#X connect 23 0 22 0;
-#X connect 25 0 2 0;
-#X connect 26 0 40 0;
-#X connect 27 0 28 0;
-#X connect 28 0 29 0;
-#X connect 29 0 25 0;
-#X connect 30 0 31 0;
-#X connect 31 0 32 0;
-#X connect 32 0 24 0;
-#X connect 33 0 3 1;
-#X connect 34 0 36 0;
-#X connect 36 0 32 0;
-#X connect 36 1 40 0;
-#X connect 36 2 29 0;
-#X connect 40 0 41 0;
-#X connect 41 0 14 0;
+#N canvas 27 90 540 557 10;
+#X obj 404 142 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 235 42 gemhead;
+#X obj 235 111 pix_texture;
+#X obj 235 497 rotateXYZ;
+#X obj 106 467 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
+-262144 -1 -1 0 256;
+#X obj 167 467 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
+-262144 -1 -1 0 256;
+#X obj 395 250 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
+-262144 -1 -1 -0.25 256;
+#X obj 425 267 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
+-262144 -1 -1 0.5 256;
+#X obj 458 285 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
+-262144 -1 -1 0.2 256;
+#X obj 425 304 t b f;
+#X obj 462 304 t b f;
+#X obj 303 413 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
+-262144 -1 -1 34336 256;
+#X obj 371 355 nbx 5 14 -1e+37 1e+37 0 0 empty empty parameter# 0 -6
+0 10 -262144 -1 -1 0 256;
+#X obj 440 324 pack 0 0 0 0;
+#X obj 235 431 GEMglProgramEnvParameter4fvARB;
+#X obj 242 358 loadbang;
+#X obj 242 390 GLdefine GL_VERTEX_PROGRAM_ARB;
+#X text 253 374 GL_VERTEX_PROGRAM_ARB = 34336;
+#X msg 188 136 print;
+#X text 382 23 open a texture;
+#X text 343 123 open a vertex-program;
+#X text 420 469 open a model;
+#N canvas 0 0 450 300 defaults 0;
+#X obj 112 43 loadbang;
+#X msg 102 121 0;
+#X obj 102 186 outlet;
+#X obj 102 84 t b b;
+#X obj 164 156 unpack 0 0 0;
+#X obj 168 188 outlet;
+#X obj 217 189 outlet;
+#X obj 263 189 outlet;
+#X text 101 208 param#;
+#X text 205 216 param-values;
+#X obj 179 44 inlet;
+#X msg 161 122 -0.25 0.5 0.2;
+#X connect 0 0 3 0;
+#X connect 1 0 2 0;
+#X connect 3 0 1 0;
+#X connect 3 1 11 0;
+#X connect 4 0 5 0;
+#X connect 4 1 6 0;
+#X connect 4 2 7 0;
+#X connect 10 0 3 0;
+#X connect 11 0 4 0;
+#X restore 371 228 pd defaults;
+#X msg 371 211 default;
+#X obj 235 531 model ../data/venus.obj;
+#X obj 235 82 pix_image ../data/64shade.tif;
+#N canvas 0 0 450 300 open 0;
+#X obj 75 103 openpanel;
+#X obj 75 173 outlet;
+#X obj 75 127 t b s;
+#X msg 105 152 set open \$1;
+#X obj 75 80 inlet;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 2 1 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 0 0;
+#X restore 347 141 pd open;
+#X obj 418 46 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#N canvas 0 0 450 300 open 0;
+#X obj 75 103 openpanel;
+#X obj 75 173 outlet;
+#X obj 75 127 t b s;
+#X msg 105 152 set open \$1;
+#X obj 75 80 inlet;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 2 1 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 0 0;
+#X restore 361 45 pd open;
+#X msg 361 65 open ../data/64shade.tif;
+#X obj 434 495 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#N canvas 0 0 450 300 open 0;
+#X obj 75 103 openpanel;
+#X obj 75 173 outlet;
+#X obj 75 127 t b s;
+#X msg 105 152 set open \$1;
+#X obj 75 80 inlet;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 2 1 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 0 0;
+#X restore 377 494 pd open;
+#X msg 377 514 open ../data/venus.obj;
+#X obj 44 467 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
+-262144 -1 -1 0 256;
+#X msg 66 313 bang;
+#X text 60 294 2nd click me;
+#X obj 143 330 t b b b;
+#X text 54 448 3rd play me;
+#X text 79 18 1st click me;
+#X text 295 275 4th play me;
+#X msg 347 161 open ../data/toon.vp;
+#X obj 235 178 vertex_program ../data/toon.vp;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 54 83 pd gemwin;
+#X connect 0 0 26 0;
+#X connect 1 0 25 0;
+#X connect 2 0 41 0;
+#X connect 3 0 24 0;
+#X connect 4 0 3 2;
+#X connect 5 0 3 3;
+#X connect 6 0 13 0;
+#X connect 7 0 9 0;
+#X connect 8 0 10 0;
+#X connect 9 0 13 0;
+#X connect 9 1 13 1;
+#X connect 10 0 13 0;
+#X connect 10 1 13 2;
+#X connect 11 0 14 1;
+#X connect 12 0 14 2;
+#X connect 13 0 14 3;
+#X connect 14 0 3 0;
+#X connect 15 0 16 0;
+#X connect 16 0 11 0;
+#X connect 18 0 41 0;
+#X connect 22 0 12 0;
+#X connect 22 1 6 0;
+#X connect 22 2 7 0;
+#X connect 22 3 8 0;
+#X connect 23 0 22 0;
+#X connect 25 0 2 0;
+#X connect 26 0 40 0;
+#X connect 27 0 28 0;
+#X connect 28 0 29 0;
+#X connect 29 0 25 0;
+#X connect 30 0 31 0;
+#X connect 31 0 32 0;
+#X connect 32 0 24 0;
+#X connect 33 0 3 1;
+#X connect 34 0 36 0;
+#X connect 36 0 32 0;
+#X connect 36 1 40 0;
+#X connect 36 2 29 0;
+#X connect 40 0 41 0;
+#X connect 41 0 14 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/02.advanced/17.fragment_program.pd b/packages/noncvs/windows/extra/Gem/examples/02.advanced/17.fragment_program.pd
index 2b1ce3b1..f40e7b14 100644
--- a/packages/noncvs/windows/extra/Gem/examples/02.advanced/17.fragment_program.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/02.advanced/17.fragment_program.pd
@@ -1,126 +1,126 @@
-#N canvas 27 90 540 557 10;
-#X obj 404 142 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 235 42 gemhead;
-#X obj 235 497 rotateXYZ;
-#X obj 106 467 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
--262144 -1 -1 0 256;
-#X obj 167 467 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
--262144 -1 -1 0 256;
-#X msg 188 136 print;
-#X text 343 123 open a vertex-program;
-#X text 420 469 open a model;
-#X obj 235 531 model ../data/venus.obj;
-#N canvas 0 0 450 300 open 0;
-#X obj 75 103 openpanel;
-#X obj 75 173 outlet;
-#X obj 75 127 t b s;
-#X msg 105 152 set open \$1;
-#X obj 75 80 inlet;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 2 1 3 0;
-#X connect 3 0 1 0;
-#X connect 4 0 0 0;
-#X restore 347 141 pd open;
-#X obj 434 495 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#N canvas 0 0 450 300 open 0;
-#X obj 75 103 openpanel;
-#X obj 75 173 outlet;
-#X obj 75 127 t b s;
-#X msg 105 152 set open \$1;
-#X obj 75 80 inlet;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 2 1 3 0;
-#X connect 3 0 1 0;
-#X connect 4 0 0 0;
-#X restore 377 494 pd open;
-#X msg 377 514 open ../data/venus.obj;
-#X obj 44 467 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
--262144 -1 -1 0 256;
-#X msg 66 313 bang;
-#X text 60 294 2nd click me;
-#X obj 143 330 t b b b;
-#X text 54 448 3rd play me;
-#X msg 347 161 open ../data/random.fp;
-#X floatatom 318 49 5 0 0 0 - - -;
-#X obj 235 85 colorRGB 1 1 1;
-#X obj 66 247 world_light;
-#X obj 60 214 gemhead 1;
-#X obj 235 178 fragment_program ../data/random.fp;
-#X text 362 48 play me;
-#X obj 380 390 gemhead;
-#X obj 380 412 translateXYZ -2 0 0;
-#X obj 235 416 translateXYZ 2 0 0;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 70 126 pd gemwin;
-#N canvas 0 0 450 300 Gem.init 0;
-#X obj 85 239 outlet;
-#X msg 85 215 reset \, lighting 1;
-#X obj 85 192 loadbang;
-#X connect 1 0 0 0;
-#X connect 2 0 1 0;
-#X restore 70 104 pd Gem.init;
-#X connect 0 0 9 0;
-#X connect 1 0 20 0;
-#X connect 2 0 8 0;
-#X connect 3 0 2 2;
-#X connect 4 0 2 3;
-#X connect 5 0 23 0;
-#X connect 9 0 18 0;
-#X connect 10 0 11 0;
-#X connect 11 0 12 0;
-#X connect 12 0 8 0;
-#X connect 13 0 2 1;
-#X connect 14 0 16 0;
-#X connect 16 0 12 0;
-#X connect 16 1 18 0;
-#X connect 18 0 23 0;
-#X connect 19 0 20 2;
-#X connect 20 0 23 0;
-#X connect 22 0 21 0;
-#X connect 23 0 27 0;
-#X connect 25 0 26 0;
-#X connect 26 0 2 0;
-#X connect 27 0 2 0;
-#X connect 29 0 28 0;
+#N canvas 27 90 540 557 10;
+#X obj 404 142 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 235 42 gemhead;
+#X obj 235 497 rotateXYZ;
+#X obj 106 467 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
+-262144 -1 -1 0 256;
+#X obj 167 467 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
+-262144 -1 -1 0 256;
+#X msg 188 136 print;
+#X text 343 123 open a vertex-program;
+#X text 420 469 open a model;
+#X obj 235 531 model ../data/venus.obj;
+#N canvas 0 0 450 300 open 0;
+#X obj 75 103 openpanel;
+#X obj 75 173 outlet;
+#X obj 75 127 t b s;
+#X msg 105 152 set open \$1;
+#X obj 75 80 inlet;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 2 1 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 0 0;
+#X restore 347 141 pd open;
+#X obj 434 495 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#N canvas 0 0 450 300 open 0;
+#X obj 75 103 openpanel;
+#X obj 75 173 outlet;
+#X obj 75 127 t b s;
+#X msg 105 152 set open \$1;
+#X obj 75 80 inlet;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 2 1 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 0 0;
+#X restore 377 494 pd open;
+#X msg 377 514 open ../data/venus.obj;
+#X obj 44 467 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
+-262144 -1 -1 0 256;
+#X msg 66 313 bang;
+#X text 60 294 2nd click me;
+#X obj 143 330 t b b b;
+#X text 54 448 3rd play me;
+#X msg 347 161 open ../data/random.fp;
+#X floatatom 318 49 5 0 0 0 - - -;
+#X obj 235 85 colorRGB 1 1 1;
+#X obj 66 247 world_light;
+#X obj 60 214 gemhead 1;
+#X obj 235 178 fragment_program ../data/random.fp;
+#X text 362 48 play me;
+#X obj 380 390 gemhead;
+#X obj 380 412 translateXYZ -2 0 0;
+#X obj 235 416 translateXYZ 2 0 0;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 70 126 pd gemwin;
+#N canvas 0 0 450 300 Gem.init 0;
+#X obj 85 239 outlet;
+#X msg 85 215 reset \, lighting 1;
+#X obj 85 192 loadbang;
+#X connect 1 0 0 0;
+#X connect 2 0 1 0;
+#X restore 70 104 pd Gem.init;
+#X connect 0 0 9 0;
+#X connect 1 0 20 0;
+#X connect 2 0 8 0;
+#X connect 3 0 2 2;
+#X connect 4 0 2 3;
+#X connect 5 0 23 0;
+#X connect 9 0 18 0;
+#X connect 10 0 11 0;
+#X connect 11 0 12 0;
+#X connect 12 0 8 0;
+#X connect 13 0 2 1;
+#X connect 14 0 16 0;
+#X connect 16 0 12 0;
+#X connect 16 1 18 0;
+#X connect 18 0 23 0;
+#X connect 19 0 20 2;
+#X connect 20 0 23 0;
+#X connect 22 0 21 0;
+#X connect 23 0 27 0;
+#X connect 25 0 26 0;
+#X connect 26 0 2 0;
+#X connect 27 0 2 0;
+#X connect 29 0 28 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/02.advanced/18.gl_shading_language.pd b/packages/noncvs/windows/extra/Gem/examples/02.advanced/18.gl_shading_language.pd
index 2562b275..682a54f4 100644
--- a/packages/noncvs/windows/extra/Gem/examples/02.advanced/18.gl_shading_language.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/02.advanced/18.gl_shading_language.pd
@@ -1,182 +1,182 @@
-#N canvas 54 22 842 789 10;
-#X obj 225 24 gemhead 1;
-#X obj 225 47 world_light;
-#X obj 77 112 gemhead;
-#X obj 77 171 glsl_vertex;
-#X obj 148 131 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X text 170 129 open a vertex-program;
-#N canvas 0 22 450 300 open 0;
-#X obj 75 103 openpanel;
-#X obj 75 173 outlet;
-#X obj 75 127 t b s;
-#X msg 105 152 set open \$1;
-#X obj 75 80 inlet;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 2 1 3 0;
-#X connect 3 0 1 0;
-#X connect 4 0 0 0;
-#X restore 91 130 pd open;
-#X msg 35 142 print;
-#X obj 77 733 rotateXYZ;
-#X obj 126 714 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
--262144 -1 -1 0 256;
-#X obj 126 697 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
--262144 -1 -1 0 256;
-#X obj 126 680 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
--262144 -1 -1 0 256;
-#X obj 206 25 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X obj 77 576 glsl_program;
-#X obj 150 393 pack 0 0;
-#X obj 143 246 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#N canvas 0 22 450 300 open 0;
-#X obj 75 103 openpanel;
-#X obj 75 173 outlet;
-#X obj 75 127 t b s;
-#X msg 105 152 set open \$1;
-#X obj 75 80 inlet;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 2 1 3 0;
-#X connect 3 0 1 0;
-#X connect 4 0 0 0;
-#X restore 86 245 pd open;
-#X text 164 244 open a fragment-program;
-#X msg 34 266 print;
-#X obj 171 373 t b f;
-#X msg 335 92 bang;
-#X obj 77 753 teapot;
-#X obj 171 328 change;
-#X obj 149 190 change;
-#X msg 150 433 link \$1 \$2;
-#X msg 33 486 print;
-#X msg 266 546 Phong \$1;
-#X obj 269 508 hsl 128 15 -1 1 0 0 empty empty empty -2 -6 0 8 -262144
--1 -1 0 1;
-#X floatatom 266 528 5 0 0 0 - - -;
-#X obj 77 612 t a b;
-#X obj 107 632 spigot;
-#X obj 144 614 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X obj 107 652 i;
-#X obj 135 652 + 1;
-#X obj 163 652 % 360;
-#X text 435 96 click here to load both the vertex- and the fragment-shader
-;
-#X text 165 172 the vertex shader;
-#X obj 77 308 glsl_fragment;
-#X text 191 311 the fragment shader;
-#X text 222 395 whenever either the fragment-shader ID or the vertex-shader
-ID has changed \, we trigger the linking of the 2 modules;
-#X floatatom 171 354 2 0 0 0 ID - -;
-#X floatatom 149 213 2 0 0 0 ID - -;
-#X obj 168 454 print linking;
-#X text 264 441 order of module IDs does not matter...;
-#X text 96 487 after linking \, click "print" to get some info about
-the compiled shader program;
-#X text 330 550 the Toon-shader has a unifom variable "Phong" (see
-"print") \, which we can change to modify the effect.;
-#X text 213 264 pd's search path is searched for the given filename
-\; just add the examples/data folder to your path options and this
-example should work;
-#X obj 335 133 t s s;
-#X msg 91 150 open \$1.vert;
-#X msg 86 265 open \$1.frag;
-#X symbolatom 381 93 0 0 0 0 - - -;
-#X obj 335 114 symbol ../data/Toon;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 1 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 39 51 pd gemwin;
-#X msg 39 29 lighting \$1;
-#X obj 39 10 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1
-;
-#X connect 0 0 1 0;
-#X connect 2 0 3 0;
-#X connect 3 0 37 0;
-#X connect 3 1 23 0;
-#X connect 4 0 6 0;
-#X connect 6 0 48 0;
-#X connect 7 0 3 0;
-#X connect 8 0 21 0;
-#X connect 9 0 8 3;
-#X connect 10 0 8 2;
-#X connect 11 0 8 1;
-#X connect 12 0 0 0;
-#X connect 13 0 29 0;
-#X connect 14 0 24 0;
-#X connect 15 0 16 0;
-#X connect 16 0 49 0;
-#X connect 18 0 37 0;
-#X connect 19 0 14 0;
-#X connect 19 1 14 1;
-#X connect 20 0 51 0;
-#X connect 22 0 40 0;
-#X connect 23 0 41 0;
-#X connect 24 0 13 0;
-#X connect 24 0 42 0;
-#X connect 25 0 13 0;
-#X connect 26 0 13 0;
-#X connect 27 0 28 0;
-#X connect 28 0 26 0;
-#X connect 29 0 8 0;
-#X connect 29 1 30 0;
-#X connect 30 0 32 0;
-#X connect 31 0 30 1;
-#X connect 32 0 33 0;
-#X connect 32 0 11 0;
-#X connect 32 0 10 0;
-#X connect 32 0 9 0;
-#X connect 33 0 34 0;
-#X connect 34 0 32 1;
-#X connect 37 0 13 0;
-#X connect 37 1 22 0;
-#X connect 40 0 19 0;
-#X connect 41 0 14 0;
-#X connect 47 0 48 0;
-#X connect 47 1 49 0;
-#X connect 48 0 3 0;
-#X connect 49 0 37 0;
-#X connect 50 0 51 0;
-#X connect 51 0 47 0;
-#X connect 53 0 52 0;
-#X connect 54 0 53 0;
+#N canvas 54 22 842 789 10;
+#X obj 225 24 gemhead 1;
+#X obj 225 47 world_light;
+#X obj 77 112 gemhead;
+#X obj 77 171 glsl_vertex;
+#X obj 148 131 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X text 170 129 open a vertex-program;
+#N canvas 0 22 450 300 open 0;
+#X obj 75 103 openpanel;
+#X obj 75 173 outlet;
+#X obj 75 127 t b s;
+#X msg 105 152 set open \$1;
+#X obj 75 80 inlet;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 2 1 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 0 0;
+#X restore 91 130 pd open;
+#X msg 35 142 print;
+#X obj 77 733 rotateXYZ;
+#X obj 126 714 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
+-262144 -1 -1 0 256;
+#X obj 126 697 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
+-262144 -1 -1 0 256;
+#X obj 126 680 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
+-262144 -1 -1 0 256;
+#X obj 206 25 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 77 576 glsl_program;
+#X obj 150 393 pack 0 0;
+#X obj 143 246 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#N canvas 0 22 450 300 open 0;
+#X obj 75 103 openpanel;
+#X obj 75 173 outlet;
+#X obj 75 127 t b s;
+#X msg 105 152 set open \$1;
+#X obj 75 80 inlet;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 2 1 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 0 0;
+#X restore 86 245 pd open;
+#X text 164 244 open a fragment-program;
+#X msg 34 266 print;
+#X obj 171 373 t b f;
+#X msg 335 92 bang;
+#X obj 77 753 teapot;
+#X obj 171 328 change;
+#X obj 149 190 change;
+#X msg 150 433 link \$1 \$2;
+#X msg 33 486 print;
+#X msg 266 546 Phong \$1;
+#X obj 269 508 hsl 128 15 -1 1 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X floatatom 266 528 5 0 0 0 - - -;
+#X obj 77 612 t a b;
+#X obj 107 632 spigot;
+#X obj 144 614 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 107 652 i;
+#X obj 135 652 + 1;
+#X obj 163 652 % 360;
+#X text 435 96 click here to load both the vertex- and the fragment-shader
+;
+#X text 165 172 the vertex shader;
+#X obj 77 308 glsl_fragment;
+#X text 191 311 the fragment shader;
+#X text 222 395 whenever either the fragment-shader ID or the vertex-shader
+ID has changed \, we trigger the linking of the 2 modules;
+#X floatatom 171 354 2 0 0 0 ID - -;
+#X floatatom 149 213 2 0 0 0 ID - -;
+#X obj 168 454 print linking;
+#X text 264 441 order of module IDs does not matter...;
+#X text 96 487 after linking \, click "print" to get some info about
+the compiled shader program;
+#X text 330 550 the Toon-shader has a unifom variable "Phong" (see
+"print") \, which we can change to modify the effect.;
+#X text 213 264 pd's search path is searched for the given filename
+\; just add the examples/data folder to your path options and this
+example should work;
+#X obj 335 133 t s s;
+#X msg 91 150 open \$1.vert;
+#X msg 86 265 open \$1.frag;
+#X symbolatom 381 93 0 0 0 0 - - -;
+#X obj 335 114 symbol ../data/Toon;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 1 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 39 51 pd gemwin;
+#X msg 39 29 lighting \$1;
+#X obj 39 10 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1
+;
+#X connect 0 0 1 0;
+#X connect 2 0 3 0;
+#X connect 3 0 37 0;
+#X connect 3 1 23 0;
+#X connect 4 0 6 0;
+#X connect 6 0 48 0;
+#X connect 7 0 3 0;
+#X connect 8 0 21 0;
+#X connect 9 0 8 3;
+#X connect 10 0 8 2;
+#X connect 11 0 8 1;
+#X connect 12 0 0 0;
+#X connect 13 0 29 0;
+#X connect 14 0 24 0;
+#X connect 15 0 16 0;
+#X connect 16 0 49 0;
+#X connect 18 0 37 0;
+#X connect 19 0 14 0;
+#X connect 19 1 14 1;
+#X connect 20 0 51 0;
+#X connect 22 0 40 0;
+#X connect 23 0 41 0;
+#X connect 24 0 13 0;
+#X connect 24 0 42 0;
+#X connect 25 0 13 0;
+#X connect 26 0 13 0;
+#X connect 27 0 28 0;
+#X connect 28 0 26 0;
+#X connect 29 0 8 0;
+#X connect 29 1 30 0;
+#X connect 30 0 32 0;
+#X connect 31 0 30 1;
+#X connect 32 0 33 0;
+#X connect 32 0 11 0;
+#X connect 32 0 10 0;
+#X connect 32 0 9 0;
+#X connect 33 0 34 0;
+#X connect 34 0 32 1;
+#X connect 37 0 13 0;
+#X connect 37 1 22 0;
+#X connect 40 0 19 0;
+#X connect 41 0 14 0;
+#X connect 47 0 48 0;
+#X connect 47 1 49 0;
+#X connect 48 0 3 0;
+#X connect 49 0 37 0;
+#X connect 50 0 51 0;
+#X connect 51 0 47 0;
+#X connect 53 0 52 0;
+#X connect 54 0 53 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/02.advanced/19.pointer.pd b/packages/noncvs/windows/extra/Gem/examples/02.advanced/19.pointer.pd
index 7db5c4f3..f083b30a 100644
--- a/packages/noncvs/windows/extra/Gem/examples/02.advanced/19.pointer.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/02.advanced/19.pointer.pd
@@ -1,217 +1,217 @@
-#N canvas 102 54 864 638 10;
-#X obj 209 223 gemhead;
-#X obj 241 277 t a a a;
-#X obj 264 320 cube 1;
-#X obj 238 66 world_light;
-#X obj 238 41 gemhead;
-#X obj 37 226 gemhead;
-#X obj 37 321 sphere 1.3 33;
-#X obj 287 300 rotateXYZ 60 30 0;
-#X obj 37 300 rotateXYZ 60 30 0;
-#X text 36 184 #1:;
-#X text 209 181 #2:;
-#X obj 37 428 sphere 1.3 33;
-#X obj 37 407 rotateXYZ 60 30 0;
-#X obj 209 248 t a a;
-#X obj 595 288 gemlist;
-#X obj 595 223 gemhead;
-#X obj 595 250 t b b a;
-#X obj 37 202 tgl 15 1 empty empty empty 17 7 0 10 -262144 -1 -1 1
-1;
-#X obj 209 198 tgl 15 1 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X obj 595 198 tgl 15 1 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X obj 37 342 translateXYZ 2 0 0;
-#X obj 37 449 translateXYZ 2 0 0;
-#X obj 241 341 translateXYZ 2 0 0;
-#X obj 209 386 t a a a;
-#X obj 232 429 cube 1;
-#X obj 255 409 rotateXYZ 60 30 0;
-#X obj 209 450 translateXYZ 2 0 0;
-#X obj 595 410 rotateXYZ 60 30 0;
-#X obj 595 452 translateXYZ 2 0 0;
-#X obj 595 431 sphere 1.6 4;
-#X text 29 498 example #1 is the usual way to use Gem \, but the technique
-shown in example #2 can be more flexible...;
-#N canvas 186 321 446 463 more_interating_1 0;
-#X obj 22 64 gemhead;
-#X obj 22 351 rotateXYZ 0 0 12;
-#X obj 22 274 scaleXYZ 0.97 0.9 1;
-#X obj 22 296 translateXYZ 0.5 0 0;
-#X obj 22 376 circle 0.2;
-#X floatatom 131 331 5 0 0 0 - - -;
-#X obj 22 226 gemlist;
-#X obj 22 204 until;
-#X msg 22 180 100;
-#X obj 22 158 t b a;
-#X obj 22 111 translateXYZ -3 0 0;
-#X obj 22 43 tgl 15 1 empty empty empty 17 7 0 10 -262144 -1 -1 0 1
-;
-#X text 85 198 "repeat" 100 times the same "gemlist";
-#X connect 0 0 10 0;
-#X connect 1 0 4 0;
-#X connect 2 0 3 0;
-#X connect 3 0 1 0;
-#X connect 5 0 1 3;
-#X connect 6 0 2 0;
-#X connect 7 0 6 0;
-#X connect 8 0 7 0;
-#X connect 9 0 8 0;
-#X connect 9 1 6 1;
-#X connect 10 0 9 0;
-#X connect 11 0 0 0;
-#X restore 32 561 pd more_interating_1;
-#N canvas 178 159 464 582 more_interating_2 0;
-#X obj 22 69 gemhead;
-#X obj 22 377 scaleXYZ 0.97 0.9 1;
-#X obj 22 505 circle 0.2;
-#X obj 22 235 gemlist;
-#X obj 22 213 until;
-#X msg 22 189 100;
-#X obj 22 167 t b a;
-#X obj 185 322 f;
-#X obj 277 309 random 1000;
-#X obj 22 480 rotateXYZ 0 0 0;
-#X obj 185 420 *;
-#X obj 22 132 t a b;
-#X obj 22 264 t a b b;
-#X msg 277 283 seed \$1;
-#X obj 277 256 f;
-#X floatatom 295 234 5 0 0 0 - - -;
-#X obj 277 334 - 500;
-#X obj 185 441 / 1000;
-#X obj 22 400 translateXYZ -0.5 0 0;
-#X obj 22 103 translateXYZ 3 0 0;
-#X obj 22 42 tgl 15 1 empty empty empty 17 7 0 10 -262144 -1 -1 0 1
-;
-#X text 343 233 <- change random;
-#X text 276 356 rotation angle is random;
-#X text 200 390 amplitude decrease;
-#X msg 203 296 100;
-#X obj 222 351 - 1;
-#X connect 0 0 19 0;
-#X connect 1 0 18 0;
-#X connect 3 0 12 0;
-#X connect 4 0 3 0;
-#X connect 5 0 4 0;
-#X connect 6 0 5 0;
-#X connect 6 1 3 1;
-#X connect 7 0 25 0;
-#X connect 7 0 10 0;
-#X connect 8 0 16 0;
-#X connect 9 0 2 0;
-#X connect 10 0 17 0;
-#X connect 11 0 6 0;
-#X connect 11 1 24 0;
-#X connect 11 1 14 0;
-#X connect 12 0 1 0;
-#X connect 12 1 7 0;
-#X connect 12 2 8 0;
-#X connect 13 0 8 0;
-#X connect 14 0 13 0;
-#X connect 15 0 14 1;
-#X connect 16 0 10 1;
-#X connect 17 0 9 3;
-#X connect 18 0 9 0;
-#X connect 19 0 11 0;
-#X connect 20 0 0 0;
-#X connect 24 0 7 1;
-#X connect 25 0 7 1;
-#X restore 32 581 pd more_interating_2;
-#X obj 445 223 gemhead;
-#X obj 445 198 tgl 15 1 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X text 443 178 #3:;
-#X obj 445 410 rotateXYZ 60 30 0;
-#X obj 445 452 translateXYZ 2 0 0;
-#X obj 445 271 t a a;
-#X text 593 178 #4:;
-#X text 611 314 [gemlist] stores the current state;
-#X text 613 330 and outputs it when banged;
-#X text 30 528 The example #4 can easily be extended to use many primitives.
-;
-#X text 31 122 [gemhead]'s output is a special message describing the
-"state" of the system. This state is changed by the GEM objects. This
-means that the examples below are equivalent:;
-#X obj 445 431 teapot 1;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 44 55 pd gemwin;
-#N canvas 0 0 450 300 Gem.init 0;
-#X obj 94 232 outlet;
-#X obj 94 183 loadbang;
-#X msg 94 208 lighting 1;
-#X connect 1 0 2 0;
-#X connect 2 0 0 0;
-#X restore 44 36 pd Gem.init;
-#X connect 0 0 13 0;
-#X connect 1 0 22 0;
-#X connect 1 1 2 0;
-#X connect 1 2 7 0;
-#X connect 4 0 3 0;
-#X connect 5 0 8 0;
-#X connect 6 0 20 0;
-#X connect 8 0 6 0;
-#X connect 11 0 21 0;
-#X connect 12 0 11 0;
-#X connect 13 0 23 0;
-#X connect 13 1 1 0;
-#X connect 14 0 27 0;
-#X connect 15 0 16 0;
-#X connect 16 0 14 0;
-#X connect 16 1 14 0;
-#X connect 16 2 14 1;
-#X connect 17 0 5 0;
-#X connect 18 0 0 0;
-#X connect 19 0 15 0;
-#X connect 20 0 12 0;
-#X connect 23 0 26 0;
-#X connect 23 1 24 0;
-#X connect 23 2 25 0;
-#X connect 27 0 29 0;
-#X connect 29 0 28 0;
-#X connect 33 0 38 0;
-#X connect 34 0 33 0;
-#X connect 36 0 44 0;
-#X connect 38 0 36 0;
-#X connect 38 1 36 0;
-#X connect 44 0 37 0;
-#X connect 46 0 45 0;
+#N canvas 102 54 864 638 10;
+#X obj 209 223 gemhead;
+#X obj 241 277 t a a a;
+#X obj 264 320 cube 1;
+#X obj 238 66 world_light;
+#X obj 238 41 gemhead;
+#X obj 37 226 gemhead;
+#X obj 37 321 sphere 1.3 33;
+#X obj 287 300 rotateXYZ 60 30 0;
+#X obj 37 300 rotateXYZ 60 30 0;
+#X text 36 184 #1:;
+#X text 209 181 #2:;
+#X obj 37 428 sphere 1.3 33;
+#X obj 37 407 rotateXYZ 60 30 0;
+#X obj 209 248 t a a;
+#X obj 595 288 gemlist;
+#X obj 595 223 gemhead;
+#X obj 595 250 t b b a;
+#X obj 37 202 tgl 15 1 empty empty empty 17 7 0 10 -262144 -1 -1 1
+1;
+#X obj 209 198 tgl 15 1 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X obj 595 198 tgl 15 1 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X obj 37 342 translateXYZ 2 0 0;
+#X obj 37 449 translateXYZ 2 0 0;
+#X obj 241 341 translateXYZ 2 0 0;
+#X obj 209 386 t a a a;
+#X obj 232 429 cube 1;
+#X obj 255 409 rotateXYZ 60 30 0;
+#X obj 209 450 translateXYZ 2 0 0;
+#X obj 595 410 rotateXYZ 60 30 0;
+#X obj 595 452 translateXYZ 2 0 0;
+#X obj 595 431 sphere 1.6 4;
+#X text 29 498 example #1 is the usual way to use Gem \, but the technique
+shown in example #2 can be more flexible...;
+#N canvas 186 321 446 463 more_interating_1 0;
+#X obj 22 64 gemhead;
+#X obj 22 351 rotateXYZ 0 0 12;
+#X obj 22 274 scaleXYZ 0.97 0.9 1;
+#X obj 22 296 translateXYZ 0.5 0 0;
+#X obj 22 376 circle 0.2;
+#X floatatom 131 331 5 0 0 0 - - -;
+#X obj 22 226 gemlist;
+#X obj 22 204 until;
+#X msg 22 180 100;
+#X obj 22 158 t b a;
+#X obj 22 111 translateXYZ -3 0 0;
+#X obj 22 43 tgl 15 1 empty empty empty 17 7 0 10 -262144 -1 -1 0 1
+;
+#X text 85 198 "repeat" 100 times the same "gemlist";
+#X connect 0 0 10 0;
+#X connect 1 0 4 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 0;
+#X connect 5 0 1 3;
+#X connect 6 0 2 0;
+#X connect 7 0 6 0;
+#X connect 8 0 7 0;
+#X connect 9 0 8 0;
+#X connect 9 1 6 1;
+#X connect 10 0 9 0;
+#X connect 11 0 0 0;
+#X restore 32 561 pd more_interating_1;
+#N canvas 178 159 464 582 more_interating_2 0;
+#X obj 22 69 gemhead;
+#X obj 22 377 scaleXYZ 0.97 0.9 1;
+#X obj 22 505 circle 0.2;
+#X obj 22 235 gemlist;
+#X obj 22 213 until;
+#X msg 22 189 100;
+#X obj 22 167 t b a;
+#X obj 185 322 f;
+#X obj 277 309 random 1000;
+#X obj 22 480 rotateXYZ 0 0 0;
+#X obj 185 420 *;
+#X obj 22 132 t a b;
+#X obj 22 264 t a b b;
+#X msg 277 283 seed \$1;
+#X obj 277 256 f;
+#X floatatom 295 234 5 0 0 0 - - -;
+#X obj 277 334 - 500;
+#X obj 185 441 / 1000;
+#X obj 22 400 translateXYZ -0.5 0 0;
+#X obj 22 103 translateXYZ 3 0 0;
+#X obj 22 42 tgl 15 1 empty empty empty 17 7 0 10 -262144 -1 -1 0 1
+;
+#X text 343 233 <- change random;
+#X text 276 356 rotation angle is random;
+#X text 200 390 amplitude decrease;
+#X msg 203 296 100;
+#X obj 222 351 - 1;
+#X connect 0 0 19 0;
+#X connect 1 0 18 0;
+#X connect 3 0 12 0;
+#X connect 4 0 3 0;
+#X connect 5 0 4 0;
+#X connect 6 0 5 0;
+#X connect 6 1 3 1;
+#X connect 7 0 25 0;
+#X connect 7 0 10 0;
+#X connect 8 0 16 0;
+#X connect 9 0 2 0;
+#X connect 10 0 17 0;
+#X connect 11 0 6 0;
+#X connect 11 1 24 0;
+#X connect 11 1 14 0;
+#X connect 12 0 1 0;
+#X connect 12 1 7 0;
+#X connect 12 2 8 0;
+#X connect 13 0 8 0;
+#X connect 14 0 13 0;
+#X connect 15 0 14 1;
+#X connect 16 0 10 1;
+#X connect 17 0 9 3;
+#X connect 18 0 9 0;
+#X connect 19 0 11 0;
+#X connect 20 0 0 0;
+#X connect 24 0 7 1;
+#X connect 25 0 7 1;
+#X restore 32 581 pd more_interating_2;
+#X obj 445 223 gemhead;
+#X obj 445 198 tgl 15 1 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X text 443 178 #3:;
+#X obj 445 410 rotateXYZ 60 30 0;
+#X obj 445 452 translateXYZ 2 0 0;
+#X obj 445 271 t a a;
+#X text 593 178 #4:;
+#X text 611 314 [gemlist] stores the current state;
+#X text 613 330 and outputs it when banged;
+#X text 30 528 The example #4 can easily be extended to use many primitives.
+;
+#X text 31 122 [gemhead]'s output is a special message describing the
+"state" of the system. This state is changed by the GEM objects. This
+means that the examples below are equivalent:;
+#X obj 445 431 teapot 1;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 44 55 pd gemwin;
+#N canvas 0 0 450 300 Gem.init 0;
+#X obj 94 232 outlet;
+#X obj 94 183 loadbang;
+#X msg 94 208 lighting 1;
+#X connect 1 0 2 0;
+#X connect 2 0 0 0;
+#X restore 44 36 pd Gem.init;
+#X connect 0 0 13 0;
+#X connect 1 0 22 0;
+#X connect 1 1 2 0;
+#X connect 1 2 7 0;
+#X connect 4 0 3 0;
+#X connect 5 0 8 0;
+#X connect 6 0 20 0;
+#X connect 8 0 6 0;
+#X connect 11 0 21 0;
+#X connect 12 0 11 0;
+#X connect 13 0 23 0;
+#X connect 13 1 1 0;
+#X connect 14 0 27 0;
+#X connect 15 0 16 0;
+#X connect 16 0 14 0;
+#X connect 16 1 14 0;
+#X connect 16 2 14 1;
+#X connect 17 0 5 0;
+#X connect 18 0 0 0;
+#X connect 19 0 15 0;
+#X connect 20 0 12 0;
+#X connect 23 0 26 0;
+#X connect 23 1 24 0;
+#X connect 23 2 25 0;
+#X connect 27 0 29 0;
+#X connect 29 0 28 0;
+#X connect 33 0 38 0;
+#X connect 34 0 33 0;
+#X connect 36 0 44 0;
+#X connect 38 0 36 0;
+#X connect 38 1 36 0;
+#X connect 44 0 37 0;
+#X connect 46 0 45 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/02.advanced/20.double-gemhead_vs_repeat.pd b/packages/noncvs/windows/extra/Gem/examples/02.advanced/20.double-gemhead_vs_repeat.pd
index 518e8536..2b4542bf 100644
--- a/packages/noncvs/windows/extra/Gem/examples/02.advanced/20.double-gemhead_vs_repeat.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/02.advanced/20.double-gemhead_vs_repeat.pd
@@ -1,184 +1,184 @@
-#N canvas 265 100 742 519 10;
-#X obj 93 144 gemhead;
-#X obj 93 205 b;
-#X obj 93 124 tgl 15 1 empty empty empty 17 7 0 10 -262144 -1 -1 1
-1;
-#X obj 93 336 gemhead;
-#X msg 25 305 0;
-#X obj 25 285 loadbang;
-#X obj 93 260 t b a;
-#X obj 156 336 unpack 0 0 0;
-#X obj 93 385 translateXYZ 0 -2 0;
-#X msg 93 225 0 -2 0 \, 0 2 0;
-#X text 203 225 two messages in one;
-#X text 151 144 [gemhead]-"metro";
-#X obj 93 426 circle 0.2;
-#X text 40 25 the "double [gemhead] idiom" vs. [repeat];
-#X obj 438 146 gemhead;
-#X obj 438 128 tgl 15 1 empty empty empty 17 7 0 10 -262144 -1 -1 1
-1;
-#X obj 479 375 unpack 0 0 0;
-#X text 525 206 two messages in one;
-#X obj 438 425 square 0.2;
-#X obj 479 307 select 0 1;
-#X obj 479 284 f;
-#X obj 438 404 translateXYZ 0 0 0;
-#X obj 354 341 loadbang;
-#X msg 354 368 draw line;
-#X obj 438 206 t a a b;
-#X obj 438 229 separator;
-#X obj 438 257 t a b;
-#X msg 497 259 0;
-#X msg 479 328 0 -2 0;
-#X msg 511 348 0 2 0;
-#X obj 508 284 + 1;
-#X text 258 65 The gemhead object resets the states for OpenGL and
-also some pix_ settings. Anything after it is starts as a clean state
-similar to combining [separator] and [pix_separator]. (cc);
-#N canvas 220 0 701 555 more_on_the_"repeat"_technics 0;
-#X obj 21 54 gemhead;
-#X obj 21 281 separator;
-#X obj 21 128 t a b;
-#X msg 118 270 seed 1;
-#X obj 21 445 translateXYZ;
-#X obj 21 470 circle 0.1;
-#X obj 118 354 random 200;
-#X obj 199 354 random 200;
-#X obj 118 376 - 100;
-#X obj 199 377 - 100;
-#X obj 199 398 / 30;
-#X obj 118 397 / 30;
-#X msg 199 270 seed 2;
-#X obj 21 310 t a b b;
-#X obj 118 313 spigot 0;
-#X obj 199 312 spigot 0;
-#X obj 278 276 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X text 311 274 <- if you reset the random at the begining of each
-frame \, then all frames look the same.;
-#X obj 21 101 scaleXYZ 1 1 1;
-#X floatatom 52 80 5 0 0 0 - - -;
-#X floatatom 95 80 5 0 0 0 - - -;
-#X obj 21 230 gemlist;
-#X obj 21 208 until;
-#X msg 21 184 100;
-#X obj 21 162 t b a;
-#X text 23 504 This patch shows how to draw the same primitive with
-the a single [gemhead] many times;
-#X obj 21 35 tgl 15 1 empty empty empty 17 7 0 10 -262144 -1 -1 0 1
-;
-#X connect 0 0 18 0;
-#X connect 1 0 13 0;
-#X connect 2 0 24 0;
-#X connect 2 1 3 0;
-#X connect 2 1 12 0;
-#X connect 3 0 14 0;
-#X connect 4 0 5 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 11 0;
-#X connect 9 0 10 0;
-#X connect 10 0 4 2;
-#X connect 11 0 4 1;
-#X connect 12 0 15 0;
-#X connect 13 0 4 0;
-#X connect 13 1 6 0;
-#X connect 13 1 7 0;
-#X connect 14 0 6 0;
-#X connect 15 0 7 0;
-#X connect 16 0 14 1;
-#X connect 16 0 15 1;
-#X connect 18 0 2 0;
-#X connect 19 0 18 1;
-#X connect 20 0 18 2;
-#X connect 21 0 1 0;
-#X connect 22 0 21 0;
-#X connect 23 0 22 0;
-#X connect 24 0 23 0;
-#X connect 24 1 21 1;
-#X connect 26 0 0 0;
-#X restore 370 469 pd more_on_the_"repeat"_technics;
-#X obj 93 186 translateXYZ;
-#X floatatom 120 168 5 0 0 0 - - -;
-#X text 168 167 <- fun!;
-#X obj 438 187 translateXYZ;
-#X floatatom 465 169 5 0 0 0 - - -;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 53 69 pd gemwin;
-#X connect 0 0 33 0;
-#X connect 1 0 9 0;
-#X connect 2 0 0 0;
-#X connect 3 0 8 0;
-#X connect 4 0 3 0;
-#X connect 5 0 4 0;
-#X connect 6 0 3 0;
-#X connect 6 1 7 0;
-#X connect 7 0 8 1;
-#X connect 7 1 8 2;
-#X connect 7 2 8 3;
-#X connect 8 0 12 0;
-#X connect 9 0 6 0;
-#X connect 14 0 36 0;
-#X connect 15 0 14 0;
-#X connect 16 0 21 1;
-#X connect 16 1 21 2;
-#X connect 16 2 21 3;
-#X connect 19 0 28 0;
-#X connect 19 1 29 0;
-#X connect 20 0 19 0;
-#X connect 20 0 30 0;
-#X connect 21 0 18 0;
-#X connect 22 0 23 0;
-#X connect 23 0 18 0;
-#X connect 24 0 25 0;
-#X connect 24 1 25 0;
-#X connect 24 2 27 0;
-#X connect 25 0 26 0;
-#X connect 26 0 21 0;
-#X connect 26 1 20 0;
-#X connect 27 0 20 1;
-#X connect 28 0 16 0;
-#X connect 29 0 16 0;
-#X connect 30 0 20 1;
-#X connect 33 0 1 0;
-#X connect 34 0 33 1;
-#X connect 36 0 24 0;
-#X connect 37 0 36 1;
+#N canvas 265 100 742 519 10;
+#X obj 93 144 gemhead;
+#X obj 93 205 b;
+#X obj 93 124 tgl 15 1 empty empty empty 17 7 0 10 -262144 -1 -1 1
+1;
+#X obj 93 336 gemhead;
+#X msg 25 305 0;
+#X obj 25 285 loadbang;
+#X obj 93 260 t b a;
+#X obj 156 336 unpack 0 0 0;
+#X obj 93 385 translateXYZ 0 -2 0;
+#X msg 93 225 0 -2 0 \, 0 2 0;
+#X text 203 225 two messages in one;
+#X text 151 144 [gemhead]-"metro";
+#X obj 93 426 circle 0.2;
+#X text 40 25 the "double [gemhead] idiom" vs. [repeat];
+#X obj 438 146 gemhead;
+#X obj 438 128 tgl 15 1 empty empty empty 17 7 0 10 -262144 -1 -1 1
+1;
+#X obj 479 375 unpack 0 0 0;
+#X text 525 206 two messages in one;
+#X obj 438 425 square 0.2;
+#X obj 479 307 select 0 1;
+#X obj 479 284 f;
+#X obj 438 404 translateXYZ 0 0 0;
+#X obj 354 341 loadbang;
+#X msg 354 368 draw line;
+#X obj 438 206 t a a b;
+#X obj 438 229 separator;
+#X obj 438 257 t a b;
+#X msg 497 259 0;
+#X msg 479 328 0 -2 0;
+#X msg 511 348 0 2 0;
+#X obj 508 284 + 1;
+#X text 258 65 The gemhead object resets the states for OpenGL and
+also some pix_ settings. Anything after it is starts as a clean state
+similar to combining [separator] and [pix_separator]. (cc);
+#N canvas 220 0 701 555 more_on_the_"repeat"_technics 0;
+#X obj 21 54 gemhead;
+#X obj 21 281 separator;
+#X obj 21 128 t a b;
+#X msg 118 270 seed 1;
+#X obj 21 445 translateXYZ;
+#X obj 21 470 circle 0.1;
+#X obj 118 354 random 200;
+#X obj 199 354 random 200;
+#X obj 118 376 - 100;
+#X obj 199 377 - 100;
+#X obj 199 398 / 30;
+#X obj 118 397 / 30;
+#X msg 199 270 seed 2;
+#X obj 21 310 t a b b;
+#X obj 118 313 spigot 0;
+#X obj 199 312 spigot 0;
+#X obj 278 276 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X text 311 274 <- if you reset the random at the begining of each
+frame \, then all frames look the same.;
+#X obj 21 101 scaleXYZ 1 1 1;
+#X floatatom 52 80 5 0 0 0 - - -;
+#X floatatom 95 80 5 0 0 0 - - -;
+#X obj 21 230 gemlist;
+#X obj 21 208 until;
+#X msg 21 184 100;
+#X obj 21 162 t b a;
+#X text 23 504 This patch shows how to draw the same primitive with
+the a single [gemhead] many times;
+#X obj 21 35 tgl 15 1 empty empty empty 17 7 0 10 -262144 -1 -1 0 1
+;
+#X connect 0 0 18 0;
+#X connect 1 0 13 0;
+#X connect 2 0 24 0;
+#X connect 2 1 3 0;
+#X connect 2 1 12 0;
+#X connect 3 0 14 0;
+#X connect 4 0 5 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 11 0;
+#X connect 9 0 10 0;
+#X connect 10 0 4 2;
+#X connect 11 0 4 1;
+#X connect 12 0 15 0;
+#X connect 13 0 4 0;
+#X connect 13 1 6 0;
+#X connect 13 1 7 0;
+#X connect 14 0 6 0;
+#X connect 15 0 7 0;
+#X connect 16 0 14 1;
+#X connect 16 0 15 1;
+#X connect 18 0 2 0;
+#X connect 19 0 18 1;
+#X connect 20 0 18 2;
+#X connect 21 0 1 0;
+#X connect 22 0 21 0;
+#X connect 23 0 22 0;
+#X connect 24 0 23 0;
+#X connect 24 1 21 1;
+#X connect 26 0 0 0;
+#X restore 370 469 pd more_on_the_"repeat"_technics;
+#X obj 93 186 translateXYZ;
+#X floatatom 120 168 5 0 0 0 - - -;
+#X text 168 167 <- fun!;
+#X obj 438 187 translateXYZ;
+#X floatatom 465 169 5 0 0 0 - - -;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 53 69 pd gemwin;
+#X connect 0 0 33 0;
+#X connect 1 0 9 0;
+#X connect 2 0 0 0;
+#X connect 3 0 8 0;
+#X connect 4 0 3 0;
+#X connect 5 0 4 0;
+#X connect 6 0 3 0;
+#X connect 6 1 7 0;
+#X connect 7 0 8 1;
+#X connect 7 1 8 2;
+#X connect 7 2 8 3;
+#X connect 8 0 12 0;
+#X connect 9 0 6 0;
+#X connect 14 0 36 0;
+#X connect 15 0 14 0;
+#X connect 16 0 21 1;
+#X connect 16 1 21 2;
+#X connect 16 2 21 3;
+#X connect 19 0 28 0;
+#X connect 19 1 29 0;
+#X connect 20 0 19 0;
+#X connect 20 0 30 0;
+#X connect 21 0 18 0;
+#X connect 22 0 23 0;
+#X connect 23 0 18 0;
+#X connect 24 0 25 0;
+#X connect 24 1 25 0;
+#X connect 24 2 27 0;
+#X connect 25 0 26 0;
+#X connect 26 0 21 0;
+#X connect 26 1 20 0;
+#X connect 27 0 20 1;
+#X connect 28 0 16 0;
+#X connect 29 0 16 0;
+#X connect 30 0 20 1;
+#X connect 33 0 1 0;
+#X connect 34 0 33 1;
+#X connect 36 0 24 0;
+#X connect 37 0 36 1;
diff --git a/packages/noncvs/windows/extra/Gem/examples/02.advanced/21.basic_LSystem.pd b/packages/noncvs/windows/extra/Gem/examples/02.advanced/21.basic_LSystem.pd
index 301b09a4..9fd578c2 100644
--- a/packages/noncvs/windows/extra/Gem/examples/02.advanced/21.basic_LSystem.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/02.advanced/21.basic_LSystem.pd
@@ -1,138 +1,138 @@
-#N canvas 515 27 647 743 10;
-#X obj 15 16 gemhead;
-#X obj 76 483 GEMglPushMatrix;
-#X obj 96 462 GEMglPopMatrix;
-#X floatatom 353 502 5 0 0 0 - - -;
-#X obj 15 63 rotateXYZ 0 0 90;
-#X floatatom 201 508 5 0 0 0 - - -;
-#X floatatom 201 486 5 0 0 0 - - -;
-#X obj 262 35 gemhead;
-#X obj 262 61 world_light;
-#X obj 15 607 translateXYZ 0.05 0 0;
-#X obj 15 140 route F;
-#X text 271 163 <- rule 1;
-#X obj 15 187 route F;
-#X msg 15 211 F \, [ \, - \, F \, F \, ] \, F \, [ \, + \, F \, ] \,
-F;
-#X obj 15 235 route F;
-#X text 272 209 <- rule 2;
-#X text 271 257 <- rule 3;
-#X msg 15 110 F;
-#X obj 15 85 t b a;
-#X obj 15 558 translateXYZ 0.05 0 0;
-#X obj 15 583 rectangle 0.1 0.01;
-#X obj 15 41 translateXYZ 0 -3 0;
-#X obj 35 530 rotateXYZ 0 0 50;
-#X obj 54 506 rotateXYZ 0 0 -40;
-#X obj 353 521 / 100;
-#X msg 353 479 10;
-#X obj 353 456 loadbang;
-#X text 243 485 <- try this;
-#X text 125 310 <- create the primitive according to the Lsystem;
-#X text 270 276 These rules create an Lsystem;
-#X text 152 381 <- Store the current state sent by [gemhead] and distribute
-it to the corresponding primitives;
-#X text 397 502 <- size of the system;
-#X msg 15 164 F \, [ \, - \, F \, ] \, F \, [ \, + \, F \, ] \, F;
-#X text 12 640 This is a basic implementation of Lindenmayer System
-(LSystem) in GEM. Wikipedia is a good place for informations about
-Lsystems;
-#X obj 15 351 gemlist;
-#X obj 47 110 s \$0-gemlist;
-#X obj 35 372 gemlist;
-#X obj 54 395 gemlist;
-#X obj 76 417 gemlist;
-#X obj 96 438 gemlist;
-#X obj 142 330 r \$0-gemlist;
-#X obj 15 309 route F + - [ ];
-#X msg 15 259 F \, [ \, - \, F \, F \, ] \, F \, [ \, + \, F \, ] \,
-F;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 377 62 pd gemwin;
-#N canvas 0 0 450 300 Gem.init 0;
-#X obj 67 72 loadbang;
-#X msg 67 93 lighting 1;
-#X obj 67 114 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 377 40 pd Gem.init;
-#X connect 0 0 21 0;
-#X connect 3 0 24 0;
-#X connect 4 0 18 0;
-#X connect 5 0 22 3;
-#X connect 6 0 23 3;
-#X connect 7 0 8 0;
-#X connect 10 0 32 0;
-#X connect 10 1 12 0;
-#X connect 12 0 13 0;
-#X connect 12 1 14 0;
-#X connect 13 0 14 0;
-#X connect 14 0 42 0;
-#X connect 14 1 41 0;
-#X connect 17 0 10 0;
-#X connect 18 0 17 0;
-#X connect 18 1 35 0;
-#X connect 19 0 20 0;
-#X connect 20 0 9 0;
-#X connect 21 0 4 0;
-#X connect 24 0 9 1;
-#X connect 24 0 19 1;
-#X connect 24 0 20 1;
-#X connect 25 0 3 0;
-#X connect 26 0 25 0;
-#X connect 32 0 12 0;
-#X connect 34 0 19 0;
-#X connect 36 0 22 0;
-#X connect 37 0 23 0;
-#X connect 38 0 1 0;
-#X connect 39 0 2 0;
-#X connect 40 0 34 1;
-#X connect 40 0 36 1;
-#X connect 40 0 37 1;
-#X connect 40 0 38 1;
-#X connect 40 0 39 1;
-#X connect 41 0 34 0;
-#X connect 41 1 36 0;
-#X connect 41 2 37 0;
-#X connect 41 3 38 0;
-#X connect 41 4 39 0;
-#X connect 42 0 41 0;
-#X connect 44 0 43 0;
+#N canvas 515 27 647 743 10;
+#X obj 15 16 gemhead;
+#X obj 76 483 GEMglPushMatrix;
+#X obj 96 462 GEMglPopMatrix;
+#X floatatom 353 502 5 0 0 0 - - -;
+#X obj 15 63 rotateXYZ 0 0 90;
+#X floatatom 201 508 5 0 0 0 - - -;
+#X floatatom 201 486 5 0 0 0 - - -;
+#X obj 262 35 gemhead;
+#X obj 262 61 world_light;
+#X obj 15 607 translateXYZ 0.05 0 0;
+#X obj 15 140 route F;
+#X text 271 163 <- rule 1;
+#X obj 15 187 route F;
+#X msg 15 211 F \, [ \, - \, F \, F \, ] \, F \, [ \, + \, F \, ] \,
+F;
+#X obj 15 235 route F;
+#X text 272 209 <- rule 2;
+#X text 271 257 <- rule 3;
+#X msg 15 110 F;
+#X obj 15 85 t b a;
+#X obj 15 558 translateXYZ 0.05 0 0;
+#X obj 15 583 rectangle 0.1 0.01;
+#X obj 15 41 translateXYZ 0 -3 0;
+#X obj 35 530 rotateXYZ 0 0 50;
+#X obj 54 506 rotateXYZ 0 0 -40;
+#X obj 353 521 / 100;
+#X msg 353 479 10;
+#X obj 353 456 loadbang;
+#X text 243 485 <- try this;
+#X text 125 310 <- create the primitive according to the Lsystem;
+#X text 270 276 These rules create an Lsystem;
+#X text 152 381 <- Store the current state sent by [gemhead] and distribute
+it to the corresponding primitives;
+#X text 397 502 <- size of the system;
+#X msg 15 164 F \, [ \, - \, F \, ] \, F \, [ \, + \, F \, ] \, F;
+#X text 12 640 This is a basic implementation of Lindenmayer System
+(LSystem) in GEM. Wikipedia is a good place for informations about
+Lsystems;
+#X obj 15 351 gemlist;
+#X obj 47 110 s \$0-gemlist;
+#X obj 35 372 gemlist;
+#X obj 54 395 gemlist;
+#X obj 76 417 gemlist;
+#X obj 96 438 gemlist;
+#X obj 142 330 r \$0-gemlist;
+#X obj 15 309 route F + - [ ];
+#X msg 15 259 F \, [ \, - \, F \, F \, ] \, F \, [ \, + \, F \, ] \,
+F;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 377 62 pd gemwin;
+#N canvas 0 0 450 300 Gem.init 0;
+#X obj 67 72 loadbang;
+#X msg 67 93 lighting 1;
+#X obj 67 114 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 377 40 pd Gem.init;
+#X connect 0 0 21 0;
+#X connect 3 0 24 0;
+#X connect 4 0 18 0;
+#X connect 5 0 22 3;
+#X connect 6 0 23 3;
+#X connect 7 0 8 0;
+#X connect 10 0 32 0;
+#X connect 10 1 12 0;
+#X connect 12 0 13 0;
+#X connect 12 1 14 0;
+#X connect 13 0 14 0;
+#X connect 14 0 42 0;
+#X connect 14 1 41 0;
+#X connect 17 0 10 0;
+#X connect 18 0 17 0;
+#X connect 18 1 35 0;
+#X connect 19 0 20 0;
+#X connect 20 0 9 0;
+#X connect 21 0 4 0;
+#X connect 24 0 9 1;
+#X connect 24 0 19 1;
+#X connect 24 0 20 1;
+#X connect 25 0 3 0;
+#X connect 26 0 25 0;
+#X connect 32 0 12 0;
+#X connect 34 0 19 0;
+#X connect 36 0 22 0;
+#X connect 37 0 23 0;
+#X connect 38 0 1 0;
+#X connect 39 0 2 0;
+#X connect 40 0 34 1;
+#X connect 40 0 36 1;
+#X connect 40 0 37 1;
+#X connect 40 0 38 1;
+#X connect 40 0 39 1;
+#X connect 41 0 34 0;
+#X connect 41 1 36 0;
+#X connect 41 2 37 0;
+#X connect 41 3 38 0;
+#X connect 41 4 39 0;
+#X connect 42 0 41 0;
+#X connect 44 0 43 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/02.advanced/22.double-iterative.pd b/packages/noncvs/windows/extra/Gem/examples/02.advanced/22.double-iterative.pd
index 218c30f5..959f2474 100644
--- a/packages/noncvs/windows/extra/Gem/examples/02.advanced/22.double-iterative.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/02.advanced/22.double-iterative.pd
@@ -1,118 +1,118 @@
-#N canvas 0 0 473 588 10;
-#X obj 32 103 gemhead;
-#X obj 106 235 gemlist;
-#X msg 106 192 20;
-#X obj 106 213 until;
-#X obj 32 149 route gem_state;
-#X obj 32 171 route float;
-#X obj 32 127 t a a;
-#X obj 106 259 rotateXYZ 10 20 30;
-#X obj 180 413 gemlist;
-#X msg 180 370 20;
-#X obj 180 391 until;
-#X obj 106 327 route gem_state;
-#X obj 106 349 route float;
-#X obj 106 305 t a a;
-#X obj 180 437 rotateXYZ 10 20 30;
-#X obj 180 497 cube 0.1;
-#X obj 106 280 separator;
-#N canvas 0 0 450 300 light 0;
-#X obj 225 45 gemhead 10;
-#X floatatom 258 78 5 0 0 0 - - -;
-#X floatatom 299 77 5 0 0 0 - - -;
-#X floatatom 341 78 5 0 0 0 - - -;
-#X msg 319 150 1 0 0;
-#X obj 225 227 world_light;
-#X msg 333 173 0.4 0.4 0.4;
-#X msg 309 127 0 0 0;
-#X obj 228 160 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X msg 228 181 debug \$1;
-#X obj 225 103 rotateXYZ 0 30 0;
-#X obj 27 51 gemhead 10;
-#X floatatom 60 84 5 0 0 0 - - -;
-#X floatatom 101 83 5 0 0 0 - - -;
-#X floatatom 143 84 5 0 0 0 - - -;
-#X msg 121 156 1 0 0;
-#X obj 27 233 world_light;
-#X msg 130 173 0.4 0.4 0.4;
-#X msg 111 133 0 0 0;
-#X obj 30 166 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X msg 30 187 debug \$1;
-#X obj 27 109 rotateXYZ 0 -90 0;
-#X msg 362 225 0.8 0.8 0.8;
-#X msg 144 199 0.7 0.7 0.7;
-#X msg 346 198 0.6 0.6 0.6;
-#X obj 408 87 loadbang;
-#X connect 0 0 10 0;
-#X connect 1 0 10 1;
-#X connect 2 0 10 2;
-#X connect 3 0 10 3;
-#X connect 4 0 5 1;
-#X connect 6 0 5 1;
-#X connect 7 0 5 1;
-#X connect 8 0 9 0;
-#X connect 9 0 5 0;
-#X connect 10 0 5 0;
-#X connect 11 0 21 0;
-#X connect 12 0 21 1;
-#X connect 13 0 21 2;
-#X connect 14 0 21 3;
-#X connect 15 0 16 1;
-#X connect 17 0 16 1;
-#X connect 18 0 16 1;
-#X connect 19 0 20 0;
-#X connect 20 0 16 0;
-#X connect 21 0 16 0;
-#X connect 22 0 5 1;
-#X connect 23 0 16 1;
-#X connect 24 0 5 1;
-#X connect 25 0 23 0;
-#X connect 25 0 24 0;
-#X restore 300 152 pd light;
-#X obj 300 131 gemwin;
-#X msg 300 104 lighting 1 \, create \, 1;
-#X obj 180 477 translateXYZ 0.3 0 0;
-#X floatatom 252 414 5 0 0 0 - - -;
-#X floatatom 292 415 5 0 0 0 - - -;
-#X floatatom 334 415 5 0 0 0 - - -;
-#X floatatom 254 456 5 0 0 0 - - -;
-#X floatatom 300 456 5 0 0 0 - - -;
-#X floatatom 342 457 5 0 0 0 - - -;
-#X floatatom 176 236 5 0 0 0 - - -;
-#X floatatom 216 237 5 0 0 0 - - -;
-#X floatatom 258 237 5 0 0 0 - - -;
-#X text 309 238 <- fun 1;
-#X text 386 416 <- fun 2;
-#X text 389 457 <- fun 3;
-#X text 136 30 double iterative process;
-#X connect 0 0 6 0;
-#X connect 1 0 7 0;
-#X connect 2 0 3 0;
-#X connect 3 0 1 0;
-#X connect 4 0 5 0;
-#X connect 5 1 2 0;
-#X connect 6 0 4 0;
-#X connect 6 1 1 1;
-#X connect 7 0 16 0;
-#X connect 8 0 14 0;
-#X connect 9 0 10 0;
-#X connect 10 0 8 0;
-#X connect 11 0 12 0;
-#X connect 12 1 9 0;
-#X connect 13 0 11 0;
-#X connect 13 1 8 1;
-#X connect 14 0 20 0;
-#X connect 16 0 13 0;
-#X connect 19 0 18 0;
-#X connect 20 0 15 0;
-#X connect 21 0 14 1;
-#X connect 22 0 14 2;
-#X connect 23 0 14 3;
-#X connect 24 0 20 1;
-#X connect 25 0 20 2;
-#X connect 26 0 20 3;
-#X connect 27 0 7 1;
-#X connect 28 0 7 2;
-#X connect 29 0 7 3;
+#N canvas 0 0 473 588 10;
+#X obj 32 103 gemhead;
+#X obj 106 235 gemlist;
+#X msg 106 192 20;
+#X obj 106 213 until;
+#X obj 32 149 route gem_state;
+#X obj 32 171 route float;
+#X obj 32 127 t a a;
+#X obj 106 259 rotateXYZ 10 20 30;
+#X obj 180 413 gemlist;
+#X msg 180 370 20;
+#X obj 180 391 until;
+#X obj 106 327 route gem_state;
+#X obj 106 349 route float;
+#X obj 106 305 t a a;
+#X obj 180 437 rotateXYZ 10 20 30;
+#X obj 180 497 cube 0.1;
+#X obj 106 280 separator;
+#N canvas 0 0 450 300 light 0;
+#X obj 225 45 gemhead 10;
+#X floatatom 258 78 5 0 0 0 - - -;
+#X floatatom 299 77 5 0 0 0 - - -;
+#X floatatom 341 78 5 0 0 0 - - -;
+#X msg 319 150 1 0 0;
+#X obj 225 227 world_light;
+#X msg 333 173 0.4 0.4 0.4;
+#X msg 309 127 0 0 0;
+#X obj 228 160 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X msg 228 181 debug \$1;
+#X obj 225 103 rotateXYZ 0 30 0;
+#X obj 27 51 gemhead 10;
+#X floatatom 60 84 5 0 0 0 - - -;
+#X floatatom 101 83 5 0 0 0 - - -;
+#X floatatom 143 84 5 0 0 0 - - -;
+#X msg 121 156 1 0 0;
+#X obj 27 233 world_light;
+#X msg 130 173 0.4 0.4 0.4;
+#X msg 111 133 0 0 0;
+#X obj 30 166 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X msg 30 187 debug \$1;
+#X obj 27 109 rotateXYZ 0 -90 0;
+#X msg 362 225 0.8 0.8 0.8;
+#X msg 144 199 0.7 0.7 0.7;
+#X msg 346 198 0.6 0.6 0.6;
+#X obj 408 87 loadbang;
+#X connect 0 0 10 0;
+#X connect 1 0 10 1;
+#X connect 2 0 10 2;
+#X connect 3 0 10 3;
+#X connect 4 0 5 1;
+#X connect 6 0 5 1;
+#X connect 7 0 5 1;
+#X connect 8 0 9 0;
+#X connect 9 0 5 0;
+#X connect 10 0 5 0;
+#X connect 11 0 21 0;
+#X connect 12 0 21 1;
+#X connect 13 0 21 2;
+#X connect 14 0 21 3;
+#X connect 15 0 16 1;
+#X connect 17 0 16 1;
+#X connect 18 0 16 1;
+#X connect 19 0 20 0;
+#X connect 20 0 16 0;
+#X connect 21 0 16 0;
+#X connect 22 0 5 1;
+#X connect 23 0 16 1;
+#X connect 24 0 5 1;
+#X connect 25 0 23 0;
+#X connect 25 0 24 0;
+#X restore 300 152 pd light;
+#X obj 300 131 gemwin;
+#X msg 300 104 lighting 1 \, create \, 1;
+#X obj 180 477 translateXYZ 0.3 0 0;
+#X floatatom 252 414 5 0 0 0 - - -;
+#X floatatom 292 415 5 0 0 0 - - -;
+#X floatatom 334 415 5 0 0 0 - - -;
+#X floatatom 254 456 5 0 0 0 - - -;
+#X floatatom 300 456 5 0 0 0 - - -;
+#X floatatom 342 457 5 0 0 0 - - -;
+#X floatatom 176 236 5 0 0 0 - - -;
+#X floatatom 216 237 5 0 0 0 - - -;
+#X floatatom 258 237 5 0 0 0 - - -;
+#X text 309 238 <- fun 1;
+#X text 386 416 <- fun 2;
+#X text 389 457 <- fun 3;
+#X text 136 30 double iterative process;
+#X connect 0 0 6 0;
+#X connect 1 0 7 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 5 0;
+#X connect 5 1 2 0;
+#X connect 6 0 4 0;
+#X connect 6 1 1 1;
+#X connect 7 0 16 0;
+#X connect 8 0 14 0;
+#X connect 9 0 10 0;
+#X connect 10 0 8 0;
+#X connect 11 0 12 0;
+#X connect 12 1 9 0;
+#X connect 13 0 11 0;
+#X connect 13 1 8 1;
+#X connect 14 0 20 0;
+#X connect 16 0 13 0;
+#X connect 19 0 18 0;
+#X connect 20 0 15 0;
+#X connect 21 0 14 1;
+#X connect 22 0 14 2;
+#X connect 23 0 14 3;
+#X connect 24 0 20 1;
+#X connect 25 0 20 2;
+#X connect 26 0 20 3;
+#X connect 27 0 7 1;
+#X connect 28 0 7 2;
+#X connect 29 0 7 3;
diff --git a/packages/noncvs/windows/extra/Gem/examples/03.lighting/01.world_light.pd b/packages/noncvs/windows/extra/Gem/examples/03.lighting/01.world_light.pd
index 8987c382..98344e0f 100644
--- a/packages/noncvs/windows/extra/Gem/examples/03.lighting/01.world_light.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/03.lighting/01.world_light.pd
@@ -1,84 +1,84 @@
-#N canvas 139 90 771 570 10;
-#X obj 518 59 gemhead;
-#X msg 86 180 lighting 1;
-#X obj 518 170 rotate;
-#X floatatom 563 132 0 0 0 0 - - -;
-#X obj 318 508 world_light;
-#X obj 318 394 gemhead 1;
-#X msg 86 149 lighting 0;
-#X obj 518 194 sphere;
-#X text 150 38 create a sphere with and without lighting;
-#X text 533 105 rotate the sphere;
-#X text 139 545 creates a light an infinite distance away.;
-#X text 314 341 gemhead has a value of 1 so that it is rendered before
-the sphere is;
-#X text 52 124 you can turn lighting on and off while it is running
-;
-#X msg 457 466 1 1 1;
-#X msg 404 464 1 0 1;
-#X text 508 460 change the lights color;
-#X obj 318 456 rotateXYZ;
-#X floatatom 409 399 0 0 0 0 - - -;
-#X msg 185 424 debug 0;
-#X msg 186 455 debug 1;
-#X text 96 400 figure out where the light is;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 64 238 pd Gem.init;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 34 255 pd gemwin;
-#X connect 0 0 2 0;
-#X connect 1 0 22 0;
-#X connect 2 0 7 0;
-#X connect 3 0 2 1;
-#X connect 5 0 16 0;
-#X connect 6 0 22 0;
-#X connect 13 0 4 1;
-#X connect 14 0 4 1;
-#X connect 16 0 4 0;
-#X connect 17 0 16 2;
-#X connect 18 0 4 0;
-#X connect 19 0 4 0;
-#X connect 21 0 22 0;
+#N canvas 139 90 771 570 10;
+#X obj 518 59 gemhead;
+#X msg 86 180 lighting 1;
+#X obj 518 170 rotate;
+#X floatatom 563 132 0 0 0 0 - - -;
+#X obj 318 508 world_light;
+#X obj 318 394 gemhead 1;
+#X msg 86 149 lighting 0;
+#X obj 518 194 sphere;
+#X text 150 38 create a sphere with and without lighting;
+#X text 533 105 rotate the sphere;
+#X text 139 545 creates a light an infinite distance away.;
+#X text 314 341 gemhead has a value of 1 so that it is rendered before
+the sphere is;
+#X text 52 124 you can turn lighting on and off while it is running
+;
+#X msg 457 466 1 1 1;
+#X msg 404 464 1 0 1;
+#X text 508 460 change the lights color;
+#X obj 318 456 rotateXYZ;
+#X floatatom 409 399 0 0 0 0 - - -;
+#X msg 185 424 debug 0;
+#X msg 186 455 debug 1;
+#X text 96 400 figure out where the light is;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 64 238 pd Gem.init;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 34 255 pd gemwin;
+#X connect 0 0 2 0;
+#X connect 1 0 22 0;
+#X connect 2 0 7 0;
+#X connect 3 0 2 1;
+#X connect 5 0 16 0;
+#X connect 6 0 22 0;
+#X connect 13 0 4 1;
+#X connect 14 0 4 1;
+#X connect 16 0 4 0;
+#X connect 17 0 16 2;
+#X connect 18 0 4 0;
+#X connect 19 0 4 0;
+#X connect 21 0 22 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/03.lighting/02.light.pd b/packages/noncvs/windows/extra/Gem/examples/03.lighting/02.light.pd
index 21f8811f..f533e691 100644
--- a/packages/noncvs/windows/extra/Gem/examples/03.lighting/02.light.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/03.lighting/02.light.pd
@@ -1,96 +1,96 @@
-#N canvas 253 63 751 605 10;
-#X obj 532 45 gemhead;
-#X msg 107 177 lighting 1;
-#X obj 532 156 rotate;
-#X floatatom 580 137 4 0 0 0 - - -;
-#X obj 313 354 gemhead 1;
-#X msg 107 146 lighting 0;
-#X obj 532 177 sphere;
-#X text 150 38 create a sphere with and without lighting;
-#X text 547 91 rotate the sphere;
-#X text 313 314 gemhead has a value of 1 so that it is rendered before
-the sphere is;
-#X text 46 125 you can turn lighting on and off while it is running
-;
-#X msg 398 507 1 1 1;
-#X msg 345 505 1 0 1;
-#X text 449 501 change the lights color;
-#X floatatom 389 355 0 0 0 0 - - -;
-#X msg 185 424 debug 0;
-#X msg 186 455 debug 1;
-#X text 96 400 figure out where the light is;
-#X obj 313 535 light;
-#X text 240 558 creates a local light;
-#X msg 434 436 2;
-#X msg 477 436 3;
-#X msg 390 438 1.1;
-#X text 389 417 change the position of the light;
-#X obj 313 395 rotateXYZ 0 -60 0;
-#X obj 313 475 translateXYZ 2 0 0;
-#X obj 566 118 hsl 128 15 0 360 0 0 empty empty empty -2 -6 0 10 -233472
--1 -1 0 1;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 62 264 pd Gem.init;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 32 281 pd gemwin;
-#X connect 0 0 2 0;
-#X connect 1 0 28 0;
-#X connect 2 0 6 0;
-#X connect 4 0 24 0;
-#X connect 5 0 28 0;
-#X connect 11 0 18 1;
-#X connect 12 0 18 1;
-#X connect 14 0 24 2;
-#X connect 15 0 18 0;
-#X connect 16 0 18 0;
-#X connect 20 0 25 1;
-#X connect 21 0 25 1;
-#X connect 22 0 25 1;
-#X connect 24 0 25 0;
-#X connect 25 0 18 0;
-#X connect 26 0 2 1;
-#X connect 26 0 3 0;
-#X connect 27 0 28 0;
+#N canvas 253 63 751 605 10;
+#X obj 532 45 gemhead;
+#X msg 107 177 lighting 1;
+#X obj 532 156 rotate;
+#X floatatom 580 137 4 0 0 0 - - -;
+#X obj 313 354 gemhead 1;
+#X msg 107 146 lighting 0;
+#X obj 532 177 sphere;
+#X text 150 38 create a sphere with and without lighting;
+#X text 547 91 rotate the sphere;
+#X text 313 314 gemhead has a value of 1 so that it is rendered before
+the sphere is;
+#X text 46 125 you can turn lighting on and off while it is running
+;
+#X msg 398 507 1 1 1;
+#X msg 345 505 1 0 1;
+#X text 449 501 change the lights color;
+#X floatatom 389 355 0 0 0 0 - - -;
+#X msg 185 424 debug 0;
+#X msg 186 455 debug 1;
+#X text 96 400 figure out where the light is;
+#X obj 313 535 light;
+#X text 240 558 creates a local light;
+#X msg 434 436 2;
+#X msg 477 436 3;
+#X msg 390 438 1.1;
+#X text 389 417 change the position of the light;
+#X obj 313 395 rotateXYZ 0 -60 0;
+#X obj 313 475 translateXYZ 2 0 0;
+#X obj 566 118 hsl 128 15 0 360 0 0 empty empty empty -2 -6 0 10 -233472
+-1 -1 0 1;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 62 264 pd Gem.init;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 32 281 pd gemwin;
+#X connect 0 0 2 0;
+#X connect 1 0 28 0;
+#X connect 2 0 6 0;
+#X connect 4 0 24 0;
+#X connect 5 0 28 0;
+#X connect 11 0 18 1;
+#X connect 12 0 18 1;
+#X connect 14 0 24 2;
+#X connect 15 0 18 0;
+#X connect 16 0 18 0;
+#X connect 20 0 25 1;
+#X connect 21 0 25 1;
+#X connect 22 0 25 1;
+#X connect 24 0 25 0;
+#X connect 25 0 18 0;
+#X connect 26 0 2 1;
+#X connect 26 0 3 0;
+#X connect 27 0 28 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/03.lighting/03.controlLights.pd b/packages/noncvs/windows/extra/Gem/examples/03.lighting/03.controlLights.pd
index 04a3dae4..09ad8f75 100644
--- a/packages/noncvs/windows/extra/Gem/examples/03.lighting/03.controlLights.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/03.lighting/03.controlLights.pd
@@ -1,97 +1,97 @@
-#N canvas 396 160 600 500 10;
-#X obj 373 75 gemhead;
-#X msg 128 75 lighting 1;
-#X msg 128 107 lighting 0;
-#X obj 373 115 sphere;
-#X obj 148 268 gemhead;
-#X obj 148 424 light;
-#X obj 148 308 rotateXYZ;
-#X floatatom 238 274 0 0 0 0 - - -;
-#X msg 55 355 debug 1;
-#X msg 56 388 debug 0;
-#X msg 178 399 1 0 0;
-#X obj 148 346 translateXYZ 3 0 0;
-#X obj 399 256 gemhead;
-#X obj 399 296 rotateXYZ;
-#X floatatom 489 262 0 0 0 0 - - -;
-#X msg 305 352 debug 1;
-#X msg 306 385 debug 0;
-#X msg 471 396 0 1 0;
-#X obj 399 426 world_light;
-#X obj 471 364 loadbang;
-#X obj 178 370 loadbang;
-#X floatatom 246 305 0 0 0 0 - - -;
-#X text 263 177 notice that translation affects the;
-#X text 261 190 light object \, but not the world_light;
-#X obj 399 336 translateXYZ 3 0 0;
-#X floatatom 476 312 0 0 0 0 - - -;
-#X text 504 311 quite useless;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 64 148 pd Gem.init;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 34 165 pd gemwin;
-#X connect 0 0 3 0;
-#X connect 1 0 28 0;
-#X connect 2 0 28 0;
-#X connect 4 0 6 0;
-#X connect 6 0 11 0;
-#X connect 7 0 6 2;
-#X connect 8 0 5 0;
-#X connect 9 0 5 0;
-#X connect 10 0 5 1;
-#X connect 11 0 5 0;
-#X connect 12 0 13 0;
-#X connect 13 0 24 0;
-#X connect 14 0 13 1;
-#X connect 15 0 18 0;
-#X connect 16 0 18 0;
-#X connect 17 0 18 1;
-#X connect 19 0 17 0;
-#X connect 20 0 10 0;
-#X connect 21 0 11 1;
-#X connect 24 0 18 0;
-#X connect 25 0 24 1;
-#X connect 27 0 28 0;
+#N canvas 396 160 600 500 10;
+#X obj 373 75 gemhead;
+#X msg 128 75 lighting 1;
+#X msg 128 107 lighting 0;
+#X obj 373 115 sphere;
+#X obj 148 268 gemhead;
+#X obj 148 424 light;
+#X obj 148 308 rotateXYZ;
+#X floatatom 238 274 0 0 0 0 - - -;
+#X msg 55 355 debug 1;
+#X msg 56 388 debug 0;
+#X msg 178 399 1 0 0;
+#X obj 148 346 translateXYZ 3 0 0;
+#X obj 399 256 gemhead;
+#X obj 399 296 rotateXYZ;
+#X floatatom 489 262 0 0 0 0 - - -;
+#X msg 305 352 debug 1;
+#X msg 306 385 debug 0;
+#X msg 471 396 0 1 0;
+#X obj 399 426 world_light;
+#X obj 471 364 loadbang;
+#X obj 178 370 loadbang;
+#X floatatom 246 305 0 0 0 0 - - -;
+#X text 263 177 notice that translation affects the;
+#X text 261 190 light object \, but not the world_light;
+#X obj 399 336 translateXYZ 3 0 0;
+#X floatatom 476 312 0 0 0 0 - - -;
+#X text 504 311 quite useless;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 64 148 pd Gem.init;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 34 165 pd gemwin;
+#X connect 0 0 3 0;
+#X connect 1 0 28 0;
+#X connect 2 0 28 0;
+#X connect 4 0 6 0;
+#X connect 6 0 11 0;
+#X connect 7 0 6 2;
+#X connect 8 0 5 0;
+#X connect 9 0 5 0;
+#X connect 10 0 5 1;
+#X connect 11 0 5 0;
+#X connect 12 0 13 0;
+#X connect 13 0 24 0;
+#X connect 14 0 13 1;
+#X connect 15 0 18 0;
+#X connect 16 0 18 0;
+#X connect 17 0 18 1;
+#X connect 19 0 17 0;
+#X connect 20 0 10 0;
+#X connect 21 0 11 1;
+#X connect 24 0 18 0;
+#X connect 25 0 24 1;
+#X connect 27 0 28 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/03.lighting/04.moveSpheres.pd b/packages/noncvs/windows/extra/Gem/examples/03.lighting/04.moveSpheres.pd
index b2df9ddc..ecd5a5a7 100644
--- a/packages/noncvs/windows/extra/Gem/examples/03.lighting/04.moveSpheres.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/03.lighting/04.moveSpheres.pd
@@ -1,128 +1,128 @@
-#N canvas 172 20 824 640 10;
-#X text 745 116 on;
-#X text 782 114 off;
-#X text 557 122 on;
-#X text 594 120 off;
-#X msg 742 143 1;
-#X msg 779 142 0;
-#X text 303 503 on;
-#X text 340 501 off;
-#X msg 116 527 1;
-#X msg 152 529 0;
-#X msg 297 529 1;
-#X msg 335 529 0;
-#X obj 373 547 gemhead 1;
-#X obj 483 231 int 0;
-#X obj 532 231 + 2;
-#X obj 634 118 gemhead;
-#X floatatom 673 252 0 0 0 0 - - -;
-#X obj 444 115 gemhead;
-#X msg 34 171 dimen 300 300;
-#X msg 64 102 lighting 1;
-#X floatatom 483 264 0 0 0 0 - - -;
-#X obj 194 573 world_light;
-#X obj 194 534 gemhead 1;
-#X msg 63 74 lighting 0;
-#X obj 673 225 int 0;
-#X obj 373 584 light;
-#X text 125 480 global light;
-#X text 303 483 local light;
-#X text 122 505 on;
-#X text 152 506 off;
-#X text 13 133 set the window size to 300 x 300;
-#X text 28 48 you can turn lighting on and off while it is running
-;
-#X obj 483 197 metro 50;
-#X msg 555 145 1;
-#X msg 591 146 0;
-#X obj 673 191 metro 100;
-#X obj 735 223 + 1;
-#X obj 444 147 colorRGB 1 0 1;
-#X obj 634 146 colorRGB 0 1 0;
-#X obj 444 301 rotate 0 1 0;
-#X obj 444 342 translate 2 1 0 0;
-#X obj 634 329 translate 2 0 1 0;
-#X obj 634 287 rotate 1 0 0;
-#X text 446 69 Purple sphere;
-#X text 636 74 Green sphere;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 64 238 pd Gem.init;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 34 255 pd gemwin;
-#X obj 444 424 sphere 1 5;
-#X obj 634 416 sphere 1 20;
-#X connect 4 0 35 0;
-#X connect 5 0 35 0;
-#X connect 8 0 21 0;
-#X connect 9 0 21 0;
-#X connect 10 0 25 0;
-#X connect 11 0 25 0;
-#X connect 12 0 25 0;
-#X connect 13 0 14 0;
-#X connect 13 0 20 0;
-#X connect 14 0 13 1;
-#X connect 15 0 38 0;
-#X connect 16 0 42 1;
-#X connect 17 0 37 0;
-#X connect 18 0 46 0;
-#X connect 19 0 46 0;
-#X connect 20 0 39 1;
-#X connect 22 0 21 0;
-#X connect 23 0 46 0;
-#X connect 24 0 16 0;
-#X connect 24 0 36 0;
-#X connect 32 0 13 0;
-#X connect 33 0 32 0;
-#X connect 34 0 32 0;
-#X connect 35 0 24 0;
-#X connect 36 0 24 1;
-#X connect 37 0 39 0;
-#X connect 38 0 42 0;
-#X connect 39 0 40 0;
-#X connect 40 0 47 0;
-#X connect 41 0 48 0;
-#X connect 42 0 41 0;
-#X connect 45 0 46 0;
+#N canvas 172 20 824 640 10;
+#X text 745 116 on;
+#X text 782 114 off;
+#X text 557 122 on;
+#X text 594 120 off;
+#X msg 742 143 1;
+#X msg 779 142 0;
+#X text 303 503 on;
+#X text 340 501 off;
+#X msg 116 527 1;
+#X msg 152 529 0;
+#X msg 297 529 1;
+#X msg 335 529 0;
+#X obj 373 547 gemhead 1;
+#X obj 483 231 int 0;
+#X obj 532 231 + 2;
+#X obj 634 118 gemhead;
+#X floatatom 673 252 0 0 0 0 - - -;
+#X obj 444 115 gemhead;
+#X msg 34 171 dimen 300 300;
+#X msg 64 102 lighting 1;
+#X floatatom 483 264 0 0 0 0 - - -;
+#X obj 194 573 world_light;
+#X obj 194 534 gemhead 1;
+#X msg 63 74 lighting 0;
+#X obj 673 225 int 0;
+#X obj 373 584 light;
+#X text 125 480 global light;
+#X text 303 483 local light;
+#X text 122 505 on;
+#X text 152 506 off;
+#X text 13 133 set the window size to 300 x 300;
+#X text 28 48 you can turn lighting on and off while it is running
+;
+#X obj 483 197 metro 50;
+#X msg 555 145 1;
+#X msg 591 146 0;
+#X obj 673 191 metro 100;
+#X obj 735 223 + 1;
+#X obj 444 147 colorRGB 1 0 1;
+#X obj 634 146 colorRGB 0 1 0;
+#X obj 444 301 rotate 0 1 0;
+#X obj 444 342 translate 2 1 0 0;
+#X obj 634 329 translate 2 0 1 0;
+#X obj 634 287 rotate 1 0 0;
+#X text 446 69 Purple sphere;
+#X text 636 74 Green sphere;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 64 238 pd Gem.init;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 34 255 pd gemwin;
+#X obj 444 424 sphere 1 5;
+#X obj 634 416 sphere 1 20;
+#X connect 4 0 35 0;
+#X connect 5 0 35 0;
+#X connect 8 0 21 0;
+#X connect 9 0 21 0;
+#X connect 10 0 25 0;
+#X connect 11 0 25 0;
+#X connect 12 0 25 0;
+#X connect 13 0 14 0;
+#X connect 13 0 20 0;
+#X connect 14 0 13 1;
+#X connect 15 0 38 0;
+#X connect 16 0 42 1;
+#X connect 17 0 37 0;
+#X connect 18 0 46 0;
+#X connect 19 0 46 0;
+#X connect 20 0 39 1;
+#X connect 22 0 21 0;
+#X connect 23 0 46 0;
+#X connect 24 0 16 0;
+#X connect 24 0 36 0;
+#X connect 32 0 13 0;
+#X connect 33 0 32 0;
+#X connect 34 0 32 0;
+#X connect 35 0 24 0;
+#X connect 36 0 24 1;
+#X connect 37 0 39 0;
+#X connect 38 0 42 0;
+#X connect 39 0 40 0;
+#X connect 40 0 47 0;
+#X connect 41 0 48 0;
+#X connect 42 0 41 0;
+#X connect 45 0 46 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/03.lighting/05.materials.pd b/packages/noncvs/windows/extra/Gem/examples/03.lighting/05.materials.pd
index 9d722f56..a5251712 100644
--- a/packages/noncvs/windows/extra/Gem/examples/03.lighting/05.materials.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/03.lighting/05.materials.pd
@@ -1,86 +1,86 @@
-#N canvas 253 63 743 597 10;
-#X obj 349 34 gemhead;
-#X obj 349 307 rotate;
-#X floatatom 367 272 0 0 0 0 - - -;
-#X obj 220 436 gemhead 1;
-#X text 83 397 gemhead has a value of 1 so that it is rendered before
-the sphere is;
-#X obj 220 539 light;
-#X text 271 543 creates a local light;
-#X obj 220 507 translateXYZ 3 0 0;
-#X text 150 38 apply materials to a sphere;
-#X obj 349 122 diffuse 0.2 0 0;
-#X obj 349 224 ambientRGB 0 0 0;
-#X obj 349 163 specular 0 0 0.9;
-#X obj 349 78 shininess 128;
-#X obj 349 361 sphere 2;
-#X msg 428 322 50;
-#X msg 469 32 10;
-#X msg 506 32 100;
-#X obj 220 477 rotateXYZ 0 -90 0;
-#N canvas 91 174 290 179 Gem.init 0;
-#X obj 118 18 loadbang;
-#X msg 201 78 reset;
-#X obj 118 113 outlet;
-#X obj 118 45 t b b;
-#X msg 118 79 lighting 1;
-#X connect 0 0 3 0;
-#X connect 1 0 2 0;
-#X connect 3 0 4 0;
-#X connect 3 1 1 0;
-#X connect 4 0 2 0;
-#X restore 34 138 pd Gem.init;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 34 155 pd gemwin;
-#X connect 0 0 12 0;
-#X connect 1 0 13 0;
-#X connect 2 0 1 1;
-#X connect 3 0 17 0;
-#X connect 7 0 5 0;
-#X connect 9 0 11 0;
-#X connect 10 0 1 0;
-#X connect 11 0 10 0;
-#X connect 12 0 9 0;
-#X connect 14 0 13 2;
-#X connect 15 0 12 1;
-#X connect 16 0 12 1;
-#X connect 17 0 7 0;
-#X connect 18 0 19 0;
+#N canvas 253 63 743 597 10;
+#X obj 349 34 gemhead;
+#X obj 349 307 rotate;
+#X floatatom 367 272 0 0 0 0 - - -;
+#X obj 220 436 gemhead 1;
+#X text 83 397 gemhead has a value of 1 so that it is rendered before
+the sphere is;
+#X obj 220 539 light;
+#X text 271 543 creates a local light;
+#X obj 220 507 translateXYZ 3 0 0;
+#X text 150 38 apply materials to a sphere;
+#X obj 349 122 diffuse 0.2 0 0;
+#X obj 349 224 ambientRGB 0 0 0;
+#X obj 349 163 specular 0 0 0.9;
+#X obj 349 78 shininess 128;
+#X obj 349 361 sphere 2;
+#X msg 428 322 50;
+#X msg 469 32 10;
+#X msg 506 32 100;
+#X obj 220 477 rotateXYZ 0 -90 0;
+#N canvas 91 174 290 179 Gem.init 0;
+#X obj 118 18 loadbang;
+#X msg 201 78 reset;
+#X obj 118 113 outlet;
+#X obj 118 45 t b b;
+#X msg 118 79 lighting 1;
+#X connect 0 0 3 0;
+#X connect 1 0 2 0;
+#X connect 3 0 4 0;
+#X connect 3 1 1 0;
+#X connect 4 0 2 0;
+#X restore 34 138 pd Gem.init;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 34 155 pd gemwin;
+#X connect 0 0 12 0;
+#X connect 1 0 13 0;
+#X connect 2 0 1 1;
+#X connect 3 0 17 0;
+#X connect 7 0 5 0;
+#X connect 9 0 11 0;
+#X connect 10 0 1 0;
+#X connect 11 0 10 0;
+#X connect 12 0 9 0;
+#X connect 14 0 13 2;
+#X connect 15 0 12 1;
+#X connect 16 0 12 1;
+#X connect 17 0 7 0;
+#X connect 18 0 19 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/04.pix/01.image.pd b/packages/noncvs/windows/extra/Gem/examples/04.pix/01.image.pd
index 0abd4a9f..9ac6066b 100644
--- a/packages/noncvs/windows/extra/Gem/examples/04.pix/01.image.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/04.pix/01.image.pd
@@ -1,60 +1,60 @@
-#N canvas 452 108 681 502 12;
-#X text 172 376 click on the pix_image object to display the loaded
-image with imgview;
-#X obj 179 199 gemhead;
-#X obj 179 351 pix_draw;
-#X text 196 18 display an image using pix_draw;
-#X obj 179 227 pix_image ../data/dancer.JPG;
-#X obj 179 309 translateXYZ;
-#X floatatom 315 261 0 0 0 0 - - -;
-#X text 176 177 notice that Z doesn't change the size of the image
-;
-#X text 62 442 On most machines \, pix_draw is MUCH slower than pix_texture.
-However \, pix_draw is easier to use in an example patch.;
-#X obj 20 69 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 454 304 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 182 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 238 112 destroy;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 289 80 pd Gem.init;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X connect 8 0 0 0;
-#X restore 25 113 pd gemwin;
-#X msg 25 89 create;
-#X text 21 69 Create window and render;
-#X obj 315 284 / 100;
-#X floatatom 264 261 0 0 0 0 - - -;
-#X obj 264 284 / 100;
-#X floatatom 213 261 0 0 0 0 - - -;
-#X obj 213 284 / 100;
-#X connect 1 0 4 0;
-#X connect 4 0 5 0;
-#X connect 5 0 2 0;
-#X connect 6 0 13 0;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 13 0 5 3;
-#X connect 14 0 15 0;
-#X connect 15 0 5 2;
-#X connect 16 0 17 0;
-#X connect 17 0 5 1;
+#N canvas 452 108 681 502 12;
+#X text 172 376 click on the pix_image object to display the loaded
+image with imgview;
+#X obj 179 199 gemhead;
+#X obj 179 351 pix_draw;
+#X text 196 18 display an image using pix_draw;
+#X obj 179 227 pix_image ../data/dancer.JPG;
+#X obj 179 309 translateXYZ;
+#X floatatom 315 261 0 0 0 0 - - -;
+#X text 176 177 notice that Z doesn't change the size of the image
+;
+#X text 62 442 On most machines \, pix_draw is MUCH slower than pix_texture.
+However \, pix_draw is easier to use in an example patch.;
+#X obj 20 69 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 454 304 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 182 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 238 112 destroy;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 289 80 pd Gem.init;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X restore 25 113 pd gemwin;
+#X msg 25 89 create;
+#X text 21 69 Create window and render;
+#X obj 315 284 / 100;
+#X floatatom 264 261 0 0 0 0 - - -;
+#X obj 264 284 / 100;
+#X floatatom 213 261 0 0 0 0 - - -;
+#X obj 213 284 / 100;
+#X connect 1 0 4 0;
+#X connect 4 0 5 0;
+#X connect 5 0 2 0;
+#X connect 6 0 13 0;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 13 0 5 3;
+#X connect 14 0 15 0;
+#X connect 15 0 5 2;
+#X connect 16 0 17 0;
+#X connect 17 0 5 1;
diff --git a/packages/noncvs/windows/extra/Gem/examples/04.pix/02.multiimage.pd b/packages/noncvs/windows/extra/Gem/examples/04.pix/02.multiimage.pd
index 5f0c5190..7b571b68 100644
--- a/packages/noncvs/windows/extra/Gem/examples/04.pix/02.multiimage.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/04.pix/02.multiimage.pd
@@ -1,49 +1,49 @@
-#N canvas 411 137 739 504 12;
-#X msg 345 170 1;
-#X msg 345 202 0;
-#X obj 278 200 gemhead;
-#X msg 344 133 2;
-#X text 206 104 select one of the three images to display;
-#X text 154 29 display images use pix_multiimage;
-#X obj 278 255 pix_multiimage ../data/temp*.JPG 2;
-#X obj 20 209 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 454 304 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 182 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 238 112 destroy;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 289 80 pd Gem.init;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X connect 8 0 0 0;
-#X restore 25 253 pd gemwin;
-#X msg 25 229 create;
-#X text 21 209 Create window and render;
-#X obj 278 313 pix_texture;
-#X obj 278 335 square 3;
-#X connect 0 0 6 1;
-#X connect 1 0 6 1;
-#X connect 2 0 6 0;
-#X connect 3 0 6 1;
-#X connect 6 0 11 0;
-#X connect 8 0 9 0;
-#X connect 9 0 8 0;
-#X connect 11 0 12 0;
+#N canvas 411 137 739 504 12;
+#X msg 345 170 1;
+#X msg 345 202 0;
+#X obj 278 200 gemhead;
+#X msg 344 133 2;
+#X text 206 104 select one of the three images to display;
+#X text 154 29 display images use pix_multiimage;
+#X obj 278 255 pix_multiimage ../data/temp*.JPG 2;
+#X obj 20 209 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 454 304 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 182 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 238 112 destroy;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 289 80 pd Gem.init;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X restore 25 253 pd gemwin;
+#X msg 25 229 create;
+#X text 21 209 Create window and render;
+#X obj 278 313 pix_texture;
+#X obj 278 335 square 3;
+#X connect 0 0 6 1;
+#X connect 1 0 6 1;
+#X connect 2 0 6 0;
+#X connect 3 0 6 1;
+#X connect 6 0 11 0;
+#X connect 8 0 9 0;
+#X connect 9 0 8 0;
+#X connect 11 0 12 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/04.pix/04.ImageInPlace.pd b/packages/noncvs/windows/extra/Gem/examples/04.pix/04.ImageInPlace.pd
index 72e6f0b2..9559a158 100644
--- a/packages/noncvs/windows/extra/Gem/examples/04.pix/04.ImageInPlace.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/04.pix/04.ImageInPlace.pd
@@ -1,64 +1,64 @@
-#N canvas 314 61 654 599 12;
-#X msg 489 227 1;
-#X msg 489 259 0;
-#X obj 375 254 gemhead;
-#X msg 488 190 2;
-#X text 254 156 select one of the three images to display;
-#X obj 375 308 pix_imageInPlace;
-#X msg 121 288 download;
-#X msg 124 318 purge;
-#X obj 375 367 square;
-#X text 206 20 display images use pix_imageInPlace;
-#X text 64 389 pix_imageInPlace is slightly different than pix_multiimage.
-When you select an image to display with pix_multiimage \, it copies
-over the image data to the pix_buffer \, which is then used by pix_texture.
-;
-#X text 62 451 This is potentially slow if you are trying to change
-between a lot of images \, but it doesn't use a lot of texture ram.
-;
-#X text 62 503 pix_imageInPlace sends all of the image data to texture
-RAM when the preload message is received. This means that you cannot
-process any of the pixel data \, but it is extremely quick to change
-between the various images.;
-#X msg 119 255 preload ../data/temp*.JPG 2;
-#X obj 20 69 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 454 304 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 182 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 238 112 destroy;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 289 80 pd Gem.init;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X connect 8 0 0 0;
-#X restore 25 113 pd gemwin;
-#X msg 25 89 create;
-#X text 21 69 Create window and render;
-#X connect 0 0 5 1;
-#X connect 1 0 5 1;
-#X connect 2 0 5 0;
-#X connect 3 0 5 1;
-#X connect 5 0 8 0;
-#X connect 6 0 5 0;
-#X connect 7 0 5 0;
-#X connect 13 0 5 0;
-#X connect 15 0 16 0;
-#X connect 16 0 15 0;
+#N canvas 314 61 654 599 12;
+#X msg 489 227 1;
+#X msg 489 259 0;
+#X obj 375 254 gemhead;
+#X msg 488 190 2;
+#X text 254 156 select one of the three images to display;
+#X obj 375 308 pix_imageInPlace;
+#X msg 121 288 download;
+#X msg 124 318 purge;
+#X obj 375 367 square;
+#X text 206 20 display images use pix_imageInPlace;
+#X text 64 389 pix_imageInPlace is slightly different than pix_multiimage.
+When you select an image to display with pix_multiimage \, it copies
+over the image data to the pix_buffer \, which is then used by pix_texture.
+;
+#X text 62 451 This is potentially slow if you are trying to change
+between a lot of images \, but it doesn't use a lot of texture ram.
+;
+#X text 62 503 pix_imageInPlace sends all of the image data to texture
+RAM when the preload message is received. This means that you cannot
+process any of the pixel data \, but it is extremely quick to change
+between the various images.;
+#X msg 119 255 preload ../data/temp*.JPG 2;
+#X obj 20 69 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 454 304 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 182 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 238 112 destroy;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 289 80 pd Gem.init;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X restore 25 113 pd gemwin;
+#X msg 25 89 create;
+#X text 21 69 Create window and render;
+#X connect 0 0 5 1;
+#X connect 1 0 5 1;
+#X connect 2 0 5 0;
+#X connect 3 0 5 1;
+#X connect 5 0 8 0;
+#X connect 6 0 5 0;
+#X connect 7 0 5 0;
+#X connect 13 0 5 0;
+#X connect 15 0 16 0;
+#X connect 16 0 15 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/04.pix/05.film.pd b/packages/noncvs/windows/extra/Gem/examples/04.pix/05.film.pd
index fb1ecdd6..e21c9823 100644
--- a/packages/noncvs/windows/extra/Gem/examples/04.pix/05.film.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/04.pix/05.film.pd
@@ -1,120 +1,120 @@
-#N canvas 61 68 827 638 12;
-#X obj 90 186 gemhead;
-#X floatatom 220 155 5 0 0 0 - - -;
-#X msg 150 156 auto \$1;
-#X obj 150 137 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
-1;
-#X floatatom 124 261 5 0 0 0 - - -;
-#X msg 197 392 -1 -2 -1 -2 8 -2 1 -2 1;
-#X obj 90 467 pix_convolve 3 3;
-#X text 472 233 load and play-back a movie;
-#X text 368 28 win32:;
-#X text 212 134 frame;
-#N canvas 243 65 604 505 README 0;
-#X text 49 38 the pix_film is the same as pix_movie but does not texture
-the movie immediately onto a Geo.;
-#X text 50 77 therefore it is possible to manipulate the frames;
-#X text 48 106 the pix_film object will return the movie in it's (more
-or less) native color-space. most of the times \, this will probably
-be not RGBA but RGB or BGR (on windows machines).;
-#X text 48 153 do not worry about this. however \, most of the pix-manips
-will only work correctly on RGBA-pixes. if this is the case and you
-send it a non-RGBA pixture it will say something like "pix_object cannon
-handle gray image".;
-#X text 49 226 to avoid this \, you can convert your pix-buff to RGBA
-using "pix_rgba". this will be a no-cost operation if the pix_buf already
-is in RGBA.;
-#X text 36 334 you might notice a significant performance-enhancement
-by just turning the [pix_rgba] off (via the toggle). however \, not
-[pix_rgba] is expensive but the [pix_convolve] (which appears to do
-nothing when initialized with "0 0 0 0 1 0 0 0 0". When [pix_rgba]
-is "off" \, the [pix_convolve] will be bypassed \, and therefore be
-very fast.;
-#X restore 635 187 pd README;
-#X obj 90 573 square 4;
-#X obj 90 233 pix_film;
-#X floatatom 149 547 5 0 0 0 - - -;
-#X msg 393 48 open ../data/homer.avi;
-#X msg 386 111 open ../data/anim-1.mov;
-#X msg 391 156 open ../data/alea.mpg;
-#X text 247 502 you have to texture the movie by hand;
-#X text 256 466 manipulate the movie (expensive!);
-#X text 26 10 load \, play and manipulate digital videos;
-#X text 423 397 edge detection;
-#X msg 230 424 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125
-;
-#X text 715 422 smoothing;
-#X obj 289 252 t f;
-#X obj 197 368 loadbang;
-#X text 178 299 transform the movie into RGBA-space (if turned off
-\, [pix_convolve] will be by-passed and therefore much speed will be
-"gained");
-#X obj 110 439 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
-1;
-#X obj 90 500 pix_texture;
-#X obj 20 49 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 454 304 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 182 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 238 112 destroy;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 289 80 pd Gem.init;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X connect 8 0 0 0;
-#X restore 25 93 pd gemwin;
-#X msg 25 69 create;
-#X text 21 49 Create window and render;
-#X text 358 91 linux \, os-X:;
-#X text 363 140 linux \, ??:;
-#X obj 345 181 t a;
-#X msg 55 309 thread 0;
-#X msg 410 207 open \$1;
-#X obj 410 185 symbol;
-#X obj 471 185 openpanel;
-#X obj 563 185 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
--1 -1;
-#X connect 0 0 12 0;
-#X connect 1 0 12 1;
-#X connect 2 0 12 0;
-#X connect 3 0 2 0;
-#X connect 5 0 6 2;
-#X connect 6 0 27 0;
-#X connect 12 0 6 0;
-#X connect 12 1 4 0;
-#X connect 12 2 23 0;
-#X connect 13 0 11 1;
-#X connect 14 0 34 0;
-#X connect 15 0 34 0;
-#X connect 16 0 34 0;
-#X connect 21 0 6 2;
-#X connect 23 0 12 1;
-#X connect 24 0 5 0;
-#X connect 26 0 6 0;
-#X connect 27 0 11 0;
-#X connect 29 0 30 0;
-#X connect 30 0 29 0;
-#X connect 34 0 12 0;
-#X connect 35 0 12 0;
-#X connect 36 0 34 0;
-#X connect 37 0 36 0;
-#X connect 38 0 37 0;
-#X connect 39 0 38 0;
+#N canvas 61 68 827 638 12;
+#X obj 90 186 gemhead;
+#X floatatom 220 155 5 0 0 0 - - -;
+#X msg 150 156 auto \$1;
+#X obj 150 137 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
+1;
+#X floatatom 124 261 5 0 0 0 - - -;
+#X msg 197 392 -1 -2 -1 -2 8 -2 1 -2 1;
+#X obj 90 467 pix_convolve 3 3;
+#X text 472 233 load and play-back a movie;
+#X text 368 28 win32:;
+#X text 212 134 frame;
+#N canvas 243 65 604 505 README 0;
+#X text 49 38 the pix_film is the same as pix_movie but does not texture
+the movie immediately onto a Geo.;
+#X text 50 77 therefore it is possible to manipulate the frames;
+#X text 48 106 the pix_film object will return the movie in it's (more
+or less) native color-space. most of the times \, this will probably
+be not RGBA but RGB or BGR (on windows machines).;
+#X text 48 153 do not worry about this. however \, most of the pix-manips
+will only work correctly on RGBA-pixes. if this is the case and you
+send it a non-RGBA pixture it will say something like "pix_object cannot
+handle gray image".;
+#X text 49 226 to avoid this \, you can convert your pix-buff to RGBA
+using "pix_rgba". this will be a no-cost operation if the pix_buf already
+is in RGBA.;
+#X text 36 334 you might notice a significant performance-enhancement
+by just turning the [pix_rgba] off (via the toggle). however \, not
+[pix_rgba] is expensive but actually the [pix_convolve] (which appears to do
+nothing when initialized with "0 0 0 0 1 0 0 0 0". When [pix_rgba]
+is "off" \, the [pix_convolve] will be bypassed \, and therefore be
+very fast.;
+#X restore 635 187 pd README;
+#X obj 90 573 square 4;
+#X obj 90 233 pix_film;
+#X floatatom 149 547 5 0 0 0 - - -;
+#X msg 393 48 open ../data/homer.avi;
+#X msg 386 111 open ../data/anim-1.mov;
+#X msg 391 156 open ../data/alea.mpg;
+#X text 247 502 you have to texture the movie by hand;
+#X text 256 466 manipulate the movie (expensive!);
+#X text 26 10 load \, play and manipulate digital videos;
+#X text 423 397 edge detection;
+#X msg 230 424 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125
+;
+#X text 715 422 smoothing;
+#X obj 289 252 t f;
+#X obj 197 368 loadbang;
+#X text 178 299 transform the movie into RGBA-space (if turned off
+\, [pix_convolve] will be by-passed and therefore much speed will be
+"gained");
+#X obj 110 439 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
+1;
+#X obj 90 500 pix_texture;
+#X obj 20 49 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 454 304 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 182 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 238 112 destroy;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 289 80 pd Gem.init;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X restore 25 93 pd gemwin;
+#X msg 25 69 create;
+#X text 21 49 Create window and render;
+#X text 358 91 linux \, os-X:;
+#X text 363 140 linux \, ??:;
+#X obj 345 181 t a;
+#X msg 55 309 thread 0;
+#X msg 410 207 open \$1;
+#X obj 410 185 symbol;
+#X obj 471 185 openpanel;
+#X obj 563 185 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X connect 0 0 12 0;
+#X connect 1 0 12 1;
+#X connect 2 0 12 0;
+#X connect 3 0 2 0;
+#X connect 5 0 6 2;
+#X connect 6 0 27 0;
+#X connect 12 0 6 0;
+#X connect 12 1 4 0;
+#X connect 12 2 23 0;
+#X connect 13 0 11 1;
+#X connect 14 0 34 0;
+#X connect 15 0 34 0;
+#X connect 16 0 34 0;
+#X connect 21 0 6 2;
+#X connect 23 0 12 1;
+#X connect 24 0 5 0;
+#X connect 26 0 6 0;
+#X connect 27 0 11 0;
+#X connect 29 0 30 0;
+#X connect 30 0 29 0;
+#X connect 34 0 12 0;
+#X connect 35 0 12 0;
+#X connect 36 0 34 0;
+#X connect 37 0 36 0;
+#X connect 38 0 37 0;
+#X connect 39 0 38 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/04.pix/05.movie.pd b/packages/noncvs/windows/extra/Gem/examples/04.pix/05.movie.pd
index a6227d36..2e51a80c 100644
--- a/packages/noncvs/windows/extra/Gem/examples/04.pix/05.movie.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/04.pix/05.movie.pd
@@ -1,89 +1,89 @@
-#N canvas 133 25 637 554 12;
-#X obj 157 59 gemhead;
-#X floatatom 336 167 0 0 0 0 - - -;
-#X obj 157 385 rotateXYZ;
-#X obj 157 437 cube;
-#X floatatom 224 359 0 0 0 0 - - -;
-#X obj 224 310 metro 50;
-#X obj 203 412 translateXYZ 2 1 0;
-#X obj 203 438 cube;
-#X obj 157 201 pix_movie;
-#X text 377 167 control which frame;
-#X text 256 436 automatically textures;
-#X obj 177 238 print frames;
-#X msg 287 25 open ../data/homer.avi;
-#X obj 224 290 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
-1;
-#X obj 325 282 print done;
-#X msg 336 135 auto \$1;
-#X obj 336 116 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
-1;
-#X text 43 486 the texturing is done automatically: there is no need
-to care for the image-size (it doesn't have to be a power of 2). on
-the other hand \, you cannot do image-processing !! use [pix_film]
-for this;
-#X msg 325 259 reached the end !!!;
-#X obj 293 235 t f b;
-#X text 449 13 Win32;
-#X text 461 73 linux;
-#X msg 297 56 open ../data/anim-1.mov;
-#X msg 307 87 open ../data/alea.mpg;
-#X text 8 264 notice: you don't need pix_texture;
-#X text 406 131 play the movie !;
-#X obj 224 335 i;
-#X obj 259 335 + 1;
-#X obj 295 335 % 360;
-#X text 471 42 apple;
-#X obj 505 415 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 454 304 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X msg 234 221 dimen 500 500;
-#X msg 279 189 dimen 1024 768;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X connect 8 0 0 0;
-#X connect 9 0 0 0;
-#X restore 510 453 pd gemwin;
-#X msg 510 430 create;
-#X text 506 413 Create window:;
-#X connect 0 0 8 0;
-#X connect 1 0 8 1;
-#X connect 2 0 3 0;
-#X connect 2 0 6 0;
-#X connect 4 0 2 2;
-#X connect 4 0 2 3;
-#X connect 5 0 26 0;
-#X connect 6 0 7 0;
-#X connect 8 0 2 0;
-#X connect 8 1 11 0;
-#X connect 8 2 19 0;
-#X connect 12 0 8 0;
-#X connect 13 0 5 0;
-#X connect 15 0 8 0;
-#X connect 16 0 15 0;
-#X connect 18 0 14 0;
-#X connect 19 0 8 1;
-#X connect 19 1 18 0;
-#X connect 22 0 8 0;
-#X connect 23 0 8 0;
-#X connect 26 0 27 0;
-#X connect 26 0 4 0;
-#X connect 27 0 28 0;
-#X connect 28 0 26 1;
-#X connect 31 0 32 0;
-#X connect 32 0 31 0;
+#N canvas 133 25 637 554 12;
+#X obj 157 59 gemhead;
+#X floatatom 336 167 0 0 0 0 - - -;
+#X obj 157 385 rotateXYZ;
+#X obj 157 437 cube;
+#X floatatom 224 359 0 0 0 0 - - -;
+#X obj 224 310 metro 50;
+#X obj 203 412 translateXYZ 2 1 0;
+#X obj 203 438 cube;
+#X obj 157 201 pix_movie;
+#X text 377 167 control which frame;
+#X text 256 436 automatically textures;
+#X obj 177 238 print frames;
+#X msg 287 25 open ../data/homer.avi;
+#X obj 224 290 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
+1;
+#X obj 325 282 print done;
+#X msg 336 135 auto \$1;
+#X obj 336 116 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
+1;
+#X text 43 486 the texturing is done automatically: there is no need
+to care for the image-size (it doesn't have to be a power of 2). on
+the other hand \, you cannot do image-processing !! use [pix_film]
+for this;
+#X msg 325 259 reached the end !!!;
+#X obj 293 235 t f b;
+#X text 449 13 Win32;
+#X text 461 73 linux;
+#X msg 297 56 open ../data/anim-1.mov;
+#X msg 307 87 open ../data/alea.mpg;
+#X text 8 264 notice: you don't need pix_texture;
+#X text 406 131 play the movie !;
+#X obj 224 335 i;
+#X obj 259 335 + 1;
+#X obj 295 335 % 360;
+#X text 471 42 apple;
+#X obj 505 415 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 454 304 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X msg 234 221 dimen 500 500;
+#X msg 279 189 dimen 1024 768;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X connect 9 0 0 0;
+#X restore 510 453 pd gemwin;
+#X msg 510 430 create;
+#X text 506 413 Create window:;
+#X connect 0 0 8 0;
+#X connect 1 0 8 1;
+#X connect 2 0 3 0;
+#X connect 2 0 6 0;
+#X connect 4 0 2 2;
+#X connect 4 0 2 3;
+#X connect 5 0 26 0;
+#X connect 6 0 7 0;
+#X connect 8 0 2 0;
+#X connect 8 1 11 0;
+#X connect 8 2 19 0;
+#X connect 12 0 8 0;
+#X connect 13 0 5 0;
+#X connect 15 0 8 0;
+#X connect 16 0 15 0;
+#X connect 18 0 14 0;
+#X connect 19 0 8 1;
+#X connect 19 1 18 0;
+#X connect 22 0 8 0;
+#X connect 23 0 8 0;
+#X connect 26 0 27 0;
+#X connect 26 0 4 0;
+#X connect 27 0 28 0;
+#X connect 28 0 26 1;
+#X connect 31 0 32 0;
+#X connect 32 0 31 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/04.pix/06.PixRect.pd b/packages/noncvs/windows/extra/Gem/examples/04.pix/06.PixRect.pd
index 93f5fbaf..510ffe59 100644
--- a/packages/noncvs/windows/extra/Gem/examples/04.pix/06.PixRect.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/04.pix/06.PixRect.pd
@@ -1,88 +1,88 @@
-#N canvas 183 99 635 638 12;
-#X obj 179 176 gemhead;
-#X obj 179 587 pix_texture;
-#X msg 291 536 1 0 0;
-#X obj 179 612 square 3;
-#X floatatom 329 238 0 -10 250 0 - - -;
-#X obj 420 434 t b f;
-#X obj 420 408 + 40;
-#X obj 342 420 + 40;
-#X text 372 182 the position;
-#X text 433 539 the color;
-#X obj 291 513 loadbang;
-#X obj 179 204 pix_image ../data/fractal.JPG;
-#X obj 329 308 t f f;
-#X obj 380 308 t f f;
-#X text 375 241 x-pos;
-#X text 423 269 y-pos;
-#X floatatom 466 304 0 -50 250 0 - - -;
-#X text 512 307 width;
-#X text 560 335 height;
-#X obj 466 374 t b f;
-#X obj 517 374 t b f;
-#X obj 342 443 t b f;
-#X floatatom 380 271 0 -10 250 0 - - -;
-#X floatatom 517 333 0 -50 250 0 - - -;
-#X msg 373 538 0 1 0;
-#X obj 235 488 pack 0 0 40 40;
-#X obj 179 561 pix_rectangle;
-#X obj 20 69 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 454 304 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 182 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 238 112 destroy;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 289 80 pd Gem.init;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X connect 8 0 0 0;
-#X restore 25 113 pd gemwin;
-#X msg 25 89 create;
-#X text 21 69 Create window and render;
-#X text 118 26 draw a rectangle onto an image;
-#X connect 0 0 11 0;
-#X connect 1 0 3 0;
-#X connect 2 0 26 2;
-#X connect 4 0 12 0;
-#X connect 5 0 25 0;
-#X connect 5 1 25 3;
-#X connect 6 0 5 0;
-#X connect 7 0 21 0;
-#X connect 10 0 2 0;
-#X connect 11 0 26 0;
-#X connect 12 0 25 0;
-#X connect 12 1 7 0;
-#X connect 13 0 6 0;
-#X connect 13 1 25 1;
-#X connect 16 0 19 0;
-#X connect 19 0 7 0;
-#X connect 19 1 7 1;
-#X connect 20 0 6 0;
-#X connect 20 1 6 1;
-#X connect 21 0 25 0;
-#X connect 21 1 25 2;
-#X connect 22 0 13 0;
-#X connect 23 0 20 0;
-#X connect 24 0 26 2;
-#X connect 25 0 26 1;
-#X connect 26 0 1 0;
-#X connect 28 0 29 0;
-#X connect 29 0 28 0;
+#N canvas 183 99 635 638 12;
+#X obj 179 176 gemhead;
+#X obj 179 587 pix_texture;
+#X msg 291 536 1 0 0;
+#X obj 179 612 square 3;
+#X floatatom 329 238 0 -10 250 0 - - -;
+#X obj 420 434 t b f;
+#X obj 420 408 + 40;
+#X obj 342 420 + 40;
+#X text 372 182 the position;
+#X text 433 539 the color;
+#X obj 291 513 loadbang;
+#X obj 179 204 pix_image ../data/fractal.JPG;
+#X obj 329 308 t f f;
+#X obj 380 308 t f f;
+#X text 375 241 x-pos;
+#X text 423 269 y-pos;
+#X floatatom 466 304 0 -50 250 0 - - -;
+#X text 512 307 width;
+#X text 560 335 height;
+#X obj 466 374 t b f;
+#X obj 517 374 t b f;
+#X obj 342 443 t b f;
+#X floatatom 380 271 0 -10 250 0 - - -;
+#X floatatom 517 333 0 -50 250 0 - - -;
+#X msg 373 538 0 1 0;
+#X obj 235 488 pack 0 0 40 40;
+#X obj 179 561 pix_rectangle;
+#X obj 20 69 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 454 304 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 182 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 238 112 destroy;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 289 80 pd Gem.init;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X restore 25 113 pd gemwin;
+#X msg 25 89 create;
+#X text 21 69 Create window and render;
+#X text 118 26 draw a rectangle onto an image;
+#X connect 0 0 11 0;
+#X connect 1 0 3 0;
+#X connect 2 0 26 2;
+#X connect 4 0 12 0;
+#X connect 5 0 25 0;
+#X connect 5 1 25 3;
+#X connect 6 0 5 0;
+#X connect 7 0 21 0;
+#X connect 10 0 2 0;
+#X connect 11 0 26 0;
+#X connect 12 0 25 0;
+#X connect 12 1 7 0;
+#X connect 13 0 6 0;
+#X connect 13 1 25 1;
+#X connect 16 0 19 0;
+#X connect 19 0 7 0;
+#X connect 19 1 7 1;
+#X connect 20 0 6 0;
+#X connect 20 1 6 1;
+#X connect 21 0 25 0;
+#X connect 21 1 25 2;
+#X connect 22 0 13 0;
+#X connect 23 0 20 0;
+#X connect 24 0 26 2;
+#X connect 25 0 26 1;
+#X connect 26 0 1 0;
+#X connect 28 0 29 0;
+#X connect 29 0 28 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/04.pix/07.PixSet.pd b/packages/noncvs/windows/extra/Gem/examples/04.pix/07.PixSet.pd
index b6deab33..7e7b14b7 100644
--- a/packages/noncvs/windows/extra/Gem/examples/04.pix/07.PixSet.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/04.pix/07.PixSet.pd
@@ -1,69 +1,69 @@
-#N canvas 243 272 754 536 10;
-#X obj 143 110 gemhead;
-#X text 99 37 ========;
-#X msg 149 366 quality 0;
-#X obj 143 409 square 2;
-#X obj 149 343 loadbang;
-#X text 101 487 maybe have a look at;
-#X text 101 24 pix_set;
-#X text 246 23 set the pixles of the image;
-#X msg 279 165 rgb;
-#X msg 279 141 rgba;
-#X msg 279 189 grey;
-#X msg 229 108 0 0.8 0 0 0.9 0 0.1 0 1 1 1 10;
-#X msg 268 227 set 2 4;
-#X text 461 109 a list of pixel-values;
-#X text 331 163 interpret the list as;
-#X text 514 136 r1 g1 b1 a1 r2 g2 b2 a2 r3...;
-#X text 512 165 r1 g1 b1 r2 g2 b2 r3...;
-#X text 512 194 grey1 grey2 grey3...;
-#X text 507 236 set the imagesize to "X Y";
-#X text 306 317 creation arguments :: [X Y] of the image buffer;
-#X msg 265 249 set 1 1;
-#X text 253 487 [pix_dump];
-#X obj 143 243 pix_set 64 64;
-#X obj 143 387 pix_texture;
-#X obj 450 389 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 454 304 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 182 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 238 112 destroy;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 289 80 pd Gem.init;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X connect 8 0 0 0;
-#X restore 455 433 pd gemwin;
-#X msg 455 409 create;
-#X text 451 389 Create window and render;
-#X connect 0 0 22 0;
-#X connect 2 0 23 0;
-#X connect 4 0 2 0;
-#X connect 8 0 22 0;
-#X connect 9 0 22 0;
-#X connect 10 0 22 0;
-#X connect 11 0 22 1;
-#X connect 12 0 22 0;
-#X connect 20 0 22 0;
-#X connect 22 0 23 0;
-#X connect 23 0 3 0;
-#X connect 25 0 26 0;
-#X connect 26 0 25 0;
+#N canvas 243 272 754 536 10;
+#X obj 143 110 gemhead;
+#X text 99 37 ========;
+#X msg 149 366 quality 0;
+#X obj 143 409 square 2;
+#X obj 149 343 loadbang;
+#X text 101 487 maybe have a look at;
+#X text 101 24 pix_set;
+#X text 246 23 set the pixles of the image;
+#X msg 279 165 rgb;
+#X msg 279 141 rgba;
+#X msg 279 189 grey;
+#X msg 229 108 0 0.8 0 0 0.9 0 0.1 0 1 1 1 10;
+#X msg 268 227 set 2 4;
+#X text 461 109 a list of pixel-values;
+#X text 331 163 interpret the list as;
+#X text 514 136 r1 g1 b1 a1 r2 g2 b2 a2 r3...;
+#X text 512 165 r1 g1 b1 r2 g2 b2 r3...;
+#X text 512 194 grey1 grey2 grey3...;
+#X text 507 236 set the imagesize to "X Y";
+#X text 306 317 creation arguments :: [X Y] of the image buffer;
+#X msg 265 249 set 1 1;
+#X text 253 487 [pix_dump];
+#X obj 143 243 pix_set 64 64;
+#X obj 143 387 pix_texture;
+#X obj 450 389 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 454 304 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 182 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 238 112 destroy;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 289 80 pd Gem.init;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X restore 455 433 pd gemwin;
+#X msg 455 409 create;
+#X text 451 389 Create window and render;
+#X connect 0 0 22 0;
+#X connect 2 0 23 0;
+#X connect 4 0 2 0;
+#X connect 8 0 22 0;
+#X connect 9 0 22 0;
+#X connect 10 0 22 0;
+#X connect 11 0 22 1;
+#X connect 12 0 22 0;
+#X connect 20 0 22 0;
+#X connect 22 0 23 0;
+#X connect 23 0 3 0;
+#X connect 25 0 26 0;
+#X connect 26 0 25 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/04.pix/08.PixDump.pd b/packages/noncvs/windows/extra/Gem/examples/04.pix/08.PixDump.pd
index f98f8c17..25ed91d3 100644
--- a/packages/noncvs/windows/extra/Gem/examples/04.pix/08.PixDump.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/04.pix/08.PixDump.pd
@@ -1,64 +1,64 @@
-#N canvas 53 47 761 536 10;
-#X obj 143 110 gemhead;
-#X obj 143 203 pix_dump;
-#X text 101 24 pix_dump;
-#X text 99 37 ========;
-#X msg 369 184 bang;
-#X obj 143 387 pix_texture;
-#X msg 149 366 quality 0;
-#X obj 143 409 square 2;
-#X obj 149 343 loadbang;
-#X text 412 184 trigger the pix_dump;
-#X text 246 24 dump the pixles of the image;
-#X obj 194 254 print dump;
-#X text 297 265 this produces an output like;
-#X text 292 285 "r1 g1 b1 a1 r2 g2 b2 a2 r3 ...";
-#X text 292 302 (r=red \; g=green \; b=blue \; a=alpha);
-#X obj 474 371 repack;
-#X text 278 369 maybe you would like to use;
-#X text 525 373 (part of zexy);
-#X text 275 389 to excerpt pixel information out of this;
-#X text 101 487 maybe have a look at;
-#X obj 250 487 pix_set;
-#X obj 455 54 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 454 304 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 182 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 238 112 destroy;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 289 80 pd Gem.init;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X connect 8 0 0 0;
-#X restore 460 98 pd gemwin;
-#X msg 460 74 create;
-#X text 456 54 Create window and render;
-#X obj 143 135 pix_image ../data/blob2.tif;
-#X connect 0 0 25 0;
-#X connect 1 0 5 0;
-#X connect 1 1 11 0;
-#X connect 4 0 1 0;
-#X connect 5 0 7 0;
-#X connect 6 0 5 0;
-#X connect 8 0 6 0;
-#X connect 22 0 23 0;
-#X connect 23 0 22 0;
-#X connect 25 0 1 0;
+#N canvas 53 47 761 536 10;
+#X obj 143 110 gemhead;
+#X obj 143 203 pix_dump;
+#X text 101 24 pix_dump;
+#X text 99 37 ========;
+#X msg 369 184 bang;
+#X obj 143 387 pix_texture;
+#X msg 149 366 quality 0;
+#X obj 143 409 square 2;
+#X obj 149 343 loadbang;
+#X text 412 184 trigger the pix_dump;
+#X text 246 24 dump the pixels of the image;
+#X obj 194 254 print dump;
+#X text 297 265 this produces an output like;
+#X text 292 285 "r1 g1 b1 a1 r2 g2 b2 a2 r3 ...";
+#X text 292 302 (r=red \; g=green \; b=blue \; a=alpha);
+#X obj 474 371 repack;
+#X text 278 369 maybe you would like to use;
+#X text 525 373 (part of zexy);
+#X text 275 389 to excerpt pixel information out of this;
+#X text 101 487 maybe have a look at;
+#X obj 250 487 pix_set;
+#X obj 455 54 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 454 304 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 182 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 238 112 destroy;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 289 80 pd Gem.init;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X restore 460 98 pd gemwin;
+#X msg 460 74 create;
+#X text 456 54 Create window and render;
+#X obj 143 135 pix_image ../data/blob2.tif;
+#X connect 0 0 25 0;
+#X connect 1 0 5 0;
+#X connect 1 1 11 0;
+#X connect 4 0 1 0;
+#X connect 5 0 7 0;
+#X connect 6 0 5 0;
+#X connect 8 0 6 0;
+#X connect 22 0 23 0;
+#X connect 23 0 22 0;
+#X connect 25 0 1 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/04.pix/09.Histogram.pd b/packages/noncvs/windows/extra/Gem/examples/04.pix/09.Histogram.pd
index 5922a8ef..c554bcab 100644
--- a/packages/noncvs/windows/extra/Gem/examples/04.pix/09.Histogram.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/04.pix/09.Histogram.pd
@@ -1,89 +1,89 @@
-#N canvas 0 0 764 557 10;
-#N canvas 412 247 681 394 tables 0;
-#N canvas 0 0 450 300 (subpatch) 0;
-#X array red 256 float 0;
-#X coords 0 1 255 0 256 140 1;
-#X restore 95 30 graph;
-#N canvas 0 0 450 300 (subpatch) 0;
-#X array green 256 float 0;
-#X coords 0 1 255 0 256 140 1;
-#X restore 399 29 graph;
-#N canvas 0 0 450 300 (subpatch) 0;
-#X array blue 256 float 0;
-#X coords 0 1 255 0 256 140 1;
-#X restore 98 214 graph;
-#N canvas 0 0 450 300 (subpatch) 0;
-#X array alpha 64 float 0;
-#X coords 0 1 63 0 256 140 1;
-#X restore 396 212 graph;
-#X restore 379 211 pd tables;
-#X obj 34 192 gemhead;
-#X obj 34 476 pix_texture;
-#N canvas 0 0 450 300 (subpatch) 0;
-#X array rgb 64 float 0;
-#X coords 0 1 63 0 256 140 1;
-#X restore 287 53 graph;
-#X text 78 8 pix_curve: adjust the colour of an image;
-#X text 451 213 separate tables for r \, g \, b and a;
-#X msg 185 192 1;
-#X msg 155 192 0;
-#X msg 214 192 2;
-#X obj 34 497 square 3;
-#X msg 95 289 set red green blue alpha;
-#X msg 99 325 set red green blue;
-#X msg 99 365 set rgb;
-#X obj 34 395 pix_histo rgb;
-#X msg 564 57 \; rgb resize 32;
-#X msg 565 93 \; rgb resize 64;
-#X msg 564 135 \; rgb normalize 1;
-#X obj 300 367 pix_histo rgb;
-#X obj 303 328 pix_histo red green blue;
-#X obj 302 288 pix_histo red green blue alpha;
-#X text 313 388 one histogramm for all channels (making grey out of
-rgb);
-#X text 326 346 histograms for r \, g \, b;
-#X text 337 306 histograms for r \, g \, b \, a;
-#X obj 20 69 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 454 304 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 182 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 238 112 destroy;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 289 80 pd Gem.init;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X connect 8 0 0 0;
-#X restore 25 113 pd gemwin;
-#X msg 25 89 create;
-#X text 21 69 Create window and render;
-#X obj 34 217 pix_multiimage ../data/temp*.JPG 2;
-#X connect 1 0 27 0;
-#X connect 2 0 9 0;
-#X connect 6 0 27 1;
-#X connect 7 0 27 1;
-#X connect 8 0 27 1;
-#X connect 10 0 13 0;
-#X connect 11 0 13 0;
-#X connect 12 0 13 0;
-#X connect 13 0 2 0;
-#X connect 24 0 25 0;
-#X connect 25 0 24 0;
-#X connect 27 0 13 0;
+#N canvas 0 0 764 557 10;
+#N canvas 412 247 681 394 tables 0;
+#N canvas 0 0 450 300 (subpatch) 0;
+#X array red 256 float 0;
+#X coords 0 1 255 0 256 140 1;
+#X restore 95 30 graph;
+#N canvas 0 0 450 300 (subpatch) 0;
+#X array green 256 float 0;
+#X coords 0 1 255 0 256 140 1;
+#X restore 399 29 graph;
+#N canvas 0 0 450 300 (subpatch) 0;
+#X array blue 256 float 0;
+#X coords 0 1 255 0 256 140 1;
+#X restore 98 214 graph;
+#N canvas 0 0 450 300 (subpatch) 0;
+#X array alpha 64 float 0;
+#X coords 0 1 63 0 256 140 1;
+#X restore 396 212 graph;
+#X restore 379 211 pd tables;
+#X obj 34 192 gemhead;
+#X obj 34 476 pix_texture;
+#N canvas 0 0 450 300 (subpatch) 0;
+#X array rgb 64 float 0;
+#X coords 0 1 63 0 256 140 1;
+#X restore 287 53 graph;
+#X text 78 8 pix_curve: adjust the colour of an image;
+#X text 451 213 separate tables for r \, g \, b and a;
+#X msg 185 192 1;
+#X msg 155 192 0;
+#X msg 214 192 2;
+#X obj 34 497 square 3;
+#X msg 95 289 set red green blue alpha;
+#X msg 99 325 set red green blue;
+#X msg 99 365 set rgb;
+#X obj 34 395 pix_histo rgb;
+#X msg 564 57 \; rgb resize 32;
+#X msg 565 93 \; rgb resize 64;
+#X msg 564 135 \; rgb normalize 1;
+#X obj 300 367 pix_histo rgb;
+#X obj 303 328 pix_histo red green blue;
+#X obj 302 288 pix_histo red green blue alpha;
+#X text 313 388 one histogramm for all channels (making grey out of
+rgb);
+#X text 326 346 histograms for r \, g \, b;
+#X text 337 306 histograms for r \, g \, b \, a;
+#X obj 20 69 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 454 304 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 182 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 238 112 destroy;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 289 80 pd Gem.init;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X restore 25 113 pd gemwin;
+#X msg 25 89 create;
+#X text 21 69 Create window and render;
+#X obj 34 217 pix_multiimage ../data/temp*.JPG 2;
+#X connect 1 0 27 0;
+#X connect 2 0 9 0;
+#X connect 6 0 27 1;
+#X connect 7 0 27 1;
+#X connect 8 0 27 1;
+#X connect 10 0 13 0;
+#X connect 11 0 13 0;
+#X connect 12 0 13 0;
+#X connect 13 0 2 0;
+#X connect 24 0 25 0;
+#X connect 25 0 24 0;
+#X connect 27 0 13 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/04.pix/10.PixDataSimple.pd b/packages/noncvs/windows/extra/Gem/examples/04.pix/10.PixDataSimple.pd
index 36bb4e6f..952ecf62 100644
--- a/packages/noncvs/windows/extra/Gem/examples/04.pix/10.PixDataSimple.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/04.pix/10.PixDataSimple.pd
@@ -1,90 +1,90 @@
-#N canvas 284 93 594 539 10;
-#X obj 46 186 gemwin;
-#X obj 319 173 gemhead;
-#X obj 258 329 pix_data;
-#X msg 244 103 1;
-#X msg 243 128 0;
-#X msg 87 48 create;
-#X msg 114 104 destroy;
-#X msg 319 143 bang;
-#X msg 205 103 bang;
-#X obj 205 73 t b b;
-#X msg 205 54 bang;
-#X obj 233 422 translateXYZ;
-#X obj 233 360 gemhead;
-#X obj 233 449 color;
-#X obj 233 200 t b b b b;
-#X obj 369 328 * 6;
-#X obj 444 328 * 6;
-#X obj 444 348 - 3;
-#X obj 369 348 - 3;
-#X msg 348 42 1;
-#X msg 391 42 0;
-#X obj 84 302 world_light;
-#X obj 84 274 gemhead;
-#X obj 348 93 metro 5;
-#X obj 233 478 sphere 0.1;
-#X text 79 13 click here to begin;
-#X text 320 18 turn on/off the metro;
-#X obj 319 202 pix_image ../data/fractal.JPG;
-#N canvas 95 194 290 179 Gem.init 0;
-#X obj 118 18 loadbang;
-#X msg 201 78 reset;
-#X obj 118 113 outlet;
-#X obj 118 45 t b b;
-#X msg 118 79 lighting 1;
-#X msg 22 77 buffer 1;
-#X connect 0 0 3 0;
-#X connect 1 0 2 0;
-#X connect 3 0 4 0;
-#X connect 3 0 5 0;
-#X connect 3 1 1 0;
-#X connect 4 0 2 0;
-#X connect 5 0 2 0;
-#X restore 25 153 pd Gem.init;
-#X text 93 34 1;
-#X text 209 38 2;
-#X obj 337 253 random 1000;
-#X obj 337 270 / 1000;
-#X obj 337 288 t f f;
-#X obj 419 253 random 1000;
-#X obj 419 270 / 1000;
-#X obj 419 288 t f f;
-#X connect 1 0 27 0;
-#X connect 2 1 13 1;
-#X connect 3 0 0 0;
-#X connect 4 0 0 0;
-#X connect 5 0 0 0;
-#X connect 6 0 0 0;
-#X connect 7 0 1 0;
-#X connect 8 0 0 0;
-#X connect 9 0 7 0;
-#X connect 9 0 8 0;
-#X connect 9 1 3 0;
-#X connect 10 0 9 0;
-#X connect 11 0 13 0;
-#X connect 12 0 11 0;
-#X connect 13 0 24 0;
-#X connect 14 0 12 0;
-#X connect 14 1 2 0;
-#X connect 14 1 22 0;
-#X connect 14 2 31 0;
-#X connect 14 3 34 0;
-#X connect 15 0 18 0;
-#X connect 16 0 17 0;
-#X connect 17 0 11 2;
-#X connect 18 0 11 1;
-#X connect 19 0 23 0;
-#X connect 20 0 23 0;
-#X connect 22 0 21 0;
-#X connect 23 0 14 0;
-#X connect 27 0 2 1;
-#X connect 28 0 0 0;
-#X connect 31 0 32 0;
-#X connect 32 0 33 0;
-#X connect 33 0 2 2;
-#X connect 33 1 15 0;
-#X connect 34 0 35 0;
-#X connect 35 0 36 0;
-#X connect 36 0 2 3;
-#X connect 36 1 16 0;
+#N canvas 284 93 594 539 10;
+#X obj 46 186 gemwin;
+#X obj 319 173 gemhead;
+#X obj 258 329 pix_data;
+#X msg 244 103 1;
+#X msg 243 128 0;
+#X msg 87 48 create;
+#X msg 114 104 destroy;
+#X msg 319 143 bang;
+#X msg 205 103 bang;
+#X obj 205 73 t b b;
+#X msg 205 54 bang;
+#X obj 233 422 translateXYZ;
+#X obj 233 360 gemhead;
+#X obj 233 449 color;
+#X obj 233 200 t b b b b;
+#X obj 369 328 * 6;
+#X obj 444 328 * 6;
+#X obj 444 348 - 3;
+#X obj 369 348 - 3;
+#X msg 348 42 1;
+#X msg 391 42 0;
+#X obj 84 302 world_light;
+#X obj 84 274 gemhead;
+#X obj 348 93 metro 5;
+#X obj 233 478 sphere 0.1;
+#X text 79 13 click here to begin;
+#X text 320 18 turn on/off the metro;
+#X obj 319 202 pix_image ../data/fractal.JPG;
+#N canvas 95 194 290 179 Gem.init 0;
+#X obj 118 18 loadbang;
+#X msg 201 78 reset;
+#X obj 118 113 outlet;
+#X obj 118 45 t b b;
+#X msg 118 79 lighting 1;
+#X msg 22 77 buffer 1;
+#X connect 0 0 3 0;
+#X connect 1 0 2 0;
+#X connect 3 0 4 0;
+#X connect 3 0 5 0;
+#X connect 3 1 1 0;
+#X connect 4 0 2 0;
+#X connect 5 0 2 0;
+#X restore 25 153 pd Gem.init;
+#X text 93 34 1;
+#X text 209 38 2;
+#X obj 337 253 random 1000;
+#X obj 337 270 / 1000;
+#X obj 337 288 t f f;
+#X obj 419 253 random 1000;
+#X obj 419 270 / 1000;
+#X obj 419 288 t f f;
+#X connect 1 0 27 0;
+#X connect 2 1 13 1;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 0 0;
+#X connect 7 0 1 0;
+#X connect 8 0 0 0;
+#X connect 9 0 7 0;
+#X connect 9 0 8 0;
+#X connect 9 1 3 0;
+#X connect 10 0 9 0;
+#X connect 11 0 13 0;
+#X connect 12 0 11 0;
+#X connect 13 0 24 0;
+#X connect 14 0 12 0;
+#X connect 14 1 2 0;
+#X connect 14 1 22 0;
+#X connect 14 2 31 0;
+#X connect 14 3 34 0;
+#X connect 15 0 18 0;
+#X connect 16 0 17 0;
+#X connect 17 0 11 2;
+#X connect 18 0 11 1;
+#X connect 19 0 23 0;
+#X connect 20 0 23 0;
+#X connect 22 0 21 0;
+#X connect 23 0 14 0;
+#X connect 27 0 2 1;
+#X connect 28 0 0 0;
+#X connect 31 0 32 0;
+#X connect 32 0 33 0;
+#X connect 33 0 2 2;
+#X connect 33 1 15 0;
+#X connect 34 0 35 0;
+#X connect 35 0 36 0;
+#X connect 36 0 2 3;
+#X connect 36 1 16 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/04.pix/11.PixDataComplex.pd b/packages/noncvs/windows/extra/Gem/examples/04.pix/11.PixDataComplex.pd
index cb8d8462..258cc27b 100644
--- a/packages/noncvs/windows/extra/Gem/examples/04.pix/11.PixDataComplex.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/04.pix/11.PixDataComplex.pd
@@ -1,117 +1,117 @@
-#N canvas 331 86 929 574 10;
-#X obj 30 159 gemwin;
-#X obj 372 135 gemhead;
-#X obj 372 164 pix_image ../data/fractal.JPG;
-#X obj 285 311 pix_data;
-#X msg 183 110 1;
-#X msg 218 110 0;
-#X msg 48 37 create;
-#X msg 49 87 destroy;
-#X msg 372 105 bang;
-#X msg 138 111 bang;
-#X obj 214 61 t b b;
-#X msg 214 36 bang;
-#X obj 206 400 translateXYZ;
-#X obj 206 338 gemhead;
-#X obj 206 436 color;
-#X obj 266 205 t b b b b;
-#X obj 443 313 * 6;
-#X obj 443 339 - 3;
-#X obj 385 341 - 3;
-#X msg 292 30 1;
-#X msg 325 30 0;
-#X obj 84 320 world_light;
-#X obj 84 274 gemhead;
-#X obj 206 471 rotate 1 1 1;
-#X obj 337 397 * 90;
-#X obj 292 114 metro 5;
-#X obj 485 313 pix_data;
-#X obj 501 237 gemhead;
-#N canvas 99 214 290 179 Gem.init 0;
-#X obj 118 18 loadbang;
-#X msg 215 80 reset;
-#X obj 118 113 outlet;
-#X obj 118 45 t b b;
-#X msg 118 79 lighting 1;
-#X msg 34 80 buffer 1;
-#X connect 0 0 3 0;
-#X connect 1 0 2 0;
-#X connect 3 0 4 0;
-#X connect 3 0 5 0;
-#X connect 3 1 1 0;
-#X connect 4 0 2 0;
-#X connect 5 0 2 0;
-#X restore 30 125 pd Gem.init;
-#X text 53 22 1;
-#X text 217 19 2;
-#X obj 336 236 random 1000;
-#X obj 336 254 / 1000;
-#X obj 336 272 t f f;
-#X obj 418 236 random 1000;
-#X obj 418 254 / 1000;
-#X obj 418 272 t f f;
-#X floatatom 385 366 5 0 0 0 - - -;
-#X floatatom 443 366 5 0 0 0 - - -;
-#X obj 385 314 * 6;
-#X floatatom 341 429 5 0 0 0 - - -;
-#X obj 206 506 cube 0;
-#X msg 500 197 bang;
-#X obj 501 272 pix_image ../data/dancer.JPG;
-#X floatatom 537 423 5 0 0 0 - - -;
-#X obj 537 473 * 0.2;
-#X obj 537 369 f;
-#X connect 1 0 2 0;
-#X connect 2 0 3 1;
-#X connect 3 1 14 1;
-#X connect 3 2 24 0;
-#X connect 4 0 0 0;
-#X connect 5 0 0 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X connect 8 0 1 0;
-#X connect 8 0 27 0;
-#X connect 9 0 0 0;
-#X connect 10 0 8 0;
-#X connect 10 0 9 0;
-#X connect 10 1 4 0;
-#X connect 11 0 10 0;
-#X connect 12 0 14 0;
-#X connect 13 0 12 0;
-#X connect 14 0 23 0;
-#X connect 15 0 13 0;
-#X connect 15 1 3 0;
-#X connect 15 1 22 0;
-#X connect 15 1 26 0;
-#X connect 15 2 31 0;
-#X connect 15 3 34 0;
-#X connect 16 0 17 0;
-#X connect 17 0 12 2;
-#X connect 17 0 38 0;
-#X connect 18 0 12 1;
-#X connect 18 0 37 0;
-#X connect 19 0 25 0;
-#X connect 20 0 25 0;
-#X connect 22 0 21 0;
-#X connect 23 0 41 0;
-#X connect 24 0 23 1;
-#X connect 24 0 40 0;
-#X connect 25 0 15 0;
-#X connect 26 1 46 0;
-#X connect 27 0 43 0;
-#X connect 28 0 0 0;
-#X connect 31 0 32 0;
-#X connect 32 0 33 0;
-#X connect 33 0 3 2;
-#X connect 33 0 26 2;
-#X connect 33 1 39 0;
-#X connect 34 0 35 0;
-#X connect 35 0 36 0;
-#X connect 36 0 3 3;
-#X connect 36 0 26 3;
-#X connect 36 1 16 0;
-#X connect 39 0 18 0;
-#X connect 42 0 27 0;
-#X connect 43 0 26 1;
-#X connect 44 0 45 0;
-#X connect 45 0 41 1;
-#X connect 46 0 44 0;
+#N canvas 331 86 929 574 10;
+#X obj 30 159 gemwin;
+#X obj 372 135 gemhead;
+#X obj 372 164 pix_image ../data/fractal.JPG;
+#X obj 285 311 pix_data;
+#X msg 183 110 1;
+#X msg 218 110 0;
+#X msg 48 37 create;
+#X msg 49 87 destroy;
+#X msg 372 105 bang;
+#X msg 138 111 bang;
+#X obj 214 61 t b b;
+#X msg 214 36 bang;
+#X obj 206 400 translateXYZ;
+#X obj 206 338 gemhead;
+#X obj 206 436 color;
+#X obj 266 205 t b b b b;
+#X obj 443 313 * 6;
+#X obj 443 339 - 3;
+#X obj 385 341 - 3;
+#X msg 292 30 1;
+#X msg 325 30 0;
+#X obj 84 320 world_light;
+#X obj 84 274 gemhead;
+#X obj 206 471 rotate 1 1 1;
+#X obj 337 397 * 90;
+#X obj 292 114 metro 5;
+#X obj 485 313 pix_data;
+#X obj 501 237 gemhead;
+#N canvas 99 214 290 179 Gem.init 0;
+#X obj 118 18 loadbang;
+#X msg 215 80 reset;
+#X obj 118 113 outlet;
+#X obj 118 45 t b b;
+#X msg 118 79 lighting 1;
+#X msg 34 80 buffer 1;
+#X connect 0 0 3 0;
+#X connect 1 0 2 0;
+#X connect 3 0 4 0;
+#X connect 3 0 5 0;
+#X connect 3 1 1 0;
+#X connect 4 0 2 0;
+#X connect 5 0 2 0;
+#X restore 30 125 pd Gem.init;
+#X text 53 22 1;
+#X text 217 19 2;
+#X obj 336 236 random 1000;
+#X obj 336 254 / 1000;
+#X obj 336 272 t f f;
+#X obj 418 236 random 1000;
+#X obj 418 254 / 1000;
+#X obj 418 272 t f f;
+#X floatatom 385 366 5 0 0 0 - - -;
+#X floatatom 443 366 5 0 0 0 - - -;
+#X obj 385 314 * 6;
+#X floatatom 341 429 5 0 0 0 - - -;
+#X obj 206 506 cube 0;
+#X msg 500 197 bang;
+#X obj 501 272 pix_image ../data/dancer.JPG;
+#X floatatom 537 423 5 0 0 0 - - -;
+#X obj 537 473 * 0.2;
+#X obj 537 369 f;
+#X connect 1 0 2 0;
+#X connect 2 0 3 1;
+#X connect 3 1 14 1;
+#X connect 3 2 24 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 1 0;
+#X connect 8 0 27 0;
+#X connect 9 0 0 0;
+#X connect 10 0 8 0;
+#X connect 10 0 9 0;
+#X connect 10 1 4 0;
+#X connect 11 0 10 0;
+#X connect 12 0 14 0;
+#X connect 13 0 12 0;
+#X connect 14 0 23 0;
+#X connect 15 0 13 0;
+#X connect 15 1 3 0;
+#X connect 15 1 22 0;
+#X connect 15 1 26 0;
+#X connect 15 2 31 0;
+#X connect 15 3 34 0;
+#X connect 16 0 17 0;
+#X connect 17 0 12 2;
+#X connect 17 0 38 0;
+#X connect 18 0 12 1;
+#X connect 18 0 37 0;
+#X connect 19 0 25 0;
+#X connect 20 0 25 0;
+#X connect 22 0 21 0;
+#X connect 23 0 41 0;
+#X connect 24 0 23 1;
+#X connect 24 0 40 0;
+#X connect 25 0 15 0;
+#X connect 26 1 46 0;
+#X connect 27 0 43 0;
+#X connect 28 0 0 0;
+#X connect 31 0 32 0;
+#X connect 32 0 33 0;
+#X connect 33 0 3 2;
+#X connect 33 0 26 2;
+#X connect 33 1 39 0;
+#X connect 34 0 35 0;
+#X connect 35 0 36 0;
+#X connect 36 0 3 3;
+#X connect 36 0 26 3;
+#X connect 36 1 16 0;
+#X connect 39 0 18 0;
+#X connect 42 0 27 0;
+#X connect 43 0 26 1;
+#X connect 44 0 45 0;
+#X connect 45 0 41 1;
+#X connect 46 0 44 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/04.pix/12.add.pd b/packages/noncvs/windows/extra/Gem/examples/04.pix/12.add.pd
index 4c0a69f8..396f03c0 100644
--- a/packages/noncvs/windows/extra/Gem/examples/04.pix/12.add.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/04.pix/12.add.pd
@@ -1,52 +1,52 @@
-#N canvas 542 198 681 468 10;
-#X obj 270 175 pix_image ../data/dancer.JPG;
-#X obj 270 342 pix_texture;
-#X obj 270 383 square;
-#X msg 329 364 3;
-#X obj 369 209 gemhead 20;
-#X obj 270 142 gemhead;
-#X msg 370 141 open ../data/dancer.JPG;
-#X obj 369 232 pix_image ../data/fractal.JPG;
-#X obj 270 282 pix_add;
-#X obj 20 79 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 454 304 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 182 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 238 112 destroy;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 289 80 pd Gem.init;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X connect 8 0 0 0;
-#X restore 25 123 pd gemwin;
-#X msg 25 106 create;
-#X text 21 79 Create window and render;
-#X text 135 60 blending \, using he pixel addition;
-#X connect 0 0 8 0;
-#X connect 1 0 2 0;
-#X connect 3 0 2 1;
-#X connect 4 0 7 0;
-#X connect 5 0 0 0;
-#X connect 6 0 0 0;
-#X connect 7 0 8 1;
-#X connect 8 0 1 0;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
+#N canvas 542 198 681 468 10;
+#X obj 270 175 pix_image ../data/dancer.JPG;
+#X obj 270 342 pix_texture;
+#X obj 270 383 square;
+#X msg 329 364 3;
+#X obj 369 209 gemhead 20;
+#X obj 270 142 gemhead;
+#X msg 370 141 open ../data/dancer.JPG;
+#X obj 369 232 pix_image ../data/fractal.JPG;
+#X obj 270 282 pix_add;
+#X obj 20 79 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 454 304 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 182 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 238 112 destroy;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 289 80 pd Gem.init;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X restore 25 123 pd gemwin;
+#X msg 25 106 create;
+#X text 21 79 Create window and render;
+#X text 135 60 blending \, using pixel addition;
+#X connect 0 0 8 0;
+#X connect 1 0 2 0;
+#X connect 3 0 2 1;
+#X connect 4 0 7 0;
+#X connect 5 0 0 0;
+#X connect 6 0 0 0;
+#X connect 7 0 8 1;
+#X connect 8 0 1 0;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/04.pix/12.blending.pd b/packages/noncvs/windows/extra/Gem/examples/04.pix/12.blending.pd
index 473c48e8..ab22c03b 100644
--- a/packages/noncvs/windows/extra/Gem/examples/04.pix/12.blending.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/04.pix/12.blending.pd
@@ -1,173 +1,173 @@
-#N canvas 138 0 775 371 10;
-#X obj 254 305 pix_texture;
-#X obj 290 112 gemhead 20;
-#X obj 254 65 gemhead;
-#X text 257 30 various methods for blending images;
-#N canvas 165 295 561 386 blending 0;
-#X obj 28 65 inlet;
-#X obj 191 354 outlet;
-#X obj 173 285 inlet;
-#X obj 320 8 inlet;
-#X obj 28 322 pix_composite;
-#X obj 129 323 pix_add;
-#X obj 285 322 pix_diff;
-#X obj 191 322 pix_subtract;
-#X obj 28 227 pix_alpha;
-#N canvas 445 182 508 174 select 0;
-#X obj 88 35 inlet;
-#X msg 88 98 1;
-#X msg 144 98 2;
-#X msg 201 97 3;
-#X msg 257 97 0;
-#X obj 88 121 outlet;
-#X msg 329 100 4;
-#X obj 88 59 select pix_add pix_subtract pix_diff pix_composite pix_multiply
-;
-#X connect 0 0 7 0;
-#X connect 1 0 5 0;
-#X connect 2 0 5 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 6 0 5 0;
-#X connect 7 0 1 0;
-#X connect 7 1 2 0;
-#X connect 7 2 3 0;
-#X connect 7 3 4 0;
-#X connect 7 4 6 0;
-#X restore 350 82 pd select blending method;
-#X obj 360 324 pix_multiply;
-#N canvas 172 373 450 300 demux5 0;
-#X obj 59 30 inlet;
-#X obj 283 17 inlet;
-#X obj 59 193 outlet;
-#X obj 59 137 spigot;
-#X obj 96 109 == 0;
-#X obj 106 137 spigot;
-#X obj 153 139 spigot;
-#X obj 200 137 spigot;
-#X obj 246 137 spigot;
-#X obj 143 109 == 1;
-#X obj 190 109 == 2;
-#X obj 237 109 == 3;
-#X obj 283 109 == 4;
-#X obj 96 83 loadbang;
-#X obj 59 52 t a a a a a;
-#X obj 106 194 outlet;
-#X obj 153 195 outlet;
-#X obj 200 196 outlet;
-#X obj 246 195 outlet;
-#X obj 283 61 f;
-#X connect 0 0 14 0;
-#X connect 1 0 19 0;
-#X connect 3 0 2 0;
-#X connect 4 0 3 1;
-#X connect 5 0 15 0;
-#X connect 6 0 16 0;
-#X connect 7 0 17 0;
-#X connect 8 0 18 0;
-#X connect 9 0 5 1;
-#X connect 10 0 6 1;
-#X connect 11 0 7 1;
-#X connect 12 0 8 1;
-#X connect 13 0 4 0;
-#X connect 14 0 3 0;
-#X connect 14 1 5 0;
-#X connect 14 2 6 0;
-#X connect 14 3 7 0;
-#X connect 14 4 8 0;
-#X connect 19 0 4 0;
-#X connect 19 0 9 0;
-#X connect 19 0 10 0;
-#X connect 19 0 11 0;
-#X connect 19 0 12 0;
-#X restore 28 189 pd demux5;
-#X obj 320 28 t b a;
-#X obj 28 129 pix_buf;
-#X text 26 39 pix1;
-#X text 176 269 pix2;
-#X obj 350 56 symbol;
-#X text 99 232 we need an alpha componenct for 'composite';
-#X text 85 115 [pix_add] and friends will overwrite the original (left)
-image with the blend. [pix_buf] holds a local copy of the original
-image and will refresh the output when banged.;
-#X connect 0 0 13 0;
-#X connect 2 0 5 1;
-#X connect 2 0 4 1;
-#X connect 2 0 7 1;
-#X connect 2 0 6 1;
-#X connect 2 0 10 1;
-#X connect 3 0 12 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 1 0;
-#X connect 7 0 1 0;
-#X connect 8 0 4 0;
-#X connect 9 0 11 1;
-#X connect 10 0 1 0;
-#X connect 11 0 8 0;
-#X connect 11 1 5 0;
-#X connect 11 2 7 0;
-#X connect 11 3 6 0;
-#X connect 11 4 10 0;
-#X connect 12 0 13 0;
-#X connect 12 1 16 0;
-#X connect 13 0 11 0;
-#X connect 16 0 9 0;
-#X restore 254 250 pd blending;
-#X obj 254 328 square 3;
-#X text 461 210 additive blending (likely to get white);
-#X text 461 231 subtractive blending (likely to get black);
-#X text 467 184 alpha blending;
-#X msg 367 281 pix_multiply;
-#X msg 368 256 pix_diff;
-#X msg 366 232 pix_subtract;
-#X msg 366 207 pix_add;
-#X msg 367 184 pix_composite;
-#X text 469 281 multiply 2 images together;
-#X obj 254 87 pix_image ../data/dancer.JPG;
-#X obj 290 136 pix_image ../data/fractal.JPG;
-#X text 465 259 difference;
-#X obj 20 69 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 454 304 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 182 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 238 112 destroy;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 289 80 pd Gem.init;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X connect 8 0 0 0;
-#X restore 25 113 pd gemwin;
-#X msg 25 89 create;
-#X text 21 69 Create window and render;
-#X connect 0 0 5 0;
-#X connect 1 0 16 0;
-#X connect 2 0 15 0;
-#X connect 4 0 0 0;
-#X connect 9 0 4 2;
-#X connect 10 0 4 2;
-#X connect 11 0 4 2;
-#X connect 12 0 4 2;
-#X connect 13 0 4 2;
-#X connect 15 0 4 0;
-#X connect 16 0 4 1;
-#X connect 19 0 20 0;
-#X connect 20 0 19 0;
+#N canvas 138 0 775 371 10;
+#X obj 254 305 pix_texture;
+#X obj 290 112 gemhead 20;
+#X obj 254 65 gemhead;
+#X text 257 30 various methods for blending images;
+#N canvas 165 295 561 386 blending 0;
+#X obj 28 65 inlet;
+#X obj 191 354 outlet;
+#X obj 173 285 inlet;
+#X obj 320 8 inlet;
+#X obj 28 322 pix_composite;
+#X obj 129 323 pix_add;
+#X obj 285 322 pix_diff;
+#X obj 191 322 pix_subtract;
+#X obj 28 227 pix_alpha;
+#N canvas 445 182 508 174 select 0;
+#X obj 88 35 inlet;
+#X msg 88 98 1;
+#X msg 144 98 2;
+#X msg 201 97 3;
+#X msg 257 97 0;
+#X obj 88 121 outlet;
+#X msg 329 100 4;
+#X obj 88 59 select pix_add pix_subtract pix_diff pix_composite pix_multiply
+;
+#X connect 0 0 7 0;
+#X connect 1 0 5 0;
+#X connect 2 0 5 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 6 0 5 0;
+#X connect 7 0 1 0;
+#X connect 7 1 2 0;
+#X connect 7 2 3 0;
+#X connect 7 3 4 0;
+#X connect 7 4 6 0;
+#X restore 350 82 pd select blending method;
+#X obj 360 324 pix_multiply;
+#N canvas 172 373 450 300 demux5 0;
+#X obj 59 30 inlet;
+#X obj 283 17 inlet;
+#X obj 59 193 outlet;
+#X obj 59 137 spigot;
+#X obj 96 109 == 0;
+#X obj 106 137 spigot;
+#X obj 153 139 spigot;
+#X obj 200 137 spigot;
+#X obj 246 137 spigot;
+#X obj 143 109 == 1;
+#X obj 190 109 == 2;
+#X obj 237 109 == 3;
+#X obj 283 109 == 4;
+#X obj 96 83 loadbang;
+#X obj 59 52 t a a a a a;
+#X obj 106 194 outlet;
+#X obj 153 195 outlet;
+#X obj 200 196 outlet;
+#X obj 246 195 outlet;
+#X obj 283 61 f;
+#X connect 0 0 14 0;
+#X connect 1 0 19 0;
+#X connect 3 0 2 0;
+#X connect 4 0 3 1;
+#X connect 5 0 15 0;
+#X connect 6 0 16 0;
+#X connect 7 0 17 0;
+#X connect 8 0 18 0;
+#X connect 9 0 5 1;
+#X connect 10 0 6 1;
+#X connect 11 0 7 1;
+#X connect 12 0 8 1;
+#X connect 13 0 4 0;
+#X connect 14 0 3 0;
+#X connect 14 1 5 0;
+#X connect 14 2 6 0;
+#X connect 14 3 7 0;
+#X connect 14 4 8 0;
+#X connect 19 0 4 0;
+#X connect 19 0 9 0;
+#X connect 19 0 10 0;
+#X connect 19 0 11 0;
+#X connect 19 0 12 0;
+#X restore 28 189 pd demux5;
+#X obj 320 28 t b a;
+#X obj 28 129 pix_buf;
+#X text 26 39 pix1;
+#X text 176 269 pix2;
+#X obj 350 56 symbol;
+#X text 99 232 we need an alpha componenct for 'composite';
+#X text 85 115 [pix_add] and friends will overwrite the original (left)
+image with the blend. [pix_buf] holds a local copy of the original
+image and will refresh the output when banged.;
+#X connect 0 0 13 0;
+#X connect 2 0 5 1;
+#X connect 2 0 4 1;
+#X connect 2 0 7 1;
+#X connect 2 0 6 1;
+#X connect 2 0 10 1;
+#X connect 3 0 12 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 1 0;
+#X connect 7 0 1 0;
+#X connect 8 0 4 0;
+#X connect 9 0 11 1;
+#X connect 10 0 1 0;
+#X connect 11 0 8 0;
+#X connect 11 1 5 0;
+#X connect 11 2 7 0;
+#X connect 11 3 6 0;
+#X connect 11 4 10 0;
+#X connect 12 0 13 0;
+#X connect 12 1 16 0;
+#X connect 13 0 11 0;
+#X connect 16 0 9 0;
+#X restore 254 250 pd blending;
+#X obj 254 328 square 3;
+#X text 461 210 additive blending (likely to get white);
+#X text 461 231 subtractive blending (likely to get black);
+#X text 467 184 alpha blending;
+#X msg 367 281 pix_multiply;
+#X msg 368 256 pix_diff;
+#X msg 366 232 pix_subtract;
+#X msg 366 207 pix_add;
+#X msg 367 184 pix_composite;
+#X text 469 281 multiply 2 images together;
+#X obj 254 87 pix_image ../data/dancer.JPG;
+#X obj 290 136 pix_image ../data/fractal.JPG;
+#X text 465 259 difference;
+#X obj 20 69 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 454 304 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 182 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 238 112 destroy;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 289 80 pd Gem.init;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X restore 25 113 pd gemwin;
+#X msg 25 89 create;
+#X text 21 69 Create window and render;
+#X connect 0 0 5 0;
+#X connect 1 0 16 0;
+#X connect 2 0 15 0;
+#X connect 4 0 0 0;
+#X connect 9 0 4 2;
+#X connect 10 0 4 2;
+#X connect 11 0 4 2;
+#X connect 12 0 4 2;
+#X connect 13 0 4 2;
+#X connect 15 0 4 0;
+#X connect 16 0 4 1;
+#X connect 19 0 20 0;
+#X connect 20 0 19 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/04.pix/12.composite.pd b/packages/noncvs/windows/extra/Gem/examples/04.pix/12.composite.pd
index d4959529..5219e561 100644
--- a/packages/noncvs/windows/extra/Gem/examples/04.pix/12.composite.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/04.pix/12.composite.pd
@@ -1,54 +1,54 @@
-#N canvas 246 168 681 468 10;
-#X obj 270 175 pix_image ../data/dancer.JPG;
-#X obj 270 338 pix_texture;
-#X obj 270 379 square;
-#X msg 329 360 3;
-#X obj 270 278 pix_composite;
-#X obj 369 209 gemhead 20;
-#X obj 270 142 gemhead;
-#X obj 270 207 pix_alpha;
-#X msg 370 141 open ../data/dancer.JPG;
-#X obj 369 244 pix_image ../data/fractal.JPG;
-#X text 135 60 blending \, using he alpha-mask;
-#X obj 20 79 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 454 304 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 182 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 238 112 destroy;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 289 80 pd Gem.init;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X connect 8 0 0 0;
-#X restore 25 123 pd gemwin;
-#X msg 25 105 create;
-#X text 21 79 Create window and render;
-#X connect 0 0 7 0;
-#X connect 1 0 2 0;
-#X connect 3 0 2 1;
-#X connect 4 0 1 0;
-#X connect 5 0 9 0;
-#X connect 6 0 0 0;
-#X connect 7 0 4 0;
-#X connect 8 0 0 0;
-#X connect 9 0 4 1;
-#X connect 12 0 13 0;
-#X connect 13 0 12 0;
+#N canvas 246 168 681 468 10;
+#X obj 270 175 pix_image ../data/dancer.JPG;
+#X obj 270 338 pix_texture;
+#X obj 270 379 square;
+#X msg 329 360 3;
+#X obj 270 278 pix_composite;
+#X obj 369 209 gemhead 20;
+#X obj 270 142 gemhead;
+#X obj 270 207 pix_alpha;
+#X msg 370 141 open ../data/dancer.JPG;
+#X obj 369 244 pix_image ../data/fractal.JPG;
+#X text 135 60 blending \, using the alpha-mask;
+#X obj 20 79 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 454 304 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 182 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 238 112 destroy;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 289 80 pd Gem.init;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X restore 25 123 pd gemwin;
+#X msg 25 105 create;
+#X text 21 79 Create window and render;
+#X connect 0 0 7 0;
+#X connect 1 0 2 0;
+#X connect 3 0 2 1;
+#X connect 4 0 1 0;
+#X connect 5 0 9 0;
+#X connect 6 0 0 0;
+#X connect 7 0 4 0;
+#X connect 8 0 0 0;
+#X connect 9 0 4 1;
+#X connect 12 0 13 0;
+#X connect 13 0 12 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/04.pix/12.pix_multiply.pd b/packages/noncvs/windows/extra/Gem/examples/04.pix/12.pix_multiply.pd
index 1826175c..cb87b119 100644
--- a/packages/noncvs/windows/extra/Gem/examples/04.pix/12.pix_multiply.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/04.pix/12.pix_multiply.pd
@@ -1,55 +1,55 @@
-#N canvas 58 175 600 500 10;
-#X obj 288 247 pix_image ../data/dancer.JPG;
-#X obj 270 153 gemhead;
-#X obj 270 188 pix_image ../data/fractal.JPG;
-#X obj 288 214 gemhead 20;
-#X obj 270 278 pix_multiply;
-#X text 296 84 multiply two images together;
-#X text 270 116 the dancer image is just black and white;
-#X text 104 25 blending \, using multiplication;
-#X obj 270 318 pix_texture;
-#X obj 20 69 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 454 304 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 182 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 238 112 destroy;
-#N canvas 689 152 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X msg 27 83 color 1 1 1 0;
-#X obj 66 65 t b b;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 3 0 2 0;
-#X connect 4 0 3 0;
-#X connect 4 1 1 0;
-#X restore 289 80 pd Gem.init;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X connect 8 0 0 0;
-#X restore 25 113 pd gemwin;
-#X msg 25 89 create;
-#X text 21 69 Create window and render;
-#X obj 270 379 square 3;
-#X connect 0 0 4 1;
-#X connect 1 0 2 0;
-#X connect 2 0 4 0;
-#X connect 3 0 0 0;
-#X connect 4 0 8 0;
-#X connect 8 0 13 0;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
+#N canvas 58 175 600 500 10;
+#X obj 288 247 pix_image ../data/dancer.JPG;
+#X obj 270 153 gemhead;
+#X obj 270 188 pix_image ../data/fractal.JPG;
+#X obj 288 214 gemhead 20;
+#X obj 270 278 pix_multiply;
+#X text 296 84 multiply two images together;
+#X text 270 116 the dancer image is just black and white;
+#X text 104 25 blending \, using multiplication;
+#X obj 270 318 pix_texture;
+#X obj 20 69 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 454 304 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 182 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 238 112 destroy;
+#N canvas 689 152 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X msg 27 83 color 1 1 1 0;
+#X obj 66 65 t b b;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 3 0 2 0;
+#X connect 4 0 3 0;
+#X connect 4 1 1 0;
+#X restore 289 80 pd Gem.init;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X restore 25 113 pd gemwin;
+#X msg 25 89 create;
+#X text 21 69 Create window and render;
+#X obj 270 379 square 3;
+#X connect 0 0 4 1;
+#X connect 1 0 2 0;
+#X connect 2 0 4 0;
+#X connect 3 0 0 0;
+#X connect 4 0 8 0;
+#X connect 8 0 13 0;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/04.pix/13.maskDancer.pd b/packages/noncvs/windows/extra/Gem/examples/04.pix/13.maskDancer.pd
index 957a9415..4ecdd87f 100644
--- a/packages/noncvs/windows/extra/Gem/examples/04.pix/13.maskDancer.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/04.pix/13.maskDancer.pd
@@ -1,55 +1,55 @@
-#N canvas 4 20 600 500 10;
-#X obj 270 278 pix_mask;
-#X obj 288 247 pix_image ../data/dancer.JPG;
-#X obj 270 153 gemhead;
-#X obj 270 312 alpha;
-#X obj 270 188 pix_image ../data/fractal.JPG;
-#X obj 270 338 pix_texture;
-#X obj 288 214 gemhead 20;
-#X obj 270 379 square 3;
-#X text 234 59 blending \, using mask;
-#X obj 20 89 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 454 304 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 182 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 238 112 destroy;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 88 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X msg 25 82 color 1 1 1 0;
-#X obj 88 64 t b b;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 3 0 2 0;
-#X connect 4 0 3 0;
-#X connect 4 1 1 0;
-#X restore 289 80 pd Gem.init;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X connect 8 0 0 0;
-#X restore 25 133 pd gemwin;
-#X msg 25 109 create;
-#X text 21 89 Create window and render;
-#X connect 0 0 3 0;
-#X connect 1 0 0 1;
-#X connect 2 0 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 0 0;
-#X connect 5 0 7 0;
-#X connect 6 0 1 0;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
+#N canvas 4 20 600 500 10;
+#X obj 270 278 pix_mask;
+#X obj 288 247 pix_image ../data/dancer.JPG;
+#X obj 270 153 gemhead;
+#X obj 270 312 alpha;
+#X obj 270 188 pix_image ../data/fractal.JPG;
+#X obj 270 338 pix_texture;
+#X obj 288 214 gemhead 20;
+#X obj 270 379 square 3;
+#X text 234 59 blending \, using mask;
+#X obj 20 89 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 454 304 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 182 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 238 112 destroy;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 88 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X msg 25 82 color 1 1 1 0;
+#X obj 88 64 t b b;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 3 0 2 0;
+#X connect 4 0 3 0;
+#X connect 4 1 1 0;
+#X restore 289 80 pd Gem.init;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X restore 25 133 pd gemwin;
+#X msg 25 109 create;
+#X text 21 89 Create window and render;
+#X connect 0 0 3 0;
+#X connect 1 0 0 1;
+#X connect 2 0 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 0 0;
+#X connect 5 0 7 0;
+#X connect 6 0 1 0;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/04.pix/14.takeAlpha.pd b/packages/noncvs/windows/extra/Gem/examples/04.pix/14.takeAlpha.pd
index 535056c8..eccd15a6 100644
--- a/packages/noncvs/windows/extra/Gem/examples/04.pix/14.takeAlpha.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/04.pix/14.takeAlpha.pd
@@ -1,64 +1,64 @@
-#N canvas 426 68 613 402 10;
-#X obj 257 92 gemhead;
-#X obj 343 168 gemhead;
-#X obj 257 244 pix_takealpha;
-#X text 18 24 takes the alpha-channel of another image;
-#X obj 456 269 pix_texture;
-#X obj 456 336 square;
-#X obj 456 310 translateXYZ 2 0 0;
-#X obj 257 314 translateXYZ -2 0 0;
-#X obj 456 289 alpha;
-#X obj 257 342 square 2;
-#X obj 257 270 pix_texture;
-#X obj 257 290 alpha;
-#X text 403 173 load an image with an alpha-mask;
-#X text 355 245 take the alpha-mask of img2;
-#X obj 20 69 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 454 304 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 182 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 238 112 destroy;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 289 80 pd Gem.init;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X connect 8 0 0 0;
-#X restore 25 113 pd gemwin;
-#X msg 25 89 create;
-#X text 21 69 Create window and render;
-#X obj 343 210 t a a;
-#X obj 257 125 pix_image ../data/temp2.JPG;
-#X obj 343 190 pix_image ../data/fractalAlpha.TIF;
-#X connect 0 0 19 0;
-#X connect 1 0 20 0;
-#X connect 2 0 10 0;
-#X connect 4 0 8 0;
-#X connect 6 0 5 0;
-#X connect 7 0 9 0;
-#X connect 8 0 6 0;
-#X connect 10 0 11 0;
-#X connect 11 0 7 0;
-#X connect 15 0 16 0;
-#X connect 16 0 15 0;
-#X connect 18 0 2 1;
-#X connect 18 1 4 0;
-#X connect 19 0 2 0;
-#X connect 20 0 18 0;
+#N canvas 426 68 613 402 10;
+#X obj 257 92 gemhead;
+#X obj 343 168 gemhead;
+#X obj 257 244 pix_takealpha;
+#X text 18 24 takes the alpha-channel of another image;
+#X obj 456 269 pix_texture;
+#X obj 456 336 square;
+#X obj 456 310 translateXYZ 2 0 0;
+#X obj 257 314 translateXYZ -2 0 0;
+#X obj 456 289 alpha;
+#X obj 257 342 square 2;
+#X obj 257 270 pix_texture;
+#X obj 257 290 alpha;
+#X text 403 173 load an image with an alpha-mask;
+#X text 355 245 take the alpha-mask of img2;
+#X obj 20 69 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 454 304 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 182 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 238 112 destroy;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 289 80 pd Gem.init;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X restore 25 113 pd gemwin;
+#X msg 25 89 create;
+#X text 21 69 Create window and render;
+#X obj 343 210 t a a;
+#X obj 257 125 pix_image ../data/temp2.JPG;
+#X obj 343 190 pix_image ../data/fractalAlpha.TIF;
+#X connect 0 0 19 0;
+#X connect 1 0 20 0;
+#X connect 2 0 10 0;
+#X connect 4 0 8 0;
+#X connect 6 0 5 0;
+#X connect 7 0 9 0;
+#X connect 8 0 6 0;
+#X connect 10 0 11 0;
+#X connect 11 0 7 0;
+#X connect 15 0 16 0;
+#X connect 16 0 15 0;
+#X connect 18 0 2 1;
+#X connect 18 1 4 0;
+#X connect 19 0 2 0;
+#X connect 20 0 18 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/04.pix/15.pix_alpha.pd b/packages/noncvs/windows/extra/Gem/examples/04.pix/15.pix_alpha.pd
index de645f22..71efc9b3 100644
--- a/packages/noncvs/windows/extra/Gem/examples/04.pix/15.pix_alpha.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/04.pix/15.pix_alpha.pd
@@ -1,82 +1,82 @@
-#N canvas 78 67 719 587 10;
-#X obj 332 30 gemhead;
-#X obj 332 371 pix_texture;
-#X msg 375 394 4;
-#X obj 332 76 pix_image ../data/fractal.JPG;
-#X obj 332 302 pix_alpha;
-#X obj 332 421 square;
-#X obj 332 336 alpha;
-#X msg 456 166 1 1 1;
-#X msg 459 243 0 0 0;
-#X msg 356 219 0.5;
-#X msg 348 185 1;
-#X msg 457 209 1 0.5 0.5;
-#X msg 362 255 0;
-#X text 212 222 set the alpha value;
-#X text 394 138 set the high threshold;
-#N canvas 12 0 271 246 cube 0;
-#X obj 69 39 gemhead 20;
-#X obj 69 71 translateXYZ 0 0 -4;
-#X obj 69 205 cube;
-#X obj 69 180 rotateXYZ;
-#X obj 69 112 render_trigger;
-#X obj 115 141 i;
-#X obj 145 142 + 1;
-#X obj 180 143 % 360;
-#X connect 0 0 1 0;
-#X connect 1 0 4 0;
-#X connect 3 0 2 0;
-#X connect 4 0 3 0;
-#X connect 4 1 5 0;
-#X connect 5 0 6 0;
-#X connect 5 0 3 1;
-#X connect 5 0 3 2;
-#X connect 5 0 3 3;
-#X connect 6 0 7 0;
-#X connect 7 0 5 1;
-#X restore 444 551 pd cube in the back;
-#X obj 20 69 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 454 304 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 182 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 238 112 destroy;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 289 80 pd Gem.init;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X connect 8 0 0 0;
-#X restore 25 113 pd gemwin;
-#X msg 25 89 create;
-#X text 21 69 Create window and render;
-#X connect 0 0 3 0;
-#X connect 1 0 5 0;
-#X connect 2 0 5 1;
-#X connect 3 0 4 0;
-#X connect 4 0 6 0;
-#X connect 6 0 1 0;
-#X connect 7 0 4 3;
-#X connect 8 0 4 3;
-#X connect 9 0 4 1;
-#X connect 10 0 4 1;
-#X connect 11 0 4 3;
-#X connect 12 0 4 1;
-#X connect 17 0 18 0;
-#X connect 18 0 17 0;
+#N canvas 78 67 719 587 10;
+#X obj 332 30 gemhead;
+#X obj 332 371 pix_texture;
+#X msg 375 394 4;
+#X obj 332 76 pix_image ../data/fractal.JPG;
+#X obj 332 302 pix_alpha;
+#X obj 332 421 square;
+#X obj 332 336 alpha;
+#X msg 456 166 1 1 1;
+#X msg 459 243 0 0 0;
+#X msg 356 219 0.5;
+#X msg 348 185 1;
+#X msg 457 209 1 0.5 0.5;
+#X msg 362 255 0;
+#X text 212 222 set the alpha value;
+#X text 394 138 set the high threshold;
+#N canvas 12 0 271 246 cube 0;
+#X obj 69 39 gemhead 20;
+#X obj 69 71 translateXYZ 0 0 -4;
+#X obj 69 205 cube;
+#X obj 69 180 rotateXYZ;
+#X obj 69 112 render_trigger;
+#X obj 115 141 i;
+#X obj 145 142 + 1;
+#X obj 180 143 % 360;
+#X connect 0 0 1 0;
+#X connect 1 0 4 0;
+#X connect 3 0 2 0;
+#X connect 4 0 3 0;
+#X connect 4 1 5 0;
+#X connect 5 0 6 0;
+#X connect 5 0 3 1;
+#X connect 5 0 3 2;
+#X connect 5 0 3 3;
+#X connect 6 0 7 0;
+#X connect 7 0 5 1;
+#X restore 444 551 pd cube in the back;
+#X obj 20 69 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 454 304 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 182 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 238 112 destroy;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 289 80 pd Gem.init;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X restore 25 113 pd gemwin;
+#X msg 25 89 create;
+#X text 21 69 Create window and render;
+#X connect 0 0 3 0;
+#X connect 1 0 5 0;
+#X connect 2 0 5 1;
+#X connect 3 0 4 0;
+#X connect 4 0 6 0;
+#X connect 6 0 1 0;
+#X connect 7 0 4 3;
+#X connect 8 0 4 3;
+#X connect 9 0 4 1;
+#X connect 10 0 4 1;
+#X connect 11 0 4 3;
+#X connect 12 0 4 1;
+#X connect 17 0 18 0;
+#X connect 18 0 17 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/04.pix/16.alphaGrey.pd b/packages/noncvs/windows/extra/Gem/examples/04.pix/16.alphaGrey.pd
index 9d5405ba..accffafb 100644
--- a/packages/noncvs/windows/extra/Gem/examples/04.pix/16.alphaGrey.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/04.pix/16.alphaGrey.pd
@@ -1,78 +1,78 @@
-#N canvas 28 0 713 500 10;
-#X obj 135 336 pix_texture;
-#X obj 135 393 square 2;
-#X obj 135 171 pix_image ../data/fractalAlpha.TIF;
-#X obj 135 308 pix_a_2grey 0.5;
-#X obj 135 215 translateXYZ -2 0 0;
-#X obj 386 140 gemhead;
-#X obj 386 309 pix_texture;
-#X obj 386 402 square 2;
-#X obj 386 171 pix_image ../data/fractalAlpha.TIF;
-#X obj 386 348 alpha;
-#X obj 386 209 translateXYZ 2 0 0;
-#X obj 228 13 pix_a_2grey;
-#X text 261 55 grey's out all pixels \, of which the alpha-channel
-is above a certain threshold;
-#X obj 240 269 hsl 128 15 -1 1 0 0 empty empty empty 20 8 0 8 -262144
--1 -1 3100 1;
-#X msg 237 246 0;
-#X msg 266 246 0.5;
-#X obj 20 39 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 21 39 Create window and render;
-#X obj 135 139 gemhead;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 1 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 28 61 pd gemwin;
-#X floatatom 237 288 5 -1 1 0 - - -;
-#X connect 0 0 1 0;
-#X connect 2 0 4 0;
-#X connect 3 0 0 0;
-#X connect 4 0 3 0;
-#X connect 5 0 8 0;
-#X connect 6 0 9 0;
-#X connect 8 0 10 0;
-#X connect 9 0 7 0;
-#X connect 10 0 6 0;
-#X connect 13 0 20 0;
-#X connect 14 0 13 0;
-#X connect 15 0 13 0;
-#X connect 18 0 2 0;
-#X connect 20 0 3 1;
+#N canvas 28 0 713 500 10;
+#X obj 135 336 pix_texture;
+#X obj 135 393 square 2;
+#X obj 135 171 pix_image ../data/fractalAlpha.TIF;
+#X obj 135 308 pix_a_2grey 0.5;
+#X obj 135 215 translateXYZ -2 0 0;
+#X obj 386 140 gemhead;
+#X obj 386 309 pix_texture;
+#X obj 386 402 square 2;
+#X obj 386 171 pix_image ../data/fractalAlpha.TIF;
+#X obj 386 348 alpha;
+#X obj 386 209 translateXYZ 2 0 0;
+#X obj 228 13 pix_a_2grey;
+#X text 261 55 grey's out all pixels \, of which the alpha-channel
+is above a certain threshold;
+#X obj 240 269 hsl 128 15 -1 1 0 0 empty empty empty 20 8 0 8 -262144
+-1 -1 3100 1;
+#X msg 237 246 0;
+#X msg 266 246 0.5;
+#X obj 20 39 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 21 39 Create window and render;
+#X obj 135 139 gemhead;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 1 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 28 61 pd gemwin;
+#X floatatom 237 288 5 -1 1 0 - - -;
+#X connect 0 0 1 0;
+#X connect 2 0 4 0;
+#X connect 3 0 0 0;
+#X connect 4 0 3 0;
+#X connect 5 0 8 0;
+#X connect 6 0 9 0;
+#X connect 8 0 10 0;
+#X connect 9 0 7 0;
+#X connect 10 0 6 0;
+#X connect 13 0 20 0;
+#X connect 14 0 13 0;
+#X connect 15 0 13 0;
+#X connect 18 0 2 0;
+#X connect 20 0 3 1;
diff --git a/packages/noncvs/windows/extra/Gem/examples/04.pix/16.pix_2grey.pd b/packages/noncvs/windows/extra/Gem/examples/04.pix/16.pix_2grey.pd
index e2552c19..8d62ce00 100644
--- a/packages/noncvs/windows/extra/Gem/examples/04.pix/16.pix_2grey.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/04.pix/16.pix_2grey.pd
@@ -1,45 +1,45 @@
-#N canvas 204 170 691 547 10;
-#X obj 308 140 gemhead;
-#X obj 308 374 pix_texture;
-#X obj 308 402 square 2;
-#X obj 308 171 pix_image ../data/fractalAlpha.TIF;
-#X obj 308 297 pix_2grey;
-#X obj 20 159 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 454 304 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 182 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 238 112 destroy;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 289 80 pd Gem.init;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X connect 8 0 0 0;
-#X restore 25 203 pd gemwin;
-#X msg 25 179 create;
-#X text 21 159 Create window and render;
-#X text 64 81 greys out all pixels (but pixel-values are still in RGBA)
-;
-#X connect 0 0 3 0;
-#X connect 1 0 2 0;
-#X connect 3 0 4 0;
-#X connect 4 0 1 0;
-#X connect 6 0 7 0;
-#X connect 7 0 6 0;
+#N canvas 204 170 691 547 10;
+#X obj 308 140 gemhead;
+#X obj 308 374 pix_texture;
+#X obj 308 402 square 2;
+#X obj 308 171 pix_image ../data/fractalAlpha.TIF;
+#X obj 308 297 pix_2grey;
+#X obj 20 159 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 454 304 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 182 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 238 112 destroy;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 289 80 pd Gem.init;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X restore 25 203 pd gemwin;
+#X msg 25 179 create;
+#X text 21 159 Create window and render;
+#X text 64 81 greys out all pixels (but pixel-values are still in RGBA)
+;
+#X connect 0 0 3 0;
+#X connect 1 0 2 0;
+#X connect 3 0 4 0;
+#X connect 4 0 1 0;
+#X connect 6 0 7 0;
+#X connect 7 0 6 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/04.pix/17.pix_gain.pd b/packages/noncvs/windows/extra/Gem/examples/04.pix/17.pix_gain.pd
index 3b6ae5e7..2f6830bf 100644
--- a/packages/noncvs/windows/extra/Gem/examples/04.pix/17.pix_gain.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/04.pix/17.pix_gain.pd
@@ -1,72 +1,72 @@
-#N canvas 111 106 885 510 10;
-#X floatatom 664 182 0 0 0 0 - - -;
-#X obj 664 210 / 100;
-#X floatatom 610 163 0 0 0 0 - - -;
-#X obj 610 192 / 100;
-#X obj 343 56 gemhead;
-#X obj 343 319 pix_texture;
-#X msg 394 359 4;
-#X floatatom 556 121 0 0 0 0 - - -;
-#X obj 556 149 / 100;
-#X obj 343 268 pix_gain;
-#X obj 556 241 pack 0 0 0;
-#X obj 343 387 triangle;
-#X text 356 341 click here to change the size of the triangle;
-#X msg 570 213 bang;
-#X obj 343 82 pix_image ../data/fractal.JPG;
-#X obj 364 134 vsl 15 128 0 1 0 0 empty empty empty 20 8 0 8 -262144
--1 -1 0 1;
-#X text 382 141 overall factor;
-#X text 632 121 color-wise factor;
-#X text 103 453 using [pix_gain] is probably very expensive (since
-it does operations on your CPU). Try using [color] if your card has
-openGL-hw-accleration...;
-#X obj 20 69 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 454 304 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 182 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 238 112 destroy;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 289 80 pd Gem.init;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X connect 8 0 0 0;
-#X restore 25 113 pd gemwin;
-#X msg 25 89 create;
-#X text 21 69 Create window and render;
-#X connect 0 0 1 0;
-#X connect 1 0 10 2;
-#X connect 1 0 13 0;
-#X connect 2 0 3 0;
-#X connect 3 0 10 1;
-#X connect 3 0 13 0;
-#X connect 4 0 14 0;
-#X connect 5 0 11 0;
-#X connect 6 0 11 1;
-#X connect 7 0 8 0;
-#X connect 8 0 10 0;
-#X connect 9 0 5 0;
-#X connect 10 0 9 2;
-#X connect 13 0 10 0;
-#X connect 14 0 9 0;
-#X connect 15 0 9 1;
-#X connect 20 0 21 0;
-#X connect 21 0 20 0;
+#N canvas 111 106 885 510 10;
+#X floatatom 664 182 0 0 0 0 - - -;
+#X obj 664 210 / 100;
+#X floatatom 610 163 0 0 0 0 - - -;
+#X obj 610 192 / 100;
+#X obj 343 56 gemhead;
+#X obj 343 319 pix_texture;
+#X msg 394 359 4;
+#X floatatom 556 121 0 0 0 0 - - -;
+#X obj 556 149 / 100;
+#X obj 343 268 pix_gain;
+#X obj 556 241 pack 0 0 0;
+#X obj 343 387 triangle;
+#X text 356 341 click here to change the size of the triangle;
+#X msg 570 213 bang;
+#X obj 343 82 pix_image ../data/fractal.JPG;
+#X obj 364 134 vsl 15 128 0 1 0 0 empty empty empty 20 8 0 8 -262144
+-1 -1 0 1;
+#X text 382 141 overall factor;
+#X text 632 121 color-wise factor;
+#X text 103 453 using [pix_gain] is probably very expensive (since
+it does operations on your CPU). Try using [color] if your card has
+openGL-hw-accleration...;
+#X obj 20 69 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 454 304 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 182 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 238 112 destroy;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 289 80 pd Gem.init;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X restore 25 113 pd gemwin;
+#X msg 25 89 create;
+#X text 21 69 Create window and render;
+#X connect 0 0 1 0;
+#X connect 1 0 10 2;
+#X connect 1 0 13 0;
+#X connect 2 0 3 0;
+#X connect 3 0 10 1;
+#X connect 3 0 13 0;
+#X connect 4 0 14 0;
+#X connect 5 0 11 0;
+#X connect 6 0 11 1;
+#X connect 7 0 8 0;
+#X connect 8 0 10 0;
+#X connect 9 0 5 0;
+#X connect 10 0 9 2;
+#X connect 13 0 10 0;
+#X connect 14 0 9 0;
+#X connect 15 0 9 1;
+#X connect 20 0 21 0;
+#X connect 21 0 20 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/04.pix/18.Curves.pd b/packages/noncvs/windows/extra/Gem/examples/04.pix/18.Curves.pd
index ca02c912..c2dc652d 100644
--- a/packages/noncvs/windows/extra/Gem/examples/04.pix/18.Curves.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/04.pix/18.Curves.pd
@@ -1,180 +1,180 @@
-#N canvas 119 33 764 634 10;
-#N canvas 285 0 681 629 tables 0;
-#N canvas 0 0 450 300 (subpatch) 0;
-#X array red 256 float 0;
-#X coords 0 255 255 0 256 140 1;
-#X restore 95 30 graph;
-#N canvas 0 0 450 300 (subpatch) 0;
-#X array green 256 float 0;
-#X coords 0 255 255 0 256 140 1;
-#X restore 399 29 graph;
-#N canvas 0 0 450 300 (subpatch) 0;
-#X array blue 256 float 0;
-#X coords 0 255 255 0 256 140 1;
-#X restore 98 214 graph;
-#N canvas 0 0 450 300 (subpatch) 0;
-#X array alpha 64 float 0;
-#X coords 0 255 63 0 256 140 1;
-#X restore 396 212 graph;
-#N canvas 0 0 450 300 (subpatch) 0;
-#X array edge 8 float 0;
-#X coords 0 255 7 0 256 140 1;
-#X restore 49 440 graph;
-#X text 319 459 set all black and white pixels to black.;
-#X text 318 477 set all "grey" pixels (the transients) to white.;
-#X restore 219 225 pd tables;
-#X obj 30 272 gemhead;
-#X obj 30 468 pix_texture;
-#N canvas 0 0 450 300 (subpatch) 0;
-#X array rgba 67 float 0;
-#X coords 0 256 66 0 256 140 1;
-#X restore 217 70 graph;
-#X text 78 8 pix_curve: adjust the colour of an image;
-#X text 291 227 separate tables for r \, g \, b and a;
-#X obj 466 274 pix_curve rgba;
-#X obj 469 324 pix_curve red green blue;
-#X obj 470 373 pix_curve red green blue alpha;
-#X text 504 291 one curve for all channels;
-#X text 505 391 curves for r \, g \, b \, a;
-#X text 500 341 curves for r \, g \, b \; leave a unchanged;
-#X msg 507 127 \; rgba cosinesum 64 128 128;
-#X obj 30 393 pix_curve rgba;
-#N canvas 328 58 600 502 init 0;
-#X obj 93 39 loadbang;
-#X msg 115 87 \; rgba resize 256 \; red resize 256 green resize 256
-\; blue resize 256 \; alpha resize 64 \; alpha const 128;
-#X obj 93 197 t b b;
-#X msg 93 219 256;
-#X msg 125 218 0;
-#X obj 93 241 until;
-#X obj 93 262 i;
-#X obj 123 261 + 1;
-#X msg 93 177 bang;
-#X obj 93 283 t f f f;
-#X obj 93 370 tabwrite rgba;
-#X msg 93 348 \$1 \$1;
-#X obj 210 304 / 255;
-#X obj 210 326 sqrt;
-#X obj 210 347 * 255;
-#X obj 210 395 tabwrite red;
-#X obj 210 373 pack 0 0;
-#X obj 319 456 tabwrite green;
-#X obj 104 395 tabwrite blue;
-#X obj 93 63 t b b b;
-#X msg 364 83 \; edge resize 8 \; edge const 255 \; edge 0 0 \; edge
-7 0;
-#X obj 319 393 unpack;
-#X obj 319 413 - 255;
-#X obj 319 432 * -1;
-#X obj 362 413 - 255;
-#X obj 362 432 * -1;
-#X connect 0 0 19 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 6 1;
-#X connect 5 0 6 0;
-#X connect 6 0 7 0;
-#X connect 6 0 9 0;
-#X connect 7 0 6 1;
-#X connect 8 0 2 0;
-#X connect 9 0 11 0;
-#X connect 9 1 12 0;
-#X connect 9 2 16 1;
-#X connect 11 0 10 0;
-#X connect 11 0 18 0;
-#X connect 12 0 13 0;
-#X connect 13 0 14 0;
-#X connect 14 0 16 0;
-#X connect 16 0 15 0;
-#X connect 16 0 21 0;
-#X connect 19 0 8 0;
-#X connect 19 1 1 0;
-#X connect 19 2 20 0;
-#X connect 21 0 22 0;
-#X connect 21 1 24 0;
-#X connect 22 0 23 0;
-#X connect 23 0 17 0;
-#X connect 24 0 25 0;
-#X connect 25 0 17 1;
-#X restore 604 470 pd init;
-#X msg 284 275 set rgba;
-#X msg 282 325 set red green blue;
-#X msg 278 375 set red green blue alpha;
-#X text 505 110 an alternative colour-curve;
-#X text 228 56 paint your own curve;
-#X obj 30 509 square 2;
-#X obj 30 488 translateXYZ -2 0 0;
-#X obj 244 486 gemhead;
-#X obj 244 548 pix_texture;
-#X obj 244 569 translateXYZ 2 0 0;
-#X obj 244 527 pix_curve edge;
-#N canvas 80 38 600 318 pix_update 0;
-#X obj 59 115 inlet;
-#X obj 59 227 outlet;
-#X text 61 19 this is quite a dummy-routine:;
-#X text 78 47 just multiply the pix-buffer with 1 (do nothing !) \,
-and make it thereby dirty \, so that the pix_curve routines are going
-to be called....;
-#X text 56 272 maybe this could be done more easily..?;
-#X obj 59 202 pix_buf;
-#X obj 59 156 t a b;
-#X connect 0 0 6 0;
-#X connect 5 0 1 0;
-#X connect 6 0 5 0;
-#X connect 6 1 5 0;
-#X restore 30 331 pd pix_update;
-#X obj 244 592 square 2;
-#X obj 30 435 alpha;
-#X obj 30 303 pix_image ../data/fractal.JPG;
-#X obj 244 506 pix_image ../data/dancer.JPG;
-#X obj 11 151 cnv 15 200 70 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 454 304 gemwin 0;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 182 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 238 112 destroy;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 289 80 pd Gem.init;
-#X obj 132 193 gemwin;
-#X obj 132 135 t a;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 0 5 0;
-#X connect 2 1 4 0;
-#X connect 2 1 6 0;
-#X connect 3 0 0 0;
-#X connect 4 0 0 0;
-#X connect 5 0 9 0;
-#X connect 6 0 9 0;
-#X connect 7 0 9 0;
-#X connect 9 0 8 0;
-#X restore 16 195 pd gemwin;
-#X msg 16 171 create;
-#X text 12 151 Create window and render;
-#X connect 1 0 29 0;
-#X connect 2 0 21 0;
-#X connect 13 0 28 0;
-#X connect 15 0 13 0;
-#X connect 16 0 13 0;
-#X connect 17 0 13 0;
-#X connect 21 0 20 0;
-#X connect 22 0 30 0;
-#X connect 23 0 24 0;
-#X connect 24 0 27 0;
-#X connect 25 0 23 0;
-#X connect 26 0 13 0;
-#X connect 28 0 2 0;
-#X connect 29 0 26 0;
-#X connect 30 0 25 0;
-#X connect 32 0 33 0;
-#X connect 33 0 32 0;
+#N canvas 119 33 764 634 10;
+#N canvas 285 0 681 629 tables 0;
+#N canvas 0 0 450 300 (subpatch) 0;
+#X array red 256 float 0;
+#X coords 0 255 255 0 256 140 1;
+#X restore 95 30 graph;
+#N canvas 0 0 450 300 (subpatch) 0;
+#X array green 256 float 0;
+#X coords 0 255 255 0 256 140 1;
+#X restore 399 29 graph;
+#N canvas 0 0 450 300 (subpatch) 0;
+#X array blue 256 float 0;
+#X coords 0 255 255 0 256 140 1;
+#X restore 98 214 graph;
+#N canvas 0 0 450 300 (subpatch) 0;
+#X array alpha 64 float 0;
+#X coords 0 255 63 0 256 140 1;
+#X restore 396 212 graph;
+#N canvas 0 0 450 300 (subpatch) 0;
+#X array edge 8 float 0;
+#X coords 0 255 7 0 256 140 1;
+#X restore 49 440 graph;
+#X text 319 459 set all black and white pixels to black.;
+#X text 318 477 set all "grey" pixels (the transients) to white.;
+#X restore 219 225 pd tables;
+#X obj 30 272 gemhead;
+#X obj 30 468 pix_texture;
+#N canvas 0 0 450 300 (subpatch) 0;
+#X array rgba 67 float 0;
+#X coords 0 256 66 0 256 140 1;
+#X restore 217 70 graph;
+#X text 78 8 pix_curve: adjust the colour of an image;
+#X text 291 227 separate tables for r \, g \, b and a;
+#X obj 466 274 pix_curve rgba;
+#X obj 469 324 pix_curve red green blue;
+#X obj 470 373 pix_curve red green blue alpha;
+#X text 504 291 one curve for all channels;
+#X text 505 391 curves for r \, g \, b \, a;
+#X text 500 341 curves for r \, g \, b \; leave a unchanged;
+#X msg 507 127 \; rgba cosinesum 64 128 128;
+#X obj 30 393 pix_curve rgba;
+#N canvas 328 58 600 502 init 0;
+#X obj 93 39 loadbang;
+#X msg 115 87 \; rgba resize 256 \; red resize 256 green resize 256
+\; blue resize 256 \; alpha resize 64 \; alpha const 128;
+#X obj 93 197 t b b;
+#X msg 93 219 256;
+#X msg 125 218 0;
+#X obj 93 241 until;
+#X obj 93 262 i;
+#X obj 123 261 + 1;
+#X msg 93 177 bang;
+#X obj 93 283 t f f f;
+#X obj 93 370 tabwrite rgba;
+#X msg 93 348 \$1 \$1;
+#X obj 210 304 / 255;
+#X obj 210 326 sqrt;
+#X obj 210 347 * 255;
+#X obj 210 395 tabwrite red;
+#X obj 210 373 pack 0 0;
+#X obj 319 456 tabwrite green;
+#X obj 104 395 tabwrite blue;
+#X obj 93 63 t b b b;
+#X msg 364 83 \; edge resize 8 \; edge const 255 \; edge 0 0 \; edge
+7 0;
+#X obj 319 393 unpack;
+#X obj 319 413 - 255;
+#X obj 319 432 * -1;
+#X obj 362 413 - 255;
+#X obj 362 432 * -1;
+#X connect 0 0 19 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 6 0 7 0;
+#X connect 6 0 9 0;
+#X connect 7 0 6 1;
+#X connect 8 0 2 0;
+#X connect 9 0 11 0;
+#X connect 9 1 12 0;
+#X connect 9 2 16 1;
+#X connect 11 0 10 0;
+#X connect 11 0 18 0;
+#X connect 12 0 13 0;
+#X connect 13 0 14 0;
+#X connect 14 0 16 0;
+#X connect 16 0 15 0;
+#X connect 16 0 21 0;
+#X connect 19 0 8 0;
+#X connect 19 1 1 0;
+#X connect 19 2 20 0;
+#X connect 21 0 22 0;
+#X connect 21 1 24 0;
+#X connect 22 0 23 0;
+#X connect 23 0 17 0;
+#X connect 24 0 25 0;
+#X connect 25 0 17 1;
+#X restore 604 470 pd init;
+#X msg 284 275 set rgba;
+#X msg 282 325 set red green blue;
+#X msg 278 375 set red green blue alpha;
+#X text 505 110 an alternative colour-curve;
+#X text 228 56 paint your own curve;
+#X obj 30 509 square 2;
+#X obj 30 488 translateXYZ -2 0 0;
+#X obj 244 486 gemhead;
+#X obj 244 548 pix_texture;
+#X obj 244 569 translateXYZ 2 0 0;
+#X obj 244 527 pix_curve edge;
+#N canvas 80 38 600 318 pix_update 0;
+#X obj 59 115 inlet;
+#X obj 59 227 outlet;
+#X text 61 19 this is quite a dummy-routine:;
+#X text 78 47 just multiply the pix-buffer with 1 (do nothing !) \,
+and make it thereby dirty \, so that the pix_curve routines are going
+to be called....;
+#X text 56 272 maybe this could be done more easily..?;
+#X obj 59 202 pix_buf;
+#X obj 59 156 t a b;
+#X connect 0 0 6 0;
+#X connect 5 0 1 0;
+#X connect 6 0 5 0;
+#X connect 6 1 5 0;
+#X restore 30 331 pd pix_update;
+#X obj 244 592 square 2;
+#X obj 30 435 alpha;
+#X obj 30 303 pix_image ../data/fractal.JPG;
+#X obj 244 506 pix_image ../data/dancer.JPG;
+#X obj 11 151 cnv 15 200 70 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 454 304 gemwin 0;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 182 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 238 112 destroy;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 289 80 pd Gem.init;
+#X obj 132 193 gemwin;
+#X obj 132 135 t a;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 0 5 0;
+#X connect 2 1 4 0;
+#X connect 2 1 6 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 5 0 9 0;
+#X connect 6 0 9 0;
+#X connect 7 0 9 0;
+#X connect 9 0 8 0;
+#X restore 16 195 pd gemwin;
+#X msg 16 171 create;
+#X text 12 151 Create window and render;
+#X connect 1 0 29 0;
+#X connect 2 0 21 0;
+#X connect 13 0 28 0;
+#X connect 15 0 13 0;
+#X connect 16 0 13 0;
+#X connect 17 0 13 0;
+#X connect 21 0 20 0;
+#X connect 22 0 30 0;
+#X connect 23 0 24 0;
+#X connect 24 0 27 0;
+#X connect 25 0 23 0;
+#X connect 26 0 13 0;
+#X connect 28 0 2 0;
+#X connect 29 0 26 0;
+#X connect 30 0 25 0;
+#X connect 32 0 33 0;
+#X connect 33 0 32 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/04.pix/19.colorMatrix.pd b/packages/noncvs/windows/extra/Gem/examples/04.pix/19.colorMatrix.pd
index c53ab1ad..465b9f48 100644
--- a/packages/noncvs/windows/extra/Gem/examples/04.pix/19.colorMatrix.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/04.pix/19.colorMatrix.pd
@@ -1,60 +1,60 @@
-#N canvas 10 20 769 486 10;
-#X obj 252 258 gemhead;
-#X obj 252 313 pix_image ../data/fractal.JPG;
-#X obj 252 343 pix_colormatrix;
-#X msg 351 223 0 1 0 0 0 1 1 0 0;
-#X msg 321 157 0 0 1 1 0 0 0 1 0;
-#X msg 284 61 1 0 0 0 0 1 0 1 0;
-#X obj 252 371 pix_texture;
-#X obj 252 411 square;
-#X msg 312 110 1 0 0 0 1 0 0 0 1;
-#X text 460 156 shift colors: red->[0 \, 0 \, 1]=blue \; green->[1
-\, 0 \, 0]=red \; blue->[0 \, 1 \, 0]=green;
-#X text 469 97 unity matrix: [1 \, 0 \, 0 \; 0 \, 1 \, 0 \; 0 \, 0
-\, 1];
-#X text 446 47 swap green and blue: [1 \, 0 \, 0 \; 0 \, 0 \, 1 \;
-0 \, 1 \, 0];
-#X text 480 210 shift colors: red->[0 \, 1 \, 0]=green \; green->[0
-\, 0 \, 1]=blue \; blue->[1 \, 0 \, 0]=red;
-#X text 26 23 matrix-multiply the RGB-vector;
-#X obj 41 142 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 454 304 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 182 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 238 112 destroy;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 289 80 pd Gem.init;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X connect 8 0 0 0;
-#X restore 46 186 pd gemwin;
-#X msg 46 162 create;
-#X text 42 142 Create window and render;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X connect 2 0 6 0;
-#X connect 3 0 2 1;
-#X connect 4 0 2 1;
-#X connect 5 0 2 1;
-#X connect 6 0 7 0;
-#X connect 8 0 2 1;
-#X connect 15 0 16 0;
-#X connect 16 0 15 0;
+#N canvas 10 20 769 486 10;
+#X obj 252 258 gemhead;
+#X obj 252 313 pix_image ../data/fractal.JPG;
+#X obj 252 343 pix_colormatrix;
+#X msg 351 223 0 1 0 0 0 1 1 0 0;
+#X msg 321 157 0 0 1 1 0 0 0 1 0;
+#X msg 284 61 1 0 0 0 0 1 0 1 0;
+#X obj 252 371 pix_texture;
+#X obj 252 411 square;
+#X msg 312 110 1 0 0 0 1 0 0 0 1;
+#X text 460 156 shift colors: red->[0 \, 0 \, 1]=blue \; green->[1
+\, 0 \, 0]=red \; blue->[0 \, 1 \, 0]=green;
+#X text 469 97 unity matrix: [1 \, 0 \, 0 \; 0 \, 1 \, 0 \; 0 \, 0
+\, 1];
+#X text 446 47 swap green and blue: [1 \, 0 \, 0 \; 0 \, 0 \, 1 \;
+0 \, 1 \, 0];
+#X text 480 210 shift colors: red->[0 \, 1 \, 0]=green \; green->[0
+\, 0 \, 1]=blue \; blue->[1 \, 0 \, 0]=red;
+#X text 26 23 matrix-multiply the RGB-vector;
+#X obj 41 142 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 454 304 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 182 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 238 112 destroy;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 289 80 pd Gem.init;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X restore 46 186 pd gemwin;
+#X msg 46 162 create;
+#X text 42 142 Create window and render;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 2 0 6 0;
+#X connect 3 0 2 1;
+#X connect 4 0 2 1;
+#X connect 5 0 2 1;
+#X connect 6 0 7 0;
+#X connect 8 0 2 1;
+#X connect 15 0 16 0;
+#X connect 16 0 15 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/04.pix/20.convolve.pd b/packages/noncvs/windows/extra/Gem/examples/04.pix/20.convolve.pd
index bf3999ff..e9804f86 100644
--- a/packages/noncvs/windows/extra/Gem/examples/04.pix/20.convolve.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/04.pix/20.convolve.pd
@@ -1,106 +1,106 @@
-#N canvas 150 20 846 728 12;
-#X obj 575 515 s matrix;
-#X obj 502 516 s scale;
-#X msg 502 483 1;
-#X obj 575 404 s matrix;
-#X obj 502 405 s scale;
-#X msg 502 372 1;
-#X obj 572 311 s matrix;
-#X obj 499 312 s scale;
-#X msg 499 279 1;
-#X obj 572 206 s matrix;
-#X obj 499 207 s scale;
-#X msg 499 174 1;
-#X obj 576 106 s matrix;
-#X obj 503 107 s scale;
-#X msg 503 74 1;
-#X obj 320 153 s matrix;
-#X obj 247 154 s scale;
-#X msg 247 121 1;
-#X msg 576 47 -1 -1 -1 -1 8 -1 -1 -1 -1;
-#X msg 572 146 -1 -4 -1 -4 20 -4 -1 -4 -1;
-#X msg 314 517 1 2 1 2 4 2 1 2 1;
-#X text 506 10 edge detection matrices;
-#X text 506 26 scale = 1;
-#X text 234 497 scale = 16;
-#X text 234 482 smoothing matrix;
-#X obj 14 330 gemhead;
-#X obj 14 522 pix_texture;
-#X obj 14 356 pix_image ../data/fractal.JPG;
-#X obj 14 455 pix_convolve 3 3;
-#X msg 320 92 0 0 0 0 1 0 0 0 0;
-#X msg 572 248 0 -1 0 0 2 0 0 -1 0;
-#X msg 575 450 -1 0 -1 0 4 0 -1 0 -1;
-#X msg 575 343 0 0 0 -1 2 -1 0 0 0;
-#X obj 314 596 s matrix;
-#X obj 153 423 r matrix;
-#X obj 241 596 s scale;
-#X obj 83 422 r scale;
-#X text 241 72 scale = 1;
-#X text 241 55 identity matrix;
-#X obj 14 547 square 4;
-#X obj 20 219 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 454 304 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 182 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 238 112 destroy;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 289 80 pd Gem.init;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X connect 8 0 0 0;
-#X restore 25 263 pd gemwin;
-#X msg 25 239 create;
-#X text 21 219 Create window and render;
-#X msg 241 545 1 16;
-#X obj 241 571 /;
-#X text 43 650 a good start for the scale is the sum of all the elements
-;
-#X connect 2 0 1 0;
-#X connect 5 0 4 0;
-#X connect 8 0 7 0;
-#X connect 11 0 10 0;
-#X connect 14 0 13 0;
-#X connect 17 0 16 0;
-#X connect 18 0 14 0;
-#X connect 18 0 12 0;
-#X connect 19 0 11 0;
-#X connect 19 0 9 0;
-#X connect 20 0 44 0;
-#X connect 20 0 33 0;
-#X connect 25 0 27 0;
-#X connect 26 0 39 0;
-#X connect 27 0 28 0;
-#X connect 28 0 26 0;
-#X connect 29 0 17 0;
-#X connect 29 0 15 0;
-#X connect 30 0 8 0;
-#X connect 30 0 6 0;
-#X connect 31 0 2 0;
-#X connect 31 0 0 0;
-#X connect 32 0 5 0;
-#X connect 32 0 3 0;
-#X connect 34 0 28 2;
-#X connect 36 0 28 1;
-#X connect 41 0 42 0;
-#X connect 42 0 41 0;
-#X connect 44 0 45 0;
-#X connect 45 0 35 0;
+#N canvas 150 20 846 728 12;
+#X obj 575 515 s matrix;
+#X obj 502 516 s scale;
+#X msg 502 483 1;
+#X obj 575 404 s matrix;
+#X obj 502 405 s scale;
+#X msg 502 372 1;
+#X obj 572 311 s matrix;
+#X obj 499 312 s scale;
+#X msg 499 279 1;
+#X obj 572 206 s matrix;
+#X obj 499 207 s scale;
+#X msg 499 174 1;
+#X obj 576 106 s matrix;
+#X obj 503 107 s scale;
+#X msg 503 74 1;
+#X obj 320 153 s matrix;
+#X obj 247 154 s scale;
+#X msg 247 121 1;
+#X msg 576 47 -1 -1 -1 -1 8 -1 -1 -1 -1;
+#X msg 572 146 -1 -4 -1 -4 20 -4 -1 -4 -1;
+#X msg 314 517 1 2 1 2 4 2 1 2 1;
+#X text 506 10 edge detection matrices;
+#X text 506 26 scale = 1;
+#X text 234 497 scale = 16;
+#X text 234 482 smoothing matrix;
+#X obj 14 330 gemhead;
+#X obj 14 522 pix_texture;
+#X obj 14 356 pix_image ../data/fractal.JPG;
+#X obj 14 455 pix_convolve 3 3;
+#X msg 320 92 0 0 0 0 1 0 0 0 0;
+#X msg 572 248 0 -1 0 0 2 0 0 -1 0;
+#X msg 575 450 -1 0 -1 0 4 0 -1 0 -1;
+#X msg 575 343 0 0 0 -1 2 -1 0 0 0;
+#X obj 314 596 s matrix;
+#X obj 153 423 r matrix;
+#X obj 241 596 s scale;
+#X obj 83 422 r scale;
+#X text 241 72 scale = 1;
+#X text 241 55 identity matrix;
+#X obj 14 547 square 4;
+#X obj 20 219 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 454 304 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 182 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 238 112 destroy;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 289 80 pd Gem.init;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X restore 25 263 pd gemwin;
+#X msg 25 239 create;
+#X text 21 219 Create window and render;
+#X msg 241 545 1 16;
+#X obj 241 571 /;
+#X text 43 650 a good start for the scale is the sum of all the elements
+;
+#X connect 2 0 1 0;
+#X connect 5 0 4 0;
+#X connect 8 0 7 0;
+#X connect 11 0 10 0;
+#X connect 14 0 13 0;
+#X connect 17 0 16 0;
+#X connect 18 0 14 0;
+#X connect 18 0 12 0;
+#X connect 19 0 11 0;
+#X connect 19 0 9 0;
+#X connect 20 0 44 0;
+#X connect 20 0 33 0;
+#X connect 25 0 27 0;
+#X connect 26 0 39 0;
+#X connect 27 0 28 0;
+#X connect 28 0 26 0;
+#X connect 29 0 17 0;
+#X connect 29 0 15 0;
+#X connect 30 0 8 0;
+#X connect 30 0 6 0;
+#X connect 31 0 2 0;
+#X connect 31 0 0 0;
+#X connect 32 0 5 0;
+#X connect 32 0 3 0;
+#X connect 34 0 28 2;
+#X connect 36 0 28 1;
+#X connect 41 0 42 0;
+#X connect 42 0 41 0;
+#X connect 44 0 45 0;
+#X connect 45 0 35 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/04.pix/22.biquad.pd b/packages/noncvs/windows/extra/Gem/examples/04.pix/22.biquad.pd
index 6e9934e5..5ed5c391 100644
--- a/packages/noncvs/windows/extra/Gem/examples/04.pix/22.biquad.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/04.pix/22.biquad.pd
@@ -1,108 +1,108 @@
-#N canvas 269 10 753 499 10;
-#X msg 360 312 set;
-#X floatatom 401 209 4 0 0 0 - - -;
-#X floatatom 442 209 4 0 0 0 - - -;
-#X obj 441 229 t b f;
-#X floatatom 491 209 4 0 0 0 - - -;
-#X obj 490 229 t b f;
-#X floatatom 532 208 4 0 0 0 - - -;
-#X obj 531 228 t b f;
-#X floatatom 576 210 4 0 0 0 - - -;
-#X obj 575 230 t b f;
-#X text 257 23 calculates the following difference equation:;
-#X text 261 38 y(n) = ff1 * w(n) + ff2 * w(n-1) + ff3 * w(n-2);
-#X floatatom 621 210 4 0 0 0 - - -;
-#X obj 620 230 t b f;
-#X obj 407 260 pack 0 0 0 0 0 0;
-#X text 265 55 w(n) = fb0 * x(n) + fb1 * w(n-1) + fb2 * w(n-2);
-#X msg 403 98 1 0 0 1 0 0;
-#X msg 403 121 1 0 0 0.2 0.2 0.6;
-#X obj 35 224 gemhead;
-#X obj 35 300 pix_texture;
-#X obj 35 324 square 3;
-#X text 403 190 fb0;
-#X text 443 190 fb1;
-#X text 494 189 fb2;
-#X text 533 186 ff1;
-#X text 582 187 ff2;
-#X text 623 186 ff3;
-#X obj 355 257 t l;
-#X msg 175 218 0;
-#X msg 202 218 1;
-#X msg 231 218 2;
-#X text 551 94 route through;
-#X text 553 120 a low-pass;
-#X text 34 391 pix_biquad: fb0 fb1 fb2 ff1 ff2 ff3;
-#X text 338 377 very(*) similar to the pd-object;
-#X obj 572 375 biquad~;
-#X text 336 406 *: but not exactly the same;
-#X text 390 312 set w(n-1) and w(n-2) to the next(!) x(n);
-#X obj 35 274 pix_biquad;
-#X msg 404 150 0.05 0.8 0.15 0.2 0.2 0.6;
-#X text 587 148 a LOW-pass;
-#X text 397 331 (important for hard feedback-loops);
-#X text 98 455 no sanity check is done for the coefficients !;
-#X text 151 200 click these OFTEN !;
-#X obj 20 69 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 454 304 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 182 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 238 112 destroy;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 289 80 pd Gem.init;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X connect 8 0 0 0;
-#X restore 25 113 pd gemwin;
-#X msg 25 89 create;
-#X text 21 69 Create window and render;
-#X obj 35 247 pix_multiimage ../data/temp*.JPG 2;
-#X connect 0 0 38 0;
-#X connect 1 0 14 0;
-#X connect 2 0 3 0;
-#X connect 3 0 14 0;
-#X connect 3 1 14 1;
-#X connect 4 0 5 0;
-#X connect 5 0 14 0;
-#X connect 5 1 14 2;
-#X connect 6 0 7 0;
-#X connect 7 0 14 0;
-#X connect 7 1 14 3;
-#X connect 8 0 9 0;
-#X connect 9 0 14 0;
-#X connect 9 1 14 4;
-#X connect 12 0 13 0;
-#X connect 13 0 14 0;
-#X connect 13 1 14 5;
-#X connect 14 0 27 0;
-#X connect 16 0 27 0;
-#X connect 17 0 27 0;
-#X connect 18 0 48 0;
-#X connect 19 0 20 0;
-#X connect 27 0 38 0;
-#X connect 28 0 48 1;
-#X connect 29 0 48 1;
-#X connect 30 0 48 1;
-#X connect 38 0 19 0;
-#X connect 39 0 27 0;
-#X connect 45 0 46 0;
-#X connect 46 0 45 0;
-#X connect 48 0 38 0;
+#N canvas 269 10 753 499 10;
+#X msg 360 312 set;
+#X floatatom 401 209 4 0 0 0 - - -;
+#X floatatom 442 209 4 0 0 0 - - -;
+#X obj 441 229 t b f;
+#X floatatom 491 209 4 0 0 0 - - -;
+#X obj 490 229 t b f;
+#X floatatom 532 208 4 0 0 0 - - -;
+#X obj 531 228 t b f;
+#X floatatom 576 210 4 0 0 0 - - -;
+#X obj 575 230 t b f;
+#X text 257 23 calculates the following difference equation:;
+#X text 261 38 y(n) = ff1 * w(n) + ff2 * w(n-1) + ff3 * w(n-2);
+#X floatatom 621 210 4 0 0 0 - - -;
+#X obj 620 230 t b f;
+#X obj 407 260 pack 0 0 0 0 0 0;
+#X text 265 55 w(n) = fb0 * x(n) + fb1 * w(n-1) + fb2 * w(n-2);
+#X msg 403 98 1 0 0 1 0 0;
+#X msg 403 121 1 0 0 0.2 0.2 0.6;
+#X obj 35 224 gemhead;
+#X obj 35 300 pix_texture;
+#X obj 35 324 square 3;
+#X text 403 190 fb0;
+#X text 443 190 fb1;
+#X text 494 189 fb2;
+#X text 533 186 ff1;
+#X text 582 187 ff2;
+#X text 623 186 ff3;
+#X obj 355 257 t l;
+#X msg 175 218 0;
+#X msg 202 218 1;
+#X msg 231 218 2;
+#X text 551 94 route through;
+#X text 553 120 a low-pass;
+#X text 34 391 pix_biquad: fb0 fb1 fb2 ff1 ff2 ff3;
+#X text 338 377 very(*) similar to the pd-object;
+#X obj 572 375 biquad~;
+#X text 336 406 *: but not exactly the same;
+#X text 390 312 set w(n-1) and w(n-2) to the next(!) x(n);
+#X obj 35 274 pix_biquad;
+#X msg 404 150 0.05 0.8 0.15 0.2 0.2 0.6;
+#X text 587 148 a LOW-pass;
+#X text 397 331 (important for hard feedback-loops);
+#X text 98 455 no sanity check is done for the coefficients !;
+#X text 151 200 click these OFTEN !;
+#X obj 20 69 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 454 304 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 182 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 238 112 destroy;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 289 80 pd Gem.init;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X restore 25 113 pd gemwin;
+#X msg 25 89 create;
+#X text 21 69 Create window and render;
+#X obj 35 247 pix_multiimage ../data/temp*.JPG 2;
+#X connect 0 0 38 0;
+#X connect 1 0 14 0;
+#X connect 2 0 3 0;
+#X connect 3 0 14 0;
+#X connect 3 1 14 1;
+#X connect 4 0 5 0;
+#X connect 5 0 14 0;
+#X connect 5 1 14 2;
+#X connect 6 0 7 0;
+#X connect 7 0 14 0;
+#X connect 7 1 14 3;
+#X connect 8 0 9 0;
+#X connect 9 0 14 0;
+#X connect 9 1 14 4;
+#X connect 12 0 13 0;
+#X connect 13 0 14 0;
+#X connect 13 1 14 5;
+#X connect 14 0 27 0;
+#X connect 16 0 27 0;
+#X connect 17 0 27 0;
+#X connect 18 0 48 0;
+#X connect 19 0 20 0;
+#X connect 27 0 38 0;
+#X connect 28 0 48 1;
+#X connect 29 0 48 1;
+#X connect 30 0 48 1;
+#X connect 38 0 19 0;
+#X connect 39 0 27 0;
+#X connect 45 0 46 0;
+#X connect 46 0 45 0;
+#X connect 48 0 38 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/04.pix/23.gravity.pd b/packages/noncvs/windows/extra/Gem/examples/04.pix/23.gravity.pd
index 9821f945..6ef383d3 100644
--- a/packages/noncvs/windows/extra/Gem/examples/04.pix/23.gravity.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/04.pix/23.gravity.pd
@@ -1,108 +1,108 @@
-#N canvas 0 0 626 514 10;
-#X floatatom 107 437 5 0 0 0 - - -;
-#X floatatom 160 436 5 0 0 0 - - -;
-#X floatatom 219 435 5 0 0 0 - - -;
-#X obj 54 338 pix_blob 1;
-#X msg 86 227 0;
-#X msg 94 250 1;
-#X msg 101 271 2;
-#X msg 107 292 3;
-#X msg 110 313 4;
-#X text 119 456 X;
-#X text 173 456 Y;
-#X text 230 455 size;
-#X text 135 228 grey (default);
-#X text 136 250 red;
-#X text 136 269 green;
-#X text 137 291 blue;
-#X text 137 313 alpha;
-#X text 327 20 pix_blob;
-#X text 324 32 =========;
-#X text 276 48 get the center of gravity in a picture;
-#X msg 288 298 1 0.5 0.5 1;
-#X msg 284 274 0.33;
-#X msg 276 252 1 1 2;
-#X text 328 252 ==;
-#X msg 355 251 1 1 2 0;
-#X msg 356 274 0.33 0.33 0.33 0;
-#X text 326 275 ==;
-#X msg 363 112 bang;
-#X obj 363 134 t b b;
-#X msg 428 114 bang;
-#X obj 428 136 t b b;
-#X text 341 454 size = 0..1;
-#X text 341 425 x/y-coordinates from lower-left \; 0..1;
-#X text 329 96 upper-left;
-#X text 428 93 lower-right;
-#X obj 54 176 pix_multiimage ../data/blob*.tif 2;
-#X obj 54 148 gemhead;
-#X msg 154 116 0;
-#X msg 154 136 1;
-#X msg 154 154 2;
-#X obj 54 469 pix_texture;
-#X obj 54 492 square 4;
-#X msg 139 496 quality 0;
-#X obj 139 475 loadbang;
-#X text 307 233 rgb(a)-color;
-#X obj 276 320 t b l;
-#X obj 20 19 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 454 304 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 182 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 238 112 destroy;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 289 80 pd Gem.init;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X connect 8 0 0 0;
-#X restore 25 63 pd gemwin;
-#X msg 25 39 create;
-#X text 21 19 Create window and render;
-#X connect 3 0 40 0;
-#X connect 3 1 0 0;
-#X connect 3 2 1 0;
-#X connect 3 3 2 0;
-#X connect 4 0 3 1;
-#X connect 5 0 3 1;
-#X connect 6 0 3 1;
-#X connect 7 0 3 1;
-#X connect 8 0 3 1;
-#X connect 20 0 45 0;
-#X connect 21 0 45 0;
-#X connect 22 0 45 0;
-#X connect 27 0 28 0;
-#X connect 28 0 39 0;
-#X connect 28 1 5 0;
-#X connect 29 0 30 0;
-#X connect 30 0 39 0;
-#X connect 30 1 7 0;
-#X connect 35 0 3 0;
-#X connect 36 0 35 0;
-#X connect 37 0 35 1;
-#X connect 38 0 35 1;
-#X connect 39 0 35 1;
-#X connect 40 0 41 0;
-#X connect 42 0 40 0;
-#X connect 43 0 42 0;
-#X connect 45 0 39 0;
-#X connect 45 1 3 2;
-#X connect 47 0 48 0;
-#X connect 48 0 47 0;
+#N canvas 0 0 626 514 10;
+#X floatatom 107 437 5 0 0 0 - - -;
+#X floatatom 160 436 5 0 0 0 - - -;
+#X floatatom 219 435 5 0 0 0 - - -;
+#X obj 54 338 pix_blob 1;
+#X msg 86 227 0;
+#X msg 94 250 1;
+#X msg 101 271 2;
+#X msg 107 292 3;
+#X msg 110 313 4;
+#X text 119 456 X;
+#X text 173 456 Y;
+#X text 230 455 size;
+#X text 135 228 grey (default);
+#X text 136 250 red;
+#X text 136 269 green;
+#X text 137 291 blue;
+#X text 137 313 alpha;
+#X text 327 20 pix_blob;
+#X text 324 32 =========;
+#X text 276 48 get the center of gravity in a picture;
+#X msg 288 298 1 0.5 0.5 1;
+#X msg 284 274 0.33;
+#X msg 276 252 1 1 2;
+#X text 328 252 ==;
+#X msg 355 251 1 1 2 0;
+#X msg 356 274 0.33 0.33 0.33 0;
+#X text 326 275 ==;
+#X msg 363 112 bang;
+#X obj 363 134 t b b;
+#X msg 428 114 bang;
+#X obj 428 136 t b b;
+#X text 341 454 size = 0..1;
+#X text 341 425 x/y-coordinates from lower-left \; 0..1;
+#X text 329 96 upper-left;
+#X text 428 93 lower-right;
+#X obj 54 176 pix_multiimage ../data/blob*.tif 2;
+#X obj 54 148 gemhead;
+#X msg 154 116 0;
+#X msg 154 136 1;
+#X msg 154 154 2;
+#X obj 54 469 pix_texture;
+#X obj 54 492 square 4;
+#X msg 139 496 quality 0;
+#X obj 139 475 loadbang;
+#X text 307 233 rgb(a)-color;
+#X obj 276 320 t b l;
+#X obj 20 19 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 454 304 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 182 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 238 112 destroy;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 289 80 pd Gem.init;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X restore 25 63 pd gemwin;
+#X msg 25 39 create;
+#X text 21 19 Create window and render;
+#X connect 3 0 40 0;
+#X connect 3 1 0 0;
+#X connect 3 2 1 0;
+#X connect 3 3 2 0;
+#X connect 4 0 3 1;
+#X connect 5 0 3 1;
+#X connect 6 0 3 1;
+#X connect 7 0 3 1;
+#X connect 8 0 3 1;
+#X connect 20 0 45 0;
+#X connect 21 0 45 0;
+#X connect 22 0 45 0;
+#X connect 27 0 28 0;
+#X connect 28 0 39 0;
+#X connect 28 1 5 0;
+#X connect 29 0 30 0;
+#X connect 30 0 39 0;
+#X connect 30 1 7 0;
+#X connect 35 0 3 0;
+#X connect 36 0 35 0;
+#X connect 37 0 35 1;
+#X connect 38 0 35 1;
+#X connect 39 0 35 1;
+#X connect 40 0 41 0;
+#X connect 42 0 40 0;
+#X connect 43 0 42 0;
+#X connect 45 0 39 0;
+#X connect 45 1 3 2;
+#X connect 47 0 48 0;
+#X connect 48 0 47 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/04.pix/24.time-filtering.pd b/packages/noncvs/windows/extra/Gem/examples/04.pix/24.time-filtering.pd
index c1ca6977..09b56e01 100644
--- a/packages/noncvs/windows/extra/Gem/examples/04.pix/24.time-filtering.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/04.pix/24.time-filtering.pd
@@ -1,102 +1,102 @@
-#N canvas 228 84 794 352 10;
-#X floatatom 279 191 5 0 0 0 - - -;
-#X obj 266 241 pix_tIIR 2 2;
-#X obj 279 211 * 0.01;
-#X obj 279 146 unpack 30 60 10 50 50 -20;
-#X floatatom 328 191 5 0 0 0 - - -;
-#X obj 328 211 * 0.01;
-#X floatatom 375 191 5 0 0 0 - - -;
-#X obj 375 211 * 0.01;
-#X floatatom 424 191 5 0 0 0 - - -;
-#X obj 424 211 * 0.01;
-#X floatatom 471 191 5 0 0 0 - - -;
-#X obj 471 211 * 0.01;
-#X floatatom 520 191 5 0 0 0 - - -;
-#X obj 520 211 * 0.01;
-#X msg 279 100 bang;
-#X obj 266 38 gemhead;
-#X msg 601 44 auto \$1;
-#X obj 601 25 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X obj 279 122 pack 30 60 10 50 50 -20;
-#X floatatom 461 64 5 0 0 0 - - -;
-#X floatatom 351 86 5 0 0 0 - - -;
-#X obj 266 262 pix_texture;
-#X msg 421 27 open ../data/alea.mpg;
-#X msg 421 7 open \$1;
-#X obj 483 7 openpanel;
-#X obj 573 5 bng 20 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 446 63 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 266 61 pix_film ../data/alea.mpg;
-#X obj 266 309 square 3;
-#X obj 266 286 rotateXYZ 0 -30 0;
-#X obj 20 69 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 454 304 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 182 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 238 112 destroy;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 289 80 pd Gem.init;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X connect 8 0 0 0;
-#X restore 25 113 pd gemwin;
-#X msg 25 89 create;
-#X text 21 69 Create window and render;
-#X connect 0 0 2 0;
-#X connect 1 0 21 0;
-#X connect 2 0 1 1;
-#X connect 3 0 0 0;
-#X connect 3 1 4 0;
-#X connect 3 2 6 0;
-#X connect 3 3 8 0;
-#X connect 3 4 10 0;
-#X connect 3 5 12 0;
-#X connect 4 0 5 0;
-#X connect 5 0 1 2;
-#X connect 6 0 7 0;
-#X connect 7 0 1 3;
-#X connect 8 0 9 0;
-#X connect 9 0 1 4;
-#X connect 10 0 11 0;
-#X connect 11 0 1 5;
-#X connect 12 0 13 0;
-#X connect 13 0 1 6;
-#X connect 14 0 18 0;
-#X connect 15 0 27 0;
-#X connect 16 0 27 0;
-#X connect 17 0 16 0;
-#X connect 18 0 3 0;
-#X connect 19 0 27 1;
-#X connect 21 0 29 0;
-#X connect 22 0 27 0;
-#X connect 23 0 27 0;
-#X connect 24 0 23 0;
-#X connect 25 0 24 0;
-#X connect 26 0 19 0;
-#X connect 27 0 1 0;
-#X connect 27 1 20 0;
-#X connect 27 2 26 0;
-#X connect 29 0 28 0;
-#X connect 31 0 32 0;
-#X connect 32 0 31 0;
+#N canvas 228 84 794 352 10;
+#X floatatom 279 191 5 0 0 0 - - -;
+#X obj 266 241 pix_tIIR 2 2;
+#X obj 279 211 * 0.01;
+#X obj 279 146 unpack 30 60 10 50 50 -20;
+#X floatatom 328 191 5 0 0 0 - - -;
+#X obj 328 211 * 0.01;
+#X floatatom 375 191 5 0 0 0 - - -;
+#X obj 375 211 * 0.01;
+#X floatatom 424 191 5 0 0 0 - - -;
+#X obj 424 211 * 0.01;
+#X floatatom 471 191 5 0 0 0 - - -;
+#X obj 471 211 * 0.01;
+#X floatatom 520 191 5 0 0 0 - - -;
+#X obj 520 211 * 0.01;
+#X msg 279 100 bang;
+#X obj 266 38 gemhead;
+#X msg 601 44 auto \$1;
+#X obj 601 25 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 279 122 pack 30 60 10 50 50 -20;
+#X floatatom 461 64 5 0 0 0 - - -;
+#X floatatom 351 86 5 0 0 0 - - -;
+#X obj 266 262 pix_texture;
+#X msg 421 27 open ../data/alea.mpg;
+#X msg 421 7 open \$1;
+#X obj 483 7 openpanel;
+#X obj 573 5 bng 20 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 446 63 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 266 61 pix_film ../data/alea.mpg;
+#X obj 266 309 square 3;
+#X obj 266 286 rotateXYZ 0 -30 0;
+#X obj 20 69 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 454 304 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 182 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 238 112 destroy;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 289 80 pd Gem.init;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X restore 25 113 pd gemwin;
+#X msg 25 89 create;
+#X text 21 69 Create window and render;
+#X connect 0 0 2 0;
+#X connect 1 0 21 0;
+#X connect 2 0 1 1;
+#X connect 3 0 0 0;
+#X connect 3 1 4 0;
+#X connect 3 2 6 0;
+#X connect 3 3 8 0;
+#X connect 3 4 10 0;
+#X connect 3 5 12 0;
+#X connect 4 0 5 0;
+#X connect 5 0 1 2;
+#X connect 6 0 7 0;
+#X connect 7 0 1 3;
+#X connect 8 0 9 0;
+#X connect 9 0 1 4;
+#X connect 10 0 11 0;
+#X connect 11 0 1 5;
+#X connect 12 0 13 0;
+#X connect 13 0 1 6;
+#X connect 14 0 18 0;
+#X connect 15 0 27 0;
+#X connect 16 0 27 0;
+#X connect 17 0 16 0;
+#X connect 18 0 3 0;
+#X connect 19 0 27 1;
+#X connect 21 0 29 0;
+#X connect 22 0 27 0;
+#X connect 23 0 27 0;
+#X connect 24 0 23 0;
+#X connect 25 0 24 0;
+#X connect 26 0 19 0;
+#X connect 27 0 1 0;
+#X connect 27 1 20 0;
+#X connect 27 2 26 0;
+#X connect 29 0 28 0;
+#X connect 31 0 32 0;
+#X connect 32 0 31 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/04.pix/25.buffer.pd b/packages/noncvs/windows/extra/Gem/examples/04.pix/25.buffer.pd
index 857cdaf3..ae364804 100644
--- a/packages/noncvs/windows/extra/Gem/examples/04.pix/25.buffer.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/04.pix/25.buffer.pd
@@ -1,137 +1,137 @@
-#N canvas 0 0 832 589 10;
-#X obj 62 327 gemhead;
-#X obj 62 369 pix_texture;
-#X obj 62 392 square 4;
-#X obj 316 316 gemhead;
-#X obj 316 342 pix_film;
-#X obj 316 387 t a b;
-#X obj 361 430 i;
-#X obj 388 430 + 1;
-#X obj 361 408 spigot;
-#X obj 398 364 t b b;
-#X msg 398 387 1;
-#X msg 455 388 0;
-#X obj 398 339 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X text 419 339 start recording into the buffer;
-#X msg 398 296 open \$1;
-#X obj 398 275 openpanel;
-#X obj 398 257 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X msg 477 240 ../data/anim-1.mov;
-#X msg 477 260 ../data/alea.mpg;
-#X msg 478 216 ../data/homer.avi;
-#X obj 477 282 symbol;
-#X floatatom 155 321 5 0 0 0 - - -;
-#X text 195 320 index;
-#X msg 408 408 0;
-#X obj 571 401 gemhead;
-#X obj 571 427 pix_image ../data/fractal.JPG;
-#X floatatom 423 497 5 0 0 0 - - -;
-#X msg 405 318 auto 1;
-#X msg 457 319 0;
-#X obj 361 456 moses 10;
-#X floatatom 663 406 5 0 0 0 - - -;
-#X msg 663 386 5;
-#X text 467 493 put the next image into "myImages" @ index;
-#X msg 140 390 set yourImages;
-#X msg 212 490 set yourImages;
-#X text 213 473 set the storage-name;
-#X obj 62 349 pix_buffer_read myImages;
-#X obj 316 515 pix_buffer_write myImages;
-#X obj 571 453 pix_buffer_write myImages;
-#X text 291 539 write an image into a certain storage-buffer;
-#X text 15 422 read an image from a certain storage-buffer;
-#X text 17 302 get an image from the pix_buffer;
-#X obj 33 227 pix_buffer yourImages 10;
-#X obj 20 69 cnv 15 200 70 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 454 304 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 182 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 238 112 destroy;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 289 80 pd Gem.init;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X connect 8 0 0 0;
-#X restore 25 113 pd gemwin;
-#X msg 25 89 create;
-#X text 21 69 Create window and render;
-#X text 284 32 ============;
-#X text 236 48 store/get images into/from a buffer;
-#X msg 226 77 bang;
-#X floatatom 226 174 5 0 0 0 - - -;
-#X text 265 77 get the size of the depot;
-#X msg 237 116 allocate 128 64 4;
-#X text 371 104 pre-allocate each image-buffer to hold at east 128*64*4
-pixels;
-#X text 388 155 a storage-place for "10" pix-images called "myImages"
-;
-#X obj 226 153 pix_buffer myImages 10;
-#X text 287 20 [pix_buffer];
-#X msg 353 181 open ../data/fractal.JPG 5;
-#X text 524 182 load an image into a certain storage-buffer;
-#X connect 0 0 36 0;
-#X connect 1 0 2 0;
-#X connect 3 0 4 0;
-#X connect 4 0 5 0;
-#X connect 5 0 37 0;
-#X connect 5 1 8 0;
-#X connect 6 0 7 0;
-#X connect 6 0 29 0;
-#X connect 7 0 6 1;
-#X connect 8 0 6 0;
-#X connect 9 0 10 0;
-#X connect 9 1 23 0;
-#X connect 10 0 8 1;
-#X connect 11 0 8 1;
-#X connect 11 0 31 0;
-#X connect 12 0 9 0;
-#X connect 14 0 4 0;
-#X connect 14 0 12 0;
-#X connect 14 0 27 0;
-#X connect 14 0 28 0;
-#X connect 15 0 14 0;
-#X connect 16 0 15 0;
-#X connect 17 0 20 0;
-#X connect 18 0 20 0;
-#X connect 19 0 20 0;
-#X connect 20 0 14 0;
-#X connect 21 0 36 1;
-#X connect 23 0 6 1;
-#X connect 24 0 25 0;
-#X connect 25 0 38 0;
-#X connect 26 0 37 1;
-#X connect 27 0 4 0;
-#X connect 28 0 4 1;
-#X connect 29 0 26 0;
-#X connect 29 1 11 0;
-#X connect 30 0 38 1;
-#X connect 31 0 30 0;
-#X connect 33 0 36 0;
-#X connect 34 0 37 0;
-#X connect 36 0 1 0;
-#X connect 44 0 45 0;
-#X connect 45 0 44 0;
-#X connect 49 0 55 0;
-#X connect 52 0 55 0;
-#X connect 55 0 50 0;
-#X connect 57 0 55 0;
+#N canvas 0 0 832 589 10;
+#X obj 62 327 gemhead;
+#X obj 62 369 pix_texture;
+#X obj 62 392 square 4;
+#X obj 316 316 gemhead;
+#X obj 316 342 pix_film;
+#X obj 316 387 t a b;
+#X obj 361 430 i;
+#X obj 388 430 + 1;
+#X obj 361 408 spigot;
+#X obj 398 364 t b b;
+#X msg 398 387 1;
+#X msg 455 388 0;
+#X obj 398 339 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X text 419 339 start recording into the buffer;
+#X msg 398 296 open \$1;
+#X obj 398 275 openpanel;
+#X obj 398 257 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X msg 477 240 ../data/anim-1.mov;
+#X msg 477 260 ../data/alea.mpg;
+#X msg 478 216 ../data/homer.avi;
+#X obj 477 282 symbol;
+#X floatatom 155 321 5 0 0 0 - - -;
+#X text 195 320 index;
+#X msg 408 408 0;
+#X obj 571 401 gemhead;
+#X obj 571 427 pix_image ../data/fractal.JPG;
+#X floatatom 423 497 5 0 0 0 - - -;
+#X msg 405 318 auto 1;
+#X msg 457 319 0;
+#X obj 361 456 moses 10;
+#X floatatom 663 406 5 0 0 0 - - -;
+#X msg 663 386 5;
+#X text 467 493 put the next image into "myImages" @ index;
+#X msg 140 390 set yourImages;
+#X msg 212 490 set yourImages;
+#X text 213 473 set the storage-name;
+#X obj 62 349 pix_buffer_read myImages;
+#X obj 316 515 pix_buffer_write myImages;
+#X obj 571 453 pix_buffer_write myImages;
+#X text 291 539 write an image into a certain storage-buffer;
+#X text 15 422 read an image from a certain storage-buffer;
+#X text 17 302 get an image from the pix_buffer;
+#X obj 33 227 pix_buffer yourImages 10;
+#X obj 20 69 cnv 15 200 70 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 454 304 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 182 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 238 112 destroy;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 289 80 pd Gem.init;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X restore 25 113 pd gemwin;
+#X msg 25 89 create;
+#X text 21 69 Create window and render;
+#X text 284 32 ============;
+#X text 236 48 store/get images into/from a buffer;
+#X msg 226 77 bang;
+#X floatatom 226 174 5 0 0 0 - - -;
+#X text 265 77 get the size of the depot;
+#X msg 237 116 allocate 128 64 4;
+#X text 371 104 pre-allocate each image-buffer to hold at east 128*64*4
+pixels;
+#X text 388 155 a storage-place for "10" pix-images called "myImages"
+;
+#X obj 226 153 pix_buffer myImages 10;
+#X text 287 20 [pix_buffer];
+#X msg 353 181 open ../data/fractal.JPG 5;
+#X text 524 182 load an image into a certain storage-buffer;
+#X connect 0 0 36 0;
+#X connect 1 0 2 0;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 5 0 37 0;
+#X connect 5 1 8 0;
+#X connect 6 0 7 0;
+#X connect 6 0 29 0;
+#X connect 7 0 6 1;
+#X connect 8 0 6 0;
+#X connect 9 0 10 0;
+#X connect 9 1 23 0;
+#X connect 10 0 8 1;
+#X connect 11 0 8 1;
+#X connect 11 0 31 0;
+#X connect 12 0 9 0;
+#X connect 14 0 4 0;
+#X connect 14 0 12 0;
+#X connect 14 0 27 0;
+#X connect 14 0 28 0;
+#X connect 15 0 14 0;
+#X connect 16 0 15 0;
+#X connect 17 0 20 0;
+#X connect 18 0 20 0;
+#X connect 19 0 20 0;
+#X connect 20 0 14 0;
+#X connect 21 0 36 1;
+#X connect 23 0 6 1;
+#X connect 24 0 25 0;
+#X connect 25 0 38 0;
+#X connect 26 0 37 1;
+#X connect 27 0 4 0;
+#X connect 28 0 4 1;
+#X connect 29 0 26 0;
+#X connect 29 1 11 0;
+#X connect 30 0 38 1;
+#X connect 31 0 30 0;
+#X connect 33 0 36 0;
+#X connect 34 0 37 0;
+#X connect 36 0 1 0;
+#X connect 44 0 45 0;
+#X connect 45 0 44 0;
+#X connect 49 0 55 0;
+#X connect 52 0 55 0;
+#X connect 55 0 50 0;
+#X connect 57 0 55 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/04.pix/26.framebuffer_readback.pd b/packages/noncvs/windows/extra/Gem/examples/04.pix/26.framebuffer_readback.pd
index 3f49f1e7..380d8de4 100644
--- a/packages/noncvs/windows/extra/Gem/examples/04.pix/26.framebuffer_readback.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/04.pix/26.framebuffer_readback.pd
@@ -1,88 +1,88 @@
-#N canvas 0 0 826 651 10;
-#X msg 112 86 create \, 1;
-#X obj 112 131 gemwin;
-#X obj 311 112 pix_buffer \$0-framebuffer 2;
-#X obj 620 108 gemhead 5;
-#X obj 620 129 world_light;
-#X msg 129 108 lighting 1;
-#X text 44 5 you can render a scene into a framebuffer \, then take
-a snapshot of the framebuffer with [pix_snap] and use this as an ordinary
-pix (where you can apply effects and all kind of weird things);
-#X obj 75 439 cnv 15 250 130 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 161 269 cnv 15 150 150 empty empty scene 20 12 0 14 -233017
--66577 0;
-#X obj 82 196 gemhead 20;
-#X obj 82 220 gemframebuffer;
-#X msg 163 195 dimen 256 256;
-#X obj 167 331 rotateXYZ;
-#X obj 167 376 teapot;
-#X obj 82 266 t a a b;
-#X obj 187 293 i;
-#X obj 220 292 + 1;
-#X obj 250 291 % 360;
-#X obj 82 453 t a b;
-#X msg 114 474 snap;
-#X obj 82 522 t a b;
-#X msg 296 527 1;
-#X obj 82 547 pix_buffer_write \$0-framebuffer;
-#X obj 410 262 gemhead 30;
-#X obj 410 306 t a b;
-#X msg 465 307 1;
-#X obj 410 331 pix_buffer_read \$0-framebuffer;
-#X obj 410 411 pix_texture;
-#X obj 410 476 square 3;
-#X obj 82 243 translateXYZ 0 0 -4;
-#X obj 82 498 pix_snap 0 0 256 256;
-#X obj 167 353 color 1 0 1;
-#X floatatom 226 313 5 0 0 0 - - -;
-#X obj 410 453 rotateXYZ;
-#X floatatom 445 433 5 0 0 0 - - -;
-#X text 318 130 temporary storage;
-#X obj 163 175 loadbang;
-#X text 130 451 later usage;
-#X text 129 436 snapshot and store image for;
-#X text 562 308 fetch framebuffer-pix;
-#X text 535 379 apply some nifty FX;
-#X text 73 597 note \, that there are more efficient ways to apply
-FX to framebuffers (noteably openGL-shaders: see examples/10.glsl/
-for more information);
-#X obj 425 358 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
-1;
-#X obj 410 380 pix_kaleidoscope;
-#X connect 0 0 1 0;
-#X connect 3 0 4 0;
-#X connect 5 0 1 0;
-#X connect 9 0 10 0;
-#X connect 10 0 29 0;
-#X connect 11 0 10 0;
-#X connect 12 0 31 0;
-#X connect 14 0 18 0;
-#X connect 14 1 12 0;
-#X connect 14 2 15 0;
-#X connect 15 0 16 0;
-#X connect 15 0 12 1;
-#X connect 15 0 12 2;
-#X connect 16 0 17 0;
-#X connect 17 0 15 1;
-#X connect 18 0 30 0;
-#X connect 18 1 19 0;
-#X connect 19 0 30 0;
-#X connect 20 0 22 0;
-#X connect 20 1 21 0;
-#X connect 21 0 22 1;
-#X connect 23 0 24 0;
-#X connect 24 0 26 0;
-#X connect 24 1 25 0;
-#X connect 25 0 26 1;
-#X connect 26 0 43 0;
-#X connect 27 0 33 0;
-#X connect 29 0 14 0;
-#X connect 30 0 20 0;
-#X connect 31 0 13 0;
-#X connect 32 0 12 3;
-#X connect 33 0 28 0;
-#X connect 34 0 33 2;
-#X connect 36 0 11 0;
-#X connect 42 0 43 0;
-#X connect 43 0 27 0;
+#N canvas 0 0 826 651 10;
+#X msg 112 86 create \, 1;
+#X obj 112 131 gemwin;
+#X obj 311 112 pix_buffer \$0-framebuffer 2;
+#X obj 620 108 gemhead 5;
+#X obj 620 129 world_light;
+#X msg 129 108 lighting 1;
+#X text 44 5 you can render a scene into a framebuffer \, then take
+a snapshot of the framebuffer with [pix_snap] and use this as an ordinary
+pix (where you can apply effects and all kind of weird things);
+#X obj 75 439 cnv 15 250 130 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 161 269 cnv 15 150 150 empty empty scene 20 12 0 14 -233017
+-66577 0;
+#X obj 82 196 gemhead 20;
+#X obj 82 220 gemframebuffer;
+#X msg 163 195 dimen 256 256;
+#X obj 167 331 rotateXYZ;
+#X obj 167 376 teapot;
+#X obj 82 266 t a a b;
+#X obj 187 293 i;
+#X obj 220 292 + 1;
+#X obj 250 291 % 360;
+#X obj 82 453 t a b;
+#X msg 114 474 snap;
+#X obj 82 522 t a b;
+#X msg 296 527 1;
+#X obj 82 547 pix_buffer_write \$0-framebuffer;
+#X obj 410 262 gemhead 30;
+#X obj 410 306 t a b;
+#X msg 465 307 1;
+#X obj 410 331 pix_buffer_read \$0-framebuffer;
+#X obj 410 411 pix_texture;
+#X obj 410 476 square 3;
+#X obj 82 243 translateXYZ 0 0 -4;
+#X obj 82 498 pix_snap 0 0 256 256;
+#X obj 167 353 color 1 0 1;
+#X floatatom 226 313 5 0 0 0 - - -;
+#X obj 410 453 rotateXYZ;
+#X floatatom 445 433 5 0 0 0 - - -;
+#X text 318 130 temporary storage;
+#X obj 163 175 loadbang;
+#X text 130 451 later usage;
+#X text 129 436 snapshot and store image for;
+#X text 562 308 fetch framebuffer-pix;
+#X text 535 379 apply some nifty FX;
+#X text 73 597 note \, that there are more efficient ways to apply
+FX to framebuffers (noteably openGL-shaders: see examples/10.glsl/
+for more information);
+#X obj 425 358 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+1;
+#X obj 410 380 pix_kaleidoscope;
+#X connect 0 0 1 0;
+#X connect 3 0 4 0;
+#X connect 5 0 1 0;
+#X connect 9 0 10 0;
+#X connect 10 0 29 0;
+#X connect 11 0 10 0;
+#X connect 12 0 31 0;
+#X connect 14 0 18 0;
+#X connect 14 1 12 0;
+#X connect 14 2 15 0;
+#X connect 15 0 16 0;
+#X connect 15 0 12 1;
+#X connect 15 0 12 2;
+#X connect 16 0 17 0;
+#X connect 17 0 15 1;
+#X connect 18 0 30 0;
+#X connect 18 1 19 0;
+#X connect 19 0 30 0;
+#X connect 20 0 22 0;
+#X connect 20 1 21 0;
+#X connect 21 0 22 1;
+#X connect 23 0 24 0;
+#X connect 24 0 26 0;
+#X connect 24 1 25 0;
+#X connect 25 0 26 1;
+#X connect 26 0 43 0;
+#X connect 27 0 33 0;
+#X connect 29 0 14 0;
+#X connect 30 0 20 0;
+#X connect 31 0 13 0;
+#X connect 32 0 12 3;
+#X connect 33 0 28 0;
+#X connect 34 0 33 2;
+#X connect 36 0 11 0;
+#X connect 42 0 43 0;
+#X connect 43 0 27 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/04.video/00.SimpleVideo.pd b/packages/noncvs/windows/extra/Gem/examples/04.video/00.SimpleVideo.pd
index 7b59713a..cd28a8d1 100644
--- a/packages/noncvs/windows/extra/Gem/examples/04.video/00.SimpleVideo.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/04.video/00.SimpleVideo.pd
@@ -1,87 +1,87 @@
-#N canvas 147 59 659 387 12;
-#X obj 134 180 cnv 15 500 40 empty empty empty 20 12 0 14 -245500 -66577
-0;
-#X obj 55 78 gemhead;
-#X obj 55 299 rectangle 4 3;
-#X obj 55 265 pix_texture;
-#X obj 55 229 pix_video;
-#X msg 142 190 dialog;
-#X text 49 16 Click on the [create( message to see live video in Gem.
-(You must have a camera attached before loading this patch).;
-#X text 199 188 pop-up dialog to configure the camera (Windows and
-Mac OS X);
-#X msg 98 139 device 0;
-#N canvas 162 133 570 420 serin 0;
-#X obj 205 60 cnv 20 20 20 empty \$0-open-canvas 0 4 10 0 16 -233017
--1 0;
-#X obj 60 61 hradio 18 1 1 8 empty empty empty 0 -6 0 8 -225271 -1
--1 0;
-#X obj 60 13 inlet;
-#X msg 200 202 label \$1;
-#X obj 200 180 makefilename %d;
-#X obj 59 108 int;
-#X obj 59 337 outlet;
-#X msg 201 306 set \$1 \$2;
-#X obj 59 266 trigger bang anything;
-#X obj 201 286 list;
-#X obj 200 225 send \$0-open-canvas;
-#X msg 60 210 device \$1;
-#X connect 1 0 5 0;
-#X connect 2 0 1 0;
-#X connect 3 0 10 0;
-#X connect 4 0 3 0;
-#X connect 5 0 4 0;
-#X connect 5 0 11 0;
-#X connect 7 0 6 0;
-#X connect 8 0 6 0;
-#X connect 8 1 9 0;
-#X connect 9 0 7 0;
-#X connect 11 0 8 0;
-#X coords 0 -1 1 1 165 20 1 60 60;
-#X restore 98 115 pd serin;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 502 304 pd gemwin;
-#X connect 1 0 4 0;
-#X connect 3 0 2 0;
-#X connect 4 0 3 0;
-#X connect 5 0 4 0;
-#X connect 8 0 4 0;
-#X connect 9 0 8 0;
+#N canvas 147 59 659 387 12;
+#X obj 134 180 cnv 15 500 40 empty empty empty 20 12 0 14 -245500 -66577
+0;
+#X obj 55 78 gemhead;
+#X obj 55 299 rectangle 4 3;
+#X obj 55 265 pix_texture;
+#X obj 55 229 pix_video;
+#X msg 142 190 dialog;
+#X text 49 16 Click on the [create( message to see live video in Gem.
+(You must have a camera attached before loading this patch).;
+#X text 199 188 pop-up dialog to configure the camera (Windows and
+Mac OS X);
+#X msg 98 139 device 0;
+#N canvas 162 133 570 420 serin 0;
+#X obj 205 60 cnv 20 20 20 empty \$0-open-canvas 0 4 10 0 16 -233017
+-1 0;
+#X obj 60 61 hradio 18 1 1 8 empty empty empty 0 -6 0 8 -225271 -1
+-1 0;
+#X obj 60 13 inlet;
+#X msg 200 202 label \$1;
+#X obj 200 180 makefilename %d;
+#X obj 59 108 int;
+#X obj 59 337 outlet;
+#X msg 201 306 set \$1 \$2;
+#X obj 59 266 trigger bang anything;
+#X obj 201 286 list;
+#X obj 200 225 send \$0-open-canvas;
+#X msg 60 210 device \$1;
+#X connect 1 0 5 0;
+#X connect 2 0 1 0;
+#X connect 3 0 10 0;
+#X connect 4 0 3 0;
+#X connect 5 0 4 0;
+#X connect 5 0 11 0;
+#X connect 7 0 6 0;
+#X connect 8 0 6 0;
+#X connect 8 1 9 0;
+#X connect 9 0 7 0;
+#X connect 11 0 8 0;
+#X coords 0 -1 1 1 165 20 1 60 60;
+#X restore 98 115 pd serin;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 502 304 pd gemwin;
+#X connect 1 0 4 0;
+#X connect 3 0 2 0;
+#X connect 4 0 3 0;
+#X connect 5 0 4 0;
+#X connect 8 0 4 0;
+#X connect 9 0 8 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/04.video/01.VideoPaint.pd b/packages/noncvs/windows/extra/Gem/examples/04.video/01.VideoPaint.pd
index 9c38a80b..440404f2 100644
--- a/packages/noncvs/windows/extra/Gem/examples/04.video/01.VideoPaint.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/04.video/01.VideoPaint.pd
@@ -1,123 +1,123 @@
-#N canvas 38 374 800 574 10;
-#X obj 50 130 gemhead;
-#X obj 50 493 square;
-#X obj 50 371 alpha;
-#X obj 50 174 pix_video;
-#X obj 50 267 pix_texture;
-#X msg 136 456 4;
-#X msg 167 456 2;
-#X obj 50 392 depth;
-#X obj 50 243 pix_threshold;
-#X text 375 217 click on bang to;
-#X text 187 90 click on these for fun;
-#X text 388 69 turn on rendering before turning on the metro.;
-#X text 437 86 If you don't \, it may crash/not work;
-#X text 375 229 clear the screen;
-#X obj 50 447 rotate;
-#X obj 50 89 t b b;
-#X floatatom 192 179 5 0 100 2 threshold - -;
-#X obj 50 9 tgl 15 0 empty empty run 0 -6 0 10 -4034 -1 -1 0 1;
-#X obj 195 144 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 10 -228856
--1 -1 0 1;
-#X obj 176 230 hsl 128 15 0 1 0 1 empty empty R 12 8 1 12 -261689 -1
--1 12700 1;
-#X obj 176 250 hsl 128 15 0 1 0 1 empty empty G 12 8 1 12 -225271 -1
--1 12700 1;
-#X obj 176 270 hsl 128 15 0 1 0 1 empty empty B 12 8 1 12 -228992 -1
--1 12700 1;
-#X obj 218 458 hsl 128 15 0.5 5 0 0 empty empty empty -2 -6 0 10 -232576
--1 -1 0 1;
-#X floatatom 219 481 5 0 0 0 - - -;
-#X obj 83 40 hsl 128 15 10 127 0 1 empty empty empty -2 -6 0 10 -204786
--1 -1 9900 1;
-#X floatatom 93 63 5 0 0 0 - - -;
-#X obj 50 62 metro;
-#X obj 207 354 + 1;
-#X obj 482 243 bng 15 250 50 0 empty empty empty 0 -6 0 10 -128992
--1 -1;
-#X msg 80 18 100;
-#X obj 176 290 hsl 128 15 0 1 0 1 empty empty A 12 8 1 12 -195568 -1
--1 12700 1;
-#X obj 50 319 colorRGB 1 1 1 0.15;
-#X obj 233 354 % 360;
-#X obj 180 354 i;
-#X floatatom 180 375 5 0 0 0 - - -;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X obj 118 113 outlet;
-#X msg 118 81 reset \, buffer 1;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X restore 533 345 pd Gem.init;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 503 362 pd gemwin;
-#X connect 0 0 3 0;
-#X connect 2 0 7 0;
-#X connect 3 0 8 0;
-#X connect 4 0 31 0;
-#X connect 5 0 1 1;
-#X connect 6 0 1 1;
-#X connect 7 0 14 0;
-#X connect 8 0 4 0;
-#X connect 14 0 1 0;
-#X connect 15 0 0 0;
-#X connect 15 1 33 0;
-#X connect 16 0 8 1;
-#X connect 17 0 26 0;
-#X connect 18 0 16 0;
-#X connect 19 0 31 1;
-#X connect 20 0 31 2;
-#X connect 21 0 31 3;
-#X connect 22 0 1 1;
-#X connect 22 0 23 0;
-#X connect 24 0 25 0;
-#X connect 24 0 26 1;
-#X connect 26 0 15 0;
-#X connect 27 0 32 0;
-#X connect 28 0 36 0;
-#X connect 29 0 24 0;
-#X connect 30 0 31 4;
-#X connect 31 0 2 0;
-#X connect 32 0 33 1;
-#X connect 33 0 27 0;
-#X connect 33 0 34 0;
-#X connect 34 0 14 1;
-#X connect 35 0 36 0;
+#N canvas 38 374 800 574 10;
+#X obj 50 130 gemhead;
+#X obj 50 493 square;
+#X obj 50 371 alpha;
+#X obj 50 174 pix_video;
+#X obj 50 267 pix_texture;
+#X msg 136 456 4;
+#X msg 167 456 2;
+#X obj 50 392 depth;
+#X obj 50 243 pix_threshold;
+#X text 375 217 click on bang to;
+#X text 187 90 click on these for fun;
+#X text 388 69 turn on rendering before turning on the metro.;
+#X text 437 86 If you don't \, it may crash/not work;
+#X text 375 229 clear the screen;
+#X obj 50 447 rotate;
+#X obj 50 89 t b b;
+#X floatatom 192 179 5 0 100 2 threshold - -;
+#X obj 50 9 tgl 15 0 empty empty run 0 -6 0 10 -4034 -1 -1 0 1;
+#X obj 195 144 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 10 -228856
+-1 -1 0 1;
+#X obj 176 230 hsl 128 15 0 1 0 1 empty empty R 12 8 1 12 -261689 -1
+-1 12700 1;
+#X obj 176 250 hsl 128 15 0 1 0 1 empty empty G 12 8 1 12 -225271 -1
+-1 12700 1;
+#X obj 176 270 hsl 128 15 0 1 0 1 empty empty B 12 8 1 12 -228992 -1
+-1 12700 1;
+#X obj 218 458 hsl 128 15 0.5 5 0 0 empty empty empty -2 -6 0 10 -232576
+-1 -1 0 1;
+#X floatatom 219 481 5 0 0 0 - - -;
+#X obj 83 40 hsl 128 15 10 127 0 1 empty empty empty -2 -6 0 10 -204786
+-1 -1 9900 1;
+#X floatatom 93 63 5 0 0 0 - - -;
+#X obj 50 62 metro;
+#X obj 207 354 + 1;
+#X obj 482 243 bng 15 250 50 0 empty empty empty 0 -6 0 10 -128992
+-1 -1;
+#X msg 80 18 100;
+#X obj 176 290 hsl 128 15 0 1 0 1 empty empty A 12 8 1 12 -195568 -1
+-1 12700 1;
+#X obj 50 319 colorRGB 1 1 1 0.15;
+#X obj 233 354 % 360;
+#X obj 180 354 i;
+#X floatatom 180 375 5 0 0 0 - - -;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X obj 118 113 outlet;
+#X msg 118 81 reset \, buffer 1;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X restore 533 345 pd Gem.init;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 503 362 pd gemwin;
+#X connect 0 0 3 0;
+#X connect 2 0 7 0;
+#X connect 3 0 8 0;
+#X connect 4 0 31 0;
+#X connect 5 0 1 1;
+#X connect 6 0 1 1;
+#X connect 7 0 14 0;
+#X connect 8 0 4 0;
+#X connect 14 0 1 0;
+#X connect 15 0 0 0;
+#X connect 15 1 33 0;
+#X connect 16 0 8 1;
+#X connect 17 0 26 0;
+#X connect 18 0 16 0;
+#X connect 19 0 31 1;
+#X connect 20 0 31 2;
+#X connect 21 0 31 3;
+#X connect 22 0 1 1;
+#X connect 22 0 23 0;
+#X connect 24 0 25 0;
+#X connect 24 0 26 1;
+#X connect 26 0 15 0;
+#X connect 27 0 32 0;
+#X connect 28 0 36 0;
+#X connect 29 0 24 0;
+#X connect 30 0 31 4;
+#X connect 31 0 2 0;
+#X connect 32 0 33 1;
+#X connect 33 0 27 0;
+#X connect 33 0 34 0;
+#X connect 34 0 14 1;
+#X connect 35 0 36 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/04.video/02.VideoSphere.pd b/packages/noncvs/windows/extra/Gem/examples/04.video/02.VideoSphere.pd
index 165b5c55..f04dc8fa 100644
--- a/packages/noncvs/windows/extra/Gem/examples/04.video/02.VideoSphere.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/04.video/02.VideoSphere.pd
@@ -1,99 +1,99 @@
-#N canvas 84 483 743 466 10;
-#X obj 57 215 pix_texture;
-#X text 187 75 click on any of these;
-#X text 40 25 texture live video onto a sphere;
-#X obj 183 196 hsl 128 15 0 360 0 0 empty empty X 12 8 1 12 -233017
--1 -1 0 1;
-#X obj 183 216 hsl 128 15 0 360 0 0 empty empty Y 12 8 1 12 -233017
--1 -1 0 1;
-#X obj 183 236 hsl 128 15 0 360 0 0 empty empty Z 12 8 1 12 -233017
--1 -1 0 1;
-#X obj 57 255 rotateXYZ 0 0 0;
-#X obj 183 266 hsl 128 15 0 1 0 1 empty empty R 12 8 1 12 -261689 -1
--1 12700 1;
-#X obj 183 286 hsl 128 15 0 1 0 1 empty empty G 12 8 1 12 -225271 -1
--1 12700 1;
-#X obj 183 306 hsl 128 15 0 1 0 1 empty empty B 12 8 1 12 -228992 -1
--1 12700 1;
-#X obj 57 325 colorRGB 1 1 1;
-#X obj 57 70 gemhead;
-#X obj 57 114 pix_video;
-#X obj 57 163 pix_threshold;
-#X floatatom 185 122 5 0 100 1 threshold - -;
-#X obj 184 103 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 10 -228856
--1 -1 0 1;
-#X obj 183 348 hsl 128 15 0.5 5 0 1 empty empty empty -2 -6 0 10 -232576
--1 -1 4233 1;
-#X floatatom 185 367 5 0 0 1 size - -;
-#X obj 183 388 hsl 128 15 5 50 0 1 empty empty empty -2 -6 0 10 -204800
--1 -1 12700 1;
-#X floatatom 185 407 5 0 0 1 segments - -;
-#X obj 57 410 sphere;
-#X msg 182 143 0.1 0.1 0.1;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 488 249 pd Gem.init;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 458 266 pd gemwin;
-#X connect 0 0 6 0;
-#X connect 3 0 6 1;
-#X connect 4 0 6 2;
-#X connect 5 0 6 3;
-#X connect 6 0 10 0;
-#X connect 7 0 10 1;
-#X connect 8 0 10 2;
-#X connect 9 0 10 3;
-#X connect 10 0 20 0;
-#X connect 11 0 12 0;
-#X connect 12 0 13 0;
-#X connect 13 0 0 0;
-#X connect 15 0 14 0;
-#X connect 15 0 13 1;
-#X connect 16 0 17 0;
-#X connect 16 0 20 1;
-#X connect 18 0 19 0;
-#X connect 18 0 20 2;
-#X connect 21 0 13 2;
-#X connect 22 0 23 0;
+#N canvas 84 483 743 466 10;
+#X obj 57 215 pix_texture;
+#X text 187 75 click on any of these;
+#X text 40 25 texture live video onto a sphere;
+#X obj 183 196 hsl 128 15 0 360 0 0 empty empty X 12 8 1 12 -233017
+-1 -1 0 1;
+#X obj 183 216 hsl 128 15 0 360 0 0 empty empty Y 12 8 1 12 -233017
+-1 -1 0 1;
+#X obj 183 236 hsl 128 15 0 360 0 0 empty empty Z 12 8 1 12 -233017
+-1 -1 0 1;
+#X obj 57 255 rotateXYZ 0 0 0;
+#X obj 183 266 hsl 128 15 0 1 0 1 empty empty R 12 8 1 12 -261689 -1
+-1 12700 1;
+#X obj 183 286 hsl 128 15 0 1 0 1 empty empty G 12 8 1 12 -225271 -1
+-1 12700 1;
+#X obj 183 306 hsl 128 15 0 1 0 1 empty empty B 12 8 1 12 -228992 -1
+-1 12700 1;
+#X obj 57 325 colorRGB 1 1 1;
+#X obj 57 70 gemhead;
+#X obj 57 114 pix_video;
+#X obj 57 163 pix_threshold;
+#X floatatom 185 122 5 0 100 1 threshold - -;
+#X obj 184 103 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 10 -228856
+-1 -1 0 1;
+#X obj 183 348 hsl 128 15 0.5 5 0 1 empty empty empty -2 -6 0 10 -232576
+-1 -1 4233 1;
+#X floatatom 185 367 5 0 0 1 size - -;
+#X obj 183 388 hsl 128 15 5 50 0 1 empty empty empty -2 -6 0 10 -204800
+-1 -1 12700 1;
+#X floatatom 185 407 5 0 0 1 segments - -;
+#X obj 57 410 sphere;
+#X msg 182 143 0.1 0.1 0.1;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 488 249 pd Gem.init;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 458 266 pd gemwin;
+#X connect 0 0 6 0;
+#X connect 3 0 6 1;
+#X connect 4 0 6 2;
+#X connect 5 0 6 3;
+#X connect 6 0 10 0;
+#X connect 7 0 10 1;
+#X connect 8 0 10 2;
+#X connect 9 0 10 3;
+#X connect 10 0 20 0;
+#X connect 11 0 12 0;
+#X connect 12 0 13 0;
+#X connect 13 0 0 0;
+#X connect 15 0 14 0;
+#X connect 15 0 13 1;
+#X connect 16 0 17 0;
+#X connect 16 0 20 1;
+#X connect 18 0 19 0;
+#X connect 18 0 20 2;
+#X connect 21 0 13 2;
+#X connect 22 0 23 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/04.video/03.movement_detection.pd b/packages/noncvs/windows/extra/Gem/examples/04.video/03.movement_detection.pd
index 34efdef1..6b71f0e4 100644
--- a/packages/noncvs/windows/extra/Gem/examples/04.video/03.movement_detection.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/04.video/03.movement_detection.pd
@@ -1,87 +1,87 @@
-#N canvas 378 405 793 522 10;
-#X floatatom 227 258 6 0 0 0 - - -;
-#X floatatom 280 258 6 0 0 0 - - -;
-#X floatatom 339 258 6 0 0 0 - - -;
-#X obj 44 222 pix_blob 4;
-#X obj 44 91 gemhead;
-#X obj 44 150 pix_movement;
-#X obj 44 364 pix_texture;
-#X obj 44 401 square 4;
-#X obj 201 383 gemhead;
-#X obj 201 407 translateXYZ;
-#X obj 201 434 cube 0.5;
-#X obj 227 304 * 8;
-#X obj 227 326 - 4;
-#X obj 280 304 * 8;
-#X obj 280 326 - 4;
-#X obj 339 325 * 2;
-#X obj 44 117 pix_video;
-#X text 57 40 a very simple movement detector;
-#X text 388 255 <<- calculate world-coordinates from normalized pix-coordinates
-;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 511 359 pd Gem.init;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 481 376 pd gemwin;
-#X connect 0 0 11 0;
-#X connect 1 0 13 0;
-#X connect 2 0 15 0;
-#X connect 3 0 6 0;
-#X connect 3 1 0 0;
-#X connect 3 2 1 0;
-#X connect 3 3 2 0;
-#X connect 4 0 16 0;
-#X connect 5 0 3 0;
-#X connect 6 0 7 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 0;
-#X connect 11 0 12 0;
-#X connect 12 0 9 1;
-#X connect 13 0 14 0;
-#X connect 14 0 9 2;
-#X connect 15 0 9 3;
-#X connect 16 0 5 0;
-#X connect 19 0 20 0;
+#N canvas 378 405 793 522 10;
+#X floatatom 227 258 6 0 0 0 - - -;
+#X floatatom 280 258 6 0 0 0 - - -;
+#X floatatom 339 258 6 0 0 0 - - -;
+#X obj 44 222 pix_blob 4;
+#X obj 44 91 gemhead;
+#X obj 44 150 pix_movement;
+#X obj 44 364 pix_texture;
+#X obj 44 401 square 4;
+#X obj 201 383 gemhead;
+#X obj 201 407 translateXYZ;
+#X obj 201 434 cube 0.5;
+#X obj 227 304 * 8;
+#X obj 227 326 - 4;
+#X obj 280 304 * 8;
+#X obj 280 326 - 4;
+#X obj 339 325 * 2;
+#X obj 44 117 pix_video;
+#X text 57 40 a very simple movement detector;
+#X text 388 255 <<- calculate world-coordinates from normalized pix-coordinates
+;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 511 359 pd Gem.init;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 481 376 pd gemwin;
+#X connect 0 0 11 0;
+#X connect 1 0 13 0;
+#X connect 2 0 15 0;
+#X connect 3 0 6 0;
+#X connect 3 1 0 0;
+#X connect 3 2 1 0;
+#X connect 3 3 2 0;
+#X connect 4 0 16 0;
+#X connect 5 0 3 0;
+#X connect 6 0 7 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 0;
+#X connect 11 0 12 0;
+#X connect 12 0 9 1;
+#X connect 13 0 14 0;
+#X connect 14 0 9 2;
+#X connect 15 0 9 3;
+#X connect 16 0 5 0;
+#X connect 19 0 20 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/04.video/04.videoRTX.pd b/packages/noncvs/windows/extra/Gem/examples/04.video/04.videoRTX.pd
index 6d71805d..be3718f2 100644
--- a/packages/noncvs/windows/extra/Gem/examples/04.video/04.videoRTX.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/04.video/04.videoRTX.pd
@@ -1,101 +1,101 @@
-#N canvas 67 70 636 509 10;
-#X obj 43 89 gemhead;
-#X obj 190 380 pix_texture;
-#X obj 43 380 pix_texture;
-#X obj 190 298 pix_rtx;
-#X msg 328 180 clear;
-#X msg 327 270 mode 1;
-#X msg 327 247 mode 0;
-#X text 380 179 clear the buffer;
-#X text 47 14 pix_rtx;
-#X text 188 14 transform the x-axis into the t-axis and vice-versa
-on the fly;
-#X text 42 447 upper-picture;
-#X text 198 448 lower-picture;
-#X text 38 465 NO transformation;
-#X text 198 467 RTX-tranformed;
-#X text 46 24 =======;
-#X text 380 248 lock time on x-axis;
-#X text 376 272 lock x on x-axis;
-#X text 495 272 (default);
-#X msg 329 211 set;
-#X text 363 213 fill the buffer with current frame;
-#X obj 43 113 pix_video;
-#X obj 190 401 translateXYZ 0 -2 0;
-#X obj 43 184 separator;
-#X obj 190 185 separator;
-#X obj 43 401 translateXYZ 0 2 0;
-#X obj 190 208 pix_separator;
-#X obj 190 422 rectangle 3 1.5;
-#X obj 43 422 rectangle 3 1.5;
-#X msg 177 96 dimen 256 128;
-#X msg 177 117 dimen 64 64;
-#X text 281 101 pix-streams to be rtx-transformed must have the same
-properties (width \, height \, colorspace) \;;
-#X obj 43 149 trigger anything anything;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 454 405 pd Gem.init;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 424 422 pd gemwin;
-#X connect 0 0 20 0;
-#X connect 1 0 21 0;
-#X connect 2 0 24 0;
-#X connect 3 0 1 0;
-#X connect 4 0 3 0;
-#X connect 5 0 3 0;
-#X connect 6 0 3 0;
-#X connect 18 0 3 0;
-#X connect 20 0 31 0;
-#X connect 21 0 26 0;
-#X connect 22 0 2 0;
-#X connect 23 0 25 0;
-#X connect 24 0 27 0;
-#X connect 25 0 3 0;
-#X connect 28 0 20 0;
-#X connect 29 0 20 0;
-#X connect 31 0 22 0;
-#X connect 31 1 23 0;
-#X connect 32 0 33 0;
+#N canvas 67 70 636 509 10;
+#X obj 43 89 gemhead;
+#X obj 190 380 pix_texture;
+#X obj 43 380 pix_texture;
+#X obj 190 298 pix_rtx;
+#X msg 328 180 clear;
+#X msg 327 270 mode 1;
+#X msg 327 247 mode 0;
+#X text 380 179 clear the buffer;
+#X text 47 14 pix_rtx;
+#X text 188 14 transform the x-axis into the t-axis and vice-versa
+on the fly;
+#X text 42 447 upper-picture;
+#X text 198 448 lower-picture;
+#X text 38 465 NO transformation;
+#X text 198 467 RTX-tranformed;
+#X text 46 24 =======;
+#X text 380 248 lock time on x-axis;
+#X text 376 272 lock x on x-axis;
+#X text 495 272 (default);
+#X msg 329 211 set;
+#X text 363 213 fill the buffer with current frame;
+#X obj 43 113 pix_video;
+#X obj 190 401 translateXYZ 0 -2 0;
+#X obj 43 184 separator;
+#X obj 190 185 separator;
+#X obj 43 401 translateXYZ 0 2 0;
+#X obj 190 208 pix_separator;
+#X obj 190 422 rectangle 3 1.5;
+#X obj 43 422 rectangle 3 1.5;
+#X msg 177 96 dimen 256 128;
+#X msg 177 117 dimen 64 64;
+#X text 281 101 pix-streams to be rtx-transformed must have the same
+properties (width \, height \, colorspace) \;;
+#X obj 43 149 trigger anything anything;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 454 405 pd Gem.init;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 424 422 pd gemwin;
+#X connect 0 0 20 0;
+#X connect 1 0 21 0;
+#X connect 2 0 24 0;
+#X connect 3 0 1 0;
+#X connect 4 0 3 0;
+#X connect 5 0 3 0;
+#X connect 6 0 3 0;
+#X connect 18 0 3 0;
+#X connect 20 0 31 0;
+#X connect 21 0 26 0;
+#X connect 22 0 2 0;
+#X connect 23 0 25 0;
+#X connect 24 0 27 0;
+#X connect 25 0 3 0;
+#X connect 28 0 20 0;
+#X connect 29 0 20 0;
+#X connect 31 0 22 0;
+#X connect 31 1 23 0;
+#X connect 32 0 33 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/04.video/05.buffer_rtx.pd b/packages/noncvs/windows/extra/Gem/examples/04.video/05.buffer_rtx.pd
index 4a29ad6c..aa08217f 100644
--- a/packages/noncvs/windows/extra/Gem/examples/04.video/05.buffer_rtx.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/04.video/05.buffer_rtx.pd
@@ -1,109 +1,109 @@
-#N canvas 109 48 758 483 10;
-#X obj 29 30 gemhead;
-#X obj 29 163 pix_video;
-#X obj 29 100 gemframebuffer;
-#X obj 29 122 translateXYZ 0 0 -4;
-#X obj 559 342 pix_texture;
-#X obj 559 410 rectangle 4 3;
-#X obj 559 315 pix_rtx;
-#X obj 29 185 pix_texture;
-#X obj 29 245 square 4;
-#X obj 159 365 pix_snap;
-#X obj 204 322 loadbang;
-#X msg 69 325 snap;
-#X obj 159 434 pix_buffer_write \$0-depot;
-#X obj 43 56 loadbang;
-#X obj 559 262 pix_buffer_read \$0-depot;
-#X obj 559 172 gemhead 51;
-#X floatatom 116 193 5 0 0 0 - - -;
-#X obj 29 215 rotateXYZ 0 0 0;
-#X msg 306 413 0;
-#X obj 362 420 pix_buffer \$0-depot 1;
-#X msg 700 241 0;
-#X text 43 11 render rotated video into buffer;
-#X text 528 148 feed the buffer into pix_rtx;
-#X obj 119 171 hsl 128 15 0 360 0 0 empty empty empty -2 -8 0 10 -262144
--1 -1 0 1;
-#X obj 159 387 trigger anything bang;
-#X text 117 155 rotate the video image;
-#X text 111 280 this is how you write to a framebuffer (pix_buffer)
-;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 547 62 pd Gem.init;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 546 79 pd gemwin;
-#X msg 204 344 256 256;
-#X msg 43 76 dimen 256 256;
-#X obj 69 305 t b a;
-#X obj 559 212 t a b;
-#X connect 0 0 2 0;
-#X connect 1 0 7 0;
-#X connect 2 0 3 0;
-#X connect 3 0 1 0;
-#X connect 4 0 5 0;
-#X connect 6 0 4 0;
-#X connect 7 0 17 0;
-#X connect 8 0 31 0;
-#X connect 9 0 24 0;
-#X connect 10 0 29 0;
-#X connect 11 0 9 0;
-#X connect 13 0 30 0;
-#X connect 14 0 6 0;
-#X connect 15 0 32 0;
-#X connect 16 0 17 3;
-#X connect 17 0 8 0;
-#X connect 18 0 12 1;
-#X connect 20 0 14 1;
-#X connect 23 0 16 0;
-#X connect 24 0 12 0;
-#X connect 24 1 18 0;
-#X connect 27 0 28 0;
-#X connect 29 0 9 2;
-#X connect 30 0 2 0;
-#X connect 31 0 11 0;
-#X connect 31 1 9 0;
-#X connect 32 0 14 0;
-#X connect 32 1 20 0;
+#N canvas 109 48 758 483 10;
+#X obj 29 30 gemhead;
+#X obj 29 163 pix_video;
+#X obj 29 100 gemframebuffer;
+#X obj 29 122 translateXYZ 0 0 -4;
+#X obj 559 342 pix_texture;
+#X obj 559 410 rectangle 4 3;
+#X obj 559 315 pix_rtx;
+#X obj 29 185 pix_texture;
+#X obj 29 245 square 4;
+#X obj 159 365 pix_snap;
+#X obj 204 322 loadbang;
+#X msg 69 325 snap;
+#X obj 159 434 pix_buffer_write \$0-depot;
+#X obj 43 56 loadbang;
+#X obj 559 262 pix_buffer_read \$0-depot;
+#X obj 559 172 gemhead 51;
+#X floatatom 116 193 5 0 0 0 - - -;
+#X obj 29 215 rotateXYZ 0 0 0;
+#X msg 306 413 0;
+#X obj 362 420 pix_buffer \$0-depot 1;
+#X msg 700 241 0;
+#X text 43 11 render rotated video into buffer;
+#X text 528 148 feed the buffer into pix_rtx;
+#X obj 119 171 hsl 128 15 0 360 0 0 empty empty empty -2 -8 0 10 -262144
+-1 -1 0 1;
+#X obj 159 387 trigger anything bang;
+#X text 117 155 rotate the video image;
+#X text 111 280 this is how you write to a framebuffer (pix_buffer)
+;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 547 62 pd Gem.init;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 546 79 pd gemwin;
+#X msg 204 344 256 256;
+#X msg 43 76 dimen 256 256;
+#X obj 69 305 t b a;
+#X obj 559 212 t a b;
+#X connect 0 0 2 0;
+#X connect 1 0 7 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 5 0;
+#X connect 6 0 4 0;
+#X connect 7 0 17 0;
+#X connect 8 0 31 0;
+#X connect 9 0 24 0;
+#X connect 10 0 29 0;
+#X connect 11 0 9 0;
+#X connect 13 0 30 0;
+#X connect 14 0 6 0;
+#X connect 15 0 32 0;
+#X connect 16 0 17 3;
+#X connect 17 0 8 0;
+#X connect 18 0 12 1;
+#X connect 20 0 14 1;
+#X connect 23 0 16 0;
+#X connect 24 0 12 0;
+#X connect 24 1 18 0;
+#X connect 27 0 28 0;
+#X connect 29 0 9 2;
+#X connect 30 0 2 0;
+#X connect 31 0 11 0;
+#X connect 31 1 9 0;
+#X connect 32 0 14 0;
+#X connect 32 1 20 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/04.video/06.frame_diff_tracking.pd b/packages/noncvs/windows/extra/Gem/examples/04.video/06.frame_diff_tracking.pd
index 3ade8da0..f7a1a2a5 100644
--- a/packages/noncvs/windows/extra/Gem/examples/04.video/06.frame_diff_tracking.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/04.video/06.frame_diff_tracking.pd
@@ -1,184 +1,184 @@
-#N canvas 42 41 639 499 10;
-#X obj 140 80 gemhead;
-#X obj 140 271 pix_diff;
-#X obj 23 397 pix_texture;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 534 15 pd gemwin;
-#X obj 23 442 rectangle 4 3;
-#X obj 140 198 pix_separator;
-#X obj 229 198 pix_separator;
-#X obj 140 134 pix_grey;
-#X obj 140 109 pix_video;
-#X obj 140 346 pix_blob;
-#N canvas 10 40 620 460 cursor 0;
-#X obj 17 14 inlet;
-#X obj 89 18 inlet;
-#X obj 101 346 translateXYZ;
-#X text 63 148 0.64;
-#X text 37 151 1;
-#X obj 23 63 t f f;
-#X obj 37 176 -;
-#X text 62 177 X-Range;
-#X text 196 176 Y-Range;
-#X obj 63 240 expr (8/$f1);
-#X obj 33 241 -;
-#X obj 51 267 *;
-#X obj 29 95 max 0;
-#X obj 71 95 min 10;
-#X obj 59 132 f;
-#X obj 33 131 f;
-#X obj 52 293 - 4;
-#X text 193 146 0.64;
-#X text 167 149 1;
-#X obj 153 61 t f f;
-#X obj 167 174 -;
-#X obj 193 238 expr (8/$f1);
-#X obj 163 239 -;
-#X obj 181 265 *;
-#X obj 159 93 max 0;
-#X obj 201 93 min 10;
-#X obj 189 130 f;
-#X obj 163 129 f;
-#X text 188 171 comment;
-#X obj 154 298 expr (-1*$f1)+4;
-#X obj 293 27 inlet;
-#X obj 94 320 gemhead 15;
-#X obj 157 509 circle 0.1;
-#X obj 17 423 separator;
-#X obj 87 423 separator;
-#X obj 17 484 rectangle 0.2 0.01;
-#X obj 157 423 separator;
-#X msg 185 478 draw line;
-#X obj 185 457 loadbang;
-#X obj 77 386 colorRGB 1 0 0 1;
-#X obj 17 462 rectangle 0.01 0.2;
-#X msg 256 478 width \$1;
-#X obj 296 342 int;
-#X obj 275 413 + 1;
-#X obj 283 63 * 100;
-#X connect 0 0 5 0;
-#X connect 1 0 19 0;
-#X connect 2 0 39 0;
-#X connect 5 0 10 0;
-#X connect 5 0 12 0;
-#X connect 5 1 13 0;
-#X connect 6 0 9 0;
-#X connect 9 0 11 1;
-#X connect 10 0 11 0;
-#X connect 11 0 16 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 6 1;
-#X connect 14 0 10 1;
-#X connect 14 0 13 1;
-#X connect 15 0 6 0;
-#X connect 15 0 12 1;
-#X connect 16 0 2 1;
-#X connect 19 0 22 0;
-#X connect 19 0 24 0;
-#X connect 19 1 25 0;
-#X connect 20 0 21 0;
-#X connect 21 0 23 1;
-#X connect 22 0 23 0;
-#X connect 23 0 29 0;
-#X connect 24 0 27 0;
-#X connect 25 0 26 0;
-#X connect 26 0 20 1;
-#X connect 26 0 22 1;
-#X connect 26 0 25 1;
-#X connect 27 0 20 0;
-#X connect 27 0 24 1;
-#X connect 29 0 2 2;
-#X connect 30 0 44 0;
-#X connect 31 0 2 0;
-#X connect 33 0 40 0;
-#X connect 34 0 35 0;
-#X connect 36 0 32 0;
-#X connect 37 0 32 0;
-#X connect 38 0 37 0;
-#X connect 39 0 33 0;
-#X connect 39 0 34 0;
-#X connect 39 0 36 0;
-#X connect 41 0 32 0;
-#X connect 42 0 43 0;
-#X connect 43 0 41 0;
-#X connect 44 0 32 1;
-#X connect 44 0 42 0;
-#X restore 154 388 pd cursor;
-#X obj 23 420 translateXYZ 0 0 -0.1;
-#X obj 140 316 pix_threshold;
-#X obj 180 294 hsl 128 15 0 1 0 1 empty empty threshold 8 8 0 10 -262130
--1 -1 900 0;
-#X obj 229 230 pix_delay 1;
-#X text 28 12 This is an example of simple video tracking using the
-difference between the current frame and the previous frame \, then
-using blob detection.;
-#X text 356 108 <-- get the video camera;
-#X text 356 133 <-- convert to grey for easier tracking;
-#X text 356 196 <-- make two copies of the frame;
-#X obj 140 165 trigger anything anything;
-#X text 356 229 <-- delay one copy by one frame;
-#X text 356 305 <-- set the threshold to filter out;
-#X text 381 281 difference between the two frames;
-#X text 356 270 <-- find the absolute value of the;
-#X text 381 316 small changes;
-#X text 356 344 <-- track the (x \, y) coordinates and size;
-#X text 380 357 of the "blob" of the difference;
-#X text 356 384 <-- render a cursor using the (x \, y) and size;
-#X text 6 460 render the video of the;
-#X text 6 472 frame difference;
-#X connect 0 0 8 0;
-#X connect 1 0 12 0;
-#X connect 2 0 11 0;
-#X connect 5 0 1 0;
-#X connect 6 0 14 0;
-#X connect 7 0 19 0;
-#X connect 8 0 7 0;
-#X connect 9 1 10 0;
-#X connect 9 2 10 1;
-#X connect 9 3 10 2;
-#X connect 11 0 4 0;
-#X connect 12 0 9 0;
-#X connect 12 0 2 0;
-#X connect 13 0 12 1;
-#X connect 14 0 1 1;
-#X connect 19 0 6 0;
-#X connect 19 1 5 0;
+#N canvas 42 41 639 499 10;
+#X obj 140 80 gemhead;
+#X obj 140 271 pix_diff;
+#X obj 23 397 pix_texture;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 534 15 pd gemwin;
+#X obj 23 442 rectangle 4 3;
+#X obj 140 198 pix_separator;
+#X obj 229 198 pix_separator;
+#X obj 140 134 pix_grey;
+#X obj 140 109 pix_video;
+#X obj 140 346 pix_blob;
+#N canvas 10 40 620 460 cursor 0;
+#X obj 17 14 inlet;
+#X obj 89 18 inlet;
+#X obj 101 346 translateXYZ;
+#X text 63 148 0.64;
+#X text 37 151 1;
+#X obj 23 63 t f f;
+#X obj 37 176 -;
+#X text 62 177 X-Range;
+#X text 196 176 Y-Range;
+#X obj 63 240 expr (8/$f1);
+#X obj 33 241 -;
+#X obj 51 267 *;
+#X obj 29 95 max 0;
+#X obj 71 95 min 10;
+#X obj 59 132 f;
+#X obj 33 131 f;
+#X obj 52 293 - 4;
+#X text 193 146 0.64;
+#X text 167 149 1;
+#X obj 153 61 t f f;
+#X obj 167 174 -;
+#X obj 193 238 expr (8/$f1);
+#X obj 163 239 -;
+#X obj 181 265 *;
+#X obj 159 93 max 0;
+#X obj 201 93 min 10;
+#X obj 189 130 f;
+#X obj 163 129 f;
+#X text 188 171 comment;
+#X obj 154 298 expr (-1*$f1)+4;
+#X obj 293 27 inlet;
+#X obj 94 320 gemhead 15;
+#X obj 157 509 circle 0.1;
+#X obj 17 423 separator;
+#X obj 87 423 separator;
+#X obj 17 484 rectangle 0.2 0.01;
+#X obj 157 423 separator;
+#X msg 185 478 draw line;
+#X obj 185 457 loadbang;
+#X obj 77 386 colorRGB 1 0 0 1;
+#X obj 17 462 rectangle 0.01 0.2;
+#X msg 256 478 width \$1;
+#X obj 296 342 int;
+#X obj 275 413 + 1;
+#X obj 283 63 * 100;
+#X connect 0 0 5 0;
+#X connect 1 0 19 0;
+#X connect 2 0 39 0;
+#X connect 5 0 10 0;
+#X connect 5 0 12 0;
+#X connect 5 1 13 0;
+#X connect 6 0 9 0;
+#X connect 9 0 11 1;
+#X connect 10 0 11 0;
+#X connect 11 0 16 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 6 1;
+#X connect 14 0 10 1;
+#X connect 14 0 13 1;
+#X connect 15 0 6 0;
+#X connect 15 0 12 1;
+#X connect 16 0 2 1;
+#X connect 19 0 22 0;
+#X connect 19 0 24 0;
+#X connect 19 1 25 0;
+#X connect 20 0 21 0;
+#X connect 21 0 23 1;
+#X connect 22 0 23 0;
+#X connect 23 0 29 0;
+#X connect 24 0 27 0;
+#X connect 25 0 26 0;
+#X connect 26 0 20 1;
+#X connect 26 0 22 1;
+#X connect 26 0 25 1;
+#X connect 27 0 20 0;
+#X connect 27 0 24 1;
+#X connect 29 0 2 2;
+#X connect 30 0 44 0;
+#X connect 31 0 2 0;
+#X connect 33 0 40 0;
+#X connect 34 0 35 0;
+#X connect 36 0 32 0;
+#X connect 37 0 32 0;
+#X connect 38 0 37 0;
+#X connect 39 0 33 0;
+#X connect 39 0 34 0;
+#X connect 39 0 36 0;
+#X connect 41 0 32 0;
+#X connect 42 0 43 0;
+#X connect 43 0 41 0;
+#X connect 44 0 32 1;
+#X connect 44 0 42 0;
+#X restore 154 388 pd cursor;
+#X obj 23 420 translateXYZ 0 0 -0.1;
+#X obj 140 316 pix_threshold;
+#X obj 180 294 hsl 128 15 0 1 0 1 empty empty threshold 8 8 0 10 -262130
+-1 -1 900 0;
+#X obj 229 230 pix_delay 1;
+#X text 28 12 This is an example of simple video tracking using the
+difference between the current frame and the previous frame \, then
+using blob detection.;
+#X text 356 108 <-- get the video camera;
+#X text 356 133 <-- convert to grey for easier tracking;
+#X text 356 196 <-- make two copies of the frame;
+#X obj 140 165 trigger anything anything;
+#X text 356 229 <-- delay one copy by one frame;
+#X text 356 305 <-- set the threshold to filter out;
+#X text 381 281 difference between the two frames;
+#X text 356 270 <-- find the absolute value of the;
+#X text 381 316 small changes;
+#X text 356 344 <-- track the (x \, y) coordinates and size;
+#X text 380 357 of the "blob" of the difference;
+#X text 356 384 <-- render a cursor using the (x \, y) and size;
+#X text 6 460 render the video of the;
+#X text 6 472 frame difference;
+#X connect 0 0 8 0;
+#X connect 1 0 12 0;
+#X connect 2 0 11 0;
+#X connect 5 0 1 0;
+#X connect 6 0 14 0;
+#X connect 7 0 19 0;
+#X connect 8 0 7 0;
+#X connect 9 1 10 0;
+#X connect 9 2 10 1;
+#X connect 9 3 10 2;
+#X connect 11 0 4 0;
+#X connect 12 0 9 0;
+#X connect 12 0 2 0;
+#X connect 13 0 12 1;
+#X connect 14 0 1 1;
+#X connect 19 0 6 0;
+#X connect 19 1 5 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/04.video/07.bg_subtract_tracking.pd b/packages/noncvs/windows/extra/Gem/examples/04.video/07.bg_subtract_tracking.pd
index 7527569e..b13fb288 100644
--- a/packages/noncvs/windows/extra/Gem/examples/04.video/07.bg_subtract_tracking.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/04.video/07.bg_subtract_tracking.pd
@@ -1,184 +1,184 @@
-#N canvas 22 22 620 460 10;
-#X obj 8 10 cnv 15 400 40 empty empty tracking_using_background_subtraction
-20 12 0 16 -228992 -66577 0;
-#X obj 179 223 pix_grey;
-#X msg 204 251 reset;
-#X obj 179 280 pix_background;
-#X msg 272 259 \$1 \$1 \$1;
-#X obj 123 316 pix_blob;
-#N canvas 10 40 620 460 cursor 0;
-#X obj 17 14 inlet;
-#X obj 89 18 inlet;
-#X obj 101 346 translateXYZ;
-#X text 63 148 0.64;
-#X text 37 151 1;
-#X obj 23 63 t f f;
-#X obj 37 176 -;
-#X text 62 177 X-Range;
-#X text 196 176 Y-Range;
-#X obj 63 240 expr (8/$f1);
-#X obj 33 241 -;
-#X obj 51 267 *;
-#X obj 29 95 max 0;
-#X obj 71 95 min 10;
-#X obj 59 132 f;
-#X obj 33 131 f;
-#X obj 52 293 - 4;
-#X text 193 146 0.64;
-#X text 167 149 1;
-#X obj 153 61 t f f;
-#X obj 167 174 -;
-#X obj 193 238 expr (8/$f1);
-#X obj 163 239 -;
-#X obj 181 265 *;
-#X obj 159 93 max 0;
-#X obj 201 93 min 10;
-#X obj 189 130 f;
-#X obj 163 129 f;
-#X text 188 171 comment;
-#X obj 154 298 expr (-1*$f1)+4;
-#X obj 293 27 inlet;
-#X obj 283 63 * 10;
-#X obj 94 320 gemhead 15;
-#X obj 157 509 circle 0.1;
-#X obj 17 423 separator;
-#X obj 87 423 separator;
-#X obj 17 484 rectangle 0.2 0.01;
-#X obj 157 423 separator;
-#X msg 185 478 draw line;
-#X obj 185 457 loadbang;
-#X obj 77 386 colorRGB 1 0 0 1;
-#X obj 17 462 rectangle 0.01 0.2;
-#X msg 256 478 width \$1;
-#X obj 296 342 int;
-#X obj 275 413 + 1;
-#X connect 0 0 5 0;
-#X connect 1 0 19 0;
-#X connect 2 0 40 0;
-#X connect 5 0 10 0;
-#X connect 5 0 12 0;
-#X connect 5 1 13 0;
-#X connect 6 0 9 0;
-#X connect 9 0 11 1;
-#X connect 10 0 11 0;
-#X connect 11 0 16 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 6 1;
-#X connect 14 0 10 1;
-#X connect 14 0 13 1;
-#X connect 15 0 6 0;
-#X connect 15 0 12 1;
-#X connect 16 0 2 1;
-#X connect 19 0 22 0;
-#X connect 19 0 24 0;
-#X connect 19 1 25 0;
-#X connect 20 0 21 0;
-#X connect 21 0 23 1;
-#X connect 22 0 23 0;
-#X connect 23 0 29 0;
-#X connect 24 0 27 0;
-#X connect 25 0 26 0;
-#X connect 26 0 20 1;
-#X connect 26 0 22 1;
-#X connect 26 0 25 1;
-#X connect 27 0 20 0;
-#X connect 27 0 24 1;
-#X connect 29 0 2 2;
-#X connect 30 0 31 0;
-#X connect 31 0 33 1;
-#X connect 31 0 43 0;
-#X connect 32 0 2 0;
-#X connect 34 0 41 0;
-#X connect 35 0 36 0;
-#X connect 37 0 33 0;
-#X connect 38 0 33 0;
-#X connect 39 0 38 0;
-#X connect 40 0 34 0;
-#X connect 40 0 35 0;
-#X connect 40 0 37 0;
-#X connect 42 0 33 0;
-#X connect 43 0 44 0;
-#X connect 44 0 42 0;
-#X restore 137 348 pd cursor;
-#X obj 392 163 separator;
-#X obj 392 184 pix_texture;
-#X obj 392 205 square 4;
-#X obj 378 368 pix_texture;
-#X obj 179 200 separator;
-#X obj 378 348 alpha;
-#X obj 378 328 colourRGB 1 1 1 0.65;
-#X obj 378 388 translateXYZ -2.4 -2.4 0;
-#X obj 378 408 square 1.5;
-#X obj 337 98 gemhead 10;
-#X obj 337 119 pix_video;
-#X text 376 309 Show pix_background output;
-#X text 136 369 Show centroid/size;
-#X text 368 257 Set noise threshold;
-#X text 391 145 Render source video;
-#X obj 275 237 hsl 128 15 0 1 0 1 empty empty empty -2 -8 0 10 -262130
--1 -1 1200 1;
-#X floatatom 331 259 5 0 0 0 - - -;
-#X text 21 64 1) make sure no one is in the camera picture;
-#X text 21 84 2) click the [reset( message;
-#X text 21 104 3) set the noise threshold for best results;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 483 25 pd gemwin;
-#X connect 1 0 3 0;
-#X connect 2 0 3 0;
-#X connect 3 0 5 0;
-#X connect 3 0 13 0;
-#X connect 4 0 3 1;
-#X connect 5 1 6 0;
-#X connect 5 2 6 1;
-#X connect 5 3 6 2;
-#X connect 7 0 8 0;
-#X connect 8 0 9 0;
-#X connect 10 0 14 0;
-#X connect 11 0 1 0;
-#X connect 12 0 10 0;
-#X connect 13 0 12 0;
-#X connect 14 0 15 0;
-#X connect 16 0 17 0;
-#X connect 17 0 7 0;
-#X connect 17 0 11 0;
-#X connect 22 0 23 0;
-#X connect 22 0 4 0;
+#N canvas 22 22 620 460 10;
+#X obj 8 10 cnv 15 400 40 empty empty tracking_using_background_subtraction
+20 12 0 16 -228992 -66577 0;
+#X obj 179 223 pix_grey;
+#X msg 204 251 reset;
+#X obj 179 280 pix_background;
+#X msg 272 259 \$1 \$1 \$1;
+#X obj 123 316 pix_blob;
+#N canvas 10 40 620 460 cursor 0;
+#X obj 17 14 inlet;
+#X obj 89 18 inlet;
+#X obj 101 346 translateXYZ;
+#X text 63 148 0.64;
+#X text 37 151 1;
+#X obj 23 63 t f f;
+#X obj 37 176 -;
+#X text 62 177 X-Range;
+#X text 196 176 Y-Range;
+#X obj 63 240 expr (8/$f1);
+#X obj 33 241 -;
+#X obj 51 267 *;
+#X obj 29 95 max 0;
+#X obj 71 95 min 10;
+#X obj 59 132 f;
+#X obj 33 131 f;
+#X obj 52 293 - 4;
+#X text 193 146 0.64;
+#X text 167 149 1;
+#X obj 153 61 t f f;
+#X obj 167 174 -;
+#X obj 193 238 expr (8/$f1);
+#X obj 163 239 -;
+#X obj 181 265 *;
+#X obj 159 93 max 0;
+#X obj 201 93 min 10;
+#X obj 189 130 f;
+#X obj 163 129 f;
+#X text 188 171 comment;
+#X obj 154 298 expr (-1*$f1)+4;
+#X obj 293 27 inlet;
+#X obj 283 63 * 10;
+#X obj 94 320 gemhead 15;
+#X obj 157 509 circle 0.1;
+#X obj 17 423 separator;
+#X obj 87 423 separator;
+#X obj 17 484 rectangle 0.2 0.01;
+#X obj 157 423 separator;
+#X msg 185 478 draw line;
+#X obj 185 457 loadbang;
+#X obj 77 386 colorRGB 1 0 0 1;
+#X obj 17 462 rectangle 0.01 0.2;
+#X msg 256 478 width \$1;
+#X obj 296 342 int;
+#X obj 275 413 + 1;
+#X connect 0 0 5 0;
+#X connect 1 0 19 0;
+#X connect 2 0 40 0;
+#X connect 5 0 10 0;
+#X connect 5 0 12 0;
+#X connect 5 1 13 0;
+#X connect 6 0 9 0;
+#X connect 9 0 11 1;
+#X connect 10 0 11 0;
+#X connect 11 0 16 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 6 1;
+#X connect 14 0 10 1;
+#X connect 14 0 13 1;
+#X connect 15 0 6 0;
+#X connect 15 0 12 1;
+#X connect 16 0 2 1;
+#X connect 19 0 22 0;
+#X connect 19 0 24 0;
+#X connect 19 1 25 0;
+#X connect 20 0 21 0;
+#X connect 21 0 23 1;
+#X connect 22 0 23 0;
+#X connect 23 0 29 0;
+#X connect 24 0 27 0;
+#X connect 25 0 26 0;
+#X connect 26 0 20 1;
+#X connect 26 0 22 1;
+#X connect 26 0 25 1;
+#X connect 27 0 20 0;
+#X connect 27 0 24 1;
+#X connect 29 0 2 2;
+#X connect 30 0 31 0;
+#X connect 31 0 33 1;
+#X connect 31 0 43 0;
+#X connect 32 0 2 0;
+#X connect 34 0 41 0;
+#X connect 35 0 36 0;
+#X connect 37 0 33 0;
+#X connect 38 0 33 0;
+#X connect 39 0 38 0;
+#X connect 40 0 34 0;
+#X connect 40 0 35 0;
+#X connect 40 0 37 0;
+#X connect 42 0 33 0;
+#X connect 43 0 44 0;
+#X connect 44 0 42 0;
+#X restore 137 348 pd cursor;
+#X obj 392 163 separator;
+#X obj 392 184 pix_texture;
+#X obj 392 205 square 4;
+#X obj 378 368 pix_texture;
+#X obj 179 200 separator;
+#X obj 378 348 alpha;
+#X obj 378 328 colourRGB 1 1 1 0.65;
+#X obj 378 388 translateXYZ -2.4 -2.4 0;
+#X obj 378 408 square 1.5;
+#X obj 337 98 gemhead 10;
+#X obj 337 119 pix_video;
+#X text 376 309 Show pix_background output;
+#X text 136 369 Show centroid/size;
+#X text 368 257 Set noise threshold;
+#X text 391 145 Render source video;
+#X obj 275 237 hsl 128 15 0 1 0 1 empty empty empty -2 -8 0 10 -262130
+-1 -1 1200 1;
+#X floatatom 331 259 5 0 0 0 - - -;
+#X text 21 64 1) make sure no one is in the camera picture;
+#X text 21 84 2) click the [reset( message;
+#X text 21 104 3) set the noise threshold for best results;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 483 25 pd gemwin;
+#X connect 1 0 3 0;
+#X connect 2 0 3 0;
+#X connect 3 0 5 0;
+#X connect 3 0 13 0;
+#X connect 4 0 3 1;
+#X connect 5 1 6 0;
+#X connect 5 2 6 1;
+#X connect 5 3 6 2;
+#X connect 7 0 8 0;
+#X connect 8 0 9 0;
+#X connect 10 0 14 0;
+#X connect 11 0 1 0;
+#X connect 12 0 10 0;
+#X connect 13 0 12 0;
+#X connect 14 0 15 0;
+#X connect 16 0 17 0;
+#X connect 17 0 7 0;
+#X connect 17 0 11 0;
+#X connect 22 0 23 0;
+#X connect 22 0 4 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/05.text/01.Text.pd b/packages/noncvs/windows/extra/Gem/examples/05.text/01.Text.pd
index 3cde23a1..6abd3a13 100644
--- a/packages/noncvs/windows/extra/Gem/examples/05.text/01.Text.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/05.text/01.Text.pd
@@ -1,120 +1,120 @@
-#N canvas 262 20 734 641 10;
-#X floatatom 623 223 0 0 0 0 - - -;
-#X floatatom 322 240 0 0 0 0 - - -;
-#X msg 490 144 1;
-#X msg 494 168 0;
-#X floatatom 694 403 0 0 0 0 - - -;
-#X floatatom 529 284 3 0 0 0 - - -;
-#X floatatom 578 222 0 0 0 0 - - -;
-#X obj 479 194 gemhead;
-#X floatatom 533 223 0 0 0 0 - - -;
-#X msg 213 155 1;
-#X msg 217 179 0;
-#X floatatom 395 478 0 0 0 0 - - -;
-#X floatatom 226 305 4 0 0 0 - - -;
-#X floatatom 279 240 0 0 0 0 - - -;
-#X obj 209 207 gemhead;
-#X floatatom 235 240 0 0 0 0 - - -;
-#X obj 208 496 text3d hello world;
-#X obj 209 386 rotate;
-#X obj 479 421 textoutline hello world;
-#X msg 279 320 0 1 0;
-#X msg 283 344 1 0 0;
-#X msg 5 449 justify right top;
-#X obj 209 281 translateXYZ;
-#X msg 532 334 justify left bottom;
-#X msg 4 422 justify center center;
-#X text 205 111 3-D polygonal text;
-#X text 480 99 3-D outline text;
-#X obj 479 308 rotateXYZ;
-#X text 401 496 size;
-#X obj 479 257 translateXYZ 0 2 0;
-#X msg 218 433 font ../data/vera.ttf;
-#X msg 515 364 font ../data/vera.ttf;
-#X msg 225 463 font \$1;
-#X msg 511 390 font \$1;
-#X obj 297 462 openpanel;
-#X msg 377 461 bang;
-#X obj 577 390 openpanel;
-#X msg 657 389 bang;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 64 238 pd Gem.init;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 34 255 pd gemwin;
-#X connect 0 0 29 3;
-#X connect 1 0 22 3;
-#X connect 2 0 7 0;
-#X connect 3 0 7 0;
-#X connect 4 0 18 1;
-#X connect 5 0 27 2;
-#X connect 6 0 29 2;
-#X connect 7 0 29 0;
-#X connect 8 0 29 1;
-#X connect 9 0 14 0;
-#X connect 10 0 14 0;
-#X connect 11 0 16 1;
-#X connect 12 0 17 1;
-#X connect 13 0 22 2;
-#X connect 14 0 22 0;
-#X connect 15 0 22 1;
-#X connect 17 0 16 0;
-#X connect 19 0 17 2;
-#X connect 20 0 17 2;
-#X connect 21 0 16 0;
-#X connect 22 0 17 0;
-#X connect 23 0 18 0;
-#X connect 24 0 16 0;
-#X connect 27 0 18 0;
-#X connect 29 0 27 0;
-#X connect 30 0 16 0;
-#X connect 31 0 18 0;
-#X connect 32 0 16 0;
-#X connect 33 0 18 0;
-#X connect 34 0 32 0;
-#X connect 35 0 34 0;
-#X connect 36 0 33 0;
-#X connect 37 0 36 0;
-#X connect 38 0 39 0;
+#N canvas 262 20 734 641 10;
+#X floatatom 623 223 0 0 0 0 - - -;
+#X floatatom 322 240 0 0 0 0 - - -;
+#X msg 490 144 1;
+#X msg 494 168 0;
+#X floatatom 694 403 0 0 0 0 - - -;
+#X floatatom 529 284 3 0 0 0 - - -;
+#X floatatom 578 222 0 0 0 0 - - -;
+#X obj 479 194 gemhead;
+#X floatatom 533 223 0 0 0 0 - - -;
+#X msg 213 155 1;
+#X msg 217 179 0;
+#X floatatom 395 478 0 0 0 0 - - -;
+#X floatatom 226 305 4 0 0 0 - - -;
+#X floatatom 279 240 0 0 0 0 - - -;
+#X obj 209 207 gemhead;
+#X floatatom 235 240 0 0 0 0 - - -;
+#X obj 208 496 text3d hello world;
+#X obj 209 386 rotate;
+#X obj 479 421 textoutline hello world;
+#X msg 279 320 0 1 0;
+#X msg 283 344 1 0 0;
+#X msg 5 449 justify right top;
+#X obj 209 281 translateXYZ;
+#X msg 532 334 justify left bottom;
+#X msg 4 422 justify center center;
+#X text 205 111 3-D polygonal text;
+#X text 480 99 3-D outline text;
+#X obj 479 308 rotateXYZ;
+#X text 401 496 size;
+#X obj 479 257 translateXYZ 0 2 0;
+#X msg 218 433 font ../data/vera.ttf;
+#X msg 515 364 font ../data/vera.ttf;
+#X msg 225 463 font \$1;
+#X msg 511 390 font \$1;
+#X obj 297 462 openpanel;
+#X msg 377 461 bang;
+#X obj 577 390 openpanel;
+#X msg 657 389 bang;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 64 238 pd Gem.init;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 34 255 pd gemwin;
+#X connect 0 0 29 3;
+#X connect 1 0 22 3;
+#X connect 2 0 7 0;
+#X connect 3 0 7 0;
+#X connect 4 0 18 1;
+#X connect 5 0 27 2;
+#X connect 6 0 29 2;
+#X connect 7 0 29 0;
+#X connect 8 0 29 1;
+#X connect 9 0 14 0;
+#X connect 10 0 14 0;
+#X connect 11 0 16 1;
+#X connect 12 0 17 1;
+#X connect 13 0 22 2;
+#X connect 14 0 22 0;
+#X connect 15 0 22 1;
+#X connect 17 0 16 0;
+#X connect 19 0 17 2;
+#X connect 20 0 17 2;
+#X connect 21 0 16 0;
+#X connect 22 0 17 0;
+#X connect 23 0 18 0;
+#X connect 24 0 16 0;
+#X connect 27 0 18 0;
+#X connect 29 0 27 0;
+#X connect 30 0 16 0;
+#X connect 31 0 18 0;
+#X connect 32 0 16 0;
+#X connect 33 0 18 0;
+#X connect 34 0 32 0;
+#X connect 35 0 34 0;
+#X connect 36 0 33 0;
+#X connect 37 0 36 0;
+#X connect 38 0 39 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/05.text/01.TextNoLoadBang.pd b/packages/noncvs/windows/extra/Gem/examples/05.text/01.TextNoLoadBang.pd
index 43bb335f..48f99cbd 100644
--- a/packages/noncvs/windows/extra/Gem/examples/05.text/01.TextNoLoadBang.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/05.text/01.TextNoLoadBang.pd
@@ -1,112 +1,112 @@
-#N canvas 262 20 734 641 10;
-#X floatatom 623 223 0 0 0 0 - - -;
-#X floatatom 322 240 0 0 0 0 - - -;
-#X msg 490 144 1;
-#X msg 494 168 0;
-#X floatatom 694 403 0 0 0 0 - - -;
-#X floatatom 529 284 3 0 0 0 - - -;
-#X floatatom 578 222 0 0 0 0 - - -;
-#X obj 479 194 gemhead;
-#X floatatom 533 223 0 0 0 0 - - -;
-#X msg 213 155 1;
-#X msg 217 179 0;
-#X floatatom 395 478 0 0 0 0 - - -;
-#X floatatom 226 305 4 0 0 0 - - -;
-#X floatatom 279 240 0 0 0 0 - - -;
-#X obj 209 207 gemhead;
-#X floatatom 235 240 0 0 0 0 - - -;
-#X obj 208 496 text3d hello world;
-#X obj 209 386 rotate;
-#X obj 479 421 textoutline hello world;
-#X msg 279 320 0 1 0;
-#X msg 283 344 1 0 0;
-#X msg 5 449 justify right top;
-#X obj 209 281 translateXYZ;
-#X msg 532 334 justify left bottom;
-#X msg 4 422 justify center center;
-#X text 205 111 3-D polygonal text;
-#X text 480 99 3-D outline text;
-#X obj 479 308 rotateXYZ;
-#X text 401 496 size;
-#X obj 479 257 translateXYZ 0 2 0;
-#X msg 218 433 font ../data/vera.ttf;
-#X msg 515 364 font ../data/vera.ttf;
-#X msg 225 463 font \$1;
-#X msg 511 390 font \$1;
-#X obj 297 462 openpanel;
-#X msg 377 461 bang;
-#X obj 577 390 openpanel;
-#X msg 657 389 bang;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 34 255 pd gemwin;
-#X connect 0 0 29 3;
-#X connect 1 0 22 3;
-#X connect 2 0 7 0;
-#X connect 3 0 7 0;
-#X connect 4 0 18 1;
-#X connect 5 0 27 2;
-#X connect 6 0 29 2;
-#X connect 7 0 29 0;
-#X connect 8 0 29 1;
-#X connect 9 0 14 0;
-#X connect 10 0 14 0;
-#X connect 11 0 16 1;
-#X connect 12 0 17 1;
-#X connect 13 0 22 2;
-#X connect 14 0 22 0;
-#X connect 15 0 22 1;
-#X connect 17 0 16 0;
-#X connect 19 0 17 2;
-#X connect 20 0 17 2;
-#X connect 21 0 16 0;
-#X connect 22 0 17 0;
-#X connect 23 0 18 0;
-#X connect 24 0 16 0;
-#X connect 27 0 18 0;
-#X connect 29 0 27 0;
-#X connect 30 0 16 0;
-#X connect 31 0 18 0;
-#X connect 32 0 16 0;
-#X connect 33 0 18 0;
-#X connect 34 0 32 0;
-#X connect 35 0 34 0;
-#X connect 36 0 33 0;
-#X connect 37 0 36 0;
+#N canvas 262 20 734 641 10;
+#X floatatom 623 223 0 0 0 0 - - -;
+#X floatatom 322 240 0 0 0 0 - - -;
+#X msg 490 144 1;
+#X msg 494 168 0;
+#X floatatom 694 403 0 0 0 0 - - -;
+#X floatatom 529 284 3 0 0 0 - - -;
+#X floatatom 578 222 0 0 0 0 - - -;
+#X obj 479 194 gemhead;
+#X floatatom 533 223 0 0 0 0 - - -;
+#X msg 213 155 1;
+#X msg 217 179 0;
+#X floatatom 395 478 0 0 0 0 - - -;
+#X floatatom 226 305 4 0 0 0 - - -;
+#X floatatom 279 240 0 0 0 0 - - -;
+#X obj 209 207 gemhead;
+#X floatatom 235 240 0 0 0 0 - - -;
+#X obj 208 496 text3d hello world;
+#X obj 209 386 rotate;
+#X obj 479 421 textoutline hello world;
+#X msg 279 320 0 1 0;
+#X msg 283 344 1 0 0;
+#X msg 5 449 justify right top;
+#X obj 209 281 translateXYZ;
+#X msg 532 334 justify left bottom;
+#X msg 4 422 justify center center;
+#X text 205 111 3-D polygonal text;
+#X text 480 99 3-D outline text;
+#X obj 479 308 rotateXYZ;
+#X text 401 496 size;
+#X obj 479 257 translateXYZ 0 2 0;
+#X msg 218 433 font ../data/vera.ttf;
+#X msg 515 364 font ../data/vera.ttf;
+#X msg 225 463 font \$1;
+#X msg 511 390 font \$1;
+#X obj 297 462 openpanel;
+#X msg 377 461 bang;
+#X obj 577 390 openpanel;
+#X msg 657 389 bang;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 34 255 pd gemwin;
+#X connect 0 0 29 3;
+#X connect 1 0 22 3;
+#X connect 2 0 7 0;
+#X connect 3 0 7 0;
+#X connect 4 0 18 1;
+#X connect 5 0 27 2;
+#X connect 6 0 29 2;
+#X connect 7 0 29 0;
+#X connect 8 0 29 1;
+#X connect 9 0 14 0;
+#X connect 10 0 14 0;
+#X connect 11 0 16 1;
+#X connect 12 0 17 1;
+#X connect 13 0 22 2;
+#X connect 14 0 22 0;
+#X connect 15 0 22 1;
+#X connect 17 0 16 0;
+#X connect 19 0 17 2;
+#X connect 20 0 17 2;
+#X connect 21 0 16 0;
+#X connect 22 0 17 0;
+#X connect 23 0 18 0;
+#X connect 24 0 16 0;
+#X connect 27 0 18 0;
+#X connect 29 0 27 0;
+#X connect 30 0 16 0;
+#X connect 31 0 18 0;
+#X connect 32 0 16 0;
+#X connect 33 0 18 0;
+#X connect 34 0 32 0;
+#X connect 35 0 34 0;
+#X connect 36 0 33 0;
+#X connect 37 0 36 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/05.text/03.ChangeText.pd b/packages/noncvs/windows/extra/Gem/examples/05.text/03.ChangeText.pd
index e93314eb..ebaa2742 100644
--- a/packages/noncvs/windows/extra/Gem/examples/05.text/03.ChangeText.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/05.text/03.ChangeText.pd
@@ -1,102 +1,102 @@
-#N canvas 262 100 734 532 10;
-#X floatatom 495 359 0 0 0 0 - - -;
-#X obj 451 243 gemhead;
-#X obj 451 484 text3d hello world;
-#X text 354 25 3-D polygonal text;
-#X msg 240 303 text something really cool;
-#X msg 222 275 text bar;
-#X msg 188 248 text foo;
-#X msg 141 225 text and now with 1 4.5;
-#X obj 201 180 sel 0 1 2 3 4;
-#X msg 216 50 1;
-#X msg 250 50 0;
-#X obj 216 111 metro 250;
-#X obj 216 142 random 7;
-#X msg 262 342 text good bye again;
-#X msg 324 267 text rand \$1;
-#X obj 451 270 translateXYZ 0 0 -3.5;
-#X obj 495 298 metro 20;
-#X obj 451 397 rotateXYZ;
-#X obj 497 439 loadbang;
-#X obj 495 321 i;
-#X obj 527 321 + 1;
-#X obj 557 321 % 360;
-#X obj 216 79 t f;
-#X msg 497 461 font ../data/vera.ttf;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 64 345 pd Gem.init;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 34 362 pd gemwin;
-#X connect 0 0 17 2;
-#X connect 1 0 15 0;
-#X connect 4 0 2 0;
-#X connect 5 0 2 0;
-#X connect 6 0 2 0;
-#X connect 7 0 2 0;
-#X connect 8 0 7 0;
-#X connect 8 1 6 0;
-#X connect 8 2 5 0;
-#X connect 8 3 4 0;
-#X connect 8 4 13 0;
-#X connect 8 5 14 0;
-#X connect 9 0 22 0;
-#X connect 10 0 22 0;
-#X connect 11 0 12 0;
-#X connect 12 0 8 0;
-#X connect 13 0 2 0;
-#X connect 14 0 2 0;
-#X connect 15 0 17 0;
-#X connect 16 0 19 0;
-#X connect 17 0 2 0;
-#X connect 18 0 23 0;
-#X connect 19 0 20 0;
-#X connect 19 0 0 0;
-#X connect 20 0 21 0;
-#X connect 21 0 19 1;
-#X connect 22 0 11 0;
-#X connect 22 0 16 0;
-#X connect 23 0 2 0;
-#X connect 24 0 25 0;
+#N canvas 262 100 734 532 10;
+#X floatatom 495 359 0 0 0 0 - - -;
+#X obj 451 243 gemhead;
+#X obj 451 484 text3d hello world;
+#X text 354 25 3-D polygonal text;
+#X msg 240 303 text something really cool;
+#X msg 222 275 text bar;
+#X msg 188 248 text foo;
+#X msg 141 225 text and now with 1 4.5;
+#X obj 201 180 sel 0 1 2 3 4;
+#X msg 216 50 1;
+#X msg 250 50 0;
+#X obj 216 111 metro 250;
+#X obj 216 142 random 7;
+#X msg 262 342 text good bye again;
+#X msg 324 267 text rand \$1;
+#X obj 451 270 translateXYZ 0 0 -3.5;
+#X obj 495 298 metro 20;
+#X obj 451 397 rotateXYZ;
+#X obj 497 439 loadbang;
+#X obj 495 321 i;
+#X obj 527 321 + 1;
+#X obj 557 321 % 360;
+#X obj 216 79 t f;
+#X msg 497 461 font ../data/vera.ttf;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 64 345 pd Gem.init;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 34 362 pd gemwin;
+#X connect 0 0 17 2;
+#X connect 1 0 15 0;
+#X connect 4 0 2 0;
+#X connect 5 0 2 0;
+#X connect 6 0 2 0;
+#X connect 7 0 2 0;
+#X connect 8 0 7 0;
+#X connect 8 1 6 0;
+#X connect 8 2 5 0;
+#X connect 8 3 4 0;
+#X connect 8 4 13 0;
+#X connect 8 5 14 0;
+#X connect 9 0 22 0;
+#X connect 10 0 22 0;
+#X connect 11 0 12 0;
+#X connect 12 0 8 0;
+#X connect 13 0 2 0;
+#X connect 14 0 2 0;
+#X connect 15 0 17 0;
+#X connect 16 0 19 0;
+#X connect 17 0 2 0;
+#X connect 18 0 23 0;
+#X connect 19 0 20 0;
+#X connect 19 0 0 0;
+#X connect 20 0 21 0;
+#X connect 21 0 19 1;
+#X connect 22 0 11 0;
+#X connect 22 0 16 0;
+#X connect 23 0 2 0;
+#X connect 24 0 25 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/05.text/03.ChangeTextNoLoadBang.pd b/packages/noncvs/windows/extra/Gem/examples/05.text/03.ChangeTextNoLoadBang.pd
index bb017246..770cb732 100644
--- a/packages/noncvs/windows/extra/Gem/examples/05.text/03.ChangeTextNoLoadBang.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/05.text/03.ChangeTextNoLoadBang.pd
@@ -1,92 +1,92 @@
-#N canvas 262 100 734 532 10;
-#X floatatom 495 359 0 0 0 0 - - -;
-#X obj 451 243 gemhead;
-#X obj 451 484 text3d hello world;
-#X text 354 25 3-D polygonal text;
-#X msg 240 303 text something really cool;
-#X msg 222 275 text bar;
-#X msg 188 248 text foo;
-#X msg 141 225 text and now with 1 4.5;
-#X obj 201 180 sel 0 1 2 3 4;
-#X msg 179 44 1;
-#X msg 216 43 0;
-#X obj 216 107 metro 250;
-#X obj 216 142 random 7;
-#X msg 262 342 text good bye again;
-#X msg 324 267 text rand \$1;
-#X obj 451 270 translateXYZ 0 0 -3.5;
-#X obj 495 298 metro 20;
-#X obj 451 397 rotateXYZ;
-#X msg 497 461 font ../data/vera.ttf;
-#X obj 216 85 t f;
-#X obj 495 327 i;
-#X obj 526 327 + 1;
-#X obj 556 327 % 360;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 34 255 pd gemwin;
-#X connect 0 0 17 2;
-#X connect 1 0 15 0;
-#X connect 4 0 2 0;
-#X connect 5 0 2 0;
-#X connect 6 0 2 0;
-#X connect 7 0 2 0;
-#X connect 8 0 7 0;
-#X connect 8 1 6 0;
-#X connect 8 2 5 0;
-#X connect 8 3 4 0;
-#X connect 8 4 13 0;
-#X connect 8 5 14 0;
-#X connect 9 0 19 0;
-#X connect 10 0 19 0;
-#X connect 11 0 12 0;
-#X connect 12 0 8 0;
-#X connect 13 0 2 0;
-#X connect 14 0 2 0;
-#X connect 15 0 17 0;
-#X connect 16 0 20 0;
-#X connect 17 0 2 0;
-#X connect 18 0 2 0;
-#X connect 19 0 11 0;
-#X connect 19 0 16 0;
-#X connect 20 0 21 0;
-#X connect 20 0 0 0;
-#X connect 21 0 22 0;
-#X connect 22 0 20 1;
+#N canvas 262 100 734 532 10;
+#X floatatom 495 359 0 0 0 0 - - -;
+#X obj 451 243 gemhead;
+#X obj 451 484 text3d hello world;
+#X text 354 25 3-D polygonal text;
+#X msg 240 303 text something really cool;
+#X msg 222 275 text bar;
+#X msg 188 248 text foo;
+#X msg 141 225 text and now with 1 4.5;
+#X obj 201 180 sel 0 1 2 3 4;
+#X msg 179 44 1;
+#X msg 216 43 0;
+#X obj 216 107 metro 250;
+#X obj 216 142 random 7;
+#X msg 262 342 text good bye again;
+#X msg 324 267 text rand \$1;
+#X obj 451 270 translateXYZ 0 0 -3.5;
+#X obj 495 298 metro 20;
+#X obj 451 397 rotateXYZ;
+#X msg 497 461 font ../data/vera.ttf;
+#X obj 216 85 t f;
+#X obj 495 327 i;
+#X obj 526 327 + 1;
+#X obj 556 327 % 360;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 34 255 pd gemwin;
+#X connect 0 0 17 2;
+#X connect 1 0 15 0;
+#X connect 4 0 2 0;
+#X connect 5 0 2 0;
+#X connect 6 0 2 0;
+#X connect 7 0 2 0;
+#X connect 8 0 7 0;
+#X connect 8 1 6 0;
+#X connect 8 2 5 0;
+#X connect 8 3 4 0;
+#X connect 8 4 13 0;
+#X connect 8 5 14 0;
+#X connect 9 0 19 0;
+#X connect 10 0 19 0;
+#X connect 11 0 12 0;
+#X connect 12 0 8 0;
+#X connect 13 0 2 0;
+#X connect 14 0 2 0;
+#X connect 15 0 17 0;
+#X connect 16 0 20 0;
+#X connect 17 0 2 0;
+#X connect 18 0 2 0;
+#X connect 19 0 11 0;
+#X connect 19 0 16 0;
+#X connect 20 0 21 0;
+#X connect 20 0 0 0;
+#X connect 21 0 22 0;
+#X connect 22 0 20 1;
diff --git a/packages/noncvs/windows/extra/Gem/examples/06.particle/01.simple.pd b/packages/noncvs/windows/extra/Gem/examples/06.particle/01.simple.pd
index a6182737..088b444d 100644
--- a/packages/noncvs/windows/extra/Gem/examples/06.particle/01.simple.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/06.particle/01.simple.pd
@@ -1,69 +1,69 @@
-#N canvas 509 196 487 398 10;
-#X obj 167 160 gemhead;
-#X obj 167 192 part_head;
-#X obj 167 328 part_draw;
-#X text 277 258 set the number per frame;
-#X text 291 290 set the age to kill at;
-#X text 296 110 the velocity domain;
-#X text 295 125 a sphere at 0 \, 0.2 \, 0;
-#X text 296 144 radius = 0.3;
-#X msg 271 170 0 0.2 0 0.3;
-#X msg 358 169 0.2 0 0 0.3;
-#X obj 167 228 part_velocity sphere 0 0.2 0 0.3;
-#X obj 167 261 part_source 20;
-#X obj 167 292 part_killold 50;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 67 48 pd Gem.init;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 37 65 pd gemwin;
-#X connect 0 0 1 0;
-#X connect 1 0 10 0;
-#X connect 8 0 10 2;
-#X connect 9 0 10 2;
-#X connect 10 0 11 0;
-#X connect 11 0 12 0;
-#X connect 12 0 2 0;
-#X connect 13 0 14 0;
+#N canvas 509 196 487 398 10;
+#X obj 167 160 gemhead;
+#X obj 167 192 part_head;
+#X obj 167 328 part_draw;
+#X text 277 258 set the number per frame;
+#X text 291 290 set the age to kill at;
+#X text 296 110 the velocity domain;
+#X text 295 125 a sphere at 0 \, 0.2 \, 0;
+#X text 296 144 radius = 0.3;
+#X msg 271 170 0 0.2 0 0.3;
+#X msg 358 169 0.2 0 0 0.3;
+#X obj 167 228 part_velocity sphere 0 0.2 0 0.3;
+#X obj 167 261 part_source 20;
+#X obj 167 292 part_killold 50;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 67 48 pd Gem.init;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 37 65 pd gemwin;
+#X connect 0 0 1 0;
+#X connect 1 0 10 0;
+#X connect 8 0 10 2;
+#X connect 9 0 10 2;
+#X connect 10 0 11 0;
+#X connect 11 0 12 0;
+#X connect 12 0 2 0;
+#X connect 13 0 14 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/06.particle/02.fountain.pd b/packages/noncvs/windows/extra/Gem/examples/06.particle/02.fountain.pd
index a12a37dc..6e572d10 100644
--- a/packages/noncvs/windows/extra/Gem/examples/06.particle/02.fountain.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/06.particle/02.fountain.pd
@@ -1,86 +1,86 @@
-#N canvas 396 160 600 500 10;
-#X obj 198 50 gemhead;
-#X obj 198 82 part_head;
-#X obj 198 136 part_color;
-#X obj 198 447 part_draw;
-#X msg 335 69 0 1 0;
-#X text 329 37 set the color range;
-#X obj 198 174 part_size 1;
-#X text 299 126 set the size;
-#X obj 198 331 part_gravity 0 -0.01 0;
-#X obj 198 206 part_velocity sphere 0 0.2 0 0.2;
-#X text 310 269 set the number per frame;
-#X text 310 378 set the age to kill at;
-#X text 366 327 gravity to affect the particles;
-#X text 428 174 the velocity domain;
-#X text 426 191 a sphere at 0 \, 0.2 \, 0;
-#X msg 219 413 draw line;
-#X msg 298 413 draw point;
-#X msg 309 151 2;
-#X msg 393 69 1 0 0;
-#X obj 198 270 part_source 25;
-#X obj 198 381 part_killold 45;
-#X text 426 208 radius = 0.2;
-#X msg 126 51 speed 0.1;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 64 159 pd Gem.init;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 34 176 pd gemwin;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X connect 2 0 6 0;
-#X connect 4 0 2 1;
-#X connect 6 0 9 0;
-#X connect 8 0 20 0;
-#X connect 9 0 19 0;
-#X connect 15 0 3 0;
-#X connect 16 0 3 0;
-#X connect 17 0 6 1;
-#X connect 18 0 2 2;
-#X connect 19 0 8 0;
-#X connect 20 0 3 0;
-#X connect 22 0 1 0;
-#X connect 23 0 24 0;
+#N canvas 396 160 600 500 10;
+#X obj 198 50 gemhead;
+#X obj 198 82 part_head;
+#X obj 198 136 part_color;
+#X obj 198 447 part_draw;
+#X msg 335 69 0 1 0;
+#X text 329 37 set the color range;
+#X obj 198 174 part_size 1;
+#X text 299 126 set the size;
+#X obj 198 331 part_gravity 0 -0.01 0;
+#X obj 198 206 part_velocity sphere 0 0.2 0 0.2;
+#X text 310 269 set the number per frame;
+#X text 310 378 set the age to kill at;
+#X text 366 327 gravity to affect the particles;
+#X text 428 174 the velocity domain;
+#X text 426 191 a sphere at 0 \, 0.2 \, 0;
+#X msg 219 413 draw line;
+#X msg 298 413 draw point;
+#X msg 309 151 2;
+#X msg 393 69 1 0 0;
+#X obj 198 270 part_source 25;
+#X obj 198 381 part_killold 45;
+#X text 426 208 radius = 0.2;
+#X msg 126 51 speed 0.1;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 64 159 pd Gem.init;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 34 176 pd gemwin;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 2 0 6 0;
+#X connect 4 0 2 1;
+#X connect 6 0 9 0;
+#X connect 8 0 20 0;
+#X connect 9 0 19 0;
+#X connect 15 0 3 0;
+#X connect 16 0 3 0;
+#X connect 17 0 6 1;
+#X connect 18 0 2 2;
+#X connect 19 0 8 0;
+#X connect 20 0 3 0;
+#X connect 22 0 1 0;
+#X connect 23 0 24 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/06.particle/03.orbit.pd b/packages/noncvs/windows/extra/Gem/examples/06.particle/03.orbit.pd
index 2791db1a..3da375ab 100644
--- a/packages/noncvs/windows/extra/Gem/examples/06.particle/03.orbit.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/06.particle/03.orbit.pd
@@ -1,88 +1,88 @@
-#N canvas 396 160 600 500 10;
-#X obj 198 50 gemhead;
-#X obj 198 82 part_head;
-#X obj 198 136 part_color;
-#X obj 198 447 part_draw;
-#X text 329 37 set the color range;
-#X text 299 174 set the size;
-#X text 310 269 set the number per frame;
-#X text 310 378 set the age to kill at;
-#X text 414 196 the velocity domain;
-#X msg 219 413 draw line;
-#X msg 298 413 draw point;
-#X obj 198 270 part_source 25;
-#X obj 198 381 part_killold 45;
-#X text 412 230 radius = 0.2;
-#X msg 336 97 1 0 1;
-#X msg 396 98 0 1 0;
-#X obj 198 220 part_velocity sphere 0 0 0 0.2;
-#X floatatom 375 301 0 0 0 0 - - -;
-#X obj 198 334 part_orbitpoint 0 1 0 0.08;
-#X text 390 333 orbit point and gravity;
-#X obj 198 174 part_size 0.4;
-#X obj 360 61 loadbang;
-#X text 411 213 a sphere at 0 0 0;
-#X text 415 299 keep the gravity low;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 64 238 pd Gem.init;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 34 255 pd gemwin;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X connect 2 0 20 0;
-#X connect 9 0 3 0;
-#X connect 10 0 3 0;
-#X connect 11 0 18 0;
-#X connect 12 0 3 0;
-#X connect 14 0 2 1;
-#X connect 15 0 2 2;
-#X connect 16 0 11 0;
-#X connect 17 0 18 2;
-#X connect 18 0 12 0;
-#X connect 20 0 16 0;
-#X connect 21 0 15 0;
-#X connect 21 0 14 0;
-#X connect 24 0 25 0;
+#N canvas 396 160 600 500 10;
+#X obj 198 50 gemhead;
+#X obj 198 82 part_head;
+#X obj 198 136 part_color;
+#X obj 198 447 part_draw;
+#X text 329 37 set the color range;
+#X text 299 174 set the size;
+#X text 310 269 set the number per frame;
+#X text 310 378 set the age to kill at;
+#X text 414 196 the velocity domain;
+#X msg 219 413 draw line;
+#X msg 298 413 draw point;
+#X obj 198 270 part_source 25;
+#X obj 198 381 part_killold 45;
+#X text 412 230 radius = 0.2;
+#X msg 336 97 1 0 1;
+#X msg 396 98 0 1 0;
+#X obj 198 220 part_velocity sphere 0 0 0 0.2;
+#X floatatom 375 301 0 0 0 0 - - -;
+#X obj 198 334 part_orbitpoint 0 1 0 0.08;
+#X text 390 333 orbit point and gravity;
+#X obj 198 174 part_size 0.4;
+#X obj 360 61 loadbang;
+#X text 411 213 a sphere at 0 0 0;
+#X text 415 299 keep the gravity low;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 64 238 pd Gem.init;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 34 255 pd gemwin;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 2 0 20 0;
+#X connect 9 0 3 0;
+#X connect 10 0 3 0;
+#X connect 11 0 18 0;
+#X connect 12 0 3 0;
+#X connect 14 0 2 1;
+#X connect 15 0 2 2;
+#X connect 16 0 11 0;
+#X connect 17 0 18 2;
+#X connect 18 0 12 0;
+#X connect 20 0 16 0;
+#X connect 21 0 15 0;
+#X connect 21 0 14 0;
+#X connect 24 0 25 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/06.particle/04.combo.pd b/packages/noncvs/windows/extra/Gem/examples/06.particle/04.combo.pd
index 37d9afd1..f1675b42 100644
--- a/packages/noncvs/windows/extra/Gem/examples/06.particle/04.combo.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/06.particle/04.combo.pd
@@ -1,104 +1,104 @@
-#N canvas 125 39 600 634 10;
-#X obj 41 197 gemwin;
-#X msg 41 39 create;
-#X msg 58 68 destroy;
-#X obj 198 39 gemhead;
-#X obj 198 136 part_color;
-#X obj 198 615 part_draw;
-#X text 391 35 set the color range;
-#X text 309 174 set the size;
-#X text 330 269 set the number per frame;
-#X text 330 458 set the age to kill at;
-#X text 464 196 the velocity domain;
-#X text 462 230 radius = 0.2;
-#X floatatom 382 383 0 0 0 0 - - -;
-#X text 420 413 orbit point and gravity;
-#X obj 422 59 loadbang;
-#X text 426 384 keep the gravity low;
-#X obj 198 461 part_killold 35;
-#X msg 398 95 0 0 1;
-#X obj 198 174 part_size 0.8;
-#X text 461 214 a sphere at -1 0 0;
-#X text 373 300 apply a gravity to the right;
-#X msg 85 357 0 1 0;
-#X msg 143 357 0 -1 0;
-#X obj 198 305 part_gravity 0.07 0 0;
-#X obj 198 579 translateXYZ -1 0.5 0;
-#X obj 198 544 rotateXYZ 0 1 0;
-#X floatatom 20 442 0 0 0 0 - - -;
-#X obj 198 414 part_orbitpoint 0 -1 0 0.88;
-#X obj 198 497 part_gravity 0 0 -0.05;
-#X obj 198 220 part_velocity sphere -1 0 0 0.05;
-#X msg 458 96 1 0 0;
-#X text 390 498 apply a gravity in Z;
-#X obj 85 290 metro 2000;
-#X obj 20 290 metro 50;
-#X obj 198 82 part_head 2000;
-#X text 204 60 maximum of 2000 particles;
-#X obj 198 276 part_source 10;
-#N canvas 91 174 290 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 90 175 pd Gem.init;
-#X obj 79 104 tgl 40 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X obj 55 249 t f f;
-#X obj 20 403 i;
-#X obj 51 403 + 1;
-#X obj 81 403 % 360;
-#X obj 79 149 t f f;
-#N canvas 0 0 450 300 alternate 0;
-#X obj 82 126 inlet;
-#X obj 82 239 outlet;
-#X obj 82 192 select 0 1;
-#X obj 145 239 outlet;
-#X obj 82 147 i;
-#X obj 117 146 == 0;
-#X obj 82 167 t f f;
-#X connect 0 0 4 0;
-#X connect 2 0 1 0;
-#X connect 2 1 3 0;
-#X connect 4 0 6 0;
-#X connect 5 0 4 1;
-#X connect 6 0 2 0;
-#X connect 6 1 5 0;
-#X restore 85 327 pd alternate;
-#X connect 1 0 0 0;
-#X connect 2 0 0 0;
-#X connect 3 0 34 0;
-#X connect 4 0 18 0;
-#X connect 12 0 27 2;
-#X connect 14 0 30 0;
-#X connect 14 0 17 0;
-#X connect 16 0 28 0;
-#X connect 17 0 4 1;
-#X connect 18 0 29 0;
-#X connect 21 0 27 1;
-#X connect 22 0 27 1;
-#X connect 23 0 27 0;
-#X connect 24 0 5 0;
-#X connect 25 0 24 0;
-#X connect 26 0 25 2;
-#X connect 27 0 16 0;
-#X connect 28 0 25 0;
-#X connect 29 0 36 0;
-#X connect 30 0 4 2;
-#X connect 32 0 44 0;
-#X connect 33 0 40 0;
-#X connect 34 0 4 0;
-#X connect 36 0 23 0;
-#X connect 37 0 0 0;
-#X connect 38 0 43 0;
-#X connect 39 0 33 0;
-#X connect 39 1 32 0;
-#X connect 40 0 41 0;
-#X connect 40 0 26 0;
-#X connect 41 0 42 0;
-#X connect 42 0 40 1;
-#X connect 43 0 0 0;
-#X connect 43 1 39 0;
-#X connect 44 0 21 0;
-#X connect 44 1 22 0;
+#N canvas 125 39 600 634 10;
+#X obj 41 197 gemwin;
+#X msg 41 39 create;
+#X msg 58 68 destroy;
+#X obj 198 39 gemhead;
+#X obj 198 136 part_color;
+#X obj 198 615 part_draw;
+#X text 391 35 set the color range;
+#X text 309 174 set the size;
+#X text 330 269 set the number per frame;
+#X text 330 458 set the age to kill at;
+#X text 464 196 the velocity domain;
+#X text 462 230 radius = 0.2;
+#X floatatom 382 383 0 0 0 0 - - -;
+#X text 420 413 orbit point and gravity;
+#X obj 422 59 loadbang;
+#X text 426 384 keep the gravity low;
+#X obj 198 461 part_killold 35;
+#X msg 398 95 0 0 1;
+#X obj 198 174 part_size 0.8;
+#X text 461 214 a sphere at -1 0 0;
+#X text 373 300 apply a gravity to the right;
+#X msg 85 357 0 1 0;
+#X msg 143 357 0 -1 0;
+#X obj 198 305 part_gravity 0.07 0 0;
+#X obj 198 579 translateXYZ -1 0.5 0;
+#X obj 198 544 rotateXYZ 0 1 0;
+#X floatatom 20 442 0 0 0 0 - - -;
+#X obj 198 414 part_orbitpoint 0 -1 0 0.88;
+#X obj 198 497 part_gravity 0 0 -0.05;
+#X obj 198 220 part_velocity sphere -1 0 0 0.05;
+#X msg 458 96 1 0 0;
+#X text 390 498 apply a gravity in Z;
+#X obj 85 290 metro 2000;
+#X obj 20 290 metro 50;
+#X obj 198 82 part_head 2000;
+#X text 204 60 maximum of 2000 particles;
+#X obj 198 276 part_source 10;
+#N canvas 91 174 290 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 90 175 pd Gem.init;
+#X obj 79 104 tgl 40 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 55 249 t f f;
+#X obj 20 403 i;
+#X obj 51 403 + 1;
+#X obj 81 403 % 360;
+#X obj 79 149 t f f;
+#N canvas 0 0 450 300 alternate 0;
+#X obj 82 126 inlet;
+#X obj 82 239 outlet;
+#X obj 82 192 select 0 1;
+#X obj 145 239 outlet;
+#X obj 82 147 i;
+#X obj 117 146 == 0;
+#X obj 82 167 t f f;
+#X connect 0 0 4 0;
+#X connect 2 0 1 0;
+#X connect 2 1 3 0;
+#X connect 4 0 6 0;
+#X connect 5 0 4 1;
+#X connect 6 0 2 0;
+#X connect 6 1 5 0;
+#X restore 85 327 pd alternate;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 3 0 34 0;
+#X connect 4 0 18 0;
+#X connect 12 0 27 2;
+#X connect 14 0 30 0;
+#X connect 14 0 17 0;
+#X connect 16 0 28 0;
+#X connect 17 0 4 1;
+#X connect 18 0 29 0;
+#X connect 21 0 27 1;
+#X connect 22 0 27 1;
+#X connect 23 0 27 0;
+#X connect 24 0 5 0;
+#X connect 25 0 24 0;
+#X connect 26 0 25 2;
+#X connect 27 0 16 0;
+#X connect 28 0 25 0;
+#X connect 29 0 36 0;
+#X connect 30 0 4 2;
+#X connect 32 0 44 0;
+#X connect 33 0 40 0;
+#X connect 34 0 4 0;
+#X connect 36 0 23 0;
+#X connect 37 0 0 0;
+#X connect 38 0 43 0;
+#X connect 39 0 33 0;
+#X connect 39 1 32 0;
+#X connect 40 0 41 0;
+#X connect 40 0 26 0;
+#X connect 41 0 42 0;
+#X connect 42 0 40 1;
+#X connect 43 0 0 0;
+#X connect 43 1 39 0;
+#X connect 44 0 21 0;
+#X connect 44 1 22 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/06.particle/05.twoSrc.pd b/packages/noncvs/windows/extra/Gem/examples/06.particle/05.twoSrc.pd
index 5884f753..1bd22afc 100644
--- a/packages/noncvs/windows/extra/Gem/examples/06.particle/05.twoSrc.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/06.particle/05.twoSrc.pd
@@ -1,173 +1,173 @@
-#N canvas 336 24 600 774 10;
-#X obj 198 50 gemhead;
-#X obj 198 82 part_head;
-#X obj 198 136 part_color;
-#X obj 198 620 part_draw;
-#X text 329 37 set the color range;
-#X text 299 174 set the size;
-#X text 310 269 set the number per frame;
-#X text 321 588 set the age to kill at;
-#X text 444 196 the velocity domain;
-#X text 442 230 radius = 0.2;
-#X obj 360 61 loadbang;
-#X obj 198 586 part_killold 35;
-#X obj 198 174 part_size 0.8;
-#X text 441 214 a sphere at -1 0 0;
-#X text 361 318 apply a gravity to the right;
-#X obj 198 317 part_gravity 0.07 0 0;
-#X obj 198 461 part_color;
-#X obj 251 383 loadbang;
-#X msg 275 421 0.4 0.4 0.4;
-#X msg 227 420 1 0 0;
-#X obj 198 277 part_source 5;
-#X obj 198 497 part_source 5;
-#X obj 198 537 part_gravity -0.01 -0.02 0;
-#X obj 198 352 part_velocity sphere 0 0.2 0 0.05;
-#X msg 324 96 0.4 0.4 0.4;
-#X msg 423 96 0 1 0;
-#X obj 198 220 part_velocity sphere -0.2 0 0 0.1;
-#X obj 375 419 metro 1000;
-#N canvas 0 22 450 300 tripleRand 0;
-#X obj 94 71 inlet;
-#X obj 94 252 outlet;
-#X obj 94 221 pack 0 0 0;
-#X obj 94 104 t b b b;
-#X obj 94 134 random 1000;
-#X obj 94 154 / 1000;
-#X obj 94 175 * 0.1;
-#X obj 194 134 random 1000;
-#X obj 194 154 / 1000;
-#X obj 294 134 random 1000;
-#X obj 294 154 / 1000;
-#X obj 194 175 * 0.2;
-#X obj 294 175 * 0;
-#X connect 0 0 3 0;
-#X connect 2 0 1 0;
-#X connect 3 0 4 0;
-#X connect 3 1 7 0;
-#X connect 3 2 9 0;
-#X connect 4 0 5 0;
-#X connect 5 0 6 0;
-#X connect 6 0 2 0;
-#X connect 7 0 8 0;
-#X connect 8 0 11 0;
-#X connect 9 0 10 0;
-#X connect 10 0 12 0;
-#X connect 11 0 2 1;
-#X connect 12 0 2 2;
-#X restore 375 453 pd tripleRand (0.1 0.2 0);
-#N canvas 0 22 450 300 v* 0;
-#X obj 90 62 unpack 0 0 0;
-#X obj 90 42 inlet;
-#X obj 90 137 pack 0 0 0;
-#X obj 90 156 outlet;
-#X obj 90 90 * -1;
-#X obj 127 110 * -1;
-#X obj 165 90 * -1;
-#X connect 0 0 4 0;
-#X connect 0 1 5 0;
-#X connect 0 2 6 0;
-#X connect 1 0 0 0;
-#X connect 2 0 3 0;
-#X connect 4 0 2 0;
-#X connect 5 0 2 1;
-#X connect 6 0 2 2;
-#X restore 375 483 pd v* (-1);
-#N canvas 0 22 450 300 tripleLine 0;
-#X obj 94 71 inlet;
-#X obj 94 252 outlet;
-#X obj 94 104 unpack 0 0 0;
-#X obj 94 221 pack 0 0 0;
-#X obj 94 176 line;
-#X msg 94 153 \$1 1000;
-#X obj 164 176 line;
-#X msg 164 153 \$1 1000;
-#X obj 234 176 line;
-#X msg 234 153 \$1 1000;
-#X connect 0 0 2 0;
-#X connect 2 0 5 0;
-#X connect 2 1 7 0;
-#X connect 2 2 9 0;
-#X connect 3 0 1 0;
-#X connect 4 0 3 0;
-#X connect 5 0 4 0;
-#X connect 6 0 3 1;
-#X connect 7 0 6 0;
-#X connect 8 0 3 2;
-#X connect 9 0 8 0;
-#X restore 375 505 pd tripleLine (1000);
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 64 238 pd Gem.init;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 34 255 pd gemwin;
-#X obj 375 392 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
-1;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X connect 2 0 12 0;
-#X connect 10 0 25 0;
-#X connect 10 0 24 0;
-#X connect 11 0 3 0;
-#X connect 12 0 26 0;
-#X connect 15 0 23 0;
-#X connect 16 0 21 0;
-#X connect 17 0 18 0;
-#X connect 17 0 19 0;
-#X connect 18 0 16 2;
-#X connect 19 0 16 1;
-#X connect 20 0 15 0;
-#X connect 21 0 22 0;
-#X connect 22 0 11 0;
-#X connect 23 0 16 0;
-#X connect 24 0 2 1;
-#X connect 25 0 2 2;
-#X connect 26 0 20 0;
-#X connect 27 0 28 0;
-#X connect 28 0 29 0;
-#X connect 29 0 30 0;
-#X connect 30 0 22 1;
-#X connect 31 0 32 0;
-#X connect 33 0 27 0;
+#N canvas 336 24 600 774 10;
+#X obj 198 50 gemhead;
+#X obj 198 82 part_head;
+#X obj 198 136 part_color;
+#X obj 198 620 part_draw;
+#X text 329 37 set the color range;
+#X text 299 174 set the size;
+#X text 310 269 set the number per frame;
+#X text 321 588 set the age to kill at;
+#X text 444 196 the velocity domain;
+#X text 442 230 radius = 0.2;
+#X obj 360 61 loadbang;
+#X obj 198 586 part_killold 35;
+#X obj 198 174 part_size 0.8;
+#X text 441 214 a sphere at -1 0 0;
+#X text 361 318 apply a gravity to the right;
+#X obj 198 317 part_gravity 0.07 0 0;
+#X obj 198 461 part_color;
+#X obj 251 383 loadbang;
+#X msg 275 421 0.4 0.4 0.4;
+#X msg 227 420 1 0 0;
+#X obj 198 277 part_source 5;
+#X obj 198 497 part_source 5;
+#X obj 198 537 part_gravity -0.01 -0.02 0;
+#X obj 198 352 part_velocity sphere 0 0.2 0 0.05;
+#X msg 324 96 0.4 0.4 0.4;
+#X msg 423 96 0 1 0;
+#X obj 198 220 part_velocity sphere -0.2 0 0 0.1;
+#X obj 375 419 metro 1000;
+#N canvas 0 22 450 300 tripleRand 0;
+#X obj 94 71 inlet;
+#X obj 94 252 outlet;
+#X obj 94 221 pack 0 0 0;
+#X obj 94 104 t b b b;
+#X obj 94 134 random 1000;
+#X obj 94 154 / 1000;
+#X obj 94 175 * 0.1;
+#X obj 194 134 random 1000;
+#X obj 194 154 / 1000;
+#X obj 294 134 random 1000;
+#X obj 294 154 / 1000;
+#X obj 194 175 * 0.2;
+#X obj 294 175 * 0;
+#X connect 0 0 3 0;
+#X connect 2 0 1 0;
+#X connect 3 0 4 0;
+#X connect 3 1 7 0;
+#X connect 3 2 9 0;
+#X connect 4 0 5 0;
+#X connect 5 0 6 0;
+#X connect 6 0 2 0;
+#X connect 7 0 8 0;
+#X connect 8 0 11 0;
+#X connect 9 0 10 0;
+#X connect 10 0 12 0;
+#X connect 11 0 2 1;
+#X connect 12 0 2 2;
+#X restore 375 453 pd tripleRand (0.1 0.2 0);
+#N canvas 0 22 450 300 v* 0;
+#X obj 90 62 unpack 0 0 0;
+#X obj 90 42 inlet;
+#X obj 90 137 pack 0 0 0;
+#X obj 90 156 outlet;
+#X obj 90 90 * -1;
+#X obj 127 110 * -1;
+#X obj 165 90 * -1;
+#X connect 0 0 4 0;
+#X connect 0 1 5 0;
+#X connect 0 2 6 0;
+#X connect 1 0 0 0;
+#X connect 2 0 3 0;
+#X connect 4 0 2 0;
+#X connect 5 0 2 1;
+#X connect 6 0 2 2;
+#X restore 375 483 pd v* (-1);
+#N canvas 0 22 450 300 tripleLine 0;
+#X obj 94 71 inlet;
+#X obj 94 252 outlet;
+#X obj 94 104 unpack 0 0 0;
+#X obj 94 221 pack 0 0 0;
+#X obj 94 176 line;
+#X msg 94 153 \$1 1000;
+#X obj 164 176 line;
+#X msg 164 153 \$1 1000;
+#X obj 234 176 line;
+#X msg 234 153 \$1 1000;
+#X connect 0 0 2 0;
+#X connect 2 0 5 0;
+#X connect 2 1 7 0;
+#X connect 2 2 9 0;
+#X connect 3 0 1 0;
+#X connect 4 0 3 0;
+#X connect 5 0 4 0;
+#X connect 6 0 3 1;
+#X connect 7 0 6 0;
+#X connect 8 0 3 2;
+#X connect 9 0 8 0;
+#X restore 375 505 pd tripleLine (1000);
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 64 238 pd Gem.init;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 34 255 pd gemwin;
+#X obj 375 392 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+1;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 2 0 12 0;
+#X connect 10 0 25 0;
+#X connect 10 0 24 0;
+#X connect 11 0 3 0;
+#X connect 12 0 26 0;
+#X connect 15 0 23 0;
+#X connect 16 0 21 0;
+#X connect 17 0 18 0;
+#X connect 17 0 19 0;
+#X connect 18 0 16 2;
+#X connect 19 0 16 1;
+#X connect 20 0 15 0;
+#X connect 21 0 22 0;
+#X connect 22 0 11 0;
+#X connect 23 0 16 0;
+#X connect 24 0 2 1;
+#X connect 25 0 2 2;
+#X connect 26 0 20 0;
+#X connect 27 0 28 0;
+#X connect 28 0 29 0;
+#X connect 29 0 30 0;
+#X connect 30 0 22 1;
+#X connect 31 0 32 0;
+#X connect 33 0 27 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/06.particle/06.target.pd b/packages/noncvs/windows/extra/Gem/examples/06.particle/06.target.pd
index 35237adf..2b8d0ea4 100644
--- a/packages/noncvs/windows/extra/Gem/examples/06.particle/06.target.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/06.particle/06.target.pd
@@ -1,74 +1,74 @@
-#N canvas 396 160 600 500 10;
-#X obj 198 50 gemhead;
-#X obj 198 82 part_head;
-#X obj 198 447 part_draw;
-#X obj 198 331 part_gravity 0 -0.01 0;
-#X obj 198 160 part_velocity sphere 0 0.2 0 0.2;
-#X text 310 269 set the number per frame;
-#X text 310 378 set the age to kill at;
-#X text 366 327 gravity to affect the particles;
-#X text 331 94 the velocity domain;
-#X text 329 111 a sphere at 0 \, 0.2 \, 0;
-#X obj 198 270 part_source 25;
-#X obj 198 381 part_killold 45;
-#X text 329 128 radius = 0.2;
-#X obj 198 116 part_size 0.1;
-#X obj 198 236 part_targetcolor 0 0 1;
-#X obj 198 201 part_targetsize 3;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 64 238 pd Gem.init;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 34 255 pd gemwin;
-#X connect 0 0 1 0;
-#X connect 1 0 13 0;
-#X connect 3 0 11 0;
-#X connect 4 0 15 0;
-#X connect 10 0 3 0;
-#X connect 11 0 2 0;
-#X connect 13 0 4 0;
-#X connect 14 0 10 0;
-#X connect 15 0 14 0;
-#X connect 16 0 17 0;
+#N canvas 396 160 600 500 10;
+#X obj 198 50 gemhead;
+#X obj 198 82 part_head;
+#X obj 198 447 part_draw;
+#X obj 198 331 part_gravity 0 -0.01 0;
+#X obj 198 160 part_velocity sphere 0 0.2 0 0.2;
+#X text 310 269 set the number per frame;
+#X text 310 378 set the age to kill at;
+#X text 366 327 gravity to affect the particles;
+#X text 331 94 the velocity domain;
+#X text 329 111 a sphere at 0 \, 0.2 \, 0;
+#X obj 198 270 part_source 25;
+#X obj 198 381 part_killold 45;
+#X text 329 128 radius = 0.2;
+#X obj 198 116 part_size 0.1;
+#X obj 198 236 part_targetcolor 0 0 1;
+#X obj 198 201 part_targetsize 3;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 64 238 pd Gem.init;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 34 255 pd gemwin;
+#X connect 0 0 1 0;
+#X connect 1 0 13 0;
+#X connect 3 0 11 0;
+#X connect 4 0 15 0;
+#X connect 10 0 3 0;
+#X connect 11 0 2 0;
+#X connect 13 0 4 0;
+#X connect 14 0 10 0;
+#X connect 15 0 14 0;
+#X connect 16 0 17 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/06.particle/07.render.pd b/packages/noncvs/windows/extra/Gem/examples/06.particle/07.render.pd
index 8fd3c0c2..9a1d89c9 100644
--- a/packages/noncvs/windows/extra/Gem/examples/06.particle/07.render.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/06.particle/07.render.pd
@@ -1,86 +1,86 @@
-#N canvas 136 52 487 571 10;
-#X obj 167 53 gemhead;
-#X obj 167 81 part_head;
-#X text 293 262 set the number per frame;
-#X text 291 290 set the age to kill at;
-#X text 296 110 the velocity domain;
-#X text 295 125 a sphere at 0 \, 0.2 \, 0;
-#X text 296 144 radius = 0.3;
-#X msg 271 170 0 0.2 0 0.3;
-#X msg 358 169 0.2 0 0 0.3;
-#X obj 167 231 part_velocity sphere 0 0.2 0 0.3;
-#X obj 167 330 part_render;
-#X obj 167 393 sphere 0.2;
-#X obj 47 308 gemhead;
-#X obj 47 331 world_light;
-#X obj 167 128 part_size 1;
-#X msg 257 105 2;
-#X obj 167 204 part_color;
-#X msg 190 150 1 0 0;
-#X obj 167 261 part_source 5;
-#X obj 167 292 part_killold 10;
-#X msg 202 178 0 1 0;
-#X msg 227 104 1;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X obj 118 113 outlet;
-#X msg 118 81 reset \, lighting 1;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X restore 66 131 pd Gem.init;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 36 148 pd gemwin;
-#X connect 0 0 1 0;
-#X connect 1 0 14 0;
-#X connect 7 0 9 2;
-#X connect 8 0 9 2;
-#X connect 9 0 18 0;
-#X connect 10 0 11 0;
-#X connect 12 0 13 0;
-#X connect 14 0 16 0;
-#X connect 15 0 14 1;
-#X connect 16 0 9 0;
-#X connect 17 0 16 1;
-#X connect 18 0 19 0;
-#X connect 19 0 10 0;
-#X connect 20 0 16 2;
-#X connect 21 0 14 1;
-#X connect 22 0 23 0;
+#N canvas 136 52 487 571 10;
+#X obj 167 53 gemhead;
+#X obj 167 81 part_head;
+#X text 293 262 set the number per frame;
+#X text 291 290 set the age to kill at;
+#X text 296 110 the velocity domain;
+#X text 295 125 a sphere at 0 \, 0.2 \, 0;
+#X text 296 144 radius = 0.3;
+#X msg 271 170 0 0.2 0 0.3;
+#X msg 358 169 0.2 0 0 0.3;
+#X obj 167 231 part_velocity sphere 0 0.2 0 0.3;
+#X obj 167 330 part_render;
+#X obj 167 393 sphere 0.2;
+#X obj 47 308 gemhead;
+#X obj 47 331 world_light;
+#X obj 167 128 part_size 1;
+#X msg 257 105 2;
+#X obj 167 204 part_color;
+#X msg 190 150 1 0 0;
+#X obj 167 261 part_source 5;
+#X obj 167 292 part_killold 10;
+#X msg 202 178 0 1 0;
+#X msg 227 104 1;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X obj 118 113 outlet;
+#X msg 118 81 reset \, lighting 1;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X restore 66 131 pd Gem.init;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 36 148 pd gemwin;
+#X connect 0 0 1 0;
+#X connect 1 0 14 0;
+#X connect 7 0 9 2;
+#X connect 8 0 9 2;
+#X connect 9 0 18 0;
+#X connect 10 0 11 0;
+#X connect 12 0 13 0;
+#X connect 14 0 16 0;
+#X connect 15 0 14 1;
+#X connect 16 0 9 0;
+#X connect 17 0 16 1;
+#X connect 18 0 19 0;
+#X connect 19 0 10 0;
+#X connect 20 0 16 2;
+#X connect 21 0 14 1;
+#X connect 22 0 23 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/06.particle/08.info.pd b/packages/noncvs/windows/extra/Gem/examples/06.particle/08.info.pd
index 5b00adb9..cd9ff66d 100644
--- a/packages/noncvs/windows/extra/Gem/examples/06.particle/08.info.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/06.particle/08.info.pd
@@ -1,117 +1,117 @@
-#N canvas 22 71 611 571 10;
-#X obj 169 18 gemhead;
-#X obj 168 85 part_head;
-#X text 278 259 set the number per frame;
-#X text 292 291 set the age to kill at;
-#X msg 290 201 0 0.2 0 0.3;
-#X msg 377 200 0.2 0 0 0.3;
-#X obj 168 229 part_velocity sphere 0 0.2 0 0.3;
-#X obj 168 132 part_size 1;
-#X obj 168 254 part_source 5;
-#X obj 168 279 part_killold 10;
-#X obj 169 300 part_info;
-#X obj 169 382 separator;
-#X obj 169 408 translate 1 0 0 0;
-#X obj 169 431 color;
-#X obj 169 471 scale;
-#X msg 278 518 draw line;
-#X msg 257 105 2;
-#X obj 170 502 rotateXYZ;
-#X obj 320 435 unpack 0 0 0;
-#X text 375 400 this is rather velocity;
-#X text 379 416 than rotation;
-#X obj 279 498 loadbang;
-#X obj 170 537 square 0.2;
-#X msg 300 378 \$1 \$2 0;
-#X obj 169 56 rotateXYZ;
-#X floatatom 272 20 5 0 0 0 - - -;
-#X obj 168 205 part_color;
-#X msg 200 180 1 0 0;
-#X msg 252 180 0 0 1;
-#X text 254 362 we don't allow particles spread along the z-axis;
-#X msg 257 76 1;
-#X obj 255 463 * 360;
-#X obj 315 461 * 360;
-#X obj 382 460 * 360;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 64 238 pd Gem.init;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 34 255 pd gemwin;
-#X connect 0 0 24 0;
-#X connect 1 0 7 0;
-#X connect 4 0 6 2;
-#X connect 5 0 6 2;
-#X connect 6 0 8 0;
-#X connect 7 0 26 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 0;
-#X connect 10 0 11 0;
-#X connect 10 2 23 0;
-#X connect 10 3 13 1;
-#X connect 10 4 18 0;
-#X connect 10 5 14 1;
-#X connect 11 0 12 0;
-#X connect 12 0 13 0;
-#X connect 13 0 14 0;
-#X connect 14 0 17 0;
-#X connect 15 0 22 0;
-#X connect 16 0 7 1;
-#X connect 17 0 22 0;
-#X connect 18 0 31 0;
-#X connect 18 1 32 0;
-#X connect 18 2 33 0;
-#X connect 21 0 15 0;
-#X connect 23 0 12 2;
-#X connect 24 0 1 0;
-#X connect 25 0 24 2;
-#X connect 26 0 6 0;
-#X connect 27 0 26 1;
-#X connect 28 0 26 2;
-#X connect 30 0 7 1;
-#X connect 31 0 17 1;
-#X connect 32 0 17 2;
-#X connect 33 0 17 3;
-#X connect 34 0 35 0;
+#N canvas 22 71 611 571 10;
+#X obj 169 18 gemhead;
+#X obj 168 85 part_head;
+#X text 278 259 set the number per frame;
+#X text 292 291 set the age to kill at;
+#X msg 290 201 0 0.2 0 0.3;
+#X msg 377 200 0.2 0 0 0.3;
+#X obj 168 229 part_velocity sphere 0 0.2 0 0.3;
+#X obj 168 132 part_size 1;
+#X obj 168 254 part_source 5;
+#X obj 168 279 part_killold 10;
+#X obj 169 300 part_info;
+#X obj 169 382 separator;
+#X obj 169 408 translate 1 0 0 0;
+#X obj 169 431 color;
+#X obj 169 471 scale;
+#X msg 278 518 draw line;
+#X msg 257 105 2;
+#X obj 170 502 rotateXYZ;
+#X obj 320 435 unpack 0 0 0;
+#X text 375 400 this is rather velocity;
+#X text 379 416 than rotation;
+#X obj 279 498 loadbang;
+#X obj 170 537 square 0.2;
+#X msg 300 378 \$1 \$2 0;
+#X obj 169 56 rotateXYZ;
+#X floatatom 272 20 5 0 0 0 - - -;
+#X obj 168 205 part_color;
+#X msg 200 180 1 0 0;
+#X msg 252 180 0 0 1;
+#X text 254 362 we don't allow particles spread along the z-axis;
+#X msg 257 76 1;
+#X obj 255 463 * 360;
+#X obj 315 461 * 360;
+#X obj 382 460 * 360;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 64 238 pd Gem.init;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 34 255 pd gemwin;
+#X connect 0 0 24 0;
+#X connect 1 0 7 0;
+#X connect 4 0 6 2;
+#X connect 5 0 6 2;
+#X connect 6 0 8 0;
+#X connect 7 0 26 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 0;
+#X connect 10 0 11 0;
+#X connect 10 2 23 0;
+#X connect 10 3 13 1;
+#X connect 10 4 18 0;
+#X connect 10 5 14 1;
+#X connect 11 0 12 0;
+#X connect 12 0 13 0;
+#X connect 13 0 14 0;
+#X connect 14 0 17 0;
+#X connect 15 0 22 0;
+#X connect 16 0 7 1;
+#X connect 17 0 22 0;
+#X connect 18 0 31 0;
+#X connect 18 1 32 0;
+#X connect 18 2 33 0;
+#X connect 21 0 15 0;
+#X connect 23 0 12 2;
+#X connect 24 0 1 0;
+#X connect 25 0 24 2;
+#X connect 26 0 6 0;
+#X connect 27 0 26 1;
+#X connect 28 0 26 2;
+#X connect 30 0 7 1;
+#X connect 31 0 17 1;
+#X connect 32 0 17 2;
+#X connect 33 0 17 3;
+#X connect 34 0 35 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/06.particle/09.sink.pd b/packages/noncvs/windows/extra/Gem/examples/06.particle/09.sink.pd
index d22b5ac1..54a5078e 100644
--- a/packages/noncvs/windows/extra/Gem/examples/06.particle/09.sink.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/06.particle/09.sink.pd
@@ -1,100 +1,100 @@
-#N canvas 424 93 600 500 10;
-#X obj 198 50 gemhead;
-#X obj 198 82 part_head;
-#X obj 198 136 part_color;
-#X obj 199 447 part_draw;
-#X msg 335 69 0 1 0;
-#X text 329 37 set the color range;
-#X obj 198 174 part_size 1;
-#X text 299 126 set the size;
-#X obj 198 206 part_velocity sphere 0 0.2 0 0.2;
-#X text 310 239 set the number per frame;
-#X text 311 378 set the age to kill at;
-#X text 309 255 gravity to affect the particles;
-#X text 428 174 the velocity domain;
-#X text 426 191 a sphere at 0 \, 0.2 \, 0;
-#X msg 220 413 draw line;
-#X msg 299 413 draw point;
-#X msg 309 151 2;
-#X msg 393 69 1 0 0;
-#X obj 198 240 part_source 25;
-#X obj 199 381 part_killold 45;
-#X text 426 208 radius = 0.2;
-#X msg 126 51 speed 0.1;
-#X obj 245 303 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X floatatom 389 314 5 0 0 0 - - -;
-#X msg 389 331 0 \$1 0 0 1 0;
-#X obj 198 271 part_gravity 0 -0.1 0;
-#X obj 198 355 part_sink plane 0 -1 0 0 1 0;
-#X msg 245 322 kill \$1;
-#X obj 392 293 hsl 128 15 -4 0.1 0 0 empty empty empty -2 -6 0 8 -262144
--1 -1 0 1;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 64 238 pd Gem.init;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 34 255 pd gemwin;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X connect 2 0 6 0;
-#X connect 4 0 2 1;
-#X connect 6 0 8 0;
-#X connect 8 0 18 0;
-#X connect 14 0 3 0;
-#X connect 15 0 3 0;
-#X connect 16 0 6 1;
-#X connect 17 0 2 2;
-#X connect 18 0 25 0;
-#X connect 19 0 3 0;
-#X connect 21 0 1 0;
-#X connect 22 0 27 0;
-#X connect 23 0 24 0;
-#X connect 24 0 26 2;
-#X connect 25 0 26 0;
-#X connect 26 0 19 0;
-#X connect 27 0 26 0;
-#X connect 28 0 23 0;
-#X connect 29 0 30 0;
+#N canvas 424 93 600 500 10;
+#X obj 198 50 gemhead;
+#X obj 198 82 part_head;
+#X obj 198 136 part_color;
+#X obj 199 447 part_draw;
+#X msg 335 69 0 1 0;
+#X text 329 37 set the color range;
+#X obj 198 174 part_size 1;
+#X text 299 126 set the size;
+#X obj 198 206 part_velocity sphere 0 0.2 0 0.2;
+#X text 310 239 set the number per frame;
+#X text 311 378 set the age to kill at;
+#X text 309 255 gravity to affect the particles;
+#X text 428 174 the velocity domain;
+#X text 426 191 a sphere at 0 \, 0.2 \, 0;
+#X msg 220 413 draw line;
+#X msg 299 413 draw point;
+#X msg 309 151 2;
+#X msg 393 69 1 0 0;
+#X obj 198 240 part_source 25;
+#X obj 199 381 part_killold 45;
+#X text 426 208 radius = 0.2;
+#X msg 126 51 speed 0.1;
+#X obj 245 303 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X floatatom 389 314 5 0 0 0 - - -;
+#X msg 389 331 0 \$1 0 0 1 0;
+#X obj 198 271 part_gravity 0 -0.1 0;
+#X obj 198 355 part_sink plane 0 -1 0 0 1 0;
+#X msg 245 322 kill \$1;
+#X obj 392 293 hsl 128 15 -4 0.1 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 64 238 pd Gem.init;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 34 255 pd gemwin;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 2 0 6 0;
+#X connect 4 0 2 1;
+#X connect 6 0 8 0;
+#X connect 8 0 18 0;
+#X connect 14 0 3 0;
+#X connect 15 0 3 0;
+#X connect 16 0 6 1;
+#X connect 17 0 2 2;
+#X connect 18 0 25 0;
+#X connect 19 0 3 0;
+#X connect 21 0 1 0;
+#X connect 22 0 27 0;
+#X connect 23 0 24 0;
+#X connect 24 0 26 2;
+#X connect 25 0 26 0;
+#X connect 26 0 19 0;
+#X connect 27 0 26 0;
+#X connect 28 0 23 0;
+#X connect 29 0 30 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/07.texture/01.texture.pd b/packages/noncvs/windows/extra/Gem/examples/07.texture/01.texture.pd
index da6dedc8..16b58cda 100644
--- a/packages/noncvs/windows/extra/Gem/examples/07.texture/01.texture.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/07.texture/01.texture.pd
@@ -1,60 +1,60 @@
-#N canvas 180 41 560 399 10;
-#X floatatom 369 147 0 0 0 0 - - -;
-#X obj 325 202 pix_image ../data/fractal.JPG;
-#X obj 325 245 pix_texture;
-#X obj 325 171 rotate 0 1 1;
-#X obj 325 277 cube;
-#X obj 325 124 gemhead;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 90 153 pd Gem.init;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 60 170 pd gemwin;
-#X connect 0 0 3 1;
-#X connect 1 0 2 0;
-#X connect 2 0 4 0;
-#X connect 3 0 1 0;
-#X connect 5 0 3 0;
-#X connect 6 0 7 0;
+#N canvas 180 41 560 399 10;
+#X floatatom 369 147 0 0 0 0 - - -;
+#X obj 325 202 pix_image ../data/fractal.JPG;
+#X obj 325 245 pix_texture;
+#X obj 325 171 rotate 0 1 1;
+#X obj 325 277 cube;
+#X obj 325 124 gemhead;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 90 153 pd Gem.init;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 60 170 pd gemwin;
+#X connect 0 0 3 1;
+#X connect 1 0 2 0;
+#X connect 2 0 4 0;
+#X connect 3 0 1 0;
+#X connect 5 0 3 0;
+#X connect 6 0 7 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/07.texture/02.TexCoord.pd b/packages/noncvs/windows/extra/Gem/examples/07.texture/02.TexCoord.pd
index 951c7009..b5b7d8d6 100644
--- a/packages/noncvs/windows/extra/Gem/examples/07.texture/02.TexCoord.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/07.texture/02.TexCoord.pd
@@ -1,70 +1,70 @@
-#N canvas 127 46 642 483 10;
-#X obj 251 46 gemhead;
-#X obj 251 424 square;
-#X obj 251 369 pix_coordinate;
-#X obj 251 118 pix_texture;
-#X obj 251 87 pix_image ../data/fractal.JPG;
-#X msg 363 227 0 0 1 0 1 1 0 1;
-#X msg 349 203 0 0 2 0 2 2 0 2;
-#X msg 369 253 0 0 0.5 0 0.5 0.5 0 0.5;
-#X floatatom 400 285 5 0 0 0 - - -;
-#X text 258 170 set the texture coordinates [x1 y1 x2 y2 x3 y3 x4 y4]
-;
-#X msg 400 308 0 0 \$1 0 \$1 \$1 0 \$1;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X obj 118 113 outlet;
-#X msg 118 81 reset \, dimen 300 300;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X restore 64 238 pd Gem.init;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 34 255 pd gemwin;
-#X connect 0 0 4 0;
-#X connect 2 0 1 0;
-#X connect 3 0 2 0;
-#X connect 4 0 3 0;
-#X connect 5 0 2 1;
-#X connect 6 0 2 1;
-#X connect 7 0 2 1;
-#X connect 8 0 10 0;
-#X connect 10 0 2 1;
-#X connect 11 0 12 0;
+#N canvas 127 46 642 483 10;
+#X obj 251 46 gemhead;
+#X obj 251 424 square;
+#X obj 251 369 pix_coordinate;
+#X obj 251 118 pix_texture;
+#X obj 251 87 pix_image ../data/fractal.JPG;
+#X msg 363 227 0 0 1 0 1 1 0 1;
+#X msg 349 203 0 0 2 0 2 2 0 2;
+#X msg 369 253 0 0 0.5 0 0.5 0.5 0 0.5;
+#X floatatom 400 285 5 0 0 0 - - -;
+#X text 258 170 set the texture coordinates [x1 y1 x2 y2 x3 y3 x4 y4]
+;
+#X msg 400 308 0 0 \$1 0 \$1 \$1 0 \$1;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X obj 118 113 outlet;
+#X msg 118 81 reset \, dimen 300 300;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X restore 64 238 pd Gem.init;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 34 255 pd gemwin;
+#X connect 0 0 4 0;
+#X connect 2 0 1 0;
+#X connect 3 0 2 0;
+#X connect 4 0 3 0;
+#X connect 5 0 2 1;
+#X connect 6 0 2 1;
+#X connect 7 0 2 1;
+#X connect 8 0 10 0;
+#X connect 10 0 2 1;
+#X connect 11 0 12 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/07.texture/04.moveImages.pd b/packages/noncvs/windows/extra/Gem/examples/07.texture/04.moveImages.pd
index 8107c0cb..d7698221 100644
--- a/packages/noncvs/windows/extra/Gem/examples/07.texture/04.moveImages.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/07.texture/04.moveImages.pd
@@ -1,153 +1,153 @@
-#N canvas 180 41 816 619 10;
-#X text 730 64 on;
-#X text 767 62 off;
-#X text 513 71 on;
-#X text 578 69 off;
-#X obj 633 450 pix_texture;
-#X obj 670 477 r initstuff;
-#X msg 724 86 1;
-#X msg 761 85 0;
-#X text 216 393 on;
-#X text 255 391 off;
-#X msg 29 417 1;
-#X msg 65 419 0;
-#X msg 210 419 1;
-#X msg 248 419 0;
-#X obj 286 437 gemhead 1;
-#X obj 454 166 int 0;
-#X obj 506 167 + 2;
-#X floatatom 672 197 0 0 0 0 - - -;
-#X obj 633 537 sphere;
-#X floatatom 454 199 0 0 0 0 - - -;
-#X obj 107 479 world_light;
-#X obj 107 424 gemhead 1;
-#X obj 415 445 sphere;
-#X obj 672 170 int 0;
-#X obj 286 493 light;
-#X msg 670 507 20;
-#X text 108 370 global light;
-#X text 283 370 local light;
-#X text 35 395 on;
-#X text 65 396 off;
-#X obj 454 132 metro 50;
-#X msg 506 97 1;
-#X msg 543 99 0;
-#X obj 672 136 metro 100;
-#X obj 734 168 + 1;
-#X obj 66 580 send initstuff;
-#X obj 452 383 r initstuff;
-#X obj 415 311 pix_image ../data/fractal.JPG;
-#X obj 415 354 pix_texture;
-#X obj 633 314 pix_image ../data/dancer.JPG;
-#X obj 633 377 alpha;
-#X obj 633 414 pix_alpha;
-#X obj 633 53 gemhead 60;
-#X obj 415 228 rotate 0 1 1;
-#X obj 633 227 rotate 1 0 1;
-#X text 426 35 Blue Sphere;
-#X text 641 18 Red Sphere;
-#X obj 633 86 color 1 0 0;
-#X obj 415 272 translateXYZ 2 0 0;
-#X obj 633 274 translateXYZ 1 1 0;
-#X msg 452 417 30;
-#X obj 66 545 loadbang;
-#X obj 415 68 gemhead 60;
-#X obj 415 98 color 0 0 1;
-#X msg 690 338 test 1;
-#X msg 745 339 test 0;
-#X msg 179 113 lighting \$1;
-#X obj 179 93 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X obj 118 113 outlet;
-#X msg 118 81 reset \, lighting 1;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X restore 64 238 pd Gem.init;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 34 255 pd gemwin;
-#X connect 4 0 18 0;
-#X connect 5 0 25 0;
-#X connect 6 0 33 0;
-#X connect 7 0 33 0;
-#X connect 7 0 34 0;
-#X connect 10 0 20 0;
-#X connect 11 0 20 0;
-#X connect 12 0 24 0;
-#X connect 13 0 24 0;
-#X connect 14 0 24 0;
-#X connect 15 0 16 0;
-#X connect 15 0 19 0;
-#X connect 16 0 15 1;
-#X connect 17 0 44 1;
-#X connect 19 0 43 1;
-#X connect 21 0 20 0;
-#X connect 23 0 17 0;
-#X connect 23 0 34 0;
-#X connect 25 0 18 2;
-#X connect 30 0 15 0;
-#X connect 31 0 30 0;
-#X connect 32 0 30 0;
-#X connect 32 0 16 0;
-#X connect 33 0 23 0;
-#X connect 34 0 23 1;
-#X connect 36 0 50 0;
-#X connect 37 0 38 0;
-#X connect 38 0 22 0;
-#X connect 39 0 40 0;
-#X connect 40 0 41 0;
-#X connect 41 0 4 0;
-#X connect 42 0 47 0;
-#X connect 43 0 48 0;
-#X connect 44 0 49 0;
-#X connect 47 0 44 0;
-#X connect 48 0 37 0;
-#X connect 49 0 39 0;
-#X connect 50 0 22 2;
-#X connect 51 0 35 0;
-#X connect 52 0 53 0;
-#X connect 53 0 43 0;
-#X connect 54 0 40 0;
-#X connect 55 0 40 0;
-#X connect 56 0 59 0;
-#X connect 57 0 56 0;
-#X connect 58 0 59 0;
+#N canvas 180 41 816 619 10;
+#X text 730 64 on;
+#X text 767 62 off;
+#X text 513 71 on;
+#X text 578 69 off;
+#X obj 633 450 pix_texture;
+#X obj 670 477 r initstuff;
+#X msg 724 86 1;
+#X msg 761 85 0;
+#X text 216 393 on;
+#X text 255 391 off;
+#X msg 29 417 1;
+#X msg 65 419 0;
+#X msg 210 419 1;
+#X msg 248 419 0;
+#X obj 286 437 gemhead 1;
+#X obj 454 166 int 0;
+#X obj 506 167 + 2;
+#X floatatom 672 197 0 0 0 0 - - -;
+#X obj 633 537 sphere;
+#X floatatom 454 199 0 0 0 0 - - -;
+#X obj 107 479 world_light;
+#X obj 107 424 gemhead 1;
+#X obj 415 445 sphere;
+#X obj 672 170 int 0;
+#X obj 286 493 light;
+#X msg 670 507 20;
+#X text 108 370 global light;
+#X text 283 370 local light;
+#X text 35 395 on;
+#X text 65 396 off;
+#X obj 454 132 metro 50;
+#X msg 506 97 1;
+#X msg 543 99 0;
+#X obj 672 136 metro 100;
+#X obj 734 168 + 1;
+#X obj 66 580 send initstuff;
+#X obj 452 383 r initstuff;
+#X obj 415 311 pix_image ../data/fractal.JPG;
+#X obj 415 354 pix_texture;
+#X obj 633 314 pix_image ../data/dancer.JPG;
+#X obj 633 377 alpha;
+#X obj 633 414 pix_alpha;
+#X obj 633 53 gemhead 60;
+#X obj 415 228 rotate 0 1 1;
+#X obj 633 227 rotate 1 0 1;
+#X text 426 35 Blue Sphere;
+#X text 641 18 Red Sphere;
+#X obj 633 86 color 1 0 0;
+#X obj 415 272 translateXYZ 2 0 0;
+#X obj 633 274 translateXYZ 1 1 0;
+#X msg 452 417 30;
+#X obj 66 545 loadbang;
+#X obj 415 68 gemhead 60;
+#X obj 415 98 color 0 0 1;
+#X msg 690 338 test 1;
+#X msg 745 339 test 0;
+#X msg 179 113 lighting \$1;
+#X obj 179 93 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X obj 118 113 outlet;
+#X msg 118 81 reset \, lighting 1;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X restore 64 238 pd Gem.init;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 34 255 pd gemwin;
+#X connect 4 0 18 0;
+#X connect 5 0 25 0;
+#X connect 6 0 33 0;
+#X connect 7 0 33 0;
+#X connect 7 0 34 0;
+#X connect 10 0 20 0;
+#X connect 11 0 20 0;
+#X connect 12 0 24 0;
+#X connect 13 0 24 0;
+#X connect 14 0 24 0;
+#X connect 15 0 16 0;
+#X connect 15 0 19 0;
+#X connect 16 0 15 1;
+#X connect 17 0 44 1;
+#X connect 19 0 43 1;
+#X connect 21 0 20 0;
+#X connect 23 0 17 0;
+#X connect 23 0 34 0;
+#X connect 25 0 18 2;
+#X connect 30 0 15 0;
+#X connect 31 0 30 0;
+#X connect 32 0 30 0;
+#X connect 32 0 16 0;
+#X connect 33 0 23 0;
+#X connect 34 0 23 1;
+#X connect 36 0 50 0;
+#X connect 37 0 38 0;
+#X connect 38 0 22 0;
+#X connect 39 0 40 0;
+#X connect 40 0 41 0;
+#X connect 41 0 4 0;
+#X connect 42 0 47 0;
+#X connect 43 0 48 0;
+#X connect 44 0 49 0;
+#X connect 47 0 44 0;
+#X connect 48 0 37 0;
+#X connect 49 0 39 0;
+#X connect 50 0 22 2;
+#X connect 51 0 35 0;
+#X connect 52 0 53 0;
+#X connect 53 0 43 0;
+#X connect 54 0 40 0;
+#X connect 55 0 40 0;
+#X connect 56 0 59 0;
+#X connect 57 0 56 0;
+#X connect 58 0 59 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/07.texture/05.newWave.pd b/packages/noncvs/windows/extra/Gem/examples/07.texture/05.newWave.pd
index 52c631b0..9cb05db8 100644
--- a/packages/noncvs/windows/extra/Gem/examples/07.texture/05.newWave.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/07.texture/05.newWave.pd
@@ -1,201 +1,201 @@
-#N canvas 110 90 876 486 10;
-#X text 653 313 Inlet 1: gemlist;
-#X obj 209 277 gemhead;
-#X floatatom 622 130 5 0 0 2 size - -;
-#X floatatom 539 84 5 0 0 2 height - -;
-#X floatatom 241 339 5 0 0 0 - - -;
-#X msg 322 5 draw line;
-#X msg 322 25 draw fill;
-#X msg 322 45 draw point;
-#X text 653 188 00..retrigger current action;
-#X text 653 200 01..flat;
-#X text 653 211 02..spike;
-#X text 653 221 03..diagonal wall;
-#X text 652 234 04..sidewall;
-#X text 652 245 05..hole;
-#X text 652 256 06..middleblock;
-#X text 652 267 07..diagonalblock;
-#X text 652 278 08..cornerblock;
-#X text 652 288 09..hill;
-#X obj 718 28 vradio 11 1 0 11 empty empty action -10 -6 0 8 -262144
--1 -1 0;
-#X text 651 299 10..hill4 (default);
-#X floatatom 274 339 5 0 0 0 - - -;
-#X floatatom 308 339 5 0 0 0 - - -;
-#X floatatom 13 -15 5 0 0 0 - - -;
-#X msg 415 228 force 25 25 30;
-#X msg 539 45 0.06;
-#X obj 539 17 loadbang;
-#X obj 13 3 / 100;
-#X floatatom 173 -15 5 0 0 0 - - -;
-#X obj 173 4 / 100;
-#X obj 401 39 random 50;
-#X obj 444 59 random 50;
-#X obj 401 81 pack 0 0;
-#X obj 401 15 metro 300;
-#X msg 415 273 position 10 10 100;
-#X msg 718 155 mode \$1;
-#X msg 415 250 force 4 2 50;
-#X msg 538 101 height \$1;
-#X floatatom 65 -16 5 0 0 0 - - -;
-#X obj 65 2 / 100;
-#X floatatom 216 -16 5 0 0 0 - - -;
-#X obj 216 3 / 100;
-#X floatatom 114 -17 5 0 0 0 - - -;
-#X obj 114 1 / 100;
-#X floatatom 258 -17 5 0 0 0 - - -;
-#X obj 258 2 / 100;
-#X obj 623 74 loadbang;
-#X msg 23 48 K1 0.05;
-#X msg 13 24 K1 \$1;
-#X msg 179 46 D1 0.1;
-#X msg 173 25 D1 \$1;
-#X msg 65 23 K2 \$1;
-#X msg 114 22 K3 \$1;
-#X msg 75 47 K2 0.05;
-#X msg 124 46 K3 0.05;
-#X msg 216 24 D2 \$1;
-#X msg 222 45 D2 0.1;
-#X msg 258 23 D3 \$1;
-#X obj 13 235 newWave 50;
-#X msg 264 44 D3 0.01;
-#X msg 329 67 width 1;
-#X msg 330 87 width 10;
-#X obj 402 -3 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X msg 87 411 \; pd quit \;;
-#N canvas 0 22 247 188 cpu 0;
-#X obj 30 45 metro 1000;
-#X obj 32 22 loadbang;
-#X obj 33 96 cputime;
-#X obj 30 69 t b b;
-#X obj 34 125 / 10;
-#X obj 33 150 outlet;
-#X connect 0 0 3 0;
-#X connect 1 0 0 0;
-#X connect 2 0 4 0;
-#X connect 3 0 2 0;
-#X connect 3 1 2 1;
-#X connect 4 0 5 0;
-#X restore 20 396 pd cpu;
-#X floatatom 20 426 5 0 0 0 - - -;
-#X obj 87 348 gemhead;
-#X obj 87 374 world_light;
-#X obj 209 382 render_trigger;
-#X obj 209 360 rotateXYZ 300 0 0;
-#X obj 311 -18 loadbang;
-#X msg 415 207 force 20 20 30;
-#X msg 623 97 2;
-#X obj 209 317 pix_texture;
-#X obj 209 298 pix_image ../data/fractal.JPG;
-#X msg 400 101 force \$1 \$2 -0.1;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 532 385 pd Gem.init;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 502 402 pd gemwin;
-#X connect 1 0 73 0;
-#X connect 2 0 57 1;
-#X connect 3 0 36 0;
-#X connect 4 0 68 1;
-#X connect 5 0 57 0;
-#X connect 6 0 57 0;
-#X connect 7 0 57 0;
-#X connect 18 0 34 0;
-#X connect 20 0 68 2;
-#X connect 21 0 68 3;
-#X connect 22 0 26 0;
-#X connect 23 0 57 0;
-#X connect 24 0 3 0;
-#X connect 25 0 24 0;
-#X connect 26 0 47 0;
-#X connect 27 0 28 0;
-#X connect 28 0 49 0;
-#X connect 29 0 31 0;
-#X connect 30 0 31 1;
-#X connect 31 0 74 0;
-#X connect 32 0 29 0;
-#X connect 32 0 30 0;
-#X connect 33 0 57 0;
-#X connect 34 0 57 0;
-#X connect 35 0 57 0;
-#X connect 36 0 57 0;
-#X connect 37 0 38 0;
-#X connect 38 0 50 0;
-#X connect 39 0 40 0;
-#X connect 40 0 54 0;
-#X connect 41 0 42 0;
-#X connect 42 0 51 0;
-#X connect 43 0 44 0;
-#X connect 44 0 56 0;
-#X connect 45 0 71 0;
-#X connect 46 0 57 0;
-#X connect 47 0 57 0;
-#X connect 48 0 57 0;
-#X connect 49 0 57 0;
-#X connect 50 0 57 0;
-#X connect 51 0 57 0;
-#X connect 52 0 57 0;
-#X connect 53 0 57 0;
-#X connect 54 0 57 0;
-#X connect 55 0 57 0;
-#X connect 56 0 57 0;
-#X connect 58 0 57 0;
-#X connect 59 0 57 0;
-#X connect 60 0 57 0;
-#X connect 61 0 32 0;
-#X connect 63 0 64 0;
-#X connect 65 0 66 0;
-#X connect 67 0 57 0;
-#X connect 67 2 57 0;
-#X connect 68 0 67 0;
-#X connect 69 0 48 0;
-#X connect 69 0 46 0;
-#X connect 70 0 57 0;
-#X connect 71 0 2 0;
-#X connect 72 0 68 0;
-#X connect 73 0 72 0;
-#X connect 74 0 57 0;
-#X connect 75 0 76 0;
+#N canvas 110 90 876 486 10;
+#X text 653 313 Inlet 1: gemlist;
+#X obj 209 277 gemhead;
+#X floatatom 622 130 5 0 0 2 size - -;
+#X floatatom 539 84 5 0 0 2 height - -;
+#X floatatom 241 339 5 0 0 0 - - -;
+#X msg 322 5 draw line;
+#X msg 322 25 draw fill;
+#X msg 322 45 draw point;
+#X text 653 188 00..retrigger current action;
+#X text 653 200 01..flat;
+#X text 653 211 02..spike;
+#X text 653 221 03..diagonal wall;
+#X text 652 234 04..sidewall;
+#X text 652 245 05..hole;
+#X text 652 256 06..middleblock;
+#X text 652 267 07..diagonalblock;
+#X text 652 278 08..cornerblock;
+#X text 652 288 09..hill;
+#X obj 718 28 vradio 11 1 0 11 empty empty action -10 -6 0 8 -262144
+-1 -1 0;
+#X text 651 299 10..hill4 (default);
+#X floatatom 274 339 5 0 0 0 - - -;
+#X floatatom 308 339 5 0 0 0 - - -;
+#X floatatom 13 -15 5 0 0 0 - - -;
+#X msg 415 228 force 25 25 30;
+#X msg 539 45 0.06;
+#X obj 539 17 loadbang;
+#X obj 13 3 / 100;
+#X floatatom 173 -15 5 0 0 0 - - -;
+#X obj 173 4 / 100;
+#X obj 401 39 random 50;
+#X obj 444 59 random 50;
+#X obj 401 81 pack 0 0;
+#X obj 401 15 metro 300;
+#X msg 415 273 position 10 10 100;
+#X msg 718 155 mode \$1;
+#X msg 415 250 force 4 2 50;
+#X msg 538 101 height \$1;
+#X floatatom 65 -16 5 0 0 0 - - -;
+#X obj 65 2 / 100;
+#X floatatom 216 -16 5 0 0 0 - - -;
+#X obj 216 3 / 100;
+#X floatatom 114 -17 5 0 0 0 - - -;
+#X obj 114 1 / 100;
+#X floatatom 258 -17 5 0 0 0 - - -;
+#X obj 258 2 / 100;
+#X obj 623 74 loadbang;
+#X msg 23 48 K1 0.05;
+#X msg 13 24 K1 \$1;
+#X msg 179 46 D1 0.1;
+#X msg 173 25 D1 \$1;
+#X msg 65 23 K2 \$1;
+#X msg 114 22 K3 \$1;
+#X msg 75 47 K2 0.05;
+#X msg 124 46 K3 0.05;
+#X msg 216 24 D2 \$1;
+#X msg 222 45 D2 0.1;
+#X msg 258 23 D3 \$1;
+#X obj 13 235 newWave 50;
+#X msg 264 44 D3 0.01;
+#X msg 329 67 width 1;
+#X msg 330 87 width 10;
+#X obj 402 -3 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X msg 87 411 \; pd quit \;;
+#N canvas 0 22 247 188 cpu 0;
+#X obj 30 45 metro 1000;
+#X obj 32 22 loadbang;
+#X obj 33 96 cputime;
+#X obj 30 69 t b b;
+#X obj 34 125 / 10;
+#X obj 33 150 outlet;
+#X connect 0 0 3 0;
+#X connect 1 0 0 0;
+#X connect 2 0 4 0;
+#X connect 3 0 2 0;
+#X connect 3 1 2 1;
+#X connect 4 0 5 0;
+#X restore 20 396 pd cpu;
+#X floatatom 20 426 5 0 0 0 - - -;
+#X obj 87 348 gemhead;
+#X obj 87 374 world_light;
+#X obj 209 382 render_trigger;
+#X obj 209 360 rotateXYZ 300 0 0;
+#X obj 311 -18 loadbang;
+#X msg 415 207 force 20 20 30;
+#X msg 623 97 2;
+#X obj 209 317 pix_texture;
+#X obj 209 298 pix_image ../data/fractal.JPG;
+#X msg 400 101 force \$1 \$2 -0.1;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 532 385 pd Gem.init;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 502 402 pd gemwin;
+#X connect 1 0 73 0;
+#X connect 2 0 57 1;
+#X connect 3 0 36 0;
+#X connect 4 0 68 1;
+#X connect 5 0 57 0;
+#X connect 6 0 57 0;
+#X connect 7 0 57 0;
+#X connect 18 0 34 0;
+#X connect 20 0 68 2;
+#X connect 21 0 68 3;
+#X connect 22 0 26 0;
+#X connect 23 0 57 0;
+#X connect 24 0 3 0;
+#X connect 25 0 24 0;
+#X connect 26 0 47 0;
+#X connect 27 0 28 0;
+#X connect 28 0 49 0;
+#X connect 29 0 31 0;
+#X connect 30 0 31 1;
+#X connect 31 0 74 0;
+#X connect 32 0 29 0;
+#X connect 32 0 30 0;
+#X connect 33 0 57 0;
+#X connect 34 0 57 0;
+#X connect 35 0 57 0;
+#X connect 36 0 57 0;
+#X connect 37 0 38 0;
+#X connect 38 0 50 0;
+#X connect 39 0 40 0;
+#X connect 40 0 54 0;
+#X connect 41 0 42 0;
+#X connect 42 0 51 0;
+#X connect 43 0 44 0;
+#X connect 44 0 56 0;
+#X connect 45 0 71 0;
+#X connect 46 0 57 0;
+#X connect 47 0 57 0;
+#X connect 48 0 57 0;
+#X connect 49 0 57 0;
+#X connect 50 0 57 0;
+#X connect 51 0 57 0;
+#X connect 52 0 57 0;
+#X connect 53 0 57 0;
+#X connect 54 0 57 0;
+#X connect 55 0 57 0;
+#X connect 56 0 57 0;
+#X connect 58 0 57 0;
+#X connect 59 0 57 0;
+#X connect 60 0 57 0;
+#X connect 61 0 32 0;
+#X connect 63 0 64 0;
+#X connect 65 0 66 0;
+#X connect 67 0 57 0;
+#X connect 67 2 57 0;
+#X connect 68 0 67 0;
+#X connect 69 0 48 0;
+#X connect 69 0 46 0;
+#X connect 70 0 57 0;
+#X connect 71 0 2 0;
+#X connect 72 0 68 0;
+#X connect 73 0 72 0;
+#X connect 74 0 57 0;
+#X connect 75 0 76 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/07.texture/06.ripple.pd b/packages/noncvs/windows/extra/Gem/examples/07.texture/06.ripple.pd
index a329550b..41026916 100644
--- a/packages/noncvs/windows/extra/Gem/examples/07.texture/06.ripple.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/07.texture/06.ripple.pd
@@ -1,114 +1,114 @@
-#N canvas 153 39 582 638 10;
-#X obj 299 39 openpanel;
-#X msg 34 50 dimen 640 480;
-#X obj 174 115 gemhead;
-#X msg 381 41 auto \$1;
-#X obj 384 13 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X floatatom 185 429 5 0 0 0 - - -;
-#X obj 299 11 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X msg 72 92 profile 1;
-#X msg 81 130 profile 0;
-#X msg 384 84 open ../data/anim-1.mov;
-#X msg 299 66 open \$1;
-#X obj 113 429 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X floatatom 198 445 5 0 0 0 - - -;
-#X floatatom 227 460 5 0 0 0 - - -;
-#X floatatom 214 261 5 0 0 0 - - -;
-#X floatatom 254 261 5 0 0 0 - - -;
-#X floatatom 295 261 5 0 0 0 - - -;
-#X floatatom 242 487 5 0 0 0 - - -;
-#X floatatom 196 306 5 0 0 0 - - -;
-#X floatatom 207 349 4 0 0 0 - - -;
-#X floatatom 240 349 4 0 0 0 - - -;
-#X floatatom 274 349 4 0 0 0 - - -;
-#X obj 174 171 pix_film;
-#X obj 174 324 scale 6;
-#X obj 174 278 translateXYZ 0 0 0;
-#X obj 174 212 pix_texture;
-#X obj 241 172 t f;
-#X msg 384 124 open ../data/alea.mpg;
-#X obj 174 366 rotateXYZ 0 0 0;
-#X obj 174 517 ripple;
-#X msg 384 104 open ../data/homer.avi;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 64 168 pd Gem.init;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 34 185 pd gemwin;
-#X connect 0 0 10 0;
-#X connect 1 0 32 0;
-#X connect 2 0 22 0;
-#X connect 3 0 22 0;
-#X connect 4 0 3 0;
-#X connect 5 0 29 1;
-#X connect 6 0 0 0;
-#X connect 7 0 32 0;
-#X connect 8 0 32 0;
-#X connect 9 0 22 0;
-#X connect 10 0 22 0;
-#X connect 11 0 29 0;
-#X connect 12 0 29 2;
-#X connect 13 0 29 3;
-#X connect 14 0 24 1;
-#X connect 15 0 24 2;
-#X connect 16 0 24 3;
-#X connect 17 0 29 4;
-#X connect 18 0 23 1;
-#X connect 19 0 28 1;
-#X connect 20 0 28 2;
-#X connect 21 0 28 3;
-#X connect 22 0 25 0;
-#X connect 22 2 26 0;
-#X connect 23 0 28 0;
-#X connect 24 0 23 0;
-#X connect 25 0 24 0;
-#X connect 26 0 22 1;
-#X connect 27 0 22 0;
-#X connect 28 0 29 0;
-#X connect 30 0 22 0;
-#X connect 31 0 32 0;
+#N canvas 153 39 582 638 10;
+#X obj 299 39 openpanel;
+#X msg 34 50 dimen 640 480;
+#X obj 174 115 gemhead;
+#X msg 381 41 auto \$1;
+#X obj 384 13 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X floatatom 185 429 5 0 0 0 - - -;
+#X obj 299 11 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X msg 72 92 profile 1;
+#X msg 81 130 profile 0;
+#X msg 384 84 open ../data/anim-1.mov;
+#X msg 299 66 open \$1;
+#X obj 113 429 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X floatatom 198 445 5 0 0 0 - - -;
+#X floatatom 227 460 5 0 0 0 - - -;
+#X floatatom 214 261 5 0 0 0 - - -;
+#X floatatom 254 261 5 0 0 0 - - -;
+#X floatatom 295 261 5 0 0 0 - - -;
+#X floatatom 242 487 5 0 0 0 - - -;
+#X floatatom 196 306 5 0 0 0 - - -;
+#X floatatom 207 349 4 0 0 0 - - -;
+#X floatatom 240 349 4 0 0 0 - - -;
+#X floatatom 274 349 4 0 0 0 - - -;
+#X obj 174 171 pix_film;
+#X obj 174 324 scale 6;
+#X obj 174 278 translateXYZ 0 0 0;
+#X obj 174 212 pix_texture;
+#X obj 241 172 t f;
+#X msg 384 124 open ../data/alea.mpg;
+#X obj 174 366 rotateXYZ 0 0 0;
+#X obj 174 517 ripple;
+#X msg 384 104 open ../data/homer.avi;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 64 168 pd Gem.init;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 34 185 pd gemwin;
+#X connect 0 0 10 0;
+#X connect 1 0 32 0;
+#X connect 2 0 22 0;
+#X connect 3 0 22 0;
+#X connect 4 0 3 0;
+#X connect 5 0 29 1;
+#X connect 6 0 0 0;
+#X connect 7 0 32 0;
+#X connect 8 0 32 0;
+#X connect 9 0 22 0;
+#X connect 10 0 22 0;
+#X connect 11 0 29 0;
+#X connect 12 0 29 2;
+#X connect 13 0 29 3;
+#X connect 14 0 24 1;
+#X connect 15 0 24 2;
+#X connect 16 0 24 3;
+#X connect 17 0 29 4;
+#X connect 18 0 23 1;
+#X connect 19 0 28 1;
+#X connect 20 0 28 2;
+#X connect 21 0 28 3;
+#X connect 22 0 25 0;
+#X connect 22 2 26 0;
+#X connect 23 0 28 0;
+#X connect 24 0 23 0;
+#X connect 25 0 24 0;
+#X connect 26 0 22 1;
+#X connect 27 0 22 0;
+#X connect 28 0 29 0;
+#X connect 30 0 22 0;
+#X connect 31 0 32 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/07.texture/07.feedback.pd b/packages/noncvs/windows/extra/Gem/examples/07.texture/07.feedback.pd
index a402cfe3..47d3c3ef 100644
--- a/packages/noncvs/windows/extra/Gem/examples/07.texture/07.feedback.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/07.texture/07.feedback.pd
@@ -1,92 +1,92 @@
-#N canvas 4 50 630 424 10;
-#X msg 320 121 snap;
-#X obj 320 68 gemhead 15;
-#X obj 39 64 gemhead 10;
-#X obj 39 126 scaleXYZ 6 0.1 6;
-#X obj 55 95 hsl 128 15 0.02 1.53 0 0 empty empty empty -2 -6 0 8 -262139
--1 -1 0 1;
-#X obj 39 259 cube 0.34;
-#X obj 320 260 rotateXYZ;
-#X obj 357 237 hsl 128 15 -34 34 0 0 empty empty empty -2 -6 0 8 -261879
--1 -1 6350 1;
-#X obj 40 364 light;
-#X obj 40 341 translateXYZ 0 0 4;
-#X obj 320 154 pix_snap2tex 0 0 512 512;
-#X obj 320 300 sphere 3.64 50;
-#X obj 40 318 gemhead 1;
-#X msg 354 216 0;
-#X obj 354 195 loadbang;
-#X obj 125 158 hsl 128 15 0 1 0 1 empty empty R 12 8 1 12 -261689 -1
--1 12700 1;
-#X obj 125 178 hsl 128 15 0 1 0 1 empty empty G 12 8 1 12 -225271 -1
--1 12700 1;
-#X obj 125 198 hsl 128 15 0 1 0 1 empty empty B 12 8 1 12 -228992 -1
--1 12700 1;
-#X obj 39 227 colorRGB 1 1 1;
-#X obj 320 92 trigger bang anything;
-#N canvas 89 204 317 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X obj 118 113 outlet;
-#X msg 118 81 reset \, dimen 512 512 \, lighting 1;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X restore 485 338 pd Gem.init;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 455 355 pd gemwin;
-#X connect 0 0 10 0;
-#X connect 1 0 19 0;
-#X connect 2 0 3 0;
-#X connect 3 0 18 0;
-#X connect 4 0 3 2;
-#X connect 6 0 11 0;
-#X connect 7 0 6 2;
-#X connect 9 0 8 0;
-#X connect 10 0 6 0;
-#X connect 12 0 9 0;
-#X connect 13 0 7 0;
-#X connect 14 0 13 0;
-#X connect 15 0 18 1;
-#X connect 16 0 18 2;
-#X connect 17 0 18 3;
-#X connect 18 0 5 0;
-#X connect 19 0 0 0;
-#X connect 19 1 10 0;
-#X connect 20 0 21 0;
+#N canvas 4 50 630 424 10;
+#X msg 320 121 snap;
+#X obj 320 68 gemhead 15;
+#X obj 39 64 gemhead 10;
+#X obj 39 126 scaleXYZ 6 0.1 6;
+#X obj 55 95 hsl 128 15 0.02 1.53 0 0 empty empty empty -2 -6 0 8 -262139
+-1 -1 0 1;
+#X obj 39 259 cube 0.34;
+#X obj 320 260 rotateXYZ;
+#X obj 357 237 hsl 128 15 -34 34 0 0 empty empty empty -2 -6 0 8 -261879
+-1 -1 6350 1;
+#X obj 40 364 light;
+#X obj 40 341 translateXYZ 0 0 4;
+#X obj 320 154 pix_snap2tex 0 0 512 512;
+#X obj 320 300 sphere 3.64 50;
+#X obj 40 318 gemhead 1;
+#X msg 354 216 0;
+#X obj 354 195 loadbang;
+#X obj 125 158 hsl 128 15 0 1 0 1 empty empty R 12 8 1 12 -261689 -1
+-1 12700 1;
+#X obj 125 178 hsl 128 15 0 1 0 1 empty empty G 12 8 1 12 -225271 -1
+-1 12700 1;
+#X obj 125 198 hsl 128 15 0 1 0 1 empty empty B 12 8 1 12 -228992 -1
+-1 12700 1;
+#X obj 39 227 colorRGB 1 1 1;
+#X obj 320 92 trigger bang anything;
+#N canvas 89 204 317 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X obj 118 113 outlet;
+#X msg 118 81 reset \, dimen 512 512 \, lighting 1;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X restore 485 338 pd Gem.init;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 455 355 pd gemwin;
+#X connect 0 0 10 0;
+#X connect 1 0 19 0;
+#X connect 2 0 3 0;
+#X connect 3 0 18 0;
+#X connect 4 0 3 2;
+#X connect 6 0 11 0;
+#X connect 7 0 6 2;
+#X connect 9 0 8 0;
+#X connect 10 0 6 0;
+#X connect 12 0 9 0;
+#X connect 13 0 7 0;
+#X connect 14 0 13 0;
+#X connect 15 0 18 1;
+#X connect 16 0 18 2;
+#X connect 17 0 18 3;
+#X connect 18 0 5 0;
+#X connect 19 0 0 0;
+#X connect 19 1 10 0;
+#X connect 20 0 21 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/07.texture/08.MotionBlur.pd b/packages/noncvs/windows/extra/Gem/examples/07.texture/08.MotionBlur.pd
index ca5e1211..37b6de31 100644
--- a/packages/noncvs/windows/extra/Gem/examples/07.texture/08.MotionBlur.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/07.texture/08.MotionBlur.pd
@@ -1,130 +1,130 @@
-#N canvas 13 0 1023 406 10;
-#X obj 33 260 world_light;
-#X msg 282 164 bang;
-#X obj 282 144 metro 500;
-#X obj 282 126 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X obj 593 113 gemhead -1;
-#X obj 593 234 pix_snap2tex;
-#X msg 638 210 0 0;
-#X msg 684 209 500 500;
-#X obj 638 187 t b b;
-#X obj 593 194 t b a;
-#X obj 593 272 alpha;
-#X floatatom 766 262 5 0 0 0 - - -;
-#X obj 593 340 square 4;
-#X obj 771 114 vsl 15 128 0 1 0 0 empty empty empty 0 -8 0 8 -262144
--1 -1 0 1;
-#X msg 47 118 frame \$1;
-#X floatatom 47 100 5 0 0 0 - - -;
-#X obj 593 296 colorRGB 1 1 1 0.888;
-#X obj 33 236 gemhead;
-#X obj 638 168 loadbang;
-#N canvas 0 0 749 590 moving 0;
-#X obj 193 81 gemhead;
-#X obj 193 384 translateXYZ;
-#X obj 276 67 t b b;
-#X obj 276 104 random 100;
-#X obj 193 357 colorRGB 1 1 1;
-#X obj 276 39 inlet;
-#X obj 193 411 teapot;
-#X obj 276 135 pack 0 1000;
-#X obj 276 181 / 100;
-#X obj 276 201 * 8;
-#X obj 276 221 - 4;
-#X obj 375 104 random 100;
-#X obj 375 135 pack 0 1000;
-#X obj 375 181 / 100;
-#X obj 375 201 * 8;
-#X obj 375 221 - 4;
-#X obj 276 159 line 50 10;
-#X obj 375 159 line 50 10;
-#X connect 0 0 4 0;
-#X connect 1 0 6 0;
-#X connect 2 0 3 0;
-#X connect 2 1 11 0;
-#X connect 3 0 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 2 0;
-#X connect 7 0 16 0;
-#X connect 8 0 9 0;
-#X connect 8 0 4 1;
-#X connect 9 0 10 0;
-#X connect 10 0 1 1;
-#X connect 11 0 12 0;
-#X connect 12 0 17 0;
-#X connect 13 0 14 0;
-#X connect 13 0 4 2;
-#X connect 14 0 15 0;
-#X connect 15 0 1 2;
-#X connect 16 0 8 0;
-#X connect 17 0 13 0;
-#X restore 282 186 pd moving object;
-#X text 267 31 FullScreen Motion Blur:;
-#N canvas 87 154 414 208 Gem.init 0;
-#X obj 118 46 loadbang;
-#X obj 118 113 outlet;
-#X msg 118 81 reset \, frame 100 \, lighting 1;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X restore 77 143 pd Gem.init;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 47 160 pd gemwin;
-#X connect 1 0 19 0;
-#X connect 2 0 1 0;
-#X connect 3 0 2 0;
-#X connect 4 0 9 0;
-#X connect 5 0 10 0;
-#X connect 6 0 5 1;
-#X connect 7 0 5 2;
-#X connect 8 0 6 0;
-#X connect 8 1 7 0;
-#X connect 9 0 5 0;
-#X connect 9 1 5 0;
-#X connect 10 0 16 0;
-#X connect 11 0 16 4;
-#X connect 13 0 11 0;
-#X connect 14 0 22 0;
-#X connect 15 0 14 0;
-#X connect 16 0 12 0;
-#X connect 17 0 0 0;
-#X connect 18 0 8 0;
-#X connect 21 0 22 0;
+#N canvas 13 0 1023 406 10;
+#X obj 33 260 world_light;
+#X msg 282 164 bang;
+#X obj 282 144 metro 500;
+#X obj 282 126 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 593 113 gemhead -1;
+#X obj 593 234 pix_snap2tex;
+#X msg 638 210 0 0;
+#X msg 684 209 500 500;
+#X obj 638 187 t b b;
+#X obj 593 194 t b a;
+#X obj 593 272 alpha;
+#X floatatom 766 262 5 0 0 0 - - -;
+#X obj 593 340 square 4;
+#X obj 771 114 vsl 15 128 0 1 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X msg 47 118 frame \$1;
+#X floatatom 47 100 5 0 0 0 - - -;
+#X obj 593 296 colorRGB 1 1 1 0.888;
+#X obj 33 236 gemhead;
+#X obj 638 168 loadbang;
+#N canvas 0 0 749 590 moving 0;
+#X obj 193 81 gemhead;
+#X obj 193 384 translateXYZ;
+#X obj 276 67 t b b;
+#X obj 276 104 random 100;
+#X obj 193 357 colorRGB 1 1 1;
+#X obj 276 39 inlet;
+#X obj 193 411 teapot;
+#X obj 276 135 pack 0 1000;
+#X obj 276 181 / 100;
+#X obj 276 201 * 8;
+#X obj 276 221 - 4;
+#X obj 375 104 random 100;
+#X obj 375 135 pack 0 1000;
+#X obj 375 181 / 100;
+#X obj 375 201 * 8;
+#X obj 375 221 - 4;
+#X obj 276 159 line 50 10;
+#X obj 375 159 line 50 10;
+#X connect 0 0 4 0;
+#X connect 1 0 6 0;
+#X connect 2 0 3 0;
+#X connect 2 1 11 0;
+#X connect 3 0 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 2 0;
+#X connect 7 0 16 0;
+#X connect 8 0 9 0;
+#X connect 8 0 4 1;
+#X connect 9 0 10 0;
+#X connect 10 0 1 1;
+#X connect 11 0 12 0;
+#X connect 12 0 17 0;
+#X connect 13 0 14 0;
+#X connect 13 0 4 2;
+#X connect 14 0 15 0;
+#X connect 15 0 1 2;
+#X connect 16 0 8 0;
+#X connect 17 0 13 0;
+#X restore 282 186 pd moving object;
+#X text 267 31 FullScreen Motion Blur:;
+#N canvas 87 154 414 208 Gem.init 0;
+#X obj 118 46 loadbang;
+#X obj 118 113 outlet;
+#X msg 118 81 reset \, frame 100 \, lighting 1;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X restore 77 143 pd Gem.init;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 47 160 pd gemwin;
+#X connect 1 0 19 0;
+#X connect 2 0 1 0;
+#X connect 3 0 2 0;
+#X connect 4 0 9 0;
+#X connect 5 0 10 0;
+#X connect 6 0 5 1;
+#X connect 7 0 5 2;
+#X connect 8 0 6 0;
+#X connect 8 1 7 0;
+#X connect 9 0 5 0;
+#X connect 9 1 5 0;
+#X connect 10 0 16 0;
+#X connect 11 0 16 4;
+#X connect 13 0 11 0;
+#X connect 14 0 22 0;
+#X connect 15 0 14 0;
+#X connect 16 0 12 0;
+#X connect 17 0 0 0;
+#X connect 18 0 8 0;
+#X connect 21 0 22 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/07.texture/09.sharedTextures.pd b/packages/noncvs/windows/extra/Gem/examples/07.texture/09.sharedTextures.pd
index bd8cb848..f30b8af0 100644
--- a/packages/noncvs/windows/extra/Gem/examples/07.texture/09.sharedTextures.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/07.texture/09.sharedTextures.pd
@@ -1,79 +1,79 @@
-#N canvas 180 41 1035 404 10;
-#X floatatom 370 259 0 0 0 0 - - -;
-#X obj 325 122 pix_image ../data/fractal.JPG;
-#X obj 325 155 pix_texture;
-#X obj 325 279 rotate 0 1 1;
-#X obj 325 307 cube;
-#X obj 704 209 pix_texture;
-#X obj 325 237 translateXYZ -2 1 0;
-#X obj 704 283 circle;
-#X obj 704 253 translateXYZ 2 1 0;
-#X obj 325 84 gemhead 10;
-#X obj 704 154 gemhead 30;
-#X obj 570 272 gemhead 20;
-#X obj 570 299 pix_texture;
-#X obj 570 328 pix_coordinate;
-#X obj 570 351 translateXYZ 0 -1 0;
-#X obj 570 381 triangle;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 121 174 pd Gem.init;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 91 191 pd gemwin;
-#X connect 0 0 3 1;
-#X connect 1 0 2 0;
-#X connect 2 0 6 0;
-#X connect 2 1 5 1;
-#X connect 3 0 4 0;
-#X connect 5 0 8 0;
-#X connect 6 0 3 0;
-#X connect 8 0 7 0;
-#X connect 9 0 1 0;
-#X connect 10 0 5 0;
-#X connect 11 0 12 0;
-#X connect 12 0 13 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 16 0 17 0;
+#N canvas 180 41 1035 404 10;
+#X floatatom 370 259 0 0 0 0 - - -;
+#X obj 325 122 pix_image ../data/fractal.JPG;
+#X obj 325 155 pix_texture;
+#X obj 325 279 rotate 0 1 1;
+#X obj 325 307 cube;
+#X obj 704 209 pix_texture;
+#X obj 325 237 translateXYZ -2 1 0;
+#X obj 704 283 circle;
+#X obj 704 253 translateXYZ 2 1 0;
+#X obj 325 84 gemhead 10;
+#X obj 704 154 gemhead 30;
+#X obj 570 272 gemhead 20;
+#X obj 570 299 pix_texture;
+#X obj 570 328 pix_coordinate;
+#X obj 570 351 translateXYZ 0 -1 0;
+#X obj 570 381 triangle;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 121 174 pd Gem.init;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 91 191 pd gemwin;
+#X connect 0 0 3 1;
+#X connect 1 0 2 0;
+#X connect 2 0 6 0;
+#X connect 2 1 5 1;
+#X connect 3 0 4 0;
+#X connect 5 0 8 0;
+#X connect 6 0 3 0;
+#X connect 8 0 7 0;
+#X connect 9 0 1 0;
+#X connect 10 0 5 0;
+#X connect 11 0 12 0;
+#X connect 12 0 13 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 16 0 17 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/07.texture/10.framebuffer.pd b/packages/noncvs/windows/extra/Gem/examples/07.texture/10.framebuffer.pd
index 7717e47a..3fc2c65f 100644
--- a/packages/noncvs/windows/extra/Gem/examples/07.texture/10.framebuffer.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/07.texture/10.framebuffer.pd
@@ -1,195 +1,195 @@
-#N canvas 446 42 834 667 10;
-#X obj 202 83 gemhead 20;
-#X obj 491 166 gemhead;
-#X floatatom 532 391 5 0 0 0 - - -;
-#X floatatom 481 392 5 0 0 0 - - -;
-#X obj 581 389 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
--262144 -1 -1 0 256;
-#X msg 286 97 dim 320 240;
-#X msg 286 117 dim 256 256;
-#X obj 278 634 rotateXYZ;
-#X floatatom 334 617 5 0 0 0 - - -;
-#X floatatom 346 636 5 0 0 0 - - -;
-#X floatatom 295 617 5 0 0 0 - - -;
-#X floatatom 299 443 5 0 0 0 - - -;
-#X floatatom 348 443 5 0 0 0 - - -;
-#X floatatom 250 443 5 0 0 0 - - -;
-#X obj 278 333 separator;
-#X obj -56 319 gemhead 1;
-#X obj -56 339 world_light;
-#X msg 286 137 dim 512 512;
-#X floatatom 507 322 5 0 0 0 - - -;
-#X floatatom 582 333 5 0 0 0 - - -;
-#X msg 289 45 color 0 0 1 0;
-#X msg 286 157 dim 1024 1024;
-#X msg 289 69 color 0 0 0 0;
-#X obj 203 507 rotateXYZ;
-#X floatatom 226 490 5 0 0 0 - - -;
-#X floatatom 269 490 5 0 0 0 - - -;
-#X floatatom 318 496 5 0 0 0 - - -;
-#X msg -21 72 color 0 0 0 0;
-#X obj 278 554 t a b;
-#X msg -33 51 color 0 1 1 0;
-#X msg -12 121 lighting \$1;
-#X obj -12 100 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X floatatom 554 433 5 0 0 0 - - -;
-#X obj 202 302 t a a;
-#X obj 202 355 color 1 1 1;
-#X obj 203 413 pix_texture;
-#X msg 406 94 mode \$1;
-#X obj 406 67 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X obj 203 467 translateXYZ -0.5 -0.8 -1;
-#X msg 229 374 open data/fractal.JPG;
-#X floatatom 376 507 5 0 0 0 - - -;
-#X msg 289 10 type FLOAT;
-#X obj 460 131 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X floatatom 342 281 5 0 0 0 - - -;
-#X obj 203 527 sphere 0.4;
-#X obj 491 357 rotateXYZ 28 0 200;
-#X obj 491 431 square 2;
-#X obj 491 410 translateXYZ 0 0 1.53;
-#X obj 202 281 translateXYZ 0 0 -4;
-#X obj 278 681 cube 0.57;
-#X obj 278 527 translateXYZ 2 0 -1;
-#X obj 202 135 color 0 1 0;
-#X obj 179 195 cnv 15 400 60 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 202 200 gemframebuffer;
-#X obj 491 233 pix_texture;
-#X obj -56 410 gemhead;
-#X obj -56 459 teapot 0.3;
-#X obj -56 435 translateXYZ -3 3 0;
-#X text -52 726 this example renders a scene (cube and sphere) into
-a framebuffer \, which is then used as a texture onto a square. teapot
-and square live in a "meta"-world in relation to cube and sphere.;
-#X obj 362 575 % 360;
-#X obj 308 575 i;
-#X obj 491 265 t a b;
-#X obj 567 286 + 1;
-#X obj 334 575 + 5;
-#X obj 521 286 i 200;
-#X obj 595 286 % 3600;
-#X obj 582 313 / 10;
-#X text 435 65 <-- click me to change between normalized(0) and rectangle(1)
-textures.;
-#X text 399 717 you need framebuffer support on your gfx-card;
-#X text 395 738 (and its driver!);
-#X obj 202 394 pix_image ../data/fractal.JPG;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore -3 160 pd Gem.init;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore -33 177 pd gemwin;
-#X connect 0 0 51 0;
-#X connect 1 0 54 0;
-#X connect 2 0 47 2;
-#X connect 3 0 47 1;
-#X connect 4 0 47 3;
-#X connect 5 0 53 0;
-#X connect 6 0 53 0;
-#X connect 7 0 49 0;
-#X connect 8 0 7 2;
-#X connect 9 0 7 3;
-#X connect 10 0 7 1;
-#X connect 11 0 38 2;
-#X connect 12 0 38 3;
-#X connect 13 0 38 1;
-#X connect 14 0 50 0;
-#X connect 15 0 16 0;
-#X connect 17 0 53 0;
-#X connect 18 0 45 1;
-#X connect 19 0 45 3;
-#X connect 20 0 53 0;
-#X connect 21 0 53 0;
-#X connect 22 0 53 0;
-#X connect 23 0 44 0;
-#X connect 24 0 23 1;
-#X connect 25 0 23 2;
-#X connect 26 0 23 3;
-#X connect 27 0 72 0;
-#X connect 28 0 7 0;
-#X connect 28 1 60 0;
-#X connect 29 0 72 0;
-#X connect 30 0 72 0;
-#X connect 31 0 30 0;
-#X connect 32 0 46 1;
-#X connect 33 0 34 0;
-#X connect 33 1 14 0;
-#X connect 34 0 70 0;
-#X connect 35 0 38 0;
-#X connect 36 0 53 0;
-#X connect 37 0 36 0;
-#X connect 38 0 23 0;
-#X connect 39 0 70 0;
-#X connect 40 0 50 3;
-#X connect 41 0 53 0;
-#X connect 42 0 1 0;
-#X connect 43 0 48 3;
-#X connect 45 0 47 0;
-#X connect 47 0 46 0;
-#X connect 48 0 33 0;
-#X connect 50 0 28 0;
-#X connect 51 0 53 0;
-#X connect 53 0 48 0;
-#X connect 53 1 54 1;
-#X connect 54 0 61 0;
-#X connect 55 0 57 0;
-#X connect 57 0 56 0;
-#X connect 59 0 60 1;
-#X connect 60 0 8 0;
-#X connect 60 0 63 0;
-#X connect 61 0 45 0;
-#X connect 61 1 64 0;
-#X connect 62 0 65 0;
-#X connect 63 0 59 0;
-#X connect 64 0 62 0;
-#X connect 64 0 66 0;
-#X connect 65 0 64 1;
-#X connect 66 0 19 0;
-#X connect 70 0 35 0;
-#X connect 71 0 72 0;
+#N canvas 446 42 834 667 10;
+#X obj 202 83 gemhead 20;
+#X obj 491 166 gemhead;
+#X floatatom 532 391 5 0 0 0 - - -;
+#X floatatom 481 392 5 0 0 0 - - -;
+#X obj 581 389 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
+-262144 -1 -1 0 256;
+#X msg 286 97 dim 320 240;
+#X msg 286 117 dim 256 256;
+#X obj 278 634 rotateXYZ;
+#X floatatom 334 617 5 0 0 0 - - -;
+#X floatatom 346 636 5 0 0 0 - - -;
+#X floatatom 295 617 5 0 0 0 - - -;
+#X floatatom 299 443 5 0 0 0 - - -;
+#X floatatom 348 443 5 0 0 0 - - -;
+#X floatatom 250 443 5 0 0 0 - - -;
+#X obj 278 333 separator;
+#X obj -56 319 gemhead 1;
+#X obj -56 339 world_light;
+#X msg 286 137 dim 512 512;
+#X floatatom 507 322 5 0 0 0 - - -;
+#X floatatom 582 333 5 0 0 0 - - -;
+#X msg 289 45 color 0 0 1 0;
+#X msg 286 157 dim 1024 1024;
+#X msg 289 69 color 0 0 0 0;
+#X obj 203 507 rotateXYZ;
+#X floatatom 226 490 5 0 0 0 - - -;
+#X floatatom 269 490 5 0 0 0 - - -;
+#X floatatom 318 496 5 0 0 0 - - -;
+#X msg -21 72 color 0 0 0 0;
+#X obj 278 554 t a b;
+#X msg -33 51 color 0 1 1 0;
+#X msg -12 121 lighting \$1;
+#X obj -12 100 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X floatatom 554 433 5 0 0 0 - - -;
+#X obj 202 302 t a a;
+#X obj 202 355 color 1 1 1;
+#X obj 203 413 pix_texture;
+#X msg 406 94 mode \$1;
+#X obj 406 67 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 203 467 translateXYZ -0.5 -0.8 -1;
+#X msg 229 374 open data/fractal.JPG;
+#X floatatom 376 507 5 0 0 0 - - -;
+#X msg 289 10 type FLOAT;
+#X obj 460 131 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X floatatom 342 281 5 0 0 0 - - -;
+#X obj 203 527 sphere 0.4;
+#X obj 491 357 rotateXYZ 28 0 200;
+#X obj 491 431 square 2;
+#X obj 491 410 translateXYZ 0 0 1.53;
+#X obj 202 281 translateXYZ 0 0 -4;
+#X obj 278 681 cube 0.57;
+#X obj 278 527 translateXYZ 2 0 -1;
+#X obj 202 135 color 0 1 0;
+#X obj 179 195 cnv 15 400 60 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 202 200 gemframebuffer;
+#X obj 491 233 pix_texture;
+#X obj -56 410 gemhead;
+#X obj -56 459 teapot 0.3;
+#X obj -56 435 translateXYZ -3 3 0;
+#X text -52 726 this example renders a scene (cube and sphere) into
+a framebuffer \, which is then used as a texture onto a square. teapot
+and square live in a "meta"-world in relation to cube and sphere.;
+#X obj 362 575 % 360;
+#X obj 308 575 i;
+#X obj 491 265 t a b;
+#X obj 567 286 + 1;
+#X obj 334 575 + 5;
+#X obj 521 286 i 200;
+#X obj 595 286 % 3600;
+#X obj 582 313 / 10;
+#X text 435 65 <-- click me to change between normalized(0) and rectangle(1)
+textures.;
+#X text 399 717 you need framebuffer support on your gfx-card;
+#X text 395 738 (and its driver!);
+#X obj 202 394 pix_image ../data/fractal.JPG;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore -3 160 pd Gem.init;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore -33 177 pd gemwin;
+#X connect 0 0 51 0;
+#X connect 1 0 54 0;
+#X connect 2 0 47 2;
+#X connect 3 0 47 1;
+#X connect 4 0 47 3;
+#X connect 5 0 53 0;
+#X connect 6 0 53 0;
+#X connect 7 0 49 0;
+#X connect 8 0 7 2;
+#X connect 9 0 7 3;
+#X connect 10 0 7 1;
+#X connect 11 0 38 2;
+#X connect 12 0 38 3;
+#X connect 13 0 38 1;
+#X connect 14 0 50 0;
+#X connect 15 0 16 0;
+#X connect 17 0 53 0;
+#X connect 18 0 45 1;
+#X connect 19 0 45 3;
+#X connect 20 0 53 0;
+#X connect 21 0 53 0;
+#X connect 22 0 53 0;
+#X connect 23 0 44 0;
+#X connect 24 0 23 1;
+#X connect 25 0 23 2;
+#X connect 26 0 23 3;
+#X connect 27 0 72 0;
+#X connect 28 0 7 0;
+#X connect 28 1 60 0;
+#X connect 29 0 72 0;
+#X connect 30 0 72 0;
+#X connect 31 0 30 0;
+#X connect 32 0 46 1;
+#X connect 33 0 34 0;
+#X connect 33 1 14 0;
+#X connect 34 0 70 0;
+#X connect 35 0 38 0;
+#X connect 36 0 53 0;
+#X connect 37 0 36 0;
+#X connect 38 0 23 0;
+#X connect 39 0 70 0;
+#X connect 40 0 50 3;
+#X connect 41 0 53 0;
+#X connect 42 0 1 0;
+#X connect 43 0 48 3;
+#X connect 45 0 47 0;
+#X connect 47 0 46 0;
+#X connect 48 0 33 0;
+#X connect 50 0 28 0;
+#X connect 51 0 53 0;
+#X connect 53 0 48 0;
+#X connect 53 1 54 1;
+#X connect 54 0 61 0;
+#X connect 55 0 57 0;
+#X connect 57 0 56 0;
+#X connect 59 0 60 1;
+#X connect 60 0 8 0;
+#X connect 60 0 63 0;
+#X connect 61 0 45 0;
+#X connect 61 1 64 0;
+#X connect 62 0 65 0;
+#X connect 63 0 59 0;
+#X connect 64 0 62 0;
+#X connect 64 0 66 0;
+#X connect 65 0 64 1;
+#X connect 66 0 19 0;
+#X connect 70 0 35 0;
+#X connect 71 0 72 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/07.texture/11.multiples_gemhead_in_a_framebuffer.pd b/packages/noncvs/windows/extra/Gem/examples/07.texture/11.multiples_gemhead_in_a_framebuffer.pd
index 69ef4705..27a18bb9 100644
--- a/packages/noncvs/windows/extra/Gem/examples/07.texture/11.multiples_gemhead_in_a_framebuffer.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/07.texture/11.multiples_gemhead_in_a_framebuffer.pd
@@ -1,116 +1,116 @@
-#N canvas 39 70 764 536 10;
-#X obj 108 279 cnv 15 300 80 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 112 112 cnv 15 300 60 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 116 50 gemhead;
-#X obj 112 440 translateXYZ 1 0 0;
-#X obj 260 443 translateXYZ -1 0 0;
-#X obj 260 483 circle;
-#X obj 116 239 rotateXYZ;
-#X floatatom 156 222 5 0 0 0 - - -;
-#X floatatom 194 423 5 0 0 0 - - -;
-#X floatatom 346 426 5 0 0 0 - - -;
-#X obj 322 50 gemhead;
-#X floatatom 342 71 5 0 0 0 - - -;
-#X obj 116 114 gemframebuffer;
-#X obj 112 483 triangle;
-#X obj 322 147 pix_texture;
-#X obj 116 197 translateXYZ 0 0 -4;
-#X obj 260 463 color 1 0 0;
-#X obj 322 89 rotateXYZ;
-#X obj 322 195 square 3;
-#X obj 148 282 s gemfbhead_trigger1;
-#X obj 116 259 t b b;
-#X obj 112 336 r gemfbhead_trigger1;
-#X obj 112 420 gemhead;
-#X msg 44 389 0;
-#X obj 44 366 loadbang;
-#X obj 260 423 gemhead;
-#X obj 260 336 r gemfbhead_trigger2;
-#X obj 116 306 s gemfbhead_trigger2;
-#X text 203 221 <- rotate all the render chain;
-#X text 201 238 (it change even after a new gemhead \, this is not
-very intuitive);
-#X text 323 283 <- continue the render chain. The gemhead did not start
-a new gemchain \, because it is banged during a frambuffer rendering
-;
-#X text 113 10 This example show how to draw multiples gemhead in a
-single framebuffer;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 625 90 pd Gem.init;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 1 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 595 107 pd gemwin;
-#X msg 595 63 color \$1 \$1 \$1;
-#X obj 595 44 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-0.5;
-#X connect 2 0 12 0;
-#X connect 3 0 13 0;
-#X connect 4 0 16 0;
-#X connect 6 0 20 0;
-#X connect 7 0 6 2;
-#X connect 8 0 3 2;
-#X connect 9 0 4 2;
-#X connect 10 0 17 0;
-#X connect 11 0 17 1;
-#X connect 12 0 15 0;
-#X connect 12 1 14 1;
-#X connect 14 0 18 0;
-#X connect 15 0 6 0;
-#X connect 16 0 5 0;
-#X connect 17 0 14 0;
-#X connect 20 0 27 0;
-#X connect 20 1 19 0;
-#X connect 21 0 22 0;
-#X connect 22 0 3 0;
-#X connect 23 0 22 0;
-#X connect 23 0 25 0;
-#X connect 24 0 23 0;
-#X connect 25 0 4 0;
-#X connect 26 0 25 0;
-#X connect 32 0 33 0;
-#X connect 34 0 33 0;
-#X connect 35 0 34 0;
+#N canvas 39 70 764 536 10;
+#X obj 108 279 cnv 15 300 80 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 112 112 cnv 15 300 60 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 116 50 gemhead;
+#X obj 112 440 translateXYZ 1 0 0;
+#X obj 260 443 translateXYZ -1 0 0;
+#X obj 260 483 circle;
+#X obj 116 239 rotateXYZ;
+#X floatatom 156 222 5 0 0 0 - - -;
+#X floatatom 194 423 5 0 0 0 - - -;
+#X floatatom 346 426 5 0 0 0 - - -;
+#X obj 322 50 gemhead;
+#X floatatom 342 71 5 0 0 0 - - -;
+#X obj 116 114 gemframebuffer;
+#X obj 112 483 triangle;
+#X obj 322 147 pix_texture;
+#X obj 116 197 translateXYZ 0 0 -4;
+#X obj 260 463 color 1 0 0;
+#X obj 322 89 rotateXYZ;
+#X obj 322 195 square 3;
+#X obj 148 282 s gemfbhead_trigger1;
+#X obj 116 259 t b b;
+#X obj 112 336 r gemfbhead_trigger1;
+#X obj 112 420 gemhead;
+#X msg 44 389 0;
+#X obj 44 366 loadbang;
+#X obj 260 423 gemhead;
+#X obj 260 336 r gemfbhead_trigger2;
+#X obj 116 306 s gemfbhead_trigger2;
+#X text 203 221 <- rotate all the render chain;
+#X text 201 238 (it change even after a new gemhead \, this is not
+very intuitive);
+#X text 323 283 <- continue the render chain. The gemhead did not start
+a new gemchain \, because it is banged during a frambuffer rendering
+;
+#X text 113 10 This example show how to draw multiples gemhead in a
+single framebuffer;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 625 90 pd Gem.init;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 1 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 595 107 pd gemwin;
+#X msg 595 63 color \$1 \$1 \$1;
+#X obj 595 44 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+0.5;
+#X connect 2 0 12 0;
+#X connect 3 0 13 0;
+#X connect 4 0 16 0;
+#X connect 6 0 20 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 2;
+#X connect 9 0 4 2;
+#X connect 10 0 17 0;
+#X connect 11 0 17 1;
+#X connect 12 0 15 0;
+#X connect 12 1 14 1;
+#X connect 14 0 18 0;
+#X connect 15 0 6 0;
+#X connect 16 0 5 0;
+#X connect 17 0 14 0;
+#X connect 20 0 27 0;
+#X connect 20 1 19 0;
+#X connect 21 0 22 0;
+#X connect 22 0 3 0;
+#X connect 23 0 22 0;
+#X connect 23 0 25 0;
+#X connect 24 0 23 0;
+#X connect 25 0 4 0;
+#X connect 26 0 25 0;
+#X connect 32 0 33 0;
+#X connect 34 0 33 0;
+#X connect 35 0 34 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/08.io/01.Mouse.pd b/packages/noncvs/windows/extra/Gem/examples/08.io/01.Mouse.pd
index fcf7d936..d260c3d8 100644
--- a/packages/noncvs/windows/extra/Gem/examples/08.io/01.Mouse.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/08.io/01.Mouse.pd
@@ -1,84 +1,84 @@
-#N canvas 396 160 600 500 10;
-#X text 303 95 left button;
-#X obj 302 193 spigot;
-#X floatatom 391 324 0 0 0 0 - - -;
-#X obj 193 275 gemhead;
-#X floatatom 302 322 0 0 0 0 - - -;
-#X obj 193 401 square;
-#X text 109 29 this demonstrates how to use gemmouse;
-#X obj 193 304 color 1 0 0;
-#X obj 193 358 translateXYZ;
-#X obj 302 262 - 1;
-#X obj 302 294 * 4;
-#X obj 391 189 spigot;
-#X text 272 66 the outputs of gemmouse are:;
-#X text 191 94 x pos;
-#X text 247 94 y pos;
-#X text 396 95 middle button;
-#X text 499 96 right button;
-#X obj 391 267 - 1;
-#X obj 391 296 * -4;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 64 238 pd Gem.init;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 1 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 34 255 pd gemwin;
-#X obj 338 143 gemmouse 2 2;
-#X connect 1 0 9 0;
-#X connect 2 0 8 2;
-#X connect 3 0 7 0;
-#X connect 4 0 8 1;
-#X connect 7 0 8 0;
-#X connect 8 0 5 0;
-#X connect 9 0 10 0;
-#X connect 10 0 4 0;
-#X connect 11 0 17 0;
-#X connect 17 0 18 0;
-#X connect 18 0 2 0;
-#X connect 19 0 20 0;
-#X connect 21 0 1 0;
-#X connect 21 1 11 0;
-#X connect 21 2 11 1;
-#X connect 21 2 1 1;
+#N canvas 396 160 600 500 10;
+#X text 303 95 left button;
+#X obj 302 193 spigot;
+#X floatatom 391 324 0 0 0 0 - - -;
+#X obj 193 275 gemhead;
+#X floatatom 302 322 0 0 0 0 - - -;
+#X obj 193 401 square;
+#X text 109 29 this demonstrates how to use gemmouse;
+#X obj 193 304 color 1 0 0;
+#X obj 193 358 translateXYZ;
+#X obj 302 262 - 1;
+#X obj 302 294 * 4;
+#X obj 391 189 spigot;
+#X text 272 66 the outputs of gemmouse are:;
+#X text 191 94 x pos;
+#X text 247 94 y pos;
+#X text 396 95 middle button;
+#X text 499 96 right button;
+#X obj 391 267 - 1;
+#X obj 391 296 * -4;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 64 238 pd Gem.init;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 1 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 34 255 pd gemwin;
+#X obj 338 143 gemmouse 2 2;
+#X connect 1 0 9 0;
+#X connect 2 0 8 2;
+#X connect 3 0 7 0;
+#X connect 4 0 8 1;
+#X connect 7 0 8 0;
+#X connect 8 0 5 0;
+#X connect 9 0 10 0;
+#X connect 10 0 4 0;
+#X connect 11 0 17 0;
+#X connect 17 0 18 0;
+#X connect 18 0 2 0;
+#X connect 19 0 20 0;
+#X connect 21 0 1 0;
+#X connect 21 1 11 0;
+#X connect 21 2 11 1;
+#X connect 21 2 1 1;
diff --git a/packages/noncvs/windows/extra/Gem/examples/08.io/02.Tablet.pd b/packages/noncvs/windows/extra/Gem/examples/08.io/02.Tablet.pd
index c633ee75..8fa0fcdf 100644
--- a/packages/noncvs/windows/extra/Gem/examples/08.io/02.Tablet.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/08.io/02.Tablet.pd
@@ -1,124 +1,124 @@
-#N canvas 308 107 688 553 10;
-#X msg 197 266 bang;
-#X obj 375 326 spigot;
-#X floatatom 448 437 0 0 0;
-#X obj 12 444 gemwin;
-#X msg 26 150 create;
-#X obj 197 299 gemhead;
-#X msg 38 179 destroy;
-#X msg 63 227 1;
-#X msg 70 251 0;
-#X floatatom 375 438 0 0 0;
-#X obj 197 358 translateXYZ;
-#X obj 375 382 - 1;
-#X obj 375 410 * 4;
-#X obj 448 321 spigot;
-#X text 120 71 x pos;
-#X text 171 73 y pos;
-#X obj 400 103 gemtablet;
-#X msg 61 321 bang;
-#X obj 197 439 alpha;
-#X text 114 55 the outputs of gemtablet are:;
-#X text 229 75 pressure;
-#X text 298 76 azimuth;
-#X text 364 75 altitude;
-#X text 439 75 twist;
-#X text 114 26 Be aware that your tablet might not have all of the
-rotation variables.;
-#X obj 266 160 / 90;
-#X obj 197 329 colorRGB 1 0 0;
-#X obj 375 354 / 200;
-#X obj 448 352 / 200;
-#X obj 448 381 - 1;
-#X obj 448 409 * -4;
-#X text 117 7 this demonstrates how to use gemtablet;
-#X obj 400 265 s xPos;
-#X obj 409 238 s yPos;
-#X obj 375 295 r xPos;
-#X obj 447 294 r yPos;
-#X obj 458 139 s lBut;
-#X obj 501 290 r lBut;
-#X obj 419 213 s press;
-#X obj 234 492 r press;
-#X obj 290 280 r press;
-#X obj 429 187 s azimuth;
-#X obj 438 162 s altitude;
-#X obj 236 385 r azimuth;
-#X obj 266 132 r altitude;
-#X text 45 298 clear screen;
-#X obj 197 408 rotate 0 0 1;
-#X obj 197 518 square;
-#X obj 197 471 scaleXYZ 1 0.05 1;
-#X obj 219 190 t b f;
-#X obj 220 241 - 1;
-#X msg 219 215 1;
-#X obj 290 303 / 6;
-#X text 527 74 middle;
-#X text 488 75 left;
-#X text 581 74 right;
-#X obj 514 140 s mBut;
-#X obj 570 139 s rBut;
-#X obj 553 289 r mBut;
-#X obj 605 289 r rBut;
-#N canvas 421 80 290 179 Gem.init 0;
-#X obj 83 30 loadbang;
-#X msg 161 76 reset;
-#X obj 45 146 outlet;
-#X obj 88 51 t b b;
-#X msg 45 75 dimen 400 400;
-#X msg 90 114 buffer 1;
-#X connect 0 0 3 0;
-#X connect 1 0 2 0;
-#X connect 3 0 4 0;
-#X connect 3 0 5 0;
-#X connect 3 1 1 0;
-#X connect 4 0 2 0;
-#X connect 5 0 2 0;
-#X restore 61 417 pd Gem.init;
-#X connect 0 0 5 0;
-#X connect 1 0 0 0;
-#X connect 1 0 27 0;
-#X connect 2 0 10 2;
-#X connect 4 0 3 0;
-#X connect 5 0 26 0;
-#X connect 6 0 3 0;
-#X connect 7 0 3 0;
-#X connect 8 0 3 0;
-#X connect 9 0 10 1;
-#X connect 10 0 46 0;
-#X connect 11 0 12 0;
-#X connect 12 0 9 0;
-#X connect 13 0 28 0;
-#X connect 16 0 32 0;
-#X connect 16 1 33 0;
-#X connect 16 2 38 0;
-#X connect 16 3 41 0;
-#X connect 16 4 42 0;
-#X connect 16 6 36 0;
-#X connect 16 7 56 0;
-#X connect 16 8 57 0;
-#X connect 17 0 3 0;
-#X connect 18 0 48 0;
-#X connect 25 0 49 0;
-#X connect 25 0 26 3;
-#X connect 26 0 10 0;
-#X connect 27 0 11 0;
-#X connect 28 0 29 0;
-#X connect 29 0 30 0;
-#X connect 30 0 2 0;
-#X connect 34 0 1 0;
-#X connect 35 0 13 0;
-#X connect 37 0 13 1;
-#X connect 37 0 1 1;
-#X connect 39 0 47 1;
-#X connect 40 0 52 0;
-#X connect 43 0 46 1;
-#X connect 44 0 25 0;
-#X connect 46 0 18 0;
-#X connect 48 0 47 0;
-#X connect 49 0 51 0;
-#X connect 49 1 50 1;
-#X connect 50 0 26 1;
-#X connect 51 0 50 0;
-#X connect 52 0 26 4;
-#X connect 60 0 3 0;
+#N canvas 308 107 688 553 10;
+#X msg 197 266 bang;
+#X obj 375 326 spigot;
+#X floatatom 448 437 0 0 0;
+#X obj 12 444 gemwin;
+#X msg 26 150 create;
+#X obj 197 299 gemhead;
+#X msg 38 179 destroy;
+#X msg 63 227 1;
+#X msg 70 251 0;
+#X floatatom 375 438 0 0 0;
+#X obj 197 358 translateXYZ;
+#X obj 375 382 - 1;
+#X obj 375 410 * 4;
+#X obj 448 321 spigot;
+#X text 120 71 x pos;
+#X text 171 73 y pos;
+#X obj 400 103 gemtablet;
+#X msg 61 321 bang;
+#X obj 197 439 alpha;
+#X text 114 55 the outputs of gemtablet are:;
+#X text 229 75 pressure;
+#X text 298 76 azimuth;
+#X text 364 75 altitude;
+#X text 439 75 twist;
+#X text 114 26 Be aware that your tablet might not have all of the
+rotation variables.;
+#X obj 266 160 / 90;
+#X obj 197 329 colorRGB 1 0 0;
+#X obj 375 354 / 200;
+#X obj 448 352 / 200;
+#X obj 448 381 - 1;
+#X obj 448 409 * -4;
+#X text 117 7 this demonstrates how to use gemtablet;
+#X obj 400 265 s xPos;
+#X obj 409 238 s yPos;
+#X obj 375 295 r xPos;
+#X obj 447 294 r yPos;
+#X obj 458 139 s lBut;
+#X obj 501 290 r lBut;
+#X obj 419 213 s press;
+#X obj 234 492 r press;
+#X obj 290 280 r press;
+#X obj 429 187 s azimuth;
+#X obj 438 162 s altitude;
+#X obj 236 385 r azimuth;
+#X obj 266 132 r altitude;
+#X text 45 298 clear screen;
+#X obj 197 408 rotate 0 0 1;
+#X obj 197 518 square;
+#X obj 197 471 scaleXYZ 1 0.05 1;
+#X obj 219 190 t b f;
+#X obj 220 241 - 1;
+#X msg 219 215 1;
+#X obj 290 303 / 6;
+#X text 527 74 middle;
+#X text 488 75 left;
+#X text 581 74 right;
+#X obj 514 140 s mBut;
+#X obj 570 139 s rBut;
+#X obj 553 289 r mBut;
+#X obj 605 289 r rBut;
+#N canvas 421 80 290 179 Gem.init 0;
+#X obj 83 30 loadbang;
+#X msg 161 76 reset;
+#X obj 45 146 outlet;
+#X obj 88 51 t b b;
+#X msg 45 75 dimen 400 400;
+#X msg 90 114 buffer 1;
+#X connect 0 0 3 0;
+#X connect 1 0 2 0;
+#X connect 3 0 4 0;
+#X connect 3 0 5 0;
+#X connect 3 1 1 0;
+#X connect 4 0 2 0;
+#X connect 5 0 2 0;
+#X restore 61 417 pd Gem.init;
+#X connect 0 0 5 0;
+#X connect 1 0 0 0;
+#X connect 1 0 27 0;
+#X connect 2 0 10 2;
+#X connect 4 0 3 0;
+#X connect 5 0 26 0;
+#X connect 6 0 3 0;
+#X connect 7 0 3 0;
+#X connect 8 0 3 0;
+#X connect 9 0 10 1;
+#X connect 10 0 46 0;
+#X connect 11 0 12 0;
+#X connect 12 0 9 0;
+#X connect 13 0 28 0;
+#X connect 16 0 32 0;
+#X connect 16 1 33 0;
+#X connect 16 2 38 0;
+#X connect 16 3 41 0;
+#X connect 16 4 42 0;
+#X connect 16 6 36 0;
+#X connect 16 7 56 0;
+#X connect 16 8 57 0;
+#X connect 17 0 3 0;
+#X connect 18 0 48 0;
+#X connect 25 0 49 0;
+#X connect 25 0 26 3;
+#X connect 26 0 10 0;
+#X connect 27 0 11 0;
+#X connect 28 0 29 0;
+#X connect 29 0 30 0;
+#X connect 30 0 2 0;
+#X connect 34 0 1 0;
+#X connect 35 0 13 0;
+#X connect 37 0 13 1;
+#X connect 37 0 1 1;
+#X connect 39 0 47 1;
+#X connect 40 0 52 0;
+#X connect 43 0 46 1;
+#X connect 44 0 25 0;
+#X connect 46 0 18 0;
+#X connect 48 0 47 0;
+#X connect 49 0 51 0;
+#X connect 49 1 50 1;
+#X connect 50 0 26 1;
+#X connect 51 0 50 0;
+#X connect 52 0 26 4;
+#X connect 60 0 3 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/08.io/03.Orb.pd b/packages/noncvs/windows/extra/Gem/examples/08.io/03.Orb.pd
index 6e50d586..cc01fa06 100644
--- a/packages/noncvs/windows/extra/Gem/examples/08.io/03.Orb.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/08.io/03.Orb.pd
@@ -1,51 +1,51 @@
-#N canvas 396 160 600 500 10;
-#X text 52 292 x pos;
-#X text 94 292 y pos;
-#X obj 234 146 gemorb 2;
-#X floatatom 82 267 0 0 0;
-#X floatatom 117 267 0 0 0;
-#X floatatom 152 267 0 0 0;
-#X floatatom 202 271 0 0 0;
-#X floatatom 237 271 0 0 0;
-#X floatatom 272 271 0 0 0;
-#X text 133 90 the outputs of gemorb are:;
-#X text 134 292 z pos;
-#X text 197 293 x rot;
-#X text 239 293 y rot;
-#X text 279 293 z rot;
-#X obj 91 230 unpack 0 0 0;
-#X obj 204 230 unpack 0 0 0;
-#X floatatom 333 270 0 0 0;
-#X floatatom 368 270 0 0 0;
-#X floatatom 403 270 0 0 0;
-#X obj 385 231 unpack 0 0 0 0 0 0;
-#X floatatom 448 271 0 0 0;
-#X floatatom 483 271 0 0 0;
-#X floatatom 518 271 0 0 0;
-#X text 133 111 position;
-#X text 224 110 rotation;
-#X text 317 109 button status;
-#X text 340 290 a;
-#X text 377 293 b;
-#X text 411 290 c;
-#X text 457 293 d;
-#X text 491 291 e;
-#X text 529 295 f;
-#X text 94 56 The argument should be the serial port number of the
-orb;
-#X text 255 17 gemorb;
-#X connect 2 0 14 0;
-#X connect 2 1 15 0;
-#X connect 2 2 19 0;
-#X connect 14 0 3 0;
-#X connect 14 1 4 0;
-#X connect 14 2 5 0;
-#X connect 15 0 6 0;
-#X connect 15 1 7 0;
-#X connect 15 2 8 0;
-#X connect 19 0 16 0;
-#X connect 19 1 17 0;
-#X connect 19 2 18 0;
-#X connect 19 3 20 0;
-#X connect 19 4 21 0;
-#X connect 19 5 22 0;
+#N canvas 396 160 600 500 10;
+#X text 52 292 x pos;
+#X text 94 292 y pos;
+#X obj 234 146 gemorb 2;
+#X floatatom 82 267 0 0 0;
+#X floatatom 117 267 0 0 0;
+#X floatatom 152 267 0 0 0;
+#X floatatom 202 271 0 0 0;
+#X floatatom 237 271 0 0 0;
+#X floatatom 272 271 0 0 0;
+#X text 133 90 the outputs of gemorb are:;
+#X text 134 292 z pos;
+#X text 197 293 x rot;
+#X text 239 293 y rot;
+#X text 279 293 z rot;
+#X obj 91 230 unpack 0 0 0;
+#X obj 204 230 unpack 0 0 0;
+#X floatatom 333 270 0 0 0;
+#X floatatom 368 270 0 0 0;
+#X floatatom 403 270 0 0 0;
+#X obj 385 231 unpack 0 0 0 0 0 0;
+#X floatatom 448 271 0 0 0;
+#X floatatom 483 271 0 0 0;
+#X floatatom 518 271 0 0 0;
+#X text 133 111 position;
+#X text 224 110 rotation;
+#X text 317 109 button status;
+#X text 340 290 a;
+#X text 377 293 b;
+#X text 411 290 c;
+#X text 457 293 d;
+#X text 491 291 e;
+#X text 529 295 f;
+#X text 94 56 The argument should be the serial port number of the
+orb;
+#X text 255 17 gemorb;
+#X connect 2 0 14 0;
+#X connect 2 1 15 0;
+#X connect 2 2 19 0;
+#X connect 14 0 3 0;
+#X connect 14 1 4 0;
+#X connect 14 2 5 0;
+#X connect 15 0 6 0;
+#X connect 15 1 7 0;
+#X connect 15 2 8 0;
+#X connect 19 0 16 0;
+#X connect 19 1 17 0;
+#X connect 19 2 18 0;
+#X connect 19 3 20 0;
+#X connect 19 4 21 0;
+#X connect 19 5 22 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/08.io/04.UseOrb.pd b/packages/noncvs/windows/extra/Gem/examples/08.io/04.UseOrb.pd
index cecdfa4f..78243326 100644
--- a/packages/noncvs/windows/extra/Gem/examples/08.io/04.UseOrb.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/08.io/04.UseOrb.pd
@@ -1,86 +1,86 @@
-#N canvas 396 160 600 366 10;
-#X obj 41 324 gemwin;
-#X msg 70 111 create;
-#X obj 223 109 gemhead;
-#X msg 76 138 destroy;
-#X msg 96 184 1;
-#X msg 96 208 0;
-#X obj 223 260 square;
-#X text 109 29 this demonstrates how to create a red square;
-#X msg 467 228 draw line;
-#X obj 338 68 gemorb 2;
-#X obj 223 227 rotateXYZ;
-#X obj 367 109 unpack 0 0 0;
-#X obj 223 195 color;
-#X obj 467 158 unpack 0 0 0;
-#X msg 506 208 draw fill;
-#X obj 467 184 sel 1;
-#X obj 506 184 sel 1;
-#N canvas 91 174 290 179 Gem.init 0;
-#X obj 83 30 loadbang;
-#X msg 161 76 reset;
-#X obj 45 107 outlet;
-#X msg 45 75 dimen 300 300;
-#X obj 88 51 t b b;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 3 0 2 0;
-#X connect 4 0 3 0;
-#X connect 4 1 1 0;
-#X restore 78 297 pd Gem.init;
-#X obj 367 136 * 0.25;
-#X obj 393 156 * 0.25;
-#X obj 411 179 * 0.25;
-#N canvas 0 0 450 300 process 0;
-#X obj 185 63 unpack 0 0 0;
-#X obj 185 199 pack 0 0 0;
-#X obj 185 107 / 500;
-#X obj 185 127 abs;
-#X obj 185 147 + 0.1;
-#X obj 235 107 / 500;
-#X obj 235 127 abs;
-#X obj 235 147 + 0.1;
-#X obj 285 107 / 500;
-#X obj 285 127 abs;
-#X obj 285 147 + 0.1;
-#X obj 185 226 outlet;
-#X obj 185 36 inlet;
-#X connect 0 0 2 0;
-#X connect 0 1 5 0;
-#X connect 0 2 8 0;
-#X connect 1 0 11 0;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 4 0 1 0;
-#X connect 5 0 6 0;
-#X connect 6 0 7 0;
-#X connect 7 0 1 1;
-#X connect 8 0 9 0;
-#X connect 9 0 10 0;
-#X connect 10 0 1 2;
-#X connect 12 0 0 0;
-#X restore 338 89 pd process;
-#X connect 1 0 0 0;
-#X connect 2 0 12 0;
-#X connect 3 0 0 0;
-#X connect 4 0 0 0;
-#X connect 5 0 0 0;
-#X connect 8 0 6 0;
-#X connect 9 0 21 0;
-#X connect 9 1 11 0;
-#X connect 9 2 13 0;
-#X connect 10 0 6 0;
-#X connect 11 0 18 0;
-#X connect 11 1 19 0;
-#X connect 11 2 20 0;
-#X connect 12 0 10 0;
-#X connect 13 0 15 0;
-#X connect 13 1 16 0;
-#X connect 14 0 6 0;
-#X connect 15 0 8 0;
-#X connect 16 0 14 0;
-#X connect 17 0 0 0;
-#X connect 18 0 10 1;
-#X connect 19 0 10 2;
-#X connect 20 0 10 3;
-#X connect 21 0 12 1;
+#N canvas 396 160 600 366 10;
+#X obj 41 324 gemwin;
+#X msg 70 111 create;
+#X obj 223 109 gemhead;
+#X msg 76 138 destroy;
+#X msg 96 184 1;
+#X msg 96 208 0;
+#X obj 223 260 square;
+#X text 109 29 this demonstrates how to create a red square;
+#X msg 467 228 draw line;
+#X obj 338 68 gemorb 2;
+#X obj 223 227 rotateXYZ;
+#X obj 367 109 unpack 0 0 0;
+#X obj 223 195 color;
+#X obj 467 158 unpack 0 0 0;
+#X msg 506 208 draw fill;
+#X obj 467 184 sel 1;
+#X obj 506 184 sel 1;
+#N canvas 91 174 290 179 Gem.init 0;
+#X obj 83 30 loadbang;
+#X msg 161 76 reset;
+#X obj 45 107 outlet;
+#X msg 45 75 dimen 300 300;
+#X obj 88 51 t b b;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 3 0 2 0;
+#X connect 4 0 3 0;
+#X connect 4 1 1 0;
+#X restore 78 297 pd Gem.init;
+#X obj 367 136 * 0.25;
+#X obj 393 156 * 0.25;
+#X obj 411 179 * 0.25;
+#N canvas 0 0 450 300 process 0;
+#X obj 185 63 unpack 0 0 0;
+#X obj 185 199 pack 0 0 0;
+#X obj 185 107 / 500;
+#X obj 185 127 abs;
+#X obj 185 147 + 0.1;
+#X obj 235 107 / 500;
+#X obj 235 127 abs;
+#X obj 235 147 + 0.1;
+#X obj 285 107 / 500;
+#X obj 285 127 abs;
+#X obj 285 147 + 0.1;
+#X obj 185 226 outlet;
+#X obj 185 36 inlet;
+#X connect 0 0 2 0;
+#X connect 0 1 5 0;
+#X connect 0 2 8 0;
+#X connect 1 0 11 0;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 4 0 1 0;
+#X connect 5 0 6 0;
+#X connect 6 0 7 0;
+#X connect 7 0 1 1;
+#X connect 8 0 9 0;
+#X connect 9 0 10 0;
+#X connect 10 0 1 2;
+#X connect 12 0 0 0;
+#X restore 338 89 pd process;
+#X connect 1 0 0 0;
+#X connect 2 0 12 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 8 0 6 0;
+#X connect 9 0 21 0;
+#X connect 9 1 11 0;
+#X connect 9 2 13 0;
+#X connect 10 0 6 0;
+#X connect 11 0 18 0;
+#X connect 11 1 19 0;
+#X connect 11 2 20 0;
+#X connect 12 0 10 0;
+#X connect 13 0 15 0;
+#X connect 13 1 16 0;
+#X connect 14 0 6 0;
+#X connect 15 0 8 0;
+#X connect 16 0 14 0;
+#X connect 17 0 0 0;
+#X connect 18 0 10 1;
+#X connect 19 0 10 2;
+#X connect 20 0 10 3;
+#X connect 21 0 12 1;
diff --git a/packages/noncvs/windows/extra/Gem/examples/09.openGL/01.primQuad.pd b/packages/noncvs/windows/extra/Gem/examples/09.openGL/01.primQuad.pd
index da187b20..16b8db75 100644
--- a/packages/noncvs/windows/extra/Gem/examples/09.openGL/01.primQuad.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/09.openGL/01.primQuad.pd
@@ -1,107 +1,107 @@
-#N canvas 50 20 769 629 10;
-#X obj 469 17 gemhead;
-#X obj 468 504 GEMglEnd;
-#X obj 469 233 GEMglColor4f 1 0 0 0;
-#X obj 469 254 GEMglVertex3f -1 0 0;
-#X obj 469 366 GEMglColor3f 0 1 0;
-#X obj 468 387 GEMglVertex3f 1 0 0;
-#X obj 469 307 GEMglColor3f 0 0 1;
-#X obj 469 330 GEMglVertex3f 0 -1 0;
-#X floatatom 502 45 5 0 0 0 - - -;
-#X obj 469 77 GEMglRotatef 0 1 1 1;
-#X obj 605 127 GLdefine GL_SMOOTH;
-#X obj 605 105 loadbang;
-#X obj 605 147 loadbang;
-#X obj 605 169 GLdefine GL_POLYGON;
-#X obj 469 187 GEMglBegin;
-#X obj 469 145 GEMglShadeModel;
-#X obj 621 487 loadbang;
-#X obj 468 527 GEMglShadeModel;
-#X obj 621 509 GLdefine GL_FLAT;
-#X text 52 17 this is an example how to use Gem as an openGL-wrapper:
-;
-#X text 47 79 you can use "any" openGL-command (like "glBegin") as
-a Gem-object with a prepended "GEM" (like [GEMglBegin]);
-#X text 32 378 to make use of GL-constants (like "GL_TRIANGLE") \,
-use the object [GLdefine] \, that maps symbols to their corresponding
-values.;
-#X obj 468 436 GEMglColor3fv 1 1 0;
-#X obj 468 459 GEMglVertex3fv 0 1 0;
-#X msg 613 413 1 0 1;
-#X msg 655 413 1 1 0;
-#X floatatom 650 260 3 0 100 0 - - -;
-#X obj 650 281 * 0.01;
-#X msg 672 103 bang;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 104 170 pd Gem.init;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 74 187 pd gemwin;
-#X connect 0 0 9 0;
-#X connect 1 0 17 0;
-#X connect 2 0 3 0;
-#X connect 3 0 6 0;
-#X connect 4 0 5 0;
-#X connect 5 0 22 0;
-#X connect 6 0 7 0;
-#X connect 7 0 4 0;
-#X connect 8 0 9 1;
-#X connect 9 0 15 0;
-#X connect 10 0 15 1;
-#X connect 11 0 10 0;
-#X connect 12 0 13 0;
-#X connect 13 0 14 1;
-#X connect 14 0 2 0;
-#X connect 15 0 14 0;
-#X connect 16 0 18 0;
-#X connect 18 0 17 1;
-#X connect 22 0 23 0;
-#X connect 23 0 1 0;
-#X connect 24 0 22 1;
-#X connect 25 0 22 1;
-#X connect 26 0 27 0;
-#X connect 27 0 6 2;
-#X connect 28 0 10 0;
-#X connect 29 0 30 0;
+#N canvas 50 20 769 629 10;
+#X obj 469 17 gemhead;
+#X obj 468 504 GEMglEnd;
+#X obj 469 233 GEMglColor4f 1 0 0 0;
+#X obj 469 254 GEMglVertex3f -1 0 0;
+#X obj 469 366 GEMglColor3f 0 1 0;
+#X obj 468 387 GEMglVertex3f 1 0 0;
+#X obj 469 307 GEMglColor3f 0 0 1;
+#X obj 469 330 GEMglVertex3f 0 -1 0;
+#X floatatom 502 45 5 0 0 0 - - -;
+#X obj 469 77 GEMglRotatef 0 1 1 1;
+#X obj 605 127 GLdefine GL_SMOOTH;
+#X obj 605 105 loadbang;
+#X obj 605 147 loadbang;
+#X obj 605 169 GLdefine GL_POLYGON;
+#X obj 469 187 GEMglBegin;
+#X obj 469 145 GEMglShadeModel;
+#X obj 621 487 loadbang;
+#X obj 468 527 GEMglShadeModel;
+#X obj 621 509 GLdefine GL_FLAT;
+#X text 52 17 this is an example how to use Gem as an openGL-wrapper:
+;
+#X text 47 79 you can use "any" openGL-command (like "glBegin") as
+a Gem-object with a prepended "GEM" (like [GEMglBegin]);
+#X text 32 378 to make use of GL-constants (like "GL_TRIANGLE") \,
+use the object [GLdefine] \, that maps symbols to their corresponding
+values.;
+#X obj 468 436 GEMglColor3fv 1 1 0;
+#X obj 468 459 GEMglVertex3fv 0 1 0;
+#X msg 613 413 1 0 1;
+#X msg 655 413 1 1 0;
+#X floatatom 650 260 3 0 100 0 - - -;
+#X obj 650 281 * 0.01;
+#X msg 672 103 bang;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 104 170 pd Gem.init;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 74 187 pd gemwin;
+#X connect 0 0 9 0;
+#X connect 1 0 17 0;
+#X connect 2 0 3 0;
+#X connect 3 0 6 0;
+#X connect 4 0 5 0;
+#X connect 5 0 22 0;
+#X connect 6 0 7 0;
+#X connect 7 0 4 0;
+#X connect 8 0 9 1;
+#X connect 9 0 15 0;
+#X connect 10 0 15 1;
+#X connect 11 0 10 0;
+#X connect 12 0 13 0;
+#X connect 13 0 14 1;
+#X connect 14 0 2 0;
+#X connect 15 0 14 0;
+#X connect 16 0 18 0;
+#X connect 18 0 17 1;
+#X connect 22 0 23 0;
+#X connect 23 0 1 0;
+#X connect 24 0 22 1;
+#X connect 25 0 22 1;
+#X connect 26 0 27 0;
+#X connect 27 0 6 2;
+#X connect 28 0 10 0;
+#X connect 29 0 30 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/09.openGL/02.displayList.pd b/packages/noncvs/windows/extra/Gem/examples/09.openGL/02.displayList.pd
index d6ec2e66..c9784638 100644
--- a/packages/noncvs/windows/extra/Gem/examples/09.openGL/02.displayList.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/09.openGL/02.displayList.pd
@@ -1,185 +1,185 @@
-#N canvas 76 58 1137 553 10;
-#X obj 366 251 GEMglGenLists 1;
-#X obj 336 418 GEMglNewList;
-#X obj 147 432 GEMglCallList;
-#N canvas 0 0 450 300 once 0;
-#X obj 91 62 inlet;
-#X obj 91 266 outlet;
-#X obj 91 150 spigot 1;
-#X obj 91 175 t a b;
-#X msg 121 197 0;
-#X obj 298 57 inlet open;
-#X obj 298 92 t b;
-#X msg 142 128 1;
-#X connect 0 0 2 0;
-#X connect 2 0 3 0;
-#X connect 3 0 1 0;
-#X connect 3 1 4 0;
-#X connect 4 0 2 1;
-#X connect 5 0 6 0;
-#X connect 6 0 7 0;
-#X connect 7 0 2 1;
-#X restore 366 229 pd once;
-#N canvas 0 0 450 300 once 0;
-#X obj 91 62 inlet;
-#X obj 91 266 outlet;
-#X obj 91 150 spigot 1;
-#X obj 91 175 t a b;
-#X msg 121 197 0;
-#X obj 298 57 inlet open;
-#X obj 298 92 t b;
-#X msg 142 128 1;
-#X connect 0 0 2 0;
-#X connect 2 0 3 0;
-#X connect 3 0 1 0;
-#X connect 3 1 4 0;
-#X connect 4 0 2 1;
-#X connect 5 0 6 0;
-#X connect 6 0 7 0;
-#X connect 7 0 2 1;
-#X restore 336 392 pd once;
-#X obj 549 281 t b f;
-#X obj 415 374 loadbang;
-#X obj 415 393 GLdefine GL_COMPILE;
-#X msg 417 199 bang;
-#X obj 336 508 GEMglEndList;
-#X obj 336 445 t a a;
-#X obj 366 466 separator;
-#X obj 336 173 gemhead 1;
-#X obj 336 198 t a a;
-#X obj 466 271 t f b;
-#X obj 345 298 t f f;
-#X text 26 21 this is an example of how to use Gem's openGL-wrapper-objects
-to speed up things;
-#X obj 147 248 gemhead;
-#X obj 147 311 translateXYZ;
-#X obj 147 364 rotateXYZ;
-#X floatatom 549 236 5 -2 2 2 pos - -;
-#X floatatom 199 282 5 -4 4 0 - - -;
-#X floatatom 185 339 5 0 0 0 - - -;
-#X text 346 25 1 generate a displaylist with [GEMglGenLists];
-#X text 376 38 you should do this only once;
-#X text 346 65 2 compile what is between [GEMglNewList] and [GEMglEndList]
-;
-#X text 377 82 you should do this \, whenever a parameter of the display-list
-has changed;
-#X text 346 125 3 call the displaylist with [GEMglCallList];
-#N canvas 0 0 450 300 weird 0;
-#X obj 37 9 inlet gemlist;
-#X obj 37 125 cylinder;
-#X obj 190 30 inlet dist;
-#X obj 360 30 inlet tearot;
-#X obj 67 204 rotate 0 0 1 0;
-#X obj 67 231 teapot 0.2;
-#X obj 67 173 translate 1 0 0 2;
-#X obj 67 144 color 1 0 0;
-#X obj 37 103 color 1 1 1 0.5;
-#X obj 37 81 alpha;
-#X obj 37 34 t a a;
-#X obj 67 56 separator;
-#X connect 0 0 10 0;
-#X connect 2 0 6 1;
-#X connect 3 0 4 1;
-#X connect 4 0 5 0;
-#X connect 6 0 4 0;
-#X connect 7 0 6 0;
-#X connect 8 0 1 0;
-#X connect 9 0 8 0;
-#X connect 10 0 9 0;
-#X connect 10 1 11 0;
-#X connect 11 0 7 0;
-#X restore 366 487 pd weird thing;
-#X msg 496 318 bang;
-#X floatatom 660 269 5 0 0 2 rot - -;
-#X text 535 320 recompile the display-list;
-#X obj 147 400 spigot;
-#X obj 249 365 t b f;
-#X msg 202 400 1;
-#X text 461 190 CLICK ME to generate the display-list \, once the rendering
-is turned on;
-#X text 598 231 when you change this \, the display-list will be recompiled
-;
-#X text 706 258 when you change this \, the display-list will NOT be
-recompiled. You have to do that by hand!;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 119 99 pd Gem.init;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 89 116 pd gemwin;
-#X connect 0 1 14 0;
-#X connect 1 0 10 0;
-#X connect 3 0 0 0;
-#X connect 4 0 1 0;
-#X connect 5 0 29 0;
-#X connect 5 1 28 1;
-#X connect 6 0 7 0;
-#X connect 7 0 1 2;
-#X connect 8 0 3 1;
-#X connect 10 0 9 0;
-#X connect 10 1 11 0;
-#X connect 11 0 28 0;
-#X connect 12 0 13 0;
-#X connect 13 0 4 0;
-#X connect 13 1 3 0;
-#X connect 14 0 15 0;
-#X connect 14 1 29 0;
-#X connect 15 0 33 0;
-#X connect 15 1 1 1;
-#X connect 17 0 18 0;
-#X connect 18 0 19 0;
-#X connect 19 0 32 0;
-#X connect 20 0 5 0;
-#X connect 21 0 18 1;
-#X connect 21 0 18 2;
-#X connect 22 0 19 1;
-#X connect 22 0 19 2;
-#X connect 22 0 19 3;
-#X connect 29 0 4 1;
-#X connect 30 0 28 2;
-#X connect 32 0 2 0;
-#X connect 33 0 34 0;
-#X connect 33 1 2 1;
-#X connect 34 0 32 1;
-#X connect 38 0 39 0;
+#N canvas 76 58 1137 553 10;
+#X obj 366 251 GEMglGenLists 1;
+#X obj 336 418 GEMglNewList;
+#X obj 147 432 GEMglCallList;
+#N canvas 0 0 450 300 once 0;
+#X obj 91 62 inlet;
+#X obj 91 266 outlet;
+#X obj 91 150 spigot 1;
+#X obj 91 175 t a b;
+#X msg 121 197 0;
+#X obj 298 57 inlet open;
+#X obj 298 92 t b;
+#X msg 142 128 1;
+#X connect 0 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 0;
+#X connect 3 1 4 0;
+#X connect 4 0 2 1;
+#X connect 5 0 6 0;
+#X connect 6 0 7 0;
+#X connect 7 0 2 1;
+#X restore 366 229 pd once;
+#N canvas 0 0 450 300 once 0;
+#X obj 91 62 inlet;
+#X obj 91 266 outlet;
+#X obj 91 150 spigot 1;
+#X obj 91 175 t a b;
+#X msg 121 197 0;
+#X obj 298 57 inlet open;
+#X obj 298 92 t b;
+#X msg 142 128 1;
+#X connect 0 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 0;
+#X connect 3 1 4 0;
+#X connect 4 0 2 1;
+#X connect 5 0 6 0;
+#X connect 6 0 7 0;
+#X connect 7 0 2 1;
+#X restore 336 392 pd once;
+#X obj 549 281 t b f;
+#X obj 415 374 loadbang;
+#X obj 415 393 GLdefine GL_COMPILE;
+#X msg 417 199 bang;
+#X obj 336 508 GEMglEndList;
+#X obj 336 445 t a a;
+#X obj 366 466 separator;
+#X obj 336 173 gemhead 1;
+#X obj 336 198 t a a;
+#X obj 466 271 t f b;
+#X obj 345 298 t f f;
+#X text 26 21 this is an example of how to use Gem's openGL-wrapper-objects
+to speed up things;
+#X obj 147 248 gemhead;
+#X obj 147 311 translateXYZ;
+#X obj 147 364 rotateXYZ;
+#X floatatom 549 236 5 -2 2 2 pos - -;
+#X floatatom 199 282 5 -4 4 0 - - -;
+#X floatatom 185 339 5 0 0 0 - - -;
+#X text 346 25 1 generate a displaylist with [GEMglGenLists];
+#X text 376 38 you should do this only once;
+#X text 346 65 2 compile what is between [GEMglNewList] and [GEMglEndList]
+;
+#X text 377 82 you should do this \, whenever a parameter of the display-list
+has changed;
+#X text 346 125 3 call the displaylist with [GEMglCallList];
+#N canvas 0 0 450 300 weird 0;
+#X obj 37 9 inlet gemlist;
+#X obj 37 125 cylinder;
+#X obj 190 30 inlet dist;
+#X obj 360 30 inlet tearot;
+#X obj 67 204 rotate 0 0 1 0;
+#X obj 67 231 teapot 0.2;
+#X obj 67 173 translate 1 0 0 2;
+#X obj 67 144 color 1 0 0;
+#X obj 37 103 color 1 1 1 0.5;
+#X obj 37 81 alpha;
+#X obj 37 34 t a a;
+#X obj 67 56 separator;
+#X connect 0 0 10 0;
+#X connect 2 0 6 1;
+#X connect 3 0 4 1;
+#X connect 4 0 5 0;
+#X connect 6 0 4 0;
+#X connect 7 0 6 0;
+#X connect 8 0 1 0;
+#X connect 9 0 8 0;
+#X connect 10 0 9 0;
+#X connect 10 1 11 0;
+#X connect 11 0 7 0;
+#X restore 366 487 pd weird thing;
+#X msg 496 318 bang;
+#X floatatom 660 269 5 0 0 2 rot - -;
+#X text 535 320 recompile the display-list;
+#X obj 147 400 spigot;
+#X obj 249 365 t b f;
+#X msg 202 400 1;
+#X text 461 190 CLICK ME to generate the display-list \, once the rendering
+is turned on;
+#X text 598 231 when you change this \, the display-list will be recompiled
+;
+#X text 706 258 when you change this \, the display-list will NOT be
+recompiled. You have to do that by hand!;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 119 99 pd Gem.init;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 89 116 pd gemwin;
+#X connect 0 1 14 0;
+#X connect 1 0 10 0;
+#X connect 3 0 0 0;
+#X connect 4 0 1 0;
+#X connect 5 0 29 0;
+#X connect 5 1 28 1;
+#X connect 6 0 7 0;
+#X connect 7 0 1 2;
+#X connect 8 0 3 1;
+#X connect 10 0 9 0;
+#X connect 10 1 11 0;
+#X connect 11 0 28 0;
+#X connect 12 0 13 0;
+#X connect 13 0 4 0;
+#X connect 13 1 3 0;
+#X connect 14 0 15 0;
+#X connect 14 1 29 0;
+#X connect 15 0 33 0;
+#X connect 15 1 1 1;
+#X connect 17 0 18 0;
+#X connect 18 0 19 0;
+#X connect 19 0 32 0;
+#X connect 20 0 5 0;
+#X connect 21 0 18 1;
+#X connect 21 0 18 2;
+#X connect 22 0 19 1;
+#X connect 22 0 19 2;
+#X connect 22 0 19 3;
+#X connect 29 0 4 1;
+#X connect 30 0 28 2;
+#X connect 32 0 2 0;
+#X connect 33 0 34 0;
+#X connect 33 1 2 1;
+#X connect 34 0 32 1;
+#X connect 38 0 39 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/09.openGL/03.stencilBuffer.pd b/packages/noncvs/windows/extra/Gem/examples/09.openGL/03.stencilBuffer.pd
index 44f1e61c..2f6f7972 100644
--- a/packages/noncvs/windows/extra/Gem/examples/09.openGL/03.stencilBuffer.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/09.openGL/03.stencilBuffer.pd
@@ -1,251 +1,251 @@
-#N canvas 431 30 849 872 10;
-#X obj 39 330 GEMglEnable;
-#X floatatom 125 332 5 0 0 0 - - -;
-#X obj 111 282 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 111 305 GLdefine GL_STENCIL_TEST;
-#X obj 129 280 loadbang;
-#X obj 104 382 GLdefine GL_STENCIL_BUFFER_BIT;
-#X obj 166 361 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X floatatom 119 407 5 0 0 0 - - -;
-#X obj 104 359 loadbang;
-#X obj 39 249 GEMglClearStencil 0;
-#X obj 39 407 GEMglClear;
-#X obj 39 33 gemhead 45;
-#X obj 39 506 GEMglStencilFunc;
-#X msg 146 480 1;
-#X obj 75 436 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 74 459 GLdefine GL_ALWAYS;
-#X obj 96 436 loadbang;
-#X floatatom 100 480 5 0 0 0 - - -;
-#X obj 39 586 GEMglStencilOp;
-#X floatatom 156 581 5 0 0 0 - - -;
-#X obj 70 486 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 70 552 GLdefine GL_REPLACE;
-#X obj 95 530 loadbang;
-#X obj 239 743 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 170 742 loadbang;
-#X obj 39 810 GEMglClear;
-#X floatatom 156 812 5 0 0 0 - - -;
-#X obj 145 788 GLdefine GL_DEPTH_BUFFER_BIT;
-#X obj 126 743 t b b;
-#X obj 490 287 GEMglStencilFunc;
-#X msg 597 263 1;
-#X obj 525 220 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 546 218 loadbang;
-#X floatatom 535 264 5 0 0 0 - - -;
-#X obj 525 241 GLdefine GL_NOTEQUAL;
-#X obj 490 396 color 1 0 0;
-#X obj 490 659 GEMglStencilFunc;
-#X msg 597 634 1;
-#X obj 525 594 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 547 592 loadbang;
-#X floatatom 536 638 5 0 0 0 - - -;
-#X obj 490 709 rotateXYZ 0 0 45;
-#X obj 525 615 GLdefine GL_EQUAL;
-#X obj 490 685 color 1 1 0;
-#X obj 126 766 GLdefine GL_COLOR_BUFFER_BIT;
-#X obj 490 365 GEMglStencilOp;
-#X floatatom 601 364 5 0 0 0 - - -;
-#X obj 521 310 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 544 307 loadbang;
-#X obj 521 331 GLdefine GL_KEEP;
-#X floatatom 58 144 5 0 0 0 - - -;
-#X floatatom 97 144 5 0 0 0 - - -;
-#X obj 39 187 colorRGB 0 0 1;
-#X obj 126 810 |;
-#X floatatom 587 830 5 0 0 0 - - -;
-#X obj 569 782 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 569 805 GLdefine GL_STENCIL_TEST;
-#X obj 587 780 loadbang;
-#X obj 490 830 GEMglDisable;
-#X text 67 212 allow \, clear and configure stencil buffer;
-#X obj 39 695 circle 1.5;
-#X text 131 685 draw in all buffer;
-#X text 104 840 clear color and depth buffer;
-#X text 488 189 draw where the stencil buffer is not 1;
-#X obj 490 423 square 3;
-#X text 522 565 draw where the stencil buffer is 1;
-#X obj 529 21 gemhead 10;
-#X floatatom 562 41 5 0 0 0 - - -;
-#X floatatom 602 41 5 0 0 0 - - -;
-#X floatatom 642 41 5 0 0 0 - - -;
-#X obj 529 87 world_light;
-#X obj 529 62 rotateXYZ 0 0 0;
-#X obj 39 167 rotateXYZ;
-#X text 151 144 <- play with this.;
-#X text 238 858 (c) Cyrille Henry 2006;
-#X obj 39 56 t a b;
-#X obj 74 78 i;
-#X obj 122 56 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X obj 103 78 + 0;
-#X obj 74 123 t f f;
-#X obj 74 100 spigot;
-#X obj 104 673 teapot 1.5;
-#X obj 39 657 spigot;
-#X obj 104 654 spigot;
-#X obj 79 610 loadbang;
-#X obj 147 632 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X obj 82 634 == 0;
-#X msg 147 611 0;
-#X obj 131 77 % 360;
-#X obj 490 754 sphere 1.2 25;
-#X obj 36 6 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X obj 118 113 outlet;
-#X msg 118 81 reset \, lighting 1;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X restore 372 38 pd Gem.init;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 342 55 pd gemwin;
-#X connect 0 0 10 0;
-#X connect 2 0 3 0;
-#X connect 3 0 1 0;
-#X connect 3 0 0 1;
-#X connect 4 0 3 0;
-#X connect 5 0 7 0;
-#X connect 5 0 10 1;
-#X connect 6 0 5 0;
-#X connect 8 0 5 0;
-#X connect 9 0 0 0;
-#X connect 10 0 12 0;
-#X connect 11 0 75 0;
-#X connect 12 0 18 0;
-#X connect 13 0 12 3;
-#X connect 13 0 12 2;
-#X connect 14 0 15 0;
-#X connect 14 0 13 0;
-#X connect 15 0 12 1;
-#X connect 15 0 17 0;
-#X connect 16 0 13 0;
-#X connect 16 0 15 0;
-#X connect 18 0 82 0;
-#X connect 18 0 83 0;
-#X connect 20 0 21 0;
-#X connect 21 0 19 0;
-#X connect 21 0 18 1;
-#X connect 21 0 18 2;
-#X connect 21 0 18 3;
-#X connect 22 0 20 0;
-#X connect 23 0 28 0;
-#X connect 24 0 28 0;
-#X connect 25 0 29 0;
-#X connect 27 0 53 1;
-#X connect 28 0 44 0;
-#X connect 28 1 27 0;
-#X connect 29 0 45 0;
-#X connect 30 0 29 3;
-#X connect 30 0 29 2;
-#X connect 31 0 34 0;
-#X connect 32 0 30 0;
-#X connect 32 0 34 0;
-#X connect 34 0 29 1;
-#X connect 34 0 33 0;
-#X connect 35 0 64 0;
-#X connect 36 0 43 0;
-#X connect 37 0 36 3;
-#X connect 37 0 36 2;
-#X connect 38 0 42 0;
-#X connect 39 0 37 0;
-#X connect 39 0 42 0;
-#X connect 41 0 89 0;
-#X connect 42 0 36 1;
-#X connect 42 0 40 0;
-#X connect 43 0 41 0;
-#X connect 44 0 53 0;
-#X connect 45 0 35 0;
-#X connect 47 0 49 0;
-#X connect 48 0 47 0;
-#X connect 49 0 46 0;
-#X connect 49 0 45 1;
-#X connect 49 0 45 2;
-#X connect 49 0 45 3;
-#X connect 50 0 72 1;
-#X connect 51 0 72 2;
-#X connect 52 0 9 0;
-#X connect 53 0 26 0;
-#X connect 53 0 25 1;
-#X connect 55 0 56 0;
-#X connect 56 0 54 0;
-#X connect 56 0 58 1;
-#X connect 57 0 56 0;
-#X connect 60 0 25 0;
-#X connect 64 0 36 0;
-#X connect 66 0 71 0;
-#X connect 67 0 71 1;
-#X connect 68 0 71 2;
-#X connect 69 0 71 3;
-#X connect 71 0 70 0;
-#X connect 72 0 52 0;
-#X connect 75 0 72 0;
-#X connect 75 1 76 0;
-#X connect 76 0 78 0;
-#X connect 76 0 80 0;
-#X connect 77 0 78 1;
-#X connect 77 0 80 1;
-#X connect 78 0 88 0;
-#X connect 79 0 50 0;
-#X connect 79 1 51 0;
-#X connect 80 0 79 0;
-#X connect 81 0 25 0;
-#X connect 82 0 60 0;
-#X connect 83 0 81 0;
-#X connect 84 0 87 0;
-#X connect 85 0 83 1;
-#X connect 85 0 86 0;
-#X connect 86 0 82 1;
-#X connect 87 0 85 0;
-#X connect 88 0 76 1;
-#X connect 89 0 58 0;
-#X connect 90 0 11 0;
-#X connect 91 0 92 0;
+#N canvas 431 30 849 872 10;
+#X obj 39 330 GEMglEnable;
+#X floatatom 125 332 5 0 0 0 - - -;
+#X obj 111 282 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 111 305 GLdefine GL_STENCIL_TEST;
+#X obj 129 280 loadbang;
+#X obj 104 382 GLdefine GL_STENCIL_BUFFER_BIT;
+#X obj 166 361 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X floatatom 119 407 5 0 0 0 - - -;
+#X obj 104 359 loadbang;
+#X obj 39 249 GEMglClearStencil 0;
+#X obj 39 407 GEMglClear;
+#X obj 39 33 gemhead 45;
+#X obj 39 506 GEMglStencilFunc;
+#X msg 146 480 1;
+#X obj 75 436 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 74 459 GLdefine GL_ALWAYS;
+#X obj 96 436 loadbang;
+#X floatatom 100 480 5 0 0 0 - - -;
+#X obj 39 586 GEMglStencilOp;
+#X floatatom 156 581 5 0 0 0 - - -;
+#X obj 70 486 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 70 552 GLdefine GL_REPLACE;
+#X obj 95 530 loadbang;
+#X obj 239 743 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 170 742 loadbang;
+#X obj 39 810 GEMglClear;
+#X floatatom 156 812 5 0 0 0 - - -;
+#X obj 145 788 GLdefine GL_DEPTH_BUFFER_BIT;
+#X obj 126 743 t b b;
+#X obj 490 287 GEMglStencilFunc;
+#X msg 597 263 1;
+#X obj 525 220 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 546 218 loadbang;
+#X floatatom 535 264 5 0 0 0 - - -;
+#X obj 525 241 GLdefine GL_NOTEQUAL;
+#X obj 490 396 color 1 0 0;
+#X obj 490 659 GEMglStencilFunc;
+#X msg 597 634 1;
+#X obj 525 594 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 547 592 loadbang;
+#X floatatom 536 638 5 0 0 0 - - -;
+#X obj 490 709 rotateXYZ 0 0 45;
+#X obj 525 615 GLdefine GL_EQUAL;
+#X obj 490 685 color 1 1 0;
+#X obj 126 766 GLdefine GL_COLOR_BUFFER_BIT;
+#X obj 490 365 GEMglStencilOp;
+#X floatatom 601 364 5 0 0 0 - - -;
+#X obj 521 310 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 544 307 loadbang;
+#X obj 521 331 GLdefine GL_KEEP;
+#X floatatom 58 144 5 0 0 0 - - -;
+#X floatatom 97 144 5 0 0 0 - - -;
+#X obj 39 187 colorRGB 0 0 1;
+#X obj 126 810 |;
+#X floatatom 587 830 5 0 0 0 - - -;
+#X obj 569 782 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 569 805 GLdefine GL_STENCIL_TEST;
+#X obj 587 780 loadbang;
+#X obj 490 830 GEMglDisable;
+#X text 67 212 allow \, clear and configure stencil buffer;
+#X obj 39 695 circle 1.5;
+#X text 131 685 draw in all buffer;
+#X text 104 840 clear color and depth buffer;
+#X text 488 189 draw where the stencil buffer is not 1;
+#X obj 490 423 square 3;
+#X text 522 565 draw where the stencil buffer is 1;
+#X obj 529 21 gemhead 10;
+#X floatatom 562 41 5 0 0 0 - - -;
+#X floatatom 602 41 5 0 0 0 - - -;
+#X floatatom 642 41 5 0 0 0 - - -;
+#X obj 529 87 world_light;
+#X obj 529 62 rotateXYZ 0 0 0;
+#X obj 39 167 rotateXYZ;
+#X text 151 144 <- play with this.;
+#X text 238 858 (c) Cyrille Henry 2006;
+#X obj 39 56 t a b;
+#X obj 74 78 i;
+#X obj 122 56 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 103 78 + 0;
+#X obj 74 123 t f f;
+#X obj 74 100 spigot;
+#X obj 104 673 teapot 1.5;
+#X obj 39 657 spigot;
+#X obj 104 654 spigot;
+#X obj 79 610 loadbang;
+#X obj 147 632 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 82 634 == 0;
+#X msg 147 611 0;
+#X obj 131 77 % 360;
+#X obj 490 754 sphere 1.2 25;
+#X obj 36 6 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X obj 118 113 outlet;
+#X msg 118 81 reset \, lighting 1;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X restore 372 38 pd Gem.init;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 342 55 pd gemwin;
+#X connect 0 0 10 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 0;
+#X connect 3 0 0 1;
+#X connect 4 0 3 0;
+#X connect 5 0 7 0;
+#X connect 5 0 10 1;
+#X connect 6 0 5 0;
+#X connect 8 0 5 0;
+#X connect 9 0 0 0;
+#X connect 10 0 12 0;
+#X connect 11 0 75 0;
+#X connect 12 0 18 0;
+#X connect 13 0 12 3;
+#X connect 13 0 12 2;
+#X connect 14 0 15 0;
+#X connect 14 0 13 0;
+#X connect 15 0 12 1;
+#X connect 15 0 17 0;
+#X connect 16 0 13 0;
+#X connect 16 0 15 0;
+#X connect 18 0 82 0;
+#X connect 18 0 83 0;
+#X connect 20 0 21 0;
+#X connect 21 0 19 0;
+#X connect 21 0 18 1;
+#X connect 21 0 18 2;
+#X connect 21 0 18 3;
+#X connect 22 0 20 0;
+#X connect 23 0 28 0;
+#X connect 24 0 28 0;
+#X connect 25 0 29 0;
+#X connect 27 0 53 1;
+#X connect 28 0 44 0;
+#X connect 28 1 27 0;
+#X connect 29 0 45 0;
+#X connect 30 0 29 3;
+#X connect 30 0 29 2;
+#X connect 31 0 34 0;
+#X connect 32 0 30 0;
+#X connect 32 0 34 0;
+#X connect 34 0 29 1;
+#X connect 34 0 33 0;
+#X connect 35 0 64 0;
+#X connect 36 0 43 0;
+#X connect 37 0 36 3;
+#X connect 37 0 36 2;
+#X connect 38 0 42 0;
+#X connect 39 0 37 0;
+#X connect 39 0 42 0;
+#X connect 41 0 89 0;
+#X connect 42 0 36 1;
+#X connect 42 0 40 0;
+#X connect 43 0 41 0;
+#X connect 44 0 53 0;
+#X connect 45 0 35 0;
+#X connect 47 0 49 0;
+#X connect 48 0 47 0;
+#X connect 49 0 46 0;
+#X connect 49 0 45 1;
+#X connect 49 0 45 2;
+#X connect 49 0 45 3;
+#X connect 50 0 72 1;
+#X connect 51 0 72 2;
+#X connect 52 0 9 0;
+#X connect 53 0 26 0;
+#X connect 53 0 25 1;
+#X connect 55 0 56 0;
+#X connect 56 0 54 0;
+#X connect 56 0 58 1;
+#X connect 57 0 56 0;
+#X connect 60 0 25 0;
+#X connect 64 0 36 0;
+#X connect 66 0 71 0;
+#X connect 67 0 71 1;
+#X connect 68 0 71 2;
+#X connect 69 0 71 3;
+#X connect 71 0 70 0;
+#X connect 72 0 52 0;
+#X connect 75 0 72 0;
+#X connect 75 1 76 0;
+#X connect 76 0 78 0;
+#X connect 76 0 80 0;
+#X connect 77 0 78 1;
+#X connect 77 0 80 1;
+#X connect 78 0 88 0;
+#X connect 79 0 50 0;
+#X connect 79 1 51 0;
+#X connect 80 0 79 0;
+#X connect 81 0 25 0;
+#X connect 82 0 60 0;
+#X connect 83 0 81 0;
+#X connect 84 0 87 0;
+#X connect 85 0 83 1;
+#X connect 85 0 86 0;
+#X connect 86 0 82 1;
+#X connect 87 0 85 0;
+#X connect 88 0 76 1;
+#X connect 89 0 58 0;
+#X connect 90 0 11 0;
+#X connect 91 0 92 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/09.openGL/04.clearZ.pd b/packages/noncvs/windows/extra/Gem/examples/09.openGL/04.clearZ.pd
index e4947ff0..2b7c0f26 100644
--- a/packages/noncvs/windows/extra/Gem/examples/09.openGL/04.clearZ.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/09.openGL/04.clearZ.pd
@@ -1,27 +1,27 @@
-#N canvas 0 0 710 401 10;
-#X obj 111 162 loadbang;
-#X obj 44 209 GEMglClear;
-#X obj 111 186 GLdefine GL_DEPTH_BUFFER_BIT;
-#X obj 173 164 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 44 75 gemhead;
-#X obj 44 255 translateXYZ 0 0 -2;
-#X obj 339 129 gemwin;
-#X msg 352 101 create \, 1;
-#X obj 44 281 color 1 0 0;
-#X obj 44 126 circle 1;
-#X obj 44 310 circle 1;
-#X text 206 11 Clear Depth Buffer;
-#X text 205 352 this is related to the depth object that turn off depth
-buffer test \, but not quite the same...;
-#X text 176 213 <- clear Depth buffer \, so that you can draw anything
-even if it is behind something else;
-#X connect 0 0 2 0;
-#X connect 1 0 5 0;
-#X connect 2 0 1 1;
-#X connect 3 0 2 0;
-#X connect 4 0 9 0;
-#X connect 5 0 8 0;
-#X connect 7 0 6 0;
-#X connect 8 0 10 0;
-#X connect 9 0 1 0;
+#N canvas 0 0 710 401 10;
+#X obj 111 162 loadbang;
+#X obj 44 209 GEMglClear;
+#X obj 111 186 GLdefine GL_DEPTH_BUFFER_BIT;
+#X obj 173 164 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 44 75 gemhead;
+#X obj 44 255 translateXYZ 0 0 -2;
+#X obj 339 129 gemwin;
+#X msg 352 101 create \, 1;
+#X obj 44 281 color 1 0 0;
+#X obj 44 126 circle 1;
+#X obj 44 310 circle 1;
+#X text 206 11 Clear Depth Buffer;
+#X text 205 352 this is related to the depth object that turn off depth
+buffer test \, but not quite the same...;
+#X text 176 213 <- clear Depth buffer \, so that you can draw anything
+even if it is behind something else;
+#X connect 0 0 2 0;
+#X connect 1 0 5 0;
+#X connect 2 0 1 1;
+#X connect 3 0 2 0;
+#X connect 4 0 9 0;
+#X connect 5 0 8 0;
+#X connect 7 0 6 0;
+#X connect 8 0 10 0;
+#X connect 9 0 1 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/09.openGL/05.load_identity_matrix.pd b/packages/noncvs/windows/extra/Gem/examples/09.openGL/05.load_identity_matrix.pd
index 2db138ae..0eca77c6 100644
--- a/packages/noncvs/windows/extra/Gem/examples/09.openGL/05.load_identity_matrix.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/09.openGL/05.load_identity_matrix.pd
@@ -1,74 +1,74 @@
-#N canvas 0 0 784 537 10;
-#X obj 64 47 gemhead;
-#X obj 96 94 gemlist_info;
-#X floatatom 177 138 5 0 0 0 - - -;
-#X floatatom 217 138 5 0 0 0 - - -;
-#X floatatom 258 138 5 0 0 0 - - -;
-#X obj 177 115 unpack f f f;
-#X text 185 97 position;
-#X obj 64 71 t a a;
-#X obj 64 328 GEMglLoadIdentity;
-#X obj 64 204 translateXYZ 2 1 3;
-#X obj 96 254 gemlist_info;
-#X floatatom 177 298 5 0 0 0 - - -;
-#X floatatom 217 298 5 0 0 0 - - -;
-#X floatatom 258 298 5 0 0 0 - - -;
-#X obj 177 275 unpack f f f;
-#X text 185 257 position;
-#X obj 64 231 t a a;
-#X obj 96 384 gemlist_info;
-#X floatatom 177 428 5 0 0 0 - - -;
-#X floatatom 217 428 5 0 0 0 - - -;
-#X floatatom 258 428 5 0 0 0 - - -;
-#X obj 177 405 unpack f f f;
-#X text 185 387 position;
-#X obj 64 361 t a a;
-#X obj 64 532 circle;
-#X floatatom 105 179 5 0 0 0 - - -;
-#X obj 391 101 gemwin;
-#X msg 400 78 create \, 1;
-#X obj 64 457 translateXYZ 0 0 -4;
-#X obj 96 504 gemlist_info;
-#X floatatom 177 548 5 0 0 0 - - -;
-#X floatatom 217 548 5 0 0 0 - - -;
-#X floatatom 258 548 5 0 0 0 - - -;
-#X obj 177 525 unpack f f f;
-#X text 185 507 position;
-#X obj 64 481 t a a;
-#X text 272 197 <- this translation does not affect the circle \, because
-of the "load identity" object that resets the transformation;
-#X text 209 333 <- this object reset the gemlist sent by the gemhead.
-;
-#X text 211 457 <- move the object regarding the camera position (this
-is normally done automatically by the gemwin \, but since we have reset
-the transformation matrix we have to do it ourselves...);
-#X connect 0 0 7 0;
-#X connect 1 4 5 0;
-#X connect 5 0 2 0;
-#X connect 5 1 3 0;
-#X connect 5 2 4 0;
-#X connect 7 0 9 0;
-#X connect 7 1 1 0;
-#X connect 8 0 23 0;
-#X connect 9 0 16 0;
-#X connect 10 4 14 0;
-#X connect 14 0 11 0;
-#X connect 14 1 12 0;
-#X connect 14 2 13 0;
-#X connect 16 0 8 0;
-#X connect 16 1 10 0;
-#X connect 17 4 21 0;
-#X connect 21 0 18 0;
-#X connect 21 1 19 0;
-#X connect 21 2 20 0;
-#X connect 23 0 28 0;
-#X connect 23 1 17 0;
-#X connect 25 0 9 1;
-#X connect 27 0 26 0;
-#X connect 28 0 35 0;
-#X connect 29 4 33 0;
-#X connect 33 0 30 0;
-#X connect 33 1 31 0;
-#X connect 33 2 32 0;
-#X connect 35 0 24 0;
-#X connect 35 1 29 0;
+#N canvas 0 0 784 537 10;
+#X obj 64 47 gemhead;
+#X obj 96 94 gemlist_info;
+#X floatatom 177 138 5 0 0 0 - - -;
+#X floatatom 217 138 5 0 0 0 - - -;
+#X floatatom 258 138 5 0 0 0 - - -;
+#X obj 177 115 unpack f f f;
+#X text 185 97 position;
+#X obj 64 71 t a a;
+#X obj 64 328 GEMglLoadIdentity;
+#X obj 64 204 translateXYZ 2 1 3;
+#X obj 96 254 gemlist_info;
+#X floatatom 177 298 5 0 0 0 - - -;
+#X floatatom 217 298 5 0 0 0 - - -;
+#X floatatom 258 298 5 0 0 0 - - -;
+#X obj 177 275 unpack f f f;
+#X text 185 257 position;
+#X obj 64 231 t a a;
+#X obj 96 384 gemlist_info;
+#X floatatom 177 428 5 0 0 0 - - -;
+#X floatatom 217 428 5 0 0 0 - - -;
+#X floatatom 258 428 5 0 0 0 - - -;
+#X obj 177 405 unpack f f f;
+#X text 185 387 position;
+#X obj 64 361 t a a;
+#X obj 64 532 circle;
+#X floatatom 105 179 5 0 0 0 - - -;
+#X obj 391 101 gemwin;
+#X msg 400 78 create \, 1;
+#X obj 64 457 translateXYZ 0 0 -4;
+#X obj 96 504 gemlist_info;
+#X floatatom 177 548 5 0 0 0 - - -;
+#X floatatom 217 548 5 0 0 0 - - -;
+#X floatatom 258 548 5 0 0 0 - - -;
+#X obj 177 525 unpack f f f;
+#X text 185 507 position;
+#X obj 64 481 t a a;
+#X text 272 197 <- this translation does not affect the circle \, because
+of the "load identity" object that resets the transformation;
+#X text 209 333 <- this object reset the gemlist sent by the gemhead.
+;
+#X text 211 457 <- move the object regarding the camera position (this
+is normally done automatically by the gemwin \, but since we have reset
+the transformation matrix we have to do it ourselves...);
+#X connect 0 0 7 0;
+#X connect 1 4 5 0;
+#X connect 5 0 2 0;
+#X connect 5 1 3 0;
+#X connect 5 2 4 0;
+#X connect 7 0 9 0;
+#X connect 7 1 1 0;
+#X connect 8 0 23 0;
+#X connect 9 0 16 0;
+#X connect 10 4 14 0;
+#X connect 14 0 11 0;
+#X connect 14 1 12 0;
+#X connect 14 2 13 0;
+#X connect 16 0 8 0;
+#X connect 16 1 10 0;
+#X connect 17 4 21 0;
+#X connect 21 0 18 0;
+#X connect 21 1 19 0;
+#X connect 21 2 20 0;
+#X connect 23 0 28 0;
+#X connect 23 1 17 0;
+#X connect 25 0 9 1;
+#X connect 27 0 26 0;
+#X connect 28 0 35 0;
+#X connect 29 4 33 0;
+#X connect 33 0 30 0;
+#X connect 33 1 31 0;
+#X connect 33 2 32 0;
+#X connect 35 0 24 0;
+#X connect 35 1 29 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/10.glsl/01.simple_texture.pd b/packages/noncvs/windows/extra/Gem/examples/10.glsl/01.simple_texture.pd
index 230e8423..b27af38e 100644
--- a/packages/noncvs/windows/extra/Gem/examples/10.glsl/01.simple_texture.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/10.glsl/01.simple_texture.pd
@@ -1,144 +1,144 @@
-#N canvas 488 50 722 633 10;
-#X obj 76 22 gemhead;
-#X obj 76 367 glsl_program;
-#X obj 149 282 pack 0 0;
-#X obj 170 262 t b f;
-#X obj 166 217 change;
-#X obj 148 98 change;
-#X msg 149 308 link \$1 \$2;
-#X floatatom 170 243 2 0 0 0 ID - -;
-#X floatatom 148 121 2 0 0 0 ID - -;
-#X obj 167 329 print linking;
-#X obj 76 411 rotateXYZ;
-#X floatatom 96 389 5 0 0 0 - - -;
-#X floatatom 140 389 5 0 0 0 - - -;
-#X floatatom 182 389 5 0 0 0 - - -;
-#X obj 76 580 pix_texture;
-#X msg 548 116 color 1 0 0;
-#X obj 142 27 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X msg 90 57 open texture.vert;
-#X msg 86 147 open texture.frag;
-#X obj 76 79 glsl_vertex;
-#X obj 76 197 glsl_fragment;
-#X text 215 459 <- load texture;
-#X obj 106 535 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X obj 76 489 pix_image img1.jpg;
-#X msg 103 460 open img2.jpg;
-#X msg 96 168 open texture_rect.frag;
-#X msg 199 98 0;
-#X obj 292 67 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X text 324 65 <-load an other shader;
-#X text 328 79 (using rectangular texturing);
-#X msg 292 108 1;
-#X msg 351 258 B \$1;
-#X msg 364 297 C \$1;
-#X floatatom 351 241 5 0 0 0 - - -;
-#X floatatom 364 280 5 0 0 0 - - -;
-#X text 408 280 <- adjust Contrast;
-#X text 400 240 <- adjust Brightness;
-#X text 174 25 <- load shader;
-#X obj 76 604 square 3;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 566 142 pd Gem.init;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 1 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 548 163 pd gemwin;
-#X msg 106 555 rectangle \$1;
-#X obj 292 129 s rectangle;
-#X obj 199 119 s rectangle;
-#X obj 106 512 r rectangle;
-#X msg 31 220 print;
-#X msg 32 118 print;
-#X msg 39 340 print;
-#X floatatom 192 372 0 0 0 0 - - -;
-#X connect 0 0 19 0;
-#X connect 1 0 10 0;
-#X connect 1 1 48 0;
-#X connect 2 0 6 0;
-#X connect 3 0 2 0;
-#X connect 3 1 2 1;
-#X connect 4 0 7 0;
-#X connect 5 0 8 0;
-#X connect 6 0 1 0;
-#X connect 6 0 9 0;
-#X connect 7 0 3 0;
-#X connect 8 0 2 0;
-#X connect 10 0 23 0;
-#X connect 11 0 10 1;
-#X connect 12 0 10 2;
-#X connect 13 0 10 3;
-#X connect 14 0 38 0;
-#X connect 15 0 40 0;
-#X connect 16 0 17 0;
-#X connect 16 0 18 0;
-#X connect 16 0 26 0;
-#X connect 17 0 19 0;
-#X connect 18 0 20 0;
-#X connect 19 0 20 0;
-#X connect 19 1 5 0;
-#X connect 20 0 1 0;
-#X connect 20 1 4 0;
-#X connect 22 0 41 0;
-#X connect 23 0 14 0;
-#X connect 24 0 23 0;
-#X connect 25 0 20 0;
-#X connect 26 0 43 0;
-#X connect 27 0 17 0;
-#X connect 27 0 25 0;
-#X connect 27 0 30 0;
-#X connect 30 0 42 0;
-#X connect 31 0 1 0;
-#X connect 32 0 1 0;
-#X connect 33 0 31 0;
-#X connect 34 0 32 0;
-#X connect 39 0 40 0;
-#X connect 41 0 14 0;
-#X connect 44 0 22 0;
-#X connect 45 0 20 0;
-#X connect 46 0 19 0;
-#X connect 47 0 1 0;
+#N canvas 488 50 722 633 10;
+#X obj 76 22 gemhead;
+#X obj 76 367 glsl_program;
+#X obj 149 282 pack 0 0;
+#X obj 170 262 t b f;
+#X obj 166 217 change;
+#X obj 148 98 change;
+#X msg 149 308 link \$1 \$2;
+#X floatatom 170 243 2 0 0 0 ID - -;
+#X floatatom 148 121 2 0 0 0 ID - -;
+#X obj 167 329 print linking;
+#X obj 76 411 rotateXYZ;
+#X floatatom 96 389 5 0 0 0 - - -;
+#X floatatom 140 389 5 0 0 0 - - -;
+#X floatatom 182 389 5 0 0 0 - - -;
+#X obj 76 580 pix_texture;
+#X msg 548 116 color 1 0 0;
+#X obj 142 27 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X msg 90 57 open texture.vert;
+#X msg 86 147 open texture.frag;
+#X obj 76 79 glsl_vertex;
+#X obj 76 197 glsl_fragment;
+#X text 215 459 <- load texture;
+#X obj 106 535 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X obj 76 489 pix_image img1.jpg;
+#X msg 103 460 open img2.jpg;
+#X msg 96 168 open texture_rect.frag;
+#X msg 199 98 0;
+#X obj 292 67 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X text 324 65 <-load an other shader;
+#X text 328 79 (using rectangular texturing);
+#X msg 292 108 1;
+#X msg 351 258 B \$1;
+#X msg 364 297 C \$1;
+#X floatatom 351 241 5 0 0 0 - - -;
+#X floatatom 364 280 5 0 0 0 - - -;
+#X text 408 280 <- adjust Contrast;
+#X text 400 240 <- adjust Brightness;
+#X text 174 25 <- load shader;
+#X obj 76 604 square 3;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 566 142 pd Gem.init;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 1 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 548 163 pd gemwin;
+#X msg 106 555 rectangle \$1;
+#X obj 292 129 s rectangle;
+#X obj 199 119 s rectangle;
+#X obj 106 512 r rectangle;
+#X msg 31 220 print;
+#X msg 32 118 print;
+#X msg 39 340 print;
+#X floatatom 192 372 0 0 0 0 - - -;
+#X connect 0 0 19 0;
+#X connect 1 0 10 0;
+#X connect 1 1 48 0;
+#X connect 2 0 6 0;
+#X connect 3 0 2 0;
+#X connect 3 1 2 1;
+#X connect 4 0 7 0;
+#X connect 5 0 8 0;
+#X connect 6 0 1 0;
+#X connect 6 0 9 0;
+#X connect 7 0 3 0;
+#X connect 8 0 2 0;
+#X connect 10 0 23 0;
+#X connect 11 0 10 1;
+#X connect 12 0 10 2;
+#X connect 13 0 10 3;
+#X connect 14 0 38 0;
+#X connect 15 0 40 0;
+#X connect 16 0 17 0;
+#X connect 16 0 18 0;
+#X connect 16 0 26 0;
+#X connect 17 0 19 0;
+#X connect 18 0 20 0;
+#X connect 19 0 20 0;
+#X connect 19 1 5 0;
+#X connect 20 0 1 0;
+#X connect 20 1 4 0;
+#X connect 22 0 41 0;
+#X connect 23 0 14 0;
+#X connect 24 0 23 0;
+#X connect 25 0 20 0;
+#X connect 26 0 43 0;
+#X connect 27 0 17 0;
+#X connect 27 0 25 0;
+#X connect 27 0 30 0;
+#X connect 30 0 42 0;
+#X connect 31 0 1 0;
+#X connect 32 0 1 0;
+#X connect 33 0 31 0;
+#X connect 34 0 32 0;
+#X connect 39 0 40 0;
+#X connect 41 0 14 0;
+#X connect 44 0 22 0;
+#X connect 45 0 20 0;
+#X connect 46 0 19 0;
+#X connect 47 0 1 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/10.glsl/02.primitive_distortion.pd b/packages/noncvs/windows/extra/Gem/examples/10.glsl/02.primitive_distortion.pd
index 8d2e976f..968d4af1 100644
--- a/packages/noncvs/windows/extra/Gem/examples/10.glsl/02.primitive_distortion.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/10.glsl/02.primitive_distortion.pd
@@ -1,142 +1,142 @@
-#N canvas 464 25 520 667 10;
-#X obj 74 -1 gemhead;
-#X msg 29 80 print;
-#X obj 74 372 glsl_program;
-#X obj 147 281 pack 0 0;
-#X msg 31 162 print;
-#X obj 168 261 t b f;
-#X obj 168 216 change;
-#X obj 146 121 change;
-#X msg 147 301 link \$1 \$2;
-#X msg 98 343 print;
-#X floatatom 168 242 2 0 0 0 ID - -;
-#X floatatom 146 144 2 0 0 0 ID - -;
-#X obj 165 322 print linking;
-#X obj 74 196 glsl_fragment;
-#X obj 74 102 glsl_vertex;
-#X obj 74 561 pix_texture;
-#X obj 124 59 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 74 24 alpha;
-#X obj 101 507 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X floatatom 292 312 5 0 0 0 - - -;
-#X msg 101 485 0;
-#X msg 292 333 K \$1;
-#X obj 74 604 sphere 2 30;
-#N canvas 0 0 450 300 load_shader 0;
-#X obj 89 99 t b b;
-#X msg 119 126 0;
-#X obj 89 154 outlet;
-#X obj 89 71 gemhead 1;
-#X connect 0 0 2 0;
-#X connect 0 1 1 0;
-#X connect 1 0 3 0;
-#X connect 3 0 0 0;
-#X restore 124 38 pd load_shader;
-#N canvas 0 0 450 300 init_shader 0;
-#X obj 89 154 outlet;
-#X obj 89 45 inlet;
-#X obj 89 73 change;
-#X obj 89 100 t b;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 3 0 0 0;
-#X restore 153 396 pd init_shader;
-#X obj 101 464 loadbang;
-#X text 347 311 <- 2;
-#X text 395 670 ch 20007;
-#X msg 103 415 open texture.jpg;
-#X obj 74 581 rotateXYZ -90 0 0;
-#X msg 292 287 0.1;
-#X obj 74 438 pix_image img3.jpg;
-#X msg 88 80 open P_distord.vert;
-#X msg 85 166 open P_distord.frag;
-#X text 69 637 this shader create a dirty pseudo random value \, and
-move all vertices separatly;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 389 41 pd Gem.init;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 1 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 359 58 pd gemwin;
-#X msg 101 527 rectangle \$1;
-#X connect 0 0 17 0;
-#X connect 1 0 14 0;
-#X connect 2 0 31 0;
-#X connect 2 1 24 0;
-#X connect 3 0 8 0;
-#X connect 4 0 13 0;
-#X connect 5 0 3 0;
-#X connect 5 1 3 1;
-#X connect 6 0 10 0;
-#X connect 7 0 11 0;
-#X connect 8 0 2 0;
-#X connect 8 0 12 0;
-#X connect 9 0 2 0;
-#X connect 10 0 5 0;
-#X connect 11 0 3 0;
-#X connect 13 0 2 0;
-#X connect 13 1 6 0;
-#X connect 14 0 13 0;
-#X connect 14 1 7 0;
-#X connect 15 0 29 0;
-#X connect 16 0 32 0;
-#X connect 16 0 33 0;
-#X connect 17 0 14 0;
-#X connect 18 0 37 0;
-#X connect 19 0 21 0;
-#X connect 20 0 18 0;
-#X connect 21 0 2 0;
-#X connect 23 0 16 0;
-#X connect 24 0 30 0;
-#X connect 25 0 20 0;
-#X connect 28 0 31 0;
-#X connect 29 0 22 0;
-#X connect 30 0 19 0;
-#X connect 31 0 15 0;
-#X connect 32 0 14 0;
-#X connect 33 0 13 0;
-#X connect 35 0 36 0;
-#X connect 37 0 15 0;
+#N canvas 464 25 520 667 10;
+#X obj 74 -1 gemhead;
+#X msg 29 80 print;
+#X obj 74 372 glsl_program;
+#X obj 147 281 pack 0 0;
+#X msg 31 162 print;
+#X obj 168 261 t b f;
+#X obj 168 216 change;
+#X obj 146 121 change;
+#X msg 147 301 link \$1 \$2;
+#X msg 98 343 print;
+#X floatatom 168 242 2 0 0 0 ID - -;
+#X floatatom 146 144 2 0 0 0 ID - -;
+#X obj 165 322 print linking;
+#X obj 74 196 glsl_fragment;
+#X obj 74 102 glsl_vertex;
+#X obj 74 561 pix_texture;
+#X obj 124 59 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 74 24 alpha;
+#X obj 101 507 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X floatatom 292 312 5 0 0 0 - - -;
+#X msg 101 485 0;
+#X msg 292 333 K \$1;
+#X obj 74 604 sphere 2 30;
+#N canvas 0 0 450 300 load_shader 0;
+#X obj 89 99 t b b;
+#X msg 119 126 0;
+#X obj 89 154 outlet;
+#X obj 89 71 gemhead 1;
+#X connect 0 0 2 0;
+#X connect 0 1 1 0;
+#X connect 1 0 3 0;
+#X connect 3 0 0 0;
+#X restore 124 38 pd load_shader;
+#N canvas 0 0 450 300 init_shader 0;
+#X obj 89 154 outlet;
+#X obj 89 45 inlet;
+#X obj 89 73 change;
+#X obj 89 100 t b;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 0 0;
+#X restore 153 396 pd init_shader;
+#X obj 101 464 loadbang;
+#X text 347 311 <- 2;
+#X text 395 670 ch 20007;
+#X msg 103 415 open texture.jpg;
+#X obj 74 581 rotateXYZ -90 0 0;
+#X msg 292 287 0.1;
+#X obj 74 438 pix_image img3.jpg;
+#X msg 88 80 open P_distord.vert;
+#X msg 85 166 open P_distord.frag;
+#X text 69 637 this shader create a dirty pseudo random value \, and
+move all vertices separatly;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 389 41 pd Gem.init;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 1 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 359 58 pd gemwin;
+#X msg 101 527 rectangle \$1;
+#X connect 0 0 17 0;
+#X connect 1 0 14 0;
+#X connect 2 0 31 0;
+#X connect 2 1 24 0;
+#X connect 3 0 8 0;
+#X connect 4 0 13 0;
+#X connect 5 0 3 0;
+#X connect 5 1 3 1;
+#X connect 6 0 10 0;
+#X connect 7 0 11 0;
+#X connect 8 0 2 0;
+#X connect 8 0 12 0;
+#X connect 9 0 2 0;
+#X connect 10 0 5 0;
+#X connect 11 0 3 0;
+#X connect 13 0 2 0;
+#X connect 13 1 6 0;
+#X connect 14 0 13 0;
+#X connect 14 1 7 0;
+#X connect 15 0 29 0;
+#X connect 16 0 32 0;
+#X connect 16 0 33 0;
+#X connect 17 0 14 0;
+#X connect 18 0 37 0;
+#X connect 19 0 21 0;
+#X connect 20 0 18 0;
+#X connect 21 0 2 0;
+#X connect 23 0 16 0;
+#X connect 24 0 30 0;
+#X connect 25 0 20 0;
+#X connect 28 0 31 0;
+#X connect 29 0 22 0;
+#X connect 30 0 19 0;
+#X connect 31 0 15 0;
+#X connect 32 0 14 0;
+#X connect 33 0 13 0;
+#X connect 35 0 36 0;
+#X connect 37 0 15 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/10.glsl/03.texture_distortion.pd b/packages/noncvs/windows/extra/Gem/examples/10.glsl/03.texture_distortion.pd
index be30c96a..8d436fa0 100644
--- a/packages/noncvs/windows/extra/Gem/examples/10.glsl/03.texture_distortion.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/10.glsl/03.texture_distortion.pd
@@ -1,144 +1,144 @@
-#N canvas 10 10 552 667 10;
-#X text 381 660 ch 20007;
-#X obj 74 -1 gemhead;
-#X msg 29 80 print;
-#X obj 74 382 glsl_program;
-#X obj 147 281 pack 0 0;
-#X msg 31 162 print;
-#X obj 168 261 t b f;
-#X obj 168 216 change;
-#X obj 146 121 change;
-#X msg 147 304 link \$1 \$2;
-#X msg 98 353 print;
-#X floatatom 168 242 2 0 0 0 ID - -;
-#X floatatom 146 144 2 0 0 0 ID - -;
-#X obj 165 325 print linking;
-#X obj 74 196 glsl_fragment;
-#X obj 74 102 glsl_vertex;
-#X obj 74 571 pix_texture;
-#X obj 124 59 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 74 24 alpha;
-#X obj 124 522 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X floatatom 361 352 5 0 0 0 - - -;
-#X floatatom 476 353 5 0 0 0 - - -;
-#X msg 124 500 0;
-#N canvas 0 0 450 300 load_shader 0;
-#X obj 89 99 t b b;
-#X msg 119 126 0;
-#X obj 89 154 outlet;
-#X obj 89 71 gemhead 1;
-#X connect 0 0 2 0;
-#X connect 0 1 1 0;
-#X connect 1 0 3 0;
-#X connect 3 0 0 0;
-#X restore 124 38 pd load_shader;
-#N canvas 0 0 450 300 init_shader 0;
-#X obj 89 154 outlet;
-#X obj 89 45 inlet;
-#X obj 89 73 change;
-#X obj 89 100 t b;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 3 0 0 0;
-#X restore 155 405 pd init_shader;
-#X obj 124 479 loadbang;
-#X text 416 351 <- 2;
-#X msg 92 431 open texture.jpg;
-#X msg 361 373 K1 \$1;
-#X msg 361 327 1;
-#X msg 476 375 seed \$1;
-#X msg 88 80 open T_distord.vert;
-#X msg 85 166 open T_distord.frag;
-#X obj 74 458 pix_image img3.jpg;
-#X obj 74 596 rectangle 4 4;
-#X text 73 627 This shader compute a dirty pseudo random number \,
-and distort the texture this with value;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 384 41 pd Gem.init;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 1 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 354 58 pd gemwin;
-#X msg 124 542 rectangle \$1;
-#X connect 1 0 18 0;
-#X connect 2 0 15 0;
-#X connect 3 0 33 0;
-#X connect 3 1 24 0;
-#X connect 4 0 9 0;
-#X connect 5 0 14 0;
-#X connect 6 0 4 0;
-#X connect 6 1 4 1;
-#X connect 7 0 11 0;
-#X connect 8 0 12 0;
-#X connect 9 0 3 0;
-#X connect 9 0 13 0;
-#X connect 10 0 3 0;
-#X connect 11 0 6 0;
-#X connect 12 0 4 0;
-#X connect 14 0 3 0;
-#X connect 14 1 7 0;
-#X connect 15 0 14 0;
-#X connect 15 1 8 0;
-#X connect 16 0 34 0;
-#X connect 17 0 31 0;
-#X connect 17 0 32 0;
-#X connect 18 0 15 0;
-#X connect 19 0 38 0;
-#X connect 20 0 28 0;
-#X connect 21 0 30 0;
-#X connect 22 0 19 0;
-#X connect 23 0 17 0;
-#X connect 24 0 29 0;
-#X connect 25 0 22 0;
-#X connect 27 0 33 0;
-#X connect 28 0 3 0;
-#X connect 29 0 20 0;
-#X connect 30 0 3 0;
-#X connect 31 0 15 0;
-#X connect 32 0 14 0;
-#X connect 33 0 16 0;
-#X connect 36 0 37 0;
-#X connect 38 0 16 0;
+#N canvas 10 10 552 667 10;
+#X text 381 660 ch 20007;
+#X obj 74 -1 gemhead;
+#X msg 29 80 print;
+#X obj 74 382 glsl_program;
+#X obj 147 281 pack 0 0;
+#X msg 31 162 print;
+#X obj 168 261 t b f;
+#X obj 168 216 change;
+#X obj 146 121 change;
+#X msg 147 304 link \$1 \$2;
+#X msg 98 353 print;
+#X floatatom 168 242 2 0 0 0 ID - -;
+#X floatatom 146 144 2 0 0 0 ID - -;
+#X obj 165 325 print linking;
+#X obj 74 196 glsl_fragment;
+#X obj 74 102 glsl_vertex;
+#X obj 74 571 pix_texture;
+#X obj 124 59 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 74 24 alpha;
+#X obj 124 522 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X floatatom 361 352 5 0 0 0 - - -;
+#X floatatom 476 353 5 0 0 0 - - -;
+#X msg 124 500 0;
+#N canvas 0 0 450 300 load_shader 0;
+#X obj 89 99 t b b;
+#X msg 119 126 0;
+#X obj 89 154 outlet;
+#X obj 89 71 gemhead 1;
+#X connect 0 0 2 0;
+#X connect 0 1 1 0;
+#X connect 1 0 3 0;
+#X connect 3 0 0 0;
+#X restore 124 38 pd load_shader;
+#N canvas 0 0 450 300 init_shader 0;
+#X obj 89 154 outlet;
+#X obj 89 45 inlet;
+#X obj 89 73 change;
+#X obj 89 100 t b;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 0 0;
+#X restore 155 405 pd init_shader;
+#X obj 124 479 loadbang;
+#X text 416 351 <- 2;
+#X msg 92 431 open texture.jpg;
+#X msg 361 373 K1 \$1;
+#X msg 361 327 1;
+#X msg 476 375 seed \$1;
+#X msg 88 80 open T_distord.vert;
+#X msg 85 166 open T_distord.frag;
+#X obj 74 458 pix_image img3.jpg;
+#X obj 74 596 rectangle 4 4;
+#X text 73 627 This shader compute a dirty pseudo random number \,
+and distort the texture this with value;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 384 41 pd Gem.init;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 1 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 354 58 pd gemwin;
+#X msg 124 542 rectangle \$1;
+#X connect 1 0 18 0;
+#X connect 2 0 15 0;
+#X connect 3 0 33 0;
+#X connect 3 1 24 0;
+#X connect 4 0 9 0;
+#X connect 5 0 14 0;
+#X connect 6 0 4 0;
+#X connect 6 1 4 1;
+#X connect 7 0 11 0;
+#X connect 8 0 12 0;
+#X connect 9 0 3 0;
+#X connect 9 0 13 0;
+#X connect 10 0 3 0;
+#X connect 11 0 6 0;
+#X connect 12 0 4 0;
+#X connect 14 0 3 0;
+#X connect 14 1 7 0;
+#X connect 15 0 14 0;
+#X connect 15 1 8 0;
+#X connect 16 0 34 0;
+#X connect 17 0 31 0;
+#X connect 17 0 32 0;
+#X connect 18 0 15 0;
+#X connect 19 0 38 0;
+#X connect 20 0 28 0;
+#X connect 21 0 30 0;
+#X connect 22 0 19 0;
+#X connect 23 0 17 0;
+#X connect 24 0 29 0;
+#X connect 25 0 22 0;
+#X connect 27 0 33 0;
+#X connect 28 0 3 0;
+#X connect 29 0 20 0;
+#X connect 30 0 3 0;
+#X connect 31 0 15 0;
+#X connect 32 0 14 0;
+#X connect 33 0 16 0;
+#X connect 36 0 37 0;
+#X connect 38 0 16 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/10.glsl/04.game_of_life.pd b/packages/noncvs/windows/extra/Gem/examples/10.glsl/04.game_of_life.pd
index 16ccb57a..deed6db1 100644
--- a/packages/noncvs/windows/extra/Gem/examples/10.glsl/04.game_of_life.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/10.glsl/04.game_of_life.pd
@@ -1,138 +1,138 @@
-#N canvas 10 10 599 681 10;
-#X obj 316 488 pix_snap2tex;
-#X msg 356 461 0 0;
-#X msg 402 460 500 500;
-#X obj 356 438 t b b;
-#X obj 316 513 alpha;
-#X obj 316 563 square 4;
-#X msg 52 75 frame \$1;
-#X floatatom 52 57 5 0 0 0 - - -;
-#X obj 356 419 loadbang;
-#X msg 271 95 print;
-#X obj 316 370 glsl_program;
-#X obj 389 296 pack 0 0;
-#X msg 273 177 print;
-#X obj 410 276 t b f;
-#X obj 410 231 change;
-#X obj 388 136 change;
-#X msg 389 321 link \$1 \$2;
-#X msg 272 333 print;
-#X floatatom 410 257 2 0 0 0 ID - -;
-#X floatatom 388 159 2 0 0 0 ID - -;
-#X obj 407 342 print linking;
-#X obj 316 211 glsl_fragment;
-#X obj 316 117 glsl_vertex;
-#X obj 338 68 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 316 37 gemhead -1;
-#X obj 316 537 colorRGB 1 1 1 1;
-#X msg 330 95 open game.vert;
-#X msg 327 181 open game.frag;
-#X obj 39 259 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X obj 39 281 gemhead 50;
-#X obj 39 311 translateXYZ 0 0 1;
-#X obj 39 409 rectangle;
-#X obj 39 216 loadbang;
-#X msg 39 237 0;
-#X text 157 261 <- 3;
-#X text 375 69 <- 2 : load shader;
-#X obj 316 392 t b a;
-#X floatatom 69 362 5 0 0 0 - - -;
-#X floatatom 124 363 5 0 0 0 - - -;
-#X obj 69 381 / 100;
-#X obj 124 384 / 100;
-#X text 13 634 This is an example of iterative process : the output
-of the shader is used for next frame input;
-#X text 145 140 <----- 1;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 82 100 pd Gem.init;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 52 117 pd gemwin;
-#X connect 0 0 4 0;
-#X connect 1 0 0 1;
-#X connect 2 0 0 2;
-#X connect 3 0 1 0;
-#X connect 3 1 2 0;
-#X connect 4 0 25 0;
-#X connect 6 0 44 0;
-#X connect 7 0 6 0;
-#X connect 8 0 3 0;
-#X connect 9 0 22 0;
-#X connect 10 0 36 0;
-#X connect 11 0 16 0;
-#X connect 12 0 21 0;
-#X connect 13 0 11 0;
-#X connect 13 1 11 1;
-#X connect 14 0 18 0;
-#X connect 15 0 19 0;
-#X connect 16 0 10 0;
-#X connect 16 0 20 0;
-#X connect 17 0 10 0;
-#X connect 18 0 13 0;
-#X connect 19 0 11 0;
-#X connect 21 0 10 0;
-#X connect 21 1 14 0;
-#X connect 22 0 21 0;
-#X connect 22 1 15 0;
-#X connect 23 0 26 0;
-#X connect 23 0 27 0;
-#X connect 24 0 22 0;
-#X connect 25 0 5 0;
-#X connect 26 0 22 0;
-#X connect 27 0 21 0;
-#X connect 28 0 29 0;
-#X connect 29 0 30 0;
-#X connect 30 0 31 0;
-#X connect 32 0 33 0;
-#X connect 33 0 28 0;
-#X connect 36 0 0 0;
-#X connect 36 1 0 0;
-#X connect 37 0 39 0;
-#X connect 38 0 40 0;
-#X connect 39 0 31 1;
-#X connect 40 0 31 2;
-#X connect 43 0 44 0;
+#N canvas 10 10 599 681 10;
+#X obj 316 488 pix_snap2tex;
+#X msg 356 461 0 0;
+#X msg 402 460 500 500;
+#X obj 356 438 t b b;
+#X obj 316 513 alpha;
+#X obj 316 563 square 4;
+#X msg 52 75 frame \$1;
+#X floatatom 52 57 5 0 0 0 - - -;
+#X obj 356 419 loadbang;
+#X msg 271 95 print;
+#X obj 316 370 glsl_program;
+#X obj 389 296 pack 0 0;
+#X msg 273 177 print;
+#X obj 410 276 t b f;
+#X obj 410 231 change;
+#X obj 388 136 change;
+#X msg 389 321 link \$1 \$2;
+#X msg 272 333 print;
+#X floatatom 410 257 2 0 0 0 ID - -;
+#X floatatom 388 159 2 0 0 0 ID - -;
+#X obj 407 342 print linking;
+#X obj 316 211 glsl_fragment;
+#X obj 316 117 glsl_vertex;
+#X obj 338 68 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 316 37 gemhead -1;
+#X obj 316 537 colorRGB 1 1 1 1;
+#X msg 330 95 open game.vert;
+#X msg 327 181 open game.frag;
+#X obj 39 259 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X obj 39 281 gemhead 50;
+#X obj 39 311 translateXYZ 0 0 1;
+#X obj 39 409 rectangle;
+#X obj 39 216 loadbang;
+#X msg 39 237 0;
+#X text 157 261 <- 3;
+#X text 375 69 <- 2 : load shader;
+#X obj 316 392 t b a;
+#X floatatom 69 362 5 0 0 0 - - -;
+#X floatatom 124 363 5 0 0 0 - - -;
+#X obj 69 381 / 100;
+#X obj 124 384 / 100;
+#X text 13 634 This is an example of iterative process : the output
+of the shader is used for next frame input;
+#X text 145 140 <----- 1;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 82 100 pd Gem.init;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 52 117 pd gemwin;
+#X connect 0 0 4 0;
+#X connect 1 0 0 1;
+#X connect 2 0 0 2;
+#X connect 3 0 1 0;
+#X connect 3 1 2 0;
+#X connect 4 0 25 0;
+#X connect 6 0 44 0;
+#X connect 7 0 6 0;
+#X connect 8 0 3 0;
+#X connect 9 0 22 0;
+#X connect 10 0 36 0;
+#X connect 11 0 16 0;
+#X connect 12 0 21 0;
+#X connect 13 0 11 0;
+#X connect 13 1 11 1;
+#X connect 14 0 18 0;
+#X connect 15 0 19 0;
+#X connect 16 0 10 0;
+#X connect 16 0 20 0;
+#X connect 17 0 10 0;
+#X connect 18 0 13 0;
+#X connect 19 0 11 0;
+#X connect 21 0 10 0;
+#X connect 21 1 14 0;
+#X connect 22 0 21 0;
+#X connect 22 1 15 0;
+#X connect 23 0 26 0;
+#X connect 23 0 27 0;
+#X connect 24 0 22 0;
+#X connect 25 0 5 0;
+#X connect 26 0 22 0;
+#X connect 27 0 21 0;
+#X connect 28 0 29 0;
+#X connect 29 0 30 0;
+#X connect 30 0 31 0;
+#X connect 32 0 33 0;
+#X connect 33 0 28 0;
+#X connect 36 0 0 0;
+#X connect 36 1 0 0;
+#X connect 37 0 39 0;
+#X connect 38 0 40 0;
+#X connect 39 0 31 1;
+#X connect 40 0 31 2;
+#X connect 43 0 44 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/10.glsl/05.multitexture.pd b/packages/noncvs/windows/extra/Gem/examples/10.glsl/05.multitexture.pd
index d80c9a48..ddd427a3 100644
--- a/packages/noncvs/windows/extra/Gem/examples/10.glsl/05.multitexture.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/10.glsl/05.multitexture.pd
@@ -1,201 +1,201 @@
-#N canvas 10 10 930 667 10;
-#X obj 76 5 gemhead;
-#X obj 75 429 glsl_program;
-#X obj 149 268 pack 0 0;
-#X obj 170 248 t b f;
-#X obj 164 203 change;
-#X msg 149 294 link \$1 \$2;
-#X floatatom 170 229 2 0 0 0 ID - -;
-#X floatatom 148 121 2 0 0 0 ID - -;
-#X obj 167 315 print linking;
-#X msg 365 23 color 1 0 0;
-#X obj 142 27 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 76 79 glsl_vertex;
-#X obj 76 183 glsl_fragment;
-#X obj 463 464 pix_texture;
-#X obj 546 271 openpanel;
-#X obj 546 248 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
--1 -1;
-#X msg 90 57 open multitexture.vert;
-#X msg 86 153 open multitexture.frag;
-#X obj 463 230 gemhead 11;
-#X obj 463 204 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X text 463 90 1) turn on rendering;
-#X msg 503 432 texunit 1;
-#X obj 687 467 pix_texture;
-#X obj 768 271 openpanel;
-#X obj 768 250 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
--1 -1;
-#X obj 687 204 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X msg 725 430 texunit 0;
-#X obj 462 488 translateXYZ -2 0 0;
-#X obj 685 490 translateXYZ 2 0 0;
-#X msg 187 406 MyTex 0;
-#X obj 75 644 pix_texture;
-#X obj 218 498 openpanel;
-#X obj 218 477 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
--1 -1;
-#X msg 254 381 MyTex1 1;
-#X msg 255 406 MyTex 1;
-#X msg 186 381 MyTex1 0;
-#X msg 321 382 MyTex1 2;
-#X msg 326 407 MyTex 2;
-#N canvas 0 0 450 300 load_shader 0;
-#X obj 89 99 t b b;
-#X msg 119 126 0;
-#X obj 89 154 outlet;
-#X obj 89 71 gemhead 1;
-#X connect 0 0 2 0;
-#X connect 0 1 1 0;
-#X connect 1 0 3 0;
-#X connect 3 0 0 0;
-#X restore 142 5 pd load_shader;
-#N canvas 0 0 450 300 init_shader 0;
-#X obj 89 154 outlet;
-#X obj 89 45 inlet;
-#X obj 89 73 change;
-#X obj 89 100 t b;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 3 0 0 0;
-#X restore 156 450 pd init_shader;
-#X msg 546 296 set open \$1 \, bang;
-#X obj 491 387 loadbang;
-#X msg 218 519 set open \$1 \, bang;
-#X msg 768 294 set open \$1 \, bang;
-#X obj 482 295 loadbang;
-#X obj 153 519 loadbang;
-#X obj 704 294 loadbang;
-#X obj 220 569 loadbang;
-#X obj 716 388 loadbang;
-#X obj 687 229 gemhead 22;
-#X text 187 360 2) change shader texuinit;
-#X msg 482 320 open img2.jpg;
-#X obj 463 349 pix_image img2.jpg;
-#X obj 687 346 pix_image img3.jpg;
-#X msg 704 318 open img3.jpg;
-#X msg 153 544 open img1.jpg;
-#X obj 75 613 pix_image img1.jpg;
-#X obj 148 98 change;
-#X text 343 147 This is an example of multitexturing \, this shader
-mixes 2 textures;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 395 47 pd Gem.init;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 1 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 365 64 pd gemwin;
-#X obj 75 670 rectangle 3 3;
-#X obj 462 514 square 2;
-#X obj 685 516 square 2;
-#X msg 220 591 texunit 2 \, rectangle 0;
-#X msg 491 409 texunit 0 \, rectangle 0;
-#X msg 716 409 texunit 1 \, rectangle 0;
-#X connect 0 0 11 0;
-#X connect 1 0 56 0;
-#X connect 1 1 39 0;
-#X connect 2 0 5 0;
-#X connect 3 0 2 0;
-#X connect 3 1 2 1;
-#X connect 4 0 6 0;
-#X connect 5 0 1 0;
-#X connect 5 0 8 0;
-#X connect 6 0 3 0;
-#X connect 7 0 2 0;
-#X connect 9 0 60 0;
-#X connect 10 0 16 0;
-#X connect 10 0 17 0;
-#X connect 11 0 12 0;
-#X connect 11 1 57 0;
-#X connect 12 0 1 0;
-#X connect 12 1 4 0;
-#X connect 13 0 27 0;
-#X connect 14 0 40 0;
-#X connect 15 0 14 0;
-#X connect 16 0 11 0;
-#X connect 17 0 12 0;
-#X connect 18 0 52 0;
-#X connect 19 0 18 0;
-#X connect 21 0 13 0;
-#X connect 22 0 28 0;
-#X connect 23 0 43 0;
-#X connect 24 0 23 0;
-#X connect 25 0 49 0;
-#X connect 26 0 22 0;
-#X connect 29 0 1 0;
-#X connect 30 0 61 0;
-#X connect 31 0 42 0;
-#X connect 32 0 31 0;
-#X connect 33 0 1 0;
-#X connect 34 0 1 0;
-#X connect 35 0 1 0;
-#X connect 36 0 1 0;
-#X connect 37 0 1 0;
-#X connect 38 0 10 0;
-#X connect 39 0 33 0;
-#X connect 39 0 29 0;
-#X connect 40 0 51 0;
-#X connect 41 0 65 0;
-#X connect 42 0 55 0;
-#X connect 43 0 54 0;
-#X connect 44 0 51 0;
-#X connect 45 0 55 0;
-#X connect 46 0 54 0;
-#X connect 47 0 64 0;
-#X connect 48 0 66 0;
-#X connect 49 0 53 0;
-#X connect 51 0 52 0;
-#X connect 52 0 13 0;
-#X connect 53 0 22 0;
-#X connect 54 0 53 0;
-#X connect 55 0 56 0;
-#X connect 56 0 30 0;
-#X connect 57 0 7 0;
-#X connect 59 0 60 0;
-#X connect 64 0 30 0;
-#X connect 65 0 13 0;
-#X connect 66 0 22 0;
+#N canvas 10 10 930 667 10;
+#X obj 76 5 gemhead;
+#X obj 75 429 glsl_program;
+#X obj 149 268 pack 0 0;
+#X obj 170 248 t b f;
+#X obj 164 203 change;
+#X msg 149 294 link \$1 \$2;
+#X floatatom 170 229 2 0 0 0 ID - -;
+#X floatatom 148 121 2 0 0 0 ID - -;
+#X obj 167 315 print linking;
+#X msg 365 23 color 1 0 0;
+#X obj 142 27 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 76 79 glsl_vertex;
+#X obj 76 183 glsl_fragment;
+#X obj 463 464 pix_texture;
+#X obj 546 271 openpanel;
+#X obj 546 248 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X msg 90 57 open multitexture.vert;
+#X msg 86 153 open multitexture.frag;
+#X obj 463 230 gemhead 11;
+#X obj 463 204 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X text 463 90 1) turn on rendering;
+#X msg 503 432 texunit 1;
+#X obj 687 467 pix_texture;
+#X obj 768 271 openpanel;
+#X obj 768 250 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 687 204 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X msg 725 430 texunit 0;
+#X obj 462 488 translateXYZ -2 0 0;
+#X obj 685 490 translateXYZ 2 0 0;
+#X msg 187 406 MyTex 0;
+#X obj 75 644 pix_texture;
+#X obj 218 498 openpanel;
+#X obj 218 477 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X msg 254 381 MyTex1 1;
+#X msg 255 406 MyTex 1;
+#X msg 186 381 MyTex1 0;
+#X msg 321 382 MyTex1 2;
+#X msg 326 407 MyTex 2;
+#N canvas 0 0 450 300 load_shader 0;
+#X obj 89 99 t b b;
+#X msg 119 126 0;
+#X obj 89 154 outlet;
+#X obj 89 71 gemhead 1;
+#X connect 0 0 2 0;
+#X connect 0 1 1 0;
+#X connect 1 0 3 0;
+#X connect 3 0 0 0;
+#X restore 142 5 pd load_shader;
+#N canvas 0 0 450 300 init_shader 0;
+#X obj 89 154 outlet;
+#X obj 89 45 inlet;
+#X obj 89 73 change;
+#X obj 89 100 t b;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 0 0;
+#X restore 156 450 pd init_shader;
+#X msg 546 296 set open \$1 \, bang;
+#X obj 491 387 loadbang;
+#X msg 218 519 set open \$1 \, bang;
+#X msg 768 294 set open \$1 \, bang;
+#X obj 482 295 loadbang;
+#X obj 153 519 loadbang;
+#X obj 704 294 loadbang;
+#X obj 220 569 loadbang;
+#X obj 716 388 loadbang;
+#X obj 687 229 gemhead 22;
+#X text 187 360 2) change shader texuinit;
+#X msg 482 320 open img2.jpg;
+#X obj 463 349 pix_image img2.jpg;
+#X obj 687 346 pix_image img3.jpg;
+#X msg 704 318 open img3.jpg;
+#X msg 153 544 open img1.jpg;
+#X obj 75 613 pix_image img1.jpg;
+#X obj 148 98 change;
+#X text 343 147 This is an example of multitexturing \, this shader
+mixes 2 textures;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 395 47 pd Gem.init;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 1 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 365 64 pd gemwin;
+#X obj 75 670 rectangle 3 3;
+#X obj 462 514 square 2;
+#X obj 685 516 square 2;
+#X msg 220 591 texunit 2 \, rectangle 0;
+#X msg 491 409 texunit 0 \, rectangle 0;
+#X msg 716 409 texunit 1 \, rectangle 0;
+#X connect 0 0 11 0;
+#X connect 1 0 56 0;
+#X connect 1 1 39 0;
+#X connect 2 0 5 0;
+#X connect 3 0 2 0;
+#X connect 3 1 2 1;
+#X connect 4 0 6 0;
+#X connect 5 0 1 0;
+#X connect 5 0 8 0;
+#X connect 6 0 3 0;
+#X connect 7 0 2 0;
+#X connect 9 0 60 0;
+#X connect 10 0 16 0;
+#X connect 10 0 17 0;
+#X connect 11 0 12 0;
+#X connect 11 1 57 0;
+#X connect 12 0 1 0;
+#X connect 12 1 4 0;
+#X connect 13 0 27 0;
+#X connect 14 0 40 0;
+#X connect 15 0 14 0;
+#X connect 16 0 11 0;
+#X connect 17 0 12 0;
+#X connect 18 0 52 0;
+#X connect 19 0 18 0;
+#X connect 21 0 13 0;
+#X connect 22 0 28 0;
+#X connect 23 0 43 0;
+#X connect 24 0 23 0;
+#X connect 25 0 49 0;
+#X connect 26 0 22 0;
+#X connect 29 0 1 0;
+#X connect 30 0 61 0;
+#X connect 31 0 42 0;
+#X connect 32 0 31 0;
+#X connect 33 0 1 0;
+#X connect 34 0 1 0;
+#X connect 35 0 1 0;
+#X connect 36 0 1 0;
+#X connect 37 0 1 0;
+#X connect 38 0 10 0;
+#X connect 39 0 33 0;
+#X connect 39 0 29 0;
+#X connect 40 0 51 0;
+#X connect 41 0 65 0;
+#X connect 42 0 55 0;
+#X connect 43 0 54 0;
+#X connect 44 0 51 0;
+#X connect 45 0 55 0;
+#X connect 46 0 54 0;
+#X connect 47 0 64 0;
+#X connect 48 0 66 0;
+#X connect 49 0 53 0;
+#X connect 51 0 52 0;
+#X connect 52 0 13 0;
+#X connect 53 0 22 0;
+#X connect 54 0 53 0;
+#X connect 55 0 56 0;
+#X connect 56 0 30 0;
+#X connect 57 0 7 0;
+#X connect 59 0 60 0;
+#X connect 64 0 30 0;
+#X connect 65 0 13 0;
+#X connect 66 0 22 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/10.glsl/06.rectangle_multitexture.pd b/packages/noncvs/windows/extra/Gem/examples/10.glsl/06.rectangle_multitexture.pd
index 48e6600a..3dc88771 100644
--- a/packages/noncvs/windows/extra/Gem/examples/10.glsl/06.rectangle_multitexture.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/10.glsl/06.rectangle_multitexture.pd
@@ -1,199 +1,199 @@
-#N canvas 511 97 648 675 10;
-#X obj 279 76 gemhead;
-#X obj 295 208 loadbang;
-#X obj 279 251 pix_texture;
-#X msg 295 231 rectangle 1 \, texunit 1;
-#X obj 334 97 openpanel;
-#X msg 334 118 open \$1;
-#X obj 334 76 bng 15 250 50 0 empty empty empty 17 7 0 10 -257985 -1
--1;
-#X obj 459 76 gemhead;
-#X obj 475 208 loadbang;
-#X obj 459 251 pix_texture;
-#X obj 514 97 openpanel;
-#X msg 514 118 open \$1;
-#X obj 514 76 bng 15 250 50 0 empty empty empty 17 7 0 10 -257985 -1
--1;
-#X msg 475 231 rectangle 1 \, texunit 2;
-#X obj 279 275 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 284 314 pd gemwin;
-#X msg 284 295 create;
-#X text 280 274 Create window:;
-#X obj 101 358 cnv 15 100 120 empty empty empty 20 12 0 14 -4034 -66577
-0;
-#X obj 37 538 glsl_program;
-#X obj 100 259 pack 0 0;
-#X obj 118 236 t b f;
-#X obj 118 194 change;
-#X msg 100 285 link \$1 \$2;
-#X floatatom 118 217 2 0 0 0 ID - -;
-#X floatatom 100 133 2 0 0 0 ID - -;
-#X obj 105 309 print linking;
-#X obj 124 43 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 37 88 glsl_vertex;
-#X obj 37 174 glsl_fragment;
-#N canvas 0 0 450 300 load_shader 0;
-#X msg 116 126 0;
-#X obj 89 154 outlet;
-#X obj 89 71 gemhead 1;
-#X obj 89 100 t b b;
-#X connect 0 0 2 0;
-#X connect 2 0 3 0;
-#X connect 3 0 1 0;
-#X connect 3 1 0 0;
-#X restore 124 21 pd load_shader;
-#X obj 100 110 change;
-#X obj 106 581 loadbang;
-#X obj 37 21 gemhead 51;
-#X msg 109 371 add;
-#X msg 109 431 multiply;
-#X msg 109 451 mix;
-#N canvas 0 0 450 300 route 0;
-#X obj 113 53 inlet;
-#X msg 113 95 0;
-#X msg 155 95 1;
-#X msg 198 95 2;
-#X msg 240 95 3;
-#X obj 113 126 outlet;
-#X msg 283 95 4;
-#X obj 113 74 route add subtract diff multiply mix;
-#X connect 0 0 7 0;
-#X connect 1 0 5 0;
-#X connect 2 0 5 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 6 0 5 0;
-#X connect 7 0 1 0;
-#X connect 7 1 2 0;
-#X connect 7 2 3 0;
-#X connect 7 3 4 0;
-#X connect 7 4 6 0;
-#X restore 72 486 pd route;
-#X msg 184 540 Ttex1 1;
-#X msg 240 540 Ttex2 2;
-#X msg 72 507 style \$1;
-#X obj 109 337 loadbang;
-#X obj 37 625 pix_texture;
-#X msg 106 603 rectangle 1 \, texunit 0;
-#X obj 37 598 pix_set;
-#X obj 142 457 hsl 50 10 0 1 0 0 empty empty MIX_FACTOR -2 -4 0 7 -262144
--1 -1 0 1;
-#X msg 51 66 open GLSL_mix.vert;
-#X msg 51 151 open GLSL_mix.frag;
-#X msg 109 411 diff;
-#X text 383 295 <- 1 : create GEM window;
-#X text 248 375 add : add two texture together (it is easy to get a
-white out);
-#X msg 109 391 subtract;
-#X text 277 16 This shader program give you the possibility to mix
-two sources of different size. You can add \, subtract \, diff \, multiply
-and mix the two sources.;
-#X text 248 401 subtract : subtract two texture together (it is easy
-to get a black out);
-#X text 248 427 diff : subtract two texture together (get absolute
-value);
-#X text 248 441 multiply : multiply two texture together;
-#X text 248 455 mix : mix two texture together (use the mix factor
-for crossfading);
-#N canvas 242 260 450 300 onebang 0;
-#X obj 120 71 inlet;
-#X obj 120 151 outlet;
-#X obj 120 120 t b;
-#X obj 120 100 change;
-#X msg 161 71 set -1;
-#X obj 161 11 gemhead;
-#X obj 161 51 route 0;
-#X obj 161 31 route gem_state;
-#X connect 0 0 3 0;
-#X connect 2 0 1 0;
-#X connect 3 0 2 0;
-#X connect 4 0 3 0;
-#X connect 5 0 7 0;
-#X connect 6 0 4 0;
-#X connect 7 0 6 0;
-#X restore 106 559 pd onebang;
-#X text 206 357 <- 2 : test differents mix;
-#X obj 459 167 pix_resize 512 512;
-#X obj 279 167 pix_resize 234 543;
-#X obj 279 147 pix_image img3.jpg;
-#X obj 459 147 pix_image img2.jpg;
-#X text 292 186 images have diferents sizes;
-#X msg 139 507 mix_factor \$1;
-#X obj 37 646 square 4;
-#X connect 0 0 61 0;
-#X connect 1 0 3 0;
-#X connect 3 0 2 0;
-#X connect 4 0 5 0;
-#X connect 5 0 61 0;
-#X connect 6 0 4 0;
-#X connect 7 0 62 0;
-#X connect 8 0 13 0;
-#X connect 10 0 11 0;
-#X connect 11 0 62 0;
-#X connect 12 0 10 0;
-#X connect 13 0 9 0;
-#X connect 15 0 16 0;
-#X connect 16 0 15 0;
-#X connect 19 0 44 0;
-#X connect 19 1 57 0;
-#X connect 20 0 23 0;
-#X connect 21 0 20 0;
-#X connect 21 1 20 1;
-#X connect 22 0 24 0;
-#X connect 23 0 19 0;
-#X connect 23 0 26 0;
-#X connect 24 0 21 0;
-#X connect 25 0 20 0;
-#X connect 27 0 46 0;
-#X connect 27 0 47 0;
-#X connect 28 0 29 0;
-#X connect 28 1 31 0;
-#X connect 29 0 19 0;
-#X connect 29 1 22 0;
-#X connect 30 0 27 0;
-#X connect 31 0 25 0;
-#X connect 32 0 43 0;
-#X connect 33 0 28 0;
-#X connect 34 0 37 0;
-#X connect 35 0 37 0;
-#X connect 36 0 37 0;
-#X connect 37 0 40 0;
-#X connect 38 0 19 0;
-#X connect 39 0 19 0;
-#X connect 40 0 19 0;
-#X connect 41 0 34 0;
-#X connect 42 0 65 0;
-#X connect 43 0 42 0;
-#X connect 44 0 42 0;
-#X connect 45 0 64 0;
-#X connect 46 0 28 0;
-#X connect 47 0 29 0;
-#X connect 48 0 37 0;
-#X connect 51 0 37 0;
-#X connect 57 0 38 0;
-#X connect 57 0 39 0;
-#X connect 59 0 9 0;
-#X connect 60 0 2 0;
-#X connect 61 0 60 0;
-#X connect 62 0 59 0;
-#X connect 64 0 19 0;
+#N canvas 511 97 648 675 10;
+#X obj 279 76 gemhead;
+#X obj 295 208 loadbang;
+#X obj 279 251 pix_texture;
+#X msg 295 231 rectangle 1 \, texunit 1;
+#X obj 334 97 openpanel;
+#X msg 334 118 open \$1;
+#X obj 334 76 bng 15 250 50 0 empty empty empty 17 7 0 10 -257985 -1
+-1;
+#X obj 459 76 gemhead;
+#X obj 475 208 loadbang;
+#X obj 459 251 pix_texture;
+#X obj 514 97 openpanel;
+#X msg 514 118 open \$1;
+#X obj 514 76 bng 15 250 50 0 empty empty empty 17 7 0 10 -257985 -1
+-1;
+#X msg 475 231 rectangle 1 \, texunit 2;
+#X obj 279 275 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 284 314 pd gemwin;
+#X msg 284 295 create;
+#X text 280 274 Create window:;
+#X obj 101 358 cnv 15 100 120 empty empty empty 20 12 0 14 -4034 -66577
+0;
+#X obj 37 538 glsl_program;
+#X obj 100 259 pack 0 0;
+#X obj 118 236 t b f;
+#X obj 118 194 change;
+#X msg 100 285 link \$1 \$2;
+#X floatatom 118 217 2 0 0 0 ID - -;
+#X floatatom 100 133 2 0 0 0 ID - -;
+#X obj 105 309 print linking;
+#X obj 124 43 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 37 88 glsl_vertex;
+#X obj 37 174 glsl_fragment;
+#N canvas 0 0 450 300 load_shader 0;
+#X msg 116 126 0;
+#X obj 89 154 outlet;
+#X obj 89 71 gemhead 1;
+#X obj 89 100 t b b;
+#X connect 0 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 0;
+#X connect 3 1 0 0;
+#X restore 124 21 pd load_shader;
+#X obj 100 110 change;
+#X obj 106 581 loadbang;
+#X obj 37 21 gemhead 51;
+#X msg 109 371 add;
+#X msg 109 431 multiply;
+#X msg 109 451 mix;
+#N canvas 0 0 450 300 route 0;
+#X obj 113 53 inlet;
+#X msg 113 95 0;
+#X msg 155 95 1;
+#X msg 198 95 2;
+#X msg 240 95 3;
+#X obj 113 126 outlet;
+#X msg 283 95 4;
+#X obj 113 74 route add subtract diff multiply mix;
+#X connect 0 0 7 0;
+#X connect 1 0 5 0;
+#X connect 2 0 5 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 6 0 5 0;
+#X connect 7 0 1 0;
+#X connect 7 1 2 0;
+#X connect 7 2 3 0;
+#X connect 7 3 4 0;
+#X connect 7 4 6 0;
+#X restore 72 486 pd route;
+#X msg 184 540 Ttex1 1;
+#X msg 240 540 Ttex2 2;
+#X msg 72 507 style \$1;
+#X obj 109 337 loadbang;
+#X obj 37 625 pix_texture;
+#X msg 106 603 rectangle 1 \, texunit 0;
+#X obj 37 598 pix_set;
+#X obj 142 457 hsl 50 10 0 1 0 0 empty empty MIX_FACTOR -2 -4 0 7 -262144
+-1 -1 0 1;
+#X msg 51 66 open GLSL_mix.vert;
+#X msg 51 151 open GLSL_mix.frag;
+#X msg 109 411 diff;
+#X text 383 295 <- 1 : create GEM window;
+#X text 248 375 add : add two texture together (it is easy to get a
+white out);
+#X msg 109 391 subtract;
+#X text 277 16 This shader program give you the possibility to mix
+two sources of different size. You can add \, subtract \, diff \, multiply
+and mix the two sources.;
+#X text 248 401 subtract : subtract two texture together (it is easy
+to get a black out);
+#X text 248 427 diff : subtract two texture together (get absolute
+value);
+#X text 248 441 multiply : multiply two texture together;
+#X text 248 455 mix : mix two texture together (use the mix factor
+for crossfading);
+#N canvas 242 260 450 300 onebang 0;
+#X obj 120 71 inlet;
+#X obj 120 151 outlet;
+#X obj 120 120 t b;
+#X obj 120 100 change;
+#X msg 161 71 set -1;
+#X obj 161 11 gemhead;
+#X obj 161 51 route 0;
+#X obj 161 31 route gem_state;
+#X connect 0 0 3 0;
+#X connect 2 0 1 0;
+#X connect 3 0 2 0;
+#X connect 4 0 3 0;
+#X connect 5 0 7 0;
+#X connect 6 0 4 0;
+#X connect 7 0 6 0;
+#X restore 106 559 pd onebang;
+#X text 206 357 <- 2 : test differents mix;
+#X obj 459 167 pix_resize 512 512;
+#X obj 279 167 pix_resize 234 543;
+#X obj 279 147 pix_image img3.jpg;
+#X obj 459 147 pix_image img2.jpg;
+#X text 292 186 images have diferents sizes;
+#X msg 139 507 mix_factor \$1;
+#X obj 37 646 square 4;
+#X connect 0 0 61 0;
+#X connect 1 0 3 0;
+#X connect 3 0 2 0;
+#X connect 4 0 5 0;
+#X connect 5 0 61 0;
+#X connect 6 0 4 0;
+#X connect 7 0 62 0;
+#X connect 8 0 13 0;
+#X connect 10 0 11 0;
+#X connect 11 0 62 0;
+#X connect 12 0 10 0;
+#X connect 13 0 9 0;
+#X connect 15 0 16 0;
+#X connect 16 0 15 0;
+#X connect 19 0 44 0;
+#X connect 19 1 57 0;
+#X connect 20 0 23 0;
+#X connect 21 0 20 0;
+#X connect 21 1 20 1;
+#X connect 22 0 24 0;
+#X connect 23 0 19 0;
+#X connect 23 0 26 0;
+#X connect 24 0 21 0;
+#X connect 25 0 20 0;
+#X connect 27 0 46 0;
+#X connect 27 0 47 0;
+#X connect 28 0 29 0;
+#X connect 28 1 31 0;
+#X connect 29 0 19 0;
+#X connect 29 1 22 0;
+#X connect 30 0 27 0;
+#X connect 31 0 25 0;
+#X connect 32 0 43 0;
+#X connect 33 0 28 0;
+#X connect 34 0 37 0;
+#X connect 35 0 37 0;
+#X connect 36 0 37 0;
+#X connect 37 0 40 0;
+#X connect 38 0 19 0;
+#X connect 39 0 19 0;
+#X connect 40 0 19 0;
+#X connect 41 0 34 0;
+#X connect 42 0 65 0;
+#X connect 43 0 42 0;
+#X connect 44 0 42 0;
+#X connect 45 0 64 0;
+#X connect 46 0 28 0;
+#X connect 47 0 29 0;
+#X connect 48 0 37 0;
+#X connect 51 0 37 0;
+#X connect 57 0 38 0;
+#X connect 57 0 39 0;
+#X connect 59 0 9 0;
+#X connect 60 0 2 0;
+#X connect 61 0 60 0;
+#X connect 62 0 59 0;
+#X connect 64 0 19 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/10.glsl/07.framebuffer_and_shader.pd b/packages/noncvs/windows/extra/Gem/examples/10.glsl/07.framebuffer_and_shader.pd
index c829e8fc..cce0caf4 100644
--- a/packages/noncvs/windows/extra/Gem/examples/10.glsl/07.framebuffer_and_shader.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/10.glsl/07.framebuffer_and_shader.pd
@@ -1,418 +1,418 @@
-#N canvas 1 25 1126 659 10;
-#X obj 9 470 translateXYZ 0 0 -4;
-#X obj 9 234 ortho;
-#X floatatom 83 538 5 0 0 0 - - -;
-#X msg 83 515 \$1;
-#X obj 9 365 gemframebuffer;
-#X obj 9 494 pix_texture;
-#X obj 218 474 translateXYZ 0 0 -4;
-#X obj 218 501 pix_texture;
-#X floatatom 484 153 5 0 0 0 - - -;
-#X msg 484 131 \$1;
-#X floatatom 325 550 5 0 0 0 - - -;
-#X msg 325 528 \$1;
-#X floatatom 104 412 5 0 0 0 - - -;
-#X msg 104 389 \$1;
-#X floatatom 294 411 5 0 0 0 - - -;
-#X msg 294 388 \$1;
-#X obj 435 58 loadbang;
-#X obj 199 364 gemframebuffer;
-#N canvas 573 206 496 427 shader 0;
-#X obj 32 294 glsl_program;
-#X obj 126 137 change;
-#X obj 126 183 print linking;
-#X obj 32 117 glsl_fragment;
-#X floatatom 130 239 5 0 0 0 - - -;
-#X floatatom 232 239 5 0 0 0 - - -;
-#X floatatom 181 239 5 0 0 0 - - -;
-#X msg 130 260 K1 \$1;
-#X msg 181 260 K3 \$1;
-#X msg 232 260 D1 \$1;
-#X msg 130 214 0.25;
-#X msg 126 158 link \$1;
-#N canvas 0 0 450 300 load_shader 0;
-#X obj 89 99 t b b;
-#X msg 119 126 0;
-#X obj 89 154 outlet;
-#X obj 89 71 gemhead 1;
-#X connect 0 0 2 0;
-#X connect 0 1 1 0;
-#X connect 1 0 3 0;
-#X connect 3 0 0 0;
-#X restore 42 70 pd load_shader;
-#X obj 32 36 inlet;
-#X obj 32 363 outlet;
-#X obj 304 38 inlet;
-#X obj 139 343 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
--1 -1;
-#N canvas 0 0 450 300 init_shader 0;
-#X obj 89 154 outlet;
-#X obj 89 45 inlet;
-#X obj 89 73 change;
-#X obj 89 100 t b;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 3 0 0 0;
-#X restore 113 318 pd init_shader;
-#X obj 112 341 t b;
-#X obj 395 43 inlet;
-#X msg 181 213 0;
-#X msg 232 215 0;
-#X msg 193 151 text 0;
-#X msg 42 93 open wave.frag;
-#X connect 0 0 14 0;
-#X connect 0 1 17 0;
-#X connect 1 0 11 0;
-#X connect 3 0 0 0;
-#X connect 3 1 1 0;
-#X connect 4 0 7 0;
-#X connect 5 0 9 0;
-#X connect 6 0 8 0;
-#X connect 7 0 0 0;
-#X connect 8 0 0 0;
-#X connect 9 0 0 0;
-#X connect 10 0 4 0;
-#X connect 11 0 0 0;
-#X connect 11 0 2 0;
-#X connect 12 0 23 0;
-#X connect 13 0 3 0;
-#X connect 15 0 23 0;
-#X connect 16 0 18 0;
-#X connect 17 0 18 0;
-#X connect 18 0 10 0;
-#X connect 18 0 20 0;
-#X connect 18 0 21 0;
-#X connect 18 0 22 0;
-#X connect 19 0 16 0;
-#X connect 20 0 6 0;
-#X connect 21 0 5 0;
-#X connect 22 0 0 0;
-#X connect 23 0 3 0;
-#X restore 9 274 pd shader;
-#X obj 137 289 t a;
-#X obj 137 197 t b;
-#X obj 147 177 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
--1 -1;
-#X obj 137 156 loadbang;
-#X obj 218 421 t a a;
-#X obj 402 518 separator;
-#X obj 218 447 separator;
-#X obj 218 537 color 1 1 1;
-#X obj 218 563 rectangle 4 4;
-#X obj 9 563 rectangle 4 4;
-#X obj 66 250 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
--1;
-#X obj 93 251 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
--1;
-#X obj 390 472 t a;
-#N canvas 0 0 857 562 border 0;
-#X obj 14 10 inlet;
-#X obj 13 46 separator;
-#X obj 13 68 translateXYZ 0 4 -3.9;
-#X obj 13 115 rectangle 5 0.12;
-#X obj 182 46 separator;
-#X obj 182 115 rectangle 5 0.12;
-#X obj 351 45 separator;
-#X obj 182 68 translateXYZ 0 -4 -3.9;
-#X obj 351 67 translateXYZ 4 0 -3.9;
-#X obj 351 114 rectangle 0.12 5;
-#X obj 528 39 separator;
-#X obj 528 108 rectangle 0.12 5;
-#X obj 528 61 translateXYZ -4 0 -3.9;
-#X obj 528 85 color 0.5 0.5 0.5;
-#X obj 351 91 color 0.5 0.5 0.5;
-#X obj 181 93 color 0.5 0.5 0.5;
-#X obj 13 92 color 0.5 0.5 0.5;
-#X connect 0 0 1 0;
-#X connect 0 0 4 0;
-#X connect 0 0 6 0;
-#X connect 0 0 10 0;
-#X connect 1 0 2 0;
-#X connect 2 0 16 0;
-#X connect 4 0 7 0;
-#X connect 6 0 8 0;
-#X connect 7 0 15 0;
-#X connect 8 0 14 0;
-#X connect 10 0 12 0;
-#X connect 12 0 13 0;
-#X connect 13 0 11 0;
-#X connect 14 0 9 0;
-#X connect 15 0 5 0;
-#X connect 16 0 3 0;
-#X restore 390 569 pd border;
-#X obj 774 148 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X obj 774 172 gemhead 40;
-#X floatatom 825 519 5 0 0 0 - - -;
-#X obj 774 484 pix_texture;
-#X floatatom 876 520 5 0 0 0 - - -;
-#X obj 442 357 pix_texture;
-#X floatatom 867 236 5 0 0 0 - - -;
-#X obj 653 216 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
--1 -1;
-#X obj 454 308 loadbang;
-#X obj 786 442 loadbang;
-#N canvas 693 153 804 667 _glsl 0;
-#X obj 80 426 glsl_program;
-#X obj 261 238 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#N canvas 0 22 450 300 open 0;
-#X obj 75 103 openpanel;
-#X obj 75 173 outlet;
-#X obj 75 127 t b s;
-#X msg 105 152 set open \$1;
-#X obj 75 80 inlet;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 2 1 3 0;
-#X connect 3 0 1 0;
-#X connect 4 0 0 0;
-#X restore 204 237 pd open;
-#X msg 33 296 print;
-#X obj 166 331 change;
-#X msg 34 420 print;
-#X obj 80 310 glsl_fragment;
-#X floatatom 166 355 2 0 0 0 ID - -;
-#X obj 184 400 print linking;
-#X obj 13 52 inlet;
-#X obj 80 462 outlet;
-#X msg 93 273 open \$1.frag;
-#X msg 204 261 open \$1;
-#X obj 422 77 inlet;
-#X obj 13 75 route bang;
-#X obj 140 83 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
--1;
-#X obj 140 109 t b b;
-#X msg 140 202 symbol \$1/\$2;
-#X obj 255 11 gemhead 1;
-#X msg 255 33 1;
-#X obj 255 57 change;
-#X obj 255 81 t b;
-#X obj 159 447 change;
-#X obj 159 468 t b;
-#X obj 159 491 outlet;
-#X msg 166 379 link \$1;
-#X obj 140 133 symbol vague;
-#X connect 0 0 10 0;
-#X connect 0 1 22 0;
-#X connect 1 0 2 0;
-#X connect 2 0 12 0;
-#X connect 3 0 6 0;
-#X connect 4 0 7 0;
-#X connect 5 0 0 0;
-#X connect 6 0 0 0;
-#X connect 6 1 4 0;
-#X connect 7 0 25 0;
-#X connect 9 0 14 0;
-#X connect 11 0 6 0;
-#X connect 12 0 6 0;
-#X connect 13 0 0 0;
-#X connect 14 0 16 0;
-#X connect 14 1 6 0;
-#X connect 15 0 16 0;
-#X connect 16 0 26 0;
-#X connect 17 0 11 0;
-#X connect 18 0 19 0;
-#X connect 19 0 20 0;
-#X connect 20 0 21 0;
-#X connect 21 0 16 0;
-#X connect 22 0 23 0;
-#X connect 23 0 24 0;
-#X connect 25 0 0 0;
-#X connect 25 0 8 0;
-#X connect 26 0 11 0;
-#X restore 774 326 pd _glsl;
-#X obj 743 302 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
--1 -1;
-#X msg 435 82 texunit 3;
-#X obj 410 108 pix_texture;
-#X obj 181 299 t a;
-#N canvas 0 0 450 300 gouttes 0;
-#X obj 27 79 translateXYZ 0 0 -4;
-#X obj 27 101 t a b b;
-#X obj 27 195 translateXYZ 0 0 0.1;
-#X obj 50 123 random 1000;
-#X obj 50 147 - 500;
-#X obj 136 123 random 1000;
-#X obj 136 147 - 500;
-#X obj 50 171 / 130;
-#X obj 136 171 / 130;
-#X obj 27 242 circle 0.02;
-#X obj 27 218 color 0.3 0.3 0.3;
-#X obj 28 51 inlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X connect 1 1 3 0;
-#X connect 1 2 5 0;
-#X connect 2 0 10 0;
-#X connect 3 0 4 0;
-#X connect 4 0 7 0;
-#X connect 5 0 6 0;
-#X connect 6 0 8 0;
-#X connect 7 0 2 1;
-#X connect 8 0 2 2;
-#X connect 10 0 9 0;
-#X connect 11 0 0 0;
-#X restore 402 542 pd gouttes;
-#X msg 244 284 quality 0;
-#X obj 774 541 rectangle -4 -4;
-#X obj 9 155 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1
-;
-#X obj 220 180 delay 1000;
-#N canvas 0 0 450 300 init 0;
-#X obj 89 154 outlet;
-#X obj 89 100 change;
-#X obj 89 127 t b;
-#X obj 91 52 gemhead;
-#X msg 91 73 1;
-#X connect 1 0 2 0;
-#X connect 2 0 0 0;
-#X connect 3 0 4 0;
-#X connect 4 0 1 0;
-#X restore 220 157 pd init;
-#X obj 410 34 gemhead 16;
-#X obj 199 342 gemhead 12;
-#X obj 442 214 gemhead 17;
-#X obj 9 177 gemhead 10;
-#X obj 442 240 pix_image img2.jpg;
-#X msg 867 215 111;
-#X text 33 612 This shader is rendered into a framebuffer \, in order
-to use it in the next frame for a simple physical modeling simulation
-;
-#X text 345 168 This creates a texture (texunit 3) from the shaders'
-output;
-#X text 437 386 this loads a texture (texunit 2);
-#X text 691 411 not used \, just to set texture coordinate;
-#X text 633 594 This uses the two textures (texunit 2 and 3) in order
-to render the final images;
-#X text 201 9 This is an example of rendering to texture (using framebuffer)
-and multitextures;
-#X obj 402 497 t a a a a a;
-#X obj 774 393 pix_set 512 512;
-#N canvas 87 154 452 208 Gem.init 0;
-#X obj 118 46 loadbang;
-#X obj 118 113 outlet;
-#X msg 118 81 reset \, dimen 800 600;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X restore 760 47 pd Gem.init;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 1 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 730 64 pd gemwin;
-#X msg 786 463 rectangle 1;
-#X msg 454 331 texunit 2 \, quality 1 \, rectangle 1;
-#X msg 137 222 type FLOAT \, dimen 512 512 \, rectangle 1;
-#X msg 220 202 quality 1 \, rectangle 1;
-#X msg 867 255 K \$1 \, texture1 2 \, texture2 3;
-#X text 880 276 texture1==base;
-#X text 882 294 texture2==deformation;
-#X connect 0 0 5 0;
-#X connect 1 0 18 0;
-#X connect 3 0 2 0;
-#X connect 4 0 0 0;
-#X connect 4 1 7 1;
-#X connect 4 1 13 0;
-#X connect 5 0 28 0;
-#X connect 5 1 3 0;
-#X connect 6 0 7 0;
-#X connect 7 0 26 0;
-#X connect 7 1 11 0;
-#X connect 7 1 46 1;
-#X connect 9 0 8 0;
-#X connect 11 0 10 0;
-#X connect 13 0 12 0;
-#X connect 15 0 14 0;
-#X connect 16 0 45 0;
-#X connect 17 0 23 0;
-#X connect 17 1 5 1;
-#X connect 17 1 15 0;
-#X connect 18 0 4 0;
-#X connect 19 0 4 0;
-#X connect 19 0 17 0;
-#X connect 20 0 72 0;
-#X connect 21 0 20 0;
-#X connect 22 0 20 0;
-#X connect 23 0 25 0;
-#X connect 23 1 31 0;
-#X connect 24 0 48 0;
-#X connect 25 0 6 0;
-#X connect 26 0 27 0;
-#X connect 29 0 18 1;
-#X connect 30 0 18 2;
-#X connect 31 0 66 0;
-#X connect 33 0 34 0;
-#X connect 34 0 43 0;
-#X connect 35 0 50 1;
-#X connect 36 0 50 0;
-#X connect 37 0 50 2;
-#X connect 39 0 74 0;
-#X connect 40 0 59 0;
-#X connect 41 0 71 0;
-#X connect 42 0 70 0;
-#X connect 43 0 67 0;
-#X connect 43 1 40 0;
-#X connect 44 0 43 0;
-#X connect 45 0 46 0;
-#X connect 46 1 9 0;
-#X connect 47 0 5 0;
-#X connect 47 0 46 0;
-#X connect 47 0 7 0;
-#X connect 49 0 47 0;
-#X connect 51 0 57 0;
-#X connect 52 0 73 0;
-#X connect 53 0 52 0;
-#X connect 54 0 46 0;
-#X connect 55 0 17 0;
-#X connect 56 0 58 0;
-#X connect 57 0 1 0;
-#X connect 58 0 38 0;
-#X connect 59 0 39 0;
-#X connect 66 0 24 0;
-#X connect 66 1 24 0;
-#X connect 66 2 24 0;
-#X connect 66 3 24 0;
-#X connect 66 4 24 0;
-#X connect 67 0 36 0;
-#X connect 68 0 69 0;
-#X connect 70 0 36 0;
-#X connect 71 0 38 0;
-#X connect 72 0 19 0;
-#X connect 73 0 47 0;
-#X connect 74 0 43 1;
+#N canvas 1 25 1126 659 10;
+#X obj 9 470 translateXYZ 0 0 -4;
+#X obj 9 234 ortho;
+#X floatatom 83 538 5 0 0 0 - - -;
+#X msg 83 515 \$1;
+#X obj 9 365 gemframebuffer;
+#X obj 9 494 pix_texture;
+#X obj 218 474 translateXYZ 0 0 -4;
+#X obj 218 501 pix_texture;
+#X floatatom 484 153 5 0 0 0 - - -;
+#X msg 484 131 \$1;
+#X floatatom 325 550 5 0 0 0 - - -;
+#X msg 325 528 \$1;
+#X floatatom 104 412 5 0 0 0 - - -;
+#X msg 104 389 \$1;
+#X floatatom 294 411 5 0 0 0 - - -;
+#X msg 294 388 \$1;
+#X obj 435 58 loadbang;
+#X obj 199 364 gemframebuffer;
+#N canvas 573 206 496 427 shader 0;
+#X obj 32 294 glsl_program;
+#X obj 126 137 change;
+#X obj 126 183 print linking;
+#X obj 32 117 glsl_fragment;
+#X floatatom 130 239 5 0 0 0 - - -;
+#X floatatom 232 239 5 0 0 0 - - -;
+#X floatatom 181 239 5 0 0 0 - - -;
+#X msg 130 260 K1 \$1;
+#X msg 181 260 K3 \$1;
+#X msg 232 260 D1 \$1;
+#X msg 130 214 0.25;
+#X msg 126 158 link \$1;
+#N canvas 0 0 450 300 load_shader 0;
+#X obj 89 99 t b b;
+#X msg 119 126 0;
+#X obj 89 154 outlet;
+#X obj 89 71 gemhead 1;
+#X connect 0 0 2 0;
+#X connect 0 1 1 0;
+#X connect 1 0 3 0;
+#X connect 3 0 0 0;
+#X restore 42 70 pd load_shader;
+#X obj 32 36 inlet;
+#X obj 32 363 outlet;
+#X obj 304 38 inlet;
+#X obj 139 343 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#N canvas 0 0 450 300 init_shader 0;
+#X obj 89 154 outlet;
+#X obj 89 45 inlet;
+#X obj 89 73 change;
+#X obj 89 100 t b;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 0 0;
+#X restore 113 318 pd init_shader;
+#X obj 112 341 t b;
+#X obj 395 43 inlet;
+#X msg 181 213 0;
+#X msg 232 215 0;
+#X msg 193 151 text 0;
+#X msg 42 93 open wave.frag;
+#X connect 0 0 14 0;
+#X connect 0 1 17 0;
+#X connect 1 0 11 0;
+#X connect 3 0 0 0;
+#X connect 3 1 1 0;
+#X connect 4 0 7 0;
+#X connect 5 0 9 0;
+#X connect 6 0 8 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X connect 9 0 0 0;
+#X connect 10 0 4 0;
+#X connect 11 0 0 0;
+#X connect 11 0 2 0;
+#X connect 12 0 23 0;
+#X connect 13 0 3 0;
+#X connect 15 0 23 0;
+#X connect 16 0 18 0;
+#X connect 17 0 18 0;
+#X connect 18 0 10 0;
+#X connect 18 0 20 0;
+#X connect 18 0 21 0;
+#X connect 18 0 22 0;
+#X connect 19 0 16 0;
+#X connect 20 0 6 0;
+#X connect 21 0 5 0;
+#X connect 22 0 0 0;
+#X connect 23 0 3 0;
+#X restore 9 274 pd shader;
+#X obj 137 289 t a;
+#X obj 137 197 t b;
+#X obj 147 177 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 137 156 loadbang;
+#X obj 218 421 t a a;
+#X obj 402 518 separator;
+#X obj 218 447 separator;
+#X obj 218 537 color 1 1 1;
+#X obj 218 563 rectangle 4 4;
+#X obj 9 563 rectangle 4 4;
+#X obj 66 250 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 93 251 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 390 472 t a;
+#N canvas 0 0 857 562 border 0;
+#X obj 14 10 inlet;
+#X obj 13 46 separator;
+#X obj 13 68 translateXYZ 0 4 -3.9;
+#X obj 13 115 rectangle 5 0.12;
+#X obj 182 46 separator;
+#X obj 182 115 rectangle 5 0.12;
+#X obj 351 45 separator;
+#X obj 182 68 translateXYZ 0 -4 -3.9;
+#X obj 351 67 translateXYZ 4 0 -3.9;
+#X obj 351 114 rectangle 0.12 5;
+#X obj 528 39 separator;
+#X obj 528 108 rectangle 0.12 5;
+#X obj 528 61 translateXYZ -4 0 -3.9;
+#X obj 528 85 color 0.5 0.5 0.5;
+#X obj 351 91 color 0.5 0.5 0.5;
+#X obj 181 93 color 0.5 0.5 0.5;
+#X obj 13 92 color 0.5 0.5 0.5;
+#X connect 0 0 1 0;
+#X connect 0 0 4 0;
+#X connect 0 0 6 0;
+#X connect 0 0 10 0;
+#X connect 1 0 2 0;
+#X connect 2 0 16 0;
+#X connect 4 0 7 0;
+#X connect 6 0 8 0;
+#X connect 7 0 15 0;
+#X connect 8 0 14 0;
+#X connect 10 0 12 0;
+#X connect 12 0 13 0;
+#X connect 13 0 11 0;
+#X connect 14 0 9 0;
+#X connect 15 0 5 0;
+#X connect 16 0 3 0;
+#X restore 390 569 pd border;
+#X obj 774 148 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X obj 774 172 gemhead 40;
+#X floatatom 825 519 5 0 0 0 - - -;
+#X obj 774 484 pix_texture;
+#X floatatom 876 520 5 0 0 0 - - -;
+#X obj 442 357 pix_texture;
+#X floatatom 867 236 5 0 0 0 - - -;
+#X obj 653 216 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 454 308 loadbang;
+#X obj 786 442 loadbang;
+#N canvas 693 153 804 667 _glsl 0;
+#X obj 80 426 glsl_program;
+#X obj 261 238 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#N canvas 0 22 450 300 open 0;
+#X obj 75 103 openpanel;
+#X obj 75 173 outlet;
+#X obj 75 127 t b s;
+#X msg 105 152 set open \$1;
+#X obj 75 80 inlet;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 2 1 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 0 0;
+#X restore 204 237 pd open;
+#X msg 33 296 print;
+#X obj 166 331 change;
+#X msg 34 420 print;
+#X obj 80 310 glsl_fragment;
+#X floatatom 166 355 2 0 0 0 ID - -;
+#X obj 184 400 print linking;
+#X obj 13 52 inlet;
+#X obj 80 462 outlet;
+#X msg 93 273 open \$1.frag;
+#X msg 204 261 open \$1;
+#X obj 422 77 inlet;
+#X obj 13 75 route bang;
+#X obj 140 83 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 140 109 t b b;
+#X msg 140 202 symbol \$1/\$2;
+#X obj 255 11 gemhead 1;
+#X msg 255 33 1;
+#X obj 255 57 change;
+#X obj 255 81 t b;
+#X obj 159 447 change;
+#X obj 159 468 t b;
+#X obj 159 491 outlet;
+#X msg 166 379 link \$1;
+#X obj 140 133 symbol vague;
+#X connect 0 0 10 0;
+#X connect 0 1 22 0;
+#X connect 1 0 2 0;
+#X connect 2 0 12 0;
+#X connect 3 0 6 0;
+#X connect 4 0 7 0;
+#X connect 5 0 0 0;
+#X connect 6 0 0 0;
+#X connect 6 1 4 0;
+#X connect 7 0 25 0;
+#X connect 9 0 14 0;
+#X connect 11 0 6 0;
+#X connect 12 0 6 0;
+#X connect 13 0 0 0;
+#X connect 14 0 16 0;
+#X connect 14 1 6 0;
+#X connect 15 0 16 0;
+#X connect 16 0 26 0;
+#X connect 17 0 11 0;
+#X connect 18 0 19 0;
+#X connect 19 0 20 0;
+#X connect 20 0 21 0;
+#X connect 21 0 16 0;
+#X connect 22 0 23 0;
+#X connect 23 0 24 0;
+#X connect 25 0 0 0;
+#X connect 25 0 8 0;
+#X connect 26 0 11 0;
+#X restore 774 326 pd _glsl;
+#X obj 743 302 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X msg 435 82 texunit 3;
+#X obj 410 108 pix_texture;
+#X obj 181 299 t a;
+#N canvas 0 0 450 300 gouttes 0;
+#X obj 27 79 translateXYZ 0 0 -4;
+#X obj 27 101 t a b b;
+#X obj 27 195 translateXYZ 0 0 0.1;
+#X obj 50 123 random 1000;
+#X obj 50 147 - 500;
+#X obj 136 123 random 1000;
+#X obj 136 147 - 500;
+#X obj 50 171 / 130;
+#X obj 136 171 / 130;
+#X obj 27 242 circle 0.02;
+#X obj 27 218 color 0.3 0.3 0.3;
+#X obj 28 51 inlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 1 1 3 0;
+#X connect 1 2 5 0;
+#X connect 2 0 10 0;
+#X connect 3 0 4 0;
+#X connect 4 0 7 0;
+#X connect 5 0 6 0;
+#X connect 6 0 8 0;
+#X connect 7 0 2 1;
+#X connect 8 0 2 2;
+#X connect 10 0 9 0;
+#X connect 11 0 0 0;
+#X restore 402 542 pd gouttes;
+#X msg 244 284 quality 0;
+#X obj 774 541 rectangle -4 -4;
+#X obj 9 155 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1
+;
+#X obj 220 180 delay 1000;
+#N canvas 0 0 450 300 init 0;
+#X obj 89 154 outlet;
+#X obj 89 100 change;
+#X obj 89 127 t b;
+#X obj 91 52 gemhead;
+#X msg 91 73 1;
+#X connect 1 0 2 0;
+#X connect 2 0 0 0;
+#X connect 3 0 4 0;
+#X connect 4 0 1 0;
+#X restore 220 157 pd init;
+#X obj 410 34 gemhead 16;
+#X obj 199 342 gemhead 12;
+#X obj 442 214 gemhead 17;
+#X obj 9 177 gemhead 10;
+#X obj 442 240 pix_image img2.jpg;
+#X msg 867 215 111;
+#X text 33 612 This shader is rendered into a framebuffer \, in order
+to use it in the next frame for a simple physical modeling simulation
+;
+#X text 345 168 This creates a texture (texunit 3) from the shaders'
+output;
+#X text 437 386 this loads a texture (texunit 2);
+#X text 691 411 not used \, just to set texture coordinate;
+#X text 633 594 This uses the two textures (texunit 2 and 3) in order
+to render the final images;
+#X text 201 9 This is an example of rendering to texture (using framebuffer)
+and multitextures;
+#X obj 402 497 t a a a a a;
+#X obj 774 393 pix_set 512 512;
+#N canvas 87 154 452 208 Gem.init 0;
+#X obj 118 46 loadbang;
+#X obj 118 113 outlet;
+#X msg 118 81 reset \, dimen 800 600;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X restore 760 47 pd Gem.init;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 1 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 730 64 pd gemwin;
+#X msg 786 463 rectangle 1;
+#X msg 454 331 texunit 2 \, quality 1 \, rectangle 1;
+#X msg 137 222 type FLOAT \, dimen 512 512 \, rectangle 1;
+#X msg 220 202 quality 1 \, rectangle 1;
+#X msg 867 255 K \$1 \, texture1 2 \, texture2 3;
+#X text 880 276 texture1==base;
+#X text 882 294 texture2==deformation;
+#X connect 0 0 5 0;
+#X connect 1 0 18 0;
+#X connect 3 0 2 0;
+#X connect 4 0 0 0;
+#X connect 4 1 7 1;
+#X connect 4 1 13 0;
+#X connect 5 0 28 0;
+#X connect 5 1 3 0;
+#X connect 6 0 7 0;
+#X connect 7 0 26 0;
+#X connect 7 1 11 0;
+#X connect 7 1 46 1;
+#X connect 9 0 8 0;
+#X connect 11 0 10 0;
+#X connect 13 0 12 0;
+#X connect 15 0 14 0;
+#X connect 16 0 45 0;
+#X connect 17 0 23 0;
+#X connect 17 1 5 1;
+#X connect 17 1 15 0;
+#X connect 18 0 4 0;
+#X connect 19 0 4 0;
+#X connect 19 0 17 0;
+#X connect 20 0 72 0;
+#X connect 21 0 20 0;
+#X connect 22 0 20 0;
+#X connect 23 0 25 0;
+#X connect 23 1 31 0;
+#X connect 24 0 48 0;
+#X connect 25 0 6 0;
+#X connect 26 0 27 0;
+#X connect 29 0 18 1;
+#X connect 30 0 18 2;
+#X connect 31 0 66 0;
+#X connect 33 0 34 0;
+#X connect 34 0 43 0;
+#X connect 35 0 50 1;
+#X connect 36 0 50 0;
+#X connect 37 0 50 2;
+#X connect 39 0 74 0;
+#X connect 40 0 59 0;
+#X connect 41 0 71 0;
+#X connect 42 0 70 0;
+#X connect 43 0 67 0;
+#X connect 43 1 40 0;
+#X connect 44 0 43 0;
+#X connect 45 0 46 0;
+#X connect 46 1 9 0;
+#X connect 47 0 5 0;
+#X connect 47 0 46 0;
+#X connect 47 0 7 0;
+#X connect 49 0 47 0;
+#X connect 51 0 57 0;
+#X connect 52 0 73 0;
+#X connect 53 0 52 0;
+#X connect 54 0 46 0;
+#X connect 55 0 17 0;
+#X connect 56 0 58 0;
+#X connect 57 0 1 0;
+#X connect 58 0 38 0;
+#X connect 59 0 39 0;
+#X connect 66 0 24 0;
+#X connect 66 1 24 0;
+#X connect 66 2 24 0;
+#X connect 66 3 24 0;
+#X connect 66 4 24 0;
+#X connect 67 0 36 0;
+#X connect 68 0 69 0;
+#X connect 70 0 36 0;
+#X connect 71 0 38 0;
+#X connect 72 0 19 0;
+#X connect 73 0 47 0;
+#X connect 74 0 43 1;
diff --git a/packages/noncvs/windows/extra/Gem/examples/10.glsl/08.multi_pass_rendering.pd b/packages/noncvs/windows/extra/Gem/examples/10.glsl/08.multi_pass_rendering.pd
index 5ada6be2..288d5e32 100644
--- a/packages/noncvs/windows/extra/Gem/examples/10.glsl/08.multi_pass_rendering.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/10.glsl/08.multi_pass_rendering.pd
@@ -1,341 +1,341 @@
-#N canvas 208 184 980 477 10;
-#X obj 42 315 square 4;
-#X obj 42 199 translateXYZ 0 0 -4;
-#X obj 671 399 pix_texture;
-#X obj 671 419 square 4;
-#N canvas 370 126 407 295 init 0;
-#X obj 106 175 outlet;
-#X msg 125 89 type FLOAT;
-#X obj 124 68 loadbang;
-#X msg 146 109 dimen 1024 1024;
-#X msg 211 147 rectangle 0;
-#X connect 1 0 0 0;
-#X connect 2 0 1 0;
-#X connect 2 0 3 0;
-#X connect 2 0 4 0;
-#X connect 3 0 0 0;
-#X connect 4 0 0 0;
-#X restore 56 157 pd init;
-#X obj 650 230 pix_texture;
-#X obj 650 252 square 4;
-#X floatatom 724 255 5 0 0 0 - - -;
-#N canvas 157 111 392 206 init 0;
-#X obj 93 68 t b;
-#X obj 93 47 loadbang;
-#X obj 93 159 outlet;
-#X msg 93 118 type FLOAT \, dimen 1024 1024 \, rectangle 0;
-#X connect 0 0 3 0;
-#X connect 1 0 0 0;
-#X connect 3 0 2 0;
-#X restore 669 120 pd init;
-#X obj 353 199 translateXYZ 0 0 -4;
-#N canvas 700 0 407 295 init 0;
-#X obj 106 175 outlet;
-#X obj 106 68 loadbang;
-#X msg 106 118 type FLOAT \, dimen 1024 1024 \, rectangle 0;
-#X connect 1 0 2 0;
-#X connect 2 0 0 0;
-#X restore 373 156 pd init;
-#X text 6 4 first input \, render whatever in a frambuffer;
-#X obj 691 357 loadbang;
-#X obj 42 222 pix_image img1.jpg;
-#X obj 42 54 gemhead 11;
-#X obj 666 187 loadbang;
-#X obj 650 166 translateXYZ 0 0 -4;
-#X obj 650 142 gemframebuffer;
-#X obj 353 177 gemframebuffer;
-#N canvas 330 106 589 635 shader1 0;
-#X obj 94 500 glsl_program;
-#X obj 94 340 glsl_fragment;
-#X obj 94 160 glsl_vertex;
-#X obj 172 400 pack 0 0;
-#X obj 162 200 change;
-#X obj 182 375 change;
-#X msg 172 420 link \$1 \$2;
-#X obj 162 220 t b f;
-#X obj 176 444 print linking;
-#X obj 94 66 inlet;
-#X obj 94 530 outlet;
-#X obj 464 245 inlet;
-#X floatatom 182 179 0 0 0 0 - - -;
-#X floatatom 234 377 0 0 0 0 - - -;
-#X msg 56 472 print;
-#X msg 246 65 1;
-#X obj 246 106 t b;
-#X obj 246 46 gemhead 1;
-#X obj 175 548 t b;
-#X obj 175 571 outlet;
-#X msg 246 135 open T_distord.vert;
-#X msg 289 160 open T_distord.frag;
-#X obj 246 86 change -1;
-#X obj 175 524 change;
-#X connect 0 0 10 0;
-#X connect 0 1 23 0;
-#X connect 1 0 0 0;
-#X connect 1 1 5 0;
-#X connect 1 1 13 0;
-#X connect 2 0 1 0;
-#X connect 2 1 4 0;
-#X connect 2 1 12 0;
-#X connect 3 0 6 0;
-#X connect 4 0 7 0;
-#X connect 5 0 3 0;
-#X connect 6 0 0 0;
-#X connect 6 0 8 0;
-#X connect 7 0 3 0;
-#X connect 7 1 3 1;
-#X connect 9 0 2 0;
-#X connect 11 0 0 0;
-#X connect 14 0 0 0;
-#X connect 15 0 22 0;
-#X connect 16 0 20 0;
-#X connect 16 0 21 0;
-#X connect 17 0 15 0;
-#X connect 18 0 19 0;
-#X connect 20 0 2 0;
-#X connect 21 0 1 0;
-#X connect 22 0 16 0;
-#X connect 23 0 18 0;
-#X restore 42 81 pd shader1;
-#N canvas 476 68 589 635 shader2 0;
-#X obj 94 500 glsl_program;
-#X obj 94 340 glsl_fragment;
-#X obj 94 160 glsl_vertex;
-#X obj 172 400 pack 0 0;
-#X obj 162 200 change;
-#X obj 182 375 change;
-#X msg 172 420 link \$1 \$2;
-#X obj 162 220 t b f;
-#X obj 176 444 print linking;
-#X obj 94 66 inlet;
-#X obj 94 530 outlet;
-#X obj 464 245 inlet;
-#X floatatom 182 179 0 0 0 0 - - -;
-#X floatatom 234 377 0 0 0 0 - - -;
-#X msg 56 472 print;
-#X msg 246 65 1;
-#X obj 246 106 t b;
-#X obj 246 46 gemhead 1;
-#X obj 175 548 t b;
-#X obj 175 571 outlet;
-#X msg 246 135 open P_distord.vert;
-#X msg 289 160 open P_distord.frag;
-#X obj 246 86 change -1;
-#X obj 175 524 change;
-#X connect 0 0 10 0;
-#X connect 0 1 23 0;
-#X connect 1 0 0 0;
-#X connect 1 1 5 0;
-#X connect 1 1 13 0;
-#X connect 2 0 1 0;
-#X connect 2 1 4 0;
-#X connect 2 1 12 0;
-#X connect 3 0 6 0;
-#X connect 4 0 7 0;
-#X connect 5 0 3 0;
-#X connect 6 0 0 0;
-#X connect 6 0 8 0;
-#X connect 7 0 3 0;
-#X connect 7 1 3 1;
-#X connect 9 0 2 0;
-#X connect 11 0 0 0;
-#X connect 14 0 0 0;
-#X connect 15 0 22 0;
-#X connect 16 0 20 0;
-#X connect 16 0 21 0;
-#X connect 17 0 15 0;
-#X connect 18 0 19 0;
-#X connect 20 0 2 0;
-#X connect 21 0 1 0;
-#X connect 22 0 16 0;
-#X connect 23 0 18 0;
-#X restore 353 78 pd shader2;
-#N canvas 660 91 589 635 shader3 0;
-#X obj 94 500 glsl_program;
-#X obj 94 340 glsl_fragment;
-#X obj 94 160 glsl_vertex;
-#X obj 172 400 pack 0 0;
-#X obj 162 200 change;
-#X obj 182 375 change;
-#X msg 172 420 link \$1 \$2;
-#X obj 162 220 t b f;
-#X obj 176 444 print linking;
-#X obj 94 66 inlet;
-#X obj 94 530 outlet;
-#X obj 464 245 inlet;
-#X floatatom 182 179 0 0 0 0 - - -;
-#X floatatom 234 377 0 0 0 0 - - -;
-#X msg 56 472 print;
-#X msg 246 65 1;
-#X obj 246 106 t b;
-#X obj 246 46 gemhead 1;
-#X obj 175 548 t b;
-#X obj 175 571 outlet;
-#X msg 326 429 MyTex 1;
-#X msg 336 451 MyTex1 2;
-#X msg 247 135 open multitexture.vert;
-#X msg 291 160 open multitexture.frag;
-#X obj 246 86 change -1;
-#X obj 175 524 change;
-#X connect 0 0 10 0;
-#X connect 0 1 25 0;
-#X connect 1 0 0 0;
-#X connect 1 1 5 0;
-#X connect 1 1 13 0;
-#X connect 2 0 1 0;
-#X connect 2 1 4 0;
-#X connect 2 1 12 0;
-#X connect 3 0 6 0;
-#X connect 4 0 7 0;
-#X connect 5 0 3 0;
-#X connect 6 0 0 0;
-#X connect 6 0 8 0;
-#X connect 7 0 3 0;
-#X connect 7 1 3 1;
-#X connect 9 0 2 0;
-#X connect 11 0 0 0;
-#X connect 14 0 0 0;
-#X connect 15 0 24 0;
-#X connect 16 0 22 0;
-#X connect 16 0 23 0;
-#X connect 17 0 15 0;
-#X connect 18 0 19 0;
-#X connect 18 0 20 0;
-#X connect 18 0 21 0;
-#X connect 20 0 0 0;
-#X connect 21 0 0 0;
-#X connect 22 0 2 0;
-#X connect 23 0 1 0;
-#X connect 24 0 16 0;
-#X connect 25 0 18 0;
-#X restore 650 79 pd shader3;
-#X obj 650 54 gemhead 31;
-#X obj 671 314 gemhead 32;
-#X obj 56 248 loadbang;
-#X obj 367 245 loadbang;
-#X msg 56 270 rectangle 0;
-#X msg 367 267 rectangle 0;
-#X obj 42 295 pix_texture;
-#X msg 55 135 texunit 1;
-#X obj 55 113 loadbang;
-#X obj 366 115 loadbang;
-#X msg 366 136 texunit 2;
-#X msg 141 48 1;
-#X floatatom 141 69 5 0 0 0 - - -;
-#X msg 141 88 K1 \$1;
-#X text 183 69 change effect;
-#X text 347 1 second input : same as 1st.;
-#X text 7 22 put framebuffer as texunit 1 \, for futur use;
-#X text 348 17 render an image in framebuffer.;
-#X text 350 31 put framebuffer in texunit 2;
-#X text 632 8 finally :;
-#X text 631 23 shader mixing 2 textures in a framebuffer;
-#X floatatom 449 79 5 0 0 0 - - -;
-#X text 491 79 change effect;
-#X msg 449 98 K \$1;
-#X msg 449 58 0.1;
-#X text 161 433 <-------------------;
-#X text 569 442 draw the final frambuffer (without shader);
-#X obj 671 335 rotateXYZ -20 0 0;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 58 46 loadbang;
-#X obj 58 113 outlet;
-#X msg 58 80 reset \, dimen 320 240;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X restore 99 394 pd Gem.init;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 1 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 69 411 pd gemwin;
-#X obj 42 177 gemframebuffer;
-#X obj 353 332 mesh_square 10 10;
-#X obj 353 311 scaleXYZ 4 4 1;
-#X obj 353 57 gemhead 21;
-#X obj 353 222 pix_image img2.jpg;
-#X obj 353 291 pix_texture;
-#X msg 666 209 rectangle 0;
-#X msg 691 378 rectangle 0;
-#X connect 1 0 13 0;
-#X connect 2 0 3 0;
-#X connect 4 0 52 0;
-#X connect 5 0 6 0;
-#X connect 5 1 7 0;
-#X connect 8 0 17 0;
-#X connect 9 0 56 0;
-#X connect 10 0 18 0;
-#X connect 12 0 59 0;
-#X connect 13 0 28 0;
-#X connect 14 0 19 0;
-#X connect 15 0 58 0;
-#X connect 16 0 5 0;
-#X connect 17 0 16 0;
-#X connect 17 1 2 1;
-#X connect 18 0 9 0;
-#X connect 19 0 52 0;
-#X connect 19 1 33 0;
-#X connect 20 0 18 0;
-#X connect 20 1 46 0;
-#X connect 21 0 17 0;
-#X connect 22 0 21 0;
-#X connect 23 0 49 0;
-#X connect 24 0 26 0;
-#X connect 25 0 27 0;
-#X connect 26 0 28 0;
-#X connect 27 0 57 0;
-#X connect 28 0 0 0;
-#X connect 29 0 52 0;
-#X connect 30 0 29 0;
-#X connect 31 0 32 0;
-#X connect 32 0 18 0;
-#X connect 33 0 34 0;
-#X connect 34 0 35 0;
-#X connect 35 0 19 1;
-#X connect 43 0 45 0;
-#X connect 45 0 20 1;
-#X connect 46 0 43 0;
-#X connect 49 0 2 0;
-#X connect 50 0 51 0;
-#X connect 52 0 1 0;
-#X connect 54 0 53 0;
-#X connect 55 0 20 0;
-#X connect 56 0 57 0;
-#X connect 57 0 54 0;
-#X connect 58 0 5 0;
-#X connect 59 0 2 0;
+#N canvas 208 184 980 477 10;
+#X obj 42 315 square 4;
+#X obj 42 199 translateXYZ 0 0 -4;
+#X obj 671 399 pix_texture;
+#X obj 671 419 square 4;
+#N canvas 370 126 407 295 init 0;
+#X obj 106 175 outlet;
+#X msg 125 89 type FLOAT;
+#X obj 124 68 loadbang;
+#X msg 146 109 dimen 1024 1024;
+#X msg 211 147 rectangle 0;
+#X connect 1 0 0 0;
+#X connect 2 0 1 0;
+#X connect 2 0 3 0;
+#X connect 2 0 4 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X restore 56 157 pd init;
+#X obj 650 230 pix_texture;
+#X obj 650 252 square 4;
+#X floatatom 724 255 5 0 0 0 - - -;
+#N canvas 157 111 392 206 init 0;
+#X obj 93 68 t b;
+#X obj 93 47 loadbang;
+#X obj 93 159 outlet;
+#X msg 93 118 type FLOAT \, dimen 1024 1024 \, rectangle 0;
+#X connect 0 0 3 0;
+#X connect 1 0 0 0;
+#X connect 3 0 2 0;
+#X restore 669 120 pd init;
+#X obj 353 199 translateXYZ 0 0 -4;
+#N canvas 700 0 407 295 init 0;
+#X obj 106 175 outlet;
+#X obj 106 68 loadbang;
+#X msg 106 118 type FLOAT \, dimen 1024 1024 \, rectangle 0;
+#X connect 1 0 2 0;
+#X connect 2 0 0 0;
+#X restore 373 156 pd init;
+#X text 6 4 first input \, render whatever in a frambuffer;
+#X obj 691 357 loadbang;
+#X obj 42 222 pix_image img1.jpg;
+#X obj 42 54 gemhead 11;
+#X obj 666 187 loadbang;
+#X obj 650 166 translateXYZ 0 0 -4;
+#X obj 650 142 gemframebuffer;
+#X obj 353 177 gemframebuffer;
+#N canvas 330 106 589 635 shader1 0;
+#X obj 94 500 glsl_program;
+#X obj 94 340 glsl_fragment;
+#X obj 94 160 glsl_vertex;
+#X obj 172 400 pack 0 0;
+#X obj 162 200 change;
+#X obj 182 375 change;
+#X msg 172 420 link \$1 \$2;
+#X obj 162 220 t b f;
+#X obj 176 444 print linking;
+#X obj 94 66 inlet;
+#X obj 94 530 outlet;
+#X obj 464 245 inlet;
+#X floatatom 182 179 0 0 0 0 - - -;
+#X floatatom 234 377 0 0 0 0 - - -;
+#X msg 56 472 print;
+#X msg 246 65 1;
+#X obj 246 106 t b;
+#X obj 246 46 gemhead 1;
+#X obj 175 548 t b;
+#X obj 175 571 outlet;
+#X msg 246 135 open T_distord.vert;
+#X msg 289 160 open T_distord.frag;
+#X obj 246 86 change -1;
+#X obj 175 524 change;
+#X connect 0 0 10 0;
+#X connect 0 1 23 0;
+#X connect 1 0 0 0;
+#X connect 1 1 5 0;
+#X connect 1 1 13 0;
+#X connect 2 0 1 0;
+#X connect 2 1 4 0;
+#X connect 2 1 12 0;
+#X connect 3 0 6 0;
+#X connect 4 0 7 0;
+#X connect 5 0 3 0;
+#X connect 6 0 0 0;
+#X connect 6 0 8 0;
+#X connect 7 0 3 0;
+#X connect 7 1 3 1;
+#X connect 9 0 2 0;
+#X connect 11 0 0 0;
+#X connect 14 0 0 0;
+#X connect 15 0 22 0;
+#X connect 16 0 20 0;
+#X connect 16 0 21 0;
+#X connect 17 0 15 0;
+#X connect 18 0 19 0;
+#X connect 20 0 2 0;
+#X connect 21 0 1 0;
+#X connect 22 0 16 0;
+#X connect 23 0 18 0;
+#X restore 42 81 pd shader1;
+#N canvas 476 68 589 635 shader2 0;
+#X obj 94 500 glsl_program;
+#X obj 94 340 glsl_fragment;
+#X obj 94 160 glsl_vertex;
+#X obj 172 400 pack 0 0;
+#X obj 162 200 change;
+#X obj 182 375 change;
+#X msg 172 420 link \$1 \$2;
+#X obj 162 220 t b f;
+#X obj 176 444 print linking;
+#X obj 94 66 inlet;
+#X obj 94 530 outlet;
+#X obj 464 245 inlet;
+#X floatatom 182 179 0 0 0 0 - - -;
+#X floatatom 234 377 0 0 0 0 - - -;
+#X msg 56 472 print;
+#X msg 246 65 1;
+#X obj 246 106 t b;
+#X obj 246 46 gemhead 1;
+#X obj 175 548 t b;
+#X obj 175 571 outlet;
+#X msg 246 135 open P_distord.vert;
+#X msg 289 160 open P_distord.frag;
+#X obj 246 86 change -1;
+#X obj 175 524 change;
+#X connect 0 0 10 0;
+#X connect 0 1 23 0;
+#X connect 1 0 0 0;
+#X connect 1 1 5 0;
+#X connect 1 1 13 0;
+#X connect 2 0 1 0;
+#X connect 2 1 4 0;
+#X connect 2 1 12 0;
+#X connect 3 0 6 0;
+#X connect 4 0 7 0;
+#X connect 5 0 3 0;
+#X connect 6 0 0 0;
+#X connect 6 0 8 0;
+#X connect 7 0 3 0;
+#X connect 7 1 3 1;
+#X connect 9 0 2 0;
+#X connect 11 0 0 0;
+#X connect 14 0 0 0;
+#X connect 15 0 22 0;
+#X connect 16 0 20 0;
+#X connect 16 0 21 0;
+#X connect 17 0 15 0;
+#X connect 18 0 19 0;
+#X connect 20 0 2 0;
+#X connect 21 0 1 0;
+#X connect 22 0 16 0;
+#X connect 23 0 18 0;
+#X restore 353 78 pd shader2;
+#N canvas 660 91 589 635 shader3 0;
+#X obj 94 500 glsl_program;
+#X obj 94 340 glsl_fragment;
+#X obj 94 160 glsl_vertex;
+#X obj 172 400 pack 0 0;
+#X obj 162 200 change;
+#X obj 182 375 change;
+#X msg 172 420 link \$1 \$2;
+#X obj 162 220 t b f;
+#X obj 176 444 print linking;
+#X obj 94 66 inlet;
+#X obj 94 530 outlet;
+#X obj 464 245 inlet;
+#X floatatom 182 179 0 0 0 0 - - -;
+#X floatatom 234 377 0 0 0 0 - - -;
+#X msg 56 472 print;
+#X msg 246 65 1;
+#X obj 246 106 t b;
+#X obj 246 46 gemhead 1;
+#X obj 175 548 t b;
+#X obj 175 571 outlet;
+#X msg 326 429 MyTex 1;
+#X msg 336 451 MyTex1 2;
+#X msg 247 135 open multitexture.vert;
+#X msg 291 160 open multitexture.frag;
+#X obj 246 86 change -1;
+#X obj 175 524 change;
+#X connect 0 0 10 0;
+#X connect 0 1 25 0;
+#X connect 1 0 0 0;
+#X connect 1 1 5 0;
+#X connect 1 1 13 0;
+#X connect 2 0 1 0;
+#X connect 2 1 4 0;
+#X connect 2 1 12 0;
+#X connect 3 0 6 0;
+#X connect 4 0 7 0;
+#X connect 5 0 3 0;
+#X connect 6 0 0 0;
+#X connect 6 0 8 0;
+#X connect 7 0 3 0;
+#X connect 7 1 3 1;
+#X connect 9 0 2 0;
+#X connect 11 0 0 0;
+#X connect 14 0 0 0;
+#X connect 15 0 24 0;
+#X connect 16 0 22 0;
+#X connect 16 0 23 0;
+#X connect 17 0 15 0;
+#X connect 18 0 19 0;
+#X connect 18 0 20 0;
+#X connect 18 0 21 0;
+#X connect 20 0 0 0;
+#X connect 21 0 0 0;
+#X connect 22 0 2 0;
+#X connect 23 0 1 0;
+#X connect 24 0 16 0;
+#X connect 25 0 18 0;
+#X restore 650 79 pd shader3;
+#X obj 650 54 gemhead 31;
+#X obj 671 314 gemhead 32;
+#X obj 56 248 loadbang;
+#X obj 367 245 loadbang;
+#X msg 56 270 rectangle 0;
+#X msg 367 267 rectangle 0;
+#X obj 42 295 pix_texture;
+#X msg 55 135 texunit 1;
+#X obj 55 113 loadbang;
+#X obj 366 115 loadbang;
+#X msg 366 136 texunit 2;
+#X msg 141 48 1;
+#X floatatom 141 69 5 0 0 0 - - -;
+#X msg 141 88 K1 \$1;
+#X text 183 69 change effect;
+#X text 347 1 second input : same as 1st.;
+#X text 7 22 put framebuffer as texunit 1 \, for futur use;
+#X text 348 17 render an image in framebuffer.;
+#X text 350 31 put framebuffer in texunit 2;
+#X text 632 8 finally :;
+#X text 631 23 shader mixing 2 textures in a framebuffer;
+#X floatatom 449 79 5 0 0 0 - - -;
+#X text 491 79 change effect;
+#X msg 449 98 K \$1;
+#X msg 449 58 0.1;
+#X text 161 433 <-------------------;
+#X text 569 442 draw the final frambuffer (without shader);
+#X obj 671 335 rotateXYZ -20 0 0;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 58 46 loadbang;
+#X obj 58 113 outlet;
+#X msg 58 80 reset \, dimen 320 240;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X restore 99 394 pd Gem.init;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 1 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 69 411 pd gemwin;
+#X obj 42 177 gemframebuffer;
+#X obj 353 332 mesh_square 10 10;
+#X obj 353 311 scaleXYZ 4 4 1;
+#X obj 353 57 gemhead 21;
+#X obj 353 222 pix_image img2.jpg;
+#X obj 353 291 pix_texture;
+#X msg 666 209 rectangle 0;
+#X msg 691 378 rectangle 0;
+#X connect 1 0 13 0;
+#X connect 2 0 3 0;
+#X connect 4 0 52 0;
+#X connect 5 0 6 0;
+#X connect 5 1 7 0;
+#X connect 8 0 17 0;
+#X connect 9 0 56 0;
+#X connect 10 0 18 0;
+#X connect 12 0 59 0;
+#X connect 13 0 28 0;
+#X connect 14 0 19 0;
+#X connect 15 0 58 0;
+#X connect 16 0 5 0;
+#X connect 17 0 16 0;
+#X connect 17 1 2 1;
+#X connect 18 0 9 0;
+#X connect 19 0 52 0;
+#X connect 19 1 33 0;
+#X connect 20 0 18 0;
+#X connect 20 1 46 0;
+#X connect 21 0 17 0;
+#X connect 22 0 21 0;
+#X connect 23 0 49 0;
+#X connect 24 0 26 0;
+#X connect 25 0 27 0;
+#X connect 26 0 28 0;
+#X connect 27 0 57 0;
+#X connect 28 0 0 0;
+#X connect 29 0 52 0;
+#X connect 30 0 29 0;
+#X connect 31 0 32 0;
+#X connect 32 0 18 0;
+#X connect 33 0 34 0;
+#X connect 34 0 35 0;
+#X connect 35 0 19 1;
+#X connect 43 0 45 0;
+#X connect 45 0 20 1;
+#X connect 46 0 43 0;
+#X connect 49 0 2 0;
+#X connect 50 0 51 0;
+#X connect 52 0 1 0;
+#X connect 54 0 53 0;
+#X connect 55 0 20 0;
+#X connect 56 0 57 0;
+#X connect 57 0 54 0;
+#X connect 58 0 5 0;
+#X connect 59 0 2 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/10.glsl/09.vertex_texture_fetching.pd b/packages/noncvs/windows/extra/Gem/examples/10.glsl/09.vertex_texture_fetching.pd
index e1439c43..e62d5813 100644
--- a/packages/noncvs/windows/extra/Gem/examples/10.glsl/09.vertex_texture_fetching.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/10.glsl/09.vertex_texture_fetching.pd
@@ -1,142 +1,142 @@
-#N canvas 239 0 785 526 10;
-#X obj 504 69 gemhead;
-#X obj 576 346 pack 0 0;
-#X obj 597 326 t b f;
-#X msg 576 369 link \$1 \$2;
-#X floatatom 597 307 2 0 0 0 ID - -;
-#X floatatom 576 206 2 0 0 0 ID - -;
-#X obj 594 390 print linking;
-#X obj 504 480 pix_texture;
-#X obj 540 118 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
--1 -1;
-#X obj 28 199 gemhead 1;
-#X obj 28 311 gemframebuffer;
-#X obj 28 485 pix_texture;
-#X obj 28 336 translateXYZ 0 0 -4;
-#X obj 28 510 square 4;
-#X obj 504 261 glsl_fragment;
-#X obj 504 164 glsl_vertex;
-#X obj 576 183 change;
-#X obj 597 281 change;
-#X obj 504 409 glsl_program;
-#X floatatom 542 505 5 0 0 0 - - -;
-#X obj 49 231 loadbang;
-#X obj 44 419 loadbang;
-#X msg 520 456 quality 0;
-#N canvas 703 231 450 300 load_glsl 0;
-#X obj 51 22 gemhead;
-#X obj 51 98 outlet;
-#X obj 51 50 route gem_state;
-#X obj 51 74 route 1;
-#X connect 0 0 2 0;
-#X connect 2 0 3 0;
-#X connect 3 0 1 0;
-#X restore 540 93 pd load_glsl;
-#X msg 514 231 open fetching.frag;
-#X msg 518 142 open fetching.vert;
-#X obj 504 525 rotateXYZ -30 0 0;
-#X obj 504 551 scaleXYZ 3 3 1;
-#X obj 28 388 pix_image img1.jpg;
-#X msg 46 363 open img2.jpg;
-#X text 137 11 This patch need a glsl 3 compliant hardware;
-#X text 26 535 draw an image in a frambuffer;
-#X text 49 274 this configuration is very important to have full hardware
-support for vertex texture fetching;
-#X text 306 603 this example uses the framebuffer image in the vertex
-shader in the same way you can do in the pixel shader. This is only
-possible in this specific configuration (it's a hardware limitation)
-;
-#X text 137 56 (nvidia 7000 and 8000 serie should work \, ati X1000
-serie does not \, but later should);
-#X obj 504 579 mesh_square 200;
-#X text 138 28 As in 2007 \, only good (and new) graphic cards are
-able to run this patch.;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 56 77 pd Gem.init;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 26 94 pd gemwin;
-#X msg 49 255 rectangle 0 \, type BYTE \, format RGB32 \, dimen 1024
-1024;
-#X msg 44 439 rectangle 0 \, quality 0;
-#X obj 520 437 loadbang;
-#X connect 0 0 15 0;
-#X connect 1 0 3 0;
-#X connect 2 0 1 0;
-#X connect 2 1 1 1;
-#X connect 3 0 6 0;
-#X connect 3 0 18 0;
-#X connect 4 0 2 0;
-#X connect 5 0 1 0;
-#X connect 7 0 26 0;
-#X connect 8 0 25 0;
-#X connect 8 0 24 0;
-#X connect 9 0 10 0;
-#X connect 10 0 12 0;
-#X connect 10 1 7 1;
-#X connect 11 0 13 0;
-#X connect 12 0 28 0;
-#X connect 14 0 18 0;
-#X connect 14 1 17 0;
-#X connect 15 0 14 0;
-#X connect 15 1 16 0;
-#X connect 16 0 5 0;
-#X connect 17 0 4 0;
-#X connect 18 0 7 0;
-#X connect 19 0 26 1;
-#X connect 20 0 39 0;
-#X connect 21 0 40 0;
-#X connect 22 0 7 0;
-#X connect 23 0 8 0;
-#X connect 24 0 14 0;
-#X connect 25 0 15 0;
-#X connect 26 0 27 0;
-#X connect 27 0 35 0;
-#X connect 28 0 11 0;
-#X connect 29 0 28 0;
-#X connect 37 0 38 0;
-#X connect 39 0 10 0;
-#X connect 40 0 11 0;
-#X connect 41 0 22 0;
+#N canvas 239 0 785 526 10;
+#X obj 504 69 gemhead;
+#X obj 576 346 pack 0 0;
+#X obj 597 326 t b f;
+#X msg 576 369 link \$1 \$2;
+#X floatatom 597 307 2 0 0 0 ID - -;
+#X floatatom 576 206 2 0 0 0 ID - -;
+#X obj 594 390 print linking;
+#X obj 504 480 pix_texture;
+#X obj 540 118 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 28 199 gemhead 1;
+#X obj 28 311 gemframebuffer;
+#X obj 28 485 pix_texture;
+#X obj 28 336 translateXYZ 0 0 -4;
+#X obj 28 510 square 4;
+#X obj 504 261 glsl_fragment;
+#X obj 504 164 glsl_vertex;
+#X obj 576 183 change;
+#X obj 597 281 change;
+#X obj 504 409 glsl_program;
+#X floatatom 542 505 5 0 0 0 - - -;
+#X obj 49 231 loadbang;
+#X obj 44 419 loadbang;
+#X msg 520 456 quality 0;
+#N canvas 703 231 450 300 load_glsl 0;
+#X obj 51 22 gemhead;
+#X obj 51 98 outlet;
+#X obj 51 50 route gem_state;
+#X obj 51 74 route 1;
+#X connect 0 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 0;
+#X restore 540 93 pd load_glsl;
+#X msg 514 231 open fetching.frag;
+#X msg 518 142 open fetching.vert;
+#X obj 504 525 rotateXYZ -30 0 0;
+#X obj 504 551 scaleXYZ 3 3 1;
+#X obj 28 388 pix_image img1.jpg;
+#X msg 46 363 open img2.jpg;
+#X text 137 11 This patch need a glsl 3 compliant hardware;
+#X text 26 535 draw an image in a frambuffer;
+#X text 49 274 this configuration is very important to have full hardware
+support for vertex texture fetching;
+#X text 306 603 this example uses the framebuffer image in the vertex
+shader in the same way you can do in the pixel shader. This is only
+possible in this specific configuration (it's a hardware limitation)
+;
+#X text 137 56 (nvidia 7000 and 8000 serie should work \, ati X1000
+serie does not \, but later should);
+#X obj 504 579 mesh_square 200;
+#X text 138 28 As in 2007 \, only good (and new) graphic cards are
+able to run this patch.;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 56 77 pd Gem.init;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 26 94 pd gemwin;
+#X msg 49 255 rectangle 0 \, type BYTE \, format RGB32 \, dimen 1024
+1024;
+#X msg 44 439 rectangle 0 \, quality 0;
+#X obj 520 437 loadbang;
+#X connect 0 0 15 0;
+#X connect 1 0 3 0;
+#X connect 2 0 1 0;
+#X connect 2 1 1 1;
+#X connect 3 0 6 0;
+#X connect 3 0 18 0;
+#X connect 4 0 2 0;
+#X connect 5 0 1 0;
+#X connect 7 0 26 0;
+#X connect 8 0 25 0;
+#X connect 8 0 24 0;
+#X connect 9 0 10 0;
+#X connect 10 0 12 0;
+#X connect 10 1 7 1;
+#X connect 11 0 13 0;
+#X connect 12 0 28 0;
+#X connect 14 0 18 0;
+#X connect 14 1 17 0;
+#X connect 15 0 14 0;
+#X connect 15 1 16 0;
+#X connect 16 0 5 0;
+#X connect 17 0 4 0;
+#X connect 18 0 7 0;
+#X connect 19 0 26 1;
+#X connect 20 0 39 0;
+#X connect 21 0 40 0;
+#X connect 22 0 7 0;
+#X connect 23 0 8 0;
+#X connect 24 0 14 0;
+#X connect 25 0 15 0;
+#X connect 26 0 27 0;
+#X connect 27 0 35 0;
+#X connect 28 0 11 0;
+#X connect 29 0 28 0;
+#X connect 37 0 38 0;
+#X connect 39 0 10 0;
+#X connect 40 0 11 0;
+#X connect 41 0 22 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/10.glsl/10.GPGPU_Physical_model.pd b/packages/noncvs/windows/extra/Gem/examples/10.glsl/10.GPGPU_Physical_model.pd
index 5f5bf7bc..57f683bf 100644
--- a/packages/noncvs/windows/extra/Gem/examples/10.glsl/10.GPGPU_Physical_model.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/10.glsl/10.GPGPU_Physical_model.pd
@@ -1,1242 +1,1242 @@
-#N struct 1002-xy-pad-knob-1 float x0 float y0 float id;
-#N canvas 282 291 918 594 10;
-#X obj 27 380 hradio 15 1 0 5 empty empty empty 0 -8 0 10 -262144 -1
--1 0;
-#X floatatom 185 212 5 0 0 0 - - -;
-#N canvas 4 106 187 219 fps 0;
-#X obj 22 62 realtime;
-#X obj 22 41 t b b;
-#X obj 22 19 gemhead;
-#X obj 22 170 outlet;
-#X msg 22 84 1000 \$1;
-#X obj 22 105 /;
-#X obj 22 126 + 0.5;
-#X obj 22 147 i;
-#X connect 0 0 4 0;
-#X connect 1 0 0 0;
-#X connect 1 1 0 1;
-#X connect 2 0 1 0;
-#X connect 4 0 5 0;
-#X connect 5 0 6 0;
-#X connect 6 0 7 0;
-#X connect 7 0 3 0;
-#X restore 185 192 pd fps;
-#N canvas 93 66 1183 666 shaders_PM 0;
-#X obj 718 34 gemhead;
-#X obj 718 57 route gem_state;
-#X obj 718 79 route 1 0;
-#X obj 24 477 translateXYZ 0 0 -4;
-#X obj 24 609 square 4;
-#X msg 50 399 texunit 1;
-#X obj 50 378 loadbang;
-#N canvas 573 206 607 627 shader 0;
-#X obj 126 247 change;
-#X obj 126 323 print linking;
-#X obj 32 227 glsl_fragment;
-#N canvas 0 0 450 300 load_shader 0;
-#X obj 89 99 t b b;
-#X msg 119 126 0;
-#X obj 89 154 outlet;
-#X obj 89 71 gemhead 1;
-#X connect 0 0 2 0;
-#X connect 0 1 1 0;
-#X connect 1 0 3 0;
-#X connect 3 0 0 0;
-#X restore 148 49 pd load_shader;
-#X obj 32 36 inlet;
-#X obj 32 423 outlet;
-#X obj 155 18 inlet;
-#N canvas 0 0 450 300 init_shader 0;
-#X obj 89 154 outlet;
-#X obj 89 45 inlet;
-#X obj 89 73 change;
-#X obj 89 100 t b;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 3 0 0 0;
-#X restore 113 378 pd init_shader;
-#X obj 278 25 inlet;
-#X obj 113 408 outlet;
-#X msg 42 203 open mass.frag;
-#X obj 32 354 glsl_program;
-#X obj 32 137 glsl_vertex;
-#X msg 42 113 open mass.vert;
-#X obj 94 74 t b b;
-#X obj 126 272 pack f f;
-#X msg 126 296 link \$1 \$2;
-#X connect 0 0 15 0;
-#X connect 2 0 11 0;
-#X connect 2 1 0 0;
-#X connect 3 0 14 0;
-#X connect 4 0 12 0;
-#X connect 6 0 14 0;
-#X connect 7 0 9 0;
-#X connect 8 0 11 0;
-#X connect 10 0 2 0;
-#X connect 11 0 5 0;
-#X connect 11 1 7 0;
-#X connect 12 0 2 0;
-#X connect 12 1 15 1;
-#X connect 13 0 12 0;
-#X connect 14 0 10 0;
-#X connect 14 1 13 0;
-#X connect 15 0 16 0;
-#X connect 16 0 1 0;
-#X connect 16 0 11 0;
-#X restore 24 257 pd shader;
-#X obj 53 234 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
--1;
-#X obj 506 468 translateXYZ 0 0 -4;
-#X obj 506 610 square 4;
-#X obj 261 477 translateXYZ 0 0 -4;
-#X obj 290 368 loadbang;
-#N canvas 1062 27 528 709 shader 0;
-#X obj 32 384 glsl_program;
-#X obj 32 36 inlet;
-#X obj 32 453 outlet;
-#X obj 155 18 inlet;
-#N canvas 0 0 450 300 init_shader 0;
-#X obj 89 154 outlet;
-#X obj 89 45 inlet;
-#X obj 89 73 change;
-#X obj 89 100 t b;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 3 0 0 0;
-#X restore 113 408 pd init_shader;
-#X obj 278 25 inlet;
-#X obj 113 438 outlet;
-#X obj 126 247 change;
-#X obj 126 323 print linking;
-#X obj 32 227 glsl_fragment;
-#N canvas 0 0 450 300 load_shader 0;
-#X obj 89 99 t b b;
-#X msg 119 126 0;
-#X obj 89 154 outlet;
-#X obj 89 71 gemhead 1;
-#X connect 0 0 2 0;
-#X connect 0 1 1 0;
-#X connect 1 0 3 0;
-#X connect 3 0 0 0;
-#X restore 148 49 pd load_shader;
-#X obj 32 137 glsl_vertex;
-#X obj 94 74 t b b;
-#X obj 126 272 pack f f;
-#X msg 126 296 link \$1 \$2;
-#X msg 42 113 open link.vert;
-#X msg 42 203 open link.frag;
-#X connect 0 0 2 0;
-#X connect 0 1 4 0;
-#X connect 1 0 11 0;
-#X connect 3 0 12 0;
-#X connect 4 0 6 0;
-#X connect 5 0 0 0;
-#X connect 7 0 13 0;
-#X connect 9 0 0 0;
-#X connect 9 1 7 0;
-#X connect 10 0 12 0;
-#X connect 11 0 9 0;
-#X connect 11 1 13 1;
-#X connect 12 0 16 0;
-#X connect 12 1 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 8 0;
-#X connect 14 0 0 0;
-#X connect 15 0 11 0;
-#X connect 16 0 9 0;
-#X restore 261 256 pd shader;
-#X obj 292 231 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
--1 -1;
-#X obj 280 539 loadbang;
-#X obj 119 448 s texture_mass;
-#X obj 359 444 s texture_link;
-#X obj 530 373 loadbang;
-#X msg 530 394 texunit 2;
-#X msg 286 390 texunit 3;
-#X obj 601 440 s texture_mass2;
-#X obj 321 229 r shader_link;
-#X obj 321 277 s init_shader_link;
-#X obj 261 612 square 4;
-#X obj 613 34 inlet;
-#X obj 24 201 gemhead 2;
-#X obj 261 185 gemhead 11;
-#X obj 506 236 gemhead 21;
-#X msg 41 561 rectangle 1 \, quality 0;
-#X msg 280 560 rectangle 1 \, quality 0;
-#X obj 615 58 t b b;
-#X obj 658 36 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
--1;
-#X obj 621 113 s init_shader_link;
-#X obj 84 233 r shader_mass;
-#X obj 84 281 s init_shader_mass;
-#X obj 601 140 s init_shader_mass;
-#X obj 261 589 pix_texture;
-#X obj 261 418 gemframebuffer;
-#X obj 24 588 pix_texture;
-#X obj 24 425 gemframebuffer;
-#X obj 65 310 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
--1;
-#X obj 506 418 gemframebuffer;
-#X obj 524 513 loadbang;
-#X msg 524 532 rectangle 1 \, quality 0;
-#X obj 506 588 pix_texture;
-#X obj 580 565 r texture_mass;
-#X obj 103 260 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
--1 -1;
-#X obj 341 251 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
--1 -1;
-#X obj 616 79 delay 500;
-#N canvas 0 0 446 324 init_fb 0;
-#X msg 100 173 type BYTE;
-#X msg 78 151 format RGB32;
-#X obj 46 121 t b b;
-#X obj 78 261 t a;
-#X obj 78 285 outlet;
-#X msg 137 215 rectangle 1;
-#X msg 46 196 dimen 128 128;
-#X obj 46 11 inlet;
-#X msg 137 42 0;
-#X obj 46 49 spigot 1;
-#X obj 46 72 t a b;
-#X connect 0 0 3 0;
-#X connect 1 0 3 0;
-#X connect 2 0 6 0;
-#X connect 2 1 1 0;
-#X connect 2 1 0 0;
-#X connect 2 1 5 0;
-#X connect 3 0 4 0;
-#X connect 5 0 3 0;
-#X connect 6 0 3 0;
-#X connect 7 0 9 0;
-#X connect 8 0 9 1;
-#X connect 9 0 10 0;
-#X connect 10 0 2 0;
-#X connect 10 1 8 0;
-#X restore 56 337 pd init_fb;
-#X obj 24 306 t a b;
-#X obj 302 300 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
--1 -1;
-#N canvas 0 0 450 300 init_fb 0;
-#X msg 100 153 type BYTE;
-#X msg 78 131 format RGB32;
-#X obj 46 101 t b b;
-#X obj 78 241 t a;
-#X obj 78 265 outlet;
-#X msg 137 195 rectangle 1;
-#X msg 46 176 dimen 128 128;
-#X obj 46 11 inlet;
-#X msg 137 42 0;
-#X obj 46 49 spigot 1;
-#X obj 46 72 t a b;
-#X connect 0 0 3 0;
-#X connect 1 0 3 0;
-#X connect 2 0 6 0;
-#X connect 2 1 1 0;
-#X connect 2 1 0 0;
-#X connect 2 1 5 0;
-#X connect 3 0 4 0;
-#X connect 5 0 3 0;
-#X connect 6 0 3 0;
-#X connect 7 0 9 0;
-#X connect 8 0 9 1;
-#X connect 9 0 10 0;
-#X connect 10 0 2 0;
-#X connect 10 1 8 0;
-#X restore 293 327 pd init_fb;
-#X obj 261 296 t a b;
-#X obj 547 298 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
--1 -1;
-#N canvas 0 0 450 300 init_fb 0;
-#X msg 100 153 type BYTE;
-#X msg 78 131 format RGB32;
-#X obj 46 101 t b b;
-#X obj 78 241 t a;
-#X obj 78 265 outlet;
-#X msg 137 195 rectangle 1;
-#X msg 46 176 dimen 128 128;
-#X obj 46 11 inlet;
-#X msg 137 42 0;
-#X obj 46 49 spigot 1;
-#X obj 46 72 t a b;
-#X connect 0 0 3 0;
-#X connect 1 0 3 0;
-#X connect 2 0 6 0;
-#X connect 2 1 1 0;
-#X connect 2 1 0 0;
-#X connect 2 1 5 0;
-#X connect 3 0 4 0;
-#X connect 5 0 3 0;
-#X connect 6 0 3 0;
-#X connect 7 0 9 0;
-#X connect 8 0 9 1;
-#X connect 9 0 10 0;
-#X connect 10 0 2 0;
-#X connect 10 1 8 0;
-#X restore 538 325 pd init_fb;
-#X obj 506 294 t a b;
-#X obj 32 29 gemhead 2;
-#X msg 271 106 0;
-#X obj 271 82 loadbang;
-#X msg 33 59 20;
-#X obj 32 90 until;
-#X obj 44 540 loadbang;
-#X msg 804 378 init \$1;
-#X floatatom 804 360 5 0 1 0 - - -;
-#X obj 762 371 t b;
-#X obj 762 254 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
--1 -1;
-#X msg 762 407 texture_link 3;
-#X msg 804 338 1;
-#X msg 950 229 gravite \$1;
-#X floatatom 948 189 5 0 0 0 - - -;
-#X floatatom 1012 190 5 0 0 0 - - -;
-#X msg 1012 206 D \$1;
-#X msg 1063 208 K1 \$1;
-#X floatatom 1062 189 5 0 0 0 - - -;
-#X obj 948 207 / 100;
-#X obj 950 251 t a;
-#X obj 950 526 s shader_link;
-#X obj 952 90 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
--1;
-#X obj 952 70 r init_shader_link;
-#X obj 950 146 t b;
-#X obj 952 127 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
--1 -1;
-#X msg 1059 168 0.05;
-#X msg 950 169 -0.0025;
-#X msg 1009 170 0.004;
-#X obj 842 314 delay 1000;
-#X msg 842 337 0;
-#X obj 762 454 s shader_mass;
-#X obj 762 225 r init_shader_mass;
-#X obj 804 286 t b;
-#X msg 992 362 init \$1;
-#X floatatom 992 344 5 0 1 0 - - -;
-#X msg 992 322 1;
-#X obj 1030 298 delay 1000;
-#X msg 1030 321 0;
-#X obj 991 270 t b;
-#X msg 1049 470 texture_mass 1;
-#X msg 1040 496 texture_mass_old 2;
-#X obj 1040 419 t b;
-#X msg 771 426 texture_mass_old 2;
-#X msg 1071 391 N \$1;
-#X msg 1071 367 0.01;
-#X msg 1121 368 0;
-#X obj 1078 340 delay 100;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X connect 2 0 31 0;
-#X connect 3 0 39 0;
-#X connect 5 0 40 0;
-#X connect 6 0 5 0;
-#X connect 7 0 51 0;
-#X connect 7 1 35 0;
-#X connect 8 0 7 1;
-#X connect 9 0 45 0;
-#X connect 11 0 37 0;
-#X connect 12 0 20 0;
-#X connect 13 0 54 0;
-#X connect 13 1 23 0;
-#X connect 14 0 13 1;
-#X connect 15 0 30 0;
-#X connect 18 0 19 0;
-#X connect 19 0 42 0;
-#X connect 20 0 38 0;
-#X connect 22 0 13 2;
-#X connect 25 0 31 0;
-#X connect 26 0 7 0;
-#X connect 27 0 13 0;
-#X connect 28 0 57 0;
-#X connect 29 0 39 0;
-#X connect 30 0 37 0;
-#X connect 31 0 49 0;
-#X connect 31 1 8 0;
-#X connect 31 1 14 0;
-#X connect 32 0 31 0;
-#X connect 34 0 7 2;
-#X connect 37 0 24 0;
-#X connect 38 0 11 0;
-#X connect 38 1 17 0;
-#X connect 38 1 37 1;
-#X connect 39 0 4 0;
-#X connect 40 0 3 0;
-#X connect 40 1 16 0;
-#X connect 40 1 39 1;
-#X connect 41 0 50 0;
-#X connect 42 0 9 0;
-#X connect 42 1 21 0;
-#X connect 43 0 44 0;
-#X connect 44 0 45 0;
-#X connect 45 0 10 0;
-#X connect 46 0 45 1;
-#X connect 47 0 35 0;
-#X connect 48 0 23 0;
-#X connect 49 0 33 0;
-#X connect 49 0 36 0;
-#X connect 50 0 40 0;
-#X connect 51 0 40 0;
-#X connect 51 1 50 0;
-#X connect 52 0 53 0;
-#X connect 53 0 38 0;
-#X connect 54 0 38 0;
-#X connect 54 1 53 0;
-#X connect 55 0 56 0;
-#X connect 56 0 42 0;
-#X connect 57 0 42 0;
-#X connect 57 1 56 0;
-#X connect 58 0 61 0;
-#X connect 59 0 26 0;
-#X connect 59 0 27 0;
-#X connect 59 0 28 0;
-#X connect 60 0 59 0;
-#X connect 61 0 62 0;
-#X connect 62 0 26 0;
-#X connect 62 0 27 0;
-#X connect 62 0 28 0;
-#X connect 63 0 29 0;
-#X connect 64 0 88 0;
-#X connect 65 0 64 0;
-#X connect 66 0 68 0;
-#X connect 66 0 100 0;
-#X connect 67 0 66 0;
-#X connect 67 0 90 0;
-#X connect 68 0 88 0;
-#X connect 69 0 65 0;
-#X connect 70 0 77 0;
-#X connect 71 0 76 0;
-#X connect 72 0 73 0;
-#X connect 73 0 77 0;
-#X connect 74 0 77 0;
-#X connect 75 0 74 0;
-#X connect 76 0 70 0;
-#X connect 77 0 78 0;
-#X connect 79 0 82 0;
-#X connect 79 0 96 0;
-#X connect 80 0 79 0;
-#X connect 81 0 84 0;
-#X connect 81 0 85 0;
-#X connect 81 0 83 0;
-#X connect 82 0 81 0;
-#X connect 83 0 75 0;
-#X connect 84 0 71 0;
-#X connect 85 0 72 0;
-#X connect 86 0 87 0;
-#X connect 87 0 65 0;
-#X connect 89 0 67 0;
-#X connect 90 0 69 0;
-#X connect 90 0 86 0;
-#X connect 91 0 78 0;
-#X connect 92 0 91 0;
-#X connect 93 0 92 0;
-#X connect 94 0 95 0;
-#X connect 94 0 102 0;
-#X connect 94 0 104 0;
-#X connect 95 0 92 0;
-#X connect 96 0 93 0;
-#X connect 96 0 94 0;
-#X connect 96 0 99 0;
-#X connect 97 0 78 0;
-#X connect 98 0 78 0;
-#X connect 99 0 97 0;
-#X connect 99 0 98 0;
-#X connect 100 0 88 0;
-#X connect 101 0 78 0;
-#X connect 102 0 101 0;
-#X connect 103 0 101 0;
-#X connect 104 0 103 0;
-#X restore 27 323 pd shaders_PM _________________;
-#N canvas 267 495 450 300 config 0;
-#X msg 16 75 W \$1;
-#X floatatom 225 101 5 0 0 0 - - -;
-#X msg 225 120 f \$1;
-#X obj 133 155 t a;
-#X msg 133 83 N \$1;
-#X text 141 101 bruit;
-#X obj 16 53 / 11000;
-#X obj 225 78 + 5;
-#X obj 225 55 * 5;
-#X obj 133 61 / 5000;
-#X msg 338 120 t \$1;
-#X obj 338 31 gemhead 77;
-#X obj 338 56 t b;
-#X obj 338 79 f;
-#X obj 338 99 + 0.3;
-#X obj 338 141 s shader_link;
-#X obj 133 181 s shader_link;
-#X obj 16 29 r oscillation1;
-#X obj 133 31 r qqt_noise;
-#X obj 225 31 r force_wind;
-#X connect 0 0 3 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 3 0 16 0;
-#X connect 4 0 3 0;
-#X connect 6 0 0 0;
-#X connect 7 0 1 0;
-#X connect 8 0 7 0;
-#X connect 9 0 4 0;
-#X connect 10 0 15 0;
-#X connect 11 0 12 0;
-#X connect 12 0 13 0;
-#X connect 13 0 14 0;
-#X connect 14 0 13 1;
-#X connect 14 0 10 0;
-#X connect 17 0 6 0;
-#X connect 18 0 9 0;
-#X connect 19 0 8 0;
-#X restore 27 361 pd config _____________________;
-#N canvas 0 0 450 300 render 0;
-#X obj 43 137 pix_texture;
-#X obj 43 181 square 4;
-#X obj 43 115 gemhead 66;
-#X obj 241 120 != 0;
-#X obj 210 119 == 0;
-#X obj 133 58 r texture_link;
-#X obj 146 77 r texture_interpol;
-#X obj 210 146 s aff_drapeau;
-#X obj 120 39 r texture_mass;
-#X msg 43 94 0;
-#X obj 43 73 loadbang;
-#N canvas 0 0 656 297 spigot4 0;
-#X obj 40 21 inlet;
-#X obj 458 22 inlet;
-#X obj 40 179 outlet;
-#X obj 113 24 inlet;
-#X obj 112 91 spigot 0;
-#X obj 196 24 inlet;
-#X obj 195 91 spigot 0;
-#X obj 86 68 == 1;
-#X obj 159 71 == 2;
-#X obj 240 71 == 3;
-#X obj 40 88 spigot 0;
-#X obj 283 29 inlet;
-#X obj 282 96 spigot 0;
-#X obj 327 76 == 4;
-#X obj 361 32 inlet;
-#X obj 360 99 spigot 0;
-#X obj 405 79 == 5;
-#X connect 0 0 10 0;
-#X connect 1 0 7 0;
-#X connect 1 0 8 0;
-#X connect 1 0 9 0;
-#X connect 1 0 13 0;
-#X connect 1 0 16 0;
-#X connect 3 0 4 0;
-#X connect 4 0 2 0;
-#X connect 5 0 6 0;
-#X connect 6 0 2 0;
-#X connect 7 0 10 1;
-#X connect 8 0 4 1;
-#X connect 9 0 6 1;
-#X connect 10 0 2 0;
-#X connect 11 0 12 0;
-#X connect 12 0 2 0;
-#X connect 13 0 12 1;
-#X connect 14 0 15 0;
-#X connect 15 0 2 0;
-#X connect 16 0 15 1;
-#X restore 120 115 pd spigot4;
-#X obj 160 96 r texture_normal;
-#X obj 43 160 translateXYZ 0 0 -40;
-#X obj 240 27 f;
-#X obj 238 5 inlet;
-#X connect 0 0 13 0;
-#X connect 2 0 0 0;
-#X connect 3 0 2 0;
-#X connect 4 0 7 0;
-#X connect 5 0 11 1;
-#X connect 6 0 11 2;
-#X connect 8 0 11 0;
-#X connect 9 0 2 0;
-#X connect 10 0 9 0;
-#X connect 11 0 0 1;
-#X connect 12 0 11 3;
-#X connect 13 0 1 0;
-#X connect 14 0 3 0;
-#X connect 14 0 4 0;
-#X connect 14 0 11 5;
-#X connect 15 0 14 0;
-#X restore 27 398 pd render _____________________;
-#X text 288 6 Made by Cyrille Henry 2008 10 24;
-#N canvas 6 50 812 549 shader_render 0;
-#X obj 315 429 pix_texture;
-#X obj 67 256 gemframebuffer;
-#X obj 67 443 pix_texture;
-#X obj 67 305 translateXYZ 0 0 -4;
-#X obj 67 462 square 4;
-#X obj 85 369 loadbang;
-#N canvas 224 312 1052 398 init 0;
-#X obj 14 130 outlet;
-#X obj 14 30 inlet;
-#X obj 14 53 spigot 1;
-#X obj 31 81 t b;
-#X msg 67 31 0;
-#X msg 14 104 rectangle 1 \, type BYTE \, format RGB32 \, dim 256 256
-;
-#X connect 1 0 2 0;
-#X connect 2 0 5 0;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 4 0 2 1;
-#X connect 5 0 0 0;
-#X restore 99 223 pd init;
-#N canvas 573 206 496 427 shader 0;
-#X obj 32 264 glsl_program;
-#X obj 126 187 change;
-#X obj 126 233 print linking;
-#X obj 32 167 glsl_fragment;
-#X msg 126 208 link \$1;
-#N canvas 0 0 450 300 load_shader 0;
-#X obj 89 99 t b b;
-#X msg 119 126 0;
-#X obj 89 154 outlet;
-#X obj 89 71 gemhead 30;
-#X connect 0 0 2 0;
-#X connect 0 1 1 0;
-#X connect 1 0 3 0;
-#X connect 3 0 0 0;
-#X restore 120 89 pd load_shader;
-#X obj 32 36 inlet;
-#X obj 32 333 outlet;
-#X obj 155 18 inlet;
-#N canvas 0 0 450 300 init_shader 0;
-#X obj 89 154 outlet;
-#X obj 89 45 inlet;
-#X obj 89 73 change;
-#X obj 89 100 t b;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 3 0 0 0;
-#X restore 113 288 pd init_shader;
-#X obj 278 25 inlet;
-#X obj 113 318 outlet;
-#X msg 43 143 open interpol.frag;
-#X connect 0 0 7 0;
-#X connect 0 1 9 0;
-#X connect 1 0 4 0;
-#X connect 3 0 0 0;
-#X connect 3 1 1 0;
-#X connect 4 0 0 0;
-#X connect 4 0 2 0;
-#X connect 5 0 12 0;
-#X connect 6 0 3 0;
-#X connect 8 0 12 0;
-#X connect 9 0 11 0;
-#X connect 10 0 0 0;
-#X connect 12 0 3 0;
-#X restore 67 175 pd shader;
-#X obj 92 156 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
--1;
-#X obj 146 134 t b;
-#X msg 146 155 texture_mass 1;
-#N canvas 4 78 301 465 shader 0;
-#X obj 110 298 pack 0 0;
-#X obj 131 278 t b f;
-#X msg 110 321 link \$1 \$2;
-#X floatatom 131 259 2 0 0 0 ID - -;
-#X floatatom 110 158 2 0 0 0 ID - -;
-#X obj 128 342 print linking;
-#X obj 74 70 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
--1;
-#X obj 38 213 glsl_fragment;
-#X obj 38 116 glsl_vertex;
-#X obj 110 135 change;
-#X obj 131 233 change;
-#X obj 38 371 glsl_program;
-#N canvas 703 231 450 300 load_glsl 0;
-#X obj 51 22 gemhead;
-#X obj 51 98 outlet;
-#X obj 51 50 route gem_state;
-#X obj 51 74 route 1;
-#X connect 0 0 2 0;
-#X connect 2 0 3 0;
-#X connect 3 0 1 0;
-#X restore 74 45 pd load_glsl;
-#X obj 41 13 inlet;
-#X obj 37 397 outlet;
-#X obj 150 10 inlet;
-#X obj 265 14 inlet;
-#N canvas 0 0 450 300 init_shader 0;
-#X obj 89 154 outlet;
-#X obj 89 45 inlet;
-#X obj 89 73 change;
-#X obj 89 100 t b;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 3 0 0 0;
-#X restore 107 399 pd init_shader;
-#X obj 107 429 outlet;
-#X msg 52 94 open fetching2.vert;
-#X msg 48 183 open fetching2.frag;
-#X connect 0 0 2 0;
-#X connect 1 0 0 0;
-#X connect 1 1 0 1;
-#X connect 2 0 5 0;
-#X connect 2 0 11 0;
-#X connect 3 0 1 0;
-#X connect 4 0 0 0;
-#X connect 6 0 19 0;
-#X connect 6 0 20 0;
-#X connect 7 0 11 0;
-#X connect 7 1 10 0;
-#X connect 8 0 7 0;
-#X connect 8 1 9 0;
-#X connect 9 0 4 0;
-#X connect 10 0 3 0;
-#X connect 11 0 14 0;
-#X connect 11 1 17 0;
-#X connect 12 0 6 0;
-#X connect 13 0 8 0;
-#X connect 15 0 6 0;
-#X connect 16 0 11 0;
-#X connect 17 0 18 0;
-#X connect 19 0 8 0;
-#X connect 20 0 7 0;
-#X restore 315 208 pd shader;
-#X obj 345 185 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
--1 -1;
-#X obj 387 229 t b;
-#X obj 315 116 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
-1;
-#X obj 147 114 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
--1 -1;
-#X obj 163 278 s texture_interpol;
-#X obj 315 96 r aff_drapeau;
-#X obj 67 102 gemhead 31;
-#X obj 315 135 gemhead 51;
-#X obj 410 25 inlet;
-#X obj 410 156 delay 1000;
-#X obj 315 461 mesh_square 92 64;
-#X obj 315 156 alpha;
-#X obj 315 316 scaleXYZ 15 15 15;
-#X obj 315 286 translateXYZ 0 0.55 -8;
-#X msg 327 399 quality 0;
-#X msg 521 258 draw line;
-#X msg 521 238 draw default;
-#X msg 522 279 draw point;
-#X floatatom 485 203 5 0 0 0 - - -;
-#X obj 485 28 inlet;
-#X obj 327 365 loadbang;
-#X obj 67 198 t a b;
-#X msg 410 185 texture 4;
-#X msg 85 396 rectangle 1 \, quality 0;
-#X obj 637 140 loadbang;
-#X msg 637 162 15;
-#X obj 637 184 s \$0-scale;
-#X connect 0 0 22 0;
-#X connect 1 0 3 0;
-#X connect 1 1 0 1;
-#X connect 1 1 2 1;
-#X connect 1 1 16 0;
-#X connect 2 0 4 0;
-#X connect 3 0 2 0;
-#X connect 5 0 35 0;
-#X connect 6 0 1 0;
-#X connect 7 0 33 0;
-#X connect 7 1 15 0;
-#X connect 8 0 7 1;
-#X connect 9 0 10 0;
-#X connect 10 0 7 2;
-#X connect 11 0 25 0;
-#X connect 11 1 13 0;
-#X connect 12 0 11 1;
-#X connect 13 0 34 0;
-#X connect 14 0 19 0;
-#X connect 15 0 9 0;
-#X connect 17 0 14 0;
-#X connect 18 0 7 0;
-#X connect 19 0 23 0;
-#X connect 20 0 21 0;
-#X connect 20 0 12 0;
-#X connect 20 0 8 0;
-#X connect 21 0 34 0;
-#X connect 23 0 11 0;
-#X connect 24 0 0 0;
-#X connect 25 0 24 0;
-#X connect 26 0 0 0;
-#X connect 27 0 22 0;
-#X connect 28 0 22 0;
-#X connect 29 0 22 0;
-#X connect 30 0 24 1;
-#X connect 30 0 24 2;
-#X connect 30 0 24 3;
-#X connect 31 0 30 0;
-#X connect 32 0 26 0;
-#X connect 33 0 1 0;
-#X connect 33 1 6 0;
-#X connect 34 0 11 2;
-#X connect 35 0 2 0;
-#X connect 36 0 37 0;
-#X connect 37 0 38 0;
-#X restore 27 304 pd shader_render ______________;
-#X text 12 6 "Potential Flag" \, by Samuel Bianchini;
-#X floatatom 606 304 5 0 0 0 - - -;
-#X obj 606 324 * 10;
-#N canvas 830 53 450 300 Gem.init 0;
-#X obj 26 3 loadbang;
-#X msg 26 26 perspec -1 1 -1 1 10 100;
-#X obj 26 124 t a;
-#X obj 25 153 outlet;
-#X msg 55 77 dimen 800 600;
-#X msg 37 51 FSAA 5;
-#X connect 0 0 1 0;
-#X connect 0 0 5 0;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 4 0 2 0;
-#X connect 5 0 2 0;
-#X restore 66 188 pd Gem.init;
-#N canvas 341 104 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 1 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X obj 318 255 gemwin 30;
-#X msg 441 219 color 0.2 0.3 0.5;
-#X msg 443 257 dimen 1024 768;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 7 0;
-#X connect 6 0 7 0;
-#X connect 7 0 17 0;
-#X connect 7 1 9 0;
-#X connect 9 0 10 0;
-#X connect 9 1 12 0;
-#X connect 10 0 11 0;
-#X connect 11 0 14 0;
-#X connect 12 0 13 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 0 0;
-#X connect 17 0 8 0;
-#X connect 18 0 17 0;
-#X connect 19 0 17 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 47 209 pd gemwin 30;
-#X floatatom 210 282 5 0 0 0 scale-> #0-scale -;
-#X obj 6 325 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
--1;
-#N canvas 290 239 395 502 shader_normal 0;
-#X obj 51 233 gemframebuffer;
-#X obj 51 347 pix_texture;
-#X obj 51 276 translateXYZ 0 0 -4;
-#X obj 51 366 square 4;
-#X obj 67 304 loadbang;
-#N canvas 0 0 1052 398 init 0;
-#X obj 14 140 outlet;
-#X obj 14 30 inlet;
-#X obj 14 55 spigot 1;
-#X obj 24 76 b;
-#X msg 67 31 0;
-#X msg 14 114 rectangle 1 \, type BYTE \, format RGB32 \, dim 128 128
-;
-#X connect 1 0 2 0;
-#X connect 2 0 5 0;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 4 0 2 1;
-#X connect 5 0 0 0;
-#X restore 83 160 pd init;
-#N canvas 555 24 496 709 shader 0;
-#X obj 32 474 glsl_program;
-#X obj 126 357 change;
-#X obj 126 443 print linking;
-#X obj 32 337 glsl_fragment;
-#N canvas 0 0 450 300 load_shader 0;
-#X obj 89 99 t b b;
-#X msg 119 126 0;
-#X obj 89 154 outlet;
-#X obj 89 71 gemhead 30;
-#X connect 0 0 2 0;
-#X connect 0 1 1 0;
-#X connect 1 0 3 0;
-#X connect 3 0 0 0;
-#X restore 134 96 pd load_shader;
-#X obj 32 36 inlet;
-#X obj 32 543 outlet;
-#X obj 175 28 inlet;
-#N canvas 0 0 450 300 init_shader 0;
-#X obj 89 154 outlet;
-#X obj 89 45 inlet;
-#X obj 89 73 change;
-#X obj 89 100 t b;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 3 0 0 0;
-#X restore 113 498 pd init_shader;
-#X obj 278 25 inlet;
-#X obj 113 528 outlet;
-#X msg 43 313 open normal.frag;
-#X obj 32 185 glsl_vertex;
-#X obj 96 122 t b b;
-#X obj 126 393 pack f f;
-#X msg 126 418 link \$1 \$2;
-#X msg 42 161 open normal.vert;
-#X connect 0 0 6 0;
-#X connect 0 1 8 0;
-#X connect 1 0 14 0;
-#X connect 3 0 0 0;
-#X connect 3 1 1 0;
-#X connect 4 0 13 0;
-#X connect 5 0 12 0;
-#X connect 7 0 13 0;
-#X connect 8 0 10 0;
-#X connect 9 0 0 0;
-#X connect 11 0 3 0;
-#X connect 12 0 3 0;
-#X connect 12 1 14 1;
-#X connect 13 0 11 0;
-#X connect 13 1 16 0;
-#X connect 14 0 15 0;
-#X connect 15 0 0 0;
-#X connect 15 0 2 0;
-#X connect 16 0 12 0;
-#X restore 51 112 pd shader;
-#X obj 76 93 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
--1;
-#X obj 143 65 t b;
-#X obj 146 45 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
--1;
-#X obj 157 252 s texture_normal;
-#X obj 51 39 gemhead 32;
-#X obj 78 189 loadbang;
-#X msg 78 208 texunit 4;
-#X msg 141 88 texture_mass 1;
-#X obj 51 136 t a b;
-#X msg 67 323 rectangle 1 \, quality 1;
-#X connect 0 0 2 0;
-#X connect 0 1 10 0;
-#X connect 0 1 1 1;
-#X connect 1 0 3 0;
-#X connect 2 0 1 0;
-#X connect 4 0 16 0;
-#X connect 5 0 0 0;
-#X connect 6 0 15 0;
-#X connect 6 1 9 0;
-#X connect 7 0 6 1;
-#X connect 8 0 14 0;
-#X connect 9 0 8 0;
-#X connect 11 0 6 0;
-#X connect 12 0 13 0;
-#X connect 13 0 0 0;
-#X connect 14 0 6 2;
-#X connect 15 0 0 0;
-#X connect 15 1 5 0;
-#X connect 16 0 1 0;
-#X restore 27 342 pd shader_normal ______________;
-#X obj 6 304 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
--1;
-#N canvas 1468 153 767 700 \$0-pad 0;
-#X msg 158 309 clear;
-#N canvas 6 50 590 367 clear-all 0;
-#X obj 89 46 inlet;
-#X obj 89 122 s pd-\$0-work;
-#X msg 89 99 clear;
-#X obj 89 72 t b;
-#X connect 0 0 3 0;
-#X connect 2 0 1 0;
-#X connect 3 0 2 0;
-#X restore 158 331 pd clear-all;
-#X obj 92 646 outlet;
-#X obj 72 171 loadbang;
-#X obj 191 411 metro 50;
-#N canvas 581 163 695 660 pointer-parser 0;
-#X obj 129 165 pointer;
-#X text 276 46 from metro;
-#X obj 282 346 t b f;
-#X obj 117 49 inlet;
-#X obj 237 48 inlet;
-#X obj 129 541 outlet;
-#X obj 129 398 pack 0 0;
-#X obj 129 193 get \$0-xy-pad-knob-1 x0 y0;
-#X obj 129 320 change -1;
-#X obj 282 325 change -1;
-#X obj 129 238 / 90;
-#X obj 282 236 / 90;
-#X obj 129 420 unpack 0 0;
-#X obj 129 442 * 2;
-#X obj 129 464 - 1;
-#X obj 129 516 pack;
-#X obj 169 442 * 2;
-#X obj 169 464 - 1;
-#X obj 384 202 set \$0-xy-pad-knob-1 x0 y0;
-#X obj 384 43 inlet set;
-#X obj 384 65 unpack;
-#X text 432 67 -1..+1;
-#X obj 384 112 + 1;
-#X obj 384 134 / 2;
-#X obj 384 156 * 90;
-#X obj 424 112 + 1;
-#X obj 424 134 / 2;
-#X floatatom 173 241 5 0 0 0 - - -;
-#X floatatom 245 524 5 0 0 0 - - -;
-#X obj 424 156 * 90;
-#X obj 169 486 * -1;
-#X connect 0 0 18 2;
-#X connect 0 0 7 0;
-#X connect 2 0 6 0;
-#X connect 2 1 6 1;
-#X connect 3 0 0 0;
-#X connect 4 0 0 0;
-#X connect 6 0 12 0;
-#X connect 7 0 10 0;
-#X connect 7 0 27 0;
-#X connect 7 1 11 0;
-#X connect 8 0 6 0;
-#X connect 9 0 2 0;
-#X connect 10 0 8 0;
-#X connect 11 0 9 0;
-#X connect 12 0 13 0;
-#X connect 12 1 16 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 14 0 28 0;
-#X connect 15 0 5 0;
-#X connect 16 0 17 0;
-#X connect 17 0 30 0;
-#X connect 19 0 20 0;
-#X connect 20 0 22 0;
-#X connect 20 1 25 0;
-#X connect 22 0 23 0;
-#X connect 23 0 24 0;
-#X connect 24 0 18 0;
-#X connect 25 0 26 0;
-#X connect 26 0 29 0;
-#X connect 29 0 18 1;
-#X connect 30 0 15 1;
-#X restore 72 448 pd pointer-parser;
-#N canvas 419 563 751 371 add-controller 0;
-#X msg 520 189 traverse \$1 \, bang;
-#X obj 520 216 pointer;
-#X obj 405 322 outlet;
-#X obj 405 21 inlet;
-#X obj 405 50 t f b;
-#X obj 520 132 symbol pd-\$0-work;
-#X obj 405 285 append \$0-xy-pad-knob-1 x0 y0 id;
-#X obj 23 35 struct \$0-xy-pad-knob-1 float x0 float y0 float id;
-#X obj 22 81 filledpolygon id 999 1 x0(0:90)(0:90) y0(0:90)(0:90) x0(0:90)(10:100)
-y0(0:90)(0:90) x0(0:90)(10:100) y0(0:90)(10:100) x0(0:90)(0:90) y0(0:90)(10:100)
-;
-#X msg 405 261 45 45 \$1;
-#X connect 0 0 1 0;
-#X connect 1 0 6 3;
-#X connect 3 0 4 0;
-#X connect 4 0 9 0;
-#X connect 4 1 5 0;
-#X connect 5 0 0 0;
-#X connect 6 0 2 0;
-#X connect 9 0 6 0;
-#X restore 72 379 pd add-controller;
-#X obj 192 391 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
-1;
-#X msg 193 370 1;
-#X obj 72 303 t f b b;
-#X text 111 233 5/10 red;
-#X text 111 248 3/10 green;
-#X text 111 263 2/10 blue;
-#X text 522 76 (c) 2010 Thomas Musil;
-#X text 521 58 (c) -2010 Frank Barknecht;
-#X msg 72 233 900;
-#X obj 162 646 outlet;
-#X text 486 42 based on: xy-pad;
-#N canvas 1444 366 450 300 xy2rphi 0;
-#X obj 46 35 inlet x y;
-#X obj 46 272 outlet r;
-#X obj 136 266 outlet phi;
-#X text 244 77 r=sqrt(x^2+y^2);
-#X text 246 97 phi=atan2(y \, x);
-#X obj 102 106 t f f f;
-#X obj 102 129 *;
-#X obj 46 169 +;
-#X obj 46 106 t f f f;
-#X obj 46 129 *;
-#X obj 46 201 sqrt;
-#X obj 136 157 pack;
-#X obj 136 196 atan2;
-#X msg 136 177 \$2 \$1;
-#X obj 46 61 unpack 0 0;
-#X text 147 282 in rad;
-#X connect 0 0 14 0;
-#X connect 5 0 6 0;
-#X connect 5 1 6 1;
-#X connect 5 2 11 1;
-#X connect 6 0 7 1;
-#X connect 7 0 10 0;
-#X connect 8 0 9 0;
-#X connect 8 1 9 1;
-#X connect 8 2 11 0;
-#X connect 9 0 7 0;
-#X connect 10 0 1 0;
-#X connect 11 0 13 0;
-#X connect 12 0 2 0;
-#X connect 13 0 12 0;
-#X connect 14 0 8 0;
-#X connect 14 1 5 0;
-#X restore 394 485 pd xy2rphi;
-#X obj 92 530 t l l;
-#X obj 92 552 unpack 0 0;
-#X obj 387 102 inlet r;
-#X obj 456 103 inlet phi;
-#X obj 444 333 t f f;
-#X obj 444 357 cos;
-#X obj 387 354 t f f;
-#X obj 387 390 * 1;
-#X obj 417 389 * 0;
-#X obj 387 277 unpack 0 0;
-#X obj 387 254 pack;
-#X obj 456 225 t b f;
-#X obj 471 356 sin;
-#X obj 387 412 pack;
-#X obj 387 204 t f;
-#X obj 387 226 clip 0 1;
-#X obj 304 74 cnv 10 12 12 empty empty empty 20 12 0 14 -99865 -66577
-0;
-#N canvas 493 264 450 300 \$0-work 0;
-#X scalar 1002-xy-pad-knob-1 0 42 900 \;;
-#X coords 0 100 100 0 100 100 2 0 0;
-#X restore 260 30 pd \$0-work;
-#X obj 451 532 wrap;
-#X obj 72 193 t b b;
-#X obj 608 163 atan2;
-#X msg 608 138 1 0;
-#X obj 608 185 * 4;
-#X obj 608 207 t f f;
-#X obj 378 612 s \$0-force;
-#X obj 451 632 s \$0-direction;
-#X msg 451 554 set \$1;
-#X msg 378 564 set \$1;
-#X obj 451 507 / 6.28;
-#X obj 444 309 * -6.28;
-#X obj 394 507 t f f;
-#X obj 337 537 s force_wind;
-#X connect 0 0 1 0;
-#X connect 3 0 38 0;
-#X connect 4 0 5 1;
-#X connect 5 0 19 0;
-#X connect 6 0 5 0;
-#X connect 7 0 4 0;
-#X connect 8 0 7 0;
-#X connect 9 0 6 0;
-#X connect 9 1 8 0;
-#X connect 9 2 0 0;
-#X connect 15 0 9 0;
-#X connect 18 0 49 0;
-#X connect 18 1 47 0;
-#X connect 19 0 20 0;
-#X connect 19 1 18 0;
-#X connect 20 0 2 0;
-#X connect 20 1 16 0;
-#X connect 21 0 33 0;
-#X connect 22 0 30 0;
-#X connect 23 0 24 0;
-#X connect 23 1 31 0;
-#X connect 24 0 26 1;
-#X connect 25 0 26 0;
-#X connect 25 1 27 0;
-#X connect 26 0 32 0;
-#X connect 27 0 32 1;
-#X connect 28 0 25 0;
-#X connect 28 1 48 0;
-#X connect 29 0 28 0;
-#X connect 30 0 29 0;
-#X connect 30 1 29 1;
-#X connect 31 0 27 1;
-#X connect 32 0 5 2;
-#X connect 33 0 34 0;
-#X connect 34 0 29 0;
-#X connect 37 0 45 0;
-#X connect 38 0 15 0;
-#X connect 38 1 40 0;
-#X connect 39 0 41 0;
-#X connect 40 0 39 0;
-#X connect 41 0 42 0;
-#X connect 42 0 48 1;
-#X connect 42 1 47 1;
-#X connect 45 0 44 0;
-#X connect 46 0 43 0;
-#X connect 47 0 37 0;
-#X connect 48 0 23 0;
-#X connect 49 0 50 0;
-#X connect 49 1 46 0;
-#X coords 0 -1 1 1 100 100 2 260 30;
-#X restore 445 290 pd \$0-pad;
-#X obj 445 151 vsl 15 128 0 1 0 0 empty \$0-force force 0 -9 0 10 -262144
--1 -1 12700 1;
-#X obj 538 152 vsl 15 128 0 1 0 0 empty \$0-direction direction 0 -9
-0 10 -262144 -1 -1 6219 1;
-#N canvas 424 571 337 368 wind-control. 0;
-#X obj 41 82 pack f f;
-#X msg 41 104 wind \$1 \$2;
-#X obj 41 126 s shader_link;
-#X obj 41 30 inlet;
-#X obj 105 32 inlet;
-#X obj 181 304 s oscillation1;
-#X obj 41 58 / 11000;
-#X obj 105 58 / 11000;
-#X obj 181 187 *;
-#X obj 181 164 t f f;
-#X obj 181 212 +;
-#X obj 181 236 sqrt;
-#X obj 231 187 *;
-#X obj 231 164 t f f;
-#X obj 181 259 * 600;
-#X obj 181 281 min 300;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X connect 3 0 6 0;
-#X connect 3 0 9 0;
-#X connect 4 0 7 0;
-#X connect 4 0 13 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 1;
-#X connect 8 0 10 0;
-#X connect 9 0 8 0;
-#X connect 9 1 8 1;
-#X connect 10 0 11 0;
-#X connect 11 0 14 0;
-#X connect 12 0 10 1;
-#X connect 13 0 12 0;
-#X connect 13 1 12 1;
-#X connect 14 0 15 0;
-#X connect 15 0 5 0;
-#X restore 445 397 pd wind-control.;
-#X text 28 20 Simple version for Gem examples;
-#X text 29 34 Did work under Linux \, with Nvidia driver. I don't know
-on other OS/hardware.;
-#X text 29 72 This patch is quite huge. the GPU compute the position
-of 64x92 masses \, and 64x92x12 links at 50x20 Hz. (about 7e+07 links/sec
-\, so about 100 time faster than what is curently possible with MSD
-on a CPU) (My GPU is old \, this patch performs 10 to 50 times faster
-on a good GPU);
-#X obj 606 346 s qqt_noise;
-#X connect 0 0 5 0;
-#X connect 2 0 1 0;
-#X connect 9 0 10 0;
-#X connect 10 0 24 0;
-#X connect 11 0 12 0;
-#X connect 13 0 7 1;
-#X connect 14 0 3 0;
-#X connect 16 0 7 0;
-#X connect 17 0 20 0;
-#X connect 17 1 20 1;
-#X connect 18 0 17 0;
-#X connect 19 0 17 1;
+#N struct 1002-xy-pad-knob-1 float x0 float y0 float id;
+#N canvas 282 291 918 594 10;
+#X obj 27 380 hradio 15 1 0 5 empty empty empty 0 -8 0 10 -262144 -1
+-1 0;
+#X floatatom 185 212 5 0 0 0 - - -;
+#N canvas 4 106 187 219 fps 0;
+#X obj 22 62 realtime;
+#X obj 22 41 t b b;
+#X obj 22 19 gemhead;
+#X obj 22 170 outlet;
+#X msg 22 84 1000 \$1;
+#X obj 22 105 /;
+#X obj 22 126 + 0.5;
+#X obj 22 147 i;
+#X connect 0 0 4 0;
+#X connect 1 0 0 0;
+#X connect 1 1 0 1;
+#X connect 2 0 1 0;
+#X connect 4 0 5 0;
+#X connect 5 0 6 0;
+#X connect 6 0 7 0;
+#X connect 7 0 3 0;
+#X restore 185 192 pd fps;
+#N canvas 93 66 1183 666 shaders_PM 0;
+#X obj 718 34 gemhead;
+#X obj 718 57 route gem_state;
+#X obj 718 79 route 1 0;
+#X obj 24 477 translateXYZ 0 0 -4;
+#X obj 24 609 square 4;
+#X msg 50 399 texunit 1;
+#X obj 50 378 loadbang;
+#N canvas 573 206 607 627 shader 0;
+#X obj 126 247 change;
+#X obj 126 323 print linking;
+#X obj 32 227 glsl_fragment;
+#N canvas 0 0 450 300 load_shader 0;
+#X obj 89 99 t b b;
+#X msg 119 126 0;
+#X obj 89 154 outlet;
+#X obj 89 71 gemhead 1;
+#X connect 0 0 2 0;
+#X connect 0 1 1 0;
+#X connect 1 0 3 0;
+#X connect 3 0 0 0;
+#X restore 148 49 pd load_shader;
+#X obj 32 36 inlet;
+#X obj 32 423 outlet;
+#X obj 155 18 inlet;
+#N canvas 0 0 450 300 init_shader 0;
+#X obj 89 154 outlet;
+#X obj 89 45 inlet;
+#X obj 89 73 change;
+#X obj 89 100 t b;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 0 0;
+#X restore 113 378 pd init_shader;
+#X obj 278 25 inlet;
+#X obj 113 408 outlet;
+#X msg 42 203 open mass.frag;
+#X obj 32 354 glsl_program;
+#X obj 32 137 glsl_vertex;
+#X msg 42 113 open mass.vert;
+#X obj 94 74 t b b;
+#X obj 126 272 pack f f;
+#X msg 126 296 link \$1 \$2;
+#X connect 0 0 15 0;
+#X connect 2 0 11 0;
+#X connect 2 1 0 0;
+#X connect 3 0 14 0;
+#X connect 4 0 12 0;
+#X connect 6 0 14 0;
+#X connect 7 0 9 0;
+#X connect 8 0 11 0;
+#X connect 10 0 2 0;
+#X connect 11 0 5 0;
+#X connect 11 1 7 0;
+#X connect 12 0 2 0;
+#X connect 12 1 15 1;
+#X connect 13 0 12 0;
+#X connect 14 0 10 0;
+#X connect 14 1 13 0;
+#X connect 15 0 16 0;
+#X connect 16 0 1 0;
+#X connect 16 0 11 0;
+#X restore 24 257 pd shader;
+#X obj 53 234 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 506 468 translateXYZ 0 0 -4;
+#X obj 506 610 square 4;
+#X obj 261 477 translateXYZ 0 0 -4;
+#X obj 290 368 loadbang;
+#N canvas 1062 27 528 709 shader 0;
+#X obj 32 384 glsl_program;
+#X obj 32 36 inlet;
+#X obj 32 453 outlet;
+#X obj 155 18 inlet;
+#N canvas 0 0 450 300 init_shader 0;
+#X obj 89 154 outlet;
+#X obj 89 45 inlet;
+#X obj 89 73 change;
+#X obj 89 100 t b;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 0 0;
+#X restore 113 408 pd init_shader;
+#X obj 278 25 inlet;
+#X obj 113 438 outlet;
+#X obj 126 247 change;
+#X obj 126 323 print linking;
+#X obj 32 227 glsl_fragment;
+#N canvas 0 0 450 300 load_shader 0;
+#X obj 89 99 t b b;
+#X msg 119 126 0;
+#X obj 89 154 outlet;
+#X obj 89 71 gemhead 1;
+#X connect 0 0 2 0;
+#X connect 0 1 1 0;
+#X connect 1 0 3 0;
+#X connect 3 0 0 0;
+#X restore 148 49 pd load_shader;
+#X obj 32 137 glsl_vertex;
+#X obj 94 74 t b b;
+#X obj 126 272 pack f f;
+#X msg 126 296 link \$1 \$2;
+#X msg 42 113 open link.vert;
+#X msg 42 203 open link.frag;
+#X connect 0 0 2 0;
+#X connect 0 1 4 0;
+#X connect 1 0 11 0;
+#X connect 3 0 12 0;
+#X connect 4 0 6 0;
+#X connect 5 0 0 0;
+#X connect 7 0 13 0;
+#X connect 9 0 0 0;
+#X connect 9 1 7 0;
+#X connect 10 0 12 0;
+#X connect 11 0 9 0;
+#X connect 11 1 13 1;
+#X connect 12 0 16 0;
+#X connect 12 1 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 8 0;
+#X connect 14 0 0 0;
+#X connect 15 0 11 0;
+#X connect 16 0 9 0;
+#X restore 261 256 pd shader;
+#X obj 292 231 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 280 539 loadbang;
+#X obj 119 448 s texture_mass;
+#X obj 359 444 s texture_link;
+#X obj 530 373 loadbang;
+#X msg 530 394 texunit 2;
+#X msg 286 390 texunit 3;
+#X obj 601 440 s texture_mass2;
+#X obj 321 229 r shader_link;
+#X obj 321 277 s init_shader_link;
+#X obj 261 612 square 4;
+#X obj 613 34 inlet;
+#X obj 24 201 gemhead 2;
+#X obj 261 185 gemhead 11;
+#X obj 506 236 gemhead 21;
+#X msg 41 561 rectangle 1 \, quality 0;
+#X msg 280 560 rectangle 1 \, quality 0;
+#X obj 615 58 t b b;
+#X obj 658 36 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 621 113 s init_shader_link;
+#X obj 84 233 r shader_mass;
+#X obj 84 281 s init_shader_mass;
+#X obj 601 140 s init_shader_mass;
+#X obj 261 589 pix_texture;
+#X obj 261 418 gemframebuffer;
+#X obj 24 588 pix_texture;
+#X obj 24 425 gemframebuffer;
+#X obj 65 310 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 506 418 gemframebuffer;
+#X obj 524 513 loadbang;
+#X msg 524 532 rectangle 1 \, quality 0;
+#X obj 506 588 pix_texture;
+#X obj 580 565 r texture_mass;
+#X obj 103 260 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 341 251 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 616 79 delay 500;
+#N canvas 0 0 446 324 init_fb 0;
+#X msg 100 173 type BYTE;
+#X msg 78 151 format RGB32;
+#X obj 46 121 t b b;
+#X obj 78 261 t a;
+#X obj 78 285 outlet;
+#X msg 137 215 rectangle 1;
+#X msg 46 196 dimen 128 128;
+#X obj 46 11 inlet;
+#X msg 137 42 0;
+#X obj 46 49 spigot 1;
+#X obj 46 72 t a b;
+#X connect 0 0 3 0;
+#X connect 1 0 3 0;
+#X connect 2 0 6 0;
+#X connect 2 1 1 0;
+#X connect 2 1 0 0;
+#X connect 2 1 5 0;
+#X connect 3 0 4 0;
+#X connect 5 0 3 0;
+#X connect 6 0 3 0;
+#X connect 7 0 9 0;
+#X connect 8 0 9 1;
+#X connect 9 0 10 0;
+#X connect 10 0 2 0;
+#X connect 10 1 8 0;
+#X restore 56 337 pd init_fb;
+#X obj 24 306 t a b;
+#X obj 302 300 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#N canvas 0 0 450 300 init_fb 0;
+#X msg 100 153 type BYTE;
+#X msg 78 131 format RGB32;
+#X obj 46 101 t b b;
+#X obj 78 241 t a;
+#X obj 78 265 outlet;
+#X msg 137 195 rectangle 1;
+#X msg 46 176 dimen 128 128;
+#X obj 46 11 inlet;
+#X msg 137 42 0;
+#X obj 46 49 spigot 1;
+#X obj 46 72 t a b;
+#X connect 0 0 3 0;
+#X connect 1 0 3 0;
+#X connect 2 0 6 0;
+#X connect 2 1 1 0;
+#X connect 2 1 0 0;
+#X connect 2 1 5 0;
+#X connect 3 0 4 0;
+#X connect 5 0 3 0;
+#X connect 6 0 3 0;
+#X connect 7 0 9 0;
+#X connect 8 0 9 1;
+#X connect 9 0 10 0;
+#X connect 10 0 2 0;
+#X connect 10 1 8 0;
+#X restore 293 327 pd init_fb;
+#X obj 261 296 t a b;
+#X obj 547 298 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#N canvas 0 0 450 300 init_fb 0;
+#X msg 100 153 type BYTE;
+#X msg 78 131 format RGB32;
+#X obj 46 101 t b b;
+#X obj 78 241 t a;
+#X obj 78 265 outlet;
+#X msg 137 195 rectangle 1;
+#X msg 46 176 dimen 128 128;
+#X obj 46 11 inlet;
+#X msg 137 42 0;
+#X obj 46 49 spigot 1;
+#X obj 46 72 t a b;
+#X connect 0 0 3 0;
+#X connect 1 0 3 0;
+#X connect 2 0 6 0;
+#X connect 2 1 1 0;
+#X connect 2 1 0 0;
+#X connect 2 1 5 0;
+#X connect 3 0 4 0;
+#X connect 5 0 3 0;
+#X connect 6 0 3 0;
+#X connect 7 0 9 0;
+#X connect 8 0 9 1;
+#X connect 9 0 10 0;
+#X connect 10 0 2 0;
+#X connect 10 1 8 0;
+#X restore 538 325 pd init_fb;
+#X obj 506 294 t a b;
+#X obj 32 29 gemhead 2;
+#X msg 271 106 0;
+#X obj 271 82 loadbang;
+#X msg 33 59 20;
+#X obj 32 90 until;
+#X obj 44 540 loadbang;
+#X msg 804 378 init \$1;
+#X floatatom 804 360 5 0 1 0 - - -;
+#X obj 762 371 t b;
+#X obj 762 254 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X msg 762 407 texture_link 3;
+#X msg 804 338 1;
+#X msg 950 229 gravite \$1;
+#X floatatom 948 189 5 0 0 0 - - -;
+#X floatatom 1012 190 5 0 0 0 - - -;
+#X msg 1012 206 D \$1;
+#X msg 1063 208 K1 \$1;
+#X floatatom 1062 189 5 0 0 0 - - -;
+#X obj 948 207 / 100;
+#X obj 950 251 t a;
+#X obj 950 526 s shader_link;
+#X obj 952 90 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 952 70 r init_shader_link;
+#X obj 950 146 t b;
+#X obj 952 127 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X msg 1059 168 0.05;
+#X msg 950 169 -0.0025;
+#X msg 1009 170 0.004;
+#X obj 842 314 delay 1000;
+#X msg 842 337 0;
+#X obj 762 454 s shader_mass;
+#X obj 762 225 r init_shader_mass;
+#X obj 804 286 t b;
+#X msg 992 362 init \$1;
+#X floatatom 992 344 5 0 1 0 - - -;
+#X msg 992 322 1;
+#X obj 1030 298 delay 1000;
+#X msg 1030 321 0;
+#X obj 991 270 t b;
+#X msg 1049 470 texture_mass 1;
+#X msg 1040 496 texture_mass_old 2;
+#X obj 1040 419 t b;
+#X msg 771 426 texture_mass_old 2;
+#X msg 1071 391 N \$1;
+#X msg 1071 367 0.01;
+#X msg 1121 368 0;
+#X obj 1078 340 delay 100;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 2 0 31 0;
+#X connect 3 0 39 0;
+#X connect 5 0 40 0;
+#X connect 6 0 5 0;
+#X connect 7 0 51 0;
+#X connect 7 1 35 0;
+#X connect 8 0 7 1;
+#X connect 9 0 45 0;
+#X connect 11 0 37 0;
+#X connect 12 0 20 0;
+#X connect 13 0 54 0;
+#X connect 13 1 23 0;
+#X connect 14 0 13 1;
+#X connect 15 0 30 0;
+#X connect 18 0 19 0;
+#X connect 19 0 42 0;
+#X connect 20 0 38 0;
+#X connect 22 0 13 2;
+#X connect 25 0 31 0;
+#X connect 26 0 7 0;
+#X connect 27 0 13 0;
+#X connect 28 0 57 0;
+#X connect 29 0 39 0;
+#X connect 30 0 37 0;
+#X connect 31 0 49 0;
+#X connect 31 1 8 0;
+#X connect 31 1 14 0;
+#X connect 32 0 31 0;
+#X connect 34 0 7 2;
+#X connect 37 0 24 0;
+#X connect 38 0 11 0;
+#X connect 38 1 17 0;
+#X connect 38 1 37 1;
+#X connect 39 0 4 0;
+#X connect 40 0 3 0;
+#X connect 40 1 16 0;
+#X connect 40 1 39 1;
+#X connect 41 0 50 0;
+#X connect 42 0 9 0;
+#X connect 42 1 21 0;
+#X connect 43 0 44 0;
+#X connect 44 0 45 0;
+#X connect 45 0 10 0;
+#X connect 46 0 45 1;
+#X connect 47 0 35 0;
+#X connect 48 0 23 0;
+#X connect 49 0 33 0;
+#X connect 49 0 36 0;
+#X connect 50 0 40 0;
+#X connect 51 0 40 0;
+#X connect 51 1 50 0;
+#X connect 52 0 53 0;
+#X connect 53 0 38 0;
+#X connect 54 0 38 0;
+#X connect 54 1 53 0;
+#X connect 55 0 56 0;
+#X connect 56 0 42 0;
+#X connect 57 0 42 0;
+#X connect 57 1 56 0;
+#X connect 58 0 61 0;
+#X connect 59 0 26 0;
+#X connect 59 0 27 0;
+#X connect 59 0 28 0;
+#X connect 60 0 59 0;
+#X connect 61 0 62 0;
+#X connect 62 0 26 0;
+#X connect 62 0 27 0;
+#X connect 62 0 28 0;
+#X connect 63 0 29 0;
+#X connect 64 0 88 0;
+#X connect 65 0 64 0;
+#X connect 66 0 68 0;
+#X connect 66 0 100 0;
+#X connect 67 0 66 0;
+#X connect 67 0 90 0;
+#X connect 68 0 88 0;
+#X connect 69 0 65 0;
+#X connect 70 0 77 0;
+#X connect 71 0 76 0;
+#X connect 72 0 73 0;
+#X connect 73 0 77 0;
+#X connect 74 0 77 0;
+#X connect 75 0 74 0;
+#X connect 76 0 70 0;
+#X connect 77 0 78 0;
+#X connect 79 0 82 0;
+#X connect 79 0 96 0;
+#X connect 80 0 79 0;
+#X connect 81 0 84 0;
+#X connect 81 0 85 0;
+#X connect 81 0 83 0;
+#X connect 82 0 81 0;
+#X connect 83 0 75 0;
+#X connect 84 0 71 0;
+#X connect 85 0 72 0;
+#X connect 86 0 87 0;
+#X connect 87 0 65 0;
+#X connect 89 0 67 0;
+#X connect 90 0 69 0;
+#X connect 90 0 86 0;
+#X connect 91 0 78 0;
+#X connect 92 0 91 0;
+#X connect 93 0 92 0;
+#X connect 94 0 95 0;
+#X connect 94 0 102 0;
+#X connect 94 0 104 0;
+#X connect 95 0 92 0;
+#X connect 96 0 93 0;
+#X connect 96 0 94 0;
+#X connect 96 0 99 0;
+#X connect 97 0 78 0;
+#X connect 98 0 78 0;
+#X connect 99 0 97 0;
+#X connect 99 0 98 0;
+#X connect 100 0 88 0;
+#X connect 101 0 78 0;
+#X connect 102 0 101 0;
+#X connect 103 0 101 0;
+#X connect 104 0 103 0;
+#X restore 27 323 pd shaders_PM _________________;
+#N canvas 267 495 450 300 config 0;
+#X msg 16 75 W \$1;
+#X floatatom 225 101 5 0 0 0 - - -;
+#X msg 225 120 f \$1;
+#X obj 133 155 t a;
+#X msg 133 83 N \$1;
+#X text 141 101 bruit;
+#X obj 16 53 / 11000;
+#X obj 225 78 + 5;
+#X obj 225 55 * 5;
+#X obj 133 61 / 5000;
+#X msg 338 120 t \$1;
+#X obj 338 31 gemhead 77;
+#X obj 338 56 t b;
+#X obj 338 79 f;
+#X obj 338 99 + 0.3;
+#X obj 338 141 s shader_link;
+#X obj 133 181 s shader_link;
+#X obj 16 29 r oscillation1;
+#X obj 133 31 r qqt_noise;
+#X obj 225 31 r force_wind;
+#X connect 0 0 3 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 16 0;
+#X connect 4 0 3 0;
+#X connect 6 0 0 0;
+#X connect 7 0 1 0;
+#X connect 8 0 7 0;
+#X connect 9 0 4 0;
+#X connect 10 0 15 0;
+#X connect 11 0 12 0;
+#X connect 12 0 13 0;
+#X connect 13 0 14 0;
+#X connect 14 0 13 1;
+#X connect 14 0 10 0;
+#X connect 17 0 6 0;
+#X connect 18 0 9 0;
+#X connect 19 0 8 0;
+#X restore 27 361 pd config _____________________;
+#N canvas 0 0 450 300 render 0;
+#X obj 43 137 pix_texture;
+#X obj 43 181 square 4;
+#X obj 43 115 gemhead 66;
+#X obj 241 120 != 0;
+#X obj 210 119 == 0;
+#X obj 133 58 r texture_link;
+#X obj 146 77 r texture_interpol;
+#X obj 210 146 s aff_drapeau;
+#X obj 120 39 r texture_mass;
+#X msg 43 94 0;
+#X obj 43 73 loadbang;
+#N canvas 0 0 656 297 spigot4 0;
+#X obj 40 21 inlet;
+#X obj 458 22 inlet;
+#X obj 40 179 outlet;
+#X obj 113 24 inlet;
+#X obj 112 91 spigot 0;
+#X obj 196 24 inlet;
+#X obj 195 91 spigot 0;
+#X obj 86 68 == 1;
+#X obj 159 71 == 2;
+#X obj 240 71 == 3;
+#X obj 40 88 spigot 0;
+#X obj 283 29 inlet;
+#X obj 282 96 spigot 0;
+#X obj 327 76 == 4;
+#X obj 361 32 inlet;
+#X obj 360 99 spigot 0;
+#X obj 405 79 == 5;
+#X connect 0 0 10 0;
+#X connect 1 0 7 0;
+#X connect 1 0 8 0;
+#X connect 1 0 9 0;
+#X connect 1 0 13 0;
+#X connect 1 0 16 0;
+#X connect 3 0 4 0;
+#X connect 4 0 2 0;
+#X connect 5 0 6 0;
+#X connect 6 0 2 0;
+#X connect 7 0 10 1;
+#X connect 8 0 4 1;
+#X connect 9 0 6 1;
+#X connect 10 0 2 0;
+#X connect 11 0 12 0;
+#X connect 12 0 2 0;
+#X connect 13 0 12 1;
+#X connect 14 0 15 0;
+#X connect 15 0 2 0;
+#X connect 16 0 15 1;
+#X restore 120 115 pd spigot4;
+#X obj 160 96 r texture_normal;
+#X obj 43 160 translateXYZ 0 0 -40;
+#X obj 240 27 f;
+#X obj 238 5 inlet;
+#X connect 0 0 13 0;
+#X connect 2 0 0 0;
+#X connect 3 0 2 0;
+#X connect 4 0 7 0;
+#X connect 5 0 11 1;
+#X connect 6 0 11 2;
+#X connect 8 0 11 0;
+#X connect 9 0 2 0;
+#X connect 10 0 9 0;
+#X connect 11 0 0 1;
+#X connect 12 0 11 3;
+#X connect 13 0 1 0;
+#X connect 14 0 3 0;
+#X connect 14 0 4 0;
+#X connect 14 0 11 5;
+#X connect 15 0 14 0;
+#X restore 27 398 pd render _____________________;
+#X text 288 6 Made by Cyrille Henry 2008 10 24;
+#N canvas 6 50 812 549 shader_render 0;
+#X obj 315 429 pix_texture;
+#X obj 67 256 gemframebuffer;
+#X obj 67 443 pix_texture;
+#X obj 67 305 translateXYZ 0 0 -4;
+#X obj 67 462 square 4;
+#X obj 85 369 loadbang;
+#N canvas 224 312 1052 398 init 0;
+#X obj 14 130 outlet;
+#X obj 14 30 inlet;
+#X obj 14 53 spigot 1;
+#X obj 31 81 t b;
+#X msg 67 31 0;
+#X msg 14 104 rectangle 1 \, type BYTE \, format RGB32 \, dim 256 256
+;
+#X connect 1 0 2 0;
+#X connect 2 0 5 0;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 4 0 2 1;
+#X connect 5 0 0 0;
+#X restore 99 223 pd init;
+#N canvas 573 206 496 427 shader 0;
+#X obj 32 264 glsl_program;
+#X obj 126 187 change;
+#X obj 126 233 print linking;
+#X obj 32 167 glsl_fragment;
+#X msg 126 208 link \$1;
+#N canvas 0 0 450 300 load_shader 0;
+#X obj 89 99 t b b;
+#X msg 119 126 0;
+#X obj 89 154 outlet;
+#X obj 89 71 gemhead 30;
+#X connect 0 0 2 0;
+#X connect 0 1 1 0;
+#X connect 1 0 3 0;
+#X connect 3 0 0 0;
+#X restore 120 89 pd load_shader;
+#X obj 32 36 inlet;
+#X obj 32 333 outlet;
+#X obj 155 18 inlet;
+#N canvas 0 0 450 300 init_shader 0;
+#X obj 89 154 outlet;
+#X obj 89 45 inlet;
+#X obj 89 73 change;
+#X obj 89 100 t b;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 0 0;
+#X restore 113 288 pd init_shader;
+#X obj 278 25 inlet;
+#X obj 113 318 outlet;
+#X msg 43 143 open interpol.frag;
+#X connect 0 0 7 0;
+#X connect 0 1 9 0;
+#X connect 1 0 4 0;
+#X connect 3 0 0 0;
+#X connect 3 1 1 0;
+#X connect 4 0 0 0;
+#X connect 4 0 2 0;
+#X connect 5 0 12 0;
+#X connect 6 0 3 0;
+#X connect 8 0 12 0;
+#X connect 9 0 11 0;
+#X connect 10 0 0 0;
+#X connect 12 0 3 0;
+#X restore 67 175 pd shader;
+#X obj 92 156 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 146 134 t b;
+#X msg 146 155 texture_mass 1;
+#N canvas 4 78 301 465 shader 0;
+#X obj 110 298 pack 0 0;
+#X obj 131 278 t b f;
+#X msg 110 321 link \$1 \$2;
+#X floatatom 131 259 2 0 0 0 ID - -;
+#X floatatom 110 158 2 0 0 0 ID - -;
+#X obj 128 342 print linking;
+#X obj 74 70 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 38 213 glsl_fragment;
+#X obj 38 116 glsl_vertex;
+#X obj 110 135 change;
+#X obj 131 233 change;
+#X obj 38 371 glsl_program;
+#N canvas 703 231 450 300 load_glsl 0;
+#X obj 51 22 gemhead;
+#X obj 51 98 outlet;
+#X obj 51 50 route gem_state;
+#X obj 51 74 route 1;
+#X connect 0 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 0;
+#X restore 74 45 pd load_glsl;
+#X obj 41 13 inlet;
+#X obj 37 397 outlet;
+#X obj 150 10 inlet;
+#X obj 265 14 inlet;
+#N canvas 0 0 450 300 init_shader 0;
+#X obj 89 154 outlet;
+#X obj 89 45 inlet;
+#X obj 89 73 change;
+#X obj 89 100 t b;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 0 0;
+#X restore 107 399 pd init_shader;
+#X obj 107 429 outlet;
+#X msg 52 94 open fetching2.vert;
+#X msg 48 183 open fetching2.frag;
+#X connect 0 0 2 0;
+#X connect 1 0 0 0;
+#X connect 1 1 0 1;
+#X connect 2 0 5 0;
+#X connect 2 0 11 0;
+#X connect 3 0 1 0;
+#X connect 4 0 0 0;
+#X connect 6 0 19 0;
+#X connect 6 0 20 0;
+#X connect 7 0 11 0;
+#X connect 7 1 10 0;
+#X connect 8 0 7 0;
+#X connect 8 1 9 0;
+#X connect 9 0 4 0;
+#X connect 10 0 3 0;
+#X connect 11 0 14 0;
+#X connect 11 1 17 0;
+#X connect 12 0 6 0;
+#X connect 13 0 8 0;
+#X connect 15 0 6 0;
+#X connect 16 0 11 0;
+#X connect 17 0 18 0;
+#X connect 19 0 8 0;
+#X connect 20 0 7 0;
+#X restore 315 208 pd shader;
+#X obj 345 185 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 387 229 t b;
+#X obj 315 116 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+1;
+#X obj 147 114 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 163 278 s texture_interpol;
+#X obj 315 96 r aff_drapeau;
+#X obj 67 102 gemhead 31;
+#X obj 315 135 gemhead 51;
+#X obj 410 25 inlet;
+#X obj 410 156 delay 1000;
+#X obj 315 461 mesh_square 92 64;
+#X obj 315 156 alpha;
+#X obj 315 316 scaleXYZ 15 15 15;
+#X obj 315 286 translateXYZ 0 0.55 -8;
+#X msg 327 399 quality 0;
+#X msg 521 258 draw line;
+#X msg 521 238 draw default;
+#X msg 522 279 draw point;
+#X floatatom 485 203 5 0 0 0 - - -;
+#X obj 485 28 inlet;
+#X obj 327 365 loadbang;
+#X obj 67 198 t a b;
+#X msg 410 185 texture 4;
+#X msg 85 396 rectangle 1 \, quality 0;
+#X obj 637 140 loadbang;
+#X msg 637 162 15;
+#X obj 637 184 s \$0-scale;
+#X connect 0 0 22 0;
+#X connect 1 0 3 0;
+#X connect 1 1 0 1;
+#X connect 1 1 2 1;
+#X connect 1 1 16 0;
+#X connect 2 0 4 0;
+#X connect 3 0 2 0;
+#X connect 5 0 35 0;
+#X connect 6 0 1 0;
+#X connect 7 0 33 0;
+#X connect 7 1 15 0;
+#X connect 8 0 7 1;
+#X connect 9 0 10 0;
+#X connect 10 0 7 2;
+#X connect 11 0 25 0;
+#X connect 11 1 13 0;
+#X connect 12 0 11 1;
+#X connect 13 0 34 0;
+#X connect 14 0 19 0;
+#X connect 15 0 9 0;
+#X connect 17 0 14 0;
+#X connect 18 0 7 0;
+#X connect 19 0 23 0;
+#X connect 20 0 21 0;
+#X connect 20 0 12 0;
+#X connect 20 0 8 0;
+#X connect 21 0 34 0;
+#X connect 23 0 11 0;
+#X connect 24 0 0 0;
+#X connect 25 0 24 0;
+#X connect 26 0 0 0;
+#X connect 27 0 22 0;
+#X connect 28 0 22 0;
+#X connect 29 0 22 0;
+#X connect 30 0 24 1;
+#X connect 30 0 24 2;
+#X connect 30 0 24 3;
+#X connect 31 0 30 0;
+#X connect 32 0 26 0;
+#X connect 33 0 1 0;
+#X connect 33 1 6 0;
+#X connect 34 0 11 2;
+#X connect 35 0 2 0;
+#X connect 36 0 37 0;
+#X connect 37 0 38 0;
+#X restore 27 304 pd shader_render ______________;
+#X text 12 6 "Potential Flag" \, by Samuel Bianchini;
+#X floatatom 606 304 5 0 0 0 - - -;
+#X obj 606 324 * 10;
+#N canvas 830 53 450 300 Gem.init 0;
+#X obj 26 3 loadbang;
+#X msg 26 26 perspec -1 1 -1 1 10 100;
+#X obj 26 124 t a;
+#X obj 25 153 outlet;
+#X msg 55 77 dimen 800 600;
+#X msg 37 51 FSAA 5;
+#X connect 0 0 1 0;
+#X connect 0 0 5 0;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 2 0;
+#X connect 5 0 2 0;
+#X restore 66 188 pd Gem.init;
+#N canvas 341 104 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 1 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X obj 318 255 gemwin 30;
+#X msg 441 219 color 0.2 0.3 0.5;
+#X msg 443 257 dimen 1024 768;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 7 0;
+#X connect 6 0 7 0;
+#X connect 7 0 17 0;
+#X connect 7 1 9 0;
+#X connect 9 0 10 0;
+#X connect 9 1 12 0;
+#X connect 10 0 11 0;
+#X connect 11 0 14 0;
+#X connect 12 0 13 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 0 0;
+#X connect 17 0 8 0;
+#X connect 18 0 17 0;
+#X connect 19 0 17 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 47 209 pd gemwin 30;
+#X floatatom 210 282 5 0 0 0 scale-> #0-scale -;
+#X obj 6 325 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#N canvas 290 239 395 502 shader_normal 0;
+#X obj 51 233 gemframebuffer;
+#X obj 51 347 pix_texture;
+#X obj 51 276 translateXYZ 0 0 -4;
+#X obj 51 366 square 4;
+#X obj 67 304 loadbang;
+#N canvas 0 0 1052 398 init 0;
+#X obj 14 140 outlet;
+#X obj 14 30 inlet;
+#X obj 14 55 spigot 1;
+#X obj 24 76 b;
+#X msg 67 31 0;
+#X msg 14 114 rectangle 1 \, type BYTE \, format RGB32 \, dim 128 128
+;
+#X connect 1 0 2 0;
+#X connect 2 0 5 0;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 4 0 2 1;
+#X connect 5 0 0 0;
+#X restore 83 160 pd init;
+#N canvas 555 24 496 709 shader 0;
+#X obj 32 474 glsl_program;
+#X obj 126 357 change;
+#X obj 126 443 print linking;
+#X obj 32 337 glsl_fragment;
+#N canvas 0 0 450 300 load_shader 0;
+#X obj 89 99 t b b;
+#X msg 119 126 0;
+#X obj 89 154 outlet;
+#X obj 89 71 gemhead 30;
+#X connect 0 0 2 0;
+#X connect 0 1 1 0;
+#X connect 1 0 3 0;
+#X connect 3 0 0 0;
+#X restore 134 96 pd load_shader;
+#X obj 32 36 inlet;
+#X obj 32 543 outlet;
+#X obj 175 28 inlet;
+#N canvas 0 0 450 300 init_shader 0;
+#X obj 89 154 outlet;
+#X obj 89 45 inlet;
+#X obj 89 73 change;
+#X obj 89 100 t b;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 0 0;
+#X restore 113 498 pd init_shader;
+#X obj 278 25 inlet;
+#X obj 113 528 outlet;
+#X msg 43 313 open normal.frag;
+#X obj 32 185 glsl_vertex;
+#X obj 96 122 t b b;
+#X obj 126 393 pack f f;
+#X msg 126 418 link \$1 \$2;
+#X msg 42 161 open normal.vert;
+#X connect 0 0 6 0;
+#X connect 0 1 8 0;
+#X connect 1 0 14 0;
+#X connect 3 0 0 0;
+#X connect 3 1 1 0;
+#X connect 4 0 13 0;
+#X connect 5 0 12 0;
+#X connect 7 0 13 0;
+#X connect 8 0 10 0;
+#X connect 9 0 0 0;
+#X connect 11 0 3 0;
+#X connect 12 0 3 0;
+#X connect 12 1 14 1;
+#X connect 13 0 11 0;
+#X connect 13 1 16 0;
+#X connect 14 0 15 0;
+#X connect 15 0 0 0;
+#X connect 15 0 2 0;
+#X connect 16 0 12 0;
+#X restore 51 112 pd shader;
+#X obj 76 93 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 143 65 t b;
+#X obj 146 45 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 157 252 s texture_normal;
+#X obj 51 39 gemhead 32;
+#X obj 78 189 loadbang;
+#X msg 78 208 texunit 4;
+#X msg 141 88 texture_mass 1;
+#X obj 51 136 t a b;
+#X msg 67 323 rectangle 1 \, quality 1;
+#X connect 0 0 2 0;
+#X connect 0 1 10 0;
+#X connect 0 1 1 1;
+#X connect 1 0 3 0;
+#X connect 2 0 1 0;
+#X connect 4 0 16 0;
+#X connect 5 0 0 0;
+#X connect 6 0 15 0;
+#X connect 6 1 9 0;
+#X connect 7 0 6 1;
+#X connect 8 0 14 0;
+#X connect 9 0 8 0;
+#X connect 11 0 6 0;
+#X connect 12 0 13 0;
+#X connect 13 0 0 0;
+#X connect 14 0 6 2;
+#X connect 15 0 0 0;
+#X connect 15 1 5 0;
+#X connect 16 0 1 0;
+#X restore 27 342 pd shader_normal ______________;
+#X obj 6 304 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#N canvas 1468 153 767 700 \$0-pad 0;
+#X msg 158 309 clear;
+#N canvas 6 50 590 367 clear-all 0;
+#X obj 89 46 inlet;
+#X obj 89 122 s pd-\$0-work;
+#X msg 89 99 clear;
+#X obj 89 72 t b;
+#X connect 0 0 3 0;
+#X connect 2 0 1 0;
+#X connect 3 0 2 0;
+#X restore 158 331 pd clear-all;
+#X obj 92 646 outlet;
+#X obj 72 171 loadbang;
+#X obj 191 411 metro 50;
+#N canvas 581 163 695 660 pointer-parser 0;
+#X obj 129 165 pointer;
+#X text 276 46 from metro;
+#X obj 282 346 t b f;
+#X obj 117 49 inlet;
+#X obj 237 48 inlet;
+#X obj 129 541 outlet;
+#X obj 129 398 pack 0 0;
+#X obj 129 193 get \$0-xy-pad-knob-1 x0 y0;
+#X obj 129 320 change -1;
+#X obj 282 325 change -1;
+#X obj 129 238 / 90;
+#X obj 282 236 / 90;
+#X obj 129 420 unpack 0 0;
+#X obj 129 442 * 2;
+#X obj 129 464 - 1;
+#X obj 129 516 pack;
+#X obj 169 442 * 2;
+#X obj 169 464 - 1;
+#X obj 384 202 set \$0-xy-pad-knob-1 x0 y0;
+#X obj 384 43 inlet set;
+#X obj 384 65 unpack;
+#X text 432 67 -1..+1;
+#X obj 384 112 + 1;
+#X obj 384 134 / 2;
+#X obj 384 156 * 90;
+#X obj 424 112 + 1;
+#X obj 424 134 / 2;
+#X floatatom 173 241 5 0 0 0 - - -;
+#X floatatom 245 524 5 0 0 0 - - -;
+#X obj 424 156 * 90;
+#X obj 169 486 * -1;
+#X connect 0 0 18 2;
+#X connect 0 0 7 0;
+#X connect 2 0 6 0;
+#X connect 2 1 6 1;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 6 0 12 0;
+#X connect 7 0 10 0;
+#X connect 7 0 27 0;
+#X connect 7 1 11 0;
+#X connect 8 0 6 0;
+#X connect 9 0 2 0;
+#X connect 10 0 8 0;
+#X connect 11 0 9 0;
+#X connect 12 0 13 0;
+#X connect 12 1 16 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 14 0 28 0;
+#X connect 15 0 5 0;
+#X connect 16 0 17 0;
+#X connect 17 0 30 0;
+#X connect 19 0 20 0;
+#X connect 20 0 22 0;
+#X connect 20 1 25 0;
+#X connect 22 0 23 0;
+#X connect 23 0 24 0;
+#X connect 24 0 18 0;
+#X connect 25 0 26 0;
+#X connect 26 0 29 0;
+#X connect 29 0 18 1;
+#X connect 30 0 15 1;
+#X restore 72 448 pd pointer-parser;
+#N canvas 419 563 751 371 add-controller 0;
+#X msg 520 189 traverse \$1 \, bang;
+#X obj 520 216 pointer;
+#X obj 405 322 outlet;
+#X obj 405 21 inlet;
+#X obj 405 50 t f b;
+#X obj 520 132 symbol pd-\$0-work;
+#X obj 405 285 append \$0-xy-pad-knob-1 x0 y0 id;
+#X obj 23 35 struct \$0-xy-pad-knob-1 float x0 float y0 float id;
+#X obj 22 81 filledpolygon id 999 1 x0(0:90)(0:90) y0(0:90)(0:90) x0(0:90)(10:100)
+y0(0:90)(0:90) x0(0:90)(10:100) y0(0:90)(10:100) x0(0:90)(0:90) y0(0:90)(10:100)
+;
+#X msg 405 261 45 45 \$1;
+#X connect 0 0 1 0;
+#X connect 1 0 6 3;
+#X connect 3 0 4 0;
+#X connect 4 0 9 0;
+#X connect 4 1 5 0;
+#X connect 5 0 0 0;
+#X connect 6 0 2 0;
+#X connect 9 0 6 0;
+#X restore 72 379 pd add-controller;
+#X obj 192 391 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+1;
+#X msg 193 370 1;
+#X obj 72 303 t f b b;
+#X text 111 233 5/10 red;
+#X text 111 248 3/10 green;
+#X text 111 263 2/10 blue;
+#X text 522 76 (c) 2010 Thomas Musil;
+#X text 521 58 (c) -2010 Frank Barknecht;
+#X msg 72 233 900;
+#X obj 162 646 outlet;
+#X text 486 42 based on: xy-pad;
+#N canvas 1444 366 450 300 xy2rphi 0;
+#X obj 46 35 inlet x y;
+#X obj 46 272 outlet r;
+#X obj 136 266 outlet phi;
+#X text 244 77 r=sqrt(x^2+y^2);
+#X text 246 97 phi=atan2(y \, x);
+#X obj 102 106 t f f f;
+#X obj 102 129 *;
+#X obj 46 169 +;
+#X obj 46 106 t f f f;
+#X obj 46 129 *;
+#X obj 46 201 sqrt;
+#X obj 136 157 pack;
+#X obj 136 196 atan2;
+#X msg 136 177 \$2 \$1;
+#X obj 46 61 unpack 0 0;
+#X text 147 282 in rad;
+#X connect 0 0 14 0;
+#X connect 5 0 6 0;
+#X connect 5 1 6 1;
+#X connect 5 2 11 1;
+#X connect 6 0 7 1;
+#X connect 7 0 10 0;
+#X connect 8 0 9 0;
+#X connect 8 1 9 1;
+#X connect 8 2 11 0;
+#X connect 9 0 7 0;
+#X connect 10 0 1 0;
+#X connect 11 0 13 0;
+#X connect 12 0 2 0;
+#X connect 13 0 12 0;
+#X connect 14 0 8 0;
+#X connect 14 1 5 0;
+#X restore 394 485 pd xy2rphi;
+#X obj 92 530 t l l;
+#X obj 92 552 unpack 0 0;
+#X obj 387 102 inlet r;
+#X obj 456 103 inlet phi;
+#X obj 444 333 t f f;
+#X obj 444 357 cos;
+#X obj 387 354 t f f;
+#X obj 387 390 * 1;
+#X obj 417 389 * 0;
+#X obj 387 277 unpack 0 0;
+#X obj 387 254 pack;
+#X obj 456 225 t b f;
+#X obj 471 356 sin;
+#X obj 387 412 pack;
+#X obj 387 204 t f;
+#X obj 387 226 clip 0 1;
+#X obj 304 74 cnv 10 12 12 empty empty empty 20 12 0 14 -99865 -66577
+0;
+#N canvas 493 264 450 300 \$0-work 0;
+#X scalar 1002-xy-pad-knob-1 0 42 900 \;;
+#X coords 0 100 100 0 100 100 2 0 0;
+#X restore 260 30 pd \$0-work;
+#X obj 451 532 wrap;
+#X obj 72 193 t b b;
+#X obj 608 163 atan2;
+#X msg 608 138 1 0;
+#X obj 608 185 * 4;
+#X obj 608 207 t f f;
+#X obj 378 612 s \$0-force;
+#X obj 451 632 s \$0-direction;
+#X msg 451 554 set \$1;
+#X msg 378 564 set \$1;
+#X obj 451 507 / 6.28;
+#X obj 444 309 * -6.28;
+#X obj 394 507 t f f;
+#X obj 337 537 s force_wind;
+#X connect 0 0 1 0;
+#X connect 3 0 38 0;
+#X connect 4 0 5 1;
+#X connect 5 0 19 0;
+#X connect 6 0 5 0;
+#X connect 7 0 4 0;
+#X connect 8 0 7 0;
+#X connect 9 0 6 0;
+#X connect 9 1 8 0;
+#X connect 9 2 0 0;
+#X connect 15 0 9 0;
+#X connect 18 0 49 0;
+#X connect 18 1 47 0;
+#X connect 19 0 20 0;
+#X connect 19 1 18 0;
+#X connect 20 0 2 0;
+#X connect 20 1 16 0;
+#X connect 21 0 33 0;
+#X connect 22 0 30 0;
+#X connect 23 0 24 0;
+#X connect 23 1 31 0;
+#X connect 24 0 26 1;
+#X connect 25 0 26 0;
+#X connect 25 1 27 0;
+#X connect 26 0 32 0;
+#X connect 27 0 32 1;
+#X connect 28 0 25 0;
+#X connect 28 1 48 0;
+#X connect 29 0 28 0;
+#X connect 30 0 29 0;
+#X connect 30 1 29 1;
+#X connect 31 0 27 1;
+#X connect 32 0 5 2;
+#X connect 33 0 34 0;
+#X connect 34 0 29 0;
+#X connect 37 0 45 0;
+#X connect 38 0 15 0;
+#X connect 38 1 40 0;
+#X connect 39 0 41 0;
+#X connect 40 0 39 0;
+#X connect 41 0 42 0;
+#X connect 42 0 48 1;
+#X connect 42 1 47 1;
+#X connect 45 0 44 0;
+#X connect 46 0 43 0;
+#X connect 47 0 37 0;
+#X connect 48 0 23 0;
+#X connect 49 0 50 0;
+#X connect 49 1 46 0;
+#X coords 0 -1 1 1 100 100 2 260 30;
+#X restore 445 290 pd \$0-pad;
+#X obj 445 151 vsl 15 128 0 1 0 0 empty \$0-force force 0 -9 0 10 -262144
+-1 -1 12700 1;
+#X obj 538 152 vsl 15 128 0 1 0 0 empty \$0-direction direction 0 -9
+0 10 -262144 -1 -1 6219 1;
+#N canvas 424 571 337 368 wind-control. 0;
+#X obj 41 82 pack f f;
+#X msg 41 104 wind \$1 \$2;
+#X obj 41 126 s shader_link;
+#X obj 41 30 inlet;
+#X obj 105 32 inlet;
+#X obj 181 304 s oscillation1;
+#X obj 41 58 / 11000;
+#X obj 105 58 / 11000;
+#X obj 181 187 *;
+#X obj 181 164 t f f;
+#X obj 181 212 +;
+#X obj 181 236 sqrt;
+#X obj 231 187 *;
+#X obj 231 164 t f f;
+#X obj 181 259 * 600;
+#X obj 181 281 min 300;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 3 0 6 0;
+#X connect 3 0 9 0;
+#X connect 4 0 7 0;
+#X connect 4 0 13 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 1;
+#X connect 8 0 10 0;
+#X connect 9 0 8 0;
+#X connect 9 1 8 1;
+#X connect 10 0 11 0;
+#X connect 11 0 14 0;
+#X connect 12 0 10 1;
+#X connect 13 0 12 0;
+#X connect 13 1 12 1;
+#X connect 14 0 15 0;
+#X connect 15 0 5 0;
+#X restore 445 397 pd wind-control.;
+#X text 28 20 Simple version for Gem examples;
+#X text 29 34 Did work under Linux \, with Nvidia driver. I don't know
+on other OS/hardware.;
+#X text 29 72 This patch is quite huge. the GPU compute the position
+of 64x92 masses \, and 64x92x12 links at 50x20 Hz. (about 7e+07 links/sec
+\, so about 100 time faster than what is curently possible with MSD
+on a CPU) (My GPU is old \, this patch performs 10 to 50 times faster
+on a good GPU);
+#X obj 606 346 s qqt_noise;
+#X connect 0 0 5 0;
+#X connect 2 0 1 0;
+#X connect 9 0 10 0;
+#X connect 10 0 24 0;
+#X connect 11 0 12 0;
+#X connect 13 0 7 1;
+#X connect 14 0 3 0;
+#X connect 16 0 7 0;
+#X connect 17 0 20 0;
+#X connect 17 1 20 1;
+#X connect 18 0 17 0;
+#X connect 19 0 17 1;
diff --git a/packages/noncvs/windows/extra/Gem/examples/10.glsl/11.geometry.pd b/packages/noncvs/windows/extra/Gem/examples/10.glsl/11.geometry.pd
index 1851c8a0..da2ff1be 100644
--- a/packages/noncvs/windows/extra/Gem/examples/10.glsl/11.geometry.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/10.glsl/11.geometry.pd
@@ -1,123 +1,123 @@
-#N canvas 197 25 552 632 10;
-#X floatatom 132 447 9 0 0 0 ID - -;
-#X floatatom 132 279 9 0 0 0 ID - -;
-#X obj 150 506 print linking;
-#X obj 132 465 pack 0 0 0;
-#X floatatom 126 364 9 0 0 0 ID - -;
-#X obj 44 139 gemhead;
-#X msg 132 485 link \$1 \$2 \$3;
-#X obj 44 319 glsl_vertex;
-#X obj 44 403 glsl_fragment;
-#X obj 44 237 glsl_geometry;
-#X obj 44 158 alpha;
-#X floatatom 122 531 5 0 0 0 - - -;
-#X floatatom 164 531 5 0 0 0 - - -;
-#X floatatom 209 532 5 0 0 0 - - -;
-#X obj 44 512 glsl_program;
-#X msg 182 200 -1;
-#X obj 182 156 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
--1 -1;
-#X obj 132 258 change;
-#X obj 126 341 change;
-#X obj 132 426 change;
-#X obj 44 552 translateXYZ 0 0 0;
-#X obj 44 197 colorRGB 1 1 1;
-#X floatatom 128 174 5 0 0 0 - - -;
-#X obj 44 177 depth 1;
-#X obj 44 576 circle;
-#X obj 182 176 t b b;
-#X text 184 7 geometry shader;
-#X text 48 28 The geometry shader is usefull to create new geometry
-;
-#X text 51 47 Here is an example where 40 circles are draw with 1 single
-primitive.;
-#X text 49 87 Be aware that the geometry shader is computed after the
-vertex shader. coordinate are in 2d.;
-#X msg 58 217 open geo.geom;
-#X msg 56 299 open geo.vert;
-#X msg 57 384 open geo.frag;
-#X obj 182 136 loadbang;
-#X text 205 155 load shaders;
-#N canvas 87 154 247 179 Gem.init 0;
-#X obj 118 46 loadbang;
-#X msg 118 81 reset;
-#X obj 118 113 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X restore 366 247 pd Gem.init;
-#N canvas 340 107 682 322 gemwin 0;
-#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
--1 -1 0 1;
-#X obj 102 161 r \$0-gemstart;
-#X obj 102 182 select 1 0;
-#X msg 102 214 create \, 1;
-#X msg 177 215 destroy;
-#X obj 102 239 t a;
-#X obj 318 54 inlet;
-#X obj 318 255 gemwin;
-#X obj 318 100 t a a;
-#X obj 318 287 outlet;
-#X obj 350 128 route create destroy;
-#X obj 350 150 t b;
-#X msg 350 172 1;
-#X obj 390 150 t b;
-#X msg 390 172 0;
-#X obj 350 195 t f;
-#X msg 350 219 set \$1;
-#X text 118 122 rendering;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 10 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X coords 0 -1 1 1 85 40 1 100 100;
-#X restore 336 264 pd gemwin;
-#X connect 0 0 3 0;
-#X connect 1 0 3 2;
-#X connect 3 0 6 0;
-#X connect 4 0 3 1;
-#X connect 5 0 10 0;
-#X connect 6 0 2 0;
-#X connect 6 0 14 0;
-#X connect 7 0 8 0;
-#X connect 7 1 18 0;
-#X connect 8 0 14 0;
-#X connect 8 1 19 0;
-#X connect 9 0 7 0;
-#X connect 9 1 17 0;
-#X connect 10 0 23 0;
-#X connect 11 0 20 1;
-#X connect 12 0 20 2;
-#X connect 13 0 20 3;
-#X connect 14 0 20 0;
-#X connect 15 0 19 0;
-#X connect 16 0 25 0;
-#X connect 17 0 1 0;
-#X connect 18 0 4 0;
-#X connect 19 0 0 0;
-#X connect 20 0 24 0;
-#X connect 21 0 9 0;
-#X connect 22 0 21 2;
-#X connect 23 0 21 0;
-#X connect 25 0 15 0;
-#X connect 25 1 32 0;
-#X connect 25 1 30 0;
-#X connect 25 1 31 0;
-#X connect 30 0 9 0;
-#X connect 31 0 7 0;
-#X connect 32 0 8 0;
-#X connect 33 0 16 0;
-#X connect 35 0 36 0;
+#N canvas 197 25 552 632 10;
+#X floatatom 132 447 9 0 0 0 ID - -;
+#X floatatom 132 279 9 0 0 0 ID - -;
+#X obj 150 506 print linking;
+#X obj 132 465 pack 0 0 0;
+#X floatatom 126 364 9 0 0 0 ID - -;
+#X obj 44 139 gemhead;
+#X msg 132 485 link \$1 \$2 \$3;
+#X obj 44 319 glsl_vertex;
+#X obj 44 403 glsl_fragment;
+#X obj 44 237 glsl_geometry;
+#X obj 44 158 alpha;
+#X floatatom 122 531 5 0 0 0 - - -;
+#X floatatom 164 531 5 0 0 0 - - -;
+#X floatatom 209 532 5 0 0 0 - - -;
+#X obj 44 512 glsl_program;
+#X msg 182 200 -1;
+#X obj 182 156 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 132 258 change;
+#X obj 126 341 change;
+#X obj 132 426 change;
+#X obj 44 552 translateXYZ 0 0 0;
+#X obj 44 197 colorRGB 1 1 1;
+#X floatatom 128 174 5 0 0 0 - - -;
+#X obj 44 177 depth 1;
+#X obj 44 576 circle;
+#X obj 182 176 t b b;
+#X text 184 7 geometry shader;
+#X text 48 28 The geometry shader is usefull to create new geometry
+;
+#X text 51 47 Here is an example where 40 circles are draw with 1 single
+primitive.;
+#X text 49 87 Be aware that the geometry shader is computed after the
+vertex shader. coordinate are in 2d.;
+#X msg 58 217 open geo.geom;
+#X msg 56 299 open geo.vert;
+#X msg 57 384 open geo.frag;
+#X obj 182 136 loadbang;
+#X text 205 155 load shaders;
+#N canvas 87 154 247 179 Gem.init 0;
+#X obj 118 46 loadbang;
+#X msg 118 81 reset;
+#X obj 118 113 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X restore 366 247 pd Gem.init;
+#N canvas 340 107 682 322 gemwin 0;
+#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144
+-1 -1 0 1;
+#X obj 102 161 r \$0-gemstart;
+#X obj 102 182 select 1 0;
+#X msg 102 214 create \, 1;
+#X msg 177 215 destroy;
+#X obj 102 239 t a;
+#X obj 318 54 inlet;
+#X obj 318 255 gemwin;
+#X obj 318 100 t a a;
+#X obj 318 287 outlet;
+#X obj 350 128 route create destroy;
+#X obj 350 150 t b;
+#X msg 350 172 1;
+#X obj 390 150 t b;
+#X msg 390 172 0;
+#X obj 350 195 t f;
+#X msg 350 219 set \$1;
+#X text 118 122 rendering;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 10 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 0 0;
+#X coords 0 -1 1 1 85 40 1 100 100;
+#X restore 336 264 pd gemwin;
+#X connect 0 0 3 0;
+#X connect 1 0 3 2;
+#X connect 3 0 6 0;
+#X connect 4 0 3 1;
+#X connect 5 0 10 0;
+#X connect 6 0 2 0;
+#X connect 6 0 14 0;
+#X connect 7 0 8 0;
+#X connect 7 1 18 0;
+#X connect 8 0 14 0;
+#X connect 8 1 19 0;
+#X connect 9 0 7 0;
+#X connect 9 1 17 0;
+#X connect 10 0 23 0;
+#X connect 11 0 20 1;
+#X connect 12 0 20 2;
+#X connect 13 0 20 3;
+#X connect 14 0 20 0;
+#X connect 15 0 19 0;
+#X connect 16 0 25 0;
+#X connect 17 0 1 0;
+#X connect 18 0 4 0;
+#X connect 19 0 0 0;
+#X connect 20 0 24 0;
+#X connect 21 0 9 0;
+#X connect 22 0 21 2;
+#X connect 23 0 21 0;
+#X connect 25 0 15 0;
+#X connect 25 1 32 0;
+#X connect 25 1 30 0;
+#X connect 25 1 31 0;
+#X connect 30 0 9 0;
+#X connect 31 0 7 0;
+#X connect 32 0 8 0;
+#X connect 33 0 16 0;
+#X connect 35 0 36 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/10.glsl/12.tri2fan.pd b/packages/noncvs/windows/extra/Gem/examples/10.glsl/12.tri2fan.pd
index 5437d4bd..d2e89dab 100644
--- a/packages/noncvs/windows/extra/Gem/examples/10.glsl/12.tri2fan.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/10.glsl/12.tri2fan.pd
@@ -1,157 +1,157 @@
-#N canvas 1775 56 785 745 10;
-#X floatatom 286 440 9 0 0 0 ID - -;
-#X floatatom 249 264 9 0 0 0 ID - -;
-#X obj 296 500 print linking;
-#X obj 286 458 pack 0 0 0;
-#X floatatom 244 350 9 0 0 0 ID - -;
-#X obj 161 78 gemhead;
-#X msg 286 479 link \$1 \$2 \$3;
-#X obj 161 151 alpha;
-#X floatatom 202 578 5 0 0 0 - - -;
-#X floatatom 244 578 5 0 0 0 - - -;
-#X floatatom 289 579 5 0 0 0 - - -;
-#X obj 161 526 glsl_program;
-#X obj 42 117 t b b b b;
-#X msg 42 147 -1;
-#X obj 42 98 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
--1;
-#X obj 249 242 change;
-#X obj 244 329 change;
-#X obj 286 419 change;
-#X obj 161 650 t a b;
-#X obj 209 650 loadbang;
-#X msg 340 672 2;
-#X obj 161 217 glsl_geometry;
-#X obj 161 307 glsl_vertex;
-#X obj 161 394 glsl_fragment;
-#X obj 42 76 loadbang;
-#X text 65 97 reload;
-#X msg 422 113 create \, 1;
-#X msg 431 135 destroy;
-#X obj 402 654 triangle;
-#X msg 473 202 lighting 1;
-#X obj 161 627 spigot 1;
-#X obj 230 628 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X obj 470 633 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X obj 402 631 spigot 0;
-#X msg 460 180 perspec -0.1 0.1 -0.1 0.1 1 110;
-#X obj 422 229 gemwin;
-#X obj 460 159 loadbang;
-#N canvas 0 0 877 520 light 0;
-#X obj 225 45 gemhead 10;
-#X floatatom 258 78 5 0 0 0 - - -;
-#X floatatom 299 77 5 0 0 0 - - -;
-#X floatatom 341 78 5 0 0 0 - - -;
-#X obj 225 227 world_light;
-#X obj 250 151 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X msg 250 172 debug \$1;
-#X obj 225 103 rotateXYZ 0 30 0;
-#X obj 27 51 gemhead 10;
-#X floatatom 60 84 5 0 0 0 - - -;
-#X floatatom 101 83 5 0 0 0 - - -;
-#X floatatom 143 84 5 0 0 0 - - -;
-#X obj 27 233 world_light;
-#X obj 48 158 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X msg 48 179 debug \$1;
-#X obj 27 109 rotateXYZ 0 -90 0;
-#X msg 297 207 0.8 0.8 0.8;
-#X msg 100 210 0.7 0.7 0.7;
-#X obj 408 73 loadbang;
-#X connect 0 0 7 0;
-#X connect 1 0 7 1;
-#X connect 2 0 7 2;
-#X connect 3 0 7 3;
-#X connect 5 0 6 0;
-#X connect 6 0 4 0;
-#X connect 7 0 4 0;
-#X connect 8 0 15 0;
-#X connect 9 0 15 1;
-#X connect 10 0 15 2;
-#X connect 11 0 15 3;
-#X connect 13 0 14 0;
-#X connect 14 0 12 0;
-#X connect 15 0 12 0;
-#X connect 16 0 4 1;
-#X connect 17 0 12 1;
-#X connect 18 0 17 0;
-#X connect 18 0 16 0;
-#X restore 421 253 pd light;
-#X obj 161 595 rotateXYZ -55 20 0;
-#X floatatom 298 537 5 0 0 0 - - -;
-#X text 235 13 replace triangle with 3 triangles thoses orientation
-depend on the normal of the original primitive;
-#X obj 161 554 scaleXYZ 0.2 0.2 0.2;
-#X msg 172 129 auto 1;
-#X obj 172 108 loadbang;
-#X msg 176 195 open tri2fan.geom;
-#X msg 177 286 open tri2fan.vert;
-#X msg 178 370 open tri2fan.frag;
-#X obj 161 724 newWave 25 25;
-#X msg 209 671 D1 0.01 \, D2 0.1;
-#X floatatom 520 593 5 0 25 0 - - -;
-#X obj 552 635 pack f f;
-#X obj 520 611 t f f;
-#X msg 552 655 force \$1 \$2 0.3;
-#X connect 0 0 3 0;
-#X connect 1 0 3 2;
-#X connect 3 0 6 0;
-#X connect 4 0 3 1;
-#X connect 5 0 7 0;
-#X connect 6 0 2 0;
-#X connect 6 0 11 0;
-#X connect 7 0 21 0;
-#X connect 8 0 38 1;
-#X connect 9 0 38 2;
-#X connect 10 0 38 3;
-#X connect 11 0 41 0;
-#X connect 12 0 13 0;
-#X connect 12 1 46 0;
-#X connect 12 2 45 0;
-#X connect 12 3 44 0;
-#X connect 13 0 17 0;
-#X connect 14 0 12 0;
-#X connect 15 0 1 0;
-#X connect 16 0 4 0;
-#X connect 17 0 0 0;
-#X connect 18 0 47 0;
-#X connect 18 1 47 0;
-#X connect 19 0 48 0;
-#X connect 20 0 47 3;
-#X connect 21 0 22 0;
-#X connect 21 1 15 0;
-#X connect 22 0 23 0;
-#X connect 22 1 16 0;
-#X connect 23 0 11 0;
-#X connect 23 1 17 0;
-#X connect 24 0 14 0;
-#X connect 26 0 35 0;
-#X connect 27 0 35 0;
-#X connect 29 0 35 0;
-#X connect 30 0 18 0;
-#X connect 31 0 30 1;
-#X connect 32 0 33 1;
-#X connect 33 0 28 0;
-#X connect 34 0 35 0;
-#X connect 36 0 34 0;
-#X connect 36 0 29 0;
-#X connect 38 0 30 0;
-#X connect 38 0 33 0;
-#X connect 39 0 41 2;
-#X connect 39 0 41 3;
-#X connect 39 0 41 1;
-#X connect 41 0 38 0;
-#X connect 42 0 7 0;
-#X connect 43 0 42 0;
-#X connect 44 0 21 0;
-#X connect 45 0 22 0;
-#X connect 46 0 23 0;
-#X connect 48 0 47 0;
-#X connect 49 0 51 0;
-#X connect 50 0 52 0;
-#X connect 51 0 50 1;
-#X connect 51 1 50 0;
-#X connect 52 0 47 0;
+#N canvas 1775 56 785 745 10;
+#X floatatom 286 440 9 0 0 0 ID - -;
+#X floatatom 249 264 9 0 0 0 ID - -;
+#X obj 296 500 print linking;
+#X obj 286 458 pack 0 0 0;
+#X floatatom 244 350 9 0 0 0 ID - -;
+#X obj 161 78 gemhead;
+#X msg 286 479 link \$1 \$2 \$3;
+#X obj 161 151 alpha;
+#X floatatom 202 578 5 0 0 0 - - -;
+#X floatatom 244 578 5 0 0 0 - - -;
+#X floatatom 289 579 5 0 0 0 - - -;
+#X obj 161 526 glsl_program;
+#X obj 42 117 t b b b b;
+#X msg 42 147 -1;
+#X obj 42 98 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 249 242 change;
+#X obj 244 329 change;
+#X obj 286 419 change;
+#X obj 161 650 t a b;
+#X obj 209 650 loadbang;
+#X msg 340 672 2;
+#X obj 161 217 glsl_geometry;
+#X obj 161 307 glsl_vertex;
+#X obj 161 394 glsl_fragment;
+#X obj 42 76 loadbang;
+#X text 65 97 reload;
+#X msg 422 113 create \, 1;
+#X msg 431 135 destroy;
+#X obj 402 654 triangle;
+#X msg 473 202 lighting 1;
+#X obj 161 627 spigot 1;
+#X obj 230 628 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X obj 470 633 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X obj 402 631 spigot 0;
+#X msg 460 180 perspec -0.1 0.1 -0.1 0.1 1 110;
+#X obj 422 229 gemwin;
+#X obj 460 159 loadbang;
+#N canvas 0 0 877 520 light 0;
+#X obj 225 45 gemhead 10;
+#X floatatom 258 78 5 0 0 0 - - -;
+#X floatatom 299 77 5 0 0 0 - - -;
+#X floatatom 341 78 5 0 0 0 - - -;
+#X obj 225 227 world_light;
+#X obj 250 151 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X msg 250 172 debug \$1;
+#X obj 225 103 rotateXYZ 0 30 0;
+#X obj 27 51 gemhead 10;
+#X floatatom 60 84 5 0 0 0 - - -;
+#X floatatom 101 83 5 0 0 0 - - -;
+#X floatatom 143 84 5 0 0 0 - - -;
+#X obj 27 233 world_light;
+#X obj 48 158 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X msg 48 179 debug \$1;
+#X obj 27 109 rotateXYZ 0 -90 0;
+#X msg 297 207 0.8 0.8 0.8;
+#X msg 100 210 0.7 0.7 0.7;
+#X obj 408 73 loadbang;
+#X connect 0 0 7 0;
+#X connect 1 0 7 1;
+#X connect 2 0 7 2;
+#X connect 3 0 7 3;
+#X connect 5 0 6 0;
+#X connect 6 0 4 0;
+#X connect 7 0 4 0;
+#X connect 8 0 15 0;
+#X connect 9 0 15 1;
+#X connect 10 0 15 2;
+#X connect 11 0 15 3;
+#X connect 13 0 14 0;
+#X connect 14 0 12 0;
+#X connect 15 0 12 0;
+#X connect 16 0 4 1;
+#X connect 17 0 12 1;
+#X connect 18 0 17 0;
+#X connect 18 0 16 0;
+#X restore 421 253 pd light;
+#X obj 161 595 rotateXYZ -55 20 0;
+#X floatatom 298 537 5 0 0 0 - - -;
+#X text 235 13 replace triangle with 3 triangles thoses orientation
+depend on the normal of the original primitive;
+#X obj 161 554 scaleXYZ 0.2 0.2 0.2;
+#X msg 172 129 auto 1;
+#X obj 172 108 loadbang;
+#X msg 176 195 open tri2fan.geom;
+#X msg 177 286 open tri2fan.vert;
+#X msg 178 370 open tri2fan.frag;
+#X obj 161 724 newWave 25 25;
+#X msg 209 671 D1 0.01 \, D2 0.1;
+#X floatatom 520 593 5 0 25 0 - - -;
+#X obj 552 635 pack f f;
+#X obj 520 611 t f f;
+#X msg 552 655 force \$1 \$2 0.3;
+#X connect 0 0 3 0;
+#X connect 1 0 3 2;
+#X connect 3 0 6 0;
+#X connect 4 0 3 1;
+#X connect 5 0 7 0;
+#X connect 6 0 2 0;
+#X connect 6 0 11 0;
+#X connect 7 0 21 0;
+#X connect 8 0 38 1;
+#X connect 9 0 38 2;
+#X connect 10 0 38 3;
+#X connect 11 0 41 0;
+#X connect 12 0 13 0;
+#X connect 12 1 46 0;
+#X connect 12 2 45 0;
+#X connect 12 3 44 0;
+#X connect 13 0 17 0;
+#X connect 14 0 12 0;
+#X connect 15 0 1 0;
+#X connect 16 0 4 0;
+#X connect 17 0 0 0;
+#X connect 18 0 47 0;
+#X connect 18 1 47 0;
+#X connect 19 0 48 0;
+#X connect 20 0 47 3;
+#X connect 21 0 22 0;
+#X connect 21 1 15 0;
+#X connect 22 0 23 0;
+#X connect 22 1 16 0;
+#X connect 23 0 11 0;
+#X connect 23 1 17 0;
+#X connect 24 0 14 0;
+#X connect 26 0 35 0;
+#X connect 27 0 35 0;
+#X connect 29 0 35 0;
+#X connect 30 0 18 0;
+#X connect 31 0 30 1;
+#X connect 32 0 33 1;
+#X connect 33 0 28 0;
+#X connect 34 0 35 0;
+#X connect 36 0 34 0;
+#X connect 36 0 29 0;
+#X connect 38 0 30 0;
+#X connect 38 0 33 0;
+#X connect 39 0 41 2;
+#X connect 39 0 41 3;
+#X connect 39 0 41 1;
+#X connect 41 0 38 0;
+#X connect 42 0 7 0;
+#X connect 43 0 42 0;
+#X connect 44 0 21 0;
+#X connect 45 0 22 0;
+#X connect 46 0 23 0;
+#X connect 48 0 47 0;
+#X connect 49 0 51 0;
+#X connect 50 0 52 0;
+#X connect 51 0 50 1;
+#X connect 51 1 50 0;
+#X connect 52 0 47 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/10.glsl/13.panoramique.pd b/packages/noncvs/windows/extra/Gem/examples/10.glsl/13.panoramique.pd
index c483a4c9..bc8bd2c6 100644
--- a/packages/noncvs/windows/extra/Gem/examples/10.glsl/13.panoramique.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/10.glsl/13.panoramique.pd
@@ -1,525 +1,525 @@
-#N canvas 189 90 1107 660 10;
-#X msg 17 91 create \, 1;
-#X msg 30 114 0 \, destroy;
-#X obj 160 405 pix_texture;
-#X obj 169 165 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
--1 -1;
-#N canvas 1338 29 792 790 glsl 0;
-#X obj 78 339 glsl_vertex;
-#X msg 32 338 print;
-#X obj 78 626 glsl_program;
-#X obj 163 555 pack 0 0;
-#X msg 30 476 print;
-#X obj 163 511 change;
-#X obj 150 358 change;
-#X msg 163 579 link \$1 \$2;
-#X msg 32 620 print;
-#X obj 77 490 glsl_fragment;
-#X floatatom 163 535 2 0 0 0 ID - -;
-#X floatatom 150 381 2 0 0 0 ID - -;
-#X obj 181 600 print linking;
-#X obj 15 21 inlet;
-#X obj 78 662 outlet;
-#X obj 577 95 inlet;
-#X obj 15 44 route bang;
-#X obj 255 11 gemhead 1;
-#X msg 255 33 1;
-#X obj 255 57 change;
-#X obj 255 81 t b;
-#X obj 157 647 change;
-#X obj 157 668 t b;
-#X obj 158 690 outlet;
-#X obj 90 426 symbol;
-#X obj 90 401 t b;
-#X msg 287 598 0;
-#X obj 15 65 t b b b;
-#X msg 118 307 open panoramique.vert;
-#X msg 90 453 open panoramique.frag;
-#X connect 0 0 9 0;
-#X connect 0 1 6 0;
-#X connect 1 0 0 0;
-#X connect 2 0 14 0;
-#X connect 2 1 21 0;
-#X connect 3 0 7 0;
-#X connect 4 0 9 0;
-#X connect 5 0 10 0;
-#X connect 6 0 11 0;
-#X connect 6 0 25 0;
-#X connect 7 0 2 0;
-#X connect 7 0 12 0;
-#X connect 8 0 2 0;
-#X connect 9 0 2 0;
-#X connect 9 1 5 0;
-#X connect 10 0 3 0;
-#X connect 11 0 3 1;
-#X connect 13 0 16 0;
-#X connect 15 0 2 0;
-#X connect 16 0 27 0;
-#X connect 16 1 0 0;
-#X connect 17 0 18 0;
-#X connect 18 0 19 0;
-#X connect 19 0 20 0;
-#X connect 20 0 28 0;
-#X connect 21 0 22 0;
-#X connect 22 0 23 0;
-#X connect 24 0 29 0;
-#X connect 25 0 24 0;
-#X connect 26 0 21 0;
-#X connect 27 0 26 0;
-#X connect 27 1 10 0;
-#X connect 27 2 28 0;
-#X connect 28 0 0 0;
-#X connect 29 0 9 0;
-#X restore 160 182 pd glsl;
-#X obj 175 245 loadbang;
-#X obj 160 288 pix_image;
-#X msg 174 379 rectangle 1;
-#X obj 174 358 loadbang;
-#X obj 160 317 pix_info 0 0 0;
-#X msg 238 148 sizeX \$1;
-#X msg 253 169 sizeY \$1;
-#X obj 353 406 pix_texture;
-#X obj 362 166 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
--1 -1;
-#N canvas 1338 29 792 790 glsl 0;
-#X obj 78 339 glsl_vertex;
-#X msg 32 338 print;
-#X obj 78 626 glsl_program;
-#X obj 163 555 pack 0 0;
-#X msg 30 476 print;
-#X obj 163 511 change;
-#X obj 150 358 change;
-#X msg 163 579 link \$1 \$2;
-#X msg 32 620 print;
-#X obj 77 490 glsl_fragment;
-#X floatatom 163 535 2 0 0 0 ID - -;
-#X floatatom 150 381 2 0 0 0 ID - -;
-#X obj 181 600 print linking;
-#X obj 15 21 inlet;
-#X obj 78 662 outlet;
-#X obj 577 95 inlet;
-#X obj 15 44 route bang;
-#X obj 255 11 gemhead 1;
-#X msg 255 33 1;
-#X obj 255 57 change;
-#X obj 255 81 t b;
-#X obj 157 647 change;
-#X obj 157 668 t b;
-#X obj 158 690 outlet;
-#X obj 90 426 symbol;
-#X obj 90 401 t b;
-#X msg 287 598 0;
-#X obj 15 65 t b b b;
-#X msg 118 307 open panoramique.vert;
-#X msg 90 453 open panoramique.frag;
-#X connect 0 0 9 0;
-#X connect 0 1 6 0;
-#X connect 1 0 0 0;
-#X connect 2 0 14 0;
-#X connect 2 1 21 0;
-#X connect 3 0 7 0;
-#X connect 4 0 9 0;
-#X connect 5 0 10 0;
-#X connect 6 0 11 0;
-#X connect 6 0 25 0;
-#X connect 7 0 2 0;
-#X connect 7 0 12 0;
-#X connect 8 0 2 0;
-#X connect 9 0 2 0;
-#X connect 9 1 5 0;
-#X connect 10 0 3 0;
-#X connect 11 0 3 1;
-#X connect 13 0 16 0;
-#X connect 15 0 2 0;
-#X connect 16 0 27 0;
-#X connect 16 1 0 0;
-#X connect 17 0 18 0;
-#X connect 18 0 19 0;
-#X connect 19 0 20 0;
-#X connect 20 0 28 0;
-#X connect 21 0 22 0;
-#X connect 22 0 23 0;
-#X connect 24 0 29 0;
-#X connect 25 0 24 0;
-#X connect 26 0 21 0;
-#X connect 27 0 26 0;
-#X connect 27 1 10 0;
-#X connect 27 2 28 0;
-#X connect 28 0 0 0;
-#X connect 29 0 9 0;
-#X restore 353 183 pd glsl;
-#X obj 368 246 loadbang;
-#X obj 353 289 pix_image;
-#X msg 367 378 rectangle 1;
-#X obj 367 359 loadbang;
-#X obj 353 318 pix_info 0 0 0;
-#X msg 431 144 sizeX \$1;
-#X msg 446 170 sizeY \$1;
-#X obj 552 407 pix_texture;
-#X obj 561 167 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
--1 -1;
-#N canvas 1338 29 792 790 glsl 0;
-#X obj 78 339 glsl_vertex;
-#X msg 32 338 print;
-#X obj 78 626 glsl_program;
-#X obj 163 555 pack 0 0;
-#X msg 30 476 print;
-#X obj 163 511 change;
-#X obj 150 358 change;
-#X msg 163 579 link \$1 \$2;
-#X msg 32 620 print;
-#X obj 77 490 glsl_fragment;
-#X floatatom 163 535 2 0 0 0 ID - -;
-#X floatatom 150 381 2 0 0 0 ID - -;
-#X obj 181 600 print linking;
-#X obj 15 21 inlet;
-#X obj 78 662 outlet;
-#X obj 577 95 inlet;
-#X obj 15 44 route bang;
-#X obj 255 11 gemhead 1;
-#X msg 255 33 1;
-#X obj 255 57 change;
-#X obj 255 81 t b;
-#X obj 157 647 change;
-#X obj 157 668 t b;
-#X obj 158 690 outlet;
-#X obj 90 426 symbol;
-#X obj 90 401 t b;
-#X msg 287 598 0;
-#X obj 15 65 t b b b;
-#X msg 118 307 open panoramique.vert;
-#X msg 90 453 open panoramique.frag;
-#X connect 0 0 9 0;
-#X connect 0 1 6 0;
-#X connect 1 0 0 0;
-#X connect 2 0 14 0;
-#X connect 2 1 21 0;
-#X connect 3 0 7 0;
-#X connect 4 0 9 0;
-#X connect 5 0 10 0;
-#X connect 6 0 11 0;
-#X connect 6 0 25 0;
-#X connect 7 0 2 0;
-#X connect 7 0 12 0;
-#X connect 8 0 2 0;
-#X connect 9 0 2 0;
-#X connect 9 1 5 0;
-#X connect 10 0 3 0;
-#X connect 11 0 3 1;
-#X connect 13 0 16 0;
-#X connect 15 0 2 0;
-#X connect 16 0 27 0;
-#X connect 16 1 0 0;
-#X connect 17 0 18 0;
-#X connect 18 0 19 0;
-#X connect 19 0 20 0;
-#X connect 20 0 28 0;
-#X connect 21 0 22 0;
-#X connect 22 0 23 0;
-#X connect 24 0 29 0;
-#X connect 25 0 24 0;
-#X connect 26 0 21 0;
-#X connect 27 0 26 0;
-#X connect 27 1 10 0;
-#X connect 27 2 28 0;
-#X connect 28 0 0 0;
-#X connect 29 0 9 0;
-#X restore 552 184 pd glsl;
-#X obj 567 247 loadbang;
-#X obj 552 290 pix_image;
-#X msg 566 379 rectangle 1;
-#X obj 566 360 loadbang;
-#X obj 552 319 pix_info 0 0 0;
-#X msg 614 148 sizeX \$1;
-#X msg 633 166 sizeY \$1;
-#X obj 160 427 translateXYZ -3 0 0;
-#X obj 352 426 translateXYZ -1 0 0;
-#X obj 551 427 translateXYZ 1 0 0;
-#X obj 747 408 pix_texture;
-#X obj 756 168 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
--1 -1;
-#N canvas 1338 29 792 790 glsl 0;
-#X obj 78 339 glsl_vertex;
-#X msg 32 338 print;
-#X obj 78 626 glsl_program;
-#X obj 163 555 pack 0 0;
-#X msg 30 476 print;
-#X obj 163 511 change;
-#X obj 150 358 change;
-#X msg 163 579 link \$1 \$2;
-#X msg 32 620 print;
-#X obj 77 490 glsl_fragment;
-#X floatatom 163 535 2 0 0 0 ID - -;
-#X floatatom 150 381 2 0 0 0 ID - -;
-#X obj 181 600 print linking;
-#X obj 15 21 inlet;
-#X obj 78 662 outlet;
-#X obj 577 95 inlet;
-#X obj 15 44 route bang;
-#X obj 255 11 gemhead 1;
-#X msg 255 33 1;
-#X obj 255 57 change;
-#X obj 255 81 t b;
-#X obj 157 647 change;
-#X obj 157 668 t b;
-#X obj 158 690 outlet;
-#X obj 90 426 symbol;
-#X obj 90 401 t b;
-#X msg 287 598 0;
-#X obj 15 65 t b b b;
-#X msg 118 307 open panoramique.vert;
-#X msg 90 452 open panoramique.frag;
-#X connect 0 0 9 0;
-#X connect 0 1 6 0;
-#X connect 1 0 0 0;
-#X connect 2 0 14 0;
-#X connect 2 1 21 0;
-#X connect 3 0 7 0;
-#X connect 4 0 9 0;
-#X connect 5 0 10 0;
-#X connect 6 0 11 0;
-#X connect 6 0 25 0;
-#X connect 7 0 2 0;
-#X connect 7 0 12 0;
-#X connect 8 0 2 0;
-#X connect 9 0 2 0;
-#X connect 9 1 5 0;
-#X connect 10 0 3 0;
-#X connect 11 0 3 1;
-#X connect 13 0 16 0;
-#X connect 15 0 2 0;
-#X connect 16 0 27 0;
-#X connect 16 1 0 0;
-#X connect 17 0 18 0;
-#X connect 18 0 19 0;
-#X connect 19 0 20 0;
-#X connect 20 0 28 0;
-#X connect 21 0 22 0;
-#X connect 22 0 23 0;
-#X connect 24 0 29 0;
-#X connect 25 0 24 0;
-#X connect 26 0 21 0;
-#X connect 27 0 26 0;
-#X connect 27 1 10 0;
-#X connect 27 2 28 0;
-#X connect 28 0 0 0;
-#X connect 29 0 9 0;
-#X restore 747 185 pd glsl;
-#X obj 762 248 loadbang;
-#X obj 747 291 pix_image;
-#X msg 761 380 rectangle 1;
-#X obj 761 361 loadbang;
-#X obj 747 320 pix_info 0 0 0;
-#X msg 825 146 sizeX \$1;
-#X msg 840 172 sizeY \$1;
-#X obj 746 428 translateXYZ 3 0 0;
-#X floatatom 199 68 5 0 0 0 - - -;
-#X msg 199 87 dZ \$1;
-#X obj 17 430 s shaders;
-#X obj 206 205 s init_shader;
-#X obj 399 204 s init_shader;
-#X obj 600 204 s init_shader;
-#X obj 794 206 s init_shader;
-#X obj 399 124 r shaders;
-#X obj 598 126 r shaders;
-#X obj 793 127 r shaders;
-#X obj 160 506 rectangle 1 0.75;
-#X obj 352 507 rectangle 1 0.75;
-#X obj 551 508 rectangle 1 0.75;
-#X obj 746 509 rectangle 1 0.75;
-#X obj 160 463 translateXYZ 0 0 0;
-#X obj 201 446 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10
--262144 -1 -1 0.12 256;
-#X obj 259 446 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10
--262144 -1 -1 -0.06 256;
-#X obj 352 465 translateXYZ 0 0 0;
-#X obj 393 448 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10
--262144 -1 -1 0 256;
-#X obj 451 448 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10
--262144 -1 -1 0 256;
-#X obj 551 466 translateXYZ 0 0 0;
-#X obj 592 449 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10
--262144 -1 -1 -0.11 256;
-#X obj 650 449 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10
--262144 -1 -1 -0.03 256;
-#X obj 746 465 translateXYZ 0 0 0;
-#X obj 787 448 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10
--262144 -1 -1 -0.18 256;
-#X obj 845 448 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10
--262144 -1 -1 -0.05 256;
-#X obj 160 -30 gemhead 10;
-#X obj 353 -29 gemhead 20;
-#X obj 552 -28 gemhead 30;
-#X obj 747 -27 gemhead 40;
-#X obj 160 104 alpha;
-#X obj 353 103 alpha;
-#X obj 552 99 alpha;
-#X obj 747 102 alpha;
-#X msg 256 113 ShadeL \$1;
-#X obj 199 25 r init_shader;
-#X obj 256 92 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10
--262144 -1 -1 0 256;
-#X msg 447 93 ShadeL \$1;
-#X obj 447 72 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10
--262144 -1 -1 39 256;
-#X msg 634 95 ShadeL \$1;
-#X obj 634 74 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10
--262144 -1 -1 35 256;
-#X msg 831 93 ShadeL \$1;
-#X obj 831 72 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10
--262144 -1 -1 23 256;
-#X msg 212 486 -1;
-#X msg 269 485 -0.75;
-#X text 163 486 invert;
-#X msg 406 485 -1;
-#X msg 463 484 -0.75;
-#X text 357 485 invert;
-#X msg 605 488 -1;
-#X msg 662 487 -0.75;
-#X text 556 488 invert;
-#X msg 800 489 -1;
-#X msg 857 488 -0.75;
-#X text 751 489 invert;
-#X obj 17 218 gemwin;
-#X obj 37 168 loadbang;
-#X obj 160 -8 scaleXYZ 4 4 1;
-#X obj 353 -8 scaleXYZ 4 4 1;
-#X obj 552 -4 scaleXYZ 4 4 1;
-#X obj 747 -5 scaleXYZ 4 4 1;
-#X text 21 548 This patch allow multiples images to be assembled in
-order to dreate a panoramic image.;
-#X text 20 575 A shader distord the image to correct distance distortion
-\, and allow a fade between 2 images;
-#X text 17 602 "dz" depend on the angles between images.;
-#X text 462 579 copyright cyrille Henry and iem.;
-#X text 463 596 This developement was suported by the COMEDIA project
-;
-#X floatatom 18 354 5 0 0 0 - - -;
-#X msg 18 373 dZ \$1;
-#X obj 18 311 r init_shader;
-#X msg 18 333 1.62;
-#X msg 199 47 1.38;
-#X msg 37 192 dimen 1024 256;
-#X msg 177 264 thread 0 \, open cam1.jpg;
-#X msg 370 265 thread 0 \, open cam2.jpg;
-#X msg 569 266 thread 0 \, open cam3.jpg;
-#X msg 764 267 thread 0 \, open cam4.jpg;
-#X connect 0 0 101 0;
-#X connect 1 0 101 0;
-#X connect 2 0 32 0;
-#X connect 3 0 4 0;
-#X connect 4 0 6 0;
-#X connect 4 1 49 0;
-#X connect 4 1 82 0;
-#X connect 5 0 118 0;
-#X connect 6 0 9 0;
-#X connect 7 0 2 0;
-#X connect 8 0 7 0;
-#X connect 9 0 2 0;
-#X connect 9 1 10 0;
-#X connect 9 2 11 0;
-#X connect 10 0 4 1;
-#X connect 11 0 4 1;
-#X connect 12 0 33 0;
-#X connect 13 0 14 0;
-#X connect 14 0 16 0;
-#X connect 14 1 50 0;
-#X connect 14 1 84 0;
-#X connect 15 0 119 0;
-#X connect 16 0 19 0;
-#X connect 17 0 12 0;
-#X connect 18 0 17 0;
-#X connect 19 0 12 0;
-#X connect 19 1 20 0;
-#X connect 19 2 21 0;
-#X connect 20 0 14 1;
-#X connect 21 0 14 1;
-#X connect 22 0 34 0;
-#X connect 23 0 24 0;
-#X connect 24 0 26 0;
-#X connect 24 1 51 0;
-#X connect 24 1 86 0;
-#X connect 25 0 120 0;
-#X connect 26 0 29 0;
-#X connect 27 0 22 0;
-#X connect 28 0 27 0;
-#X connect 29 0 22 0;
-#X connect 29 1 30 0;
-#X connect 29 2 31 0;
-#X connect 30 0 24 1;
-#X connect 31 0 24 1;
-#X connect 32 0 60 0;
-#X connect 33 0 63 0;
-#X connect 34 0 66 0;
-#X connect 35 0 45 0;
-#X connect 36 0 37 0;
-#X connect 37 0 39 0;
-#X connect 37 1 52 0;
-#X connect 37 1 88 0;
-#X connect 38 0 121 0;
-#X connect 39 0 42 0;
-#X connect 40 0 35 0;
-#X connect 41 0 40 0;
-#X connect 42 0 35 0;
-#X connect 42 1 43 0;
-#X connect 42 2 44 0;
-#X connect 43 0 37 1;
-#X connect 44 0 37 1;
-#X connect 45 0 69 0;
-#X connect 46 0 47 0;
-#X connect 47 0 4 1;
-#X connect 53 0 14 1;
-#X connect 54 0 24 1;
-#X connect 55 0 37 1;
-#X connect 60 0 56 0;
-#X connect 61 0 60 1;
-#X connect 62 0 60 2;
-#X connect 63 0 57 0;
-#X connect 64 0 63 1;
-#X connect 65 0 63 2;
-#X connect 66 0 58 0;
-#X connect 67 0 66 1;
-#X connect 68 0 66 2;
-#X connect 69 0 59 0;
-#X connect 70 0 69 1;
-#X connect 71 0 69 2;
-#X connect 72 0 103 0;
-#X connect 73 0 104 0;
-#X connect 74 0 105 0;
-#X connect 75 0 106 0;
-#X connect 76 0 4 0;
-#X connect 77 0 14 0;
-#X connect 78 0 24 0;
-#X connect 79 0 37 0;
-#X connect 80 0 4 1;
-#X connect 81 0 116 0;
-#X connect 82 0 80 0;
-#X connect 83 0 14 1;
-#X connect 84 0 83 0;
-#X connect 85 0 24 1;
-#X connect 86 0 85 0;
-#X connect 87 0 37 1;
-#X connect 88 0 87 0;
-#X connect 89 0 56 1;
-#X connect 90 0 56 2;
-#X connect 92 0 57 1;
-#X connect 93 0 57 2;
-#X connect 95 0 58 1;
-#X connect 96 0 58 2;
-#X connect 98 0 59 1;
-#X connect 99 0 59 2;
-#X connect 102 0 117 0;
-#X connect 103 0 76 0;
-#X connect 104 0 77 0;
-#X connect 105 0 78 0;
-#X connect 106 0 79 0;
-#X connect 112 0 113 0;
-#X connect 113 0 48 0;
-#X connect 114 0 115 0;
-#X connect 115 0 112 0;
-#X connect 116 0 46 0;
-#X connect 117 0 101 0;
-#X connect 118 0 6 0;
-#X connect 119 0 16 0;
-#X connect 120 0 26 0;
-#X connect 121 0 39 0;
+#N canvas 189 90 1107 660 10;
+#X msg 17 91 create \, 1;
+#X msg 30 114 0 \, destroy;
+#X obj 160 405 pix_texture;
+#X obj 169 165 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#N canvas 1338 29 792 790 glsl 0;
+#X obj 78 339 glsl_vertex;
+#X msg 32 338 print;
+#X obj 78 626 glsl_program;
+#X obj 163 555 pack 0 0;
+#X msg 30 476 print;
+#X obj 163 511 change;
+#X obj 150 358 change;
+#X msg 163 579 link \$1 \$2;
+#X msg 32 620 print;
+#X obj 77 490 glsl_fragment;
+#X floatatom 163 535 2 0 0 0 ID - -;
+#X floatatom 150 381 2 0 0 0 ID - -;
+#X obj 181 600 print linking;
+#X obj 15 21 inlet;
+#X obj 78 662 outlet;
+#X obj 577 95 inlet;
+#X obj 15 44 route bang;
+#X obj 255 11 gemhead 1;
+#X msg 255 33 1;
+#X obj 255 57 change;
+#X obj 255 81 t b;
+#X obj 157 647 change;
+#X obj 157 668 t b;
+#X obj 158 690 outlet;
+#X obj 90 426 symbol;
+#X obj 90 401 t b;
+#X msg 287 598 0;
+#X obj 15 65 t b b b;
+#X msg 118 307 open panoramique.vert;
+#X msg 90 453 open panoramique.frag;
+#X connect 0 0 9 0;
+#X connect 0 1 6 0;
+#X connect 1 0 0 0;
+#X connect 2 0 14 0;
+#X connect 2 1 21 0;
+#X connect 3 0 7 0;
+#X connect 4 0 9 0;
+#X connect 5 0 10 0;
+#X connect 6 0 11 0;
+#X connect 6 0 25 0;
+#X connect 7 0 2 0;
+#X connect 7 0 12 0;
+#X connect 8 0 2 0;
+#X connect 9 0 2 0;
+#X connect 9 1 5 0;
+#X connect 10 0 3 0;
+#X connect 11 0 3 1;
+#X connect 13 0 16 0;
+#X connect 15 0 2 0;
+#X connect 16 0 27 0;
+#X connect 16 1 0 0;
+#X connect 17 0 18 0;
+#X connect 18 0 19 0;
+#X connect 19 0 20 0;
+#X connect 20 0 28 0;
+#X connect 21 0 22 0;
+#X connect 22 0 23 0;
+#X connect 24 0 29 0;
+#X connect 25 0 24 0;
+#X connect 26 0 21 0;
+#X connect 27 0 26 0;
+#X connect 27 1 10 0;
+#X connect 27 2 28 0;
+#X connect 28 0 0 0;
+#X connect 29 0 9 0;
+#X restore 160 182 pd glsl;
+#X obj 175 245 loadbang;
+#X obj 160 288 pix_image;
+#X msg 174 379 rectangle 1;
+#X obj 174 358 loadbang;
+#X obj 160 317 pix_info 0 0 0;
+#X msg 238 148 sizeX \$1;
+#X msg 253 169 sizeY \$1;
+#X obj 353 406 pix_texture;
+#X obj 362 166 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#N canvas 1338 29 792 790 glsl 0;
+#X obj 78 339 glsl_vertex;
+#X msg 32 338 print;
+#X obj 78 626 glsl_program;
+#X obj 163 555 pack 0 0;
+#X msg 30 476 print;
+#X obj 163 511 change;
+#X obj 150 358 change;
+#X msg 163 579 link \$1 \$2;
+#X msg 32 620 print;
+#X obj 77 490 glsl_fragment;
+#X floatatom 163 535 2 0 0 0 ID - -;
+#X floatatom 150 381 2 0 0 0 ID - -;
+#X obj 181 600 print linking;
+#X obj 15 21 inlet;
+#X obj 78 662 outlet;
+#X obj 577 95 inlet;
+#X obj 15 44 route bang;
+#X obj 255 11 gemhead 1;
+#X msg 255 33 1;
+#X obj 255 57 change;
+#X obj 255 81 t b;
+#X obj 157 647 change;
+#X obj 157 668 t b;
+#X obj 158 690 outlet;
+#X obj 90 426 symbol;
+#X obj 90 401 t b;
+#X msg 287 598 0;
+#X obj 15 65 t b b b;
+#X msg 118 307 open panoramique.vert;
+#X msg 90 453 open panoramique.frag;
+#X connect 0 0 9 0;
+#X connect 0 1 6 0;
+#X connect 1 0 0 0;
+#X connect 2 0 14 0;
+#X connect 2 1 21 0;
+#X connect 3 0 7 0;
+#X connect 4 0 9 0;
+#X connect 5 0 10 0;
+#X connect 6 0 11 0;
+#X connect 6 0 25 0;
+#X connect 7 0 2 0;
+#X connect 7 0 12 0;
+#X connect 8 0 2 0;
+#X connect 9 0 2 0;
+#X connect 9 1 5 0;
+#X connect 10 0 3 0;
+#X connect 11 0 3 1;
+#X connect 13 0 16 0;
+#X connect 15 0 2 0;
+#X connect 16 0 27 0;
+#X connect 16 1 0 0;
+#X connect 17 0 18 0;
+#X connect 18 0 19 0;
+#X connect 19 0 20 0;
+#X connect 20 0 28 0;
+#X connect 21 0 22 0;
+#X connect 22 0 23 0;
+#X connect 24 0 29 0;
+#X connect 25 0 24 0;
+#X connect 26 0 21 0;
+#X connect 27 0 26 0;
+#X connect 27 1 10 0;
+#X connect 27 2 28 0;
+#X connect 28 0 0 0;
+#X connect 29 0 9 0;
+#X restore 353 183 pd glsl;
+#X obj 368 246 loadbang;
+#X obj 353 289 pix_image;
+#X msg 367 378 rectangle 1;
+#X obj 367 359 loadbang;
+#X obj 353 318 pix_info 0 0 0;
+#X msg 431 144 sizeX \$1;
+#X msg 446 170 sizeY \$1;
+#X obj 552 407 pix_texture;
+#X obj 561 167 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#N canvas 1338 29 792 790 glsl 0;
+#X obj 78 339 glsl_vertex;
+#X msg 32 338 print;
+#X obj 78 626 glsl_program;
+#X obj 163 555 pack 0 0;
+#X msg 30 476 print;
+#X obj 163 511 change;
+#X obj 150 358 change;
+#X msg 163 579 link \$1 \$2;
+#X msg 32 620 print;
+#X obj 77 490 glsl_fragment;
+#X floatatom 163 535 2 0 0 0 ID - -;
+#X floatatom 150 381 2 0 0 0 ID - -;
+#X obj 181 600 print linking;
+#X obj 15 21 inlet;
+#X obj 78 662 outlet;
+#X obj 577 95 inlet;
+#X obj 15 44 route bang;
+#X obj 255 11 gemhead 1;
+#X msg 255 33 1;
+#X obj 255 57 change;
+#X obj 255 81 t b;
+#X obj 157 647 change;
+#X obj 157 668 t b;
+#X obj 158 690 outlet;
+#X obj 90 426 symbol;
+#X obj 90 401 t b;
+#X msg 287 598 0;
+#X obj 15 65 t b b b;
+#X msg 118 307 open panoramique.vert;
+#X msg 90 453 open panoramique.frag;
+#X connect 0 0 9 0;
+#X connect 0 1 6 0;
+#X connect 1 0 0 0;
+#X connect 2 0 14 0;
+#X connect 2 1 21 0;
+#X connect 3 0 7 0;
+#X connect 4 0 9 0;
+#X connect 5 0 10 0;
+#X connect 6 0 11 0;
+#X connect 6 0 25 0;
+#X connect 7 0 2 0;
+#X connect 7 0 12 0;
+#X connect 8 0 2 0;
+#X connect 9 0 2 0;
+#X connect 9 1 5 0;
+#X connect 10 0 3 0;
+#X connect 11 0 3 1;
+#X connect 13 0 16 0;
+#X connect 15 0 2 0;
+#X connect 16 0 27 0;
+#X connect 16 1 0 0;
+#X connect 17 0 18 0;
+#X connect 18 0 19 0;
+#X connect 19 0 20 0;
+#X connect 20 0 28 0;
+#X connect 21 0 22 0;
+#X connect 22 0 23 0;
+#X connect 24 0 29 0;
+#X connect 25 0 24 0;
+#X connect 26 0 21 0;
+#X connect 27 0 26 0;
+#X connect 27 1 10 0;
+#X connect 27 2 28 0;
+#X connect 28 0 0 0;
+#X connect 29 0 9 0;
+#X restore 552 184 pd glsl;
+#X obj 567 247 loadbang;
+#X obj 552 290 pix_image;
+#X msg 566 379 rectangle 1;
+#X obj 566 360 loadbang;
+#X obj 552 319 pix_info 0 0 0;
+#X msg 614 148 sizeX \$1;
+#X msg 633 166 sizeY \$1;
+#X obj 160 427 translateXYZ -3 0 0;
+#X obj 352 426 translateXYZ -1 0 0;
+#X obj 551 427 translateXYZ 1 0 0;
+#X obj 747 408 pix_texture;
+#X obj 756 168 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#N canvas 1338 29 792 790 glsl 0;
+#X obj 78 339 glsl_vertex;
+#X msg 32 338 print;
+#X obj 78 626 glsl_program;
+#X obj 163 555 pack 0 0;
+#X msg 30 476 print;
+#X obj 163 511 change;
+#X obj 150 358 change;
+#X msg 163 579 link \$1 \$2;
+#X msg 32 620 print;
+#X obj 77 490 glsl_fragment;
+#X floatatom 163 535 2 0 0 0 ID - -;
+#X floatatom 150 381 2 0 0 0 ID - -;
+#X obj 181 600 print linking;
+#X obj 15 21 inlet;
+#X obj 78 662 outlet;
+#X obj 577 95 inlet;
+#X obj 15 44 route bang;
+#X obj 255 11 gemhead 1;
+#X msg 255 33 1;
+#X obj 255 57 change;
+#X obj 255 81 t b;
+#X obj 157 647 change;
+#X obj 157 668 t b;
+#X obj 158 690 outlet;
+#X obj 90 426 symbol;
+#X obj 90 401 t b;
+#X msg 287 598 0;
+#X obj 15 65 t b b b;
+#X msg 118 307 open panoramique.vert;
+#X msg 90 452 open panoramique.frag;
+#X connect 0 0 9 0;
+#X connect 0 1 6 0;
+#X connect 1 0 0 0;
+#X connect 2 0 14 0;
+#X connect 2 1 21 0;
+#X connect 3 0 7 0;
+#X connect 4 0 9 0;
+#X connect 5 0 10 0;
+#X connect 6 0 11 0;
+#X connect 6 0 25 0;
+#X connect 7 0 2 0;
+#X connect 7 0 12 0;
+#X connect 8 0 2 0;
+#X connect 9 0 2 0;
+#X connect 9 1 5 0;
+#X connect 10 0 3 0;
+#X connect 11 0 3 1;
+#X connect 13 0 16 0;
+#X connect 15 0 2 0;
+#X connect 16 0 27 0;
+#X connect 16 1 0 0;
+#X connect 17 0 18 0;
+#X connect 18 0 19 0;
+#X connect 19 0 20 0;
+#X connect 20 0 28 0;
+#X connect 21 0 22 0;
+#X connect 22 0 23 0;
+#X connect 24 0 29 0;
+#X connect 25 0 24 0;
+#X connect 26 0 21 0;
+#X connect 27 0 26 0;
+#X connect 27 1 10 0;
+#X connect 27 2 28 0;
+#X connect 28 0 0 0;
+#X connect 29 0 9 0;
+#X restore 747 185 pd glsl;
+#X obj 762 248 loadbang;
+#X obj 747 291 pix_image;
+#X msg 761 380 rectangle 1;
+#X obj 761 361 loadbang;
+#X obj 747 320 pix_info 0 0 0;
+#X msg 825 146 sizeX \$1;
+#X msg 840 172 sizeY \$1;
+#X obj 746 428 translateXYZ 3 0 0;
+#X floatatom 199 68 5 0 0 0 - - -;
+#X msg 199 87 dZ \$1;
+#X obj 17 430 s shaders;
+#X obj 206 205 s init_shader;
+#X obj 399 204 s init_shader;
+#X obj 600 204 s init_shader;
+#X obj 794 206 s init_shader;
+#X obj 399 124 r shaders;
+#X obj 598 126 r shaders;
+#X obj 793 127 r shaders;
+#X obj 160 506 rectangle 1 0.75;
+#X obj 352 507 rectangle 1 0.75;
+#X obj 551 508 rectangle 1 0.75;
+#X obj 746 509 rectangle 1 0.75;
+#X obj 160 463 translateXYZ 0 0 0;
+#X obj 201 446 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10
+-262144 -1 -1 0.12 256;
+#X obj 259 446 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10
+-262144 -1 -1 -0.06 256;
+#X obj 352 465 translateXYZ 0 0 0;
+#X obj 393 448 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10
+-262144 -1 -1 0 256;
+#X obj 451 448 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10
+-262144 -1 -1 0 256;
+#X obj 551 466 translateXYZ 0 0 0;
+#X obj 592 449 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10
+-262144 -1 -1 -0.11 256;
+#X obj 650 449 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10
+-262144 -1 -1 -0.03 256;
+#X obj 746 465 translateXYZ 0 0 0;
+#X obj 787 448 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10
+-262144 -1 -1 -0.18 256;
+#X obj 845 448 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10
+-262144 -1 -1 -0.05 256;
+#X obj 160 -30 gemhead 10;
+#X obj 353 -29 gemhead 20;
+#X obj 552 -28 gemhead 30;
+#X obj 747 -27 gemhead 40;
+#X obj 160 104 alpha;
+#X obj 353 103 alpha;
+#X obj 552 99 alpha;
+#X obj 747 102 alpha;
+#X msg 256 113 ShadeL \$1;
+#X obj 199 25 r init_shader;
+#X obj 256 92 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10
+-262144 -1 -1 0 256;
+#X msg 447 93 ShadeL \$1;
+#X obj 447 72 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10
+-262144 -1 -1 39 256;
+#X msg 634 95 ShadeL \$1;
+#X obj 634 74 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10
+-262144 -1 -1 35 256;
+#X msg 831 93 ShadeL \$1;
+#X obj 831 72 nbx 5 14 -1e+37 1e+37 0 1 empty empty empty 0 -8 0 10
+-262144 -1 -1 23 256;
+#X msg 212 486 -1;
+#X msg 269 485 -0.75;
+#X text 163 486 invert;
+#X msg 406 485 -1;
+#X msg 463 484 -0.75;
+#X text 357 485 invert;
+#X msg 605 488 -1;
+#X msg 662 487 -0.75;
+#X text 556 488 invert;
+#X msg 800 489 -1;
+#X msg 857 488 -0.75;
+#X text 751 489 invert;
+#X obj 17 218 gemwin;
+#X obj 37 168 loadbang;
+#X obj 160 -8 scaleXYZ 4 4 1;
+#X obj 353 -8 scaleXYZ 4 4 1;
+#X obj 552 -4 scaleXYZ 4 4 1;
+#X obj 747 -5 scaleXYZ 4 4 1;
+#X text 21 548 This patch allow multiples images to be assembled in
+order to dreate a panoramic image.;
+#X text 20 575 A shader distord the image to correct distance distortion
+\, and allow a fade between 2 images;
+#X text 17 602 "dz" depend on the angles between images.;
+#X text 462 579 copyright cyrille Henry and iem.;
+#X text 463 596 This developement was suported by the COMEDIA project
+;
+#X floatatom 18 354 5 0 0 0 - - -;
+#X msg 18 373 dZ \$1;
+#X obj 18 311 r init_shader;
+#X msg 18 333 1.62;
+#X msg 199 47 1.38;
+#X msg 37 192 dimen 1024 256;
+#X msg 177 264 thread 0 \, open cam1.jpg;
+#X msg 370 265 thread 0 \, open cam2.jpg;
+#X msg 569 266 thread 0 \, open cam3.jpg;
+#X msg 764 267 thread 0 \, open cam4.jpg;
+#X connect 0 0 101 0;
+#X connect 1 0 101 0;
+#X connect 2 0 32 0;
+#X connect 3 0 4 0;
+#X connect 4 0 6 0;
+#X connect 4 1 49 0;
+#X connect 4 1 82 0;
+#X connect 5 0 118 0;
+#X connect 6 0 9 0;
+#X connect 7 0 2 0;
+#X connect 8 0 7 0;
+#X connect 9 0 2 0;
+#X connect 9 1 10 0;
+#X connect 9 2 11 0;
+#X connect 10 0 4 1;
+#X connect 11 0 4 1;
+#X connect 12 0 33 0;
+#X connect 13 0 14 0;
+#X connect 14 0 16 0;
+#X connect 14 1 50 0;
+#X connect 14 1 84 0;
+#X connect 15 0 119 0;
+#X connect 16 0 19 0;
+#X connect 17 0 12 0;
+#X connect 18 0 17 0;
+#X connect 19 0 12 0;
+#X connect 19 1 20 0;
+#X connect 19 2 21 0;
+#X connect 20 0 14 1;
+#X connect 21 0 14 1;
+#X connect 22 0 34 0;
+#X connect 23 0 24 0;
+#X connect 24 0 26 0;
+#X connect 24 1 51 0;
+#X connect 24 1 86 0;
+#X connect 25 0 120 0;
+#X connect 26 0 29 0;
+#X connect 27 0 22 0;
+#X connect 28 0 27 0;
+#X connect 29 0 22 0;
+#X connect 29 1 30 0;
+#X connect 29 2 31 0;
+#X connect 30 0 24 1;
+#X connect 31 0 24 1;
+#X connect 32 0 60 0;
+#X connect 33 0 63 0;
+#X connect 34 0 66 0;
+#X connect 35 0 45 0;
+#X connect 36 0 37 0;
+#X connect 37 0 39 0;
+#X connect 37 1 52 0;
+#X connect 37 1 88 0;
+#X connect 38 0 121 0;
+#X connect 39 0 42 0;
+#X connect 40 0 35 0;
+#X connect 41 0 40 0;
+#X connect 42 0 35 0;
+#X connect 42 1 43 0;
+#X connect 42 2 44 0;
+#X connect 43 0 37 1;
+#X connect 44 0 37 1;
+#X connect 45 0 69 0;
+#X connect 46 0 47 0;
+#X connect 47 0 4 1;
+#X connect 53 0 14 1;
+#X connect 54 0 24 1;
+#X connect 55 0 37 1;
+#X connect 60 0 56 0;
+#X connect 61 0 60 1;
+#X connect 62 0 60 2;
+#X connect 63 0 57 0;
+#X connect 64 0 63 1;
+#X connect 65 0 63 2;
+#X connect 66 0 58 0;
+#X connect 67 0 66 1;
+#X connect 68 0 66 2;
+#X connect 69 0 59 0;
+#X connect 70 0 69 1;
+#X connect 71 0 69 2;
+#X connect 72 0 103 0;
+#X connect 73 0 104 0;
+#X connect 74 0 105 0;
+#X connect 75 0 106 0;
+#X connect 76 0 4 0;
+#X connect 77 0 14 0;
+#X connect 78 0 24 0;
+#X connect 79 0 37 0;
+#X connect 80 0 4 1;
+#X connect 81 0 116 0;
+#X connect 82 0 80 0;
+#X connect 83 0 14 1;
+#X connect 84 0 83 0;
+#X connect 85 0 24 1;
+#X connect 86 0 85 0;
+#X connect 87 0 37 1;
+#X connect 88 0 87 0;
+#X connect 89 0 56 1;
+#X connect 90 0 56 2;
+#X connect 92 0 57 1;
+#X connect 93 0 57 2;
+#X connect 95 0 58 1;
+#X connect 96 0 58 2;
+#X connect 98 0 59 1;
+#X connect 99 0 59 2;
+#X connect 102 0 117 0;
+#X connect 103 0 76 0;
+#X connect 104 0 77 0;
+#X connect 105 0 78 0;
+#X connect 106 0 79 0;
+#X connect 112 0 113 0;
+#X connect 113 0 48 0;
+#X connect 114 0 115 0;
+#X connect 115 0 112 0;
+#X connect 116 0 46 0;
+#X connect 117 0 101 0;
+#X connect 118 0 6 0;
+#X connect 119 0 16 0;
+#X connect 120 0 26 0;
+#X connect 121 0 39 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/10.glsl/GLSL_mix.frag b/packages/noncvs/windows/extra/Gem/examples/10.glsl/GLSL_mix.frag
index ce47bf88..6adf81b3 100644
--- a/packages/noncvs/windows/extra/Gem/examples/10.glsl/GLSL_mix.frag
+++ b/packages/noncvs/windows/extra/Gem/examples/10.glsl/GLSL_mix.frag
@@ -1,35 +1,35 @@
-//jack/RYBN 2010
-#extension GL_EXT_gpu_shader4 : enable
-#extension GL_ARB_texture_rectangle : enable
-uniform sampler2DRect Ttex1;
-uniform sampler2DRect Ttex2;
-uniform sampler2DRect tex0;
-uniform float style;
-uniform float mix_factor;
-varying vec2 texcoord0;
-ivec2 size1 = textureSize2DRect(Ttex1, 0);
-ivec2 size2 = textureSize2DRect(Ttex2, 0);
-ivec2 size0 = textureSize2DRect(tex0, 0);
-
-void main (void)
-{
- float sizeF1X = float(size1.x)/float(size0.x);
- float sizeF1Y = float(size1.y)/float(size0.y);
- float sizeF2X = float(size2.x)/float(size0.x);
- float sizeF2Y = float(size2.y)/float(size0.y);
- vec4 color1 = texture2DRect(Ttex1, vec2(texcoord0.s*sizeF1X,texcoord0.t*sizeF1Y));
- vec4 color2 = texture2DRect(Ttex2, vec2(texcoord0.s*sizeF2X,texcoord0.t*sizeF2Y));
- if (style == 0.) {
- gl_FragColor = (color1 + color2);
- } else if (style == 1.) {
- gl_FragColor = (color1 - color2);
- } else if (style == 2.) {
- gl_FragColor = abs(color1 - color2);
- } else if (style == 3.) {
- gl_FragColor = (color1 * color2);
- } else if (style == 4.) {
- gl_FragColor = mix(color1,color2,mix_factor);
- }
-
-}
-
+//jack/RYBN 2010
+#extension GL_EXT_gpu_shader4 : enable
+#extension GL_ARB_texture_rectangle : enable
+uniform sampler2DRect Ttex1;
+uniform sampler2DRect Ttex2;
+uniform sampler2DRect tex0;
+uniform float style;
+uniform float mix_factor;
+varying vec2 texcoord0;
+ivec2 size1 = textureSize2DRect(Ttex1, 0);
+ivec2 size2 = textureSize2DRect(Ttex2, 0);
+ivec2 size0 = textureSize2DRect(tex0, 0);
+
+void main (void)
+{
+ float sizeF1X = float(size1.x)/float(size0.x);
+ float sizeF1Y = float(size1.y)/float(size0.y);
+ float sizeF2X = float(size2.x)/float(size0.x);
+ float sizeF2Y = float(size2.y)/float(size0.y);
+ vec4 color1 = texture2DRect(Ttex1, vec2(texcoord0.s*sizeF1X,texcoord0.t*sizeF1Y));
+ vec4 color2 = texture2DRect(Ttex2, vec2(texcoord0.s*sizeF2X,texcoord0.t*sizeF2Y));
+ if (style == 0.) {
+ gl_FragColor = (color1 + color2);
+ } else if (style == 1.) {
+ gl_FragColor = (color1 - color2);
+ } else if (style == 2.) {
+ gl_FragColor = abs(color1 - color2);
+ } else if (style == 3.) {
+ gl_FragColor = (color1 * color2);
+ } else if (style == 4.) {
+ gl_FragColor = mix(color1,color2,mix_factor);
+ }
+
+}
+
diff --git a/packages/noncvs/windows/extra/Gem/examples/10.glsl/GLSL_mix.vert b/packages/noncvs/windows/extra/Gem/examples/10.glsl/GLSL_mix.vert
index a69a61f7..4ad38bd7 100644
--- a/packages/noncvs/windows/extra/Gem/examples/10.glsl/GLSL_mix.vert
+++ b/packages/noncvs/windows/extra/Gem/examples/10.glsl/GLSL_mix.vert
@@ -1,9 +1,9 @@
-//jack/RYBN 2010
-varying vec2 texcoord0;
-
-void main()
-{
- texcoord0 = (gl_TextureMatrix[0]*gl_MultiTexCoord0).st;
- gl_Position = ftransform();
-
-}
+//jack/RYBN 2010
+varying vec2 texcoord0;
+
+void main()
+{
+ texcoord0 = (gl_TextureMatrix[0]*gl_MultiTexCoord0).st;
+ gl_Position = ftransform();
+
+}
diff --git a/packages/noncvs/windows/extra/Gem/examples/10.glsl/P_distord.frag b/packages/noncvs/windows/extra/Gem/examples/10.glsl/P_distord.frag
index 5460d6ce..10ac6b14 100644
--- a/packages/noncvs/windows/extra/Gem/examples/10.glsl/P_distord.frag
+++ b/packages/noncvs/windows/extra/Gem/examples/10.glsl/P_distord.frag
@@ -1,19 +1,19 @@
-// Cyrille Henry 2007
-
-uniform sampler2D tex0;
-
-void main()
-{
- vec2 C = (gl_TextureMatrix[0] * gl_TexCoord[0]).st;
- gl_FragColor = texture2D(tex0, C ) ;
-}
-
-
-
-
-
-
-
-
-
-
+// Cyrille Henry 2007
+
+uniform sampler2D tex0;
+
+void main()
+{
+ vec2 C = (gl_TextureMatrix[0] * gl_TexCoord[0]).st;
+ gl_FragColor = texture2D(tex0, C ) ;
+}
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/noncvs/windows/extra/Gem/examples/10.glsl/P_distord.vert b/packages/noncvs/windows/extra/Gem/examples/10.glsl/P_distord.vert
index f0db5f36..99742f46 100644
--- a/packages/noncvs/windows/extra/Gem/examples/10.glsl/P_distord.vert
+++ b/packages/noncvs/windows/extra/Gem/examples/10.glsl/P_distord.vert
@@ -1,21 +1,21 @@
-// Cyrille Henry 2007
-
-uniform float K;
-uniform sampler2D tex0;
-
-void main()
-{
- gl_TexCoord[0] = gl_MultiTexCoord0;
-
- float xs1 = sin((1.2 + gl_TexCoord[0].s)*(2.3+gl_TexCoord[0].t));
- float xs2 = sin(xs1*533.);
- float xs3 = K * sin(xs2*1013.);
-
- float ys1 = sin((2.1 + gl_TexCoord[0].s)*(3.2+gl_TexCoord[0].t));
- float ys2 = sin(ys1*5313.);
- float ys3 = K * sin(ys2*10113.);
-
- gl_Position = gl_ModelViewProjectionMatrix * (gl_Vertex + vec4(xs3,ys3,0.,0.));
-
-}
-
+// Cyrille Henry 2007
+
+uniform float K;
+uniform sampler2D tex0;
+
+void main()
+{
+ gl_TexCoord[0] = gl_MultiTexCoord0;
+
+ float xs1 = sin((1.2 + gl_TexCoord[0].s)*(2.3+gl_TexCoord[0].t));
+ float xs2 = sin(xs1*533.);
+ float xs3 = K * sin(xs2*1013.);
+
+ float ys1 = sin((2.1 + gl_TexCoord[0].s)*(3.2+gl_TexCoord[0].t));
+ float ys2 = sin(ys1*5313.);
+ float ys3 = K * sin(ys2*10113.);
+
+ gl_Position = gl_ModelViewProjectionMatrix * (gl_Vertex + vec4(xs3,ys3,0.,0.));
+
+}
+
diff --git a/packages/noncvs/windows/extra/Gem/examples/10.glsl/T_distord.frag b/packages/noncvs/windows/extra/Gem/examples/10.glsl/T_distord.frag
index 385f427c..15e33610 100644
--- a/packages/noncvs/windows/extra/Gem/examples/10.glsl/T_distord.frag
+++ b/packages/noncvs/windows/extra/Gem/examples/10.glsl/T_distord.frag
@@ -1,31 +1,31 @@
-// Cyrille Henry 2007
-
-uniform float K1, seed;
-uniform sampler2D tex0;
-
-void main()
-{
-
- vec2 C = (gl_TextureMatrix[0] * gl_TexCoord[0]).st;
-
- float xs1 = sin(gl_TexCoord[0].s*gl_TexCoord[0].t/(abs(seed)+1.));
- float xs2 = sin(xs1*533.);
- float xs3 = sin(xs2*1013.);
-
- float ys1 = sin(gl_TexCoord[0].s*gl_TexCoord[0].t/(abs(seed)+1.));
- float ys2 = sin(ys1*5313.);
- float ys3 = sin(ys2*10113.);
-
- gl_FragColor = texture2D(tex0, C + K1 * 0.01 *vec2(xs3,ys3)) ;
-
-}
-
-
-
-
-
-
-
-
-
-
+// Cyrille Henry 2007
+
+uniform float K1, seed;
+uniform sampler2D tex0;
+
+void main()
+{
+
+ vec2 C = (gl_TextureMatrix[0] * gl_TexCoord[0]).st;
+
+ float xs1 = sin(gl_TexCoord[0].s*gl_TexCoord[0].t/(abs(seed)+1.));
+ float xs2 = sin(xs1*533.);
+ float xs3 = sin(xs2*1013.);
+
+ float ys1 = sin(gl_TexCoord[0].s*gl_TexCoord[0].t/(abs(seed)+1.));
+ float ys2 = sin(ys1*5313.);
+ float ys3 = sin(ys2*10113.);
+
+ gl_FragColor = texture2D(tex0, C + K1 * 0.01 *vec2(xs3,ys3)) ;
+
+}
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/noncvs/windows/extra/Gem/examples/10.glsl/T_distord.vert b/packages/noncvs/windows/extra/Gem/examples/10.glsl/T_distord.vert
index 11436151..f3155e48 100644
--- a/packages/noncvs/windows/extra/Gem/examples/10.glsl/T_distord.vert
+++ b/packages/noncvs/windows/extra/Gem/examples/10.glsl/T_distord.vert
@@ -1,9 +1,9 @@
-// Cyrille Henry 2007
-
-void main()
-{
- gl_TexCoord[0] = gl_MultiTexCoord0;
- gl_Position = ftransform();
-
-}
-
+// Cyrille Henry 2007
+
+void main()
+{
+ gl_TexCoord[0] = gl_MultiTexCoord0;
+ gl_Position = ftransform();
+
+}
+
diff --git a/packages/noncvs/windows/extra/Gem/examples/10.glsl/fetching.frag b/packages/noncvs/windows/extra/Gem/examples/10.glsl/fetching.frag
index 3d1af1f0..82214d26 100644
--- a/packages/noncvs/windows/extra/Gem/examples/10.glsl/fetching.frag
+++ b/packages/noncvs/windows/extra/Gem/examples/10.glsl/fetching.frag
@@ -1,8 +1,8 @@
-varying vec4 C;
-
-void main (void)
-{
- gl_FragColor = C;
-}
-
-
+varying vec4 C;
+
+void main (void)
+{
+ gl_FragColor = C;
+}
+
+
diff --git a/packages/noncvs/windows/extra/Gem/examples/10.glsl/fetching.vert b/packages/noncvs/windows/extra/Gem/examples/10.glsl/fetching.vert
index b41cc162..c835c6da 100644
--- a/packages/noncvs/windows/extra/Gem/examples/10.glsl/fetching.vert
+++ b/packages/noncvs/windows/extra/Gem/examples/10.glsl/fetching.vert
@@ -1,15 +1,15 @@
-uniform sampler2D MyTex;
-varying vec4 C;
-void main()
-{
- vec4 v = vec4(gl_Vertex);
- vec4 color = texture2D(MyTex, (gl_TextureMatrix[0] * gl_MultiTexCoord0).st);
- v.z = color.r;
-// v.x += (color.b-0.5)/2.;
-// v.y += (color.g-0.5)/2.;
-
- C=color;
- gl_Position = gl_ModelViewProjectionMatrix * v;
-
-}
-
+uniform sampler2D MyTex;
+varying vec4 C;
+void main()
+{
+ vec4 v = vec4(gl_Vertex);
+ vec4 color = texture2D(MyTex, (gl_TextureMatrix[0] * gl_MultiTexCoord0).st);
+ v.z = color.r;
+// v.x += (color.b-0.5)/2.;
+// v.y += (color.g-0.5)/2.;
+
+ C=color;
+ gl_Position = gl_ModelViewProjectionMatrix * v;
+
+}
+
diff --git a/packages/noncvs/windows/extra/Gem/examples/10.glsl/fetching2.frag b/packages/noncvs/windows/extra/Gem/examples/10.glsl/fetching2.frag
index ac41ff9b..ad5b4ced 100644
--- a/packages/noncvs/windows/extra/Gem/examples/10.glsl/fetching2.frag
+++ b/packages/noncvs/windows/extra/Gem/examples/10.glsl/fetching2.frag
@@ -1,56 +1,56 @@
-// Cyrille Henry 2008
-#extension GL_ARB_texture_rectangle : enable
-
-uniform sampler2DRect texture;
-uniform float K2, K;
-
-vec2 pos_(vec2 V, float x, float y)
-{
- V += vec2(x,y);
- return(max(min(V,vec2(91.,63.)),vec2(0.)));
-}
-
-
-void main (void)
-{
- vec2 pos = gl_TexCoord[0].st * vec2(90.,62.)/256. ;
-
- vec4 color1 = texture2DRect(texture,pos_(pos,-1.,-1.));
- vec4 color2 = texture2DRect(texture,pos_(pos, 0.,-1.));
- vec4 color3 = texture2DRect(texture,pos_(pos, 1.,-1.));
- vec4 color4 = texture2DRect(texture,pos_(pos,-1., 0.));
- vec4 color5 = texture2DRect(texture,pos_(pos, 0., 0.));
- vec4 color6 = texture2DRect(texture,pos_(pos, 1., 0.));
- vec4 color7 = texture2DRect(texture,pos_(pos,-1., 1.));
- vec4 color8 = texture2DRect(texture,pos_(pos, 0., 1.));
- vec4 color9 = texture2DRect(texture,pos_(pos, 1., 1.));
-
- vec4 colorBG = color1 + color2 + color4 + color5;
- vec4 colorBD = color3 + color2 + color6 + color5;
- vec4 colorHG = color4 + color5 + color7 + color8;
- vec4 colorHD = color5 + color6 + color8 + color9;
-
- vec2 fract_pos = (fract(pos));
-
- vec4 XB = mix(colorBG,colorBD,fract_pos.x);
- vec4 XH = mix(colorHG,colorHD,fract_pos.x);
- vec4 X = mix(XB,XH,fract_pos.y) / 4.;
-
- X -= vec4(0.5);
- X.xyz = normalize(X.xyz);
-
- if(gl_FrontFacing)
- {X *= -1.;}
-
- float tmp = dot(X.xyz,normalize(vec3(0.,1.,1.)));
- tmp = -tmp;
- tmp = max(0.,tmp) + 0.3 * min(0.,tmp);
-
- tmp = 0.1 + 0.9 * tmp;
- vec4 color = tmp * vec4(1,0.95,0.9,1);
- color.a = smoothstep(0.75,1.,pos.x);
- gl_FragColor = color;
-
-}
-
-
+// Cyrille Henry 2008
+#extension GL_ARB_texture_rectangle : enable
+
+uniform sampler2DRect texture;
+uniform float K2, K;
+
+vec2 pos_(vec2 V, float x, float y)
+{
+ V += vec2(x,y);
+ return(max(min(V,vec2(91.,63.)),vec2(0.)));
+}
+
+
+void main (void)
+{
+ vec2 pos = gl_TexCoord[0].st * vec2(90.,62.)/256. ;
+
+ vec4 color1 = texture2DRect(texture,pos_(pos,-1.,-1.));
+ vec4 color2 = texture2DRect(texture,pos_(pos, 0.,-1.));
+ vec4 color3 = texture2DRect(texture,pos_(pos, 1.,-1.));
+ vec4 color4 = texture2DRect(texture,pos_(pos,-1., 0.));
+ vec4 color5 = texture2DRect(texture,pos_(pos, 0., 0.));
+ vec4 color6 = texture2DRect(texture,pos_(pos, 1., 0.));
+ vec4 color7 = texture2DRect(texture,pos_(pos,-1., 1.));
+ vec4 color8 = texture2DRect(texture,pos_(pos, 0., 1.));
+ vec4 color9 = texture2DRect(texture,pos_(pos, 1., 1.));
+
+ vec4 colorBG = color1 + color2 + color4 + color5;
+ vec4 colorBD = color3 + color2 + color6 + color5;
+ vec4 colorHG = color4 + color5 + color7 + color8;
+ vec4 colorHD = color5 + color6 + color8 + color9;
+
+ vec2 fract_pos = (fract(pos));
+
+ vec4 XB = mix(colorBG,colorBD,fract_pos.x);
+ vec4 XH = mix(colorHG,colorHD,fract_pos.x);
+ vec4 X = mix(XB,XH,fract_pos.y) / 4.;
+
+ X -= vec4(0.5);
+ X.xyz = normalize(X.xyz);
+
+ if(gl_FrontFacing)
+ {X *= -1.;}
+
+ float tmp = dot(X.xyz,normalize(vec3(0.,1.,1.)));
+ tmp = -tmp;
+ tmp = max(0.,tmp) + 0.3 * min(0.,tmp);
+
+ tmp = 0.1 + 0.9 * tmp;
+ vec4 color = tmp * vec4(1,0.95,0.9,1);
+ color.a = smoothstep(0.75,1.,pos.x);
+ gl_FragColor = color;
+
+}
+
+
diff --git a/packages/noncvs/windows/extra/Gem/examples/10.glsl/fetching2.vert b/packages/noncvs/windows/extra/Gem/examples/10.glsl/fetching2.vert
index 01fbf0ab..75099db4 100644
--- a/packages/noncvs/windows/extra/Gem/examples/10.glsl/fetching2.vert
+++ b/packages/noncvs/windows/extra/Gem/examples/10.glsl/fetching2.vert
@@ -1,21 +1,21 @@
-// Cyrille Henry 2008
-#extension GL_ARB_texture_rectangle : enable
-
-uniform sampler2DRect MyTex;
-uniform float K;
-
-void main()
-{
- vec4 v = vec4(gl_Vertex);
- vec4 color = texture2DRect(MyTex, gl_MultiTexCoord0.st * vec2(91./128.,63./128.));
-
- gl_TexCoord[0] = gl_MultiTexCoord0;
-
- v.x = color.r -0.5;
- v.y = color.g -0.5;
- v.z = color.b -0.5;
-
- gl_Position = gl_ModelViewProjectionMatrix * v;
-
-}
-
+// Cyrille Henry 2008
+#extension GL_ARB_texture_rectangle : enable
+
+uniform sampler2DRect MyTex;
+uniform float K;
+
+void main()
+{
+ vec4 v = vec4(gl_Vertex);
+ vec4 color = texture2DRect(MyTex, gl_MultiTexCoord0.st * vec2(91./128.,63./128.));
+
+ gl_TexCoord[0] = gl_MultiTexCoord0;
+
+ v.x = color.r -0.5;
+ v.y = color.g -0.5;
+ v.z = color.b -0.5;
+
+ gl_Position = gl_ModelViewProjectionMatrix * v;
+
+}
+
diff --git a/packages/noncvs/windows/extra/Gem/examples/10.glsl/game.frag b/packages/noncvs/windows/extra/Gem/examples/10.glsl/game.frag
index 9b5800d0..b71a3e16 100644
--- a/packages/noncvs/windows/extra/Gem/examples/10.glsl/game.frag
+++ b/packages/noncvs/windows/extra/Gem/examples/10.glsl/game.frag
@@ -1,30 +1,30 @@
-// Cyrille Henry 2007
-
-uniform sampler2D texture;
-
-const float dx = 1./500.; // change to gemwin dim
-
-void main (void)
-{
- vec2 tmp = (gl_TextureMatrix[0] * gl_TexCoord[0]).st;
-
- float x = tmp.s;
- float y = tmp.t;
-
- vec4 c;
- c = texture2D(texture, vec2(x-dx, y-dx));
- c += texture2D(texture, vec2(x, y-dx));
- c += texture2D(texture, vec2(x+dx, y-dx));
- c += texture2D(texture, vec2(x-dx, y));
- c += texture2D(texture, vec2(x+dx, y));
- c += texture2D(texture, vec2(x-dx, y+dx));
- c += texture2D(texture, vec2(x, y+dx));
- c += texture2D(texture, vec2(x+dx, y+dx));
-
- vec4 c1 = texture2D(texture, vec2(x, y));
-
- c.rgb = vec3(step(2.5-c1.r,c.r)*step(c.r,3.5));
- c.a = 1.;
-
- gl_FragColor = c;
-}
+// Cyrille Henry 2007
+
+uniform sampler2D texture;
+
+const float dx = 1./500.; // change to gemwin dim
+
+void main (void)
+{
+ vec2 tmp = (gl_TextureMatrix[0] * gl_TexCoord[0]).st;
+
+ float x = tmp.s;
+ float y = tmp.t;
+
+ vec4 c;
+ c = texture2D(texture, vec2(x-dx, y-dx));
+ c += texture2D(texture, vec2(x, y-dx));
+ c += texture2D(texture, vec2(x+dx, y-dx));
+ c += texture2D(texture, vec2(x-dx, y));
+ c += texture2D(texture, vec2(x+dx, y));
+ c += texture2D(texture, vec2(x-dx, y+dx));
+ c += texture2D(texture, vec2(x, y+dx));
+ c += texture2D(texture, vec2(x+dx, y+dx));
+
+ vec4 c1 = texture2D(texture, vec2(x, y));
+
+ c.rgb = vec3(step(2.5-c1.r,c.r)*step(c.r,3.5));
+ c.a = 1.;
+
+ gl_FragColor = c;
+}
diff --git a/packages/noncvs/windows/extra/Gem/examples/10.glsl/game.vert b/packages/noncvs/windows/extra/Gem/examples/10.glsl/game.vert
index 64eb4f47..79c0800f 100644
--- a/packages/noncvs/windows/extra/Gem/examples/10.glsl/game.vert
+++ b/packages/noncvs/windows/extra/Gem/examples/10.glsl/game.vert
@@ -1,14 +1,14 @@
-// Cyrille Henry 2007
-
-uniform float K1;
-uniform float K2;
-uniform float K3;
-
-uniform vec2 offset;
-
-void main()
-{
- gl_TexCoord[0] = gl_MultiTexCoord0;
- gl_Position = ftransform();
-}
-
+// Cyrille Henry 2007
+
+uniform float K1;
+uniform float K2;
+uniform float K3;
+
+uniform vec2 offset;
+
+void main()
+{
+ gl_TexCoord[0] = gl_MultiTexCoord0;
+ gl_Position = ftransform();
+}
+
diff --git a/packages/noncvs/windows/extra/Gem/examples/10.glsl/geo.frag b/packages/noncvs/windows/extra/Gem/examples/10.glsl/geo.frag
index 7ec0b43c..d55a5bd6 100644
--- a/packages/noncvs/windows/extra/Gem/examples/10.glsl/geo.frag
+++ b/packages/noncvs/windows/extra/Gem/examples/10.glsl/geo.frag
@@ -1,8 +1,8 @@
-void main()
-{
- vec4 tmp = gl_Color;
- tmp.a /= 10.;
- gl_FragColor = tmp;
- // set color but alpha is 20 time less
-}
-
+void main()
+{
+ vec4 tmp = gl_Color;
+ tmp.a /= 10.;
+ gl_FragColor = tmp;
+ // set color but alpha is 20 time less
+}
+
diff --git a/packages/noncvs/windows/extra/Gem/examples/10.glsl/geo.geom b/packages/noncvs/windows/extra/Gem/examples/10.glsl/geo.geom
index 3271c6fc..6082ccfe 100644
--- a/packages/noncvs/windows/extra/Gem/examples/10.glsl/geo.geom
+++ b/packages/noncvs/windows/extra/Gem/examples/10.glsl/geo.geom
@@ -1,28 +1,28 @@
-#version 120
-#extension GL_EXT_geometry_shader4: enable
-
-void main(void)
-{
- //increment variable
- int i,j;
- float rnd1,rnd2;
- rnd1 = 0.0216767863321334264; // seed
- rnd2 = 0.0475785688678678345;
- for(j=0; j< 40; j++)
- {
- rnd1 = fract(124.321345312123465*rnd1) -0.5; // easy way to generated pseudo random number
- rnd2 = fract(5234.43532345435245*rnd2) -0.5;
-
- //draw 40 time the same geometry, but with small shift in it's position
- for(i=0; i< gl_VerticesIn; i++)
- {
- gl_FrontColor = gl_FrontColorIn[i];
- gl_TexCoord[0] = gl_TexCoordIn[i][0];
- gl_Position = gl_PositionIn[i]; // get position of the original point
- gl_Position.xy += vec2(rnd1,rnd2)/3.; // add small random
- // the geometry as already been transform in 2d, so we jut have to move it in X and Y
- EmitVertex();
- }
- EndPrimitive();
- }
-}
+#version 120
+#extension GL_EXT_geometry_shader4: enable
+
+void main(void)
+{
+ //increment variable
+ int i,j;
+ float rnd1,rnd2;
+ rnd1 = 0.0216767863321334264; // seed
+ rnd2 = 0.0475785688678678345;
+ for(j=0; j< 40; j++)
+ {
+ rnd1 = fract(124.321345312123465*rnd1) -0.5; // easy way to generated pseudo random number
+ rnd2 = fract(5234.43532345435245*rnd2) -0.5;
+
+ //draw 40 time the same geometry, but with small shift in it's position
+ for(i=0; i< gl_VerticesIn; i++)
+ {
+ gl_FrontColor = gl_FrontColorIn[i];
+ gl_TexCoord[0] = gl_TexCoordIn[i][0];
+ gl_Position = gl_PositionIn[i]; // get position of the original point
+ gl_Position.xy += vec2(rnd1,rnd2)/3.; // add small random
+ // the geometry as already been transform in 2d, so we jut have to move it in X and Y
+ EmitVertex();
+ }
+ EndPrimitive();
+ }
+}
diff --git a/packages/noncvs/windows/extra/Gem/examples/10.glsl/geo.vert b/packages/noncvs/windows/extra/Gem/examples/10.glsl/geo.vert
index 4359aa36..8a76ed26 100644
--- a/packages/noncvs/windows/extra/Gem/examples/10.glsl/geo.vert
+++ b/packages/noncvs/windows/extra/Gem/examples/10.glsl/geo.vert
@@ -1,7 +1,7 @@
-void main()
-{
- gl_FrontColor = gl_Color;
- gl_TexCoord[0] = gl_MultiTexCoord0;
- gl_Position = ftransform();
- //simple passthrow
-}
+void main()
+{
+ gl_FrontColor = gl_Color;
+ gl_TexCoord[0] = gl_MultiTexCoord0;
+ gl_Position = ftransform();
+ //simple passthrow
+}
diff --git a/packages/noncvs/windows/extra/Gem/examples/10.glsl/interpol.frag b/packages/noncvs/windows/extra/Gem/examples/10.glsl/interpol.frag
index a3c2c08d..66a4310c 100644
--- a/packages/noncvs/windows/extra/Gem/examples/10.glsl/interpol.frag
+++ b/packages/noncvs/windows/extra/Gem/examples/10.glsl/interpol.frag
@@ -1,13 +1,13 @@
-// Cyrille Henry 2008
-#extension GL_ARB_texture_rectangle : enable
-
-uniform sampler2DRect texture_mass;
-uniform float init;
-
-void main (void)
-{
- vec2 coord = gl_TexCoord[0].st/2.;
- vec4 pos = texture2DRect(texture_mass, coord);
-
- gl_FragColor = pos;
-}
+// Cyrille Henry 2008
+#extension GL_ARB_texture_rectangle : enable
+
+uniform sampler2DRect texture_mass;
+uniform float init;
+
+void main (void)
+{
+ vec2 coord = gl_TexCoord[0].st/2.;
+ vec4 pos = texture2DRect(texture_mass, coord);
+
+ gl_FragColor = pos;
+}
diff --git a/packages/noncvs/windows/extra/Gem/examples/10.glsl/link.frag b/packages/noncvs/windows/extra/Gem/examples/10.glsl/link.frag
index 053cd5ef..88f896f1 100644
--- a/packages/noncvs/windows/extra/Gem/examples/10.glsl/link.frag
+++ b/packages/noncvs/windows/extra/Gem/examples/10.glsl/link.frag
@@ -1,164 +1,164 @@
-// Cyrille Henry 2008
-#extension GL_ARB_texture_rectangle : enable
-
-uniform sampler2DRect texture_mass, texture_mass_old, texture_normal;
-uniform float init, gravite;
-uniform vec2 wind;
-uniform float D;
-uniform float K1; // rigiditée liaison
-uniform float W,f,N; // amplitude du Wind et frequence; Noise
-uniform float t; //temps
-
-varying vec2 coord;
-
-vec2 test1(vec2 V)
-{
-// return(max(min(V,vec2(64.)),vec2(0.)));
- return(V);
-}
-
-void main (void)
-{
- vec4 force = vec4(0,1.,0.,1.);
-
- if ( (coord.x < 92.) && (coord.y < 64.) )
- {
- vec3 dist;
- float taille;
-
- vec4 pos = texture2DRect(texture_mass, coord );// -vec4(0.5);
- vec4 pos_old = texture2DRect(texture_mass_old,coord );// -vec4(0.5);
- vec4 posG = texture2DRect(texture_mass, (coord+vec2(-1., 0.)));// -vec4(0.5);
- vec4 posD = texture2DRect(texture_mass, (coord+vec2( 1., 0.)));// -vec4(0.5);
- vec4 posH = texture2DRect(texture_mass, (coord+vec2( 0., 1.)));// -vec4(0.5);
- vec4 posB = texture2DRect(texture_mass, (coord+vec2( 0.,-1.)));// -vec4(0.5);
- vec4 posHD = texture2DRect(texture_mass, (coord+vec2( 1.,-1.)));// -vec4(0.5);
- vec4 posBG = texture2DRect(texture_mass, (coord+vec2(-1., 1.)));// -vec4(0.5);
- vec4 posHG = texture2DRect(texture_mass, (coord+vec2( 1., 1.)));// -vec4(0.5);
- vec4 posBD = texture2DRect(texture_mass, (coord+vec2(-1.,-1.)));// -vec4(0.5);
- vec4 pos2G = texture2DRect(texture_mass, (coord+vec2(-2., 0.)));// -vec4(0.5);
- vec4 pos2D = texture2DRect(texture_mass, (coord+vec2( 2., 0.)));// -vec4(0.5);
- vec4 pos2H = texture2DRect(texture_mass, (coord+vec2( 0., 2.)));// -vec4(0.5);
- vec4 pos2B = texture2DRect(texture_mass, (coord+vec2( 0.,-2.)));// -vec4(0.5);
- // lecture des position des masses voisinnes
-
- force = pos-pos_old;
- // ajout de la force d'inertie (conservation de la vitesse)
-
- force *= 1.-D;
- // damping relatif a un point fix
- // ATTENTION, c'est le seul damping du system!
-
-
- // 4 liens direct (gauche / droite et haut / bas)
- // on ajoute une force ssi la taille est > 0
- // on limite aussi ds l'espace pour ne prendre en compte que le lien valide (effet de bord)
-
- dist = pos.xyz - posG.xyz ;
- taille = length(dist) ;
- if ( (taille > 0.) && (coord.x > 1.) )
- { force.xyz += -K1 * (taille - 1./1000.)* normalize(dist); }
-
- dist = pos.xyz - posD.xyz ;
- taille = length(dist) ;
- if ( (taille > 0.) && (coord.x < 91.) )
- { force.xyz += -K1 * (taille - 1./1000.)* normalize(dist); }
-
- dist = pos.xyz - posH.xyz ;
- taille = length(dist) ;
- if ( (taille > 0.) && (coord.y < 63.) )
- { force.xyz += -K1 * (taille - 1./1000.)* normalize(dist); }
-
- dist = pos.xyz - posB.xyz ;
- taille = length(dist) ;
- if ( (taille > 0.) && (coord.y > 1.) )
- { force.xyz += -K1 * (taille - 1./1000.)* normalize(dist); }
-
- // 4 liens diagonaux (haut gauche, bas droite, etc)
- dist = pos.xyz - posHD.xyz ;
- taille = length(dist) ;
- if ( (taille > 0.) && (coord.x < 91.) && (coord.y > 1.) )
- { force.xyz += -K1 * (taille - 1.4142/1000.)* normalize(dist); }
-
- dist = pos.xyz - posBG.xyz ;
- taille = length(dist) ;
- if ( (taille > 0.) && (coord.x > 1.) && (coord.y < 63.) )
- { force.xyz += -K1 * (taille - 1.4142/1000.)* normalize(dist); }
-
- dist = pos.xyz - posHG.xyz ;
- taille = length(dist) ;
- if ( (taille > 0.) && (coord.x < 91.) && (coord.y < 63.) )
- { force.xyz += -K1 * (taille - 1.4142/1000.)* normalize(dist); }
-
- dist = pos.xyz - posBD.xyz ;
- taille = length(dist) ;
- if ( (taille > 0.) && (coord.x > 1.) && (coord.y > 1.) )
- { force.xyz += -K1 * (taille - 1.4142/1000.)* normalize(dist); }
-
- // 4 liens double longeur (rigidité de flexion)
- dist = pos.xyz - pos2G.xyz ;
- taille = length(dist) ;
- if ( (taille > 0.) && (coord.x > 2.) )
- { force.xyz += -K1 * (taille - 2./1000.)* normalize(dist); }
-
- dist = pos.xyz - pos2D.xyz ;
- taille = length(dist) ;
- if ( (taille > 0.) && (coord.x < 90.) )
- { force.xyz += -K1 * (taille - 2./1000.)* normalize(dist); }
-
- dist = pos.xyz - pos2H.xyz ;
- taille = length(dist) ;
- if ( (taille > 0.) && (coord.y < 62.) )
- { force.xyz += -K1 * (taille - 2./1000.)* normalize(dist); }
-
- dist = pos.xyz - pos2B.xyz ;
- taille = length(dist) ;
- if ( (taille > 0.) && (coord.y > 2.) )
- { force.xyz += -K1 * (taille - 2./1000.)* normalize(dist); }
-
- // autres forces
- vec4 normal = texture2DRect(texture_normal, coord*64.) -vec4(0.5);
- normal = normalize(normal);
- // float force_wind = abs(dot(normalize(vec3(wind.xy,0.)),normal.xyz));
-
- force.r += wind.x/100.;
- force.g += gravite/100.;
- force.b += wind.y/100.;
-
- // ajout d'une force sinusoidal perpendiculaire a la direction du vent
- float W_sin = cos(-t + f*0.01*gl_TexCoord[0].s);
- W_sin *= 91.- gl_TexCoord[0].s;
- W_sin /= 91.;
- W_sin *= 91.- gl_TexCoord[0].s;
- W_sin /= 91.;
-
- W_sin *= gl_TexCoord[0].t + 50.;
- W_sin /= 63.;
- W_sin *= gl_TexCoord[0].t + 50.;
- W_sin /= 63.;
-
- force.x += W*(-wind.y*W_sin);
- force.z += W*( wind.x*W_sin);
-
- // ajout d'un pseuo buit
- float W_noiseX = cos(t + 0.353 * coord.t + 0.0234434* coord.s + 345.2342);
- W_noiseX = cos(123456.35345 * W_noiseX + 234.23);
- float W_noiseY = cos(-2.2 * t + 6235.457456 * W_noiseX + 567.456);
- float W_noiseZ = cos(5.*t + 8976457.457 * W_noiseX + 3464.54);
- W_noiseX = cos(323344.64345 * W_noiseX + 567.45);
-
- force.x += 0.00001 * N * W_noiseX;
- force.y += 0.00001 * N * W_noiseY;
- force.z += 0.00001 * N * W_noiseZ;
-
-
- // preparation de la sortie
- force = min(max(force,vec4(-0.5)),vec4(0.5));
- // min et max pour virer les +inf
- force += vec4(0.5,0.5,0.5,1.);
- // ajout de l'ofset pour etre entre 0 et 1
- force.a = 1.;
- // on vire la 4eme composante au cas ou.
- }
- gl_FragColor = mix(force,vec4(0.5,0.5,0.5,1.),init);
-}
+// Cyrille Henry 2008
+#extension GL_ARB_texture_rectangle : enable
+
+uniform sampler2DRect texture_mass, texture_mass_old, texture_normal;
+uniform float init, gravite;
+uniform vec2 wind;
+uniform float D;
+uniform float K1; // rigiditée liaison
+uniform float W,f,N; // amplitude du Wind et frequence; Noise
+uniform float t; //temps
+
+varying vec2 coord;
+
+vec2 test1(vec2 V)
+{
+// return(max(min(V,vec2(64.)),vec2(0.)));
+ return(V);
+}
+
+void main (void)
+{
+ vec4 force = vec4(0,1.,0.,1.);
+
+ if ( (coord.x < 92.) && (coord.y < 64.) )
+ {
+ vec3 dist;
+ float taille;
+
+ vec4 pos = texture2DRect(texture_mass, coord );// -vec4(0.5);
+ vec4 pos_old = texture2DRect(texture_mass_old,coord );// -vec4(0.5);
+ vec4 posG = texture2DRect(texture_mass, (coord+vec2(-1., 0.)));// -vec4(0.5);
+ vec4 posD = texture2DRect(texture_mass, (coord+vec2( 1., 0.)));// -vec4(0.5);
+ vec4 posH = texture2DRect(texture_mass, (coord+vec2( 0., 1.)));// -vec4(0.5);
+ vec4 posB = texture2DRect(texture_mass, (coord+vec2( 0.,-1.)));// -vec4(0.5);
+ vec4 posHD = texture2DRect(texture_mass, (coord+vec2( 1.,-1.)));// -vec4(0.5);
+ vec4 posBG = texture2DRect(texture_mass, (coord+vec2(-1., 1.)));// -vec4(0.5);
+ vec4 posHG = texture2DRect(texture_mass, (coord+vec2( 1., 1.)));// -vec4(0.5);
+ vec4 posBD = texture2DRect(texture_mass, (coord+vec2(-1.,-1.)));// -vec4(0.5);
+ vec4 pos2G = texture2DRect(texture_mass, (coord+vec2(-2., 0.)));// -vec4(0.5);
+ vec4 pos2D = texture2DRect(texture_mass, (coord+vec2( 2., 0.)));// -vec4(0.5);
+ vec4 pos2H = texture2DRect(texture_mass, (coord+vec2( 0., 2.)));// -vec4(0.5);
+ vec4 pos2B = texture2DRect(texture_mass, (coord+vec2( 0.,-2.)));// -vec4(0.5);
+ // lecture des position des masses voisinnes
+
+ force = pos-pos_old;
+ // ajout de la force d'inertie (conservation de la vitesse)
+
+ force *= 1.-D;
+ // damping relatif a un point fix
+ // ATTENTION, c'est le seul damping du system!
+
+
+ // 4 liens direct (gauche / droite et haut / bas)
+ // on ajoute une force ssi la taille est > 0
+ // on limite aussi ds l'espace pour ne prendre en compte que le lien valide (effet de bord)
+
+ dist = pos.xyz - posG.xyz ;
+ taille = length(dist) ;
+ if ( (taille > 0.) && (coord.x > 1.) )
+ { force.xyz += -K1 * (taille - 1./1000.)* normalize(dist); }
+
+ dist = pos.xyz - posD.xyz ;
+ taille = length(dist) ;
+ if ( (taille > 0.) && (coord.x < 91.) )
+ { force.xyz += -K1 * (taille - 1./1000.)* normalize(dist); }
+
+ dist = pos.xyz - posH.xyz ;
+ taille = length(dist) ;
+ if ( (taille > 0.) && (coord.y < 63.) )
+ { force.xyz += -K1 * (taille - 1./1000.)* normalize(dist); }
+
+ dist = pos.xyz - posB.xyz ;
+ taille = length(dist) ;
+ if ( (taille > 0.) && (coord.y > 1.) )
+ { force.xyz += -K1 * (taille - 1./1000.)* normalize(dist); }
+
+ // 4 liens diagonaux (haut gauche, bas droite, etc)
+ dist = pos.xyz - posHD.xyz ;
+ taille = length(dist) ;
+ if ( (taille > 0.) && (coord.x < 91.) && (coord.y > 1.) )
+ { force.xyz += -K1 * (taille - 1.4142/1000.)* normalize(dist); }
+
+ dist = pos.xyz - posBG.xyz ;
+ taille = length(dist) ;
+ if ( (taille > 0.) && (coord.x > 1.) && (coord.y < 63.) )
+ { force.xyz += -K1 * (taille - 1.4142/1000.)* normalize(dist); }
+
+ dist = pos.xyz - posHG.xyz ;
+ taille = length(dist) ;
+ if ( (taille > 0.) && (coord.x < 91.) && (coord.y < 63.) )
+ { force.xyz += -K1 * (taille - 1.4142/1000.)* normalize(dist); }
+
+ dist = pos.xyz - posBD.xyz ;
+ taille = length(dist) ;
+ if ( (taille > 0.) && (coord.x > 1.) && (coord.y > 1.) )
+ { force.xyz += -K1 * (taille - 1.4142/1000.)* normalize(dist); }
+
+ // 4 liens double longeur (rigidité de flexion)
+ dist = pos.xyz - pos2G.xyz ;
+ taille = length(dist) ;
+ if ( (taille > 0.) && (coord.x > 2.) )
+ { force.xyz += -K1 * (taille - 2./1000.)* normalize(dist); }
+
+ dist = pos.xyz - pos2D.xyz ;
+ taille = length(dist) ;
+ if ( (taille > 0.) && (coord.x < 90.) )
+ { force.xyz += -K1 * (taille - 2./1000.)* normalize(dist); }
+
+ dist = pos.xyz - pos2H.xyz ;
+ taille = length(dist) ;
+ if ( (taille > 0.) && (coord.y < 62.) )
+ { force.xyz += -K1 * (taille - 2./1000.)* normalize(dist); }
+
+ dist = pos.xyz - pos2B.xyz ;
+ taille = length(dist) ;
+ if ( (taille > 0.) && (coord.y > 2.) )
+ { force.xyz += -K1 * (taille - 2./1000.)* normalize(dist); }
+
+ // autres forces
+ vec4 normal = texture2DRect(texture_normal, coord*64.) -vec4(0.5);
+ normal = normalize(normal);
+ // float force_wind = abs(dot(normalize(vec3(wind.xy,0.)),normal.xyz));
+
+ force.r += wind.x/100.;
+ force.g += gravite/100.;
+ force.b += wind.y/100.;
+
+ // ajout d'une force sinusoidal perpendiculaire a la direction du vent
+ float W_sin = cos(-t + f*0.01*gl_TexCoord[0].s);
+ W_sin *= 91.- gl_TexCoord[0].s;
+ W_sin /= 91.;
+ W_sin *= 91.- gl_TexCoord[0].s;
+ W_sin /= 91.;
+
+ W_sin *= gl_TexCoord[0].t + 50.;
+ W_sin /= 63.;
+ W_sin *= gl_TexCoord[0].t + 50.;
+ W_sin /= 63.;
+
+ force.x += W*(-wind.y*W_sin);
+ force.z += W*( wind.x*W_sin);
+
+ // ajout d'un pseuo buit
+ float W_noiseX = cos(t + 0.353 * coord.t + 0.0234434* coord.s + 345.2342);
+ W_noiseX = cos(123456.35345 * W_noiseX + 234.23);
+ float W_noiseY = cos(-2.2 * t + 6235.457456 * W_noiseX + 567.456);
+ float W_noiseZ = cos(5.*t + 8976457.457 * W_noiseX + 3464.54);
+ W_noiseX = cos(323344.64345 * W_noiseX + 567.45);
+
+ force.x += 0.00001 * N * W_noiseX;
+ force.y += 0.00001 * N * W_noiseY;
+ force.z += 0.00001 * N * W_noiseZ;
+
+
+ // preparation de la sortie
+ force = min(max(force,vec4(-0.5)),vec4(0.5));
+ // min et max pour virer les +inf
+ force += vec4(0.5,0.5,0.5,1.);
+ // ajout de l'ofset pour etre entre 0 et 1
+ force.a = 1.;
+ // on vire la 4eme composante au cas ou.
+ }
+ gl_FragColor = mix(force,vec4(0.5,0.5,0.5,1.),init);
+}
diff --git a/packages/noncvs/windows/extra/Gem/examples/10.glsl/link.vert b/packages/noncvs/windows/extra/Gem/examples/10.glsl/link.vert
index fefc3663..87c34a26 100644
--- a/packages/noncvs/windows/extra/Gem/examples/10.glsl/link.vert
+++ b/packages/noncvs/windows/extra/Gem/examples/10.glsl/link.vert
@@ -1,10 +1,10 @@
-varying vec2 coord;
-
-
-void main()
-{
-
- coord = (gl_TextureMatrix[0] * gl_MultiTexCoord0).st;
- gl_Position = ftransform();
-
-}
+varying vec2 coord;
+
+
+void main()
+{
+
+ coord = (gl_TextureMatrix[0] * gl_MultiTexCoord0).st;
+ gl_Position = ftransform();
+
+}
diff --git a/packages/noncvs/windows/extra/Gem/examples/10.glsl/mass.frag b/packages/noncvs/windows/extra/Gem/examples/10.glsl/mass.frag
index 29a2ef2f..702146dd 100644
--- a/packages/noncvs/windows/extra/Gem/examples/10.glsl/mass.frag
+++ b/packages/noncvs/windows/extra/Gem/examples/10.glsl/mass.frag
@@ -1,34 +1,34 @@
-// Cyrille Henry 2008
-#extension GL_ARB_texture_rectangle : enable
-
-uniform sampler2DRect texture_mass_old,texture_link;
-varying vec2 coord;
-uniform float init;
-
-void main (void)
-{
- vec4 color = vec4(0.,0.,1.,1.);
- if ( (coord.x < 92.) && (coord.y < 64.) )
- {
- vec4 pos = texture2DRect(texture_mass_old, coord)-vec4(0.5);
- vec4 force = texture2DRect(texture_link, coord)-vec4(0.5);
-
- force = min(max(force,vec4(-0.5)),vec4(0.5));
- // on vire les +inf et -inf qui peuvent poser pb en cas d'instabilités
- pos += force;
- //increment de la position
-
- float reset = step(coord.x,1.);
-// reset *= step(mod(coord.y,10.),4.);
- // les point en x<1 sont tjrs reseté : ils sont dc imobiles
-
- color = mix(pos,vec4(coord.x/1000.,(coord.y-32.)/1000.,0.,0.),reset+(1.-reset)*init);
- // couleur de sortie mixé avec couleur d'initialisation
-
- color += vec4(0.5);
- color.a = 1.;
- // preparation de la sortie (ajout de l'offset + virer l'alpha)
- }
-
- gl_FragColor = color;
-}
+// Cyrille Henry 2008
+#extension GL_ARB_texture_rectangle : enable
+
+uniform sampler2DRect texture_mass_old,texture_link;
+varying vec2 coord;
+uniform float init;
+
+void main (void)
+{
+ vec4 color = vec4(0.,0.,1.,1.);
+ if ( (coord.x < 92.) && (coord.y < 64.) )
+ {
+ vec4 pos = texture2DRect(texture_mass_old, coord)-vec4(0.5);
+ vec4 force = texture2DRect(texture_link, coord)-vec4(0.5);
+
+ force = min(max(force,vec4(-0.5)),vec4(0.5));
+ // on vire les +inf et -inf qui peuvent poser pb en cas d'instabilités
+ pos += force;
+ //increment de la position
+
+ float reset = step(coord.x,1.);
+// reset *= step(mod(coord.y,10.),4.);
+ // les point en x<1 sont tjrs reseté : ils sont dc imobiles
+
+ color = mix(pos,vec4(coord.x/1000.,(coord.y-32.)/1000.,0.,0.),reset+(1.-reset)*init);
+ // couleur de sortie mixé avec couleur d'initialisation
+
+ color += vec4(0.5);
+ color.a = 1.;
+ // preparation de la sortie (ajout de l'offset + virer l'alpha)
+ }
+
+ gl_FragColor = color;
+}
diff --git a/packages/noncvs/windows/extra/Gem/examples/10.glsl/mass.vert b/packages/noncvs/windows/extra/Gem/examples/10.glsl/mass.vert
index fefc3663..87c34a26 100644
--- a/packages/noncvs/windows/extra/Gem/examples/10.glsl/mass.vert
+++ b/packages/noncvs/windows/extra/Gem/examples/10.glsl/mass.vert
@@ -1,10 +1,10 @@
-varying vec2 coord;
-
-
-void main()
-{
-
- coord = (gl_TextureMatrix[0] * gl_MultiTexCoord0).st;
- gl_Position = ftransform();
-
-}
+varying vec2 coord;
+
+
+void main()
+{
+
+ coord = (gl_TextureMatrix[0] * gl_MultiTexCoord0).st;
+ gl_Position = ftransform();
+
+}
diff --git a/packages/noncvs/windows/extra/Gem/examples/10.glsl/multitexture.frag b/packages/noncvs/windows/extra/Gem/examples/10.glsl/multitexture.frag
index 9e8ed0ce..1118bedc 100644
--- a/packages/noncvs/windows/extra/Gem/examples/10.glsl/multitexture.frag
+++ b/packages/noncvs/windows/extra/Gem/examples/10.glsl/multitexture.frag
@@ -1,13 +1,13 @@
-uniform sampler2D MyTex;
-uniform sampler2D MyTex1;
-
-varying vec2 texcoord1;
-varying vec2 texcoord2;
-
-void main (void)
-{
- vec4 color = texture2D(MyTex, texcoord1);
- vec4 color2 = texture2D(MyTex1, texcoord2);
- gl_FragColor = (color + color2) / 2.;
-}
-
+uniform sampler2D MyTex;
+uniform sampler2D MyTex1;
+
+varying vec2 texcoord1;
+varying vec2 texcoord2;
+
+void main (void)
+{
+ vec4 color = texture2D(MyTex, texcoord1);
+ vec4 color2 = texture2D(MyTex1, texcoord2);
+ gl_FragColor = (color + color2) / 2.;
+}
+
diff --git a/packages/noncvs/windows/extra/Gem/examples/10.glsl/multitexture.vert b/packages/noncvs/windows/extra/Gem/examples/10.glsl/multitexture.vert
index 2cade19b..aa05f1da 100644
--- a/packages/noncvs/windows/extra/Gem/examples/10.glsl/multitexture.vert
+++ b/packages/noncvs/windows/extra/Gem/examples/10.glsl/multitexture.vert
@@ -1,11 +1,11 @@
-varying vec2 texcoord1;
-varying vec2 texcoord2;
-
-void main()
-{
-
- texcoord1 = (gl_TextureMatrix[0] * gl_MultiTexCoord0).st;
- texcoord2 = (gl_TextureMatrix[1] * gl_MultiTexCoord1).st;
- gl_Position = ftransform();
-
-}
+varying vec2 texcoord1;
+varying vec2 texcoord2;
+
+void main()
+{
+
+ texcoord1 = (gl_TextureMatrix[0] * gl_MultiTexCoord0).st;
+ texcoord2 = (gl_TextureMatrix[1] * gl_MultiTexCoord1).st;
+ gl_Position = ftransform();
+
+}
diff --git a/packages/noncvs/windows/extra/Gem/examples/10.glsl/multitexture_rect.frag b/packages/noncvs/windows/extra/Gem/examples/10.glsl/multitexture_rect.frag
index 3eb9b2b4..a46f5050 100644
--- a/packages/noncvs/windows/extra/Gem/examples/10.glsl/multitexture_rect.frag
+++ b/packages/noncvs/windows/extra/Gem/examples/10.glsl/multitexture_rect.frag
@@ -1,15 +1,15 @@
-#extension GL_ARB_texture_rectangle : enable
-
-uniform sampler2DRect MyTex;
-uniform sampler2DRect MyTex1;
-
-varying vec2 texcoord1;
-varying vec2 texcoord2;
-
-void main (void)
-{
- vec4 color = texture2DRect(MyTex, texcoord1);
- vec4 color2 = texture2DRect(MyTex1, texcoord1); // texcoord2 does not work.
- gl_FragColor = (color + color2) / 2.;
-}
-
+#extension GL_ARB_texture_rectangle : enable
+
+uniform sampler2DRect MyTex;
+uniform sampler2DRect MyTex1;
+
+varying vec2 texcoord1;
+varying vec2 texcoord2;
+
+void main (void)
+{
+ vec4 color = texture2DRect(MyTex, texcoord1);
+ vec4 color2 = texture2DRect(MyTex1, texcoord1); // texcoord2 does not work.
+ gl_FragColor = (color + color2) / 2.;
+}
+
diff --git a/packages/noncvs/windows/extra/Gem/examples/10.glsl/multitexture_rect.vert b/packages/noncvs/windows/extra/Gem/examples/10.glsl/multitexture_rect.vert
index 2cade19b..aa05f1da 100644
--- a/packages/noncvs/windows/extra/Gem/examples/10.glsl/multitexture_rect.vert
+++ b/packages/noncvs/windows/extra/Gem/examples/10.glsl/multitexture_rect.vert
@@ -1,11 +1,11 @@
-varying vec2 texcoord1;
-varying vec2 texcoord2;
-
-void main()
-{
-
- texcoord1 = (gl_TextureMatrix[0] * gl_MultiTexCoord0).st;
- texcoord2 = (gl_TextureMatrix[1] * gl_MultiTexCoord1).st;
- gl_Position = ftransform();
-
-}
+varying vec2 texcoord1;
+varying vec2 texcoord2;
+
+void main()
+{
+
+ texcoord1 = (gl_TextureMatrix[0] * gl_MultiTexCoord0).st;
+ texcoord2 = (gl_TextureMatrix[1] * gl_MultiTexCoord1).st;
+ gl_Position = ftransform();
+
+}
diff --git a/packages/noncvs/windows/extra/Gem/examples/10.glsl/normal.frag b/packages/noncvs/windows/extra/Gem/examples/10.glsl/normal.frag
index eef7f86f..f472dff1 100644
--- a/packages/noncvs/windows/extra/Gem/examples/10.glsl/normal.frag
+++ b/packages/noncvs/windows/extra/Gem/examples/10.glsl/normal.frag
@@ -1,37 +1,37 @@
-// Cyrille Henry 2008
-#extension GL_ARB_texture_rectangle : enable
-
-uniform sampler2DRect texture_mass;
-varying vec2 coord;
-
-vec2 test1(vec2 V)
-{
- return(max(min(V,vec2(91.,63.)),vec2(0.)));
-}
-
-void main (void)
-{
- vec4 color = vec4(1.,0.,0.,1.);
-
- if ( (coord.x < 91.) && (coord.y < 63.) )
- {
- vec4 posG = texture2DRect(texture_mass, test1(coord+vec2(-1., 0.))) ;
- vec4 posD = texture2DRect(texture_mass, test1(coord+vec2( 1., 0.))) ;
- vec4 posH = texture2DRect(texture_mass, test1(coord+vec2( 0.,-1.))) ;
- vec4 posB = texture2DRect(texture_mass, test1(coord+vec2( 0., 1.))) ;
-
- vec3 normal = cross((posG.xyz-posD.xyz),(posH.xyz-posB.xyz));
- color.xyz = normalize(normal);
- color.xyz = normal;
-
- vec3 DX = posG.xyz-posD.xyz;
- vec3 DY = posH.xyz-posB.xyz;
-
- color += vec4(1.);
- color *= 0.5;
-
- }
- color.a = 1.;
- gl_FragColor = color;
-
-}
+// Cyrille Henry 2008
+#extension GL_ARB_texture_rectangle : enable
+
+uniform sampler2DRect texture_mass;
+varying vec2 coord;
+
+vec2 test1(vec2 V)
+{
+ return(max(min(V,vec2(91.,63.)),vec2(0.)));
+}
+
+void main (void)
+{
+ vec4 color = vec4(1.,0.,0.,1.);
+
+ if ( (coord.x < 91.) && (coord.y < 63.) )
+ {
+ vec4 posG = texture2DRect(texture_mass, test1(coord+vec2(-1., 0.))) ;
+ vec4 posD = texture2DRect(texture_mass, test1(coord+vec2( 1., 0.))) ;
+ vec4 posH = texture2DRect(texture_mass, test1(coord+vec2( 0.,-1.))) ;
+ vec4 posB = texture2DRect(texture_mass, test1(coord+vec2( 0., 1.))) ;
+
+ vec3 normal = cross((posG.xyz-posD.xyz),(posH.xyz-posB.xyz));
+ color.xyz = normalize(normal);
+ color.xyz = normal;
+
+ vec3 DX = posG.xyz-posD.xyz;
+ vec3 DY = posH.xyz-posB.xyz;
+
+ color += vec4(1.);
+ color *= 0.5;
+
+ }
+ color.a = 1.;
+ gl_FragColor = color;
+
+}
diff --git a/packages/noncvs/windows/extra/Gem/examples/10.glsl/normal.vert b/packages/noncvs/windows/extra/Gem/examples/10.glsl/normal.vert
index fefc3663..87c34a26 100644
--- a/packages/noncvs/windows/extra/Gem/examples/10.glsl/normal.vert
+++ b/packages/noncvs/windows/extra/Gem/examples/10.glsl/normal.vert
@@ -1,10 +1,10 @@
-varying vec2 coord;
-
-
-void main()
-{
-
- coord = (gl_TextureMatrix[0] * gl_MultiTexCoord0).st;
- gl_Position = ftransform();
-
-}
+varying vec2 coord;
+
+
+void main()
+{
+
+ coord = (gl_TextureMatrix[0] * gl_MultiTexCoord0).st;
+ gl_Position = ftransform();
+
+}
diff --git a/packages/noncvs/windows/extra/Gem/examples/10.glsl/panoramique.frag b/packages/noncvs/windows/extra/Gem/examples/10.glsl/panoramique.frag
index d0378b62..d7e4fc62 100644
--- a/packages/noncvs/windows/extra/Gem/examples/10.glsl/panoramique.frag
+++ b/packages/noncvs/windows/extra/Gem/examples/10.glsl/panoramique.frag
@@ -1,28 +1,28 @@
-#extension GL_ARB_texture_rectangle : enable
-
-uniform sampler2DRect MyTex;
-uniform float dZ, ShadeL, ShadeR, sizeX, sizeY;
-
-void main (void)
-{
-
- vec2 pos_out;
- pos_out.x=-1.+(2.*gl_TexCoord[0].s)/sizeX;
- pos_out.y=-1.+(2.*gl_TexCoord[0].t)/sizeY;
- pos_out.y *= sqrt(pos_out.x*pos_out.x+dZ*dZ)/dZ;
-
- pos_out.x = sizeX*(pos_out.x+1.)/2.;
- pos_out.y = sizeY*(pos_out.y+1.)/2.;
-
- vec4 color = texture2DRect(MyTex, pos_out);
-
- color.a = 1.;
- float tmp = mix(0.,1.,gl_TexCoord[0].s/ShadeL);
- tmp = min(tmp,1.);
- color.a *= tmp;
- tmp = mix(0.,1.,(sizeX-gl_TexCoord[0].s)/ShadeR);
- tmp = min(tmp,1.);
- color.a *= tmp;
-
- gl_FragColor = color;
-}
+#extension GL_ARB_texture_rectangle : enable
+
+uniform sampler2DRect MyTex;
+uniform float dZ, ShadeL, ShadeR, sizeX, sizeY;
+
+void main (void)
+{
+
+ vec2 pos_out;
+ pos_out.x=-1.+(2.*gl_TexCoord[0].s)/sizeX;
+ pos_out.y=-1.+(2.*gl_TexCoord[0].t)/sizeY;
+ pos_out.y *= sqrt(pos_out.x*pos_out.x+dZ*dZ)/dZ;
+
+ pos_out.x = sizeX*(pos_out.x+1.)/2.;
+ pos_out.y = sizeY*(pos_out.y+1.)/2.;
+
+ vec4 color = texture2DRect(MyTex, pos_out);
+
+ color.a = 1.;
+ float tmp = mix(0.,1.,gl_TexCoord[0].s/ShadeL);
+ tmp = min(tmp,1.);
+ color.a *= tmp;
+ tmp = mix(0.,1.,(sizeX-gl_TexCoord[0].s)/ShadeR);
+ tmp = min(tmp,1.);
+ color.a *= tmp;
+
+ gl_FragColor = color;
+}
diff --git a/packages/noncvs/windows/extra/Gem/examples/10.glsl/panoramique.vert b/packages/noncvs/windows/extra/Gem/examples/10.glsl/panoramique.vert
index 5fcb9d84..4c2a4fd4 100644
--- a/packages/noncvs/windows/extra/Gem/examples/10.glsl/panoramique.vert
+++ b/packages/noncvs/windows/extra/Gem/examples/10.glsl/panoramique.vert
@@ -1,5 +1,5 @@
-void main()
-{
- gl_TexCoord[0] = gl_MultiTexCoord0;
- gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
-}
+void main()
+{
+ gl_TexCoord[0] = gl_MultiTexCoord0;
+ gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
+}
diff --git a/packages/noncvs/windows/extra/Gem/examples/10.glsl/texture.frag b/packages/noncvs/windows/extra/Gem/examples/10.glsl/texture.frag
index aaee8245..112cd313 100644
--- a/packages/noncvs/windows/extra/Gem/examples/10.glsl/texture.frag
+++ b/packages/noncvs/windows/extra/Gem/examples/10.glsl/texture.frag
@@ -1,16 +1,16 @@
-// Cyrille Henry 2007
-
-//#extension GL_ARB_texture_rectangle : enable
-//uniform sampler2DRect MyTex;
-uniform sampler2D MyTex;
-uniform float B,C;
-
-void main (void)
-{
- vec4 color = texture2D(MyTex, (gl_TextureMatrix[0] * gl_TexCoord[0]).st);
-
- color *= B+1.; // brightness
- vec4 gray = vec4(dot(color.rgb,vec3(0.2125, 0.7154, 0.0721)));
- color = mix(gray, color, C+1.); // contrast
- gl_FragColor = color;
-}
+// Cyrille Henry 2007
+
+//#extension GL_ARB_texture_rectangle : enable
+//uniform sampler2DRect MyTex;
+uniform sampler2D MyTex;
+uniform float B,C;
+
+void main (void)
+{
+ vec4 color = texture2D(MyTex, (gl_TextureMatrix[0] * gl_TexCoord[0]).st);
+
+ color *= B+1.; // brightness
+ vec4 gray = vec4(dot(color.rgb,vec3(0.2125, 0.7154, 0.0721)));
+ color = mix(gray, color, C+1.); // contrast
+ gl_FragColor = color;
+}
diff --git a/packages/noncvs/windows/extra/Gem/examples/10.glsl/texture.vert b/packages/noncvs/windows/extra/Gem/examples/10.glsl/texture.vert
index bda9f47a..fb6d223a 100644
--- a/packages/noncvs/windows/extra/Gem/examples/10.glsl/texture.vert
+++ b/packages/noncvs/windows/extra/Gem/examples/10.glsl/texture.vert
@@ -1,8 +1,8 @@
-// Cyrille Henry 2007
-
-void main()
-{
- gl_TexCoord[0] = gl_MultiTexCoord0;
- gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
-
-}
+// Cyrille Henry 2007
+
+void main()
+{
+ gl_TexCoord[0] = gl_MultiTexCoord0;
+ gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
+
+}
diff --git a/packages/noncvs/windows/extra/Gem/examples/10.glsl/texture_rect.frag b/packages/noncvs/windows/extra/Gem/examples/10.glsl/texture_rect.frag
index 98adc1f3..e7f589c6 100644
--- a/packages/noncvs/windows/extra/Gem/examples/10.glsl/texture_rect.frag
+++ b/packages/noncvs/windows/extra/Gem/examples/10.glsl/texture_rect.frag
@@ -1,16 +1,16 @@
-// Cyrille Henry 2007
-
-#extension GL_ARB_texture_rectangle : enable
-uniform sampler2DRect MyTex;
-//uniform sampler2D MyTex;
-uniform float B,C;
-
-void main (void)
-{
- vec4 color = texture2DRect(MyTex, (gl_TextureMatrix[0] * gl_TexCoord[0]).st);
-
- color *= B+1.; // brightness
- vec4 gray = vec4(dot(color.rgb,vec3(0.2125, 0.7154, 0.0721)));
- color = mix(gray, color, C+1.); // contrast
- gl_FragColor = color;
-}
+// Cyrille Henry 2007
+
+#extension GL_ARB_texture_rectangle : enable
+uniform sampler2DRect MyTex;
+//uniform sampler2D MyTex;
+uniform float B,C;
+
+void main (void)
+{
+ vec4 color = texture2DRect(MyTex, (gl_TextureMatrix[0] * gl_TexCoord[0]).st);
+
+ color *= B+1.; // brightness
+ vec4 gray = vec4(dot(color.rgb,vec3(0.2125, 0.7154, 0.0721)));
+ color = mix(gray, color, C+1.); // contrast
+ gl_FragColor = color;
+}
diff --git a/packages/noncvs/windows/extra/Gem/examples/10.glsl/tri2fan.frag b/packages/noncvs/windows/extra/Gem/examples/10.glsl/tri2fan.frag
index 391dc689..4a16f828 100644
--- a/packages/noncvs/windows/extra/Gem/examples/10.glsl/tri2fan.frag
+++ b/packages/noncvs/windows/extra/Gem/examples/10.glsl/tri2fan.frag
@@ -1,6 +1,6 @@
-void main()
-{
- gl_FragColor = vec4(1.0,1.0,1.0,0.1);
- // set color
-}
-
+void main()
+{
+ gl_FragColor = vec4(1.0,1.0,1.0,0.1);
+ // set color
+}
+
diff --git a/packages/noncvs/windows/extra/Gem/examples/10.glsl/tri2fan.geom b/packages/noncvs/windows/extra/Gem/examples/10.glsl/tri2fan.geom
index 45961e25..2206e59b 100644
--- a/packages/noncvs/windows/extra/Gem/examples/10.glsl/tri2fan.geom
+++ b/packages/noncvs/windows/extra/Gem/examples/10.glsl/tri2fan.geom
@@ -1,51 +1,51 @@
-// Cyrille Henry 2010
-
-#version 120
-#extension GL_EXT_geometry_shader4 : enable
-
-void main(void)
-{
-
- int i; //increment variable
- vec4 pos1,pos2, pos3, pos4, pos5; // tmp
- vec3 high;
-
- for(i=0; i< gl_VerticesIn; i += 3){ // for all triangles
- pos1 = gl_PositionIn[i];
- pos2 = gl_PositionIn[i+1];
- pos3 = gl_PositionIn[i+2];
- pos4 = (pos1 + pos2 + pos3) / 3.; // center of the triangle
-
- high = 10.*cross(pos2.xyz-pos1.xyz,pos3.xyz-pos2.xyz);
- // hight and orientation of the piramide
-
- high = normalize(high);
- high *= length(pos2-pos1);
- pos5 = pos4 ;
- pos5.xyz += high;
-
- gl_Position = gl_ModelViewProjectionMatrix * pos1;
- EmitVertex();
- gl_Position = gl_ModelViewProjectionMatrix * pos4;
- EmitVertex();
- gl_Position = gl_ModelViewProjectionMatrix * pos5;
- EmitVertex();
- gl_Position = gl_ModelViewProjectionMatrix * pos2;
- EmitVertex();
- gl_Position = gl_ModelViewProjectionMatrix * pos4;
- EmitVertex();
- gl_Position = gl_ModelViewProjectionMatrix * pos5;
- EmitVertex();
- gl_Position = gl_ModelViewProjectionMatrix * pos3;
- EmitVertex();
- gl_Position = gl_ModelViewProjectionMatrix * pos4;
- EmitVertex();
- gl_Position = gl_ModelViewProjectionMatrix * pos5;
- EmitVertex();
-
- EndPrimitive();
- // new primitive
- }
-
-}
-
+// Cyrille Henry 2010
+
+#version 120
+#extension GL_EXT_geometry_shader4 : enable
+
+void main(void)
+{
+
+ int i; //increment variable
+ vec4 pos1,pos2, pos3, pos4, pos5; // tmp
+ vec3 high;
+
+ for(i=0; i< gl_VerticesIn; i += 3){ // for all triangles
+ pos1 = gl_PositionIn[i];
+ pos2 = gl_PositionIn[i+1];
+ pos3 = gl_PositionIn[i+2];
+ pos4 = (pos1 + pos2 + pos3) / 3.; // center of the triangle
+
+ high = 10.*cross(pos2.xyz-pos1.xyz,pos3.xyz-pos2.xyz);
+ // hight and orientation of the piramide
+
+ high = normalize(high);
+ high *= length(pos2-pos1);
+ pos5 = pos4 ;
+ pos5.xyz += high;
+
+ gl_Position = gl_ModelViewProjectionMatrix * pos1;
+ EmitVertex();
+ gl_Position = gl_ModelViewProjectionMatrix * pos4;
+ EmitVertex();
+ gl_Position = gl_ModelViewProjectionMatrix * pos5;
+ EmitVertex();
+ gl_Position = gl_ModelViewProjectionMatrix * pos2;
+ EmitVertex();
+ gl_Position = gl_ModelViewProjectionMatrix * pos4;
+ EmitVertex();
+ gl_Position = gl_ModelViewProjectionMatrix * pos5;
+ EmitVertex();
+ gl_Position = gl_ModelViewProjectionMatrix * pos3;
+ EmitVertex();
+ gl_Position = gl_ModelViewProjectionMatrix * pos4;
+ EmitVertex();
+ gl_Position = gl_ModelViewProjectionMatrix * pos5;
+ EmitVertex();
+
+ EndPrimitive();
+ // new primitive
+ }
+
+}
+
diff --git a/packages/noncvs/windows/extra/Gem/examples/10.glsl/tri2fan.vert b/packages/noncvs/windows/extra/Gem/examples/10.glsl/tri2fan.vert
index 2d22ff21..c80f1f0e 100644
--- a/packages/noncvs/windows/extra/Gem/examples/10.glsl/tri2fan.vert
+++ b/packages/noncvs/windows/extra/Gem/examples/10.glsl/tri2fan.vert
@@ -1,6 +1,6 @@
-void main()
-{
- gl_Position = gl_Vertex;
-}
-
-
+void main()
+{
+ gl_Position = gl_Vertex;
+}
+
+
diff --git a/packages/noncvs/windows/extra/Gem/examples/10.glsl/vague.frag b/packages/noncvs/windows/extra/Gem/examples/10.glsl/vague.frag
index 7b6a2f36..3ef4740f 100644
--- a/packages/noncvs/windows/extra/Gem/examples/10.glsl/vague.frag
+++ b/packages/noncvs/windows/extra/Gem/examples/10.glsl/vague.frag
@@ -1,23 +1,23 @@
-// Cyrille Henry 2007
-
-#extension GL_ARB_texture_rectangle : enable
-
-uniform float K;
-uniform sampler2DRect texture, texture1, texture2;
-
-const float dx = 1.;
-const float dy = 1.;
-const float dp = 1.;
-
-void main (void)
-{
- float light;
- vec2 position = gl_TexCoord[0].st;
- vec4 C, C1;
- C = texture2DRect(texture2, position) ;
-
- vec4 color2 = texture2DRect(texture1, (position+K*C.rg));
-
- gl_FragColor = color2;
-
-}
+// Cyrille Henry 2007
+
+#extension GL_ARB_texture_rectangle : enable
+
+uniform float K;
+uniform sampler2DRect texture, texture1, texture2;
+
+const float dx = 1.;
+const float dy = 1.;
+const float dp = 1.;
+
+void main (void)
+{
+ float light;
+ vec2 position = gl_TexCoord[0].st;
+ vec4 C, C1;
+ C = texture2DRect(texture2, position) ;
+
+ vec4 color2 = texture2DRect(texture1, (position+K*C.rg));
+
+ gl_FragColor = color2;
+
+}
diff --git a/packages/noncvs/windows/extra/Gem/examples/10.glsl/wave.frag b/packages/noncvs/windows/extra/Gem/examples/10.glsl/wave.frag
index d455f884..52bee23f 100644
--- a/packages/noncvs/windows/extra/Gem/examples/10.glsl/wave.frag
+++ b/packages/noncvs/windows/extra/Gem/examples/10.glsl/wave.frag
@@ -1,40 +1,40 @@
-// Cyrille Henry 2007
-
-#extension GL_ARB_texture_rectangle : enable
-
-uniform float K1,K3,D1,K;
-uniform sampler2DRect text;
-
-const float dx = 1.;
-const float dy = 1.;
-
-void main (void)
-{
- float x,y;
- vec4 C;
- vec2 texture1 = gl_TexCoord[0].st ;
-
- x=texture1.x;
- y=texture1.y;
-
- C = texture2DRect(text, vec2(x, y));
-
- vec4 color_cote = texture2DRect(text, vec2(x-dx, y-dy));
- color_cote += texture2DRect(text, vec2(x+dx, y-dy));
- color_cote += texture2DRect(text, vec2(x-dx, y+dy));
- color_cote += texture2DRect(text, vec2(x+dx, y+dy));
- color_cote += texture2DRect(text, vec2(x, y-dy));
- color_cote += texture2DRect(text, vec2(x-dx, y));
- color_cote += texture2DRect(text, vec2(x+dx, y));
- color_cote += texture2DRect(text, vec2(x, y+dy));
-
-
- float K = K1 * color_cote.r + K3 * 0.5 - (8. * K1 + K3) * C.r;
- float D = D1 * (C.r - C.g);
-
- C.b = C.g;
- C.g = C.r;
- C.r = (2.* C.g) - C.b + K - D ;
-
- gl_FragColor = vec4(C.rgb,1.);
-}
+// Cyrille Henry 2007
+
+#extension GL_ARB_texture_rectangle : enable
+
+uniform float K1,K3,D1,K;
+uniform sampler2DRect text;
+
+const float dx = 1.;
+const float dy = 1.;
+
+void main (void)
+{
+ float x,y;
+ vec4 C;
+ vec2 texture1 = gl_TexCoord[0].st ;
+
+ x=texture1.x;
+ y=texture1.y;
+
+ C = texture2DRect(text, vec2(x, y));
+
+ vec4 color_cote = texture2DRect(text, vec2(x-dx, y-dy));
+ color_cote += texture2DRect(text, vec2(x+dx, y-dy));
+ color_cote += texture2DRect(text, vec2(x-dx, y+dy));
+ color_cote += texture2DRect(text, vec2(x+dx, y+dy));
+ color_cote += texture2DRect(text, vec2(x, y-dy));
+ color_cote += texture2DRect(text, vec2(x-dx, y));
+ color_cote += texture2DRect(text, vec2(x+dx, y));
+ color_cote += texture2DRect(text, vec2(x, y+dy));
+
+
+ float K = K1 * color_cote.r + K3 * 0.5 - (8. * K1 + K3) * C.r;
+ float D = D1 * (C.r - C.g);
+
+ C.b = C.g;
+ C.g = C.r;
+ C.r = (2.* C.g) - C.b + K - D ;
+
+ gl_FragColor = vec4(C.rgb,1.);
+}
diff --git a/packages/noncvs/windows/extra/Gem/examples/11.obj-exporter/obj_cube.pd b/packages/noncvs/windows/extra/Gem/examples/11.obj-exporter/obj_cube.pd
index d874dc60..90076461 100644
--- a/packages/noncvs/windows/extra/Gem/examples/11.obj-exporter/obj_cube.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/11.obj-exporter/obj_cube.pd
@@ -1,152 +1,152 @@
-#N canvas 511 83 666 689 12;
-#X obj 18 14 inlet;
-#X obj 18 35 t a a;
-#X obj 50 98 spigot 0;
-#X obj 50 169 GEMglPushMatrix;
-#X obj 50 573 GEMglPopMatrix;
-#X obj 50 211 gemlist_info;
-#X obj 103 77 r global_snap_obj;
-#X obj 560 718 s global_obj_creator;
-#X obj 50 317 gemlist_info;
-#X obj 342 25 loadbang;
-#X obj 342 46 \$1;
-#X obj 342 67 sel 0;
-#X msg 342 88 1;
-#X obj 342 110 f;
-#X text 374 108 or primitive apothema for matju;
-#X text 375 92 primitive size;
-#X obj 342 131 s \$0-size;
-#X obj 422 25 inlet;
-#X obj 18 77 outlet;
-#X obj 166 168 r \$0-size;
-#X obj 50 190 translateXYZ;
-#X obj 104 275 * -2;
-#X obj 50 296 translateXYZ;
-#X obj 104 253 r \$0-size;
-#X obj 50 424 gemlist_info;
-#X obj 77 382 * -2;
-#X obj 50 403 translateXYZ;
-#X obj 77 360 r \$0-size;
-#X obj 50 530 gemlist_info;
-#X obj 50 509 translateXYZ;
-#X obj 104 467 r \$0-size;
-#X obj 50 121 t a b;
-#X text 150 143 create new groupe;
-#X obj 104 488 * 2;
-#X obj 50 594 t b;
-#X msg 131 232 v \$1 \$2 \$3;
-#X msg 131 339 v \$1 \$2 \$3;
-#X msg 131 445 v \$1 \$2 \$3;
-#X msg 131 552 v \$1 \$2 \$3;
-#X obj 59 35 r \$0-size;
-#X obj 50 636 spigot 1;
-#X obj 123 690 spigot 0;
-#X obj 103 594 r global_obj_triangulate;
-#X obj 103 615 == 0;
-#X msg 82 142 g cube;
-#X obj 18 56 cube;
-#X obj 260 217 gemlist_info;
-#X obj 260 323 gemlist_info;
-#X obj 341 154 r \$0-size;
-#X obj 260 196 translateXYZ;
-#X obj 314 281 * -2;
-#X obj 260 302 translateXYZ;
-#X obj 314 259 r \$0-size;
-#X obj 260 430 gemlist_info;
-#X obj 287 388 * -2;
-#X obj 260 409 translateXYZ;
-#X obj 287 366 r \$0-size;
-#X obj 260 536 gemlist_info;
-#X obj 260 515 translateXYZ;
-#X obj 314 473 r \$0-size;
-#X obj 314 494 * 2;
-#X msg 341 238 v \$1 \$2 \$3;
-#X msg 341 345 v \$1 \$2 \$3;
-#X msg 341 451 v \$1 \$2 \$3;
-#X msg 341 558 v \$1 \$2 \$3;
-#X obj 341 175 * -2;
-#X obj 287 175 * 2;
-#X msg 50 657 f -5 -6 -7 -8 \, f -7 -3 -4 -8 \, f -5 -8 -4 -1 \, f
--2 -3 -7 -6 \, f -1 -2 -6 -5 \, f -3 -2 -1 -4;
-#X msg 123 711 f -6 -7 -8 \, f -8 -5 -6 \, f -3 -4 -8 \, f -8 -7 -3
-\, f -8 -4 -1 \, f -1 -5 -8 \, f -3 -7 -6 \, f -6 -2 -3 \, f -2 -6
--5 \, f -5 -1 -2 \, f -2 -1 -4 \, f -4 -3 -2;
-#X connect 0 0 1 0;
-#X connect 1 0 45 0;
-#X connect 1 1 2 0;
-#X connect 2 0 31 0;
-#X connect 3 0 20 0;
-#X connect 4 0 34 0;
-#X connect 5 0 22 0;
-#X connect 5 4 35 0;
-#X connect 6 0 2 1;
-#X connect 8 0 26 0;
-#X connect 8 4 36 0;
-#X connect 9 0 10 0;
-#X connect 10 0 11 0;
-#X connect 11 0 12 0;
-#X connect 11 1 13 0;
-#X connect 12 0 13 0;
-#X connect 13 0 16 0;
-#X connect 17 0 13 0;
-#X connect 19 0 20 1;
-#X connect 19 0 20 2;
-#X connect 19 0 20 3;
-#X connect 20 0 5 0;
-#X connect 21 0 22 2;
-#X connect 22 0 8 0;
-#X connect 23 0 21 0;
-#X connect 24 0 29 0;
-#X connect 24 4 37 0;
-#X connect 25 0 26 1;
-#X connect 26 0 24 0;
-#X connect 27 0 25 0;
-#X connect 28 0 49 0;
-#X connect 28 4 38 0;
-#X connect 29 0 28 0;
-#X connect 30 0 33 0;
-#X connect 31 0 3 0;
-#X connect 31 1 44 0;
-#X connect 33 0 29 2;
-#X connect 34 0 40 0;
-#X connect 34 0 41 0;
-#X connect 35 0 7 0;
-#X connect 36 0 7 0;
-#X connect 37 0 7 0;
-#X connect 38 0 7 0;
-#X connect 39 0 45 1;
-#X connect 40 0 67 0;
-#X connect 41 0 68 0;
-#X connect 42 0 41 1;
-#X connect 42 0 43 0;
-#X connect 43 0 40 1;
-#X connect 44 0 7 0;
-#X connect 45 0 18 0;
-#X connect 46 0 51 0;
-#X connect 46 4 61 0;
-#X connect 47 0 55 0;
-#X connect 47 4 62 0;
-#X connect 48 0 65 0;
-#X connect 48 0 66 0;
-#X connect 49 0 46 0;
-#X connect 50 0 51 2;
-#X connect 51 0 47 0;
-#X connect 52 0 50 0;
-#X connect 53 0 58 0;
-#X connect 53 4 63 0;
-#X connect 54 0 55 1;
-#X connect 55 0 53 0;
-#X connect 56 0 54 0;
-#X connect 57 0 4 0;
-#X connect 57 4 64 0;
-#X connect 58 0 57 0;
-#X connect 59 0 60 0;
-#X connect 60 0 58 2;
-#X connect 61 0 7 0;
-#X connect 62 0 7 0;
-#X connect 63 0 7 0;
-#X connect 64 0 7 0;
-#X connect 65 0 49 3;
-#X connect 66 0 49 1;
-#X connect 67 0 7 0;
-#X connect 68 0 7 0;
+#N canvas 511 83 666 689 12;
+#X obj 18 14 inlet;
+#X obj 18 35 t a a;
+#X obj 50 98 spigot 0;
+#X obj 50 169 GEMglPushMatrix;
+#X obj 50 573 GEMglPopMatrix;
+#X obj 50 211 gemlist_info;
+#X obj 103 77 r global_snap_obj;
+#X obj 560 718 s global_obj_creator;
+#X obj 50 317 gemlist_info;
+#X obj 342 25 loadbang;
+#X obj 342 46 \$1;
+#X obj 342 67 sel 0;
+#X msg 342 88 1;
+#X obj 342 110 f;
+#X text 374 108 or primitive apothema for matju;
+#X text 375 92 primitive size;
+#X obj 342 131 s \$0-size;
+#X obj 422 25 inlet;
+#X obj 18 77 outlet;
+#X obj 166 168 r \$0-size;
+#X obj 50 190 translateXYZ;
+#X obj 104 275 * -2;
+#X obj 50 296 translateXYZ;
+#X obj 104 253 r \$0-size;
+#X obj 50 424 gemlist_info;
+#X obj 77 382 * -2;
+#X obj 50 403 translateXYZ;
+#X obj 77 360 r \$0-size;
+#X obj 50 530 gemlist_info;
+#X obj 50 509 translateXYZ;
+#X obj 104 467 r \$0-size;
+#X obj 50 121 t a b;
+#X text 150 143 create new groupe;
+#X obj 104 488 * 2;
+#X obj 50 594 t b;
+#X msg 131 232 v \$1 \$2 \$3;
+#X msg 131 339 v \$1 \$2 \$3;
+#X msg 131 445 v \$1 \$2 \$3;
+#X msg 131 552 v \$1 \$2 \$3;
+#X obj 59 35 r \$0-size;
+#X obj 50 636 spigot 1;
+#X obj 123 690 spigot 0;
+#X obj 103 594 r global_obj_triangulate;
+#X obj 103 615 == 0;
+#X msg 82 142 g cube;
+#X obj 18 56 cube;
+#X obj 260 217 gemlist_info;
+#X obj 260 323 gemlist_info;
+#X obj 341 154 r \$0-size;
+#X obj 260 196 translateXYZ;
+#X obj 314 281 * -2;
+#X obj 260 302 translateXYZ;
+#X obj 314 259 r \$0-size;
+#X obj 260 430 gemlist_info;
+#X obj 287 388 * -2;
+#X obj 260 409 translateXYZ;
+#X obj 287 366 r \$0-size;
+#X obj 260 536 gemlist_info;
+#X obj 260 515 translateXYZ;
+#X obj 314 473 r \$0-size;
+#X obj 314 494 * 2;
+#X msg 341 238 v \$1 \$2 \$3;
+#X msg 341 345 v \$1 \$2 \$3;
+#X msg 341 451 v \$1 \$2 \$3;
+#X msg 341 558 v \$1 \$2 \$3;
+#X obj 341 175 * -2;
+#X obj 287 175 * 2;
+#X msg 50 657 f -5 -6 -7 -8 \, f -7 -3 -4 -8 \, f -5 -8 -4 -1 \, f
+-2 -3 -7 -6 \, f -1 -2 -6 -5 \, f -3 -2 -1 -4;
+#X msg 123 711 f -6 -7 -8 \, f -8 -5 -6 \, f -3 -4 -8 \, f -8 -7 -3
+\, f -8 -4 -1 \, f -1 -5 -8 \, f -3 -7 -6 \, f -6 -2 -3 \, f -2 -6
+-5 \, f -5 -1 -2 \, f -2 -1 -4 \, f -4 -3 -2;
+#X connect 0 0 1 0;
+#X connect 1 0 45 0;
+#X connect 1 1 2 0;
+#X connect 2 0 31 0;
+#X connect 3 0 20 0;
+#X connect 4 0 34 0;
+#X connect 5 0 22 0;
+#X connect 5 4 35 0;
+#X connect 6 0 2 1;
+#X connect 8 0 26 0;
+#X connect 8 4 36 0;
+#X connect 9 0 10 0;
+#X connect 10 0 11 0;
+#X connect 11 0 12 0;
+#X connect 11 1 13 0;
+#X connect 12 0 13 0;
+#X connect 13 0 16 0;
+#X connect 17 0 13 0;
+#X connect 19 0 20 1;
+#X connect 19 0 20 2;
+#X connect 19 0 20 3;
+#X connect 20 0 5 0;
+#X connect 21 0 22 2;
+#X connect 22 0 8 0;
+#X connect 23 0 21 0;
+#X connect 24 0 29 0;
+#X connect 24 4 37 0;
+#X connect 25 0 26 1;
+#X connect 26 0 24 0;
+#X connect 27 0 25 0;
+#X connect 28 0 49 0;
+#X connect 28 4 38 0;
+#X connect 29 0 28 0;
+#X connect 30 0 33 0;
+#X connect 31 0 3 0;
+#X connect 31 1 44 0;
+#X connect 33 0 29 2;
+#X connect 34 0 40 0;
+#X connect 34 0 41 0;
+#X connect 35 0 7 0;
+#X connect 36 0 7 0;
+#X connect 37 0 7 0;
+#X connect 38 0 7 0;
+#X connect 39 0 45 1;
+#X connect 40 0 67 0;
+#X connect 41 0 68 0;
+#X connect 42 0 41 1;
+#X connect 42 0 43 0;
+#X connect 43 0 40 1;
+#X connect 44 0 7 0;
+#X connect 45 0 18 0;
+#X connect 46 0 51 0;
+#X connect 46 4 61 0;
+#X connect 47 0 55 0;
+#X connect 47 4 62 0;
+#X connect 48 0 65 0;
+#X connect 48 0 66 0;
+#X connect 49 0 46 0;
+#X connect 50 0 51 2;
+#X connect 51 0 47 0;
+#X connect 52 0 50 0;
+#X connect 53 0 58 0;
+#X connect 53 4 63 0;
+#X connect 54 0 55 1;
+#X connect 55 0 53 0;
+#X connect 56 0 54 0;
+#X connect 57 0 4 0;
+#X connect 57 4 64 0;
+#X connect 58 0 57 0;
+#X connect 59 0 60 0;
+#X connect 60 0 58 2;
+#X connect 61 0 7 0;
+#X connect 62 0 7 0;
+#X connect 63 0 7 0;
+#X connect 64 0 7 0;
+#X connect 65 0 49 3;
+#X connect 66 0 49 1;
+#X connect 67 0 7 0;
+#X connect 68 0 7 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/11.obj-exporter/obj_exporter-help.pd b/packages/noncvs/windows/extra/Gem/examples/11.obj-exporter/obj_exporter-help.pd
index 543a2b2b..c63b9917 100644
--- a/packages/noncvs/windows/extra/Gem/examples/11.obj-exporter/obj_exporter-help.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/11.obj-exporter/obj_exporter-help.pd
@@ -1,87 +1,87 @@
-#N canvas 58 106 645 381 12;
-#X obj 35 90 gemhead;
-#X obj 35 175 translateXYZ 0 0 0.1;
-#X obj 35 153 rotateXYZ 1 5 9;
-#X obj 35 197 scaleXYZ 1 1.1 1;
-#X obj 35 219 obj_square 0.2;
-#X obj 242 205 obj_exporter;
-#X msg 242 95 save test1.obj;
-#N canvas 428 179 450 300 repeat 0;
-#X obj 36 22 inlet;
-#X obj 36 44 t a a;
-#X obj 111 170 gemlist;
-#X obj 36 227 outlet;
-#X obj 111 149 until;
-#X msg 111 128 30;
-#X obj 36 65 route gem_state;
-#X obj 36 86 route float;
-#X msg 36 107 gem_state \$1;
-#X connect 0 0 1 0;
-#X connect 1 0 6 0;
-#X connect 1 1 2 1;
-#X connect 2 0 3 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X connect 6 0 7 0;
-#X connect 7 0 8 0;
-#X connect 7 1 5 0;
-#X connect 8 0 3 0;
-#X restore 35 112 pd repeat 30;
-#X msg 35 15 create \, 1;
-#X msg 46 36 destroy;
-#X floatatom 69 133 5 0 0 0 - - -;
-#X floatatom 109 133 5 0 0 0 - - -;
-#X floatatom 149 133 5 0 0 0 - - -;
-#X msg 256 142 goupe \$1;
-#X obj 256 123 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X text 276 122 grouping or not the various primitives;
-#X text 325 144 default = 0;
-#X msg 270 181 triangulate \$1;
-#X obj 270 164 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X text 379 182 triangulate quads (default = 0);
-#X obj 35 324 obj_primTri;
-#X msg 47 261 0.1 0.3 0.5;
-#X msg 59 282 0.2 0.4 0.5;
-#X obj 47 240 loadbang;
-#X obj 241 261 gemhead;
-#X obj 401 261 gemhead;
-#X obj 401 324 obj_rectangle 0.5 1;
-#X obj 401 282 translateXYZ -1 -1 2;
-#X obj 401 303 rotateXYZ 30 -20 10;
-#X msg 72 303 0.2 0.4 0.4;
-#X obj 241 324 obj_cube 0.5;
-#X obj 241 303 rotateXYZ 30 30 30;
-#X obj 241 282 translateXYZ 2 1 2;
-#X obj 35 59 gemwin;
-#X text 236 16 Here is a way to create obj file in Gem.;
-#X obj 307 64 model;
-#X connect 0 0 7 0;
-#X connect 1 0 3 0;
-#X connect 2 0 1 0;
-#X connect 3 0 4 0;
-#X connect 4 0 20 0;
-#X connect 6 0 5 0;
-#X connect 7 0 2 0;
-#X connect 8 0 33 0;
-#X connect 9 0 33 0;
-#X connect 10 0 2 1;
-#X connect 11 0 2 2;
-#X connect 12 0 2 3;
-#X connect 13 0 5 0;
-#X connect 14 0 13 0;
-#X connect 17 0 5 0;
-#X connect 18 0 17 0;
-#X connect 21 0 20 1;
-#X connect 22 0 20 2;
-#X connect 23 0 21 0;
-#X connect 23 0 22 0;
-#X connect 23 0 29 0;
-#X connect 24 0 32 0;
-#X connect 25 0 27 0;
-#X connect 27 0 28 0;
-#X connect 28 0 26 0;
-#X connect 29 0 20 3;
-#X connect 31 0 30 0;
-#X connect 32 0 31 0;
+#N canvas 58 106 645 381 12;
+#X obj 35 90 gemhead;
+#X obj 35 175 translateXYZ 0 0 0.1;
+#X obj 35 153 rotateXYZ 1 5 9;
+#X obj 35 197 scaleXYZ 1 1.1 1;
+#X obj 35 219 obj_square 0.2;
+#X obj 242 205 obj_exporter;
+#X msg 242 95 save test1.obj;
+#N canvas 428 179 450 300 repeat 0;
+#X obj 36 22 inlet;
+#X obj 36 44 t a a;
+#X obj 111 170 gemlist;
+#X obj 36 227 outlet;
+#X obj 111 149 until;
+#X msg 111 128 30;
+#X obj 36 65 route gem_state;
+#X obj 36 86 route float;
+#X msg 36 107 gem_state \$1;
+#X connect 0 0 1 0;
+#X connect 1 0 6 0;
+#X connect 1 1 2 1;
+#X connect 2 0 3 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X connect 6 0 7 0;
+#X connect 7 0 8 0;
+#X connect 7 1 5 0;
+#X connect 8 0 3 0;
+#X restore 35 112 pd repeat 30;
+#X msg 35 15 create \, 1;
+#X msg 46 36 destroy;
+#X floatatom 69 133 5 0 0 0 - - -;
+#X floatatom 109 133 5 0 0 0 - - -;
+#X floatatom 149 133 5 0 0 0 - - -;
+#X msg 256 142 goupe \$1;
+#X obj 256 123 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X text 276 122 grouping or not the various primitives;
+#X text 325 144 default = 0;
+#X msg 270 181 triangulate \$1;
+#X obj 270 164 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X text 379 182 triangulate quads (default = 0);
+#X obj 35 324 obj_primTri;
+#X msg 47 261 0.1 0.3 0.5;
+#X msg 59 282 0.2 0.4 0.5;
+#X obj 47 240 loadbang;
+#X obj 241 261 gemhead;
+#X obj 401 261 gemhead;
+#X obj 401 324 obj_rectangle 0.5 1;
+#X obj 401 282 translateXYZ -1 -1 2;
+#X obj 401 303 rotateXYZ 30 -20 10;
+#X msg 72 303 0.2 0.4 0.4;
+#X obj 241 324 obj_cube 0.5;
+#X obj 241 303 rotateXYZ 30 30 30;
+#X obj 241 282 translateXYZ 2 1 2;
+#X obj 35 59 gemwin;
+#X text 236 16 Here is a way to create obj file in Gem.;
+#X obj 307 64 model;
+#X connect 0 0 7 0;
+#X connect 1 0 3 0;
+#X connect 2 0 1 0;
+#X connect 3 0 4 0;
+#X connect 4 0 20 0;
+#X connect 6 0 5 0;
+#X connect 7 0 2 0;
+#X connect 8 0 33 0;
+#X connect 9 0 33 0;
+#X connect 10 0 2 1;
+#X connect 11 0 2 2;
+#X connect 12 0 2 3;
+#X connect 13 0 5 0;
+#X connect 14 0 13 0;
+#X connect 17 0 5 0;
+#X connect 18 0 17 0;
+#X connect 21 0 20 1;
+#X connect 22 0 20 2;
+#X connect 23 0 21 0;
+#X connect 23 0 22 0;
+#X connect 23 0 29 0;
+#X connect 24 0 32 0;
+#X connect 25 0 27 0;
+#X connect 27 0 28 0;
+#X connect 28 0 26 0;
+#X connect 29 0 20 3;
+#X connect 31 0 30 0;
+#X connect 32 0 31 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/11.obj-exporter/obj_exporter.pd b/packages/noncvs/windows/extra/Gem/examples/11.obj-exporter/obj_exporter.pd
index 5a4b08f9..07e4696e 100644
--- a/packages/noncvs/windows/extra/Gem/examples/11.obj-exporter/obj_exporter.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/11.obj-exporter/obj_exporter.pd
@@ -1,96 +1,96 @@
-#N canvas 166 167 375 605 12;
-#X obj 90 9 inlet;
-#X obj 51 108 gemhead;
-#X obj 51 150 delay 0;
-#X obj 83 234 s global_snap_obj;
-#X msg 113 74 1;
-#X obj 51 129 t b;
-#X obj 51 171 spigot 0;
-#X msg 83 213 0;
-#X obj 51 598 textfile;
-#X msg 146 74 rewind \, clear;
-#X msg 51 314 write \$1 cr;
-#X obj 66 338 r global_obj_creator;
-#X obj 66 359 route g v f;
-#X msg 90 401 add v \$1 \$2 \$3;
-#X obj 115 422 list prepend add f;
-#X obj 90 51 t a b b;
-#X obj 51 291 symbol;
-#X obj 115 443 list trim;
-#X obj 51 192 t b b;
-#X obj 90 269 symbol;
-#X obj 98 506 f;
-#X obj 121 529 + 1;
-#X msg 116 485 0;
-#X obj 66 556 pack s f;
-#X msg 66 577 add g \$1_\$2;
-#X obj 66 485 t a b;
-#X obj 148 51 == 0;
-#X obj 66 464 spigot 1;
-#N canvas 1 82 450 300 remove_cam_offset 0;
-#X obj 213 32 gemhead 1;
-#X obj 213 53 gemlist_info;
-#X obj 294 74 unpack f f f;
-#X obj 23 28 inlet;
-#X obj 23 244 outlet;
-#X obj 23 76 unpack f f f;
-#X obj 23 217 pack f f f;
-#X obj 23 167 -;
-#X obj 63 167 -;
-#X obj 104 167 -;
-#X connect 0 0 1 0;
-#X connect 1 4 2 0;
-#X connect 2 0 7 1;
-#X connect 2 1 8 1;
-#X connect 2 2 9 1;
-#X connect 3 0 5 0;
-#X connect 5 0 7 0;
-#X connect 5 1 8 0;
-#X connect 5 2 9 0;
-#X connect 6 0 4 0;
-#X connect 7 0 6 0;
-#X connect 8 0 6 1;
-#X connect 9 0 6 2;
-#X restore 90 380 pd remove_cam_offset;
-#X obj 90 30 route save groupe triangulate;
-#X obj 223 51 s global_obj_triangulate;
-#X connect 0 0 29 0;
-#X connect 1 0 5 0;
-#X connect 2 0 6 0;
-#X connect 4 0 6 1;
-#X connect 4 0 3 0;
-#X connect 5 0 2 0;
-#X connect 6 0 18 0;
-#X connect 7 0 3 0;
-#X connect 7 0 6 1;
-#X connect 9 0 8 0;
-#X connect 10 0 8 0;
-#X connect 11 0 12 0;
-#X connect 12 0 27 0;
-#X connect 12 1 28 0;
-#X connect 12 2 14 0;
-#X connect 13 0 8 0;
-#X connect 14 0 17 0;
-#X connect 15 0 19 0;
-#X connect 15 1 4 0;
-#X connect 15 2 9 0;
-#X connect 15 2 22 0;
-#X connect 16 0 10 0;
-#X connect 17 0 8 0;
-#X connect 18 0 16 0;
-#X connect 18 1 7 0;
-#X connect 19 0 16 1;
-#X connect 20 0 21 0;
-#X connect 20 0 23 1;
-#X connect 21 0 20 1;
-#X connect 22 0 20 1;
-#X connect 23 0 24 0;
-#X connect 24 0 8 0;
-#X connect 25 0 23 0;
-#X connect 25 1 20 0;
-#X connect 26 0 27 1;
-#X connect 27 0 25 0;
-#X connect 28 0 13 0;
-#X connect 29 0 15 0;
-#X connect 29 1 26 0;
-#X connect 29 2 30 0;
+#N canvas 166 167 375 605 12;
+#X obj 90 9 inlet;
+#X obj 51 108 gemhead;
+#X obj 51 150 delay 0;
+#X obj 83 234 s global_snap_obj;
+#X msg 113 74 1;
+#X obj 51 129 t b;
+#X obj 51 171 spigot 0;
+#X msg 83 213 0;
+#X obj 51 598 textfile;
+#X msg 146 74 rewind \, clear;
+#X msg 51 314 write \$1 cr;
+#X obj 66 338 r global_obj_creator;
+#X obj 66 359 route g v f;
+#X msg 90 401 add v \$1 \$2 \$3;
+#X obj 115 422 list prepend add f;
+#X obj 90 51 t a b b;
+#X obj 51 291 symbol;
+#X obj 115 443 list trim;
+#X obj 51 192 t b b;
+#X obj 90 269 symbol;
+#X obj 98 506 f;
+#X obj 121 529 + 1;
+#X msg 116 485 0;
+#X obj 66 556 pack s f;
+#X msg 66 577 add g \$1_\$2;
+#X obj 66 485 t a b;
+#X obj 148 51 == 0;
+#X obj 66 464 spigot 1;
+#N canvas 1 82 450 300 remove_cam_offset 0;
+#X obj 213 32 gemhead 1;
+#X obj 213 53 gemlist_info;
+#X obj 294 74 unpack f f f;
+#X obj 23 28 inlet;
+#X obj 23 244 outlet;
+#X obj 23 76 unpack f f f;
+#X obj 23 217 pack f f f;
+#X obj 23 167 -;
+#X obj 63 167 -;
+#X obj 104 167 -;
+#X connect 0 0 1 0;
+#X connect 1 4 2 0;
+#X connect 2 0 7 1;
+#X connect 2 1 8 1;
+#X connect 2 2 9 1;
+#X connect 3 0 5 0;
+#X connect 5 0 7 0;
+#X connect 5 1 8 0;
+#X connect 5 2 9 0;
+#X connect 6 0 4 0;
+#X connect 7 0 6 0;
+#X connect 8 0 6 1;
+#X connect 9 0 6 2;
+#X restore 90 380 pd remove_cam_offset;
+#X obj 90 30 route save groupe triangulate;
+#X obj 223 51 s global_obj_triangulate;
+#X connect 0 0 29 0;
+#X connect 1 0 5 0;
+#X connect 2 0 6 0;
+#X connect 4 0 6 1;
+#X connect 4 0 3 0;
+#X connect 5 0 2 0;
+#X connect 6 0 18 0;
+#X connect 7 0 3 0;
+#X connect 7 0 6 1;
+#X connect 9 0 8 0;
+#X connect 10 0 8 0;
+#X connect 11 0 12 0;
+#X connect 12 0 27 0;
+#X connect 12 1 28 0;
+#X connect 12 2 14 0;
+#X connect 13 0 8 0;
+#X connect 14 0 17 0;
+#X connect 15 0 19 0;
+#X connect 15 1 4 0;
+#X connect 15 2 9 0;
+#X connect 15 2 22 0;
+#X connect 16 0 10 0;
+#X connect 17 0 8 0;
+#X connect 18 0 16 0;
+#X connect 18 1 7 0;
+#X connect 19 0 16 1;
+#X connect 20 0 21 0;
+#X connect 20 0 23 1;
+#X connect 21 0 20 1;
+#X connect 22 0 20 1;
+#X connect 23 0 24 0;
+#X connect 24 0 8 0;
+#X connect 25 0 23 0;
+#X connect 25 1 20 0;
+#X connect 26 0 27 1;
+#X connect 27 0 25 0;
+#X connect 28 0 13 0;
+#X connect 29 0 15 0;
+#X connect 29 1 26 0;
+#X connect 29 2 30 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/11.obj-exporter/obj_primTri.pd b/packages/noncvs/windows/extra/Gem/examples/11.obj-exporter/obj_primTri.pd
index 26071974..0fa29dcc 100644
--- a/packages/noncvs/windows/extra/Gem/examples/11.obj-exporter/obj_primTri.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/11.obj-exporter/obj_primTri.pd
@@ -1,87 +1,87 @@
-#N canvas 418 99 489 673 12;
-#X obj 23 26 inlet;
-#X obj 137 19 inlet;
-#X obj 183 19 inlet;
-#X obj 233 19 inlet;
-#X obj 304 19 inlet;
-#X obj 350 19 inlet;
-#X obj 400 19 inlet;
-#X obj 23 47 t a a;
-#X obj 23 89 outlet;
-#X obj 23 68 primTri 0 0 0;
-#X obj 55 110 spigot 0;
-#X obj 55 173 GEMglPushMatrix;
-#X obj 55 542 GEMglPopMatrix;
-#X obj 55 236 gemlist_info;
-#X obj 108 89 r global_snap_obj;
-#X obj 178 602 s global_obj_creator;
-#X text 217 241 get it's position;
-#X text 227 260 send it to the global abstraction;
-#X obj 55 362 gemlist_info;
-#X obj 55 215 translateXYZ;
-#X obj 55 341 translateXYZ;
-#X obj 55 488 gemlist_info;
-#X obj 55 467 translateXYZ;
-#X obj 55 131 t a b;
-#X text 171 155 create new groupe;
-#X msg 136 257 v \$1 \$2 \$3;
-#X msg 136 383 v \$1 \$2 \$3;
-#X msg 136 509 v \$1 \$2 \$3;
-#X msg 87 152 g triangle;
-#X obj 55 278 GEMglPopMatrix;
-#X obj 55 299 GEMglPushMatrix;
-#X obj 55 404 GEMglPopMatrix;
-#X obj 55 425 GEMglPushMatrix;
-#X obj 82 194 unpack f f f;
-#X text 217 223 1st vertex of the triangle;
-#X obj 82 320 unpack f f f;
-#X text 220 340 2nd vertex of the triangle;
-#X obj 82 446 unpack f f f;
-#X text 152 465 3rd vertex of the triangle;
-#X msg 55 563 f -3 -2 -1;
-#X connect 0 0 7 0;
-#X connect 1 0 9 1;
-#X connect 1 0 33 0;
-#X connect 2 0 9 2;
-#X connect 2 0 35 0;
-#X connect 3 0 9 3;
-#X connect 3 0 37 0;
-#X connect 4 0 9 4;
-#X connect 5 0 9 5;
-#X connect 6 0 9 6;
-#X connect 7 0 9 0;
-#X connect 7 1 10 0;
-#X connect 9 0 8 0;
-#X connect 10 0 23 0;
-#X connect 11 0 19 0;
-#X connect 12 0 39 0;
-#X connect 13 0 29 0;
-#X connect 13 4 25 0;
-#X connect 14 0 10 1;
-#X connect 18 0 31 0;
-#X connect 18 4 26 0;
-#X connect 19 0 13 0;
-#X connect 20 0 18 0;
-#X connect 21 0 12 0;
-#X connect 21 4 27 0;
-#X connect 22 0 21 0;
-#X connect 23 0 11 0;
-#X connect 23 1 28 0;
-#X connect 25 0 15 0;
-#X connect 26 0 15 0;
-#X connect 27 0 15 0;
-#X connect 28 0 15 0;
-#X connect 29 0 30 0;
-#X connect 30 0 20 0;
-#X connect 31 0 32 0;
-#X connect 32 0 22 0;
-#X connect 33 0 19 1;
-#X connect 33 1 19 2;
-#X connect 33 2 19 3;
-#X connect 35 0 20 1;
-#X connect 35 1 20 2;
-#X connect 35 2 20 3;
-#X connect 37 0 22 1;
-#X connect 37 1 22 2;
-#X connect 37 2 22 3;
-#X connect 39 0 15 0;
+#N canvas 418 99 489 673 12;
+#X obj 23 26 inlet;
+#X obj 137 19 inlet;
+#X obj 183 19 inlet;
+#X obj 233 19 inlet;
+#X obj 304 19 inlet;
+#X obj 350 19 inlet;
+#X obj 400 19 inlet;
+#X obj 23 47 t a a;
+#X obj 23 89 outlet;
+#X obj 23 68 primTri 0 0 0;
+#X obj 55 110 spigot 0;
+#X obj 55 173 GEMglPushMatrix;
+#X obj 55 542 GEMglPopMatrix;
+#X obj 55 236 gemlist_info;
+#X obj 108 89 r global_snap_obj;
+#X obj 178 602 s global_obj_creator;
+#X text 217 241 get it's position;
+#X text 227 260 send it to the global abstraction;
+#X obj 55 362 gemlist_info;
+#X obj 55 215 translateXYZ;
+#X obj 55 341 translateXYZ;
+#X obj 55 488 gemlist_info;
+#X obj 55 467 translateXYZ;
+#X obj 55 131 t a b;
+#X text 171 155 create new groupe;
+#X msg 136 257 v \$1 \$2 \$3;
+#X msg 136 383 v \$1 \$2 \$3;
+#X msg 136 509 v \$1 \$2 \$3;
+#X msg 87 152 g triangle;
+#X obj 55 278 GEMglPopMatrix;
+#X obj 55 299 GEMglPushMatrix;
+#X obj 55 404 GEMglPopMatrix;
+#X obj 55 425 GEMglPushMatrix;
+#X obj 82 194 unpack f f f;
+#X text 217 223 1st vertex of the triangle;
+#X obj 82 320 unpack f f f;
+#X text 220 340 2nd vertex of the triangle;
+#X obj 82 446 unpack f f f;
+#X text 152 465 3rd vertex of the triangle;
+#X msg 55 563 f -3 -2 -1;
+#X connect 0 0 7 0;
+#X connect 1 0 9 1;
+#X connect 1 0 33 0;
+#X connect 2 0 9 2;
+#X connect 2 0 35 0;
+#X connect 3 0 9 3;
+#X connect 3 0 37 0;
+#X connect 4 0 9 4;
+#X connect 5 0 9 5;
+#X connect 6 0 9 6;
+#X connect 7 0 9 0;
+#X connect 7 1 10 0;
+#X connect 9 0 8 0;
+#X connect 10 0 23 0;
+#X connect 11 0 19 0;
+#X connect 12 0 39 0;
+#X connect 13 0 29 0;
+#X connect 13 4 25 0;
+#X connect 14 0 10 1;
+#X connect 18 0 31 0;
+#X connect 18 4 26 0;
+#X connect 19 0 13 0;
+#X connect 20 0 18 0;
+#X connect 21 0 12 0;
+#X connect 21 4 27 0;
+#X connect 22 0 21 0;
+#X connect 23 0 11 0;
+#X connect 23 1 28 0;
+#X connect 25 0 15 0;
+#X connect 26 0 15 0;
+#X connect 27 0 15 0;
+#X connect 28 0 15 0;
+#X connect 29 0 30 0;
+#X connect 30 0 20 0;
+#X connect 31 0 32 0;
+#X connect 32 0 22 0;
+#X connect 33 0 19 1;
+#X connect 33 1 19 2;
+#X connect 33 2 19 3;
+#X connect 35 0 20 1;
+#X connect 35 1 20 2;
+#X connect 35 2 20 3;
+#X connect 37 0 22 1;
+#X connect 37 1 22 2;
+#X connect 37 2 22 3;
+#X connect 39 0 15 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/11.obj-exporter/obj_rectangle.pd b/packages/noncvs/windows/extra/Gem/examples/11.obj-exporter/obj_rectangle.pd
index 648eddfa..b4116299 100644
--- a/packages/noncvs/windows/extra/Gem/examples/11.obj-exporter/obj_rectangle.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/11.obj-exporter/obj_rectangle.pd
@@ -1,123 +1,123 @@
-#N canvas 571 83 666 689 12;
-#X obj 18 24 inlet;
-#X obj 18 45 t a a;
-#X obj 50 108 spigot 0;
-#X obj 50 179 GEMglPushMatrix;
-#X obj 50 583 GEMglPopMatrix;
-#X obj 50 221 gemlist_info;
-#X obj 103 87 r global_snap_obj;
-#X obj 387 591 s global_obj_creator;
-#X text 212 203 1st vertex of the square;
-#X text 212 221 get it's position;
-#X text 252 241 send it to the global abstraction;
-#X obj 50 327 gemlist_info;
-#X text 152 326 get it's position;
-#X text 257 348 send it to the global abstraction;
-#X obj 342 18 loadbang;
-#X obj 342 39 \$1;
-#X obj 342 60 sel 0;
-#X msg 342 82 1;
-#X obj 342 104 f;
-#X obj 422 16 inlet;
-#X obj 18 87 outlet;
-#X obj 50 200 translateXYZ;
-#X obj 104 285 * -2;
-#X obj 50 306 translateXYZ;
-#X text 147 304 2nd vertex of the square;
-#X obj 50 434 gemlist_info;
-#X obj 77 392 * -2;
-#X obj 50 413 translateXYZ;
-#X obj 50 540 gemlist_info;
-#X obj 50 519 translateXYZ;
-#X obj 50 131 t a b;
-#X text 170 153 create new groupe;
-#X text 147 411 3rd vertex of the square;
-#X obj 104 498 * 2;
-#X obj 50 604 t b;
-#X msg 131 242 v \$1 \$2 \$3;
-#X msg 131 349 v \$1 \$2 \$3;
-#X msg 131 455 v \$1 \$2 \$3;
-#X msg 131 562 v \$1 \$2 \$3;
-#X obj 50 646 spigot 1;
-#X obj 160 646 spigot 0;
-#X obj 103 604 r global_obj_triangulate;
-#X obj 103 625 == 0;
-#X obj 342 125 s \$0-sizeX;
-#X obj 472 18 loadbang;
-#X obj 472 60 sel 0;
-#X msg 472 82 1;
-#X obj 472 104 f;
-#X obj 552 16 inlet;
-#X obj 472 39 \$2;
-#X obj 472 125 s \$0-sizeY;
-#X msg 82 152 g rectangle;
-#X obj 164 178 r \$0-sizeX;
-#X obj 240 178 r \$0-sizeY;
-#X obj 104 263 r \$0-sizeY;
-#X obj 77 370 r \$0-sizeX;
-#X obj 104 477 r \$0-sizeY;
-#X obj 18 66 rectangle;
-#X obj 59 45 r \$0-sizeX;
-#X obj 139 45 r \$0-sizeY;
-#X msg 50 667 f -1 -2 -3 -4;
-#X msg 160 667 f -2 -3 -4 \, f -4 -1 -2;
-#X connect 0 0 1 0;
-#X connect 1 0 57 0;
-#X connect 1 1 2 0;
-#X connect 2 0 30 0;
-#X connect 3 0 21 0;
-#X connect 4 0 34 0;
-#X connect 5 0 23 0;
-#X connect 5 4 35 0;
-#X connect 6 0 2 1;
-#X connect 11 0 27 0;
-#X connect 11 4 36 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 17 0;
-#X connect 16 1 18 0;
-#X connect 17 0 18 0;
-#X connect 18 0 43 0;
-#X connect 19 0 18 0;
-#X connect 21 0 5 0;
-#X connect 22 0 23 2;
-#X connect 23 0 11 0;
-#X connect 25 0 29 0;
-#X connect 25 4 37 0;
-#X connect 26 0 27 1;
-#X connect 27 0 25 0;
-#X connect 28 0 4 0;
-#X connect 28 4 38 0;
-#X connect 29 0 28 0;
-#X connect 30 0 3 0;
-#X connect 30 1 51 0;
-#X connect 33 0 29 2;
-#X connect 34 0 39 0;
-#X connect 34 0 40 0;
-#X connect 35 0 7 0;
-#X connect 36 0 7 0;
-#X connect 37 0 7 0;
-#X connect 38 0 7 0;
-#X connect 39 0 60 0;
-#X connect 40 0 61 0;
-#X connect 41 0 40 1;
-#X connect 41 0 42 0;
-#X connect 42 0 39 1;
-#X connect 44 0 49 0;
-#X connect 45 0 46 0;
-#X connect 45 1 47 0;
-#X connect 46 0 47 0;
-#X connect 47 0 50 0;
-#X connect 48 0 47 0;
-#X connect 49 0 45 0;
-#X connect 51 0 7 0;
-#X connect 52 0 21 1;
-#X connect 53 0 21 2;
-#X connect 54 0 22 0;
-#X connect 55 0 26 0;
-#X connect 56 0 33 0;
-#X connect 57 0 20 0;
-#X connect 58 0 57 1;
-#X connect 59 0 57 2;
-#X connect 60 0 7 0;
-#X connect 61 0 7 0;
+#N canvas 571 83 666 689 12;
+#X obj 18 24 inlet;
+#X obj 18 45 t a a;
+#X obj 50 108 spigot 0;
+#X obj 50 179 GEMglPushMatrix;
+#X obj 50 583 GEMglPopMatrix;
+#X obj 50 221 gemlist_info;
+#X obj 103 87 r global_snap_obj;
+#X obj 387 591 s global_obj_creator;
+#X text 212 203 1st vertex of the square;
+#X text 212 221 get it's position;
+#X text 252 241 send it to the global abstraction;
+#X obj 50 327 gemlist_info;
+#X text 152 326 get it's position;
+#X text 257 348 send it to the global abstraction;
+#X obj 342 18 loadbang;
+#X obj 342 39 \$1;
+#X obj 342 60 sel 0;
+#X msg 342 82 1;
+#X obj 342 104 f;
+#X obj 422 16 inlet;
+#X obj 18 87 outlet;
+#X obj 50 200 translateXYZ;
+#X obj 104 285 * -2;
+#X obj 50 306 translateXYZ;
+#X text 147 304 2nd vertex of the square;
+#X obj 50 434 gemlist_info;
+#X obj 77 392 * -2;
+#X obj 50 413 translateXYZ;
+#X obj 50 540 gemlist_info;
+#X obj 50 519 translateXYZ;
+#X obj 50 131 t a b;
+#X text 170 153 create new groupe;
+#X text 147 411 3rd vertex of the square;
+#X obj 104 498 * 2;
+#X obj 50 604 t b;
+#X msg 131 242 v \$1 \$2 \$3;
+#X msg 131 349 v \$1 \$2 \$3;
+#X msg 131 455 v \$1 \$2 \$3;
+#X msg 131 562 v \$1 \$2 \$3;
+#X obj 50 646 spigot 1;
+#X obj 160 646 spigot 0;
+#X obj 103 604 r global_obj_triangulate;
+#X obj 103 625 == 0;
+#X obj 342 125 s \$0-sizeX;
+#X obj 472 18 loadbang;
+#X obj 472 60 sel 0;
+#X msg 472 82 1;
+#X obj 472 104 f;
+#X obj 552 16 inlet;
+#X obj 472 39 \$2;
+#X obj 472 125 s \$0-sizeY;
+#X msg 82 152 g rectangle;
+#X obj 164 178 r \$0-sizeX;
+#X obj 240 178 r \$0-sizeY;
+#X obj 104 263 r \$0-sizeY;
+#X obj 77 370 r \$0-sizeX;
+#X obj 104 477 r \$0-sizeY;
+#X obj 18 66 rectangle;
+#X obj 59 45 r \$0-sizeX;
+#X obj 139 45 r \$0-sizeY;
+#X msg 50 667 f -1 -2 -3 -4;
+#X msg 160 667 f -2 -3 -4 \, f -4 -1 -2;
+#X connect 0 0 1 0;
+#X connect 1 0 57 0;
+#X connect 1 1 2 0;
+#X connect 2 0 30 0;
+#X connect 3 0 21 0;
+#X connect 4 0 34 0;
+#X connect 5 0 23 0;
+#X connect 5 4 35 0;
+#X connect 6 0 2 1;
+#X connect 11 0 27 0;
+#X connect 11 4 36 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 17 0;
+#X connect 16 1 18 0;
+#X connect 17 0 18 0;
+#X connect 18 0 43 0;
+#X connect 19 0 18 0;
+#X connect 21 0 5 0;
+#X connect 22 0 23 2;
+#X connect 23 0 11 0;
+#X connect 25 0 29 0;
+#X connect 25 4 37 0;
+#X connect 26 0 27 1;
+#X connect 27 0 25 0;
+#X connect 28 0 4 0;
+#X connect 28 4 38 0;
+#X connect 29 0 28 0;
+#X connect 30 0 3 0;
+#X connect 30 1 51 0;
+#X connect 33 0 29 2;
+#X connect 34 0 39 0;
+#X connect 34 0 40 0;
+#X connect 35 0 7 0;
+#X connect 36 0 7 0;
+#X connect 37 0 7 0;
+#X connect 38 0 7 0;
+#X connect 39 0 60 0;
+#X connect 40 0 61 0;
+#X connect 41 0 40 1;
+#X connect 41 0 42 0;
+#X connect 42 0 39 1;
+#X connect 44 0 49 0;
+#X connect 45 0 46 0;
+#X connect 45 1 47 0;
+#X connect 46 0 47 0;
+#X connect 47 0 50 0;
+#X connect 48 0 47 0;
+#X connect 49 0 45 0;
+#X connect 51 0 7 0;
+#X connect 52 0 21 1;
+#X connect 53 0 21 2;
+#X connect 54 0 22 0;
+#X connect 55 0 26 0;
+#X connect 56 0 33 0;
+#X connect 57 0 20 0;
+#X connect 58 0 57 1;
+#X connect 59 0 57 2;
+#X connect 60 0 7 0;
+#X connect 61 0 7 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/11.obj-exporter/obj_square.pd b/packages/noncvs/windows/extra/Gem/examples/11.obj-exporter/obj_square.pd
index c9a18f0f..d409991a 100644
--- a/packages/noncvs/windows/extra/Gem/examples/11.obj-exporter/obj_square.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/11.obj-exporter/obj_square.pd
@@ -1,108 +1,108 @@
-#N canvas 573 83 666 689 12;
-#X obj 18 24 inlet;
-#X obj 18 45 t a a;
-#X obj 50 108 spigot 0;
-#X obj 50 179 GEMglPushMatrix;
-#X obj 50 583 GEMglPopMatrix;
-#X obj 50 221 gemlist_info;
-#X obj 103 87 r global_snap_obj;
-#X obj 387 591 s global_obj_creator;
-#X text 212 203 1st vertex of the square;
-#X text 212 221 get it's position;
-#X text 252 241 send it to the global abstraction;
-#X obj 50 327 gemlist_info;
-#X text 152 326 get it's position;
-#X text 257 348 send it to the global abstraction;
-#X obj 18 66 square;
-#X obj 342 18 loadbang;
-#X obj 342 39 \$1;
-#X obj 342 60 sel 0;
-#X msg 342 82 1;
-#X obj 342 104 f;
-#X text 365 123 or primitive apothema for matju;
-#X text 366 107 primitive size;
-#X obj 342 141 s \$0-size;
-#X obj 422 16 inlet;
-#X obj 18 87 outlet;
-#X obj 168 180 r \$0-size;
-#X obj 50 200 translateXYZ;
-#X obj 104 285 * -2;
-#X obj 50 306 translateXYZ;
-#X obj 104 263 r \$0-size;
-#X text 147 304 2nd vertex of the square;
-#X obj 50 434 gemlist_info;
-#X obj 77 392 * -2;
-#X obj 50 413 translateXYZ;
-#X obj 77 370 r \$0-size;
-#X obj 50 540 gemlist_info;
-#X obj 50 519 translateXYZ;
-#X obj 104 477 r \$0-size;
-#X obj 50 131 t a b;
-#X text 150 152 create new groupe;
-#X text 147 411 3rd vertex of the square;
-#X obj 104 498 * 2;
-#X obj 50 604 t b;
-#X msg 131 242 v \$1 \$2 \$3;
-#X msg 131 349 v \$1 \$2 \$3;
-#X msg 131 455 v \$1 \$2 \$3;
-#X msg 131 562 v \$1 \$2 \$3;
-#X obj 59 45 r \$0-size;
-#X msg 82 152 g square;
-#X obj 50 646 spigot 1;
-#X obj 160 646 spigot 0;
-#X obj 103 604 r global_obj_triangulate;
-#X obj 103 625 == 0;
-#X msg 50 667 f -1 -2 -3 -4;
-#X msg 160 667 f -2 -3 -4 \, f -4 -1 -2;
-#X connect 0 0 1 0;
-#X connect 1 0 14 0;
-#X connect 1 1 2 0;
-#X connect 2 0 38 0;
-#X connect 3 0 26 0;
-#X connect 4 0 42 0;
-#X connect 5 0 28 0;
-#X connect 5 4 43 0;
-#X connect 6 0 2 1;
-#X connect 11 0 33 0;
-#X connect 11 4 44 0;
-#X connect 14 0 24 0;
-#X connect 15 0 16 0;
-#X connect 16 0 17 0;
-#X connect 17 0 18 0;
-#X connect 17 1 19 0;
-#X connect 18 0 19 0;
-#X connect 19 0 22 0;
-#X connect 23 0 19 0;
-#X connect 25 0 26 1;
-#X connect 25 0 26 2;
-#X connect 26 0 5 0;
-#X connect 27 0 28 2;
-#X connect 28 0 11 0;
-#X connect 29 0 27 0;
-#X connect 31 0 36 0;
-#X connect 31 4 45 0;
-#X connect 32 0 33 1;
-#X connect 33 0 31 0;
-#X connect 34 0 32 0;
-#X connect 35 0 4 0;
-#X connect 35 4 46 0;
-#X connect 36 0 35 0;
-#X connect 37 0 41 0;
-#X connect 38 0 3 0;
-#X connect 38 1 48 0;
-#X connect 41 0 36 2;
-#X connect 42 0 49 0;
-#X connect 42 0 50 0;
-#X connect 43 0 7 0;
-#X connect 44 0 7 0;
-#X connect 45 0 7 0;
-#X connect 46 0 7 0;
-#X connect 47 0 14 1;
-#X connect 48 0 7 0;
-#X connect 49 0 53 0;
-#X connect 50 0 54 0;
-#X connect 51 0 50 1;
-#X connect 51 0 52 0;
-#X connect 52 0 49 1;
-#X connect 53 0 7 0;
-#X connect 54 0 7 0;
+#N canvas 573 83 666 689 12;
+#X obj 18 24 inlet;
+#X obj 18 45 t a a;
+#X obj 50 108 spigot 0;
+#X obj 50 179 GEMglPushMatrix;
+#X obj 50 583 GEMglPopMatrix;
+#X obj 50 221 gemlist_info;
+#X obj 103 87 r global_snap_obj;
+#X obj 387 591 s global_obj_creator;
+#X text 212 203 1st vertex of the square;
+#X text 212 221 get it's position;
+#X text 252 241 send it to the global abstraction;
+#X obj 50 327 gemlist_info;
+#X text 152 326 get it's position;
+#X text 257 348 send it to the global abstraction;
+#X obj 18 66 square;
+#X obj 342 18 loadbang;
+#X obj 342 39 \$1;
+#X obj 342 60 sel 0;
+#X msg 342 82 1;
+#X obj 342 104 f;
+#X text 365 123 or primitive apothema for matju;
+#X text 366 107 primitive size;
+#X obj 342 141 s \$0-size;
+#X obj 422 16 inlet;
+#X obj 18 87 outlet;
+#X obj 168 180 r \$0-size;
+#X obj 50 200 translateXYZ;
+#X obj 104 285 * -2;
+#X obj 50 306 translateXYZ;
+#X obj 104 263 r \$0-size;
+#X text 147 304 2nd vertex of the square;
+#X obj 50 434 gemlist_info;
+#X obj 77 392 * -2;
+#X obj 50 413 translateXYZ;
+#X obj 77 370 r \$0-size;
+#X obj 50 540 gemlist_info;
+#X obj 50 519 translateXYZ;
+#X obj 104 477 r \$0-size;
+#X obj 50 131 t a b;
+#X text 150 152 create new groupe;
+#X text 147 411 3rd vertex of the square;
+#X obj 104 498 * 2;
+#X obj 50 604 t b;
+#X msg 131 242 v \$1 \$2 \$3;
+#X msg 131 349 v \$1 \$2 \$3;
+#X msg 131 455 v \$1 \$2 \$3;
+#X msg 131 562 v \$1 \$2 \$3;
+#X obj 59 45 r \$0-size;
+#X msg 82 152 g square;
+#X obj 50 646 spigot 1;
+#X obj 160 646 spigot 0;
+#X obj 103 604 r global_obj_triangulate;
+#X obj 103 625 == 0;
+#X msg 50 667 f -1 -2 -3 -4;
+#X msg 160 667 f -2 -3 -4 \, f -4 -1 -2;
+#X connect 0 0 1 0;
+#X connect 1 0 14 0;
+#X connect 1 1 2 0;
+#X connect 2 0 38 0;
+#X connect 3 0 26 0;
+#X connect 4 0 42 0;
+#X connect 5 0 28 0;
+#X connect 5 4 43 0;
+#X connect 6 0 2 1;
+#X connect 11 0 33 0;
+#X connect 11 4 44 0;
+#X connect 14 0 24 0;
+#X connect 15 0 16 0;
+#X connect 16 0 17 0;
+#X connect 17 0 18 0;
+#X connect 17 1 19 0;
+#X connect 18 0 19 0;
+#X connect 19 0 22 0;
+#X connect 23 0 19 0;
+#X connect 25 0 26 1;
+#X connect 25 0 26 2;
+#X connect 26 0 5 0;
+#X connect 27 0 28 2;
+#X connect 28 0 11 0;
+#X connect 29 0 27 0;
+#X connect 31 0 36 0;
+#X connect 31 4 45 0;
+#X connect 32 0 33 1;
+#X connect 33 0 31 0;
+#X connect 34 0 32 0;
+#X connect 35 0 4 0;
+#X connect 35 4 46 0;
+#X connect 36 0 35 0;
+#X connect 37 0 41 0;
+#X connect 38 0 3 0;
+#X connect 38 1 48 0;
+#X connect 41 0 36 2;
+#X connect 42 0 49 0;
+#X connect 42 0 50 0;
+#X connect 43 0 7 0;
+#X connect 44 0 7 0;
+#X connect 45 0 7 0;
+#X connect 46 0 7 0;
+#X connect 47 0 14 1;
+#X connect 48 0 7 0;
+#X connect 49 0 53 0;
+#X connect 50 0 54 0;
+#X connect 51 0 50 1;
+#X connect 51 0 52 0;
+#X connect 52 0 49 1;
+#X connect 53 0 7 0;
+#X connect 54 0 7 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/01.flat_projection-help.pd b/packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/01.flat_projection-help.pd
index 615b8e0b..27b6e483 100644
--- a/packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/01.flat_projection-help.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/01.flat_projection-help.pd
@@ -1,21 +1,21 @@
-#N canvas 369 166 691 494 10;
-#X obj 39 277 r render;
-#X obj 39 407 pix_texture;
-#X obj 110 323 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
--1 -1;
-#X obj 110 343 openpanel;
-#X msg 110 364 open \$1;
-#X obj 39 428 square 25;
-#X text 99 277 <- this object must be present in your patch to start
-the gemchain like in this example.;
-#X floatatom 109 432 5 0 0 0 - - -;
-#X obj 39 19 flat_projection 20;
-#X text 299 124 <- abstraction [flat_projection];
-#X obj 39 386 pix_image ../data/fractal.JPG;
-#X connect 0 0 10 0;
-#X connect 1 0 5 0;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 4 0 10 0;
-#X connect 7 0 5 1;
-#X connect 10 0 1 0;
+#N canvas 369 166 691 494 10;
+#X obj 39 277 r render;
+#X obj 39 407 pix_texture;
+#X obj 110 323 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 110 343 openpanel;
+#X msg 110 364 open \$1;
+#X obj 39 428 square 25;
+#X text 99 277 <- this object must be present in your patch to start
+the gemchain like in this example.;
+#X floatatom 109 432 5 0 0 0 - - -;
+#X obj 39 19 flat_projection 20;
+#X text 299 124 <- abstraction [flat_projection];
+#X obj 39 386 pix_image ../data/fractal.JPG;
+#X connect 0 0 10 0;
+#X connect 1 0 5 0;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 4 0 10 0;
+#X connect 7 0 5 1;
+#X connect 10 0 1 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/02.nfp-help.pd b/packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/02.nfp-help.pd
index 6a8404d9..7971fe31 100644
--- a/packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/02.nfp-help.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/02.nfp-help.pd
@@ -1,46 +1,46 @@
-#N canvas 321 188 996 584 10;
-#X obj 27 231 gemhead;
-#X obj 27 298 gemframebuffer;
-#X obj 27 348 translateXYZ 0 0 -4;
-#X msg 43 275 dimen 1024 768;
-#X obj 43 255 loadbang;
-#X obj 27 442 pix_texture;
-#X obj 27 464 rectangle 5.333 4;
-#X msg 42 397 thread 0 \, open grid.jpg;
-#X obj 42 377 loadbang;
-#X text 24 211 creation of a big framebuffer;
-#X msg 171 274 rectangle 1;
-#X obj 171 255 loadbang;
-#X obj 27 420 pix_image;
-#X obj 30 177 gemwin;
-#X msg 30 129 create \, 1;
-#X msg 43 149 0 \, destroy;
-#X obj 122 320 s nfp_fb;
-#X obj 35 61 load_save;
-#X obj 86 43 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
--1;
-#X obj 35 43 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
--1;
-#X obj 280 43 nfp_flat_wall 1;
-#X obj 35 19 loadbang;
-#X obj 490 43 nfp_flat_wall 2;
-#X obj 703 44 nfp_curved_wall 3;
-#X text 52 43 load;
-#X text 104 42 save;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X connect 1 1 16 0;
-#X connect 2 0 12 0;
-#X connect 3 0 1 0;
-#X connect 4 0 3 0;
-#X connect 5 0 6 0;
-#X connect 7 0 12 0;
-#X connect 8 0 7 0;
-#X connect 10 0 1 0;
-#X connect 11 0 10 0;
-#X connect 12 0 5 0;
-#X connect 14 0 13 0;
-#X connect 15 0 13 0;
-#X connect 18 0 17 1;
-#X connect 19 0 17 0;
-#X connect 21 0 19 0;
+#N canvas 321 188 996 584 10;
+#X obj 27 231 gemhead;
+#X obj 27 298 gemframebuffer;
+#X obj 27 348 translateXYZ 0 0 -4;
+#X msg 43 275 dimen 1024 768;
+#X obj 43 255 loadbang;
+#X obj 27 442 pix_texture;
+#X obj 27 464 rectangle 5.333 4;
+#X msg 42 397 thread 0 \, open grid.jpg;
+#X obj 42 377 loadbang;
+#X text 24 211 creation of a big framebuffer;
+#X msg 171 274 rectangle 1;
+#X obj 171 255 loadbang;
+#X obj 27 420 pix_image;
+#X obj 30 177 gemwin;
+#X msg 30 129 create \, 1;
+#X msg 43 149 0 \, destroy;
+#X obj 122 320 s nfp_fb;
+#X obj 35 61 load_save;
+#X obj 86 43 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 35 43 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 280 43 nfp_flat_wall 1;
+#X obj 35 19 loadbang;
+#X obj 490 43 nfp_flat_wall 2;
+#X obj 703 44 nfp_curved_wall 3;
+#X text 52 43 load;
+#X text 104 42 save;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 1 1 16 0;
+#X connect 2 0 12 0;
+#X connect 3 0 1 0;
+#X connect 4 0 3 0;
+#X connect 5 0 6 0;
+#X connect 7 0 12 0;
+#X connect 8 0 7 0;
+#X connect 10 0 1 0;
+#X connect 11 0 10 0;
+#X connect 12 0 5 0;
+#X connect 14 0 13 0;
+#X connect 15 0 13 0;
+#X connect 18 0 17 1;
+#X connect 19 0 17 0;
+#X connect 21 0 19 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/config.txt b/packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/config.txt
index 8e10bbb9..42f8e1f5 100644
--- a/packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/config.txt
+++ b/packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/config.txt
@@ -1,70 +1,70 @@
-VP_CR_Y-3 2.34;
-VP_CR_X-3 1.79;
-VP_CC_Y-3 -0.34;
-VP_CC_X-3 0.55;
-VP_CL_Y-3 0.76;
-VP_CL_X-3 -0.730001;
-VP_BC_Y-3 -4.01001;
-VP_BC_X-3 0.2;
-VP_TC_Y-3 3.7;
-VP_TC_X-3 0.00999991;
-Shade_B-3 0;
-Shade_T-3 0;
-Shade_R-3 0.0829032;
-Shade_L-3 0.0693548;
-TP_BR_Y-3 265;
-TP_BR_X-3 416;
-TP_TR_Y-3 0;
-TP_TR_X-3 367;
-TP_BL_Y-3 227;
-TP_BL_X-3 0;
-TP_TL_Y-3 13;
-TP_TL_X-3 105;
-VP_BR_Y-3 -3.37;
-VP_BR_X-3 1.52;
-VP_TR_Y-3 3.95;
-VP_TR_X-3 1.31;
-VP_BL_Y-3 -2.83;
-VP_BL_X-3 -1.21;
-VP_TL_Y-3 3.35;
-VP_TL_X-3 -1.16;
-Shade_B-2 0;
-Shade_T-2 0;
-Shade_R-2 0;
-Shade_L-2 0;
-TP_BR_Y-2 538;
-TP_BR_X-2 975;
-TP_TR_Y-2 0;
-TP_TR_X-2 889;
-TP_BL_Y-2 449;
-TP_BL_X-2 625;
-TP_TL_Y-2 117;
-TP_TL_X-2 605;
-VP_BR_Y-2 -3.53;
-VP_BR_X-2 3.44;
-VP_TR_Y-2 2.64;
-VP_TR_X-2 3;
-VP_BL_Y-2 -2.53;
-VP_BL_X-2 1.33;
-VP_TL_Y-2 1.18;
-VP_TL_X-2 1.17;
-Shade_B-1 0;
-Shade_T-1 0;
-Shade_R-1 0;
-Shade_L-1 0;
-TP_BR_Y-1 448;
-TP_BR_X-1 453;
-TP_TR_Y-1 110;
-TP_TR_X-1 543;
-TP_BL_Y-1 484;
-TP_BL_X-1 95;
-TP_TL_Y-1 0;
-TP_TL_X-1 0;
-VP_BR_Y-1 -3.01999;
-VP_BR_X-1 -0.18;
-VP_TR_Y-1 1.94;
-VP_TR_X-1 0.54;
-VP_BL_Y-1 -3.75;
-VP_BL_X-1 -2.9;
-VP_TL_Y-1 3.84;
-VP_TL_X-1 -3.66001;
+VP_CR_Y-3 2.34;
+VP_CR_X-3 1.79;
+VP_CC_Y-3 -0.34;
+VP_CC_X-3 0.55;
+VP_CL_Y-3 0.76;
+VP_CL_X-3 -0.730001;
+VP_BC_Y-3 -4.01001;
+VP_BC_X-3 0.2;
+VP_TC_Y-3 3.7;
+VP_TC_X-3 0.00999991;
+Shade_B-3 0;
+Shade_T-3 0;
+Shade_R-3 0.0829032;
+Shade_L-3 0.0693548;
+TP_BR_Y-3 265;
+TP_BR_X-3 416;
+TP_TR_Y-3 0;
+TP_TR_X-3 367;
+TP_BL_Y-3 227;
+TP_BL_X-3 0;
+TP_TL_Y-3 13;
+TP_TL_X-3 105;
+VP_BR_Y-3 -3.37;
+VP_BR_X-3 1.52;
+VP_TR_Y-3 3.95;
+VP_TR_X-3 1.31;
+VP_BL_Y-3 -2.83;
+VP_BL_X-3 -1.21;
+VP_TL_Y-3 3.35;
+VP_TL_X-3 -1.16;
+Shade_B-2 0;
+Shade_T-2 0;
+Shade_R-2 0;
+Shade_L-2 0;
+TP_BR_Y-2 538;
+TP_BR_X-2 975;
+TP_TR_Y-2 0;
+TP_TR_X-2 889;
+TP_BL_Y-2 449;
+TP_BL_X-2 625;
+TP_TL_Y-2 117;
+TP_TL_X-2 605;
+VP_BR_Y-2 -3.53;
+VP_BR_X-2 3.44;
+VP_TR_Y-2 2.64;
+VP_TR_X-2 3;
+VP_BL_Y-2 -2.53;
+VP_BL_X-2 1.33;
+VP_TL_Y-2 1.18;
+VP_TL_X-2 1.17;
+Shade_B-1 0;
+Shade_T-1 0;
+Shade_R-1 0;
+Shade_L-1 0;
+TP_BR_Y-1 448;
+TP_BR_X-1 453;
+TP_TR_Y-1 110;
+TP_TR_X-1 543;
+TP_BL_Y-1 484;
+TP_BL_X-1 95;
+TP_TL_Y-1 0;
+TP_TL_X-1 0;
+VP_BR_Y-1 -3.01999;
+VP_BR_X-1 -0.18;
+VP_TR_Y-1 1.94;
+VP_TR_X-1 0.54;
+VP_BL_Y-1 -3.75;
+VP_BL_X-1 -2.9;
+VP_TL_Y-1 3.84;
+VP_TL_X-1 -3.66001;
diff --git a/packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/flat_projection.pd b/packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/flat_projection.pd
index b1731fac..7aac8a07 100644
--- a/packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/flat_projection.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/flat_projection.pd
@@ -1,452 +1,452 @@
-#N canvas 87 248 1247 591 10;
-#X obj 263 277 gemhead;
-#X obj 263 351 gemframebuffer;
-#X obj 263 402 s render;
-#X msg 285 326 rectangle 0;
-#X obj 285 307 loadbang;
-#X obj 263 376 translateXYZ 0 0 -4;
-#N canvas 190 83 1090 559 size 0;
-#X obj 29 20 inlet;
-#X obj 29 91 unpack f f;
-#X obj 142 91 unpack f f;
-#X obj 336 91 unpack f f;
-#X obj 142 122 - 1;
-#X obj 199 124 - 1;
-#X obj 142 187 *;
-#X obj 155 163 t b f;
-#X obj 199 187 *;
-#X obj 212 163 t b f;
-#X obj 42 233 t b f;
-#X obj 126 233 t b f;
-#X obj 29 330 pack f f;
-#X obj 441 160 t b b f;
-#X obj 29 494 outlet;
-#X obj 29 147 *;
-#X obj 42 123 t b f;
-#X obj 86 147 *;
-#X obj 99 123 t b f;
-#X obj 257 329 pack f f;
-#X obj 257 407 outlet;
-#X obj 29 257 -;
-#X obj 113 257 -;
-#X obj 113 285 f;
-#X obj 29 285 f;
-#N canvas 260 83 450 300 change2 0;
-#X obj 41 24 inlet;
-#X obj 41 47 unpack f f;
-#X obj 80 176 pack f f;
-#X obj 98 132 t b f;
-#X obj 80 201 outlet;
-#X obj 41 149 moses 2;
-#X obj 41 89 change;
-#X obj 98 89 change;
-#X connect 0 0 1 0;
-#X connect 1 0 6 0;
-#X connect 1 1 7 0;
-#X connect 2 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 2 1;
-#X connect 5 1 2 0;
-#X connect 6 0 5 0;
-#X connect 7 0 3 0;
-#X restore 257 366 pd change2;
-#N canvas 260 83 450 300 change2 0;
-#X obj 41 24 inlet;
-#X obj 41 47 unpack f f;
-#X obj 80 176 pack f f;
-#X obj 98 132 t b f;
-#X obj 80 201 outlet;
-#X obj 41 149 moses 2;
-#X obj 41 89 change;
-#X obj 98 89 change;
-#X connect 0 0 1 0;
-#X connect 1 0 6 0;
-#X connect 1 1 7 0;
-#X connect 2 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 2 1;
-#X connect 5 1 2 0;
-#X connect 6 0 5 0;
-#X connect 7 0 3 0;
-#X restore 29 350 pd change2;
-#X obj 581 311 pack f f;
-#X obj 594 265 t b f;
-#X obj 651 265 t b f;
-#X obj 581 289 /;
-#X obj 638 289 /;
-#X obj 579 171 pack f f;
-#X obj 305 428 /;
-#X obj 305 448 * 4;
-#X msg 305 468 \$1 4;
-#X msg 29 369 dimen \$1 \$2;
-#X obj 57 392 /;
-#X msg 57 472 perspec \$1 \$2 -1 1 1 20;
-#X obj 57 452 pack f f;
-#X obj 57 411 t f f;
-#X obj 57 431 * -1;
-#X obj 441 91 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X text 467 90 basic FSAA;
-#X obj 29 46 route screen_size geometry_screen geometry_computer overlap
-FSAA;
-#X obj 239 91 unpack f f;
-#X obj 239 137 *;
-#X obj 252 113 t b f;
-#X obj 296 137 *;
-#X obj 309 113 t b f;
-#X obj 579 191 s \$0-glsl_geometry_screen;
-#X obj 578 224 s \$0-glsl_geometry_computer;
-#X obj 581 331 s \$0-glsl_overlap;
-#X obj 305 490 s \$0-size_gemwin;
-#X obj 388 255 r \$0-altern;
-#X obj 407 311 list;
-#X obj 388 276 sel 0 1;
-#X obj 388 341 list;
-#X obj 29 307 + 0;
-#X obj 113 308 + 0;
-#X text 480 108 not full implemented yet!;
-#X connect 0 0 44 0;
-#X connect 1 0 15 0;
-#X connect 1 0 28 0;
-#X connect 1 0 46 0;
-#X connect 1 1 17 0;
-#X connect 1 1 29 0;
-#X connect 1 1 48 0;
-#X connect 2 0 4 0;
-#X connect 2 0 16 0;
-#X connect 2 0 32 0;
-#X connect 2 1 5 0;
-#X connect 2 1 18 0;
-#X connect 2 1 32 1;
-#X connect 3 0 7 0;
-#X connect 3 0 30 0;
-#X connect 3 1 9 0;
-#X connect 3 1 31 0;
-#X connect 4 0 6 0;
-#X connect 5 0 8 0;
-#X connect 6 0 10 0;
-#X connect 7 0 6 0;
-#X connect 7 1 6 1;
-#X connect 8 0 11 0;
-#X connect 9 0 8 0;
-#X connect 9 1 8 1;
-#X connect 10 0 21 0;
-#X connect 10 1 21 1;
-#X connect 11 0 22 0;
-#X connect 11 1 22 1;
-#X connect 12 0 26 0;
-#X connect 12 0 37 0;
-#X connect 13 0 24 0;
-#X connect 13 1 23 0;
-#X connect 13 2 58 1;
-#X connect 13 2 59 1;
-#X connect 15 0 21 0;
-#X connect 16 0 15 0;
-#X connect 16 1 15 1;
-#X connect 17 0 22 0;
-#X connect 18 0 17 0;
-#X connect 18 1 17 1;
-#X connect 19 0 25 0;
-#X connect 21 0 24 0;
-#X connect 22 0 23 0;
-#X connect 23 0 59 0;
-#X connect 24 0 58 0;
-#X connect 25 0 20 0;
-#X connect 25 0 33 0;
-#X connect 26 0 36 0;
-#X connect 27 0 52 0;
-#X connect 28 0 30 0;
-#X connect 28 1 30 1;
-#X connect 29 0 31 0;
-#X connect 29 1 31 1;
-#X connect 30 0 27 0;
-#X connect 31 0 27 1;
-#X connect 32 0 50 0;
-#X connect 33 0 34 0;
-#X connect 34 0 35 0;
-#X connect 35 0 53 0;
-#X connect 36 0 14 0;
-#X connect 37 0 40 0;
-#X connect 38 0 14 0;
-#X connect 39 0 38 0;
-#X connect 40 0 41 0;
-#X connect 40 1 39 1;
-#X connect 41 0 39 0;
-#X connect 42 0 13 0;
-#X connect 44 0 1 0;
-#X connect 44 1 2 0;
-#X connect 44 1 55 1;
-#X connect 44 2 45 0;
-#X connect 44 2 51 0;
-#X connect 44 2 57 1;
-#X connect 44 3 3 0;
-#X connect 44 4 42 0;
-#X connect 45 0 47 0;
-#X connect 45 1 49 0;
-#X connect 46 0 19 0;
-#X connect 47 0 46 0;
-#X connect 47 1 46 1;
-#X connect 48 0 19 1;
-#X connect 49 0 48 0;
-#X connect 49 1 48 1;
-#X connect 54 0 56 0;
-#X connect 55 0 45 0;
-#X connect 55 0 51 0;
-#X connect 56 0 57 0;
-#X connect 56 1 55 0;
-#X connect 57 0 45 0;
-#X connect 57 0 51 0;
-#X connect 58 0 12 0;
-#X connect 59 0 12 1;
-#X restore 528 320 pd size;
-#X msg 605 523 0 \, destroy;
-#X obj 594 551 gemwin;
-#X obj 428 489 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
--1 -1;
-#X obj 281 601 rectangle;
-#X obj 306 559 unpack f f;
-#X floatatom 380 580 5 0 0 0 - - -;
-#X floatatom 319 582 5 0 0 0 - - -;
-#N canvas 0 0 743 323 init_glsl 0;
-#X obj 129 184 outlet;
-#X msg 129 120 overlap \$1 \$2;
-#X obj 129 95 pack f f;
-#X obj 249 98 pack f f;
-#X obj 434 99 pack f f;
-#X msg 249 119 geometry_screen \$1 \$2;
-#X msg 434 120 geometry_computer \$1 \$2;
-#X obj 434 76 r \$0-glsl_geometry_computer;
-#X obj 249 75 r \$0-glsl_geometry_screen;
-#X obj 129 72 r \$0-glsl_overlap;
-#X obj 38 27 r \$0-init_glsl;
-#X connect 1 0 0 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 6 0;
-#X connect 5 0 0 0;
-#X connect 6 0 0 0;
-#X connect 7 0 4 0;
-#X connect 8 0 3 0;
-#X connect 9 0 2 0;
-#X connect 10 0 3 0;
-#X connect 10 0 2 0;
-#X connect 10 0 4 0;
-#X restore 418 467 pd init_glsl;
-#X obj 292 470 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
--1 -1;
-#X obj 281 509 pix_texture;
-#X obj 281 448 gemhead 60;
-#X obj 528 343 print framebuffer;
-#X obj 604 415 print gem_window;
-#N canvas 0 0 669 667 glsl_frag 0;
-#X obj 78 598 glsl_program;
-#X msg 35 325 print;
-#X obj 172 387 change;
-#X msg 34 545 print;
-#X obj 78 367 glsl_fragment;
-#X floatatom 172 413 2 0 0 0 ID - -;
-#X obj 190 459 print linking;
-#X text 97 546 after linking \, click "print" to get some info about
-the compiled shader program;
-#X obj 13 52 inlet;
-#X obj 78 634 outlet;
-#X obj 577 95 inlet;
-#X obj 13 75 route bang;
-#X obj 141 87 gemhead 1;
-#X msg 141 109 1;
-#X obj 141 133 change;
-#X obj 141 157 t b;
-#X obj 157 619 change;
-#X obj 157 640 t b;
-#X obj 157 661 outlet;
-#X msg 172 438 link \$1;
-#X msg 87 324 open soft_edge.frag;
-#X connect 0 0 9 0;
-#X connect 0 1 16 0;
-#X connect 1 0 4 0;
-#X connect 2 0 5 0;
-#X connect 3 0 0 0;
-#X connect 4 0 0 0;
-#X connect 4 1 2 0;
-#X connect 5 0 19 0;
-#X connect 8 0 11 0;
-#X connect 10 0 0 0;
-#X connect 11 0 20 0;
-#X connect 11 1 4 0;
-#X connect 12 0 13 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 20 0;
-#X connect 16 0 17 0;
-#X connect 17 0 18 0;
-#X connect 19 0 0 0;
-#X connect 19 0 6 0;
-#X connect 20 0 4 0;
-#X restore 281 488 pd glsl_frag _______;
-#X obj 605 470 sel 0 1;
-#X msg 624 500 border 0 \, create \, 1;
-#X obj 528 67 pack f f;
-#X obj 638 48 t b f;
-#X obj 831 65 pack f f;
-#X obj 941 46 t b f;
-#X msg 528 97 screen_size \$1 \$2;
-#X msg 831 92 geometry_screen \$1 \$2;
-#X obj 1151 65 pack f f;
-#X obj 1281 46 t b f;
-#X msg 746 93 2 2;
-#X msg 746 67 set \$1 \$2;
-#X obj 683 67 loadbang;
-#X msg 1151 92 geometry_computer \$1 \$2;
-#X msg 1066 67 set \$1 \$2;
-#X obj 1003 67 loadbang;
-#X msg 1066 93 4 1;
-#X msg 446 67 set \$1 \$2;
-#X obj 383 67 loadbang;
-#X msg 446 93 160 120;
-#X obj 446 114 unpack f f;
-#X obj 746 114 unpack f f;
-#X obj 1066 114 unpack f f;
-#X obj 1003 236 loadbang;
-#X msg 1066 262 0 0;
-#X msg 1151 282 overlap \$1 \$1;
-#X msg 567 576 0;
-#X msg 594 392 dimen \$1 \$2;
-#X obj 567 369 t b l;
-#X obj 100 235 cnv 15 250 20 empty empty PUT_AN_OBJECT_[r_render]_IN_YOUR_PATCH
-10 10 0 10 -258113 -66577 0;
-#X obj 100 20 cnv 15 250 215 empty empty empty 20 12 0 14 -260097 -66577
-0;
-#X obj 108 163 nbx 5 14 0 5000 0 0 \$0-overlap \$0-overlap empty 0
--8 0 10 -99865 -1 -1 0 256;
-#X obj 108 187 tgl 15 0 \$0-createDestroy \$0-createDestroy empty 17
-7 0 10 -1 -262144 -1 1 1;
-#X text 128 187 Create/Destroy Gem window;
-#X obj 108 29 nbx 4 12 -1e+37 1e+37 0 0 \$0-sizeScreenX \$0-sizeScreenX
-empty 0 -8 0 10 -1 -262144 -1 160 256;
-#X text 166 163 Overlap X and Y (pixels);
-#X obj 108 45 nbx 4 12 -1e+37 1e+37 0 0 \$0-sizeScreenY \$0-sizeScreenY
-empty 0 -8 0 10 -1 -262144 -1 120 256;
-#X obj 108 83 nbx 4 12 -1e+37 1e+37 0 0 \$0-Geom-screenY \$0-Geom-screenY
-empty 0 -8 0 10 -257985 -1 -1 2 256;
-#X obj 108 67 nbx 4 12 -1e+37 1e+37 0 0 \$0-Geom-screenX \$0-Geom-screenX
-empty 0 -8 0 10 -257985 -1 -1 2 256;
-#X obj 108 143 tgl 10 0 \$0-altern \$0-altern empty 17 7 0 10 -1 -262144
--1 0 1;
-#X obj 108 121 nbx 4 12 -1e+37 1e+37 0 0 \$0-Geom-computerY \$0-Geom-computerY
-empty 0 -8 0 10 -257985 -1 -1 1 256;
-#X obj 108 105 nbx 4 12 -1e+37 1e+37 0 0 \$0-Geom-computerX \$0-Geom-computerX
-empty 0 -8 0 10 -257985 -1 -1 4 256;
-#X text 158 65 Geometry screen (X);
-#X text 158 81 Geometry screen (Y);
-#X text 158 103 Geometry computer (X);
-#X text 158 119 Geometry computer (Y);
-#X text 158 28 Screens size (X);
-#X text 158 44 Screens size (Y);
-#X obj 108 212 bng 15 250 50 0 \$0-save \$0-receiveNothing empty 17
-7 0 10 -258113 -1 -1;
-#X text 128 212 Save parameters;
-#X obj 446 156 s \$0-sizeScreenX;
-#X obj 503 136 s \$0-sizeScreenY;
-#X obj 746 155 s \$0-Geom-screenX;
-#X obj 803 135 s \$0-Geom-screenY;
-#X obj 1123 135 s \$0-Geom-computerY;
-#X obj 1066 155 s \$0-Geom-computerX;
-#X obj 1066 304 s \$0-overlap;
-#X obj 605 449 r \$0-createDestroy;
-#X obj 567 596 s \$0-createDestroy;
-#X obj 418 510 s \$0-init_glsl;
-#X obj 306 539 r \$0-size_gemwin;
-#X obj 528 27 r \$0-sizeScreenX;
-#X obj 638 27 r \$0-sizeScreenY;
-#X obj 831 25 r \$0-Geom-screenX;
-#X obj 941 25 r \$0-Geom-screenY;
-#X obj 1281 25 r \$0-Geom-computerY;
-#X obj 1151 25 r \$0-Geom-computerX;
-#X obj 1151 215 r \$0-overlap;
-#X obj 100 271 r \$0-save;
-#X msg 1066 236 set \$1 \$1;
-#X obj 100 317 s pd-soft_edge.pd;
-#X msg 100 292 menusave;
-#X text 856 481 'soft-edge.pd' by Cyrille Henry (GUI by Jack/RYBN)
-;
-#X text 121 140 View computer(0)/screen(1);
-#X connect 0 0 1 0;
-#X connect 1 0 5 0;
-#X connect 1 1 16 1;
-#X connect 3 0 1 0;
-#X connect 4 0 3 0;
-#X connect 5 0 2 0;
-#X connect 6 0 1 0;
-#X connect 6 0 18 0;
-#X connect 6 1 49 0;
-#X connect 7 0 8 0;
-#X connect 9 0 80 0;
-#X connect 11 0 10 1;
-#X connect 11 0 13 0;
-#X connect 11 1 10 2;
-#X connect 11 1 12 0;
-#X connect 14 0 20 1;
-#X connect 15 0 20 0;
-#X connect 16 0 10 0;
-#X connect 17 0 20 0;
-#X connect 20 0 16 0;
-#X connect 20 1 80 0;
-#X connect 21 0 7 0;
-#X connect 21 1 22 0;
-#X connect 22 0 8 0;
-#X connect 23 0 27 0;
-#X connect 23 0 38 0;
-#X connect 24 0 23 0;
-#X connect 24 1 23 1;
-#X connect 25 0 28 0;
-#X connect 25 0 32 0;
-#X connect 26 0 25 0;
-#X connect 26 1 25 1;
-#X connect 27 0 6 0;
-#X connect 28 0 6 0;
-#X connect 29 0 34 0;
-#X connect 29 0 35 0;
-#X connect 30 0 29 0;
-#X connect 30 1 29 1;
-#X connect 31 0 28 0;
-#X connect 31 0 42 0;
-#X connect 32 0 31 0;
-#X connect 33 0 31 0;
-#X connect 34 0 6 0;
-#X connect 35 0 37 0;
-#X connect 36 0 37 0;
-#X connect 37 0 34 0;
-#X connect 37 0 43 0;
-#X connect 38 0 40 0;
-#X connect 39 0 40 0;
-#X connect 40 0 27 0;
-#X connect 40 0 41 0;
-#X connect 41 0 71 0;
-#X connect 41 1 72 0;
-#X connect 42 0 73 0;
-#X connect 42 1 74 0;
-#X connect 43 0 76 0;
-#X connect 43 1 75 0;
-#X connect 44 0 45 0;
-#X connect 45 0 46 0;
-#X connect 45 0 77 0;
-#X connect 46 0 6 0;
-#X connect 47 0 79 0;
-#X connect 48 0 8 0;
-#X connect 48 0 19 0;
-#X connect 49 0 47 0;
-#X connect 49 1 48 0;
-#X connect 78 0 21 0;
-#X connect 81 0 11 0;
-#X connect 82 0 23 0;
-#X connect 83 0 24 0;
-#X connect 84 0 25 0;
-#X connect 85 0 26 0;
-#X connect 86 0 30 0;
-#X connect 87 0 29 0;
-#X connect 88 0 46 0;
-#X connect 88 0 90 0;
-#X connect 89 0 92 0;
-#X connect 90 0 45 0;
-#X connect 92 0 91 0;
-#X coords 0 -1 1 1 250 235 2 100 20;
+#N canvas 87 248 1247 591 10;
+#X obj 263 277 gemhead;
+#X obj 263 351 gemframebuffer;
+#X obj 263 402 s render;
+#X msg 285 326 rectangle 0;
+#X obj 285 307 loadbang;
+#X obj 263 376 translateXYZ 0 0 -4;
+#N canvas 190 83 1090 559 size 0;
+#X obj 29 20 inlet;
+#X obj 29 91 unpack f f;
+#X obj 142 91 unpack f f;
+#X obj 336 91 unpack f f;
+#X obj 142 122 - 1;
+#X obj 199 124 - 1;
+#X obj 142 187 *;
+#X obj 155 163 t b f;
+#X obj 199 187 *;
+#X obj 212 163 t b f;
+#X obj 42 233 t b f;
+#X obj 126 233 t b f;
+#X obj 29 330 pack f f;
+#X obj 441 160 t b b f;
+#X obj 29 494 outlet;
+#X obj 29 147 *;
+#X obj 42 123 t b f;
+#X obj 86 147 *;
+#X obj 99 123 t b f;
+#X obj 257 329 pack f f;
+#X obj 257 407 outlet;
+#X obj 29 257 -;
+#X obj 113 257 -;
+#X obj 113 285 f;
+#X obj 29 285 f;
+#N canvas 260 83 450 300 change2 0;
+#X obj 41 24 inlet;
+#X obj 41 47 unpack f f;
+#X obj 80 176 pack f f;
+#X obj 98 132 t b f;
+#X obj 80 201 outlet;
+#X obj 41 149 moses 2;
+#X obj 41 89 change;
+#X obj 98 89 change;
+#X connect 0 0 1 0;
+#X connect 1 0 6 0;
+#X connect 1 1 7 0;
+#X connect 2 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 2 1;
+#X connect 5 1 2 0;
+#X connect 6 0 5 0;
+#X connect 7 0 3 0;
+#X restore 257 366 pd change2;
+#N canvas 260 83 450 300 change2 0;
+#X obj 41 24 inlet;
+#X obj 41 47 unpack f f;
+#X obj 80 176 pack f f;
+#X obj 98 132 t b f;
+#X obj 80 201 outlet;
+#X obj 41 149 moses 2;
+#X obj 41 89 change;
+#X obj 98 89 change;
+#X connect 0 0 1 0;
+#X connect 1 0 6 0;
+#X connect 1 1 7 0;
+#X connect 2 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 2 1;
+#X connect 5 1 2 0;
+#X connect 6 0 5 0;
+#X connect 7 0 3 0;
+#X restore 29 350 pd change2;
+#X obj 581 311 pack f f;
+#X obj 594 265 t b f;
+#X obj 651 265 t b f;
+#X obj 581 289 /;
+#X obj 638 289 /;
+#X obj 579 171 pack f f;
+#X obj 305 428 /;
+#X obj 305 448 * 4;
+#X msg 305 468 \$1 4;
+#X msg 29 369 dimen \$1 \$2;
+#X obj 57 392 /;
+#X msg 57 472 perspec \$1 \$2 -1 1 1 20;
+#X obj 57 452 pack f f;
+#X obj 57 411 t f f;
+#X obj 57 431 * -1;
+#X obj 441 91 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X text 467 90 basic FSAA;
+#X obj 29 46 route screen_size geometry_screen geometry_computer overlap
+FSAA;
+#X obj 239 91 unpack f f;
+#X obj 239 137 *;
+#X obj 252 113 t b f;
+#X obj 296 137 *;
+#X obj 309 113 t b f;
+#X obj 579 191 s \$0-glsl_geometry_screen;
+#X obj 578 224 s \$0-glsl_geometry_computer;
+#X obj 581 331 s \$0-glsl_overlap;
+#X obj 305 490 s \$0-size_gemwin;
+#X obj 388 255 r \$0-altern;
+#X obj 407 311 list;
+#X obj 388 276 sel 0 1;
+#X obj 388 341 list;
+#X obj 29 307 + 0;
+#X obj 113 308 + 0;
+#X text 480 108 not full implemented yet!;
+#X connect 0 0 44 0;
+#X connect 1 0 15 0;
+#X connect 1 0 28 0;
+#X connect 1 0 46 0;
+#X connect 1 1 17 0;
+#X connect 1 1 29 0;
+#X connect 1 1 48 0;
+#X connect 2 0 4 0;
+#X connect 2 0 16 0;
+#X connect 2 0 32 0;
+#X connect 2 1 5 0;
+#X connect 2 1 18 0;
+#X connect 2 1 32 1;
+#X connect 3 0 7 0;
+#X connect 3 0 30 0;
+#X connect 3 1 9 0;
+#X connect 3 1 31 0;
+#X connect 4 0 6 0;
+#X connect 5 0 8 0;
+#X connect 6 0 10 0;
+#X connect 7 0 6 0;
+#X connect 7 1 6 1;
+#X connect 8 0 11 0;
+#X connect 9 0 8 0;
+#X connect 9 1 8 1;
+#X connect 10 0 21 0;
+#X connect 10 1 21 1;
+#X connect 11 0 22 0;
+#X connect 11 1 22 1;
+#X connect 12 0 26 0;
+#X connect 12 0 37 0;
+#X connect 13 0 24 0;
+#X connect 13 1 23 0;
+#X connect 13 2 58 1;
+#X connect 13 2 59 1;
+#X connect 15 0 21 0;
+#X connect 16 0 15 0;
+#X connect 16 1 15 1;
+#X connect 17 0 22 0;
+#X connect 18 0 17 0;
+#X connect 18 1 17 1;
+#X connect 19 0 25 0;
+#X connect 21 0 24 0;
+#X connect 22 0 23 0;
+#X connect 23 0 59 0;
+#X connect 24 0 58 0;
+#X connect 25 0 20 0;
+#X connect 25 0 33 0;
+#X connect 26 0 36 0;
+#X connect 27 0 52 0;
+#X connect 28 0 30 0;
+#X connect 28 1 30 1;
+#X connect 29 0 31 0;
+#X connect 29 1 31 1;
+#X connect 30 0 27 0;
+#X connect 31 0 27 1;
+#X connect 32 0 50 0;
+#X connect 33 0 34 0;
+#X connect 34 0 35 0;
+#X connect 35 0 53 0;
+#X connect 36 0 14 0;
+#X connect 37 0 40 0;
+#X connect 38 0 14 0;
+#X connect 39 0 38 0;
+#X connect 40 0 41 0;
+#X connect 40 1 39 1;
+#X connect 41 0 39 0;
+#X connect 42 0 13 0;
+#X connect 44 0 1 0;
+#X connect 44 1 2 0;
+#X connect 44 1 55 1;
+#X connect 44 2 45 0;
+#X connect 44 2 51 0;
+#X connect 44 2 57 1;
+#X connect 44 3 3 0;
+#X connect 44 4 42 0;
+#X connect 45 0 47 0;
+#X connect 45 1 49 0;
+#X connect 46 0 19 0;
+#X connect 47 0 46 0;
+#X connect 47 1 46 1;
+#X connect 48 0 19 1;
+#X connect 49 0 48 0;
+#X connect 49 1 48 1;
+#X connect 54 0 56 0;
+#X connect 55 0 45 0;
+#X connect 55 0 51 0;
+#X connect 56 0 57 0;
+#X connect 56 1 55 0;
+#X connect 57 0 45 0;
+#X connect 57 0 51 0;
+#X connect 58 0 12 0;
+#X connect 59 0 12 1;
+#X restore 528 320 pd size;
+#X msg 605 523 0 \, destroy;
+#X obj 594 551 gemwin;
+#X obj 428 489 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 281 601 rectangle;
+#X obj 306 559 unpack f f;
+#X floatatom 380 580 5 0 0 0 - - -;
+#X floatatom 319 582 5 0 0 0 - - -;
+#N canvas 0 0 743 323 init_glsl 0;
+#X obj 129 184 outlet;
+#X msg 129 120 overlap \$1 \$2;
+#X obj 129 95 pack f f;
+#X obj 249 98 pack f f;
+#X obj 434 99 pack f f;
+#X msg 249 119 geometry_screen \$1 \$2;
+#X msg 434 120 geometry_computer \$1 \$2;
+#X obj 434 76 r \$0-glsl_geometry_computer;
+#X obj 249 75 r \$0-glsl_geometry_screen;
+#X obj 129 72 r \$0-glsl_overlap;
+#X obj 38 27 r \$0-init_glsl;
+#X connect 1 0 0 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 6 0;
+#X connect 5 0 0 0;
+#X connect 6 0 0 0;
+#X connect 7 0 4 0;
+#X connect 8 0 3 0;
+#X connect 9 0 2 0;
+#X connect 10 0 3 0;
+#X connect 10 0 2 0;
+#X connect 10 0 4 0;
+#X restore 418 467 pd init_glsl;
+#X obj 292 470 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 281 509 pix_texture;
+#X obj 281 448 gemhead 60;
+#X obj 528 343 print framebuffer;
+#X obj 604 415 print gem_window;
+#N canvas 0 0 669 667 glsl_frag 0;
+#X obj 78 598 glsl_program;
+#X msg 35 325 print;
+#X obj 172 387 change;
+#X msg 34 545 print;
+#X obj 78 367 glsl_fragment;
+#X floatatom 172 413 2 0 0 0 ID - -;
+#X obj 190 459 print linking;
+#X text 97 546 after linking \, click "print" to get some info about
+the compiled shader program;
+#X obj 13 52 inlet;
+#X obj 78 634 outlet;
+#X obj 577 95 inlet;
+#X obj 13 75 route bang;
+#X obj 141 87 gemhead 1;
+#X msg 141 109 1;
+#X obj 141 133 change;
+#X obj 141 157 t b;
+#X obj 157 619 change;
+#X obj 157 640 t b;
+#X obj 157 661 outlet;
+#X msg 172 438 link \$1;
+#X msg 87 324 open soft_edge.frag;
+#X connect 0 0 9 0;
+#X connect 0 1 16 0;
+#X connect 1 0 4 0;
+#X connect 2 0 5 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 4 1 2 0;
+#X connect 5 0 19 0;
+#X connect 8 0 11 0;
+#X connect 10 0 0 0;
+#X connect 11 0 20 0;
+#X connect 11 1 4 0;
+#X connect 12 0 13 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 20 0;
+#X connect 16 0 17 0;
+#X connect 17 0 18 0;
+#X connect 19 0 0 0;
+#X connect 19 0 6 0;
+#X connect 20 0 4 0;
+#X restore 281 488 pd glsl_frag _______;
+#X obj 605 470 sel 0 1;
+#X msg 624 500 border 0 \, create \, 1;
+#X obj 528 67 pack f f;
+#X obj 638 48 t b f;
+#X obj 831 65 pack f f;
+#X obj 941 46 t b f;
+#X msg 528 97 screen_size \$1 \$2;
+#X msg 831 92 geometry_screen \$1 \$2;
+#X obj 1151 65 pack f f;
+#X obj 1281 46 t b f;
+#X msg 746 93 2 2;
+#X msg 746 67 set \$1 \$2;
+#X obj 683 67 loadbang;
+#X msg 1151 92 geometry_computer \$1 \$2;
+#X msg 1066 67 set \$1 \$2;
+#X obj 1003 67 loadbang;
+#X msg 1066 93 4 1;
+#X msg 446 67 set \$1 \$2;
+#X obj 383 67 loadbang;
+#X msg 446 93 160 120;
+#X obj 446 114 unpack f f;
+#X obj 746 114 unpack f f;
+#X obj 1066 114 unpack f f;
+#X obj 1003 236 loadbang;
+#X msg 1066 262 0 0;
+#X msg 1151 282 overlap \$1 \$1;
+#X msg 567 576 0;
+#X msg 594 392 dimen \$1 \$2;
+#X obj 567 369 t b l;
+#X obj 100 235 cnv 15 250 20 empty empty PUT_AN_OBJECT_[r_render]_IN_YOUR_PATCH
+10 10 0 10 -258113 -66577 0;
+#X obj 100 20 cnv 15 250 215 empty empty empty 20 12 0 14 -260097 -66577
+0;
+#X obj 108 163 nbx 5 14 0 5000 0 0 \$0-overlap \$0-overlap empty 0
+-8 0 10 -99865 -1 -1 0 256;
+#X obj 108 187 tgl 15 0 \$0-createDestroy \$0-createDestroy empty 17
+7 0 10 -1 -262144 -1 1 1;
+#X text 128 187 Create/Destroy Gem window;
+#X obj 108 29 nbx 4 12 -1e+37 1e+37 0 0 \$0-sizeScreenX \$0-sizeScreenX
+empty 0 -8 0 10 -1 -262144 -1 160 256;
+#X text 166 163 Overlap X and Y (pixels);
+#X obj 108 45 nbx 4 12 -1e+37 1e+37 0 0 \$0-sizeScreenY \$0-sizeScreenY
+empty 0 -8 0 10 -1 -262144 -1 120 256;
+#X obj 108 83 nbx 4 12 -1e+37 1e+37 0 0 \$0-Geom-screenY \$0-Geom-screenY
+empty 0 -8 0 10 -257985 -1 -1 2 256;
+#X obj 108 67 nbx 4 12 -1e+37 1e+37 0 0 \$0-Geom-screenX \$0-Geom-screenX
+empty 0 -8 0 10 -257985 -1 -1 2 256;
+#X obj 108 143 tgl 10 0 \$0-altern \$0-altern empty 17 7 0 10 -1 -262144
+-1 0 1;
+#X obj 108 121 nbx 4 12 -1e+37 1e+37 0 0 \$0-Geom-computerY \$0-Geom-computerY
+empty 0 -8 0 10 -257985 -1 -1 1 256;
+#X obj 108 105 nbx 4 12 -1e+37 1e+37 0 0 \$0-Geom-computerX \$0-Geom-computerX
+empty 0 -8 0 10 -257985 -1 -1 4 256;
+#X text 158 65 Geometry screen (X);
+#X text 158 81 Geometry screen (Y);
+#X text 158 103 Geometry computer (X);
+#X text 158 119 Geometry computer (Y);
+#X text 158 28 Screens size (X);
+#X text 158 44 Screens size (Y);
+#X obj 108 212 bng 15 250 50 0 \$0-save \$0-receiveNothing empty 17
+7 0 10 -258113 -1 -1;
+#X text 128 212 Save parameters;
+#X obj 446 156 s \$0-sizeScreenX;
+#X obj 503 136 s \$0-sizeScreenY;
+#X obj 746 155 s \$0-Geom-screenX;
+#X obj 803 135 s \$0-Geom-screenY;
+#X obj 1123 135 s \$0-Geom-computerY;
+#X obj 1066 155 s \$0-Geom-computerX;
+#X obj 1066 304 s \$0-overlap;
+#X obj 605 449 r \$0-createDestroy;
+#X obj 567 596 s \$0-createDestroy;
+#X obj 418 510 s \$0-init_glsl;
+#X obj 306 539 r \$0-size_gemwin;
+#X obj 528 27 r \$0-sizeScreenX;
+#X obj 638 27 r \$0-sizeScreenY;
+#X obj 831 25 r \$0-Geom-screenX;
+#X obj 941 25 r \$0-Geom-screenY;
+#X obj 1281 25 r \$0-Geom-computerY;
+#X obj 1151 25 r \$0-Geom-computerX;
+#X obj 1151 215 r \$0-overlap;
+#X obj 100 271 r \$0-save;
+#X msg 1066 236 set \$1 \$1;
+#X obj 100 317 s pd-soft_edge.pd;
+#X msg 100 292 menusave;
+#X text 856 481 'soft-edge.pd' by Cyrille Henry (GUI by Jack/RYBN)
+;
+#X text 121 140 View computer(0)/screen(1);
+#X connect 0 0 1 0;
+#X connect 1 0 5 0;
+#X connect 1 1 16 1;
+#X connect 3 0 1 0;
+#X connect 4 0 3 0;
+#X connect 5 0 2 0;
+#X connect 6 0 1 0;
+#X connect 6 0 18 0;
+#X connect 6 1 49 0;
+#X connect 7 0 8 0;
+#X connect 9 0 80 0;
+#X connect 11 0 10 1;
+#X connect 11 0 13 0;
+#X connect 11 1 10 2;
+#X connect 11 1 12 0;
+#X connect 14 0 20 1;
+#X connect 15 0 20 0;
+#X connect 16 0 10 0;
+#X connect 17 0 20 0;
+#X connect 20 0 16 0;
+#X connect 20 1 80 0;
+#X connect 21 0 7 0;
+#X connect 21 1 22 0;
+#X connect 22 0 8 0;
+#X connect 23 0 27 0;
+#X connect 23 0 38 0;
+#X connect 24 0 23 0;
+#X connect 24 1 23 1;
+#X connect 25 0 28 0;
+#X connect 25 0 32 0;
+#X connect 26 0 25 0;
+#X connect 26 1 25 1;
+#X connect 27 0 6 0;
+#X connect 28 0 6 0;
+#X connect 29 0 34 0;
+#X connect 29 0 35 0;
+#X connect 30 0 29 0;
+#X connect 30 1 29 1;
+#X connect 31 0 28 0;
+#X connect 31 0 42 0;
+#X connect 32 0 31 0;
+#X connect 33 0 31 0;
+#X connect 34 0 6 0;
+#X connect 35 0 37 0;
+#X connect 36 0 37 0;
+#X connect 37 0 34 0;
+#X connect 37 0 43 0;
+#X connect 38 0 40 0;
+#X connect 39 0 40 0;
+#X connect 40 0 27 0;
+#X connect 40 0 41 0;
+#X connect 41 0 71 0;
+#X connect 41 1 72 0;
+#X connect 42 0 73 0;
+#X connect 42 1 74 0;
+#X connect 43 0 76 0;
+#X connect 43 1 75 0;
+#X connect 44 0 45 0;
+#X connect 45 0 46 0;
+#X connect 45 0 77 0;
+#X connect 46 0 6 0;
+#X connect 47 0 79 0;
+#X connect 48 0 8 0;
+#X connect 48 0 19 0;
+#X connect 49 0 47 0;
+#X connect 49 1 48 0;
+#X connect 78 0 21 0;
+#X connect 81 0 11 0;
+#X connect 82 0 23 0;
+#X connect 83 0 24 0;
+#X connect 84 0 25 0;
+#X connect 85 0 26 0;
+#X connect 86 0 30 0;
+#X connect 87 0 29 0;
+#X connect 88 0 46 0;
+#X connect 88 0 90 0;
+#X connect 89 0 92 0;
+#X connect 90 0 45 0;
+#X connect 92 0 91 0;
+#X coords 0 -1 1 1 250 235 2 100 20;
diff --git a/packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/load_save.pd b/packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/load_save.pd
index 8037857b..bb2ce6ac 100644
--- a/packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/load_save.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/load_save.pd
@@ -1,40 +1,40 @@
-#N canvas 140 207 521 345 10;
-#X obj 258 43 bng 15 250 50 0 empty empty empty 17 7 0 10 -258699 -1
--1;
-#X msg 287 139 clear;
-#X obj 248 227 textfile;
-#X obj 308 185 list prepend add;
-#X obj 308 206 list trim;
-#X obj 54 59 bng 15 250 50 0 empty empty empty 17 7 0 10 -24198 -1
--1;
-#X obj 38 125 until;
-#X text 75 61 load;
-#X text 279 43 save;
-#X obj 38 80 t b a;
-#X obj 248 24 inlet;
-#X obj 38 29 inlet;
-#X msg 248 116 write config.txt;
-#X msg 65 100 read config.txt \, rewind;
-#X obj 308 164 r save_system_data;
-#X obj 38 173 s save_system_saved;
-#X obj 248 71 t b b b;
-#X obj 267 92 s save_system_save;
-#X obj 38 149 textfile;
-#X connect 0 0 16 0;
-#X connect 1 0 2 0;
-#X connect 3 0 4 0;
-#X connect 4 0 2 0;
-#X connect 5 0 9 0;
-#X connect 6 0 18 0;
-#X connect 9 0 6 0;
-#X connect 9 1 13 0;
-#X connect 10 0 16 0;
-#X connect 11 0 9 0;
-#X connect 12 0 2 0;
-#X connect 13 0 18 0;
-#X connect 14 0 3 0;
-#X connect 16 0 12 0;
-#X connect 16 1 17 0;
-#X connect 16 2 1 0;
-#X connect 18 0 15 0;
-#X connect 18 1 6 1;
+#N canvas 140 207 521 345 10;
+#X obj 258 43 bng 15 250 50 0 empty empty empty 17 7 0 10 -258699 -1
+-1;
+#X msg 287 139 clear;
+#X obj 248 227 textfile;
+#X obj 308 185 list prepend add;
+#X obj 308 206 list trim;
+#X obj 54 59 bng 15 250 50 0 empty empty empty 17 7 0 10 -24198 -1
+-1;
+#X obj 38 125 until;
+#X text 75 61 load;
+#X text 279 43 save;
+#X obj 38 80 t b a;
+#X obj 248 24 inlet;
+#X obj 38 29 inlet;
+#X msg 248 116 write config.txt;
+#X msg 65 100 read config.txt \, rewind;
+#X obj 308 164 r save_system_data;
+#X obj 38 173 s save_system_saved;
+#X obj 248 71 t b b b;
+#X obj 267 92 s save_system_save;
+#X obj 38 149 textfile;
+#X connect 0 0 16 0;
+#X connect 1 0 2 0;
+#X connect 3 0 4 0;
+#X connect 4 0 2 0;
+#X connect 5 0 9 0;
+#X connect 6 0 18 0;
+#X connect 9 0 6 0;
+#X connect 9 1 13 0;
+#X connect 10 0 16 0;
+#X connect 11 0 9 0;
+#X connect 12 0 2 0;
+#X connect 13 0 18 0;
+#X connect 14 0 3 0;
+#X connect 16 0 12 0;
+#X connect 16 1 17 0;
+#X connect 16 2 1 0;
+#X connect 18 0 15 0;
+#X connect 18 1 6 1;
diff --git a/packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/nfp_22.frag b/packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/nfp_22.frag
index e3ce36c7..5cbab606 100644
--- a/packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/nfp_22.frag
+++ b/packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/nfp_22.frag
@@ -1,18 +1,18 @@
-#extension GL_ARB_texture_rectangle : enable
-
-uniform sampler2DRect MyTex;
-uniform float Sl,Sr,St,Sb; // shade size
-varying vec2 pos;
-
-
-void main (void)
-{
- vec4 color = texture2DRect(MyTex, gl_TexCoord[0].st);
-
- color.a *=min(1.,pos.x/Sl);
- color.a *=min(1.,(1.-pos.x)/Sr);
- color.a *=min(1.,pos.y/St);
- color.a *=min(1.,(1.-pos.y)/Sb);
-
- gl_FragColor = color;
-}
+#extension GL_ARB_texture_rectangle : enable
+
+uniform sampler2DRect MyTex;
+uniform float Sl,Sr,St,Sb; // shade size
+varying vec2 pos;
+
+
+void main (void)
+{
+ vec4 color = texture2DRect(MyTex, gl_TexCoord[0].st);
+
+ color.a *=min(1.,pos.x/Sl);
+ color.a *=min(1.,(1.-pos.x)/Sr);
+ color.a *=min(1.,pos.y/St);
+ color.a *=min(1.,(1.-pos.y)/Sb);
+
+ gl_FragColor = color;
+}
diff --git a/packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/nfp_22.vert b/packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/nfp_22.vert
index ab8f1077..3930a166 100644
--- a/packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/nfp_22.vert
+++ b/packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/nfp_22.vert
@@ -1,26 +1,26 @@
-uniform vec2 Vtl,Vbl,Vtr,Vbr; // Vertex position
-uniform vec2 Ttl,Tbl,Ttr,Tbr; // texture coordinate
-uniform vec2 center;
-
-varying vec2 pos;
-
-void main()
-{
- gl_TexCoord[0] = gl_MultiTexCoord0;
-
- vec4 position = gl_Vertex;
- position.xy += 1.;
- position.xy /= 2.;
- pos = position.xy;
- position.xy = pow(position.xy,center);
-
- vec2 tex_top = mix(Ttl,Ttr,pos.x);
- vec2 tex_bottom = mix(Tbl,Tbr,pos.x);
- gl_TexCoord[0].st = mix(tex_top,tex_bottom, pos.y);
-
- vec2 pos_top = mix(Vtl,Vtr,position.x);
- vec2 pos_bottom = mix(Vbl,Vbr,position.x);
- position.xy = mix(pos_top,pos_bottom, position.y);
-
- gl_Position = gl_ModelViewProjectionMatrix * position;
-}
+uniform vec2 Vtl,Vbl,Vtr,Vbr; // Vertex position
+uniform vec2 Ttl,Tbl,Ttr,Tbr; // texture coordinate
+uniform vec2 center;
+
+varying vec2 pos;
+
+void main()
+{
+ gl_TexCoord[0] = gl_MultiTexCoord0;
+
+ vec4 position = gl_Vertex;
+ position.xy += 1.;
+ position.xy /= 2.;
+ pos = position.xy;
+ position.xy = pow(position.xy,center);
+
+ vec2 tex_top = mix(Ttl,Ttr,pos.x);
+ vec2 tex_bottom = mix(Tbl,Tbr,pos.x);
+ gl_TexCoord[0].st = mix(tex_top,tex_bottom, pos.y);
+
+ vec2 pos_top = mix(Vtl,Vtr,position.x);
+ vec2 pos_bottom = mix(Vbl,Vbr,position.x);
+ position.xy = mix(pos_top,pos_bottom, position.y);
+
+ gl_Position = gl_ModelViewProjectionMatrix * position;
+}
diff --git a/packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/nfp_33.frag b/packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/nfp_33.frag
index e3ce36c7..5cbab606 100644
--- a/packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/nfp_33.frag
+++ b/packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/nfp_33.frag
@@ -1,18 +1,18 @@
-#extension GL_ARB_texture_rectangle : enable
-
-uniform sampler2DRect MyTex;
-uniform float Sl,Sr,St,Sb; // shade size
-varying vec2 pos;
-
-
-void main (void)
-{
- vec4 color = texture2DRect(MyTex, gl_TexCoord[0].st);
-
- color.a *=min(1.,pos.x/Sl);
- color.a *=min(1.,(1.-pos.x)/Sr);
- color.a *=min(1.,pos.y/St);
- color.a *=min(1.,(1.-pos.y)/Sb);
-
- gl_FragColor = color;
-}
+#extension GL_ARB_texture_rectangle : enable
+
+uniform sampler2DRect MyTex;
+uniform float Sl,Sr,St,Sb; // shade size
+varying vec2 pos;
+
+
+void main (void)
+{
+ vec4 color = texture2DRect(MyTex, gl_TexCoord[0].st);
+
+ color.a *=min(1.,pos.x/Sl);
+ color.a *=min(1.,(1.-pos.x)/Sr);
+ color.a *=min(1.,pos.y/St);
+ color.a *=min(1.,(1.-pos.y)/Sb);
+
+ gl_FragColor = color;
+}
diff --git a/packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/nfp_33.vert b/packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/nfp_33.vert
index 68066b04..cac28b16 100644
--- a/packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/nfp_33.vert
+++ b/packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/nfp_33.vert
@@ -1,37 +1,37 @@
-uniform vec2 Vtl,Vbl,Vtr,Vbr,Vtc,Vbc,Vcl,Vcr,Vcc; // Vertex position
-uniform vec2 Ttl,Tbl,Ttr,Tbr; // texture coordinate
-uniform vec2 center;
-
-varying vec2 pos;
-
-void main()
-{
- gl_TexCoord[0] = gl_MultiTexCoord0;
-
- vec4 position = gl_Vertex;
- position.xy += 1.;
- position.xy /= 2.;
- pos = position.xy;
-
- vec2 tex_top = mix(Ttl,Ttr,pos.x);
- vec2 tex_bottom = mix(Tbl,Tbr,pos.x);
- gl_TexCoord[0].st = mix(tex_top,tex_bottom, pos.y);
-
- vec2 pos_top1 = mix(Vtl,Vtc,position.x);
- vec2 pos_top2 = mix(Vtc,Vtr,position.x);
- vec2 pos_top = mix(pos_top1,pos_top2,position.x);
-
- vec2 pos_center1 = mix(Vcl,Vcc,position.x);
- vec2 pos_center2 = mix(Vcc,Vcr,position.x);
- vec2 pos_center = mix(pos_center1,pos_center2,position.x);
-
- vec2 pos_bottom1 = mix(Vbl,Vbc,position.x);
- vec2 pos_bottom2 = mix(Vbc,Vbr,position.x);
- vec2 pos_bottom = mix(pos_bottom1,pos_bottom2,position.x);
-
- vec2 position1 = mix(pos_top,pos_center,position.y);
- vec2 position2 = mix(pos_center,pos_bottom,position.y);
- position.xy = mix(position1,position2, position.y);
-
- gl_Position = gl_ModelViewProjectionMatrix * position;
-}
+uniform vec2 Vtl,Vbl,Vtr,Vbr,Vtc,Vbc,Vcl,Vcr,Vcc; // Vertex position
+uniform vec2 Ttl,Tbl,Ttr,Tbr; // texture coordinate
+uniform vec2 center;
+
+varying vec2 pos;
+
+void main()
+{
+ gl_TexCoord[0] = gl_MultiTexCoord0;
+
+ vec4 position = gl_Vertex;
+ position.xy += 1.;
+ position.xy /= 2.;
+ pos = position.xy;
+
+ vec2 tex_top = mix(Ttl,Ttr,pos.x);
+ vec2 tex_bottom = mix(Tbl,Tbr,pos.x);
+ gl_TexCoord[0].st = mix(tex_top,tex_bottom, pos.y);
+
+ vec2 pos_top1 = mix(Vtl,Vtc,position.x);
+ vec2 pos_top2 = mix(Vtc,Vtr,position.x);
+ vec2 pos_top = mix(pos_top1,pos_top2,position.x);
+
+ vec2 pos_center1 = mix(Vcl,Vcc,position.x);
+ vec2 pos_center2 = mix(Vcc,Vcr,position.x);
+ vec2 pos_center = mix(pos_center1,pos_center2,position.x);
+
+ vec2 pos_bottom1 = mix(Vbl,Vbc,position.x);
+ vec2 pos_bottom2 = mix(Vbc,Vbr,position.x);
+ vec2 pos_bottom = mix(pos_bottom1,pos_bottom2,position.x);
+
+ vec2 position1 = mix(pos_top,pos_center,position.y);
+ vec2 position2 = mix(pos_center,pos_bottom,position.y);
+ position.xy = mix(position1,position2, position.y);
+
+ gl_Position = gl_ModelViewProjectionMatrix * position;
+}
diff --git a/packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/nfp_curved_wall.pd b/packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/nfp_curved_wall.pd
index 2222a6a7..d9552081 100644
--- a/packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/nfp_curved_wall.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/nfp_curved_wall.pd
@@ -1,413 +1,413 @@
-#N canvas 32 138 1230 634 10;
-#X obj 46 203 pix_texture;
-#X obj 55 113 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
--1;
-#X obj 46 78 alpha;
-#X obj 46 224 mesh_square 50 50;
-#N canvas 160 123 480 574 glsl 0;
-#X obj 78 179 glsl_vertex;
-#X msg 32 178 print;
-#X obj 78 466 glsl_program;
-#X obj 163 395 pack 0 0;
-#X msg 30 316 print;
-#X obj 163 351 change;
-#X obj 150 198 change;
-#X msg 163 419 link \$1 \$2;
-#X msg 32 460 print;
-#X obj 77 330 glsl_fragment;
-#X floatatom 163 375 2 0 0 0 ID - -;
-#X floatatom 150 221 2 0 0 0 ID - -;
-#X obj 181 440 print linking;
-#X obj 15 21 inlet;
-#X obj 78 502 outlet;
-#X obj 418 21 inlet;
-#X obj 15 44 route bang;
-#X obj 255 11 gemhead 1;
-#X msg 255 33 1;
-#X obj 255 57 change;
-#X obj 255 81 t b;
-#X obj 157 487 change;
-#X obj 157 508 t b;
-#X obj 158 530 outlet;
-#X obj 90 266 symbol;
-#X obj 90 241 t b;
-#X msg 287 438 0;
-#X obj 15 65 t b b b;
-#X msg 118 147 open nfp_33.vert;
-#X msg 91 292 open nfp_33.frag;
-#X connect 0 0 9 0;
-#X connect 0 1 6 0;
-#X connect 1 0 0 0;
-#X connect 2 0 14 0;
-#X connect 2 1 21 0;
-#X connect 3 0 7 0;
-#X connect 4 0 9 0;
-#X connect 5 0 10 0;
-#X connect 6 0 11 0;
-#X connect 6 0 25 0;
-#X connect 7 0 2 0;
-#X connect 7 0 12 0;
-#X connect 8 0 2 0;
-#X connect 9 0 2 0;
-#X connect 9 1 5 0;
-#X connect 10 0 3 0;
-#X connect 11 0 3 1;
-#X connect 13 0 16 0;
-#X connect 15 0 2 0;
-#X connect 16 0 27 0;
-#X connect 16 1 0 0;
-#X connect 17 0 18 0;
-#X connect 18 0 19 0;
-#X connect 19 0 20 0;
-#X connect 20 0 28 0;
-#X connect 21 0 22 0;
-#X connect 22 0 23 0;
-#X connect 24 0 29 0;
-#X connect 25 0 24 0;
-#X connect 26 0 21 0;
-#X connect 27 0 26 0;
-#X connect 27 1 10 0;
-#X connect 27 2 28 0;
-#X connect 28 0 0 0;
-#X connect 29 0 9 0;
-#X restore 46 130 pd glsl;
-#X obj 46 51 gemhead \$1;
-#X obj 501 216 cnv 15 238 130 empty empty empty 20 12 0 14 -233017
--66577 0;
-#X text 522 219 Texture position (Pixel);
-#X obj 519 247 nbx 5 16 0 20000 0 0 empty empty x -10 7 0 12 -203904
--1 -1 105 256;
-#X obj 519 267 nbx 5 16 0 20000 0 0 empty empty y -10 7 0 12 -203904
--1 -1 13 256;
-#X obj 619 247 nbx 5 16 0 20000 0 0 empty empty x -10 7 0 12 -203904
--1 -1 367 256;
-#X obj 619 267 nbx 5 16 0 20000 0 0 empty empty y -10 7 0 12 -203904
--1 -1 0 256;
-#X obj 519 297 nbx 5 16 0 20000 0 0 empty empty x -10 7 0 12 -203904
--1 -1 0 256;
-#X obj 519 317 nbx 5 16 0 20000 0 0 empty empty y -10 7 0 12 -203904
--1 -1 227 256;
-#X obj 619 297 nbx 5 16 0 20000 0 0 empty empty x -10 7 0 12 -203904
--1 -1 416 256;
-#X obj 619 317 nbx 5 16 0 20000 0 0 empty empty y -10 7 0 12 -203904
--1 -1 265 256;
-#X obj 501 349 cnv 15 238 180 empty empty empty 20 12 0 14 -233017
--66577 0;
-#X obj 608 370 vsl 15 63 1 0 0 0 empty empty top 18 6 0 10 -262130
--1 -1 6200 1;
-#X obj 608 453 vsl 15 63 0 1 0 0 empty empty bottom 18 60 0 10 -262130
--1 -1 0 1;
-#X obj 626 436 hsl 63 15 1 0 0 0 empty empty right 30 -8 0 10 -262130
--1 -1 5686 1;
-#X obj 543 436 hsl 63 15 0 1 0 0 empty empty left 2 -8 0 10 -262130
--1 -1 430 1;
-#X text 509 367 Shade size;
-#X obj 501 33 cnv 15 238 180 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 514 64 nbx 5 16 -1000 1000 0 0 empty empty x -10 7 0 12 -261234
--1 -1 -1.16 256;
-#X obj 514 84 nbx 5 16 -1000 1000 0 0 empty empty y -10 7 0 12 -261234
--1 -1 3.35 256;
-#X obj 675 64 nbx 5 16 -1000 1000 0 0 empty empty x -10 7 0 12 -261234
--1 -1 1.31 256;
-#X obj 675 84 nbx 5 16 -1000 1000 0 0 empty empty y -10 7 0 12 -261234
--1 -1 3.95 256;
-#X obj 514 164 nbx 5 16 -1000 1000 0 0 empty empty x -10 7 0 12 -261234
--1 -1 -1.21 256;
-#X obj 514 184 nbx 5 16 -1000 1000 0 0 empty empty y -10 7 0 12 -261234
--1 -1 -2.83 256;
-#X obj 675 164 nbx 5 16 -1000 1000 0 0 empty empty x -10 7 0 12 -261234
--1 -1 1.52 256;
-#X obj 675 184 nbx 5 16 -1000 1000 0 0 empty empty y -10 7 0 12 -261234
--1 -1 -3.37 256;
-#X text 522 36 Vertex position;
-#X obj 99 105 r \$0-glsl;
-#X obj 98 152 s \$0-init;
-#X obj 754 20 r \$0-init;
-#X obj 203 372 pack f f;
-#X obj 249 347 t b f;
-#X obj 309 373 pack f f;
-#X obj 355 348 t b f;
-#X obj 233 419 pack f f;
-#X obj 279 394 t b f;
-#X obj 339 420 pack f f;
-#X obj 385 395 t b f;
-#X msg 203 439 Ttl \$1 \$2;
-#X msg 309 441 Ttr \$1 \$2;
-#X msg 323 461 Tbr \$1 \$2;
-#X msg 216 459 Tbl \$1 \$2;
-#X obj 203 484 s \$0-glsl;
-#X msg 204 515 Sl \$1;
-#X msg 253 515 Sr \$1;
-#X msg 300 515 St \$1;
-#X msg 346 515 Sb \$1;
-#X obj 204 539 s \$0-glsl;
-#X obj 120 182 r nfp_fb;
-#X obj 806 61 saved VP_TL_X-\$1;
-#X obj 806 81 saved VP_TL_Y-\$1;
-#X obj 806 161 saved VP_BL_X-\$1;
-#X obj 806 181 saved VP_BL_Y-\$1;
-#X obj 1036 61 saved VP_TR_X-\$1;
-#X obj 1036 81 saved VP_TR_Y-\$1;
-#X obj 1036 161 saved VP_BR_X-\$1;
-#X obj 1036 181 saved VP_BR_Y-\$1;
-#X obj 756 247 saved TP_TL_X-\$1;
-#X obj 756 267 saved TP_TL_Y-\$1;
-#X obj 756 297 saved TP_BL_X-\$1;
-#X obj 756 317 saved TP_BL_Y-\$1;
-#X obj 866 247 saved TP_TR_X-\$1;
-#X obj 866 267 saved TP_TR_Y-\$1;
-#X obj 866 297 saved TP_BR_X-\$1;
-#X obj 866 317 saved TP_BR_Y-\$1;
-#X obj 758 420 saved Shade_L-\$1;
-#X obj 759 444 saved Shade_R-\$1;
-#X obj 755 384 saved Shade_T-\$1;
-#X obj 761 473 saved Shade_B-\$1;
-#X obj 754 216 r \$0-init;
-#X obj 754 356 r \$0-init;
-#X obj 106 131 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
--1 -1;
-#X obj 185 118 pack f f;
-#X obj 231 93 t b f;
-#X obj 391 119 pack f f;
-#X obj 437 94 t b f;
-#X obj 215 168 pack f f;
-#X obj 261 143 t b f;
-#X obj 421 169 pack f f;
-#X obj 467 144 t b f;
-#X msg 405 268 Vbr \$1 \$2;
-#X msg 198 266 Vbl \$1 \$2;
-#X obj 289 119 pack f f;
-#X obj 335 94 t b f;
-#X obj 319 169 pack f f;
-#X obj 365 144 t b f;
-#X msg 303 268 Vbc \$1 \$2;
-#X obj 205 68 pack f f;
-#X obj 251 43 t b f;
-#X obj 411 69 pack f f;
-#X obj 457 44 t b f;
-#X obj 309 69 pack f f;
-#X obj 355 44 t b f;
-#X obj 185 301 s \$0-glsl;
-#X obj 594 64 nbx 5 16 -1000 1000 0 0 empty empty x -10 7 0 12 -261234
--1 -1 0.00999991 256;
-#X obj 594 84 nbx 5 16 -1000 1000 0 0 empty empty y -10 7 0 12 -261234
--1 -1 3.7 256;
-#X obj 594 164 nbx 5 16 -1000 1000 0 0 empty empty x -10 7 0 12 -261234
--1 -1 0.2 256;
-#X obj 594 184 nbx 5 16 -1000 1000 0 0 empty empty y -10 7 0 12 -261234
--1 -1 -3.96001 256;
-#X obj 916 61 saved VP_TC_X-\$1;
-#X obj 916 81 saved VP_TC_Y-\$1;
-#X obj 916 161 saved VP_BC_X-\$1;
-#X obj 916 181 saved VP_BC_Y-\$1;
-#X obj 514 114 nbx 5 16 -1000 1000 0 0 empty empty x -10 7 0 12 -261234
--1 -1 -0.730001 256;
-#X obj 514 134 nbx 5 16 -1000 1000 0 0 empty empty y -10 7 0 12 -261234
--1 -1 0.76 256;
-#X obj 675 114 nbx 5 16 -1000 1000 0 0 empty empty x -10 7 0 12 -261234
--1 -1 1.79 256;
-#X obj 675 134 nbx 5 16 -1000 1000 0 0 empty empty y -10 7 0 12 -261234
--1 -1 2.34 256;
-#X obj 594 114 nbx 5 16 -1000 1000 0 0 empty empty x -10 7 0 12 -261234
--1 -1 0.55 256;
-#X obj 594 134 nbx 5 16 -1000 1000 0 0 empty empty y -10 7 0 12 -261234
--1 -1 -0.35 256;
-#X obj 806 111 saved VP_CL_X-\$1;
-#X obj 806 131 saved VP_CL_Y-\$1;
-#X obj 916 111 saved VP_CC_X-\$1;
-#X obj 916 131 saved VP_CC_Y-\$1;
-#X obj 1036 111 saved VP_CR_X-\$1;
-#X obj 1036 131 saved VP_CR_Y-\$1;
-#X msg 195 206 Vtl \$1 \$2;
-#X msg 299 210 Vtc \$1 \$2;
-#X msg 401 210 Vtr \$1 \$2;
-#X msg 185 236 Vcl \$1 \$2;
-#X msg 289 240 Vcc \$1 \$2;
-#X msg 391 240 Vcr \$1 \$2;
-#X connect 0 0 3 0;
-#X connect 1 0 4 0;
-#X connect 2 0 4 0;
-#X connect 4 0 0 0;
-#X connect 4 1 33 0;
-#X connect 5 0 2 0;
-#X connect 8 0 62 0;
-#X connect 8 0 35 0;
-#X connect 9 0 63 0;
-#X connect 9 0 36 0;
-#X connect 10 0 66 0;
-#X connect 10 0 37 0;
-#X connect 11 0 67 0;
-#X connect 11 0 38 0;
-#X connect 12 0 64 0;
-#X connect 12 0 39 0;
-#X connect 13 0 65 0;
-#X connect 13 0 40 0;
-#X connect 14 0 68 0;
-#X connect 14 0 41 0;
-#X connect 15 0 69 0;
-#X connect 15 0 42 0;
-#X connect 17 0 72 0;
-#X connect 17 0 50 0;
-#X connect 18 0 73 0;
-#X connect 18 0 51 0;
-#X connect 19 0 71 0;
-#X connect 19 0 49 0;
-#X connect 20 0 70 0;
-#X connect 20 0 48 0;
-#X connect 23 0 54 0;
-#X connect 23 0 92 0;
-#X connect 24 0 55 0;
-#X connect 24 0 93 0;
-#X connect 25 0 58 0;
-#X connect 25 0 94 0;
-#X connect 26 0 59 0;
-#X connect 26 0 95 0;
-#X connect 27 0 56 0;
-#X connect 27 0 81 0;
-#X connect 28 0 57 0;
-#X connect 28 0 82 0;
-#X connect 29 0 60 0;
-#X connect 29 0 83 0;
-#X connect 30 0 61 0;
-#X connect 30 0 84 0;
-#X connect 32 0 4 1;
-#X connect 34 0 25 0;
-#X connect 34 0 26 0;
-#X connect 34 0 23 0;
-#X connect 34 0 24 0;
-#X connect 34 0 29 0;
-#X connect 34 0 30 0;
-#X connect 34 0 27 0;
-#X connect 34 0 28 0;
-#X connect 34 0 99 0;
-#X connect 34 0 100 0;
-#X connect 34 0 101 0;
-#X connect 34 0 102 0;
-#X connect 34 0 107 0;
-#X connect 34 0 108 0;
-#X connect 34 0 111 0;
-#X connect 34 0 112 0;
-#X connect 34 0 109 0;
-#X connect 34 0 110 0;
-#X connect 35 0 43 0;
-#X connect 36 0 35 0;
-#X connect 36 1 35 1;
-#X connect 37 0 44 0;
-#X connect 38 0 37 0;
-#X connect 38 1 37 1;
-#X connect 39 0 46 0;
-#X connect 40 0 39 0;
-#X connect 40 1 39 1;
-#X connect 41 0 45 0;
-#X connect 42 0 41 0;
-#X connect 42 1 41 1;
-#X connect 43 0 47 0;
-#X connect 44 0 47 0;
-#X connect 45 0 47 0;
-#X connect 46 0 47 0;
-#X connect 48 0 52 0;
-#X connect 49 0 52 0;
-#X connect 50 0 52 0;
-#X connect 51 0 52 0;
-#X connect 53 0 0 1;
-#X connect 54 0 23 0;
-#X connect 55 0 24 0;
-#X connect 56 0 27 0;
-#X connect 57 0 28 0;
-#X connect 58 0 25 0;
-#X connect 59 0 26 0;
-#X connect 60 0 29 0;
-#X connect 61 0 30 0;
-#X connect 62 0 8 0;
-#X connect 63 0 9 0;
-#X connect 64 0 12 0;
-#X connect 65 0 13 0;
-#X connect 66 0 10 0;
-#X connect 67 0 11 0;
-#X connect 68 0 14 0;
-#X connect 69 0 15 0;
-#X connect 70 0 20 0;
-#X connect 71 0 19 0;
-#X connect 72 0 17 0;
-#X connect 73 0 18 0;
-#X connect 74 0 8 0;
-#X connect 74 0 10 0;
-#X connect 74 0 9 0;
-#X connect 74 0 11 0;
-#X connect 74 0 12 0;
-#X connect 74 0 14 0;
-#X connect 74 0 13 0;
-#X connect 74 0 15 0;
-#X connect 75 0 17 0;
-#X connect 75 0 19 0;
-#X connect 75 0 20 0;
-#X connect 75 0 18 0;
-#X connect 76 0 33 0;
-#X connect 77 0 122 0;
-#X connect 78 0 77 0;
-#X connect 78 1 77 1;
-#X connect 79 0 124 0;
-#X connect 80 0 79 0;
-#X connect 80 1 79 1;
-#X connect 81 0 86 0;
-#X connect 82 0 81 0;
-#X connect 82 1 81 1;
-#X connect 83 0 85 0;
-#X connect 84 0 83 0;
-#X connect 84 1 83 1;
-#X connect 85 0 98 0;
-#X connect 86 0 98 0;
-#X connect 87 0 123 0;
-#X connect 88 0 87 0;
-#X connect 88 1 87 1;
-#X connect 89 0 91 0;
-#X connect 90 0 89 0;
-#X connect 90 1 89 1;
-#X connect 91 0 98 0;
-#X connect 92 0 119 0;
-#X connect 93 0 92 0;
-#X connect 93 1 92 1;
-#X connect 94 0 121 0;
-#X connect 95 0 94 0;
-#X connect 95 1 94 1;
-#X connect 96 0 120 0;
-#X connect 97 0 96 0;
-#X connect 97 1 96 1;
-#X connect 99 0 103 0;
-#X connect 99 0 96 0;
-#X connect 100 0 104 0;
-#X connect 100 0 97 0;
-#X connect 101 0 105 0;
-#X connect 101 0 89 0;
-#X connect 102 0 106 0;
-#X connect 102 0 90 0;
-#X connect 103 0 99 0;
-#X connect 104 0 100 0;
-#X connect 105 0 101 0;
-#X connect 106 0 102 0;
-#X connect 107 0 113 0;
-#X connect 107 0 77 0;
-#X connect 108 0 114 0;
-#X connect 108 0 78 0;
-#X connect 109 0 117 0;
-#X connect 109 0 79 0;
-#X connect 110 0 118 0;
-#X connect 110 0 80 0;
-#X connect 111 0 115 0;
-#X connect 111 0 87 0;
-#X connect 112 0 116 0;
-#X connect 112 0 88 0;
-#X connect 113 0 107 0;
-#X connect 114 0 108 0;
-#X connect 115 0 111 0;
-#X connect 116 0 112 0;
-#X connect 117 0 109 0;
-#X connect 118 0 110 0;
-#X connect 119 0 98 0;
-#X connect 120 0 98 0;
-#X connect 121 0 98 0;
-#X connect 122 0 98 0;
-#X connect 123 0 98 0;
-#X connect 124 0 98 0;
-#X coords 0 -1 1 1 240 520 1 500 10;
+#N canvas 32 138 1230 634 10;
+#X obj 46 203 pix_texture;
+#X obj 55 113 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 46 78 alpha;
+#X obj 46 224 mesh_square 50 50;
+#N canvas 160 123 480 574 glsl 0;
+#X obj 78 179 glsl_vertex;
+#X msg 32 178 print;
+#X obj 78 466 glsl_program;
+#X obj 163 395 pack 0 0;
+#X msg 30 316 print;
+#X obj 163 351 change;
+#X obj 150 198 change;
+#X msg 163 419 link \$1 \$2;
+#X msg 32 460 print;
+#X obj 77 330 glsl_fragment;
+#X floatatom 163 375 2 0 0 0 ID - -;
+#X floatatom 150 221 2 0 0 0 ID - -;
+#X obj 181 440 print linking;
+#X obj 15 21 inlet;
+#X obj 78 502 outlet;
+#X obj 418 21 inlet;
+#X obj 15 44 route bang;
+#X obj 255 11 gemhead 1;
+#X msg 255 33 1;
+#X obj 255 57 change;
+#X obj 255 81 t b;
+#X obj 157 487 change;
+#X obj 157 508 t b;
+#X obj 158 530 outlet;
+#X obj 90 266 symbol;
+#X obj 90 241 t b;
+#X msg 287 438 0;
+#X obj 15 65 t b b b;
+#X msg 118 147 open nfp_33.vert;
+#X msg 91 292 open nfp_33.frag;
+#X connect 0 0 9 0;
+#X connect 0 1 6 0;
+#X connect 1 0 0 0;
+#X connect 2 0 14 0;
+#X connect 2 1 21 0;
+#X connect 3 0 7 0;
+#X connect 4 0 9 0;
+#X connect 5 0 10 0;
+#X connect 6 0 11 0;
+#X connect 6 0 25 0;
+#X connect 7 0 2 0;
+#X connect 7 0 12 0;
+#X connect 8 0 2 0;
+#X connect 9 0 2 0;
+#X connect 9 1 5 0;
+#X connect 10 0 3 0;
+#X connect 11 0 3 1;
+#X connect 13 0 16 0;
+#X connect 15 0 2 0;
+#X connect 16 0 27 0;
+#X connect 16 1 0 0;
+#X connect 17 0 18 0;
+#X connect 18 0 19 0;
+#X connect 19 0 20 0;
+#X connect 20 0 28 0;
+#X connect 21 0 22 0;
+#X connect 22 0 23 0;
+#X connect 24 0 29 0;
+#X connect 25 0 24 0;
+#X connect 26 0 21 0;
+#X connect 27 0 26 0;
+#X connect 27 1 10 0;
+#X connect 27 2 28 0;
+#X connect 28 0 0 0;
+#X connect 29 0 9 0;
+#X restore 46 130 pd glsl;
+#X obj 46 51 gemhead \$1;
+#X obj 501 216 cnv 15 238 130 empty empty empty 20 12 0 14 -233017
+-66577 0;
+#X text 522 219 Texture position (Pixel);
+#X obj 519 247 nbx 5 16 0 20000 0 0 empty empty x -10 7 0 12 -203904
+-1 -1 105 256;
+#X obj 519 267 nbx 5 16 0 20000 0 0 empty empty y -10 7 0 12 -203904
+-1 -1 13 256;
+#X obj 619 247 nbx 5 16 0 20000 0 0 empty empty x -10 7 0 12 -203904
+-1 -1 367 256;
+#X obj 619 267 nbx 5 16 0 20000 0 0 empty empty y -10 7 0 12 -203904
+-1 -1 0 256;
+#X obj 519 297 nbx 5 16 0 20000 0 0 empty empty x -10 7 0 12 -203904
+-1 -1 0 256;
+#X obj 519 317 nbx 5 16 0 20000 0 0 empty empty y -10 7 0 12 -203904
+-1 -1 227 256;
+#X obj 619 297 nbx 5 16 0 20000 0 0 empty empty x -10 7 0 12 -203904
+-1 -1 416 256;
+#X obj 619 317 nbx 5 16 0 20000 0 0 empty empty y -10 7 0 12 -203904
+-1 -1 265 256;
+#X obj 501 349 cnv 15 238 180 empty empty empty 20 12 0 14 -233017
+-66577 0;
+#X obj 608 370 vsl 15 63 1 0 0 0 empty empty top 18 6 0 10 -262130
+-1 -1 6200 1;
+#X obj 608 453 vsl 15 63 0 1 0 0 empty empty bottom 18 60 0 10 -262130
+-1 -1 0 1;
+#X obj 626 436 hsl 63 15 1 0 0 0 empty empty right 30 -8 0 10 -262130
+-1 -1 5686 1;
+#X obj 543 436 hsl 63 15 0 1 0 0 empty empty left 2 -8 0 10 -262130
+-1 -1 430 1;
+#X text 509 367 Shade size;
+#X obj 501 33 cnv 15 238 180 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 514 64 nbx 5 16 -1000 1000 0 0 empty empty x -10 7 0 12 -261234
+-1 -1 -1.16 256;
+#X obj 514 84 nbx 5 16 -1000 1000 0 0 empty empty y -10 7 0 12 -261234
+-1 -1 3.35 256;
+#X obj 675 64 nbx 5 16 -1000 1000 0 0 empty empty x -10 7 0 12 -261234
+-1 -1 1.31 256;
+#X obj 675 84 nbx 5 16 -1000 1000 0 0 empty empty y -10 7 0 12 -261234
+-1 -1 3.95 256;
+#X obj 514 164 nbx 5 16 -1000 1000 0 0 empty empty x -10 7 0 12 -261234
+-1 -1 -1.21 256;
+#X obj 514 184 nbx 5 16 -1000 1000 0 0 empty empty y -10 7 0 12 -261234
+-1 -1 -2.83 256;
+#X obj 675 164 nbx 5 16 -1000 1000 0 0 empty empty x -10 7 0 12 -261234
+-1 -1 1.52 256;
+#X obj 675 184 nbx 5 16 -1000 1000 0 0 empty empty y -10 7 0 12 -261234
+-1 -1 -3.37 256;
+#X text 522 36 Vertex position;
+#X obj 99 105 r \$0-glsl;
+#X obj 98 152 s \$0-init;
+#X obj 754 20 r \$0-init;
+#X obj 203 372 pack f f;
+#X obj 249 347 t b f;
+#X obj 309 373 pack f f;
+#X obj 355 348 t b f;
+#X obj 233 419 pack f f;
+#X obj 279 394 t b f;
+#X obj 339 420 pack f f;
+#X obj 385 395 t b f;
+#X msg 203 439 Ttl \$1 \$2;
+#X msg 309 441 Ttr \$1 \$2;
+#X msg 323 461 Tbr \$1 \$2;
+#X msg 216 459 Tbl \$1 \$2;
+#X obj 203 484 s \$0-glsl;
+#X msg 204 515 Sl \$1;
+#X msg 253 515 Sr \$1;
+#X msg 300 515 St \$1;
+#X msg 346 515 Sb \$1;
+#X obj 204 539 s \$0-glsl;
+#X obj 120 182 r nfp_fb;
+#X obj 806 61 saved VP_TL_X-\$1;
+#X obj 806 81 saved VP_TL_Y-\$1;
+#X obj 806 161 saved VP_BL_X-\$1;
+#X obj 806 181 saved VP_BL_Y-\$1;
+#X obj 1036 61 saved VP_TR_X-\$1;
+#X obj 1036 81 saved VP_TR_Y-\$1;
+#X obj 1036 161 saved VP_BR_X-\$1;
+#X obj 1036 181 saved VP_BR_Y-\$1;
+#X obj 756 247 saved TP_TL_X-\$1;
+#X obj 756 267 saved TP_TL_Y-\$1;
+#X obj 756 297 saved TP_BL_X-\$1;
+#X obj 756 317 saved TP_BL_Y-\$1;
+#X obj 866 247 saved TP_TR_X-\$1;
+#X obj 866 267 saved TP_TR_Y-\$1;
+#X obj 866 297 saved TP_BR_X-\$1;
+#X obj 866 317 saved TP_BR_Y-\$1;
+#X obj 758 420 saved Shade_L-\$1;
+#X obj 759 444 saved Shade_R-\$1;
+#X obj 755 384 saved Shade_T-\$1;
+#X obj 761 473 saved Shade_B-\$1;
+#X obj 754 216 r \$0-init;
+#X obj 754 356 r \$0-init;
+#X obj 106 131 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 185 118 pack f f;
+#X obj 231 93 t b f;
+#X obj 391 119 pack f f;
+#X obj 437 94 t b f;
+#X obj 215 168 pack f f;
+#X obj 261 143 t b f;
+#X obj 421 169 pack f f;
+#X obj 467 144 t b f;
+#X msg 405 268 Vbr \$1 \$2;
+#X msg 198 266 Vbl \$1 \$2;
+#X obj 289 119 pack f f;
+#X obj 335 94 t b f;
+#X obj 319 169 pack f f;
+#X obj 365 144 t b f;
+#X msg 303 268 Vbc \$1 \$2;
+#X obj 205 68 pack f f;
+#X obj 251 43 t b f;
+#X obj 411 69 pack f f;
+#X obj 457 44 t b f;
+#X obj 309 69 pack f f;
+#X obj 355 44 t b f;
+#X obj 185 301 s \$0-glsl;
+#X obj 594 64 nbx 5 16 -1000 1000 0 0 empty empty x -10 7 0 12 -261234
+-1 -1 0.00999991 256;
+#X obj 594 84 nbx 5 16 -1000 1000 0 0 empty empty y -10 7 0 12 -261234
+-1 -1 3.7 256;
+#X obj 594 164 nbx 5 16 -1000 1000 0 0 empty empty x -10 7 0 12 -261234
+-1 -1 0.2 256;
+#X obj 594 184 nbx 5 16 -1000 1000 0 0 empty empty y -10 7 0 12 -261234
+-1 -1 -3.96001 256;
+#X obj 916 61 saved VP_TC_X-\$1;
+#X obj 916 81 saved VP_TC_Y-\$1;
+#X obj 916 161 saved VP_BC_X-\$1;
+#X obj 916 181 saved VP_BC_Y-\$1;
+#X obj 514 114 nbx 5 16 -1000 1000 0 0 empty empty x -10 7 0 12 -261234
+-1 -1 -0.730001 256;
+#X obj 514 134 nbx 5 16 -1000 1000 0 0 empty empty y -10 7 0 12 -261234
+-1 -1 0.76 256;
+#X obj 675 114 nbx 5 16 -1000 1000 0 0 empty empty x -10 7 0 12 -261234
+-1 -1 1.79 256;
+#X obj 675 134 nbx 5 16 -1000 1000 0 0 empty empty y -10 7 0 12 -261234
+-1 -1 2.34 256;
+#X obj 594 114 nbx 5 16 -1000 1000 0 0 empty empty x -10 7 0 12 -261234
+-1 -1 0.55 256;
+#X obj 594 134 nbx 5 16 -1000 1000 0 0 empty empty y -10 7 0 12 -261234
+-1 -1 -0.35 256;
+#X obj 806 111 saved VP_CL_X-\$1;
+#X obj 806 131 saved VP_CL_Y-\$1;
+#X obj 916 111 saved VP_CC_X-\$1;
+#X obj 916 131 saved VP_CC_Y-\$1;
+#X obj 1036 111 saved VP_CR_X-\$1;
+#X obj 1036 131 saved VP_CR_Y-\$1;
+#X msg 195 206 Vtl \$1 \$2;
+#X msg 299 210 Vtc \$1 \$2;
+#X msg 401 210 Vtr \$1 \$2;
+#X msg 185 236 Vcl \$1 \$2;
+#X msg 289 240 Vcc \$1 \$2;
+#X msg 391 240 Vcr \$1 \$2;
+#X connect 0 0 3 0;
+#X connect 1 0 4 0;
+#X connect 2 0 4 0;
+#X connect 4 0 0 0;
+#X connect 4 1 33 0;
+#X connect 5 0 2 0;
+#X connect 8 0 62 0;
+#X connect 8 0 35 0;
+#X connect 9 0 63 0;
+#X connect 9 0 36 0;
+#X connect 10 0 66 0;
+#X connect 10 0 37 0;
+#X connect 11 0 67 0;
+#X connect 11 0 38 0;
+#X connect 12 0 64 0;
+#X connect 12 0 39 0;
+#X connect 13 0 65 0;
+#X connect 13 0 40 0;
+#X connect 14 0 68 0;
+#X connect 14 0 41 0;
+#X connect 15 0 69 0;
+#X connect 15 0 42 0;
+#X connect 17 0 72 0;
+#X connect 17 0 50 0;
+#X connect 18 0 73 0;
+#X connect 18 0 51 0;
+#X connect 19 0 71 0;
+#X connect 19 0 49 0;
+#X connect 20 0 70 0;
+#X connect 20 0 48 0;
+#X connect 23 0 54 0;
+#X connect 23 0 92 0;
+#X connect 24 0 55 0;
+#X connect 24 0 93 0;
+#X connect 25 0 58 0;
+#X connect 25 0 94 0;
+#X connect 26 0 59 0;
+#X connect 26 0 95 0;
+#X connect 27 0 56 0;
+#X connect 27 0 81 0;
+#X connect 28 0 57 0;
+#X connect 28 0 82 0;
+#X connect 29 0 60 0;
+#X connect 29 0 83 0;
+#X connect 30 0 61 0;
+#X connect 30 0 84 0;
+#X connect 32 0 4 1;
+#X connect 34 0 25 0;
+#X connect 34 0 26 0;
+#X connect 34 0 23 0;
+#X connect 34 0 24 0;
+#X connect 34 0 29 0;
+#X connect 34 0 30 0;
+#X connect 34 0 27 0;
+#X connect 34 0 28 0;
+#X connect 34 0 99 0;
+#X connect 34 0 100 0;
+#X connect 34 0 101 0;
+#X connect 34 0 102 0;
+#X connect 34 0 107 0;
+#X connect 34 0 108 0;
+#X connect 34 0 111 0;
+#X connect 34 0 112 0;
+#X connect 34 0 109 0;
+#X connect 34 0 110 0;
+#X connect 35 0 43 0;
+#X connect 36 0 35 0;
+#X connect 36 1 35 1;
+#X connect 37 0 44 0;
+#X connect 38 0 37 0;
+#X connect 38 1 37 1;
+#X connect 39 0 46 0;
+#X connect 40 0 39 0;
+#X connect 40 1 39 1;
+#X connect 41 0 45 0;
+#X connect 42 0 41 0;
+#X connect 42 1 41 1;
+#X connect 43 0 47 0;
+#X connect 44 0 47 0;
+#X connect 45 0 47 0;
+#X connect 46 0 47 0;
+#X connect 48 0 52 0;
+#X connect 49 0 52 0;
+#X connect 50 0 52 0;
+#X connect 51 0 52 0;
+#X connect 53 0 0 1;
+#X connect 54 0 23 0;
+#X connect 55 0 24 0;
+#X connect 56 0 27 0;
+#X connect 57 0 28 0;
+#X connect 58 0 25 0;
+#X connect 59 0 26 0;
+#X connect 60 0 29 0;
+#X connect 61 0 30 0;
+#X connect 62 0 8 0;
+#X connect 63 0 9 0;
+#X connect 64 0 12 0;
+#X connect 65 0 13 0;
+#X connect 66 0 10 0;
+#X connect 67 0 11 0;
+#X connect 68 0 14 0;
+#X connect 69 0 15 0;
+#X connect 70 0 20 0;
+#X connect 71 0 19 0;
+#X connect 72 0 17 0;
+#X connect 73 0 18 0;
+#X connect 74 0 8 0;
+#X connect 74 0 10 0;
+#X connect 74 0 9 0;
+#X connect 74 0 11 0;
+#X connect 74 0 12 0;
+#X connect 74 0 14 0;
+#X connect 74 0 13 0;
+#X connect 74 0 15 0;
+#X connect 75 0 17 0;
+#X connect 75 0 19 0;
+#X connect 75 0 20 0;
+#X connect 75 0 18 0;
+#X connect 76 0 33 0;
+#X connect 77 0 122 0;
+#X connect 78 0 77 0;
+#X connect 78 1 77 1;
+#X connect 79 0 124 0;
+#X connect 80 0 79 0;
+#X connect 80 1 79 1;
+#X connect 81 0 86 0;
+#X connect 82 0 81 0;
+#X connect 82 1 81 1;
+#X connect 83 0 85 0;
+#X connect 84 0 83 0;
+#X connect 84 1 83 1;
+#X connect 85 0 98 0;
+#X connect 86 0 98 0;
+#X connect 87 0 123 0;
+#X connect 88 0 87 0;
+#X connect 88 1 87 1;
+#X connect 89 0 91 0;
+#X connect 90 0 89 0;
+#X connect 90 1 89 1;
+#X connect 91 0 98 0;
+#X connect 92 0 119 0;
+#X connect 93 0 92 0;
+#X connect 93 1 92 1;
+#X connect 94 0 121 0;
+#X connect 95 0 94 0;
+#X connect 95 1 94 1;
+#X connect 96 0 120 0;
+#X connect 97 0 96 0;
+#X connect 97 1 96 1;
+#X connect 99 0 103 0;
+#X connect 99 0 96 0;
+#X connect 100 0 104 0;
+#X connect 100 0 97 0;
+#X connect 101 0 105 0;
+#X connect 101 0 89 0;
+#X connect 102 0 106 0;
+#X connect 102 0 90 0;
+#X connect 103 0 99 0;
+#X connect 104 0 100 0;
+#X connect 105 0 101 0;
+#X connect 106 0 102 0;
+#X connect 107 0 113 0;
+#X connect 107 0 77 0;
+#X connect 108 0 114 0;
+#X connect 108 0 78 0;
+#X connect 109 0 117 0;
+#X connect 109 0 79 0;
+#X connect 110 0 118 0;
+#X connect 110 0 80 0;
+#X connect 111 0 115 0;
+#X connect 111 0 87 0;
+#X connect 112 0 116 0;
+#X connect 112 0 88 0;
+#X connect 113 0 107 0;
+#X connect 114 0 108 0;
+#X connect 115 0 111 0;
+#X connect 116 0 112 0;
+#X connect 117 0 109 0;
+#X connect 118 0 110 0;
+#X connect 119 0 98 0;
+#X connect 120 0 98 0;
+#X connect 121 0 98 0;
+#X connect 122 0 98 0;
+#X connect 123 0 98 0;
+#X connect 124 0 98 0;
+#X coords 0 -1 1 1 240 520 1 500 10;
diff --git a/packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/nfp_flat_wall.pd b/packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/nfp_flat_wall.pd
index d3a9146a..be2f694c 100644
--- a/packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/nfp_flat_wall.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/nfp_flat_wall.pd
@@ -1,313 +1,313 @@
-#N canvas 329 146 948 576 10;
-#X obj 46 203 pix_texture;
-#X obj 55 113 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
--1;
-#X obj 46 78 alpha;
-#X obj 46 224 mesh_square 50 50;
-#N canvas 162 116 480 574 glsl 0;
-#X obj 78 179 glsl_vertex;
-#X msg 32 178 print;
-#X obj 78 466 glsl_program;
-#X obj 163 395 pack 0 0;
-#X msg 30 316 print;
-#X obj 163 351 change;
-#X obj 150 198 change;
-#X msg 163 419 link \$1 \$2;
-#X msg 32 460 print;
-#X obj 77 330 glsl_fragment;
-#X floatatom 163 375 2 0 0 0 ID - -;
-#X floatatom 150 221 2 0 0 0 ID - -;
-#X obj 181 440 print linking;
-#X obj 15 21 inlet;
-#X obj 78 502 outlet;
-#X obj 418 21 inlet;
-#X obj 15 44 route bang;
-#X obj 255 11 gemhead 1;
-#X msg 255 33 1;
-#X obj 255 57 change;
-#X obj 255 81 t b;
-#X obj 157 487 change;
-#X obj 157 508 t b;
-#X obj 158 530 outlet;
-#X obj 90 266 symbol;
-#X obj 90 241 t b;
-#X msg 287 438 0;
-#X obj 15 65 t b b b;
-#X msg 118 147 open nfp_22.vert;
-#X msg 90 293 open nfp_22.frag;
-#X connect 0 0 9 0;
-#X connect 0 1 6 0;
-#X connect 1 0 0 0;
-#X connect 2 0 14 0;
-#X connect 2 1 21 0;
-#X connect 3 0 7 0;
-#X connect 4 0 9 0;
-#X connect 5 0 10 0;
-#X connect 6 0 11 0;
-#X connect 6 0 25 0;
-#X connect 7 0 2 0;
-#X connect 7 0 12 0;
-#X connect 8 0 2 0;
-#X connect 9 0 2 0;
-#X connect 9 1 5 0;
-#X connect 10 0 3 0;
-#X connect 11 0 3 1;
-#X connect 13 0 16 0;
-#X connect 15 0 2 0;
-#X connect 16 0 27 0;
-#X connect 16 1 0 0;
-#X connect 17 0 18 0;
-#X connect 18 0 19 0;
-#X connect 19 0 20 0;
-#X connect 20 0 28 0;
-#X connect 21 0 22 0;
-#X connect 22 0 23 0;
-#X connect 24 0 29 0;
-#X connect 25 0 24 0;
-#X connect 26 0 21 0;
-#X connect 27 0 26 0;
-#X connect 27 1 10 0;
-#X connect 27 2 28 0;
-#X connect 28 0 0 0;
-#X connect 29 0 9 0;
-#X restore 46 130 pd glsl;
-#X obj 46 51 gemhead \$1;
-#X obj 501 166 cnv 15 198 130 empty empty empty 20 12 0 14 -233017
--66577 0;
-#X text 522 169 Texture position (Pixel);
-#X obj 519 197 nbx 5 16 0 20000 0 0 empty empty x -10 7 0 12 -203904
--1 -1 12 256;
-#X obj 519 217 nbx 5 16 0 20000 0 0 empty empty y -10 7 0 12 -203904
--1 -1 13 256;
-#X obj 619 197 nbx 5 16 0 20000 0 0 empty empty x -10 7 0 12 -203904
--1 -1 316 256;
-#X obj 619 217 nbx 5 16 0 20000 0 0 empty empty y -10 7 0 12 -203904
--1 -1 11 256;
-#X obj 519 247 nbx 5 16 0 20000 0 0 empty empty x -10 7 0 12 -203904
--1 -1 16 256;
-#X obj 519 267 nbx 5 16 0 20000 0 0 empty empty y -10 7 0 12 -203904
--1 -1 181 256;
-#X obj 619 247 nbx 5 16 0 20000 0 0 empty empty x -10 7 0 12 -203904
--1 -1 307 256;
-#X obj 619 267 nbx 5 16 0 20000 0 0 empty empty y -10 7 0 12 -203904
--1 -1 195 256;
-#X obj 501 299 cnv 15 198 180 empty empty empty 20 12 0 14 -233017
--66577 0;
-#X obj 608 320 vsl 15 63 1 0 0 0 empty empty top 18 6 0 10 -262130
--1 -1 0 1;
-#X obj 608 403 vsl 15 63 0 1 0 0 empty empty bottom 18 60 0 10 -262130
--1 -1 0 1;
-#X obj 626 386 hsl 63 15 1 0 0 0 empty empty right 30 -8 0 10 -262130
--1 -1 0 1;
-#X obj 543 386 hsl 63 15 0 1 0 0 empty empty left 2 -8 0 10 -262130
--1 -1 0 1;
-#X text 509 317 Shade size;
-#X obj 501 33 cnv 15 198 130 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 519 64 nbx 5 16 -1000 1000 0 0 empty empty x -10 7 0 12 -261234
--1 -1 -3.66001 256;
-#X obj 519 84 nbx 5 16 -1000 1000 0 0 empty empty y -10 7 0 12 -261234
--1 -1 1.52 256;
-#X obj 619 64 nbx 5 16 -1000 1000 0 0 empty empty x -10 7 0 12 -261234
--1 -1 0.62 256;
-#X obj 619 84 nbx 5 16 -1000 1000 0 0 empty empty y -10 7 0 12 -261234
--1 -1 1.92 256;
-#X obj 519 114 nbx 5 16 -1000 1000 0 0 empty empty x -10 7 0 12 -261234
--1 -1 -2.9 256;
-#X obj 519 134 nbx 5 16 -1000 1000 0 0 empty empty y -10 7 0 12 -261234
--1 -1 -1.61 256;
-#X obj 619 114 nbx 5 16 -1000 1000 0 0 empty empty x -10 7 0 12 -261234
--1 -1 0.49 256;
-#X obj 619 134 nbx 5 16 -1000 1000 0 0 empty empty y -10 7 0 12 -261234
--1 -1 -1.69 256;
-#X text 522 36 Vertex position;
-#X obj 201 206 pack f f;
-#X obj 247 181 t b f;
-#X obj 307 207 pack f f;
-#X obj 353 182 t b f;
-#X obj 231 256 pack f f;
-#X obj 277 231 t b f;
-#X obj 337 257 pack f f;
-#X obj 383 232 t b f;
-#X msg 201 277 Vtl \$1 \$2;
-#X msg 337 299 Vbr \$1 \$2;
-#X msg 230 297 Vbl \$1 \$2;
-#X msg 307 279 Vtr \$1 \$2;
-#X obj 99 105 r \$0-glsl;
-#X obj 98 152 s \$0-init;
-#X obj 704 36 r \$0-init;
-#X obj 203 372 pack f f;
-#X obj 249 347 t b f;
-#X obj 309 373 pack f f;
-#X obj 355 348 t b f;
-#X obj 233 419 pack f f;
-#X obj 279 394 t b f;
-#X obj 339 420 pack f f;
-#X obj 385 395 t b f;
-#X msg 203 439 Ttl \$1 \$2;
-#X msg 309 441 Ttr \$1 \$2;
-#X msg 323 461 Tbr \$1 \$2;
-#X msg 216 459 Tbl \$1 \$2;
-#X obj 201 325 s \$0-glsl;
-#X obj 203 484 s \$0-glsl;
-#X msg 204 515 Sl \$1;
-#X msg 253 515 Sr \$1;
-#X msg 300 515 St \$1;
-#X msg 346 515 Sb \$1;
-#X obj 204 539 s \$0-glsl;
-#X obj 120 182 r nfp_fb;
-#X obj 706 61 saved VP_TL_X-\$1;
-#X obj 706 81 saved VP_TL_Y-\$1;
-#X obj 706 111 saved VP_BL_X-\$1;
-#X obj 706 131 saved VP_BL_Y-\$1;
-#X obj 816 61 saved VP_TR_X-\$1;
-#X obj 816 81 saved VP_TR_Y-\$1;
-#X obj 816 111 saved VP_BR_X-\$1;
-#X obj 816 131 saved VP_BR_Y-\$1;
-#X obj 706 197 saved TP_TL_X-\$1;
-#X obj 706 217 saved TP_TL_Y-\$1;
-#X obj 706 247 saved TP_BL_X-\$1;
-#X obj 706 267 saved TP_BL_Y-\$1;
-#X obj 816 197 saved TP_TR_X-\$1;
-#X obj 816 217 saved TP_TR_Y-\$1;
-#X obj 816 247 saved TP_BR_X-\$1;
-#X obj 816 267 saved TP_BR_Y-\$1;
-#X obj 708 370 saved Shade_L-\$1;
-#X obj 709 394 saved Shade_R-\$1;
-#X obj 705 334 saved Shade_T-\$1;
-#X obj 711 423 saved Shade_B-\$1;
-#X obj 704 166 r \$0-init;
-#X obj 704 306 r \$0-init;
-#X obj 106 131 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
--1 -1;
-#X obj 226 44 r \$0-init;
-#X obj 226 85 s \$0-glsl;
-#X msg 226 65 center 1 1;
-#X connect 0 0 3 0;
-#X connect 1 0 4 0;
-#X connect 2 0 4 0;
-#X connect 4 0 0 0;
-#X connect 4 1 45 0;
-#X connect 5 0 2 0;
-#X connect 8 0 75 0;
-#X connect 8 0 47 0;
-#X connect 9 0 76 0;
-#X connect 9 0 48 0;
-#X connect 10 0 79 0;
-#X connect 10 0 49 0;
-#X connect 11 0 80 0;
-#X connect 11 0 50 0;
-#X connect 12 0 77 0;
-#X connect 12 0 51 0;
-#X connect 13 0 78 0;
-#X connect 13 0 52 0;
-#X connect 14 0 81 0;
-#X connect 14 0 53 0;
-#X connect 15 0 82 0;
-#X connect 15 0 54 0;
-#X connect 17 0 85 0;
-#X connect 17 0 63 0;
-#X connect 18 0 86 0;
-#X connect 18 0 64 0;
-#X connect 19 0 84 0;
-#X connect 19 0 62 0;
-#X connect 20 0 83 0;
-#X connect 20 0 61 0;
-#X connect 23 0 32 0;
-#X connect 23 0 67 0;
-#X connect 24 0 33 0;
-#X connect 24 0 68 0;
-#X connect 25 0 34 0;
-#X connect 25 0 71 0;
-#X connect 26 0 35 0;
-#X connect 26 0 72 0;
-#X connect 27 0 36 0;
-#X connect 27 0 69 0;
-#X connect 28 0 37 0;
-#X connect 28 0 70 0;
-#X connect 29 0 38 0;
-#X connect 29 0 73 0;
-#X connect 30 0 39 0;
-#X connect 30 0 74 0;
-#X connect 32 0 40 0;
-#X connect 33 0 32 0;
-#X connect 33 1 32 1;
-#X connect 34 0 43 0;
-#X connect 35 0 34 0;
-#X connect 35 1 34 1;
-#X connect 36 0 42 0;
-#X connect 37 0 36 0;
-#X connect 37 1 36 1;
-#X connect 38 0 41 0;
-#X connect 39 0 38 0;
-#X connect 39 1 38 1;
-#X connect 40 0 59 0;
-#X connect 41 0 59 0;
-#X connect 42 0 59 0;
-#X connect 43 0 59 0;
-#X connect 44 0 4 1;
-#X connect 46 0 25 0;
-#X connect 46 0 26 0;
-#X connect 46 0 23 0;
-#X connect 46 0 24 0;
-#X connect 46 0 29 0;
-#X connect 46 0 30 0;
-#X connect 46 0 27 0;
-#X connect 46 0 28 0;
-#X connect 47 0 55 0;
-#X connect 48 0 47 0;
-#X connect 48 1 47 1;
-#X connect 49 0 56 0;
-#X connect 50 0 49 0;
-#X connect 50 1 49 1;
-#X connect 51 0 58 0;
-#X connect 52 0 51 0;
-#X connect 52 1 51 1;
-#X connect 53 0 57 0;
-#X connect 54 0 53 0;
-#X connect 54 1 53 1;
-#X connect 55 0 60 0;
-#X connect 56 0 60 0;
-#X connect 57 0 60 0;
-#X connect 58 0 60 0;
-#X connect 61 0 65 0;
-#X connect 62 0 65 0;
-#X connect 63 0 65 0;
-#X connect 64 0 65 0;
-#X connect 66 0 0 1;
-#X connect 67 0 23 0;
-#X connect 68 0 24 0;
-#X connect 69 0 27 0;
-#X connect 70 0 28 0;
-#X connect 71 0 25 0;
-#X connect 72 0 26 0;
-#X connect 73 0 29 0;
-#X connect 74 0 30 0;
-#X connect 75 0 8 0;
-#X connect 76 0 9 0;
-#X connect 77 0 12 0;
-#X connect 78 0 13 0;
-#X connect 79 0 10 0;
-#X connect 80 0 11 0;
-#X connect 81 0 14 0;
-#X connect 82 0 15 0;
-#X connect 83 0 20 0;
-#X connect 84 0 19 0;
-#X connect 85 0 17 0;
-#X connect 86 0 18 0;
-#X connect 87 0 8 0;
-#X connect 87 0 10 0;
-#X connect 87 0 9 0;
-#X connect 87 0 11 0;
-#X connect 87 0 12 0;
-#X connect 87 0 14 0;
-#X connect 87 0 13 0;
-#X connect 87 0 15 0;
-#X connect 88 0 17 0;
-#X connect 88 0 19 0;
-#X connect 88 0 20 0;
-#X connect 88 0 18 0;
-#X connect 89 0 45 0;
-#X connect 90 0 92 0;
-#X connect 92 0 91 0;
-#X coords 0 -1 1 1 200 470 1 500 10;
+#N canvas 329 146 948 576 10;
+#X obj 46 203 pix_texture;
+#X obj 55 113 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 46 78 alpha;
+#X obj 46 224 mesh_square 50 50;
+#N canvas 162 116 480 574 glsl 0;
+#X obj 78 179 glsl_vertex;
+#X msg 32 178 print;
+#X obj 78 466 glsl_program;
+#X obj 163 395 pack 0 0;
+#X msg 30 316 print;
+#X obj 163 351 change;
+#X obj 150 198 change;
+#X msg 163 419 link \$1 \$2;
+#X msg 32 460 print;
+#X obj 77 330 glsl_fragment;
+#X floatatom 163 375 2 0 0 0 ID - -;
+#X floatatom 150 221 2 0 0 0 ID - -;
+#X obj 181 440 print linking;
+#X obj 15 21 inlet;
+#X obj 78 502 outlet;
+#X obj 418 21 inlet;
+#X obj 15 44 route bang;
+#X obj 255 11 gemhead 1;
+#X msg 255 33 1;
+#X obj 255 57 change;
+#X obj 255 81 t b;
+#X obj 157 487 change;
+#X obj 157 508 t b;
+#X obj 158 530 outlet;
+#X obj 90 266 symbol;
+#X obj 90 241 t b;
+#X msg 287 438 0;
+#X obj 15 65 t b b b;
+#X msg 118 147 open nfp_22.vert;
+#X msg 90 293 open nfp_22.frag;
+#X connect 0 0 9 0;
+#X connect 0 1 6 0;
+#X connect 1 0 0 0;
+#X connect 2 0 14 0;
+#X connect 2 1 21 0;
+#X connect 3 0 7 0;
+#X connect 4 0 9 0;
+#X connect 5 0 10 0;
+#X connect 6 0 11 0;
+#X connect 6 0 25 0;
+#X connect 7 0 2 0;
+#X connect 7 0 12 0;
+#X connect 8 0 2 0;
+#X connect 9 0 2 0;
+#X connect 9 1 5 0;
+#X connect 10 0 3 0;
+#X connect 11 0 3 1;
+#X connect 13 0 16 0;
+#X connect 15 0 2 0;
+#X connect 16 0 27 0;
+#X connect 16 1 0 0;
+#X connect 17 0 18 0;
+#X connect 18 0 19 0;
+#X connect 19 0 20 0;
+#X connect 20 0 28 0;
+#X connect 21 0 22 0;
+#X connect 22 0 23 0;
+#X connect 24 0 29 0;
+#X connect 25 0 24 0;
+#X connect 26 0 21 0;
+#X connect 27 0 26 0;
+#X connect 27 1 10 0;
+#X connect 27 2 28 0;
+#X connect 28 0 0 0;
+#X connect 29 0 9 0;
+#X restore 46 130 pd glsl;
+#X obj 46 51 gemhead \$1;
+#X obj 501 166 cnv 15 198 130 empty empty empty 20 12 0 14 -233017
+-66577 0;
+#X text 522 169 Texture position (Pixel);
+#X obj 519 197 nbx 5 16 0 20000 0 0 empty empty x -10 7 0 12 -203904
+-1 -1 12 256;
+#X obj 519 217 nbx 5 16 0 20000 0 0 empty empty y -10 7 0 12 -203904
+-1 -1 13 256;
+#X obj 619 197 nbx 5 16 0 20000 0 0 empty empty x -10 7 0 12 -203904
+-1 -1 316 256;
+#X obj 619 217 nbx 5 16 0 20000 0 0 empty empty y -10 7 0 12 -203904
+-1 -1 11 256;
+#X obj 519 247 nbx 5 16 0 20000 0 0 empty empty x -10 7 0 12 -203904
+-1 -1 16 256;
+#X obj 519 267 nbx 5 16 0 20000 0 0 empty empty y -10 7 0 12 -203904
+-1 -1 181 256;
+#X obj 619 247 nbx 5 16 0 20000 0 0 empty empty x -10 7 0 12 -203904
+-1 -1 307 256;
+#X obj 619 267 nbx 5 16 0 20000 0 0 empty empty y -10 7 0 12 -203904
+-1 -1 195 256;
+#X obj 501 299 cnv 15 198 180 empty empty empty 20 12 0 14 -233017
+-66577 0;
+#X obj 608 320 vsl 15 63 1 0 0 0 empty empty top 18 6 0 10 -262130
+-1 -1 0 1;
+#X obj 608 403 vsl 15 63 0 1 0 0 empty empty bottom 18 60 0 10 -262130
+-1 -1 0 1;
+#X obj 626 386 hsl 63 15 1 0 0 0 empty empty right 30 -8 0 10 -262130
+-1 -1 0 1;
+#X obj 543 386 hsl 63 15 0 1 0 0 empty empty left 2 -8 0 10 -262130
+-1 -1 0 1;
+#X text 509 317 Shade size;
+#X obj 501 33 cnv 15 198 130 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 519 64 nbx 5 16 -1000 1000 0 0 empty empty x -10 7 0 12 -261234
+-1 -1 -3.66001 256;
+#X obj 519 84 nbx 5 16 -1000 1000 0 0 empty empty y -10 7 0 12 -261234
+-1 -1 1.52 256;
+#X obj 619 64 nbx 5 16 -1000 1000 0 0 empty empty x -10 7 0 12 -261234
+-1 -1 0.62 256;
+#X obj 619 84 nbx 5 16 -1000 1000 0 0 empty empty y -10 7 0 12 -261234
+-1 -1 1.92 256;
+#X obj 519 114 nbx 5 16 -1000 1000 0 0 empty empty x -10 7 0 12 -261234
+-1 -1 -2.9 256;
+#X obj 519 134 nbx 5 16 -1000 1000 0 0 empty empty y -10 7 0 12 -261234
+-1 -1 -1.61 256;
+#X obj 619 114 nbx 5 16 -1000 1000 0 0 empty empty x -10 7 0 12 -261234
+-1 -1 0.49 256;
+#X obj 619 134 nbx 5 16 -1000 1000 0 0 empty empty y -10 7 0 12 -261234
+-1 -1 -1.69 256;
+#X text 522 36 Vertex position;
+#X obj 201 206 pack f f;
+#X obj 247 181 t b f;
+#X obj 307 207 pack f f;
+#X obj 353 182 t b f;
+#X obj 231 256 pack f f;
+#X obj 277 231 t b f;
+#X obj 337 257 pack f f;
+#X obj 383 232 t b f;
+#X msg 201 277 Vtl \$1 \$2;
+#X msg 337 299 Vbr \$1 \$2;
+#X msg 230 297 Vbl \$1 \$2;
+#X msg 307 279 Vtr \$1 \$2;
+#X obj 99 105 r \$0-glsl;
+#X obj 98 152 s \$0-init;
+#X obj 704 36 r \$0-init;
+#X obj 203 372 pack f f;
+#X obj 249 347 t b f;
+#X obj 309 373 pack f f;
+#X obj 355 348 t b f;
+#X obj 233 419 pack f f;
+#X obj 279 394 t b f;
+#X obj 339 420 pack f f;
+#X obj 385 395 t b f;
+#X msg 203 439 Ttl \$1 \$2;
+#X msg 309 441 Ttr \$1 \$2;
+#X msg 323 461 Tbr \$1 \$2;
+#X msg 216 459 Tbl \$1 \$2;
+#X obj 201 325 s \$0-glsl;
+#X obj 203 484 s \$0-glsl;
+#X msg 204 515 Sl \$1;
+#X msg 253 515 Sr \$1;
+#X msg 300 515 St \$1;
+#X msg 346 515 Sb \$1;
+#X obj 204 539 s \$0-glsl;
+#X obj 120 182 r nfp_fb;
+#X obj 706 61 saved VP_TL_X-\$1;
+#X obj 706 81 saved VP_TL_Y-\$1;
+#X obj 706 111 saved VP_BL_X-\$1;
+#X obj 706 131 saved VP_BL_Y-\$1;
+#X obj 816 61 saved VP_TR_X-\$1;
+#X obj 816 81 saved VP_TR_Y-\$1;
+#X obj 816 111 saved VP_BR_X-\$1;
+#X obj 816 131 saved VP_BR_Y-\$1;
+#X obj 706 197 saved TP_TL_X-\$1;
+#X obj 706 217 saved TP_TL_Y-\$1;
+#X obj 706 247 saved TP_BL_X-\$1;
+#X obj 706 267 saved TP_BL_Y-\$1;
+#X obj 816 197 saved TP_TR_X-\$1;
+#X obj 816 217 saved TP_TR_Y-\$1;
+#X obj 816 247 saved TP_BR_X-\$1;
+#X obj 816 267 saved TP_BR_Y-\$1;
+#X obj 708 370 saved Shade_L-\$1;
+#X obj 709 394 saved Shade_R-\$1;
+#X obj 705 334 saved Shade_T-\$1;
+#X obj 711 423 saved Shade_B-\$1;
+#X obj 704 166 r \$0-init;
+#X obj 704 306 r \$0-init;
+#X obj 106 131 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 226 44 r \$0-init;
+#X obj 226 85 s \$0-glsl;
+#X msg 226 65 center 1 1;
+#X connect 0 0 3 0;
+#X connect 1 0 4 0;
+#X connect 2 0 4 0;
+#X connect 4 0 0 0;
+#X connect 4 1 45 0;
+#X connect 5 0 2 0;
+#X connect 8 0 75 0;
+#X connect 8 0 47 0;
+#X connect 9 0 76 0;
+#X connect 9 0 48 0;
+#X connect 10 0 79 0;
+#X connect 10 0 49 0;
+#X connect 11 0 80 0;
+#X connect 11 0 50 0;
+#X connect 12 0 77 0;
+#X connect 12 0 51 0;
+#X connect 13 0 78 0;
+#X connect 13 0 52 0;
+#X connect 14 0 81 0;
+#X connect 14 0 53 0;
+#X connect 15 0 82 0;
+#X connect 15 0 54 0;
+#X connect 17 0 85 0;
+#X connect 17 0 63 0;
+#X connect 18 0 86 0;
+#X connect 18 0 64 0;
+#X connect 19 0 84 0;
+#X connect 19 0 62 0;
+#X connect 20 0 83 0;
+#X connect 20 0 61 0;
+#X connect 23 0 32 0;
+#X connect 23 0 67 0;
+#X connect 24 0 33 0;
+#X connect 24 0 68 0;
+#X connect 25 0 34 0;
+#X connect 25 0 71 0;
+#X connect 26 0 35 0;
+#X connect 26 0 72 0;
+#X connect 27 0 36 0;
+#X connect 27 0 69 0;
+#X connect 28 0 37 0;
+#X connect 28 0 70 0;
+#X connect 29 0 38 0;
+#X connect 29 0 73 0;
+#X connect 30 0 39 0;
+#X connect 30 0 74 0;
+#X connect 32 0 40 0;
+#X connect 33 0 32 0;
+#X connect 33 1 32 1;
+#X connect 34 0 43 0;
+#X connect 35 0 34 0;
+#X connect 35 1 34 1;
+#X connect 36 0 42 0;
+#X connect 37 0 36 0;
+#X connect 37 1 36 1;
+#X connect 38 0 41 0;
+#X connect 39 0 38 0;
+#X connect 39 1 38 1;
+#X connect 40 0 59 0;
+#X connect 41 0 59 0;
+#X connect 42 0 59 0;
+#X connect 43 0 59 0;
+#X connect 44 0 4 1;
+#X connect 46 0 25 0;
+#X connect 46 0 26 0;
+#X connect 46 0 23 0;
+#X connect 46 0 24 0;
+#X connect 46 0 29 0;
+#X connect 46 0 30 0;
+#X connect 46 0 27 0;
+#X connect 46 0 28 0;
+#X connect 47 0 55 0;
+#X connect 48 0 47 0;
+#X connect 48 1 47 1;
+#X connect 49 0 56 0;
+#X connect 50 0 49 0;
+#X connect 50 1 49 1;
+#X connect 51 0 58 0;
+#X connect 52 0 51 0;
+#X connect 52 1 51 1;
+#X connect 53 0 57 0;
+#X connect 54 0 53 0;
+#X connect 54 1 53 1;
+#X connect 55 0 60 0;
+#X connect 56 0 60 0;
+#X connect 57 0 60 0;
+#X connect 58 0 60 0;
+#X connect 61 0 65 0;
+#X connect 62 0 65 0;
+#X connect 63 0 65 0;
+#X connect 64 0 65 0;
+#X connect 66 0 0 1;
+#X connect 67 0 23 0;
+#X connect 68 0 24 0;
+#X connect 69 0 27 0;
+#X connect 70 0 28 0;
+#X connect 71 0 25 0;
+#X connect 72 0 26 0;
+#X connect 73 0 29 0;
+#X connect 74 0 30 0;
+#X connect 75 0 8 0;
+#X connect 76 0 9 0;
+#X connect 77 0 12 0;
+#X connect 78 0 13 0;
+#X connect 79 0 10 0;
+#X connect 80 0 11 0;
+#X connect 81 0 14 0;
+#X connect 82 0 15 0;
+#X connect 83 0 20 0;
+#X connect 84 0 19 0;
+#X connect 85 0 17 0;
+#X connect 86 0 18 0;
+#X connect 87 0 8 0;
+#X connect 87 0 10 0;
+#X connect 87 0 9 0;
+#X connect 87 0 11 0;
+#X connect 87 0 12 0;
+#X connect 87 0 14 0;
+#X connect 87 0 13 0;
+#X connect 87 0 15 0;
+#X connect 88 0 17 0;
+#X connect 88 0 19 0;
+#X connect 88 0 20 0;
+#X connect 88 0 18 0;
+#X connect 89 0 45 0;
+#X connect 90 0 92 0;
+#X connect 92 0 91 0;
+#X coords 0 -1 1 1 200 470 1 500 10;
diff --git a/packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/save_system-help.pd b/packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/save_system-help.pd
index 9345cbea..e0af128a 100644
--- a/packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/save_system-help.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/save_system-help.pd
@@ -1,20 +1,20 @@
-#N canvas 219 286 450 300 10;
-#X obj 19 67 load_save;
-#X obj 19 9 loadbang;
-#X obj 27 47 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
--1;
-#X obj 84 47 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
--1;
-#X floatatom 277 88 5 0 0 0 - - -;
-#X floatatom 277 108 5 0 0 0 - - -;
-#X obj 171 86 saved data1;
-#X obj 171 106 saved data2;
-#X text 103 48 save;
-#X text 43 49 load;
-#X connect 1 0 0 0;
-#X connect 2 0 0 0;
-#X connect 3 0 0 1;
-#X connect 4 0 6 0;
-#X connect 5 0 7 0;
-#X connect 6 0 4 0;
-#X connect 7 0 5 0;
+#N canvas 219 286 450 300 10;
+#X obj 19 67 load_save;
+#X obj 19 9 loadbang;
+#X obj 27 47 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 84 47 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X floatatom 277 88 5 0 0 0 - - -;
+#X floatatom 277 108 5 0 0 0 - - -;
+#X obj 171 86 saved data1;
+#X obj 171 106 saved data2;
+#X text 103 48 save;
+#X text 43 49 load;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 1;
+#X connect 4 0 6 0;
+#X connect 5 0 7 0;
+#X connect 6 0 4 0;
+#X connect 7 0 5 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/saved.pd b/packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/saved.pd
index 499c0bd9..08f6462a 100644
--- a/packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/saved.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/saved.pd
@@ -1,24 +1,24 @@
-#N canvas 545 325 474 372 10;
-#X obj 268 0 t b;
-#X obj 53 124 f;
-#X obj 268 220 f;
-#X obj 53 -21 inlet;
-#X obj 53 284 outlet;
-#X obj 268 266 list trim;
-#X obj 268 247 list prepend \$1;
-#X obj 268 285 s save_system_data;
-#X obj 268 -26 r save_system_save;
-#X obj 105 10 r save_system_saved;
-#X obj 105 36 route \$1;
-#X msg 53 263 set \$1;
-#X connect 0 0 2 0;
-#X connect 1 0 2 1;
-#X connect 1 0 11 0;
-#X connect 2 0 6 0;
-#X connect 3 0 1 0;
-#X connect 5 0 7 0;
-#X connect 6 0 5 0;
-#X connect 8 0 0 0;
-#X connect 9 0 10 0;
-#X connect 10 0 1 0;
-#X connect 11 0 4 0;
+#N canvas 545 325 474 372 10;
+#X obj 268 0 t b;
+#X obj 53 124 f;
+#X obj 268 220 f;
+#X obj 53 -21 inlet;
+#X obj 53 284 outlet;
+#X obj 268 266 list trim;
+#X obj 268 247 list prepend \$1;
+#X obj 268 285 s save_system_data;
+#X obj 268 -26 r save_system_save;
+#X obj 105 10 r save_system_saved;
+#X obj 105 36 route \$1;
+#X msg 53 263 set \$1;
+#X connect 0 0 2 0;
+#X connect 1 0 2 1;
+#X connect 1 0 11 0;
+#X connect 2 0 6 0;
+#X connect 3 0 1 0;
+#X connect 5 0 7 0;
+#X connect 6 0 5 0;
+#X connect 8 0 0 0;
+#X connect 9 0 10 0;
+#X connect 10 0 1 0;
+#X connect 11 0 4 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/soft_edge.frag b/packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/soft_edge.frag
index 43a8e6bd..dbc7e970 100644
--- a/packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/soft_edge.frag
+++ b/packages/noncvs/windows/extra/Gem/examples/12.multi_screen_projection/soft_edge.frag
@@ -1,59 +1,59 @@
-// Cyrille Henry 2010
-
-//#extension GL_ARB_texture_rectangle : enable
-//uniform sampler2DRect MyTex;
-uniform sampler2D MyTex;
-uniform vec2 overlap, geometry_screen, geometry_computer;
-
-void main (void)
-{
-// FSAA
-
-// change coord from computer matrix to screen matrice
- vec2 coord = (gl_TextureMatrix[0] * gl_TexCoord[0]).st;
- vec2 pos_new = coord;
- pos_new *= geometry_computer;
- float screen_num = floor(pos_new.x)+floor(pos_new.y)*geometry_computer.x; // number of the screen
- pos_new = fract(pos_new); // coord in 1 screen (from 0 to 1)
- pos_new.x += fract(screen_num/geometry_screen.x)*geometry_screen.x;
- pos_new.y += floor(screen_num/geometry_screen.x);
- pos_new /= geometry_screen;
-
-// compute position regarding to the overlap
- vec2 pos = pos_new;
- pos *= geometry_screen;
-
- vec2 pos_over = fract(pos);
- pos_over *= overlap;
- pos_over -= overlap/2.;
- pos += pos_over;
- pos += overlap/2.;
- pos /= geometry_screen + overlap;
- vec4 color = texture2D(MyTex, pos);
-
-// compute fade on Top and Right
- vec2 black = pos_new;
- black *= geometry_screen;
- black = fract(black);
- black *= vec2(1.)+overlap;
- black -= 1.;
- black = max(black,0.)/max(overlap,1.);
- if ( floor(pos_new.x*geometry_screen.x) < geometry_screen.x-1. )
- color *= (1.-black.x);
- if ( floor(pos_new.y*geometry_screen.y) < geometry_screen.y-1. )
- color *= (1.-black.y);
-
-// compute fade on Left and bottom
- black = pos_new;
- black *= geometry_screen;
- black = fract(black);
- black *= vec2(1.)+overlap;
- black -= overlap;
- black = max(-black,0.)/max(overlap,1.);
- if ( floor(pos_new.x*geometry_screen.x) > 0. )
- color *= (1.-black.x);
- if ( floor(pos_new.y*geometry_screen.y) > 0. )
- color *= (1.-black.y);
-
- gl_FragColor = color;
-}
+// Cyrille Henry 2010
+
+//#extension GL_ARB_texture_rectangle : enable
+//uniform sampler2DRect MyTex;
+uniform sampler2D MyTex;
+uniform vec2 overlap, geometry_screen, geometry_computer;
+
+void main (void)
+{
+// FSAA
+
+// change coord from computer matrix to screen matrice
+ vec2 coord = (gl_TextureMatrix[0] * gl_TexCoord[0]).st;
+ vec2 pos_new = coord;
+ pos_new *= geometry_computer;
+ float screen_num = floor(pos_new.x)+floor(pos_new.y)*geometry_computer.x; // number of the screen
+ pos_new = fract(pos_new); // coord in 1 screen (from 0 to 1)
+ pos_new.x += fract(screen_num/geometry_screen.x)*geometry_screen.x;
+ pos_new.y += floor(screen_num/geometry_screen.x);
+ pos_new /= geometry_screen;
+
+// compute position regarding to the overlap
+ vec2 pos = pos_new;
+ pos *= geometry_screen;
+
+ vec2 pos_over = fract(pos);
+ pos_over *= overlap;
+ pos_over -= overlap/2.;
+ pos += pos_over;
+ pos += overlap/2.;
+ pos /= geometry_screen + overlap;
+ vec4 color = texture2D(MyTex, pos);
+
+// compute fade on Top and Right
+ vec2 black = pos_new;
+ black *= geometry_screen;
+ black = fract(black);
+ black *= vec2(1.)+overlap;
+ black -= 1.;
+ black = max(black,0.)/max(overlap,1.);
+ if ( floor(pos_new.x*geometry_screen.x) < geometry_screen.x-1. )
+ color *= (1.-black.x);
+ if ( floor(pos_new.y*geometry_screen.y) < geometry_screen.y-1. )
+ color *= (1.-black.y);
+
+// compute fade on Left and bottom
+ black = pos_new;
+ black *= geometry_screen;
+ black = fract(black);
+ black *= vec2(1.)+overlap;
+ black -= overlap;
+ black = max(-black,0.)/max(overlap,1.);
+ if ( floor(pos_new.x*geometry_screen.x) > 0. )
+ color *= (1.-black.x);
+ if ( floor(pos_new.y*geometry_screen.y) > 0. )
+ color *= (1.-black.y);
+
+ gl_FragColor = color;
+}
diff --git a/packages/noncvs/windows/extra/Gem/examples/13.recursion/01.repetition_is_futile.pd b/packages/noncvs/windows/extra/Gem/examples/13.recursion/01.repetition_is_futile.pd
index 3b8637bb..74ba3fb9 100644
--- a/packages/noncvs/windows/extra/Gem/examples/13.recursion/01.repetition_is_futile.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/13.recursion/01.repetition_is_futile.pd
@@ -1,61 +1,61 @@
-#N canvas 0 0 602 516 10;
-#X obj 14 66 gemwin;
-#X obj 14 9 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1
-;
-#X msg 48 10 create;
-#X msg 55 33 destroy;
-#X obj 14 93 gemhead;
-#X obj 14 123 t a a;
-#X obj 59 123 circle;
-#X obj 14 153 separator;
-#X obj 14 213 scale 0.7;
-#X obj 14 173 rotate 45 0 0 1;
-#X obj 14 243 t a a;
-#X obj 59 243 circle;
-#X obj 14 273 separator;
-#X obj 14 333 scale 0.7;
-#X obj 14 293 rotate 45 0 0 1;
-#X obj 14 363 t a a;
-#X obj 59 363 circle;
-#X obj 14 193 translate 2 0 1 0;
-#X obj 14 313 translate 2 0 1 0;
-#X obj 14 393 separator;
-#X obj 14 453 scale 0.7;
-#X obj 14 413 rotate 45 0 0 1;
-#X obj 14 433 translate 2 0 1 0;
-#X obj 14 483 t a a;
-#X obj 59 483 circle;
-#X text 170 17 A tutorial on recursion in Gem;
-#X text 170 37 (GPL) 2007 Claude Heiland-Allen <claudiusmaximus@goto10.org>
-;
-#X text 170 77 The simplest and most obvious way of working with Gem
-is to create all the objects statically. That is \, the Gem chain (or
-tree) is exactly what is visible in the patch.;
-#X text 170 127 Say we way we want to make a spiral of circles. Even
-with just 4 circles the repetition is painfully obvious \, and if we
-wanted more the duplication would be painfully tedious.;
-#X text 170 177 There is a powerful way to avoid this pain \, however
-\, using recursion.;
-#X connect 1 0 0 0;
-#X connect 2 0 0 0;
-#X connect 3 0 0 0;
-#X connect 4 0 5 0;
-#X connect 5 0 7 0;
-#X connect 5 1 6 0;
-#X connect 7 0 9 0;
-#X connect 8 0 10 0;
-#X connect 9 0 17 0;
-#X connect 10 0 12 0;
-#X connect 10 1 11 0;
-#X connect 12 0 14 0;
-#X connect 13 0 15 0;
-#X connect 14 0 18 0;
-#X connect 15 0 19 0;
-#X connect 15 1 16 0;
-#X connect 17 0 8 0;
-#X connect 18 0 13 0;
-#X connect 19 0 21 0;
-#X connect 20 0 23 0;
-#X connect 21 0 22 0;
-#X connect 22 0 20 0;
-#X connect 23 1 24 0;
+#N canvas 0 0 602 516 10;
+#X obj 14 66 gemwin;
+#X obj 14 9 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1
+;
+#X msg 48 10 create;
+#X msg 55 33 destroy;
+#X obj 14 93 gemhead;
+#X obj 14 123 t a a;
+#X obj 59 123 circle;
+#X obj 14 153 separator;
+#X obj 14 213 scale 0.7;
+#X obj 14 173 rotate 45 0 0 1;
+#X obj 14 243 t a a;
+#X obj 59 243 circle;
+#X obj 14 273 separator;
+#X obj 14 333 scale 0.7;
+#X obj 14 293 rotate 45 0 0 1;
+#X obj 14 363 t a a;
+#X obj 59 363 circle;
+#X obj 14 193 translate 2 0 1 0;
+#X obj 14 313 translate 2 0 1 0;
+#X obj 14 393 separator;
+#X obj 14 453 scale 0.7;
+#X obj 14 413 rotate 45 0 0 1;
+#X obj 14 433 translate 2 0 1 0;
+#X obj 14 483 t a a;
+#X obj 59 483 circle;
+#X text 170 17 A tutorial on recursion in Gem;
+#X text 170 37 (GPL) 2007 Claude Heiland-Allen <claudiusmaximus@goto10.org>
+;
+#X text 170 77 The simplest and most obvious way of working with Gem
+is to create all the objects statically. That is \, the Gem chain (or
+tree) is exactly what is visible in the patch.;
+#X text 170 127 Say we way we want to make a spiral of circles. Even
+with just 4 circles the repetition is painfully obvious \, and if we
+wanted more the duplication would be painfully tedious.;
+#X text 170 177 There is a powerful way to avoid this pain \, however
+\, using recursion.;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 0;
+#X connect 4 0 5 0;
+#X connect 5 0 7 0;
+#X connect 5 1 6 0;
+#X connect 7 0 9 0;
+#X connect 8 0 10 0;
+#X connect 9 0 17 0;
+#X connect 10 0 12 0;
+#X connect 10 1 11 0;
+#X connect 12 0 14 0;
+#X connect 13 0 15 0;
+#X connect 14 0 18 0;
+#X connect 15 0 19 0;
+#X connect 15 1 16 0;
+#X connect 17 0 8 0;
+#X connect 18 0 13 0;
+#X connect 19 0 21 0;
+#X connect 20 0 23 0;
+#X connect 21 0 22 0;
+#X connect 22 0 20 0;
+#X connect 23 1 24 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/13.recursion/02.iteration_is_insufficient.pd b/packages/noncvs/windows/extra/Gem/examples/13.recursion/02.iteration_is_insufficient.pd
index f895affe..bc1ab958 100644
--- a/packages/noncvs/windows/extra/Gem/examples/13.recursion/02.iteration_is_insufficient.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/13.recursion/02.iteration_is_insufficient.pd
@@ -1,33 +1,33 @@
-#N canvas 0 0 602 259 10;
-#X obj 14 66 gemwin;
-#X obj 14 9 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1
-;
-#X msg 48 10 create;
-#X msg 55 33 destroy;
-#X obj 14 93 gemhead;
-#X obj 14 153 t a a;
-#X obj 59 153 circle;
-#X obj 14 223 scale 0.7;
-#X obj 14 183 rotate 45 0 0 1;
-#X obj 14 203 translate 2 0 1 0;
-#X text 170 17 A tutorial on recursion in Gem;
-#X text 170 37 (GPL) 2007 Claude Heiland-Allen <claudiusmaximus@goto10.org>
-;
-#X text 170 77 A common idiom in Gem is to use the [repeat] object
-found in the Zexy library \, to generate multiple copies of the same
-object. Let's try using it to make our spiral.;
-#X obj 14 123 repeat 64;
-#X text 170 127 And indeed \, it works well. But a spiral is a linear
-structure \, without branches. Iteration has solved one problem \,
-only to present us with another: what if we want a branching structure?
-;
-#X text 170 187 Recursion is an elegant solution to this problem.;
-#X connect 1 0 0 0;
-#X connect 2 0 0 0;
-#X connect 3 0 0 0;
-#X connect 4 0 13 0;
-#X connect 5 0 8 0;
-#X connect 5 1 6 0;
-#X connect 8 0 9 0;
-#X connect 9 0 7 0;
-#X connect 13 0 5 0;
+#N canvas 0 0 602 259 10;
+#X obj 14 66 gemwin;
+#X obj 14 9 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1
+;
+#X msg 48 10 create;
+#X msg 55 33 destroy;
+#X obj 14 93 gemhead;
+#X obj 14 153 t a a;
+#X obj 59 153 circle;
+#X obj 14 223 scale 0.7;
+#X obj 14 183 rotate 45 0 0 1;
+#X obj 14 203 translate 2 0 1 0;
+#X text 170 17 A tutorial on recursion in Gem;
+#X text 170 37 (GPL) 2007 Claude Heiland-Allen <claudiusmaximus@goto10.org>
+;
+#X text 170 77 A common idiom in Gem is to use the [repeat] object
+found in the Zexy library \, to generate multiple copies of the same
+object. Let's try using it to make our spiral.;
+#X obj 14 123 repeat 64;
+#X text 170 127 And indeed \, it works well. But a spiral is a linear
+structure \, without branches. Iteration has solved one problem \,
+only to present us with another: what if we want a branching structure?
+;
+#X text 170 187 Recursion is an elegant solution to this problem.;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 0;
+#X connect 4 0 13 0;
+#X connect 5 0 8 0;
+#X connect 5 1 6 0;
+#X connect 8 0 9 0;
+#X connect 9 0 7 0;
+#X connect 13 0 5 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/13.recursion/03.recursive_spiral.pd b/packages/noncvs/windows/extra/Gem/examples/13.recursion/03.recursive_spiral.pd
index f889aedf..ebb4f271 100644
--- a/packages/noncvs/windows/extra/Gem/examples/13.recursion/03.recursive_spiral.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/13.recursion/03.recursive_spiral.pd
@@ -1,71 +1,71 @@
-#N canvas 3 2 602 516 10;
-#X obj 14 66 gemwin;
-#X obj 14 9 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1
-;
-#X msg 48 10 create;
-#X msg 55 33 destroy;
-#X obj 14 93 gemhead;
-#X obj 14 213 t a a;
-#X obj 59 213 circle;
-#X obj 14 283 scale 0.7;
-#X obj 14 243 rotate 45 0 0 1;
-#X obj 14 263 translate 2 0 1 0;
-#X text 170 17 A tutorial on recursion in Gem;
-#X text 170 37 (GPL) 2007 Claude Heiland-Allen <claudiusmaximus@goto10.org>
-;
-#X text 170 77 A common idiom in Gem is to use the [repeat] object
-found in the Zexy library \, to generate multiple copies of the same
-object. Let's try using it to make our spiral.;
-#X obj 14 183 separator;
-#X obj 24 163 r \$0-recurse;
-#X obj 68 133 v \$0-depth;
-#X obj 14 113 t a b;
-#X obj 68 113 f 16;
-#X floatatom 91 96 5 0 0 2 max-depth - -;
-#X obj 36 433 s \$0-recurse;
-#X obj 14 313 t b a b;
-#X obj 99 343 v \$0-depth;
-#X obj 99 363 - 1;
-#X obj 99 383 max 0;
-#X obj 99 403 v \$0-depth;
-#X obj 36 413 spigot;
-#X obj 14 343 v \$0-depth;
-#X obj 14 383 v \$0-depth;
-#X obj 14 363 + 1;
-#X text 170 127 First \, we need to limit the depth of the recursion
-\, to avoid the dreaded "stack overflow" errors from both Pd and OpenGL.
-We set the maximum depth before doing anything else in the Gem chain.
-;
-#X text 170 187 Next \, we draw the circle and set up the transformations
-for the recursive call.;
-#X text 170 227 Finally \, we check that we are within the allowed
-depth \, and recurse (after decrementing the maximum depth).;
-#X text 170 267 At first glance \, this recursive solution is much
-less elegant than the iterative solution with [repeat] \, and it is
--- for non-branching structures. The power of recursion comes from
-the ease with which branching structures can be created.;
-#X connect 1 0 0 0;
-#X connect 2 0 0 0;
-#X connect 3 0 0 0;
-#X connect 4 0 16 0;
-#X connect 5 0 8 0;
-#X connect 5 1 6 0;
-#X connect 7 0 20 0;
-#X connect 8 0 9 0;
-#X connect 9 0 7 0;
-#X connect 13 0 5 0;
-#X connect 14 0 13 0;
-#X connect 16 0 13 0;
-#X connect 16 1 17 0;
-#X connect 17 0 15 0;
-#X connect 18 0 17 1;
-#X connect 20 0 26 0;
-#X connect 20 1 25 0;
-#X connect 20 2 21 0;
-#X connect 21 0 22 0;
-#X connect 22 0 23 0;
-#X connect 23 0 24 0;
-#X connect 23 0 25 1;
-#X connect 25 0 19 0;
-#X connect 26 0 28 0;
-#X connect 28 0 27 0;
+#N canvas 3 2 602 516 10;
+#X obj 14 66 gemwin;
+#X obj 14 9 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1
+;
+#X msg 48 10 create;
+#X msg 55 33 destroy;
+#X obj 14 93 gemhead;
+#X obj 14 213 t a a;
+#X obj 59 213 circle;
+#X obj 14 283 scale 0.7;
+#X obj 14 243 rotate 45 0 0 1;
+#X obj 14 263 translate 2 0 1 0;
+#X text 170 17 A tutorial on recursion in Gem;
+#X text 170 37 (GPL) 2007 Claude Heiland-Allen <claudiusmaximus@goto10.org>
+;
+#X text 170 77 A common idiom in Gem is to use the [repeat] object
+found in the Zexy library \, to generate multiple copies of the same
+object. Let's try using it to make our spiral.;
+#X obj 14 183 separator;
+#X obj 24 163 r \$0-recurse;
+#X obj 68 133 v \$0-depth;
+#X obj 14 113 t a b;
+#X obj 68 113 f 16;
+#X floatatom 91 96 5 0 0 2 max-depth - -;
+#X obj 36 433 s \$0-recurse;
+#X obj 14 313 t b a b;
+#X obj 99 343 v \$0-depth;
+#X obj 99 363 - 1;
+#X obj 99 383 max 0;
+#X obj 99 403 v \$0-depth;
+#X obj 36 413 spigot;
+#X obj 14 343 v \$0-depth;
+#X obj 14 383 v \$0-depth;
+#X obj 14 363 + 1;
+#X text 170 127 First \, we need to limit the depth of the recursion
+\, to avoid the dreaded "stack overflow" errors from both Pd and OpenGL.
+We set the maximum depth before doing anything else in the Gem chain.
+;
+#X text 170 187 Next \, we draw the circle and set up the transformations
+for the recursive call.;
+#X text 170 227 Finally \, we check that we are within the allowed
+depth \, and recurse (after decrementing the maximum depth).;
+#X text 170 267 At first glance \, this recursive solution is much
+less elegant than the iterative solution with [repeat] \, and it is
+-- for non-branching structures. The power of recursion comes from
+the ease with which branching structures can be created.;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 0;
+#X connect 4 0 16 0;
+#X connect 5 0 8 0;
+#X connect 5 1 6 0;
+#X connect 7 0 20 0;
+#X connect 8 0 9 0;
+#X connect 9 0 7 0;
+#X connect 13 0 5 0;
+#X connect 14 0 13 0;
+#X connect 16 0 13 0;
+#X connect 16 1 17 0;
+#X connect 17 0 15 0;
+#X connect 18 0 17 1;
+#X connect 20 0 26 0;
+#X connect 20 1 25 0;
+#X connect 20 2 21 0;
+#X connect 21 0 22 0;
+#X connect 22 0 23 0;
+#X connect 23 0 24 0;
+#X connect 23 0 25 1;
+#X connect 25 0 19 0;
+#X connect 26 0 28 0;
+#X connect 28 0 27 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/13.recursion/04.binary_tree.pd b/packages/noncvs/windows/extra/Gem/examples/13.recursion/04.binary_tree.pd
index 0550698e..c7d591eb 100644
--- a/packages/noncvs/windows/extra/Gem/examples/13.recursion/04.binary_tree.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/13.recursion/04.binary_tree.pd
@@ -1,98 +1,98 @@
-#N canvas 3 2 602 516 10;
-#X obj 14 66 gemwin;
-#X obj 14 9 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1
-;
-#X msg 48 10 create;
-#X msg 55 33 destroy;
-#X obj 14 93 gemhead;
-#X text 170 17 A tutorial on recursion in Gem;
-#X text 170 37 (GPL) 2007 Claude Heiland-Allen <claudiusmaximus@goto10.org>
-;
-#X obj 24 163 r \$0-recurse;
-#X obj 68 133 v \$0-depth;
-#X obj 14 113 t a b;
-#X floatatom 91 96 5 0 0 2 max-depth - -;
-#X obj 14 253 t a a;
-#X obj 59 253 circle;
-#X obj 14 223 separator;
-#X obj 36 473 s \$0-recurse;
-#X obj 14 353 t b a b;
-#X obj 99 383 v \$0-depth;
-#X obj 99 403 - 1;
-#X obj 99 423 max 0;
-#X obj 99 443 v \$0-depth;
-#X obj 36 453 spigot;
-#X obj 14 383 v \$0-depth;
-#X obj 14 423 v \$0-depth;
-#X obj 14 403 + 1;
-#X obj 184 253 t a a;
-#X obj 229 253 circle;
-#X obj 206 473 s \$0-recurse;
-#X obj 184 353 t b a b;
-#X obj 269 383 v \$0-depth;
-#X obj 269 403 - 1;
-#X obj 269 423 max 0;
-#X obj 269 443 v \$0-depth;
-#X obj 206 453 spigot;
-#X obj 184 383 v \$0-depth;
-#X obj 184 423 v \$0-depth;
-#X obj 184 403 + 1;
-#X obj 184 223 separator;
-#X obj 14 183 t a a;
-#X obj 184 303 translate 1.5 0 1 0;
-#X obj 184 323 scale 0.5;
-#X obj 14 323 scale 0.5;
-#X obj 14 303 translate 1.5 0 1 0;
-#X obj 14 283 rotate -30 0 0 1;
-#X obj 184 283 rotate 30 0 0 1;
-#X obj 68 113 f 4;
-#X text 170 77 The simplest recursive branching structure is one that
-splits into two at each branch. Essentially what we are creating is
-a circle \, plus two transformed copies of the whole structure \, limited
-to a maximums depth of recursion.;
-#X text 170 137 Be careful not to increase the max-depth too much:
-the splitting at each recursion leads to an exponential increase in
-the number of circles to be drawn.;
-#X connect 1 0 0 0;
-#X connect 2 0 0 0;
-#X connect 3 0 0 0;
-#X connect 4 0 9 0;
-#X connect 7 0 37 0;
-#X connect 9 0 37 0;
-#X connect 9 1 44 0;
-#X connect 10 0 44 1;
-#X connect 11 0 42 0;
-#X connect 11 1 12 0;
-#X connect 13 0 11 0;
-#X connect 15 0 21 0;
-#X connect 15 1 20 0;
-#X connect 15 2 16 0;
-#X connect 16 0 17 0;
-#X connect 17 0 18 0;
-#X connect 18 0 19 0;
-#X connect 18 0 20 1;
-#X connect 20 0 14 0;
-#X connect 21 0 23 0;
-#X connect 23 0 22 0;
-#X connect 24 0 43 0;
-#X connect 24 1 25 0;
-#X connect 27 0 33 0;
-#X connect 27 1 32 0;
-#X connect 27 2 28 0;
-#X connect 28 0 29 0;
-#X connect 29 0 30 0;
-#X connect 30 0 31 0;
-#X connect 30 0 32 1;
-#X connect 32 0 26 0;
-#X connect 33 0 35 0;
-#X connect 35 0 34 0;
-#X connect 36 0 24 0;
-#X connect 37 0 13 0;
-#X connect 37 1 36 0;
-#X connect 38 0 39 0;
-#X connect 39 0 27 0;
-#X connect 40 0 15 0;
-#X connect 41 0 40 0;
-#X connect 42 0 41 0;
-#X connect 43 0 38 0;
-#X connect 44 0 8 0;
+#N canvas 3 2 602 516 10;
+#X obj 14 66 gemwin;
+#X obj 14 9 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1
+;
+#X msg 48 10 create;
+#X msg 55 33 destroy;
+#X obj 14 93 gemhead;
+#X text 170 17 A tutorial on recursion in Gem;
+#X text 170 37 (GPL) 2007 Claude Heiland-Allen <claudiusmaximus@goto10.org>
+;
+#X obj 24 163 r \$0-recurse;
+#X obj 68 133 v \$0-depth;
+#X obj 14 113 t a b;
+#X floatatom 91 96 5 0 0 2 max-depth - -;
+#X obj 14 253 t a a;
+#X obj 59 253 circle;
+#X obj 14 223 separator;
+#X obj 36 473 s \$0-recurse;
+#X obj 14 353 t b a b;
+#X obj 99 383 v \$0-depth;
+#X obj 99 403 - 1;
+#X obj 99 423 max 0;
+#X obj 99 443 v \$0-depth;
+#X obj 36 453 spigot;
+#X obj 14 383 v \$0-depth;
+#X obj 14 423 v \$0-depth;
+#X obj 14 403 + 1;
+#X obj 184 253 t a a;
+#X obj 229 253 circle;
+#X obj 206 473 s \$0-recurse;
+#X obj 184 353 t b a b;
+#X obj 269 383 v \$0-depth;
+#X obj 269 403 - 1;
+#X obj 269 423 max 0;
+#X obj 269 443 v \$0-depth;
+#X obj 206 453 spigot;
+#X obj 184 383 v \$0-depth;
+#X obj 184 423 v \$0-depth;
+#X obj 184 403 + 1;
+#X obj 184 223 separator;
+#X obj 14 183 t a a;
+#X obj 184 303 translate 1.5 0 1 0;
+#X obj 184 323 scale 0.5;
+#X obj 14 323 scale 0.5;
+#X obj 14 303 translate 1.5 0 1 0;
+#X obj 14 283 rotate -30 0 0 1;
+#X obj 184 283 rotate 30 0 0 1;
+#X obj 68 113 f 4;
+#X text 170 77 The simplest recursive branching structure is one that
+splits into two at each branch. Essentially what we are creating is
+a circle \, plus two transformed copies of the whole structure \, limited
+to a maximums depth of recursion.;
+#X text 170 137 Be careful not to increase the max-depth too much:
+the splitting at each recursion leads to an exponential increase in
+the number of circles to be drawn.;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 0;
+#X connect 4 0 9 0;
+#X connect 7 0 37 0;
+#X connect 9 0 37 0;
+#X connect 9 1 44 0;
+#X connect 10 0 44 1;
+#X connect 11 0 42 0;
+#X connect 11 1 12 0;
+#X connect 13 0 11 0;
+#X connect 15 0 21 0;
+#X connect 15 1 20 0;
+#X connect 15 2 16 0;
+#X connect 16 0 17 0;
+#X connect 17 0 18 0;
+#X connect 18 0 19 0;
+#X connect 18 0 20 1;
+#X connect 20 0 14 0;
+#X connect 21 0 23 0;
+#X connect 23 0 22 0;
+#X connect 24 0 43 0;
+#X connect 24 1 25 0;
+#X connect 27 0 33 0;
+#X connect 27 1 32 0;
+#X connect 27 2 28 0;
+#X connect 28 0 29 0;
+#X connect 29 0 30 0;
+#X connect 30 0 31 0;
+#X connect 30 0 32 1;
+#X connect 32 0 26 0;
+#X connect 33 0 35 0;
+#X connect 35 0 34 0;
+#X connect 36 0 24 0;
+#X connect 37 0 13 0;
+#X connect 37 1 36 0;
+#X connect 38 0 39 0;
+#X connect 39 0 27 0;
+#X connect 40 0 15 0;
+#X connect 41 0 40 0;
+#X connect 42 0 41 0;
+#X connect 43 0 38 0;
+#X connect 44 0 8 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/13.recursion/05.n-ary_tree.pd b/packages/noncvs/windows/extra/Gem/examples/13.recursion/05.n-ary_tree.pd
index dca40cfb..fe274c42 100644
--- a/packages/noncvs/windows/extra/Gem/examples/13.recursion/05.n-ary_tree.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/13.recursion/05.n-ary_tree.pd
@@ -1,81 +1,81 @@
-#N canvas 3 2 600 605 10;
-#X obj 14 66 gemwin;
-#X obj 14 9 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1
-;
-#X msg 48 10 create;
-#X msg 55 33 destroy;
-#X obj 14 93 gemhead;
-#X text 170 17 A tutorial on recursion in Gem;
-#X text 170 37 (GPL) 2007 Claude Heiland-Allen <claudiusmaximus@goto10.org>
-;
-#X obj 30 159 r \$0-recurse;
-#X obj 68 133 v \$0-depth;
-#X obj 14 113 t a b;
-#X floatatom 84 70 5 0 0 2 max-depth - -;
-#X obj 14 187 t a a;
-#X obj 60 188 circle;
-#X obj 14 325 separator;
-#X obj 36 536 s \$0-recurse;
-#X obj 14 416 t b a b;
-#X obj 99 446 v \$0-depth;
-#X obj 99 466 - 1;
-#X obj 99 486 max 0;
-#X obj 99 506 v \$0-depth;
-#X obj 36 516 spigot;
-#X obj 14 446 v \$0-depth;
-#X obj 14 486 v \$0-depth;
-#X obj 14 466 + 1;
-#X obj 68 113 f 4;
-#X obj 14 346 rotate 0 0 0 1;
-#X obj 126 303 * 72;
-#X obj 14 366 translate 2 0 1 0;
-#X obj 14 386 scale 0.35;
-#X obj 14 270 nrepeat 5;
-#X obj 119 236 t f f;
-#X floatatom 118 196 5 0 0 2 count - -;
-#X obj 149 259 swap 360;
-#X obj 149 282 /;
-#X obj 118 215 clip 1 16;
-#X obj 84 89 clip 1 6;
-#X text 170 77 Recursion can be combined with iteration to make complex
-structures. However \, using the [repeat] from Zexy is no longer enough.
-Trying to use it with an external counter leads to re-entrancy bugs
-\, because the [repeat] is retriggered before the counter has finished
-\, which messes up the counter's internal state. [nrepeat] is a "repeat
-with a built in counter" \, which is re-entrancy safe.;
-#X connect 1 0 0 0;
-#X connect 2 0 0 0;
-#X connect 3 0 0 0;
-#X connect 4 0 9 0;
-#X connect 7 0 11 0;
-#X connect 9 0 11 0;
-#X connect 9 1 24 0;
-#X connect 10 0 35 0;
-#X connect 11 0 29 0;
-#X connect 11 1 12 0;
-#X connect 13 0 25 0;
-#X connect 15 0 21 0;
-#X connect 15 1 20 0;
-#X connect 15 2 16 0;
-#X connect 16 0 17 0;
-#X connect 17 0 18 0;
-#X connect 18 0 19 0;
-#X connect 18 0 20 1;
-#X connect 20 0 14 0;
-#X connect 21 0 23 0;
-#X connect 23 0 22 0;
-#X connect 24 0 8 0;
-#X connect 25 0 27 0;
-#X connect 26 0 25 1;
-#X connect 27 0 28 0;
-#X connect 28 0 15 0;
-#X connect 29 0 13 0;
-#X connect 29 1 26 0;
-#X connect 30 0 29 1;
-#X connect 30 1 32 0;
-#X connect 31 0 34 0;
-#X connect 32 0 33 0;
-#X connect 32 1 33 1;
-#X connect 33 0 26 1;
-#X connect 34 0 30 0;
-#X connect 35 0 24 1;
+#N canvas 3 2 600 605 10;
+#X obj 14 66 gemwin;
+#X obj 14 9 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1
+;
+#X msg 48 10 create;
+#X msg 55 33 destroy;
+#X obj 14 93 gemhead;
+#X text 170 17 A tutorial on recursion in Gem;
+#X text 170 37 (GPL) 2007 Claude Heiland-Allen <claudiusmaximus@goto10.org>
+;
+#X obj 30 159 r \$0-recurse;
+#X obj 68 133 v \$0-depth;
+#X obj 14 113 t a b;
+#X floatatom 84 70 5 0 0 2 max-depth - -;
+#X obj 14 187 t a a;
+#X obj 60 188 circle;
+#X obj 14 325 separator;
+#X obj 36 536 s \$0-recurse;
+#X obj 14 416 t b a b;
+#X obj 99 446 v \$0-depth;
+#X obj 99 466 - 1;
+#X obj 99 486 max 0;
+#X obj 99 506 v \$0-depth;
+#X obj 36 516 spigot;
+#X obj 14 446 v \$0-depth;
+#X obj 14 486 v \$0-depth;
+#X obj 14 466 + 1;
+#X obj 68 113 f 4;
+#X obj 14 346 rotate 0 0 0 1;
+#X obj 126 303 * 72;
+#X obj 14 366 translate 2 0 1 0;
+#X obj 14 386 scale 0.35;
+#X obj 14 270 nrepeat 5;
+#X obj 119 236 t f f;
+#X floatatom 118 196 5 0 0 2 count - -;
+#X obj 149 259 swap 360;
+#X obj 149 282 /;
+#X obj 118 215 clip 1 16;
+#X obj 84 89 clip 1 6;
+#X text 170 77 Recursion can be combined with iteration to make complex
+structures. However \, using the [repeat] from Zexy is no longer enough.
+Trying to use it with an external counter leads to re-entrancy bugs
+\, because the [repeat] is retriggered before the counter has finished
+\, which messes up the counter's internal state. [nrepeat] is a "repeat
+with a built in counter" \, which is re-entrancy safe.;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 0;
+#X connect 4 0 9 0;
+#X connect 7 0 11 0;
+#X connect 9 0 11 0;
+#X connect 9 1 24 0;
+#X connect 10 0 35 0;
+#X connect 11 0 29 0;
+#X connect 11 1 12 0;
+#X connect 13 0 25 0;
+#X connect 15 0 21 0;
+#X connect 15 1 20 0;
+#X connect 15 2 16 0;
+#X connect 16 0 17 0;
+#X connect 17 0 18 0;
+#X connect 18 0 19 0;
+#X connect 18 0 20 1;
+#X connect 20 0 14 0;
+#X connect 21 0 23 0;
+#X connect 23 0 22 0;
+#X connect 24 0 8 0;
+#X connect 25 0 27 0;
+#X connect 26 0 25 1;
+#X connect 27 0 28 0;
+#X connect 28 0 15 0;
+#X connect 29 0 13 0;
+#X connect 29 1 26 0;
+#X connect 30 0 29 1;
+#X connect 30 1 32 0;
+#X connect 31 0 34 0;
+#X connect 32 0 33 0;
+#X connect 32 1 33 1;
+#X connect 33 0 26 1;
+#X connect 34 0 30 0;
+#X connect 35 0 24 1;
diff --git a/packages/noncvs/windows/extra/Gem/examples/13.recursion/06.breaking_symmetry.pd b/packages/noncvs/windows/extra/Gem/examples/13.recursion/06.breaking_symmetry.pd
index 74cd9c1f..b97214b6 100644
--- a/packages/noncvs/windows/extra/Gem/examples/13.recursion/06.breaking_symmetry.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/13.recursion/06.breaking_symmetry.pd
@@ -1,384 +1,384 @@
-#N canvas 4 2 673 560 10;
-#X obj 14 66 gemwin;
-#X obj 14 9 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1
-;
-#X msg 55 33 destroy;
-#X obj 14 92 gemhead;
-#X text 220 17 A tutorial on recursion in Gem;
-#X text 220 37 (GPL) 2007 Claude Heiland-Allen <claudiusmaximus@goto10.org>
-;
-#X obj 30 273 r \$0-recurse;
-#X obj 14 301 t a a;
-#X floatatom 72 360 5 0 0 2 count - -;
-#X obj 72 379 clip 1 6;
-#N canvas 0 0 368 384 \$0-transformations 0;
-#X obj 19 19 inlet;
-#X obj 250 19 inlet;
-#X obj 19 343 outlet;
-#X text 299 20 count;
-#X text 72 19 gem;
-#X text 74 344 gem;
-#X obj 19 44 separator;
-#X obj 19 315 scaleXYZ;
-#X obj 19 225 translateXYZ;
-#X obj 19 135 rotateXYZ;
-#X obj 38 74 tabread \$0-rotate-X;
-#X obj 57 94 tabread \$0-rotate-Y;
-#X obj 77 114 tabread \$0-rotate-Z;
-#X obj 45 164 tabread \$0-translate-X;
-#X obj 71 184 tabread \$0-translate-Y;
-#X obj 98 204 tabread \$0-translate-Z;
-#X obj 36 254 tabread \$0-scale-X;
-#X obj 53 274 tabread \$0-scale-Y;
-#X obj 70 294 tabread \$0-scale-Z;
-#X text 135 230 Transform the recursion branch \,;
-#X connect 0 0 6 0;
-#X connect 1 0 10 0;
-#X connect 1 0 11 0;
-#X connect 1 0 12 0;
-#X connect 1 0 13 0;
-#X connect 1 0 14 0;
-#X connect 1 0 15 0;
-#X connect 1 0 16 0;
-#X connect 1 0 17 0;
-#X connect 1 0 18 0;
-#X connect 6 0 9 0;
-#X connect 7 0 2 0;
-#X connect 8 0 7 0;
-#X connect 9 0 8 0;
-#X connect 10 0 9 1;
-#X connect 11 0 9 2;
-#X connect 12 0 9 3;
-#X connect 13 0 8 1;
-#X connect 14 0 8 2;
-#X connect 15 0 8 3;
-#X connect 16 0 7 1;
-#X connect 17 0 7 2;
-#X connect 18 0 7 3;
-#X restore 63 442 pd \$0-transformations;
-#N canvas 0 0 679 337 \$0-colourize-and-limit-depth 0;
-#X obj 297 19 inlet;
-#X obj 293 298 outlet;
-#X text 343 299 gem;
-#X text 347 21 gem;
-#X obj 436 18 inlet;
-#X text 487 18 count;
-#X obj 352 171 v \$0-depth;
-#X obj 352 191 - 1;
-#X obj 352 211 max 0;
-#X obj 352 231 v \$0-depth;
-#X obj 294 246 spigot;
-#X obj 264 174 v \$0-depth;
-#X obj 264 214 v \$0-depth;
-#X obj 264 194 + 1;
-#X obj 436 189 v \$0-R;
-#X obj 436 229 v \$0-R;
-#X obj 486 189 v \$0-G;
-#X obj 486 229 v \$0-G;
-#X obj 536 229 v \$0-B;
-#X obj 536 189 v \$0-B;
-#X obj 436 71 tabread \$0-colour-R;
-#X obj 486 105 tabread \$0-colour-G;
-#X obj 536 128 tabread \$0-colour-B;
-#X text 442 248 Transform colours.;
-#X text 251 271 Limit recursion depth.;
-#X obj 536 209 + 1;
-#X obj 486 209 + 1;
-#X obj 435 209 + 1;
-#X obj 297 52 t b a b;
-#X obj 436 167 t b f;
-#X obj 486 167 t b f;
-#X obj 536 167 t b f;
-#X obj 46 18 inlet;
-#X text 97 18 count;
-#X obj 46 189 v \$0-R;
-#X obj 46 229 v \$0-R;
-#X obj 96 189 v \$0-G;
-#X obj 96 229 v \$0-G;
-#X obj 146 229 v \$0-B;
-#X obj 146 189 v \$0-B;
-#X obj 46 71 tabread \$0-colour-R;
-#X obj 96 105 tabread \$0-colour-G;
-#X obj 146 128 tabread \$0-colour-B;
-#X obj 46 167 t b f;
-#X obj 96 167 t b f;
-#X obj 146 167 t b f;
-#X text 52 252 Untransform colours.;
-#X obj 45 209 - 1;
-#X obj 96 209 - 1;
-#X obj 146 209 - 1;
-#X connect 0 0 28 0;
-#X connect 4 0 20 0;
-#X connect 4 0 21 0;
-#X connect 4 0 22 0;
-#X connect 6 0 7 0;
-#X connect 7 0 8 0;
-#X connect 8 0 9 0;
-#X connect 8 0 10 1;
-#X connect 10 0 1 0;
-#X connect 11 0 13 0;
-#X connect 13 0 12 0;
-#X connect 14 0 27 0;
-#X connect 16 0 26 0;
-#X connect 19 0 25 0;
-#X connect 20 0 29 0;
-#X connect 21 0 30 0;
-#X connect 22 0 31 0;
-#X connect 25 0 18 0;
-#X connect 26 0 17 0;
-#X connect 27 0 15 0;
-#X connect 28 0 11 0;
-#X connect 28 1 10 0;
-#X connect 28 2 6 0;
-#X connect 29 0 14 0;
-#X connect 29 1 27 1;
-#X connect 30 0 16 0;
-#X connect 30 1 26 1;
-#X connect 31 0 19 0;
-#X connect 31 1 25 1;
-#X connect 32 0 40 0;
-#X connect 32 0 41 0;
-#X connect 32 0 42 0;
-#X connect 34 0 47 0;
-#X connect 36 0 48 0;
-#X connect 39 0 49 0;
-#X connect 40 0 43 0;
-#X connect 41 0 44 0;
-#X connect 42 0 45 0;
-#X connect 43 0 34 0;
-#X connect 43 1 47 1;
-#X connect 44 0 36 0;
-#X connect 44 1 48 1;
-#X connect 45 0 39 0;
-#X connect 45 1 49 1;
-#X connect 47 0 35 0;
-#X connect 48 0 37 0;
-#X connect 49 0 38 0;
-#X restore 14 479 pd \$0-colourize-and-limit-depth;
-#X obj 14 499 s \$0-recurse;
-#X obj 14 223 t a b;
-#N canvas 22 26 435 181 \$0-initialize 0;
-#X obj 23 20 inlet;
-#X text 68 19 bang;
-#X obj 23 122 v \$0-depth;
-#X obj 23 102 f 4;
-#X obj 103 122 v \$0-R;
-#X obj 153 122 v \$0-G;
-#X obj 203 122 v \$0-B;
-#X obj 160 21 inlet;
-#X text 205 20 max depth;
-#X text 18 146 Initialize the variables: recursion depth and object
-colours.;
-#X obj 203 98 f 0;
-#X obj 153 99 f 0;
-#X obj 103 98 f 0;
-#X connect 0 0 3 0;
-#X connect 0 0 10 0;
-#X connect 0 0 11 0;
-#X connect 0 0 12 0;
-#X connect 3 0 2 0;
-#X connect 7 0 3 1;
-#X connect 10 0 6 0;
-#X connect 11 0 5 0;
-#X connect 12 0 4 0;
-#X restore 44 243 pd \$0-initialize;
-#X floatatom 151 200 5 0 0 2 depth - -;
-#N canvas 0 0 340 391 \$0-draw-object 0;
-#X obj 23 14 inlet;
-#X text 69 13 gem;
-#X obj 23 67 t a b b b;
-#X obj 23 321 colorRGB;
-#X obj 23 358 cube;
-#X obj 240 291 inlet;
-#X text 286 291 alpha;
-#X obj 42 106 v \$0-R;
-#X obj 120 104 v \$0-G;
-#X obj 198 104 v \$0-B;
-#X text 125 76 Normalize the colour range.;
-#X obj 23 41 separator;
-#X obj 42 253 expr $f1/$f4 \; $f2/$f4 \; $f3/$f4;
-#X obj 42 128 expr $f1 \; $f2 \; $f3 \; max(max(max($f1 \, $f2) \,
-$f3) \, 1);
-#X connect 0 0 11 0;
-#X connect 2 0 3 0;
-#X connect 2 1 7 0;
-#X connect 2 2 8 0;
-#X connect 2 3 9 0;
-#X connect 3 0 4 0;
-#X connect 5 0 3 4;
-#X connect 7 0 13 0;
-#X connect 8 0 13 1;
-#X connect 9 0 13 2;
-#X connect 11 0 2 0;
-#X connect 12 0 3 1;
-#X connect 12 1 3 2;
-#X connect 12 2 3 3;
-#X connect 13 0 12 0;
-#X connect 13 1 12 1;
-#X connect 13 2 12 2;
-#X connect 13 3 12 3;
-#X restore 44 321 pd \$0-draw-object;
-#X floatatom 158 279 5 0 0 2 alpha - -;
-#X obj 158 299 / 100;
-#N canvas 0 0 650 615 \$0-gui 0;
-#X obj 11 11 xform-gui 0;
-#X obj 167 263 t a;
-#X msg 167 293 \$3 \$1 \$2;
-#X obj 167 329 unpack f f s;
-#X obj 246 355 select cR cG cB rX rY rZ tX tY tZ sX sY sZ;
-#X obj 167 576 tabwrite;
-#X obj 246 485 symbol \$0-colour-R;
-#X obj 270 465 symbol \$0-colour-G;
-#X obj 294 445 symbol \$0-colour-B;
-#X obj 318 425 symbol \$0-rotate-X;
-#X obj 342 405 symbol \$0-rotate-Y;
-#X obj 366 385 symbol \$0-rotate-Z;
-#X obj 390 485 symbol \$0-translate-X;
-#X obj 414 465 symbol \$0-translate-Y;
-#X obj 438 445 symbol \$0-translate-Z;
-#X obj 462 425 symbol \$0-scale-X;
-#X obj 486 405 symbol \$0-scale-Y;
-#X obj 510 385 symbol \$0-scale-Z;
-#X obj 374 552 list prepend set;
-#X obj 374 572 list trim;
-#X obj 495 112 inlet;
-#X obj 71 11 xform-gui 1;
-#X obj 131 11 xform-gui 2;
-#X obj 191 11 xform-gui 3;
-#X obj 251 11 xform-gui 4;
-#X obj 311 11 xform-gui 5;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 3 0 5 0;
-#X connect 3 1 5 1;
-#X connect 3 2 4 0;
-#X connect 4 0 6 0;
-#X connect 4 1 7 0;
-#X connect 4 2 8 0;
-#X connect 4 3 9 0;
-#X connect 4 4 10 0;
-#X connect 4 5 11 0;
-#X connect 4 6 12 0;
-#X connect 4 7 13 0;
-#X connect 4 8 14 0;
-#X connect 4 9 15 0;
-#X connect 4 10 16 0;
-#X connect 4 11 17 0;
-#X connect 6 0 18 0;
-#X connect 7 0 18 0;
-#X connect 8 0 18 0;
-#X connect 9 0 18 0;
-#X connect 10 0 18 0;
-#X connect 11 0 18 0;
-#X connect 12 0 18 0;
-#X connect 13 0 18 0;
-#X connect 14 0 18 0;
-#X connect 15 0 18 0;
-#X connect 16 0 18 0;
-#X connect 17 0 18 0;
-#X connect 18 0 19 0;
-#X connect 19 0 5 0;
-#X connect 20 0 0 0;
-#X connect 20 0 21 0;
-#X connect 20 0 22 0;
-#X connect 20 0 23 0;
-#X connect 20 0 24 0;
-#X connect 20 0 25 0;
-#X connect 21 0 1 0;
-#X connect 22 0 1 0;
-#X connect 23 0 1 0;
-#X connect 24 0 1 0;
-#X connect 25 0 1 0;
-#X coords 0 -1 1 1 362 212 2 10 10;
-#X restore 275 286 pd \$0-gui;
-#X text 460 263 transformation parameters;
-#N canvas 0 0 360 364 \$0-transformation-parameters 0;
-#X obj 21 318 table \$0-scale-Z 6;
-#X obj 21 298 table \$0-scale-Y 6;
-#X obj 21 278 table \$0-scale-X 6;
-#X obj 21 208 table \$0-translate-X 6;
-#X obj 21 228 table \$0-translate-Y 6;
-#X obj 21 248 table \$0-translate-Z 6;
-#X obj 21 178 table \$0-rotate-Z 6;
-#X obj 21 158 table \$0-rotate-Y 6;
-#X obj 21 138 table \$0-rotate-X 6;
-#X obj 21 68 table \$0-colour-R 6;
-#X obj 21 88 table \$0-colour-G 6;
-#X obj 21 108 table \$0-colour-B 6;
-#X text 21 29 Tables to store transformation parameters.;
-#X restore 418 506 pd \$0-transformation-parameters;
-#X obj 14 191 alpha;
-#X msg 37 164 auto \$1;
-#X obj 38 139 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#N canvas 0 0 471 288 \$0-scene-transformation 0;
-#X obj 20 20 inlet;
-#X obj 20 42 t a b;
-#X obj 20 149 rotateXYZ;
-#X obj 50 67 f 0;
-#X obj 88 67 + 1;
-#X obj 62 98 / 1.618;
-#X obj 82 122 / 1.618;
-#X obj 20 217 scale 0.05;
-#X obj 53 191 inlet;
-#X obj 20 252 outlet;
-#X text 152 215 Scale the whole scene.;
-#X text 158 67 Rotate the whole scene continuously.;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X connect 1 1 3 0;
-#X connect 2 0 7 0;
-#X connect 3 0 4 0;
-#X connect 3 0 2 1;
-#X connect 3 0 5 0;
-#X connect 4 0 3 1;
-#X connect 5 0 2 2;
-#X connect 5 0 6 0;
-#X connect 6 0 2 3;
-#X connect 7 0 9 0;
-#X connect 8 0 7 1;
-#X restore 14 115 pd \$0-scene-transformation;
-#X floatatom 158 69 5 0 0 2 scale - -;
-#X obj 158 89 / 100;
-#X obj 151 221 clip 0 6;
-#X text 219 182 Subpatches are used to hide the implementation details
-of each part of the patch. Further comments are inside.;
-#X obj 275 260 bng 15 250 50 1 empty empty randomize 17 7 0 10 -262144
--1 -1;
-#X obj 14 404 nnrepeat 5;
-#X text 220 77 Another new object is necessary for full effect: [nnrepeat]
-which outputs the repeat count both before and after the repeated value
-\, thus we can do and undo actions before and after \, such as colourizing
-the geos according to the transformations. Allowing different parameters
-for each transformation means we can create non-symmetric structures
-with some sort of self-similarity.;
-#X msg 48 13 create;
-#X connect 1 0 0 0;
-#X connect 2 0 0 0;
-#X connect 3 0 25 0;
-#X connect 6 0 7 0;
-#X connect 7 0 31 0;
-#X connect 7 1 16 0;
-#X connect 8 0 9 0;
-#X connect 9 0 31 1;
-#X connect 10 0 11 1;
-#X connect 11 0 12 0;
-#X connect 13 0 7 0;
-#X connect 13 1 14 0;
-#X connect 15 0 28 0;
-#X connect 17 0 18 0;
-#X connect 18 0 16 1;
-#X connect 22 0 13 0;
-#X connect 23 0 22 0;
-#X connect 24 0 23 0;
-#X connect 25 0 22 0;
-#X connect 26 0 27 0;
-#X connect 27 0 25 1;
-#X connect 28 0 14 1;
-#X connect 30 0 19 0;
-#X connect 31 0 11 0;
-#X connect 31 1 10 0;
-#X connect 31 2 10 1;
-#X connect 31 2 11 2;
-#X connect 33 0 0 0;
+#N canvas 4 2 673 560 10;
+#X obj 14 66 gemwin;
+#X obj 14 9 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1
+;
+#X msg 55 33 destroy;
+#X obj 14 92 gemhead;
+#X text 220 17 A tutorial on recursion in Gem;
+#X text 220 37 (GPL) 2007 Claude Heiland-Allen <claudiusmaximus@goto10.org>
+;
+#X obj 30 273 r \$0-recurse;
+#X obj 14 301 t a a;
+#X floatatom 72 360 5 0 0 2 count - -;
+#X obj 72 379 clip 1 6;
+#N canvas 0 0 368 384 \$0-transformations 0;
+#X obj 19 19 inlet;
+#X obj 250 19 inlet;
+#X obj 19 343 outlet;
+#X text 299 20 count;
+#X text 72 19 gem;
+#X text 74 344 gem;
+#X obj 19 44 separator;
+#X obj 19 315 scaleXYZ;
+#X obj 19 225 translateXYZ;
+#X obj 19 135 rotateXYZ;
+#X obj 38 74 tabread \$0-rotate-X;
+#X obj 57 94 tabread \$0-rotate-Y;
+#X obj 77 114 tabread \$0-rotate-Z;
+#X obj 45 164 tabread \$0-translate-X;
+#X obj 71 184 tabread \$0-translate-Y;
+#X obj 98 204 tabread \$0-translate-Z;
+#X obj 36 254 tabread \$0-scale-X;
+#X obj 53 274 tabread \$0-scale-Y;
+#X obj 70 294 tabread \$0-scale-Z;
+#X text 135 230 Transform the recursion branch \,;
+#X connect 0 0 6 0;
+#X connect 1 0 10 0;
+#X connect 1 0 11 0;
+#X connect 1 0 12 0;
+#X connect 1 0 13 0;
+#X connect 1 0 14 0;
+#X connect 1 0 15 0;
+#X connect 1 0 16 0;
+#X connect 1 0 17 0;
+#X connect 1 0 18 0;
+#X connect 6 0 9 0;
+#X connect 7 0 2 0;
+#X connect 8 0 7 0;
+#X connect 9 0 8 0;
+#X connect 10 0 9 1;
+#X connect 11 0 9 2;
+#X connect 12 0 9 3;
+#X connect 13 0 8 1;
+#X connect 14 0 8 2;
+#X connect 15 0 8 3;
+#X connect 16 0 7 1;
+#X connect 17 0 7 2;
+#X connect 18 0 7 3;
+#X restore 63 442 pd \$0-transformations;
+#N canvas 0 0 679 337 \$0-colourize-and-limit-depth 0;
+#X obj 297 19 inlet;
+#X obj 293 298 outlet;
+#X text 343 299 gem;
+#X text 347 21 gem;
+#X obj 436 18 inlet;
+#X text 487 18 count;
+#X obj 352 171 v \$0-depth;
+#X obj 352 191 - 1;
+#X obj 352 211 max 0;
+#X obj 352 231 v \$0-depth;
+#X obj 294 246 spigot;
+#X obj 264 174 v \$0-depth;
+#X obj 264 214 v \$0-depth;
+#X obj 264 194 + 1;
+#X obj 436 189 v \$0-R;
+#X obj 436 229 v \$0-R;
+#X obj 486 189 v \$0-G;
+#X obj 486 229 v \$0-G;
+#X obj 536 229 v \$0-B;
+#X obj 536 189 v \$0-B;
+#X obj 436 71 tabread \$0-colour-R;
+#X obj 486 105 tabread \$0-colour-G;
+#X obj 536 128 tabread \$0-colour-B;
+#X text 442 248 Transform colours.;
+#X text 251 271 Limit recursion depth.;
+#X obj 536 209 + 1;
+#X obj 486 209 + 1;
+#X obj 435 209 + 1;
+#X obj 297 52 t b a b;
+#X obj 436 167 t b f;
+#X obj 486 167 t b f;
+#X obj 536 167 t b f;
+#X obj 46 18 inlet;
+#X text 97 18 count;
+#X obj 46 189 v \$0-R;
+#X obj 46 229 v \$0-R;
+#X obj 96 189 v \$0-G;
+#X obj 96 229 v \$0-G;
+#X obj 146 229 v \$0-B;
+#X obj 146 189 v \$0-B;
+#X obj 46 71 tabread \$0-colour-R;
+#X obj 96 105 tabread \$0-colour-G;
+#X obj 146 128 tabread \$0-colour-B;
+#X obj 46 167 t b f;
+#X obj 96 167 t b f;
+#X obj 146 167 t b f;
+#X text 52 252 Untransform colours.;
+#X obj 45 209 - 1;
+#X obj 96 209 - 1;
+#X obj 146 209 - 1;
+#X connect 0 0 28 0;
+#X connect 4 0 20 0;
+#X connect 4 0 21 0;
+#X connect 4 0 22 0;
+#X connect 6 0 7 0;
+#X connect 7 0 8 0;
+#X connect 8 0 9 0;
+#X connect 8 0 10 1;
+#X connect 10 0 1 0;
+#X connect 11 0 13 0;
+#X connect 13 0 12 0;
+#X connect 14 0 27 0;
+#X connect 16 0 26 0;
+#X connect 19 0 25 0;
+#X connect 20 0 29 0;
+#X connect 21 0 30 0;
+#X connect 22 0 31 0;
+#X connect 25 0 18 0;
+#X connect 26 0 17 0;
+#X connect 27 0 15 0;
+#X connect 28 0 11 0;
+#X connect 28 1 10 0;
+#X connect 28 2 6 0;
+#X connect 29 0 14 0;
+#X connect 29 1 27 1;
+#X connect 30 0 16 0;
+#X connect 30 1 26 1;
+#X connect 31 0 19 0;
+#X connect 31 1 25 1;
+#X connect 32 0 40 0;
+#X connect 32 0 41 0;
+#X connect 32 0 42 0;
+#X connect 34 0 47 0;
+#X connect 36 0 48 0;
+#X connect 39 0 49 0;
+#X connect 40 0 43 0;
+#X connect 41 0 44 0;
+#X connect 42 0 45 0;
+#X connect 43 0 34 0;
+#X connect 43 1 47 1;
+#X connect 44 0 36 0;
+#X connect 44 1 48 1;
+#X connect 45 0 39 0;
+#X connect 45 1 49 1;
+#X connect 47 0 35 0;
+#X connect 48 0 37 0;
+#X connect 49 0 38 0;
+#X restore 14 479 pd \$0-colourize-and-limit-depth;
+#X obj 14 499 s \$0-recurse;
+#X obj 14 223 t a b;
+#N canvas 22 26 435 181 \$0-initialize 0;
+#X obj 23 20 inlet;
+#X text 68 19 bang;
+#X obj 23 122 v \$0-depth;
+#X obj 23 102 f 4;
+#X obj 103 122 v \$0-R;
+#X obj 153 122 v \$0-G;
+#X obj 203 122 v \$0-B;
+#X obj 160 21 inlet;
+#X text 205 20 max depth;
+#X text 18 146 Initialize the variables: recursion depth and object
+colours.;
+#X obj 203 98 f 0;
+#X obj 153 99 f 0;
+#X obj 103 98 f 0;
+#X connect 0 0 3 0;
+#X connect 0 0 10 0;
+#X connect 0 0 11 0;
+#X connect 0 0 12 0;
+#X connect 3 0 2 0;
+#X connect 7 0 3 1;
+#X connect 10 0 6 0;
+#X connect 11 0 5 0;
+#X connect 12 0 4 0;
+#X restore 44 243 pd \$0-initialize;
+#X floatatom 151 200 5 0 0 2 depth - -;
+#N canvas 0 0 340 391 \$0-draw-object 0;
+#X obj 23 14 inlet;
+#X text 69 13 gem;
+#X obj 23 67 t a b b b;
+#X obj 23 321 colorRGB;
+#X obj 23 358 cube;
+#X obj 240 291 inlet;
+#X text 286 291 alpha;
+#X obj 42 106 v \$0-R;
+#X obj 120 104 v \$0-G;
+#X obj 198 104 v \$0-B;
+#X text 125 76 Normalize the colour range.;
+#X obj 23 41 separator;
+#X obj 42 253 expr $f1/$f4 \; $f2/$f4 \; $f3/$f4;
+#X obj 42 128 expr $f1 \; $f2 \; $f3 \; max(max(max($f1 \, $f2) \,
+$f3) \, 1);
+#X connect 0 0 11 0;
+#X connect 2 0 3 0;
+#X connect 2 1 7 0;
+#X connect 2 2 8 0;
+#X connect 2 3 9 0;
+#X connect 3 0 4 0;
+#X connect 5 0 3 4;
+#X connect 7 0 13 0;
+#X connect 8 0 13 1;
+#X connect 9 0 13 2;
+#X connect 11 0 2 0;
+#X connect 12 0 3 1;
+#X connect 12 1 3 2;
+#X connect 12 2 3 3;
+#X connect 13 0 12 0;
+#X connect 13 1 12 1;
+#X connect 13 2 12 2;
+#X connect 13 3 12 3;
+#X restore 44 321 pd \$0-draw-object;
+#X floatatom 158 279 5 0 0 2 alpha - -;
+#X obj 158 299 / 100;
+#N canvas 0 0 650 615 \$0-gui 0;
+#X obj 11 11 xform-gui 0;
+#X obj 167 263 t a;
+#X msg 167 293 \$3 \$1 \$2;
+#X obj 167 329 unpack f f s;
+#X obj 246 355 select cR cG cB rX rY rZ tX tY tZ sX sY sZ;
+#X obj 167 576 tabwrite;
+#X obj 246 485 symbol \$0-colour-R;
+#X obj 270 465 symbol \$0-colour-G;
+#X obj 294 445 symbol \$0-colour-B;
+#X obj 318 425 symbol \$0-rotate-X;
+#X obj 342 405 symbol \$0-rotate-Y;
+#X obj 366 385 symbol \$0-rotate-Z;
+#X obj 390 485 symbol \$0-translate-X;
+#X obj 414 465 symbol \$0-translate-Y;
+#X obj 438 445 symbol \$0-translate-Z;
+#X obj 462 425 symbol \$0-scale-X;
+#X obj 486 405 symbol \$0-scale-Y;
+#X obj 510 385 symbol \$0-scale-Z;
+#X obj 374 552 list prepend set;
+#X obj 374 572 list trim;
+#X obj 495 112 inlet;
+#X obj 71 11 xform-gui 1;
+#X obj 131 11 xform-gui 2;
+#X obj 191 11 xform-gui 3;
+#X obj 251 11 xform-gui 4;
+#X obj 311 11 xform-gui 5;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 5 0;
+#X connect 3 1 5 1;
+#X connect 3 2 4 0;
+#X connect 4 0 6 0;
+#X connect 4 1 7 0;
+#X connect 4 2 8 0;
+#X connect 4 3 9 0;
+#X connect 4 4 10 0;
+#X connect 4 5 11 0;
+#X connect 4 6 12 0;
+#X connect 4 7 13 0;
+#X connect 4 8 14 0;
+#X connect 4 9 15 0;
+#X connect 4 10 16 0;
+#X connect 4 11 17 0;
+#X connect 6 0 18 0;
+#X connect 7 0 18 0;
+#X connect 8 0 18 0;
+#X connect 9 0 18 0;
+#X connect 10 0 18 0;
+#X connect 11 0 18 0;
+#X connect 12 0 18 0;
+#X connect 13 0 18 0;
+#X connect 14 0 18 0;
+#X connect 15 0 18 0;
+#X connect 16 0 18 0;
+#X connect 17 0 18 0;
+#X connect 18 0 19 0;
+#X connect 19 0 5 0;
+#X connect 20 0 0 0;
+#X connect 20 0 21 0;
+#X connect 20 0 22 0;
+#X connect 20 0 23 0;
+#X connect 20 0 24 0;
+#X connect 20 0 25 0;
+#X connect 21 0 1 0;
+#X connect 22 0 1 0;
+#X connect 23 0 1 0;
+#X connect 24 0 1 0;
+#X connect 25 0 1 0;
+#X coords 0 -1 1 1 362 212 2 10 10;
+#X restore 275 286 pd \$0-gui;
+#X text 460 263 transformation parameters;
+#N canvas 0 0 360 364 \$0-transformation-parameters 0;
+#X obj 21 318 table \$0-scale-Z 6;
+#X obj 21 298 table \$0-scale-Y 6;
+#X obj 21 278 table \$0-scale-X 6;
+#X obj 21 208 table \$0-translate-X 6;
+#X obj 21 228 table \$0-translate-Y 6;
+#X obj 21 248 table \$0-translate-Z 6;
+#X obj 21 178 table \$0-rotate-Z 6;
+#X obj 21 158 table \$0-rotate-Y 6;
+#X obj 21 138 table \$0-rotate-X 6;
+#X obj 21 68 table \$0-colour-R 6;
+#X obj 21 88 table \$0-colour-G 6;
+#X obj 21 108 table \$0-colour-B 6;
+#X text 21 29 Tables to store transformation parameters.;
+#X restore 418 506 pd \$0-transformation-parameters;
+#X obj 14 191 alpha;
+#X msg 37 164 auto \$1;
+#X obj 38 139 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#N canvas 0 0 471 288 \$0-scene-transformation 0;
+#X obj 20 20 inlet;
+#X obj 20 42 t a b;
+#X obj 20 149 rotateXYZ;
+#X obj 50 67 f 0;
+#X obj 88 67 + 1;
+#X obj 62 98 / 1.618;
+#X obj 82 122 / 1.618;
+#X obj 20 217 scale 0.05;
+#X obj 53 191 inlet;
+#X obj 20 252 outlet;
+#X text 152 215 Scale the whole scene.;
+#X text 158 67 Rotate the whole scene continuously.;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 1 1 3 0;
+#X connect 2 0 7 0;
+#X connect 3 0 4 0;
+#X connect 3 0 2 1;
+#X connect 3 0 5 0;
+#X connect 4 0 3 1;
+#X connect 5 0 2 2;
+#X connect 5 0 6 0;
+#X connect 6 0 2 3;
+#X connect 7 0 9 0;
+#X connect 8 0 7 1;
+#X restore 14 115 pd \$0-scene-transformation;
+#X floatatom 158 69 5 0 0 2 scale - -;
+#X obj 158 89 / 100;
+#X obj 151 221 clip 0 6;
+#X text 219 182 Subpatches are used to hide the implementation details
+of each part of the patch. Further comments are inside.;
+#X obj 275 260 bng 15 250 50 1 empty empty randomize 17 7 0 10 -262144
+-1 -1;
+#X obj 14 404 nnrepeat 5;
+#X text 220 77 Another new object is necessary for full effect: [nnrepeat]
+which outputs the repeat count both before and after the repeated value
+\, thus we can do and undo actions before and after \, such as colourizing
+the geos according to the transformations. Allowing different parameters
+for each transformation means we can create non-symmetric structures
+with some sort of self-similarity.;
+#X msg 48 13 create;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 3 0 25 0;
+#X connect 6 0 7 0;
+#X connect 7 0 31 0;
+#X connect 7 1 16 0;
+#X connect 8 0 9 0;
+#X connect 9 0 31 1;
+#X connect 10 0 11 1;
+#X connect 11 0 12 0;
+#X connect 13 0 7 0;
+#X connect 13 1 14 0;
+#X connect 15 0 28 0;
+#X connect 17 0 18 0;
+#X connect 18 0 16 1;
+#X connect 22 0 13 0;
+#X connect 23 0 22 0;
+#X connect 24 0 23 0;
+#X connect 25 0 22 0;
+#X connect 26 0 27 0;
+#X connect 27 0 25 1;
+#X connect 28 0 14 1;
+#X connect 30 0 19 0;
+#X connect 31 0 11 0;
+#X connect 31 1 10 0;
+#X connect 31 2 10 1;
+#X connect 31 2 11 2;
+#X connect 33 0 0 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/13.recursion/README b/packages/noncvs/windows/extra/Gem/examples/13.recursion/README
index 77fdbc98..b2928eef 100644
--- a/packages/noncvs/windows/extra/Gem/examples/13.recursion/README
+++ b/packages/noncvs/windows/extra/Gem/examples/13.recursion/README
@@ -1,23 +1,23 @@
-gem-recursion -- a tutorial on using recursion with Gem
-Copyright (C) 2007 Claude Heiland-Allen <claudiusmaximus@goto10.org>
-
-
-This program is free software; you can redistribute it and/or
-modify it under the terms of the GNU General Public License
-as published by the Free Software Foundation; either version 2
-of the License, or (at your option) any later version.
-
-This program 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 General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-
-Requirements:
-(*) pd-0.40-2 or greater
-(*) Gem for pd
-(*) Zexy for pd
+gem-recursion -- a tutorial on using recursion with Gem
+Copyright (C) 2007 Claude Heiland-Allen <claudiusmaximus@goto10.org>
+
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program 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 General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+
+Requirements:
+(*) pd-0.40-2 or greater
+(*) Gem for pd
+(*) Zexy for pd
diff --git a/packages/noncvs/windows/extra/Gem/examples/13.recursion/nnrepeat-help.pd b/packages/noncvs/windows/extra/Gem/examples/13.recursion/nnrepeat-help.pd
index b23304e6..b9b6b4b2 100644
--- a/packages/noncvs/windows/extra/Gem/examples/13.recursion/nnrepeat-help.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/13.recursion/nnrepeat-help.pd
@@ -1,28 +1,28 @@
-#N canvas 0 0 506 325 10;
-#X floatatom 87 195 5 0 0 0 - - -;
-#X text 94 11 - repeat a message several times with counter;
-#X obj 54 273 print repeat;
-#X msg 22 110 bang;
-#X msg 49 136 1 1 2 3 5 8 13 21 44 fibonacchi;
-#X text 63 111 repeat bangs;
-#X text 282 138 repeat a list;
-#X msg 69 166 set 5;
-#X text 117 167 repeat anything;
-#X text 127 194 reset the number of repetitions;
-#X text 100 220 creation argument initializes the number of repeats
-;
-#X obj 19 12 nnrepeat 1;
-#X obj 22 219 nnrepeat 3;
-#X obj 87 250 print n1;
-#X obj 22 297 print n2;
-#X text 19 44 Similar to [repeat] from Zexy but outputs the repetition
-count from the right-hand outlet then outputs the repeated input from
-the middle outlet \, then outputs the repetition count again from the
-left-hand outlet.;
-#X connect 0 0 12 1;
-#X connect 3 0 12 0;
-#X connect 4 0 12 0;
-#X connect 7 0 12 0;
-#X connect 12 0 14 0;
-#X connect 12 1 2 0;
-#X connect 12 2 13 0;
+#N canvas 0 0 506 325 10;
+#X floatatom 87 195 5 0 0 0 - - -;
+#X text 94 11 - repeat a message several times with counter;
+#X obj 54 273 print repeat;
+#X msg 22 110 bang;
+#X msg 49 136 1 1 2 3 5 8 13 21 44 fibonacchi;
+#X text 63 111 repeat bangs;
+#X text 282 138 repeat a list;
+#X msg 69 166 set 5;
+#X text 117 167 repeat anything;
+#X text 127 194 reset the number of repetitions;
+#X text 100 220 creation argument initializes the number of repeats
+;
+#X obj 19 12 nnrepeat 1;
+#X obj 22 219 nnrepeat 3;
+#X obj 87 250 print n1;
+#X obj 22 297 print n2;
+#X text 19 44 Similar to [repeat] from Zexy but outputs the repetition
+count from the right-hand outlet then outputs the repeated input from
+the middle outlet \, then outputs the repetition count again from the
+left-hand outlet.;
+#X connect 0 0 12 1;
+#X connect 3 0 12 0;
+#X connect 4 0 12 0;
+#X connect 7 0 12 0;
+#X connect 12 0 14 0;
+#X connect 12 1 2 0;
+#X connect 12 2 13 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/13.recursion/nnrepeat-test.pd b/packages/noncvs/windows/extra/Gem/examples/13.recursion/nnrepeat-test.pd
index 91b5c94f..f28e16f5 100644
--- a/packages/noncvs/windows/extra/Gem/examples/13.recursion/nnrepeat-test.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/13.recursion/nnrepeat-test.pd
@@ -1,55 +1,55 @@
-#N canvas 0 0 481 517 10;
-#X obj 71 95 r \$0-recurse;
-#X obj 71 380 s \$0-recurse;
-#X obj 140 270 t b a b;
-#X obj 224 290 v \$0-depth;
-#X obj 224 310 - 1;
-#X obj 224 330 max 0;
-#X obj 162 350 spigot;
-#X obj 224 350 v \$0-depth;
-#X obj 185 160 t b f;
-#X obj 185 183 v \$0-depth;
-#X obj 185 208 pack f f;
-#X obj 140 290 v \$0-depth;
-#X obj 140 330 v \$0-depth;
-#X obj 140 310 + 1;
-#X obj 108 50 t a b;
-#X msg 108 21 nrepeat test;
-#X obj 285 108 v \$0-depth;
-#X floatatom 262 77 5 0 0 2 max-depth - -;
-#X floatatom 261 38 5 0 0 2 repetitions - -;
-#X obj 246 108 f 3;
-#X obj 185 235 print ->;
-#X obj 98 160 t b f;
-#X obj 98 183 v \$0-depth;
-#X obj 98 208 pack f f;
-#X obj 98 235 print <-;
-#X obj 108 135 nnrepeat 2;
-#X connect 0 0 25 0;
-#X connect 2 0 11 0;
-#X connect 2 1 6 0;
-#X connect 2 2 3 0;
-#X connect 3 0 4 0;
-#X connect 4 0 5 0;
-#X connect 5 0 6 1;
-#X connect 5 0 7 0;
-#X connect 6 0 1 0;
-#X connect 8 0 9 0;
-#X connect 8 1 10 1;
-#X connect 9 0 10 0;
-#X connect 10 0 20 0;
-#X connect 11 0 13 0;
-#X connect 13 0 12 0;
-#X connect 14 0 25 0;
-#X connect 14 1 19 0;
-#X connect 15 0 14 0;
-#X connect 17 0 19 1;
-#X connect 18 0 25 1;
-#X connect 19 0 16 0;
-#X connect 21 0 22 0;
-#X connect 21 1 23 1;
-#X connect 22 0 23 0;
-#X connect 23 0 24 0;
-#X connect 25 0 21 0;
-#X connect 25 1 2 0;
-#X connect 25 2 8 0;
+#N canvas 0 0 481 517 10;
+#X obj 71 95 r \$0-recurse;
+#X obj 71 380 s \$0-recurse;
+#X obj 140 270 t b a b;
+#X obj 224 290 v \$0-depth;
+#X obj 224 310 - 1;
+#X obj 224 330 max 0;
+#X obj 162 350 spigot;
+#X obj 224 350 v \$0-depth;
+#X obj 185 160 t b f;
+#X obj 185 183 v \$0-depth;
+#X obj 185 208 pack f f;
+#X obj 140 290 v \$0-depth;
+#X obj 140 330 v \$0-depth;
+#X obj 140 310 + 1;
+#X obj 108 50 t a b;
+#X msg 108 21 nrepeat test;
+#X obj 285 108 v \$0-depth;
+#X floatatom 262 77 5 0 0 2 max-depth - -;
+#X floatatom 261 38 5 0 0 2 repetitions - -;
+#X obj 246 108 f 3;
+#X obj 185 235 print ->;
+#X obj 98 160 t b f;
+#X obj 98 183 v \$0-depth;
+#X obj 98 208 pack f f;
+#X obj 98 235 print <-;
+#X obj 108 135 nnrepeat 2;
+#X connect 0 0 25 0;
+#X connect 2 0 11 0;
+#X connect 2 1 6 0;
+#X connect 2 2 3 0;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 5 0 6 1;
+#X connect 5 0 7 0;
+#X connect 6 0 1 0;
+#X connect 8 0 9 0;
+#X connect 8 1 10 1;
+#X connect 9 0 10 0;
+#X connect 10 0 20 0;
+#X connect 11 0 13 0;
+#X connect 13 0 12 0;
+#X connect 14 0 25 0;
+#X connect 14 1 19 0;
+#X connect 15 0 14 0;
+#X connect 17 0 19 1;
+#X connect 18 0 25 1;
+#X connect 19 0 16 0;
+#X connect 21 0 22 0;
+#X connect 21 1 23 1;
+#X connect 22 0 23 0;
+#X connect 23 0 24 0;
+#X connect 25 0 21 0;
+#X connect 25 1 2 0;
+#X connect 25 2 8 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/13.recursion/nnrepeat.pd b/packages/noncvs/windows/extra/Gem/examples/13.recursion/nnrepeat.pd
index 9ac5f37d..94c5d140 100644
--- a/packages/noncvs/windows/extra/Gem/examples/13.recursion/nnrepeat.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/13.recursion/nnrepeat.pd
@@ -1,27 +1,27 @@
-#N canvas 0 0 400 328 10;
-#X obj 61 94 nrepeat \$1;
-#X obj 136 21 inlet;
-#X text 178 21 count;
-#X obj 27 20 inlet;
-#X text 68 21 repeatee;
-#X obj 88 175 stack;
-#X obj 61 136 t b a;
-#X obj 126 137 t f f;
-#X obj 25 262 outlet;
-#X text 75 263 count;
-#X obj 132 263 outlet;
-#X text 182 264 repeated;
-#X obj 256 263 outlet;
-#X text 311 265 count;
-#X obj 132 209 print nnrepeat-internal-error;
-#X text 23 295 nnrepeat.pd (GPL) <claudiusmaximus@goto10.org>;
-#X connect 0 0 6 0;
-#X connect 0 1 7 0;
-#X connect 1 0 0 1;
-#X connect 3 0 0 0;
-#X connect 5 0 8 0;
-#X connect 5 1 14 0;
-#X connect 6 0 5 0;
-#X connect 6 1 10 0;
-#X connect 7 0 12 0;
-#X connect 7 1 5 1;
+#N canvas 0 0 400 328 10;
+#X obj 61 94 nrepeat \$1;
+#X obj 136 21 inlet;
+#X text 178 21 count;
+#X obj 27 20 inlet;
+#X text 68 21 repeatee;
+#X obj 88 175 stack;
+#X obj 61 136 t b a;
+#X obj 126 137 t f f;
+#X obj 25 262 outlet;
+#X text 75 263 count;
+#X obj 132 263 outlet;
+#X text 182 264 repeated;
+#X obj 256 263 outlet;
+#X text 311 265 count;
+#X obj 132 209 print nnrepeat-internal-error;
+#X text 23 295 nnrepeat.pd (GPL) <claudiusmaximus@goto10.org>;
+#X connect 0 0 6 0;
+#X connect 0 1 7 0;
+#X connect 1 0 0 1;
+#X connect 3 0 0 0;
+#X connect 5 0 8 0;
+#X connect 5 1 14 0;
+#X connect 6 0 5 0;
+#X connect 6 1 10 0;
+#X connect 7 0 12 0;
+#X connect 7 1 5 1;
diff --git a/packages/noncvs/windows/extra/Gem/examples/13.recursion/nrepeat-help.pd b/packages/noncvs/windows/extra/Gem/examples/13.recursion/nrepeat-help.pd
index 41f21de7..a65dafb1 100644
--- a/packages/noncvs/windows/extra/Gem/examples/13.recursion/nrepeat-help.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/13.recursion/nrepeat-help.pd
@@ -1,25 +1,25 @@
-#N canvas 0 0 506 325 10;
-#X floatatom 80 196 5 0 0 0 - - -;
-#X obj 19 12 nrepeat 1;
-#X text 94 11 - repeat a message several times with counter;
-#X text 19 44 Similar to [repeat] from Zexy but also outputs the repetition
-count from the right-hand outlet before it outputs the repeated input
-from the left-hand outlet.;
-#X obj 22 219 nrepeat 3;
-#X obj 22 273 print repeat;
-#X obj 80 249 print n;
-#X msg 22 110 bang;
-#X msg 49 136 1 1 2 3 5 8 13 21 44 fibonacchi;
-#X text 63 111 repeat bangs;
-#X text 282 138 repeat a list;
-#X msg 69 166 set 5;
-#X text 117 167 repeat anything;
-#X text 127 194 reset the number of repetitions;
-#X text 100 220 creation argument initializes the number of repeats
-;
-#X connect 0 0 4 1;
-#X connect 4 0 5 0;
-#X connect 4 1 6 0;
-#X connect 7 0 4 0;
-#X connect 8 0 4 0;
-#X connect 11 0 4 0;
+#N canvas 0 0 506 325 10;
+#X floatatom 80 196 5 0 0 0 - - -;
+#X obj 19 12 nrepeat 1;
+#X text 94 11 - repeat a message several times with counter;
+#X text 19 44 Similar to [repeat] from Zexy but also outputs the repetition
+count from the right-hand outlet before it outputs the repeated input
+from the left-hand outlet.;
+#X obj 22 219 nrepeat 3;
+#X obj 22 273 print repeat;
+#X obj 80 249 print n;
+#X msg 22 110 bang;
+#X msg 49 136 1 1 2 3 5 8 13 21 44 fibonacchi;
+#X text 63 111 repeat bangs;
+#X text 282 138 repeat a list;
+#X msg 69 166 set 5;
+#X text 117 167 repeat anything;
+#X text 127 194 reset the number of repetitions;
+#X text 100 220 creation argument initializes the number of repeats
+;
+#X connect 0 0 4 1;
+#X connect 4 0 5 0;
+#X connect 4 1 6 0;
+#X connect 7 0 4 0;
+#X connect 8 0 4 0;
+#X connect 11 0 4 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/13.recursion/nrepeat-test.pd b/packages/noncvs/windows/extra/Gem/examples/13.recursion/nrepeat-test.pd
index 48348b32..cb59195d 100644
--- a/packages/noncvs/windows/extra/Gem/examples/13.recursion/nrepeat-test.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/13.recursion/nrepeat-test.pd
@@ -1,46 +1,46 @@
-#N canvas 0 0 481 517 10;
-#X obj 71 95 r \$0-recurse;
-#X obj 71 380 s \$0-recurse;
-#X obj 108 260 t b a b;
-#X obj 192 280 v \$0-depth;
-#X obj 192 300 - 1;
-#X obj 192 320 max 0;
-#X obj 130 340 spigot;
-#X obj 192 340 v \$0-depth;
-#X obj 166 160 t b f;
-#X obj 166 183 v \$0-depth;
-#X obj 166 208 pack f f;
-#X obj 165 239 print nrepeat;
-#X obj 108 280 v \$0-depth;
-#X obj 108 320 v \$0-depth;
-#X obj 108 300 + 1;
-#X obj 108 50 t a b;
-#X msg 108 21 nrepeat test;
-#X obj 285 108 v \$0-depth;
-#X floatatom 262 77 5 0 0 2 max-depth - -;
-#X floatatom 261 38 5 0 0 2 repetitions - -;
-#X obj 246 108 f 3;
-#X obj 108 135 nrepeat 2;
-#X connect 0 0 21 0;
-#X connect 2 0 12 0;
-#X connect 2 1 6 0;
-#X connect 2 2 3 0;
-#X connect 3 0 4 0;
-#X connect 4 0 5 0;
-#X connect 5 0 6 1;
-#X connect 5 0 7 0;
-#X connect 6 0 1 0;
-#X connect 8 0 9 0;
-#X connect 8 1 10 1;
-#X connect 9 0 10 0;
-#X connect 10 0 11 0;
-#X connect 12 0 14 0;
-#X connect 14 0 13 0;
-#X connect 15 0 21 0;
-#X connect 15 1 20 0;
-#X connect 16 0 15 0;
-#X connect 18 0 20 1;
-#X connect 19 0 21 1;
-#X connect 20 0 17 0;
-#X connect 21 0 2 0;
-#X connect 21 1 8 0;
+#N canvas 0 0 481 517 10;
+#X obj 71 95 r \$0-recurse;
+#X obj 71 380 s \$0-recurse;
+#X obj 108 260 t b a b;
+#X obj 192 280 v \$0-depth;
+#X obj 192 300 - 1;
+#X obj 192 320 max 0;
+#X obj 130 340 spigot;
+#X obj 192 340 v \$0-depth;
+#X obj 166 160 t b f;
+#X obj 166 183 v \$0-depth;
+#X obj 166 208 pack f f;
+#X obj 165 239 print nrepeat;
+#X obj 108 280 v \$0-depth;
+#X obj 108 320 v \$0-depth;
+#X obj 108 300 + 1;
+#X obj 108 50 t a b;
+#X msg 108 21 nrepeat test;
+#X obj 285 108 v \$0-depth;
+#X floatatom 262 77 5 0 0 2 max-depth - -;
+#X floatatom 261 38 5 0 0 2 repetitions - -;
+#X obj 246 108 f 3;
+#X obj 108 135 nrepeat 2;
+#X connect 0 0 21 0;
+#X connect 2 0 12 0;
+#X connect 2 1 6 0;
+#X connect 2 2 3 0;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 5 0 6 1;
+#X connect 5 0 7 0;
+#X connect 6 0 1 0;
+#X connect 8 0 9 0;
+#X connect 8 1 10 1;
+#X connect 9 0 10 0;
+#X connect 10 0 11 0;
+#X connect 12 0 14 0;
+#X connect 14 0 13 0;
+#X connect 15 0 21 0;
+#X connect 15 1 20 0;
+#X connect 16 0 15 0;
+#X connect 18 0 20 1;
+#X connect 19 0 21 1;
+#X connect 20 0 17 0;
+#X connect 21 0 2 0;
+#X connect 21 1 8 0;
diff --git a/packages/noncvs/windows/extra/Gem/examples/13.recursion/nrepeat.pd b/packages/noncvs/windows/extra/Gem/examples/13.recursion/nrepeat.pd
index 2281300a..87f46165 100644
--- a/packages/noncvs/windows/extra/Gem/examples/13.recursion/nrepeat.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/13.recursion/nrepeat.pd
@@ -1,49 +1,49 @@
-#N canvas 0 0 413 451 10;
-#X obj 78 26 inlet;
-#X obj 78 60 t b a b;
-#X obj 131 121 repeat \$1;
-#X obj 189 24 inlet;
-#X obj 92 239 stack;
-#X msg 122 192 0;
-#X msg 146 239 0;
-#X obj 78 192 t b b;
-#X obj 131 142 t a b;
-#X obj 161 193 t b b;
-#X msg 176 240 1;
-#X obj 92 267 list prepend;
-#X obj 92 295 route 0 1;
-#X text 86 312 nop;
-#X obj 121 321 t f f;
-#X obj 236 195 + 1;
-#X obj 121 361 outlet;
-#X obj 10 205 outlet;
-#X obj 187 298 print nrepeat-stack-underflow;
-#X obj 187 328 print nrepeat-internal-error;
-#X text 119 24 repeatee;
-#X text 233 23 count;
-#X text 8 225 repeated;
-#X text 119 381 counter;
-#X text 30 419 nrepeat.pd (GPL) <claudiusmaximus@goto10.org>;
-#X connect 0 0 1 0;
-#X connect 1 0 7 0;
-#X connect 1 1 2 0;
-#X connect 1 2 5 0;
-#X connect 2 0 8 0;
-#X connect 3 0 2 1;
-#X connect 4 0 11 0;
-#X connect 4 1 18 0;
-#X connect 5 0 4 1;
-#X connect 6 0 11 1;
-#X connect 7 0 4 0;
-#X connect 7 1 6 0;
-#X connect 8 0 17 0;
-#X connect 8 1 9 0;
-#X connect 9 0 4 0;
-#X connect 9 1 10 0;
-#X connect 10 0 11 1;
-#X connect 11 0 12 0;
-#X connect 12 1 14 0;
-#X connect 12 2 19 0;
-#X connect 14 0 16 0;
-#X connect 14 1 15 0;
-#X connect 15 0 4 1;
+#N canvas 0 0 413 451 10;
+#X obj 78 26 inlet;
+#X obj 78 60 t b a b;
+#X obj 131 121 repeat \$1;
+#X obj 189 24 inlet;
+#X obj 92 239 stack;
+#X msg 122 192 0;
+#X msg 146 239 0;
+#X obj 78 192 t b b;
+#X obj 131 142 t a b;
+#X obj 161 193 t b b;
+#X msg 176 240 1;
+#X obj 92 267 list prepend;
+#X obj 92 295 route 0 1;
+#X text 86 312 nop;
+#X obj 121 321 t f f;
+#X obj 236 195 + 1;
+#X obj 121 361 outlet;
+#X obj 10 205 outlet;
+#X obj 187 298 print nrepeat-stack-underflow;
+#X obj 187 328 print nrepeat-internal-error;
+#X text 119 24 repeatee;
+#X text 233 23 count;
+#X text 8 225 repeated;
+#X text 119 381 counter;
+#X text 30 419 nrepeat.pd (GPL) <claudiusmaximus@goto10.org>;
+#X connect 0 0 1 0;
+#X connect 1 0 7 0;
+#X connect 1 1 2 0;
+#X connect 1 2 5 0;
+#X connect 2 0 8 0;
+#X connect 3 0 2 1;
+#X connect 4 0 11 0;
+#X connect 4 1 18 0;
+#X connect 5 0 4 1;
+#X connect 6 0 11 1;
+#X connect 7 0 4 0;
+#X connect 7 1 6 0;
+#X connect 8 0 17 0;
+#X connect 8 1 9 0;
+#X connect 9 0 4 0;
+#X connect 9 1 10 0;
+#X connect 10 0 11 1;
+#X connect 11 0 12 0;
+#X connect 12 1 14 0;
+#X connect 12 2 19 0;
+#X connect 14 0 16 0;
+#X connect 14 1 15 0;
+#X connect 15 0 4 1;
diff --git a/packages/noncvs/windows/extra/Gem/examples/13.recursion/stack-help.pd b/packages/noncvs/windows/extra/Gem/examples/13.recursion/stack-help.pd
index 025fa746..681c4fed 100644
--- a/packages/noncvs/windows/extra/Gem/examples/13.recursion/stack-help.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/13.recursion/stack-help.pd
@@ -1,20 +1,20 @@
-#N canvas 0 0 411 333 10;
-#X obj 43 199 stack;
-#X obj 43 269 print popped;
-#X obj 73 249 print empty;
-#X msg 130 163 list foo 2 bar;
-#X floatatom 73 108 5 0 0 1 float - -;
-#X obj 43 79 bng 15 250 50 0 empty empty pop 17 7 0 10 -262144 -1 -1
-;
-#X symbolatom 101 135 10 0 0 1 symbol - -;
-#X text 241 164 mixture of stuff;
-#X text 13 9 A stack is a "first in \, last out" structure.;
-#X text 13 48 Right inlet stores atom(s).;
-#X text 13 29 Left inlet unstores the most recently stored atom.;
-#X text 11 301 stack-help.pd (GPL) <claudiusmaximus@goto10.org>;
-#X connect 0 0 1 0;
-#X connect 0 1 2 0;
-#X connect 3 0 0 1;
-#X connect 4 0 0 1;
-#X connect 5 0 0 0;
-#X connect 6 0 0 1;
+#N canvas 0 0 411 333 10;
+#X obj 43 199 stack;
+#X obj 43 269 print popped;
+#X obj 73 249 print empty;
+#X msg 130 163 list foo 2 bar;
+#X floatatom 73 108 5 0 0 1 float - -;
+#X obj 43 79 bng 15 250 50 0 empty empty pop 17 7 0 10 -262144 -1 -1
+;
+#X symbolatom 101 135 10 0 0 1 symbol - -;
+#X text 241 164 mixture of stuff;
+#X text 13 9 A stack is a "first in \, last out" structure.;
+#X text 13 48 Right inlet stores atom(s).;
+#X text 13 29 Left inlet unstores the most recently stored atom.;
+#X text 11 301 stack-help.pd (GPL) <claudiusmaximus@goto10.org>;
+#X connect 0 0 1 0;
+#X connect 0 1 2 0;
+#X connect 3 0 0 1;
+#X connect 4 0 0 1;
+#X connect 5 0 0 0;
+#X connect 6 0 0 1;
diff --git a/packages/noncvs/windows/extra/Gem/examples/13.recursion/stack.pd b/packages/noncvs/windows/extra/Gem/examples/13.recursion/stack.pd
index ab47928d..c0682401 100644
--- a/packages/noncvs/windows/extra/Gem/examples/13.recursion/stack.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/13.recursion/stack.pd
@@ -1,38 +1,38 @@
-#N canvas 0 0 351 366 10;
-#X obj 25 19 inlet;
-#X text 69 18 pop;
-#X obj 166 18 inlet;
-#X text 213 17 push;
-#X obj 25 53 t b b;
-#X obj 25 152 list prepend;
-#X msg 88 127 0;
-#X msg 121 127 1;
-#X obj 25 183 route 0 1;
-#X obj 25 251 list split 1;
-#X obj 25 298 outlet;
-#X obj 25 97 list;
-#X text 79 298 popped;
-#X obj 166 299 outlet;
-#X text 220 298 empty;
-#X obj 166 47 t b a b;
-#X obj 109 217 list prepend;
-#X obj 120 182 print stack-internal-error;
-#X text 17 330 stack.pd (GPL) <claudiusmaximus@goto10.org>;
-#X connect 0 0 4 0;
-#X connect 2 0 15 0;
-#X connect 4 0 11 0;
-#X connect 4 1 6 0;
-#X connect 5 0 8 0;
-#X connect 6 0 5 1;
-#X connect 7 0 5 1;
-#X connect 8 0 9 0;
-#X connect 8 1 16 0;
-#X connect 8 2 17 0;
-#X connect 9 0 10 0;
-#X connect 9 1 11 1;
-#X connect 9 2 13 0;
-#X connect 11 0 5 0;
-#X connect 15 0 11 0;
-#X connect 15 1 16 1;
-#X connect 15 2 7 0;
-#X connect 16 0 11 1;
+#N canvas 0 0 351 366 10;
+#X obj 25 19 inlet;
+#X text 69 18 pop;
+#X obj 166 18 inlet;
+#X text 213 17 push;
+#X obj 25 53 t b b;
+#X obj 25 152 list prepend;
+#X msg 88 127 0;
+#X msg 121 127 1;
+#X obj 25 183 route 0 1;
+#X obj 25 251 list split 1;
+#X obj 25 298 outlet;
+#X obj 25 97 list;
+#X text 79 298 popped;
+#X obj 166 299 outlet;
+#X text 220 298 empty;
+#X obj 166 47 t b a b;
+#X obj 109 217 list prepend;
+#X obj 120 182 print stack-internal-error;
+#X text 17 330 stack.pd (GPL) <claudiusmaximus@goto10.org>;
+#X connect 0 0 4 0;
+#X connect 2 0 15 0;
+#X connect 4 0 11 0;
+#X connect 4 1 6 0;
+#X connect 5 0 8 0;
+#X connect 6 0 5 1;
+#X connect 7 0 5 1;
+#X connect 8 0 9 0;
+#X connect 8 1 16 0;
+#X connect 8 2 17 0;
+#X connect 9 0 10 0;
+#X connect 9 1 11 1;
+#X connect 9 2 13 0;
+#X connect 11 0 5 0;
+#X connect 15 0 11 0;
+#X connect 15 1 16 1;
+#X connect 15 2 7 0;
+#X connect 16 0 11 1;
diff --git a/packages/noncvs/windows/extra/Gem/examples/13.recursion/xform-gui.pd b/packages/noncvs/windows/extra/Gem/examples/13.recursion/xform-gui.pd
index efe1e891..f0339331 100644
--- a/packages/noncvs/windows/extra/Gem/examples/13.recursion/xform-gui.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/13.recursion/xform-gui.pd
@@ -1,120 +1,120 @@
-#N canvas 0 0 476 324 10;
-#X obj 340 251 list prepend \$1;
-#X obj 340 275 outlet;
-#X floatatom 220 13 5 0 0 0 cR - -;
-#X floatatom 220 29 5 0 0 0 cG - -;
-#X floatatom 220 45 5 0 0 0 cB - -;
-#X floatatom 220 66 5 0 0 0 rX - -;
-#X floatatom 220 82 5 0 0 0 rY - -;
-#X floatatom 220 98 5 0 0 0 rZ - -;
-#X floatatom 220 119 5 0 0 0 tX - -;
-#X floatatom 220 135 5 0 0 0 tY - -;
-#X floatatom 220 151 5 0 0 0 tZ - -;
-#X floatatom 220 172 5 0 0 0 sX - -;
-#X floatatom 220 188 5 0 0 0 sY - -;
-#X floatatom 220 204 5 0 0 0 sZ - -;
-#X obj 282 173 / 100;
-#X obj 282 193 / 100;
-#X obj 282 213 / 100;
-#X obj 282 111 / 10;
-#X obj 282 131 / 10;
-#X obj 282 151 / 10;
-#X obj 341 5 list prepend cR;
-#X obj 341 65 list prepend rX;
-#X obj 341 85 list prepend rY;
-#X obj 341 105 list prepend rZ;
-#X obj 341 125 list prepend tX;
-#X obj 341 145 list prepend tY;
-#X obj 341 165 list prepend tZ;
-#X obj 341 185 list prepend sX;
-#X obj 341 205 list prepend sY;
-#X obj 341 225 list prepend sZ;
-#X obj 341 25 list prepend cG;
-#X obj 341 45 list prepend cB;
-#X obj 67 70 random 360;
-#X obj 67 90 random 360;
-#X obj 67 110 random 360;
-#X obj 147 110 - 180;
-#X obj 147 90 - 180;
-#X obj 147 70 - 180;
-#X obj 67 130 random 360;
-#X obj 67 150 random 360;
-#X obj 67 170 random 360;
-#X obj 147 170 - 180;
-#X obj 147 150 - 180;
-#X obj 147 130 - 180;
-#X obj 8 6 inlet;
-#X obj 67 10 random 5;
-#X obj 67 30 random 5;
-#X obj 67 50 random 5;
-#X obj 67 190 random 50;
-#X obj 67 210 random 50;
-#X obj 67 230 random 50;
-#X obj 147 190 + 50;
-#X obj 147 210 + 50;
-#X obj 147 230 + 50;
-#X connect 0 0 1 0;
-#X connect 2 0 20 0;
-#X connect 3 0 30 0;
-#X connect 4 0 31 0;
-#X connect 5 0 21 0;
-#X connect 6 0 22 0;
-#X connect 7 0 23 0;
-#X connect 8 0 17 0;
-#X connect 9 0 18 0;
-#X connect 10 0 19 0;
-#X connect 11 0 14 0;
-#X connect 12 0 15 0;
-#X connect 13 0 16 0;
-#X connect 14 0 27 0;
-#X connect 15 0 28 0;
-#X connect 16 0 29 0;
-#X connect 17 0 24 0;
-#X connect 18 0 25 0;
-#X connect 19 0 26 0;
-#X connect 20 0 0 0;
-#X connect 21 0 0 0;
-#X connect 22 0 0 0;
-#X connect 23 0 0 0;
-#X connect 24 0 0 0;
-#X connect 25 0 0 0;
-#X connect 26 0 0 0;
-#X connect 27 0 0 0;
-#X connect 28 0 0 0;
-#X connect 29 0 0 0;
-#X connect 30 0 0 0;
-#X connect 31 0 0 0;
-#X connect 32 0 37 0;
-#X connect 33 0 36 0;
-#X connect 34 0 35 0;
-#X connect 35 0 7 0;
-#X connect 36 0 6 0;
-#X connect 37 0 5 0;
-#X connect 38 0 43 0;
-#X connect 39 0 42 0;
-#X connect 40 0 41 0;
-#X connect 41 0 10 0;
-#X connect 42 0 9 0;
-#X connect 43 0 8 0;
-#X connect 44 0 32 0;
-#X connect 44 0 33 0;
-#X connect 44 0 34 0;
-#X connect 44 0 38 0;
-#X connect 44 0 39 0;
-#X connect 44 0 40 0;
-#X connect 44 0 45 0;
-#X connect 44 0 46 0;
-#X connect 44 0 47 0;
-#X connect 44 0 48 0;
-#X connect 44 0 49 0;
-#X connect 44 0 50 0;
-#X connect 45 0 2 0;
-#X connect 46 0 3 0;
-#X connect 47 0 4 0;
-#X connect 48 0 51 0;
-#X connect 49 0 52 0;
-#X connect 50 0 53 0;
-#X connect 51 0 11 0;
-#X connect 52 0 12 0;
-#X connect 53 0 13 0;
-#X coords 0 -1 1 1 60 210 2 200 10;
+#N canvas 0 0 476 324 10;
+#X obj 340 251 list prepend \$1;
+#X obj 340 275 outlet;
+#X floatatom 220 13 5 0 0 0 cR - -;
+#X floatatom 220 29 5 0 0 0 cG - -;
+#X floatatom 220 45 5 0 0 0 cB - -;
+#X floatatom 220 66 5 0 0 0 rX - -;
+#X floatatom 220 82 5 0 0 0 rY - -;
+#X floatatom 220 98 5 0 0 0 rZ - -;
+#X floatatom 220 119 5 0 0 0 tX - -;
+#X floatatom 220 135 5 0 0 0 tY - -;
+#X floatatom 220 151 5 0 0 0 tZ - -;
+#X floatatom 220 172 5 0 0 0 sX - -;
+#X floatatom 220 188 5 0 0 0 sY - -;
+#X floatatom 220 204 5 0 0 0 sZ - -;
+#X obj 282 173 / 100;
+#X obj 282 193 / 100;
+#X obj 282 213 / 100;
+#X obj 282 111 / 10;
+#X obj 282 131 / 10;
+#X obj 282 151 / 10;
+#X obj 341 5 list prepend cR;
+#X obj 341 65 list prepend rX;
+#X obj 341 85 list prepend rY;
+#X obj 341 105 list prepend rZ;
+#X obj 341 125 list prepend tX;
+#X obj 341 145 list prepend tY;
+#X obj 341 165 list prepend tZ;
+#X obj 341 185 list prepend sX;
+#X obj 341 205 list prepend sY;
+#X obj 341 225 list prepend sZ;
+#X obj 341 25 list prepend cG;
+#X obj 341 45 list prepend cB;
+#X obj 67 70 random 360;
+#X obj 67 90 random 360;
+#X obj 67 110 random 360;
+#X obj 147 110 - 180;
+#X obj 147 90 - 180;
+#X obj 147 70 - 180;
+#X obj 67 130 random 360;
+#X obj 67 150 random 360;
+#X obj 67 170 random 360;
+#X obj 147 170 - 180;
+#X obj 147 150 - 180;
+#X obj 147 130 - 180;
+#X obj 8 6 inlet;
+#X obj 67 10 random 5;
+#X obj 67 30 random 5;
+#X obj 67 50 random 5;
+#X obj 67 190 random 50;
+#X obj 67 210 random 50;
+#X obj 67 230 random 50;
+#X obj 147 190 + 50;
+#X obj 147 210 + 50;
+#X obj 147 230 + 50;
+#X connect 0 0 1 0;
+#X connect 2 0 20 0;
+#X connect 3 0 30 0;
+#X connect 4 0 31 0;
+#X connect 5 0 21 0;
+#X connect 6 0 22 0;
+#X connect 7 0 23 0;
+#X connect 8 0 17 0;
+#X connect 9 0 18 0;
+#X connect 10 0 19 0;
+#X connect 11 0 14 0;
+#X connect 12 0 15 0;
+#X connect 13 0 16 0;
+#X connect 14 0 27 0;
+#X connect 15 0 28 0;
+#X connect 16 0 29 0;
+#X connect 17 0 24 0;
+#X connect 18 0 25 0;
+#X connect 19 0 26 0;
+#X connect 20 0 0 0;
+#X connect 21 0 0 0;
+#X connect 22 0 0 0;
+#X connect 23 0 0 0;
+#X connect 24 0 0 0;
+#X connect 25 0 0 0;
+#X connect 26 0 0 0;
+#X connect 27 0 0 0;
+#X connect 28 0 0 0;
+#X connect 29 0 0 0;
+#X connect 30 0 0 0;
+#X connect 31 0 0 0;
+#X connect 32 0 37 0;
+#X connect 33 0 36 0;
+#X connect 34 0 35 0;
+#X connect 35 0 7 0;
+#X connect 36 0 6 0;
+#X connect 37 0 5 0;
+#X connect 38 0 43 0;
+#X connect 39 0 42 0;
+#X connect 40 0 41 0;
+#X connect 41 0 10 0;
+#X connect 42 0 9 0;
+#X connect 43 0 8 0;
+#X connect 44 0 32 0;
+#X connect 44 0 33 0;
+#X connect 44 0 34 0;
+#X connect 44 0 38 0;
+#X connect 44 0 39 0;
+#X connect 44 0 40 0;
+#X connect 44 0 45 0;
+#X connect 44 0 46 0;
+#X connect 44 0 47 0;
+#X connect 44 0 48 0;
+#X connect 44 0 49 0;
+#X connect 44 0 50 0;
+#X connect 45 0 2 0;
+#X connect 46 0 3 0;
+#X connect 47 0 4 0;
+#X connect 48 0 51 0;
+#X connect 49 0 52 0;
+#X connect 50 0 53 0;
+#X connect 51 0 11 0;
+#X connect 52 0 12 0;
+#X connect 53 0 13 0;
+#X coords 0 -1 1 1 60 210 2 200 10;
diff --git a/packages/noncvs/windows/extra/Gem/examples/99.games/puzzle.pd b/packages/noncvs/windows/extra/Gem/examples/99.games/puzzle.pd
index d02322c7..a332b4f2 100644
--- a/packages/noncvs/windows/extra/Gem/examples/99.games/puzzle.pd
+++ b/packages/noncvs/windows/extra/Gem/examples/99.games/puzzle.pd
@@ -1,158 +1,158 @@
-#N canvas 14 64 584 223 12;
-#X obj 171 14 cnv 15 200 130 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 258 30 bng 30 250 50 0 up y up 8 -8 192 12 -261681 -1 -1;
-#X obj 258 90 bng 30 250 50 0 down y down -5 38 192 12 -261681 -1 -1
-;
-#X obj 288 60 bng 30 250 50 0 right y right 33 15 192 12 -261681 -1
--1;
-#X obj 228 60 bng 30 250 50 0 left y left -53 15 192 12 -261681 -1
--1;
-#N canvas 133 127 818 527 code 0;
-#X obj 128 45 gemkeyname;
-#X obj 128 77 select 1;
-#X obj 128 104 symbol;
-#X msg 128 131 \$1 0;
-#X obj 411 229 r reset;
-#X obj 411 255 t b b;
-#X msg 505 229 bang;
-#X obj 418 194 gemwin;
-#X msg 415 132 create;
-#X msg 422 157 destroy;
-#X obj 501 147 tgl 30 0 empty empty empty 20 8 0 8 -262144 -1 -1 1
-1;
-#X obj 342 79 del 100;
-#X msg 342 130 1;
-#X obj 342 17 r start;
-#X msg 509 113 reset;
-#X obj 584 204 gemmouse;
-#X obj 617 239 s help;
-#X obj 342 45 t b b b;
-#X obj 342 103 t b b b;
-#N canvas 81 93 600 400 original 0;
-#X obj 86 109 gemhead;
-#X obj 86 345 square 4;
-#X obj 86 30 r help;
-#X obj 86 73 != 0;
-#X obj 173 45 loadbang;
-#X msg 173 68 0;
-#X obj 86 143 pix_image ../data/fractal.JPG;
-#X obj 86 272 pix_texture;
-#X connect 0 0 6 0;
-#X connect 2 0 3 0;
-#X connect 3 0 0 0;
-#X connect 4 0 5 0;
-#X connect 5 0 3 0;
-#X connect 6 0 7 0;
-#X connect 7 0 1 0;
-#X restore 445 390 pd original image;
-#N canvas 4 20 450 300 control 0;
-#X obj 149 48 route Left Right Up Down;
-#X msg 191 206 move \$1;
-#X msg 191 138 5;
-#X msg 149 138 4;
-#X msg 231 138 6;
-#X msg 192 111 8;
-#X msg 193 165 2;
-#X obj 48 98 r up;
-#X obj 47 167 r down;
-#X obj 0 129 r left;
-#X obj 71 131 r right;
-#X obj 194 256 outlet;
-#X obj 146 18 inlet;
-#X obj 295 109 inlet;
-#X connect 0 0 3 0;
-#X connect 0 1 4 0;
-#X connect 0 2 5 0;
-#X connect 0 3 6 0;
-#X connect 1 0 11 0;
-#X connect 2 0 1 0;
-#X connect 3 0 1 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 1 0;
-#X connect 7 0 5 0;
-#X connect 8 0 6 0;
-#X connect 9 0 3 0;
-#X connect 10 0 4 0;
-#X connect 12 0 0 0;
-#X connect 13 0 2 0;
-#X restore 128 276 pd control;
-#N canvas 113 141 600 498 puzzled 0;
-#X obj 120 110 gemhead;
-#X obj 120 415 square 4;
-#X floatatom 179 389 5 0 0 0 - - -;
-#X obj 120 309 pix_puzzle 4 4;
-#X msg 221 203 size 4 4;
-#X obj 120 213 pix_image;
-#X msg 153 175 open ../data/fractal.JPG;
-#X obj 204 97 loadbang;
-#X obj 204 125 t b b;
-#X obj 221 48 t b a;
-#X obj 341 56 t b b;
-#X obj 117 40 r help;
-#X obj 120 79 == 0;
-#X obj 37 27 loadbang;
-#X msg 38 52 0;
-#X obj 120 342 pix_texture;
-#X obj 343 27 inlet scramble!;
-#X obj 222 18 inlet move!;
-#X connect 0 0 5 0;
-#X connect 2 0 1 1;
-#X connect 3 0 15 0;
-#X connect 4 0 3 0;
-#X connect 5 0 3 0;
-#X connect 6 0 5 0;
-#X connect 7 0 8 0;
-#X connect 8 0 4 0;
-#X connect 8 1 6 0;
-#X connect 9 0 6 0;
-#X connect 9 1 3 0;
-#X connect 10 0 6 0;
-#X connect 10 1 3 0;
-#X connect 11 0 12 0;
-#X connect 12 0 0 0;
-#X connect 13 0 14 0;
-#X connect 14 0 12 0;
-#X connect 15 0 1 0;
-#X connect 16 0 10 0;
-#X connect 17 0 9 0;
-#X restore 128 390 pd puzzled image;
-#X obj 213 249 loadbang;
-#X text 116 439 we use [pix_puzzle] to scramble the image. this is
-not very effective (as we could use openGL-texture coordinates too).
-anyhow it is just simple;
-#X connect 0 0 1 0;
-#X connect 0 1 2 1;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 3 0 20 0;
-#X connect 4 0 5 0;
-#X connect 5 0 20 1;
-#X connect 5 1 21 1;
-#X connect 6 0 5 0;
-#X connect 8 0 7 0;
-#X connect 9 0 7 0;
-#X connect 10 0 7 0;
-#X connect 11 0 18 0;
-#X connect 12 0 7 0;
-#X connect 13 0 17 0;
-#X connect 14 0 7 0;
-#X connect 15 2 16 0;
-#X connect 17 0 11 0;
-#X connect 17 1 14 0;
-#X connect 17 2 9 0;
-#X connect 18 0 12 0;
-#X connect 18 1 8 0;
-#X connect 18 2 6 0;
-#X connect 20 0 21 0;
-#X connect 22 0 20 1;
-#X restore 420 99 pd code;
-#X obj 435 39 bng 50 250 50 0 reset empty RESET 0 -8 128 12 -258699
--1 -1;
-#X obj 50 38 bng 50 250 50 0 start empty start 0 -8 128 12 -24198 -1
--1;
-#X obj 257 60 tgl 30 0 help help ? 7 15 192 24 -262144 -258699 -1 0
-1;
-#X text 61 168 on linux you can use the arrow-keys too...;
-#X text 46 187 first mouse-button toggles between help/game;
+#N canvas 14 64 584 223 12;
+#X obj 171 14 cnv 15 200 130 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 258 30 bng 30 250 50 0 up y up 8 -8 192 12 -261681 -1 -1;
+#X obj 258 90 bng 30 250 50 0 down y down -5 38 192 12 -261681 -1 -1
+;
+#X obj 288 60 bng 30 250 50 0 right y right 33 15 192 12 -261681 -1
+-1;
+#X obj 228 60 bng 30 250 50 0 left y left -53 15 192 12 -261681 -1
+-1;
+#N canvas 133 127 818 527 code 0;
+#X obj 128 45 gemkeyname;
+#X obj 128 77 select 1;
+#X obj 128 104 symbol;
+#X msg 128 131 \$1 0;
+#X obj 411 229 r reset;
+#X obj 411 255 t b b;
+#X msg 505 229 bang;
+#X obj 418 194 gemwin;
+#X msg 415 132 create;
+#X msg 422 157 destroy;
+#X obj 501 147 tgl 30 0 empty empty empty 20 8 0 8 -262144 -1 -1 1
+1;
+#X obj 342 79 del 100;
+#X msg 342 130 1;
+#X obj 342 17 r start;
+#X msg 509 113 reset;
+#X obj 584 204 gemmouse;
+#X obj 617 239 s help;
+#X obj 342 45 t b b b;
+#X obj 342 103 t b b b;
+#N canvas 81 93 600 400 original 0;
+#X obj 86 109 gemhead;
+#X obj 86 345 square 4;
+#X obj 86 30 r help;
+#X obj 86 73 != 0;
+#X obj 173 45 loadbang;
+#X msg 173 68 0;
+#X obj 86 143 pix_image ../data/fractal.JPG;
+#X obj 86 272 pix_texture;
+#X connect 0 0 6 0;
+#X connect 2 0 3 0;
+#X connect 3 0 0 0;
+#X connect 4 0 5 0;
+#X connect 5 0 3 0;
+#X connect 6 0 7 0;
+#X connect 7 0 1 0;
+#X restore 445 390 pd original image;
+#N canvas 4 20 450 300 control 0;
+#X obj 149 48 route Left Right Up Down;
+#X msg 191 206 move \$1;
+#X msg 191 138 5;
+#X msg 149 138 4;
+#X msg 231 138 6;
+#X msg 192 111 8;
+#X msg 193 165 2;
+#X obj 48 98 r up;
+#X obj 47 167 r down;
+#X obj 0 129 r left;
+#X obj 71 131 r right;
+#X obj 194 256 outlet;
+#X obj 146 18 inlet;
+#X obj 295 109 inlet;
+#X connect 0 0 3 0;
+#X connect 0 1 4 0;
+#X connect 0 2 5 0;
+#X connect 0 3 6 0;
+#X connect 1 0 11 0;
+#X connect 2 0 1 0;
+#X connect 3 0 1 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 1 0;
+#X connect 7 0 5 0;
+#X connect 8 0 6 0;
+#X connect 9 0 3 0;
+#X connect 10 0 4 0;
+#X connect 12 0 0 0;
+#X connect 13 0 2 0;
+#X restore 128 276 pd control;
+#N canvas 113 141 600 498 puzzled 0;
+#X obj 120 110 gemhead;
+#X obj 120 415 square 4;
+#X floatatom 179 389 5 0 0 0 - - -;
+#X obj 120 309 pix_puzzle 4 4;
+#X msg 221 203 size 4 4;
+#X obj 120 213 pix_image;
+#X msg 153 175 open ../data/fractal.JPG;
+#X obj 204 97 loadbang;
+#X obj 204 125 t b b;
+#X obj 221 48 t b a;
+#X obj 341 56 t b b;
+#X obj 117 40 r help;
+#X obj 120 79 == 0;
+#X obj 37 27 loadbang;
+#X msg 38 52 0;
+#X obj 120 342 pix_texture;
+#X obj 343 27 inlet scramble!;
+#X obj 222 18 inlet move!;
+#X connect 0 0 5 0;
+#X connect 2 0 1 1;
+#X connect 3 0 15 0;
+#X connect 4 0 3 0;
+#X connect 5 0 3 0;
+#X connect 6 0 5 0;
+#X connect 7 0 8 0;
+#X connect 8 0 4 0;
+#X connect 8 1 6 0;
+#X connect 9 0 6 0;
+#X connect 9 1 3 0;
+#X connect 10 0 6 0;
+#X connect 10 1 3 0;
+#X connect 11 0 12 0;
+#X connect 12 0 0 0;
+#X connect 13 0 14 0;
+#X connect 14 0 12 0;
+#X connect 15 0 1 0;
+#X connect 16 0 10 0;
+#X connect 17 0 9 0;
+#X restore 128 390 pd puzzled image;
+#X obj 213 249 loadbang;
+#X text 116 439 we use [pix_puzzle] to scramble the image. this is
+not very effective (as we could use openGL-texture coordinates too).
+anyhow it is just simple;
+#X connect 0 0 1 0;
+#X connect 0 1 2 1;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 20 0;
+#X connect 4 0 5 0;
+#X connect 5 0 20 1;
+#X connect 5 1 21 1;
+#X connect 6 0 5 0;
+#X connect 8 0 7 0;
+#X connect 9 0 7 0;
+#X connect 10 0 7 0;
+#X connect 11 0 18 0;
+#X connect 12 0 7 0;
+#X connect 13 0 17 0;
+#X connect 14 0 7 0;
+#X connect 15 2 16 0;
+#X connect 17 0 11 0;
+#X connect 17 1 14 0;
+#X connect 17 2 9 0;
+#X connect 18 0 12 0;
+#X connect 18 1 8 0;
+#X connect 18 2 6 0;
+#X connect 20 0 21 0;
+#X connect 22 0 20 1;
+#X restore 420 99 pd code;
+#X obj 435 39 bng 50 250 50 0 reset empty RESET 0 -8 128 12 -258699
+-1 -1;
+#X obj 50 38 bng 50 250 50 0 start empty start 0 -8 128 12 -24198 -1
+-1;
+#X obj 257 60 tgl 30 0 help help ? 7 15 192 24 -262144 -258699 -1 0
+1;
+#X text 61 168 on linux you can use the arrow-keys too...;
+#X text 46 187 first mouse-button toggles between help/game;
diff --git a/packages/noncvs/windows/extra/Gem/examples/data/COPYING.txt b/packages/noncvs/windows/extra/Gem/examples/data/COPYING.txt
index a80de728..56c05a81 100644
--- a/packages/noncvs/windows/extra/Gem/examples/data/COPYING.txt
+++ b/packages/noncvs/windows/extra/Gem/examples/data/COPYING.txt
@@ -1,89 +1,89 @@
-COPYRIGHT issues of the examples data files
-===========================================
-
-This data 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 General Public License for more details.
-
---------------------------------------------
-
-The contents of the examples/data folder provides data-files for
-showcase use within the pd/Gem environment.
-
-I try to only include files that are free to use (as in Free Speech
-and Free Beer).
-However, for legacy reasons some of the files here may have non-free
-clauses in their license agreements.
-These files will be removed from this package as soon as their
-problematic state is discovered.
-
-If you notice such a problematic case, please contact me
-(zmoelnig[AT]iem[DOT]at) immediately, so i can remove it and replace it
-by a free alternative.
-
-
-===========================================
-
-
-vera.ttf
---------------------------------------------
-
-Bitstream Vera Fonts Copyright
-
-The fonts have a generous copyright, allowing derivative works (as
-long as "Bitstream" or "Vera" are not in the names), and full
-redistribution (so long as they are not *sold* by themselves). They
-can be be bundled, redistributed and sold with any software.
-
-The fonts are distributed under the following copyright:
-
-Copyright
-=========
-
-Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream
-Vera is a trademark of Bitstream, Inc.
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of the fonts accompanying this license ("Fonts") and associated
-documentation files (the "Font Software"), to reproduce and distribute
-the Font Software, including without limitation the rights to use,
-copy, merge, publish, distribute, and/or sell copies of the Font
-Software, and to permit persons to whom the Font Software is furnished
-to do so, subject to the following conditions:
-
-The above copyright and trademark notices and this permission notice
-shall be included in all copies of one or more of the Font Software
-typefaces.
-
-The Font Software may be modified, altered, or added to, and in
-particular the designs of glyphs or characters in the Fonts may be
-modified and additional glyphs or characters may be added to the
-Fonts, only if the fonts are renamed to names not containing either
-the words "Bitstream" or the word "Vera".
-
-This License becomes null and void to the extent applicable to Fonts
-or Font Software that has been modified and is distributed under the
-"Bitstream Vera" names.
-
-The Font Software may be sold as part of a larger software package but
-no copy of one or more of the Font Software typefaces may be sold by
-itself.
-
-THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
-OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL
-BITSTREAM OR THE GNOME FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR
-OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL,
-OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR
-OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT
-SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
-
-Except as contained in this notice, the names of Gnome, the Gnome
-Foundation, and Bitstream Inc., shall not be used in advertising or
-otherwise to promote the sale, use or other dealings in this Font
-Software without prior written authorization from the Gnome Foundation
-or Bitstream Inc., respectively. For further information, contact:
-fonts at gnome dot org.
-
+COPYRIGHT issues of the examples data files
+===========================================
+
+This data 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 General Public License for more details.
+
+--------------------------------------------
+
+The contents of the examples/data folder provides data-files for
+showcase use within the pd/Gem environment.
+
+I try to only include files that are free to use (as in Free Speech
+and Free Beer).
+However, for legacy reasons some of the files here may have non-free
+clauses in their license agreements.
+These files will be removed from this package as soon as their
+problematic state is discovered.
+
+If you notice such a problematic case, please contact me
+(zmoelnig[AT]iem[DOT]at) immediately, so i can remove it and replace it
+by a free alternative.
+
+
+===========================================
+
+
+vera.ttf
+--------------------------------------------
+
+Bitstream Vera Fonts Copyright
+
+The fonts have a generous copyright, allowing derivative works (as
+long as "Bitstream" or "Vera" are not in the names), and full
+redistribution (so long as they are not *sold* by themselves). They
+can be be bundled, redistributed and sold with any software.
+
+The fonts are distributed under the following copyright:
+
+Copyright
+=========
+
+Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream
+Vera is a trademark of Bitstream, Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the fonts accompanying this license ("Fonts") and associated
+documentation files (the "Font Software"), to reproduce and distribute
+the Font Software, including without limitation the rights to use,
+copy, merge, publish, distribute, and/or sell copies of the Font
+Software, and to permit persons to whom the Font Software is furnished
+to do so, subject to the following conditions:
+
+The above copyright and trademark notices and this permission notice
+shall be included in all copies of one or more of the Font Software
+typefaces.
+
+The Font Software may be modified, altered, or added to, and in
+particular the designs of glyphs or characters in the Fonts may be
+modified and additional glyphs or characters may be added to the
+Fonts, only if the fonts are renamed to names not containing either
+the words "Bitstream" or the word "Vera".
+
+This License becomes null and void to the extent applicable to Fonts
+or Font Software that has been modified and is distributed under the
+"Bitstream Vera" names.
+
+The Font Software may be sold as part of a larger software package but
+no copy of one or more of the Font Software typefaces may be sold by
+itself.
+
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL
+BITSTREAM OR THE GNOME FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL,
+OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT
+SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
+
+Except as contained in this notice, the names of Gnome, the Gnome
+Foundation, and Bitstream Inc., shall not be used in advertising or
+otherwise to promote the sale, use or other dealings in this Font
+Software without prior written authorization from the Gnome Foundation
+or Bitstream Inc., respectively. For further information, contact:
+fonts at gnome dot org.
+
diff --git a/packages/noncvs/windows/extra/Gem/examples/data/random.fp b/packages/noncvs/windows/extra/Gem/examples/data/random.fp
index 651fdeb5..ae97a4fc 100644
--- a/packages/noncvs/windows/extra/Gem/examples/data/random.fp
+++ b/packages/noncvs/windows/extra/Gem/examples/data/random.fp
@@ -1,111 +1,111 @@
-!!ARBfp1.0
-# Based on an algorithm described by Francois Grieu, sci.crypt, 5th February 2004
-#ATTRIB tex0 = fragment.texcoord[0];
-ATTRIB tex0 = fragment.position;
-ATTRIB col = fragment.color;
-
-#PARAM bounds = program.local[1];
-#PARAM seed = program.local[2];
-PARAM bounds = 10.0;
-PARAM seed = 1234;
-PARAM coordsOffset = { -100, 100, 0, 0 };
-PARAM cMult = 0.0001002707309736288;
-PARAM aSubtract = 0.2727272727272727;
-PARAM coordMult0 = { 0.67676, 0.000058758, 0, 0 };
-PARAM coordMult1 = { 0.0000696596, 0.797976, 0, 0 };
-PARAM coordMult2 = { 0.587976, 0.0000233443, 0, 0 };
-
-TEMP tableCoord, a, b, c, floorA, seedCoords, res;
-
-ADD seedCoords, tex0, coordsOffset;
-
-# gFastRngA = (((currentX*multX)/(currentY*multY))+
-MUL tableCoord, seedCoords, coordMult0;
-RCP tableCoord.y, tableCoord.y;
-MUL a.x, tableCoord.x, tableCoord.y;
-
-# (((height-currentY)*multX2)/((width-currentX)*multY2))+
-SUB tableCoord, bounds, seedCoords;
-MUL tableCoord, tableCoord, coordMult1;
-RCP tableCoord.x, tableCoord.x;
-MAD a.x, tableCoord.x, tableCoord.y, a.x;
-
-# (((height-currentX)*multX3)/((width-currentY)*multY3)));
-SUB tableCoord.x, bounds.y, seedCoords.x;
-SUB tableCoord.y, bounds.x, seedCoords.y;
-MUL tableCoord, tableCoord, coordMult2;
-RCP tableCoord.y, tableCoord.y;
-MAD a.x, tableCoord.x, tableCoord.y, a.x;
-
-# gFastRngA = fmod(gFastRngA,1);
-FRC a.x, a.x;
-ADD a.x, a.x, seed;
-
-MOV c.x, 0;
-MOV b.x, 0;
-
-# (gFastRngA += gFastRngC*(1./9973)+(3./11)-floor(gFastRngA))
-FRC floorA.x, a.x;
-SUB floorA.x, a.x, floorA.x;
-SUB floorA.x, aSubtract.x, floorA.x;
-ADD floorA.x, floorA.x, a.x;
-MAD a.x, c.x, cMult.x, floorA.x;
-
-# (gFastRngB += (gFastRngA *= gFastRngA))
-MUL a.x, a.x, a.x;
-ADD b.x, b.x, a.x;
-
-# (gFastRngC += (gFastRngB -= floor(gFastRngB)))
-FRC b.x, b.x;
-ADD c.x, c.x, b.x;
-
-# (gFastRngC -= floor(gFastRngC))
-FRC c.x, c.x;
-
-# (gFastRngA += gFastRngC*(1./9973)+(3./11)-floor(gFastRngA))
-FRC floorA.x, a.x;
-SUB floorA.x, a.x, floorA.x;
-SUB floorA.x, aSubtract.x, floorA.x;
-ADD floorA.x, floorA.x, a.x;
-MAD a.x, c.x, cMult.x, floorA.x;
-
-# (gFastRngB += (gFastRngA *= gFastRngA))
-MUL a.x, a.x, a.x;
-ADD b.x, b.x, a.x;
-
-# (gFastRngC += (gFastRngB -= floor(gFastRngB)))
-FRC b.x, b.x;
-ADD c.x, c.x, b.x;
-
-# (gFastRngC -= floor(gFastRngC))
-FRC c.x, c.x;
-
-# (gFastRngA += gFastRngC*(1./9973)+(3./11)-floor(gFastRngA))
-FRC floorA.x, a.x;
-SUB floorA.x, a.x, floorA.x;
-SUB floorA.x, aSubtract.x, floorA.x;
-ADD floorA.x, floorA.x, a.x;
-MAD a.x, c.x, cMult.x, floorA.x;
-
-# (gFastRngB += (gFastRngA *= gFastRngA))
-MUL a.x, a.x, a.x;
-ADD b.x, b.x, a.x;
-
-# (gFastRngC += (gFastRngB -= floor(gFastRngB)))
-FRC b.x, b.x;
-ADD c.x, c.x, b.x;
-
-# (gFastRngC -= floor(gFastRngC))
-FRC c.x, c.x;
-
-
-MOV res, c.x;
-MOV res.a, 1;
-
-MUL res, res, -0.5;
-
-ADD res, res, col;
-
-MOV result.color, res;
-
-END
+!!ARBfp1.0
+# Based on an algorithm described by Francois Grieu, sci.crypt, 5th February 2004
+#ATTRIB tex0 = fragment.texcoord[0];
+ATTRIB tex0 = fragment.position;
+ATTRIB col = fragment.color;
+
+#PARAM bounds = program.local[1];
+#PARAM seed = program.local[2];
+PARAM bounds = 10.0;
+PARAM seed = 1234;
+PARAM coordsOffset = { -100, 100, 0, 0 };
+PARAM cMult = 0.0001002707309736288;
+PARAM aSubtract = 0.2727272727272727;
+PARAM coordMult0 = { 0.67676, 0.000058758, 0, 0 };
+PARAM coordMult1 = { 0.0000696596, 0.797976, 0, 0 };
+PARAM coordMult2 = { 0.587976, 0.0000233443, 0, 0 };
+
+TEMP tableCoord, a, b, c, floorA, seedCoords, res;
+
+ADD seedCoords, tex0, coordsOffset;
+
+# gFastRngA = (((currentX*multX)/(currentY*multY))+
+MUL tableCoord, seedCoords, coordMult0;
+RCP tableCoord.y, tableCoord.y;
+MUL a.x, tableCoord.x, tableCoord.y;
+
+# (((height-currentY)*multX2)/((width-currentX)*multY2))+
+SUB tableCoord, bounds, seedCoords;
+MUL tableCoord, tableCoord, coordMult1;
+RCP tableCoord.x, tableCoord.x;
+MAD a.x, tableCoord.x, tableCoord.y, a.x;
+
+# (((height-currentX)*multX3)/((width-currentY)*multY3)));
+SUB tableCoord.x, bounds.y, seedCoords.x;
+SUB tableCoord.y, bounds.x, seedCoords.y;
+MUL tableCoord, tableCoord, coordMult2;
+RCP tableCoord.y, tableCoord.y;
+MAD a.x, tableCoord.x, tableCoord.y, a.x;
+
+# gFastRngA = fmod(gFastRngA,1);
+FRC a.x, a.x;
+ADD a.x, a.x, seed;
+
+MOV c.x, 0;
+MOV b.x, 0;
+
+# (gFastRngA += gFastRngC*(1./9973)+(3./11)-floor(gFastRngA))
+FRC floorA.x, a.x;
+SUB floorA.x, a.x, floorA.x;
+SUB floorA.x, aSubtract.x, floorA.x;
+ADD floorA.x, floorA.x, a.x;
+MAD a.x, c.x, cMult.x, floorA.x;
+
+# (gFastRngB += (gFastRngA *= gFastRngA))
+MUL a.x, a.x, a.x;
+ADD b.x, b.x, a.x;
+
+# (gFastRngC += (gFastRngB -= floor(gFastRngB)))
+FRC b.x, b.x;
+ADD c.x, c.x, b.x;
+
+# (gFastRngC -= floor(gFastRngC))
+FRC c.x, c.x;
+
+# (gFastRngA += gFastRngC*(1./9973)+(3./11)-floor(gFastRngA))
+FRC floorA.x, a.x;
+SUB floorA.x, a.x, floorA.x;
+SUB floorA.x, aSubtract.x, floorA.x;
+ADD floorA.x, floorA.x, a.x;
+MAD a.x, c.x, cMult.x, floorA.x;
+
+# (gFastRngB += (gFastRngA *= gFastRngA))
+MUL a.x, a.x, a.x;
+ADD b.x, b.x, a.x;
+
+# (gFastRngC += (gFastRngB -= floor(gFastRngB)))
+FRC b.x, b.x;
+ADD c.x, c.x, b.x;
+
+# (gFastRngC -= floor(gFastRngC))
+FRC c.x, c.x;
+
+# (gFastRngA += gFastRngC*(1./9973)+(3./11)-floor(gFastRngA))
+FRC floorA.x, a.x;
+SUB floorA.x, a.x, floorA.x;
+SUB floorA.x, aSubtract.x, floorA.x;
+ADD floorA.x, floorA.x, a.x;
+MAD a.x, c.x, cMult.x, floorA.x;
+
+# (gFastRngB += (gFastRngA *= gFastRngA))
+MUL a.x, a.x, a.x;
+ADD b.x, b.x, a.x;
+
+# (gFastRngC += (gFastRngB -= floor(gFastRngB)))
+FRC b.x, b.x;
+ADD c.x, c.x, b.x;
+
+# (gFastRngC -= floor(gFastRngC))
+FRC c.x, c.x;
+
+
+MOV res, c.x;
+MOV res.a, 1;
+
+MUL res, res, -0.5;
+
+ADD res, res, col;
+
+MOV result.color, res;
+
+END
diff --git a/packages/noncvs/windows/extra/Gem/examples/data/toon.vp b/packages/noncvs/windows/extra/Gem/examples/data/toon.vp
index 621670b6..12a6c895 100644
--- a/packages/noncvs/windows/extra/Gem/examples/data/toon.vp
+++ b/packages/noncvs/windows/extra/Gem/examples/data/toon.vp
@@ -1,36 +1,36 @@
-!!ARBvp1.0
-
-# Toon Shader by James A. McCombe, Tue Jun 17 2003
-#
-# Implements a very crude toon shader. Basically, a simple dot product between a
-# light direction vector and the vertex normal is performed. The output of this is
-# used to set the texture coordinates to lookup inside a special texture which
-# effectively quantises the light intensity into 3 bands.
-#
-# Parameters:
-# program.env[0] - Light direction vector
-
-ATTRIB vPosition = vertex.position;
-ATTRIB vNormal = vertex.normal;
-
-PARAM lightDirection = program.env[0];
-
-TEMP t0, transVertex;
-
-DP4 result.position.x, state.matrix.mvp.row[0], vPosition;
-DP4 result.position.y, state.matrix.mvp.row[1], vPosition;
-DP4 result.position.z, state.matrix.mvp.row[2], vPosition;
-DP4 result.position.w, state.matrix.mvp.row[3], vPosition;
-
-DP3 t0.x, state.matrix.modelview[0].invtrans.row[0], vNormal;
-DP3 t0.z, state.matrix.modelview[0].invtrans.row[1], vNormal;
-DP3 t0.y, state.matrix.modelview[0].invtrans.row[2], vNormal;
-
-# Dot product of normal and light vector to do tone lookup
-DP3 t0, t0, lightDirection;
-SWZ result.texcoord[0], t0, x,1,1,1;
-
-# Write the primary vertex color
-MOV result.color, vertex.color;
-
-END
+!!ARBvp1.0
+
+# Toon Shader by James A. McCombe, Tue Jun 17 2003
+#
+# Implements a very crude toon shader. Basically, a simple dot product between a
+# light direction vector and the vertex normal is performed. The output of this is
+# used to set the texture coordinates to lookup inside a special texture which
+# effectively quantises the light intensity into 3 bands.
+#
+# Parameters:
+# program.env[0] - Light direction vector
+
+ATTRIB vPosition = vertex.position;
+ATTRIB vNormal = vertex.normal;
+
+PARAM lightDirection = program.env[0];
+
+TEMP t0, transVertex;
+
+DP4 result.position.x, state.matrix.mvp.row[0], vPosition;
+DP4 result.position.y, state.matrix.mvp.row[1], vPosition;
+DP4 result.position.z, state.matrix.mvp.row[2], vPosition;
+DP4 result.position.w, state.matrix.mvp.row[3], vPosition;
+
+DP3 t0.x, state.matrix.modelview[0].invtrans.row[0], vNormal;
+DP3 t0.z, state.matrix.modelview[0].invtrans.row[1], vNormal;
+DP3 t0.y, state.matrix.modelview[0].invtrans.row[2], vNormal;
+
+# Dot product of normal and light vector to do tone lookup
+DP3 t0, t0, lightDirection;
+SWZ result.texcoord[0], t0, x,1,1,1;
+
+# Write the primary vertex color
+MOV result.color, vertex.color;
+
+END
diff --git a/packages/noncvs/windows/extra/Gem/fragment_program-help.pd b/packages/noncvs/windows/extra/Gem/fragment_program-help.pd
index d90e4d8c..3d012191 100644
--- a/packages/noncvs/windows/extra/Gem/fragment_program-help.pd
+++ b/packages/noncvs/windows/extra/Gem/fragment_program-help.pd
@@ -1,86 +1,86 @@
-#N canvas 35 199 694 458 10;
-#X text 452 8 GEM object;
-#X obj 8 335 cnv 15 430 80 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 11 334 Inlets:;
-#X text 10 386 Outlets:;
-#X obj 8 296 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 295 Arguments:;
-#X obj 7 76 cnv 15 430 210 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 444 77 cnv 15 200 230 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 474 334 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 479 373 pd gemwin;
-#X msg 479 354 create;
-#X text 475 333 Create window:;
-#X obj 450 178 cnv 15 190 70 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 63 306 <none>;
-#X text 28 399 Outlet 1: gemlist;
-#X text 35 346 Inlet 1: gemlist;
-#X obj 10 211 cnv 15 420 70 empty empty empty 20 12 0 14 -225280 -66577
-0;
-#X text 71 31 Class: shader object;
-#X obj 516 184 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#N canvas 0 0 450 300 open 0;
-#X obj 75 103 openpanel;
-#X obj 75 173 outlet;
-#X obj 75 127 t b s;
-#X msg 105 152 set open \$1;
-#X obj 75 80 inlet;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 2 1 3 0;
-#X connect 3 0 1 0;
-#X connect 4 0 0 0;
-#X restore 459 183 pd open;
-#X text 14 219 IMPORTANT NOTE: your openGL-implementation (gfx-card
-driver \, ...) has to support either (or both) the ARB shader extensions
-or the NV shader extensions in order to make use of this object.;
-#X text 10 176 Of course \, you also have to supply anything else needed
-for the shader to work (like textures \, ...);
-#X obj 451 266 teapot;
-#X msg 459 203 open ../data/random.fp;
-#X text 50 12 Synopsis: [fragment_program];
-#X text 12 76 Description: load and apply an ARB fragment shader;
-#X text 24 95 [fragment_program] loads and applies an ARB (or NV) fragment
-shader.;
-#X text 11 123 If you want to modify the parameters of the shader-program
-\, you have to set the modification up yourself \, via [GEMglProgramEnvParameter*]
-working on GL_FRAGMENT_PROGRAM_ARB.;
-#X text 35 358 Inlet 1: messsage: open <filename> : fragment shader
-program to load;
-#X text 443 406 see also;
-#X obj 508 406 vertex_program;
-#X obj 451 226 fragment_program random.fp;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 33 0;
-#X connect 20 0 21 0;
-#X connect 21 0 25 0;
-#X connect 25 0 33 0;
-#X connect 33 0 24 0;
+#N canvas 35 199 694 458 10;
+#X text 452 8 GEM object;
+#X obj 8 335 cnv 15 430 80 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 11 334 Inlets:;
+#X text 10 386 Outlets:;
+#X obj 8 296 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 295 Arguments:;
+#X obj 7 76 cnv 15 430 210 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 444 77 cnv 15 200 230 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 474 334 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 479 373 pd gemwin;
+#X msg 479 354 create;
+#X text 475 333 Create window:;
+#X obj 450 178 cnv 15 190 70 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 63 306 <none>;
+#X text 28 399 Outlet 1: gemlist;
+#X text 35 346 Inlet 1: gemlist;
+#X obj 10 211 cnv 15 420 70 empty empty empty 20 12 0 14 -225280 -66577
+0;
+#X text 71 31 Class: shader object;
+#X obj 516 184 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#N canvas 0 0 450 300 open 0;
+#X obj 75 103 openpanel;
+#X obj 75 173 outlet;
+#X obj 75 127 t b s;
+#X msg 105 152 set open \$1;
+#X obj 75 80 inlet;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 2 1 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 0 0;
+#X restore 459 183 pd open;
+#X text 14 219 IMPORTANT NOTE: your openGL-implementation (gfx-card
+driver \, ...) has to support either (or both) the ARB shader extensions
+or the NV shader extensions in order to make use of this object.;
+#X text 10 176 Of course \, you also have to supply anything else needed
+for the shader to work (like textures \, ...);
+#X obj 451 266 teapot;
+#X msg 459 203 open examples/data/random.fp;
+#X text 50 12 Synopsis: [fragment_program];
+#X text 12 76 Description: load and apply an ARB fragment shader;
+#X text 24 95 [fragment_program] loads and applies an ARB (or NV) fragment
+shader.;
+#X text 11 123 If you want to modify the parameters of the shader-program
+\, you have to set the modification up yourself \, via [GEMglProgramEnvParameter*]
+working on GL_FRAGMENT_PROGRAM_ARB.;
+#X text 35 358 Inlet 1: messsage: open <filename> : fragment shader
+program to load;
+#X text 443 406 see also;
+#X obj 508 406 vertex_program;
+#X obj 451 226 fragment_program random.fp;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 33 0;
+#X connect 20 0 21 0;
+#X connect 21 0 25 0;
+#X connect 25 0 33 0;
+#X connect 33 0 24 0;
diff --git a/packages/noncvs/windows/extra/Gem/gem.known_bugs.txt b/packages/noncvs/windows/extra/Gem/gem.known_bugs.txt
index d00beb80..e4ffa2e7 100644
--- a/packages/noncvs/windows/extra/Gem/gem.known_bugs.txt
+++ b/packages/noncvs/windows/extra/Gem/gem.known_bugs.txt
@@ -1,298 +1,298 @@
-GEM ONLINE DOCUMENTATION CHAPTER 4: Known bugs
-----------------------------------------------
-
----------------------------- KNOWN BUGS -----------------------------
-
-[pix_lumaoffset] crashes
---------------
-POSTED 15/05/04
---------------
-BUG: pix_lumaoffset crashes when the offset-factor is very high and fill+smooth is turned on
-ANS: yes; but we haven't found where the bug is hidden yet
-
-loading movies leaks memory under Win32
---------------
-POSTED 4/16/02
---------------
-BUG: each time an AVI is loaded, the used memory increases for about 400k.
- after some time (and opening MANY files) this will be too much...
-ANS: i fear, this is really a mikro$oft bug! (probably not;-))
-
-
-loading MPEG-movies crashes under Win32
---------------
-POSTED 4/05/04
---------------
-BUG: loading MPEG-movies (*.MPG) crashes pd
-ANS: MPEG is not really supported under the Win32-version of Gem
- however Gem tries to decode MPEGs via QuickTime which might crash (see below)
-
-loading AVI-movies does not work under Win32
---------------
-POSTED 4/05/04
---------------
-BUG: loading some AVI-movies with certain codecs does not work under Win2k and bigger.
-ANS: Gem is (still) using a rather old API for decoding videos.
- it might well be, that not all installed codecs are supported (e.g. Indeo-5)
-
-
-have to destroy / create window to change lighting state in buffer == 1
---------------
-POSTED 11/07/98
---------------
-BUG: If you want to change the lighting when GEM is running in single
- buffer mode, you have to destroy and then create the window.
-ANS: hopefully we will drop single-buffer mode soon (enabling double-buffer feedback instead) (2004)
-
-
-WinNT pix_video object
---------------
-POSTED 6/25/98
--------------
-BUG: The WinNT pix_video object has a lot of problems. It is not
- very stable, tends to lock up the machine, etc.
-ANS: don't have much problems with it.
- daniel's directshow-support enables support for most newer (ieee1394,usb) cameras under win,
- although the interface is somewhat different than on other OS's
- (eg: set dimensions via pop-up menu,...)
-
-
-splines are incorrect
---------------
-POSTED 6/25/98
---------------
-BUG: In preventing the crasher in the spline object, I have introduced
- another bug. Mainly, the end points don't get computed correctly.
-
-
-Polygon doesn't tesselate (ie, polygons sometimes look strange)
---------------
-POSTED 5/19/97
---------------
-BUG: Because the polygon object doesn't tesselate itself,
- if it is concave, the behavior is undefined under OpenGL.
-
-
-glxContext memory leak
---------------
-POSTED 5/18/97
---------------
-BUG: The dummy glxContext doesn't ever get destroyed. Use a static object
- to create and destroy it when the DSO is loaded/unloaded.
-
-
-Indycam broken
---------------
-POSTED 5/1/97
---------------
-BUG: The Indycam object doesn't seem to work. While getting the O2cam
- up, I seem to have broken the Indycam object. One known
- bug is that the Indycam doesn't accept the dimen message.
-ANS: i don't have a running SGI with an indycam at hand, so i
- don't know how to fix it
-
----------------------------- FIXED BUGS -----------------------------
-
-some geos don't render data from pix_movie correctly
---------------
-POSTED 19/03/2004
-FIXED 20/03/2004
---------------
-BUG: Some objects don't render images correctly
-ANS: Gem tries to use rectangle-textures when available
- GLU-objects cannot handle such textures
-FIX: send a "mode 0" message to the [pix_texture]
-FIX2:put the specific GLU-code into Gem and fixed the problem
-
-
-some geos don't render data from pix_movie correctly
---------------
-POSTED 4/24/99
-FIXED 20/03/2004
---------------
-BUG: Sphere and cone don't texture map movie data correctly because
- they ignore the texture coordinates that pix_movie sets.
-ANS: as long as we use the libGLU for these objects there is not much chance
- to fix the core of this problem
-FIX: put the specific GLU-code into Gem and fixed the problem
-
-
-Cone and sphere ignore textCoords
---------------
-POSTED 4/12/99
-FIXED 20/03/2004
---------------
-BUG: The glu library is used to create the cone and sphere, so gem
- doesn't control the texture coordinates used.
-FIX: put the specific GLU-code into Gem and fixed the problem
-
-
-text2d is messed up
---------------
-FIXED 01/01/04
-POSTED 2/22/98
---------------
-BUG: text2d doesn't really work at all. There seems to be a bug
- in the GLTT library which is messing up the rasterpos.
-FIX: use FTGL rather than GLTT
-
-
-curve is broken under Linux
---------------
-FIXED 01/01/04
-POSTED 0/24/99
---------------
-BUG: if curve is used under Linux, it core dumps when rendering.
- It dumps on glMap1f(GL_MAP1_VERTEX_3, 0.0, 1.0, 3, m_numInputs, &(m_vert[0][0]));
-ANS: seems to work now
-
-
-model crashes when nothing is loaded
----------------
-FIXED 01/01/04
-POSTED 10/25/02
----------------
-BUG: if rendering is started without a model being loaded before, pd crashes
-ANS: seems to be fixed sime time ago...
-
-
-pix_imageInPlace crashes when nothing is loaded
----------------
-FIXED 01/01/04
-POSTED 10/25/02
----------------
-BUG: when trying to download non-existant images (by specifying the wrong
- preload-name), pd-crashes
-ANS: seems to be fixed now...
-
-
-Can't process pix_movie data with pix objects
---------------
-FIXED 4/15/02
-POSTED 4/24/99
---------------
-BUG: pix_movie sends the data immediately to OpenGL,
- so there is no chance to process the data.
-ANS: it does what it does; [pix_film] does not send the image-data immediately, so use it instead
-
-
-pix_2grey doesn't process the correct number of pixels
---------------
-FIXED 2/19/00
-POSTED 2/18/00
---------------
-BUG: The pixel count is calculated with addition instead of multiplying.
-ANS: Just changed how the calculation occurs.
-
-
-tablet not reset on exit
---------------
-FIXED 1/24/99
-POSTED 8/29/98
---------------
-BUG: If the user has a tablet, it is not reset to the default settings
- on exit, making it unusable as a mouse.
-ANS: Just needed to do some more cleanup on exit. Should be okay now.
-
-
-text object can't be found
---------------
-FIXED 2/21/98
-POSTED 5/1/97
---------------
-BUG: Because the text is a special keyword and object inside of
- pd, the text object cannot be found as a GEM object. The solution
- is to rename it to something else.
-ANS: I am using a cool library called gltt which will render true type
- fonts in OpenGL.
-
-
-Memory exception on WinNT
---------------
-FIXED 12/15/97
-POSTED 11/30/97
---------------
-BUG: If you use pix_image, then there is a memory exception (ie, crash) when
- you exit Pd. It doesn't happen while actually running Pd/GEM.
-ANS: Mysterious...it went away.
-
-
-Polygon and curve under NT
---------------
-FIXED 10/21/97
-POSTED 10/21/97
---------------
-BUG: The vertex calls are receiving 0, 0, 0 for x, y, z
-ANS: Extra type * parameter in the vert_* calls
-
-
-Single buffering under NT
---------------
-FIXED 10/21/97
-POSTED 10/19/97
---------------
-BUG: Single buffering doesn't work under NT.
-ANS: Need an explicit glFlush(). gemHead calls glFlush after a bang message.
-
-
-Geos texture coordinates
---------------
-FIXED 10/17/97
-POSTED 6/16/97
---------------
-BUG: The vertex and texture coordinates should start so that the first
- S,T is 0,0
-ANS: Just did it.
-
-
-pix_composite is backwards
---------------
-FIXED 7/12/97
-POSTED 6/16/97
---------------
-BUG: The pix_composite object should have its inlets swapped. Conceptually
- it doesn't make sense the way it works currently.
-FIX: Just did it.
-
-
-pix_convolve is broken
---------------
-FIXED 7/13/97
-POSTED 6/16/97
---------------
-BUG: Sometimes pix_convolve doesn't work - seems to do with the scale factor
-ANS: I'm not sure why it wasn't working. I have hammered it with a variey
- of kernels and scales and never had a problem...
-ANS2: I found a bug where pix_image didn't automatically refresh its image
- at the start of rendering
-
-
-pix_alpha is backwards
---------------
-FIXED 7/12/92
-POSTED 6/16/97
---------------
-BUG: Sometimes it works, sometimes it doesn't
-ANS: Swapped around the inlet creations
-
-
-polygon's first inlet doesn't work
---------------
-FIXED 5/18/97
-POSTED 5/17/97
---------------
-BUG: The first vertex of polygon doesn't work. It is always set to the
- origin. Also, polygon defaults to line drawing. Check Curve for
- the same problems (it is derived from polygon).
-ANS: The first inlet no longer takes the first vertex. I added another
- inlet.
-
-
-fonts do not load
---------------
-FIXED 4/02/02
-POSTED 4/01/02
---------------
-BUG: the example fonts for text2d/text3d do not load
-FIX: accidentally i did a dos2unix to the *.ttf files. this damaged them.
- Get new ones from ftp://iem.at/pd/Externals/GEM/misc
+GEM ONLINE DOCUMENTATION CHAPTER 4: Known bugs
+----------------------------------------------
+
+---------------------------- KNOWN BUGS -----------------------------
+
+[pix_lumaoffset] crashes
+--------------
+POSTED 15/05/04
+--------------
+BUG: pix_lumaoffset crashes when the offset-factor is very high and fill+smooth is turned on
+ANS: yes; but we haven't found where the bug is hidden yet
+
+loading movies leaks memory under Win32
+--------------
+POSTED 4/16/02
+--------------
+BUG: each time an AVI is loaded, the used memory increases for about 400k.
+ after some time (and opening MANY files) this will be too much...
+ANS: i fear, this is really a mikro$oft bug! (probably not;-))
+
+
+loading MPEG-movies crashes under Win32
+--------------
+POSTED 4/05/04
+--------------
+BUG: loading MPEG-movies (*.MPG) crashes pd
+ANS: MPEG is not really supported under the Win32-version of Gem
+ however Gem tries to decode MPEGs via QuickTime which might crash (see below)
+
+loading AVI-movies does not work under Win32
+--------------
+POSTED 4/05/04
+--------------
+BUG: loading some AVI-movies with certain codecs does not work under Win2k and bigger.
+ANS: Gem is (still) using a rather old API for decoding videos.
+ it might well be, that not all installed codecs are supported (e.g. Indeo-5)
+
+
+have to destroy / create window to change lighting state in buffer == 1
+--------------
+POSTED 11/07/98
+--------------
+BUG: If you want to change the lighting when GEM is running in single
+ buffer mode, you have to destroy and then create the window.
+ANS: hopefully we will drop single-buffer mode soon (enabling double-buffer feedback instead) (2004)
+
+
+WinNT pix_video object
+--------------
+POSTED 6/25/98
+-------------
+BUG: The WinNT pix_video object has a lot of problems. It is not
+ very stable, tends to lock up the machine, etc.
+ANS: don't have much problems with it.
+ daniel's directshow-support enables support for most newer (ieee1394,usb) cameras under win,
+ although the interface is somewhat different than on other OS's
+ (eg: set dimensions via pop-up menu,...)
+
+
+splines are incorrect
+--------------
+POSTED 6/25/98
+--------------
+BUG: In preventing the crasher in the spline object, I have introduced
+ another bug. Mainly, the end points don't get computed correctly.
+
+
+Polygon doesn't tesselate (ie, polygons sometimes look strange)
+--------------
+POSTED 5/19/97
+--------------
+BUG: Because the polygon object doesn't tesselate itself,
+ if it is concave, the behavior is undefined under OpenGL.
+
+
+glxContext memory leak
+--------------
+POSTED 5/18/97
+--------------
+BUG: The dummy glxContext doesn't ever get destroyed. Use a static object
+ to create and destroy it when the DSO is loaded/unloaded.
+
+
+Indycam broken
+--------------
+POSTED 5/1/97
+--------------
+BUG: The Indycam object doesn't seem to work. While getting the O2cam
+ up, I seem to have broken the Indycam object. One known
+ bug is that the Indycam doesn't accept the dimen message.
+ANS: i don't have a running SGI with an indycam at hand, so i
+ don't know how to fix it
+
+---------------------------- FIXED BUGS -----------------------------
+
+some geos don't render data from pix_movie correctly
+--------------
+POSTED 19/03/2004
+FIXED 20/03/2004
+--------------
+BUG: Some objects don't render images correctly
+ANS: Gem tries to use rectangle-textures when available
+ GLU-objects cannot handle such textures
+FIX: send a "mode 0" message to the [pix_texture]
+FIX2:put the specific GLU-code into Gem and fixed the problem
+
+
+some geos don't render data from pix_movie correctly
+--------------
+POSTED 4/24/99
+FIXED 20/03/2004
+--------------
+BUG: Sphere and cone don't texture map movie data correctly because
+ they ignore the texture coordinates that pix_movie sets.
+ANS: as long as we use the libGLU for these objects there is not much chance
+ to fix the core of this problem
+FIX: put the specific GLU-code into Gem and fixed the problem
+
+
+Cone and sphere ignore textCoords
+--------------
+POSTED 4/12/99
+FIXED 20/03/2004
+--------------
+BUG: The glu library is used to create the cone and sphere, so gem
+ doesn't control the texture coordinates used.
+FIX: put the specific GLU-code into Gem and fixed the problem
+
+
+text2d is messed up
+--------------
+FIXED 01/01/04
+POSTED 2/22/98
+--------------
+BUG: text2d doesn't really work at all. There seems to be a bug
+ in the GLTT library which is messing up the rasterpos.
+FIX: use FTGL rather than GLTT
+
+
+curve is broken under Linux
+--------------
+FIXED 01/01/04
+POSTED 0/24/99
+--------------
+BUG: if curve is used under Linux, it core dumps when rendering.
+ It dumps on glMap1f(GL_MAP1_VERTEX_3, 0.0, 1.0, 3, m_numInputs, &(m_vert[0][0]));
+ANS: seems to work now
+
+
+model crashes when nothing is loaded
+---------------
+FIXED 01/01/04
+POSTED 10/25/02
+---------------
+BUG: if rendering is started without a model being loaded before, pd crashes
+ANS: seems to be fixed sime time ago...
+
+
+pix_imageInPlace crashes when nothing is loaded
+---------------
+FIXED 01/01/04
+POSTED 10/25/02
+---------------
+BUG: when trying to download non-existant images (by specifying the wrong
+ preload-name), pd-crashes
+ANS: seems to be fixed now...
+
+
+Can't process pix_movie data with pix objects
+--------------
+FIXED 4/15/02
+POSTED 4/24/99
+--------------
+BUG: pix_movie sends the data immediately to OpenGL,
+ so there is no chance to process the data.
+ANS: it does what it does; [pix_film] does not send the image-data immediately, so use it instead
+
+
+pix_2grey doesn't process the correct number of pixels
+--------------
+FIXED 2/19/00
+POSTED 2/18/00
+--------------
+BUG: The pixel count is calculated with addition instead of multiplying.
+ANS: Just changed how the calculation occurs.
+
+
+tablet not reset on exit
+--------------
+FIXED 1/24/99
+POSTED 8/29/98
+--------------
+BUG: If the user has a tablet, it is not reset to the default settings
+ on exit, making it unusable as a mouse.
+ANS: Just needed to do some more cleanup on exit. Should be okay now.
+
+
+text object can't be found
+--------------
+FIXED 2/21/98
+POSTED 5/1/97
+--------------
+BUG: Because the text is a special keyword and object inside of
+ pd, the text object cannot be found as a GEM object. The solution
+ is to rename it to something else.
+ANS: I am using a cool library called gltt which will render true type
+ fonts in OpenGL.
+
+
+Memory exception on WinNT
+--------------
+FIXED 12/15/97
+POSTED 11/30/97
+--------------
+BUG: If you use pix_image, then there is a memory exception (ie, crash) when
+ you exit Pd. It doesn't happen while actually running Pd/GEM.
+ANS: Mysterious...it went away.
+
+
+Polygon and curve under NT
+--------------
+FIXED 10/21/97
+POSTED 10/21/97
+--------------
+BUG: The vertex calls are receiving 0, 0, 0 for x, y, z
+ANS: Extra type * parameter in the vert_* calls
+
+
+Single buffering under NT
+--------------
+FIXED 10/21/97
+POSTED 10/19/97
+--------------
+BUG: Single buffering doesn't work under NT.
+ANS: Need an explicit glFlush(). gemHead calls glFlush after a bang message.
+
+
+Geos texture coordinates
+--------------
+FIXED 10/17/97
+POSTED 6/16/97
+--------------
+BUG: The vertex and texture coordinates should start so that the first
+ S,T is 0,0
+ANS: Just did it.
+
+
+pix_composite is backwards
+--------------
+FIXED 7/12/97
+POSTED 6/16/97
+--------------
+BUG: The pix_composite object should have its inlets swapped. Conceptually
+ it doesn't make sense the way it works currently.
+FIX: Just did it.
+
+
+pix_convolve is broken
+--------------
+FIXED 7/13/97
+POSTED 6/16/97
+--------------
+BUG: Sometimes pix_convolve doesn't work - seems to do with the scale factor
+ANS: I'm not sure why it wasn't working. I have hammered it with a variey
+ of kernels and scales and never had a problem...
+ANS2: I found a bug where pix_image didn't automatically refresh its image
+ at the start of rendering
+
+
+pix_alpha is backwards
+--------------
+FIXED 7/12/92
+POSTED 6/16/97
+--------------
+BUG: Sometimes it works, sometimes it doesn't
+ANS: Swapped around the inlet creations
+
+
+polygon's first inlet doesn't work
+--------------
+FIXED 5/18/97
+POSTED 5/17/97
+--------------
+BUG: The first vertex of polygon doesn't work. It is always set to the
+ origin. Also, polygon defaults to line drawing. Check Curve for
+ the same problems (it is derived from polygon).
+ANS: The first inlet no longer takes the first vertex. I added another
+ inlet.
+
+
+fonts do not load
+--------------
+FIXED 4/02/02
+POSTED 4/01/02
+--------------
+BUG: the example fonts for text2d/text3d do not load
+FIX: accidentally i did a dos2unix to the *.ttf files. this damaged them.
+ Get new ones from ftp://iem.at/pd/Externals/GEM/misc
diff --git a/packages/noncvs/windows/extra/Gem/gem.release_notes.txt b/packages/noncvs/windows/extra/Gem/gem.release_notes.txt
index e7b53ea5..5c0126db 100644
--- a/packages/noncvs/windows/extra/Gem/gem.release_notes.txt
+++ b/packages/noncvs/windows/extra/Gem/gem.release_notes.txt
@@ -1,1018 +1,1018 @@
-GEM ONLINE DOCUMENTATION CHAPTER 5: RELEASE NOTES
-
----------------------------------------------------------------
----------------------------- 0.91 -----------------------------
-this is the first release for 3 years, codename 'tigital'
-it includes many changes, so probably i have forgotten most...
-
-openGL runtime checks: GEM now uses GLEW to detect openGL-features
- at runtime this allows you to use all the cool features of
- your brand-new graphics card with the same binary as you
- used for your old gfx-card...cool
-
-w32-installer: there is now a w32 installer (based on NSIS) to
- ease the installation of GEM on windows.
-
-single vs dual context: GEM uses a dual context approach to establish
- a valid openGL-context at startup;
- you can now turn this OFF by setting the environmental
- variable "GEM_SINGLE_CONTEXT=1"
- this should allow you to work if GEM crashes otherwise
-
-SIMD: better MMX/SSE2 handling
-
-pixes: fiducial tracking, artoolkit,
- multitexture, texture sharing
- recording streams of images into movies,
- better movie reading support, better video in support,
- more sophisticated pix_buffer handling
- shared memory objects
-
-text: allow unicode characters
- use vera.ttf as default font instead of the
- copyrighted arial.ttf
- allow to override the default font with the environment
- variable "GEM_DEFAULT_FONT"
-
-
-bugfixes: like always we have removed (and introduced) numerous
- bugs, so all in all GEM should now run more stable
- for an incomplete list of fixed bug see the bug-tracker
- at http://sourceforge.net/projects/pd-gem
-
-openGL: generally use openGL-2.0 (if available)
- vertex/fragment shaders (GLSL and ARB/NV)
- framebuffers
-
-
-deletion:
- MarkEX has been removed from GEM and is now available as
- a separate library;
- hardware-interfacing objects like [gemorb] and [gemtablet]
- have been removed
-
-
-
-
----------------------------- 0.90 -----------------------------
-this is the same as 0.888
-just a naming issue
-
----------------------------------------------------------------
----------------------------- 0.888 ----------------------------
-
-this has taken a long time (2 years...)
-
-development is now done by several people:
- chris clepper
- günter geiger
- daniel heckenberg
- james tittle
- IOhannes m zmölnig <zmoelnig@iem.at>
-günter has removed himself from the splash-screen, but he still contributes stuff
-
-supported platforms: windows (XP,2000,...), linux, and (tadah:) macOS-X(>10.2)
-irix-support seems to be broken, but i cannot prove it
-
-architecture: up till now, the rendering-tree was statically built when rendering was
- turned on, so you couldn't add objects dynamically and editing was painful.
- now, Gem utilizes the normal pd-messaging system all the time: you can disable
- parts of the rendering tree with [spigot], render sub-trees multiple times with
- [t a a] and put objects into the gem-tree on the fly.
-
-documentation: added help for (almost ?) all Gem-objects (excluding openGL-wrappers)
- new reference-patches are now working out of the box (not the old "abstract" way)
- added a small pdf-tutorial
-
-
-openGL: GEM features now a full openGL-wrapper (supporting openGL-1.2)
- you can use any openGL-command like "glNormal3f" by creating a pd-object like
- [GEMglNormal3f] (note the "GEM"-prefix); this should be very powerful,
- however most of the objects are not (yet) tested.
- if you intend to use them and think they don't work,
- send me a bug report for the objects you need;
- i will try to fix them gradually.
- there will be not much help in GEM, since you might consult any openGL-reference
-
-text: we now use FTGL instead of GLTT (which is still available at compile time)
- for freetype-rendering. this is supported on all 3 platforms,
- looks better (at all sizes!) and allows the new [textextruded]
-
-geos: tube, curve3d, rubber, ripple, slideSquares, newWave
-
-manips: polygon_smooth for anti-aliasing of single objects
- [camera]
-
-controls: the output of [gemmouse] can now be normalized (by giving the maxVal for x/y as
- arguments: [gemmouse 1 1] will output coordinates between 0..1, no matter what
- dimensions the screen has.
-
-particles: now the underlying libparticle-engine can be used more directly.
- velocity-domains (like [part_velcone]) are deprecated and [part_velocity]
- should be used instead (allowing on-the-fly domain-switching)
- there are objects that allow to influence single particles
- (like [part_vertex])
- most interesting: with [part_render] and [part_info] you can now use any
- geo as particles (e.g: .obj-models) not only points/lines as before.
-
-texturing: [pix_texture] and [pix_texture2] has merged. so [pix_texture] will texture
- textures of any size (even non-power-of-2) and it will use hw-support if available
- (at least on macOS and on linux if the gfx-card supports it
- (at least nvidia does so))
-
-pixes: lots of new objects (too much to enumerate them here)
- we now support 3 different colorspaces: RGBA, YUV, Greyscale
- YUV is new and allows processing of coloured-images with far less memory/CPU
- than RGBA (factor 2) but without alpha.
- lots of pix-processing on apple-computers is ALTIVEC-enhanced (faster by numbers!)
- SIMD-enhancements for PCs (MMX/SSE2) is yet to come...
- as the new colorspace has been pushed, also a lot of objects has received
- greyscale-support
- the TV-class has been deprecated and is now part of pix_* again
- lot's of color-space converters (most of them not available as objects)
- the "pix_fx"-stuff is now built into all pix-objects
-
-video: on mac-OS the [pix_video] object supports all cameras that are supported by the OS
- on windows there is now support for DirectShow,
- which makes new (usb/ieee1394) cameras work most probably
- on linux there is some prelaminary(!) support for ieee1394 devices.
- the v4l-support is now multi-threaded which speeds up the whole thing significantly
-
-film-formats:
- windows: AVI; there is also some QUICKTIME-support
- (needs the quicktime-sdk at compile time and quicktime installed on execution time),
- but this crashes sometimes (haven't found out when).
- it should enable "a lot" of file-formats (MPEG, MOV)
- macOS: quicktime serves your needs
- linux: support for libavifile, libmpeg3 (or libmpeg1 but libmpeg3 is preferred),
- libquicktime (or libquicktime4linux; doesn't matter) and ffmpeg.
-
-codecs: macOS: everything that is supported by your system should work fine
- win: all codecs installed on your machine should work
- (if another program can play a avi-file, Gem should be able to do so too)
- linux: depends on how you compiled Gem. libmpegX will decode mpegs,
- libquicktime will (most likely) decode quicktime-files with non-proprietary codecs,
- libavifile decodes a lot of formats (avi, quicktime, divx, asf,...)
- and you can utilize windows-codecs (.dll-files; if you have them ;-))
- which enables you to play-back proprietary codecs!
-
-bug-fixes: probably lots of, but most of them seem to linger around for a while now.
-
-
-
----------------------------------------------------------------
----------------------------- 0.87 -----------------------------
-Added much documentation
-
-Added [gemkeyboard] and [gemkeyname] for keyboard-interaction in the GEM-window. However, Windows and Linux versions do not give the same results...
-
-Added Red/Green stereo
-Cleaned up the stereo-thing. we can switch between the different stereo-modes (including no-stereo) while rendering
-
-You can set the title of the GEM-window with the "title"-message. Up till now only one symbol is allowed.
-Added "fullscreen" mode
-Fixed "border" under linux
-"cursor" is now available on Windoze
-
-readded "externals" with additional libraries to close up with the windows version::
-Added pix_movie for Linux (mpeg2+quicktime-support)
-Added pix_film, which is in fact like pix_movie but does not write the pix-buf directly into a texture
-Fixed the model
-Added the stupid "teapot"
-Added a pix_write that let's you capture the current screen into a file (TIFF/JPEG)
-Added pix_hsv2rgb, pix_rgb2hsv (colour-space converters)
-Added pix_blob (center of gravity:: colour detection)
-Added pix_curves, pix_histo
-Added pix_set, pix_dump
-Added pix_pix2sig~, pix_sig2pix~
-
-Started a new class "tv" for pix-operations that change over time: like tv_movement (formerly: pix_movement), tv_biquad, tv_rtx; but i am not really happy with this...
-
-Started a new pix_fx class for inserting pix-FX. there is not much about it, but you can now bend the image.data pointer to wherever you like (including size-changes, format-changes) it will be bent back in the postrender()-thing
-
-Started to import classes from effecTV (by Fukuchi Kentarou): pix_aging, pix_puzzle; most of his FX are real crap, but some are ok and it's easy to import them
-Made a pix_rgba
-
-
----------------------------------------------------------------
----------------------------0.84-5 -----------------------------
-Bugfixes for gemwin "cursor" message (cursor [1|0])
-Removed "externals" with additional libraries, they are separated now
-Added a "freq" and "mode" message to Linux video object, you can watch
- TV now ...
-It is possible to add the display to the create command for X windows,
- whole initialization stuff is moved into the create method,
- so you can look at the patches without having succesfully generated
- an OpenGl context.
-Made the pix_video and pix_movie into real base classes of OS specific
- classes. The OS spezific classes for Windows and SGI have to be fixed ..
-
-
----------------------------------------------------------------
---------------------------0.84a -----------------------------
-text2d: added a message "alias", which toggles between antialiases
- and standard fonts. Usage "alias 1" or "alias 0"
-
-gemwin: additional message cursor, which hides the cursor in
- GEM windows
-
-
-
-
----------------------------------------------------------------
----------------------------- 0.84 -----------------------------
-Fixed a bug where delete [] was called instead of delete. This
-could explain a lot of random crashes.
-
-Fixed camera message routing.
-
----------------------------------------------------------------
----------------------------- 0.84 -----------------------------
-I long time ago, I changed the behavior for gemhead, so that
-matrices where automatically restored, etc. However, this
-broke the camera object. Use the view message to gemwin
-instead.
-
-Fixed a bug in GemMan. If you didn't use "border 0" and you
-requested a window size with "dimen # #", then the window
-size was likely to be wrong. This is now fixed.
-
-Fixed a bug in the view message to gemwin. There was an offset
-which should not have occured. You might need to change your
-view messages to account for it. Just subtract 4 from any
-Z values.
-
-There are some examples for pix_snap in
- examples/gemAdvanced/gemPixSnap.pd - Single buffered example
- examples/gemAdvanced/gemPixSnap2.pd - Double buffered example
-Keep in mind that pix_snap is a fairly slow operation...I also fixed
-a nasty memory bug which could easily cause crashes.
-
-I added Miller Puckette's pix_video for linux into the
-code base.
-
-If you load a movie in pix_movie with an open message, the
-object will output the number of frames to the right output. This
-will not work if you have a "pix_movie homer.avi" for your object
-since the output message cannot get processed correctly at
-startup.
-
-The disk object has an inlet on the rightmost side for the
-inner radius...turning the disk into a ring. If the inner
-radius value is just 0., then the disk is just a circle.
-
-Fog can be turned on in gemwin. Look at
- examples/gemAdvanced/gemFog.pd
-for examples. The various control messages are documented
-in the gemwin.pd help patch.
-
-These next objects are thanks to hannes - mailto:zmoelnig@iem.mhsg.ac.at
----------------------------
-Added OpenGL material objects -
- ambient, ambientRGB, diffuse, diffuseRGB, emission,
- emissionRGB, shininess, specular, specularRGB
- They provide much greater control over the color of objects.
-Look at
- examples/gemLighting/gem5.materials.pd
-for examples.
-
-Guenter found a bug in the ortho object. It is now fixed. The
-ortho object has the same general unit size as the normal
-perspective matrix. Look at
- examples/gemAdvanced/gemOrtho.pd
-for how to use the object.
-
----------------------------------------------------------------
----------------------------- 0.83 -----------------------------
-Added another outlet to counter. When the counter reaches
-the "count to" value, the right outlet will send a bang. The
-bang happens after the left inlet sends its float.
-
-Fixed a dumb bug in pix_2grey. It didn't calculate the
-number of pixels correctly.
-
-Adding some comments to the FAQ that pix_draw is almost
-always slower than pix_texture on PCs. Basically, graphics
-accelerators do not accelerate glDrawPixels().
-
-Added rectangle and cylinder.
-
-Cleaned up the text objects (text3d, etc). Should display
-text a bit better and manage memory more intelligently.
-
-These next objects are thanks to hannes - mailto:zmoelnig@iem.mhsg.ac.at
----------------------------
-Added pix_rectangle - creates a rectangle in a pix
-Added pix_a_2grey - only changes the pixel to grey based
-on the alpha component. See the help page and the example
-in manual/gem_pix/gemAlphaGrey.pd
-
----------------------------------------------------------------
----------------------------- 0.82 -----------------------------
-Free-view sterescopic rendering is possible. If you send
-'createStereo' message to the gemwin instead of a 'create'
-message, then your rendering area will be split in two. Send a
-'stereoSep float' message to set the stereo seperation. Send
-a 'stereoFoc float' message to set the focal distance. See the
-example patch gem_advanced/gemStereo.pd patch for an example.
-
-'color' message was registered twice in gemwin. The second should
-have been a 'perspec' message, for perspective. This also fixes
-the error which pd-0.29 gives about GEM now.
-
-primTri is a new object. It is a triangle primtive. Unlike the
-normal triangle object, it has 6 inlets. The first three inlets
-are for setting the vertex positions. The last three inlets
-are for setting the color at each vertex. The color can
-be either RGB or RGBA values. Look at gem_advanced/gemPrimTri.pd
-for an example.
-
-The particle objects are now frame rate independent. If you needed
-them to run at a certain speed, you can send a multiplier into
-part_head with the message 'speed float'. Run the fountain
-at 60fps to see how smooth it is. The particles still default
-to 20fps, which is GEM's default. You can slow down the particle
-systems or speed them up by sending a different speed value
-into the part_head.
-
-Thanks to Guenter for making the sgi image loader 64-bit compliant.
-
-Received new Gnu makefiles for Linux from Guenter.
-
-new particle objects - These all have help files. See
-gem_particles/gem6.target.pd for how the target objects work.
- part_damp - apply a damping force to the particles
- part_targetcolor - Change color of the particles toward
- the specified color.
- part_targetsize - Change size of the particles toward
- the specified size.
-
-Added some help files, mainly for the particle objects.
-
-Updated the FAQ.
-
----------------------------------------------------------------
----------------------------- 0.81 -----------------------------
-On WinNT, you can remove the window border. Send a 'border 0' message
-to gemwin to remove it, or a 'border 1' to put it back. The default
-includes the border.
-
-Fixed some bugs when in single buffer mode and in the pix_snap
-object.
-
-A bunch more help documentation is done. This includes reference pages
-and the html manual pages.
-
-The inlets for alternate and counter were backwards.
-
-Integrated unix event handling into the code base.
-
-Fixed other random bugs.
-
----------------------------------------------------------------
----------------------------- 0.80 -----------------------------
-A real manual has been started! This means that the doc directory
-will not be as important. The release notes will still be here and
-few of the other doc files, but hopefully most people will just be
-able to use the on-line manual. Look at gem/manual/index.html
-to get started.
-
-pix_movie has been added. It automatically does the texture mapping
-so you don't need to use pix_texture. This also means that you can't
-process the pix image. This will change in the future, but I wanted
-to get the object out and have people hammer on it. Also, only
-certain objects can texture the movie data correctly. They are square,
-triangle, circle, and cube. Cone and sphere will have a black region
-if the movie isn't a power of two (most movies are 320x160 or something).
-This will be fixed in the future. See gem_pix/gemMovie.pd for an example
-
-hsv2rgb and rgb2hsv have been added.
-
-There is no ambient lighting in the default case. If you want
-to have ambient lighting, send a message "ambient r g b" to gemwin.
-
-On WinNT, if you hit Ctrl + r in the GEM window, then rendering
-will stop. This does not go through the normal Pd interface, so it can
-be used if you accidentally create a patch which takes so much processing
-that you cannot turn it off because the patch UI is unresponsive.
-
-Fixed a really bad bug in the text rendering objects.
-
-Various other random bugs.
-
----------------------------------------------------------------
----------------------------- 0.79 -----------------------------
-The example patches have been organized a little bit. There is
-now a collection of directories which are installed with GEM.
-Eventually, they will be fleshed out a lot more (I hope), but for
-the time being, at least there is some order to them.
-
-The model and multimodel objects accept a "rescale 0" or "rescale 1"
-message. In previous versions, the model objects would resize your
-model to fit within the unit cube (all vertices where within -1 to 1).
-This made it dificult to coordinate diferent model files together,
-because they would all be resized by diferent factors. Now, if you
-send a "rescale 0" message into model or multimodel, it will not
-do resizing for any _SUBSEQUENT_ loading. In other words, if you
-have already loaded in a model, and you send a "rescale 0", the
-currently loaded model (or models) will not change. Look at the
-example patch gem_advanced/gemModelRescale.pd for how this works.
-The left model chain is much larger and a scaleXYZ object with a
-value of .1 is needed to even get the model into the viewport.
-The model and multimodel objects default to "rescale 1" so that it
-doesn't break any existing patches.
-
-The middle and right buttons work in gemtablet now. The outlets
-are all pretty close together now, so until you can resize objects,
-it will be difficult to select the correct outlet. Look in
-examples/gemTablet.pd for all of the outlets.
-
-I have upgraded to Visual C++ 6.0. I doubt that the GEM library
-is backwards compatible for people who are writing their own
-libraries. Sorry, but the IDE is a little less painful in 6.0.
-
-I removed the position inlet from the light object. If you want
-to move/rotate a world_light/light, then just put a translate
-or rotate object into the chain. It was broken before, but now
-there is no reason for the position inlet.
-
-light and world_light accept a "debug" message with a value of
-1 or 0. Look at the gemLightSphere.pd patch for an example.
-It was too hard to figure out where the light is, and this turns on
-a sphere for the light object (since it is a point light), and
-a cone for the world_light object (since it is a directional
-light). The world_light is NOT a spot light, even though
-its icon is a cone. The icons are the color of the light.
-
-MarkEx has been merged into GEM. I was tired of maintaining
-two libraries. Also, people didn't seem to be downloading
-MarkEx, and there are a lot of good objects in there, IMHO.
-
-The camera object is finally useable. It has an inlet for the
-translation and rotation vectors. Anyone who was using it
-before is now broken, but the change was very necessary.
-
-gemwin can accept a perspective message. This will set up the
-viewing paramaters for the window. You need to pass in 6 floats
-with the "perspective" message, for the left, right, bottom,
-top, front, and back. The defaults are -1., 1., -1., 1., 1., 20.
-If you send a reset message to gemwin, it will reset the perspective
-values as well.
-
-The big change in this release is a particle system. It is based
-on code from David McAllister. There are many new object, all
-of which interact in certain ways. One design issue is that
-there are far too many controls and variables to be able to
-expose directly in GEM. People who want to get complete control
-over all aspects of the particle system are going to need to
-write their own externals. However, most people should be fine with
-the particle objects. The new objects are:
-
-CREATION
---------
-part_head - The start of a particle group
-part_color - Set the range of colors for the new particles
-part_size - Set the size of new particles
-part_velsphere - Set the velocity based on a sphere distribution
- You need 4 args - xvel, yvel, zvel, and radius
-part_velcone - Set the velocity based on a cone distribution
-
-part_source - Generate particles
-
-MANIP
------
-part_follow - Particles will follow each other like a snake
-part_gravity - Have the particles accelerate in a direction
-part_killold - Remove particles past a certain age
-part_killslow - Remove particles below a certain speed
-part_orbitpoint - Orbit the particles around a specified point
-
-part_draw - Apply the actions and render the particles. Accepts a
- message "draw line" or "draw point" to change the drawing style.
-
-Look in the example files to get some idea how to use the particle
-objects. Notice that you still need a gemhead starting off the
-chain, but after that, you just use the part_* objects. Regular
-GEM manips like rotate, translateXYZ, and scale will affect the
-particles. In general, you start with part_head, then modify
-the particle parameters with the creation objects like part_color
-and part_velocity. Then use part_source to actual generate the
-particles. Next in the chain, use the manip objects to control
-the particles behavior. When you actually want to display the
-particles, use part_draw. Make sure that you remove particles as
-well. The best method is probably with part_killold. If you
-don't remove particles, then you will eventually not be able to
-add any new ones (the default number of particles at once is
-1000, set by part_head). You can also slow down the rate of the
-particle generation with the part_source object.
-
----------------------------------------------------------------
----------------------------- 0.78 -----------------------------
-If you don't want GEM to take control of the tablet if it finds
-one, set the environment variable GEM_NO_TABLET to the
-value "1" (no quotes of course). There will be a print out if
-GEM finds the environment variable.
-
-I added a few more setup access function so that people who
-use "-lib gem" or "-lib GEM" will work correctly.
-
-Lighting will now work under single buffer mode, but you have
-to destroy then create the graphics window to change the mode. This
-will not work with the GEM_SINGLE_CONTEXT variable.
-
-pix_data is a new object. It outputs color information from a pix.
- The first inlet accepts a bang to trigger it.
- The second inlet accepts a gem list (probably from pix_image)
- The third inlet is the x position (between 0 and 1)
- The fourth inlet is the y position (between 0 and 1)
- The first outlet is the gem list
- The second outlet is the color (an RGB list)
- The third outlet is the gray scale value (a float)
- See the example patches gemPixDataSimple.pd and gemPixDataComplex.pd
-for possible use.
-
-Fixed a pretty bad bug in the SGI image loading. Basically, unless
-the image was RGBA, it was going to core dump. Also, the orientation
-was wrong.
-
----------------------------------------------------------------
----------------------------- 0.77 -----------------------------
-GEM is now under the Gnu Public License. This should not affect
-any one. I also cleaned up the license information for the AuxLibs.
-All of the license and usage information can be found in
-GEM.LICENSE.TERMS
-
-GEM has a new home - http://www.danks.org/mark/GEM
-
-gemorb - a new object to interface with the SpaceTec SpaceOrb360.
-It is a 6DoF ball with 6 buttons that connects to your serial port.
-It is a very cool device, and is relatively cheap ($50 US). If gemorb
-is able to connect, it will print out a message, or an error if there
-is a problem. John Stone wrote the library.
-
-There is a particle system with a number of new objects. The system
-uses a library by David McAllister.
-ps I haven't had time to bring all of the objects online. particle
-is the only object right now. It just creates a fountain.
-
-accumrotate was added - three inlets to control the rotation. Each
-time a new value is sent in, it increases the rotation. Sending
-'reset' to the leftmost inlet sets the rotation matrix to
-identity (ie, it resets it to no rotation).
-
-rotateXYZ was added - three inlets to control the rotation. Order
-is X rotation, then Y, then Z.
-
-The tablet cleanup is a little better now on WinNT. There are still
-some bugs, like it doesn't return to normal mouse usage after GEM exits.
-However, the DLL is being released correctly...I just need to reset
-to the default state somehow.
-
-Cone and sphere have changed behavior as of 0.77. The middle inlet
-is now the size and the right inlet is the number of slices.
-
-depth used to be sending '1' would turn on depth testing, but this
-was conceptually wrong. It should be 1 to turn on the depth
-object (which would disable depth testing). This is now the
-current behavior.
-
-ortho was added. It changes the viewing from perspective to
-orthogonal. The size is the size of the window with (0, 0)
-being the lower left corner. I made this object for creating
-a background the size of the window, but you can probably
-find other uses for it.
-
-There is a matrix class for those who are writing objects.
-It is in src/Base/Matrix.
-
----------------------------------------------------------------
----------------------------- 0.76 -----------------------------
-Fixed a bug in spline-path. I wasn't doing the knot logic
-correctly. Thanks to Patrick Rost for finding this.
-
-A bunch of internal changes to get GEM working with Pd 0.22
-All instances of A_INT went away and the inlets and outlets are
-created in the correct "logical" order now.
-
----------------------------------------------------------------
----------------------------- 0.75 -----------------------------
-You can resize the window under WinNT and the viewport will change
-to reflect the new size.
-
-Also, the correct aspect ratio is maintained no matter what the
-width/height ratio is for the GEM window. The ratio is
-x:y -> (width/height):1. This is currently only under WinNT.
-
-gemmouse and gemtablet are new objects. They currently only
-work in WinNT. You should be able to create the object in
-the Irix/Linux versions, but you won't get any output. See
-gemmouse.pd and gemtablet.pd for examples.
-gemmouse outputs the current mouse position and button up/down
-for the GEM window.
-gemtablet outputs the current pen position, pressure, orientation,
-and pen up/down, with the GEM window mapped to the tablet. If
-GEM can connect to your tablet, a message will be printed at startup.
-If you don't see a message at startup from GEM about connecting to
-the tablet, then gemtablet will not output any values. You must
-have the wintab32.dll library installed. Your tablet's installation
-should do this.
-
-Added a bunch of utility functions (spline, bias functions, etc).
-
-linear_path and spline_path are new objects. If you give them
-an array, then they will generate a point from an index. linear_path
-will linearly interpolate between points. spline_path uses the
-points as knots for a curve. See gemSplinePath.pd and
-gemLinearPath.pd for examples.
-
-Added __declspec declarations for Windows. This should
-make it easy for people to use GEM as a dll.
-
----------------------------------------------------------------
----------------------------- 0.74 -----------------------------
-I replaced the images in the example directory with JPGs. They
-are alot smaller. However, in gemMoveImages.pd, you can see
-the effect that the compression has. Look at the red dancer. All
-of the "black" should be alpha masked out, yet there are little
-bits which get all jaggy.
-
-Got gltt-1.8 Looks like it fixes a bunch of bugs.
-
-Finally put an alpha test into the alpha object. This means that
-if the alpha of a pixel == 0., then it won't be put written into
-the frame buffer. Look at the example file gemMoveImages.pd for
-an example of this. Notice that the dancer is texture mapped to
-a sphere, yet you can always see her correctly. You can disable
-this behavior by sending a 'test 0' to the alpha object.
-
-Oh boy, were my texture coordinates off. Unknown to me, my reference
-image (dancer.tif) was actually upside down. This meant that all
-of the texture coordinates in the Geos objects were compensating
-for the rotation. Sorry if this messes anyone up, but it is now
-correct for all of the geos.
-
-I also now load in images in OpenGL format. This means that
-data[0][0] == lower-left corner. This shouldn't have any effect
-on anyone unless you are doing position sensitive image processing.
-
-Fixed the orientation problem when using pix_draw.
-
-imageVert handles gray8 pixes
-
-Fixed a problem if pix_multiimage loaded in images that were different
-formats or sizes.
-
-GEM supports search paths! Basically, GEM will look for auxiliary
-files (images, models, fonts, etc.) from whatever directory the
-patch is in (unless you use an absolute path name with '/').
-
----------------------------------------------------------------
----------------------------- 0.73 -----------------------------
-Fixed profiling on Unix
-
-Added text2d, text3d, textoutline. The text objects will render
-a truetype font (I have provided a couple fonts in gem/examples).
-text2d renders a flat bitmap...no rotation or Z movement. text3d is
-full polygonal text, so you can translate and rotate. textoutline
-is also polygonal, it is just a vectored outline.
- PS text2d has some problems...
-
-JPEG and SGI image file formats are supported! Depending on the number
-of color components, GEM will automatically convert them to grayscale
-or RGBA (just like TIFF files).
-
-pix_video is working slightly on WinNT. There are still some
-serious problems, so consider this version a complete pre-alpha. I'm
-releasing a version now to find out if it even works on other systems.
-I am using a Connectix QuickCam2.
-
-Shifted all of the auxilary libraries into a common directory. Considering
-that I'm currently using 6 outside packages, it is just easier.
-
----------------------------------------------------------------
----------------------------- 0.72 -----------------------------
-
-Did a bunch of cleaning so that the Linux compile is happier (and easier).
-This involved getting rid of some warning messages and changing
-the makefiles slightly.
-
-The strange core dump on WinNT went away...
-
-All of the code and extra files are under source code control (CVS).
-You can just ignore the CVS directories. Eventually, I will try to keep
-them out of the release build.
-
-Added profiling. If you send 'profile 1' to gemwin, then normal profiling
-is turned on (GEM displays the number of milliseconds per frame). If you
-send 'profile 2', then images will not be cached (ie, the pixes will always
-be processed). If you send 'profile 0', then profiling is turned off.
-
-pix_multiply multiplies the color components of two images together.
-It doesn't modify the alpha channel.
-
-Optimized pix code.
-
-Because Miller is removing the INT type, I have slowly been moving it
-out of the code. If any objects have stopped working, please let me know.
-I redid the construction macros in CPPExtern to reflect this change.
-If you have made any new GEM objects, you will probably need to
-change to the new macro format.
-
-Most of the dual input pix objects will process gray8 and RGBA data
-gracefully.
-
----------------------------------------------------------------
----------------------------- 0.71 -----------------------------
-
-Guenter got GEM working under Linux! The biggest impact is that I
-have changed all of the #ifdef __sgi to #ifdef _UNIX_ If specific versions
-of Un*x need certain things, then they can be #ifdef'ed with __sgi,
-or LINUX, or whatever.
-
-Fixed a bug in polygon and curve. I'm not sure why it ever worked on
-the SGI...
-
-All pix objects accept a 0 or 1 to turn on and off their processing.
-The 0 or 1 should just be sent to the first inlet.
-
-The inlets were backwards for colorRGB.
-
-Fixed a bug in turning on and off texture mapping in pix_texture.
-
-GemMan::initGem is now called from Gem_setup. There seems to be a problem
-with Linux creating the dummy static class to initialize GEM.
-
-Changes pix_texture so that it deal with OpenGL 1.1, GL_EXT_texture_obj,
-and base OpenGL 1.0 I think that every OS has the texture_obj
-extension, but just in case, I also have the OpenGL 1.0 technique of display
-lists.
-
-Removed some spurious print outs.
-
-I looked into using GL_BGRA_EXT for images on Windows. It is faster
-in the software version, but my Intergraph card doesn't support it.
-It only makes a difference for OpenGL in software...and texture
-download time isn't the primary problem then. With a 512x512 image
-using glDrawPixels in software, I got 6 frames/sec with RGBA and 7
-frames/sec with BGRA_EXT. Older SGIs like ABGR_EXT, but the newer machines
-want RGBA. Looks like I'm going to stick with RGBA for a while.
-
-You can now load in Gray8 and RGBA images and they will retain their
-format. Before, everything was slammed into an RGBA image, with A == 255.
-This means that you can have alpha masks on images, etc. The only pix
-object which can currently handle a gray8 is pix_mask. All of the other
-pixes throw errors if they get a gray8. This will slowly be fixed.
-
-Added some new functions to GemPixUtil (from a paper by Alvy Ray Smith).
-They should speed things up. Currently, only pix_composite is using them.
-
-The color channels of pixels should be gotten by the const ints that
-are in GemPixUtil (for instance, chRed, chGreen, etc). Using hard coded
-offsets like 0 or 2 for red and blue is asking for trouble.
-
-gemheads no longer push and pop the entire matrix state when renderGL is
-called. This should be faster (push/pop is slow on some platforms). Also,
-all objects are required to "reset" the OpenGL state when they are done,
-so it shouldn't be neccessary.
-
-Strangeness: There is an unreferenced memory exception on WinNT when you
-quit Pd. However, it only happens if you use pix_image. It doesn't
-happen while you are using Pd, only when you quit...
-
----------------------------------------------------------------
----------------------------- 0.70 -----------------------------
-
-All geos can now accept a size argument (they default to 1.0)
-
-I cleaned up the texture coordinate mapping. The order was slightly
-random before. The order is more logical now; it is counterclockwise
-starting at 0, 0. If you use pix_coordinate any where, you will need
-to fix the values.
-
-Fixed a bug in translateXYZ. The inlets where backwards.
-
-You can now move the GEM window under NT. NT doesn't automatically
-take care of the basic window functions unless you pass the messages
-through (unlike X Windows).
-
-Texture mapping can be turned on and off by sending a 0 or 1 to pix_texture
-
-Texture mapping defaults to GL_LINEAR. Send a quality message to pix_texture
-to change this. A "quality 0" means GL_NEAREST, "quality 1" means GL_LINEAR.
-
----------------------------------------------------------------
----------------------------- 0.69 -----------------------------
-
-Fixed a bunch of bugs in imageVert.
-
-Cleaned up some lingering problems in various objects (the open message to
-pix_multiimage didn't work as advertised for instance).
-
-Setting window color is now dynamic.
-
-multimodel now exists. Works just like pix_multiimage, only it reads in
-Alias/Wavefront files. It also has a caching mechanism.
-
----------------------------------------------------------------
----------------------------- 0.68 -----------------------------
-
-fixed pix_2grey so it uses real color weights, instead of just averaging
-the three colors.
-
-pix_image now works the same way as pix_multiimage. If you load in an
-image which another pix_image has already loaded, they will share the
-image. This means that if you create a bunch of dummy pix_image
-objects, you can send an open message to pix_images which have a gemhead
-connected to them and get instantaneous image changes.
-
-Found a MAJOR bug in the NT version of pix_texture. Basically, if you
-used it, the program would core dump.
-
-Found another bug in square. It involved texture mapping and texture
-coordinates (mainly when you don't designate them).
-
-Changed the default values for scaleXYZ (to 1, 1, 1) and translateXYZ
-(to 0, 0, 0)
-
----------------------------------------------------------------
----------------------------- 0.67 -----------------------------
-
-Forgot to add the arguments for the scale object. This has been fixed.
-
-Added translateXYZ, scaleXYZ, and colorRGB. These create three inlets
-which you can modify, instead of having to mess with vector messages.
-
-Fixed a bug in pix_image and pix_multiimage (or more, an unacceptable
-response to user error). Basically, if you started rendering without
-an image being loaded (or if an image failed to load, then you were
-_VERY_ likely to core dump. A check has been added, so this shouldn't
-be a problem anymore.
-
-pix_multiimage HAS CHANGED! It accepts up to four arguments:
-
-filename, number : will load the image files from 0 up to AND INCLUDING
-the number
-
-filename, lownum, highnum : will load the image files from the lownum up
-to AND INCLUDING the highnum
-
-filename, lownum, highnum, skiprate : will load the image files from
-the low num up to AND INCLUDING the highnum, but incrementing the counter
-by the skiprate, not by one.
-
-No matter how many images are loaded, you can change which image is
-displayed by sending a number. The number must be between 0 and the
-number of images which were loaded (notice that this number may not be
-the highnum!) If you try to display an image out of range, you will
-get an error.
-
-pix_multiimage now uses a shared cache. Basically, if you give two
-pix_multiimage objects the EXACT same values (filename, base number,
-top number and skip number), then they will use the same collection of
-images. This will save massive amounts of memory if there is any
-commonality between pix_multiimages.
-
-pix_flip - see help file
-
----------------------------------------------------------------
----------------------------- 0.66 -----------------------------
-
-Finished the port to NT (mainly had to get images working).
-
-Made pix_colormatrix - This is really good for things like saturation,
-hue rotate, etc. I will eventually include a bunch of matrices to do
-cool stuff. Check out Paul Haeberli's paper on color matrices at
-http://www.sgi.com/grafica/index.html
-
-I removed pix_color. It was a hold over from earlier days and I
-don't think that anyone (including myself) is using it any more.
-
-I got a title bar onto the graphics window, but you still can't move it
-around. I am not certain why this is the case, but I'll keep looking.
-
-I made general speed ups to most of the pix objects. Mainly, I have
-been removing GetPixel() and SetPixel() functions (they have a lot
-of overhead). I will continue to use Get/SetPixel() while I'm developing
-because they make things easy to deal with, but as objects get finished,
-I will remove them.
-
-Some of the manipulators (color, rotate, and translate) accept arguments.
-For instance, if you do color 1 0 0, it will automatically set the
-color to red. The objects try to be intelligent about their arguments.
-For instance, if color receives three args, it sets RGB, but if it
-gets 4, it sets RGBA. If rotate or translate get 3 args, then they just
-set the vector, but if they get 4, then they set both the vector and
-the value.
-
----------------------------------------------------------------
----------------------------- 0.65 -----------------------------
-
-GEM works under NT! I got the port working last night. I had to make some
-major changes to the underlying classes (specifically CPPExtern) because
-MS VisC++ puts the vtable pointer in the first four bytes...no matter what.
-This is a different behavior than SGI's compiler (and I think that it requires
-more work for MS VisC++'s compiler). While it was a pain to change things, it
-is good in the long run. The C++ standard doesn't say where the vtable is
-located, so this would have bitten me at some point.
-
----------------------------------------------------------------
----------------------------- 0.64 -----------------------------
-
-Because MS VisC++ really wants files to end in .cpp (how stupid...),
-I renamed all of the C++ files.
-
-I looked into making all of the pixes be float, instead of unsigned char. This
-would give increased flexibility because we could use negative numbers, not
-worry about wrap around on the unsigned char, etc. In running performance
-tests on an SGI O2, the performance difference is fairly great. If GEM
-was only an image processing program (ie, PhotoShop), then I would definetely
-have pixes be floats. However, since GEM is meant for real-time, I will
-continue to use unsigned chars to represent pixels.
-
-For the tech heads...I used to generate the rendering by creating a
-linked list of the GEM objects. The problem was that objects like
-separator weren't possible because it wasn't a true DAG. That is now
-fixed so that tree/leaf graphs are possible.
-
-Made render_trigger so you can know exactly when the rendering is occuring.
-
-Made pix_multiimage! Just give it a file with a * (like myfiles*.tif) and an
-integer for a range (the number of images).
-
-Made pix_invert, separator
-
----------------------------------------------------------------
----------------------------- 0.63 -----------------------------
-
-The src directory has been made into a tree.
-
-Made pix_add and pix_subtract
-Added a scale object
-
----------------------------------------------------------------
----------------------------- 0.62 -----------------------------
-
-A dummy glxContext is created at startup. What this means is that
-in the constructors of objects, OpenGL calls can be made, display
-lists can be constructed, etc. Eventually, I would like to have a
-single window which is always in existance that can change between
-single and double buffering, but that may be a little while.
-
-I put Sam Leffler's tiff library back in. All image files must be in
-TIFF format again. Basically, I think that Win NT would have trouble
-making SGI .rgb files, while anyone can make TIFF formats. Currently
-there is some code bloat because libtiff does more than just read in a
-TIFF file.
-
-The pix_coordinate object allows users to set the S,T texture coordinates
-for geos. For instance, by giving pix_coordinate 4 S,T pairs, the texture
-coordinates for a square can be changed on the fly. Not all of the geos
-can support this ability right now (currently only square, triangle, and
-polygon, but this will change in the near future).
-
-A FAQ has been started, but there really aren't any questions in it yet.
-As people think of them, please let me know and I'll add them.
-
----------------------------------------------------------------
----------------------------- 0.61 -----------------------------
-
-Cocoon html help files for developers have been created.
-
-GEM now uses an internally generated DAG for rendering. This
-removes a serious bug where by objects could still try to reference
-dangling pointers. GEM objects act like the tidle objects do
-from a users point of view. Even if you break a connection
-in a GEM chain, the GEM objects will continue to work. This
-means that it is safe to edit patches while a GEM chain is
-running. To rebuild the GEM patch, rendering must be turned
-off and then back on (just like the tilde objects).
-
-Using the td library from Evans & Sutherland by Nate Robbins to display
-Alias/Wavefront files (.obj). It also takes care of image
-loading, although it is only .rgb. If people complain enough,
-then I may return to the Sam's libTiff library, but it is so
-big that the td library is better. The td library can also be
-compiled on Windows (or else I wouldn't have used it). The new
-object is called model (although it may change its name some day).
-
-There is a new object which maps the color of a pix to the Z of
-a polygon. It is isn't overly useful right now, but it is a cool
-demo. It is called imageVert.
-
----------------------------------------------------------------
----------------------------- 0.60 -----------------------------
-
-Major changes to the internals of GEM. gemwin is now only
-an access point to the window manager, instead of actually
-being the window manager. This should make it easier to have
-multiple graphics windows.
-
-While I was getting the O2 video camera to work, I seem to
-have broken the Indycam object...
-
----------------------------------------------------------------
----------------------------- 0.50 -----------------------------
-
-Made the port from Max over to Pd. Redesigned the class
-heirarchy somewhat.
-
+GEM ONLINE DOCUMENTATION CHAPTER 5: RELEASE NOTES
+
+---------------------------------------------------------------
+---------------------------- 0.91 -----------------------------
+this is the first release for 3 years, codename 'tigital'
+it includes many changes, so probably i have forgotten most...
+
+openGL runtime checks: GEM now uses GLEW to detect openGL-features
+ at runtime this allows you to use all the cool features of
+ your brand-new graphics card with the same binary as you
+ used for your old gfx-card...cool
+
+w32-installer: there is now a w32 installer (based on NSIS) to
+ ease the installation of GEM on windows.
+
+single vs dual context: GEM uses a dual context approach to establish
+ a valid openGL-context at startup;
+ you can now turn this OFF by setting the environmental
+ variable "GEM_SINGLE_CONTEXT=1"
+ this should allow you to work if GEM crashes otherwise
+
+SIMD: better MMX/SSE2 handling
+
+pixes: fiducial tracking, artoolkit,
+ multitexture, texture sharing
+ recording streams of images into movies,
+ better movie reading support, better video in support,
+ more sophisticated pix_buffer handling
+ shared memory objects
+
+text: allow unicode characters
+ use vera.ttf as default font instead of the
+ copyrighted arial.ttf
+ allow to override the default font with the environment
+ variable "GEM_DEFAULT_FONT"
+
+
+bugfixes: like always we have removed (and introduced) numerous
+ bugs, so all in all GEM should now run more stable
+ for an incomplete list of fixed bug see the bug-tracker
+ at http://sourceforge.net/projects/pd-gem
+
+openGL: generally use openGL-2.0 (if available)
+ vertex/fragment shaders (GLSL and ARB/NV)
+ framebuffers
+
+
+deletion:
+ MarkEX has been removed from GEM and is now available as
+ a separate library;
+ hardware-interfacing objects like [gemorb] and [gemtablet]
+ have been removed
+
+
+
+
+---------------------------- 0.90 -----------------------------
+this is the same as 0.888
+just a naming issue
+
+---------------------------------------------------------------
+---------------------------- 0.888 ----------------------------
+
+this has taken a long time (2 years...)
+
+development is now done by several people:
+ chris clepper
+ günter geiger
+ daniel heckenberg
+ james tittle
+ IOhannes m zmölnig <zmoelnig@iem.at>
+günter has removed himself from the splash-screen, but he still contributes stuff
+
+supported platforms: windows (XP,2000,...), linux, and (tadah:) macOS-X(>10.2)
+irix-support seems to be broken, but i cannot prove it
+
+architecture: up till now, the rendering-tree was statically built when rendering was
+ turned on, so you couldn't add objects dynamically and editing was painful.
+ now, Gem utilizes the normal pd-messaging system all the time: you can disable
+ parts of the rendering tree with [spigot], render sub-trees multiple times with
+ [t a a] and put objects into the gem-tree on the fly.
+
+documentation: added help for (almost ?) all Gem-objects (excluding openGL-wrappers)
+ new reference-patches are now working out of the box (not the old "abstract" way)
+ added a small pdf-tutorial
+
+
+openGL: GEM features now a full openGL-wrapper (supporting openGL-1.2)
+ you can use any openGL-command like "glNormal3f" by creating a pd-object like
+ [GEMglNormal3f] (note the "GEM"-prefix); this should be very powerful,
+ however most of the objects are not (yet) tested.
+ if you intend to use them and think they don't work,
+ send me a bug report for the objects you need;
+ i will try to fix them gradually.
+ there will be not much help in GEM, since you might consult any openGL-reference
+
+text: we now use FTGL instead of GLTT (which is still available at compile time)
+ for freetype-rendering. this is supported on all 3 platforms,
+ looks better (at all sizes!) and allows the new [textextruded]
+
+geos: tube, curve3d, rubber, ripple, slideSquares, newWave
+
+manips: polygon_smooth for anti-aliasing of single objects
+ [camera]
+
+controls: the output of [gemmouse] can now be normalized (by giving the maxVal for x/y as
+ arguments: [gemmouse 1 1] will output coordinates between 0..1, no matter what
+ dimensions the screen has.
+
+particles: now the underlying libparticle-engine can be used more directly.
+ velocity-domains (like [part_velcone]) are deprecated and [part_velocity]
+ should be used instead (allowing on-the-fly domain-switching)
+ there are objects that allow to influence single particles
+ (like [part_vertex])
+ most interesting: with [part_render] and [part_info] you can now use any
+ geo as particles (e.g: .obj-models) not only points/lines as before.
+
+texturing: [pix_texture] and [pix_texture2] has merged. so [pix_texture] will texture
+ textures of any size (even non-power-of-2) and it will use hw-support if available
+ (at least on macOS and on linux if the gfx-card supports it
+ (at least nvidia does so))
+
+pixes: lots of new objects (too much to enumerate them here)
+ we now support 3 different colorspaces: RGBA, YUV, Greyscale
+ YUV is new and allows processing of coloured-images with far less memory/CPU
+ than RGBA (factor 2) but without alpha.
+ lots of pix-processing on apple-computers is ALTIVEC-enhanced (faster by numbers!)
+ SIMD-enhancements for PCs (MMX/SSE2) is yet to come...
+ as the new colorspace has been pushed, also a lot of objects has received
+ greyscale-support
+ the TV-class has been deprecated and is now part of pix_* again
+ lot's of color-space converters (most of them not available as objects)
+ the "pix_fx"-stuff is now built into all pix-objects
+
+video: on mac-OS the [pix_video] object supports all cameras that are supported by the OS
+ on windows there is now support for DirectShow,
+ which makes new (usb/ieee1394) cameras work most probably
+ on linux there is some prelaminary(!) support for ieee1394 devices.
+ the v4l-support is now multi-threaded which speeds up the whole thing significantly
+
+film-formats:
+ windows: AVI; there is also some QUICKTIME-support
+ (needs the quicktime-sdk at compile time and quicktime installed on execution time),
+ but this crashes sometimes (haven't found out when).
+ it should enable "a lot" of file-formats (MPEG, MOV)
+ macOS: quicktime serves your needs
+ linux: support for libavifile, libmpeg3 (or libmpeg1 but libmpeg3 is preferred),
+ libquicktime (or libquicktime4linux; doesn't matter) and ffmpeg.
+
+codecs: macOS: everything that is supported by your system should work fine
+ win: all codecs installed on your machine should work
+ (if another program can play a avi-file, Gem should be able to do so too)
+ linux: depends on how you compiled Gem. libmpegX will decode mpegs,
+ libquicktime will (most likely) decode quicktime-files with non-proprietary codecs,
+ libavifile decodes a lot of formats (avi, quicktime, divx, asf,...)
+ and you can utilize windows-codecs (.dll-files; if you have them ;-))
+ which enables you to play-back proprietary codecs!
+
+bug-fixes: probably lots of, but most of them seem to linger around for a while now.
+
+
+
+---------------------------------------------------------------
+---------------------------- 0.87 -----------------------------
+Added much documentation
+
+Added [gemkeyboard] and [gemkeyname] for keyboard-interaction in the GEM-window. However, Windows and Linux versions do not give the same results...
+
+Added Red/Green stereo
+Cleaned up the stereo-thing. we can switch between the different stereo-modes (including no-stereo) while rendering
+
+You can set the title of the GEM-window with the "title"-message. Up till now only one symbol is allowed.
+Added "fullscreen" mode
+Fixed "border" under linux
+"cursor" is now available on Windoze
+
+readded "externals" with additional libraries to close up with the windows version::
+Added pix_movie for Linux (mpeg2+quicktime-support)
+Added pix_film, which is in fact like pix_movie but does not write the pix-buf directly into a texture
+Fixed the model
+Added the stupid "teapot"
+Added a pix_write that let's you capture the current screen into a file (TIFF/JPEG)
+Added pix_hsv2rgb, pix_rgb2hsv (colour-space converters)
+Added pix_blob (center of gravity:: colour detection)
+Added pix_curves, pix_histo
+Added pix_set, pix_dump
+Added pix_pix2sig~, pix_sig2pix~
+
+Started a new class "tv" for pix-operations that change over time: like tv_movement (formerly: pix_movement), tv_biquad, tv_rtx; but i am not really happy with this...
+
+Started a new pix_fx class for inserting pix-FX. there is not much about it, but you can now bend the image.data pointer to wherever you like (including size-changes, format-changes) it will be bent back in the postrender()-thing
+
+Started to import classes from effecTV (by Fukuchi Kentarou): pix_aging, pix_puzzle; most of his FX are real crap, but some are ok and it's easy to import them
+Made a pix_rgba
+
+
+---------------------------------------------------------------
+---------------------------0.84-5 -----------------------------
+Bugfixes for gemwin "cursor" message (cursor [1|0])
+Removed "externals" with additional libraries, they are separated now
+Added a "freq" and "mode" message to Linux video object, you can watch
+ TV now ...
+It is possible to add the display to the create command for X windows,
+ whole initialization stuff is moved into the create method,
+ so you can look at the patches without having succesfully generated
+ an OpenGl context.
+Made the pix_video and pix_movie into real base classes of OS specific
+ classes. The OS spezific classes for Windows and SGI have to be fixed ..
+
+
+---------------------------------------------------------------
+--------------------------0.84a -----------------------------
+text2d: added a message "alias", which toggles between antialiases
+ and standard fonts. Usage "alias 1" or "alias 0"
+
+gemwin: additional message cursor, which hides the cursor in
+ GEM windows
+
+
+
+
+---------------------------------------------------------------
+---------------------------- 0.84 -----------------------------
+Fixed a bug where delete [] was called instead of delete. This
+could explain a lot of random crashes.
+
+Fixed camera message routing.
+
+---------------------------------------------------------------
+---------------------------- 0.84 -----------------------------
+I long time ago, I changed the behavior for gemhead, so that
+matrices where automatically restored, etc. However, this
+broke the camera object. Use the view message to gemwin
+instead.
+
+Fixed a bug in GemMan. If you didn't use "border 0" and you
+requested a window size with "dimen # #", then the window
+size was likely to be wrong. This is now fixed.
+
+Fixed a bug in the view message to gemwin. There was an offset
+which should not have occured. You might need to change your
+view messages to account for it. Just subtract 4 from any
+Z values.
+
+There are some examples for pix_snap in
+ examples/gemAdvanced/gemPixSnap.pd - Single buffered example
+ examples/gemAdvanced/gemPixSnap2.pd - Double buffered example
+Keep in mind that pix_snap is a fairly slow operation...I also fixed
+a nasty memory bug which could easily cause crashes.
+
+I added Miller Puckette's pix_video for linux into the
+code base.
+
+If you load a movie in pix_movie with an open message, the
+object will output the number of frames to the right output. This
+will not work if you have a "pix_movie homer.avi" for your object
+since the output message cannot get processed correctly at
+startup.
+
+The disk object has an inlet on the rightmost side for the
+inner radius...turning the disk into a ring. If the inner
+radius value is just 0., then the disk is just a circle.
+
+Fog can be turned on in gemwin. Look at
+ examples/gemAdvanced/gemFog.pd
+for examples. The various control messages are documented
+in the gemwin.pd help patch.
+
+These next objects are thanks to hannes - mailto:zmoelnig@iem.mhsg.ac.at
+---------------------------
+Added OpenGL material objects -
+ ambient, ambientRGB, diffuse, diffuseRGB, emission,
+ emissionRGB, shininess, specular, specularRGB
+ They provide much greater control over the color of objects.
+Look at
+ examples/gemLighting/gem5.materials.pd
+for examples.
+
+Guenter found a bug in the ortho object. It is now fixed. The
+ortho object has the same general unit size as the normal
+perspective matrix. Look at
+ examples/gemAdvanced/gemOrtho.pd
+for how to use the object.
+
+---------------------------------------------------------------
+---------------------------- 0.83 -----------------------------
+Added another outlet to counter. When the counter reaches
+the "count to" value, the right outlet will send a bang. The
+bang happens after the left inlet sends its float.
+
+Fixed a dumb bug in pix_2grey. It didn't calculate the
+number of pixels correctly.
+
+Adding some comments to the FAQ that pix_draw is almost
+always slower than pix_texture on PCs. Basically, graphics
+accelerators do not accelerate glDrawPixels().
+
+Added rectangle and cylinder.
+
+Cleaned up the text objects (text3d, etc). Should display
+text a bit better and manage memory more intelligently.
+
+These next objects are thanks to hannes - mailto:zmoelnig@iem.mhsg.ac.at
+---------------------------
+Added pix_rectangle - creates a rectangle in a pix
+Added pix_a_2grey - only changes the pixel to grey based
+on the alpha component. See the help page and the example
+in manual/gem_pix/gemAlphaGrey.pd
+
+---------------------------------------------------------------
+---------------------------- 0.82 -----------------------------
+Free-view sterescopic rendering is possible. If you send
+'createStereo' message to the gemwin instead of a 'create'
+message, then your rendering area will be split in two. Send a
+'stereoSep float' message to set the stereo seperation. Send
+a 'stereoFoc float' message to set the focal distance. See the
+example patch gem_advanced/gemStereo.pd patch for an example.
+
+'color' message was registered twice in gemwin. The second should
+have been a 'perspec' message, for perspective. This also fixes
+the error which pd-0.29 gives about GEM now.
+
+primTri is a new object. It is a triangle primtive. Unlike the
+normal triangle object, it has 6 inlets. The first three inlets
+are for setting the vertex positions. The last three inlets
+are for setting the color at each vertex. The color can
+be either RGB or RGBA values. Look at gem_advanced/gemPrimTri.pd
+for an example.
+
+The particle objects are now frame rate independent. If you needed
+them to run at a certain speed, you can send a multiplier into
+part_head with the message 'speed float'. Run the fountain
+at 60fps to see how smooth it is. The particles still default
+to 20fps, which is GEM's default. You can slow down the particle
+systems or speed them up by sending a different speed value
+into the part_head.
+
+Thanks to Guenter for making the sgi image loader 64-bit compliant.
+
+Received new Gnu makefiles for Linux from Guenter.
+
+new particle objects - These all have help files. See
+gem_particles/gem6.target.pd for how the target objects work.
+ part_damp - apply a damping force to the particles
+ part_targetcolor - Change color of the particles toward
+ the specified color.
+ part_targetsize - Change size of the particles toward
+ the specified size.
+
+Added some help files, mainly for the particle objects.
+
+Updated the FAQ.
+
+---------------------------------------------------------------
+---------------------------- 0.81 -----------------------------
+On WinNT, you can remove the window border. Send a 'border 0' message
+to gemwin to remove it, or a 'border 1' to put it back. The default
+includes the border.
+
+Fixed some bugs when in single buffer mode and in the pix_snap
+object.
+
+A bunch more help documentation is done. This includes reference pages
+and the html manual pages.
+
+The inlets for alternate and counter were backwards.
+
+Integrated unix event handling into the code base.
+
+Fixed other random bugs.
+
+---------------------------------------------------------------
+---------------------------- 0.80 -----------------------------
+A real manual has been started! This means that the doc directory
+will not be as important. The release notes will still be here and
+few of the other doc files, but hopefully most people will just be
+able to use the on-line manual. Look at gem/manual/index.html
+to get started.
+
+pix_movie has been added. It automatically does the texture mapping
+so you don't need to use pix_texture. This also means that you can't
+process the pix image. This will change in the future, but I wanted
+to get the object out and have people hammer on it. Also, only
+certain objects can texture the movie data correctly. They are square,
+triangle, circle, and cube. Cone and sphere will have a black region
+if the movie isn't a power of two (most movies are 320x160 or something).
+This will be fixed in the future. See gem_pix/gemMovie.pd for an example
+
+hsv2rgb and rgb2hsv have been added.
+
+There is no ambient lighting in the default case. If you want
+to have ambient lighting, send a message "ambient r g b" to gemwin.
+
+On WinNT, if you hit Ctrl + r in the GEM window, then rendering
+will stop. This does not go through the normal Pd interface, so it can
+be used if you accidentally create a patch which takes so much processing
+that you cannot turn it off because the patch UI is unresponsive.
+
+Fixed a really bad bug in the text rendering objects.
+
+Various other random bugs.
+
+---------------------------------------------------------------
+---------------------------- 0.79 -----------------------------
+The example patches have been organized a little bit. There is
+now a collection of directories which are installed with GEM.
+Eventually, they will be fleshed out a lot more (I hope), but for
+the time being, at least there is some order to them.
+
+The model and multimodel objects accept a "rescale 0" or "rescale 1"
+message. In previous versions, the model objects would resize your
+model to fit within the unit cube (all vertices where within -1 to 1).
+This made it dificult to coordinate diferent model files together,
+because they would all be resized by diferent factors. Now, if you
+send a "rescale 0" message into model or multimodel, it will not
+do resizing for any _SUBSEQUENT_ loading. In other words, if you
+have already loaded in a model, and you send a "rescale 0", the
+currently loaded model (or models) will not change. Look at the
+example patch gem_advanced/gemModelRescale.pd for how this works.
+The left model chain is much larger and a scaleXYZ object with a
+value of .1 is needed to even get the model into the viewport.
+The model and multimodel objects default to "rescale 1" so that it
+doesn't break any existing patches.
+
+The middle and right buttons work in gemtablet now. The outlets
+are all pretty close together now, so until you can resize objects,
+it will be difficult to select the correct outlet. Look in
+examples/gemTablet.pd for all of the outlets.
+
+I have upgraded to Visual C++ 6.0. I doubt that the GEM library
+is backwards compatible for people who are writing their own
+libraries. Sorry, but the IDE is a little less painful in 6.0.
+
+I removed the position inlet from the light object. If you want
+to move/rotate a world_light/light, then just put a translate
+or rotate object into the chain. It was broken before, but now
+there is no reason for the position inlet.
+
+light and world_light accept a "debug" message with a value of
+1 or 0. Look at the gemLightSphere.pd patch for an example.
+It was too hard to figure out where the light is, and this turns on
+a sphere for the light object (since it is a point light), and
+a cone for the world_light object (since it is a directional
+light). The world_light is NOT a spot light, even though
+its icon is a cone. The icons are the color of the light.
+
+MarkEx has been merged into GEM. I was tired of maintaining
+two libraries. Also, people didn't seem to be downloading
+MarkEx, and there are a lot of good objects in there, IMHO.
+
+The camera object is finally useable. It has an inlet for the
+translation and rotation vectors. Anyone who was using it
+before is now broken, but the change was very necessary.
+
+gemwin can accept a perspective message. This will set up the
+viewing paramaters for the window. You need to pass in 6 floats
+with the "perspective" message, for the left, right, bottom,
+top, front, and back. The defaults are -1., 1., -1., 1., 1., 20.
+If you send a reset message to gemwin, it will reset the perspective
+values as well.
+
+The big change in this release is a particle system. It is based
+on code from David McAllister. There are many new object, all
+of which interact in certain ways. One design issue is that
+there are far too many controls and variables to be able to
+expose directly in GEM. People who want to get complete control
+over all aspects of the particle system are going to need to
+write their own externals. However, most people should be fine with
+the particle objects. The new objects are:
+
+CREATION
+--------
+part_head - The start of a particle group
+part_color - Set the range of colors for the new particles
+part_size - Set the size of new particles
+part_velsphere - Set the velocity based on a sphere distribution
+ You need 4 args - xvel, yvel, zvel, and radius
+part_velcone - Set the velocity based on a cone distribution
+
+part_source - Generate particles
+
+MANIP
+-----
+part_follow - Particles will follow each other like a snake
+part_gravity - Have the particles accelerate in a direction
+part_killold - Remove particles past a certain age
+part_killslow - Remove particles below a certain speed
+part_orbitpoint - Orbit the particles around a specified point
+
+part_draw - Apply the actions and render the particles. Accepts a
+ message "draw line" or "draw point" to change the drawing style.
+
+Look in the example files to get some idea how to use the particle
+objects. Notice that you still need a gemhead starting off the
+chain, but after that, you just use the part_* objects. Regular
+GEM manips like rotate, translateXYZ, and scale will affect the
+particles. In general, you start with part_head, then modify
+the particle parameters with the creation objects like part_color
+and part_velocity. Then use part_source to actual generate the
+particles. Next in the chain, use the manip objects to control
+the particles behavior. When you actually want to display the
+particles, use part_draw. Make sure that you remove particles as
+well. The best method is probably with part_killold. If you
+don't remove particles, then you will eventually not be able to
+add any new ones (the default number of particles at once is
+1000, set by part_head). You can also slow down the rate of the
+particle generation with the part_source object.
+
+---------------------------------------------------------------
+---------------------------- 0.78 -----------------------------
+If you don't want GEM to take control of the tablet if it finds
+one, set the environment variable GEM_NO_TABLET to the
+value "1" (no quotes of course). There will be a print out if
+GEM finds the environment variable.
+
+I added a few more setup access function so that people who
+use "-lib gem" or "-lib GEM" will work correctly.
+
+Lighting will now work under single buffer mode, but you have
+to destroy then create the graphics window to change the mode. This
+will not work with the GEM_SINGLE_CONTEXT variable.
+
+pix_data is a new object. It outputs color information from a pix.
+ The first inlet accepts a bang to trigger it.
+ The second inlet accepts a gem list (probably from pix_image)
+ The third inlet is the x position (between 0 and 1)
+ The fourth inlet is the y position (between 0 and 1)
+ The first outlet is the gem list
+ The second outlet is the color (an RGB list)
+ The third outlet is the gray scale value (a float)
+ See the example patches gemPixDataSimple.pd and gemPixDataComplex.pd
+for possible use.
+
+Fixed a pretty bad bug in the SGI image loading. Basically, unless
+the image was RGBA, it was going to core dump. Also, the orientation
+was wrong.
+
+---------------------------------------------------------------
+---------------------------- 0.77 -----------------------------
+GEM is now under the Gnu Public License. This should not affect
+any one. I also cleaned up the license information for the AuxLibs.
+All of the license and usage information can be found in
+GEM.LICENSE.TERMS
+
+GEM has a new home - http://www.danks.org/mark/GEM
+
+gemorb - a new object to interface with the SpaceTec SpaceOrb360.
+It is a 6DoF ball with 6 buttons that connects to your serial port.
+It is a very cool device, and is relatively cheap ($50 US). If gemorb
+is able to connect, it will print out a message, or an error if there
+is a problem. John Stone wrote the library.
+
+There is a particle system with a number of new objects. The system
+uses a library by David McAllister.
+ps I haven't had time to bring all of the objects online. particle
+is the only object right now. It just creates a fountain.
+
+accumrotate was added - three inlets to control the rotation. Each
+time a new value is sent in, it increases the rotation. Sending
+'reset' to the leftmost inlet sets the rotation matrix to
+identity (ie, it resets it to no rotation).
+
+rotateXYZ was added - three inlets to control the rotation. Order
+is X rotation, then Y, then Z.
+
+The tablet cleanup is a little better now on WinNT. There are still
+some bugs, like it doesn't return to normal mouse usage after GEM exits.
+However, the DLL is being released correctly...I just need to reset
+to the default state somehow.
+
+Cone and sphere have changed behavior as of 0.77. The middle inlet
+is now the size and the right inlet is the number of slices.
+
+depth used to be sending '1' would turn on depth testing, but this
+was conceptually wrong. It should be 1 to turn on the depth
+object (which would disable depth testing). This is now the
+current behavior.
+
+ortho was added. It changes the viewing from perspective to
+orthogonal. The size is the size of the window with (0, 0)
+being the lower left corner. I made this object for creating
+a background the size of the window, but you can probably
+find other uses for it.
+
+There is a matrix class for those who are writing objects.
+It is in src/Base/Matrix.
+
+---------------------------------------------------------------
+---------------------------- 0.76 -----------------------------
+Fixed a bug in spline-path. I wasn't doing the knot logic
+correctly. Thanks to Patrick Rost for finding this.
+
+A bunch of internal changes to get GEM working with Pd 0.22
+All instances of A_INT went away and the inlets and outlets are
+created in the correct "logical" order now.
+
+---------------------------------------------------------------
+---------------------------- 0.75 -----------------------------
+You can resize the window under WinNT and the viewport will change
+to reflect the new size.
+
+Also, the correct aspect ratio is maintained no matter what the
+width/height ratio is for the GEM window. The ratio is
+x:y -> (width/height):1. This is currently only under WinNT.
+
+gemmouse and gemtablet are new objects. They currently only
+work in WinNT. You should be able to create the object in
+the Irix/Linux versions, but you won't get any output. See
+gemmouse.pd and gemtablet.pd for examples.
+gemmouse outputs the current mouse position and button up/down
+for the GEM window.
+gemtablet outputs the current pen position, pressure, orientation,
+and pen up/down, with the GEM window mapped to the tablet. If
+GEM can connect to your tablet, a message will be printed at startup.
+If you don't see a message at startup from GEM about connecting to
+the tablet, then gemtablet will not output any values. You must
+have the wintab32.dll library installed. Your tablet's installation
+should do this.
+
+Added a bunch of utility functions (spline, bias functions, etc).
+
+linear_path and spline_path are new objects. If you give them
+an array, then they will generate a point from an index. linear_path
+will linearly interpolate between points. spline_path uses the
+points as knots for a curve. See gemSplinePath.pd and
+gemLinearPath.pd for examples.
+
+Added __declspec declarations for Windows. This should
+make it easy for people to use GEM as a dll.
+
+---------------------------------------------------------------
+---------------------------- 0.74 -----------------------------
+I replaced the images in the example directory with JPGs. They
+are alot smaller. However, in gemMoveImages.pd, you can see
+the effect that the compression has. Look at the red dancer. All
+of the "black" should be alpha masked out, yet there are little
+bits which get all jaggy.
+
+Got gltt-1.8 Looks like it fixes a bunch of bugs.
+
+Finally put an alpha test into the alpha object. This means that
+if the alpha of a pixel == 0., then it won't be put written into
+the frame buffer. Look at the example file gemMoveImages.pd for
+an example of this. Notice that the dancer is texture mapped to
+a sphere, yet you can always see her correctly. You can disable
+this behavior by sending a 'test 0' to the alpha object.
+
+Oh boy, were my texture coordinates off. Unknown to me, my reference
+image (dancer.tif) was actually upside down. This meant that all
+of the texture coordinates in the Geos objects were compensating
+for the rotation. Sorry if this messes anyone up, but it is now
+correct for all of the geos.
+
+I also now load in images in OpenGL format. This means that
+data[0][0] == lower-left corner. This shouldn't have any effect
+on anyone unless you are doing position sensitive image processing.
+
+Fixed the orientation problem when using pix_draw.
+
+imageVert handles gray8 pixes
+
+Fixed a problem if pix_multiimage loaded in images that were different
+formats or sizes.
+
+GEM supports search paths! Basically, GEM will look for auxiliary
+files (images, models, fonts, etc.) from whatever directory the
+patch is in (unless you use an absolute path name with '/').
+
+---------------------------------------------------------------
+---------------------------- 0.73 -----------------------------
+Fixed profiling on Unix
+
+Added text2d, text3d, textoutline. The text objects will render
+a truetype font (I have provided a couple fonts in gem/examples).
+text2d renders a flat bitmap...no rotation or Z movement. text3d is
+full polygonal text, so you can translate and rotate. textoutline
+is also polygonal, it is just a vectored outline.
+ PS text2d has some problems...
+
+JPEG and SGI image file formats are supported! Depending on the number
+of color components, GEM will automatically convert them to grayscale
+or RGBA (just like TIFF files).
+
+pix_video is working slightly on WinNT. There are still some
+serious problems, so consider this version a complete pre-alpha. I'm
+releasing a version now to find out if it even works on other systems.
+I am using a Connectix QuickCam2.
+
+Shifted all of the auxilary libraries into a common directory. Considering
+that I'm currently using 6 outside packages, it is just easier.
+
+---------------------------------------------------------------
+---------------------------- 0.72 -----------------------------
+
+Did a bunch of cleaning so that the Linux compile is happier (and easier).
+This involved getting rid of some warning messages and changing
+the makefiles slightly.
+
+The strange core dump on WinNT went away...
+
+All of the code and extra files are under source code control (CVS).
+You can just ignore the CVS directories. Eventually, I will try to keep
+them out of the release build.
+
+Added profiling. If you send 'profile 1' to gemwin, then normal profiling
+is turned on (GEM displays the number of milliseconds per frame). If you
+send 'profile 2', then images will not be cached (ie, the pixes will always
+be processed). If you send 'profile 0', then profiling is turned off.
+
+pix_multiply multiplies the color components of two images together.
+It doesn't modify the alpha channel.
+
+Optimized pix code.
+
+Because Miller is removing the INT type, I have slowly been moving it
+out of the code. If any objects have stopped working, please let me know.
+I redid the construction macros in CPPExtern to reflect this change.
+If you have made any new GEM objects, you will probably need to
+change to the new macro format.
+
+Most of the dual input pix objects will process gray8 and RGBA data
+gracefully.
+
+---------------------------------------------------------------
+---------------------------- 0.71 -----------------------------
+
+Guenter got GEM working under Linux! The biggest impact is that I
+have changed all of the #ifdef __sgi to #ifdef _UNIX_ If specific versions
+of Un*x need certain things, then they can be #ifdef'ed with __sgi,
+or LINUX, or whatever.
+
+Fixed a bug in polygon and curve. I'm not sure why it ever worked on
+the SGI...
+
+All pix objects accept a 0 or 1 to turn on and off their processing.
+The 0 or 1 should just be sent to the first inlet.
+
+The inlets were backwards for colorRGB.
+
+Fixed a bug in turning on and off texture mapping in pix_texture.
+
+GemMan::initGem is now called from Gem_setup. There seems to be a problem
+with Linux creating the dummy static class to initialize GEM.
+
+Changes pix_texture so that it deal with OpenGL 1.1, GL_EXT_texture_obj,
+and base OpenGL 1.0 I think that every OS has the texture_obj
+extension, but just in case, I also have the OpenGL 1.0 technique of display
+lists.
+
+Removed some spurious print outs.
+
+I looked into using GL_BGRA_EXT for images on Windows. It is faster
+in the software version, but my Intergraph card doesn't support it.
+It only makes a difference for OpenGL in software...and texture
+download time isn't the primary problem then. With a 512x512 image
+using glDrawPixels in software, I got 6 frames/sec with RGBA and 7
+frames/sec with BGRA_EXT. Older SGIs like ABGR_EXT, but the newer machines
+want RGBA. Looks like I'm going to stick with RGBA for a while.
+
+You can now load in Gray8 and RGBA images and they will retain their
+format. Before, everything was slammed into an RGBA image, with A == 255.
+This means that you can have alpha masks on images, etc. The only pix
+object which can currently handle a gray8 is pix_mask. All of the other
+pixes throw errors if they get a gray8. This will slowly be fixed.
+
+Added some new functions to GemPixUtil (from a paper by Alvy Ray Smith).
+They should speed things up. Currently, only pix_composite is using them.
+
+The color channels of pixels should be gotten by the const ints that
+are in GemPixUtil (for instance, chRed, chGreen, etc). Using hard coded
+offsets like 0 or 2 for red and blue is asking for trouble.
+
+gemheads no longer push and pop the entire matrix state when renderGL is
+called. This should be faster (push/pop is slow on some platforms). Also,
+all objects are required to "reset" the OpenGL state when they are done,
+so it shouldn't be neccessary.
+
+Strangeness: There is an unreferenced memory exception on WinNT when you
+quit Pd. However, it only happens if you use pix_image. It doesn't
+happen while you are using Pd, only when you quit...
+
+---------------------------------------------------------------
+---------------------------- 0.70 -----------------------------
+
+All geos can now accept a size argument (they default to 1.0)
+
+I cleaned up the texture coordinate mapping. The order was slightly
+random before. The order is more logical now; it is counterclockwise
+starting at 0, 0. If you use pix_coordinate any where, you will need
+to fix the values.
+
+Fixed a bug in translateXYZ. The inlets where backwards.
+
+You can now move the GEM window under NT. NT doesn't automatically
+take care of the basic window functions unless you pass the messages
+through (unlike X Windows).
+
+Texture mapping can be turned on and off by sending a 0 or 1 to pix_texture
+
+Texture mapping defaults to GL_LINEAR. Send a quality message to pix_texture
+to change this. A "quality 0" means GL_NEAREST, "quality 1" means GL_LINEAR.
+
+---------------------------------------------------------------
+---------------------------- 0.69 -----------------------------
+
+Fixed a bunch of bugs in imageVert.
+
+Cleaned up some lingering problems in various objects (the open message to
+pix_multiimage didn't work as advertised for instance).
+
+Setting window color is now dynamic.
+
+multimodel now exists. Works just like pix_multiimage, only it reads in
+Alias/Wavefront files. It also has a caching mechanism.
+
+---------------------------------------------------------------
+---------------------------- 0.68 -----------------------------
+
+fixed pix_2grey so it uses real color weights, instead of just averaging
+the three colors.
+
+pix_image now works the same way as pix_multiimage. If you load in an
+image which another pix_image has already loaded, they will share the
+image. This means that if you create a bunch of dummy pix_image
+objects, you can send an open message to pix_images which have a gemhead
+connected to them and get instantaneous image changes.
+
+Found a MAJOR bug in the NT version of pix_texture. Basically, if you
+used it, the program would core dump.
+
+Found another bug in square. It involved texture mapping and texture
+coordinates (mainly when you don't designate them).
+
+Changed the default values for scaleXYZ (to 1, 1, 1) and translateXYZ
+(to 0, 0, 0)
+
+---------------------------------------------------------------
+---------------------------- 0.67 -----------------------------
+
+Forgot to add the arguments for the scale object. This has been fixed.
+
+Added translateXYZ, scaleXYZ, and colorRGB. These create three inlets
+which you can modify, instead of having to mess with vector messages.
+
+Fixed a bug in pix_image and pix_multiimage (or more, an unacceptable
+response to user error). Basically, if you started rendering without
+an image being loaded (or if an image failed to load, then you were
+_VERY_ likely to core dump. A check has been added, so this shouldn't
+be a problem anymore.
+
+pix_multiimage HAS CHANGED! It accepts up to four arguments:
+
+filename, number : will load the image files from 0 up to AND INCLUDING
+the number
+
+filename, lownum, highnum : will load the image files from the lownum up
+to AND INCLUDING the highnum
+
+filename, lownum, highnum, skiprate : will load the image files from
+the low num up to AND INCLUDING the highnum, but incrementing the counter
+by the skiprate, not by one.
+
+No matter how many images are loaded, you can change which image is
+displayed by sending a number. The number must be between 0 and the
+number of images which were loaded (notice that this number may not be
+the highnum!) If you try to display an image out of range, you will
+get an error.
+
+pix_multiimage now uses a shared cache. Basically, if you give two
+pix_multiimage objects the EXACT same values (filename, base number,
+top number and skip number), then they will use the same collection of
+images. This will save massive amounts of memory if there is any
+commonality between pix_multiimages.
+
+pix_flip - see help file
+
+---------------------------------------------------------------
+---------------------------- 0.66 -----------------------------
+
+Finished the port to NT (mainly had to get images working).
+
+Made pix_colormatrix - This is really good for things like saturation,
+hue rotate, etc. I will eventually include a bunch of matrices to do
+cool stuff. Check out Paul Haeberli's paper on color matrices at
+http://www.sgi.com/grafica/index.html
+
+I removed pix_color. It was a hold over from earlier days and I
+don't think that anyone (including myself) is using it any more.
+
+I got a title bar onto the graphics window, but you still can't move it
+around. I am not certain why this is the case, but I'll keep looking.
+
+I made general speed ups to most of the pix objects. Mainly, I have
+been removing GetPixel() and SetPixel() functions (they have a lot
+of overhead). I will continue to use Get/SetPixel() while I'm developing
+because they make things easy to deal with, but as objects get finished,
+I will remove them.
+
+Some of the manipulators (color, rotate, and translate) accept arguments.
+For instance, if you do color 1 0 0, it will automatically set the
+color to red. The objects try to be intelligent about their arguments.
+For instance, if color receives three args, it sets RGB, but if it
+gets 4, it sets RGBA. If rotate or translate get 3 args, then they just
+set the vector, but if they get 4, then they set both the vector and
+the value.
+
+---------------------------------------------------------------
+---------------------------- 0.65 -----------------------------
+
+GEM works under NT! I got the port working last night. I had to make some
+major changes to the underlying classes (specifically CPPExtern) because
+MS VisC++ puts the vtable pointer in the first four bytes...no matter what.
+This is a different behavior than SGI's compiler (and I think that it requires
+more work for MS VisC++'s compiler). While it was a pain to change things, it
+is good in the long run. The C++ standard doesn't say where the vtable is
+located, so this would have bitten me at some point.
+
+---------------------------------------------------------------
+---------------------------- 0.64 -----------------------------
+
+Because MS VisC++ really wants files to end in .cpp (how stupid...),
+I renamed all of the C++ files.
+
+I looked into making all of the pixes be float, instead of unsigned char. This
+would give increased flexibility because we could use negative numbers, not
+worry about wrap around on the unsigned char, etc. In running performance
+tests on an SGI O2, the performance difference is fairly great. If GEM
+was only an image processing program (ie, PhotoShop), then I would definetely
+have pixes be floats. However, since GEM is meant for real-time, I will
+continue to use unsigned chars to represent pixels.
+
+For the tech heads...I used to generate the rendering by creating a
+linked list of the GEM objects. The problem was that objects like
+separator weren't possible because it wasn't a true DAG. That is now
+fixed so that tree/leaf graphs are possible.
+
+Made render_trigger so you can know exactly when the rendering is occuring.
+
+Made pix_multiimage! Just give it a file with a * (like myfiles*.tif) and an
+integer for a range (the number of images).
+
+Made pix_invert, separator
+
+---------------------------------------------------------------
+---------------------------- 0.63 -----------------------------
+
+The src directory has been made into a tree.
+
+Made pix_add and pix_subtract
+Added a scale object
+
+---------------------------------------------------------------
+---------------------------- 0.62 -----------------------------
+
+A dummy glxContext is created at startup. What this means is that
+in the constructors of objects, OpenGL calls can be made, display
+lists can be constructed, etc. Eventually, I would like to have a
+single window which is always in existance that can change between
+single and double buffering, but that may be a little while.
+
+I put Sam Leffler's tiff library back in. All image files must be in
+TIFF format again. Basically, I think that Win NT would have trouble
+making SGI .rgb files, while anyone can make TIFF formats. Currently
+there is some code bloat because libtiff does more than just read in a
+TIFF file.
+
+The pix_coordinate object allows users to set the S,T texture coordinates
+for geos. For instance, by giving pix_coordinate 4 S,T pairs, the texture
+coordinates for a square can be changed on the fly. Not all of the geos
+can support this ability right now (currently only square, triangle, and
+polygon, but this will change in the near future).
+
+A FAQ has been started, but there really aren't any questions in it yet.
+As people think of them, please let me know and I'll add them.
+
+---------------------------------------------------------------
+---------------------------- 0.61 -----------------------------
+
+Cocoon html help files for developers have been created.
+
+GEM now uses an internally generated DAG for rendering. This
+removes a serious bug where by objects could still try to reference
+dangling pointers. GEM objects act like the tidle objects do
+from a users point of view. Even if you break a connection
+in a GEM chain, the GEM objects will continue to work. This
+means that it is safe to edit patches while a GEM chain is
+running. To rebuild the GEM patch, rendering must be turned
+off and then back on (just like the tilde objects).
+
+Using the td library from Evans & Sutherland by Nate Robbins to display
+Alias/Wavefront files (.obj). It also takes care of image
+loading, although it is only .rgb. If people complain enough,
+then I may return to the Sam's libTiff library, but it is so
+big that the td library is better. The td library can also be
+compiled on Windows (or else I wouldn't have used it). The new
+object is called model (although it may change its name some day).
+
+There is a new object which maps the color of a pix to the Z of
+a polygon. It is isn't overly useful right now, but it is a cool
+demo. It is called imageVert.
+
+---------------------------------------------------------------
+---------------------------- 0.60 -----------------------------
+
+Major changes to the internals of GEM. gemwin is now only
+an access point to the window manager, instead of actually
+being the window manager. This should make it easier to have
+multiple graphics windows.
+
+While I was getting the O2 video camera to work, I seem to
+have broken the Indycam object...
+
+---------------------------------------------------------------
+---------------------------- 0.50 -----------------------------
+
+Made the port from Max over to Pd. Redesigned the class
+heirarchy somewhat.
+
diff --git a/packages/noncvs/windows/extra/Gem/gem.todo.txt b/packages/noncvs/windows/extra/Gem/gem.todo.txt
index 43a16a76..0cd14e7c 100644
--- a/packages/noncvs/windows/extra/Gem/gem.todo.txt
+++ b/packages/noncvs/windows/extra/Gem/gem.todo.txt
@@ -1,65 +1,65 @@
-GEM ONLINE DOCUMENTATION CHAPTER 7: TODO
-----------------------------------------
-
- This is a list of future improvements and changes.
-No importance should be given to the order...it is just
-when I thought of things.
- - Mark D.
- - IOhannes m z
-
----------------------------- TODO -----------------------------
-
-GENERAL
--------
-only connect to tablet if gem_tablet exists
-make a separate Gem-thread (to do parallel audio/video-processing)
-enable output to other "devices": like files, video-editing-cards,...
-
-PARTICLE
---------
-
-
-OBJECTS
--------
-triangle_fan
-stereoscopic display with hardware glasses
-NURBS/bezier patches
-3DstudioMax file loader
-CAL3d (character animation library): (not sure anymore. maybe quake2-files would be better ?)
-Alias|Wavefront file data
- - articulation hierarchies in Wavefront's Kinemation
- - read Preview's .mov files (an ascii list of x, y, and/or z values)
-morphing between alias|wavefront models
- - assume same number of points in each model
-
-PIXES
------
-pix_dv (under linux this still needs a lot of testing)
-motion and image analysis
-some way to fragment an image so that it can be used as multiple
- texture maps (hopefully arbitrary shapes, but possibly only rectangular)
-pix_erosion
-pix_dilation
-pix_median/min/max filter
-pix_lowpass
-pix_highpass
-video external keyer
- - three inputs - the matte and two image inputs
-increased control of the Threshold object.
- - upper and lower levels adjustable
-stereoscopic texture loader
-pix_circle
-pix_triangle
-test pix_video - espec offset message
-
-OPENGL
-------
-be able to switch between single and double buffering on the fly
-have multiple graphics windows
-increased control of view port, etc.
-be able to use multiple pipes (MCO)
-try out glMatrixMode(GL_TEXTURE) to deal with nonstandard texture mapping
-render to a pixblock (use pbuffers or offscreen renderer)
-on systems that run in console mode only (like linux with(out) XFree86), render to the console with beautiful ASCII-art
-multipass rendering
-multitexturing
+GEM ONLINE DOCUMENTATION CHAPTER 7: TODO
+----------------------------------------
+
+ This is a list of future improvements and changes.
+No importance should be given to the order...it is just
+when I thought of things.
+ - Mark D.
+ - IOhannes m z
+
+---------------------------- TODO -----------------------------
+
+GENERAL
+-------
+only connect to tablet if gem_tablet exists
+make a separate Gem-thread (to do parallel audio/video-processing)
+enable output to other "devices": like files, video-editing-cards,...
+
+PARTICLE
+--------
+
+
+OBJECTS
+-------
+triangle_fan
+stereoscopic display with hardware glasses
+NURBS/bezier patches
+3DstudioMax file loader
+CAL3d (character animation library): (not sure anymore. maybe quake2-files would be better ?)
+Alias|Wavefront file data
+ - articulation hierarchies in Wavefront's Kinemation
+ - read Preview's .mov files (an ascii list of x, y, and/or z values)
+morphing between alias|wavefront models
+ - assume same number of points in each model
+
+PIXES
+-----
+pix_dv (under linux this still needs a lot of testing)
+motion and image analysis
+some way to fragment an image so that it can be used as multiple
+ texture maps (hopefully arbitrary shapes, but possibly only rectangular)
+pix_erosion
+pix_dilation
+pix_median/min/max filter
+pix_lowpass
+pix_highpass
+video external keyer
+ - three inputs - the matte and two image inputs
+increased control of the Threshold object.
+ - upper and lower levels adjustable
+stereoscopic texture loader
+pix_circle
+pix_triangle
+test pix_video - espec offset message
+
+OPENGL
+------
+be able to switch between single and double buffering on the fly
+have multiple graphics windows
+increased control of view port, etc.
+be able to use multiple pipes (MCO)
+try out glMatrixMode(GL_TEXTURE) to deal with nonstandard texture mapping
+render to a pixblock (use pbuffers or offscreen renderer)
+on systems that run in console mode only (like linux with(out) XFree86), render to the console with beautiful ASCII-art
+multipass rendering
+multitexturing
diff --git a/packages/noncvs/windows/extra/Gem/gem_filmDS.dll b/packages/noncvs/windows/extra/Gem/gem_filmDS.dll
index c14a5bab..03c54fbf 100644
--- a/packages/noncvs/windows/extra/Gem/gem_filmDS.dll
+++ b/packages/noncvs/windows/extra/Gem/gem_filmDS.dll
Binary files differ
diff --git a/packages/noncvs/windows/extra/Gem/gem_filmQT.dll b/packages/noncvs/windows/extra/Gem/gem_filmQT.dll
index f3ece531..2a9eda2b 100644
--- a/packages/noncvs/windows/extra/Gem/gem_filmQT.dll
+++ b/packages/noncvs/windows/extra/Gem/gem_filmQT.dll
Binary files differ
diff --git a/packages/noncvs/windows/extra/Gem/gem_imageJPEG.dll b/packages/noncvs/windows/extra/Gem/gem_imageJPEG.dll
index 2f06658a..5bde96a7 100644
--- a/packages/noncvs/windows/extra/Gem/gem_imageJPEG.dll
+++ b/packages/noncvs/windows/extra/Gem/gem_imageJPEG.dll
Binary files differ
diff --git a/packages/noncvs/windows/extra/Gem/gem_imageQT.dll b/packages/noncvs/windows/extra/Gem/gem_imageQT.dll
index 0805afaf..413198a6 100644
--- a/packages/noncvs/windows/extra/Gem/gem_imageQT.dll
+++ b/packages/noncvs/windows/extra/Gem/gem_imageQT.dll
Binary files differ
diff --git a/packages/noncvs/windows/extra/Gem/gem_imageSGI.dll b/packages/noncvs/windows/extra/Gem/gem_imageSGI.dll
index 93400e9b..39d366b2 100644
--- a/packages/noncvs/windows/extra/Gem/gem_imageSGI.dll
+++ b/packages/noncvs/windows/extra/Gem/gem_imageSGI.dll
Binary files differ
diff --git a/packages/noncvs/windows/extra/Gem/gem_imageTIFF.dll b/packages/noncvs/windows/extra/Gem/gem_imageTIFF.dll
index b73a76fc..065f4d5a 100644
--- a/packages/noncvs/windows/extra/Gem/gem_imageTIFF.dll
+++ b/packages/noncvs/windows/extra/Gem/gem_imageTIFF.dll
Binary files differ
diff --git a/packages/noncvs/windows/extra/Gem/gem_recordQT.dll b/packages/noncvs/windows/extra/Gem/gem_recordQT.dll
index a6f46f01..3aff68d4 100644
--- a/packages/noncvs/windows/extra/Gem/gem_recordQT.dll
+++ b/packages/noncvs/windows/extra/Gem/gem_recordQT.dll
Binary files differ
diff --git a/packages/noncvs/windows/extra/Gem/gem_videoDS.dll b/packages/noncvs/windows/extra/Gem/gem_videoDS.dll
index 31dae2b5..919b8d08 100644
--- a/packages/noncvs/windows/extra/Gem/gem_videoDS.dll
+++ b/packages/noncvs/windows/extra/Gem/gem_videoDS.dll
Binary files differ
diff --git a/packages/noncvs/windows/extra/Gem/gemdefaultwindow.pd b/packages/noncvs/windows/extra/Gem/gemdefaultwindow.pd
index f5f94ba2..45865ed2 100644
--- a/packages/noncvs/windows/extra/Gem/gemdefaultwindow.pd
+++ b/packages/noncvs/windows/extra/Gem/gemdefaultwindow.pd
@@ -1,17 +1,17 @@
-#N canvas 3 45 450 300 10;
-#X obj 125 66 inlet;
-#X obj 125 243 outlet;
-#X obj 125 145 t a a;
-#X obj 175 187 route bang;
-#X obj 175 167 spigot;
-#X obj 208 143 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X obj 232 208 print gem\$0win;
-#X obj 125 100 gemglutwindow;
-#X connect 0 0 7 0;
-#X connect 2 0 1 0;
-#X connect 2 1 4 0;
-#X connect 3 1 6 0;
-#X connect 4 0 3 0;
-#X connect 5 0 4 1;
-#X connect 7 0 2 0;
+#N canvas 3 45 450 300 10;
+#X obj 125 66 inlet;
+#X obj 125 243 outlet;
+#X obj 125 145 t a a;
+#X obj 175 187 route bang;
+#X obj 175 167 spigot;
+#X obj 208 143 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X obj 232 208 print gem\$0win;
+#X obj 125 100 gemglutwindow;
+#X connect 0 0 7 0;
+#X connect 2 0 1 0;
+#X connect 2 1 4 0;
+#X connect 3 1 6 0;
+#X connect 4 0 3 0;
+#X connect 5 0 4 1;
+#X connect 7 0 2 0;
diff --git a/packages/noncvs/windows/extra/Gem/gemframebuffer-help.pd b/packages/noncvs/windows/extra/Gem/gemframebuffer-help.pd
index 7dcb61b8..22687fe2 100644
--- a/packages/noncvs/windows/extra/Gem/gemframebuffer-help.pd
+++ b/packages/noncvs/windows/extra/Gem/gemframebuffer-help.pd
@@ -1,236 +1,236 @@
-#N canvas 131 3 893 604 10;
-#X obj 465 9 cnv 15 420 570 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X obj 472 293 cnv 15 300 60 empty empty empty 20 12 0 14 -191407 -66577
-0;
-#X obj 474 18 cnv 15 400 250 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 477 41 gemhead 20;
-#X obj 664 306 gemhead;
-#X msg 615 106 dimen 320 240;
-#X obj 477 468 rotateXYZ;
-#X floatatom 794 427 5 0 0 0 - - -;
-#X msg 762 114 color 0 0 1 0;
-#X msg 602 87 dimen 1024 1024;
-#X msg 751 74 color 0 0 0 0;
-#X obj 477 422 t a b;
-#X floatatom 717 469 5 0 0 0 - - -;
-#X msg 549 232 rectangle \$1;
-#X obj 549 214 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X msg 509 101 type FLOAT;
-#X obj 664 274 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X obj 477 382 translateXYZ 0 0 -4;
-#X obj 477 298 gemframebuffer;
-#X obj 664 331 pix_texture;
-#X obj 664 358 t a b;
-#X msg 531 187 texunit \$1;
-#X msg 495 62 type BYTE;
-#X msg 503 82 type INT;
-#X msg 658 179 format YUV;
-#X msg 649 158 format RGB;
-#X msg 668 200 format RGBA;
-#X msg 680 220 format RGB32;
-#X obj 664 487 square 2;
-#X obj 664 449 rotateXYZ -40 0 200;
-#X floatatom 707 429 5 0 0 0 - - -;
-#X obj 477 487 pqtorusknots;
-#N canvas 0 22 450 300 rotation 0;
-#X obj 33 19 inlet;
-#X obj 33 110 % 360;
-#X obj 33 62 i;
-#X obj 33 88 + 5;
-#X obj 33 136 outlet;
-#X obj 84 111 % 360;
-#X obj 84 63 i;
-#X obj 84 137 outlet;
-#X obj 134 112 % 360;
-#X obj 134 64 i;
-#X obj 134 138 outlet;
-#X obj 84 89 + 3;
-#X obj 134 90 + 7;
-#X connect 0 0 2 0;
-#X connect 0 0 6 0;
-#X connect 0 0 9 0;
-#X connect 1 0 2 1;
-#X connect 1 0 4 0;
-#X connect 2 0 3 0;
-#X connect 3 0 1 0;
-#X connect 5 0 6 1;
-#X connect 5 0 7 0;
-#X connect 6 0 11 0;
-#X connect 8 0 9 1;
-#X connect 8 0 10 0;
-#X connect 9 0 12 0;
-#X connect 11 0 5 0;
-#X connect 12 0 8 0;
-#X restore 509 443 pd rotation;
-#X floatatom 531 167 5 0 0 0 - - -;
-#N canvas 125 20 450 300 rotation 0;
-#X obj 112 29 inlet;
-#X obj 112 105 % 360;
-#X obj 112 57 i;
-#X obj 112 131 outlet;
-#X obj 112 83 + 1;
-#X connect 0 0 2 0;
-#X connect 1 0 2 1;
-#X connect 1 0 3 0;
-#X connect 2 0 4 0;
-#X connect 4 0 1 0;
-#X restore 794 402 pd rotation;
-#X obj 762 93 loadbang;
-#X obj 477 402 color 1 0 0;
-#X obj 649 245 t a;
-#X obj 585 124 t a;
-#X obj 751 135 t a;
-#X obj 495 130 t a;
-#X floatatom 563 361 5 0 0 0 - - -;
-#X floatatom 607 362 5 0 0 0 - - -;
-#X floatatom 520 361 5 0 0 0 - - -;
-#X obj 495 154 t a;
-#X obj 470 514 cnv 15 410 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X msg 757 544 color 0 0 0 0;
-#X msg 746 522 color 0 1 1 0;
-#X msg 637 525 lighting \$1;
-#X obj 615 526 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#N canvas 0 22 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 198 112 destroy;
-#X msg 132 112 create \, 1;
-#X obj 67 40 route create destroy;
-#X obj 20 217 gemhead 1;
-#X obj 20 237 world_light;
-#X connect 2 0 7 0;
-#X connect 3 0 1 0;
-#X connect 4 0 1 0;
-#X connect 5 0 0 0;
-#X connect 6 0 0 0;
-#X connect 7 0 3 0;
-#X connect 7 0 6 0;
-#X connect 7 1 4 0;
-#X connect 7 1 5 0;
-#X connect 7 2 0 0;
-#X connect 8 0 9 0;
-#X restore 473 554 pd gemwin;
-#X msg 473 529 destroy;
-#X text 471 513 Create window:;
-#X obj 637 552 t a;
-#X text 476 22 Example:;
-#X text 379 -10 GEM object;
-#X obj 7 41 cnv 15 450 130 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 7 208 cnv 15 450 370 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 10 214 Inlets:;
-#X obj 7 175 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 14 174 Arguments:;
-#X text 28 233 Inlet 1: gemlist;
-#X text 15 523 Outlets:;
-#X text 31 539 Outlet 1: gemlist;
-#X text 60 187 <none>;
-#X text 102 -1 Synopsis: [gemframebuffer];
-#X text 122 15 Class: framebuffer object;
-#X text 12 50 Description: Renders a scenne in a texture \, for later
-use.;
-#X text 12 68 this example renders a scene (pqtorusknots) into a framebuffer
-\, which is then used as a texture onto a square.;
-#X text 13 98 you need framebuffer support (and its driver) on your
-gfx-card;
-#X text 28 247 Inlet 1: message: type [BYTE | INT | FLOAT];
-#X text 27 315 Inlet 1: message: dimen <x> <y>;
-#X text 27 349 Inlet 1: message: color <r> <g> <b> <a>;
-#X text 26 430 Inlet 1: message: texunit <f>;
-#X text 27 280 Inlet 1: message: format [RGB|RGBA|RGB32|YUV];
-#X text 26 385 Inlet 1: message: rectangle [0|1];
-#X text 103 262 (type of the framebuffer data);
-#X text 102 330 (dimension of the framebuffer texture);
-#X text 106 465 (usefull only with shader);
-#X text 106 448 (change texunit of the texture);
-#X text 31 557 Outlet 2: texture Id;
-#X text 104 402 (texturing mode \; rectangle (1) or normalized (0))
-;
-#X text 100 296 (color format of the framebuffer);
-#X text 102 365 (background color of the framebuffer);
-#X obj 556 41 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X floatatom 493 323 5 0 0 0 - - -;
-#X obj 477 342 scaleXYZ;
-#X floatatom 563 326 5 0 0 0 - - -;
-#X floatatom 528 325 5 0 0 0 - - -;
-#X msg 585 30 perspec -1 1 -1 1 1 20;
-#X msg 593 56 perspec -1 1 -1 1 3 75;
-#X text 98 497 (frustum of the framebuffer);
-#X text 752 29 default;
-#X text 11 130 NOTE: the default view-point of [gemframebuffer] is
-at the origin 0/0/0 \, unlike [gemwin] where it is at 0/0/4. You might
-want to manually insert a [translateXYZ 0 0 -4].;
-#X text 23 482 Inlet 1: message: perspec <left><right><bottom><top><near>
-;
-#X text 428 482 <far>;
-#X connect 3 0 18 0;
-#X connect 4 0 19 0;
-#X connect 5 0 38 0;
-#X connect 6 0 31 0;
-#X connect 7 0 29 3;
-#X connect 8 0 39 0;
-#X connect 9 0 38 0;
-#X connect 10 0 39 0;
-#X connect 11 0 6 0;
-#X connect 11 1 32 0;
-#X connect 12 0 28 1;
-#X connect 13 0 18 0;
-#X connect 14 0 13 0;
-#X connect 15 0 40 0;
-#X connect 16 0 4 0;
-#X connect 17 0 36 0;
-#X connect 18 0 86 0;
-#X connect 18 1 19 1;
-#X connect 19 0 20 0;
-#X connect 20 0 29 0;
-#X connect 20 1 34 0;
-#X connect 21 0 18 0;
-#X connect 22 0 40 0;
-#X connect 23 0 40 0;
-#X connect 24 0 37 0;
-#X connect 25 0 37 0;
-#X connect 26 0 37 0;
-#X connect 27 0 37 0;
-#X connect 29 0 28 0;
-#X connect 30 0 29 1;
-#X connect 32 0 6 1;
-#X connect 32 1 6 2;
-#X connect 32 2 6 3;
-#X connect 33 0 21 0;
-#X connect 34 0 7 0;
-#X connect 35 0 8 0;
-#X connect 36 0 11 0;
-#X connect 37 0 18 0;
-#X connect 38 0 44 0;
-#X connect 39 0 44 0;
-#X connect 40 0 44 0;
-#X connect 41 0 17 2;
-#X connect 42 0 17 3;
-#X connect 43 0 17 1;
-#X connect 44 0 18 0;
-#X connect 46 0 53 0;
-#X connect 47 0 53 0;
-#X connect 48 0 53 0;
-#X connect 49 0 48 0;
-#X connect 50 0 51 0;
-#X connect 51 0 50 0;
-#X connect 53 0 50 0;
-#X connect 84 0 3 0;
-#X connect 85 0 86 1;
-#X connect 86 0 17 0;
-#X connect 87 0 86 3;
-#X connect 88 0 86 2;
-#X connect 89 0 38 0;
-#X connect 90 0 38 0;
+#N canvas 131 3 893 604 10;
+#X obj 465 9 cnv 15 420 570 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X obj 472 293 cnv 15 300 60 empty empty empty 20 12 0 14 -191407 -66577
+0;
+#X obj 474 18 cnv 15 400 250 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 477 41 gemhead 20;
+#X obj 664 306 gemhead;
+#X msg 615 106 dimen 320 240;
+#X obj 477 468 rotateXYZ;
+#X floatatom 794 427 5 0 0 0 - - -;
+#X msg 762 114 color 0 0 1 0;
+#X msg 602 87 dimen 1024 1024;
+#X msg 751 74 color 0 0 0 0;
+#X obj 477 422 t a b;
+#X floatatom 717 469 5 0 0 0 - - -;
+#X msg 549 232 rectangle \$1;
+#X obj 549 214 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X msg 509 101 type FLOAT;
+#X obj 664 274 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 477 382 translateXYZ 0 0 -4;
+#X obj 477 298 gemframebuffer;
+#X obj 664 331 pix_texture;
+#X obj 664 358 t a b;
+#X msg 531 187 texunit \$1;
+#X msg 495 62 type BYTE;
+#X msg 503 82 type INT;
+#X msg 658 179 format YUV;
+#X msg 649 158 format RGB;
+#X msg 668 200 format RGBA;
+#X msg 680 220 format RGB32;
+#X obj 664 487 square 2;
+#X obj 664 449 rotateXYZ -40 0 200;
+#X floatatom 707 429 5 0 0 0 - - -;
+#X obj 477 487 pqtorusknots;
+#N canvas 0 22 450 300 rotation 0;
+#X obj 33 19 inlet;
+#X obj 33 110 % 360;
+#X obj 33 62 i;
+#X obj 33 88 + 5;
+#X obj 33 136 outlet;
+#X obj 84 111 % 360;
+#X obj 84 63 i;
+#X obj 84 137 outlet;
+#X obj 134 112 % 360;
+#X obj 134 64 i;
+#X obj 134 138 outlet;
+#X obj 84 89 + 3;
+#X obj 134 90 + 7;
+#X connect 0 0 2 0;
+#X connect 0 0 6 0;
+#X connect 0 0 9 0;
+#X connect 1 0 2 1;
+#X connect 1 0 4 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 0;
+#X connect 5 0 6 1;
+#X connect 5 0 7 0;
+#X connect 6 0 11 0;
+#X connect 8 0 9 1;
+#X connect 8 0 10 0;
+#X connect 9 0 12 0;
+#X connect 11 0 5 0;
+#X connect 12 0 8 0;
+#X restore 509 443 pd rotation;
+#X floatatom 531 167 5 0 0 0 - - -;
+#N canvas 125 20 450 300 rotation 0;
+#X obj 112 29 inlet;
+#X obj 112 105 % 360;
+#X obj 112 57 i;
+#X obj 112 131 outlet;
+#X obj 112 83 + 1;
+#X connect 0 0 2 0;
+#X connect 1 0 2 1;
+#X connect 1 0 3 0;
+#X connect 2 0 4 0;
+#X connect 4 0 1 0;
+#X restore 794 402 pd rotation;
+#X obj 762 93 loadbang;
+#X obj 477 402 color 1 0 0;
+#X obj 649 245 t a;
+#X obj 585 124 t a;
+#X obj 751 135 t a;
+#X obj 495 130 t a;
+#X floatatom 563 361 5 0 0 0 - - -;
+#X floatatom 607 362 5 0 0 0 - - -;
+#X floatatom 520 361 5 0 0 0 - - -;
+#X obj 495 154 t a;
+#X obj 470 514 cnv 15 410 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X msg 757 544 color 0 0 0 0;
+#X msg 746 522 color 0 1 1 0;
+#X msg 637 525 lighting \$1;
+#X obj 615 526 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#N canvas 0 22 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 198 112 destroy;
+#X msg 132 112 create \, 1;
+#X obj 67 40 route create destroy;
+#X obj 20 217 gemhead 1;
+#X obj 20 237 world_light;
+#X connect 2 0 7 0;
+#X connect 3 0 1 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
+#X connect 6 0 0 0;
+#X connect 7 0 3 0;
+#X connect 7 0 6 0;
+#X connect 7 1 4 0;
+#X connect 7 1 5 0;
+#X connect 7 2 0 0;
+#X connect 8 0 9 0;
+#X restore 473 554 pd gemwin;
+#X msg 473 529 destroy;
+#X text 471 513 Create window:;
+#X obj 637 552 t a;
+#X text 476 22 Example:;
+#X text 379 -10 GEM object;
+#X obj 7 41 cnv 15 450 130 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 7 208 cnv 15 450 370 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 10 214 Inlets:;
+#X obj 7 175 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 14 174 Arguments:;
+#X text 28 233 Inlet 1: gemlist;
+#X text 15 523 Outlets:;
+#X text 31 539 Outlet 1: gemlist;
+#X text 60 187 <none>;
+#X text 102 -1 Synopsis: [gemframebuffer];
+#X text 122 15 Class: framebuffer object;
+#X text 12 50 Description: Renders a scenne in a texture \, for later
+use.;
+#X text 12 68 this example renders a scene (pqtorusknots) into a framebuffer
+\, which is then used as a texture onto a square.;
+#X text 13 98 you need framebuffer support (and its driver) on your
+gfx-card;
+#X text 28 247 Inlet 1: message: type [BYTE | INT | FLOAT];
+#X text 27 315 Inlet 1: message: dimen <x> <y>;
+#X text 27 349 Inlet 1: message: color <r> <g> <b> <a>;
+#X text 26 430 Inlet 1: message: texunit <f>;
+#X text 27 280 Inlet 1: message: format [RGB|RGBA|RGB32|YUV];
+#X text 26 385 Inlet 1: message: rectangle [0|1];
+#X text 103 262 (type of the framebuffer data);
+#X text 102 330 (dimension of the framebuffer texture);
+#X text 106 465 (usefull only with shader);
+#X text 106 448 (change texunit of the texture);
+#X text 31 557 Outlet 2: texture Id;
+#X text 104 402 (texturing mode \; rectangle (1) or normalized (0))
+;
+#X text 100 296 (color format of the framebuffer);
+#X text 102 365 (background color of the framebuffer);
+#X obj 556 41 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X floatatom 493 323 5 0 0 0 - - -;
+#X obj 477 342 scaleXYZ;
+#X floatatom 563 326 5 0 0 0 - - -;
+#X floatatom 528 325 5 0 0 0 - - -;
+#X msg 585 30 perspec -1 1 -1 1 1 20;
+#X msg 593 56 perspec -1 1 -1 1 3 75;
+#X text 98 497 (frustum of the framebuffer);
+#X text 752 29 default;
+#X text 11 130 NOTE: the default view-point of [gemframebuffer] is
+at the origin 0/0/0 \, unlike [gemwin] where it is at 0/0/4. You might
+want to manually insert a [translateXYZ 0 0 -4].;
+#X text 23 482 Inlet 1: message: perspec <left><right><bottom><top><near>
+;
+#X text 428 482 <far>;
+#X connect 3 0 18 0;
+#X connect 4 0 19 0;
+#X connect 5 0 38 0;
+#X connect 6 0 31 0;
+#X connect 7 0 29 3;
+#X connect 8 0 39 0;
+#X connect 9 0 38 0;
+#X connect 10 0 39 0;
+#X connect 11 0 6 0;
+#X connect 11 1 32 0;
+#X connect 12 0 28 1;
+#X connect 13 0 18 0;
+#X connect 14 0 13 0;
+#X connect 15 0 40 0;
+#X connect 16 0 4 0;
+#X connect 17 0 36 0;
+#X connect 18 0 86 0;
+#X connect 18 1 19 1;
+#X connect 19 0 20 0;
+#X connect 20 0 29 0;
+#X connect 20 1 34 0;
+#X connect 21 0 18 0;
+#X connect 22 0 40 0;
+#X connect 23 0 40 0;
+#X connect 24 0 37 0;
+#X connect 25 0 37 0;
+#X connect 26 0 37 0;
+#X connect 27 0 37 0;
+#X connect 29 0 28 0;
+#X connect 30 0 29 1;
+#X connect 32 0 6 1;
+#X connect 32 1 6 2;
+#X connect 32 2 6 3;
+#X connect 33 0 21 0;
+#X connect 34 0 7 0;
+#X connect 35 0 8 0;
+#X connect 36 0 11 0;
+#X connect 37 0 18 0;
+#X connect 38 0 44 0;
+#X connect 39 0 44 0;
+#X connect 40 0 44 0;
+#X connect 41 0 17 2;
+#X connect 42 0 17 3;
+#X connect 43 0 17 1;
+#X connect 44 0 18 0;
+#X connect 46 0 53 0;
+#X connect 47 0 53 0;
+#X connect 48 0 53 0;
+#X connect 49 0 48 0;
+#X connect 50 0 51 0;
+#X connect 51 0 50 0;
+#X connect 53 0 50 0;
+#X connect 84 0 3 0;
+#X connect 85 0 86 1;
+#X connect 86 0 17 0;
+#X connect 87 0 86 3;
+#X connect 88 0 86 2;
+#X connect 89 0 38 0;
+#X connect 90 0 38 0;
diff --git a/packages/noncvs/windows/extra/Gem/gemhead-help.pd b/packages/noncvs/windows/extra/Gem/gemhead-help.pd
index ac959f9e..6f09947b 100644
--- a/packages/noncvs/windows/extra/Gem/gemhead-help.pd
+++ b/packages/noncvs/windows/extra/Gem/gemhead-help.pd
@@ -1,104 +1,104 @@
-#N canvas 20 14 913 610 10;
-#X text 52 365 Any gem object can be connected after the gemhead and
-it will receive the render command.;
-#X text 47 294 gemhead connects the gem objects to the window manager.
-The start of any gemList begins with the gemhead. Without the gemhead
-\, gem objects will not receive the render command.;
-#X text 217 12 gemhead;
-#X text 50 399 If gemhead receives a bang \, it will execute render.
-This is useful for a single buffered window when you want to control
-when things are rendered.;
-#X text 45 468 gemhead also accepts a 1 or 0 to enable and disable
-rendering for the chain.;
-#X text 474 386 you can dynamically set this value via the "set" message
-;
-#X obj 337 528 cnv 15 140 65 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X msg 352 548 create;
-#X text 348 527 Create window:;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 93 create \, 1 \, frame 2;
-#X msg 198 112 destroy \, reset;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 352 568 pd gemwin (2fps);
-#X obj 42 37 cnv 15 200 240 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 51 42 enable/disable rendering;
-#X obj 71 86 cnv 15 100 40 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X msg 90 203 gemList;
-#X obj 90 97 gemhead;
-#X msg 90 64 1;
-#X msg 126 64 0;
-#X obj 90 244 print ENABLE;
-#X obj 90 141 translate 2 -1 0 0;
-#X obj 90 162 square 0.5;
-#X obj 285 34 cnv 15 200 240 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 528 32 cnv 15 200 240 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 316 35 force rendering;
-#X text 547 37 set rendering order;
-#X obj 326 88 cnv 15 100 40 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 559 93 cnv 15 100 40 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X msg 335 55 bang;
-#X msg 569 59 set 45;
-#X msg 632 61 set 55;
-#X obj 569 244 print SETTABLE;
-#X obj 335 244 print FORCEABLE;
-#X obj 335 98 gemhead 50;
-#X obj 569 102 gemhead 55;
-#X obj 335 141 translate 2 0 1 0;
-#X msg 335 203 gemList;
-#X msg 569 203 gemList;
-#X obj 569 141 translate 2 1 0 0;
-#X obj 335 162 circle 0.5;
-#X obj 569 162 triangle 0.5;
-#X text 469 288 gemhead takes an argument to determine when it receives
-the render command. The default value is 50 The lower the value is
-\, the sooner the gemhead will receive the rendering command (a value
-of 1 is the lowest possible value (see below)). This value becomes
-important when you are doing alpha blending and for certain objects
-(such as light).;
-#X text 469 495 example: "1" before "50" before "-10" before "-23"
-;
-#X text 470 416 the rendering-order value can also be negative. Negative
-numbered [gemhead]s will be rendered AFTER all positive [gemhead]s.
-Note \, that Higher values (-3) will be rendered BEFORE lower values
-(-10). [gemhead]s with negative numbers will NOT be affected by view-point
-changes !!!;
-#X connect 7 0 9 0;
-#X connect 9 0 7 0;
-#X connect 13 0 17 0;
-#X connect 14 0 18 0;
-#X connect 15 0 14 0;
-#X connect 16 0 14 0;
-#X connect 18 0 19 0;
-#X connect 19 0 13 0;
-#X connect 26 0 31 0;
-#X connect 27 0 32 0;
-#X connect 28 0 32 0;
-#X connect 31 0 33 0;
-#X connect 32 0 36 0;
-#X connect 33 0 37 0;
-#X connect 34 0 30 0;
-#X connect 35 0 29 0;
-#X connect 36 0 38 0;
-#X connect 37 0 34 0;
-#X connect 38 0 35 0;
+#N canvas 20 14 913 610 10;
+#X text 52 365 Any gem object can be connected after the gemhead and
+it will receive the render command.;
+#X text 47 294 gemhead connects the gem objects to the window manager.
+The start of any gemList begins with the gemhead. Without the gemhead
+\, gem objects will not receive the render command.;
+#X text 217 12 gemhead;
+#X text 50 399 If gemhead receives a bang \, it will execute render.
+This is useful for a single buffered window when you want to control
+when things are rendered.;
+#X text 45 468 gemhead also accepts a 1 or 0 to enable and disable
+rendering for the chain.;
+#X text 474 386 you can dynamically set this value via the "set" message
+;
+#X obj 337 528 cnv 15 140 65 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X msg 352 548 create;
+#X text 348 527 Create window:;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 93 create \, 1 \, frame 2;
+#X msg 198 112 destroy \, reset;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 352 568 pd gemwin (2fps);
+#X obj 42 37 cnv 15 200 240 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 51 42 enable/disable rendering;
+#X obj 71 86 cnv 15 100 40 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X msg 90 203 gemList;
+#X obj 90 97 gemhead;
+#X msg 90 64 1;
+#X msg 126 64 0;
+#X obj 90 244 print ENABLE;
+#X obj 90 141 translate 2 -1 0 0;
+#X obj 90 162 square 0.5;
+#X obj 285 34 cnv 15 200 240 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 528 32 cnv 15 200 240 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 316 35 force rendering;
+#X text 547 37 set rendering order;
+#X obj 326 88 cnv 15 100 40 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 559 93 cnv 15 100 40 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X msg 335 55 bang;
+#X msg 569 59 set 45;
+#X msg 632 61 set 55;
+#X obj 569 244 print SETTABLE;
+#X obj 335 244 print FORCEABLE;
+#X obj 335 98 gemhead 50;
+#X obj 569 102 gemhead 55;
+#X obj 335 141 translate 2 0 1 0;
+#X msg 335 203 gemList;
+#X msg 569 203 gemList;
+#X obj 569 141 translate 2 1 0 0;
+#X obj 335 162 circle 0.5;
+#X obj 569 162 triangle 0.5;
+#X text 469 288 gemhead takes an argument to determine when it receives
+the render command. The default value is 50 The lower the value is
+\, the sooner the gemhead will receive the rendering command (a value
+of 1 is the lowest possible value (see below)). This value becomes
+important when you are doing alpha blending and for certain objects
+(such as light).;
+#X text 469 495 example: "1" before "50" before "-10" before "-23"
+;
+#X text 470 416 the rendering-order value can also be negative. Negative
+numbered [gemhead]s will be rendered AFTER all positive [gemhead]s.
+Note \, that Higher values (-3) will be rendered BEFORE lower values
+(-10). [gemhead]s with negative numbers will NOT be affected by view-point
+changes !!!;
+#X connect 7 0 9 0;
+#X connect 9 0 7 0;
+#X connect 13 0 17 0;
+#X connect 14 0 18 0;
+#X connect 15 0 14 0;
+#X connect 16 0 14 0;
+#X connect 18 0 19 0;
+#X connect 19 0 13 0;
+#X connect 26 0 31 0;
+#X connect 27 0 32 0;
+#X connect 28 0 32 0;
+#X connect 31 0 33 0;
+#X connect 32 0 36 0;
+#X connect 33 0 37 0;
+#X connect 34 0 30 0;
+#X connect 35 0 29 0;
+#X connect 36 0 38 0;
+#X connect 37 0 34 0;
+#X connect 38 0 35 0;
diff --git a/packages/noncvs/windows/extra/Gem/gemhead.pd b/packages/noncvs/windows/extra/Gem/gemhead.pd
index 59923cbc..15ac66aa 100644
--- a/packages/noncvs/windows/extra/Gem/gemhead.pd
+++ b/packages/noncvs/windows/extra/Gem/gemhead.pd
@@ -1,90 +1,90 @@
-#N canvas 255 164 769 392 10;
-#N canvas 443 22 581 526 gemreceive 0;
-#X obj 109 413 outlet;
-#X obj 288 58 inlet order;
-#X obj 288 177 select 0;
-#X msg 288 198 50;
-#X obj 109 365 spigot 1;
-#X obj 109 390 t a;
-#X obj 288 222 t f f f;
-#X obj 334 275 t f f;
-#X obj 334 301 > 0;
-#X obj 366 301 < 0;
-#X obj 313 365 spigot 0;
-#X obj 520 283 abs;
-#X obj 109 342 gemreceive __gem_render \$1;
-#X obj 313 342 gemreceive __gem_render_osd \$1;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 6 0;
-#X connect 3 0 6 0;
-#X connect 4 0 5 0;
-#X connect 5 0 0 0;
-#X connect 6 0 12 1;
-#X connect 6 1 11 0;
-#X connect 6 2 7 0;
-#X connect 7 0 8 0;
-#X connect 7 1 9 0;
-#X connect 8 0 4 1;
-#X connect 9 0 10 1;
-#X connect 10 0 5 0;
-#X connect 11 0 13 1;
-#X connect 12 0 4 0;
-#X connect 13 0 10 0;
-#X restore 170 69 pd gemreceive;
-#X obj 170 155 gemlist;
-#N canvas 602 92 635 363 material 0;
-#X obj 98 88 inlet gemlist;
-#X obj 98 258 outlet gemlist;
-#X obj 98 117 GEMglColor4f 1 1 1 1;
-#X obj 98 143 GEMglMaterialfv GL_FRONT_AND_BACK GL_AMBIENT 0.2 0.2
-0.2 1;
-#X obj 98 163 GEMglMaterialfv GL_FRONT_AND_BACK GL_DIFFUSE 0.8 0.8
-0.8 1;
-#X obj 98 183 GEMglMaterialfv GL_FRONT_AND_BACK GL_EMISSION 0 0 0 1
-;
-#X obj 98 203 GEMglMaterialfv GL_FRONT_AND_BACK GL_SPECULAR 0 0 0 1
-;
-#X obj 98 223 GEMglMaterialfv GL_FRONT_AND_BACK GL_SHININESS 0;
-#X connect 0 0 2 0;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 4 0 5 0;
-#X connect 5 0 6 0;
-#X connect 6 0 7 0;
-#X connect 7 0 1 0;
-#X restore 170 197 pd material;
-#X obj 170 221 t a a a;
-#X obj 216 242 GEMglPushMatrix;
-#X obj 170 282 GEMglPopMatrix;
-#X obj 193 306 outlet gemlist;
-#X obj 130 18 inlet control;
-#X obj 130 40 route bang float set;
-#X obj 223 94 i;
-#X obj 170 116 spigot 1;
-#N canvas 0 0 650 510 defaultarg 0;
-#X obj 134 132 loadbang;
-#X obj 134 265 outlet;
-#X obj 134 157 f \$1;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X restore 286 39 pd defaultarg;
-#X obj 71 174 GEMglFlush;
-#X obj 71 122 gemlist;
-#X obj 71 144 t a a;
-#X connect 0 0 10 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 3 0 5 0;
-#X connect 3 1 6 0;
-#X connect 3 2 4 0;
-#X connect 7 0 8 0;
-#X connect 8 0 13 0;
-#X connect 8 1 9 0;
-#X connect 8 2 0 0;
-#X connect 9 0 10 1;
-#X connect 10 0 1 0;
-#X connect 11 0 0 0;
-#X connect 13 0 14 0;
-#X connect 14 0 12 0;
-#X connect 14 1 2 0;
+#N canvas 255 164 769 392 10;
+#N canvas 443 22 581 526 gemreceive 0;
+#X obj 109 413 outlet;
+#X obj 288 58 inlet order;
+#X obj 288 177 select 0;
+#X msg 288 198 50;
+#X obj 109 365 spigot 1;
+#X obj 109 390 t a;
+#X obj 288 222 t f f f;
+#X obj 334 275 t f f;
+#X obj 334 301 > 0;
+#X obj 366 301 < 0;
+#X obj 313 365 spigot 0;
+#X obj 520 283 abs;
+#X obj 109 342 gemreceive __gem_render \$1;
+#X obj 313 342 gemreceive __gem_render_osd \$1;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 6 0;
+#X connect 3 0 6 0;
+#X connect 4 0 5 0;
+#X connect 5 0 0 0;
+#X connect 6 0 12 1;
+#X connect 6 1 11 0;
+#X connect 6 2 7 0;
+#X connect 7 0 8 0;
+#X connect 7 1 9 0;
+#X connect 8 0 4 1;
+#X connect 9 0 10 1;
+#X connect 10 0 5 0;
+#X connect 11 0 13 1;
+#X connect 12 0 4 0;
+#X connect 13 0 10 0;
+#X restore 170 69 pd gemreceive;
+#X obj 170 155 gemlist;
+#N canvas 602 92 635 363 material 0;
+#X obj 98 88 inlet gemlist;
+#X obj 98 258 outlet gemlist;
+#X obj 98 117 GEMglColor4f 1 1 1 1;
+#X obj 98 143 GEMglMaterialfv GL_FRONT_AND_BACK GL_AMBIENT 0.2 0.2
+0.2 1;
+#X obj 98 163 GEMglMaterialfv GL_FRONT_AND_BACK GL_DIFFUSE 0.8 0.8
+0.8 1;
+#X obj 98 183 GEMglMaterialfv GL_FRONT_AND_BACK GL_EMISSION 0 0 0 1
+;
+#X obj 98 203 GEMglMaterialfv GL_FRONT_AND_BACK GL_SPECULAR 0 0 0 1
+;
+#X obj 98 223 GEMglMaterialfv GL_FRONT_AND_BACK GL_SHININESS 0;
+#X connect 0 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 5 0 6 0;
+#X connect 6 0 7 0;
+#X connect 7 0 1 0;
+#X restore 170 197 pd material;
+#X obj 170 221 t a a a;
+#X obj 216 242 GEMglPushMatrix;
+#X obj 170 282 GEMglPopMatrix;
+#X obj 193 306 outlet gemlist;
+#X obj 130 18 inlet control;
+#X obj 130 40 route bang float set;
+#X obj 223 94 i;
+#X obj 170 116 spigot 1;
+#N canvas 0 0 650 510 defaultarg 0;
+#X obj 134 132 loadbang;
+#X obj 134 265 outlet;
+#X obj 134 157 f \$1;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X restore 286 39 pd defaultarg;
+#X obj 71 174 GEMglFlush;
+#X obj 71 122 gemlist;
+#X obj 71 144 t a a;
+#X connect 0 0 10 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 5 0;
+#X connect 3 1 6 0;
+#X connect 3 2 4 0;
+#X connect 7 0 8 0;
+#X connect 8 0 13 0;
+#X connect 8 1 9 0;
+#X connect 8 2 0 0;
+#X connect 9 0 10 1;
+#X connect 10 0 1 0;
+#X connect 11 0 0 0;
+#X connect 13 0 14 0;
+#X connect 14 0 12 0;
+#X connect 14 1 2 0;
diff --git a/packages/noncvs/windows/extra/Gem/gemkeyboard-help.pd b/packages/noncvs/windows/extra/Gem/gemkeyboard-help.pd
index 458947b8..b88918ca 100644
--- a/packages/noncvs/windows/extra/Gem/gemkeyboard-help.pd
+++ b/packages/noncvs/windows/extra/Gem/gemkeyboard-help.pd
@@ -1,43 +1,43 @@
-#N canvas 376 314 717 512 10;
-#X text 135 37 part of GEM;
-#X text 152 70 [gemkeyboard];
-#X text 87 100 keyboard events in the GEM window;
-#X text 82 318 It is not guaranteed \, that Windows and Linux versions
-will give the same KeyCode for the same key pressed !!!;
-#X text 77 361 Furthermore \, i would like to make this object really
-cross-platform one day. Thus the KeyCode might change on one system
-or another in future times.;
-#X text 80 407 USE AT YOUR OWN RISK !!!;
-#X text 84 261 [gemkeyboard] sends out keyboard events which occur
-in the GEM window. Such event will appear on KEY_DOWN and will give
-the KeyCode of the button.;
-#X obj 79 125 cnv 15 100 40 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 89 135 gemkeyboard;
-#X floatatom 89 173 5 0 0 1 keyCode - -;
-#X obj 418 146 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 155 70 set create;
-#X msg 197 134 destroy;
-#X msg 132 112 reset \, create \, 1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 423 185 pd gemwin;
-#X msg 423 166 create;
-#X text 419 145 Create window:;
-#X connect 8 0 9 0;
-#X connect 11 0 12 0;
-#X connect 12 0 11 0;
+#N canvas 376 314 717 512 10;
+#X text 135 37 part of GEM;
+#X text 152 70 [gemkeyboard];
+#X text 87 100 keyboard events in the GEM window;
+#X text 82 318 It is not guaranteed \, that Windows and Linux versions
+will give the same KeyCode for the same key pressed !!!;
+#X text 77 361 Furthermore \, i would like to make this object really
+cross-platform one day. Thus the KeyCode might change on one system
+or another in future times.;
+#X text 80 407 USE AT YOUR OWN RISK !!!;
+#X text 84 261 [gemkeyboard] sends out keyboard events which occur
+in the GEM window. Such event will appear on KEY_DOWN and will give
+the KeyCode of the button.;
+#X obj 79 125 cnv 15 100 40 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 89 135 gemkeyboard;
+#X floatatom 89 173 5 0 0 1 keyCode - -;
+#X obj 418 146 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 155 70 set create;
+#X msg 197 134 destroy;
+#X msg 132 112 reset \, create \, 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 423 185 pd gemwin;
+#X msg 423 166 create;
+#X text 419 145 Create window:;
+#X connect 8 0 9 0;
+#X connect 11 0 12 0;
+#X connect 12 0 11 0;
diff --git a/packages/noncvs/windows/extra/Gem/gemkeyname-help.pd b/packages/noncvs/windows/extra/Gem/gemkeyname-help.pd
index ff372f53..4f64539b 100644
--- a/packages/noncvs/windows/extra/Gem/gemkeyname-help.pd
+++ b/packages/noncvs/windows/extra/Gem/gemkeyname-help.pd
@@ -1,48 +1,48 @@
-#N canvas 369 20 507 575 10;
-#X text 135 37 part of GEM;
-#X text 87 100 keyboard events in the GEM window;
-#X text 152 70 [gemkeyname];
-#X text 51 318 [gemkeyname] sends out keyboard events which occur in
-the GEM window. Such event will give a symbolic description of the
-button. The "state"-outlet will be 1 for KEY_DOWN and 0 for KEY_UP.
-;
-#X text 52 383 It is not guaranteed \, that Windows and Linux versions
-will give the same description for the same key pressed !!! Also \,
-there is no guarantee \, that the pd-object [keyname] will return the
-same symbols as [gemkeyname];
-#X text 49 456 Furthermore \, i would like to make this object really
-cross-platform one day. Thus the KeyName might change on one system
-or another in future times.;
-#X text 52 508 USE AT YOUR OWN RISK!!!;
-#X obj 79 175 cnv 15 100 40 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X floatatom 89 293 2 0 0 1 state - -;
-#X obj 348 176 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 155 70 set create;
-#X msg 197 134 destroy;
-#X msg 132 112 reset \, create \, 1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 353 215 pd gemwin;
-#X msg 353 196 create;
-#X text 349 175 Create window:;
-#X obj 89 185 gemkeyname;
-#X symbolatom 154 239 10 0 0 0 keyName - -;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 13 0 8 0;
-#X connect 13 1 14 0;
+#N canvas 369 20 507 575 10;
+#X text 135 37 part of GEM;
+#X text 87 100 keyboard events in the GEM window;
+#X text 152 70 [gemkeyname];
+#X text 51 318 [gemkeyname] sends out keyboard events which occur in
+the GEM window. Such event will give a symbolic description of the
+button. The "state"-outlet will be 1 for KEY_DOWN and 0 for KEY_UP.
+;
+#X text 52 383 It is not guaranteed \, that Windows and Linux versions
+will give the same description for the same key pressed !!! Also \,
+there is no guarantee \, that the pd-object [keyname] will return the
+same symbols as [gemkeyname];
+#X text 49 456 Furthermore \, i would like to make this object really
+cross-platform one day. Thus the KeyName might change on one system
+or another in future times.;
+#X text 52 508 USE AT YOUR OWN RISK!!!;
+#X obj 79 175 cnv 15 100 40 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X floatatom 89 293 2 0 0 1 state - -;
+#X obj 348 176 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 155 70 set create;
+#X msg 197 134 destroy;
+#X msg 132 112 reset \, create \, 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 353 215 pd gemwin;
+#X msg 353 196 create;
+#X text 349 175 Create window:;
+#X obj 89 185 gemkeyname;
+#X symbolatom 154 239 10 0 0 0 keyName - -;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 13 0 8 0;
+#X connect 13 1 14 0;
diff --git a/packages/noncvs/windows/extra/Gem/gemlist-help.pd b/packages/noncvs/windows/extra/Gem/gemlist-help.pd
index cc9a3be2..7ed18a4d 100644
--- a/packages/noncvs/windows/extra/Gem/gemlist-help.pd
+++ b/packages/noncvs/windows/extra/Gem/gemlist-help.pd
@@ -1,73 +1,73 @@
-#N canvas 443 181 661 405 10;
-#X obj 7 65 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 8 216 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 9 221 Inlets:;
-#X obj 8 176 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 175 Arguments:;
-#X text 452 8 GEM object;
-#X text 27 233 Inlet 1: gemlist;
-#X text 9 280 Outlets:;
-#X text 21 293 Outlet 1: gemlist;
-#X text 63 186 size of the cube;
-#X text 475 29 Example:;
-#X text 33 14 Synopsis: [gemlist];
-#X text 54 30 Class: control object;
-#X text 27 247 Inlet 1: bang;
-#X text 27 261 Inlet 2: gemlist;
-#X text 7 69 Description: Store a gemlist;
-#X text 16 86 The gemlist object stores a gemlist \, which may de output
-by sending it a "bang" message.;
-#X obj 467 47 cnv 15 170 340 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X obj 475 81 cnv 15 150 130 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 528 320 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 198 112 destroy;
-#X msg 132 112 create \, 1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 533 359 pd gemwin;
-#X msg 533 340 create;
-#X text 529 319 Create window:;
-#X obj 498 59 gemhead;
-#X obj 484 190 gemlist;
-#X obj 484 169 until;
-#X obj 484 288 scaleXYZ 0.9 0.9 0.9;
-#X obj 484 243 translateXYZ 0.5 0 0;
-#X msg 484 149 30;
-#X obj 484 265 rotateXYZ 0 0 30;
-#X obj 484 221 circle 0.3 33;
-#X obj 498 107 route gem_state;
-#X obj 498 127 route float;
-#X obj 498 86 t a a;
-#X connect 20 0 21 0;
-#X connect 21 0 20 0;
-#X connect 23 0 33 0;
-#X connect 24 0 30 0;
-#X connect 25 0 24 0;
-#X connect 27 0 29 0;
-#X connect 28 0 25 0;
-#X connect 29 0 26 0;
-#X connect 30 0 27 0;
-#X connect 31 0 32 0;
-#X connect 32 1 28 0;
-#X connect 33 0 31 0;
-#X connect 33 1 24 1;
+#N canvas 443 181 661 405 10;
+#X obj 7 65 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 8 216 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 9 221 Inlets:;
+#X obj 8 176 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 175 Arguments:;
+#X text 452 8 GEM object;
+#X text 27 233 Inlet 1: gemlist;
+#X text 9 280 Outlets:;
+#X text 21 293 Outlet 1: gemlist;
+#X text 63 186 size of the cube;
+#X text 475 29 Example:;
+#X text 33 14 Synopsis: [gemlist];
+#X text 54 30 Class: control object;
+#X text 27 247 Inlet 1: bang;
+#X text 27 261 Inlet 2: gemlist;
+#X text 7 69 Description: Store a gemlist;
+#X text 16 86 The gemlist object stores a gemlist \, which may de output
+by sending it a "bang" message.;
+#X obj 467 47 cnv 15 170 340 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X obj 475 81 cnv 15 150 130 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 528 320 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 198 112 destroy;
+#X msg 132 112 create \, 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 533 359 pd gemwin;
+#X msg 533 340 create;
+#X text 529 319 Create window:;
+#X obj 498 59 gemhead;
+#X obj 484 190 gemlist;
+#X obj 484 169 until;
+#X obj 484 288 scaleXYZ 0.9 0.9 0.9;
+#X obj 484 243 translateXYZ 0.5 0 0;
+#X msg 484 149 30;
+#X obj 484 265 rotateXYZ 0 0 30;
+#X obj 484 221 circle 0.3 33;
+#X obj 498 107 route gem_state;
+#X obj 498 127 route float;
+#X obj 498 86 t a a;
+#X connect 20 0 21 0;
+#X connect 21 0 20 0;
+#X connect 23 0 33 0;
+#X connect 24 0 30 0;
+#X connect 25 0 24 0;
+#X connect 27 0 29 0;
+#X connect 28 0 25 0;
+#X connect 29 0 26 0;
+#X connect 30 0 27 0;
+#X connect 31 0 32 0;
+#X connect 32 1 28 0;
+#X connect 33 0 31 0;
+#X connect 33 1 24 1;
diff --git a/packages/noncvs/windows/extra/Gem/gemlist_info-help.pd b/packages/noncvs/windows/extra/Gem/gemlist_info-help.pd
index 1a446c71..afc0b69f 100644
--- a/packages/noncvs/windows/extra/Gem/gemlist_info-help.pd
+++ b/packages/noncvs/windows/extra/Gem/gemlist_info-help.pd
@@ -1,297 +1,297 @@
-#N canvas 594 117 688 676 10;
-#X text 452 8 GEM object;
-#X obj 8 206 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 218 Inlets:;
-#X text 63 231 Inlet 1: gemlist;
-#X text 38 240 Outlets:;
-#X text 62 253 Outlet 1: gemlist;
-#X obj 8 156 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 155 Arguments:;
-#X obj 8 76 cnv 15 430 70 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 453 60 Example:;
-#X obj 9 415 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 454 304 gemwin 0;
-#X obj 132 160 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 198 133 destroy;
-#X obj 288 57 world_light;
-#X obj 288 28 gemhead;
-#X msg 132 112 create \, 1 \, lighting 1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 9 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 8 0 7 0;
-#X connect 9 0 0 0;
-#X restore 14 454 pd gemwin;
-#X msg 14 435 create;
-#X text 10 414 Create window:;
-#X text 50 12 Synopsis: [gemlist_info];
-#X text 71 31 Class: information object;
-#X text 29 77 Description: get curent transformation of a gemlist;
-#X text 42 94 [gemlist_info] accepts a gemList decompost the transformation
-matrix in basic transformation (translation \, scale \, shear \, rotation)
-;
-#X text 60 174 no argument;
-#X text 62 299 Outlet 5: 3 float list : translationX \, Y and Z;
-#X text 62 265 Outlet 2: 3 float list : RotationX \, Y and Z;
-#X text 62 277 Outlet 3: 3 float list : shear YX \, YZ and ZX;
-#X text 62 288 Outlet 4: 3 float list : scale X \, Y and Z;
-#X obj 9 336 cnv 15 430 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 452 890 more 0;
-#X obj 30 122 gemhead;
-#X floatatom 44 144 5 0 0 0 - - -;
-#X floatatom 78 144 5 0 0 0 - - -;
-#X floatatom 112 144 5 0 0 0 - - -;
-#X floatatom 46 184 5 0 0 0 - - -;
-#X floatatom 80 184 5 0 0 0 - - -;
-#X floatatom 114 184 5 0 0 0 - - -;
-#X floatatom 52 227 5 0 0 0 - - -;
-#X floatatom 86 227 5 0 0 0 - - -;
-#X floatatom 120 227 5 0 0 0 - - -;
-#X obj 30 433 gemlist_info;
-#X obj 192 568 unpack f f f;
-#X obj 178 396 gemhead;
-#X obj 178 536 translateXYZ;
-#X floatatom 192 591 5 0 0 0 - - -;
-#X floatatom 225 591 5 0 0 0 - - -;
-#X floatatom 259 591 5 0 0 0 - - -;
-#X floatatom 193 761 5 0 0 0 - - -;
-#X floatatom 226 761 5 0 0 0 - - -;
-#X floatatom 260 761 5 0 0 0 - - -;
-#X floatatom 200 516 5 0 0 0 - - -;
-#X floatatom 233 516 5 0 0 0 - - -;
-#X floatatom 267 516 5 0 0 0 - - -;
-#X obj 193 734 unpack f f f;
-#X obj 200 490 unpack f f f;
-#X obj 178 421 GEMglLoadIdentity;
-#X obj 178 450 color 1 0 0;
-#X floatatom 46 336 5 0 0 0 - - -;
-#X floatatom 80 336 5 0 0 0 - - -;
-#X floatatom 114 336 5 0 0 0 - - -;
-#X floatatom 52 379 5 0 0 0 - - -;
-#X floatatom 86 379 5 0 0 0 - - -;
-#X floatatom 120 379 5 0 0 0 - - -;
-#X obj 30 163 scaleXYZ 1 1 1;
-#X obj 30 205 rotateXYZ 0 0 0;
-#X obj 30 247 translateXYZ 0 0 0;
-#X obj 30 357 rotateXYZ 0 0 0;
-#X obj 30 399 translateXYZ 0 0 0;
-#X floatatom 44 283 5 0 0 0 - - -;
-#X floatatom 78 283 5 0 0 0 - - -;
-#X floatatom 112 283 5 0 0 0 - - -;
-#X obj 30 302 scaleXYZ 1 1 1;
-#X obj 30 512 cube;
-#X obj 30 484 scaleXYZ 1 1 0.2;
-#X floatatom 192 665 8 0 0 0 - - -;
-#X floatatom 225 681 8 0 0 0 - - -;
-#X floatatom 259 697 8 0 0 0 - - -;
-#X obj 192 643 unpack f f f;
-#N canvas 296 410 419 328 shear 0;
-#X obj 28 17 inlet;
-#X obj 28 270 outlet;
-#X obj 108 21 inlet;
-#X obj 205 20 inlet;
-#X obj 297 18 inlet;
-#X text 117 38 ShearXY;
-#X text 217 37 ShearXZ;
-#X text 306 36 ShearYZ;
-#X obj 28 104 shearYX;
-#X obj 28 153 shearZX;
-#X obj 28 212 shearZY;
-#X connect 0 0 8 0;
-#X connect 2 0 8 1;
-#X connect 3 0 9 1;
-#X connect 4 0 10 1;
-#X connect 8 0 9 0;
-#X connect 9 0 10 0;
-#X connect 10 0 1 0;
-#X restore 178 711 pd shear;
-#X obj 178 811 cube 0.5;
-#X obj 178 80 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X obj 178 785 rotateXYZ;
-#X obj 178 610 scaleXYZ;
-#X obj 178 30 loadbang;
-#X msg 178 55 0;
-#X text 50 844 this show the transformation neaded to create a specific
-transformation matrix decomposed with gemlist_info;
-#X connect 0 0 33 0;
-#X connect 1 0 33 1;
-#X connect 2 0 33 2;
-#X connect 3 0 33 3;
-#X connect 4 0 34 1;
-#X connect 5 0 34 2;
-#X connect 6 0 34 3;
-#X connect 7 0 35 1;
-#X connect 8 0 35 2;
-#X connect 9 0 35 3;
-#X connect 10 0 43 0;
-#X connect 10 1 23 0;
-#X connect 10 2 47 0;
-#X connect 10 3 11 0;
-#X connect 10 4 24 0;
-#X connect 11 0 14 0;
-#X connect 11 1 15 0;
-#X connect 11 2 16 0;
-#X connect 12 0 25 0;
-#X connect 13 0 52 0;
-#X connect 14 0 52 1;
-#X connect 15 0 52 2;
-#X connect 16 0 52 3;
-#X connect 17 0 51 1;
-#X connect 18 0 51 2;
-#X connect 19 0 51 3;
-#X connect 20 0 13 1;
-#X connect 21 0 13 2;
-#X connect 22 0 13 3;
-#X connect 23 0 17 0;
-#X connect 23 1 18 0;
-#X connect 23 2 19 0;
-#X connect 24 0 20 0;
-#X connect 24 1 21 0;
-#X connect 24 2 22 0;
-#X connect 25 0 26 0;
-#X connect 26 0 13 0;
-#X connect 27 0 36 1;
-#X connect 28 0 36 2;
-#X connect 29 0 36 3;
-#X connect 30 0 37 1;
-#X connect 31 0 37 2;
-#X connect 32 0 37 3;
-#X connect 33 0 34 0;
-#X connect 34 0 35 0;
-#X connect 35 0 41 0;
-#X connect 36 0 37 0;
-#X connect 37 0 10 0;
-#X connect 38 0 41 1;
-#X connect 39 0 41 2;
-#X connect 40 0 41 3;
-#X connect 41 0 36 0;
-#X connect 43 0 42 0;
-#X connect 44 0 48 1;
-#X connect 45 0 48 2;
-#X connect 46 0 48 3;
-#X connect 47 0 44 0;
-#X connect 47 1 45 0;
-#X connect 47 2 46 0;
-#X connect 48 0 51 0;
-#X connect 50 0 0 0;
-#X connect 50 0 12 0;
-#X connect 51 0 49 0;
-#X connect 52 0 48 0;
-#X connect 53 0 54 0;
-#X connect 54 0 50 0;
-#X restore 15 349 pd more;
-#X obj 449 77 cnv 15 200 570 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X obj 459 310 cnv 15 180 40 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 472 89 gemhead;
-#X floatatom 494 121 5 0 0 0 - - -;
-#X floatatom 528 121 5 0 0 0 - - -;
-#X floatatom 562 121 5 0 0 0 - - -;
-#X floatatom 488 264 5 0 0 0 - - -;
-#X floatatom 522 264 5 0 0 0 - - -;
-#X floatatom 556 264 5 0 0 0 - - -;
-#X floatatom 486 170 5 0 0 0 - - -;
-#X floatatom 520 170 5 0 0 0 - - -;
-#X floatatom 554 170 5 0 0 0 - - -;
-#X obj 472 320 gemlist_info;
-#X obj 488 596 unpack f f f;
-#X floatatom 488 619 5 0 0 0 - - -;
-#X floatatom 521 619 5 0 0 0 - - -;
-#X floatatom 555 619 5 0 0 0 - - -;
-#X floatatom 522 470 5 0 0 0 - - -;
-#X floatatom 555 470 5 0 0 0 - - -;
-#X floatatom 589 470 5 0 0 0 - - -;
-#X floatatom 539 394 5 0 0 0 - - -;
-#X floatatom 572 394 5 0 0 0 - - -;
-#X floatatom 606 394 5 0 0 0 - - -;
-#X obj 522 444 unpack f f f;
-#X obj 539 371 unpack f f f;
-#X text 547 356 position;
-#X text 533 428 size;
-#X obj 505 520 unpack f f f;
-#N canvas 437 191 389 322 shear 0;
-#X obj 37 27 inlet;
-#X obj 37 280 outlet;
-#X obj 118 31 inlet;
-#X obj 215 30 inlet;
-#X obj 307 28 inlet;
-#X text 127 48 ShearXY;
-#X text 227 47 ShearXZ;
-#X text 316 46 ShearYZ;
-#X obj 37 114 shearXY;
-#X obj 37 163 shearXZ;
-#X obj 37 222 shearYZ;
-#X connect 0 0 8 0;
-#X connect 2 0 8 1;
-#X connect 3 0 9 1;
-#X connect 4 0 10 1;
-#X connect 8 0 9 0;
-#X connect 9 0 10 0;
-#X connect 10 0 1 0;
-#X restore 472 237 pd shear;
-#X obj 472 285 rotateXYZ;
-#X obj 472 189 scaleXYZ;
-#X obj 472 144 translateXYZ;
-#X floatatom 486 216 5 0 0 0 - - -;
-#X floatatom 520 216 5 0 0 0 - - -;
-#X floatatom 554 216 5 0 0 0 - - -;
-#X floatatom 505 545 5 0 0 0 - - -;
-#X floatatom 538 545 5 0 0 0 - - -;
-#X floatatom 572 545 5 0 0 0 - - -;
-#X text 498 580 orientation;
-#X text 514 504 shear (YX \, ZX \, ZY);
-#X text 76 349 <- more about gemlist_info;
-#X text 18 375 see also :;
-#X obj 100 375 gemlist_matrix;
-#X connect 11 0 12 0;
-#X connect 12 0 11 0;
-#X connect 27 0 56 0;
-#X connect 28 0 56 1;
-#X connect 29 0 56 2;
-#X connect 30 0 56 3;
-#X connect 31 0 54 1;
-#X connect 32 0 54 2;
-#X connect 33 0 54 3;
-#X connect 34 0 55 1;
-#X connect 35 0 55 2;
-#X connect 36 0 55 3;
-#X connect 37 1 38 0;
-#X connect 37 2 52 0;
-#X connect 37 3 48 0;
-#X connect 37 4 49 0;
-#X connect 38 0 39 0;
-#X connect 38 1 40 0;
-#X connect 38 2 41 0;
-#X connect 48 0 42 0;
-#X connect 48 1 43 0;
-#X connect 48 2 44 0;
-#X connect 49 0 45 0;
-#X connect 49 1 46 0;
-#X connect 49 2 47 0;
-#X connect 52 0 60 0;
-#X connect 52 1 61 0;
-#X connect 52 2 62 0;
-#X connect 53 0 54 0;
-#X connect 54 0 37 0;
-#X connect 55 0 53 0;
-#X connect 56 0 55 0;
-#X connect 57 0 53 1;
-#X connect 58 0 53 2;
-#X connect 59 0 53 3;
+#N canvas 594 117 688 676 10;
+#X text 452 8 GEM object;
+#X obj 8 206 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 218 Inlets:;
+#X text 63 231 Inlet 1: gemlist;
+#X text 38 240 Outlets:;
+#X text 62 253 Outlet 1: gemlist;
+#X obj 8 156 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 155 Arguments:;
+#X obj 8 76 cnv 15 430 70 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 453 60 Example:;
+#X obj 9 415 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 454 304 gemwin 0;
+#X obj 132 160 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 198 133 destroy;
+#X obj 288 57 world_light;
+#X obj 288 28 gemhead;
+#X msg 132 112 create \, 1 \, lighting 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 9 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 8 0 7 0;
+#X connect 9 0 0 0;
+#X restore 14 454 pd gemwin;
+#X msg 14 435 create;
+#X text 10 414 Create window:;
+#X text 50 12 Synopsis: [gemlist_info];
+#X text 71 31 Class: information object;
+#X text 29 77 Description: get curent transformation of a gemlist;
+#X text 42 94 [gemlist_info] accepts a gemList decompost the transformation
+matrix in basic transformation (translation \, scale \, shear \, rotation)
+;
+#X text 60 174 no argument;
+#X text 62 299 Outlet 5: 3 float list : translationX \, Y and Z;
+#X text 62 265 Outlet 2: 3 float list : RotationX \, Y and Z;
+#X text 62 277 Outlet 3: 3 float list : shear YX \, YZ and ZX;
+#X text 62 288 Outlet 4: 3 float list : scale X \, Y and Z;
+#X obj 9 336 cnv 15 430 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 452 890 more 0;
+#X obj 30 122 gemhead;
+#X floatatom 44 144 5 0 0 0 - - -;
+#X floatatom 78 144 5 0 0 0 - - -;
+#X floatatom 112 144 5 0 0 0 - - -;
+#X floatatom 46 184 5 0 0 0 - - -;
+#X floatatom 80 184 5 0 0 0 - - -;
+#X floatatom 114 184 5 0 0 0 - - -;
+#X floatatom 52 227 5 0 0 0 - - -;
+#X floatatom 86 227 5 0 0 0 - - -;
+#X floatatom 120 227 5 0 0 0 - - -;
+#X obj 30 433 gemlist_info;
+#X obj 192 568 unpack f f f;
+#X obj 178 396 gemhead;
+#X obj 178 536 translateXYZ;
+#X floatatom 192 591 5 0 0 0 - - -;
+#X floatatom 225 591 5 0 0 0 - - -;
+#X floatatom 259 591 5 0 0 0 - - -;
+#X floatatom 193 761 5 0 0 0 - - -;
+#X floatatom 226 761 5 0 0 0 - - -;
+#X floatatom 260 761 5 0 0 0 - - -;
+#X floatatom 200 516 5 0 0 0 - - -;
+#X floatatom 233 516 5 0 0 0 - - -;
+#X floatatom 267 516 5 0 0 0 - - -;
+#X obj 193 734 unpack f f f;
+#X obj 200 490 unpack f f f;
+#X obj 178 421 GEMglLoadIdentity;
+#X obj 178 450 color 1 0 0;
+#X floatatom 46 336 5 0 0 0 - - -;
+#X floatatom 80 336 5 0 0 0 - - -;
+#X floatatom 114 336 5 0 0 0 - - -;
+#X floatatom 52 379 5 0 0 0 - - -;
+#X floatatom 86 379 5 0 0 0 - - -;
+#X floatatom 120 379 5 0 0 0 - - -;
+#X obj 30 163 scaleXYZ 1 1 1;
+#X obj 30 205 rotateXYZ 0 0 0;
+#X obj 30 247 translateXYZ 0 0 0;
+#X obj 30 357 rotateXYZ 0 0 0;
+#X obj 30 399 translateXYZ 0 0 0;
+#X floatatom 44 283 5 0 0 0 - - -;
+#X floatatom 78 283 5 0 0 0 - - -;
+#X floatatom 112 283 5 0 0 0 - - -;
+#X obj 30 302 scaleXYZ 1 1 1;
+#X obj 30 512 cube;
+#X obj 30 484 scaleXYZ 1 1 0.2;
+#X floatatom 192 665 8 0 0 0 - - -;
+#X floatatom 225 681 8 0 0 0 - - -;
+#X floatatom 259 697 8 0 0 0 - - -;
+#X obj 192 643 unpack f f f;
+#N canvas 296 410 419 328 shear 0;
+#X obj 28 17 inlet;
+#X obj 28 270 outlet;
+#X obj 108 21 inlet;
+#X obj 205 20 inlet;
+#X obj 297 18 inlet;
+#X text 117 38 ShearXY;
+#X text 217 37 ShearXZ;
+#X text 306 36 ShearYZ;
+#X obj 28 104 shearYX;
+#X obj 28 153 shearZX;
+#X obj 28 212 shearZY;
+#X connect 0 0 8 0;
+#X connect 2 0 8 1;
+#X connect 3 0 9 1;
+#X connect 4 0 10 1;
+#X connect 8 0 9 0;
+#X connect 9 0 10 0;
+#X connect 10 0 1 0;
+#X restore 178 711 pd shear;
+#X obj 178 811 cube 0.5;
+#X obj 178 80 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 178 785 rotateXYZ;
+#X obj 178 610 scaleXYZ;
+#X obj 178 30 loadbang;
+#X msg 178 55 0;
+#X text 50 844 this show the transformation neaded to create a specific
+transformation matrix decomposed with gemlist_info;
+#X connect 0 0 33 0;
+#X connect 1 0 33 1;
+#X connect 2 0 33 2;
+#X connect 3 0 33 3;
+#X connect 4 0 34 1;
+#X connect 5 0 34 2;
+#X connect 6 0 34 3;
+#X connect 7 0 35 1;
+#X connect 8 0 35 2;
+#X connect 9 0 35 3;
+#X connect 10 0 43 0;
+#X connect 10 1 23 0;
+#X connect 10 2 47 0;
+#X connect 10 3 11 0;
+#X connect 10 4 24 0;
+#X connect 11 0 14 0;
+#X connect 11 1 15 0;
+#X connect 11 2 16 0;
+#X connect 12 0 25 0;
+#X connect 13 0 52 0;
+#X connect 14 0 52 1;
+#X connect 15 0 52 2;
+#X connect 16 0 52 3;
+#X connect 17 0 51 1;
+#X connect 18 0 51 2;
+#X connect 19 0 51 3;
+#X connect 20 0 13 1;
+#X connect 21 0 13 2;
+#X connect 22 0 13 3;
+#X connect 23 0 17 0;
+#X connect 23 1 18 0;
+#X connect 23 2 19 0;
+#X connect 24 0 20 0;
+#X connect 24 1 21 0;
+#X connect 24 2 22 0;
+#X connect 25 0 26 0;
+#X connect 26 0 13 0;
+#X connect 27 0 36 1;
+#X connect 28 0 36 2;
+#X connect 29 0 36 3;
+#X connect 30 0 37 1;
+#X connect 31 0 37 2;
+#X connect 32 0 37 3;
+#X connect 33 0 34 0;
+#X connect 34 0 35 0;
+#X connect 35 0 41 0;
+#X connect 36 0 37 0;
+#X connect 37 0 10 0;
+#X connect 38 0 41 1;
+#X connect 39 0 41 2;
+#X connect 40 0 41 3;
+#X connect 41 0 36 0;
+#X connect 43 0 42 0;
+#X connect 44 0 48 1;
+#X connect 45 0 48 2;
+#X connect 46 0 48 3;
+#X connect 47 0 44 0;
+#X connect 47 1 45 0;
+#X connect 47 2 46 0;
+#X connect 48 0 51 0;
+#X connect 50 0 0 0;
+#X connect 50 0 12 0;
+#X connect 51 0 49 0;
+#X connect 52 0 48 0;
+#X connect 53 0 54 0;
+#X connect 54 0 50 0;
+#X restore 15 349 pd more;
+#X obj 449 77 cnv 15 200 570 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X obj 459 310 cnv 15 180 40 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 472 89 gemhead;
+#X floatatom 494 121 5 0 0 0 - - -;
+#X floatatom 528 121 5 0 0 0 - - -;
+#X floatatom 562 121 5 0 0 0 - - -;
+#X floatatom 488 264 5 0 0 0 - - -;
+#X floatatom 522 264 5 0 0 0 - - -;
+#X floatatom 556 264 5 0 0 0 - - -;
+#X floatatom 486 170 5 0 0 0 - - -;
+#X floatatom 520 170 5 0 0 0 - - -;
+#X floatatom 554 170 5 0 0 0 - - -;
+#X obj 472 320 gemlist_info;
+#X obj 488 596 unpack f f f;
+#X floatatom 488 619 5 0 0 0 - - -;
+#X floatatom 521 619 5 0 0 0 - - -;
+#X floatatom 555 619 5 0 0 0 - - -;
+#X floatatom 522 470 5 0 0 0 - - -;
+#X floatatom 555 470 5 0 0 0 - - -;
+#X floatatom 589 470 5 0 0 0 - - -;
+#X floatatom 539 394 5 0 0 0 - - -;
+#X floatatom 572 394 5 0 0 0 - - -;
+#X floatatom 606 394 5 0 0 0 - - -;
+#X obj 522 444 unpack f f f;
+#X obj 539 371 unpack f f f;
+#X text 547 356 position;
+#X text 533 428 size;
+#X obj 505 520 unpack f f f;
+#N canvas 437 191 389 322 shear 0;
+#X obj 37 27 inlet;
+#X obj 37 280 outlet;
+#X obj 118 31 inlet;
+#X obj 215 30 inlet;
+#X obj 307 28 inlet;
+#X text 127 48 ShearXY;
+#X text 227 47 ShearXZ;
+#X text 316 46 ShearYZ;
+#X obj 37 114 shearXY;
+#X obj 37 163 shearXZ;
+#X obj 37 222 shearYZ;
+#X connect 0 0 8 0;
+#X connect 2 0 8 1;
+#X connect 3 0 9 1;
+#X connect 4 0 10 1;
+#X connect 8 0 9 0;
+#X connect 9 0 10 0;
+#X connect 10 0 1 0;
+#X restore 472 237 pd shear;
+#X obj 472 285 rotateXYZ;
+#X obj 472 189 scaleXYZ;
+#X obj 472 144 translateXYZ;
+#X floatatom 486 216 5 0 0 0 - - -;
+#X floatatom 520 216 5 0 0 0 - - -;
+#X floatatom 554 216 5 0 0 0 - - -;
+#X floatatom 505 545 5 0 0 0 - - -;
+#X floatatom 538 545 5 0 0 0 - - -;
+#X floatatom 572 545 5 0 0 0 - - -;
+#X text 498 580 orientation;
+#X text 514 504 shear (YX \, ZX \, ZY);
+#X text 76 349 <- more about gemlist_info;
+#X text 18 375 see also :;
+#X obj 100 375 gemlist_matrix;
+#X connect 11 0 12 0;
+#X connect 12 0 11 0;
+#X connect 27 0 56 0;
+#X connect 28 0 56 1;
+#X connect 29 0 56 2;
+#X connect 30 0 56 3;
+#X connect 31 0 54 1;
+#X connect 32 0 54 2;
+#X connect 33 0 54 3;
+#X connect 34 0 55 1;
+#X connect 35 0 55 2;
+#X connect 36 0 55 3;
+#X connect 37 1 38 0;
+#X connect 37 2 52 0;
+#X connect 37 3 48 0;
+#X connect 37 4 49 0;
+#X connect 38 0 39 0;
+#X connect 38 1 40 0;
+#X connect 38 2 41 0;
+#X connect 48 0 42 0;
+#X connect 48 1 43 0;
+#X connect 48 2 44 0;
+#X connect 49 0 45 0;
+#X connect 49 1 46 0;
+#X connect 49 2 47 0;
+#X connect 52 0 60 0;
+#X connect 52 1 61 0;
+#X connect 52 2 62 0;
+#X connect 53 0 54 0;
+#X connect 54 0 37 0;
+#X connect 55 0 53 0;
+#X connect 56 0 55 0;
+#X connect 57 0 53 1;
+#X connect 58 0 53 2;
+#X connect 59 0 53 3;
diff --git a/packages/noncvs/windows/extra/Gem/gemlist_matrix-help.pd b/packages/noncvs/windows/extra/Gem/gemlist_matrix-help.pd
index 30b6044e..e7df7dd9 100644
--- a/packages/noncvs/windows/extra/Gem/gemlist_matrix-help.pd
+++ b/packages/noncvs/windows/extra/Gem/gemlist_matrix-help.pd
@@ -1,120 +1,120 @@
-#N canvas 594 117 675 520 10;
-#X text 452 8 GEM object;
-#X obj 8 206 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 218 Inlets:;
-#X text 63 231 Inlet 1: gemlist;
-#X text 38 240 Outlets:;
-#X text 62 253 Outlet 1: gemlist;
-#X obj 8 156 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 155 Arguments:;
-#X obj 8 76 cnv 15 430 70 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 453 60 Example:;
-#X obj 9 385 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 454 304 gemwin 0;
-#X obj 132 160 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 198 133 destroy;
-#X obj 288 57 world_light;
-#X obj 288 28 gemhead;
-#X msg 132 112 create \, 1 \, lighting 1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 9 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 8 0 7 0;
-#X connect 9 0 0 0;
-#X restore 14 424 pd gemwin;
-#X msg 14 405 create;
-#X text 10 384 Create window:;
-#X text 71 31 Class: information object;
-#X text 60 174 no argument;
-#X obj 9 336 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X obj 449 77 cnv 15 200 400 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X obj 459 310 cnv 15 180 40 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 472 89 gemhead;
-#X floatatom 494 121 5 0 0 0 - - -;
-#X floatatom 528 121 5 0 0 0 - - -;
-#X floatatom 562 121 5 0 0 0 - - -;
-#X floatatom 488 264 5 0 0 0 - - -;
-#X floatatom 522 264 5 0 0 0 - - -;
-#X floatatom 556 264 5 0 0 0 - - -;
-#X floatatom 486 170 5 0 0 0 - - -;
-#X floatatom 520 170 5 0 0 0 - - -;
-#X floatatom 554 170 5 0 0 0 - - -;
-#N canvas 437 191 753 491 shear 0;
-#X obj 25 17 inlet;
-#X obj 28 270 outlet;
-#X obj 108 21 inlet;
-#X obj 205 20 inlet;
-#X obj 297 18 inlet;
-#X text 117 38 ShearXY;
-#X text 217 37 ShearXZ;
-#X text 306 36 ShearYZ;
-#X obj 27 104 shearXY;
-#X obj 26 153 shearXZ;
-#X obj 26 212 shearYZ;
-#X connect 0 0 8 0;
-#X connect 2 0 8 1;
-#X connect 3 0 9 1;
-#X connect 4 0 10 1;
-#X connect 8 0 9 0;
-#X connect 9 0 10 0;
-#X connect 10 0 1 0;
-#X restore 472 237 pd shear;
-#X obj 472 285 rotateXYZ;
-#X obj 472 189 scaleXYZ;
-#X obj 472 144 translateXYZ;
-#X floatatom 486 216 5 0 0 0 - - -;
-#X floatatom 520 216 5 0 0 0 - - -;
-#X floatatom 554 216 5 0 0 0 - - -;
-#X obj 101 348 gemlist_info;
-#X obj 472 320 gemlist_matrix;
-#X text 14 351 see also :;
-#X text 29 77 Description: get curent transformation matrix of a gemlist
-;
-#X msg 496 378 \$1 \$2 \$3;
-#X msg 503 398 \$5 \$6 \$7;
-#X msg 510 419 \$9 \$10 \$11;
-#X msg 517 440 \$13 \$14 \$15;
-#X text 50 12 Synopsis: [gemlist_matrix];
-#X text 42 94 [gemlist_matrix] accepts a gemList and output the transformation
-matrix.;
-#X text 62 265 Outlet 2: transformation matrix (16 floats);
-#X connect 11 0 12 0;
-#X connect 12 0 11 0;
-#X connect 19 0 32 0;
-#X connect 20 0 32 1;
-#X connect 21 0 32 2;
-#X connect 22 0 32 3;
-#X connect 23 0 30 1;
-#X connect 24 0 30 2;
-#X connect 25 0 30 3;
-#X connect 26 0 31 1;
-#X connect 27 0 31 2;
-#X connect 28 0 31 3;
-#X connect 29 0 30 0;
-#X connect 30 0 37 0;
-#X connect 31 0 29 0;
-#X connect 32 0 31 0;
-#X connect 33 0 29 1;
-#X connect 34 0 29 2;
-#X connect 35 0 29 3;
-#X connect 37 1 40 0;
-#X connect 37 1 41 0;
-#X connect 37 1 42 0;
-#X connect 37 1 43 0;
+#N canvas 594 117 675 520 10;
+#X text 452 8 GEM object;
+#X obj 8 206 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 218 Inlets:;
+#X text 63 231 Inlet 1: gemlist;
+#X text 38 240 Outlets:;
+#X text 62 253 Outlet 1: gemlist;
+#X obj 8 156 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 155 Arguments:;
+#X obj 8 76 cnv 15 430 70 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 453 60 Example:;
+#X obj 9 385 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 454 304 gemwin 0;
+#X obj 132 160 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 198 133 destroy;
+#X obj 288 57 world_light;
+#X obj 288 28 gemhead;
+#X msg 132 112 create \, 1 \, lighting 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 9 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 8 0 7 0;
+#X connect 9 0 0 0;
+#X restore 14 424 pd gemwin;
+#X msg 14 405 create;
+#X text 10 384 Create window:;
+#X text 71 31 Class: information object;
+#X text 60 174 no argument;
+#X obj 9 336 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X obj 449 77 cnv 15 200 400 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X obj 459 310 cnv 15 180 40 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 472 89 gemhead;
+#X floatatom 494 121 5 0 0 0 - - -;
+#X floatatom 528 121 5 0 0 0 - - -;
+#X floatatom 562 121 5 0 0 0 - - -;
+#X floatatom 488 264 5 0 0 0 - - -;
+#X floatatom 522 264 5 0 0 0 - - -;
+#X floatatom 556 264 5 0 0 0 - - -;
+#X floatatom 486 170 5 0 0 0 - - -;
+#X floatatom 520 170 5 0 0 0 - - -;
+#X floatatom 554 170 5 0 0 0 - - -;
+#N canvas 437 191 753 491 shear 0;
+#X obj 25 17 inlet;
+#X obj 28 270 outlet;
+#X obj 108 21 inlet;
+#X obj 205 20 inlet;
+#X obj 297 18 inlet;
+#X text 117 38 ShearXY;
+#X text 217 37 ShearXZ;
+#X text 306 36 ShearYZ;
+#X obj 27 104 shearXY;
+#X obj 26 153 shearXZ;
+#X obj 26 212 shearYZ;
+#X connect 0 0 8 0;
+#X connect 2 0 8 1;
+#X connect 3 0 9 1;
+#X connect 4 0 10 1;
+#X connect 8 0 9 0;
+#X connect 9 0 10 0;
+#X connect 10 0 1 0;
+#X restore 472 237 pd shear;
+#X obj 472 285 rotateXYZ;
+#X obj 472 189 scaleXYZ;
+#X obj 472 144 translateXYZ;
+#X floatatom 486 216 5 0 0 0 - - -;
+#X floatatom 520 216 5 0 0 0 - - -;
+#X floatatom 554 216 5 0 0 0 - - -;
+#X obj 101 348 gemlist_info;
+#X obj 472 320 gemlist_matrix;
+#X text 14 351 see also :;
+#X text 29 77 Description: get curent transformation matrix of a gemlist
+;
+#X msg 496 378 \$1 \$2 \$3;
+#X msg 503 398 \$5 \$6 \$7;
+#X msg 510 419 \$9 \$10 \$11;
+#X msg 517 440 \$13 \$14 \$15;
+#X text 50 12 Synopsis: [gemlist_matrix];
+#X text 42 94 [gemlist_matrix] accepts a gemList and output the transformation
+matrix.;
+#X text 62 265 Outlet 2: transformation matrix (16 floats);
+#X connect 11 0 12 0;
+#X connect 12 0 11 0;
+#X connect 19 0 32 0;
+#X connect 20 0 32 1;
+#X connect 21 0 32 2;
+#X connect 22 0 32 3;
+#X connect 23 0 30 1;
+#X connect 24 0 30 2;
+#X connect 25 0 30 3;
+#X connect 26 0 31 1;
+#X connect 27 0 31 2;
+#X connect 28 0 31 3;
+#X connect 29 0 30 0;
+#X connect 30 0 37 0;
+#X connect 31 0 29 0;
+#X connect 32 0 31 0;
+#X connect 33 0 29 1;
+#X connect 34 0 29 2;
+#X connect 35 0 29 3;
+#X connect 37 1 40 0;
+#X connect 37 1 41 0;
+#X connect 37 1 42 0;
+#X connect 37 1 43 0;
diff --git a/packages/noncvs/windows/extra/Gem/gemmouse-help.pd b/packages/noncvs/windows/extra/Gem/gemmouse-help.pd
index 72e58340..ad0ee22c 100644
--- a/packages/noncvs/windows/extra/Gem/gemmouse-help.pd
+++ b/packages/noncvs/windows/extra/Gem/gemmouse-help.pd
@@ -1,57 +1,57 @@
-#N canvas 135 33 925 545 10;
-#X text 135 37 part of GEM;
-#X text 87 100 mouse events in the GEM window;
-#X text 80 493 The button outlets send a 1 when the specified button
-is pressed and a 0 when it is released.;
-#X text 152 70 [gemmouse];
-#X text 74 366 [gemmouse] sends out mouse events which occur in the
-GEM window. The X and Y Position go from 0 to the size of the window
-(which can be set via the gemwin object).;
-#X text 74 418 You can also set some normalization of the output-coordinates
-with arguments.;
-#X obj 406 94 gemmouse 1 2;
-#X floatatom 406 149 9 0 0 1 X-position - -;
-#X floatatom 425 121 8 0 0 1 Y-position - -;
-#X text 562 119 (normalized to 0..2);
-#X text 561 148 (normalized to 0..1);
-#X obj 78 125 cnv 15 100 60 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 91 143 gemmouse;
-#X floatatom 91 287 9 0 0 1 X-position - -;
-#X floatatom 103 259 8 0 0 1 Y-position - -;
-#X floatatom 116 233 2 0 0 1 left-Button - -;
-#X floatatom 129 213 2 0 0 1 middle-Button - -;
-#X floatatom 142 193 2 0 0 1 right-Button - -;
-#X obj 608 346 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 155 70 set create;
-#X msg 197 134 destroy;
-#X msg 132 112 reset \, create \, 1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 613 385 pd gemwin;
-#X msg 613 366 create;
-#X text 609 345 Create window:;
-#X text 515 318 create a GEM-window and move the mouse inside it:;
-#X connect 6 0 7 0;
-#X connect 6 1 8 0;
-#X connect 12 0 13 0;
-#X connect 12 1 14 0;
-#X connect 12 2 15 0;
-#X connect 12 3 16 0;
-#X connect 12 4 17 0;
-#X connect 19 0 20 0;
-#X connect 20 0 19 0;
+#N canvas 135 33 925 545 10;
+#X text 135 37 part of GEM;
+#X text 87 100 mouse events in the GEM window;
+#X text 80 493 The button outlets send a 1 when the specified button
+is pressed and a 0 when it is released.;
+#X text 152 70 [gemmouse];
+#X text 74 366 [gemmouse] sends out mouse events which occur in the
+GEM window. The X and Y Position go from 0 to the size of the window
+(which can be set via the gemwin object).;
+#X text 74 418 You can also set some normalization of the output-coordinates
+with arguments.;
+#X obj 406 94 gemmouse 1 2;
+#X floatatom 406 149 9 0 0 1 X-position - -;
+#X floatatom 425 121 8 0 0 1 Y-position - -;
+#X text 562 119 (normalized to 0..2);
+#X text 561 148 (normalized to 0..1);
+#X obj 78 125 cnv 15 100 60 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 91 143 gemmouse;
+#X floatatom 91 287 9 0 0 1 X-position - -;
+#X floatatom 103 259 8 0 0 1 Y-position - -;
+#X floatatom 116 233 2 0 0 1 left-Button - -;
+#X floatatom 129 213 2 0 0 1 middle-Button - -;
+#X floatatom 142 193 2 0 0 1 right-Button - -;
+#X obj 608 346 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 155 70 set create;
+#X msg 197 134 destroy;
+#X msg 132 112 reset \, create \, 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 613 385 pd gemwin;
+#X msg 613 366 create;
+#X text 609 345 Create window:;
+#X text 515 318 create a GEM-window and move the mouse inside it:;
+#X connect 6 0 7 0;
+#X connect 6 1 8 0;
+#X connect 12 0 13 0;
+#X connect 12 1 14 0;
+#X connect 12 2 15 0;
+#X connect 12 3 16 0;
+#X connect 12 4 17 0;
+#X connect 19 0 20 0;
+#X connect 20 0 19 0;
diff --git a/packages/noncvs/windows/extra/Gem/gemmouse.pd b/packages/noncvs/windows/extra/Gem/gemmouse.pd
index adf6bb25..d046c9db 100644
--- a/packages/noncvs/windows/extra/Gem/gemmouse.pd
+++ b/packages/noncvs/windows/extra/Gem/gemmouse.pd
@@ -1,154 +1,154 @@
-#N canvas 0 0 786 465 10;
-#X obj 60 327 outlet x;
-#X obj 130 327 outlet y;
-#X obj 250 327 outlet Left;
-#X obj 360 327 outlet Middle;
-#X obj 470 327 outlet Right;
-#N canvas 340 91 557 430 arguments 1;
-#X obj 139 87 inlet reset;
-#X obj 139 110 t b;
-#N canvas 0 0 877 440 argcount 0;
-#X obj 32 46 inlet;
-#X obj 50 178 select s;
-#X obj 50 128 t b b;
-#X obj 156 155 makefilename $%d-test;
-#X obj 50 155 symbol \$1-test;
-#X msg 156 135 1;
-#X obj 570 178 select s;
-#X obj 570 128 t b b;
-#X obj 676 155 makefilename $%d-test;
-#X msg 676 135 3;
-#X obj 50 242 t f;
-#X obj 32 306 f;
-#X obj 32 74 t b b b;
-#X msg 78 279 -1;
-#X obj 32 360 outlet;
-#X obj 570 155 symbol \$3-test;
-#X msg 50 199 0;
-#X obj 310 178 select s;
-#X obj 310 128 t b b;
-#X obj 416 155 makefilename $%d-test;
-#X msg 416 135 2;
-#X obj 310 155 symbol \$2-test;
-#X msg 310 199 1;
-#X msg 570 199 2;
-#X obj 287 101 t b b b;
-#X connect 0 0 12 0;
-#X connect 1 0 16 0;
-#X connect 2 0 4 0;
-#X connect 2 1 5 0;
-#X connect 3 0 1 1;
-#X connect 4 0 1 0;
-#X connect 5 0 3 0;
-#X connect 6 0 23 0;
-#X connect 7 0 15 0;
-#X connect 7 1 9 0;
-#X connect 8 0 6 1;
-#X connect 9 0 8 0;
-#X connect 10 0 11 1;
-#X connect 11 0 14 0;
-#X connect 12 0 11 0;
-#X connect 12 1 24 0;
-#X connect 12 2 13 0;
-#X connect 13 0 11 1;
-#X connect 15 0 6 0;
-#X connect 16 0 10 0;
-#X connect 17 0 22 0;
-#X connect 18 0 21 0;
-#X connect 18 1 20 0;
-#X connect 19 0 17 1;
-#X connect 20 0 19 0;
-#X connect 21 0 17 0;
-#X connect 22 0 10 0;
-#X connect 23 0 10 0;
-#X connect 24 0 2 0;
-#X connect 24 1 18 0;
-#X connect 24 2 7 0;
-#X restore 139 134 pd argcount;
-#X obj 139 182 select 0 1 2;
-#X obj 253 352 outlet yscale;
-#X obj 139 322 outlet yscale;
-#X obj 139 160 i;
-#X obj 253 323 /;
-#X obj 201 201 t b b;
-#X obj 166 223 f \$1;
-#X obj 201 223 f \$1;
-#X obj 233 223 f \$2;
-#X obj 366 142 unpack 0 0;
-#X obj 334 121 t b l;
-#X obj 166 244 pack 0 500;
-#X obj 139 270 pack 500 500;
-#X obj 253 300 pack 500 500;
-#X obj 139 293 /;
-#X obj 334 97 inlet dimen;
-#X floatatom 65 186 5 0 0 0 - - -;
-#X msg 77 87 bang;
-#X msg 139 203 1 1;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X connect 2 0 6 0;
-#X connect 3 0 21 0;
-#X connect 3 1 9 0;
-#X connect 3 2 8 0;
-#X connect 6 0 3 0;
-#X connect 6 0 19 0;
-#X connect 7 0 4 0;
-#X connect 8 0 10 0;
-#X connect 8 1 11 0;
-#X connect 9 0 14 0;
-#X connect 10 0 15 0;
-#X connect 11 0 16 0;
-#X connect 12 0 15 1;
-#X connect 12 0 17 1;
-#X connect 12 1 14 1;
-#X connect 12 1 16 1;
-#X connect 13 0 6 0;
-#X connect 13 1 12 0;
-#X connect 14 0 15 0;
-#X connect 14 0 16 0;
-#X connect 15 0 17 0;
-#X connect 16 0 7 0;
-#X connect 17 0 5 0;
-#X connect 18 0 13 0;
-#X connect 20 0 1 0;
-#X connect 21 0 15 0;
-#X connect 21 0 16 0;
-#X restore 147 173 pd arguments;
-#X obj 60 241 * 1;
-#X obj 130 241 * 1;
-#X obj 147 148 loadbang;
-#X obj 104 31 r __gem;
-#X obj 104 52 route mouse dimen;
-#X obj 396 88 route motion button;
-#X obj 364 67 t b a;
-#X obj 396 111 unpack;
-#X obj 196 277 pack 0 0 0 0 0;
-#X obj 196 303 unpack 0 0 0 0 0;
-#X obj 166 277 f;
-#X obj 234 207 del 0;
-#X obj 243 245 route 0 1 2;
-#X connect 5 0 6 1;
-#X connect 5 1 7 1;
-#X connect 6 0 16 1;
-#X connect 7 0 14 1;
-#X connect 8 0 5 0;
-#X connect 9 0 10 0;
-#X connect 10 0 12 0;
-#X connect 10 1 5 1;
-#X connect 11 0 13 0;
-#X connect 11 1 18 0;
-#X connect 12 0 17 0;
-#X connect 12 1 11 0;
-#X connect 13 0 6 0;
-#X connect 13 1 7 0;
-#X connect 14 0 15 0;
-#X connect 15 0 0 0;
-#X connect 15 1 1 0;
-#X connect 15 2 2 0;
-#X connect 15 3 3 0;
-#X connect 15 4 4 0;
-#X connect 16 0 14 0;
-#X connect 17 0 16 0;
-#X connect 18 0 14 2;
-#X connect 18 1 14 3;
-#X connect 18 2 14 4;
+#N canvas 0 0 786 465 10;
+#X obj 60 327 outlet x;
+#X obj 130 327 outlet y;
+#X obj 250 327 outlet Left;
+#X obj 360 327 outlet Middle;
+#X obj 470 327 outlet Right;
+#N canvas 340 91 557 430 arguments 1;
+#X obj 139 87 inlet reset;
+#X obj 139 110 t b;
+#N canvas 0 0 877 440 argcount 0;
+#X obj 32 46 inlet;
+#X obj 50 178 select s;
+#X obj 50 128 t b b;
+#X obj 156 155 makefilename $%d-test;
+#X obj 50 155 symbol \$1-test;
+#X msg 156 135 1;
+#X obj 570 178 select s;
+#X obj 570 128 t b b;
+#X obj 676 155 makefilename $%d-test;
+#X msg 676 135 3;
+#X obj 50 242 t f;
+#X obj 32 306 f;
+#X obj 32 74 t b b b;
+#X msg 78 279 -1;
+#X obj 32 360 outlet;
+#X obj 570 155 symbol \$3-test;
+#X msg 50 199 0;
+#X obj 310 178 select s;
+#X obj 310 128 t b b;
+#X obj 416 155 makefilename $%d-test;
+#X msg 416 135 2;
+#X obj 310 155 symbol \$2-test;
+#X msg 310 199 1;
+#X msg 570 199 2;
+#X obj 287 101 t b b b;
+#X connect 0 0 12 0;
+#X connect 1 0 16 0;
+#X connect 2 0 4 0;
+#X connect 2 1 5 0;
+#X connect 3 0 1 1;
+#X connect 4 0 1 0;
+#X connect 5 0 3 0;
+#X connect 6 0 23 0;
+#X connect 7 0 15 0;
+#X connect 7 1 9 0;
+#X connect 8 0 6 1;
+#X connect 9 0 8 0;
+#X connect 10 0 11 1;
+#X connect 11 0 14 0;
+#X connect 12 0 11 0;
+#X connect 12 1 24 0;
+#X connect 12 2 13 0;
+#X connect 13 0 11 1;
+#X connect 15 0 6 0;
+#X connect 16 0 10 0;
+#X connect 17 0 22 0;
+#X connect 18 0 21 0;
+#X connect 18 1 20 0;
+#X connect 19 0 17 1;
+#X connect 20 0 19 0;
+#X connect 21 0 17 0;
+#X connect 22 0 10 0;
+#X connect 23 0 10 0;
+#X connect 24 0 2 0;
+#X connect 24 1 18 0;
+#X connect 24 2 7 0;
+#X restore 139 134 pd argcount;
+#X obj 139 182 select 0 1 2;
+#X obj 253 352 outlet yscale;
+#X obj 139 322 outlet yscale;
+#X obj 139 160 i;
+#X obj 253 323 /;
+#X obj 201 201 t b b;
+#X obj 166 223 f \$1;
+#X obj 201 223 f \$1;
+#X obj 233 223 f \$2;
+#X obj 366 142 unpack 0 0;
+#X obj 334 121 t b l;
+#X obj 166 244 pack 0 500;
+#X obj 139 270 pack 500 500;
+#X obj 253 300 pack 500 500;
+#X obj 139 293 /;
+#X obj 334 97 inlet dimen;
+#X floatatom 65 186 5 0 0 0 - - -;
+#X msg 77 87 bang;
+#X msg 139 203 1 1;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 2 0 6 0;
+#X connect 3 0 21 0;
+#X connect 3 1 9 0;
+#X connect 3 2 8 0;
+#X connect 6 0 3 0;
+#X connect 6 0 19 0;
+#X connect 7 0 4 0;
+#X connect 8 0 10 0;
+#X connect 8 1 11 0;
+#X connect 9 0 14 0;
+#X connect 10 0 15 0;
+#X connect 11 0 16 0;
+#X connect 12 0 15 1;
+#X connect 12 0 17 1;
+#X connect 12 1 14 1;
+#X connect 12 1 16 1;
+#X connect 13 0 6 0;
+#X connect 13 1 12 0;
+#X connect 14 0 15 0;
+#X connect 14 0 16 0;
+#X connect 15 0 17 0;
+#X connect 16 0 7 0;
+#X connect 17 0 5 0;
+#X connect 18 0 13 0;
+#X connect 20 0 1 0;
+#X connect 21 0 15 0;
+#X connect 21 0 16 0;
+#X restore 147 173 pd arguments;
+#X obj 60 241 * 1;
+#X obj 130 241 * 1;
+#X obj 147 148 loadbang;
+#X obj 104 31 r __gem;
+#X obj 104 52 route mouse dimen;
+#X obj 396 88 route motion button;
+#X obj 364 67 t b a;
+#X obj 396 111 unpack;
+#X obj 196 277 pack 0 0 0 0 0;
+#X obj 196 303 unpack 0 0 0 0 0;
+#X obj 166 277 f;
+#X obj 234 207 del 0;
+#X obj 243 245 route 0 1 2;
+#X connect 5 0 6 1;
+#X connect 5 1 7 1;
+#X connect 6 0 16 1;
+#X connect 7 0 14 1;
+#X connect 8 0 5 0;
+#X connect 9 0 10 0;
+#X connect 10 0 12 0;
+#X connect 10 1 5 1;
+#X connect 11 0 13 0;
+#X connect 11 1 18 0;
+#X connect 12 0 17 0;
+#X connect 12 1 11 0;
+#X connect 13 0 6 0;
+#X connect 13 1 7 0;
+#X connect 14 0 15 0;
+#X connect 15 0 0 0;
+#X connect 15 1 1 0;
+#X connect 15 2 2 0;
+#X connect 15 3 3 0;
+#X connect 15 4 4 0;
+#X connect 16 0 14 0;
+#X connect 17 0 16 0;
+#X connect 18 0 14 2;
+#X connect 18 1 14 3;
+#X connect 18 2 14 4;
diff --git a/packages/noncvs/windows/extra/Gem/gemorb-help.pd b/packages/noncvs/windows/extra/Gem/gemorb-help.pd
index 2894cdaa..238765e6 100644
--- a/packages/noncvs/windows/extra/Gem/gemorb-help.pd
+++ b/packages/noncvs/windows/extra/Gem/gemorb-help.pd
@@ -1,32 +1,32 @@
-#N canvas 293 148 600 556 10;
-#X text 135 37 part of GEM;
-#X obj 157 187 gemorb 1;
-#X text 69 93 respond to events of a SpaceOrb on a specified commport.
-;
-#X msg 157 290 (X Y Z) Position;
-#X msg 182 255 (X Y Z) Rotation;
-#X msg 208 219 (a b c d e f g) Button;
-#X text 152 70 [gemorb];
-#X text 67 326 [gemorb] connects to a SpaceOrb onthe commport specified
-as the creation-argument.;
-#X text 70 358 You have to have a SpaceOrb to make serious use of [gemorb]
-;
-#X text 66 389 Position and Rotation give you float-triplets specifying
-the position/rotation at/for the 3 axis;
-#X text 66 426 Button gives a 9tupel with the state \, each button
-is in;
-#X msg 180 118 reset;
-#X msg 180 140 timer <time>;
-#X msg 180 162 nullregion <region>;
-#X text 65 450 You can reset the SpaceOrb either with the Reset-Button
-on the device or with the "reset"-message.;
-#X text 67 483 You can define the nullregion with the "nullregion"-message.
-;
-#X text 67 503 You can set the pause between the polls of the SpaceOrb
-with the "timer" message.;
-#X connect 1 0 3 0;
-#X connect 1 1 4 0;
-#X connect 1 2 5 0;
-#X connect 11 0 1 0;
-#X connect 12 0 1 0;
-#X connect 13 0 1 0;
+#N canvas 293 148 600 556 10;
+#X text 135 37 part of GEM;
+#X obj 157 187 gemorb 1;
+#X text 69 93 respond to events of a SpaceOrb on a specified commport.
+;
+#X msg 157 290 (X Y Z) Position;
+#X msg 182 255 (X Y Z) Rotation;
+#X msg 208 219 (a b c d e f g) Button;
+#X text 152 70 [gemorb];
+#X text 67 326 [gemorb] connects to a SpaceOrb onthe commport specified
+as the creation-argument.;
+#X text 70 358 You have to have a SpaceOrb to make serious use of [gemorb]
+;
+#X text 66 389 Position and Rotation give you float-triplets specifying
+the position/rotation at/for the 3 axis;
+#X text 66 426 Button gives a 9tupel with the state \, each button
+is in;
+#X msg 180 118 reset;
+#X msg 180 140 timer <time>;
+#X msg 180 162 nullregion <region>;
+#X text 65 450 You can reset the SpaceOrb either with the Reset-Button
+on the device or with the "reset"-message.;
+#X text 67 483 You can define the nullregion with the "nullregion"-message.
+;
+#X text 67 503 You can set the pause between the polls of the SpaceOrb
+with the "timer" message.;
+#X connect 1 0 3 0;
+#X connect 1 1 4 0;
+#X connect 1 2 5 0;
+#X connect 11 0 1 0;
+#X connect 12 0 1 0;
+#X connect 13 0 1 0;
diff --git a/packages/noncvs/windows/extra/Gem/gemorb.pd b/packages/noncvs/windows/extra/Gem/gemorb.pd
index 6700a9c4..72c1c8c7 100644
--- a/packages/noncvs/windows/extra/Gem/gemorb.pd
+++ b/packages/noncvs/windows/extra/Gem/gemorb.pd
@@ -1,22 +1,22 @@
-#N canvas 66 407 682 381 10;
-#X text 53 56 the object has been taken out of Gem \, since Gem is
-a graphics library \, and not a hardware-interfacing library.;
-#X text 49 98 you should be able to build a functional replacement
-using the [hid] external.;
-#X text 54 36 this is a fake replacement of Gem's [gemorb].;
-#X obj 41 341 outlet Position (x y z);
-#X obj 231 341 outlet Rotation (x y z);
-#X obj 421 341 outlet Buttons (a b c d e f g);
-#X obj 172 142 loadbang;
-#X obj 172 278 print error;
-#X msg 172 244 [gemorb] is no longer available! \, use [hid] or similar
-for interfacing a SpaceOrb;
-#X obj 26 143 inlet;
-#X obj 26 163 t b;
-#X msg 26 182 you are interfacing a dummy replacement of [gemorb]!
-\, please build your own [gemorb];
-#X connect 6 0 8 0;
-#X connect 8 0 7 0;
-#X connect 9 0 10 0;
-#X connect 10 0 11 0;
-#X connect 11 0 7 0;
+#N canvas 66 407 682 381 10;
+#X text 53 56 the object has been taken out of Gem \, since Gem is
+a graphics library \, and not a hardware-interfacing library.;
+#X text 49 98 you should be able to build a functional replacement
+using the [hid] external.;
+#X text 54 36 this is a fake replacement of Gem's [gemorb].;
+#X obj 41 341 outlet Position (x y z);
+#X obj 231 341 outlet Rotation (x y z);
+#X obj 421 341 outlet Buttons (a b c d e f g);
+#X obj 172 142 loadbang;
+#X obj 172 278 print error;
+#X msg 172 244 [gemorb] is no longer available! \, use [hid] or similar
+for interfacing a SpaceOrb;
+#X obj 26 143 inlet;
+#X obj 26 163 t b;
+#X msg 26 182 you are interfacing a dummy replacement of [gemorb]!
+\, please build your own [gemorb];
+#X connect 6 0 8 0;
+#X connect 8 0 7 0;
+#X connect 9 0 10 0;
+#X connect 10 0 11 0;
+#X connect 11 0 7 0;
diff --git a/packages/noncvs/windows/extra/Gem/gemreceive-help.pd b/packages/noncvs/windows/extra/Gem/gemreceive-help.pd
index 3f19d31f..f3cd781e 100644
--- a/packages/noncvs/windows/extra/Gem/gemreceive-help.pd
+++ b/packages/noncvs/windows/extra/Gem/gemreceive-help.pd
@@ -1,62 +1,62 @@
-#N canvas 4 52 570 713 10;
-#X obj 96 51 gemreceive;
-#X text 169 51 ordered receive;
-#X obj 72 227 gemreceive foo -1;
-#X obj 72 249 print first;
-#X obj 412 227 gemreceive foo 12;
-#X obj 412 249 print third;
-#X obj 282 227 gemreceive foo 1996;
-#X obj 282 249 print fourth;
-#X obj 182 249 print second;
-#X obj 72 196 s foo;
-#X text 58 91 [gemreceive] takes an additional argument (compared to
-Pd's [receive]) that specifies the priority.;
-#X text 61 136 The higher the number \, the later the object will receive!
-;
-#X obj 182 227 gemreceive foo;
-#X text 223 169 the default priority is "0";
-#X text 76 298 1st inlet allows you to change the receiver name;
-#X obj 107 371 gemreceive bar;
-#X obj 107 393 print foobar;
-#X msg 235 337 FOO;
-#X msg 273 337 BAR;
-#X obj 273 359 s bar;
-#X msg 123 351 symbol bar;
-#X text 80 443 2nd inlet let's you change the priority on the fly;
-#X obj 116 610 gemreceive foobar 10;
-#X obj 252 610 gemreceive foobar 20;
-#X obj 116 632 print left;
-#X obj 252 632 print right;
-#X msg 116 464 left2right;
-#X obj 116 518 t a a;
-#X obj 233 520 route left2right right2left;
-#X msg 202 464 right2left;
-#X msg 233 542 10 20;
-#X msg 312 543 20 10;
-#X obj 233 564 unpack;
-#X obj 116 540 s foobar;
-#X msg 72 173 bang;
-#X obj 235 359 s fou;
-#X msg 107 331 symbol fou;
-#X connect 2 0 3 0;
-#X connect 4 0 5 0;
-#X connect 6 0 7 0;
-#X connect 12 0 8 0;
-#X connect 15 0 16 0;
-#X connect 17 0 35 0;
-#X connect 18 0 19 0;
-#X connect 20 0 15 0;
-#X connect 22 0 24 0;
-#X connect 23 0 25 0;
-#X connect 26 0 27 0;
-#X connect 27 0 33 0;
-#X connect 27 1 28 0;
-#X connect 28 0 30 0;
-#X connect 28 1 31 0;
-#X connect 29 0 27 0;
-#X connect 30 0 32 0;
-#X connect 31 0 32 0;
-#X connect 32 0 22 1;
-#X connect 32 1 23 1;
-#X connect 34 0 9 0;
-#X connect 36 0 15 0;
+#N canvas 4 52 570 713 10;
+#X obj 96 51 gemreceive;
+#X text 169 51 ordered receive;
+#X obj 72 227 gemreceive foo -1;
+#X obj 72 249 print first;
+#X obj 412 227 gemreceive foo 12;
+#X obj 412 249 print third;
+#X obj 282 227 gemreceive foo 1996;
+#X obj 282 249 print fourth;
+#X obj 182 249 print second;
+#X obj 72 196 s foo;
+#X text 58 91 [gemreceive] takes an additional argument (compared to
+Pd's [receive]) that specifies the priority.;
+#X text 61 136 The higher the number \, the later the object will receive!
+;
+#X obj 182 227 gemreceive foo;
+#X text 223 169 the default priority is "0";
+#X text 76 298 1st inlet allows you to change the receiver name;
+#X obj 107 371 gemreceive bar;
+#X obj 107 393 print foobar;
+#X msg 235 337 FOO;
+#X msg 273 337 BAR;
+#X obj 273 359 s bar;
+#X msg 123 351 symbol bar;
+#X text 80 443 2nd inlet let's you change the priority on the fly;
+#X obj 116 610 gemreceive foobar 10;
+#X obj 252 610 gemreceive foobar 20;
+#X obj 116 632 print left;
+#X obj 252 632 print right;
+#X msg 116 464 left2right;
+#X obj 116 518 t a a;
+#X obj 233 520 route left2right right2left;
+#X msg 202 464 right2left;
+#X msg 233 542 10 20;
+#X msg 312 543 20 10;
+#X obj 233 564 unpack;
+#X obj 116 540 s foobar;
+#X msg 72 173 bang;
+#X obj 235 359 s fou;
+#X msg 107 331 symbol fou;
+#X connect 2 0 3 0;
+#X connect 4 0 5 0;
+#X connect 6 0 7 0;
+#X connect 12 0 8 0;
+#X connect 15 0 16 0;
+#X connect 17 0 35 0;
+#X connect 18 0 19 0;
+#X connect 20 0 15 0;
+#X connect 22 0 24 0;
+#X connect 23 0 25 0;
+#X connect 26 0 27 0;
+#X connect 27 0 33 0;
+#X connect 27 1 28 0;
+#X connect 28 0 30 0;
+#X connect 28 1 31 0;
+#X connect 29 0 27 0;
+#X connect 30 0 32 0;
+#X connect 31 0 32 0;
+#X connect 32 0 22 1;
+#X connect 32 1 23 1;
+#X connect 34 0 9 0;
+#X connect 36 0 15 0;
diff --git a/packages/noncvs/windows/extra/Gem/gemtablet-help.pd b/packages/noncvs/windows/extra/Gem/gemtablet-help.pd
index 4879c2ae..13c5d58c 100644
--- a/packages/noncvs/windows/extra/Gem/gemtablet-help.pd
+++ b/packages/noncvs/windows/extra/Gem/gemtablet-help.pd
@@ -1,25 +1,25 @@
-#N canvas 293 148 600 385 10;
-#X text 135 37 part of GEM;
-#X text 152 70 [gemtablet];
-#X text 69 93 respond to events of a graph-tablet;
-#X obj 110 118 gemtablet ........;
-#X text 67 326 [gemtablet] connects to a graph-tablet. You have to
-have a graph-tablet to make any use of [gemtablet];
-#X floatatom 110 304 5 0 0 1 X-pos - -;
-#X floatatom 125 287 5 0 0 1 Y-pos - -;
-#X floatatom 140 267 5 0 0 1 Pressure - -;
-#X floatatom 155 246 5 0 0 1 Azimuth - -;
-#X floatatom 170 226 5 0 0 1 Altitude - -;
-#X floatatom 185 207 5 0 0 1 Twist - -;
-#X floatatom 200 178 1 0 0 1 Left_Button - -;
-#X floatatom 215 160 1 0 0 1 Middle_Button - -;
-#X floatatom 231 140 1 0 0 1 Right_Button - -;
-#X connect 3 0 5 0;
-#X connect 3 1 6 0;
-#X connect 3 2 7 0;
-#X connect 3 3 8 0;
-#X connect 3 4 9 0;
-#X connect 3 5 10 0;
-#X connect 3 6 11 0;
-#X connect 3 7 12 0;
-#X connect 3 8 13 0;
+#N canvas 293 148 600 385 10;
+#X text 135 37 part of GEM;
+#X text 152 70 [gemtablet];
+#X text 69 93 respond to events of a graph-tablet;
+#X obj 110 118 gemtablet ........;
+#X text 67 326 [gemtablet] connects to a graph-tablet. You have to
+have a graph-tablet to make any use of [gemtablet];
+#X floatatom 110 304 5 0 0 1 X-pos - -;
+#X floatatom 125 287 5 0 0 1 Y-pos - -;
+#X floatatom 140 267 5 0 0 1 Pressure - -;
+#X floatatom 155 246 5 0 0 1 Azimuth - -;
+#X floatatom 170 226 5 0 0 1 Altitude - -;
+#X floatatom 185 207 5 0 0 1 Twist - -;
+#X floatatom 200 178 1 0 0 1 Left_Button - -;
+#X floatatom 215 160 1 0 0 1 Middle_Button - -;
+#X floatatom 231 140 1 0 0 1 Right_Button - -;
+#X connect 3 0 5 0;
+#X connect 3 1 6 0;
+#X connect 3 2 7 0;
+#X connect 3 3 8 0;
+#X connect 3 4 9 0;
+#X connect 3 5 10 0;
+#X connect 3 6 11 0;
+#X connect 3 7 12 0;
+#X connect 3 8 13 0;
diff --git a/packages/noncvs/windows/extra/Gem/gemtablet.pd b/packages/noncvs/windows/extra/Gem/gemtablet.pd
index 76a272fd..65788497 100644
--- a/packages/noncvs/windows/extra/Gem/gemtablet.pd
+++ b/packages/noncvs/windows/extra/Gem/gemtablet.pd
@@ -1,21 +1,21 @@
-#N canvas 24 279 928 367 10;
-#X obj 107 178 loadbang;
-#X obj 107 250 print error;
-#X msg 107 207 [gemtablet] is no longer available! \, use [hid] or
-similar for interfacing a graph-tablet;
-#X obj 127 312 outlet X-pos;
-#X obj 137 331 outlet Y-pos;
-#X obj 287 282 outlet Pressure;
-#X obj 297 302 outlet Azimuth;
-#X obj 307 322 outlet Altitude;
-#X obj 317 342 outlet Twist;
-#X obj 537 302 outlet Middle-Buttoh;
-#X obj 547 322 outlet Right-Button;
-#X obj 527 282 outlet Left-Button;
-#X text 54 36 this is a fake replacement of Gem's [gemtablet].;
-#X text 53 56 the object has been taken out of Gem \, since Gem is
-a graphics library \, and not a hardware-interfacing library.;
-#X text 51 98 you should be able to build a functional replacement
-using the [hid] external.;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
+#N canvas 24 279 928 367 10;
+#X obj 107 178 loadbang;
+#X obj 107 250 print error;
+#X msg 107 207 [gemtablet] is no longer available! \, use [hid] or
+similar for interfacing a graph-tablet;
+#X obj 127 312 outlet X-pos;
+#X obj 137 331 outlet Y-pos;
+#X obj 287 282 outlet Pressure;
+#X obj 297 302 outlet Azimuth;
+#X obj 307 322 outlet Altitude;
+#X obj 317 342 outlet Twist;
+#X obj 537 302 outlet Middle-Buttoh;
+#X obj 547 322 outlet Right-Button;
+#X obj 527 282 outlet Left-Button;
+#X text 54 36 this is a fake replacement of Gem's [gemtablet].;
+#X text 53 56 the object has been taken out of Gem \, since Gem is
+a graphics library \, and not a hardware-interfacing library.;
+#X text 51 98 you should be able to build a functional replacement
+using the [hid] external.;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
diff --git a/packages/noncvs/windows/extra/Gem/gemwin-help.pd b/packages/noncvs/windows/extra/Gem/gemwin-help.pd
index 42a35e03..0090abcb 100644
--- a/packages/noncvs/windows/extra/Gem/gemwin-help.pd
+++ b/packages/noncvs/windows/extra/Gem/gemwin-help.pd
@@ -1,799 +1,799 @@
-#N canvas 133 50 676 689 10;
-#X text 452 8 GEM object;
-#X obj 7 193 cnv 15 430 480 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 7 149 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 16 153 Arguments:;
-#X obj 7 53 cnv 15 430 90 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 54 cnv 15 210 350 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 451 28 Example:;
-#X obj 454 286 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X text 50 12 Synopsis: [gemwin];
-#X text 17 56 Description: access to the window manager;
-#X text 28 79 [gemwin] allows you to interact with Gem's output window.
-It passes various messages to the window manager \, controlling the
-attributes of the window and controls the render-cycle. Multiple instances
-of this object will interact with the same window.;
-#X obj 458 320 gemwin;
-#X msg 458 103 reset \, dimen 640 480 \, create \, 1;
-#X msg 486 195 0 \, destroy;
-#X text 16 196 Inlet 1:;
-#X text 30 225 reset : reset the graphics manager to the default values
-;
-#X text 29 432 create : create the graphics window;
-#X text 29 446 destroy : destroy the graphics window;
-#X text 30 479 float (1/0) : turn on/off rendering;
-#X text 30 493 print : show some information on the stderr;
-#X text 71 31 Class: window handling;
-#N canvas 361 97 456 455 FSAA 0;
-#X msg 48 222 0;
-#X msg 79 222 2;
-#X msg 108 222 4;
-#X text 54 129 2 - double resolution (4 times the pixel data);
-#X text 43 324 Full-scene anti-aliasing by supersampling usually means
-that each full frame is rendered at double (2x) or quadruple (4x) the
-display resolution \, and then down-sampled to match the display resolution.
-So a 4x FSAA would render 16 supersampled pixels for each single pixel
-of each frame.;
-#X text 54 189 8 - eight-times resolution (64 times the pixel data)
-;
-#X text 54 149 4 - quadruple resolution (16 times the pixel data);
-#X text 54 109 0 - turn off super sampling for anti-aliasing;
-#X text 43 405 http://en.wikipedia.org/wiki/Anti-aliasing#Full-scene_anti-aliasing
-;
-#X text 200 220 <-- destroy gemwin between clicking these;
-#X obj 90 299 s \$0-gemwin-in;
-#X text 54 168 5 - quadruple resolution (16 times the pixel data);
-#X text 33 6 Gem provides Full Scene Anti-Aliasing for smoothing out
-the edges of all things drawn in the OpenGL scene. To enable it \,
-send the "FSAA" message to the [gemwin] before creating it.;
-#X text 33 61 FSAA might or might not work depending on your graphic
-card \, the value of the parameter may also vary.;
-#X msg 169 222 8;
-#X msg 139 222 5;
-#X msg 90 272 destroy \, FSAA \$1 \, create \, 1;
-#X connect 0 0 16 0;
-#X connect 1 0 16 0;
-#X connect 2 0 16 0;
-#X connect 14 0 16 0;
-#X connect 15 0 16 0;
-#X connect 16 0 10 0;
-#X restore 356 269 pd FSAA;
-#X obj 471 294 r \$0-gemwin-in;
-#X text 29 285 fullscreen 0|1 : make fullscreen-window;
-#X text 57 302 (if possible with the dimensions passed via "dimen")
-;
-#N canvas 430 22 405 382 fullscreen 0;
-#X text -88 -108 fullscreen 0/1: make fullscreen-window (if possible
-with the dimensions passed via "dimen");
-#X text -88 -64 on platform's that support it (currently: Mac OS X)
-you can specify on which screen you want to go fullscreen (if you have
-several screens): e.g. "fullscreen 2" will make a fullscreen-window
-on Screen2;
-#X text -86 -130 FULLSCREEN SUPPORT;
-#X obj -85 -1 vradio 15 1 0 3 empty empty empty 0 -8 0 10 -262144 -1
--1 0;
-#X floatatom -85 50 5 0 0 0 - - -;
-#X msg -85 71 reset \, fullscreen \$1 \, create \, 1;
-#X text -63 -4 deactivate fullscreen;
-#X text -64 13 fullscreen on screen 1;
-#X text -64 29 fullscreen on screen 2;
-#X msg -72 126 0 \, destroy;
-#X text -89 182 BE CAREFUL : when you are in fullscreen mode \, you
-have no more access to the other windows of your system.;
-#N canvas 107 24 450 300 esc 0;
-#X obj 65 20 gemkeyboard;
-#X obj 65 167 outlet;
-#X obj 89 71 keyname;
-#X obj 128 96 sel Escape;
-#X obj 65 41 sel 53;
-#X obj 189 47 sel Escape;
-#X obj 150 22 gemkeyname;
-#X connect 0 0 4 0;
-#X connect 2 1 3 0;
-#X connect 3 0 1 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 1 5 0;
-#X restore -72 104 pd esc;
-#X obj -85 155 s \$0-gemwin-in;
-#X text 111 11 press ESC to quit;
-#X connect 3 0 4 0;
-#X connect 4 0 5 0;
-#X connect 5 0 12 0;
-#X connect 9 0 12 0;
-#X connect 11 0 9 0;
-#X restore 356 288 pd fullscreen;
-#X text 57 253 the x and y dimensions of the window. (default 500 500)
-;
-#X text 30 166 number of frames per second (default 20);
-#X text 29 508 frame <number> : number of frames per second (default
-20);
-#X text 30 268 FSAA <number> : anti aliasing (default 0);
-#X text 30 318 border 1|0 : create a window with/out borders (default
-1);
-#X text 57 350 the x and y offset of the window. (default 0 0);
-#N canvas 641 438 406 148 offset 0;
-#X text 53 8 OFFSET SUPPORT;
-#X text 21 28 offset might not work on some window managers if the
-borders are on;
-#X text 20 55 under OSX you must take into account the number of pixel
-of the menubar \, title and eventually of your dock.;
-#X text 19 82 [offset 0 -60( with [menubar 0( is working in 10.6 to
-set the window in the top left of the screen;
-#X restore 356 334 pd offset;
-#N canvas 230 93 618 505 more 0;
-#X text 230 327 title <title_symbol>: set the title for the window
-;
-#X msg 121 327 title my_window;
-#X obj 94 187 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0
-1;
-#X msg 94 205 menubar \$1;
-#X msg 117 187 -1;
-#X text 188 190 menubar -1/0/1: hide or show the Mac OS X menubar \,
-1 shows \, 0 hides \, and -1 hides by default and shows on mouseover
-;
-#X msg 44 60 cursor \$1;
-#X obj 44 41 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0 1
-;
-#X text 139 59 cursor 0/1: turn the cursor on/off;
-#X obj 109 247 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0
-1;
-#X msg 109 266 topmost \$1;
-#X text 204 255 topmost 0/1: make the gemwin the top most window \,
-on top of everything else (Windows only?);
-#X msg 126 376 create remotehost:8.0;
-#X text 283 369 when using X-windows \, you can also create a window
-on a remote display!;
-#X obj 44 465 s \$0-gemwin-in;
-#X text 41 14 Other messages to [gemwin] regarding the window;
-#X msg 55 139 0 \, destroy;
-#X msg 110 438 create \, 1;
-#X text 188 437 ...and create it after;
-#X text 133 140 destroy window before setting window properties...
-;
-#X text 81 104 All of these messages must be sent to [gemwin] before
-the window is created in order to take effect:;
-#X connect 1 0 14 0;
-#X connect 2 0 3 0;
-#X connect 3 0 14 0;
-#X connect 4 0 3 0;
-#X connect 6 0 14 0;
-#X connect 7 0 6 0;
-#X connect 9 0 10 0;
-#X connect 10 0 14 0;
-#X connect 12 0 14 0;
-#X connect 16 0 14 0;
-#X connect 17 0 14 0;
-#X restore 30 367 pd more window properties;
-#X text 29 558 lighting 0|1 : turn lighting off/on (default 0);
-#N canvas 190 228 580 527 more 0;
-#X text 105 134 lighting 1/0 : turn lighting on/off;
-#X text 263 186 ambient R G B : the ambient lighting color;
-#X text 269 240 specular R G B : the specular lighting color;
-#X text 197 277 shininess num : the shininess value;
-#X text 132 326 fogmode 0/1/2/3 : set the fog mode (OFF/LINEAR/EXP/EXP^2)
-;
-#X text 298 447 fogcolor R G B : the color of the fog;
-#X text 219 367 fog num : the fog density;
-#X text 24 11 messages to the [gemwin] regarding lighting effects;
-#X obj 24 116 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0
-1;
-#X msg 24 134 lighting \$1;
-#N canvas 714 134 566 458 color 0;
-#X obj 103 100 hsl 128 15 0 1 0 0 empty empty R 12 8 1 12 -261689 -1
--1 0 1;
-#X obj 236 100 hsl 128 15 0 1 0 0 empty empty G 12 8 1 12 -225271 -1
--1 0 1;
-#X obj 370 100 hsl 128 15 0 1 0 0 empty empty B 12 8 1 12 -228992 -1
--1 0 1;
-#X obj 100 329 outlet;
-#X obj 132 253 list;
-#X msg 132 273 set ambient \$1 \$2 \$3;
-#X obj 233 144 t b f;
-#X obj 367 144 t b f;
-#X obj 100 201 pack 0 0 0;
-#X obj 100 230 t b a;
-#X connect 0 0 8 0;
-#X connect 1 0 6 0;
-#X connect 2 0 7 0;
-#X connect 4 0 5 0;
-#X connect 5 0 3 0;
-#X connect 6 0 8 0;
-#X connect 6 1 8 1;
-#X connect 7 0 8 0;
-#X connect 7 1 8 2;
-#X connect 8 0 9 0;
-#X connect 9 0 3 0;
-#X connect 9 1 4 0;
-#X coords 0 -1 1 1 400 13 1 100 100;
-#X restore 35 165 pd color sliders;
-#X msg 35 187 ambient 0 0 0;
-#N canvas 714 134 566 366 color 0;
-#X obj 103 100 hsl 128 15 0 1 0 0 empty empty R 12 8 1 12 -261689 -1
--1 0 1;
-#X obj 236 100 hsl 128 15 0 1 0 0 empty empty G 12 8 1 12 -225271 -1
--1 0 1;
-#X obj 370 100 hsl 128 15 0 1 0 0 empty empty B 12 8 1 12 -228992 -1
--1 0 1;
-#X obj 100 299 outlet;
-#X obj 132 223 list;
-#X msg 132 242 set specular \$1 \$2 \$3;
-#X obj 233 124 t b f;
-#X obj 367 124 t b f;
-#X obj 100 171 pack 0 0 0;
-#X obj 100 199 t b a;
-#X connect 0 0 8 0;
-#X connect 1 0 6 0;
-#X connect 2 0 7 0;
-#X connect 4 0 5 0;
-#X connect 5 0 3 0;
-#X connect 6 0 8 0;
-#X connect 6 1 8 1;
-#X connect 7 0 8 0;
-#X connect 7 1 8 2;
-#X connect 8 0 9 0;
-#X connect 9 0 3 0;
-#X connect 9 1 4 0;
-#X coords 0 -1 1 1 400 13 1 100 100;
-#X restore 42 219 pd color sliders;
-#X msg 42 241 specular 0 0 0;
-#N canvas 710 134 570 462 color 0;
-#X obj 103 100 hsl 128 15 0 1 0 0 empty empty R 12 8 1 12 -261689 -1
--1 0 1;
-#X obj 236 100 hsl 128 15 0 1 0 0 empty empty G 12 8 1 12 -225271 -1
--1 0 1;
-#X obj 370 100 hsl 128 15 0 1 0 0 empty empty B 12 8 1 12 -228992 -1
--1 0 1;
-#X obj 100 299 outlet;
-#X obj 132 223 list;
-#X msg 132 242 set fogcolor \$1 \$2 \$3;
-#X obj 233 125 t b f;
-#X obj 367 125 t b f;
-#X obj 100 171 pack 0 0 0;
-#X obj 100 200 t b a;
-#X connect 0 0 8 0;
-#X connect 1 0 6 0;
-#X connect 2 0 7 0;
-#X connect 4 0 5 0;
-#X connect 5 0 3 0;
-#X connect 6 0 8 0;
-#X connect 6 1 8 1;
-#X connect 7 0 8 0;
-#X connect 7 1 8 2;
-#X connect 8 0 9 0;
-#X connect 9 0 3 0;
-#X connect 9 1 4 0;
-#X coords 0 -1 1 1 400 13 1 100 100;
-#X restore 54 426 pd color sliders;
-#X msg 54 448 fogcolor 0 0 0;
-#X msg 59 338 fogmode 0;
-#N canvas 889 134 348 479 fog 0;
-#X obj 84 239 outlet;
-#X obj 100 101 hradio 15 1 0 4 empty empty empty 0 -6 0 10 -262144
--1 -1 0;
-#X msg 207 182 set fogmode \$1;
-#X obj 84 140 trigger bang float;
-#X connect 1 0 3 0;
-#X connect 2 0 0 0;
-#X connect 3 0 0 0;
-#X connect 3 1 2 0;
-#X coords 0 -1 1 1 60 13 1 100 100;
-#X restore 59 314 pd fog;
-#X msg 50 288 shininess 0;
-#N canvas 889 134 356 487 fog 0;
-#X obj 84 239 outlet;
-#X obj 84 140 trigger bang float;
-#X msg 207 182 set shininess \$1;
-#X obj 103 101 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 10 -262144
--1 -1 0 1;
-#X connect 1 0 0 0;
-#X connect 1 1 2 0;
-#X connect 2 0 0 0;
-#X connect 3 0 1 0;
-#X coords 0 -1 1 1 133 13 1 100 100;
-#X restore 50 266 pd fog;
-#X msg 60 388 fog 0;
-#N canvas 889 134 364 495 fog 0;
-#X obj 84 239 outlet;
-#X obj 84 140 trigger bang float;
-#X obj 103 101 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 10 -262144
--1 -1 0 1;
-#X msg 207 182 set fog \$1;
-#X connect 1 0 0 0;
-#X connect 1 1 3 0;
-#X connect 2 0 1 0;
-#X connect 3 0 0 0;
-#X coords 0 -1 1 1 133 13 1 100 100;
-#X restore 60 366 pd fog;
-#X obj 24 68 gemhead;
-#X obj 24 90 world_light;
-#X obj 24 475 s \$0-gemwin-in;
-#X text 23 34 Be careful: when you activate lighting \, you must have
-some lights to see something \, such as:;
-#X connect 8 0 9 0;
-#X connect 9 0 24 0;
-#X connect 10 0 11 0;
-#X connect 11 0 24 0;
-#X connect 12 0 13 0;
-#X connect 13 0 24 0;
-#X connect 14 0 15 0;
-#X connect 15 0 24 0;
-#X connect 16 0 24 0;
-#X connect 17 0 16 0;
-#X connect 18 0 24 0;
-#X connect 19 0 18 0;
-#X connect 20 0 24 0;
-#X connect 21 0 20 0;
-#X connect 22 0 23 0;
-#X restore 30 575 pd more lighting;
-#X obj 490 242 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X msg 490 261 color \$1 \$1 \$1;
-#X text 29 635 stereo 0|1|2|3 : set 3D stereo-mode to off(0) \, 2-screen-mode(1)
-\, Red/Green-mode(2);
-#N canvas 680 259 468 458 draw_geos 0;
-#X obj 64 53 gemhead;
-#X obj 244 55 gemhead;
-#X obj 244 159 rotateXYZ;
-#X obj 398 109 f;
-#X obj 398 158 % 360;
-#X obj 398 134 + 1;
-#X obj 398 86 metro 50;
-#X obj 64 92 color 0.8 0.8 0.8;
-#X obj 244 92 color 0.8 0.8 0.8;
-#X obj 64 188 cube 0.75;
-#X obj 64 118 translateXYZ 2 2 0;
-#X obj 244 117 translateXYZ 2 -2 0;
-#X obj 64 157 rotateXYZ 45 0 0;
-#X obj 244 190 square 0.75;
-#X obj 63 220 gemhead;
-#X obj 243 222 gemhead;
-#X obj 63 259 color 0.8 0.8 0.8;
-#X obj 243 259 color 0.8 0.8 0.8;
-#X obj 63 285 translateXYZ -2 2 0;
-#X obj 63 308 sphere 0.75 30;
-#X obj 243 284 translateXYZ -2 -2 0;
-#X obj 243 310 circle 0.75;
-#X obj 398 56 inlet;
-#X connect 0 0 7 0;
-#X connect 1 0 8 0;
-#X connect 2 0 13 0;
-#X connect 3 0 5 0;
-#X connect 4 0 3 1;
-#X connect 4 0 2 3;
-#X connect 4 0 12 3;
-#X connect 5 0 4 0;
-#X connect 6 0 3 0;
-#X connect 7 0 10 0;
-#X connect 8 0 11 0;
-#X connect 10 0 12 0;
-#X connect 11 0 2 0;
-#X connect 12 0 9 0;
-#X connect 14 0 16 0;
-#X connect 15 0 17 0;
-#X connect 16 0 18 0;
-#X connect 17 0 20 0;
-#X connect 18 0 19 0;
-#X connect 20 0 21 0;
-#X connect 22 0 6 0;
-#X restore 455 378 pd draw_geos;
-#X msg 472 152 create \, 1;
-#N canvas 255 86 448 630 buffering 0;
-#X msg 63 127 buffer 1;
-#X msg 78 152 buffer 2;
-#X text 134 127 single buffering;
-#X text 145 150 double buffering;
-#X msg 111 244 bang;
-#X text 152 254 swap the buffers (double buffer mode);
-#X text 151 235 clear the buffer (single buffer mode);
-#X text 30 16 messages to [gemwin] concerning the buffer rendering
-mode;
-#X msg 17 83 0 \, destroy;
-#X msg 117 198 create \, 1;
-#X text 195 197 ...and create it after;
-#X obj 33 283 s \$0-gemwin-in;
-#X text 95 84 destroy window before to set buffer mode...;
-#X text 30 323 When you are in single buffer mode \, you must bang
-the gemhead each time you want to draw. like:;
-#X obj 33 383 loadbang;
-#X msg 33 407 0;
-#X obj 33 436 gemhead;
-#X obj 149 383 metro 50;
-#X obj 149 364 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X obj 33 519 rotateXYZ;
-#X obj 176 426 f;
-#X obj 176 472 % 360;
-#X obj 33 580 square 0.75;
-#X obj 33 550 translateXYZ 2 0 0;
-#X text 172 363 toggle to draw;
-#X obj 176 448 + 1;
-#X obj 33 472 color 0.8 0.8 0.8;
-#X text 29 33 Changing the rendering mode must be done before the window
-is created in order to take effect.;
-#X obj 176 494 t f f;
-#X obj 149 405 t b b;
-#X connect 0 0 11 0;
-#X connect 1 0 11 0;
-#X connect 4 0 11 0;
-#X connect 8 0 11 0;
-#X connect 9 0 11 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 26 0;
-#X connect 17 0 29 0;
-#X connect 18 0 17 0;
-#X connect 19 0 23 0;
-#X connect 20 0 25 0;
-#X connect 21 0 28 0;
-#X connect 23 0 22 0;
-#X connect 25 0 21 0;
-#X connect 26 0 19 0;
-#X connect 28 0 19 3;
-#X connect 28 1 20 1;
-#X connect 29 0 16 0;
-#X connect 29 1 20 0;
-#X restore 355 405 pd buffering;
-#N canvas 556 191 548 430 stereo-3D 0;
-#X text 32 18 messages to [gemwin] regarding stereoscopic appearance:
-;
-#X msg 31 158 stereo \$1;
-#X obj 31 398 s \$0-gemwin-in;
-#X obj 31 60 vradio 15 1 0 4 empty empty empty 0 -8 0 10 -262144 -1
--1 0;
-#X text 54 77 2 screen mode;
-#X text 53 91 Red / Green mode;
-#X text 105 158 set stereo-mode;
-#X text 54 61 off;
-#X msg 48 210 stereoSep \$1;
-#X floatatom 48 188 5 0 0 0 - - -;
-#X text 137 209 set the stereo-separation (default: -15);
-#X msg 66 258 stereoFoc \$1;
-#X text 150 259 set the stereo-focal;
-#X floatatom 66 234 5 0 0 0 - - -;
-#X obj 80 283 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X text 174 297 turn the seperation-line between the 2 screens in stereo-mode
-1 on/off;
-#X msg 79 344 0 \, destroy;
-#X msg 79 369 create \, 1;
-#X text 157 345 destroy window before to set stereo...;
-#X text 157 368 ...and create it after;
-#X text 53 106 Crystal Glasses mode (needs hardware support!);
-#X msg 80 302 stereoLine \$1;
-#X connect 1 0 2 0;
-#X connect 3 0 1 0;
-#X connect 8 0 2 0;
-#X connect 9 0 8 0;
-#X connect 11 0 2 0;
-#X connect 13 0 11 0;
-#X connect 14 0 21 0;
-#X connect 16 0 2 0;
-#X connect 17 0 2 0;
-#X connect 21 0 2 0;
-#X restore 354 641 pd stereo-3D;
-#X text 464 132 basic create and start rendering;
-#X text 513 241 change background color;
-#X text 56 538 set the background color of the window (default 0 0
-0);
-#X text 30 238 dimen <x> <y>:;
-#X text 30 333 offset <x> <y>:;
-#X text 29 593 view <x> <y> <z> : translate the camera (default 0 0
-4);
-#N canvas 124 233 762 647 more 0;
-#X text 43 11 messages to [gemwin] regarding the view-point ("camera")
-;
-#X text 312 389 perspec <left> <right> <bottom> <top> <front> <back>::
-;
-#X text 311 407 set the clipping planes of the view-point. this might
-be what you need \, if all the objects that re further away than 20
-units suddenly disappear;
-#X text 311 449 default: -1 1 -1 1 1 20;
-#X text 208 51 view <x> <y> <z>::;
-#X text 208 70 translate the camera / set the viewpoint:: the viewing-direction
-will not be changed.;
-#X text 80 119 default: 0 0 4;
-#X text 208 98 the viewing direction defaults to "0 0 1" \, with y-axis
-as "up";
-#X text 303 167 view <x> <y> <z> <azimuth>::;
-#X text 303 184 view <x> <y> <z> <azimuth> <elevation>::;
-#X text 303 201 translate/rotate camera/viewpoint \; the "up" direction
-will still be the y-axis;
-#X text 389 284 view <view_x> <view_y> <view_z> <target_x> <target_y>
-<target_z> <up_x> <up_y> <up_z>::;
-#X text 389 314 set viewpoint (view_X view_Y view_Z). the camera will
-look at the target-point (target_X \, target_Y \, target_Z). "up" is
-defined via the vector (up_X \, up_Y \, up_Z);
-#X text 301 251 default: 0 0 4 0 0;
-#X text 389 355 default: 0 0 4 0 0 0 0 1 0;
-#X obj 25 588 s \$0-gemwin-in;
-#X msg 25 101 view \$1 \$2 \$3;
-#X msg 42 190 view \$1 \$2 \$3 \$4;
-#X msg 49 250 view \$1 \$2 \$3 \$4 \$5;
-#X msg 52 330 view \$1 \$2 \$3 \$4 \$5 \$6 \$7 \$8 \$9;
-#X msg 101 452 perspec \$1 \$2 \$3 \$4 \$5 \$6;
-#X text 310 467 if you want to remove perspective \, see [ortho];
-#X msg 66 563 view 0 0 20 \, perspec -1 1 -1 1 4 50;
-#N canvas 1299 508 544 500 perspec 0;
-#X obj 90 428 outlet;
-#X obj 268 273 t f f;
-#X obj 268 298 * -1;
-#X obj 90 268 t f f;
-#X obj 90 293 * -1;
-#X obj 90 367 pack -1 1 -1 1 1 20;
-#X msg 90 389 set perspec \$1 \$2 \$3 \$4 \$5 \$6 \, bang;
-#X msg 172 453 set perspec \, adddollar 1 \, adddollar 2 \, adddollar
-3 \, adddollar 4 \, adddollar 5 \, adddollar 6;
-#X floatatom 103 117 5 0.1 5 1 x_wideness - -;
-#X floatatom 103 134 5 0.1 5 1 y_wideness - -;
-#X floatatom 103 151 5 0 0 1 z_depth - -;
-#X obj 360 196 select 1;
-#X obj 405 219 t b f f;
-#X obj 249 226 t b f f;
-#X obj 204 203 select 0;
-#X obj 360 218 f 20;
-#X obj 204 224 f 1;
-#X msg 204 246 set \$1;
-#X msg 360 240 set \$1;
-#X obj 134 216 t b f f;
-#X obj 89 193 select 0;
-#X obj 89 214 f 1;
-#X msg 89 236 set \$1;
-#X obj 328 97 loadbang;
-#X obj 328 119 t b b;
-#X obj 328 141 t b b b;
-#X connect 1 0 2 0;
-#X connect 1 1 5 3;
-#X connect 2 0 5 2;
-#X connect 3 0 4 0;
-#X connect 3 1 5 1;
-#X connect 4 0 5 0;
-#X connect 5 0 6 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X connect 8 0 20 0;
-#X connect 9 0 14 0;
-#X connect 10 0 11 0;
-#X connect 11 0 15 0;
-#X connect 11 1 12 0;
-#X connect 12 0 5 0;
-#X connect 12 1 5 5;
-#X connect 12 2 15 1;
-#X connect 13 0 5 0;
-#X connect 13 1 1 0;
-#X connect 13 2 16 1;
-#X connect 14 0 16 0;
-#X connect 14 1 13 0;
-#X connect 15 0 18 0;
-#X connect 16 0 17 0;
-#X connect 17 0 9 0;
-#X connect 18 0 10 0;
-#X connect 19 1 3 0;
-#X connect 19 2 21 1;
-#X connect 20 0 21 0;
-#X connect 20 1 19 0;
-#X connect 21 0 22 0;
-#X connect 22 0 8 0;
-#X connect 23 0 24 0;
-#X connect 24 0 25 0;
-#X connect 24 1 7 0;
-#X connect 25 0 21 0;
-#X connect 25 1 16 0;
-#X connect 25 2 15 0;
-#X coords 0 -1 1 1 100 67 1 100 100;
-#X restore 101 380 pd perspec;
-#X text 292 554 the default camera has a very wide angle. this message
-allows to narrow it.;
-#N canvas 506 305 612 484 view 0;
-#X floatatom 112 114 5 0 0 0 x - -;
-#X floatatom 158 114 5 0 0 0 y - -;
-#X floatatom 201 114 5 0 0 0 z - -;
-#X floatatom 236 114 5 0 0 2 azimuth - -;
-#X obj 369 109 loadbang;
-#X obj 140 335 outlet;
-#X obj 201 226 t b f;
-#X obj 150 227 t b f;
-#X obj 369 131 t b b;
-#X msg 213 342 set view \, adddollar 1 \, adddollar 2 \, adddollar
-3 \, adddollar 4;
-#X obj 140 274 pack 0 0 4 0;
-#X obj 251 226 t b f;
-#X msg 398 196 set 4;
-#X msg 140 296 set view \$1 \$2 \$3 \$4 \, bang;
-#X connect 0 0 10 0;
-#X connect 1 0 7 0;
-#X connect 2 0 6 0;
-#X connect 3 0 11 0;
-#X connect 4 0 8 0;
-#X connect 6 0 10 0;
-#X connect 6 1 10 2;
-#X connect 7 0 10 0;
-#X connect 7 1 10 1;
-#X connect 8 0 12 0;
-#X connect 8 1 9 0;
-#X connect 9 0 5 0;
-#X connect 10 0 13 0;
-#X connect 11 0 10 0;
-#X connect 11 1 10 3;
-#X connect 12 0 2 0;
-#X connect 13 0 5 0;
-#X coords 0 -1 1 1 180 30 1 100 100;
-#X restore 42 156 pd view;
-#N canvas 508 299 612 484 view 0;
-#X floatatom 112 114 5 0 0 0 x - -;
-#X floatatom 158 114 5 0 0 0 y - -;
-#X floatatom 201 114 5 0 0 0 z - -;
-#X floatatom 236 114 5 0 0 2 azimuth - -;
-#X obj 369 109 loadbang;
-#X obj 140 335 outlet;
-#X obj 201 226 t b f;
-#X obj 150 227 t b f;
-#X obj 369 131 t b b;
-#X obj 251 226 t b f;
-#X msg 398 196 set 4;
-#X msg 140 296 set view \$1 \$2 \$3 \$4 \$5 \, bang;
-#X obj 140 274 pack 0 0 4 0 0;
-#X floatatom 286 114 5 0 0 2 elevate - -;
-#X obj 291 226 t b f;
-#X msg 213 342 set view \, adddollar 1 \, adddollar 2 \, adddollar
-3 \, adddollar 4 \, adddollar 5;
-#X connect 0 0 12 0;
-#X connect 1 0 7 0;
-#X connect 2 0 6 0;
-#X connect 3 0 9 0;
-#X connect 4 0 8 0;
-#X connect 6 0 12 0;
-#X connect 6 1 12 2;
-#X connect 7 0 12 0;
-#X connect 7 1 12 1;
-#X connect 8 0 10 0;
-#X connect 8 1 15 0;
-#X connect 9 0 12 0;
-#X connect 9 1 12 3;
-#X connect 10 0 2 0;
-#X connect 11 0 5 0;
-#X connect 12 0 11 0;
-#X connect 13 0 14 0;
-#X connect 14 0 12 0;
-#X connect 14 1 12 4;
-#X connect 15 0 5 0;
-#X coords 0 -1 1 1 230 30 1 100 100;
-#X restore 49 216 pd view;
-#N canvas 509 296 612 484 view 0;
-#X floatatom 112 114 5 0 0 0 x - -;
-#X floatatom 158 114 5 0 0 0 y - -;
-#X floatatom 201 114 5 0 0 0 z - -;
-#X obj 369 109 loadbang;
-#X obj 140 335 outlet;
-#X obj 201 226 t b f;
-#X obj 150 227 t b f;
-#X obj 369 131 t b b;
-#X msg 398 196 set 4;
-#X obj 140 274 pack 0 0 4;
-#X msg 140 296 set view \$1 \$2 \$3 \, bang;
-#X msg 213 342 set view \, adddollar 1 \, adddollar 2 \, adddollar
-3;
-#X connect 0 0 9 0;
-#X connect 1 0 6 0;
-#X connect 2 0 5 0;
-#X connect 3 0 7 0;
-#X connect 5 0 9 0;
-#X connect 5 1 9 2;
-#X connect 6 0 9 0;
-#X connect 6 1 9 1;
-#X connect 7 0 8 0;
-#X connect 7 1 11 0;
-#X connect 8 0 2 0;
-#X connect 9 0 10 0;
-#X connect 10 0 4 0;
-#X connect 11 0 4 0;
-#X coords 0 -1 1 1 140 30 1 100 100;
-#X restore 25 65 pd view;
-#N canvas 380 50 612 484 view 0;
-#X floatatom 214 114 5 0 0 2 X - -;
-#X obj 166 22 loadbang;
-#X obj 139 335 outlet;
-#X obj 174 177 t b f;
-#X obj 139 177 t b f;
-#X obj 214 177 t b f;
-#X msg 174 79 set 4;
-#X floatatom 249 114 5 0 0 2 Y - -;
-#X obj 249 177 t b f;
-#X obj 139 274 pack 0 0 4 0 0 0 0 1 0;
-#X floatatom 284 114 5 0 0 2 Z - -;
-#X floatatom 104 114 5 0 0 2 x - -;
-#X floatatom 139 114 5 0 0 2 y - -;
-#X floatatom 174 114 5 0 0 2 z - -;
-#X floatatom 324 114 5 0 0 2 upX - -;
-#X floatatom 359 114 5 0 0 2 upY - -;
-#X floatatom 394 114 5 0 0 2 upZ - -;
-#X obj 284 177 t b f;
-#X obj 324 177 t b f;
-#X obj 359 177 t b f;
-#X obj 394 177 t b f;
-#X obj 324 199 t b;
-#X obj 214 199 t b;
-#X msg 139 296 set view \$1 \$2 \$3 \$4 \$5 \$6 \$7 \$8 \$9 \, bang
-;
-#X msg 251 22 set view \, adddollar 1 \, adddollar 2 \, adddollar 3
-\, adddollar 4 \, adddollar 5 \, adddollar 6 \, adddollar 7 \, adddollar
-8 \, adddollar 9;
-#X obj 166 44 t b b b;
-#X msg 359 79 set 1;
-#X connect 0 0 5 0;
-#X connect 1 0 25 0;
-#X connect 3 0 9 0;
-#X connect 3 1 9 2;
-#X connect 4 0 9 0;
-#X connect 4 1 9 1;
-#X connect 5 0 22 0;
-#X connect 5 1 9 3;
-#X connect 6 0 13 0;
-#X connect 7 0 8 0;
-#X connect 8 0 22 0;
-#X connect 8 1 9 4;
-#X connect 9 0 23 0;
-#X connect 10 0 17 0;
-#X connect 11 0 9 0;
-#X connect 12 0 4 0;
-#X connect 13 0 3 0;
-#X connect 14 0 18 0;
-#X connect 15 0 19 0;
-#X connect 16 0 20 0;
-#X connect 17 0 22 0;
-#X connect 17 1 9 5;
-#X connect 18 0 21 0;
-#X connect 18 1 9 6;
-#X connect 19 0 21 0;
-#X connect 19 1 9 7;
-#X connect 20 0 21 0;
-#X connect 20 1 9 8;
-#X connect 21 0 22 0;
-#X connect 22 0 9 0;
-#X connect 23 0 2 0;
-#X connect 24 0 2 0;
-#X connect 25 0 6 0;
-#X connect 25 1 26 0;
-#X connect 25 2 24 0;
-#X connect 26 0 15 0;
-#X coords 0 -1 1 1 330 30 2 100 100;
-#X restore 52 296 pd view;
-#X text 309 229 azimuth and elevation are in degree [°];
-#X connect 16 0 15 0;
-#X connect 17 0 15 0;
-#X connect 18 0 15 0;
-#X connect 19 0 15 0;
-#X connect 20 0 15 0;
-#X connect 22 0 15 0;
-#X connect 23 0 20 0;
-#X connect 25 0 17 0;
-#X connect 26 0 18 0;
-#X connect 27 0 16 0;
-#X connect 28 0 19 0;
-#X restore 30 612 pd more viewing;
-#X text 17 211 message to send before creation :;
-#X text 17 462 message to send after creation :;
-#X text 29 387 buffer 2|1 : set buffer-rendering mode to double (default)
-or single (not clearing buffer);
-#X text 456 60 reset settings and;
-#X text 18 417 message regarding creation :;
-#X obj 455 356 tgl 15 1 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X text 474 357 rotate objects;
-#X text 554 196 destroy window;
-#X text 484 177 (stop rendering and);
-#X text 457 83 and start rendering;
-#X text 456 72 create window with specific size;
-#X text 29 522 color <r> <g> <b> :;
-#X connect 12 0 11 0;
-#X connect 13 0 11 0;
-#X connect 22 0 11 0;
-#X connect 36 0 37 0;
-#X connect 37 0 11 0;
-#X connect 40 0 11 0;
-#X connect 55 0 39 0;
+#N canvas 133 50 676 689 10;
+#X text 452 8 GEM object;
+#X obj 7 193 cnv 15 430 480 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 7 149 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 16 153 Arguments:;
+#X obj 7 53 cnv 15 430 90 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 54 cnv 15 210 350 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 451 28 Example:;
+#X obj 454 286 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X text 50 12 Synopsis: [gemwin];
+#X text 17 56 Description: access to the window manager;
+#X text 28 79 [gemwin] allows you to interact with Gem's output window.
+It passes various messages to the window manager \, controlling the
+attributes of the window and controls the render-cycle. Multiple instances
+of this object will interact with the same window.;
+#X obj 458 320 gemwin;
+#X msg 458 103 reset \, dimen 640 480 \, create \, 1;
+#X msg 486 195 0 \, destroy;
+#X text 16 196 Inlet 1:;
+#X text 30 225 reset : reset the graphics manager to the default values
+;
+#X text 29 432 create : create the graphics window;
+#X text 29 446 destroy : destroy the graphics window;
+#X text 30 479 float (1/0) : turn on/off rendering;
+#X text 30 493 print : show some information on the stderr;
+#X text 71 31 Class: window handling;
+#N canvas 361 97 456 455 FSAA 0;
+#X msg 48 222 0;
+#X msg 79 222 2;
+#X msg 108 222 4;
+#X text 54 129 2 - double resolution (4 times the pixel data);
+#X text 43 324 Full-scene anti-aliasing by supersampling usually means
+that each full frame is rendered at double (2x) or quadruple (4x) the
+display resolution \, and then down-sampled to match the display resolution.
+So a 4x FSAA would render 16 supersampled pixels for each single pixel
+of each frame.;
+#X text 54 189 8 - eight-times resolution (64 times the pixel data)
+;
+#X text 54 149 4 - quadruple resolution (16 times the pixel data);
+#X text 54 109 0 - turn off super sampling for anti-aliasing;
+#X text 43 405 http://en.wikipedia.org/wiki/Anti-aliasing#Full-scene_anti-aliasing
+;
+#X text 200 220 <-- destroy gemwin between clicking these;
+#X obj 90 299 s \$0-gemwin-in;
+#X text 54 168 5 - quadruple resolution (16 times the pixel data);
+#X text 33 6 Gem provides Full Scene Anti-Aliasing for smoothing out
+the edges of all things drawn in the OpenGL scene. To enable it \,
+send the "FSAA" message to the [gemwin] before creating it.;
+#X text 33 61 FSAA might or might not work depending on your graphic
+card \, the value of the parameter may also vary.;
+#X msg 169 222 8;
+#X msg 139 222 5;
+#X msg 90 272 destroy \, FSAA \$1 \, create \, 1;
+#X connect 0 0 16 0;
+#X connect 1 0 16 0;
+#X connect 2 0 16 0;
+#X connect 14 0 16 0;
+#X connect 15 0 16 0;
+#X connect 16 0 10 0;
+#X restore 356 269 pd FSAA;
+#X obj 471 294 r \$0-gemwin-in;
+#X text 29 285 fullscreen 0|1 : make fullscreen-window;
+#X text 57 302 (if possible with the dimensions passed via "dimen")
+;
+#N canvas 430 22 405 382 fullscreen 0;
+#X text -88 -108 fullscreen 0/1: make fullscreen-window (if possible
+with the dimensions passed via "dimen");
+#X text -88 -64 on platform's that support it (currently: Mac OS X)
+you can specify on which screen you want to go fullscreen (if you have
+several screens): e.g. "fullscreen 2" will make a fullscreen-window
+on Screen2;
+#X text -86 -130 FULLSCREEN SUPPORT;
+#X obj -85 -1 vradio 15 1 0 3 empty empty empty 0 -8 0 10 -262144 -1
+-1 0;
+#X floatatom -85 50 5 0 0 0 - - -;
+#X msg -85 71 reset \, fullscreen \$1 \, create \, 1;
+#X text -63 -4 deactivate fullscreen;
+#X text -64 13 fullscreen on screen 1;
+#X text -64 29 fullscreen on screen 2;
+#X msg -72 126 0 \, destroy;
+#X text -89 182 BE CAREFUL : when you are in fullscreen mode \, you
+have no more access to the other windows of your system.;
+#N canvas 107 24 450 300 esc 0;
+#X obj 65 20 gemkeyboard;
+#X obj 65 167 outlet;
+#X obj 89 71 keyname;
+#X obj 128 96 sel Escape;
+#X obj 65 41 sel 53;
+#X obj 189 47 sel Escape;
+#X obj 150 22 gemkeyname;
+#X connect 0 0 4 0;
+#X connect 2 1 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 1 5 0;
+#X restore -72 104 pd esc;
+#X obj -85 155 s \$0-gemwin-in;
+#X text 111 11 press ESC to quit;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 5 0 12 0;
+#X connect 9 0 12 0;
+#X connect 11 0 9 0;
+#X restore 356 288 pd fullscreen;
+#X text 57 253 the x and y dimensions of the window. (default 500 500)
+;
+#X text 30 166 number of frames per second (default 20);
+#X text 29 508 frame <number> : number of frames per second (default
+20);
+#X text 30 268 FSAA <number> : anti aliasing (default 0);
+#X text 30 318 border 1|0 : create a window with/out borders (default
+1);
+#X text 57 350 the x and y offset of the window. (default 0 0);
+#N canvas 641 438 406 148 offset 0;
+#X text 53 8 OFFSET SUPPORT;
+#X text 21 28 offset might not work on some window managers if the
+borders are on;
+#X text 20 55 under OSX you must take into account the number of pixel
+of the menubar \, title and eventually of your dock.;
+#X text 19 82 [offset 0 -60( with [menubar 0( is working in 10.6 to
+set the window in the top left of the screen;
+#X restore 356 334 pd offset;
+#N canvas 230 93 618 505 more 0;
+#X text 230 327 title <title_symbol>: set the title for the window
+;
+#X msg 121 327 title my_window;
+#X obj 94 187 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0
+1;
+#X msg 94 205 menubar \$1;
+#X msg 117 187 -1;
+#X text 188 190 menubar -1/0/1: hide or show the Mac OS X menubar \,
+1 shows \, 0 hides \, and -1 hides by default and shows on mouseover
+;
+#X msg 44 60 cursor \$1;
+#X obj 44 41 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0 1
+;
+#X text 139 59 cursor 0/1: turn the cursor on/off;
+#X obj 109 247 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0
+1;
+#X msg 109 266 topmost \$1;
+#X text 204 255 topmost 0/1: make the gemwin the top most window \,
+on top of everything else (Windows only?);
+#X msg 126 376 create remotehost:8.0;
+#X text 283 369 when using X-windows \, you can also create a window
+on a remote display!;
+#X obj 44 465 s \$0-gemwin-in;
+#X text 41 14 Other messages to [gemwin] regarding the window;
+#X msg 55 139 0 \, destroy;
+#X msg 110 438 create \, 1;
+#X text 188 437 ...and create it after;
+#X text 133 140 destroy window before setting window properties...
+;
+#X text 81 104 All of these messages must be sent to [gemwin] before
+the window is created in order to take effect:;
+#X connect 1 0 14 0;
+#X connect 2 0 3 0;
+#X connect 3 0 14 0;
+#X connect 4 0 3 0;
+#X connect 6 0 14 0;
+#X connect 7 0 6 0;
+#X connect 9 0 10 0;
+#X connect 10 0 14 0;
+#X connect 12 0 14 0;
+#X connect 16 0 14 0;
+#X connect 17 0 14 0;
+#X restore 30 367 pd more window properties;
+#X text 29 558 lighting 0|1 : turn lighting off/on (default 0);
+#N canvas 190 228 580 527 more 0;
+#X text 105 134 lighting 1/0 : turn lighting on/off;
+#X text 263 186 ambient R G B : the ambient lighting color;
+#X text 269 240 specular R G B : the specular lighting color;
+#X text 197 277 shininess num : the shininess value;
+#X text 132 326 fogmode 0/1/2/3 : set the fog mode (OFF/LINEAR/EXP/EXP^2)
+;
+#X text 298 447 fogcolor R G B : the color of the fog;
+#X text 219 367 fog num : the fog density;
+#X text 24 11 messages to the [gemwin] regarding lighting effects;
+#X obj 24 116 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0
+1;
+#X msg 24 134 lighting \$1;
+#N canvas 714 134 566 458 color 0;
+#X obj 103 100 hsl 128 15 0 1 0 0 empty empty R 12 8 1 12 -261689 -1
+-1 0 1;
+#X obj 236 100 hsl 128 15 0 1 0 0 empty empty G 12 8 1 12 -225271 -1
+-1 0 1;
+#X obj 370 100 hsl 128 15 0 1 0 0 empty empty B 12 8 1 12 -228992 -1
+-1 0 1;
+#X obj 100 329 outlet;
+#X obj 132 253 list;
+#X msg 132 273 set ambient \$1 \$2 \$3;
+#X obj 233 144 t b f;
+#X obj 367 144 t b f;
+#X obj 100 201 pack 0 0 0;
+#X obj 100 230 t b a;
+#X connect 0 0 8 0;
+#X connect 1 0 6 0;
+#X connect 2 0 7 0;
+#X connect 4 0 5 0;
+#X connect 5 0 3 0;
+#X connect 6 0 8 0;
+#X connect 6 1 8 1;
+#X connect 7 0 8 0;
+#X connect 7 1 8 2;
+#X connect 8 0 9 0;
+#X connect 9 0 3 0;
+#X connect 9 1 4 0;
+#X coords 0 -1 1 1 400 13 1 100 100;
+#X restore 35 165 pd color sliders;
+#X msg 35 187 ambient 0 0 0;
+#N canvas 714 134 566 366 color 0;
+#X obj 103 100 hsl 128 15 0 1 0 0 empty empty R 12 8 1 12 -261689 -1
+-1 0 1;
+#X obj 236 100 hsl 128 15 0 1 0 0 empty empty G 12 8 1 12 -225271 -1
+-1 0 1;
+#X obj 370 100 hsl 128 15 0 1 0 0 empty empty B 12 8 1 12 -228992 -1
+-1 0 1;
+#X obj 100 299 outlet;
+#X obj 132 223 list;
+#X msg 132 242 set specular \$1 \$2 \$3;
+#X obj 233 124 t b f;
+#X obj 367 124 t b f;
+#X obj 100 171 pack 0 0 0;
+#X obj 100 199 t b a;
+#X connect 0 0 8 0;
+#X connect 1 0 6 0;
+#X connect 2 0 7 0;
+#X connect 4 0 5 0;
+#X connect 5 0 3 0;
+#X connect 6 0 8 0;
+#X connect 6 1 8 1;
+#X connect 7 0 8 0;
+#X connect 7 1 8 2;
+#X connect 8 0 9 0;
+#X connect 9 0 3 0;
+#X connect 9 1 4 0;
+#X coords 0 -1 1 1 400 13 1 100 100;
+#X restore 42 219 pd color sliders;
+#X msg 42 241 specular 0 0 0;
+#N canvas 710 134 570 462 color 0;
+#X obj 103 100 hsl 128 15 0 1 0 0 empty empty R 12 8 1 12 -261689 -1
+-1 0 1;
+#X obj 236 100 hsl 128 15 0 1 0 0 empty empty G 12 8 1 12 -225271 -1
+-1 0 1;
+#X obj 370 100 hsl 128 15 0 1 0 0 empty empty B 12 8 1 12 -228992 -1
+-1 0 1;
+#X obj 100 299 outlet;
+#X obj 132 223 list;
+#X msg 132 242 set fogcolor \$1 \$2 \$3;
+#X obj 233 125 t b f;
+#X obj 367 125 t b f;
+#X obj 100 171 pack 0 0 0;
+#X obj 100 200 t b a;
+#X connect 0 0 8 0;
+#X connect 1 0 6 0;
+#X connect 2 0 7 0;
+#X connect 4 0 5 0;
+#X connect 5 0 3 0;
+#X connect 6 0 8 0;
+#X connect 6 1 8 1;
+#X connect 7 0 8 0;
+#X connect 7 1 8 2;
+#X connect 8 0 9 0;
+#X connect 9 0 3 0;
+#X connect 9 1 4 0;
+#X coords 0 -1 1 1 400 13 1 100 100;
+#X restore 54 426 pd color sliders;
+#X msg 54 448 fogcolor 0 0 0;
+#X msg 59 338 fogmode 0;
+#N canvas 889 134 348 479 fog 0;
+#X obj 84 239 outlet;
+#X obj 100 101 hradio 15 1 0 4 empty empty empty 0 -6 0 10 -262144
+-1 -1 0;
+#X msg 207 182 set fogmode \$1;
+#X obj 84 140 trigger bang float;
+#X connect 1 0 3 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 0;
+#X connect 3 1 2 0;
+#X coords 0 -1 1 1 60 13 1 100 100;
+#X restore 59 314 pd fog;
+#X msg 50 288 shininess 0;
+#N canvas 889 134 356 487 fog 0;
+#X obj 84 239 outlet;
+#X obj 84 140 trigger bang float;
+#X msg 207 182 set shininess \$1;
+#X obj 103 101 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 10 -262144
+-1 -1 0 1;
+#X connect 1 0 0 0;
+#X connect 1 1 2 0;
+#X connect 2 0 0 0;
+#X connect 3 0 1 0;
+#X coords 0 -1 1 1 133 13 1 100 100;
+#X restore 50 266 pd fog;
+#X msg 60 388 fog 0;
+#N canvas 889 134 364 495 fog 0;
+#X obj 84 239 outlet;
+#X obj 84 140 trigger bang float;
+#X obj 103 101 hsl 128 15 0 1 0 0 empty empty empty -2 -6 0 10 -262144
+-1 -1 0 1;
+#X msg 207 182 set fog \$1;
+#X connect 1 0 0 0;
+#X connect 1 1 3 0;
+#X connect 2 0 1 0;
+#X connect 3 0 0 0;
+#X coords 0 -1 1 1 133 13 1 100 100;
+#X restore 60 366 pd fog;
+#X obj 24 68 gemhead;
+#X obj 24 90 world_light;
+#X obj 24 475 s \$0-gemwin-in;
+#X text 23 34 Be careful: when you activate lighting \, you must have
+some lights to see something \, such as:;
+#X connect 8 0 9 0;
+#X connect 9 0 24 0;
+#X connect 10 0 11 0;
+#X connect 11 0 24 0;
+#X connect 12 0 13 0;
+#X connect 13 0 24 0;
+#X connect 14 0 15 0;
+#X connect 15 0 24 0;
+#X connect 16 0 24 0;
+#X connect 17 0 16 0;
+#X connect 18 0 24 0;
+#X connect 19 0 18 0;
+#X connect 20 0 24 0;
+#X connect 21 0 20 0;
+#X connect 22 0 23 0;
+#X restore 30 575 pd more lighting;
+#X obj 490 242 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X msg 490 261 color \$1 \$1 \$1;
+#X text 29 635 stereo 0|1|2|3 : set 3D stereo-mode to off(0) \, 2-screen-mode(1)
+\, Red/Green-mode(2);
+#N canvas 680 259 468 458 draw_geos 0;
+#X obj 64 53 gemhead;
+#X obj 244 55 gemhead;
+#X obj 244 159 rotateXYZ;
+#X obj 398 109 f;
+#X obj 398 158 % 360;
+#X obj 398 134 + 1;
+#X obj 398 86 metro 50;
+#X obj 64 92 color 0.8 0.8 0.8;
+#X obj 244 92 color 0.8 0.8 0.8;
+#X obj 64 188 cube 0.75;
+#X obj 64 118 translateXYZ 2 2 0;
+#X obj 244 117 translateXYZ 2 -2 0;
+#X obj 64 157 rotateXYZ 45 0 0;
+#X obj 244 190 square 0.75;
+#X obj 63 220 gemhead;
+#X obj 243 222 gemhead;
+#X obj 63 259 color 0.8 0.8 0.8;
+#X obj 243 259 color 0.8 0.8 0.8;
+#X obj 63 285 translateXYZ -2 2 0;
+#X obj 63 308 sphere 0.75 30;
+#X obj 243 284 translateXYZ -2 -2 0;
+#X obj 243 310 circle 0.75;
+#X obj 398 56 inlet;
+#X connect 0 0 7 0;
+#X connect 1 0 8 0;
+#X connect 2 0 13 0;
+#X connect 3 0 5 0;
+#X connect 4 0 3 1;
+#X connect 4 0 2 3;
+#X connect 4 0 12 3;
+#X connect 5 0 4 0;
+#X connect 6 0 3 0;
+#X connect 7 0 10 0;
+#X connect 8 0 11 0;
+#X connect 10 0 12 0;
+#X connect 11 0 2 0;
+#X connect 12 0 9 0;
+#X connect 14 0 16 0;
+#X connect 15 0 17 0;
+#X connect 16 0 18 0;
+#X connect 17 0 20 0;
+#X connect 18 0 19 0;
+#X connect 20 0 21 0;
+#X connect 22 0 6 0;
+#X restore 455 378 pd draw_geos;
+#X msg 472 152 create \, 1;
+#N canvas 255 86 448 630 buffering 0;
+#X msg 63 127 buffer 1;
+#X msg 78 152 buffer 2;
+#X text 134 127 single buffering;
+#X text 145 150 double buffering;
+#X msg 111 244 bang;
+#X text 152 254 swap the buffers (double buffer mode);
+#X text 151 235 clear the buffer (single buffer mode);
+#X text 30 16 messages to [gemwin] concerning the buffer rendering
+mode;
+#X msg 17 83 0 \, destroy;
+#X msg 117 198 create \, 1;
+#X text 195 197 ...and create it after;
+#X obj 33 283 s \$0-gemwin-in;
+#X text 95 84 destroy window before to set buffer mode...;
+#X text 30 323 When you are in single buffer mode \, you must bang
+the gemhead each time you want to draw. like:;
+#X obj 33 383 loadbang;
+#X msg 33 407 0;
+#X obj 33 436 gemhead;
+#X obj 149 383 metro 50;
+#X obj 149 364 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X obj 33 519 rotateXYZ;
+#X obj 176 426 f;
+#X obj 176 472 % 360;
+#X obj 33 580 square 0.75;
+#X obj 33 550 translateXYZ 2 0 0;
+#X text 172 363 toggle to draw;
+#X obj 176 448 + 1;
+#X obj 33 472 color 0.8 0.8 0.8;
+#X text 29 33 Changing the rendering mode must be done before the window
+is created in order to take effect.;
+#X obj 176 494 t f f;
+#X obj 149 405 t b b;
+#X connect 0 0 11 0;
+#X connect 1 0 11 0;
+#X connect 4 0 11 0;
+#X connect 8 0 11 0;
+#X connect 9 0 11 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 26 0;
+#X connect 17 0 29 0;
+#X connect 18 0 17 0;
+#X connect 19 0 23 0;
+#X connect 20 0 25 0;
+#X connect 21 0 28 0;
+#X connect 23 0 22 0;
+#X connect 25 0 21 0;
+#X connect 26 0 19 0;
+#X connect 28 0 19 3;
+#X connect 28 1 20 1;
+#X connect 29 0 16 0;
+#X connect 29 1 20 0;
+#X restore 355 405 pd buffering;
+#N canvas 556 191 548 430 stereo-3D 0;
+#X text 32 18 messages to [gemwin] regarding stereoscopic appearance:
+;
+#X msg 31 158 stereo \$1;
+#X obj 31 398 s \$0-gemwin-in;
+#X obj 31 60 vradio 15 1 0 4 empty empty empty 0 -8 0 10 -262144 -1
+-1 0;
+#X text 54 77 2 screen mode;
+#X text 53 91 Red / Green mode;
+#X text 105 158 set stereo-mode;
+#X text 54 61 off;
+#X msg 48 210 stereoSep \$1;
+#X floatatom 48 188 5 0 0 0 - - -;
+#X text 137 209 set the stereo-separation (default: -15);
+#X msg 66 258 stereoFoc \$1;
+#X text 150 259 set the stereo-focal;
+#X floatatom 66 234 5 0 0 0 - - -;
+#X obj 80 283 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X text 174 297 turn the seperation-line between the 2 screens in stereo-mode
+1 on/off;
+#X msg 79 344 0 \, destroy;
+#X msg 79 369 create \, 1;
+#X text 157 345 destroy window before to set stereo...;
+#X text 157 368 ...and create it after;
+#X text 53 106 Crystal Glasses mode (needs hardware support!);
+#X msg 80 302 stereoLine \$1;
+#X connect 1 0 2 0;
+#X connect 3 0 1 0;
+#X connect 8 0 2 0;
+#X connect 9 0 8 0;
+#X connect 11 0 2 0;
+#X connect 13 0 11 0;
+#X connect 14 0 21 0;
+#X connect 16 0 2 0;
+#X connect 17 0 2 0;
+#X connect 21 0 2 0;
+#X restore 354 641 pd stereo-3D;
+#X text 464 132 basic create and start rendering;
+#X text 513 241 change background color;
+#X text 56 538 set the background color of the window (default 0 0
+0);
+#X text 30 238 dimen <x> <y>:;
+#X text 30 333 offset <x> <y>:;
+#X text 29 593 view <x> <y> <z> : translate the camera (default 0 0
+4);
+#N canvas 124 233 762 647 more 0;
+#X text 43 11 messages to [gemwin] regarding the view-point ("camera")
+;
+#X text 312 389 perspec <left> <right> <bottom> <top> <front> <back>::
+;
+#X text 311 407 set the clipping planes of the view-point. this might
+be what you need \, if all the objects that re further away than 20
+units suddenly disappear;
+#X text 311 449 default: -1 1 -1 1 1 20;
+#X text 208 51 view <x> <y> <z>::;
+#X text 208 70 translate the camera / set the viewpoint:: the viewing-direction
+will not be changed.;
+#X text 80 119 default: 0 0 4;
+#X text 208 98 the viewing direction defaults to "0 0 1" \, with y-axis
+as "up";
+#X text 303 167 view <x> <y> <z> <azimuth>::;
+#X text 303 184 view <x> <y> <z> <azimuth> <elevation>::;
+#X text 303 201 translate/rotate camera/viewpoint \; the "up" direction
+will still be the y-axis;
+#X text 389 284 view <view_x> <view_y> <view_z> <target_x> <target_y>
+<target_z> <up_x> <up_y> <up_z>::;
+#X text 389 314 set viewpoint (view_X view_Y view_Z). the camera will
+look at the target-point (target_X \, target_Y \, target_Z). "up" is
+defined via the vector (up_X \, up_Y \, up_Z);
+#X text 301 251 default: 0 0 4 0 0;
+#X text 389 355 default: 0 0 4 0 0 0 0 1 0;
+#X obj 25 588 s \$0-gemwin-in;
+#X msg 25 101 view \$1 \$2 \$3;
+#X msg 42 190 view \$1 \$2 \$3 \$4;
+#X msg 49 250 view \$1 \$2 \$3 \$4 \$5;
+#X msg 52 330 view \$1 \$2 \$3 \$4 \$5 \$6 \$7 \$8 \$9;
+#X msg 101 452 perspec \$1 \$2 \$3 \$4 \$5 \$6;
+#X text 310 467 if you want to remove perspective \, see [ortho];
+#X msg 66 563 view 0 0 20 \, perspec -1 1 -1 1 4 50;
+#N canvas 1299 508 544 500 perspec 0;
+#X obj 90 428 outlet;
+#X obj 268 273 t f f;
+#X obj 268 298 * -1;
+#X obj 90 268 t f f;
+#X obj 90 293 * -1;
+#X obj 90 367 pack -1 1 -1 1 1 20;
+#X msg 90 389 set perspec \$1 \$2 \$3 \$4 \$5 \$6 \, bang;
+#X msg 172 453 set perspec \, adddollar 1 \, adddollar 2 \, adddollar
+3 \, adddollar 4 \, adddollar 5 \, adddollar 6;
+#X floatatom 103 117 5 0.1 5 1 x_wideness - -;
+#X floatatom 103 134 5 0.1 5 1 y_wideness - -;
+#X floatatom 103 151 5 0 0 1 z_depth - -;
+#X obj 360 196 select 1;
+#X obj 405 219 t b f f;
+#X obj 249 226 t b f f;
+#X obj 204 203 select 0;
+#X obj 360 218 f 20;
+#X obj 204 224 f 1;
+#X msg 204 246 set \$1;
+#X msg 360 240 set \$1;
+#X obj 134 216 t b f f;
+#X obj 89 193 select 0;
+#X obj 89 214 f 1;
+#X msg 89 236 set \$1;
+#X obj 328 97 loadbang;
+#X obj 328 119 t b b;
+#X obj 328 141 t b b b;
+#X connect 1 0 2 0;
+#X connect 1 1 5 3;
+#X connect 2 0 5 2;
+#X connect 3 0 4 0;
+#X connect 3 1 5 1;
+#X connect 4 0 5 0;
+#X connect 5 0 6 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 20 0;
+#X connect 9 0 14 0;
+#X connect 10 0 11 0;
+#X connect 11 0 15 0;
+#X connect 11 1 12 0;
+#X connect 12 0 5 0;
+#X connect 12 1 5 5;
+#X connect 12 2 15 1;
+#X connect 13 0 5 0;
+#X connect 13 1 1 0;
+#X connect 13 2 16 1;
+#X connect 14 0 16 0;
+#X connect 14 1 13 0;
+#X connect 15 0 18 0;
+#X connect 16 0 17 0;
+#X connect 17 0 9 0;
+#X connect 18 0 10 0;
+#X connect 19 1 3 0;
+#X connect 19 2 21 1;
+#X connect 20 0 21 0;
+#X connect 20 1 19 0;
+#X connect 21 0 22 0;
+#X connect 22 0 8 0;
+#X connect 23 0 24 0;
+#X connect 24 0 25 0;
+#X connect 24 1 7 0;
+#X connect 25 0 21 0;
+#X connect 25 1 16 0;
+#X connect 25 2 15 0;
+#X coords 0 -1 1 1 100 67 1 100 100;
+#X restore 101 380 pd perspec;
+#X text 292 554 the default camera has a very wide angle. this message
+allows to narrow it.;
+#N canvas 506 305 612 484 view 0;
+#X floatatom 112 114 5 0 0 0 x - -;
+#X floatatom 158 114 5 0 0 0 y - -;
+#X floatatom 201 114 5 0 0 0 z - -;
+#X floatatom 236 114 5 0 0 2 azimuth - -;
+#X obj 369 109 loadbang;
+#X obj 140 335 outlet;
+#X obj 201 226 t b f;
+#X obj 150 227 t b f;
+#X obj 369 131 t b b;
+#X msg 213 342 set view \, adddollar 1 \, adddollar 2 \, adddollar
+3 \, adddollar 4;
+#X obj 140 274 pack 0 0 4 0;
+#X obj 251 226 t b f;
+#X msg 398 196 set 4;
+#X msg 140 296 set view \$1 \$2 \$3 \$4 \, bang;
+#X connect 0 0 10 0;
+#X connect 1 0 7 0;
+#X connect 2 0 6 0;
+#X connect 3 0 11 0;
+#X connect 4 0 8 0;
+#X connect 6 0 10 0;
+#X connect 6 1 10 2;
+#X connect 7 0 10 0;
+#X connect 7 1 10 1;
+#X connect 8 0 12 0;
+#X connect 8 1 9 0;
+#X connect 9 0 5 0;
+#X connect 10 0 13 0;
+#X connect 11 0 10 0;
+#X connect 11 1 10 3;
+#X connect 12 0 2 0;
+#X connect 13 0 5 0;
+#X coords 0 -1 1 1 180 30 1 100 100;
+#X restore 42 156 pd view;
+#N canvas 508 299 612 484 view 0;
+#X floatatom 112 114 5 0 0 0 x - -;
+#X floatatom 158 114 5 0 0 0 y - -;
+#X floatatom 201 114 5 0 0 0 z - -;
+#X floatatom 236 114 5 0 0 2 azimuth - -;
+#X obj 369 109 loadbang;
+#X obj 140 335 outlet;
+#X obj 201 226 t b f;
+#X obj 150 227 t b f;
+#X obj 369 131 t b b;
+#X obj 251 226 t b f;
+#X msg 398 196 set 4;
+#X msg 140 296 set view \$1 \$2 \$3 \$4 \$5 \, bang;
+#X obj 140 274 pack 0 0 4 0 0;
+#X floatatom 286 114 5 0 0 2 elevate - -;
+#X obj 291 226 t b f;
+#X msg 213 342 set view \, adddollar 1 \, adddollar 2 \, adddollar
+3 \, adddollar 4 \, adddollar 5;
+#X connect 0 0 12 0;
+#X connect 1 0 7 0;
+#X connect 2 0 6 0;
+#X connect 3 0 9 0;
+#X connect 4 0 8 0;
+#X connect 6 0 12 0;
+#X connect 6 1 12 2;
+#X connect 7 0 12 0;
+#X connect 7 1 12 1;
+#X connect 8 0 10 0;
+#X connect 8 1 15 0;
+#X connect 9 0 12 0;
+#X connect 9 1 12 3;
+#X connect 10 0 2 0;
+#X connect 11 0 5 0;
+#X connect 12 0 11 0;
+#X connect 13 0 14 0;
+#X connect 14 0 12 0;
+#X connect 14 1 12 4;
+#X connect 15 0 5 0;
+#X coords 0 -1 1 1 230 30 1 100 100;
+#X restore 49 216 pd view;
+#N canvas 509 296 612 484 view 0;
+#X floatatom 112 114 5 0 0 0 x - -;
+#X floatatom 158 114 5 0 0 0 y - -;
+#X floatatom 201 114 5 0 0 0 z - -;
+#X obj 369 109 loadbang;
+#X obj 140 335 outlet;
+#X obj 201 226 t b f;
+#X obj 150 227 t b f;
+#X obj 369 131 t b b;
+#X msg 398 196 set 4;
+#X obj 140 274 pack 0 0 4;
+#X msg 140 296 set view \$1 \$2 \$3 \, bang;
+#X msg 213 342 set view \, adddollar 1 \, adddollar 2 \, adddollar
+3;
+#X connect 0 0 9 0;
+#X connect 1 0 6 0;
+#X connect 2 0 5 0;
+#X connect 3 0 7 0;
+#X connect 5 0 9 0;
+#X connect 5 1 9 2;
+#X connect 6 0 9 0;
+#X connect 6 1 9 1;
+#X connect 7 0 8 0;
+#X connect 7 1 11 0;
+#X connect 8 0 2 0;
+#X connect 9 0 10 0;
+#X connect 10 0 4 0;
+#X connect 11 0 4 0;
+#X coords 0 -1 1 1 140 30 1 100 100;
+#X restore 25 65 pd view;
+#N canvas 380 50 612 484 view 0;
+#X floatatom 214 114 5 0 0 2 X - -;
+#X obj 166 22 loadbang;
+#X obj 139 335 outlet;
+#X obj 174 177 t b f;
+#X obj 139 177 t b f;
+#X obj 214 177 t b f;
+#X msg 174 79 set 4;
+#X floatatom 249 114 5 0 0 2 Y - -;
+#X obj 249 177 t b f;
+#X obj 139 274 pack 0 0 4 0 0 0 0 1 0;
+#X floatatom 284 114 5 0 0 2 Z - -;
+#X floatatom 104 114 5 0 0 2 x - -;
+#X floatatom 139 114 5 0 0 2 y - -;
+#X floatatom 174 114 5 0 0 2 z - -;
+#X floatatom 324 114 5 0 0 2 upX - -;
+#X floatatom 359 114 5 0 0 2 upY - -;
+#X floatatom 394 114 5 0 0 2 upZ - -;
+#X obj 284 177 t b f;
+#X obj 324 177 t b f;
+#X obj 359 177 t b f;
+#X obj 394 177 t b f;
+#X obj 324 199 t b;
+#X obj 214 199 t b;
+#X msg 139 296 set view \$1 \$2 \$3 \$4 \$5 \$6 \$7 \$8 \$9 \, bang
+;
+#X msg 251 22 set view \, adddollar 1 \, adddollar 2 \, adddollar 3
+\, adddollar 4 \, adddollar 5 \, adddollar 6 \, adddollar 7 \, adddollar
+8 \, adddollar 9;
+#X obj 166 44 t b b b;
+#X msg 359 79 set 1;
+#X connect 0 0 5 0;
+#X connect 1 0 25 0;
+#X connect 3 0 9 0;
+#X connect 3 1 9 2;
+#X connect 4 0 9 0;
+#X connect 4 1 9 1;
+#X connect 5 0 22 0;
+#X connect 5 1 9 3;
+#X connect 6 0 13 0;
+#X connect 7 0 8 0;
+#X connect 8 0 22 0;
+#X connect 8 1 9 4;
+#X connect 9 0 23 0;
+#X connect 10 0 17 0;
+#X connect 11 0 9 0;
+#X connect 12 0 4 0;
+#X connect 13 0 3 0;
+#X connect 14 0 18 0;
+#X connect 15 0 19 0;
+#X connect 16 0 20 0;
+#X connect 17 0 22 0;
+#X connect 17 1 9 5;
+#X connect 18 0 21 0;
+#X connect 18 1 9 6;
+#X connect 19 0 21 0;
+#X connect 19 1 9 7;
+#X connect 20 0 21 0;
+#X connect 20 1 9 8;
+#X connect 21 0 22 0;
+#X connect 22 0 9 0;
+#X connect 23 0 2 0;
+#X connect 24 0 2 0;
+#X connect 25 0 6 0;
+#X connect 25 1 26 0;
+#X connect 25 2 24 0;
+#X connect 26 0 15 0;
+#X coords 0 -1 1 1 330 30 2 100 100;
+#X restore 52 296 pd view;
+#X text 309 229 azimuth and elevation are in degree [°];
+#X connect 16 0 15 0;
+#X connect 17 0 15 0;
+#X connect 18 0 15 0;
+#X connect 19 0 15 0;
+#X connect 20 0 15 0;
+#X connect 22 0 15 0;
+#X connect 23 0 20 0;
+#X connect 25 0 17 0;
+#X connect 26 0 18 0;
+#X connect 27 0 16 0;
+#X connect 28 0 19 0;
+#X restore 30 612 pd more viewing;
+#X text 17 211 message to send before creation :;
+#X text 17 462 message to send after creation :;
+#X text 29 387 buffer 2|1 : set buffer-rendering mode to double (default)
+or single (not clearing buffer);
+#X text 456 60 reset settings and;
+#X text 18 417 message regarding creation :;
+#X obj 455 356 tgl 15 1 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X text 474 357 rotate objects;
+#X text 554 196 destroy window;
+#X text 484 177 (stop rendering and);
+#X text 457 83 and start rendering;
+#X text 456 72 create window with specific size;
+#X text 29 522 color <r> <g> <b> :;
+#X connect 12 0 11 0;
+#X connect 13 0 11 0;
+#X connect 22 0 11 0;
+#X connect 36 0 37 0;
+#X connect 37 0 11 0;
+#X connect 40 0 11 0;
+#X connect 55 0 39 0;
diff --git a/packages/noncvs/windows/extra/Gem/gemwin.pd b/packages/noncvs/windows/extra/Gem/gemwin.pd
index 313e59d2..cb60fc68 100644
--- a/packages/noncvs/windows/extra/Gem/gemwin.pd
+++ b/packages/noncvs/windows/extra/Gem/gemwin.pd
@@ -1,2802 +1,2802 @@
-#N canvas 84 45 937 526 10;
-#X obj 126 104 inlet;
-#X obj 119 508 outlet;
-#N canvas 3 45 1018 458 argument 0;
-#X obj 291 213 list append \$1;
-#X obj 291 234 route float;
-#X obj 312 33 inlet;
-#X obj 291 256 * -1;
-#X obj 291 276 moses;
-#X obj 291 298 * -1;
-#X msg 365 303 20;
-#X obj 365 278 t b;
-#X obj 291 337 t f;
-#X obj 291 375 s \$0-rate;
-#X obj 678 271 list prepend \$2;
-#X obj 599 388 symbol;
-#X obj 599 151 t b b;
-#X obj 599 225 select sym;
-#X obj 599 203 symbol \$2_;
-#X obj 670 203 makefilename %s2_;
-#X msg 670 176 symbol $;
-#X msg 599 347 __gem_render;
-#X msg 678 347 __gem_render\$1;
-#X obj 678 249 t b;
-#X obj 291 98 t b b;
-#X obj 599 410 s \$0-gemheadbasename;
-#X connect 0 0 1 0;
-#X connect 1 0 3 0;
-#X connect 1 1 7 0;
-#X connect 2 0 20 0;
-#X connect 3 0 4 0;
-#X connect 4 0 5 0;
-#X connect 4 1 6 0;
-#X connect 5 0 8 0;
-#X connect 6 0 8 0;
-#X connect 7 0 6 0;
-#X connect 8 0 9 0;
-#X connect 10 0 18 0;
-#X connect 11 0 21 0;
-#X connect 12 0 14 0;
-#X connect 12 1 16 0;
-#X connect 13 0 17 0;
-#X connect 13 1 19 0;
-#X connect 14 0 13 0;
-#X connect 15 0 13 1;
-#X connect 16 0 15 0;
-#X connect 17 0 11 0;
-#X connect 18 0 11 0;
-#X connect 19 0 10 0;
-#X connect 20 0 0 0;
-#X connect 20 1 12 0;
-#X restore 390 87 pd argument;
-#N canvas 1569 63 991 633 messages 0;
-#X text 94 19 bang float render title create createStereo createstereo
-buffer fullscreen menubar secondscreen dimen offset color clearmask
-perspec view fog fogcolor fogmode ambient specular shininess cursor
-blur reset destroy print profile lighting stereo stereoSep stereosep
-stereoFoc stereofoc stereoLine stereoline border frame fps topmost
-FSAA;
-#X text 66 132 window specific:;
-#X text 113 152 title create buffer fullscreen menubar secondscreen
-dimen offset cursor reset destroy print border topmost FSAA;
-#X text 121 217 createStereo createstereo stereo stereoSep stereosep
-stereoFoc stereofoc stereoLine stereoline;
-#X text 72 339 lighting/color:;
-#X text 128 293 view perspec;
-#X text 120 356 color clearmask ambient specular shininess lighting
-;
-#X text 106 413 fog fogcolor fogmode;
-#X text 73 390 fog:;
-#X text 70 275 viewpoint:;
-#X text 66 203 stereo:;
-#X text 80 471 bang float render buffer blur reset destroy print profile
-frame fps;
-#X text 72 452 misc:;
-#X text 66 524 multiple:;
-#X text 106 544 buffer reset print;
-#X text 71 589 unused:;
-#X text 112 604 blur;
-#X restore 230 59 pd messages;
-#N canvas 124 50 901 630 window 0;
-#X obj 282 340 t a;
-#X obj 282 389 t a;
-#X obj 282 574 outlet;
-#X text 417 23 messages to be understood:;
-#N canvas 0 0 450 300 messages 0;
-#X text 22 100 create destroy dimen offset secondscreen fullscreen
-cursor menubar border title topmost buffer reset print FSAA;
-#X restore 639 19 pd messages;
-#X text 458 91 create destroy;
-#X text 459 112 cursor menubar topmost;
-#X text 459 51 dimen offset secondscreen fullscreen border title;
-#X text 459 71 buffer FSAA;
-#X text 460 131 reset;
-#X text 462 150 print;
-#X text 350 70 rendercontext:;
-#X text 335 92 window creation:;
-#X text 333 111 live decoration:;
-#X text 318 50 window-decoration:;
-#X text 333 131 default:;
-#X text 333 154 info:;
-#N canvas 0 0 450 399 creation/destruction 0;
-#X obj 96 221 list prepend create;
-#X obj 96 303 outlet gemwin;
-#X obj 96 272 t a;
-#X obj 96 196 r \$0-create;
-#X obj 275 197 r \$0-destroy;
-#X msg 275 221 destroy;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 0 0;
-#X connect 4 0 5 0;
-#X connect 5 0 2 0;
-#X restore 124 201 pd creation/destruction;
-#N canvas 271 109 611 377 window-decoration 0;
-#X obj 451 282 outlet gemwin;
-#X text 125 101 size;
-#X text 112 167 position;
-#X text 112 229 decoration;
-#X obj 204 88 r \$0-dimen;
-#X msg 204 116 dimen \$1 \$2;
-#X obj 301 88 r \$0-fullscreen;
-#X msg 301 116 fullscreen \$1;
-#X obj 206 151 r \$0-offset;
-#X msg 206 179 offset \$1 \$2;
-#X obj 303 151 r \$0-secondscreen;
-#X msg 303 179 secondscreen \$1;
-#X obj 206 211 r \$0-border;
-#X msg 206 239 border \$1;
-#X obj 303 211 r \$0-title;
-#X obj 303 238 list prepend title;
-#X obj 451 100 t a;
-#X obj 451 160 t a;
-#X obj 451 223 t a;
-#X connect 4 0 5 0;
-#X connect 5 0 16 0;
-#X connect 6 0 7 0;
-#X connect 7 0 16 0;
-#X connect 8 0 9 0;
-#X connect 9 0 17 0;
-#X connect 10 0 11 0;
-#X connect 11 0 17 0;
-#X connect 12 0 13 0;
-#X connect 13 0 18 0;
-#X connect 14 0 15 0;
-#X connect 15 0 18 0;
-#X connect 16 0 17 0;
-#X connect 17 0 18 0;
-#X connect 18 0 0 0;
-#X restore 124 172 pd window-decoration;
-#N canvas 401 296 464 399 live 0;
-#X obj 92 273 outlet gemwin;
-#X obj 92 235 t a;
-#X text 44 67 appearance that is changeable after window has been made
-;
-#X obj 92 123 r \$0-cursor;
-#X msg 92 147 cursor \$1;
-#X obj 182 123 r \$0-menubar;
-#X msg 182 147 menubar \$1;
-#X obj 277 123 r \$0-topmost;
-#X msg 277 147 topmost \$1;
-#X connect 1 0 0 0;
-#X connect 3 0 4 0;
-#X connect 4 0 1 0;
-#X connect 5 0 6 0;
-#X connect 6 0 1 0;
-#X connect 7 0 8 0;
-#X connect 8 0 1 0;
-#X restore 124 241 pd live decoration;
-#X obj 282 502 t b;
-#X text 113 485 context established \, now draw!;
-#X obj 439 557 route mouse keyboard dimen offset info;
-#X obj 439 535 outlet info;
-#X obj 282 288 t a;
-#X obj 282 309 list trim;
-#X text 435 479 info callbacks;
-#X text 449 495 (LATER: trigger these by sending their name (without
-args) into the object);
-#N canvas 1331 424 855 424 default 0;
-#X obj 56 80 inlet;
-#X obj 56 122 route reset;
-#X obj 31 186 outlet;
-#X obj 195 216 outlet gemwin;
-#X obj 195 154 t b;
-#X msg 195 177 dimen 500 500 \, offset 0 0 \, fullscreen 0 \, title
-GEM \, buffer 2 \, cursor 1 \, topmost 0;
-#X connect 0 0 1 0;
-#X connect 1 0 4 0;
-#X connect 1 1 2 0;
-#X connect 4 0 5 0;
-#X connect 5 0 2 0;
-#X restore 34 166 pd default;
-#N canvas 0 0 450 300 info 0;
-#X obj 195 216 outlet gemwin;
-#X obj 195 189 list prepend print;
-#X obj 195 159 r \$0-print;
-#X connect 1 0 0 0;
-#X connect 2 0 1 0;
-#X restore 124 262 pd info;
-#X obj 282 361 gemdefaultwindow;
-#X obj 565 431 s \$0-realdimen;
-#X obj 333 254 inlet;
-#X obj 282 425 route bang;
-#X obj 348 449 t a a;
-#X obj 460 411 route mouse keyboard dimen offset info;
-#X connect 0 0 30 0;
-#X connect 1 0 33 0;
-#X connect 17 0 24 0;
-#X connect 18 0 24 0;
-#X connect 19 0 24 0;
-#X connect 20 0 2 0;
-#X connect 24 0 25 0;
-#X connect 25 0 0 0;
-#X connect 29 0 24 0;
-#X connect 30 0 1 0;
-#X connect 32 0 0 0;
-#X connect 33 0 20 0;
-#X connect 33 1 34 0;
-#X connect 34 0 23 0;
-#X connect 34 1 35 0;
-#X connect 35 2 31 0;
-#X restore 131 210 pd window;
-#X text 55 19 meant as a modular replacement for the internal [gemwin]
-;
-#X text 53 38 TODO: quite everything;
-#X obj 390 60 loadbang;
-#N canvas 0 0 450 300 keyboard 0;
-#X obj 122 32 inlet;
-#X obj 122 189 s __gem_keyboard;
-#X obj 265 191 s __gem_mouse;
-#X obj 122 109 route keyboard mouse;
-#X obj 181 269 outlet;
-#X obj 122 65 s __gem;
-#X connect 0 0 5 0;
-#X connect 3 0 1 0;
-#X connect 3 1 2 0;
-#X connect 3 2 4 0;
-#X restore 637 371 pd keyboard & mouse;
-#N canvas 64 81 1119 651 README 0;
-#X text 34 30 a new gemwin;
-#X text 67 145 this has some major drawbacks:;
-#X text 66 57 for legacy reasons \, [gemwin] is the interface to:;
-#X text 79 72 - the rendering context (e.g. window creation);
-#X text 79 84 - the general rendering engine (e.g. turning on/off rendering)
-;
-#X text 80 110 - global settings of the rendered scene (e.g. background
-colour);
-#X text 95 190 - non-modular;
-#X text 94 160 - blackbox for the users (no way to change how certain
-things work without hacking the C++-code);
-#X text 94 207 - single-window;
-#X text 50 252 make it better:;
-#X text 94 292 - [gemwindow]: low level interface to the window manager
-;
-#X text 73 271 [gemwin] now consists of several modules;
-#X text 94 333 - Pd-(sub)patches for global render settings;
-#X text 94 313 - Pd-(sub)patches for render-control;
-#X text 77 495 mouse/keyboard events are now handled by the window
-itself and [s]ent to the (compat) [gemmouse] and [gemkeyboard] objects
-on a global receiver.;
-#X text 56 476 user-interaction:;
-#X text 80 542 however \, users can as well grab the mouse/keyboard
-data directly from the [gemwindow] object \, so this info can be attached
-to a certain window.;
-#X text 57 376 rendering:;
-#X text 74 392 rendering is now done by explicitely sending bangs via
-global receivers to the [gemhead] abstractions.;
-#X text 77 427 users can implement their own [gemhead]s (and senders
-for that matter as well) \, in order to (e.g.) render certain parts
-of the graph into a specific window/framebuffer/...;
-#X text 628 371 modularity:;
-#X text 642 387 obviously \, users can modify the default [gemwin]
-abstractions to strip it from whatever they don't need (and add whatever
-they do need).;
-#X text 641 450 the sole purpose of this abstraction is to provide
-a minimum compatibility with old patches;
-#X restore 592 3 pd README;
-#N canvas 165 0 544 526 callbacks 0;
-#N canvas 61 12 963 457 viewpoint 0;
-#X obj 476 254 t l l;
-#X obj 508 277 list length;
-#X obj 508 300 select 6;
-#X obj 476 347 spigot 0;
-#X msg 508 326 1;
-#X msg 547 346 0;
-#X obj 561 324 t b f;
-#X obj 593 367 print error;
-#X msg 593 348 perspec message needs 6 arguments (got \$1);
-#X obj 476 367 s \$0-perspec;
-#N canvas 0 0 450 300 9-args 0;
-#X obj 67 60 inlet;
-#X obj 67 239 outlet;
-#X connect 0 0 1 0;
-#X restore 163 275 pd 9-args;
-#X obj 163 316 t a;
-#N canvas 1414 250 827 534 345-args 0;
-#X obj 72 36 inlet;
-#X obj 72 379 outlet;
-#X obj 72 81 pack 0 0 0 0 0;
-#X msg 143 59 0;
-#X text 179 81 x y z azm elv;
-#X obj 72 344 pack 0 0 0 0 0 0 0 0 0;
-#X text 234 347 eyeX eyeY eyeZ centerX centerY centerZ upX upY upZ
-;
-#X obj 72 117 t f l;
-#X obj 104 144 unpack 0 0 0 0 0;
-#N canvas 694 467 450 300 dx 0;
-#X obj 52 32 inlet azm;
-#X obj 269 52 inlet elv;
-#X obj 52 190 outlet dX;
-#X obj 131 190 outlet dY;
-#X obj 210 190 outlet dZ;
-#X obj 342 54 / 45;
-#X obj 251 94 * 0.0174533;
-#X obj 342 31 atan;
-#X msg 342 10 1;
-#X obj 251 74 f;
-#X obj 52 94 * 0.0174533;
-#X obj 52 53 t f b b;
-#X obj 52 130 expr cos($f2)*sin($f1) \; sin($f2) \; -cos($f2)*cos($f1)
-;
-#X connect 0 0 11 0;
-#X connect 1 0 9 1;
-#X connect 5 0 6 1;
-#X connect 5 0 10 1;
-#X connect 6 0 12 1;
-#X connect 7 0 5 0;
-#X connect 8 0 7 0;
-#X connect 9 0 6 0;
-#X connect 10 0 12 0;
-#X connect 11 0 10 0;
-#X connect 11 1 9 0;
-#X connect 11 2 8 0;
-#X connect 12 0 2 0;
-#X connect 12 1 3 0;
-#X connect 12 2 4 0;
-#X restore 185 167 pd dx dy dz;
-#N canvas 488 175 450 300 up 0;
-#X obj 84 48 inlet dX;
-#X obj 84 238 outlet upX;
-#X obj 184 48 inlet dY;
-#X obj 184 238 outlet upY;
-#X obj 294 48 inlet dZ;
-#X obj 294 238 outlet upZ;
-#X obj 84 121 expr -$f1*$f2 \; $f1*$f1+$f3*$f3 \; -$f2*$f3;
-#X connect 0 0 6 0;
-#X connect 2 0 6 1;
-#X connect 4 0 6 2;
-#X connect 6 0 1 0;
-#X connect 6 1 3 0;
-#X connect 6 2 5 0;
-#X restore 227 312 pd up;
-#X obj 146 269 * 1;
-#X obj 128 288 +;
-#X obj 337 187 t f f f;
-#X obj 176 269 * 1;
-#X obj 158 288 +;
-#X obj 206 269 * 1;
-#X obj 188 288 +;
-#X obj 72 60 t l b b;
-#X obj 356 36 inlet stereoFocal;
-#X obj 338 103 * -1;
-#X obj 338 125 moses;
-#X obj 338 146 * -1;
-#X msg 372 146 1;
-#X obj 337 165 t f;
-#X obj 338 81 f;
-#X connect 0 0 18 0;
-#X connect 2 0 7 0;
-#X connect 3 0 2 3;
-#X connect 3 0 2 4;
-#X connect 5 0 1 0;
-#X connect 7 0 5 0;
-#X connect 7 1 8 0;
-#X connect 8 0 12 0;
-#X connect 8 1 5 1;
-#X connect 8 1 15 0;
-#X connect 8 2 5 2;
-#X connect 8 2 17 0;
-#X connect 8 3 9 0;
-#X connect 8 4 9 1;
-#X connect 9 0 10 0;
-#X connect 9 0 11 0;
-#X connect 9 1 10 1;
-#X connect 9 1 14 0;
-#X connect 9 2 10 2;
-#X connect 9 2 16 0;
-#X connect 10 0 5 6;
-#X connect 10 1 5 7;
-#X connect 10 2 5 8;
-#X connect 11 0 12 1;
-#X connect 12 0 5 3;
-#X connect 13 0 11 1;
-#X connect 13 1 14 1;
-#X connect 13 2 16 1;
-#X connect 14 0 15 1;
-#X connect 15 0 5 4;
-#X connect 16 0 17 1;
-#X connect 17 0 5 5;
-#X connect 18 0 2 0;
-#X connect 18 1 3 0;
-#X connect 18 2 25 0;
-#X connect 19 0 25 1;
-#X connect 20 0 21 0;
-#X connect 21 0 22 0;
-#X connect 21 1 23 0;
-#X connect 22 0 24 0;
-#X connect 23 0 24 0;
-#X connect 24 0 13 0;
-#X connect 25 0 20 0;
-#X restore 251 275 pd 345-args;
-#N canvas 0 0 789 408 demux 0;
-#X obj 119 92 t l l;
-#X obj 151 112 list length;
-#X obj 119 246 spigot 0;
-#X obj 250 246 spigot 0;
-#X obj 119 216 t l l l;
-#X obj 370 246 spigot 0;
-#X obj 151 133 t f b;
-#X msg 304 187 0;
-#X msg 423 195 1;
-#X msg 179 215 1;
-#X msg 276 218 1;
-#X obj 370 313 print error;
-#X obj 119 47 inlet;
-#X obj 151 156 select 9 3 4 5;
-#X obj 197 181 t b;
-#X obj 119 295 outlet 9-args;
-#X obj 250 355 outlet 345-args;
-#X msg 370 285 view message needs 3 4 5 or 9 arguments;
-#X connect 0 0 4 0;
-#X connect 0 1 1 0;
-#X connect 1 0 6 0;
-#X connect 2 0 15 0;
-#X connect 3 0 16 0;
-#X connect 4 0 2 0;
-#X connect 4 1 3 0;
-#X connect 4 2 5 0;
-#X connect 5 0 17 0;
-#X connect 6 0 13 0;
-#X connect 6 1 7 0;
-#X connect 7 0 2 1;
-#X connect 7 0 3 1;
-#X connect 7 0 5 1;
-#X connect 8 0 5 1;
-#X connect 9 0 2 1;
-#X connect 10 0 3 1;
-#X connect 12 0 0 0;
-#X connect 13 0 9 0;
-#X connect 13 1 14 0;
-#X connect 13 2 14 0;
-#X connect 13 3 14 0;
-#X connect 13 4 8 0;
-#X connect 14 0 10 0;
-#X connect 17 0 11 0;
-#X restore 163 246 pd demux;
-#X obj 325 253 r \$0-stereoFocal;
-#X obj 163 339 s \$0-viewpoint;
-#X obj 163 155 route view perspec;
-#X obj 163 115 inlet;
-#X obj 286 115 outlet;
-#X obj 313 295 r \$0-reset;
-#X msg 313 316 0 0 4 0 0 0 0 1 0;
-#X obj 612 302 r \$0-reset;
-#X msg 612 322 -1 1 -1 1 1 20;
-#X connect 0 0 3 0;
-#X connect 0 1 1 0;
-#X connect 1 0 2 0;
-#X connect 2 0 4 0;
-#X connect 2 1 6 0;
-#X connect 3 0 9 0;
-#X connect 4 0 3 1;
-#X connect 5 0 3 1;
-#X connect 6 0 5 0;
-#X connect 6 1 8 0;
-#X connect 8 0 7 0;
-#X connect 10 0 11 0;
-#X connect 11 0 15 0;
-#X connect 12 0 11 0;
-#X connect 13 0 10 0;
-#X connect 13 1 12 0;
-#X connect 14 0 12 1;
-#X connect 16 0 13 0;
-#X connect 16 1 0 0;
-#X connect 16 2 18 0;
-#X connect 17 0 16 0;
-#X connect 19 0 20 0;
-#X connect 20 0 15 0;
-#X connect 21 0 22 0;
-#X connect 22 0 9 0;
-#X restore 118 148 pd viewpoint;
-#X obj 118 31 inlet message;
-#N canvas 437 175 450 364 fog 0;
-#X obj 79 130 select 1 2 3;
-#X obj 79 169 GLdefine GL_LINEAR;
-#X obj 108 188 GLdefine GL_EXP;
-#X obj 136 209 GLdefine GL_EXP2;
-#X obj 79 85 route fogmode fog fogcolor;
-#X obj 79 109 i;
-#N canvas 0 0 694 400 fogMess 0;
-#X obj 119 66 inlet;
-#X obj 119 92 t l l;
-#X obj 151 112 list length;
-#X obj 119 246 spigot 0;
-#X obj 250 246 spigot 0;
-#X obj 250 272 pack 0 0;
-#X obj 119 271 f 0;
-#X obj 119 216 t l l l;
-#X obj 370 246 spigot 0;
-#X obj 151 133 t f b;
-#X msg 304 187 0;
-#X obj 151 156 select 1 2;
-#X msg 423 195 1;
-#X msg 179 215 1;
-#X msg 276 218 1;
-#X obj 370 313 print error;
-#X msg 370 285 fog message needs 1 or 2 arguments;
-#X obj 119 312 s \$0-fogDensity;
-#X obj 250 313 s \$0-fogRange;
-#X connect 0 0 1 0;
-#X connect 1 0 7 0;
-#X connect 1 1 2 0;
-#X connect 2 0 9 0;
-#X connect 3 0 6 0;
-#X connect 4 0 5 0;
-#X connect 5 0 18 0;
-#X connect 6 0 17 0;
-#X connect 7 0 3 0;
-#X connect 7 1 4 0;
-#X connect 7 2 8 0;
-#X connect 8 0 16 0;
-#X connect 9 0 11 0;
-#X connect 9 1 10 0;
-#X connect 10 0 3 1;
-#X connect 10 0 4 1;
-#X connect 10 0 8 1;
-#X connect 11 0 13 0;
-#X connect 11 1 14 0;
-#X connect 11 2 12 0;
-#X connect 12 0 8 1;
-#X connect 13 0 3 1;
-#X connect 14 0 4 1;
-#X connect 16 0 15 0;
-#X restore 209 134 pd fogMess;
-#N canvas 173 78 694 400 fogColorMess 0;
-#X obj 119 66 inlet;
-#X obj 151 112 list length;
-#X obj 119 246 spigot 0;
-#X obj 370 246 spigot 0;
-#X obj 151 133 t f b;
-#X msg 304 187 0;
-#X msg 423 195 1;
-#X msg 179 215 1;
-#X obj 370 313 print error;
-#X obj 151 156 select 3 4;
-#X msg 370 285 fogcolor needs 3 or 4 arguments;
-#X obj 119 92 t l l b;
-#X obj 119 316 pack 0 0 0 1;
-#X obj 119 216 t l l;
-#X msg 200 297 1;
-#X obj 119 362 s \$0-fogColor;
-#X connect 0 0 11 0;
-#X connect 1 0 4 0;
-#X connect 2 0 12 0;
-#X connect 3 0 10 0;
-#X connect 4 0 9 0;
-#X connect 4 1 5 0;
-#X connect 5 0 2 1;
-#X connect 5 0 3 1;
-#X connect 6 0 3 1;
-#X connect 7 0 2 1;
-#X connect 9 0 7 0;
-#X connect 9 1 7 0;
-#X connect 9 2 6 0;
-#X connect 10 0 8 0;
-#X connect 11 0 13 0;
-#X connect 11 1 1 0;
-#X connect 11 2 14 0;
-#X connect 12 0 15 0;
-#X connect 13 0 2 0;
-#X connect 13 1 3 0;
-#X connect 14 0 12 3;
-#X restore 299 134 pd fogColorMess;
-#X obj 79 59 inlet;
-#X obj 283 62 outlet;
-#X obj 233 304 s \$0-fog;
-#X obj 98 232 t f b;
-#X msg 200 277 1;
-#X msg 233 277 0;
-#X obj 98 291 s \$0-fogMode;
-#X connect 0 0 1 0;
-#X connect 0 1 2 0;
-#X connect 0 2 3 0;
-#X connect 0 3 13 0;
-#X connect 1 0 11 0;
-#X connect 2 0 11 0;
-#X connect 3 0 11 0;
-#X connect 4 0 5 0;
-#X connect 4 1 6 0;
-#X connect 4 2 7 0;
-#X connect 4 3 9 0;
-#X connect 5 0 0 0;
-#X connect 8 0 4 0;
-#X connect 11 0 14 0;
-#X connect 11 1 12 0;
-#X connect 12 0 10 0;
-#X connect 13 0 10 0;
-#X restore 118 172 pd fog;
-#N canvas 574 76 450 300 reset 0;
-#X obj 118 57 route reset;
-#X obj 118 78 t b;
-#X obj 118 100 s \$0-reset;
-#X obj 118 28 inlet;
-#X obj 209 27 outlet;
-#X connect 0 0 1 0;
-#X connect 0 1 4 0;
-#X connect 1 0 2 0;
-#X connect 3 0 0 0;
-#X restore 118 54 pd reset;
-#N canvas 0 0 975 410 lighting 0;
-#X obj 97 48 inlet;
-#X obj 97 69 route lighting ambient specular shininess;
-#X obj 97 97 i;
-#X obj 97 122 > 0;
-#X obj 97 149 s \$0-lighting;
-#X obj 488 53 r \$0-reset;
-#X msg 204 215 0.1 0.1 0.1 1;
-#X obj 84 213 pack 0 0 0 1;
-#X obj 84 186 t l b;
-#X msg 165 188 1;
-#X obj 84 234 s \$0-ambient;
-#X obj 84 289 pack 0 0 0 1;
-#X obj 84 262 t l b;
-#X msg 165 264 1;
-#X msg 273 255 1 1 1 1;
-#X obj 84 314 s \$0-specular;
-#X msg 543 128 100;
-#X obj 436 133 f;
-#X obj 436 159 s \$0-shininess;
-#X obj 356 48 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X connect 1 1 8 0;
-#X connect 1 2 12 0;
-#X connect 1 3 17 0;
-#X connect 1 4 19 0;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 5 0 6 0;
-#X connect 5 0 14 0;
-#X connect 5 0 16 0;
-#X connect 6 0 8 0;
-#X connect 7 0 10 0;
-#X connect 8 0 7 0;
-#X connect 8 1 9 0;
-#X connect 9 0 7 3;
-#X connect 11 0 15 0;
-#X connect 12 0 11 0;
-#X connect 12 1 13 0;
-#X connect 13 0 11 3;
-#X connect 14 0 12 0;
-#X connect 16 0 17 0;
-#X connect 17 0 18 0;
-#X restore 118 193 pd lighting;
-#N canvas 0 0 1001 529 window 0;
-#X obj 111 53 inlet;
-#X obj 700 421 outlet;
-#X obj 111 109 route create destroy;
-#X text 300 17 create destroy \; dimen fullscreen offset secondscreen
-\; border title \; cursor topmost menubar \; buffer \; FSAA;
-#X obj 111 163 route dimen fullscreen offset secondscreen;
-#X obj 111 283 route border title;
-#X obj 111 403 route cursor topmost menubar;
-#X obj 570 420 route buffer FSAA;
-#N canvas 0 0 666 297 buffer 0;
-#X obj 71 47 inlet;
-#X obj 71 84 select 1 2;
-#X obj 71 193 s \$0-buffer;
-#X msg 71 162 1;
-#X msg 104 162 2;
-#X obj 203 183 print error;
-#X msg 203 158 "buffer" must be 1 (single-buffered) or 2 (double-buffered)
-;
-#X connect 0 0 1 0;
-#X connect 1 0 3 0;
-#X connect 1 1 4 0;
-#X connect 1 2 6 0;
-#X connect 3 0 2 0;
-#X connect 4 0 2 0;
-#X connect 6 0 5 0;
-#X restore 570 443 pd buffer;
-#N canvas 0 0 666 297 FSAA 0;
-#X obj 71 47 inlet;
-#X obj 71 193 s \$0-FSAA;
-#X obj 71 131 i;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X restore 639 443 pd FSAA;
-#X obj 111 135 s \$0-create;
-#X obj 191 135 s \$0-destroy;
-#X obj 111 478 s \$0-cursor;
-#X obj 111 434 i;
-#X obj 111 456 != 0;
-#X obj 191 434 i;
-#X obj 191 456 != 0;
-#X obj 191 478 s \$0-topmost;
-#X obj 281 434 i;
-#X obj 281 478 s \$0-menubar;
-#X obj 111 311 i;
-#X obj 111 333 != 0;
-#X obj 111 355 s \$0-border;
-#X obj 201 354 s \$0-title;
-#X obj 605 99 r \$0-reset;
-#N canvas 487 195 450 300 dimen 0;
-#X obj 80 14 inlet;
-#X obj 80 242 s \$0-dimen;
-#X obj 170 73 unpack 0 0;
-#X obj 170 98 > 0;
-#X obj 237 100 > 0;
-#X obj 170 120 *;
-#X obj 80 169 spigot;
-#X obj 170 147 t f f;
-#X obj 218 147 select 0;
-#X obj 218 211 print error;
-#X msg 218 190 dimensions must be > 0;
-#X obj 80 48 t l l b;
-#X msg 188 44 0;
-#X connect 0 0 11 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 1;
-#X connect 5 0 7 0;
-#X connect 6 0 1 0;
-#X connect 7 0 6 1;
-#X connect 7 1 8 0;
-#X connect 8 0 10 0;
-#X connect 10 0 9 0;
-#X connect 11 0 6 0;
-#X connect 11 1 2 0;
-#X connect 11 2 12 0;
-#X connect 12 0 5 1;
-#X connect 12 0 6 1;
-#X restore 111 216 pd dimen;
-#X obj 183 184 i;
-#X obj 183 206 != 0;
-#X obj 183 228 s \$0-fullscreen;
-#N canvas 487 195 450 300 offset 0;
-#X obj 80 14 inlet;
-#X obj 80 148 unpack;
-#X obj 80 169 pack;
-#X obj 80 97 t l b;
-#X msg 112 119 0;
-#X obj 80 242 s \$0-offset;
-#X connect 0 0 3 0;
-#X connect 1 0 2 0;
-#X connect 1 1 2 1;
-#X connect 2 0 5 0;
-#X connect 3 0 1 0;
-#X connect 3 1 4 0;
-#X connect 4 0 2 1;
-#X restore 256 191 pd offset;
-#X obj 329 186 i;
-#X obj 329 208 != 0;
-#X obj 329 230 s \$0-secondscreen;
-#X msg 606 120 border 1 \, title GEM \, cursor 1 \, topmost 0 \, menubar
-0 \, buffer 2 \, FSAA 0 \, dimen 500 500 \, fullscreen 0 \, offset
--1 -1 \, secondscreen 0;
-#X connect 0 0 2 0;
-#X connect 2 0 10 0;
-#X connect 2 1 11 0;
-#X connect 2 2 4 0;
-#X connect 4 0 25 0;
-#X connect 4 1 26 0;
-#X connect 4 2 29 0;
-#X connect 4 3 30 0;
-#X connect 4 4 5 0;
-#X connect 5 0 20 0;
-#X connect 5 1 23 0;
-#X connect 5 2 6 0;
-#X connect 6 0 13 0;
-#X connect 6 1 15 0;
-#X connect 6 2 18 0;
-#X connect 6 3 7 0;
-#X connect 7 0 8 0;
-#X connect 7 1 9 0;
-#X connect 7 2 1 0;
-#X connect 13 0 14 0;
-#X connect 14 0 12 0;
-#X connect 15 0 16 0;
-#X connect 16 0 17 0;
-#X connect 18 0 19 0;
-#X connect 20 0 21 0;
-#X connect 21 0 22 0;
-#X connect 24 0 33 0;
-#X connect 26 0 27 0;
-#X connect 27 0 28 0;
-#X connect 30 0 31 0;
-#X connect 31 0 32 0;
-#X connect 33 0 4 0;
-#X restore 118 106 pd window;
-#N canvas 0 0 450 300 print 0;
-#X obj 118 78 t b;
-#X obj 118 28 inlet;
-#X obj 209 27 outlet;
-#X obj 118 57 route print;
-#X obj 118 100 s \$0-print;
-#X connect 0 0 4 0;
-#X connect 1 0 3 0;
-#X connect 3 0 0 0;
-#X connect 3 1 2 0;
-#X restore 118 77 pd print;
-#N canvas 1521 50 810 323 stereo 0;
-#X obj 101 28 inlet;
-#X obj 258 31 outlet;
-#X obj 109 80 route createStereo createstereo stereo stereoSep stereosep
-stereoFoc stereofoc stereoLine stereoline;
-#X obj 243 117 t f;
-#X obj 332 172 t f;
-#X obj 422 125 t f;
-#X obj 198 141 s \$0-stereo;
-#X obj 422 167 s \$0-stereoLine;
-#X obj 332 192 s \$0-stereoFocal;
-#X obj 243 216 s \$0-stereoSeparation;
-#X obj 109 164 t b;
-#X msg 109 208 createStereo?;
-#X obj 109 239 print error;
-#X obj 422 146 != 0;
-#X obj 198 118 i;
-#X connect 0 0 2 0;
-#X connect 2 0 10 0;
-#X connect 2 1 10 0;
-#X connect 2 2 14 0;
-#X connect 2 3 3 0;
-#X connect 2 4 3 0;
-#X connect 2 5 4 0;
-#X connect 2 6 4 0;
-#X connect 2 7 5 0;
-#X connect 2 8 5 0;
-#X connect 2 9 1 0;
-#X connect 3 0 9 0;
-#X connect 4 0 8 0;
-#X connect 5 0 13 0;
-#X connect 10 0 11 0;
-#X connect 11 0 12 0;
-#X connect 13 0 7 0;
-#X connect 14 0 6 0;
-#X restore 118 216 pd stereo;
-#N canvas 366 300 658 300 clearmask 0;
-#X obj 57 51 inlet;
-#X obj 57 72 route clearmask;
-#X obj 173 69 outlet;
-#X obj 57 121 s \$0-clearmask;
-#X obj 57 97 t f;
-#X obj 222 110 r \$0-reset;
-#X obj 226 200 GLdefine GL_COLOR_BUFFER_BIT;
-#X obj 255 223 GLdefine GL_DEPTH_BUFFER_BIT;
-#X obj 256 249 GLdefine GL_STENCIL_BUFFER_BIT;
-#X obj 239 271 |;
-#X obj 226 249 |;
-#X obj 222 169 t b b b;
-#X msg 246 133 bang;
-#X obj 317 108 loadbang;
-#X connect 0 0 1 0;
-#X connect 1 0 4 0;
-#X connect 1 1 2 0;
-#X connect 4 0 3 0;
-#X connect 5 0 11 0;
-#X connect 6 0 10 0;
-#X connect 7 0 10 1;
-#X connect 8 0 9 1;
-#X connect 9 0 3 0;
-#X connect 10 0 9 0;
-#X connect 11 0 6 0;
-#X connect 11 1 7 0;
-#X connect 11 2 8 0;
-#X connect 12 0 11 0;
-#X connect 13 0 11 0;
-#X restore 118 241 pd clearmask;
-#X text 291 333 misc:;
-#X text 285 405 multiple:;
-#X text 325 425 buffer reset print;
-#X text 290 470 unused:;
-#X text 331 485 blur;
-#N canvas 574 300 450 300 color 0;
-#X obj 67 38 inlet;
-#X obj 211 41 outlet;
-#X obj 67 190 pack 0 0 0 1;
-#X obj 67 163 t l b;
-#X msg 148 165 1;
-#X msg 90 138 0 0 0 1;
-#X obj 90 114 r \$0-reset;
-#X obj 67 214 s \$0-color;
-#X obj 67 66 route color;
-#X connect 0 0 8 0;
-#X connect 2 0 7 0;
-#X connect 3 0 2 0;
-#X connect 3 1 4 0;
-#X connect 4 0 2 3;
-#X connect 5 0 3 0;
-#X connect 6 0 5 0;
-#X connect 8 0 3 0;
-#X connect 8 1 1 0;
-#X restore 118 272 pd color;
-#N canvas 0 0 749 300 render 0;
-#X obj 31 38 inlet;
-#X obj 143 36 outlet;
-#X obj 31 189 s \$0-render;
-#X obj 31 153 > 0;
-#X obj 127 172 print error;
-#X msg 127 147 TODO: implement bang render;
-#X obj 180 91 s \$0-rate;
-#X obj 31 63 route float bang render frame;
-#X obj 394 86 > 0;
-#X obj 394 107 select 0;
-#X msg 394 129 negative fps...;
-#X obj 394 153 print error;
-#X obj 394 63 r \$0-rate;
-#X obj 348 205 r \$0-destroy;
-#X msg 348 230 0;
-#X connect 0 0 7 0;
-#X connect 3 0 2 0;
-#X connect 5 0 4 0;
-#X connect 7 0 3 0;
-#X connect 7 1 5 0;
-#X connect 7 2 5 0;
-#X connect 7 3 6 0;
-#X connect 7 4 1 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 0;
-#X connect 10 0 11 0;
-#X connect 12 0 8 0;
-#X connect 13 0 14 0;
-#X connect 14 0 3 0;
-#X restore 118 301 pd render;
-#X text 299 352 blur print profile frame fps;
-#X connect 0 0 2 0;
-#X connect 1 0 3 0;
-#X connect 2 0 4 0;
-#X connect 3 0 6 0;
-#X connect 4 0 7 0;
-#X connect 5 0 0 0;
-#X connect 6 0 5 0;
-#X connect 7 0 8 0;
-#X connect 8 0 14 0;
-#X connect 14 0 15 0;
-#X restore 126 127 pd callbacks;
-#N canvas 1830 466 450 333 resetValues 0;
-#N canvas 1854 534 377 366 viewpoint 0;
-#X obj 144 37 inlet gemlist;
-#X obj 144 298 outlet gemlist;
-#N canvas 76 86 399 310 view 0;
-#X obj 24 59 GEMglMatrixMode GL_MODELVIEW;
-#X obj 66 133 unpack 0 0 0 0 0 0 0 0 0;
-#X obj 24 25 inlet gemlist;
-#X obj 24 257 outlet gemlist;
-#X obj 24 156 GEMgluLookAt 0 0 4 0 0 0 0 1 0;
-#X obj 66 109 r \$0-viewpoint;
-#X obj 24 81 GEMglLoadIdentity;
-#X connect 0 0 6 0;
-#X connect 1 0 4 1;
-#X connect 1 1 4 2;
-#X connect 1 2 4 3;
-#X connect 1 3 4 4;
-#X connect 1 4 4 5;
-#X connect 1 5 4 6;
-#X connect 1 6 4 7;
-#X connect 1 7 4 8;
-#X connect 1 8 4 9;
-#X connect 2 0 0 0;
-#X connect 4 0 3 0;
-#X connect 5 0 1 0;
-#X connect 6 0 4 0;
-#X restore 144 219 pd view;
-#N canvas 444 106 518 344 perspec 0;
-#X obj 144 79 GEMglMatrixMode GL_PROJECTION;
-#X obj 144 104 GEMglLoadIdentity;
-#X obj 144 37 inlet gemlist;
-#X obj 144 268 outlet gemlist;
-#X obj 144 245 GEMglFrustum -1 1 -1 1 1 20;
-#X obj 207 170 unpack 0 0 0 0 0 0;
-#X obj 207 150 r \$0-perspec;
-#X obj 175 221 * 1;
-#X obj 175 200 f -1;
-#X obj 206 221 * 1;
-#X obj 206 200 f 1;
-#X obj 387 97 r \$0-realdimen;
-#X obj 387 122 /;
-#X obj 378 155 t b f f;
-#X obj 164 151 t b b;
-#X connect 0 0 1 0;
-#X connect 1 0 4 0;
-#X connect 2 0 0 0;
-#X connect 4 0 3 0;
-#X connect 5 0 8 0;
-#X connect 5 1 10 0;
-#X connect 5 2 4 3;
-#X connect 5 3 4 4;
-#X connect 5 4 4 5;
-#X connect 5 5 4 6;
-#X connect 6 0 5 0;
-#X connect 7 0 4 1;
-#X connect 8 0 7 0;
-#X connect 9 0 4 2;
-#X connect 10 0 9 0;
-#X connect 11 0 12 0;
-#X connect 12 0 13 0;
-#X connect 13 0 14 0;
-#X connect 13 1 7 1;
-#X connect 13 2 9 1;
-#X connect 14 0 8 0;
-#X connect 14 1 10 0;
-#X restore 144 166 pd perspec;
-#N canvas 1900 93 450 229 viewport 0;
-#X obj 87 93 inlet;
-#X obj 87 157 outlet;
-#X obj 87 126 GEMglViewport 0 0 500 500;
-#X obj 222 96 unpack 0 0;
-#X obj 222 42 r \$0-realdimen;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 2 3;
-#X connect 3 1 2 4;
-#X connect 4 0 3 0;
-#X restore 144 105 pd viewport;
-#X connect 0 0 4 0;
-#X connect 2 0 1 0;
-#X connect 3 0 2 0;
-#X connect 4 0 3 0;
-#X restore 115 160 pd viewpoint;
-#N canvas 1543 180 685 625 fog 0;
-#X obj 71 73 inlet;
-#X obj 71 507 outlet;
-#X obj 71 98 t a a;
-#X obj 71 246 spigot 1;
-#X obj 71 273 GEMglDisable GL_FOG;
-#X obj 71 428 t a;
-#X obj 261 273 GEMglEnable GL_FOG;
-#X obj 261 246 spigot 0;
-#X obj 165 223 t f f;
-#X obj 165 199 == 0;
-#N canvas 0 0 450 300 density 0;
-#X obj 100 113 inlet;
-#X obj 100 234 outlet;
-#X obj 100 203 GEMglFogf;
-#X obj 238 82 inlet value;
-#X obj 238 139 t b f;
-#X obj 130 169 GLdefine GL_FOG_DENSITY;
-#X obj 238 112 f 0.5;
-#X obj 336 78 r \$0-reset;
-#X msg 336 101 0.5;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 6 0;
-#X connect 4 0 5 0;
-#X connect 4 1 2 2;
-#X connect 5 0 2 1;
-#X connect 6 0 4 0;
-#X connect 7 0 8 0;
-#X connect 8 0 6 1;
-#X restore 261 326 pd density;
-#N canvas 0 0 450 300 mode 0;
-#X obj 149 191 GEMglFogf;
-#X obj 192 144 t b f;
-#X obj 192 166 GLdefine GL_FOG_MODE;
-#X obj 149 106 inlet;
-#X obj 149 231 outlet;
-#X obj 192 106 inlet value;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 1 1 0 2;
-#X connect 2 0 0 1;
-#X connect 3 0 0 0;
-#X connect 5 0 1 0;
-#X restore 261 300 pd mode;
-#N canvas 299 157 450 300 start 0;
-#X obj 100 113 inlet;
-#X obj 100 234 outlet;
-#X obj 100 203 GEMglFogf;
-#X obj 238 82 inlet value;
-#X obj 238 139 t b f;
-#X obj 130 169 GLdefine GL_FOG_START;
-#X obj 238 112 f 1;
-#X obj 336 78 r \$0-reset;
-#X msg 336 101 1;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 6 0;
-#X connect 4 0 5 0;
-#X connect 4 1 2 2;
-#X connect 5 0 2 1;
-#X connect 6 0 4 0;
-#X connect 7 0 8 0;
-#X connect 8 0 6 1;
-#X restore 261 346 pd start;
-#N canvas 0 0 450 300 end 0;
-#X obj 100 113 inlet;
-#X obj 100 234 outlet;
-#X obj 100 203 GEMglFogf;
-#X obj 238 82 inlet value;
-#X obj 238 139 t b f;
-#X obj 130 169 GLdefine GL_FOG_END;
-#X obj 336 78 r \$0-reset;
-#X obj 238 112 f 20;
-#X msg 336 101 20;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 7 0;
-#X connect 4 0 5 0;
-#X connect 4 1 2 2;
-#X connect 5 0 2 1;
-#X connect 6 0 8 0;
-#X connect 7 0 4 0;
-#X connect 8 0 7 1;
-#X restore 261 366 pd end;
-#N canvas 0 0 450 300 color 0;
-#X obj 100 113 inlet;
-#X obj 100 234 outlet;
-#X obj 238 42 inlet value;
-#X obj 100 203 GEMglFogfv;
-#X obj 133 169 GLdefine GL_FOG_COLOR;
-#X obj 238 139 t b l;
-#X obj 238 64 route bang;
-#X obj 280 92 t b l;
-#X obj 368 68 r \$0-reset;
-#X msg 368 91 1 1 1 1;
-#X obj 238 112 list append 1 1 1 1;
-#X connect 0 0 3 0;
-#X connect 2 0 6 0;
-#X connect 3 0 1 0;
-#X connect 4 0 3 1;
-#X connect 5 0 4 0;
-#X connect 5 1 3 2;
-#X connect 6 0 10 0;
-#X connect 6 1 7 0;
-#X connect 7 0 10 0;
-#X connect 7 1 10 1;
-#X connect 8 0 9 0;
-#X connect 9 0 10 1;
-#X connect 10 0 5 0;
-#X restore 261 386 pd color;
-#X obj 485 324 unpack;
-#X obj 165 174 r \$0-fog;
-#X obj 307 219 r \$0-fogMode;
-#X obj 347 307 r \$0-fogDensity;
-#X obj 485 301 r \$0-fogRange;
-#X obj 365 368 r \$0-fogColor;
-#X connect 0 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 7 0;
-#X connect 3 0 4 0;
-#X connect 4 0 5 0;
-#X connect 5 0 1 0;
-#X connect 6 0 11 0;
-#X connect 7 0 6 0;
-#X connect 8 0 3 1;
-#X connect 8 1 7 1;
-#X connect 9 0 8 0;
-#X connect 10 0 12 0;
-#X connect 11 0 10 0;
-#X connect 12 0 13 0;
-#X connect 13 0 14 0;
-#X connect 14 0 5 0;
-#X connect 15 0 12 1;
-#X connect 15 1 13 1;
-#X connect 16 0 9 0;
-#X connect 17 0 11 1;
-#X connect 18 0 10 1;
-#X connect 19 0 15 0;
-#X connect 20 0 14 1;
-#X restore 115 186 pd fog;
-#N canvas 302 60 722 526 lighting 0;
-#X obj 71 168 t a a;
-#X obj 71 196 spigot 1;
-#X obj 361 216 spigot 0;
-#X obj 175 149 == 0;
-#X obj 71 286 GEMglDisable GL_COLOR_MATERIAL;
-#X obj 71 306 GEMglDisable GL_AUTO_NORMAL;
-#X obj 71 326 GEMglDisable GL_NORMALIZE;
-#X obj 71 350 GEMglShadeModel GL_FLAT;
-#N canvas 0 0 735 347 lightmodel 0;
-#X obj 71 266 GEMglLightModeli;
-#X obj 125 235 GLdefine GL_LIGHT_MODEL_TWO_SIDE;
-#X obj 361 235 GLdefine GL_FALSE;
-#X obj 71 171 inlet;
-#X obj 71 303 outlet;
-#X obj 141 209 t b b;
-#X obj 277 164 inlet;
-#X connect 0 0 4 0;
-#X connect 1 0 0 1;
-#X connect 2 0 0 2;
-#X connect 3 0 0 0;
-#X connect 5 0 1 0;
-#X connect 5 1 2 0;
-#X connect 6 0 5 0;
-#X restore 71 262 pd lightmodel;
-#X obj 71 444 t a;
-#X obj 71 467 outlet gemlist;
-#X obj 71 143 inlet gemlist;
-#N canvas 0 0 735 347 lightmodel 0;
-#X obj 71 266 GEMglLightModeli;
-#X obj 125 235 GLdefine GL_LIGHT_MODEL_TWO_SIDE;
-#X obj 71 171 inlet;
-#X obj 71 303 outlet;
-#X obj 141 209 t b b;
-#X obj 277 164 inlet;
-#X obj 361 235 GLdefine GL_TRUE;
-#X connect 0 0 3 0;
-#X connect 1 0 0 1;
-#X connect 2 0 0 0;
-#X connect 4 0 1 0;
-#X connect 4 1 6 0;
-#X connect 5 0 4 0;
-#X connect 6 0 0 2;
-#X restore 361 262 pd lightmodel;
-#X obj 361 236 GEMglEnable GL_LIGHTING;
-#X obj 361 286 GEMglEnable GL_COLOR_MATERIAL;
-#X obj 361 376 GEMglEnable GL_AUTO_NORMAL;
-#X obj 361 396 GEMglEnable GL_NORMALIZE;
-#X obj 361 420 GEMglShadeModel GL_SMOOTH;
-#N canvas 1355 50 986 299 ambient 0;
-#X obj 89 194 outlet gemlist;
-#X obj 89 128 inlet gemlist;
-#X obj 89 161 GEMglMaterialfv GL_FRONT_AND_BACK GL_AMBIENT 0.1 0.1
-0.1 1;
-#X obj 492 133 r \$0-ambient;
-#X connect 1 0 2 0;
-#X connect 2 0 0 0;
-#X connect 3 0 2 3;
-#X restore 361 309 pd ambient;
-#N canvas 1355 50 986 299 specular 0;
-#X obj 89 194 outlet gemlist;
-#X obj 89 128 inlet gemlist;
-#X obj 89 161 GEMglMaterialfv GL_FRONT_AND_BACK GL_SPECULAR 1 1 1 1
-;
-#X obj 457 133 r \$0-specular;
-#X connect 1 0 2 0;
-#X connect 2 0 0 0;
-#X connect 3 0 2 3;
-#X restore 361 329 pd specular;
-#N canvas 1355 50 986 299 shininess 0;
-#X obj 89 194 outlet gemlist;
-#X obj 89 128 inlet gemlist;
-#X obj 89 161 GEMglMaterialfv GL_FRONT_AND_BACK GL_SHININESS 100;
-#X obj 436 133 r \$0-shininess;
-#X connect 1 0 2 0;
-#X connect 2 0 0 0;
-#X connect 3 0 2 3;
-#X restore 361 349 pd shininess;
-#X obj 175 173 t f f b;
-#X obj 292 232 t b b;
-#X obj 292 208 loadbang;
-#X obj 175 126 r \$0-lighting;
-#X obj 320 84 print light;
-#X obj 71 235 GEMglDisable GL_LIGHTING;
-#X floatatom 437 214 5 0 0 0 - - -;
-#X floatatom 242 149 5 0 0 0 - - -;
-#X obj 414 191 == 0;
-#X connect 0 0 1 0;
-#X connect 0 1 2 0;
-#X connect 1 0 26 0;
-#X connect 2 0 13 0;
-#X connect 3 0 21 0;
-#X connect 3 0 28 0;
-#X connect 4 0 5 0;
-#X connect 5 0 6 0;
-#X connect 6 0 7 0;
-#X connect 7 0 9 0;
-#X connect 8 0 4 0;
-#X connect 9 0 10 0;
-#X connect 11 0 0 0;
-#X connect 12 0 14 0;
-#X connect 13 0 12 0;
-#X connect 14 0 18 0;
-#X connect 15 0 16 0;
-#X connect 16 0 17 0;
-#X connect 17 0 9 0;
-#X connect 18 0 19 0;
-#X connect 19 0 20 0;
-#X connect 20 0 15 0;
-#X connect 21 0 1 1;
-#X connect 21 1 29 0;
-#X connect 21 2 22 0;
-#X connect 22 0 8 1;
-#X connect 22 1 12 1;
-#X connect 23 0 22 0;
-#X connect 24 0 3 0;
-#X connect 26 0 8 0;
-#X connect 29 0 2 1;
-#X connect 29 0 27 0;
-#X restore 115 138 pd lighting;
-#X obj 115 63 inlet;
-#X obj 115 260 outlet;
-#X text 116 42 GemMan::resetValues();
-#N canvas 5 50 393 417 color 0;
-#X obj 56 52 inlet;
-#X obj 56 361 outlet;
-#X obj 102 192 GEMglClearColor;
-#X obj 134 153 unpack 0 0 0 0;
-#X obj 102 129 t a b;
-#X msg 165 106 0;
-#X obj 165 54 r \$0-color;
-#X obj 165 76 t a b;
-#X msg 192 106 1;
-#X obj 102 106 spigot 1;
-#X obj 56 85 t a a a;
-#X obj 172 309 r \$0-clearmask;
-#X obj 79 269 spigot 1;
-#X obj 124 218 r \$0-buffer;
-#X obj 124 240 == 2;
-#X obj 79 339 GEMglClear 17664;
-#X obj 165 128 t f;
-#X connect 0 0 10 0;
-#X connect 3 0 2 1;
-#X connect 3 1 2 2;
-#X connect 3 2 2 3;
-#X connect 3 3 2 4;
-#X connect 4 0 2 0;
-#X connect 4 1 5 0;
-#X connect 5 0 16 0;
-#X connect 6 0 7 0;
-#X connect 7 0 3 0;
-#X connect 7 1 8 0;
-#X connect 8 0 16 0;
-#X connect 9 0 4 0;
-#X connect 10 0 1 0;
-#X connect 10 1 12 0;
-#X connect 10 2 9 0;
-#X connect 11 0 15 1;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 12 1;
-#X connect 16 0 9 1;
-#X restore 115 91 pd color;
-#X connect 0 0 1 0;
-#X connect 1 0 4 0;
-#X connect 2 0 0 0;
-#X connect 3 0 6 0;
-#X connect 6 0 2 0;
-#X restore 131 259 pd resetValues;
-#N canvas 319 85 450 300 normalRendering 0;
-#X obj 95 115 t a a;
-#X obj 95 70 inlet;
-#X obj 95 168 GEMglMatrixMode GL_MODELVIEW;
-#X obj 95 197 GEMglLoadIdentity;
-#X obj 95 227 GEMgluLookAt 0 0 4 0 0 0 0 1 0;
-#X obj 95 252 outlet osd;
-#X obj 194 253 outlet render;
-#X connect 0 0 2 0;
-#X connect 0 1 6 0;
-#X connect 1 0 0 0;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 4 0 5 0;
-#X restore 163 400 pd normalRendering;
-#N canvas 4 50 596 529 2screenStereo 0;
-#X obj 95 70 inlet;
-#X obj 95 90 t a b;
-#X obj 163 92 list append 500 500;
-#X obj 163 141 unpack;
-#X obj 163 164 / 2;
-#X obj 163 187 t f f;
-#X obj 195 208 /;
-#X obj 163 231 pack;
-#X obj 95 284 t a a;
-#N canvas 593 153 450 602 stereoline 0;
-#X obj 118 62 inlet gemlist;
-#X obj 118 102 GEMglDisable GL_LIGHTING;
-#X obj 118 137 GEMglViewport 0 0 500 500;
-#X obj 309 27 inlet width height;
-#X obj 309 79 unpack;
-#X obj 118 180 GEMglMatrixMode GL_PROJECTION;
-#X obj 118 200 GEMglLoadIdentity;
-#X obj 118 294 GEMgluLookAt 0 0 4 0 0 0 0 1 0;
-#X obj 118 222 GEMglFrustum -1 1 -1 1 1 20;
-#X obj 118 274 GEMglLoadIdentity;
-#X obj 118 254 GEMglMatrixMode GL_MODELVIEW;
-#X obj 118 330 GEMglLineWidth 2;
-#X obj 118 353 GEMglColor3f 1 1 1;
-#X obj 118 374 GEMglBegin GL_LINES;
-#X obj 118 399 GEMglVertex2f 0 -6;
-#X obj 118 419 GEMglVertex2f 0 6;
-#X obj 118 448 GEMglEnd;
-#X obj 118 475 GEMglLineWidth 1;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X connect 2 0 5 0;
-#X connect 3 0 4 0;
-#X connect 4 0 2 3;
-#X connect 4 1 2 4;
-#X connect 5 0 6 0;
-#X connect 6 0 8 0;
-#X connect 7 0 11 0;
-#X connect 8 0 10 0;
-#X connect 9 0 7 0;
-#X connect 10 0 9 0;
-#X connect 11 0 12 0;
-#X connect 12 0 13 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 17 0;
-#X restore 95 360 pd stereoline;
-#X obj 163 120 t l l;
-#X obj 156 312 r \$0-stereoLine;
-#X obj 95 327 spigot 1;
-#X obj 293 65 r \$0-realdimen;
-#X obj 453 369 outlet render;
-#X obj 358 374 outlet osd;
-#N canvas 352 49 672 526 render-2screen 0;
-#N canvas 354 89 886 440 viewport 0;
-#X obj 87 146 GEMglMatrixMode GL_PROJECTION;
-#X obj 87 166 GEMglLoadIdentity;
-#X obj 118 247 unpack 0 0 0 0 0 0;
-#X obj 87 337 GEMglFrustum -1 1 -1 1 1 20;
-#X obj 285 197 t f f;
-#X obj 87 126 GEMglViewport 0 0 250 500;
-#X obj 87 98 inlet gemlist;
-#X obj 87 365 outlet gemlist;
-#X obj 222 43 inlet viewport;
-#X obj 222 66 unpack 0 0 0 0;
-#X obj 428 48 inlet xDivY;
-#X obj 118 224 r \$0-perspec;
-#X obj 237 197 t b b;
-#X obj 118 280 f -1;
-#X obj 159 280 f 1;
-#X obj 118 312 * 0.5;
-#X obj 159 312 * 0.5;
-#X obj 237 175 t b f;
-#X connect 0 0 1 0;
-#X connect 1 0 3 0;
-#X connect 2 0 13 0;
-#X connect 2 1 14 0;
-#X connect 2 2 3 3;
-#X connect 2 3 3 4;
-#X connect 2 4 3 5;
-#X connect 2 5 3 6;
-#X connect 3 0 7 0;
-#X connect 4 0 15 1;
-#X connect 4 1 16 1;
-#X connect 5 0 0 0;
-#X connect 6 0 5 0;
-#X connect 8 0 9 0;
-#X connect 9 0 5 1;
-#X connect 9 1 5 2;
-#X connect 9 2 5 3;
-#X connect 9 3 5 4;
-#X connect 10 0 17 0;
-#X connect 11 0 2 0;
-#X connect 12 0 13 0;
-#X connect 12 1 14 0;
-#X connect 13 0 15 0;
-#X connect 14 0 16 0;
-#X connect 15 0 3 1;
-#X connect 16 0 3 2;
-#X connect 17 0 12 0;
-#X connect 17 1 4 0;
-#X restore 271 181 pd viewport;
-#X msg 308 154 0 0 \$1 \$2;
-#N canvas 0 0 1146 300 lookat 0;
-#X obj 145 108 GEMglMatrixMode GL_MODELVIEW;
-#X obj 145 127 GEMglLoadIdentity;
-#X obj 145 227 GEMgluLookAt 0 0 4 0 0 0 0 1 0;
-#X obj 187 153 unpack 0 0 4 0 0 0 0 1 0;
-#X obj 145 77 inlet gemlist;
-#X obj 145 261 outlet gemlist;
-#X obj 468 65 inlet stereoSep;
-#X obj 598 65 inlet stereoFoc;
-#X obj 317 60 inlet view;
-#X obj 283 198 +;
-#X obj 186 173 t b f;
-#X obj 294 178 t b f;
-#X obj 168 193 + 0.15;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X connect 2 0 5 0;
-#X connect 3 0 12 0;
-#X connect 3 1 2 2;
-#X connect 3 2 2 3;
-#X connect 3 3 2 4;
-#X connect 3 4 2 5;
-#X connect 3 5 9 0;
-#X connect 3 6 2 7;
-#X connect 3 7 2 8;
-#X connect 3 8 2 9;
-#X connect 4 0 0 0;
-#X connect 6 0 10 0;
-#X connect 7 0 11 0;
-#X connect 8 0 3 0;
-#X connect 9 0 2 6;
-#X connect 10 0 12 0;
-#X connect 10 1 12 1;
-#X connect 11 0 9 0;
-#X connect 11 1 9 1;
-#X connect 12 0 2 1;
-#X restore 271 238 pd lookat;
-#X obj 464 110 / 100;
-#X obj 291 207 r \$0-viewpoint;
-#N canvas 138 89 886 440 viewport 0;
-#X obj 87 146 GEMglMatrixMode GL_PROJECTION;
-#X obj 87 166 GEMglLoadIdentity;
-#X obj 118 247 unpack 0 0 0 0 0 0;
-#X obj 87 337 GEMglFrustum -1 1 -1 1 1 20;
-#X obj 285 197 t f f;
-#X obj 87 126 GEMglViewport 0 0 250 500;
-#X obj 87 98 inlet gemlist;
-#X obj 87 365 outlet gemlist;
-#X obj 222 43 inlet viewport;
-#X obj 222 66 unpack 0 0 0 0;
-#X obj 428 48 inlet xDivY;
-#X obj 118 224 r \$0-perspec;
-#X obj 237 197 t b b;
-#X obj 118 280 f -1;
-#X obj 159 280 f 1;
-#X obj 118 312 * 0.5;
-#X obj 159 312 * 0.5;
-#X obj 237 175 t b f;
-#X connect 0 0 1 0;
-#X connect 1 0 3 0;
-#X connect 2 0 13 0;
-#X connect 2 1 14 0;
-#X connect 2 2 3 3;
-#X connect 2 3 3 4;
-#X connect 2 4 3 5;
-#X connect 2 5 3 6;
-#X connect 3 0 7 0;
-#X connect 4 0 15 1;
-#X connect 4 1 16 1;
-#X connect 5 0 0 0;
-#X connect 6 0 5 0;
-#X connect 8 0 9 0;
-#X connect 9 0 5 1;
-#X connect 9 1 5 2;
-#X connect 9 2 5 3;
-#X connect 9 3 5 4;
-#X connect 10 0 17 0;
-#X connect 11 0 2 0;
-#X connect 12 0 13 0;
-#X connect 12 1 14 0;
-#X connect 13 0 15 0;
-#X connect 14 0 16 0;
-#X connect 15 0 3 1;
-#X connect 16 0 3 2;
-#X connect 17 0 12 0;
-#X connect 17 1 4 0;
-#X restore 118 165 pd viewport;
-#N canvas 0 0 1146 300 lookat 0;
-#X obj 145 108 GEMglMatrixMode GL_MODELVIEW;
-#X obj 145 127 GEMglLoadIdentity;
-#X obj 145 227 GEMgluLookAt 0 0 4 0 0 0 0 1 0;
-#X obj 187 153 unpack 0 0 4 0 0 0 0 1 0;
-#X obj 145 77 inlet gemlist;
-#X obj 145 261 outlet gemlist;
-#X obj 468 65 inlet stereoSep;
-#X obj 598 65 inlet stereoFoc;
-#X obj 317 60 inlet view;
-#X obj 283 198 +;
-#X obj 186 173 t b f;
-#X obj 294 178 t b f;
-#X obj 168 193 + -0.15;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X connect 2 0 5 0;
-#X connect 3 0 12 0;
-#X connect 3 1 2 2;
-#X connect 3 2 2 3;
-#X connect 3 3 2 4;
-#X connect 3 4 2 5;
-#X connect 3 5 9 0;
-#X connect 3 6 2 7;
-#X connect 3 7 2 8;
-#X connect 3 8 2 9;
-#X connect 4 0 0 0;
-#X connect 6 0 10 0;
-#X connect 7 0 11 0;
-#X connect 8 0 3 0;
-#X connect 9 0 2 6;
-#X connect 10 0 12 0;
-#X connect 10 1 12 1;
-#X connect 11 0 9 0;
-#X connect 11 1 9 1;
-#X connect 12 0 2 1;
-#X restore 118 238 pd lookat;
-#X obj 138 191 r \$0-viewpoint;
-#X obj 155 94 t l l;
-#X msg 155 142 \$1 0 \$1 \$2;
-#X text 297 110 LEFT;
-#X text 138 121 RIGHT;
-#X obj 458 171 * -1;
-#X obj 402 402 t a;
-#X obj 155 59 inlet width height;
-#X obj 354 67 inlet width/height;
-#X obj 356 92 t f f;
-#X obj 37 66 inlet gemlist;
-#X obj 37 132 t a a;
-#X obj 402 444 outlet gemlist;
-#X obj 74 434 outlet gemlist (OSD);
-#X obj 74 405 t a;
-#X obj 271 289 t a a;
-#N canvas 0 0 1146 300 lookat 0;
-#X obj 145 108 GEMglMatrixMode GL_MODELVIEW;
-#X obj 145 127 GEMglLoadIdentity;
-#X obj 145 227 GEMgluLookAt 0 0 4 0 0 0 0 1 0;
-#X obj 187 153 unpack 0 0 4 0 0 0 0 1 0;
-#X obj 145 77 inlet gemlist;
-#X obj 145 261 outlet gemlist;
-#X obj 468 65 inlet stereoSep;
-#X obj 598 65 inlet stereoFoc;
-#X obj 317 60 inlet view;
-#X obj 283 198 +;
-#X obj 186 173 t b f;
-#X obj 294 178 t b f;
-#X obj 168 193 + 0.15;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X connect 2 0 5 0;
-#X connect 3 0 12 0;
-#X connect 3 1 2 2;
-#X connect 3 2 2 3;
-#X connect 3 3 2 4;
-#X connect 3 4 2 5;
-#X connect 3 5 9 0;
-#X connect 3 6 2 7;
-#X connect 3 7 2 8;
-#X connect 3 8 2 9;
-#X connect 4 0 0 0;
-#X connect 6 0 10 0;
-#X connect 7 0 11 0;
-#X connect 8 0 3 0;
-#X connect 9 0 2 6;
-#X connect 10 0 12 0;
-#X connect 10 1 12 1;
-#X connect 11 0 9 0;
-#X connect 11 1 9 1;
-#X connect 12 0 2 1;
-#X restore 271 351 pd lookat;
-#X obj 92 284 t a a;
-#N canvas 0 0 1146 300 lookat 0;
-#X obj 145 108 GEMglMatrixMode GL_MODELVIEW;
-#X obj 145 127 GEMglLoadIdentity;
-#X obj 145 227 GEMgluLookAt 0 0 4 0 0 0 0 1 0;
-#X obj 187 153 unpack 0 0 4 0 0 0 0 1 0;
-#X obj 145 77 inlet gemlist;
-#X obj 145 261 outlet gemlist;
-#X obj 468 65 inlet stereoSep;
-#X obj 598 65 inlet stereoFoc;
-#X obj 317 60 inlet view;
-#X obj 283 198 +;
-#X obj 186 173 t b f;
-#X obj 294 178 t b f;
-#X obj 168 193 + -0.15;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X connect 2 0 5 0;
-#X connect 3 0 12 0;
-#X connect 3 1 2 2;
-#X connect 3 2 2 3;
-#X connect 3 3 2 4;
-#X connect 3 4 2 5;
-#X connect 3 5 9 0;
-#X connect 3 6 2 7;
-#X connect 3 7 2 8;
-#X connect 3 8 2 9;
-#X connect 4 0 0 0;
-#X connect 6 0 10 0;
-#X connect 7 0 11 0;
-#X connect 8 0 3 0;
-#X connect 9 0 2 6;
-#X connect 10 0 12 0;
-#X connect 10 1 12 1;
-#X connect 11 0 9 0;
-#X connect 11 1 9 1;
-#X connect 12 0 2 1;
-#X restore 176 354 pd lookat;
-#X obj 158 215 t f f;
-#X obj 199 215 t f f;
-#X obj 457 193 t f f;
-#X obj 521 188 t f f;
-#X obj 525 134 t f f;
-#X obj 457 132 t f f;
-#X obj 509 110 r \$0-stereoFocal;
-#X obj 464 89 r \$0-stereoSeparation;
-#N canvas 1545 229 751 300 GemState 0;
-#X obj 138 134 gemlist;
-#X obj 138 18 inlet bang;
-#X obj 138 224 outlet gemlist;
-#X msg 150 111 lighting \$1;
-#X obj 150 92 r \$0-lighting;
-#X msg 347 139 ticktime \$1;
-#X obj 347 96 t b b;
-#X obj 347 116 timer;
-#X obj 138 66 t b b;
-#X obj 372 23 r \$0-buffer;
-#X obj 347 46 i 2;
-#X obj 347 72 select 2;
-#X msg 400 116 50;
-#X connect 0 0 2 0;
-#X connect 1 0 8 0;
-#X connect 3 0 0 0;
-#X connect 4 0 3 0;
-#X connect 5 0 0 0;
-#X connect 6 0 7 0;
-#X connect 6 1 7 1;
-#X connect 7 0 5 0;
-#X connect 8 0 0 0;
-#X connect 8 1 10 0;
-#X connect 9 0 10 1;
-#X connect 10 0 11 0;
-#X connect 11 0 6 0;
-#X connect 11 1 12 0;
-#X connect 12 0 5 0;
-#X restore 271 268 pd GemState;
-#N canvas 1545 229 751 300 GemState0 0;
-#X obj 138 134 gemlist;
-#X obj 138 18 inlet bang;
-#X obj 138 224 outlet gemlist;
-#X msg 150 111 lighting \$1;
-#X obj 150 92 r \$0-lighting;
-#X obj 138 66 t b b;
-#X msg 251 91 ticktime 0;
-#X connect 0 0 2 0;
-#X connect 1 0 5 0;
-#X connect 3 0 0 0;
-#X connect 4 0 3 0;
-#X connect 5 0 0 0;
-#X connect 5 1 6 0;
-#X connect 6 0 0 0;
-#X restore 92 263 pd GemState0;
-#X connect 0 0 2 0;
-#X connect 1 0 0 1;
-#X connect 2 0 34 0;
-#X connect 3 0 31 0;
-#X connect 4 0 2 1;
-#X connect 5 0 6 0;
-#X connect 6 0 35 0;
-#X connect 7 0 6 1;
-#X connect 8 0 9 0;
-#X connect 8 1 1 0;
-#X connect 9 0 5 1;
-#X connect 12 0 28 0;
-#X connect 13 0 19 0;
-#X connect 14 0 8 0;
-#X connect 15 0 16 0;
-#X connect 16 0 5 2;
-#X connect 16 1 0 2;
-#X connect 17 0 18 0;
-#X connect 18 0 5 0;
-#X connect 18 1 0 0;
-#X connect 21 0 20 0;
-#X connect 22 0 23 0;
-#X connect 22 1 13 0;
-#X connect 23 0 21 0;
-#X connect 24 0 25 0;
-#X connect 24 1 13 0;
-#X connect 25 0 21 0;
-#X connect 26 0 6 2;
-#X connect 26 1 25 2;
-#X connect 27 0 6 3;
-#X connect 27 1 25 3;
-#X connect 28 0 2 2;
-#X connect 28 1 23 2;
-#X connect 29 0 2 3;
-#X connect 29 1 23 3;
-#X connect 30 0 27 0;
-#X connect 30 1 29 0;
-#X connect 31 0 26 0;
-#X connect 31 1 12 0;
-#X connect 32 0 30 0;
-#X connect 33 0 3 0;
-#X connect 34 0 22 0;
-#X connect 35 0 24 0;
-#X restore 401 324 pd render-2screen;
-#X connect 0 0 1 0;
-#X connect 1 0 8 0;
-#X connect 1 1 2 0;
-#X connect 2 0 10 0;
-#X connect 3 0 4 0;
-#X connect 3 1 6 1;
-#X connect 3 1 7 1;
-#X connect 4 0 5 0;
-#X connect 5 0 7 0;
-#X connect 5 1 6 0;
-#X connect 6 0 16 2;
-#X connect 7 0 16 1;
-#X connect 8 0 12 0;
-#X connect 8 1 16 0;
-#X connect 10 0 3 0;
-#X connect 10 1 9 1;
-#X connect 11 0 12 1;
-#X connect 12 0 9 0;
-#X connect 13 0 2 1;
-#X connect 16 0 15 0;
-#X connect 16 1 14 0;
-#X restore 194 376 pd 2screenStereo;
-#N canvas 334 50 600 410 stereoDemux 0;
-#X obj 61 67 inlet gemlist;
-#X obj 61 335 outlet normal;
-#X obj 172 338 outlet stereo2;
-#X obj 288 338 outlet anaglyph;
-#X obj 428 338 outlet crystaleye;
-#X obj 481 219 r \$0-stereo;
-#X obj 61 304 spigot 1;
-#X obj 114 283 == 0;
-#X obj 61 201 t a a a a;
-#X obj 172 304 spigot 0;
-#X obj 225 283 == 1;
-#X obj 288 304 spigot 0;
-#X obj 341 283 == 2;
-#X obj 428 304 spigot 0;
-#X obj 481 283 == 3;
-#N canvas 1765 302 450 467 crystaleyetest 0;
-#X obj 91 53 inlet;
-#X obj 214 54 r \$0-stereo;
-#X obj 91 123 spigot 0;
-#X obj 91 149 t a b;
-#X msg 134 149 0;
-#X obj 214 79 select 3;
-#X msg 144 97 1;
-#X obj 91 252 select 0;
-#X obj 91 321 s \$0-stereo;
-#X obj 91 277 t b b;
-#X obj 208 309 print error;
-#X msg 208 274 CrystalGlasses stereo not supported by your gfx-card!
-\, falling back to NO stereo;
-#X obj 91 176 GEMglGetFloatv GL_STEREO;
-#X obj 91 210 t f;
-#X msg 91 300 0;
-#X connect 0 0 2 0;
-#X connect 1 0 5 0;
-#X connect 2 0 3 0;
-#X connect 3 0 12 0;
-#X connect 3 1 4 0;
-#X connect 4 0 2 1;
-#X connect 5 0 6 0;
-#X connect 6 0 2 1;
-#X connect 7 0 9 0;
-#X connect 9 0 14 0;
-#X connect 9 1 11 0;
-#X connect 11 0 10 0;
-#X connect 12 1 13 0;
-#X connect 13 0 7 0;
-#X connect 14 0 8 0;
-#X restore 93 174 pd crystaleyetest;
-#X obj 61 149 t a a;
-#X connect 0 0 16 0;
-#X connect 5 0 7 0;
-#X connect 5 0 10 0;
-#X connect 5 0 12 0;
-#X connect 5 0 14 0;
-#X connect 6 0 1 0;
-#X connect 7 0 6 1;
-#X connect 8 0 6 0;
-#X connect 8 1 9 0;
-#X connect 8 2 11 0;
-#X connect 8 3 13 0;
-#X connect 9 0 2 0;
-#X connect 10 0 9 1;
-#X connect 11 0 3 0;
-#X connect 12 0 11 1;
-#X connect 13 0 4 0;
-#X connect 14 0 13 1;
-#X connect 16 0 8 0;
-#X connect 16 1 15 0;
-#X restore 163 316 pd stereoDemux;
-#N canvas 4 50 436 529 anaglyphStereo 0;
-#X obj 95 70 inlet;
-#X obj 95 90 t a b;
-#X obj 146 142 list append 500 500;
-#X obj 276 122 pack 0 0;
-#X obj 146 182 /;
-#X obj 54 177 t a a;
-#X obj 54 362 GEMglColorMask 1 1 1 1;
-#X obj 276 100 r \$0-realdimen;
-#X obj 282 271 outlet render;
-#X obj 146 265 outlet osd;
-#N canvas 346 0 672 526 renderAnaglyph 0;
-#N canvas 354 89 886 440 viewport 0;
-#X obj 118 247 unpack 0 0 0 0 0 0;
-#X obj 87 337 GEMglFrustum -1 1 -1 1 1 20;
-#X obj 285 197 t f f;
-#X obj 87 98 inlet gemlist;
-#X obj 87 365 outlet gemlist;
-#X obj 428 48 inlet xDivY;
-#X obj 118 224 r \$0-perspec;
-#X obj 237 197 t b b;
-#X obj 118 280 f -1;
-#X obj 159 280 f 1;
-#X obj 118 312 * 0.5;
-#X obj 159 312 * 0.5;
-#X obj 237 175 t b f;
-#X connect 0 0 8 0;
-#X connect 0 1 9 0;
-#X connect 0 2 1 3;
-#X connect 0 3 1 4;
-#X connect 0 4 1 5;
-#X connect 0 5 1 6;
-#X connect 1 0 4 0;
-#X connect 2 0 10 1;
-#X connect 2 1 11 1;
-#X connect 3 0 1 0;
-#X connect 5 0 12 0;
-#X connect 6 0 0 0;
-#X connect 7 0 8 0;
-#X connect 7 1 9 0;
-#X connect 8 0 10 0;
-#X connect 9 0 11 0;
-#X connect 10 0 1 1;
-#X connect 11 0 1 2;
-#X connect 12 0 7 0;
-#X connect 12 1 2 0;
-#X restore 271 251 pd viewport;
-#N canvas 0 0 1146 300 lookat 0;
-#X obj 145 108 GEMglMatrixMode GL_MODELVIEW;
-#X obj 145 127 GEMglLoadIdentity;
-#X obj 145 227 GEMgluLookAt 0 0 4 0 0 0 0 1 0;
-#X obj 187 153 unpack 0 0 4 0 0 0 0 1 0;
-#X obj 145 77 inlet gemlist;
-#X obj 145 261 outlet gemlist;
-#X obj 468 65 inlet stereoSep;
-#X obj 598 65 inlet stereoFoc;
-#X obj 317 60 inlet view;
-#X obj 283 198 +;
-#X obj 186 173 t b f;
-#X obj 294 178 t b f;
-#X obj 168 193 + 0.15;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X connect 2 0 5 0;
-#X connect 3 0 12 0;
-#X connect 3 1 2 2;
-#X connect 3 2 2 3;
-#X connect 3 3 2 4;
-#X connect 3 4 2 5;
-#X connect 3 5 9 0;
-#X connect 3 6 2 7;
-#X connect 3 7 2 8;
-#X connect 3 8 2 9;
-#X connect 4 0 0 0;
-#X connect 6 0 10 0;
-#X connect 7 0 11 0;
-#X connect 8 0 3 0;
-#X connect 9 0 2 6;
-#X connect 10 0 12 0;
-#X connect 10 1 12 1;
-#X connect 11 0 9 0;
-#X connect 11 1 9 1;
-#X connect 12 0 2 1;
-#X restore 271 308 pd lookat;
-#X obj 464 60 / 100;
-#X obj 291 277 r \$0-viewpoint;
-#N canvas 430 24 886 440 viewport 0;
-#X obj 118 247 unpack 0 0 0 0 0 0;
-#X obj 87 337 GEMglFrustum -1 1 -1 1 1 20;
-#X obj 285 197 t f f;
-#X obj 87 98 inlet gemlist;
-#X obj 87 365 outlet gemlist;
-#X obj 428 48 inlet xDivY;
-#X obj 118 224 r \$0-perspec;
-#X obj 237 197 t b b;
-#X obj 118 280 f -1;
-#X obj 159 280 f 1;
-#X obj 118 312 * 0.5;
-#X obj 159 312 * 0.5;
-#X obj 237 175 t b f;
-#X connect 0 0 8 0;
-#X connect 0 1 9 0;
-#X connect 0 2 1 3;
-#X connect 0 3 1 4;
-#X connect 0 4 1 5;
-#X connect 0 5 1 6;
-#X connect 1 0 4 0;
-#X connect 2 0 10 1;
-#X connect 2 1 11 1;
-#X connect 3 0 1 0;
-#X connect 5 0 12 0;
-#X connect 6 0 0 0;
-#X connect 7 0 8 0;
-#X connect 7 1 9 0;
-#X connect 8 0 10 0;
-#X connect 9 0 11 0;
-#X connect 10 0 1 1;
-#X connect 11 0 1 2;
-#X connect 12 0 7 0;
-#X connect 12 1 2 0;
-#X restore 118 235 pd viewport;
-#N canvas 0 0 1146 300 lookat 0;
-#X obj 145 108 GEMglMatrixMode GL_MODELVIEW;
-#X obj 145 127 GEMglLoadIdentity;
-#X obj 145 227 GEMgluLookAt 0 0 4 0 0 0 0 1 0;
-#X obj 187 153 unpack 0 0 4 0 0 0 0 1 0;
-#X obj 145 77 inlet gemlist;
-#X obj 145 261 outlet gemlist;
-#X obj 468 65 inlet stereoSep;
-#X obj 598 65 inlet stereoFoc;
-#X obj 317 60 inlet view;
-#X obj 283 198 +;
-#X obj 186 173 t b f;
-#X obj 294 178 t b f;
-#X obj 168 193 + -0.15;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X connect 2 0 5 0;
-#X connect 3 0 12 0;
-#X connect 3 1 2 2;
-#X connect 3 2 2 3;
-#X connect 3 3 2 4;
-#X connect 3 4 2 5;
-#X connect 3 5 9 0;
-#X connect 3 6 2 7;
-#X connect 3 7 2 8;
-#X connect 3 8 2 9;
-#X connect 4 0 0 0;
-#X connect 6 0 10 0;
-#X connect 7 0 11 0;
-#X connect 8 0 3 0;
-#X connect 9 0 2 6;
-#X connect 10 0 12 0;
-#X connect 10 1 12 1;
-#X connect 11 0 9 0;
-#X connect 11 1 9 1;
-#X connect 12 0 2 1;
-#X restore 118 308 pd lookat;
-#X obj 138 261 r \$0-viewpoint;
-#X text 297 60 LEFT;
-#X text 138 71 RIGHT;
-#X obj 458 121 * -1;
-#X obj 326 453 t a;
-#X obj 354 17 inlet width/height;
-#X obj 356 42 t f f;
-#X obj 37 16 inlet gemlist;
-#X obj 326 495 outlet gemlist;
-#X obj 176 497 outlet gemlist (OSD);
-#X obj 176 468 t a;
-#X obj 271 359 t a a;
-#N canvas 0 0 1146 300 lookat 0;
-#X obj 145 108 GEMglMatrixMode GL_MODELVIEW;
-#X obj 145 127 GEMglLoadIdentity;
-#X obj 145 227 GEMgluLookAt 0 0 4 0 0 0 0 1 0;
-#X obj 187 153 unpack 0 0 4 0 0 0 0 1 0;
-#X obj 145 77 inlet gemlist;
-#X obj 145 261 outlet gemlist;
-#X obj 468 65 inlet stereoSep;
-#X obj 598 65 inlet stereoFoc;
-#X obj 317 60 inlet view;
-#X obj 283 198 +;
-#X obj 186 173 t b f;
-#X obj 294 178 t b f;
-#X obj 168 193 + 0.15;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X connect 2 0 5 0;
-#X connect 3 0 12 0;
-#X connect 3 1 2 2;
-#X connect 3 2 2 3;
-#X connect 3 3 2 4;
-#X connect 3 4 2 5;
-#X connect 3 5 9 0;
-#X connect 3 6 2 7;
-#X connect 3 7 2 8;
-#X connect 3 8 2 9;
-#X connect 4 0 0 0;
-#X connect 6 0 10 0;
-#X connect 7 0 11 0;
-#X connect 8 0 3 0;
-#X connect 9 0 2 6;
-#X connect 10 0 12 0;
-#X connect 10 1 12 1;
-#X connect 11 0 9 0;
-#X connect 11 1 9 1;
-#X connect 12 0 2 1;
-#X restore 271 421 pd lookat;
-#X obj 92 354 t a a;
-#N canvas 0 0 1146 300 lookat 0;
-#X obj 145 108 GEMglMatrixMode GL_MODELVIEW;
-#X obj 145 127 GEMglLoadIdentity;
-#X obj 145 227 GEMgluLookAt 0 0 4 0 0 0 0 1 0;
-#X obj 187 153 unpack 0 0 4 0 0 0 0 1 0;
-#X obj 145 77 inlet gemlist;
-#X obj 145 261 outlet gemlist;
-#X obj 468 65 inlet stereoSep;
-#X obj 598 65 inlet stereoFoc;
-#X obj 317 60 inlet view;
-#X obj 283 198 +;
-#X obj 186 173 t b f;
-#X obj 294 178 t b f;
-#X obj 168 193 + -0.15;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X connect 2 0 5 0;
-#X connect 3 0 12 0;
-#X connect 3 1 2 2;
-#X connect 3 2 2 3;
-#X connect 3 3 2 4;
-#X connect 3 4 2 5;
-#X connect 3 5 9 0;
-#X connect 3 6 2 7;
-#X connect 3 7 2 8;
-#X connect 3 8 2 9;
-#X connect 4 0 0 0;
-#X connect 6 0 10 0;
-#X connect 7 0 11 0;
-#X connect 8 0 3 0;
-#X connect 9 0 2 6;
-#X connect 10 0 12 0;
-#X connect 10 1 12 1;
-#X connect 11 0 9 0;
-#X connect 11 1 9 1;
-#X connect 12 0 2 1;
-#X restore 176 424 pd lookat;
-#X obj 158 285 t f f;
-#X obj 199 285 t f f;
-#X obj 457 143 t f f;
-#X obj 521 138 t f f;
-#X obj 525 84 t f f;
-#X obj 457 82 t f f;
-#X obj 509 60 r \$0-stereoFocal;
-#X obj 464 39 r \$0-stereoSeparation;
-#N canvas 0 0 450 300 colormask 0;
-#X obj 67 232 outlet gemlist;
-#X obj 67 32 inlet gemlist;
-#X obj 246 35 inlet colormask;
-#X obj 90 132 unpack 0 0 0 0;
-#X obj 67 165 GEMglColorMask 1 1 1 1;
-#X connect 1 0 4 0;
-#X connect 2 0 3 0;
-#X connect 3 0 4 1;
-#X connect 3 1 4 2;
-#X connect 3 2 4 3;
-#X connect 3 3 4 4;
-#X connect 4 0 0 0;
-#X restore 116 200 pd colormask;
-#N canvas 0 0 450 300 colormask 0;
-#X obj 67 232 outlet gemlist;
-#X obj 67 32 inlet gemlist;
-#X obj 246 35 inlet colormask;
-#X obj 90 132 unpack 0 0 0 0;
-#X obj 67 165 GEMglColorMask 1 1 1 1;
-#X connect 1 0 4 0;
-#X connect 2 0 3 0;
-#X connect 3 0 4 1;
-#X connect 3 1 4 2;
-#X connect 3 2 4 3;
-#X connect 3 3 4 4;
-#X connect 4 0 0 0;
-#X restore 271 206 pd colormask;
-#X msg 147 162 1 0 0 1;
-#X msg 297 168 0 1 0 1;
-#X obj 198 136 t b b;
-#X obj 37 82 t a a b;
-#N canvas 183 181 841 300 clearmask 0;
-#X obj 113 55 inlet;
-#X obj 113 215 outlet;
-#X obj 113 110 GEMglClear;
-#X obj 113 130 GEMglClear;
-#X obj 113 150 GEMglClear;
-#X obj 113 170 GEMglClear;
-#X obj 483 109 r \$0-clearmask;
-#X obj 191 110 GLdefine GL_COLOR_BUFFER_BIT;
-#X obj 483 129 r \$0-clearmask;
-#X obj 483 149 r \$0-clearmask;
-#X obj 483 169 r \$0-clearmask;
-#X obj 196 79 t b b b b;
-#X obj 191 130 GLdefine GL_DEPTH_BUFFER_BIT;
-#X obj 191 150 GLdefine GL_STENCIL_BUFFER_BIT;
-#X obj 191 170 GLdefine GL_ACCUM_BUFFER_BIT;
-#X obj 415 109 & 16348;
-#X obj 415 129 & 256;
-#X obj 415 149 & 1024;
-#X obj 415 169 & 512;
-#X obj 113 83 t a b;
-#X connect 0 0 19 0;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 4 0 5 0;
-#X connect 5 0 1 0;
-#X connect 6 0 15 1;
-#X connect 7 0 15 0;
-#X connect 8 0 16 1;
-#X connect 9 0 17 1;
-#X connect 10 0 18 1;
-#X connect 11 0 7 0;
-#X connect 11 1 12 0;
-#X connect 11 2 13 0;
-#X connect 11 3 14 0;
-#X connect 12 0 16 0;
-#X connect 13 0 17 0;
-#X connect 14 0 18 0;
-#X connect 15 0 2 1;
-#X connect 16 0 3 1;
-#X connect 17 0 4 1;
-#X connect 18 0 5 1;
-#X connect 19 0 2 0;
-#X connect 19 1 11 0;
-#X restore 37 57 pd clearmask;
-#N canvas 1545 229 751 300 GemState 0;
-#X obj 138 134 gemlist;
-#X obj 138 18 inlet bang;
-#X obj 138 224 outlet gemlist;
-#X msg 150 111 lighting \$1;
-#X obj 150 92 r \$0-lighting;
-#X msg 347 139 ticktime \$1;
-#X obj 347 96 t b b;
-#X obj 347 116 timer;
-#X obj 138 66 t b b;
-#X obj 372 23 r \$0-buffer;
-#X obj 347 46 i 2;
-#X obj 347 72 select 2;
-#X msg 400 116 50;
-#X connect 0 0 2 0;
-#X connect 1 0 8 0;
-#X connect 3 0 0 0;
-#X connect 4 0 3 0;
-#X connect 5 0 0 0;
-#X connect 6 0 7 0;
-#X connect 6 1 7 1;
-#X connect 7 0 5 0;
-#X connect 8 0 0 0;
-#X connect 8 1 10 0;
-#X connect 9 0 10 1;
-#X connect 10 0 11 0;
-#X connect 11 0 6 0;
-#X connect 11 1 12 0;
-#X connect 12 0 5 0;
-#X restore 271 333 pd GemState;
-#N canvas 1545 229 751 300 GemState0 0;
-#X obj 138 134 gemlist;
-#X obj 138 18 inlet bang;
-#X obj 138 224 outlet gemlist;
-#X msg 150 111 lighting \$1;
-#X obj 150 92 r \$0-lighting;
-#X obj 138 66 t b b;
-#X msg 251 91 ticktime 0;
-#X connect 0 0 2 0;
-#X connect 1 0 5 0;
-#X connect 3 0 0 0;
-#X connect 4 0 3 0;
-#X connect 5 0 0 0;
-#X connect 5 1 6 0;
-#X connect 6 0 0 0;
-#X restore 92 331 pd GemState0;
-#X connect 0 0 1 0;
-#X connect 1 0 36 0;
-#X connect 2 0 26 0;
-#X connect 3 0 1 1;
-#X connect 4 0 5 0;
-#X connect 5 0 37 0;
-#X connect 6 0 5 1;
-#X connect 9 0 23 0;
-#X connect 10 0 14 0;
-#X connect 11 0 12 0;
-#X connect 12 0 4 1;
-#X connect 12 1 0 1;
-#X connect 13 0 35 0;
-#X connect 16 0 15 0;
-#X connect 17 0 18 0;
-#X connect 17 1 10 0;
-#X connect 18 0 16 0;
-#X connect 19 0 20 0;
-#X connect 19 1 10 0;
-#X connect 20 0 16 0;
-#X connect 21 0 5 2;
-#X connect 21 1 20 2;
-#X connect 22 0 5 3;
-#X connect 22 1 20 3;
-#X connect 23 0 1 2;
-#X connect 23 1 18 2;
-#X connect 24 0 1 3;
-#X connect 24 1 18 3;
-#X connect 25 0 22 0;
-#X connect 25 1 24 0;
-#X connect 26 0 21 0;
-#X connect 26 1 9 0;
-#X connect 27 0 25 0;
-#X connect 28 0 2 0;
-#X connect 29 0 4 0;
-#X connect 30 0 0 0;
-#X connect 31 0 29 1;
-#X connect 32 0 30 1;
-#X connect 33 0 31 0;
-#X connect 33 1 32 0;
-#X connect 34 0 29 0;
-#X connect 34 1 30 0;
-#X connect 34 2 33 0;
-#X connect 35 0 34 0;
-#X connect 36 0 17 0;
-#X connect 37 0 19 0;
-#X restore 86 229 pd renderAnaglyph;
-#X connect 0 0 1 0;
-#X connect 1 0 5 0;
-#X connect 1 1 2 0;
-#X connect 2 0 4 0;
-#X connect 3 0 2 1;
-#X connect 4 0 10 1;
-#X connect 5 0 6 0;
-#X connect 5 1 10 0;
-#X connect 7 0 3 0;
-#X connect 10 0 9 0;
-#X connect 10 1 8 0;
-#X restore 226 356 pd anaglyphStereo;
-#N canvas 519 50 506 526 CrystalEyeStereo 0;
-#X obj 95 70 inlet;
-#X obj 95 90 t a b;
-#X obj 146 142 list append 500 500;
-#X obj 276 122 pack 0 0;
-#X obj 146 182 /;
-#X obj 54 177 t a a;
-#X obj 54 362 GEMglColorMask 1 1 1 1;
-#X obj 276 100 r \$0-realdimen;
-#X obj 86 265 outlet osd;
-#X obj 216 271 outlet render;
-#N canvas 352 0 672 526 renderCrystalEye 0;
-#N canvas 465 62 886 440 viewport 0;
-#X obj 118 247 unpack 0 0 0 0 0 0;
-#X obj 87 337 GEMglFrustum -1 1 -1 1 1 20;
-#X obj 285 197 t f f;
-#X obj 87 98 inlet gemlist;
-#X obj 87 365 outlet gemlist;
-#X obj 428 48 inlet xDivY;
-#X obj 118 224 r \$0-perspec;
-#X obj 237 197 t b b;
-#X obj 118 280 f -1;
-#X obj 159 280 f 1;
-#X obj 118 312 * 0.5;
-#X obj 159 312 * 0.5;
-#X obj 237 175 t b f;
-#X obj 87 124 GEMglMatrixMode GL_PROJECTION;
-#X obj 87 145 GEMglLoadIdentity;
-#X connect 0 0 8 0;
-#X connect 0 1 9 0;
-#X connect 0 2 1 3;
-#X connect 0 3 1 4;
-#X connect 0 4 1 5;
-#X connect 0 5 1 6;
-#X connect 1 0 4 0;
-#X connect 2 0 10 1;
-#X connect 2 1 11 1;
-#X connect 3 0 13 0;
-#X connect 5 0 12 0;
-#X connect 6 0 0 0;
-#X connect 7 0 8 0;
-#X connect 7 1 9 0;
-#X connect 8 0 10 0;
-#X connect 9 0 11 0;
-#X connect 10 0 1 1;
-#X connect 11 0 1 2;
-#X connect 12 0 7 0;
-#X connect 12 1 2 0;
-#X connect 13 0 14 0;
-#X connect 14 0 1 0;
-#X restore 271 151 pd viewport;
-#N canvas 1263 50 1146 410 lookat 0;
-#X obj 145 227 GEMglLoadIdentity;
-#X obj 145 327 GEMgluLookAt 0 0 4 0 0 0 0 1 0;
-#X obj 187 253 unpack 0 0 4 0 0 0 0 1 0;
-#X obj 145 77 inlet gemlist;
-#X obj 145 361 outlet gemlist;
-#X obj 468 65 inlet stereoSep;
-#X obj 598 65 inlet stereoFoc;
-#X obj 317 60 inlet view;
-#X obj 283 298 +;
-#X obj 186 273 t b f;
-#X obj 294 278 t b f;
-#X obj 168 293 + 0.15;
-#X connect 0 0 1 0;
-#X connect 1 0 4 0;
-#X connect 2 0 11 0;
-#X connect 2 1 1 2;
-#X connect 2 2 1 3;
-#X connect 2 3 1 4;
-#X connect 2 4 1 5;
-#X connect 2 5 8 0;
-#X connect 2 6 1 7;
-#X connect 2 7 1 8;
-#X connect 2 8 1 9;
-#X connect 3 0 0 0;
-#X connect 5 0 9 0;
-#X connect 6 0 10 0;
-#X connect 7 0 2 0;
-#X connect 8 0 1 6;
-#X connect 9 0 11 0;
-#X connect 9 1 11 1;
-#X connect 10 0 8 0;
-#X connect 10 1 8 1;
-#X connect 11 0 1 1;
-#X restore 271 248 pd lookat;
-#X obj 464 110 / 100;
-#X obj 291 217 r \$0-viewpoint;
-#N canvas 138 136 886 440 viewport 0;
-#X obj 118 247 unpack 0 0 0 0 0 0;
-#X obj 87 337 GEMglFrustum -1 1 -1 1 1 20;
-#X obj 285 197 t f f;
-#X obj 87 98 inlet gemlist;
-#X obj 87 365 outlet gemlist;
-#X obj 428 48 inlet xDivY;
-#X obj 118 224 r \$0-perspec;
-#X obj 237 197 t b b;
-#X obj 118 280 f -1;
-#X obj 159 280 f 1;
-#X obj 118 312 * 0.5;
-#X obj 159 312 * 0.5;
-#X obj 237 175 t b f;
-#X obj 87 124 GEMglMatrixMode GL_PROJECTION;
-#X obj 87 144 GEMglLoadIdentity;
-#X connect 0 0 8 0;
-#X connect 0 1 9 0;
-#X connect 0 2 1 3;
-#X connect 0 3 1 4;
-#X connect 0 4 1 5;
-#X connect 0 5 1 6;
-#X connect 1 0 4 0;
-#X connect 2 0 10 1;
-#X connect 2 1 11 1;
-#X connect 3 0 13 0;
-#X connect 5 0 12 0;
-#X connect 6 0 0 0;
-#X connect 7 0 8 0;
-#X connect 7 1 9 0;
-#X connect 8 0 10 0;
-#X connect 9 0 11 0;
-#X connect 10 0 1 1;
-#X connect 11 0 1 2;
-#X connect 12 0 7 0;
-#X connect 12 1 2 0;
-#X connect 13 0 14 0;
-#X connect 14 0 1 0;
-#X restore 118 125 pd viewport;
-#N canvas 0 0 1146 300 lookat 0;
-#X obj 145 127 GEMglLoadIdentity;
-#X obj 145 227 GEMgluLookAt 0 0 4 0 0 0 0 1 0;
-#X obj 187 153 unpack 0 0 4 0 0 0 0 1 0;
-#X obj 145 77 inlet gemlist;
-#X obj 145 261 outlet gemlist;
-#X obj 468 65 inlet stereoSep;
-#X obj 598 65 inlet stereoFoc;
-#X obj 317 60 inlet view;
-#X obj 283 198 +;
-#X obj 186 173 t b f;
-#X obj 294 178 t b f;
-#X obj 168 193 + -0.15;
-#X connect 0 0 1 0;
-#X connect 1 0 4 0;
-#X connect 2 0 11 0;
-#X connect 2 1 1 2;
-#X connect 2 2 1 3;
-#X connect 2 3 1 4;
-#X connect 2 4 1 5;
-#X connect 2 5 8 0;
-#X connect 2 6 1 7;
-#X connect 2 7 1 8;
-#X connect 2 8 1 9;
-#X connect 3 0 0 0;
-#X connect 5 0 9 0;
-#X connect 6 0 10 0;
-#X connect 7 0 2 0;
-#X connect 8 0 1 6;
-#X connect 9 0 11 0;
-#X connect 9 1 11 1;
-#X connect 10 0 8 0;
-#X connect 10 1 8 1;
-#X connect 11 0 1 1;
-#X restore 118 248 pd lookat;
-#X obj 138 201 r \$0-viewpoint;
-#X text 297 60 LEFT;
-#X obj 458 171 * -1;
-#X obj 450 378 t a;
-#X obj 354 67 inlet width/height;
-#X obj 356 92 t f f;
-#X obj 37 66 inlet gemlist;
-#X obj 450 420 outlet gemlist;
-#X obj 176 437 outlet gemlist (OSD);
-#X obj 176 408 t a;
-#X obj 271 299 t a a;
-#N canvas 0 0 1146 300 lookat 0;
-#X obj 145 108 GEMglMatrixMode GL_MODELVIEW;
-#X obj 145 127 GEMglLoadIdentity;
-#X obj 145 227 GEMgluLookAt 0 0 4 0 0 0 0 1 0;
-#X obj 187 153 unpack 0 0 4 0 0 0 0 1 0;
-#X obj 145 77 inlet gemlist;
-#X obj 145 261 outlet gemlist;
-#X obj 468 65 inlet stereoSep;
-#X obj 598 65 inlet stereoFoc;
-#X obj 317 60 inlet view;
-#X obj 283 198 +;
-#X obj 186 173 t b f;
-#X obj 294 178 t b f;
-#X obj 168 193 + 0.15;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X connect 2 0 5 0;
-#X connect 3 0 12 0;
-#X connect 3 1 2 2;
-#X connect 3 2 2 3;
-#X connect 3 3 2 4;
-#X connect 3 4 2 5;
-#X connect 3 5 9 0;
-#X connect 3 6 2 7;
-#X connect 3 7 2 8;
-#X connect 3 8 2 9;
-#X connect 4 0 0 0;
-#X connect 6 0 10 0;
-#X connect 7 0 11 0;
-#X connect 8 0 3 0;
-#X connect 9 0 2 6;
-#X connect 10 0 12 0;
-#X connect 10 1 12 1;
-#X connect 11 0 9 0;
-#X connect 11 1 9 1;
-#X connect 12 0 2 1;
-#X restore 271 361 pd lookat;
-#X obj 92 294 t a a;
-#N canvas 0 0 1146 300 lookat 0;
-#X obj 145 108 GEMglMatrixMode GL_MODELVIEW;
-#X obj 145 127 GEMglLoadIdentity;
-#X obj 145 227 GEMgluLookAt 0 0 4 0 0 0 0 1 0;
-#X obj 187 153 unpack 0 0 4 0 0 0 0 1 0;
-#X obj 145 77 inlet gemlist;
-#X obj 145 261 outlet gemlist;
-#X obj 468 65 inlet stereoSep;
-#X obj 598 65 inlet stereoFoc;
-#X obj 317 60 inlet view;
-#X obj 283 198 +;
-#X obj 186 173 t b f;
-#X obj 294 178 t b f;
-#X obj 168 193 + -0.15;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X connect 2 0 5 0;
-#X connect 3 0 12 0;
-#X connect 3 1 2 2;
-#X connect 3 2 2 3;
-#X connect 3 3 2 4;
-#X connect 3 4 2 5;
-#X connect 3 5 9 0;
-#X connect 3 6 2 7;
-#X connect 3 7 2 8;
-#X connect 3 8 2 9;
-#X connect 4 0 0 0;
-#X connect 6 0 10 0;
-#X connect 7 0 11 0;
-#X connect 8 0 3 0;
-#X connect 9 0 2 6;
-#X connect 10 0 12 0;
-#X connect 10 1 12 1;
-#X connect 11 0 9 0;
-#X connect 11 1 9 1;
-#X connect 12 0 2 1;
-#X restore 176 364 pd lookat;
-#X obj 158 225 t f f;
-#X obj 199 225 t f f;
-#X obj 457 193 t f f;
-#X obj 521 188 t f f;
-#X obj 525 134 t f f;
-#X obj 457 132 t f f;
-#X obj 509 110 r \$0-stereoFocal;
-#X obj 464 89 r \$0-stereoSeparation;
-#N canvas 558 127 450 370 left 0;
-#X obj 90 158 GEMglDrawBuffer GL_BACK_LEFT;
-#X obj 90 252 GEMglClear;
-#X obj 157 203 GLdefine GL_COLOR_BUFFER_BIT;
-#X obj 157 227 |;
-#X obj 157 181 t b b;
-#X obj 189 227 GLdefine GL_DEPTH_BUFFER_BIT;
-#X obj 90 181 t a b;
-#X obj 90 86 inlet gemlist;
-#X obj 90 282 outlet gemlist;
-#X obj 90 118 GEMglMatrixMode GL_MODELVIEW;
-#X connect 0 0 6 0;
-#X connect 1 0 8 0;
-#X connect 2 0 3 0;
-#X connect 3 0 1 1;
-#X connect 4 0 2 0;
-#X connect 4 1 5 0;
-#X connect 5 0 3 1;
-#X connect 6 0 1 0;
-#X connect 6 1 4 0;
-#X connect 7 0 9 0;
-#X connect 9 0 0 0;
-#X restore 271 181 pd left;
-#N canvas 517 117 450 370 right 0;
-#X obj 90 76 inlet gemlist;
-#X obj 90 282 outlet gemlist;
-#X obj 90 158 GEMglDrawBuffer GL_BACK_RIGHT;
-#X obj 90 252 GEMglClear;
-#X obj 157 203 GLdefine GL_COLOR_BUFFER_BIT;
-#X obj 157 227 |;
-#X obj 157 181 t b b;
-#X obj 189 227 GLdefine GL_DEPTH_BUFFER_BIT;
-#X obj 90 181 t a b;
-#X obj 90 108 GEMglMatrixMode GL_MODELVIEW;
-#X connect 0 0 9 0;
-#X connect 2 0 8 0;
-#X connect 3 0 1 0;
-#X connect 4 0 5 0;
-#X connect 5 0 3 1;
-#X connect 6 0 4 0;
-#X connect 6 1 7 0;
-#X connect 7 0 5 1;
-#X connect 8 0 3 0;
-#X connect 8 1 6 0;
-#X connect 9 0 2 0;
-#X restore 118 165 pd right;
-#N canvas 0 0 450 300 clear 0;
-#X obj 90 252 GEMglClear;
-#X obj 157 204 GLdefine GL_DEPTH_BUFFER_BIT;
-#X obj 90 181 t a b;
-#X obj 157 227 & 256;
-#X obj 216 182 r \$0-clearmask;
-#X obj 90 148 inlet gemlist;
-#X obj 90 278 outlet gemlist;
-#X connect 0 0 6 0;
-#X connect 1 0 3 0;
-#X connect 2 0 0 0;
-#X connect 2 1 1 0;
-#X connect 3 0 0 1;
-#X connect 4 0 3 1;
-#X connect 5 0 2 0;
-#X restore 118 93 pd clear;
-#X obj 37 88 t a a;
-#X text 130 78 RIGHT;
-#N canvas 1545 229 751 300 GemState 0;
-#X obj 138 134 gemlist;
-#X obj 138 18 inlet bang;
-#X obj 138 224 outlet gemlist;
-#X msg 150 111 lighting \$1;
-#X obj 150 92 r \$0-lighting;
-#X msg 347 139 ticktime \$1;
-#X obj 347 96 t b b;
-#X obj 347 116 timer;
-#X obj 138 66 t b b;
-#X obj 372 23 r \$0-buffer;
-#X obj 347 46 i 2;
-#X obj 347 72 select 2;
-#X msg 400 116 50;
-#X connect 0 0 2 0;
-#X connect 1 0 8 0;
-#X connect 3 0 0 0;
-#X connect 4 0 3 0;
-#X connect 5 0 0 0;
-#X connect 6 0 7 0;
-#X connect 6 1 7 1;
-#X connect 7 0 5 0;
-#X connect 8 0 0 0;
-#X connect 8 1 10 0;
-#X connect 9 0 10 1;
-#X connect 10 0 11 0;
-#X connect 11 0 6 0;
-#X connect 11 1 12 0;
-#X connect 12 0 5 0;
-#X restore 271 279 pd GemState;
-#N canvas 1545 229 751 300 GemState0 0;
-#X obj 138 134 gemlist;
-#X obj 138 18 inlet bang;
-#X obj 138 224 outlet gemlist;
-#X msg 150 111 lighting \$1;
-#X obj 150 92 r \$0-lighting;
-#X obj 138 66 t b b;
-#X msg 251 91 ticktime 0;
-#X connect 0 0 2 0;
-#X connect 1 0 5 0;
-#X connect 3 0 0 0;
-#X connect 4 0 3 0;
-#X connect 5 0 0 0;
-#X connect 5 1 6 0;
-#X connect 6 0 0 0;
-#X restore 92 274 pd GemState0;
-#X connect 0 0 28 0;
-#X connect 1 0 33 0;
-#X connect 2 0 25 0;
-#X connect 3 0 1 1;
-#X connect 4 0 29 0;
-#X connect 5 0 34 0;
-#X connect 6 0 5 1;
-#X connect 8 0 22 0;
-#X connect 9 0 13 0;
-#X connect 10 0 11 0;
-#X connect 11 0 4 1;
-#X connect 11 1 0 1;
-#X connect 12 0 31 0;
-#X connect 15 0 14 0;
-#X connect 16 0 17 0;
-#X connect 16 1 9 0;
-#X connect 17 0 15 0;
-#X connect 18 0 19 0;
-#X connect 18 1 9 0;
-#X connect 19 0 15 0;
-#X connect 20 0 5 2;
-#X connect 20 1 19 2;
-#X connect 21 0 5 3;
-#X connect 21 1 19 3;
-#X connect 22 0 1 2;
-#X connect 22 1 17 2;
-#X connect 23 0 1 3;
-#X connect 23 1 17 3;
-#X connect 24 0 21 0;
-#X connect 24 1 23 0;
-#X connect 25 0 20 0;
-#X connect 25 1 8 0;
-#X connect 26 0 24 0;
-#X connect 27 0 2 0;
-#X connect 28 0 1 0;
-#X connect 29 0 5 0;
-#X connect 30 0 4 0;
-#X connect 31 0 30 0;
-#X connect 31 1 0 0;
-#X connect 33 0 16 0;
-#X connect 34 0 18 0;
-#X restore 86 229 pd renderCrystalEye;
-#X connect 0 0 1 0;
-#X connect 1 0 5 0;
-#X connect 1 1 2 0;
-#X connect 2 0 4 0;
-#X connect 3 0 2 1;
-#X connect 4 0 10 1;
-#X connect 5 0 6 0;
-#X connect 5 1 10 0;
-#X connect 7 0 3 0;
-#X connect 10 0 8 0;
-#X connect 10 1 9 0;
-#X restore 258 336 pd CrystalEyeStereo;
-#X obj 131 476 GEMglReportError;
-#X msg 390 149 1000 \$1;
-#X obj 390 171 /;
-#X obj 131 189 metro 20;
-#N canvas 274 226 751 300 GemState 0;
-#X obj 138 134 gemlist;
-#X obj 138 18 inlet bang;
-#X obj 138 224 outlet gemlist;
-#X msg 149 112 lighting \$1;
-#X obj 150 92 r \$0-lighting;
-#X msg 347 139 ticktime \$1;
-#X obj 347 96 t b b;
-#X obj 347 116 timer;
-#X obj 138 66 t b b;
-#X obj 372 23 r \$0-buffer;
-#X obj 347 46 i 2;
-#X obj 347 72 select 2;
-#X msg 400 116 50;
-#X connect 0 0 2 0;
-#X connect 1 0 8 0;
-#X connect 3 0 0 0;
-#X connect 4 0 3 0;
-#X connect 5 0 0 0;
-#X connect 6 0 7 0;
-#X connect 6 1 7 1;
-#X connect 7 0 5 0;
-#X connect 8 0 0 0;
-#X connect 8 1 10 0;
-#X connect 9 0 10 1;
-#X connect 10 0 11 0;
-#X connect 11 0 6 0;
-#X connect 11 1 12 0;
-#X connect 12 0 5 0;
-#X restore 131 230 pd GemState;
-#X obj 390 126 r \$0-rate;
-#X obj 131 168 r \$0-render;
-#X obj 131 279 t a a;
-#X obj 163 429 t a;
-#X obj 303 429 t a;
-#N canvas 3 45 682 270 send2gemhead 1;
-#X obj 83 46 inlet OSD;
-#X obj 323 42 inlet view;
-#X obj 173 68 r \$0-gemheadbasename;
-#X obj 173 90 symbol;
-#X msg 173 134 symbol \$1_osd;
-#X obj 83 179 s;
-#X obj 323 179 s;
-#X obj 173 112 t s s;
-#X connect 0 0 5 0;
-#X connect 1 0 6 0;
-#X connect 2 0 3 0;
-#X connect 3 0 7 0;
-#X connect 4 0 5 1;
-#X connect 7 0 4 0;
-#X connect 7 1 6 1;
-#X restore 192 455 pd send2gemhead;
-#X connect 0 0 10 0;
-#X connect 4 0 21 0;
-#X connect 4 1 8 0;
-#X connect 7 0 2 0;
-#X connect 11 0 24 0;
-#X connect 12 0 25 0;
-#X connect 12 1 26 0;
-#X connect 13 0 25 0;
-#X connect 13 1 26 0;
-#X connect 14 0 12 0;
-#X connect 14 1 13 0;
-#X connect 14 2 15 0;
-#X connect 14 3 16 0;
-#X connect 15 0 25 0;
-#X connect 15 1 26 0;
-#X connect 16 0 25 0;
-#X connect 16 1 26 0;
-#X connect 18 0 19 0;
-#X connect 19 0 20 1;
-#X connect 20 0 4 0;
-#X connect 21 0 11 0;
-#X connect 22 0 18 0;
-#X connect 23 0 20 0;
-#X connect 24 0 17 0;
-#X connect 24 1 14 0;
-#X connect 25 0 27 0;
-#X connect 26 0 27 1;
+#N canvas 84 45 937 526 10;
+#X obj 126 104 inlet;
+#X obj 119 508 outlet;
+#N canvas 3 45 1018 458 argument 0;
+#X obj 291 213 list append \$1;
+#X obj 291 234 route float;
+#X obj 312 33 inlet;
+#X obj 291 256 * -1;
+#X obj 291 276 moses;
+#X obj 291 298 * -1;
+#X msg 365 303 20;
+#X obj 365 278 t b;
+#X obj 291 337 t f;
+#X obj 291 375 s \$0-rate;
+#X obj 678 271 list prepend \$2;
+#X obj 599 388 symbol;
+#X obj 599 151 t b b;
+#X obj 599 225 select sym;
+#X obj 599 203 symbol \$2_;
+#X obj 670 203 makefilename %s2_;
+#X msg 670 176 symbol $;
+#X msg 599 347 __gem_render;
+#X msg 678 347 __gem_render\$1;
+#X obj 678 249 t b;
+#X obj 291 98 t b b;
+#X obj 599 410 s \$0-gemheadbasename;
+#X connect 0 0 1 0;
+#X connect 1 0 3 0;
+#X connect 1 1 7 0;
+#X connect 2 0 20 0;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 4 1 6 0;
+#X connect 5 0 8 0;
+#X connect 6 0 8 0;
+#X connect 7 0 6 0;
+#X connect 8 0 9 0;
+#X connect 10 0 18 0;
+#X connect 11 0 21 0;
+#X connect 12 0 14 0;
+#X connect 12 1 16 0;
+#X connect 13 0 17 0;
+#X connect 13 1 19 0;
+#X connect 14 0 13 0;
+#X connect 15 0 13 1;
+#X connect 16 0 15 0;
+#X connect 17 0 11 0;
+#X connect 18 0 11 0;
+#X connect 19 0 10 0;
+#X connect 20 0 0 0;
+#X connect 20 1 12 0;
+#X restore 390 87 pd argument;
+#N canvas 1569 63 991 633 messages 0;
+#X text 94 19 bang float render title create createStereo createstereo
+buffer fullscreen menubar secondscreen dimen offset color clearmask
+perspec view fog fogcolor fogmode ambient specular shininess cursor
+blur reset destroy print profile lighting stereo stereoSep stereosep
+stereoFoc stereofoc stereoLine stereoline border frame fps topmost
+FSAA;
+#X text 66 132 window specific:;
+#X text 113 152 title create buffer fullscreen menubar secondscreen
+dimen offset cursor reset destroy print border topmost FSAA;
+#X text 121 217 createStereo createstereo stereo stereoSep stereosep
+stereoFoc stereofoc stereoLine stereoline;
+#X text 72 339 lighting/color:;
+#X text 128 293 view perspec;
+#X text 120 356 color clearmask ambient specular shininess lighting
+;
+#X text 106 413 fog fogcolor fogmode;
+#X text 73 390 fog:;
+#X text 70 275 viewpoint:;
+#X text 66 203 stereo:;
+#X text 80 471 bang float render buffer blur reset destroy print profile
+frame fps;
+#X text 72 452 misc:;
+#X text 66 524 multiple:;
+#X text 106 544 buffer reset print;
+#X text 71 589 unused:;
+#X text 112 604 blur;
+#X restore 230 59 pd messages;
+#N canvas 124 50 901 630 window 0;
+#X obj 282 340 t a;
+#X obj 282 389 t a;
+#X obj 282 574 outlet;
+#X text 417 23 messages to be understood:;
+#N canvas 0 0 450 300 messages 0;
+#X text 22 100 create destroy dimen offset secondscreen fullscreen
+cursor menubar border title topmost buffer reset print FSAA;
+#X restore 639 19 pd messages;
+#X text 458 91 create destroy;
+#X text 459 112 cursor menubar topmost;
+#X text 459 51 dimen offset secondscreen fullscreen border title;
+#X text 459 71 buffer FSAA;
+#X text 460 131 reset;
+#X text 462 150 print;
+#X text 350 70 rendercontext:;
+#X text 335 92 window creation:;
+#X text 333 111 live decoration:;
+#X text 318 50 window-decoration:;
+#X text 333 131 default:;
+#X text 333 154 info:;
+#N canvas 0 0 450 399 creation/destruction 0;
+#X obj 96 221 list prepend create;
+#X obj 96 303 outlet gemwin;
+#X obj 96 272 t a;
+#X obj 96 196 r \$0-create;
+#X obj 275 197 r \$0-destroy;
+#X msg 275 221 destroy;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 0 0;
+#X connect 4 0 5 0;
+#X connect 5 0 2 0;
+#X restore 124 201 pd creation/destruction;
+#N canvas 271 109 611 377 window-decoration 0;
+#X obj 451 282 outlet gemwin;
+#X text 125 101 size;
+#X text 112 167 position;
+#X text 112 229 decoration;
+#X obj 204 88 r \$0-dimen;
+#X msg 204 116 dimen \$1 \$2;
+#X obj 301 88 r \$0-fullscreen;
+#X msg 301 116 fullscreen \$1;
+#X obj 206 151 r \$0-offset;
+#X msg 206 179 offset \$1 \$2;
+#X obj 303 151 r \$0-secondscreen;
+#X msg 303 179 secondscreen \$1;
+#X obj 206 211 r \$0-border;
+#X msg 206 239 border \$1;
+#X obj 303 211 r \$0-title;
+#X obj 303 238 list prepend title;
+#X obj 451 100 t a;
+#X obj 451 160 t a;
+#X obj 451 223 t a;
+#X connect 4 0 5 0;
+#X connect 5 0 16 0;
+#X connect 6 0 7 0;
+#X connect 7 0 16 0;
+#X connect 8 0 9 0;
+#X connect 9 0 17 0;
+#X connect 10 0 11 0;
+#X connect 11 0 17 0;
+#X connect 12 0 13 0;
+#X connect 13 0 18 0;
+#X connect 14 0 15 0;
+#X connect 15 0 18 0;
+#X connect 16 0 17 0;
+#X connect 17 0 18 0;
+#X connect 18 0 0 0;
+#X restore 124 172 pd window-decoration;
+#N canvas 401 296 464 399 live 0;
+#X obj 92 273 outlet gemwin;
+#X obj 92 235 t a;
+#X text 44 67 appearance that is changeable after window has been made
+;
+#X obj 92 123 r \$0-cursor;
+#X msg 92 147 cursor \$1;
+#X obj 182 123 r \$0-menubar;
+#X msg 182 147 menubar \$1;
+#X obj 277 123 r \$0-topmost;
+#X msg 277 147 topmost \$1;
+#X connect 1 0 0 0;
+#X connect 3 0 4 0;
+#X connect 4 0 1 0;
+#X connect 5 0 6 0;
+#X connect 6 0 1 0;
+#X connect 7 0 8 0;
+#X connect 8 0 1 0;
+#X restore 124 241 pd live decoration;
+#X obj 282 502 t b;
+#X text 113 485 context established \, now draw!;
+#X obj 439 557 route mouse keyboard dimen offset info;
+#X obj 439 535 outlet info;
+#X obj 282 288 t a;
+#X obj 282 309 list trim;
+#X text 435 479 info callbacks;
+#X text 449 495 (LATER: trigger these by sending their name (without
+args) into the object);
+#N canvas 1331 424 855 424 default 0;
+#X obj 56 80 inlet;
+#X obj 56 122 route reset;
+#X obj 31 186 outlet;
+#X obj 195 216 outlet gemwin;
+#X obj 195 154 t b;
+#X msg 195 177 dimen 500 500 \, offset 0 0 \, fullscreen 0 \, title
+GEM \, buffer 2 \, cursor 1 \, topmost 0;
+#X connect 0 0 1 0;
+#X connect 1 0 4 0;
+#X connect 1 1 2 0;
+#X connect 4 0 5 0;
+#X connect 5 0 2 0;
+#X restore 34 166 pd default;
+#N canvas 0 0 450 300 info 0;
+#X obj 195 216 outlet gemwin;
+#X obj 195 189 list prepend print;
+#X obj 195 159 r \$0-print;
+#X connect 1 0 0 0;
+#X connect 2 0 1 0;
+#X restore 124 262 pd info;
+#X obj 282 361 gemdefaultwindow;
+#X obj 565 431 s \$0-realdimen;
+#X obj 333 254 inlet;
+#X obj 282 425 route bang;
+#X obj 348 449 t a a;
+#X obj 460 411 route mouse keyboard dimen offset info;
+#X connect 0 0 30 0;
+#X connect 1 0 33 0;
+#X connect 17 0 24 0;
+#X connect 18 0 24 0;
+#X connect 19 0 24 0;
+#X connect 20 0 2 0;
+#X connect 24 0 25 0;
+#X connect 25 0 0 0;
+#X connect 29 0 24 0;
+#X connect 30 0 1 0;
+#X connect 32 0 0 0;
+#X connect 33 0 20 0;
+#X connect 33 1 34 0;
+#X connect 34 0 23 0;
+#X connect 34 1 35 0;
+#X connect 35 2 31 0;
+#X restore 131 210 pd window;
+#X text 55 19 meant as a modular replacement for the internal [gemwin]
+;
+#X text 53 38 TODO: quite everything;
+#X obj 390 60 loadbang;
+#N canvas 0 0 450 300 keyboard 0;
+#X obj 122 32 inlet;
+#X obj 122 189 s __gem_keyboard;
+#X obj 265 191 s __gem_mouse;
+#X obj 122 109 route keyboard mouse;
+#X obj 181 269 outlet;
+#X obj 122 65 s __gem;
+#X connect 0 0 5 0;
+#X connect 3 0 1 0;
+#X connect 3 1 2 0;
+#X connect 3 2 4 0;
+#X restore 637 371 pd keyboard & mouse;
+#N canvas 64 81 1119 651 README 0;
+#X text 34 30 a new gemwin;
+#X text 67 145 this has some major drawbacks:;
+#X text 66 57 for legacy reasons \, [gemwin] is the interface to:;
+#X text 79 72 - the rendering context (e.g. window creation);
+#X text 79 84 - the general rendering engine (e.g. turning on/off rendering)
+;
+#X text 80 110 - global settings of the rendered scene (e.g. background
+colour);
+#X text 95 190 - non-modular;
+#X text 94 160 - blackbox for the users (no way to change how certain
+things work without hacking the C++-code);
+#X text 94 207 - single-window;
+#X text 50 252 make it better:;
+#X text 94 292 - [gemwindow]: low level interface to the window manager
+;
+#X text 73 271 [gemwin] now consists of several modules;
+#X text 94 333 - Pd-(sub)patches for global render settings;
+#X text 94 313 - Pd-(sub)patches for render-control;
+#X text 77 495 mouse/keyboard events are now handled by the window
+itself and [s]ent to the (compat) [gemmouse] and [gemkeyboard] objects
+on a global receiver.;
+#X text 56 476 user-interaction:;
+#X text 80 542 however \, users can as well grab the mouse/keyboard
+data directly from the [gemwindow] object \, so this info can be attached
+to a certain window.;
+#X text 57 376 rendering:;
+#X text 74 392 rendering is now done by explicitely sending bangs via
+global receivers to the [gemhead] abstractions.;
+#X text 77 427 users can implement their own [gemhead]s (and senders
+for that matter as well) \, in order to (e.g.) render certain parts
+of the graph into a specific window/framebuffer/...;
+#X text 628 371 modularity:;
+#X text 642 387 obviously \, users can modify the default [gemwin]
+abstractions to strip it from whatever they don't need (and add whatever
+they do need).;
+#X text 641 450 the sole purpose of this abstraction is to provide
+a minimum compatibility with old patches;
+#X restore 592 3 pd README;
+#N canvas 165 0 544 526 callbacks 0;
+#N canvas 61 12 963 457 viewpoint 0;
+#X obj 476 254 t l l;
+#X obj 508 277 list length;
+#X obj 508 300 select 6;
+#X obj 476 347 spigot 0;
+#X msg 508 326 1;
+#X msg 547 346 0;
+#X obj 561 324 t b f;
+#X obj 593 367 print error;
+#X msg 593 348 perspec message needs 6 arguments (got \$1);
+#X obj 476 367 s \$0-perspec;
+#N canvas 0 0 450 300 9-args 0;
+#X obj 67 60 inlet;
+#X obj 67 239 outlet;
+#X connect 0 0 1 0;
+#X restore 163 275 pd 9-args;
+#X obj 163 316 t a;
+#N canvas 1414 250 827 534 345-args 0;
+#X obj 72 36 inlet;
+#X obj 72 379 outlet;
+#X obj 72 81 pack 0 0 0 0 0;
+#X msg 143 59 0;
+#X text 179 81 x y z azm elv;
+#X obj 72 344 pack 0 0 0 0 0 0 0 0 0;
+#X text 234 347 eyeX eyeY eyeZ centerX centerY centerZ upX upY upZ
+;
+#X obj 72 117 t f l;
+#X obj 104 144 unpack 0 0 0 0 0;
+#N canvas 694 467 450 300 dx 0;
+#X obj 52 32 inlet azm;
+#X obj 269 52 inlet elv;
+#X obj 52 190 outlet dX;
+#X obj 131 190 outlet dY;
+#X obj 210 190 outlet dZ;
+#X obj 342 54 / 45;
+#X obj 251 94 * 0.0174533;
+#X obj 342 31 atan;
+#X msg 342 10 1;
+#X obj 251 74 f;
+#X obj 52 94 * 0.0174533;
+#X obj 52 53 t f b b;
+#X obj 52 130 expr cos($f2)*sin($f1) \; sin($f2) \; -cos($f2)*cos($f1)
+;
+#X connect 0 0 11 0;
+#X connect 1 0 9 1;
+#X connect 5 0 6 1;
+#X connect 5 0 10 1;
+#X connect 6 0 12 1;
+#X connect 7 0 5 0;
+#X connect 8 0 7 0;
+#X connect 9 0 6 0;
+#X connect 10 0 12 0;
+#X connect 11 0 10 0;
+#X connect 11 1 9 0;
+#X connect 11 2 8 0;
+#X connect 12 0 2 0;
+#X connect 12 1 3 0;
+#X connect 12 2 4 0;
+#X restore 185 167 pd dx dy dz;
+#N canvas 488 175 450 300 up 0;
+#X obj 84 48 inlet dX;
+#X obj 84 238 outlet upX;
+#X obj 184 48 inlet dY;
+#X obj 184 238 outlet upY;
+#X obj 294 48 inlet dZ;
+#X obj 294 238 outlet upZ;
+#X obj 84 121 expr -$f1*$f2 \; $f1*$f1+$f3*$f3 \; -$f2*$f3;
+#X connect 0 0 6 0;
+#X connect 2 0 6 1;
+#X connect 4 0 6 2;
+#X connect 6 0 1 0;
+#X connect 6 1 3 0;
+#X connect 6 2 5 0;
+#X restore 227 312 pd up;
+#X obj 146 269 * 1;
+#X obj 128 288 +;
+#X obj 337 187 t f f f;
+#X obj 176 269 * 1;
+#X obj 158 288 +;
+#X obj 206 269 * 1;
+#X obj 188 288 +;
+#X obj 72 60 t l b b;
+#X obj 356 36 inlet stereoFocal;
+#X obj 338 103 * -1;
+#X obj 338 125 moses;
+#X obj 338 146 * -1;
+#X msg 372 146 1;
+#X obj 337 165 t f;
+#X obj 338 81 f;
+#X connect 0 0 18 0;
+#X connect 2 0 7 0;
+#X connect 3 0 2 3;
+#X connect 3 0 2 4;
+#X connect 5 0 1 0;
+#X connect 7 0 5 0;
+#X connect 7 1 8 0;
+#X connect 8 0 12 0;
+#X connect 8 1 5 1;
+#X connect 8 1 15 0;
+#X connect 8 2 5 2;
+#X connect 8 2 17 0;
+#X connect 8 3 9 0;
+#X connect 8 4 9 1;
+#X connect 9 0 10 0;
+#X connect 9 0 11 0;
+#X connect 9 1 10 1;
+#X connect 9 1 14 0;
+#X connect 9 2 10 2;
+#X connect 9 2 16 0;
+#X connect 10 0 5 6;
+#X connect 10 1 5 7;
+#X connect 10 2 5 8;
+#X connect 11 0 12 1;
+#X connect 12 0 5 3;
+#X connect 13 0 11 1;
+#X connect 13 1 14 1;
+#X connect 13 2 16 1;
+#X connect 14 0 15 1;
+#X connect 15 0 5 4;
+#X connect 16 0 17 1;
+#X connect 17 0 5 5;
+#X connect 18 0 2 0;
+#X connect 18 1 3 0;
+#X connect 18 2 25 0;
+#X connect 19 0 25 1;
+#X connect 20 0 21 0;
+#X connect 21 0 22 0;
+#X connect 21 1 23 0;
+#X connect 22 0 24 0;
+#X connect 23 0 24 0;
+#X connect 24 0 13 0;
+#X connect 25 0 20 0;
+#X restore 251 275 pd 345-args;
+#N canvas 0 0 789 408 demux 0;
+#X obj 119 92 t l l;
+#X obj 151 112 list length;
+#X obj 119 246 spigot 0;
+#X obj 250 246 spigot 0;
+#X obj 119 216 t l l l;
+#X obj 370 246 spigot 0;
+#X obj 151 133 t f b;
+#X msg 304 187 0;
+#X msg 423 195 1;
+#X msg 179 215 1;
+#X msg 276 218 1;
+#X obj 370 313 print error;
+#X obj 119 47 inlet;
+#X obj 151 156 select 9 3 4 5;
+#X obj 197 181 t b;
+#X obj 119 295 outlet 9-args;
+#X obj 250 355 outlet 345-args;
+#X msg 370 285 view message needs 3 4 5 or 9 arguments;
+#X connect 0 0 4 0;
+#X connect 0 1 1 0;
+#X connect 1 0 6 0;
+#X connect 2 0 15 0;
+#X connect 3 0 16 0;
+#X connect 4 0 2 0;
+#X connect 4 1 3 0;
+#X connect 4 2 5 0;
+#X connect 5 0 17 0;
+#X connect 6 0 13 0;
+#X connect 6 1 7 0;
+#X connect 7 0 2 1;
+#X connect 7 0 3 1;
+#X connect 7 0 5 1;
+#X connect 8 0 5 1;
+#X connect 9 0 2 1;
+#X connect 10 0 3 1;
+#X connect 12 0 0 0;
+#X connect 13 0 9 0;
+#X connect 13 1 14 0;
+#X connect 13 2 14 0;
+#X connect 13 3 14 0;
+#X connect 13 4 8 0;
+#X connect 14 0 10 0;
+#X connect 17 0 11 0;
+#X restore 163 246 pd demux;
+#X obj 325 253 r \$0-stereoFocal;
+#X obj 163 339 s \$0-viewpoint;
+#X obj 163 155 route view perspec;
+#X obj 163 115 inlet;
+#X obj 286 115 outlet;
+#X obj 313 295 r \$0-reset;
+#X msg 313 316 0 0 4 0 0 0 0 1 0;
+#X obj 612 302 r \$0-reset;
+#X msg 612 322 -1 1 -1 1 1 20;
+#X connect 0 0 3 0;
+#X connect 0 1 1 0;
+#X connect 1 0 2 0;
+#X connect 2 0 4 0;
+#X connect 2 1 6 0;
+#X connect 3 0 9 0;
+#X connect 4 0 3 1;
+#X connect 5 0 3 1;
+#X connect 6 0 5 0;
+#X connect 6 1 8 0;
+#X connect 8 0 7 0;
+#X connect 10 0 11 0;
+#X connect 11 0 15 0;
+#X connect 12 0 11 0;
+#X connect 13 0 10 0;
+#X connect 13 1 12 0;
+#X connect 14 0 12 1;
+#X connect 16 0 13 0;
+#X connect 16 1 0 0;
+#X connect 16 2 18 0;
+#X connect 17 0 16 0;
+#X connect 19 0 20 0;
+#X connect 20 0 15 0;
+#X connect 21 0 22 0;
+#X connect 22 0 9 0;
+#X restore 118 148 pd viewpoint;
+#X obj 118 31 inlet message;
+#N canvas 437 175 450 364 fog 0;
+#X obj 79 130 select 1 2 3;
+#X obj 79 169 GLdefine GL_LINEAR;
+#X obj 108 188 GLdefine GL_EXP;
+#X obj 136 209 GLdefine GL_EXP2;
+#X obj 79 85 route fogmode fog fogcolor;
+#X obj 79 109 i;
+#N canvas 0 0 694 400 fogMess 0;
+#X obj 119 66 inlet;
+#X obj 119 92 t l l;
+#X obj 151 112 list length;
+#X obj 119 246 spigot 0;
+#X obj 250 246 spigot 0;
+#X obj 250 272 pack 0 0;
+#X obj 119 271 f 0;
+#X obj 119 216 t l l l;
+#X obj 370 246 spigot 0;
+#X obj 151 133 t f b;
+#X msg 304 187 0;
+#X obj 151 156 select 1 2;
+#X msg 423 195 1;
+#X msg 179 215 1;
+#X msg 276 218 1;
+#X obj 370 313 print error;
+#X msg 370 285 fog message needs 1 or 2 arguments;
+#X obj 119 312 s \$0-fogDensity;
+#X obj 250 313 s \$0-fogRange;
+#X connect 0 0 1 0;
+#X connect 1 0 7 0;
+#X connect 1 1 2 0;
+#X connect 2 0 9 0;
+#X connect 3 0 6 0;
+#X connect 4 0 5 0;
+#X connect 5 0 18 0;
+#X connect 6 0 17 0;
+#X connect 7 0 3 0;
+#X connect 7 1 4 0;
+#X connect 7 2 8 0;
+#X connect 8 0 16 0;
+#X connect 9 0 11 0;
+#X connect 9 1 10 0;
+#X connect 10 0 3 1;
+#X connect 10 0 4 1;
+#X connect 10 0 8 1;
+#X connect 11 0 13 0;
+#X connect 11 1 14 0;
+#X connect 11 2 12 0;
+#X connect 12 0 8 1;
+#X connect 13 0 3 1;
+#X connect 14 0 4 1;
+#X connect 16 0 15 0;
+#X restore 209 134 pd fogMess;
+#N canvas 173 78 694 400 fogColorMess 0;
+#X obj 119 66 inlet;
+#X obj 151 112 list length;
+#X obj 119 246 spigot 0;
+#X obj 370 246 spigot 0;
+#X obj 151 133 t f b;
+#X msg 304 187 0;
+#X msg 423 195 1;
+#X msg 179 215 1;
+#X obj 370 313 print error;
+#X obj 151 156 select 3 4;
+#X msg 370 285 fogcolor needs 3 or 4 arguments;
+#X obj 119 92 t l l b;
+#X obj 119 316 pack 0 0 0 1;
+#X obj 119 216 t l l;
+#X msg 200 297 1;
+#X obj 119 362 s \$0-fogColor;
+#X connect 0 0 11 0;
+#X connect 1 0 4 0;
+#X connect 2 0 12 0;
+#X connect 3 0 10 0;
+#X connect 4 0 9 0;
+#X connect 4 1 5 0;
+#X connect 5 0 2 1;
+#X connect 5 0 3 1;
+#X connect 6 0 3 1;
+#X connect 7 0 2 1;
+#X connect 9 0 7 0;
+#X connect 9 1 7 0;
+#X connect 9 2 6 0;
+#X connect 10 0 8 0;
+#X connect 11 0 13 0;
+#X connect 11 1 1 0;
+#X connect 11 2 14 0;
+#X connect 12 0 15 0;
+#X connect 13 0 2 0;
+#X connect 13 1 3 0;
+#X connect 14 0 12 3;
+#X restore 299 134 pd fogColorMess;
+#X obj 79 59 inlet;
+#X obj 283 62 outlet;
+#X obj 233 304 s \$0-fog;
+#X obj 98 232 t f b;
+#X msg 200 277 1;
+#X msg 233 277 0;
+#X obj 98 291 s \$0-fogMode;
+#X connect 0 0 1 0;
+#X connect 0 1 2 0;
+#X connect 0 2 3 0;
+#X connect 0 3 13 0;
+#X connect 1 0 11 0;
+#X connect 2 0 11 0;
+#X connect 3 0 11 0;
+#X connect 4 0 5 0;
+#X connect 4 1 6 0;
+#X connect 4 2 7 0;
+#X connect 4 3 9 0;
+#X connect 5 0 0 0;
+#X connect 8 0 4 0;
+#X connect 11 0 14 0;
+#X connect 11 1 12 0;
+#X connect 12 0 10 0;
+#X connect 13 0 10 0;
+#X restore 118 172 pd fog;
+#N canvas 574 76 450 300 reset 0;
+#X obj 118 57 route reset;
+#X obj 118 78 t b;
+#X obj 118 100 s \$0-reset;
+#X obj 118 28 inlet;
+#X obj 209 27 outlet;
+#X connect 0 0 1 0;
+#X connect 0 1 4 0;
+#X connect 1 0 2 0;
+#X connect 3 0 0 0;
+#X restore 118 54 pd reset;
+#N canvas 0 0 975 410 lighting 0;
+#X obj 97 48 inlet;
+#X obj 97 69 route lighting ambient specular shininess;
+#X obj 97 97 i;
+#X obj 97 122 > 0;
+#X obj 97 149 s \$0-lighting;
+#X obj 488 53 r \$0-reset;
+#X msg 204 215 0.1 0.1 0.1 1;
+#X obj 84 213 pack 0 0 0 1;
+#X obj 84 186 t l b;
+#X msg 165 188 1;
+#X obj 84 234 s \$0-ambient;
+#X obj 84 289 pack 0 0 0 1;
+#X obj 84 262 t l b;
+#X msg 165 264 1;
+#X msg 273 255 1 1 1 1;
+#X obj 84 314 s \$0-specular;
+#X msg 543 128 100;
+#X obj 436 133 f;
+#X obj 436 159 s \$0-shininess;
+#X obj 356 48 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 1 1 8 0;
+#X connect 1 2 12 0;
+#X connect 1 3 17 0;
+#X connect 1 4 19 0;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 5 0 6 0;
+#X connect 5 0 14 0;
+#X connect 5 0 16 0;
+#X connect 6 0 8 0;
+#X connect 7 0 10 0;
+#X connect 8 0 7 0;
+#X connect 8 1 9 0;
+#X connect 9 0 7 3;
+#X connect 11 0 15 0;
+#X connect 12 0 11 0;
+#X connect 12 1 13 0;
+#X connect 13 0 11 3;
+#X connect 14 0 12 0;
+#X connect 16 0 17 0;
+#X connect 17 0 18 0;
+#X restore 118 193 pd lighting;
+#N canvas 0 0 1001 529 window 0;
+#X obj 111 53 inlet;
+#X obj 700 421 outlet;
+#X obj 111 109 route create destroy;
+#X text 300 17 create destroy \; dimen fullscreen offset secondscreen
+\; border title \; cursor topmost menubar \; buffer \; FSAA;
+#X obj 111 163 route dimen fullscreen offset secondscreen;
+#X obj 111 283 route border title;
+#X obj 111 403 route cursor topmost menubar;
+#X obj 570 420 route buffer FSAA;
+#N canvas 0 0 666 297 buffer 0;
+#X obj 71 47 inlet;
+#X obj 71 84 select 1 2;
+#X obj 71 193 s \$0-buffer;
+#X msg 71 162 1;
+#X msg 104 162 2;
+#X obj 203 183 print error;
+#X msg 203 158 "buffer" must be 1 (single-buffered) or 2 (double-buffered)
+;
+#X connect 0 0 1 0;
+#X connect 1 0 3 0;
+#X connect 1 1 4 0;
+#X connect 1 2 6 0;
+#X connect 3 0 2 0;
+#X connect 4 0 2 0;
+#X connect 6 0 5 0;
+#X restore 570 443 pd buffer;
+#N canvas 0 0 666 297 FSAA 0;
+#X obj 71 47 inlet;
+#X obj 71 193 s \$0-FSAA;
+#X obj 71 131 i;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X restore 639 443 pd FSAA;
+#X obj 111 135 s \$0-create;
+#X obj 191 135 s \$0-destroy;
+#X obj 111 478 s \$0-cursor;
+#X obj 111 434 i;
+#X obj 111 456 != 0;
+#X obj 191 434 i;
+#X obj 191 456 != 0;
+#X obj 191 478 s \$0-topmost;
+#X obj 281 434 i;
+#X obj 281 478 s \$0-menubar;
+#X obj 111 311 i;
+#X obj 111 333 != 0;
+#X obj 111 355 s \$0-border;
+#X obj 201 354 s \$0-title;
+#X obj 605 99 r \$0-reset;
+#N canvas 487 195 450 300 dimen 0;
+#X obj 80 14 inlet;
+#X obj 80 242 s \$0-dimen;
+#X obj 170 73 unpack 0 0;
+#X obj 170 98 > 0;
+#X obj 237 100 > 0;
+#X obj 170 120 *;
+#X obj 80 169 spigot;
+#X obj 170 147 t f f;
+#X obj 218 147 select 0;
+#X obj 218 211 print error;
+#X msg 218 190 dimensions must be > 0;
+#X obj 80 48 t l l b;
+#X msg 188 44 0;
+#X connect 0 0 11 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 1;
+#X connect 5 0 7 0;
+#X connect 6 0 1 0;
+#X connect 7 0 6 1;
+#X connect 7 1 8 0;
+#X connect 8 0 10 0;
+#X connect 10 0 9 0;
+#X connect 11 0 6 0;
+#X connect 11 1 2 0;
+#X connect 11 2 12 0;
+#X connect 12 0 5 1;
+#X connect 12 0 6 1;
+#X restore 111 216 pd dimen;
+#X obj 183 184 i;
+#X obj 183 206 != 0;
+#X obj 183 228 s \$0-fullscreen;
+#N canvas 487 195 450 300 offset 0;
+#X obj 80 14 inlet;
+#X obj 80 148 unpack;
+#X obj 80 169 pack;
+#X obj 80 97 t l b;
+#X msg 112 119 0;
+#X obj 80 242 s \$0-offset;
+#X connect 0 0 3 0;
+#X connect 1 0 2 0;
+#X connect 1 1 2 1;
+#X connect 2 0 5 0;
+#X connect 3 0 1 0;
+#X connect 3 1 4 0;
+#X connect 4 0 2 1;
+#X restore 256 191 pd offset;
+#X obj 329 186 i;
+#X obj 329 208 != 0;
+#X obj 329 230 s \$0-secondscreen;
+#X msg 606 120 border 1 \, title GEM \, cursor 1 \, topmost 0 \, menubar
+0 \, buffer 2 \, FSAA 0 \, dimen 500 500 \, fullscreen 0 \, offset
+-1 -1 \, secondscreen 0;
+#X connect 0 0 2 0;
+#X connect 2 0 10 0;
+#X connect 2 1 11 0;
+#X connect 2 2 4 0;
+#X connect 4 0 25 0;
+#X connect 4 1 26 0;
+#X connect 4 2 29 0;
+#X connect 4 3 30 0;
+#X connect 4 4 5 0;
+#X connect 5 0 20 0;
+#X connect 5 1 23 0;
+#X connect 5 2 6 0;
+#X connect 6 0 13 0;
+#X connect 6 1 15 0;
+#X connect 6 2 18 0;
+#X connect 6 3 7 0;
+#X connect 7 0 8 0;
+#X connect 7 1 9 0;
+#X connect 7 2 1 0;
+#X connect 13 0 14 0;
+#X connect 14 0 12 0;
+#X connect 15 0 16 0;
+#X connect 16 0 17 0;
+#X connect 18 0 19 0;
+#X connect 20 0 21 0;
+#X connect 21 0 22 0;
+#X connect 24 0 33 0;
+#X connect 26 0 27 0;
+#X connect 27 0 28 0;
+#X connect 30 0 31 0;
+#X connect 31 0 32 0;
+#X connect 33 0 4 0;
+#X restore 118 106 pd window;
+#N canvas 0 0 450 300 print 0;
+#X obj 118 78 t b;
+#X obj 118 28 inlet;
+#X obj 209 27 outlet;
+#X obj 118 57 route print;
+#X obj 118 100 s \$0-print;
+#X connect 0 0 4 0;
+#X connect 1 0 3 0;
+#X connect 3 0 0 0;
+#X connect 3 1 2 0;
+#X restore 118 77 pd print;
+#N canvas 1521 50 810 323 stereo 0;
+#X obj 101 28 inlet;
+#X obj 258 31 outlet;
+#X obj 109 80 route createStereo createstereo stereo stereoSep stereosep
+stereoFoc stereofoc stereoLine stereoline;
+#X obj 243 117 t f;
+#X obj 332 172 t f;
+#X obj 422 125 t f;
+#X obj 198 141 s \$0-stereo;
+#X obj 422 167 s \$0-stereoLine;
+#X obj 332 192 s \$0-stereoFocal;
+#X obj 243 216 s \$0-stereoSeparation;
+#X obj 109 164 t b;
+#X msg 109 208 createStereo?;
+#X obj 109 239 print error;
+#X obj 422 146 != 0;
+#X obj 198 118 i;
+#X connect 0 0 2 0;
+#X connect 2 0 10 0;
+#X connect 2 1 10 0;
+#X connect 2 2 14 0;
+#X connect 2 3 3 0;
+#X connect 2 4 3 0;
+#X connect 2 5 4 0;
+#X connect 2 6 4 0;
+#X connect 2 7 5 0;
+#X connect 2 8 5 0;
+#X connect 2 9 1 0;
+#X connect 3 0 9 0;
+#X connect 4 0 8 0;
+#X connect 5 0 13 0;
+#X connect 10 0 11 0;
+#X connect 11 0 12 0;
+#X connect 13 0 7 0;
+#X connect 14 0 6 0;
+#X restore 118 216 pd stereo;
+#N canvas 366 300 658 300 clearmask 0;
+#X obj 57 51 inlet;
+#X obj 57 72 route clearmask;
+#X obj 173 69 outlet;
+#X obj 57 121 s \$0-clearmask;
+#X obj 57 97 t f;
+#X obj 222 110 r \$0-reset;
+#X obj 226 200 GLdefine GL_COLOR_BUFFER_BIT;
+#X obj 255 223 GLdefine GL_DEPTH_BUFFER_BIT;
+#X obj 256 249 GLdefine GL_STENCIL_BUFFER_BIT;
+#X obj 239 271 |;
+#X obj 226 249 |;
+#X obj 222 169 t b b b;
+#X msg 246 133 bang;
+#X obj 317 108 loadbang;
+#X connect 0 0 1 0;
+#X connect 1 0 4 0;
+#X connect 1 1 2 0;
+#X connect 4 0 3 0;
+#X connect 5 0 11 0;
+#X connect 6 0 10 0;
+#X connect 7 0 10 1;
+#X connect 8 0 9 1;
+#X connect 9 0 3 0;
+#X connect 10 0 9 0;
+#X connect 11 0 6 0;
+#X connect 11 1 7 0;
+#X connect 11 2 8 0;
+#X connect 12 0 11 0;
+#X connect 13 0 11 0;
+#X restore 118 241 pd clearmask;
+#X text 291 333 misc:;
+#X text 285 405 multiple:;
+#X text 325 425 buffer reset print;
+#X text 290 470 unused:;
+#X text 331 485 blur;
+#N canvas 574 300 450 300 color 0;
+#X obj 67 38 inlet;
+#X obj 211 41 outlet;
+#X obj 67 190 pack 0 0 0 1;
+#X obj 67 163 t l b;
+#X msg 148 165 1;
+#X msg 90 138 0 0 0 1;
+#X obj 90 114 r \$0-reset;
+#X obj 67 214 s \$0-color;
+#X obj 67 66 route color;
+#X connect 0 0 8 0;
+#X connect 2 0 7 0;
+#X connect 3 0 2 0;
+#X connect 3 1 4 0;
+#X connect 4 0 2 3;
+#X connect 5 0 3 0;
+#X connect 6 0 5 0;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 118 272 pd color;
+#N canvas 0 0 749 300 render 0;
+#X obj 31 38 inlet;
+#X obj 143 36 outlet;
+#X obj 31 189 s \$0-render;
+#X obj 31 153 > 0;
+#X obj 127 172 print error;
+#X msg 127 147 TODO: implement bang render;
+#X obj 180 91 s \$0-rate;
+#X obj 31 63 route float bang render frame;
+#X obj 394 86 > 0;
+#X obj 394 107 select 0;
+#X msg 394 129 negative fps...;
+#X obj 394 153 print error;
+#X obj 394 63 r \$0-rate;
+#X obj 348 205 r \$0-destroy;
+#X msg 348 230 0;
+#X connect 0 0 7 0;
+#X connect 3 0 2 0;
+#X connect 5 0 4 0;
+#X connect 7 0 3 0;
+#X connect 7 1 5 0;
+#X connect 7 2 5 0;
+#X connect 7 3 6 0;
+#X connect 7 4 1 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 0;
+#X connect 10 0 11 0;
+#X connect 12 0 8 0;
+#X connect 13 0 14 0;
+#X connect 14 0 3 0;
+#X restore 118 301 pd render;
+#X text 299 352 blur print profile frame fps;
+#X connect 0 0 2 0;
+#X connect 1 0 3 0;
+#X connect 2 0 4 0;
+#X connect 3 0 6 0;
+#X connect 4 0 7 0;
+#X connect 5 0 0 0;
+#X connect 6 0 5 0;
+#X connect 7 0 8 0;
+#X connect 8 0 14 0;
+#X connect 14 0 15 0;
+#X restore 126 127 pd callbacks;
+#N canvas 1830 466 450 333 resetValues 0;
+#N canvas 1854 534 377 366 viewpoint 0;
+#X obj 144 37 inlet gemlist;
+#X obj 144 298 outlet gemlist;
+#N canvas 76 86 399 310 view 0;
+#X obj 24 59 GEMglMatrixMode GL_MODELVIEW;
+#X obj 66 133 unpack 0 0 0 0 0 0 0 0 0;
+#X obj 24 25 inlet gemlist;
+#X obj 24 257 outlet gemlist;
+#X obj 24 156 GEMgluLookAt 0 0 4 0 0 0 0 1 0;
+#X obj 66 109 r \$0-viewpoint;
+#X obj 24 81 GEMglLoadIdentity;
+#X connect 0 0 6 0;
+#X connect 1 0 4 1;
+#X connect 1 1 4 2;
+#X connect 1 2 4 3;
+#X connect 1 3 4 4;
+#X connect 1 4 4 5;
+#X connect 1 5 4 6;
+#X connect 1 6 4 7;
+#X connect 1 7 4 8;
+#X connect 1 8 4 9;
+#X connect 2 0 0 0;
+#X connect 4 0 3 0;
+#X connect 5 0 1 0;
+#X connect 6 0 4 0;
+#X restore 144 219 pd view;
+#N canvas 444 106 518 344 perspec 0;
+#X obj 144 79 GEMglMatrixMode GL_PROJECTION;
+#X obj 144 104 GEMglLoadIdentity;
+#X obj 144 37 inlet gemlist;
+#X obj 144 268 outlet gemlist;
+#X obj 144 245 GEMglFrustum -1 1 -1 1 1 20;
+#X obj 207 170 unpack 0 0 0 0 0 0;
+#X obj 207 150 r \$0-perspec;
+#X obj 175 221 * 1;
+#X obj 175 200 f -1;
+#X obj 206 221 * 1;
+#X obj 206 200 f 1;
+#X obj 387 97 r \$0-realdimen;
+#X obj 387 122 /;
+#X obj 378 155 t b f f;
+#X obj 164 151 t b b;
+#X connect 0 0 1 0;
+#X connect 1 0 4 0;
+#X connect 2 0 0 0;
+#X connect 4 0 3 0;
+#X connect 5 0 8 0;
+#X connect 5 1 10 0;
+#X connect 5 2 4 3;
+#X connect 5 3 4 4;
+#X connect 5 4 4 5;
+#X connect 5 5 4 6;
+#X connect 6 0 5 0;
+#X connect 7 0 4 1;
+#X connect 8 0 7 0;
+#X connect 9 0 4 2;
+#X connect 10 0 9 0;
+#X connect 11 0 12 0;
+#X connect 12 0 13 0;
+#X connect 13 0 14 0;
+#X connect 13 1 7 1;
+#X connect 13 2 9 1;
+#X connect 14 0 8 0;
+#X connect 14 1 10 0;
+#X restore 144 166 pd perspec;
+#N canvas 1900 93 450 229 viewport 0;
+#X obj 87 93 inlet;
+#X obj 87 157 outlet;
+#X obj 87 126 GEMglViewport 0 0 500 500;
+#X obj 222 96 unpack 0 0;
+#X obj 222 42 r \$0-realdimen;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 2 3;
+#X connect 3 1 2 4;
+#X connect 4 0 3 0;
+#X restore 144 105 pd viewport;
+#X connect 0 0 4 0;
+#X connect 2 0 1 0;
+#X connect 3 0 2 0;
+#X connect 4 0 3 0;
+#X restore 115 160 pd viewpoint;
+#N canvas 1543 180 685 625 fog 0;
+#X obj 71 73 inlet;
+#X obj 71 507 outlet;
+#X obj 71 98 t a a;
+#X obj 71 246 spigot 1;
+#X obj 71 273 GEMglDisable GL_FOG;
+#X obj 71 428 t a;
+#X obj 261 273 GEMglEnable GL_FOG;
+#X obj 261 246 spigot 0;
+#X obj 165 223 t f f;
+#X obj 165 199 == 0;
+#N canvas 0 0 450 300 density 0;
+#X obj 100 113 inlet;
+#X obj 100 234 outlet;
+#X obj 100 203 GEMglFogf;
+#X obj 238 82 inlet value;
+#X obj 238 139 t b f;
+#X obj 130 169 GLdefine GL_FOG_DENSITY;
+#X obj 238 112 f 0.5;
+#X obj 336 78 r \$0-reset;
+#X msg 336 101 0.5;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 6 0;
+#X connect 4 0 5 0;
+#X connect 4 1 2 2;
+#X connect 5 0 2 1;
+#X connect 6 0 4 0;
+#X connect 7 0 8 0;
+#X connect 8 0 6 1;
+#X restore 261 326 pd density;
+#N canvas 0 0 450 300 mode 0;
+#X obj 149 191 GEMglFogf;
+#X obj 192 144 t b f;
+#X obj 192 166 GLdefine GL_FOG_MODE;
+#X obj 149 106 inlet;
+#X obj 149 231 outlet;
+#X obj 192 106 inlet value;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 1 1 0 2;
+#X connect 2 0 0 1;
+#X connect 3 0 0 0;
+#X connect 5 0 1 0;
+#X restore 261 300 pd mode;
+#N canvas 299 157 450 300 start 0;
+#X obj 100 113 inlet;
+#X obj 100 234 outlet;
+#X obj 100 203 GEMglFogf;
+#X obj 238 82 inlet value;
+#X obj 238 139 t b f;
+#X obj 130 169 GLdefine GL_FOG_START;
+#X obj 238 112 f 1;
+#X obj 336 78 r \$0-reset;
+#X msg 336 101 1;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 6 0;
+#X connect 4 0 5 0;
+#X connect 4 1 2 2;
+#X connect 5 0 2 1;
+#X connect 6 0 4 0;
+#X connect 7 0 8 0;
+#X connect 8 0 6 1;
+#X restore 261 346 pd start;
+#N canvas 0 0 450 300 end 0;
+#X obj 100 113 inlet;
+#X obj 100 234 outlet;
+#X obj 100 203 GEMglFogf;
+#X obj 238 82 inlet value;
+#X obj 238 139 t b f;
+#X obj 130 169 GLdefine GL_FOG_END;
+#X obj 336 78 r \$0-reset;
+#X obj 238 112 f 20;
+#X msg 336 101 20;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 7 0;
+#X connect 4 0 5 0;
+#X connect 4 1 2 2;
+#X connect 5 0 2 1;
+#X connect 6 0 8 0;
+#X connect 7 0 4 0;
+#X connect 8 0 7 1;
+#X restore 261 366 pd end;
+#N canvas 0 0 450 300 color 0;
+#X obj 100 113 inlet;
+#X obj 100 234 outlet;
+#X obj 238 42 inlet value;
+#X obj 100 203 GEMglFogfv;
+#X obj 133 169 GLdefine GL_FOG_COLOR;
+#X obj 238 139 t b l;
+#X obj 238 64 route bang;
+#X obj 280 92 t b l;
+#X obj 368 68 r \$0-reset;
+#X msg 368 91 1 1 1 1;
+#X obj 238 112 list append 1 1 1 1;
+#X connect 0 0 3 0;
+#X connect 2 0 6 0;
+#X connect 3 0 1 0;
+#X connect 4 0 3 1;
+#X connect 5 0 4 0;
+#X connect 5 1 3 2;
+#X connect 6 0 10 0;
+#X connect 6 1 7 0;
+#X connect 7 0 10 0;
+#X connect 7 1 10 1;
+#X connect 8 0 9 0;
+#X connect 9 0 10 1;
+#X connect 10 0 5 0;
+#X restore 261 386 pd color;
+#X obj 485 324 unpack;
+#X obj 165 174 r \$0-fog;
+#X obj 307 219 r \$0-fogMode;
+#X obj 347 307 r \$0-fogDensity;
+#X obj 485 301 r \$0-fogRange;
+#X obj 365 368 r \$0-fogColor;
+#X connect 0 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 7 0;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 5 0 1 0;
+#X connect 6 0 11 0;
+#X connect 7 0 6 0;
+#X connect 8 0 3 1;
+#X connect 8 1 7 1;
+#X connect 9 0 8 0;
+#X connect 10 0 12 0;
+#X connect 11 0 10 0;
+#X connect 12 0 13 0;
+#X connect 13 0 14 0;
+#X connect 14 0 5 0;
+#X connect 15 0 12 1;
+#X connect 15 1 13 1;
+#X connect 16 0 9 0;
+#X connect 17 0 11 1;
+#X connect 18 0 10 1;
+#X connect 19 0 15 0;
+#X connect 20 0 14 1;
+#X restore 115 186 pd fog;
+#N canvas 302 60 722 526 lighting 0;
+#X obj 71 168 t a a;
+#X obj 71 196 spigot 1;
+#X obj 361 216 spigot 0;
+#X obj 175 149 == 0;
+#X obj 71 286 GEMglDisable GL_COLOR_MATERIAL;
+#X obj 71 306 GEMglDisable GL_AUTO_NORMAL;
+#X obj 71 326 GEMglDisable GL_NORMALIZE;
+#X obj 71 350 GEMglShadeModel GL_FLAT;
+#N canvas 0 0 735 347 lightmodel 0;
+#X obj 71 266 GEMglLightModeli;
+#X obj 125 235 GLdefine GL_LIGHT_MODEL_TWO_SIDE;
+#X obj 361 235 GLdefine GL_FALSE;
+#X obj 71 171 inlet;
+#X obj 71 303 outlet;
+#X obj 141 209 t b b;
+#X obj 277 164 inlet;
+#X connect 0 0 4 0;
+#X connect 1 0 0 1;
+#X connect 2 0 0 2;
+#X connect 3 0 0 0;
+#X connect 5 0 1 0;
+#X connect 5 1 2 0;
+#X connect 6 0 5 0;
+#X restore 71 262 pd lightmodel;
+#X obj 71 444 t a;
+#X obj 71 467 outlet gemlist;
+#X obj 71 143 inlet gemlist;
+#N canvas 0 0 735 347 lightmodel 0;
+#X obj 71 266 GEMglLightModeli;
+#X obj 125 235 GLdefine GL_LIGHT_MODEL_TWO_SIDE;
+#X obj 71 171 inlet;
+#X obj 71 303 outlet;
+#X obj 141 209 t b b;
+#X obj 277 164 inlet;
+#X obj 361 235 GLdefine GL_TRUE;
+#X connect 0 0 3 0;
+#X connect 1 0 0 1;
+#X connect 2 0 0 0;
+#X connect 4 0 1 0;
+#X connect 4 1 6 0;
+#X connect 5 0 4 0;
+#X connect 6 0 0 2;
+#X restore 361 262 pd lightmodel;
+#X obj 361 236 GEMglEnable GL_LIGHTING;
+#X obj 361 286 GEMglEnable GL_COLOR_MATERIAL;
+#X obj 361 376 GEMglEnable GL_AUTO_NORMAL;
+#X obj 361 396 GEMglEnable GL_NORMALIZE;
+#X obj 361 420 GEMglShadeModel GL_SMOOTH;
+#N canvas 1355 50 986 299 ambient 0;
+#X obj 89 194 outlet gemlist;
+#X obj 89 128 inlet gemlist;
+#X obj 89 161 GEMglMaterialfv GL_FRONT_AND_BACK GL_AMBIENT 0.1 0.1
+0.1 1;
+#X obj 492 133 r \$0-ambient;
+#X connect 1 0 2 0;
+#X connect 2 0 0 0;
+#X connect 3 0 2 3;
+#X restore 361 309 pd ambient;
+#N canvas 1355 50 986 299 specular 0;
+#X obj 89 194 outlet gemlist;
+#X obj 89 128 inlet gemlist;
+#X obj 89 161 GEMglMaterialfv GL_FRONT_AND_BACK GL_SPECULAR 1 1 1 1
+;
+#X obj 457 133 r \$0-specular;
+#X connect 1 0 2 0;
+#X connect 2 0 0 0;
+#X connect 3 0 2 3;
+#X restore 361 329 pd specular;
+#N canvas 1355 50 986 299 shininess 0;
+#X obj 89 194 outlet gemlist;
+#X obj 89 128 inlet gemlist;
+#X obj 89 161 GEMglMaterialfv GL_FRONT_AND_BACK GL_SHININESS 100;
+#X obj 436 133 r \$0-shininess;
+#X connect 1 0 2 0;
+#X connect 2 0 0 0;
+#X connect 3 0 2 3;
+#X restore 361 349 pd shininess;
+#X obj 175 173 t f f b;
+#X obj 292 232 t b b;
+#X obj 292 208 loadbang;
+#X obj 175 126 r \$0-lighting;
+#X obj 320 84 print light;
+#X obj 71 235 GEMglDisable GL_LIGHTING;
+#X floatatom 437 214 5 0 0 0 - - -;
+#X floatatom 242 149 5 0 0 0 - - -;
+#X obj 414 191 == 0;
+#X connect 0 0 1 0;
+#X connect 0 1 2 0;
+#X connect 1 0 26 0;
+#X connect 2 0 13 0;
+#X connect 3 0 21 0;
+#X connect 3 0 28 0;
+#X connect 4 0 5 0;
+#X connect 5 0 6 0;
+#X connect 6 0 7 0;
+#X connect 7 0 9 0;
+#X connect 8 0 4 0;
+#X connect 9 0 10 0;
+#X connect 11 0 0 0;
+#X connect 12 0 14 0;
+#X connect 13 0 12 0;
+#X connect 14 0 18 0;
+#X connect 15 0 16 0;
+#X connect 16 0 17 0;
+#X connect 17 0 9 0;
+#X connect 18 0 19 0;
+#X connect 19 0 20 0;
+#X connect 20 0 15 0;
+#X connect 21 0 1 1;
+#X connect 21 1 29 0;
+#X connect 21 2 22 0;
+#X connect 22 0 8 1;
+#X connect 22 1 12 1;
+#X connect 23 0 22 0;
+#X connect 24 0 3 0;
+#X connect 26 0 8 0;
+#X connect 29 0 2 1;
+#X connect 29 0 27 0;
+#X restore 115 138 pd lighting;
+#X obj 115 63 inlet;
+#X obj 115 260 outlet;
+#X text 116 42 GemMan::resetValues();
+#N canvas 5 50 393 417 color 0;
+#X obj 56 52 inlet;
+#X obj 56 361 outlet;
+#X obj 102 192 GEMglClearColor;
+#X obj 134 153 unpack 0 0 0 0;
+#X obj 102 129 t a b;
+#X msg 165 106 0;
+#X obj 165 54 r \$0-color;
+#X obj 165 76 t a b;
+#X msg 192 106 1;
+#X obj 102 106 spigot 1;
+#X obj 56 85 t a a a;
+#X obj 172 309 r \$0-clearmask;
+#X obj 79 269 spigot 1;
+#X obj 124 218 r \$0-buffer;
+#X obj 124 240 == 2;
+#X obj 79 339 GEMglClear 17664;
+#X obj 165 128 t f;
+#X connect 0 0 10 0;
+#X connect 3 0 2 1;
+#X connect 3 1 2 2;
+#X connect 3 2 2 3;
+#X connect 3 3 2 4;
+#X connect 4 0 2 0;
+#X connect 4 1 5 0;
+#X connect 5 0 16 0;
+#X connect 6 0 7 0;
+#X connect 7 0 3 0;
+#X connect 7 1 8 0;
+#X connect 8 0 16 0;
+#X connect 9 0 4 0;
+#X connect 10 0 1 0;
+#X connect 10 1 12 0;
+#X connect 10 2 9 0;
+#X connect 11 0 15 1;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 12 1;
+#X connect 16 0 9 1;
+#X restore 115 91 pd color;
+#X connect 0 0 1 0;
+#X connect 1 0 4 0;
+#X connect 2 0 0 0;
+#X connect 3 0 6 0;
+#X connect 6 0 2 0;
+#X restore 131 259 pd resetValues;
+#N canvas 319 85 450 300 normalRendering 0;
+#X obj 95 115 t a a;
+#X obj 95 70 inlet;
+#X obj 95 168 GEMglMatrixMode GL_MODELVIEW;
+#X obj 95 197 GEMglLoadIdentity;
+#X obj 95 227 GEMgluLookAt 0 0 4 0 0 0 0 1 0;
+#X obj 95 252 outlet osd;
+#X obj 194 253 outlet render;
+#X connect 0 0 2 0;
+#X connect 0 1 6 0;
+#X connect 1 0 0 0;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X restore 163 400 pd normalRendering;
+#N canvas 4 50 596 529 2screenStereo 0;
+#X obj 95 70 inlet;
+#X obj 95 90 t a b;
+#X obj 163 92 list append 500 500;
+#X obj 163 141 unpack;
+#X obj 163 164 / 2;
+#X obj 163 187 t f f;
+#X obj 195 208 /;
+#X obj 163 231 pack;
+#X obj 95 284 t a a;
+#N canvas 593 153 450 602 stereoline 0;
+#X obj 118 62 inlet gemlist;
+#X obj 118 102 GEMglDisable GL_LIGHTING;
+#X obj 118 137 GEMglViewport 0 0 500 500;
+#X obj 309 27 inlet width height;
+#X obj 309 79 unpack;
+#X obj 118 180 GEMglMatrixMode GL_PROJECTION;
+#X obj 118 200 GEMglLoadIdentity;
+#X obj 118 294 GEMgluLookAt 0 0 4 0 0 0 0 1 0;
+#X obj 118 222 GEMglFrustum -1 1 -1 1 1 20;
+#X obj 118 274 GEMglLoadIdentity;
+#X obj 118 254 GEMglMatrixMode GL_MODELVIEW;
+#X obj 118 330 GEMglLineWidth 2;
+#X obj 118 353 GEMglColor3f 1 1 1;
+#X obj 118 374 GEMglBegin GL_LINES;
+#X obj 118 399 GEMglVertex2f 0 -6;
+#X obj 118 419 GEMglVertex2f 0 6;
+#X obj 118 448 GEMglEnd;
+#X obj 118 475 GEMglLineWidth 1;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 2 0 5 0;
+#X connect 3 0 4 0;
+#X connect 4 0 2 3;
+#X connect 4 1 2 4;
+#X connect 5 0 6 0;
+#X connect 6 0 8 0;
+#X connect 7 0 11 0;
+#X connect 8 0 10 0;
+#X connect 9 0 7 0;
+#X connect 10 0 9 0;
+#X connect 11 0 12 0;
+#X connect 12 0 13 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 17 0;
+#X restore 95 360 pd stereoline;
+#X obj 163 120 t l l;
+#X obj 156 312 r \$0-stereoLine;
+#X obj 95 327 spigot 1;
+#X obj 293 65 r \$0-realdimen;
+#X obj 453 369 outlet render;
+#X obj 358 374 outlet osd;
+#N canvas 352 49 672 526 render-2screen 0;
+#N canvas 354 89 886 440 viewport 0;
+#X obj 87 146 GEMglMatrixMode GL_PROJECTION;
+#X obj 87 166 GEMglLoadIdentity;
+#X obj 118 247 unpack 0 0 0 0 0 0;
+#X obj 87 337 GEMglFrustum -1 1 -1 1 1 20;
+#X obj 285 197 t f f;
+#X obj 87 126 GEMglViewport 0 0 250 500;
+#X obj 87 98 inlet gemlist;
+#X obj 87 365 outlet gemlist;
+#X obj 222 43 inlet viewport;
+#X obj 222 66 unpack 0 0 0 0;
+#X obj 428 48 inlet xDivY;
+#X obj 118 224 r \$0-perspec;
+#X obj 237 197 t b b;
+#X obj 118 280 f -1;
+#X obj 159 280 f 1;
+#X obj 118 312 * 0.5;
+#X obj 159 312 * 0.5;
+#X obj 237 175 t b f;
+#X connect 0 0 1 0;
+#X connect 1 0 3 0;
+#X connect 2 0 13 0;
+#X connect 2 1 14 0;
+#X connect 2 2 3 3;
+#X connect 2 3 3 4;
+#X connect 2 4 3 5;
+#X connect 2 5 3 6;
+#X connect 3 0 7 0;
+#X connect 4 0 15 1;
+#X connect 4 1 16 1;
+#X connect 5 0 0 0;
+#X connect 6 0 5 0;
+#X connect 8 0 9 0;
+#X connect 9 0 5 1;
+#X connect 9 1 5 2;
+#X connect 9 2 5 3;
+#X connect 9 3 5 4;
+#X connect 10 0 17 0;
+#X connect 11 0 2 0;
+#X connect 12 0 13 0;
+#X connect 12 1 14 0;
+#X connect 13 0 15 0;
+#X connect 14 0 16 0;
+#X connect 15 0 3 1;
+#X connect 16 0 3 2;
+#X connect 17 0 12 0;
+#X connect 17 1 4 0;
+#X restore 271 181 pd viewport;
+#X msg 308 154 0 0 \$1 \$2;
+#N canvas 0 0 1146 300 lookat 0;
+#X obj 145 108 GEMglMatrixMode GL_MODELVIEW;
+#X obj 145 127 GEMglLoadIdentity;
+#X obj 145 227 GEMgluLookAt 0 0 4 0 0 0 0 1 0;
+#X obj 187 153 unpack 0 0 4 0 0 0 0 1 0;
+#X obj 145 77 inlet gemlist;
+#X obj 145 261 outlet gemlist;
+#X obj 468 65 inlet stereoSep;
+#X obj 598 65 inlet stereoFoc;
+#X obj 317 60 inlet view;
+#X obj 283 198 +;
+#X obj 186 173 t b f;
+#X obj 294 178 t b f;
+#X obj 168 193 + 0.15;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 2 0 5 0;
+#X connect 3 0 12 0;
+#X connect 3 1 2 2;
+#X connect 3 2 2 3;
+#X connect 3 3 2 4;
+#X connect 3 4 2 5;
+#X connect 3 5 9 0;
+#X connect 3 6 2 7;
+#X connect 3 7 2 8;
+#X connect 3 8 2 9;
+#X connect 4 0 0 0;
+#X connect 6 0 10 0;
+#X connect 7 0 11 0;
+#X connect 8 0 3 0;
+#X connect 9 0 2 6;
+#X connect 10 0 12 0;
+#X connect 10 1 12 1;
+#X connect 11 0 9 0;
+#X connect 11 1 9 1;
+#X connect 12 0 2 1;
+#X restore 271 238 pd lookat;
+#X obj 464 110 / 100;
+#X obj 291 207 r \$0-viewpoint;
+#N canvas 138 89 886 440 viewport 0;
+#X obj 87 146 GEMglMatrixMode GL_PROJECTION;
+#X obj 87 166 GEMglLoadIdentity;
+#X obj 118 247 unpack 0 0 0 0 0 0;
+#X obj 87 337 GEMglFrustum -1 1 -1 1 1 20;
+#X obj 285 197 t f f;
+#X obj 87 126 GEMglViewport 0 0 250 500;
+#X obj 87 98 inlet gemlist;
+#X obj 87 365 outlet gemlist;
+#X obj 222 43 inlet viewport;
+#X obj 222 66 unpack 0 0 0 0;
+#X obj 428 48 inlet xDivY;
+#X obj 118 224 r \$0-perspec;
+#X obj 237 197 t b b;
+#X obj 118 280 f -1;
+#X obj 159 280 f 1;
+#X obj 118 312 * 0.5;
+#X obj 159 312 * 0.5;
+#X obj 237 175 t b f;
+#X connect 0 0 1 0;
+#X connect 1 0 3 0;
+#X connect 2 0 13 0;
+#X connect 2 1 14 0;
+#X connect 2 2 3 3;
+#X connect 2 3 3 4;
+#X connect 2 4 3 5;
+#X connect 2 5 3 6;
+#X connect 3 0 7 0;
+#X connect 4 0 15 1;
+#X connect 4 1 16 1;
+#X connect 5 0 0 0;
+#X connect 6 0 5 0;
+#X connect 8 0 9 0;
+#X connect 9 0 5 1;
+#X connect 9 1 5 2;
+#X connect 9 2 5 3;
+#X connect 9 3 5 4;
+#X connect 10 0 17 0;
+#X connect 11 0 2 0;
+#X connect 12 0 13 0;
+#X connect 12 1 14 0;
+#X connect 13 0 15 0;
+#X connect 14 0 16 0;
+#X connect 15 0 3 1;
+#X connect 16 0 3 2;
+#X connect 17 0 12 0;
+#X connect 17 1 4 0;
+#X restore 118 165 pd viewport;
+#N canvas 0 0 1146 300 lookat 0;
+#X obj 145 108 GEMglMatrixMode GL_MODELVIEW;
+#X obj 145 127 GEMglLoadIdentity;
+#X obj 145 227 GEMgluLookAt 0 0 4 0 0 0 0 1 0;
+#X obj 187 153 unpack 0 0 4 0 0 0 0 1 0;
+#X obj 145 77 inlet gemlist;
+#X obj 145 261 outlet gemlist;
+#X obj 468 65 inlet stereoSep;
+#X obj 598 65 inlet stereoFoc;
+#X obj 317 60 inlet view;
+#X obj 283 198 +;
+#X obj 186 173 t b f;
+#X obj 294 178 t b f;
+#X obj 168 193 + -0.15;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 2 0 5 0;
+#X connect 3 0 12 0;
+#X connect 3 1 2 2;
+#X connect 3 2 2 3;
+#X connect 3 3 2 4;
+#X connect 3 4 2 5;
+#X connect 3 5 9 0;
+#X connect 3 6 2 7;
+#X connect 3 7 2 8;
+#X connect 3 8 2 9;
+#X connect 4 0 0 0;
+#X connect 6 0 10 0;
+#X connect 7 0 11 0;
+#X connect 8 0 3 0;
+#X connect 9 0 2 6;
+#X connect 10 0 12 0;
+#X connect 10 1 12 1;
+#X connect 11 0 9 0;
+#X connect 11 1 9 1;
+#X connect 12 0 2 1;
+#X restore 118 238 pd lookat;
+#X obj 138 191 r \$0-viewpoint;
+#X obj 155 94 t l l;
+#X msg 155 142 \$1 0 \$1 \$2;
+#X text 297 110 LEFT;
+#X text 138 121 RIGHT;
+#X obj 458 171 * -1;
+#X obj 402 402 t a;
+#X obj 155 59 inlet width height;
+#X obj 354 67 inlet width/height;
+#X obj 356 92 t f f;
+#X obj 37 66 inlet gemlist;
+#X obj 37 132 t a a;
+#X obj 402 444 outlet gemlist;
+#X obj 74 434 outlet gemlist (OSD);
+#X obj 74 405 t a;
+#X obj 271 289 t a a;
+#N canvas 0 0 1146 300 lookat 0;
+#X obj 145 108 GEMglMatrixMode GL_MODELVIEW;
+#X obj 145 127 GEMglLoadIdentity;
+#X obj 145 227 GEMgluLookAt 0 0 4 0 0 0 0 1 0;
+#X obj 187 153 unpack 0 0 4 0 0 0 0 1 0;
+#X obj 145 77 inlet gemlist;
+#X obj 145 261 outlet gemlist;
+#X obj 468 65 inlet stereoSep;
+#X obj 598 65 inlet stereoFoc;
+#X obj 317 60 inlet view;
+#X obj 283 198 +;
+#X obj 186 173 t b f;
+#X obj 294 178 t b f;
+#X obj 168 193 + 0.15;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 2 0 5 0;
+#X connect 3 0 12 0;
+#X connect 3 1 2 2;
+#X connect 3 2 2 3;
+#X connect 3 3 2 4;
+#X connect 3 4 2 5;
+#X connect 3 5 9 0;
+#X connect 3 6 2 7;
+#X connect 3 7 2 8;
+#X connect 3 8 2 9;
+#X connect 4 0 0 0;
+#X connect 6 0 10 0;
+#X connect 7 0 11 0;
+#X connect 8 0 3 0;
+#X connect 9 0 2 6;
+#X connect 10 0 12 0;
+#X connect 10 1 12 1;
+#X connect 11 0 9 0;
+#X connect 11 1 9 1;
+#X connect 12 0 2 1;
+#X restore 271 351 pd lookat;
+#X obj 92 284 t a a;
+#N canvas 0 0 1146 300 lookat 0;
+#X obj 145 108 GEMglMatrixMode GL_MODELVIEW;
+#X obj 145 127 GEMglLoadIdentity;
+#X obj 145 227 GEMgluLookAt 0 0 4 0 0 0 0 1 0;
+#X obj 187 153 unpack 0 0 4 0 0 0 0 1 0;
+#X obj 145 77 inlet gemlist;
+#X obj 145 261 outlet gemlist;
+#X obj 468 65 inlet stereoSep;
+#X obj 598 65 inlet stereoFoc;
+#X obj 317 60 inlet view;
+#X obj 283 198 +;
+#X obj 186 173 t b f;
+#X obj 294 178 t b f;
+#X obj 168 193 + -0.15;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 2 0 5 0;
+#X connect 3 0 12 0;
+#X connect 3 1 2 2;
+#X connect 3 2 2 3;
+#X connect 3 3 2 4;
+#X connect 3 4 2 5;
+#X connect 3 5 9 0;
+#X connect 3 6 2 7;
+#X connect 3 7 2 8;
+#X connect 3 8 2 9;
+#X connect 4 0 0 0;
+#X connect 6 0 10 0;
+#X connect 7 0 11 0;
+#X connect 8 0 3 0;
+#X connect 9 0 2 6;
+#X connect 10 0 12 0;
+#X connect 10 1 12 1;
+#X connect 11 0 9 0;
+#X connect 11 1 9 1;
+#X connect 12 0 2 1;
+#X restore 176 354 pd lookat;
+#X obj 158 215 t f f;
+#X obj 199 215 t f f;
+#X obj 457 193 t f f;
+#X obj 521 188 t f f;
+#X obj 525 134 t f f;
+#X obj 457 132 t f f;
+#X obj 509 110 r \$0-stereoFocal;
+#X obj 464 89 r \$0-stereoSeparation;
+#N canvas 1545 229 751 300 GemState 0;
+#X obj 138 134 gemlist;
+#X obj 138 18 inlet bang;
+#X obj 138 224 outlet gemlist;
+#X msg 150 111 lighting \$1;
+#X obj 150 92 r \$0-lighting;
+#X msg 347 139 ticktime \$1;
+#X obj 347 96 t b b;
+#X obj 347 116 timer;
+#X obj 138 66 t b b;
+#X obj 372 23 r \$0-buffer;
+#X obj 347 46 i 2;
+#X obj 347 72 select 2;
+#X msg 400 116 50;
+#X connect 0 0 2 0;
+#X connect 1 0 8 0;
+#X connect 3 0 0 0;
+#X connect 4 0 3 0;
+#X connect 5 0 0 0;
+#X connect 6 0 7 0;
+#X connect 6 1 7 1;
+#X connect 7 0 5 0;
+#X connect 8 0 0 0;
+#X connect 8 1 10 0;
+#X connect 9 0 10 1;
+#X connect 10 0 11 0;
+#X connect 11 0 6 0;
+#X connect 11 1 12 0;
+#X connect 12 0 5 0;
+#X restore 271 268 pd GemState;
+#N canvas 1545 229 751 300 GemState0 0;
+#X obj 138 134 gemlist;
+#X obj 138 18 inlet bang;
+#X obj 138 224 outlet gemlist;
+#X msg 150 111 lighting \$1;
+#X obj 150 92 r \$0-lighting;
+#X obj 138 66 t b b;
+#X msg 251 91 ticktime 0;
+#X connect 0 0 2 0;
+#X connect 1 0 5 0;
+#X connect 3 0 0 0;
+#X connect 4 0 3 0;
+#X connect 5 0 0 0;
+#X connect 5 1 6 0;
+#X connect 6 0 0 0;
+#X restore 92 263 pd GemState0;
+#X connect 0 0 2 0;
+#X connect 1 0 0 1;
+#X connect 2 0 34 0;
+#X connect 3 0 31 0;
+#X connect 4 0 2 1;
+#X connect 5 0 6 0;
+#X connect 6 0 35 0;
+#X connect 7 0 6 1;
+#X connect 8 0 9 0;
+#X connect 8 1 1 0;
+#X connect 9 0 5 1;
+#X connect 12 0 28 0;
+#X connect 13 0 19 0;
+#X connect 14 0 8 0;
+#X connect 15 0 16 0;
+#X connect 16 0 5 2;
+#X connect 16 1 0 2;
+#X connect 17 0 18 0;
+#X connect 18 0 5 0;
+#X connect 18 1 0 0;
+#X connect 21 0 20 0;
+#X connect 22 0 23 0;
+#X connect 22 1 13 0;
+#X connect 23 0 21 0;
+#X connect 24 0 25 0;
+#X connect 24 1 13 0;
+#X connect 25 0 21 0;
+#X connect 26 0 6 2;
+#X connect 26 1 25 2;
+#X connect 27 0 6 3;
+#X connect 27 1 25 3;
+#X connect 28 0 2 2;
+#X connect 28 1 23 2;
+#X connect 29 0 2 3;
+#X connect 29 1 23 3;
+#X connect 30 0 27 0;
+#X connect 30 1 29 0;
+#X connect 31 0 26 0;
+#X connect 31 1 12 0;
+#X connect 32 0 30 0;
+#X connect 33 0 3 0;
+#X connect 34 0 22 0;
+#X connect 35 0 24 0;
+#X restore 401 324 pd render-2screen;
+#X connect 0 0 1 0;
+#X connect 1 0 8 0;
+#X connect 1 1 2 0;
+#X connect 2 0 10 0;
+#X connect 3 0 4 0;
+#X connect 3 1 6 1;
+#X connect 3 1 7 1;
+#X connect 4 0 5 0;
+#X connect 5 0 7 0;
+#X connect 5 1 6 0;
+#X connect 6 0 16 2;
+#X connect 7 0 16 1;
+#X connect 8 0 12 0;
+#X connect 8 1 16 0;
+#X connect 10 0 3 0;
+#X connect 10 1 9 1;
+#X connect 11 0 12 1;
+#X connect 12 0 9 0;
+#X connect 13 0 2 1;
+#X connect 16 0 15 0;
+#X connect 16 1 14 0;
+#X restore 194 376 pd 2screenStereo;
+#N canvas 334 50 600 410 stereoDemux 0;
+#X obj 61 67 inlet gemlist;
+#X obj 61 335 outlet normal;
+#X obj 172 338 outlet stereo2;
+#X obj 288 338 outlet anaglyph;
+#X obj 428 338 outlet crystaleye;
+#X obj 481 219 r \$0-stereo;
+#X obj 61 304 spigot 1;
+#X obj 114 283 == 0;
+#X obj 61 201 t a a a a;
+#X obj 172 304 spigot 0;
+#X obj 225 283 == 1;
+#X obj 288 304 spigot 0;
+#X obj 341 283 == 2;
+#X obj 428 304 spigot 0;
+#X obj 481 283 == 3;
+#N canvas 1765 302 450 467 crystaleyetest 0;
+#X obj 91 53 inlet;
+#X obj 214 54 r \$0-stereo;
+#X obj 91 123 spigot 0;
+#X obj 91 149 t a b;
+#X msg 134 149 0;
+#X obj 214 79 select 3;
+#X msg 144 97 1;
+#X obj 91 252 select 0;
+#X obj 91 321 s \$0-stereo;
+#X obj 91 277 t b b;
+#X obj 208 309 print error;
+#X msg 208 274 CrystalGlasses stereo not supported by your gfx-card!
+\, falling back to NO stereo;
+#X obj 91 176 GEMglGetFloatv GL_STEREO;
+#X obj 91 210 t f;
+#X msg 91 300 0;
+#X connect 0 0 2 0;
+#X connect 1 0 5 0;
+#X connect 2 0 3 0;
+#X connect 3 0 12 0;
+#X connect 3 1 4 0;
+#X connect 4 0 2 1;
+#X connect 5 0 6 0;
+#X connect 6 0 2 1;
+#X connect 7 0 9 0;
+#X connect 9 0 14 0;
+#X connect 9 1 11 0;
+#X connect 11 0 10 0;
+#X connect 12 1 13 0;
+#X connect 13 0 7 0;
+#X connect 14 0 8 0;
+#X restore 93 174 pd crystaleyetest;
+#X obj 61 149 t a a;
+#X connect 0 0 16 0;
+#X connect 5 0 7 0;
+#X connect 5 0 10 0;
+#X connect 5 0 12 0;
+#X connect 5 0 14 0;
+#X connect 6 0 1 0;
+#X connect 7 0 6 1;
+#X connect 8 0 6 0;
+#X connect 8 1 9 0;
+#X connect 8 2 11 0;
+#X connect 8 3 13 0;
+#X connect 9 0 2 0;
+#X connect 10 0 9 1;
+#X connect 11 0 3 0;
+#X connect 12 0 11 1;
+#X connect 13 0 4 0;
+#X connect 14 0 13 1;
+#X connect 16 0 8 0;
+#X connect 16 1 15 0;
+#X restore 163 316 pd stereoDemux;
+#N canvas 4 50 436 529 anaglyphStereo 0;
+#X obj 95 70 inlet;
+#X obj 95 90 t a b;
+#X obj 146 142 list append 500 500;
+#X obj 276 122 pack 0 0;
+#X obj 146 182 /;
+#X obj 54 177 t a a;
+#X obj 54 362 GEMglColorMask 1 1 1 1;
+#X obj 276 100 r \$0-realdimen;
+#X obj 282 271 outlet render;
+#X obj 146 265 outlet osd;
+#N canvas 346 0 672 526 renderAnaglyph 0;
+#N canvas 354 89 886 440 viewport 0;
+#X obj 118 247 unpack 0 0 0 0 0 0;
+#X obj 87 337 GEMglFrustum -1 1 -1 1 1 20;
+#X obj 285 197 t f f;
+#X obj 87 98 inlet gemlist;
+#X obj 87 365 outlet gemlist;
+#X obj 428 48 inlet xDivY;
+#X obj 118 224 r \$0-perspec;
+#X obj 237 197 t b b;
+#X obj 118 280 f -1;
+#X obj 159 280 f 1;
+#X obj 118 312 * 0.5;
+#X obj 159 312 * 0.5;
+#X obj 237 175 t b f;
+#X connect 0 0 8 0;
+#X connect 0 1 9 0;
+#X connect 0 2 1 3;
+#X connect 0 3 1 4;
+#X connect 0 4 1 5;
+#X connect 0 5 1 6;
+#X connect 1 0 4 0;
+#X connect 2 0 10 1;
+#X connect 2 1 11 1;
+#X connect 3 0 1 0;
+#X connect 5 0 12 0;
+#X connect 6 0 0 0;
+#X connect 7 0 8 0;
+#X connect 7 1 9 0;
+#X connect 8 0 10 0;
+#X connect 9 0 11 0;
+#X connect 10 0 1 1;
+#X connect 11 0 1 2;
+#X connect 12 0 7 0;
+#X connect 12 1 2 0;
+#X restore 271 251 pd viewport;
+#N canvas 0 0 1146 300 lookat 0;
+#X obj 145 108 GEMglMatrixMode GL_MODELVIEW;
+#X obj 145 127 GEMglLoadIdentity;
+#X obj 145 227 GEMgluLookAt 0 0 4 0 0 0 0 1 0;
+#X obj 187 153 unpack 0 0 4 0 0 0 0 1 0;
+#X obj 145 77 inlet gemlist;
+#X obj 145 261 outlet gemlist;
+#X obj 468 65 inlet stereoSep;
+#X obj 598 65 inlet stereoFoc;
+#X obj 317 60 inlet view;
+#X obj 283 198 +;
+#X obj 186 173 t b f;
+#X obj 294 178 t b f;
+#X obj 168 193 + 0.15;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 2 0 5 0;
+#X connect 3 0 12 0;
+#X connect 3 1 2 2;
+#X connect 3 2 2 3;
+#X connect 3 3 2 4;
+#X connect 3 4 2 5;
+#X connect 3 5 9 0;
+#X connect 3 6 2 7;
+#X connect 3 7 2 8;
+#X connect 3 8 2 9;
+#X connect 4 0 0 0;
+#X connect 6 0 10 0;
+#X connect 7 0 11 0;
+#X connect 8 0 3 0;
+#X connect 9 0 2 6;
+#X connect 10 0 12 0;
+#X connect 10 1 12 1;
+#X connect 11 0 9 0;
+#X connect 11 1 9 1;
+#X connect 12 0 2 1;
+#X restore 271 308 pd lookat;
+#X obj 464 60 / 100;
+#X obj 291 277 r \$0-viewpoint;
+#N canvas 430 24 886 440 viewport 0;
+#X obj 118 247 unpack 0 0 0 0 0 0;
+#X obj 87 337 GEMglFrustum -1 1 -1 1 1 20;
+#X obj 285 197 t f f;
+#X obj 87 98 inlet gemlist;
+#X obj 87 365 outlet gemlist;
+#X obj 428 48 inlet xDivY;
+#X obj 118 224 r \$0-perspec;
+#X obj 237 197 t b b;
+#X obj 118 280 f -1;
+#X obj 159 280 f 1;
+#X obj 118 312 * 0.5;
+#X obj 159 312 * 0.5;
+#X obj 237 175 t b f;
+#X connect 0 0 8 0;
+#X connect 0 1 9 0;
+#X connect 0 2 1 3;
+#X connect 0 3 1 4;
+#X connect 0 4 1 5;
+#X connect 0 5 1 6;
+#X connect 1 0 4 0;
+#X connect 2 0 10 1;
+#X connect 2 1 11 1;
+#X connect 3 0 1 0;
+#X connect 5 0 12 0;
+#X connect 6 0 0 0;
+#X connect 7 0 8 0;
+#X connect 7 1 9 0;
+#X connect 8 0 10 0;
+#X connect 9 0 11 0;
+#X connect 10 0 1 1;
+#X connect 11 0 1 2;
+#X connect 12 0 7 0;
+#X connect 12 1 2 0;
+#X restore 118 235 pd viewport;
+#N canvas 0 0 1146 300 lookat 0;
+#X obj 145 108 GEMglMatrixMode GL_MODELVIEW;
+#X obj 145 127 GEMglLoadIdentity;
+#X obj 145 227 GEMgluLookAt 0 0 4 0 0 0 0 1 0;
+#X obj 187 153 unpack 0 0 4 0 0 0 0 1 0;
+#X obj 145 77 inlet gemlist;
+#X obj 145 261 outlet gemlist;
+#X obj 468 65 inlet stereoSep;
+#X obj 598 65 inlet stereoFoc;
+#X obj 317 60 inlet view;
+#X obj 283 198 +;
+#X obj 186 173 t b f;
+#X obj 294 178 t b f;
+#X obj 168 193 + -0.15;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 2 0 5 0;
+#X connect 3 0 12 0;
+#X connect 3 1 2 2;
+#X connect 3 2 2 3;
+#X connect 3 3 2 4;
+#X connect 3 4 2 5;
+#X connect 3 5 9 0;
+#X connect 3 6 2 7;
+#X connect 3 7 2 8;
+#X connect 3 8 2 9;
+#X connect 4 0 0 0;
+#X connect 6 0 10 0;
+#X connect 7 0 11 0;
+#X connect 8 0 3 0;
+#X connect 9 0 2 6;
+#X connect 10 0 12 0;
+#X connect 10 1 12 1;
+#X connect 11 0 9 0;
+#X connect 11 1 9 1;
+#X connect 12 0 2 1;
+#X restore 118 308 pd lookat;
+#X obj 138 261 r \$0-viewpoint;
+#X text 297 60 LEFT;
+#X text 138 71 RIGHT;
+#X obj 458 121 * -1;
+#X obj 326 453 t a;
+#X obj 354 17 inlet width/height;
+#X obj 356 42 t f f;
+#X obj 37 16 inlet gemlist;
+#X obj 326 495 outlet gemlist;
+#X obj 176 497 outlet gemlist (OSD);
+#X obj 176 468 t a;
+#X obj 271 359 t a a;
+#N canvas 0 0 1146 300 lookat 0;
+#X obj 145 108 GEMglMatrixMode GL_MODELVIEW;
+#X obj 145 127 GEMglLoadIdentity;
+#X obj 145 227 GEMgluLookAt 0 0 4 0 0 0 0 1 0;
+#X obj 187 153 unpack 0 0 4 0 0 0 0 1 0;
+#X obj 145 77 inlet gemlist;
+#X obj 145 261 outlet gemlist;
+#X obj 468 65 inlet stereoSep;
+#X obj 598 65 inlet stereoFoc;
+#X obj 317 60 inlet view;
+#X obj 283 198 +;
+#X obj 186 173 t b f;
+#X obj 294 178 t b f;
+#X obj 168 193 + 0.15;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 2 0 5 0;
+#X connect 3 0 12 0;
+#X connect 3 1 2 2;
+#X connect 3 2 2 3;
+#X connect 3 3 2 4;
+#X connect 3 4 2 5;
+#X connect 3 5 9 0;
+#X connect 3 6 2 7;
+#X connect 3 7 2 8;
+#X connect 3 8 2 9;
+#X connect 4 0 0 0;
+#X connect 6 0 10 0;
+#X connect 7 0 11 0;
+#X connect 8 0 3 0;
+#X connect 9 0 2 6;
+#X connect 10 0 12 0;
+#X connect 10 1 12 1;
+#X connect 11 0 9 0;
+#X connect 11 1 9 1;
+#X connect 12 0 2 1;
+#X restore 271 421 pd lookat;
+#X obj 92 354 t a a;
+#N canvas 0 0 1146 300 lookat 0;
+#X obj 145 108 GEMglMatrixMode GL_MODELVIEW;
+#X obj 145 127 GEMglLoadIdentity;
+#X obj 145 227 GEMgluLookAt 0 0 4 0 0 0 0 1 0;
+#X obj 187 153 unpack 0 0 4 0 0 0 0 1 0;
+#X obj 145 77 inlet gemlist;
+#X obj 145 261 outlet gemlist;
+#X obj 468 65 inlet stereoSep;
+#X obj 598 65 inlet stereoFoc;
+#X obj 317 60 inlet view;
+#X obj 283 198 +;
+#X obj 186 173 t b f;
+#X obj 294 178 t b f;
+#X obj 168 193 + -0.15;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 2 0 5 0;
+#X connect 3 0 12 0;
+#X connect 3 1 2 2;
+#X connect 3 2 2 3;
+#X connect 3 3 2 4;
+#X connect 3 4 2 5;
+#X connect 3 5 9 0;
+#X connect 3 6 2 7;
+#X connect 3 7 2 8;
+#X connect 3 8 2 9;
+#X connect 4 0 0 0;
+#X connect 6 0 10 0;
+#X connect 7 0 11 0;
+#X connect 8 0 3 0;
+#X connect 9 0 2 6;
+#X connect 10 0 12 0;
+#X connect 10 1 12 1;
+#X connect 11 0 9 0;
+#X connect 11 1 9 1;
+#X connect 12 0 2 1;
+#X restore 176 424 pd lookat;
+#X obj 158 285 t f f;
+#X obj 199 285 t f f;
+#X obj 457 143 t f f;
+#X obj 521 138 t f f;
+#X obj 525 84 t f f;
+#X obj 457 82 t f f;
+#X obj 509 60 r \$0-stereoFocal;
+#X obj 464 39 r \$0-stereoSeparation;
+#N canvas 0 0 450 300 colormask 0;
+#X obj 67 232 outlet gemlist;
+#X obj 67 32 inlet gemlist;
+#X obj 246 35 inlet colormask;
+#X obj 90 132 unpack 0 0 0 0;
+#X obj 67 165 GEMglColorMask 1 1 1 1;
+#X connect 1 0 4 0;
+#X connect 2 0 3 0;
+#X connect 3 0 4 1;
+#X connect 3 1 4 2;
+#X connect 3 2 4 3;
+#X connect 3 3 4 4;
+#X connect 4 0 0 0;
+#X restore 116 200 pd colormask;
+#N canvas 0 0 450 300 colormask 0;
+#X obj 67 232 outlet gemlist;
+#X obj 67 32 inlet gemlist;
+#X obj 246 35 inlet colormask;
+#X obj 90 132 unpack 0 0 0 0;
+#X obj 67 165 GEMglColorMask 1 1 1 1;
+#X connect 1 0 4 0;
+#X connect 2 0 3 0;
+#X connect 3 0 4 1;
+#X connect 3 1 4 2;
+#X connect 3 2 4 3;
+#X connect 3 3 4 4;
+#X connect 4 0 0 0;
+#X restore 271 206 pd colormask;
+#X msg 147 162 1 0 0 1;
+#X msg 297 168 0 1 0 1;
+#X obj 198 136 t b b;
+#X obj 37 82 t a a b;
+#N canvas 183 181 841 300 clearmask 0;
+#X obj 113 55 inlet;
+#X obj 113 215 outlet;
+#X obj 113 110 GEMglClear;
+#X obj 113 130 GEMglClear;
+#X obj 113 150 GEMglClear;
+#X obj 113 170 GEMglClear;
+#X obj 483 109 r \$0-clearmask;
+#X obj 191 110 GLdefine GL_COLOR_BUFFER_BIT;
+#X obj 483 129 r \$0-clearmask;
+#X obj 483 149 r \$0-clearmask;
+#X obj 483 169 r \$0-clearmask;
+#X obj 196 79 t b b b b;
+#X obj 191 130 GLdefine GL_DEPTH_BUFFER_BIT;
+#X obj 191 150 GLdefine GL_STENCIL_BUFFER_BIT;
+#X obj 191 170 GLdefine GL_ACCUM_BUFFER_BIT;
+#X obj 415 109 & 16348;
+#X obj 415 129 & 256;
+#X obj 415 149 & 1024;
+#X obj 415 169 & 512;
+#X obj 113 83 t a b;
+#X connect 0 0 19 0;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 5 0 1 0;
+#X connect 6 0 15 1;
+#X connect 7 0 15 0;
+#X connect 8 0 16 1;
+#X connect 9 0 17 1;
+#X connect 10 0 18 1;
+#X connect 11 0 7 0;
+#X connect 11 1 12 0;
+#X connect 11 2 13 0;
+#X connect 11 3 14 0;
+#X connect 12 0 16 0;
+#X connect 13 0 17 0;
+#X connect 14 0 18 0;
+#X connect 15 0 2 1;
+#X connect 16 0 3 1;
+#X connect 17 0 4 1;
+#X connect 18 0 5 1;
+#X connect 19 0 2 0;
+#X connect 19 1 11 0;
+#X restore 37 57 pd clearmask;
+#N canvas 1545 229 751 300 GemState 0;
+#X obj 138 134 gemlist;
+#X obj 138 18 inlet bang;
+#X obj 138 224 outlet gemlist;
+#X msg 150 111 lighting \$1;
+#X obj 150 92 r \$0-lighting;
+#X msg 347 139 ticktime \$1;
+#X obj 347 96 t b b;
+#X obj 347 116 timer;
+#X obj 138 66 t b b;
+#X obj 372 23 r \$0-buffer;
+#X obj 347 46 i 2;
+#X obj 347 72 select 2;
+#X msg 400 116 50;
+#X connect 0 0 2 0;
+#X connect 1 0 8 0;
+#X connect 3 0 0 0;
+#X connect 4 0 3 0;
+#X connect 5 0 0 0;
+#X connect 6 0 7 0;
+#X connect 6 1 7 1;
+#X connect 7 0 5 0;
+#X connect 8 0 0 0;
+#X connect 8 1 10 0;
+#X connect 9 0 10 1;
+#X connect 10 0 11 0;
+#X connect 11 0 6 0;
+#X connect 11 1 12 0;
+#X connect 12 0 5 0;
+#X restore 271 333 pd GemState;
+#N canvas 1545 229 751 300 GemState0 0;
+#X obj 138 134 gemlist;
+#X obj 138 18 inlet bang;
+#X obj 138 224 outlet gemlist;
+#X msg 150 111 lighting \$1;
+#X obj 150 92 r \$0-lighting;
+#X obj 138 66 t b b;
+#X msg 251 91 ticktime 0;
+#X connect 0 0 2 0;
+#X connect 1 0 5 0;
+#X connect 3 0 0 0;
+#X connect 4 0 3 0;
+#X connect 5 0 0 0;
+#X connect 5 1 6 0;
+#X connect 6 0 0 0;
+#X restore 92 331 pd GemState0;
+#X connect 0 0 1 0;
+#X connect 1 0 36 0;
+#X connect 2 0 26 0;
+#X connect 3 0 1 1;
+#X connect 4 0 5 0;
+#X connect 5 0 37 0;
+#X connect 6 0 5 1;
+#X connect 9 0 23 0;
+#X connect 10 0 14 0;
+#X connect 11 0 12 0;
+#X connect 12 0 4 1;
+#X connect 12 1 0 1;
+#X connect 13 0 35 0;
+#X connect 16 0 15 0;
+#X connect 17 0 18 0;
+#X connect 17 1 10 0;
+#X connect 18 0 16 0;
+#X connect 19 0 20 0;
+#X connect 19 1 10 0;
+#X connect 20 0 16 0;
+#X connect 21 0 5 2;
+#X connect 21 1 20 2;
+#X connect 22 0 5 3;
+#X connect 22 1 20 3;
+#X connect 23 0 1 2;
+#X connect 23 1 18 2;
+#X connect 24 0 1 3;
+#X connect 24 1 18 3;
+#X connect 25 0 22 0;
+#X connect 25 1 24 0;
+#X connect 26 0 21 0;
+#X connect 26 1 9 0;
+#X connect 27 0 25 0;
+#X connect 28 0 2 0;
+#X connect 29 0 4 0;
+#X connect 30 0 0 0;
+#X connect 31 0 29 1;
+#X connect 32 0 30 1;
+#X connect 33 0 31 0;
+#X connect 33 1 32 0;
+#X connect 34 0 29 0;
+#X connect 34 1 30 0;
+#X connect 34 2 33 0;
+#X connect 35 0 34 0;
+#X connect 36 0 17 0;
+#X connect 37 0 19 0;
+#X restore 86 229 pd renderAnaglyph;
+#X connect 0 0 1 0;
+#X connect 1 0 5 0;
+#X connect 1 1 2 0;
+#X connect 2 0 4 0;
+#X connect 3 0 2 1;
+#X connect 4 0 10 1;
+#X connect 5 0 6 0;
+#X connect 5 1 10 0;
+#X connect 7 0 3 0;
+#X connect 10 0 9 0;
+#X connect 10 1 8 0;
+#X restore 226 356 pd anaglyphStereo;
+#N canvas 519 50 506 526 CrystalEyeStereo 0;
+#X obj 95 70 inlet;
+#X obj 95 90 t a b;
+#X obj 146 142 list append 500 500;
+#X obj 276 122 pack 0 0;
+#X obj 146 182 /;
+#X obj 54 177 t a a;
+#X obj 54 362 GEMglColorMask 1 1 1 1;
+#X obj 276 100 r \$0-realdimen;
+#X obj 86 265 outlet osd;
+#X obj 216 271 outlet render;
+#N canvas 352 0 672 526 renderCrystalEye 0;
+#N canvas 465 62 886 440 viewport 0;
+#X obj 118 247 unpack 0 0 0 0 0 0;
+#X obj 87 337 GEMglFrustum -1 1 -1 1 1 20;
+#X obj 285 197 t f f;
+#X obj 87 98 inlet gemlist;
+#X obj 87 365 outlet gemlist;
+#X obj 428 48 inlet xDivY;
+#X obj 118 224 r \$0-perspec;
+#X obj 237 197 t b b;
+#X obj 118 280 f -1;
+#X obj 159 280 f 1;
+#X obj 118 312 * 0.5;
+#X obj 159 312 * 0.5;
+#X obj 237 175 t b f;
+#X obj 87 124 GEMglMatrixMode GL_PROJECTION;
+#X obj 87 145 GEMglLoadIdentity;
+#X connect 0 0 8 0;
+#X connect 0 1 9 0;
+#X connect 0 2 1 3;
+#X connect 0 3 1 4;
+#X connect 0 4 1 5;
+#X connect 0 5 1 6;
+#X connect 1 0 4 0;
+#X connect 2 0 10 1;
+#X connect 2 1 11 1;
+#X connect 3 0 13 0;
+#X connect 5 0 12 0;
+#X connect 6 0 0 0;
+#X connect 7 0 8 0;
+#X connect 7 1 9 0;
+#X connect 8 0 10 0;
+#X connect 9 0 11 0;
+#X connect 10 0 1 1;
+#X connect 11 0 1 2;
+#X connect 12 0 7 0;
+#X connect 12 1 2 0;
+#X connect 13 0 14 0;
+#X connect 14 0 1 0;
+#X restore 271 151 pd viewport;
+#N canvas 1263 50 1146 410 lookat 0;
+#X obj 145 227 GEMglLoadIdentity;
+#X obj 145 327 GEMgluLookAt 0 0 4 0 0 0 0 1 0;
+#X obj 187 253 unpack 0 0 4 0 0 0 0 1 0;
+#X obj 145 77 inlet gemlist;
+#X obj 145 361 outlet gemlist;
+#X obj 468 65 inlet stereoSep;
+#X obj 598 65 inlet stereoFoc;
+#X obj 317 60 inlet view;
+#X obj 283 298 +;
+#X obj 186 273 t b f;
+#X obj 294 278 t b f;
+#X obj 168 293 + 0.15;
+#X connect 0 0 1 0;
+#X connect 1 0 4 0;
+#X connect 2 0 11 0;
+#X connect 2 1 1 2;
+#X connect 2 2 1 3;
+#X connect 2 3 1 4;
+#X connect 2 4 1 5;
+#X connect 2 5 8 0;
+#X connect 2 6 1 7;
+#X connect 2 7 1 8;
+#X connect 2 8 1 9;
+#X connect 3 0 0 0;
+#X connect 5 0 9 0;
+#X connect 6 0 10 0;
+#X connect 7 0 2 0;
+#X connect 8 0 1 6;
+#X connect 9 0 11 0;
+#X connect 9 1 11 1;
+#X connect 10 0 8 0;
+#X connect 10 1 8 1;
+#X connect 11 0 1 1;
+#X restore 271 248 pd lookat;
+#X obj 464 110 / 100;
+#X obj 291 217 r \$0-viewpoint;
+#N canvas 138 136 886 440 viewport 0;
+#X obj 118 247 unpack 0 0 0 0 0 0;
+#X obj 87 337 GEMglFrustum -1 1 -1 1 1 20;
+#X obj 285 197 t f f;
+#X obj 87 98 inlet gemlist;
+#X obj 87 365 outlet gemlist;
+#X obj 428 48 inlet xDivY;
+#X obj 118 224 r \$0-perspec;
+#X obj 237 197 t b b;
+#X obj 118 280 f -1;
+#X obj 159 280 f 1;
+#X obj 118 312 * 0.5;
+#X obj 159 312 * 0.5;
+#X obj 237 175 t b f;
+#X obj 87 124 GEMglMatrixMode GL_PROJECTION;
+#X obj 87 144 GEMglLoadIdentity;
+#X connect 0 0 8 0;
+#X connect 0 1 9 0;
+#X connect 0 2 1 3;
+#X connect 0 3 1 4;
+#X connect 0 4 1 5;
+#X connect 0 5 1 6;
+#X connect 1 0 4 0;
+#X connect 2 0 10 1;
+#X connect 2 1 11 1;
+#X connect 3 0 13 0;
+#X connect 5 0 12 0;
+#X connect 6 0 0 0;
+#X connect 7 0 8 0;
+#X connect 7 1 9 0;
+#X connect 8 0 10 0;
+#X connect 9 0 11 0;
+#X connect 10 0 1 1;
+#X connect 11 0 1 2;
+#X connect 12 0 7 0;
+#X connect 12 1 2 0;
+#X connect 13 0 14 0;
+#X connect 14 0 1 0;
+#X restore 118 125 pd viewport;
+#N canvas 0 0 1146 300 lookat 0;
+#X obj 145 127 GEMglLoadIdentity;
+#X obj 145 227 GEMgluLookAt 0 0 4 0 0 0 0 1 0;
+#X obj 187 153 unpack 0 0 4 0 0 0 0 1 0;
+#X obj 145 77 inlet gemlist;
+#X obj 145 261 outlet gemlist;
+#X obj 468 65 inlet stereoSep;
+#X obj 598 65 inlet stereoFoc;
+#X obj 317 60 inlet view;
+#X obj 283 198 +;
+#X obj 186 173 t b f;
+#X obj 294 178 t b f;
+#X obj 168 193 + -0.15;
+#X connect 0 0 1 0;
+#X connect 1 0 4 0;
+#X connect 2 0 11 0;
+#X connect 2 1 1 2;
+#X connect 2 2 1 3;
+#X connect 2 3 1 4;
+#X connect 2 4 1 5;
+#X connect 2 5 8 0;
+#X connect 2 6 1 7;
+#X connect 2 7 1 8;
+#X connect 2 8 1 9;
+#X connect 3 0 0 0;
+#X connect 5 0 9 0;
+#X connect 6 0 10 0;
+#X connect 7 0 2 0;
+#X connect 8 0 1 6;
+#X connect 9 0 11 0;
+#X connect 9 1 11 1;
+#X connect 10 0 8 0;
+#X connect 10 1 8 1;
+#X connect 11 0 1 1;
+#X restore 118 248 pd lookat;
+#X obj 138 201 r \$0-viewpoint;
+#X text 297 60 LEFT;
+#X obj 458 171 * -1;
+#X obj 450 378 t a;
+#X obj 354 67 inlet width/height;
+#X obj 356 92 t f f;
+#X obj 37 66 inlet gemlist;
+#X obj 450 420 outlet gemlist;
+#X obj 176 437 outlet gemlist (OSD);
+#X obj 176 408 t a;
+#X obj 271 299 t a a;
+#N canvas 0 0 1146 300 lookat 0;
+#X obj 145 108 GEMglMatrixMode GL_MODELVIEW;
+#X obj 145 127 GEMglLoadIdentity;
+#X obj 145 227 GEMgluLookAt 0 0 4 0 0 0 0 1 0;
+#X obj 187 153 unpack 0 0 4 0 0 0 0 1 0;
+#X obj 145 77 inlet gemlist;
+#X obj 145 261 outlet gemlist;
+#X obj 468 65 inlet stereoSep;
+#X obj 598 65 inlet stereoFoc;
+#X obj 317 60 inlet view;
+#X obj 283 198 +;
+#X obj 186 173 t b f;
+#X obj 294 178 t b f;
+#X obj 168 193 + 0.15;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 2 0 5 0;
+#X connect 3 0 12 0;
+#X connect 3 1 2 2;
+#X connect 3 2 2 3;
+#X connect 3 3 2 4;
+#X connect 3 4 2 5;
+#X connect 3 5 9 0;
+#X connect 3 6 2 7;
+#X connect 3 7 2 8;
+#X connect 3 8 2 9;
+#X connect 4 0 0 0;
+#X connect 6 0 10 0;
+#X connect 7 0 11 0;
+#X connect 8 0 3 0;
+#X connect 9 0 2 6;
+#X connect 10 0 12 0;
+#X connect 10 1 12 1;
+#X connect 11 0 9 0;
+#X connect 11 1 9 1;
+#X connect 12 0 2 1;
+#X restore 271 361 pd lookat;
+#X obj 92 294 t a a;
+#N canvas 0 0 1146 300 lookat 0;
+#X obj 145 108 GEMglMatrixMode GL_MODELVIEW;
+#X obj 145 127 GEMglLoadIdentity;
+#X obj 145 227 GEMgluLookAt 0 0 4 0 0 0 0 1 0;
+#X obj 187 153 unpack 0 0 4 0 0 0 0 1 0;
+#X obj 145 77 inlet gemlist;
+#X obj 145 261 outlet gemlist;
+#X obj 468 65 inlet stereoSep;
+#X obj 598 65 inlet stereoFoc;
+#X obj 317 60 inlet view;
+#X obj 283 198 +;
+#X obj 186 173 t b f;
+#X obj 294 178 t b f;
+#X obj 168 193 + -0.15;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 2 0 5 0;
+#X connect 3 0 12 0;
+#X connect 3 1 2 2;
+#X connect 3 2 2 3;
+#X connect 3 3 2 4;
+#X connect 3 4 2 5;
+#X connect 3 5 9 0;
+#X connect 3 6 2 7;
+#X connect 3 7 2 8;
+#X connect 3 8 2 9;
+#X connect 4 0 0 0;
+#X connect 6 0 10 0;
+#X connect 7 0 11 0;
+#X connect 8 0 3 0;
+#X connect 9 0 2 6;
+#X connect 10 0 12 0;
+#X connect 10 1 12 1;
+#X connect 11 0 9 0;
+#X connect 11 1 9 1;
+#X connect 12 0 2 1;
+#X restore 176 364 pd lookat;
+#X obj 158 225 t f f;
+#X obj 199 225 t f f;
+#X obj 457 193 t f f;
+#X obj 521 188 t f f;
+#X obj 525 134 t f f;
+#X obj 457 132 t f f;
+#X obj 509 110 r \$0-stereoFocal;
+#X obj 464 89 r \$0-stereoSeparation;
+#N canvas 558 127 450 370 left 0;
+#X obj 90 158 GEMglDrawBuffer GL_BACK_LEFT;
+#X obj 90 252 GEMglClear;
+#X obj 157 203 GLdefine GL_COLOR_BUFFER_BIT;
+#X obj 157 227 |;
+#X obj 157 181 t b b;
+#X obj 189 227 GLdefine GL_DEPTH_BUFFER_BIT;
+#X obj 90 181 t a b;
+#X obj 90 86 inlet gemlist;
+#X obj 90 282 outlet gemlist;
+#X obj 90 118 GEMglMatrixMode GL_MODELVIEW;
+#X connect 0 0 6 0;
+#X connect 1 0 8 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 1;
+#X connect 4 0 2 0;
+#X connect 4 1 5 0;
+#X connect 5 0 3 1;
+#X connect 6 0 1 0;
+#X connect 6 1 4 0;
+#X connect 7 0 9 0;
+#X connect 9 0 0 0;
+#X restore 271 181 pd left;
+#N canvas 517 117 450 370 right 0;
+#X obj 90 76 inlet gemlist;
+#X obj 90 282 outlet gemlist;
+#X obj 90 158 GEMglDrawBuffer GL_BACK_RIGHT;
+#X obj 90 252 GEMglClear;
+#X obj 157 203 GLdefine GL_COLOR_BUFFER_BIT;
+#X obj 157 227 |;
+#X obj 157 181 t b b;
+#X obj 189 227 GLdefine GL_DEPTH_BUFFER_BIT;
+#X obj 90 181 t a b;
+#X obj 90 108 GEMglMatrixMode GL_MODELVIEW;
+#X connect 0 0 9 0;
+#X connect 2 0 8 0;
+#X connect 3 0 1 0;
+#X connect 4 0 5 0;
+#X connect 5 0 3 1;
+#X connect 6 0 4 0;
+#X connect 6 1 7 0;
+#X connect 7 0 5 1;
+#X connect 8 0 3 0;
+#X connect 8 1 6 0;
+#X connect 9 0 2 0;
+#X restore 118 165 pd right;
+#N canvas 0 0 450 300 clear 0;
+#X obj 90 252 GEMglClear;
+#X obj 157 204 GLdefine GL_DEPTH_BUFFER_BIT;
+#X obj 90 181 t a b;
+#X obj 157 227 & 256;
+#X obj 216 182 r \$0-clearmask;
+#X obj 90 148 inlet gemlist;
+#X obj 90 278 outlet gemlist;
+#X connect 0 0 6 0;
+#X connect 1 0 3 0;
+#X connect 2 0 0 0;
+#X connect 2 1 1 0;
+#X connect 3 0 0 1;
+#X connect 4 0 3 1;
+#X connect 5 0 2 0;
+#X restore 118 93 pd clear;
+#X obj 37 88 t a a;
+#X text 130 78 RIGHT;
+#N canvas 1545 229 751 300 GemState 0;
+#X obj 138 134 gemlist;
+#X obj 138 18 inlet bang;
+#X obj 138 224 outlet gemlist;
+#X msg 150 111 lighting \$1;
+#X obj 150 92 r \$0-lighting;
+#X msg 347 139 ticktime \$1;
+#X obj 347 96 t b b;
+#X obj 347 116 timer;
+#X obj 138 66 t b b;
+#X obj 372 23 r \$0-buffer;
+#X obj 347 46 i 2;
+#X obj 347 72 select 2;
+#X msg 400 116 50;
+#X connect 0 0 2 0;
+#X connect 1 0 8 0;
+#X connect 3 0 0 0;
+#X connect 4 0 3 0;
+#X connect 5 0 0 0;
+#X connect 6 0 7 0;
+#X connect 6 1 7 1;
+#X connect 7 0 5 0;
+#X connect 8 0 0 0;
+#X connect 8 1 10 0;
+#X connect 9 0 10 1;
+#X connect 10 0 11 0;
+#X connect 11 0 6 0;
+#X connect 11 1 12 0;
+#X connect 12 0 5 0;
+#X restore 271 279 pd GemState;
+#N canvas 1545 229 751 300 GemState0 0;
+#X obj 138 134 gemlist;
+#X obj 138 18 inlet bang;
+#X obj 138 224 outlet gemlist;
+#X msg 150 111 lighting \$1;
+#X obj 150 92 r \$0-lighting;
+#X obj 138 66 t b b;
+#X msg 251 91 ticktime 0;
+#X connect 0 0 2 0;
+#X connect 1 0 5 0;
+#X connect 3 0 0 0;
+#X connect 4 0 3 0;
+#X connect 5 0 0 0;
+#X connect 5 1 6 0;
+#X connect 6 0 0 0;
+#X restore 92 274 pd GemState0;
+#X connect 0 0 28 0;
+#X connect 1 0 33 0;
+#X connect 2 0 25 0;
+#X connect 3 0 1 1;
+#X connect 4 0 29 0;
+#X connect 5 0 34 0;
+#X connect 6 0 5 1;
+#X connect 8 0 22 0;
+#X connect 9 0 13 0;
+#X connect 10 0 11 0;
+#X connect 11 0 4 1;
+#X connect 11 1 0 1;
+#X connect 12 0 31 0;
+#X connect 15 0 14 0;
+#X connect 16 0 17 0;
+#X connect 16 1 9 0;
+#X connect 17 0 15 0;
+#X connect 18 0 19 0;
+#X connect 18 1 9 0;
+#X connect 19 0 15 0;
+#X connect 20 0 5 2;
+#X connect 20 1 19 2;
+#X connect 21 0 5 3;
+#X connect 21 1 19 3;
+#X connect 22 0 1 2;
+#X connect 22 1 17 2;
+#X connect 23 0 1 3;
+#X connect 23 1 17 3;
+#X connect 24 0 21 0;
+#X connect 24 1 23 0;
+#X connect 25 0 20 0;
+#X connect 25 1 8 0;
+#X connect 26 0 24 0;
+#X connect 27 0 2 0;
+#X connect 28 0 1 0;
+#X connect 29 0 5 0;
+#X connect 30 0 4 0;
+#X connect 31 0 30 0;
+#X connect 31 1 0 0;
+#X connect 33 0 16 0;
+#X connect 34 0 18 0;
+#X restore 86 229 pd renderCrystalEye;
+#X connect 0 0 1 0;
+#X connect 1 0 5 0;
+#X connect 1 1 2 0;
+#X connect 2 0 4 0;
+#X connect 3 0 2 1;
+#X connect 4 0 10 1;
+#X connect 5 0 6 0;
+#X connect 5 1 10 0;
+#X connect 7 0 3 0;
+#X connect 10 0 8 0;
+#X connect 10 1 9 0;
+#X restore 258 336 pd CrystalEyeStereo;
+#X obj 131 476 GEMglReportError;
+#X msg 390 149 1000 \$1;
+#X obj 390 171 /;
+#X obj 131 189 metro 20;
+#N canvas 274 226 751 300 GemState 0;
+#X obj 138 134 gemlist;
+#X obj 138 18 inlet bang;
+#X obj 138 224 outlet gemlist;
+#X msg 149 112 lighting \$1;
+#X obj 150 92 r \$0-lighting;
+#X msg 347 139 ticktime \$1;
+#X obj 347 96 t b b;
+#X obj 347 116 timer;
+#X obj 138 66 t b b;
+#X obj 372 23 r \$0-buffer;
+#X obj 347 46 i 2;
+#X obj 347 72 select 2;
+#X msg 400 116 50;
+#X connect 0 0 2 0;
+#X connect 1 0 8 0;
+#X connect 3 0 0 0;
+#X connect 4 0 3 0;
+#X connect 5 0 0 0;
+#X connect 6 0 7 0;
+#X connect 6 1 7 1;
+#X connect 7 0 5 0;
+#X connect 8 0 0 0;
+#X connect 8 1 10 0;
+#X connect 9 0 10 1;
+#X connect 10 0 11 0;
+#X connect 11 0 6 0;
+#X connect 11 1 12 0;
+#X connect 12 0 5 0;
+#X restore 131 230 pd GemState;
+#X obj 390 126 r \$0-rate;
+#X obj 131 168 r \$0-render;
+#X obj 131 279 t a a;
+#X obj 163 429 t a;
+#X obj 303 429 t a;
+#N canvas 3 45 682 270 send2gemhead 1;
+#X obj 83 46 inlet OSD;
+#X obj 323 42 inlet view;
+#X obj 173 68 r \$0-gemheadbasename;
+#X obj 173 90 symbol;
+#X msg 173 134 symbol \$1_osd;
+#X obj 83 179 s;
+#X obj 323 179 s;
+#X obj 173 112 t s s;
+#X connect 0 0 5 0;
+#X connect 1 0 6 0;
+#X connect 2 0 3 0;
+#X connect 3 0 7 0;
+#X connect 4 0 5 1;
+#X connect 7 0 4 0;
+#X connect 7 1 6 1;
+#X restore 192 455 pd send2gemhead;
+#X connect 0 0 10 0;
+#X connect 4 0 21 0;
+#X connect 4 1 8 0;
+#X connect 7 0 2 0;
+#X connect 11 0 24 0;
+#X connect 12 0 25 0;
+#X connect 12 1 26 0;
+#X connect 13 0 25 0;
+#X connect 13 1 26 0;
+#X connect 14 0 12 0;
+#X connect 14 1 13 0;
+#X connect 14 2 15 0;
+#X connect 14 3 16 0;
+#X connect 15 0 25 0;
+#X connect 15 1 26 0;
+#X connect 16 0 25 0;
+#X connect 16 1 26 0;
+#X connect 18 0 19 0;
+#X connect 19 0 20 1;
+#X connect 20 0 4 0;
+#X connect 21 0 11 0;
+#X connect 22 0 18 0;
+#X connect 23 0 20 0;
+#X connect 24 0 17 0;
+#X connect 24 1 14 0;
+#X connect 25 0 27 0;
+#X connect 26 0 27 1;
diff --git a/packages/noncvs/windows/extra/Gem/glsl_fragment-help.pd b/packages/noncvs/windows/extra/Gem/glsl_fragment-help.pd
index ea7a5371..882f3a4e 100644
--- a/packages/noncvs/windows/extra/Gem/glsl_fragment-help.pd
+++ b/packages/noncvs/windows/extra/Gem/glsl_fragment-help.pd
@@ -1,91 +1,91 @@
-#N canvas 90 26 633 413 10;
-#X text 452 8 GEM object;
-#X obj 8 257 cnv 15 430 140 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 11 258 Inlets:;
-#X text 10 348 Outlets:;
-#X obj 8 222 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 222 Arguments:;
-#X obj 7 66 cnv 15 430 150 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 451 77 cnv 15 170 170 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 456 108 cnv 15 160 130 empty empty empty 35 12 0 14 -24198 -66577
-0;
-#X text 14 361 Outlet 1: gemlist;
-#X text 21 272 Inlet 1: gemlist;
-#X obj 10 153 cnv 15 420 50 empty empty empty 20 12 0 14 -225280 -66577
-0;
-#X text 71 31 Class: shader object;
-#X text 451 325 see also:;
-#X obj 453 362 glsl_vertex;
-#X text 14 157 IMPORTANT NOTE: your openGL-implementation (gfx-card
-driver \, ...) has to support the GLSL-standard (which is part of openGL-2.0)
-in order to make use of this object.;
-#X floatatom 545 216 0 0 0 0 ID - -;
-#X obj 459 193 glsl_fragment;
-#X obj 453 342 glsl_program;
-#X text 50 12 Synopsis: [glsl_fragment];
-#X text 13 66 Description: load a GLSL fragment shader;
-#X text 14 85 [glsl_fragment] loads and compiles a GLSL fragment shader
-into a module \, suitable for linking with [glsl_program];
-#X text 17 118 An ID of the generated module is sent to the 2nd outlet.
-Use this ID in the "shader" message to [glsl_program];
-#X text 63 233 <filename>: filename to load as GLSL fragment shader
-;
-#X text 21 284 Inlet 1: "open <filename>": filename to load as GLSL
-fragment shader module.;
-#X text 21 315 Inlet 1: "print": print info about the GLSL-support
-in your openGL implementation;
-#X text 14 376 Outlet 2: <float>: ID of the GLSL-module;
-#X obj 459 86 gemhead;
-#X msg 552 170 print;
-#X obj 521 261 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 197 134 destroy;
-#X msg 132 112 reset \, create \, 1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 526 300 pd gemwin;
-#X msg 526 281 create;
-#X text 522 260 Create window:;
-#X obj 527 117 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#N canvas 0 22 450 300 open 0;
-#X obj 312 45 openpanel;
-#X obj 311 157 outlet;
-#X obj 312 69 t b s;
-#X msg 332 94 set open \$1;
-#X obj 312 22 inlet;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 2 1 3 0;
-#X connect 3 0 1 0;
-#X connect 4 0 0 0;
-#X restore 470 116 pd open;
-#X msg 470 136 open Toon.frag;
-#X obj 453 382 glsl_geometry;
-#X connect 18 1 17 0;
-#X connect 28 0 18 0;
-#X connect 29 0 18 0;
-#X connect 31 0 32 0;
-#X connect 32 0 31 0;
-#X connect 34 0 35 0;
-#X connect 35 0 36 0;
-#X connect 36 0 18 0;
+#N canvas 90 26 633 413 10;
+#X text 452 8 GEM object;
+#X obj 8 257 cnv 15 430 140 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 11 258 Inlets:;
+#X text 10 348 Outlets:;
+#X obj 8 222 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 222 Arguments:;
+#X obj 7 66 cnv 15 430 150 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 451 77 cnv 15 170 170 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 456 108 cnv 15 160 130 empty empty empty 35 12 0 14 -24198 -66577
+0;
+#X text 14 361 Outlet 1: gemlist;
+#X text 21 272 Inlet 1: gemlist;
+#X obj 10 153 cnv 15 420 50 empty empty empty 20 12 0 14 -225280 -66577
+0;
+#X text 71 31 Class: shader object;
+#X text 451 325 see also:;
+#X obj 453 362 glsl_vertex;
+#X text 14 157 IMPORTANT NOTE: your openGL-implementation (gfx-card
+driver \, ...) has to support the GLSL-standard (which is part of openGL-2.0)
+in order to make use of this object.;
+#X floatatom 545 216 0 0 0 0 ID - -;
+#X obj 459 193 glsl_fragment;
+#X obj 453 342 glsl_program;
+#X text 50 12 Synopsis: [glsl_fragment];
+#X text 13 66 Description: load a GLSL fragment shader;
+#X text 14 85 [glsl_fragment] loads and compiles a GLSL fragment shader
+into a module \, suitable for linking with [glsl_program];
+#X text 17 118 An ID of the generated module is sent to the 2nd outlet.
+Use this ID in the "shader" message to [glsl_program];
+#X text 63 233 <filename>: filename to load as GLSL fragment shader
+;
+#X text 21 284 Inlet 1: "open <filename>": filename to load as GLSL
+fragment shader module.;
+#X text 21 315 Inlet 1: "print": print info about the GLSL-support
+in your openGL implementation;
+#X text 14 376 Outlet 2: <float>: ID of the GLSL-module;
+#X obj 459 86 gemhead;
+#X msg 552 170 print;
+#X obj 521 261 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 197 134 destroy;
+#X msg 132 112 reset \, create \, 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 526 300 pd gemwin;
+#X msg 526 281 create;
+#X text 522 260 Create window:;
+#X obj 527 117 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#N canvas 0 22 450 300 open 0;
+#X obj 312 45 openpanel;
+#X obj 311 157 outlet;
+#X obj 312 69 t b s;
+#X msg 332 94 set open \$1;
+#X obj 312 22 inlet;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 2 1 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 0 0;
+#X restore 470 116 pd open;
+#X msg 470 136 open Toon.frag;
+#X obj 453 382 glsl_geometry;
+#X connect 18 1 17 0;
+#X connect 28 0 18 0;
+#X connect 29 0 18 0;
+#X connect 31 0 32 0;
+#X connect 32 0 31 0;
+#X connect 34 0 35 0;
+#X connect 35 0 36 0;
+#X connect 36 0 18 0;
diff --git a/packages/noncvs/windows/extra/Gem/glsl_geometry-help.pd b/packages/noncvs/windows/extra/Gem/glsl_geometry-help.pd
index 08220acc..3ff4184f 100644
--- a/packages/noncvs/windows/extra/Gem/glsl_geometry-help.pd
+++ b/packages/noncvs/windows/extra/Gem/glsl_geometry-help.pd
@@ -1,91 +1,91 @@
-#N canvas 40 32 633 413 10;
-#X text 452 8 GEM object;
-#X obj 8 257 cnv 15 430 140 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 11 258 Inlets:;
-#X text 10 348 Outlets:;
-#X obj 8 222 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 222 Arguments:;
-#X obj 7 66 cnv 15 430 150 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 451 77 cnv 15 170 170 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 456 108 cnv 15 160 130 empty empty empty 35 12 0 14 -24198 -66577
-0;
-#X text 14 361 Outlet 1: gemlist;
-#X text 21 272 Inlet 1: gemlist;
-#X obj 10 153 cnv 15 420 50 empty empty empty 20 12 0 14 -225280 -66577
-0;
-#X text 71 31 Class: shader object;
-#X text 451 325 see also:;
-#X floatatom 546 219 0 0 0 0 ID - -;
-#X obj 460 196 glsl_geometry;
-#X obj 453 342 glsl_program;
-#X text 50 12 Synopsis: [glsl_geometry];
-#X text 13 66 Description: load a GLSL geometry shader;
-#X text 14 85 [glsl_geometry] loads and compiles a GLSL geometry shader
-into a module \, suitable for linking with [glsl_program];
-#X text 17 118 An ID of the generated module is sent to the 2nd outlet.
-Use this ID in the "shader" message to [glsl_program];
-#X text 63 233 <filename>: filename to load as GLSL geometry shader
-;
-#X text 21 284 Inlet 1: "open <filename>": filename to load as GLSL
-geometry shader module.;
-#X text 21 315 Inlet 1: "print": print info about the GLSL-support
-in your openGL implementation;
-#X text 14 376 Outlet 2: <float>: ID of the GLSL-module;
-#X obj 460 86 gemhead;
-#X msg 521 174 print;
-#X obj 521 261 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 197 134 destroy;
-#X msg 132 112 reset \, create \, 1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 526 300 pd gemwin;
-#X msg 526 281 create;
-#X text 522 260 Create window:;
-#X obj 453 363 glsl_fragment;
-#X obj 530 120 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#N canvas 0 22 450 300 open 0;
-#X obj 312 45 openpanel;
-#X obj 312 157 outlet;
-#X obj 312 69 t b s;
-#X msg 332 94 set open \$1;
-#X obj 312 22 inlet;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 2 1 3 0;
-#X connect 3 0 1 0;
-#X connect 4 0 0 0;
-#X restore 473 119 pd open;
-#X obj 453 383 glsl_geometry;
-#X msg 473 141 open Toon.geom;
-#X text 14 157 IMPORTANT NOTE: your openGL-implementation (gfx-card
-driver \, ...) has to support the GLSL-standard (which is part of openGL-2.1)
-in order to make use of this object.;
-#X connect 16 1 15 0;
-#X connect 26 0 16 0;
-#X connect 27 0 16 0;
-#X connect 29 0 30 0;
-#X connect 30 0 29 0;
-#X connect 33 0 34 0;
-#X connect 34 0 36 0;
-#X connect 36 0 16 0;
+#N canvas 40 32 633 413 10;
+#X text 452 8 GEM object;
+#X obj 8 257 cnv 15 430 140 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 11 258 Inlets:;
+#X text 10 348 Outlets:;
+#X obj 8 222 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 222 Arguments:;
+#X obj 7 66 cnv 15 430 150 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 451 77 cnv 15 170 170 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 456 108 cnv 15 160 130 empty empty empty 35 12 0 14 -24198 -66577
+0;
+#X text 14 361 Outlet 1: gemlist;
+#X text 21 272 Inlet 1: gemlist;
+#X obj 10 153 cnv 15 420 50 empty empty empty 20 12 0 14 -225280 -66577
+0;
+#X text 71 31 Class: shader object;
+#X text 451 325 see also:;
+#X floatatom 546 219 0 0 0 0 ID - -;
+#X obj 460 196 glsl_geometry;
+#X obj 453 342 glsl_program;
+#X text 50 12 Synopsis: [glsl_geometry];
+#X text 13 66 Description: load a GLSL geometry shader;
+#X text 14 85 [glsl_geometry] loads and compiles a GLSL geometry shader
+into a module \, suitable for linking with [glsl_program];
+#X text 17 118 An ID of the generated module is sent to the 2nd outlet.
+Use this ID in the "shader" message to [glsl_program];
+#X text 63 233 <filename>: filename to load as GLSL geometry shader
+;
+#X text 21 284 Inlet 1: "open <filename>": filename to load as GLSL
+geometry shader module.;
+#X text 21 315 Inlet 1: "print": print info about the GLSL-support
+in your openGL implementation;
+#X text 14 376 Outlet 2: <float>: ID of the GLSL-module;
+#X obj 460 86 gemhead;
+#X msg 521 174 print;
+#X obj 521 261 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 197 134 destroy;
+#X msg 132 112 reset \, create \, 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 526 300 pd gemwin;
+#X msg 526 281 create;
+#X text 522 260 Create window:;
+#X obj 453 363 glsl_fragment;
+#X obj 530 120 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#N canvas 0 22 450 300 open 0;
+#X obj 312 45 openpanel;
+#X obj 312 157 outlet;
+#X obj 312 69 t b s;
+#X msg 332 94 set open \$1;
+#X obj 312 22 inlet;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 2 1 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 0 0;
+#X restore 473 119 pd open;
+#X obj 453 383 glsl_geometry;
+#X msg 473 141 open Toon.geom;
+#X text 14 157 IMPORTANT NOTE: your openGL-implementation (gfx-card
+driver \, ...) has to support the GLSL-standard (which is part of openGL-2.1)
+in order to make use of this object.;
+#X connect 16 1 15 0;
+#X connect 26 0 16 0;
+#X connect 27 0 16 0;
+#X connect 29 0 30 0;
+#X connect 30 0 29 0;
+#X connect 33 0 34 0;
+#X connect 34 0 36 0;
+#X connect 36 0 16 0;
diff --git a/packages/noncvs/windows/extra/Gem/glsl_program-help.pd b/packages/noncvs/windows/extra/Gem/glsl_program-help.pd
index e343cd03..9ce3a318 100644
--- a/packages/noncvs/windows/extra/Gem/glsl_program-help.pd
+++ b/packages/noncvs/windows/extra/Gem/glsl_program-help.pd
@@ -1,112 +1,112 @@
-#N canvas 23 79 651 581 10;
-#X text 452 8 GEM object;
-#X obj 8 307 cnv 15 430 260 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 11 308 Inlets:;
-#X text 10 524 Outlets:;
-#X obj 8 272 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 272 Arguments:;
-#X obj 7 56 cnv 15 430 210 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 450 138 cnv 15 160 90 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X text 63 283 <none>;
-#X text 14 537 Outlet 1: gemlist;
-#X text 21 322 Inlet 1: gemlist;
-#X obj 10 213 cnv 15 420 50 empty empty empty 20 12 0 14 -225280 -66577
-0;
-#X text 71 31 Class: shader object;
-#X text 451 345 see also:;
-#X obj 451 188 glsl_program;
-#X msg 451 272 gemList;
-#X obj 453 362 glsl_fragment;
-#X obj 453 382 glsl_vertex;
-#X text 50 12 Synopsis: [glsl_program];
-#X text 13 56 Description: link GLSL-modules into a shader program
-;
-#X text 14 75 [glsl_program] links together GLSL-modules (created by
-[glsl_fragment] and [glsl_vertex]) and sets up the resulting openGL-2.0
-shader program.;
-#X text 16 118 [glsl_program] detects which parameters of the shader
-can be modified by the user ("uniform variables") \, and allows the
-user to modify them via messages. If the shader-program has a uniform
-variable named "bla" of type float \, then you can send a message [bla
-0.5( to the [glsl_program] to set this variable to "0.5".;
-#X text 14 217 IMPORTANT NOTE: your openGL-implementation (gfx-card
-driver \, ...) has to support the GLSL-standard (which is part of openGL-2.0)
-in order to make use of this object.;
-#X text 21 364 Inlet 1: "shader <list>": list of shader-module IDs
-as reported generated by [glsl_fragment] and [glsl_vertex];
-#X text 21 395 Inlet 1: "link": link the shader-modules given via the
-"shader"-message;
-#X text 21 425 Inlet 1: "link <list>": link the shader-modules given
-\; (this is the same as "shader <list>"+"link");
-#X text 17 198 An ID of the generated program is sent to the 2nd outlet.
-;
-#X text 14 552 Outlet 2: <float>: ID of the linked glsl_program;
-#X text 21 456 Inlet 1: "<uniformName> <uniformParm>...": set the uniform
-variable of name uniformName to the (list of) uniformParms. this is
-only valid after successfully linking a program;
-#X floatatom 530 211 5 0 0 0 ID - -;
-#X msg 462 162 link;
-#X msg 518 140 shader 1 3;
-#X obj 451 86 gemhead;
-#X msg 460 140 print;
-#X msg 518 161 link 1 3;
-#X obj 513 257 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 197 134 destroy;
-#X msg 132 112 reset \, create \, 1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 518 296 pd gemwin;
-#X msg 518 277 create;
-#X text 514 256 Create window:;
-#X text 21 335 Inlet 1: "print": print info about the GLSL-support
-in your openGL implementation and about the linked program;
-#N canvas 74 576 496 338 geometry 0;
-#X obj 28 27 cnv 15 430 280 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 33 47 when using geometry-shaders (with [glsl_geometry]) you
-have to tell [glsl_program] about the input-type (depending on the
-geometry you feed to the glsl-program) \, the output-type (that you
-create by the shader) and the number of vertices generated;
-#X text 31 158 Inlet 1: "geometry_intype <inputtype>": input type of
-geometry (default: GL_TRIANGLES);
-#X text 31 188 Inlet 1: "geometry_outtype <outputtype>": output type
-of geometry (default: GL_TRIANGLE_STRIP);
-#X text 31 223 Inlet 1: "geometry_type <inputtype> <outputtype>": combination
-of "intype" and "outtype";
-#X text 31 262 Inlet 1: "geometry_outvertices <#vertices> <outputtype>":
-number of vertices to be created (default: MAX_OUTPUT_VERTICES);
-#X text 38 128 you might want to set these before linking the shaders!!
-;
-#X restore 29 503 pd geometry shaders;
-#X obj 453 402 glsl_geometry;
-#X connect 16 0 17 0;
-#X connect 16 1 31 0;
-#X connect 32 0 16 0;
-#X connect 33 0 16 0;
-#X connect 34 0 16 0;
-#X connect 35 0 16 0;
-#X connect 36 0 16 0;
-#X connect 38 0 39 0;
-#X connect 39 0 38 0;
+#N canvas 23 79 651 581 10;
+#X text 452 8 GEM object;
+#X obj 8 307 cnv 15 430 260 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 11 308 Inlets:;
+#X text 10 524 Outlets:;
+#X obj 8 272 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 272 Arguments:;
+#X obj 7 56 cnv 15 430 210 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 450 138 cnv 15 160 90 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X text 63 283 <none>;
+#X text 14 537 Outlet 1: gemlist;
+#X text 21 322 Inlet 1: gemlist;
+#X obj 10 213 cnv 15 420 50 empty empty empty 20 12 0 14 -225280 -66577
+0;
+#X text 71 31 Class: shader object;
+#X text 451 345 see also:;
+#X obj 451 188 glsl_program;
+#X msg 451 272 gemList;
+#X obj 453 362 glsl_fragment;
+#X obj 453 382 glsl_vertex;
+#X text 50 12 Synopsis: [glsl_program];
+#X text 13 56 Description: link GLSL-modules into a shader program
+;
+#X text 14 75 [glsl_program] links together GLSL-modules (created by
+[glsl_fragment] and [glsl_vertex]) and sets up the resulting openGL-2.0
+shader program.;
+#X text 16 118 [glsl_program] detects which parameters of the shader
+can be modified by the user ("uniform variables") \, and allows the
+user to modify them via messages. If the shader-program has a uniform
+variable named "bla" of type float \, then you can send a message [bla
+0.5( to the [glsl_program] to set this variable to "0.5".;
+#X text 14 217 IMPORTANT NOTE: your openGL-implementation (gfx-card
+driver \, ...) has to support the GLSL-standard (which is part of openGL-2.0)
+in order to make use of this object.;
+#X text 21 364 Inlet 1: "shader <list>": list of shader-module IDs
+as reported generated by [glsl_fragment] and [glsl_vertex];
+#X text 21 395 Inlet 1: "link": link the shader-modules given via the
+"shader"-message;
+#X text 21 425 Inlet 1: "link <list>": link the shader-modules given
+\; (this is the same as "shader <list>"+"link");
+#X text 17 198 An ID of the generated program is sent to the 2nd outlet.
+;
+#X text 14 552 Outlet 2: <float>: ID of the linked glsl_program;
+#X text 21 456 Inlet 1: "<uniformName> <uniformParm>...": set the uniform
+variable of name uniformName to the (list of) uniformParms. this is
+only valid after successfully linking a program;
+#X floatatom 530 211 5 0 0 0 ID - -;
+#X msg 462 162 link;
+#X msg 518 140 shader 1 3;
+#X obj 451 86 gemhead;
+#X msg 460 140 print;
+#X msg 518 161 link 1 3;
+#X obj 513 257 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 197 134 destroy;
+#X msg 132 112 reset \, create \, 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 518 296 pd gemwin;
+#X msg 518 277 create;
+#X text 514 256 Create window:;
+#X text 21 335 Inlet 1: "print": print info about the GLSL-support
+in your openGL implementation and about the linked program;
+#N canvas 74 576 496 338 geometry 0;
+#X obj 28 27 cnv 15 430 280 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 33 47 when using geometry-shaders (with [glsl_geometry]) you
+have to tell [glsl_program] about the input-type (depending on the
+geometry you feed to the glsl-program) \, the output-type (that you
+create by the shader) and the number of vertices generated;
+#X text 31 158 Inlet 1: "geometry_intype <inputtype>": input type of
+geometry (default: GL_TRIANGLES);
+#X text 31 188 Inlet 1: "geometry_outtype <outputtype>": output type
+of geometry (default: GL_TRIANGLE_STRIP);
+#X text 31 223 Inlet 1: "geometry_type <inputtype> <outputtype>": combination
+of "intype" and "outtype";
+#X text 31 262 Inlet 1: "geometry_outvertices <#vertices> <outputtype>":
+number of vertices to be created (default: MAX_OUTPUT_VERTICES);
+#X text 38 128 you might want to set these before linking the shaders!!
+;
+#X restore 29 503 pd geometry shaders;
+#X obj 453 402 glsl_geometry;
+#X connect 16 0 17 0;
+#X connect 16 1 31 0;
+#X connect 32 0 16 0;
+#X connect 33 0 16 0;
+#X connect 34 0 16 0;
+#X connect 35 0 16 0;
+#X connect 36 0 16 0;
+#X connect 38 0 39 0;
+#X connect 39 0 38 0;
diff --git a/packages/noncvs/windows/extra/Gem/glsl_vertex-help.pd b/packages/noncvs/windows/extra/Gem/glsl_vertex-help.pd
index 34b1eb76..f7f73fb4 100644
--- a/packages/noncvs/windows/extra/Gem/glsl_vertex-help.pd
+++ b/packages/noncvs/windows/extra/Gem/glsl_vertex-help.pd
@@ -1,90 +1,90 @@
-#N canvas 40 32 633 413 10;
-#X text 452 8 GEM object;
-#X obj 8 257 cnv 15 430 140 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 11 258 Inlets:;
-#X text 10 348 Outlets:;
-#X obj 8 222 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 222 Arguments:;
-#X obj 7 66 cnv 15 430 150 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 451 77 cnv 15 170 170 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 456 108 cnv 15 160 130 empty empty empty 35 12 0 14 -24198 -66577
-0;
-#X text 14 361 Outlet 1: gemlist;
-#X text 21 272 Inlet 1: gemlist;
-#X obj 10 153 cnv 15 420 50 empty empty empty 20 12 0 14 -225280 -66577
-0;
-#X text 71 31 Class: shader object;
-#X text 451 325 see also:;
-#X text 14 157 IMPORTANT NOTE: your openGL-implementation (gfx-card
-driver \, ...) has to support the GLSL-standard (which is part of openGL-2.0)
-in order to make use of this object.;
-#X floatatom 546 219 0 0 0 0 ID - -;
-#X obj 460 196 glsl_vertex;
-#X obj 453 342 glsl_program;
-#X text 50 12 Synopsis: [glsl_vertex];
-#X text 13 66 Description: load a GLSL vertex shader;
-#X text 14 85 [glsl_vertex] loads and compiles a GLSL vertex shader
-into a module \, suitable for linking with [glsl_program];
-#X text 17 118 An ID of the generated module is sent to the 2nd outlet.
-Use this ID in the "shader" message to [glsl_program];
-#X text 63 233 <filename>: filename to load as GLSL vertex shader;
-#X text 21 284 Inlet 1: "open <filename>": filename to load as GLSL
-vertex shader module.;
-#X text 21 315 Inlet 1: "print": print info about the GLSL-support
-in your openGL implementation;
-#X text 14 376 Outlet 2: <float>: ID of the GLSL-module;
-#X obj 460 86 gemhead;
-#X msg 521 174 print;
-#X obj 521 261 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 197 134 destroy;
-#X msg 132 112 reset \, create \, 1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 526 300 pd gemwin;
-#X msg 526 281 create;
-#X text 522 260 Create window:;
-#X obj 453 362 glsl_fragment;
-#X obj 530 120 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#N canvas 0 22 450 300 open 0;
-#X obj 312 45 openpanel;
-#X obj 311 157 outlet;
-#X obj 312 69 t b s;
-#X msg 332 94 set open \$1;
-#X obj 312 22 inlet;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 2 1 3 0;
-#X connect 3 0 1 0;
-#X connect 4 0 0 0;
-#X restore 473 119 pd open;
-#X msg 473 139 open Toon.vert;
-#X obj 453 382 glsl_geometry;
-#X connect 17 1 16 0;
-#X connect 27 0 17 0;
-#X connect 28 0 17 0;
-#X connect 30 0 31 0;
-#X connect 31 0 30 0;
-#X connect 34 0 35 0;
-#X connect 35 0 36 0;
-#X connect 36 0 17 0;
+#N canvas 40 32 633 413 10;
+#X text 452 8 GEM object;
+#X obj 8 257 cnv 15 430 140 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 11 258 Inlets:;
+#X text 10 348 Outlets:;
+#X obj 8 222 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 222 Arguments:;
+#X obj 7 66 cnv 15 430 150 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 451 77 cnv 15 170 170 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 456 108 cnv 15 160 130 empty empty empty 35 12 0 14 -24198 -66577
+0;
+#X text 14 361 Outlet 1: gemlist;
+#X text 21 272 Inlet 1: gemlist;
+#X obj 10 153 cnv 15 420 50 empty empty empty 20 12 0 14 -225280 -66577
+0;
+#X text 71 31 Class: shader object;
+#X text 451 325 see also:;
+#X text 14 157 IMPORTANT NOTE: your openGL-implementation (gfx-card
+driver \, ...) has to support the GLSL-standard (which is part of openGL-2.0)
+in order to make use of this object.;
+#X floatatom 546 219 0 0 0 0 ID - -;
+#X obj 460 196 glsl_vertex;
+#X obj 453 342 glsl_program;
+#X text 50 12 Synopsis: [glsl_vertex];
+#X text 13 66 Description: load a GLSL vertex shader;
+#X text 14 85 [glsl_vertex] loads and compiles a GLSL vertex shader
+into a module \, suitable for linking with [glsl_program];
+#X text 17 118 An ID of the generated module is sent to the 2nd outlet.
+Use this ID in the "shader" message to [glsl_program];
+#X text 63 233 <filename>: filename to load as GLSL vertex shader;
+#X text 21 284 Inlet 1: "open <filename>": filename to load as GLSL
+vertex shader module.;
+#X text 21 315 Inlet 1: "print": print info about the GLSL-support
+in your openGL implementation;
+#X text 14 376 Outlet 2: <float>: ID of the GLSL-module;
+#X obj 460 86 gemhead;
+#X msg 521 174 print;
+#X obj 521 261 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 197 134 destroy;
+#X msg 132 112 reset \, create \, 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 526 300 pd gemwin;
+#X msg 526 281 create;
+#X text 522 260 Create window:;
+#X obj 453 362 glsl_fragment;
+#X obj 530 120 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#N canvas 0 22 450 300 open 0;
+#X obj 312 45 openpanel;
+#X obj 311 157 outlet;
+#X obj 312 69 t b s;
+#X msg 332 94 set open \$1;
+#X obj 312 22 inlet;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 2 1 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 0 0;
+#X restore 473 119 pd open;
+#X msg 473 139 open Toon.vert;
+#X obj 453 382 glsl_geometry;
+#X connect 17 1 16 0;
+#X connect 27 0 17 0;
+#X connect 28 0 17 0;
+#X connect 30 0 31 0;
+#X connect 31 0 30 0;
+#X connect 34 0 35 0;
+#X connect 35 0 36 0;
+#X connect 36 0 17 0;
diff --git a/packages/noncvs/windows/extra/Gem/hsv2rgb-help.pd b/packages/noncvs/windows/extra/Gem/hsv2rgb-help.pd
index 10716fb9..f18518bc 100644
--- a/packages/noncvs/windows/extra/Gem/hsv2rgb-help.pd
+++ b/packages/noncvs/windows/extra/Gem/hsv2rgb-help.pd
@@ -1,65 +1,65 @@
-#N canvas 172 190 600 500 10;
-#X text 418 26 GEM object;
-#X text 89 388 convert between RGB colorspace and HSV colorspace;
-#X text 91 412 RGB is red \, green \, blue;
-#X text 91 434 HSV is hue \, saturation \, value (luminance);
-#X obj 119 207 cnv 15 70 40 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 123 218 rgb2hsv;
-#X msg 163 182 1 0 0;
-#X msg 155 156 0 0.2 0.5;
-#X obj 123 257 unpack 0 0 0;
-#X floatatom 202 279 5 0 0 1 Value - -;
-#X floatatom 162 299 5 0 0 1 Saturation - -;
-#X floatatom 123 322 5 0 0 1 Hue - -;
-#X obj 321 206 cnv 15 70 40 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 325 256 unpack 0 0 0;
-#X floatatom 404 278 5 0 0 1 Blue - -;
-#X floatatom 364 298 5 0 0 1 Green - -;
-#X floatatom 325 321 5 0 0 1 Red - -;
-#X obj 325 217 hsv2rgb;
-#X msg 365 152 0 1 1;
-#X msg 387 176 0.6 1 0.5;
-#X floatatom 178 84 5 0 1 1 Blue - -;
-#X floatatom 141 67 5 0 1 1 Green - -;
-#X floatatom 123 49 5 0 1 1 Red - -;
-#X obj 123 122 pack 0 0 0;
-#X floatatom 380 94 5 0 1 1 Value - -;
-#X floatatom 343 76 5 0 1 1 Saturation - -;
-#X floatatom 325 58 5 0 1 1 Hue - -;
-#X obj 141 103 t b f;
-#X obj 178 103 t b f;
-#X obj 325 130 pack 0 0 0;
-#X obj 343 111 t b f;
-#X obj 380 111 t b f;
-#X text 83 9 [rgb2hsv];
-#X text 175 11 [hsv2rgb];
-#X connect 5 0 8 0;
-#X connect 6 0 5 0;
-#X connect 7 0 5 0;
-#X connect 8 0 11 0;
-#X connect 8 1 10 0;
-#X connect 8 2 9 0;
-#X connect 13 0 16 0;
-#X connect 13 1 15 0;
-#X connect 13 2 14 0;
-#X connect 17 0 13 0;
-#X connect 18 0 17 0;
-#X connect 19 0 17 0;
-#X connect 20 0 28 0;
-#X connect 21 0 27 0;
-#X connect 22 0 23 0;
-#X connect 23 0 5 0;
-#X connect 24 0 31 0;
-#X connect 25 0 30 0;
-#X connect 26 0 29 0;
-#X connect 27 0 23 0;
-#X connect 27 1 23 1;
-#X connect 28 0 23 0;
-#X connect 28 1 23 2;
-#X connect 29 0 17 0;
-#X connect 30 0 29 0;
-#X connect 30 1 29 1;
-#X connect 31 0 29 0;
-#X connect 31 1 29 2;
+#N canvas 172 190 600 500 10;
+#X text 418 26 GEM object;
+#X text 89 388 convert between RGB colorspace and HSV colorspace;
+#X text 91 412 RGB is red \, green \, blue;
+#X text 91 434 HSV is hue \, saturation \, value (luminance);
+#X obj 119 207 cnv 15 70 40 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 123 218 rgb2hsv;
+#X msg 163 182 1 0 0;
+#X msg 155 156 0 0.2 0.5;
+#X obj 123 257 unpack 0 0 0;
+#X floatatom 202 279 5 0 0 1 Value - -;
+#X floatatom 162 299 5 0 0 1 Saturation - -;
+#X floatatom 123 322 5 0 0 1 Hue - -;
+#X obj 321 206 cnv 15 70 40 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 325 256 unpack 0 0 0;
+#X floatatom 404 278 5 0 0 1 Blue - -;
+#X floatatom 364 298 5 0 0 1 Green - -;
+#X floatatom 325 321 5 0 0 1 Red - -;
+#X obj 325 217 hsv2rgb;
+#X msg 365 152 0 1 1;
+#X msg 387 176 0.6 1 0.5;
+#X floatatom 178 84 5 0 1 1 Blue - -;
+#X floatatom 141 67 5 0 1 1 Green - -;
+#X floatatom 123 49 5 0 1 1 Red - -;
+#X obj 123 122 pack 0 0 0;
+#X floatatom 380 94 5 0 1 1 Value - -;
+#X floatatom 343 76 5 0 1 1 Saturation - -;
+#X floatatom 325 58 5 0 1 1 Hue - -;
+#X obj 141 103 t b f;
+#X obj 178 103 t b f;
+#X obj 325 130 pack 0 0 0;
+#X obj 343 111 t b f;
+#X obj 380 111 t b f;
+#X text 83 9 [rgb2hsv];
+#X text 175 11 [hsv2rgb];
+#X connect 5 0 8 0;
+#X connect 6 0 5 0;
+#X connect 7 0 5 0;
+#X connect 8 0 11 0;
+#X connect 8 1 10 0;
+#X connect 8 2 9 0;
+#X connect 13 0 16 0;
+#X connect 13 1 15 0;
+#X connect 13 2 14 0;
+#X connect 17 0 13 0;
+#X connect 18 0 17 0;
+#X connect 19 0 17 0;
+#X connect 20 0 28 0;
+#X connect 21 0 27 0;
+#X connect 22 0 23 0;
+#X connect 23 0 5 0;
+#X connect 24 0 31 0;
+#X connect 25 0 30 0;
+#X connect 26 0 29 0;
+#X connect 27 0 23 0;
+#X connect 27 1 23 1;
+#X connect 28 0 23 0;
+#X connect 28 1 23 2;
+#X connect 29 0 17 0;
+#X connect 30 0 29 0;
+#X connect 30 1 29 1;
+#X connect 31 0 29 0;
+#X connect 31 1 29 2;
diff --git a/packages/noncvs/windows/extra/Gem/hsv2rgb.pd b/packages/noncvs/windows/extra/Gem/hsv2rgb.pd
index 158aece6..ac653865 100644
--- a/packages/noncvs/windows/extra/Gem/hsv2rgb.pd
+++ b/packages/noncvs/windows/extra/Gem/hsv2rgb.pd
@@ -1,143 +1,143 @@
-#N canvas 206 49 450 568 10;
-#X obj 187 84 route 0;
-#X msg 187 56 \$2 \$3 \$1;
-#X obj 187 409 f;
-#X obj 231 111 unpack 0 0 0;
-#X text 250 71 svh;
-#X obj 187 28 inlet hsv;
-#X obj 187 520 outlet rgb;
-#X obj 401 149 * 6;
-#X obj 380 196 % 6;
-#X obj 350 173 t f f;
-#X msg 350 149 0;
-#X text 406 196 i;
-#X obj 350 219 -;
-#X obj 231 217 *;
-#X obj 231 178 - 1;
-#X obj 231 198 * -1;
-#X obj 263 330 *;
-#X obj 263 291 - 1;
-#X obj 263 311 * -1;
-#X obj 263 269 *;
-#X obj 350 240 t f f;
-#X obj 380 262 - 1;
-#X obj 380 283 * -1;
-#X obj 302 356 *;
-#X obj 302 317 - 1;
-#X obj 302 337 * -1;
-#X obj 302 295 *;
-#X obj 231 151 t f f f;
-#X obj 241 392 pack 0 0 0 0;
-#N canvas 387 255 646 315 select 0;
-#X obj 290 37 inlet;
-#X obj 16 247 outlet;
-#X obj 92 104 t b l;
-#X obj 125 128 unpack 0 0 0 0;
-#X obj 89 43 inlet p q t v;
-#X obj 92 128 i;
-#X obj 92 151 select 0 1 2 3 4 5;
-#X obj 16 223 pack 0 0 0;
-#X obj 16 203 f;
-#X obj 96 223 pack 0 0 0;
-#X obj 96 203 f;
-#X obj 176 223 pack 0 0 0;
-#X obj 176 203 f;
-#X obj 256 223 pack 0 0 0;
-#X obj 256 203 f;
-#X obj 336 223 pack 0 0 0;
-#X obj 336 203 f;
-#X obj 416 223 pack 0 0 0;
-#X obj 416 203 f;
-#X connect 0 0 5 1;
-#X connect 2 0 5 0;
-#X connect 2 1 3 0;
-#X connect 3 0 7 2;
-#X connect 3 0 9 2;
-#X connect 3 0 12 1;
-#X connect 3 0 14 1;
-#X connect 3 0 15 1;
-#X connect 3 0 17 1;
-#X connect 3 1 10 1;
-#X connect 3 1 13 1;
-#X connect 3 1 17 2;
-#X connect 3 2 7 1;
-#X connect 3 2 11 2;
-#X connect 3 2 16 1;
-#X connect 3 3 8 1;
-#X connect 3 3 9 1;
-#X connect 3 3 11 1;
-#X connect 3 3 13 2;
-#X connect 3 3 15 2;
-#X connect 3 3 18 1;
-#X connect 4 0 2 0;
-#X connect 5 0 6 0;
-#X connect 6 0 8 0;
-#X connect 6 1 10 0;
-#X connect 6 2 12 0;
-#X connect 6 3 14 0;
-#X connect 6 4 16 0;
-#X connect 6 5 18 0;
-#X connect 7 0 1 0;
-#X connect 8 0 7 0;
-#X connect 9 0 1 0;
-#X connect 10 0 9 0;
-#X connect 11 0 1 0;
-#X connect 12 0 11 0;
-#X connect 13 0 1 0;
-#X connect 14 0 13 0;
-#X connect 15 0 1 0;
-#X connect 16 0 15 0;
-#X connect 17 0 1 0;
-#X connect 18 0 17 0;
-#X restore 241 416 pd select;
-#X msg 187 478 \$1 \$1 \$1;
-#X obj 187 450 clip 0 1;
-#X obj 231 131 clip 0 1;
-#X obj 270 173 clip 0 1;
-#X obj 350 109 clip 0 1;
-#X obj 350 129 select 1;
-#X connect 0 0 2 0;
-#X connect 0 1 3 0;
-#X connect 1 0 0 0;
-#X connect 2 0 31 0;
-#X connect 3 0 32 0;
-#X connect 3 1 33 0;
-#X connect 3 2 34 0;
-#X connect 5 0 1 0;
-#X connect 7 0 9 0;
-#X connect 8 0 12 1;
-#X connect 8 0 29 1;
-#X connect 9 0 12 0;
-#X connect 9 1 8 0;
-#X connect 10 0 9 0;
-#X connect 12 0 20 0;
-#X connect 13 0 28 0;
-#X connect 14 0 15 0;
-#X connect 15 0 13 0;
-#X connect 16 0 28 1;
-#X connect 17 0 18 0;
-#X connect 18 0 16 0;
-#X connect 19 0 17 0;
-#X connect 20 0 19 1;
-#X connect 20 1 21 0;
-#X connect 21 0 22 0;
-#X connect 22 0 26 1;
-#X connect 23 0 28 2;
-#X connect 24 0 25 0;
-#X connect 25 0 23 0;
-#X connect 26 0 24 0;
-#X connect 27 0 14 0;
-#X connect 27 1 19 0;
-#X connect 27 2 26 0;
-#X connect 28 0 29 0;
-#X connect 29 0 6 0;
-#X connect 30 0 6 0;
-#X connect 31 0 30 0;
-#X connect 32 0 27 0;
-#X connect 33 0 13 1;
-#X connect 33 0 28 3;
-#X connect 33 0 16 1;
-#X connect 33 0 23 1;
-#X connect 34 0 35 0;
-#X connect 35 0 10 0;
-#X connect 35 1 7 0;
+#N canvas 206 49 450 568 10;
+#X obj 187 84 route 0;
+#X msg 187 56 \$2 \$3 \$1;
+#X obj 187 409 f;
+#X obj 231 111 unpack 0 0 0;
+#X text 250 71 svh;
+#X obj 187 28 inlet hsv;
+#X obj 187 520 outlet rgb;
+#X obj 401 149 * 6;
+#X obj 380 196 % 6;
+#X obj 350 173 t f f;
+#X msg 350 149 0;
+#X text 406 196 i;
+#X obj 350 219 -;
+#X obj 231 217 *;
+#X obj 231 178 - 1;
+#X obj 231 198 * -1;
+#X obj 263 330 *;
+#X obj 263 291 - 1;
+#X obj 263 311 * -1;
+#X obj 263 269 *;
+#X obj 350 240 t f f;
+#X obj 380 262 - 1;
+#X obj 380 283 * -1;
+#X obj 302 356 *;
+#X obj 302 317 - 1;
+#X obj 302 337 * -1;
+#X obj 302 295 *;
+#X obj 231 151 t f f f;
+#X obj 241 392 pack 0 0 0 0;
+#N canvas 387 255 646 315 select 0;
+#X obj 290 37 inlet;
+#X obj 16 247 outlet;
+#X obj 92 104 t b l;
+#X obj 125 128 unpack 0 0 0 0;
+#X obj 89 43 inlet p q t v;
+#X obj 92 128 i;
+#X obj 92 151 select 0 1 2 3 4 5;
+#X obj 16 223 pack 0 0 0;
+#X obj 16 203 f;
+#X obj 96 223 pack 0 0 0;
+#X obj 96 203 f;
+#X obj 176 223 pack 0 0 0;
+#X obj 176 203 f;
+#X obj 256 223 pack 0 0 0;
+#X obj 256 203 f;
+#X obj 336 223 pack 0 0 0;
+#X obj 336 203 f;
+#X obj 416 223 pack 0 0 0;
+#X obj 416 203 f;
+#X connect 0 0 5 1;
+#X connect 2 0 5 0;
+#X connect 2 1 3 0;
+#X connect 3 0 7 2;
+#X connect 3 0 9 2;
+#X connect 3 0 12 1;
+#X connect 3 0 14 1;
+#X connect 3 0 15 1;
+#X connect 3 0 17 1;
+#X connect 3 1 10 1;
+#X connect 3 1 13 1;
+#X connect 3 1 17 2;
+#X connect 3 2 7 1;
+#X connect 3 2 11 2;
+#X connect 3 2 16 1;
+#X connect 3 3 8 1;
+#X connect 3 3 9 1;
+#X connect 3 3 11 1;
+#X connect 3 3 13 2;
+#X connect 3 3 15 2;
+#X connect 3 3 18 1;
+#X connect 4 0 2 0;
+#X connect 5 0 6 0;
+#X connect 6 0 8 0;
+#X connect 6 1 10 0;
+#X connect 6 2 12 0;
+#X connect 6 3 14 0;
+#X connect 6 4 16 0;
+#X connect 6 5 18 0;
+#X connect 7 0 1 0;
+#X connect 8 0 7 0;
+#X connect 9 0 1 0;
+#X connect 10 0 9 0;
+#X connect 11 0 1 0;
+#X connect 12 0 11 0;
+#X connect 13 0 1 0;
+#X connect 14 0 13 0;
+#X connect 15 0 1 0;
+#X connect 16 0 15 0;
+#X connect 17 0 1 0;
+#X connect 18 0 17 0;
+#X restore 241 416 pd select;
+#X msg 187 478 \$1 \$1 \$1;
+#X obj 187 450 clip 0 1;
+#X obj 231 131 clip 0 1;
+#X obj 270 173 clip 0 1;
+#X obj 350 109 clip 0 1;
+#X obj 350 129 select 1;
+#X connect 0 0 2 0;
+#X connect 0 1 3 0;
+#X connect 1 0 0 0;
+#X connect 2 0 31 0;
+#X connect 3 0 32 0;
+#X connect 3 1 33 0;
+#X connect 3 2 34 0;
+#X connect 5 0 1 0;
+#X connect 7 0 9 0;
+#X connect 8 0 12 1;
+#X connect 8 0 29 1;
+#X connect 9 0 12 0;
+#X connect 9 1 8 0;
+#X connect 10 0 9 0;
+#X connect 12 0 20 0;
+#X connect 13 0 28 0;
+#X connect 14 0 15 0;
+#X connect 15 0 13 0;
+#X connect 16 0 28 1;
+#X connect 17 0 18 0;
+#X connect 18 0 16 0;
+#X connect 19 0 17 0;
+#X connect 20 0 19 1;
+#X connect 20 1 21 0;
+#X connect 21 0 22 0;
+#X connect 22 0 26 1;
+#X connect 23 0 28 2;
+#X connect 24 0 25 0;
+#X connect 25 0 23 0;
+#X connect 26 0 24 0;
+#X connect 27 0 14 0;
+#X connect 27 1 19 0;
+#X connect 27 2 26 0;
+#X connect 28 0 29 0;
+#X connect 29 0 6 0;
+#X connect 30 0 6 0;
+#X connect 31 0 30 0;
+#X connect 32 0 27 0;
+#X connect 33 0 13 1;
+#X connect 33 0 28 3;
+#X connect 33 0 16 1;
+#X connect 33 0 23 1;
+#X connect 34 0 35 0;
+#X connect 35 0 10 0;
+#X connect 35 1 7 0;
diff --git a/packages/noncvs/windows/extra/Gem/imageVert-help.pd b/packages/noncvs/windows/extra/Gem/imageVert-help.pd
index a5845ed8..e2dd3ef2 100644
--- a/packages/noncvs/windows/extra/Gem/imageVert-help.pd
+++ b/packages/noncvs/windows/extra/Gem/imageVert-help.pd
@@ -1,88 +1,88 @@
-#N canvas 344 47 655 397 10;
-#X text 452 8 GEM object;
-#X obj 8 216 cnv 15 430 70 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 218 Inlets:;
-#X text 39 250 Outlets:;
-#X obj 8 176 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 175 Arguments:;
-#X obj 8 76 cnv 15 430 90 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X obj 450 186 cnv 15 80 40 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 22 591 370 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X obj 77 281 pix_buf;
-#X msg 103 257 auto 1;
-#X obj 103 236 loadbang;
-#X text 156 263 [pix_buf] with auto 1 is important if we want to recalculate
-our pix-effect each frame but don't want to reload the image all the
-time.;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X connect 0 0 9 0;
-#X connect 2 0 4 0;
-#X connect 3 0 9 0;
-#X connect 4 0 3 0;
-#X connect 5 0 1 0;
-#X connect 6 0 5 0;
-#X connect 7 0 6 0;
-#X connect 9 0 5 0;
-#X restore 451 113 pd image;
-#X text 63 186 <none>;
-#X text 57 263 Outlet 1: gemlist;
-#X text 63 232 Inlet 1: gemlist;
-#X text 516 105 open an image;
-#X text 509 118 (JPEG \, TIFF \, ..);
-#X obj 451 196 imageVert;
-#X text 10 135 This is still experimental...please report any problems
-or suggestions with it.;
-#X text 14 91 [imageVert] maps a pix to a series of polygons. The height
-of the polygons is the sum of the colors (so brighter pixels will be
-taller \, while darker pixels are shorter).;
-#X text 29 77 Description: map luminance to height;
-#X text 50 12 Synopsis: [imageVertp];
-#X text 71 31 Class: geometric object;
-#X obj 451 165 rotateXYZ;
-#X floatatom 476 144 5 0 0 0 - - -;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 16 0;
-#X connect 15 0 16 1;
-#X connect 16 0 28 0;
-#X connect 28 0 22 0;
-#X connect 29 0 28 1;
-#X connect 29 0 28 2;
+#N canvas 344 47 655 397 10;
+#X text 452 8 GEM object;
+#X obj 8 216 cnv 15 430 70 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 218 Inlets:;
+#X text 39 250 Outlets:;
+#X obj 8 176 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 175 Arguments:;
+#X obj 8 76 cnv 15 430 90 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X obj 450 186 cnv 15 80 40 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 22 591 370 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X obj 77 281 pix_buf;
+#X msg 103 257 auto 1;
+#X obj 103 236 loadbang;
+#X text 156 263 [pix_buf] with auto 1 is important if we want to recalculate
+our pix-effect each frame but don't want to reload the image all the
+time.;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X connect 0 0 9 0;
+#X connect 2 0 4 0;
+#X connect 3 0 9 0;
+#X connect 4 0 3 0;
+#X connect 5 0 1 0;
+#X connect 6 0 5 0;
+#X connect 7 0 6 0;
+#X connect 9 0 5 0;
+#X restore 451 113 pd image;
+#X text 63 186 <none>;
+#X text 57 263 Outlet 1: gemlist;
+#X text 63 232 Inlet 1: gemlist;
+#X text 516 105 open an image;
+#X text 509 118 (JPEG \, TIFF \, ..);
+#X obj 451 196 imageVert;
+#X text 10 135 This is still experimental...please report any problems
+or suggestions with it.;
+#X text 14 91 [imageVert] maps a pix to a series of polygons. The height
+of the polygons is the sum of the colors (so brighter pixels will be
+taller \, while darker pixels are shorter).;
+#X text 29 77 Description: map luminance to height;
+#X text 50 12 Synopsis: [imageVertp];
+#X text 71 31 Class: geometric object;
+#X obj 451 165 rotateXYZ;
+#X floatatom 476 144 5 0 0 0 - - -;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 16 0;
+#X connect 15 0 16 1;
+#X connect 16 0 28 0;
+#X connect 28 0 22 0;
+#X connect 29 0 28 1;
+#X connect 29 0 28 2;
diff --git a/packages/noncvs/windows/extra/Gem/light-help.pd b/packages/noncvs/windows/extra/Gem/light-help.pd
index c135e393..10482336 100644
--- a/packages/noncvs/windows/extra/Gem/light-help.pd
+++ b/packages/noncvs/windows/extra/Gem/light-help.pd
@@ -1,98 +1,98 @@
-#N canvas 124 217 710 507 10;
-#X text 475 49 Example:;
-#X obj 7 64 cnv 15 450 220 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 8 336 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 9 339 Inlets:;
-#X obj 8 296 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 295 Arguments:;
-#X text 452 8 GEM object;
-#X text 27 351 Inlet 1: gemlist;
-#X text 9 406 Outlets:;
-#X text 21 419 Outlet 1: gemlist;
-#X obj 469 67 cnv 15 170 320 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X obj 474 321 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 256 112 destroy;
-#X obj 322 45 inlet;
-#X msg 132 112 create \, 1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 8 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X connect 8 0 0 0;
-#X restore 479 360 pd gemwin;
-#X msg 479 341 create;
-#X text 475 320 Create window:;
-#X obj 475 160 cnv 15 150 100 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 483 74 gemhead;
-#X text 33 14 Synopsis: [light];
-#X text 53 30 Class: non-geometric object;
-#X text 7 69 Description: adds a point-light to the scene;
-#X text 18 86 [light] produces a light which is local to the scene
-(unlike [world_light] which is at an infinite distance). Because light
-is local light \, there is more computation required. Use a world_light
-if you don't mind parallel light rays.;
-#X text 27 373 Inlet 1: message: debug 1|0;
-#X text 28 388 Inlet 2: list: 3(RGB) or 4(RGBA) float values;
-#X obj 483 235 light;
-#X msg 570 213 1 1 1;
-#X obj 527 163 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X msg 527 184 debug \$1;
-#X text 19 219 Keep in mind that the attributes have to be set before
-rendering the vertices \, so if you are trying for frame accurate rendering
-\, you will want to set the gemhead order to a low nuber so that all
-of the values of the light get set first.;
-#X obj 472 296 sphere;
-#X floatatom 563 78 5 0 0 0 - - -;
-#X obj 483 139 translateXYZ 2 0 0;
-#X obj 483 96 rotateXYZ 0 -120 0;
-#X obj 472 274 gemhead 40;
-#X floatatom 523 121 5 1 4 0 - - -;
-#X obj 549 261 cnv 15 85 50 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X msg 551 288 lighting \$1;
-#X obj 551 266 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X text 17 155 You can place the light with [rotate] and [translate].
-If you are lost use "debug" to display the light source as a small
-sphere.;
-#X msg 513 213 1 1 0;
-#X text 18 200 The second inlet sets the color of the light-source.
-;
-#X text 63 307 light-number;
-#X obj 492 175 tgl 20 0 empty \$0-onoff empty 17 7 0 10 -262144 -1
--1 0 1;
-#X text 27 362 Inlet 1: float: turn light on(1)/off(0);
-#X connect 12 0 13 0;
-#X connect 13 0 12 0;
-#X connect 16 0 31 0;
-#X connect 24 0 23 1;
-#X connect 25 0 26 0;
-#X connect 26 0 23 0;
-#X connect 29 0 31 2;
-#X connect 30 0 23 0;
-#X connect 31 0 30 0;
-#X connect 32 0 28 0;
-#X connect 33 0 30 1;
-#X connect 35 0 12 1;
-#X connect 36 0 35 0;
-#X connect 38 0 23 1;
-#X connect 41 0 23 0;
+#N canvas 124 217 710 507 10;
+#X text 475 49 Example:;
+#X obj 7 64 cnv 15 450 220 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 8 336 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 9 339 Inlets:;
+#X obj 8 296 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 295 Arguments:;
+#X text 452 8 GEM object;
+#X text 27 351 Inlet 1: gemlist;
+#X text 9 406 Outlets:;
+#X text 21 419 Outlet 1: gemlist;
+#X obj 469 67 cnv 15 170 320 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X obj 474 321 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 256 112 destroy;
+#X obj 322 45 inlet;
+#X msg 132 112 create \, 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 8 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X restore 479 360 pd gemwin;
+#X msg 479 341 create;
+#X text 475 320 Create window:;
+#X obj 475 160 cnv 15 150 100 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 483 74 gemhead;
+#X text 33 14 Synopsis: [light];
+#X text 53 30 Class: non-geometric object;
+#X text 7 69 Description: adds a point-light to the scene;
+#X text 18 86 [light] produces a light which is local to the scene
+(unlike [world_light] which is at an infinite distance). Because light
+is local light \, there is more computation required. Use a world_light
+if you don't mind parallel light rays.;
+#X text 27 373 Inlet 1: message: debug 1|0;
+#X text 28 388 Inlet 2: list: 3(RGB) or 4(RGBA) float values;
+#X obj 483 235 light;
+#X msg 570 213 1 1 1;
+#X obj 527 163 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X msg 527 184 debug \$1;
+#X text 19 219 Keep in mind that the attributes have to be set before
+rendering the vertices \, so if you are trying for frame accurate rendering
+\, you will want to set the gemhead order to a low nuber so that all
+of the values of the light get set first.;
+#X obj 472 296 sphere;
+#X floatatom 563 78 5 0 0 0 - - -;
+#X obj 483 139 translateXYZ 2 0 0;
+#X obj 483 96 rotateXYZ 0 -120 0;
+#X obj 472 274 gemhead 40;
+#X floatatom 523 121 5 1 4 0 - - -;
+#X obj 549 261 cnv 15 85 50 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X msg 551 288 lighting \$1;
+#X obj 551 266 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X text 17 155 You can place the light with [rotate] and [translate].
+If you are lost use "debug" to display the light source as a small
+sphere.;
+#X msg 513 213 1 1 0;
+#X text 18 200 The second inlet sets the color of the light-source.
+;
+#X text 63 307 light-number;
+#X obj 492 175 tgl 20 0 empty \$0-onoff empty 17 7 0 10 -262144 -1
+-1 0 1;
+#X text 27 362 Inlet 1: float: turn light on(1)/off(0);
+#X connect 12 0 13 0;
+#X connect 13 0 12 0;
+#X connect 16 0 31 0;
+#X connect 24 0 23 1;
+#X connect 25 0 26 0;
+#X connect 26 0 23 0;
+#X connect 29 0 31 2;
+#X connect 30 0 23 0;
+#X connect 31 0 30 0;
+#X connect 32 0 28 0;
+#X connect 33 0 30 1;
+#X connect 35 0 12 1;
+#X connect 36 0 35 0;
+#X connect 38 0 23 1;
+#X connect 41 0 23 0;
diff --git a/packages/noncvs/windows/extra/Gem/linear_path-help.pd b/packages/noncvs/windows/extra/Gem/linear_path-help.pd
index 0dac33f3..c621fb27 100644
--- a/packages/noncvs/windows/extra/Gem/linear_path-help.pd
+++ b/packages/noncvs/windows/extra/Gem/linear_path-help.pd
@@ -1,69 +1,69 @@
-#N canvas 37 45 711 482 10;
-#X text 458 11 GEM object;
-#X text 41 430 see also:;
-#X obj 115 429 linear_path;
-#X text 54 22 Synopsis: [linear_path];
-#X obj 504 56 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 510 38 Example:;
-#X obj 22 60 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 22 288 cnv 15 450 120 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 23 288 Inlets:;
-#X obj 22 164 cnv 15 450 120 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 31 164 Arguments:;
-#X text 22 328 Outlets:;
-#X obj 516 212 unpack 0 0 0;
-#X floatatom 516 279 0 0 0 0 - - -;
-#X floatatom 550 257 0 0 0 0 - - -;
-#X floatatom 585 235 0 0 0 0 - - -;
-#X floatatom 524 112 5 0 0 0 - - -;
-#X text 22 64 Description: reads out a table;
-#X text 48 78 You can specify the reading-point by sending a float
-between 0.0f (beginning of table) and 1.0f (end of table). Between
-points \, a linear interpolation is made.;
-#X text 48 120 You can set the table to be read with the "open" message
-or as the second creation-argument.;
-#X text 89 197 [linear_path] is able to excerpt more than 1 dimension
-of a linear table. You can specify the dimension <D> of the table with
-the first creation-argument. (default 1);
-#X text 44 346 Outlet 1:;
-#X text 46 307 Inlet 1: reading point 0.0f...1.0f;
-#X obj 519 71 hsl 128 15 0 127 0 0 empty empty empty -2 -8 0 10 -262144
--1 -1 0 1;
-#X obj 516 90 / 127;
-#N canvas 0 22 450 300 (subpatch) 0;
-#X array array 102 float 1;
-#A 0 0 0 0 0 0 0 0 0 0.220005 0.460011 0.520012 0.540012 0.580013 0.580013
-0.580013 0.160004 -0.0200005 -0.140003 -0.300007 -0.42001 -0.660015
-0.42001 0.44001 0.44001 0.44001 0.560013 0.560013 0.560013 0.260006
-0.0800018 -0.280006 0.520012 0.400009 0.313341 0.226672 0.140003 -0.120003
--0.190004 -0.260006 -0.380009 -0.520012 0.300007 0.640015 0.640015
-0.640015 0.460011 0.330008 0.200005 -0.760017 -0.760017 -0.760017 -0.760017
--0.760017 -0.760017 -0.760017 -0.760017 -0.760017 -0.760017 -0.760017
--0.760017 0.42001 0.520012 0.560013 0.620014 0.620014 0.620014 0.580013
-0.530012 0.480011 0.280006 0.180004 0.130003 -0.0400009 0.44001 0.44001
-0.400009 0.320007 0.180004 -0.0400009 -0.180004 -0.160004 -0.0400009
-0.0200005 0.0800018 0.160004 0.240005 0.360008 0.520012 0.660015 0.500011
-0.380009 0.120003 -0.200005 -0.240005 0 0 0 0 0 0 0 0;
-#X coords 0 1 101 -1 170 100 1;
-#X restore 503 337 graph;
-#X obj 511 132 cnv 15 130 60 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X text 48 183 dimensions of the table;
-#X text 102 346 a list of <D> floats. A multi-dimensional table stores
-its values in n-tuples like: "<r1> <g1> <b1> <r2> <g2> <b2>..." Therefore
-\, a table must have the size <D>*<n>;
-#X text 50 240 name of the table;
-#X obj 516 168 linear_path 3 array;
-#X msg 543 140 open array;
-#X connect 12 0 13 0;
-#X connect 12 1 14 0;
-#X connect 12 2 15 0;
-#X connect 23 0 24 0;
-#X connect 24 0 16 0;
-#X connect 24 0 30 0;
-#X connect 30 0 12 0;
-#X connect 31 0 30 0;
+#N canvas 37 45 711 482 10;
+#X text 458 11 GEM object;
+#X text 41 430 see also:;
+#X obj 115 429 linear_path;
+#X text 54 22 Synopsis: [linear_path];
+#X obj 504 56 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 510 38 Example:;
+#X obj 22 60 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 22 288 cnv 15 450 120 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 23 288 Inlets:;
+#X obj 22 164 cnv 15 450 120 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 31 164 Arguments:;
+#X text 22 328 Outlets:;
+#X obj 516 212 unpack 0 0 0;
+#X floatatom 516 279 0 0 0 0 - - -;
+#X floatatom 550 257 0 0 0 0 - - -;
+#X floatatom 585 235 0 0 0 0 - - -;
+#X floatatom 524 112 5 0 0 0 - - -;
+#X text 22 64 Description: reads out a table;
+#X text 48 78 You can specify the reading-point by sending a float
+between 0.0f (beginning of table) and 1.0f (end of table). Between
+points \, a linear interpolation is made.;
+#X text 48 120 You can set the table to be read with the "open" message
+or as the second creation-argument.;
+#X text 89 197 [linear_path] is able to excerpt more than 1 dimension
+of a linear table. You can specify the dimension <D> of the table with
+the first creation-argument. (default 1);
+#X text 44 346 Outlet 1:;
+#X text 46 307 Inlet 1: reading point 0.0f...1.0f;
+#X obj 519 71 hsl 128 15 0 127 0 0 empty empty empty -2 -8 0 10 -262144
+-1 -1 0 1;
+#X obj 516 90 / 127;
+#N canvas 0 22 450 300 (subpatch) 0;
+#X array array 102 float 1;
+#A 0 0 0 0 0 0 0 0 0 0.220005 0.460011 0.520012 0.540012 0.580013 0.580013
+0.580013 0.160004 -0.0200005 -0.140003 -0.300007 -0.42001 -0.660015
+0.42001 0.44001 0.44001 0.44001 0.560013 0.560013 0.560013 0.260006
+0.0800018 -0.280006 0.520012 0.400009 0.313341 0.226672 0.140003 -0.120003
+-0.190004 -0.260006 -0.380009 -0.520012 0.300007 0.640015 0.640015
+0.640015 0.460011 0.330008 0.200005 -0.760017 -0.760017 -0.760017 -0.760017
+-0.760017 -0.760017 -0.760017 -0.760017 -0.760017 -0.760017 -0.760017
+-0.760017 0.42001 0.520012 0.560013 0.620014 0.620014 0.620014 0.580013
+0.530012 0.480011 0.280006 0.180004 0.130003 -0.0400009 0.44001 0.44001
+0.400009 0.320007 0.180004 -0.0400009 -0.180004 -0.160004 -0.0400009
+0.0200005 0.0800018 0.160004 0.240005 0.360008 0.520012 0.660015 0.500011
+0.380009 0.120003 -0.200005 -0.240005 0 0 0 0 0 0 0 0;
+#X coords 0 1 101 -1 170 100 1;
+#X restore 503 337 graph;
+#X obj 511 132 cnv 15 130 60 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X text 48 183 dimensions of the table;
+#X text 102 346 a list of <D> floats. A multi-dimensional table stores
+its values in n-tuples like: "<r1> <g1> <b1> <r2> <g2> <b2>..." Therefore
+\, a table must have the size <D>*<n>;
+#X text 50 240 name of the table;
+#X obj 516 168 linear_path 3 array;
+#X msg 543 140 open array;
+#X connect 12 0 13 0;
+#X connect 12 1 14 0;
+#X connect 12 2 15 0;
+#X connect 23 0 24 0;
+#X connect 24 0 16 0;
+#X connect 24 0 30 0;
+#X connect 30 0 12 0;
+#X connect 31 0 30 0;
diff --git a/packages/noncvs/windows/extra/Gem/mesh_line-help.pd b/packages/noncvs/windows/extra/Gem/mesh_line-help.pd
index ff3fce92..42190e3b 100644
--- a/packages/noncvs/windows/extra/Gem/mesh_line-help.pd
+++ b/packages/noncvs/windows/extra/Gem/mesh_line-help.pd
@@ -1,76 +1,76 @@
-#N canvas 379 171 706 465 10;
-#X text 54 30 Class: geometric object;
-#X obj 470 65 cnv 15 230 390 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X obj 593 385 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 198 112 destroy;
-#X msg 132 112 create \, 1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 598 424 pd gemwin;
-#X msg 598 405 create;
-#X text 594 384 Create window:;
-#X obj 7 65 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 8 216 cnv 15 450 150 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 9 221 Inlets:;
-#X obj 8 176 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 175 Arguments:;
-#X text 27 277 Inlet 2: float: size;
-#X text 468 21 GEM object;
-#X text 27 233 Inlet 1: gemlist;
-#X text 9 321 Outlets:;
-#X text 21 334 Outlet 1: gemlist;
-#X text 476 47 Example:;
-#X obj 473 96 cnv 15 220 280 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X msg 476 127 draw line;
-#X msg 476 146 draw point;
-#X obj 544 72 gemhead;
-#X floatatom 647 318 5 0 0 0 - - -;
-#X text 647 302 size;
-#X msg 476 108 draw default;
-#X msg 478 223 grid \$1;
-#X floatatom 478 205 5 0 0 0 - - -;
-#X obj 478 292 t a;
-#X obj 476 167 t a;
-#X text 7 69 Description: Renders a mesh;
-#X text 27 247 Inlet 1: message: draw [line|defaulf|point];
-#X text 27 261 Inlet 1: list: grid float : change the grid resolution
-;
-#X obj 544 340 mesh_line 3;
-#X text 32 14 Synopsis: [mesh_line];
-#X text 16 86 The [mesh_line] object renders a mesh in a line at the
-current position with current color. The size of the line can be changed
-via the second inlet. This object is usefull when working with vertex_shader
-;
-#X text 63 186 resolution of the line mesh;
-#X text 575 107 (draw line);
-#X connect 3 0 4 0;
-#X connect 4 0 3 0;
-#X connect 18 0 27 0;
-#X connect 19 0 27 0;
-#X connect 20 0 31 0;
-#X connect 21 0 31 1;
-#X connect 23 0 27 0;
-#X connect 24 0 26 0;
-#X connect 25 0 24 0;
-#X connect 26 0 31 0;
-#X connect 27 0 31 0;
+#N canvas 379 171 706 465 10;
+#X text 54 30 Class: geometric object;
+#X obj 470 65 cnv 15 230 390 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X obj 593 385 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 198 112 destroy;
+#X msg 132 112 create \, 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 598 424 pd gemwin;
+#X msg 598 405 create;
+#X text 594 384 Create window:;
+#X obj 7 65 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 8 216 cnv 15 450 150 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 9 221 Inlets:;
+#X obj 8 176 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 175 Arguments:;
+#X text 27 277 Inlet 2: float: size;
+#X text 468 21 GEM object;
+#X text 27 233 Inlet 1: gemlist;
+#X text 9 321 Outlets:;
+#X text 21 334 Outlet 1: gemlist;
+#X text 476 47 Example:;
+#X obj 473 96 cnv 15 220 280 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X msg 476 127 draw line;
+#X msg 476 146 draw point;
+#X obj 544 72 gemhead;
+#X floatatom 647 318 5 0 0 0 - - -;
+#X text 647 302 size;
+#X msg 476 108 draw default;
+#X msg 478 223 grid \$1;
+#X floatatom 478 205 5 0 0 0 - - -;
+#X obj 478 292 t a;
+#X obj 476 167 t a;
+#X text 7 69 Description: Renders a mesh;
+#X text 27 247 Inlet 1: message: draw [line|defaulf|point];
+#X text 27 261 Inlet 1: list: grid float : change the grid resolution
+;
+#X obj 544 340 mesh_line 3;
+#X text 32 14 Synopsis: [mesh_line];
+#X text 16 86 The [mesh_line] object renders a mesh in a line at the
+current position with current color. The size of the line can be changed
+via the second inlet. This object is usefull when working with vertex_shader
+;
+#X text 63 186 resolution of the line mesh;
+#X text 575 107 (draw line);
+#X connect 3 0 4 0;
+#X connect 4 0 3 0;
+#X connect 18 0 27 0;
+#X connect 19 0 27 0;
+#X connect 20 0 31 0;
+#X connect 21 0 31 1;
+#X connect 23 0 27 0;
+#X connect 24 0 26 0;
+#X connect 25 0 24 0;
+#X connect 26 0 31 0;
+#X connect 27 0 31 0;
diff --git a/packages/noncvs/windows/extra/Gem/mesh_square-help.pd b/packages/noncvs/windows/extra/Gem/mesh_square-help.pd
index 582690b7..bb191845 100644
--- a/packages/noncvs/windows/extra/Gem/mesh_square-help.pd
+++ b/packages/noncvs/windows/extra/Gem/mesh_square-help.pd
@@ -1,87 +1,87 @@
-#N canvas 91 105 706 465 10;
-#X text 54 30 Class: geometric object;
-#X obj 470 65 cnv 15 230 390 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X obj 593 385 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 198 112 destroy;
-#X msg 132 112 create \, 1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 598 424 pd gemwin;
-#X msg 598 405 create;
-#X text 594 384 Create window:;
-#X obj 7 65 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 8 216 cnv 15 450 150 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 9 221 Inlets:;
-#X obj 8 176 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 175 Arguments:;
-#X text 27 302 Inlet 2: float: size;
-#X text 468 21 GEM object;
-#X text 27 233 Inlet 1: gemlist;
-#X text 9 321 Outlets:;
-#X text 21 334 Outlet 1: gemlist;
-#X text 476 47 Example:;
-#X obj 473 96 cnv 15 220 280 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X msg 476 127 draw line;
-#X msg 476 146 draw point;
-#X obj 544 72 gemhead;
-#X floatatom 647 318 5 0 0 0 - - -;
-#X text 647 302 size;
-#X text 32 14 Synopsis: [mesh_square];
-#X obj 545 342 mesh_square 3 3;
-#X msg 476 108 draw default;
-#X msg 478 223 grid \$1;
-#X floatatom 478 205 5 0 0 0 - - -;
-#X floatatom 483 247 5 0 0 0 - - -;
-#X msg 483 265 gridX \$1;
-#X floatatom 552 247 5 0 0 0 - - -;
-#X msg 552 265 gridY \$1;
-#X obj 478 292 t a;
-#X obj 476 167 t a;
-#X text 7 69 Description: Renders a mesh;
-#X text 63 186 resolution of the mesh;
-#X text 27 247 Inlet 1: message: draw [line|defaulf|point];
-#X text 27 261 Inlet 1: list: grid float : change the grid resolution
-;
-#X text 27 274 Inlet 1: list: gridX float : change the X grid resolution
-;
-#X text 27 288 Inlet 1: list: gridY float : change the Y grid resolution
-;
-#X text 16 86 The [mesh_square] object renders a mesh in a square at
-the current position with current color. The size of the square can
-be changed via the second inlet. This object is usefull when working
-with vertex_shader;
-#X connect 3 0 4 0;
-#X connect 4 0 3 0;
-#X connect 18 0 33 0;
-#X connect 19 0 33 0;
-#X connect 20 0 24 0;
-#X connect 21 0 24 1;
-#X connect 25 0 33 0;
-#X connect 26 0 32 0;
-#X connect 27 0 26 0;
-#X connect 28 0 29 0;
-#X connect 29 0 32 0;
-#X connect 30 0 31 0;
-#X connect 31 0 32 0;
-#X connect 32 0 24 0;
-#X connect 33 0 24 0;
+#N canvas 91 105 706 465 10;
+#X text 54 30 Class: geometric object;
+#X obj 470 65 cnv 15 230 390 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X obj 593 385 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 198 112 destroy;
+#X msg 132 112 create \, 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 598 424 pd gemwin;
+#X msg 598 405 create;
+#X text 594 384 Create window:;
+#X obj 7 65 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 8 216 cnv 15 450 150 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 9 221 Inlets:;
+#X obj 8 176 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 175 Arguments:;
+#X text 27 302 Inlet 2: float: size;
+#X text 468 21 GEM object;
+#X text 27 233 Inlet 1: gemlist;
+#X text 9 321 Outlets:;
+#X text 21 334 Outlet 1: gemlist;
+#X text 476 47 Example:;
+#X obj 473 96 cnv 15 220 280 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X msg 476 127 draw line;
+#X msg 476 146 draw point;
+#X obj 544 72 gemhead;
+#X floatatom 647 318 5 0 0 0 - - -;
+#X text 647 302 size;
+#X text 32 14 Synopsis: [mesh_square];
+#X obj 545 342 mesh_square 3 3;
+#X msg 476 108 draw default;
+#X msg 478 223 grid \$1;
+#X floatatom 478 205 5 0 0 0 - - -;
+#X floatatom 483 247 5 0 0 0 - - -;
+#X msg 483 265 gridX \$1;
+#X floatatom 552 247 5 0 0 0 - - -;
+#X msg 552 265 gridY \$1;
+#X obj 478 292 t a;
+#X obj 476 167 t a;
+#X text 7 69 Description: Renders a mesh;
+#X text 63 186 resolution of the mesh;
+#X text 27 247 Inlet 1: message: draw [line|defaulf|point];
+#X text 27 261 Inlet 1: list: grid float : change the grid resolution
+;
+#X text 27 274 Inlet 1: list: gridX float : change the X grid resolution
+;
+#X text 27 288 Inlet 1: list: gridY float : change the Y grid resolution
+;
+#X text 16 86 The [mesh_square] object renders a mesh in a square at
+the current position with current color. The size of the square can
+be changed via the second inlet. This object is usefull when working
+with vertex_shader;
+#X connect 3 0 4 0;
+#X connect 4 0 3 0;
+#X connect 18 0 33 0;
+#X connect 19 0 33 0;
+#X connect 20 0 24 0;
+#X connect 21 0 24 1;
+#X connect 25 0 33 0;
+#X connect 26 0 32 0;
+#X connect 27 0 26 0;
+#X connect 28 0 29 0;
+#X connect 29 0 32 0;
+#X connect 30 0 31 0;
+#X connect 31 0 32 0;
+#X connect 32 0 24 0;
+#X connect 33 0 24 0;
diff --git a/packages/noncvs/windows/extra/Gem/model-help.pd b/packages/noncvs/windows/extra/Gem/model-help.pd
index e2d9ded4..a81e77ab 100644
--- a/packages/noncvs/windows/extra/Gem/model-help.pd
+++ b/packages/noncvs/windows/extra/Gem/model-help.pd
@@ -1,121 +1,121 @@
-#N canvas 407 65 710 632 10;
-#X text 54 30 Class: geometric object;
-#X obj 464 77 cnv 15 200 280 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X obj 466 364 cnv 15 200 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1 \, lighting 1;
-#X msg 298 112 destroy \, reset;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 471 403 pd gemwin;
-#X msg 471 384 create;
-#X text 468 365 Create window:;
-#X text 475 59 Example:;
-#X obj 7 67 cnv 15 450 200 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 8 316 cnv 15 450 260 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 9 321 Inlets:;
-#X obj 8 276 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 275 Arguments:;
-#X text 452 8 GEM object;
-#X text 27 333 Inlet 1: gemlist;
-#X text 9 560 Outlets:;
-#X text 21 573 Outlet 1: gemlist;
-#X obj 472 136 cnv 15 180 165 empty empty empty 20 12 0 14 -106458
--66577 0;
-#X text 33 14 Synopsis: [model];
-#X text 7 69 Description: Renders an Alias/Wavefront-Model.;
-#X text 16 86 The model object renders 3D-models that are saved in
-Alias/Wavefront's OBJ-format.;
-#X text 63 286 optional: name of a OBJ-file to be loaded;
-#X obj 470 313 cnv 15 50 30 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 583 384 gemhead;
-#X obj 583 403 world_light;
-#X obj 552 302 cnv 15 100 50 empty empty empty 20 12 0 14 -106458 -66577
-0;
-#X obj 473 84 gemhead;
-#X obj 473 319 model;
-#X obj 486 140 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 486 158 openpanel;
-#X obj 574 144 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X msg 574 164 rescale \$1;
-#X msg 490 224 smooth \$1;
-#X obj 574 204 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X msg 574 224 revert \$1;
-#X msg 486 274 material \$1;
-#X msg 574 274 texture \$1;
-#X msg 576 326 group \$1;
-#X floatatom 490 206 5 0 1 0 - - -;
-#X msg 486 179 open \$1;
-#X obj 576 308 hradio 15 1 0 3 empty empty empty 0 -6 0 8 -262144 -1
--1 0;
-#X text 27 350 Inlet 1: message: open <filename.obj>;
-#X text 27 367 Inlet 1: message: rescale 1|0 :: normalize the model
-(must be set PRIOR to opening a model (default: 1);
-#X text 26 444 Inlet 1: message: material 1|0 :: use material-information
-(from the .MTL-file);
-#X text 27 522 Inlet 1: message: group <int> :: draw only specified
-part of the model (0==all groups);
-#X text 16 114 To normalize the size and pivot-point of a loaded model
-use the "rescale"-message prior(!) to loading the model.;
-#X text 27 426 Inlet 1: message: revert 1|0 :: revert faces;
-#X text 16 142 The amount of smoothing of the model-facets can be set
-via the "smooth"-message.;
-#X text 17 168 Some models have material-information stored in a separate
-MTL-file. If these materials should be used instead of GEM's [color]
-(and friends) use the "material"-message.;
-#X text 16 234 Model can consist of several parts \, so-called "groups".
-Normally all groups are rendered \, but you can specify specific groups
-to be displayed.;
-#X obj 473 115 color 1 0 0;
-#X obj 486 254 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X text 27 397 Inlet 1: message: smooth <float> :: set smoothing factor
-( 0.0==flat. 1.0==smooth. default=0.5);
-#X text 27 474 Inlet 1: message: texture 0|1|2 :: 0==linear texturing
-\, 1==sphere mapping \, 2==UV-mapping (default);
-#X obj 574 254 hradio 15 1 0 3 empty empty empty 0 -6 0 8 -262144 -1
--1 0;
-#X text 17 210 Images can be applied either as linear \, spheric or
-UV textures.;
-#X connect 3 0 4 0;
-#X connect 4 0 3 0;
-#X connect 22 0 23 0;
-#X connect 25 0 49 0;
-#X connect 27 0 28 0;
-#X connect 28 0 38 0;
-#X connect 29 0 30 0;
-#X connect 30 0 26 0;
-#X connect 31 0 26 0;
-#X connect 32 0 33 0;
-#X connect 33 0 26 0;
-#X connect 34 0 26 0;
-#X connect 35 0 26 0;
-#X connect 36 0 26 0;
-#X connect 37 0 31 0;
-#X connect 38 0 26 0;
-#X connect 39 0 36 0;
-#X connect 49 0 26 0;
-#X connect 50 0 34 0;
-#X connect 53 0 35 0;
+#N canvas 407 65 710 632 10;
+#X text 54 30 Class: geometric object;
+#X obj 464 77 cnv 15 200 280 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X obj 466 364 cnv 15 200 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1 \, lighting 1;
+#X msg 298 112 destroy \, reset;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 471 403 pd gemwin;
+#X msg 471 384 create;
+#X text 468 365 Create window:;
+#X text 475 59 Example:;
+#X obj 7 67 cnv 15 450 200 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 8 316 cnv 15 450 260 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 9 321 Inlets:;
+#X obj 8 276 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 275 Arguments:;
+#X text 452 8 GEM object;
+#X text 27 333 Inlet 1: gemlist;
+#X text 9 560 Outlets:;
+#X text 21 573 Outlet 1: gemlist;
+#X obj 472 136 cnv 15 180 165 empty empty empty 20 12 0 14 -106458
+-66577 0;
+#X text 33 14 Synopsis: [model];
+#X text 7 69 Description: Renders an Alias/Wavefront-Model.;
+#X text 16 86 The model object renders 3D-models that are saved in
+Alias/Wavefront's OBJ-format.;
+#X text 63 286 optional: name of a OBJ-file to be loaded;
+#X obj 470 313 cnv 15 50 30 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 583 384 gemhead;
+#X obj 583 403 world_light;
+#X obj 552 302 cnv 15 100 50 empty empty empty 20 12 0 14 -106458 -66577
+0;
+#X obj 473 84 gemhead;
+#X obj 473 319 model;
+#X obj 486 140 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 486 158 openpanel;
+#X obj 574 144 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X msg 574 164 rescale \$1;
+#X msg 490 224 smooth \$1;
+#X obj 574 204 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X msg 574 224 revert \$1;
+#X msg 486 274 material \$1;
+#X msg 574 274 texture \$1;
+#X msg 576 326 group \$1;
+#X floatatom 490 206 5 0 1 0 - - -;
+#X msg 486 179 open \$1;
+#X obj 576 308 hradio 15 1 0 3 empty empty empty 0 -6 0 8 -262144 -1
+-1 0;
+#X text 27 350 Inlet 1: message: open <filename.obj>;
+#X text 27 367 Inlet 1: message: rescale 1|0 :: normalize the model
+(must be set PRIOR to opening a model (default: 1);
+#X text 26 444 Inlet 1: message: material 1|0 :: use material-information
+(from the .MTL-file);
+#X text 27 522 Inlet 1: message: group <int> :: draw only specified
+part of the model (0==all groups);
+#X text 16 114 To normalize the size and pivot-point of a loaded model
+use the "rescale"-message prior(!) to loading the model.;
+#X text 27 426 Inlet 1: message: revert 1|0 :: revert faces;
+#X text 16 142 The amount of smoothing of the model-facets can be set
+via the "smooth"-message.;
+#X text 17 168 Some models have material-information stored in a separate
+MTL-file. If these materials should be used instead of GEM's [color]
+(and friends) use the "material"-message.;
+#X text 16 234 Model can consist of several parts \, so-called "groups".
+Normally all groups are rendered \, but you can specify specific groups
+to be displayed.;
+#X obj 473 115 color 1 0 0;
+#X obj 486 254 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X text 27 397 Inlet 1: message: smooth <float> :: set smoothing factor
+( 0.0==flat. 1.0==smooth. default=0.5);
+#X text 27 474 Inlet 1: message: texture 0|1|2 :: 0==linear texturing
+\, 1==sphere mapping \, 2==UV-mapping (default);
+#X obj 574 254 hradio 15 1 0 3 empty empty empty 0 -6 0 8 -262144 -1
+-1 0;
+#X text 17 210 Images can be applied either as linear \, spheric or
+UV textures.;
+#X connect 3 0 4 0;
+#X connect 4 0 3 0;
+#X connect 22 0 23 0;
+#X connect 25 0 49 0;
+#X connect 27 0 28 0;
+#X connect 28 0 38 0;
+#X connect 29 0 30 0;
+#X connect 30 0 26 0;
+#X connect 31 0 26 0;
+#X connect 32 0 33 0;
+#X connect 33 0 26 0;
+#X connect 34 0 26 0;
+#X connect 35 0 26 0;
+#X connect 36 0 26 0;
+#X connect 37 0 31 0;
+#X connect 38 0 26 0;
+#X connect 39 0 36 0;
+#X connect 49 0 26 0;
+#X connect 50 0 34 0;
+#X connect 53 0 35 0;
diff --git a/packages/noncvs/windows/extra/Gem/multimodel-help.pd b/packages/noncvs/windows/extra/Gem/multimodel-help.pd
index 48e2397b..27df12a6 100644
--- a/packages/noncvs/windows/extra/Gem/multimodel-help.pd
+++ b/packages/noncvs/windows/extra/Gem/multimodel-help.pd
@@ -1,69 +1,69 @@
-#N canvas 368 22 710 565 10;
-#X text 54 30 Class: geometric object;
-#X obj 464 77 cnv 15 200 180 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X obj 466 294 cnv 15 200 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1 \, lighting 1;
-#X msg 298 112 destroy \, reset;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 471 333 pd gemwin;
-#X msg 471 314 create;
-#X text 468 295 Create window:;
-#X text 475 59 Example:;
-#X obj 7 67 cnv 15 450 200 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 8 316 cnv 15 450 160 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 9 321 Inlets:;
-#X obj 8 276 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 275 Arguments:;
-#X text 452 8 GEM object;
-#X text 27 333 Inlet 1: gemlist;
-#X text 9 420 Outlets:;
-#X text 21 433 Outlet 1: gemlist;
-#X obj 469 146 cnv 15 190 35 empty empty empty 20 12 0 14 -106458 -66577
-0;
-#X obj 470 203 cnv 15 50 30 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 583 314 gemhead;
-#X obj 583 333 world_light;
-#X obj 473 84 gemhead;
-#X obj 492 413 model;
-#X text 472 394 see also:;
-#X text 33 14 Synopsis: [multimodel];
-#X text 19 117 The open message is the name of the of model file \,
-the base model number (ie \, what number to start at) \, the top model
-number (what number to end at) \, and the skip rate (how to count).
-;
-#X text 18 180 When you send the open message \, multimodel looks for
-the * in the file name and replaces it with a number.;
-#X obj 473 209 multimodel;
-#X msg 482 156 open mymodel*.obj 0 10 1;
-#X text 27 350 Inlet 1: message: open <filename*.obj> <basenumber>
-<topnumber> <skip>;
-#X obj 563 412 pix_multiimage;
-#X text 7 69 Description: load multiple an Alias/Wavefront-Model and
-renders one of them;
-#X text 18 386 for other messages to [multimodel] see [model];
-#X connect 3 0 4 0;
-#X connect 4 0 3 0;
-#X connect 18 0 19 0;
-#X connect 20 0 26 0;
-#X connect 27 0 26 0;
+#N canvas 368 22 710 565 10;
+#X text 54 30 Class: geometric object;
+#X obj 464 77 cnv 15 200 180 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X obj 466 294 cnv 15 200 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1 \, lighting 1;
+#X msg 298 112 destroy \, reset;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 471 333 pd gemwin;
+#X msg 471 314 create;
+#X text 468 295 Create window:;
+#X text 475 59 Example:;
+#X obj 7 67 cnv 15 450 200 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 8 316 cnv 15 450 160 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 9 321 Inlets:;
+#X obj 8 276 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 275 Arguments:;
+#X text 452 8 GEM object;
+#X text 27 333 Inlet 1: gemlist;
+#X text 9 420 Outlets:;
+#X text 21 433 Outlet 1: gemlist;
+#X obj 469 146 cnv 15 190 35 empty empty empty 20 12 0 14 -106458 -66577
+0;
+#X obj 470 203 cnv 15 50 30 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 583 314 gemhead;
+#X obj 583 333 world_light;
+#X obj 473 84 gemhead;
+#X obj 492 413 model;
+#X text 472 394 see also:;
+#X text 33 14 Synopsis: [multimodel];
+#X text 19 117 The open message is the name of the of model file \,
+the base model number (ie \, what number to start at) \, the top model
+number (what number to end at) \, and the skip rate (how to count).
+;
+#X text 18 180 When you send the open message \, multimodel looks for
+the * in the file name and replaces it with a number.;
+#X obj 473 209 multimodel;
+#X msg 482 156 open mymodel*.obj 0 10 1;
+#X text 27 350 Inlet 1: message: open <filename*.obj> <basenumber>
+<topnumber> <skip>;
+#X obj 563 412 pix_multiimage;
+#X text 7 69 Description: load multiple an Alias/Wavefront-Model and
+renders one of them;
+#X text 18 386 for other messages to [multimodel] see [model];
+#X connect 3 0 4 0;
+#X connect 4 0 3 0;
+#X connect 18 0 19 0;
+#X connect 20 0 26 0;
+#X connect 27 0 26 0;
diff --git a/packages/noncvs/windows/extra/Gem/newWave-help.pd b/packages/noncvs/windows/extra/Gem/newWave-help.pd
index 157bdbb1..3890aadc 100644
--- a/packages/noncvs/windows/extra/Gem/newWave-help.pd
+++ b/packages/noncvs/windows/extra/Gem/newWave-help.pd
@@ -1,158 +1,158 @@
-#N canvas 402 236 760 620 10;
-#X text 54 27 Class: geometric object;
-#X obj 479 47 cnv 15 250 550 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X obj 484 533 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 454 304 gemwin 0;
-#X obj 131 164 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 198 112 destroy;
-#X msg 131 140 create \, 1 \, lighting 1;
-#X obj 298 149 world_light;
-#X obj 298 122 gemhead;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X connect 9 0 8 0;
-#X restore 489 571 pd gemwin;
-#X msg 489 552 create;
-#X text 485 532 Create window:;
-#X text 485 29 Example:;
-#X obj 7 47 cnv 15 450 90 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 8 199 cnv 15 450 260 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 19 198 Inlets:;
-#X obj 8 143 cnv 15 450 50 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 142 Arguments:;
-#X text 26 347 Inlet 1: message: draw [line|fill|point];
-#X text 452 8 GEM object;
-#X text 27 210 Inlet 1: gemlist;
-#X text 9 420 Outlets:;
-#X text 20 433 Outlet 1: gemlist;
-#X obj 484 141 cnv 15 240 380 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 494 54 gemhead;
-#X floatatom 592 446 5 0 0 2 size - -;
-#X floatatom 593 475 5 0 0 2 height - -;
-#X floatatom 526 96 5 0 0 0 - - -;
-#X msg 523 172 draw line;
-#X msg 523 192 draw fill;
-#X msg 523 212 draw point;
-#X text 33 11 Synopsis: [newWave];
-#X text 26 377 Inlet 2: float: size (dimX & dimY);
-#X text 26 391 Inlet 3: float: height (dimZ);
-#X text 26 405 Inlet 4: int: action;
-#X obj 565 254 vradio 11 1 0 11 empty empty action -10 -6 0 8 -262144
--1 -1 0;
-#X floatatom 626 158 5 0 100 0 - - -;
-#X obj 626 176 / 100;
-#X msg 626 195 K1 \$1;
-#X text 16 68 The newWaves object renders a number of waving square
-at the current position with current color. The size of the square
-can be changed via the inlet2 \, the height of the wave can be set
-via the 3rd inlet. You can also set the wave-form (inlet4);
-#X text 26 223 Inlet 1: bang: trigger waving;
-#X obj 494 459 t a b;
-#X floatatom 626 218 5 0 100 0 - - -;
-#X obj 626 236 / 100;
-#X floatatom 626 278 5 0 100 0 - - -;
-#X obj 626 296 / 100;
-#X floatatom 676 158 5 0 100 0 - - -;
-#X obj 676 176 / 100;
-#X floatatom 676 218 5 0 100 0 - - -;
-#X obj 676 236 / 100;
-#X floatatom 676 278 5 0 100 0 - - -;
-#X obj 676 296 / 100;
-#X msg 676 195 D1 \$1;
-#X msg 676 255 D2 \$1;
-#X msg 676 315 D3 \$1;
-#X msg 626 315 K3 \$1;
-#X msg 626 255 K2 \$1;
-#X obj 595 272 t a;
-#X obj 595 212 t a;
-#X obj 595 332 t a;
-#X text 27 237 Inlet 1: K1 \, D1 \, K2 \, D2 \, K3 \, D3: weight/damping
-factors (defaults: K1=0.05 D1=0.1 K2=K3=D2=D3=0);
-#X msg 590 364 position 1 1 10;
-#X text 25 265 Inlet 1: message: position (X Y Z): clamp the node at
-(X Y) to a certain height and release it;
-#X text 7 51 Description: Renders a waving square (mass-spring-system)
-;
-#X msg 592 414 noise 1;
-#X obj 8 465 cnv 15 450 130 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 13 465 actions:;
-#X text 84 471 00..retrigger current action;
-#X text 84 482 01..flat;
-#X text 84 493 02..spike;
-#X text 84 503 03..diagonal wall;
-#X text 84 514 04..sidewall;
-#X text 84 525 05..hole;
-#X text 84 536 06..middleblock;
-#X text 84 547 07..diagonalblock;
-#X text 84 558 08..cornerblock;
-#X text 84 568 09..hill;
-#X text 83 579 10..hill4 (default);
-#X text 27 318 Inlet 1: message: noise (val) : add a random force;
-#X text 42 331 ( -val < force < +val) to all node;
-#X obj 493 494 newWave 30 10;
-#X msg 502 146 texture 0;
-#X msg 591 389 force 15 5 -0.5;
-#X obj 494 115 rotateXYZ 135 0 0;
-#X text 24 290 Inlet 1: message: force (X Y val): aply a force of value
-"val" onto the wave at position (X Y);
-#X text 63 159 1 : X grid-resolution \, default : 3;
-#X text 63 171 2 : Y grid resolution \, default : X value;
-#X text 26 362 Inlet 1 : message texture [1|2] : change texturing mode
-;
-#X connect 3 0 4 0;
-#X connect 4 0 3 0;
-#X connect 18 0 77 0;
-#X connect 19 0 74 1;
-#X connect 20 0 74 2;
-#X connect 21 0 77 1;
-#X connect 22 0 74 0;
-#X connect 23 0 74 0;
-#X connect 24 0 74 0;
-#X connect 29 0 74 3;
-#X connect 30 0 31 0;
-#X connect 31 0 32 0;
-#X connect 32 0 52 0;
-#X connect 35 0 74 0;
-#X connect 35 1 74 0;
-#X connect 36 0 37 0;
-#X connect 37 0 50 0;
-#X connect 38 0 39 0;
-#X connect 39 0 49 0;
-#X connect 40 0 41 0;
-#X connect 41 0 46 0;
-#X connect 42 0 43 0;
-#X connect 43 0 47 0;
-#X connect 44 0 45 0;
-#X connect 45 0 48 0;
-#X connect 46 0 52 0;
-#X connect 47 0 51 0;
-#X connect 48 0 53 0;
-#X connect 49 0 53 0;
-#X connect 50 0 51 0;
-#X connect 51 0 53 0;
-#X connect 52 0 51 0;
-#X connect 53 0 74 0;
-#X connect 55 0 74 0;
-#X connect 58 0 74 0;
-#X connect 75 0 74 0;
-#X connect 76 0 74 0;
-#X connect 77 0 35 0;
+#N canvas 402 236 760 620 10;
+#X text 54 27 Class: geometric object;
+#X obj 479 47 cnv 15 250 550 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X obj 484 533 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 454 304 gemwin 0;
+#X obj 131 164 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 198 112 destroy;
+#X msg 131 140 create \, 1 \, lighting 1;
+#X obj 298 149 world_light;
+#X obj 298 122 gemhead;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 9 0 8 0;
+#X restore 489 571 pd gemwin;
+#X msg 489 552 create;
+#X text 485 532 Create window:;
+#X text 485 29 Example:;
+#X obj 7 47 cnv 15 450 90 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 8 199 cnv 15 450 260 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 19 198 Inlets:;
+#X obj 8 143 cnv 15 450 50 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 142 Arguments:;
+#X text 26 347 Inlet 1: message: draw [line|fill|point];
+#X text 452 8 GEM object;
+#X text 27 210 Inlet 1: gemlist;
+#X text 9 420 Outlets:;
+#X text 20 433 Outlet 1: gemlist;
+#X obj 484 141 cnv 15 240 380 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 494 54 gemhead;
+#X floatatom 592 446 5 0 0 2 size - -;
+#X floatatom 593 475 5 0 0 2 height - -;
+#X floatatom 526 96 5 0 0 0 - - -;
+#X msg 523 172 draw line;
+#X msg 523 192 draw fill;
+#X msg 523 212 draw point;
+#X text 33 11 Synopsis: [newWave];
+#X text 26 377 Inlet 2: float: size (dimX & dimY);
+#X text 26 391 Inlet 3: float: height (dimZ);
+#X text 26 405 Inlet 4: int: action;
+#X obj 565 254 vradio 11 1 0 11 empty empty action -10 -6 0 8 -262144
+-1 -1 0;
+#X floatatom 626 158 5 0 100 0 - - -;
+#X obj 626 176 / 100;
+#X msg 626 195 K1 \$1;
+#X text 16 68 The newWaves object renders a number of waving square
+at the current position with current color. The size of the square
+can be changed via the inlet2 \, the height of the wave can be set
+via the 3rd inlet. You can also set the wave-form (inlet4);
+#X text 26 223 Inlet 1: bang: trigger waving;
+#X obj 494 459 t a b;
+#X floatatom 626 218 5 0 100 0 - - -;
+#X obj 626 236 / 100;
+#X floatatom 626 278 5 0 100 0 - - -;
+#X obj 626 296 / 100;
+#X floatatom 676 158 5 0 100 0 - - -;
+#X obj 676 176 / 100;
+#X floatatom 676 218 5 0 100 0 - - -;
+#X obj 676 236 / 100;
+#X floatatom 676 278 5 0 100 0 - - -;
+#X obj 676 296 / 100;
+#X msg 676 195 D1 \$1;
+#X msg 676 255 D2 \$1;
+#X msg 676 315 D3 \$1;
+#X msg 626 315 K3 \$1;
+#X msg 626 255 K2 \$1;
+#X obj 595 272 t a;
+#X obj 595 212 t a;
+#X obj 595 332 t a;
+#X text 27 237 Inlet 1: K1 \, D1 \, K2 \, D2 \, K3 \, D3: weight/damping
+factors (defaults: K1=0.05 D1=0.1 K2=K3=D2=D3=0);
+#X msg 590 364 position 1 1 10;
+#X text 25 265 Inlet 1: message: position (X Y Z): clamp the node at
+(X Y) to a certain height and release it;
+#X text 7 51 Description: Renders a waving square (mass-spring-system)
+;
+#X msg 592 414 noise 1;
+#X obj 8 465 cnv 15 450 130 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 13 465 actions:;
+#X text 84 471 00..retrigger current action;
+#X text 84 482 01..flat;
+#X text 84 493 02..spike;
+#X text 84 503 03..diagonal wall;
+#X text 84 514 04..sidewall;
+#X text 84 525 05..hole;
+#X text 84 536 06..middleblock;
+#X text 84 547 07..diagonalblock;
+#X text 84 558 08..cornerblock;
+#X text 84 568 09..hill;
+#X text 83 579 10..hill4 (default);
+#X text 27 318 Inlet 1: message: noise (val) : add a random force;
+#X text 42 331 ( -val < force < +val) to all node;
+#X obj 493 494 newWave 30 10;
+#X msg 502 146 texture 0;
+#X msg 591 389 force 15 5 -0.5;
+#X obj 494 115 rotateXYZ 135 0 0;
+#X text 24 290 Inlet 1: message: force (X Y val): aply a force of value
+"val" onto the wave at position (X Y);
+#X text 63 159 1 : X grid-resolution \, default : 3;
+#X text 63 171 2 : Y grid resolution \, default : X value;
+#X text 26 362 Inlet 1 : message texture [1|2] : change texturing mode
+;
+#X connect 3 0 4 0;
+#X connect 4 0 3 0;
+#X connect 18 0 77 0;
+#X connect 19 0 74 1;
+#X connect 20 0 74 2;
+#X connect 21 0 77 1;
+#X connect 22 0 74 0;
+#X connect 23 0 74 0;
+#X connect 24 0 74 0;
+#X connect 29 0 74 3;
+#X connect 30 0 31 0;
+#X connect 31 0 32 0;
+#X connect 32 0 52 0;
+#X connect 35 0 74 0;
+#X connect 35 1 74 0;
+#X connect 36 0 37 0;
+#X connect 37 0 50 0;
+#X connect 38 0 39 0;
+#X connect 39 0 49 0;
+#X connect 40 0 41 0;
+#X connect 41 0 46 0;
+#X connect 42 0 43 0;
+#X connect 43 0 47 0;
+#X connect 44 0 45 0;
+#X connect 45 0 48 0;
+#X connect 46 0 52 0;
+#X connect 47 0 51 0;
+#X connect 48 0 53 0;
+#X connect 49 0 53 0;
+#X connect 50 0 51 0;
+#X connect 51 0 53 0;
+#X connect 52 0 51 0;
+#X connect 53 0 74 0;
+#X connect 55 0 74 0;
+#X connect 58 0 74 0;
+#X connect 75 0 74 0;
+#X connect 76 0 74 0;
+#X connect 77 0 35 0;
diff --git a/packages/noncvs/windows/extra/Gem/ortho-help.pd b/packages/noncvs/windows/extra/Gem/ortho-help.pd
index 76d68e3f..d30c56f3 100644
--- a/packages/noncvs/windows/extra/Gem/ortho-help.pd
+++ b/packages/noncvs/windows/extra/Gem/ortho-help.pd
@@ -1,81 +1,81 @@
-#N canvas 486 140 710 345 10;
-#X obj 544 274 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 198 112 destroy;
-#X msg 132 112 create \, 1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 549 313 pd gemwin;
-#X msg 549 294 destroy;
-#X text 545 273 Create window:;
-#X text 485 29 Example:;
-#X obj 7 65 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 8 216 cnv 15 450 120 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 9 221 Inlets:;
-#X obj 8 176 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 175 Arguments:;
-#X text 452 8 GEM object;
-#X text 27 233 Inlet 1: gemlist;
-#X text 9 304 Outlets:;
-#X text 21 316 Outlet 1: gemlist;
-#X obj 529 143 cnv 15 150 90 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 553 54 gemhead;
-#X obj 553 239 cylinder;
-#X obj 553 75 t a b;
-#X obj 583 94 i;
-#X obj 553 186 ortho;
-#X obj 533 169 tgl 15 1 empty empty empty 0 -6 0 8 -262144 -1 -1 1
-1;
-#X obj 628 73 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
-;
-#X obj 612 94 + 0;
-#X obj 553 115 rotateXYZ 45 45 0;
-#X text 63 187 (none);
-#X text 27 247 Inlet 1: 0|1 : turn orthographic rendering ON(default)
-or OFF;
-#X text 33 14 Synopsis: [ortho];
-#X text 54 30 Class: manipulation object;
-#X text 7 69 Description: orthographic rendering;
-#X msg 584 166 compat \$1;
-#X obj 584 146 tgl 15 1 empty empty empty 0 -6 0 8 -262144 -1 -1 1
-1;
-#X text 27 274 Inlet 1: compat 0|1 : switch aspect ratio default: 1
-= 1 \, 0 = window width/height;
-#X text 19 92 [ortho] changes the current viewing-mode from (evtl.)
-"perspective" (objects that are fare away appear smaller than objects
-that are near) to "orthographic" (parallels appear parallel) for all
-subsequent shapes.;
-#X connect 1 0 2 0;
-#X connect 2 0 1 0;
-#X connect 15 0 17 0;
-#X connect 17 0 23 0;
-#X connect 17 1 18 0;
-#X connect 18 0 22 0;
-#X connect 18 0 23 1;
-#X connect 18 0 23 2;
-#X connect 18 0 23 3;
-#X connect 19 0 16 0;
-#X connect 20 0 19 0;
-#X connect 21 0 22 1;
-#X connect 22 0 18 1;
-#X connect 23 0 19 0;
-#X connect 29 0 19 0;
-#X connect 30 0 29 0;
+#N canvas 486 140 710 345 10;
+#X obj 544 274 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 198 112 destroy;
+#X msg 132 112 create \, 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 549 313 pd gemwin;
+#X msg 549 294 destroy;
+#X text 545 273 Create window:;
+#X text 485 29 Example:;
+#X obj 7 65 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 8 216 cnv 15 450 120 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 9 221 Inlets:;
+#X obj 8 176 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 175 Arguments:;
+#X text 452 8 GEM object;
+#X text 27 233 Inlet 1: gemlist;
+#X text 9 304 Outlets:;
+#X text 21 316 Outlet 1: gemlist;
+#X obj 529 143 cnv 15 150 90 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 553 54 gemhead;
+#X obj 553 239 cylinder;
+#X obj 553 75 t a b;
+#X obj 583 94 i;
+#X obj 553 186 ortho;
+#X obj 533 169 tgl 15 1 empty empty empty 0 -6 0 8 -262144 -1 -1 1
+1;
+#X obj 628 73 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
+;
+#X obj 612 94 + 0;
+#X obj 553 115 rotateXYZ 45 45 0;
+#X text 63 187 (none);
+#X text 27 247 Inlet 1: 0|1 : turn orthographic rendering ON(default)
+or OFF;
+#X text 33 14 Synopsis: [ortho];
+#X text 54 30 Class: manipulation object;
+#X text 7 69 Description: orthographic rendering;
+#X msg 584 166 compat \$1;
+#X obj 584 146 tgl 15 1 empty empty empty 0 -6 0 8 -262144 -1 -1 1
+1;
+#X text 27 274 Inlet 1: compat 0|1 : switch aspect ratio default: 1
+= 1 \, 0 = window width/height;
+#X text 19 92 [ortho] changes the current viewing-mode from (evtl.)
+"perspective" (objects that are fare away appear smaller than objects
+that are near) to "orthographic" (parallels appear parallel) for all
+subsequent shapes.;
+#X connect 1 0 2 0;
+#X connect 2 0 1 0;
+#X connect 15 0 17 0;
+#X connect 17 0 23 0;
+#X connect 17 1 18 0;
+#X connect 18 0 22 0;
+#X connect 18 0 23 1;
+#X connect 18 0 23 2;
+#X connect 18 0 23 3;
+#X connect 19 0 16 0;
+#X connect 20 0 19 0;
+#X connect 21 0 22 1;
+#X connect 22 0 18 1;
+#X connect 23 0 19 0;
+#X connect 29 0 19 0;
+#X connect 30 0 29 0;
diff --git a/packages/noncvs/windows/extra/Gem/part_color-help.pd b/packages/noncvs/windows/extra/Gem/part_color-help.pd
index d2481a32..4e9d503b 100644
--- a/packages/noncvs/windows/extra/Gem/part_color-help.pd
+++ b/packages/noncvs/windows/extra/Gem/part_color-help.pd
@@ -1,55 +1,55 @@
-#N canvas -64 430 759 378 10;
-#X obj 525 177 part_color;
-#X text 98 142 sets the color(s) of a particle-system. You can set
-2 different colors \, particles will have either the one or the other.
-;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X obj 287 94 loadbang;
-#X msg 294 121 reset \, lighting 0;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X connect 8 0 9 0;
-#X connect 9 0 0 0;
-#X restore 546 309 pd gemwin;
-#X msg 546 290 create;
-#X text 544 269 Create window:;
-#X text 31 14 Synopsis: [part_color];
-#X text 38 68 Inlet 2: R1 G1 B1;
-#X text 51 97 Class: Particle System;
-#X text 7 123 Description: Defines color of particles;
-#X text 434 16 Example:;
-#X obj 525 81 part_source;
-#X obj 525 208 part_draw;
-#X obj 525 36 gemhead;
-#X msg 634 115 0 0 1;
-#X msg 634 140 1 0 0;
-#X obj 525 57 part_head;
-#X obj 525 119 part_killold 5;
-#X text 38 41 inlet 1: gemlist (with part_head);
-#X obj 524 17 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X connect 0 0 11 0;
-#X connect 2 0 3 0;
-#X connect 3 0 2 0;
-#X connect 10 0 16 0;
-#X connect 12 0 15 0;
-#X connect 13 0 0 1;
-#X connect 14 0 0 2;
-#X connect 15 0 10 0;
-#X connect 16 0 0 0;
-#X connect 18 0 12 0;
+#N canvas -64 430 759 378 10;
+#X obj 525 177 part_color;
+#X text 98 142 sets the color(s) of a particle-system. You can set
+2 different colors \, particles will have either the one or the other.
+;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X obj 287 94 loadbang;
+#X msg 294 121 reset \, lighting 0;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 9 0;
+#X connect 9 0 0 0;
+#X restore 546 309 pd gemwin;
+#X msg 546 290 create;
+#X text 544 269 Create window:;
+#X text 31 14 Synopsis: [part_color];
+#X text 38 68 Inlet 2: R1 G1 B1;
+#X text 51 97 Class: Particle System;
+#X text 7 123 Description: Defines color of particles;
+#X text 434 16 Example:;
+#X obj 525 81 part_source;
+#X obj 525 208 part_draw;
+#X obj 525 36 gemhead;
+#X msg 634 115 0 0 1;
+#X msg 634 140 1 0 0;
+#X obj 525 57 part_head;
+#X obj 525 119 part_killold 5;
+#X text 38 41 inlet 1: gemlist (with part_head);
+#X obj 524 17 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X connect 0 0 11 0;
+#X connect 2 0 3 0;
+#X connect 3 0 2 0;
+#X connect 10 0 16 0;
+#X connect 12 0 15 0;
+#X connect 13 0 0 1;
+#X connect 14 0 0 2;
+#X connect 15 0 10 0;
+#X connect 16 0 0 0;
+#X connect 18 0 12 0;
diff --git a/packages/noncvs/windows/extra/Gem/part_damp-help.pd b/packages/noncvs/windows/extra/Gem/part_damp-help.pd
index d8ca1264..863ff616 100644
--- a/packages/noncvs/windows/extra/Gem/part_damp-help.pd
+++ b/packages/noncvs/windows/extra/Gem/part_damp-help.pd
@@ -1,53 +1,53 @@
-#N canvas -48 0 754 404 10;
-#X text 540 156 This is the damping vector;
-#X text 541 176 To slow particles down;
-#X text 99 206 keep all of the values less than one;
-#X text 51 97 Class: Particle System;
-#X text 38 41 inlet 1: gemlist (with part_head);
-#X text 31 14 Synopsis: [part_damp];
-#X text 38 68 Inlet 2: V1 V2 V3;
-#X text 7 123 Description: Change velocity of Particles;
-#X text 99 144 part_damp dampens the velocity of the particles. A damping
-vector less than 1 \, 1 \, 1 will slow the particles done. A damping
-vector greater than 1 \, 1 \, 1 will speed up the particles.;
-#X obj 521 30 gemhead;
-#X obj 521 51 part_head;
-#X obj 521 113 part_killold 5;
-#X obj 521 267 part_draw;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 521 356 pd gemwin;
-#X msg 521 337 create;
-#X text 519 316 Create window:;
-#X floatatom 663 192 5 0 0 0 - - -;
-#X msg 663 211 \$1 1 1;
-#X obj 521 10 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
-;
-#X obj 521 80 part_source 5;
-#X obj 521 237 part_damp 0.1 0.1 0.1;
-#X connect 9 0 10 0;
-#X connect 10 0 19 0;
-#X connect 11 0 20 0;
-#X connect 13 0 14 0;
-#X connect 14 0 13 0;
-#X connect 16 0 17 0;
-#X connect 17 0 20 1;
-#X connect 18 0 9 0;
-#X connect 19 0 11 0;
-#X connect 20 0 12 0;
+#N canvas -48 0 754 404 10;
+#X text 540 156 This is the damping vector;
+#X text 541 176 To slow particles down;
+#X text 99 206 keep all of the values less than one;
+#X text 51 97 Class: Particle System;
+#X text 38 41 inlet 1: gemlist (with part_head);
+#X text 31 14 Synopsis: [part_damp];
+#X text 38 68 Inlet 2: V1 V2 V3;
+#X text 7 123 Description: Change velocity of Particles;
+#X text 99 144 part_damp dampens the velocity of the particles. A damping
+vector less than 1 \, 1 \, 1 will slow the particles done. A damping
+vector greater than 1 \, 1 \, 1 will speed up the particles.;
+#X obj 521 30 gemhead;
+#X obj 521 51 part_head;
+#X obj 521 113 part_killold 5;
+#X obj 521 267 part_draw;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 521 356 pd gemwin;
+#X msg 521 337 create;
+#X text 519 316 Create window:;
+#X floatatom 663 192 5 0 0 0 - - -;
+#X msg 663 211 \$1 1 1;
+#X obj 521 10 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
+;
+#X obj 521 80 part_source 5;
+#X obj 521 237 part_damp 0.1 0.1 0.1;
+#X connect 9 0 10 0;
+#X connect 10 0 19 0;
+#X connect 11 0 20 0;
+#X connect 13 0 14 0;
+#X connect 14 0 13 0;
+#X connect 16 0 17 0;
+#X connect 17 0 20 1;
+#X connect 18 0 9 0;
+#X connect 19 0 11 0;
+#X connect 20 0 12 0;
diff --git a/packages/noncvs/windows/extra/Gem/part_draw-help.pd b/packages/noncvs/windows/extra/Gem/part_draw-help.pd
index 5fcc582a..066210a7 100644
--- a/packages/noncvs/windows/extra/Gem/part_draw-help.pd
+++ b/packages/noncvs/windows/extra/Gem/part_draw-help.pd
@@ -1,54 +1,54 @@
-#N canvas 539 315 813 403 10;
-#X msg 631 212 draw point;
-#X text 536 159 This is the drawing mode: line/point;
-#X text 98 109 [part_draw] finally draws a particle system that was
-set up with [part_head] and other [part_]-objects.;
-#X text 51 65 Class: Particle System;
-#X text 10 90 Description: Draw a particle system;
-#X text 26 175 See also:;
-#X obj 99 176 part_render;
-#X obj 521 30 gemhead;
-#X obj 521 51 part_head;
-#X obj 521 105 part_killold 5;
-#X obj 521 78 part_source;
-#X obj 521 267 part_draw;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 521 356 pd gemwin;
-#X msg 521 337 create;
-#X text 519 316 Create window:;
-#X obj 521 10 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X msg 629 184 draw line;
-#X msg 634 241 draw \$1;
-#X floatatom 712 227 5 0 0 0 - - -;
-#X text 38 41 inlet 1: gemlist (with part_head) \, draw [line|point|<nr>]
-;
-#X text 31 14 Synopsis: [part_draw];
-#X connect 0 0 11 0;
-#X connect 7 0 8 0;
-#X connect 8 0 10 0;
-#X connect 9 0 11 0;
-#X connect 10 0 9 0;
-#X connect 12 0 13 0;
-#X connect 13 0 12 0;
-#X connect 15 0 7 0;
-#X connect 16 0 11 0;
-#X connect 17 0 11 0;
-#X connect 18 0 17 0;
+#N canvas 539 315 813 403 10;
+#X msg 631 212 draw point;
+#X text 536 159 This is the drawing mode: line/point;
+#X text 98 109 [part_draw] finally draws a particle system that was
+set up with [part_head] and other [part_]-objects.;
+#X text 51 65 Class: Particle System;
+#X text 10 90 Description: Draw a particle system;
+#X text 26 175 See also:;
+#X obj 99 176 part_render;
+#X obj 521 30 gemhead;
+#X obj 521 51 part_head;
+#X obj 521 105 part_killold 5;
+#X obj 521 78 part_source;
+#X obj 521 267 part_draw;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 521 356 pd gemwin;
+#X msg 521 337 create;
+#X text 519 316 Create window:;
+#X obj 521 10 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X msg 629 184 draw line;
+#X msg 634 241 draw \$1;
+#X floatatom 712 227 5 0 0 0 - - -;
+#X text 38 41 inlet 1: gemlist (with part_head) \, draw [line|point|<nr>]
+;
+#X text 31 14 Synopsis: [part_draw];
+#X connect 0 0 11 0;
+#X connect 7 0 8 0;
+#X connect 8 0 10 0;
+#X connect 9 0 11 0;
+#X connect 10 0 9 0;
+#X connect 12 0 13 0;
+#X connect 13 0 12 0;
+#X connect 15 0 7 0;
+#X connect 16 0 11 0;
+#X connect 17 0 11 0;
+#X connect 18 0 17 0;
diff --git a/packages/noncvs/windows/extra/Gem/part_follow-help.pd b/packages/noncvs/windows/extra/Gem/part_follow-help.pd
index 312c468b..ed2e1d8c 100644
--- a/packages/noncvs/windows/extra/Gem/part_follow-help.pd
+++ b/packages/noncvs/windows/extra/Gem/part_follow-help.pd
@@ -1,49 +1,49 @@
-#N canvas 22 325 802 373 10;
-#X text 583 138 particle acceleration;
-#X text 97 112 [part_follow] lets the particles follow each other.
-;
-#X text 51 65 Class: Particle System;
-#X text 38 41 inlet 1: gemlist (with part_head) \, draw [line|point|<nr>]
-;
-#X text 34 15 Synopsis: [part_follow];
-#X text 10 90 Description: Particle follow each other;
-#X obj 521 30 gemhead;
-#X obj 521 10 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 523 326 pd gemwin;
-#X msg 523 307 create;
-#X text 521 286 Create window:;
-#X floatatom 635 166 5 0 0 0 - - -;
-#X text 57 214 TODO: how does this work .. example !!!;
-#X obj 521 103 part_killold 5;
-#X obj 521 187 part_follow 0.001;
-#X obj 521 75 part_source 5;
-#X obj 521 51 part_head;
-#X obj 521 243 part_draw;
-#X connect 6 0 16 0;
-#X connect 7 0 6 0;
-#X connect 8 0 9 0;
-#X connect 9 0 8 0;
-#X connect 11 0 14 1;
-#X connect 13 0 14 0;
-#X connect 14 0 17 0;
-#X connect 15 0 13 0;
-#X connect 16 0 15 0;
+#N canvas 22 325 802 373 10;
+#X text 583 138 particle acceleration;
+#X text 97 112 [part_follow] lets the particles follow each other.
+;
+#X text 51 65 Class: Particle System;
+#X text 38 41 inlet 1: gemlist (with part_head) \, draw [line|point|<nr>]
+;
+#X text 34 15 Synopsis: [part_follow];
+#X text 10 90 Description: Particle follow each other;
+#X obj 521 30 gemhead;
+#X obj 521 10 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 523 326 pd gemwin;
+#X msg 523 307 create;
+#X text 521 286 Create window:;
+#X floatatom 635 166 5 0 0 0 - - -;
+#X text 57 214 TODO: how does this work .. example !!!;
+#X obj 521 103 part_killold 5;
+#X obj 521 187 part_follow 0.001;
+#X obj 521 75 part_source 5;
+#X obj 521 51 part_head;
+#X obj 521 243 part_draw;
+#X connect 6 0 16 0;
+#X connect 7 0 6 0;
+#X connect 8 0 9 0;
+#X connect 9 0 8 0;
+#X connect 11 0 14 1;
+#X connect 13 0 14 0;
+#X connect 14 0 17 0;
+#X connect 15 0 13 0;
+#X connect 16 0 15 0;
diff --git a/packages/noncvs/windows/extra/Gem/part_gravity-help.pd b/packages/noncvs/windows/extra/Gem/part_gravity-help.pd
index 188ab092..bc3fbac3 100644
--- a/packages/noncvs/windows/extra/Gem/part_gravity-help.pd
+++ b/packages/noncvs/windows/extra/Gem/part_gravity-help.pd
@@ -1,12 +1,12 @@
-#N canvas 23 236 644 359 10;
-#X msg 139 109 gemList;
-#X text 176 62 GEM object;
-#X msg 242 151 x y z;
-#X obj 139 207 part_gravity;
-#X text 186 26 [part_gravity];
-#X text 327 152 This is gravitation vector;
-#X text 43 257 [part_gravity] sets the gravity-vector of the particle-system.
-No matter in which direction particles are emitted (pE. via [part_velsphere])
-in the end \, they have to follow the gravity.;
-#X connect 0 0 3 0;
-#X connect 2 0 3 1;
+#N canvas 23 236 644 359 10;
+#X msg 139 109 gemList;
+#X text 176 62 GEM object;
+#X msg 242 151 x y z;
+#X obj 139 207 part_gravity;
+#X text 186 26 [part_gravity];
+#X text 327 152 This is gravitation vector;
+#X text 43 257 [part_gravity] sets the gravity-vector of the particle-system.
+No matter in which direction particles are emitted (pE. via [part_velsphere])
+in the end \, they have to follow the gravity.;
+#X connect 0 0 3 0;
+#X connect 2 0 3 1;
diff --git a/packages/noncvs/windows/extra/Gem/part_head-help.pd b/packages/noncvs/windows/extra/Gem/part_head-help.pd
index a2290f23..97759d38 100644
--- a/packages/noncvs/windows/extra/Gem/part_head-help.pd
+++ b/packages/noncvs/windows/extra/Gem/part_head-help.pd
@@ -1,22 +1,22 @@
-#N canvas 174 110 664 498 10;
-#X msg 180 101 gemList;
-#X text 176 62 GEM object;
-#X msg 180 195 gemList;
-#X obj 180 152 part_head;
-#X text 260 196 partList;
-#X text 184 25 [part_head];
-#X msg 289 106 speed <speed>;
-#X text 45 242 starts a particle-system. The particle-list normally
-holds a number of [part_source]s (particle-generators) [part_]-modifiers
-and ends with a particle-renderer such as [part_draw];
-#X text 45 325 you can set the speed of the particle-emission with
-the speed-message.;
-#X obj 493 168 part_head 10;
-#X text 44 380 [part_head] takes the number of particles that can exist
-in one instance of time as a creation-argument. (default=1000);
-#X text 53 424 if your particles do not die (e.g.: because the are
-killed wiht [part_killold]) \, your particle source will stop emitting
-particles after some time.;
-#X connect 0 0 3 0;
-#X connect 3 0 2 0;
-#X connect 6 0 3 0;
+#N canvas 174 110 664 498 10;
+#X msg 180 101 gemList;
+#X text 176 62 GEM object;
+#X msg 180 195 gemList;
+#X obj 180 152 part_head;
+#X text 260 196 partList;
+#X text 184 25 [part_head];
+#X msg 289 106 speed <speed>;
+#X text 45 242 starts a particle-system. The particle-list normally
+holds a number of [part_source]s (particle-generators) [part_]-modifiers
+and ends with a particle-renderer such as [part_draw];
+#X text 45 325 you can set the speed of the particle-emission with
+the speed-message.;
+#X obj 493 168 part_head 10;
+#X text 44 380 [part_head] takes the number of particles that can exist
+in one instance of time as a creation-argument. (default=1000);
+#X text 53 424 if your particles do not die (e.g.: because the are
+killed wiht [part_killold]) \, your particle source will stop emitting
+particles after some time.;
+#X connect 0 0 3 0;
+#X connect 3 0 2 0;
+#X connect 6 0 3 0;
diff --git a/packages/noncvs/windows/extra/Gem/part_info-help.pd b/packages/noncvs/windows/extra/Gem/part_info-help.pd
index 8b79a5f2..52c239af 100644
--- a/packages/noncvs/windows/extra/Gem/part_info-help.pd
+++ b/packages/noncvs/windows/extra/Gem/part_info-help.pd
@@ -1,25 +1,25 @@
-#N canvas 162 181 644 454 10;
-#X msg 139 99 gemList;
-#X text 176 62 GEM object;
-#X msg 139 294 gemList;
-#X text 186 26 [part_render];
-#X obj 139 130 part_info;
-#X msg 164 251 x y z;
-#X msg 202 184 sizeX sizeY sizeZ;
-#X msg 177 230 red green blue alpha;
-#X msg 189 208 velX velY velZ;
-#X msg 215 160 age;
-#X text 35 320 [part_info] gives you all available information of all
-the particles in the system draws a particle system set up with [part_head]
-and other [part_]-objects.;
-#X msg 151 272 ID;
-#X text 36 379 If your system contains 15 particles \, then you will
-get the information on the outlets 15 times per rendering circle.;
-#X connect 0 0 4 0;
-#X connect 4 0 2 0;
-#X connect 4 1 11 0;
-#X connect 4 2 5 0;
-#X connect 4 3 7 0;
-#X connect 4 4 8 0;
-#X connect 4 5 6 0;
-#X connect 4 6 9 0;
+#N canvas 162 181 644 454 10;
+#X msg 139 99 gemList;
+#X text 176 62 GEM object;
+#X msg 139 294 gemList;
+#X text 186 26 [part_render];
+#X obj 139 130 part_info;
+#X msg 164 251 x y z;
+#X msg 202 184 sizeX sizeY sizeZ;
+#X msg 177 230 red green blue alpha;
+#X msg 189 208 velX velY velZ;
+#X msg 215 160 age;
+#X text 35 320 [part_info] gives you all available information of all
+the particles in the system draws a particle system set up with [part_head]
+and other [part_]-objects.;
+#X msg 151 272 ID;
+#X text 36 379 If your system contains 15 particles \, then you will
+get the information on the outlets 15 times per rendering circle.;
+#X connect 0 0 4 0;
+#X connect 4 0 2 0;
+#X connect 4 1 11 0;
+#X connect 4 2 5 0;
+#X connect 4 3 7 0;
+#X connect 4 4 8 0;
+#X connect 4 5 6 0;
+#X connect 4 6 9 0;
diff --git a/packages/noncvs/windows/extra/Gem/part_killold-help.pd b/packages/noncvs/windows/extra/Gem/part_killold-help.pd
index ada3bc9f..11282b79 100644
--- a/packages/noncvs/windows/extra/Gem/part_killold-help.pd
+++ b/packages/noncvs/windows/extra/Gem/part_killold-help.pd
@@ -1,13 +1,13 @@
-#N canvas 309 237 664 366 10;
-#X msg 199 131 gemList;
-#X text 176 62 GEM object;
-#X obj 199 182 part_killold;
-#X msg 302 147 time;
-#X text 184 25 [part_killold];
-#X msg 199 225 gemList;
-#X text 91 291 kill all particles which are older than the kill time.
-The default time is 10 Make the number longer for particles to live
-longer and shorter to remove them quicker.;
-#X connect 0 0 2 0;
-#X connect 2 0 5 0;
-#X connect 3 0 2 1;
+#N canvas 309 237 664 366 10;
+#X msg 199 131 gemList;
+#X text 176 62 GEM object;
+#X obj 199 182 part_killold;
+#X msg 302 147 time;
+#X text 184 25 [part_killold];
+#X msg 199 225 gemList;
+#X text 91 291 kill all particles which are older than the kill time.
+The default time is 10 Make the number longer for particles to live
+longer and shorter to remove them quicker.;
+#X connect 0 0 2 0;
+#X connect 2 0 5 0;
+#X connect 3 0 2 1;
diff --git a/packages/noncvs/windows/extra/Gem/part_killslow-help.pd b/packages/noncvs/windows/extra/Gem/part_killslow-help.pd
index 01dcbeb7..fea52a3e 100644
--- a/packages/noncvs/windows/extra/Gem/part_killslow-help.pd
+++ b/packages/noncvs/windows/extra/Gem/part_killslow-help.pd
@@ -1,10 +1,10 @@
-#N canvas 853 285 600 500 10;
-#X msg 199 131 gemList;
-#X text 176 62 GEM object;
-#X obj 199 229 part_killslow;
-#X text 186 27 part_killslow;
-#X msg 285 182 speed;
-#X text 90 291 kill all particles which are slower than the kill speed.
-The default speed is 0.01;
-#X connect 0 0 2 0;
-#X connect 4 0 2 1;
+#N canvas 853 285 600 500 10;
+#X msg 199 131 gemList;
+#X text 176 62 GEM object;
+#X obj 199 229 part_killslow;
+#X text 186 27 part_killslow;
+#X msg 285 182 speed;
+#X text 90 291 kill all particles which are slower than the kill speed.
+The default speed is 0.01;
+#X connect 0 0 2 0;
+#X connect 4 0 2 1;
diff --git a/packages/noncvs/windows/extra/Gem/part_orbitpoint-help.pd b/packages/noncvs/windows/extra/Gem/part_orbitpoint-help.pd
index c4bfe7ba..9849bfc1 100644
--- a/packages/noncvs/windows/extra/Gem/part_orbitpoint-help.pd
+++ b/packages/noncvs/windows/extra/Gem/part_orbitpoint-help.pd
@@ -1,13 +1,13 @@
-#N canvas 214 154 600 327 10;
-#X msg 110 93 gemList;
-#X text 121 50 GEM object;
-#X obj 110 190 part_orbitpoint;
-#X msg 175 150 x y z;
-#X msg 240 150 gravity;
-#X text 131 16 [part_orbitpoint];
-#X text 65 253 [part_orbitpoint] will make the particles orbit about
-the position x \, y \, z. The gravity is how attracted the particles
-are to the point. The default gravity is 1;
-#X connect 0 0 2 0;
-#X connect 3 0 2 1;
-#X connect 4 0 2 2;
+#N canvas 214 154 600 327 10;
+#X msg 110 93 gemList;
+#X text 121 50 GEM object;
+#X obj 110 190 part_orbitpoint;
+#X msg 175 150 x y z;
+#X msg 240 150 gravity;
+#X text 131 16 [part_orbitpoint];
+#X text 65 253 [part_orbitpoint] will make the particles orbit about
+the position x \, y \, z. The gravity is how attracted the particles
+are to the point. The default gravity is 1;
+#X connect 0 0 2 0;
+#X connect 3 0 2 1;
+#X connect 4 0 2 2;
diff --git a/packages/noncvs/windows/extra/Gem/part_render-help.pd b/packages/noncvs/windows/extra/Gem/part_render-help.pd
index 1cc53cfb..13c836ac 100644
--- a/packages/noncvs/windows/extra/Gem/part_render-help.pd
+++ b/packages/noncvs/windows/extra/Gem/part_render-help.pd
@@ -1,19 +1,19 @@
-#N canvas 162 181 644 454 10;
-#X msg 139 99 gemList;
-#X text 176 62 GEM object;
-#X obj 139 207 part_render;
-#X msg 139 244 gemList;
-#X text 186 26 [part_render];
-#X msg 169 134 colorize 1/0;
-#X msg 170 160 size 1/0;
-#X text 43 296 [part_render] finally draws a particle system that was
-set up with [part_head] and other [part_]-objects. The particles are
-normal gemLists (for instance a [sphere]);
-#X text 39 361 you can turn on/off colouring of paticles (via [part_color])
-;
-#X text 39 381 you can turn on/off sizing of paticles (via [part_size])
-;
-#X connect 0 0 2 0;
-#X connect 2 0 3 0;
-#X connect 5 0 2 0;
-#X connect 6 0 2 0;
+#N canvas 162 181 644 454 10;
+#X msg 139 99 gemList;
+#X text 176 62 GEM object;
+#X obj 139 207 part_render;
+#X msg 139 244 gemList;
+#X text 186 26 [part_render];
+#X msg 169 134 colorize 1/0;
+#X msg 170 160 size 1/0;
+#X text 43 296 [part_render] finally draws a particle system that was
+set up with [part_head] and other [part_]-objects. The particles are
+normal gemLists (for instance a [sphere]);
+#X text 39 361 you can turn on/off colouring of paticles (via [part_color])
+;
+#X text 39 381 you can turn on/off sizing of paticles (via [part_size])
+;
+#X connect 0 0 2 0;
+#X connect 2 0 3 0;
+#X connect 5 0 2 0;
+#X connect 6 0 2 0;
diff --git a/packages/noncvs/windows/extra/Gem/part_sink-help.pd b/packages/noncvs/windows/extra/Gem/part_sink-help.pd
index 4e18f069..f0121727 100644
--- a/packages/noncvs/windows/extra/Gem/part_sink-help.pd
+++ b/packages/noncvs/windows/extra/Gem/part_sink-help.pd
@@ -1,29 +1,29 @@
-#N canvas 142 0 627 488 10;
-#X msg 110 73 gemList;
-#X text 121 50 GEM object;
-#X msg 110 219 gemList;
-#X text 181 74 partList;
-#X text 180 222 partList;
-#X msg 166 132 domain;
-#X text 48 337 <domain>: one of "point" \, "line" \, "triangle" \,
-"plane" \, "box" \, "sphere" \, "cylinder" \, "cone" \, "blob" \, "disc"
-\, "rectangle";
-#X msg 222 164 <arguments>;
-#X text 49 401 <arguments>: up to 9 floats \, defining the specified
-domain (like "x y z" for "point" \, "x1 y1 z1 x2 y2 z2" for "line"
-\, "x y z r" for "sphere" \, ...). The meaning of the arguments depends
--of course- on the domain.;
-#X obj 110 190 part_sink;
-#X msg 169 101 kill 1/0;
-#X text 132 16 [part_sink];
-#X text 53 245 [part_sink] sets up a sink for the particles within
-the system \, where they will vanish. You can set the sink-domain (shape)
-and the corresponding arguments.;
-#X obj 269 199 part_sink <domain> [<arguments>...];
-#X text 56 297 you can turn on/off the killing of particles (default==off)
-;
-#X connect 0 0 9 0;
-#X connect 5 0 9 1;
-#X connect 7 0 9 2;
-#X connect 9 0 2 0;
-#X connect 10 0 9 0;
+#N canvas 142 0 627 488 10;
+#X msg 110 73 gemList;
+#X text 121 50 GEM object;
+#X msg 110 219 gemList;
+#X text 181 74 partList;
+#X text 180 222 partList;
+#X msg 166 132 domain;
+#X text 48 337 <domain>: one of "point" \, "line" \, "triangle" \,
+"plane" \, "box" \, "sphere" \, "cylinder" \, "cone" \, "blob" \, "disc"
+\, "rectangle";
+#X msg 222 164 <arguments>;
+#X text 49 401 <arguments>: up to 9 floats \, defining the specified
+domain (like "x y z" for "point" \, "x1 y1 z1 x2 y2 z2" for "line"
+\, "x y z r" for "sphere" \, ...). The meaning of the arguments depends
+-of course- on the domain.;
+#X obj 110 190 part_sink;
+#X msg 169 101 kill 1/0;
+#X text 132 16 [part_sink];
+#X text 53 245 [part_sink] sets up a sink for the particles within
+the system \, where they will vanish. You can set the sink-domain (shape)
+and the corresponding arguments.;
+#X obj 269 199 part_sink <domain> [<arguments>...];
+#X text 56 297 you can turn on/off the killing of particles (default==off)
+;
+#X connect 0 0 9 0;
+#X connect 5 0 9 1;
+#X connect 7 0 9 2;
+#X connect 9 0 2 0;
+#X connect 10 0 9 0;
diff --git a/packages/noncvs/windows/extra/Gem/part_size-help.pd b/packages/noncvs/windows/extra/Gem/part_size-help.pd
index 741d9984..af8aa83e 100644
--- a/packages/noncvs/windows/extra/Gem/part_size-help.pd
+++ b/packages/noncvs/windows/extra/Gem/part_size-help.pd
@@ -1,16 +1,16 @@
-#N canvas 309 237 664 366 10;
-#X msg 180 86 gemList;
-#X text 176 62 GEM object;
-#X msg 180 195 gemList;
-#X text 260 196 partList;
-#X obj 180 152 part_size;
-#X msg 256 128 size;
-#X text 254 89 partList;
-#X text 184 25 [part_size];
-#X obj 466 148 part_size 2;
-#X text 52 254 change the size of the particles of a particle-system.
-You can also give an initial value.;
-#X text 52 295 the particle-size defaults to 1.0f;
-#X connect 0 0 4 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 1;
+#N canvas 309 237 664 366 10;
+#X msg 180 86 gemList;
+#X text 176 62 GEM object;
+#X msg 180 195 gemList;
+#X text 260 196 partList;
+#X obj 180 152 part_size;
+#X msg 256 128 size;
+#X text 254 89 partList;
+#X text 184 25 [part_size];
+#X obj 466 148 part_size 2;
+#X text 52 254 change the size of the particles of a particle-system.
+You can also give an initial value.;
+#X text 52 295 the particle-size defaults to 1.0f;
+#X connect 0 0 4 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 1;
diff --git a/packages/noncvs/windows/extra/Gem/part_source-help.pd b/packages/noncvs/windows/extra/Gem/part_source-help.pd
index 1f3bc7e6..0c1a27d1 100644
--- a/packages/noncvs/windows/extra/Gem/part_source-help.pd
+++ b/packages/noncvs/windows/extra/Gem/part_source-help.pd
@@ -1,28 +1,28 @@
-#N canvas 203 0 664 575 10;
-#X msg 180 86 gemList;
-#X text 176 62 GEM object;
-#X msg 180 195 gemList;
-#X text 260 196 partList;
-#X text 254 89 partList;
-#X obj 180 152 part_source;
-#X text 184 25 [part_source];
-#X text 51 252 add a particle-source. You will need this if you want
-any particles in your particle-system.;
-#X text 53 290 The initial argument (that can be changed) gives the
-number of particles that are emitted at each rendering-frame;
-#X msg 340 82 number_of_particles_per_frame;
-#X msg 340 107 domain;
-#X msg 340 132 <arguments>;
-#X obj 489 191 part_source 20;
-#X text 48 337 <domain>: one of "point" \, "line" \, "triangle" \,
-"plane" \, "box" \, "sphere" \, "cylinder" \, "cone" \, "blob" \, "disc"
-\, "rectangle";
-#X text 49 401 <arguments>: up to 9 floats \, defining the specified
-domain (like "x y z" for "point" \, "x1 y1 z1 x2 y2 z2" for "line"
-\, "x y z r" for "sphere" \, ...). The meaning of the arguments depends
--of course- on the domain.;
-#X connect 0 0 5 0;
-#X connect 5 0 2 0;
-#X connect 9 0 5 1;
-#X connect 10 0 5 2;
-#X connect 11 0 5 3;
+#N canvas 203 0 664 575 10;
+#X msg 180 86 gemList;
+#X text 176 62 GEM object;
+#X msg 180 195 gemList;
+#X text 260 196 partList;
+#X text 254 89 partList;
+#X obj 180 152 part_source;
+#X text 184 25 [part_source];
+#X text 51 252 add a particle-source. You will need this if you want
+any particles in your particle-system.;
+#X text 53 290 The initial argument (that can be changed) gives the
+number of particles that are emitted at each rendering-frame;
+#X msg 340 82 number_of_particles_per_frame;
+#X msg 340 107 domain;
+#X msg 340 132 <arguments>;
+#X obj 489 191 part_source 20;
+#X text 48 337 <domain>: one of "point" \, "line" \, "triangle" \,
+"plane" \, "box" \, "sphere" \, "cylinder" \, "cone" \, "blob" \, "disc"
+\, "rectangle";
+#X text 49 401 <arguments>: up to 9 floats \, defining the specified
+domain (like "x y z" for "point" \, "x1 y1 z1 x2 y2 z2" for "line"
+\, "x y z r" for "sphere" \, ...). The meaning of the arguments depends
+-of course- on the domain.;
+#X connect 0 0 5 0;
+#X connect 5 0 2 0;
+#X connect 9 0 5 1;
+#X connect 10 0 5 2;
+#X connect 11 0 5 3;
diff --git a/packages/noncvs/windows/extra/Gem/part_targetcolor-help.pd b/packages/noncvs/windows/extra/Gem/part_targetcolor-help.pd
index d6c1b43b..d8040e66 100644
--- a/packages/noncvs/windows/extra/Gem/part_targetcolor-help.pd
+++ b/packages/noncvs/windows/extra/Gem/part_targetcolor-help.pd
@@ -1,13 +1,13 @@
-#N canvas 853 285 600 500 10;
-#X msg 199 131 gemList;
-#X text 176 62 GEM object;
-#X text 185 27 part_targetcolor;
-#X obj 199 224 part_targetcolor;
-#X msg 252 156 R G B A;
-#X msg 306 185 scale;
-#X text 89 291 part_targetcolor changes the color of the particles
-by a scale factor every frame. The target color can be an RGB or RGBA
-vector. The scale value defaults to 0.05;
-#X connect 0 0 3 0;
-#X connect 4 0 3 1;
-#X connect 5 0 3 2;
+#N canvas 853 285 600 500 10;
+#X msg 199 131 gemList;
+#X text 176 62 GEM object;
+#X text 185 27 part_targetcolor;
+#X obj 199 224 part_targetcolor;
+#X msg 252 156 R G B A;
+#X msg 306 185 scale;
+#X text 89 291 part_targetcolor changes the color of the particles
+by a scale factor every frame. The target color can be an RGB or RGBA
+vector. The scale value defaults to 0.05;
+#X connect 0 0 3 0;
+#X connect 4 0 3 1;
+#X connect 5 0 3 2;
diff --git a/packages/noncvs/windows/extra/Gem/part_targetsize-help.pd b/packages/noncvs/windows/extra/Gem/part_targetsize-help.pd
index d4ea201b..c6b6e67e 100644
--- a/packages/noncvs/windows/extra/Gem/part_targetsize-help.pd
+++ b/packages/noncvs/windows/extra/Gem/part_targetsize-help.pd
@@ -1,14 +1,14 @@
-#N canvas 853 285 600 500 10;
-#X msg 199 131 gemList;
-#X text 176 62 GEM object;
-#X msg 299 178 scale;
-#X text 185 27 part_targetsize;
-#X obj 199 225 part_targetsize;
-#X msg 249 175 size;
-#X text 91 336 part_targetsize changes the size of the particles by
-a scale factor every frame. The default size is 1 The scale value defaults
-to 0.05;
-#X obj 198 277 part_targetsize 3 0.01;
-#X connect 0 0 4 0;
-#X connect 2 0 4 2;
-#X connect 5 0 4 1;
+#N canvas 853 285 600 500 10;
+#X msg 199 131 gemList;
+#X text 176 62 GEM object;
+#X msg 299 178 scale;
+#X text 185 27 part_targetsize;
+#X obj 199 225 part_targetsize;
+#X msg 249 175 size;
+#X text 91 336 part_targetsize changes the size of the particles by
+a scale factor every frame. The default size is 1 The scale value defaults
+to 0.05;
+#X obj 198 277 part_targetsize 3 0.01;
+#X connect 0 0 4 0;
+#X connect 2 0 4 2;
+#X connect 5 0 4 1;
diff --git a/packages/noncvs/windows/extra/Gem/part_velcone-help.pd b/packages/noncvs/windows/extra/Gem/part_velcone-help.pd
index 4243ce38..cdf1a081 100644
--- a/packages/noncvs/windows/extra/Gem/part_velcone-help.pd
+++ b/packages/noncvs/windows/extra/Gem/part_velcone-help.pd
@@ -1,21 +1,21 @@
-#N canvas 109 126 635 466 10;
-#X msg 110 93 gemList;
-#X text 121 50 GEM object;
-#X msg 170 151 x y z;
-#X msg 110 219 gemList;
-#X text 181 94 partList;
-#X text 180 222 partList;
-#X text 41 361 this is obsolete \, use;
-#X text 131 16 [part_velcone];
-#X obj 110 190 part_velcone;
-#X msg 231 152 height;
-#X text 65 253 [part_velcone] sets a cone with a specified height and
-midpoint to be the velocity-domain of newly emitted particles within
-the system.;
-#X msg 465 326 x y z height;
-#X obj 239 360 part_velocity cone <x> <z> <z> <height>;
-#X connect 0 0 8 0;
-#X connect 2 0 8 1;
-#X connect 8 0 3 0;
-#X connect 9 0 8 2;
-#X connect 11 0 12 2;
+#N canvas 109 126 635 466 10;
+#X msg 110 93 gemList;
+#X text 121 50 GEM object;
+#X msg 170 151 x y z;
+#X msg 110 219 gemList;
+#X text 181 94 partList;
+#X text 180 222 partList;
+#X text 41 361 this is obsolete \, use;
+#X text 131 16 [part_velcone];
+#X obj 110 190 part_velcone;
+#X msg 231 152 height;
+#X text 65 253 [part_velcone] sets a cone with a specified height and
+midpoint to be the velocity-domain of newly emitted particles within
+the system.;
+#X msg 465 326 x y z height;
+#X obj 239 360 part_velocity cone <x> <z> <z> <height>;
+#X connect 0 0 8 0;
+#X connect 2 0 8 1;
+#X connect 8 0 3 0;
+#X connect 9 0 8 2;
+#X connect 11 0 12 2;
diff --git a/packages/noncvs/windows/extra/Gem/part_velocity-help.pd b/packages/noncvs/windows/extra/Gem/part_velocity-help.pd
index e7d61201..94511929 100644
--- a/packages/noncvs/windows/extra/Gem/part_velocity-help.pd
+++ b/packages/noncvs/windows/extra/Gem/part_velocity-help.pd
@@ -1,24 +1,24 @@
-#N canvas 142 -38 627 488 10;
-#X msg 110 93 gemList;
-#X text 121 50 GEM object;
-#X msg 110 219 gemList;
-#X text 181 94 partList;
-#X text 180 222 partList;
-#X obj 110 190 part_velocity;
-#X text 132 16 [part_velocity];
-#X msg 166 132 domain;
-#X text 65 253 [part_velocity] sets velocity of newly emitted particles
-within the system. You can set the velocity-domain and the corresponding
-arguments.;
-#X text 48 337 <domain>: one of "point" \, "line" \, "triangle" \,
-"plane" \, "box" \, "sphere" \, "cylinder" \, "cone" \, "blob" \, "disc"
-\, "rectangle";
-#X msg 222 164 <arguments>;
-#X text 49 401 <arguments>: up to 9 floats \, defining the specified
-domain (like "x y z" for "point" \, "x1 y1 z1 x2 y2 z2" for "line"
-\, "x y z r" for "sphere" \, ...). The meaning of the arguments depends
--of course- on the domain.;
-#X connect 0 0 5 0;
-#X connect 5 0 2 0;
-#X connect 7 0 5 1;
-#X connect 10 0 5 2;
+#N canvas 142 -38 627 488 10;
+#X msg 110 93 gemList;
+#X text 121 50 GEM object;
+#X msg 110 219 gemList;
+#X text 181 94 partList;
+#X text 180 222 partList;
+#X obj 110 190 part_velocity;
+#X text 132 16 [part_velocity];
+#X msg 166 132 domain;
+#X text 65 253 [part_velocity] sets velocity of newly emitted particles
+within the system. You can set the velocity-domain and the corresponding
+arguments.;
+#X text 48 337 <domain>: one of "point" \, "line" \, "triangle" \,
+"plane" \, "box" \, "sphere" \, "cylinder" \, "cone" \, "blob" \, "disc"
+\, "rectangle";
+#X msg 222 164 <arguments>;
+#X text 49 401 <arguments>: up to 9 floats \, defining the specified
+domain (like "x y z" for "point" \, "x1 y1 z1 x2 y2 z2" for "line"
+\, "x y z r" for "sphere" \, ...). The meaning of the arguments depends
+-of course- on the domain.;
+#X connect 0 0 5 0;
+#X connect 5 0 2 0;
+#X connect 7 0 5 1;
+#X connect 10 0 5 2;
diff --git a/packages/noncvs/windows/extra/Gem/part_velsphere-help.pd b/packages/noncvs/windows/extra/Gem/part_velsphere-help.pd
index 470ca355..51853d02 100644
--- a/packages/noncvs/windows/extra/Gem/part_velsphere-help.pd
+++ b/packages/noncvs/windows/extra/Gem/part_velsphere-help.pd
@@ -1,21 +1,21 @@
-#N canvas 109 126 635 466 10;
-#X msg 110 93 gemList;
-#X text 121 50 GEM object;
-#X msg 170 151 x y z;
-#X text 131 16 [part_velsphere];
-#X obj 110 190 part_velsphere;
-#X msg 110 219 gemList;
-#X text 181 94 partList;
-#X text 180 222 partList;
-#X msg 231 152 radius;
-#X text 65 253 [part_velsphere] sets a sphere with a specified radius
-and midpoint to be the velocity-domain of newly emitted particles within
-the system.;
-#X text 41 361 this is obsolete \, use;
-#X obj 239 360 part_velocity sphere <x> <z> <z> <radius>;
-#X msg 465 326 x y z radius;
-#X connect 0 0 4 0;
-#X connect 2 0 4 1;
-#X connect 4 0 5 0;
-#X connect 8 0 4 2;
-#X connect 12 0 11 2;
+#N canvas 109 126 635 466 10;
+#X msg 110 93 gemList;
+#X text 121 50 GEM object;
+#X msg 170 151 x y z;
+#X text 131 16 [part_velsphere];
+#X obj 110 190 part_velsphere;
+#X msg 110 219 gemList;
+#X text 181 94 partList;
+#X text 180 222 partList;
+#X msg 231 152 radius;
+#X text 65 253 [part_velsphere] sets a sphere with a specified radius
+and midpoint to be the velocity-domain of newly emitted particles within
+the system.;
+#X text 41 361 this is obsolete \, use;
+#X obj 239 360 part_velocity sphere <x> <z> <z> <radius>;
+#X msg 465 326 x y z radius;
+#X connect 0 0 4 0;
+#X connect 2 0 4 1;
+#X connect 4 0 5 0;
+#X connect 8 0 4 2;
+#X connect 12 0 11 2;
diff --git a/packages/noncvs/windows/extra/Gem/part_vertex-help.pd b/packages/noncvs/windows/extra/Gem/part_vertex-help.pd
index d47f06e6..cc0de2f2 100644
--- a/packages/noncvs/windows/extra/Gem/part_vertex-help.pd
+++ b/packages/noncvs/windows/extra/Gem/part_vertex-help.pd
@@ -1,15 +1,15 @@
-#N canvas 318 36 664 366 10;
-#X msg 180 86 gemList;
-#X text 176 62 GEM object;
-#X msg 180 195 gemList;
-#X text 260 196 partList;
-#X text 254 89 partList;
-#X obj 180 152 part_vertex;
-#X text 184 25 [part_vertex];
-#X msg 274 128 <x y z>;
-#X text 51 252 add a particle at the specified offset. You will need
-this if you want any particles in your particle-system \, especially
-with moving particle sources.;
-#X connect 0 0 5 0;
-#X connect 5 0 2 0;
-#X connect 7 0 5 1;
+#N canvas 318 36 664 366 10;
+#X msg 180 86 gemList;
+#X text 176 62 GEM object;
+#X msg 180 195 gemList;
+#X text 260 196 partList;
+#X text 254 89 partList;
+#X obj 180 152 part_vertex;
+#X text 184 25 [part_vertex];
+#X msg 274 128 <x y z>;
+#X text 51 252 add a particle at the specified offset. You will need
+this if you want any particles in your particle-system \, especially
+with moving particle sources.;
+#X connect 0 0 5 0;
+#X connect 5 0 2 0;
+#X connect 7 0 5 1;
diff --git a/packages/noncvs/windows/extra/Gem/pix_2grey-help.pd b/packages/noncvs/windows/extra/Gem/pix_2grey-help.pd
index 77e9b273..1ca10d73 100644
--- a/packages/noncvs/windows/extra/Gem/pix_2grey-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_2grey-help.pd
@@ -1,77 +1,77 @@
-#N canvas 404 365 654 372 10;
-#X text 452 8 GEM object;
-#X obj 8 245 cnv 15 430 80 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 252 Inlets:;
-#X text 38 285 Outlets:;
-#X obj 8 206 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 205 Arguments:;
-#X obj 7 76 cnv 15 430 125 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X obj 450 158 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 71 31 Class: pix object;
-#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 451 113 pd image;
-#X text 63 216 <none>;
-#X text 56 298 Outlet 1: gemlist;
-#X text 63 266 Inlet 1: gemlist;
-#X obj 451 233 pix_draw;
-#X text 516 105 open an image;
-#X text 509 118 (JPEG \, TIFF \, ..);
-#X text 50 12 Synopsis: [pix_2grey];
-#X text 29 76 Description: convert a pix to greyscale;
-#X text 17 151 So \, if you have an RGBA-image \, after [pix_2grey]
-the values for R \, G and B will be the same. the chroma-values of
-a YUV-image will be set to 127 (no chroma);
-#X obj 451 176 pix_2grey;
-#X text 17 97 Assuming that you have an image in the gemList (for instance
-\, loaded in with pix_image) \, [pix_2grey] will convert the image
-into a greyscale \, without changing the actual colorspace.;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 17 0;
-#X connect 16 0 17 1;
-#X connect 17 0 27 0;
-#X connect 27 0 21 0;
+#N canvas 404 365 654 372 10;
+#X text 452 8 GEM object;
+#X obj 8 245 cnv 15 430 80 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 252 Inlets:;
+#X text 38 285 Outlets:;
+#X obj 8 206 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 205 Arguments:;
+#X obj 7 76 cnv 15 430 125 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X obj 450 158 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 71 31 Class: pix object;
+#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 451 113 pd image;
+#X text 63 216 <none>;
+#X text 56 298 Outlet 1: gemlist;
+#X text 63 266 Inlet 1: gemlist;
+#X obj 451 233 pix_draw;
+#X text 516 105 open an image;
+#X text 509 118 (JPEG \, TIFF \, ..);
+#X text 50 12 Synopsis: [pix_2grey];
+#X text 29 76 Description: convert a pix to greyscale;
+#X text 17 151 So \, if you have an RGBA-image \, after [pix_2grey]
+the values for R \, G and B will be the same. the chroma-values of
+a YUV-image will be set to 127 (no chroma);
+#X obj 451 176 pix_2grey;
+#X text 17 97 Assuming that you have an image in the gemList (for instance
+\, loaded in with pix_image) \, [pix_2grey] will convert the image
+into a greyscale \, without changing the actual colorspace.;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 17 0;
+#X connect 16 0 17 1;
+#X connect 17 0 27 0;
+#X connect 27 0 21 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_a_2grey-help.pd b/packages/noncvs/windows/extra/Gem/pix_a_2grey-help.pd
index fd35bd2b..a67bda4c 100644
--- a/packages/noncvs/windows/extra/Gem/pix_a_2grey-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_a_2grey-help.pd
@@ -1,90 +1,90 @@
-#N canvas 0 0 654 372 10;
-#X text 452 8 GEM object;
-#X obj 8 275 cnv 15 430 80 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 278 Inlets:;
-#X text 38 325 Outlets:;
-#X obj 8 236 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 235 Arguments:;
-#X obj 7 60 cnv 15 430 170 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X obj 450 167 cnv 15 160 80 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 71 31 Class: pix object;
-#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 451 113 pd image;
-#X text 63 246 <none>;
-#X text 56 338 Outlet 1: gemlist;
-#X text 63 292 Inlet 1: gemlist;
-#X obj 451 263 pix_draw;
-#X text 516 105 open an image;
-#X text 50 12 Synopsis: [pix_a_2grey];
-#X text 29 66 Description: convert a pixel to greyscale based on alpha
-;
-#X text 39 87 Assuming that you have an image in the gemList (for instance
-\, loaded in with pix_image) \, pix_a_2grey will convert the image
-into a greyscale.;
-#X text 39 129 If alphaVal > 0 \, then it will convert to greyscale
-where ever the pixel alpha is greater than the alphaVal.;
-#X text 38 189 If alphaVal = 0 \, then nothing happens.;
-#X text 38 159 If alphaVal < 0 \, then it will convert to greyscale
-where ever the pixel alpha is less than the -alphaVal.;
-#X text 22 210 Obviously \, this will work for RGBA-images only.;
-#X obj 451 226 pix_a_2grey;
-#X floatatom 523 206 4 -1 1 2 alpha-thresh - -;
-#X text 63 305 Inlet 2: <float>: alpha-threshold (-1..0..+1);
-#X text 512 118 (TIFF \, ..);
-#X msg 523 171 0.5;
-#X msg 479 170 -0.5;
-#X obj 451 137 pix_coloralpha;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 17 0;
-#X connect 16 0 17 1;
-#X connect 17 0 36 0;
-#X connect 30 0 21 0;
-#X connect 31 0 30 1;
-#X connect 34 0 31 0;
-#X connect 35 0 31 0;
-#X connect 36 0 30 0;
+#N canvas 0 0 654 372 10;
+#X text 452 8 GEM object;
+#X obj 8 275 cnv 15 430 80 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 278 Inlets:;
+#X text 38 325 Outlets:;
+#X obj 8 236 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 235 Arguments:;
+#X obj 7 60 cnv 15 430 170 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X obj 450 167 cnv 15 160 80 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 71 31 Class: pix object;
+#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 451 113 pd image;
+#X text 63 246 <none>;
+#X text 56 338 Outlet 1: gemlist;
+#X text 63 292 Inlet 1: gemlist;
+#X obj 451 263 pix_draw;
+#X text 516 105 open an image;
+#X text 50 12 Synopsis: [pix_a_2grey];
+#X text 29 66 Description: convert a pixel to greyscale based on alpha
+;
+#X text 39 87 Assuming that you have an image in the gemList (for instance
+\, loaded in with pix_image) \, pix_a_2grey will convert the image
+into a greyscale.;
+#X text 39 129 If alphaVal > 0 \, then it will convert to greyscale
+where ever the pixel alpha is greater than the alphaVal.;
+#X text 38 189 If alphaVal = 0 \, then nothing happens.;
+#X text 38 159 If alphaVal < 0 \, then it will convert to greyscale
+where ever the pixel alpha is less than the -alphaVal.;
+#X text 22 210 Obviously \, this will work for RGBA-images only.;
+#X obj 451 226 pix_a_2grey;
+#X floatatom 523 206 4 -1 1 2 alpha-thresh - -;
+#X text 63 305 Inlet 2: <float>: alpha-threshold (-1..0..+1);
+#X text 512 118 (TIFF \, ..);
+#X msg 523 171 0.5;
+#X msg 479 170 -0.5;
+#X obj 451 137 pix_coloralpha;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 17 0;
+#X connect 16 0 17 1;
+#X connect 17 0 36 0;
+#X connect 30 0 21 0;
+#X connect 31 0 30 1;
+#X connect 34 0 31 0;
+#X connect 35 0 31 0;
+#X connect 36 0 30 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_add-help.pd b/packages/noncvs/windows/extra/Gem/pix_add-help.pd
index f238b9ad..c0ddda16 100644
--- a/packages/noncvs/windows/extra/Gem/pix_add-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_add-help.pd
@@ -1,97 +1,97 @@
-#N canvas 270 306 683 381 10;
-#X text 452 8 GEM object;
-#X obj 8 226 cnv 15 430 135 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 248 Inlets:;
-#X text 39 304 Outlets:;
-#X obj 8 186 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 185 Arguments:;
-#X obj 8 66 cnv 15 430 110 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 280 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 290 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 329 pd gemwin;
-#X msg 519 310 create;
-#X text 515 289 Create window:;
-#X obj 451 168 cnv 15 160 80 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 119 gemhead;
-#X obj 502 102 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 451 138 pd image;
-#X obj 451 263 pix_texture;
-#X text 63 196 <none>;
-#X text 47 318 Outlet 1: gemlist;
-#X text 53 262 Inlet 1: gemlist;
-#X obj 451 285 square 3;
-#X text 503 88 (JPEG \, TIFF \, ..);
-#X obj 541 122 gemhead;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/dancer.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 541 141 pd image;
-#X obj 592 103 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#X text 53 291 Inlet 2: gemlist;
-#X text 449 77 open two different images;
-#X text 50 12 Synopsis: [pix_add];
-#X text 71 31 Class: pix mix object;
-#X text 29 67 Description: add 2 images;
-#X text 29 91 [pix_add] simply adds two pixes together. It clamps the
-images so that they remain in the range of the image. (In other words
-\, it is easy to get a white out).;
-#X obj 451 198 pix_add;
-#X text 33 137 The 2 images have to be of the same size.;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 16 0;
-#X connect 15 0 16 1;
-#X connect 16 0 32 0;
-#X connect 17 0 21 0;
-#X connect 23 0 24 0;
-#X connect 24 0 32 1;
-#X connect 25 0 24 1;
-#X connect 32 0 17 0;
+#N canvas 270 306 683 381 10;
+#X text 452 8 GEM object;
+#X obj 8 226 cnv 15 430 135 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 248 Inlets:;
+#X text 39 304 Outlets:;
+#X obj 8 186 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 185 Arguments:;
+#X obj 8 66 cnv 15 430 110 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 280 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 290 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 329 pd gemwin;
+#X msg 519 310 create;
+#X text 515 289 Create window:;
+#X obj 451 168 cnv 15 160 80 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 119 gemhead;
+#X obj 502 102 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 451 138 pd image;
+#X obj 451 263 pix_texture;
+#X text 63 196 <none>;
+#X text 47 318 Outlet 1: gemlist;
+#X text 53 262 Inlet 1: gemlist;
+#X obj 451 285 square 3;
+#X text 503 88 (JPEG \, TIFF \, ..);
+#X obj 541 122 gemhead;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/dancer.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 541 141 pd image;
+#X obj 592 103 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#X text 53 291 Inlet 2: gemlist;
+#X text 449 77 open two different images;
+#X text 50 12 Synopsis: [pix_add];
+#X text 71 31 Class: pix mix object;
+#X text 29 67 Description: add 2 images;
+#X text 29 91 [pix_add] simply adds two pixes together. It clamps the
+images so that they remain in the range of the image. (In other words
+\, it is easy to get a white out).;
+#X obj 451 198 pix_add;
+#X text 33 137 The 2 images have to be of the same size.;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 16 0;
+#X connect 15 0 16 1;
+#X connect 16 0 32 0;
+#X connect 17 0 21 0;
+#X connect 23 0 24 0;
+#X connect 24 0 32 1;
+#X connect 25 0 24 1;
+#X connect 32 0 17 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_aging-help.pd b/packages/noncvs/windows/extra/Gem/pix_aging-help.pd
index 78ae487a..d926181c 100644
--- a/packages/noncvs/windows/extra/Gem/pix_aging-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_aging-help.pd
@@ -1,115 +1,115 @@
-#N canvas 0 0 654 490 10;
-#X text 452 8 GEM object;
-#X obj 8 245 cnv 15 430 140 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 248 Inlets:;
-#X text 38 345 Outlets:;
-#X obj 8 206 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 205 Arguments:;
-#X obj 7 76 cnv 15 430 125 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 200 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X obj 450 138 cnv 15 190 100 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 71 31 Class: pix object;
-#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X obj 77 281 pix_buf;
-#X msg 103 257 auto 1;
-#X obj 103 236 loadbang;
-#X text 156 263 [pix_buf] with auto 1 is important if we want to recalculate
-our pix-effect each frame but don't want to reload the image all the
-time.;
-#X connect 0 0 2 0;
-#X connect 2 0 6 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X connect 6 0 1 0;
-#X connect 7 0 6 0;
-#X connect 8 0 7 0;
-#X restore 451 113 pd image;
-#X text 63 216 <none>;
-#X text 56 358 Outlet 1: gemlist;
-#X text 63 262 Inlet 1: gemlist;
-#X text 50 12 Synopsis: [pix_color];
-#X obj 451 254 pix_draw;
-#X text 516 105 open an image;
-#X text 509 118 (JPEG \, TIFF \, ..);
-#X obj 451 216 pix_aging;
-#X text 11 77 Description: apply a super8-like aging effect;
-#X text 16 92 [pix_aging] is an effect that will make your images (better:
-films) have a super8-like look.;
-#X text 16 123 There are 4 components (color-aging \, light dusts \,
-dark pits and vertical scratches) that can be turned on/off individually.
-;
-#X text 15 168 The number of scratches can be set via the "scratch"
-message.;
-#X obj 39 399 cnv 15 450 40 empty empty empty 20 12 0 14 -260818 -66577
-0;
-#X text 51 407 acknowledgment: this effect is based on effecTV by Kentarou
-Fukuchi (http://effectv.sourceforge.net);
-#X msg 460 160 dust \$1;
-#X obj 460 142 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X obj 580 182 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X msg 580 199 pits \$1;
-#X msg 480 197 coloraging \$1;
-#X obj 481 179 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
-1;
-#X floatatom 525 143 5 0 0 0 - - -;
-#X msg 525 161 scratch \$1;
-#X text 63 275 Inlet 1: dust 0|1: add "dust";
-#X text 63 290 Inlet 1: pits 0|1: add "pits";
-#X text 63 324 Inlet 1: scratch <int> : add a maximum of # scratches
-;
-#X text 63 306 Inlet 1: coloraging 0|1: color-bleaching;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 17 0;
-#X connect 16 0 17 1;
-#X connect 17 0 25 0;
-#X connect 25 0 22 0;
-#X connect 32 0 25 0;
-#X connect 33 0 32 0;
-#X connect 34 0 35 0;
-#X connect 35 0 25 0;
-#X connect 36 0 25 0;
-#X connect 37 0 36 0;
-#X connect 38 0 39 0;
-#X connect 39 0 25 0;
+#N canvas 0 0 654 490 10;
+#X text 452 8 GEM object;
+#X obj 8 245 cnv 15 430 140 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 248 Inlets:;
+#X text 38 345 Outlets:;
+#X obj 8 206 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 205 Arguments:;
+#X obj 7 76 cnv 15 430 125 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 200 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X obj 450 138 cnv 15 190 100 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 71 31 Class: pix object;
+#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X obj 77 281 pix_buf;
+#X msg 103 257 auto 1;
+#X obj 103 236 loadbang;
+#X text 156 263 [pix_buf] with auto 1 is important if we want to recalculate
+our pix-effect each frame but don't want to reload the image all the
+time.;
+#X connect 0 0 2 0;
+#X connect 2 0 6 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X connect 6 0 1 0;
+#X connect 7 0 6 0;
+#X connect 8 0 7 0;
+#X restore 451 113 pd image;
+#X text 63 216 <none>;
+#X text 56 358 Outlet 1: gemlist;
+#X text 63 262 Inlet 1: gemlist;
+#X text 50 12 Synopsis: [pix_color];
+#X obj 451 254 pix_draw;
+#X text 516 105 open an image;
+#X text 509 118 (JPEG \, TIFF \, ..);
+#X obj 451 216 pix_aging;
+#X text 11 77 Description: apply a super8-like aging effect;
+#X text 16 92 [pix_aging] is an effect that will make your images (better:
+films) have a super8-like look.;
+#X text 16 123 There are 4 components (color-aging \, light dusts \,
+dark pits and vertical scratches) that can be turned on/off individually.
+;
+#X text 15 168 The number of scratches can be set via the "scratch"
+message.;
+#X obj 39 399 cnv 15 450 40 empty empty empty 20 12 0 14 -260818 -66577
+0;
+#X text 51 407 acknowledgment: this effect is based on effecTV by Kentarou
+Fukuchi (http://effectv.sourceforge.net);
+#X msg 460 160 dust \$1;
+#X obj 460 142 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 580 182 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X msg 580 199 pits \$1;
+#X msg 480 197 coloraging \$1;
+#X obj 481 179 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
+1;
+#X floatatom 525 143 5 0 0 0 - - -;
+#X msg 525 161 scratch \$1;
+#X text 63 275 Inlet 1: dust 0|1: add "dust";
+#X text 63 290 Inlet 1: pits 0|1: add "pits";
+#X text 63 324 Inlet 1: scratch <int> : add a maximum of # scratches
+;
+#X text 63 306 Inlet 1: coloraging 0|1: color-bleaching;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 17 0;
+#X connect 16 0 17 1;
+#X connect 17 0 25 0;
+#X connect 25 0 22 0;
+#X connect 32 0 25 0;
+#X connect 33 0 32 0;
+#X connect 34 0 35 0;
+#X connect 35 0 25 0;
+#X connect 36 0 25 0;
+#X connect 37 0 36 0;
+#X connect 38 0 39 0;
+#X connect 39 0 25 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_alpha-help.pd b/packages/noncvs/windows/extra/Gem/pix_alpha-help.pd
index 684df706..5df478f0 100644
--- a/packages/noncvs/windows/extra/Gem/pix_alpha-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_alpha-help.pd
@@ -1,107 +1,107 @@
-#N canvas 42 278 695 523 10;
-#X text 452 8 GEM object;
-#X obj 8 345 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 348 Inlets:;
-#X text 38 435 Outlets:;
-#X obj 8 306 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 305 Arguments:;
-#X obj 7 56 cnv 15 430 240 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 574 341 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 579 380 pd gemwin;
-#X msg 579 361 create;
-#X text 575 340 Create window:;
-#X obj 450 158 cnv 15 160 120 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 71 31 Class: pix object;
-#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 451 133 pd image;
-#X text 63 316 <none>;
-#X text 56 448 Outlet 1: gemlist;
-#X text 63 362 Inlet 1: gemlist;
-#X text 516 105 open an image;
-#X text 509 118 (JPEG \, TIFF \, ..);
-#X text 50 12 Synopsis: [pix_alpha];
-#X text 29 56 Description: set the alpha values of an RGBA-pix;
-#X text 21 229 It defaults to highThresh = 0 0 0 \, lowThresh = 0 0
-0 \, passVal = 0 \, and otherVal = 1 This makes any black pixels totally
-transparent.;
-#X text 22 170 pix_alpha compares at the color component level \, so
-if you wanted pixels with any red and no green or blue in them to be
-set to the passVal \, make highThresh = 1 0 0 and lowThresh = 0 0 0
-;
-#X text 21 74 pix_alpha sets the alpha values of a pix based on a simple
-thresholding. If a pixel value is between the high and low threshold
-RGB values \, then the alpha component of the pixel is set to the pass
-value. If the pixel value is below the low threshold or above the high
-threshold \, then the pixel alpha is set to the other value.;
-#X obj 451 283 pix_texture;
-#X obj 451 304 square 3;
-#X obj 451 110 alpha;
-#X text 10 276 This obviously only works with RGBA-images;
-#X floatatom 465 162 5 0 1 1 pass - -;
-#X floatatom 480 182 5 0 1 1 other - -;
-#X msg 494 207 0.6 0.6 0.6;
-#X msg 509 231 0.2 0.2 0.2;
-#X obj 445 336 gemhead 1;
-#X obj 445 378 rotate 45 1 1 1;
-#X obj 445 401 cube;
-#X obj 445 357 translate -2 0 0 1;
-#X obj 451 256 pix_alpha;
-#X text 63 375 Inlet 2: <float>: ALPHA-value if passed;
-#X text 63 388 Inlet 3: <float>: ALPHA-value if not passed;
-#X text 63 400 Inlet 4: <list>: high-threshold (RGB);
-#X text 63 413 Inlet 4: <list>: low-threshold (RGB);
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 30 0;
-#X connect 16 0 17 1;
-#X connect 17 0 40 0;
-#X connect 28 0 29 0;
-#X connect 30 0 17 0;
-#X connect 32 0 40 1;
-#X connect 33 0 40 2;
-#X connect 34 0 40 3;
-#X connect 35 0 40 4;
-#X connect 36 0 39 0;
-#X connect 37 0 38 0;
-#X connect 39 0 37 0;
-#X connect 40 0 28 0;
+#N canvas 42 278 695 523 10;
+#X text 452 8 GEM object;
+#X obj 8 345 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 348 Inlets:;
+#X text 38 435 Outlets:;
+#X obj 8 306 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 305 Arguments:;
+#X obj 7 56 cnv 15 430 240 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 574 341 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 579 380 pd gemwin;
+#X msg 579 361 create;
+#X text 575 340 Create window:;
+#X obj 450 158 cnv 15 160 120 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 71 31 Class: pix object;
+#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 451 133 pd image;
+#X text 63 316 <none>;
+#X text 56 448 Outlet 1: gemlist;
+#X text 63 362 Inlet 1: gemlist;
+#X text 516 105 open an image;
+#X text 509 118 (JPEG \, TIFF \, ..);
+#X text 50 12 Synopsis: [pix_alpha];
+#X text 29 56 Description: set the alpha values of an RGBA-pix;
+#X text 21 229 It defaults to highThresh = 0 0 0 \, lowThresh = 0 0
+0 \, passVal = 0 \, and otherVal = 1 This makes any black pixels totally
+transparent.;
+#X text 22 170 pix_alpha compares at the color component level \, so
+if you wanted pixels with any red and no green or blue in them to be
+set to the passVal \, make highThresh = 1 0 0 and lowThresh = 0 0 0
+;
+#X text 21 74 pix_alpha sets the alpha values of a pix based on a simple
+thresholding. If a pixel value is between the high and low threshold
+RGB values \, then the alpha component of the pixel is set to the pass
+value. If the pixel value is below the low threshold or above the high
+threshold \, then the pixel alpha is set to the other value.;
+#X obj 451 283 pix_texture;
+#X obj 451 304 square 3;
+#X obj 451 110 alpha;
+#X text 10 276 This obviously only works with RGBA-images;
+#X floatatom 465 162 5 0 1 1 pass - -;
+#X floatatom 480 182 5 0 1 1 other - -;
+#X msg 494 207 0.6 0.6 0.6;
+#X msg 509 231 0.2 0.2 0.2;
+#X obj 445 336 gemhead 1;
+#X obj 445 378 rotate 45 1 1 1;
+#X obj 445 401 cube;
+#X obj 445 357 translate -2 0 0 1;
+#X obj 451 256 pix_alpha;
+#X text 63 375 Inlet 2: <float>: ALPHA-value if passed;
+#X text 63 388 Inlet 3: <float>: ALPHA-value if not passed;
+#X text 63 400 Inlet 4: <list>: high-threshold (RGB);
+#X text 63 413 Inlet 4: <list>: low-threshold (RGB);
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 30 0;
+#X connect 16 0 17 1;
+#X connect 17 0 40 0;
+#X connect 28 0 29 0;
+#X connect 30 0 17 0;
+#X connect 32 0 40 1;
+#X connect 33 0 40 2;
+#X connect 34 0 40 3;
+#X connect 35 0 40 4;
+#X connect 36 0 39 0;
+#X connect 37 0 38 0;
+#X connect 39 0 37 0;
+#X connect 40 0 28 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_background-help.pd b/packages/noncvs/windows/extra/Gem/pix_background-help.pd
index 5194d49d..f9759fbf 100644
--- a/packages/noncvs/windows/extra/Gem/pix_background-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_background-help.pd
@@ -1,107 +1,107 @@
-#N canvas 436 51 655 473 10;
-#X text 452 8 GEM object;
-#X obj 8 256 cnv 15 430 170 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 258 Inlets:;
-#X text 39 390 Outlets:;
-#X obj 8 216 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 215 Arguments:;
-#X obj 8 76 cnv 15 430 135 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X obj 451 138 cnv 15 160 90 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 71 31 Class: pix object;
-#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#X obj 451 233 pix_texture;
-#X text 63 226 <none>;
-#X text 27 403 Outlet 1: gemlist;
-#X text 33 272 Inlet 1: gemlist;
-#X obj 451 255 square 3;
-#X msg 464 154 reset;
-#X text 50 12 Synopsis: [pix_background];
-#X text 537 192 threshold;
-#X text 29 77 Description: separate an objects from background;
-#X text 33 309 Inlet 1: bang: alias for reset;
-#X text 9 92 [pix_background] 'removes' the background of an image
-by comparing a static image in memory to an incoming video stream.
-all values withing a given range are turned black. for best effect
-\, place a camera on a static scene like a blank wall and hit 'reset'.
-then set the range control to cover any variance in the background.
-when a new object enters the scene it will be the only thing draw against
-a black background. use pix_chroma_key or pix_compare to add in images
-in place of the black.;
-#X text 33 284 Inlet 1: message: reset : reset the background and capture
-a new image;
-#X text 34 375 Inlet 2: float: range (<f> == <f> <f> <f>);
-#X text 34 322 Inlet 2: list: range \; in RGBA mode this is <+-red>
-<+-green> <+-blue> \; in YUV-mode this is <+-luma> <+-Cb> <+-Cr> \;
-in Gray-mode only the first value is important <+-gray>;
-#X obj 451 207 pix_background;
-#X msg 516 177 \$1 \$1 \$1;
-#X msg 516 142 0.5;
-#X floatatom 516 161 5 0 0 0 - - -;
-#N canvas 0 22 599 378 film 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X msg 94 148 auto 1;
-#X obj 94 127 loadbang;
-#X obj 77 190 pix_film;
-#X obj 146 190 t f;
-#X msg 155 149 colorspace rgba;
-#X connect 0 0 7 0;
-#X connect 2 0 4 0;
-#X connect 3 0 7 0;
-#X connect 4 0 3 0;
-#X connect 5 0 7 0;
-#X connect 6 0 5 0;
-#X connect 6 0 9 0;
-#X connect 7 0 1 0;
-#X connect 7 2 8 0;
-#X connect 8 0 7 1;
-#X connect 9 0 7 0;
-#X restore 451 113 pd film;
-#X text 516 105 open an movie;
-#X text 509 118 (AVI \, MPEG \, MOV);
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 35 0;
-#X connect 16 0 35 1;
-#X connect 17 0 21 0;
-#X connect 22 0 31 0;
-#X connect 31 0 17 0;
-#X connect 32 0 31 1;
-#X connect 33 0 34 0;
-#X connect 34 0 32 0;
-#X connect 35 0 31 0;
+#N canvas 436 51 655 473 10;
+#X text 452 8 GEM object;
+#X obj 8 256 cnv 15 430 170 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 258 Inlets:;
+#X text 39 390 Outlets:;
+#X obj 8 216 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 215 Arguments:;
+#X obj 8 76 cnv 15 430 135 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X obj 451 138 cnv 15 160 90 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 71 31 Class: pix object;
+#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#X obj 451 233 pix_texture;
+#X text 63 226 <none>;
+#X text 27 403 Outlet 1: gemlist;
+#X text 33 272 Inlet 1: gemlist;
+#X obj 451 255 square 3;
+#X msg 464 154 reset;
+#X text 50 12 Synopsis: [pix_background];
+#X text 537 192 threshold;
+#X text 29 77 Description: separate an objects from background;
+#X text 33 309 Inlet 1: bang: alias for reset;
+#X text 9 92 [pix_background] 'removes' the background of an image
+by comparing a static image in memory to an incoming video stream.
+all values withing a given range are turned black. for best effect
+\, place a camera on a static scene like a blank wall and hit 'reset'.
+then set the range control to cover any variance in the background.
+when a new object enters the scene it will be the only thing draw against
+a black background. use pix_chroma_key or pix_compare to add in images
+in place of the black.;
+#X text 33 284 Inlet 1: message: reset : reset the background and capture
+a new image;
+#X text 34 375 Inlet 2: float: range (<f> == <f> <f> <f>);
+#X text 34 322 Inlet 2: list: range \; in RGBA mode this is <+-red>
+<+-green> <+-blue> \; in YUV-mode this is <+-luma> <+-Cb> <+-Cr> \;
+in Gray-mode only the first value is important <+-gray>;
+#X obj 451 207 pix_background;
+#X msg 516 177 \$1 \$1 \$1;
+#X msg 516 142 0.5;
+#X floatatom 516 161 5 0 0 0 - - -;
+#N canvas 0 22 599 378 film 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X msg 94 148 auto 1;
+#X obj 94 127 loadbang;
+#X obj 77 190 pix_film;
+#X obj 146 190 t f;
+#X msg 155 149 colorspace rgba;
+#X connect 0 0 7 0;
+#X connect 2 0 4 0;
+#X connect 3 0 7 0;
+#X connect 4 0 3 0;
+#X connect 5 0 7 0;
+#X connect 6 0 5 0;
+#X connect 6 0 9 0;
+#X connect 7 0 1 0;
+#X connect 7 2 8 0;
+#X connect 8 0 7 1;
+#X connect 9 0 7 0;
+#X restore 451 113 pd film;
+#X text 516 105 open an movie;
+#X text 509 118 (AVI \, MPEG \, MOV);
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 35 0;
+#X connect 16 0 35 1;
+#X connect 17 0 21 0;
+#X connect 22 0 31 0;
+#X connect 31 0 17 0;
+#X connect 32 0 31 1;
+#X connect 33 0 34 0;
+#X connect 34 0 32 0;
+#X connect 35 0 31 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_backlight-help.pd b/packages/noncvs/windows/extra/Gem/pix_backlight-help.pd
index 8b608d3f..37109c86 100644
--- a/packages/noncvs/windows/extra/Gem/pix_backlight-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_backlight-help.pd
@@ -1,92 +1,92 @@
-#N canvas 0 0 651 393 10;
-#X text 452 8 GEM object;
-#X obj 8 216 cnv 15 430 125 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 218 Inlets:;
-#X text 39 310 Outlets:;
-#X obj 8 176 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 175 Arguments:;
-#X obj 8 76 cnv 15 430 90 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X obj 451 138 cnv 15 160 90 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 71 31 Class: pix object;
-#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 451 113 pd image;
-#X obj 451 233 pix_texture;
-#X text 63 186 <none>;
-#X text 57 323 Outlet 1: gemlist;
-#X text 63 232 Inlet 1: gemlist;
-#X obj 451 255 square 3;
-#X text 50 12 Synopsis: [pix_backlight];
-#X floatatom 469 153 5 0 0 2 scale - -;
-#X floatatom 509 153 5 0 255 2 floor - -;
-#X obj 509 171 / 255;
-#X floatatom 549 153 5 0 255 2 ceiling - -;
-#X obj 549 171 / 255;
-#X text 29 77 Description: backlighting effect;
-#X text 13 91 [pix_backlight] will radially displace pixels depending
-on their luminance value \, thus producing a backlighting effect. You
-can set the amount of the displacement as well as floor/ceiling limits
-\, to produce displacements only within the specified range.;
-#X obj 451 207 pix_backlight;
-#X text 64 254 Inlet 2: float: scale-factor (default: 0.5);
-#X text 64 268 Inlet 3: float: floor (default: 0);
-#X text 64 282 Inlet 4: float: ceiling (default: 1);
-#X obj 469 172 / 100;
-#X text 516 105 open an image;
-#X text 509 118 (JPEG \, TIFF \, ..);
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 17 0;
-#X connect 16 0 17 1;
-#X connect 17 0 31 0;
-#X connect 18 0 22 0;
-#X connect 24 0 35 0;
-#X connect 25 0 26 0;
-#X connect 26 0 31 2;
-#X connect 27 0 28 0;
-#X connect 28 0 31 3;
-#X connect 31 0 18 0;
-#X connect 35 0 31 1;
+#N canvas 0 0 651 393 10;
+#X text 452 8 GEM object;
+#X obj 8 216 cnv 15 430 125 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 218 Inlets:;
+#X text 39 310 Outlets:;
+#X obj 8 176 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 175 Arguments:;
+#X obj 8 76 cnv 15 430 90 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X obj 451 138 cnv 15 160 90 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 71 31 Class: pix object;
+#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 451 113 pd image;
+#X obj 451 233 pix_texture;
+#X text 63 186 <none>;
+#X text 57 323 Outlet 1: gemlist;
+#X text 63 232 Inlet 1: gemlist;
+#X obj 451 255 square 3;
+#X text 50 12 Synopsis: [pix_backlight];
+#X floatatom 469 153 5 0 0 2 scale - -;
+#X floatatom 509 153 5 0 255 2 floor - -;
+#X obj 509 171 / 255;
+#X floatatom 549 153 5 0 255 2 ceiling - -;
+#X obj 549 171 / 255;
+#X text 29 77 Description: backlighting effect;
+#X text 13 91 [pix_backlight] will radially displace pixels depending
+on their luminance value \, thus producing a backlighting effect. You
+can set the amount of the displacement as well as floor/ceiling limits
+\, to produce displacements only within the specified range.;
+#X obj 451 207 pix_backlight;
+#X text 64 254 Inlet 2: float: scale-factor (default: 0.5);
+#X text 64 268 Inlet 3: float: floor (default: 0);
+#X text 64 282 Inlet 4: float: ceiling (default: 1);
+#X obj 469 172 / 100;
+#X text 516 105 open an image;
+#X text 509 118 (JPEG \, TIFF \, ..);
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 17 0;
+#X connect 16 0 17 1;
+#X connect 17 0 31 0;
+#X connect 18 0 22 0;
+#X connect 24 0 35 0;
+#X connect 25 0 26 0;
+#X connect 26 0 31 2;
+#X connect 27 0 28 0;
+#X connect 28 0 31 3;
+#X connect 31 0 18 0;
+#X connect 35 0 31 1;
diff --git a/packages/noncvs/windows/extra/Gem/pix_biquad-help.pd b/packages/noncvs/windows/extra/Gem/pix_biquad-help.pd
index 2d048cfb..a23f276d 100644
--- a/packages/noncvs/windows/extra/Gem/pix_biquad-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_biquad-help.pd
@@ -1,172 +1,172 @@
-#N canvas 288 289 775 405 10;
-#X text 452 8 GEM object;
-#X obj 9 265 cnv 15 430 135 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 40 267 Inlets:;
-#X text 39 365 Outlets:;
-#X obj 9 227 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 18 226 Arguments:;
-#X obj 8 56 cnv 15 430 165 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 200 280 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 540 288 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X msg 67 70 set destroy;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X msg 156 71 set create;
-#X obj 67 41 route create;
-#X connect 2 0 7 0;
-#X connect 3 0 1 0;
-#X connect 4 0 0 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 0;
-#X connect 7 0 3 0;
-#X connect 7 0 4 0;
-#X connect 7 1 6 0;
-#X connect 7 1 5 0;
-#X restore 545 327 pd gemwin;
-#X msg 545 308 create;
-#X text 541 287 Create window:;
-#X obj 451 172 cnv 15 155 105 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 83 gemhead;
-#X text 17 379 Outlet 1: gemlist;
-#X text 24 281 Inlet 1: gemlist;
-#X obj 451 302 square 3;
-#X obj 451 280 pix_texture;
-#X text 71 31 Class: pix object (timebased effect);
-#X obj 451 151 pix_film;
-#X obj 515 151 t f;
-#X obj 464 103 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#N canvas 0 0 450 300 open 0;
-#X obj 85 49 inlet;
-#X obj 85 237 outlet;
-#X obj 85 145 openpanel;
-#X msg 85 179 open \$1;
-#X msg 259 213 auto 1;
-#X obj 268 179 loadbang;
-#X connect 0 0 2 0;
-#X connect 2 0 3 0;
-#X connect 3 0 1 0;
-#X connect 4 0 1 0;
-#X connect 5 0 4 0;
-#X restore 464 131 pd open;
-#X text 505 77 open a supported;
-#X text 506 88 movie-clip;
-#X text 523 114 macOS: quicktime;
-#X text 516 104 windos: *.AVI;
-#X text 523 124 linux: depends...;
-#X text 29 57 Description: timebased IIR-filter;
-#X floatatom 457 191 3 0 1 2 fb0 - -;
-#X floatatom 481 191 3 0 1 2 fb1 - -;
-#X floatatom 505 191 3 0 1 2 fb2 - -;
-#X floatatom 534 191 3 0 1 2 ff1 - -;
-#X floatatom 558 191 3 0 1 2 ff2 - -;
-#N canvas 0 0 450 300 init 0;
-#X msg 175 214 0.3;
-#X msg 247 215 0.6;
-#X obj 104 258 outlet;
-#X obj 154 258 outlet;
-#X obj 204 258 outlet;
-#X obj 254 258 outlet;
-#X obj 304 258 outlet;
-#X obj 244 59 inlet;
-#X obj 388 158 t b;
-#X msg 378 201 1;
-#X msg 413 201 0;
-#X obj 246 88 route 1;
-#X msg 104 214 0.2;
-#X msg 140 215 0.5;
-#X obj 353 258 outlet;
-#X msg 277 215 0.2;
-#X msg 312 213 0.2;
-#X obj 238 127 t b;
-#X obj 193 105 t b b;
-#X obj 277 115 t b b;
-#X msg 277 135 1;
-#X connect 0 0 4 0;
-#X connect 1 0 5 0;
-#X connect 7 0 11 0;
-#X connect 8 0 9 0;
-#X connect 8 0 10 0;
-#X connect 9 0 5 0;
-#X connect 10 0 3 0;
-#X connect 10 0 4 0;
-#X connect 10 0 6 0;
-#X connect 10 0 14 0;
-#X connect 11 0 18 0;
-#X connect 11 1 19 0;
-#X connect 12 0 2 0;
-#X connect 13 0 3 0;
-#X connect 15 0 6 0;
-#X connect 16 0 14 0;
-#X connect 17 0 13 0;
-#X connect 17 0 0 0;
-#X connect 17 0 1 0;
-#X connect 17 0 15 0;
-#X connect 17 0 16 0;
-#X connect 18 0 12 0;
-#X connect 18 1 17 0;
-#X connect 19 0 20 0;
-#X connect 19 1 8 0;
-#X connect 20 0 2 0;
-#X restore 605 174 pd init;
-#X obj 605 157 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X msg 534 238 set;
-#X text 23 298 Inlet 1: message: set: overwrites the filter-buffers
-with the next incoming image.;
-#X text 439 378 see also:;
-#X obj 509 381 pix_tIIR;
-#X text 23 76 basically it works like the pd-object [biquad~] (except
-\, that applies to images instead of samples);
-#X text 39 134 y(n) = ff1 * w(n) + ff2 * w(n-1) + ff3 * w(n-2);
-#X text 40 149 w(n) = fb0 * x(n) + fb1 * w(n-1) + fb2 * w(n-2);
-#X text 32 104 the operation can be described by the following difference-equation:
-;
-#X text 18 166 x(n) describes the input-image \, y(n) is the output-image.
-;
-#X text 16 183 You can set all buffer-images w(m) to the next input-image
-x(n) with the "set"-command.;
-#X text 64 237 list:;
-#X obj 572 381 biquad~;
-#X text 50 12 Synopsis: [pix_biquad];
-#X obj 451 258 pix_biquad;
-#X floatatom 582 191 3 0 1 2 ff3 - -;
-#X obj 457 209 pack 1 0 0 1 0 0;
-#X text 22 327 Inlet 1: <list> : the filter-coefficients "fb0 fb1 fb2
-ff1 ff2 ff3";
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 20 0;
-#X connect 18 0 17 0;
-#X connect 20 0 50 0;
-#X connect 20 2 21 0;
-#X connect 21 0 20 1;
-#X connect 22 0 23 0;
-#X connect 23 0 20 0;
-#X connect 30 0 52 0;
-#X connect 31 0 52 1;
-#X connect 32 0 52 2;
-#X connect 33 0 52 3;
-#X connect 34 0 52 4;
-#X connect 35 0 30 0;
-#X connect 35 1 31 0;
-#X connect 35 2 32 0;
-#X connect 35 3 33 0;
-#X connect 35 4 34 0;
-#X connect 35 5 51 0;
-#X connect 36 0 35 0;
-#X connect 37 0 50 0;
-#X connect 50 0 18 0;
-#X connect 51 0 52 5;
-#X connect 52 0 50 0;
+#N canvas 288 289 775 405 10;
+#X text 452 8 GEM object;
+#X obj 9 265 cnv 15 430 135 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 40 267 Inlets:;
+#X text 39 365 Outlets:;
+#X obj 9 227 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 18 226 Arguments:;
+#X obj 8 56 cnv 15 430 165 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 200 280 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 540 288 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X msg 67 70 set destroy;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X msg 156 71 set create;
+#X obj 67 41 route create;
+#X connect 2 0 7 0;
+#X connect 3 0 1 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 0;
+#X connect 7 0 3 0;
+#X connect 7 0 4 0;
+#X connect 7 1 6 0;
+#X connect 7 1 5 0;
+#X restore 545 327 pd gemwin;
+#X msg 545 308 create;
+#X text 541 287 Create window:;
+#X obj 451 172 cnv 15 155 105 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 83 gemhead;
+#X text 17 379 Outlet 1: gemlist;
+#X text 24 281 Inlet 1: gemlist;
+#X obj 451 302 square 3;
+#X obj 451 280 pix_texture;
+#X text 71 31 Class: pix object (timebased effect);
+#X obj 451 151 pix_film;
+#X obj 515 151 t f;
+#X obj 464 103 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#N canvas 0 0 450 300 open 0;
+#X obj 85 49 inlet;
+#X obj 85 237 outlet;
+#X obj 85 145 openpanel;
+#X msg 85 179 open \$1;
+#X msg 259 213 auto 1;
+#X obj 268 179 loadbang;
+#X connect 0 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 1 0;
+#X connect 5 0 4 0;
+#X restore 464 131 pd open;
+#X text 505 77 open a supported;
+#X text 506 88 movie-clip;
+#X text 523 114 macOS: quicktime;
+#X text 516 104 windos: *.AVI;
+#X text 523 124 linux: depends...;
+#X text 29 57 Description: timebased IIR-filter;
+#X floatatom 457 191 3 0 1 2 fb0 - -;
+#X floatatom 481 191 3 0 1 2 fb1 - -;
+#X floatatom 505 191 3 0 1 2 fb2 - -;
+#X floatatom 534 191 3 0 1 2 ff1 - -;
+#X floatatom 558 191 3 0 1 2 ff2 - -;
+#N canvas 0 0 450 300 init 0;
+#X msg 175 214 0.3;
+#X msg 247 215 0.6;
+#X obj 104 258 outlet;
+#X obj 154 258 outlet;
+#X obj 204 258 outlet;
+#X obj 254 258 outlet;
+#X obj 304 258 outlet;
+#X obj 244 59 inlet;
+#X obj 388 158 t b;
+#X msg 378 201 1;
+#X msg 413 201 0;
+#X obj 246 88 route 1;
+#X msg 104 214 0.2;
+#X msg 140 215 0.5;
+#X obj 353 258 outlet;
+#X msg 277 215 0.2;
+#X msg 312 213 0.2;
+#X obj 238 127 t b;
+#X obj 193 105 t b b;
+#X obj 277 115 t b b;
+#X msg 277 135 1;
+#X connect 0 0 4 0;
+#X connect 1 0 5 0;
+#X connect 7 0 11 0;
+#X connect 8 0 9 0;
+#X connect 8 0 10 0;
+#X connect 9 0 5 0;
+#X connect 10 0 3 0;
+#X connect 10 0 4 0;
+#X connect 10 0 6 0;
+#X connect 10 0 14 0;
+#X connect 11 0 18 0;
+#X connect 11 1 19 0;
+#X connect 12 0 2 0;
+#X connect 13 0 3 0;
+#X connect 15 0 6 0;
+#X connect 16 0 14 0;
+#X connect 17 0 13 0;
+#X connect 17 0 0 0;
+#X connect 17 0 1 0;
+#X connect 17 0 15 0;
+#X connect 17 0 16 0;
+#X connect 18 0 12 0;
+#X connect 18 1 17 0;
+#X connect 19 0 20 0;
+#X connect 19 1 8 0;
+#X connect 20 0 2 0;
+#X restore 605 174 pd init;
+#X obj 605 157 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X msg 534 238 set;
+#X text 23 298 Inlet 1: message: set: overwrites the filter-buffers
+with the next incoming image.;
+#X text 439 378 see also:;
+#X obj 509 381 pix_tIIR;
+#X text 23 76 basically it works like the pd-object [biquad~] (except
+\, that applies to images instead of samples);
+#X text 39 134 y(n) = ff1 * w(n) + ff2 * w(n-1) + ff3 * w(n-2);
+#X text 40 149 w(n) = fb0 * x(n) + fb1 * w(n-1) + fb2 * w(n-2);
+#X text 32 104 the operation can be described by the following difference-equation:
+;
+#X text 18 166 x(n) describes the input-image \, y(n) is the output-image.
+;
+#X text 16 183 You can set all buffer-images w(m) to the next input-image
+x(n) with the "set"-command.;
+#X text 64 237 list:;
+#X obj 572 381 biquad~;
+#X text 50 12 Synopsis: [pix_biquad];
+#X obj 451 258 pix_biquad;
+#X floatatom 582 191 3 0 1 2 ff3 - -;
+#X obj 457 209 pack 1 0 0 1 0 0;
+#X text 22 327 Inlet 1: <list> : the filter-coefficients "fb0 fb1 fb2
+ff1 ff2 ff3";
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 20 0;
+#X connect 18 0 17 0;
+#X connect 20 0 50 0;
+#X connect 20 2 21 0;
+#X connect 21 0 20 1;
+#X connect 22 0 23 0;
+#X connect 23 0 20 0;
+#X connect 30 0 52 0;
+#X connect 31 0 52 1;
+#X connect 32 0 52 2;
+#X connect 33 0 52 3;
+#X connect 34 0 52 4;
+#X connect 35 0 30 0;
+#X connect 35 1 31 0;
+#X connect 35 2 32 0;
+#X connect 35 3 33 0;
+#X connect 35 4 34 0;
+#X connect 35 5 51 0;
+#X connect 36 0 35 0;
+#X connect 37 0 50 0;
+#X connect 50 0 18 0;
+#X connect 51 0 52 5;
+#X connect 52 0 50 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_bitmask-help.pd b/packages/noncvs/windows/extra/Gem/pix_bitmask-help.pd
index b67f165a..c3026cb0 100644
--- a/packages/noncvs/windows/extra/Gem/pix_bitmask-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_bitmask-help.pd
@@ -1,92 +1,92 @@
-#N canvas 43 367 654 479 10;
-#X text 452 8 GEM object;
-#X obj 8 245 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 248 Inlets:;
-#X text 38 335 Outlets:;
-#X obj 8 206 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 205 Arguments:;
-#X obj 7 76 cnv 15 430 125 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X obj 450 158 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 71 31 Class: pix object;
-#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 451 113 pd image;
-#X text 63 216 <none>;
-#X text 16 348 Outlet 1: gemlist;
-#X text 13 262 Inlet 1: gemlist;
-#X obj 451 233 pix_draw;
-#X text 516 105 open an image;
-#X text 509 118 (JPEG \, TIFF \, ..);
-#X text 50 12 Synopsis: [pix_bitmask];
-#X text 13 78 Description: mask out pixels;
-#X text 36 94 pix_bitmask uses a bit masking to change the pixels.
-If a single mask is used \, the alpha mask is assumed to be 255 (or
-\, pass everything).;
-#X text 35 137 The mask is an unsigned char \, which means it can go
-from 0-255 \, with 0 not passing any bits.;
-#X text 34 169 You may need to use pix_gain either before or after
-since low bit values will reduce the luminance of the pix.;
-#X obj 451 196 pix_bitmask;
-#X floatatom 487 172 5 0 255 2 single - -;
-#X msg 455 158 127;
-#X msg 455 176 128;
-#X msg 540 163 255 0 128;
-#X msg 547 185 0 128 0;
-#X text 13 278 Inlet 2: list: mask value for all channels (0..255)
-;
-#X text 13 295 Inlet 3: list: 3 (RGB) or 4 (RGBA) mask-values in INTeger
-(0..255);
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 17 0;
-#X connect 16 0 17 1;
-#X connect 17 0 29 0;
-#X connect 29 0 21 0;
-#X connect 30 0 29 1;
-#X connect 31 0 30 0;
-#X connect 32 0 30 0;
-#X connect 33 0 29 2;
-#X connect 34 0 29 2;
+#N canvas 43 367 654 479 10;
+#X text 452 8 GEM object;
+#X obj 8 245 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 248 Inlets:;
+#X text 38 335 Outlets:;
+#X obj 8 206 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 205 Arguments:;
+#X obj 7 76 cnv 15 430 125 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X obj 450 158 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 71 31 Class: pix object;
+#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 451 113 pd image;
+#X text 63 216 <none>;
+#X text 16 348 Outlet 1: gemlist;
+#X text 13 262 Inlet 1: gemlist;
+#X obj 451 233 pix_draw;
+#X text 516 105 open an image;
+#X text 509 118 (JPEG \, TIFF \, ..);
+#X text 50 12 Synopsis: [pix_bitmask];
+#X text 13 78 Description: mask out pixels;
+#X text 36 94 pix_bitmask uses a bit masking to change the pixels.
+If a single mask is used \, the alpha mask is assumed to be 255 (or
+\, pass everything).;
+#X text 35 137 The mask is an unsigned char \, which means it can go
+from 0-255 \, with 0 not passing any bits.;
+#X text 34 169 You may need to use pix_gain either before or after
+since low bit values will reduce the luminance of the pix.;
+#X obj 451 196 pix_bitmask;
+#X floatatom 487 172 5 0 255 2 single - -;
+#X msg 455 158 127;
+#X msg 455 176 128;
+#X msg 540 163 255 0 128;
+#X msg 547 185 0 128 0;
+#X text 13 278 Inlet 2: list: mask value for all channels (0..255)
+;
+#X text 13 295 Inlet 3: list: 3 (RGB) or 4 (RGBA) mask-values in INTeger
+(0..255);
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 17 0;
+#X connect 16 0 17 1;
+#X connect 17 0 29 0;
+#X connect 29 0 21 0;
+#X connect 30 0 29 1;
+#X connect 31 0 30 0;
+#X connect 32 0 30 0;
+#X connect 33 0 29 2;
+#X connect 34 0 29 2;
diff --git a/packages/noncvs/windows/extra/Gem/pix_blob-help.pd b/packages/noncvs/windows/extra/Gem/pix_blob-help.pd
index e6cbe238..261cc89c 100644
--- a/packages/noncvs/windows/extra/Gem/pix_blob-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_blob-help.pd
@@ -1,38 +1,38 @@
-#N canvas 0 0 634 679 10;
-#X msg 142 104 gemList;
-#X msg 142 307 gemList;
-#X text 169 16 part of GEM;
-#X floatatom 186 256 3 0 0;
-#X floatatom 164 281 3 0 0;
-#X obj 142 207 pix_blob;
-#X text 176 43 [pix_blob];
-#X text 93 73 get the "center of gravity" of an image;
-#X msg 175 133 <mode>;
-#X msg 209 173 <color-weights>;
-#X floatatom 209 232 3 0 0;
-#X text 250 231 size;
-#X text 232 261 Y;
-#X text 210 282 X;
-#X text 52 330 [pix_blob] will calculate the "center-of-gravity" of
-a certain (combination of) channel(s).;
-#X text 52 391 You can choose the combination of channels used for
-the calculation by changing the <mode>. Valid modes are: 0(gray)(default)
-\, 1(red) \, 2(green) \, 3(blue) \, 4(alpha);
-#X text 56 450 pE: selecting "red" (1) will weight position of each
-pixel with its red-value. Pixels with "more" red will be weighted stronger
-\, thus moving the "center of gravity" -- the blob position -- nearer
-to themself. The total amount of "red" in the image defines the size
-of the blob.;
-#X text 58 545 You can specify a custom combination of channels with
-<color-weights>. pE: "1 0 2" will give more weight to the blue-channel
-than to the red-channel \, green- and alpha-values will be ignored.
-;
-#X text 56 617 Specifing only one single color-weight <w> \, is the
-same as "<w> <w> <w> 0";
-#X connect 0 0 5 0;
-#X connect 5 0 1 0;
-#X connect 5 1 4 0;
-#X connect 5 2 3 0;
-#X connect 5 3 10 0;
-#X connect 8 0 5 1;
-#X connect 9 0 5 2;
+#N canvas 0 0 634 679 10;
+#X msg 142 104 gemList;
+#X msg 142 307 gemList;
+#X text 169 16 part of GEM;
+#X floatatom 186 256 3 0 0;
+#X floatatom 164 281 3 0 0;
+#X obj 142 207 pix_blob;
+#X text 176 43 [pix_blob];
+#X text 93 73 get the "center of gravity" of an image;
+#X msg 175 133 <mode>;
+#X msg 209 173 <color-weights>;
+#X floatatom 209 232 3 0 0;
+#X text 250 231 size;
+#X text 232 261 Y;
+#X text 210 282 X;
+#X text 52 330 [pix_blob] will calculate the "center-of-gravity" of
+a certain (combination of) channel(s).;
+#X text 52 391 You can choose the combination of channels used for
+the calculation by changing the <mode>. Valid modes are: 0(gray)(default)
+\, 1(red) \, 2(green) \, 3(blue) \, 4(alpha);
+#X text 56 450 pE: selecting "red" (1) will weight position of each
+pixel with its red-value. Pixels with "more" red will be weighted stronger
+\, thus moving the "center of gravity" -- the blob position -- nearer
+to themselves. The total amount of "red" in the image defines the size
+of the blob.;
+#X text 58 545 You can specify a custom combination of channels with
+<color-weights>. pE: "1 0 2" will give more weight to the blue-channel
+than to the red-channel \, green- and alpha-values will be ignored.
+;
+#X text 56 617 Specifing only one single color-weight <w> \, is the
+same as "<w> <w> <w> 0";
+#X connect 0 0 5 0;
+#X connect 5 0 1 0;
+#X connect 5 1 4 0;
+#X connect 5 2 3 0;
+#X connect 5 3 10 0;
+#X connect 8 0 5 1;
+#X connect 9 0 5 2;
diff --git a/packages/noncvs/windows/extra/Gem/pix_blobtracker-help.pd b/packages/noncvs/windows/extra/Gem/pix_blobtracker-help.pd
index c715fa70..6840d5e1 100644
--- a/packages/noncvs/windows/extra/Gem/pix_blobtracker-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_blobtracker-help.pd
@@ -1,420 +1,420 @@
-#N canvas 35 25 662 452 10;
-#X text 452 8 GEM object;
-#X obj 9 265 cnv 15 430 135 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 40 267 Inlets:;
-#X text 39 362 Outlets:;
-#X obj 9 227 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 18 226 Arguments:;
-#X obj 8 56 cnv 15 430 165 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 200 320 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 544 330 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X msg 67 70 set destroy;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X msg 156 71 set create;
-#X obj 67 41 route create;
-#X connect 2 0 7 0;
-#X connect 3 0 1 0;
-#X connect 4 0 0 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 0;
-#X connect 7 0 3 0;
-#X connect 7 0 4 0;
-#X connect 7 1 6 0;
-#X connect 7 1 5 0;
-#X restore 549 369 pd gemwin;
-#X msg 549 350 create;
-#X text 545 329 Create window:;
-#X obj 451 173 cnv 15 185 120 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 83 gemhead;
-#X text 17 376 Outlet 1: gemlist;
-#X text 24 281 Inlet 1: gemlist;
-#X obj 451 300 pix_texture;
-#X obj 451 151 pix_film;
-#X obj 515 151 t f;
-#X obj 464 103 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#N canvas 0 0 450 300 open 0;
-#X obj 85 49 inlet;
-#X obj 85 237 outlet;
-#X obj 85 145 openpanel;
-#X msg 85 179 open \$1;
-#X msg 259 213 auto 1;
-#X obj 259 189 loadbang;
-#X connect 0 0 2 0;
-#X connect 2 0 3 0;
-#X connect 3 0 1 0;
-#X connect 4 0 1 0;
-#X connect 5 0 4 0;
-#X restore 464 131 pd open;
-#X text 505 77 open a supported;
-#X text 506 88 movie-clip;
-#X text 523 114 macOS: quicktime;
-#X text 516 104 windos: *.AVI;
-#X text 523 124 linux: depends...;
-#X floatatom 463 190 3 0 100 2 threshold - -;
-#X obj 463 207 / 100;
-#X text 50 12 Synopsis: [pix_blobtracker];
-#X text 71 31 Class: pix object (analysis);
-#X text 29 57 Description: blob detector and tracker;
-#X obj 451 262 pix_blobtracker;
-#X obj 451 322 square 4;
-#X msg 463 228 threshold \$1;
-#X floatatom 553 190 3 0 100 2 blobsize - -;
-#X obj 553 207 / 100;
-#X msg 553 228 blobSize \$1;
-#N canvas 0 0 450 300 showblobs 0;
-#X obj 67 113 route 0 1 2 3 4 5;
-#N canvas 0 0 451 339 showblob 0;
-#X obj 76 184 gemhead;
-#X obj 76 266 translateXYZ;
-#X obj 102 58 pack;
-#X obj 102 34 inlet x|y;
-#X obj 76 225 color 1 1 1;
-#X obj 219 75 loadbang;
-#X obj 219 122 random 256;
-#X obj 219 143 / 256;
-#X obj 219 185 hsv2rgb;
-#X msg 219 166 \$1 1 1;
-#X obj 219 97 t b b;
-#X obj 76 286 sphere 0.2;
-#X msg 249 233 0;
-#X msg 216 233 0.2;
-#X obj 216 254 f;
-#X obj 298 47 t b;
-#X obj 298 24 inlet reset;
-#X obj 139 183 t f b;
-#X obj 102 85 unpack;
-#X obj 102 108 * 8;
-#X obj 102 131 - 4;
-#X obj 145 106 * 8;
-#X obj 145 129 - 4;
-#X connect 0 0 4 0;
-#X connect 1 0 11 0;
-#X connect 2 0 18 0;
-#X connect 3 0 2 0;
-#X connect 4 0 1 0;
-#X connect 5 0 10 0;
-#X connect 6 0 7 0;
-#X connect 7 0 9 0;
-#X connect 8 0 4 1;
-#X connect 9 0 8 0;
-#X connect 10 0 6 0;
-#X connect 10 1 12 0;
-#X connect 12 0 14 0;
-#X connect 13 0 14 0;
-#X connect 14 0 11 1;
-#X connect 15 0 12 0;
-#X connect 16 0 15 0;
-#X connect 17 0 1 2;
-#X connect 17 1 13 0;
-#X connect 18 0 19 0;
-#X connect 18 1 21 0;
-#X connect 19 0 20 0;
-#X connect 20 0 1 1;
-#X connect 21 0 22 0;
-#X connect 22 0 17 0;
-#X restore 67 136 pd showblob;
-#N canvas 0 0 451 339 showblob 0;
-#X obj 76 184 gemhead;
-#X obj 76 266 translateXYZ;
-#X obj 102 58 pack;
-#X obj 102 34 inlet x|y;
-#X obj 76 225 color 1 1 1;
-#X obj 219 75 loadbang;
-#X obj 219 122 random 256;
-#X obj 219 143 / 256;
-#X obj 219 185 hsv2rgb;
-#X msg 219 166 \$1 1 1;
-#X obj 219 97 t b b;
-#X obj 76 286 sphere 0.2;
-#X msg 249 233 0;
-#X msg 216 233 0.2;
-#X obj 216 254 f;
-#X obj 298 47 t b;
-#X obj 298 24 inlet reset;
-#X obj 139 183 t f b;
-#X obj 102 85 unpack;
-#X obj 102 108 * 8;
-#X obj 102 131 - 4;
-#X obj 145 106 * 8;
-#X obj 145 129 - 4;
-#X connect 0 0 4 0;
-#X connect 1 0 11 0;
-#X connect 2 0 18 0;
-#X connect 3 0 2 0;
-#X connect 4 0 1 0;
-#X connect 5 0 10 0;
-#X connect 6 0 7 0;
-#X connect 7 0 9 0;
-#X connect 8 0 4 1;
-#X connect 9 0 8 0;
-#X connect 10 0 6 0;
-#X connect 10 1 12 0;
-#X connect 12 0 14 0;
-#X connect 13 0 14 0;
-#X connect 14 0 11 1;
-#X connect 15 0 12 0;
-#X connect 16 0 15 0;
-#X connect 17 0 1 2;
-#X connect 17 1 13 0;
-#X connect 18 0 19 0;
-#X connect 18 1 21 0;
-#X connect 19 0 20 0;
-#X connect 20 0 1 1;
-#X connect 21 0 22 0;
-#X connect 22 0 17 0;
-#X restore 86 155 pd showblob;
-#N canvas 0 0 451 339 showblob 0;
-#X obj 76 184 gemhead;
-#X obj 76 266 translateXYZ;
-#X obj 102 58 pack;
-#X obj 102 34 inlet x|y;
-#X obj 76 225 color 1 1 1;
-#X obj 219 75 loadbang;
-#X obj 219 122 random 256;
-#X obj 219 143 / 256;
-#X obj 219 185 hsv2rgb;
-#X msg 219 166 \$1 1 1;
-#X obj 219 97 t b b;
-#X obj 76 286 sphere 0.2;
-#X msg 249 233 0;
-#X msg 216 233 0.2;
-#X obj 216 254 f;
-#X obj 298 47 t b;
-#X obj 298 24 inlet reset;
-#X obj 139 183 t f b;
-#X obj 102 92 unpack;
-#X obj 102 115 * 8;
-#X obj 102 138 - 4;
-#X obj 145 113 * 8;
-#X obj 145 136 - 4;
-#X connect 0 0 4 0;
-#X connect 1 0 11 0;
-#X connect 2 0 18 0;
-#X connect 3 0 2 0;
-#X connect 4 0 1 0;
-#X connect 5 0 10 0;
-#X connect 6 0 7 0;
-#X connect 7 0 9 0;
-#X connect 8 0 4 1;
-#X connect 9 0 8 0;
-#X connect 10 0 6 0;
-#X connect 10 1 12 0;
-#X connect 12 0 14 0;
-#X connect 13 0 14 0;
-#X connect 14 0 11 1;
-#X connect 15 0 12 0;
-#X connect 16 0 15 0;
-#X connect 17 0 1 2;
-#X connect 17 1 13 0;
-#X connect 18 0 19 0;
-#X connect 18 1 21 0;
-#X connect 19 0 20 0;
-#X connect 20 0 1 1;
-#X connect 21 0 22 0;
-#X connect 22 0 17 0;
-#X restore 105 174 pd showblob;
-#N canvas 0 0 451 339 showblob 0;
-#X obj 76 184 gemhead;
-#X obj 76 266 translateXYZ;
-#X obj 102 58 pack;
-#X obj 102 34 inlet x|y;
-#X obj 76 225 color 1 1 1;
-#X obj 219 75 loadbang;
-#X obj 219 122 random 256;
-#X obj 219 143 / 256;
-#X obj 219 185 hsv2rgb;
-#X msg 219 166 \$1 1 1;
-#X obj 219 97 t b b;
-#X obj 76 286 sphere 0.2;
-#X msg 249 233 0;
-#X msg 216 233 0.2;
-#X obj 216 254 f;
-#X obj 298 47 t b;
-#X obj 298 24 inlet reset;
-#X obj 139 183 t f b;
-#X obj 102 85 unpack;
-#X obj 102 108 * 8;
-#X obj 102 131 - 4;
-#X obj 145 106 * 8;
-#X obj 145 129 - 4;
-#X connect 0 0 4 0;
-#X connect 1 0 11 0;
-#X connect 2 0 18 0;
-#X connect 3 0 2 0;
-#X connect 4 0 1 0;
-#X connect 5 0 10 0;
-#X connect 6 0 7 0;
-#X connect 7 0 9 0;
-#X connect 8 0 4 1;
-#X connect 9 0 8 0;
-#X connect 10 0 6 0;
-#X connect 10 1 12 0;
-#X connect 12 0 14 0;
-#X connect 13 0 14 0;
-#X connect 14 0 11 1;
-#X connect 15 0 12 0;
-#X connect 16 0 15 0;
-#X connect 17 0 1 2;
-#X connect 17 1 13 0;
-#X connect 18 0 19 0;
-#X connect 18 1 21 0;
-#X connect 19 0 20 0;
-#X connect 20 0 1 1;
-#X connect 21 0 22 0;
-#X connect 22 0 17 0;
-#X restore 124 193 pd showblob;
-#N canvas 0 0 451 339 showblob 0;
-#X obj 76 184 gemhead;
-#X obj 76 266 translateXYZ;
-#X obj 102 60 pack;
-#X obj 102 34 inlet x|y;
-#X obj 76 225 color 1 1 1;
-#X obj 219 75 loadbang;
-#X obj 219 122 random 256;
-#X obj 219 143 / 256;
-#X obj 219 185 hsv2rgb;
-#X msg 219 166 \$1 1 1;
-#X obj 219 97 t b b;
-#X obj 76 286 sphere 0.2;
-#X msg 249 233 0;
-#X msg 216 233 0.2;
-#X obj 216 254 f;
-#X obj 298 47 t b;
-#X obj 298 24 inlet reset;
-#X obj 139 183 t f b;
-#X obj 102 85 unpack;
-#X obj 102 108 * 8;
-#X obj 102 131 - 4;
-#X obj 145 106 * 8;
-#X obj 145 129 - 4;
-#X connect 0 0 4 0;
-#X connect 1 0 11 0;
-#X connect 2 0 18 0;
-#X connect 3 0 2 0;
-#X connect 4 0 1 0;
-#X connect 5 0 10 0;
-#X connect 6 0 7 0;
-#X connect 7 0 9 0;
-#X connect 8 0 4 1;
-#X connect 9 0 8 0;
-#X connect 10 0 6 0;
-#X connect 10 1 12 0;
-#X connect 12 0 14 0;
-#X connect 13 0 14 0;
-#X connect 14 0 11 1;
-#X connect 15 0 12 0;
-#X connect 16 0 15 0;
-#X connect 17 0 1 2;
-#X connect 17 1 13 0;
-#X connect 18 0 19 0;
-#X connect 18 1 21 0;
-#X connect 19 0 20 0;
-#X connect 20 0 1 1;
-#X connect 21 0 22 0;
-#X connect 22 0 17 0;
-#X restore 143 212 pd showblob;
-#N canvas 0 0 451 339 showblob 0;
-#X obj 76 184 gemhead;
-#X obj 76 266 translateXYZ;
-#X obj 102 58 pack;
-#X obj 102 34 inlet x|y;
-#X obj 76 225 color 1 1 1;
-#X obj 219 75 loadbang;
-#X obj 219 122 random 256;
-#X obj 219 143 / 256;
-#X obj 219 185 hsv2rgb;
-#X msg 219 166 \$1 1 1;
-#X obj 219 97 t b b;
-#X obj 76 286 sphere 0.2;
-#X msg 249 233 0;
-#X msg 216 233 0.2;
-#X obj 216 254 f;
-#X obj 298 47 t b;
-#X obj 298 24 inlet reset;
-#X obj 139 183 t f b;
-#X obj 102 85 unpack;
-#X obj 102 108 * 8;
-#X obj 102 131 - 4;
-#X obj 145 106 * 8;
-#X obj 145 129 - 4;
-#X connect 0 0 4 0;
-#X connect 1 0 11 0;
-#X connect 2 0 18 0;
-#X connect 3 0 2 0;
-#X connect 4 0 1 0;
-#X connect 5 0 10 0;
-#X connect 6 0 7 0;
-#X connect 7 0 9 0;
-#X connect 8 0 4 1;
-#X connect 9 0 8 0;
-#X connect 10 0 6 0;
-#X connect 10 1 12 0;
-#X connect 12 0 14 0;
-#X connect 13 0 14 0;
-#X connect 14 0 11 1;
-#X connect 15 0 12 0;
-#X connect 16 0 15 0;
-#X connect 17 0 1 2;
-#X connect 17 1 13 0;
-#X connect 18 0 19 0;
-#X connect 18 1 21 0;
-#X connect 19 0 20 0;
-#X connect 20 0 1 1;
-#X connect 21 0 22 0;
-#X connect 22 0 17 0;
-#X restore 162 231 pd showblob;
-#X obj 67 86 inlet blobinformation;
-#X connect 0 0 1 0;
-#X connect 0 1 2 0;
-#X connect 0 2 3 0;
-#X connect 0 3 4 0;
-#X connect 0 4 5 0;
-#X connect 0 5 6 0;
-#X connect 7 0 0 0;
-#X restore 541 301 pd showblobs;
-#X text 17 78 [pix_blobtracker] is able to detect multiple blobs within
-an image and tries to keep track of which blob is which to keep indices
-consistant while the blobs are moving.;
-#X text 16 127 [pix_blobtracker] is an abstraction based on [pix_multiblob]
-for blob-detection and some mtx-objects from "iemmatrix" (which you
-need to have installed on your system!) to do the actual tracking.
-;
-#X text 64 237 int: max number of blobs to detect;
-#X text 21 187 like [pix_multiblob] this object only takes the luminance
-into account for blob-tracking;
-#X text 20 408 see also:;
-#X obj 104 405 pix_multiblob;
-#X text 24 296 Inlet 1: threshold <float>: minimum luminance of a pixel
-to be considered part of a blob. (default=0.04);
-#X text 24 325 Inlet 1: blobSize <float>: minimum relative size of
-a blob. (default=0.1);
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 18 0;
-#X connect 17 0 33 0;
-#X connect 18 0 32 0;
-#X connect 18 2 19 0;
-#X connect 19 0 18 1;
-#X connect 20 0 21 0;
-#X connect 21 0 18 0;
-#X connect 27 0 28 0;
-#X connect 28 0 34 0;
-#X connect 32 0 17 0;
-#X connect 32 1 38 0;
-#X connect 34 0 32 0;
-#X connect 35 0 36 0;
-#X connect 36 0 37 0;
-#X connect 37 0 32 0;
+#N canvas 35 25 662 452 10;
+#X text 452 8 GEM object;
+#X obj 9 265 cnv 15 430 135 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 40 267 Inlets:;
+#X text 39 362 Outlets:;
+#X obj 9 227 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 18 226 Arguments:;
+#X obj 8 56 cnv 15 430 165 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 200 320 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 544 330 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X msg 67 70 set destroy;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X msg 156 71 set create;
+#X obj 67 41 route create;
+#X connect 2 0 7 0;
+#X connect 3 0 1 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 0;
+#X connect 7 0 3 0;
+#X connect 7 0 4 0;
+#X connect 7 1 6 0;
+#X connect 7 1 5 0;
+#X restore 549 369 pd gemwin;
+#X msg 549 350 create;
+#X text 545 329 Create window:;
+#X obj 451 173 cnv 15 185 120 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 83 gemhead;
+#X text 17 376 Outlet 1: gemlist;
+#X text 24 281 Inlet 1: gemlist;
+#X obj 451 300 pix_texture;
+#X obj 451 151 pix_film;
+#X obj 515 151 t f;
+#X obj 464 103 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#N canvas 0 0 450 300 open 0;
+#X obj 85 49 inlet;
+#X obj 85 237 outlet;
+#X obj 85 145 openpanel;
+#X msg 85 179 open \$1;
+#X msg 259 213 auto 1;
+#X obj 259 189 loadbang;
+#X connect 0 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 1 0;
+#X connect 5 0 4 0;
+#X restore 464 131 pd open;
+#X text 505 77 open a supported;
+#X text 506 88 movie-clip;
+#X text 523 114 macOS: quicktime;
+#X text 516 104 windos: *.AVI;
+#X text 523 124 linux: depends...;
+#X floatatom 463 190 3 0 100 2 threshold - -;
+#X obj 463 207 / 100;
+#X text 50 12 Synopsis: [pix_blobtracker];
+#X text 71 31 Class: pix object (analysis);
+#X text 29 57 Description: blob detector and tracker;
+#X obj 451 262 pix_blobtracker;
+#X obj 451 322 square 4;
+#X msg 463 228 threshold \$1;
+#X floatatom 553 190 3 0 100 2 blobsize - -;
+#X obj 553 207 / 100;
+#X msg 553 228 blobSize \$1;
+#N canvas 0 0 450 300 showblobs 0;
+#X obj 67 113 route 0 1 2 3 4 5;
+#N canvas 0 0 451 339 showblob 0;
+#X obj 76 184 gemhead;
+#X obj 76 266 translateXYZ;
+#X obj 102 58 pack;
+#X obj 102 34 inlet x|y;
+#X obj 76 225 color 1 1 1;
+#X obj 219 75 loadbang;
+#X obj 219 122 random 256;
+#X obj 219 143 / 256;
+#X obj 219 185 hsv2rgb;
+#X msg 219 166 \$1 1 1;
+#X obj 219 97 t b b;
+#X obj 76 286 sphere 0.2;
+#X msg 249 233 0;
+#X msg 216 233 0.2;
+#X obj 216 254 f;
+#X obj 298 47 t b;
+#X obj 298 24 inlet reset;
+#X obj 139 183 t f b;
+#X obj 102 85 unpack;
+#X obj 102 108 * 8;
+#X obj 102 131 - 4;
+#X obj 145 106 * 8;
+#X obj 145 129 - 4;
+#X connect 0 0 4 0;
+#X connect 1 0 11 0;
+#X connect 2 0 18 0;
+#X connect 3 0 2 0;
+#X connect 4 0 1 0;
+#X connect 5 0 10 0;
+#X connect 6 0 7 0;
+#X connect 7 0 9 0;
+#X connect 8 0 4 1;
+#X connect 9 0 8 0;
+#X connect 10 0 6 0;
+#X connect 10 1 12 0;
+#X connect 12 0 14 0;
+#X connect 13 0 14 0;
+#X connect 14 0 11 1;
+#X connect 15 0 12 0;
+#X connect 16 0 15 0;
+#X connect 17 0 1 2;
+#X connect 17 1 13 0;
+#X connect 18 0 19 0;
+#X connect 18 1 21 0;
+#X connect 19 0 20 0;
+#X connect 20 0 1 1;
+#X connect 21 0 22 0;
+#X connect 22 0 17 0;
+#X restore 67 136 pd showblob;
+#N canvas 0 0 451 339 showblob 0;
+#X obj 76 184 gemhead;
+#X obj 76 266 translateXYZ;
+#X obj 102 58 pack;
+#X obj 102 34 inlet x|y;
+#X obj 76 225 color 1 1 1;
+#X obj 219 75 loadbang;
+#X obj 219 122 random 256;
+#X obj 219 143 / 256;
+#X obj 219 185 hsv2rgb;
+#X msg 219 166 \$1 1 1;
+#X obj 219 97 t b b;
+#X obj 76 286 sphere 0.2;
+#X msg 249 233 0;
+#X msg 216 233 0.2;
+#X obj 216 254 f;
+#X obj 298 47 t b;
+#X obj 298 24 inlet reset;
+#X obj 139 183 t f b;
+#X obj 102 85 unpack;
+#X obj 102 108 * 8;
+#X obj 102 131 - 4;
+#X obj 145 106 * 8;
+#X obj 145 129 - 4;
+#X connect 0 0 4 0;
+#X connect 1 0 11 0;
+#X connect 2 0 18 0;
+#X connect 3 0 2 0;
+#X connect 4 0 1 0;
+#X connect 5 0 10 0;
+#X connect 6 0 7 0;
+#X connect 7 0 9 0;
+#X connect 8 0 4 1;
+#X connect 9 0 8 0;
+#X connect 10 0 6 0;
+#X connect 10 1 12 0;
+#X connect 12 0 14 0;
+#X connect 13 0 14 0;
+#X connect 14 0 11 1;
+#X connect 15 0 12 0;
+#X connect 16 0 15 0;
+#X connect 17 0 1 2;
+#X connect 17 1 13 0;
+#X connect 18 0 19 0;
+#X connect 18 1 21 0;
+#X connect 19 0 20 0;
+#X connect 20 0 1 1;
+#X connect 21 0 22 0;
+#X connect 22 0 17 0;
+#X restore 86 155 pd showblob;
+#N canvas 0 0 451 339 showblob 0;
+#X obj 76 184 gemhead;
+#X obj 76 266 translateXYZ;
+#X obj 102 58 pack;
+#X obj 102 34 inlet x|y;
+#X obj 76 225 color 1 1 1;
+#X obj 219 75 loadbang;
+#X obj 219 122 random 256;
+#X obj 219 143 / 256;
+#X obj 219 185 hsv2rgb;
+#X msg 219 166 \$1 1 1;
+#X obj 219 97 t b b;
+#X obj 76 286 sphere 0.2;
+#X msg 249 233 0;
+#X msg 216 233 0.2;
+#X obj 216 254 f;
+#X obj 298 47 t b;
+#X obj 298 24 inlet reset;
+#X obj 139 183 t f b;
+#X obj 102 92 unpack;
+#X obj 102 115 * 8;
+#X obj 102 138 - 4;
+#X obj 145 113 * 8;
+#X obj 145 136 - 4;
+#X connect 0 0 4 0;
+#X connect 1 0 11 0;
+#X connect 2 0 18 0;
+#X connect 3 0 2 0;
+#X connect 4 0 1 0;
+#X connect 5 0 10 0;
+#X connect 6 0 7 0;
+#X connect 7 0 9 0;
+#X connect 8 0 4 1;
+#X connect 9 0 8 0;
+#X connect 10 0 6 0;
+#X connect 10 1 12 0;
+#X connect 12 0 14 0;
+#X connect 13 0 14 0;
+#X connect 14 0 11 1;
+#X connect 15 0 12 0;
+#X connect 16 0 15 0;
+#X connect 17 0 1 2;
+#X connect 17 1 13 0;
+#X connect 18 0 19 0;
+#X connect 18 1 21 0;
+#X connect 19 0 20 0;
+#X connect 20 0 1 1;
+#X connect 21 0 22 0;
+#X connect 22 0 17 0;
+#X restore 105 174 pd showblob;
+#N canvas 0 0 451 339 showblob 0;
+#X obj 76 184 gemhead;
+#X obj 76 266 translateXYZ;
+#X obj 102 58 pack;
+#X obj 102 34 inlet x|y;
+#X obj 76 225 color 1 1 1;
+#X obj 219 75 loadbang;
+#X obj 219 122 random 256;
+#X obj 219 143 / 256;
+#X obj 219 185 hsv2rgb;
+#X msg 219 166 \$1 1 1;
+#X obj 219 97 t b b;
+#X obj 76 286 sphere 0.2;
+#X msg 249 233 0;
+#X msg 216 233 0.2;
+#X obj 216 254 f;
+#X obj 298 47 t b;
+#X obj 298 24 inlet reset;
+#X obj 139 183 t f b;
+#X obj 102 85 unpack;
+#X obj 102 108 * 8;
+#X obj 102 131 - 4;
+#X obj 145 106 * 8;
+#X obj 145 129 - 4;
+#X connect 0 0 4 0;
+#X connect 1 0 11 0;
+#X connect 2 0 18 0;
+#X connect 3 0 2 0;
+#X connect 4 0 1 0;
+#X connect 5 0 10 0;
+#X connect 6 0 7 0;
+#X connect 7 0 9 0;
+#X connect 8 0 4 1;
+#X connect 9 0 8 0;
+#X connect 10 0 6 0;
+#X connect 10 1 12 0;
+#X connect 12 0 14 0;
+#X connect 13 0 14 0;
+#X connect 14 0 11 1;
+#X connect 15 0 12 0;
+#X connect 16 0 15 0;
+#X connect 17 0 1 2;
+#X connect 17 1 13 0;
+#X connect 18 0 19 0;
+#X connect 18 1 21 0;
+#X connect 19 0 20 0;
+#X connect 20 0 1 1;
+#X connect 21 0 22 0;
+#X connect 22 0 17 0;
+#X restore 124 193 pd showblob;
+#N canvas 0 0 451 339 showblob 0;
+#X obj 76 184 gemhead;
+#X obj 76 266 translateXYZ;
+#X obj 102 60 pack;
+#X obj 102 34 inlet x|y;
+#X obj 76 225 color 1 1 1;
+#X obj 219 75 loadbang;
+#X obj 219 122 random 256;
+#X obj 219 143 / 256;
+#X obj 219 185 hsv2rgb;
+#X msg 219 166 \$1 1 1;
+#X obj 219 97 t b b;
+#X obj 76 286 sphere 0.2;
+#X msg 249 233 0;
+#X msg 216 233 0.2;
+#X obj 216 254 f;
+#X obj 298 47 t b;
+#X obj 298 24 inlet reset;
+#X obj 139 183 t f b;
+#X obj 102 85 unpack;
+#X obj 102 108 * 8;
+#X obj 102 131 - 4;
+#X obj 145 106 * 8;
+#X obj 145 129 - 4;
+#X connect 0 0 4 0;
+#X connect 1 0 11 0;
+#X connect 2 0 18 0;
+#X connect 3 0 2 0;
+#X connect 4 0 1 0;
+#X connect 5 0 10 0;
+#X connect 6 0 7 0;
+#X connect 7 0 9 0;
+#X connect 8 0 4 1;
+#X connect 9 0 8 0;
+#X connect 10 0 6 0;
+#X connect 10 1 12 0;
+#X connect 12 0 14 0;
+#X connect 13 0 14 0;
+#X connect 14 0 11 1;
+#X connect 15 0 12 0;
+#X connect 16 0 15 0;
+#X connect 17 0 1 2;
+#X connect 17 1 13 0;
+#X connect 18 0 19 0;
+#X connect 18 1 21 0;
+#X connect 19 0 20 0;
+#X connect 20 0 1 1;
+#X connect 21 0 22 0;
+#X connect 22 0 17 0;
+#X restore 143 212 pd showblob;
+#N canvas 0 0 451 339 showblob 0;
+#X obj 76 184 gemhead;
+#X obj 76 266 translateXYZ;
+#X obj 102 58 pack;
+#X obj 102 34 inlet x|y;
+#X obj 76 225 color 1 1 1;
+#X obj 219 75 loadbang;
+#X obj 219 122 random 256;
+#X obj 219 143 / 256;
+#X obj 219 185 hsv2rgb;
+#X msg 219 166 \$1 1 1;
+#X obj 219 97 t b b;
+#X obj 76 286 sphere 0.2;
+#X msg 249 233 0;
+#X msg 216 233 0.2;
+#X obj 216 254 f;
+#X obj 298 47 t b;
+#X obj 298 24 inlet reset;
+#X obj 139 183 t f b;
+#X obj 102 85 unpack;
+#X obj 102 108 * 8;
+#X obj 102 131 - 4;
+#X obj 145 106 * 8;
+#X obj 145 129 - 4;
+#X connect 0 0 4 0;
+#X connect 1 0 11 0;
+#X connect 2 0 18 0;
+#X connect 3 0 2 0;
+#X connect 4 0 1 0;
+#X connect 5 0 10 0;
+#X connect 6 0 7 0;
+#X connect 7 0 9 0;
+#X connect 8 0 4 1;
+#X connect 9 0 8 0;
+#X connect 10 0 6 0;
+#X connect 10 1 12 0;
+#X connect 12 0 14 0;
+#X connect 13 0 14 0;
+#X connect 14 0 11 1;
+#X connect 15 0 12 0;
+#X connect 16 0 15 0;
+#X connect 17 0 1 2;
+#X connect 17 1 13 0;
+#X connect 18 0 19 0;
+#X connect 18 1 21 0;
+#X connect 19 0 20 0;
+#X connect 20 0 1 1;
+#X connect 21 0 22 0;
+#X connect 22 0 17 0;
+#X restore 162 231 pd showblob;
+#X obj 67 86 inlet blobinformation;
+#X connect 0 0 1 0;
+#X connect 0 1 2 0;
+#X connect 0 2 3 0;
+#X connect 0 3 4 0;
+#X connect 0 4 5 0;
+#X connect 0 5 6 0;
+#X connect 7 0 0 0;
+#X restore 541 301 pd showblobs;
+#X text 17 78 [pix_blobtracker] is able to detect multiple blobs within
+an image and tries to keep track of which blob is which to keep indices
+consistant while the blobs are moving.;
+#X text 16 127 [pix_blobtracker] is an abstraction based on [pix_multiblob]
+for blob-detection and some mtx-objects from "iemmatrix" (which you
+need to have installed on your system!) to do the actual tracking.
+;
+#X text 64 237 int: max number of blobs to detect;
+#X text 21 187 like [pix_multiblob] this object only takes the luminance
+into account for blob-tracking;
+#X text 20 408 see also:;
+#X obj 104 405 pix_multiblob;
+#X text 24 296 Inlet 1: threshold <float>: minimum luminance of a pixel
+to be considered part of a blob. (default=0.04);
+#X text 24 325 Inlet 1: blobSize <float>: minimum relative size of
+a blob. (default=0.1);
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 18 0;
+#X connect 17 0 33 0;
+#X connect 18 0 32 0;
+#X connect 18 2 19 0;
+#X connect 19 0 18 1;
+#X connect 20 0 21 0;
+#X connect 21 0 18 0;
+#X connect 27 0 28 0;
+#X connect 28 0 34 0;
+#X connect 32 0 17 0;
+#X connect 32 1 38 0;
+#X connect 34 0 32 0;
+#X connect 35 0 36 0;
+#X connect 36 0 37 0;
+#X connect 37 0 32 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_blobtracker.pd b/packages/noncvs/windows/extra/Gem/pix_blobtracker.pd
index dcdbf20b..a0a93f8d 100644
--- a/packages/noncvs/windows/extra/Gem/pix_blobtracker.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_blobtracker.pd
@@ -1,132 +1,132 @@
-#N canvas 77 45 654 552 10;
-#X declare -lib Gem -lib iemmatrix;
-#N canvas 0 0 571 399 matrix->indexlist 0;
-#X obj 133 90 inlet;
-#X obj 133 298 outlet;
-#X obj 133 163 mtx;
-#X msg 133 137 row;
-#X obj 133 109 t b a b;
-#X obj 212 227 i;
-#X obj 239 228 + 1;
-#X obj 133 248 pack 0 0 0 0;
-#X obj 133 210 t l b;
-#X msg 133 273 \$4 \$1 \$2 \$3;
-#X msg 228 206 0;
-#X msg 133 189 \$1 \$2 \$3;
-#X connect 0 0 4 0;
-#X connect 2 0 11 0;
-#X connect 3 0 2 0;
-#X connect 4 0 3 0;
-#X connect 4 1 2 1;
-#X connect 4 2 10 0;
-#X connect 5 0 6 0;
-#X connect 5 0 7 3;
-#X connect 6 0 5 1;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 5 0;
-#X connect 9 0 1 0;
-#X connect 10 0 5 1;
-#X connect 11 0 8 0;
-#X restore 324 518 pd matrix->indexlist;
-#X obj 97 197 inlet gemlist;
-#X obj 97 402 outlet gemlist;
-#X obj 231 429 t a;
-#X obj 231 343 t a a;
-#X obj 324 428 mtx_mul;
-#X obj 354 490 outlet numblobs;
-#X obj 324 449 t a a;
-#X obj 354 471 mtx_size;
-#X obj 231 363 mtx_resize \$1 2;
-#N canvas 0 0 518 479 mtx_matcher 0;
-#X obj 61 200 mtx_distance2;
-#X obj 61 176 t a a;
-#X obj 61 244 t a a;
-#X obj 61 279 mtx_mul;
-#X obj 61 325 outlet matched;
-#X obj 171 325 outlet matcher;
-#X obj 147 177 inlet dest;
-#X obj 61 149 inlet source;
-#X text 25 105 both "source" and "dest" must have the same number of
-columns (dimension in feature-space);
-#N canvas 0 0 618 479 mtx_rowpermutate 0;
-#X obj 150 214 t b a;
-#X obj 150 235 mtx;
-#X obj 150 256 mtx_mul;
-#X obj 111 192 mtx_pivot -1;
-#X text 17 19 this unfortunately does not guarantee to give as a minimum
-trace of the result!;
-#X obj 150 309 outlet rowpermutator;
-#X obj 111 141 inlet permutans;
-#X connect 0 0 1 0;
-#X connect 0 1 2 1;
-#X connect 1 0 2 0;
-#X connect 2 0 5 0;
-#X connect 3 1 0 0;
-#X connect 3 2 1 1;
-#X connect 6 0 3 0;
-#X restore 61 221 pd mtx_rowpermutate;
-#X text 34 383 this algorithm is _far_ from being perfect! the [mtx_rowpermutate]
-does not really guarantee that the trace of the result is a global
-mimimum \; if it is not \, than the match will be sub-optimal! this
-will be even worse \, if there are several _equal_ (sub)minima in the
-distance-matrix.;
-#X text 158 194 greater distances have an extra penalty (^2) \; is
-this ok?;
-#X text 32 52 we calculate the euclidean distance between the vectors
-of the 2 sets and try to find a trace with minimum penalty;
-#X text 32 22 this tries to get the best (weighted) match between 2
-sets of feature-vectors.;
-#X connect 0 0 9 0;
-#X connect 1 0 0 0;
-#X connect 1 1 3 1;
-#X connect 2 0 3 0;
-#X connect 2 1 5 0;
-#X connect 3 0 4 0;
-#X connect 6 0 0 1;
-#X connect 7 0 1 0;
-#X connect 9 0 2 0;
-#X restore 231 397 pd mtx_matcher;
-#X text 91 114 this blobtracker is far from being perfect. for an explanation
-read the comments in [pd mtx_matcher];
-#X text 93 536 we don't want to output "matrix" \, but pure pd-lists
-instead;
-#X obj 324 566 outlet bloblists;
-#X text 344 402 this is the work-horse for the tracking;
-#X text 95 10 part of Gem;
-#X text 51 253 the work-horse for detection;
-#X obj 301 224 loadbang;
-#X obj 301 243 f \$1;
-#X obj 301 262 moses 1;
-#X msg 331 343 6 2;
-#X obj 301 281 t b b;
-#X text 56 155 TODO: output only those blobs that are really detected
-;
-#X obj 231 322 mtx_resize \$1 0;
-#X msg 331 302 6 0;
-#X obj 97 269 pix_multiblob \$1;
-#X obj 97 30 declare -lib Gem -lib iemmatrix;
-#X text 92 66 copyright (c) IOhannes m zmoelnig \, 2005 \; you may
-use this under the terms of the GnuGPL v2.0 or later;
-#X connect 0 0 13 0;
-#X connect 1 0 25 0;
-#X connect 3 0 10 1;
-#X connect 4 0 9 0;
-#X connect 4 1 5 1;
-#X connect 5 0 7 0;
-#X connect 7 0 0 0;
-#X connect 7 1 8 0;
-#X connect 8 0 6 0;
-#X connect 9 0 10 0;
-#X connect 10 0 3 0;
-#X connect 10 1 5 0;
-#X connect 17 0 18 0;
-#X connect 18 0 19 0;
-#X connect 19 0 21 0;
-#X connect 20 0 9 1;
-#X connect 21 0 20 0;
-#X connect 21 1 24 0;
-#X connect 23 0 4 0;
-#X connect 24 0 23 1;
-#X connect 25 0 2 0;
-#X connect 25 1 23 0;
+#N canvas 77 45 654 552 10;
+#X declare -lib Gem -lib iemmatrix;
+#N canvas 0 0 571 399 matrix->indexlist 0;
+#X obj 133 90 inlet;
+#X obj 133 298 outlet;
+#X obj 133 163 mtx;
+#X msg 133 137 row;
+#X obj 133 109 t b a b;
+#X obj 212 227 i;
+#X obj 239 228 + 1;
+#X obj 133 248 pack 0 0 0 0;
+#X obj 133 210 t l b;
+#X msg 133 273 \$4 \$1 \$2 \$3;
+#X msg 228 206 0;
+#X msg 133 189 \$1 \$2 \$3;
+#X connect 0 0 4 0;
+#X connect 2 0 11 0;
+#X connect 3 0 2 0;
+#X connect 4 0 3 0;
+#X connect 4 1 2 1;
+#X connect 4 2 10 0;
+#X connect 5 0 6 0;
+#X connect 5 0 7 3;
+#X connect 6 0 5 1;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 5 0;
+#X connect 9 0 1 0;
+#X connect 10 0 5 1;
+#X connect 11 0 8 0;
+#X restore 324 518 pd matrix->indexlist;
+#X obj 97 197 inlet gemlist;
+#X obj 97 402 outlet gemlist;
+#X obj 231 429 t a;
+#X obj 231 343 t a a;
+#X obj 324 428 mtx_mul;
+#X obj 354 490 outlet numblobs;
+#X obj 324 449 t a a;
+#X obj 354 471 mtx_size;
+#X obj 231 363 mtx_resize \$1 2;
+#N canvas 0 0 518 479 mtx_matcher 0;
+#X obj 61 200 mtx_distance2;
+#X obj 61 176 t a a;
+#X obj 61 244 t a a;
+#X obj 61 279 mtx_mul;
+#X obj 61 325 outlet matched;
+#X obj 171 325 outlet matcher;
+#X obj 147 177 inlet dest;
+#X obj 61 149 inlet source;
+#X text 25 105 both "source" and "dest" must have the same number of
+columns (dimension in feature-space);
+#N canvas 0 0 618 479 mtx_rowpermutate 0;
+#X obj 150 214 t b a;
+#X obj 150 235 mtx;
+#X obj 150 256 mtx_mul;
+#X obj 111 192 mtx_pivot -1;
+#X text 17 19 this unfortunately does not guarantee to give as a minimum
+trace of the result!;
+#X obj 150 309 outlet rowpermutator;
+#X obj 111 141 inlet permutans;
+#X connect 0 0 1 0;
+#X connect 0 1 2 1;
+#X connect 1 0 2 0;
+#X connect 2 0 5 0;
+#X connect 3 1 0 0;
+#X connect 3 2 1 1;
+#X connect 6 0 3 0;
+#X restore 61 221 pd mtx_rowpermutate;
+#X text 34 383 this algorithm is _far_ from being perfect! the [mtx_rowpermutate]
+does not really guarantee that the trace of the result is a global
+mimimum \; if it is not \, than the match will be sub-optimal! this
+will be even worse \, if there are several _equal_ (sub)minima in the
+distance-matrix.;
+#X text 158 194 greater distances have an extra penalty (^2) \; is
+this ok?;
+#X text 32 52 we calculate the euclidean distance between the vectors
+of the 2 sets and try to find a trace with minimum penalty;
+#X text 32 22 this tries to get the best (weighted) match between 2
+sets of feature-vectors.;
+#X connect 0 0 9 0;
+#X connect 1 0 0 0;
+#X connect 1 1 3 1;
+#X connect 2 0 3 0;
+#X connect 2 1 5 0;
+#X connect 3 0 4 0;
+#X connect 6 0 0 1;
+#X connect 7 0 1 0;
+#X connect 9 0 2 0;
+#X restore 231 397 pd mtx_matcher;
+#X text 91 114 this blobtracker is far from being perfect. for an explanation
+read the comments in [pd mtx_matcher];
+#X text 93 536 we don't want to output "matrix" \, but pure pd-lists
+instead;
+#X obj 324 566 outlet bloblists;
+#X text 344 402 this is the work-horse for the tracking;
+#X text 95 10 part of Gem;
+#X text 51 253 the work-horse for detection;
+#X obj 301 224 loadbang;
+#X obj 301 243 f \$1;
+#X obj 301 262 moses 1;
+#X msg 331 343 6 2;
+#X obj 301 281 t b b;
+#X text 56 155 TODO: output only those blobs that are really detected
+;
+#X obj 231 322 mtx_resize \$1 0;
+#X msg 331 302 6 0;
+#X obj 97 269 pix_multiblob \$1;
+#X obj 97 30 declare -lib Gem -lib iemmatrix;
+#X text 92 66 copyright (c) IOhannes m zmoelnig \, 2005 \; you may
+use this under the terms of the GnuGPL v2.0 or later;
+#X connect 0 0 13 0;
+#X connect 1 0 25 0;
+#X connect 3 0 10 1;
+#X connect 4 0 9 0;
+#X connect 4 1 5 1;
+#X connect 5 0 7 0;
+#X connect 7 0 0 0;
+#X connect 7 1 8 0;
+#X connect 8 0 6 0;
+#X connect 9 0 10 0;
+#X connect 10 0 3 0;
+#X connect 10 1 5 0;
+#X connect 17 0 18 0;
+#X connect 18 0 19 0;
+#X connect 19 0 21 0;
+#X connect 20 0 9 1;
+#X connect 21 0 20 0;
+#X connect 21 1 24 0;
+#X connect 23 0 4 0;
+#X connect 24 0 23 1;
+#X connect 25 0 2 0;
+#X connect 25 1 23 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_blur-help.pd b/packages/noncvs/windows/extra/Gem/pix_blur-help.pd
index 1159f8c9..6c94849a 100644
--- a/packages/noncvs/windows/extra/Gem/pix_blur-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_blur-help.pd
@@ -1,16 +1,16 @@
-#N canvas 100 27 658 384 10;
-#X text 452 8 GEM object;
-#X obj 8 216 cnv 15 430 125 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 8 176 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X obj 8 76 cnv 15 430 90 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X text 71 31 Class: pix object;
-#X text 50 12 Synopsis: [pix_blur];
-#X text 29 77 Description: this object in deprecated \, you should
-use [pix_motionblur] instead.;
-#X obj 484 189 pix_motionblur;
+#N canvas 100 27 658 384 10;
+#X text 452 8 GEM object;
+#X obj 8 216 cnv 15 430 125 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 8 176 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X obj 8 76 cnv 15 430 90 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X text 71 31 Class: pix object;
+#X text 50 12 Synopsis: [pix_blur];
+#X text 29 77 Description: this object in deprecated \, you should
+use [pix_motionblur] instead.;
+#X obj 484 189 pix_motionblur;
diff --git a/packages/noncvs/windows/extra/Gem/pix_buf-help.pd b/packages/noncvs/windows/extra/Gem/pix_buf-help.pd
index ad35440d..c4b2ab38 100644
--- a/packages/noncvs/windows/extra/Gem/pix_buf-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_buf-help.pd
@@ -1,94 +1,94 @@
-#N canvas 404 68 654 486 10;
-#X text 452 8 GEM object;
-#X obj 8 325 cnv 15 430 140 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 332 Inlets:;
-#X text 38 425 Outlets:;
-#X obj 8 286 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 285 Arguments:;
-#X obj 7 76 cnv 15 430 200 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X obj 450 136 cnv 15 160 110 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 71 31 Class: pix object;
-#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 451 113 pd image;
-#X text 63 296 <none>;
-#X text 16 438 Outlet 1: gemlist;
-#X text 23 346 Inlet 1: gemlist;
-#X obj 451 273 pix_draw;
-#X text 516 105 open an image;
-#X text 509 118 (JPEG \, TIFF \, ..);
-#X text 50 12 Synopsis: [pix_buf] \, [pix_separator];
-#X text 29 76 Description: buffer a pix;
-#X text 11 94 [pix_buf] buffers pixes. This allows you to do some processing
-which might require a lot of time (for example \, convolution) and
-store it. All images use a pull system \, so as long as nothing is
-modified in the pix "upstream" \, the pix_buf is still valid.;
-#X text 10 167 [pix_buf] is only effective if it is storing a static
-image. If you are continually modifying the buffered pix \, then pix_buf
-is going to be spending a lot of time copying pixels.;
-#X obj 451 220 pix_buf;
-#X obj 487 145 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X msg 487 190 auto \$1;
-#X obj 487 168 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X obj 451 251 pix_rds;
-#X text 11 238 [pix_buf] can be used to separate to gemlists processing
-the same image-data. Thus is is also called [pix_separator];
-#X text 22 362 Inlet 1: bang: copy of input-data to the output and
-force all subsequent [pix_]-objects to process.;
-#X text 22 391 Inlet 1: auto 1|0: force image-processing in subsequent
-objects each render-cycle;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 17 0;
-#X connect 16 0 17 1;
-#X connect 17 0 28 0;
-#X connect 28 0 32 0;
-#X connect 29 0 28 0;
-#X connect 30 0 28 0;
-#X connect 31 0 30 0;
-#X connect 32 0 21 0;
+#N canvas 404 68 654 486 10;
+#X text 452 8 GEM object;
+#X obj 8 325 cnv 15 430 140 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 332 Inlets:;
+#X text 38 425 Outlets:;
+#X obj 8 286 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 285 Arguments:;
+#X obj 7 76 cnv 15 430 200 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X obj 450 136 cnv 15 160 110 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 71 31 Class: pix object;
+#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 451 113 pd image;
+#X text 63 296 <none>;
+#X text 16 438 Outlet 1: gemlist;
+#X text 23 346 Inlet 1: gemlist;
+#X obj 451 273 pix_draw;
+#X text 516 105 open an image;
+#X text 509 118 (JPEG \, TIFF \, ..);
+#X text 50 12 Synopsis: [pix_buf] \, [pix_separator];
+#X text 29 76 Description: buffer a pix;
+#X text 11 94 [pix_buf] buffers pixes. This allows you to do some processing
+which might require a lot of time (for example \, convolution) and
+store it. All images use a pull system \, so as long as nothing is
+modified in the pix "upstream" \, the pix_buf is still valid.;
+#X text 10 167 [pix_buf] is only effective if it is storing a static
+image. If you are continually modifying the buffered pix \, then pix_buf
+is going to be spending a lot of time copying pixels.;
+#X obj 451 220 pix_buf;
+#X obj 487 145 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X msg 487 190 auto \$1;
+#X obj 487 168 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 451 251 pix_rds;
+#X text 11 238 [pix_buf] can be used to separate two gemlists processing
+the same image-data. Thus is is also called [pix_separator];
+#X text 22 362 Inlet 1: bang: copy of input-data to the output and
+force all subsequent [pix_]-objects to process.;
+#X text 22 391 Inlet 1: auto 1|0: force image-processing in subsequent
+objects each render-cycle;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 17 0;
+#X connect 16 0 17 1;
+#X connect 17 0 28 0;
+#X connect 28 0 32 0;
+#X connect 29 0 28 0;
+#X connect 30 0 28 0;
+#X connect 31 0 30 0;
+#X connect 32 0 21 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_buffer-help.pd b/packages/noncvs/windows/extra/Gem/pix_buffer-help.pd
index a9b31ddd..32c96566 100644
--- a/packages/noncvs/windows/extra/Gem/pix_buffer-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_buffer-help.pd
@@ -1,76 +1,76 @@
-#N canvas 350 148 784 564 10;
-#X text 452 8 GEM object;
-#X obj 9 263 cnv 15 430 170 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 40 265 Inlets:;
-#X obj 9 227 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 18 226 Arguments:;
-#X obj 8 56 cnv 15 430 165 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 452 75 cnv 15 200 170 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 461 54 Example:;
-#X obj 457 120 cnv 15 190 150 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X text 71 31 Class: pix object;
-#X text 29 57 Description: a storage place for a number of images;
-#X text 11 79 [pix_buffer] is a named storage place for images. It
-is quite similar to pd's [table] object (but you cannot open it and
-have a look at it's contents).;
-#X text 50 11 Synopsis: [pix_buffer];
-#X text 23 281 Inlet 1: bang: get the size of the buffer in frames
-;
-#X text 12 123 The images stored in the [pix_buffer] can have different
-dimensions and coulorspaces. Memory is reserved on demand \, but you
-can preallocate memory with the [allocate( message.;
-#X text 23 481 Outlet 1: int: size of the buffer;
-#X msg 464 128 bang;
-#X floatatom 464 253 5 0 0 0 - - -;
-#X msg 505 154 allocate 256 256 4;
-#X text 462 296 see also:;
-#X obj 475 348 pix_buffer_read;
-#X obj 474 323 pix_buffer_write;
-#X text 64 237 list: <buffer_name> <size>;
-#X obj 464 230 pix_buffer depot 10;
-#X text 10 170 To write data to the [pix_buffer] or get images from
-it \, you can use separate objects [pix_buffer_write] and [pix_buffer_read]
-or the [open( message.;
-#X obj 505 80 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#N canvas 0 22 450 300 openpanel 0;
-#X obj 114 62 inlet;
-#X obj 121 254 outlet;
-#X obj 114 125 openpanel;
-#X obj 114 199 t b a;
-#X msg 114 162 set open \$1 0;
-#X connect 0 0 2 0;
-#X connect 2 0 4 0;
-#X connect 3 0 1 0;
-#X connect 3 1 1 0;
-#X connect 4 0 3 0;
-#X restore 505 97 pd openpanel;
-#X text 23 300 Inlet 1: message: open <filename> <index>: put an image
-into the pix_buffer at the given index;
-#X msg 505 132 open somefile.jpg 0;
-#X msg 506 174 resize 15;
-#X text 23 384 Inlet 1: message: resize <size>: re-allocate slots in
-the buffer (slots will survive this);
-#X text 23 333 Inlet 1: message: allocate <xsize> <ysize> <bytes_per_pixel>:
-assume that all images in the pix_buffer will have the given dimension
-and preallocate memory for them (pixes will be set to black);
-#X msg 506 193 copy 0 2;
-#X msg 506 212 save /tmp/out.jpg 2;
-#X text 23 414 Inlet 1: message: copy <src> <target>: copy a pix from
-slot <src> to slot <target>;
-#X text 23 444 Inlet 1: message: save <filename> <index>: save image
-in given slot to harddisk.;
-#X connect 16 0 23 0;
-#X connect 18 0 23 0;
-#X connect 23 0 17 0;
-#X connect 25 0 26 0;
-#X connect 26 0 28 0;
-#X connect 28 0 23 0;
-#X connect 29 0 23 0;
-#X connect 32 0 23 0;
-#X connect 33 0 23 0;
+#N canvas 350 148 784 564 10;
+#X text 452 8 GEM object;
+#X obj 9 263 cnv 15 430 170 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 40 265 Inlets:;
+#X obj 9 227 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 18 226 Arguments:;
+#X obj 8 56 cnv 15 430 165 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 452 75 cnv 15 200 170 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 461 54 Example:;
+#X obj 457 120 cnv 15 190 150 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X text 71 31 Class: pix object;
+#X text 29 57 Description: a storage place for a number of images;
+#X text 11 79 [pix_buffer] is a named storage place for images. It
+is quite similar to pd's [table] object (but you cannot open it and
+have a look at it's contents).;
+#X text 50 11 Synopsis: [pix_buffer];
+#X text 23 281 Inlet 1: bang: get the size of the buffer in frames
+;
+#X text 12 123 The images stored in the [pix_buffer] can have different
+dimensions and coulorspaces. Memory is reserved on demand \, but you
+can preallocate memory with the [allocate( message.;
+#X text 23 481 Outlet 1: int: size of the buffer;
+#X msg 464 128 bang;
+#X floatatom 464 253 5 0 0 0 - - -;
+#X msg 505 154 allocate 256 256 4;
+#X text 462 296 see also:;
+#X obj 475 348 pix_buffer_read;
+#X obj 474 323 pix_buffer_write;
+#X text 64 237 list: <buffer_name> <size>;
+#X obj 464 230 pix_buffer depot 10;
+#X text 10 170 To write data to the [pix_buffer] or get images from
+it \, you can use separate objects [pix_buffer_write] and [pix_buffer_read]
+or the [open( message.;
+#X obj 505 80 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#N canvas 0 22 450 300 openpanel 0;
+#X obj 114 62 inlet;
+#X obj 121 254 outlet;
+#X obj 114 125 openpanel;
+#X obj 114 199 t b a;
+#X msg 114 162 set open \$1 0;
+#X connect 0 0 2 0;
+#X connect 2 0 4 0;
+#X connect 3 0 1 0;
+#X connect 3 1 1 0;
+#X connect 4 0 3 0;
+#X restore 505 97 pd openpanel;
+#X text 23 300 Inlet 1: message: open <filename> <index>: put an image
+into the pix_buffer at the given index;
+#X msg 505 132 open somefile.jpg 0;
+#X msg 506 174 resize 15;
+#X text 23 384 Inlet 1: message: resize <size>: re-allocate slots in
+the buffer (slots will survive this);
+#X text 23 333 Inlet 1: message: allocate <xsize> <ysize> <bytes_per_pixel>:
+assume that all images in the pix_buffer will have the given dimension
+and preallocate memory for them (pixes will be set to black);
+#X msg 506 193 copy 0 2;
+#X msg 506 212 save /tmp/out.jpg 2;
+#X text 23 414 Inlet 1: message: copy <src> <target>: copy a pix from
+slot <src> to slot <target>;
+#X text 23 444 Inlet 1: message: save <filename> <index>: save image
+in given slot to harddisk.;
+#X connect 16 0 23 0;
+#X connect 18 0 23 0;
+#X connect 23 0 17 0;
+#X connect 25 0 26 0;
+#X connect 26 0 28 0;
+#X connect 28 0 23 0;
+#X connect 29 0 23 0;
+#X connect 32 0 23 0;
+#X connect 33 0 23 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_buffer_filmopen-help.pd b/packages/noncvs/windows/extra/Gem/pix_buffer_filmopen-help.pd
index 2fcbdf02..955a995b 100644
--- a/packages/noncvs/windows/extra/Gem/pix_buffer_filmopen-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_buffer_filmopen-help.pd
@@ -1,86 +1,86 @@
-#N canvas 621 114 691 473 10;
-#X obj 9 265 cnv 15 430 185 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 40 267 Inlets:;
-#X obj 9 227 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 18 226 Arguments:;
-#X obj 8 56 cnv 15 430 165 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 200 280 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 536 293 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X msg 67 70 set destroy;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X msg 156 71 set create;
-#X obj 67 41 route create;
-#X connect 2 0 7 0;
-#X connect 3 0 1 0;
-#X connect 4 0 0 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 0;
-#X connect 7 0 3 0;
-#X connect 7 0 4 0;
-#X connect 7 1 6 0;
-#X connect 7 1 5 0;
-#X restore 541 332 pd gemwin;
-#X msg 541 313 create;
-#X text 537 292 Create window:;
-#X obj 461 206 cnv 15 180 30 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X text 71 31 Class: pix object;
-#X text 64 237 list: <buffer_name>;
-#X text 26 312 Inlet 1: message: set <buffer_name>: write to another
-buffer.;
-#X text 440 363 see also:;
-#X obj 508 382 pix_buffer_read;
-#X obj 461 84 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 461 112 openpanel;
-#X msg 461 156 open \$1 \$2;
-#X obj 461 135 pack s 0;
-#X msg 474 182 set depot;
-#X obj 507 362 pix_buffer depot 10;
-#X text 50 12 Synopsis: [pix_buffer_filmopen];
-#X text 29 57 Description: reads a movie into a [pix_buffer];
-#X text 11 79 [pix_buffer_filmopen] reads a movie into a named buffer
-in the [pix_buffer] object \, starting at an (optional) bufferindex
-(defaults to 0). The film is read as fast as possible and the entire
-film is read \, so you might get clicks.;
-#X text 13 151 This object is meant to be used at initialzation time.
-;
-#X text 26 280 Inlet 1: message: open <filename> <bufferindex>: read
-a filename into buffer starting at index.;
-#X text 15 172 This object needs the gemwindow to be created.;
-#X obj 461 212 pix_buffer_filmopen depot;
-#X obj 461 242 unpack f f f;
-#X floatatom 461 264 5 0 0 0 - - -;
-#X floatatom 495 264 5 0 0 0 - - -;
-#X floatatom 530 264 5 0 0 0 - - -;
-#X obj 632 262 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
--1 -1;
-#X text 49 341 Outlets:;
-#X text 26 356 Outlet 1: list: <length> <width> <height>: gets the
-dimensions (in fps and pixels) of a film when it gets loaded. if length
-is not available (video-streams) -1 is returned.;
-#X text 26 413 Outlet 2: bangs when finished loading;
-#X text 452 8 GEM abstraction;
-#X connect 8 0 9 0;
-#X connect 9 0 8 0;
-#X connect 17 0 18 0;
-#X connect 18 0 20 0;
-#X connect 19 0 29 0;
-#X connect 20 0 19 0;
-#X connect 21 0 29 0;
-#X connect 29 0 30 0;
-#X connect 29 1 34 0;
-#X connect 30 0 31 0;
-#X connect 30 1 32 0;
-#X connect 30 2 33 0;
+#N canvas 621 114 691 473 10;
+#X obj 9 265 cnv 15 430 185 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 40 267 Inlets:;
+#X obj 9 227 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 18 226 Arguments:;
+#X obj 8 56 cnv 15 430 165 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 200 280 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 536 293 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X msg 67 70 set destroy;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X msg 156 71 set create;
+#X obj 67 41 route create;
+#X connect 2 0 7 0;
+#X connect 3 0 1 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 0;
+#X connect 7 0 3 0;
+#X connect 7 0 4 0;
+#X connect 7 1 6 0;
+#X connect 7 1 5 0;
+#X restore 541 332 pd gemwin;
+#X msg 541 313 create;
+#X text 537 292 Create window:;
+#X obj 461 206 cnv 15 180 30 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X text 71 31 Class: pix object;
+#X text 64 237 list: <buffer_name>;
+#X text 26 312 Inlet 1: message: set <buffer_name>: write to another
+buffer.;
+#X text 440 363 see also:;
+#X obj 508 382 pix_buffer_read;
+#X obj 461 84 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 461 112 openpanel;
+#X msg 461 156 open \$1 \$2;
+#X obj 461 135 pack s 0;
+#X msg 474 182 set depot;
+#X obj 507 362 pix_buffer depot 10;
+#X text 50 12 Synopsis: [pix_buffer_filmopen];
+#X text 29 57 Description: reads a movie into a [pix_buffer];
+#X text 11 79 [pix_buffer_filmopen] reads a movie into a named buffer
+in the [pix_buffer] object \, starting at an (optional) bufferindex
+(defaults to 0). The film is read as fast as possible and the entire
+film is read \, so you might get clicks.;
+#X text 13 151 This object is meant to be used at initialzation time.
+;
+#X text 26 280 Inlet 1: message: open <filename> <bufferindex>: read
+a filename into buffer starting at index.;
+#X text 15 172 This object needs the gemwindow to be created.;
+#X obj 461 212 pix_buffer_filmopen depot;
+#X obj 461 242 unpack f f f;
+#X floatatom 461 264 5 0 0 0 - - -;
+#X floatatom 495 264 5 0 0 0 - - -;
+#X floatatom 530 264 5 0 0 0 - - -;
+#X obj 632 262 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X text 49 341 Outlets:;
+#X text 26 356 Outlet 1: list: <length> <width> <height>: gets the
+dimensions (in fps and pixels) of a film when it gets loaded. if length
+is not available (video-streams) -1 is returned.;
+#X text 26 413 Outlet 2: bangs when finished loading;
+#X text 452 8 GEM abstraction;
+#X connect 8 0 9 0;
+#X connect 9 0 8 0;
+#X connect 17 0 18 0;
+#X connect 18 0 20 0;
+#X connect 19 0 29 0;
+#X connect 20 0 19 0;
+#X connect 21 0 29 0;
+#X connect 29 0 30 0;
+#X connect 29 1 34 0;
+#X connect 30 0 31 0;
+#X connect 30 1 32 0;
+#X connect 30 2 33 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_buffer_filmopen.pd b/packages/noncvs/windows/extra/Gem/pix_buffer_filmopen.pd
index 96c82c5c..ec280f8e 100644
--- a/packages/noncvs/windows/extra/Gem/pix_buffer_filmopen.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_buffer_filmopen.pd
@@ -1,78 +1,78 @@
-#N canvas 1416 206 863 652 10;
-#X obj 79 77 inlet;
-#X obj 122 240 gemhead;
-#X msg 153 263 open \$1;
-#X obj 122 288 pix_film;
-#X obj 180 382 until;
-#X obj 180 342 t f b;
-#X obj 180 402 i;
-#X obj 213 403 + 1;
-#X msg 122 215 0;
-#X obj 122 193 loadbang;
-#X obj 79 100 route set open;
-#X msg 79 142 set \$1;
-#X obj 122 503 pix_buffer_write \$1;
-#X obj 153 158 unpack s 0;
-#X obj 153 132 t a b;
-#X obj 226 184 t f;
-#X msg 231 158 0;
-#X msg 219 80 open data/homer.avi 5;
-#X obj 79 121 symbol;
-#X obj 180 425 t b f f f;
-#X msg 294 129 set myImages;
-#X obj 220 451 + 0;
-#X msg 225 382 0;
-#X text 379 81 open film "data/homer.avi" and write it into buffer
-starting at bufferposition "5";
-#X text 392 132 set the buffer to write to;
-#X text 63 29 read a film into a buffer;
-#X text 356 244 TODO:;
-#X text 401 244 set upper limit to write to;
-#X text 400 259 guess write-limit from pix_buffer size;
-#X text 361 328 ATTENTION:;
-#X text 446 328 this object will only work with rendering turned on
-;
-#X obj 148 542 outlet info;
-#X obj 277 542 outlet finished;
-#X obj 223 344 t b;
-#X text 413 451 (c) copyleft 2009 Max Neupert;
-#X obj 148 316 t a a;
-#X obj 148 465 t a b;
-#X text 412 433 (c) copyleft 2008-2009 IOhannes m zmoelnig \, IEM \,
-KUG;
-#X connect 0 0 10 0;
-#X connect 1 0 3 0;
-#X connect 2 0 3 0;
-#X connect 3 0 12 0;
-#X connect 3 1 35 0;
-#X connect 3 2 33 0;
-#X connect 4 0 6 0;
-#X connect 5 0 4 0;
-#X connect 5 1 22 0;
-#X connect 6 0 7 0;
-#X connect 6 0 19 0;
-#X connect 7 0 6 1;
-#X connect 8 0 1 0;
-#X connect 9 0 8 0;
-#X connect 10 0 18 0;
-#X connect 10 1 14 0;
-#X connect 11 0 12 0;
-#X connect 13 0 2 0;
-#X connect 13 1 15 0;
-#X connect 14 0 13 0;
-#X connect 14 1 16 0;
-#X connect 15 0 21 1;
-#X connect 16 0 15 0;
-#X connect 17 0 10 0;
-#X connect 18 0 11 0;
-#X connect 19 0 1 0;
-#X connect 19 1 3 1;
-#X connect 19 2 21 0;
-#X connect 20 0 10 0;
-#X connect 21 0 12 1;
-#X connect 22 0 6 1;
-#X connect 33 0 4 1;
-#X connect 35 0 36 0;
-#X connect 35 1 5 0;
-#X connect 36 0 31 0;
-#X connect 36 1 32 0;
+#N canvas 1416 206 863 652 10;
+#X obj 79 77 inlet;
+#X obj 122 240 gemhead;
+#X msg 153 263 open \$1;
+#X obj 122 288 pix_film;
+#X obj 180 382 until;
+#X obj 180 342 t f b;
+#X obj 180 402 i;
+#X obj 213 403 + 1;
+#X msg 122 215 0;
+#X obj 122 193 loadbang;
+#X obj 79 100 route set open;
+#X msg 79 142 set \$1;
+#X obj 122 503 pix_buffer_write \$1;
+#X obj 153 158 unpack s 0;
+#X obj 153 132 t a b;
+#X obj 226 184 t f;
+#X msg 231 158 0;
+#X msg 219 80 open data/homer.avi 5;
+#X obj 79 121 symbol;
+#X obj 180 425 t b f f f;
+#X msg 294 129 set myImages;
+#X obj 220 451 + 0;
+#X msg 225 382 0;
+#X text 379 81 open film "data/homer.avi" and write it into buffer
+starting at bufferposition "5";
+#X text 392 132 set the buffer to write to;
+#X text 63 29 read a film into a buffer;
+#X text 356 244 TODO:;
+#X text 401 244 set upper limit to write to;
+#X text 400 259 guess write-limit from pix_buffer size;
+#X text 361 328 ATTENTION:;
+#X text 446 328 this object will only work with rendering turned on
+;
+#X obj 148 542 outlet info;
+#X obj 277 542 outlet finished;
+#X obj 223 344 t b;
+#X text 413 451 (c) copyleft 2009 Max Neupert;
+#X obj 148 316 t a a;
+#X obj 148 465 t a b;
+#X text 412 433 (c) copyleft 2008-2009 IOhannes m zmoelnig \, IEM \,
+KUG;
+#X connect 0 0 10 0;
+#X connect 1 0 3 0;
+#X connect 2 0 3 0;
+#X connect 3 0 12 0;
+#X connect 3 1 35 0;
+#X connect 3 2 33 0;
+#X connect 4 0 6 0;
+#X connect 5 0 4 0;
+#X connect 5 1 22 0;
+#X connect 6 0 7 0;
+#X connect 6 0 19 0;
+#X connect 7 0 6 1;
+#X connect 8 0 1 0;
+#X connect 9 0 8 0;
+#X connect 10 0 18 0;
+#X connect 10 1 14 0;
+#X connect 11 0 12 0;
+#X connect 13 0 2 0;
+#X connect 13 1 15 0;
+#X connect 14 0 13 0;
+#X connect 14 1 16 0;
+#X connect 15 0 21 1;
+#X connect 16 0 15 0;
+#X connect 17 0 10 0;
+#X connect 18 0 11 0;
+#X connect 19 0 1 0;
+#X connect 19 1 3 1;
+#X connect 19 2 21 0;
+#X connect 20 0 10 0;
+#X connect 21 0 12 1;
+#X connect 22 0 6 1;
+#X connect 33 0 4 1;
+#X connect 35 0 36 0;
+#X connect 35 1 5 0;
+#X connect 36 0 31 0;
+#X connect 36 1 32 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_buffer_read-help.pd b/packages/noncvs/windows/extra/Gem/pix_buffer_read-help.pd
index ce046e1f..fe53e0dd 100644
--- a/packages/noncvs/windows/extra/Gem/pix_buffer_read-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_buffer_read-help.pd
@@ -1,73 +1,73 @@
-#N canvas 48 174 691 473 10;
-#X text 452 8 GEM object;
-#X obj 9 265 cnv 15 430 135 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 40 267 Inlets:;
-#X text 39 352 Outlets:;
-#X obj 9 227 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 18 226 Arguments:;
-#X obj 8 56 cnv 15 430 165 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 200 280 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 544 290 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X msg 67 70 set destroy;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X msg 156 71 set create;
-#X obj 67 41 route create;
-#X connect 2 0 7 0;
-#X connect 3 0 1 0;
-#X connect 4 0 0 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 0;
-#X connect 7 0 3 0;
-#X connect 7 0 4 0;
-#X connect 7 1 6 0;
-#X connect 7 1 5 0;
-#X restore 549 329 pd gemwin;
-#X msg 549 310 create;
-#X text 545 289 Create window:;
-#X obj 451 109 cnv 15 155 80 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 83 gemhead;
-#X text 17 366 Outlet 1: gemlist;
-#X text 24 281 Inlet 1: gemlist;
-#X obj 451 242 pix_texture;
-#X floatatom 560 142 3 0 9 2 index - -;
-#X text 71 31 Class: pix object;
-#X text 64 237 list: <buffer_name>;
-#X text 440 363 see also:;
-#X obj 508 382 pix_buffer_write;
-#X text 50 12 Synopsis: [pix_buffer_read];
-#X text 29 57 Description: read from a [pix_buffer];
-#X obj 451 168 pix_buffer_read depot;
-#X obj 451 271 translate -2 0 1 0;
-#X obj 451 292 square 1.9;
-#X text 24 295 Inlet 1: message: set <buffer_name>: read from another
-buffer.;
-#X text 24 320 Inlet 2: int: index of the frame in the named pix_buffer
-to read.;
-#X text 11 79 [pix_buffer_read] reads an image from the named buffer
-provided by [pix_buffer]. Specify the frame of the buffer you want
-to read via the second inlet. If no frame is stored at the specified
-index \, you will get no image. (eg: no texture will be applied). You
-can change the buffer to read from on the fly via the [set( message.
-;
-#X msg 464 138 set depot3;
-#X obj 508 362 pix_buffer depot3 1;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 25 0;
-#X connect 17 0 26 0;
-#X connect 18 0 25 1;
-#X connect 25 0 17 0;
-#X connect 26 0 27 0;
-#X connect 31 0 25 0;
+#N canvas 48 174 691 473 10;
+#X text 452 8 GEM object;
+#X obj 9 265 cnv 15 430 135 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 40 267 Inlets:;
+#X text 39 352 Outlets:;
+#X obj 9 227 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 18 226 Arguments:;
+#X obj 8 56 cnv 15 430 165 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 200 280 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 544 290 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X msg 67 70 set destroy;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X msg 156 71 set create;
+#X obj 67 41 route create;
+#X connect 2 0 7 0;
+#X connect 3 0 1 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 0;
+#X connect 7 0 3 0;
+#X connect 7 0 4 0;
+#X connect 7 1 6 0;
+#X connect 7 1 5 0;
+#X restore 549 329 pd gemwin;
+#X msg 549 310 create;
+#X text 545 289 Create window:;
+#X obj 451 109 cnv 15 155 80 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 83 gemhead;
+#X text 17 366 Outlet 1: gemlist;
+#X text 24 281 Inlet 1: gemlist;
+#X obj 451 242 pix_texture;
+#X floatatom 560 142 3 0 9 2 index - -;
+#X text 71 31 Class: pix object;
+#X text 64 237 list: <buffer_name>;
+#X text 440 363 see also:;
+#X obj 508 382 pix_buffer_write;
+#X text 50 12 Synopsis: [pix_buffer_read];
+#X text 29 57 Description: read from a [pix_buffer];
+#X obj 451 168 pix_buffer_read depot;
+#X obj 451 271 translate -2 0 1 0;
+#X obj 451 292 square 1.9;
+#X text 24 295 Inlet 1: message: set <buffer_name>: read from another
+buffer.;
+#X text 24 320 Inlet 2: int: index of the frame in the named pix_buffer
+to read.;
+#X text 11 79 [pix_buffer_read] reads an image from the named buffer
+provided by [pix_buffer]. Specify the frame of the buffer you want
+to read via the second inlet. If no frame is stored at the specified
+index \, you will get no image. (eg: no texture will be applied). You
+can change the buffer to read from on the fly via the [set( message.
+;
+#X msg 464 138 set depot3;
+#X obj 508 362 pix_buffer depot3 1;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 25 0;
+#X connect 17 0 26 0;
+#X connect 18 0 25 1;
+#X connect 25 0 17 0;
+#X connect 26 0 27 0;
+#X connect 31 0 25 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_buffer_write-help.pd b/packages/noncvs/windows/extra/Gem/pix_buffer_write-help.pd
index 1537ba0f..45d8f27f 100644
--- a/packages/noncvs/windows/extra/Gem/pix_buffer_write-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_buffer_write-help.pd
@@ -1,98 +1,98 @@
-#N canvas 19 20 691 473 10;
-#X text 452 8 GEM object;
-#X obj 9 265 cnv 15 430 135 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 40 267 Inlets:;
-#X text 39 352 Outlets:;
-#X obj 9 227 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 18 226 Arguments:;
-#X obj 8 56 cnv 15 430 165 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 200 280 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 536 293 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X msg 67 70 set destroy;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X msg 156 71 set create;
-#X obj 67 41 route create;
-#X connect 2 0 7 0;
-#X connect 3 0 1 0;
-#X connect 4 0 0 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 0;
-#X connect 7 0 3 0;
-#X connect 7 0 4 0;
-#X connect 7 1 6 0;
-#X connect 7 1 5 0;
-#X restore 541 332 pd gemwin;
-#X msg 541 313 create;
-#X text 537 292 Create window:;
-#X obj 451 179 cnv 15 155 70 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 83 gemhead;
-#X text 17 366 Outlet 1: gemlist;
-#X text 24 281 Inlet 1: gemlist;
-#X obj 451 252 pix_texture;
-#X obj 451 151 pix_film;
-#X obj 515 151 t f;
-#X obj 464 103 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#N canvas 0 0 450 300 open 0;
-#X obj 85 49 inlet;
-#X obj 85 237 outlet;
-#X obj 85 145 openpanel;
-#X msg 85 179 open \$1;
-#X msg 259 213 auto 1;
-#X obj 268 179 loadbang;
-#X connect 0 0 2 0;
-#X connect 2 0 3 0;
-#X connect 3 0 1 0;
-#X connect 4 0 1 0;
-#X connect 5 0 4 0;
-#X restore 464 131 pd open;
-#X text 505 77 open a supported;
-#X text 506 88 movie-clip;
-#X text 523 114 macOS: quicktime;
-#X text 516 104 windos: *.AVI;
-#X text 523 124 linux: depends...;
-#X floatatom 560 196 3 0 9 2 index - -;
-#X text 50 12 Synopsis: [pix_buffer_write];
-#X text 71 31 Class: pix object;
-#X obj 451 222 pix_buffer_write depot;
-#X text 24 320 Inlet 2: int: index in the named pix_buffer.;
-#X msg 464 192 set depot2;
-#X text 11 79 [pix_buffer_write] writes an image into a named buffer
-created by the [pix_buffer] object. When the index of the frame in
-the buffer is passed via the second inlet to [pix_buffer_write] \,
-the NEXT incoming image will be written to the buffer \, and the internal
-state is reset. You have to re-set the index to write again.;
-#X text 64 237 list: <buffer_name>;
-#X text 24 295 Inlet 1: message: set <buffer_name>: write to another
-buffer.;
-#X text 440 363 see also:;
-#X obj 508 382 pix_buffer_read;
-#X obj 507 362 pix_buffer depot2 1;
-#X text 29 57 Description: write images to a [pix_buffer];
-#X obj 451 272 translate 2 0 1 0;
-#X obj 451 292 square 1.9;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 18 0;
-#X connect 17 0 40 0;
-#X connect 18 0 30 0;
-#X connect 18 2 19 0;
-#X connect 19 0 18 1;
-#X connect 20 0 21 0;
-#X connect 21 0 18 0;
-#X connect 27 0 30 1;
-#X connect 30 0 17 0;
-#X connect 32 0 30 0;
-#X connect 40 0 41 0;
+#N canvas 19 20 691 473 10;
+#X text 452 8 GEM object;
+#X obj 9 265 cnv 15 430 135 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 40 267 Inlets:;
+#X text 39 352 Outlets:;
+#X obj 9 227 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 18 226 Arguments:;
+#X obj 8 56 cnv 15 430 165 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 200 280 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 536 293 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X msg 67 70 set destroy;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X msg 156 71 set create;
+#X obj 67 41 route create;
+#X connect 2 0 7 0;
+#X connect 3 0 1 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 0;
+#X connect 7 0 3 0;
+#X connect 7 0 4 0;
+#X connect 7 1 6 0;
+#X connect 7 1 5 0;
+#X restore 541 332 pd gemwin;
+#X msg 541 313 create;
+#X text 537 292 Create window:;
+#X obj 451 179 cnv 15 155 70 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 83 gemhead;
+#X text 17 366 Outlet 1: gemlist;
+#X text 24 281 Inlet 1: gemlist;
+#X obj 451 252 pix_texture;
+#X obj 451 151 pix_film;
+#X obj 515 151 t f;
+#X obj 464 103 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#N canvas 0 0 450 300 open 0;
+#X obj 85 49 inlet;
+#X obj 85 237 outlet;
+#X obj 85 145 openpanel;
+#X msg 85 179 open \$1;
+#X msg 259 213 auto 1;
+#X obj 268 179 loadbang;
+#X connect 0 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 1 0;
+#X connect 5 0 4 0;
+#X restore 464 131 pd open;
+#X text 505 77 open a supported;
+#X text 506 88 movie-clip;
+#X text 523 114 macOS: quicktime;
+#X text 516 104 windos: *.AVI;
+#X text 523 124 linux: depends...;
+#X floatatom 560 196 3 0 9 2 index - -;
+#X text 50 12 Synopsis: [pix_buffer_write];
+#X text 71 31 Class: pix object;
+#X obj 451 222 pix_buffer_write depot;
+#X text 24 320 Inlet 2: int: index in the named pix_buffer.;
+#X msg 464 192 set depot2;
+#X text 11 79 [pix_buffer_write] writes an image into a named buffer
+created by the [pix_buffer] object. When the index of the frame in
+the buffer is passed via the second inlet to [pix_buffer_write] \,
+the NEXT incoming image will be written to the buffer \, and the internal
+state is reset. You have to re-set the index to write again.;
+#X text 64 237 list: <buffer_name>;
+#X text 24 295 Inlet 1: message: set <buffer_name>: write to another
+buffer.;
+#X text 440 363 see also:;
+#X obj 508 382 pix_buffer_read;
+#X obj 507 362 pix_buffer depot2 1;
+#X text 29 57 Description: write images to a [pix_buffer];
+#X obj 451 272 translate 2 0 1 0;
+#X obj 451 292 square 1.9;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 18 0;
+#X connect 17 0 40 0;
+#X connect 18 0 30 0;
+#X connect 18 2 19 0;
+#X connect 19 0 18 1;
+#X connect 20 0 21 0;
+#X connect 21 0 18 0;
+#X connect 27 0 30 1;
+#X connect 30 0 17 0;
+#X connect 32 0 30 0;
+#X connect 40 0 41 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_chroma_key-help.pd b/packages/noncvs/windows/extra/Gem/pix_chroma_key-help.pd
index 4678059c..b814054f 100644
--- a/packages/noncvs/windows/extra/Gem/pix_chroma_key-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_chroma_key-help.pd
@@ -1,144 +1,144 @@
-#N canvas 280 22 628 495 10;
-#X text 452 8 GEM object;
-#X obj 8 277 cnv 15 430 210 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 277 Inlets:;
-#X text 42 451 Outlets:;
-#X obj 8 241 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 240 Arguments:;
-#X obj 8 56 cnv 15 430 180 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 320 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 518 410 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 523 449 pd gemwin;
-#X msg 523 430 destroy;
-#X text 515 409 Create window:;
-#X obj 451 160 cnv 15 160 175 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 119 gemhead;
-#X obj 496 101 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#X obj 451 345 pix_texture;
-#X text 63 251 <none>;
-#X text 18 465 Outlet 1: gemlist;
-#X text 15 291 Inlet 1: gemlist;
-#X obj 451 373 square 3;
-#X obj 546 120 gemhead;
-#X obj 591 102 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
--1;
-#X text 16 432 Inlet 2: gemlist;
-#X text 71 31 Class: pix mix object;
-#X text 50 12 Synopsis: [pix_chroma_key];
-#X text 29 57 Description: mix 2 images based on their color;
-#X obj 451 313 pix_chroma_key;
-#X msg 486 290 direction \$1;
-#X obj 486 270 tgl 15 1 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X text 16 390 Inlet 1: direction 0|1 : which stream is the key-source
-(0=left stream \; 1 = right stream);
-#X floatatom 465 178 5 0 255 0 - - -;
-#X floatatom 475 230 5 0 255 0 - - -;
-#X text 37 197 The 2 images have to be of the same size.;
-#X text 14 76 [pix_chroma_key] does compositing using pixel by pixel
-comparisons on two video streams. the comparison is based on user a
-user supplied RGB or YUV pixel value and +/- range. if the pixel in
-the key source lies within the range \, then it is replaced by the
-corresponding pixel im the other stream. typically this is most effective
-on a static background like a green/blue screen \, but can be effective
-when used with other GEM objects like pix_background for live video
-processing.;
-#X text 15 306 Inlet 1: value <list> : list of 3 floats of the pixel-value
-to key out: values are either Red/Green/Blue (in RGBA-Space) or Y(luma)/U(Cb)/V(Cr)
-in YUV-Space;
-#X text 16 346 Inlet 1: range <list> : list of 3 floats defining the
-+/-range of the key: values are either Red/Green/Blue (in RGBA-Space)
-or Y(luma)/U(Cb)/V(Cr) in YUV-Space;
-#X obj 478 216 hsl 128 12 0 1 0 0 empty empty empty -2 -8 0 10 -262144
--1 -1 0 1;
-#X obj 468 163 hsl 128 12 0 1 0 0 empty empty empty -2 -8 0 10 -262144
--1 -1 0 1;
-#X msg 465 195 value \$1 \$1 \$1;
-#X msg 475 248 range \$1 \$1 \$1;
-#N canvas 0 22 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X obj 77 212 pix_yuv;
-#X text 133 214 we really want YUV;
-#X obj 77 174 pix_image ../../doc/gem/examples/data/dancer.JPG;
-#X connect 0 0 7 0;
-#X connect 2 0 4 0;
-#X connect 3 0 7 0;
-#X connect 4 0 3 0;
-#X connect 5 0 1 0;
-#X connect 7 0 5 0;
-#X restore 451 138 pd image;
-#X text 449 77 open two different images;
-#N canvas 0 22 587 366 image 0;
-#X obj 77 28 inlet;
-#X obj 77 344 outlet;
-#X obj 223 35 inlet;
-#X msg 223 103 open \$1;
-#X obj 223 80 openpanel;
-#X obj 77 301 pix_buf;
-#X msg 103 277 auto 1;
-#X obj 103 256 loadbang;
-#X text 166 263 [pix_buf] with auto 1 is important if we want to recalculate
-our pix-effect each frame but don't want to reload the image all the
-time.;
-#X obj 77 230 pix_yuv;
-#X obj 77 185 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X connect 0 0 10 0;
-#X connect 2 0 4 0;
-#X connect 3 0 10 0;
-#X connect 4 0 3 0;
-#X connect 5 0 1 0;
-#X connect 6 0 5 0;
-#X connect 7 0 6 0;
-#X connect 9 0 5 0;
-#X connect 10 0 9 0;
-#X restore 546 139 pd image;
-#X text 37 215 RGB values are 0-1 \, YUV values are 16/255-239/255
-;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 41 0;
-#X connect 15 0 41 1;
-#X connect 16 0 20 0;
-#X connect 21 0 43 0;
-#X connect 22 0 43 1;
-#X connect 27 0 16 0;
-#X connect 28 0 27 0;
-#X connect 29 0 28 0;
-#X connect 31 0 39 0;
-#X connect 32 0 40 0;
-#X connect 37 0 32 0;
-#X connect 38 0 31 0;
-#X connect 39 0 27 0;
-#X connect 40 0 27 0;
-#X connect 41 0 27 0;
-#X connect 43 0 27 1;
+#N canvas 280 22 628 495 10;
+#X text 452 8 GEM object;
+#X obj 8 277 cnv 15 430 210 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 277 Inlets:;
+#X text 42 451 Outlets:;
+#X obj 8 241 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 240 Arguments:;
+#X obj 8 56 cnv 15 430 180 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 320 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 518 410 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 523 449 pd gemwin;
+#X msg 523 430 destroy;
+#X text 515 409 Create window:;
+#X obj 451 160 cnv 15 160 175 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 119 gemhead;
+#X obj 496 101 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#X obj 451 345 pix_texture;
+#X text 63 251 <none>;
+#X text 18 465 Outlet 1: gemlist;
+#X text 15 291 Inlet 1: gemlist;
+#X obj 451 373 square 3;
+#X obj 546 120 gemhead;
+#X obj 591 102 bng 15 250 50 0 empty empty empty 20 8 0 8 -262144 -1
+-1;
+#X text 16 432 Inlet 2: gemlist;
+#X text 71 31 Class: pix mix object;
+#X text 50 12 Synopsis: [pix_chroma_key];
+#X text 29 57 Description: mix 2 images based on their color;
+#X obj 451 313 pix_chroma_key;
+#X msg 486 290 direction \$1;
+#X obj 486 270 tgl 15 1 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X text 16 390 Inlet 1: direction 0|1 : which stream is the key-source
+(0=left stream \; 1 = right stream);
+#X floatatom 465 178 5 0 255 0 - - -;
+#X floatatom 475 230 5 0 255 0 - - -;
+#X text 37 197 The 2 images have to be of the same size.;
+#X text 14 76 [pix_chroma_key] does compositing using pixel by pixel
+comparisons on two video streams. the comparison is based on user a
+user supplied RGB or YUV pixel value and +/- range. if the pixel in
+the key source lies within the range \, then it is replaced by the
+corresponding pixel im the other stream. typically this is most effective
+on a static background like a green/blue screen \, but can be effective
+when used with other GEM objects like pix_background for live video
+processing.;
+#X text 15 306 Inlet 1: value <list> : list of 3 floats of the pixel-value
+to key out: values are either Red/Green/Blue (in RGBA-Space) or Y(luma)/U(Cb)/V(Cr)
+in YUV-Space;
+#X text 16 346 Inlet 1: range <list> : list of 3 floats defining the
++/-range of the key: values are either Red/Green/Blue (in RGBA-Space)
+or Y(luma)/U(Cb)/V(Cr) in YUV-Space;
+#X obj 478 216 hsl 128 12 0 1 0 0 empty empty empty -2 -8 0 10 -262144
+-1 -1 0 1;
+#X obj 468 163 hsl 128 12 0 1 0 0 empty empty empty -2 -8 0 10 -262144
+-1 -1 0 1;
+#X msg 465 195 value \$1 \$1 \$1;
+#X msg 475 248 range \$1 \$1 \$1;
+#N canvas 0 22 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X obj 77 212 pix_yuv;
+#X text 133 214 we really want YUV;
+#X obj 77 174 pix_image examples/data/dancer.JPG;
+#X connect 0 0 7 0;
+#X connect 2 0 4 0;
+#X connect 3 0 7 0;
+#X connect 4 0 3 0;
+#X connect 5 0 1 0;
+#X connect 7 0 5 0;
+#X restore 451 138 pd image;
+#X text 449 77 open two different images;
+#N canvas 0 22 587 366 image 0;
+#X obj 77 28 inlet;
+#X obj 77 344 outlet;
+#X obj 223 35 inlet;
+#X msg 223 103 open \$1;
+#X obj 223 80 openpanel;
+#X obj 77 301 pix_buf;
+#X msg 103 277 auto 1;
+#X obj 103 256 loadbang;
+#X text 166 263 [pix_buf] with auto 1 is important if we want to recalculate
+our pix-effect each frame but don't want to reload the image all the
+time.;
+#X obj 77 230 pix_yuv;
+#X obj 77 185 pix_image examples/data/fractal.JPG;
+#X connect 0 0 10 0;
+#X connect 2 0 4 0;
+#X connect 3 0 10 0;
+#X connect 4 0 3 0;
+#X connect 5 0 1 0;
+#X connect 6 0 5 0;
+#X connect 7 0 6 0;
+#X connect 9 0 5 0;
+#X connect 10 0 9 0;
+#X restore 546 139 pd image;
+#X text 37 215 RGB values are 0-1 \, YUV values are 16/255-239/255
+;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 41 0;
+#X connect 15 0 41 1;
+#X connect 16 0 20 0;
+#X connect 21 0 43 0;
+#X connect 22 0 43 1;
+#X connect 27 0 16 0;
+#X connect 28 0 27 0;
+#X connect 29 0 28 0;
+#X connect 31 0 39 0;
+#X connect 32 0 40 0;
+#X connect 37 0 32 0;
+#X connect 38 0 31 0;
+#X connect 39 0 27 0;
+#X connect 40 0 27 0;
+#X connect 41 0 27 0;
+#X connect 43 0 27 1;
diff --git a/packages/noncvs/windows/extra/Gem/pix_clearblock-help.pd b/packages/noncvs/windows/extra/Gem/pix_clearblock-help.pd
index f5d53234..f6832c71 100644
--- a/packages/noncvs/windows/extra/Gem/pix_clearblock-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_clearblock-help.pd
@@ -1,11 +1,11 @@
-#N canvas 159 184 656 313 10;
-#X msg 164 109 gemList;
-#X msg 164 227 gemList;
-#X text 155 10 part of GEM;
-#X obj 164 168 pix_clearblock;
-#X text 175 43 [pix_clearblock];
-#X text 60 78 clear an image without destroying the texture;
-#X text 58 255 all texture information/setup will be stored \, whereas
-the image itself will be deleted;
-#X connect 0 0 3 0;
-#X connect 3 0 1 0;
+#N canvas 159 184 656 313 10;
+#X msg 164 109 gemList;
+#X msg 164 227 gemList;
+#X text 155 10 part of GEM;
+#X obj 164 168 pix_clearblock;
+#X text 175 43 [pix_clearblock];
+#X text 60 78 clear an image without destroying the texture;
+#X text 58 255 all texture information/setup will be stored \, whereas
+the image itself will be deleted;
+#X connect 0 0 3 0;
+#X connect 3 0 1 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_color-help.pd b/packages/noncvs/windows/extra/Gem/pix_color-help.pd
index 8c1bce6c..edf595a2 100644
--- a/packages/noncvs/windows/extra/Gem/pix_color-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_color-help.pd
@@ -1,83 +1,83 @@
-#N canvas 0 0 654 372 10;
-#X text 452 8 GEM object;
-#X obj 8 245 cnv 15 430 80 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 248 Inlets:;
-#X text 38 295 Outlets:;
-#X obj 8 206 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 205 Arguments:;
-#X obj 7 76 cnv 15 430 125 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X obj 450 158 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 71 31 Class: pix object;
-#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 451 113 pd image;
-#X text 63 216 <none>;
-#X text 56 308 Outlet 1: gemlist;
-#X text 63 262 Inlet 1: gemlist;
-#X text 50 12 Synopsis: [pix_color];
-#X text 29 76 Description: set the colour-channels of an image;
-#X msg 527 165 0 0.5 0.8;
-#X obj 451 196 pix_color;
-#X obj 451 233 pix_draw;
-#X msg 458 164 1 0 0 1;
-#X text 42 95 [pix_color] sets each pixel of an image to a certain
-RGBA-value. As this is a pix_fx \, you will need an image first \,
-to set its pixels to a certain value.;
-#X text 63 275 Inlet 2: list: 3 (RGB) or 4 (RGBA) values;
-#X text 29 133 Note that this is done by the CPU in the main-memory
-of your machine \, while [color] is can be done very fast by your graphics-card.
-Generally it is NOT a good idea to use [pix_color] if the same result
-can be achieved with the [color] object !;
-#X text 516 105 open an image;
-#X text 509 118 (JPEG \, TIFF \, ..);
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 17 0;
-#X connect 16 0 17 1;
-#X connect 17 0 24 0;
-#X connect 23 0 24 1;
-#X connect 24 0 25 0;
-#X connect 26 0 24 1;
+#N canvas 0 0 654 372 10;
+#X text 452 8 GEM object;
+#X obj 8 245 cnv 15 430 80 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 248 Inlets:;
+#X text 38 295 Outlets:;
+#X obj 8 206 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 205 Arguments:;
+#X obj 7 76 cnv 15 430 125 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X obj 450 158 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 71 31 Class: pix object;
+#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 451 113 pd image;
+#X text 63 216 <none>;
+#X text 56 308 Outlet 1: gemlist;
+#X text 63 262 Inlet 1: gemlist;
+#X text 50 12 Synopsis: [pix_color];
+#X text 29 76 Description: set the colour-channels of an image;
+#X msg 527 165 0 0.5 0.8;
+#X obj 451 196 pix_color;
+#X obj 451 233 pix_draw;
+#X msg 458 164 1 0 0 1;
+#X text 42 95 [pix_color] sets each pixel of an image to a certain
+RGBA-value. As this is a pix_fx \, you will need an image first \,
+to set its pixels to a certain value.;
+#X text 63 275 Inlet 2: list: 3 (RGB) or 4 (RGBA) values;
+#X text 29 133 Note that this is done by the CPU in the main-memory
+of your machine \, while [color] is can be done very fast by your graphics-card.
+Generally it is NOT a good idea to use [pix_color] if the same result
+can be achieved with the [color] object !;
+#X text 516 105 open an image;
+#X text 509 118 (JPEG \, TIFF \, ..);
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 17 0;
+#X connect 16 0 17 1;
+#X connect 17 0 24 0;
+#X connect 23 0 24 1;
+#X connect 24 0 25 0;
+#X connect 26 0 24 1;
diff --git a/packages/noncvs/windows/extra/Gem/pix_coloralpha-help.pd b/packages/noncvs/windows/extra/Gem/pix_coloralpha-help.pd
index 17dbadd3..9b345192 100644
--- a/packages/noncvs/windows/extra/Gem/pix_coloralpha-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_coloralpha-help.pd
@@ -1,89 +1,89 @@
-#N canvas 75 13 690 372 10;
-#X text 452 8 GEM object;
-#X obj 8 245 cnv 15 430 80 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 248 Inlets:;
-#X text 38 295 Outlets:;
-#X obj 8 206 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 205 Arguments:;
-#X obj 7 76 cnv 15 430 125 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 520 218 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 525 257 pd gemwin;
-#X msg 525 238 create;
-#X text 521 217 Create window:;
-#X obj 450 138 cnv 15 160 50 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 71 31 Class: pix object;
-#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 451 113 pd image;
-#X text 63 216 <none>;
-#X text 56 308 Outlet 1: gemlist;
-#X text 63 262 Inlet 1: gemlist;
-#X text 516 105 open an image;
-#X text 509 118 (JPEG \, TIFF \, ..);
-#X obj 451 162 pix_coloralpha;
-#X obj 451 196 pix_texture;
-#X obj 451 240 square 3;
-#X obj 451 218 alpha;
-#X obj 452 265 gemhead 1;
-#X obj 452 305 sphere;
-#X text 50 12 Synopsis: [pix_coloralpha];
-#X text 19 76 Description: calculate the Alpha-channels from the RGB-data
-;
-#X text 28 102 [pix_coloralpha] will set the alpha-channel to be the
-mean-value of the RGB-triple for each pixel.;
-#X text 16 155 This of course \, makes only sense with RGBA-images.
-;
-#X obj 452 285 translate 2 0 0 -1;
-#X text 63 275 Inlet 1: 1|0 : turn on/off;
-#X obj 467 142 tgl 15 1 empty empty empty 0 -6 0 8 -262144 -1 -1 1
-1;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 17 0;
-#X connect 16 0 17 1;
-#X connect 17 0 23 0;
-#X connect 23 0 24 0;
-#X connect 24 0 26 0;
-#X connect 26 0 25 0;
-#X connect 27 0 33 0;
-#X connect 33 0 28 0;
-#X connect 35 0 23 0;
+#N canvas 75 13 690 372 10;
+#X text 452 8 GEM object;
+#X obj 8 245 cnv 15 430 80 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 248 Inlets:;
+#X text 38 295 Outlets:;
+#X obj 8 206 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 205 Arguments:;
+#X obj 7 76 cnv 15 430 125 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 520 218 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 525 257 pd gemwin;
+#X msg 525 238 create;
+#X text 521 217 Create window:;
+#X obj 450 138 cnv 15 160 50 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 71 31 Class: pix object;
+#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 451 113 pd image;
+#X text 63 216 <none>;
+#X text 56 308 Outlet 1: gemlist;
+#X text 63 262 Inlet 1: gemlist;
+#X text 516 105 open an image;
+#X text 509 118 (JPEG \, TIFF \, ..);
+#X obj 451 162 pix_coloralpha;
+#X obj 451 196 pix_texture;
+#X obj 451 240 square 3;
+#X obj 451 218 alpha;
+#X obj 452 265 gemhead 1;
+#X obj 452 305 sphere;
+#X text 50 12 Synopsis: [pix_coloralpha];
+#X text 19 76 Description: calculate the Alpha-channels from the RGB-data
+;
+#X text 28 102 [pix_coloralpha] will set the alpha-channel to be the
+mean-value of the RGB-triple for each pixel.;
+#X text 16 155 This of course \, makes only sense with RGBA-images.
+;
+#X obj 452 285 translate 2 0 0 -1;
+#X text 63 275 Inlet 1: 1|0 : turn on/off;
+#X obj 467 142 tgl 15 1 empty empty empty 0 -6 0 8 -262144 -1 -1 1
+1;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 17 0;
+#X connect 16 0 17 1;
+#X connect 17 0 23 0;
+#X connect 23 0 24 0;
+#X connect 24 0 26 0;
+#X connect 26 0 25 0;
+#X connect 27 0 33 0;
+#X connect 33 0 28 0;
+#X connect 35 0 23 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_colormatrix-help.pd b/packages/noncvs/windows/extra/Gem/pix_colormatrix-help.pd
index bb80a2e9..f12f01bb 100644
--- a/packages/noncvs/windows/extra/Gem/pix_colormatrix-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_colormatrix-help.pd
@@ -1,158 +1,158 @@
-#N canvas 76 273 636 411 10;
-#X text 452 8 GEM object;
-#X obj 8 295 cnv 15 430 90 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 298 Inlets:;
-#X text 38 355 Outlets:;
-#X obj 8 256 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 255 Arguments:;
-#X obj 7 76 cnv 15 430 170 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 443 77 cnv 15 180 310 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 314 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 353 pd gemwin;
-#X msg 519 334 create;
-#X text 515 313 Create window:;
-#X obj 450 138 cnv 15 160 150 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 71 31 Class: pix object;
-#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 451 113 pd image;
-#X text 63 266 <none>;
-#X text 56 368 Outlet 1: gemlist;
-#X text 63 312 Inlet 1: gemlist;
-#X obj 451 293 pix_draw;
-#X text 516 105 open an image;
-#X text 509 118 (JPEG \, TIFF \, ..);
-#X text 50 12 Synopsis: [pix_colormatrix];
-#X text 29 76 Description: transform the pixel values by a matrix;
-#X text 63 325 Inlet 2: list: 9 (RGB) or 16 (RGBA) values \, forming
-a matrix.;
-#X text 12 94 pix_colormatrix transforms the pixel values by a matrix.
-The matrix can be either a 3x3 or a 4x4. If the matrix is a 3x3 \,
-then the alpha is set to 1;
-#X text 12 135 See the HTML file from Paul Haberli for example matrices.
-;
-#X text 135 159 the matrix;
-#X text 194 226 r g b a;
-#X text 194 211 r g b a;
-#X text 193 194 r g b a;
-#X text 193 178 r g b a;
-#X text 93 188 r g b;
-#X text 93 204 r g b;
-#X text 94 221 r g b;
-#X obj 451 266 pix_colormatrix;
-#X floatatom 495 195 3 -1 2 0 - - -;
-#X floatatom 518 195 3 -1 2 0 - - -;
-#X floatatom 541 195 3 -1 2 0 - - -;
-#X floatatom 495 209 3 -1 2 0 - - -;
-#X floatatom 518 209 3 -1 2 0 - - -;
-#X floatatom 541 209 3 -1 2 0 - - -;
-#X floatatom 495 223 3 -1 2 0 - - -;
-#X floatatom 518 223 3 -1 2 0 - - -;
-#X floatatom 541 223 3 -1 2 0 - - -;
-#N canvas 0 0 450 300 pack 0;
-#X obj 69 169 pack 0 0 0 0 0 0 0 0 0;
-#X obj 69 139 t b f;
-#X obj 106 139 t b f;
-#X obj 143 139 t b f;
-#X obj 180 139 t b f;
-#X obj 217 139 t b f;
-#X obj 254 139 t b f;
-#X obj 291 139 t b f;
-#X obj 328 139 t b f;
-#X obj 32 111 inlet;
-#X obj 69 111 inlet;
-#X obj 106 111 inlet;
-#X obj 143 111 inlet;
-#X obj 180 111 inlet;
-#X obj 217 111 inlet;
-#X obj 254 111 inlet;
-#X obj 291 111 inlet;
-#X obj 328 111 inlet;
-#X obj 69 196 outlet;
-#X connect 0 0 18 0;
-#X connect 1 0 0 0;
-#X connect 1 1 0 1;
-#X connect 2 0 0 0;
-#X connect 2 1 0 2;
-#X connect 3 0 0 0;
-#X connect 3 1 0 3;
-#X connect 4 0 0 0;
-#X connect 4 1 0 4;
-#X connect 5 0 0 0;
-#X connect 5 1 0 5;
-#X connect 6 0 0 0;
-#X connect 6 1 0 6;
-#X connect 7 0 0 0;
-#X connect 7 1 0 7;
-#X connect 8 0 0 0;
-#X connect 8 1 0 8;
-#X connect 9 0 0 0;
-#X connect 10 0 1 0;
-#X connect 11 0 2 0;
-#X connect 12 0 3 0;
-#X connect 13 0 4 0;
-#X connect 14 0 5 0;
-#X connect 15 0 6 0;
-#X connect 16 0 7 0;
-#X connect 17 0 8 0;
-#X restore 474 236 pd pack 9 . . .;
-#X msg 471 164 1;
-#X obj 471 145 loadbang;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 17 0;
-#X connect 16 0 17 1;
-#X connect 17 0 37 0;
-#X connect 37 0 21 0;
-#X connect 38 0 47 0;
-#X connect 39 0 47 1;
-#X connect 40 0 47 2;
-#X connect 41 0 47 3;
-#X connect 42 0 47 4;
-#X connect 43 0 47 5;
-#X connect 44 0 47 6;
-#X connect 45 0 47 7;
-#X connect 46 0 47 8;
-#X connect 47 0 37 1;
-#X connect 48 0 38 0;
-#X connect 48 0 42 0;
-#X connect 48 0 46 0;
-#X connect 49 0 48 0;
+#N canvas 76 273 636 411 10;
+#X text 452 8 GEM object;
+#X obj 8 295 cnv 15 430 90 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 298 Inlets:;
+#X text 38 355 Outlets:;
+#X obj 8 256 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 255 Arguments:;
+#X obj 7 76 cnv 15 430 170 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 443 77 cnv 15 180 310 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 314 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 353 pd gemwin;
+#X msg 519 334 create;
+#X text 515 313 Create window:;
+#X obj 450 138 cnv 15 160 150 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 71 31 Class: pix object;
+#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 451 113 pd image;
+#X text 63 266 <none>;
+#X text 56 368 Outlet 1: gemlist;
+#X text 63 312 Inlet 1: gemlist;
+#X obj 451 293 pix_draw;
+#X text 516 105 open an image;
+#X text 509 118 (JPEG \, TIFF \, ..);
+#X text 50 12 Synopsis: [pix_colormatrix];
+#X text 29 76 Description: transform the pixel values by a matrix;
+#X text 63 325 Inlet 2: list: 9 (RGB) or 16 (RGBA) values \, forming
+a matrix.;
+#X text 12 94 pix_colormatrix transforms the pixel values by a matrix.
+The matrix can be either a 3x3 or a 4x4. If the matrix is a 3x3 \,
+then the alpha is set to 1;
+#X text 12 135 See the HTML file from Paul Haberli for example matrices.
+;
+#X text 135 159 the matrix;
+#X text 194 226 r g b a;
+#X text 194 211 r g b a;
+#X text 193 194 r g b a;
+#X text 193 178 r g b a;
+#X text 93 188 r g b;
+#X text 93 204 r g b;
+#X text 94 221 r g b;
+#X obj 451 266 pix_colormatrix;
+#X floatatom 495 195 3 -1 2 0 - - -;
+#X floatatom 518 195 3 -1 2 0 - - -;
+#X floatatom 541 195 3 -1 2 0 - - -;
+#X floatatom 495 209 3 -1 2 0 - - -;
+#X floatatom 518 209 3 -1 2 0 - - -;
+#X floatatom 541 209 3 -1 2 0 - - -;
+#X floatatom 495 223 3 -1 2 0 - - -;
+#X floatatom 518 223 3 -1 2 0 - - -;
+#X floatatom 541 223 3 -1 2 0 - - -;
+#N canvas 0 0 450 300 pack 0;
+#X obj 69 169 pack 0 0 0 0 0 0 0 0 0;
+#X obj 69 139 t b f;
+#X obj 106 139 t b f;
+#X obj 143 139 t b f;
+#X obj 180 139 t b f;
+#X obj 217 139 t b f;
+#X obj 254 139 t b f;
+#X obj 291 139 t b f;
+#X obj 328 139 t b f;
+#X obj 32 111 inlet;
+#X obj 69 111 inlet;
+#X obj 106 111 inlet;
+#X obj 143 111 inlet;
+#X obj 180 111 inlet;
+#X obj 217 111 inlet;
+#X obj 254 111 inlet;
+#X obj 291 111 inlet;
+#X obj 328 111 inlet;
+#X obj 69 196 outlet;
+#X connect 0 0 18 0;
+#X connect 1 0 0 0;
+#X connect 1 1 0 1;
+#X connect 2 0 0 0;
+#X connect 2 1 0 2;
+#X connect 3 0 0 0;
+#X connect 3 1 0 3;
+#X connect 4 0 0 0;
+#X connect 4 1 0 4;
+#X connect 5 0 0 0;
+#X connect 5 1 0 5;
+#X connect 6 0 0 0;
+#X connect 6 1 0 6;
+#X connect 7 0 0 0;
+#X connect 7 1 0 7;
+#X connect 8 0 0 0;
+#X connect 8 1 0 8;
+#X connect 9 0 0 0;
+#X connect 10 0 1 0;
+#X connect 11 0 2 0;
+#X connect 12 0 3 0;
+#X connect 13 0 4 0;
+#X connect 14 0 5 0;
+#X connect 15 0 6 0;
+#X connect 16 0 7 0;
+#X connect 17 0 8 0;
+#X restore 474 236 pd pack 9 . . .;
+#X msg 471 164 1;
+#X obj 471 145 loadbang;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 17 0;
+#X connect 16 0 17 1;
+#X connect 17 0 37 0;
+#X connect 37 0 21 0;
+#X connect 38 0 47 0;
+#X connect 39 0 47 1;
+#X connect 40 0 47 2;
+#X connect 41 0 47 3;
+#X connect 42 0 47 4;
+#X connect 43 0 47 5;
+#X connect 44 0 47 6;
+#X connect 45 0 47 7;
+#X connect 46 0 47 8;
+#X connect 47 0 37 1;
+#X connect 48 0 38 0;
+#X connect 48 0 42 0;
+#X connect 48 0 46 0;
+#X connect 49 0 48 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_colorreduce-help.pd b/packages/noncvs/windows/extra/Gem/pix_colorreduce-help.pd
index acab6661..de29120d 100644
--- a/packages/noncvs/windows/extra/Gem/pix_colorreduce-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_colorreduce-help.pd
@@ -1,86 +1,86 @@
-#N canvas 0 0 654 372 10;
-#X text 452 8 GEM object;
-#X obj 8 196 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 198 Inlets:;
-#X text 39 282 Outlets:;
-#X obj 8 156 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 155 Arguments:;
-#X obj 8 76 cnv 15 430 75 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X obj 450 158 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 71 31 Class: pix object;
-#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 451 113 pd image;
-#X obj 451 233 pix_texture;
-#X text 63 166 <none>;
-#X text 57 295 Outlet 1: gemlist;
-#X text 63 212 Inlet 1: gemlist;
-#X obj 451 196 pix_colorreduce;
-#X text 50 12 Synopsis: [pix_colorreduce];
-#X text 29 77 Description: reduce the number of colour in the image
-;
-#X text 42 95 [pix_colorreduce] will reduce the number of colours in
-a pixImage \, based on statistical information of the image.;
-#X text 64 232 Inlet 2: float: number of colours;
-#X text 64 247 Inlet 3: float: perisistency of the palette;
-#X text 64 262 Inlet 4: float: edge smoothing;
-#X floatatom 464 178 5 0 255 2 number - -;
-#X floatatom 516 178 5 0 1 2 persist - -;
-#X obj 451 255 square 3;
-#X obj 569 176 tgl 15 0 empty empty smooth 0 -6 0 8 -262144 -1 -1 0
-1;
-#X text 516 105 open an image;
-#X text 509 118 (JPEG \, TIFF \, ..);
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 17 0;
-#X connect 16 0 17 1;
-#X connect 17 0 22 0;
-#X connect 18 0 31 0;
-#X connect 22 0 18 0;
-#X connect 29 0 22 1;
-#X connect 30 0 22 2;
-#X connect 32 0 22 3;
+#N canvas 0 0 654 372 10;
+#X text 452 8 GEM object;
+#X obj 8 196 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 198 Inlets:;
+#X text 39 282 Outlets:;
+#X obj 8 156 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 155 Arguments:;
+#X obj 8 76 cnv 15 430 75 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X obj 450 158 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 71 31 Class: pix object;
+#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 451 113 pd image;
+#X obj 451 233 pix_texture;
+#X text 63 166 <none>;
+#X text 57 295 Outlet 1: gemlist;
+#X text 63 212 Inlet 1: gemlist;
+#X obj 451 196 pix_colorreduce;
+#X text 50 12 Synopsis: [pix_colorreduce];
+#X text 29 77 Description: reduce the number of colour in the image
+;
+#X text 42 95 [pix_colorreduce] will reduce the number of colours in
+a pixImage \, based on statistical information of the image.;
+#X text 64 232 Inlet 2: float: number of colours;
+#X text 64 247 Inlet 3: float: perisistency of the palette;
+#X text 64 262 Inlet 4: float: edge smoothing;
+#X floatatom 464 178 5 0 255 2 number - -;
+#X floatatom 516 178 5 0 1 2 persist - -;
+#X obj 451 255 square 3;
+#X obj 569 176 tgl 15 0 empty empty smooth 0 -6 0 8 -262144 -1 -1 0
+1;
+#X text 516 105 open an image;
+#X text 509 118 (JPEG \, TIFF \, ..);
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 17 0;
+#X connect 16 0 17 1;
+#X connect 17 0 22 0;
+#X connect 18 0 31 0;
+#X connect 22 0 18 0;
+#X connect 29 0 22 1;
+#X connect 30 0 22 2;
+#X connect 32 0 22 3;
diff --git a/packages/noncvs/windows/extra/Gem/pix_compare-help.pd b/packages/noncvs/windows/extra/Gem/pix_compare-help.pd
index de5b0ce2..e49e0c16 100644
--- a/packages/noncvs/windows/extra/Gem/pix_compare-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_compare-help.pd
@@ -1,106 +1,106 @@
-#N canvas 68 190 683 381 10;
-#X text 452 8 GEM object;
-#X obj 8 226 cnv 15 430 135 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 228 Inlets:;
-#X text 39 294 Outlets:;
-#X obj 8 186 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 185 Arguments:;
-#X obj 8 66 cnv 15 430 110 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 280 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 290 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 329 pd gemwin;
-#X msg 519 310 create;
-#X text 515 289 Create window:;
-#X obj 451 168 cnv 15 160 80 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 119 gemhead;
-#X text 71 31 Class: pix object;
-#X obj 502 102 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 451 138 pd image;
-#X obj 451 263 pix_texture;
-#X text 63 196 <none>;
-#X text 47 308 Outlet 1: gemlist;
-#X text 53 242 Inlet 1: gemlist;
-#X obj 451 285 square 3;
-#X text 503 88 (JPEG \, TIFF \, ..);
-#X obj 541 122 gemhead;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/ducks.png;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 541 141 pd image;
-#X obj 592 103 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#X msg 491 196 direction \$1;
-#X obj 491 178 tgl 15 1 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X text 50 12 Synopsis: [pix_compare];
-#X text 29 67 Description: mix 2 images based on their luminance;
-#X text 53 281 Inlet 2: gemlist;
-#X obj 451 226 pix_compare;
-#X text 53 254 Inlet 1: message: direction [0|1]: take lower or higher(default)
-valued pixel;
-#X text 449 77 open two different images;
-#X text 18 81 [pix_compare] compares two images pixel by pixel and
-outputs a composite image. [pix_compare] can do a greater than comparison
-where a brighter pixel in the right stream will replace the corresponding
-pixel in the left stream or the comparison can be reversed and the
-dimmer pixel can be replaced. this operation works best using YUV but
-can also be effective in RGB.;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 17 0;
-#X connect 16 0 17 1;
-#X connect 17 0 32 0;
-#X connect 18 0 22 0;
-#X connect 24 0 25 0;
-#X connect 25 0 32 1;
-#X connect 26 0 25 1;
-#X connect 27 0 32 0;
-#X connect 28 0 27 0;
-#X connect 32 0 18 0;
+#N canvas 68 190 683 381 10;
+#X text 452 8 GEM object;
+#X obj 8 226 cnv 15 430 135 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 228 Inlets:;
+#X text 39 294 Outlets:;
+#X obj 8 186 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 185 Arguments:;
+#X obj 8 66 cnv 15 430 110 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 280 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 290 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 329 pd gemwin;
+#X msg 519 310 create;
+#X text 515 289 Create window:;
+#X obj 451 168 cnv 15 160 80 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 119 gemhead;
+#X text 71 31 Class: pix object;
+#X obj 502 102 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 451 138 pd image;
+#X obj 451 263 pix_texture;
+#X text 63 196 <none>;
+#X text 47 308 Outlet 1: gemlist;
+#X text 53 242 Inlet 1: gemlist;
+#X obj 451 285 square 3;
+#X text 503 88 (JPEG \, TIFF \, ..);
+#X obj 541 122 gemhead;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/ducks.png;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 541 141 pd image;
+#X obj 592 103 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#X msg 491 196 direction \$1;
+#X obj 491 178 tgl 15 1 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X text 50 12 Synopsis: [pix_compare];
+#X text 29 67 Description: mix 2 images based on their luminance;
+#X text 53 281 Inlet 2: gemlist;
+#X obj 451 226 pix_compare;
+#X text 53 254 Inlet 1: message: direction [0|1]: take lower or higher(default)
+valued pixel;
+#X text 449 77 open two different images;
+#X text 18 81 [pix_compare] compares two images pixel by pixel and
+outputs a composite image. [pix_compare] can do a greater than comparison
+where a brighter pixel in the right stream will replace the corresponding
+pixel in the left stream or the comparison can be reversed and the
+dimmer pixel can be replaced. this operation works best using YUV but
+can also be effective in RGB.;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 17 0;
+#X connect 16 0 17 1;
+#X connect 17 0 32 0;
+#X connect 18 0 22 0;
+#X connect 24 0 25 0;
+#X connect 25 0 32 1;
+#X connect 26 0 25 1;
+#X connect 27 0 32 0;
+#X connect 28 0 27 0;
+#X connect 32 0 18 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_composite-help.pd b/packages/noncvs/windows/extra/Gem/pix_composite-help.pd
index 8a588588..9b46d9ce 100644
--- a/packages/noncvs/windows/extra/Gem/pix_composite-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_composite-help.pd
@@ -1,98 +1,98 @@
-#N canvas 0 252 683 381 10;
-#X text 452 8 GEM object;
-#X obj 8 226 cnv 15 430 135 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 248 Inlets:;
-#X text 39 304 Outlets:;
-#X obj 8 186 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 185 Arguments:;
-#X obj 8 66 cnv 15 430 110 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 280 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 290 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 329 pd gemwin;
-#X msg 519 310 create;
-#X text 515 289 Create window:;
-#X obj 451 208 cnv 15 160 40 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 119 gemhead;
-#X obj 502 102 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 451 138 pd image;
-#X obj 451 263 pix_texture;
-#X text 63 196 <none>;
-#X text 47 318 Outlet 1: gemlist;
-#X text 53 262 Inlet 1: gemlist;
-#X obj 451 285 square 3;
-#X text 503 88 (JPEG \, TIFF \, ..);
-#X obj 541 122 gemhead;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/dancer.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 541 141 pd image;
-#X obj 592 103 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#X text 53 291 Inlet 2: gemlist;
-#X text 449 77 open two different images;
-#X text 71 31 Class: pix mix object;
-#X text 33 137 The 2 images have to be of the same size.;
-#X obj 451 218 pix_composite;
-#X text 50 12 Synopsis: [pix_composite];
-#X text 29 67 Description: alpha-blend 2 images;
-#X text 13 84 [pix_composite] mixes two pixes together based on the
-alpha value of the 1st pix.;
-#X obj 451 166 pix_coloralpha;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 16 0;
-#X connect 15 0 16 1;
-#X connect 16 0 34 0;
-#X connect 17 0 21 0;
-#X connect 23 0 24 0;
-#X connect 24 0 30 1;
-#X connect 25 0 24 1;
-#X connect 30 0 17 0;
-#X connect 34 0 30 0;
+#N canvas 0 252 683 381 10;
+#X text 452 8 GEM object;
+#X obj 8 226 cnv 15 430 135 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 248 Inlets:;
+#X text 39 304 Outlets:;
+#X obj 8 186 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 185 Arguments:;
+#X obj 8 66 cnv 15 430 110 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 280 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 290 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 329 pd gemwin;
+#X msg 519 310 create;
+#X text 515 289 Create window:;
+#X obj 451 208 cnv 15 160 40 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 119 gemhead;
+#X obj 502 102 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 451 138 pd image;
+#X obj 451 263 pix_texture;
+#X text 63 196 <none>;
+#X text 47 318 Outlet 1: gemlist;
+#X text 53 262 Inlet 1: gemlist;
+#X obj 451 285 square 3;
+#X text 503 88 (JPEG \, TIFF \, ..);
+#X obj 541 122 gemhead;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/dancer.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 541 141 pd image;
+#X obj 592 103 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#X text 53 291 Inlet 2: gemlist;
+#X text 449 77 open two different images;
+#X text 71 31 Class: pix mix object;
+#X text 33 137 The 2 images have to be of the same size.;
+#X obj 451 218 pix_composite;
+#X text 50 12 Synopsis: [pix_composite];
+#X text 29 67 Description: alpha-blend 2 images;
+#X text 13 84 [pix_composite] mixes two pixes together based on the
+alpha value of the 1st pix.;
+#X obj 451 166 pix_coloralpha;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 16 0;
+#X connect 15 0 16 1;
+#X connect 16 0 34 0;
+#X connect 17 0 21 0;
+#X connect 23 0 24 0;
+#X connect 24 0 30 1;
+#X connect 25 0 24 1;
+#X connect 30 0 17 0;
+#X connect 34 0 30 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_contrast-help.pd b/packages/noncvs/windows/extra/Gem/pix_contrast-help.pd
index ff4f301c..bdeda005 100644
--- a/packages/noncvs/windows/extra/Gem/pix_contrast-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_contrast-help.pd
@@ -1,83 +1,83 @@
-#N canvas 59 276 654 372 10;
-#X text 452 8 GEM object;
-#X obj 8 225 cnv 15 430 100 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 232 Inlets:;
-#X text 38 295 Outlets:;
-#X obj 8 184 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 183 Arguments:;
-#X obj 7 76 cnv 15 430 100 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X obj 450 138 cnv 15 160 80 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 71 31 Class: pix object;
-#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 451 113 pd image;
-#X text 63 194 <none>;
-#X text 56 308 Outlet 1: gemlist;
-#X text 63 246 Inlet 1: gemlist;
-#X obj 451 233 pix_draw;
-#X text 516 105 open an image;
-#X text 509 118 (JPEG \, TIFF \, ..);
-#X obj 451 196 pix_contrast;
-#X text 50 12 Synopsis: [pix_contrast];
-#X text 29 76 Description: change contrast and saturation of an image
-;
-#X text 17 97 [pix_contrast] will modify the contrast and saturation
-of an image. When processing greyscale images \, only the contrast
-can be modified (since there is no hue);
-#X floatatom 490 148 5 0 10 1 contrast - -;
-#X floatatom 530 175 5 0 0 0 saturation - -;
-#X text 21 141 A contrast (or saturation) of "1" will not change the
-image. Both contrast and saturation modifiers must be >=0!;
-#X text 63 261 Inlet 2: float: contrast (>=0.f default=1.f);
-#X text 63 274 Inlet 3: float: saturation (>=0.f default=1.f);
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 17 0;
-#X connect 16 0 17 1;
-#X connect 17 0 24 0;
-#X connect 24 0 21 0;
-#X connect 28 0 24 1;
-#X connect 29 0 24 2;
+#N canvas 59 276 654 372 10;
+#X text 452 8 GEM object;
+#X obj 8 225 cnv 15 430 100 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 232 Inlets:;
+#X text 38 295 Outlets:;
+#X obj 8 184 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 183 Arguments:;
+#X obj 7 76 cnv 15 430 100 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X obj 450 138 cnv 15 160 80 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 71 31 Class: pix object;
+#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 451 113 pd image;
+#X text 63 194 <none>;
+#X text 56 308 Outlet 1: gemlist;
+#X text 63 246 Inlet 1: gemlist;
+#X obj 451 233 pix_draw;
+#X text 516 105 open an image;
+#X text 509 118 (JPEG \, TIFF \, ..);
+#X obj 451 196 pix_contrast;
+#X text 50 12 Synopsis: [pix_contrast];
+#X text 29 76 Description: change contrast and saturation of an image
+;
+#X text 17 97 [pix_contrast] will modify the contrast and saturation
+of an image. When processing greyscale images \, only the contrast
+can be modified (since there is no hue);
+#X floatatom 490 148 5 0 10 1 contrast - -;
+#X floatatom 530 175 5 0 0 0 saturation - -;
+#X text 21 141 A contrast (or saturation) of "1" will not change the
+image. Both contrast and saturation modifiers must be >=0!;
+#X text 63 261 Inlet 2: float: contrast (>=0.f default=1.f);
+#X text 63 274 Inlet 3: float: saturation (>=0.f default=1.f);
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 17 0;
+#X connect 16 0 17 1;
+#X connect 17 0 24 0;
+#X connect 24 0 21 0;
+#X connect 28 0 24 1;
+#X connect 29 0 24 2;
diff --git a/packages/noncvs/windows/extra/Gem/pix_convert-help.pd b/packages/noncvs/windows/extra/Gem/pix_convert-help.pd
index 4a02d169..f905f20a 100644
--- a/packages/noncvs/windows/extra/Gem/pix_convert-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_convert-help.pd
@@ -1,103 +1,103 @@
-#N canvas 473 0 654 372 10;
-#X text 452 8 GEM object;
-#X obj 8 245 cnv 15 430 80 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 248 Inlets:;
-#X text 38 295 Outlets:;
-#X obj 8 206 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 205 Arguments:;
-#X obj 7 76 cnv 15 430 125 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X obj 450 135 cnv 15 160 90 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 71 31 Class: pix object;
-#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X obj 77 290 pix_buf;
-#X msg 99 267 auto 1;
-#X obj 99 246 loadbang;
-#X connect 0 0 2 0;
-#X connect 2 0 6 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X connect 6 0 1 0;
-#X connect 7 0 6 0;
-#X connect 8 0 7 0;
-#X restore 451 113 pd image;
-#X text 63 216 <none>;
-#X text 56 308 Outlet 1: gemlist;
-#X text 63 262 Inlet 1: gemlist;
-#X text 516 105 open an image;
-#X text 509 118 (JPEG \, TIFF \, ..);
-#X text 22 93 Images can be stored in various formats/color-spaces.
-;
-#X text 62 339 see also:;
-#X obj 205 338 pix_yuv;
-#X obj 138 338 pix_grey;
-#X text 22 107 GREY-scale images have no color-component \, while YUV
-is missing the Alpha-channel.;
-#X text 19 133 Traditionally \, RGBA is the native colour-space of
-Gem \, although it is quite CPU-consumptive.;
-#X obj 451 206 pix_convert;
-#X msg 477 183 color \$1;
-#X obj 477 163 symbol;
-#X msg 477 141 grey;
-#X msg 514 141 YUV;
-#X msg 546 141 RGBA;
-#X text 50 12 Synopsis: [pix_convert];
-#X text 15 77 Description: convert the colorspace of an image;
-#X obj 265 338 pix_rgba;
-#X text 63 276 Inlet 1: color <symbol> :: colorspace to convert to
-;
-#X text 19 159 You can use [pix_convert] to convert images of any format
-into a format you can choose.;
-#X obj 451 233 pix_texture;
-#X obj 451 256 square 3;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 17 0;
-#X connect 16 0 17 1;
-#X connect 17 0 29 0;
-#X connect 29 0 40 0;
-#X connect 30 0 29 0;
-#X connect 31 0 30 0;
-#X connect 32 0 31 0;
-#X connect 33 0 31 0;
-#X connect 34 0 31 0;
-#X connect 40 0 41 0;
+#N canvas 473 0 654 372 10;
+#X text 452 8 GEM object;
+#X obj 8 245 cnv 15 430 80 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 248 Inlets:;
+#X text 38 295 Outlets:;
+#X obj 8 206 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 205 Arguments:;
+#X obj 7 76 cnv 15 430 125 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X obj 450 135 cnv 15 160 90 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 71 31 Class: pix object;
+#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X obj 77 290 pix_buf;
+#X msg 99 267 auto 1;
+#X obj 99 246 loadbang;
+#X connect 0 0 2 0;
+#X connect 2 0 6 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X connect 6 0 1 0;
+#X connect 7 0 6 0;
+#X connect 8 0 7 0;
+#X restore 451 113 pd image;
+#X text 63 216 <none>;
+#X text 56 308 Outlet 1: gemlist;
+#X text 63 262 Inlet 1: gemlist;
+#X text 516 105 open an image;
+#X text 509 118 (JPEG \, TIFF \, ..);
+#X text 22 93 Images can be stored in various formats/color-spaces.
+;
+#X text 62 339 see also:;
+#X obj 205 338 pix_yuv;
+#X obj 138 338 pix_grey;
+#X text 22 107 GREY-scale images have no color-component \, while YUV
+is missing the Alpha-channel.;
+#X text 19 133 Traditionally \, RGBA is the native colour-space of
+Gem \, although it is quite CPU-consumptive.;
+#X obj 451 206 pix_convert;
+#X msg 477 183 color \$1;
+#X obj 477 163 symbol;
+#X msg 477 141 grey;
+#X msg 514 141 YUV;
+#X msg 546 141 RGBA;
+#X text 50 12 Synopsis: [pix_convert];
+#X text 15 77 Description: convert the colorspace of an image;
+#X obj 265 338 pix_rgba;
+#X text 63 276 Inlet 1: color <symbol> :: colorspace to convert to
+;
+#X text 19 159 You can use [pix_convert] to convert images of any format
+into a format you can choose.;
+#X obj 451 233 pix_texture;
+#X obj 451 256 square 3;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 17 0;
+#X connect 16 0 17 1;
+#X connect 17 0 29 0;
+#X connect 29 0 40 0;
+#X connect 30 0 29 0;
+#X connect 31 0 30 0;
+#X connect 32 0 31 0;
+#X connect 33 0 31 0;
+#X connect 34 0 31 0;
+#X connect 40 0 41 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_convolve-help.pd b/packages/noncvs/windows/extra/Gem/pix_convolve-help.pd
index db528dce..0a0a1959 100644
--- a/packages/noncvs/windows/extra/Gem/pix_convolve-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_convolve-help.pd
@@ -1,243 +1,243 @@
-#N canvas 105 476 664 410 10;
-#X text 452 8 GEM object;
-#X obj 8 295 cnv 15 430 90 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 298 Inlets:;
-#X text 38 355 Outlets:;
-#X obj 8 256 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 255 Arguments:;
-#X obj 7 76 cnv 15 430 170 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 443 77 cnv 15 180 310 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 314 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 353 pd gemwin;
-#X msg 519 334 create;
-#X text 515 313 Create window:;
-#X obj 450 138 cnv 15 160 150 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X text 71 31 Class: pix object;
-#X text 56 368 Outlet 1: gemlist;
-#X text 63 312 Inlet 1: gemlist;
-#X text 50 12 Synopsis: [pix_convolve];
-#X text 29 76 Description: apply a convolution kernel;
-#X text 20 95 pix_convolve accepts a convolution kernal to apply to
-a pix. The scale is a divisor for the result (to normal the matrix).
-The default is 1.0.;
-#X obj 489 183 cnv 15 100 40 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 451 84 gemhead;
-#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 451 113 pd image;
-#X obj 451 293 pix_draw;
-#X text 516 105 open an image;
-#X text 509 118 (JPEG \, TIFF \, ..);
-#X floatatom 505 182 3 -1 2 0 - - -;
-#X floatatom 528 182 3 -1 2 0 - - -;
-#X floatatom 551 182 3 -1 2 0 - - -;
-#X floatatom 505 196 3 -1 2 0 - - -;
-#X floatatom 528 196 3 -1 2 0 - - -;
-#X floatatom 551 196 3 -1 2 0 - - -;
-#X floatatom 505 210 3 -1 2 0 - - -;
-#X floatatom 528 210 3 -1 2 0 - - -;
-#X floatatom 551 210 3 -1 2 0 - - -;
-#N canvas 0 0 450 469 pack 0;
-#X obj 69 169 pack 0 0 0 0 0 0 0 0 0;
-#X obj 69 139 t b f;
-#X obj 106 139 t b f;
-#X obj 143 139 t b f;
-#X obj 180 139 t b f;
-#X obj 217 139 t b f;
-#X obj 254 139 t b f;
-#X obj 291 139 t b f;
-#X obj 328 139 t b f;
-#X obj 32 111 inlet;
-#X obj 69 111 inlet;
-#X obj 106 111 inlet;
-#X obj 143 111 inlet;
-#X obj 180 111 inlet;
-#X obj 217 111 inlet;
-#X obj 254 111 inlet;
-#X obj 291 111 inlet;
-#X obj 328 111 inlet;
-#X obj 61 349 outlet;
-#X obj 274 355 outlet;
-#X obj 71 190 t l l;
-#X obj 257 232 unpack 0 0 0 0 0 0 0 0 0;
-#X obj 399 256 +;
-#X obj 358 256 +;
-#X obj 318 256 +;
-#X obj 277 256 +;
-#X obj 379 286 +;
-#X obj 298 286 +;
-#X obj 349 316 +;
-#X obj 268 316 +;
-#X obj 58 294 select 0;
-#X msg 48 323 1;
-#X obj 132 391 /;
-#X msg 132 365 1 \$1;
-#X connect 0 0 20 0;
-#X connect 1 0 0 0;
-#X connect 1 1 0 1;
-#X connect 2 0 0 0;
-#X connect 2 1 0 2;
-#X connect 3 0 0 0;
-#X connect 3 1 0 3;
-#X connect 4 0 0 0;
-#X connect 4 1 0 4;
-#X connect 5 0 0 0;
-#X connect 5 1 0 5;
-#X connect 6 0 0 0;
-#X connect 6 1 0 6;
-#X connect 7 0 0 0;
-#X connect 7 1 0 7;
-#X connect 8 0 0 0;
-#X connect 8 1 0 8;
-#X connect 9 0 0 0;
-#X connect 10 0 1 0;
-#X connect 11 0 2 0;
-#X connect 12 0 3 0;
-#X connect 13 0 4 0;
-#X connect 14 0 5 0;
-#X connect 15 0 6 0;
-#X connect 16 0 7 0;
-#X connect 17 0 8 0;
-#X connect 20 0 21 0;
-#X connect 20 1 19 0;
-#X connect 21 0 29 0;
-#X connect 21 1 25 0;
-#X connect 21 2 25 1;
-#X connect 21 3 24 0;
-#X connect 21 4 24 1;
-#X connect 21 5 23 0;
-#X connect 21 6 23 1;
-#X connect 21 7 22 0;
-#X connect 21 8 22 1;
-#X connect 22 0 26 1;
-#X connect 23 0 26 0;
-#X connect 24 0 27 1;
-#X connect 25 0 27 0;
-#X connect 26 0 28 1;
-#X connect 27 0 28 0;
-#X connect 28 0 29 1;
-#X connect 29 0 30 0;
-#X connect 30 0 31 0;
-#X connect 30 1 33 0;
-#X connect 31 0 18 0;
-#X connect 32 0 18 0;
-#X connect 33 0 32 0;
-#X restore 484 224 pd pack 9 . . .;
-#X obj 451 266 pix_convolve 3 3;
-#X floatatom 484 249 5 0 0 1 scale - -;
-#N canvas 411 476 605 305 unpack 0;
-#X obj 60 270 outlet;
-#X obj 111 270 outlet;
-#X obj 164 270 outlet;
-#X obj 215 270 outlet;
-#X obj 266 270 outlet;
-#X obj 317 270 outlet;
-#X obj 370 270 outlet;
-#X obj 421 270 outlet;
-#X obj 471 271 outlet;
-#X obj 179 173 unpack 0 0 0 0 0 0 0 0 0;
-#X obj 130 13 inlet;
-#X obj 130 40 route edge1 edge2 smooth none;
-#X msg 130 124 -1 -1 -1 -1 8 -1 -1 -1 -1;
-#X msg 179 102 -1 -4 -1 -4 20 -4 -1 -4 -1;
-#X msg 229 82 1 2 1 2 4 2 1 2 1;
-#X msg 278 62 0 0 0 0 1 0 0 0 0;
-#X connect 9 0 0 0;
-#X connect 9 1 1 0;
-#X connect 9 2 2 0;
-#X connect 9 3 3 0;
-#X connect 9 4 4 0;
-#X connect 9 5 5 0;
-#X connect 9 6 6 0;
-#X connect 9 7 7 0;
-#X connect 9 8 8 0;
-#X connect 10 0 11 0;
-#X connect 11 0 12 0;
-#X connect 11 1 13 0;
-#X connect 11 2 14 0;
-#X connect 11 3 15 0;
-#X connect 12 0 9 0;
-#X connect 13 0 9 0;
-#X connect 14 0 9 0;
-#X connect 15 0 9 0;
-#X restore 473 165 pd unpack 9 . . .;
-#X msg 459 142 none;
-#X msg 540 142 edge1;
-#X msg 582 142 edge2;
-#X msg 493 142 smooth;
-#X text 63 325 Inlet 2: <float>: scale-factor;
-#X text 63 338 Inlet 2: list: the convolution-kernel;
-#X text 20 144 The matrix must have the same size as the arguments
-(in this instance \, a 3 x 3 matrix) \, and is given as a single list
-of the matrix-values row after row.;
-#X text 63 266 <int><int>: matrix dimensions;
-#X text 28 190 Currently \, only square matrices are supported.;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 21 0 23 0;
-#X connect 22 0 23 1;
-#X connect 23 0 37 0;
-#X connect 27 0 36 0;
-#X connect 28 0 36 1;
-#X connect 29 0 36 2;
-#X connect 30 0 36 3;
-#X connect 31 0 36 4;
-#X connect 32 0 36 5;
-#X connect 33 0 36 6;
-#X connect 34 0 36 7;
-#X connect 35 0 36 8;
-#X connect 36 0 38 0;
-#X connect 36 1 37 2;
-#X connect 37 0 24 0;
-#X connect 38 0 37 1;
-#X connect 39 0 27 0;
-#X connect 39 1 28 0;
-#X connect 39 2 29 0;
-#X connect 39 3 30 0;
-#X connect 39 4 31 0;
-#X connect 39 5 32 0;
-#X connect 39 6 33 0;
-#X connect 39 7 34 0;
-#X connect 39 8 35 0;
-#X connect 40 0 39 0;
-#X connect 41 0 39 0;
-#X connect 42 0 39 0;
-#X connect 43 0 39 0;
+#N canvas 105 476 664 410 10;
+#X text 452 8 GEM object;
+#X obj 8 295 cnv 15 430 90 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 298 Inlets:;
+#X text 38 355 Outlets:;
+#X obj 8 256 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 255 Arguments:;
+#X obj 7 76 cnv 15 430 170 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 443 77 cnv 15 180 310 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 314 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 353 pd gemwin;
+#X msg 519 334 create;
+#X text 515 313 Create window:;
+#X obj 450 138 cnv 15 160 150 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X text 71 31 Class: pix object;
+#X text 56 368 Outlet 1: gemlist;
+#X text 63 312 Inlet 1: gemlist;
+#X text 50 12 Synopsis: [pix_convolve];
+#X text 29 76 Description: apply a convolution kernel;
+#X text 20 95 pix_convolve accepts a convolution kernel to apply to
+a pix. The scale is a divisor for the result (to normal the matrix).
+The default is 1.0.;
+#X obj 489 183 cnv 15 100 40 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 451 84 gemhead;
+#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 451 113 pd image;
+#X obj 451 293 pix_draw;
+#X text 516 105 open an image;
+#X text 509 118 (JPEG \, TIFF \, ..);
+#X floatatom 505 182 3 -1 2 0 - - -;
+#X floatatom 528 182 3 -1 2 0 - - -;
+#X floatatom 551 182 3 -1 2 0 - - -;
+#X floatatom 505 196 3 -1 2 0 - - -;
+#X floatatom 528 196 3 -1 2 0 - - -;
+#X floatatom 551 196 3 -1 2 0 - - -;
+#X floatatom 505 210 3 -1 2 0 - - -;
+#X floatatom 528 210 3 -1 2 0 - - -;
+#X floatatom 551 210 3 -1 2 0 - - -;
+#N canvas 0 0 450 469 pack 0;
+#X obj 69 169 pack 0 0 0 0 0 0 0 0 0;
+#X obj 69 139 t b f;
+#X obj 106 139 t b f;
+#X obj 143 139 t b f;
+#X obj 180 139 t b f;
+#X obj 217 139 t b f;
+#X obj 254 139 t b f;
+#X obj 291 139 t b f;
+#X obj 328 139 t b f;
+#X obj 32 111 inlet;
+#X obj 69 111 inlet;
+#X obj 106 111 inlet;
+#X obj 143 111 inlet;
+#X obj 180 111 inlet;
+#X obj 217 111 inlet;
+#X obj 254 111 inlet;
+#X obj 291 111 inlet;
+#X obj 328 111 inlet;
+#X obj 61 349 outlet;
+#X obj 274 355 outlet;
+#X obj 71 190 t l l;
+#X obj 257 232 unpack 0 0 0 0 0 0 0 0 0;
+#X obj 399 256 +;
+#X obj 358 256 +;
+#X obj 318 256 +;
+#X obj 277 256 +;
+#X obj 379 286 +;
+#X obj 298 286 +;
+#X obj 349 316 +;
+#X obj 268 316 +;
+#X obj 58 294 select 0;
+#X msg 48 323 1;
+#X obj 132 391 /;
+#X msg 132 365 1 \$1;
+#X connect 0 0 20 0;
+#X connect 1 0 0 0;
+#X connect 1 1 0 1;
+#X connect 2 0 0 0;
+#X connect 2 1 0 2;
+#X connect 3 0 0 0;
+#X connect 3 1 0 3;
+#X connect 4 0 0 0;
+#X connect 4 1 0 4;
+#X connect 5 0 0 0;
+#X connect 5 1 0 5;
+#X connect 6 0 0 0;
+#X connect 6 1 0 6;
+#X connect 7 0 0 0;
+#X connect 7 1 0 7;
+#X connect 8 0 0 0;
+#X connect 8 1 0 8;
+#X connect 9 0 0 0;
+#X connect 10 0 1 0;
+#X connect 11 0 2 0;
+#X connect 12 0 3 0;
+#X connect 13 0 4 0;
+#X connect 14 0 5 0;
+#X connect 15 0 6 0;
+#X connect 16 0 7 0;
+#X connect 17 0 8 0;
+#X connect 20 0 21 0;
+#X connect 20 1 19 0;
+#X connect 21 0 29 0;
+#X connect 21 1 25 0;
+#X connect 21 2 25 1;
+#X connect 21 3 24 0;
+#X connect 21 4 24 1;
+#X connect 21 5 23 0;
+#X connect 21 6 23 1;
+#X connect 21 7 22 0;
+#X connect 21 8 22 1;
+#X connect 22 0 26 1;
+#X connect 23 0 26 0;
+#X connect 24 0 27 1;
+#X connect 25 0 27 0;
+#X connect 26 0 28 1;
+#X connect 27 0 28 0;
+#X connect 28 0 29 1;
+#X connect 29 0 30 0;
+#X connect 30 0 31 0;
+#X connect 30 1 33 0;
+#X connect 31 0 18 0;
+#X connect 32 0 18 0;
+#X connect 33 0 32 0;
+#X restore 484 224 pd pack 9 . . .;
+#X obj 451 266 pix_convolve 3 3;
+#X floatatom 484 249 5 0 0 1 scale - -;
+#N canvas 411 476 605 305 unpack 0;
+#X obj 60 270 outlet;
+#X obj 111 270 outlet;
+#X obj 164 270 outlet;
+#X obj 215 270 outlet;
+#X obj 266 270 outlet;
+#X obj 317 270 outlet;
+#X obj 370 270 outlet;
+#X obj 421 270 outlet;
+#X obj 471 271 outlet;
+#X obj 179 173 unpack 0 0 0 0 0 0 0 0 0;
+#X obj 130 13 inlet;
+#X obj 130 40 route edge1 edge2 smooth none;
+#X msg 130 124 -1 -1 -1 -1 8 -1 -1 -1 -1;
+#X msg 179 102 -1 -4 -1 -4 20 -4 -1 -4 -1;
+#X msg 229 82 1 2 1 2 4 2 1 2 1;
+#X msg 278 62 0 0 0 0 1 0 0 0 0;
+#X connect 9 0 0 0;
+#X connect 9 1 1 0;
+#X connect 9 2 2 0;
+#X connect 9 3 3 0;
+#X connect 9 4 4 0;
+#X connect 9 5 5 0;
+#X connect 9 6 6 0;
+#X connect 9 7 7 0;
+#X connect 9 8 8 0;
+#X connect 10 0 11 0;
+#X connect 11 0 12 0;
+#X connect 11 1 13 0;
+#X connect 11 2 14 0;
+#X connect 11 3 15 0;
+#X connect 12 0 9 0;
+#X connect 13 0 9 0;
+#X connect 14 0 9 0;
+#X connect 15 0 9 0;
+#X restore 473 165 pd unpack 9 . . .;
+#X msg 459 142 none;
+#X msg 540 142 edge1;
+#X msg 582 142 edge2;
+#X msg 493 142 smooth;
+#X text 63 325 Inlet 2: <float>: scale-factor;
+#X text 63 338 Inlet 2: list: the convolution-kernel;
+#X text 20 144 The matrix must have the same size as the arguments
+(in this instance \, a 3 x 3 matrix) \, and is given as a single list
+of the matrix-values row after row.;
+#X text 63 266 <int><int>: matrix dimensions;
+#X text 28 190 Currently \, only square matrices are supported.;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 21 0 23 0;
+#X connect 22 0 23 1;
+#X connect 23 0 37 0;
+#X connect 27 0 36 0;
+#X connect 28 0 36 1;
+#X connect 29 0 36 2;
+#X connect 30 0 36 3;
+#X connect 31 0 36 4;
+#X connect 32 0 36 5;
+#X connect 33 0 36 6;
+#X connect 34 0 36 7;
+#X connect 35 0 36 8;
+#X connect 36 0 38 0;
+#X connect 36 1 37 2;
+#X connect 37 0 24 0;
+#X connect 38 0 37 1;
+#X connect 39 0 27 0;
+#X connect 39 1 28 0;
+#X connect 39 2 29 0;
+#X connect 39 3 30 0;
+#X connect 39 4 31 0;
+#X connect 39 5 32 0;
+#X connect 39 6 33 0;
+#X connect 39 7 34 0;
+#X connect 39 8 35 0;
+#X connect 40 0 39 0;
+#X connect 41 0 39 0;
+#X connect 42 0 39 0;
+#X connect 43 0 39 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_coordinate-help.pd b/packages/noncvs/windows/extra/Gem/pix_coordinate-help.pd
index 1d290939..1faecdbf 100644
--- a/packages/noncvs/windows/extra/Gem/pix_coordinate-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_coordinate-help.pd
@@ -1,98 +1,98 @@
-#N canvas 395 396 694 458 10;
-#X text 452 8 GEM object;
-#X obj 8 335 cnv 15 430 80 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 338 Inlets:;
-#X text 38 385 Outlets:;
-#X obj 8 296 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 295 Arguments:;
-#X obj 7 76 cnv 15 430 210 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 474 344 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 479 383 pd gemwin;
-#X msg 479 364 destroy;
-#X text 475 343 Create window:;
-#X obj 450 188 cnv 15 160 100 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 71 31 Class: pix object;
-#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 22 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 451 113 pd image;
-#X text 63 306 <none>;
-#X text 56 398 Outlet 1: gemlist;
-#X text 63 352 Inlet 1: gemlist;
-#X text 516 105 open an image;
-#X text 509 118 (JPEG \, TIFF \, ..);
-#X obj 451 296 square 3;
-#X text 50 12 Synopsis: [pix_coordinate];
-#X text 13 76 Description: set the texture-coordinates for a pix;
-#X text 34 94 pix_coordinate remaps the S \, T texture values from
-the default values. For instance \, a texture could repeat by increasing
-the texture S \, T values from 1 \, 1 to 2 \, 2 (See the examples).
-;
-#X text 63 367 Inlet 2: list: 8 values (4 (s \, t)-pairs);
-#X obj 538 144 loadbang;
-#X msg 461 237 \$1 \$1 0 \$1 0 0 \$1 0;
-#X floatatom 461 220 3 0 256 0 - - -;
-#X obj 451 136 pix_texture;
-#X text 14 159 IMPORTANT NOTE-1: [pix_texture] sets the texture-coordinates
-to "appropriate" values \, so you probably want to use [pix_coordinate]
-afterwards;
-#X obj 10 207 cnv 15 420 70 empty empty empty 20 12 0 14 -225280 -66577
-0;
-#X text 14 209 IMPORTANT NOTE-2: if your hardware supports it \, Gem
-tries to use "rectangle-texturing". This means that normal texture-coordinates
-range from 0..xsize (resp. 0..ysize). If it is not supported (or forced-off
-with "mode 0" to [pix_texture]) texture-coordinates range from 0..1
-;
-#X obj 451 266 pix_coordinate;
-#X msg 459 193 0 0 1 0 1 1 0 1;
-#X msg 468 167 rectangle 0 \, repeat 1;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 17 0;
-#X connect 16 0 17 1;
-#X connect 17 0 31 0;
-#X connect 28 0 37 0;
-#X connect 29 0 35 1;
-#X connect 30 0 29 0;
-#X connect 31 0 35 0;
-#X connect 35 0 23 0;
-#X connect 36 0 35 1;
-#X connect 37 0 31 0;
+#N canvas 395 396 694 458 10;
+#X text 452 8 GEM object;
+#X obj 8 335 cnv 15 430 80 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 338 Inlets:;
+#X text 38 385 Outlets:;
+#X obj 8 296 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 295 Arguments:;
+#X obj 7 76 cnv 15 430 210 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 474 344 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 479 383 pd gemwin;
+#X msg 479 364 destroy;
+#X text 475 343 Create window:;
+#X obj 450 188 cnv 15 160 100 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 71 31 Class: pix object;
+#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 22 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 451 113 pd image;
+#X text 63 306 <none>;
+#X text 56 398 Outlet 1: gemlist;
+#X text 63 352 Inlet 1: gemlist;
+#X text 516 105 open an image;
+#X text 509 118 (JPEG \, TIFF \, ..);
+#X obj 451 296 square 3;
+#X text 50 12 Synopsis: [pix_coordinate];
+#X text 13 76 Description: set the texture-coordinates for a pix;
+#X text 34 94 pix_coordinate remaps the S \, T texture values from
+the default values. For instance \, a texture could repeat by increasing
+the texture S \, T values from 1 \, 1 to 2 \, 2 (See the examples).
+;
+#X text 63 367 Inlet 2: list: 8 values (4 (s \, t)-pairs);
+#X obj 538 144 loadbang;
+#X msg 461 237 \$1 \$1 0 \$1 0 0 \$1 0;
+#X floatatom 461 220 3 0 256 0 - - -;
+#X obj 451 136 pix_texture;
+#X text 14 159 IMPORTANT NOTE-1: [pix_texture] sets the texture-coordinates
+to "appropriate" values \, so you probably want to use [pix_coordinate]
+afterwards;
+#X obj 10 207 cnv 15 420 70 empty empty empty 20 12 0 14 -225280 -66577
+0;
+#X text 14 209 IMPORTANT NOTE-2: if your hardware supports it \, Gem
+tries to use "rectangle-texturing". This means that normal texture-coordinates
+range from 0..xsize (resp. 0..ysize). If it is not supported (or forced-off
+with "mode 0" to [pix_texture]) texture-coordinates range from 0..1
+;
+#X obj 451 266 pix_coordinate;
+#X msg 459 193 0 0 1 0 1 1 0 1;
+#X msg 468 167 rectangle 0 \, repeat 1;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 17 0;
+#X connect 16 0 17 1;
+#X connect 17 0 31 0;
+#X connect 28 0 37 0;
+#X connect 29 0 35 1;
+#X connect 30 0 29 0;
+#X connect 31 0 35 0;
+#X connect 35 0 23 0;
+#X connect 36 0 35 1;
+#X connect 37 0 31 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_crop-help.pd b/packages/noncvs/windows/extra/Gem/pix_crop-help.pd
index 6e67c282..1d539784 100644
--- a/packages/noncvs/windows/extra/Gem/pix_crop-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_crop-help.pd
@@ -1,88 +1,88 @@
-#N canvas 0 0 651 393 10;
-#X text 452 8 GEM object;
-#X obj 8 216 cnv 15 430 125 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 218 Inlets:;
-#X text 39 310 Outlets:;
-#X obj 8 176 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 175 Arguments:;
-#X obj 8 76 cnv 15 430 90 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X obj 450 146 cnv 15 160 80 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 71 31 Class: pix object;
-#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 451 113 pd image;
-#X obj 451 233 pix_texture;
-#X text 63 186 <offX=0> <offY=0> <dimX=64> <dimY=64>;
-#X text 57 323 Outlet 1: gemlist;
-#X text 63 232 Inlet 1: gemlist;
-#X obj 451 255 square 3;
-#X obj 451 196 pix_crop;
-#X text 63 245 Inlet 2: float: dimenX;
-#X text 63 258 Inlet 3: float: dimenY;
-#X text 63 273 Inlet 4: float: offsetX;
-#X text 63 284 Inlet 5: float: offsetY;
-#X text 50 12 Synopsis: [pix_crop];
-#X floatatom 463 160 5 0 0 1 dimX - -;
-#X floatatom 476 177 5 0 0 1 dimY - -;
-#X floatatom 543 160 5 0 0 1 offX - -;
-#X floatatom 556 177 5 0 0 1 offY - -;
-#X text 29 77 Description: get a subimage of an image;
-#X text 12 91 [pix_crop]: only passes the selected rectangle further
-on. The slection is made by the dimension of the subimage in pixels
-and the offset (in pixels) from the lower left corner.;
-#X text 516 105 open an image;
-#X text 509 118 (JPEG \, TIFF \, ..);
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 17 0;
-#X connect 16 0 17 1;
-#X connect 17 0 23 0;
-#X connect 18 0 22 0;
-#X connect 23 0 18 0;
-#X connect 29 0 23 1;
-#X connect 30 0 23 2;
-#X connect 31 0 23 3;
-#X connect 32 0 23 4;
+#N canvas 0 0 651 393 10;
+#X text 452 8 GEM object;
+#X obj 8 216 cnv 15 430 125 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 218 Inlets:;
+#X text 39 310 Outlets:;
+#X obj 8 176 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 175 Arguments:;
+#X obj 8 76 cnv 15 430 90 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X obj 450 146 cnv 15 160 80 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 71 31 Class: pix object;
+#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 451 113 pd image;
+#X obj 451 233 pix_texture;
+#X text 63 186 <offX=0> <offY=0> <dimX=64> <dimY=64>;
+#X text 57 323 Outlet 1: gemlist;
+#X text 63 232 Inlet 1: gemlist;
+#X obj 451 255 square 3;
+#X obj 451 196 pix_crop;
+#X text 63 245 Inlet 2: float: dimenX;
+#X text 63 258 Inlet 3: float: dimenY;
+#X text 63 273 Inlet 4: float: offsetX;
+#X text 63 284 Inlet 5: float: offsetY;
+#X text 50 12 Synopsis: [pix_crop];
+#X floatatom 463 160 5 0 0 1 dimX - -;
+#X floatatom 476 177 5 0 0 1 dimY - -;
+#X floatatom 543 160 5 0 0 1 offX - -;
+#X floatatom 556 177 5 0 0 1 offY - -;
+#X text 29 77 Description: get a subimage of an image;
+#X text 12 91 [pix_crop]: only passes the selected rectangle further
+on. The slection is made by the dimension of the subimage in pixels
+and the offset (in pixels) from the lower left corner.;
+#X text 516 105 open an image;
+#X text 509 118 (JPEG \, TIFF \, ..);
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 17 0;
+#X connect 16 0 17 1;
+#X connect 17 0 23 0;
+#X connect 18 0 22 0;
+#X connect 23 0 18 0;
+#X connect 29 0 23 1;
+#X connect 30 0 23 2;
+#X connect 31 0 23 3;
+#X connect 32 0 23 4;
diff --git a/packages/noncvs/windows/extra/Gem/pix_curve-help.pd b/packages/noncvs/windows/extra/Gem/pix_curve-help.pd
index 50d491c6..6ace7469 100644
--- a/packages/noncvs/windows/extra/Gem/pix_curve-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_curve-help.pd
@@ -1,156 +1,156 @@
-#N canvas 0 321 774 553 10;
-#X text 452 8 GEM object;
-#X obj 8 386 cnv 15 430 150 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 388 Inlets:;
-#X text 38 495 Outlets:;
-#X obj 8 306 cnv 15 430 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 47 305 Arguments:;
-#X obj 7 76 cnv 15 430 220 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 210 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X obj 450 138 cnv 15 200 100 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 71 31 Class: pix object;
-#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X text 156 263 [pix_buf] with "auto 1" is important if we want to
-recalculate our pix-effect each frame but don't want to reload the
-image all the time.;
-#X obj 77 281 pix_buf;
-#X obj 102 229 loadbang;
-#X msg 102 250 auto 1;
-#X connect 0 0 2 0;
-#X connect 2 0 7 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X connect 7 0 1 0;
-#X connect 8 0 9 0;
-#X connect 9 0 7 0;
-#X restore 451 113 pd image;
-#X text 16 511 Outlet 1: gemlist;
-#X text 23 402 Inlet 1: gemlist;
-#X obj 451 253 pix_draw;
-#X text 516 105 open an image;
-#X text 509 118 (JPEG \, TIFF \, ..);
-#X text 50 12 Synopsis: [pix_curve];
-#X text 29 76 Description: apply color curves to an image;
-#X text 13 96 [pix_curve] applies color-curves (that are stored in
-arrays) to an image.;
-#X text 14 125 You can specify one table for all 4 (RGBA) channels
-or one for each channel. If you do not specify a table for the Alpha-channel
-\, it will not be touched.;
-#X text 17 175 You can specify the tables with creation-arguments and
-(re)set them with the "set"-message.;
-#X text 15 204 The length of the used table does not matter. The table
-will be stretched/squeezed to (virtually) hold 256 items. If it is
-stretched \, no interpolation is done!;
-#X text 17 257 The values of the table-items have range between 0 and
-255 !;
-#X msg 469 142 set tab-rgba;
-#X msg 469 162 set tab-red tab-green tab-blue;
-#N canvas 46 428 568 342 table-init 0;
-#X msg 26 171 \; tab-red cosinesum 128 1 0.6 -0.2 0.2 \; tab-red normalize
-256;
-#X msg 26 222 \; tab-blue cosinesum 8 0.5 -0.4 0.3 \; tab-blue normalize
-256;
-#X obj 352 120 until;
-#X msg 353 49 100;
-#X obj 352 167 i;
-#X obj 383 167 + 1;
-#X msg 367 147 0;
-#X obj 352 196 t f f f;
-#X obj 381 219 * -1;
-#X obj 381 259 pack;
-#X obj 338 304 tabwrite tab-green;
-#X msg 338 281 \$1 \$1;
-#X obj 381 280 tabwrite tab-rgba;
-#X obj 210 11 loadbang;
-#X obj 352 71 t f b;
-#X obj 381 239 + 100;
-#X obj 200 39 t b b b;
-#X msg 148 103 \; tab-green normalize 256 \; tab-rgba normalize 256
-;
-#X obj 37 125 t b b;
-#X connect 2 0 4 0;
-#X connect 3 0 14 0;
-#X connect 4 0 5 0;
-#X connect 4 0 7 0;
-#X connect 5 0 4 1;
-#X connect 6 0 4 1;
-#X connect 7 0 11 0;
-#X connect 7 1 8 0;
-#X connect 7 2 9 1;
-#X connect 8 0 15 0;
-#X connect 9 0 12 0;
-#X connect 11 0 10 0;
-#X connect 13 0 16 0;
-#X connect 14 0 2 0;
-#X connect 14 1 6 0;
-#X connect 15 0 9 0;
-#X connect 16 0 18 0;
-#X connect 16 1 17 0;
-#X connect 16 2 3 0;
-#X connect 18 0 0 0;
-#X connect 18 1 1 0;
-#X restore 463 392 pd table-init;
-#X obj 459 344 table tab-rgba;
-#X obj 580 342 table tab-red;
-#X obj 580 362 table tab-green;
-#X obj 580 382 table tab-blue;
-#X obj 451 215 pix_curve tab-rgba;
-#X msg 469 183 set tab-green tab-blue tab-red tab-rgba;
-#X text 13 336 3 args: separate <tablename>s for all channels;
-#X text 13 350 4 args: separate <tablename>s for all channels (incl.
-alpha);
-#X text 13 322 1 arg:: common <tablename> for all channels;
-#X text 23 415 Inlet 1: set <tablename>: common table for all channels
-;
-#X text 23 432 Inlet 1: set <table1><table2><table3>: separate tables
-for all channels;
-#X text 23 461 Inlet 1: set <table1><table2><table3><table4>: separate
-tables for all channels (incl. Alpha);
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 17 0;
-#X connect 16 0 17 1;
-#X connect 17 0 37 0;
-#X connect 30 0 37 0;
-#X connect 31 0 37 0;
-#X connect 37 0 20 0;
-#X connect 38 0 37 0;
+#N canvas 0 321 774 553 10;
+#X text 452 8 GEM object;
+#X obj 8 386 cnv 15 430 150 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 388 Inlets:;
+#X text 38 495 Outlets:;
+#X obj 8 306 cnv 15 430 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 47 305 Arguments:;
+#X obj 7 76 cnv 15 430 220 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 210 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X obj 450 138 cnv 15 200 100 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 71 31 Class: pix object;
+#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X text 156 263 [pix_buf] with "auto 1" is important if we want to
+recalculate our pix-effect each frame but don't want to reload the
+image all the time.;
+#X obj 77 281 pix_buf;
+#X obj 102 229 loadbang;
+#X msg 102 250 auto 1;
+#X connect 0 0 2 0;
+#X connect 2 0 7 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X connect 7 0 1 0;
+#X connect 8 0 9 0;
+#X connect 9 0 7 0;
+#X restore 451 113 pd image;
+#X text 16 511 Outlet 1: gemlist;
+#X text 23 402 Inlet 1: gemlist;
+#X obj 451 253 pix_draw;
+#X text 516 105 open an image;
+#X text 509 118 (JPEG \, TIFF \, ..);
+#X text 50 12 Synopsis: [pix_curve];
+#X text 29 76 Description: apply color curves to an image;
+#X text 13 96 [pix_curve] applies color-curves (that are stored in
+arrays) to an image.;
+#X text 14 125 You can specify one table for all 4 (RGBA) channels
+or one for each channel. If you do not specify a table for the Alpha-channel
+\, it will not be touched.;
+#X text 17 175 You can specify the tables with creation-arguments and
+(re)set them with the "set"-message.;
+#X text 15 204 The length of the used table does not matter. The table
+will be stretched/squeezed to (virtually) hold 256 items. If it is
+stretched \, no interpolation is done!;
+#X text 17 257 The values of the table-items have range between 0 and
+255 !;
+#X msg 469 142 set tab-rgba;
+#X msg 469 162 set tab-red tab-green tab-blue;
+#N canvas 46 428 568 342 table-init 0;
+#X msg 26 171 \; tab-red cosinesum 128 1 0.6 -0.2 0.2 \; tab-red normalize
+256;
+#X msg 26 222 \; tab-blue cosinesum 8 0.5 -0.4 0.3 \; tab-blue normalize
+256;
+#X obj 352 120 until;
+#X msg 353 49 100;
+#X obj 352 167 i;
+#X obj 383 167 + 1;
+#X msg 367 147 0;
+#X obj 352 196 t f f f;
+#X obj 381 219 * -1;
+#X obj 381 259 pack;
+#X obj 338 304 tabwrite tab-green;
+#X msg 338 281 \$1 \$1;
+#X obj 381 280 tabwrite tab-rgba;
+#X obj 210 11 loadbang;
+#X obj 352 71 t f b;
+#X obj 381 239 + 100;
+#X obj 200 39 t b b b;
+#X msg 148 103 \; tab-green normalize 256 \; tab-rgba normalize 256
+;
+#X obj 37 125 t b b;
+#X connect 2 0 4 0;
+#X connect 3 0 14 0;
+#X connect 4 0 5 0;
+#X connect 4 0 7 0;
+#X connect 5 0 4 1;
+#X connect 6 0 4 1;
+#X connect 7 0 11 0;
+#X connect 7 1 8 0;
+#X connect 7 2 9 1;
+#X connect 8 0 15 0;
+#X connect 9 0 12 0;
+#X connect 11 0 10 0;
+#X connect 13 0 16 0;
+#X connect 14 0 2 0;
+#X connect 14 1 6 0;
+#X connect 15 0 9 0;
+#X connect 16 0 18 0;
+#X connect 16 1 17 0;
+#X connect 16 2 3 0;
+#X connect 18 0 0 0;
+#X connect 18 1 1 0;
+#X restore 463 392 pd table-init;
+#X obj 459 344 table tab-rgba;
+#X obj 580 342 table tab-red;
+#X obj 580 362 table tab-green;
+#X obj 580 382 table tab-blue;
+#X obj 451 215 pix_curve tab-rgba;
+#X msg 469 183 set tab-green tab-blue tab-red tab-rgba;
+#X text 13 336 3 args: separate <tablename>s for all channels;
+#X text 13 350 4 args: separate <tablename>s for all channels (incl.
+alpha);
+#X text 13 322 1 arg:: common <tablename> for all channels;
+#X text 23 415 Inlet 1: set <tablename>: common table for all channels
+;
+#X text 23 432 Inlet 1: set <table1><table2><table3>: separate tables
+for all channels;
+#X text 23 461 Inlet 1: set <table1><table2><table3><table4>: separate
+tables for all channels (incl. Alpha);
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 17 0;
+#X connect 16 0 17 1;
+#X connect 17 0 37 0;
+#X connect 30 0 37 0;
+#X connect 31 0 37 0;
+#X connect 37 0 20 0;
+#X connect 38 0 37 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_data-help.pd b/packages/noncvs/windows/extra/Gem/pix_data-help.pd
index 5a780f4a..044a3772 100644
--- a/packages/noncvs/windows/extra/Gem/pix_data-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_data-help.pd
@@ -1,89 +1,89 @@
-#N canvas 1413 30 695 382 10;
-#X text 92 6 [pix_data];
-#X text 93 25 get pixel-data of an image;
-#X obj 14 57 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 14 182 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 23 181 Arguments:;
-#X text 69 192 <none>;
-#X obj 14 216 cnv 15 430 140 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 21 218 Inlets:;
-#X text 24 296 Outlets:;
-#X text 42 309 Outlet 1: gemlist;
-#X obj 450 57 cnv 15 220 300 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X obj 454 195 cnv 15 210 80 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 462 253 pix_data;
-#X msg 462 68 bang;
-#X floatatom 515 279 5 0 0 0 - - -;
-#X obj 488 313 unpack 0 0 0;
-#X floatatom 593 336 5 0 0 0 - - -;
-#X floatatom 539 336 5 0 0 0 - - -;
-#X floatatom 488 336 5 0 0 0 - - -;
-#X text 569 278 gray-value;
-#X text 499 296 color-list;
-#X floatatom 497 210 5 0 0 0 - - -;
-#X floatatom 515 233 5 0 0 0 - - -;
-#X text 553 209 x-pos;
-#X text 567 229 y-pos;
-#X obj 479 94 gemhead;
-#X obj 479 168 pix_image;
-#X obj 562 98 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
--1;
-#X obj 562 116 openpanel;
-#X msg 562 139 open \$1;
-#X text 17 62 [pix_data] will get the colour of a specified pixel within
-an image when triggered.;
-#X text 17 97 The coordinates within the image (x-pos \, y-pos) range
-from (0.0f \, 0.0f) (left-bottom) to (1.0f \, 1.0f) (right-top).;
-#X text 17 136 After the first inlet is triggered with a "bang" \,
-the color of the specified pixels is output both as gray-value and
-as RGB-triplet.;
-#X text 453 15 GEM object;
-#X text 34 233 Inlet 1: bang;
-#X text 34 247 Inlet 2: gemlist;
-#X text 34 261 Inlet 3: float: post X in the image (0 to 1);
-#X text 34 274 Inlet 4: float: post Y in the image (0 to 1);
-#X text 42 324 Outlet 2: list RGB value;
-#X text 42 336 Outlet 3: float: grey value;
-#X obj 340 293 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 198 112 destroy;
-#X msg 132 112 create \, 1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 345 332 pd gemwin;
-#X msg 345 313 create;
-#X text 341 292 Create window:;
-#X connect 12 1 15 0;
-#X connect 12 2 14 0;
-#X connect 13 0 12 0;
-#X connect 15 0 18 0;
-#X connect 15 1 17 0;
-#X connect 15 2 16 0;
-#X connect 21 0 12 2;
-#X connect 22 0 12 3;
-#X connect 25 0 26 0;
-#X connect 26 0 12 1;
-#X connect 27 0 28 0;
-#X connect 28 0 29 0;
-#X connect 29 0 26 0;
-#X connect 41 0 42 0;
-#X connect 42 0 41 0;
+#N canvas 1413 30 695 382 10;
+#X text 92 6 [pix_data];
+#X text 93 25 get pixel-data of an image;
+#X obj 14 57 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 14 182 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 23 181 Arguments:;
+#X text 69 192 <none>;
+#X obj 14 216 cnv 15 430 140 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 21 218 Inlets:;
+#X text 24 296 Outlets:;
+#X text 42 309 Outlet 1: gemlist;
+#X obj 450 57 cnv 15 220 300 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X obj 454 195 cnv 15 210 80 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 462 253 pix_data;
+#X msg 462 68 bang;
+#X floatatom 515 279 5 0 0 0 - - -;
+#X obj 488 313 unpack 0 0 0;
+#X floatatom 593 336 5 0 0 0 - - -;
+#X floatatom 539 336 5 0 0 0 - - -;
+#X floatatom 488 336 5 0 0 0 - - -;
+#X text 569 278 gray-value;
+#X text 499 296 color-list;
+#X floatatom 497 210 5 0 0 0 - - -;
+#X floatatom 515 233 5 0 0 0 - - -;
+#X text 553 209 x-pos;
+#X text 567 229 y-pos;
+#X obj 479 94 gemhead;
+#X obj 479 168 pix_image;
+#X obj 562 98 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 562 116 openpanel;
+#X msg 562 139 open \$1;
+#X text 17 62 [pix_data] will get the colour of a specified pixel within
+an image when triggered.;
+#X text 17 97 The coordinates within the image (x-pos \, y-pos) range
+from (0.0f \, 0.0f) (left-bottom) to (1.0f \, 1.0f) (right-top).;
+#X text 17 136 After the first inlet is triggered with a "bang" \,
+the color of the specified pixels is output both as gray-value and
+as RGB-triplet.;
+#X text 453 15 GEM object;
+#X text 34 233 Inlet 1: bang;
+#X text 34 247 Inlet 2: gemlist;
+#X text 34 261 Inlet 3: float: post X in the image (0 to 1);
+#X text 34 274 Inlet 4: float: post Y in the image (0 to 1);
+#X text 42 324 Outlet 2: list RGB value;
+#X text 42 336 Outlet 3: float: grey value;
+#X obj 340 293 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 198 112 destroy;
+#X msg 132 112 create \, 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 345 332 pd gemwin;
+#X msg 345 313 create;
+#X text 341 292 Create window:;
+#X connect 12 1 15 0;
+#X connect 12 2 14 0;
+#X connect 13 0 12 0;
+#X connect 15 0 18 0;
+#X connect 15 1 17 0;
+#X connect 15 2 16 0;
+#X connect 21 0 12 2;
+#X connect 22 0 12 3;
+#X connect 25 0 26 0;
+#X connect 26 0 12 1;
+#X connect 27 0 28 0;
+#X connect 28 0 29 0;
+#X connect 29 0 26 0;
+#X connect 41 0 42 0;
+#X connect 42 0 41 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_deinterlace-help.pd b/packages/noncvs/windows/extra/Gem/pix_deinterlace-help.pd
index e87ea1b1..f044a14a 100644
--- a/packages/noncvs/windows/extra/Gem/pix_deinterlace-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_deinterlace-help.pd
@@ -1,93 +1,93 @@
-#N canvas 392 297 654 372 10;
-#X text 452 8 GEM object;
-#X obj 8 245 cnv 15 430 100 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 252 Inlets:;
-#X text 38 315 Outlets:;
-#X obj 8 204 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 203 Arguments:;
-#X obj 7 76 cnv 15 430 100 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X obj 450 138 cnv 15 160 80 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 71 31 Class: pix object;
-#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X obj 77 291 pix_buf;
-#X obj 101 244 loadbang;
-#X msg 101 266 auto 1;
-#X connect 0 0 2 0;
-#X connect 2 0 6 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X connect 6 0 1 0;
-#X connect 7 0 8 0;
-#X connect 8 0 6 0;
-#X restore 451 113 pd image;
-#X text 63 214 <none>;
-#X text 56 328 Outlet 1: gemlist;
-#X text 63 266 Inlet 1: gemlist;
-#X text 516 105 open an image;
-#X text 509 118 (JPEG \, TIFF \, ..);
-#X obj 451 196 pix_deinterlace;
-#X msg 477 168 mode \$1;
-#X obj 477 150 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X obj 451 223 pix_texture;
-#X obj 451 244 square 5;
-#X text 50 12 Synopsis: [pix_deinterlace];
-#X text 29 76 Description: deinterlace an image;
-#X text 17 97 [pix_deinterlace] will apply a deinterlacing algorithm
-on the incoming image. This is done by getting the average of neighbouring
-rows.;
-#X text 21 141 When mode is set to "0" \, only those pixels are de-interlaced
-if they appear to be interlaced (this is detected by thresholding the
-difference between adjacent pixels). In mode "1" de-interlacing is
-always enforced.;
-#X text 63 282 Inlet 1: mode <int>: enforce(1) or not(0). default=1
-;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 17 0;
-#X connect 16 0 17 1;
-#X connect 17 0 23 0;
-#X connect 23 0 26 0;
-#X connect 24 0 23 0;
-#X connect 25 0 24 0;
-#X connect 26 0 27 0;
+#N canvas 392 297 654 372 10;
+#X text 452 8 GEM object;
+#X obj 8 245 cnv 15 430 100 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 252 Inlets:;
+#X text 38 315 Outlets:;
+#X obj 8 204 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 203 Arguments:;
+#X obj 7 76 cnv 15 430 100 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X obj 450 138 cnv 15 160 80 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 71 31 Class: pix object;
+#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X obj 77 291 pix_buf;
+#X obj 101 244 loadbang;
+#X msg 101 266 auto 1;
+#X connect 0 0 2 0;
+#X connect 2 0 6 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X connect 6 0 1 0;
+#X connect 7 0 8 0;
+#X connect 8 0 6 0;
+#X restore 451 113 pd image;
+#X text 63 214 <none>;
+#X text 56 328 Outlet 1: gemlist;
+#X text 63 266 Inlet 1: gemlist;
+#X text 516 105 open an image;
+#X text 509 118 (JPEG \, TIFF \, ..);
+#X obj 451 196 pix_deinterlace;
+#X msg 477 168 mode \$1;
+#X obj 477 150 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 451 223 pix_texture;
+#X obj 451 244 square 5;
+#X text 50 12 Synopsis: [pix_deinterlace];
+#X text 29 76 Description: deinterlace an image;
+#X text 17 97 [pix_deinterlace] will apply a deinterlacing algorithm
+on the incoming image. This is done by getting the average of neighbouring
+rows.;
+#X text 21 141 When mode is set to "0" \, only those pixels are de-interlaced
+if they appear to be interlaced (this is detected by thresholding the
+difference between adjacent pixels). In mode "1" de-interlacing is
+always enforced.;
+#X text 63 282 Inlet 1: mode <int>: enforce(1) or not(0). default=1
+;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 17 0;
+#X connect 16 0 17 1;
+#X connect 17 0 23 0;
+#X connect 23 0 26 0;
+#X connect 24 0 23 0;
+#X connect 25 0 24 0;
+#X connect 26 0 27 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_delay-help.pd b/packages/noncvs/windows/extra/Gem/pix_delay-help.pd
index 96007575..8e9132cf 100644
--- a/packages/noncvs/windows/extra/Gem/pix_delay-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_delay-help.pd
@@ -1,90 +1,90 @@
-#N canvas 230 0 683 377 10;
-#X text 452 8 GEM object;
-#X obj 9 225 cnv 15 430 135 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 40 227 Inlets:;
-#X text 40 322 Outlets:;
-#X obj 9 185 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 18 184 Arguments:;
-#X obj 8 56 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 280 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 290 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X msg 67 70 set destroy;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X msg 156 71 set create;
-#X obj 67 41 route create;
-#X connect 2 0 7 0;
-#X connect 3 0 1 0;
-#X connect 4 0 0 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 0;
-#X connect 7 0 3 0;
-#X connect 7 0 4 0;
-#X connect 7 1 6 0;
-#X connect 7 1 5 0;
-#X restore 519 329 pd gemwin;
-#X msg 519 310 create;
-#X text 515 289 Create window:;
-#X obj 451 198 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 83 gemhead;
-#X text 18 336 Outlet 1: gemlist;
-#X text 24 241 Inlet 1: gemlist;
-#X obj 451 292 square 3;
-#X obj 451 270 pix_texture;
-#X obj 451 232 pix_delay 100;
-#X text 50 12 Synopsis: [pix_delay];
-#X text 71 31 Class: pix object (timebased effect);
-#X text 29 57 Description: delay a series of images;
-#X obj 451 162 pix_film;
-#X obj 515 162 t f;
-#X obj 464 105 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#N canvas 0 0 450 300 open 0;
-#X obj 85 49 inlet;
-#X obj 85 237 outlet;
-#X obj 85 145 openpanel;
-#X msg 85 179 open \$1;
-#X msg 259 213 auto 1;
-#X obj 268 179 loadbang;
-#X connect 0 0 2 0;
-#X connect 2 0 3 0;
-#X connect 3 0 1 0;
-#X connect 4 0 1 0;
-#X connect 5 0 4 0;
-#X restore 464 134 pd open;
-#X floatatom 537 213 5 0 0 0 - - -;
-#X text 505 77 open a supported;
-#X text 506 88 movie-clip;
-#X text 505 109 macOS: quicktime;
-#X text 498 99 windos: *.AVI;
-#X text 505 119 linux: depends...;
-#X text 528 198 scrub me!;
-#X text 64 195 int: max.number of delayed frames;
-#X text 24 254 Inlet 1: int: delay (in frames);
-#X text 11 79 [pix_delay] is a frame-based delay-line. All frames stored
-in the delay-line have to have the same dimensions and colour-space.
-You can specify the length of the entire delay-line (==maximum delay)
-as an argument to the [pix_delay] object. The delay in frames defaults
-to 0 (route through) and can be changed via the second inlet.;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 23 0;
-#X connect 18 0 17 0;
-#X connect 19 0 18 0;
-#X connect 23 0 19 0;
-#X connect 23 2 24 0;
-#X connect 24 0 23 1;
-#X connect 25 0 26 0;
-#X connect 26 0 23 0;
-#X connect 27 0 19 1;
+#N canvas 230 0 683 377 10;
+#X text 452 8 GEM object;
+#X obj 9 225 cnv 15 430 135 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 40 227 Inlets:;
+#X text 40 322 Outlets:;
+#X obj 9 185 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 18 184 Arguments:;
+#X obj 8 56 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 280 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 290 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X msg 67 70 set destroy;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X msg 156 71 set create;
+#X obj 67 41 route create;
+#X connect 2 0 7 0;
+#X connect 3 0 1 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 0;
+#X connect 7 0 3 0;
+#X connect 7 0 4 0;
+#X connect 7 1 6 0;
+#X connect 7 1 5 0;
+#X restore 519 329 pd gemwin;
+#X msg 519 310 create;
+#X text 515 289 Create window:;
+#X obj 451 198 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 83 gemhead;
+#X text 18 336 Outlet 1: gemlist;
+#X text 24 241 Inlet 1: gemlist;
+#X obj 451 292 square 3;
+#X obj 451 270 pix_texture;
+#X obj 451 232 pix_delay 100;
+#X text 50 12 Synopsis: [pix_delay];
+#X text 71 31 Class: pix object (timebased effect);
+#X text 29 57 Description: delay a series of images;
+#X obj 451 162 pix_film;
+#X obj 515 162 t f;
+#X obj 464 105 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#N canvas 0 0 450 300 open 0;
+#X obj 85 49 inlet;
+#X obj 85 237 outlet;
+#X obj 85 145 openpanel;
+#X msg 85 179 open \$1;
+#X msg 259 213 auto 1;
+#X obj 268 179 loadbang;
+#X connect 0 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 1 0;
+#X connect 5 0 4 0;
+#X restore 464 134 pd open;
+#X floatatom 537 213 5 0 0 0 - - -;
+#X text 505 77 open a supported;
+#X text 506 88 movie-clip;
+#X text 505 109 macOS: quicktime;
+#X text 498 99 windos: *.AVI;
+#X text 505 119 linux: depends...;
+#X text 528 198 scrub me!;
+#X text 64 195 int: max.number of delayed frames;
+#X text 24 254 Inlet 1: int: delay (in frames);
+#X text 11 79 [pix_delay] is a frame-based delay-line. All frames stored
+in the delay-line have to have the same dimensions and colour-space.
+You can specify the length of the entire delay-line (==maximum delay)
+as an argument to the [pix_delay] object. The delay in frames defaults
+to 0 (route through) and can be changed via the second inlet.;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 23 0;
+#X connect 18 0 17 0;
+#X connect 19 0 18 0;
+#X connect 23 0 19 0;
+#X connect 23 2 24 0;
+#X connect 24 0 23 1;
+#X connect 25 0 26 0;
+#X connect 26 0 23 0;
+#X connect 27 0 19 1;
diff --git a/packages/noncvs/windows/extra/Gem/pix_diff-help.pd b/packages/noncvs/windows/extra/Gem/pix_diff-help.pd
index 117e0c37..61be2417 100644
--- a/packages/noncvs/windows/extra/Gem/pix_diff-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_diff-help.pd
@@ -1,96 +1,96 @@
-#N canvas 0 324 683 381 10;
-#X text 452 8 GEM object;
-#X obj 8 226 cnv 15 430 135 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 248 Inlets:;
-#X text 39 304 Outlets:;
-#X obj 8 186 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 185 Arguments:;
-#X obj 8 66 cnv 15 430 110 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 280 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 290 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 329 pd gemwin;
-#X msg 519 310 create;
-#X text 515 289 Create window:;
-#X obj 451 168 cnv 15 160 80 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 119 gemhead;
-#X obj 502 102 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 451 138 pd image;
-#X obj 451 263 pix_texture;
-#X text 63 196 <none>;
-#X text 47 318 Outlet 1: gemlist;
-#X text 53 262 Inlet 1: gemlist;
-#X obj 451 285 square 3;
-#X text 503 88 (JPEG \, TIFF \, ..);
-#X obj 541 122 gemhead;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/dancer.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 541 141 pd image;
-#X obj 592 103 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#X text 53 291 Inlet 2: gemlist;
-#X text 449 77 open two different images;
-#X text 71 31 Class: pix mix object;
-#X text 33 150 The 2 images have to be of the same size.;
-#X text 50 12 Synopsis: [pix_diff];
-#X text 29 67 Description: get the difference between 2 pixes;
-#X text 24 94 [pix_diff] will get the absolute value of the difference
-between 2 images (in contrastg to [pix_subtract]);
-#X obj 451 198 pix_diff;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 16 0;
-#X connect 15 0 16 1;
-#X connect 16 0 33 0;
-#X connect 17 0 21 0;
-#X connect 23 0 24 0;
-#X connect 24 0 33 1;
-#X connect 25 0 24 1;
-#X connect 33 0 17 0;
+#N canvas 0 324 683 381 10;
+#X text 452 8 GEM object;
+#X obj 8 226 cnv 15 430 135 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 248 Inlets:;
+#X text 39 304 Outlets:;
+#X obj 8 186 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 185 Arguments:;
+#X obj 8 66 cnv 15 430 110 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 280 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 290 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 329 pd gemwin;
+#X msg 519 310 create;
+#X text 515 289 Create window:;
+#X obj 451 168 cnv 15 160 80 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 119 gemhead;
+#X obj 502 102 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 451 138 pd image;
+#X obj 451 263 pix_texture;
+#X text 63 196 <none>;
+#X text 47 318 Outlet 1: gemlist;
+#X text 53 262 Inlet 1: gemlist;
+#X obj 451 285 square 3;
+#X text 503 88 (JPEG \, TIFF \, ..);
+#X obj 541 122 gemhead;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/dancer.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 541 141 pd image;
+#X obj 592 103 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#X text 53 291 Inlet 2: gemlist;
+#X text 449 77 open two different images;
+#X text 71 31 Class: pix mix object;
+#X text 33 150 The 2 images have to be of the same size.;
+#X text 50 12 Synopsis: [pix_diff];
+#X text 29 67 Description: get the difference between 2 pixes;
+#X text 24 94 [pix_diff] will get the absolute value of the difference
+between 2 images (in contrastg to [pix_subtract]);
+#X obj 451 198 pix_diff;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 16 0;
+#X connect 15 0 16 1;
+#X connect 16 0 33 0;
+#X connect 17 0 21 0;
+#X connect 23 0 24 0;
+#X connect 24 0 33 1;
+#X connect 25 0 24 1;
+#X connect 33 0 17 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_dot-help.pd b/packages/noncvs/windows/extra/Gem/pix_dot-help.pd
index a3366688..7c7a79e5 100644
--- a/packages/noncvs/windows/extra/Gem/pix_dot-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_dot-help.pd
@@ -1,79 +1,79 @@
-#N canvas 0 22 658 376 10;
-#X text 452 8 GEM object;
-#X obj 8 196 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 198 Inlets:;
-#X text 39 282 Outlets:;
-#X obj 8 156 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 155 Arguments:;
-#X obj 8 76 cnv 15 430 75 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X obj 450 158 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 50 12 Synopsis: [pix_dot];
-#X text 71 31 Class: pix object;
-#X obj 451 196 pix_dot;
-#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 22 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 451 113 pd image;
-#X floatatom 545 182 5 0 100 2 size - -;
-#X obj 451 233 pix_texture;
-#X obj 451 255 square;
-#X text 63 166 <none>;
-#X text 57 295 Outlet 1: gemlist;
-#X text 63 212 Inlet 1: gemlist;
-#X text 29 77 Description: make dotty images;
-#X text 64 232 Inlet 2: float: size of the dots;
-#X text 516 105 open an image;
-#X text 509 118 (JPEG \, TIFF \, ..);
-#X text 34 94 [pix_dot] will simplify an image \, as the image will
-be segmented and each segment will be represented by a white dot \,
-whose size is relative to the luminance of the original segment.;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 19 0;
-#X connect 17 0 21 0;
-#X connect 18 0 19 1;
-#X connect 19 0 17 0;
-#X connect 20 0 17 1;
-#X connect 21 0 22 0;
+#N canvas 0 22 658 376 10;
+#X text 452 8 GEM object;
+#X obj 8 196 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 198 Inlets:;
+#X text 39 282 Outlets:;
+#X obj 8 156 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 155 Arguments:;
+#X obj 8 76 cnv 15 430 75 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X obj 450 158 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 50 12 Synopsis: [pix_dot];
+#X text 71 31 Class: pix object;
+#X obj 451 196 pix_dot;
+#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 22 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 451 113 pd image;
+#X floatatom 545 182 5 0 100 2 size - -;
+#X obj 451 233 pix_texture;
+#X obj 451 255 square;
+#X text 63 166 <none>;
+#X text 57 295 Outlet 1: gemlist;
+#X text 63 212 Inlet 1: gemlist;
+#X text 29 77 Description: make dotty images;
+#X text 64 232 Inlet 2: float: size of the dots;
+#X text 516 105 open an image;
+#X text 509 118 (JPEG \, TIFF \, ..);
+#X text 34 94 [pix_dot] will simplify an image \, as the image will
+be segmented and each segment will be represented by a white dot \,
+whose size is relative to the luminance of the original segment.;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 19 0;
+#X connect 17 0 21 0;
+#X connect 18 0 19 1;
+#X connect 19 0 17 0;
+#X connect 20 0 17 1;
+#X connect 21 0 22 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_draw-help.pd b/packages/noncvs/windows/extra/Gem/pix_draw-help.pd
index fc546881..b0659453 100644
--- a/packages/noncvs/windows/extra/Gem/pix_draw-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_draw-help.pd
@@ -1,88 +1,88 @@
-#N canvas 106 178 654 400 10;
-#X text 452 8 GEM object;
-#X obj 8 295 cnv 15 430 80 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 298 Inlets:;
-#X text 34 331 Outlets:;
-#X obj 8 256 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 255 Arguments:;
-#X obj 7 76 cnv 15 430 170 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X obj 450 200 cnv 15 80 40 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 71 31 Class: pix object;
-#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 451 113 pd image;
-#X text 63 266 <none>;
-#X text 56 348 Outlet 1: gemlist;
-#X text 63 312 Inlet 1: gemlist;
-#X obj 451 209 pix_draw;
-#X text 516 105 open an image;
-#X text 509 118 (JPEG \, TIFF \, ..);
-#X text 50 12 Synopsis: [pix_draw];
-#X text 29 76 Description: draw pixels on the screen;
-#X text 29 94 pix_draw simply draws the pixels on the screen without
-doing any texture mapping. Because it is just blasting pixels \, rotations
-and translations in the Z dimension won't do anything (except maybe
-have the raster point be clicked). See the OpenGL reference manual
-under glDrawPixels for more information).;
-#X obj 16 180 cnv 15 410 30 empty empty empty 20 12 0 14 -260818 -66577
-0;
-#X text 19 181 WARNING: On most PCs with graphics accelerators \, pix_draw
-is MUCH SLOWER than [pix_texture]!!;
-#X obj 451 171 translateXYZ;
-#X floatatom 472 149 5 -4 4 0 - - -;
-#X floatatom 519 148 5 -4 4 0 - - -;
-#X floatatom 563 149 5 -4 2 0 - - -;
-#X text 16 216 [pix_draw] is used in the example patches a lot \, just
-because it is one object less (compared to [pix_texture];
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 17 0;
-#X connect 16 0 17 1;
-#X connect 17 0 29 0;
-#X connect 29 0 21 0;
-#X connect 30 0 29 1;
-#X connect 31 0 29 2;
-#X connect 32 0 29 3;
+#N canvas 106 178 654 400 10;
+#X text 452 8 GEM object;
+#X obj 8 295 cnv 15 430 80 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 298 Inlets:;
+#X text 34 331 Outlets:;
+#X obj 8 256 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 255 Arguments:;
+#X obj 7 76 cnv 15 430 170 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X obj 450 200 cnv 15 80 40 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 71 31 Class: pix object;
+#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 451 113 pd image;
+#X text 63 266 <none>;
+#X text 56 348 Outlet 1: gemlist;
+#X text 63 312 Inlet 1: gemlist;
+#X obj 451 209 pix_draw;
+#X text 516 105 open an image;
+#X text 509 118 (JPEG \, TIFF \, ..);
+#X text 50 12 Synopsis: [pix_draw];
+#X text 29 76 Description: draw pixels on the screen;
+#X text 29 94 pix_draw simply draws the pixels on the screen without
+doing any texture mapping. Because it is just blasting pixels \, rotations
+and translations in the Z dimension won't do anything (except maybe
+have the raster point be clicked). See the OpenGL reference manual
+under glDrawPixels for more information).;
+#X obj 16 180 cnv 15 410 30 empty empty empty 20 12 0 14 -260818 -66577
+0;
+#X text 19 181 WARNING: On most PCs with graphics accelerators \, pix_draw
+is MUCH SLOWER than [pix_texture]!!;
+#X obj 451 171 translateXYZ;
+#X floatatom 472 149 5 -4 4 0 - - -;
+#X floatatom 519 148 5 -4 4 0 - - -;
+#X floatatom 563 149 5 -4 2 0 - - -;
+#X text 16 216 [pix_draw] is used in the example patches a lot \, just
+because it is one object less (compared to [pix_texture];
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 17 0;
+#X connect 16 0 17 1;
+#X connect 17 0 29 0;
+#X connect 29 0 21 0;
+#X connect 30 0 29 1;
+#X connect 31 0 29 2;
+#X connect 32 0 29 3;
diff --git a/packages/noncvs/windows/extra/Gem/pix_dump-help.pd b/packages/noncvs/windows/extra/Gem/pix_dump-help.pd
index 6471b8a1..89d906ca 100644
--- a/packages/noncvs/windows/extra/Gem/pix_dump-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_dump-help.pd
@@ -1,81 +1,81 @@
-#N canvas 55 38 654 372 10;
-#X text 452 8 GEM object;
-#X obj 8 245 cnv 15 430 100 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 248 Inlets:;
-#X text 38 295 Outlets:;
-#X obj 8 206 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 205 Arguments:;
-#X obj 7 76 cnv 15 430 125 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X obj 450 138 cnv 15 160 80 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 71 31 Class: pix object;
-#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas -16 272 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 451 113 pd image;
-#X text 63 216 <none>;
-#X text 56 308 Outlet 1: gemlist;
-#X text 63 262 Inlet 1: gemlist;
-#X obj 451 233 pix_draw;
-#X text 516 105 open an image;
-#X text 509 118 (JPEG \, TIFF \, ..);
-#X obj 451 166 pix_dump;
-#X obj 502 193 print DATA;
-#X msg 487 142 bang;
-#X text 29 76 Description: dump all the pixel-data of an image;
-#X text 21 111 [pix_dump] will output one long list of (m*n) Pixel-Tupel.
-;
-#X text 22 142 For a RGBA-image the list will have the form:;
-#X text 42 162 R1 G1 B1 A1 R2 G2 B2 A2 R3 G3 ... B(m*n) A(m*n);
-#X text 63 275 Inlet 1: bang: do dump;
-#X text 56 322 Outlet 2: list: dumped pixel data;
-#X text 50 12 Synopsis: [pix_dump];
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 17 0;
-#X connect 16 0 17 1;
-#X connect 17 0 24 0;
-#X connect 24 0 21 0;
-#X connect 24 1 25 0;
-#X connect 26 0 24 0;
+#N canvas 55 38 654 372 10;
+#X text 452 8 GEM object;
+#X obj 8 245 cnv 15 430 100 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 248 Inlets:;
+#X text 38 295 Outlets:;
+#X obj 8 206 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 205 Arguments:;
+#X obj 7 76 cnv 15 430 125 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X obj 450 138 cnv 15 160 80 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 71 31 Class: pix object;
+#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas -16 272 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 451 113 pd image;
+#X text 63 216 <none>;
+#X text 56 308 Outlet 1: gemlist;
+#X text 63 262 Inlet 1: gemlist;
+#X obj 451 233 pix_draw;
+#X text 516 105 open an image;
+#X text 509 118 (JPEG \, TIFF \, ..);
+#X obj 451 166 pix_dump;
+#X obj 502 193 print DATA;
+#X msg 487 142 bang;
+#X text 29 76 Description: dump all the pixel-data of an image;
+#X text 21 111 [pix_dump] will output one long list of (m*n) Pixel-Tupel.
+;
+#X text 22 142 For a RGBA-image the list will have the form:;
+#X text 42 162 R1 G1 B1 A1 R2 G2 B2 A2 R3 G3 ... B(m*n) A(m*n);
+#X text 63 275 Inlet 1: bang: do dump;
+#X text 56 322 Outlet 2: list: dumped pixel data;
+#X text 50 12 Synopsis: [pix_dump];
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 17 0;
+#X connect 16 0 17 1;
+#X connect 17 0 24 0;
+#X connect 24 0 21 0;
+#X connect 24 1 25 0;
+#X connect 26 0 24 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_duotone-help.pd b/packages/noncvs/windows/extra/Gem/pix_duotone-help.pd
index 79e2511e..1705cf28 100644
--- a/packages/noncvs/windows/extra/Gem/pix_duotone-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_duotone-help.pd
@@ -1,90 +1,90 @@
-#N canvas 0 0 651 393 10;
-#X text 452 8 GEM object;
-#X obj 8 216 cnv 15 430 125 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 218 Inlets:;
-#X text 39 310 Outlets:;
-#X obj 8 176 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 175 Arguments:;
-#X obj 8 76 cnv 15 430 90 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X obj 450 158 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 71 31 Class: pix object;
-#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 451 113 pd image;
-#X obj 451 233 pix_texture;
-#X text 63 186 <none>;
-#X text 57 323 Outlet 1: gemlist;
-#X text 63 232 Inlet 1: gemlist;
-#X obj 451 255 square 3;
-#X text 64 258 Inlet 3: list: color if original pixel-value is below
-threshold;
-#X text 64 283 Inlet 4: list: color if original pixel-value is above
-threshold;
-#X text 50 12 Synopsis: [pix_duotone];
-#X text 29 77 Description: reduce the number of colours by thresholding
-;
-#X text 13 91 [pix_duotone] will reduce the number of colours in a
-pixImage \, based on thresholding. If the pixel has a greater value
-than the threshold (on all channels) \, the pixel will be set to color1
-\, else color2 will be used. The same goes for green and blue. In YUV-space
-the values are not RGB but YCrCb.;
-#X obj 451 196 pix_duotone;
-#X msg 465 166 0.2 0.1 0.2;
-#X msg 562 164 1 0 0;
-#X msg 563 190 0 0 1;
-#X text 63 245 Inlet 2: list: threshold (RGB);
-#X text 516 105 open an image;
-#X text 509 118 (JPEG \, TIFF \, ..);
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 17 0;
-#X connect 16 0 17 1;
-#X connect 17 0 28 0;
-#X connect 18 0 22 0;
-#X connect 28 0 18 0;
-#X connect 29 0 28 1;
-#X connect 30 0 28 2;
-#X connect 31 0 28 3;
+#N canvas 0 0 651 393 10;
+#X text 452 8 GEM object;
+#X obj 8 216 cnv 15 430 125 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 218 Inlets:;
+#X text 39 310 Outlets:;
+#X obj 8 176 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 175 Arguments:;
+#X obj 8 76 cnv 15 430 90 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X obj 450 158 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 71 31 Class: pix object;
+#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 451 113 pd image;
+#X obj 451 233 pix_texture;
+#X text 63 186 <none>;
+#X text 57 323 Outlet 1: gemlist;
+#X text 63 232 Inlet 1: gemlist;
+#X obj 451 255 square 3;
+#X text 64 258 Inlet 3: list: color if original pixel-value is below
+threshold;
+#X text 64 283 Inlet 4: list: color if original pixel-value is above
+threshold;
+#X text 50 12 Synopsis: [pix_duotone];
+#X text 29 77 Description: reduce the number of colours by thresholding
+;
+#X text 13 91 [pix_duotone] will reduce the number of colours in a
+pixImage \, based on thresholding. If the pixel has a greater value
+than the threshold (on all channels) \, the pixel will be set to color1
+\, else color2 will be used. The same goes for green and blue. In YUV-space
+the values are not RGB but YCrCb.;
+#X obj 451 196 pix_duotone;
+#X msg 465 166 0.2 0.1 0.2;
+#X msg 562 164 1 0 0;
+#X msg 563 190 0 0 1;
+#X text 63 245 Inlet 2: list: threshold (RGB);
+#X text 516 105 open an image;
+#X text 509 118 (JPEG \, TIFF \, ..);
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 17 0;
+#X connect 16 0 17 1;
+#X connect 17 0 28 0;
+#X connect 18 0 22 0;
+#X connect 28 0 18 0;
+#X connect 29 0 28 1;
+#X connect 30 0 28 2;
+#X connect 31 0 28 3;
diff --git a/packages/noncvs/windows/extra/Gem/pix_film-help.pd b/packages/noncvs/windows/extra/Gem/pix_film-help.pd
index 8c59892f..462d0685 100644
--- a/packages/noncvs/windows/extra/Gem/pix_film-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_film-help.pd
@@ -1,130 +1,130 @@
-#N canvas 76 43 724 565 10;
-#X text 452 8 GEM object;
-#X obj 9 272 cnv 15 430 280 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 40 274 Inlets:;
-#X text 39 441 Outlets:;
-#X obj 9 239 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 18 238 Arguments:;
-#X obj 8 56 cnv 15 430 180 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 57 cnv 15 250 350 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 40 Example:;
-#X obj 594 340 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X msg 67 70 set destroy;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X msg 156 71 set create;
-#X obj 67 41 route create;
-#X connect 2 0 7 0;
-#X connect 3 0 1 0;
-#X connect 4 0 0 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 0;
-#X connect 7 0 3 0;
-#X connect 7 0 4 0;
-#X connect 7 1 6 0;
-#X connect 7 1 5 0;
-#X restore 599 379 pd gemwin;
-#X msg 599 360 create;
-#X text 595 339 Create window:;
-#X obj 451 88 cnv 15 155 250 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 63 gemhead;
-#X text 17 455 Outlet 1: gemlist;
-#X text 24 288 Inlet 1: gemlist;
-#X obj 451 360 pix_texture;
-#X obj 463 93 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X text 505 57 open a supported;
-#X text 506 68 movie-clip;
-#X obj 476 287 unpack 0 0 0;
-#X floatatom 466 310 5 0 0 3 length - -;
-#X floatatom 515 310 5 0 0 3 width - -;
-#X floatatom 565 310 5 0 0 3 height - -;
-#X obj 520 268 bng 15 250 50 0 empty empty end_reached 20 7 0 10 -262144
--1 -1;
-#X floatatom 502 233 5 0 10000 1 frame# - -;
-#X text 71 31 Class: pix object (pix source);
-#X text 29 57 Description: load in a movie-file;
-#X obj 463 122 openpanel;
-#X msg 463 142 open \$1;
-#X obj 451 382 rectangle 4 3;
-#X text 50 12 Synopsis: [pix_film];
-#X text 15 78 [pix_film] loads in a preproducecd digital-video to be
-used aas a texture \, bitblit or something else.;
-#X obj 451 251 pix_film;
-#X text 64 249 symbol: file to load initially;
-#X text 24 303 Inlet 1: message: open <filename> [RGBA|YUV|Grey]: opens
-the movie <filename> and decodes it into the specified color-space.
-;
-#X text 24 346 Inlet 1: message: colorspace "RGBA|YUV|Grey": decodes
-the current film into the specified colorspace.;
-#X text 24 375 Inlet 1: message : auto 1|0 : starts/stops automatic
-playback.;
-#X text 22 407 Inlet 2: float: <frame#> changes the frame to be decoded
-on rendering.;
-#X text 17 524 Outlet 3: bang: indicates that the last frame has been
-reached. (or: an illegal frame would have been decoded);
-#X msg 469 185 auto \$1;
-#X obj 469 167 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X msg 480 209 colorspace Grey;
-#X text 13 104 You can open a specified film via the "open" message
-\, which takes an optional argument for the colorspace \, to which
-the movie should be decoded (RGBA \, YUV or Grey).;
-#X text 17 471 Outlet 2: list: <length> <width> <height>: gets the
-dimensions (in fps and pixels) of a film when it gets loaded. if length
-is not available (video-streams) -1 is returned.;
-#X text 14 144 Normally \, you will only get one specified (via the
-second inlet) frame of the film \, To play back a complete film \,
-you have to change the frame accordingly \, OR use the "auto" message
-\, to automatically proceed to the next frame each rendering-cycle.
-In auto-mode \, the film is NOT looped. Instead you can reset the current-frame
-to zero when the end of the film is reached.;
-#N canvas 67 224 450 432 :: 0;
-#X text 24 16 the format [pix_film] is able to decode depends on the
-system you are running Gem.;
-#X text 30 101 Win32: [pix_film] should be able to decode AVIs (all
-installed codecs). If you are lucky and your version of Gem is compiled
-with quicktime-support and you have quicktime installed on your machine
-\, you might be able to play back quicktime MOVs.;
-#X text 31 63 macOS-X: [pix_film] should be ablte to decode quicktime
-MOVs.;
-#X text 32 175 linux: that's a bit tricky. Since there is no "native"
-video-format for linux it heavily depends on what you have installed
-on your machine and how Gem has been compiled. If your system supports
-it \, [pix_film] is able to use quicktime4linux/libquicktime to decode
-quicktime-MOVs \, libmpeg1/libmpeg3 to decode MPEG2-videos and libaviplay
-which opens a wide range of supported formats (with the possibility
-to install additional codec-plugins) \, from AVI via MPEG2 to DivX
-\, although i have found MPEG support rather unstable. libaviplay does
-not support quicktime decoding. There is also some ruddy ffmpeg support
-(apart from the one supplied by libaviplay).;
-#X text 36 351 although one wouldn't believe it \, but i have found
-that under linux i could play most formats...;
-#X restore 485 464 pd :: FORMATS;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 34 0;
-#X connect 17 0 31 0;
-#X connect 18 0 29 0;
-#X connect 21 0 22 0;
-#X connect 21 1 23 0;
-#X connect 21 2 24 0;
-#X connect 26 0 34 1;
-#X connect 29 0 30 0;
-#X connect 30 0 34 0;
-#X connect 34 0 17 0;
-#X connect 34 1 21 0;
-#X connect 34 2 25 0;
-#X connect 41 0 34 0;
-#X connect 42 0 41 0;
-#X connect 43 0 34 0;
+#N canvas 76 43 724 565 10;
+#X text 452 8 GEM object;
+#X obj 9 272 cnv 15 430 280 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 40 274 Inlets:;
+#X text 39 441 Outlets:;
+#X obj 9 239 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 18 238 Arguments:;
+#X obj 8 56 cnv 15 430 180 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 57 cnv 15 250 350 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 40 Example:;
+#X obj 594 340 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X msg 67 70 set destroy;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X msg 156 71 set create;
+#X obj 67 41 route create;
+#X connect 2 0 7 0;
+#X connect 3 0 1 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 0;
+#X connect 7 0 3 0;
+#X connect 7 0 4 0;
+#X connect 7 1 6 0;
+#X connect 7 1 5 0;
+#X restore 599 379 pd gemwin;
+#X msg 599 360 create;
+#X text 595 339 Create window:;
+#X obj 451 88 cnv 15 155 250 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 63 gemhead;
+#X text 17 455 Outlet 1: gemlist;
+#X text 24 288 Inlet 1: gemlist;
+#X obj 451 360 pix_texture;
+#X obj 463 93 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X text 505 57 open a supported;
+#X text 506 68 movie-clip;
+#X obj 476 287 unpack 0 0 0;
+#X floatatom 466 310 5 0 0 3 length - -;
+#X floatatom 515 310 5 0 0 3 width - -;
+#X floatatom 565 310 5 0 0 3 height - -;
+#X obj 520 268 bng 15 250 50 0 empty empty end_reached 20 7 0 10 -262144
+-1 -1;
+#X floatatom 502 233 5 0 10000 1 frame# - -;
+#X text 71 31 Class: pix object (pix source);
+#X text 29 57 Description: load in a movie-file;
+#X obj 463 122 openpanel;
+#X msg 463 142 open \$1;
+#X obj 451 382 rectangle 4 3;
+#X text 50 12 Synopsis: [pix_film];
+#X text 15 78 [pix_film] loads in a preproducecd digital-video to be
+used aas a texture \, bitblit or something else.;
+#X obj 451 251 pix_film;
+#X text 64 249 symbol: file to load initially;
+#X text 24 303 Inlet 1: message: open <filename> [RGBA|YUV|Grey]: opens
+the movie <filename> and decodes it into the specified color-space.
+;
+#X text 24 346 Inlet 1: message: colorspace "RGBA|YUV|Grey": decodes
+the current film into the specified colorspace.;
+#X text 24 375 Inlet 1: message : auto 1|0 : starts/stops automatic
+playback.;
+#X text 22 407 Inlet 2: float: <frame#> changes the frame to be decoded
+on rendering.;
+#X text 17 524 Outlet 3: bang: indicates that the last frame has been
+reached. (or: an illegal frame would have been decoded);
+#X msg 469 185 auto \$1;
+#X obj 469 167 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X msg 480 209 colorspace Grey;
+#X text 13 104 You can open a specified film via the "open" message
+\, which takes an optional argument for the colorspace \, to which
+the movie should be decoded (RGBA \, YUV or Grey).;
+#X text 17 471 Outlet 2: list: <length> <width> <height>: gets the
+dimensions (in fps and pixels) of a film when it gets loaded. if length
+is not available (video-streams) -1 is returned.;
+#X text 14 144 Normally \, you will only get one specified (via the
+second inlet) frame of the film \, To play back a complete film \,
+you have to change the frame accordingly \, OR use the "auto" message
+\, to automatically proceed to the next frame each rendering-cycle.
+In auto-mode \, the film is NOT looped. Instead you can reset the current-frame
+to zero when the end of the film is reached.;
+#N canvas 67 224 450 432 :: 0;
+#X text 24 16 the format [pix_film] is able to decode depends on the
+system you are running Gem.;
+#X text 30 101 Win32: [pix_film] should be able to decode AVIs (all
+installed codecs). If you are lucky and your version of Gem is compiled
+with quicktime-support and you have quicktime installed on your machine
+\, you might be able to play back quicktime MOVs.;
+#X text 31 63 macOS-X: [pix_film] should be ablte to decode quicktime
+MOVs.;
+#X text 32 175 linux: that's a bit tricky. Since there is no "native"
+video-format for linux it heavily depends on what you have installed
+on your machine and how Gem has been compiled. If your system supports
+it \, [pix_film] is able to use quicktime4linux/libquicktime to decode
+quicktime-MOVs \, libmpeg1/libmpeg3 to decode MPEG2-videos and libaviplay
+which opens a wide range of supported formats (with the possibility
+to install additional codec-plugins) \, from AVI via MPEG2 to DivX
+\, although i have found MPEG support rather unstable. libaviplay does
+not support quicktime decoding. There is also some ruddy ffmpeg support
+(apart from the one supplied by libaviplay).;
+#X text 36 351 although one wouldn't believe it \, but i have found
+that under linux i could play most formats...;
+#X restore 485 464 pd :: FORMATS;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 34 0;
+#X connect 17 0 31 0;
+#X connect 18 0 29 0;
+#X connect 21 0 22 0;
+#X connect 21 1 23 0;
+#X connect 21 2 24 0;
+#X connect 26 0 34 1;
+#X connect 29 0 30 0;
+#X connect 30 0 34 0;
+#X connect 34 0 17 0;
+#X connect 34 1 21 0;
+#X connect 34 2 25 0;
+#X connect 41 0 34 0;
+#X connect 42 0 41 0;
+#X connect 43 0 34 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_flip-help.pd b/packages/noncvs/windows/extra/Gem/pix_flip-help.pd
index eee1e162..ca1a4461 100644
--- a/packages/noncvs/windows/extra/Gem/pix_flip-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_flip-help.pd
@@ -1,85 +1,85 @@
-#N canvas 477 283 654 372 10;
-#X text 452 8 GEM object;
-#X obj 8 245 cnv 15 430 80 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 248 Inlets:;
-#X text 38 295 Outlets:;
-#X obj 8 206 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 205 Arguments:;
-#X obj 7 76 cnv 15 430 125 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 284 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 323 pd gemwin;
-#X msg 519 304 destroy;
-#X text 515 283 Create window:;
-#X obj 450 138 cnv 15 160 110 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 71 31 Class: pix object;
-#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 22 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 451 113 pd image;
-#X text 63 216 <none>;
-#X text 56 308 Outlet 1: gemlist;
-#X text 63 262 Inlet 1: gemlist;
-#X text 50 12 Synopsis: [pix_color];
-#X text 516 105 open an image;
-#X text 509 118 (JPEG \, TIFF \, ..);
-#X msg 514 146 none;
-#X msg 514 166 horizontal;
-#X msg 514 186 vertical;
-#X msg 514 206 both;
-#X text 29 76 Description: flips the image along an axis;
-#X text 19 117 pix_flip flips an image either horizontally \, vertically
-\, or both \, depending on the message that it receives.;
-#X text 20 153 It defaults to none;
-#X text 63 275 Inlet 1: none|horizontal|vertical|both;
-#X obj 451 226 pix_flip;
-#X obj 451 253 pix_texture;
-#X obj 451 274 square;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 17 0;
-#X connect 16 0 17 1;
-#X connect 17 0 32 0;
-#X connect 24 0 32 0;
-#X connect 25 0 32 0;
-#X connect 26 0 32 0;
-#X connect 27 0 32 0;
-#X connect 32 0 33 0;
-#X connect 33 0 34 0;
+#N canvas 477 283 654 372 10;
+#X text 452 8 GEM object;
+#X obj 8 245 cnv 15 430 80 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 248 Inlets:;
+#X text 38 295 Outlets:;
+#X obj 8 206 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 205 Arguments:;
+#X obj 7 76 cnv 15 430 125 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 284 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 323 pd gemwin;
+#X msg 519 304 destroy;
+#X text 515 283 Create window:;
+#X obj 450 138 cnv 15 160 110 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 71 31 Class: pix object;
+#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 22 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 451 113 pd image;
+#X text 63 216 <none>;
+#X text 56 308 Outlet 1: gemlist;
+#X text 63 262 Inlet 1: gemlist;
+#X text 50 12 Synopsis: [pix_color];
+#X text 516 105 open an image;
+#X text 509 118 (JPEG \, TIFF \, ..);
+#X msg 514 146 none;
+#X msg 514 166 horizontal;
+#X msg 514 186 vertical;
+#X msg 514 206 both;
+#X text 29 76 Description: flips the image along an axis;
+#X text 19 117 pix_flip flips an image either horizontally \, vertically
+\, or both \, depending on the message that it receives.;
+#X text 20 153 It defaults to none;
+#X text 63 275 Inlet 1: none|horizontal|vertical|both;
+#X obj 451 226 pix_flip;
+#X obj 451 253 pix_texture;
+#X obj 451 274 square;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 17 0;
+#X connect 16 0 17 1;
+#X connect 17 0 32 0;
+#X connect 24 0 32 0;
+#X connect 25 0 32 0;
+#X connect 26 0 32 0;
+#X connect 27 0 32 0;
+#X connect 32 0 33 0;
+#X connect 33 0 34 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_freeframe-help.pd b/packages/noncvs/windows/extra/Gem/pix_freeframe-help.pd
index 63fe2159..e3d095af 100644
--- a/packages/noncvs/windows/extra/Gem/pix_freeframe-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_freeframe-help.pd
@@ -1,133 +1,133 @@
-#N canvas 346 44 665 538 10;
-#X text 452 8 GEM object;
-#X obj 8 340 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 342 Arguments:;
-#X obj 8 56 cnv 15 430 280 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 451 58 Example:;
-#X text 71 31 Class: pix object;
-#X obj 13 512 cnv 15 410 30 empty empty empty 20 12 0 14 -260818 -66577
-0;
-#X text 50 12 Synopsis: [pix_freeframe];
-#X text 63 353 <symbol>: the plugin to load;
-#X text 13 72 This object allows you to load any FreeFrame video-effect.
-FreeFrame is an open \, cross-platform (osX \, linux \, w32) standard
-for realtime video effects.;
-#X text 15 513 You can get more information as well as links to public
-domain and commercial plugin-packs at http://freeframe.org;
-#X msg 455 330 gemList;
-#X text 28 56 Description: run a FreeFrame effect;
-#X obj 449 113 gemhead;
-#X obj 448 77 cnv 15 200 280 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X obj 514 340 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X msg 67 70 set destroy;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X msg 156 71 set create;
-#X obj 67 41 route create;
-#X connect 2 0 7 0;
-#X connect 3 0 1 0;
-#X connect 4 0 0 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 0;
-#X connect 7 0 3 0;
-#X connect 7 0 4 0;
-#X connect 7 1 6 0;
-#X connect 7 1 5 0;
-#X restore 519 379 pd gemwin;
-#X msg 519 360 create;
-#X text 515 339 Create window:;
-#X obj 451 83 gemhead;
-#X obj 451 342 square 3;
-#X obj 451 320 pix_texture;
-#X obj 451 151 pix_film;
-#X obj 515 151 t f;
-#X obj 464 103 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#N canvas 0 0 450 300 open 0;
-#X obj 85 49 inlet;
-#X obj 85 237 outlet;
-#X obj 85 145 openpanel;
-#X msg 85 179 open \$1;
-#X msg 259 213 auto 1;
-#X obj 268 179 loadbang;
-#X connect 0 0 2 0;
-#X connect 2 0 3 0;
-#X connect 3 0 1 0;
-#X connect 4 0 1 0;
-#X connect 5 0 4 0;
-#X restore 464 131 pd open;
-#X text 505 77 open a supported;
-#X text 506 88 movie-clip;
-#X text 523 114 macOS: quicktime;
-#X text 516 104 windos: *.AVI;
-#X text 523 124 linux: depends...;
-#X obj 450 227 cnv 15 160 85 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X floatatom 567 241 5 0 0 0 - - -;
-#X obj 463 241 hsl 100 15 0 1 0 0 empty empty friction -2 -6 0 10 -262144
--1 -1 0 1;
-#X obj 451 289 pix_freeframe WaveVFX;
-#X floatatom 567 270 5 0 0 0 - - -;
-#X obj 463 270 hsl 100 15 0 1 0 0 empty empty speed -2 -6 0 10 -262144
--1 -1 0 1;
-#X text 442 431 This example relies on;
-#X text 442 446 finding the "WaveVFX" plugin;
-#X text 443 461 (which is part of PeteWarden's;
-#X text 445 477 plugins) in pd's search path;
-#X obj 451 179 pix_rgba;
-#X text 513 176 FreeFrame plugins;
-#X text 515 190 need RGBA images!;
-#X text 12 109 If you specify the plugin when creating the object (e.g
-[pix_freeframe WaveVFX] or [pix_WaveVFX] \, the plugin is fixed and
-you cannot change it (apart from deleting the object and creating a
-new one);
-#X text 13 154 However \, if you only create an object [pix_freeframe]
-(without specifying the pugin \, you will get a dynamic version \,
-where you can load in a plugin using the "load" message.;
-#X text 12 308 Plugins are searched in all the paths that pd searches
-for abstractions \, ...!;
-#X text 13 284 FreeFrame numerical parameters are supposed to be in
-the range 0..1.;
-#X text 12 202 Most plugins have a number of parameters which you can
-use to change the behaviour of the effect while it runs. For each parameter
-exposed \, the [pix_freeframe] object will get one additional inlet
-\, which can be used to modify the given parameter. Alternatively (e.g.
-when using dynamic plugin instances) you can also use the parametername
-or "#<num>" (starting from 1).;
-#X obj 7 376 cnv 15 430 130 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 11 378 Inlets:;
-#X text 11 478 Outlets:;
-#X text 29 491 Outlet 1: gemlist;
-#X text 22 392 Inlet 1: gemlist;
-#X text 21 453 Inlet 2..N (if applicable): <type>: depending on the
-settable parameter;
-#X text 22 406 Inlet 1: open <symbol>: load another plugin (if applicable)
-;
-#X text 22 419 Inlet 1: #<num> <value>: set parameter #<num> (starting
-from 1);
-#X text 22 441 Inlet 1: <name> <value>: set parameter given by <name>
-;
-#X connect 16 0 17 0;
-#X connect 17 0 16 0;
-#X connect 19 0 22 0;
-#X connect 21 0 20 0;
-#X connect 22 0 41 0;
-#X connect 22 2 23 0;
-#X connect 23 0 22 1;
-#X connect 24 0 25 0;
-#X connect 25 0 22 0;
-#X connect 32 0 34 1;
-#X connect 33 0 32 0;
-#X connect 34 0 21 0;
-#X connect 35 0 34 2;
-#X connect 36 0 35 0;
-#X connect 41 0 34 0;
+#N canvas 346 44 665 538 10;
+#X text 452 8 GEM object;
+#X obj 8 340 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 342 Arguments:;
+#X obj 8 56 cnv 15 430 280 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 451 58 Example:;
+#X text 71 31 Class: pix object;
+#X obj 13 512 cnv 15 410 30 empty empty empty 20 12 0 14 -260818 -66577
+0;
+#X text 50 12 Synopsis: [pix_freeframe];
+#X text 63 353 <symbol>: the plugin to load;
+#X text 13 72 This object allows you to load any FreeFrame video-effect.
+FreeFrame is an open \, cross-platform (osX \, linux \, w32) standard
+for realtime video effects.;
+#X text 15 513 You can get more information as well as links to public
+domain and commercial plugin-packs at http://freeframe.org;
+#X msg 455 330 gemList;
+#X text 28 56 Description: run a FreeFrame effect;
+#X obj 449 113 gemhead;
+#X obj 448 77 cnv 15 200 280 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X obj 514 340 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X msg 67 70 set destroy;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X msg 156 71 set create;
+#X obj 67 41 route create;
+#X connect 2 0 7 0;
+#X connect 3 0 1 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 0;
+#X connect 7 0 3 0;
+#X connect 7 0 4 0;
+#X connect 7 1 6 0;
+#X connect 7 1 5 0;
+#X restore 519 379 pd gemwin;
+#X msg 519 360 create;
+#X text 515 339 Create window:;
+#X obj 451 83 gemhead;
+#X obj 451 342 square 3;
+#X obj 451 320 pix_texture;
+#X obj 451 151 pix_film;
+#X obj 515 151 t f;
+#X obj 464 103 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#N canvas 0 0 450 300 open 0;
+#X obj 85 49 inlet;
+#X obj 85 237 outlet;
+#X obj 85 145 openpanel;
+#X msg 85 179 open \$1;
+#X msg 259 213 auto 1;
+#X obj 268 179 loadbang;
+#X connect 0 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 1 0;
+#X connect 5 0 4 0;
+#X restore 464 131 pd open;
+#X text 505 77 open a supported;
+#X text 506 88 movie-clip;
+#X text 523 114 macOS: quicktime;
+#X text 516 104 windos: *.AVI;
+#X text 523 124 linux: depends...;
+#X obj 450 227 cnv 15 160 85 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X floatatom 567 241 5 0 0 0 - - -;
+#X obj 463 241 hsl 100 15 0 1 0 0 empty empty friction -2 -6 0 10 -262144
+-1 -1 0 1;
+#X obj 451 289 pix_freeframe WaveVFX;
+#X floatatom 567 270 5 0 0 0 - - -;
+#X obj 463 270 hsl 100 15 0 1 0 0 empty empty speed -2 -6 0 10 -262144
+-1 -1 0 1;
+#X text 442 431 This example relies on;
+#X text 442 446 finding the "WaveVFX" plugin;
+#X text 443 461 (which is part of PeteWarden's;
+#X text 445 477 plugins) in pd's search path;
+#X obj 451 179 pix_rgba;
+#X text 513 176 FreeFrame plugins;
+#X text 515 190 need RGBA images!;
+#X text 12 109 If you specify the plugin when creating the object (e.g
+[pix_freeframe WaveVFX] or [pix_WaveVFX] \, the plugin is fixed and
+you cannot change it (apart from deleting the object and creating a
+new one);
+#X text 13 154 However \, if you only create an object [pix_freeframe]
+(without specifying the pugin \, you will get a dynamic version \,
+where you can load in a plugin using the "load" message.;
+#X text 12 308 Plugins are searched in all the paths that pd searches
+for abstractions \, ...!;
+#X text 13 284 FreeFrame numerical parameters are supposed to be in
+the range 0..1.;
+#X text 12 202 Most plugins have a number of parameters which you can
+use to change the behaviour of the effect while it runs. For each parameter
+exposed \, the [pix_freeframe] object will get one additional inlet
+\, which can be used to modify the given parameter. Alternatively (e.g.
+when using dynamic plugin instances) you can also use the parametername
+or "#<num>" (starting from 1).;
+#X obj 7 376 cnv 15 430 130 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 11 378 Inlets:;
+#X text 11 478 Outlets:;
+#X text 29 491 Outlet 1: gemlist;
+#X text 22 392 Inlet 1: gemlist;
+#X text 21 453 Inlet 2..N (if applicable): <type>: depending on the
+settable parameter;
+#X text 22 406 Inlet 1: open <symbol>: load another plugin (if applicable)
+;
+#X text 22 419 Inlet 1: #<num> <value>: set parameter #<num> (starting
+from 1);
+#X text 22 441 Inlet 1: <name> <value>: set parameter given by <name>
+;
+#X connect 16 0 17 0;
+#X connect 17 0 16 0;
+#X connect 19 0 22 0;
+#X connect 21 0 20 0;
+#X connect 22 0 41 0;
+#X connect 22 2 23 0;
+#X connect 23 0 22 1;
+#X connect 24 0 25 0;
+#X connect 25 0 22 0;
+#X connect 32 0 34 1;
+#X connect 33 0 32 0;
+#X connect 34 0 21 0;
+#X connect 35 0 34 2;
+#X connect 36 0 35 0;
+#X connect 41 0 34 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_frei0r-help.pd b/packages/noncvs/windows/extra/Gem/pix_frei0r-help.pd
index f8dd840a..2b2f15ce 100644
--- a/packages/noncvs/windows/extra/Gem/pix_frei0r-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_frei0r-help.pd
@@ -1,131 +1,131 @@
-#N canvas 19 44 676 544 10;
-#X text 452 8 GEM object;
-#X obj 7 376 cnv 15 430 130 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 11 378 Inlets:;
-#X text 11 478 Outlets:;
-#X obj 8 340 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 342 Arguments:;
-#X obj 8 56 cnv 15 430 280 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 451 58 Example:;
-#X text 71 31 Class: pix object;
-#X text 29 491 Outlet 1: gemlist;
-#X text 22 392 Inlet 1: gemlist;
-#X obj 13 512 cnv 15 410 30 empty empty empty 20 12 0 14 -260818 -66577
-0;
-#X text 50 12 Synopsis: [pix_frei0r];
-#X text 63 353 <symbol>: the plugin to load;
-#X text 13 72 This object allows you to load any Frei0r video-effect.
-Frei0r is a minimalistic plugin API for realtime video effects.;
-#X text 15 513 You can get more information as well as links to downloadable
-plugin-packs at http://piksel.org/frei0r;
-#X msg 455 330 gemList;
-#X text 12 308 Plugins are searched in all the paths that pd searches
-for abstractions \, ...!;
-#X text 28 56 Description: run a Frei0r effect;
-#X obj 449 113 gemhead;
-#X obj 448 77 cnv 15 200 280 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X obj 514 340 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X msg 67 70 set destroy;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X msg 156 71 set create;
-#X obj 67 41 route create;
-#X connect 2 0 7 0;
-#X connect 3 0 1 0;
-#X connect 4 0 0 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 0;
-#X connect 7 0 3 0;
-#X connect 7 0 4 0;
-#X connect 7 1 6 0;
-#X connect 7 1 5 0;
-#X restore 519 379 pd gemwin;
-#X msg 519 360 create;
-#X text 515 339 Create window:;
-#X obj 451 83 gemhead;
-#X obj 451 342 square 3;
-#X obj 451 320 pix_texture;
-#X obj 451 151 pix_film;
-#X obj 515 151 t f;
-#X obj 464 103 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#N canvas 0 0 450 300 open 0;
-#X obj 85 49 inlet;
-#X obj 85 237 outlet;
-#X obj 85 145 openpanel;
-#X msg 85 179 open \$1;
-#X msg 259 213 auto 1;
-#X obj 268 179 loadbang;
-#X connect 0 0 2 0;
-#X connect 2 0 3 0;
-#X connect 3 0 1 0;
-#X connect 4 0 1 0;
-#X connect 5 0 4 0;
-#X restore 464 131 pd open;
-#X text 505 77 open a supported;
-#X text 506 88 movie-clip;
-#X text 523 114 macOS: quicktime;
-#X text 516 104 windos: *.AVI;
-#X text 523 124 linux: depends...;
-#X obj 450 227 cnv 15 160 85 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X floatatom 567 241 5 0 0 0 - - -;
-#X obj 463 241 hsl 100 15 0 1 0 0 empty empty xSize -2 -6 0 10 -262144
--1 -1 0 1;
-#X floatatom 567 270 5 0 0 0 - - -;
-#X obj 463 270 hsl 100 15 0 1 0 0 empty empty ySize -2 -6 0 10 -262144
--1 -1 0 1;
-#X text 442 411 This example relies on;
-#X obj 451 180 pix_rgba;
-#X text 513 176 Frei0r plugins;
-#X text 515 190 need RGBA images!;
-#X obj 451 289 pix_frei0r pixeliz0r;
-#X text 442 426 finding the "pixeliz0r" plugin;
-#X text 445 457 plugin set) in pd's search path;
-#X text 443 441 (which is part of the official frei0r;
-#X text 12 112 If you specify the plugin when creating the object (e.g
-[pix_frei0r bw0r] or [pix_bw0r] \, the plugin is fixed and you cannot
-change it (apart from deleting the object and creating a new one);
-#X text 13 163 However \, if you only create an object [pix_frei0r]
-(without specifying the pugin \, you will get a dynamic version \,
-where you can load in a plugin using the "load" message.;
-#X text 12 202 Most plugins have a number of parameters which you can
-use to change the behaviour of the effect while it runs. For each parameter
-exposed \, the [pix_frei0r] object will get one additional inlet \,
-which can be used to modify the given parameter. Alternatively (e.g.
-when using dynamic plugin instances) you can also use the parametername
-or "#<num>" (starting from 1).;
-#X text 13 284 Frei0r numerical parameters are supposed to be in the
-range 0..1.;
-#X text 21 453 Inlet 2..N (if applicable): <type>: depending on the
-settable parameter;
-#X text 22 406 Inlet 1: open <symbol>: load another plugin (if applicable)
-;
-#X text 22 419 Inlet 1: #<num> <value>: set parameter #<num> (starting
-from 1);
-#X text 22 441 Inlet 1: <name> <value>: set parameter given by <name>
-;
-#X connect 22 0 23 0;
-#X connect 23 0 22 0;
-#X connect 25 0 28 0;
-#X connect 27 0 26 0;
-#X connect 28 0 43 0;
-#X connect 28 2 29 0;
-#X connect 29 0 28 1;
-#X connect 30 0 31 0;
-#X connect 31 0 28 0;
-#X connect 38 0 46 1;
-#X connect 39 0 38 0;
-#X connect 40 0 46 2;
-#X connect 41 0 40 0;
-#X connect 43 0 46 0;
-#X connect 46 0 27 0;
+#N canvas 19 44 676 544 10;
+#X text 452 8 GEM object;
+#X obj 7 376 cnv 15 430 130 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 11 378 Inlets:;
+#X text 11 478 Outlets:;
+#X obj 8 340 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 342 Arguments:;
+#X obj 8 56 cnv 15 430 280 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 451 58 Example:;
+#X text 71 31 Class: pix object;
+#X text 29 491 Outlet 1: gemlist;
+#X text 22 392 Inlet 1: gemlist;
+#X obj 13 512 cnv 15 410 30 empty empty empty 20 12 0 14 -260818 -66577
+0;
+#X text 50 12 Synopsis: [pix_frei0r];
+#X text 63 353 <symbol>: the plugin to load;
+#X text 13 72 This object allows you to load any Frei0r video-effect.
+Frei0r is a minimalistic plugin API for realtime video effects.;
+#X text 15 513 You can get more information as well as links to downloadable
+plugin-packs at http://piksel.org/frei0r;
+#X msg 455 330 gemList;
+#X text 12 308 Plugins are searched in all the paths that pd searches
+for abstractions \, ...!;
+#X text 28 56 Description: run a Frei0r effect;
+#X obj 449 113 gemhead;
+#X obj 448 77 cnv 15 200 280 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X obj 514 340 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X msg 67 70 set destroy;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X msg 156 71 set create;
+#X obj 67 41 route create;
+#X connect 2 0 7 0;
+#X connect 3 0 1 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 0;
+#X connect 7 0 3 0;
+#X connect 7 0 4 0;
+#X connect 7 1 6 0;
+#X connect 7 1 5 0;
+#X restore 519 379 pd gemwin;
+#X msg 519 360 create;
+#X text 515 339 Create window:;
+#X obj 451 83 gemhead;
+#X obj 451 342 square 3;
+#X obj 451 320 pix_texture;
+#X obj 451 151 pix_film;
+#X obj 515 151 t f;
+#X obj 464 103 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#N canvas 0 0 450 300 open 0;
+#X obj 85 49 inlet;
+#X obj 85 237 outlet;
+#X obj 85 145 openpanel;
+#X msg 85 179 open \$1;
+#X msg 259 213 auto 1;
+#X obj 268 179 loadbang;
+#X connect 0 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 1 0;
+#X connect 5 0 4 0;
+#X restore 464 131 pd open;
+#X text 505 77 open a supported;
+#X text 506 88 movie-clip;
+#X text 523 114 macOS: quicktime;
+#X text 516 104 windos: *.AVI;
+#X text 523 124 linux: depends...;
+#X obj 450 227 cnv 15 160 85 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X floatatom 567 241 5 0 0 0 - - -;
+#X obj 463 241 hsl 100 15 0 1 0 0 empty empty xSize -2 -6 0 10 -262144
+-1 -1 0 1;
+#X floatatom 567 270 5 0 0 0 - - -;
+#X obj 463 270 hsl 100 15 0 1 0 0 empty empty ySize -2 -6 0 10 -262144
+-1 -1 0 1;
+#X text 442 411 This example relies on;
+#X obj 451 180 pix_rgba;
+#X text 513 176 Frei0r plugins;
+#X text 515 190 need RGBA images!;
+#X obj 451 289 pix_frei0r pixeliz0r;
+#X text 442 426 finding the "pixeliz0r" plugin;
+#X text 445 457 plugin set) in pd's search path;
+#X text 443 441 (which is part of the official frei0r;
+#X text 12 112 If you specify the plugin when creating the object (e.g
+[pix_frei0r bw0r] or [pix_bw0r] \, the plugin is fixed and you cannot
+change it (apart from deleting the object and creating a new one);
+#X text 13 163 However \, if you only create an object [pix_frei0r]
+(without specifying the pugin \, you will get a dynamic version \,
+where you can load in a plugin using the "load" message.;
+#X text 12 202 Most plugins have a number of parameters which you can
+use to change the behaviour of the effect while it runs. For each parameter
+exposed \, the [pix_frei0r] object will get one additional inlet \,
+which can be used to modify the given parameter. Alternatively (e.g.
+when using dynamic plugin instances) you can also use the parametername
+or "#<num>" (starting from 1).;
+#X text 13 284 Frei0r numerical parameters are supposed to be in the
+range 0..1.;
+#X text 21 453 Inlet 2..N (if applicable): <type>: depending on the
+settable parameter;
+#X text 22 406 Inlet 1: open <symbol>: load another plugin (if applicable)
+;
+#X text 22 419 Inlet 1: #<num> <value>: set parameter #<num> (starting
+from 1);
+#X text 22 441 Inlet 1: <name> <value>: set parameter given by <name>
+;
+#X connect 22 0 23 0;
+#X connect 23 0 22 0;
+#X connect 25 0 28 0;
+#X connect 27 0 26 0;
+#X connect 28 0 43 0;
+#X connect 28 2 29 0;
+#X connect 29 0 28 1;
+#X connect 30 0 31 0;
+#X connect 31 0 28 0;
+#X connect 38 0 46 1;
+#X connect 39 0 38 0;
+#X connect 40 0 46 2;
+#X connect 41 0 40 0;
+#X connect 43 0 46 0;
+#X connect 46 0 27 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_gain-help.pd b/packages/noncvs/windows/extra/Gem/pix_gain-help.pd
index f1c33592..f9d6c9e8 100644
--- a/packages/noncvs/windows/extra/Gem/pix_gain-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_gain-help.pd
@@ -1,88 +1,88 @@
-#N canvas 394 120 654 440 10;
-#X text 452 8 GEM object;
-#X obj 8 275 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 278 Inlets:;
-#X text 38 355 Outlets:;
-#X obj 8 236 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 235 Arguments:;
-#X obj 7 76 cnv 15 430 150 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X obj 450 148 cnv 15 160 80 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 71 31 Class: pix object;
-#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 451 113 pd image;
-#X text 63 246 <none>;
-#X text 56 368 Outlet 1: gemlist;
-#X text 23 292 Inlet 1: gemlist;
-#X obj 451 233 pix_draw;
-#X text 516 105 open an image;
-#X text 509 118 (JPEG \, TIFF \, ..);
-#X obj 451 206 pix_gain;
-#X text 50 12 Synopsis: [pix_gain];
-#X text 29 76 Description: multiply pixel-values;
-#X floatatom 476 151 5 0 0 1 common - -;
-#X msg 527 179 1 0.5 0;
-#X msg 528 201 0 0.4 0.8 1;
-#X text 10 93 pix_gain applies a gain multipler to each pixel in a
-pix. The float is a constant modifier applied to all color components.
-If you use just R G B \, it asumes an alpha of 1.0.;
-#X text 13 152 NOTE: while you can use this \, remember that you can
-often acchieve the very same thing using the [color]-object for coloring
-the Geo onto which the image data is textured \, which could be done
-on the gfx-card (very efficient!) \, while [pix_gain] is always(!)
-done on the CPU!!!;
-#X text 23 305 Inlet 1: <float>: multiplyer for all channels;
-#X text 23 321 Inlet 2: list: 3 (RGB) or 4 (RGBA) values as multiplyers
-for each channels;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 17 0;
-#X connect 16 0 17 1;
-#X connect 17 0 24 0;
-#X connect 24 0 21 0;
-#X connect 27 0 24 1;
-#X connect 28 0 24 2;
-#X connect 29 0 24 2;
+#N canvas 394 120 654 440 10;
+#X text 452 8 GEM object;
+#X obj 8 275 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 278 Inlets:;
+#X text 38 355 Outlets:;
+#X obj 8 236 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 235 Arguments:;
+#X obj 7 76 cnv 15 430 150 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X obj 450 148 cnv 15 160 80 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 71 31 Class: pix object;
+#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 451 113 pd image;
+#X text 63 246 <none>;
+#X text 56 368 Outlet 1: gemlist;
+#X text 23 292 Inlet 1: gemlist;
+#X obj 451 233 pix_draw;
+#X text 516 105 open an image;
+#X text 509 118 (JPEG \, TIFF \, ..);
+#X obj 451 206 pix_gain;
+#X text 50 12 Synopsis: [pix_gain];
+#X text 29 76 Description: multiply pixel-values;
+#X floatatom 476 151 5 0 0 1 common - -;
+#X msg 527 179 1 0.5 0;
+#X msg 528 201 0 0.4 0.8 1;
+#X text 10 93 pix_gain applies a gain multipler to each pixel in a
+pix. The float is a constant modifier applied to all color components.
+If you use just R G B \, it asumes an alpha of 1.0.;
+#X text 13 152 NOTE: while you can use this \, remember that you can
+often acchieve the very same thing using the [color]-object for coloring
+the Geo onto which the image data is textured \, which could be done
+on the gfx-card (very efficient!) \, while [pix_gain] is always(!)
+done on the CPU!!!;
+#X text 23 305 Inlet 1: <float>: multiplyer for all channels;
+#X text 23 321 Inlet 2: list: 3 (RGB) or 4 (RGBA) values as multiplyers
+for each channels;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 17 0;
+#X connect 16 0 17 1;
+#X connect 17 0 24 0;
+#X connect 24 0 21 0;
+#X connect 27 0 24 1;
+#X connect 28 0 24 2;
+#X connect 29 0 24 2;
diff --git a/packages/noncvs/windows/extra/Gem/pix_grey-help.pd b/packages/noncvs/windows/extra/Gem/pix_grey-help.pd
index 12db114f..f2c7d278 100644
--- a/packages/noncvs/windows/extra/Gem/pix_grey-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_grey-help.pd
@@ -1,90 +1,90 @@
-#N canvas 637 82 654 432 10;
-#X text 452 8 GEM object;
-#X obj 8 245 cnv 15 430 80 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 248 Inlets:;
-#X text 38 295 Outlets:;
-#X obj 8 206 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 205 Arguments:;
-#X obj 7 76 cnv 15 430 125 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 destroy;
-#X text 515 253 Create window:;
-#X obj 450 158 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 71 31 Class: pix object;
-#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 22 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 451 113 pd image;
-#X text 63 216 <none>;
-#X text 56 308 Outlet 1: gemlist;
-#X text 63 262 Inlet 1: gemlist;
-#X obj 451 233 pix_draw;
-#X text 516 105 open an image;
-#X text 509 118 (JPEG \, TIFF \, ..);
-#X text 50 12 Synopsis: [pix_grey];
-#X text 15 77 Description: convert the colorspace of an image to GREY
-;
-#X text 22 93 Images can be stored in various formats/color-spaces.
-;
-#X text 22 112 While YUV gives you coloured-images and RGBA even adds
-an alpha-channel \, GREY is very handy if you don't care for colour
-and need to save have memory/CPU-power.;
-#X text 22 157 You can use [pix_grey] to convert images of any format
-into GREY-space. If your image already is in GREY-space \, this will
-do nothing.;
-#X obj 451 196 pix_grey;
-#X obj 468 166 tgl 15 1 empty empty empty 0 -6 0 8 -262144 -1 -1 1
-1;
-#X text 63 275 Inlet 1: 1|0: turn conversion on/off;
-#X text 62 339 see also:;
-#X obj 155 338 pix_yuv;
-#X obj 248 338 pix_rgba;
-#X obj 24 390 pix_2grey;
-#X text 97 384 produces similar ("grey") results \, but does NO colourspace-conversion!!
-;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 17 0;
-#X connect 16 0 17 1;
-#X connect 17 0 29 0;
-#X connect 29 0 21 0;
-#X connect 30 0 29 0;
+#N canvas 637 82 654 432 10;
+#X text 452 8 GEM object;
+#X obj 8 245 cnv 15 430 80 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 248 Inlets:;
+#X text 38 295 Outlets:;
+#X obj 8 206 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 205 Arguments:;
+#X obj 7 76 cnv 15 430 125 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 destroy;
+#X text 515 253 Create window:;
+#X obj 450 158 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 71 31 Class: pix object;
+#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 22 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 451 113 pd image;
+#X text 63 216 <none>;
+#X text 56 308 Outlet 1: gemlist;
+#X text 63 262 Inlet 1: gemlist;
+#X obj 451 233 pix_draw;
+#X text 516 105 open an image;
+#X text 509 118 (JPEG \, TIFF \, ..);
+#X text 50 12 Synopsis: [pix_grey];
+#X text 15 77 Description: convert the colorspace of an image to GREY
+;
+#X text 22 93 Images can be stored in various formats/color-spaces.
+;
+#X text 22 112 While YUV gives you coloured-images and RGBA even adds
+an alpha-channel \, GREY is very handy if you don't care for colour
+and need to save have memory/CPU-power.;
+#X text 22 157 You can use [pix_grey] to convert images of any format
+into GREY-space. If your image already is in GREY-space \, this will
+do nothing.;
+#X obj 451 196 pix_grey;
+#X obj 468 166 tgl 15 1 empty empty empty 0 -6 0 8 -262144 -1 -1 1
+1;
+#X text 63 275 Inlet 1: 1|0: turn conversion on/off;
+#X text 62 339 see also:;
+#X obj 155 338 pix_yuv;
+#X obj 248 338 pix_rgba;
+#X obj 24 390 pix_2grey;
+#X text 97 384 produces similar ("grey") results \, but does NO colourspace-conversion!!
+;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 17 0;
+#X connect 16 0 17 1;
+#X connect 17 0 29 0;
+#X connect 29 0 21 0;
+#X connect 30 0 29 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_halftone-help.pd b/packages/noncvs/windows/extra/Gem/pix_halftone-help.pd
index 4f978501..db4bf7bf 100644
--- a/packages/noncvs/windows/extra/Gem/pix_halftone-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_halftone-help.pd
@@ -1,98 +1,98 @@
-#N canvas 318 0 654 480 10;
-#X text 452 8 GEM object;
-#X obj 8 245 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 248 Inlets:;
-#X text 38 335 Outlets:;
-#X obj 8 206 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 205 Arguments:;
-#X obj 7 76 cnv 15 430 125 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 261 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 300 pd gemwin;
-#X msg 519 281 create;
-#X text 515 260 Create window:;
-#X obj 450 133 cnv 15 160 100 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 451 113 pd image;
-#X text 63 216 <none>;
-#X text 56 348 Outlet 1: gemlist;
-#X text 63 262 Inlet 1: gemlist;
-#X text 516 105 open an image;
-#X text 509 118 (JPEG \, TIFF \, ..);
-#X text 50 13 Synopsis: [pix_halftone];
-#X text 71 31 Class: pix object (fx);
-#X obj 451 206 pix_halftone;
-#X obj 451 237 pix_texture;
-#X obj 451 261 square 3;
-#X floatatom 467 150 5 1 32 2 size - -;
-#X floatatom 515 150 5 0 0 2 angle - -;
-#X floatatom 560 150 5 0 1 2 smooth - -;
-#X obj 536 187 hradio 15 1 0 5 empty empty style 40 -6 0 8 -262144
--1 -1 0;
-#X msg 539 205 style \$1;
-#X text 29 76 Description: make halftone-patterns;
-#X text 19 97 [pix_halftone] draws the input using the patterns of
-dots or diamonds that are found in newspaper photographs.;
-#X text 20 132 You can set the type of pattern \, the size and orientation
-of the patterns and how blurry they are on-screen.;
-#X text 63 275 Inlet 1: message: style [0|1|2|3|4]:: select a style
-;
-#X text 62 291 Inlet 2: float: pattern-size (1..32. default 8);
-#X text 62 306 Inlet 3: float: orientation in degree (0..360);
-#X text 62 321 Inlet 4: float: smoothness (0..1. default 0.5);
-#X text 55 379 Styles: 0...round dots;
-#X text 111 392 1...line dots;
-#X text 111 405 2...diamond dots;
-#X text 111 418 3...'euclidean' dots;
-#X text 111 431 4...postscript diamond dots;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 16 0;
-#X connect 15 0 16 1;
-#X connect 16 0 24 0;
-#X connect 24 0 25 0;
-#X connect 25 0 26 0;
-#X connect 27 0 24 1;
-#X connect 28 0 24 2;
-#X connect 29 0 24 3;
-#X connect 30 0 31 0;
-#X connect 31 0 24 0;
+#N canvas 318 0 654 480 10;
+#X text 452 8 GEM object;
+#X obj 8 245 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 248 Inlets:;
+#X text 38 335 Outlets:;
+#X obj 8 206 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 205 Arguments:;
+#X obj 7 76 cnv 15 430 125 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 261 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 300 pd gemwin;
+#X msg 519 281 create;
+#X text 515 260 Create window:;
+#X obj 450 133 cnv 15 160 100 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 451 113 pd image;
+#X text 63 216 <none>;
+#X text 56 348 Outlet 1: gemlist;
+#X text 63 262 Inlet 1: gemlist;
+#X text 516 105 open an image;
+#X text 509 118 (JPEG \, TIFF \, ..);
+#X text 50 13 Synopsis: [pix_halftone];
+#X text 71 31 Class: pix object (fx);
+#X obj 451 206 pix_halftone;
+#X obj 451 237 pix_texture;
+#X obj 451 261 square 3;
+#X floatatom 467 150 5 1 32 2 size - -;
+#X floatatom 515 150 5 0 0 2 angle - -;
+#X floatatom 560 150 5 0 1 2 smooth - -;
+#X obj 536 187 hradio 15 1 0 5 empty empty style 40 -6 0 8 -262144
+-1 -1 0;
+#X msg 539 205 style \$1;
+#X text 29 76 Description: make halftone-patterns;
+#X text 19 97 [pix_halftone] draws the input using the patterns of
+dots or diamonds that are found in newspaper photographs.;
+#X text 20 132 You can set the type of pattern \, the size and orientation
+of the patterns and how blurry they are on-screen.;
+#X text 63 275 Inlet 1: message: style [0|1|2|3|4]:: select a style
+;
+#X text 62 291 Inlet 2: float: pattern-size (1..32. default 8);
+#X text 62 306 Inlet 3: float: orientation in degree (0..360);
+#X text 62 321 Inlet 4: float: smoothness (0..1. default 0.5);
+#X text 55 379 Styles: 0...round dots;
+#X text 111 392 1...line dots;
+#X text 111 405 2...diamond dots;
+#X text 111 418 3...'euclidean' dots;
+#X text 111 431 4...postscript diamond dots;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 16 0;
+#X connect 15 0 16 1;
+#X connect 16 0 24 0;
+#X connect 24 0 25 0;
+#X connect 25 0 26 0;
+#X connect 27 0 24 1;
+#X connect 28 0 24 2;
+#X connect 29 0 24 3;
+#X connect 30 0 31 0;
+#X connect 31 0 24 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_histo-help.pd b/packages/noncvs/windows/extra/Gem/pix_histo-help.pd
index 69fab826..c0d1a85c 100644
--- a/packages/noncvs/windows/extra/Gem/pix_histo-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_histo-help.pd
@@ -1,104 +1,104 @@
-#N canvas 230 118 660 604 10;
-#X text 452 8 GEM object;
-#X obj 8 405 cnv 15 430 130 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 408 Inlets:;
-#X text 38 505 Outlets:;
-#X obj 8 336 cnv 15 430 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 335 Arguments:;
-#X obj 7 76 cnv 15 430 250 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X obj 450 132 cnv 15 160 90 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 71 31 Class: pix object;
-#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 451 113 pd image;
-#X text 56 518 Outlet 1: gemlist;
-#X text 63 422 Inlet 1: gemlist;
-#X text 50 12 Synopsis: [pix_color];
-#X obj 451 233 pix_draw;
-#X text 516 105 open an image;
-#X text 509 118 (JPEG \, TIFF \, ..);
-#X text 20 101 [pix_histo] will get the histogramm (density function)
-of an image.;
-#X text 21 140 The histogramm will be stored in tables. If you specify
-(via creation-arguments or via the "set"-command) only one table \,
-a histogramm of the greyscaled-image will be made. If you provide 3
-tables \, the Alpha channel will be ignored.;
-#X text 21 200 The length of the used table does not matter. The first
-element of the table will always hold the density of the "0"(min) value
-\, the last element will hold the density of the "255"(max) value.
-;
-#X text 23 259 The histogramm will be scaled \, so that all densities
-sum up to 1.0f;
-#X text 29 75 Description: excerpt histograms of an image;
-#X obj 158 543 table tab-1;
-#X obj 242 544 table tab-2;
-#X obj 325 545 table tab-3;
-#X msg 461 156 set tab-1 tab-2 tab-3;
-#N canvas 0 0 450 300 graph6 0;
-#X array tab-0 100 float 0;
-#X coords 0 1 99 -1 200 140 1;
-#X restore 445 333 graph;
-#X obj 451 196 pix_histo tab-0;
-#X msg 459 135 set tab-0;
-#X msg 457 177 set tab-1 tab-2 tab-3 tab-0;
-#X text 63 346 1 arg:: <tablename> to store grey-histogram;
-#X text 62 363 3 args: <tablename>s to store RGB-histograms;
-#X text 62 378 4 args: <tablename>s to store RGBA-histograms;
-#X text 63 435 Inlet 1: set <table> : table to store grey-histogram
-;
-#X text 63 449 Inlet 1: set <table1><table2><table3> : tables to store
-RGB-histograms;
-#X text 63 474 Inlet 1: set <table1><table2><table3><table4> : tables
-to store RGBA-histograms;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 17 0;
-#X connect 16 0 17 1;
-#X connect 17 0 34 0;
-#X connect 32 0 34 0;
-#X connect 34 0 21 0;
-#X connect 35 0 34 0;
-#X connect 36 0 34 0;
+#N canvas 230 118 660 604 10;
+#X text 452 8 GEM object;
+#X obj 8 405 cnv 15 430 130 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 408 Inlets:;
+#X text 38 505 Outlets:;
+#X obj 8 336 cnv 15 430 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 335 Arguments:;
+#X obj 7 76 cnv 15 430 250 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X obj 450 132 cnv 15 160 90 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 71 31 Class: pix object;
+#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 451 113 pd image;
+#X text 56 518 Outlet 1: gemlist;
+#X text 63 422 Inlet 1: gemlist;
+#X text 50 12 Synopsis: [pix_color];
+#X obj 451 233 pix_draw;
+#X text 516 105 open an image;
+#X text 509 118 (JPEG \, TIFF \, ..);
+#X text 20 101 [pix_histo] will get the histogram (density function)
+of an image.;
+#X text 21 140 The histogram will be stored in tables. If you specify
+(via creation-arguments or via the "set"-command) only one table \,
+a histogram of the greyscaled-image will be made. If you provide 3
+tables \, the Alpha channel will be ignored.;
+#X text 21 200 The length of the used table does not matter. The first
+element of the table will always hold the density of the "0"(min) value
+\, the last element will hold the density of the "255"(max) value.
+;
+#X text 23 259 The histogram will be scaled \, so that all densities
+sum up to 1.0f;
+#X text 29 75 Description: excerpt histograms of an image;
+#X obj 158 543 table tab-1;
+#X obj 242 544 table tab-2;
+#X obj 325 545 table tab-3;
+#X msg 461 156 set tab-1 tab-2 tab-3;
+#N canvas 0 0 450 300 graph6 0;
+#X array tab-0 100 float 0;
+#X coords 0 1 99 -1 200 140 1;
+#X restore 445 333 graph;
+#X obj 451 196 pix_histo tab-0;
+#X msg 459 135 set tab-0;
+#X msg 457 177 set tab-1 tab-2 tab-3 tab-0;
+#X text 63 346 1 arg:: <tablename> to store grey-histogram;
+#X text 62 363 3 args: <tablename>s to store RGB-histograms;
+#X text 62 378 4 args: <tablename>s to store RGBA-histograms;
+#X text 63 435 Inlet 1: set <table> : table to store grey-histogram
+;
+#X text 63 449 Inlet 1: set <table1><table2><table3> : tables to store
+RGB-histograms;
+#X text 63 474 Inlet 1: set <table1><table2><table3><table4> : tables
+to store RGBA-histograms;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 17 0;
+#X connect 16 0 17 1;
+#X connect 17 0 34 0;
+#X connect 32 0 34 0;
+#X connect 34 0 21 0;
+#X connect 35 0 34 0;
+#X connect 36 0 34 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_hsv2rgb-help.pd b/packages/noncvs/windows/extra/Gem/pix_hsv2rgb-help.pd
index b0d3c974..e8735f97 100644
--- a/packages/noncvs/windows/extra/Gem/pix_hsv2rgb-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_hsv2rgb-help.pd
@@ -1,82 +1,82 @@
-#N canvas 0 0 654 413 10;
-#X text 452 8 GEM object;
-#X obj 8 245 cnv 15 430 80 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 248 Inlets:;
-#X text 38 295 Outlets:;
-#X obj 8 206 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 205 Arguments:;
-#X obj 7 76 cnv 15 430 125 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X obj 450 158 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 71 31 Class: pix object;
-#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 451 113 pd image;
-#X text 63 216 <none>;
-#X text 56 308 Outlet 1: gemlist;
-#X text 63 262 Inlet 1: gemlist;
-#X obj 451 233 pix_draw;
-#X text 516 105 open an image;
-#X text 509 118 (JPEG \, TIFF \, ..);
-#X obj 451 186 pix_hsv2rgb;
-#X obj 468 165 tgl 15 1 empty empty empty 0 -6 0 8 -262144 -1 -1 1
-1;
-#X text 63 275 Inlet 1: 0|1 : apply/don't apply;
-#X text 50 12 Synopsis: [pix_hsv2rgb];
-#X text 29 76 Description: convert HSV into RGB;
-#X text 25 104 [pix_hsv2rgb] will (virtually) transform an HSV(hue
-\, saturation \, value)images into RGB(red \, green \, blue) color-space.
-;
-#X text 24 156 On the technical (internal) side \, the image is always
-RGBA. The Red-channel is interpreted as Hue-values....;
-#X text 94 340 see also:;
-#X obj 187 338 pix_rgb2hsv;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 17 0;
-#X connect 16 0 17 1;
-#X connect 17 0 24 0;
-#X connect 24 0 21 0;
-#X connect 25 0 24 0;
+#N canvas 0 0 654 413 10;
+#X text 452 8 GEM object;
+#X obj 8 245 cnv 15 430 80 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 248 Inlets:;
+#X text 38 295 Outlets:;
+#X obj 8 206 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 205 Arguments:;
+#X obj 7 76 cnv 15 430 125 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X obj 450 158 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 71 31 Class: pix object;
+#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 451 113 pd image;
+#X text 63 216 <none>;
+#X text 56 308 Outlet 1: gemlist;
+#X text 63 262 Inlet 1: gemlist;
+#X obj 451 233 pix_draw;
+#X text 516 105 open an image;
+#X text 509 118 (JPEG \, TIFF \, ..);
+#X obj 451 186 pix_hsv2rgb;
+#X obj 468 165 tgl 15 1 empty empty empty 0 -6 0 8 -262144 -1 -1 1
+1;
+#X text 63 275 Inlet 1: 0|1 : apply/don't apply;
+#X text 50 12 Synopsis: [pix_hsv2rgb];
+#X text 29 76 Description: convert HSV into RGB;
+#X text 25 104 [pix_hsv2rgb] will (virtually) transform an HSV(hue
+\, saturation \, value)images into RGB(red \, green \, blue) color-space.
+;
+#X text 24 156 On the technical (internal) side \, the image is always
+RGBA. The Red-channel is interpreted as Hue-values....;
+#X text 94 340 see also:;
+#X obj 187 338 pix_rgb2hsv;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 17 0;
+#X connect 16 0 17 1;
+#X connect 17 0 24 0;
+#X connect 24 0 21 0;
+#X connect 25 0 24 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_image-help.pd b/packages/noncvs/windows/extra/Gem/pix_image-help.pd
index bd267ad8..1cb101b2 100644
--- a/packages/noncvs/windows/extra/Gem/pix_image-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_image-help.pd
@@ -1,96 +1,96 @@
-#N canvas 265 101 654 413 10;
-#X text 452 8 GEM object;
-#X obj 8 295 cnv 15 430 90 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 298 Inlets:;
-#X text 38 355 Outlets:;
-#X obj 8 256 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 255 Arguments:;
-#X obj 7 76 cnv 15 430 175 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X obj 450 158 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 56 368 Outlet 1: gemlist;
-#X text 63 312 Inlet 1: gemlist;
-#X obj 451 233 pix_draw;
-#X obj 451 196 pix_image;
-#X obj 467 116 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#N canvas 0 0 450 300 openpanel 0;
-#X obj 114 62 inlet;
-#X obj 121 254 outlet;
-#X obj 114 125 openpanel;
-#X msg 114 162 set open \$1;
-#X obj 114 199 t b a;
-#X connect 0 0 2 0;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 4 0 1 0;
-#X connect 4 1 1 0;
-#X restore 467 137 pd openpanel;
-#X msg 467 165 open somefile.jpg;
-#X text 63 325 Inlet 1: open <filename>;
-#X text 29 76 Description: loads in an image file;
-#X text 50 12 Synopsis: [pix_image];
-#X text 71 31 Class: pix source;
-#X text 16 93 [pix_image] loads in an image to be used a texture \,
-bitblit \, or something else. If you don't give it a default image
-file \, you can send the open message with a filename.;
-#X text 63 266 <filename>;
-#X text 15 202 The image can be either drawn directly using [pix_draw]
-(VERY slow) or applied as a texture onto a Geo ([pix_texture]);
-#X text 63 338 Inlet 1: thread <1|0>;
-#X text 237 339 see;
-#N canvas 747 482 552 300 threaded 0;
-#X text 53 58 on some systems (namely: linux) \, [pix_image] will usually
-be compiled with threaded image-loading.;
-#X text 52 90 this will make loading of images more smooth \, as chances
-are low that it will block the entire Pd-process.;
-#X text 56 130 caveat: some users have reported problems when using
-large numbers of [pix_image]s (e.g. 300) which will create 300 helper-threads.
-this might eventually slow down your machine.;
-#X text 57 197 you can turn off thread-loading by sending a [thread
-0( message to [pix_image] _before_ loading an image.;
-#X restore 272 340 pd threaded loading;
-#X msg 521 196 thread \$1;
-#X obj 592 200 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X text 15 138 [pix_image] loads in TIFFs \, JPEGs and probably more
-(depending on your platform and how Gem was compiled);
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 18 0;
-#X connect 18 0 17 0;
-#X connect 19 0 20 0;
-#X connect 20 0 21 0;
-#X connect 21 0 18 0;
-#X connect 32 0 18 0;
-#X connect 33 0 32 0;
+#N canvas 265 101 654 413 10;
+#X text 452 8 GEM object;
+#X obj 8 295 cnv 15 430 90 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 298 Inlets:;
+#X text 38 355 Outlets:;
+#X obj 8 256 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 255 Arguments:;
+#X obj 7 76 cnv 15 430 175 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X obj 450 158 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 56 368 Outlet 1: gemlist;
+#X text 63 312 Inlet 1: gemlist;
+#X obj 451 233 pix_draw;
+#X obj 451 196 pix_image;
+#X obj 467 116 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#N canvas 0 0 450 300 openpanel 0;
+#X obj 114 62 inlet;
+#X obj 121 254 outlet;
+#X obj 114 125 openpanel;
+#X msg 114 162 set open \$1;
+#X obj 114 199 t b a;
+#X connect 0 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 4 0 1 0;
+#X connect 4 1 1 0;
+#X restore 467 137 pd openpanel;
+#X msg 467 165 open somefile.jpg;
+#X text 63 325 Inlet 1: open <filename>;
+#X text 29 76 Description: loads in an image file;
+#X text 50 12 Synopsis: [pix_image];
+#X text 71 31 Class: pix source;
+#X text 16 93 [pix_image] loads in an image to be used a texture \,
+bitblit \, or something else. If you don't give it a default image
+file \, you can send the open message with a filename.;
+#X text 63 266 <filename>;
+#X text 15 202 The image can be either drawn directly using [pix_draw]
+(VERY slow) or applied as a texture onto a Geo ([pix_texture]);
+#X text 63 338 Inlet 1: thread <1|0>;
+#X text 237 339 see;
+#N canvas 747 482 552 300 threaded 0;
+#X text 53 58 on some systems (namely: linux) \, [pix_image] will usually
+be compiled with threaded image-loading.;
+#X text 52 90 this will make loading of images more smooth \, as chances
+are low that it will block the entire Pd-process.;
+#X text 56 130 caveat: some users have reported problems when using
+large numbers of [pix_image]s (e.g. 300) which will create 300 helper-threads.
+this might eventually slow down your machine.;
+#X text 57 197 you can turn off thread-loading by sending a [thread
+0( message to [pix_image] _before_ loading an image.;
+#X restore 272 340 pd threaded loading;
+#X msg 521 196 thread \$1;
+#X obj 592 200 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X text 15 138 [pix_image] loads in TIFFs \, JPEGs and probably more
+(depending on your platform and how Gem was compiled);
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 18 0;
+#X connect 18 0 17 0;
+#X connect 19 0 20 0;
+#X connect 20 0 21 0;
+#X connect 21 0 18 0;
+#X connect 32 0 18 0;
+#X connect 33 0 32 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_imageInPlace-help.pd b/packages/noncvs/windows/extra/Gem/pix_imageInPlace-help.pd
index 74899982..c3ba3dc4 100644
--- a/packages/noncvs/windows/extra/Gem/pix_imageInPlace-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_imageInPlace-help.pd
@@ -1,83 +1,83 @@
-#N canvas 0 0 706 507 10;
-#X text 452 8 GEM object;
-#X obj 8 335 cnv 15 430 160 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 341 Inlets:;
-#X text 38 465 Outlets:;
-#X obj 8 300 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 299 Arguments:;
-#X obj 7 76 cnv 15 430 220 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X obj 450 128 cnv 15 160 120 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 16 478 Outlet 1: gemlist;
-#X text 23 355 Inlet 1: gemlist;
-#X text 71 31 Class: pix source;
-#X obj 451 256 square;
-#X floatatom 544 203 3 0 5 0 image# - -;
-#X text 29 76 Description: loads in multiple image files;
-#X text 63 311 <filename> (with wildcard *) for images to load;
-#X text 23 448 Inlet 2: <int> : select image (starting at 0);
-#X obj 451 226 pix_imageInPlace;
-#X text 456 376 see also:;
-#X obj 522 376 pix_multiimage;
-#X text 25 158 This is potentially slow if you are trying to change
-between a lot of images \, but it doesn't use a lot of texture ram.
-;
-#X text 25 199 [pix_imageInPlace] sends all of the image data to texture
-RAM when the preload message is received. This means that you cannot
-process any of the pixel data \, but it is extremely quick to change
-between the various images.;
-#X text 20 257 Additionally \, you do not need a [pix_texture] object.
-;
-#X text 34 277 [pix_imageInPlace] loads TIFF \, JPEG and PNG images.
-;
-#X text 50 12 Synopsis: [pix_imageInPlace];
-#X msg 474 161 download;
-#X msg 475 188 purge;
-#X msg 460 135 preload myFiles*.tif 5;
-#X text 23 368 Inlet 1: preload <filename> <#> : open images (the wildcard
-in the filename is expanded with integer 0..#);
-#X text 23 397 Inlet 1: download : load the "preload"ed images into
-texture-RAM;
-#X text 24 427 Inlet 1: purge: delete images from texture-RAM;
-#X text 24 100 [pix_imageInPlace] is slightly different than [pix_multiimage].
-When you select an image to display with [pix_multiimage] \, it copies
-over the image data to the pix-buffer \, which is then used by [pix_texture].
-;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 23 0;
-#X connect 19 0 23 1;
-#X connect 23 0 18 0;
-#X connect 31 0 23 0;
-#X connect 32 0 23 0;
-#X connect 33 0 23 0;
+#N canvas 0 0 706 507 10;
+#X text 452 8 GEM object;
+#X obj 8 335 cnv 15 430 160 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 341 Inlets:;
+#X text 38 465 Outlets:;
+#X obj 8 300 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 299 Arguments:;
+#X obj 7 76 cnv 15 430 220 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X obj 450 128 cnv 15 160 120 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 16 478 Outlet 1: gemlist;
+#X text 23 355 Inlet 1: gemlist;
+#X text 71 31 Class: pix source;
+#X obj 451 256 square;
+#X floatatom 544 203 3 0 5 0 image# - -;
+#X text 29 76 Description: loads in multiple image files;
+#X text 63 311 <filename> (with wildcard *) for images to load;
+#X text 23 448 Inlet 2: <int> : select image (starting at 0);
+#X obj 451 226 pix_imageInPlace;
+#X text 456 376 see also:;
+#X obj 522 376 pix_multiimage;
+#X text 25 158 This is potentially slow if you are trying to change
+between a lot of images \, but it doesn't use a lot of texture ram.
+;
+#X text 25 199 [pix_imageInPlace] sends all of the image data to texture
+RAM when the preload message is received. This means that you cannot
+process any of the pixel data \, but it is extremely quick to change
+between the various images.;
+#X text 20 257 Additionally \, you do not need a [pix_texture] object.
+;
+#X text 34 277 [pix_imageInPlace] loads TIFF \, JPEG and PNG images.
+;
+#X text 50 12 Synopsis: [pix_imageInPlace];
+#X msg 474 161 download;
+#X msg 475 188 purge;
+#X msg 460 135 preload myFiles*.tif 5;
+#X text 23 368 Inlet 1: preload <filename> <#> : open images (the wildcard
+in the filename is expanded with integer 0..#);
+#X text 23 397 Inlet 1: download : load the "preload"ed images into
+texture-RAM;
+#X text 24 427 Inlet 1: purge: delete images from texture-RAM;
+#X text 24 100 [pix_imageInPlace] is slightly different than [pix_multiimage].
+When you select an image to display with [pix_multiimage] \, it copies
+over the image data to the pix-buffer \, which is then used by [pix_texture].
+;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 23 0;
+#X connect 19 0 23 1;
+#X connect 23 0 18 0;
+#X connect 31 0 23 0;
+#X connect 32 0 23 0;
+#X connect 33 0 23 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_indycam-help.pd b/packages/noncvs/windows/extra/Gem/pix_indycam-help.pd
index 79ec54c4..ffad43b5 100644
--- a/packages/noncvs/windows/extra/Gem/pix_indycam-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_indycam-help.pd
@@ -1,21 +1,21 @@
-#N canvas 69 65 686 503 10;
-#X msg 122 72 gemList;
-#X msg 122 213 gemList;
-#X text 83 44 get a video signal;
-#X text 36 320 There are a group of messages that can be used to control
-the camera (especially to create an image with dimensions a power of
-2!);
-#X text 45 373 dimen x y : set the x y dimensions in pixels;
-#X text 45 393 zoom x y : set the zoom factor (1.0 is nominal);
-#X text 46 417 bright value : set the brightnes factor;
-#X text 47 441 contrast value : set the contrast factor;
-#X text 47 459 hue value : set the hue factor;
-#X text 47 478 sat value : set the saturation;
-#X obj 122 166 pix_indycam;
-#X text 121 26 [pix_indycam];
-#X text 45 240 [pix_indycam] creates pixes from a SGI video camera.
-;
-#X text 41 264 [pix_indycam] obviously only works with SGI video workstations.
-The name inidicates that it likes SGI-indy's the most.;
-#X connect 0 0 10 0;
-#X connect 10 0 1 0;
+#N canvas 69 65 686 503 10;
+#X msg 122 72 gemList;
+#X msg 122 213 gemList;
+#X text 83 44 get a video signal;
+#X text 36 320 There are a group of messages that can be used to control
+the camera (especially to create an image with dimensions a power of
+2!);
+#X text 45 373 dimen x y : set the x y dimensions in pixels;
+#X text 45 393 zoom x y : set the zoom factor (1.0 is nominal);
+#X text 46 417 bright value : set the brightnes factor;
+#X text 47 441 contrast value : set the contrast factor;
+#X text 47 459 hue value : set the hue factor;
+#X text 47 478 sat value : set the saturation;
+#X obj 122 166 pix_indycam;
+#X text 121 26 [pix_indycam];
+#X text 45 240 [pix_indycam] creates pixes from a SGI video camera.
+;
+#X text 41 264 [pix_indycam] obviously only works with SGI video workstations.
+The name inidicates that it likes SGI-indy's the most.;
+#X connect 0 0 10 0;
+#X connect 10 0 1 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_info-help.pd b/packages/noncvs/windows/extra/Gem/pix_info-help.pd
index b28cff11..50187ac3 100644
--- a/packages/noncvs/windows/extra/Gem/pix_info-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_info-help.pd
@@ -1,97 +1,97 @@
-#N canvas 1474 88 651 488 10;
-#X text 452 8 GEM object;
-#X obj 8 236 cnv 15 430 160 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 238 Inlets:;
-#X text 39 270 Outlets:;
-#X obj 8 196 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 195 Arguments:;
-#X obj 8 66 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 280 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 290 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 329 pd gemwin;
-#X msg 519 310 create;
-#X text 515 289 Create window:;
-#X obj 451 158 cnv 15 160 100 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 71 31 Class: pix object;
-#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 451 113 pd image;
-#X obj 451 263 pix_texture;
-#X text 63 206 <none>;
-#X text 57 283 Outlet 1: gemlist;
-#X text 63 252 Inlet 1: gemlist;
-#X obj 451 285 square 3;
-#X text 516 105 open an image;
-#X text 509 118 (JPEG \, TIFF \, ..);
-#X floatatom 461 240 4 0 0 1 width - -;
-#X floatatom 471 222 4 0 0 1 height - -;
-#X floatatom 481 204 4 0 0 1 bytes/pixel - -;
-#X floatatom 491 187 5 0 0 1 coulorspace - -;
-#X text 57 297 Outlet 2: int: image-width;
-#X text 57 310 Outlet 3: int: image-height;
-#X text 57 323 Outlet 4: int: bytes per pixel;
-#X text 57 336 Outlet 5: int: colour-space (openGL-constant);
-#X text 50 12 Synopsis: [pix_info];
-#X text 29 67 Description: get information about the current image
-;
-#X text 14 81 [pix_info] will give you some meta-information about
-the image data consisting of the image-dimensions \, the pixel-size
-\, the colour-space and the pointer to the image-data itself.;
-#X text 14 134 The colour-space is given as an openGL-int-constant.
-(6408=GL_RGBA (rgba) \, 6409=GL_LUMINANCE (grey) \, 34233 might be
-YUV (not standardized);
-#X text 13 171 You might not be able to do anything with the data-pointer.
-;
-#X obj 451 166 pix_info . . . .;
-#X text 57 380 Outlet 8: pointer: image-data;
-#X text 57 349 Outlet 6: list: <type> <upsidedown> <notowed>;
-#X text 57 366 Outlet 7: list: <newimage> <newfilm>;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 17 0;
-#X connect 16 0 17 1;
-#X connect 17 0 38 0;
-#X connect 18 0 22 0;
-#X connect 38 0 18 0;
-#X connect 38 1 25 0;
-#X connect 38 2 26 0;
-#X connect 38 3 27 0;
-#X connect 38 4 28 0;
+#N canvas 1474 88 651 488 10;
+#X text 452 8 GEM object;
+#X obj 8 236 cnv 15 430 160 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 238 Inlets:;
+#X text 39 270 Outlets:;
+#X obj 8 196 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 195 Arguments:;
+#X obj 8 66 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 280 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 290 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 329 pd gemwin;
+#X msg 519 310 create;
+#X text 515 289 Create window:;
+#X obj 451 158 cnv 15 160 100 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 71 31 Class: pix object;
+#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 451 113 pd image;
+#X obj 451 263 pix_texture;
+#X text 63 206 <none>;
+#X text 57 283 Outlet 1: gemlist;
+#X text 63 252 Inlet 1: gemlist;
+#X obj 451 285 square 3;
+#X text 516 105 open an image;
+#X text 509 118 (JPEG \, TIFF \, ..);
+#X floatatom 461 240 4 0 0 1 width - -;
+#X floatatom 471 222 4 0 0 1 height - -;
+#X floatatom 481 204 4 0 0 1 bytes/pixel - -;
+#X floatatom 491 187 5 0 0 1 coulorspace - -;
+#X text 57 297 Outlet 2: int: image-width;
+#X text 57 310 Outlet 3: int: image-height;
+#X text 57 323 Outlet 4: int: bytes per pixel;
+#X text 57 336 Outlet 5: int: colour-space (openGL-constant);
+#X text 50 12 Synopsis: [pix_info];
+#X text 29 67 Description: get information about the current image
+;
+#X text 14 81 [pix_info] will give you some meta-information about
+the image data consisting of the image-dimensions \, the pixel-size
+\, the colour-space and the pointer to the image-data itself.;
+#X text 14 134 The colour-space is given as an openGL-int-constant.
+(6408=GL_RGBA (rgba) \, 6409=GL_LUMINANCE (grey) \, 34233 might be
+YUV (not standardized);
+#X text 13 171 You might not be able to do anything with the data-pointer.
+;
+#X obj 451 166 pix_info . . . .;
+#X text 57 380 Outlet 8: pointer: image-data;
+#X text 57 349 Outlet 6: list: <type> <upsidedown> <notowed>;
+#X text 57 366 Outlet 7: list: <newimage> <newfilm>;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 17 0;
+#X connect 16 0 17 1;
+#X connect 17 0 38 0;
+#X connect 18 0 22 0;
+#X connect 38 0 18 0;
+#X connect 38 1 25 0;
+#X connect 38 2 26 0;
+#X connect 38 3 27 0;
+#X connect 38 4 28 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_invert-help.pd b/packages/noncvs/windows/extra/Gem/pix_invert-help.pd
index c681241e..161bc550 100644
--- a/packages/noncvs/windows/extra/Gem/pix_invert-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_invert-help.pd
@@ -1,77 +1,77 @@
-#N canvas 0 0 654 337 10;
-#X text 452 8 GEM object;
-#X obj 8 245 cnv 15 430 80 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 248 Inlets:;
-#X text 38 295 Outlets:;
-#X obj 8 206 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 205 Arguments:;
-#X obj 7 76 cnv 15 430 125 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X obj 450 158 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 71 31 Class: pix object;
-#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 451 113 pd image;
-#X text 63 216 <none>;
-#X text 56 308 Outlet 1: gemlist;
-#X text 63 262 Inlet 1: gemlist;
-#X obj 451 233 pix_draw;
-#X text 516 105 open an image;
-#X text 509 118 (JPEG \, TIFF \, ..);
-#X obj 468 165 tgl 15 1 empty empty empty 0 -6 0 8 -262144 -1 -1 1
-1;
-#X text 63 275 Inlet 1: 0|1 : apply/don't apply;
-#X obj 451 186 pix_invert;
-#X text 29 76 Description: invert an image;
-#X text 16 126 [pix_invert] will invert your image. Thus all black
-pixels will become white and vice-versa.;
-#X text 50 12 Synopsis: [pix_invert];
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 17 0;
-#X connect 16 0 17 1;
-#X connect 17 0 26 0;
-#X connect 24 0 26 0;
-#X connect 26 0 21 0;
+#N canvas 0 0 654 337 10;
+#X text 452 8 GEM object;
+#X obj 8 245 cnv 15 430 80 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 248 Inlets:;
+#X text 38 295 Outlets:;
+#X obj 8 206 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 205 Arguments:;
+#X obj 7 76 cnv 15 430 125 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X obj 450 158 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 71 31 Class: pix object;
+#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 451 113 pd image;
+#X text 63 216 <none>;
+#X text 56 308 Outlet 1: gemlist;
+#X text 63 262 Inlet 1: gemlist;
+#X obj 451 233 pix_draw;
+#X text 516 105 open an image;
+#X text 509 118 (JPEG \, TIFF \, ..);
+#X obj 468 165 tgl 15 1 empty empty empty 0 -6 0 8 -262144 -1 -1 1
+1;
+#X text 63 275 Inlet 1: 0|1 : apply/don't apply;
+#X obj 451 186 pix_invert;
+#X text 29 76 Description: invert an image;
+#X text 16 126 [pix_invert] will invert your image. Thus all black
+pixels will become white and vice-versa.;
+#X text 50 12 Synopsis: [pix_invert];
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 17 0;
+#X connect 16 0 17 1;
+#X connect 17 0 26 0;
+#X connect 24 0 26 0;
+#X connect 26 0 21 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_kaleidoscope-help.pd b/packages/noncvs/windows/extra/Gem/pix_kaleidoscope-help.pd
index 1f9a87f8..c1253e92 100644
--- a/packages/noncvs/windows/extra/Gem/pix_kaleidoscope-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_kaleidoscope-help.pd
@@ -1,138 +1,138 @@
-#N canvas 102 92 665 538 10;
-#X text 452 8 GEM object;
-#X obj 7 206 cnv 15 430 280 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 11 208 Inlets:;
-#X text 11 458 Outlets:;
-#X obj 8 166 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 168 Arguments:;
-#X obj 8 56 cnv 15 430 100 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 447 85 cnv 15 190 400 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 451 68 Example:;
-#X obj 531 420 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 536 459 pd gemwin;
-#X msg 536 440 create;
-#X text 532 419 Create window:;
-#X obj 456 146 cnv 15 175 215 empty empty empty 20 12 0 14 -106138
--66577 0;
-#X text 71 31 Class: pix object;
-#X text 63 179 <none>;
-#X text 29 471 Outlet 1: gemlist;
-#X text 22 226 Inlet 1: gemlist;
-#X text 50 12 Synopsis: [pix_kaleidoscope];
-#X text 28 56 Description: kaleidoscope effect;
-#X text 13 72 This effect is similar to a traditional kaleidoscope
-\, and allows you to reflect a part of the image multiple times around
-a centre point. You can set how many segments you want the image reflected
-as \, how the mirrors are rotated \, where the center of the output
-images is \, and what part of the source image is used as the source.
-;
-#X obj 446 364 cnv 15 120 25 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 449 92 gemhead;
-#X obj 508 93 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 181 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 449 121 pd image;
-#X obj 449 391 pix_texture;
-#X obj 449 413 square 3;
-#X floatatom 464 149 5 0 64 1 segments - -;
-#X floatatom 479 169 5 0 0 1 sourceAngle - -;
-#X text 514 113 open an image;
-#X text 507 126 (JPEG \, TIFF \, ..);
-#X obj 449 369 pix_kaleidoscope;
-#X floatatom 510 245 5 0 0 1 outputAngle - -;
-#X floatatom 556 341 5 0.1 10 1 sap - -;
-#X floatatom 540 325 5 0 1 1 rlp - -;
-#X obj 525 304 pack;
-#X obj 579 304 t b f;
-#X floatatom 525 265 4 0 100 0 - - -;
-#X floatatom 577 265 4 0 100 0 - - -;
-#X text 22 243 Inlet 2: float: number of segments (0..64 \, default:
-7);
-#X text 22 260 Inlet 3: float: rotation of the input-segment (in degree)
-;
-#X text 22 277 Inlet 4: list <x> <y>: normalized center-position of
-the of the segment of the input image. (0..1 \, default 0.5);
-#X text 22 307 Inlet 5: float: rotation of the output-segment (in degree)
-;
-#X text 22 325 Inlet 6: list <x> <y>: normalized center-position of
-the of the segments in the output image. (0..1 \, default 0.5);
-#X text 22 353 Inlet 7: float: reflection line proportion \, controls
-the relative sizes of each pair of adjacent segments in the output
-image (0..1 \, default 0.5);
-#X text 22 400 Inlet 8: float: source angle proportion \, sets the
-angular size of the source segment \, relative to the size of the output
-segment \; altering this value will squash or expand (0.1..10 \, default:
-1);
-#X obj 71 498 cnv 15 370 20 empty empty empty 20 12 0 14 -260818 -66577
-0;
-#X text 80 501 (ported from "pete's_plugins" \, www.petewarden.com)
-;
-#X obj 525 284 * 0.01;
-#X obj 577 284 * 0.01;
-#X obj 495 226 pack;
-#X obj 549 226 t b f;
-#X floatatom 495 187 4 0 100 0 - - -;
-#X floatatom 547 187 4 0 100 0 - - -;
-#X obj 495 206 * 0.01;
-#X obj 547 206 * 0.01;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 22 0 24 0;
-#X connect 23 0 24 1;
-#X connect 24 0 31 0;
-#X connect 25 0 26 0;
-#X connect 27 0 31 1;
-#X connect 28 0 31 2;
-#X connect 31 0 25 0;
-#X connect 32 0 31 4;
-#X connect 33 0 31 7;
-#X connect 34 0 31 6;
-#X connect 35 0 31 5;
-#X connect 36 0 35 0;
-#X connect 36 1 35 1;
-#X connect 37 0 48 0;
-#X connect 38 0 49 0;
-#X connect 48 0 35 0;
-#X connect 49 0 36 0;
-#X connect 50 0 31 3;
-#X connect 51 0 50 0;
-#X connect 51 1 50 1;
-#X connect 52 0 54 0;
-#X connect 53 0 55 0;
-#X connect 54 0 50 0;
-#X connect 55 0 51 0;
+#N canvas 102 92 665 538 10;
+#X text 452 8 GEM object;
+#X obj 7 206 cnv 15 430 280 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 11 208 Inlets:;
+#X text 11 458 Outlets:;
+#X obj 8 166 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 168 Arguments:;
+#X obj 8 56 cnv 15 430 100 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 447 85 cnv 15 190 400 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 451 68 Example:;
+#X obj 531 420 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 536 459 pd gemwin;
+#X msg 536 440 create;
+#X text 532 419 Create window:;
+#X obj 456 146 cnv 15 175 215 empty empty empty 20 12 0 14 -106138
+-66577 0;
+#X text 71 31 Class: pix object;
+#X text 63 179 <none>;
+#X text 29 471 Outlet 1: gemlist;
+#X text 22 226 Inlet 1: gemlist;
+#X text 50 12 Synopsis: [pix_kaleidoscope];
+#X text 28 56 Description: kaleidoscope effect;
+#X text 13 72 This effect is similar to a traditional kaleidoscope
+\, and allows you to reflect a part of the image multiple times around
+a centre point. You can set how many segments you want the image reflected
+as \, how the mirrors are rotated \, where the center of the output
+images is \, and what part of the source image is used as the source.
+;
+#X obj 446 364 cnv 15 120 25 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 449 92 gemhead;
+#X obj 508 93 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 181 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 449 121 pd image;
+#X obj 449 391 pix_texture;
+#X obj 449 413 square 3;
+#X floatatom 464 149 5 0 64 1 segments - -;
+#X floatatom 479 169 5 0 0 1 sourceAngle - -;
+#X text 514 113 open an image;
+#X text 507 126 (JPEG \, TIFF \, ..);
+#X obj 449 369 pix_kaleidoscope;
+#X floatatom 510 245 5 0 0 1 outputAngle - -;
+#X floatatom 556 341 5 0.1 10 1 sap - -;
+#X floatatom 540 325 5 0 1 1 rlp - -;
+#X obj 525 304 pack;
+#X obj 579 304 t b f;
+#X floatatom 525 265 4 0 100 0 - - -;
+#X floatatom 577 265 4 0 100 0 - - -;
+#X text 22 243 Inlet 2: float: number of segments (0..64 \, default:
+7);
+#X text 22 260 Inlet 3: float: rotation of the input-segment (in degree)
+;
+#X text 22 277 Inlet 4: list <x> <y>: normalized center-position of
+the of the segment of the input image. (0..1 \, default 0.5);
+#X text 22 307 Inlet 5: float: rotation of the output-segment (in degree)
+;
+#X text 22 325 Inlet 6: list <x> <y>: normalized center-position of
+the of the segments in the output image. (0..1 \, default 0.5);
+#X text 22 353 Inlet 7: float: reflection line proportion \, controls
+the relative sizes of each pair of adjacent segments in the output
+image (0..1 \, default 0.5);
+#X text 22 400 Inlet 8: float: source angle proportion \, sets the
+angular size of the source segment \, relative to the size of the output
+segment \; altering this value will squash or expand (0.1..10 \, default:
+1);
+#X obj 71 498 cnv 15 370 20 empty empty empty 20 12 0 14 -260818 -66577
+0;
+#X text 80 501 (ported from "pete's_plugins" \, www.petewarden.com)
+;
+#X obj 525 284 * 0.01;
+#X obj 577 284 * 0.01;
+#X obj 495 226 pack;
+#X obj 549 226 t b f;
+#X floatatom 495 187 4 0 100 0 - - -;
+#X floatatom 547 187 4 0 100 0 - - -;
+#X obj 495 206 * 0.01;
+#X obj 547 206 * 0.01;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 22 0 24 0;
+#X connect 23 0 24 1;
+#X connect 24 0 31 0;
+#X connect 25 0 26 0;
+#X connect 27 0 31 1;
+#X connect 28 0 31 2;
+#X connect 31 0 25 0;
+#X connect 32 0 31 4;
+#X connect 33 0 31 7;
+#X connect 34 0 31 6;
+#X connect 35 0 31 5;
+#X connect 36 0 35 0;
+#X connect 36 1 35 1;
+#X connect 37 0 48 0;
+#X connect 38 0 49 0;
+#X connect 48 0 35 0;
+#X connect 49 0 36 0;
+#X connect 50 0 31 3;
+#X connect 51 0 50 0;
+#X connect 51 1 50 1;
+#X connect 52 0 54 0;
+#X connect 53 0 55 0;
+#X connect 54 0 50 0;
+#X connect 55 0 51 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_levels-help.pd b/packages/noncvs/windows/extra/Gem/pix_levels-help.pd
index 5341281a..e0471982 100644
--- a/packages/noncvs/windows/extra/Gem/pix_levels-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_levels-help.pd
@@ -1,125 +1,125 @@
-#N canvas 537 22 651 547 10;
-#X text 452 8 GEM object;
-#X obj 8 216 cnv 15 430 300 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 218 Inlets:;
-#X text 33 484 Outlets:;
-#X obj 8 176 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 175 Arguments:;
-#X obj 8 76 cnv 15 430 90 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 300 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 314 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 353 pd gemwin;
-#X msg 519 334 destroy;
-#X text 515 313 Create window:;
-#X obj 450 138 cnv 15 160 150 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 71 31 Class: pix object;
-#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 22 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X obj 78 308 pix_buf;
-#X msg 112 281 auto 1;
-#X obj 112 261 loadbang;
-#X connect 0 0 2 0;
-#X connect 2 0 6 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X connect 6 0 1 0;
-#X connect 7 0 6 0;
-#X connect 8 0 7 0;
-#X restore 451 113 pd image;
-#X obj 451 293 pix_texture;
-#X text 63 186 <none>;
-#X text 51 497 Outlet 1: gemlist;
-#X text 33 232 Inlet 1: gemlist;
-#X obj 451 315 square 3;
-#X text 50 12 Synopsis: [pix_levels];
-#X floatatom 543 250 5 0 100 1 low - -;
-#X floatatom 543 268 5 0 100 1 high - -;
-#X msg 460 158 auto \$1;
-#X obj 460 140 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X obj 460 177 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X obj 520 140 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X msg 520 158 inv \$1;
-#X msg 461 225 0 1 0.5 0.6;
-#X obj 451 265 pix_levels;
-#X msg 546 216 0.5 0.6 0 1;
-#X msg 460 195 uni \$1;
-#X text 29 77 Description: level adjustment;
-#X text 33 274 Inlet 1: message: uni [1|0] (choose between uniform
-adjustment(1=default) or per-channel-adjustment (0));
-#X text 33 302 Inlet 1: message: inv [1|0] (allow inversion of level-correction
-to avoid instabilities. default:1);
-#X text 33 334 Inlet 2: list: inFloor inCeiling outFloor outCeiling
-(for uniform adjustment);
-#X text 33 388 Inlet 4: list: inFloor inCeiling outFloor outCeiling
-(for by-channel adjustment green);
-#X text 33 414 Inlet 5: list: inFloor inCeiling outFloor outCeiling
-(for by-channel adjustment blue);
-#X text 33 360 Inlet 3: list: inFloor inCeiling outFloor outCeiling
-(for by-channel adjustment red);
-#X text 32 446 Inlet 6: float: low percentile (in auto mode);
-#X text 32 460 Inlet 7: float: high percentile (in auto mode);
-#X text 12 91 [pix_levels] allows basic level adjustment in several
-different modes. You can choose to either make level-adjustment on
-a per-channel (RGB) basis or uniformly for all channels. You need to
-specify the lowest/highest values of both input and output. There is
-also an auto-mode available;
-#X text 33 247 Inlet 1: message: auto [1|0] (turns automatic level-correction
-on/off=default);
-#X msg 546 193 0 0.1 1 0.5;
-#X text 516 105 open an image;
-#X text 509 118 (JPEG \, TIFF \, ..);
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 17 0;
-#X connect 16 0 17 1;
-#X connect 17 0 32 0;
-#X connect 18 0 22 0;
-#X connect 24 0 32 5;
-#X connect 25 0 32 6;
-#X connect 26 0 32 0;
-#X connect 27 0 26 0;
-#X connect 28 0 34 0;
-#X connect 29 0 30 0;
-#X connect 30 0 32 0;
-#X connect 31 0 32 1;
-#X connect 32 0 18 0;
-#X connect 33 0 32 3;
-#X connect 34 0 32 0;
-#X connect 46 0 32 2;
+#N canvas 537 22 651 547 10;
+#X text 452 8 GEM object;
+#X obj 8 216 cnv 15 430 300 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 218 Inlets:;
+#X text 33 484 Outlets:;
+#X obj 8 176 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 175 Arguments:;
+#X obj 8 76 cnv 15 430 90 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 300 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 314 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 353 pd gemwin;
+#X msg 519 334 destroy;
+#X text 515 313 Create window:;
+#X obj 450 138 cnv 15 160 150 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 71 31 Class: pix object;
+#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 22 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X obj 78 308 pix_buf;
+#X msg 112 281 auto 1;
+#X obj 112 261 loadbang;
+#X connect 0 0 2 0;
+#X connect 2 0 6 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X connect 6 0 1 0;
+#X connect 7 0 6 0;
+#X connect 8 0 7 0;
+#X restore 451 113 pd image;
+#X obj 451 293 pix_texture;
+#X text 63 186 <none>;
+#X text 51 497 Outlet 1: gemlist;
+#X text 33 232 Inlet 1: gemlist;
+#X obj 451 315 square 3;
+#X text 50 12 Synopsis: [pix_levels];
+#X floatatom 543 250 5 0 100 1 low - -;
+#X floatatom 543 268 5 0 100 1 high - -;
+#X msg 460 158 auto \$1;
+#X obj 460 140 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 460 177 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 520 140 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X msg 520 158 inv \$1;
+#X msg 461 225 0 1 0.5 0.6;
+#X obj 451 265 pix_levels;
+#X msg 546 216 0.5 0.6 0 1;
+#X msg 460 195 uni \$1;
+#X text 29 77 Description: level adjustment;
+#X text 33 274 Inlet 1: message: uni [1|0] (choose between uniform
+adjustment(1=default) or per-channel-adjustment (0));
+#X text 33 302 Inlet 1: message: inv [1|0] (allow inversion of level-correction
+to avoid instabilities. default:1);
+#X text 33 334 Inlet 2: list: inFloor inCeiling outFloor outCeiling
+(for uniform adjustment);
+#X text 33 388 Inlet 4: list: inFloor inCeiling outFloor outCeiling
+(for by-channel adjustment green);
+#X text 33 414 Inlet 5: list: inFloor inCeiling outFloor outCeiling
+(for by-channel adjustment blue);
+#X text 33 360 Inlet 3: list: inFloor inCeiling outFloor outCeiling
+(for by-channel adjustment red);
+#X text 32 446 Inlet 6: float: low percentile (in auto mode);
+#X text 32 460 Inlet 7: float: high percentile (in auto mode);
+#X text 12 91 [pix_levels] allows basic level adjustment in several
+different modes. You can choose to either make level-adjustment on
+a per-channel (RGB) basis or uniformly for all channels. You need to
+specify the lowest/highest values of both input and output. There is
+also an auto-mode available;
+#X text 33 247 Inlet 1: message: auto [1|0] (turns automatic level-correction
+on/off=default);
+#X msg 546 193 0 0.1 1 0.5;
+#X text 516 105 open an image;
+#X text 509 118 (JPEG \, TIFF \, ..);
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 17 0;
+#X connect 16 0 17 1;
+#X connect 17 0 32 0;
+#X connect 18 0 22 0;
+#X connect 24 0 32 5;
+#X connect 25 0 32 6;
+#X connect 26 0 32 0;
+#X connect 27 0 26 0;
+#X connect 28 0 34 0;
+#X connect 29 0 30 0;
+#X connect 30 0 32 0;
+#X connect 31 0 32 1;
+#X connect 32 0 18 0;
+#X connect 33 0 32 3;
+#X connect 34 0 32 0;
+#X connect 46 0 32 2;
diff --git a/packages/noncvs/windows/extra/Gem/pix_lumaoffset-help.pd b/packages/noncvs/windows/extra/Gem/pix_lumaoffset-help.pd
index db0b4e45..c2fb5b3c 100644
--- a/packages/noncvs/windows/extra/Gem/pix_lumaoffset-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_lumaoffset-help.pd
@@ -1,98 +1,98 @@
-#N canvas 0 0 651 393 10;
-#X text 452 8 GEM object;
-#X obj 8 216 cnv 15 430 125 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 218 Inlets:;
-#X text 39 310 Outlets:;
-#X obj 8 176 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 175 Arguments:;
-#X obj 8 76 cnv 15 430 90 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X obj 451 138 cnv 15 160 90 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 71 31 Class: pix object;
-#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 451 113 pd image;
-#X obj 451 233 pix_texture;
-#X text 63 186 <none>;
-#X text 57 323 Outlet 1: gemlist;
-#X text 63 232 Inlet 1: gemlist;
-#X obj 451 255 square 3;
-#X obj 451 207 pix_lumaoffset;
-#X text 29 77 Description: offset pixels depending on the luminance
-;
-#X floatatom 497 152 5 0 0 2 offset - -;
-#X floatatom 544 152 5 0 0 2 gap - -;
-#X text 63 275 Inlet 2: float: offset-factor;
-#X text 64 288 Inlet 3: float: spacing between lines;
-#X obj 533 169 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X msg 533 187 smooth \$1;
-#X msg 465 186 fill \$1;
-#X obj 465 168 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X text 63 259 Inlet 1: message: smooth [0|1] : do smooth fill;
-#X text 63 245 Inlet 1: message: fill [0|1] : draw filled lines;
-#X text 13 91 [pix_lumaoffset] will offset each pixel in the y-direction
-according to its luminance value. The amount of offsetting can be specified
-as well as a gap between the offsetted lines. The gap can be filled
-or left black \, if filled \, the transition can be smoothed.;
-#X text 50 12 Synopsis: [pix_lumaoffset];
-#X text 516 105 open an image;
-#X text 509 118 (JPEG \, TIFF \, ..);
-#X text 13 357 NOTE: specifying too high offsets might cause crashes!!!
-;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 17 0;
-#X connect 16 0 17 1;
-#X connect 17 0 23 0;
-#X connect 18 0 22 0;
-#X connect 23 0 18 0;
-#X connect 25 0 23 1;
-#X connect 26 0 23 2;
-#X connect 29 0 30 0;
-#X connect 30 0 23 0;
-#X connect 31 0 23 0;
-#X connect 32 0 31 0;
+#N canvas 0 0 651 393 10;
+#X text 452 8 GEM object;
+#X obj 8 216 cnv 15 430 125 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 218 Inlets:;
+#X text 39 310 Outlets:;
+#X obj 8 176 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 175 Arguments:;
+#X obj 8 76 cnv 15 430 90 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X obj 451 138 cnv 15 160 90 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 71 31 Class: pix object;
+#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 451 113 pd image;
+#X obj 451 233 pix_texture;
+#X text 63 186 <none>;
+#X text 57 323 Outlet 1: gemlist;
+#X text 63 232 Inlet 1: gemlist;
+#X obj 451 255 square 3;
+#X obj 451 207 pix_lumaoffset;
+#X text 29 77 Description: offset pixels depending on the luminance
+;
+#X floatatom 497 152 5 0 0 2 offset - -;
+#X floatatom 544 152 5 0 0 2 gap - -;
+#X text 63 275 Inlet 2: float: offset-factor;
+#X text 64 288 Inlet 3: float: spacing between lines;
+#X obj 533 169 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X msg 533 187 smooth \$1;
+#X msg 465 186 fill \$1;
+#X obj 465 168 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X text 63 259 Inlet 1: message: smooth [0|1] : do smooth fill;
+#X text 63 245 Inlet 1: message: fill [0|1] : draw filled lines;
+#X text 13 91 [pix_lumaoffset] will offset each pixel in the y-direction
+according to its luminance value. The amount of offsetting can be specified
+as well as a gap between the offsetted lines. The gap can be filled
+or left black \, if filled \, the transition can be smoothed.;
+#X text 50 12 Synopsis: [pix_lumaoffset];
+#X text 516 105 open an image;
+#X text 509 118 (JPEG \, TIFF \, ..);
+#X text 13 357 NOTE: specifying too high offsets might cause crashes!!!
+;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 17 0;
+#X connect 16 0 17 1;
+#X connect 17 0 23 0;
+#X connect 18 0 22 0;
+#X connect 23 0 18 0;
+#X connect 25 0 23 1;
+#X connect 26 0 23 2;
+#X connect 29 0 30 0;
+#X connect 30 0 23 0;
+#X connect 31 0 23 0;
+#X connect 32 0 31 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_mask-help.pd b/packages/noncvs/windows/extra/Gem/pix_mask-help.pd
index 70603b05..fd88e014 100644
--- a/packages/noncvs/windows/extra/Gem/pix_mask-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_mask-help.pd
@@ -1,102 +1,102 @@
-#N canvas 11 269 683 381 10;
-#X text 452 8 GEM object;
-#X obj 8 226 cnv 15 430 135 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 248 Inlets:;
-#X text 39 304 Outlets:;
-#X obj 8 190 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 189 Arguments:;
-#X obj 8 56 cnv 15 430 130 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 280 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 290 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 92 create \, 1 \, color 0.5 0.5 0.5;
-#X msg 198 112 destroy \, reset;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 329 pd gemwin;
-#X msg 519 310 create;
-#X text 515 289 Create window:;
-#X obj 451 187 cnv 15 160 40 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 119 gemhead;
-#X obj 502 102 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 451 138 pd image;
-#X obj 451 263 pix_texture;
-#X text 63 200 <none>;
-#X text 47 318 Outlet 1: gemlist;
-#X text 53 262 Inlet 1: gemlist;
-#X obj 451 285 square 3;
-#X text 503 88 (JPEG \, TIFF \, ..);
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/dancer.JPG;
-#X connect 0 0 5 0;
-#X connect 2 0 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 3 0;
-#X connect 5 0 1 0;
-#X restore 541 141 pd image;
-#X obj 592 103 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#X text 53 291 Inlet 2: gemlist;
-#X text 449 77 open two different images;
-#X text 71 31 Class: pix mix object;
-#X text 50 12 Synopsis: [pix_mask];
-#X obj 451 198 pix_mask;
-#X text 29 57 Description: mask out a pix;
-#X text 16 75 [pix_mask] uses one pix as a mask against another. Where
-ever the mask has a black pixel \, the alpha component of the other
-image will be set to 0 (transparent).;
-#X text 19 115 Basically \, the luminance-value of the right pix will
-become the alpha-value of the left pix.;
-#X text 12 152 The 2 images have to be of the same size.;
-#X text 11 168 The left pix has to be in RGBA-space;
-#X obj 451 239 alpha;
-#X obj 541 122 gemhead 1;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 16 0;
-#X connect 15 0 16 1;
-#X connect 16 0 29 0;
-#X connect 17 0 21 0;
-#X connect 23 0 29 1;
-#X connect 24 0 23 1;
-#X connect 29 0 35 0;
-#X connect 35 0 17 0;
-#X connect 36 0 23 0;
+#N canvas 11 269 683 381 10;
+#X text 452 8 GEM object;
+#X obj 8 226 cnv 15 430 135 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 248 Inlets:;
+#X text 39 304 Outlets:;
+#X obj 8 190 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 189 Arguments:;
+#X obj 8 56 cnv 15 430 130 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 280 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 290 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 92 create \, 1 \, color 0.5 0.5 0.5;
+#X msg 198 112 destroy \, reset;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 329 pd gemwin;
+#X msg 519 310 create;
+#X text 515 289 Create window:;
+#X obj 451 187 cnv 15 160 40 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 119 gemhead;
+#X obj 502 102 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 451 138 pd image;
+#X obj 451 263 pix_texture;
+#X text 63 200 <none>;
+#X text 47 318 Outlet 1: gemlist;
+#X text 53 262 Inlet 1: gemlist;
+#X obj 451 285 square 3;
+#X text 503 88 (JPEG \, TIFF \, ..);
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X obj 77 205 pix_image examples/data/dancer.JPG;
+#X connect 0 0 5 0;
+#X connect 2 0 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 3 0;
+#X connect 5 0 1 0;
+#X restore 541 141 pd image;
+#X obj 592 103 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#X text 53 291 Inlet 2: gemlist;
+#X text 449 77 open two different images;
+#X text 71 31 Class: pix mix object;
+#X text 50 12 Synopsis: [pix_mask];
+#X obj 451 198 pix_mask;
+#X text 29 57 Description: mask out a pix;
+#X text 16 75 [pix_mask] uses one pix as a mask against another. Where
+ever the mask has a black pixel \, the alpha component of the other
+image will be set to 0 (transparent).;
+#X text 19 115 Basically \, the luminance-value of the right pix will
+become the alpha-value of the left pix.;
+#X text 12 152 The 2 images have to be of the same size.;
+#X text 11 168 The left pix has to be in RGBA-space;
+#X obj 451 239 alpha;
+#X obj 541 122 gemhead 1;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 16 0;
+#X connect 15 0 16 1;
+#X connect 16 0 29 0;
+#X connect 17 0 21 0;
+#X connect 23 0 29 1;
+#X connect 24 0 23 1;
+#X connect 29 0 35 0;
+#X connect 35 0 17 0;
+#X connect 36 0 23 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_mean_color-help.pd b/packages/noncvs/windows/extra/Gem/pix_mean_color-help.pd
index 260e165a..cbae3184 100644
--- a/packages/noncvs/windows/extra/Gem/pix_mean_color-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_mean_color-help.pd
@@ -1,104 +1,104 @@
-#N canvas 473 0 654 372 10;
-#X text 452 8 GEM object;
-#X obj 8 185 cnv 15 430 80 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 19 183 Inlets:;
-#X text 18 210 Outlets:;
-#X obj 8 146 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 145 Arguments:;
-#X obj 7 76 cnv 15 430 55 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 280 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 454 294 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 459 333 pd gemwin;
-#X msg 459 314 create;
-#X text 455 293 Create window:;
-#X obj 450 135 cnv 15 160 90 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 71 31 Class: pix object;
-#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X obj 77 290 pix_buf;
-#X msg 99 267 auto 1;
-#X obj 99 246 loadbang;
-#X connect 0 0 2 0;
-#X connect 2 0 6 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X connect 6 0 1 0;
-#X connect 7 0 6 0;
-#X connect 8 0 7 0;
-#X restore 451 113 pd image;
-#X text 63 156 <none>;
-#X text 36 223 Outlet 1: gemlist;
-#X text 43 197 Inlet 1: gemlist;
-#X text 516 105 open an image;
-#X text 509 118 (JPEG \, TIFF \, ..);
-#X obj 451 233 pix_texture;
-#X obj 451 146 pix_mean_color;
-#X text 50 12 Synopsis: [pix_mean_color];
-#X text 15 77 Description: get the mean color of the current image
-;
-#X text 22 93 Calculates the average color of the current image and
-outputs it as RGBA values.;
-#X obj 476 166 t l l;
-#X obj 514 166 unpack 0 0 0 0;
-#X obj 550 269 square 1;
-#X obj 451 256 square 1;
-#X obj 550 231 gemhead;
-#X obj 550 250 color;
-#X floatatom 514 186 3 0 0 0 - - -;
-#X floatatom 537 186 3 0 0 0 - - -;
-#X floatatom 560 186 3 0 0 0 - - -;
-#X floatatom 583 186 3 0 0 0 - - -;
-#X obj 451 208 translateXYZ 0 2 0;
-#X text 36 239 Outlet 2: <f:Red> <f:Green> <f:Blue> <f:Alpha>: the
-mean color of the image;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 17 0;
-#X connect 16 0 17 1;
-#X connect 17 0 24 0;
-#X connect 23 0 31 0;
-#X connect 24 0 38 0;
-#X connect 24 1 28 0;
-#X connect 28 0 33 1;
-#X connect 28 1 29 0;
-#X connect 29 0 34 0;
-#X connect 29 1 35 0;
-#X connect 29 2 36 0;
-#X connect 29 3 37 0;
-#X connect 32 0 33 0;
-#X connect 33 0 30 0;
-#X connect 38 0 23 0;
+#N canvas 473 0 654 372 10;
+#X text 452 8 GEM object;
+#X obj 8 185 cnv 15 430 80 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 19 183 Inlets:;
+#X text 18 210 Outlets:;
+#X obj 8 146 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 145 Arguments:;
+#X obj 7 76 cnv 15 430 55 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 280 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 454 294 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 459 333 pd gemwin;
+#X msg 459 314 create;
+#X text 455 293 Create window:;
+#X obj 450 135 cnv 15 160 90 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 71 31 Class: pix object;
+#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X obj 77 290 pix_buf;
+#X msg 99 267 auto 1;
+#X obj 99 246 loadbang;
+#X connect 0 0 2 0;
+#X connect 2 0 6 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X connect 6 0 1 0;
+#X connect 7 0 6 0;
+#X connect 8 0 7 0;
+#X restore 451 113 pd image;
+#X text 63 156 <none>;
+#X text 36 223 Outlet 1: gemlist;
+#X text 43 197 Inlet 1: gemlist;
+#X text 516 105 open an image;
+#X text 509 118 (JPEG \, TIFF \, ..);
+#X obj 451 233 pix_texture;
+#X obj 451 146 pix_mean_color;
+#X text 50 12 Synopsis: [pix_mean_color];
+#X text 15 77 Description: get the mean color of the current image
+;
+#X text 22 93 Calculates the average color of the current image and
+outputs it as RGBA values.;
+#X obj 476 166 t l l;
+#X obj 514 166 unpack 0 0 0 0;
+#X obj 550 269 square 1;
+#X obj 451 256 square 1;
+#X obj 550 231 gemhead;
+#X obj 550 250 color;
+#X floatatom 514 186 3 0 0 0 - - -;
+#X floatatom 537 186 3 0 0 0 - - -;
+#X floatatom 560 186 3 0 0 0 - - -;
+#X floatatom 583 186 3 0 0 0 - - -;
+#X obj 451 208 translateXYZ 0 2 0;
+#X text 36 239 Outlet 2: <f:Red> <f:Green> <f:Blue> <f:Alpha>: the
+mean color of the image;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 17 0;
+#X connect 16 0 17 1;
+#X connect 17 0 24 0;
+#X connect 23 0 31 0;
+#X connect 24 0 38 0;
+#X connect 24 1 28 0;
+#X connect 28 0 33 1;
+#X connect 28 1 29 0;
+#X connect 29 0 34 0;
+#X connect 29 1 35 0;
+#X connect 29 2 36 0;
+#X connect 29 3 37 0;
+#X connect 32 0 33 0;
+#X connect 33 0 30 0;
+#X connect 38 0 23 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_metaimage-help.pd b/packages/noncvs/windows/extra/Gem/pix_metaimage-help.pd
index d3b8ec53..103709ff 100644
--- a/packages/noncvs/windows/extra/Gem/pix_metaimage-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_metaimage-help.pd
@@ -1,101 +1,101 @@
-#N canvas 0 0 654 531 10;
-#X text 452 8 GEM object;
-#X obj 8 305 cnv 15 430 130 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 308 Inlets:;
-#X text 38 405 Outlets:;
-#X obj 8 267 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 266 Arguments:;
-#X obj 7 76 cnv 15 430 185 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X obj 450 158 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 71 31 Class: pix object;
-#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 451 113 pd image;
-#X text 63 277 <none>;
-#X text 56 418 Outlet 1: gemlist;
-#X text 63 322 Inlet 1: gemlist;
-#X obj 451 253 pix_draw;
-#X text 516 105 open an image;
-#X text 509 118 (JPEG \, TIFF \, ..);
-#X text 63 335 Inlet 1: 0|1 : apply/don't apply;
-#X obj 451 226 pix_metaimage;
-#X floatatom 537 159 3 0 1 1 size - -;
-#X obj 457 178 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X msg 457 196 cheap \$1;
-#X obj 521 178 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X msg 521 196 distance \$1;
-#X text 29 76 Description: display a pix by itself;
-#X text 49 12 Synopsis: [pix_metaimate];
-#X text 22 103 The output image is composed of many smaller versions
-of the input image \, altered to match the colors of the area they
-cover in the original image.;
-#X text 23 205 This controls how the size of the images is changed
-by the 'Size' message. If turned on \, then the size doesn't scale
-linearly \, but is used as if the images were on a plane in 3D space
-\, and controls the distance from the plane.;
-#X text 24 148 Part of the scaling down process on the images involves
-properly smoothing them \; turning this parameter on skips that step
-\, giving a more jagged output but speeding up the processing.;
-#X text 63 350 Inlet 1: cheap 1|0;
-#X text 63 364 Inlet 1: distance 1|0;
-#X obj 35 447 cnv 15 375 20 empty empty empty 20 12 0 14 -260818 -66577
-0;
-#X text 44 450 (ported from "pete's plugins" \, www.petewarden.com)
-;
-#X text 62 381 Inlet 2: <float> : size;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 17 0;
-#X connect 16 0 17 1;
-#X connect 17 0 25 0;
-#X connect 25 0 21 0;
-#X connect 26 0 25 1;
-#X connect 27 0 28 0;
-#X connect 28 0 25 0;
-#X connect 29 0 30 0;
-#X connect 30 0 25 0;
+#N canvas 0 0 654 531 10;
+#X text 452 8 GEM object;
+#X obj 8 305 cnv 15 430 130 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 308 Inlets:;
+#X text 38 405 Outlets:;
+#X obj 8 267 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 266 Arguments:;
+#X obj 7 76 cnv 15 430 185 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X obj 450 158 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 71 31 Class: pix object;
+#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 451 113 pd image;
+#X text 63 277 <none>;
+#X text 56 418 Outlet 1: gemlist;
+#X text 63 322 Inlet 1: gemlist;
+#X obj 451 253 pix_draw;
+#X text 516 105 open an image;
+#X text 509 118 (JPEG \, TIFF \, ..);
+#X text 63 335 Inlet 1: 0|1 : apply/don't apply;
+#X obj 451 226 pix_metaimage;
+#X floatatom 537 159 3 0 1 1 size - -;
+#X obj 457 178 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X msg 457 196 cheap \$1;
+#X obj 521 178 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X msg 521 196 distance \$1;
+#X text 29 76 Description: display a pix by itself;
+#X text 49 12 Synopsis: [pix_metaimate];
+#X text 22 103 The output image is composed of many smaller versions
+of the input image \, altered to match the colors of the area they
+cover in the original image.;
+#X text 23 205 This controls how the size of the images is changed
+by the 'Size' message. If turned on \, then the size doesn't scale
+linearly \, but is used as if the images were on a plane in 3D space
+\, and controls the distance from the plane.;
+#X text 24 148 Part of the scaling down process on the images involves
+properly smoothing them \; turning this parameter on skips that step
+\, giving a more jagged output but speeding up the processing.;
+#X text 63 350 Inlet 1: cheap 1|0;
+#X text 63 364 Inlet 1: distance 1|0;
+#X obj 35 447 cnv 15 375 20 empty empty empty 20 12 0 14 -260818 -66577
+0;
+#X text 44 450 (ported from "pete's plugins" \, www.petewarden.com)
+;
+#X text 62 381 Inlet 2: <float> : size;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 17 0;
+#X connect 16 0 17 1;
+#X connect 17 0 25 0;
+#X connect 25 0 21 0;
+#X connect 26 0 25 1;
+#X connect 27 0 28 0;
+#X connect 28 0 25 0;
+#X connect 29 0 30 0;
+#X connect 30 0 25 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_mix-help.pd b/packages/noncvs/windows/extra/Gem/pix_mix-help.pd
index 13472813..ff4e48c3 100644
--- a/packages/noncvs/windows/extra/Gem/pix_mix-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_mix-help.pd
@@ -1,116 +1,116 @@
-#N canvas 0 124 683 381 10;
-#X text 452 8 GEM object;
-#X obj 8 196 cnv 15 430 135 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 198 Inlets:;
-#X text 39 281 Outlets:;
-#X obj 8 156 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 155 Arguments:;
-#X obj 8 66 cnv 15 430 80 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 280 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 290 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 329 pd gemwin;
-#X msg 519 310 create;
-#X text 515 289 Create window:;
-#X obj 451 158 cnv 15 160 100 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 119 gemhead;
-#X text 71 31 Class: pix object;
-#X obj 502 102 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 451 138 pd image;
-#X obj 451 263 pix_texture;
-#X text 17 295 Outlet 1: gemlist;
-#X text 23 212 Inlet 1: gemlist;
-#X obj 451 285 square 3;
-#X text 503 88 (JPEG \, TIFF \, ..);
-#X obj 541 122 gemhead;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/dancer.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X obj 77 281 pix_buf;
-#X msg 103 257 auto 1;
-#X obj 103 236 loadbang;
-#X text 156 263 [pix_buf] with auto 1 is important if we want to recalculate
-our pix-effect each frame but don't want to reload the image all the
-time.;
-#X connect 0 0 2 0;
-#X connect 2 0 6 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X connect 6 0 1 0;
-#X connect 7 0 6 0;
-#X connect 8 0 7 0;
-#X restore 541 141 pd image;
-#X obj 592 103 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#X text 23 227 Inlet 2: gemlist;
-#X text 449 77 open two different images;
-#X text 50 12 Synopsis: [pix_mix];
-#X obj 476 174 hsl 128 15 0 1 0 1 empty empty empty -2 -6 0 8 -262144
--1 -1 6300 1;
-#X floatatom 473 199 5 0 0 0 - - -;
-#X msg 530 198 0.7 0.7;
-#X text 29 67 Description: mix 2 images based on mixing factors;
-#X text 23 241 Inlet 3: list: weights for left/right image;
-#X text 63 166 list: [leftGain [rightGain]] (defaults: 0.5 0.5);
-#X obj 451 226 pix_mix 0;
-#X text 14 81 [pix_mix] will mix 2 images just like a video-mixer.
-You can supply mixing factors A and B \, and the result will be out=in1*A+in2*B.
-If you supply only one factor A \, the result will be out=in1*(1-A)+in2*A.
-;
-#X text 22 255 Inlet 3: float: weight for left image. right weight
-will be the reciproque value (for crossfading);
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 17 0;
-#X connect 16 0 17 1;
-#X connect 17 0 35 0;
-#X connect 18 0 21 0;
-#X connect 23 0 24 0;
-#X connect 24 0 35 1;
-#X connect 25 0 24 1;
-#X connect 29 0 30 0;
-#X connect 30 0 35 2;
-#X connect 31 0 35 2;
-#X connect 35 0 18 0;
+#N canvas 0 124 683 381 10;
+#X text 452 8 GEM object;
+#X obj 8 196 cnv 15 430 135 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 198 Inlets:;
+#X text 39 281 Outlets:;
+#X obj 8 156 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 155 Arguments:;
+#X obj 8 66 cnv 15 430 80 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 280 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 290 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 329 pd gemwin;
+#X msg 519 310 create;
+#X text 515 289 Create window:;
+#X obj 451 158 cnv 15 160 100 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 119 gemhead;
+#X text 71 31 Class: pix object;
+#X obj 502 102 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 451 138 pd image;
+#X obj 451 263 pix_texture;
+#X text 17 295 Outlet 1: gemlist;
+#X text 23 212 Inlet 1: gemlist;
+#X obj 451 285 square 3;
+#X text 503 88 (JPEG \, TIFF \, ..);
+#X obj 541 122 gemhead;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/dancer.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X obj 77 281 pix_buf;
+#X msg 103 257 auto 1;
+#X obj 103 236 loadbang;
+#X text 156 263 [pix_buf] with auto 1 is important if we want to recalculate
+our pix-effect each frame but don't want to reload the image all the
+time.;
+#X connect 0 0 2 0;
+#X connect 2 0 6 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X connect 6 0 1 0;
+#X connect 7 0 6 0;
+#X connect 8 0 7 0;
+#X restore 541 141 pd image;
+#X obj 592 103 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#X text 23 227 Inlet 2: gemlist;
+#X text 449 77 open two different images;
+#X text 50 12 Synopsis: [pix_mix];
+#X obj 476 174 hsl 128 15 0 1 0 1 empty empty empty -2 -6 0 8 -262144
+-1 -1 6300 1;
+#X floatatom 473 199 5 0 0 0 - - -;
+#X msg 530 198 0.7 0.7;
+#X text 29 67 Description: mix 2 images based on mixing factors;
+#X text 23 241 Inlet 3: list: weights for left/right image;
+#X text 63 166 list: [leftGain [rightGain]] (defaults: 0.5 0.5);
+#X obj 451 226 pix_mix 0;
+#X text 14 81 [pix_mix] will mix 2 images just like a video-mixer.
+You can supply mixing factors A and B \, and the result will be out=in1*A+in2*B.
+If you supply only one factor A \, the result will be out=in1*(1-A)+in2*A.
+;
+#X text 22 255 Inlet 3: float: weight for left image. right weight
+will be the reciproque value (for crossfading);
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 17 0;
+#X connect 16 0 17 1;
+#X connect 17 0 35 0;
+#X connect 18 0 21 0;
+#X connect 23 0 24 0;
+#X connect 24 0 35 1;
+#X connect 25 0 24 1;
+#X connect 29 0 30 0;
+#X connect 30 0 35 2;
+#X connect 31 0 35 2;
+#X connect 35 0 18 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_motionblur-help.pd b/packages/noncvs/windows/extra/Gem/pix_motionblur-help.pd
index 025c3470..b3f40f31 100644
--- a/packages/noncvs/windows/extra/Gem/pix_motionblur-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_motionblur-help.pd
@@ -1,95 +1,95 @@
-#N canvas 230 0 683 377 10;
-#X text 452 8 GEM object;
-#X obj 9 225 cnv 15 430 135 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 40 227 Inlets:;
-#X text 40 289 Outlets:;
-#X obj 9 185 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 18 184 Arguments:;
-#X obj 8 56 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 280 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 290 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X msg 67 70 set destroy;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X msg 156 71 set create;
-#X obj 67 41 route create;
-#X connect 2 0 7 0;
-#X connect 3 0 1 0;
-#X connect 4 0 0 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 0;
-#X connect 7 0 3 0;
-#X connect 7 0 4 0;
-#X connect 7 1 6 0;
-#X connect 7 1 5 0;
-#X restore 519 329 pd gemwin;
-#X msg 519 310 create;
-#X text 515 289 Create window:;
-#X obj 451 199 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 83 gemhead;
-#X text 18 303 Outlet 1: gemlist;
-#X text 24 241 Inlet 1: gemlist;
-#X obj 451 292 square 3;
-#X obj 451 270 pix_texture;
-#X text 71 31 Class: pix object (timebased effect);
-#X obj 451 162 pix_film;
-#X obj 515 162 t f;
-#X obj 464 105 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#N canvas 0 0 450 300 open 0;
-#X obj 85 49 inlet;
-#X obj 85 237 outlet;
-#X obj 85 145 openpanel;
-#X msg 85 179 open \$1;
-#X msg 259 213 auto 1;
-#X obj 268 179 loadbang;
-#X connect 0 0 2 0;
-#X connect 2 0 3 0;
-#X connect 3 0 1 0;
-#X connect 4 0 1 0;
-#X connect 5 0 4 0;
-#X restore 464 134 pd open;
-#X floatatom 544 202 5 0 100 0 blur - -;
-#X text 505 77 open a supported;
-#X text 506 88 movie-clip;
-#X text 505 109 macOS: quicktime;
-#X text 498 99 windos: *.AVI;
-#X text 505 119 linux: depends...;
-#X obj 451 238 pix_motionblur;
-#X text 50 12 Synopsis: [pix_motionblur];
-#X text 29 57 Description: apply motionbluring on a series of images
-;
-#X obj 544 219 / 100;
-#X text 64 195 <none>;
-#X text 24 254 Inlet 2: float: blur-factor (0..no blurring \, 1..only
-blurring);
-#X text 14 73 [pix_motionblur] applies a very simple and fast motion
-blur to an image stream. the method used involves blending the current
-image with a 'history' image and saving the result back to the 'history'.
-the blending is the same as pix_mix output = (stream * gain) + (history
-* 1 - gain) applying a higher blur factor will mix in more of the history
-image and thus more of the history will be saved resulting in heavier
-blurring.;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 20 0;
-#X connect 18 0 17 0;
-#X connect 20 0 30 0;
-#X connect 20 2 21 0;
-#X connect 21 0 20 1;
-#X connect 22 0 23 0;
-#X connect 23 0 20 0;
-#X connect 24 0 33 0;
-#X connect 30 0 18 0;
-#X connect 33 0 30 1;
+#N canvas 230 0 683 377 10;
+#X text 452 8 GEM object;
+#X obj 9 225 cnv 15 430 135 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 40 227 Inlets:;
+#X text 40 289 Outlets:;
+#X obj 9 185 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 18 184 Arguments:;
+#X obj 8 56 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 280 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 290 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X msg 67 70 set destroy;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X msg 156 71 set create;
+#X obj 67 41 route create;
+#X connect 2 0 7 0;
+#X connect 3 0 1 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 0;
+#X connect 7 0 3 0;
+#X connect 7 0 4 0;
+#X connect 7 1 6 0;
+#X connect 7 1 5 0;
+#X restore 519 329 pd gemwin;
+#X msg 519 310 create;
+#X text 515 289 Create window:;
+#X obj 451 199 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 83 gemhead;
+#X text 18 303 Outlet 1: gemlist;
+#X text 24 241 Inlet 1: gemlist;
+#X obj 451 292 square 3;
+#X obj 451 270 pix_texture;
+#X text 71 31 Class: pix object (timebased effect);
+#X obj 451 162 pix_film;
+#X obj 515 162 t f;
+#X obj 464 105 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#N canvas 0 0 450 300 open 0;
+#X obj 85 49 inlet;
+#X obj 85 237 outlet;
+#X obj 85 145 openpanel;
+#X msg 85 179 open \$1;
+#X msg 259 213 auto 1;
+#X obj 268 179 loadbang;
+#X connect 0 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 1 0;
+#X connect 5 0 4 0;
+#X restore 464 134 pd open;
+#X floatatom 544 202 5 0 100 0 blur - -;
+#X text 505 77 open a supported;
+#X text 506 88 movie-clip;
+#X text 505 109 macOS: quicktime;
+#X text 498 99 windos: *.AVI;
+#X text 505 119 linux: depends...;
+#X obj 451 238 pix_motionblur;
+#X text 50 12 Synopsis: [pix_motionblur];
+#X text 29 57 Description: apply motionbluring on a series of images
+;
+#X obj 544 219 / 100;
+#X text 64 195 <none>;
+#X text 24 254 Inlet 2: float: blur-factor (0..no blurring \, 1..only
+blurring);
+#X text 14 73 [pix_motionblur] applies a very simple and fast motion
+blur to an image stream. the method used involves blending the current
+image with a 'history' image and saving the result back to the 'history'.
+the blending is the same as pix_mix output = (stream * gain) + (history
+* 1 - gain) applying a higher blur factor will mix in more of the history
+image and thus more of the history will be saved resulting in heavier
+blurring.;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 20 0;
+#X connect 18 0 17 0;
+#X connect 20 0 30 0;
+#X connect 20 2 21 0;
+#X connect 21 0 20 1;
+#X connect 22 0 23 0;
+#X connect 23 0 20 0;
+#X connect 24 0 33 0;
+#X connect 30 0 18 0;
+#X connect 33 0 30 1;
diff --git a/packages/noncvs/windows/extra/Gem/pix_movement-help.pd b/packages/noncvs/windows/extra/Gem/pix_movement-help.pd
index d260682b..4f5f69a6 100644
--- a/packages/noncvs/windows/extra/Gem/pix_movement-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_movement-help.pd
@@ -1,102 +1,102 @@
-#N canvas 0 198 683 405 10;
-#X text 452 8 GEM object;
-#X obj 9 265 cnv 15 430 135 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 40 267 Inlets:;
-#X text 39 332 Outlets:;
-#X obj 9 227 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 18 226 Arguments:;
-#X obj 8 56 cnv 15 430 165 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 200 280 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 544 290 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X msg 67 70 set destroy;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X msg 156 71 set create;
-#X obj 67 41 route create;
-#X connect 2 0 7 0;
-#X connect 3 0 1 0;
-#X connect 4 0 0 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 0;
-#X connect 7 0 3 0;
-#X connect 7 0 4 0;
-#X connect 7 1 6 0;
-#X connect 7 1 5 0;
-#X restore 549 329 pd gemwin;
-#X msg 549 310 create;
-#X text 545 289 Create window:;
-#X obj 451 173 cnv 15 155 80 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 83 gemhead;
-#X text 17 346 Outlet 1: gemlist;
-#X text 24 281 Inlet 1: gemlist;
-#X obj 451 322 square 3;
-#X obj 451 300 pix_texture;
-#X text 71 31 Class: pix object (timebased effect);
-#X obj 451 151 pix_film;
-#X obj 515 151 t f;
-#X obj 464 103 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#N canvas 0 0 450 300 open 0;
-#X obj 85 49 inlet;
-#X obj 85 237 outlet;
-#X obj 85 145 openpanel;
-#X msg 85 179 open \$1;
-#X msg 259 213 auto 1;
-#X obj 268 179 loadbang;
-#X connect 0 0 2 0;
-#X connect 2 0 3 0;
-#X connect 3 0 1 0;
-#X connect 4 0 1 0;
-#X connect 5 0 4 0;
-#X restore 464 131 pd open;
-#X text 505 77 open a supported;
-#X text 506 88 movie-clip;
-#X text 523 114 macOS: quicktime;
-#X text 516 104 windos: *.AVI;
-#X text 523 124 linux: depends...;
-#X text 29 57 Description: timebased IIR-filter;
-#X floatatom 527 191 3 0 100 2 threshold - -;
-#X obj 451 232 pix_movement 0.5;
-#X obj 526 207 / 100;
-#X obj 451 279 alpha;
-#X obj 481 258 tgl 15 1 empty empty empty 0 -6 0 8 -262144 -1 -1 1
-1;
-#X text 17 125 since image-noise can disturb this processing \, changes
-between two corresponding pixels that are smaller than <threshold>
-are ignored.;
-#X text 19 163 For a movement detector you might get the center-of-movement
-with a [pix_blob] that listens to the Alpha-channel afterwards.;
-#X text 15 78 [pix_movement] detects movement between two subsequent
-frames and stores it into the alpha-channel for RGBA-images and into
-the luminance-channels for YUV-&Grayscale-images.;
-#X text 64 237 float: <threshold> (0..1);
-#X text 24 303 Inlet 2: float: <threshold> changes in the image that
-are smaller then <threshold> are ignored;
-#X text 50 12 Synopsis: [pix_movement];
-#X obj 451 172 pix_rgba;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 20 0;
-#X connect 18 0 17 0;
-#X connect 20 0 41 0;
-#X connect 20 2 21 0;
-#X connect 21 0 20 1;
-#X connect 22 0 23 0;
-#X connect 23 0 20 0;
-#X connect 30 0 32 0;
-#X connect 31 0 33 0;
-#X connect 32 0 31 1;
-#X connect 33 0 18 0;
-#X connect 34 0 33 0;
-#X connect 41 0 31 0;
+#N canvas 0 198 683 405 10;
+#X text 452 8 GEM object;
+#X obj 9 265 cnv 15 430 135 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 40 267 Inlets:;
+#X text 39 332 Outlets:;
+#X obj 9 227 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 18 226 Arguments:;
+#X obj 8 56 cnv 15 430 165 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 200 280 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 544 290 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X msg 67 70 set destroy;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X msg 156 71 set create;
+#X obj 67 41 route create;
+#X connect 2 0 7 0;
+#X connect 3 0 1 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 0;
+#X connect 7 0 3 0;
+#X connect 7 0 4 0;
+#X connect 7 1 6 0;
+#X connect 7 1 5 0;
+#X restore 549 329 pd gemwin;
+#X msg 549 310 create;
+#X text 545 289 Create window:;
+#X obj 451 173 cnv 15 155 80 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 83 gemhead;
+#X text 17 346 Outlet 1: gemlist;
+#X text 24 281 Inlet 1: gemlist;
+#X obj 451 322 square 3;
+#X obj 451 300 pix_texture;
+#X text 71 31 Class: pix object (timebased effect);
+#X obj 451 151 pix_film;
+#X obj 515 151 t f;
+#X obj 464 103 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#N canvas 0 0 450 300 open 0;
+#X obj 85 49 inlet;
+#X obj 85 237 outlet;
+#X obj 85 145 openpanel;
+#X msg 85 179 open \$1;
+#X msg 259 213 auto 1;
+#X obj 268 179 loadbang;
+#X connect 0 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 1 0;
+#X connect 5 0 4 0;
+#X restore 464 131 pd open;
+#X text 505 77 open a supported;
+#X text 506 88 movie-clip;
+#X text 523 114 macOS: quicktime;
+#X text 516 104 windos: *.AVI;
+#X text 523 124 linux: depends...;
+#X text 29 57 Description: timebased IIR-filter;
+#X floatatom 527 191 3 0 100 2 threshold - -;
+#X obj 451 232 pix_movement 0.5;
+#X obj 526 207 / 100;
+#X obj 451 279 alpha;
+#X obj 481 258 tgl 15 1 empty empty empty 0 -6 0 8 -262144 -1 -1 1
+1;
+#X text 17 125 since image-noise can disturb this processing \, changes
+between two corresponding pixels that are smaller than <threshold>
+are ignored.;
+#X text 19 163 For a movement detector you might get the center-of-movement
+with a [pix_blob] that listens to the Alpha-channel afterwards.;
+#X text 15 78 [pix_movement] detects movement between two subsequent
+frames and stores it into the alpha-channel for RGBA-images and into
+the luminance-channels for YUV-&Grayscale-images.;
+#X text 64 237 float: <threshold> (0..1);
+#X text 24 303 Inlet 2: float: <threshold> changes in the image that
+are smaller then <threshold> are ignored;
+#X text 50 12 Synopsis: [pix_movement];
+#X obj 451 172 pix_rgba;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 20 0;
+#X connect 18 0 17 0;
+#X connect 20 0 41 0;
+#X connect 20 2 21 0;
+#X connect 21 0 20 1;
+#X connect 22 0 23 0;
+#X connect 23 0 20 0;
+#X connect 30 0 32 0;
+#X connect 31 0 33 0;
+#X connect 32 0 31 1;
+#X connect 33 0 18 0;
+#X connect 34 0 33 0;
+#X connect 41 0 31 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_movement2-help.pd b/packages/noncvs/windows/extra/Gem/pix_movement2-help.pd
index e605bebc..bdc44ef9 100644
--- a/packages/noncvs/windows/extra/Gem/pix_movement2-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_movement2-help.pd
@@ -1,106 +1,106 @@
-#N canvas 315 171 666 422 10;
-#X text 452 8 GEM object;
-#X obj 9 270 cnv 15 430 135 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 40 277 Inlets:;
-#X text 39 369 Outlets:;
-#X obj 9 227 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 18 226 Arguments:;
-#X obj 8 56 cnv 15 430 165 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 200 280 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 544 290 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X msg 67 70 set destroy;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X msg 156 71 set create;
-#X obj 67 41 route create;
-#X connect 2 0 7 0;
-#X connect 3 0 1 0;
-#X connect 4 0 0 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 0;
-#X connect 7 0 3 0;
-#X connect 7 0 4 0;
-#X connect 7 1 6 0;
-#X connect 7 1 5 0;
-#X restore 549 329 pd gemwin;
-#X msg 549 310 create;
-#X text 545 289 Create window:;
-#X obj 451 173 cnv 15 155 80 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 83 gemhead;
-#X text 17 383 Outlet 1: gemlist;
-#X text 24 291 Inlet 1: gemlist;
-#X obj 451 322 square 3;
-#X obj 451 300 pix_texture;
-#X text 71 31 Class: pix object (timebased effect);
-#X obj 451 151 pix_film;
-#X obj 515 151 t f;
-#X obj 464 103 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#N canvas 0 0 450 300 open 0;
-#X obj 85 49 inlet;
-#X obj 85 237 outlet;
-#X obj 85 145 openpanel;
-#X msg 85 179 open \$1;
-#X msg 259 213 auto 1;
-#X obj 268 179 loadbang;
-#X connect 0 0 2 0;
-#X connect 2 0 3 0;
-#X connect 3 0 1 0;
-#X connect 4 0 1 0;
-#X connect 5 0 4 0;
-#X restore 464 131 pd open;
-#X text 505 77 open a supported;
-#X text 506 88 movie-clip;
-#X text 523 114 macOS: quicktime;
-#X text 516 104 windos: *.AVI;
-#X text 523 124 linux: depends...;
-#X floatatom 495 190 3 0 100 2 lo_threshold - -;
-#X obj 494 206 / 100;
-#X text 50 12 Synopsis: [pix_movement2];
-#X obj 451 232 pix_movement2;
-#X floatatom 549 211 3 0 100 2 threshold - -;
-#X obj 548 227 / 100;
-#X msg 456 194 bang;
-#X text 29 57 Description: timebase IIR-filter for motion detection
-;
-#X text 14 130 since image-noise can disturb this processing \, changes
-between two corresponding pixels that are smaller than "threshold"
-are ignored. The "threshold" is initially set to <threshold> and adjusts
-itself dynamically downwards towards <lo_threshold> (which is the absolute
-minimum);
-#X text 15 78 [pix_movement] detects movement in a frame with respect
-to the 2 previous frames and a "background"-image and stores it as
-a b/w-image (greyscale).;
-#X text 64 237 float: <lo_threshold> (0..1);
-#X text 66 252 float: <initial_threshold> (0..1);
-#X text 24 306 Inlet 1: bang: set the current frame as "background"
-;
-#X text 24 323 Inlet 2: float: <lo_threshold> changes in the image
-that are smaller then <lo_threshold> are ignored;
-#X text 24 348 Inlet 3: float: <initial_threshold>;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 20 0;
-#X connect 18 0 17 0;
-#X connect 20 0 32 0;
-#X connect 20 2 21 0;
-#X connect 21 0 20 1;
-#X connect 22 0 23 0;
-#X connect 23 0 20 0;
-#X connect 29 0 30 0;
-#X connect 30 0 32 1;
-#X connect 32 0 18 0;
-#X connect 33 0 34 0;
-#X connect 34 0 32 2;
-#X connect 35 0 32 0;
+#N canvas 315 171 666 422 10;
+#X text 452 8 GEM object;
+#X obj 9 270 cnv 15 430 135 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 40 277 Inlets:;
+#X text 39 369 Outlets:;
+#X obj 9 227 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 18 226 Arguments:;
+#X obj 8 56 cnv 15 430 165 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 200 280 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 544 290 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X msg 67 70 set destroy;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X msg 156 71 set create;
+#X obj 67 41 route create;
+#X connect 2 0 7 0;
+#X connect 3 0 1 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 0;
+#X connect 7 0 3 0;
+#X connect 7 0 4 0;
+#X connect 7 1 6 0;
+#X connect 7 1 5 0;
+#X restore 549 329 pd gemwin;
+#X msg 549 310 create;
+#X text 545 289 Create window:;
+#X obj 451 173 cnv 15 155 80 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 83 gemhead;
+#X text 17 383 Outlet 1: gemlist;
+#X text 24 291 Inlet 1: gemlist;
+#X obj 451 322 square 3;
+#X obj 451 300 pix_texture;
+#X text 71 31 Class: pix object (timebased effect);
+#X obj 451 151 pix_film;
+#X obj 515 151 t f;
+#X obj 464 103 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#N canvas 0 0 450 300 open 0;
+#X obj 85 49 inlet;
+#X obj 85 237 outlet;
+#X obj 85 145 openpanel;
+#X msg 85 179 open \$1;
+#X msg 259 213 auto 1;
+#X obj 268 179 loadbang;
+#X connect 0 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 1 0;
+#X connect 5 0 4 0;
+#X restore 464 131 pd open;
+#X text 505 77 open a supported;
+#X text 506 88 movie-clip;
+#X text 523 114 macOS: quicktime;
+#X text 516 104 windos: *.AVI;
+#X text 523 124 linux: depends...;
+#X floatatom 495 190 3 0 100 2 lo_threshold - -;
+#X obj 494 206 / 100;
+#X text 50 12 Synopsis: [pix_movement2];
+#X obj 451 232 pix_movement2;
+#X floatatom 549 211 3 0 100 2 threshold - -;
+#X obj 548 227 / 100;
+#X msg 456 194 bang;
+#X text 29 57 Description: timebase IIR-filter for motion detection
+;
+#X text 14 130 since image-noise can disturb this processing \, changes
+between two corresponding pixels that are smaller than "threshold"
+are ignored. The "threshold" is initially set to <threshold> and adjusts
+itself dynamically downwards towards <lo_threshold> (which is the absolute
+minimum);
+#X text 15 78 [pix_movement] detects movement in a frame with respect
+to the 2 previous frames and a "background"-image and stores it as
+a b/w-image (greyscale).;
+#X text 64 237 float: <lo_threshold> (0..1);
+#X text 66 252 float: <initial_threshold> (0..1);
+#X text 24 306 Inlet 1: bang: set the current frame as "background"
+;
+#X text 24 323 Inlet 2: float: <lo_threshold> changes in the image
+that are smaller then <lo_threshold> are ignored;
+#X text 24 348 Inlet 3: float: <initial_threshold>;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 20 0;
+#X connect 18 0 17 0;
+#X connect 20 0 32 0;
+#X connect 20 2 21 0;
+#X connect 21 0 20 1;
+#X connect 22 0 23 0;
+#X connect 23 0 20 0;
+#X connect 29 0 30 0;
+#X connect 30 0 32 1;
+#X connect 32 0 18 0;
+#X connect 33 0 34 0;
+#X connect 34 0 32 2;
+#X connect 35 0 32 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_movie-help.pd b/packages/noncvs/windows/extra/Gem/pix_movie-help.pd
index 21bca6f4..b8478947 100644
--- a/packages/noncvs/windows/extra/Gem/pix_movie-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_movie-help.pd
@@ -1,153 +1,153 @@
-#N canvas 468 94 707 633 10;
-#X text 452 -2 GEM object;
-#X obj 8 305 cnv 15 430 320 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 9 307 Inlets:;
-#X text 9 477 Outlets:;
-#X obj 8 272 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 271 Arguments:;
-#X obj 8 46 cnv 15 430 180 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 47 cnv 15 250 450 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 30 Example:;
-#X obj 594 430 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X msg 67 70 set destroy;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X msg 156 71 set create;
-#X obj 67 41 route create;
-#X connect 2 0 7 0;
-#X connect 3 0 1 0;
-#X connect 4 0 0 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 0;
-#X connect 7 0 3 0;
-#X connect 7 0 4 0;
-#X connect 7 1 6 0;
-#X connect 7 1 5 0;
-#X restore 599 469 pd gemwin;
-#X msg 599 450 destroy;
-#X text 595 429 Create window:;
-#X obj 451 78 cnv 15 155 200 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 53 gemhead;
-#X text 17 491 Outlet 1: gemlist;
-#X text 23 321 Inlet 1: gemlist;
-#X obj 462 83 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X text 505 47 open a supported;
-#X text 506 58 movie-clip;
-#X obj 480 367 unpack 0 0 0;
-#X floatatom 466 390 5 0 0 3 length - -;
-#X floatatom 515 390 5 0 0 3 width - -;
-#X floatatom 565 390 5 0 0 3 height - -;
-#X obj 520 348 bng 15 250 50 0 empty empty end_reached 20 7 0 10 -262144
--1 -1;
-#X text 71 21 Class: pix object (pix source);
-#X text 29 47 Description: load in a movie-file;
-#X obj 462 112 openpanel;
-#X msg 462 132 open \$1;
-#X obj 451 472 rectangle 4 3;
-#X text 15 68 [pix_movie] loads in a preproduced digital-video to be
-used as a texture \, bitblit or something else.;
-#X text 63 282 symbol: file to load initially;
-#X text 17 560 Outlet 3: bang: indicates that the last frame has been
-reached;
-#X msg 490 189 auto \$1;
-#X obj 490 171 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X msg 501 213 colorspace Grey;
-#X text 13 94 You can open a specified film via the "open" message
-\, which takes an optional argument for the colorspace \, to which
-the movie should be decoded (RGBA \, YUV or Grey).;
-#X text 17 507 Outlet 2: list: <length> <width> <height>: gets the
-dimensions (in fps and pixels) of a film when it gets loaded. if length
-is not available (video-streams) -1 is returned.;
-#X text 14 134 Normally \, you will only get one specified (via the
-second inlet) frame of the film \, To play back a complete film \,
-you have to change the frame accordingly \, OR use the "auto" message
-\, to automatically proceed to the next frame each rendering-cycle.
-In auto-mode \, the film is NOT looped. Instead you can reset the current-frame
-to zero when the end of the film is reached.;
-#N canvas 67 224 453 238 :: 0;
-#X text 38 33 [pix_movie] is mainly a wrapper around [pix_film] with
-automatic texturing.;
-#X text 43 65 Hence it is able to play all formats supported by [pix_film].
-;
-#X text 45 107 See the help-patch for [pix_film] for more information
-on available formats.;
-#X restore 601 533 pd :: FORMATS;
-#X obj 8 229 cnv 15 430 40 empty empty empty 20 12 0 14 -260818 -66577
-0;
-#X obj 451 331 pix_movie;
-#X text 459 575 see also:;
-#X obj 536 575 pix_film;
-#X text 50 2 Synopsis: [pix_movie];
-#X obj 513 237 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X obj 505 290 hsl 128 15 0 127 0 0 empty empty empty -2 -8 0 10 -262144
--1 -1 0 1;
-#X floatatom 502 310 5 0 0 1 frame_number - -;
-#N canvas 830 50 450 300 demo 0;
-#X obj 23 26 inlet;
-#X text 126 127 win32:;
-#X text 116 190 linux \, os-X:;
-#X obj 79 257 outlet;
-#X obj 20 50 bng 17 250 50 0 empty empty empty 17 7 0 10 -262144 -1
--1;
-#X obj 38 51 cnv 15 81 15 empty empty demo_movie 4 8 0 10 -262144 -1
-0;
-#X msg 29 102 open ../../doc/gem/examples/data/alea.mpg;
-#X msg 151 147 open ../../doc/gem/examples/data/homer.avi;
-#X msg 144 210 open ../../doc/gem/examples/data/anim-1.mov;
-#X connect 0 0 4 0;
-#X connect 4 0 6 0;
-#X connect 6 0 3 0;
-#X connect 7 0 3 0;
-#X connect 8 0 3 0;
-#X coords 0 -1 1 1 100 17 1 20 50;
-#X restore 474 152 pd demo movie;
-#X text 454 532 for more info \, open:;
-#X text 22 453 Inlet 2: float: <frame number> sets the frame to output
-;
-#X text 23 400 Inlet 1: auto 1|0 : starts/stops automatic playback.
-;
-#X text 23 369 Inlet 1: colorspace "RGBA|YUV|Grey": decodes the current
-film into the specified colorspace.;
-#X text 23 336 Inlet 1: open <filename> [RGBA|YUV|Grey]: opens the
-movie <filename> and decodes it into the specified color-space.;
-#X obj 596 575 pix_texture;
-#X text 14 231 You don't need [pix_texture] to texture the image. [pix_movie]
-is a combination of [pix_film] and [pix_texture];
-#X text 17 590 Outlet 4: list: the texture id \, same as Outlet 2 of
-[pix_texture];
-#X text 23 419 Inlet 1: rectangle 0|1 : use rectangle-texturing when
-available (default=1);
-#X msg 513 256 rectangle \$1;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 41 0;
-#X connect 17 0 27 0;
-#X connect 20 0 21 0;
-#X connect 20 1 22 0;
-#X connect 20 2 23 0;
-#X connect 27 0 28 0;
-#X connect 28 0 41 0;
-#X connect 33 0 41 0;
-#X connect 34 0 33 0;
-#X connect 35 0 41 0;
-#X connect 41 0 29 0;
-#X connect 41 1 20 0;
-#X connect 41 2 24 0;
-#X connect 45 0 58 0;
-#X connect 46 0 47 0;
-#X connect 47 0 41 1;
-#X connect 48 0 41 0;
-#X connect 58 0 41 0;
+#N canvas 468 94 707 633 10;
+#X text 452 -2 GEM object;
+#X obj 8 305 cnv 15 430 320 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 9 307 Inlets:;
+#X text 9 477 Outlets:;
+#X obj 8 272 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 271 Arguments:;
+#X obj 8 46 cnv 15 430 180 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 47 cnv 15 250 450 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 30 Example:;
+#X obj 594 430 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X msg 67 70 set destroy;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X msg 156 71 set create;
+#X obj 67 41 route create;
+#X connect 2 0 7 0;
+#X connect 3 0 1 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 0;
+#X connect 7 0 3 0;
+#X connect 7 0 4 0;
+#X connect 7 1 6 0;
+#X connect 7 1 5 0;
+#X restore 599 469 pd gemwin;
+#X msg 599 450 destroy;
+#X text 595 429 Create window:;
+#X obj 451 78 cnv 15 155 200 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 53 gemhead;
+#X text 17 491 Outlet 1: gemlist;
+#X text 23 321 Inlet 1: gemlist;
+#X obj 462 83 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X text 505 47 open a supported;
+#X text 506 58 movie-clip;
+#X obj 480 367 unpack 0 0 0;
+#X floatatom 466 390 5 0 0 3 length - -;
+#X floatatom 515 390 5 0 0 3 width - -;
+#X floatatom 565 390 5 0 0 3 height - -;
+#X obj 520 348 bng 15 250 50 0 empty empty end_reached 20 7 0 10 -262144
+-1 -1;
+#X text 71 21 Class: pix object (pix source);
+#X text 29 47 Description: load in a movie-file;
+#X obj 462 112 openpanel;
+#X msg 462 132 open \$1;
+#X obj 451 472 rectangle 4 3;
+#X text 15 68 [pix_movie] loads in a preproduced digital-video to be
+used as a texture \, bitblit or something else.;
+#X text 63 282 symbol: file to load initially;
+#X text 17 560 Outlet 3: bang: indicates that the last frame has been
+reached;
+#X msg 490 189 auto \$1;
+#X obj 490 171 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X msg 501 213 colorspace Grey;
+#X text 13 94 You can open a specified film via the "open" message
+\, which takes an optional argument for the colorspace \, to which
+the movie should be decoded (RGBA \, YUV or Grey).;
+#X text 17 507 Outlet 2: list: <length> <width> <height>: gets the
+dimensions (in fps and pixels) of a film when it gets loaded. if length
+is not available (video-streams) -1 is returned.;
+#X text 14 134 Normally \, you will only get one specified (via the
+second inlet) frame of the film \, To play back a complete film \,
+you have to change the frame accordingly \, OR use the "auto" message
+\, to automatically proceed to the next frame each rendering-cycle.
+In auto-mode \, the film is NOT looped. Instead you can reset the current-frame
+to zero when the end of the film is reached.;
+#N canvas 67 224 453 238 :: 0;
+#X text 38 33 [pix_movie] is mainly a wrapper around [pix_film] with
+automatic texturing.;
+#X text 43 65 Hence it is able to play all formats supported by [pix_film].
+;
+#X text 45 107 See the help-patch for [pix_film] for more information
+on available formats.;
+#X restore 601 533 pd :: FORMATS;
+#X obj 8 229 cnv 15 430 40 empty empty empty 20 12 0 14 -260818 -66577
+0;
+#X obj 451 331 pix_movie;
+#X text 459 575 see also:;
+#X obj 536 575 pix_film;
+#X text 50 2 Synopsis: [pix_movie];
+#X obj 513 237 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 505 290 hsl 128 15 0 127 0 0 empty empty empty -2 -8 0 10 -262144
+-1 -1 0 1;
+#X floatatom 502 310 5 0 0 1 frame_number - -;
+#N canvas 830 50 450 300 demo 0;
+#X obj 23 26 inlet;
+#X text 126 127 win32:;
+#X text 116 190 linux \, os-X:;
+#X obj 79 257 outlet;
+#X obj 20 50 bng 17 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 38 51 cnv 15 81 15 empty empty demo_movie 4 8 0 10 -262144 -1
+0;
+#X msg 29 102 open examples/data/alea.mpg;
+#X msg 151 147 open examples/data/homer.avi;
+#X msg 144 210 open examples/data/anim-1.mov;
+#X connect 0 0 4 0;
+#X connect 4 0 6 0;
+#X connect 6 0 3 0;
+#X connect 7 0 3 0;
+#X connect 8 0 3 0;
+#X coords 0 -1 1 1 100 17 1 20 50;
+#X restore 474 152 pd demo movie;
+#X text 454 532 for more info \, open:;
+#X text 22 453 Inlet 2: float: <frame number> sets the frame to output
+;
+#X text 23 400 Inlet 1: auto 1|0 : starts/stops automatic playback.
+;
+#X text 23 369 Inlet 1: colorspace "RGBA|YUV|Grey": decodes the current
+film into the specified colorspace.;
+#X text 23 336 Inlet 1: open <filename> [RGBA|YUV|Grey]: opens the
+movie <filename> and decodes it into the specified color-space.;
+#X obj 596 575 pix_texture;
+#X text 14 231 You don't need [pix_texture] to texture the image. [pix_movie]
+is a combination of [pix_film] and [pix_texture];
+#X text 17 590 Outlet 4: list: the texture id \, same as Outlet 2 of
+[pix_texture];
+#X text 23 419 Inlet 1: rectangle 0|1 : use rectangle-texturing when
+available (default=1);
+#X msg 513 256 rectangle \$1;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 41 0;
+#X connect 17 0 27 0;
+#X connect 20 0 21 0;
+#X connect 20 1 22 0;
+#X connect 20 2 23 0;
+#X connect 27 0 28 0;
+#X connect 28 0 41 0;
+#X connect 33 0 41 0;
+#X connect 34 0 33 0;
+#X connect 35 0 41 0;
+#X connect 41 0 29 0;
+#X connect 41 1 20 0;
+#X connect 41 2 24 0;
+#X connect 45 0 58 0;
+#X connect 46 0 47 0;
+#X connect 47 0 41 1;
+#X connect 48 0 41 0;
+#X connect 58 0 41 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_multiblob-help.pd b/packages/noncvs/windows/extra/Gem/pix_multiblob-help.pd
index 1fadb800..67060b60 100644
--- a/packages/noncvs/windows/extra/Gem/pix_multiblob-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_multiblob-help.pd
@@ -1,205 +1,205 @@
-#N canvas 361 216 690 473 10;
-#X text 452 8 GEM object;
-#X obj 9 265 cnv 15 430 145 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 40 267 Inlets:;
-#X text 39 352 Outlets:;
-#X obj 9 227 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 18 226 Arguments:;
-#X obj 8 56 cnv 15 430 165 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 37 cnv 15 200 380 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 20 Example:;
-#X obj 450 339 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X msg 67 70 set destroy;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X msg 156 71 set create;
-#X obj 67 41 route create;
-#X connect 2 0 7 0;
-#X connect 3 0 1 0;
-#X connect 4 0 0 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 0;
-#X connect 7 0 3 0;
-#X connect 7 0 4 0;
-#X connect 7 1 6 0;
-#X connect 7 1 5 0;
-#X restore 455 378 pd gemwin;
-#X msg 455 359 destroy;
-#X text 451 338 Create window:;
-#X obj 451 133 cnv 15 185 120 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 43 gemhead;
-#X text 17 366 Outlet 1: gemlist;
-#X text 24 281 Inlet 1: gemlist;
-#X obj 451 260 pix_texture;
-#X obj 451 111 pix_film;
-#X obj 515 111 t f;
-#X obj 464 63 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#N canvas 0 22 450 300 open 0;
-#X obj 85 49 inlet;
-#X obj 85 237 outlet;
-#X obj 85 145 openpanel;
-#X msg 85 179 open \$1;
-#X msg 259 213 auto 1;
-#X obj 259 189 loadbang;
-#X connect 0 0 2 0;
-#X connect 2 0 3 0;
-#X connect 3 0 1 0;
-#X connect 4 0 1 0;
-#X connect 5 0 4 0;
-#X restore 464 91 pd open;
-#X text 505 37 open a supported;
-#X text 506 48 movie-clip;
-#X text 523 74 macOS: quicktime;
-#X text 516 64 windos: *.AVI;
-#X text 523 84 linux: depends...;
-#X floatatom 463 150 3 0 100 2 threshold - -;
-#X obj 463 167 / 100;
-#X text 71 31 Class: pix object (analysis);
-#X obj 451 282 square 4;
-#X msg 463 188 threshold \$1;
-#X floatatom 553 150 3 0 100 2 blobsize - -;
-#X obj 553 167 / 100;
-#X msg 553 188 blobSize \$1;
-#X text 24 296 Inlet 1: threshold <float>: minimum luminance of a pixel
-to be considered part of a blob. (default=0.04);
-#X text 24 325 Inlet 1: blobSize <float>: minimum relative size of
-a blob. (default=0.1);
-#X text 50 12 Synopsis: [pix_multiblob];
-#X text 30 58 Description: blob detector (for multiple blobs);
-#X text 16 73 [pix_multiblob] is able to detect multiple blobs within
-an image.;
-#X text 17 103 a "blob" is a number of adjacent(!) pixels with a luminance
-that is bigger than the value defined by "threshold". you can set the
-minimum size of a blob that is needed to be detected.;
-#X text 17 156 the output is a matrix following the conventions of
-the mtx-objects from zexy/iemmatrix. each row describes one detected
-blob as follows: centerX(weighted) \, centerY(weighted) \, size(weighted)
-\, minX \, minY \, maxX \, maxY \, size;
-#X text 64 237 int: max number N of blobs to detect;
-#X text 17 381 Outlet 2: (k \, 8) matrix: describing k detected blobs
-(with 0<=k<N);
-#X text 20 428 for motion-tracking you will also need;
-#X obj 304 425 pix_movement;
-#X floatatom 563 286 5 0 0 1 x - -;
-#X floatatom 564 302 5 0 0 1 y - -;
-#X floatatom 564 318 5 0 0 1 size - -;
-#X floatatom 565 334 5 0 0 1 minX - -;
-#X floatatom 565 350 5 0 0 1 minY - -;
-#X floatatom 566 366 5 0 0 1 maxX - -;
-#X floatatom 566 382 5 0 0 1 maxY - -;
-#X floatatom 567 398 5 0 0 1 area - -;
-#N canvas 0 22 687 354 showblob 0;
-#X obj 67 86 inlet blobinformation;
-#X msg 67 114 \$3 \$4 \$5 \$6 \$7 \$8 \$9 \$10;
-#X obj 67 138 unpack 0 0 0 0 0 0 0 0;
-#X obj 67 167 outlet weightedX;
-#X obj 88 187 outlet weightedY;
-#X obj 109 207 outlet weightedSize;
-#X obj 156 236 outlet minX;
-#X obj 177 256 outlet minY;
-#X obj 243 236 outlet maxX;
-#X obj 260 256 outlet maxY;
-#X obj 348 238 outlet size;
-#X text 60 45 this extracts information of the 1st detected blob;
-#N canvas 517 405 450 300 rectangle 0;
-#X obj 68 75 inlet;
-#X obj 215 -1 inlet;
-#X obj 68 257 rectangle;
-#X obj 68 234 translateXYZ;
-#X obj 215 69 unpack 0 0 0 0;
-#X obj 215 94 +;
-#X obj 254 95 +;
-#X text 248 125 0..2;
-#X text 250 145 -1..+1;
-#X obj 340 148 -;
-#X obj 377 149 -;
-#X obj 193 124 - 1;
-#X obj 193 147 * 4;
-#X obj 222 123 - 1;
-#X obj 222 146 * 4;
-#X obj 340 180 * -4;
-#X obj 377 180 * -4;
-#X connect 0 0 3 0;
-#X connect 1 0 4 0;
-#X connect 3 0 2 0;
-#X connect 4 0 5 0;
-#X connect 4 0 9 0;
-#X connect 4 1 5 1;
-#X connect 4 1 9 1;
-#X connect 4 2 6 0;
-#X connect 4 2 10 0;
-#X connect 4 3 6 1;
-#X connect 4 3 10 1;
-#X connect 5 0 11 0;
-#X connect 6 0 13 0;
-#X connect 9 0 15 0;
-#X connect 10 0 16 0;
-#X connect 11 0 12 0;
-#X connect 12 0 3 1;
-#X connect 13 0 14 0;
-#X connect 14 0 3 2;
-#X connect 15 0 2 1;
-#X connect 16 0 2 2;
-#X restore 346 188 pd rectangle;
-#X obj 346 117 color 1 1 1 0.5;
-#X obj 346 96 gemhead 70;
-#X obj 346 138 alpha;
-#X msg 425 164 \$6 \$8 \$7 \$9;
-#X connect 0 0 1 0;
-#X connect 0 0 16 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 2 1 4 0;
-#X connect 2 2 5 0;
-#X connect 2 3 6 0;
-#X connect 2 4 7 0;
-#X connect 2 5 8 0;
-#X connect 2 6 9 0;
-#X connect 2 7 10 0;
-#X connect 13 0 15 0;
-#X connect 14 0 13 0;
-#X connect 15 0 12 0;
-#X connect 16 0 12 1;
-#X restore 541 261 pd showblob 1;
-#X msg 543 112 auto \$1;
-#X obj 604 114 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X obj 451 222 pix_multiblob 6;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 18 0;
-#X connect 17 0 30 0;
-#X connect 18 0 57 0;
-#X connect 18 2 19 0;
-#X connect 19 0 18 1;
-#X connect 20 0 21 0;
-#X connect 21 0 18 0;
-#X connect 27 0 28 0;
-#X connect 28 0 31 0;
-#X connect 31 0 57 0;
-#X connect 32 0 33 0;
-#X connect 33 0 34 0;
-#X connect 34 0 57 0;
-#X connect 54 0 46 0;
-#X connect 54 1 47 0;
-#X connect 54 2 48 0;
-#X connect 54 3 49 0;
-#X connect 54 4 50 0;
-#X connect 54 5 51 0;
-#X connect 54 6 52 0;
-#X connect 54 7 53 0;
-#X connect 55 0 18 0;
-#X connect 56 0 55 0;
-#X connect 57 0 17 0;
-#X connect 57 1 54 0;
+#N canvas 361 216 690 473 10;
+#X text 452 8 GEM object;
+#X obj 9 265 cnv 15 430 145 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 40 267 Inlets:;
+#X text 39 352 Outlets:;
+#X obj 9 227 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 18 226 Arguments:;
+#X obj 8 56 cnv 15 430 165 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 37 cnv 15 200 380 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 20 Example:;
+#X obj 450 339 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X msg 67 70 set destroy;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X msg 156 71 set create;
+#X obj 67 41 route create;
+#X connect 2 0 7 0;
+#X connect 3 0 1 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 0;
+#X connect 7 0 3 0;
+#X connect 7 0 4 0;
+#X connect 7 1 6 0;
+#X connect 7 1 5 0;
+#X restore 455 378 pd gemwin;
+#X msg 455 359 create;
+#X text 451 338 Create window:;
+#X obj 451 133 cnv 15 185 120 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 43 gemhead;
+#X text 17 366 Outlet 1: gemlist;
+#X text 24 281 Inlet 1: gemlist;
+#X obj 451 260 pix_texture;
+#X obj 451 111 pix_film;
+#X obj 515 111 t f;
+#X obj 464 63 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#N canvas 0 22 450 300 open 0;
+#X obj 85 49 inlet;
+#X obj 85 237 outlet;
+#X obj 85 145 openpanel;
+#X msg 85 179 open \$1;
+#X msg 259 213 auto 1;
+#X obj 259 189 loadbang;
+#X connect 0 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 1 0;
+#X connect 5 0 4 0;
+#X restore 464 91 pd open;
+#X text 505 37 open a supported;
+#X text 506 48 movie-clip;
+#X text 523 74 macOS: quicktime;
+#X text 516 64 windos: *.AVI;
+#X text 523 84 linux: depends...;
+#X floatatom 463 150 3 0 100 2 threshold - -;
+#X obj 463 167 / 100;
+#X text 71 31 Class: pix object (analysis);
+#X obj 451 282 square 4;
+#X msg 463 188 threshold \$1;
+#X floatatom 553 150 3 0 100 2 blobsize - -;
+#X obj 553 167 / 100;
+#X msg 553 188 blobSize \$1;
+#X text 24 296 Inlet 1: threshold <float>: minimum luminance of a pixel
+to be considered part of a blob. (default=0.04);
+#X text 24 325 Inlet 1: blobSize <float>: minimum relative size of
+a blob. (default=0.1);
+#X text 50 12 Synopsis: [pix_multiblob];
+#X text 30 58 Description: blob detector (for multiple blobs);
+#X text 16 73 [pix_multiblob] is able to detect multiple blobs within
+an image.;
+#X text 17 103 a "blob" is a number of adjacent(!) pixels with a luminance
+that is bigger than the value defined by "threshold". you can set the
+minimum size of a blob that is needed to be detected.;
+#X text 17 156 the output is a matrix following the conventions of
+the mtx-objects from zexy/iemmatrix. each row describes one detected
+blob as follows: centerX(weighted) \, centerY(weighted) \, size(weighted)
+\, minX \, minY \, maxX \, maxY \, size;
+#X text 64 237 int: max number N of blobs to detect;
+#X text 17 381 Outlet 2: (k \, 8) matrix: describing k detected blobs
+(with 0<=k<N);
+#X text 20 428 for motion-tracking you will also need;
+#X obj 304 425 pix_movement;
+#X floatatom 563 286 5 0 0 1 x - -;
+#X floatatom 564 302 5 0 0 1 y - -;
+#X floatatom 564 318 5 0 0 1 size - -;
+#X floatatom 565 334 5 0 0 1 minX - -;
+#X floatatom 565 350 5 0 0 1 minY - -;
+#X floatatom 566 366 5 0 0 1 maxX - -;
+#X floatatom 566 382 5 0 0 1 maxY - -;
+#X floatatom 567 398 5 0 0 1 area - -;
+#N canvas 0 22 687 354 showblob 0;
+#X obj 67 86 inlet blobinformation;
+#X msg 67 114 \$3 \$4 \$5 \$6 \$7 \$8 \$9 \$10;
+#X obj 67 138 unpack 0 0 0 0 0 0 0 0;
+#X obj 67 167 outlet weightedX;
+#X obj 88 187 outlet weightedY;
+#X obj 109 207 outlet weightedSize;
+#X obj 156 236 outlet minX;
+#X obj 177 256 outlet minY;
+#X obj 243 236 outlet maxX;
+#X obj 260 256 outlet maxY;
+#X obj 348 238 outlet size;
+#X text 60 45 this extracts information of the 1st detected blob;
+#N canvas 517 405 450 300 rectangle 0;
+#X obj 68 75 inlet;
+#X obj 215 -1 inlet;
+#X obj 68 257 rectangle;
+#X obj 68 234 translateXYZ;
+#X obj 215 69 unpack 0 0 0 0;
+#X obj 215 94 +;
+#X obj 254 95 +;
+#X text 248 125 0..2;
+#X text 250 145 -1..+1;
+#X obj 340 148 -;
+#X obj 377 149 -;
+#X obj 193 124 - 1;
+#X obj 193 147 * 4;
+#X obj 222 123 - 1;
+#X obj 222 146 * 4;
+#X obj 340 180 * -4;
+#X obj 377 180 * -4;
+#X connect 0 0 3 0;
+#X connect 1 0 4 0;
+#X connect 3 0 2 0;
+#X connect 4 0 5 0;
+#X connect 4 0 9 0;
+#X connect 4 1 5 1;
+#X connect 4 1 9 1;
+#X connect 4 2 6 0;
+#X connect 4 2 10 0;
+#X connect 4 3 6 1;
+#X connect 4 3 10 1;
+#X connect 5 0 11 0;
+#X connect 6 0 13 0;
+#X connect 9 0 15 0;
+#X connect 10 0 16 0;
+#X connect 11 0 12 0;
+#X connect 12 0 3 1;
+#X connect 13 0 14 0;
+#X connect 14 0 3 2;
+#X connect 15 0 2 1;
+#X connect 16 0 2 2;
+#X restore 346 188 pd rectangle;
+#X obj 346 117 color 1 1 1 0.5;
+#X obj 346 96 gemhead 70;
+#X obj 346 138 alpha;
+#X msg 425 164 \$6 \$8 \$7 \$9;
+#X connect 0 0 1 0;
+#X connect 0 0 16 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 0;
+#X connect 2 2 5 0;
+#X connect 2 3 6 0;
+#X connect 2 4 7 0;
+#X connect 2 5 8 0;
+#X connect 2 6 9 0;
+#X connect 2 7 10 0;
+#X connect 13 0 15 0;
+#X connect 14 0 13 0;
+#X connect 15 0 12 0;
+#X connect 16 0 12 1;
+#X restore 541 261 pd showblob 1;
+#X msg 543 112 auto \$1;
+#X obj 604 114 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 451 222 pix_multiblob 6;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 18 0;
+#X connect 17 0 30 0;
+#X connect 18 0 57 0;
+#X connect 18 2 19 0;
+#X connect 19 0 18 1;
+#X connect 20 0 21 0;
+#X connect 21 0 18 0;
+#X connect 27 0 28 0;
+#X connect 28 0 31 0;
+#X connect 31 0 57 0;
+#X connect 32 0 33 0;
+#X connect 33 0 34 0;
+#X connect 34 0 57 0;
+#X connect 54 0 46 0;
+#X connect 54 1 47 0;
+#X connect 54 2 48 0;
+#X connect 54 3 49 0;
+#X connect 54 4 50 0;
+#X connect 54 5 51 0;
+#X connect 54 6 52 0;
+#X connect 54 7 53 0;
+#X connect 55 0 18 0;
+#X connect 56 0 55 0;
+#X connect 57 0 17 0;
+#X connect 57 1 54 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_multiimage-help.pd b/packages/noncvs/windows/extra/Gem/pix_multiimage-help.pd
index 08fd29c8..e12f9bbc 100644
--- a/packages/noncvs/windows/extra/Gem/pix_multiimage-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_multiimage-help.pd
@@ -1,72 +1,72 @@
-#N canvas 0 0 654 431 10;
-#X text 452 8 GEM object;
-#X obj 8 305 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 308 Inlets:;
-#X text 38 395 Outlets:;
-#X obj 8 270 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 269 Arguments:;
-#X obj 7 76 cnv 15 430 190 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X obj 450 128 cnv 15 160 100 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 16 408 Outlet 1: gemlist;
-#X text 23 322 Inlet 1: gemlist;
-#X text 71 31 Class: pix source;
-#X obj 451 233 pix_texture;
-#X obj 451 256 square;
-#X obj 451 196 pix_multiimage;
-#X msg 467 135 open myFiles*.tif 5;
-#X floatatom 544 173 3 0 5 0 image# - -;
-#X text 28 96 pix_multiimage loads in an image to be used a texture
-\, bitblit \, or something else. If you don't give it a default image
-file \, you can send the open message with a filename.;
-#X text 26 144 The integer to select which image you want to display
-is selects the image starting from ZERO! This means \, to display the
-first image \, you need to send a 0 \, for the second image \, a 1
-\, etc.;
-#X text 27 202 [pix_multiimage] loads TIFF \, JPEG and PNG images.
-;
-#X text 50 12 Synopsis: [pix_multiimage];
-#X text 29 76 Description: loads in multiple image files;
-#X text 63 281 <filename> (with wildcard *) for images to load;
-#X text 23 335 Inlet 1: open <filename> <#> : open images (the wildcard
-in the filename is expanded with integer 0..#);
-#X text 23 365 Inlet 2: <int> : select image (starting at 0);
-#X text 14 221 The image can be either drawn directly using [pix_draw]
-(VERY slow) or applied as a texture onto a Geo ([pix_texture]);
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 20 0;
-#X connect 18 0 19 0;
-#X connect 20 0 18 0;
-#X connect 21 0 20 0;
-#X connect 22 0 20 1;
+#N canvas 0 0 654 431 10;
+#X text 452 8 GEM object;
+#X obj 8 305 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 308 Inlets:;
+#X text 38 395 Outlets:;
+#X obj 8 270 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 269 Arguments:;
+#X obj 7 76 cnv 15 430 190 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X obj 450 128 cnv 15 160 100 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 16 408 Outlet 1: gemlist;
+#X text 23 322 Inlet 1: gemlist;
+#X text 71 31 Class: pix source;
+#X obj 451 233 pix_texture;
+#X obj 451 256 square;
+#X obj 451 196 pix_multiimage;
+#X msg 467 135 open myFiles*.tif 5;
+#X floatatom 544 173 3 0 5 0 image# - -;
+#X text 28 96 pix_multiimage loads in an image to be used a texture
+\, bitblit \, or something else. If you don't give it a default image
+file \, you can send the open message with a filename.;
+#X text 26 144 The integer to select which image you want to display
+is selects the image starting from ZERO! This means \, to display the
+first image \, you need to send a 0 \, for the second image \, a 1
+\, etc.;
+#X text 27 202 [pix_multiimage] loads TIFF \, JPEG and PNG images.
+;
+#X text 50 12 Synopsis: [pix_multiimage];
+#X text 29 76 Description: loads in multiple image files;
+#X text 63 281 <filename> (with wildcard *) for images to load;
+#X text 23 335 Inlet 1: open <filename> <#> : open images (the wildcard
+in the filename is expanded with integer 0..#);
+#X text 23 365 Inlet 2: <int> : select image (starting at 0);
+#X text 14 221 The image can be either drawn directly using [pix_draw]
+(VERY slow) or applied as a texture onto a Geo ([pix_texture]);
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 20 0;
+#X connect 18 0 19 0;
+#X connect 20 0 18 0;
+#X connect 21 0 20 0;
+#X connect 22 0 20 1;
diff --git a/packages/noncvs/windows/extra/Gem/pix_multiply-help.pd b/packages/noncvs/windows/extra/Gem/pix_multiply-help.pd
index 8f230334..ecf99db4 100644
--- a/packages/noncvs/windows/extra/Gem/pix_multiply-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_multiply-help.pd
@@ -1,97 +1,97 @@
-#N canvas 497 199 683 381 10;
-#X text 452 8 GEM object;
-#X obj 8 226 cnv 15 430 135 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 248 Inlets:;
-#X text 39 304 Outlets:;
-#X obj 8 186 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 185 Arguments:;
-#X obj 8 66 cnv 15 430 110 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 280 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 290 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 329 pd gemwin;
-#X msg 519 310 destroy;
-#X text 515 289 Create window:;
-#X obj 451 168 cnv 15 160 80 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 119 gemhead;
-#X obj 502 102 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 22 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 451 138 pd image;
-#X obj 451 263 pix_texture;
-#X text 63 196 <none>;
-#X text 47 318 Outlet 1: gemlist;
-#X text 53 262 Inlet 1: gemlist;
-#X obj 451 285 square 3;
-#X text 503 88 (JPEG \, TIFF \, ..);
-#X obj 541 122 gemhead;
-#N canvas 0 22 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/dancer.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 541 141 pd image;
-#X obj 592 103 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#X text 53 291 Inlet 2: gemlist;
-#X text 449 77 open two different images;
-#X text 71 31 Class: pix mix object;
-#X text 33 157 The 2 images have to be of the same size.;
-#X text 50 12 Synopsis: [pix_multiply];
-#X text 29 67 Description: multiply 2 images;
-#X obj 451 198 pix_multiply;
-#X text 29 91 [pix_mutltiply] simply multiplies two pixes together.
-E.g: where either of the pixels is black \, the resulting image will
-be black too. Thus it is simple to get black images.;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 16 0;
-#X connect 15 0 16 1;
-#X connect 16 0 32 0;
-#X connect 17 0 21 0;
-#X connect 23 0 24 0;
-#X connect 24 0 32 1;
-#X connect 25 0 24 1;
-#X connect 32 0 17 0;
+#N canvas 497 199 683 381 10;
+#X text 452 8 GEM object;
+#X obj 8 226 cnv 15 430 135 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 248 Inlets:;
+#X text 39 304 Outlets:;
+#X obj 8 186 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 185 Arguments:;
+#X obj 8 66 cnv 15 430 110 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 280 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 290 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 329 pd gemwin;
+#X msg 519 310 destroy;
+#X text 515 289 Create window:;
+#X obj 451 168 cnv 15 160 80 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 119 gemhead;
+#X obj 502 102 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 22 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 451 138 pd image;
+#X obj 451 263 pix_texture;
+#X text 63 196 <none>;
+#X text 47 318 Outlet 1: gemlist;
+#X text 53 262 Inlet 1: gemlist;
+#X obj 451 285 square 3;
+#X text 503 88 (JPEG \, TIFF \, ..);
+#X obj 541 122 gemhead;
+#N canvas 0 22 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/dancer.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 541 141 pd image;
+#X obj 592 103 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#X text 53 291 Inlet 2: gemlist;
+#X text 449 77 open two different images;
+#X text 71 31 Class: pix mix object;
+#X text 33 157 The 2 images have to be of the same size.;
+#X text 50 12 Synopsis: [pix_multiply];
+#X text 29 67 Description: multiply 2 images;
+#X obj 451 198 pix_multiply;
+#X text 29 91 [pix_mutltiply] simply multiplies two pixes together.
+E.g: where either of the pixels is black \, the resulting image will
+be black too. Thus it is simple to get black images.;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 16 0;
+#X connect 15 0 16 1;
+#X connect 16 0 32 0;
+#X connect 17 0 21 0;
+#X connect 23 0 24 0;
+#X connect 24 0 32 1;
+#X connect 25 0 24 1;
+#X connect 32 0 17 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_normalize-help.pd b/packages/noncvs/windows/extra/Gem/pix_normalize-help.pd
index 234c6d18..01f017df 100644
--- a/packages/noncvs/windows/extra/Gem/pix_normalize-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_normalize-help.pd
@@ -1,85 +1,85 @@
-#N canvas 0 0 654 335 10;
-#X text 452 8 GEM object;
-#X obj 8 245 cnv 15 430 80 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 248 Inlets:;
-#X text 38 295 Outlets:;
-#X obj 8 206 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 205 Arguments:;
-#X obj 7 76 cnv 15 430 125 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X obj 450 158 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 71 31 Class: pix object;
-#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X obj 102 225 loadbang;
-#X obj 77 274 pix_gain;
-#X msg 102 249 0.5;
-#X text 145 257 we do this \, to make "normalize" do something more...
-;
-#X connect 0 0 2 0;
-#X connect 2 0 7 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X connect 6 0 8 0;
-#X connect 7 0 1 0;
-#X connect 8 0 7 1;
-#X restore 451 113 pd image;
-#X text 63 216 <none>;
-#X text 56 308 Outlet 1: gemlist;
-#X text 63 262 Inlet 1: gemlist;
-#X obj 451 233 pix_draw;
-#X text 516 105 open an image;
-#X text 509 118 (JPEG \, TIFF \, ..);
-#X obj 468 165 tgl 15 1 empty empty empty 0 -6 0 8 -262144 -1 -1 1
-1;
-#X text 63 275 Inlet 1: 0|1 : apply/don't apply;
-#X obj 451 186 pix_normalize;
-#X text 29 76 Description: normalize an image;
-#X text 29 123 [pix_normalize] will normalize your image \, so that
-contrasts will appear sharper.;
-#X text 50 12 Synopsis: [pix_normalize];
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 17 0;
-#X connect 16 0 17 1;
-#X connect 17 0 26 0;
-#X connect 24 0 26 0;
-#X connect 26 0 21 0;
+#N canvas 0 0 654 335 10;
+#X text 452 8 GEM object;
+#X obj 8 245 cnv 15 430 80 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 248 Inlets:;
+#X text 38 295 Outlets:;
+#X obj 8 206 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 205 Arguments:;
+#X obj 7 76 cnv 15 430 125 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X obj 450 158 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 71 31 Class: pix object;
+#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X obj 102 225 loadbang;
+#X obj 77 274 pix_gain;
+#X msg 102 249 0.5;
+#X text 145 257 we do this \, to make "normalize" do something more...
+;
+#X connect 0 0 2 0;
+#X connect 2 0 7 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X connect 6 0 8 0;
+#X connect 7 0 1 0;
+#X connect 8 0 7 1;
+#X restore 451 113 pd image;
+#X text 63 216 <none>;
+#X text 56 308 Outlet 1: gemlist;
+#X text 63 262 Inlet 1: gemlist;
+#X obj 451 233 pix_draw;
+#X text 516 105 open an image;
+#X text 509 118 (JPEG \, TIFF \, ..);
+#X obj 468 165 tgl 15 1 empty empty empty 0 -6 0 8 -262144 -1 -1 1
+1;
+#X text 63 275 Inlet 1: 0|1 : apply/don't apply;
+#X obj 451 186 pix_normalize;
+#X text 29 76 Description: normalize an image;
+#X text 29 123 [pix_normalize] will normalize your image \, so that
+contrasts will appear sharper.;
+#X text 50 12 Synopsis: [pix_normalize];
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 17 0;
+#X connect 16 0 17 1;
+#X connect 17 0 26 0;
+#X connect 24 0 26 0;
+#X connect 26 0 21 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_offset-help.pd b/packages/noncvs/windows/extra/Gem/pix_offset-help.pd
index 2cc1004a..bbeefa09 100644
--- a/packages/noncvs/windows/extra/Gem/pix_offset-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_offset-help.pd
@@ -1,84 +1,84 @@
-#N canvas 0 0 654 375 10;
-#X text 452 8 GEM object;
-#X obj 8 245 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 248 Inlets:;
-#X text 38 335 Outlets:;
-#X obj 8 206 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 205 Arguments:;
-#X obj 7 76 cnv 15 430 125 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X obj 450 158 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 71 31 Class: pix object;
-#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 451 113 pd image;
-#X text 63 216 <none>;
-#X text 56 348 Outlet 1: gemlist;
-#X text 63 262 Inlet 1: gemlist;
-#X obj 451 233 pix_draw;
-#X text 516 105 open an image;
-#X text 509 118 (JPEG \, TIFF \, ..);
-#X text 63 275 Inlet 1: 0|1 : apply/don't apply;
-#X obj 451 196 pix_offset;
-#X floatatom 483 171 5 0 1 0 - - -;
-#X msg 531 166 0.5 -0.5 0;
-#X msg 534 193 0.2 1 0 1;
-#X text 50 12 Synopsis: [pix_offset];
-#X text 29 76 Description: add an offset to the color;
-#X text 15 113 When adding an offset to each color-channel \, no clipping
-is done. Thus you can wrap around the color-space.;
-#X text 19 157 (adding "1 0 0" to "0.5 1 1" will result in "0.5 1 1"
-instead of "1 1 1");
-#X text 63 295 Inlet 2: <float> : offset for all channels;
-#X text 63 311 Inlet 3: list : offset for each channels;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 17 0;
-#X connect 16 0 17 1;
-#X connect 17 0 25 0;
-#X connect 25 0 21 0;
-#X connect 26 0 25 1;
-#X connect 27 0 25 2;
-#X connect 28 0 25 2;
+#N canvas 0 0 654 375 10;
+#X text 452 8 GEM object;
+#X obj 8 245 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 248 Inlets:;
+#X text 38 335 Outlets:;
+#X obj 8 206 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 205 Arguments:;
+#X obj 7 76 cnv 15 430 125 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X obj 450 158 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 71 31 Class: pix object;
+#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 451 113 pd image;
+#X text 63 216 <none>;
+#X text 56 348 Outlet 1: gemlist;
+#X text 63 262 Inlet 1: gemlist;
+#X obj 451 233 pix_draw;
+#X text 516 105 open an image;
+#X text 509 118 (JPEG \, TIFF \, ..);
+#X text 63 275 Inlet 1: 0|1 : apply/don't apply;
+#X obj 451 196 pix_offset;
+#X floatatom 483 171 5 0 1 0 - - -;
+#X msg 531 166 0.5 -0.5 0;
+#X msg 534 193 0.2 1 0 1;
+#X text 50 12 Synopsis: [pix_offset];
+#X text 29 76 Description: add an offset to the color;
+#X text 15 113 When adding an offset to each color-channel \, no clipping
+is done. Thus you can wrap around the color-space.;
+#X text 19 157 (adding "1 0 0" to "0.5 1 1" will result in "0.5 1 1"
+instead of "1 1 1");
+#X text 63 295 Inlet 2: <float> : offset for all channels;
+#X text 63 311 Inlet 3: list : offset for each channels;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 17 0;
+#X connect 16 0 17 1;
+#X connect 17 0 25 0;
+#X connect 25 0 21 0;
+#X connect 26 0 25 1;
+#X connect 27 0 25 2;
+#X connect 28 0 25 2;
diff --git a/packages/noncvs/windows/extra/Gem/pix_pix2sig~-help.pd b/packages/noncvs/windows/extra/Gem/pix_pix2sig~-help.pd
index 26756ae4..010d7ce0 100644
--- a/packages/noncvs/windows/extra/Gem/pix_pix2sig~-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_pix2sig~-help.pd
@@ -1,103 +1,103 @@
-#N canvas 330 40 689 418 10;
-#X text 452 8 GEM object;
-#X obj 8 245 cnv 15 430 150 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 248 Inlets:;
-#X text 38 284 Outlets:;
-#X obj 8 206 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 205 Arguments:;
-#X obj 7 76 cnv 15 430 125 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 290 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 244 cnv 15 100 100 empty empty empty 20 12 0 14 -195568
--66577 0;
-#N canvas 0 22 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 283 pd gemwin;
-#X msg 519 264 create;
-#X text 515 243 Create window:;
-#X obj 450 135 cnv 15 160 90 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 71 31 Class: pix object;
-#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 22 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 451 113 pd image;
-#X text 63 216 <none>;
-#X text 56 297 Outlet 1: gemlist;
-#X text 63 262 Inlet 1: gemlist;
-#X obj 451 253 pix_draw;
-#X text 516 105 open an image;
-#X text 509 118 (JPEG \, TIFF \, ..);
-#X text 23 92 [pix_sig2pix~] will write the data it gets from images
-as signals for each color-channel.;
-#X text 22 118 [pix_sig2pix~] will try to put all the image-data into
-one audio-block. it will not spread the data of one image over more
-than one audio-block. therefore you will have to set the audio-blocksize
-with [block~ <n>].;
-#X text 21 170 Depending on the size of the images you are converting
-\, you will want to put a huge [block~ 65536 32] into your patch.;
-#X text 56 313 Outlet 2: signal~ : red-channel (or Yuv- \, or grey-)
-;
-#X text 56 343 Outlet 3: signal~ : blue-channel (or yuV- \, or 0);
-#X text 56 328 Outlet 2: signal~ : green-channel (or yUv- \, or 0)
-;
-#X text 56 358 Outlet 4: signal~ : alpha-channel (or 0);
-#X text 29 76 Description: convert images to signals;
-#X text 50 12 Synopsis: [pix_pix2sig~];
-#X obj 451 142 pix_pix2sig~;
-#X floatatom 564 194 3 0 0 3 a - -;
-#X floatatom 533 195 3 0 0 3 b - -;
-#X floatatom 502 195 3 0 0 3 g - -;
-#X floatatom 471 194 3 0 0 3 r - -;
-#X msg 527 310 \; pd dsp 1;
-#X obj 466 385 block~ 65536 32;
-#X obj 471 171 env~ 65536;
-#X obj 564 171 env~ 65536;
-#X obj 533 171 env~ 65536;
-#X obj 502 171 env~ 65536;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 17 0;
-#X connect 16 0 17 1;
-#X connect 17 0 33 0;
-#X connect 33 0 21 0;
-#X connect 33 1 40 0;
-#X connect 33 2 43 0;
-#X connect 33 3 42 0;
-#X connect 33 4 41 0;
-#X connect 40 0 37 0;
-#X connect 41 0 34 0;
-#X connect 42 0 35 0;
-#X connect 43 0 36 0;
+#N canvas 330 40 689 418 10;
+#X text 452 8 GEM object;
+#X obj 8 245 cnv 15 430 150 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 248 Inlets:;
+#X text 38 284 Outlets:;
+#X obj 8 206 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 205 Arguments:;
+#X obj 7 76 cnv 15 430 125 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 290 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 244 cnv 15 100 100 empty empty empty 20 12 0 14 -195568
+-66577 0;
+#N canvas 0 22 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 283 pd gemwin;
+#X msg 519 264 create;
+#X text 515 243 Create window:;
+#X obj 450 135 cnv 15 160 90 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 71 31 Class: pix object;
+#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 22 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 451 113 pd image;
+#X text 63 216 <none>;
+#X text 56 297 Outlet 1: gemlist;
+#X text 63 262 Inlet 1: gemlist;
+#X obj 451 253 pix_draw;
+#X text 516 105 open an image;
+#X text 509 118 (JPEG \, TIFF \, ..);
+#X text 23 92 [pix_sig2pix~] will write the data it gets from images
+as signals for each color-channel.;
+#X text 22 118 [pix_sig2pix~] will try to put all the image-data into
+one audio-block. it will not spread the data of one image over more
+than one audio-block. therefore you will have to set the audio-blocksize
+with [block~ <n>].;
+#X text 21 170 Depending on the size of the images you are converting
+\, you will want to put a huge [block~ 65536 32] into your patch.;
+#X text 56 313 Outlet 2: signal~ : red-channel (or Yuv- \, or grey-)
+;
+#X text 56 343 Outlet 3: signal~ : blue-channel (or yuV- \, or 0);
+#X text 56 328 Outlet 2: signal~ : green-channel (or yUv- \, or 0)
+;
+#X text 56 358 Outlet 4: signal~ : alpha-channel (or 0);
+#X text 29 76 Description: convert images to signals;
+#X text 50 12 Synopsis: [pix_pix2sig~];
+#X obj 451 142 pix_pix2sig~;
+#X floatatom 564 194 3 0 0 3 a - -;
+#X floatatom 533 195 3 0 0 3 b - -;
+#X floatatom 502 195 3 0 0 3 g - -;
+#X floatatom 471 194 3 0 0 3 r - -;
+#X msg 527 310 \; pd dsp 1;
+#X obj 466 385 block~ 65536 32;
+#X obj 471 171 env~ 65536;
+#X obj 564 171 env~ 65536;
+#X obj 533 171 env~ 65536;
+#X obj 502 171 env~ 65536;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 17 0;
+#X connect 16 0 17 1;
+#X connect 17 0 33 0;
+#X connect 33 0 21 0;
+#X connect 33 1 40 0;
+#X connect 33 2 43 0;
+#X connect 33 3 42 0;
+#X connect 33 4 41 0;
+#X connect 40 0 37 0;
+#X connect 41 0 34 0;
+#X connect 42 0 35 0;
+#X connect 43 0 36 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_posterize-help.pd b/packages/noncvs/windows/extra/Gem/pix_posterize-help.pd
index f1c115fa..78f4a374 100644
--- a/packages/noncvs/windows/extra/Gem/pix_posterize-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_posterize-help.pd
@@ -1,88 +1,88 @@
-#N canvas 0 254 651 393 10;
-#X text 452 8 GEM object;
-#X obj 8 216 cnv 15 430 125 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 218 Inlets:;
-#X text 39 280 Outlets:;
-#X obj 8 176 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 175 Arguments:;
-#X obj 8 76 cnv 15 430 90 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X obj 450 143 cnv 15 160 80 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 71 31 Class: pix object;
-#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X obj 77 245 pix_yuv;
-#X text 133 234 pix_posterize doesn't like RGBA. For now we do a rgba2yuv
-conversion. LATER make pix_posterize eat RGBA too...;
-#X connect 0 0 2 0;
-#X connect 2 0 6 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X connect 6 0 1 0;
-#X restore 451 113 pd image;
-#X obj 451 233 pix_texture;
-#X text 63 186 <none>;
-#X text 57 293 Outlet 1: gemlist;
-#X text 63 232 Inlet 1: gemlist;
-#X obj 451 255 square 3;
-#X text 50 12 Synopsis: [pix_duotone];
-#X obj 451 196 pix_posterize;
-#X floatatom 473 160 5 0 255 2 factor - -;
-#X obj 527 179 hradio 15 1 0 5 empty empty limit 0 -6 0 8 -262144 -1
--1 0;
-#X obj 473 176 / 255;
-#X text 63 245 Inlet 2: float: posterization factor;
-#X text 64 258 Inlet 3: int: limit-mode;
-#X text 29 77 Description: posterization effect;
-#X text 13 91 [pix_posterize] will produce a posterization effect.
-;
-#X text 516 105 open an image;
-#X text 509 118 (JPEG \, TIFF \, ..);
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 17 0;
-#X connect 16 0 17 1;
-#X connect 17 0 24 0;
-#X connect 18 0 22 0;
-#X connect 24 0 18 0;
-#X connect 25 0 27 0;
-#X connect 26 0 24 2;
-#X connect 27 0 24 1;
+#N canvas 0 254 651 393 10;
+#X text 452 8 GEM object;
+#X obj 8 216 cnv 15 430 125 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 218 Inlets:;
+#X text 39 280 Outlets:;
+#X obj 8 176 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 175 Arguments:;
+#X obj 8 76 cnv 15 430 90 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X obj 450 143 cnv 15 160 80 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 71 31 Class: pix object;
+#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X obj 77 245 pix_yuv;
+#X text 133 234 pix_posterize doesn't like RGBA. For now we do a rgba2yuv
+conversion. LATER make pix_posterize eat RGBA too...;
+#X connect 0 0 2 0;
+#X connect 2 0 6 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X connect 6 0 1 0;
+#X restore 451 113 pd image;
+#X obj 451 233 pix_texture;
+#X text 63 186 <none>;
+#X text 57 293 Outlet 1: gemlist;
+#X text 63 232 Inlet 1: gemlist;
+#X obj 451 255 square 3;
+#X text 50 12 Synopsis: [pix_duotone];
+#X obj 451 196 pix_posterize;
+#X floatatom 473 160 5 0 255 2 factor - -;
+#X obj 527 179 hradio 15 1 0 5 empty empty limit 0 -6 0 8 -262144 -1
+-1 0;
+#X obj 473 176 / 255;
+#X text 63 245 Inlet 2: float: posterization factor;
+#X text 64 258 Inlet 3: int: limit-mode;
+#X text 29 77 Description: posterization effect;
+#X text 13 91 [pix_posterize] will produce a posterization effect.
+;
+#X text 516 105 open an image;
+#X text 509 118 (JPEG \, TIFF \, ..);
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 17 0;
+#X connect 16 0 17 1;
+#X connect 17 0 24 0;
+#X connect 18 0 22 0;
+#X connect 24 0 18 0;
+#X connect 25 0 27 0;
+#X connect 26 0 24 2;
+#X connect 27 0 24 1;
diff --git a/packages/noncvs/windows/extra/Gem/pix_puzzle-help.pd b/packages/noncvs/windows/extra/Gem/pix_puzzle-help.pd
index 1f532d33..e096cd0d 100644
--- a/packages/noncvs/windows/extra/Gem/pix_puzzle-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_puzzle-help.pd
@@ -1,125 +1,125 @@
-#N canvas 18 198 654 599 10;
-#X text 452 8 GEM object;
-#X obj 8 345 cnv 15 430 150 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 348 Inlets:;
-#X text 38 465 Outlets:;
-#X obj 8 306 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 305 Arguments:;
-#X obj 7 76 cnv 15 430 225 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X obj 450 138 cnv 15 160 110 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 71 31 Class: pix object;
-#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 451 113 pd image;
-#X text 63 316 <none>;
-#X text 56 478 Outlet 1: gemlist;
-#X text 63 362 Inlet 1: gemlist;
-#X obj 451 263 pix_draw;
-#X text 516 105 open an image;
-#X text 509 118 (JPEG \, TIFF \, ..);
-#X text 63 375 Inlet 1: 0|1 : apply/don't apply;
-#X msg 463 146 bang;
-#X text 50 12 Synopsis: [pix_puzzle];
-#X text 63 77 Description: shuffle an image;
-#X text 16 97 [pix_puzzle] is an effect that will cut your image into
-rectangular pieces and shuffle these.;
-#X text 17 128 You can change the number of pieces per row/column with
-the "size" message. "bang" triggers a re-shuffling of the pieces.;
-#X obj 29 505 cnv 15 423 30 empty empty empty 20 12 0 14 -260818 -66577
-0;
-#X text 34 505 acknowledgment: this effect is based on effecTV by Kentarou
-Fukuchi (http://effectv.sourceforge.net);
-#X obj 451 223 pix_puzzle;
-#X text 64 390 Inlet 1: bang: reshuffle;
-#X msg 509 145 size 4 3;
-#X msg 551 212 move \$1;
-#X floatatom 551 193 5 0 0 0 - - -;
-#X text 63 433 Inlet 1: movee <int>: move the empty field;
-#X text 192 238 8;
-#X text 175 253 4;
-#X text 209 254 6;
-#X text 192 271 2;
-#X text 44 204 "move 5" will en/disable an empty field;
-#X text 16 171 There is a little game hidden in the [pix_puzzle]. Go
-and find it:;
-#X text 46 221 Moving can be done according to the number-pad;
-#X msg 551 171 5;
-#X text 63 405 Inlet 1: size <int> <int>: number of elements in x/y
-(default: 8 8);
-#N canvas 0 0 243 214 numkeys 0;
-#X obj 63 16 key;
-#X obj 63 181 outlet;
-#X msg 63 115 5;
-#X msg 91 115 8;
-#X msg 119 115 4;
-#X obj 63 90 select 53 56 52 54 50;
-#X msg 148 115 6;
-#X msg 176 115 2;
-#X connect 0 0 5 0;
-#X connect 2 0 1 0;
-#X connect 3 0 1 0;
-#X connect 4 0 1 0;
-#X connect 5 0 2 0;
-#X connect 5 1 3 0;
-#X connect 5 2 4 0;
-#X connect 5 3 6 0;
-#X connect 5 4 7 0;
-#X connect 6 0 1 0;
-#X connect 7 0 1 0;
-#X restore 475 176 pd numkeys;
-#X text 12 285 (i admit this is not very intuitive...);
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 17 0;
-#X connect 16 0 17 1;
-#X connect 17 0 32 0;
-#X connect 25 0 32 0;
-#X connect 32 0 21 0;
-#X connect 34 0 32 0;
-#X connect 35 0 32 0;
-#X connect 36 0 35 0;
-#X connect 45 0 36 0;
-#X connect 47 0 36 0;
+#N canvas 18 198 654 599 10;
+#X text 452 8 GEM object;
+#X obj 8 345 cnv 15 430 150 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 348 Inlets:;
+#X text 38 465 Outlets:;
+#X obj 8 306 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 305 Arguments:;
+#X obj 7 76 cnv 15 430 225 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X obj 450 138 cnv 15 160 110 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 71 31 Class: pix object;
+#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 451 113 pd image;
+#X text 63 316 <none>;
+#X text 56 478 Outlet 1: gemlist;
+#X text 63 362 Inlet 1: gemlist;
+#X obj 451 263 pix_draw;
+#X text 516 105 open an image;
+#X text 509 118 (JPEG \, TIFF \, ..);
+#X text 63 375 Inlet 1: 0|1 : apply/don't apply;
+#X msg 463 146 bang;
+#X text 50 12 Synopsis: [pix_puzzle];
+#X text 63 77 Description: shuffle an image;
+#X text 16 97 [pix_puzzle] is an effect that will cut your image into
+rectangular pieces and shuffle these.;
+#X text 17 128 You can change the number of pieces per row/column with
+the "size" message. "bang" triggers a re-shuffling of the pieces.;
+#X obj 29 505 cnv 15 423 30 empty empty empty 20 12 0 14 -260818 -66577
+0;
+#X text 34 505 acknowledgment: this effect is based on effecTV by Kentarou
+Fukuchi (http://effectv.sourceforge.net);
+#X obj 451 223 pix_puzzle;
+#X text 64 390 Inlet 1: bang: reshuffle;
+#X msg 509 145 size 4 3;
+#X msg 551 212 move \$1;
+#X floatatom 551 193 5 0 0 0 - - -;
+#X text 63 433 Inlet 1: movee <int>: move the empty field;
+#X text 192 238 8;
+#X text 175 253 4;
+#X text 209 254 6;
+#X text 192 271 2;
+#X text 44 204 "move 5" will en/disable an empty field;
+#X text 16 171 There is a little game hidden in the [pix_puzzle]. Go
+and find it:;
+#X text 46 221 Moving can be done according to the number-pad;
+#X msg 551 171 5;
+#X text 63 405 Inlet 1: size <int> <int>: number of elements in x/y
+(default: 8 8);
+#N canvas 0 0 243 214 numkeys 0;
+#X obj 63 16 key;
+#X obj 63 181 outlet;
+#X msg 63 115 5;
+#X msg 91 115 8;
+#X msg 119 115 4;
+#X obj 63 90 select 53 56 52 54 50;
+#X msg 148 115 6;
+#X msg 176 115 2;
+#X connect 0 0 5 0;
+#X connect 2 0 1 0;
+#X connect 3 0 1 0;
+#X connect 4 0 1 0;
+#X connect 5 0 2 0;
+#X connect 5 1 3 0;
+#X connect 5 2 4 0;
+#X connect 5 3 6 0;
+#X connect 5 4 7 0;
+#X connect 6 0 1 0;
+#X connect 7 0 1 0;
+#X restore 475 176 pd numkeys;
+#X text 12 285 (i admit this is not very intuitive...);
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 17 0;
+#X connect 16 0 17 1;
+#X connect 17 0 32 0;
+#X connect 25 0 32 0;
+#X connect 32 0 21 0;
+#X connect 34 0 32 0;
+#X connect 35 0 32 0;
+#X connect 36 0 35 0;
+#X connect 45 0 36 0;
+#X connect 47 0 36 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_rds-help.pd b/packages/noncvs/windows/extra/Gem/pix_rds-help.pd
index 3e9a8eae..d26b99d1 100644
--- a/packages/noncvs/windows/extra/Gem/pix_rds-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_rds-help.pd
@@ -1,91 +1,91 @@
-#N canvas 22 29 655 397 10;
-#X text 452 8 GEM object;
-#X obj 8 216 cnv 15 430 125 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 218 Inlets:;
-#X text 39 310 Outlets:;
-#X obj 8 176 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 175 Arguments:;
-#X obj 8 76 cnv 15 430 90 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X msg 234 221 dimen 500 500;
-#X msg 279 189 dimen 1024 768;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X connect 8 0 0 0;
-#X connect 9 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X obj 450 136 cnv 15 160 80 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 71 31 Class: pix object;
-#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 22 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X text 231 37 open;
-#X text 79 30 gemlist;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 451 113 pd image;
-#X obj 451 233 pix_texture;
-#X text 63 186 <none>;
-#X text 57 323 Outlet 1: gemlist;
-#X text 63 232 Inlet 1: gemlist;
-#X obj 460 158 tgl 15 0 empty empty mode 20 8 0 8 -262144 -1 -1 0 1
-;
-#X text 29 77 Description: random dot stereogram for luminance;
-#X obj 451 255 square 3;
-#X text 34 96 [pix_rds] produces b/w random dot stereograms (aka: the
-magic eye (tm)) for either cross-eyed and wall-eyed viewers. Wall-eyed
-is basically an invertation (front becomes back) of cross-eyed.;
-#X text 516 105 open an image;
-#X text 509 118 (JPEG \, TIFF \, ..);
-#X text 50 12 Synopsis: [pix_rds];
-#X msg 460 177 method \$1;
-#X obj 451 196 pix_rds;
-#X floatatom 495 139 5 10 100 1 stride - -;
-#X text 63 245 Inlet 1: method [0|1] (crosseyed|walleyed);
-#X text 63 259 Inlet 1: stride <int> distance (default: 40);
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 17 0;
-#X connect 16 0 17 1;
-#X connect 17 0 30 0;
-#X connect 18 0 24 0;
-#X connect 22 0 29 0;
-#X connect 29 0 30 0;
-#X connect 30 0 18 0;
-#X connect 31 0 30 1;
+#N canvas 22 29 655 397 10;
+#X text 452 8 GEM object;
+#X obj 8 216 cnv 15 430 125 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 218 Inlets:;
+#X text 39 310 Outlets:;
+#X obj 8 176 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 175 Arguments:;
+#X obj 8 76 cnv 15 430 90 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X msg 234 221 dimen 500 500;
+#X msg 279 189 dimen 1024 768;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X connect 9 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X obj 450 136 cnv 15 160 80 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 71 31 Class: pix object;
+#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 22 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X text 231 37 open;
+#X text 79 30 gemlist;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 451 113 pd image;
+#X obj 451 233 pix_texture;
+#X text 63 186 <none>;
+#X text 57 323 Outlet 1: gemlist;
+#X text 63 232 Inlet 1: gemlist;
+#X obj 460 158 tgl 15 0 empty empty mode 20 8 0 8 -262144 -1 -1 0 1
+;
+#X text 29 77 Description: random dot stereogram for luminance;
+#X obj 451 255 square 3;
+#X text 34 96 [pix_rds] produces b/w random dot stereograms (aka: the
+magic eye (tm)) for either cross-eyed and wall-eyed viewers. Wall-eyed
+is basically an invertation (front becomes back) of cross-eyed.;
+#X text 516 105 open an image;
+#X text 509 118 (JPEG \, TIFF \, ..);
+#X text 50 12 Synopsis: [pix_rds];
+#X msg 460 177 method \$1;
+#X obj 451 196 pix_rds;
+#X floatatom 495 139 5 10 100 1 stride - -;
+#X text 63 245 Inlet 1: method [0|1] (crosseyed|walleyed);
+#X text 63 259 Inlet 1: stride <int> distance (default: 40);
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 17 0;
+#X connect 16 0 17 1;
+#X connect 17 0 30 0;
+#X connect 18 0 24 0;
+#X connect 22 0 29 0;
+#X connect 29 0 30 0;
+#X connect 30 0 18 0;
+#X connect 31 0 30 1;
diff --git a/packages/noncvs/windows/extra/Gem/pix_record-help.pd b/packages/noncvs/windows/extra/Gem/pix_record-help.pd
index e05b191a..9ef9a2ed 100644
--- a/packages/noncvs/windows/extra/Gem/pix_record-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_record-help.pd
@@ -1,168 +1,168 @@
-#N canvas 174 0 637 472 10;
-#X text 363 9 GEM object;
-#X obj 9 375 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 18 374 Arguments:;
-#X obj 8 56 cnv 15 430 310 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 43 cnv 15 170 410 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 26 Example:;
-#X obj 479 389 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X msg 67 70 set destroy;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X msg 156 71 set create;
-#X obj 67 41 route create;
-#X connect 2 0 7 0;
-#X connect 3 0 1 0;
-#X connect 4 0 0 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 0;
-#X connect 7 0 3 0;
-#X connect 7 0 4 0;
-#X connect 7 1 6 0;
-#X connect 7 1 5 0;
-#X restore 484 428 pd gemwin;
-#X msg 484 409 create;
-#X text 480 388 Create window:;
-#X obj 451 184 cnv 15 167 200 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 49 gemhead;
-#X obj 451 118 pix_film;
-#X obj 515 118 t f;
-#X obj 464 71 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#N canvas 0 0 450 300 open 0;
-#X obj 85 49 inlet;
-#X obj 85 237 outlet;
-#X obj 85 145 openpanel;
-#X msg 85 179 open \$1;
-#X msg 259 213 auto 1;
-#X obj 268 179 loadbang;
-#X connect 0 0 2 0;
-#X connect 2 0 3 0;
-#X connect 3 0 1 0;
-#X connect 4 0 1 0;
-#X connect 5 0 4 0;
-#X restore 464 90 pd open;
-#X text 485 64 open a supported;
-#X text 486 75 movie-clip;
-#X text 64 385 <none>;
-#X text 50 12 Synopsis: [pix_record];
-#X text 71 31 Class: pix object (output);
-#X text 29 57 Description: write a sequence of pixes to a movie file
-;
-#X obj 451 364 pix_record;
-#X obj 451 157 pix_draw;
-#X obj 451 138 pix_invert;
-#X text 18 104 You can choose the codec you want to use either via
-a graphical dialog or by directly sending a "codec" with either the
-name or the enumeration number of the codec. Use "codeclist" to query
-the available codecs \, their names and their number.;
-#X obj 470 333 cnv 15 145 25 empty empty empty 20 12 0 14 -225271 -66577
-0;
-#X msg 480 337 bang;
-#X msg 552 337 auto \$1;
-#X obj 533 338 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X obj 470 189 cnv 15 145 65 empty empty empty 20 12 0 14 -225271 -66577
-0;
-#X msg 476 214 codeclist;
-#X msg 472 193 dialog;
-#X obj 472 234 t a;
-#X obj 460 261 cnv 15 155 65 empty empty empty 20 12 0 14 -225271 -66577
-0;
-#X msg 463 282 file /tmp/mymovie.mov;
-#X obj 464 263 bng 15 250 50 0 empty empty empty 0 -6 0 8 -258699 -1
--1;
-#N canvas 0 0 450 300 savepanel 0;
-#X obj 114 62 inlet;
-#X obj 114 254 outlet;
-#X obj 114 199 t b a;
-#X obj 114 125 savepanel;
-#X msg 114 162 set file \$1;
-#X connect 0 0 3 0;
-#X connect 2 0 1 0;
-#X connect 2 1 1 0;
-#X connect 3 0 4 0;
-#X connect 4 0 2 0;
-#X restore 484 262 pd savepanel;
-#X msg 520 305 record \$1;
-#X obj 500 307 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X obj 463 305 t a;
-#X text 14 73 [pix_write] writes a series of pixes into a movie file.
-You can set the file to write to via the "file" message.;
-#X text 18 174 When file and codec are specified \, you can open the
-writing connection with the message "record 1".;
-#X text 18 202 To actually do record a frame into the file \, send
-the object a "bang" message. If you want to record a consecutive number
-of frames \, use the "auto" message. This allows you to have full control
-on which frames are to be recorded.;
-#X text 17 269 The recording is finished and the file flushed to disk
-\, after a "record 0" message is received. You might not be able to
-access the file for reading before recording has finished.;
-#X text 526 140 (do somthing);
-#X text 515 158 (monitoring);
-#X text 22 339 NOTE: currently only quicktime MOVies can be recorded.
-This might change in the future (watch the console!);
-#X obj 8 414 cnv 15 430 30 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#N canvas 0 0 450 300 MESSAGES 0;
-#X obj 9 15 cnv 15 430 250 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 34 17 Inlets:;
-#X text 34 229 Outlets:;
-#X text 12 243 Outlet 1: gemlist;
-#X text 18 31 Inlet 1: gemlist;
-#X text 18 54 Inlet 1: file <filename>: specify the file for writing
-;
-#X text 18 66 Inlet 1: record <0|1>: start recording (no actual grabbing
-is done!) or stop recording (flush movie to disk);
-#X text 18 95 Inlet 1: bang: grab the next incoming pix.;
-#X text 18 107 Inlet 1: auto <0|1>: start/stop grabbing all incoming
-pixes;
-#X text 18 134 Inlet 1: dialog: popup a dialog to select the codec.
-;
-#X text 18 150 Inlet 1: codeclist: enumerate a list of available codecs
-to the pd-console;
-#X text 18 180 Inlet 1: codec <int>: select codec #<int> from the codec-list
-;
-#X text 18 205 Inlet 1: codec <symbol>: select codec by short name
-;
-#X text 11 257 Outlet 2: number of frames written;
-#X restore 83 420 pd MESSAGES;
-#X floatatom 539 367 5 0 0 0 - - -;
-#X msg 532 234 codec mjpa;
-#X msg 552 215 codec 3;
-#X connect 7 0 8 0;
-#X connect 8 0 7 0;
-#X connect 11 0 12 0;
-#X connect 12 0 24 0;
-#X connect 12 2 13 0;
-#X connect 13 0 12 1;
-#X connect 14 0 15 0;
-#X connect 15 0 12 0;
-#X connect 22 1 50 0;
-#X connect 23 0 22 0;
-#X connect 24 0 23 0;
-#X connect 27 0 22 0;
-#X connect 28 0 22 0;
-#X connect 29 0 28 0;
-#X connect 31 0 33 0;
-#X connect 32 0 33 0;
-#X connect 33 0 22 0;
-#X connect 35 0 40 0;
-#X connect 36 0 37 0;
-#X connect 37 0 35 0;
-#X connect 38 0 40 0;
-#X connect 39 0 38 0;
-#X connect 40 0 22 0;
-#X connect 51 0 33 0;
-#X connect 52 0 33 0;
+#N canvas 174 0 637 472 10;
+#X text 363 9 GEM object;
+#X obj 9 375 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 18 374 Arguments:;
+#X obj 8 56 cnv 15 430 310 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 43 cnv 15 170 410 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 26 Example:;
+#X obj 479 389 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X msg 67 70 set destroy;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X msg 156 71 set create;
+#X obj 67 41 route create;
+#X connect 2 0 7 0;
+#X connect 3 0 1 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 0;
+#X connect 7 0 3 0;
+#X connect 7 0 4 0;
+#X connect 7 1 6 0;
+#X connect 7 1 5 0;
+#X restore 484 428 pd gemwin;
+#X msg 484 409 create;
+#X text 480 388 Create window:;
+#X obj 451 184 cnv 15 167 200 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 49 gemhead;
+#X obj 451 118 pix_film;
+#X obj 515 118 t f;
+#X obj 464 71 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#N canvas 0 0 450 300 open 0;
+#X obj 85 49 inlet;
+#X obj 85 237 outlet;
+#X obj 85 145 openpanel;
+#X msg 85 179 open \$1;
+#X msg 259 213 auto 1;
+#X obj 268 179 loadbang;
+#X connect 0 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 1 0;
+#X connect 5 0 4 0;
+#X restore 464 90 pd open;
+#X text 485 64 open a supported;
+#X text 486 75 movie-clip;
+#X text 64 385 <none>;
+#X text 50 12 Synopsis: [pix_record];
+#X text 71 31 Class: pix object (output);
+#X text 29 57 Description: write a sequence of pixes to a movie file
+;
+#X obj 451 364 pix_record;
+#X obj 451 157 pix_draw;
+#X obj 451 138 pix_invert;
+#X text 18 104 You can choose the codec you want to use either via
+a graphical dialog or by directly sending a "codec" with either the
+name or the enumeration number of the codec. Use "codeclist" to query
+the available codecs \, their names and their number.;
+#X obj 470 333 cnv 15 145 25 empty empty empty 20 12 0 14 -225271 -66577
+0;
+#X msg 480 337 bang;
+#X msg 552 337 auto \$1;
+#X obj 533 338 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 470 189 cnv 15 145 65 empty empty empty 20 12 0 14 -225271 -66577
+0;
+#X msg 476 214 codeclist;
+#X msg 472 193 dialog;
+#X obj 472 234 t a;
+#X obj 460 261 cnv 15 155 65 empty empty empty 20 12 0 14 -225271 -66577
+0;
+#X msg 463 282 file /tmp/mymovie.mov;
+#X obj 464 263 bng 15 250 50 0 empty empty empty 0 -6 0 8 -258699 -1
+-1;
+#N canvas 0 0 450 300 savepanel 0;
+#X obj 114 62 inlet;
+#X obj 114 254 outlet;
+#X obj 114 199 t b a;
+#X obj 114 125 savepanel;
+#X msg 114 162 set file \$1;
+#X connect 0 0 3 0;
+#X connect 2 0 1 0;
+#X connect 2 1 1 0;
+#X connect 3 0 4 0;
+#X connect 4 0 2 0;
+#X restore 484 262 pd savepanel;
+#X msg 520 305 record \$1;
+#X obj 500 307 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 463 305 t a;
+#X text 14 73 [pix_write] writes a series of pixes into a movie file.
+You can set the file to write to via the "file" message.;
+#X text 18 174 When file and codec are specified \, you can open the
+writing connection with the message "record 1".;
+#X text 18 202 To actually do record a frame into the file \, send
+the object a "bang" message. If you want to record a consecutive number
+of frames \, use the "auto" message. This allows you to have full control
+on which frames are to be recorded.;
+#X text 17 269 The recording is finished and the file flushed to disk
+\, after a "record 0" message is received. You might not be able to
+access the file for reading before recording has finished.;
+#X text 526 140 (do something);
+#X text 515 158 (monitoring);
+#X text 22 339 NOTE: currently only quicktime MOVies can be recorded.
+This might change in the future (watch the console!);
+#X obj 8 414 cnv 15 430 30 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#N canvas 0 0 450 300 MESSAGES 0;
+#X obj 9 15 cnv 15 430 250 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 34 17 Inlets:;
+#X text 34 229 Outlets:;
+#X text 12 243 Outlet 1: gemlist;
+#X text 18 31 Inlet 1: gemlist;
+#X text 18 54 Inlet 1: file <filename>: specify the file for writing
+;
+#X text 18 66 Inlet 1: record <0|1>: start recording (no actual grabbing
+is done!) or stop recording (flush movie to disk);
+#X text 18 95 Inlet 1: bang: grab the next incoming pix.;
+#X text 18 107 Inlet 1: auto <0|1>: start/stop grabbing all incoming
+pixes;
+#X text 18 134 Inlet 1: dialog: popup a dialog to select the codec.
+;
+#X text 18 150 Inlet 1: codeclist: enumerate a list of available codecs
+to the pd-console;
+#X text 18 180 Inlet 1: codec <int>: select codec #<int> from the codec-list
+;
+#X text 18 205 Inlet 1: codec <symbol>: select codec by short name
+;
+#X text 11 257 Outlet 2: number of frames written;
+#X restore 83 420 pd MESSAGES;
+#X floatatom 539 367 5 0 0 0 - - -;
+#X msg 532 234 codec mjpa;
+#X msg 552 215 codec 3;
+#X connect 7 0 8 0;
+#X connect 8 0 7 0;
+#X connect 11 0 12 0;
+#X connect 12 0 24 0;
+#X connect 12 2 13 0;
+#X connect 13 0 12 1;
+#X connect 14 0 15 0;
+#X connect 15 0 12 0;
+#X connect 22 1 50 0;
+#X connect 23 0 22 0;
+#X connect 24 0 23 0;
+#X connect 27 0 22 0;
+#X connect 28 0 22 0;
+#X connect 29 0 28 0;
+#X connect 31 0 33 0;
+#X connect 32 0 33 0;
+#X connect 33 0 22 0;
+#X connect 35 0 40 0;
+#X connect 36 0 37 0;
+#X connect 37 0 35 0;
+#X connect 38 0 40 0;
+#X connect 39 0 38 0;
+#X connect 40 0 22 0;
+#X connect 51 0 33 0;
+#X connect 52 0 33 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_rectangle-help.pd b/packages/noncvs/windows/extra/Gem/pix_rectangle-help.pd
index d1289749..c0059f3d 100644
--- a/packages/noncvs/windows/extra/Gem/pix_rectangle-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_rectangle-help.pd
@@ -1,83 +1,83 @@
-#N canvas 0 0 654 413 10;
-#X text 452 8 GEM object;
-#X obj 8 245 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 248 Inlets:;
-#X text 38 335 Outlets:;
-#X obj 8 206 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 205 Arguments:;
-#X obj 7 76 cnv 15 430 125 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X obj 450 148 cnv 15 160 70 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 71 31 Class: pix object;
-#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 451 113 pd image;
-#X text 63 216 <none>;
-#X text 8 348 Outlet 1: gemlist;
-#X text 13 262 Inlet 1: gemlist;
-#X obj 451 233 pix_draw;
-#X text 516 105 open an image;
-#X text 509 118 (JPEG \, TIFF \, ..);
-#X text 50 12 Synopsis: [pix_rectangle];
-#X text 28 76 Description: draw a rectangle into a pix;
-#X msg 537 175 1 0 0;
-#X obj 451 197 pix_rectangle;
-#X text 13 275 Inlet 2: list : 4 floats defining the 4 corners of the
-rectangle: <x1> <y1> <x2> <y2>;
-#X msg 494 151 40 10 100 200;
-#X text 13 305 Inlet 3: list : 3(RGB) or 4(RGBA) float-values defining
-the color of the rectangle (defaut: 1 1 1 1);
-#X text 21 111 pix_rectangle renders a rectangle onto a pix-buffer.
-This means that you have to have an image already loaded to render
-into. Set the positione and size with the two corners of the rectangle.
-;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 17 0;
-#X connect 16 0 17 1;
-#X connect 17 0 27 0;
-#X connect 26 0 27 2;
-#X connect 27 0 21 0;
-#X connect 29 0 27 1;
+#N canvas 0 0 654 413 10;
+#X text 452 8 GEM object;
+#X obj 8 245 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 248 Inlets:;
+#X text 38 335 Outlets:;
+#X obj 8 206 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 205 Arguments:;
+#X obj 7 76 cnv 15 430 125 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X obj 450 148 cnv 15 160 70 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 71 31 Class: pix object;
+#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 451 113 pd image;
+#X text 63 216 <none>;
+#X text 8 348 Outlet 1: gemlist;
+#X text 13 262 Inlet 1: gemlist;
+#X obj 451 233 pix_draw;
+#X text 516 105 open an image;
+#X text 509 118 (JPEG \, TIFF \, ..);
+#X text 50 12 Synopsis: [pix_rectangle];
+#X text 28 76 Description: draw a rectangle into a pix;
+#X msg 537 175 1 0 0;
+#X obj 451 197 pix_rectangle;
+#X text 13 275 Inlet 2: list : 4 floats defining the 4 corners of the
+rectangle: <x1> <y1> <x2> <y2>;
+#X msg 494 151 40 10 100 200;
+#X text 13 305 Inlet 3: list : 3(RGB) or 4(RGBA) float-values defining
+the color of the rectangle (defaut: 1 1 1 1);
+#X text 21 111 pix_rectangle renders a rectangle onto a pix-buffer.
+This means that you have to have an image already loaded to render
+into. Set the positione and size with the two corners of the rectangle.
+;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 17 0;
+#X connect 16 0 17 1;
+#X connect 17 0 27 0;
+#X connect 26 0 27 2;
+#X connect 27 0 21 0;
+#X connect 29 0 27 1;
diff --git a/packages/noncvs/windows/extra/Gem/pix_refraction-help.pd b/packages/noncvs/windows/extra/Gem/pix_refraction-help.pd
index 6d956280..5ca2f63f 100644
--- a/packages/noncvs/windows/extra/Gem/pix_refraction-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_refraction-help.pd
@@ -1,111 +1,111 @@
-#N canvas 0 0 654 531 10;
-#X text 452 8 GEM object;
-#X obj 8 335 cnv 15 430 130 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 338 Inlets:;
-#X text 38 435 Outlets:;
-#X obj 8 297 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 296 Arguments:;
-#X obj 7 56 cnv 15 430 235 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X obj 450 135 cnv 15 160 115 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 71 31 Class: pix object;
-#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 451 113 pd image;
-#X text 63 307 <none>;
-#X text 56 448 Outlet 1: gemlist;
-#X text 63 352 Inlet 1: gemlist;
-#X obj 451 253 pix_draw;
-#X text 516 105 open an image;
-#X text 509 118 (JPEG \, TIFF \, ..);
-#X text 63 365 Inlet 1: 0|1 : apply/don't apply;
-#X floatatom 464 177 3 0.01 16 1 - - -;
-#X obj 35 477 cnv 15 375 20 empty empty empty 20 12 0 14 -260818 -66577
-0;
-#X text 44 480 (ported from "pete's plugins" \, www.petewarden.com)
-;
-#X msg 464 195 refract \$1;
-#X msg 544 195 mag \$1;
-#X floatatom 464 137 3 0 0 1 - - -;
-#X floatatom 544 137 3 0 0 1 - - -;
-#X msg 464 155 width \$1;
-#X msg 544 155 height \$1;
-#X obj 451 226 pix_refraction;
-#X obj 544 176 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
-1;
-#X text 29 56 Description: display a pix through glass bricks;
-#X text 80 158 range = 0.01 to 16 \, default = 2;
-#X text 79 198 range = 1 to 255 \, default = 16;
-#X text 80 230 range = 1 to 255 \, default = 16;
-#X text 80 273 range = 0 or 1 \, default = 1;
-#X text 28 77 The input image is broken up into rectangular cells \,
-and scaled up or down within them. The effect is like looking through
-a wall of glass bricks \, each acting as a magnifying or shrinking
-lens for its part of the image;
-#X text 37 138 How much to shrink or expand the input image within
-each cell;
-#X text 37 182 Width of each cell \, where 1 is the image width;
-#X text 37 214 Height of each cell \, where 1 is the image height;
-#X text 28 244 Turning this off prevents the image from being expanded
-to larger than it's original size (within each cell);
-#X text 63 380 Inlet 1: width <float>;
-#X text 63 406 Inlet 1: mag 1|0;
-#X text 63 421 Inlet 1: refract <float>;
-#X text 63 392 Inlet 1: height <float>;
-#X text 49 12 Synopsis: [pix_refraction];
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 17 0;
-#X connect 16 0 17 1;
-#X connect 17 0 34 0;
-#X connect 25 0 28 0;
-#X connect 28 0 34 0;
-#X connect 29 0 34 0;
-#X connect 30 0 32 0;
-#X connect 31 0 33 0;
-#X connect 32 0 34 0;
-#X connect 33 0 34 0;
-#X connect 34 0 21 0;
-#X connect 35 0 29 0;
+#N canvas 0 0 654 531 10;
+#X text 452 8 GEM object;
+#X obj 8 335 cnv 15 430 130 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 338 Inlets:;
+#X text 38 435 Outlets:;
+#X obj 8 297 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 296 Arguments:;
+#X obj 7 56 cnv 15 430 235 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X obj 450 135 cnv 15 160 115 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 71 31 Class: pix object;
+#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 451 113 pd image;
+#X text 63 307 <none>;
+#X text 56 448 Outlet 1: gemlist;
+#X text 63 352 Inlet 1: gemlist;
+#X obj 451 253 pix_draw;
+#X text 516 105 open an image;
+#X text 509 118 (JPEG \, TIFF \, ..);
+#X text 63 365 Inlet 1: 0|1 : apply/don't apply;
+#X floatatom 464 177 3 0.01 16 1 - - -;
+#X obj 35 477 cnv 15 375 20 empty empty empty 20 12 0 14 -260818 -66577
+0;
+#X text 44 480 (ported from "pete's plugins" \, www.petewarden.com)
+;
+#X msg 464 195 refract \$1;
+#X msg 544 195 mag \$1;
+#X floatatom 464 137 3 0 0 1 - - -;
+#X floatatom 544 137 3 0 0 1 - - -;
+#X msg 464 155 width \$1;
+#X msg 544 155 height \$1;
+#X obj 451 226 pix_refraction;
+#X obj 544 176 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
+1;
+#X text 29 56 Description: display a pix through glass bricks;
+#X text 80 158 range = 0.01 to 16 \, default = 2;
+#X text 79 198 range = 1 to 255 \, default = 16;
+#X text 80 230 range = 1 to 255 \, default = 16;
+#X text 80 273 range = 0 or 1 \, default = 1;
+#X text 28 77 The input image is broken up into rectangular cells \,
+and scaled up or down within them. The effect is like looking through
+a wall of glass bricks \, each acting as a magnifying or shrinking
+lens for its part of the image;
+#X text 37 138 How much to shrink or expand the input image within
+each cell;
+#X text 37 182 Width of each cell \, where 1 is the image width;
+#X text 37 214 Height of each cell \, where 1 is the image height;
+#X text 28 244 Turning this off prevents the image from being expanded
+to larger than it's original size (within each cell);
+#X text 63 380 Inlet 1: width <float>;
+#X text 63 406 Inlet 1: mag 1|0;
+#X text 63 421 Inlet 1: refract <float>;
+#X text 63 392 Inlet 1: height <float>;
+#X text 49 12 Synopsis: [pix_refraction];
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 17 0;
+#X connect 16 0 17 1;
+#X connect 17 0 34 0;
+#X connect 25 0 28 0;
+#X connect 28 0 34 0;
+#X connect 29 0 34 0;
+#X connect 30 0 32 0;
+#X connect 31 0 33 0;
+#X connect 32 0 34 0;
+#X connect 33 0 34 0;
+#X connect 34 0 21 0;
+#X connect 35 0 29 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_resize-help.pd b/packages/noncvs/windows/extra/Gem/pix_resize-help.pd
index e7df95e2..320c9fc7 100644
--- a/packages/noncvs/windows/extra/Gem/pix_resize-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_resize-help.pd
@@ -1,81 +1,81 @@
-#N canvas 0 0 651 393 10;
-#X text 452 8 GEM object;
-#X obj 8 216 cnv 15 430 85 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 218 Inlets:;
-#X text 39 267 Outlets:;
-#X obj 8 176 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 175 Arguments:;
-#X obj 8 61 cnv 15 430 110 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X obj 450 146 cnv 15 160 80 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 71 31 Class: pix object;
-#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 451 113 pd image;
-#X obj 451 233 pix_texture;
-#X text 57 280 Outlet 1: gemlist;
-#X text 63 232 Inlet 1: gemlist;
-#X obj 451 255 square 3;
-#X text 516 105 open an image;
-#X text 509 118 (JPEG \, TIFF \, ..);
-#X obj 451 196 pix_resize;
-#X text 50 12 Synopsis: [pix_resize];
-#X text 29 62 Description: resize an image;
-#X text 63 186 <xsize> <ysize>;
-#X text 63 245 Inlet 1: dimen <xsize> <ysize>;
-#X msg 473 172 dimen 32 9;
-#X text 12 76 [pix_resize]: resizes the image \; if you don't specify
-any dimensions \, the image will be automatically resized to the next
-power of 2 (eg. 320x240 will be resized to 512x256). You can change
-the re-size with the "dimen"-message \; a value of "0" defaults to
-the next power-of-2 of the original image;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 17 0;
-#X connect 16 0 17 1;
-#X connect 17 0 24 0;
-#X connect 18 0 21 0;
-#X connect 24 0 18 0;
-#X connect 29 0 24 0;
+#N canvas 0 0 651 393 10;
+#X text 452 8 GEM object;
+#X obj 8 216 cnv 15 430 85 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 218 Inlets:;
+#X text 39 267 Outlets:;
+#X obj 8 176 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 175 Arguments:;
+#X obj 8 61 cnv 15 430 110 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X obj 450 146 cnv 15 160 80 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 71 31 Class: pix object;
+#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 451 113 pd image;
+#X obj 451 233 pix_texture;
+#X text 57 280 Outlet 1: gemlist;
+#X text 63 232 Inlet 1: gemlist;
+#X obj 451 255 square 3;
+#X text 516 105 open an image;
+#X text 509 118 (JPEG \, TIFF \, ..);
+#X obj 451 196 pix_resize;
+#X text 50 12 Synopsis: [pix_resize];
+#X text 29 62 Description: resize an image;
+#X text 63 186 <xsize> <ysize>;
+#X text 63 245 Inlet 1: dimen <xsize> <ysize>;
+#X msg 473 172 dimen 32 9;
+#X text 12 76 [pix_resize]: resizes the image \; if you don't specify
+any dimensions \, the image will be automatically resized to the next
+power of 2 (eg. 320x240 will be resized to 512x256). You can change
+the re-size with the "dimen"-message \; a value of "0" defaults to
+the next power-of-2 of the original image;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 17 0;
+#X connect 16 0 17 1;
+#X connect 17 0 24 0;
+#X connect 18 0 21 0;
+#X connect 24 0 18 0;
+#X connect 29 0 24 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_rgb2hsv-help.pd b/packages/noncvs/windows/extra/Gem/pix_rgb2hsv-help.pd
index a3e5edd2..9a54f9d9 100644
--- a/packages/noncvs/windows/extra/Gem/pix_rgb2hsv-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_rgb2hsv-help.pd
@@ -1,83 +1,83 @@
-#N canvas 0 0 654 413 10;
-#X text 452 8 GEM object;
-#X obj 8 245 cnv 15 430 80 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 248 Inlets:;
-#X text 38 295 Outlets:;
-#X obj 8 206 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 205 Arguments:;
-#X obj 7 76 cnv 15 430 125 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X obj 450 158 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 71 31 Class: pix object;
-#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 451 113 pd image;
-#X text 63 216 <none>;
-#X text 56 308 Outlet 1: gemlist;
-#X text 63 262 Inlet 1: gemlist;
-#X obj 451 233 pix_draw;
-#X text 516 105 open an image;
-#X text 509 118 (JPEG \, TIFF \, ..);
-#X obj 468 165 tgl 15 1 empty empty empty 0 -6 0 8 -262144 -1 -1 1
-1;
-#X text 63 275 Inlet 1: 0|1 : apply/don't apply;
-#X text 94 340 see also:;
-#X obj 186 338 pix_hsv2rgb;
-#X text 50 12 Synopsis: [pix_rgb2hsv];
-#X text 29 76 Description: convert RGB into HSV;
-#X text 25 96 [pix_rgb2hsv] will (virtually) transform an RGB(red \,
-green \, blue)-Image into the HSV (hue \, saturation \, value) color-space.
-;
-#X text 30 140 This might enable simpler colour-detection...;
-#X text 29 162 On the technical (internal) side \, the image still
-stays RGBA. The Red-channel is filled with Hue-values....;
-#X obj 451 186 pix_rgb2hsv;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 17 0;
-#X connect 16 0 17 1;
-#X connect 17 0 33 0;
-#X connect 24 0 33 0;
-#X connect 33 0 21 0;
+#N canvas 0 0 654 413 10;
+#X text 452 8 GEM object;
+#X obj 8 245 cnv 15 430 80 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 248 Inlets:;
+#X text 38 295 Outlets:;
+#X obj 8 206 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 205 Arguments:;
+#X obj 7 76 cnv 15 430 125 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X obj 450 158 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 71 31 Class: pix object;
+#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 451 113 pd image;
+#X text 63 216 <none>;
+#X text 56 308 Outlet 1: gemlist;
+#X text 63 262 Inlet 1: gemlist;
+#X obj 451 233 pix_draw;
+#X text 516 105 open an image;
+#X text 509 118 (JPEG \, TIFF \, ..);
+#X obj 468 165 tgl 15 1 empty empty empty 0 -6 0 8 -262144 -1 -1 1
+1;
+#X text 63 275 Inlet 1: 0|1 : apply/don't apply;
+#X text 94 340 see also:;
+#X obj 186 338 pix_hsv2rgb;
+#X text 50 12 Synopsis: [pix_rgb2hsv];
+#X text 29 76 Description: convert RGB into HSV;
+#X text 25 96 [pix_rgb2hsv] will (virtually) transform an RGB(red \,
+green \, blue)-Image into the HSV (hue \, saturation \, value) color-space.
+;
+#X text 30 140 This might enable simpler colour-detection...;
+#X text 29 162 On the technical (internal) side \, the image still
+stays RGBA. The Red-channel is filled with Hue-values....;
+#X obj 451 186 pix_rgb2hsv;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 17 0;
+#X connect 16 0 17 1;
+#X connect 17 0 33 0;
+#X connect 24 0 33 0;
+#X connect 33 0 21 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_rgba-help.pd b/packages/noncvs/windows/extra/Gem/pix_rgba-help.pd
index dc6eef10..59e4f8dc 100644
--- a/packages/noncvs/windows/extra/Gem/pix_rgba-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_rgba-help.pd
@@ -1,88 +1,88 @@
-#N canvas 0 0 654 372 10;
-#X text 452 8 GEM object;
-#X obj 8 245 cnv 15 430 80 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 248 Inlets:;
-#X text 38 295 Outlets:;
-#X obj 8 206 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 205 Arguments:;
-#X obj 7 76 cnv 15 430 125 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X obj 450 158 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 71 31 Class: pix object;
-#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 451 113 pd image;
-#X text 63 216 <none>;
-#X text 56 308 Outlet 1: gemlist;
-#X text 63 262 Inlet 1: gemlist;
-#X obj 451 233 pix_draw;
-#X text 516 105 open an image;
-#X text 509 118 (JPEG \, TIFF \, ..);
-#X text 22 93 Images can be stored in various formats/color-spaces.
-;
-#X obj 468 166 tgl 15 1 empty empty empty 0 -6 0 8 -262144 -1 -1 1
-1;
-#X text 63 275 Inlet 1: 1|0: turn conversion on/off;
-#X text 62 339 see also:;
-#X obj 155 338 pix_yuv;
-#X obj 451 196 pix_rgba;
-#X text 50 12 Synopsis: [pix_rgba];
-#X obj 248 338 pix_grey;
-#X text 15 77 Description: convert the colorspace of an image to RGBA
-;
-#X text 22 107 GREY-scale images have no color-component \, while YUV
-is missing the Alpha-channel.;
-#X text 19 159 You can use [pix_rgba] to convert images of any format
-into RGBA-space. If your image already is in RGBA-space \, this will
-do nothing.;
-#X text 19 133 Traditionally \, RGBA is the native colour-space of
-Gem \, although it is quite CPU-consumptive.;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 17 0;
-#X connect 16 0 17 1;
-#X connect 17 0 29 0;
-#X connect 25 0 29 0;
-#X connect 29 0 21 0;
+#N canvas 0 0 654 372 10;
+#X text 452 8 GEM object;
+#X obj 8 245 cnv 15 430 80 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 248 Inlets:;
+#X text 38 295 Outlets:;
+#X obj 8 206 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 205 Arguments:;
+#X obj 7 76 cnv 15 430 125 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X obj 450 158 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 71 31 Class: pix object;
+#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 451 113 pd image;
+#X text 63 216 <none>;
+#X text 56 308 Outlet 1: gemlist;
+#X text 63 262 Inlet 1: gemlist;
+#X obj 451 233 pix_draw;
+#X text 516 105 open an image;
+#X text 509 118 (JPEG \, TIFF \, ..);
+#X text 22 93 Images can be stored in various formats/color-spaces.
+;
+#X obj 468 166 tgl 15 1 empty empty empty 0 -6 0 8 -262144 -1 -1 1
+1;
+#X text 63 275 Inlet 1: 1|0: turn conversion on/off;
+#X text 62 339 see also:;
+#X obj 155 338 pix_yuv;
+#X obj 451 196 pix_rgba;
+#X text 50 12 Synopsis: [pix_rgba];
+#X obj 248 338 pix_grey;
+#X text 15 77 Description: convert the colorspace of an image to RGBA
+;
+#X text 22 107 GREY-scale images have no color-component \, while YUV
+is missing the Alpha-channel.;
+#X text 19 159 You can use [pix_rgba] to convert images of any format
+into RGBA-space. If your image already is in RGBA-space \, this will
+do nothing.;
+#X text 19 133 Traditionally \, RGBA is the native colour-space of
+Gem \, although it is quite CPU-consumptive.;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 17 0;
+#X connect 16 0 17 1;
+#X connect 17 0 29 0;
+#X connect 25 0 29 0;
+#X connect 29 0 21 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_roll-help.pd b/packages/noncvs/windows/extra/Gem/pix_roll-help.pd
index be506eec..7b3c51fd 100644
--- a/packages/noncvs/windows/extra/Gem/pix_roll-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_roll-help.pd
@@ -1,88 +1,88 @@
-#N canvas 0 0 651 393 10;
-#X text 452 8 GEM object;
-#X obj 8 216 cnv 15 430 125 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 218 Inlets:;
-#X text 39 310 Outlets:;
-#X obj 8 176 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 175 Arguments:;
-#X obj 8 76 cnv 15 430 90 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X obj 450 140 cnv 15 160 80 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 71 31 Class: pix object;
-#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X connect 0 0 5 0;
-#X connect 2 0 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 3 0;
-#X connect 5 0 1 0;
-#X restore 451 113 pd image;
-#X obj 451 233 pix_texture;
-#X text 63 186 <none>;
-#X text 57 323 Outlet 1: gemlist;
-#X text 33 232 Inlet 1: gemlist;
-#X obj 451 255 square 3;
-#X floatatom 530 175 5 0 0 2 roll - -;
-#X obj 451 196 pix_roll;
-#X msg 459 168 axis \$1;
-#X obj 459 147 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X text 50 12 Synopsis: [pix_roll];
-#X text 12 90 [pix_roll] will roll/scroll an image (wrap around the
-left/right vs. upper/lower edge);
-#X text 33 278 Inlet 2: int: (sc)roll number of pixels;
-#X text 29 77 Description: (sc)roll through an image;
-#X text 33 245 Inlet 1: message: axis [0|1] scroll(0=default) or roll(1)
-;
-#X text 516 105 open an image;
-#X text 509 118 (JPEG \, TIFF \, ..);
-#X text 13 116 [pix_roll] gives an effect similar to vertical and horizontal
-hold on a television. the offset is user defined and can be incremented
-using a counter object for a looping roll effect.;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 17 0;
-#X connect 16 0 17 1;
-#X connect 17 0 24 0;
-#X connect 18 0 22 0;
-#X connect 23 0 24 1;
-#X connect 24 0 18 0;
-#X connect 25 0 24 0;
-#X connect 26 0 25 0;
+#N canvas 0 0 651 393 10;
+#X text 452 8 GEM object;
+#X obj 8 216 cnv 15 430 125 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 218 Inlets:;
+#X text 39 310 Outlets:;
+#X obj 8 176 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 175 Arguments:;
+#X obj 8 76 cnv 15 430 90 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X obj 450 140 cnv 15 160 80 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 71 31 Class: pix object;
+#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X connect 0 0 5 0;
+#X connect 2 0 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 3 0;
+#X connect 5 0 1 0;
+#X restore 451 113 pd image;
+#X obj 451 233 pix_texture;
+#X text 63 186 <none>;
+#X text 57 323 Outlet 1: gemlist;
+#X text 33 232 Inlet 1: gemlist;
+#X obj 451 255 square 3;
+#X floatatom 530 175 5 0 0 2 roll - -;
+#X obj 451 196 pix_roll;
+#X msg 459 168 axis \$1;
+#X obj 459 147 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X text 50 12 Synopsis: [pix_roll];
+#X text 12 90 [pix_roll] will roll/scroll an image (wrap around the
+left/right vs. upper/lower edge);
+#X text 33 278 Inlet 2: int: (sc)roll number of pixels;
+#X text 29 77 Description: (sc)roll through an image;
+#X text 33 245 Inlet 1: message: axis [0|1] scroll(0=default) or roll(1)
+;
+#X text 516 105 open an image;
+#X text 509 118 (JPEG \, TIFF \, ..);
+#X text 13 116 [pix_roll] gives an effect similar to vertical and horizontal
+hold on a television. the offset is user defined and can be incremented
+using a counter object for a looping roll effect.;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 17 0;
+#X connect 16 0 17 1;
+#X connect 17 0 24 0;
+#X connect 18 0 22 0;
+#X connect 23 0 24 1;
+#X connect 24 0 18 0;
+#X connect 25 0 24 0;
+#X connect 26 0 25 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_rtx-help.pd b/packages/noncvs/windows/extra/Gem/pix_rtx-help.pd
index 06ef5ed3..8bdedcf5 100644
--- a/packages/noncvs/windows/extra/Gem/pix_rtx-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_rtx-help.pd
@@ -1,102 +1,102 @@
-#N canvas 20 122 683 405 10;
-#X text 452 8 GEM object;
-#X obj 9 265 cnv 15 430 135 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 40 267 Inlets:;
-#X text 39 362 Outlets:;
-#X obj 9 227 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 18 231 Arguments:;
-#X obj 8 56 cnv 15 430 165 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 200 280 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 544 290 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X msg 67 70 set destroy;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X msg 156 71 set create;
-#X obj 67 41 route create;
-#X connect 2 0 7 0;
-#X connect 3 0 1 0;
-#X connect 4 0 0 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 0;
-#X connect 7 0 3 0;
-#X connect 7 0 4 0;
-#X connect 7 1 6 0;
-#X connect 7 1 5 0;
-#X restore 549 329 pd gemwin;
-#X msg 549 310 create;
-#X text 545 289 Create window:;
-#X obj 451 173 cnv 15 155 80 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 83 gemhead;
-#X text 17 376 Outlet 1: gemlist;
-#X text 24 281 Inlet 1: gemlist;
-#X obj 451 322 square 3;
-#X obj 451 300 pix_texture;
-#X text 71 31 Class: pix object (timebased effect);
-#X obj 451 151 pix_film;
-#X obj 515 151 t f;
-#X obj 464 103 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#N canvas 0 0 450 300 open 0;
-#X obj 85 49 inlet;
-#X obj 85 237 outlet;
-#X obj 85 145 openpanel;
-#X msg 85 179 open \$1;
-#X msg 259 213 auto 1;
-#X obj 268 179 loadbang;
-#X connect 0 0 2 0;
-#X connect 2 0 3 0;
-#X connect 3 0 1 0;
-#X connect 4 0 1 0;
-#X connect 5 0 4 0;
-#X restore 464 131 pd open;
-#X text 505 77 open a supported;
-#X text 506 88 movie-clip;
-#X text 523 114 macOS: quicktime;
-#X text 516 104 windos: *.AVI;
-#X text 523 124 linux: depends...;
-#X obj 451 232 pix_rtx;
-#X text 50 12 Synopsis: [pix_rtx];
-#X text 21 86 [pix_rtx] does something similar to tx-transform. The
-main differences are: 1) it is done in realtime \; 2) it is released
-under the GnuGPL and hopes to stay free forever.;
-#X text 23 142 basically the time-axis (now->later) and the x-axis
-(left->right) are swapped. for more information see http://umlaeute.mur.at/rtx
-;
-#X text 25 183 beware: [pix_rtx] needs a lot of memory:: mem=(width^2)*height*4
-bytes (for a 320x240 movie \, this would be more than 70MByte that
-have to stay in RAM);
-#X text 29 55 Description: RealTime vs. X transformation;
-#X text 29 68 Description: Relative Time-X transformation;
-#X msg 551 205 set;
-#X msg 468 205 mode \$1;
-#X obj 468 185 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
-1;
-#X text 87 240 <none>;
-#X text 23 299 Inlet 1: set : sets the whole internal buffer to the
-next incoming frame;
-#X text 23 329 Inlet 1: mode 1|0 : clamp the discontinuity to the edge
-or not. (default: 1);
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 20 0;
-#X connect 18 0 17 0;
-#X connect 20 0 29 0;
-#X connect 20 2 21 0;
-#X connect 21 0 20 1;
-#X connect 22 0 23 0;
-#X connect 23 0 20 0;
-#X connect 29 0 18 0;
-#X connect 36 0 29 0;
-#X connect 37 0 29 0;
-#X connect 38 0 37 0;
+#N canvas 20 122 683 405 10;
+#X text 452 8 GEM object;
+#X obj 9 265 cnv 15 430 135 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 40 267 Inlets:;
+#X text 39 362 Outlets:;
+#X obj 9 227 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 18 231 Arguments:;
+#X obj 8 56 cnv 15 430 165 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 200 280 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 544 290 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X msg 67 70 set destroy;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X msg 156 71 set create;
+#X obj 67 41 route create;
+#X connect 2 0 7 0;
+#X connect 3 0 1 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 0;
+#X connect 7 0 3 0;
+#X connect 7 0 4 0;
+#X connect 7 1 6 0;
+#X connect 7 1 5 0;
+#X restore 549 329 pd gemwin;
+#X msg 549 310 create;
+#X text 545 289 Create window:;
+#X obj 451 173 cnv 15 155 80 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 83 gemhead;
+#X text 17 376 Outlet 1: gemlist;
+#X text 24 281 Inlet 1: gemlist;
+#X obj 451 322 square 3;
+#X obj 451 300 pix_texture;
+#X text 71 31 Class: pix object (timebased effect);
+#X obj 451 151 pix_film;
+#X obj 515 151 t f;
+#X obj 464 103 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#N canvas 0 0 450 300 open 0;
+#X obj 85 49 inlet;
+#X obj 85 237 outlet;
+#X obj 85 145 openpanel;
+#X msg 85 179 open \$1;
+#X msg 259 213 auto 1;
+#X obj 268 179 loadbang;
+#X connect 0 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 1 0;
+#X connect 5 0 4 0;
+#X restore 464 131 pd open;
+#X text 505 77 open a supported;
+#X text 506 88 movie-clip;
+#X text 523 114 macOS: quicktime;
+#X text 516 104 windos: *.AVI;
+#X text 523 124 linux: depends...;
+#X obj 451 232 pix_rtx;
+#X text 50 12 Synopsis: [pix_rtx];
+#X text 21 86 [pix_rtx] does something similar to tx-transform. The
+main differences are: 1) it is done in realtime \; 2) it is released
+under the GnuGPL and hopes to stay free forever.;
+#X text 23 142 basically the time-axis (now->later) and the x-axis
+(left->right) are swapped. for more information see http://umlaeute.mur.at/rtx
+;
+#X text 25 183 beware: [pix_rtx] needs a lot of memory:: mem=(width^2)*height*4
+bytes (for a 320x240 movie \, this would be more than 70MByte that
+have to stay in RAM);
+#X text 29 55 Description: RealTime vs. X transformation;
+#X text 29 68 Description: Relative Time-X transformation;
+#X msg 551 205 set;
+#X msg 468 205 mode \$1;
+#X obj 468 185 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
+1;
+#X text 87 240 <none>;
+#X text 23 299 Inlet 1: set : sets the whole internal buffer to the
+next incoming frame;
+#X text 23 329 Inlet 1: mode 1|0 : clamp the discontinuity to the edge
+or not. (default: 1);
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 20 0;
+#X connect 18 0 17 0;
+#X connect 20 0 29 0;
+#X connect 20 2 21 0;
+#X connect 21 0 20 1;
+#X connect 22 0 23 0;
+#X connect 23 0 20 0;
+#X connect 29 0 18 0;
+#X connect 36 0 29 0;
+#X connect 37 0 29 0;
+#X connect 38 0 37 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_scanline-help.pd b/packages/noncvs/windows/extra/Gem/pix_scanline-help.pd
index 9745e448..90e10033 100644
--- a/packages/noncvs/windows/extra/Gem/pix_scanline-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_scanline-help.pd
@@ -1,87 +1,87 @@
-#N canvas 0 0 651 393 10;
-#X text 452 8 GEM object;
-#X obj 8 216 cnv 15 430 125 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 218 Inlets:;
-#X text 39 310 Outlets:;
-#X obj 8 176 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 175 Arguments:;
-#X obj 8 76 cnv 15 430 90 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X obj 450 136 cnv 15 160 80 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 71 31 Class: pix object;
-#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 451 113 pd image;
-#X obj 451 233 pix_texture;
-#X text 63 186 <none>;
-#X text 17 323 Outlet 1: gemlist;
-#X text 23 232 Inlet 1: gemlist;
-#X obj 451 255 square 3;
-#X floatatom 530 175 5 0 0 2 interlace - -;
-#X obj 451 196 pix_scanline;
-#X obj 465 140 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X msg 465 159 mode \$1;
-#X text 50 12 Synopsis: [pix_scanline];
-#X text 29 77 Description: scan lines of an image;
-#X text 516 105 open an image;
-#X text 509 118 (JPEG \, TIFF \, ..);
-#X text 16 103 [pix_scanline] manipulates each row of an image by either
-removing or duplicating them. this can be used an image resolution
-decimator in mode 0 or as an interlacer in mode 1;
-#X text 23 245 Inlet 1: message: mode [0|1] (duplicate(=default) or
-draw only);
-#X text 23 278 Inlet 2: int: the number of lines to duplicate or the
-to skip between drawing;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 17 0;
-#X connect 16 0 17 1;
-#X connect 17 0 24 0;
-#X connect 18 0 22 0;
-#X connect 23 0 24 1;
-#X connect 24 0 18 0;
-#X connect 25 0 26 0;
-#X connect 26 0 24 0;
+#N canvas 0 0 651 393 10;
+#X text 452 8 GEM object;
+#X obj 8 216 cnv 15 430 125 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 218 Inlets:;
+#X text 39 310 Outlets:;
+#X obj 8 176 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 175 Arguments:;
+#X obj 8 76 cnv 15 430 90 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X obj 450 136 cnv 15 160 80 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 71 31 Class: pix object;
+#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 451 113 pd image;
+#X obj 451 233 pix_texture;
+#X text 63 186 <none>;
+#X text 17 323 Outlet 1: gemlist;
+#X text 23 232 Inlet 1: gemlist;
+#X obj 451 255 square 3;
+#X floatatom 530 175 5 0 0 2 interlace - -;
+#X obj 451 196 pix_scanline;
+#X obj 465 140 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X msg 465 159 mode \$1;
+#X text 50 12 Synopsis: [pix_scanline];
+#X text 29 77 Description: scan lines of an image;
+#X text 516 105 open an image;
+#X text 509 118 (JPEG \, TIFF \, ..);
+#X text 16 103 [pix_scanline] manipulates each row of an image by either
+removing or duplicating them. this can be used an image resolution
+decimator in mode 0 or as an interlacer in mode 1;
+#X text 23 245 Inlet 1: message: mode [0|1] (duplicate(=default) or
+draw only);
+#X text 23 278 Inlet 2: int: the number of lines to duplicate or the
+to skip between drawing;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 17 0;
+#X connect 16 0 17 1;
+#X connect 17 0 24 0;
+#X connect 18 0 22 0;
+#X connect 23 0 24 1;
+#X connect 24 0 18 0;
+#X connect 25 0 26 0;
+#X connect 26 0 24 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_set-help.pd b/packages/noncvs/windows/extra/Gem/pix_set-help.pd
index 10a1cf86..9cbd071d 100644
--- a/packages/noncvs/windows/extra/Gem/pix_set-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_set-help.pd
@@ -1,81 +1,81 @@
-#N canvas 362 268 654 456 10;
-#X text 452 8 GEM object;
-#X obj 8 325 cnv 15 430 100 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 328 Inlets:;
-#X text 38 395 Outlets:;
-#X obj 8 286 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 285 Arguments:;
-#X obj 7 56 cnv 15 430 220 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 198 112 destroy \, reset;
-#X msg 132 94 create \, 1 \, color 0.5 0.5 0.5;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 destroy;
-#X text 515 253 Create window:;
-#X obj 450 114 cnv 15 160 100 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 71 31 Class: pix object;
-#X text 46 408 Outlet 1: gemlist;
-#X text 53 342 Inlet 1: gemlist;
-#X text 50 12 Synopsis: [pix_set];
-#X obj 451 186 pix_set 4 4;
-#X obj 451 233 pix_texture;
-#X obj 450 255 square;
-#X msg 459 160 RGBA;
-#X msg 458 119 GREY;
-#X msg 460 140 RGB;
-#X msg 502 133 1 0 0 0 1 0 0 0 1 1 1 0 1 0 1 0 1 1;
-#X text 63 296 <width> <height>;
-#X text 21 79 [pix_set] will allow you to set the image-data of a pixel
-with one long list of (m*n) Pixel-Tupel.;
-#X text 22 109 The size of the image can be set with creation-arguments.
-It defaults to 64*64.;
-#X text 22 143 How the list is interpreted depends on the mode \, [pix_set]
-is set to. When in RGBA-Mode (default) you should pass a float-list
-of the form "R1 G1 B1 A1 R2 G2 B2 A2 ...". In RGB-Mode the float-list
-will be of the form "R1 G1 B1 R2 G2 B2 ...". In GREY-Mode the float-list
-is simply "V1 V2 ...";
-#X text 18 220 If the list does not contain enough data \, the rest
-of the image will be set to 0 (black).;
-#X text 16 257 The image will always be in RGBA-color-space !;
-#X text 53 355 Inlet 1: RGBA|RGB|GREY : set format of input-data;
-#X text 52 369 Inlet 2: list : interleaved image-data (R1 G1 B1 A1
-R2 B2...) or (R1 B1 G1 R2 B2...) or (L1 L2 L3...);
-#X text 29 56 Description: set the pixel-data of an image;
-#X text 460 376 see also;
-#X obj 530 377 pix_dump;
-#X msg 536 233 quality 0;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 19 0;
-#X connect 19 0 20 0;
-#X connect 20 0 21 0;
-#X connect 22 0 19 0;
-#X connect 23 0 19 0;
-#X connect 24 0 19 0;
-#X connect 25 0 19 1;
-#X connect 37 0 20 0;
+#N canvas 362 268 654 456 10;
+#X text 452 8 GEM object;
+#X obj 8 325 cnv 15 430 100 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 328 Inlets:;
+#X text 38 395 Outlets:;
+#X obj 8 286 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 285 Arguments:;
+#X obj 7 56 cnv 15 430 220 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 198 112 destroy \, reset;
+#X msg 132 94 create \, 1 \, color 0.5 0.5 0.5;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X obj 450 114 cnv 15 160 100 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 71 31 Class: pix object;
+#X text 46 408 Outlet 1: gemlist;
+#X text 53 342 Inlet 1: gemlist;
+#X text 50 12 Synopsis: [pix_set];
+#X obj 451 186 pix_set 4 4;
+#X obj 451 233 pix_texture;
+#X obj 450 255 square;
+#X msg 459 160 RGBA;
+#X msg 458 119 GREY;
+#X msg 460 140 RGB;
+#X msg 502 133 1 0 0 0 1 0 0 0 1 1 1 0 1 0 1 0 1 1;
+#X text 63 296 <width> <height>;
+#X text 21 79 [pix_set] will allow you to set the image-data of a pixel
+with one long list of (m*n) Pixel-Tupel.;
+#X text 22 109 The size of the image can be set with creation-arguments.
+It defaults to 64*64.;
+#X text 22 143 How the list is interpreted depends on the mode \, [pix_set]
+is set to. When in RGBA-Mode (default) you should pass a float-list
+of the form "R1 G1 B1 A1 R2 G2 B2 A2 ...". In RGB-Mode the float-list
+will be of the form "R1 G1 B1 R2 G2 B2 ...". In GREY-Mode the float-list
+is simply "V1 V2 ...";
+#X text 18 220 If the list does not contain enough data \, the rest
+of the image will be set to 0 (black).;
+#X text 16 257 The image will always be in RGBA-color-space !;
+#X text 53 355 Inlet 1: RGBA|RGB|GREY : set format of input-data;
+#X text 52 369 Inlet 2: list : interleaved image-data (R1 G1 B1 A1
+R2 B2...) or (R1 B1 G1 R2 B2...) or (L1 L2 L3...);
+#X text 29 56 Description: set the pixel-data of an image;
+#X text 460 376 see also;
+#X obj 530 377 pix_dump;
+#X msg 536 233 quality 0;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 19 0;
+#X connect 19 0 20 0;
+#X connect 20 0 21 0;
+#X connect 22 0 19 0;
+#X connect 23 0 19 0;
+#X connect 24 0 19 0;
+#X connect 25 0 19 1;
+#X connect 37 0 20 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_share_read-help.pd b/packages/noncvs/windows/extra/Gem/pix_share_read-help.pd
index ba30a876..6ce09397 100644
--- a/packages/noncvs/windows/extra/Gem/pix_share_read-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_share_read-help.pd
@@ -1,78 +1,78 @@
-#N canvas 195 67 705 411 10;
-#X text 451 8 GEM object;
-#X obj 8 270 cnv 15 430 80 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 271 Inlets:;
-#X text 34 316 Outlets:;
-#X obj 8 231 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 230 Arguments:;
-#X obj 7 56 cnv 15 430 170 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 57 cnv 15 240 220 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 40 Example:;
-#X obj 484 204 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 489 243 pd gemwin;
-#X msg 489 224 create;
-#X text 485 203 Create window:;
-#X obj 450 84 cnv 15 230 60 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 64 gemhead;
-#X text 71 31 Class: pix object;
-#X text 56 331 Outlet 1: gemlist;
-#X text 63 283 Inlet 1: gemlist;
-#X obj 8 356 cnv 15 410 40 empty empty empty 20 12 0 14 -260818 -66577
-0;
-#X text 11 357 WARNING: [pix_share_write] and [pix_share_read] are
-only available on platforms that support shared memory (no w32 for
-now!);
-#X text 63 241 <i:ID> <i:width> <i:height> <colorspace>;
-#X text 446 284 see also:;
-#X text 18 127 [pix_share_write] and [pix_share_read] need not be in
-the same instance of pd. However all objects need to have access to
-the same memory (they probably need to run on the same computer);
-#X obj 451 119 pix_share_read 321 256 256 RGBA;
-#X obj 451 154 pix_texture;
-#X obj 451 175 square;
-#X text 15 181 [pix_share_read] needs to know the image-dimensions
-(and color-space) in advance. The color-space can be given as a symbol
-("RGBA" \, "YUV" \, "Grey") or as pixel-width (4 \, 2 \, 1);
-#X text 18 72 [pix_share_read] will create (if needed) a portion of
-shared memory - identified by a given ID - where it can read pix-data
-from. This data needs to be written by a [pix_share_write] object (referencing
-to the same ID).;
-#X text 29 56 Description: read pixels from a shared memory region
-;
-#X text 50 12 Synopsis: [pix_share_read];
-#X text 446 333 Run the [pix_share_write] help-patch;
-#X text 446 347 in a different pd instance on your;
-#X text 447 361 machine to see the effect.;
-#X obj 519 285 pix_share_write 322 1 1 1;
-#X text 117 299 set <ID> <width> <height> <colorspace>;
-#X msg 510 94 set 323 256 256 RGBA;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 23 0;
-#X connect 23 0 24 0;
-#X connect 24 0 25 0;
-#X connect 35 0 23 0;
+#N canvas 195 67 705 411 10;
+#X text 451 8 GEM object;
+#X obj 8 270 cnv 15 430 80 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 271 Inlets:;
+#X text 34 316 Outlets:;
+#X obj 8 231 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 230 Arguments:;
+#X obj 7 56 cnv 15 430 170 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 57 cnv 15 240 220 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 40 Example:;
+#X obj 484 204 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 489 243 pd gemwin;
+#X msg 489 224 create;
+#X text 485 203 Create window:;
+#X obj 450 84 cnv 15 230 60 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 64 gemhead;
+#X text 71 31 Class: pix object;
+#X text 56 331 Outlet 1: gemlist;
+#X text 63 283 Inlet 1: gemlist;
+#X obj 8 356 cnv 15 410 40 empty empty empty 20 12 0 14 -260818 -66577
+0;
+#X text 11 357 WARNING: [pix_share_write] and [pix_share_read] are
+only available on platforms that support shared memory (no w32 for
+now!);
+#X text 63 241 <i:ID> <i:width> <i:height> <colorspace>;
+#X text 446 284 see also:;
+#X text 18 127 [pix_share_write] and [pix_share_read] need not be in
+the same instance of pd. However all objects need to have access to
+the same memory (they probably need to run on the same computer);
+#X obj 451 119 pix_share_read 321 256 256 RGBA;
+#X obj 451 154 pix_texture;
+#X obj 451 175 square;
+#X text 15 181 [pix_share_read] needs to know the image-dimensions
+(and color-space) in advance. The color-space can be given as a symbol
+("RGBA" \, "YUV" \, "Grey") or as pixel-width (4 \, 2 \, 1);
+#X text 18 72 [pix_share_read] will create (if needed) a portion of
+shared memory - identified by a given ID - where it can read pix-data
+from. This data needs to be written by a [pix_share_write] object (referencing
+to the same ID).;
+#X text 29 56 Description: read pixels from a shared memory region
+;
+#X text 50 12 Synopsis: [pix_share_read];
+#X text 446 333 Run the [pix_share_write] help-patch;
+#X text 446 347 in a different pd instance on your;
+#X text 447 361 machine to see the effect.;
+#X obj 519 285 pix_share_write 322 1 1 1;
+#X text 117 299 set <ID> <width> <height> <colorspace>;
+#X msg 510 94 set 323 256 256 RGBA;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 23 0;
+#X connect 23 0 24 0;
+#X connect 24 0 25 0;
+#X connect 35 0 23 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_share_write-help.pd b/packages/noncvs/windows/extra/Gem/pix_share_write-help.pd
index 8939cc57..d05998d0 100644
--- a/packages/noncvs/windows/extra/Gem/pix_share_write-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_share_write-help.pd
@@ -1,96 +1,96 @@
-#N canvas 14 45 708 407 10;
-#X text 451 8 GEM object;
-#X obj 8 270 cnv 15 430 80 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 271 Inlets:;
-#X text 34 316 Outlets:;
-#X obj 8 231 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 230 Arguments:;
-#X obj 7 56 cnv 15 430 170 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 240 200 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 484 204 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 489 243 pd gemwin;
-#X msg 489 224 create;
-#X text 485 203 Create window:;
-#X obj 450 140 cnv 15 230 60 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 71 31 Class: pix object;
-#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X obj 77 279 pix_rgba;
-#X obj 77 307 pix_resize 256 256;
-#X connect 0 0 2 0;
-#X connect 2 0 6 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X connect 6 0 7 0;
-#X connect 7 0 1 0;
-#X restore 451 113 pd image;
-#X text 56 331 Outlet 1: gemlist;
-#X text 63 283 Inlet 1: gemlist;
-#X text 516 105 open an image;
-#X text 509 118 (JPEG \, TIFF \, ..);
-#X obj 8 356 cnv 15 410 40 empty empty empty 20 12 0 14 -260818 -66577
-0;
-#X text 50 12 Synopsis: [pix_share_write];
-#X text 29 56 Description: write pixels to a shared memory region;
-#X text 11 357 WARNING: [pix_share_write] and [pix_share_read] are
-only available on platforms that support shared memory (no w32 for
-now!);
-#X text 63 241 <i:ID> <i:width> <i:height> <colorspace>;
-#X obj 451 176 pix_share_write 321 256 256 RGBA;
-#X text 446 284 see also:;
-#X text 15 181 [pix_share_write] needs to know the image-dimensions
-(and color-space) in advance. The color-space can be given as a symbol
-("RGBA" \, "YUV" \, "Grey") or as pixel-width (4 \, 2 \, 1);
-#X text 18 72 [pix_share_write] will create (if needed) a portion of
-shared memory - identified by a given ID - where it can write pix-data
-into. This data can then be read via one or more [pix_share_read] objects
-(referencing to the same ID).;
-#X text 18 127 [pix_share_write] and [pix_share_read] need not be in
-the same instance of pd. However all objects need to have access to
-the same memory (they probably need to run on the same computer);
-#X text 446 347 in a different pd instance on your;
-#X text 447 361 machine to see the effect.;
-#X text 446 333 Run the [pix_share_read] help-patch;
-#X obj 519 285 pix_share_read 322 1 1 1;
-#X text 117 299 set <ID> <width> <height> <colorspace>;
-#X msg 468 148 set 323 256 256 RGBA;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 17 0;
-#X connect 16 0 17 1;
-#X connect 17 0 27 0;
-#X connect 37 0 27 0;
+#N canvas 14 45 708 407 10;
+#X text 451 8 GEM object;
+#X obj 8 270 cnv 15 430 80 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 271 Inlets:;
+#X text 34 316 Outlets:;
+#X obj 8 231 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 230 Arguments:;
+#X obj 7 56 cnv 15 430 170 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 240 200 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 484 204 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 489 243 pd gemwin;
+#X msg 489 224 create;
+#X text 485 203 Create window:;
+#X obj 450 140 cnv 15 230 60 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 71 31 Class: pix object;
+#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X obj 77 279 pix_rgba;
+#X obj 77 307 pix_resize 256 256;
+#X connect 0 0 2 0;
+#X connect 2 0 6 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X connect 6 0 7 0;
+#X connect 7 0 1 0;
+#X restore 451 113 pd image;
+#X text 56 331 Outlet 1: gemlist;
+#X text 63 283 Inlet 1: gemlist;
+#X text 516 105 open an image;
+#X text 509 118 (JPEG \, TIFF \, ..);
+#X obj 8 356 cnv 15 410 40 empty empty empty 20 12 0 14 -260818 -66577
+0;
+#X text 50 12 Synopsis: [pix_share_write];
+#X text 29 56 Description: write pixels to a shared memory region;
+#X text 11 357 WARNING: [pix_share_write] and [pix_share_read] are
+only available on platforms that support shared memory (no w32 for
+now!);
+#X text 63 241 <i:ID> <i:width> <i:height> <colorspace>;
+#X obj 451 176 pix_share_write 321 256 256 RGBA;
+#X text 446 284 see also:;
+#X text 15 181 [pix_share_write] needs to know the image-dimensions
+(and color-space) in advance. The color-space can be given as a symbol
+("RGBA" \, "YUV" \, "Grey") or as pixel-width (4 \, 2 \, 1);
+#X text 18 72 [pix_share_write] will create (if needed) a portion of
+shared memory - identified by a given ID - where it can write pix-data
+into. This data can then be read via one or more [pix_share_read] objects
+(referencing to the same ID).;
+#X text 18 127 [pix_share_write] and [pix_share_read] need not be in
+the same instance of pd. However all objects need to have access to
+the same memory (they probably need to run on the same computer);
+#X text 446 347 in a different pd instance on your;
+#X text 447 361 machine to see the effect.;
+#X text 446 333 Run the [pix_share_read] help-patch;
+#X obj 519 285 pix_share_read 322 1 1 1;
+#X text 117 299 set <ID> <width> <height> <colorspace>;
+#X msg 468 148 set 323 256 256 RGBA;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 17 0;
+#X connect 16 0 17 1;
+#X connect 17 0 27 0;
+#X connect 37 0 27 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_sig2pix~-help.pd b/packages/noncvs/windows/extra/Gem/pix_sig2pix~-help.pd
index fb127e15..3421b2d1 100644
--- a/packages/noncvs/windows/extra/Gem/pix_sig2pix~-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_sig2pix~-help.pd
@@ -1,99 +1,99 @@
-#N canvas 230 0 683 500 10;
-#X text 452 8 GEM object;
-#X obj 8 351 cnv 15 430 135 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 353 Inlets:;
-#X text 39 448 Outlets:;
-#X obj 8 311 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 310 Arguments:;
-#X obj 8 56 cnv 15 430 250 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 280 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 290 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X msg 67 70 set destroy;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X msg 156 71 set create+DSP;
-#X obj 67 41 route create+DSP;
-#X msg 102 163 \; pd dsp 1;
-#X connect 2 0 7 0;
-#X connect 3 0 1 0;
-#X connect 4 0 0 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 0;
-#X connect 7 0 3 0;
-#X connect 7 0 4 0;
-#X connect 7 0 8 0;
-#X connect 7 1 6 0;
-#X connect 7 1 5 0;
-#X restore 519 329 pd gemwin;
-#X msg 519 310 create+DSP;
-#X text 515 289 Create window:;
-#X obj 451 118 cnv 15 160 140 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 89 gemhead;
-#X text 17 462 Outlet 1: gemlist;
-#X text 23 367 Inlet 1: gemlist;
-#X obj 451 292 square 3;
-#X text 63 321 list: [<width> <height>];
-#X obj 526 89 block~ 4096;
-#X obj 459 143 osc~ 1;
-#X obj 459 182 *~ 0.5;
-#X obj 459 162 +~ 1;
-#X obj 513 124 noise~;
-#X floatatom 530 172 5 0 0 0 - - -;
-#X obj 561 124 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1
-;
-#X obj 513 147 *~ 0;
-#X obj 530 191 phasor~ 700;
-#X floatatom 459 125 5 0 0 0 - - -;
-#X text 50 12 Synopsis: [pix_sig2pix~];
-#X text 71 31 Class: pix object (source);
-#X text 29 57 Description: convert signals to images;
-#X text 23 394 Inlet 1: signal: red channel;
-#X text 23 407 Inlet 1: signal: green channel;
-#X text 23 419 Inlet 1: signal: blue channel;
-#X text 23 432 Inlet 1: signal: alpha channel;
-#X text 23 380 Inlet 1: message: dimen <width> <height>;
-#X text 13 222 If you have large images (pe: 256x256=65536) you will
-also need large audio-blocks. However \, since 65536 samples are more
-than 1 second (at 44.1kHz) you might want to set an overlap or upsampling
-factor with [block~] to get decent framerates.;
-#X msg 536 269 quality 0;
-#X msg 525 214 dimen 512 4;
-#X obj 451 270 pix_texture;
-#X obj 451 236 pix_sig2pix~ 64 64;
-#X text 12 74 [pix_sig2pix~] will interprete the 4 incoming audio-streams
-as values for the red \, green \, blue and alpha channel of an image.
-Each image corresponds to an audio-block (signal-vector). The default
-blocksize in pd is 64 samples. If you want images with more than 64
-pixels \, you will have to change the blocksize with the [block~] object.
-The default image-size is calculated from the blocksize (eg: 64samples
--> 8x8 & 128samples -> 16x8) \, but you can set it either with arguments
-or the [dimen( message. If your imagesize is bigger than the blocksize
-\, the rest will be undefined.;
-#X text 11 291 Signal values must be between 0 & 1;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 41 0;
-#X connect 20 0 22 0;
-#X connect 21 0 41 0;
-#X connect 22 0 21 0;
-#X connect 23 0 26 0;
-#X connect 24 0 27 0;
-#X connect 25 0 26 1;
-#X connect 26 0 41 1;
-#X connect 27 0 41 2;
-#X connect 28 0 20 0;
-#X connect 38 0 40 0;
-#X connect 39 0 41 0;
-#X connect 40 0 17 0;
-#X connect 41 0 40 0;
+#N canvas 230 0 683 500 10;
+#X text 452 8 GEM object;
+#X obj 8 351 cnv 15 430 135 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 353 Inlets:;
+#X text 39 448 Outlets:;
+#X obj 8 311 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 310 Arguments:;
+#X obj 8 56 cnv 15 430 250 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 280 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 290 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X msg 67 70 set destroy;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X msg 156 71 set create+DSP;
+#X obj 67 41 route create+DSP;
+#X msg 102 163 \; pd dsp 1;
+#X connect 2 0 7 0;
+#X connect 3 0 1 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 0;
+#X connect 7 0 3 0;
+#X connect 7 0 4 0;
+#X connect 7 0 8 0;
+#X connect 7 1 6 0;
+#X connect 7 1 5 0;
+#X restore 519 329 pd gemwin;
+#X msg 519 310 create+DSP;
+#X text 515 289 Create window:;
+#X obj 451 118 cnv 15 160 140 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 89 gemhead;
+#X text 17 462 Outlet 1: gemlist;
+#X text 23 367 Inlet 1: gemlist;
+#X obj 451 292 square 3;
+#X text 63 321 list: [<width> <height>];
+#X obj 526 89 block~ 4096;
+#X obj 459 143 osc~ 1;
+#X obj 459 182 *~ 0.5;
+#X obj 459 162 +~ 1;
+#X obj 513 124 noise~;
+#X floatatom 530 172 5 0 0 0 - - -;
+#X obj 561 124 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1
+;
+#X obj 513 147 *~ 0;
+#X obj 530 191 phasor~ 700;
+#X floatatom 459 125 5 0 0 0 - - -;
+#X text 50 12 Synopsis: [pix_sig2pix~];
+#X text 71 31 Class: pix object (source);
+#X text 29 57 Description: convert signals to images;
+#X text 23 394 Inlet 1: signal: red channel;
+#X text 23 407 Inlet 1: signal: green channel;
+#X text 23 419 Inlet 1: signal: blue channel;
+#X text 23 432 Inlet 1: signal: alpha channel;
+#X text 23 380 Inlet 1: message: dimen <width> <height>;
+#X text 13 222 If you have large images (pe: 256x256=65536) you will
+also need large audio-blocks. However \, since 65536 samples are more
+than 1 second (at 44.1kHz) you might want to set an overlap or upsampling
+factor with [block~] to get decent framerates.;
+#X msg 536 269 quality 0;
+#X msg 525 214 dimen 512 4;
+#X obj 451 270 pix_texture;
+#X obj 451 236 pix_sig2pix~ 64 64;
+#X text 12 74 [pix_sig2pix~] will interprete the 4 incoming audio-streams
+as values for the red \, green \, blue and alpha channel of an image.
+Each image corresponds to an audio-block (signal-vector). The default
+blocksize in pd is 64 samples. If you want images with more than 64
+pixels \, you will have to change the blocksize with the [block~] object.
+The default image-size is calculated from the blocksize (eg: 64samples
+-> 8x8 & 128samples -> 16x8) \, but you can set it either with arguments
+or the [dimen( message. If your imagesize is bigger than the blocksize
+\, the rest will be undefined.;
+#X text 11 291 Signal values must be between 0 & 1;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 41 0;
+#X connect 20 0 22 0;
+#X connect 21 0 41 0;
+#X connect 22 0 21 0;
+#X connect 23 0 26 0;
+#X connect 24 0 27 0;
+#X connect 25 0 26 1;
+#X connect 26 0 41 1;
+#X connect 27 0 41 2;
+#X connect 28 0 20 0;
+#X connect 38 0 40 0;
+#X connect 39 0 41 0;
+#X connect 40 0 17 0;
+#X connect 41 0 40 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_snap-help.pd b/packages/noncvs/windows/extra/Gem/pix_snap-help.pd
index 680b579d..99305bc7 100644
--- a/packages/noncvs/windows/extra/Gem/pix_snap-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_snap-help.pd
@@ -1,123 +1,123 @@
-#N canvas 17 223 935 395 10;
-#X text 452 8 GEM object;
-#X obj 8 216 cnv 15 430 160 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 218 Inlets:;
-#X text 39 347 Outlets:;
-#X obj 8 176 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 175 Arguments:;
-#X obj 8 66 cnv 15 430 100 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 67 cnv 15 250 300 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 50 Example:;
-#X obj 594 303 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 16 419 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 268 112 destroy;
-#X msg 132 112 create \, 1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 599 342 pd gemwin;
-#X msg 599 323 create;
-#X text 595 302 Create window:;
-#X obj 452 157 cnv 15 240 120 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X text 71 31 Class: pix object;
-#X text 27 360 Outlet 1: gemlist;
-#X text 33 232 Inlet 1: gemlist;
-#X obj 451 335 square 3;
-#X obj 714 193 sphere;
-#X obj 451 74 gemhead 50;
-#X obj 714 75 gemhead 49;
-#X obj 482 207 spigot;
-#X obj 484 161 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X msg 570 233 256 256;
-#X text 50 12 Synopsis: [pix_snap];
-#X text 12 144 When grabbing \, be sure that something is in the rendering-buffer
-\, else you will get a black texture.;
-#X text 33 245 Inlet 1: bang: do grab!;
-#X text 33 275 Inlet 2: list: offsetX offsetY (in pixels \; default:
-0 0);
-#X text 33 301 Inlet 3: list: dimenX dimenY (in pixels \; default:
-window-size);
-#X text 63 186 list: [offsetX offsetY [dimX dimY]];
-#X floatatom 527 75 5 0 0 0 - - -;
-#X obj 451 114 rotate 0 1 0 0;
-#X obj 714 143 translate -1 0 1 0;
-#X obj 451 94 translate 1 0 1 0;
-#X obj 451 187 t a b;
-#X obj 714 124 rotate 0 1 1 1;
-#N canvas 5 103 297 145 count 0;
-#X obj 116 39 t b;
-#X obj 116 60 i;
-#X obj 143 61 + 1;
-#X obj 170 62 % 360;
-#X obj 116 17 inlet;
-#X obj 116 94 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X connect 1 0 5 0;
-#X connect 2 0 3 0;
-#X connect 3 0 1 1;
-#X connect 4 0 0 0;
-#X restore 754 104 pd count;
-#X text 624 233 dimension;
-#X text 623 211 offset;
-#X text 506 171 drawn but before the square;
-#X text 504 158 SNAP! after the sphere is;
-#X text 29 67 Description: take a screenshot and convert it to a Pix
-;
-#X text 13 81 When banged [pix_snap] will take a snapshot of the current
-frame buffer which can then be used as a pix. When a snap message (or
-a bang) is sent to [pix_snap] \, that is the moment that something
-is captured from the current frame buffer.;
-#X obj 451 281 pix_invert;
-#X obj 451 303 pix_texture;
-#X text 33 257 Inlet 1: snap: do grab!;
-#X obj 714 97 t a b;
-#X obj 714 165 color 1 0 0;
-#X obj 482 227 t b b;
-#X msg 518 227 0;
-#X obj 451 256 pix_snap 0 0 500 500;
-#X msg 570 209 100 100;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 19 0 33 0;
-#X connect 20 0 46 0;
-#X connect 21 0 48 0;
-#X connect 22 0 21 1;
-#X connect 23 0 50 2;
-#X connect 30 0 31 1;
-#X connect 31 0 34 0;
-#X connect 32 0 47 0;
-#X connect 33 0 31 0;
-#X connect 34 0 50 0;
-#X connect 34 1 21 0;
-#X connect 35 0 32 0;
-#X connect 36 0 35 1;
-#X connect 43 0 44 0;
-#X connect 44 0 17 0;
-#X connect 46 0 35 0;
-#X connect 46 1 36 0;
-#X connect 47 0 18 0;
-#X connect 48 0 50 0;
-#X connect 48 1 49 0;
-#X connect 49 0 22 0;
-#X connect 50 0 43 0;
-#X connect 51 0 50 1;
+#N canvas 17 223 935 395 10;
+#X text 452 8 GEM object;
+#X obj 8 216 cnv 15 430 160 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 218 Inlets:;
+#X text 39 347 Outlets:;
+#X obj 8 176 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 175 Arguments:;
+#X obj 8 66 cnv 15 430 100 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 67 cnv 15 250 300 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 50 Example:;
+#X obj 594 303 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 16 419 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 268 112 destroy;
+#X msg 132 112 create \, 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 599 342 pd gemwin;
+#X msg 599 323 create;
+#X text 595 302 Create window:;
+#X obj 452 157 cnv 15 240 120 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X text 71 31 Class: pix object;
+#X text 27 360 Outlet 1: gemlist;
+#X text 33 232 Inlet 1: gemlist;
+#X obj 451 335 square 3;
+#X obj 714 193 sphere;
+#X obj 451 74 gemhead 50;
+#X obj 714 75 gemhead 49;
+#X obj 482 207 spigot;
+#X obj 484 161 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X msg 570 233 256 256;
+#X text 50 12 Synopsis: [pix_snap];
+#X text 12 144 When grabbing \, be sure that something is in the rendering-buffer
+\, else you will get a black texture.;
+#X text 33 245 Inlet 1: bang: do grab!;
+#X text 33 275 Inlet 2: list: offsetX offsetY (in pixels \; default:
+0 0);
+#X text 33 301 Inlet 3: list: dimenX dimenY (in pixels \; default:
+window-size);
+#X text 63 186 list: [offsetX offsetY [dimX dimY]];
+#X floatatom 527 75 5 0 0 0 - - -;
+#X obj 451 114 rotate 0 1 0 0;
+#X obj 714 143 translate -1 0 1 0;
+#X obj 451 94 translate 1 0 1 0;
+#X obj 451 187 t a b;
+#X obj 714 124 rotate 0 1 1 1;
+#N canvas 5 103 297 145 count 0;
+#X obj 116 39 t b;
+#X obj 116 60 i;
+#X obj 143 61 + 1;
+#X obj 170 62 % 360;
+#X obj 116 17 inlet;
+#X obj 116 94 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 1 0 5 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 1;
+#X connect 4 0 0 0;
+#X restore 754 104 pd count;
+#X text 624 233 dimension;
+#X text 623 211 offset;
+#X text 506 171 drawn but before the square;
+#X text 504 158 SNAP! after the sphere is;
+#X text 29 67 Description: take a screenshot and convert it to a Pix
+;
+#X text 13 81 When banged [pix_snap] will take a snapshot of the current
+frame buffer which can then be used as a pix. When a snap message (or
+a bang) is sent to [pix_snap] \, that is the moment that something
+is captured from the current frame buffer.;
+#X obj 451 281 pix_invert;
+#X obj 451 303 pix_texture;
+#X text 33 257 Inlet 1: snap: do grab!;
+#X obj 714 97 t a b;
+#X obj 714 165 color 1 0 0;
+#X obj 482 227 t b b;
+#X msg 518 227 0;
+#X obj 451 256 pix_snap 0 0 500 500;
+#X msg 570 209 100 100;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 19 0 33 0;
+#X connect 20 0 46 0;
+#X connect 21 0 48 0;
+#X connect 22 0 21 1;
+#X connect 23 0 50 2;
+#X connect 30 0 31 1;
+#X connect 31 0 34 0;
+#X connect 32 0 47 0;
+#X connect 33 0 31 0;
+#X connect 34 0 50 0;
+#X connect 34 1 21 0;
+#X connect 35 0 32 0;
+#X connect 36 0 35 1;
+#X connect 43 0 44 0;
+#X connect 44 0 17 0;
+#X connect 46 0 35 0;
+#X connect 46 1 36 0;
+#X connect 47 0 18 0;
+#X connect 48 0 50 0;
+#X connect 48 1 49 0;
+#X connect 49 0 22 0;
+#X connect 50 0 43 0;
+#X connect 51 0 50 1;
diff --git a/packages/noncvs/windows/extra/Gem/pix_snap2tex-help.pd b/packages/noncvs/windows/extra/Gem/pix_snap2tex-help.pd
index 2eeee12c..24813151 100644
--- a/packages/noncvs/windows/extra/Gem/pix_snap2tex-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_snap2tex-help.pd
@@ -1,122 +1,122 @@
-#N canvas 16 226 935 395 10;
-#X text 452 8 GEM object;
-#X obj 8 216 cnv 15 430 160 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 218 Inlets:;
-#X text 39 347 Outlets:;
-#X obj 8 176 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 175 Arguments:;
-#X obj 8 66 cnv 15 430 100 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 67 cnv 15 250 300 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 50 Example:;
-#X obj 514 303 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 15 422 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 268 112 destroy;
-#X msg 132 112 create \, 1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 342 pd gemwin;
-#X msg 519 323 create;
-#X text 515 302 Create window:;
-#X obj 452 157 cnv 15 240 120 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X text 71 31 Class: pix object;
-#X text 27 360 Outlet 1: gemlist;
-#X text 33 232 Inlet 1: gemlist;
-#X obj 451 315 square 3;
-#X obj 451 256 pix_snap2tex;
-#X obj 574 133 sphere;
-#X obj 451 74 gemhead 50;
-#X obj 574 75 gemhead 49;
-#X obj 571 256 tgl 15 1 empty empty texture_on/off 20 7 0 8 -262144
--1 -1 1 1;
-#X obj 482 217 spigot;
-#X obj 528 217 t b f;
-#X obj 514 198 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X msg 570 209 0 0;
-#X msg 570 233 256 256;
-#X text 50 12 Synopsis: [pix_snap2tex];
-#X text 29 67 Description: take a screenshot and texture it;
-#X text 13 81 When banged [pix_snap2tex] will take a snapshot of the
-current render buffer and immediately texture it to any geometric object
-attached. You can specify the close-up you want to be grabbed via offset/dimension-pairs.
-;
-#X text 12 135 When grabbing \, be sure that something is in the rendering-buffer
-\, else you will get a black texture.;
-#X text 33 245 Inlet 1: bang: do grab!;
-#X text 33 257 Inlet 1: [1|0]: turn texturing on(default)/off;
-#X text 33 269 Inlet 1: message: quality [0|1]: turn texture-resampling
-on(default)/off;
-#X text 33 295 Inlet 2: list: offsetX offsetY (in pixels \; default:
-0 0);
-#X text 33 321 Inlet 3: list: dimenX dimenY (in pixels \; default:
-window-size);
-#X text 63 186 list: [offsetX offsetY [dimX dimY]];
-#X floatatom 527 75 5 0 0 0 - - -;
-#X obj 451 114 rotate 0 1 0 0;
-#X obj 574 113 translate -1 0 1 0;
-#X obj 451 94 translate 1 0 1 0;
-#X obj 451 197 t a b;
-#X obj 451 281 color 0.7 0.7 0.7;
-#X obj 574 94 rotate 0 1 1 1;
-#N canvas 0 0 297 145 count 0;
-#X obj 116 39 t b;
-#X obj 116 60 i;
-#X obj 143 61 + 1;
-#X obj 170 62 % 360;
-#X obj 116 17 inlet;
-#X obj 124 94 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X connect 1 0 5 0;
-#X connect 2 0 3 0;
-#X connect 3 0 1 1;
-#X connect 4 0 0 0;
-#X restore 650 74 pd count;
-#X text 624 233 dimension;
-#X text 598 211 offset;
-#X text 506 171 drawn but before the square;
-#X obj 474 164 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X text 504 158 SNAP! after the sphere is;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 18 0 43 0;
-#X connect 20 0 41 0;
-#X connect 21 0 44 0;
-#X connect 21 0 45 0;
-#X connect 22 0 18 0;
-#X connect 23 0 24 0;
-#X connect 24 0 18 0;
-#X connect 24 1 25 0;
-#X connect 25 0 23 1;
-#X connect 26 0 18 1;
-#X connect 27 0 18 2;
-#X connect 38 0 39 1;
-#X connect 39 0 42 0;
-#X connect 40 0 19 0;
-#X connect 41 0 39 0;
-#X connect 42 0 18 0;
-#X connect 42 1 23 0;
-#X connect 43 0 17 0;
-#X connect 44 0 40 0;
-#X connect 45 0 44 1;
-#X connect 49 0 25 0;
+#N canvas 16 226 935 395 10;
+#X text 452 8 GEM object;
+#X obj 8 216 cnv 15 430 160 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 218 Inlets:;
+#X text 39 347 Outlets:;
+#X obj 8 176 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 175 Arguments:;
+#X obj 8 66 cnv 15 430 100 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 67 cnv 15 250 300 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 50 Example:;
+#X obj 514 303 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 15 422 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 268 112 destroy;
+#X msg 132 112 create \, 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 342 pd gemwin;
+#X msg 519 323 create;
+#X text 515 302 Create window:;
+#X obj 452 157 cnv 15 240 120 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X text 71 31 Class: pix object;
+#X text 27 360 Outlet 1: gemlist;
+#X text 33 232 Inlet 1: gemlist;
+#X obj 451 315 square 3;
+#X obj 451 256 pix_snap2tex;
+#X obj 574 133 sphere;
+#X obj 451 74 gemhead 50;
+#X obj 574 75 gemhead 49;
+#X obj 571 256 tgl 15 1 empty empty texture_on/off 20 7 0 8 -262144
+-1 -1 1 1;
+#X obj 482 217 spigot;
+#X obj 528 217 t b f;
+#X obj 514 198 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X msg 570 209 0 0;
+#X msg 570 233 256 256;
+#X text 50 12 Synopsis: [pix_snap2tex];
+#X text 29 67 Description: take a screenshot and texture it;
+#X text 13 81 When banged [pix_snap2tex] will take a snapshot of the
+current render buffer and immediately texture it to any geometric object
+attached. You can specify the close-up you want to be grabbed via offset/dimension-pairs.
+;
+#X text 12 135 When grabbing \, be sure that something is in the rendering-buffer
+\, else you will get a black texture.;
+#X text 33 245 Inlet 1: bang: do grab!;
+#X text 33 257 Inlet 1: [1|0]: turn texturing on(default)/off;
+#X text 33 269 Inlet 1: message: quality [0|1]: turn texture-resampling
+on(default)/off;
+#X text 33 295 Inlet 2: list: offsetX offsetY (in pixels \; default:
+0 0);
+#X text 33 321 Inlet 3: list: dimenX dimenY (in pixels \; default:
+window-size);
+#X text 63 186 list: [offsetX offsetY [dimX dimY]];
+#X floatatom 527 75 5 0 0 0 - - -;
+#X obj 451 114 rotate 0 1 0 0;
+#X obj 574 113 translate -1 0 1 0;
+#X obj 451 94 translate 1 0 1 0;
+#X obj 451 197 t a b;
+#X obj 451 281 color 0.7 0.7 0.7;
+#X obj 574 94 rotate 0 1 1 1;
+#N canvas 0 0 297 145 count 0;
+#X obj 116 39 t b;
+#X obj 116 60 i;
+#X obj 143 61 + 1;
+#X obj 170 62 % 360;
+#X obj 116 17 inlet;
+#X obj 124 94 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 1 0 5 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 1;
+#X connect 4 0 0 0;
+#X restore 650 74 pd count;
+#X text 624 233 dimension;
+#X text 598 211 offset;
+#X text 506 171 drawn but before the square;
+#X obj 474 164 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X text 504 158 SNAP! after the sphere is;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 18 0 43 0;
+#X connect 20 0 41 0;
+#X connect 21 0 44 0;
+#X connect 21 0 45 0;
+#X connect 22 0 18 0;
+#X connect 23 0 24 0;
+#X connect 24 0 18 0;
+#X connect 24 1 25 0;
+#X connect 25 0 23 1;
+#X connect 26 0 18 1;
+#X connect 27 0 18 2;
+#X connect 38 0 39 1;
+#X connect 39 0 42 0;
+#X connect 40 0 19 0;
+#X connect 41 0 39 0;
+#X connect 42 0 18 0;
+#X connect 42 1 23 0;
+#X connect 43 0 17 0;
+#X connect 44 0 40 0;
+#X connect 45 0 44 1;
+#X connect 49 0 25 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_subtract-help.pd b/packages/noncvs/windows/extra/Gem/pix_subtract-help.pd
index a0c573cc..562a222b 100644
--- a/packages/noncvs/windows/extra/Gem/pix_subtract-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_subtract-help.pd
@@ -1,97 +1,97 @@
-#N canvas 270 306 683 381 10;
-#X text 452 8 GEM object;
-#X obj 8 226 cnv 15 430 135 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 248 Inlets:;
-#X text 39 304 Outlets:;
-#X obj 8 186 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 185 Arguments:;
-#X obj 8 66 cnv 15 430 110 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 280 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 290 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 329 pd gemwin;
-#X msg 519 310 create;
-#X text 515 289 Create window:;
-#X obj 451 168 cnv 15 160 80 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 119 gemhead;
-#X obj 502 102 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 451 138 pd image;
-#X obj 451 263 pix_texture;
-#X text 63 196 <none>;
-#X text 47 318 Outlet 1: gemlist;
-#X text 53 262 Inlet 1: gemlist;
-#X obj 451 285 square 3;
-#X text 503 88 (JPEG \, TIFF \, ..);
-#X obj 541 122 gemhead;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/dancer.JPG;
-#X connect 0 0 5 0;
-#X connect 2 0 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 3 0;
-#X connect 5 0 1 0;
-#X restore 541 141 pd image;
-#X obj 592 103 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#X text 53 291 Inlet 2: gemlist;
-#X text 449 77 open two different images;
-#X text 71 31 Class: pix mix object;
-#X text 32 152 The 2 images have to be of the same size.;
-#X obj 451 198 pix_subtract;
-#X text 50 12 Synopsis: [pix_subtract];
-#X text 29 67 Description: subtract 2 images;
-#X text 19 89 [pix_subtract] simply subtracts two pixes from each other.
-It clamps the resultant image so that no pixel values go below zero
-(In other words \, it is easy to get a black out).;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 16 0;
-#X connect 15 0 16 1;
-#X connect 16 0 30 0;
-#X connect 17 0 21 0;
-#X connect 23 0 24 0;
-#X connect 24 0 30 1;
-#X connect 25 0 24 1;
-#X connect 30 0 17 0;
+#N canvas 270 306 683 381 10;
+#X text 452 8 GEM object;
+#X obj 8 226 cnv 15 430 135 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 248 Inlets:;
+#X text 39 304 Outlets:;
+#X obj 8 186 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 185 Arguments:;
+#X obj 8 66 cnv 15 430 110 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 280 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 290 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 329 pd gemwin;
+#X msg 519 310 create;
+#X text 515 289 Create window:;
+#X obj 451 168 cnv 15 160 80 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 119 gemhead;
+#X obj 502 102 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 451 138 pd image;
+#X obj 451 263 pix_texture;
+#X text 63 196 <none>;
+#X text 47 318 Outlet 1: gemlist;
+#X text 53 262 Inlet 1: gemlist;
+#X obj 451 285 square 3;
+#X text 503 88 (JPEG \, TIFF \, ..);
+#X obj 541 122 gemhead;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X obj 77 205 pix_image examples/data/dancer.JPG;
+#X connect 0 0 5 0;
+#X connect 2 0 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 3 0;
+#X connect 5 0 1 0;
+#X restore 541 141 pd image;
+#X obj 592 103 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#X text 53 291 Inlet 2: gemlist;
+#X text 449 77 open two different images;
+#X text 71 31 Class: pix mix object;
+#X text 32 152 The 2 images have to be of the same size.;
+#X obj 451 198 pix_subtract;
+#X text 50 12 Synopsis: [pix_subtract];
+#X text 29 67 Description: subtract 2 images;
+#X text 19 89 [pix_subtract] simply subtracts two pixes from each other.
+It clamps the resultant image so that no pixel values go below zero
+(In other words \, it is easy to get a black out).;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 16 0;
+#X connect 15 0 16 1;
+#X connect 16 0 30 0;
+#X connect 17 0 21 0;
+#X connect 23 0 24 0;
+#X connect 24 0 30 1;
+#X connect 25 0 24 1;
+#X connect 30 0 17 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_tIIR-help.pd b/packages/noncvs/windows/extra/Gem/pix_tIIR-help.pd
index 9b75bd08..fa380fcd 100644
--- a/packages/noncvs/windows/extra/Gem/pix_tIIR-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_tIIR-help.pd
@@ -1,157 +1,157 @@
-#N canvas 118 22 683 405 10;
-#X text 452 8 GEM object;
-#X obj 9 265 cnv 15 430 135 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 40 267 Inlets:;
-#X text 39 372 Outlets:;
-#X obj 9 227 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 18 226 Arguments:;
-#X obj 8 56 cnv 15 430 165 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 200 280 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 290 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X msg 67 70 set destroy;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X msg 156 71 set create;
-#X obj 67 41 route create;
-#X connect 2 0 7 0;
-#X connect 3 0 1 0;
-#X connect 4 0 0 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 0;
-#X connect 7 0 3 0;
-#X connect 7 0 4 0;
-#X connect 7 1 6 0;
-#X connect 7 1 5 0;
-#X restore 519 329 pd gemwin;
-#X msg 519 310 create;
-#X text 515 289 Create window:;
-#X obj 451 179 cnv 15 155 80 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 83 gemhead;
-#X text 17 386 Outlet 1: gemlist;
-#X text 24 281 Inlet 1: gemlist;
-#X obj 451 292 square 3;
-#X obj 451 270 pix_texture;
-#X text 71 31 Class: pix object (timebased effect);
-#X obj 451 151 pix_film;
-#X obj 515 151 t f;
-#X obj 464 103 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#N canvas 0 0 450 300 open 0;
-#X obj 85 49 inlet;
-#X obj 85 237 outlet;
-#X obj 85 145 openpanel;
-#X msg 85 179 open \$1;
-#X msg 259 213 auto 1;
-#X obj 268 179 loadbang;
-#X connect 0 0 2 0;
-#X connect 2 0 3 0;
-#X connect 3 0 1 0;
-#X connect 4 0 1 0;
-#X connect 5 0 4 0;
-#X restore 464 131 pd open;
-#X text 505 77 open a supported;
-#X text 506 88 movie-clip;
-#X text 523 114 macOS: quicktime;
-#X text 516 104 windos: *.AVI;
-#X text 523 124 linux: depends...;
-#X text 50 12 Synopsis: [pix_tIIR];
-#X text 29 57 Description: timebased IIR-filter;
-#X text 64 237 list: <feedbackTaps-1> <feedforwardTaps-1>;
-#X floatatom 464 218 3 0 1 2 fb0 - -;
-#X floatatom 491 218 3 0 1 2 fb1 - -;
-#X floatatom 517 218 3 0 1 2 fb2 - -;
-#X floatatom 554 218 3 0 1 2 ff0 - -;
-#X obj 451 238 pix_tIIR 2 1;
-#X floatatom 581 218 3 0 1 2 ff1 - -;
-#N canvas 0 0 450 300 init 0;
-#X msg 175 214 0.3;
-#X msg 247 215 0.6;
-#X msg 277 215 0.4;
-#X obj 104 258 outlet;
-#X obj 154 258 outlet;
-#X obj 204 258 outlet;
-#X obj 254 258 outlet;
-#X obj 304 258 outlet;
-#X obj 244 59 inlet;
-#X obj 338 158 t b;
-#X msg 328 201 1;
-#X msg 363 201 0;
-#X obj 238 127 t b;
-#X obj 246 88 route 1;
-#X msg 104 214 0.2;
-#X msg 140 215 0.5;
-#X connect 0 0 5 0;
-#X connect 1 0 6 0;
-#X connect 2 0 7 0;
-#X connect 8 0 13 0;
-#X connect 9 0 10 0;
-#X connect 9 0 11 0;
-#X connect 10 0 3 0;
-#X connect 10 0 6 0;
-#X connect 11 0 4 0;
-#X connect 11 0 5 0;
-#X connect 11 0 7 0;
-#X connect 12 0 14 0;
-#X connect 12 0 15 0;
-#X connect 12 0 0 0;
-#X connect 12 0 1 0;
-#X connect 12 0 2 0;
-#X connect 13 0 12 0;
-#X connect 13 1 9 0;
-#X connect 14 0 3 0;
-#X connect 15 0 4 0;
-#X restore 610 201 pd init;
-#X obj 610 184 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
-1;
-#X msg 477 182 set;
-#X text 24 294 Inlet 1: message: set: overwrites the filter-buffers
-with the next incoming image.;
-#X text 24 323 Inlet 1: message: set 0: blanks the filter-buffers.
-;
-#X text 24 343 Inlet 2..(M+2): float: mth feedback-coefficient;
-#X text 24 355 Inlet (M+2)..(N+M+2): float: nth feedforward-coefficient
-;
-#X text 37 189 w(n) = fb0 * x(n) + fb1 * w(n-1) + ... + fbN(n-M);
-#X text 38 203 y(n) = ff1 * w(n) + ff2 * w(n-1) + ... + ffM(n-N);
-#X text 11 161 The output y() will calculate from the input x() at
-a time n as follows;
-#X msg 517 183 set 0;
-#X text 11 79 [pix_tIIR] is a time-based filter like [pix_motionblur]
-\, [pix_biquad] or pd's [biquad~]. The filter has a feedback- and a
-feedforward-section \, the length of each can be specified as arguments.
-The objects will have an inlet for each feedback-coefficient and an
-inlet for each feedforward-coefficient.;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 20 0;
-#X connect 18 0 17 0;
-#X connect 20 0 36 0;
-#X connect 20 2 21 0;
-#X connect 21 0 20 1;
-#X connect 22 0 23 0;
-#X connect 23 0 20 0;
-#X connect 32 0 36 1;
-#X connect 33 0 36 2;
-#X connect 34 0 36 3;
-#X connect 35 0 36 4;
-#X connect 36 0 18 0;
-#X connect 37 0 36 5;
-#X connect 38 0 32 0;
-#X connect 38 1 33 0;
-#X connect 38 2 34 0;
-#X connect 38 3 35 0;
-#X connect 38 4 37 0;
-#X connect 39 0 38 0;
-#X connect 40 0 36 0;
-#X connect 48 0 36 0;
+#N canvas 118 22 683 405 10;
+#X text 452 8 GEM object;
+#X obj 9 265 cnv 15 430 135 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 40 267 Inlets:;
+#X text 39 372 Outlets:;
+#X obj 9 227 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 18 226 Arguments:;
+#X obj 8 56 cnv 15 430 165 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 200 280 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 290 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X msg 67 70 set destroy;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X msg 156 71 set create;
+#X obj 67 41 route create;
+#X connect 2 0 7 0;
+#X connect 3 0 1 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 0;
+#X connect 7 0 3 0;
+#X connect 7 0 4 0;
+#X connect 7 1 6 0;
+#X connect 7 1 5 0;
+#X restore 519 329 pd gemwin;
+#X msg 519 310 create;
+#X text 515 289 Create window:;
+#X obj 451 179 cnv 15 155 80 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 83 gemhead;
+#X text 17 386 Outlet 1: gemlist;
+#X text 24 281 Inlet 1: gemlist;
+#X obj 451 292 square 3;
+#X obj 451 270 pix_texture;
+#X text 71 31 Class: pix object (timebased effect);
+#X obj 451 151 pix_film;
+#X obj 515 151 t f;
+#X obj 464 103 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#N canvas 0 0 450 300 open 0;
+#X obj 85 49 inlet;
+#X obj 85 237 outlet;
+#X obj 85 145 openpanel;
+#X msg 85 179 open \$1;
+#X msg 259 213 auto 1;
+#X obj 268 179 loadbang;
+#X connect 0 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 1 0;
+#X connect 5 0 4 0;
+#X restore 464 131 pd open;
+#X text 505 77 open a supported;
+#X text 506 88 movie-clip;
+#X text 523 114 macOS: quicktime;
+#X text 516 104 windos: *.AVI;
+#X text 523 124 linux: depends...;
+#X text 50 12 Synopsis: [pix_tIIR];
+#X text 29 57 Description: timebased IIR-filter;
+#X text 64 237 list: <feedbackTaps-1> <feedforwardTaps-1>;
+#X floatatom 464 218 3 0 1 2 fb0 - -;
+#X floatatom 491 218 3 0 1 2 fb1 - -;
+#X floatatom 517 218 3 0 1 2 fb2 - -;
+#X floatatom 554 218 3 0 1 2 ff0 - -;
+#X obj 451 238 pix_tIIR 2 1;
+#X floatatom 581 218 3 0 1 2 ff1 - -;
+#N canvas 0 0 450 300 init 0;
+#X msg 175 214 0.3;
+#X msg 247 215 0.6;
+#X msg 277 215 0.4;
+#X obj 104 258 outlet;
+#X obj 154 258 outlet;
+#X obj 204 258 outlet;
+#X obj 254 258 outlet;
+#X obj 304 258 outlet;
+#X obj 244 59 inlet;
+#X obj 338 158 t b;
+#X msg 328 201 1;
+#X msg 363 201 0;
+#X obj 238 127 t b;
+#X obj 246 88 route 1;
+#X msg 104 214 0.2;
+#X msg 140 215 0.5;
+#X connect 0 0 5 0;
+#X connect 1 0 6 0;
+#X connect 2 0 7 0;
+#X connect 8 0 13 0;
+#X connect 9 0 10 0;
+#X connect 9 0 11 0;
+#X connect 10 0 3 0;
+#X connect 10 0 6 0;
+#X connect 11 0 4 0;
+#X connect 11 0 5 0;
+#X connect 11 0 7 0;
+#X connect 12 0 14 0;
+#X connect 12 0 15 0;
+#X connect 12 0 0 0;
+#X connect 12 0 1 0;
+#X connect 12 0 2 0;
+#X connect 13 0 12 0;
+#X connect 13 1 9 0;
+#X connect 14 0 3 0;
+#X connect 15 0 4 0;
+#X restore 610 201 pd init;
+#X obj 610 184 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
+1;
+#X msg 477 182 set;
+#X text 24 294 Inlet 1: message: set: overwrites the filter-buffers
+with the next incoming image.;
+#X text 24 323 Inlet 1: message: set 0: blanks the filter-buffers.
+;
+#X text 24 343 Inlet 2..(M+2): float: mth feedback-coefficient;
+#X text 24 355 Inlet (M+2)..(N+M+2): float: nth feedforward-coefficient
+;
+#X text 37 189 w(n) = fb0 * x(n) + fb1 * w(n-1) + ... + fbN(n-M);
+#X text 38 203 y(n) = ff1 * w(n) + ff2 * w(n-1) + ... + ffM(n-N);
+#X text 11 161 The output y() will calculate from the input x() at
+a time n as follows;
+#X msg 517 183 set 0;
+#X text 11 79 [pix_tIIR] is a time-based filter like [pix_motionblur]
+\, [pix_biquad] or pd's [biquad~]. The filter has a feedback- and a
+feedforward-section \, the length of each can be specified as arguments.
+The objects will have an inlet for each feedback-coefficient and an
+inlet for each feedforward-coefficient.;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 20 0;
+#X connect 18 0 17 0;
+#X connect 20 0 36 0;
+#X connect 20 2 21 0;
+#X connect 21 0 20 1;
+#X connect 22 0 23 0;
+#X connect 23 0 20 0;
+#X connect 32 0 36 1;
+#X connect 33 0 36 2;
+#X connect 34 0 36 3;
+#X connect 35 0 36 4;
+#X connect 36 0 18 0;
+#X connect 37 0 36 5;
+#X connect 38 0 32 0;
+#X connect 38 1 33 0;
+#X connect 38 2 34 0;
+#X connect 38 3 35 0;
+#X connect 38 4 37 0;
+#X connect 39 0 38 0;
+#X connect 40 0 36 0;
+#X connect 48 0 36 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_takealpha-help.pd b/packages/noncvs/windows/extra/Gem/pix_takealpha-help.pd
index 4289a816..cb6778b0 100644
--- a/packages/noncvs/windows/extra/Gem/pix_takealpha-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_takealpha-help.pd
@@ -1,103 +1,103 @@
-#N canvas 0 273 683 381 10;
-#X text 452 8 GEM object;
-#X obj 8 226 cnv 15 430 135 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 248 Inlets:;
-#X text 39 304 Outlets:;
-#X obj 8 186 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 185 Arguments:;
-#X obj 8 66 cnv 15 430 110 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 280 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 290 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 198 112 destroy \, reset;
-#X msg 132 93 create \, 1 \, color 0.5 0.5 0.5;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 329 pd gemwin;
-#X msg 519 310 create;
-#X text 515 289 Create window:;
-#X obj 451 198 cnv 15 160 40 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 119 gemhead;
-#X obj 502 102 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 451 138 pd image;
-#X obj 451 263 pix_texture;
-#X text 63 196 <none>;
-#X text 47 318 Outlet 1: gemlist;
-#X text 53 262 Inlet 1: gemlist;
-#X obj 451 285 square 3;
-#X text 503 88 (JPEG \, TIFF \, ..);
-#X obj 519 122 gemhead;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/dancer.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 519 141 pd image;
-#X obj 570 103 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#X text 53 291 Inlet 2: gemlist;
-#X text 449 77 open two different images;
-#X text 71 31 Class: pix mix object;
-#X text 29 158 The 2 images have to be of the same size.;
-#X obj 451 208 pix_takealpha;
-#X obj 519 169 pix_coloralpha;
-#X obj 451 243 alpha;
-#X text 29 67 Description: transfer the alpha-channel;
-#X text 29 84 [pix_takealpha] takes the alpha-channel of the 2nd image
-and applies it on the 1st image.;
-#X text 28 117 The 1st image has the be in RGBA-colorspace;
-#X text 27 130 If the 2nd image is in non-RGBA colorspace \, the luminance
-value is taken instead of the Alpha-value.;
-#X text 50 12 Synopsis: [pix_takealpha];
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 16 0;
-#X connect 15 0 16 1;
-#X connect 16 0 30 0;
-#X connect 17 0 21 0;
-#X connect 23 0 24 0;
-#X connect 24 0 31 0;
-#X connect 25 0 24 1;
-#X connect 30 0 32 0;
-#X connect 31 0 30 1;
-#X connect 32 0 17 0;
+#N canvas 0 273 683 381 10;
+#X text 452 8 GEM object;
+#X obj 8 226 cnv 15 430 135 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 248 Inlets:;
+#X text 39 304 Outlets:;
+#X obj 8 186 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 185 Arguments:;
+#X obj 8 66 cnv 15 430 110 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 280 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 290 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 198 112 destroy \, reset;
+#X msg 132 93 create \, 1 \, color 0.5 0.5 0.5;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 329 pd gemwin;
+#X msg 519 310 create;
+#X text 515 289 Create window:;
+#X obj 451 198 cnv 15 160 40 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 119 gemhead;
+#X obj 502 102 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 451 138 pd image;
+#X obj 451 263 pix_texture;
+#X text 63 196 <none>;
+#X text 47 318 Outlet 1: gemlist;
+#X text 53 262 Inlet 1: gemlist;
+#X obj 451 285 square 3;
+#X text 503 88 (JPEG \, TIFF \, ..);
+#X obj 519 122 gemhead;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/dancer.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 519 141 pd image;
+#X obj 570 103 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#X text 53 291 Inlet 2: gemlist;
+#X text 449 77 open two different images;
+#X text 71 31 Class: pix mix object;
+#X text 29 158 The 2 images have to be of the same size.;
+#X obj 451 208 pix_takealpha;
+#X obj 519 169 pix_coloralpha;
+#X obj 451 243 alpha;
+#X text 29 67 Description: transfer the alpha-channel;
+#X text 29 84 [pix_takealpha] takes the alpha-channel of the 2nd image
+and applies it on the 1st image.;
+#X text 28 117 The 1st image has the be in RGBA-colorspace;
+#X text 27 130 If the 2nd image is in non-RGBA colorspace \, the luminance
+value is taken instead of the Alpha-value.;
+#X text 50 12 Synopsis: [pix_takealpha];
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 16 0;
+#X connect 15 0 16 1;
+#X connect 16 0 30 0;
+#X connect 17 0 21 0;
+#X connect 23 0 24 0;
+#X connect 24 0 31 0;
+#X connect 25 0 24 1;
+#X connect 30 0 32 0;
+#X connect 31 0 30 1;
+#X connect 32 0 17 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_texture-help.pd b/packages/noncvs/windows/extra/Gem/pix_texture-help.pd
index b574d96d..53ccd7ea 100644
--- a/packages/noncvs/windows/extra/Gem/pix_texture-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_texture-help.pd
@@ -1,156 +1,156 @@
-#N canvas 536 22 647 648 10;
-#X text 452 8 GEM object;
-#X obj 8 392 cnv 15 430 235 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 19 394 Inlets:;
-#X text 22 575 Outlets:;
-#X obj 8 352 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 351 Arguments:;
-#X obj 8 56 cnv 15 430 285 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 450 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 515 462 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X msg 234 221 dimen 500 500;
-#X msg 279 189 dimen 1024 768;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X connect 8 0 0 0;
-#X connect 9 0 0 0;
-#X restore 520 501 pd gemwin;
-#X msg 520 482 create;
-#X text 516 461 Create window:;
-#X obj 455 266 cnv 15 160 160 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 71 31 Class: pix object;
-#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 22 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X text 312 85 re-send the image to the [pix_]-object;
-#X text 231 37 open;
-#X text 79 30 gemlist;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 451 113 pd image;
-#X obj 454 437 pix_texture;
-#X text 63 362 <none>;
-#X text 57 592 Outlet 1: gemlist;
-#X text 33 408 Inlet 1: gemlist;
-#X obj 452 461 square 3;
-#X text 516 105 open an image;
-#X text 509 118 (JPEG \, TIFF \, ..);
-#X text 50 12 Synopsis: [pix_texture];
-#X text 29 57 Description: apply texture mapping;
-#X text 16 79 enables texture mapping with the current pix. Whatever
-pix values are in the network currently will be used (ie \, all processing
-after the pix_texture will not have any effect).;
-#X msg 461 341 quality \$1;
-#X obj 461 322 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X text 33 423 Inlet 1: 0|1 turn texturing On/off;
-#X text 33 437 Inlet 1: quality 0|1 : GL_NEAREST | GL_LINEAR(default)
-;
-#X text 15 122 Send a quality message to change the quality of the
-texture mapping. GL_LINEAR is better than GL_NEAREST (but also more
-computationally expensive). However \, on many machines (especially
-SGIs) \, there is no speed difference.;
-#X text 14 233 [pix_texture] is able to texture images of ANY size
-(even non-power of 2);
-#X obj 542 362 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X msg 542 381 rectangle \$1;
-#X obj 469 387 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X obj 542 322 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X msg 469 406 client_storage \$1;
-#X msg 542 341 repeat \$1;
-#X text 33 453 Inlet 1: repeat 0|1 : CLAMP_TO_EDGE or REPEAT(default)
-;
-#X text 32 470 Inlet 1: rectangle 0|1 : use rectangle-texturing when available
-(default=1);
-#X text 32 498 Inlet 1: client_storage 0|1 : use client-storage when
-available (default=1);
-#X msg 493 297 env \$1;
-#X obj 494 277 hradio 15 1 0 6 empty empty empty 0 -6 0 8 -262144 -1
--1 5;
-#X obj 472 222 pack 0 0 1;
-#X obj 452 243 color 0 0.5 0;
-#X obj 498 196 t b f;
-#X obj 499 177 nbx 3 14 0 1 0 0 empty empty green 0 -6 0 10 -262144
--1 -1 1 256;
-#X obj 540 196 t b f;
-#X obj 541 177 nbx 3 14 0 1 0 0 empty empty blue 0 -6 0 10 -262144
--1 -1 1 256;
-#X obj 458 196 nbx 3 14 0 1 0 0 empty empty red 0 -6 0 10 -262144 -1
--1 1 256;
-#X text 57 608 Outlet 2: texture ID;
-#X text 14 262 [pix_texture] tries to use the fastest way to get a
-pix onto a texture. This implies using "rectangle"-texturing if available.
-This \, in turn \, can lead to some problems with several geos. Try
-using "rectangle 0" if you experience problems. Rectangle textures cannot
-be REPEATed (they are always clamped-to-edge);
-#X text 32 526 Inlet 1: env 0|1|2|3|4|5 : texture environment mode
-;
-#X text 57 541 0=GL_REPLACE \, 1=GL_DECAL \, 2=GL_BLEND \, 3=GL_ADD
-\,;
-#X text 57 556 4=GL_COMBINE \, >4=GL_MODULATE (default);
-#X text 16 176 - env message changes the texture environment mode.
-Some modes allow mixing with fragment colors (BLEND \, ADD \, COMBINE
-\, MODULATE) \, while REPLACE and DECAL ignore the current fragment/texture
-color.;
-#X text 457 149 set base fragment color;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 17 0;
-#X connect 16 0 17 1;
-#X connect 17 0 46 0;
-#X connect 18 0 22 0;
-#X connect 28 0 18 0;
-#X connect 29 0 28 0;
-#X connect 34 0 35 0;
-#X connect 35 0 18 0;
-#X connect 36 0 38 0;
-#X connect 37 0 39 0;
-#X connect 38 0 18 0;
-#X connect 39 0 18 0;
-#X connect 43 0 18 0;
-#X connect 44 0 43 0;
-#X connect 45 0 46 1;
-#X connect 46 0 18 0;
-#X connect 47 0 45 0;
-#X connect 47 1 45 1;
-#X connect 48 0 47 0;
-#X connect 49 0 45 0;
-#X connect 49 1 45 2;
-#X connect 50 0 49 0;
-#X connect 51 0 45 0;
+#N canvas 536 22 647 648 10;
+#X text 452 8 GEM object;
+#X obj 8 392 cnv 15 430 235 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 19 394 Inlets:;
+#X text 22 575 Outlets:;
+#X obj 8 352 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 351 Arguments:;
+#X obj 8 56 cnv 15 430 285 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 450 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 515 462 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X msg 234 221 dimen 500 500;
+#X msg 279 189 dimen 1024 768;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X connect 9 0 0 0;
+#X restore 520 501 pd gemwin;
+#X msg 520 482 create;
+#X text 516 461 Create window:;
+#X obj 455 266 cnv 15 160 160 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 71 31 Class: pix object;
+#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 22 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X text 312 85 re-send the image to the [pix_]-object;
+#X text 231 37 open;
+#X text 79 30 gemlist;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 451 113 pd image;
+#X obj 454 437 pix_texture;
+#X text 63 362 <none>;
+#X text 57 592 Outlet 1: gemlist;
+#X text 33 408 Inlet 1: gemlist;
+#X obj 452 461 square 3;
+#X text 516 105 open an image;
+#X text 509 118 (JPEG \, TIFF \, ..);
+#X text 50 12 Synopsis: [pix_texture];
+#X text 29 57 Description: apply texture mapping;
+#X text 16 79 enables texture mapping with the current pix. Whatever
+pix values are in the network currently will be used (ie \, all processing
+after the pix_texture will not have any effect).;
+#X msg 461 341 quality \$1;
+#X obj 461 322 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X text 33 423 Inlet 1: 0|1 turn texturing On/off;
+#X text 33 437 Inlet 1: quality 0|1 : GL_NEAREST | GL_LINEAR(default)
+;
+#X text 15 122 Send a quality message to change the quality of the
+texture mapping. GL_LINEAR is better than GL_NEAREST (but also more
+computationally expensive). However \, on many machines (especially
+SGIs) \, there is no speed difference.;
+#X text 14 233 [pix_texture] is able to texture images of ANY size
+(even non-power of 2);
+#X obj 542 362 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X msg 542 381 rectangle \$1;
+#X obj 469 387 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 542 322 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X msg 469 406 client_storage \$1;
+#X msg 542 341 repeat \$1;
+#X text 33 453 Inlet 1: repeat 0|1 : CLAMP_TO_EDGE or REPEAT(default)
+;
+#X text 32 470 Inlet 1: rectangle 0|1 : use rectangle-texturing when available
+(default=1);
+#X text 32 498 Inlet 1: client_storage 0|1 : use client-storage when
+available (default=1);
+#X msg 493 297 env \$1;
+#X obj 494 277 hradio 15 1 0 6 empty empty empty 0 -6 0 8 -262144 -1
+-1 5;
+#X obj 472 222 pack 0 0 1;
+#X obj 452 243 color 0 0.5 0;
+#X obj 498 196 t b f;
+#X obj 499 177 nbx 3 14 0 1 0 0 empty empty green 0 -6 0 10 -262144
+-1 -1 1 256;
+#X obj 540 196 t b f;
+#X obj 541 177 nbx 3 14 0 1 0 0 empty empty blue 0 -6 0 10 -262144
+-1 -1 1 256;
+#X obj 458 196 nbx 3 14 0 1 0 0 empty empty red 0 -6 0 10 -262144 -1
+-1 1 256;
+#X text 57 608 Outlet 2: texture ID;
+#X text 14 262 [pix_texture] tries to use the fastest way to get a
+pix onto a texture. This implies using "rectangle"-texturing if available.
+This \, in turn \, can lead to some problems with several geos. Try
+using "rectangle 0" if you experience problems. Rectangle textures cannot
+be REPEATed (they are always clamped-to-edge);
+#X text 32 526 Inlet 1: env 0|1|2|3|4|5 : texture environment mode
+;
+#X text 57 541 0=GL_REPLACE \, 1=GL_DECAL \, 2=GL_BLEND \, 3=GL_ADD
+\,;
+#X text 57 556 4=GL_COMBINE \, >4=GL_MODULATE (default);
+#X text 16 176 - env message changes the texture environment mode.
+Some modes allow mixing with fragment colors (BLEND \, ADD \, COMBINE
+\, MODULATE) \, while REPLACE and DECAL ignore the current fragment/texture
+color.;
+#X text 457 149 set base fragment color;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 17 0;
+#X connect 16 0 17 1;
+#X connect 17 0 46 0;
+#X connect 18 0 22 0;
+#X connect 28 0 18 0;
+#X connect 29 0 28 0;
+#X connect 34 0 35 0;
+#X connect 35 0 18 0;
+#X connect 36 0 38 0;
+#X connect 37 0 39 0;
+#X connect 38 0 18 0;
+#X connect 39 0 18 0;
+#X connect 43 0 18 0;
+#X connect 44 0 43 0;
+#X connect 45 0 46 1;
+#X connect 46 0 18 0;
+#X connect 47 0 45 0;
+#X connect 47 1 45 1;
+#X connect 48 0 47 0;
+#X connect 49 0 45 0;
+#X connect 49 1 45 2;
+#X connect 50 0 49 0;
+#X connect 51 0 45 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_threshold-help.pd b/packages/noncvs/windows/extra/Gem/pix_threshold-help.pd
index a978be4f..8824f65b 100644
--- a/packages/noncvs/windows/extra/Gem/pix_threshold-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_threshold-help.pd
@@ -1,81 +1,81 @@
-#N canvas 548 234 695 421 10;
-#X text 452 8 GEM object;
-#X obj 8 225 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 228 Inlets:;
-#X text 38 315 Outlets:;
-#X obj 8 186 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 185 Arguments:;
-#X obj 7 56 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 465 345 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 470 384 pd gemwin;
-#X msg 470 365 create;
-#X text 466 344 Create window:;
-#X obj 450 158 cnv 15 160 120 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 71 31 Class: pix object;
-#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 451 110 pd image;
-#X text 63 196 <none>;
-#X text 56 328 Outlet 1: gemlist;
-#X text 63 242 Inlet 1: gemlist;
-#X text 516 105 open an image;
-#X text 509 118 (JPEG \, TIFF \, ..);
-#X floatatom 465 162 5 0 1 1 pass - -;
-#X text 50 12 Synopsis: [pix_threshold];
-#X text 29 56 Description: apply a threshold to pixes;
-#X text 15 101 pix_threshold is a simply threshold filter. Any pixel
-above the value is passed. Any pixel below the value is zeroed out.
-;
-#X text 15 155 If the float is used \, alpha is assumed to be 1;
-#X obj 451 256 pix_threshold;
-#X text 63 255 Inlet 2: <float>: threshold for all channels;
-#X text 63 280 Inlet 3: <list>: threshold (RGB) or (RGBA);
-#X obj 451 283 pix_draw;
-#X msg 496 205 0.6 0.1 0.8;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 17 0;
-#X connect 16 0 17 1;
-#X connect 17 0 28 0;
-#X connect 23 0 28 1;
-#X connect 28 0 31 0;
-#X connect 32 0 28 2;
+#N canvas 550 226 695 421 10;
+#X text 452 8 GEM object;
+#X obj 8 225 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 228 Inlets:;
+#X text 38 315 Outlets:;
+#X obj 8 186 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 185 Arguments:;
+#X obj 7 56 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 465 345 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 470 384 pd gemwin;
+#X msg 470 365 create;
+#X text 466 344 Create window:;
+#X obj 450 158 cnv 15 160 120 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 71 31 Class: pix object;
+#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 5 49 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X connect 0 0 5 0;
+#X connect 2 0 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 3 0;
+#X connect 5 0 1 0;
+#X restore 451 110 pd image;
+#X text 63 196 <none>;
+#X text 56 328 Outlet 1: gemlist;
+#X text 63 242 Inlet 1: gemlist;
+#X text 516 105 open an image;
+#X text 509 118 (JPEG \, TIFF \, ..);
+#X floatatom 465 162 5 0 1 1 pass - -;
+#X text 50 12 Synopsis: [pix_threshold];
+#X text 29 56 Description: apply a threshold to pixes;
+#X text 15 101 pix_threshold is a simply threshold filter. Any pixel
+above the value is passed. Any pixel below the value is zeroed out.
+;
+#X text 15 155 If the float is used \, alpha is assumed to be 1;
+#X obj 451 256 pix_threshold;
+#X text 63 255 Inlet 2: <float>: threshold for all channels;
+#X text 63 280 Inlet 3: <list>: threshold (RGB) or (RGBA);
+#X obj 451 283 pix_draw;
+#X msg 496 205 0.6 0.1 0.8;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 17 0;
+#X connect 16 0 17 1;
+#X connect 17 0 28 0;
+#X connect 23 0 28 1;
+#X connect 28 0 31 0;
+#X connect 32 0 28 2;
diff --git a/packages/noncvs/windows/extra/Gem/pix_threshold_bernsen-help.pd b/packages/noncvs/windows/extra/Gem/pix_threshold_bernsen-help.pd
index 6ca02fef..f35e4e34 100644
--- a/packages/noncvs/windows/extra/Gem/pix_threshold_bernsen-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_threshold_bernsen-help.pd
@@ -1,89 +1,89 @@
-#N canvas 30 21 695 351 10;
-#X text 452 8 GEM object;
-#X obj 8 234 cnv 15 430 100 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 235 Inlets:;
-#X text 38 307 Outlets:;
-#X obj 8 186 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 185 Arguments:;
-#X obj 7 56 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 57 cnv 15 170 200 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 40 Example:;
-#X obj 465 265 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 470 304 pd gemwin;
-#X msg 470 285 create;
-#X text 466 264 Create window:;
-#X obj 450 138 cnv 15 160 80 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 64 gemhead;
-#X text 71 31 Class: pix object;
-#X obj 510 65 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X obj 77 269 pix_grey;
-#X connect 0 0 2 0;
-#X connect 2 0 6 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X connect 6 0 1 0;
-#X restore 451 90 pd image;
-#X text 56 320 Outlet 1: gemlist;
-#X text 53 249 Inlet 1: gemlist;
-#X text 516 85 open an image;
-#X text 509 98 (JPEG \, TIFF \, ..);
-#X obj 451 225 pix_draw;
-#X obj 451 191 pix_threshold_bernsen;
-#X text 50 12 Synopsis: [pix_threshold_bernsen];
-#X text 29 56 Description: apply dynamic thresholds to pixes for binarization
-;
-#X text 15 89 pix_threshold_bernsen is a dynamic tiled threshold filter.
-Each tile's threshold is taken of the mean of the min and max value
-of a surrounding (2*tile_size) square tile. If a pixels value is higher
-than the threshold \, this pixel is set to 1 else to 0;
-#X text 16 159 Currently this object only works on greyscale images.
-;
-#X floatatom 563 141 5 0 0 0 contrast - -;
-#X msg 522 170 4 4;
-#X text 53 264 Inlet 2: list <float> <float>: number of tiles;
-#X text 52 278 Inlet 3: <float>: contrast. if the (max-min)<contrast
-\, values are clamped to 0;
-#X text 63 196 <w> <h>: number of tiles in x- & y-direction;
-#X text 123 211 default: 16 16;
-#X text 482 169 tiles;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 17 0;
-#X connect 16 0 17 1;
-#X connect 17 0 23 0;
-#X connect 23 0 22 0;
-#X connect 28 0 23 2;
-#X connect 29 0 23 1;
+#N canvas 30 21 695 351 10;
+#X text 452 8 GEM object;
+#X obj 8 234 cnv 15 430 100 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 235 Inlets:;
+#X text 38 307 Outlets:;
+#X obj 8 186 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 185 Arguments:;
+#X obj 7 56 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 57 cnv 15 170 200 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 40 Example:;
+#X obj 465 265 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 470 304 pd gemwin;
+#X msg 470 285 create;
+#X text 466 264 Create window:;
+#X obj 450 138 cnv 15 160 80 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 64 gemhead;
+#X text 71 31 Class: pix object;
+#X obj 510 65 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X obj 77 269 pix_grey;
+#X connect 0 0 2 0;
+#X connect 2 0 6 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X connect 6 0 1 0;
+#X restore 451 90 pd image;
+#X text 56 320 Outlet 1: gemlist;
+#X text 53 249 Inlet 1: gemlist;
+#X text 516 85 open an image;
+#X text 509 98 (JPEG \, TIFF \, ..);
+#X obj 451 225 pix_draw;
+#X obj 451 191 pix_threshold_bernsen;
+#X text 50 12 Synopsis: [pix_threshold_bernsen];
+#X text 29 56 Description: apply dynamic thresholds to pixes for binarization
+;
+#X text 15 89 pix_threshold_bernsen is a dynamic tiled threshold filter.
+Each tile's threshold is taken of the mean of the min and max value
+of a surrounding (2*tile_size) square tile. If a pixels value is higher
+than the threshold \, this pixel is set to 1 else to 0;
+#X text 16 159 Currently this object only works on greyscale images.
+;
+#X floatatom 563 141 5 0 0 0 contrast - -;
+#X msg 522 170 4 4;
+#X text 53 264 Inlet 2: list <float> <float>: number of tiles;
+#X text 52 278 Inlet 3: <float>: contrast. if the (max-min)<contrast
+\, values are clamped to 0;
+#X text 63 196 <w> <h>: number of tiles in x- & y-direction;
+#X text 123 211 default: 16 16;
+#X text 482 169 tiles;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 17 0;
+#X connect 16 0 17 1;
+#X connect 17 0 23 0;
+#X connect 23 0 22 0;
+#X connect 28 0 23 2;
+#X connect 29 0 23 1;
diff --git a/packages/noncvs/windows/extra/Gem/pix_video-help.pd b/packages/noncvs/windows/extra/Gem/pix_video-help.pd
index 94aa0a98..adde5136 100644
--- a/packages/noncvs/windows/extra/Gem/pix_video-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_video-help.pd
@@ -1,427 +1,427 @@
-#N canvas 147 88 871 639 10;
-#X text 451 6 GEM object;
-#X obj 8 46 cnv 15 540 100 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 559 47 cnv 15 280 500 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 71 21 Class: pix object (pix source);
-#X text 453 27 Example:;
-#X text 50 2 Synopsis: [pix_video];
-#X text 29 47 Description: open a camera and get input;
-#X obj 9 182 cnv 15 540 365 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 9 149 cnv 15 540 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 18 148 Arguments:;
-#X text 17 486 Outlet 1: gemlist;
-#X text 17 198 Inlet 1: gemlist;
-#X text 16 308 Inlet 1: colorspace "RGBA|YUV|Grey": decodes the current
-film into the specified colorspace.;
-#X text 64 159 none;
-#X text 33 184 Inlet:;
-#X text 33 472 Outlet:;
-#X obj 717 460 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X msg 67 70 set destroy;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X msg 156 71 set create;
-#X obj 67 41 route create;
-#X connect 2 0 7 0;
-#X connect 3 0 1 0;
-#X connect 4 0 0 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 0;
-#X connect 7 0 3 0;
-#X connect 7 0 4 0;
-#X connect 7 1 6 0;
-#X connect 7 1 5 0;
-#X restore 722 499 pd gemwin;
-#X msg 722 477 create;
-#X text 718 456 Create window:;
-#X obj 563 86 cnv 15 230 280 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 567 526 rectangle 4 3;
-#X obj 567 502 pix_texture;
-#X text 17 216 Inlet 1: device <spec>: the number or file path to the
-input device;
-#X text 16 339 Inlet 1: dimen <number> <number>: set various dimensions
-for the image (does not work on all capture devices);
-#X text 15 371 Inlet 1: enumerate: list all devices to the console
-;
-#X text 17 245 Inlet 1: driver <number>: switch between different drivers
-\, e.g. v4l \, ieee1394 \, etc.;
-#X text 16 276 Inlet 1: driver <symbol>: switch between different drivers
-\, e.g. v4l \, v4l2 \, dv...;
-#X text 13 66 [pix_video] opens a wide array of camera \, USB to FireWire
-to capture cards \, as long as the camera is supported by your operating
-system.;
-#X obj 567 53 gemhead;
-#X msg 596 124 dimen 64 64;
-#X msg 586 99 dimen 256 128;
-#X msg 635 261 enumerate;
-#X msg 641 283 dialog;
-#X msg 604 153 colorspace RGBA;
-#X msg 609 211 device 0;
-#X msg 642 312 driver dv;
-#N canvas 515 117 572 549 properties 0;
-#X msg 41 203 enumProps;
-#X obj 31 21 cnv 15 400 80 empty empty readProperties 20 12 0 14 -233017
--66577 0;
-#X obj 39 47 hradio 15 1 0 1 \$0-propreadId \$0-propreadId empty 0
--8 0 10 -262144 -1 -1 0;
-#X obj 40 70 cnv 15 260 20 empty \$0-propreadName <none> 10 9 0 14
--203904 -66577 0;
-#N canvas 185 50 450 537 PropertyLogic 0;
-#N canvas 1408 84 774 460 id2property 0;
-#X obj 353 106 r \$0-info;
-#X obj 353 130 route proplist;
-#X obj 353 152 route read numread;
-#X obj 405 176 t b f;
-#X obj 353 174 list;
-#X obj 353 219 list prepend;
-#X msg 353 196 \$1;
-#X obj 353 239 t l l;
-#X obj 95 197 list prepend;
-#X obj 525 176 t b f;
-#X obj 473 174 list;
-#X obj 473 219 list prepend;
-#X msg 473 196 \$1;
-#X obj 473 239 t l l;
-#X obj 473 152 route write numwrite;
-#X obj 95 69 inlet readID;
-#X obj 225 70 inlet writeID;
-#X obj 123 378 outlet readName;
-#X obj 253 356 outlet writeName;
-#X obj 95 176 t b f;
-#X obj 95 219 list split;
-#X obj 123 266 symbol;
-#X msg 123 241 symbol \$1;
-#X obj 225 197 list prepend;
-#X obj 225 176 t b f;
-#X obj 225 219 list split;
-#X obj 253 266 symbol;
-#X msg 253 241 symbol \$1;
-#X obj 95 91 route float;
-#X obj 225 92 route float;
-#X msg 432 333 number \$1;
-#X msg 552 333 number \$1;
-#X obj 432 353 s \$0-propreadId;
-#X obj 552 353 s \$0-propwriteId;
-#X obj 602 254 t f f;
-#X msg 602 232 0;
-#X obj 602 211 loadbang;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X connect 2 0 4 0;
-#X connect 2 1 3 0;
-#X connect 2 2 14 0;
-#X connect 3 0 5 1;
-#X connect 3 1 30 0;
-#X connect 4 0 6 0;
-#X connect 5 0 7 0;
-#X connect 6 0 5 0;
-#X connect 7 0 8 1;
-#X connect 7 1 5 1;
-#X connect 8 0 20 0;
-#X connect 9 0 11 1;
-#X connect 9 1 31 0;
-#X connect 10 0 12 0;
-#X connect 11 0 13 0;
-#X connect 12 0 11 0;
-#X connect 13 0 23 1;
-#X connect 13 1 11 1;
-#X connect 14 0 10 0;
-#X connect 14 1 9 0;
-#X connect 15 0 28 0;
-#X connect 16 0 29 0;
-#X connect 19 0 8 0;
-#X connect 19 1 20 1;
-#X connect 20 1 22 0;
-#X connect 21 0 17 0;
-#X connect 22 0 21 0;
-#X connect 23 0 25 0;
-#X connect 24 0 23 0;
-#X connect 24 1 25 1;
-#X connect 25 1 27 0;
-#X connect 26 0 18 0;
-#X connect 27 0 26 0;
-#X connect 28 0 19 0;
-#X connect 29 0 24 0;
-#X connect 30 0 32 0;
-#X connect 31 0 33 0;
-#X connect 34 0 30 0;
-#X connect 34 1 31 0;
-#X connect 35 0 34 0;
-#X connect 36 0 35 0;
-#X restore 188 192 pd id2property;
-#X obj 320 407 list prepend set;
-#X obj 320 429 list trim;
-#X obj 320 451 t b a;
-#N canvas 437 141 450 300 getProp 0;
-#X obj 44 177 s \$0-propreadName;
-#X msg 44 156 label \$1;
-#X msg 165 156 get \$1;
-#X obj 44 81 inlet;
-#X obj 165 178 outlet;
-#X obj 290 57 r \$0-info;
-#X obj 290 79 route prop;
-#N canvas 3 45 450 300 sroute 0;
-#X obj 73 12 inlet;
-#X obj 312 9 inlet;
-#X obj 73 113 outlet;
-#X obj 73 34 list split 1;
-#X obj 73 56 select s;
-#X obj 73 78 list prepend;
-#X connect 0 0 3 0;
-#X connect 1 0 4 1;
-#X connect 3 0 4 0;
-#X connect 3 1 5 1;
-#X connect 4 0 5 0;
-#X connect 5 0 2 0;
-#X restore 290 113 pd sroute;
-#X obj 44 123 t s s s;
-#X msg 290 226 label \$1;
-#X obj 290 247 s \$0-propreadValue;
-#X obj 290 135 route float;
-#X obj 290 157 makefilename %g;
-#X obj 106 29 loadbang;
-#X obj 106 51 t b b;
-#X msg 106 73 symbol <none>;
-#X msg 196 74 symbol --;
-#X connect 1 0 0 0;
-#X connect 2 0 4 0;
-#X connect 3 0 8 0;
-#X connect 5 0 6 0;
-#X connect 6 0 7 0;
-#X connect 7 0 11 0;
-#X connect 8 0 1 0;
-#X connect 8 1 2 0;
-#X connect 8 2 7 1;
-#X connect 9 0 10 0;
-#X connect 11 0 12 0;
-#X connect 12 0 9 0;
-#X connect 13 0 14 0;
-#X connect 14 0 15 0;
-#X connect 14 1 16 0;
-#X connect 15 0 1 0;
-#X connect 16 0 9 0;
-#X restore 320 318 pd getProp;
-#X obj 172 158 r \$0-propreadId;
-#X obj 282 158 r \$0-propwriteId;
-#N canvas 432 95 450 467 setProp 0;
-#X msg 44 156 label \$1;
-#X msg 165 156 get \$1;
-#X obj 44 31 inlet;
-#X obj 218 324 outlet;
-#X obj 290 57 r \$0-info;
-#X obj 290 79 route prop;
-#N canvas 4 50 450 300 sroute 0;
-#X obj 73 12 inlet;
-#X obj 312 9 inlet;
-#X obj 73 113 outlet;
-#X obj 73 34 list split 1;
-#X obj 73 56 select s;
-#X obj 73 78 list prepend;
-#X connect 0 0 3 0;
-#X connect 1 0 4 1;
-#X connect 3 0 4 0;
-#X connect 3 1 5 1;
-#X connect 4 0 5 0;
-#X connect 5 0 2 0;
-#X restore 290 113 pd sroute;
-#X obj 290 135 route float;
-#X obj 44 177 s \$0-propwriteName;
-#X obj 290 247 s \$0-propwriteValue;
-#X msg 290 226 set \$1;
-#X obj 50 276 r \$0-propwriteValue;
-#X obj 50 298 route float;
-#X obj 50 320 pack 0 s;
-#X msg 50 342 set \$2 \$1;
-#X obj 44 73 t s s s s;
-#X obj 127 27 loadbang;
-#X obj 127 49 t b b;
-#X msg 127 71 symbol <none>;
-#X connect 0 0 8 0;
-#X connect 1 0 3 0;
-#X connect 2 0 15 0;
-#X connect 4 0 5 0;
-#X connect 5 0 6 0;
-#X connect 6 0 7 0;
-#X connect 7 0 10 0;
-#X connect 10 0 9 0;
-#X connect 11 0 12 0;
-#X connect 12 0 13 0;
-#X connect 13 0 14 0;
-#X connect 14 0 3 0;
-#X connect 15 0 0 0;
-#X connect 15 1 1 0;
-#X connect 15 2 6 1;
-#X connect 15 3 13 1;
-#X connect 16 0 17 0;
-#X connect 17 0 18 0;
-#X connect 18 0 0 0;
-#X restore 199 315 pd setProp;
-#X obj 199 404 list prepend set;
-#X obj 199 426 list trim;
-#X obj 199 448 t b a;
-#X obj 199 361 list prepend get;
-#X obj 199 339 route get set;
-#X obj 309 361 list prepend set;
-#X obj 199 477 s \$0-propset;
-#X obj 320 480 s \$0-propget;
-#X obj 54 38 inlet;
-#X obj 54 66 s \$0-ctl;
-#X connect 0 0 4 0;
-#X connect 0 1 7 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 3 0 15 0;
-#X connect 3 1 15 0;
-#X connect 4 0 12 0;
-#X connect 5 0 0 0;
-#X connect 6 0 0 1;
-#X connect 7 0 12 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 0;
-#X connect 10 0 14 0;
-#X connect 10 1 14 0;
-#X connect 11 0 1 0;
-#X connect 12 0 11 0;
-#X connect 12 1 13 0;
-#X connect 13 0 8 0;
-#X connect 16 0 17 0;
-#X restore 41 526 pd PropertyLogic;
-#X obj 310 70 cnv 15 100 20 empty \$0-propreadValue -- 10 9 0 14 -261234
--66577 0;
-#X obj 31 111 cnv 15 400 80 empty empty writeProperties 20 12 0 14
--233017 -66577 0;
-#X obj 39 137 hradio 15 1 0 1 \$0-propwriteId \$0-propwriteId empty
-0 -8 0 10 -262144 -1 -1 0;
-#X obj 40 160 cnv 15 260 20 empty \$0-propwriteName <none> 10 9 0 14
--203904 -66577 0;
-#X obj 311 160 nbx 5 20 -1e+37 1e+37 0 0 \$0-propwriteValue \$0-propwriteValue
-empty 0 -8 0 14 -204786 -1 -1 0 256;
-#X msg 66 315 get 50_fields;
-#X msg 83 392 set quality 5;
-#X obj 66 294 r \$0-propget;
-#X obj 83 372 r \$0-propset;
-#X msg 87 340 get Hue Saturation;
-#X text 208 340 you can query several properties at once;
-#X text 146 295 query a (readable) property via a message "get <propname>"
-;
-#X text 161 372 set a (writable) property via a message "set <prop>
-<value>";
-#X text 70 224 this will return 2 lists of readable and writeable properties
-through the "info" outlet of [pix_video].;
-#X text 72 257 NOTE that propertynames are always single symbols that
-might contain spaces (and other weird characters);
-#X text 103 203 INIT: query names of all available properties;
-#X text 83 423 ATOMIC setting of multiple properties;
-#X msg 99 441 clearProps;
-#X msg 99 503 applyProps;
-#X msg 99 481 setProps Hue 10;
-#X msg 99 461 setProps Contrast 40;
-#X text 247 443 clear the current property list;
-#X text 247 461 add values to the property list (don't apply yet);
-#X text 247 479 add values to the property list (don't apply yet);
-#X text 247 499 apply current property list;
-#X connect 0 0 4 0;
-#X connect 10 0 4 0;
-#X connect 11 0 4 0;
-#X connect 12 0 10 0;
-#X connect 13 0 11 0;
-#X connect 14 0 4 0;
-#X connect 22 0 4 0;
-#X connect 23 0 4 0;
-#X connect 24 0 4 0;
-#X connect 25 0 4 0;
-#X restore 336 430 pd properties;
-#X obj 618 459 t a a;
-#X obj 618 480 print info;
-#X obj 655 459 s \$0-info;
-#X obj 586 376 t a a;
-#N canvas 166 121 570 420 device 0;
-#X obj 204 60 cnv 20 20 20 empty \$0-open-canvas 0 4 10 0 16 -233017
--1 0;
-#X obj 60 61 hradio 18 1 0 8 empty empty empty 0 -6 0 8 -225271 -1
--1 0;
-#X obj 60 13 inlet;
-#X msg 160 254 label \$1;
-#X obj 160 232 makefilename %d;
-#X obj 60 108 int;
-#X obj 60 337 outlet;
-#X obj 160 277 send \$0-open-canvas;
-#X msg 130 170 device \$1;
-#X obj 60 130 t b f;
-#X obj 130 192 t a a;
-#X obj 130 298 list prepend set;
-#X obj 130 320 list trim;
-#X obj 160 211 route device;
-#X obj 130 116 loadbang;
-#X msg 130 138 0;
-#X connect 1 0 5 0;
-#X connect 2 0 1 0;
-#X connect 3 0 7 0;
-#X connect 4 0 3 0;
-#X connect 5 0 9 0;
-#X connect 8 0 10 0;
-#X connect 9 0 6 0;
-#X connect 9 1 8 0;
-#X connect 10 0 11 0;
-#X connect 10 1 13 0;
-#X connect 11 0 12 0;
-#X connect 12 0 6 0;
-#X connect 13 0 4 0;
-#X connect 14 0 15 0;
-#X connect 15 0 8 0;
-#X coords 0 -1 1 1 165 20 1 60 60;
-#X restore 609 187 pd device;
-#X obj 36 565 cnv 15 400 30 empty empty empty 20 12 0 14 -260097 -66577
-0;
-#X text 48 565 NOTE: usually you cannot use a camera more than once
-at the same time!;
-#X obj 563 413 cnv 15 80 30 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 567 418 pix_video;
-#X obj 657 393 print videoctl;
-#X obj 647 346 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X msg 665 345 driver \$1;
-#X text 686 286 (if available);
-#X text 16 388 Inlet 1: dialog: open a dialog to configure the input
-device (depending on driver / Operating System);
-#X text 18 501 Outlet 2: info (for enumerating devices \, querying
-properties \, ...);
-#X text 15 423 Inlet 1: enumProps \, get \, set \, clearProps \, setProps
-\, applyProps: interact with driver/device properties;
-#X obj 657 374 r \$0-ctl;
-#X text 54 600 you can use [pix_buffer] to distribute the same pix
-to different parts of your render-chain;
-#X msg 625 235 device /dev/fw1;
-#X connect 17 0 18 0;
-#X connect 18 0 17 0;
-#X connect 22 0 21 0;
-#X connect 29 0 46 0;
-#X connect 30 0 41 0;
-#X connect 31 0 41 0;
-#X connect 32 0 41 0;
-#X connect 33 0 41 0;
-#X connect 34 0 41 0;
-#X connect 35 0 41 0;
-#X connect 36 0 41 0;
-#X connect 38 0 39 0;
-#X connect 38 1 40 0;
-#X connect 41 0 46 0;
-#X connect 41 1 47 0;
-#X connect 42 0 35 0;
-#X connect 46 0 22 0;
-#X connect 46 1 38 0;
-#X connect 48 0 49 0;
-#X connect 49 0 41 0;
-#X connect 54 0 41 0;
-#X connect 56 0 41 0;
+#N canvas 147 88 871 639 10;
+#X text 451 6 GEM object;
+#X obj 8 46 cnv 15 540 100 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 559 47 cnv 15 280 500 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 71 21 Class: pix object (pix source);
+#X text 453 27 Example:;
+#X text 50 2 Synopsis: [pix_video];
+#X text 29 47 Description: open a camera and get input;
+#X obj 9 182 cnv 15 540 365 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 9 149 cnv 15 540 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 18 148 Arguments:;
+#X text 17 486 Outlet 1: gemlist;
+#X text 17 198 Inlet 1: gemlist;
+#X text 16 308 Inlet 1: colorspace "RGBA|YUV|Grey": decodes the current
+film into the specified colorspace.;
+#X text 64 159 none;
+#X text 33 184 Inlet:;
+#X text 33 472 Outlet:;
+#X obj 717 460 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X msg 67 70 set destroy;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X msg 156 71 set create;
+#X obj 67 41 route create;
+#X connect 2 0 7 0;
+#X connect 3 0 1 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 0;
+#X connect 7 0 3 0;
+#X connect 7 0 4 0;
+#X connect 7 1 6 0;
+#X connect 7 1 5 0;
+#X restore 722 499 pd gemwin;
+#X msg 722 477 create;
+#X text 718 456 Create window:;
+#X obj 563 86 cnv 15 230 280 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 567 526 rectangle 4 3;
+#X obj 567 502 pix_texture;
+#X text 17 216 Inlet 1: device <spec>: the number or file path to the
+input device;
+#X text 16 339 Inlet 1: dimen <number> <number>: set various dimensions
+for the image (does not work on all capture devices);
+#X text 15 371 Inlet 1: enumerate: list all devices to the console
+;
+#X text 17 245 Inlet 1: driver <number>: switch between different drivers
+\, e.g. v4l \, ieee1394 \, etc.;
+#X text 16 276 Inlet 1: driver <symbol>: switch between different drivers
+\, e.g. v4l \, v4l2 \, dv...;
+#X text 13 66 [pix_video] opens a wide array of cameras \, USB to FireWire
+to capture cards \, as long as the camera is supported by your operating
+system.;
+#X obj 567 53 gemhead;
+#X msg 596 124 dimen 64 64;
+#X msg 586 99 dimen 256 128;
+#X msg 635 261 enumerate;
+#X msg 641 283 dialog;
+#X msg 604 153 colorspace RGBA;
+#X msg 609 211 device 0;
+#X msg 642 312 driver dv;
+#N canvas 515 117 572 549 properties 0;
+#X msg 41 203 enumProps;
+#X obj 31 21 cnv 15 400 80 empty empty readProperties 20 12 0 14 -233017
+-66577 0;
+#X obj 39 47 hradio 15 1 0 1 \$0-propreadId \$0-propreadId empty 0
+-8 0 10 -262144 -1 -1 0;
+#X obj 40 70 cnv 15 260 20 empty \$0-propreadName <none> 10 9 0 14
+-203904 -66577 0;
+#N canvas 185 50 450 537 PropertyLogic 0;
+#N canvas 1408 84 774 460 id2property 0;
+#X obj 353 106 r \$0-info;
+#X obj 353 130 route proplist;
+#X obj 353 152 route read numread;
+#X obj 405 176 t b f;
+#X obj 353 174 list;
+#X obj 353 219 list prepend;
+#X msg 353 196 \$1;
+#X obj 353 239 t l l;
+#X obj 95 197 list prepend;
+#X obj 525 176 t b f;
+#X obj 473 174 list;
+#X obj 473 219 list prepend;
+#X msg 473 196 \$1;
+#X obj 473 239 t l l;
+#X obj 473 152 route write numwrite;
+#X obj 95 69 inlet readID;
+#X obj 225 70 inlet writeID;
+#X obj 123 378 outlet readName;
+#X obj 253 356 outlet writeName;
+#X obj 95 176 t b f;
+#X obj 95 219 list split;
+#X obj 123 266 symbol;
+#X msg 123 241 symbol \$1;
+#X obj 225 197 list prepend;
+#X obj 225 176 t b f;
+#X obj 225 219 list split;
+#X obj 253 266 symbol;
+#X msg 253 241 symbol \$1;
+#X obj 95 91 route float;
+#X obj 225 92 route float;
+#X msg 432 333 number \$1;
+#X msg 552 333 number \$1;
+#X obj 432 353 s \$0-propreadId;
+#X obj 552 353 s \$0-propwriteId;
+#X obj 602 254 t f f;
+#X msg 602 232 0;
+#X obj 602 211 loadbang;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 2 0 4 0;
+#X connect 2 1 3 0;
+#X connect 2 2 14 0;
+#X connect 3 0 5 1;
+#X connect 3 1 30 0;
+#X connect 4 0 6 0;
+#X connect 5 0 7 0;
+#X connect 6 0 5 0;
+#X connect 7 0 8 1;
+#X connect 7 1 5 1;
+#X connect 8 0 20 0;
+#X connect 9 0 11 1;
+#X connect 9 1 31 0;
+#X connect 10 0 12 0;
+#X connect 11 0 13 0;
+#X connect 12 0 11 0;
+#X connect 13 0 23 1;
+#X connect 13 1 11 1;
+#X connect 14 0 10 0;
+#X connect 14 1 9 0;
+#X connect 15 0 28 0;
+#X connect 16 0 29 0;
+#X connect 19 0 8 0;
+#X connect 19 1 20 1;
+#X connect 20 1 22 0;
+#X connect 21 0 17 0;
+#X connect 22 0 21 0;
+#X connect 23 0 25 0;
+#X connect 24 0 23 0;
+#X connect 24 1 25 1;
+#X connect 25 1 27 0;
+#X connect 26 0 18 0;
+#X connect 27 0 26 0;
+#X connect 28 0 19 0;
+#X connect 29 0 24 0;
+#X connect 30 0 32 0;
+#X connect 31 0 33 0;
+#X connect 34 0 30 0;
+#X connect 34 1 31 0;
+#X connect 35 0 34 0;
+#X connect 36 0 35 0;
+#X restore 188 192 pd id2property;
+#X obj 320 407 list prepend set;
+#X obj 320 429 list trim;
+#X obj 320 451 t b a;
+#N canvas 437 141 450 300 getProp 0;
+#X obj 44 177 s \$0-propreadName;
+#X msg 44 156 label \$1;
+#X msg 165 156 get \$1;
+#X obj 44 81 inlet;
+#X obj 165 178 outlet;
+#X obj 290 57 r \$0-info;
+#X obj 290 79 route prop;
+#N canvas 3 45 450 300 sroute 0;
+#X obj 73 12 inlet;
+#X obj 312 9 inlet;
+#X obj 73 113 outlet;
+#X obj 73 34 list split 1;
+#X obj 73 56 select s;
+#X obj 73 78 list prepend;
+#X connect 0 0 3 0;
+#X connect 1 0 4 1;
+#X connect 3 0 4 0;
+#X connect 3 1 5 1;
+#X connect 4 0 5 0;
+#X connect 5 0 2 0;
+#X restore 290 113 pd sroute;
+#X obj 44 123 t s s s;
+#X msg 290 226 label \$1;
+#X obj 290 247 s \$0-propreadValue;
+#X obj 290 135 route float;
+#X obj 290 157 makefilename %g;
+#X obj 106 29 loadbang;
+#X obj 106 51 t b b;
+#X msg 106 73 symbol <none>;
+#X msg 196 74 symbol --;
+#X connect 1 0 0 0;
+#X connect 2 0 4 0;
+#X connect 3 0 8 0;
+#X connect 5 0 6 0;
+#X connect 6 0 7 0;
+#X connect 7 0 11 0;
+#X connect 8 0 1 0;
+#X connect 8 1 2 0;
+#X connect 8 2 7 1;
+#X connect 9 0 10 0;
+#X connect 11 0 12 0;
+#X connect 12 0 9 0;
+#X connect 13 0 14 0;
+#X connect 14 0 15 0;
+#X connect 14 1 16 0;
+#X connect 15 0 1 0;
+#X connect 16 0 9 0;
+#X restore 320 318 pd getProp;
+#X obj 172 158 r \$0-propreadId;
+#X obj 282 158 r \$0-propwriteId;
+#N canvas 432 95 450 467 setProp 0;
+#X msg 44 156 label \$1;
+#X msg 165 156 get \$1;
+#X obj 44 31 inlet;
+#X obj 218 324 outlet;
+#X obj 290 57 r \$0-info;
+#X obj 290 79 route prop;
+#N canvas 4 50 450 300 sroute 0;
+#X obj 73 12 inlet;
+#X obj 312 9 inlet;
+#X obj 73 113 outlet;
+#X obj 73 34 list split 1;
+#X obj 73 56 select s;
+#X obj 73 78 list prepend;
+#X connect 0 0 3 0;
+#X connect 1 0 4 1;
+#X connect 3 0 4 0;
+#X connect 3 1 5 1;
+#X connect 4 0 5 0;
+#X connect 5 0 2 0;
+#X restore 290 113 pd sroute;
+#X obj 290 135 route float;
+#X obj 44 177 s \$0-propwriteName;
+#X obj 290 247 s \$0-propwriteValue;
+#X msg 290 226 set \$1;
+#X obj 50 276 r \$0-propwriteValue;
+#X obj 50 298 route float;
+#X obj 50 320 pack 0 s;
+#X msg 50 342 set \$2 \$1;
+#X obj 44 73 t s s s s;
+#X obj 127 27 loadbang;
+#X obj 127 49 t b b;
+#X msg 127 71 symbol <none>;
+#X connect 0 0 8 0;
+#X connect 1 0 3 0;
+#X connect 2 0 15 0;
+#X connect 4 0 5 0;
+#X connect 5 0 6 0;
+#X connect 6 0 7 0;
+#X connect 7 0 10 0;
+#X connect 10 0 9 0;
+#X connect 11 0 12 0;
+#X connect 12 0 13 0;
+#X connect 13 0 14 0;
+#X connect 14 0 3 0;
+#X connect 15 0 0 0;
+#X connect 15 1 1 0;
+#X connect 15 2 6 1;
+#X connect 15 3 13 1;
+#X connect 16 0 17 0;
+#X connect 17 0 18 0;
+#X connect 18 0 0 0;
+#X restore 199 315 pd setProp;
+#X obj 199 404 list prepend set;
+#X obj 199 426 list trim;
+#X obj 199 448 t b a;
+#X obj 199 361 list prepend get;
+#X obj 199 339 route get set;
+#X obj 309 361 list prepend set;
+#X obj 199 477 s \$0-propset;
+#X obj 320 480 s \$0-propget;
+#X obj 54 38 inlet;
+#X obj 54 66 s \$0-ctl;
+#X connect 0 0 4 0;
+#X connect 0 1 7 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 15 0;
+#X connect 3 1 15 0;
+#X connect 4 0 12 0;
+#X connect 5 0 0 0;
+#X connect 6 0 0 1;
+#X connect 7 0 12 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 0;
+#X connect 10 0 14 0;
+#X connect 10 1 14 0;
+#X connect 11 0 1 0;
+#X connect 12 0 11 0;
+#X connect 12 1 13 0;
+#X connect 13 0 8 0;
+#X connect 16 0 17 0;
+#X restore 41 526 pd PropertyLogic;
+#X obj 310 70 cnv 15 100 20 empty \$0-propreadValue -- 10 9 0 14 -261234
+-66577 0;
+#X obj 31 111 cnv 15 400 80 empty empty writeProperties 20 12 0 14
+-233017 -66577 0;
+#X obj 39 137 hradio 15 1 0 1 \$0-propwriteId \$0-propwriteId empty
+0 -8 0 10 -262144 -1 -1 0;
+#X obj 40 160 cnv 15 260 20 empty \$0-propwriteName <none> 10 9 0 14
+-203904 -66577 0;
+#X obj 311 160 nbx 5 20 -1e+37 1e+37 0 0 \$0-propwriteValue \$0-propwriteValue
+empty 0 -8 0 14 -204786 -1 -1 0 256;
+#X msg 66 315 get 50_fields;
+#X msg 83 392 set quality 5;
+#X obj 66 294 r \$0-propget;
+#X obj 83 372 r \$0-propset;
+#X msg 87 340 get Hue Saturation;
+#X text 208 340 you can query several properties at once;
+#X text 146 295 query a (readable) property via a message "get <propname>"
+;
+#X text 161 372 set a (writable) property via a message "set <prop>
+<value>";
+#X text 70 224 this will return 2 lists of readable and writeable properties
+through the "info" outlet of [pix_video].;
+#X text 72 257 NOTE that propertynames are always single symbols that
+might contain spaces (and other weird characters);
+#X text 103 203 INIT: query names of all available properties;
+#X text 83 423 ATOMIC setting of multiple properties;
+#X msg 99 441 clearProps;
+#X msg 99 503 applyProps;
+#X msg 99 481 setProps Hue 10;
+#X msg 99 461 setProps Contrast 40;
+#X text 247 443 clear the current property list;
+#X text 247 461 add values to the property list (don't apply yet);
+#X text 247 479 add values to the property list (don't apply yet);
+#X text 247 499 apply current property list;
+#X connect 0 0 4 0;
+#X connect 10 0 4 0;
+#X connect 11 0 4 0;
+#X connect 12 0 10 0;
+#X connect 13 0 11 0;
+#X connect 14 0 4 0;
+#X connect 22 0 4 0;
+#X connect 23 0 4 0;
+#X connect 24 0 4 0;
+#X connect 25 0 4 0;
+#X restore 336 430 pd properties;
+#X obj 618 459 t a a;
+#X obj 618 480 print info;
+#X obj 655 459 s \$0-info;
+#X obj 586 376 t a a;
+#N canvas 166 121 570 420 device 0;
+#X obj 204 60 cnv 20 20 20 empty \$0-open-canvas 0 4 10 0 16 -233017
+-1 0;
+#X obj 60 61 hradio 18 1 0 8 empty empty empty 0 -6 0 8 -225271 -1
+-1 0;
+#X obj 60 13 inlet;
+#X msg 160 254 label \$1;
+#X obj 160 232 makefilename %d;
+#X obj 60 108 int;
+#X obj 60 337 outlet;
+#X obj 160 277 send \$0-open-canvas;
+#X msg 130 170 device \$1;
+#X obj 60 130 t b f;
+#X obj 130 192 t a a;
+#X obj 130 298 list prepend set;
+#X obj 130 320 list trim;
+#X obj 160 211 route device;
+#X obj 130 116 loadbang;
+#X msg 130 138 0;
+#X connect 1 0 5 0;
+#X connect 2 0 1 0;
+#X connect 3 0 7 0;
+#X connect 4 0 3 0;
+#X connect 5 0 9 0;
+#X connect 8 0 10 0;
+#X connect 9 0 6 0;
+#X connect 9 1 8 0;
+#X connect 10 0 11 0;
+#X connect 10 1 13 0;
+#X connect 11 0 12 0;
+#X connect 12 0 6 0;
+#X connect 13 0 4 0;
+#X connect 14 0 15 0;
+#X connect 15 0 8 0;
+#X coords 0 -1 1 1 165 20 1 60 60;
+#X restore 609 187 pd device;
+#X obj 36 565 cnv 15 400 30 empty empty empty 20 12 0 14 -260097 -66577
+0;
+#X text 48 565 NOTE: usually you cannot use a camera more than once
+at the same time!;
+#X obj 563 413 cnv 15 80 30 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 567 418 pix_video;
+#X obj 657 393 print videoctl;
+#X obj 647 346 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X msg 665 345 driver \$1;
+#X text 686 286 (if available);
+#X text 16 388 Inlet 1: dialog: open a dialog to configure the input
+device (depending on driver / Operating System);
+#X text 18 501 Outlet 2: info (for enumerating devices \, querying
+properties \, ...);
+#X text 15 423 Inlet 1: enumProps \, get \, set \, clearProps \, setProps
+\, applyProps: interact with driver/device properties;
+#X obj 657 374 r \$0-ctl;
+#X text 54 600 you can use [pix_buffer] to distribute the same pix
+to different parts of your render-chain;
+#X msg 625 235 device /dev/fw1;
+#X connect 17 0 18 0;
+#X connect 18 0 17 0;
+#X connect 22 0 21 0;
+#X connect 29 0 46 0;
+#X connect 30 0 41 0;
+#X connect 31 0 41 0;
+#X connect 32 0 41 0;
+#X connect 33 0 41 0;
+#X connect 34 0 41 0;
+#X connect 35 0 41 0;
+#X connect 36 0 41 0;
+#X connect 38 0 39 0;
+#X connect 38 1 40 0;
+#X connect 41 0 46 0;
+#X connect 41 1 47 0;
+#X connect 42 0 35 0;
+#X connect 46 0 22 0;
+#X connect 46 1 38 0;
+#X connect 48 0 49 0;
+#X connect 49 0 41 0;
+#X connect 54 0 41 0;
+#X connect 56 0 41 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_write-help.pd b/packages/noncvs/windows/extra/Gem/pix_write-help.pd
index 75e6eb93..3b8257a7 100644
--- a/packages/noncvs/windows/extra/Gem/pix_write-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_write-help.pd
@@ -1,41 +1,41 @@
-#N canvas 95 74 798 603 10;
-#X msg 163 109 gemList;
-#X msg 163 239 gemList;
-#X msg 237 183 sizeX sizeY;
-#X msg 238 162 posX posY;
-#X text 174 43 [pix_write];
-#X text 96 64 Make a snapshot of the frame-buffer and write it to a
-file;
-#X obj 163 203 pix_write;
-#X msg 115 149 bang;
-#X msg 243 99 auto 0/1;
-#X msg 246 122 file <filename> [<type>];
-#X text 46 256 [pix_write] takes a picture of the frame buffer and
-saves it to a file. When a "bang" message is sent to [pix_write] \,
-that is the moment that something is captured from the current frame
-buffer. If you set "auto" to 1 (enabled) \, an image is written each
-rendering frame.;
-#X text 48 327 Currently only single-images are supported (no animations
-\, videos \, AVIs \, ...);
-#X text 47 534 You can set the size of the snapshot window as well
-as the position. These can be set via creation arguments too: [pix_write
-[<posX> <posY> [<sizeX> <sizeY>]]];
-#X text 48 367 With the "file" message you can specify a base-filename
-and the type of image-files you want to create.;
-#X text 48 410 The actual name of the file will be something like "<basefilename><current#>.<ext>"
-(like "GEM00001.tif");
-#X text 52 445 Supported file-types are TIFF (type=0) and JPEG (type>0
-\; quality=type \; you might want a high-quality (type>80) to like
-your images);
-#X text 52 496 TIFF-writing is very slow ! JPEG is fast (but ugly with
-low quality);
-#X text 475 437 "file <basefilename> <type>";
-#X text 473 403 "file <basefilename>" : assume type=TIFF;
-#X text 474 420 "file <type>": change type;
-#X connect 0 0 6 0;
-#X connect 2 0 6 2;
-#X connect 3 0 6 1;
-#X connect 6 0 1 0;
-#X connect 7 0 6 0;
-#X connect 8 0 6 0;
-#X connect 9 0 6 0;
+#N canvas 95 74 798 603 10;
+#X msg 163 109 gemList;
+#X msg 163 239 gemList;
+#X msg 237 183 sizeX sizeY;
+#X msg 238 162 posX posY;
+#X text 174 43 [pix_write];
+#X text 96 64 Make a snapshot of the frame-buffer and write it to a
+file;
+#X obj 163 203 pix_write;
+#X msg 115 149 bang;
+#X msg 243 99 auto 0/1;
+#X msg 246 122 file <filename> [<type>];
+#X text 46 256 [pix_write] takes a picture of the frame buffer and
+saves it to a file. When a "bang" message is sent to [pix_write] \,
+that is the moment that something is captured from the current frame
+buffer. If you set "auto" to 1 (enabled) \, an image is written each
+rendering frame.;
+#X text 48 327 Currently only single-images are supported (no animations
+\, videos \, AVIs \, ...);
+#X text 47 534 You can set the size of the snapshot window as well
+as the position. These can be set via creation arguments too: [pix_write
+[<posX> <posY> [<sizeX> <sizeY>]]];
+#X text 48 367 With the "file" message you can specify a base-filename
+and the type of image-files you want to create.;
+#X text 48 410 The actual name of the file will be something like "<basefilename><current#>.<ext>"
+(like "GEM00001.tif");
+#X text 52 445 Supported file-types are TIFF (type=0) and JPEG (type>0
+\; quality=type \; you might want a high-quality (type>80) to like
+your images);
+#X text 52 496 TIFF-writing is very slow ! JPEG is fast (but ugly with
+low quality);
+#X text 475 437 "file <basefilename> <type>";
+#X text 473 403 "file <basefilename>" : assume type=TIFF;
+#X text 474 420 "file <type>": change type;
+#X connect 0 0 6 0;
+#X connect 2 0 6 2;
+#X connect 3 0 6 1;
+#X connect 6 0 1 0;
+#X connect 7 0 6 0;
+#X connect 8 0 6 0;
+#X connect 9 0 6 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_write.pd b/packages/noncvs/windows/extra/Gem/pix_write.pd
index b65da99a..d5e4faab 100644
--- a/packages/noncvs/windows/extra/Gem/pix_write.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_write.pd
@@ -1,197 +1,197 @@
-#N canvas 1638 263 859 513 10;
-#X obj 81 82 inlet gemlist;
-#X obj 351 471 outlet gemlist;
-#X obj 351 439 pix_writer;
-#X obj 351 298 pix_snap;
-#X obj 669 133 loadbang;
-#N canvas 0 0 450 300 once 0;
-#X obj 82 68 inlet;
-#X obj 82 136 spigot;
-#X obj 82 163 t a b;
-#X msg 122 108 0;
-#X obj 270 61 inlet reset;
-#X obj 270 90 t b;
-#X msg 269 113 1;
-#X obj 82 197 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X connect 2 0 7 0;
-#X connect 2 1 3 0;
-#X connect 3 0 1 1;
-#X connect 4 0 5 0;
-#X connect 5 0 6 0;
-#X connect 6 0 1 1;
-#X restore 374 245 pd once;
-#X obj 351 192 t a b b;
-#X msg 374 265 snap;
-#X obj 420 224 i 0;
-#X obj 438 198 r \$0-auto;
-#X obj 460 223 r \$0-banged;
-#X obj 81 204 s \$0-banged;
-#X obj 81 182 t b;
-#X obj 395 400 r \$0-banged;
-#X obj 81 155 route bang auto file vert_size vert_pos;
-#X obj 135 227 i;
-#X obj 135 247 != 0;
-#X obj 135 267 s \$0-auto;
-#X obj 189 325 list prepend file;
-#X obj 189 350 list trim;
-#X obj 189 370 t a;
-#X obj 474 59 inlet size;
-#X obj 619 61 inlet pos;
-#N canvas 1530 407 698 419 arguments 0;
-#X obj 112 44 inlet init;
-#X text 252 61 4: xoff yoff width height;
-#X text 254 79 2: width height;
-#X text 254 95 0:;
-#N canvas 52 114 1249 422 argcount 0;
-#X obj 69 46 inlet;
-#X obj 50 178 select s;
-#X obj 50 128 t b b;
-#X obj 156 155 makefilename $%d-test;
-#X obj 50 155 symbol \$1-test;
-#X msg 156 135 1;
-#X obj 570 178 select s;
-#X obj 570 128 t b b;
-#X obj 676 155 makefilename $%d-test;
-#X obj 850 178 select s;
-#X obj 850 128 t b b;
-#X obj 956 155 makefilename $%d-test;
-#X obj 1120 178 select s;
-#X obj 1120 128 t b b;
-#X obj 1226 155 makefilename $%d-test;
-#X msg 676 135 3;
-#X msg 956 135 4;
-#X msg 1226 135 5;
-#X obj 50 242 t f;
-#X obj 27 306 f;
-#X obj 322 61 t b b b b b;
-#X obj 27 74 t b b b;
-#X msg 73 291 -1;
-#X obj 27 360 outlet;
-#X obj 570 155 symbol \$3-test;
-#X obj 850 155 symbol \$4-test;
-#X obj 1120 155 symbol \$5-test;
-#X msg 50 199 0;
-#X obj 310 178 select s;
-#X obj 310 128 t b b;
-#X obj 416 155 makefilename $%d-test;
-#X msg 416 135 2;
-#X obj 310 155 symbol \$2-test;
-#X msg 310 199 1;
-#X msg 570 199 2;
-#X msg 850 199 3;
-#X msg 1120 199 4;
-#X connect 0 0 21 0;
-#X connect 1 0 27 0;
-#X connect 2 0 4 0;
-#X connect 2 1 5 0;
-#X connect 3 0 1 1;
-#X connect 4 0 1 0;
-#X connect 5 0 3 0;
-#X connect 6 0 34 0;
-#X connect 7 0 24 0;
-#X connect 7 1 15 0;
-#X connect 8 0 6 1;
-#X connect 9 0 35 0;
-#X connect 10 0 25 0;
-#X connect 10 1 16 0;
-#X connect 11 0 9 1;
-#X connect 12 0 36 0;
-#X connect 13 0 26 0;
-#X connect 13 1 17 0;
-#X connect 14 0 12 1;
-#X connect 15 0 8 0;
-#X connect 16 0 11 0;
-#X connect 17 0 14 0;
-#X connect 18 0 19 1;
-#X connect 19 0 23 0;
-#X connect 20 0 2 0;
-#X connect 20 1 29 0;
-#X connect 20 2 7 0;
-#X connect 20 3 10 0;
-#X connect 20 4 13 0;
-#X connect 21 0 19 0;
-#X connect 21 1 20 0;
-#X connect 21 2 22 0;
-#X connect 22 0 19 1;
-#X connect 24 0 6 0;
-#X connect 25 0 9 0;
-#X connect 26 0 12 0;
-#X connect 27 0 18 0;
-#X connect 28 0 33 0;
-#X connect 29 0 32 0;
-#X connect 29 1 31 0;
-#X connect 30 0 28 1;
-#X connect 31 0 30 0;
-#X connect 32 0 28 0;
-#X connect 33 0 18 0;
-#X connect 34 0 18 0;
-#X connect 35 0 18 0;
-#X connect 36 0 18 0;
-#X restore 112 118 pd argcount;
-#X obj 112 181 list append \$1 \$2 \$3 \$4;
-#X obj 112 142 select 4 2 0;
-#X obj 112 312 pack 0 0 0 0;
-#X obj 112 337 t l l;
-#X obj 112 385 outlet offset;
-#X obj 232 386 outlet size;
-#X msg 112 362 \$1 \$2;
-#X msg 232 362 \$3 \$4;
-#X obj 139 211 list append 0 0 \$1 \$2;
-#X obj 112 290 t a;
-#X msg 193 255 0 0 128 128;
-#X obj 193 232 t b b;
-#X obj 283 275 print error;
-#X msg 283 255 [pix_write] needs 0 2 or 4 arguments;
-#X connect 0 0 4 0;
-#X connect 4 0 6 0;
-#X connect 5 0 14 0;
-#X connect 6 0 5 0;
-#X connect 6 1 13 0;
-#X connect 6 3 16 0;
-#X connect 7 0 8 0;
-#X connect 8 0 11 0;
-#X connect 8 1 12 0;
-#X connect 11 0 9 0;
-#X connect 12 0 10 0;
-#X connect 13 0 14 0;
-#X connect 14 0 7 0;
-#X connect 15 0 14 0;
-#X connect 16 0 15 0;
-#X connect 16 1 18 0;
-#X connect 18 0 17 0;
-#X restore 669 152 pd arguments;
-#X obj 538 364 r \$0-auto;
-#X msg 538 385 auto \$1;
-#X connect 0 0 14 0;
-#X connect 2 0 1 0;
-#X connect 3 0 2 0;
-#X connect 4 0 23 0;
-#X connect 5 0 7 0;
-#X connect 6 0 3 0;
-#X connect 6 1 5 0;
-#X connect 6 2 8 0;
-#X connect 7 0 3 0;
-#X connect 8 0 5 1;
-#X connect 9 0 8 1;
-#X connect 10 0 5 1;
-#X connect 12 0 11 0;
-#X connect 13 0 2 0;
-#X connect 14 0 12 0;
-#X connect 14 1 15 0;
-#X connect 14 2 18 0;
-#X connect 14 3 3 1;
-#X connect 14 4 3 2;
-#X connect 14 5 6 0;
-#X connect 15 0 16 0;
-#X connect 16 0 17 0;
-#X connect 18 0 19 0;
-#X connect 19 0 20 0;
-#X connect 20 0 2 0;
-#X connect 21 0 3 1;
-#X connect 22 0 3 2;
-#X connect 23 0 3 2;
-#X connect 23 1 3 1;
-#X connect 24 0 25 0;
-#X connect 25 0 2 0;
+#N canvas 1638 263 859 513 10;
+#X obj 81 82 inlet gemlist;
+#X obj 351 471 outlet gemlist;
+#X obj 351 439 pix_writer;
+#X obj 351 298 pix_snap;
+#X obj 669 133 loadbang;
+#N canvas 0 0 450 300 once 0;
+#X obj 82 68 inlet;
+#X obj 82 136 spigot;
+#X obj 82 163 t a b;
+#X msg 122 108 0;
+#X obj 270 61 inlet reset;
+#X obj 270 90 t b;
+#X msg 269 113 1;
+#X obj 82 197 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 2 0 7 0;
+#X connect 2 1 3 0;
+#X connect 3 0 1 1;
+#X connect 4 0 5 0;
+#X connect 5 0 6 0;
+#X connect 6 0 1 1;
+#X restore 374 245 pd once;
+#X obj 351 192 t a b b;
+#X msg 374 265 snap;
+#X obj 420 224 i 0;
+#X obj 438 198 r \$0-auto;
+#X obj 460 223 r \$0-banged;
+#X obj 81 204 s \$0-banged;
+#X obj 81 182 t b;
+#X obj 395 400 r \$0-banged;
+#X obj 81 155 route bang auto file vert_size vert_pos;
+#X obj 135 227 i;
+#X obj 135 247 != 0;
+#X obj 135 267 s \$0-auto;
+#X obj 189 325 list prepend file;
+#X obj 189 350 list trim;
+#X obj 189 370 t a;
+#X obj 474 59 inlet size;
+#X obj 619 61 inlet pos;
+#N canvas 1530 407 698 419 arguments 0;
+#X obj 112 44 inlet init;
+#X text 252 61 4: xoff yoff width height;
+#X text 254 79 2: width height;
+#X text 254 95 0:;
+#N canvas 52 114 1249 422 argcount 0;
+#X obj 69 46 inlet;
+#X obj 50 178 select s;
+#X obj 50 128 t b b;
+#X obj 156 155 makefilename $%d-test;
+#X obj 50 155 symbol \$1-test;
+#X msg 156 135 1;
+#X obj 570 178 select s;
+#X obj 570 128 t b b;
+#X obj 676 155 makefilename $%d-test;
+#X obj 850 178 select s;
+#X obj 850 128 t b b;
+#X obj 956 155 makefilename $%d-test;
+#X obj 1120 178 select s;
+#X obj 1120 128 t b b;
+#X obj 1226 155 makefilename $%d-test;
+#X msg 676 135 3;
+#X msg 956 135 4;
+#X msg 1226 135 5;
+#X obj 50 242 t f;
+#X obj 27 306 f;
+#X obj 322 61 t b b b b b;
+#X obj 27 74 t b b b;
+#X msg 73 291 -1;
+#X obj 27 360 outlet;
+#X obj 570 155 symbol \$3-test;
+#X obj 850 155 symbol \$4-test;
+#X obj 1120 155 symbol \$5-test;
+#X msg 50 199 0;
+#X obj 310 178 select s;
+#X obj 310 128 t b b;
+#X obj 416 155 makefilename $%d-test;
+#X msg 416 135 2;
+#X obj 310 155 symbol \$2-test;
+#X msg 310 199 1;
+#X msg 570 199 2;
+#X msg 850 199 3;
+#X msg 1120 199 4;
+#X connect 0 0 21 0;
+#X connect 1 0 27 0;
+#X connect 2 0 4 0;
+#X connect 2 1 5 0;
+#X connect 3 0 1 1;
+#X connect 4 0 1 0;
+#X connect 5 0 3 0;
+#X connect 6 0 34 0;
+#X connect 7 0 24 0;
+#X connect 7 1 15 0;
+#X connect 8 0 6 1;
+#X connect 9 0 35 0;
+#X connect 10 0 25 0;
+#X connect 10 1 16 0;
+#X connect 11 0 9 1;
+#X connect 12 0 36 0;
+#X connect 13 0 26 0;
+#X connect 13 1 17 0;
+#X connect 14 0 12 1;
+#X connect 15 0 8 0;
+#X connect 16 0 11 0;
+#X connect 17 0 14 0;
+#X connect 18 0 19 1;
+#X connect 19 0 23 0;
+#X connect 20 0 2 0;
+#X connect 20 1 29 0;
+#X connect 20 2 7 0;
+#X connect 20 3 10 0;
+#X connect 20 4 13 0;
+#X connect 21 0 19 0;
+#X connect 21 1 20 0;
+#X connect 21 2 22 0;
+#X connect 22 0 19 1;
+#X connect 24 0 6 0;
+#X connect 25 0 9 0;
+#X connect 26 0 12 0;
+#X connect 27 0 18 0;
+#X connect 28 0 33 0;
+#X connect 29 0 32 0;
+#X connect 29 1 31 0;
+#X connect 30 0 28 1;
+#X connect 31 0 30 0;
+#X connect 32 0 28 0;
+#X connect 33 0 18 0;
+#X connect 34 0 18 0;
+#X connect 35 0 18 0;
+#X connect 36 0 18 0;
+#X restore 112 118 pd argcount;
+#X obj 112 181 list append \$1 \$2 \$3 \$4;
+#X obj 112 142 select 4 2 0;
+#X obj 112 312 pack 0 0 0 0;
+#X obj 112 337 t l l;
+#X obj 112 385 outlet offset;
+#X obj 232 386 outlet size;
+#X msg 112 362 \$1 \$2;
+#X msg 232 362 \$3 \$4;
+#X obj 139 211 list append 0 0 \$1 \$2;
+#X obj 112 290 t a;
+#X msg 193 255 0 0 128 128;
+#X obj 193 232 t b b;
+#X obj 283 275 print error;
+#X msg 283 255 [pix_write] needs 0 2 or 4 arguments;
+#X connect 0 0 4 0;
+#X connect 4 0 6 0;
+#X connect 5 0 14 0;
+#X connect 6 0 5 0;
+#X connect 6 1 13 0;
+#X connect 6 3 16 0;
+#X connect 7 0 8 0;
+#X connect 8 0 11 0;
+#X connect 8 1 12 0;
+#X connect 11 0 9 0;
+#X connect 12 0 10 0;
+#X connect 13 0 14 0;
+#X connect 14 0 7 0;
+#X connect 15 0 14 0;
+#X connect 16 0 15 0;
+#X connect 16 1 18 0;
+#X connect 18 0 17 0;
+#X restore 669 152 pd arguments;
+#X obj 538 364 r \$0-auto;
+#X msg 538 385 auto \$1;
+#X connect 0 0 14 0;
+#X connect 2 0 1 0;
+#X connect 3 0 2 0;
+#X connect 4 0 23 0;
+#X connect 5 0 7 0;
+#X connect 6 0 3 0;
+#X connect 6 1 5 0;
+#X connect 6 2 8 0;
+#X connect 7 0 3 0;
+#X connect 8 0 5 1;
+#X connect 9 0 8 1;
+#X connect 10 0 5 1;
+#X connect 12 0 11 0;
+#X connect 13 0 2 0;
+#X connect 14 0 12 0;
+#X connect 14 1 15 0;
+#X connect 14 2 18 0;
+#X connect 14 3 3 1;
+#X connect 14 4 3 2;
+#X connect 14 5 6 0;
+#X connect 15 0 16 0;
+#X connect 16 0 17 0;
+#X connect 18 0 19 0;
+#X connect 19 0 20 0;
+#X connect 20 0 2 0;
+#X connect 21 0 3 1;
+#X connect 22 0 3 2;
+#X connect 23 0 3 2;
+#X connect 23 1 3 1;
+#X connect 24 0 25 0;
+#X connect 25 0 2 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_yuv-help.pd b/packages/noncvs/windows/extra/Gem/pix_yuv-help.pd
index 21e6a819..12aa0e14 100644
--- a/packages/noncvs/windows/extra/Gem/pix_yuv-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_yuv-help.pd
@@ -1,88 +1,88 @@
-#N canvas 0 0 654 372 10;
-#X text 452 8 GEM object;
-#X obj 8 245 cnv 15 430 80 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 248 Inlets:;
-#X text 38 295 Outlets:;
-#X obj 8 206 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 205 Arguments:;
-#X obj 7 76 cnv 15 430 125 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X obj 450 158 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 71 31 Class: pix object;
-#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 451 113 pd image;
-#X text 63 216 <none>;
-#X text 56 308 Outlet 1: gemlist;
-#X text 63 262 Inlet 1: gemlist;
-#X text 516 105 open an image;
-#X text 509 118 (JPEG \, TIFF \, ..);
-#X obj 468 166 tgl 15 1 empty empty empty 0 -6 0 8 -262144 -1 -1 1
-1;
-#X text 63 275 Inlet 1: 1|0: turn conversion on/off;
-#X text 62 339 see also:;
-#X obj 248 338 pix_grey;
-#X obj 451 196 pix_yuv;
-#X text 13 118 While the RGBA-format offers you the possibility to
-add alpha-blending on a per-pixel-basis \, the YUV-format needs far
-less memory and can be processed faster. You can use [pix_yuv] to convert
-images of any format into YUV-space. If your image already is in YUV-space
-\, this will do nothing.;
-#X text 15 77 Description: convert the colorspace of an image to YUV
-;
-#X text 50 12 Synopsis: [pix_yuv];
-#X obj 155 338 pix_rgba;
-#X text 15 101 Images can be stored in various formats/color-spaces.
-;
-#X obj 451 233 pix_texture;
-#X obj 451 256 square;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 17 0;
-#X connect 16 0 17 1;
-#X connect 17 0 27 0;
-#X connect 23 0 27 0;
-#X connect 27 0 33 0;
-#X connect 33 0 34 0;
+#N canvas 0 0 654 372 10;
+#X text 452 8 GEM object;
+#X obj 8 245 cnv 15 430 80 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 248 Inlets:;
+#X text 38 295 Outlets:;
+#X obj 8 206 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 205 Arguments:;
+#X obj 7 76 cnv 15 430 125 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X obj 450 158 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 71 31 Class: pix object;
+#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 451 113 pd image;
+#X text 63 216 <none>;
+#X text 56 308 Outlet 1: gemlist;
+#X text 63 262 Inlet 1: gemlist;
+#X text 516 105 open an image;
+#X text 509 118 (JPEG \, TIFF \, ..);
+#X obj 468 166 tgl 15 1 empty empty empty 0 -6 0 8 -262144 -1 -1 1
+1;
+#X text 63 275 Inlet 1: 1|0: turn conversion on/off;
+#X text 62 339 see also:;
+#X obj 248 338 pix_grey;
+#X obj 451 196 pix_yuv;
+#X text 13 118 While the RGBA-format offers you the possibility to
+add alpha-blending on a per-pixel-basis \, the YUV-format needs far
+less memory and can be processed faster. You can use [pix_yuv] to convert
+images of any format into YUV-space. If your image already is in YUV-space
+\, this will do nothing.;
+#X text 15 77 Description: convert the colorspace of an image to YUV
+;
+#X text 50 12 Synopsis: [pix_yuv];
+#X obj 155 338 pix_rgba;
+#X text 15 101 Images can be stored in various formats/color-spaces.
+;
+#X obj 451 233 pix_texture;
+#X obj 451 256 square;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 17 0;
+#X connect 16 0 17 1;
+#X connect 17 0 27 0;
+#X connect 23 0 27 0;
+#X connect 27 0 33 0;
+#X connect 33 0 34 0;
diff --git a/packages/noncvs/windows/extra/Gem/pix_zoom-help.pd b/packages/noncvs/windows/extra/Gem/pix_zoom-help.pd
index 67fbb267..60aa9f5a 100644
--- a/packages/noncvs/windows/extra/Gem/pix_zoom-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pix_zoom-help.pd
@@ -1,13 +1,13 @@
-#N canvas 3 45 450 300 10;
-#X msg 164 99 gemList;
-#X msg 164 212 gemList;
-#X text 169 16 part of GEM;
-#X obj 164 167 pix_zoom;
-#X msg 216 122 zoomX zoomY;
-#X text 176 43 pix_zoom;
-#X text 151 73 zoom the pixels;
-#X text 56 239 pix_zoom uses glPixelZoom to magnify/minify the pixels.
-It is experimental.;
-#X connect 0 0 3 0;
-#X connect 3 0 1 0;
-#X connect 4 0 3 1;
+#N canvas 3 45 450 300 10;
+#X msg 164 99 gemList;
+#X msg 164 212 gemList;
+#X text 169 16 part of GEM;
+#X obj 164 167 pix_zoom;
+#X msg 216 122 zoomX zoomY;
+#X text 176 43 pix_zoom;
+#X text 151 73 zoom the pixels;
+#X text 56 239 pix_zoom uses glPixelZoom to magnify/minify the pixels.
+It is experimental.;
+#X connect 0 0 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 3 1;
diff --git a/packages/noncvs/windows/extra/Gem/gem_filmAVI.dll b/packages/noncvs/windows/extra/Gem/plugins-disabled/gem_filmAVI.dll
index e28d3535..990bbc5e 100644
--- a/packages/noncvs/windows/extra/Gem/gem_filmAVI.dll
+++ b/packages/noncvs/windows/extra/Gem/plugins-disabled/gem_filmAVI.dll
Binary files differ
diff --git a/packages/noncvs/windows/extra/Gem/plugins-disabled/gem_imageMAGICK.dll b/packages/noncvs/windows/extra/Gem/plugins-disabled/gem_imageMAGICK.dll
new file mode 100644
index 00000000..21d9e56d
--- /dev/null
+++ b/packages/noncvs/windows/extra/Gem/plugins-disabled/gem_imageMAGICK.dll
Binary files differ
diff --git a/packages/noncvs/windows/extra/Gem/gem_videoHALCON.dll b/packages/noncvs/windows/extra/Gem/plugins-disabled/gem_videoHALCON.dll
index 49723cad..2325b0c1 100644
--- a/packages/noncvs/windows/extra/Gem/gem_videoHALCON.dll
+++ b/packages/noncvs/windows/extra/Gem/plugins-disabled/gem_videoHALCON.dll
Binary files differ
diff --git a/packages/noncvs/windows/extra/Gem/gem_videoVFW.dll b/packages/noncvs/windows/extra/Gem/plugins-disabled/gem_videoVFW.dll
index 6cc9e762..c6976ae6 100644
--- a/packages/noncvs/windows/extra/Gem/gem_videoVFW.dll
+++ b/packages/noncvs/windows/extra/Gem/plugins-disabled/gem_videoVFW.dll
Binary files differ
diff --git a/packages/noncvs/windows/extra/Gem/polygon-help.pd b/packages/noncvs/windows/extra/Gem/polygon-help.pd
index 13b947b4..a45039f8 100644
--- a/packages/noncvs/windows/extra/Gem/polygon-help.pd
+++ b/packages/noncvs/windows/extra/Gem/polygon-help.pd
@@ -1,97 +1,97 @@
-#N canvas 27 382 762 461 10;
-#X text 475 39 Example:;
-#X obj 7 65 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 8 216 cnv 15 450 180 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 9 221 Inlets:;
-#X obj 8 176 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 175 Arguments:;
-#X text 452 8 GEM object;
-#X text 27 233 Inlet 1: gemlist;
-#X text 9 358 Outlets:;
-#X text 21 371 Outlet 1: gemlist;
-#X obj 469 58 cnv 15 200 270 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X obj 528 354 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 198 112 destroy;
-#X msg 132 112 create \, 1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 533 393 pd gemwin;
-#X msg 533 374 create;
-#X text 529 353 Create window:;
-#X obj 474 85 cnv 15 190 200 empty empty empty 20 12 0 14 -85973 -66577
-0;
-#X obj 521 292 cnv 15 100 30 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X msg 479 136 draw line;
-#X msg 479 91 draw fill;
-#X msg 479 113 draw point;
-#X obj 537 64 gemhead;
-#X msg 605 194 0 \$1 0;
-#X msg 585 92 1 1 0;
-#X msg 593 112 1 -1 0;
-#X floatatom 605 177 5 0 0 0 - - -;
-#X msg 603 152 -2 1 0;
-#X text 21 138 Each (additional) inlet will accept an X Y Z point which
-is where the control point will be.;
-#X text 26 309 Inlet 2: list: 3(XYZ) float values;
-#X text 26 330 Inlet N: list: 3(XYZ) float values;
-#X text 51 317 ...;
-#X text 27 293 Inlet 1: message: width <float> : line-width;
-#X msg 599 132 -1 -1 -3;
-#X text 63 187 number of control-points of the curve (mandatory);
-#X msg 479 156 draw linestrip;
-#X msg 479 176 draw tri;
-#X msg 479 198 draw tristrip;
-#X msg 478 221 draw trifan;
-#X msg 478 242 draw quad;
-#X msg 478 264 draw quadstrip;
-#X text 27 247 Inlet 1: message: draw [line|linestrip|fill|point|tri|tristrip|trifan|quad|quadstrip]
-;
-#X text 54 30 Class: geometric object;
-#X text 33 14 Synopsis: [polygon];
-#X text 7 69 Description: Renders a polygon.;
-#X text 22 88 [polygon] creates a polygon graphics. The initial argument
-is the number of points in the polygon. The maximum number of points
-is unlimited.;
-#X obj 537 299 polygon 5;
-#X msg 603 246 width \$1;
-#X floatatom 619 226 5 0 10 0 - - -;
-#X connect 12 0 13 0;
-#X connect 13 0 12 0;
-#X connect 17 0 44 0;
-#X connect 18 0 44 0;
-#X connect 19 0 44 0;
-#X connect 20 0 44 0;
-#X connect 21 0 44 5;
-#X connect 22 0 44 1;
-#X connect 23 0 44 2;
-#X connect 24 0 21 0;
-#X connect 25 0 44 4;
-#X connect 31 0 44 3;
-#X connect 33 0 44 0;
-#X connect 34 0 44 0;
-#X connect 35 0 44 0;
-#X connect 36 0 44 0;
-#X connect 37 0 44 0;
-#X connect 38 0 44 0;
-#X connect 45 0 44 0;
-#X connect 46 0 45 0;
+#N canvas 27 382 762 461 10;
+#X text 475 39 Example:;
+#X obj 7 65 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 8 216 cnv 15 450 180 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 9 221 Inlets:;
+#X obj 8 176 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 175 Arguments:;
+#X text 452 8 GEM object;
+#X text 27 233 Inlet 1: gemlist;
+#X text 9 358 Outlets:;
+#X text 21 371 Outlet 1: gemlist;
+#X obj 469 58 cnv 15 200 270 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X obj 528 354 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 198 112 destroy;
+#X msg 132 112 create \, 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 533 393 pd gemwin;
+#X msg 533 374 create;
+#X text 529 353 Create window:;
+#X obj 474 85 cnv 15 190 200 empty empty empty 20 12 0 14 -85973 -66577
+0;
+#X obj 521 292 cnv 15 100 30 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X msg 479 136 draw line;
+#X msg 479 91 draw fill;
+#X msg 479 113 draw point;
+#X obj 537 64 gemhead;
+#X msg 605 194 0 \$1 0;
+#X msg 585 92 1 1 0;
+#X msg 593 112 1 -1 0;
+#X floatatom 605 177 5 0 0 0 - - -;
+#X msg 603 152 -2 1 0;
+#X text 21 138 Each (additional) inlet will accept an X Y Z point which
+is where the control point will be.;
+#X text 26 309 Inlet 2: list: 3(XYZ) float values;
+#X text 26 330 Inlet N: list: 3(XYZ) float values;
+#X text 51 317 ...;
+#X text 27 293 Inlet 1: message: width <float> : line-width;
+#X msg 599 132 -1 -1 -3;
+#X text 63 187 number of control-points of the curve (mandatory);
+#X msg 479 156 draw linestrip;
+#X msg 479 176 draw tri;
+#X msg 479 198 draw tristrip;
+#X msg 478 221 draw trifan;
+#X msg 478 242 draw quad;
+#X msg 478 264 draw quadstrip;
+#X text 27 247 Inlet 1: message: draw [line|linestrip|fill|point|tri|tristrip|trifan|quad|quadstrip]
+;
+#X text 54 30 Class: geometric object;
+#X text 33 14 Synopsis: [polygon];
+#X text 7 69 Description: Renders a polygon.;
+#X text 22 88 [polygon] creates a polygon graphics. The initial argument
+is the number of points in the polygon. The maximum number of points
+is unlimited.;
+#X obj 537 299 polygon 5;
+#X msg 603 246 width \$1;
+#X floatatom 619 226 5 0 10 0 - - -;
+#X connect 12 0 13 0;
+#X connect 13 0 12 0;
+#X connect 17 0 44 0;
+#X connect 18 0 44 0;
+#X connect 19 0 44 0;
+#X connect 20 0 44 0;
+#X connect 21 0 44 5;
+#X connect 22 0 44 1;
+#X connect 23 0 44 2;
+#X connect 24 0 21 0;
+#X connect 25 0 44 4;
+#X connect 31 0 44 3;
+#X connect 33 0 44 0;
+#X connect 34 0 44 0;
+#X connect 35 0 44 0;
+#X connect 36 0 44 0;
+#X connect 37 0 44 0;
+#X connect 38 0 44 0;
+#X connect 45 0 44 0;
+#X connect 46 0 45 0;
diff --git a/packages/noncvs/windows/extra/Gem/polygon_smooth-help.pd b/packages/noncvs/windows/extra/Gem/polygon_smooth-help.pd
index 850dc0d2..159362e3 100644
--- a/packages/noncvs/windows/extra/Gem/polygon_smooth-help.pd
+++ b/packages/noncvs/windows/extra/Gem/polygon_smooth-help.pd
@@ -1,68 +1,68 @@
-#N canvas 52 21 639 408 10;
-#X text 452 8 GEM object;
-#X obj 8 226 cnv 15 430 100 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 228 Inlets:;
-#X text 63 241 Inlet 1: gemlist;
-#X text 39 292 Outlets:;
-#X text 57 305 Outlet 1: gemlist;
-#X obj 8 186 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 185 Arguments:;
-#X obj 8 76 cnv 15 430 100 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 destroy;
-#X text 515 253 Create window:;
-#X text 71 31 Class: manipulation object;
-#X obj 450 107 cnv 15 160 80 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X floatatom 477 146 2 0 0 0 - - -;
-#X obj 451 167 polygon_smooth;
-#X text 50 12 Synopsis: [polygon_smooth];
-#X text 29 77 Description: turn on/off polygon smoothing;
-#X text 22 91 [polygon_smooth] turns on/off smoothing for polygons
-\, aka antialiasing . You can either turn smoothing on (1) \, off (1)
-or leave it unchanged (-1).;
-#X text 23 138 Note that this might be very CPU-consumptive \, if you
-don't have hw-acceleration.;
-#X text 63 196 <none>;
-#X text 63 255 Inlet 1: float: turn polygon-smoothing on/off/nop.;
-#X obj 477 110 hradio 15 1 1 3 empty empty empty 0 -6 0 8 -262144 -1
--1 2;
-#X obj 477 127 - 1;
-#X obj 451 233 sphere;
-#X text 20 343 See also:;
-#X text 48 362 FSAA antialiasing message to;
-#X obj 224 362 gemwin;
-#X connect 12 0 13 0;
-#X connect 13 0 12 0;
-#X connect 17 0 19 0;
-#X connect 18 0 19 0;
-#X connect 19 0 28 0;
-#X connect 26 0 27 0;
-#X connect 27 0 18 0;
+#N canvas 52 21 639 408 10;
+#X text 452 8 GEM object;
+#X obj 8 226 cnv 15 430 100 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 228 Inlets:;
+#X text 63 241 Inlet 1: gemlist;
+#X text 39 292 Outlets:;
+#X text 57 305 Outlet 1: gemlist;
+#X obj 8 186 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 185 Arguments:;
+#X obj 8 76 cnv 15 430 100 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 destroy;
+#X text 515 253 Create window:;
+#X text 71 31 Class: manipulation object;
+#X obj 450 107 cnv 15 160 80 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X floatatom 477 146 2 0 0 0 - - -;
+#X obj 451 167 polygon_smooth;
+#X text 50 12 Synopsis: [polygon_smooth];
+#X text 29 77 Description: turn on/off polygon smoothing;
+#X text 22 91 [polygon_smooth] turns on/off smoothing for polygons
+\, aka antialiasing . You can either turn smoothing on (1) \, off (1)
+or leave it unchanged (-1).;
+#X text 23 138 Note that this might be very CPU-consumptive \, if you
+don't have hw-acceleration.;
+#X text 63 196 <none>;
+#X text 63 255 Inlet 1: float: turn polygon-smoothing on/off/nop.;
+#X obj 477 110 hradio 15 1 1 3 empty empty empty 0 -6 0 8 -262144 -1
+-1 2;
+#X obj 477 127 - 1;
+#X obj 451 233 sphere;
+#X text 20 343 See also:;
+#X text 48 362 FSAA antialiasing message to;
+#X obj 224 362 gemwin;
+#X connect 12 0 13 0;
+#X connect 13 0 12 0;
+#X connect 17 0 19 0;
+#X connect 18 0 19 0;
+#X connect 19 0 28 0;
+#X connect 26 0 27 0;
+#X connect 27 0 18 0;
diff --git a/packages/noncvs/windows/extra/Gem/pqtorusknots-help.pd b/packages/noncvs/windows/extra/Gem/pqtorusknots-help.pd
index b484a3cd..7fb54c26 100644
--- a/packages/noncvs/windows/extra/Gem/pqtorusknots-help.pd
+++ b/packages/noncvs/windows/extra/Gem/pqtorusknots-help.pd
@@ -1,95 +1,95 @@
-#N canvas 100 39 710 412 10;
-#X text 54 30 Class: geometric object;
-#X obj 469 47 cnv 15 235 290 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X obj 474 274 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 198 112 destroy;
-#X msg 132 112 create \, 1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 479 313 pd gemwin;
-#X msg 479 294 create;
-#X text 475 273 Create window:;
-#X text 475 29 Example:;
-#X obj 7 65 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 8 213 cnv 15 450 180 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 11 217 Inlets:;
-#X obj 8 176 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 175 Arguments:;
-#X text 452 8 GEM object;
-#X text 29 229 Inlet 1: gemlist;
-#X text 11 356 Outlets:;
-#X text 23 369 Outlet 1: gemlist;
-#X obj 472 75 cnv 15 230 195 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X msg 475 88 draw line;
-#X msg 475 111 draw fill;
-#X obj 543 54 gemhead;
-#X floatatom 553 89 5 -5 5 2 size - -;
-#X text 29 243 Inlet 1: message: draw [line|fill|points];
-#X msg 476 132 draw point;
-#X text 7 69 Description: Renders a 3d knot;
-#X text 34 14 Synopsis: [pqtorusknots];
-#X msg 592 88 scale \$1;
-#X floatatom 553 110 5 10 256 2 - - -;
-#X msg 593 109 steps \$1;
-#X floatatom 553 130 5 0 20 2 - - -;
-#X floatatom 553 150 5 0.2 1 2 - - -;
-#X msg 593 129 facets \$1;
-#X msg 593 149 thick \$1;
-#X msg 593 171 clump \$1 0.5 1;
-#X floatatom 553 173 2 9 20 0 - - -;
-#X msg 593 225 uvScale 1 1;
-#X floatatom 548 199 5 0 0 0 - - -;
-#X msg 593 197 pq \$1 3;
-#X text 15 88 The [pqtorusknot] object renders a 3dimensional knot
-at the current position with current color.;
-#X obj 544 249 pqtorusknots;
-#X text 63 186 <none>;
-#X text 15 119 You can set various parameters \, like number of facets
-\, number of clumps \, winding \, ...;
-#X text 29 257 Inlet 1: message: steps <f>;
-#X text 29 272 Inlet 1: message: facets <f>;
-#X text 29 287 Inlet 1: message: thick <f>;
-#X text 29 302 Inlet 1: message: clump <#clumps> <clumpOffset> <clumpScale>
-;
-#X text 29 317 Inlet 1: message: pq <xWinding> <yWinding>;
-#X text 29 332 Inlet 1: message: ivScale <uScale> <vScale>: for texturing
-;
-#X connect 3 0 4 0;
-#X connect 4 0 3 0;
-#X connect 17 0 38 0;
-#X connect 18 0 38 0;
-#X connect 19 0 38 0;
-#X connect 20 0 25 0;
-#X connect 22 0 38 0;
-#X connect 25 0 38 0;
-#X connect 26 0 27 0;
-#X connect 27 0 38 0;
-#X connect 28 0 30 0;
-#X connect 29 0 31 0;
-#X connect 30 0 38 0;
-#X connect 31 0 38 0;
-#X connect 32 0 38 0;
-#X connect 33 0 32 0;
-#X connect 34 0 38 0;
-#X connect 35 0 36 0;
-#X connect 36 0 38 0;
+#N canvas 100 39 710 412 10;
+#X text 54 30 Class: geometric object;
+#X obj 469 47 cnv 15 235 290 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X obj 474 274 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 198 112 destroy;
+#X msg 132 112 create \, 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 479 313 pd gemwin;
+#X msg 479 294 create;
+#X text 475 273 Create window:;
+#X text 475 29 Example:;
+#X obj 7 65 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 8 213 cnv 15 450 180 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 11 217 Inlets:;
+#X obj 8 176 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 175 Arguments:;
+#X text 452 8 GEM object;
+#X text 29 229 Inlet 1: gemlist;
+#X text 11 356 Outlets:;
+#X text 23 369 Outlet 1: gemlist;
+#X obj 472 75 cnv 15 230 195 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X msg 475 88 draw line;
+#X msg 475 111 draw fill;
+#X obj 543 54 gemhead;
+#X floatatom 553 89 5 -5 5 2 size - -;
+#X text 29 243 Inlet 1: message: draw [line|fill|points];
+#X msg 476 132 draw point;
+#X text 7 69 Description: Renders a 3d knot;
+#X text 34 14 Synopsis: [pqtorusknots];
+#X msg 592 88 scale \$1;
+#X floatatom 553 110 5 10 256 2 - - -;
+#X msg 593 109 steps \$1;
+#X floatatom 553 130 5 0 20 2 - - -;
+#X floatatom 553 150 5 0.2 1 2 - - -;
+#X msg 593 129 facets \$1;
+#X msg 593 149 thick \$1;
+#X msg 593 171 clump \$1 0.5 1;
+#X floatatom 553 173 2 9 20 0 - - -;
+#X msg 593 225 uvScale 1 1;
+#X floatatom 548 199 5 0 0 0 - - -;
+#X msg 593 197 pq \$1 3;
+#X text 15 88 The [pqtorusknot] object renders a 3dimensional knot
+at the current position with current color.;
+#X obj 544 249 pqtorusknots;
+#X text 63 186 <none>;
+#X text 15 119 You can set various parameters \, like number of facets
+\, number of clumps \, winding \, ...;
+#X text 29 257 Inlet 1: message: steps <f>;
+#X text 29 272 Inlet 1: message: facets <f>;
+#X text 29 287 Inlet 1: message: thick <f>;
+#X text 29 302 Inlet 1: message: clump <#clumps> <clumpOffset> <clumpScale>
+;
+#X text 29 317 Inlet 1: message: pq <xWinding> <yWinding>;
+#X text 29 332 Inlet 1: message: ivScale <uScale> <vScale>: for texturing
+;
+#X connect 3 0 4 0;
+#X connect 4 0 3 0;
+#X connect 17 0 38 0;
+#X connect 18 0 38 0;
+#X connect 19 0 38 0;
+#X connect 20 0 25 0;
+#X connect 22 0 38 0;
+#X connect 25 0 38 0;
+#X connect 26 0 27 0;
+#X connect 27 0 38 0;
+#X connect 28 0 30 0;
+#X connect 29 0 31 0;
+#X connect 30 0 38 0;
+#X connect 31 0 38 0;
+#X connect 32 0 38 0;
+#X connect 33 0 32 0;
+#X connect 34 0 38 0;
+#X connect 35 0 36 0;
+#X connect 36 0 38 0;
diff --git a/packages/noncvs/windows/extra/Gem/primTri-help.pd b/packages/noncvs/windows/extra/Gem/primTri-help.pd
index cc755433..06338070 100644
--- a/packages/noncvs/windows/extra/Gem/primTri-help.pd
+++ b/packages/noncvs/windows/extra/Gem/primTri-help.pd
@@ -1,92 +1,92 @@
-#N canvas 130 41 696 468 10;
-#X text 54 30 Class: geometric object;
-#X obj 479 107 cnv 15 200 250 empty empty empty 20 12 0 14 -228992
--66577 0;
-#X obj 494 284 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 198 112 destroy;
-#X msg 132 112 create \, 1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 499 323 pd gemwin;
-#X msg 499 304 create;
-#X text 495 283 Create window:;
-#X obj 7 65 cnv 15 450 80 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 8 196 cnv 15 450 220 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 9 201 Inlets:;
-#X obj 8 156 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 155 Arguments:;
-#X text 27 227 Inlet 1: message: draw [line|fill|point];
-#X text 452 8 GEM object;
-#X text 27 213 Inlet 1: gemlist;
-#X text 9 380 Outlets:;
-#X text 21 393 Outlet 1: gemlist;
-#X text 485 89 Example:;
-#X obj 482 137 cnv 15 190 110 empty empty empty 20 12 0 14 -81876 -66577
-0;
-#X obj 534 252 cnv 15 100 30 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X msg 485 145 draw line;
-#X msg 485 166 draw fill;
-#X msg 485 188 draw point;
-#X obj 543 114 gemhead;
-#X msg 572 178 0 0 1;
-#X msg 565 159 0 1 0;
-#X msg 557 140 1 0 0;
-#X text 600 140 (XYZ)1;
-#X text 610 158 (XYZ)2;
-#X text 620 178 (XYZ)3;
-#X msg 597 238 0 0 1;
-#X msg 590 219 0 1 0;
-#X msg 582 200 1 0 0;
-#X text 625 200 (XYZ)1;
-#X text 635 218 (XYZ)2;
-#X text 645 238 (XYZ)3;
-#X text 32 14 Synopsis: [primTri];
-#X text 7 69 Description: Renders a triangle with gradient colors.
-;
-#X text 16 86 The [primTri] object renders a triangle. The corner-points
-can be specified with respect to position and color.;
-#X text 63 166 (none);
-#X text 27 248 Inlet 2: list: 3(XYZ) float values (position of 1st
-corner);
-#X text 27 265 Inlet 3: list: 3(XYZ) float values (position of 2nd
-corner);
-#X text 27 282 Inlet 4: list: 3(XYZ) float values (position of 3rd
-corner);
-#X text 27 298 Inlet 5: list: 3(RGB) or 4(RGBA) float values (color
-of 1st corner);
-#X text 27 325 Inlet 6: list: 3(RGB) or 4(RGBA) float values (color
-of 2nd corner);
-#X text 27 352 Inlet 7: list: 3(RGB) or 4(RGBA) float values (color
-of 3rd corner);
-#X obj 543 259 primTri;
-#X connect 3 0 4 0;
-#X connect 4 0 3 0;
-#X connect 19 0 45 0;
-#X connect 20 0 45 0;
-#X connect 21 0 45 0;
-#X connect 22 0 45 0;
-#X connect 23 0 45 3;
-#X connect 24 0 45 2;
-#X connect 25 0 45 1;
-#X connect 29 0 45 6;
-#X connect 30 0 45 5;
-#X connect 31 0 45 4;
+#N canvas 130 41 696 468 10;
+#X text 54 30 Class: geometric object;
+#X obj 479 107 cnv 15 200 250 empty empty empty 20 12 0 14 -228992
+-66577 0;
+#X obj 494 284 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 198 112 destroy;
+#X msg 132 112 create \, 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 499 323 pd gemwin;
+#X msg 499 304 create;
+#X text 495 283 Create window:;
+#X obj 7 65 cnv 15 450 80 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 8 196 cnv 15 450 220 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 9 201 Inlets:;
+#X obj 8 156 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 155 Arguments:;
+#X text 27 227 Inlet 1: message: draw [line|fill|point];
+#X text 452 8 GEM object;
+#X text 27 213 Inlet 1: gemlist;
+#X text 9 380 Outlets:;
+#X text 21 393 Outlet 1: gemlist;
+#X text 485 89 Example:;
+#X obj 482 137 cnv 15 190 110 empty empty empty 20 12 0 14 -81876 -66577
+0;
+#X obj 534 252 cnv 15 100 30 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X msg 485 145 draw line;
+#X msg 485 166 draw fill;
+#X msg 485 188 draw point;
+#X obj 543 114 gemhead;
+#X msg 572 178 0 0 1;
+#X msg 565 159 0 1 0;
+#X msg 557 140 1 0 0;
+#X text 600 140 (XYZ)1;
+#X text 610 158 (XYZ)2;
+#X text 620 178 (XYZ)3;
+#X msg 597 238 0 0 1;
+#X msg 590 219 0 1 0;
+#X msg 582 200 1 0 0;
+#X text 625 200 (XYZ)1;
+#X text 635 218 (XYZ)2;
+#X text 645 238 (XYZ)3;
+#X text 32 14 Synopsis: [primTri];
+#X text 7 69 Description: Renders a triangle with gradient colors.
+;
+#X text 16 86 The [primTri] object renders a triangle. The corner-points
+can be specified with respect to position and color.;
+#X text 63 166 (none);
+#X text 27 248 Inlet 2: list: 3(XYZ) float values (position of 1st
+corner);
+#X text 27 265 Inlet 3: list: 3(XYZ) float values (position of 2nd
+corner);
+#X text 27 282 Inlet 4: list: 3(XYZ) float values (position of 3rd
+corner);
+#X text 27 298 Inlet 5: list: 3(RGB) or 4(RGBA) float values (color
+of 1st corner);
+#X text 27 325 Inlet 6: list: 3(RGB) or 4(RGBA) float values (color
+of 2nd corner);
+#X text 27 352 Inlet 7: list: 3(RGB) or 4(RGBA) float values (color
+of 3rd corner);
+#X obj 543 259 primTri;
+#X connect 3 0 4 0;
+#X connect 4 0 3 0;
+#X connect 19 0 45 0;
+#X connect 20 0 45 0;
+#X connect 21 0 45 0;
+#X connect 22 0 45 0;
+#X connect 23 0 45 3;
+#X connect 24 0 45 2;
+#X connect 25 0 45 1;
+#X connect 29 0 45 6;
+#X connect 30 0 45 5;
+#X connect 31 0 45 4;
diff --git a/packages/noncvs/windows/extra/Gem/rectangle-help.pd b/packages/noncvs/windows/extra/Gem/rectangle-help.pd
index 94a8aa80..f3a66a69 100644
--- a/packages/noncvs/windows/extra/Gem/rectangle-help.pd
+++ b/packages/noncvs/windows/extra/Gem/rectangle-help.pd
@@ -1,70 +1,70 @@
-#N canvas 35 433 710 345 10;
-#X text 54 30 Class: geometric object;
-#X obj 519 47 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X obj 584 224 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 198 112 destroy;
-#X msg 132 112 create \, 1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 589 263 pd gemwin;
-#X msg 589 244 create;
-#X text 585 223 Create window:;
-#X obj 7 65 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 8 216 cnv 15 450 110 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 9 221 Inlets:;
-#X obj 8 176 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 175 Arguments:;
-#X text 27 247 Inlet 1: message: draw [line|fill|point];
-#X text 452 8 GEM object;
-#X text 27 233 Inlet 1: gemlist;
-#X text 9 290 Outlets:;
-#X text 21 303 Outlet 1: gemlist;
-#X text 525 29 Example:;
-#X obj 522 78 cnv 15 150 100 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X msg 525 85 draw line;
-#X msg 525 106 draw fill;
-#X msg 525 128 draw point;
-#X obj 568 54 gemhead;
-#X floatatom 611 98 5 0 0 2 width - -;
-#X floatatom 629 129 5 0 0 2 height - -;
-#X text 63 186 width & height of the rectangle;
-#X text 33 14 Synopsis: [rectangle];
-#X text 7 69 Description: Renders a rectangle;
-#X obj 568 159 rectangle 3 1;
-#X text 27 261 Inlet 2: float: width (default to 1);
-#X text 27 274 Inlet 3: float: height (default to 1);
-#X text 16 86 The [rectangle] object renders a rectangle at the current
-position with current color. The width and height of the rectangle
-can be set by the arguments and changed via the second and third inlet.
-;
-#X text 19 133 note for the nitpickers: the rectangle will span from
-(-width|-height) to (+width|+height) so the actual size is really double
-the specified size.;
-#X connect 3 0 4 0;
-#X connect 4 0 3 0;
-#X connect 18 0 27 0;
-#X connect 19 0 27 0;
-#X connect 20 0 27 0;
-#X connect 21 0 27 0;
-#X connect 22 0 27 1;
-#X connect 23 0 27 2;
+#N canvas 35 433 710 345 10;
+#X text 54 30 Class: geometric object;
+#X obj 519 47 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X obj 584 224 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 198 112 destroy;
+#X msg 132 112 create \, 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 589 263 pd gemwin;
+#X msg 589 244 create;
+#X text 585 223 Create window:;
+#X obj 7 65 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 8 216 cnv 15 450 110 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 9 221 Inlets:;
+#X obj 8 176 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 175 Arguments:;
+#X text 27 247 Inlet 1: message: draw [line|fill|point];
+#X text 452 8 GEM object;
+#X text 27 233 Inlet 1: gemlist;
+#X text 9 290 Outlets:;
+#X text 21 303 Outlet 1: gemlist;
+#X text 525 29 Example:;
+#X obj 522 78 cnv 15 150 100 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X msg 525 85 draw line;
+#X msg 525 106 draw fill;
+#X msg 525 128 draw point;
+#X obj 568 54 gemhead;
+#X floatatom 611 98 5 0 0 2 width - -;
+#X floatatom 629 129 5 0 0 2 height - -;
+#X text 63 186 width & height of the rectangle;
+#X text 33 14 Synopsis: [rectangle];
+#X text 7 69 Description: Renders a rectangle;
+#X obj 568 159 rectangle 3 1;
+#X text 27 261 Inlet 2: float: width (default to 1);
+#X text 27 274 Inlet 3: float: height (default to 1);
+#X text 16 86 The [rectangle] object renders a rectangle at the current
+position with current color. The width and height of the rectangle
+can be set by the arguments and changed via the second and third inlet.
+;
+#X text 19 133 note for the nitpickers: the rectangle will span from
+(-width|-height) to (+width|+height) so the actual size is really double
+the specified size.;
+#X connect 3 0 4 0;
+#X connect 4 0 3 0;
+#X connect 18 0 27 0;
+#X connect 19 0 27 0;
+#X connect 20 0 27 0;
+#X connect 21 0 27 0;
+#X connect 22 0 27 1;
+#X connect 23 0 27 2;
diff --git a/packages/noncvs/windows/extra/Gem/render_trigger-help.pd b/packages/noncvs/windows/extra/Gem/render_trigger-help.pd
index 0056e35b..80461bd4 100644
--- a/packages/noncvs/windows/extra/Gem/render_trigger-help.pd
+++ b/packages/noncvs/windows/extra/Gem/render_trigger-help.pd
@@ -1,75 +1,75 @@
-#N canvas 450 81 710 345 10;
-#X obj 519 47 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X obj 529 233 cnv 15 140 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X msg 544 253 create;
-#X text 540 232 Create window:;
-#X obj 7 65 cnv 15 450 140 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 8 256 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 9 261 Inlets:;
-#X obj 8 216 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 215 Arguments:;
-#X text 452 8 GEM object;
-#X text 27 273 Inlet 1: gemlist;
-#X text 9 290 Outlets:;
-#X text 21 303 Outlet 1: gemlist;
-#X text 525 29 Example:;
-#X text 33 14 Synopsis: [render_trigger];
-#X obj 522 78 cnv 15 160 120 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 530 52 gemhead;
-#X obj 530 87 render_trigger;
-#X obj 530 133 t b a b;
-#X obj 552 208 square;
-#X text 54 30 Class: control object;
-#X text 7 69 Description: triggers on rendering;
-#X text 29 85 render_trigger allows you to know when the actual rendering
-is occuring in a gemList. If you think of the gemList as a list of
-actions which occur \, the pre-bang outlet sends a bang out before
-any of the actions below the render_trigger in the gemList. The post-bang
-sends out a bang after all of the actions have occured.;
-#X text 72 225 (none);
-#X text 21 316 Outlet 2: bang : pre-render;
-#X text 21 330 Outlet 2: bang : post-render;
-#X text 9 172 !THIS IS OBOLETE AS YOU CAN NOW USE THE [trigger] OBJECT
-FOR THE SAME PURPOSE!;
-#X obj 622 108 bng 15 250 50 0 empty empty post 20 8 0 8 -262144 -1
--1;
-#X obj 576 108 bng 15 250 50 0 empty empty pre 20 8 0 8 -262144 -1
--1;
-#X obj 530 177 bng 15 250 50 0 empty empty post 20 8 0 8 -262144 -1
--1;
-#X obj 574 158 bng 15 250 50 0 empty empty pre 20 8 0 8 -262144 -1
--1;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 93 create \, 1 \, frame 2;
-#X msg 198 112 destroy \, reset;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 544 273 pd gemwin (2fps);
-#X connect 2 0 31 0;
-#X connect 16 0 17 0;
-#X connect 17 0 18 0;
-#X connect 17 1 28 0;
-#X connect 17 2 27 0;
-#X connect 18 0 29 0;
-#X connect 18 1 19 0;
-#X connect 18 2 30 0;
-#X connect 31 0 2 0;
+#N canvas 450 81 710 345 10;
+#X obj 519 47 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X obj 529 233 cnv 15 140 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X msg 544 253 create;
+#X text 540 232 Create window:;
+#X obj 7 65 cnv 15 450 140 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 8 256 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 9 261 Inlets:;
+#X obj 8 216 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 215 Arguments:;
+#X text 452 8 GEM object;
+#X text 27 273 Inlet 1: gemlist;
+#X text 9 290 Outlets:;
+#X text 21 303 Outlet 1: gemlist;
+#X text 525 29 Example:;
+#X text 33 14 Synopsis: [render_trigger];
+#X obj 522 78 cnv 15 160 120 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 530 52 gemhead;
+#X obj 530 87 render_trigger;
+#X obj 530 133 t b a b;
+#X obj 552 208 square;
+#X text 54 30 Class: control object;
+#X text 7 69 Description: triggers on rendering;
+#X text 29 85 render_trigger allows you to know when the actual rendering
+is occuring in a gemList. If you think of the gemList as a list of
+actions which occur \, the pre-bang outlet sends a bang out before
+any of the actions below the render_trigger in the gemList. The post-bang
+sends out a bang after all of the actions have occured.;
+#X text 72 225 (none);
+#X text 21 316 Outlet 2: bang : pre-render;
+#X text 21 330 Outlet 2: bang : post-render;
+#X text 9 172 !THIS IS OBOLETE AS YOU CAN NOW USE THE [trigger] OBJECT
+FOR THE SAME PURPOSE!;
+#X obj 622 108 bng 15 250 50 0 empty empty post 20 8 0 8 -262144 -1
+-1;
+#X obj 576 108 bng 15 250 50 0 empty empty pre 20 8 0 8 -262144 -1
+-1;
+#X obj 530 177 bng 15 250 50 0 empty empty post 20 8 0 8 -262144 -1
+-1;
+#X obj 574 158 bng 15 250 50 0 empty empty pre 20 8 0 8 -262144 -1
+-1;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 93 create \, 1 \, frame 2;
+#X msg 198 112 destroy \, reset;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 544 273 pd gemwin (2fps);
+#X connect 2 0 31 0;
+#X connect 16 0 17 0;
+#X connect 17 0 18 0;
+#X connect 17 1 28 0;
+#X connect 17 2 27 0;
+#X connect 18 0 29 0;
+#X connect 18 1 19 0;
+#X connect 18 2 30 0;
+#X connect 31 0 2 0;
diff --git a/packages/noncvs/windows/extra/Gem/rgb2hsv.pd b/packages/noncvs/windows/extra/Gem/rgb2hsv.pd
index 95468817..0c40226a 100644
--- a/packages/noncvs/windows/extra/Gem/rgb2hsv.pd
+++ b/packages/noncvs/windows/extra/Gem/rgb2hsv.pd
@@ -1,301 +1,301 @@
-#N canvas 359 28 479 587 10;
-#X obj 186 29 inlet;
-#X obj 196 551 outlet;
-#X obj 249 303 unpack 0 0 0;
-#X obj 196 529 pack 0 0 0;
-#X obj 186 142 t f f;
-#X obj 186 163 t f f;
-#X obj 186 185 -;
-#X obj 186 224 /;
-#X obj 186 244 t f f;
-#X obj 145 266 select 0;
-#X msg 145 286 0;
-#X obj 186 204 t f f;
-#N canvas 0 0 450 515 sort3 0;
-#X obj 55 109 inlet;
-#X obj 55 375 outlet;
-#X obj 205 375 outlet;
-#X obj 55 313 unpack;
-#X obj 105 313 unpack;
-#X obj 155 313 unpack;
-#X msg 55 156 \$1 0;
-#X msg 97 155 \$1 1;
-#X msg 145 156 \$1 2;
-#X obj 55 132 unpack 0 0 0;
-#X obj 55 352 pack 0 0 0;
-#X obj 205 352 pack 0 0 0;
-#N canvas 0 0 489 412 sort_header 0;
-#X obj 67 27 inlet;
-#X obj 67 318 outlet;
-#X obj 212 318 outlet;
-#X obj 67 79 t f l;
-#X obj 157 27 inlet;
-#X obj 157 79 t f l;
-#X obj 67 119 >;
-#X obj 67 149 select 0 1;
-#X obj 67 181 t b b;
-#X obj 227 175 t b b;
-#X obj 67 291 pack;
-#X obj 83 250 unpack;
-#X obj 67 271 f;
-#X obj 117 291 pack;
-#X obj 133 250 unpack;
-#X obj 117 271 f;
-#X obj 227 291 pack;
-#X obj 243 250 unpack;
-#X obj 227 271 f;
-#X obj 277 291 pack;
-#X obj 293 250 unpack;
-#X obj 277 271 f;
-#X connect 0 0 3 0;
-#X connect 3 0 6 0;
-#X connect 3 1 11 0;
-#X connect 3 1 20 0;
-#X connect 4 0 5 0;
-#X connect 5 0 6 1;
-#X connect 5 1 14 0;
-#X connect 5 1 17 0;
-#X connect 6 0 7 0;
-#X connect 7 0 8 0;
-#X connect 7 1 9 0;
-#X connect 8 0 12 0;
-#X connect 8 1 15 0;
-#X connect 9 0 18 0;
-#X connect 9 1 21 0;
-#X connect 10 0 1 0;
-#X connect 11 0 12 1;
-#X connect 11 1 10 1;
-#X connect 12 0 10 0;
-#X connect 13 0 2 0;
-#X connect 14 0 15 1;
-#X connect 14 1 13 1;
-#X connect 15 0 13 0;
-#X connect 16 0 1 0;
-#X connect 17 0 18 1;
-#X connect 17 1 16 1;
-#X connect 18 0 16 0;
-#X connect 19 0 2 0;
-#X connect 20 0 21 1;
-#X connect 20 1 19 1;
-#X connect 21 0 19 0;
-#X restore 110 178 pd sort_header;
-#N canvas 0 0 450 300 sort_header 0;
-#X obj 67 27 inlet;
-#X obj 67 318 outlet;
-#X obj 212 318 outlet;
-#X obj 67 79 t f l;
-#X obj 157 27 inlet;
-#X obj 157 79 t f l;
-#X obj 67 119 >;
-#X obj 67 149 select 0 1;
-#X obj 67 181 t b b;
-#X obj 227 175 t b b;
-#X obj 67 291 pack;
-#X obj 83 250 unpack;
-#X obj 67 271 f;
-#X obj 117 291 pack;
-#X obj 133 250 unpack;
-#X obj 117 271 f;
-#X obj 227 291 pack;
-#X obj 243 250 unpack;
-#X obj 227 271 f;
-#X obj 277 291 pack;
-#X obj 293 250 unpack;
-#X obj 277 271 f;
-#X connect 0 0 3 0;
-#X connect 3 0 6 0;
-#X connect 3 1 11 0;
-#X connect 3 1 20 0;
-#X connect 4 0 5 0;
-#X connect 5 0 6 1;
-#X connect 5 1 14 0;
-#X connect 5 1 17 0;
-#X connect 6 0 7 0;
-#X connect 7 0 8 0;
-#X connect 7 1 9 0;
-#X connect 8 0 12 0;
-#X connect 8 1 15 0;
-#X connect 9 0 18 0;
-#X connect 9 1 21 0;
-#X connect 10 0 1 0;
-#X connect 11 0 12 1;
-#X connect 11 1 10 1;
-#X connect 12 0 10 0;
-#X connect 13 0 2 0;
-#X connect 14 0 15 1;
-#X connect 14 1 13 1;
-#X connect 15 0 13 0;
-#X connect 16 0 1 0;
-#X connect 17 0 18 1;
-#X connect 17 1 16 1;
-#X connect 18 0 16 0;
-#X connect 19 0 2 0;
-#X connect 20 0 21 1;
-#X connect 20 1 19 1;
-#X connect 21 0 19 0;
-#X restore 55 205 pd sort_header;
-#N canvas 0 0 450 300 sort_header 0;
-#X obj 67 27 inlet;
-#X obj 67 318 outlet;
-#X obj 212 318 outlet;
-#X obj 67 79 t f l;
-#X obj 157 27 inlet;
-#X obj 157 79 t f l;
-#X obj 67 119 >;
-#X obj 67 149 select 0 1;
-#X obj 67 181 t b b;
-#X obj 227 175 t b b;
-#X obj 67 291 pack;
-#X obj 83 250 unpack;
-#X obj 67 271 f;
-#X obj 117 291 pack;
-#X obj 133 250 unpack;
-#X obj 117 271 f;
-#X obj 227 291 pack;
-#X obj 243 250 unpack;
-#X obj 227 271 f;
-#X obj 277 291 pack;
-#X obj 293 250 unpack;
-#X obj 277 271 f;
-#X connect 0 0 3 0;
-#X connect 3 0 6 0;
-#X connect 3 1 11 0;
-#X connect 3 1 20 0;
-#X connect 4 0 5 0;
-#X connect 5 0 6 1;
-#X connect 5 1 14 0;
-#X connect 5 1 17 0;
-#X connect 6 0 7 0;
-#X connect 7 0 8 0;
-#X connect 7 1 9 0;
-#X connect 8 0 12 0;
-#X connect 8 1 15 0;
-#X connect 9 0 18 0;
-#X connect 9 1 21 0;
-#X connect 10 0 1 0;
-#X connect 11 0 12 1;
-#X connect 11 1 10 1;
-#X connect 12 0 10 0;
-#X connect 13 0 2 0;
-#X connect 14 0 15 1;
-#X connect 14 1 13 1;
-#X connect 15 0 13 0;
-#X connect 16 0 1 0;
-#X connect 17 0 18 1;
-#X connect 17 1 16 1;
-#X connect 18 0 16 0;
-#X connect 19 0 2 0;
-#X connect 20 0 21 1;
-#X connect 20 1 19 1;
-#X connect 21 0 19 0;
-#X restore 116 236 pd sort_header;
-#X connect 0 0 9 0;
-#X connect 3 0 10 0;
-#X connect 3 1 11 0;
-#X connect 4 0 10 1;
-#X connect 4 1 11 1;
-#X connect 5 0 10 2;
-#X connect 5 1 11 2;
-#X connect 6 0 13 0;
-#X connect 7 0 12 0;
-#X connect 8 0 12 1;
-#X connect 9 0 6 0;
-#X connect 9 1 7 0;
-#X connect 9 2 8 0;
-#X connect 10 0 1 0;
-#X connect 11 0 2 0;
-#X connect 12 0 13 1;
-#X connect 12 1 14 1;
-#X connect 13 0 3 0;
-#X connect 13 1 14 0;
-#X connect 14 0 4 0;
-#X connect 14 1 5 0;
-#X restore 186 77 pd sort3;
-#X msg 186 98 \$3 \$1;
-#X obj 186 121 unpack;
-#X msg 239 98 \$3;
-#X obj 196 398 -;
-#X obj 240 379 t f f f;
-#X obj 233 438 + 2;
-#X obj 233 398 -;
-#X obj 268 398 -;
-#X obj 268 418 /;
-#X obj 233 418 /;
-#X obj 196 418 /;
-#X obj 268 438 + 4;
-#N canvas 0 0 450 300 select3 0;
-#X obj 106 87 inlet;
-#X obj 234 85 inlet;
-#X obj 115 222 outlet;
-#X obj 232 107 unpack 0 0 0;
-#X obj 117 194 f;
-#X obj 180 192 f;
-#X obj 240 190 f;
-#X obj 110 137 select 0 1 2;
-#X obj 184 224 outlet;
-#X obj 236 222 outlet;
-#X connect 0 0 7 0;
-#X connect 1 0 3 0;
-#X connect 3 0 4 1;
-#X connect 3 1 5 1;
-#X connect 3 2 6 1;
-#X connect 4 0 2 0;
-#X connect 5 0 8 0;
-#X connect 6 0 9 0;
-#X connect 7 0 5 0;
-#X connect 7 1 6 0;
-#X connect 7 2 4 0;
-#X restore 196 329 pd select3;
-#X obj 196 287 b;
-#X obj 196 307 i;
-#X obj 186 55 t l l l;
-#X obj 196 480 moses 0;
-#X obj 196 459 / 6;
-#X obj 196 500 + 1;
-#X connect 0 0 28 0;
-#X connect 2 0 19 1;
-#X connect 2 1 20 1;
-#X connect 2 2 16 1;
-#X connect 3 0 1 0;
-#X connect 4 0 5 0;
-#X connect 4 1 3 2;
-#X connect 5 0 6 0;
-#X connect 5 1 7 1;
-#X connect 6 0 11 0;
-#X connect 7 0 8 0;
-#X connect 8 0 9 0;
-#X connect 8 1 3 1;
-#X connect 9 0 10 0;
-#X connect 9 1 26 0;
-#X connect 10 0 3 0;
-#X connect 11 0 7 0;
-#X connect 11 1 17 0;
-#X connect 12 0 13 0;
-#X connect 12 1 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 4 0;
-#X connect 14 1 6 1;
-#X connect 15 0 27 1;
-#X connect 16 0 23 0;
-#X connect 17 0 23 1;
-#X connect 17 1 22 1;
-#X connect 17 2 21 1;
-#X connect 18 0 30 0;
-#X connect 19 0 22 0;
-#X connect 20 0 21 0;
-#X connect 21 0 24 0;
-#X connect 22 0 18 0;
-#X connect 23 0 30 0;
-#X connect 24 0 30 0;
-#X connect 25 0 20 0;
-#X connect 25 1 16 0;
-#X connect 25 2 19 0;
-#X connect 26 0 27 0;
-#X connect 27 0 25 0;
-#X connect 28 0 12 0;
-#X connect 28 1 2 0;
-#X connect 28 2 25 1;
-#X connect 29 0 31 0;
-#X connect 29 1 3 0;
-#X connect 30 0 29 0;
-#X connect 31 0 3 0;
+#N canvas 359 28 479 587 10;
+#X obj 186 29 inlet;
+#X obj 196 551 outlet;
+#X obj 249 303 unpack 0 0 0;
+#X obj 196 529 pack 0 0 0;
+#X obj 186 142 t f f;
+#X obj 186 163 t f f;
+#X obj 186 185 -;
+#X obj 186 224 /;
+#X obj 186 244 t f f;
+#X obj 145 266 select 0;
+#X msg 145 286 0;
+#X obj 186 204 t f f;
+#N canvas 0 0 450 515 sort3 0;
+#X obj 55 109 inlet;
+#X obj 55 375 outlet;
+#X obj 205 375 outlet;
+#X obj 55 313 unpack;
+#X obj 105 313 unpack;
+#X obj 155 313 unpack;
+#X msg 55 156 \$1 0;
+#X msg 97 155 \$1 1;
+#X msg 145 156 \$1 2;
+#X obj 55 132 unpack 0 0 0;
+#X obj 55 352 pack 0 0 0;
+#X obj 205 352 pack 0 0 0;
+#N canvas 0 0 489 412 sort_header 0;
+#X obj 67 27 inlet;
+#X obj 67 318 outlet;
+#X obj 212 318 outlet;
+#X obj 67 79 t f l;
+#X obj 157 27 inlet;
+#X obj 157 79 t f l;
+#X obj 67 119 >;
+#X obj 67 149 select 0 1;
+#X obj 67 181 t b b;
+#X obj 227 175 t b b;
+#X obj 67 291 pack;
+#X obj 83 250 unpack;
+#X obj 67 271 f;
+#X obj 117 291 pack;
+#X obj 133 250 unpack;
+#X obj 117 271 f;
+#X obj 227 291 pack;
+#X obj 243 250 unpack;
+#X obj 227 271 f;
+#X obj 277 291 pack;
+#X obj 293 250 unpack;
+#X obj 277 271 f;
+#X connect 0 0 3 0;
+#X connect 3 0 6 0;
+#X connect 3 1 11 0;
+#X connect 3 1 20 0;
+#X connect 4 0 5 0;
+#X connect 5 0 6 1;
+#X connect 5 1 14 0;
+#X connect 5 1 17 0;
+#X connect 6 0 7 0;
+#X connect 7 0 8 0;
+#X connect 7 1 9 0;
+#X connect 8 0 12 0;
+#X connect 8 1 15 0;
+#X connect 9 0 18 0;
+#X connect 9 1 21 0;
+#X connect 10 0 1 0;
+#X connect 11 0 12 1;
+#X connect 11 1 10 1;
+#X connect 12 0 10 0;
+#X connect 13 0 2 0;
+#X connect 14 0 15 1;
+#X connect 14 1 13 1;
+#X connect 15 0 13 0;
+#X connect 16 0 1 0;
+#X connect 17 0 18 1;
+#X connect 17 1 16 1;
+#X connect 18 0 16 0;
+#X connect 19 0 2 0;
+#X connect 20 0 21 1;
+#X connect 20 1 19 1;
+#X connect 21 0 19 0;
+#X restore 110 178 pd sort_header;
+#N canvas 0 0 450 300 sort_header 0;
+#X obj 67 27 inlet;
+#X obj 67 318 outlet;
+#X obj 212 318 outlet;
+#X obj 67 79 t f l;
+#X obj 157 27 inlet;
+#X obj 157 79 t f l;
+#X obj 67 119 >;
+#X obj 67 149 select 0 1;
+#X obj 67 181 t b b;
+#X obj 227 175 t b b;
+#X obj 67 291 pack;
+#X obj 83 250 unpack;
+#X obj 67 271 f;
+#X obj 117 291 pack;
+#X obj 133 250 unpack;
+#X obj 117 271 f;
+#X obj 227 291 pack;
+#X obj 243 250 unpack;
+#X obj 227 271 f;
+#X obj 277 291 pack;
+#X obj 293 250 unpack;
+#X obj 277 271 f;
+#X connect 0 0 3 0;
+#X connect 3 0 6 0;
+#X connect 3 1 11 0;
+#X connect 3 1 20 0;
+#X connect 4 0 5 0;
+#X connect 5 0 6 1;
+#X connect 5 1 14 0;
+#X connect 5 1 17 0;
+#X connect 6 0 7 0;
+#X connect 7 0 8 0;
+#X connect 7 1 9 0;
+#X connect 8 0 12 0;
+#X connect 8 1 15 0;
+#X connect 9 0 18 0;
+#X connect 9 1 21 0;
+#X connect 10 0 1 0;
+#X connect 11 0 12 1;
+#X connect 11 1 10 1;
+#X connect 12 0 10 0;
+#X connect 13 0 2 0;
+#X connect 14 0 15 1;
+#X connect 14 1 13 1;
+#X connect 15 0 13 0;
+#X connect 16 0 1 0;
+#X connect 17 0 18 1;
+#X connect 17 1 16 1;
+#X connect 18 0 16 0;
+#X connect 19 0 2 0;
+#X connect 20 0 21 1;
+#X connect 20 1 19 1;
+#X connect 21 0 19 0;
+#X restore 55 205 pd sort_header;
+#N canvas 0 0 450 300 sort_header 0;
+#X obj 67 27 inlet;
+#X obj 67 318 outlet;
+#X obj 212 318 outlet;
+#X obj 67 79 t f l;
+#X obj 157 27 inlet;
+#X obj 157 79 t f l;
+#X obj 67 119 >;
+#X obj 67 149 select 0 1;
+#X obj 67 181 t b b;
+#X obj 227 175 t b b;
+#X obj 67 291 pack;
+#X obj 83 250 unpack;
+#X obj 67 271 f;
+#X obj 117 291 pack;
+#X obj 133 250 unpack;
+#X obj 117 271 f;
+#X obj 227 291 pack;
+#X obj 243 250 unpack;
+#X obj 227 271 f;
+#X obj 277 291 pack;
+#X obj 293 250 unpack;
+#X obj 277 271 f;
+#X connect 0 0 3 0;
+#X connect 3 0 6 0;
+#X connect 3 1 11 0;
+#X connect 3 1 20 0;
+#X connect 4 0 5 0;
+#X connect 5 0 6 1;
+#X connect 5 1 14 0;
+#X connect 5 1 17 0;
+#X connect 6 0 7 0;
+#X connect 7 0 8 0;
+#X connect 7 1 9 0;
+#X connect 8 0 12 0;
+#X connect 8 1 15 0;
+#X connect 9 0 18 0;
+#X connect 9 1 21 0;
+#X connect 10 0 1 0;
+#X connect 11 0 12 1;
+#X connect 11 1 10 1;
+#X connect 12 0 10 0;
+#X connect 13 0 2 0;
+#X connect 14 0 15 1;
+#X connect 14 1 13 1;
+#X connect 15 0 13 0;
+#X connect 16 0 1 0;
+#X connect 17 0 18 1;
+#X connect 17 1 16 1;
+#X connect 18 0 16 0;
+#X connect 19 0 2 0;
+#X connect 20 0 21 1;
+#X connect 20 1 19 1;
+#X connect 21 0 19 0;
+#X restore 116 236 pd sort_header;
+#X connect 0 0 9 0;
+#X connect 3 0 10 0;
+#X connect 3 1 11 0;
+#X connect 4 0 10 1;
+#X connect 4 1 11 1;
+#X connect 5 0 10 2;
+#X connect 5 1 11 2;
+#X connect 6 0 13 0;
+#X connect 7 0 12 0;
+#X connect 8 0 12 1;
+#X connect 9 0 6 0;
+#X connect 9 1 7 0;
+#X connect 9 2 8 0;
+#X connect 10 0 1 0;
+#X connect 11 0 2 0;
+#X connect 12 0 13 1;
+#X connect 12 1 14 1;
+#X connect 13 0 3 0;
+#X connect 13 1 14 0;
+#X connect 14 0 4 0;
+#X connect 14 1 5 0;
+#X restore 186 77 pd sort3;
+#X msg 186 98 \$3 \$1;
+#X obj 186 121 unpack;
+#X msg 239 98 \$3;
+#X obj 196 398 -;
+#X obj 240 379 t f f f;
+#X obj 233 438 + 2;
+#X obj 233 398 -;
+#X obj 268 398 -;
+#X obj 268 418 /;
+#X obj 233 418 /;
+#X obj 196 418 /;
+#X obj 268 438 + 4;
+#N canvas 0 0 450 300 select3 0;
+#X obj 106 87 inlet;
+#X obj 234 85 inlet;
+#X obj 115 222 outlet;
+#X obj 232 107 unpack 0 0 0;
+#X obj 117 194 f;
+#X obj 180 192 f;
+#X obj 240 190 f;
+#X obj 110 137 select 0 1 2;
+#X obj 184 224 outlet;
+#X obj 236 222 outlet;
+#X connect 0 0 7 0;
+#X connect 1 0 3 0;
+#X connect 3 0 4 1;
+#X connect 3 1 5 1;
+#X connect 3 2 6 1;
+#X connect 4 0 2 0;
+#X connect 5 0 8 0;
+#X connect 6 0 9 0;
+#X connect 7 0 5 0;
+#X connect 7 1 6 0;
+#X connect 7 2 4 0;
+#X restore 196 329 pd select3;
+#X obj 196 287 b;
+#X obj 196 307 i;
+#X obj 186 55 t l l l;
+#X obj 196 480 moses 0;
+#X obj 196 459 / 6;
+#X obj 196 500 + 1;
+#X connect 0 0 28 0;
+#X connect 2 0 19 1;
+#X connect 2 1 20 1;
+#X connect 2 2 16 1;
+#X connect 3 0 1 0;
+#X connect 4 0 5 0;
+#X connect 4 1 3 2;
+#X connect 5 0 6 0;
+#X connect 5 1 7 1;
+#X connect 6 0 11 0;
+#X connect 7 0 8 0;
+#X connect 8 0 9 0;
+#X connect 8 1 3 1;
+#X connect 9 0 10 0;
+#X connect 9 1 26 0;
+#X connect 10 0 3 0;
+#X connect 11 0 7 0;
+#X connect 11 1 17 0;
+#X connect 12 0 13 0;
+#X connect 12 1 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 4 0;
+#X connect 14 1 6 1;
+#X connect 15 0 27 1;
+#X connect 16 0 23 0;
+#X connect 17 0 23 1;
+#X connect 17 1 22 1;
+#X connect 17 2 21 1;
+#X connect 18 0 30 0;
+#X connect 19 0 22 0;
+#X connect 20 0 21 0;
+#X connect 21 0 24 0;
+#X connect 22 0 18 0;
+#X connect 23 0 30 0;
+#X connect 24 0 30 0;
+#X connect 25 0 20 0;
+#X connect 25 1 16 0;
+#X connect 25 2 19 0;
+#X connect 26 0 27 0;
+#X connect 27 0 25 0;
+#X connect 28 0 12 0;
+#X connect 28 1 2 0;
+#X connect 28 2 25 1;
+#X connect 29 0 31 0;
+#X connect 29 1 3 0;
+#X connect 30 0 29 0;
+#X connect 31 0 3 0;
diff --git a/packages/noncvs/windows/extra/Gem/rgb2yuv-help.pd b/packages/noncvs/windows/extra/Gem/rgb2yuv-help.pd
index 6205d512..1e295897 100644
--- a/packages/noncvs/windows/extra/Gem/rgb2yuv-help.pd
+++ b/packages/noncvs/windows/extra/Gem/rgb2yuv-help.pd
@@ -1,36 +1,36 @@
-#N canvas 457 99 472 501 10;
-#X text 333 19 GEM object;
-#X text 91 412 RGB is red \, green \, blue;
-#X text 91 434 YUV is luma and chroma;
-#X obj 119 207 cnv 15 70 40 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 123 218 rgb2yuv;
-#X msg 163 182 1 0 0;
-#X msg 155 156 0 0.2 0.5;
-#X obj 123 257 unpack 0 0 0;
-#X floatatom 178 84 5 0 1 1 Blue - -;
-#X floatatom 141 67 5 0 1 1 Green - -;
-#X floatatom 123 49 5 0 1 1 Red - -;
-#X obj 123 122 pack 0 0 0;
-#X obj 141 103 t b f;
-#X obj 178 103 t b f;
-#X text 83 9 [rgb2yuv];
-#X text 175 11 [yuv2rgb];
-#X text 89 388 convert between RGB colorspace and YUV colorspace;
-#X floatatom 190 284 5 0 1 1 V=ChromaR - -;
-#X floatatom 156 305 5 0 1 1 U=ChromaB - -;
-#X floatatom 123 327 5 0 1 1 Y=Luma - -;
-#X connect 4 0 7 0;
-#X connect 5 0 4 0;
-#X connect 6 0 4 0;
-#X connect 7 0 19 0;
-#X connect 7 1 18 0;
-#X connect 7 2 17 0;
-#X connect 8 0 13 0;
-#X connect 9 0 12 0;
-#X connect 10 0 11 0;
-#X connect 11 0 4 0;
-#X connect 12 0 11 0;
-#X connect 12 1 11 1;
-#X connect 13 0 11 0;
-#X connect 13 1 11 2;
+#N canvas 457 99 472 501 10;
+#X text 333 19 GEM object;
+#X text 91 412 RGB is red \, green \, blue;
+#X text 91 434 YUV is luma and chroma;
+#X obj 119 207 cnv 15 70 40 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 123 218 rgb2yuv;
+#X msg 163 182 1 0 0;
+#X msg 155 156 0 0.2 0.5;
+#X obj 123 257 unpack 0 0 0;
+#X floatatom 178 84 5 0 1 1 Blue - -;
+#X floatatom 141 67 5 0 1 1 Green - -;
+#X floatatom 123 49 5 0 1 1 Red - -;
+#X obj 123 122 pack 0 0 0;
+#X obj 141 103 t b f;
+#X obj 178 103 t b f;
+#X text 83 9 [rgb2yuv];
+#X text 175 11 [yuv2rgb];
+#X text 89 388 convert between RGB colorspace and YUV colorspace;
+#X floatatom 190 284 5 0 1 1 V=ChromaR - -;
+#X floatatom 156 305 5 0 1 1 U=ChromaB - -;
+#X floatatom 123 327 5 0 1 1 Y=Luma - -;
+#X connect 4 0 7 0;
+#X connect 5 0 4 0;
+#X connect 6 0 4 0;
+#X connect 7 0 19 0;
+#X connect 7 1 18 0;
+#X connect 7 2 17 0;
+#X connect 8 0 13 0;
+#X connect 9 0 12 0;
+#X connect 10 0 11 0;
+#X connect 11 0 4 0;
+#X connect 12 0 11 0;
+#X connect 12 1 11 1;
+#X connect 13 0 11 0;
+#X connect 13 1 11 2;
diff --git a/packages/noncvs/windows/extra/Gem/rgb2yuv.pd b/packages/noncvs/windows/extra/Gem/rgb2yuv.pd
index dfb7c3fe..ee5b2607 100644
--- a/packages/noncvs/windows/extra/Gem/rgb2yuv.pd
+++ b/packages/noncvs/windows/extra/Gem/rgb2yuv.pd
@@ -1,105 +1,105 @@
-#N canvas 236 111 450 476 10;
-#N canvas 286 158 450 300 rgb2y 0;
-#X obj 82 57 inlet;
-#X obj 82 236 outlet;
-#X obj 82 119 * 65.738;
-#X obj 143 120 * 129.075;
-#X obj 215 119 * 25.064;
-#X obj 82 142 +;
-#X obj 82 164 +;
-#X obj 82 207 + 16;
-#X obj 82 186 / 256;
-#X obj 143 57 inlet;
-#X obj 215 57 inlet;
-#X connect 0 0 2 0;
-#X connect 2 0 5 0;
-#X connect 3 0 5 1;
-#X connect 4 0 6 1;
-#X connect 5 0 6 0;
-#X connect 6 0 8 0;
-#X connect 7 0 1 0;
-#X connect 8 0 7 0;
-#X connect 9 0 3 0;
-#X connect 10 0 4 0;
-#X restore 103 206 pd rgb2y;
-#N canvas 286 158 450 300 rgb2u 0;
-#X obj 82 57 inlet;
-#X obj 82 236 outlet;
-#X obj 82 142 +;
-#X obj 82 164 +;
-#X obj 82 186 / 256;
-#X obj 82 119 * -37.945;
-#X obj 143 120 * -74.494;
-#X obj 215 119 * 112.439;
-#X obj 82 207 + 128;
-#X obj 143 57 inlet;
-#X obj 215 57 inlet;
-#X connect 0 0 5 0;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 4 0 8 0;
-#X connect 5 0 2 0;
-#X connect 6 0 2 1;
-#X connect 7 0 3 1;
-#X connect 8 0 1 0;
-#X connect 9 0 6 0;
-#X connect 10 0 7 0;
-#X restore 163 206 pd rgb2u;
-#N canvas 286 158 450 300 rgb2v 0;
-#X obj 82 57 inlet;
-#X obj 82 236 outlet;
-#X obj 82 142 +;
-#X obj 82 164 +;
-#X obj 82 186 / 256;
-#X obj 82 207 + 128;
-#X obj 82 119 * 112.439;
-#X obj 143 120 * -94.154;
-#X obj 215 119 * -18.285;
-#X obj 143 57 inlet;
-#X obj 215 57 inlet;
-#X connect 0 0 6 0;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 4 0 5 0;
-#X connect 5 0 1 0;
-#X connect 6 0 2 0;
-#X connect 7 0 2 1;
-#X connect 8 0 3 1;
-#X connect 9 0 7 0;
-#X connect 10 0 8 0;
-#X restore 224 207 pd rgb2v;
-#X text 106 37 convert RGB to YUV;
-#X obj 103 245 pack 0 0 0;
-#X obj 103 69 inlet RGB;
-#X obj 103 104 pack \$1 \$2 \$3;
-#X obj 103 353 outlet YUV;
-#X obj 103 226 / 256;
-#X obj 163 226 / 256;
-#X obj 224 226 / 256;
-#X obj 103 125 unpack 0 0 0;
-#X obj 103 166 t f f f;
-#X obj 103 146 * 256;
-#X obj 136 146 * 256;
-#X obj 170 146 * 256;
-#X connect 0 0 8 0;
-#X connect 1 0 9 0;
-#X connect 2 0 10 0;
-#X connect 4 0 7 0;
-#X connect 5 0 6 0;
-#X connect 6 0 11 0;
-#X connect 8 0 4 0;
-#X connect 9 0 4 1;
-#X connect 10 0 4 2;
-#X connect 11 0 13 0;
-#X connect 11 1 14 0;
-#X connect 11 2 15 0;
-#X connect 12 0 0 0;
-#X connect 12 1 1 0;
-#X connect 12 2 2 0;
-#X connect 13 0 12 0;
-#X connect 14 0 0 1;
-#X connect 14 0 1 1;
-#X connect 14 0 2 1;
-#X connect 15 0 2 2;
-#X connect 15 0 1 2;
-#X connect 15 0 0 2;
+#N canvas 236 111 450 476 10;
+#N canvas 286 158 450 300 rgb2y 0;
+#X obj 82 57 inlet;
+#X obj 82 236 outlet;
+#X obj 82 119 * 65.738;
+#X obj 143 120 * 129.075;
+#X obj 215 119 * 25.064;
+#X obj 82 142 +;
+#X obj 82 164 +;
+#X obj 82 207 + 16;
+#X obj 82 186 / 256;
+#X obj 143 57 inlet;
+#X obj 215 57 inlet;
+#X connect 0 0 2 0;
+#X connect 2 0 5 0;
+#X connect 3 0 5 1;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 6 0 8 0;
+#X connect 7 0 1 0;
+#X connect 8 0 7 0;
+#X connect 9 0 3 0;
+#X connect 10 0 4 0;
+#X restore 103 206 pd rgb2y;
+#N canvas 286 158 450 300 rgb2u 0;
+#X obj 82 57 inlet;
+#X obj 82 236 outlet;
+#X obj 82 142 +;
+#X obj 82 164 +;
+#X obj 82 186 / 256;
+#X obj 82 119 * -37.945;
+#X obj 143 120 * -74.494;
+#X obj 215 119 * 112.439;
+#X obj 82 207 + 128;
+#X obj 143 57 inlet;
+#X obj 215 57 inlet;
+#X connect 0 0 5 0;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 4 0 8 0;
+#X connect 5 0 2 0;
+#X connect 6 0 2 1;
+#X connect 7 0 3 1;
+#X connect 8 0 1 0;
+#X connect 9 0 6 0;
+#X connect 10 0 7 0;
+#X restore 163 206 pd rgb2u;
+#N canvas 286 158 450 300 rgb2v 0;
+#X obj 82 57 inlet;
+#X obj 82 236 outlet;
+#X obj 82 142 +;
+#X obj 82 164 +;
+#X obj 82 186 / 256;
+#X obj 82 207 + 128;
+#X obj 82 119 * 112.439;
+#X obj 143 120 * -94.154;
+#X obj 215 119 * -18.285;
+#X obj 143 57 inlet;
+#X obj 215 57 inlet;
+#X connect 0 0 6 0;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 5 0 1 0;
+#X connect 6 0 2 0;
+#X connect 7 0 2 1;
+#X connect 8 0 3 1;
+#X connect 9 0 7 0;
+#X connect 10 0 8 0;
+#X restore 224 207 pd rgb2v;
+#X text 106 37 convert RGB to YUV;
+#X obj 103 245 pack 0 0 0;
+#X obj 103 69 inlet RGB;
+#X obj 103 104 pack \$1 \$2 \$3;
+#X obj 103 353 outlet YUV;
+#X obj 103 226 / 256;
+#X obj 163 226 / 256;
+#X obj 224 226 / 256;
+#X obj 103 125 unpack 0 0 0;
+#X obj 103 166 t f f f;
+#X obj 103 146 * 256;
+#X obj 136 146 * 256;
+#X obj 170 146 * 256;
+#X connect 0 0 8 0;
+#X connect 1 0 9 0;
+#X connect 2 0 10 0;
+#X connect 4 0 7 0;
+#X connect 5 0 6 0;
+#X connect 6 0 11 0;
+#X connect 8 0 4 0;
+#X connect 9 0 4 1;
+#X connect 10 0 4 2;
+#X connect 11 0 13 0;
+#X connect 11 1 14 0;
+#X connect 11 2 15 0;
+#X connect 12 0 0 0;
+#X connect 12 1 1 0;
+#X connect 12 2 2 0;
+#X connect 13 0 12 0;
+#X connect 14 0 0 1;
+#X connect 14 0 1 1;
+#X connect 14 0 2 1;
+#X connect 15 0 2 2;
+#X connect 15 0 1 2;
+#X connect 15 0 0 2;
diff --git a/packages/noncvs/windows/extra/Gem/ripple-help.pd b/packages/noncvs/windows/extra/Gem/ripple-help.pd
index 70911e40..ba10b64f 100644
--- a/packages/noncvs/windows/extra/Gem/ripple-help.pd
+++ b/packages/noncvs/windows/extra/Gem/ripple-help.pd
@@ -1,87 +1,87 @@
-#N canvas 45 35 710 402 10;
-#X text 54 30 Class: geometric object;
-#X obj 479 47 cnv 15 170 300 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X obj 544 284 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 198 112 destroy;
-#X msg 132 112 create \, 1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 549 323 pd gemwin;
-#X msg 549 304 create;
-#X text 545 283 Create window:;
-#X text 485 29 Example:;
-#X obj 7 52 cnv 15 450 132 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 8 244 cnv 15 450 145 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 9 249 Inlets:;
-#X obj 8 189 cnv 15 450 50 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 189 Arguments:;
-#X text 27 275 Inlet 1: message: draw [line|fill|point];
-#X text 452 8 GEM object;
-#X text 27 261 Inlet 1: gemlist;
-#X text 9 358 Outlets:;
-#X text 20 371 Outlet 1: gemlist;
-#X obj 484 141 cnv 15 160 140 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 488 54 gemhead;
-#X floatatom 566 59 5 0 0 0 - - -;
-#X msg 494 144 draw line;
-#X msg 494 164 draw fill;
-#X msg 494 184 draw point;
-#X obj 488 79 rotateXYZ 135 0 0;
-#X obj 574 156 bng 25 250 50 0 empty empty grab 0 -6 0 8 -262144 -1
--1;
-#X floatatom 572 192 5 0 0 1 amount - -;
-#X text 7 56 Description: Renders and distorts a square.;
-#X text 27 331 Inlet 4: float: posX (centered);
-#X text 27 343 Inlet 5: float: posY (centered);
-#X text 27 288 Inlet 1: bang: grab;
-#X text 65 216 default: 32 32;
-#X text 63 202 segments of the square;
-#X text 33 14 Synopsis: [ripple];
-#X obj 488 259 ripple 16 16;
-#X text 16 73 When banged \, ripple will grab the vertex nearest to
-the specified (ctrX ctrY) position. The vertices will be accelerated
-towards the selected one for a moment and then gradually fall back
-to their original position.;
-#X obj 575 214 tgl 15 0 empty empty ctrX 18 8 0 8 -262144 -1 -1 0 1
-;
-#X obj 575 234 tgl 15 0 empty empty ctrY 18 8 0 8 -262144 -1 -1 0 1
-;
-#X text 27 317 Inlet 3: float: amount;
-#X text 17 131 The amount of excursion can be specified.;
-#X floatatom 510 217 5 0 0 0 - - -;
-#X text 17 150 note: [ripple] distorts a bit different when texture-mapping
-is used!;
-#X text 27 303 Inlet 2: float: size;
-#X connect 3 0 4 0;
-#X connect 4 0 3 0;
-#X connect 18 0 23 0;
-#X connect 19 0 23 1;
-#X connect 20 0 33 0;
-#X connect 21 0 33 0;
-#X connect 22 0 33 0;
-#X connect 23 0 33 0;
-#X connect 24 0 33 0;
-#X connect 25 0 33 2;
-#X connect 35 0 33 3;
-#X connect 36 0 33 4;
-#X connect 39 0 33 1;
+#N canvas 45 35 710 402 10;
+#X text 54 30 Class: geometric object;
+#X obj 479 47 cnv 15 170 300 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X obj 544 284 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 198 112 destroy;
+#X msg 132 112 create \, 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 549 323 pd gemwin;
+#X msg 549 304 create;
+#X text 545 283 Create window:;
+#X text 485 29 Example:;
+#X obj 7 52 cnv 15 450 132 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 8 244 cnv 15 450 145 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 9 249 Inlets:;
+#X obj 8 189 cnv 15 450 50 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 189 Arguments:;
+#X text 27 275 Inlet 1: message: draw [line|fill|point];
+#X text 452 8 GEM object;
+#X text 27 261 Inlet 1: gemlist;
+#X text 9 358 Outlets:;
+#X text 20 371 Outlet 1: gemlist;
+#X obj 484 141 cnv 15 160 140 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 488 54 gemhead;
+#X floatatom 566 59 5 0 0 0 - - -;
+#X msg 494 144 draw line;
+#X msg 494 164 draw fill;
+#X msg 494 184 draw point;
+#X obj 488 79 rotateXYZ 135 0 0;
+#X obj 574 156 bng 25 250 50 0 empty empty grab 0 -6 0 8 -262144 -1
+-1;
+#X floatatom 572 192 5 0 0 1 amount - -;
+#X text 7 56 Description: Renders and distorts a square.;
+#X text 27 331 Inlet 4: float: posX (centered);
+#X text 27 343 Inlet 5: float: posY (centered);
+#X text 27 288 Inlet 1: bang: grab;
+#X text 65 216 default: 32 32;
+#X text 63 202 segments of the square;
+#X text 33 14 Synopsis: [ripple];
+#X obj 488 259 ripple 16 16;
+#X text 16 73 When banged \, ripple will grab the vertex nearest to
+the specified (ctrX ctrY) position. The vertices will be accelerated
+towards the selected one for a moment and then gradually fall back
+to their original position.;
+#X obj 575 214 tgl 15 0 empty empty ctrX 18 8 0 8 -262144 -1 -1 0 1
+;
+#X obj 575 234 tgl 15 0 empty empty ctrY 18 8 0 8 -262144 -1 -1 0 1
+;
+#X text 27 317 Inlet 3: float: amount;
+#X text 17 131 The amount of excursion can be specified.;
+#X floatatom 510 217 5 0 0 0 - - -;
+#X text 17 150 note: [ripple] distorts a bit different when texture-mapping
+is used!;
+#X text 27 303 Inlet 2: float: size;
+#X connect 3 0 4 0;
+#X connect 4 0 3 0;
+#X connect 18 0 23 0;
+#X connect 19 0 23 1;
+#X connect 20 0 33 0;
+#X connect 21 0 33 0;
+#X connect 22 0 33 0;
+#X connect 23 0 33 0;
+#X connect 24 0 33 0;
+#X connect 25 0 33 2;
+#X connect 35 0 33 3;
+#X connect 36 0 33 4;
+#X connect 39 0 33 1;
diff --git a/packages/noncvs/windows/extra/Gem/rotate-help.pd b/packages/noncvs/windows/extra/Gem/rotate-help.pd
index 01de7dcd..187315aa 100644
--- a/packages/noncvs/windows/extra/Gem/rotate-help.pd
+++ b/packages/noncvs/windows/extra/Gem/rotate-help.pd
@@ -1,65 +1,65 @@
-#N canvas 57 47 639 383 10;
-#X text 452 8 GEM object;
-#X obj 8 226 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 238 Inlets:;
-#X text 63 251 Inlet 1: gemlist;
-#X text 39 302 Outlets:;
-#X text 57 315 Outlet 1: gemlist;
-#X obj 8 176 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 175 Arguments:;
-#X obj 8 76 cnv 15 440 70 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X text 71 31 Class: manipulation object;
-#X obj 450 158 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X obj 451 233 square;
-#X text 50 12 Synopsis: [rotate];
-#X text 29 77 Description: rotation;
-#X text 41 98 rotate accepts a gemList and changes the current transformation
-matrix by the specified rotation;
-#X obj 451 186 rotate 45 0 0 1;
-#X floatatom 468 162 5 0 0 0 - - -;
-#X msg 551 163 1 0 0;
-#X msg 566 187 0 1 1;
-#X text 63 186 1st argument: initial rotation amount (in degree);
-#X text 63 199 2nd-4th argument: (X Y Z) of the rotation-axis;
-#X text 63 266 Inlet 2: float: rotation amount around axis (in deg)
-;
-#X text 63 284 Inlet 3: list: rotation axis (X Y Z);
-#X text 39 130 the (x y z) vector determines the axis of rotation;
-#X connect 12 0 13 0;
-#X connect 13 0 12 0;
-#X connect 17 0 22 0;
-#X connect 22 0 18 0;
-#X connect 23 0 22 1;
-#X connect 24 0 22 2;
-#X connect 25 0 22 2;
+#N canvas 57 47 639 383 10;
+#X text 452 8 GEM object;
+#X obj 8 226 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 238 Inlets:;
+#X text 63 251 Inlet 1: gemlist;
+#X text 39 302 Outlets:;
+#X text 57 315 Outlet 1: gemlist;
+#X obj 8 176 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 175 Arguments:;
+#X obj 8 76 cnv 15 440 70 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X text 71 31 Class: manipulation object;
+#X obj 450 158 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X obj 451 233 square;
+#X text 50 12 Synopsis: [rotate];
+#X text 29 77 Description: rotation;
+#X text 41 98 rotate accepts a gemList and changes the current transformation
+matrix by the specified rotation;
+#X obj 451 186 rotate 45 0 0 1;
+#X floatatom 468 162 5 0 0 0 - - -;
+#X msg 551 163 1 0 0;
+#X msg 566 187 0 1 1;
+#X text 63 186 1st argument: initial rotation amount (in degree);
+#X text 63 199 2nd-4th argument: (X Y Z) of the rotation-axis;
+#X text 63 266 Inlet 2: float: rotation amount around axis (in deg)
+;
+#X text 63 284 Inlet 3: list: rotation axis (X Y Z);
+#X text 39 130 the (x y z) vector determines the axis of rotation;
+#X connect 12 0 13 0;
+#X connect 13 0 12 0;
+#X connect 17 0 22 0;
+#X connect 22 0 18 0;
+#X connect 23 0 22 1;
+#X connect 24 0 22 2;
+#X connect 25 0 22 2;
diff --git a/packages/noncvs/windows/extra/Gem/rotateXYZ-help.pd b/packages/noncvs/windows/extra/Gem/rotateXYZ-help.pd
index b66bc44b..ca72aa02 100644
--- a/packages/noncvs/windows/extra/Gem/rotateXYZ-help.pd
+++ b/packages/noncvs/windows/extra/Gem/rotateXYZ-help.pd
@@ -1,70 +1,70 @@
-#N canvas 445 99 639 383 10;
-#X text 452 8 GEM object;
-#X obj 8 226 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 238 Inlets:;
-#X text 53 251 Inlet 1: gemlist;
-#X text 39 312 Outlets:;
-#X text 57 325 Outlet 1: gemlist;
-#X obj 8 176 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 175 Arguments:;
-#X obj 8 76 cnv 15 440 90 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X text 71 31 Class: manipulation object;
-#X obj 450 114 cnv 15 160 100 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X obj 451 233 square;
-#X text 29 77 Description: rotation;
-#X text 32 92 rotate accepts a gemList and changes the current transformation
-matrix by the specified rotation;
-#X floatatom 486 122 5 0 0 1 X[deg] - -;
-#X obj 451 186 rotateXYZ 45 0 0;
-#X floatatom 506 142 5 0 0 1 Y[deg] - -;
-#X floatatom 530 162 5 0 0 1 Z[deg] - -;
-#X text 50 12 Synopsis: [rotateXYZ];
-#X text 29 126 the rotation around the X- \, Y- and Z-axis (in this
-order) can be specified separately by arguments and changed via inlets.
-;
-#X text 15 191 1st-3rd argument: rotation (in deg) around X- \, Y-
-and Z-axis;
-#X text 53 266 Inlet 2: float: rotation amount around X-axis (in deg)
-;
-#X text 53 292 Inlet 4: float: rotation amount around Z-axis (in deg)
-;
-#X text 53 279 Inlet 3: float: rotation amount around Y-axis (in deg)
-;
-#X connect 12 0 13 0;
-#X connect 13 0 12 0;
-#X connect 17 0 22 0;
-#X connect 21 0 22 1;
-#X connect 22 0 18 0;
-#X connect 23 0 22 2;
-#X connect 24 0 22 3;
+#N canvas 445 99 639 383 10;
+#X text 452 8 GEM object;
+#X obj 8 226 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 238 Inlets:;
+#X text 53 251 Inlet 1: gemlist;
+#X text 39 312 Outlets:;
+#X text 57 325 Outlet 1: gemlist;
+#X obj 8 176 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 175 Arguments:;
+#X obj 8 76 cnv 15 440 90 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X text 71 31 Class: manipulation object;
+#X obj 450 114 cnv 15 160 100 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X obj 451 233 square;
+#X text 29 77 Description: rotation;
+#X text 32 92 rotate accepts a gemList and changes the current transformation
+matrix by the specified rotation;
+#X floatatom 486 122 5 0 0 1 X[deg] - -;
+#X obj 451 186 rotateXYZ 45 0 0;
+#X floatatom 506 142 5 0 0 1 Y[deg] - -;
+#X floatatom 530 162 5 0 0 1 Z[deg] - -;
+#X text 50 12 Synopsis: [rotateXYZ];
+#X text 29 126 the rotation around the X- \, Y- and Z-axis (in this
+order) can be specified separately by arguments and changed via inlets.
+;
+#X text 15 191 1st-3rd argument: rotation (in deg) around X- \, Y-
+and Z-axis;
+#X text 53 266 Inlet 2: float: rotation amount around X-axis (in deg)
+;
+#X text 53 292 Inlet 4: float: rotation amount around Z-axis (in deg)
+;
+#X text 53 279 Inlet 3: float: rotation amount around Y-axis (in deg)
+;
+#X connect 12 0 13 0;
+#X connect 13 0 12 0;
+#X connect 17 0 22 0;
+#X connect 21 0 22 1;
+#X connect 22 0 18 0;
+#X connect 23 0 22 2;
+#X connect 24 0 22 3;
diff --git a/packages/noncvs/windows/extra/Gem/rubber-help.pd b/packages/noncvs/windows/extra/Gem/rubber-help.pd
index a8d02c9d..d5bff108 100644
--- a/packages/noncvs/windows/extra/Gem/rubber-help.pd
+++ b/packages/noncvs/windows/extra/Gem/rubber-help.pd
@@ -1,93 +1,93 @@
-#N canvas 0 0 710 387 10;
-#X text 54 30 Class: geometric object;
-#X obj 479 47 cnv 15 170 300 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X obj 544 284 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 198 112 destroy;
-#X msg 132 112 create \, 1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 549 323 pd gemwin;
-#X msg 549 304 create;
-#X text 545 283 Create window:;
-#X text 485 29 Example:;
-#X obj 7 65 cnv 15 450 102 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 8 226 cnv 15 450 145 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 9 231 Inlets:;
-#X obj 8 171 cnv 15 450 50 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 170 Arguments:;
-#X text 27 257 Inlet 1: message: draw [line|fill|point];
-#X text 452 8 GEM object;
-#X text 27 243 Inlet 1: gemlist;
-#X text 9 340 Outlets:;
-#X text 20 353 Outlet 1: gemlist;
-#X obj 484 141 cnv 15 160 140 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 488 48 gemhead;
-#X floatatom 530 67 5 -10 10 0 - - -;
-#X msg 494 144 draw line;
-#X msg 494 164 draw fill;
-#X msg 494 184 draw point;
-#X obj 581 156 bng 15 250 50 0 empty empty grab 20 7 0 8 -262144 -1
--1;
-#X obj 581 122 select 1;
-#X floatatom 573 217 5 0 0 1 ctrX - -;
-#X floatatom 573 234 5 0 0 1 ctrY - -;
-#X floatatom 582 175 5 0 0 1 size - -;
-#X floatatom 582 192 5 0 0 1 height - -;
-#X text 33 14 Synopsis: [rubber];
-#X text 7 69 Description: Renders and distorts a square.;
-#X text 27 313 Inlet 4: float: posX (centered);
-#X text 27 325 Inlet 5: float: posY (centered);
-#X text 16 86 When banged \, rubber will grab the vertex of the square
-specified by ctrX and ctrY and expose it at the specified height. You
-can then move the grabbed vertex and the adjacent vertices will follow
-inertly. When you bang the rubber object again \, the grabbed vertex
-will fall back to its original position;
-#X text 65 197 default: 32 32;
-#X text 63 183 segments of the square;
-#X text 480 362 and move the mouse;
-#X obj 542 103 gemmouse 1 1;
-#X obj 488 259 rubber 8 8;
-#X text 27 270 Inlet 1: bang: grab/release;
-#X text 27 285 Inlet 2: float: size;
-#X text 27 298 Inlet 3: float: height;
-#X obj 488 84 accumrotate 135 0 0;
-#X obj 488 67 t a b;
-#X connect 3 0 4 0;
-#X connect 4 0 3 0;
-#X connect 18 0 43 0;
-#X connect 19 0 42 1;
-#X connect 20 0 38 0;
-#X connect 21 0 38 0;
-#X connect 22 0 38 0;
-#X connect 23 0 38 0;
-#X connect 24 0 23 0;
-#X connect 25 0 38 3;
-#X connect 26 0 38 4;
-#X connect 27 0 38 1;
-#X connect 28 0 38 2;
-#X connect 37 0 25 0;
-#X connect 37 1 26 0;
-#X connect 37 2 24 0;
-#X connect 42 0 38 0;
-#X connect 43 0 42 0;
-#X connect 43 1 19 0;
+#N canvas 0 0 710 387 10;
+#X text 54 30 Class: geometric object;
+#X obj 479 47 cnv 15 170 300 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X obj 544 284 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 198 112 destroy;
+#X msg 132 112 create \, 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 549 323 pd gemwin;
+#X msg 549 304 create;
+#X text 545 283 Create window:;
+#X text 485 29 Example:;
+#X obj 7 65 cnv 15 450 102 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 8 226 cnv 15 450 145 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 9 231 Inlets:;
+#X obj 8 171 cnv 15 450 50 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 170 Arguments:;
+#X text 27 257 Inlet 1: message: draw [line|fill|point];
+#X text 452 8 GEM object;
+#X text 27 243 Inlet 1: gemlist;
+#X text 9 340 Outlets:;
+#X text 20 353 Outlet 1: gemlist;
+#X obj 484 141 cnv 15 160 140 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 488 48 gemhead;
+#X floatatom 530 67 5 -10 10 0 - - -;
+#X msg 494 144 draw line;
+#X msg 494 164 draw fill;
+#X msg 494 184 draw point;
+#X obj 581 156 bng 15 250 50 0 empty empty grab 20 7 0 8 -262144 -1
+-1;
+#X obj 581 122 select 1;
+#X floatatom 573 217 5 0 0 1 ctrX - -;
+#X floatatom 573 234 5 0 0 1 ctrY - -;
+#X floatatom 582 175 5 0 0 1 size - -;
+#X floatatom 582 192 5 0 0 1 height - -;
+#X text 33 14 Synopsis: [rubber];
+#X text 7 69 Description: Renders and distorts a square.;
+#X text 27 313 Inlet 4: float: posX (centered);
+#X text 27 325 Inlet 5: float: posY (centered);
+#X text 16 86 When banged \, rubber will grab the vertex of the square
+specified by ctrX and ctrY and expose it at the specified height. You
+can then move the grabbed vertex and the adjacent vertices will follow
+inertly. When you bang the rubber object again \, the grabbed vertex
+will fall back to its original position;
+#X text 65 197 default: 32 32;
+#X text 63 183 segments of the square;
+#X text 480 362 and move the mouse;
+#X obj 542 103 gemmouse 1 1;
+#X obj 488 259 rubber 8 8;
+#X text 27 270 Inlet 1: bang: grab/release;
+#X text 27 285 Inlet 2: float: size;
+#X text 27 298 Inlet 3: float: height;
+#X obj 488 84 accumrotate 135 0 0;
+#X obj 488 67 t a b;
+#X connect 3 0 4 0;
+#X connect 4 0 3 0;
+#X connect 18 0 43 0;
+#X connect 19 0 42 1;
+#X connect 20 0 38 0;
+#X connect 21 0 38 0;
+#X connect 22 0 38 0;
+#X connect 23 0 38 0;
+#X connect 24 0 23 0;
+#X connect 25 0 38 3;
+#X connect 26 0 38 4;
+#X connect 27 0 38 1;
+#X connect 28 0 38 2;
+#X connect 37 0 25 0;
+#X connect 37 1 26 0;
+#X connect 37 2 24 0;
+#X connect 42 0 38 0;
+#X connect 43 0 42 0;
+#X connect 43 1 19 0;
diff --git a/packages/noncvs/windows/extra/Gem/scale-help.pd b/packages/noncvs/windows/extra/Gem/scale-help.pd
index 6404e7fe..b6995ee0 100644
--- a/packages/noncvs/windows/extra/Gem/scale-help.pd
+++ b/packages/noncvs/windows/extra/Gem/scale-help.pd
@@ -1,76 +1,76 @@
-#N canvas 207 28 639 433 10;
-#X text 452 8 GEM object;
-#X obj 8 306 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 318 Inlets:;
-#X text 63 331 Inlet 1: gemlist;
-#X text 39 382 Outlets:;
-#X text 57 395 Outlet 1: gemlist;
-#X obj 8 256 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 255 Arguments:;
-#X obj 8 76 cnv 15 440 170 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X text 71 31 Class: manipulation object;
-#X obj 450 126 cnv 15 160 90 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X text 50 12 Synopsis: [scale];
-#X text 29 77 Description: scale;
-#X text 39 97 scale accepts a gemList and changes the current transformation
-matrix by the specified scale;
-#X text 39 129 The xyz vector determine the vector for scaling;
-#X text 24 159 With 1 argument \, the entire object is scaled by this
-amount;
-#X text 22 177 With 3 arguments \, the object is scaled in each dimension
-by the vector;
-#X text 22 206 With 4 arguments \, the object is scaled by the amount
-by the vector.;
-#X floatatom 480 130 5 0 0 1 amount - -;
-#X msg 524 174 1 1 1;
-#X msg 509 150 3 2 1;
-#X obj 451 263 cube;
-#X obj 451 105 rotateXYZ 45 45 45;
-#X obj 459 219 loadbang;
-#X msg 459 236 draw line;
-#X text 63 266 1st argument: initial scale amount;
-#X text 63 279 2nd-4th argument: (X Y Z) scaling vector;
-#X text 63 364 Inlet 3: list: scaling vector (X Y Z);
-#X text 63 347 Inlet 2: float: scaling amount along the vector;
-#X obj 451 196 scale 0.5;
-#X connect 12 0 13 0;
-#X connect 13 0 12 0;
-#X connect 17 0 29 0;
-#X connect 25 0 36 1;
-#X connect 26 0 36 2;
-#X connect 27 0 36 2;
-#X connect 29 0 36 0;
-#X connect 30 0 31 0;
-#X connect 31 0 28 0;
-#X connect 36 0 28 0;
+#N canvas 207 28 639 433 10;
+#X text 452 8 GEM object;
+#X obj 8 306 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 318 Inlets:;
+#X text 63 331 Inlet 1: gemlist;
+#X text 39 382 Outlets:;
+#X text 57 395 Outlet 1: gemlist;
+#X obj 8 256 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 255 Arguments:;
+#X obj 8 76 cnv 15 440 170 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X text 71 31 Class: manipulation object;
+#X obj 450 126 cnv 15 160 90 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X text 50 12 Synopsis: [scale];
+#X text 29 77 Description: scale;
+#X text 39 97 scale accepts a gemList and changes the current transformation
+matrix by the specified scale;
+#X text 39 129 The xyz vector determine the vector for scaling;
+#X text 24 159 With 1 argument \, the entire object is scaled by this
+amount;
+#X text 22 177 With 3 arguments \, the object is scaled in each dimension
+by the vector;
+#X text 22 206 With 4 arguments \, the object is scaled by the amount
+by the vector.;
+#X floatatom 480 130 5 0 0 1 amount - -;
+#X msg 524 174 1 1 1;
+#X msg 509 150 3 2 1;
+#X obj 451 263 cube;
+#X obj 451 105 rotateXYZ 45 45 45;
+#X obj 459 219 loadbang;
+#X msg 459 236 draw line;
+#X text 63 266 1st argument: initial scale amount;
+#X text 63 279 2nd-4th argument: (X Y Z) scaling vector;
+#X text 63 364 Inlet 3: list: scaling vector (X Y Z);
+#X text 63 347 Inlet 2: float: scaling amount along the vector;
+#X obj 451 196 scale 0.5;
+#X connect 12 0 13 0;
+#X connect 13 0 12 0;
+#X connect 17 0 29 0;
+#X connect 25 0 36 1;
+#X connect 26 0 36 2;
+#X connect 27 0 36 2;
+#X connect 29 0 36 0;
+#X connect 30 0 31 0;
+#X connect 31 0 28 0;
+#X connect 36 0 28 0;
diff --git a/packages/noncvs/windows/extra/Gem/scaleXYZ-help.pd b/packages/noncvs/windows/extra/Gem/scaleXYZ-help.pd
index be7fe0f0..245e860d 100644
--- a/packages/noncvs/windows/extra/Gem/scaleXYZ-help.pd
+++ b/packages/noncvs/windows/extra/Gem/scaleXYZ-help.pd
@@ -1,69 +1,69 @@
-#N canvas 207 28 639 433 10;
-#X text 452 8 GEM object;
-#X obj 8 226 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 229 Inlets:;
-#X text 63 242 Inlet 1: gemlist;
-#X text 39 313 Outlets:;
-#X text 57 326 Outlet 1: gemlist;
-#X obj 8 164 cnv 15 430 50 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 163 Arguments:;
-#X obj 8 76 cnv 15 440 70 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 262 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 301 pd gemwin;
-#X msg 519 282 create;
-#X text 515 261 Create window:;
-#X text 71 31 Class: manipulation object;
-#X obj 450 106 cnv 15 160 90 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X floatatom 491 110 5 0 0 1 X-scale - -;
-#X obj 451 263 cube;
-#X obj 459 222 loadbang;
-#X msg 459 239 draw line;
-#X text 50 12 Synopsis: [scaleXYZ];
-#X text 29 77 Description: scale along the X- \, Y- and Z-axis;
-#X obj 451 176 scaleXYZ 1 0.5 0.7;
-#X floatatom 506 131 5 0 0 1 Y-scale - -;
-#X floatatom 527 150 5 0 0 1 Z-scale - -;
-#X text 54 183 <X> <Y> <Z> : scaling factors along the axes.;
-#X text 63 258 Inlet 2: float: scaling amount along the X-axis;
-#X text 63 290 Inlet 4: float: scaling amount along the Z-axis;
-#X text 63 274 Inlet 3: float: scaling amount along the Y-axis;
-#X obj 451 200 rotate 45 1 1 1;
-#X text 39 97 [scaleXYZ] accepts a gemList and changes the current
-transformation matrix by the specified scale;
-#X connect 12 0 13 0;
-#X connect 13 0 12 0;
-#X connect 17 0 24 0;
-#X connect 18 0 24 1;
-#X connect 20 0 21 0;
-#X connect 21 0 19 0;
-#X connect 24 0 31 0;
-#X connect 25 0 24 2;
-#X connect 26 0 24 3;
-#X connect 31 0 19 0;
+#N canvas 207 28 639 433 10;
+#X text 452 8 GEM object;
+#X obj 8 226 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 229 Inlets:;
+#X text 63 242 Inlet 1: gemlist;
+#X text 39 313 Outlets:;
+#X text 57 326 Outlet 1: gemlist;
+#X obj 8 164 cnv 15 430 50 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 163 Arguments:;
+#X obj 8 76 cnv 15 440 70 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 262 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 301 pd gemwin;
+#X msg 519 282 create;
+#X text 515 261 Create window:;
+#X text 71 31 Class: manipulation object;
+#X obj 450 106 cnv 15 160 90 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X floatatom 491 110 5 0 0 1 X-scale - -;
+#X obj 451 263 cube;
+#X obj 459 222 loadbang;
+#X msg 459 239 draw line;
+#X text 50 12 Synopsis: [scaleXYZ];
+#X text 29 77 Description: scale along the X- \, Y- and Z-axis;
+#X obj 451 176 scaleXYZ 1 0.5 0.7;
+#X floatatom 506 131 5 0 0 1 Y-scale - -;
+#X floatatom 527 150 5 0 0 1 Z-scale - -;
+#X text 54 183 <X> <Y> <Z> : scaling factors along the axes.;
+#X text 63 258 Inlet 2: float: scaling amount along the X-axis;
+#X text 63 290 Inlet 4: float: scaling amount along the Z-axis;
+#X text 63 274 Inlet 3: float: scaling amount along the Y-axis;
+#X obj 451 200 rotate 45 1 1 1;
+#X text 39 97 [scaleXYZ] accepts a gemList and changes the current
+transformation matrix by the specified scale;
+#X connect 12 0 13 0;
+#X connect 13 0 12 0;
+#X connect 17 0 24 0;
+#X connect 18 0 24 1;
+#X connect 20 0 21 0;
+#X connect 21 0 19 0;
+#X connect 24 0 31 0;
+#X connect 25 0 24 2;
+#X connect 26 0 24 3;
+#X connect 31 0 19 0;
diff --git a/packages/noncvs/windows/extra/Gem/scopeXYZ~-help.pd b/packages/noncvs/windows/extra/Gem/scopeXYZ~-help.pd
index 94926a60..eb53f8d5 100644
--- a/packages/noncvs/windows/extra/Gem/scopeXYZ~-help.pd
+++ b/packages/noncvs/windows/extra/Gem/scopeXYZ~-help.pd
@@ -1,125 +1,125 @@
-#N canvas 30 348 762 461 10;
-#X text 475 39 Example:;
-#X obj 7 65 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 8 219 cnv 15 450 210 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 9 221 Inlets:;
-#X obj 8 172 cnv 15 450 40 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 171 Arguments:;
-#X text 452 8 GEM object;
-#X text 27 233 Inlet 1: gemlist;
-#X text 9 398 Outlets:;
-#X text 21 411 Outlet 1: gemlist;
-#X obj 469 58 cnv 15 200 295 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X obj 470 359 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy \, reset;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 475 398 pd gemwin;
-#X msg 475 379 create;
-#X text 471 358 Create window:;
-#X obj 474 112 cnv 15 190 200 empty empty empty 20 12 0 14 -85973 -66577
-0;
-#X obj 521 319 cnv 15 110 30 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X text 27 293 Inlet 1: message: width <int> : line-width(1);
-#X obj 596 233 cnv 15 65 75 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X msg 479 143 draw line;
-#X msg 479 183 draw fill;
-#X msg 479 120 draw point;
-#X obj 527 64 gemhead;
-#X msg 479 163 draw linestrip;
-#X msg 479 203 draw tri;
-#X msg 479 225 draw tristrip;
-#X msg 478 248 draw trifan;
-#X msg 478 269 draw quad;
-#X msg 478 291 draw quadstrip;
-#X obj 527 88 rotateXYZ;
-#X floatatom 585 65 5 0 0 0 - - -;
-#X floatatom 599 167 5 0 10 0 - - -;
-#X msg 599 183 width \$1;
-#X floatatom 600 124 5 0 100 0 - - -;
-#X obj 579 359 cnv 15 90 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 27 247 Inlet 1: message: draw [default|line|linestrip|fill|point|tri|tristrip|trifan|quad|quadstrip]
-;
-#N canvas 0 0 450 300 dsp 0;
-#X obj 74 87 r \$0-dsp;
-#X obj 74 108 route set;
-#X msg 132 131 \; pd dsp \$1;
-#X obj 280 98 r pd;
-#X obj 280 119 route dsp;
-#X obj 280 170 s \$0-dsp;
-#X msg 280 148 set \$1;
-#X connect 0 0 1 0;
-#X connect 1 1 2 0;
-#X connect 3 0 4 0;
-#X connect 4 0 6 0;
-#X connect 6 0 5 0;
-#X restore 587 396 pd dsp;
-#X obj 590 362 tgl 30 0 \$0-dsp \$0-dsp dsp 35 15 2 12 -262144 -1 -1
-0 1;
-#X obj 527 326 scopeXYZ~ 1024;
-#X floatatom 599 216 5 0 0 0 - - -;
-#X obj 599 283 osc~ 882;
-#X obj 599 262 osc~ 221;
-#X obj 599 239 osc~ 40;
-#X msg 600 141 length \$1;
-#X text 33 14 Synopsis: [scopeXYZ~];
-#X text 54 30 Class: geometric object \, DSP-object;
-#X text 7 69 Description: 3D oscilloscope;
-#X text 22 87 [scopeXYZ~] is a 3-dimensional oscilloscope. It reads
-3 input signals and applies the values as excursions along the respective
-axis. The initial argument is the number of signal-points that are
-be stored.;
-#X text 27 306 Inlet 1: message: length <int> : number of signal points
-to be stored;
-#X text 63 183 number of signal points that are stored (defaults to
-blocksize);
-#X text 23 144 You can use it for Lissajou-patterns;
-#X text 28 343 Inlet 2: signal: X-values of the oscillograph;
-#X text 28 356 Inlet 3: signal: Y-values of the oscillograph;
-#X text 28 371 Inlet 4: signal: Z-values of the oscillograph;
-#X connect 12 0 13 0;
-#X connect 13 0 12 0;
-#X connect 19 0 38 0;
-#X connect 20 0 38 0;
-#X connect 21 0 38 0;
-#X connect 22 0 29 0;
-#X connect 23 0 38 0;
-#X connect 24 0 38 0;
-#X connect 25 0 38 0;
-#X connect 26 0 38 0;
-#X connect 27 0 38 0;
-#X connect 28 0 38 0;
-#X connect 29 0 38 0;
-#X connect 30 0 29 1;
-#X connect 30 0 29 3;
-#X connect 31 0 32 0;
-#X connect 32 0 38 0;
-#X connect 33 0 43 0;
-#X connect 39 0 42 0;
-#X connect 40 0 38 3;
-#X connect 41 0 38 2;
-#X connect 42 0 38 1;
-#X connect 43 0 38 0;
+#N canvas 30 348 762 461 10;
+#X text 475 39 Example:;
+#X obj 7 65 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 8 219 cnv 15 450 210 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 9 221 Inlets:;
+#X obj 8 172 cnv 15 450 40 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 171 Arguments:;
+#X text 452 8 GEM object;
+#X text 27 233 Inlet 1: gemlist;
+#X text 9 398 Outlets:;
+#X text 21 411 Outlet 1: gemlist;
+#X obj 469 58 cnv 15 200 295 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X obj 470 359 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy \, reset;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 475 398 pd gemwin;
+#X msg 475 379 create;
+#X text 471 358 Create window:;
+#X obj 474 112 cnv 15 190 200 empty empty empty 20 12 0 14 -85973 -66577
+0;
+#X obj 521 319 cnv 15 110 30 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X text 27 293 Inlet 1: message: width <int> : line-width(1);
+#X obj 596 233 cnv 15 65 75 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X msg 479 143 draw line;
+#X msg 479 183 draw fill;
+#X msg 479 120 draw point;
+#X obj 527 64 gemhead;
+#X msg 479 163 draw linestrip;
+#X msg 479 203 draw tri;
+#X msg 479 225 draw tristrip;
+#X msg 478 248 draw trifan;
+#X msg 478 269 draw quad;
+#X msg 478 291 draw quadstrip;
+#X obj 527 88 rotateXYZ;
+#X floatatom 585 65 5 0 0 0 - - -;
+#X floatatom 599 167 5 0 10 0 - - -;
+#X msg 599 183 width \$1;
+#X floatatom 600 124 5 0 100 0 - - -;
+#X obj 579 359 cnv 15 90 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 27 247 Inlet 1: message: draw [default|line|linestrip|fill|point|tri|tristrip|trifan|quad|quadstrip]
+;
+#N canvas 0 0 450 300 dsp 0;
+#X obj 74 87 r \$0-dsp;
+#X obj 74 108 route set;
+#X msg 132 131 \; pd dsp \$1;
+#X obj 280 98 r pd;
+#X obj 280 119 route dsp;
+#X obj 280 170 s \$0-dsp;
+#X msg 280 148 set \$1;
+#X connect 0 0 1 0;
+#X connect 1 1 2 0;
+#X connect 3 0 4 0;
+#X connect 4 0 6 0;
+#X connect 6 0 5 0;
+#X restore 587 396 pd dsp;
+#X obj 590 362 tgl 30 0 \$0-dsp \$0-dsp dsp 35 15 2 12 -262144 -1 -1
+0 1;
+#X obj 527 326 scopeXYZ~ 1024;
+#X floatatom 599 216 5 0 0 0 - - -;
+#X obj 599 283 osc~ 882;
+#X obj 599 262 osc~ 221;
+#X obj 599 239 osc~ 40;
+#X msg 600 141 length \$1;
+#X text 33 14 Synopsis: [scopeXYZ~];
+#X text 54 30 Class: geometric object \, DSP-object;
+#X text 7 69 Description: 3D oscilloscope;
+#X text 22 87 [scopeXYZ~] is a 3-dimensional oscilloscope. It reads
+3 input signals and applies the values as excursions along the respective
+axis. The initial argument is the number of signal-points that are
+be stored.;
+#X text 27 306 Inlet 1: message: length <int> : number of signal points
+to be stored;
+#X text 63 183 number of signal points that are stored (defaults to
+blocksize);
+#X text 23 144 You can use it for Lissajou-patterns;
+#X text 28 343 Inlet 2: signal: X-values of the oscillograph;
+#X text 28 356 Inlet 3: signal: Y-values of the oscillograph;
+#X text 28 371 Inlet 4: signal: Z-values of the oscillograph;
+#X connect 12 0 13 0;
+#X connect 13 0 12 0;
+#X connect 19 0 38 0;
+#X connect 20 0 38 0;
+#X connect 21 0 38 0;
+#X connect 22 0 29 0;
+#X connect 23 0 38 0;
+#X connect 24 0 38 0;
+#X connect 25 0 38 0;
+#X connect 26 0 38 0;
+#X connect 27 0 38 0;
+#X connect 28 0 38 0;
+#X connect 29 0 38 0;
+#X connect 30 0 29 1;
+#X connect 30 0 29 3;
+#X connect 31 0 32 0;
+#X connect 32 0 38 0;
+#X connect 33 0 43 0;
+#X connect 39 0 42 0;
+#X connect 40 0 38 3;
+#X connect 41 0 38 2;
+#X connect 42 0 38 1;
+#X connect 43 0 38 0;
diff --git a/packages/noncvs/windows/extra/Gem/separator-help.pd b/packages/noncvs/windows/extra/Gem/separator-help.pd
index 83e492cd..36e9d98a 100644
--- a/packages/noncvs/windows/extra/Gem/separator-help.pd
+++ b/packages/noncvs/windows/extra/Gem/separator-help.pd
@@ -1,131 +1,131 @@
-#N canvas 3 44 880 555 10;
-#X text 452 8 GEM object;
-#X text 71 31 Class: manipulation object;
-#X text 50 12 Synopsis: [separator];
-#X obj 8 337 cnv 15 430 60 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 339 Inlets:;
-#X text 63 352 Inlet 1: gemlist;
-#X text 39 368 Outlets:;
-#X text 57 381 Outlet 1: gemlist;
-#X obj 8 204 cnv 15 430 120 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 206 Arguments:;
-#X obj 8 76 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 29 77 Description: separate render chains;
-#X text 72 236 "modelview" = "model" = "m";
-#X text 72 249 "color" = "c";
-#X text 72 262 "texture" = "t";
-#X text 72 276 "projection" = "p";
-#X text 63 217 list of matrices to work on;
-#X text 63 298 default: "m c t p" (all matrices);
-#X text 42 135 for the openGL-savvy: [separator] pushes (saves) the
-modelview \, color \, texture and projection matrices to the stack
-(unless the stack is full). Once rendering below [separator] is done
-\, the matrices are popped \, thus restoring the state before [separator]
-was called.;
-#X text 42 95 [separator] isolates parallel render-chains with regard
-to transformation effects (translation \, rotation \, ...) \, so you
-don't get side-effects;
-#X obj 8 411 cnv 15 430 130 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X obj 162 448 pix_separator;
-#X text 53 420 NOTE: [separator] has no effect on pixel-operations.
-to isolate [pix_*]-chains from each other \, use:;
-#X text 55 476 NOTE: the color will not be affected by [separator].
-if you change the [color] in the subchain rendered first \, the same
-color will automatically be applied to subchains rendered later. the
-only way to work around this \, is to reset the color in the other
-subchains.;
-#X obj 602 440 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 198 112 destroy;
-#X msg 132 112 create \, 1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 607 479 pd gemwin;
-#X msg 607 460 create;
-#X text 603 439 Create window:;
-#X obj 439 229 cnv 15 210 40 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 658 229 cnv 15 210 40 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 446 241 separator;
-#X obj 446 188 translateXYZ 2 0 0;
-#X obj 520 242 separator;
-#X obj 446 148 gemhead;
-#X obj 446 168 color 1 0 0;
-#X obj 446 119 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
-1;
-#X obj 661 122 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X obj 446 55 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
-;
-#X obj 446 73 t f f;
-#X obj 661 96 == 0;
-#X floatatom 581 197 5 0 0 0 - - -;
-#X obj 446 33 loadbang;
-#X text 472 56 toggle between separated/unseparated rendering;
-#X text 694 117 blue;
-#X text 482 119 red;
-#X obj 661 188 translateXYZ 2 0 0;
-#X obj 661 148 gemhead;
-#X obj 661 168 color 0 0 1;
-#X obj 446 208 t a a;
-#X obj 661 208 t a a;
-#X text 465 326 If you did not use a [separator] in the example \,
-then one of the chains would have an extra rotation (depending on which
-subchain is rendered first).;
-#X obj 747 273 rotateXYZ 0 45 0;
-#X obj 747 293 square;
-#X obj 520 273 rotateXYZ 0 45 0;
-#X obj 661 293 cube 0.5;
-#X obj 661 273 color 1 1 0;
-#X obj 446 271 color 0 1 1;
-#X obj 520 293 circle;
-#X obj 446 293 cone;
-#X text 464 364 With the [separator] \, both objects will by translated
-\, but the rotation in one branch will not effect the other branch.
-;
-#X connect 25 0 26 0;
-#X connect 26 0 25 0;
-#X connect 30 0 56 0;
-#X connect 31 0 48 0;
-#X connect 32 0 53 0;
-#X connect 33 0 34 0;
-#X connect 34 0 31 0;
-#X connect 35 0 33 0;
-#X connect 36 0 46 0;
-#X connect 37 0 38 0;
-#X connect 38 0 35 0;
-#X connect 38 1 39 0;
-#X connect 39 0 36 0;
-#X connect 40 0 51 1;
-#X connect 40 0 53 1;
-#X connect 41 0 37 0;
-#X connect 45 0 49 0;
-#X connect 46 0 47 0;
-#X connect 47 0 45 0;
-#X connect 48 0 30 0;
-#X connect 48 1 32 0;
-#X connect 49 0 55 0;
-#X connect 49 1 51 0;
-#X connect 51 0 52 0;
-#X connect 53 0 57 0;
-#X connect 55 0 54 0;
-#X connect 56 0 58 0;
+#N canvas 3 44 880 555 10;
+#X text 452 8 GEM object;
+#X text 71 31 Class: manipulation object;
+#X text 50 12 Synopsis: [separator];
+#X obj 8 337 cnv 15 430 60 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 339 Inlets:;
+#X text 63 352 Inlet 1: gemlist;
+#X text 39 368 Outlets:;
+#X text 57 381 Outlet 1: gemlist;
+#X obj 8 204 cnv 15 430 120 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 206 Arguments:;
+#X obj 8 76 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 29 77 Description: separate render chains;
+#X text 72 236 "modelview" = "model" = "m";
+#X text 72 249 "color" = "c";
+#X text 72 262 "texture" = "t";
+#X text 72 276 "projection" = "p";
+#X text 63 217 list of matrices to work on;
+#X text 63 298 default: "m c t p" (all matrices);
+#X text 42 135 for the openGL-savvy: [separator] pushes (saves) the
+modelview \, color \, texture and projection matrices to the stack
+(unless the stack is full). Once rendering below [separator] is done
+\, the matrices are popped \, thus restoring the state before [separator]
+was called.;
+#X text 42 95 [separator] isolates parallel render-chains with regard
+to transformation effects (translation \, rotation \, ...) \, so you
+don't get side-effects;
+#X obj 8 411 cnv 15 430 130 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X obj 162 448 pix_separator;
+#X text 53 420 NOTE: [separator] has no effect on pixel-operations.
+to isolate [pix_*]-chains from each other \, use:;
+#X text 55 476 NOTE: the color will not be affected by [separator].
+if you change the [color] in the subchain rendered first \, the same
+color will automatically be applied to subchains rendered later. the
+only way to work around this \, is to reset the color in the other
+subchains.;
+#X obj 602 440 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 198 112 destroy;
+#X msg 132 112 create \, 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 607 479 pd gemwin;
+#X msg 607 460 create;
+#X text 603 439 Create window:;
+#X obj 439 229 cnv 15 210 40 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 658 229 cnv 15 210 40 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 446 241 separator;
+#X obj 446 188 translateXYZ 2 0 0;
+#X obj 520 242 separator;
+#X obj 446 148 gemhead;
+#X obj 446 168 color 1 0 0;
+#X obj 446 119 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
+1;
+#X obj 661 122 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 446 55 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
+;
+#X obj 446 73 t f f;
+#X obj 661 96 == 0;
+#X floatatom 581 197 5 0 0 0 - - -;
+#X obj 446 33 loadbang;
+#X text 472 56 toggle between separated/unseparated rendering;
+#X text 694 117 blue;
+#X text 482 119 red;
+#X obj 661 188 translateXYZ 2 0 0;
+#X obj 661 148 gemhead;
+#X obj 661 168 color 0 0 1;
+#X obj 446 208 t a a;
+#X obj 661 208 t a a;
+#X text 465 326 If you did not use a [separator] in the example \,
+then one of the chains would have an extra rotation (depending on which
+subchain is rendered first).;
+#X obj 747 273 rotateXYZ 0 45 0;
+#X obj 747 293 square;
+#X obj 520 273 rotateXYZ 0 45 0;
+#X obj 661 293 cube 0.5;
+#X obj 661 273 color 1 1 0;
+#X obj 446 271 color 0 1 1;
+#X obj 520 293 circle;
+#X obj 446 293 cone;
+#X text 464 364 With the [separator] \, both objects will by translated
+\, but the rotation in one branch will not effect the other branch.
+;
+#X connect 25 0 26 0;
+#X connect 26 0 25 0;
+#X connect 30 0 56 0;
+#X connect 31 0 48 0;
+#X connect 32 0 53 0;
+#X connect 33 0 34 0;
+#X connect 34 0 31 0;
+#X connect 35 0 33 0;
+#X connect 36 0 46 0;
+#X connect 37 0 38 0;
+#X connect 38 0 35 0;
+#X connect 38 1 39 0;
+#X connect 39 0 36 0;
+#X connect 40 0 51 1;
+#X connect 40 0 53 1;
+#X connect 41 0 37 0;
+#X connect 45 0 49 0;
+#X connect 46 0 47 0;
+#X connect 47 0 45 0;
+#X connect 48 0 30 0;
+#X connect 48 1 32 0;
+#X connect 49 0 55 0;
+#X connect 49 1 51 0;
+#X connect 51 0 52 0;
+#X connect 53 0 57 0;
+#X connect 55 0 54 0;
+#X connect 56 0 58 0;
diff --git a/packages/noncvs/windows/extra/Gem/shearYZ-help.pd b/packages/noncvs/windows/extra/Gem/shearYZ-help.pd
index 2a10b7c8..f5d197e3 100644
--- a/packages/noncvs/windows/extra/Gem/shearYZ-help.pd
+++ b/packages/noncvs/windows/extra/Gem/shearYZ-help.pd
@@ -1,61 +1,61 @@
-#N canvas 357 249 667 351 10;
-#X text 452 8 GEM object;
-#X obj 8 226 cnv 15 430 90 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 233 Inlets:;
-#X text 63 246 Inlet 1: gemlist;
-#X text 39 276 Outlets:;
-#X text 57 289 Outlet 1: gemlist;
-#X obj 8 176 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 175 Arguments:;
-#X obj 8 76 cnv 15 440 90 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 453 60 Example:;
-#X text 71 31 Class: manipulation object;
-#X text 29 77 Description: shear;
-#X text 50 12 Synopsis: [shearYZ];
-#X text 60 194 1st argument: shear factor (YZ);
-#X text 63 261 Inlet 2: float: YZ shear factor;
-#X text 41 91 [shearYZ] accepts a gemList and changes the current transformation
-matrix by the specified shear;
-#X obj 449 77 cnv 15 170 239 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X obj 514 249 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 288 pd gemwin;
-#X msg 519 269 create;
-#X text 515 248 Create window:;
-#X obj 450 148 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X floatatom 500 157 3 -4 4 0 - - -;
-#X obj 451 178 shearYZ 1;
-#X text 36 122 the Y translation depend on Z position and the shear
-factor (float).;
-#X obj 451 217 cube;
-#X obj 451 120 rotateXYZ 0 45 0;
-#X connect 18 0 19 0;
-#X connect 19 0 18 0;
-#X connect 22 0 27 0;
-#X connect 23 0 24 1;
-#X connect 24 0 26 0;
-#X connect 27 0 24 0;
+#N canvas 357 249 667 351 10;
+#X text 452 8 GEM object;
+#X obj 8 226 cnv 15 430 90 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 233 Inlets:;
+#X text 63 246 Inlet 1: gemlist;
+#X text 39 276 Outlets:;
+#X text 57 289 Outlet 1: gemlist;
+#X obj 8 176 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 175 Arguments:;
+#X obj 8 76 cnv 15 440 90 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 453 60 Example:;
+#X text 71 31 Class: manipulation object;
+#X text 29 77 Description: shear;
+#X text 50 12 Synopsis: [shearYZ];
+#X text 60 194 1st argument: shear factor (YZ);
+#X text 63 261 Inlet 2: float: YZ shear factor;
+#X text 41 91 [shearYZ] accepts a gemList and changes the current transformation
+matrix by the specified shear;
+#X obj 449 77 cnv 15 170 239 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X obj 514 249 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 288 pd gemwin;
+#X msg 519 269 create;
+#X text 515 248 Create window:;
+#X obj 450 148 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X floatatom 500 157 3 -4 4 0 - - -;
+#X obj 451 178 shearYZ 1;
+#X text 36 122 the Y translation depend on Z position and the shear
+factor (float).;
+#X obj 451 217 cube;
+#X obj 451 120 rotateXYZ 0 45 0;
+#X connect 18 0 19 0;
+#X connect 19 0 18 0;
+#X connect 22 0 27 0;
+#X connect 23 0 24 1;
+#X connect 24 0 26 0;
+#X connect 27 0 24 0;
diff --git a/packages/noncvs/windows/extra/Gem/shearZX-help.pd b/packages/noncvs/windows/extra/Gem/shearZX-help.pd
index 5d93b89a..1cfac0fa 100644
--- a/packages/noncvs/windows/extra/Gem/shearZX-help.pd
+++ b/packages/noncvs/windows/extra/Gem/shearZX-help.pd
@@ -1,59 +1,59 @@
-#N canvas 356 249 657 340 10;
-#X text 452 8 GEM object;
-#X obj 8 226 cnv 15 430 90 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 233 Inlets:;
-#X text 63 246 Inlet 1: gemlist;
-#X text 39 276 Outlets:;
-#X text 57 289 Outlet 1: gemlist;
-#X obj 8 176 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 175 Arguments:;
-#X obj 8 76 cnv 15 440 90 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 453 60 Example:;
-#X text 71 31 Class: manipulation object;
-#X text 29 77 Description: shear;
-#X text 50 12 Synopsis: [shearZX];
-#X text 42 91 [shearZX] accepts a gemList and changes the current transformation
-matrix by the specified shear;
-#X text 60 194 1st argument: shear factor (ZX);
-#X text 63 261 Inlet 2: float: ZX shear factor;
-#X obj 449 77 cnv 15 170 239 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X obj 514 249 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 288 pd gemwin;
-#X msg 519 269 create;
-#X text 515 248 Create window:;
-#X obj 450 108 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X floatatom 500 117 3 -4 4 0 - - -;
-#X obj 451 138 shearZX 1;
-#X text 36 122 the Z translation depend on X position and the shear
-factor (float).;
-#X obj 451 179 teapot;
-#X connect 18 0 19 0;
-#X connect 19 0 18 0;
-#X connect 22 0 24 0;
-#X connect 23 0 24 1;
-#X connect 24 0 26 0;
+#N canvas 356 249 657 340 10;
+#X text 452 8 GEM object;
+#X obj 8 226 cnv 15 430 90 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 233 Inlets:;
+#X text 63 246 Inlet 1: gemlist;
+#X text 39 276 Outlets:;
+#X text 57 289 Outlet 1: gemlist;
+#X obj 8 176 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 175 Arguments:;
+#X obj 8 76 cnv 15 440 90 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 453 60 Example:;
+#X text 71 31 Class: manipulation object;
+#X text 29 77 Description: shear;
+#X text 50 12 Synopsis: [shearZX];
+#X text 42 91 [shearZX] accepts a gemList and changes the current transformation
+matrix by the specified shear;
+#X text 60 194 1st argument: shear factor (ZX);
+#X text 63 261 Inlet 2: float: ZX shear factor;
+#X obj 449 77 cnv 15 170 239 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X obj 514 249 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 288 pd gemwin;
+#X msg 519 269 create;
+#X text 515 248 Create window:;
+#X obj 450 108 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X floatatom 500 117 3 -4 4 0 - - -;
+#X obj 451 138 shearZX 1;
+#X text 36 122 the Z translation depend on X position and the shear
+factor (float).;
+#X obj 451 179 teapot;
+#X connect 18 0 19 0;
+#X connect 19 0 18 0;
+#X connect 22 0 24 0;
+#X connect 23 0 24 1;
+#X connect 24 0 26 0;
diff --git a/packages/noncvs/windows/extra/Gem/shininess-help.pd b/packages/noncvs/windows/extra/Gem/shininess-help.pd
index a8a9231b..8bfeda5e 100644
--- a/packages/noncvs/windows/extra/Gem/shininess-help.pd
+++ b/packages/noncvs/windows/extra/Gem/shininess-help.pd
@@ -1,68 +1,68 @@
-#N canvas 61 18 639 342 10;
-#X text 452 8 GEM object;
-#X obj 8 216 cnv 15 430 100 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 218 Inlets:;
-#X text 63 231 Inlet 1: gemlist;
-#X text 39 272 Outlets:;
-#X text 57 285 Outlet 1: gemlist;
-#X obj 8 166 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 165 Arguments:;
-#X obj 8 66 cnv 15 430 90 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 197 134 destroy;
-#X msg 132 112 reset \, lighting 1 \, create \, 1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X text 71 31 Class: manipulation object;
-#X obj 450 112 cnv 15 120 50 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X obj 500 192 gemhead;
-#X obj 500 230 world_light;
-#X obj 451 193 sphere;
-#X obj 500 211 rotate 90 1 0 0;
-#X obj 451 166 specular 1 0 0;
-#X floatatom 509 121 5 0 128 0 shiny - -;
-#X text 63 249 Inlet 2: int: shininess 0..128;
-#X text 62 176 the shininess value;
-#X text 13 69 Description: shininess of the material;
-#X text 50 12 Synopsis: [shininess];
-#X text 22 86 [shininess] accepts a gemList and sets the shininess-value
-for all subsequent vertex operations;
-#X text 20 114 [shininess] accepts a single shininess-value that ranges
-between 0 and 128 the shininess can be set via an initial argument.
-;
-#X obj 451 140 shininess;
-#X text 60 191 default: 0;
-#X connect 12 0 13 0;
-#X connect 13 0 12 0;
-#X connect 17 0 30 0;
-#X connect 18 0 21 0;
-#X connect 21 0 19 0;
-#X connect 22 0 20 0;
-#X connect 23 0 30 1;
-#X connect 30 0 22 0;
+#N canvas 61 18 639 342 10;
+#X text 452 8 GEM object;
+#X obj 8 216 cnv 15 430 100 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 218 Inlets:;
+#X text 63 231 Inlet 1: gemlist;
+#X text 39 272 Outlets:;
+#X text 57 285 Outlet 1: gemlist;
+#X obj 8 166 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 165 Arguments:;
+#X obj 8 66 cnv 15 430 90 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 197 134 destroy;
+#X msg 132 112 reset \, lighting 1 \, create \, 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X text 71 31 Class: manipulation object;
+#X obj 450 112 cnv 15 120 50 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X obj 500 192 gemhead;
+#X obj 500 230 world_light;
+#X obj 451 193 sphere;
+#X obj 500 211 rotate 90 1 0 0;
+#X obj 451 166 specular 1 0 0;
+#X floatatom 509 121 5 0 128 0 shiny - -;
+#X text 63 249 Inlet 2: int: shininess 0..128;
+#X text 62 176 the shininess value;
+#X text 13 69 Description: shininess of the material;
+#X text 50 12 Synopsis: [shininess];
+#X text 22 86 [shininess] accepts a gemList and sets the shininess-value
+for all subsequent vertex operations;
+#X text 20 114 [shininess] accepts a single shininess-value that ranges
+between 0 and 128 the shininess can be set via an initial argument.
+;
+#X obj 451 140 shininess;
+#X text 60 191 default: 0;
+#X connect 12 0 13 0;
+#X connect 13 0 12 0;
+#X connect 17 0 30 0;
+#X connect 18 0 21 0;
+#X connect 21 0 19 0;
+#X connect 22 0 20 0;
+#X connect 23 0 30 1;
+#X connect 30 0 22 0;
diff --git a/packages/noncvs/windows/extra/Gem/slideSquares-help.pd b/packages/noncvs/windows/extra/Gem/slideSquares-help.pd
index f3797f19..e4008c19 100644
--- a/packages/noncvs/windows/extra/Gem/slideSquares-help.pd
+++ b/packages/noncvs/windows/extra/Gem/slideSquares-help.pd
@@ -1,64 +1,64 @@
-#N canvas 289 160 710 363 10;
-#X text 54 30 Class: geometric object;
-#X obj 519 47 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X obj 584 224 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 198 112 destroy;
-#X msg 132 112 create \, 1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 589 263 pd gemwin;
-#X msg 589 244 create;
-#X text 585 223 Create window:;
-#X text 525 29 Example:;
-#X obj 7 65 cnv 15 450 80 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 8 216 cnv 15 450 130 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 9 221 Inlets:;
-#X obj 8 156 cnv 15 450 50 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 155 Arguments:;
-#X text 27 247 Inlet 1: message: draw [line|fill|point];
-#X text 452 8 GEM object;
-#X text 27 233 Inlet 1: gemlist;
-#X text 9 310 Outlets:;
-#X text 21 323 Outlet 1: gemlist;
-#X obj 522 82 cnv 15 160 120 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 533 54 gemhead;
-#X floatatom 586 104 5 0 0 0 - - -;
-#X floatatom 640 135 5 0 0 0 - - -;
-#X text 640 119 height;
-#X text 27 275 Inlet 3: float: height (dimY);
-#X text 586 88 width;
-#X text 33 14 Synopsis: [slideSquares];
-#X text 7 69 Description: Renders sliding rectangles.;
-#X text 16 86 The slideSquares object renders a number of sliding rectangles
-at the current position with current color. The dimensions of the sliding
-rectangles can be changed via the inlet2 and inlet3.;
-#X text 63 167 dimensions of the sliding rectangles (width height)
-;
-#X text 65 181 default: 1 1;
-#X text 27 260 Inlet 2: float: width (dimX);
-#X obj 533 179 slideSquares 1 1;
-#X connect 3 0 4 0;
-#X connect 4 0 3 0;
-#X connect 18 0 30 0;
-#X connect 19 0 30 1;
-#X connect 20 0 30 2;
+#N canvas 289 160 710 363 10;
+#X text 54 30 Class: geometric object;
+#X obj 519 47 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X obj 584 224 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 198 112 destroy;
+#X msg 132 112 create \, 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 589 263 pd gemwin;
+#X msg 589 244 create;
+#X text 585 223 Create window:;
+#X text 525 29 Example:;
+#X obj 7 65 cnv 15 450 80 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 8 216 cnv 15 450 130 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 9 221 Inlets:;
+#X obj 8 156 cnv 15 450 50 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 155 Arguments:;
+#X text 27 247 Inlet 1: message: draw [line|fill|point];
+#X text 452 8 GEM object;
+#X text 27 233 Inlet 1: gemlist;
+#X text 9 310 Outlets:;
+#X text 21 323 Outlet 1: gemlist;
+#X obj 522 82 cnv 15 160 120 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 533 54 gemhead;
+#X floatatom 586 104 5 0 0 0 - - -;
+#X floatatom 640 135 5 0 0 0 - - -;
+#X text 640 119 height;
+#X text 27 275 Inlet 3: float: height (dimY);
+#X text 586 88 width;
+#X text 33 14 Synopsis: [slideSquares];
+#X text 7 69 Description: Renders sliding rectangles.;
+#X text 16 86 The slideSquares object renders a number of sliding rectangles
+at the current position with current color. The dimensions of the sliding
+rectangles can be changed via the inlet2 and inlet3.;
+#X text 63 167 dimensions of the sliding rectangles (width height)
+;
+#X text 65 181 default: 1 1;
+#X text 27 260 Inlet 2: float: width (dimX);
+#X obj 533 179 slideSquares 1 1;
+#X connect 3 0 4 0;
+#X connect 4 0 3 0;
+#X connect 18 0 30 0;
+#X connect 19 0 30 1;
+#X connect 20 0 30 2;
diff --git a/packages/noncvs/windows/extra/Gem/specular-help.pd b/packages/noncvs/windows/extra/Gem/specular-help.pd
index d1961a6a..f9efd6b9 100644
--- a/packages/noncvs/windows/extra/Gem/specular-help.pd
+++ b/packages/noncvs/windows/extra/Gem/specular-help.pd
@@ -1,66 +1,66 @@
-#N canvas 61 18 639 342 10;
-#X text 452 8 GEM object;
-#X obj 8 216 cnv 15 430 100 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 218 Inlets:;
-#X text 63 231 Inlet 1: gemlist;
-#X text 39 272 Outlets:;
-#X text 57 285 Outlet 1: gemlist;
-#X obj 8 166 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 165 Arguments:;
-#X obj 8 76 cnv 15 430 80 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 197 134 destroy;
-#X msg 132 112 reset \, lighting 1 \, create \, 1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X text 71 31 Class: manipulation object;
-#X obj 450 118 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X obj 500 192 gemhead;
-#X obj 500 230 world_light;
-#X text 62 176 a list of 3 (RGB) or 4 (RGBA) float-values.;
-#X text 63 249 Inlet 2: list: 3(RGB) or 4(RGBA) float values;
-#X text 50 12 Synopsis: [specular];
-#X text 13 79 Description: specular colouring;
-#X obj 451 193 sphere;
-#X obj 500 211 rotate 90 1 0 0;
-#X msg 540 132 0.4 0.8 4;
-#X msg 462 132 0 10 0 0.4;
-#X obj 451 156 specular 1 0 0;
-#X text 60 191 defaults: 0 0 0 1;
-#X text 22 96 [specular] accepts a gemList and sets the specular-color
-for all subsequent vertex-operations. You have to enable lighting to
-see any effects.;
-#X connect 12 0 13 0;
-#X connect 13 0 12 0;
-#X connect 17 0 28 0;
-#X connect 18 0 25 0;
-#X connect 25 0 19 0;
-#X connect 26 0 28 1;
-#X connect 27 0 28 1;
-#X connect 28 0 24 0;
+#N canvas 61 18 639 342 10;
+#X text 452 8 GEM object;
+#X obj 8 216 cnv 15 430 100 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 218 Inlets:;
+#X text 63 231 Inlet 1: gemlist;
+#X text 39 272 Outlets:;
+#X text 57 285 Outlet 1: gemlist;
+#X obj 8 166 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 165 Arguments:;
+#X obj 8 76 cnv 15 430 80 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 197 134 destroy;
+#X msg 132 112 reset \, lighting 1 \, create \, 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X text 71 31 Class: manipulation object;
+#X obj 450 118 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X obj 500 192 gemhead;
+#X obj 500 230 world_light;
+#X text 62 176 a list of 3 (RGB) or 4 (RGBA) float-values.;
+#X text 63 249 Inlet 2: list: 3(RGB) or 4(RGBA) float values;
+#X text 50 12 Synopsis: [specular];
+#X text 13 79 Description: specular colouring;
+#X obj 451 193 sphere;
+#X obj 500 211 rotate 90 1 0 0;
+#X msg 540 132 0.4 0.8 4;
+#X msg 462 132 0 10 0 0.4;
+#X obj 451 156 specular 1 0 0;
+#X text 60 191 defaults: 0 0 0 1;
+#X text 22 96 [specular] accepts a gemList and sets the specular-color
+for all subsequent vertex-operations. You have to enable lighting to
+see any effects.;
+#X connect 12 0 13 0;
+#X connect 13 0 12 0;
+#X connect 17 0 28 0;
+#X connect 18 0 25 0;
+#X connect 25 0 19 0;
+#X connect 26 0 28 1;
+#X connect 27 0 28 1;
+#X connect 28 0 24 0;
diff --git a/packages/noncvs/windows/extra/Gem/specularRGB-help.pd b/packages/noncvs/windows/extra/Gem/specularRGB-help.pd
index 43e10f10..9475a209 100644
--- a/packages/noncvs/windows/extra/Gem/specularRGB-help.pd
+++ b/packages/noncvs/windows/extra/Gem/specularRGB-help.pd
@@ -1,73 +1,73 @@
-#N canvas 61 18 639 342 10;
-#X text 452 8 GEM object;
-#X obj 8 216 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 218 Inlets:;
-#X text 63 231 Inlet 1: gemlist;
-#X text 39 302 Outlets:;
-#X text 57 315 Outlet 1: gemlist;
-#X obj 8 166 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 165 Arguments:;
-#X obj 8 76 cnv 15 430 80 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 197 134 destroy;
-#X msg 132 112 reset \, lighting 1 \, create \, 1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X text 71 31 Class: manipulation object;
-#X obj 450 118 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X obj 500 192 gemhead;
-#X obj 500 230 world_light;
-#X text 62 176 a list of 3 (RGB) or 4 (RGBA) float-values.;
-#X text 13 79 Description: specular colouring;
-#X obj 451 193 sphere;
-#X obj 500 211 rotate 90 1 0 0;
-#X text 60 191 defaults: 0 0 0 1;
-#X obj 451 156 specularRGB 1 0 0;
-#X floatatom 479 121 3 0 10 0 R - -;
-#X floatatom 508 137 3 0 10 0 G - -;
-#X floatatom 536 119 3 0 10 0 B - -;
-#X floatatom 565 135 3 0 10 0 A - -;
-#X text 50 12 Synopsis: [specularRGB];
-#X text 22 96 [specularRGB] accepts a gemList and sets the specular-color
-for all subsequent vertex-operations. You have to enable lighting to
-see any effects.;
-#X text 62 247 Inlet 2: float: Red-value;
-#X text 62 287 Inlet 5: float: Alpha-value;
-#X text 62 274 Inlet 4: float: Blue-value;
-#X text 62 260 Inlet 3: float: Green-value;
-#X connect 12 0 13 0;
-#X connect 13 0 12 0;
-#X connect 17 0 25 0;
-#X connect 18 0 23 0;
-#X connect 23 0 19 0;
-#X connect 25 0 22 0;
-#X connect 26 0 25 1;
-#X connect 27 0 25 2;
-#X connect 28 0 25 3;
-#X connect 29 0 25 4;
+#N canvas 61 18 639 342 10;
+#X text 452 8 GEM object;
+#X obj 8 216 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 218 Inlets:;
+#X text 63 231 Inlet 1: gemlist;
+#X text 39 302 Outlets:;
+#X text 57 315 Outlet 1: gemlist;
+#X obj 8 166 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 165 Arguments:;
+#X obj 8 76 cnv 15 430 80 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 197 134 destroy;
+#X msg 132 112 reset \, lighting 1 \, create \, 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X text 71 31 Class: manipulation object;
+#X obj 450 118 cnv 15 160 60 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X obj 500 192 gemhead;
+#X obj 500 230 world_light;
+#X text 62 176 a list of 3 (RGB) or 4 (RGBA) float-values.;
+#X text 13 79 Description: specular colouring;
+#X obj 451 193 sphere;
+#X obj 500 211 rotate 90 1 0 0;
+#X text 60 191 defaults: 0 0 0 1;
+#X obj 451 156 specularRGB 1 0 0;
+#X floatatom 479 121 3 0 10 0 R - -;
+#X floatatom 508 137 3 0 10 0 G - -;
+#X floatatom 536 119 3 0 10 0 B - -;
+#X floatatom 565 135 3 0 10 0 A - -;
+#X text 50 12 Synopsis: [specularRGB];
+#X text 22 96 [specularRGB] accepts a gemList and sets the specular-color
+for all subsequent vertex-operations. You have to enable lighting to
+see any effects.;
+#X text 62 247 Inlet 2: float: Red-value;
+#X text 62 287 Inlet 5: float: Alpha-value;
+#X text 62 274 Inlet 4: float: Blue-value;
+#X text 62 260 Inlet 3: float: Green-value;
+#X connect 12 0 13 0;
+#X connect 13 0 12 0;
+#X connect 17 0 25 0;
+#X connect 18 0 23 0;
+#X connect 23 0 19 0;
+#X connect 25 0 22 0;
+#X connect 26 0 25 1;
+#X connect 27 0 25 2;
+#X connect 28 0 25 3;
+#X connect 29 0 25 4;
diff --git a/packages/noncvs/windows/extra/Gem/sphere-help.pd b/packages/noncvs/windows/extra/Gem/sphere-help.pd
index 0c63eecf..6afbebbc 100644
--- a/packages/noncvs/windows/extra/Gem/sphere-help.pd
+++ b/packages/noncvs/windows/extra/Gem/sphere-help.pd
@@ -1,70 +1,70 @@
-#N canvas 0 0 710 345 10;
-#X text 54 30 Class: geometric object;
-#X obj 479 47 cnv 15 170 270 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X obj 485 252 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 198 112 destroy;
-#X msg 132 112 create \, 1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 490 291 pd gemwin;
-#X msg 490 272 create;
-#X text 486 251 Create window:;
-#X text 485 29 Example:;
-#X obj 7 65 cnv 15 450 80 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 8 216 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 9 221 Inlets:;
-#X obj 8 154 cnv 15 450 50 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 153 Arguments:;
-#X text 27 247 Inlet 1: message: draw [line|fill|point];
-#X text 27 261 Inlet 2: float: size;
-#X text 452 8 GEM object;
-#X text 27 233 Inlet 1: gemlist;
-#X text 9 287 Outlets:;
-#X text 21 300 Outlet 1: gemlist;
-#X obj 486 184 cnv 15 130 60 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X msg 506 88 draw line;
-#X msg 512 111 draw fill;
-#X msg 519 132 draw point;
-#X obj 497 59 gemhead;
-#X floatatom 519 187 3 0 0 0 - - -;
-#X text 542 186 size;
-#X floatatom 542 204 3 0 0 0 - - -;
-#X text 565 203 segments;
-#X text 27 272 Inlet 3: int: number of segments;
-#X text 33 14 Synopsis: [sphere];
-#X text 16 69 Description: Renders a sphere.;
-#X text 30 85 The sphere object renders a segemented sphere at the
-current position with current color. The look of the sphere can be
-changed with the draw message \, its size can be changed via the second
-inlet.;
-#X obj 497 222 sphere 1;
-#X text 35 168 size of the sphere \, segments;
-#X text 34 184 defaults: 1 \, 10;
-#X connect 3 0 4 0;
-#X connect 4 0 3 0;
-#X connect 19 0 31 0;
-#X connect 20 0 31 0;
-#X connect 21 0 31 0;
-#X connect 22 0 31 0;
-#X connect 23 0 31 1;
-#X connect 25 0 31 2;
+#N canvas 0 0 710 345 10;
+#X text 54 30 Class: geometric object;
+#X obj 479 47 cnv 15 170 270 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X obj 485 252 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 198 112 destroy;
+#X msg 132 112 create \, 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 490 291 pd gemwin;
+#X msg 490 272 create;
+#X text 486 251 Create window:;
+#X text 485 29 Example:;
+#X obj 7 65 cnv 15 450 80 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 8 216 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 9 221 Inlets:;
+#X obj 8 154 cnv 15 450 50 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 153 Arguments:;
+#X text 27 247 Inlet 1: message: draw [line|fill|point];
+#X text 27 261 Inlet 2: float: size;
+#X text 452 8 GEM object;
+#X text 27 233 Inlet 1: gemlist;
+#X text 9 287 Outlets:;
+#X text 21 300 Outlet 1: gemlist;
+#X obj 486 184 cnv 15 130 60 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X msg 506 88 draw line;
+#X msg 512 111 draw fill;
+#X msg 519 132 draw point;
+#X obj 497 59 gemhead;
+#X floatatom 519 187 3 0 0 0 - - -;
+#X text 542 186 size;
+#X floatatom 542 204 3 0 0 0 - - -;
+#X text 565 203 segments;
+#X text 27 272 Inlet 3: int: number of segments;
+#X text 33 14 Synopsis: [sphere];
+#X text 16 69 Description: Renders a sphere.;
+#X text 30 85 The sphere object renders a segemented sphere at the
+current position with current color. The look of the sphere can be
+changed with the draw message \, its size can be changed via the second
+inlet.;
+#X obj 497 222 sphere 1;
+#X text 35 168 size of the sphere \, segments;
+#X text 34 184 defaults: 1 \, 10;
+#X connect 3 0 4 0;
+#X connect 4 0 3 0;
+#X connect 19 0 31 0;
+#X connect 20 0 31 0;
+#X connect 21 0 31 0;
+#X connect 22 0 31 0;
+#X connect 23 0 31 1;
+#X connect 25 0 31 2;
diff --git a/packages/noncvs/windows/extra/Gem/sphere3d-help.pd b/packages/noncvs/windows/extra/Gem/sphere3d-help.pd
index b1d3ab79..7240bc80 100644
--- a/packages/noncvs/windows/extra/Gem/sphere3d-help.pd
+++ b/packages/noncvs/windows/extra/Gem/sphere3d-help.pd
@@ -1,96 +1,96 @@
-#N canvas 67 280 825 465 10;
-#X text 54 30 Class: geometric object;
-#X obj 479 47 cnv 15 170 280 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X obj 544 264 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 198 112 destroy;
-#X msg 132 112 create \, 1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 549 303 pd gemwin;
-#X msg 549 284 create;
-#X text 545 263 Create window:;
-#X text 485 29 Example:;
-#X obj 7 61 cnv 15 450 120 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 8 226 cnv 15 450 140 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 9 226 Inlets:;
-#X obj 8 186 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 185 Arguments:;
-#X text 27 252 Inlet 1: message: draw [line|fill|point];
-#X text 27 307 Inlet 2: float: size;
-#X text 452 8 GEM object;
-#X text 27 238 Inlet 1: gemlist;
-#X text 9 334 Outlets:;
-#X text 21 347 Outlet 1: gemlist;
-#X obj 545 133 cnv 15 100 120 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X msg 483 56 draw line;
-#X msg 483 76 draw fill;
-#X msg 483 95 draw point;
-#X obj 553 54 gemhead;
-#X floatatom 571 194 5 0 0 1 size - -;
-#X floatatom 616 231 3 0 0 2 segments - -;
-#X text 27 318 Inlet 3: int: number of segments;
-#X text 33 14 Synopsis: [sphere3d];
-#X text 7 65 Description: Renders a sphere3d.;
-#X text 14 82 The sphere3d object renders a segemented sphere3d at
-the current position with current color. The look of the sphere3d can
-be changed with the draw message \, its size can be changed via the
-second inlet.;
-#X text 63 197 size of the sphere3d;
-#X floatatom 488 150 5 0 0 0 - - -;
-#X floatatom 486 179 5 0 0 0 - - -;
-#X obj 479 230 r \$0-s3d;
-#X obj 483 117 s \$0-s3d;
-#X text 27 266 Inlet 1: message: setCartesian <i> <j> <x> <y> <z>;
-#X text 27 279 Inlet 1: message: setSpherical <i> <j> <r> <phi> <theta>
-;
-#X msg 535 151 setCartesian 2 3 \$1 1 0;
-#X obj 552 114 rotateXYZ;
-#X floatatom 578 93 5 0 0 0 - - -;
-#X text 145 403 see also;
-#X obj 215 404 sphere;
-#X msg 548 174 setSpherical 2 3 \$1 45 45;
-#X obj 481 287 s \$0-s3d;
-#X msg 481 266 print;
-#X obj 553 229 sphere3d;
-#X text 14 139 Unlike [sphere] \, you can modify (dislocate) each point
-at the sphere via the setCartesian and setSpherical messages (for cartesian
-and spherical (in deg) coordinates resp.);
-#X text 27 292 Inlet 1: message: print;
-#X connect 3 0 4 0;
-#X connect 4 0 3 0;
-#X connect 19 0 33 0;
-#X connect 20 0 33 0;
-#X connect 21 0 33 0;
-#X connect 22 0 37 0;
-#X connect 23 0 44 1;
-#X connect 24 0 44 2;
-#X connect 30 0 36 0;
-#X connect 31 0 41 0;
-#X connect 32 0 44 0;
-#X connect 36 0 44 0;
-#X connect 37 0 44 0;
-#X connect 38 0 37 1;
-#X connect 38 0 37 2;
-#X connect 38 0 37 3;
-#X connect 41 0 44 0;
-#X connect 43 0 42 0;
+#N canvas 67 280 825 465 10;
+#X text 54 30 Class: geometric object;
+#X obj 479 47 cnv 15 170 280 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X obj 544 264 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 198 112 destroy;
+#X msg 132 112 create \, 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 549 303 pd gemwin;
+#X msg 549 284 create;
+#X text 545 263 Create window:;
+#X text 485 29 Example:;
+#X obj 7 61 cnv 15 450 120 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 8 226 cnv 15 450 140 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 9 226 Inlets:;
+#X obj 8 186 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 185 Arguments:;
+#X text 27 252 Inlet 1: message: draw [line|fill|point];
+#X text 27 307 Inlet 2: float: size;
+#X text 452 8 GEM object;
+#X text 27 238 Inlet 1: gemlist;
+#X text 9 334 Outlets:;
+#X text 21 347 Outlet 1: gemlist;
+#X obj 545 133 cnv 15 100 120 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X msg 483 56 draw line;
+#X msg 483 76 draw fill;
+#X msg 483 95 draw point;
+#X obj 553 54 gemhead;
+#X floatatom 571 194 5 0 0 1 size - -;
+#X floatatom 616 231 3 0 0 2 segments - -;
+#X text 27 318 Inlet 3: int: number of segments;
+#X text 33 14 Synopsis: [sphere3d];
+#X text 7 65 Description: Renders a sphere3d.;
+#X text 14 82 The sphere3d object renders a segemented sphere3d at
+the current position with current color. The look of the sphere3d can
+be changed with the draw message \, its size can be changed via the
+second inlet.;
+#X text 63 197 size of the sphere3d;
+#X floatatom 488 150 5 0 0 0 - - -;
+#X floatatom 486 179 5 0 0 0 - - -;
+#X obj 479 230 r \$0-s3d;
+#X obj 483 117 s \$0-s3d;
+#X text 27 266 Inlet 1: message: setCartesian <i> <j> <x> <y> <z>;
+#X text 27 279 Inlet 1: message: setSpherical <i> <j> <r> <phi> <theta>
+;
+#X msg 535 151 setCartesian 2 3 \$1 1 0;
+#X obj 552 114 rotateXYZ;
+#X floatatom 578 93 5 0 0 0 - - -;
+#X text 145 403 see also;
+#X obj 215 404 sphere;
+#X msg 548 174 setSpherical 2 3 \$1 45 45;
+#X obj 481 287 s \$0-s3d;
+#X msg 481 266 print;
+#X obj 553 229 sphere3d;
+#X text 14 139 Unlike [sphere] \, you can modify (dislocate) each point
+at the sphere via the setCartesian and setSpherical messages (for cartesian
+and spherical (in deg) coordinates resp.);
+#X text 27 292 Inlet 1: message: print;
+#X connect 3 0 4 0;
+#X connect 4 0 3 0;
+#X connect 19 0 33 0;
+#X connect 20 0 33 0;
+#X connect 21 0 33 0;
+#X connect 22 0 37 0;
+#X connect 23 0 44 1;
+#X connect 24 0 44 2;
+#X connect 30 0 36 0;
+#X connect 31 0 41 0;
+#X connect 32 0 44 0;
+#X connect 36 0 44 0;
+#X connect 37 0 44 0;
+#X connect 38 0 37 1;
+#X connect 38 0 37 2;
+#X connect 38 0 37 3;
+#X connect 41 0 44 0;
+#X connect 43 0 42 0;
diff --git a/packages/noncvs/windows/extra/Gem/spline_path-help.pd b/packages/noncvs/windows/extra/Gem/spline_path-help.pd
index 1e131996..9538deb4 100644
--- a/packages/noncvs/windows/extra/Gem/spline_path-help.pd
+++ b/packages/noncvs/windows/extra/Gem/spline_path-help.pd
@@ -1,69 +1,69 @@
-#N canvas 37 45 711 482 10;
-#X text 458 11 GEM object;
-#X text 41 430 see also:;
-#X obj 115 429 linear_path;
-#X text 54 22 Synopsis: [spline_path];
-#X obj 504 56 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 510 38 Example:;
-#X obj 22 60 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 22 288 cnv 15 450 120 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 23 288 Inlets:;
-#X obj 22 164 cnv 15 450 120 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 31 164 Arguments:;
-#X text 22 328 Outlets:;
-#X obj 516 212 unpack 0 0 0;
-#X floatatom 516 279 0 0 0 0 - - -;
-#X floatatom 550 257 0 0 0 0 - - -;
-#X floatatom 585 235 0 0 0 0 - - -;
-#X floatatom 524 112 5 0 0 0 - - -;
-#X text 22 64 Description: reads out a table;
-#X text 48 78 You can specify the reading-point by sending a float
-between 0.0f (beginning of table) and 1.0f (end of table). Between
-points \, a spline interpolation is made.;
-#X text 48 120 You can set the table to be read with the "open" message
-or as the second creation-argument.;
-#X text 89 197 [spline_path] is able to excerpt more than 1 dimension
-of a linear table. You can specify the dimension <D> of the table with
-the first creation-argument. (default 1);
-#X text 44 346 Outlet 1:;
-#X text 46 307 Inlet 1: reading point 0.0f...1.0f;
-#X obj 519 71 hsl 128 15 0 127 0 0 empty empty empty -2 -8 0 10 -262144
--1 -1 0 1;
-#X obj 516 90 / 127;
-#N canvas 0 22 450 300 (subpatch) 0;
-#X array array 102 float 1;
-#A 0 0 0 0 0 0 0 0 0 0.220005 0.460011 0.520012 0.540012 0.580013 0.580013
-0.580013 0.160004 -0.0200005 -0.140003 -0.300007 -0.42001 -0.660015
-0.42001 0.44001 0.44001 0.44001 0.560013 0.560013 0.560013 0.260006
-0.0800018 -0.280006 0.520012 0.400009 0.313341 0.226672 0.140003 -0.120003
--0.190004 -0.260006 -0.380009 -0.520012 0.300007 0.640015 0.640015
-0.640015 0.460011 0.330008 0.200005 -0.760017 -0.760017 -0.760017 -0.760017
--0.760017 -0.760017 -0.760017 -0.760017 -0.760017 -0.760017 -0.760017
--0.760017 0.42001 0.520012 0.560013 0.620014 0.620014 0.620014 0.580013
-0.530012 0.480011 0.280006 0.180004 0.130003 -0.0400009 0.44001 0.44001
-0.400009 0.320007 0.180004 -0.0400009 -0.180004 -0.160004 -0.0400009
-0.0200005 0.0800018 0.160004 0.240005 0.360008 0.520012 0.660015 0.500011
-0.380009 0.120003 -0.200005 -0.240005 0 0 0 0 0 0 0 0;
-#X coords 0 1 101 -1 170 100 1;
-#X restore 503 337 graph;
-#X obj 511 132 cnv 15 130 60 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X text 48 183 dimensions of the table;
-#X text 102 346 a list of <D> floats. A multi-dimensional table stores
-its values in n-tuples like: "<r1> <g1> <b1> <r2> <g2> <b2>..." Therefore
-\, a table must have the size <D>*<n>;
-#X text 50 240 name of the table;
-#X obj 516 168 spline_path 3 array;
-#X msg 543 140 open array;
-#X connect 12 0 13 0;
-#X connect 12 1 14 0;
-#X connect 12 2 15 0;
-#X connect 23 0 24 0;
-#X connect 24 0 16 0;
-#X connect 24 0 30 0;
-#X connect 30 0 12 0;
-#X connect 31 0 30 0;
+#N canvas 37 45 711 482 10;
+#X text 458 11 GEM object;
+#X text 41 430 see also:;
+#X obj 115 429 linear_path;
+#X text 54 22 Synopsis: [spline_path];
+#X obj 504 56 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 510 38 Example:;
+#X obj 22 60 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 22 288 cnv 15 450 120 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 23 288 Inlets:;
+#X obj 22 164 cnv 15 450 120 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 31 164 Arguments:;
+#X text 22 328 Outlets:;
+#X obj 516 212 unpack 0 0 0;
+#X floatatom 516 279 0 0 0 0 - - -;
+#X floatatom 550 257 0 0 0 0 - - -;
+#X floatatom 585 235 0 0 0 0 - - -;
+#X floatatom 524 112 5 0 0 0 - - -;
+#X text 22 64 Description: reads out a table;
+#X text 48 78 You can specify the reading-point by sending a float
+between 0.0f (beginning of table) and 1.0f (end of table). Between
+points \, a spline interpolation is made.;
+#X text 48 120 You can set the table to be read with the "open" message
+or as the second creation-argument.;
+#X text 89 197 [spline_path] is able to excerpt more than 1 dimension
+of a linear table. You can specify the dimension <D> of the table with
+the first creation-argument. (default 1);
+#X text 44 346 Outlet 1:;
+#X text 46 307 Inlet 1: reading point 0.0f...1.0f;
+#X obj 519 71 hsl 128 15 0 127 0 0 empty empty empty -2 -8 0 10 -262144
+-1 -1 0 1;
+#X obj 516 90 / 127;
+#N canvas 0 22 450 300 (subpatch) 0;
+#X array array 102 float 1;
+#A 0 0 0 0 0 0 0 0 0 0.220005 0.460011 0.520012 0.540012 0.580013 0.580013
+0.580013 0.160004 -0.0200005 -0.140003 -0.300007 -0.42001 -0.660015
+0.42001 0.44001 0.44001 0.44001 0.560013 0.560013 0.560013 0.260006
+0.0800018 -0.280006 0.520012 0.400009 0.313341 0.226672 0.140003 -0.120003
+-0.190004 -0.260006 -0.380009 -0.520012 0.300007 0.640015 0.640015
+0.640015 0.460011 0.330008 0.200005 -0.760017 -0.760017 -0.760017 -0.760017
+-0.760017 -0.760017 -0.760017 -0.760017 -0.760017 -0.760017 -0.760017
+-0.760017 0.42001 0.520012 0.560013 0.620014 0.620014 0.620014 0.580013
+0.530012 0.480011 0.280006 0.180004 0.130003 -0.0400009 0.44001 0.44001
+0.400009 0.320007 0.180004 -0.0400009 -0.180004 -0.160004 -0.0400009
+0.0200005 0.0800018 0.160004 0.240005 0.360008 0.520012 0.660015 0.500011
+0.380009 0.120003 -0.200005 -0.240005 0 0 0 0 0 0 0 0;
+#X coords 0 1 101 -1 170 100 1;
+#X restore 503 337 graph;
+#X obj 511 132 cnv 15 130 60 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X text 48 183 dimensions of the table;
+#X text 102 346 a list of <D> floats. A multi-dimensional table stores
+its values in n-tuples like: "<r1> <g1> <b1> <r2> <g2> <b2>..." Therefore
+\, a table must have the size <D>*<n>;
+#X text 50 240 name of the table;
+#X obj 516 168 spline_path 3 array;
+#X msg 543 140 open array;
+#X connect 12 0 13 0;
+#X connect 12 1 14 0;
+#X connect 12 2 15 0;
+#X connect 23 0 24 0;
+#X connect 24 0 16 0;
+#X connect 24 0 30 0;
+#X connect 30 0 12 0;
+#X connect 31 0 30 0;
diff --git a/packages/noncvs/windows/extra/Gem/spot_light-help.pd b/packages/noncvs/windows/extra/Gem/spot_light-help.pd
index 68309b05..fcaa8e23 100644
--- a/packages/noncvs/windows/extra/Gem/spot_light-help.pd
+++ b/packages/noncvs/windows/extra/Gem/spot_light-help.pd
@@ -1,166 +1,166 @@
-#N canvas 107 312 724 516 10;
-#X text 471 28 Example:;
-#X obj 7 64 cnv 15 450 265 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 8 377 cnv 15 450 120 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 19 374 Inlets:;
-#X obj 8 337 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 336 Arguments:;
-#X text 452 8 GEM object;
-#X text 37 386 Inlet 1: gemlist;
-#X text 22 468 Outlets:;
-#X text 34 481 Outlet 1: gemlist;
-#X obj 468 47 cnv 15 225 400 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X obj 473 49 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 256 112 destroy;
-#X obj 322 45 inlet;
-#X msg 132 112 create \, 1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 8 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X connect 8 0 0 0;
-#X restore 478 88 pd gemwin;
-#X msg 478 69 create;
-#X text 474 48 Create window:;
-#X obj 472 197 cnv 15 220 210 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 483 128 gemhead;
-#X text 53 30 Class: non-geometric object;
-#X msg 489 316 1 1 1;
-#X obj 482 385 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X msg 500 385 debug \$1;
-#X floatatom 563 132 5 0 0 0 - - -;
-#X obj 586 55 cnv 15 85 50 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X msg 588 81 lighting \$1;
-#X obj 588 59 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X msg 489 335 1 1 0;
-#X text 18 191 The second inlet sets the color of the light-source.
-;
-#X text 17 159 You can adjust the light with [rotate]. If you are lost
-use "debug" to display the light source as a small cone.;
-#X text 33 14 Synopsis: [spot_light];
-#X text 7 69 Description: adds a spot-light to the scene;
-#X text 37 417 Inlet 1: message: debug 1|0;
-#X text 37 447 Inlet 3: list: linear_attenuation \, cone_cutoff_angle
-\, decay_at_edges;
-#X obj 484 362 spot_light;
-#N canvas 611 263 574 368 spheres 0;
-#X obj 66 12 gemhead;
-#X floatatom 84 243 5 0 0 0 - - -;
-#X obj 49 14 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X floatatom 99 43 5 0 0 0 - - -;
-#X floatatom 132 60 5 0 0 0 - - -;
-#X floatatom 166 77 5 0 0 0 - - -;
-#X floatatom 103 261 5 0 0 0 - - -;
-#X obj 66 96 rotateXYZ 0 0 0;
-#X floatatom 106 130 5 0 0 0 - - -;
-#X floatatom 146 147 5 0 0 0 - - -;
-#X floatatom 187 163 5 0 0 0 - - -;
-#X obj 66 183 translateXYZ 0 0 0;
-#X obj 306 74 gemhead;
-#X floatatom 410 143 5 0 0 0 - - -;
-#X floatatom 450 160 5 0 0 0 - - -;
-#X floatatom 491 176 5 0 0 0 - - -;
-#X floatatom 409 54 5 0 0 0 - - -;
-#X floatatom 442 71 5 0 0 0 - - -;
-#X floatatom 476 88 5 0 0 0 - - -;
-#X obj 373 284 sphere 0.2;
-#X msg 304 214 20;
-#X obj 302 181 loadbang;
-#X obj 376 106 rotateXYZ 0 -70 0;
-#X obj 373 232 translateXYZ 1.4 0 0;
-#X obj 66 280 sphere 0.9;
-#X connect 0 0 7 0;
-#X connect 1 0 24 1;
-#X connect 2 0 0 0;
-#X connect 2 0 12 0;
-#X connect 3 0 7 1;
-#X connect 4 0 7 2;
-#X connect 5 0 7 3;
-#X connect 6 0 24 2;
-#X connect 7 0 11 0;
-#X connect 8 0 11 1;
-#X connect 9 0 11 2;
-#X connect 10 0 11 3;
-#X connect 11 0 24 0;
-#X connect 12 0 22 0;
-#X connect 13 0 23 1;
-#X connect 14 0 23 2;
-#X connect 15 0 23 3;
-#X connect 16 0 22 1;
-#X connect 17 0 22 2;
-#X connect 18 0 22 3;
-#X connect 20 0 19 2;
-#X connect 20 0 24 2;
-#X connect 21 0 20 0;
-#X connect 22 0 23 0;
-#X connect 23 0 19 0;
-#X restore 476 418 pd spheres;
-#X text 15 267 Keep in mind that the attributes have to be set before
-rendering the vertices \, so if you are trying for frame accurate rendering
-\, you will want to set the gemhead order to a low number so that all
-of the values of the light get set first.;
-#X text 63 348 none;
-#X obj 483 176 translateXYZ 0 0 2;
-#X floatatom 498 211 5 0 0 1 linear_attenuation - -;
-#X floatatom 550 248 5 0 0 2 cone_cutoff_angle - -;
-#X floatatom 588 278 5 0 0 2 decay_at_edges - -;
-#X obj 588 297 t b f;
-#X obj 550 317 t b f;
-#X text 490 299 color;
-#X obj 483 150 rotateXYZ -33 0 0;
-#X text 37 432 Inlet 2: list: 3(RGB) float values;
-#X text 17 210 The third inlet receives a list of three floats: linear_attenuation:
-only accepts positive values cone_cutoff_angle: 0-90 or 180 decay_at_edges/exponent:
-0-128;
-#X text 19 86 [spot_light] produces a light which is at a variable
-distance from the scene. It can be used to make a pinpoint light \,
-or widened for larger illumination. The edges may appear jagged when
-lighting low polygon models: to smooth \, increase the polygon's #
-of vertices (or "slices").;
-#X obj 548 337 pack 0 90 3;
-#X obj 492 265 tgl 20 0 empty \$0-onoff empty 17 7 0 10 -262144 -1
--1 0 1;
-#X text 37 401 Inlet 1: float: turn light on(1)/off(0);
-#X connect 12 0 13 0;
-#X connect 13 0 12 0;
-#X connect 16 0 43 0;
-#X connect 18 0 32 1;
-#X connect 19 0 20 0;
-#X connect 20 0 32 0;
-#X connect 21 0 43 2;
-#X connect 23 0 12 1;
-#X connect 24 0 23 0;
-#X connect 25 0 32 1;
-#X connect 36 0 32 0;
-#X connect 37 0 47 0;
-#X connect 38 0 41 0;
-#X connect 39 0 40 0;
-#X connect 40 0 47 0;
-#X connect 40 1 47 2;
-#X connect 41 0 47 0;
-#X connect 41 1 47 1;
-#X connect 43 0 36 0;
-#X connect 47 0 32 2;
-#X connect 48 0 32 0;
+#N canvas 107 312 724 516 10;
+#X text 471 28 Example:;
+#X obj 7 64 cnv 15 450 265 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 8 377 cnv 15 450 120 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 19 374 Inlets:;
+#X obj 8 337 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 336 Arguments:;
+#X text 452 8 GEM object;
+#X text 37 386 Inlet 1: gemlist;
+#X text 22 468 Outlets:;
+#X text 34 481 Outlet 1: gemlist;
+#X obj 468 47 cnv 15 225 400 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X obj 473 49 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 256 112 destroy;
+#X obj 322 45 inlet;
+#X msg 132 112 create \, 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 8 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X restore 478 88 pd gemwin;
+#X msg 478 69 create;
+#X text 474 48 Create window:;
+#X obj 472 197 cnv 15 220 210 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 483 128 gemhead;
+#X text 53 30 Class: non-geometric object;
+#X msg 489 316 1 1 1;
+#X obj 482 385 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X msg 500 385 debug \$1;
+#X floatatom 563 132 5 0 0 0 - - -;
+#X obj 586 55 cnv 15 85 50 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X msg 588 81 lighting \$1;
+#X obj 588 59 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X msg 489 335 1 1 0;
+#X text 18 191 The second inlet sets the color of the light-source.
+;
+#X text 17 159 You can adjust the light with [rotate]. If you are lost
+use "debug" to display the light source as a small cone.;
+#X text 33 14 Synopsis: [spot_light];
+#X text 7 69 Description: adds a spot-light to the scene;
+#X text 37 417 Inlet 1: message: debug 1|0;
+#X text 37 447 Inlet 3: list: linear_attenuation \, cone_cutoff_angle
+\, decay_at_edges;
+#X obj 484 362 spot_light;
+#N canvas 611 263 574 368 spheres 0;
+#X obj 66 12 gemhead;
+#X floatatom 84 243 5 0 0 0 - - -;
+#X obj 49 14 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X floatatom 99 43 5 0 0 0 - - -;
+#X floatatom 132 60 5 0 0 0 - - -;
+#X floatatom 166 77 5 0 0 0 - - -;
+#X floatatom 103 261 5 0 0 0 - - -;
+#X obj 66 96 rotateXYZ 0 0 0;
+#X floatatom 106 130 5 0 0 0 - - -;
+#X floatatom 146 147 5 0 0 0 - - -;
+#X floatatom 187 163 5 0 0 0 - - -;
+#X obj 66 183 translateXYZ 0 0 0;
+#X obj 306 74 gemhead;
+#X floatatom 410 143 5 0 0 0 - - -;
+#X floatatom 450 160 5 0 0 0 - - -;
+#X floatatom 491 176 5 0 0 0 - - -;
+#X floatatom 409 54 5 0 0 0 - - -;
+#X floatatom 442 71 5 0 0 0 - - -;
+#X floatatom 476 88 5 0 0 0 - - -;
+#X obj 373 284 sphere 0.2;
+#X msg 304 214 20;
+#X obj 302 181 loadbang;
+#X obj 376 106 rotateXYZ 0 -70 0;
+#X obj 373 232 translateXYZ 1.4 0 0;
+#X obj 66 280 sphere 0.9;
+#X connect 0 0 7 0;
+#X connect 1 0 24 1;
+#X connect 2 0 0 0;
+#X connect 2 0 12 0;
+#X connect 3 0 7 1;
+#X connect 4 0 7 2;
+#X connect 5 0 7 3;
+#X connect 6 0 24 2;
+#X connect 7 0 11 0;
+#X connect 8 0 11 1;
+#X connect 9 0 11 2;
+#X connect 10 0 11 3;
+#X connect 11 0 24 0;
+#X connect 12 0 22 0;
+#X connect 13 0 23 1;
+#X connect 14 0 23 2;
+#X connect 15 0 23 3;
+#X connect 16 0 22 1;
+#X connect 17 0 22 2;
+#X connect 18 0 22 3;
+#X connect 20 0 19 2;
+#X connect 20 0 24 2;
+#X connect 21 0 20 0;
+#X connect 22 0 23 0;
+#X connect 23 0 19 0;
+#X restore 476 418 pd spheres;
+#X text 15 267 Keep in mind that the attributes have to be set before
+rendering the vertices \, so if you are trying for frame accurate rendering
+\, you will want to set the gemhead order to a low number so that all
+of the values of the light get set first.;
+#X text 63 348 none;
+#X obj 483 176 translateXYZ 0 0 2;
+#X floatatom 498 211 5 0 0 1 linear_attenuation - -;
+#X floatatom 550 248 5 0 0 2 cone_cutoff_angle - -;
+#X floatatom 588 278 5 0 0 2 decay_at_edges - -;
+#X obj 588 297 t b f;
+#X obj 550 317 t b f;
+#X text 490 299 color;
+#X obj 483 150 rotateXYZ -33 0 0;
+#X text 37 432 Inlet 2: list: 3(RGB) float values;
+#X text 17 210 The third inlet receives a list of three floats: linear_attenuation:
+only accepts positive values cone_cutoff_angle: 0-90 or 180 decay_at_edges/exponent:
+0-128;
+#X text 19 86 [spot_light] produces a light which is at a variable
+distance from the scene. It can be used to make a pinpoint light \,
+or widened for larger illumination. The edges may appear jagged when
+lighting low polygon models: to smooth \, increase the polygon's #
+of vertices (or "slices").;
+#X obj 548 337 pack 0 90 3;
+#X obj 492 265 tgl 20 0 empty \$0-onoff empty 17 7 0 10 -262144 -1
+-1 0 1;
+#X text 37 401 Inlet 1: float: turn light on(1)/off(0);
+#X connect 12 0 13 0;
+#X connect 13 0 12 0;
+#X connect 16 0 43 0;
+#X connect 18 0 32 1;
+#X connect 19 0 20 0;
+#X connect 20 0 32 0;
+#X connect 21 0 43 2;
+#X connect 23 0 12 1;
+#X connect 24 0 23 0;
+#X connect 25 0 32 1;
+#X connect 36 0 32 0;
+#X connect 37 0 47 0;
+#X connect 38 0 41 0;
+#X connect 39 0 40 0;
+#X connect 40 0 47 0;
+#X connect 40 1 47 2;
+#X connect 41 0 47 0;
+#X connect 41 1 47 1;
+#X connect 43 0 36 0;
+#X connect 47 0 32 2;
+#X connect 48 0 32 0;
diff --git a/packages/noncvs/windows/extra/Gem/square-help.pd b/packages/noncvs/windows/extra/Gem/square-help.pd
index f5bff2e7..50666ba8 100644
--- a/packages/noncvs/windows/extra/Gem/square-help.pd
+++ b/packages/noncvs/windows/extra/Gem/square-help.pd
@@ -1,64 +1,64 @@
-#N canvas 289 160 710 345 10;
-#X text 54 30 Class: geometric object;
-#X obj 519 47 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X obj 584 224 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 198 112 destroy;
-#X msg 132 112 create \, 1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 589 263 pd gemwin;
-#X msg 589 244 create;
-#X text 585 223 Create window:;
-#X obj 7 65 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 8 216 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 9 221 Inlets:;
-#X obj 8 176 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 175 Arguments:;
-#X text 27 247 Inlet 1: message: draw [line|fill|point];
-#X text 27 261 Inlet 2: float: size;
-#X text 452 8 GEM object;
-#X text 27 233 Inlet 1: gemlist;
-#X text 9 280 Outlets:;
-#X text 21 293 Outlet 1: gemlist;
-#X text 525 29 Example:;
-#X obj 522 78 cnv 15 150 100 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X msg 525 85 draw line;
-#X msg 525 106 draw fill;
-#X msg 525 128 draw point;
-#X obj 593 54 gemhead;
-#X floatatom 624 114 5 0 0 0 - - -;
-#X text 624 98 size;
-#X obj 593 159 square;
-#X text 7 69 Description: Renders a square;
-#X text 33 14 Synopsis: [square];
-#X text 63 186 size of the square;
-#X text 16 86 The [square] object renders a square at the current position
-with current color. The size of the square can be changed via the second
-inlet.;
-#X connect 3 0 4 0;
-#X connect 4 0 3 0;
-#X connect 19 0 25 0;
-#X connect 20 0 25 0;
-#X connect 21 0 25 0;
-#X connect 22 0 25 0;
-#X connect 23 0 25 1;
+#N canvas 289 160 710 345 10;
+#X text 54 30 Class: geometric object;
+#X obj 519 47 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X obj 584 224 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 198 112 destroy;
+#X msg 132 112 create \, 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 589 263 pd gemwin;
+#X msg 589 244 create;
+#X text 585 223 Create window:;
+#X obj 7 65 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 8 216 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 9 221 Inlets:;
+#X obj 8 176 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 175 Arguments:;
+#X text 27 247 Inlet 1: message: draw [line|fill|point];
+#X text 27 261 Inlet 2: float: size;
+#X text 452 8 GEM object;
+#X text 27 233 Inlet 1: gemlist;
+#X text 9 280 Outlets:;
+#X text 21 293 Outlet 1: gemlist;
+#X text 525 29 Example:;
+#X obj 522 78 cnv 15 150 100 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X msg 525 85 draw line;
+#X msg 525 106 draw fill;
+#X msg 525 128 draw point;
+#X obj 593 54 gemhead;
+#X floatatom 624 114 5 0 0 0 - - -;
+#X text 624 98 size;
+#X obj 593 159 square;
+#X text 7 69 Description: Renders a square;
+#X text 33 14 Synopsis: [square];
+#X text 63 186 size of the square;
+#X text 16 86 The [square] object renders a square at the current position
+with current color. The size of the square can be changed via the second
+inlet.;
+#X connect 3 0 4 0;
+#X connect 4 0 3 0;
+#X connect 19 0 25 0;
+#X connect 20 0 25 0;
+#X connect 21 0 25 0;
+#X connect 22 0 25 0;
+#X connect 23 0 25 1;
diff --git a/packages/noncvs/windows/extra/Gem/surface3d-help.pd b/packages/noncvs/windows/extra/Gem/surface3d-help.pd
index 9c1ed468..1b0206d3 100644
--- a/packages/noncvs/windows/extra/Gem/surface3d-help.pd
+++ b/packages/noncvs/windows/extra/Gem/surface3d-help.pd
@@ -1,1653 +1,1653 @@
-#N canvas 2687 225 968 681 10;
-#X text 58 45 Class: geometric object;
-#X obj 13 64 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 13 212 cnv 15 450 280 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 17 214 Inlets:;
-#X obj 13 173 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 22 172 Arguments:;
-#X text 32 229 Inlet 1: gemlist;
-#X text 16 448 Outlets:;
-#X text 30 460 Outlet 1: gemlist;
-#X obj 475 63 cnv 15 480 560 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 805 544 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 455 304 gemwin 0;
-#X obj 132 182 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 198 112 destroy;
-#X msg 132 112 create \, 1;
-#X obj 294 56 gemhead;
-#X obj 294 76 world_light;
-#X msg 207 155 lighting 1;
-#X obj 207 134 loadbang;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X connect 8 0 9 0;
-#X connect 10 0 0 0;
-#X connect 11 0 10 0;
-#X restore 821 583 pd gemwin;
-#X msg 821 564 destroy;
-#X text 817 543 Create window:;
-#X obj 796 74 cnv 15 150 150 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 796 234 cnv 15 150 150 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 486 74 cnv 15 300 310 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X msg 519 175 draw line;
-#X msg 519 155 draw fill;
-#X msg 519 195 draw point;
-#X msg 536 300 width 1;
-#X msg 536 321 width 4;
-#X msg 519 216 draw line1;
-#X msg 519 237 draw line2;
-#X msg 519 258 draw line3;
-#X msg 519 279 draw line4;
-#X msg 657 169 draw control_line;
-#X msg 657 190 draw control_line1;
-#X msg 657 211 draw control_line2;
-#X msg 657 232 draw control_fill;
-#X msg 657 253 draw control_point;
-#X msg 834 111 res 2 2;
-#X msg 829 269 grid 2 10;
-#X msg 834 132 res 3 3;
-#X msg 829 290 grid 10 10;
-#X msg 829 332 grid 40 40;
-#X msg 834 153 res 5 5;
-#X msg 834 174 res 1 4;
-#X msg 829 311 grid 20 20;
-#X text 592 92 draw style;
-#X text 506 124 draw the curve;
-#X obj 810 198 s curve3d;
-#X obj 807 356 s curve3d;
-#X text 660 139 of the curve;
-#X text 647 125 draw control point;
-#X obj 486 398 cnv 15 300 210 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 494 407 gemhead;
-#X floatatom 522 450 5 0 0 0 - - -;
-#X floatatom 557 450 5 0 0 0 - - -;
-#X floatatom 593 450 5 0 0 0 - - -;
-#X floatatom 562 408 5 0 0 0 - - -;
-#X floatatom 610 408 5 0 0 0 - - -;
-#X floatatom 659 408 5 0 0 0 - - -;
-#X obj 494 471 rotateXYZ 0 0 0;
-#X obj 494 428 translateXYZ -2.5 -2.5 -2;
-#X obj 504 496 r curve3d;
-#X text 809 91 control matrix;
-#X text 804 78 resolution of the;
-#X text 805 239 resolution of the;
-#X text 826 250 curve grid;
-#X text 28 430 Inlet 2: not used;
-#X text 32 243 Inlet 1: message: draw [line|fill|point|...];
-#X obj 13 503 cnv 15 450 120 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 253 49 691 493 forme2 0;
-#N canvas 0 0 353 257 tripleRnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 219 outlet;
-#X obj 92 64 random 100;
-#X obj 92 122 pack 0 1000;
-#X obj 92 145 line;
-#X obj 170 64 random 100;
-#X obj 170 122 pack 0 1000;
-#X obj 170 145 line;
-#X obj 12 189 pack f f f;
-#X obj 12 90 / 20;
-#X obj 92 91 / 20;
-#X obj 170 91 / 20;
-#X obj 12 12 r bang_forme2;
-#X obj 231 9 r line_forme2;
-#X connect 0 0 11 0;
-#X connect 1 0 2 0;
-#X connect 2 0 10 0;
-#X connect 4 0 12 0;
-#X connect 5 0 6 0;
-#X connect 6 0 10 1;
-#X connect 7 0 13 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 2;
-#X connect 10 0 3 0;
-#X connect 11 0 1 0;
-#X connect 12 0 5 0;
-#X connect 13 0 8 0;
-#X connect 14 0 0 0;
-#X connect 14 0 4 0;
-#X connect 14 0 7 0;
-#X connect 15 0 1 1;
-#X connect 15 0 5 1;
-#X connect 15 0 8 1;
-#X restore 28 92 pd tripleRnd;
-#X msg 26 270 set 2 0 \$1 \$2 \$3;
-#X msg 161 269 set 2 1 \$1 \$2 \$3;
-#X msg 298 269 set 2 2 \$1 \$2 \$3;
-#X msg 299 190 set 1 2 \$1 \$2 \$3;
-#X msg 299 112 set 0 2 \$1 \$2 \$3;
-#X msg 161 112 set 0 1 \$1 \$2 \$3;
-#X msg 28 114 set 0 0 \$1 \$2 \$3;
-#X msg 29 193 set 1 0 \$1 \$2 \$3;
-#X msg 161 189 set 1 1 \$1 \$2 \$3;
-#X msg 26 337 set 3 0 \$1 \$2 \$3;
-#X msg 162 336 set 3 1 \$1 \$2 \$3;
-#X msg 298 338 set 3 2 \$1 \$2 \$3;
-#X msg 423 111 set 0 3 \$1 \$2 \$3;
-#X msg 424 189 set 1 3 \$1 \$2 \$3;
-#X msg 424 265 set 2 3 \$1 \$2 \$3;
-#X msg 423 335 set 3 3 \$1 \$2 \$3;
-#X msg 544 109 set 0 4 \$1 \$2 \$3;
-#X msg 545 187 set 1 4 \$1 \$2 \$3;
-#X msg 540 263 set 2 4 \$1 \$2 \$3;
-#X msg 543 333 set 3 4 \$1 \$2 \$3;
-#X msg 28 399 set 4 0 \$1 \$2 \$3;
-#X msg 162 392 set 4 1 \$1 \$2 \$3;
-#X msg 299 393 set 4 2 \$1 \$2 \$3;
-#X msg 424 391 set 4 3 \$1 \$2 \$3;
-#X msg 545 389 set 4 4 \$1 \$2 \$3;
-#X obj 10 445 outlet;
-#X obj 36 15 inlet;
-#X obj 36 39 s bang_forme2;
-#N canvas 0 0 355 259 tripleRnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 219 outlet;
-#X obj 92 64 random 100;
-#X obj 92 122 pack 0 1000;
-#X obj 92 145 line;
-#X obj 170 64 random 100;
-#X obj 170 122 pack 0 1000;
-#X obj 170 145 line;
-#X obj 12 189 pack f f f;
-#X obj 12 90 / 20;
-#X obj 92 91 / 20;
-#X obj 170 91 / 20;
-#X obj 12 12 r bang_forme2;
-#X obj 231 9 r line_forme2;
-#X connect 0 0 11 0;
-#X connect 1 0 2 0;
-#X connect 2 0 10 0;
-#X connect 4 0 12 0;
-#X connect 5 0 6 0;
-#X connect 6 0 10 1;
-#X connect 7 0 13 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 2;
-#X connect 10 0 3 0;
-#X connect 11 0 1 0;
-#X connect 12 0 5 0;
-#X connect 13 0 8 0;
-#X connect 14 0 0 0;
-#X connect 14 0 4 0;
-#X connect 14 0 7 0;
-#X connect 15 0 1 1;
-#X connect 15 0 5 1;
-#X connect 15 0 8 1;
-#X restore 161 90 pd tripleRnd;
-#N canvas 0 0 351 255 tripleRnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 219 outlet;
-#X obj 92 64 random 100;
-#X obj 92 122 pack 0 1000;
-#X obj 92 145 line;
-#X obj 170 64 random 100;
-#X obj 170 122 pack 0 1000;
-#X obj 170 145 line;
-#X obj 12 189 pack f f f;
-#X obj 12 90 / 20;
-#X obj 92 91 / 20;
-#X obj 170 91 / 20;
-#X obj 12 12 r bang_forme2;
-#X obj 231 9 r line_forme2;
-#X connect 0 0 11 0;
-#X connect 1 0 2 0;
-#X connect 2 0 10 0;
-#X connect 4 0 12 0;
-#X connect 5 0 6 0;
-#X connect 6 0 10 1;
-#X connect 7 0 13 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 2;
-#X connect 10 0 3 0;
-#X connect 11 0 1 0;
-#X connect 12 0 5 0;
-#X connect 13 0 8 0;
-#X connect 14 0 0 0;
-#X connect 14 0 4 0;
-#X connect 14 0 7 0;
-#X connect 15 0 1 1;
-#X connect 15 0 5 1;
-#X connect 15 0 8 1;
-#X restore 299 91 pd tripleRnd;
-#N canvas 0 0 351 255 tripleRnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 219 outlet;
-#X obj 92 64 random 100;
-#X obj 92 122 pack 0 1000;
-#X obj 92 145 line;
-#X obj 170 64 random 100;
-#X obj 170 122 pack 0 1000;
-#X obj 170 145 line;
-#X obj 12 189 pack f f f;
-#X obj 12 90 / 20;
-#X obj 92 91 / 20;
-#X obj 170 91 / 20;
-#X obj 12 12 r bang_forme2;
-#X obj 231 9 r line_forme2;
-#X connect 0 0 11 0;
-#X connect 1 0 2 0;
-#X connect 2 0 10 0;
-#X connect 4 0 12 0;
-#X connect 5 0 6 0;
-#X connect 6 0 10 1;
-#X connect 7 0 13 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 2;
-#X connect 10 0 3 0;
-#X connect 11 0 1 0;
-#X connect 12 0 5 0;
-#X connect 13 0 8 0;
-#X connect 14 0 0 0;
-#X connect 14 0 4 0;
-#X connect 14 0 7 0;
-#X connect 15 0 1 1;
-#X connect 15 0 5 1;
-#X connect 15 0 8 1;
-#X restore 423 89 pd tripleRnd;
-#N canvas 0 0 351 255 tripleRnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 219 outlet;
-#X obj 92 64 random 100;
-#X obj 92 122 pack 0 1000;
-#X obj 92 145 line;
-#X obj 170 64 random 100;
-#X obj 170 122 pack 0 1000;
-#X obj 170 145 line;
-#X obj 12 189 pack f f f;
-#X obj 12 90 / 20;
-#X obj 92 91 / 20;
-#X obj 170 91 / 20;
-#X obj 12 12 r bang_forme2;
-#X obj 231 9 r line_forme2;
-#X connect 0 0 11 0;
-#X connect 1 0 2 0;
-#X connect 2 0 10 0;
-#X connect 4 0 12 0;
-#X connect 5 0 6 0;
-#X connect 6 0 10 1;
-#X connect 7 0 13 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 2;
-#X connect 10 0 3 0;
-#X connect 11 0 1 0;
-#X connect 12 0 5 0;
-#X connect 13 0 8 0;
-#X connect 14 0 0 0;
-#X connect 14 0 4 0;
-#X connect 14 0 7 0;
-#X connect 15 0 1 1;
-#X connect 15 0 5 1;
-#X connect 15 0 8 1;
-#X restore 544 86 pd tripleRnd;
-#N canvas 0 0 351 255 tripleRnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 219 outlet;
-#X obj 92 64 random 100;
-#X obj 92 122 pack 0 1000;
-#X obj 92 145 line;
-#X obj 170 64 random 100;
-#X obj 170 122 pack 0 1000;
-#X obj 170 145 line;
-#X obj 12 189 pack f f f;
-#X obj 12 90 / 20;
-#X obj 92 91 / 20;
-#X obj 170 91 / 20;
-#X obj 12 12 r bang_forme2;
-#X obj 231 9 r line_forme2;
-#X connect 0 0 11 0;
-#X connect 1 0 2 0;
-#X connect 2 0 10 0;
-#X connect 4 0 12 0;
-#X connect 5 0 6 0;
-#X connect 6 0 10 1;
-#X connect 7 0 13 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 2;
-#X connect 10 0 3 0;
-#X connect 11 0 1 0;
-#X connect 12 0 5 0;
-#X connect 13 0 8 0;
-#X connect 14 0 0 0;
-#X connect 14 0 4 0;
-#X connect 14 0 7 0;
-#X connect 15 0 1 1;
-#X connect 15 0 5 1;
-#X connect 15 0 8 1;
-#X restore 29 169 pd tripleRnd;
-#N canvas 0 0 351 255 tripleRnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 219 outlet;
-#X obj 92 64 random 100;
-#X obj 92 122 pack 0 1000;
-#X obj 92 145 line;
-#X obj 170 64 random 100;
-#X obj 170 122 pack 0 1000;
-#X obj 170 145 line;
-#X obj 12 189 pack f f f;
-#X obj 12 90 / 20;
-#X obj 92 91 / 20;
-#X obj 170 91 / 20;
-#X obj 12 12 r bang_forme2;
-#X obj 231 9 r line_forme2;
-#X connect 0 0 11 0;
-#X connect 1 0 2 0;
-#X connect 2 0 10 0;
-#X connect 4 0 12 0;
-#X connect 5 0 6 0;
-#X connect 6 0 10 1;
-#X connect 7 0 13 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 2;
-#X connect 10 0 3 0;
-#X connect 11 0 1 0;
-#X connect 12 0 5 0;
-#X connect 13 0 8 0;
-#X connect 14 0 0 0;
-#X connect 14 0 4 0;
-#X connect 14 0 7 0;
-#X connect 15 0 1 1;
-#X connect 15 0 5 1;
-#X connect 15 0 8 1;
-#X restore 162 167 pd tripleRnd;
-#N canvas 0 0 351 255 tripleRnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 219 outlet;
-#X obj 92 64 random 100;
-#X obj 92 122 pack 0 1000;
-#X obj 92 145 line;
-#X obj 170 64 random 100;
-#X obj 170 122 pack 0 1000;
-#X obj 170 145 line;
-#X obj 12 189 pack f f f;
-#X obj 12 90 / 20;
-#X obj 92 91 / 20;
-#X obj 170 91 / 20;
-#X obj 12 12 r bang_forme2;
-#X obj 231 9 r line_forme2;
-#X connect 0 0 11 0;
-#X connect 1 0 2 0;
-#X connect 2 0 10 0;
-#X connect 4 0 12 0;
-#X connect 5 0 6 0;
-#X connect 6 0 10 1;
-#X connect 7 0 13 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 2;
-#X connect 10 0 3 0;
-#X connect 11 0 1 0;
-#X connect 12 0 5 0;
-#X connect 13 0 8 0;
-#X connect 14 0 0 0;
-#X connect 14 0 4 0;
-#X connect 14 0 7 0;
-#X connect 15 0 1 1;
-#X connect 15 0 5 1;
-#X connect 15 0 8 1;
-#X restore 300 168 pd tripleRnd;
-#N canvas 0 0 351 255 tripleRnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 219 outlet;
-#X obj 92 64 random 100;
-#X obj 92 122 pack 0 1000;
-#X obj 92 145 line;
-#X obj 170 64 random 100;
-#X obj 170 122 pack 0 1000;
-#X obj 170 145 line;
-#X obj 12 189 pack f f f;
-#X obj 12 90 / 20;
-#X obj 92 91 / 20;
-#X obj 170 91 / 20;
-#X obj 12 12 r bang_forme2;
-#X obj 231 9 r line_forme2;
-#X connect 0 0 11 0;
-#X connect 1 0 2 0;
-#X connect 2 0 10 0;
-#X connect 4 0 12 0;
-#X connect 5 0 6 0;
-#X connect 6 0 10 1;
-#X connect 7 0 13 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 2;
-#X connect 10 0 3 0;
-#X connect 11 0 1 0;
-#X connect 12 0 5 0;
-#X connect 13 0 8 0;
-#X connect 14 0 0 0;
-#X connect 14 0 4 0;
-#X connect 14 0 7 0;
-#X connect 15 0 1 1;
-#X connect 15 0 5 1;
-#X connect 15 0 8 1;
-#X restore 424 166 pd tripleRnd;
-#N canvas 0 0 351 255 tripleRnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 219 outlet;
-#X obj 92 64 random 100;
-#X obj 92 122 pack 0 1000;
-#X obj 92 145 line;
-#X obj 170 64 random 100;
-#X obj 170 122 pack 0 1000;
-#X obj 170 145 line;
-#X obj 12 189 pack f f f;
-#X obj 12 90 / 20;
-#X obj 92 91 / 20;
-#X obj 170 91 / 20;
-#X obj 12 12 r bang_forme2;
-#X obj 231 9 r line_forme2;
-#X connect 0 0 11 0;
-#X connect 1 0 2 0;
-#X connect 2 0 10 0;
-#X connect 4 0 12 0;
-#X connect 5 0 6 0;
-#X connect 6 0 10 1;
-#X connect 7 0 13 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 2;
-#X connect 10 0 3 0;
-#X connect 11 0 1 0;
-#X connect 12 0 5 0;
-#X connect 13 0 8 0;
-#X connect 14 0 0 0;
-#X connect 14 0 4 0;
-#X connect 14 0 7 0;
-#X connect 15 0 1 1;
-#X connect 15 0 5 1;
-#X connect 15 0 8 1;
-#X restore 545 163 pd tripleRnd;
-#N canvas 0 0 351 255 tripleRnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 219 outlet;
-#X obj 92 64 random 100;
-#X obj 92 122 pack 0 1000;
-#X obj 92 145 line;
-#X obj 170 64 random 100;
-#X obj 170 122 pack 0 1000;
-#X obj 170 145 line;
-#X obj 12 189 pack f f f;
-#X obj 12 90 / 20;
-#X obj 92 91 / 20;
-#X obj 170 91 / 20;
-#X obj 12 12 r bang_forme2;
-#X obj 231 9 r line_forme2;
-#X connect 0 0 11 0;
-#X connect 1 0 2 0;
-#X connect 2 0 10 0;
-#X connect 4 0 12 0;
-#X connect 5 0 6 0;
-#X connect 6 0 10 1;
-#X connect 7 0 13 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 2;
-#X connect 10 0 3 0;
-#X connect 11 0 1 0;
-#X connect 12 0 5 0;
-#X connect 13 0 8 0;
-#X connect 14 0 0 0;
-#X connect 14 0 4 0;
-#X connect 14 0 7 0;
-#X connect 15 0 1 1;
-#X connect 15 0 5 1;
-#X connect 15 0 8 1;
-#X restore 28 247 pd tripleRnd;
-#N canvas 0 0 351 255 tripleRnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 219 outlet;
-#X obj 92 64 random 100;
-#X obj 92 122 pack 0 1000;
-#X obj 92 145 line;
-#X obj 170 64 random 100;
-#X obj 170 122 pack 0 1000;
-#X obj 170 145 line;
-#X obj 12 189 pack f f f;
-#X obj 12 90 / 20;
-#X obj 92 91 / 20;
-#X obj 170 91 / 20;
-#X obj 12 12 r bang_forme2;
-#X obj 231 9 r line_forme2;
-#X connect 0 0 11 0;
-#X connect 1 0 2 0;
-#X connect 2 0 10 0;
-#X connect 4 0 12 0;
-#X connect 5 0 6 0;
-#X connect 6 0 10 1;
-#X connect 7 0 13 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 2;
-#X connect 10 0 3 0;
-#X connect 11 0 1 0;
-#X connect 12 0 5 0;
-#X connect 13 0 8 0;
-#X connect 14 0 0 0;
-#X connect 14 0 4 0;
-#X connect 14 0 7 0;
-#X connect 15 0 1 1;
-#X connect 15 0 5 1;
-#X connect 15 0 8 1;
-#X restore 161 245 pd tripleRnd;
-#N canvas 0 0 351 255 tripleRnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 219 outlet;
-#X obj 92 64 random 100;
-#X obj 92 122 pack 0 1000;
-#X obj 92 145 line;
-#X obj 170 64 random 100;
-#X obj 170 122 pack 0 1000;
-#X obj 170 145 line;
-#X obj 12 189 pack f f f;
-#X obj 12 90 / 20;
-#X obj 92 91 / 20;
-#X obj 170 91 / 20;
-#X obj 12 12 r bang_forme2;
-#X obj 231 9 r line_forme2;
-#X connect 0 0 11 0;
-#X connect 1 0 2 0;
-#X connect 2 0 10 0;
-#X connect 4 0 12 0;
-#X connect 5 0 6 0;
-#X connect 6 0 10 1;
-#X connect 7 0 13 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 2;
-#X connect 10 0 3 0;
-#X connect 11 0 1 0;
-#X connect 12 0 5 0;
-#X connect 13 0 8 0;
-#X connect 14 0 0 0;
-#X connect 14 0 4 0;
-#X connect 14 0 7 0;
-#X connect 15 0 1 1;
-#X connect 15 0 5 1;
-#X connect 15 0 8 1;
-#X restore 299 246 pd tripleRnd;
-#N canvas 0 0 351 255 tripleRnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 219 outlet;
-#X obj 92 64 random 100;
-#X obj 92 122 pack 0 1000;
-#X obj 92 145 line;
-#X obj 170 64 random 100;
-#X obj 170 122 pack 0 1000;
-#X obj 170 145 line;
-#X obj 12 189 pack f f f;
-#X obj 12 90 / 20;
-#X obj 92 91 / 20;
-#X obj 170 91 / 20;
-#X obj 12 12 r bang_forme2;
-#X obj 231 9 r line_forme2;
-#X connect 0 0 11 0;
-#X connect 1 0 2 0;
-#X connect 2 0 10 0;
-#X connect 4 0 12 0;
-#X connect 5 0 6 0;
-#X connect 6 0 10 1;
-#X connect 7 0 13 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 2;
-#X connect 10 0 3 0;
-#X connect 11 0 1 0;
-#X connect 12 0 5 0;
-#X connect 13 0 8 0;
-#X connect 14 0 0 0;
-#X connect 14 0 4 0;
-#X connect 14 0 7 0;
-#X connect 15 0 1 1;
-#X connect 15 0 5 1;
-#X connect 15 0 8 1;
-#X restore 422 244 pd tripleRnd;
-#N canvas 0 0 351 255 tripleRnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 219 outlet;
-#X obj 92 64 random 100;
-#X obj 92 122 pack 0 1000;
-#X obj 92 145 line;
-#X obj 170 64 random 100;
-#X obj 170 122 pack 0 1000;
-#X obj 170 145 line;
-#X obj 12 189 pack f f f;
-#X obj 12 90 / 20;
-#X obj 92 91 / 20;
-#X obj 170 91 / 20;
-#X obj 12 12 r bang_forme2;
-#X obj 231 9 r line_forme2;
-#X connect 0 0 11 0;
-#X connect 1 0 2 0;
-#X connect 2 0 10 0;
-#X connect 4 0 12 0;
-#X connect 5 0 6 0;
-#X connect 6 0 10 1;
-#X connect 7 0 13 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 2;
-#X connect 10 0 3 0;
-#X connect 11 0 1 0;
-#X connect 12 0 5 0;
-#X connect 13 0 8 0;
-#X connect 14 0 0 0;
-#X connect 14 0 4 0;
-#X connect 14 0 7 0;
-#X connect 15 0 1 1;
-#X connect 15 0 5 1;
-#X connect 15 0 8 1;
-#X restore 544 241 pd tripleRnd;
-#N canvas 0 0 351 255 tripleRnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 219 outlet;
-#X obj 92 64 random 100;
-#X obj 92 122 pack 0 1000;
-#X obj 92 145 line;
-#X obj 170 64 random 100;
-#X obj 170 122 pack 0 1000;
-#X obj 170 145 line;
-#X obj 12 189 pack f f f;
-#X obj 12 90 / 20;
-#X obj 92 91 / 20;
-#X obj 170 91 / 20;
-#X obj 12 12 r bang_forme2;
-#X obj 231 9 r line_forme2;
-#X connect 0 0 11 0;
-#X connect 1 0 2 0;
-#X connect 2 0 10 0;
-#X connect 4 0 12 0;
-#X connect 5 0 6 0;
-#X connect 6 0 10 1;
-#X connect 7 0 13 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 2;
-#X connect 10 0 3 0;
-#X connect 11 0 1 0;
-#X connect 12 0 5 0;
-#X connect 13 0 8 0;
-#X connect 14 0 0 0;
-#X connect 14 0 4 0;
-#X connect 14 0 7 0;
-#X connect 15 0 1 1;
-#X connect 15 0 5 1;
-#X connect 15 0 8 1;
-#X restore 28 318 pd tripleRnd;
-#N canvas 0 0 351 255 tripleRnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 219 outlet;
-#X obj 92 64 random 100;
-#X obj 92 122 pack 0 1000;
-#X obj 92 145 line;
-#X obj 170 64 random 100;
-#X obj 170 122 pack 0 1000;
-#X obj 170 145 line;
-#X obj 12 189 pack f f f;
-#X obj 12 90 / 20;
-#X obj 92 91 / 20;
-#X obj 170 91 / 20;
-#X obj 12 12 r bang_forme2;
-#X obj 231 9 r line_forme2;
-#X connect 0 0 11 0;
-#X connect 1 0 2 0;
-#X connect 2 0 10 0;
-#X connect 4 0 12 0;
-#X connect 5 0 6 0;
-#X connect 6 0 10 1;
-#X connect 7 0 13 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 2;
-#X connect 10 0 3 0;
-#X connect 11 0 1 0;
-#X connect 12 0 5 0;
-#X connect 13 0 8 0;
-#X connect 14 0 0 0;
-#X connect 14 0 4 0;
-#X connect 14 0 7 0;
-#X connect 15 0 1 1;
-#X connect 15 0 5 1;
-#X connect 15 0 8 1;
-#X restore 161 316 pd tripleRnd;
-#N canvas 0 0 351 255 tripleRnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 219 outlet;
-#X obj 92 64 random 100;
-#X obj 92 122 pack 0 1000;
-#X obj 92 145 line;
-#X obj 170 64 random 100;
-#X obj 170 122 pack 0 1000;
-#X obj 170 145 line;
-#X obj 12 189 pack f f f;
-#X obj 12 90 / 20;
-#X obj 92 91 / 20;
-#X obj 170 91 / 20;
-#X obj 12 12 r bang_forme2;
-#X obj 231 9 r line_forme2;
-#X connect 0 0 11 0;
-#X connect 1 0 2 0;
-#X connect 2 0 10 0;
-#X connect 4 0 12 0;
-#X connect 5 0 6 0;
-#X connect 6 0 10 1;
-#X connect 7 0 13 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 2;
-#X connect 10 0 3 0;
-#X connect 11 0 1 0;
-#X connect 12 0 5 0;
-#X connect 13 0 8 0;
-#X connect 14 0 0 0;
-#X connect 14 0 4 0;
-#X connect 14 0 7 0;
-#X connect 15 0 1 1;
-#X connect 15 0 5 1;
-#X connect 15 0 8 1;
-#X restore 299 317 pd tripleRnd;
-#N canvas 0 0 351 255 tripleRnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 219 outlet;
-#X obj 92 64 random 100;
-#X obj 92 122 pack 0 1000;
-#X obj 92 145 line;
-#X obj 170 64 random 100;
-#X obj 170 122 pack 0 1000;
-#X obj 170 145 line;
-#X obj 12 189 pack f f f;
-#X obj 12 90 / 20;
-#X obj 92 91 / 20;
-#X obj 170 91 / 20;
-#X obj 12 12 r bang_forme2;
-#X obj 231 9 r line_forme2;
-#X connect 0 0 11 0;
-#X connect 1 0 2 0;
-#X connect 2 0 10 0;
-#X connect 4 0 12 0;
-#X connect 5 0 6 0;
-#X connect 6 0 10 1;
-#X connect 7 0 13 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 2;
-#X connect 10 0 3 0;
-#X connect 11 0 1 0;
-#X connect 12 0 5 0;
-#X connect 13 0 8 0;
-#X connect 14 0 0 0;
-#X connect 14 0 4 0;
-#X connect 14 0 7 0;
-#X connect 15 0 1 1;
-#X connect 15 0 5 1;
-#X connect 15 0 8 1;
-#X restore 423 315 pd tripleRnd;
-#N canvas 0 0 351 255 tripleRnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 219 outlet;
-#X obj 92 64 random 100;
-#X obj 92 122 pack 0 1000;
-#X obj 92 145 line;
-#X obj 170 64 random 100;
-#X obj 170 122 pack 0 1000;
-#X obj 170 145 line;
-#X obj 12 189 pack f f f;
-#X obj 12 90 / 20;
-#X obj 92 91 / 20;
-#X obj 170 91 / 20;
-#X obj 12 12 r bang_forme2;
-#X obj 231 9 r line_forme2;
-#X connect 0 0 11 0;
-#X connect 1 0 2 0;
-#X connect 2 0 10 0;
-#X connect 4 0 12 0;
-#X connect 5 0 6 0;
-#X connect 6 0 10 1;
-#X connect 7 0 13 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 2;
-#X connect 10 0 3 0;
-#X connect 11 0 1 0;
-#X connect 12 0 5 0;
-#X connect 13 0 8 0;
-#X connect 14 0 0 0;
-#X connect 14 0 4 0;
-#X connect 14 0 7 0;
-#X connect 15 0 1 1;
-#X connect 15 0 5 1;
-#X connect 15 0 8 1;
-#X restore 544 312 pd tripleRnd;
-#N canvas 0 0 351 255 tripleRnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 219 outlet;
-#X obj 92 64 random 100;
-#X obj 92 122 pack 0 1000;
-#X obj 92 145 line;
-#X obj 170 64 random 100;
-#X obj 170 122 pack 0 1000;
-#X obj 170 145 line;
-#X obj 12 189 pack f f f;
-#X obj 12 90 / 20;
-#X obj 92 91 / 20;
-#X obj 170 91 / 20;
-#X obj 12 12 r bang_forme2;
-#X obj 231 9 r line_forme2;
-#X connect 0 0 11 0;
-#X connect 1 0 2 0;
-#X connect 2 0 10 0;
-#X connect 4 0 12 0;
-#X connect 5 0 6 0;
-#X connect 6 0 10 1;
-#X connect 7 0 13 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 2;
-#X connect 10 0 3 0;
-#X connect 11 0 1 0;
-#X connect 12 0 5 0;
-#X connect 13 0 8 0;
-#X connect 14 0 0 0;
-#X connect 14 0 4 0;
-#X connect 14 0 7 0;
-#X connect 15 0 1 1;
-#X connect 15 0 5 1;
-#X connect 15 0 8 1;
-#X restore 29 374 pd tripleRnd;
-#N canvas 0 0 351 255 tripleRnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 219 outlet;
-#X obj 92 64 random 100;
-#X obj 92 122 pack 0 1000;
-#X obj 92 145 line;
-#X obj 170 64 random 100;
-#X obj 170 122 pack 0 1000;
-#X obj 170 145 line;
-#X obj 12 189 pack f f f;
-#X obj 12 90 / 20;
-#X obj 92 91 / 20;
-#X obj 170 91 / 20;
-#X obj 12 12 r bang_forme2;
-#X obj 231 9 r line_forme2;
-#X connect 0 0 11 0;
-#X connect 1 0 2 0;
-#X connect 2 0 10 0;
-#X connect 4 0 12 0;
-#X connect 5 0 6 0;
-#X connect 6 0 10 1;
-#X connect 7 0 13 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 2;
-#X connect 10 0 3 0;
-#X connect 11 0 1 0;
-#X connect 12 0 5 0;
-#X connect 13 0 8 0;
-#X connect 14 0 0 0;
-#X connect 14 0 4 0;
-#X connect 14 0 7 0;
-#X connect 15 0 1 1;
-#X connect 15 0 5 1;
-#X connect 15 0 8 1;
-#X restore 162 372 pd tripleRnd;
-#N canvas 0 0 351 255 tripleRnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 219 outlet;
-#X obj 92 64 random 100;
-#X obj 92 122 pack 0 1000;
-#X obj 92 145 line;
-#X obj 170 64 random 100;
-#X obj 170 122 pack 0 1000;
-#X obj 170 145 line;
-#X obj 12 189 pack f f f;
-#X obj 12 90 / 20;
-#X obj 92 91 / 20;
-#X obj 170 91 / 20;
-#X obj 12 12 r bang_forme2;
-#X obj 231 9 r line_forme2;
-#X connect 0 0 11 0;
-#X connect 1 0 2 0;
-#X connect 2 0 10 0;
-#X connect 4 0 12 0;
-#X connect 5 0 6 0;
-#X connect 6 0 10 1;
-#X connect 7 0 13 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 2;
-#X connect 10 0 3 0;
-#X connect 11 0 1 0;
-#X connect 12 0 5 0;
-#X connect 13 0 8 0;
-#X connect 14 0 0 0;
-#X connect 14 0 4 0;
-#X connect 14 0 7 0;
-#X connect 15 0 1 1;
-#X connect 15 0 5 1;
-#X connect 15 0 8 1;
-#X restore 300 373 pd tripleRnd;
-#N canvas 0 0 351 255 tripleRnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 219 outlet;
-#X obj 92 64 random 100;
-#X obj 92 122 pack 0 1000;
-#X obj 92 145 line;
-#X obj 170 64 random 100;
-#X obj 170 122 pack 0 1000;
-#X obj 170 145 line;
-#X obj 12 189 pack f f f;
-#X obj 12 90 / 20;
-#X obj 92 91 / 20;
-#X obj 170 91 / 20;
-#X obj 12 12 r bang_forme2;
-#X obj 231 9 r line_forme2;
-#X connect 0 0 11 0;
-#X connect 1 0 2 0;
-#X connect 2 0 10 0;
-#X connect 4 0 12 0;
-#X connect 5 0 6 0;
-#X connect 6 0 10 1;
-#X connect 7 0 13 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 2;
-#X connect 10 0 3 0;
-#X connect 11 0 1 0;
-#X connect 12 0 5 0;
-#X connect 13 0 8 0;
-#X connect 14 0 0 0;
-#X connect 14 0 4 0;
-#X connect 14 0 7 0;
-#X connect 15 0 1 1;
-#X connect 15 0 5 1;
-#X connect 15 0 8 1;
-#X restore 424 371 pd tripleRnd;
-#N canvas 0 0 351 255 tripleRnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 219 outlet;
-#X obj 92 64 random 100;
-#X obj 92 122 pack 0 1000;
-#X obj 92 145 line;
-#X obj 170 64 random 100;
-#X obj 170 122 pack 0 1000;
-#X obj 170 145 line;
-#X obj 12 189 pack f f f;
-#X obj 12 90 / 20;
-#X obj 92 91 / 20;
-#X obj 170 91 / 20;
-#X obj 12 12 r bang_forme2;
-#X obj 231 9 r line_forme2;
-#X connect 0 0 11 0;
-#X connect 1 0 2 0;
-#X connect 2 0 10 0;
-#X connect 4 0 12 0;
-#X connect 5 0 6 0;
-#X connect 6 0 10 1;
-#X connect 7 0 13 0;
-#X connect 8 0 9 0;
-#X connect 9 0 10 2;
-#X connect 10 0 3 0;
-#X connect 11 0 1 0;
-#X connect 12 0 5 0;
-#X connect 13 0 8 0;
-#X connect 14 0 0 0;
-#X connect 14 0 4 0;
-#X connect 14 0 7 0;
-#X connect 15 0 1 1;
-#X connect 15 0 5 1;
-#X connect 15 0 8 1;
-#X restore 545 368 pd tripleRnd;
-#X connect 0 0 7 0;
-#X connect 1 0 26 0;
-#X connect 2 0 26 0;
-#X connect 3 0 26 0;
-#X connect 4 0 26 0;
-#X connect 5 0 26 0;
-#X connect 6 0 26 0;
-#X connect 7 0 26 0;
-#X connect 8 0 26 0;
-#X connect 9 0 26 0;
-#X connect 10 0 26 0;
-#X connect 11 0 26 0;
-#X connect 12 0 26 0;
-#X connect 13 0 26 0;
-#X connect 14 0 26 0;
-#X connect 15 0 26 0;
-#X connect 16 0 26 0;
-#X connect 17 0 26 0;
-#X connect 18 0 26 0;
-#X connect 19 0 26 0;
-#X connect 20 0 26 0;
-#X connect 21 0 26 0;
-#X connect 22 0 26 0;
-#X connect 23 0 26 0;
-#X connect 24 0 26 0;
-#X connect 25 0 26 0;
-#X connect 27 0 28 0;
-#X connect 29 0 6 0;
-#X connect 30 0 5 0;
-#X connect 31 0 13 0;
-#X connect 32 0 17 0;
-#X connect 33 0 8 0;
-#X connect 34 0 9 0;
-#X connect 35 0 4 0;
-#X connect 36 0 14 0;
-#X connect 37 0 18 0;
-#X connect 38 0 1 0;
-#X connect 39 0 2 0;
-#X connect 40 0 3 0;
-#X connect 41 0 15 0;
-#X connect 42 0 19 0;
-#X connect 43 0 10 0;
-#X connect 44 0 11 0;
-#X connect 45 0 12 0;
-#X connect 46 0 16 0;
-#X connect 47 0 20 0;
-#X connect 48 0 21 0;
-#X connect 49 0 22 0;
-#X connect 50 0 23 0;
-#X connect 51 0 24 0;
-#X connect 52 0 25 0;
-#X restore 136 549 pd forme2;
-#X obj 136 530 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 57 550 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#N canvas 253 49 697 499 forme1 0;
-#X obj 76 418 outlet;
-#X obj 36 15 inlet;
-#N canvas 0 0 251 239 Rnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 173 outlet;
-#X obj 12 90 / 20;
-#X obj 12 12 r bang_forme3;
-#X obj 105 11 r line_forme3;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 4 0 1 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 1;
-#X restore 28 92 pd Rnd;
-#X msg 28 114 set 0 0 0 0 \$1;
-#X msg 126 115 set 0 1 0 1 \$1;
-#X msg 227 116 set 0 2 0 2 \$1;
-#X msg 323 117 set 0 3 0 3 \$1;
-#X msg 419 116 set 0 4 0 4 \$1;
-#X msg 47 159 set 1 0 1 0 \$1;
-#X msg 145 160 set 1 1 1 1 \$1;
-#X msg 246 161 set 1 2 1 2 \$1;
-#X msg 342 162 set 1 3 1 3 \$1;
-#X msg 438 161 set 1 4 1 4 \$1;
-#X msg 68 202 set 2 0 2 0 \$1;
-#X msg 166 203 set 2 1 2 1 \$1;
-#X msg 267 204 set 2 2 2 2 \$1;
-#X msg 363 205 set 2 3 2 3 \$1;
-#X msg 459 204 set 2 4 2 4 \$1;
-#X msg 97 249 set 3 0 3 0 \$1;
-#X msg 195 250 set 3 1 3 1 \$1;
-#X msg 297 251 set 3 2 3 2 \$1;
-#X msg 393 252 set 3 3 3 3 \$1;
-#X msg 488 251 set 3 4 3 4 \$1;
-#X msg 121 296 set 4 0 4 0 \$1;
-#X msg 219 297 set 4 1 4 1 \$1;
-#X msg 320 298 set 4 2 4 2 \$1;
-#X msg 416 299 set 4 3 4 3 \$1;
-#X msg 512 298 set 4 4 4 4 \$1;
-#X obj 36 39 s bang_forme3;
-#N canvas 0 0 249 237 Rnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 173 outlet;
-#X obj 12 90 / 20;
-#X obj 12 12 r bang_forme3;
-#X obj 105 11 r line_forme3;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 4 0 1 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 1;
-#X restore 127 92 pd Rnd;
-#N canvas 0 0 251 239 Rnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 173 outlet;
-#X obj 12 90 / 20;
-#X obj 12 12 r bang_forme3;
-#X obj 105 11 r line_forme3;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 4 0 1 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 1;
-#X restore 227 93 pd Rnd;
-#N canvas 0 0 249 237 Rnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 173 outlet;
-#X obj 12 90 / 20;
-#X obj 12 12 r bang_forme3;
-#X obj 105 11 r line_forme3;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 4 0 1 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 1;
-#X restore 326 93 pd Rnd;
-#N canvas 0 0 249 237 Rnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 173 outlet;
-#X obj 12 90 / 20;
-#X obj 12 12 r bang_forme3;
-#X obj 105 11 r line_forme3;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 4 0 1 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 1;
-#X restore 420 94 pd Rnd;
-#N canvas 0 0 249 237 Rnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 173 outlet;
-#X obj 12 90 / 20;
-#X obj 12 12 r bang_forme3;
-#X obj 105 11 r line_forme3;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 4 0 1 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 1;
-#X restore 48 138 pd Rnd;
-#N canvas 0 0 249 237 Rnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 173 outlet;
-#X obj 12 90 / 20;
-#X obj 12 12 r bang_forme3;
-#X obj 105 11 r line_forme3;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 4 0 1 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 1;
-#X restore 147 138 pd Rnd;
-#N canvas 0 0 249 237 Rnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 173 outlet;
-#X obj 12 90 / 20;
-#X obj 12 12 r bang_forme3;
-#X obj 105 11 r line_forme3;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 4 0 1 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 1;
-#X restore 247 139 pd Rnd;
-#N canvas 0 0 249 237 Rnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 173 outlet;
-#X obj 12 90 / 20;
-#X obj 12 12 r bang_forme3;
-#X obj 105 11 r line_forme3;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 4 0 1 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 1;
-#X restore 346 139 pd Rnd;
-#N canvas 0 0 249 237 Rnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 173 outlet;
-#X obj 12 90 / 20;
-#X obj 12 12 r bang_forme3;
-#X obj 105 11 r line_forme3;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 4 0 1 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 1;
-#X restore 440 140 pd Rnd;
-#N canvas 0 0 249 237 Rnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 173 outlet;
-#X obj 12 90 / 20;
-#X obj 12 12 r bang_forme3;
-#X obj 105 11 r line_forme3;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 4 0 1 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 1;
-#X restore 68 181 pd Rnd;
-#N canvas 0 0 249 237 Rnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 173 outlet;
-#X obj 12 90 / 20;
-#X obj 12 12 r bang_forme3;
-#X obj 105 11 r line_forme3;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 4 0 1 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 1;
-#X restore 167 181 pd Rnd;
-#N canvas 0 0 249 237 Rnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 173 outlet;
-#X obj 12 90 / 20;
-#X obj 12 12 r bang_forme3;
-#X obj 105 11 r line_forme3;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 4 0 1 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 1;
-#X restore 267 182 pd Rnd;
-#N canvas 0 0 249 237 Rnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 173 outlet;
-#X obj 12 90 / 20;
-#X obj 12 12 r bang_forme3;
-#X obj 105 11 r line_forme3;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 4 0 1 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 1;
-#X restore 366 182 pd Rnd;
-#N canvas 0 0 249 237 Rnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 173 outlet;
-#X obj 12 90 / 20;
-#X obj 12 12 r bang_forme3;
-#X obj 105 11 r line_forme3;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 4 0 1 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 1;
-#X restore 460 183 pd Rnd;
-#N canvas 0 0 249 237 Rnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 173 outlet;
-#X obj 12 90 / 20;
-#X obj 12 12 r bang_forme3;
-#X obj 105 11 r line_forme3;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 4 0 1 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 1;
-#X restore 97 227 pd Rnd;
-#N canvas 0 0 249 237 Rnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 173 outlet;
-#X obj 12 90 / 20;
-#X obj 12 12 r bang_forme3;
-#X obj 105 11 r line_forme3;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 4 0 1 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 1;
-#X restore 196 227 pd Rnd;
-#N canvas 0 0 249 237 Rnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 173 outlet;
-#X obj 12 90 / 20;
-#X obj 12 12 r bang_forme3;
-#X obj 105 11 r line_forme3;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 4 0 1 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 1;
-#X restore 296 228 pd Rnd;
-#N canvas 0 0 249 237 Rnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 173 outlet;
-#X obj 12 90 / 20;
-#X obj 12 12 r bang_forme3;
-#X obj 105 11 r line_forme3;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 4 0 1 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 1;
-#X restore 395 228 pd Rnd;
-#N canvas 0 0 249 237 Rnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 173 outlet;
-#X obj 12 90 / 20;
-#X obj 12 12 r bang_forme3;
-#X obj 105 11 r line_forme3;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 4 0 1 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 1;
-#X restore 489 229 pd Rnd;
-#N canvas 0 0 249 237 Rnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 173 outlet;
-#X obj 12 90 / 20;
-#X obj 12 12 r bang_forme3;
-#X obj 105 11 r line_forme3;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 4 0 1 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 1;
-#X restore 121 275 pd Rnd;
-#N canvas 0 0 249 237 Rnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 173 outlet;
-#X obj 12 90 / 20;
-#X obj 12 12 r bang_forme3;
-#X obj 105 11 r line_forme3;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 4 0 1 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 1;
-#X restore 220 275 pd Rnd;
-#N canvas 0 0 249 237 Rnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 173 outlet;
-#X obj 12 90 / 20;
-#X obj 12 12 r bang_forme3;
-#X obj 105 11 r line_forme3;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 4 0 1 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 1;
-#X restore 320 276 pd Rnd;
-#N canvas 0 0 249 237 Rnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 173 outlet;
-#X obj 12 90 / 20;
-#X obj 12 12 r bang_forme3;
-#X obj 105 11 r line_forme3;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 4 0 1 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 1;
-#X restore 419 276 pd Rnd;
-#N canvas 0 0 249 237 Rnd 0;
-#X obj 12 63 random 100;
-#X obj 12 121 pack 0 1000;
-#X obj 12 149 line;
-#X obj 12 173 outlet;
-#X obj 12 90 / 20;
-#X obj 12 12 r bang_forme3;
-#X obj 105 11 r line_forme3;
-#X connect 0 0 4 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 4 0 1 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 1;
-#X restore 513 277 pd Rnd;
-#X connect 1 0 28 0;
-#X connect 2 0 3 0;
-#X connect 3 0 0 0;
-#X connect 4 0 0 0;
-#X connect 5 0 0 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X connect 8 0 0 0;
-#X connect 9 0 0 0;
-#X connect 10 0 0 0;
-#X connect 11 0 0 0;
-#X connect 12 0 0 0;
-#X connect 13 0 0 0;
-#X connect 14 0 0 0;
-#X connect 15 0 0 0;
-#X connect 16 0 0 0;
-#X connect 17 0 0 0;
-#X connect 18 0 0 0;
-#X connect 19 0 0 0;
-#X connect 20 0 0 0;
-#X connect 21 0 0 0;
-#X connect 22 0 0 0;
-#X connect 23 0 0 0;
-#X connect 24 0 0 0;
-#X connect 25 0 0 0;
-#X connect 26 0 0 0;
-#X connect 27 0 0 0;
-#X connect 29 0 4 0;
-#X connect 30 0 5 0;
-#X connect 31 0 6 0;
-#X connect 32 0 7 0;
-#X connect 33 0 8 0;
-#X connect 34 0 9 0;
-#X connect 35 0 10 0;
-#X connect 36 0 11 0;
-#X connect 37 0 12 0;
-#X connect 38 0 13 0;
-#X connect 39 0 14 0;
-#X connect 40 0 15 0;
-#X connect 41 0 16 0;
-#X connect 42 0 17 0;
-#X connect 43 0 18 0;
-#X connect 44 0 19 0;
-#X connect 45 0 20 0;
-#X connect 46 0 21 0;
-#X connect 47 0 22 0;
-#X connect 48 0 23 0;
-#X connect 49 0 24 0;
-#X connect 50 0 25 0;
-#X connect 51 0 26 0;
-#X connect 52 0 27 0;
-#X restore 57 569 pd forme1;
-#X text 77 549 shape1;
-#X text 156 529 shape2;
-#X obj 57 529 loadbang;
-#X obj 136 572 s curve3d;
-#X obj 57 592 s curve3d;
-#X text 31 336 Inlet 1 : message: set Mx My X Y Z;
-#X text 31 296 Inlet 1: message: grid X Y;
-#X text 31 259 Inlet 1: message: res X Y;
-#X text 53 272 This message is use for changing the size of the control
-matrix (X \, Y are 2 int);
-#X text 52 310 This message is use for changing the subdivision of
-the displayed curve (X Y are 2 int);
-#X text 53 349 This message can be use to set the position of a control
-point. (Mx \, My : position of the point in the matrix. X \, Y \, Z
-: position of this control point;
-#X text 21 507 exemples :;
-#X obj 494 520 surface3d 5 5;
-#X obj 504 561 r curve3d;
-#X obj 494 585 surface3d 5 5;
-#X msg 594 559 draw control_line;
-#X text 59 28 Synopsis: [surface3d];
-#X text 13 68 Description: Renders a 3d bicubic curve.;
-#X text 67 182 size of the control matrix (default : 4 4);
-#X text 33 85 The surface3d object renders a curve at the current position
-with current color or texture. The shape of the curve is controlled
-from a matrix. The curve go throw all control points (between point
-1 to res-1);
-#X text 31 388 Inlet 1: normal 0/1;
-#X text 51 399 since computing normal use a lot's of processing power
-\, you can disable normal with this message;
-#X obj 490 344 s curve3d_render;
-#X obj 623 343 s curve3d_render;
-#X obj 580 496 r curve3d_render;
-#X obj 594 539 loadbang;
-#X obj 795 399 cnv 15 150 110 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X msg 812 434 normal \$1;
-#X obj 812 415 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X obj 812 455 s curve3d_render;
-#X text 33 146 This object is related to curve3d;
-#X text 271 4 Create a 3d bicubic curve \, using a matrix of control
-points;
-#X connect 11 0 12 0;
-#X connect 12 0 11 0;
-#X connect 17 0 89 0;
-#X connect 18 0 89 0;
-#X connect 20 0 89 0;
-#X connect 21 0 89 0;
-#X connect 22 0 89 0;
-#X connect 23 0 89 0;
-#X connect 24 0 89 0;
-#X connect 25 0 89 0;
-#X connect 26 0 90 0;
-#X connect 27 0 90 0;
-#X connect 28 0 90 0;
-#X connect 29 0 90 0;
-#X connect 30 0 90 0;
-#X connect 31 0 41 0;
-#X connect 32 0 42 0;
-#X connect 33 0 41 0;
-#X connect 34 0 42 0;
-#X connect 35 0 42 0;
-#X connect 36 0 41 0;
-#X connect 37 0 41 0;
-#X connect 38 0 42 0;
-#X connect 46 0 54 0;
-#X connect 47 0 53 1;
-#X connect 48 0 53 2;
-#X connect 49 0 53 3;
-#X connect 50 0 54 1;
-#X connect 51 0 54 2;
-#X connect 52 0 54 3;
-#X connect 53 0 79 0;
-#X connect 54 0 53 0;
-#X connect 55 0 79 0;
-#X connect 63 0 70 0;
-#X connect 64 0 63 0;
-#X connect 65 0 66 0;
-#X connect 66 0 71 0;
-#X connect 69 0 65 0;
-#X connect 79 0 81 0;
-#X connect 80 0 81 0;
-#X connect 82 0 81 0;
-#X connect 91 0 79 0;
-#X connect 92 0 82 0;
-#X connect 94 0 96 0;
-#X connect 95 0 94 0;
+#N canvas 2687 225 968 681 10;
+#X text 58 45 Class: geometric object;
+#X obj 13 64 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 13 212 cnv 15 450 280 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 17 214 Inlets:;
+#X obj 13 173 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 22 172 Arguments:;
+#X text 32 229 Inlet 1: gemlist;
+#X text 16 448 Outlets:;
+#X text 30 460 Outlet 1: gemlist;
+#X obj 475 63 cnv 15 480 560 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 805 544 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 455 304 gemwin 0;
+#X obj 132 182 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 198 112 destroy;
+#X msg 132 112 create \, 1;
+#X obj 294 56 gemhead;
+#X obj 294 76 world_light;
+#X msg 207 155 lighting 1;
+#X obj 207 134 loadbang;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 9 0;
+#X connect 10 0 0 0;
+#X connect 11 0 10 0;
+#X restore 821 583 pd gemwin;
+#X msg 821 564 destroy;
+#X text 817 543 Create window:;
+#X obj 796 74 cnv 15 150 150 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 796 234 cnv 15 150 150 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 486 74 cnv 15 300 310 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X msg 519 175 draw line;
+#X msg 519 155 draw fill;
+#X msg 519 195 draw point;
+#X msg 536 300 width 1;
+#X msg 536 321 width 4;
+#X msg 519 216 draw line1;
+#X msg 519 237 draw line2;
+#X msg 519 258 draw line3;
+#X msg 519 279 draw line4;
+#X msg 657 169 draw control_line;
+#X msg 657 190 draw control_line1;
+#X msg 657 211 draw control_line2;
+#X msg 657 232 draw control_fill;
+#X msg 657 253 draw control_point;
+#X msg 834 111 res 2 2;
+#X msg 829 269 grid 2 10;
+#X msg 834 132 res 3 3;
+#X msg 829 290 grid 10 10;
+#X msg 829 332 grid 40 40;
+#X msg 834 153 res 5 5;
+#X msg 834 174 res 1 4;
+#X msg 829 311 grid 20 20;
+#X text 592 92 draw style;
+#X text 506 124 draw the curve;
+#X obj 810 198 s curve3d;
+#X obj 807 356 s curve3d;
+#X text 660 139 of the curve;
+#X text 647 125 draw control point;
+#X obj 486 398 cnv 15 300 210 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 494 407 gemhead;
+#X floatatom 522 450 5 0 0 0 - - -;
+#X floatatom 557 450 5 0 0 0 - - -;
+#X floatatom 593 450 5 0 0 0 - - -;
+#X floatatom 562 408 5 0 0 0 - - -;
+#X floatatom 610 408 5 0 0 0 - - -;
+#X floatatom 659 408 5 0 0 0 - - -;
+#X obj 494 471 rotateXYZ 0 0 0;
+#X obj 494 428 translateXYZ -2.5 -2.5 -2;
+#X obj 504 496 r curve3d;
+#X text 809 91 control matrix;
+#X text 804 78 resolution of the;
+#X text 805 239 resolution of the;
+#X text 826 250 curve grid;
+#X text 28 430 Inlet 2: not used;
+#X text 32 243 Inlet 1: message: draw [line|fill|point|...];
+#X obj 13 503 cnv 15 450 120 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 253 49 691 493 forme2 0;
+#N canvas 0 0 353 257 tripleRnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 219 outlet;
+#X obj 92 64 random 100;
+#X obj 92 122 pack 0 1000;
+#X obj 92 145 line;
+#X obj 170 64 random 100;
+#X obj 170 122 pack 0 1000;
+#X obj 170 145 line;
+#X obj 12 189 pack f f f;
+#X obj 12 90 / 20;
+#X obj 92 91 / 20;
+#X obj 170 91 / 20;
+#X obj 12 12 r bang_forme2;
+#X obj 231 9 r line_forme2;
+#X connect 0 0 11 0;
+#X connect 1 0 2 0;
+#X connect 2 0 10 0;
+#X connect 4 0 12 0;
+#X connect 5 0 6 0;
+#X connect 6 0 10 1;
+#X connect 7 0 13 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 2;
+#X connect 10 0 3 0;
+#X connect 11 0 1 0;
+#X connect 12 0 5 0;
+#X connect 13 0 8 0;
+#X connect 14 0 0 0;
+#X connect 14 0 4 0;
+#X connect 14 0 7 0;
+#X connect 15 0 1 1;
+#X connect 15 0 5 1;
+#X connect 15 0 8 1;
+#X restore 28 92 pd tripleRnd;
+#X msg 26 270 set 2 0 \$1 \$2 \$3;
+#X msg 161 269 set 2 1 \$1 \$2 \$3;
+#X msg 298 269 set 2 2 \$1 \$2 \$3;
+#X msg 299 190 set 1 2 \$1 \$2 \$3;
+#X msg 299 112 set 0 2 \$1 \$2 \$3;
+#X msg 161 112 set 0 1 \$1 \$2 \$3;
+#X msg 28 114 set 0 0 \$1 \$2 \$3;
+#X msg 29 193 set 1 0 \$1 \$2 \$3;
+#X msg 161 189 set 1 1 \$1 \$2 \$3;
+#X msg 26 337 set 3 0 \$1 \$2 \$3;
+#X msg 162 336 set 3 1 \$1 \$2 \$3;
+#X msg 298 338 set 3 2 \$1 \$2 \$3;
+#X msg 423 111 set 0 3 \$1 \$2 \$3;
+#X msg 424 189 set 1 3 \$1 \$2 \$3;
+#X msg 424 265 set 2 3 \$1 \$2 \$3;
+#X msg 423 335 set 3 3 \$1 \$2 \$3;
+#X msg 544 109 set 0 4 \$1 \$2 \$3;
+#X msg 545 187 set 1 4 \$1 \$2 \$3;
+#X msg 540 263 set 2 4 \$1 \$2 \$3;
+#X msg 543 333 set 3 4 \$1 \$2 \$3;
+#X msg 28 399 set 4 0 \$1 \$2 \$3;
+#X msg 162 392 set 4 1 \$1 \$2 \$3;
+#X msg 299 393 set 4 2 \$1 \$2 \$3;
+#X msg 424 391 set 4 3 \$1 \$2 \$3;
+#X msg 545 389 set 4 4 \$1 \$2 \$3;
+#X obj 10 445 outlet;
+#X obj 36 15 inlet;
+#X obj 36 39 s bang_forme2;
+#N canvas 0 0 355 259 tripleRnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 219 outlet;
+#X obj 92 64 random 100;
+#X obj 92 122 pack 0 1000;
+#X obj 92 145 line;
+#X obj 170 64 random 100;
+#X obj 170 122 pack 0 1000;
+#X obj 170 145 line;
+#X obj 12 189 pack f f f;
+#X obj 12 90 / 20;
+#X obj 92 91 / 20;
+#X obj 170 91 / 20;
+#X obj 12 12 r bang_forme2;
+#X obj 231 9 r line_forme2;
+#X connect 0 0 11 0;
+#X connect 1 0 2 0;
+#X connect 2 0 10 0;
+#X connect 4 0 12 0;
+#X connect 5 0 6 0;
+#X connect 6 0 10 1;
+#X connect 7 0 13 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 2;
+#X connect 10 0 3 0;
+#X connect 11 0 1 0;
+#X connect 12 0 5 0;
+#X connect 13 0 8 0;
+#X connect 14 0 0 0;
+#X connect 14 0 4 0;
+#X connect 14 0 7 0;
+#X connect 15 0 1 1;
+#X connect 15 0 5 1;
+#X connect 15 0 8 1;
+#X restore 161 90 pd tripleRnd;
+#N canvas 0 0 351 255 tripleRnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 219 outlet;
+#X obj 92 64 random 100;
+#X obj 92 122 pack 0 1000;
+#X obj 92 145 line;
+#X obj 170 64 random 100;
+#X obj 170 122 pack 0 1000;
+#X obj 170 145 line;
+#X obj 12 189 pack f f f;
+#X obj 12 90 / 20;
+#X obj 92 91 / 20;
+#X obj 170 91 / 20;
+#X obj 12 12 r bang_forme2;
+#X obj 231 9 r line_forme2;
+#X connect 0 0 11 0;
+#X connect 1 0 2 0;
+#X connect 2 0 10 0;
+#X connect 4 0 12 0;
+#X connect 5 0 6 0;
+#X connect 6 0 10 1;
+#X connect 7 0 13 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 2;
+#X connect 10 0 3 0;
+#X connect 11 0 1 0;
+#X connect 12 0 5 0;
+#X connect 13 0 8 0;
+#X connect 14 0 0 0;
+#X connect 14 0 4 0;
+#X connect 14 0 7 0;
+#X connect 15 0 1 1;
+#X connect 15 0 5 1;
+#X connect 15 0 8 1;
+#X restore 299 91 pd tripleRnd;
+#N canvas 0 0 351 255 tripleRnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 219 outlet;
+#X obj 92 64 random 100;
+#X obj 92 122 pack 0 1000;
+#X obj 92 145 line;
+#X obj 170 64 random 100;
+#X obj 170 122 pack 0 1000;
+#X obj 170 145 line;
+#X obj 12 189 pack f f f;
+#X obj 12 90 / 20;
+#X obj 92 91 / 20;
+#X obj 170 91 / 20;
+#X obj 12 12 r bang_forme2;
+#X obj 231 9 r line_forme2;
+#X connect 0 0 11 0;
+#X connect 1 0 2 0;
+#X connect 2 0 10 0;
+#X connect 4 0 12 0;
+#X connect 5 0 6 0;
+#X connect 6 0 10 1;
+#X connect 7 0 13 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 2;
+#X connect 10 0 3 0;
+#X connect 11 0 1 0;
+#X connect 12 0 5 0;
+#X connect 13 0 8 0;
+#X connect 14 0 0 0;
+#X connect 14 0 4 0;
+#X connect 14 0 7 0;
+#X connect 15 0 1 1;
+#X connect 15 0 5 1;
+#X connect 15 0 8 1;
+#X restore 423 89 pd tripleRnd;
+#N canvas 0 0 351 255 tripleRnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 219 outlet;
+#X obj 92 64 random 100;
+#X obj 92 122 pack 0 1000;
+#X obj 92 145 line;
+#X obj 170 64 random 100;
+#X obj 170 122 pack 0 1000;
+#X obj 170 145 line;
+#X obj 12 189 pack f f f;
+#X obj 12 90 / 20;
+#X obj 92 91 / 20;
+#X obj 170 91 / 20;
+#X obj 12 12 r bang_forme2;
+#X obj 231 9 r line_forme2;
+#X connect 0 0 11 0;
+#X connect 1 0 2 0;
+#X connect 2 0 10 0;
+#X connect 4 0 12 0;
+#X connect 5 0 6 0;
+#X connect 6 0 10 1;
+#X connect 7 0 13 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 2;
+#X connect 10 0 3 0;
+#X connect 11 0 1 0;
+#X connect 12 0 5 0;
+#X connect 13 0 8 0;
+#X connect 14 0 0 0;
+#X connect 14 0 4 0;
+#X connect 14 0 7 0;
+#X connect 15 0 1 1;
+#X connect 15 0 5 1;
+#X connect 15 0 8 1;
+#X restore 544 86 pd tripleRnd;
+#N canvas 0 0 351 255 tripleRnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 219 outlet;
+#X obj 92 64 random 100;
+#X obj 92 122 pack 0 1000;
+#X obj 92 145 line;
+#X obj 170 64 random 100;
+#X obj 170 122 pack 0 1000;
+#X obj 170 145 line;
+#X obj 12 189 pack f f f;
+#X obj 12 90 / 20;
+#X obj 92 91 / 20;
+#X obj 170 91 / 20;
+#X obj 12 12 r bang_forme2;
+#X obj 231 9 r line_forme2;
+#X connect 0 0 11 0;
+#X connect 1 0 2 0;
+#X connect 2 0 10 0;
+#X connect 4 0 12 0;
+#X connect 5 0 6 0;
+#X connect 6 0 10 1;
+#X connect 7 0 13 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 2;
+#X connect 10 0 3 0;
+#X connect 11 0 1 0;
+#X connect 12 0 5 0;
+#X connect 13 0 8 0;
+#X connect 14 0 0 0;
+#X connect 14 0 4 0;
+#X connect 14 0 7 0;
+#X connect 15 0 1 1;
+#X connect 15 0 5 1;
+#X connect 15 0 8 1;
+#X restore 29 169 pd tripleRnd;
+#N canvas 0 0 351 255 tripleRnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 219 outlet;
+#X obj 92 64 random 100;
+#X obj 92 122 pack 0 1000;
+#X obj 92 145 line;
+#X obj 170 64 random 100;
+#X obj 170 122 pack 0 1000;
+#X obj 170 145 line;
+#X obj 12 189 pack f f f;
+#X obj 12 90 / 20;
+#X obj 92 91 / 20;
+#X obj 170 91 / 20;
+#X obj 12 12 r bang_forme2;
+#X obj 231 9 r line_forme2;
+#X connect 0 0 11 0;
+#X connect 1 0 2 0;
+#X connect 2 0 10 0;
+#X connect 4 0 12 0;
+#X connect 5 0 6 0;
+#X connect 6 0 10 1;
+#X connect 7 0 13 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 2;
+#X connect 10 0 3 0;
+#X connect 11 0 1 0;
+#X connect 12 0 5 0;
+#X connect 13 0 8 0;
+#X connect 14 0 0 0;
+#X connect 14 0 4 0;
+#X connect 14 0 7 0;
+#X connect 15 0 1 1;
+#X connect 15 0 5 1;
+#X connect 15 0 8 1;
+#X restore 162 167 pd tripleRnd;
+#N canvas 0 0 351 255 tripleRnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 219 outlet;
+#X obj 92 64 random 100;
+#X obj 92 122 pack 0 1000;
+#X obj 92 145 line;
+#X obj 170 64 random 100;
+#X obj 170 122 pack 0 1000;
+#X obj 170 145 line;
+#X obj 12 189 pack f f f;
+#X obj 12 90 / 20;
+#X obj 92 91 / 20;
+#X obj 170 91 / 20;
+#X obj 12 12 r bang_forme2;
+#X obj 231 9 r line_forme2;
+#X connect 0 0 11 0;
+#X connect 1 0 2 0;
+#X connect 2 0 10 0;
+#X connect 4 0 12 0;
+#X connect 5 0 6 0;
+#X connect 6 0 10 1;
+#X connect 7 0 13 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 2;
+#X connect 10 0 3 0;
+#X connect 11 0 1 0;
+#X connect 12 0 5 0;
+#X connect 13 0 8 0;
+#X connect 14 0 0 0;
+#X connect 14 0 4 0;
+#X connect 14 0 7 0;
+#X connect 15 0 1 1;
+#X connect 15 0 5 1;
+#X connect 15 0 8 1;
+#X restore 300 168 pd tripleRnd;
+#N canvas 0 0 351 255 tripleRnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 219 outlet;
+#X obj 92 64 random 100;
+#X obj 92 122 pack 0 1000;
+#X obj 92 145 line;
+#X obj 170 64 random 100;
+#X obj 170 122 pack 0 1000;
+#X obj 170 145 line;
+#X obj 12 189 pack f f f;
+#X obj 12 90 / 20;
+#X obj 92 91 / 20;
+#X obj 170 91 / 20;
+#X obj 12 12 r bang_forme2;
+#X obj 231 9 r line_forme2;
+#X connect 0 0 11 0;
+#X connect 1 0 2 0;
+#X connect 2 0 10 0;
+#X connect 4 0 12 0;
+#X connect 5 0 6 0;
+#X connect 6 0 10 1;
+#X connect 7 0 13 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 2;
+#X connect 10 0 3 0;
+#X connect 11 0 1 0;
+#X connect 12 0 5 0;
+#X connect 13 0 8 0;
+#X connect 14 0 0 0;
+#X connect 14 0 4 0;
+#X connect 14 0 7 0;
+#X connect 15 0 1 1;
+#X connect 15 0 5 1;
+#X connect 15 0 8 1;
+#X restore 424 166 pd tripleRnd;
+#N canvas 0 0 351 255 tripleRnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 219 outlet;
+#X obj 92 64 random 100;
+#X obj 92 122 pack 0 1000;
+#X obj 92 145 line;
+#X obj 170 64 random 100;
+#X obj 170 122 pack 0 1000;
+#X obj 170 145 line;
+#X obj 12 189 pack f f f;
+#X obj 12 90 / 20;
+#X obj 92 91 / 20;
+#X obj 170 91 / 20;
+#X obj 12 12 r bang_forme2;
+#X obj 231 9 r line_forme2;
+#X connect 0 0 11 0;
+#X connect 1 0 2 0;
+#X connect 2 0 10 0;
+#X connect 4 0 12 0;
+#X connect 5 0 6 0;
+#X connect 6 0 10 1;
+#X connect 7 0 13 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 2;
+#X connect 10 0 3 0;
+#X connect 11 0 1 0;
+#X connect 12 0 5 0;
+#X connect 13 0 8 0;
+#X connect 14 0 0 0;
+#X connect 14 0 4 0;
+#X connect 14 0 7 0;
+#X connect 15 0 1 1;
+#X connect 15 0 5 1;
+#X connect 15 0 8 1;
+#X restore 545 163 pd tripleRnd;
+#N canvas 0 0 351 255 tripleRnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 219 outlet;
+#X obj 92 64 random 100;
+#X obj 92 122 pack 0 1000;
+#X obj 92 145 line;
+#X obj 170 64 random 100;
+#X obj 170 122 pack 0 1000;
+#X obj 170 145 line;
+#X obj 12 189 pack f f f;
+#X obj 12 90 / 20;
+#X obj 92 91 / 20;
+#X obj 170 91 / 20;
+#X obj 12 12 r bang_forme2;
+#X obj 231 9 r line_forme2;
+#X connect 0 0 11 0;
+#X connect 1 0 2 0;
+#X connect 2 0 10 0;
+#X connect 4 0 12 0;
+#X connect 5 0 6 0;
+#X connect 6 0 10 1;
+#X connect 7 0 13 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 2;
+#X connect 10 0 3 0;
+#X connect 11 0 1 0;
+#X connect 12 0 5 0;
+#X connect 13 0 8 0;
+#X connect 14 0 0 0;
+#X connect 14 0 4 0;
+#X connect 14 0 7 0;
+#X connect 15 0 1 1;
+#X connect 15 0 5 1;
+#X connect 15 0 8 1;
+#X restore 28 247 pd tripleRnd;
+#N canvas 0 0 351 255 tripleRnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 219 outlet;
+#X obj 92 64 random 100;
+#X obj 92 122 pack 0 1000;
+#X obj 92 145 line;
+#X obj 170 64 random 100;
+#X obj 170 122 pack 0 1000;
+#X obj 170 145 line;
+#X obj 12 189 pack f f f;
+#X obj 12 90 / 20;
+#X obj 92 91 / 20;
+#X obj 170 91 / 20;
+#X obj 12 12 r bang_forme2;
+#X obj 231 9 r line_forme2;
+#X connect 0 0 11 0;
+#X connect 1 0 2 0;
+#X connect 2 0 10 0;
+#X connect 4 0 12 0;
+#X connect 5 0 6 0;
+#X connect 6 0 10 1;
+#X connect 7 0 13 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 2;
+#X connect 10 0 3 0;
+#X connect 11 0 1 0;
+#X connect 12 0 5 0;
+#X connect 13 0 8 0;
+#X connect 14 0 0 0;
+#X connect 14 0 4 0;
+#X connect 14 0 7 0;
+#X connect 15 0 1 1;
+#X connect 15 0 5 1;
+#X connect 15 0 8 1;
+#X restore 161 245 pd tripleRnd;
+#N canvas 0 0 351 255 tripleRnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 219 outlet;
+#X obj 92 64 random 100;
+#X obj 92 122 pack 0 1000;
+#X obj 92 145 line;
+#X obj 170 64 random 100;
+#X obj 170 122 pack 0 1000;
+#X obj 170 145 line;
+#X obj 12 189 pack f f f;
+#X obj 12 90 / 20;
+#X obj 92 91 / 20;
+#X obj 170 91 / 20;
+#X obj 12 12 r bang_forme2;
+#X obj 231 9 r line_forme2;
+#X connect 0 0 11 0;
+#X connect 1 0 2 0;
+#X connect 2 0 10 0;
+#X connect 4 0 12 0;
+#X connect 5 0 6 0;
+#X connect 6 0 10 1;
+#X connect 7 0 13 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 2;
+#X connect 10 0 3 0;
+#X connect 11 0 1 0;
+#X connect 12 0 5 0;
+#X connect 13 0 8 0;
+#X connect 14 0 0 0;
+#X connect 14 0 4 0;
+#X connect 14 0 7 0;
+#X connect 15 0 1 1;
+#X connect 15 0 5 1;
+#X connect 15 0 8 1;
+#X restore 299 246 pd tripleRnd;
+#N canvas 0 0 351 255 tripleRnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 219 outlet;
+#X obj 92 64 random 100;
+#X obj 92 122 pack 0 1000;
+#X obj 92 145 line;
+#X obj 170 64 random 100;
+#X obj 170 122 pack 0 1000;
+#X obj 170 145 line;
+#X obj 12 189 pack f f f;
+#X obj 12 90 / 20;
+#X obj 92 91 / 20;
+#X obj 170 91 / 20;
+#X obj 12 12 r bang_forme2;
+#X obj 231 9 r line_forme2;
+#X connect 0 0 11 0;
+#X connect 1 0 2 0;
+#X connect 2 0 10 0;
+#X connect 4 0 12 0;
+#X connect 5 0 6 0;
+#X connect 6 0 10 1;
+#X connect 7 0 13 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 2;
+#X connect 10 0 3 0;
+#X connect 11 0 1 0;
+#X connect 12 0 5 0;
+#X connect 13 0 8 0;
+#X connect 14 0 0 0;
+#X connect 14 0 4 0;
+#X connect 14 0 7 0;
+#X connect 15 0 1 1;
+#X connect 15 0 5 1;
+#X connect 15 0 8 1;
+#X restore 422 244 pd tripleRnd;
+#N canvas 0 0 351 255 tripleRnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 219 outlet;
+#X obj 92 64 random 100;
+#X obj 92 122 pack 0 1000;
+#X obj 92 145 line;
+#X obj 170 64 random 100;
+#X obj 170 122 pack 0 1000;
+#X obj 170 145 line;
+#X obj 12 189 pack f f f;
+#X obj 12 90 / 20;
+#X obj 92 91 / 20;
+#X obj 170 91 / 20;
+#X obj 12 12 r bang_forme2;
+#X obj 231 9 r line_forme2;
+#X connect 0 0 11 0;
+#X connect 1 0 2 0;
+#X connect 2 0 10 0;
+#X connect 4 0 12 0;
+#X connect 5 0 6 0;
+#X connect 6 0 10 1;
+#X connect 7 0 13 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 2;
+#X connect 10 0 3 0;
+#X connect 11 0 1 0;
+#X connect 12 0 5 0;
+#X connect 13 0 8 0;
+#X connect 14 0 0 0;
+#X connect 14 0 4 0;
+#X connect 14 0 7 0;
+#X connect 15 0 1 1;
+#X connect 15 0 5 1;
+#X connect 15 0 8 1;
+#X restore 544 241 pd tripleRnd;
+#N canvas 0 0 351 255 tripleRnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 219 outlet;
+#X obj 92 64 random 100;
+#X obj 92 122 pack 0 1000;
+#X obj 92 145 line;
+#X obj 170 64 random 100;
+#X obj 170 122 pack 0 1000;
+#X obj 170 145 line;
+#X obj 12 189 pack f f f;
+#X obj 12 90 / 20;
+#X obj 92 91 / 20;
+#X obj 170 91 / 20;
+#X obj 12 12 r bang_forme2;
+#X obj 231 9 r line_forme2;
+#X connect 0 0 11 0;
+#X connect 1 0 2 0;
+#X connect 2 0 10 0;
+#X connect 4 0 12 0;
+#X connect 5 0 6 0;
+#X connect 6 0 10 1;
+#X connect 7 0 13 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 2;
+#X connect 10 0 3 0;
+#X connect 11 0 1 0;
+#X connect 12 0 5 0;
+#X connect 13 0 8 0;
+#X connect 14 0 0 0;
+#X connect 14 0 4 0;
+#X connect 14 0 7 0;
+#X connect 15 0 1 1;
+#X connect 15 0 5 1;
+#X connect 15 0 8 1;
+#X restore 28 318 pd tripleRnd;
+#N canvas 0 0 351 255 tripleRnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 219 outlet;
+#X obj 92 64 random 100;
+#X obj 92 122 pack 0 1000;
+#X obj 92 145 line;
+#X obj 170 64 random 100;
+#X obj 170 122 pack 0 1000;
+#X obj 170 145 line;
+#X obj 12 189 pack f f f;
+#X obj 12 90 / 20;
+#X obj 92 91 / 20;
+#X obj 170 91 / 20;
+#X obj 12 12 r bang_forme2;
+#X obj 231 9 r line_forme2;
+#X connect 0 0 11 0;
+#X connect 1 0 2 0;
+#X connect 2 0 10 0;
+#X connect 4 0 12 0;
+#X connect 5 0 6 0;
+#X connect 6 0 10 1;
+#X connect 7 0 13 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 2;
+#X connect 10 0 3 0;
+#X connect 11 0 1 0;
+#X connect 12 0 5 0;
+#X connect 13 0 8 0;
+#X connect 14 0 0 0;
+#X connect 14 0 4 0;
+#X connect 14 0 7 0;
+#X connect 15 0 1 1;
+#X connect 15 0 5 1;
+#X connect 15 0 8 1;
+#X restore 161 316 pd tripleRnd;
+#N canvas 0 0 351 255 tripleRnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 219 outlet;
+#X obj 92 64 random 100;
+#X obj 92 122 pack 0 1000;
+#X obj 92 145 line;
+#X obj 170 64 random 100;
+#X obj 170 122 pack 0 1000;
+#X obj 170 145 line;
+#X obj 12 189 pack f f f;
+#X obj 12 90 / 20;
+#X obj 92 91 / 20;
+#X obj 170 91 / 20;
+#X obj 12 12 r bang_forme2;
+#X obj 231 9 r line_forme2;
+#X connect 0 0 11 0;
+#X connect 1 0 2 0;
+#X connect 2 0 10 0;
+#X connect 4 0 12 0;
+#X connect 5 0 6 0;
+#X connect 6 0 10 1;
+#X connect 7 0 13 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 2;
+#X connect 10 0 3 0;
+#X connect 11 0 1 0;
+#X connect 12 0 5 0;
+#X connect 13 0 8 0;
+#X connect 14 0 0 0;
+#X connect 14 0 4 0;
+#X connect 14 0 7 0;
+#X connect 15 0 1 1;
+#X connect 15 0 5 1;
+#X connect 15 0 8 1;
+#X restore 299 317 pd tripleRnd;
+#N canvas 0 0 351 255 tripleRnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 219 outlet;
+#X obj 92 64 random 100;
+#X obj 92 122 pack 0 1000;
+#X obj 92 145 line;
+#X obj 170 64 random 100;
+#X obj 170 122 pack 0 1000;
+#X obj 170 145 line;
+#X obj 12 189 pack f f f;
+#X obj 12 90 / 20;
+#X obj 92 91 / 20;
+#X obj 170 91 / 20;
+#X obj 12 12 r bang_forme2;
+#X obj 231 9 r line_forme2;
+#X connect 0 0 11 0;
+#X connect 1 0 2 0;
+#X connect 2 0 10 0;
+#X connect 4 0 12 0;
+#X connect 5 0 6 0;
+#X connect 6 0 10 1;
+#X connect 7 0 13 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 2;
+#X connect 10 0 3 0;
+#X connect 11 0 1 0;
+#X connect 12 0 5 0;
+#X connect 13 0 8 0;
+#X connect 14 0 0 0;
+#X connect 14 0 4 0;
+#X connect 14 0 7 0;
+#X connect 15 0 1 1;
+#X connect 15 0 5 1;
+#X connect 15 0 8 1;
+#X restore 423 315 pd tripleRnd;
+#N canvas 0 0 351 255 tripleRnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 219 outlet;
+#X obj 92 64 random 100;
+#X obj 92 122 pack 0 1000;
+#X obj 92 145 line;
+#X obj 170 64 random 100;
+#X obj 170 122 pack 0 1000;
+#X obj 170 145 line;
+#X obj 12 189 pack f f f;
+#X obj 12 90 / 20;
+#X obj 92 91 / 20;
+#X obj 170 91 / 20;
+#X obj 12 12 r bang_forme2;
+#X obj 231 9 r line_forme2;
+#X connect 0 0 11 0;
+#X connect 1 0 2 0;
+#X connect 2 0 10 0;
+#X connect 4 0 12 0;
+#X connect 5 0 6 0;
+#X connect 6 0 10 1;
+#X connect 7 0 13 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 2;
+#X connect 10 0 3 0;
+#X connect 11 0 1 0;
+#X connect 12 0 5 0;
+#X connect 13 0 8 0;
+#X connect 14 0 0 0;
+#X connect 14 0 4 0;
+#X connect 14 0 7 0;
+#X connect 15 0 1 1;
+#X connect 15 0 5 1;
+#X connect 15 0 8 1;
+#X restore 544 312 pd tripleRnd;
+#N canvas 0 0 351 255 tripleRnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 219 outlet;
+#X obj 92 64 random 100;
+#X obj 92 122 pack 0 1000;
+#X obj 92 145 line;
+#X obj 170 64 random 100;
+#X obj 170 122 pack 0 1000;
+#X obj 170 145 line;
+#X obj 12 189 pack f f f;
+#X obj 12 90 / 20;
+#X obj 92 91 / 20;
+#X obj 170 91 / 20;
+#X obj 12 12 r bang_forme2;
+#X obj 231 9 r line_forme2;
+#X connect 0 0 11 0;
+#X connect 1 0 2 0;
+#X connect 2 0 10 0;
+#X connect 4 0 12 0;
+#X connect 5 0 6 0;
+#X connect 6 0 10 1;
+#X connect 7 0 13 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 2;
+#X connect 10 0 3 0;
+#X connect 11 0 1 0;
+#X connect 12 0 5 0;
+#X connect 13 0 8 0;
+#X connect 14 0 0 0;
+#X connect 14 0 4 0;
+#X connect 14 0 7 0;
+#X connect 15 0 1 1;
+#X connect 15 0 5 1;
+#X connect 15 0 8 1;
+#X restore 29 374 pd tripleRnd;
+#N canvas 0 0 351 255 tripleRnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 219 outlet;
+#X obj 92 64 random 100;
+#X obj 92 122 pack 0 1000;
+#X obj 92 145 line;
+#X obj 170 64 random 100;
+#X obj 170 122 pack 0 1000;
+#X obj 170 145 line;
+#X obj 12 189 pack f f f;
+#X obj 12 90 / 20;
+#X obj 92 91 / 20;
+#X obj 170 91 / 20;
+#X obj 12 12 r bang_forme2;
+#X obj 231 9 r line_forme2;
+#X connect 0 0 11 0;
+#X connect 1 0 2 0;
+#X connect 2 0 10 0;
+#X connect 4 0 12 0;
+#X connect 5 0 6 0;
+#X connect 6 0 10 1;
+#X connect 7 0 13 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 2;
+#X connect 10 0 3 0;
+#X connect 11 0 1 0;
+#X connect 12 0 5 0;
+#X connect 13 0 8 0;
+#X connect 14 0 0 0;
+#X connect 14 0 4 0;
+#X connect 14 0 7 0;
+#X connect 15 0 1 1;
+#X connect 15 0 5 1;
+#X connect 15 0 8 1;
+#X restore 162 372 pd tripleRnd;
+#N canvas 0 0 351 255 tripleRnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 219 outlet;
+#X obj 92 64 random 100;
+#X obj 92 122 pack 0 1000;
+#X obj 92 145 line;
+#X obj 170 64 random 100;
+#X obj 170 122 pack 0 1000;
+#X obj 170 145 line;
+#X obj 12 189 pack f f f;
+#X obj 12 90 / 20;
+#X obj 92 91 / 20;
+#X obj 170 91 / 20;
+#X obj 12 12 r bang_forme2;
+#X obj 231 9 r line_forme2;
+#X connect 0 0 11 0;
+#X connect 1 0 2 0;
+#X connect 2 0 10 0;
+#X connect 4 0 12 0;
+#X connect 5 0 6 0;
+#X connect 6 0 10 1;
+#X connect 7 0 13 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 2;
+#X connect 10 0 3 0;
+#X connect 11 0 1 0;
+#X connect 12 0 5 0;
+#X connect 13 0 8 0;
+#X connect 14 0 0 0;
+#X connect 14 0 4 0;
+#X connect 14 0 7 0;
+#X connect 15 0 1 1;
+#X connect 15 0 5 1;
+#X connect 15 0 8 1;
+#X restore 300 373 pd tripleRnd;
+#N canvas 0 0 351 255 tripleRnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 219 outlet;
+#X obj 92 64 random 100;
+#X obj 92 122 pack 0 1000;
+#X obj 92 145 line;
+#X obj 170 64 random 100;
+#X obj 170 122 pack 0 1000;
+#X obj 170 145 line;
+#X obj 12 189 pack f f f;
+#X obj 12 90 / 20;
+#X obj 92 91 / 20;
+#X obj 170 91 / 20;
+#X obj 12 12 r bang_forme2;
+#X obj 231 9 r line_forme2;
+#X connect 0 0 11 0;
+#X connect 1 0 2 0;
+#X connect 2 0 10 0;
+#X connect 4 0 12 0;
+#X connect 5 0 6 0;
+#X connect 6 0 10 1;
+#X connect 7 0 13 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 2;
+#X connect 10 0 3 0;
+#X connect 11 0 1 0;
+#X connect 12 0 5 0;
+#X connect 13 0 8 0;
+#X connect 14 0 0 0;
+#X connect 14 0 4 0;
+#X connect 14 0 7 0;
+#X connect 15 0 1 1;
+#X connect 15 0 5 1;
+#X connect 15 0 8 1;
+#X restore 424 371 pd tripleRnd;
+#N canvas 0 0 351 255 tripleRnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 219 outlet;
+#X obj 92 64 random 100;
+#X obj 92 122 pack 0 1000;
+#X obj 92 145 line;
+#X obj 170 64 random 100;
+#X obj 170 122 pack 0 1000;
+#X obj 170 145 line;
+#X obj 12 189 pack f f f;
+#X obj 12 90 / 20;
+#X obj 92 91 / 20;
+#X obj 170 91 / 20;
+#X obj 12 12 r bang_forme2;
+#X obj 231 9 r line_forme2;
+#X connect 0 0 11 0;
+#X connect 1 0 2 0;
+#X connect 2 0 10 0;
+#X connect 4 0 12 0;
+#X connect 5 0 6 0;
+#X connect 6 0 10 1;
+#X connect 7 0 13 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 2;
+#X connect 10 0 3 0;
+#X connect 11 0 1 0;
+#X connect 12 0 5 0;
+#X connect 13 0 8 0;
+#X connect 14 0 0 0;
+#X connect 14 0 4 0;
+#X connect 14 0 7 0;
+#X connect 15 0 1 1;
+#X connect 15 0 5 1;
+#X connect 15 0 8 1;
+#X restore 545 368 pd tripleRnd;
+#X connect 0 0 7 0;
+#X connect 1 0 26 0;
+#X connect 2 0 26 0;
+#X connect 3 0 26 0;
+#X connect 4 0 26 0;
+#X connect 5 0 26 0;
+#X connect 6 0 26 0;
+#X connect 7 0 26 0;
+#X connect 8 0 26 0;
+#X connect 9 0 26 0;
+#X connect 10 0 26 0;
+#X connect 11 0 26 0;
+#X connect 12 0 26 0;
+#X connect 13 0 26 0;
+#X connect 14 0 26 0;
+#X connect 15 0 26 0;
+#X connect 16 0 26 0;
+#X connect 17 0 26 0;
+#X connect 18 0 26 0;
+#X connect 19 0 26 0;
+#X connect 20 0 26 0;
+#X connect 21 0 26 0;
+#X connect 22 0 26 0;
+#X connect 23 0 26 0;
+#X connect 24 0 26 0;
+#X connect 25 0 26 0;
+#X connect 27 0 28 0;
+#X connect 29 0 6 0;
+#X connect 30 0 5 0;
+#X connect 31 0 13 0;
+#X connect 32 0 17 0;
+#X connect 33 0 8 0;
+#X connect 34 0 9 0;
+#X connect 35 0 4 0;
+#X connect 36 0 14 0;
+#X connect 37 0 18 0;
+#X connect 38 0 1 0;
+#X connect 39 0 2 0;
+#X connect 40 0 3 0;
+#X connect 41 0 15 0;
+#X connect 42 0 19 0;
+#X connect 43 0 10 0;
+#X connect 44 0 11 0;
+#X connect 45 0 12 0;
+#X connect 46 0 16 0;
+#X connect 47 0 20 0;
+#X connect 48 0 21 0;
+#X connect 49 0 22 0;
+#X connect 50 0 23 0;
+#X connect 51 0 24 0;
+#X connect 52 0 25 0;
+#X restore 136 549 pd forme2;
+#X obj 136 530 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 57 550 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#N canvas 253 49 697 499 forme1 0;
+#X obj 76 418 outlet;
+#X obj 36 15 inlet;
+#N canvas 0 0 251 239 Rnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 173 outlet;
+#X obj 12 90 / 20;
+#X obj 12 12 r bang_forme3;
+#X obj 105 11 r line_forme3;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 1;
+#X restore 28 92 pd Rnd;
+#X msg 28 114 set 0 0 0 0 \$1;
+#X msg 126 115 set 0 1 0 1 \$1;
+#X msg 227 116 set 0 2 0 2 \$1;
+#X msg 323 117 set 0 3 0 3 \$1;
+#X msg 419 116 set 0 4 0 4 \$1;
+#X msg 47 159 set 1 0 1 0 \$1;
+#X msg 145 160 set 1 1 1 1 \$1;
+#X msg 246 161 set 1 2 1 2 \$1;
+#X msg 342 162 set 1 3 1 3 \$1;
+#X msg 438 161 set 1 4 1 4 \$1;
+#X msg 68 202 set 2 0 2 0 \$1;
+#X msg 166 203 set 2 1 2 1 \$1;
+#X msg 267 204 set 2 2 2 2 \$1;
+#X msg 363 205 set 2 3 2 3 \$1;
+#X msg 459 204 set 2 4 2 4 \$1;
+#X msg 97 249 set 3 0 3 0 \$1;
+#X msg 195 250 set 3 1 3 1 \$1;
+#X msg 297 251 set 3 2 3 2 \$1;
+#X msg 393 252 set 3 3 3 3 \$1;
+#X msg 488 251 set 3 4 3 4 \$1;
+#X msg 121 296 set 4 0 4 0 \$1;
+#X msg 219 297 set 4 1 4 1 \$1;
+#X msg 320 298 set 4 2 4 2 \$1;
+#X msg 416 299 set 4 3 4 3 \$1;
+#X msg 512 298 set 4 4 4 4 \$1;
+#X obj 36 39 s bang_forme3;
+#N canvas 0 0 249 237 Rnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 173 outlet;
+#X obj 12 90 / 20;
+#X obj 12 12 r bang_forme3;
+#X obj 105 11 r line_forme3;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 1;
+#X restore 127 92 pd Rnd;
+#N canvas 0 0 251 239 Rnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 173 outlet;
+#X obj 12 90 / 20;
+#X obj 12 12 r bang_forme3;
+#X obj 105 11 r line_forme3;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 1;
+#X restore 227 93 pd Rnd;
+#N canvas 0 0 249 237 Rnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 173 outlet;
+#X obj 12 90 / 20;
+#X obj 12 12 r bang_forme3;
+#X obj 105 11 r line_forme3;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 1;
+#X restore 326 93 pd Rnd;
+#N canvas 0 0 249 237 Rnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 173 outlet;
+#X obj 12 90 / 20;
+#X obj 12 12 r bang_forme3;
+#X obj 105 11 r line_forme3;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 1;
+#X restore 420 94 pd Rnd;
+#N canvas 0 0 249 237 Rnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 173 outlet;
+#X obj 12 90 / 20;
+#X obj 12 12 r bang_forme3;
+#X obj 105 11 r line_forme3;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 1;
+#X restore 48 138 pd Rnd;
+#N canvas 0 0 249 237 Rnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 173 outlet;
+#X obj 12 90 / 20;
+#X obj 12 12 r bang_forme3;
+#X obj 105 11 r line_forme3;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 1;
+#X restore 147 138 pd Rnd;
+#N canvas 0 0 249 237 Rnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 173 outlet;
+#X obj 12 90 / 20;
+#X obj 12 12 r bang_forme3;
+#X obj 105 11 r line_forme3;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 1;
+#X restore 247 139 pd Rnd;
+#N canvas 0 0 249 237 Rnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 173 outlet;
+#X obj 12 90 / 20;
+#X obj 12 12 r bang_forme3;
+#X obj 105 11 r line_forme3;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 1;
+#X restore 346 139 pd Rnd;
+#N canvas 0 0 249 237 Rnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 173 outlet;
+#X obj 12 90 / 20;
+#X obj 12 12 r bang_forme3;
+#X obj 105 11 r line_forme3;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 1;
+#X restore 440 140 pd Rnd;
+#N canvas 0 0 249 237 Rnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 173 outlet;
+#X obj 12 90 / 20;
+#X obj 12 12 r bang_forme3;
+#X obj 105 11 r line_forme3;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 1;
+#X restore 68 181 pd Rnd;
+#N canvas 0 0 249 237 Rnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 173 outlet;
+#X obj 12 90 / 20;
+#X obj 12 12 r bang_forme3;
+#X obj 105 11 r line_forme3;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 1;
+#X restore 167 181 pd Rnd;
+#N canvas 0 0 249 237 Rnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 173 outlet;
+#X obj 12 90 / 20;
+#X obj 12 12 r bang_forme3;
+#X obj 105 11 r line_forme3;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 1;
+#X restore 267 182 pd Rnd;
+#N canvas 0 0 249 237 Rnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 173 outlet;
+#X obj 12 90 / 20;
+#X obj 12 12 r bang_forme3;
+#X obj 105 11 r line_forme3;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 1;
+#X restore 366 182 pd Rnd;
+#N canvas 0 0 249 237 Rnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 173 outlet;
+#X obj 12 90 / 20;
+#X obj 12 12 r bang_forme3;
+#X obj 105 11 r line_forme3;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 1;
+#X restore 460 183 pd Rnd;
+#N canvas 0 0 249 237 Rnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 173 outlet;
+#X obj 12 90 / 20;
+#X obj 12 12 r bang_forme3;
+#X obj 105 11 r line_forme3;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 1;
+#X restore 97 227 pd Rnd;
+#N canvas 0 0 249 237 Rnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 173 outlet;
+#X obj 12 90 / 20;
+#X obj 12 12 r bang_forme3;
+#X obj 105 11 r line_forme3;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 1;
+#X restore 196 227 pd Rnd;
+#N canvas 0 0 249 237 Rnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 173 outlet;
+#X obj 12 90 / 20;
+#X obj 12 12 r bang_forme3;
+#X obj 105 11 r line_forme3;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 1;
+#X restore 296 228 pd Rnd;
+#N canvas 0 0 249 237 Rnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 173 outlet;
+#X obj 12 90 / 20;
+#X obj 12 12 r bang_forme3;
+#X obj 105 11 r line_forme3;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 1;
+#X restore 395 228 pd Rnd;
+#N canvas 0 0 249 237 Rnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 173 outlet;
+#X obj 12 90 / 20;
+#X obj 12 12 r bang_forme3;
+#X obj 105 11 r line_forme3;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 1;
+#X restore 489 229 pd Rnd;
+#N canvas 0 0 249 237 Rnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 173 outlet;
+#X obj 12 90 / 20;
+#X obj 12 12 r bang_forme3;
+#X obj 105 11 r line_forme3;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 1;
+#X restore 121 275 pd Rnd;
+#N canvas 0 0 249 237 Rnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 173 outlet;
+#X obj 12 90 / 20;
+#X obj 12 12 r bang_forme3;
+#X obj 105 11 r line_forme3;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 1;
+#X restore 220 275 pd Rnd;
+#N canvas 0 0 249 237 Rnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 173 outlet;
+#X obj 12 90 / 20;
+#X obj 12 12 r bang_forme3;
+#X obj 105 11 r line_forme3;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 1;
+#X restore 320 276 pd Rnd;
+#N canvas 0 0 249 237 Rnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 173 outlet;
+#X obj 12 90 / 20;
+#X obj 12 12 r bang_forme3;
+#X obj 105 11 r line_forme3;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 1;
+#X restore 419 276 pd Rnd;
+#N canvas 0 0 249 237 Rnd 0;
+#X obj 12 63 random 100;
+#X obj 12 121 pack 0 1000;
+#X obj 12 149 line;
+#X obj 12 173 outlet;
+#X obj 12 90 / 20;
+#X obj 12 12 r bang_forme3;
+#X obj 105 11 r line_forme3;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 1;
+#X restore 513 277 pd Rnd;
+#X connect 1 0 28 0;
+#X connect 2 0 3 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X connect 9 0 0 0;
+#X connect 10 0 0 0;
+#X connect 11 0 0 0;
+#X connect 12 0 0 0;
+#X connect 13 0 0 0;
+#X connect 14 0 0 0;
+#X connect 15 0 0 0;
+#X connect 16 0 0 0;
+#X connect 17 0 0 0;
+#X connect 18 0 0 0;
+#X connect 19 0 0 0;
+#X connect 20 0 0 0;
+#X connect 21 0 0 0;
+#X connect 22 0 0 0;
+#X connect 23 0 0 0;
+#X connect 24 0 0 0;
+#X connect 25 0 0 0;
+#X connect 26 0 0 0;
+#X connect 27 0 0 0;
+#X connect 29 0 4 0;
+#X connect 30 0 5 0;
+#X connect 31 0 6 0;
+#X connect 32 0 7 0;
+#X connect 33 0 8 0;
+#X connect 34 0 9 0;
+#X connect 35 0 10 0;
+#X connect 36 0 11 0;
+#X connect 37 0 12 0;
+#X connect 38 0 13 0;
+#X connect 39 0 14 0;
+#X connect 40 0 15 0;
+#X connect 41 0 16 0;
+#X connect 42 0 17 0;
+#X connect 43 0 18 0;
+#X connect 44 0 19 0;
+#X connect 45 0 20 0;
+#X connect 46 0 21 0;
+#X connect 47 0 22 0;
+#X connect 48 0 23 0;
+#X connect 49 0 24 0;
+#X connect 50 0 25 0;
+#X connect 51 0 26 0;
+#X connect 52 0 27 0;
+#X restore 57 569 pd forme1;
+#X text 77 549 shape1;
+#X text 156 529 shape2;
+#X obj 57 529 loadbang;
+#X obj 136 572 s curve3d;
+#X obj 57 592 s curve3d;
+#X text 31 336 Inlet 1 : message: set Mx My X Y Z;
+#X text 31 296 Inlet 1: message: grid X Y;
+#X text 31 259 Inlet 1: message: res X Y;
+#X text 53 272 This message is use for changing the size of the control
+matrix (X \, Y are 2 int);
+#X text 52 310 This message is use for changing the subdivision of
+the displayed curve (X Y are 2 int);
+#X text 53 349 This message can be use to set the position of a control
+point. (Mx \, My : position of the point in the matrix. X \, Y \, Z
+: position of this control point;
+#X text 21 507 exemples :;
+#X obj 494 520 surface3d 5 5;
+#X obj 504 561 r curve3d;
+#X obj 494 585 surface3d 5 5;
+#X msg 594 559 draw control_line;
+#X text 59 28 Synopsis: [surface3d];
+#X text 13 68 Description: Renders a 3d bicubic curve.;
+#X text 67 182 size of the control matrix (default : 4 4);
+#X text 33 85 The surface3d object renders a curve at the current position
+with current color or texture. The shape of the curve is controlled
+from a matrix. The curve go throw all control points (between point
+1 to res-1);
+#X text 31 388 Inlet 1: normal 0/1;
+#X text 51 399 since computing normal use a lot's of processing power
+\, you can disable normal with this message;
+#X obj 490 344 s curve3d_render;
+#X obj 623 343 s curve3d_render;
+#X obj 580 496 r curve3d_render;
+#X obj 594 539 loadbang;
+#X obj 795 399 cnv 15 150 110 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X msg 812 434 normal \$1;
+#X obj 812 415 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X obj 812 455 s curve3d_render;
+#X text 33 146 This object is related to curve3d;
+#X text 271 4 Create a 3d bicubic curve \, using a matrix of control
+points;
+#X connect 11 0 12 0;
+#X connect 12 0 11 0;
+#X connect 17 0 89 0;
+#X connect 18 0 89 0;
+#X connect 20 0 89 0;
+#X connect 21 0 89 0;
+#X connect 22 0 89 0;
+#X connect 23 0 89 0;
+#X connect 24 0 89 0;
+#X connect 25 0 89 0;
+#X connect 26 0 90 0;
+#X connect 27 0 90 0;
+#X connect 28 0 90 0;
+#X connect 29 0 90 0;
+#X connect 30 0 90 0;
+#X connect 31 0 41 0;
+#X connect 32 0 42 0;
+#X connect 33 0 41 0;
+#X connect 34 0 42 0;
+#X connect 35 0 42 0;
+#X connect 36 0 41 0;
+#X connect 37 0 41 0;
+#X connect 38 0 42 0;
+#X connect 46 0 54 0;
+#X connect 47 0 53 1;
+#X connect 48 0 53 2;
+#X connect 49 0 53 3;
+#X connect 50 0 54 1;
+#X connect 51 0 54 2;
+#X connect 52 0 54 3;
+#X connect 53 0 79 0;
+#X connect 54 0 53 0;
+#X connect 55 0 79 0;
+#X connect 63 0 70 0;
+#X connect 64 0 63 0;
+#X connect 65 0 66 0;
+#X connect 66 0 71 0;
+#X connect 69 0 65 0;
+#X connect 79 0 81 0;
+#X connect 80 0 81 0;
+#X connect 82 0 81 0;
+#X connect 91 0 79 0;
+#X connect 92 0 82 0;
+#X connect 94 0 96 0;
+#X connect 95 0 94 0;
diff --git a/packages/noncvs/windows/extra/Gem/teapot-help.pd b/packages/noncvs/windows/extra/Gem/teapot-help.pd
index 02f97e49..528719da 100644
--- a/packages/noncvs/windows/extra/Gem/teapot-help.pd
+++ b/packages/noncvs/windows/extra/Gem/teapot-help.pd
@@ -1,69 +1,69 @@
-#N canvas 312 148 709 361 10;
-#X text 54 30 Class: geometric object;
-#X obj 519 47 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X obj 584 224 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 198 112 destroy;
-#X msg 132 112 create \, 1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 589 263 pd gemwin;
-#X msg 589 244 create;
-#X text 585 223 Create window:;
-#X text 525 29 Example:;
-#X obj 7 65 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 8 236 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 11 235 Inlets:;
-#X obj 8 176 cnv 15 450 50 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 175 Arguments:;
-#X text 29 275 Inlet 2: float: size;
-#X text 452 8 GEM object;
-#X text 29 247 Inlet 1: gemlist;
-#X text 11 304 Outlets:;
-#X text 23 317 Outlet 1: gemlist;
-#X text 33 14 Synopsis: [teapot];
-#X text 7 69 Description: Renders a teapot.;
-#X text 63 186 size of the teapot;
-#X obj 522 81 cnv 15 150 100 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X msg 525 88 draw line;
-#X msg 525 111 draw fill;
-#X obj 593 54 gemhead;
-#X floatatom 611 99 5 -5 5 2 size - -;
-#X floatatom 630 131 5 0 20 2 grid - -;
-#X text 29 289 Inlet 3: float: number of slices;
-#X text 29 261 Inlet 1: message: draw [line|fill|points];
-#X text 14 130 You can also specify the "number of slices" via the
-3rd inlet.;
-#X msg 526 132 draw point;
-#X text 15 88 The teapot object renders a teapot at the current position
-with current color. The size of the teapot can be changed via the second
-inlet.;
-#X obj 593 159 teapot 2 14;
-#X text 63 200 number of slices;
-#X connect 3 0 4 0;
-#X connect 4 0 3 0;
-#X connect 21 0 31 0;
-#X connect 22 0 31 0;
-#X connect 23 0 31 0;
-#X connect 24 0 31 1;
-#X connect 25 0 31 2;
-#X connect 29 0 31 0;
+#N canvas 312 148 709 361 10;
+#X text 54 30 Class: geometric object;
+#X obj 519 47 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X obj 584 224 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 198 112 destroy;
+#X msg 132 112 create \, 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 589 263 pd gemwin;
+#X msg 589 244 create;
+#X text 585 223 Create window:;
+#X text 525 29 Example:;
+#X obj 7 65 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 8 236 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 11 235 Inlets:;
+#X obj 8 176 cnv 15 450 50 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 175 Arguments:;
+#X text 29 275 Inlet 2: float: size;
+#X text 452 8 GEM object;
+#X text 29 247 Inlet 1: gemlist;
+#X text 11 304 Outlets:;
+#X text 23 317 Outlet 1: gemlist;
+#X text 33 14 Synopsis: [teapot];
+#X text 7 69 Description: Renders a teapot.;
+#X text 63 186 size of the teapot;
+#X obj 522 81 cnv 15 150 100 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X msg 525 88 draw line;
+#X msg 525 111 draw fill;
+#X obj 593 54 gemhead;
+#X floatatom 611 99 5 -5 5 2 size - -;
+#X floatatom 630 131 5 0 20 2 grid - -;
+#X text 29 289 Inlet 3: float: number of slices;
+#X text 29 261 Inlet 1: message: draw [line|fill|points];
+#X text 14 130 You can also specify the "number of slices" via the
+3rd inlet.;
+#X msg 526 132 draw point;
+#X text 15 88 The teapot object renders a teapot at the current position
+with current color. The size of the teapot can be changed via the second
+inlet.;
+#X obj 593 159 teapot 2 14;
+#X text 63 200 number of slices;
+#X connect 3 0 4 0;
+#X connect 4 0 3 0;
+#X connect 21 0 31 0;
+#X connect 22 0 31 0;
+#X connect 23 0 31 0;
+#X connect 24 0 31 1;
+#X connect 25 0 31 2;
+#X connect 29 0 31 0;
diff --git a/packages/noncvs/windows/extra/Gem/text2d-help.pd b/packages/noncvs/windows/extra/Gem/text2d-help.pd
index 750a7993..4d9652ba 100644
--- a/packages/noncvs/windows/extra/Gem/text2d-help.pd
+++ b/packages/noncvs/windows/extra/Gem/text2d-help.pd
@@ -1,102 +1,102 @@
-#N canvas 493 35 733 593 10;
-#X text 54 30 Class: geometric object;
-#X obj 519 47 cnv 15 170 270 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X obj 544 364 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 198 112 destroy;
-#X msg 132 112 create \, 1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 549 403 pd gemwin;
-#X msg 549 384 destroy;
-#X text 545 363 Create window:;
-#X obj 7 65 cnv 15 450 220 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 8 346 cnv 15 450 180 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 9 351 Inlets:;
-#X obj 8 295 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 294 Arguments:;
-#X text 452 8 GEM object;
-#X text 27 363 Inlet 1: gemlist;
-#X text 9 487 Outlets:;
-#X text 21 500 Outlet 1: gemlist;
-#X text 525 29 Example:;
-#X obj 522 94 cnv 15 150 220 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 533 50 gemhead;
-#X floatatom 570 269 5 0 100 1 size - -;
-#X msg 543 134 font \$1;
-#X obj 543 115 openpanel;
-#X obj 543 98 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X msg 551 160 text hello world!;
-#X msg 555 179 1 2 3 4;
-#X msg 559 220 alias \$1;
-#X obj 559 202 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X text 7 69 Description: Renders a line of text;
-#X text 63 306 initial text (defaults to "gem");
-#X text 7 208 Justification:;
-#X text 32 223 horizontal justification can be one of "left" \, "right"
-\, "center"(default) and "base"(none);
-#X text 32 253 vertical justification can be one of "top" \, "bottom"
-\, "middle"(default) and "base"(none);
-#X msg 560 246 justify left base;
-#X text 10 94 [text2d] renders one line of a text with the current
-color \, but without(!) 3D-transformation;
-#X obj 533 71 translateXYZ;
-#X floatatom 637 54 5 -10 10 0 - - -;
-#X floatatom 596 49 3 -3.5 3.5 0 - - -;
-#X text 27 377 Inlet 1: message: font <.TTF-file> : load a TrueType-font
-;
-#X text 27 391 Inlet 1: message: text [<blah>] : render the given text
-;
-#X text 27 404 Inlet 1: message: list [<blah>] : render the given text
-;
-#X text 27 417 Inlet 1: message: alias 1|0 : anti-aliasing on/off;
-#X text 27 432 Inlet 1: message: justify <hor> [<vert>] : horizontal&vertical
-justification;
-#X obj 533 290 text2d;
-#X text 27 461 Inlet 2: float: size (in points) \; default: 20;
-#X obj 30 543 cnv 15 400 40 empty empty empty 20 12 0 14 -261681 -66577
-0;
-#X text 43 547 Note: on some systems it might be necessary to turn
-rendering ON before loading a font.;
-#X text 33 14 Synopsis: [text2d];
-#X text 10 123 Any TrueType-font can be rendered. Per default a file
-"vera.ttf" is searched in the paths. If it is not found you will not
-see anything unless you load a valid font via the "font"-message. The
-font-loader uses pd's search-paths \, so you could specify your path
-aon the command-line and load fonts with just "font times.ttf".;
-#X connect 3 0 4 0;
-#X connect 4 0 3 0;
-#X connect 17 0 33 0;
-#X connect 18 0 41 1;
-#X connect 19 0 41 0;
-#X connect 20 0 19 0;
-#X connect 21 0 20 0;
-#X connect 22 0 41 0;
-#X connect 23 0 41 0;
-#X connect 24 0 41 0;
-#X connect 25 0 24 0;
-#X connect 31 0 41 0;
-#X connect 33 0 41 0;
-#X connect 34 0 33 3;
-#X connect 35 0 33 1;
+#N canvas 493 35 733 593 10;
+#X text 54 30 Class: geometric object;
+#X obj 519 47 cnv 15 170 270 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X obj 544 364 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 198 112 destroy;
+#X msg 132 112 create \, 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 549 403 pd gemwin;
+#X msg 549 384 destroy;
+#X text 545 363 Create window:;
+#X obj 7 65 cnv 15 450 220 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 8 346 cnv 15 450 180 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 9 351 Inlets:;
+#X obj 8 295 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 294 Arguments:;
+#X text 452 8 GEM object;
+#X text 27 363 Inlet 1: gemlist;
+#X text 9 487 Outlets:;
+#X text 21 500 Outlet 1: gemlist;
+#X text 525 29 Example:;
+#X obj 522 94 cnv 15 150 220 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 533 50 gemhead;
+#X floatatom 570 269 5 0 100 1 size - -;
+#X msg 543 134 font \$1;
+#X obj 543 115 openpanel;
+#X obj 543 98 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X msg 551 160 text hello world!;
+#X msg 555 179 1 2 3 4;
+#X msg 559 220 alias \$1;
+#X obj 559 202 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X text 7 69 Description: Renders a line of text;
+#X text 63 306 initial text (defaults to "gem");
+#X text 7 208 Justification:;
+#X text 32 223 horizontal justification can be one of "left" \, "right"
+\, "center"(default) and "base"(none);
+#X text 32 253 vertical justification can be one of "top" \, "bottom"
+\, "middle"(default) and "base"(none);
+#X msg 560 246 justify left base;
+#X text 10 94 [text2d] renders one line of a text with the current
+color \, but without(!) 3D-transformation;
+#X obj 533 71 translateXYZ;
+#X floatatom 637 54 5 -10 10 0 - - -;
+#X floatatom 596 49 3 -3.5 3.5 0 - - -;
+#X text 27 377 Inlet 1: message: font <.TTF-file> : load a TrueType-font
+;
+#X text 27 391 Inlet 1: message: text [<blah>] : render the given text
+;
+#X text 27 404 Inlet 1: message: list [<blah>] : render the given text
+;
+#X text 27 417 Inlet 1: message: alias 1|0 : anti-aliasing on/off;
+#X text 27 432 Inlet 1: message: justify <hor> [<vert>] : horizontal&vertical
+justification;
+#X obj 533 290 text2d;
+#X text 27 461 Inlet 2: float: size (in points) \; default: 20;
+#X obj 30 543 cnv 15 400 40 empty empty empty 20 12 0 14 -261681 -66577
+0;
+#X text 43 547 Note: on some systems it might be necessary to turn
+rendering ON before loading a font.;
+#X text 33 14 Synopsis: [text2d];
+#X text 10 123 Any TrueType-font can be rendered. Per default a file
+"vera.ttf" is searched in the paths. If it is not found you will not
+see anything unless you load a valid font via the "font"-message. The
+font-loader uses pd's search-paths \, so you could specify your path
+aon the command-line and load fonts with just "font times.ttf".;
+#X connect 3 0 4 0;
+#X connect 4 0 3 0;
+#X connect 17 0 33 0;
+#X connect 18 0 41 1;
+#X connect 19 0 41 0;
+#X connect 20 0 19 0;
+#X connect 21 0 20 0;
+#X connect 22 0 41 0;
+#X connect 23 0 41 0;
+#X connect 24 0 41 0;
+#X connect 25 0 24 0;
+#X connect 31 0 41 0;
+#X connect 33 0 41 0;
+#X connect 34 0 33 3;
+#X connect 35 0 33 1;
diff --git a/packages/noncvs/windows/extra/Gem/text3d-help.pd b/packages/noncvs/windows/extra/Gem/text3d-help.pd
index 4be04642..b4b934a6 100644
--- a/packages/noncvs/windows/extra/Gem/text3d-help.pd
+++ b/packages/noncvs/windows/extra/Gem/text3d-help.pd
@@ -1,100 +1,100 @@
-#N canvas 108 62 733 630 10;
-#X text 54 30 Class: geometric object;
-#X obj 519 47 cnv 15 170 270 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X obj 544 364 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 198 112 destroy;
-#X msg 132 112 create \, 1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 549 403 pd gemwin;
-#X msg 549 384 create;
-#X text 545 363 Create window:;
-#X obj 7 65 cnv 15 450 220 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 8 346 cnv 15 450 180 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 9 351 Inlets:;
-#X obj 8 295 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 294 Arguments:;
-#X text 452 8 GEM object;
-#X text 27 363 Inlet 1: gemlist;
-#X text 9 495 Outlets:;
-#X text 21 508 Outlet 1: gemlist;
-#X text 525 29 Example:;
-#X obj 522 94 cnv 15 150 220 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 533 50 gemhead;
-#X floatatom 572 269 5 0 100 1 size - -;
-#X msg 543 134 font \$1;
-#X obj 543 115 openpanel;
-#X obj 543 98 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X msg 551 160 text hello world!;
-#X msg 555 179 1 2 3 4;
-#X text 7 69 Description: Renders a line of text;
-#X text 63 306 initial text (defaults to "gem");
-#X text 7 208 Justification:;
-#X text 32 223 horizontal justification can be one of "left" \, "right"
-\, "center"(default) and "base"(none);
-#X text 32 253 vertical justification can be one of "top" \, "bottom"
-\, "middle"(default) and "base"(none);
-#X msg 550 226 justify left base;
-#X floatatom 637 54 5 0 0 0 - - -;
-#X floatatom 596 49 4 0 0 0 - - -;
-#X text 27 377 Inlet 1: message: font <.TTF-file> : load a TrueType-font
-;
-#X text 27 391 Inlet 1: message: text [<blah>] : render the given text
-;
-#X text 27 404 Inlet 1: message: list [<blah>] : render the given text
-;
-#X text 27 447 Inlet 1: message: justify <hor> [<vert>] : horizontal&vertical
-justification;
-#X obj 533 71 rotateXYZ;
-#X obj 533 290 text3d;
-#X text 10 94 [text3d] renders one line of a text with the current
-color \, and all 3D-transformation;
-#X text 33 14 Synopsis: [text3d];
-#X text 27 476 Inlet 2: float: size (in points). default: 20;
-#X obj 30 543 cnv 15 400 40 empty empty empty 20 12 0 14 -261681 -66577
-0;
-#X text 43 547 Note: on some systems it might be necessary to turn
-rendering ON before loading a font.;
-#X msg 561 201 string 48 49 32 51 52;
-#X text 27 416 Inlet 1: message: string [<blah>] : render the given
-text \, given as a list of unicode code points (similar to ASCII);
-#X text 10 123 Any TrueType-font can be rendered. Per default a file
-"vera.ttf" is searched in the paths. If it is not found you will not
-see anything unless you load a valid font via the "font"-message. The
-font-loader uses pd's search-paths \, so you could specify your path
-aon the command-line and load fonts with just "font times.ttf".;
-#X connect 3 0 4 0;
-#X connect 4 0 3 0;
-#X connect 17 0 36 0;
-#X connect 18 0 37 1;
-#X connect 19 0 37 0;
-#X connect 20 0 19 0;
-#X connect 21 0 20 0;
-#X connect 22 0 37 0;
-#X connect 23 0 37 0;
-#X connect 29 0 37 0;
-#X connect 30 0 36 3;
-#X connect 31 0 36 1;
-#X connect 36 0 37 0;
-#X connect 43 0 37 0;
+#N canvas 108 62 733 630 10;
+#X text 54 30 Class: geometric object;
+#X obj 519 47 cnv 15 170 270 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X obj 544 364 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 198 112 destroy;
+#X msg 132 112 create \, 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 549 403 pd gemwin;
+#X msg 549 384 create;
+#X text 545 363 Create window:;
+#X obj 7 65 cnv 15 450 220 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 8 346 cnv 15 450 180 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 9 351 Inlets:;
+#X obj 8 295 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 294 Arguments:;
+#X text 452 8 GEM object;
+#X text 27 363 Inlet 1: gemlist;
+#X text 9 495 Outlets:;
+#X text 21 508 Outlet 1: gemlist;
+#X text 525 29 Example:;
+#X obj 522 94 cnv 15 150 220 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 533 50 gemhead;
+#X floatatom 572 269 5 0 100 1 size - -;
+#X msg 543 134 font \$1;
+#X obj 543 115 openpanel;
+#X obj 543 98 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X msg 551 160 text hello world!;
+#X msg 555 179 1 2 3 4;
+#X text 7 69 Description: Renders a line of text;
+#X text 63 306 initial text (defaults to "gem");
+#X text 7 208 Justification:;
+#X text 32 223 horizontal justification can be one of "left" \, "right"
+\, "center"(default) and "base"(none);
+#X text 32 253 vertical justification can be one of "top" \, "bottom"
+\, "middle"(default) and "base"(none);
+#X msg 550 226 justify left base;
+#X floatatom 637 54 5 0 0 0 - - -;
+#X floatatom 596 49 4 0 0 0 - - -;
+#X text 27 377 Inlet 1: message: font <.TTF-file> : load a TrueType-font
+;
+#X text 27 391 Inlet 1: message: text [<blah>] : render the given text
+;
+#X text 27 404 Inlet 1: message: list [<blah>] : render the given text
+;
+#X text 27 447 Inlet 1: message: justify <hor> [<vert>] : horizontal&vertical
+justification;
+#X obj 533 71 rotateXYZ;
+#X obj 533 290 text3d;
+#X text 10 94 [text3d] renders one line of a text with the current
+color \, and all 3D-transformation;
+#X text 33 14 Synopsis: [text3d];
+#X text 27 476 Inlet 2: float: size (in points). default: 20;
+#X obj 30 543 cnv 15 400 40 empty empty empty 20 12 0 14 -261681 -66577
+0;
+#X text 43 547 Note: on some systems it might be necessary to turn
+rendering ON before loading a font.;
+#X msg 561 201 string 48 49 32 51 52;
+#X text 27 416 Inlet 1: message: string [<blah>] : render the given
+text \, given as a list of unicode code points (similar to ASCII);
+#X text 10 123 Any TrueType-font can be rendered. Per default a file
+"vera.ttf" is searched in the paths. If it is not found you will not
+see anything unless you load a valid font via the "font"-message. The
+font-loader uses pd's search-paths \, so you could specify your path
+aon the command-line and load fonts with just "font times.ttf".;
+#X connect 3 0 4 0;
+#X connect 4 0 3 0;
+#X connect 17 0 36 0;
+#X connect 18 0 37 1;
+#X connect 19 0 37 0;
+#X connect 20 0 19 0;
+#X connect 21 0 20 0;
+#X connect 22 0 37 0;
+#X connect 23 0 37 0;
+#X connect 29 0 37 0;
+#X connect 30 0 36 3;
+#X connect 31 0 36 1;
+#X connect 36 0 37 0;
+#X connect 43 0 37 0;
diff --git a/packages/noncvs/windows/extra/Gem/textextruded-help.pd b/packages/noncvs/windows/extra/Gem/textextruded-help.pd
index b689a66f..234ebe79 100644
--- a/packages/noncvs/windows/extra/Gem/textextruded-help.pd
+++ b/packages/noncvs/windows/extra/Gem/textextruded-help.pd
@@ -1,105 +1,105 @@
-#N canvas 26 90 733 630 10;
-#X text 54 30 Class: geometric object;
-#X obj 519 47 cnv 15 170 270 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X obj 544 364 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 198 112 destroy;
-#X msg 132 112 create \, 1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 549 403 pd gemwin;
-#X msg 549 384 create;
-#X text 545 363 Create window:;
-#X obj 7 65 cnv 15 450 220 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 8 346 cnv 15 450 180 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 9 351 Inlets:;
-#X obj 8 295 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 294 Arguments:;
-#X text 452 8 GEM object;
-#X text 27 363 Inlet 1: gemlist;
-#X text 9 486 Outlets:;
-#X text 21 499 Outlet 1: gemlist;
-#X text 525 29 Example:;
-#X obj 522 94 cnv 15 150 220 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 533 50 gemhead;
-#X floatatom 578 269 5 0 100 1 size - -;
-#X msg 543 134 font \$1;
-#X obj 543 115 openpanel;
-#X obj 543 98 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X msg 551 160 text hello world!;
-#X msg 555 179 1 2 3 4;
-#X text 7 69 Description: Renders a line of text;
-#X text 63 306 initial text (defaults to "gem");
-#X text 10 123 Any TrueType-font can be rendered. Per default a file
-"vera.ttf" is searched in the paths. If it is not found you will not
-see anything unless you load a valid font via the "font"-message. The
-font-loader uses pd's search-paths \, so you could specify your path
-aon the command-line and load fonts with just "font times.ttf".;
-#X text 7 208 Justification:;
-#X text 32 223 horizontal justification can be one of "left" \, "right"
-\, "center"(default) and "base"(none);
-#X text 32 253 vertical justification can be one of "top" \, "bottom"
-\, "middle"(default) and "base"(none);
-#X msg 550 206 justify left base;
-#X floatatom 637 54 5 0 0 0 - - -;
-#X floatatom 596 49 4 0 0 0 - - -;
-#X text 27 377 Inlet 1: message: font <.TTF-file> : load a TrueType-font
-;
-#X text 27 391 Inlet 1: message: text [<blah>] : render the given text
-;
-#X text 27 404 Inlet 1: message: list [<blah>] : render the given text
-;
-#X text 27 438 Inlet 1: message: justify <hor> [<vert>] : horizontal&vertical
-justification;
-#X obj 533 71 rotateXYZ;
-#X text 27 467 Inlet 2: float: size (in points). default: 20;
-#X obj 20 533 cnv 15 400 40 empty empty empty 20 12 0 14 -261681 -66577
-0;
-#X text 33 537 Note: on some systems it might be necessary to turn
-rendering ON before loading a font.;
-#X obj 533 290 textextruded;
-#X text 33 14 Synopsis: [textextruded];
-#X msg 558 250 depth \$1;
-#X floatatom 558 231 5 0 0 1 depth - -;
-#X text 10 94 [textextruded] renders one line of a extruded text with
-the current color \, and all 3D-transformation;
-#X text 27 418 Inlet 1: message: depth <float> : extrusion depth;
-#X obj 20 578 cnv 15 400 40 empty empty empty 20 12 0 14 -261681 -66577
-0;
-#X text 22 583 Note: GEM needs to be compiled with FTGL-support for
-this to work;
-#X connect 3 0 4 0;
-#X connect 4 0 3 0;
-#X connect 17 0 37 0;
-#X connect 18 0 41 1;
-#X connect 19 0 41 0;
-#X connect 20 0 19 0;
-#X connect 21 0 20 0;
-#X connect 22 0 41 0;
-#X connect 23 0 41 0;
-#X connect 30 0 41 0;
-#X connect 31 0 37 3;
-#X connect 32 0 37 1;
-#X connect 37 0 41 0;
-#X connect 43 0 41 0;
-#X connect 44 0 43 0;
+#N canvas 26 90 733 630 10;
+#X text 54 30 Class: geometric object;
+#X obj 519 47 cnv 15 170 270 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X obj 544 364 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 198 112 destroy;
+#X msg 132 112 create \, 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 549 403 pd gemwin;
+#X msg 549 384 create;
+#X text 545 363 Create window:;
+#X obj 7 65 cnv 15 450 220 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 8 346 cnv 15 450 180 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 9 351 Inlets:;
+#X obj 8 295 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 294 Arguments:;
+#X text 452 8 GEM object;
+#X text 27 363 Inlet 1: gemlist;
+#X text 9 486 Outlets:;
+#X text 21 499 Outlet 1: gemlist;
+#X text 525 29 Example:;
+#X obj 522 94 cnv 15 150 220 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 533 50 gemhead;
+#X floatatom 578 269 5 0 100 1 size - -;
+#X msg 543 134 font \$1;
+#X obj 543 115 openpanel;
+#X obj 543 98 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X msg 551 160 text hello world!;
+#X msg 555 179 1 2 3 4;
+#X text 7 69 Description: Renders a line of text;
+#X text 63 306 initial text (defaults to "gem");
+#X text 10 123 Any TrueType-font can be rendered. Per default a file
+"vera.ttf" is searched in the paths. If it is not found you will not
+see anything unless you load a valid font via the "font"-message. The
+font-loader uses pd's search-paths \, so you could specify your path
+aon the command-line and load fonts with just "font times.ttf".;
+#X text 7 208 Justification:;
+#X text 32 223 horizontal justification can be one of "left" \, "right"
+\, "center"(default) and "base"(none);
+#X text 32 253 vertical justification can be one of "top" \, "bottom"
+\, "middle"(default) and "base"(none);
+#X msg 550 206 justify left base;
+#X floatatom 637 54 5 0 0 0 - - -;
+#X floatatom 596 49 4 0 0 0 - - -;
+#X text 27 377 Inlet 1: message: font <.TTF-file> : load a TrueType-font
+;
+#X text 27 391 Inlet 1: message: text [<blah>] : render the given text
+;
+#X text 27 404 Inlet 1: message: list [<blah>] : render the given text
+;
+#X text 27 438 Inlet 1: message: justify <hor> [<vert>] : horizontal&vertical
+justification;
+#X obj 533 71 rotateXYZ;
+#X text 27 467 Inlet 2: float: size (in points). default: 20;
+#X obj 20 533 cnv 15 400 40 empty empty empty 20 12 0 14 -261681 -66577
+0;
+#X text 33 537 Note: on some systems it might be necessary to turn
+rendering ON before loading a font.;
+#X obj 533 290 textextruded;
+#X text 33 14 Synopsis: [textextruded];
+#X msg 558 250 depth \$1;
+#X floatatom 558 231 5 0 0 1 depth - -;
+#X text 10 94 [textextruded] renders one line of a extruded text with
+the current color \, and all 3D-transformation;
+#X text 27 418 Inlet 1: message: depth <float> : extrusion depth;
+#X obj 20 578 cnv 15 400 40 empty empty empty 20 12 0 14 -261681 -66577
+0;
+#X text 22 583 Note: GEM needs to be compiled with FTGL-support for
+this to work;
+#X connect 3 0 4 0;
+#X connect 4 0 3 0;
+#X connect 17 0 37 0;
+#X connect 18 0 41 1;
+#X connect 19 0 41 0;
+#X connect 20 0 19 0;
+#X connect 21 0 20 0;
+#X connect 22 0 41 0;
+#X connect 23 0 41 0;
+#X connect 30 0 41 0;
+#X connect 31 0 37 3;
+#X connect 32 0 37 1;
+#X connect 37 0 41 0;
+#X connect 43 0 41 0;
+#X connect 44 0 43 0;
diff --git a/packages/noncvs/windows/extra/Gem/textoutline-help.pd b/packages/noncvs/windows/extra/Gem/textoutline-help.pd
index 71c3a231..2d7b2978 100644
--- a/packages/noncvs/windows/extra/Gem/textoutline-help.pd
+++ b/packages/noncvs/windows/extra/Gem/textoutline-help.pd
@@ -1,96 +1,96 @@
-#N canvas 26 90 733 630 10;
-#X text 54 30 Class: geometric object;
-#X obj 519 47 cnv 15 170 270 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X obj 544 364 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 198 112 destroy;
-#X msg 132 112 create \, 1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 549 403 pd gemwin;
-#X msg 549 384 create;
-#X text 545 363 Create window:;
-#X obj 7 65 cnv 15 450 220 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 8 346 cnv 15 450 180 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 9 351 Inlets:;
-#X obj 8 295 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 294 Arguments:;
-#X text 452 8 GEM object;
-#X text 27 363 Inlet 1: gemlist;
-#X text 9 476 Outlets:;
-#X text 21 489 Outlet 1: gemlist;
-#X text 525 29 Example:;
-#X obj 522 94 cnv 15 150 220 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 533 50 gemhead;
-#X floatatom 570 269 5 0 100 1 size - -;
-#X msg 543 134 font \$1;
-#X obj 543 115 openpanel;
-#X obj 543 98 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X msg 551 160 text hello world!;
-#X msg 555 179 1 2 3 4;
-#X text 7 69 Description: Renders a line of text;
-#X text 63 306 initial text (defaults to "gem");
-#X text 10 123 Any TrueType-font can be rendered. Per default a file
-"vera.ttf" is searched in the paths. If it is not found you will not
-see anything unless you load a valid font via the "font"-message. The
-font-loader uses pd's search-paths \, so you could specify your path
-aon the command-line and load fonts with just "font times.ttf".;
-#X text 7 208 Justification:;
-#X text 32 223 horizontal justification can be one of "left" \, "right"
-\, "center"(default) and "base"(none);
-#X text 32 253 vertical justification can be one of "top" \, "bottom"
-\, "middle"(default) and "base"(none);
-#X msg 550 226 justify left base;
-#X floatatom 637 54 5 0 0 0 - - -;
-#X floatatom 596 49 4 0 0 0 - - -;
-#X text 27 377 Inlet 1: message: font <.TTF-file> : load a TrueType-font
-;
-#X text 27 391 Inlet 1: message: text [<blah>] : render the given text
-;
-#X text 27 404 Inlet 1: message: list [<blah>] : render the given text
-;
-#X text 27 428 Inlet 1: message: justify <hor> [<vert>] : horizontal&vertical
-justification;
-#X obj 533 71 rotateXYZ;
-#X text 33 14 Synopsis: [textoutline];
-#X text 27 457 Inlet 2: float: size (in points). default: 20;
-#X obj 30 543 cnv 15 400 40 empty empty empty 20 12 0 14 -261681 -66577
-0;
-#X text 43 547 Note: on some systems it might be necessary to turn
-rendering ON before loading a font.;
-#X obj 533 290 textoutline;
-#X text 10 94 [textoutline] renders one line of a outlined text with the
-current color \, and all 3D-transformation;
-#X connect 3 0 4 0;
-#X connect 4 0 3 0;
-#X connect 17 0 37 0;
-#X connect 18 0 42 1;
-#X connect 19 0 42 0;
-#X connect 20 0 19 0;
-#X connect 21 0 20 0;
-#X connect 22 0 42 0;
-#X connect 23 0 42 0;
-#X connect 30 0 42 0;
-#X connect 31 0 37 3;
-#X connect 32 0 37 1;
-#X connect 37 0 42 0;
+#N canvas 26 90 733 630 10;
+#X text 54 30 Class: geometric object;
+#X obj 519 47 cnv 15 170 270 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X obj 544 364 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 198 112 destroy;
+#X msg 132 112 create \, 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 549 403 pd gemwin;
+#X msg 549 384 create;
+#X text 545 363 Create window:;
+#X obj 7 65 cnv 15 450 220 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 8 346 cnv 15 450 180 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 9 351 Inlets:;
+#X obj 8 295 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 294 Arguments:;
+#X text 452 8 GEM object;
+#X text 27 363 Inlet 1: gemlist;
+#X text 9 476 Outlets:;
+#X text 21 489 Outlet 1: gemlist;
+#X text 525 29 Example:;
+#X obj 522 94 cnv 15 150 220 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 533 50 gemhead;
+#X floatatom 570 269 5 0 100 1 size - -;
+#X msg 543 134 font \$1;
+#X obj 543 115 openpanel;
+#X obj 543 98 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X msg 551 160 text hello world!;
+#X msg 555 179 1 2 3 4;
+#X text 7 69 Description: Renders a line of text;
+#X text 63 306 initial text (defaults to "gem");
+#X text 10 123 Any TrueType-font can be rendered. Per default a file
+"vera.ttf" is searched in the paths. If it is not found you will not
+see anything unless you load a valid font via the "font"-message. The
+font-loader uses pd's search-paths \, so you could specify your path
+aon the command-line and load fonts with just "font times.ttf".;
+#X text 7 208 Justification:;
+#X text 32 223 horizontal justification can be one of "left" \, "right"
+\, "center"(default) and "base"(none);
+#X text 32 253 vertical justification can be one of "top" \, "bottom"
+\, "middle"(default) and "base"(none);
+#X msg 550 226 justify left base;
+#X floatatom 637 54 5 0 0 0 - - -;
+#X floatatom 596 49 4 0 0 0 - - -;
+#X text 27 377 Inlet 1: message: font <.TTF-file> : load a TrueType-font
+;
+#X text 27 391 Inlet 1: message: text [<blah>] : render the given text
+;
+#X text 27 404 Inlet 1: message: list [<blah>] : render the given text
+;
+#X text 27 428 Inlet 1: message: justify <hor> [<vert>] : horizontal&vertical
+justification;
+#X obj 533 71 rotateXYZ;
+#X text 33 14 Synopsis: [textoutline];
+#X text 27 457 Inlet 2: float: size (in points). default: 20;
+#X obj 30 543 cnv 15 400 40 empty empty empty 20 12 0 14 -261681 -66577
+0;
+#X text 43 547 Note: on some systems it might be necessary to turn
+rendering ON before loading a font.;
+#X obj 533 290 textoutline;
+#X text 10 94 [textoutline] renders one line of a outlined text with the
+current color \, and all 3D-transformation;
+#X connect 3 0 4 0;
+#X connect 4 0 3 0;
+#X connect 17 0 37 0;
+#X connect 18 0 42 1;
+#X connect 19 0 42 0;
+#X connect 20 0 19 0;
+#X connect 21 0 20 0;
+#X connect 22 0 42 0;
+#X connect 23 0 42 0;
+#X connect 30 0 42 0;
+#X connect 31 0 37 3;
+#X connect 32 0 37 1;
+#X connect 37 0 42 0;
diff --git a/packages/noncvs/windows/extra/Gem/torus-help.pd b/packages/noncvs/windows/extra/Gem/torus-help.pd
index 4be4e6f8..25bbcd2a 100644
--- a/packages/noncvs/windows/extra/Gem/torus-help.pd
+++ b/packages/noncvs/windows/extra/Gem/torus-help.pd
@@ -1,73 +1,73 @@
-#N canvas 279 150 740 369 10;
-#X text 54 30 Class: geometric object;
-#X obj 519 47 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X obj 584 224 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 198 112 destroy;
-#X msg 132 112 create \, 1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 589 263 pd gemwin;
-#X msg 589 244 create;
-#X text 585 223 Create window:;
-#X text 525 29 Example:;
-#X obj 7 65 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 8 236 cnv 15 450 120 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 11 237 Inlets:;
-#X obj 8 176 cnv 15 450 55 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 175 Arguments:;
-#X text 29 277 Inlet 2: float: size;
-#X text 452 8 GEM object;
-#X text 29 249 Inlet 1: gemlist;
-#X text 11 326 Outlets:;
-#X text 23 339 Outlet 1: gemlist;
-#X obj 522 81 cnv 15 150 100 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X msg 525 88 draw line;
-#X msg 525 111 draw fill;
-#X obj 593 54 gemhead;
-#X floatatom 603 86 5 -5 5 2 size - -;
-#X floatatom 613 114 5 0 20 2 slices - -;
-#X text 29 291 Inlet 3: float: number of slices;
-#X text 29 263 Inlet 1: message: draw [line|fill|points];
-#X text 14 130 You can also specify the "number of slices" via the
-3rd inlet.;
-#X msg 526 132 draw point;
-#X text 33 14 Synopsis: [torus];
-#X text 63 186 size of the torus;
-#X text 7 69 Description: Renders a torus.;
-#X text 15 88 The torus object renders a torus (aka: doughnut) at the
-current position with current color. The size of the torus can be changed
-via the second inlet.;
-#X floatatom 623 141 5 0 20 2 thickness - -;
-#X obj 593 159 torus 1;
-#X text 63 199 # of slices;
-#X text 62 214 thickness (R-r);
-#X text 29 307 Inlet 3: float: thickness of the torus (R-r);
-#X connect 3 0 4 0;
-#X connect 4 0 3 0;
-#X connect 18 0 32 0;
-#X connect 19 0 32 0;
-#X connect 20 0 32 0;
-#X connect 21 0 32 1;
-#X connect 22 0 32 2;
-#X connect 26 0 32 0;
-#X connect 31 0 32 3;
+#N canvas 279 150 740 369 10;
+#X text 54 30 Class: geometric object;
+#X obj 519 47 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X obj 584 224 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 198 112 destroy;
+#X msg 132 112 create \, 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 589 263 pd gemwin;
+#X msg 589 244 create;
+#X text 585 223 Create window:;
+#X text 525 29 Example:;
+#X obj 7 65 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 8 236 cnv 15 450 120 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 11 237 Inlets:;
+#X obj 8 176 cnv 15 450 55 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 175 Arguments:;
+#X text 29 277 Inlet 2: float: size;
+#X text 452 8 GEM object;
+#X text 29 249 Inlet 1: gemlist;
+#X text 11 326 Outlets:;
+#X text 23 339 Outlet 1: gemlist;
+#X obj 522 81 cnv 15 150 100 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X msg 525 88 draw line;
+#X msg 525 111 draw fill;
+#X obj 593 54 gemhead;
+#X floatatom 603 86 5 -5 5 2 size - -;
+#X floatatom 613 114 5 0 20 2 slices - -;
+#X text 29 291 Inlet 3: float: number of slices;
+#X text 29 263 Inlet 1: message: draw [line|fill|points];
+#X text 14 130 You can also specify the "number of slices" via the
+3rd inlet.;
+#X msg 526 132 draw point;
+#X text 33 14 Synopsis: [torus];
+#X text 63 186 size of the torus;
+#X text 7 69 Description: Renders a torus.;
+#X text 15 88 The torus object renders a torus (aka: doughnut) at the
+current position with current color. The size of the torus can be changed
+via the second inlet.;
+#X floatatom 623 141 5 0 20 2 thickness - -;
+#X obj 593 159 torus 1;
+#X text 63 199 # of slices;
+#X text 62 214 thickness (R-r);
+#X text 29 307 Inlet 3: float: thickness of the torus (R-r);
+#X connect 3 0 4 0;
+#X connect 4 0 3 0;
+#X connect 18 0 32 0;
+#X connect 19 0 32 0;
+#X connect 20 0 32 0;
+#X connect 21 0 32 1;
+#X connect 22 0 32 2;
+#X connect 26 0 32 0;
+#X connect 31 0 32 3;
diff --git a/packages/noncvs/windows/extra/Gem/translate-help.pd b/packages/noncvs/windows/extra/Gem/translate-help.pd
index 556b81bf..fe892073 100644
--- a/packages/noncvs/windows/extra/Gem/translate-help.pd
+++ b/packages/noncvs/windows/extra/Gem/translate-help.pd
@@ -1,64 +1,64 @@
-#N canvas 57 47 639 383 10;
-#X text 452 8 GEM object;
-#X obj 8 226 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 238 Inlets:;
-#X text 63 251 Inlet 1: gemlist;
-#X text 39 302 Outlets:;
-#X text 57 315 Outlet 1: gemlist;
-#X obj 8 176 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 175 Arguments:;
-#X obj 8 76 cnv 15 440 70 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X text 71 31 Class: manipulation object;
-#X obj 450 108 cnv 15 160 100 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X obj 451 233 square;
-#X floatatom 478 130 5 0 0 2 amount - -;
-#X msg 567 162 0 1 1;
-#X text 50 12 Synopsis: [translate];
-#X msg 508 161 0.1 0 0;
-#X text 29 77 Description: translation;
-#X text 41 91 translate accepts a gemList and changes the current transformation
-matrix by the specified translation;
-#X text 36 122 the a*(x y z) vector determines the translation;
-#X text 63 186 1st argument: translation scale;
-#X text 63 199 2nd-4th argument: translation-axis (XYZ);
-#X text 63 266 Inlet 2: float: translation scale;
-#X text 63 284 Inlet 3: list: translation axis (X Y Z);
-#X obj 451 186 translate 0.1 1 1 0;
-#X connect 12 0 13 0;
-#X connect 13 0 12 0;
-#X connect 17 0 30 0;
-#X connect 19 0 30 1;
-#X connect 20 0 30 2;
-#X connect 22 0 30 2;
-#X connect 30 0 18 0;
+#N canvas 57 47 639 383 10;
+#X text 452 8 GEM object;
+#X obj 8 226 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 238 Inlets:;
+#X text 63 251 Inlet 1: gemlist;
+#X text 39 302 Outlets:;
+#X text 57 315 Outlet 1: gemlist;
+#X obj 8 176 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 175 Arguments:;
+#X obj 8 76 cnv 15 440 70 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X text 71 31 Class: manipulation object;
+#X obj 450 108 cnv 15 160 100 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X obj 451 233 square;
+#X floatatom 478 130 5 0 0 2 amount - -;
+#X msg 567 162 0 1 1;
+#X text 50 12 Synopsis: [translate];
+#X msg 508 161 0.1 0 0;
+#X text 29 77 Description: translation;
+#X text 41 91 translate accepts a gemList and changes the current transformation
+matrix by the specified translation;
+#X text 36 122 the a*(x y z) vector determines the translation;
+#X text 63 186 1st argument: translation scale;
+#X text 63 199 2nd-4th argument: translation-axis (XYZ);
+#X text 63 266 Inlet 2: float: translation scale;
+#X text 63 284 Inlet 3: list: translation axis (X Y Z);
+#X obj 451 186 translate 0.1 1 1 0;
+#X connect 12 0 13 0;
+#X connect 13 0 12 0;
+#X connect 17 0 30 0;
+#X connect 19 0 30 1;
+#X connect 20 0 30 2;
+#X connect 22 0 30 2;
+#X connect 30 0 18 0;
diff --git a/packages/noncvs/windows/extra/Gem/translateXYZ-help.pd b/packages/noncvs/windows/extra/Gem/translateXYZ-help.pd
index 806acc37..7e0aacd3 100644
--- a/packages/noncvs/windows/extra/Gem/translateXYZ-help.pd
+++ b/packages/noncvs/windows/extra/Gem/translateXYZ-help.pd
@@ -1,64 +1,64 @@
-#N canvas 57 47 639 383 10;
-#X text 452 8 GEM object;
-#X obj 8 226 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 39 238 Inlets:;
-#X text 63 251 Inlet 1: gemlist;
-#X text 39 312 Outlets:;
-#X text 57 325 Outlet 1: gemlist;
-#X obj 8 176 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 175 Arguments:;
-#X obj 8 76 cnv 15 440 70 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 519 293 pd gemwin;
-#X msg 519 274 create;
-#X text 515 253 Create window:;
-#X text 71 31 Class: manipulation object;
-#X obj 450 108 cnv 15 160 100 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X obj 451 233 square;
-#X floatatom 491 130 3 -4 4 0 X - -;
-#X text 29 77 Description: translation;
-#X obj 451 186 translateXYZ 1 2 0;
-#X floatatom 531 147 3 -4 4 0 Y - -;
-#X floatatom 572 162 3 -16 3 0 Z - -;
-#X text 36 122 the translation is determined by a vector (X Y Z);
-#X text 60 194 1st-3rd argument: translation vector (XYZ);
-#X text 63 266 Inlet 2: float: translation along X-axis;
-#X text 63 291 Inlet 4: float: translation along Z-axis;
-#X text 63 279 Inlet 3: float: translation along Y-axis;
-#X text 50 12 Synopsis: [translateXYZ];
-#X text 41 91 [translateXYZ] accepts a gemList and changes the current
-transformation matrix by the specified translation;
-#X connect 12 0 13 0;
-#X connect 13 0 12 0;
-#X connect 17 0 21 0;
-#X connect 19 0 21 1;
-#X connect 21 0 18 0;
-#X connect 22 0 21 2;
-#X connect 23 0 21 3;
+#N canvas 57 47 639 383 10;
+#X text 452 8 GEM object;
+#X obj 8 226 cnv 15 430 120 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 39 238 Inlets:;
+#X text 63 251 Inlet 1: gemlist;
+#X text 39 312 Outlets:;
+#X text 57 325 Outlet 1: gemlist;
+#X obj 8 176 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 175 Arguments:;
+#X obj 8 76 cnv 15 440 70 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 514 254 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 519 293 pd gemwin;
+#X msg 519 274 create;
+#X text 515 253 Create window:;
+#X text 71 31 Class: manipulation object;
+#X obj 450 108 cnv 15 160 100 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X obj 451 233 square;
+#X floatatom 491 130 3 -4 4 0 X - -;
+#X text 29 77 Description: translation;
+#X obj 451 186 translateXYZ 1 2 0;
+#X floatatom 531 147 3 -4 4 0 Y - -;
+#X floatatom 572 162 3 -16 3 0 Z - -;
+#X text 36 122 the translation is determined by a vector (X Y Z);
+#X text 60 194 1st-3rd argument: translation vector (XYZ);
+#X text 63 266 Inlet 2: float: translation along X-axis;
+#X text 63 291 Inlet 4: float: translation along Z-axis;
+#X text 63 279 Inlet 3: float: translation along Y-axis;
+#X text 50 12 Synopsis: [translateXYZ];
+#X text 41 91 [translateXYZ] accepts a gemList and changes the current
+transformation matrix by the specified translation;
+#X connect 12 0 13 0;
+#X connect 13 0 12 0;
+#X connect 17 0 21 0;
+#X connect 19 0 21 1;
+#X connect 21 0 18 0;
+#X connect 22 0 21 2;
+#X connect 23 0 21 3;
diff --git a/packages/noncvs/windows/extra/Gem/triangle-help.pd b/packages/noncvs/windows/extra/Gem/triangle-help.pd
index a25ace15..b9fcbbd0 100644
--- a/packages/noncvs/windows/extra/Gem/triangle-help.pd
+++ b/packages/noncvs/windows/extra/Gem/triangle-help.pd
@@ -1,65 +1,65 @@
-#N canvas 289 160 710 345 10;
-#X text 54 30 Class: geometric object;
-#X obj 519 47 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X obj 584 224 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 198 112 destroy;
-#X msg 132 112 create \, 1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 589 263 pd gemwin;
-#X msg 589 244 create;
-#X text 585 223 Create window:;
-#X obj 7 65 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 8 216 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 9 221 Inlets:;
-#X obj 8 176 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 175 Arguments:;
-#X text 27 247 Inlet 1: message: draw [line|fill|point];
-#X text 27 261 Inlet 2: float: size;
-#X text 452 8 GEM object;
-#X text 27 233 Inlet 1: gemlist;
-#X text 9 280 Outlets:;
-#X text 21 293 Outlet 1: gemlist;
-#X text 525 29 Example:;
-#X obj 522 78 cnv 15 150 100 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X msg 525 85 draw line;
-#X msg 525 106 draw fill;
-#X msg 525 128 draw point;
-#X obj 593 54 gemhead;
-#X floatatom 624 114 5 0 0 0 - - -;
-#X text 624 98 size;
-#X text 63 186 size of the triangle;
-#X text 33 14 Synopsis: [triangle];
-#X obj 593 158 triangle 2;
-#X text 7 69 Description: Renders an isosceles triangle;
-#X text 16 86 The [triangle] object renders an equal-sided (where the
-height equals the base) triangle at the current position with current
-color. The size of the triangle can be changed via the second inlet.
-;
-#X connect 3 0 4 0;
-#X connect 4 0 3 0;
-#X connect 19 0 27 0;
-#X connect 20 0 27 0;
-#X connect 21 0 27 0;
-#X connect 22 0 27 0;
-#X connect 23 0 27 1;
+#N canvas 289 160 710 345 10;
+#X text 54 30 Class: geometric object;
+#X obj 519 47 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X obj 584 224 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 198 112 destroy;
+#X msg 132 112 create \, 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 589 263 pd gemwin;
+#X msg 589 244 create;
+#X text 585 223 Create window:;
+#X obj 7 65 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 8 216 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 9 221 Inlets:;
+#X obj 8 176 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 175 Arguments:;
+#X text 27 247 Inlet 1: message: draw [line|fill|point];
+#X text 27 261 Inlet 2: float: size;
+#X text 452 8 GEM object;
+#X text 27 233 Inlet 1: gemlist;
+#X text 9 280 Outlets:;
+#X text 21 293 Outlet 1: gemlist;
+#X text 525 29 Example:;
+#X obj 522 78 cnv 15 150 100 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X msg 525 85 draw line;
+#X msg 525 106 draw fill;
+#X msg 525 128 draw point;
+#X obj 593 54 gemhead;
+#X floatatom 624 114 5 0 0 0 - - -;
+#X text 624 98 size;
+#X text 63 186 size of the triangle;
+#X text 33 14 Synopsis: [triangle];
+#X obj 593 158 triangle 2;
+#X text 7 69 Description: Renders an isosceles triangle;
+#X text 16 86 The [triangle] object renders an equal-sided (where the
+height equals the base) triangle at the current position with current
+color. The size of the triangle can be changed via the second inlet.
+;
+#X connect 3 0 4 0;
+#X connect 4 0 3 0;
+#X connect 19 0 27 0;
+#X connect 20 0 27 0;
+#X connect 21 0 27 0;
+#X connect 22 0 27 0;
+#X connect 23 0 27 1;
diff --git a/packages/noncvs/windows/extra/Gem/tube-help.pd b/packages/noncvs/windows/extra/Gem/tube-help.pd
index 56909388..9974c351 100644
--- a/packages/noncvs/windows/extra/Gem/tube-help.pd
+++ b/packages/noncvs/windows/extra/Gem/tube-help.pd
@@ -1,111 +1,111 @@
-#N canvas 495 235 754 622 10;
-#X text 44 383 default = D1 and D2;
-#X text 54 27 Class: geometric object;
-#X obj 479 47 cnv 15 250 550 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X obj 484 533 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 454 304 gemwin 0;
-#X obj 131 164 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 198 112 destroy;
-#X msg 131 140 create \, 1 \, lighting 1;
-#X obj 298 149 world_light;
-#X obj 298 122 gemhead;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 7 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X connect 9 0 8 0;
-#X restore 489 572 pd gemwin;
-#X msg 489 550 create;
-#X text 485 532 Create window:;
-#X text 485 29 Example:;
-#X obj 7 47 cnv 15 450 90 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 7 286 cnv 15 450 260 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 18 291 Inlets:;
-#X text 26 323 Inlet 1: message: draw [line|fill|point];
-#X text 452 8 GEM object;
-#X text 26 308 Inlet 1: gemlist;
-#X text 8 498 Outlets:;
-#X text 19 511 Outlet 1: gemlist;
-#X obj 484 141 cnv 15 240 380 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 494 54 gemhead;
-#X floatatom 543 84 5 0 0 0 - - -;
-#X obj 7 146 cnv 15 450 130 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X obj 494 111 rotateXYZ 135 0 0;
-#X msg 519 166 draw line;
-#X msg 528 188 draw fill;
-#X msg 537 210 width 1;
-#X msg 545 232 width 10;
-#X floatatom 568 306 5 0 0 1 D1 - -;
-#X msg 510 144 draw point;
-#X floatatom 578 325 5 0 0 1 D2 - -;
-#X floatatom 588 344 5 0 0 1 H - -;
-#X floatatom 598 363 5 0 0 1 Tx - -;
-#X floatatom 606 382 5 0 0 1 Ty - -;
-#X floatatom 614 401 5 0 0 1 R1x - -;
-#X floatatom 623 420 5 0 0 1 R1y - -;
-#X floatatom 632 439 5 0 0 1 R2x - -;
-#X floatatom 641 458 5 0 0 1 R2y - -;
-#X obj 494 496 tube 0.5 0.9 2.5 30;
-#X text 33 11 Synopsis: [tube];
-#X text 7 51 Description: Renders a complex tube;
-#X text 17 148 Arguments:;
-#X text 63 165 1 : 1st circle diameter;
-#X text 63 181 2 : 2nd circle diameter;
-#X text 26 373 Inlet 3: 2nd circle diameter;
-#X text 27 359 Inlet 2: 1st circle diameter;
-#X text 26 387 Inlet 4: hight of the tube;
-#X text 26 403 Inlet 5: X tanslation of 1st circle;
-#X text 26 418 Inlet 6: Y tanslation of 1st circle;
-#X text 26 433 Inlet 7: X rotation of 1st circle;
-#X text 26 448 Inlet 8: Y rotation of 1st circle;
-#X text 26 480 Inlet 10: Y rotation of 2nd circle;
-#X text 26 465 Inlet 9: X rotation of 2nd circle;
-#X floatatom 598 84 5 0 0 0 - - -;
-#X floatatom 654 84 5 0 0 0 - - -;
-#X msg 558 278 numslices \$1;
-#X floatatom 558 257 5 0 100 1 - - -;
-#X text 26 338 Inlet 1: message: numslices <#>;
-#X text 7 72 The tube object generats a shape defined by 2 circles.
-These 2 circles can be rotated and translated independantly to create
-different shapes.;
-#X text 63 217 4 : number of segments;
-#X text 63 199 3 : height of the tube;
-#X connect 4 0 5 0;
-#X connect 5 0 4 0;
-#X connect 17 0 20 0;
-#X connect 18 0 20 1;
-#X connect 20 0 35 0;
-#X connect 21 0 35 0;
-#X connect 22 0 35 0;
-#X connect 23 0 35 0;
-#X connect 24 0 35 0;
-#X connect 25 0 35 1;
-#X connect 26 0 35 0;
-#X connect 27 0 35 2;
-#X connect 28 0 35 3;
-#X connect 29 0 35 4;
-#X connect 30 0 35 5;
-#X connect 31 0 35 6;
-#X connect 32 0 35 7;
-#X connect 33 0 35 8;
-#X connect 34 0 35 9;
-#X connect 50 0 20 2;
-#X connect 51 0 20 3;
-#X connect 52 0 35 0;
-#X connect 53 0 52 0;
+#N canvas 495 235 754 622 10;
+#X text 44 383 default = D1 and D2;
+#X text 54 27 Class: geometric object;
+#X obj 479 47 cnv 15 250 550 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X obj 484 533 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 454 304 gemwin 0;
+#X obj 131 164 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 198 112 destroy;
+#X msg 131 140 create \, 1 \, lighting 1;
+#X obj 298 149 world_light;
+#X obj 298 122 gemhead;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 7 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 9 0 8 0;
+#X restore 489 572 pd gemwin;
+#X msg 489 550 create;
+#X text 485 532 Create window:;
+#X text 485 29 Example:;
+#X obj 7 47 cnv 15 450 90 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 7 286 cnv 15 450 260 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 18 291 Inlets:;
+#X text 26 323 Inlet 1: message: draw [line|fill|point];
+#X text 452 8 GEM object;
+#X text 26 308 Inlet 1: gemlist;
+#X text 8 498 Outlets:;
+#X text 19 511 Outlet 1: gemlist;
+#X obj 484 141 cnv 15 240 380 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 494 54 gemhead;
+#X floatatom 543 84 5 0 0 0 - - -;
+#X obj 7 146 cnv 15 450 130 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X obj 494 111 rotateXYZ 135 0 0;
+#X msg 519 166 draw line;
+#X msg 528 188 draw fill;
+#X msg 537 210 width 1;
+#X msg 545 232 width 10;
+#X floatatom 568 306 5 0 0 1 D1 - -;
+#X msg 510 144 draw point;
+#X floatatom 578 325 5 0 0 1 D2 - -;
+#X floatatom 588 344 5 0 0 1 H - -;
+#X floatatom 598 363 5 0 0 1 Tx - -;
+#X floatatom 606 382 5 0 0 1 Ty - -;
+#X floatatom 614 401 5 0 0 1 R1x - -;
+#X floatatom 623 420 5 0 0 1 R1y - -;
+#X floatatom 632 439 5 0 0 1 R2x - -;
+#X floatatom 641 458 5 0 0 1 R2y - -;
+#X obj 494 496 tube 0.5 0.9 2.5 30;
+#X text 33 11 Synopsis: [tube];
+#X text 7 51 Description: Renders a complex tube;
+#X text 17 148 Arguments:;
+#X text 63 165 1 : 1st circle diameter;
+#X text 63 181 2 : 2nd circle diameter;
+#X text 26 373 Inlet 3: 2nd circle diameter;
+#X text 27 359 Inlet 2: 1st circle diameter;
+#X text 26 387 Inlet 4: hight of the tube;
+#X text 26 403 Inlet 5: X tanslation of 1st circle;
+#X text 26 418 Inlet 6: Y tanslation of 1st circle;
+#X text 26 433 Inlet 7: X rotation of 1st circle;
+#X text 26 448 Inlet 8: Y rotation of 1st circle;
+#X text 26 480 Inlet 10: Y rotation of 2nd circle;
+#X text 26 465 Inlet 9: X rotation of 2nd circle;
+#X floatatom 598 84 5 0 0 0 - - -;
+#X floatatom 654 84 5 0 0 0 - - -;
+#X msg 558 278 numslices \$1;
+#X floatatom 558 257 5 0 100 1 - - -;
+#X text 26 338 Inlet 1: message: numslices <#>;
+#X text 7 72 The tube object generats a shape defined by 2 circles.
+These 2 circles can be rotated and translated independantly to create
+different shapes.;
+#X text 63 217 4 : number of segments;
+#X text 63 199 3 : height of the tube;
+#X connect 4 0 5 0;
+#X connect 5 0 4 0;
+#X connect 17 0 20 0;
+#X connect 18 0 20 1;
+#X connect 20 0 35 0;
+#X connect 21 0 35 0;
+#X connect 22 0 35 0;
+#X connect 23 0 35 0;
+#X connect 24 0 35 0;
+#X connect 25 0 35 1;
+#X connect 26 0 35 0;
+#X connect 27 0 35 2;
+#X connect 28 0 35 3;
+#X connect 29 0 35 4;
+#X connect 30 0 35 5;
+#X connect 31 0 35 6;
+#X connect 32 0 35 7;
+#X connect 33 0 35 8;
+#X connect 34 0 35 9;
+#X connect 50 0 20 2;
+#X connect 51 0 20 3;
+#X connect 52 0 35 0;
+#X connect 53 0 52 0;
diff --git a/packages/noncvs/windows/extra/Gem/uninst.exe b/packages/noncvs/windows/extra/Gem/uninst.exe
index f43dbd21..5bb425e7 100644
--- a/packages/noncvs/windows/extra/Gem/uninst.exe
+++ b/packages/noncvs/windows/extra/Gem/uninst.exe
Binary files differ
diff --git a/packages/noncvs/windows/extra/Gem/vertex_program-help.pd b/packages/noncvs/windows/extra/Gem/vertex_program-help.pd
index cac61e4c..d087f9b6 100644
--- a/packages/noncvs/windows/extra/Gem/vertex_program-help.pd
+++ b/packages/noncvs/windows/extra/Gem/vertex_program-help.pd
@@ -1,178 +1,178 @@
-#N canvas 35 199 694 458 10;
-#X text 452 8 GEM object;
-#X obj 8 335 cnv 15 430 80 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 11 336 Inlets:;
-#X text 10 386 Outlets:;
-#X obj 8 296 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 295 Arguments:;
-#X obj 7 76 cnv 15 430 210 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 60 Example:;
-#X obj 474 334 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 6 0;
-#X connect 3 1 5 0;
-#X connect 3 1 7 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X restore 479 373 pd gemwin;
-#X msg 479 354 create;
-#X text 475 333 Create window:;
-#X obj 450 158 cnv 15 160 70 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 84 gemhead;
-#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
--1 -1;
-#N canvas 0 0 587 366 image 0;
-#X obj 77 48 inlet;
-#X obj 77 344 outlet;
-#X obj 77 205 pix_image ../../doc/gem/examples/data/fractal.JPG;
-#X obj 223 55 inlet;
-#X msg 223 123 open \$1;
-#X obj 223 100 openpanel;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 3 0 5 0;
-#X connect 4 0 2 0;
-#X connect 5 0 4 0;
-#X restore 451 113 pd image;
-#X text 63 306 <none>;
-#X text 28 399 Outlet 1: gemlist;
-#X text 35 350 Inlet 1: gemlist;
-#X text 516 105 open an image;
-#X text 509 118 (JPEG \, TIFF \, ..);
-#X obj 451 136 pix_texture;
-#X obj 10 211 cnv 15 420 70 empty empty empty 20 12 0 14 -225280 -66577
-0;
-#X text 50 12 Synopsis: [vertex_program];
-#X text 71 31 Class: shader object;
-#X text 13 76 Description: set the ARB vertex shader;
-#X text 24 95 [vertex_program] loads and applies an ARB (or NV) vertex
-shader.;
-#X obj 520 164 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#N canvas 0 0 450 300 open 0;
-#X obj 75 103 openpanel;
-#X obj 75 173 outlet;
-#X obj 75 127 t b s;
-#X msg 105 152 set open \$1;
-#X obj 75 80 inlet;
-#X connect 0 0 2 0;
-#X connect 2 0 1 0;
-#X connect 2 1 3 0;
-#X connect 3 0 1 0;
-#X connect 4 0 0 0;
-#X restore 463 163 pd open;
-#X msg 463 183 open ../data/toon.vp;
-#X obj 450 252 cnv 15 160 30 empty empty empty 20 12 0 14 -102041 -66577
-0;
-#N canvas 0 0 752 303 parameter 0;
-#X obj 81 44 inlet;
-#X obj 81 270 outlet;
-#X obj 241 47 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
--262144 -1 -1 0 256;
-#X obj 288 64 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
--262144 -1 -1 35 256;
-#X obj 328 82 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
--262144 -1 -1 1 256;
-#X obj 288 101 t b f;
-#X obj 328 101 t b f;
-#X obj 149 230 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
--262144 -1 -1 34336 256;
-#X obj 217 162 nbx 5 14 -1e+37 1e+37 0 0 empty empty parameter# 0 -6
-0 10 -262144 -1 -1 0 256;
-#X obj 81 248 GEMglProgramEnvParameter4fvARB;
-#X obj 88 175 loadbang;
-#X obj 88 207 GLdefine GL_VERTEX_PROGRAM_ARB;
-#X text 99 191 GL_VERTEX_PROGRAM_ARB = 34336;
-#N canvas 0 0 450 300 defaults 0;
-#X obj 112 43 loadbang;
-#X msg 161 122 0 35 1;
-#X msg 102 121 0;
-#X obj 102 186 outlet;
-#X obj 102 84 t b b;
-#X obj 164 156 unpack 0 0 0;
-#X obj 168 188 outlet;
-#X obj 217 189 outlet;
-#X obj 263 189 outlet;
-#X text 101 208 param#;
-#X text 205 216 param-values;
-#X obj 179 44 inlet;
-#X connect 0 0 4 0;
-#X connect 1 0 5 0;
-#X connect 2 0 3 0;
-#X connect 4 0 2 0;
-#X connect 4 1 1 0;
-#X connect 5 0 6 0;
-#X connect 5 1 7 0;
-#X connect 5 2 8 0;
-#X connect 11 0 4 0;
-#X restore 217 25 pd defaults;
-#X msg 217 8 default;
-#X obj 286 121 pack 0 35 1 0;
-#X text 301 250 "glProgramEnvParameter" to work on "GL_VERTEX_PROGRAM_ARB"
-;
-#X text 301 158 which parameter we want to modify;
-#X text 398 122 the values for the parameter;
-#X connect 0 0 9 0;
-#X connect 2 0 15 0;
-#X connect 3 0 5 0;
-#X connect 4 0 6 0;
-#X connect 5 0 15 0;
-#X connect 5 1 15 1;
-#X connect 6 0 15 0;
-#X connect 6 1 15 2;
-#X connect 7 0 9 1;
-#X connect 8 0 9 2;
-#X connect 9 0 1 0;
-#X connect 10 0 11 0;
-#X connect 11 0 7 0;
-#X connect 13 0 8 0;
-#X connect 13 1 2 0;
-#X connect 13 2 3 0;
-#X connect 13 3 4 0;
-#X connect 14 0 13 0;
-#X connect 15 0 9 3;
-#X restore 451 256 pd parameter;
-#X text 11 123 If you want to modify the parameters of the shader-program
-\, you have to set the modification up yourself \, via [GEMglProgramEnvParameter*]
-working on GL_VERTEX_PROGRAM_ARB.;
-#X text 14 219 IMPORTANT NOTE: your openGL-implementation (gfx-card
-driver \, ...) has to support either (or both) the ARB shader extensions
-or the NV shader extensions in order to make use of this object.;
-#X text 10 176 Of course \, you also have to supply anything else needed
-for the shader to work (like textures \, ...);
-#X text 35 362 Inlet 1: messsage: open <filename> : vertex shader program
-to load;
-#X obj 451 296 teapot;
-#X obj 453 422 fragment_program;
-#X text 451 405 see also:;
-#X obj 451 206 vertex_program toon.vp;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 16 0;
-#X connect 15 0 16 1;
-#X connect 16 0 22 0;
-#X connect 22 0 40 0;
-#X connect 28 0 29 0;
-#X connect 29 0 30 0;
-#X connect 30 0 40 0;
-#X connect 32 0 37 0;
-#X connect 40 0 32 0;
+#N canvas 35 199 694 458 10;
+#X text 452 8 GEM object;
+#X obj 8 335 cnv 15 430 80 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 11 336 Inlets:;
+#X text 10 386 Outlets:;
+#X obj 8 296 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 295 Arguments:;
+#X obj 7 76 cnv 15 430 210 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 77 cnv 15 170 250 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 60 Example:;
+#X obj 474 334 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 6 0;
+#X connect 3 1 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X restore 479 373 pd gemwin;
+#X msg 479 354 create;
+#X text 475 333 Create window:;
+#X obj 450 158 cnv 15 160 70 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 84 gemhead;
+#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 -262144
+-1 -1;
+#N canvas 0 0 587 366 image 0;
+#X obj 77 48 inlet;
+#X obj 77 344 outlet;
+#X obj 77 205 pix_image examples/data/fractal.JPG;
+#X obj 223 55 inlet;
+#X msg 223 123 open \$1;
+#X obj 223 100 openpanel;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X restore 451 113 pd image;
+#X text 63 306 <none>;
+#X text 28 399 Outlet 1: gemlist;
+#X text 35 350 Inlet 1: gemlist;
+#X text 516 105 open an image;
+#X text 509 118 (JPEG \, TIFF \, ..);
+#X obj 451 136 pix_texture;
+#X obj 10 211 cnv 15 420 70 empty empty empty 20 12 0 14 -225280 -66577
+0;
+#X text 50 12 Synopsis: [vertex_program];
+#X text 71 31 Class: shader object;
+#X text 13 76 Description: set the ARB vertex shader;
+#X text 24 95 [vertex_program] loads and applies an ARB (or NV) vertex
+shader.;
+#X obj 520 164 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#N canvas 0 0 450 300 open 0;
+#X obj 75 103 openpanel;
+#X obj 75 173 outlet;
+#X obj 75 127 t b s;
+#X msg 105 152 set open \$1;
+#X obj 75 80 inlet;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 2 1 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 0 0;
+#X restore 463 163 pd open;
+#X msg 463 183 open examples/data/toon.vp;
+#X obj 450 252 cnv 15 160 30 empty empty empty 20 12 0 14 -102041 -66577
+0;
+#N canvas 0 0 752 303 parameter 0;
+#X obj 81 44 inlet;
+#X obj 81 270 outlet;
+#X obj 241 47 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
+-262144 -1 -1 0 256;
+#X obj 288 64 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
+-262144 -1 -1 35 256;
+#X obj 328 82 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
+-262144 -1 -1 1 256;
+#X obj 288 101 t b f;
+#X obj 328 101 t b f;
+#X obj 149 230 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
+-262144 -1 -1 34336 256;
+#X obj 217 162 nbx 5 14 -1e+37 1e+37 0 0 empty empty parameter# 0 -6
+0 10 -262144 -1 -1 0 256;
+#X obj 81 248 GEMglProgramEnvParameter4fvARB;
+#X obj 88 175 loadbang;
+#X obj 88 207 GLdefine GL_VERTEX_PROGRAM_ARB;
+#X text 99 191 GL_VERTEX_PROGRAM_ARB = 34336;
+#N canvas 0 0 450 300 defaults 0;
+#X obj 112 43 loadbang;
+#X msg 161 122 0 35 1;
+#X msg 102 121 0;
+#X obj 102 186 outlet;
+#X obj 102 84 t b b;
+#X obj 164 156 unpack 0 0 0;
+#X obj 168 188 outlet;
+#X obj 217 189 outlet;
+#X obj 263 189 outlet;
+#X text 101 208 param#;
+#X text 205 216 param-values;
+#X obj 179 44 inlet;
+#X connect 0 0 4 0;
+#X connect 1 0 5 0;
+#X connect 2 0 3 0;
+#X connect 4 0 2 0;
+#X connect 4 1 1 0;
+#X connect 5 0 6 0;
+#X connect 5 1 7 0;
+#X connect 5 2 8 0;
+#X connect 11 0 4 0;
+#X restore 217 25 pd defaults;
+#X msg 217 8 default;
+#X obj 286 121 pack 0 35 1 0;
+#X text 301 250 "glProgramEnvParameter" to work on "GL_VERTEX_PROGRAM_ARB"
+;
+#X text 301 158 which parameter we want to modify;
+#X text 398 122 the values for the parameter;
+#X connect 0 0 9 0;
+#X connect 2 0 15 0;
+#X connect 3 0 5 0;
+#X connect 4 0 6 0;
+#X connect 5 0 15 0;
+#X connect 5 1 15 1;
+#X connect 6 0 15 0;
+#X connect 6 1 15 2;
+#X connect 7 0 9 1;
+#X connect 8 0 9 2;
+#X connect 9 0 1 0;
+#X connect 10 0 11 0;
+#X connect 11 0 7 0;
+#X connect 13 0 8 0;
+#X connect 13 1 2 0;
+#X connect 13 2 3 0;
+#X connect 13 3 4 0;
+#X connect 14 0 13 0;
+#X connect 15 0 9 3;
+#X restore 451 256 pd parameter;
+#X text 11 123 If you want to modify the parameters of the shader-program
+\, you have to set the modification up yourself \, via [GEMglProgramEnvParameter*]
+working on GL_VERTEX_PROGRAM_ARB.;
+#X text 14 219 IMPORTANT NOTE: your openGL-implementation (gfx-card
+driver \, ...) has to support either (or both) the ARB shader extensions
+or the NV shader extensions in order to make use of this object.;
+#X text 10 176 Of course \, you also have to supply anything else needed
+for the shader to work (like textures \, ...);
+#X text 35 362 Inlet 1: messsage: open <filename> : vertex shader program
+to load;
+#X obj 451 296 teapot;
+#X obj 453 422 fragment_program;
+#X text 451 405 see also:;
+#X obj 451 206 vertex_program toon.vp;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 16 0;
+#X connect 15 0 16 1;
+#X connect 16 0 22 0;
+#X connect 22 0 40 0;
+#X connect 28 0 29 0;
+#X connect 29 0 30 0;
+#X connect 30 0 40 0;
+#X connect 32 0 37 0;
+#X connect 40 0 32 0;
diff --git a/packages/noncvs/windows/extra/Gem/world_light-help.pd b/packages/noncvs/windows/extra/Gem/world_light-help.pd
index 04d25b88..9176316d 100644
--- a/packages/noncvs/windows/extra/Gem/world_light-help.pd
+++ b/packages/noncvs/windows/extra/Gem/world_light-help.pd
@@ -1,92 +1,92 @@
-#N canvas 20 260 710 507 10;
-#X text 475 59 Example:;
-#X obj 7 64 cnv 15 450 200 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 8 316 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 9 321 Inlets:;
-#X obj 8 276 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 17 275 Arguments:;
-#X text 452 8 GEM object;
-#X text 27 333 Inlet 1: gemlist;
-#X text 9 387 Outlets:;
-#X text 21 400 Outlet 1: gemlist;
-#X obj 469 77 cnv 15 170 320 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X obj 474 331 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 0 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X obj 67 41 route create;
-#X msg 67 70 set destroy;
-#X msg 142 68 set create;
-#X msg 256 112 destroy;
-#X obj 322 45 inlet;
-#X msg 132 112 create \, 1;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 3 0 8 0;
-#X connect 3 1 5 0;
-#X connect 3 1 6 0;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 0 0;
-#X connect 8 0 0 0;
-#X restore 479 370 pd gemwin;
-#X msg 479 351 create;
-#X text 475 330 Create window:;
-#X obj 475 170 cnv 15 150 100 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 483 84 gemhead;
-#X text 53 30 Class: non-geometric object;
-#X text 7 69 Description: adds a point-light to the scene;
-#X text 27 360 Inlet 1: message: debug 1|0;
-#X text 28 375 Inlet 2: list: 3(RGB) or 4(RGBA) float values;
-#X msg 570 223 1 1 1;
-#X obj 497 198 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X msg 497 219 debug \$1;
-#X text 19 189 Keep in mind that the attributes have to be set before
-rendering the vertices \, so if you are trying for frame accurate rendering
-\, you will want to set the gemhead order to a low nuber so that all
-of the values of the light get set first.;
-#X obj 472 306 sphere;
-#X floatatom 563 88 5 0 0 0 - - -;
-#X obj 483 106 rotateXYZ 0 -120 0;
-#X obj 472 284 gemhead 40;
-#X obj 549 271 cnv 15 85 50 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X msg 551 298 lighting \$1;
-#X obj 551 276 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X msg 569 200 1 1 0;
-#X text 18 169 The second inlet sets the color of the light-source.
-;
-#X text 63 287 light-number;
-#X obj 483 245 world_light;
-#X text 19 86 [world_light] produces a light which is at an infinite
-distance from the scene. This means that all of the light rays are
-parallel \, which reduces the computation somewhat.;
-#X text 17 135 You can adjust the light with [rotate]. If you are lost
-use "debug" to display the light source as a small cone.;
-#X text 33 14 Synopsis: [world_light];
-#X obj 492 175 tgl 20 0 empty \$0-onoff empty 17 7 0 10 -262144 -1
--1 0 1;
-#X text 27 347 Inlet 1: float: turn light on(1)/off(0);
-#X connect 12 0 13 0;
-#X connect 13 0 12 0;
-#X connect 16 0 27 0;
-#X connect 21 0 35 1;
-#X connect 22 0 23 0;
-#X connect 23 0 35 0;
-#X connect 26 0 27 2;
-#X connect 27 0 35 0;
-#X connect 28 0 25 0;
-#X connect 30 0 12 1;
-#X connect 31 0 30 0;
-#X connect 32 0 35 1;
-#X connect 39 0 35 0;
+#N canvas 20 260 710 507 10;
+#X text 475 59 Example:;
+#X obj 7 64 cnv 15 450 200 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 8 316 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 9 321 Inlets:;
+#X obj 8 276 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 17 275 Arguments:;
+#X text 452 8 GEM object;
+#X text 27 333 Inlet 1: gemlist;
+#X text 9 387 Outlets:;
+#X text 21 400 Outlet 1: gemlist;
+#X obj 469 77 cnv 15 170 320 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X obj 474 331 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 0 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X obj 67 41 route create;
+#X msg 67 70 set destroy;
+#X msg 142 68 set create;
+#X msg 256 112 destroy;
+#X obj 322 45 inlet;
+#X msg 132 112 create \, 1;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 8 0;
+#X connect 3 1 5 0;
+#X connect 3 1 6 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 0 0;
+#X connect 8 0 0 0;
+#X restore 479 370 pd gemwin;
+#X msg 479 351 create;
+#X text 475 330 Create window:;
+#X obj 475 170 cnv 15 150 100 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 483 84 gemhead;
+#X text 53 30 Class: non-geometric object;
+#X text 7 69 Description: adds a point-light to the scene;
+#X text 27 360 Inlet 1: message: debug 1|0;
+#X text 28 375 Inlet 2: list: 3(RGB) or 4(RGBA) float values;
+#X msg 570 223 1 1 1;
+#X obj 497 198 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X msg 497 219 debug \$1;
+#X text 19 189 Keep in mind that the attributes have to be set before
+rendering the vertices \, so if you are trying for frame accurate rendering
+\, you will want to set the gemhead order to a low nuber so that all
+of the values of the light get set first.;
+#X obj 472 306 sphere;
+#X floatatom 563 88 5 0 0 0 - - -;
+#X obj 483 106 rotateXYZ 0 -120 0;
+#X obj 472 284 gemhead 40;
+#X obj 549 271 cnv 15 85 50 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X msg 551 298 lighting \$1;
+#X obj 551 276 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X msg 569 200 1 1 0;
+#X text 18 169 The second inlet sets the color of the light-source.
+;
+#X text 63 287 light-number;
+#X obj 483 245 world_light;
+#X text 19 86 [world_light] produces a light which is at an infinite
+distance from the scene. This means that all of the light rays are
+parallel \, which reduces the computation somewhat.;
+#X text 17 135 You can adjust the light with [rotate]. If you are lost
+use "debug" to display the light source as a small cone.;
+#X text 33 14 Synopsis: [world_light];
+#X obj 492 175 tgl 20 0 empty \$0-onoff empty 17 7 0 10 -262144 -1
+-1 0 1;
+#X text 27 347 Inlet 1: float: turn light on(1)/off(0);
+#X connect 12 0 13 0;
+#X connect 13 0 12 0;
+#X connect 16 0 27 0;
+#X connect 21 0 35 1;
+#X connect 22 0 23 0;
+#X connect 23 0 35 0;
+#X connect 26 0 27 2;
+#X connect 27 0 35 0;
+#X connect 28 0 25 0;
+#X connect 30 0 12 1;
+#X connect 31 0 30 0;
+#X connect 32 0 35 1;
+#X connect 39 0 35 0;
diff --git a/packages/noncvs/windows/extra/Gem/yuv2rgb-help.pd b/packages/noncvs/windows/extra/Gem/yuv2rgb-help.pd
index 1e9505a7..c913637f 100644
--- a/packages/noncvs/windows/extra/Gem/yuv2rgb-help.pd
+++ b/packages/noncvs/windows/extra/Gem/yuv2rgb-help.pd
@@ -1,35 +1,35 @@
-#N canvas 172 190 600 500 10;
-#X text 418 26 GEM object;
-#X text 91 412 RGB is red \, green \, blue;
-#X text 91 434 YUV is luma and chroma;
-#X obj 121 206 cnv 15 70 40 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 125 256 unpack 0 0 0;
-#X floatatom 204 278 5 0 0 1 Blue - -;
-#X floatatom 164 298 5 0 0 1 Green - -;
-#X floatatom 125 321 5 0 0 1 Red - -;
-#X obj 125 217 yuv2rgb;
-#X msg 165 152 0 1 1;
-#X msg 187 176 0.6 1 0.5;
-#X floatatom 180 94 5 0 1 1 V=ChromaR - -;
-#X floatatom 143 76 5 0 1 1 U=ChromaB - -;
-#X floatatom 125 58 5 0 1 1 Y=Luma - -;
-#X obj 125 130 pack 0 0 0;
-#X obj 143 111 t b f;
-#X obj 180 111 t b f;
-#X text 175 11 [yuv2rgb];
-#X text 89 388 convert between YUV colorspace and RGB colorspace;
-#X connect 4 0 7 0;
-#X connect 4 1 6 0;
-#X connect 4 2 5 0;
-#X connect 8 0 4 0;
-#X connect 9 0 8 0;
-#X connect 10 0 8 0;
-#X connect 11 0 16 0;
-#X connect 12 0 15 0;
-#X connect 13 0 14 0;
-#X connect 14 0 8 0;
-#X connect 15 0 14 0;
-#X connect 15 1 14 1;
-#X connect 16 0 14 0;
-#X connect 16 1 14 2;
+#N canvas 172 190 600 500 10;
+#X text 418 26 GEM object;
+#X text 91 412 RGB is red \, green \, blue;
+#X text 91 434 YUV is luma and chroma;
+#X obj 121 206 cnv 15 70 40 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 125 256 unpack 0 0 0;
+#X floatatom 204 278 5 0 0 1 Blue - -;
+#X floatatom 164 298 5 0 0 1 Green - -;
+#X floatatom 125 321 5 0 0 1 Red - -;
+#X obj 125 217 yuv2rgb;
+#X msg 165 152 0 1 1;
+#X msg 187 176 0.6 1 0.5;
+#X floatatom 180 94 5 0 1 1 V=ChromaR - -;
+#X floatatom 143 76 5 0 1 1 U=ChromaB - -;
+#X floatatom 125 58 5 0 1 1 Y=Luma - -;
+#X obj 125 130 pack 0 0 0;
+#X obj 143 111 t b f;
+#X obj 180 111 t b f;
+#X text 175 11 [yuv2rgb];
+#X text 89 388 convert between YUV colorspace and RGB colorspace;
+#X connect 4 0 7 0;
+#X connect 4 1 6 0;
+#X connect 4 2 5 0;
+#X connect 8 0 4 0;
+#X connect 9 0 8 0;
+#X connect 10 0 8 0;
+#X connect 11 0 16 0;
+#X connect 12 0 15 0;
+#X connect 13 0 14 0;
+#X connect 14 0 8 0;
+#X connect 15 0 14 0;
+#X connect 15 1 14 1;
+#X connect 16 0 14 0;
+#X connect 16 1 14 2;
diff --git a/packages/noncvs/windows/extra/Gem/yuv2rgb.pd b/packages/noncvs/windows/extra/Gem/yuv2rgb.pd
index a84c15d1..6c4ad339 100644
--- a/packages/noncvs/windows/extra/Gem/yuv2rgb.pd
+++ b/packages/noncvs/windows/extra/Gem/yuv2rgb.pd
@@ -1,84 +1,84 @@
-#N canvas 574 31 450 414 10;
-#X obj 103 96 unpack 0 0 0;
-#X obj 103 140 - 16;
-#X obj 136 140 - 128;
-#X obj 170 140 - 128;
-#X obj 103 163 * 298.082;
-#X obj 136 186 pack;
-#N canvas 0 0 450 300 yu2r 0;
-#X obj 128 46 inlet;
-#X obj 130 234 outlet;
-#X obj 128 69 unpack;
-#X obj 130 110 * 408.583;
-#X connect 0 0 2 0;
-#X connect 2 1 3 0;
-#X connect 3 0 1 0;
-#X restore 136 234 pd yu2r;
-#N canvas 0 0 450 300 yu2g 0;
-#X obj 128 46 inlet;
-#X obj 128 164 outlet;
-#X obj 128 69 unpack;
-#X obj 159 108 * -208.12;
-#X obj 128 89 * -100.291;
-#X obj 128 135 +;
-#X connect 0 0 2 0;
-#X connect 2 0 4 0;
-#X connect 2 1 3 0;
-#X connect 3 0 5 1;
-#X connect 4 0 5 0;
-#X connect 5 0 1 0;
-#X restore 186 234 pd yu2g;
-#N canvas 0 0 450 300 yu2b 0;
-#X obj 128 46 inlet;
-#X obj 128 234 outlet;
-#X obj 128 69 unpack;
-#X obj 128 110 * 516.411;
-#X connect 0 0 2 0;
-#X connect 2 0 3 0;
-#X connect 3 0 1 0;
-#X restore 257 234 pd yu2b;
-#X obj 136 207 t l l l;
-#X obj 103 289 +;
-#X obj 103 263 t f f f;
-#X obj 173 289 +;
-#X obj 244 289 +;
-#X obj 103 74 pack \$1 \$2 \$3;
-#X obj 103 49 inlet YUV;
-#X obj 103 341 pack 0 0 0;
-#X obj 103 380 outlet RGB;
-#X obj 103 118 * 256;
-#X obj 136 118 * 256;
-#X obj 170 118 * 256;
-#X obj 103 312 / 65536;
-#X obj 173 312 / 65536;
-#X obj 244 312 / 65536;
-#X text 102 26 convert YUV to RGB (everything is 0..1);
-#X connect 0 0 18 0;
-#X connect 0 1 19 0;
-#X connect 0 2 20 0;
-#X connect 1 0 4 0;
-#X connect 2 0 5 0;
-#X connect 3 0 5 1;
-#X connect 4 0 11 0;
-#X connect 5 0 9 0;
-#X connect 6 0 10 1;
-#X connect 7 0 12 1;
-#X connect 8 0 13 1;
-#X connect 9 0 6 0;
-#X connect 9 1 7 0;
-#X connect 9 2 8 0;
-#X connect 10 0 21 0;
-#X connect 11 0 10 0;
-#X connect 11 1 12 0;
-#X connect 11 2 13 0;
-#X connect 12 0 22 0;
-#X connect 13 0 23 0;
-#X connect 14 0 0 0;
-#X connect 15 0 14 0;
-#X connect 16 0 17 0;
-#X connect 18 0 1 0;
-#X connect 19 0 2 0;
-#X connect 20 0 3 0;
-#X connect 21 0 16 0;
-#X connect 22 0 16 1;
-#X connect 23 0 16 2;
+#N canvas 574 31 450 414 10;
+#X obj 103 96 unpack 0 0 0;
+#X obj 103 140 - 16;
+#X obj 136 140 - 128;
+#X obj 170 140 - 128;
+#X obj 103 163 * 298.082;
+#X obj 136 186 pack;
+#N canvas 0 0 450 300 yu2r 0;
+#X obj 128 46 inlet;
+#X obj 130 234 outlet;
+#X obj 128 69 unpack;
+#X obj 130 110 * 408.583;
+#X connect 0 0 2 0;
+#X connect 2 1 3 0;
+#X connect 3 0 1 0;
+#X restore 136 234 pd yu2r;
+#N canvas 0 0 450 300 yu2g 0;
+#X obj 128 46 inlet;
+#X obj 128 164 outlet;
+#X obj 128 69 unpack;
+#X obj 159 108 * -208.12;
+#X obj 128 89 * -100.291;
+#X obj 128 135 +;
+#X connect 0 0 2 0;
+#X connect 2 0 4 0;
+#X connect 2 1 3 0;
+#X connect 3 0 5 1;
+#X connect 4 0 5 0;
+#X connect 5 0 1 0;
+#X restore 186 234 pd yu2g;
+#N canvas 0 0 450 300 yu2b 0;
+#X obj 128 46 inlet;
+#X obj 128 234 outlet;
+#X obj 128 69 unpack;
+#X obj 128 110 * 516.411;
+#X connect 0 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 0;
+#X restore 257 234 pd yu2b;
+#X obj 136 207 t l l l;
+#X obj 103 289 +;
+#X obj 103 263 t f f f;
+#X obj 173 289 +;
+#X obj 244 289 +;
+#X obj 103 74 pack \$1 \$2 \$3;
+#X obj 103 49 inlet YUV;
+#X obj 103 341 pack 0 0 0;
+#X obj 103 380 outlet RGB;
+#X obj 103 118 * 256;
+#X obj 136 118 * 256;
+#X obj 170 118 * 256;
+#X obj 103 312 / 65536;
+#X obj 173 312 / 65536;
+#X obj 244 312 / 65536;
+#X text 102 26 convert YUV to RGB (everything is 0..1);
+#X connect 0 0 18 0;
+#X connect 0 1 19 0;
+#X connect 0 2 20 0;
+#X connect 1 0 4 0;
+#X connect 2 0 5 0;
+#X connect 3 0 5 1;
+#X connect 4 0 11 0;
+#X connect 5 0 9 0;
+#X connect 6 0 10 1;
+#X connect 7 0 12 1;
+#X connect 8 0 13 1;
+#X connect 9 0 6 0;
+#X connect 9 1 7 0;
+#X connect 9 2 8 0;
+#X connect 10 0 21 0;
+#X connect 11 0 10 0;
+#X connect 11 1 12 0;
+#X connect 11 2 13 0;
+#X connect 12 0 22 0;
+#X connect 13 0 23 0;
+#X connect 14 0 0 0;
+#X connect 15 0 14 0;
+#X connect 16 0 17 0;
+#X connect 18 0 1 0;
+#X connect 19 0 2 0;
+#X connect 20 0 3 0;
+#X connect 21 0 16 0;
+#X connect 22 0 16 1;
+#X connect 23 0 16 2;
diff --git a/packages/noncvs/windows/extra/README.txt b/packages/noncvs/windows/extra/README.txt
index 593892ec..84e50e2d 100644
--- a/packages/noncvs/windows/extra/README.txt
+++ b/packages/noncvs/windows/extra/README.txt
@@ -1,6 +1,6 @@
-Gem 0.93.1 for w32
+Gem 0.93.3 for w32
==================
-this is the archive containing Gem-0.93.1, precompiled for W32.
+this is the archive containing Gem-0.93.3, precompiled for W32.
installation from the archive
-----------------------------
@@ -15,15 +15,27 @@ pix_mano & pix_drum come with their own licenses, see the LICENSE.txt files in t
sources
-------
-this package does not contain any sources; you can download the (platform independent) source package of Gem
-from either
+this package does not contain any sources; you can download the (platform
+independent) source package of Gem from either:
http://gem.iem.at
or
http://sourceforge.net/projects/pd-gem/
+however, this package contains the headers and library file needed to compile
+externals for Gem.
+you can find them in Gem/dev/
+
+plugins
+-------
+Gem uses plugins in order to load as many file formats as possible.
+some of those plugins are either outdated, unstable or require special system
+setups (like purchasing a license key from some vendor).
+these plugins are therefore disabled. if you want to enable them, simply copy
+them from Gem/plugins-disabled/ into Gem/.
+
conclusion
----------
have fun
-mfg.bez.d IOhannes \ No newline at end of file
+mfg.bez.d IOhannes
diff --git a/packages/noncvs/windows/extra/pix_artoolkit/README.txt b/packages/noncvs/windows/extra/pix_artoolkit/README.txt
index 714f4783..26a0740e 100644
--- a/packages/noncvs/windows/extra/pix_artoolkit/README.txt
+++ b/packages/noncvs/windows/extra/pix_artoolkit/README.txt
@@ -1,17 +1,17 @@
-pix_artoolkit - ARToolKit support for Gem
-=========================================
-code by Shigeyuki Hirai
-
-
-build instructions:
-
-linux:
-% aclocal -I /path/to/Gem/src/m4
-% autoconf
-% ./configure --with-artoolkit-includes=/path/to/artoolkit/include/ --with-artoolkit-libs=/path/to/artoolkit/lib/
-% make
-
-
-w32:
-when using VisualStudio, you can use the project file "pix_artoolkit.sln"
-
+pix_artoolkit - ARToolKit support for Gem
+=========================================
+code by Shigeyuki Hirai
+
+
+build instructions:
+
+linux:
+% aclocal -I /path/to/Gem/src/m4
+% autoconf
+% ./configure --with-artoolkit-includes=/path/to/artoolkit/include/ --with-artoolkit-libs=/path/to/artoolkit/lib/
+% make
+
+
+w32:
+when using VisualStudio, you can use the project file "pix_artoolkit.sln"
+
diff --git a/packages/noncvs/windows/extra/pix_artoolkit/patt.hiro b/packages/noncvs/windows/extra/pix_artoolkit/patt.hiro
index 7f78e3c1..b3611a96 100644
--- a/packages/noncvs/windows/extra/pix_artoolkit/patt.hiro
+++ b/packages/noncvs/windows/extra/pix_artoolkit/patt.hiro
@@ -1,196 +1,196 @@
- 234 235 240 233 240 234 240 235 240 237 240 238 240 240 240 232
- 229 240 240 240 240 240 240 240 240 240 240 240 240 240 240 228
- 227 240 240 240 240 240 240 240 240 240 240 240 240 240 240 239
- 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240
- 236 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240
- 234 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240
- 236 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240
- 231 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240
- 229 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240
- 225 149 240 240 186 216 225 174 240 240 240 237 238 240 240 240
- 150 107 238 231 75 208 115 147 238 228 223 226 237 180 226 240
- 150 62 181 213 62 187 113 169 197 72 29 237 120 50 53 207
- 149 63 47 78 53 184 113 101 142 5 150 150 45 217 186 83
- 121 84 220 222 58 180 121 92 128 109 237 124 155 232 161 64
- 149 71 240 240 76 210 98 109 122 108 240 129 51 119 161 155
- 149 186 240 240 98 219 135 152 207 191 236 227 152 77 175 209
- 235 235 240 233 240 234 240 235 240 236 240 238 240 240 240 240
- 229 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240
- 227 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240
- 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240
- 236 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240
- 234 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240
- 236 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240
- 232 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240
- 229 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240
- 225 156 240 240 186 216 225 186 240 240 240 240 240 240 240 240
- 150 117 240 231 72 206 115 162 240 232 223 237 240 180 226 240
- 150 74 187 213 51 184 103 168 197 78 29 237 120 50 53 216
- 144 77 51 74 61 184 106 101 142 5 150 152 52 217 186 85
- 117 89 219 219 65 184 121 92 128 100 236 125 156 240 170 73
- 148 71 240 240 76 210 109 109 121 99 240 137 51 120 166 164
- 140 186 240 240 98 220 150 156 207 192 236 230 152 77 176 212
- 234 235 240 233 240 234 240 235 240 236 240 238 240 240 240 233
- 229 240 240 240 240 240 240 240 240 240 240 240 240 240 240 239
- 227 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240
- 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240
- 234 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240
- 232 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240
- 235 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240
- 232 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240
- 228 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240
- 225 156 240 240 182 212 225 180 240 240 240 240 240 240 240 240
- 150 116 238 228 66 205 115 151 238 236 225 240 240 180 226 240
- 156 84 186 211 47 184 109 170 200 92 30 240 120 50 53 216
- 147 83 51 73 50 184 106 110 148 17 151 150 45 217 186 85
- 127 98 219 219 58 179 109 101 128 107 237 125 155 240 163 72
- 155 86 240 240 76 201 85 108 121 95 232 137 51 118 153 155
- 149 189 240 240 98 220 141 154 206 178 235 230 152 77 175 209
-
- 232 228 239 240 240 240 240 240 240 240 240 207 83 64 155 209
- 240 240 240 240 240 240 240 240 240 240 226 53 186 161 161 175
- 240 240 240 240 240 240 240 240 240 240 180 50 217 232 119 77
- 240 240 240 240 240 240 240 240 240 238 237 120 45 155 51 152
- 238 240 240 240 240 240 240 240 240 237 226 237 150 124 129 227
- 240 240 240 240 240 240 240 240 240 240 223 29 150 237 240 236
- 237 240 240 240 240 240 240 240 240 240 228 72 5 109 108 191
- 240 240 240 240 240 240 240 240 240 240 238 197 142 128 122 207
- 235 240 240 240 240 240 240 240 240 174 147 169 101 92 109 152
- 240 240 240 240 240 240 240 240 240 225 115 113 113 121 98 135
- 234 240 240 240 240 240 240 240 240 216 208 187 184 180 210 219
- 240 240 240 240 240 240 240 240 240 186 75 62 53 58 76 98
- 233 240 240 240 240 240 240 240 240 240 231 213 78 222 240 240
- 240 240 240 240 240 240 240 240 240 240 238 181 47 220 240 240
- 235 240 240 240 240 240 240 240 240 149 107 62 63 84 71 186
- 234 229 227 240 236 234 236 231 229 225 150 150 149 121 149 149
- 240 240 240 240 240 240 240 240 240 240 240 216 85 73 164 212
- 240 240 240 240 240 240 240 240 240 240 226 53 186 170 166 176
- 240 240 240 240 240 240 240 240 240 240 180 50 217 240 120 77
- 240 240 240 240 240 240 240 240 240 240 240 120 52 156 51 152
- 238 240 240 240 240 240 240 240 240 240 237 237 152 125 137 230
- 240 240 240 240 240 240 240 240 240 240 223 29 150 236 240 236
- 236 240 240 240 240 240 240 240 240 240 232 78 5 100 99 192
- 240 240 240 240 240 240 240 240 240 240 240 197 142 128 121 207
- 235 240 240 240 240 240 240 240 240 186 162 168 101 92 109 156
- 240 240 240 240 240 240 240 240 240 225 115 103 106 121 109 150
- 234 240 240 240 240 240 240 240 240 216 206 184 184 184 210 220
- 240 240 240 240 240 240 240 240 240 186 72 51 61 65 76 98
- 233 240 240 240 240 240 240 240 240 240 231 213 74 219 240 240
- 240 240 240 240 240 240 240 240 240 240 240 187 51 219 240 240
- 235 240 240 240 240 240 240 240 240 156 117 74 77 89 71 186
- 235 229 227 240 236 234 236 232 229 225 150 150 144 117 148 140
- 233 239 240 240 240 240 240 240 240 240 240 216 85 72 155 209
- 240 240 240 240 240 240 240 240 240 240 226 53 186 163 153 175
- 240 240 240 240 240 240 240 240 240 240 180 50 217 240 118 77
- 240 240 240 240 240 240 240 240 240 240 240 120 45 155 51 152
- 238 240 240 240 240 240 240 240 240 240 240 240 150 125 137 230
- 240 240 240 240 240 240 240 240 240 240 225 30 151 237 232 235
- 236 240 240 240 240 240 240 240 240 240 236 92 17 107 95 178
- 240 240 240 240 240 240 240 240 240 240 238 200 148 128 121 206
- 235 240 240 240 240 240 240 240 240 180 151 170 110 101 108 154
- 240 240 240 240 240 240 240 240 240 225 115 109 106 109 85 141
- 234 240 240 240 240 240 240 240 240 212 205 184 184 179 201 220
- 240 240 240 240 240 240 240 240 240 182 66 47 50 58 76 98
- 233 240 240 240 240 240 240 240 240 240 228 211 73 219 240 240
- 240 240 240 240 240 240 240 240 240 240 238 186 51 219 240 240
- 235 240 240 240 240 240 240 240 240 156 116 84 83 98 86 189
- 234 229 227 240 234 232 235 232 228 225 150 156 147 127 155 149
-
- 209 175 77 152 227 236 191 207 152 135 219 98 240 240 186 149
- 155 161 119 51 129 240 108 122 109 98 210 76 240 240 71 149
- 64 161 232 155 124 237 109 128 92 121 180 58 222 220 84 121
- 83 186 217 45 150 150 5 142 101 113 184 53 78 47 63 149
- 207 53 50 120 237 29 72 197 169 113 187 62 213 181 62 150
- 240 226 180 237 226 223 228 238 147 115 208 75 231 238 107 150
- 240 240 240 238 237 240 240 240 174 225 216 186 240 240 149 225
- 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 229
- 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 231
- 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 236
- 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 234
- 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 236
- 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240
- 239 240 240 240 240 240 240 240 240 240 240 240 240 240 240 227
- 228 240 240 240 240 240 240 240 240 240 240 240 240 240 240 229
- 232 240 240 240 238 240 237 240 235 240 234 240 233 240 235 234
- 212 176 77 152 230 236 192 207 156 150 220 98 240 240 186 140
- 164 166 120 51 137 240 99 121 109 109 210 76 240 240 71 148
- 73 170 240 156 125 236 100 128 92 121 184 65 219 219 89 117
- 85 186 217 52 152 150 5 142 101 106 184 61 74 51 77 144
- 216 53 50 120 237 29 78 197 168 103 184 51 213 187 74 150
- 240 226 180 240 237 223 232 240 162 115 206 72 231 240 117 150
- 240 240 240 240 240 240 240 240 186 225 216 186 240 240 156 225
- 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 229
- 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 232
- 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 236
- 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 234
- 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 236
- 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240
- 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 227
- 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 229
- 240 240 240 240 238 240 236 240 235 240 234 240 233 240 235 235
- 209 175 77 152 230 235 178 206 154 141 220 98 240 240 189 149
- 155 153 118 51 137 232 95 121 108 85 201 76 240 240 86 155
- 72 163 240 155 125 237 107 128 101 109 179 58 219 219 98 127
- 85 186 217 45 150 151 17 148 110 106 184 50 73 51 83 147
- 216 53 50 120 240 30 92 200 170 109 184 47 211 186 84 156
- 240 226 180 240 240 225 236 238 151 115 205 66 228 238 116 150
- 240 240 240 240 240 240 240 240 180 225 212 182 240 240 156 225
- 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 228
- 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 232
- 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 235
- 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 232
- 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 234
- 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240
- 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 227
- 239 240 240 240 240 240 240 240 240 240 240 240 240 240 240 229
- 233 240 240 240 238 240 236 240 235 240 234 240 233 240 235 234
-
- 149 149 121 149 150 150 225 229 231 236 234 236 240 227 229 234
- 186 71 84 63 62 107 149 240 240 240 240 240 240 240 240 235
- 240 240 220 47 181 238 240 240 240 240 240 240 240 240 240 240
- 240 240 222 78 213 231 240 240 240 240 240 240 240 240 240 233
- 98 76 58 53 62 75 186 240 240 240 240 240 240 240 240 240
- 219 210 180 184 187 208 216 240 240 240 240 240 240 240 240 234
- 135 98 121 113 113 115 225 240 240 240 240 240 240 240 240 240
- 152 109 92 101 169 147 174 240 240 240 240 240 240 240 240 235
- 207 122 128 142 197 238 240 240 240 240 240 240 240 240 240 240
- 191 108 109 5 72 228 240 240 240 240 240 240 240 240 240 237
- 236 240 237 150 29 223 240 240 240 240 240 240 240 240 240 240
- 227 129 124 150 237 226 237 240 240 240 240 240 240 240 240 238
- 152 51 155 45 120 237 238 240 240 240 240 240 240 240 240 240
- 77 119 232 217 50 180 240 240 240 240 240 240 240 240 240 240
- 175 161 161 186 53 226 240 240 240 240 240 240 240 240 240 240
- 209 155 64 83 207 240 240 240 240 240 240 240 240 239 228 232
- 140 148 117 144 150 150 225 229 232 236 234 236 240 227 229 235
- 186 71 89 77 74 117 156 240 240 240 240 240 240 240 240 235
- 240 240 219 51 187 240 240 240 240 240 240 240 240 240 240 240
- 240 240 219 74 213 231 240 240 240 240 240 240 240 240 240 233
- 98 76 65 61 51 72 186 240 240 240 240 240 240 240 240 240
- 220 210 184 184 184 206 216 240 240 240 240 240 240 240 240 234
- 150 109 121 106 103 115 225 240 240 240 240 240 240 240 240 240
- 156 109 92 101 168 162 186 240 240 240 240 240 240 240 240 235
- 207 121 128 142 197 240 240 240 240 240 240 240 240 240 240 240
- 192 99 100 5 78 232 240 240 240 240 240 240 240 240 240 236
- 236 240 236 150 29 223 240 240 240 240 240 240 240 240 240 240
- 230 137 125 152 237 237 240 240 240 240 240 240 240 240 240 238
- 152 51 156 52 120 240 240 240 240 240 240 240 240 240 240 240
- 77 120 240 217 50 180 240 240 240 240 240 240 240 240 240 240
- 176 166 170 186 53 226 240 240 240 240 240 240 240 240 240 240
- 212 164 73 85 216 240 240 240 240 240 240 240 240 240 240 240
- 149 155 127 147 156 150 225 228 232 235 232 234 240 227 229 234
- 189 86 98 83 84 116 156 240 240 240 240 240 240 240 240 235
- 240 240 219 51 186 238 240 240 240 240 240 240 240 240 240 240
- 240 240 219 73 211 228 240 240 240 240 240 240 240 240 240 233
- 98 76 58 50 47 66 182 240 240 240 240 240 240 240 240 240
- 220 201 179 184 184 205 212 240 240 240 240 240 240 240 240 234
- 141 85 109 106 109 115 225 240 240 240 240 240 240 240 240 240
- 154 108 101 110 170 151 180 240 240 240 240 240 240 240 240 235
- 206 121 128 148 200 238 240 240 240 240 240 240 240 240 240 240
- 178 95 107 17 92 236 240 240 240 240 240 240 240 240 240 236
- 235 232 237 151 30 225 240 240 240 240 240 240 240 240 240 240
- 230 137 125 150 240 240 240 240 240 240 240 240 240 240 240 238
- 152 51 155 45 120 240 240 240 240 240 240 240 240 240 240 240
- 77 118 240 217 50 180 240 240 240 240 240 240 240 240 240 240
- 175 153 163 186 53 226 240 240 240 240 240 240 240 240 240 240
- 209 155 72 85 216 240 240 240 240 240 240 240 240 240 239 233
-
+ 234 235 240 233 240 234 240 235 240 237 240 238 240 240 240 232
+ 229 240 240 240 240 240 240 240 240 240 240 240 240 240 240 228
+ 227 240 240 240 240 240 240 240 240 240 240 240 240 240 240 239
+ 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240
+ 236 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240
+ 234 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240
+ 236 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240
+ 231 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240
+ 229 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240
+ 225 149 240 240 186 216 225 174 240 240 240 237 238 240 240 240
+ 150 107 238 231 75 208 115 147 238 228 223 226 237 180 226 240
+ 150 62 181 213 62 187 113 169 197 72 29 237 120 50 53 207
+ 149 63 47 78 53 184 113 101 142 5 150 150 45 217 186 83
+ 121 84 220 222 58 180 121 92 128 109 237 124 155 232 161 64
+ 149 71 240 240 76 210 98 109 122 108 240 129 51 119 161 155
+ 149 186 240 240 98 219 135 152 207 191 236 227 152 77 175 209
+ 235 235 240 233 240 234 240 235 240 236 240 238 240 240 240 240
+ 229 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240
+ 227 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240
+ 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240
+ 236 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240
+ 234 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240
+ 236 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240
+ 232 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240
+ 229 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240
+ 225 156 240 240 186 216 225 186 240 240 240 240 240 240 240 240
+ 150 117 240 231 72 206 115 162 240 232 223 237 240 180 226 240
+ 150 74 187 213 51 184 103 168 197 78 29 237 120 50 53 216
+ 144 77 51 74 61 184 106 101 142 5 150 152 52 217 186 85
+ 117 89 219 219 65 184 121 92 128 100 236 125 156 240 170 73
+ 148 71 240 240 76 210 109 109 121 99 240 137 51 120 166 164
+ 140 186 240 240 98 220 150 156 207 192 236 230 152 77 176 212
+ 234 235 240 233 240 234 240 235 240 236 240 238 240 240 240 233
+ 229 240 240 240 240 240 240 240 240 240 240 240 240 240 240 239
+ 227 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240
+ 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240
+ 234 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240
+ 232 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240
+ 235 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240
+ 232 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240
+ 228 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240
+ 225 156 240 240 182 212 225 180 240 240 240 240 240 240 240 240
+ 150 116 238 228 66 205 115 151 238 236 225 240 240 180 226 240
+ 156 84 186 211 47 184 109 170 200 92 30 240 120 50 53 216
+ 147 83 51 73 50 184 106 110 148 17 151 150 45 217 186 85
+ 127 98 219 219 58 179 109 101 128 107 237 125 155 240 163 72
+ 155 86 240 240 76 201 85 108 121 95 232 137 51 118 153 155
+ 149 189 240 240 98 220 141 154 206 178 235 230 152 77 175 209
+
+ 232 228 239 240 240 240 240 240 240 240 240 207 83 64 155 209
+ 240 240 240 240 240 240 240 240 240 240 226 53 186 161 161 175
+ 240 240 240 240 240 240 240 240 240 240 180 50 217 232 119 77
+ 240 240 240 240 240 240 240 240 240 238 237 120 45 155 51 152
+ 238 240 240 240 240 240 240 240 240 237 226 237 150 124 129 227
+ 240 240 240 240 240 240 240 240 240 240 223 29 150 237 240 236
+ 237 240 240 240 240 240 240 240 240 240 228 72 5 109 108 191
+ 240 240 240 240 240 240 240 240 240 240 238 197 142 128 122 207
+ 235 240 240 240 240 240 240 240 240 174 147 169 101 92 109 152
+ 240 240 240 240 240 240 240 240 240 225 115 113 113 121 98 135
+ 234 240 240 240 240 240 240 240 240 216 208 187 184 180 210 219
+ 240 240 240 240 240 240 240 240 240 186 75 62 53 58 76 98
+ 233 240 240 240 240 240 240 240 240 240 231 213 78 222 240 240
+ 240 240 240 240 240 240 240 240 240 240 238 181 47 220 240 240
+ 235 240 240 240 240 240 240 240 240 149 107 62 63 84 71 186
+ 234 229 227 240 236 234 236 231 229 225 150 150 149 121 149 149
+ 240 240 240 240 240 240 240 240 240 240 240 216 85 73 164 212
+ 240 240 240 240 240 240 240 240 240 240 226 53 186 170 166 176
+ 240 240 240 240 240 240 240 240 240 240 180 50 217 240 120 77
+ 240 240 240 240 240 240 240 240 240 240 240 120 52 156 51 152
+ 238 240 240 240 240 240 240 240 240 240 237 237 152 125 137 230
+ 240 240 240 240 240 240 240 240 240 240 223 29 150 236 240 236
+ 236 240 240 240 240 240 240 240 240 240 232 78 5 100 99 192
+ 240 240 240 240 240 240 240 240 240 240 240 197 142 128 121 207
+ 235 240 240 240 240 240 240 240 240 186 162 168 101 92 109 156
+ 240 240 240 240 240 240 240 240 240 225 115 103 106 121 109 150
+ 234 240 240 240 240 240 240 240 240 216 206 184 184 184 210 220
+ 240 240 240 240 240 240 240 240 240 186 72 51 61 65 76 98
+ 233 240 240 240 240 240 240 240 240 240 231 213 74 219 240 240
+ 240 240 240 240 240 240 240 240 240 240 240 187 51 219 240 240
+ 235 240 240 240 240 240 240 240 240 156 117 74 77 89 71 186
+ 235 229 227 240 236 234 236 232 229 225 150 150 144 117 148 140
+ 233 239 240 240 240 240 240 240 240 240 240 216 85 72 155 209
+ 240 240 240 240 240 240 240 240 240 240 226 53 186 163 153 175
+ 240 240 240 240 240 240 240 240 240 240 180 50 217 240 118 77
+ 240 240 240 240 240 240 240 240 240 240 240 120 45 155 51 152
+ 238 240 240 240 240 240 240 240 240 240 240 240 150 125 137 230
+ 240 240 240 240 240 240 240 240 240 240 225 30 151 237 232 235
+ 236 240 240 240 240 240 240 240 240 240 236 92 17 107 95 178
+ 240 240 240 240 240 240 240 240 240 240 238 200 148 128 121 206
+ 235 240 240 240 240 240 240 240 240 180 151 170 110 101 108 154
+ 240 240 240 240 240 240 240 240 240 225 115 109 106 109 85 141
+ 234 240 240 240 240 240 240 240 240 212 205 184 184 179 201 220
+ 240 240 240 240 240 240 240 240 240 182 66 47 50 58 76 98
+ 233 240 240 240 240 240 240 240 240 240 228 211 73 219 240 240
+ 240 240 240 240 240 240 240 240 240 240 238 186 51 219 240 240
+ 235 240 240 240 240 240 240 240 240 156 116 84 83 98 86 189
+ 234 229 227 240 234 232 235 232 228 225 150 156 147 127 155 149
+
+ 209 175 77 152 227 236 191 207 152 135 219 98 240 240 186 149
+ 155 161 119 51 129 240 108 122 109 98 210 76 240 240 71 149
+ 64 161 232 155 124 237 109 128 92 121 180 58 222 220 84 121
+ 83 186 217 45 150 150 5 142 101 113 184 53 78 47 63 149
+ 207 53 50 120 237 29 72 197 169 113 187 62 213 181 62 150
+ 240 226 180 237 226 223 228 238 147 115 208 75 231 238 107 150
+ 240 240 240 238 237 240 240 240 174 225 216 186 240 240 149 225
+ 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 229
+ 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 231
+ 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 236
+ 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 234
+ 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 236
+ 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240
+ 239 240 240 240 240 240 240 240 240 240 240 240 240 240 240 227
+ 228 240 240 240 240 240 240 240 240 240 240 240 240 240 240 229
+ 232 240 240 240 238 240 237 240 235 240 234 240 233 240 235 234
+ 212 176 77 152 230 236 192 207 156 150 220 98 240 240 186 140
+ 164 166 120 51 137 240 99 121 109 109 210 76 240 240 71 148
+ 73 170 240 156 125 236 100 128 92 121 184 65 219 219 89 117
+ 85 186 217 52 152 150 5 142 101 106 184 61 74 51 77 144
+ 216 53 50 120 237 29 78 197 168 103 184 51 213 187 74 150
+ 240 226 180 240 237 223 232 240 162 115 206 72 231 240 117 150
+ 240 240 240 240 240 240 240 240 186 225 216 186 240 240 156 225
+ 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 229
+ 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 232
+ 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 236
+ 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 234
+ 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 236
+ 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240
+ 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 227
+ 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 229
+ 240 240 240 240 238 240 236 240 235 240 234 240 233 240 235 235
+ 209 175 77 152 230 235 178 206 154 141 220 98 240 240 189 149
+ 155 153 118 51 137 232 95 121 108 85 201 76 240 240 86 155
+ 72 163 240 155 125 237 107 128 101 109 179 58 219 219 98 127
+ 85 186 217 45 150 151 17 148 110 106 184 50 73 51 83 147
+ 216 53 50 120 240 30 92 200 170 109 184 47 211 186 84 156
+ 240 226 180 240 240 225 236 238 151 115 205 66 228 238 116 150
+ 240 240 240 240 240 240 240 240 180 225 212 182 240 240 156 225
+ 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 228
+ 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 232
+ 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 235
+ 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 232
+ 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 234
+ 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240
+ 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 227
+ 239 240 240 240 240 240 240 240 240 240 240 240 240 240 240 229
+ 233 240 240 240 238 240 236 240 235 240 234 240 233 240 235 234
+
+ 149 149 121 149 150 150 225 229 231 236 234 236 240 227 229 234
+ 186 71 84 63 62 107 149 240 240 240 240 240 240 240 240 235
+ 240 240 220 47 181 238 240 240 240 240 240 240 240 240 240 240
+ 240 240 222 78 213 231 240 240 240 240 240 240 240 240 240 233
+ 98 76 58 53 62 75 186 240 240 240 240 240 240 240 240 240
+ 219 210 180 184 187 208 216 240 240 240 240 240 240 240 240 234
+ 135 98 121 113 113 115 225 240 240 240 240 240 240 240 240 240
+ 152 109 92 101 169 147 174 240 240 240 240 240 240 240 240 235
+ 207 122 128 142 197 238 240 240 240 240 240 240 240 240 240 240
+ 191 108 109 5 72 228 240 240 240 240 240 240 240 240 240 237
+ 236 240 237 150 29 223 240 240 240 240 240 240 240 240 240 240
+ 227 129 124 150 237 226 237 240 240 240 240 240 240 240 240 238
+ 152 51 155 45 120 237 238 240 240 240 240 240 240 240 240 240
+ 77 119 232 217 50 180 240 240 240 240 240 240 240 240 240 240
+ 175 161 161 186 53 226 240 240 240 240 240 240 240 240 240 240
+ 209 155 64 83 207 240 240 240 240 240 240 240 240 239 228 232
+ 140 148 117 144 150 150 225 229 232 236 234 236 240 227 229 235
+ 186 71 89 77 74 117 156 240 240 240 240 240 240 240 240 235
+ 240 240 219 51 187 240 240 240 240 240 240 240 240 240 240 240
+ 240 240 219 74 213 231 240 240 240 240 240 240 240 240 240 233
+ 98 76 65 61 51 72 186 240 240 240 240 240 240 240 240 240
+ 220 210 184 184 184 206 216 240 240 240 240 240 240 240 240 234
+ 150 109 121 106 103 115 225 240 240 240 240 240 240 240 240 240
+ 156 109 92 101 168 162 186 240 240 240 240 240 240 240 240 235
+ 207 121 128 142 197 240 240 240 240 240 240 240 240 240 240 240
+ 192 99 100 5 78 232 240 240 240 240 240 240 240 240 240 236
+ 236 240 236 150 29 223 240 240 240 240 240 240 240 240 240 240
+ 230 137 125 152 237 237 240 240 240 240 240 240 240 240 240 238
+ 152 51 156 52 120 240 240 240 240 240 240 240 240 240 240 240
+ 77 120 240 217 50 180 240 240 240 240 240 240 240 240 240 240
+ 176 166 170 186 53 226 240 240 240 240 240 240 240 240 240 240
+ 212 164 73 85 216 240 240 240 240 240 240 240 240 240 240 240
+ 149 155 127 147 156 150 225 228 232 235 232 234 240 227 229 234
+ 189 86 98 83 84 116 156 240 240 240 240 240 240 240 240 235
+ 240 240 219 51 186 238 240 240 240 240 240 240 240 240 240 240
+ 240 240 219 73 211 228 240 240 240 240 240 240 240 240 240 233
+ 98 76 58 50 47 66 182 240 240 240 240 240 240 240 240 240
+ 220 201 179 184 184 205 212 240 240 240 240 240 240 240 240 234
+ 141 85 109 106 109 115 225 240 240 240 240 240 240 240 240 240
+ 154 108 101 110 170 151 180 240 240 240 240 240 240 240 240 235
+ 206 121 128 148 200 238 240 240 240 240 240 240 240 240 240 240
+ 178 95 107 17 92 236 240 240 240 240 240 240 240 240 240 236
+ 235 232 237 151 30 225 240 240 240 240 240 240 240 240 240 240
+ 230 137 125 150 240 240 240 240 240 240 240 240 240 240 240 238
+ 152 51 155 45 120 240 240 240 240 240 240 240 240 240 240 240
+ 77 118 240 217 50 180 240 240 240 240 240 240 240 240 240 240
+ 175 153 163 186 53 226 240 240 240 240 240 240 240 240 240 240
+ 209 155 72 85 216 240 240 240 240 240 240 240 240 240 239 233
+
diff --git a/packages/noncvs/windows/extra/pix_artoolkit/pix_artoolkit-help.pd b/packages/noncvs/windows/extra/pix_artoolkit/pix_artoolkit-help.pd
index def5dc69..a391979c 100644
--- a/packages/noncvs/windows/extra/pix_artoolkit/pix_artoolkit-help.pd
+++ b/packages/noncvs/windows/extra/pix_artoolkit/pix_artoolkit-help.pd
@@ -1,222 +1,222 @@
-#N canvas 609 22 704 694 12;
-#N canvas 0 22 450 300 gemwin 0;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X msg 67 70 set destroy;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X msg 156 71 set create;
-#X obj 67 41 route create;
-#X obj 132 136 gemwin 60;
-#X connect 1 0 6 0;
-#X connect 2 0 0 0;
-#X connect 3 0 7 0;
-#X connect 4 0 7 0;
-#X connect 5 0 0 0;
-#X connect 6 0 2 0;
-#X connect 6 0 3 0;
-#X connect 6 1 5 0;
-#X connect 6 1 4 0;
-#X restore 60 88 pd gemwin;
-#X msg 60 66 destroy;
-#X obj 454 53 gemhead;
-#X msg 483 124 dimen 64 64;
-#X msg 522 271 enumerate;
-#X msg 528 303 dialog;
-#X msg 491 153 colorspace RGBA;
-#X obj 454 436 pix_video;
-#X msg 512 235 device /dev/dv1394/0;
-#X msg 606 338 driver 1;
-#X msg 532 338 driver 0;
-#X msg 496 211 device 0;
-#N canvas 162 133 570 420 serin 0;
-#X obj 205 60 cnv 20 20 20 empty \$0-open-canvas 0 4 10 0 16 -233017
--1 0;
-#X obj 60 61 hradio 18 1 1 8 empty empty empty 0 -6 0 8 -225271 -1
--1 0;
-#X obj 60 13 inlet;
-#X msg 200 202 label \$1;
-#X obj 200 180 makefilename %d;
-#X obj 59 108 int;
-#X obj 59 337 outlet;
-#X msg 201 306 set \$1 \$2;
-#X obj 59 266 trigger bang anything;
-#X obj 201 286 list;
-#X obj 200 225 send \$0-open-canvas;
-#X msg 60 210 device \$1;
-#X connect 1 0 5 0;
-#X connect 2 0 1 0;
-#X connect 3 0 10 0;
-#X connect 4 0 3 0;
-#X connect 5 0 4 0;
-#X connect 5 0 11 0;
-#X connect 7 0 6 0;
-#X connect 8 0 6 0;
-#X connect 8 1 9 0;
-#X connect 9 0 7 0;
-#X connect 11 0 8 0;
-#X coords 0 -1 1 1 165 20 1 60 60;
-#X restore 496 187 pd serin;
-#X obj 312 499 pix_artoolkit;
-#X obj 312 551 rectangle 4 3;
-#X obj 312 525 pix_texture;
-#X msg 266 330 outputmode 0;
-#X msg 243 305 continuous \$1;
-#X obj 243 283 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X msg 226 259 threshold \$1;
-#X floatatom 226 239 5 0 0 0 - - -;
-#X msg 473 99 dimen 720 480;
-#X msg 281 384 objectsize 1 \$1;
-#X floatatom 281 359 5 0 0 0 - - -;
-#X text 332 359 default 80;
-#X text 278 238 default 100;
-#X text 266 283 default 1;
-#X msg 320 427 clear;
-#X obj 426 525 print;
-#X obj 481 525 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
--1 -1;
-#X text 49 9 trying to make it works on linux / pd / gem;
-#X text 95 180 1 -;
-#X text 95 205 2 -;
-#X obj 513 505 route 1;
-#X obj 453 460 pix_rgba;
-#X obj 132 132 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
--1 -1;
-#N canvas 834 213 510 585 draw_cube 1;
-#X obj 96 276 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X obj 198 358 r trsZ2;
-#X obj 153 358 r trsY2;
-#X obj 108 358 r trsX2;
-#X obj 102 397 r deg2;
-#X obj 143 397 r rot2;
-#X obj 324 310 s deg2;
-#X obj 243 311 s rot2;
-#X obj 156 252 s trsZ2;
-#X obj 111 252 s trsY2;
-#X obj 66 252 s trsX2;
-#X floatatom 163 202 0 0 0 0 - - -;
-#X floatatom 118 202 0 0 0 0 - - -;
-#X floatatom 73 202 0 0 0 0 - - -;
-#X obj 66 228 * 1;
-#X floatatom 233 420 0 0 0 0 - - -;
-#X obj 35 320 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X obj 111 228 * -1;
-#X obj 156 228 * -1;
-#X msg 11 422 draw face;
-#X msg 12 449 draw line;
-#X obj 284 248 t b f;
-#X obj 243 248 t b f;
-#X floatatom 331 204 0 0 0 0 - - -;
-#X obj 324 281 * 1;
-#X floatatom 141 494 0 0 0 0 - - -;
-#X obj 243 281 pack 0 0 0;
-#X floatatom 291 204 0 0 0 0 - - -;
-#X floatatom 250 204 0 0 0 0 - - -;
-#X floatatom 208 204 0 0 0 0 - - -;
-#X obj 284 226 * 1;
-#X obj 243 226 * 1;
-#X obj 201 226 * -1;
-#X floatatom 324 176 0 0 0 0 - - -;
-#X floatatom 284 176 0 0 0 0 - - -;
-#X floatatom 243 176 0 0 0 0 - - -;
-#X floatatom 201 176 0 0 0 0 - - -;
-#X floatatom 156 176 0 0 0 0 - - -;
-#X obj 66 148 unpack 0 0 0 0 0 0 0;
-#X floatatom 111 176 0 0 0 0 - - -;
-#X floatatom 66 177 0 0 0 0 - - -;
-#X obj 95 337 ortho;
-#X obj 95 379 translateXYZ;
-#X obj 95 419 rotate;
-#X obj 95 471 colorRGB 0 0 1;
-#X obj 95 522 cube 40;
-#X obj 66 122 inlet;
-#X obj 95 297 gemhead 10;
-#X obj 95 446 translateXYZ 0 0 0;
-#X connect 0 0 47 0;
-#X connect 1 0 42 3;
-#X connect 2 0 42 2;
-#X connect 3 0 42 1;
-#X connect 4 0 43 1;
-#X connect 5 0 43 2;
-#X connect 11 0 18 1;
-#X connect 12 0 17 1;
-#X connect 13 0 14 1;
-#X connect 14 0 10 0;
-#X connect 15 0 48 3;
-#X connect 16 0 41 0;
-#X connect 17 0 9 0;
-#X connect 18 0 8 0;
-#X connect 19 0 45 0;
-#X connect 20 0 45 0;
-#X connect 21 0 26 0;
-#X connect 21 1 26 2;
-#X connect 22 0 26 0;
-#X connect 22 1 26 1;
-#X connect 23 0 24 1;
-#X connect 24 0 6 0;
-#X connect 25 0 45 1;
-#X connect 26 0 7 0;
-#X connect 27 0 30 1;
-#X connect 28 0 31 1;
-#X connect 29 0 32 1;
-#X connect 30 0 21 0;
-#X connect 31 0 22 0;
-#X connect 32 0 26 0;
-#X connect 33 0 24 0;
-#X connect 34 0 30 0;
-#X connect 35 0 31 0;
-#X connect 36 0 32 0;
-#X connect 37 0 18 0;
-#X connect 38 0 40 0;
-#X connect 38 1 39 0;
-#X connect 38 2 37 0;
-#X connect 38 3 36 0;
-#X connect 38 4 35 0;
-#X connect 38 5 34 0;
-#X connect 38 6 33 0;
-#X connect 39 0 17 0;
-#X connect 40 0 14 0;
-#X connect 41 0 42 0;
-#X connect 42 0 43 0;
-#X connect 43 0 48 0;
-#X connect 44 0 45 0;
-#X connect 46 0 38 0;
-#X connect 47 0 41 0;
-#X connect 48 0 44 0;
-#X restore 513 532 pd draw_cube;
-#X msg 142 180 loadcpara camera_para.dat;
-#X msg 131 205 loadmarker 1 patt.hiro;
-#X connect 0 0 1 0;
-#X connect 1 0 0 0;
-#X connect 2 0 7 0;
-#X connect 3 0 7 0;
-#X connect 4 0 7 0;
-#X connect 5 0 7 0;
-#X connect 6 0 7 0;
-#X connect 7 0 34 0;
-#X connect 8 0 7 0;
-#X connect 9 0 7 0;
-#X connect 10 0 7 0;
-#X connect 11 0 7 0;
-#X connect 12 0 11 0;
-#X connect 13 0 15 0;
-#X connect 13 1 28 0;
-#X connect 13 1 29 0;
-#X connect 13 1 33 0;
-#X connect 15 0 14 0;
-#X connect 16 0 13 0;
-#X connect 17 0 13 0;
-#X connect 18 0 17 0;
-#X connect 19 0 13 0;
-#X connect 20 0 19 0;
-#X connect 21 0 7 0;
-#X connect 22 0 13 0;
-#X connect 23 0 22 0;
-#X connect 27 0 13 0;
-#X connect 33 0 36 0;
-#X connect 34 0 13 0;
-#X connect 37 0 13 0;
-#X connect 38 0 13 0;
+#N canvas 609 22 704 694 12;
+#N canvas 0 22 450 300 gemwin 0;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X msg 67 70 set destroy;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X msg 156 71 set create;
+#X obj 67 41 route create;
+#X obj 132 136 gemwin 60;
+#X connect 1 0 6 0;
+#X connect 2 0 0 0;
+#X connect 3 0 7 0;
+#X connect 4 0 7 0;
+#X connect 5 0 0 0;
+#X connect 6 0 2 0;
+#X connect 6 0 3 0;
+#X connect 6 1 5 0;
+#X connect 6 1 4 0;
+#X restore 60 88 pd gemwin;
+#X msg 60 66 destroy;
+#X obj 454 53 gemhead;
+#X msg 483 124 dimen 64 64;
+#X msg 522 271 enumerate;
+#X msg 528 303 dialog;
+#X msg 491 153 colorspace RGBA;
+#X obj 454 436 pix_video;
+#X msg 512 235 device /dev/dv1394/0;
+#X msg 606 338 driver 1;
+#X msg 532 338 driver 0;
+#X msg 496 211 device 0;
+#N canvas 162 133 570 420 serin 0;
+#X obj 205 60 cnv 20 20 20 empty \$0-open-canvas 0 4 10 0 16 -233017
+-1 0;
+#X obj 60 61 hradio 18 1 1 8 empty empty empty 0 -6 0 8 -225271 -1
+-1 0;
+#X obj 60 13 inlet;
+#X msg 200 202 label \$1;
+#X obj 200 180 makefilename %d;
+#X obj 59 108 int;
+#X obj 59 337 outlet;
+#X msg 201 306 set \$1 \$2;
+#X obj 59 266 trigger bang anything;
+#X obj 201 286 list;
+#X obj 200 225 send \$0-open-canvas;
+#X msg 60 210 device \$1;
+#X connect 1 0 5 0;
+#X connect 2 0 1 0;
+#X connect 3 0 10 0;
+#X connect 4 0 3 0;
+#X connect 5 0 4 0;
+#X connect 5 0 11 0;
+#X connect 7 0 6 0;
+#X connect 8 0 6 0;
+#X connect 8 1 9 0;
+#X connect 9 0 7 0;
+#X connect 11 0 8 0;
+#X coords 0 -1 1 1 165 20 1 60 60;
+#X restore 496 187 pd serin;
+#X obj 312 499 pix_artoolkit;
+#X obj 312 551 rectangle 4 3;
+#X obj 312 525 pix_texture;
+#X msg 266 330 outputmode 0;
+#X msg 243 305 continuous \$1;
+#X obj 243 283 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X msg 226 259 threshold \$1;
+#X floatatom 226 239 5 0 0 0 - - -;
+#X msg 473 99 dimen 720 480;
+#X msg 281 384 objectsize 1 \$1;
+#X floatatom 281 359 5 0 0 0 - - -;
+#X text 332 359 default 80;
+#X text 278 238 default 100;
+#X text 266 283 default 1;
+#X msg 320 427 clear;
+#X obj 426 525 print;
+#X obj 481 525 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X text 49 9 trying to make it works on linux / pd / gem;
+#X text 95 180 1 -;
+#X text 95 205 2 -;
+#X obj 513 505 route 1;
+#X obj 453 460 pix_rgba;
+#X obj 132 132 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#N canvas 834 213 510 585 draw_cube 1;
+#X obj 96 276 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X obj 198 358 r trsZ2;
+#X obj 153 358 r trsY2;
+#X obj 108 358 r trsX2;
+#X obj 102 397 r deg2;
+#X obj 143 397 r rot2;
+#X obj 324 310 s deg2;
+#X obj 243 311 s rot2;
+#X obj 156 252 s trsZ2;
+#X obj 111 252 s trsY2;
+#X obj 66 252 s trsX2;
+#X floatatom 163 202 0 0 0 0 - - -;
+#X floatatom 118 202 0 0 0 0 - - -;
+#X floatatom 73 202 0 0 0 0 - - -;
+#X obj 66 228 * 1;
+#X floatatom 233 420 0 0 0 0 - - -;
+#X obj 35 320 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X obj 111 228 * -1;
+#X obj 156 228 * -1;
+#X msg 11 422 draw face;
+#X msg 12 449 draw line;
+#X obj 284 248 t b f;
+#X obj 243 248 t b f;
+#X floatatom 331 204 0 0 0 0 - - -;
+#X obj 324 281 * 1;
+#X floatatom 141 494 0 0 0 0 - - -;
+#X obj 243 281 pack 0 0 0;
+#X floatatom 291 204 0 0 0 0 - - -;
+#X floatatom 250 204 0 0 0 0 - - -;
+#X floatatom 208 204 0 0 0 0 - - -;
+#X obj 284 226 * 1;
+#X obj 243 226 * 1;
+#X obj 201 226 * -1;
+#X floatatom 324 176 0 0 0 0 - - -;
+#X floatatom 284 176 0 0 0 0 - - -;
+#X floatatom 243 176 0 0 0 0 - - -;
+#X floatatom 201 176 0 0 0 0 - - -;
+#X floatatom 156 176 0 0 0 0 - - -;
+#X obj 66 148 unpack 0 0 0 0 0 0 0;
+#X floatatom 111 176 0 0 0 0 - - -;
+#X floatatom 66 177 0 0 0 0 - - -;
+#X obj 95 337 ortho;
+#X obj 95 379 translateXYZ;
+#X obj 95 419 rotate;
+#X obj 95 471 colorRGB 0 0 1;
+#X obj 95 522 cube 40;
+#X obj 66 122 inlet;
+#X obj 95 297 gemhead 10;
+#X obj 95 446 translateXYZ 0 0 0;
+#X connect 0 0 47 0;
+#X connect 1 0 42 3;
+#X connect 2 0 42 2;
+#X connect 3 0 42 1;
+#X connect 4 0 43 1;
+#X connect 5 0 43 2;
+#X connect 11 0 18 1;
+#X connect 12 0 17 1;
+#X connect 13 0 14 1;
+#X connect 14 0 10 0;
+#X connect 15 0 48 3;
+#X connect 16 0 41 0;
+#X connect 17 0 9 0;
+#X connect 18 0 8 0;
+#X connect 19 0 45 0;
+#X connect 20 0 45 0;
+#X connect 21 0 26 0;
+#X connect 21 1 26 2;
+#X connect 22 0 26 0;
+#X connect 22 1 26 1;
+#X connect 23 0 24 1;
+#X connect 24 0 6 0;
+#X connect 25 0 45 1;
+#X connect 26 0 7 0;
+#X connect 27 0 30 1;
+#X connect 28 0 31 1;
+#X connect 29 0 32 1;
+#X connect 30 0 21 0;
+#X connect 31 0 22 0;
+#X connect 32 0 26 0;
+#X connect 33 0 24 0;
+#X connect 34 0 30 0;
+#X connect 35 0 31 0;
+#X connect 36 0 32 0;
+#X connect 37 0 18 0;
+#X connect 38 0 40 0;
+#X connect 38 1 39 0;
+#X connect 38 2 37 0;
+#X connect 38 3 36 0;
+#X connect 38 4 35 0;
+#X connect 38 5 34 0;
+#X connect 38 6 33 0;
+#X connect 39 0 17 0;
+#X connect 40 0 14 0;
+#X connect 41 0 42 0;
+#X connect 42 0 43 0;
+#X connect 43 0 48 0;
+#X connect 44 0 45 0;
+#X connect 46 0 38 0;
+#X connect 47 0 41 0;
+#X connect 48 0 44 0;
+#X restore 513 532 pd draw_cube;
+#X msg 142 180 loadcpara camera_para.dat;
+#X msg 131 205 loadmarker 1 patt.hiro;
+#X connect 0 0 1 0;
+#X connect 1 0 0 0;
+#X connect 2 0 7 0;
+#X connect 3 0 7 0;
+#X connect 4 0 7 0;
+#X connect 5 0 7 0;
+#X connect 6 0 7 0;
+#X connect 7 0 34 0;
+#X connect 8 0 7 0;
+#X connect 9 0 7 0;
+#X connect 10 0 7 0;
+#X connect 11 0 7 0;
+#X connect 12 0 11 0;
+#X connect 13 0 15 0;
+#X connect 13 1 28 0;
+#X connect 13 1 29 0;
+#X connect 13 1 33 0;
+#X connect 15 0 14 0;
+#X connect 16 0 13 0;
+#X connect 17 0 13 0;
+#X connect 18 0 17 0;
+#X connect 19 0 13 0;
+#X connect 20 0 19 0;
+#X connect 21 0 7 0;
+#X connect 22 0 13 0;
+#X connect 23 0 22 0;
+#X connect 27 0 13 0;
+#X connect 33 0 36 0;
+#X connect 34 0 13 0;
+#X connect 37 0 13 0;
+#X connect 38 0 13 0;
diff --git a/packages/noncvs/windows/extra/pix_artoolkit/pix_artoolkit.dll b/packages/noncvs/windows/extra/pix_artoolkit/pix_artoolkit.dll
index cf8ed7bc..a808c83e 100644
--- a/packages/noncvs/windows/extra/pix_artoolkit/pix_artoolkit.dll
+++ b/packages/noncvs/windows/extra/pix_artoolkit/pix_artoolkit.dll
Binary files differ
diff --git a/packages/noncvs/windows/extra/pix_drum/LICENSE.txt b/packages/noncvs/windows/extra/pix_drum/LICENSE.txt
index b20c8a88..ec67541e 100644
--- a/packages/noncvs/windows/extra/pix_drum/LICENSE.txt
+++ b/packages/noncvs/windows/extra/pix_drum/LICENSE.txt
@@ -4,8 +4,8 @@ Copyright (c) 2008-2010 Jaime Oliver
based on:
GEM - Graphics Environment for Multimedia
- Copyright (C) 1997-2000 Mark Danks, Günter Geiger,
- Copyright (c) 2001-2010 IOhannes m zmölnig
+ Copyright (C) 1997-2000 Mark Danks, Günter Geiger,
+ Copyright (c) 2001-2010 IOhannes m zmölnig
Copyright (c) 2003-2007 James Tittle II,
Copyright (c) 2003-2008 Chris Clepper et al.
diff --git a/packages/noncvs/windows/extra/pix_drum/pix_drum-help.pd b/packages/noncvs/windows/extra/pix_drum/pix_drum-help.pd
index 1ea6a59e..ba95d5b2 100644
--- a/packages/noncvs/windows/extra/pix_drum/pix_drum-help.pd
+++ b/packages/noncvs/windows/extra/pix_drum/pix_drum-help.pd
@@ -1,238 +1,238 @@
-#N canvas 496 25 656 859 10;
-#X obj 7 360 pix_drum;
-#X obj 7 424 pix_texture;
-#N canvas 593 327 562 332 inlet1 0;
-#X floatatom 83 178 5 0 0 0 - - -;
-#X obj 37 20 loadbang;
-#X floatatom 39 178 5 0 0 0 - - -;
-#X obj 83 219 t b f;
-#X floatatom 138 178 5 0 0 0 - - -;
-#X msg 35 133 0;
-#X msg 20 111 1;
-#X msg 1 92 2;
-#X text 79 190 thresh;
-#X floatatom 191 178 5 0 0 0 - - -;
-#X obj 185 222 t b f;
-#X floatatom 247 178 5 0 0 0 - - -;
-#X obj 232 223 t b f;
-#X obj 138 219 t b f;
-#X text 127 190 pix_dist;
-#X text 187 190 minpeak;
-#X floatatom 300 178 5 0 0 0 - - -;
-#X obj 280 221 t b f;
-#X obj 160 278 pack f f f f f f;
-#X obj 160 298 outlet;
-#X text 41 190 mode;
-#X text 169 14 first inlet takes the threshold value (0-1);
-#X text 240 190 min_wid;
-#X text 290 190 dist_ctr;
-#X msg 144 106 12;
-#X msg 222 108 0.12;
-#X msg 307 108 10;
-#X msg 390 109 12;
-#X msg 83 105 0.4;
-#X connect 0 0 3 0;
-#X connect 1 0 28 0;
-#X connect 1 0 24 0;
-#X connect 1 0 7 0;
-#X connect 1 0 25 0;
-#X connect 1 0 26 0;
-#X connect 1 0 27 0;
-#X connect 2 0 18 0;
-#X connect 3 0 18 0;
-#X connect 3 1 18 1;
-#X connect 4 0 13 0;
-#X connect 5 0 2 0;
-#X connect 6 0 2 0;
-#X connect 7 0 2 0;
-#X connect 9 0 10 0;
-#X connect 10 0 18 0;
-#X connect 10 1 18 3;
-#X connect 11 0 12 0;
-#X connect 12 0 18 0;
-#X connect 12 1 18 4;
-#X connect 13 0 18 0;
-#X connect 13 1 18 2;
-#X connect 16 0 17 0;
-#X connect 17 0 18 0;
-#X connect 17 1 18 5;
-#X connect 18 0 19 0;
-#X connect 24 0 4 0;
-#X connect 25 0 9 0;
-#X connect 26 0 11 0;
-#X connect 27 0 16 0;
-#X connect 28 0 0 0;
-#X coords 0 -1 1 1 310 40 1 35 165;
-#X restore 29 23 pd inlet1;
-#N canvas 125 312 331 303 inlet2 0;
-#X floatatom 19 147 5 0 0 0 - - -;
-#X floatatom 63 147 5 0 0 0 - - -;
-#X obj 61 208 t b f;
-#X floatatom 109 147 5 0 0 0 - - -;
-#X obj 107 208 t b f;
-#X floatatom 155 147 5 0 0 0 - - -;
-#X obj 153 208 t b f;
-#X obj 18 237 pack f f f f;
-#X obj 18 265 outlet;
-#X obj 96 96 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
--1;
-#X obj 124 94 r refresh;
-#X text 18 160 bottom;
-#X text 66 160 head;
-#X text 112 160 left;
-#X text 156 160 right;
-#X obj 18 54 r i-bottom;
-#X obj 96 55 r i-head;
-#X obj 157 53 r i-left;
-#X obj 222 54 r i-right;
-#X connect 0 0 7 0;
-#X connect 1 0 2 0;
-#X connect 2 0 7 0;
-#X connect 2 1 7 1;
-#X connect 3 0 4 0;
-#X connect 4 0 7 0;
-#X connect 4 1 7 2;
-#X connect 5 0 6 0;
-#X connect 6 0 7 0;
-#X connect 6 1 7 3;
-#X connect 7 0 8 0;
-#X connect 9 0 0 0;
-#X connect 9 0 1 0;
-#X connect 9 0 3 0;
-#X connect 9 0 5 0;
-#X connect 10 0 9 0;
-#X connect 15 0 0 0;
-#X connect 16 0 1 0;
-#X connect 17 0 3 0;
-#X connect 18 0 5 0;
-#X coords 0 -1 1 1 195 40 1 10 135;
-#X restore 52 246 pd inlet2;
-#X obj 7 297 gemhead 1;
-#X obj 7 318 pix_video;
-#X obj 7 339 pix_grey;
-#N canvas 716 528 225 177 gemwin 0;
-#X obj 61 138 gemwin;
-#X msg 46 83 create \, 1;
-#X msg 142 99 0 \, destroy;
-#X obj 24 12 loadbang;
-#X obj 24 38 t b b b;
-#X msg 126 65 dimen 320 240;
-#X connect 1 0 0 0;
-#X connect 2 0 0 0;
-#X connect 3 0 4 0;
-#X connect 4 1 1 0;
-#X connect 4 2 5 0;
-#X connect 5 0 0 0;
-#X restore 407 29 pd gemwin;
-#N canvas 730 589 294 136 presets 0;
-#X obj 21 54 r refresh;
-#X msg 21 73 \; ver-dim 240 \; hor-dim 320 \; dimen 320 240 \;;
-#X obj 39 14 loadbang;
-#X obj 21 15 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
--1;
-#X obj 21 34 s refresh;
-#X obj 153 13 loadbang;
-#X obj 21 -5 inlet;
-#X msg 186 39 \; i-bottom 200 \; i-head 116 \; i-left 19 \; i-right
-302 \;;
-#X connect 0 0 1 0;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 5 0 7 0;
-#X connect 6 0 3 0;
-#X restore 409 52 pd presets;
-#X text 292 269 bottom \, top \, right \, left;
-#X text 57 83 mode: selescts mode of operation (0 \, 1 or 2);
-#X text 56 121 thresh: threshold for contrast (0-1);
-#X text 6 494 pix_drum looks for black pixels incoming from the top
-a video frame.;
-#X text 6 522 The algorithm makes a histogram of how many black pixels
-there are per column.;
-#X text 7 631 the convexity test takes the form of:;
-#X text 62 645 y = hist[i] - (hist[i-x]*.05 + hist[i+x]);
-#X text 6 551 It then finds the highet point in the histogram \, that
-is \, the highest peak \, called the primary peak.;
-#X text 56 131 pix_dist: number of pixels around a center \, x in function
-below;
-#X text 98 97 mode 2 is the current regular function (others used for
-debugging);
-#X text 56 155 tip scalar: scalar of maximum height in concavity test
-graph \, values higher than this scaled height are part of a peak;
-#X text 57 189 min_width: minimum number of contiguous values higher
-than scaled height to report a peak;
-#X text 57 213 dist_ctr: minimum distance from primary peak to report
-a secondary peak.;
-#X text 265 257 INLET 2: defines the bounds of the anrea of analysis
-;
-#X text 56 68 INLET 1: Analysis Parameters;
-#X text 6 471 INFORMATION;
-#X text 6 579 It then finds the area of black pixels on either side
-of the primary peak. (Left Area and Right Area);
-#X text 7 605 It then performs a convexity test \, on both sides of
-the primary peak.;
-#X text 9 660 where (x) is a deviation from the center (i). If the
-line is straight y=0 \, if it is concave or convex \, hey are negative
-or positive.;
-#X text 11 699 The results of this test are recroded in a graph. secondary
-peaks are the point where two concave curves meet \, which therefore
-has a higher value for y in the concavity text.;
-#N canvas 0 0 450 300 print 0;
-#X obj 131 36 inlet;
-#X obj 131 57 spigot;
-#X obj 131 78 print;
-#X obj 228 27 loadbang;
-#X msg 228 48 0;
-#X obj 142 104 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X text 103 105 print?;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X connect 3 0 4 0;
-#X connect 4 0 5 0;
-#X connect 5 0 1 1;
-#X coords 0 -1 1 1 60 23 2 100 100;
-#X restore 31 395 pd print;
-#N canvas 0 0 450 300 print 0;
-#X obj 131 36 inlet;
-#X obj 131 57 spigot;
-#X obj 131 78 print;
-#X obj 228 27 loadbang;
-#X msg 228 48 0;
-#X obj 142 104 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X text 103 105 print?;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X connect 3 0 4 0;
-#X connect 4 0 5 0;
-#X connect 5 0 1 1;
-#X coords 0 -1 1 1 60 23 2 100 100;
-#X restore 99 386 pd print;
-#X text 189 302 OUTLETS;
-#X text 188 323 outlet 0: the analyzed video image;
-#X text 188 337 outlet 1: primary peak information;
-#X text 211 368 Areas are normalized;
-#X text 189 383 outlet 2: secondary peak information;
-#X text 212 415 side: At which side of the 1ry preak is the secondary
-peak.;
-#X text 246 427 Left = 0 \, Right = 1;
-#X text 220 353 [x coord. \, y coord. \, Left Area \, Right Area];
-#X text 222 399 [side \, index \, x coord. \, y coord.];
-#X text 213 440 index: index 0 - n of each secondary peak.;
-#X obj 7 448 rectangle 5.33 4;
-#X text 115 808 support information in www.jaimeoliver.pe;
-#X text 229 822 jaime.oliver@gmail.com;
-#X text 249 837 joliverl-2010 v0.01;
-#X text 193 454 outlets 3 and 4 are currently not supported;
-#X text 12 756 This object was programmed as part of the Silent Percussion
-Proect \, for use in the Silent Drum Controller. For more infomation:
-http://www.jaimeoliver.pe/drum;
-#X connect 0 0 1 0;
-#X connect 0 1 29 0;
-#X connect 0 2 30 0;
-#X connect 1 0 41 0;
-#X connect 2 0 0 1;
-#X connect 3 0 0 2;
-#X connect 4 0 5 0;
-#X connect 5 0 6 0;
-#X connect 6 0 0 0;
+#N canvas 496 25 656 859 10;
+#X obj 7 360 pix_drum;
+#X obj 7 424 pix_texture;
+#N canvas 593 327 562 332 inlet1 0;
+#X floatatom 83 178 5 0 0 0 - - -;
+#X obj 37 20 loadbang;
+#X floatatom 39 178 5 0 0 0 - - -;
+#X obj 83 219 t b f;
+#X floatatom 138 178 5 0 0 0 - - -;
+#X msg 35 133 0;
+#X msg 20 111 1;
+#X msg 1 92 2;
+#X text 79 190 thresh;
+#X floatatom 191 178 5 0 0 0 - - -;
+#X obj 185 222 t b f;
+#X floatatom 247 178 5 0 0 0 - - -;
+#X obj 232 223 t b f;
+#X obj 138 219 t b f;
+#X text 127 190 pix_dist;
+#X text 187 190 minpeak;
+#X floatatom 300 178 5 0 0 0 - - -;
+#X obj 280 221 t b f;
+#X obj 160 278 pack f f f f f f;
+#X obj 160 298 outlet;
+#X text 41 190 mode;
+#X text 169 14 first inlet takes the threshold value (0-1);
+#X text 240 190 min_wid;
+#X text 290 190 dist_ctr;
+#X msg 144 106 12;
+#X msg 222 108 0.12;
+#X msg 307 108 10;
+#X msg 390 109 12;
+#X msg 83 105 0.4;
+#X connect 0 0 3 0;
+#X connect 1 0 28 0;
+#X connect 1 0 24 0;
+#X connect 1 0 7 0;
+#X connect 1 0 25 0;
+#X connect 1 0 26 0;
+#X connect 1 0 27 0;
+#X connect 2 0 18 0;
+#X connect 3 0 18 0;
+#X connect 3 1 18 1;
+#X connect 4 0 13 0;
+#X connect 5 0 2 0;
+#X connect 6 0 2 0;
+#X connect 7 0 2 0;
+#X connect 9 0 10 0;
+#X connect 10 0 18 0;
+#X connect 10 1 18 3;
+#X connect 11 0 12 0;
+#X connect 12 0 18 0;
+#X connect 12 1 18 4;
+#X connect 13 0 18 0;
+#X connect 13 1 18 2;
+#X connect 16 0 17 0;
+#X connect 17 0 18 0;
+#X connect 17 1 18 5;
+#X connect 18 0 19 0;
+#X connect 24 0 4 0;
+#X connect 25 0 9 0;
+#X connect 26 0 11 0;
+#X connect 27 0 16 0;
+#X connect 28 0 0 0;
+#X coords 0 -1 1 1 310 40 1 35 165;
+#X restore 29 23 pd inlet1;
+#N canvas 125 312 331 303 inlet2 0;
+#X floatatom 19 147 5 0 0 0 - - -;
+#X floatatom 63 147 5 0 0 0 - - -;
+#X obj 61 208 t b f;
+#X floatatom 109 147 5 0 0 0 - - -;
+#X obj 107 208 t b f;
+#X floatatom 155 147 5 0 0 0 - - -;
+#X obj 153 208 t b f;
+#X obj 18 237 pack f f f f;
+#X obj 18 265 outlet;
+#X obj 96 96 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 124 94 r refresh;
+#X text 18 160 bottom;
+#X text 66 160 head;
+#X text 112 160 left;
+#X text 156 160 right;
+#X obj 18 54 r i-bottom;
+#X obj 96 55 r i-head;
+#X obj 157 53 r i-left;
+#X obj 222 54 r i-right;
+#X connect 0 0 7 0;
+#X connect 1 0 2 0;
+#X connect 2 0 7 0;
+#X connect 2 1 7 1;
+#X connect 3 0 4 0;
+#X connect 4 0 7 0;
+#X connect 4 1 7 2;
+#X connect 5 0 6 0;
+#X connect 6 0 7 0;
+#X connect 6 1 7 3;
+#X connect 7 0 8 0;
+#X connect 9 0 0 0;
+#X connect 9 0 1 0;
+#X connect 9 0 3 0;
+#X connect 9 0 5 0;
+#X connect 10 0 9 0;
+#X connect 15 0 0 0;
+#X connect 16 0 1 0;
+#X connect 17 0 3 0;
+#X connect 18 0 5 0;
+#X coords 0 -1 1 1 195 40 1 10 135;
+#X restore 52 246 pd inlet2;
+#X obj 7 297 gemhead 1;
+#X obj 7 318 pix_video;
+#X obj 7 339 pix_grey;
+#N canvas 716 528 225 177 gemwin 0;
+#X obj 61 138 gemwin;
+#X msg 46 83 create \, 1;
+#X msg 142 99 0 \, destroy;
+#X obj 24 12 loadbang;
+#X obj 24 38 t b b b;
+#X msg 126 65 dimen 320 240;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 3 0 4 0;
+#X connect 4 1 1 0;
+#X connect 4 2 5 0;
+#X connect 5 0 0 0;
+#X restore 407 29 pd gemwin;
+#N canvas 730 589 294 136 presets 0;
+#X obj 21 54 r refresh;
+#X msg 21 73 \; ver-dim 240 \; hor-dim 320 \; dimen 320 240 \;;
+#X obj 39 14 loadbang;
+#X obj 21 15 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 21 34 s refresh;
+#X obj 153 13 loadbang;
+#X obj 21 -5 inlet;
+#X msg 186 39 \; i-bottom 200 \; i-head 116 \; i-left 19 \; i-right
+302 \;;
+#X connect 0 0 1 0;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 5 0 7 0;
+#X connect 6 0 3 0;
+#X restore 409 52 pd presets;
+#X text 292 269 bottom \, top \, right \, left;
+#X text 57 83 mode: selescts mode of operation (0 \, 1 or 2);
+#X text 56 121 thresh: threshold for contrast (0-1);
+#X text 6 494 pix_drum looks for black pixels incoming from the top
+a video frame.;
+#X text 6 522 The algorithm makes a histogram of how many black pixels
+there are per column.;
+#X text 7 631 the convexity test takes the form of:;
+#X text 62 645 y = hist[i] - (hist[i-x]*.05 + hist[i+x]);
+#X text 6 551 It then finds the highet point in the histogram \, that
+is \, the highest peak \, called the primary peak.;
+#X text 56 131 pix_dist: number of pixels around a center \, x in function
+below;
+#X text 98 97 mode 2 is the current regular function (others used for
+debugging);
+#X text 56 155 tip scalar: scalar of maximum height in concavity test
+graph \, values higher than this scaled height are part of a peak;
+#X text 57 189 min_width: minimum number of contiguous values higher
+than scaled height to report a peak;
+#X text 57 213 dist_ctr: minimum distance from primary peak to report
+a secondary peak.;
+#X text 265 257 INLET 2: defines the bounds of the anrea of analysis
+;
+#X text 56 68 INLET 1: Analysis Parameters;
+#X text 6 471 INFORMATION;
+#X text 6 579 It then finds the area of black pixels on either side
+of the primary peak. (Left Area and Right Area);
+#X text 7 605 It then performs a convexity test \, on both sides of
+the primary peak.;
+#X text 9 660 where (x) is a deviation from the center (i). If the
+line is straight y=0 \, if it is concave or convex \, hey are negative
+or positive.;
+#X text 11 699 The results of this test are recroded in a graph. secondary
+peaks are the point where two concave curves meet \, which therefore
+has a higher value for y in the concavity text.;
+#N canvas 0 0 450 300 print 0;
+#X obj 131 36 inlet;
+#X obj 131 57 spigot;
+#X obj 131 78 print;
+#X obj 228 27 loadbang;
+#X msg 228 48 0;
+#X obj 142 104 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X text 103 105 print?;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 5 0 1 1;
+#X coords 0 -1 1 1 60 23 2 100 100;
+#X restore 31 395 pd print;
+#N canvas 0 0 450 300 print 0;
+#X obj 131 36 inlet;
+#X obj 131 57 spigot;
+#X obj 131 78 print;
+#X obj 228 27 loadbang;
+#X msg 228 48 0;
+#X obj 142 104 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X text 103 105 print?;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 5 0 1 1;
+#X coords 0 -1 1 1 60 23 2 100 100;
+#X restore 99 386 pd print;
+#X text 189 302 OUTLETS;
+#X text 188 323 outlet 0: the analyzed video image;
+#X text 188 337 outlet 1: primary peak information;
+#X text 211 368 Areas are normalized;
+#X text 189 383 outlet 2: secondary peak information;
+#X text 212 415 side: At which side of the 1ry preak is the secondary
+peak.;
+#X text 246 427 Left = 0 \, Right = 1;
+#X text 220 353 [x coord. \, y coord. \, Left Area \, Right Area];
+#X text 222 399 [side \, index \, x coord. \, y coord.];
+#X text 213 440 index: index 0 - n of each secondary peak.;
+#X obj 7 448 rectangle 5.33 4;
+#X text 115 808 support information in www.jaimeoliver.pe;
+#X text 229 822 jaime.oliver@gmail.com;
+#X text 249 837 joliverl-2010 v0.01;
+#X text 193 454 outlets 3 and 4 are currently not supported;
+#X text 12 756 This object was programmed as part of the Silent Percussion
+Proect \, for use in the Silent Drum Controller. For more infomation:
+http://www.jaimeoliver.pe/drum;
+#X connect 0 0 1 0;
+#X connect 0 1 29 0;
+#X connect 0 2 30 0;
+#X connect 1 0 41 0;
+#X connect 2 0 0 1;
+#X connect 3 0 0 2;
+#X connect 4 0 5 0;
+#X connect 5 0 6 0;
+#X connect 6 0 0 0;
diff --git a/packages/noncvs/windows/extra/pix_drum/pix_drum.dll b/packages/noncvs/windows/extra/pix_drum/pix_drum.dll
index c1b513f0..804ff4f2 100644
--- a/packages/noncvs/windows/extra/pix_drum/pix_drum.dll
+++ b/packages/noncvs/windows/extra/pix_drum/pix_drum.dll
Binary files differ
diff --git a/packages/noncvs/windows/extra/pix_fiducialtrack/all.trees b/packages/noncvs/windows/extra/pix_fiducialtrack/all.trees
index 83c6d231..f8d5d4d8 100644
--- a/packages/noncvs/windows/extra/pix_fiducialtrack/all.trees
+++ b/packages/noncvs/windows/extra/pix_fiducialtrack/all.trees
@@ -1,90 +1,90 @@
-0122222212212121111
-0122212221222121111
-0122212221221221111
-0122212221212121111
-0122222212221211111
-0122221221221221111
-0122212212212211111
-0122221222122121111
-0122222222212111111
-0122221221212121111
-0122222122221211111
-0122221222122211111
-0122222222222121111
-0122221212121211111
-0122222121212121111
-0122222121212111111
-0122212212212121111
-0122222212222211111
-0122222212212211111
-0122221222121211111
-0122222221221221111
-0122222122222121111
-0122222222212211111
-0122212212121211111
-0122222212222121111
-0122122122121211111
-0122222212121211111
-0122222222122211111
-0122221221221211111
-0122222222222211111
-0122222122212111111
-0122212221212111111
-0122222122122111111
-0122212121212121111
-0122222221212111111
-0122222221221211111
-0122222212222111111
-0122222221222211111
-0122212212212111111
-0122222212221221111
-0122221222122111111
-0122222222122121111
-0122221222212111111
-0122222222122111111
-0122222222222221111
-0122222122212121111
-0122222122122121111
-0122222222121211111
-0122212221221211111
-0121212121212121111
-0122222222212221111
-0122222222221211111
-0122222222121111111
-0122222221222221111
-0122222222222111111
-0122222212212111111
-0122222212222221111
-0122222221212121111
-0122221222212211111
-0122121212121211111
-0122222221222121111
-0122222221222111111
-0122222122221221111
-0122122122122111111
-0122221222212121111
-0122222122212221111
-0122222122212211111
-0122222222221221111
-0122221221221111111
-0122212121212111111
-0122221222212221111
-0122212221221111111
-0122222222122221111
-0122221212121111111
-0122122121212121111
-0121212121212111111
-0122212221222111111
-0122222222221111111
-0122221221212111111
-0122222222212121111
-0122222212221111111
-0122221222211111111
-0122122122122121111
-0122221222121111111
-0122222122121211111
-0122222122211111111
-0122222221221111111
-0122222122222111111
-0122122121212111111
-0122222212211111111
+0122222212212121111
+0122212221222121111
+0122212221221221111
+0122212221212121111
+0122222212221211111
+0122221221221221111
+0122212212212211111
+0122221222122121111
+0122222222212111111
+0122221221212121111
+0122222122221211111
+0122221222122211111
+0122222222222121111
+0122221212121211111
+0122222121212121111
+0122222121212111111
+0122212212212121111
+0122222212222211111
+0122222212212211111
+0122221222121211111
+0122222221221221111
+0122222122222121111
+0122222222212211111
+0122212212121211111
+0122222212222121111
+0122122122121211111
+0122222212121211111
+0122222222122211111
+0122221221221211111
+0122222222222211111
+0122222122212111111
+0122212221212111111
+0122222122122111111
+0122212121212121111
+0122222221212111111
+0122222221221211111
+0122222212222111111
+0122222221222211111
+0122212212212111111
+0122222212221221111
+0122221222122111111
+0122222222122121111
+0122221222212111111
+0122222222122111111
+0122222222222221111
+0122222122212121111
+0122222122122121111
+0122222222121211111
+0122212221221211111
+0121212121212121111
+0122222222212221111
+0122222222221211111
+0122222222121111111
+0122222221222221111
+0122222222222111111
+0122222212212111111
+0122222212222221111
+0122222221212121111
+0122221222212211111
+0122121212121211111
+0122222221222121111
+0122222221222111111
+0122222122221221111
+0122122122122111111
+0122221222212121111
+0122222122212221111
+0122222122212211111
+0122222222221221111
+0122221221221111111
+0122212121212111111
+0122221222212221111
+0122212221221111111
+0122222222122221111
+0122221212121111111
+0122122121212121111
+0121212121212111111
+0122212221222111111
+0122222222221111111
+0122221221212111111
+0122222222212121111
+0122222212221111111
+0122221222211111111
+0122122122122121111
+0122221222121111111
+0122222122121211111
+0122222122211111111
+0122222221221111111
+0122222122222111111
+0122122121212111111
+0122222212211111111
diff --git a/packages/noncvs/windows/extra/pix_fiducialtrack/pix_fiducialtrack-help.pd b/packages/noncvs/windows/extra/pix_fiducialtrack/pix_fiducialtrack-help.pd
index d890ec49..cad3c4e1 100644
--- a/packages/noncvs/windows/extra/pix_fiducialtrack/pix_fiducialtrack-help.pd
+++ b/packages/noncvs/windows/extra/pix_fiducialtrack/pix_fiducialtrack-help.pd
@@ -1,100 +1,100 @@
-#N canvas 23 75 787 476 10;
-#X text 452 8 GEM object;
-#X obj 9 317 cnv 15 430 100 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X text 40 319 Inlets:;
-#X text 39 364 Outlets:;
-#X obj 9 279 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#X text 18 278 Arguments:;
-#X obj 8 56 cnv 15 430 200 empty empty empty 20 12 0 14 -233017 -66577
-0;
-#X obj 449 37 cnv 15 320 380 empty empty empty 20 12 0 14 -228992 -66577
-0;
-#X text 453 20 Example:;
-#X obj 450 353 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
-0;
-#N canvas 0 22 450 300 gemwin 0;
-#X obj 132 136 gemwin;
-#X obj 67 89 outlet;
-#X obj 67 10 inlet;
-#X msg 67 70 set destroy;
-#X msg 132 112 create \, 1;
-#X msg 198 112 destroy;
-#X msg 156 71 set create;
-#X obj 67 41 route create;
-#X connect 2 0 7 0;
-#X connect 3 0 1 0;
-#X connect 4 0 0 0;
-#X connect 5 0 0 0;
-#X connect 6 0 1 0;
-#X connect 7 0 3 0;
-#X connect 7 0 4 0;
-#X connect 7 1 6 0;
-#X connect 7 1 5 0;
-#X restore 455 392 pd gemwin;
-#X msg 455 373 create;
-#X text 451 352 Create window:;
-#X obj 451 133 cnv 15 315 120 empty empty empty 20 12 0 14 -24198 -66577
-0;
-#X obj 451 43 gemhead;
-#X text 17 378 Outlet 1: gemlist;
-#X text 24 333 Inlet 1: gemlist;
-#X obj 451 260 pix_texture;
-#X text 71 31 Class: pix object (analysis);
-#X obj 451 282 square 4;
-#X floatatom 563 286 5 0 0 0 ID - -;
-#X floatatom 563 302 5 0 0 0 x - -;
-#X floatatom 563 318 5 0 0 0 y - -;
-#X floatatom 563 334 5 0 0 0 angle - -;
-#X obj 451 64 pix_video;
-#X msg 463 188 open \$1;
-#X obj 463 167 openpanel;
-#X obj 463 148 bng 15 250 50 0 empty empty TreeIdMap 20 7 0 12 -262144
--1 -1;
-#X text 50 12 Synopsis: [pix_fiducialtrack];
-#X text 29 57 Description: fiducial (target) detector (and tracker)
-;
-#X text 17 73 [pix_fiducialtrack] is able to detect \, identify and
-track multiple fiducials (targets with a unique topology as expressed
-by the region adjacency graph) within an image.;
-#X text 19 115 the tracking system is the one used in the reacTable*
-(http://iua.upf.edu.es/mtg/reacTable) \, and is (c) by Ross Bencina
-and Martin Kaltenbrunner. for more information on how it works \, see
-the homepage of reacTable*.;
-#X text 15 175 [pix_fiducialtrack] needs a dictionary-file for the
-used fiducials \, which can be given either via an argument or with
-the "open"-message. The default file is "all.trees";
-#X text 64 289 symbol: dictionary-file for TreeIdMap;
-#X text 24 348 Inlet 1: open <symbol>: dictionary-file for TreeIdMap
-;
-#X text 17 393 Outlet 2: (n) lists: describing n detected fiducials
-;
-#X obj 541 261 unpack 0 0 0 0;
-#X obj 450 428 pix_threshold_bernsen;
-#X text 20 428 for good result you will need some intelligent thresholding:
-;
-#X obj 451 87 pix_grey;
-#X text 16 221 [pix_fiducialtrack] only works on b/w grayscale-images
-\, so you need some pre-processing (colorconversion \, thresholding)
-;
-#X obj 451 107 pix_threshold_bernsen 16 16;
-#X msg 520 64 dimen 256 256;
-#X obj 451 222 pix_fiducialtrack all.trees;
-#X connect 10 0 11 0;
-#X connect 11 0 10 0;
-#X connect 14 0 24 0;
-#X connect 17 0 19 0;
-#X connect 24 0 39 0;
-#X connect 25 0 43 0;
-#X connect 26 0 25 0;
-#X connect 27 0 26 0;
-#X connect 36 0 20 0;
-#X connect 36 1 21 0;
-#X connect 36 2 22 0;
-#X connect 36 3 23 0;
-#X connect 39 0 41 0;
-#X connect 41 0 43 0;
-#X connect 42 0 24 0;
-#X connect 43 0 17 0;
-#X connect 43 1 36 0;
+#N canvas 23 75 787 476 10;
+#X text 452 8 GEM object;
+#X obj 9 317 cnv 15 430 100 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 40 319 Inlets:;
+#X text 39 364 Outlets:;
+#X obj 9 279 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#X text 18 278 Arguments:;
+#X obj 8 56 cnv 15 430 200 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 449 37 cnv 15 320 380 empty empty empty 20 12 0 14 -228992 -66577
+0;
+#X text 453 20 Example:;
+#X obj 450 353 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
+0;
+#N canvas 0 22 450 300 gemwin 0;
+#X obj 132 136 gemwin;
+#X obj 67 89 outlet;
+#X obj 67 10 inlet;
+#X msg 67 70 set destroy;
+#X msg 132 112 create \, 1;
+#X msg 198 112 destroy;
+#X msg 156 71 set create;
+#X obj 67 41 route create;
+#X connect 2 0 7 0;
+#X connect 3 0 1 0;
+#X connect 4 0 0 0;
+#X connect 5 0 0 0;
+#X connect 6 0 1 0;
+#X connect 7 0 3 0;
+#X connect 7 0 4 0;
+#X connect 7 1 6 0;
+#X connect 7 1 5 0;
+#X restore 455 392 pd gemwin;
+#X msg 455 373 create;
+#X text 451 352 Create window:;
+#X obj 451 133 cnv 15 315 120 empty empty empty 20 12 0 14 -24198 -66577
+0;
+#X obj 451 43 gemhead;
+#X text 17 378 Outlet 1: gemlist;
+#X text 24 333 Inlet 1: gemlist;
+#X obj 451 260 pix_texture;
+#X text 71 31 Class: pix object (analysis);
+#X obj 451 282 square 4;
+#X floatatom 563 286 5 0 0 0 ID - -;
+#X floatatom 563 302 5 0 0 0 x - -;
+#X floatatom 563 318 5 0 0 0 y - -;
+#X floatatom 563 334 5 0 0 0 angle - -;
+#X obj 451 64 pix_video;
+#X msg 463 188 open \$1;
+#X obj 463 167 openpanel;
+#X obj 463 148 bng 15 250 50 0 empty empty TreeIdMap 20 7 0 12 -262144
+-1 -1;
+#X text 50 12 Synopsis: [pix_fiducialtrack];
+#X text 29 57 Description: fiducial (target) detector (and tracker)
+;
+#X text 17 73 [pix_fiducialtrack] is able to detect \, identify and
+track multiple fiducials (targets with a unique topology as expressed
+by the region adjacency graph) within an image.;
+#X text 19 115 the tracking system is the one used in the reacTable*
+(http://iua.upf.edu.es/mtg/reacTable) \, and is (c) by Ross Bencina
+and Martin Kaltenbrunner. for more information on how it works \, see
+the homepage of reacTable*.;
+#X text 15 175 [pix_fiducialtrack] needs a dictionary-file for the
+used fiducials \, which can be given either via an argument or with
+the "open"-message. The default file is "all.trees";
+#X text 64 289 symbol: dictionary-file for TreeIdMap;
+#X text 24 348 Inlet 1: open <symbol>: dictionary-file for TreeIdMap
+;
+#X text 17 393 Outlet 2: (n) lists: describing n detected fiducials
+;
+#X obj 541 261 unpack 0 0 0 0;
+#X obj 450 428 pix_threshold_bernsen;
+#X text 20 428 for good result you will need some intelligent thresholding:
+;
+#X obj 451 87 pix_grey;
+#X text 16 221 [pix_fiducialtrack] only works on b/w grayscale-images
+\, so you need some pre-processing (colorconversion \, thresholding)
+;
+#X obj 451 107 pix_threshold_bernsen 16 16;
+#X msg 520 64 dimen 256 256;
+#X obj 451 222 pix_fiducialtrack all.trees;
+#X connect 10 0 11 0;
+#X connect 11 0 10 0;
+#X connect 14 0 24 0;
+#X connect 17 0 19 0;
+#X connect 24 0 39 0;
+#X connect 25 0 43 0;
+#X connect 26 0 25 0;
+#X connect 27 0 26 0;
+#X connect 36 0 20 0;
+#X connect 36 1 21 0;
+#X connect 36 2 22 0;
+#X connect 36 3 23 0;
+#X connect 39 0 41 0;
+#X connect 41 0 43 0;
+#X connect 42 0 24 0;
+#X connect 43 0 17 0;
+#X connect 43 1 36 0;
diff --git a/packages/noncvs/windows/extra/pix_fiducialtrack/pix_fiducialtrack.dll b/packages/noncvs/windows/extra/pix_fiducialtrack/pix_fiducialtrack.dll
index df32a58f..06adb878 100644
--- a/packages/noncvs/windows/extra/pix_fiducialtrack/pix_fiducialtrack.dll
+++ b/packages/noncvs/windows/extra/pix_fiducialtrack/pix_fiducialtrack.dll
Binary files differ
diff --git a/packages/noncvs/windows/extra/pix_mano/LICENSE.txt b/packages/noncvs/windows/extra/pix_mano/LICENSE.txt
index 4642cd5b..f0158c4c 100644
--- a/packages/noncvs/windows/extra/pix_mano/LICENSE.txt
+++ b/packages/noncvs/windows/extra/pix_mano/LICENSE.txt
@@ -4,8 +4,8 @@ http://www.jaimeoliver.pe/instrumentos/mano
based on:
GEM - Graphics Environment for Multimedia
- Copyright (C) 1997-2000 Mark Danks, Günter Geiger,
- Copyright (c) 2001-2010 IOhannes m zmölnig
+ Copyright (C) 1997-2000 Mark Danks, Günter Geiger,
+ Copyright (c) 2001-2010 IOhannes m zmölnig
Copyright (c) 2003-2007 James Tittle II,
Copyright (c) 2003-2008 Chris Clepper et al.
diff --git a/packages/noncvs/windows/extra/pix_mano/pix_mano-help.pd b/packages/noncvs/windows/extra/pix_mano/pix_mano-help.pd
index 5359bbb2..5dca26d3 100644
--- a/packages/noncvs/windows/extra/pix_mano/pix_mano-help.pd
+++ b/packages/noncvs/windows/extra/pix_mano/pix_mano-help.pd
@@ -1,425 +1,425 @@
-#N canvas 326 0 854 742 10;
-#X obj 556 -8 bng 15 250 50 0 refresh_var empty load-presets 17 7 0
-10 -257985 -1 -1;
-#X obj 161 116 pix_grey;
-#X floatatom 117 -50 5 0 0 1 bottom bottom -;
-#X floatatom 152 -33 5 0 0 1 top top -;
-#X obj 161 156 pix_texture;
-#X obj 152 19 t b f;
-#X floatatom 194 -14 5 0 0 1 right right -;
-#X obj 194 19 t b f;
-#X floatatom 235 1 5 0 0 1 left left -;
-#X obj 235 19 t b f;
-#X obj 35 16 t b f;
-#X obj 15 43 pack f f f;
-#X obj 73 16 t b f;
-#X floatatom 35 -17 5 0 0 1 thresh thresh -;
-#X obj 304 19 t b f;
-#X obj 345 19 t b f;
-#X floatatom 15 -33 5 0 0 1 mode mode -;
-#X floatatom 73 -2 5 0 0 1 tip_scalar tip_scalar -;
-#X floatatom 273 -58 5 0 0 1 pix_avg pix_avg -;
-#X floatatom 304 -42 5 0 0 1 pix_tip pix_tip -;
-#X floatatom 345 -27 5 0 0 1 min_entry_size min_entry_size -;
-#X obj 384 20 t b f;
-#X floatatom 384 -12 5 0 0 1 min_perim min_perim -;
-#X floatatom 424 3 5 0 0 1 pix_samp pix_samp -;
-#X obj 424 20 t b f;
-#X obj 273 47 pack f f f f f;
-#X obj 161 76 gemhead 1;
-#X obj 161 96 pix_video;
-#N canvas 0 0 450 300 print 0;
-#X obj 131 36 inlet;
-#X obj 131 57 spigot;
-#X obj 131 78 print;
-#X obj 228 27 loadbang;
-#X msg 228 48 0;
-#X obj 142 104 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X text 103 105 print?;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X connect 3 0 4 0;
-#X connect 4 0 5 0;
-#X connect 5 0 1 1;
-#X coords 0 -1 1 1 60 23 2 100 100;
-#X restore 32 204 pd print;
-#N canvas 0 0 450 300 print 0;
-#X obj 131 36 inlet;
-#X obj 131 57 spigot;
-#X obj 131 78 print;
-#X obj 228 27 loadbang;
-#X msg 228 48 0;
-#X obj 142 104 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X text 103 105 print?;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X connect 3 0 4 0;
-#X connect 4 0 5 0;
-#X connect 5 0 1 1;
-#X coords 0 -1 1 1 60 23 2 100 100;
-#X restore 100 204 pd print;
-#N canvas 0 0 450 300 print 0;
-#X obj 131 36 inlet;
-#X obj 131 57 spigot;
-#X obj 131 78 print;
-#X obj 228 27 loadbang;
-#X msg 228 48 0;
-#X obj 142 104 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X text 103 105 print?;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X connect 3 0 4 0;
-#X connect 4 0 5 0;
-#X connect 5 0 1 1;
-#X coords 0 -1 1 1 60 23 2 100 100;
-#X restore 167 204 pd print;
-#N canvas 0 0 450 300 print 0;
-#X obj 131 36 inlet;
-#X obj 131 57 spigot;
-#X obj 131 78 print;
-#X obj 228 27 loadbang;
-#X msg 228 48 0;
-#X obj 142 104 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X text 103 105 print?;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X connect 3 0 4 0;
-#X connect 4 0 5 0;
-#X connect 5 0 1 1;
-#X coords 0 -1 1 1 60 23 2 100 100;
-#X restore 235 204 pd print;
-#N canvas 0 0 450 300 print 0;
-#X obj 131 36 inlet;
-#X obj 131 57 spigot;
-#X obj 131 78 print;
-#X obj 228 27 loadbang;
-#X msg 228 48 0;
-#X obj 142 104 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X text 103 105 print?;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X connect 3 0 4 0;
-#X connect 4 0 5 0;
-#X connect 5 0 1 1;
-#X coords 0 -1 1 1 60 23 2 100 100;
-#X restore 301 204 pd print;
-#N canvas 0 0 450 300 print 0;
-#X obj 131 36 inlet;
-#X obj 131 57 spigot;
-#X obj 131 78 print;
-#X obj 228 27 loadbang;
-#X msg 228 48 0;
-#X obj 142 104 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X text 103 105 print?;
-#X connect 0 0 1 0;
-#X connect 1 0 2 0;
-#X connect 3 0 4 0;
-#X connect 4 0 5 0;
-#X connect 5 0 1 1;
-#X coords 0 -1 1 1 60 23 2 100 100;
-#X restore 369 204 pd print;
-#N canvas 716 528 225 177 gemwin 0;
-#X obj 61 138 gemwin;
-#X msg 46 83 create \, 1;
-#X msg 142 99 0 \, destroy;
-#X obj 24 12 loadbang;
-#X obj 24 38 t b b b;
-#X msg 126 65 dimen 320 240;
-#X connect 1 0 0 0;
-#X connect 2 0 0 0;
-#X connect 3 0 4 0;
-#X connect 4 1 1 0;
-#X connect 4 2 5 0;
-#X connect 5 0 0 0;
-#X restore 556 -49 pd gemwin;
-#N canvas 621 151 306 719 graphs-outlet2 0;
-#N canvas 0 22 450 300 (subpatch) 0;
-#X array x 150 float 1;
-#A 0 24 293 290 286 281 274 269 264 261 260 258 253 248 246 250 258
-266 274 282 279 286 295 295 187 195 203 211 219 227 235 243 251 259
-265 267 267 268 271 275 277 278 278 277 277 279 283 287 289 292 296
-300 305 309 311 311 311 311 311 311 311 311 311 311 311 311 311 311
-311 311 311 311 311 311 311 311 309 304 296 288 280 273 268 262 256
-248 240 232 224 216 208 200 192 184 176 168 160 152 144 136 128 120
-112 104 96 88 80 72 64 56 48 40 32 24 16 11 9 9 9 9 9 9 9 9 9 9 9 9
-9 9 9 13 169 169 164 162 167 170 166 162 165 169 13 97 105 113 120
-122 118 110 172;
-#X coords 0 320 149 0 300 140 1;
-#X restore -136 -398 graph;
-#N canvas 0 22 450 300 (subpatch) 0;
-#X array y 150 float 1;
-#A 0 253 470 467 460 453 448 446 446 448 452 458 462 467 471 472 472
-472 472 472 472 472 470 470 445 444 443 442 441 440 439 438 437 435
-431 425 417 413 415 420 420 414 406 398 390 387 389 397 405 412 420
-426 432 432 427 419 411 403 395 387 379 371 363 355 347 339 331 323
-315 307 299 291 283 275 267 259 253 250 249 249 249 251 253 252 250
-249 249 249 249 249 249 249 249 249 249 249 249 249 249 249 249 249
-249 249 249 249 249 249 249 249 249 249 249 249 250 252 258 266 274
-282 290 298 306 314 322 330 338 346 354 362 370 361 472 471 470 470
-471 471 470 470 471 472 464 461 464 467 469 471 472 472 471;
-#X coords 0 480 149 0 300 140 1;
-#X restore -137 -245 graph;
-#N canvas 0 22 450 300 (subpatch) 0;
-#X array angle 150 float 1;
-#A 0 0 0.588003 -0.785398 -0.266252 0.101103 0.330297 0.239743 0.380506
-0.588003 0.737815 -0.0767719 -0.574305 0.110657 0.321751 1.78947 0.244979
-0 0 0 0 0 0 0 0.124355 0 0 0 0 0 0 0 0 0.120624 0.343024 0.661043 0.321751
--0.244979 -1.91382 -0.308053 0.896055 1.40565 0.165149 0.124355 -0.124355
--0.588003 -1.44644 -0.643501 -0.218669 0.159913 0.0587558 0.124355
-0.106736 0.876058 1.19029 0.380506 6.12303e-17 6.12303e-17 6.12303e-17
-6.12303e-17 6.12303e-17 6.12303e-17 6.12303e-17 6.12303e-17 6.12303e-17
-6.12303e-17 6.12303e-17 6.12303e-17 6.12303e-17 6.12303e-17 6.12303e-17
-6.12303e-17 6.12303e-17 6.12303e-17 6.12303e-17 6.12303e-17 0.321751
-0.708626 0.416065 0.124355 1.22461e-16 0.2783 0.102207 -0.545655 -0.156602
-0.197396 0.124355 1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16
-1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16
-1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16
-1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16
-1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16 0.124355 0.256151 0.868539
-0.321751 -6.12303e-17 -6.12303e-17 -6.12303e-17 -6.12303e-17 -6.12303e-17
--6.12303e-17 -6.12303e-17 -6.12303e-17 -6.12303e-17 -6.12303e-17 -6.12303e-17
--6.12303e-17 -6.12303e-17 0 1.40565 1.73594 1.3734 0.197396 2.9442
-0.197396 2.89661 0.244979 2.81984 0.0767719 0 0.432408 0.104877 0 0.080471
--0.507098 -2.11122 -0.244979 0;
-#X coords 0 3.14 149 -3.14 300 200 1;
-#X restore -137 -90 graph;
-#X obj -131 118 bng 15 250 50 0 cleartables empty empty 17 7 0 10 -257985
--1 -1;
-#X text -113 117 clear tables;
-#X obj -39 -460 - 480;
-#X obj -39 -441 abs;
-#X obj -137 -460 tabwrite x;
-#X obj -39 -422 tabwrite y;
-#X obj 18 -463 tabwrite angle;
-#X obj -133 -530 unpack f f f f;
-#X obj -133 -506 s o2n;
-#X obj -88 -506 s o2x;
-#X obj -44 -505 s o2y;
-#X obj 1 -505 s o2a;
-#X obj -80 -480 r o2n;
-#X obj -137 -480 r o2x;
-#X obj -39 -480 r o2y;
-#X obj 18 -482 r o2a;
-#X obj 18 -441 r o2n;
-#X obj 99 -482 r o2n;
-#X obj -133 -574 inlet;
-#X connect 5 0 6 0;
-#X connect 6 0 8 0;
-#X connect 10 0 11 0;
-#X connect 10 1 12 0;
-#X connect 10 2 13 0;
-#X connect 10 3 14 0;
-#X connect 15 0 7 1;
-#X connect 16 0 7 0;
-#X connect 17 0 5 0;
-#X connect 18 0 9 0;
-#X connect 19 0 8 1;
-#X connect 20 0 9 1;
-#X connect 21 0 10 0;
-#X restore 100 265 pd graphs-outlet2;
-#N canvas 0 0 450 300 print 0;
-#X obj 131 36 inlet;
-#X obj 131 57 spigot;
-#X obj 228 27 loadbang;
-#X msg 228 48 0;
-#X obj 142 104 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
-1;
-#X text 103 105 graph?;
-#X obj 131 78 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 6 0;
-#X connect 2 0 3 0;
-#X connect 3 0 4 0;
-#X connect 4 0 1 1;
-#X coords 0 -1 1 1 60 23 2 100 100;
-#X restore 100 238 pd print;
-#N canvas 178 290 743 248 presets 0;
-#X text 280 16 head;
-#X text 229 16 bottom;
-#X text 319 16 right;
-#X text 363 16 left;
-#X msg 18 30 1;
-#X msg 283 33 5;
-#X msg 366 33 5;
-#X msg 325 33 315;
-#X msg 240 33 235;
-#X msg 561 22 4;
-#X msg 488 24 20;
-#X msg 524 23 5;
-#X msg 637 21 8;
-#X msg 598 22 10;
-#X msg 129 30 0.4;
-#X msg 71 30 0.74;
-#X obj 18 51 s mode;
-#X obj 71 51 s thresh;
-#X obj 129 51 s tip_scalar;
-#X obj 240 54 s bottom;
-#X obj 325 54 s right;
-#X obj 366 75 s left;
-#X obj 488 45 s pix_avg;
-#X obj 524 66 s pix_tip;
-#X obj 598 43 s min_perim;
-#X obj 637 63 s pix_samp;
-#X obj 283 75 s top;
-#X obj 286 -58 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
--1 -1;
-#X obj 286 -78 r refresh_var;
-#X obj 64 -15 bang;
-#X obj 286 -20 bang;
-#X obj 550 -20 bang;
-#X obj 561 86 s min_entry_size;
-#X text 20 114 These presets are what I use for the MANO Controller
-at 320x240.;
-#X obj 307 -59 loadbang;
-#X connect 4 0 16 0;
-#X connect 5 0 26 0;
-#X connect 6 0 21 0;
-#X connect 7 0 20 0;
-#X connect 8 0 19 0;
-#X connect 9 0 32 0;
-#X connect 10 0 22 0;
-#X connect 11 0 23 0;
-#X connect 12 0 25 0;
-#X connect 13 0 24 0;
-#X connect 14 0 18 0;
-#X connect 15 0 17 0;
-#X connect 27 0 29 0;
-#X connect 27 0 30 0;
-#X connect 27 0 31 0;
-#X connect 28 0 27 0;
-#X connect 29 0 15 0;
-#X connect 29 0 4 0;
-#X connect 29 0 14 0;
-#X connect 30 0 6 0;
-#X connect 30 0 7 0;
-#X connect 30 0 5 0;
-#X connect 30 0 8 0;
-#X connect 31 0 11 0;
-#X connect 31 0 10 0;
-#X connect 31 0 9 0;
-#X connect 31 0 13 0;
-#X connect 31 0 12 0;
-#X connect 34 0 27 0;
-#X restore 556 -30 pd presets;
-#X text 456 52 inlet 1;
-#X text 458 71 mode 0: regular function (others used for debugging)
-;
-#X text 457 83 thresh: threshold for contrast step;
-#X text 459 200 pix_avg: number of pixels to average the contour;
-#X text 458 234 min_entry_size: minimum entry size to be considered
-as a hand;
-#X text 458 256 min_perim: minimum perimeter to be considered a hand
-;
-#X text 459 308 OUTLETS;
-#X text 459 374 outlet 2: elements in the smoothed contour;
-#X text 460 408 outlet 3: peaks found in the contour;
-#X text 460 449 outlet 4: valleys found in the contour;
-#X text 460 491 outlet 5: contours found;
-#X text 461 542 outlet 6: end of algorithm report;
-#X text 457 148 inlet 2: defines the bounds of the anrea of analysis
-;
-#X text 484 160 bottom \, top \, right \, left;
-#X text 457 181 inlet 3: parameters of contour analysis;
-#X text 458 212 pix_tip: number of contiguous pixels higher than tip_scalar
-to consider something a peak or valley;
-#X text 482 118 mode \, thresh \, tip_scalar;
-#X text 457 94 tip scalar: scalar of maximum angle to consider something
-a peak or valley;
-#X text 458 267 pix_samp: period of sampling of the averaged contour
-;
-#X text 483 281 pix_avg \, pix_tip \, min_entry_size \, min_perim \,
-pix_samp;
-#X text 460 592 order of outlets: 1 2 5 3 4 6;
-#X text 460 340 outlet 1: elements in the raw contour (only in mode
-2);
-#X text 60 301 pix_mano is an object that tracks light reflecting objects
-(eg. hands) over a light absorbing background (eg. black cloth). Light
-reflecting objects need to enter the video frame from one of the sides
-to be recognized. For example \, a white circle in the center will
-not be recognized as there is no entry pount in the borders of the
-frame.;
-#X text 58 426 Roughly \, the object works by setting a threshold to
-discriminate bewteen black and white pixels. shapes formed of white
-pixels are analyzed in the order of largest entry section.;
-#X text 581 628 support information in www.jaimeoliver.pe;
-#X text 59 483 For each object an analysis of its contour is achieved.
-(see graph option in outlet two while entering your hand into the frame).
-The contours formed by a hand are averaged for smoothing and sampled
-\, and then are plotted as x \, y coordinates and variation in angle
-with respect to the previous sampled point. Ana analysis of this contour
-provides tips (positive peaks) and valleys (negative peaks);
-#X text 76 576 This object was programmed as part of the Silent Percussion
-Proect \, for use in the MANO Controller. For more infomation: http://www.jaimeoliver.pe
-;
-#X obj 117 47 pack f f f f;
-#X text 695 642 jaime.oliver@gmail.com;
-#X text 715 657 joliverl-2010 v0.01;
-#X obj 161 136 pix_mano;
-#X text 460 326 outlet 0: the analyzed video image;
-#X obj 161 176 rectangle 5.33 4;
-#X text 60 383 Although this version is fully functional \, there are
-still a few bugs to work on and optimizations to be achieved. It is
-still in an experimental level;
-#X text 476 353 [index \, x coordinate \, y coordinate \, angle];
-#X text 475 387 [index \, x coordinate \, y coordinate \, angle];
-#X text 476 421 [index of contour \, index of tip \, position (x \,
-y) \, magnitude \, angle \, position in contour];
-#X text 476 462 [index of contour \, index of tip \, position (x \,
-y) \, magnitude \, angle \, position in contour];
-#X text 476 504 [index of contour \, entry_point (x \, y) \, area \,
-direction \, center (x \, y) \, perimeter \, entr_size \, bounds: right
-(x \, y) \, left (x \, y) \, top (x \, y) \, bottom (x \, y).];
-#X text 477 555 if there were any contours = 1;
-#X text 477 565 if there were no contours = 0;
-#X connect 1 0 68 0;
-#X connect 2 0 65 0;
-#X connect 3 0 5 0;
-#X connect 4 0 70 0;
-#X connect 5 0 65 0;
-#X connect 5 1 65 1;
-#X connect 6 0 7 0;
-#X connect 7 0 65 0;
-#X connect 7 1 65 2;
-#X connect 8 0 9 0;
-#X connect 9 0 65 0;
-#X connect 9 1 65 3;
-#X connect 10 0 11 0;
-#X connect 10 1 11 1;
-#X connect 11 0 68 1;
-#X connect 12 0 11 0;
-#X connect 12 1 11 2;
-#X connect 13 0 10 0;
-#X connect 14 0 25 0;
-#X connect 14 1 25 1;
-#X connect 15 0 25 0;
-#X connect 15 1 25 2;
-#X connect 16 0 11 0;
-#X connect 17 0 12 0;
-#X connect 18 0 25 0;
-#X connect 19 0 14 0;
-#X connect 20 0 15 0;
-#X connect 21 0 25 0;
-#X connect 21 1 25 3;
-#X connect 22 0 21 0;
-#X connect 23 0 24 0;
-#X connect 24 0 25 0;
-#X connect 24 1 25 4;
-#X connect 25 0 68 3;
-#X connect 26 0 27 0;
-#X connect 27 0 1 0;
-#X connect 36 0 35 0;
-#X connect 65 0 68 2;
-#X connect 68 0 4 0;
-#X connect 68 1 28 0;
-#X connect 68 2 29 0;
-#X connect 68 2 36 0;
-#X connect 68 3 30 0;
-#X connect 68 4 31 0;
-#X connect 68 5 32 0;
-#X connect 68 6 33 0;
+#N canvas 326 0 854 742 10;
+#X obj 556 -8 bng 15 250 50 0 refresh_var empty load-presets 17 7 0
+10 -257985 -1 -1;
+#X obj 161 116 pix_grey;
+#X floatatom 117 -50 5 0 0 1 bottom bottom -;
+#X floatatom 152 -33 5 0 0 1 top top -;
+#X obj 161 156 pix_texture;
+#X obj 152 19 t b f;
+#X floatatom 194 -14 5 0 0 1 right right -;
+#X obj 194 19 t b f;
+#X floatatom 235 1 5 0 0 1 left left -;
+#X obj 235 19 t b f;
+#X obj 35 16 t b f;
+#X obj 15 43 pack f f f;
+#X obj 73 16 t b f;
+#X floatatom 35 -17 5 0 0 1 thresh thresh -;
+#X obj 304 19 t b f;
+#X obj 345 19 t b f;
+#X floatatom 15 -33 5 0 0 1 mode mode -;
+#X floatatom 73 -2 5 0 0 1 tip_scalar tip_scalar -;
+#X floatatom 273 -58 5 0 0 1 pix_avg pix_avg -;
+#X floatatom 304 -42 5 0 0 1 pix_tip pix_tip -;
+#X floatatom 345 -27 5 0 0 1 min_entry_size min_entry_size -;
+#X obj 384 20 t b f;
+#X floatatom 384 -12 5 0 0 1 min_perim min_perim -;
+#X floatatom 424 3 5 0 0 1 pix_samp pix_samp -;
+#X obj 424 20 t b f;
+#X obj 273 47 pack f f f f f;
+#X obj 161 76 gemhead 1;
+#X obj 161 96 pix_video;
+#N canvas 0 0 450 300 print 0;
+#X obj 131 36 inlet;
+#X obj 131 57 spigot;
+#X obj 131 78 print;
+#X obj 228 27 loadbang;
+#X msg 228 48 0;
+#X obj 142 104 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X text 103 105 print?;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 5 0 1 1;
+#X coords 0 -1 1 1 60 23 2 100 100;
+#X restore 32 204 pd print;
+#N canvas 0 0 450 300 print 0;
+#X obj 131 36 inlet;
+#X obj 131 57 spigot;
+#X obj 131 78 print;
+#X obj 228 27 loadbang;
+#X msg 228 48 0;
+#X obj 142 104 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X text 103 105 print?;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 5 0 1 1;
+#X coords 0 -1 1 1 60 23 2 100 100;
+#X restore 100 204 pd print;
+#N canvas 0 0 450 300 print 0;
+#X obj 131 36 inlet;
+#X obj 131 57 spigot;
+#X obj 131 78 print;
+#X obj 228 27 loadbang;
+#X msg 228 48 0;
+#X obj 142 104 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X text 103 105 print?;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 5 0 1 1;
+#X coords 0 -1 1 1 60 23 2 100 100;
+#X restore 167 204 pd print;
+#N canvas 0 0 450 300 print 0;
+#X obj 131 36 inlet;
+#X obj 131 57 spigot;
+#X obj 131 78 print;
+#X obj 228 27 loadbang;
+#X msg 228 48 0;
+#X obj 142 104 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X text 103 105 print?;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 5 0 1 1;
+#X coords 0 -1 1 1 60 23 2 100 100;
+#X restore 235 204 pd print;
+#N canvas 0 0 450 300 print 0;
+#X obj 131 36 inlet;
+#X obj 131 57 spigot;
+#X obj 131 78 print;
+#X obj 228 27 loadbang;
+#X msg 228 48 0;
+#X obj 142 104 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X text 103 105 print?;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 5 0 1 1;
+#X coords 0 -1 1 1 60 23 2 100 100;
+#X restore 301 204 pd print;
+#N canvas 0 0 450 300 print 0;
+#X obj 131 36 inlet;
+#X obj 131 57 spigot;
+#X obj 131 78 print;
+#X obj 228 27 loadbang;
+#X msg 228 48 0;
+#X obj 142 104 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X text 103 105 print?;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 5 0 1 1;
+#X coords 0 -1 1 1 60 23 2 100 100;
+#X restore 369 204 pd print;
+#N canvas 716 528 225 177 gemwin 0;
+#X obj 61 138 gemwin;
+#X msg 46 83 create \, 1;
+#X msg 142 99 0 \, destroy;
+#X obj 24 12 loadbang;
+#X obj 24 38 t b b b;
+#X msg 126 65 dimen 320 240;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 3 0 4 0;
+#X connect 4 1 1 0;
+#X connect 4 2 5 0;
+#X connect 5 0 0 0;
+#X restore 556 -49 pd gemwin;
+#N canvas 621 151 306 719 graphs-outlet2 0;
+#N canvas 0 22 450 300 (subpatch) 0;
+#X array x 150 float 1;
+#A 0 24 293 290 286 281 274 269 264 261 260 258 253 248 246 250 258
+266 274 282 279 286 295 295 187 195 203 211 219 227 235 243 251 259
+265 267 267 268 271 275 277 278 278 277 277 279 283 287 289 292 296
+300 305 309 311 311 311 311 311 311 311 311 311 311 311 311 311 311
+311 311 311 311 311 311 311 311 309 304 296 288 280 273 268 262 256
+248 240 232 224 216 208 200 192 184 176 168 160 152 144 136 128 120
+112 104 96 88 80 72 64 56 48 40 32 24 16 11 9 9 9 9 9 9 9 9 9 9 9 9
+9 9 9 13 169 169 164 162 167 170 166 162 165 169 13 97 105 113 120
+122 118 110 172;
+#X coords 0 320 149 0 300 140 1;
+#X restore -136 -398 graph;
+#N canvas 0 22 450 300 (subpatch) 0;
+#X array y 150 float 1;
+#A 0 253 470 467 460 453 448 446 446 448 452 458 462 467 471 472 472
+472 472 472 472 472 470 470 445 444 443 442 441 440 439 438 437 435
+431 425 417 413 415 420 420 414 406 398 390 387 389 397 405 412 420
+426 432 432 427 419 411 403 395 387 379 371 363 355 347 339 331 323
+315 307 299 291 283 275 267 259 253 250 249 249 249 251 253 252 250
+249 249 249 249 249 249 249 249 249 249 249 249 249 249 249 249 249
+249 249 249 249 249 249 249 249 249 249 249 249 250 252 258 266 274
+282 290 298 306 314 322 330 338 346 354 362 370 361 472 471 470 470
+471 471 470 470 471 472 464 461 464 467 469 471 472 472 471;
+#X coords 0 480 149 0 300 140 1;
+#X restore -137 -245 graph;
+#N canvas 0 22 450 300 (subpatch) 0;
+#X array angle 150 float 1;
+#A 0 0 0.588003 -0.785398 -0.266252 0.101103 0.330297 0.239743 0.380506
+0.588003 0.737815 -0.0767719 -0.574305 0.110657 0.321751 1.78947 0.244979
+0 0 0 0 0 0 0 0.124355 0 0 0 0 0 0 0 0 0.120624 0.343024 0.661043 0.321751
+-0.244979 -1.91382 -0.308053 0.896055 1.40565 0.165149 0.124355 -0.124355
+-0.588003 -1.44644 -0.643501 -0.218669 0.159913 0.0587558 0.124355
+0.106736 0.876058 1.19029 0.380506 6.12303e-17 6.12303e-17 6.12303e-17
+6.12303e-17 6.12303e-17 6.12303e-17 6.12303e-17 6.12303e-17 6.12303e-17
+6.12303e-17 6.12303e-17 6.12303e-17 6.12303e-17 6.12303e-17 6.12303e-17
+6.12303e-17 6.12303e-17 6.12303e-17 6.12303e-17 6.12303e-17 0.321751
+0.708626 0.416065 0.124355 1.22461e-16 0.2783 0.102207 -0.545655 -0.156602
+0.197396 0.124355 1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16
+1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16
+1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16
+1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16
+1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16 0.124355 0.256151 0.868539
+0.321751 -6.12303e-17 -6.12303e-17 -6.12303e-17 -6.12303e-17 -6.12303e-17
+-6.12303e-17 -6.12303e-17 -6.12303e-17 -6.12303e-17 -6.12303e-17 -6.12303e-17
+-6.12303e-17 -6.12303e-17 0 1.40565 1.73594 1.3734 0.197396 2.9442
+0.197396 2.89661 0.244979 2.81984 0.0767719 0 0.432408 0.104877 0 0.080471
+-0.507098 -2.11122 -0.244979 0;
+#X coords 0 3.14 149 -3.14 300 200 1;
+#X restore -137 -90 graph;
+#X obj -131 118 bng 15 250 50 0 cleartables empty empty 17 7 0 10 -257985
+-1 -1;
+#X text -113 117 clear tables;
+#X obj -39 -460 - 480;
+#X obj -39 -441 abs;
+#X obj -137 -460 tabwrite x;
+#X obj -39 -422 tabwrite y;
+#X obj 18 -463 tabwrite angle;
+#X obj -133 -530 unpack f f f f;
+#X obj -133 -506 s o2n;
+#X obj -88 -506 s o2x;
+#X obj -44 -505 s o2y;
+#X obj 1 -505 s o2a;
+#X obj -80 -480 r o2n;
+#X obj -137 -480 r o2x;
+#X obj -39 -480 r o2y;
+#X obj 18 -482 r o2a;
+#X obj 18 -441 r o2n;
+#X obj 99 -482 r o2n;
+#X obj -133 -574 inlet;
+#X connect 5 0 6 0;
+#X connect 6 0 8 0;
+#X connect 10 0 11 0;
+#X connect 10 1 12 0;
+#X connect 10 2 13 0;
+#X connect 10 3 14 0;
+#X connect 15 0 7 1;
+#X connect 16 0 7 0;
+#X connect 17 0 5 0;
+#X connect 18 0 9 0;
+#X connect 19 0 8 1;
+#X connect 20 0 9 1;
+#X connect 21 0 10 0;
+#X restore 100 265 pd graphs-outlet2;
+#N canvas 0 0 450 300 print 0;
+#X obj 131 36 inlet;
+#X obj 131 57 spigot;
+#X obj 228 27 loadbang;
+#X msg 228 48 0;
+#X obj 142 104 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X text 103 105 graph?;
+#X obj 131 78 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 6 0;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 4 0 1 1;
+#X coords 0 -1 1 1 60 23 2 100 100;
+#X restore 100 238 pd print;
+#N canvas 178 290 743 248 presets 0;
+#X text 280 16 head;
+#X text 229 16 bottom;
+#X text 319 16 right;
+#X text 363 16 left;
+#X msg 18 30 1;
+#X msg 283 33 5;
+#X msg 366 33 5;
+#X msg 325 33 315;
+#X msg 240 33 235;
+#X msg 561 22 4;
+#X msg 488 24 20;
+#X msg 524 23 5;
+#X msg 637 21 8;
+#X msg 598 22 10;
+#X msg 129 30 0.4;
+#X msg 71 30 0.74;
+#X obj 18 51 s mode;
+#X obj 71 51 s thresh;
+#X obj 129 51 s tip_scalar;
+#X obj 240 54 s bottom;
+#X obj 325 54 s right;
+#X obj 366 75 s left;
+#X obj 488 45 s pix_avg;
+#X obj 524 66 s pix_tip;
+#X obj 598 43 s min_perim;
+#X obj 637 63 s pix_samp;
+#X obj 283 75 s top;
+#X obj 286 -58 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 286 -78 r refresh_var;
+#X obj 64 -15 bang;
+#X obj 286 -20 bang;
+#X obj 550 -20 bang;
+#X obj 561 86 s min_entry_size;
+#X text 20 114 These presets are what I use for the MANO Controller
+at 320x240.;
+#X obj 307 -59 loadbang;
+#X connect 4 0 16 0;
+#X connect 5 0 26 0;
+#X connect 6 0 21 0;
+#X connect 7 0 20 0;
+#X connect 8 0 19 0;
+#X connect 9 0 32 0;
+#X connect 10 0 22 0;
+#X connect 11 0 23 0;
+#X connect 12 0 25 0;
+#X connect 13 0 24 0;
+#X connect 14 0 18 0;
+#X connect 15 0 17 0;
+#X connect 27 0 29 0;
+#X connect 27 0 30 0;
+#X connect 27 0 31 0;
+#X connect 28 0 27 0;
+#X connect 29 0 15 0;
+#X connect 29 0 4 0;
+#X connect 29 0 14 0;
+#X connect 30 0 6 0;
+#X connect 30 0 7 0;
+#X connect 30 0 5 0;
+#X connect 30 0 8 0;
+#X connect 31 0 11 0;
+#X connect 31 0 10 0;
+#X connect 31 0 9 0;
+#X connect 31 0 13 0;
+#X connect 31 0 12 0;
+#X connect 34 0 27 0;
+#X restore 556 -30 pd presets;
+#X text 456 52 inlet 1;
+#X text 458 71 mode 0: regular function (others used for debugging)
+;
+#X text 457 83 thresh: threshold for contrast step;
+#X text 459 200 pix_avg: number of pixels to average the contour;
+#X text 458 234 min_entry_size: minimum entry size to be considered
+as a hand;
+#X text 458 256 min_perim: minimum perimeter to be considered a hand
+;
+#X text 459 308 OUTLETS;
+#X text 459 374 outlet 2: elements in the smoothed contour;
+#X text 460 408 outlet 3: peaks found in the contour;
+#X text 460 449 outlet 4: valleys found in the contour;
+#X text 460 491 outlet 5: contours found;
+#X text 461 542 outlet 6: end of algorithm report;
+#X text 457 148 inlet 2: defines the bounds of the anrea of analysis
+;
+#X text 484 160 bottom \, top \, right \, left;
+#X text 457 181 inlet 3: parameters of contour analysis;
+#X text 458 212 pix_tip: number of contiguous pixels higher than tip_scalar
+to consider something a peak or valley;
+#X text 482 118 mode \, thresh \, tip_scalar;
+#X text 457 94 tip scalar: scalar of maximum angle to consider something
+a peak or valley;
+#X text 458 267 pix_samp: period of sampling of the averaged contour
+;
+#X text 483 281 pix_avg \, pix_tip \, min_entry_size \, min_perim \,
+pix_samp;
+#X text 460 592 order of outlets: 1 2 5 3 4 6;
+#X text 460 340 outlet 1: elements in the raw contour (only in mode
+2);
+#X text 60 301 pix_mano is an object that tracks light reflecting objects
+(eg. hands) over a light absorbing background (eg. black cloth). Light
+reflecting objects need to enter the video frame from one of the sides
+to be recognized. For example \, a white circle in the center will
+not be recognized as there is no entry pount in the borders of the
+frame.;
+#X text 58 426 Roughly \, the object works by setting a threshold to
+discriminate bewteen black and white pixels. shapes formed of white
+pixels are analyzed in the order of largest entry section.;
+#X text 581 628 support information in www.jaimeoliver.pe;
+#X text 59 483 For each object an analysis of its contour is achieved.
+(see graph option in outlet two while entering your hand into the frame).
+The contours formed by a hand are averaged for smoothing and sampled
+\, and then are plotted as x \, y coordinates and variation in angle
+with respect to the previous sampled point. Ana analysis of this contour
+provides tips (positive peaks) and valleys (negative peaks);
+#X text 76 576 This object was programmed as part of the Silent Percussion
+Proect \, for use in the MANO Controller. For more infomation: http://www.jaimeoliver.pe
+;
+#X obj 117 47 pack f f f f;
+#X text 695 642 jaime.oliver@gmail.com;
+#X text 715 657 joliverl-2010 v0.01;
+#X obj 161 136 pix_mano;
+#X text 460 326 outlet 0: the analyzed video image;
+#X obj 161 176 rectangle 5.33 4;
+#X text 60 383 Although this version is fully functional \, there are
+still a few bugs to work on and optimizations to be achieved. It is
+still in an experimental level;
+#X text 476 353 [index \, x coordinate \, y coordinate \, angle];
+#X text 475 387 [index \, x coordinate \, y coordinate \, angle];
+#X text 476 421 [index of contour \, index of tip \, position (x \,
+y) \, magnitude \, angle \, position in contour];
+#X text 476 462 [index of contour \, index of tip \, position (x \,
+y) \, magnitude \, angle \, position in contour];
+#X text 476 504 [index of contour \, entry_point (x \, y) \, area \,
+direction \, center (x \, y) \, perimeter \, entr_size \, bounds: right
+(x \, y) \, left (x \, y) \, top (x \, y) \, bottom (x \, y).];
+#X text 477 555 if there were any contours = 1;
+#X text 477 565 if there were no contours = 0;
+#X connect 1 0 68 0;
+#X connect 2 0 65 0;
+#X connect 3 0 5 0;
+#X connect 4 0 70 0;
+#X connect 5 0 65 0;
+#X connect 5 1 65 1;
+#X connect 6 0 7 0;
+#X connect 7 0 65 0;
+#X connect 7 1 65 2;
+#X connect 8 0 9 0;
+#X connect 9 0 65 0;
+#X connect 9 1 65 3;
+#X connect 10 0 11 0;
+#X connect 10 1 11 1;
+#X connect 11 0 68 1;
+#X connect 12 0 11 0;
+#X connect 12 1 11 2;
+#X connect 13 0 10 0;
+#X connect 14 0 25 0;
+#X connect 14 1 25 1;
+#X connect 15 0 25 0;
+#X connect 15 1 25 2;
+#X connect 16 0 11 0;
+#X connect 17 0 12 0;
+#X connect 18 0 25 0;
+#X connect 19 0 14 0;
+#X connect 20 0 15 0;
+#X connect 21 0 25 0;
+#X connect 21 1 25 3;
+#X connect 22 0 21 0;
+#X connect 23 0 24 0;
+#X connect 24 0 25 0;
+#X connect 24 1 25 4;
+#X connect 25 0 68 3;
+#X connect 26 0 27 0;
+#X connect 27 0 1 0;
+#X connect 36 0 35 0;
+#X connect 65 0 68 2;
+#X connect 68 0 4 0;
+#X connect 68 1 28 0;
+#X connect 68 2 29 0;
+#X connect 68 2 36 0;
+#X connect 68 3 30 0;
+#X connect 68 4 31 0;
+#X connect 68 5 32 0;
+#X connect 68 6 33 0;
diff --git a/packages/noncvs/windows/extra/pix_mano/pix_mano.dll b/packages/noncvs/windows/extra/pix_mano/pix_mano.dll
index 3f70850d..f9c15a10 100644
--- a/packages/noncvs/windows/extra/pix_mano/pix_mano.dll
+++ b/packages/noncvs/windows/extra/pix_mano/pix_mano.dll
Binary files differ