General Information about Computer Graphics
Computer operating systems generally include libraries to interact with low level graphics hardware. The advantage here is that the programmer merely instructs the computer to display an appropriately shaped object rather than setting all the millions of switch pathways and memory addresses necessary to manipulate phosphors and control display technology. These libraries are referred to as graphics API's (or Application Programming Interfaces). What are some of these API's? Well a few of the technologies are...
- Quartz - Mac OSX technology used to display mainly 2D graphics, this library is specific to the Macintosh operating system, and included with OSX
- OpenGL - One of the most flexible of graphic API's. Originally developed by Sun microsystems for their silicon graphics systems and specific to their OS's, OpenGL has developed to become part of most systems (Macintosh, Windows, Linux, UNIX, OS2, etc). Most of the code you write in this API is system independent, as long as you do not use system specific calls. Even those can be converted by a small amount of effort to another system.
- OpenGL has many opensource free libraries which extend its functionality and simplify programming tasks, such as handling system specific tasks like creating and destroying windows, interacting with hardware like a keyboard, mouse and so on.
- GLUT - GL utility toolkit. Hardware interfaces, window creation, timer functions, and more. This is a useful library! Get the newest for your particular system by going to the OpenGL webpage
- GLUI - a handy toolkit to create visual interfaces (which are system independent) with very little effort. Create a button, checkbox, slider, editbox, and more with little more than a single line of code each. This opensource software is free and easy to use. It was written by Paul Rademacher. You can download the newest libraries prebuilt for windows from the homepage here, or you can download mine. I have compiled versions for windows, Macintosh Carbon applications, and soon Cocoa.
- GLUI - Windows version
- GLUI - Macintosh Carbon version 2.2
- texture mapping tutorial
- GDI - a windows technology, geared towards simple 2D graphics such as lines, polygons and bitmaps. It is integrated with Microsoft Windows and is similar to Apple's QuickDraw API. It is easy to use and good for simple graphics.
- DirectX - Microsoft developed this as a similar technology to OpenGL - with 3d graphics and special access to hardware acceleration through Microsoft Windows. Many of today's games and research applications developed for Windows-based systems use DirectX. Any code written for DirectX is absolutely Windows only. It is included with all modern versions of Windows operating systems.