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.
Demoniak3D is totally free for a non-commercial use (private use).
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'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.
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.
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
...
Textures:
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)
Scripting
LUA Virtual Machine
many functions allowing to extend and manage the demo dynamic and logical part
Camera
several cameras per scenes
several viewports
EXAMINE, FLY, FIXED and DOOM_LIKE modes
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