What was new (see
Home, Section "News" for infos on latest version) :
GLScene Changes from v0.9 to v1.0.0.0714 : (07/14/2006)
10 Jul 2006 - PvD
- Bug fix. Both RemapReferences in Meshutils.pas used a TByteArray that exceeded their range.
- Bug fix. The EarthSkyDome in GLSkyDome.pas also showed as pmLines, When polygon mode of other objects in a scene were set to pmLines.
- Bug Fix. Added some missing VCL icons
- Bug Fix. The "Delete object" dialog was shown every time the DELETE key was pressed while editing an object name in the treeview.
- New version tab added to version dialog seen when you double click the GLScene viewer in design-time
GLScene Changes from v0.8.2 to v0.9 : (10/09/2002)
- Separation of the notions of Viewers and Buffers, introduction of new viewers (Memory, SDL and FullScreen). Some properties moved from directly under the Viewer to Viewer.Buffer.
- New rendering options and controls, ability to render to textures, facilities for rendering dynamic cube maps, etc.
- Improved materials, multi-pass support, shaders, etc.
- Improved objects, meshes, terrain rendering, skeletal animations, collision detection, etc.
GLScene Changes from v0.8.1 to v0.8.2 : (12/03/2001)
- New ThorFX with demo by Rene Lindsay, for electric arcs, and with little parameter tuning, laser, neon and other effects.
- Improved FireFX with 2 new demos, now supports fire trails and explosions
- Removed invalid "glBegin" in THeightField (bug introduced in 0.8.1), and a handful of other issues.
GLScene Changes from v0.8 to v0.8.1 : (05/03/2001)
- TTerrainRenderer and TGLBitmapHDS (bitmap HeightData Source), with a sample in "meshes\terrain"
- Record AVI, DivX and others with TAVIRecorder by Nelson Chu (and VFW API translation adapted from Ronald Dittrich's). See sample in "utilities\recorder".
- THUDText and TBitmapFont now "published" and demoed in "interface\bmpfont"
- New TFrustrum object by Robin Gerrets
- New collision code by Uwe Raabe, changes in GLCollision and addition of AxisAlignedDimensions overrides
- 2nd texture unit coordinates should now be generated for almost all of the GLScene objects, XOpenGL now handles TexGen functions, advanced texturing samples: "texformat" and "multitexture" in "materials"
- Texture formats and texture compression support (new properties of TGLTexture, thanks to Tom's article at Delphi3D)
- Enhanced "normals logic" for TPipe by Michael Schuricht
- Sub-objects in Pick list by Alan Ferguson (you can use "glPushName" in your render code to specify subobjects), and proxy sub-objects are now available has subobjects in a pick list (PickObjects method)
- Enhanced OpenGL12 unit from Mike Lischke∞ (with complete extensions flags set)
- Enhanced Geometry.pas (new functions and speed enhancements)
- Hardware specific support added for texture filtering (isotropic/anisotropic), fog distance and stencil buffer
- The usual variety of minor fixes and additions (see headers for details)
GLScene Changes from v0.7.3 to v0.8 : (06/02/2001)
- Many changes, additions and fixes, covering objects, base classes and geometry I lost detailed track of, covering all aspects from texture management to extrusion and portal objects.
- Detailed changes list was unfortunately... uh... lost in a fire outbreak following an alien invasion... :p
GLScene Changes from v0.7.2 to v0.7.3 : (07/03/2000)
- Massive changes to Geometry.pas, many renames and additions (including faster replacements for Borland's 'math' unit), asm-level FPU and 3DNow! optimizations. New set of 'procedure-based' routines for speed improvements of up to 400% over traditionnal 'function' variants. Don't be fooled by the increased size of the '.pas', compiled code is now smaller & faster.
- NEW : GLScene Sound System (GLSS), easy-to use positionnal 3D sound support for your scenes, comes with sound-library component, wave-out (non-3D) and FMOD drivers (see http://www.fmod.org∞), as well as a sample (install GLSS_FMOD5.dpk (Delphi5) or GLSS_FMOD4.dpk (Delphi4) package to enable the FMOD driver).
- NEW : TAnnulus, to render hollow cylinders and pipes (contributed by Aaron Hochwimmer).
- NEW : Basic support classes for collision detection (only sphere-bounding is supported yet).
- Delphi 4 support (use GLScene4.dpk) for samples/demos too.
- TActor can now perform smooth frame interpolation and has more animation options, Carlos A. Rivero contributed the "Actor" sample (how to display and animate a Quake II .md2 model). Check www.planetquake.com/polycount, they have a large collections of models.
- TFreeForm can now flip normals (better compatibility with non-standard 3DS files).
- Enhancements to TMesh and TVertexList (memory management), which moved to their own unit.
- LightSources can now be set to "parallel".
- OpenGL12 unit and GLScene now have full dynamic OpenGL binding support (see header for details).
- Some more fixes for RenderToBitmap/RenderToFile and SpaceText.
- Enhanced help-file (HTML Help) with property documentation.
- Enhanced all early samples and demos that were not properly showcasing the use of TGLCadencer.
- Many fixes and additions throughout all of GLScene, see file headers for details (thanks all who helped).
GLScene Changes from v0.7.1 to v0.7.2 : (05/28/2000)
- Delphi 4 support (use GLScene4.dpk), some experts/property editors are disabled in Delphi 4
- WARNING : some functions and procedures in Geometry have been renamed (fixed orthograph of VectorSubstract, made further use of overloads, etc.), none has been removed (indeed, there are more functions now).
- NEW : TLines, to draw 3D lines, segments and cubic splines (contributed by Roger Cao), with property editor.
- Completed TGLProxyObject, demoed in "mushroom" sample
- TMesh can now autocalculate normals for TriangleStrips, added a math "formula" plotting sample (triangle & trianglestrip)
- Ability to use InterleavedArrays instead of IndexedArrays in TFreeForm, added "mushroom" sample (how to load a 3DS file)
- Fixes for texture handling (TGLPersistentImage & TGLPicFile)
- Class/methods basic help file (.chm)
- Added "transparency" sample to explain blending in GLScene, Z-Buffer/blending use and objects ordering
- GLSceneViewer RenderToBitmap/RenderToFile now work properly (no more light/texture losses)
- Various fixes and enhancements, see file headers for details (thanks all who helped)
GLScene Changes from v0.7 to v0.7.1 : (fixes release)
- Fixed nasty IDE bug : added objects would be neither declared in source, nor properly recognised by Delphi's IDE until open/close.
- Added TGLProxyObject : allows better & easier sharing of ressources, adjusts its MasterObject property and you've got a clone (no samples yet, quite untested)
- Added support for categories of objects (objects are now sorted in different submenus)
- TAsyncTimer in v0.7 was still using the old code, this is now fixed
- Various fixes and enhancements, see file headers for details (thanks Roger Cao, Mike Lischke, Nelson Chu, Carlos A. Rivero, Gary Clark, James Burroughs...)
GLScene Changes from v0.6 to v0.7 :
- Added support for Behaviours (TGLBehaviours/TGLBehaviour) in TGLBaseSceneObject, with accompanying IDE expert. Behaviours are a stepping stone for more goodies to come (particle systems, flyby, drop-on-floor, force-fields...).
- Added TGLParticles, the Particle System component, with accompanying samples (in sprites/particles and bench/whirlwind). Features visual-design, unlimited particle count, automatic particle pool management, parenting support (a particle can be a single object or a structure that may contain any objects (including particle systems)) and more.
- Added the first behaviour, "Simple Inertia" (handles translation/rotation speed, acceleration and damping) with its "torque" demo.
- New utility component : TGLCadencer, a step toward point-and-click only animation with GLScene (see screen-saver sample: things move without a single animation-related line of code in the saver's main form).
- New utility component : TScreenSaver (make screen-savers in a snap!), comes with a full-featured sample screen-saver with preview and GLScene-based config dialog (the component can be used without using GLScene).
- New classes : TXCollection/TXCollectionItem (can be used without GLScene) with IDE expert, similar to VCL's TCollection but with polymorphism support (allows items of varied classes, base class for TGLBehaviours/TGLBehaviour and other goodies to come).
- Fixed TJoystick component, it should now behave properly (at least for a 2 axis, 4 buttons stick). Added a Joystick demo.
- Added support for effects (per object, pre- or post- object rendering, scene after-effects), these are subclasses of TGLBehaviour with added rendering abilities. No samples, untested.
- TAsyncTimer is now based on the ThreadTimer code (by Carlos Barbosa) as suggested by Roger Cao.
- Various minor additions and fixes, see file headers for details (thanks Uwe Raabe for quadrics and memory fixes and Jens Treichler for spotlights vector recalculation)
GLScene Changes from v0.5.0 to v0.6 : (in no particular order)
Note for users of previous versions : the version released here has been altered quite heavily, most classes and components are still here, but most have been renamed or rearranged and this package is not an incremental improvement (neither is it a complete rewrite) : projects designed with previous versions won't compile with this one, and you'll probably have to manually modify DFMs to make them work. However, this version is more stable, faster, uses less memory and has more to offer. And since previous versions won't be supported, it is highly recommended to migrate your applications. Incremental compatibility will be provided from this point on.
- Requires Delphi 5 (may compile under D4, but experts make use of D5's TFrame)
- Fixed (all ?) crashes (most came from bugs in experts and OpenGL12.pas, other buggy objects have been deactivated)
- Added a bunch of demos (heavily commented, tutorial-style)
- Added new experts (color editor, material editor, material preview, vector editor, material library picker)
- Added and optimized many Geometry function (mainly through better parameters support)
- Changed GLScene main objects names so they begin with "TGL"
- Significantly reduced dependencies, EXE size is now vastly reduced for a bare-bones GLScene application
- Massive optimization of what is stored in the DFMs (smaller EXEs)
- Fixed texturing (PersistentImage), added full-polymorphic texture image data support
- Vector file objects, Joystick support have been moved to separate units
- Added "Target" to TGLCamera so you can point your camera to a particular object, also added utility functions for moving a camera around its target
- New objects : TDummyCube (for use as camera target or composite object handler), TSprite (a "plane" that is always facing the camera, for use in particle systems, special effects or doom-like 2D monsters :)
- Added AbsolutePosition calculation functions, and depth-sorting for blended objects rendering
- TSpaceText now allows for low-quality 3D text (reduced poly count)
- Added ability to save/load scene or material library to a file
- Added Progress event chain
- ...and many more (see headers in pascal files for more details)
GLScene Changes from all versions prior to v0.5.0 :
This page lists all changes that occured on GLScene since v0.5, when Eric Grange took over the development of the library, all versions prior to v0.6 were written and maintained by Mike Lischke and their history can be found here:
http://www.lischke-online.de/GLScene.php∞.