The following 317 words could not be found in the dictionary of 615 words (including 615 LocalSpellingWords) and are highlighted below:

4x4   about   above   accomplish   accomplished   add   all   alternative   an   and   argument   arguments   ascender   Assignment   assignment   Assume   at   back   baseline   be   below   between   bottom   buffered   but   by   By   call   calls   Can   can   cannot   character   characters   Child   child   class   classes   clear   clock   colored   compare   complete   completing   computed   contain   contained   containing   Control   control   coordinate   coordinates   corner   correct   correspond   correspondence   creates   decender   descender   Describe   designates   determine   determined   different   dip   directly   discussed   disk   Display   display   does   dots   double   dpi   drawings   during   Eg   ending   established   example   expressed   Face   flat   flexibility   Font   font   fonts   footed   For   for   form   fourth   framebuffer   from   functions   Get   gives   gl   glut   graph   graphical   had   handler   height   heights   horizontal   How   how   ie   if   image   implementation   in   In   inch   inches   information   Init   initialization   inspecting   instances   integer   its   keyboard   Keyboard   know   Last   last   left   let   letters   lib   like   line   ll   many   mapping   matrix   Matrix   matter   meaning   means   measured   method   might   mode   Mode   modify   most   mouse   Mult   multiple   must   name   need   needs   Node   node   nodes   Nodes   Note   nothing   notice   number   Object   object   objects   occur   of   off   often   on   one   One   only   Open   operation   or   order   orderings   origin   Ortho   other   otherwise   parameter   parameters   part   pass   passed   Pat   per   perform   performed   performs   permissable   pixel   Pixels   pixels   Place   placed   plane   point   points   positive   prevent   produce   program   programmer   Question   reach   reaches   read   Read   reads   related   represent   representation   required   Reshape   resides   resize   resolution   rest   result   return   review   right   rotate   Rotate   same   scale   Scale   scene   Scene   screen   second   seem   separate   set   Set   several   shape   Shape   shapes   should   single   size   Size   sizes   some   span   specifies   specify   starting   startx   starty   such   system   takes   tallest   terminology   Text   that   The   the   then   There   there   these   they   third   This   this   times   to   To   Transform   transform   transformation   transformations   transforms   Translate   translate   two   type   understand   units   up   upper   use   useful   values   variables   various   vertices   via   Viewport   want   way   we   What   what   when   whether   which   while   Why   why   width   will   window   wise   with   within   would   You   you  

    BendeJesus

Assignment 1

  • Question 1: In a GLUT program, how is control passed back to the programmer? How is this set up during initialization? Control is passed back to the programmer in the form of the keyboard and mouse. This is accomplished with the glutKeyboard and glutReshape functions. Question 2: What does the parameter to glutInitDisplayMode() specify? The parameter to glutInitDisplayMode() specifies the display mode, whether the display is colored, single, or double-buffered Question 3: What do the calls to glOrtho() and glViewport() accomplish?
    • glOrtho() creates the coordinate system for OpenGL drawings glViewport() designates the window size in which the coordinate system resides

Assignment 2

In order to complete this assignment you'll have to understand the STTransform class. Describe libST's representation of a transform and compare it's flexibility to an alternative representation, such as the 4x4 matrix representation Pat discussed in class. For example, can you name a type of transformation that STTransform cannot represent. Describe the order that the STSceneNode class performs the various rotate/scale/translate transforms when drawing the scene (ie. what is the first operation performed on the shapes vertices? what is the second? third?). Are there other orderings that would produce the same result? STTransform gives variables for the separate functions that would otherwise be accomplished with glScale, glRotate, and glTranslate. STTransform cannot perform matrix transformations in the way glMultMatrix can. The order in which STSceneNode performs its transformations is translate, then rotate, then scale. The order in which these occur should not matter.

Note that graphical objects, such as instances of the STImage and STShape class are not scene graph nodes (but they can be contained within STSceneNodes). By inspecting the implementation of STSceneNode, determine if it permissable to add the same object to the scene multiple times (Eg. Can multiple scene nodes contain the same shape object)? Why would one want to do this? There is nothing to prevent multiple scene nodes from containing the same object. One might add the same object multiple times if there is only one object image and it needs to perform several different functions.

Assume you had an STSceneNode n, and a STShape s. How would you add this shape as the first child node of n? How would you add it as the last child node of n? n->PlaceObject(s,NULL) n->PlaceObject(s,s.GetLastChild())

The STImage::read() method doesn't read data off disk, it reads it from the OpenGL framebuffer. The method takes 4 integer arguments. Describe the meaning of these arguments. You will call this method as part of the required code for this assignment. How are the values you pass to STImage::read() determined in clock.cpp? startx and starty are the first two parameters of glReadPixels(), which would seem to set the origin point of a coordinate plane. The third and fourth arguments, width and height, are the positive x and y coordinates that correspond to the image that will be read from the framebuffer.

Assignment 3

First let's review some font terminology. What is the baseline of a font? How are the ascender and decender heights related to the baseline?

The font baseline is the horizontal line on which all characters are placed. The bottom of flat footed characters will rest on this line, while some will reach below this line, like the character 'g'. The ascender height is the number of pixels the tallest letters reaches above the baseline. The descender height is the number of pixels below the baseline characters dip.

Font sizes are often expressed in points (the argument to STFontFace::SetSize() is in units of points). One point is 1/72 of an inch. To display a font on screen at the correct size, the size of the font in pixels must be computed, which means we need to know the size of a pixel in inches. How many screen pixels would a 14 point font span if the screen has a resolution of 300 DPI (300 dots (pixels) per inch)? (notice that the STText and STFontFace classes return most information about fonts in units of pixels)

58 and 1/3 screen pixels (14 point font * (300 screen dpi / 1/72 points/inch)

Describe the correspondence between window coordinates and pixels that is established via the use of glViewport and glOrtho in the GLUT resize handler. After completing the assignment, it should be clear why it is wise to not modify this mapping in this assignment.

The coordinate system of the window is measured in pixels by pixels, starting at 0,0 in the bottom left corner, and ending in the window width and height in the upper right. This is useful in that the width and height of characters correspond directly to the coordinate system.

Recent