ClassGL Library


 ClassGL Library
  ClassGL Features
  System Requirements
  Download Free Demo
  Prices and Ordering
  Version History

  Online Documentation



The ClassGL Library was in May 2008 released under new name: SolidKit Library, after adding many major features. Although the ClassGL Library is still available for purchase, we strongly recommend choosing the SolidKit Library instead.

ClassGL Version History (12/08/2005)

Modified CRasterImage::Load* functions to support CMYK JPEG files. (04/30/2003) Added CRasterImage::Paste, CRasterImage::GetPixel, CRasterImage::SetPixel, CRasterImage::ReplaceColor, CRasterImage::LoadAlphaChannel, CRasterImage::LoadThumbnail, CRasterImage::LoadThumbnailFromMemory functions, overloaded CRasterImage::Copy function, updated the CRasterImage class changes documentation, changed ClassGL documentation to HTML format, added displaying of image coordinates under mouse pointer in the ImageComposer sample project. (01/22/2003)

Added COpenGL::SetGlobalOption, COpenGL::GetGlobalOption CRasterImage::Copy, CRasterImage::Resize functions.

Implemented non-centered-zoom-mode option for perspective projection. (12/06/2002)

Added ScreenToWorld function (11/27/2002)

Fixed clip distance problem when view fit-all information was not set (08/19/2002)

Modified CRasterImage::LoadFromDIBSection function to handle 32bpp bitmaps. (08/19/2002) Modified clip distances logic to avoid Z-buffer problems for various coordinate spaces and added SetClipDistanceRatios function for better control of clip distances. (04/11/2002)

Added COpenGL::GetDefaultControlInfo and COpenGL::GetDefaultMovementInfo functions to allow controling keyboard and mouse behaviour globally for all windows.

Modified CRasterImage::LoadFromDIBSection function to handle 32bpp bitmaps. (04/02/2002)

Added COpenGL::SetDefaultPixelFormatDescriptor function to simplify pixel format management.

Modified CMemoryRC functions and COpenGL printing functions to internaly use 32 bpp bitmaps instead of 24 bpp bitmaps. This solves byte alignment problem with some OpenGL drivers. (03/15/2002)

Added implementation of CRasterImage::LoadFromDIBSection function

Added cleanup of existing rendering context resources during CMemoryRC::CreateRenderingContext function call which fixes resource leak problem when calling this function multiple times (12/10/2000)

Fixed printing issue when using ClassGL with latest NVIDIA Detonator drivers for Windows 2000. (08/28/2000)

Minor performance improvement for IM_SELECT mode (06/04/2000)

Added CMemoryRC class for off-screen OpenGL rendering.
Added "Fly" and Quake-like "Free Look" interaction modes.
Added support for keyboard customization.
Added "Animation Mode" to COpenGL class (03/23/2000)

Changed the ClassGL Library to allow negative near/far clipping planes (what is useful for Ortho projections). (02/23/2000)

Added COpenGL::SetPickingVolumeSize and OpenGL::GetPickingVolumeSize methods. (08/09/1999)

Improved printing compatibility with various graphics cards.

Implemented workaround for current Diamond Viper 770 driver problem where glGet function is not working properly in GL_SELECT rendering mode. This is fixing problem with selection with ClassGL for this graphics card. (07/23/1999)

Added GetPointLocalCoordinates and GetWindowPointWorldCoordinates methods to better support "object's local"/world/window coordinates conversions (07/07/1999)

Fixed a problem with view navigation when UpDirection is parallel with Z axis (06/25/1999 )

Added OnBeginPrinting, OnEndPrinting, OnPrint, SetMaxPrintResolution, GetMaxPrintResolution methods to support printing with OpenGL ( 04/22/1999 )

Fixed an issue in rotation mode when distance to a manipulated object was ignored while rotating object by mouse and problem when RotateX of the object was -135 degrees ( 04/09/1999 )

Added EditSample sample project. This project shows how to implement selection, highlighting, vertex editing and object manipulation with using ClassGL

Added keyboard support for panning and rotation

Fixed an issue with SetFitAllInfo method where in some cases some scene parts were clipped ( 03/25/1999 )

Added IM_SELECT_OBJECT interaction mode and modified MfcClassGL files in order to support this mode

Added SetHighlightObjectCallback and DoSelect public methods to COpenGL object to add highlighting support and allow custom selection calls ( 03/04/1999 )

Fixed dividing by zero problem when Radius item of SObjectInfo structure is zero ( 02/03/1999 )

OglSample example project changed. The OglSample application is now able to load and save objects scene composition. Numerous other changes were done in the OglSample project.

ClassGL help file updated

GetViewVolumePoints, GetWindowHandle, GetManipulatedObject SetOnChangeCallback methods were added to COpenGL class

SetCompressQuality and GetCompressQuality method were added to the CRasterImage class ( 12/10/1998 )

Changed error handling in CRasterImage class. Now CRasterImage object does not exit on error, the called function returns FALSE code instead. The latest error message is now available through CRasterImage::GetLastErrorMessage method ( 11/17/1998 )

Changed Near and Far clipping planes handling, if these values are not default then they have a higher priority than specified Minimum bounding box rectangle ( 07/21/1998 )

Added support for object selection and manipulation. ImageComposer example project added. ( 06/07/1998 )

Fixed Zoom - Reference Point related bug ( 05/30/1998 )

maximum memory limit for CRasterImage class increased from 1 MB to 250 MB ( May/1998 )

implemented displaying last error message before fatal exit ( May/1998 )

COpenGL::OnCreate changed to set default GL_PACK_ALIGNMENT and GL_UNPACK_ALIGNMENT to 1 byte (10/16/1997) a few new members added to COpenGL and CRasterImage class ( 10/14/1997 )

CRasterImage class added. Earth sample application added ( 07/01/1997 )

COpenGL, CVirtualRealityModel classes and OglSample example project implemented