Assignment 0 Frequently Asked Questions


Q: When I compile the mondrian example and try to run it, I get a "Bus Error". The same thing happens when I try to run any of the examples from the /usr/class/cs248 directory. What's going on?

A: Your LD_LIBRARY_PATH environment variable is probably set to point at /usr/pubsw/X11R6/lib. Either type unsetenv LD_LIBRARY_PATH in a shell, or (better) edit your ~/.cshrc file and remove the line that sets it.


Q: I'm having trouble logging into the firebird machines; some of them don't accept my username and password, and others let me log in but don't let me access the contents of my home directory. What's going on?

A: We believe that this is a problem with the system clocks on the firebirds being out of whack; this causes trouble with some of the security stuff the Leland folks have set up. Please send e-mail to action@leland telling them the problems you're having; we can't do anything to fix this situation.


Q: I am using the commands gluNewQuadratic() and gluDisk() to make circles. How can I change the location of the center of the circle?

A: You need a couple of commands that we have not yet discussed. But assuming that your viewport is set in the range (0,1) then try the following.

glPushMatrix();
glTranslatef(0.25, 0.1, 0.0);
/* Draw some things */
glPopMatrix();
Also check out glScalef() and glRotatef().


Q: How can I do OpenGL programming on a PC running Windows NT?

A: Here are some tips, courtesy of class-mate Matt Ginzton. Note that you must make sure that any assignments you do on a machine other than an SGI still compile and run correctly on the SGIs in the lab at Sweet Hall. Furthermore, we really don't know very much about OpenGL on PCs and can't offer any support for PC-specific problems. Having said that, here's what Matt had to say:

I wanted to compile and run the mondrian.c sample from class on my WinNT machine and "ported" it -- it didn't take much but I thought others might find this useful.

The only things immediately wrong are that a) the OpenGL implementation on WinNT doesn't come with GLUT, and b) Windows doesn't support the rand48... functions.

GLUT for WinNT or Win95 can be found at: http://www.cs.utah.edu/~narobins/glut.html

To work around the missing rand48 functions, I just added

#define drand48()   (rand() / (double)RAND_MAX)
#define srand48(s)	(srand(s))
#define mrand48()	(GetTickCount())
at the top of the program; I don't know if the rand48 functions are intended to be more random than the ones in the C runtime libs or what, but this seems to work fine.

Oh, and if you're using MSVC, when you create the project/makefile and it asks what type, use "console application" instead of "Windows application" since the entry point is main().


CS248: Introduction to Computer Graphics, Pat Hanrahan, Winter 98