Instructional Lab
The instructional lab machines are in Hill 248, 250 and 252. For this class, we'll be using the Linux workstations in Hill 252 and perhaps also 248 and 250. (For now, avoid 248 as those machines are still being upgraded.)
If you are not familiar with Linux, here is a nice tutorial that covers the basics.
The 3D graphics hardware in this machines allows OpenGL programs use this hardware to run nice and fast. We'll also be using some of the programmable features of the graphics hardware later in the semester, in which case you must use the machines in Hill 252 and 248.
To activate or create a cereal account, follow the instructions on:
https://www.cs.rutgers.edu/resources/systems/ilab/newaccount
to activate your account.
These machines were upgraded a while ago, and if you haven't logged in
since then, the configurations for windowing systems are incompatible.
Typically, it will appear as though when you log in, you will be
immediately logged out, or perhaps it will lock up when you log in.
The solution is to log in via the text console or
remotely via ssh and rename (or remove) the following directories:
Use your Rutgers ID to access the rooms in that hallway. Supposedly, the exterior door to Hill by the courtyard (under the 2nd floor bridge) is always open. Let me know if you find otherwise (even if sporadic).
These labs are also used by other students; typically Computer Science graduate students. Some undergradate courses use these labs as well. (I will be posting the schedule here, shortly.)
If you go over your disk quota on cereal (use the "quota" command to check), just send mail to help@cereal. Be sure to remind them you are taking 428. Note that if you are over your limit, you will need to do a "failsafe" login to use the machine on console (look for this option on the login window).
Software
Note: You must be logged in "on console" (sitting in front of the actual machine) to display OpenGL windows. You won't be able to display these windows remotely from X terminals (you can of course, edit and compile remotely). So your only choices for running the assignment are going to the lab, or getting this set up on your own machine (see below).
The software for the projects in this class is on the cereal machines. Note that the software has not been installed on the machine called cereal. We will be using Java 1.5 for our assignments; this version of Java supports OpenGL well (earlier ones do not, and can exhibit strange behavior).
Setting up
You will need to set up your account a little bit. In short, all you need to do is add the following line to your .cshrc file (or create one if you don't have one):
source ~decarlo/428/setup(You will also need to type this line in your shell for just the first time you do this---for each window separately; next time you log in, it will be done automatically, since you added it to your .cshrc.)
(We might change the script during the semester, so please source the original script instead of copying it.)
You can tell when you have this set up correctly; when you type "java -version" it should tell you "1.5".
Compiling and Running
Once you set up the above, compiling and running an OpenGL Java program is the same as any other Java program (where you use "javac" to compile, and "java" to run). You'll be given a makefile for each assignment, so you'll just need to type "make" to compile your assignment.
Sample program
There is a sample program in ~decarlo/428/example on the cereal machines. To compile and run it, just copy all of the files in that directory to a directory of your own, and then type "make". This compiles it (by running javac). Then you run it by typing: "java Example". A window should appear which contains a spinning white rectangle.
It should be pretty self-explanatory; just follow this link. You can also read the documentation on how to login and how to use the system.
To hand in, you first need to know which files you should be handing in. The web page for the assignment will be specific about this. Let's say for the following examples that you need to hand in the file stuff.java. From the web interface, select the assignment you are handing in. Note that here, you can only hand in a single file. In this case, you simply specify the file path to stuff.java using the Browse button.
If the assignment calls for you to hand in multiple files, you need to create a TAR or ZIP file that contains all of your project files. To create a TAR file (on the linux machines), which contains the files one.java and two.java, you do the following:
tar cf handin.tar one.java two.java
and then you simply select the file handin.tar in your browser. Be sure to check on the status of your hand-in, as described here.
If you have any problems with the hand-in process, please email us. If you believe there is a problem with the handin program, copy this mail to handin@cs.
See Xiaofeng's Eclipse setup page for details.
See Xiaofeng's JOGL setup page for details.
We're assuming you're already familiar with developing in Java on your home machine; you're on your own if you try this option.