==================== = PTC051 (23/9/97) = ==================== What is PTC? ------------ PTC is a portable truecolor graphics system designed for use in games, demos and other realtime graphical applications. PTC is written in C++ with a fast assembly language core. PTC currently supports DJGPP 2.x and Watcom C++ 10.5, 10.6 and 11.0 The goal of PTC --------------- The main goal of PTC is to provide a fast, stable, portable, and easy to use truecolor system for programmers. When PTC reaches version 1.0 it will be possible to write portable graphics code that compiles without change under dos, win32, linux, and xwindows Pixel format conversion ----------------------- A long standing problem with truecolor graphics has been the lack of any "standard" pixel formats. Some graphics cards have 15bit modes, others have 16bit, others still have 24 or 32 bits per pixel. The problem is, you cannot rely on all cards to have any single one of these formats available! To complicate things further there are many variations available. For example, 32bit can be either ARGB8888 (most common), ABGR8888, RGBA8888, BGRA8888 or even one of the other less common variations. How then can the programmer make sure that their program will be viewable on all video hardware? Clearly writing tailored rendering routines for each pixel format is not practical. It is just too much work to provide a version of each routine for every output format possible. The other side of the spectrum is generic routines that are flexible enough to work in any pixel format. The problem with this approach is that generic rendering routines are always going to be too slow for use in high speed graphics. This is the problem that PTC was created to address. PTC provides a set of fast pixel format routines that let the programmer work internally in 8bit, 16bit RGB565 or 32bit ARGB8888 pixel format, and not worry about what output format the display is in. PTC provides this with pixel format conversion routines that are so fast there is literally no noticeable overhead when converting instead of just straight copying the pixel data. For example, PTC can convert from 32bit ARGB8888 to 16bit RGB565 at a faster rate than a straight copy 32bit->32bit. Try the example program "profile.cpp" and see exactly how fast PTC is for yourself. PTC051 Release -------------- * Added DJGPP 2.x compiler support * Added simple image loading routines for Targa 8, 16, 24 and 32bit uncompressed images. * Increased stability, several minor bugs were fixed since PTC050 PTC050 Release -------------- * Completed full converter set 8/16/32bit -> X * Faster and more efficient library internals (totally redesigned) * Large improvement in stabilty - PTC050 has been extensively stress tested * Easy to follow example programs with accompanying tutorials * New fakemodes (9 in total), GREY8 output and RGB332 output * Added the abilily to retrieve a list of all available video modes * Win32 support removed while it is rewritten - DirectX will be back in 060 * DJGPP support removed - will be back in PTC060, perhaps sooner. Planned features ---------------- * Increased platform support - dos, win32, linux and xwindows platforms * New graphics interfaces - VGA, VESA, VBE/AF, DirectX, GDI, X11, GGI * Greater compiler support - Watcom C++ 10.0, 10.5, 10.6 and 11.0, Visual C++ 4.x and 5.x, Cygnus GNU-Win32, Borland C++, Symantec C++, and GNU G++ * Transparent hardware acceleration for BitBlts, StretchBlts, Clears, and pixel format conversion (where available) * Dithered pixel format conversion blitter option for increased quality when blitting down to a lower bit per pixel format * High quality quantizing routines * Access to advanced hardware blt operations such as color key, alpha blending and more... * Windowed graphics output (where applicable) * "Native" surface and interface access. Access the LPDIRECTDRAW interface when working in DirectX, or access the HDC when writing to a windowed output under win32. Portabilty AND flexibility when required. * Extensive diagnostics support for the programmer to obtain details about the level of hardware acceleration available. Getting started --------------- Check out the example programs in the "examples" directory. You can find some detailed tutorials in the accompanying text files. The random putpixel example "rand32.cpp" is a great place to get started using PTC. Legal Information ----------------- Please read the "license.txt" now. cheers -- Gaffer [xtatic] gaffer@bigfoot.com 6800A007B013CD104F33C0B13FAA40A7E2FB57B1C0AB47E2FC5F4779ECB81210 99B1FFCD10061E0741BF8001B3638B857F0202C40F92C48A95810203C28A9500 0503C2C1E802740148AA03C2D1E888853F01E2DAB9400103F94B75D2E5400FC1 0600018AE0ABABE2F30733FFBEC002B53CF366A5B401CD1674ABB80300CD10C3