Current version: 0.45.1
>GeeXLab homepage

Current version: 1.30.0
>FurMark homepage

GPU Caps Viewer
Current version:
>GPU Caps Viewer homepage

GPU Shark
Current version:
>GPU Shark homepage

>JeGX's HackLab

Geeks3D's Articles
>GPU Memory Speed Demystified

>Multi-Threading Programming Resources

>GeForce and Radeon OpenCL Overview

>How to Get your Multi-core CPU Busy at 100%

>How To Make a VGA Dummy Plug

>Night Vision Post Processing Filter

PhysX FluidMark
Current version: 1.5.4
>FluidMark homepage

Current version: 0.3.0
>TessMark homepage

Current version: 0.3.0
>ShaderToyMark homepage
>ShaderToyMark Scores

Current Version: 1.23.0
>Libraries and Plugins
>Online Help - Reference Guide
>Codes Samples

Demoniak3D Demo-System - Real Time 3D Development Tool, GLSL, XML, LUA


Real Time 3D Development Tool

» Back to Demoniak3D homepage

» What is Demoniak3D?

» Target Audience

» How does Demoniak3D Works?

» Code Sample

» Application Fields

» Highlight Features

» System Requirements

» Demos

» Licensing

What is Demoniak3D ?

Demoniak3D is a tool designed to help developers and technical artists quickly create and prototype realtime 3D solutions: demos, benchmarks, little applications or games. It's also a fantastic tool to start and learn real time 3D programming.

Demoniak3D works a little bit as FireFox or IE: it takes a 3D scene description code, located in a XML file, and executes it. Really simple!

Demoniak3D aims to put realtime 3D graphics in everybody's hands by using a new and very understandable scripting language that will ensure an efficient understanding of the latest 3D technologies. Demoniak3D uses a clever mixture of XML, LUA scripting and GLSL (OpenGL Shading Language). Demoniak3D's 3D engine uses OpenGL for hardware graphics acceleration.

OpenGL Logo

Demoniak3D is totally free for a non-commercial use (private use).

Demoniak3D OpenGL Demo
[Old Building Demo]

Target Audience

The target audience for Demoniak3D is software developers, technical artists, hobbyists and all graphics enthusiasts who have the basic programming knowledge. If you are one of those persons, you will learn how to use Demoniak3D in a couple of minutes.

The only thing you need to start with Demoniak3D is a computer with a good OpenGL graphics accelerator (nVidia GeForce 5200 and up or ATI radeon 9500 and up) and a text editor (like Windows Notepad). Now you are ready to code, modify and execute your own realtime 3D demos!

Demoniak3D will bring to you a thorough knowledge of 3D by using a real 3D engine in an easy way while keeping all fundamental aspects of realtime 3D. All concepts, common to OpenGL or Direct3D and to other 3D engines are present in Demoniak3D.

Demoniak3D OpenGL Demo
[Desert Island Demo]

How does Demoniak3D Work ?

Demoniak3D's input is a 3D scene description file. This file can contain XML code, LUA scripting and GLSL for shaders programming. This mixture provides immediate visual feedback for the 3D scene under development.

  • XML is used for 3D scene description code (textures and models loading, lighting setup, sound, and so forth). With XML code only, you can already achieve very impressive scenes.

  • LUA is the powerful scripting language for game programming. This language is easy to learn, fast and allows you to add your own logic management to act on scene entities.

  • GLSL is the OpenGL Shading Language. This high-end language allows you to re-program some parts of the graphics controller 3D pipeline in order to create realistic and incredible rendering.

Once your 3D scene file is coded, just load it into Demoniak3D and get immediately the result.

Demoniak3D OpenGL GLSL Demo
[GLSL Fog Tutorial]

Code Sample

Here is a very simple Demoniak3D scene:

Demoniak3D OpenGL Demo

The corresponding XML source code is the following:

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>


	<scene name="myScene" />

	<camera name="Main_Camera" navigation_mode="FLY" >
		<position x="0.0" y="50.0" z="130.0" />

	<model name="myModel" filename="baked_sphere.3ds" 
	       texturing="TRUE" lighting="FALSE" />

We must confess, this source code is really simple, isn't it?

Application Fields
  • 3D Technological Demos: due to a very efficient and full exploitation of the latest graphics' controllers features, Demoniak3D lets you build high performance, fully immersive, interactive 3D applications with the best available rendering quality.

  • 3D Benchmarks: with Demoniak3D you can now build your own benchmark tools that suit at best your needs. See this page for an example.

  • Demoscene Production: Demoniak3D is perfectly adapted to create Demoscene Prods. With its sound capabilities, Demoniak3D offers you all the functionalities you need to build your first music-synchronized realtime demoscene production. See this page for an example.

  • GPGPU Programming: with the support of programmable shaders and floating point textures, Demoniak3D allows you to experiment the most complex simulations using GPGPU techniques. See this page for an example.

  • Fast prototypes design: as a very high level layer of a realtime 3D engine (oZone3D), Demoniak3D provides foundations for building most of the actions and adjustments built in oZone3D (HUDs, blending, alpha test, lighting and materials, textures, bump mapping, vertex and pixel shaders, ... ) with no need of complex programming. This makes Demoniak3D the ideal 3D design tool to build a prototype of any future application.

  • 2D/3D Presentation: Demoniak3D provides 2D/3D file format viewing (3D objects, images, video files) and sound mixing as well for authoring solutions.

  • Game Development: with the support of all usual medias such as 3D models, 2D textures, sound, the use of the powerful LUA scripting language and the integration of NovodeX Physics Engine, Demoniak3D is ready for the development of all your little games.

Demoniak3D GPGPU demo - Mandelbrot Fractal
[GPGPU - Mandelbrot Demo]

Demoniak3D Ageia PhysX demo - Pendulum
[Ageia PhysX - Pendulum Demo]

Demoniak3D Spiral Galaxy Demo
[Spiral Galaxy Simulation]

Highlight Features

General features:
  • scene description language based on XML syntax for static parts and LUA language for dynamic parts
  • use of OpenGL for hardware accelerated rendering
  • forum and technical support in french and english
  • Secure deployment so end-user can't see the models (with textures) you have worked on
Direct reading of the following 3D formats:
  • *.3DS (3D Studio Binary Scene File)
  • *.ASE (3D Studio ASCII Scene File)
  • *.TXT (MilkShape3D ASCII Object File)
  • *.O3MF (oZone3D Binary Object File)
  • *.OBJ (Alias |Wavefront ASCII Object File)
  • *.XML (oZone3D XML Model Desription Format)
2D file format reading:
  • *.jpg
  • *.tga
  • *.bmp
  • *.png
  • *.psd
  • *.gif
  • ...
  • regular and NPOT (non power of two) textures
  • textures rectangles
  • floating point textures (fp32)
  • compressed textures S3TC (DXT1, DXT5)
  • compressed normal-maps (S3TC/swizzled-DXT5, ATI 3Dc)
  • animated textures (AVI)
  • LUA Virtual Machine
  • many functions allowing to extend and manage the demo dynamic and logical part
  • several cameras per scenes
  • several viewports
  • modification of field of view (FOV) and clipping planes
  • pan (translation)
Dynamic lighting:
  • control up to 8 dynamic lights of different type: point, directionnal or spot, including each of the light components ambient, diffuse, specular, position, angle and orientation
Meshes rendering:
  • simple and multitexturing up to 4 layers
  • shading mode: flat and gouraud through the fixed functions or any other mode through programmable shaders
  • lighting
  • back face culling
  • solid or wireframe
  • automatic texture loading
  • vertex scaling
  • high performance rendering using VBO
  • normals flipping
  • seam removing
  • FSAA: full scene anti aliasing
  • ambient, diffuse, specular, opacity componant management
  • possibility to attach directly textures to materials
  • possibility to attach directly gpu-shaders to materials
Classic effects:
  • stencil shadow volumes
  • static and dynamic cube mapping
  • DOT3 bump mapping using fixed functions
  • alpha/opacity maps by injection into alpha channel
  • procedural texture generation based on Perlin noise
  • planar and non-planar reflections using reflection texture
  • skyboxes
  • terrain generation from heightmaps
  • HUD (Head Up Display) support
  • FBO (Framebuffer Object) support with dedicated LUA functions
  • GPGPU-ready using FBO and floating point textures
Particle System:
  • emitters: point, disc, sphere, line, mesh, matrix text
  • obstacles: disc, sphere, plan, mesh
  • controller/Actions: gravity, size, color, orbit point
Vertex and Pixel Shaders:
  • GLSL (OpenGL Shading Language) support
  • source code can be stored in separate files or directly embeded in XML code
  • parameters modification/update through LUA
  • Network programming support using the powerful LUA Socket library
  • TCP/IP clients and servers
  • UDP/IP clients and servers
  • SQL support using the powerful LuaSQL library
  • Driver for MySQL database
  • Driver for ODBC database
  • *.wav
  • *.mp3
  • *.xm
  • *.s3m
  • *.it
  • *.mod
  • time in LUA or GLSL scripts
  • Bezier spline based motion paths for almost all objects (cameras, models, meshes, lights, ...)
  • Character animation based on keyframes / morph-targets
  • Ageia PhysX Engine support (currently the LUA HostAPI has about 50 functions dealing with PhysX Engine)
  • basic shapes, collisions, gravity, joints

System Requirements
  • Operating System: Windows XP SP1 or SP2
  • Processor: Pentium III or AMD Athlon and up processor - 800 MHz and up.
  • Memory: 256M RAM or higher
  • Graphics Controller: ATI Radeon 9500 and up (with the latest Catalyst drivers) or GeForce FX 5200 and up (with the latest Forceware drivers)


For Demoniak3D demos, please visit the following page: Demoniak3D -> Demos


Demoniak3D is totally free and unlimited for a non-commercial use. For a commercial use, please visit the following page: Purchase Demoniak3D.

oZone3D Engine OpenGL
Libxml2 FreeImage
Fmod Sound System AGEIA PhysX Engine
LUA LUA Socket Lib LUA SQL Lib LuaFileSystem Lib


Special thanks to thank Stéphane 'Steph3D' Laux ( for the current design of Demoniak3D logo. Nice work Steph, you're the best!

GeeXLab demos

GLSL - Mesh exploder

PhysX 3 cloth demo

Normal visualizer with GS

Compute Shaders test on Radeon

Raymarching in GLSL

>Texture DataPack #1
>Asus Silent Knight CPU Cooler
Page generated in 0.0035908222198486 seconds.