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>
<h2>Comparing CD with Other Graphics Libraries</h2>
<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. <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>
|