Glow - modern 3d game engine. Cross-platform, optimized tool with complete development environment, specially targeted to an indie game development.

Post feature Report RSS Features of "Glow" game engine

www.glow3d.com Deferred shading, lighting is fully dynamic, ability to use light-shaders. Weather and day/night model, light scattering model for sun Havok physics, cooperative job system, HSM + dynamic navigation meshes(Recast), Client-Server networking (plus client-side physics), Lua scripts, virtual renderer (directx + openGL +...), clipmaps for landscapes, image based foliage maps.

Posted by on


Highly optimized rendering system

  • Deferred shading - allows hundreds of lights in frame
  • All lighting is dynamic (including sun and skies)
  • Weather and day/night model, light scattering model for sun
  • Real-time reflective lights
  • Pre-calculated ambient occlusion calculated on the global scale
  • Per-pixel lighting, bumpy reflections and refractions, animated and detail textures, shiny surfaces
  • Virtual renderer - allows several graphics API, currently DirectX 9, OpenGL.

Landscapes and foliage

  • Image based landscapes
  • Clipmaps
  • Trees rendering optimization - distant trees became billboard
  • Image based grass maps

Script bases particle systems

  • By GPU Shaders
  • Physical particles on powerful hardware
  • Prepared fire, smoke, explosions and a number of other effects

Physics System powered by Intel Havok technology

  • Integrated into game itself, including physical materials on all surfaces, physically driven sound.
  • Rigid body constructions. Thousands of different physical entities simulated per frame.
  • On powerful hardware engine implements physically correct behavior of particles such as smoke, debris, etc.

Highly optimized job system

  • It uses thread pool.
  • During startup, engine allocates number of threads, depends of available CPU cores.
  • Several modules in engine (physics, AI, navigation, decoding of sound etc) send jobs to execute.
  • Jobs from same module can not be executed in parallel (if it uses same data)
  • Profiler - counts function execution time.
  • Debug render - mesh, navigation, lighting, fps, AI

Audio system

  • 3D sound positioning, spatialisation and attenuation
  • OGG-vorbis compressed with adjustable quality, multi-threaded decompression
  • Sounds can be downloaded from WWW

AI and Gameplay

  • Efficient pathfinding for dynamic environment powered by Recast technology
  • Navigation meshes are dynamic and can be updated by moving objects.
  • Multi-layered animation system
  • Hierarchical state machines
  • Server side Lua scripts, with binding to everything - game objects, UI, AI etc

Optimized client-server

  • UDP based, world state replicated by snapshots
  • Bit-compressed data
  • Client and server side physics.
  • Client-side physics allows complex simulations over network.
  • Delta-compression to send changed data only.
  • Custom reflection mechanism to describe class members to be sent

Script based UI

  • UI are drawn by script on server side
  • Sending to render (or client) by render queue.

Data streaming from everywere

  • HDD folder
  • WWW streaming by curl library
  • Streaming from zipped folders
  • Loading big textures are delayed
  • Memory pool optimization - 3x time optimization for small object

Web player

  • ActiveX + IE now (other browsers later)
  • Streaming data from Web
Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: