oZone3D is the 3D engine that powers the Demoniak3D Demo-System.
oZone3D is an all purposes realtime 3D graphics engine. Real time
means "immediate interactivity" for the user. The included functionalities make it possible
to build applications in which the user can interact with the different elements of the 3D scene,
handle and modify all type of graphic entities (objects, textures, colors etc.).
oZone3D consists in a set of high level functionalities and is delivered as a C++ SDK.
Yes yes, it's really realtime 3D!
The oZone3D technology is especially designed for users willing to develop
graphic applications to exploit 2D or 3D data. oZone3D takes efficiently benefits from the
tremendous improvement achieved by the new 3D graphic chipset.
oZone3D users, considering the nature of the 3D engine, are developers who preferably
use the C++ programming language and have good software development skills. Moreover,
relying on clear and high technical level tutorials provided with the SDK, oZone3D allows
anyone who has basic programming knowledge to build various applications.
Water reflection and shadow volumes
3D files formats management:
- Full C++ SDK (currently only available on PC/Win32 platform)
- Oriented object API, easy to use
- Open arhitecture based on plugins (for graphics abstraction layer, scene rendering engine, data loading and so on)
- OpenGL graphics abstraction layer plugin (OpenGL 1.5) with GLSL support (OpenGL Shading Language)
- Plugin d'abstraction graphique OpenGL (OpenGL 1.5) avec support du GLSL (OpenGL Shading Language) to simplify vertex and pixel shader programming
- Mathematical library with vectors, matrices and quaternions
- 3D files formats reading and writing is done using plugins
- *.3DS (3D Studio Binary Scene File)
- *.ASE (3D Studio ASCII Scene File)
- *.TXT (MilkShape3D ASCII Object File)
- *.O3MDL (oZone3D Binary Object File)
- *.OBJ (Alias |Wavefront ASCII Object File)
- *.XML: oZone3D Simple Object Desription Format (for developers)
- *.FBX (Alias Kaydara FBX interchange format)
- Texture Manager
- 2D files formats reading and writing is done using plugins
- Main formats supported: *.jpg, *.tga, *.bmp, *.png, *.psd, *.gif, ...
- Hardware-limited texture size. Support of non-power of 2 texture size
- Opacity-maps support by alpha-chanel injection.
- Procedural Perlin noise textures
- IEEE 754 Floating Point Textures
- RTT (Render To Texture) and FBO (Framebuffer Object)
- serveral cameras per scene
- Perspective and orthographic view
- Serveral viewports
- All camera parameters are available (field of view (FOV), clipping planes, position, orientation, internal matrices)
- Many ready-to-use functions available to manage camera easily
- Lighting Manager
- 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 8 layers (graphics controller dependent)
- 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 (average of normals)
- 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/opcacty 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
Vertex and Pixel Shaders:
- All particle system actors (emitters, actions and obstacles) are plugin-based.
- 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
- Sound file format reading is done with plugins
- Main formats supported: *.wav, *.mp3, *.xm, *.s3m, *.it, *.mod
- Bezier spline based motion paths for almost all objects (cameras, models, meshes, lights, ...)
- High performance Delaunay Triangulation
- 3D picking into whole scene using ray-casting
- Transparent objects are automatically managed.
- 3D Lens Flare system (plugin).
- Scripts generation for offline renderers (POVRay, ...) (plugin)
- Many basic geometric primitives (vertex, line, triangle, vector, disc, sphere, box, plane)
- Many basic meshes (box, cylinder, plane, sphere, torus, terrain, disc, Bézier surface)
- TCP/UDP socket support through a standard interface. Win32 socket plugin available
- Large number of tutorials covering all aspects of engine programming
Rendering with baked textures