History - Linderdaum Engine


From Linderdaum Engine

Jump to: navigation, search

December 7, 2011 Mali-400 support

Thanks to http://www.malideveloper.com and ARM Developer Relations, we have been able to add the support of Mali-400 mobile GPUs. Linderdaum Engine now runs smoothly on Mali-based devices like Samsung Galaxy S II, Samsung Galaxy Note and TeXeT TM-7021. The new SDK release will follow shortly.

November 3, 2011 Site upgrade

Forums switched to phpBB: http://www.linderdaum.com/forum The old forums are no longer available. Twitter and Facebook buttons are now available.

July 24, 2011 SDK updated to 0.6.01 with minor improvements and bugfixes

This SDK update is focused on multitouch fixes and improvements. Checkout 'Input/Gestures.h' for new features.

  • Added:
    • new example Test_PinchZoom to show multitouch capabilities on Android
  • Improved
    • multitouch support on Android

July 17, 2011 SDK 0.6.00 with Android support is released

Our SDK 0.6.00 with Android mobile development support is released. The major features are:

  • Android

The Engine now supports applications development for Android operating system starting from Android 2.1 and higher. See readme files and Development for Android for a quick start.

  • AdMob and Google licensing libraries integration for Android

See Apps/PuzzL and Apps/MultiBricks for examples. Also they can be found on Android Market at https://market.android.com/developer?pub=Linderdaum

Other changes:

  • Added:
    • Android port
    • prebuilt libraries libFreeImage, libFreeType, libModPlug, libOGG, libOpenAL and libVorbis for Android
    • localization facilities (clLocalizer and Env->Localizer), works automatically in Android
    • multitouch support (use L_EVENT_MOTION to handle)
    • Android system menu support (use L_EVENT_MENU to handle)
    • AdMob library integration for Android
    • Google Licensing library integration for Android
    • TAR bitstreams as pack files
  • Improved:
    • OpenGL ES 2 renderer compatibility with Mali 400 chipsets

July 7, 2011 Android MultiBricks

Gravity-based MultiBricks game delivers hours of fun and entertainment. Remove 3 or more neighboring colored bricks to earn more points and clean space, rotate and stack multicolored monomino, domino, trimino, tetramino and pentamino shapes. Joyful colors, exciting gameplay - everything you need to relax during your spare time!


The game is runnable on Windows and Android platforms without any changes. The source code will be available shortly in the SDK 0.6.00. There is no "Donate" button on this site, so the only way to support the development is to purchase our products on Android market.

June 9, 2011 Development for Android OS

We have added a preview of our new tutorial Development for Android to present the build process for Android OS using Linderdaum Engine. You will be able to compile and run exactly the same game code on both x86 Windows PC and Android device which is useful for rapid development and prototyping. Also all build scripts are Linux-compatible so you can use cross-compilation for Android and Windows from Linux. Please give us your feedback in our Forums. The final version of this tutorial will be released with the new SDK.

June 5, 2011 Android PuzzL

Our first Android game PuzzL is released.

Simple jigsaw puzzle game is available at the https://market.android.com/details?id=com.linderdaum.engine.puzzL Put 4x4 puzzle pieces to the right place in order to recreate the images.

The game is runnable on Windows and Android platforms without any changes. The source code will follow shortly with our next SDK release. Stay tuned.


Please report possible problems to our forum pages. We need your feedback!

May 8, 2011 SDK 0.5.99d released

Our SDK 0.5.99d is released. It is planned to be the last release before 0.6.00 which will bring the support of Android operating system. This release introduces two new major features:

  • Web server with remote console

The Engine now includes a simple HTTP server with a limited number of pages for remote debugging. Checkout Using internal HTTP web server for usage details.

  • FreeType support

New text renderer class supports arbitrary single-language strings with left to right and right-to left characters. See Images/TextRenderer.h for detailed instructions and NetSamples/FontTest.cs for demonstration. The binary builds of libfreetype-6-*.dll (x86 and x64) are taken from http://www.gtk.org

Other changes include:

  • Added:
    • FreeType text renderer (new methods in clCanvas)
    • built-in HTTP web server
    • more C# .NET samples (GPU particles, font rendering)
  • Improved:
    • OpenGL ES 2 renderer (fixed mipmapping bugs)
    • minor API refinements
    • FreeImage updated to version 3.15.0
    • VCauto .mk files autogeneration for Android NDK
    • OpenCL integration
  • Fixed:
    • critical bug in OGG decoder deinitialization
    • volume rendering bugs related to lazy loading

April 27, 2011 Current codebase statistics

Here are some raw statistics on our current codebase:


Language files blank comment code
C/C++ Header 464 28179 19261 86132
C++ 214 22533 15199 69468
C 2 1308 1268 7401
SUM: 680 52020 35728 163001 250749


Language files blank comment code
C/C++ Header 188 26275 13706 77471
C++ 206 22376 10262 63345
C 1 58 33 269
SUM: 395 48709 24001 141085 213795

The total codebase size is 464544 lines (excluding external dependencies like FreeImage and FreeType). There are also 462Kb of GLSL shaders of which 122Kb are in trunk/CommonMedia.

April 8, 2011 SDK 0.5.99c released

The SDK 0.5.99c is released. This release introduces the .NET wrapper for Linderdaum Engine. Every engine class marked with 'netexportable' attribute in the C++ sources is automatically wrapped and exported into your managed .NET environment. Now any .NET language can be used to write interactive 3D applications using Linderdaum Engine. The deployment of the application using the engine requires just a few files, all of which are included in "LinderdaumSDK-NET-0.5.99c-Win32.exe" and "LinderdaumSDK-NET-0.5.99c-Win64.exe" packages. Just read the accompanying !README-NET.txt and start coding!

The complete changelog is as follows:

  • Added:
    • initial concept of OpenGL ES 2 renderer
    • initial concept of ProjectWizard
    • async textures loading
    • async meshes loading
    • thread-safe logger
    • thread-safe console messages
    • added Test_Materials example
    • binding of different CVar types to shader uniforms
    • clRevolutionSurface in LSurface
    • spline-interpolated curves
    • fast OBB and OBB-trees building with in-place sorting
    • built-in anaglyphic stereo rendering
    • camera controllers
    • utility methods for property-to-GUI bindings
    • HTTP downloader for virtual file system
  • Improved:
    • iThread class
    • overall thread-safety
    • VCauto generates dependencies in makefiles
    • VCauto generates .vcxproj.filters for VS 2010
    • VCauto generates GUIDs
    • VCauto generates makefiles for Android NDK
    • VCauto generates Qt project files
    • bitmap manipulation, copying, blitting
    • usage of shader programs as image processors
    • many conversions added to internal geometry types (boxes, polylists, spheres etc.)
    • lots of geometry generation and manipulation routines in Math library
    • possible to have CommonMedia in a single file

January 3, 2011 SDK 0.5.99b released

The SDK 0.5.99b is released. This package includes the complete source code of Asteroids and a few other samples with precompiled binaries for Win32. The complete changelog is as follows:

  • Added:
    • OpenGL 3.3 Core support
    • OpenCL support
    • Win64 support
    • FMOD multithreaded audio subsystem is back
    • 1D histograms for textures (useful for volume rendering)
    • trackball mouse navigation
    • RAW textures in 16, 24 and 32-bit
    • Windows Vista & Windows 7 compatibility
    • initial network interface
    • initial automatic material system
    • video recording
    • high DPI-aware rendering
    • quaternion-based animations blending
    • joysticks support via DirectInput
    • autogenerated serialization
    • smooth sound fading
    • VisualStudio 2010 support
  • Improved:
    • material system
    • GPU mesh skinnning
    • FreeImage updated to version 3.11
    • binding of shader uniforms to CVars
    • 16-bit grayscale textures support
    • shader programs loading
  • Removed:
    • shaders and shader programs caching
    • VisualStudio 2003 and 2005 support
    • NVAPI

December 19, 2010 Asteroids game

The final version of our mini-game is ready and has been released: http://www.linderdaum.com/Downloads/AsteroidsDist.exe The full source code will be available after the New Year's Eve, stay tuned.

November 30, 2010 Asteroids game

The first public beta of Asteroids has arrived: http://ftp.linderdaum.com/Asteroids_Dist.exe Any suggestions or feedback would be appreciated. Here is a couple of screenshots from the game.

Nov28_2010_01s.jpg Nov28_2010_02s.jpg

October 18, 2010 Asteroids game

An early sketch video from our Asteroids project:

October 17, 2010 Asteroids

Here is a screenshot from our current work-in-progress game Asteroids - a 2D classic space shooter scheduled for release later this year. It is beeing developed for the "Shoot 'em up" contest at http://www.gamedev.ru/projects/news/ShootEmUpContest. At the moment the game is in active development and it will be also available as an open source tutorial for Linderdaum Engine.


September 19, 2010 Video

A new clip added to Video demonstrating fully GPU-based skeletal animation.

September 17, 2010 SourceForge

We have opened a SourceForge page at http://sourceforge.net/projects/linderdaum/ with a public Git read-only repository. Now our up-to-date development source code along with some demos can be obtained using Git. See Downloads for details. The next major SDK update is on the way.

July 20, 2010 Python

We decided to switch to Python 3.x in writing our numerous sources-processing and generating tools. The reason for this was Python has a comprehensive library capable of extensive text-processing features with a distinct expressive power compared to C++. Surely C++ is not a way to go with such kind of automation tasks. Some of our small tools have been already rewritten in Python yielding 50 lines of clean Python code versus more than 1000 lines of a harsh C++ mess.

May 25, 2010 High dynamic range rendering with light streaks

April 25, 2010 CLExtractor

Downloads page updated with the new tool CLExtractor - autogenerator of helper code to dynamically load OpenCL from 'OpenCL.dll'.

March 9, 2010 OpenGL 3.2 Core Profile support

Our new renderer has full OpenGL 3.2 Core Profile support. OpenGL versions below 3.0 are not supported and there is no backward compatibility with older video cards. From now on the engine needs DX10-class GPU to run.

January 26, 2010 Visual Studio 2010 Beta 2 support

The entire project migrated to Visual Studio 2010 Beta 2. Very few changes were made to the codebase to make it compilable with the new VisualC++. However our VCauto automatic project generator still supports Visual Studio 2008/2005 and those who wish to use older versions of VS can do so.

July 4, 2009 Volume rendering demo

Volume rendering demo is available for download. Read more on Demos page.

June 30, 2009 Volume rendering with full AMD Radeon support

Our volume rendering library now supports all rendering modes on AMD Radeon family from 3450 and higher.

We are grateful to AMD Developer Relations for granted hardware.

June 2, 2009 Codebase refactoring

During last month we have refactored and removed a lot of legacy code and unused third party libraries. Our C++ codebase dropped from 200k to 100k lines of code without the loss of functionality. Old features like fixed function rendering, ad hoc loaders and many others were removed.

May 9, 2009 Volume rendering improvements

A bunch of new features was added to Linderdaum Volume Rendering Library:

  • Subsurface scattering simulation. Improves visual appearance of the image by adding indirect light.
  • Texture mapping of isosurfaces. Besides high quality procedural materials you can map any 2D bitmap to the extracted isosurface in real time. Check out a screenshot of this new technique Screenshots: Volume Rendering.
  • Empty space leaping. Raycasting is accelerated by skipping volume regions that do not contain meaningful data.
  • GPU-based volume processing. Can be used for evaluation of filters, blur, etc.
  • Adaptive control of tracing steps for even higher frame rates.

April 16, 2009 Development: content creation pipeline

New material system is in development allowing direct import of static scenes from 3dsmax into the engine. Any textured model can be exported to ASE and directly loaded by the Linderdaum-based application with all the textures and lighting. Currently supported maps are: ambient, diffuse, specular and bump.

Apr15_2009_02s.jpg Apr15_2009_03s.jpg

This scene is rendered just after one-click export from 3dsmax. No special plugins or scripts needed. It is very fast and handy for designers to bring content into the engine this way.

April 7, 2009 API reference updated

Doxygen-generated API reference http://www.linderdaum.com/Docs/HTML/index.html was updated to reflect recent API changes.

March 27, 2009 WIN64 support

Support for WIN64 platform was successfully tested today. Some minor issues still remain which will be fixed with the next release of our SDK. The supported architecture is x64 (aka AMD64, x86_64) and since MS VC 2003/2005 does not have 64-bit compiler and linker you have to use MS VC 2008 for this functionality.

February 28, 2009 Transparent isosurfaces rendering

Rendering of transparent isosurfaces using 1D preintegrated transfer function.

February 23, 2009 High resolution GPU accelerated raycasting

Currently implemented GPU raycasting volume rendering technique generates high resolution images in real time.


See Screenshots: Volume Rendering for 2560×1600 full size image.

December 5, 2008 Animated volume rendering

Real-time 128×128×128 dynamic 3D texture rendering with 99 frames. Data volume courtesy of: http://www.cs.ucdavis.edu/~ma/ITR/tvdr.html

November 11, 2008 Volume rendering improvements

Volume rendering with transfer function


May 28, 2008, 00:31 0.5.88 patch released

The SDK 0.5.88 source code patch is released. The latest changes include:

   * New: .RAR pack files can be stored inside app’s resources and mounted as i.e. “Mount RESOURCE:datafile_rar”
   * New: FreeImage library integrated instead of custom texture loaders
   * Improved: normals loading from ASE
   * Improved: creation of command line tools using the engine as a library becomes easier
   * Fixed: removed .STL meshes loader
   * Fixed: bug with textures animation
   * Fixed: MD3 meshes support deprecated
   * Fixed: keyframe animation support deprecated

February 24, 2008 Mesh skinning demo and a 0.5.86 patch


Software mesh skinning from MD5 mesh file format. Also build process of the engine was greatly improved.

December 29, 2007 Volume rendering demo and a 0.5.84 patch

This new demo implements a volume rendering technique using a GPU raycasting as described in the article [1] by J.Kruger and R.Westermann.


The demo is compilable using the Patch 0.5.84 which also adds Visual Studio 2008 compatibility, skeletal animation support and MD5 meshes loading.

December 26, 2007 0.5.82 SDK released

The SDK 0.5.82 fixes some issues of the previous release and adds some new features:

   * New: build process changed (prepare for 0.5.90)
   * New: initial support for geometry shaders
   * New: initial support of volume rendering
   * Improved: paletted images support in TGA files
   * Improved: unconstrained alignment of structs
   * Improved: submaterials support in ASE files
   * Fixed: geometry generation issues
   * Fixed: performance issues in the Tanks demo

October 2, 2007 0.5.80 SDK released

The SDK 0.5.80 package is ready. This new release contains the following improvements:

   * Built-in editor (press F1 in Tanks demo)
   * Improved audio subsystem
         o Audio sources and listener positioning
         o Audio volume and pitch control 
   * Improved GUI subsystem
         o Colors setup in GUI
         o New controls: tab control, sidebar 
   * Improved renderer
         o Chainable postprocessing effects
         o Postprocessing effects library (b&w, sobel, heathaze)
         o Separate HDR bloom filter
         o Atmospheric light scattering
         o Rain particle system
         o GLEW used to retrive OpenGL extensions
         o Support of NVIDIA Performance Monitoring (PM) API
         o Keyframes interpolation
         o Memory consumption for keyframes reduced by approx 30%
         o GPU hardware compatibility
         o Heightmaps normals calculation 
   * Improved scene graph
         o Scenegraph sorting for rendering
         o Traversing speed increased 
   * LinderScript
         o Script compiler integrated into the Engine
         o Fields support 
   * XLML parser is now much faster
   * Added Intel C++ 9 compatibility
   * Great compile time reduction of the whole project