Jump to content

User:Corporateshark/sandbox

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by RHaworth (talk | contribs) at 17:11, 7 April 2009 (moved Talk:Linderdaum Engine/Temp to User:Corporateshark/sandbox). 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

Supported platforms

Supported compilers and platforms

The framework is compatible with the following compilers:

The following platforms are supported:


Industrial and scientific volume rendering

Linderdaum Engine generates images from 3D and 4D computed tomography datasets using the method known as GPU accelerated volume ray casting. It is a straightforward method that utilizes capabilities of modern video cards and is ready for next-generation hardware. With the possibilities offered by this technology, there is a lot of room for new techniques that do not simply convert existing algorithms to the GPU, but use the very strengths of this architecture to create more realistic images at interactive frame rates. Recent research papers show that GPU accelerated raycasting is far more flexible than traditional volume rendering approaches and has the specific advantages, namely:

  • An exploitation of massively parallel GPU architecture
  • Trilinear interpolation is automatically (and extremely fast) implemented via hardware 3D textures
  • Implicit support for perspective (or any other) projection
  • Possibility to intersect volume with any renderable geometry
  • Efficient empty-space-leaping
  • Potential better image quality than common slices-based techniques

Features

  • OpenGL-based renderer with GLSL vertex, fragment and geometry programs support
  • Scene graph for automatic multipass rendering and frustum culling
  • Internal GUI with common controls library and high DPI aware rendering capabilities
  • Audio subsystem with 3D positional sounds and streaming playback
  • Virtual file system based on memory-mapped files
  • Scripting subsystem via object-oriented LinderScript scripting language with a C++ like syntax
  • Resources manager with transparent caching of all shared resources

Used third party libraries

Linderdaum Engine is based on the following APIs and middleware: