News & Info

November 02, 2002
  • Version 1.4.1 released!
  • a new forum! again! this one should have a longer life and is quite nice ;-),
    please try the mailing list too...
  • Basically it's a maintenance release with lot of debugging.
  • The OpenGLContext creation has been rewrite / enhanced to be more easily customizable
  • The GL generator.exe generated incorrect code, it has been fixed. (and the OpenGL_Extension file regenerated)
  • A rarely see issue with incorrect calling convention on DllImport attribute fixed
  • OpenGLContext(s) could now share their display list with other context, customize your context to take advantage of this feature and save video memory !
    of course CsGL.OpenGL.ContextLocal class take advantage of this feature.
  • GDITextureFont work now very fine and simply. And you have a basic example <csgl>/examples/CS/gdifont.cs
  • mouse & keyboard event management work now very fine and there is an associated example <csgl>/examples/CS/event.cs
  • maintenance / compatiblity release of CsGLExample & GLViewer
  • I found this new C#-OpenGL related project with some interesting stuff.

October 13, 2002

CsGLExamples 0.9.0 BETA has been released!

This release is a beta for CsGL users and the original authors of these ports to review and make any suggestions or offer any assistance before the "public" release. Most of the Redbook and NeHe lessons are there, as well as, a few others. (I think there's 99 in this package). I could use help testing each of these examples, looking for bugs, correcting known issues, and improving performance. Please offer any support you can. Read the included README.txt which should answer most of your questions and show you areas where your contributions would be most valuable.

You can get the CsGLExamples package from the Downloads link to your left, it includes all the source, precompiled release binaries, and data required for the examples (textures, sounds, etc). It's a big file. To run the examples, you'll need the .Net Framework, I've compiled against 1.0 SP2 (note I've compiled these against 1.1 beta as well and saw no improvement in speed, in fact they were slightly slower and used slightly more RAM, so until 1.1 is final I'll only distribute the 1.0 version). CsGL has been included both in release and debug forms, this CsGL is slightly more up-to-date than 1.4.0, however, Lloyd is working on updating CsGL with the things included here and fixing/improving the additions (essentially the only new things here are the GLUT shapes, which are really slow due to the multidimensional arrays I used in my quick and dirty implementation, and the *hedrons are being corrupted somewhere, so they look all whack. Also some new safe wrappers have been added to GL.cs. I've included GLUT.cs, though it's compiled into CsGL, in the src directory of the release, if anyone is interested or wants to improve the speed/search for the corruption). To compile these you'll need to get NAnt. All of this information is covered in the README.txt. I've also opened a CsGL Examples forum, for feedback, or you can email me.

Also, if you can implement a missing example, or provide a new example, especially one scheduled to be done in the future (as per the roadmap in the README file), that'd be great. I'd also gladly accept any custom examples you've done and want included. It'd be nice if you could follow the coding conventions used here, including the usage of the basecode. If you have suggestions, additions, corrections, improvements for the basecode, it'd be really nice to recieve these quickly.

There's some documentation for the basecode in CsGLExamples\src\CsGL.Basecode\doc. I haven't looked over it closely, so there may be some issues with it. Also I don't suggest compiling the documentation yourself (nant build-doc) as it takes forever. It took me close to 6 hours to compile the docs... NDOC is unbelieveably slow and I don't know why, but it produces great documentation.

I hope to get a public 1.0.0 release done in the next couple weeks, depending on my schedule. At this time I'll post the examples on gotdotnet, go-mono, and nehe, and hopefully by doing so we'll get some new CsGL users. So please, if you see issues or can offer support, please do so now, rather than waiting a couple weeks.

I'd like to thank Lloyd Dupont, Amir Ghezelbash, Jeff Molofee, Robert Schaap, and Steve Wortham for help on this release and/or providing their examples to be ported.

Thanks, Randy Ridge

September 29, 2002
  • Version 1.4.0 released!
  • OpenGL 1.1, 1.2, 1.3, 1.4 & 50 additional extensions supported.
  • If you have the latest extension header for SomeNiftyNewExtensionFromCompanyX you could now automatically generate the CsGL extension file with glgenerator.exe in the <CsGL>extras\generator directory. It comes both precompiled and with source. Check the README file first if you want to hack it.
  • Mouse (including Cursor utility) and Keyboard class added to CsGL.Util
  • New related project, is a skin file reader and cloth simulator... very nice demo!
  • The NeHe tutorials have been taken out of the base distribution and will be found in a separate package, where a new developer (thanks Randy) is doing a really wonderful job and a LOT of tutorials.
  • One last thing, I dropped Managed C++, this release is cleaner and is only comprised of C# and C. This will make it easier to port to other platforms... (provided you have System.Windows.Forms... of course)
  • The regular CsGL forum is broken and until it's fixed we're back to using the forum on SourceForge.
  • BUG There is a small pointer corruption somewhere, which I was not able to track until now and I know a very few case where glGetString() and OpenFileDialog (?!) doesn't work as intended.

July 14, 2002
  • version 1.3.2 released.
  • some minor bug fixe
  • a simple doc shipped
  • extension N_Vertex added.
  • GLViewer now read .3ds file and have a nice light setting tool
  • project Lilburn started. a 3D engine library

June 16, 2002
  • version 1.3.1 released. BUGFIXES
  • some people have no drawing. Due to an incorrect report of DOUBLEBUFFER flags for some videocard. This could lead to other problems (incorrect choosing of display type), but at least the drawing occur now.
  • a few change in NeHe example, you could "run.bat" or "make" without ResBuilder (that is, without embing the resources).
  • there is a VS.NET project wich could build csgl. It only build the weak named version, that you couldn't install. (first uninstall csgl if you want to use it).

June 14, 2002
  • version 1.3 released.
  • all 1.1 OpenGL & GLU call now implemented.
  • correct (& safe) implementation for the 2 provided OpenGL extension.
  • there is a basic doc provided (mainly describing C++ object now).
  • the webdemo work locally, launch webdemo.html in <csgl>/examples/NeHe.

June 2, 2002
  • version 1.2.1 released.
  • no new functionality (maintenance release) BUT
  • All the foundation have been rewritten in managed C++, much easier to maintain
  • it ship now with a C++ and VB example
  • AND I need GL-extension headers / tutorials / samples / etc... as I have now a tool to build them in a few minutes, but I need material...

May 21, 2002
  • version 1.2 released.
  • more bug fixe !
  • I move GLView from csgl to (new) GLViewer application
  • the OpenGLFont and OpenGLTexture2D are now ContextLocal, alloc once, use on any context easily...
  • the GDITextureFont has a nicer output
  • about 40 new safe function
  • a new related project GLViewer

May 4, 2002
  • version 1.1 released

  • what you all wait for without daring to ask: a Document-view update of CSGL. Commit me to make a lot of change. This new architecture lie mainly on 2 new object GLView, an OpenGLControl, displaying the new OpenGLModel object.
    It also have built in navigation feature.
  • A document (that is OpenGLModel) could be see on a lot of different view at the same time this lead me to create ContextLocal object, an object wich transparently manage OpenGLContext local instance of any object, and one of its most valuable subclass: DisplayList.
  • a new example (./examples/OO) which is quite unfinished now, but provide a nice skeleton of model viewing application.
    help you to go very rapidly in OpenGL code test without bothering with all init/GUI/etc.. stuff

  • now in binary distribution there is lib and libinstall directory (respectively build with make and make install commands). The first one is an anonymous assembly (which cannot be installed and should lie in you application directory), the other one has a strong name and could be installed with the install.bat provided

  • Paul Michael Saunders ( take the SDL project project under his responsability, and could now be found at

  • a sample, unfinished, implementation of OpenGL extension

  • Sad news, Jan Nockeman is too busy and leave the project, thank you and see you later Jan

  • I remove OpenGLException.AssertGL() and break it into 2 part:
    • OpenGLException.Assert(), which test only OpenGL error
    • SystemError.Assert(), which test win32 error
    this for maintenance reason.
  • and of course the classical debugging & website updates

April 23, 2002
  • version 1.0 for OpenGL released.
  • SDL is no longer supported, but could be find in previous version (up to 0.9.1)
  • few code change but LOT of debugging
  • hmm.. CVS is a bit outdated..

February 11, 2002
  • version 0.9.1 released
  • Many site tweaks, including FAQ section update.
- Jan

December 12, 2001
  • version 0.9 released
  • CsGL is now cut in 2 completly independant part (one SDL, one OpenGL)
  • new web demo
  • some project one the project page

November 16, 2001
  • version 0.2.2 released
  • a few bug correction with OpenGL
  • SDL_mixer now implemented (though SDL_audio is not and not planned)

November 12, 2001
  • version 0.2.1 released
  • OpenGLContext class added in OpenGL, essentialy cleaner code in OpenGLControl and new "Bitmap ToImage()" method to take screenshot.
  • new OpenGLFont abstract class with an interesting GDITextureFont subclass, see lesson17 for demo.
  • new NeHe tutorial 17 and improvement in last tutorial (8, & +) (screenshot, faster display...)

October 3, 2001
  • version 0.2.0 released
  • web demo on CsGL page (
  • namespace change. OpenGL becomes CsGL.OpenGL, SDL becomes CsGL.SDL
  • Base class of OpenGL change from GL to OpenGL. from wich inherit GLU, from which inherit a new class : "GL", which provide safe version of OpenGL call, with array, enumeration, etc...
  • new objects in OpenGL: Point3D, Transform3D, Quaternion, ..
  • new active contributor: Ben Houston
  • new SDL classes (sound & CD-Rom)
  • new high level class with cleaner code.
  • NeHe tutorial: example 11 has been improved and it could be transformed in a web demo with a very few change now.

August 28, 2001
  • version 0.1.0 released (updated)
  • new example : the famous Gears
  • basic implementation of SDL comitted
  • NeHe tutorial: lessons 8 & 9.

August 26, 2001
  • version 0.1.0 released (updated)
  • FAQ added
  • site update & french version
  • new example: torus (with asm version bzip-ed)
  • binary version of example added.

August 14, 2001
  • version 0.1.0 released
  • first release with most OpenGL function and NeHe tutorial from 2 to 7