|
| |
News
|
- 3.1.2005 - Nova3D released
-
Nova3D 1.0RC1 is out. It got postponed because it was (and still is)
suffering from performance and accuracy problems in the rasterizer and lighting.
Many of these issues have been addressed, yet some remain to be
fixed.
|
|
Features
|
The principal feature supported currently are:
- Easy-to-use scene graph API for flexible hierarchial transformations
- Efficient (partly) assembler-optimized fixed point library
- Per-pixel perspective correction in texture mapping (done with single
table lookup + 2 multiplys)
- Bilinear filtering for textures
- Realistic lightsource support (ambient + point light). Number of light sources
is not limited.
- Gouraud shading for both textured and vertex-colored polygons
- Simple environment mapping support
- Image/texture/object loading APIs, 2D blitting etc.
Main TODOs:
- Subpixel/subtexel accuracy to rasterizer
- Fix texture twitches at certain angles
- Improve performance (surprising..)
- View frustum clipping w/ bounding sphere rejection
- OpenGL ES interface
|
|
|
Introduction
|
|
Nova 3D is a polygon-based 3D graphics library ("engine"), released under the LGPL licence.
Its key design principles are modularity, usability and efficiency.
The common object-oriented idioms and design patterns were widely
used to improve the quality of the software and to ensure its maintainability.
It was originally developed in 2000-2001 for intended commercial purposes
but after having realized I lacked the enthusiasm to pursue a publishing deal
it was left untouched until the early 2003 when the core parts were rewritten.
In September 2004, it was early-released (under the open source licence LGPL) as an
entry for Open Summer 2004 -open source programming competition, in which it reached
the third place.
Here are the old pages of the project, containing now-deprecated
voxel stuff.
|
|
Downloads
|
|
1.0 RC1 - 3.1.2005
Full source
|
|
Demos
|
SpinningCube
This is a minimimalistic Nova3D app. It shows how to derive a DSAEngine
-class, create the framework API facade and construct a simple scene
graph containing a single camera and one object, using the example stock objects
provided by Nova3D. Toggle the object by clicking the joystick button.
Download for Series60v1.x and
Series60v2.x.
SimpleScene
This is another quite simple setup. It features loading objects from a Wavefront
.obj file, enabling environment mapping and lighting and a somewhat more complex
scene graph. It also shows how to
use the normal vector optimizer and how to use the "look-at" feature of the camera.
Move the camera around the center of the room by pressing left/right on the joystick.
Download for Series60v1.x and
Series60v2.x.
|
|