PTC is dead, long live Pixel Toaster!

2004 December 26
by Glenn Fiedler

Back in 1995 when i started work on the graphics library which would become PTC, you couldnt rely on a pixel format being supported on all cards. Some cards were only 15 or 16bit hicolor, others did truecolor, but only used 24bits, others had 32bits per pixel. Some displays had pixels in RGB order, while others used BGR order. It was a complete mess.

PTC served a real need by providing fast pixel format conversion from 32bit color to the display format on the fly so that programmers could work with a single pixel format. The original DOS PTC even emulated truecolor with “fakemodes” on VGA cards when no truecolor support was available.

Nowadays just about every graphics card supports 32bit ARGB8888 color, so the pixel format converters in PTC are not often used. 3D hardware has taken off, and software rendering is considered an archaic past-time by most. After all, why would you want to render in software in the days of vertex and pixel shaders and rapidly advancing hardware?

Ironically, it is these same advances in hardware that are fuelling 3D rendering have opened up a new frontier for software rendering. Floating point color.

Now at the end of 2004, we find ourselves in a world where the absolute latest 3D hardware supports some form of floating point color, but it it could be either 16, 24 or 32bits wide. The vast majority of graphics cards out there right now simply dont support floating point color at all.

Sound familiar? Exactly 10 years after PTC development started, I present you with a new graphics libarary called “Pixel Toaster”. This new library takes the best elements of PTC, OpenPTC and TinyPTC to create a C++ API that is both simple and powerful. It supports both floating point color and 32bit truecolor as a source format at your choice, provides basic keyboard and mouse input, and a high resolution timer.

The website and forums for Pixel Toaster are still being developed, but a preview version for Windows is available now from www.pixeltoaster.com

8 Responses leave one →
  1. 2006 January 16
    Mickey permalink

    The site pixeltoaster is down… will it stay like this or what is going on?

  2. 2006 January 16

    This is temporary only. I’ll have it fixed ASAP

  3. 2006 January 17
    Olivier permalink

    I have to run an old programme of physic simulation. For it to run, i need the PTC library. Where in the hell can i get it??? I’ve been searching for days now.
    Thank you!

    And by the way, do you know P3T and where i can get it ?

  4. 2006 January 17

    i wrote PTC, OpenPTC and TinyPTC. you can still get them all at http://www.sourceforge.net (search for PTC)

    cheers

  5. 2006 January 20
    Jon permalink

    You say it has a C++ API, are there C bindings as well? My architecture does not have a working C++ standard library, nor do I feel like porting one.

  6. 2006 January 21

    sorry, no c bindings at this time — it is a library written in c++

    if you prefer c, then use TinyPTC instead. you can get it from sourceforge.

  7. 2006 February 2

    Can PixelToaser be used to create tiny programs like TinyPTC? I really wouldn’t want to be using a 20k-DLL for a 64k intro…

  8. 2006 February 2

    nope. keep using TinyPTC for 64k intros – PixelToaster is not meant for that

Leave a Reply

Note: You can use basic XHTML in your comments. Your email address will never be published.

Subscribe to this comment feed via RSS