Jump to content

User:Corporateshark/sandbox: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
No edit summary
repair disambig pages with links and other minor tasks using AWB
 
(11 intermediate revisions by 5 users not shown)
Line 8: Line 8:
| developer = Sergey Kosarevsky, Viktor Latypov
| developer = Sergey Kosarevsky, Viktor Latypov
| released = 2003
| released = 2003
| latest release version = 0.5.88
| latest release version = 0.6.08
| latest release date = {{Start date and age|2009|2|23}}
| latest release date = {{Start date and age|2012|02|27}}
| latest preview version =
| latest preview version =
| latest preview date =
| latest preview date =
| frequently updated =
| frequently updated =
| programming language = [[C++]], LinderScript
| programming language = [[C++]], [[Python]], LinderScript
| operating system = [[MS Windows XP/Vista]]
| operating system = [[Windows]], [[Android (operating system)|Android]], [[BlackBerry OS 10]]
| platform = [[Win32]], [[Win64]]
| platform = [[Win32]], [[Win64]], [[ARM]]
| size =
| size =
| language = English
| language = English
Line 31: Line 31:
Main fields of application are games, interactive rendering systems, industrial and scientific volume data visualization i.e. from [[computed tomography]].
Main fields of application are games, interactive rendering systems, industrial and scientific volume data visualization i.e. from [[computed tomography]].


== Versions ==
== 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:
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 march 2002)
* 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.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.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.x - reimplementation of the project from scratch in [[C++]] (since 2004 and maintained now)
* 0.5.88 - current version with a volume rendering functionality
* 0.5.99c - added volume rendering functionality
* 0.6.x - [[Android (operating system)|Android]] support added


== Supported platforms ==


== Features ==
{{Prose|Section|Date=April 2009}}
'''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+


== Supported compilers and platforms ==
'''Renderer'''


The framework is compatible with the following compilers:
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


* [[Visual C++]] 2008/2010/2011
'''Industrial and scientific volume rendering'''
* [[Intel C++ Compiler]] 10+
* [[GCC]] 4.3+


The following platforms are supported:
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


* [[Microsoft Windows]] (32-bit and 64-bit)
'''Scene graph'''
* [[Android (operating system)|Android]] (Android NDK r6)
* [[Linux]] port is on the way


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


'''GUI'''


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


'''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:
'''Audio'''
* 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 ==
o OpenAL 1.1 support
o 3D positional sounds support
o Streaming playback support
o Easy FMOD integration (base classes provided)

'''Resources manager'''


* OpenGL-based renderer with GLSL vertex, fragment and geometry programs support
o Transparent caching of all shared resources
* Scene graph for automatic multipass rendering and frustum culling
o Supported texture formats: BMP, TGA, JPG, DDS, HDR RGBE (FreeImage library is used)
* Internal GUI with common controls library and high DPI aware rendering capabilities
o Supported audio formats: WAV, OGG and MP3 (via FMOD library)
* Audio subsystem with 3D positional sounds and streaming playback
o Supported mesh formats: ASE, MD5, LCM
* 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 ==
'''File system'''


'''Linderdaum Engine''' is based on the following APIs and libraries:
o Memory-mapped files
o Hierarchical directory structure with mountable folders
o Uncompressed RAR archives as pack files


* [[OpenGL]]
'''Scripting'''
* [[OpenAL]]
* [[FMOD]] (optional usage)
* [[FreeImage]]
* [[PugiXML]] by Arseny Kapoulkin (optional usage)
* '''RealScriptCompiler''' by Viktor Latypov
* [[TreeLib]] by Stefan Elsen
* '''VolumeProc''' by Viktor Latypov
* [[OggVorbis]]


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


== External links ==
== External links ==

Latest revision as of 17:11, 27 August 2017

Linderdaum Engine
Developer(s)Sergey Kosarevsky, Viktor Latypov
Initial release2003
Stable release
0.6.08 / February 27, 2012; 12 years ago (2012-02-27)
Written inC++, Python, LinderScript
Operating systemWindows, Android, BlackBerry OS 10
PlatformWin32, Win64, ARM
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

[edit]

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.99c - added volume rendering functionality
  • 0.6.x - Android support added

Supported platforms

[edit]

Supported compilers and platforms

[edit]

The framework is compatible with the following compilers:

The following platforms are supported:


Industrial and scientific volume rendering

[edit]

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

[edit]
  • 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

[edit]

Linderdaum Engine is based on the following APIs and libraries:


[edit]