Great job! I want this too! Please make it somehow available!
I want this!
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.
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.
- 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:
- 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
- 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
- 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)