|
FreeSG ("Free" as in "Free software" and
"Free of bloat")
is an open-source, cross-platform toolkit integrating optimized math &
computational geometry methods, visualization tools and a 2D/3D graphics
rendering system.
FreeSG depends on the
Agar
library, and it released under the same
revised BSD license.
FreeSG and its related projects are sponsored by
Csoft.net:
Security conscious, high-availability Unix hosting on redundant server
arrays.
FreeSG is currently being used by our
circuit simulator,
notably for its linear algebra functions and visualization widgets.
The
sketch-based CAD modeler
we are currently developing relies on the SG library for 3D
visalization of models and SK for 2D sketching. The
geometric constraint solving built into SG enables complex 3D
assemblies, and a two-dimensional version of the algorithm enables
efficient sketching and parametric features.
With the SG ("scene graph") 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 and a compact storage format. Objects use an
unambiguous polyhedral representation based on the half-edge structure,
which allows for fast geometric queries. A variety of scene-partitioning
techniques are available.
The SK library provides precisely dimensioned 2D vector drawings
(or sketches), and supports geometrical constraint systems using a
graph-directed algebraic method. This is a central component of
cadtools, our parametric
solid CAD modeler in early development.
The M library is a general-purpose math library which can be compiled to use
different precisions and architecture extensions.
Notably, it implements basic linear algebra, with architecture-dependent
optimizations for operations in R2, R3 and
R4, as well as sparse-matrix optimizations for operations in
Rn.
In addition to linear algebra, M also includes routines for portable
complex-number arithmetic / quaternions, and computational geometry.
Some useful GUI widgets (such as a plotter) are also implemented.
M can be compiled to select between different architecture optimizations
on runtime, but it is also possible to explicitely compile them inline.
|
Si vous avez des questions, commentaires ou suggestions à propos de
FreeSG, n'hésitez pas à contacter l'auteur.
Vous pouvez aussi obtenir de l'assistance ou discutter avec les
développeurs sur le canal
#agar sur
irc.freenode.net
|
| 03/02/2008 |
La liste
freesg-commits
reçoit désormais des notifications automatiques pour les changements
sur le code source de FreeSG exclusivement.
L'ancienne liste source-diff continuera quand même de fonctionner.
La nouvelle liste offre un accès RSS.
|
|
"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
|