|
FreeSG ("Free" as in "Free of bloat")
is a portable, high-level open-source 3D engine with an emphasis on
generality.
It is built on top of the
Agar
object system and GUI.
FreeSG is available under a revised BSD license. The project is currently
in very active development.
Unlike most typical 3D engines, FreeSG is designed as an integrable
component, as opposed to an application framework. It includes libraries
for 3D scene graphs (SG), vector drawings (SK), computational geometry
and math routines (M).
With the SG library, we aim to implement a set of efficient scene rendering
algorithms where the speed and memory tradeoffs can be adjusted to the
widest possible range of professional applications and hardware platforms.
We use a generic, extensible scene description language with a compact
binary file format. Our objects use an unambiguous polyhedral representation
based on the halfedge structure, which allows for fast geometric queries.
The SK library provides precisely dimensioned 2D vector drawings
(or sketches), and supports geometrical constraint systems using a
graph-directed algebraic method. This is an important component to one of
our major FreeSG-based projects,
cadtools.
The M library is a general math and linear algebra package.
It features basic linear algebra routines (including optimized versions
for 2/3/4 dimensional vectors and 4x4 matrices), complex-number arithmetic,
quaternions and computational geometry routines such as intersections.
The FreeSG project is sponsored by
Csoft.net:
Security conscious, high-availability Unix hosting on redundant server
arrays.
|
If you have any questions, comments or suggestions, don't hesitate to
contact the author.
You can also obtain support and discuss with the developers via the
#agar channel on
irc.freenode.net.
|
| 03/02/2008 |
Created
freesg-commits
mailing list for automated commit notifications of the FreeSG source
code exlusively.
Note that the previous source-diff list will continue to receive
notices as well. The new list provides a RSS feed.
|
|
"The idea is if you use those two shapes and try to colour the plane with
them so the colours match, then the only way you can do this is to produce
a pattern which never repeats itself."
-- Roger Penrose
|