Jump to content

User:Corporateshark/sandbox

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Corporateshark (talk | contribs) at 21:44, 6 April 2009. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Linderdaum Engine
Developer(s)Sergey Kosarevsky, Viktor Latypov
Initial release2003
Stable release
0.5.88 / February 23, 2009; 15 years ago (2009-02-23)
Written inC++, LinderScript
Operating systemMS Windows XP/Vista
PlatformWin32, Win64
Available inEnglish
TypeMiddleware
LicenseOpen source and proprietary
Websitehttp://www.linderdaum.com

Linderdaum Engine is an object-oriented middleware written in C++ meant for rendering of interactive 3D environments. It consists of two major components:

  • open source Linderdaum Engine framework, meant to be a corner stone for development of 3D applications
  • proprietary state of the art GPU-accelerated direct volume rendering library which is built on top of the framework

Main fields of application are games, interactive rendering systems, industrial and scientific volume data visualization i.e. from computed tomography.

Versions history

The project was started in late 2001 by Sergey Kosarevsky with first 3D engine implemented in Free Pascal. The date February 11, 2002 can be called the beginning of the project, that is then Viktor Latypov joined development. The versions history can be summarized as follows:

  • 0.1.x - one person hobby project, just a bunch of code (until 2002)
  • 0.2.x - refactored framework, initial concepts of the future architecture
  • 0.4.x - well thought-out object-oriented reimplementation of the project from scratch (2002-2003), a demo from this branch was released and still is available for download (though written in Free Pascal)
  • 0.5.x - reimplementation of the project from scratch in C++ (since 2004 and maintained now)
  • 0.5.88 - current version with a volume rendering functionality


Features

Core

   o Simple OO engine’s design provides easy way to develop complex 3D worlds
   o Support of Win32 and Win64 platforms
   o Support of Windows XP and Vista
   o Compatible with Visual C++ 2005 and 2008
   o Compatible with Intel C++ 10
   o Compatible with GCC 4.3.3+

Renderer

   o OpenGL 3.0 and 3.1 support
   o Vertex and fragment programs
   o GLSL 1.40 support with geometry programs enabling Pixel Shader 4.0+ compatibility
   o Per-pixel lighting and shading
   o Percentage closer filtering (PCF) shadow maps
   o Procedural textures
   o XLML driven materials declaration system
   o 1D, 2D, 3D and cube map textures support
   o Compressed textures support
   o Non-power of two textures support
   o Floating point textures support
   o Video textures support
   o Vertex buffer objects
   o Full screen post processing effects
   o HDR rendering with up to 128-bit floating point render targets
   o LSS driven multipass rendering

Industrial and scientific volume rendering

   o 3D and 4D datasets rendering
   o GPU accelerated raycasting for direct volume rendering
   o nVidia GeForce 9×00+ and AMD Radeon 3×00+ support
   o Isosurface rendering
   o Opacity accumulation
   o Maximal intensity projection
   o High quality cut planes rendering
   o Procedural materials
   o 1D and 2D transfer functions
   o Rendering the volume from inside for virtual endoscopy

Scene graph

   o Automatic multipass rendering support
   o Hierarchical animation support
   o Skeletal animation support

GUI

   o XLML driven GUI controls
   o Common controls library
   o TrueType fonts support
   o High DPI aware rendering for 2560×1600 and higher resolutions

Audio

   o OpenAL 1.1 support
   o 3D positional sounds support
   o Streaming playback support
   o Easy FMOD integration (base classes provided)

Resources manager

   o Transparent caching of all shared resources
   o Supported texture formats: BMP, TGA, JPG, DDS, HDR RGBE (FreeImage library is used)
   o Supported audio formats: WAV, OGG and MP3 (via FMOD library)
   o Supported mesh formats: ASE, MD5, LCM

File system

   o Memory-mapped files
   o Hierarchical directory structure with mountable folders
   o Uncompressed RAR archives as pack files

Scripting

   o Fully integrated object-oriented LinderScript scripting language with a C++ like syntax
   o Byte-code virtual machine
   o Standalone optimizing compiler