Oldest known version of this page was edited on 2006-09-21 21:45:18 by Jamie []
Page view:
Features

GLScene is an OpenGL based 3D library for Delphi. It provides visual components and objects allowing description and rendering of 3D scenes in an easy, no-hassle, yet powerfull manner.
GLScene is not just an OpenGL wrapper or utility library, it has grown to become a set of foundation classes for a generic 3D engine with Rapid Application Development in mind. GLScene allows you to quickly design and render 3D scenes without having to learn the intricacies of OpenGL, if you know how to design a TForm, you'll easily master the basic operations of TGLScene. The library comes with a large collections of demos showcasing the ease of use, and demonstrating RAD wasn't done at the expense of CPU/GPU horsepower.
GLScene is released to the public as open-source under Mozilla Public Licence.
'nuff with the commercials, let's get down to the features:
Scene description
- hierarchical objects structure, with as many objects as memory allows, easily extendable
- interactive scene management (numerous Delphi experts)
- easy to use rotation and movement functions for each object
- predefined objects (all standards from cube to teapot to sprite), easily extendable
- structural objects (dummy cube, proxy object) for manageing composite objects
- procedural objects (heightfield, revolution solids, pipes, tesselators...)
- support for 2D and 1D objects (sprites, lines with spline support) fully integrated
- HUD objects (sprites rendered in 2D coordinates)
- Utility objects (grids, skydome, arrows...)
- support classes for directly accessing OpenGL
- camera and light objects that can be used anywhere in a scene objects hierarchy
- behaviour objects can be attached to objects for animation purposes, easily extendable
- per-object special effects (before/after object rendering and scene after-effects), easily extendable
- support for particle systems, any object or object structure can be a particle
- 3D Studio file import with automatic and precise normal vector calculation (using the given smoothing groups of the file) and texture coordinate import
- Other imported formats : OBJ/OBJF, SMD, MD2, STL, TIN, PLY
Materials
- easy to use, optimized, material object
- material library to share and reuse materials
- ambient, diffuse, emission, specular and shininess support
- support of blending modes (transparency, additive...)
- alpha-channel auto-generation
- support for OpenGL texture formats, including compressed ones (DXT, S3TC etc.)
- generic plug-in shaders support
- High-level Cg shaders support classes
- polymorphic image support for texturing (allows many formats as well as procedural textures), easily extendable
- more than 150 predefined colors like clrCornflowerBlue or clrCoolCopper (easily extendable) in addition to standard colors and direct RGBA specifications
- easily to use texture movement and scaling properties, independently from texture coordinates
- 32 bits Bitmap support class
Rendering
- automatically uses the hardware OpenGL driver if available
- a well working camera model using focal length and targeting
- multiple viewers for one or more scenes, easy change of view through camera selection
- fog and depth-of-view support
- render to a file, a bitmap or to the printer in any color and pixel resolution
- full screen support with dynamic resolution changes
- reflections and mirror effects
- dynamic shadow casting
- high-performance scene-wide transparent particles system support
- automatic frustrum culling (hierarchical or per-object)
Animation
- propagation of time progression events
- skeletal animation (multiple bones per vertex)
- frame interpolation and morph targets
- easily extendable Behaviours
- dynamic physics : inertia, acceleration, damping and force application
- automatic, realtime scene cadenceing
Interface
- easy-to-use functions to determine picked objects
- helper functions for camera movements
- helper functions for picked object's translation
- helper functions for converting between screen and world coordinates, raycasting
Sound
- built-in support for 3DSound sources and listener
- automatic update of position, velocity and orientation of sources and listener
- sound samples library component
- sound managers for WaveOut, BASS and FMOD.
Utilities
- optimized geometry functions and utilities (vector, quaternion and matrix...)
- cubic spline support functions and class
- mesh manipulation and optimization (stripification, vertex-cache awareness, etc.)
- component to make full-featured screen-saver in a few clicks
- precise frame speed determination
- asynchronous timer (multi-threaded)
- joystick support
- asynchronous keyboard access, keymap support
Third party libraries
- Build in support for ODE physics library
- Build in support for Delphi Web Script (DWS)
- Build in support for Simple Direct Media Layer (SDL)
- Build in support for CG NVidea shader library toolkit
Notes:
Delphi 5 basically supports BMP, WMF, EMF, ICO and JPG, you can add support for GIF, TIF, TGA, PSD and many more by including the GraphicEx library from Mike Lischke.