Hangar.La tienda de software del Amiga

libTinyGL 0.6

TinyGL

Short:        TinyGL
Author:       Norbert Kett <anchor@rocketmail.com>
Uploader:     Norbert Kett <anchor rocketmail com>
Type:         dev/lib
Version:      0.6
Architecture: m68k-amigaos


DESCRIPTION

TinyGL 0.4 (c) 1997-2002 Fabrice Bellard.
TinySDGL 0.5, 2005 a port to libSDL by Gerald Franz (gfz@o2online.de).
TinyGL 0.6, 2017 Norbert Kett (anchor@rocketmail.com)

TinyGL is intended to be a very small implementation of a subset of
OpenGL for embedded systems or games. It is a software only
implementation. Only the main OpenGL calls are implemented. All the
calls I considered not important are simply *not implemented*.

The main strength of TinyGL is that it is fast and simple because it
has not to be exactly compatible with OpenGL. In particular, the
texture mapping and the geometrical transformations are very fast.

The main features of TinyGL are:

- Header compatible with OpenGL (gl.h is simply copied from Mesa 12.0)

- Zlib-like licence for easy integration in commercial designs (read
the licence file).

- SDL based platform independent examples that show TinyGL usage.
  (http://www.libsdl,org)

- OpenGL like lighting. (see tgl_light.c for more info)

- 16 bit Z buffer. 16/24/32 bit RGB rendering. High speed dithering to
paletted 8 bits if needed. High speed conversion to 24 bit packed
pixel or 32 bit RGBA if needed.

- Fast Gouraud shading optimized for 16 bit RGB.

- Fast texture mapping capabilities, with perspective correction and
texture objects.

- 32 bit float only arithmetic.

- Very small size. The file tgl_zbuffer.h can be used to remove
  some unused features from TinyGL.

- C sources for GCC on 32/64 bit architectures. It has been tested
successfully on Windows and AmigaOS3.1.

- GLQuake is working fine now with TinyGL.

EXAMPLES

I took three simple examples from the Mesa package to test the main
functions of TinyGL. You can link them to either TinyGL, Mesa or any
other OpenGL implementation. If you want to run the precompiled
examples, please make sure the SDL.library is installed. (SDL uses
RTG and AHI)

NOTES

- some pixel format combinations seems not to work correctly.

- Lightening is not produces correct colors. I replaced it with a fake
but very quick light calculation until its not fixed.

- No user clipping planes are supported.

- No color index mode (no longer useful, but some related code are kept)

- The mipmapping is not implemented.

- The perspecture correction in the mapping code does not use W but
1/Z. In any 'normal scene' it should work.

WHY?

Fabrice Bellard:
TinyGL was developed as a student project for a Virtual Reality
network system called VReng (see the VReng home page at
http://www-inf.enst.fr/vreng).

At that time (January 1997), my initial project was to write my own 3D
rasterizer based on some old sources I wrote. But I realized that it
would be better to use OpenGL to work on any platform. My problem was
that I wanted to use texture mapping which was (and is still) quite
slower on many software OpenGL implementation. I could have modified
Mesa to suit my needs, but I really wanted to use my old sources for
that project. 

I finally decided to use the same syntax as OpenGL but with my own
libraries, thinking that later it could ease the porting of VReng to
OpenGL.

Now VReng is at last compatible with OpenGL, and I managed to patch
TinyGL so that VReng can still work with it without any modifications.

Since TinyGL may be useful for some people, especially in the world of
embedded designs, I decided to release it 'as is', otherwise, it would
have been lost on my hard disk !

Norbert Kett:
In 2017 I found this lib, and started to work with. I strongly reorganized
the code, fixed many issues, removed some unused functions, and added many
new features. Now it works with GLQuake. The pixel blending is still missing.
My goal is to make a nice and fast OpenGL lib for Vampire cards :)

------------------------------------------------------------------------------
* OpenGL(R) is a registered trademark of Silicon Graphics, Inc.
------------------------------------------------------------------------------

Gratis

Web del proyecto ↗

Descargar 371 KB

Desde el Amiga: abre Hangar y busca libTinyGL.

AutorNorbert Kett <anchor@rocketmail.com>
Categoríadev/lib
Tamaño371 KB
Fecha2025-06-23
Param68k-amigaos
OrigenAminet