summaryrefslogtreecommitdiff
path: root/html/en/toolkits.html
blob: d80c7af875630a78da749f0b4f586540e5526832 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<!doctype HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>

<head>
<meta http-equiv="Content-Language" content="en-us">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<title>Other Toolkits</title>
<link rel="stylesheet" type="text/css" href="../style.css">
</head>

<body>

<h1>Comparing CD with Other Graphics Libraries</h1>

  <p>There are other graphics libraries, with some portability among operational 
  systems, available on the Internet. Among them we can highlight:</p>
  <ul>
    <li><strong>GKS</strong> - Very complete 2D and 3D graphics library, but 
    with limited image resources. It is an ISO standard, and it implementations 
    are usually commercial. Tecgraf has an implementation of GKS which is no 
    longer used, being replaced by CD. <a href="http://www.bsi.org.uk/sc24/">
    http://www.bsi.org.uk/sc24/</a>.<br>
    --------------------</li>
    <li><strong>Mesa</strong> - 3D graphics library with support to the OpenGL 
    standard. Implemented in C. Aimed only at display, with attribute functions 
    for illumination and shading features.
    <a href="http://www.mesa3d.org/" target="_blank">http://www.mesa3d.org/</a>.</li>
    <li><strong>OpenGL</strong> - 3D graphics library with some 2D support. 
    Aimed only at display. A window CD canvas can coexist with an OpenGL canvas 
    at the same time. Note: When Double Buffer is used, do not forget to swap 
    buffer before redrawing with the CD library. <a href="http://www.opengl.org">
    http://www.opengl.org</a>.<br>
    --------------------</li>
    <li><strong>GGI</strong> - 2D graphics library aimed only at display.
    <a href="http://www.ggi-project.org/">http://www.ggi-project.org/</a>.</li>
    <li><strong>GD</strong> - Library only for drawing on images, saves PNG 
    files. Implemented in C. <a href="http://www.boutell.com/gd/">
    http://www.boutell.com/gd/</a>.</li>
    <li><strong>GDK</strong> - Used by the GTK user interface toolkit. 
    Implemented in C. Aimed only at display, and contains several functions for 
    managing windows, keyboard and mouse. <a href="http://www.gtk.org/">
    http://www.gtk.org/</a>.</li>
    <li><b>CAIRO</b> - A vector graphics library designed to provide 
    high-quality display and print output. Very interesting, lots of functions, 
    usually render in bitmaps on native systems. Display hardware acceleration is used 
    almost only to display the bitmaps. Although it can reach high quality 
    rendering.
    <a href="http://cairographics.org/">http://cairographics.org/</a>.</li>
    <li><strong>AGG</strong> - The AGG Project (Anti-Grain Geometry). High 
    Fidelity 2D Graphics A High Quality Rendering Engine for C++. Renders to a 
    bitmap then transfer it to the native system, just like Cairo. GNU GPL 
    license.&nbsp; <a href="http://www.antigrain.com/">http://www.antigrain.com/</a> </li>
  </ul>
  <p>Most of them are aimed only at one type of driver, usually display or 
  images, and sometimes user interface routines were also included. Others add 
  3D drawing routines, as well as scene illumination routines. All this 
  unnecessarily increases their complexity and does not make them more complete 
  as 2D graphic libraries.</p>
  <p>There are also several Graphics User Interface libraries that contain 
  drawing functions, like Qt and wxWidgets. </p>
  <p>As to performance, CD is as good as any other, in some cases having a 
  better performance. Thus, the CD library offers unique features and quality as 
  a portable 2D graphic library.</p>


</body>

</html>