Demoniak3DReal Time 3D Development Tool
» Back to Demoniak3D homepage
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.
Demoniak3D is totally free for a non-commercial use (private use).
[Old Building Demo]
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
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.
[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.
[GLSL Fog Tutorial]Code Sample
Here is a very simple Demoniak3D scene:
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.
[GPGPU - Mandelbrot Demo]
[Ageia PhysX - Pendulum Demo]
[Spiral Galaxy Simulation]
Direct reading of the following 3D formats:
- 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
2D file format reading:
- *.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)
- 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
- EXAMINE, FLY, FIXED and DOOM_LIKE modes
- modification of field of view (FOV) and clipping planes
- pan (translation)
- 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
- simple and multitexturing up to 4 layers
- shading mode: flat and gouraud through the fixed functions or any other mode through programmable shaders
- 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
- 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
- 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
Vertex and Pixel Shaders:
- emitters: point, disc, sphere, line, mesh, matrix text
- obstacles: disc, sphere, plan, mesh
- controller/Actions: gravity, size, color, orbit point
- 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
- HTTP, FTP, DNS
- SQL support using the powerful LuaSQL library
- Driver for MySQL database
- Driver for ODBC database
- 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
- 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 -> DemosLicensing
Demoniak3D is totally free and unlimited for a non-commercial use. For a commercial use,
please visit the following page: Purchase Demoniak3D.
Special thanks to thank Stéphane 'Steph3D' Laux (www.steph3d.net) for the current design of Demoniak3D logo. Nice work Steph, you're the best!