OpenPTC
A standard for fast portable graphics

OpenPTC is a third-generation standard for cross platform low-level graphics access. A lot of design experience has gone into providing one of the cleanest interfaces available for this purpose. After three years of development, public discussion and review, the final standard was released on March 1st 1999. OpenPTC 1.0.

In a nutshell, OpenPTC provides programmers with an array of pixels to draw to and the means to quickly output these pixels to the display device. It also provides some other useful features such as basic keyboard input and a high resolution timer.

If all you want is access to an array of pixels to draw to then OpenPTC is for you. It only takes a few simple lines of code to open a display mode, create a pixel surface, copy it to the display and page flip, compared with the several hundreds or thousands of lines of code required to do the same when working directly with the native platform specific graphics APIs. Best of all, when you code using OpenPTC your graphics code can be ported to other platforms with little or no change.

OpenPTC is designed for high speed graphics applications such as games and demos, and will take advantage of whatever hardware acceleration is available on the target platform for blitting and clearing operations. However, it is important to note that OpenPTC does not provide access to advanced blitting hardware features such as alpha blending or chroma-keying, nor does it provide access to 3d hardware acceleration features such as line, triangle and quad primitive drawing. If this is what you are looking for, I suggest you take a look at OpenGL or DirectX instead.

Implementations of OpenPTC are available for the C, C++ and Java languages on most popular compilers and platforms including DOS, Windows, X11, Linux, and Java. All implementations are freely available under the terms of the GNU Library General Public License. Essentially, this means that applications (even commercial ones), may link to the OpenPTC libraries free of charge so long as any improvements made to the library are submitted back to the OpenPTC community.


Stable Distributions

Development Implementations

Future Implementations


Documentation


Discussion groups on news.scene.org


Links of interest

Essential links

Graphics tutorials

Software that uses OpenPTC


Contact ptc@gaffer.org with your comments and suggestions.