Date: Wed, 18 Oct 1995 18:19:01 +0100
From: [email protected]
Sender: [email protected]
Subject: [ANNOUNCE] A Generic 3D Graphics Kernel V1.3
Cc: [email protected]
Current graphic systems (traditional or object-oriented) offer a
certain amount of functionality but also prescribe a lot of impli-
cations, constraints and may not fit a given task. The result is
that in many cases people start from scratch, implement the basic
graphics stuff again and again.
The objective of the announced project is to develop a generic 3D
graphics kernel that may be used to implement an own system by=20
derivating the generic one. By aggregation and inheritance the=20
interfaces and implementation of the generic kernel may be used.=20
The generic kernel shall offer a huge functionality consisting of=20
unrelated classes that may adaptively be integrated into a =
specialized
system without run-time and memory overhsad.
The principal functionality of the system will be [is]:
- basic parametric aggregates and related operators
[parametric fix-sized vector, dl list, dynamic list, for-each =
iterators]
- elementary graphical data types: vector (2D, 3D, generic), matrices,
colors, vertex, etc. and related operators
[2D, 3D, nD Vector, 4x4, nxn Matrix, "Phong" Surface, RGB color, =
different vertex types]
- essential scene collections (DAG, tree, binary tree, linear list)
- basic graphical design patterns such as PHIGS' CSS, or a CGRM=20
environment with its components
- basic topological classes w/ covariant extensibility=20
[1D, 2D, Polyhedron, parametric curve and surface]=20
- abstract and concrete rendering classes (rendering interfaces,
camera models, specific rendering primitives, i.e., Quadric for
ray-tracing)
[ray-tracing and shading interface, perspectivic and orthographic
camera model, shader, ray-tracer, quadric, polygon, shading and=20
ray-tracing iterators to be used for cameras and composites, to
be platform-independent, the specific shading stuff is encapsulated
in a "device driver" with following rsalizations until now:
* OpenGL and X11
* OpenGL and Tk 3.6/4.0
* OpenGL and Windows/NT=20
* OpenGL and Windows/NT and Tk3.6
* OpenGL and Windows/NT and MFC 2.0
NOTE: OpenGL compatible public domain library Mesa has been
tested successfully as replacement for OpenGL]
- pixel-based output devices [Pixmap, ImageFile]
- rendering-independent mathematical stuff, e.g., Splines and free
form surfaces [solid textures, bump mappings, interpolated spline =
curves and surfaces]
- basic interaction classes (abstract and concrete, e.g., low-level
event types) [2D mouse and spaceball events, socket encapsulation,=20
pixmap update event, callbacks, abstract input device featuring=20
feedback access and hierarchical organization, input server,
timer and file input devices] =09
- utility classes (identification, file formats, user interface=20
integration) [string, SGI-, Targa-, RGBA-file format, Tcl language
binding (optional), interpretative class system, generic DeltaBlue
constraint solver]
For papers discussing the need for a generic graphics kernel see
ftp://metallica.prakinf.tu-ilmenau.de/pub/PROJECTS/GENERIC/dublin.ps.gz
ftp://metallica.prakinf.tu-ilmenau.de/pub/PROJECTS/GENERIC/springer95.ps.gz
The generic kernel itself is available by
ftp://metallica.prakinf.tu-ilmenau.de/pub/PROJECTS/GENERIC/generic1.3.tar.gz
The generic kernel is provided with all sources and may be used for
both commercial and non-commercial projects without restrictions.
Comments, discussion and extensions are greatly welcome.
Derived kernels until now:
GX - an extended ray-tracing kernel by Nguyen Duc Cuong
GT - an NFF compatible ray-tracing kernel for test purposes=20
basing on GX (GX and GT are parts of the distribution)=20
EGR GF - an object-oriented commercial semantic kernel for European =
=20
furniture industry (hsaders included for demonstration =
purposes)
EGR MAF - a distributed Multimedia application framework=20
EGR TIGER - an interpretative OpenGL environment including =
Motif-like GUI
functionality and hi-level OpenGL-based kernel for education
Kernels in work:
GY - reimplementation of former 3D graphics kernel YART
PRIMA - sample implementation of ISO PREMO
There is a mailing List: [email protected]=20
[send mail with subject gsubscribe GENERIC mailing list"
to [email protected] ]
Ekki.
Special thx goes to Frank Wicht (TU Ilmenau, Germany), Nguyen Duc
Cuong (TU Dresden, Germany), Heiko Fischer (EasternGraphics, Ger-
many), Pavol Michalik (TU Ilmenau, Germany)=20
and EasternGraphics GmbH, Arnstadt, Germany.
****************************************************************
* Ekkehard 'Ekki' Beier *
* email: [email protected] *
* phone: ++49-3677-692775 fax: ++49-3677-694540 *
* talk : [email protected] [141.24.11.247] *
* www : http://metallica.prakinf.tu-ilmenau.de/ekki.html *
* yart/vr: [email protected] *
* Technical University of Ilmenau *
* Department of Computer Graphics *
* Am Emesnberg, PSF 327, D-98684 Ilmenau, GERMANY *
****************************************************************
------------- End Forwarded Message -------------