book PHYS 5770 General Relativity Spring 2001: Texts

 5770 Home PHYS 5770 Spring 2001 Homepage

concept | syllabus | texts | BHFS | problems | gallery | emails


Computer Graphics

The world of computer graphics is developing at a bewildering pace.

Whatever other language or library you may use, underneath will be OpenGL, Silicon Graphics' Open Graphics Library, which has become the de facto standard for cross-platform computer graphics. OpenGL provides 3-dimensional texturing, rendering, lighting (but not ray-tracing), fogging, and hidden object removal.

Despite its power, OpenGL is a fairly low level library, offering no windowing system, no user interface, and no built-in widgets such as buttons and menus. There are now many graphic libraries that are built on top of OpenGL, and that offer higher level capabilities missing in OpenGL. Undoubtedly you will want to use some of these libraries.

Since you will want your interactive animations to run fast, you may find that a useful layer on top of OpenGL is the Simple DirectMedia Layer (SDL), which offers fast access to the graphics framebuffer, audio device, and CDROM. SDL has the merits of being free, fast, documented, and cross-platform. There is also a nice set of SDL OpenGL tutorials.

Another possibility is to use Sun's Java 3D, an extension of their Java 2 SDK (Software Development Kit). Java 3D is built on top of OpenGL. The advantage of Java is that it offers a vast number of high level features, and the automatic memory management is what every programmer dreams of.

My own experience with Java 1.1 in 1998 (making the BHFS whose screenshot appears on the course homepage) was somewhat disappointing: the language was slow and buggy, and it proved nigh impossible to make animations run smoothly. One would hope that many of those problems have been solved or alleviated in the last two years.

 5770 Home PHYS 5770 Spring 2001 Homepage

concept | syllabus | texts | BHFS | problems | gallery | emails

Updated 5 Feb 2001