Article View: comp.graphics.api.opengl
Article #1[ANNOUNCE] A Generic 3D Graphics Kernel V1.3
From: Ekkehard Beier
Date: Thu, 19 Oct 1995 15:40
Date: Thu, 19 Oct 1995 15:40
101 lines
5811 bytes
5811 bytes
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
derivating the generic one. By aggregation and inheritance the
interfaces and implementation of the generic kernel may be used.
The generic kernel shall offer a huge functionality consisting of
unrelated classes that may adaptively be integrated into a specialized
system without run-time and memory overhead.
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
environment with its components
- basic topological classes w/ covariant extensibility
[1D, 2D, Polyhedron, parametric curve and surface]
- 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
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 realizations until now:
* OpenGL and X11
* OpenGL and Tk 3.6/4.0
* OpenGL and Windows/NT
* 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,
pixmap update event, callbacks, abstract input device featuring
feedback access and hierarchical organization, input server,
timer and file input devices]
- utility classes (identification, file formats, user interface
integration, generic format converters) [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
basing on GX (GX and GT are parts of the distribution)
EGR GF - an object-oriented commercial semantic kernel for European
furniture industry (headers included for demonstration purposes)
EGR MAF - a distributed Multimedia application framework
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: generic@prakinf.tu-ilmenau.de
[send mail with subject "subscribe GENERIC mailing list"
to ekki@prakinf.tu-ilmenau.de ]
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)
and EasternGraphics GmbH, Arnstadt, Germany.
****************************************************************
* Ekkehard 'Ekki' Beier *
* email: ekki@prakinf.tu-ilmenau.de *
* phone: ++49-3677-692775 fax: ++49-3677-694540 *
* talk : ekki@metallica.prakinf.tu-ilmenau.de [141.24.11.247] *
* www : http://metallica.prakinf.tu-ilmenau.de/ekki.html *
* yart/vr: institute@speedy.prakinf.tu-ilmenau.de *
* Technical University of Ilmenau *
* Department of Computer Graphics *
* Am Ehrenberg, PSF 327, D-98684 Ilmenau, GERMANY *
****************************************************************
Technical Details
Message-ID:
<465ri5$gla@prakinf2.PrakInf.TU-Ilmenau.DE>Path:
arc1-ca.pugleaf.net!rz.tu-ilmenau.de!ekkiShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!rz.tu-ilmenau.de!ekki From: ekki@prakinf.tu-ilmenau.de (Ekkehard Beier) Newsgroups: comp.graphics.api.opengl,comp.lang.c++,comp.lang.tcl,comp.graphics.algorithms,comp.graphics.raytracing Subject: [ANNOUNCE] A Generic 3D Graphics Kernel V1.3 Date: 19 Oct 1995 15:40:53 GMT Organization: Technische Universitaet Ilmenau Sender: ekki@rz.tu-ilmenau.de (Ekkehard Beier) Distribution: world Message-ID: <465ri5$gla@prakinf2.PrakInf.TU-Ilmenau.DE> NNTP-Posting-Host: metallica.prakinf.tu-ilmenau.de