TinyGL : a Small, Free and Fast Subset of OpenGL*

News

Download

Get it: TinyGL-0.4.1.tar.gz

Introduction

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.

The main strength of TinyGL is that it is fast and simple because it does not have to be completely compatible with OpenGL. In particular, the texture mapping and the geometrical transformations are very fast. TinyGL is a lot faster than Mesa or the software Solaris OpenWin OpenGL implementation for the VReng Virtual Reality engine for example.

The main features of TinyGL are:

Architecture

TinyGL is made up four main modules: To use TinyGL in an embedded system, you should look at the GLX layer and modify it to suit your need. Adding a more user friendly developper layer (as in Mesa) may be useful.

Why ?

TinyGL was developped as a student project for a Virtual Reality network system called VReng (see the VReng project).

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 !


anybrowser www.linux.org www.opengl.org

* OpenGL(R) is a registered trademark of Silicon Graphics, Inc. 
Fabrice Bellard - https://bellard.org/
last update: Mar 5, 2022