University of Waterloo
	CS488/688 Fall 2022
	Frequently Asked Questions
        [UW]
	[Math]
	[CS]
        [CGL]
	[Graphics Courses]
	(Term Info 
	 | Index |
	 Overview)
        
        
        
        This FAQ contains answers to questions commonly asked by CS488/688
	students; some are fairly specific to this course, some are related
	to the material.
        You may also want to check out  
	other internet resources
	if your question is not answered here.
        Finally, read and/or post to the 
	piazza newsgroup or
	email cs488@linux.student.cs.uwaterloo.ca 
	if you're still stumped.  Feel free
	to suggest improvements and additions to this FAQ. 
        
        
        
	
 Questions 
	 General 
	    
		- 
		What's the key code to the lab? 
		
		
- 
		How much time to the assignments take?
		
		
- 
		I registered late; how can I get my account activated?
		
		
- 
			How do I view an image? 
                    
	    
    
	 Course Policy 
	    
		
		- 
		    	Can I work at home? 
                    
		
		
- 
			Can I use public domain code? 
                    
		
- 
		I couldn't get my program working, but I would like to
			get credit for my code.  What should I do?
		
            
   
	 Assignment 0 
	    
		- 
			Is this assignment required? 
		    
	    
 
	 Assignment 1: Introduction to OpenGL 
	
	 Assignment 2: Transformations and Coordinate Systems
	 Assignment 3: Hierarchical Transformations
	    
		- 
                    Can I make a puppet with a different joint structure?
	
	    
 
	 Assignment 4: The Raytracer 
	    
		- 
			I have black dots on my image.  What does this mean? 
		    
		
- 
			What are some materials I can use in my ray tracer?
		
- 
			How long does it take to ray trace an image?
		    
	    
   
	 Assignment 5: The Project 
		
		- 
			How do I build an interface for my project? 
                    
		
 
        
        
        
	
 Answers 
	 General 
	    
		- 
		What's the key code to the lab? 
		
		
 -  You need to see the instructor to get the key code.
		
		
 - 
		How much time to the assignments take?
		
		
 -  A long time.
		
		
 - 
		I registered late; how can I get my account activated?
		
		
 -  It should be automatically activated a few days after
			you register; however, if you want it activated
			sooner, send email to accounts@math.
		
 - 
                 How do I view an image? 
		
                
 -  Use the ImageMagick tools; to display an image, the
		       command is ``display''.  There are also other useful
		       tools for image format conversion, gamma-correction, 
		       etc. Another useful image viewer is ``gqview''.
		
	    
 
	 Course Policy 
	    
		
		- 
		Can I work at home? 
		
		
 - Of course, but your final submission should be on the 
		    lab machines.  The instructor might allow a PC or
		    Mac-based project, but check first.  You'll have to
		    bring your machine to the lab for a demonstration.
		    Do not start a Windows or Mac-based project until you
		    have received permission from the instructor!
		
		
 - 
		Can I use public domain code? 
		
		
 - Only for your project, and not for the ``core'' of your project, and you
		    must give credit.  For example, you might want
		    to use a public domain user-interface toolkit,
		    data structures library, or an image file format library.
		    None of these will impact the ``graphics content'' of
		    your assignment.
		    Be careful, though, that
		    you follow any distribution restrictions, and include 
		    the necessary libraries in the same directory as your
		    submission. 
		
 - 
		I couldn't get my program working, but I would like to
			get credit for my code.  What should I do?
		
		
 -  See the course notes on how to request code credit;
			if you do not submit what we ask for, you will
			receive no credit for your code.
            
 
	 Assignment 0 
	    
		- 
		Is this assignment required? 
		
		
 - No.  But it's been our experience that students who don't
		    do this assignment get behind and also mess up assignment 1
		    and its submission royally.  So submit it,
		    It's good for you.
	    
 
	 Assignment 1: Introduction to OpenGL 
	
	 Assignment 2: Transformations and Coordinate Systems
	 Assignment 3: Hierarchical Transformations
	    
		-  
		 Can I make a puppet with a different joint structure?
		
		
 -  Sure; see the gallery for examples of such puppets.
			However, you should make a model with a joint
			structure of similar (or harder) complexity, and
			at least one joint needs to have two rotational
			degrees of freedom.
	
	    
 
	 Assignment 4: The Raytracer 
	    
		- 
		I have black dots on my image.  What does this mean? 
		
		
 -  It probably means that you need to add an epsilon check
			when you cast your reflected ray; without the
			espsilon check, the reflected ray starts 
			inside the object and hits the object
			again before it hits a light.
		
 - 
		What are some materials I can use in my ray tracer?
		
		
 - For the most part, you will have to use trial and error
			to make materials.  However, 
			here are a few that one student has made
			available for general use.
		
 - 
		How long does it take to ray trace an image?
		
		
 - Pixar is the world's premier computer animation company.
			Some of their images take 24 hours to ray trace.
			Your images are not as complex as their's, but
			don't be suprised if it takes 5 to 10 minutes to
			ray trace our sample scenes, and longer for your
			unique scene.
			
			A few suggestions: when initially testing your
			ray tracer, try tracing small images (50x50).
			These will finish much faster than the final
			images you submit.  Also, consider printing
			status output to let you know which scan line
			is currently being rendered.
		
	    
 
	 Assignment 5: The Project 
	    
		- 
		How do I build an interface for my project? 
		
                
 -  You can use raw GTK+, gtkmm, or you can use
			something else.
			GLUT could be used for a project with
		    very simple interface requirements.
	
 
        
        
        
        [UW]
	[Math]
	[CS]
        [CGL]
	[Graphics Courses]
	(Term Info 
	 | Index |
	 Overview)
	
 
	
	Maintainer: 
	cs488@cgl.uwaterloo.ca