home *** CD-ROM | disk | FTP | other *** search
/ Computer Panoráma / computer_panorama_1997-12-hibas.iso / SHARE / GRAPH / PTC051.ZIP / README.TXT < prev   
Text File  |  1997-09-23  |  5KB  |  150 lines

  1.                             ====================
  2.                             = PTC051 (23/9/97) =
  3.                             ====================
  4.  
  5.  
  6. What is PTC?
  7. ------------
  8.  
  9. PTC is a portable truecolor graphics system designed for use in games, demos
  10. and other realtime graphical applications. PTC is written in C++ with a fast
  11. assembly language core. PTC currently supports DJGPP 2.x and Watcom C++ 10.5,
  12. 10.6 and 11.0
  13.  
  14.  
  15.  
  16. The goal of PTC
  17. ---------------
  18.  
  19. The main goal of PTC is to provide a fast, stable, portable, and easy to use
  20. truecolor system for programmers. When PTC reaches version 1.0 it will be
  21. possible to write portable graphics code that compiles without change under
  22. dos, win32, linux, and xwindows
  23.  
  24.  
  25.  
  26. Pixel format conversion
  27. -----------------------
  28.  
  29. A long standing problem with truecolor graphics has been the lack of any
  30. "standard" pixel formats. Some graphics cards have 15bit modes, others have
  31. 16bit, others still have 24 or 32 bits per pixel. The problem is, you cannot
  32. rely on all cards to have any single one of these formats available! To
  33. complicate things further there are many variations available. For example,
  34. 32bit can be either ARGB8888 (most common), ABGR8888, RGBA8888, BGRA8888 or
  35. even one of the other less common variations.
  36.  
  37. How then can the programmer make sure that their program will be viewable on
  38. all video hardware? Clearly writing tailored rendering routines for each pixel
  39. format is not practical. It is just too much work to provide a version of each
  40. routine for every output format possible. The other side of the spectrum is
  41. generic routines that are flexible enough to work in any pixel format. The
  42. problem with this approach is that generic rendering routines are always going
  43. to be too slow for use in high speed graphics.
  44.  
  45. This is the problem that PTC was created to address. PTC provides a set of
  46. fast pixel format routines that let the programmer work internally in 8bit,
  47. 16bit RGB565 or 32bit ARGB8888 pixel format, and not worry about what output
  48. format the display is in. PTC provides this with pixel format conversion
  49. routines that are so fast there is literally no noticeable overhead when
  50. converting instead of just straight copying the pixel data. For example, PTC
  51. can convert from 32bit ARGB8888 to 16bit RGB565 at a faster rate than a
  52. straight copy 32bit->32bit. Try the example program "profile.cpp" and see
  53. exactly how fast PTC is for yourself.
  54.  
  55.  
  56.  
  57.  
  58. PTC051 Release
  59. --------------
  60.  
  61.  * Added DJGPP 2.x compiler support
  62.  
  63.  * Added simple image loading routines for Targa 8, 16, 24 and 32bit
  64.    uncompressed images.
  65.  
  66.  * Increased stability, several minor bugs were fixed since PTC050
  67.  
  68.  
  69.  
  70. PTC050 Release
  71. --------------
  72.  
  73.  * Completed full converter set 8/16/32bit -> X
  74.  
  75.  * Faster and more efficient library internals (totally redesigned)
  76.  
  77.  * Large improvement in stabilty - PTC050 has been extensively stress tested
  78.  
  79.  * Easy to follow example programs with accompanying tutorials
  80.  
  81.  * New fakemodes (9 in total), GREY8 output and RGB332 output
  82.  
  83.  * Added the abilily to retrieve a list of all available video modes
  84.  
  85.  * Win32 support removed while it is rewritten - DirectX will be back in 060
  86.  
  87.  * DJGPP support removed - will be back in PTC060, perhaps sooner.
  88.  
  89.  
  90.  
  91. Planned features
  92. ----------------
  93.  
  94.  * Increased platform support - dos, win32, linux and xwindows platforms
  95.  
  96.  * New graphics interfaces - VGA, VESA, VBE/AF, DirectX, GDI, X11, GGI
  97.  
  98.  * Greater compiler support - Watcom C++ 10.0, 10.5, 10.6 and 11.0, Visual C++
  99.    4.x and 5.x, Cygnus GNU-Win32, Borland C++, Symantec C++, and GNU G++
  100.  
  101.  * Transparent hardware acceleration for BitBlts, StretchBlts, Clears, and
  102.    pixel format conversion (where available)
  103.  
  104.  * Dithered pixel format conversion blitter option for increased quality when
  105.    blitting down to a lower bit per pixel format
  106.  
  107.  * High quality quantizing routines
  108.  
  109.  * Access to advanced hardware blt operations such as color key, alpha
  110.    blending and more...
  111.  
  112.  * Windowed graphics output (where applicable)
  113.  
  114.  * "Native" surface and interface access. Access the LPDIRECTDRAW interface
  115.    when working in DirectX, or access the HDC when writing to a windowed
  116.    output under win32. Portabilty AND flexibility when required.
  117.  
  118.  * Extensive diagnostics support for the programmer to obtain details about
  119.    the level of hardware acceleration available.
  120.  
  121.  
  122.  
  123. Getting started
  124. ---------------
  125.  
  126. Check out the example programs in the "examples" directory. You can find some
  127. detailed tutorials in the accompanying text files. The random putpixel
  128. example "rand32.cpp" is a great place to get started using PTC.
  129.  
  130.  
  131.  
  132. Legal Information
  133. -----------------
  134.  
  135. Please read the "license.txt" now.
  136.  
  137.  
  138.  
  139.  
  140.  
  141. cheers
  142. --
  143. Gaffer [xtatic]
  144. gaffer@bigfoot.com
  145.  
  146. 6800A007B013CD104F33C0B13FAA40A7E2FB57B1C0AB47E2FC5F4779ECB81210
  147. 99B1FFCD10061E0741BF8001B3638B857F0202C40F92C48A95810203C28A9500
  148. 0503C2C1E802740148AA03C2D1E888853F01E2DAB9400103F94B75D2E5400FC1
  149. 0600018AE0ABABE2F30733FFBEC002B53CF366A5B401CD1674ABB80300CD10C3
  150.