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

4x4   add   affecting   allows   alternative   an   An   and   arguments   assignment   Assume   be   because   before   but   By   call   Can   can   cannot   changed   Child   child   class   clock   compare   complete   contain   contained   contains   convenient   Describe   determine   determined   different   discussed   disk   does   drawables   during   easily   Eg   empirical   example   exist   flexibility   For   for   framebuffer   from   function   Get   graph   graphical   guarantees   had   happens   How   However   ie   if   image   implementation   in   In   inspecting   instances   integer   Last   last   lib   library   like   ll   many   matrix   meaning   method   multiple   my   name   Node   node   nodes   Nodes   Note   Object   object   objects   of   off   on   one   only   Open   operation   operations   or   order   orderings   origin   other   out   own   part   pass   passed   Pat   performed   performs   permissable   Place   places   pointers   portions   possible   produce   read   reads   reflections   represent   representation   represented   required   reshape   result   rotate   rotates   Rotation   same   saved   scale   Scale   scales   Scaling   scene   Scene   second   seen   set   shape   Shape   shapes   shear   similarly   some   specific   stacked   such   swapped   takes   testing   that   The   the   them   there   these   they   thing   third   This   this   times   to   Transform   transform   transformation   transformations   transforms   translate   translates   translation   translations   trying   type   understand   undo   up   values   variables   various   vertices   view   viewport   want   what   when   Why   will   window   windowsize   with   within   without   would   You   you  

    ChrisColletteHomeworkTwo

1. 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?

An STTransform is convenient not only because many transformations can be stacked up on a node but also because specific portions of the transformation can be swapped out and changed without trying to undo it in a matrix. However, some operations, like a shear, are not easily represented. The library scales first, rotates second, translates last. Rotation happens before the translation as can be seen in the operation of the clock and some empirical testing with objects. Scaling, similarly, happens before, not affecting translations. Scale and rotate can be swapped to do the same thing.

2. 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?

This is possible because the node only contains pointers to the drawables and does not own them. This allows for multiple instances or reflections of the same object to exist in multiple places with different translations.

3. 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?

first child: n.PlaceObject(NULL); last child: n.PlaceObject(m.GetLastChild());

4. 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?

0,0 is my origin of the viewport and the windowsize variables passed in are set during the reshape function. This guarantees that the view in the window is the image saved.

Recent