W Randolph Franklin home page
... (old version)
ComputerGraphicsFall2009/ home page Login

Answers in BLUE

1. Modify gasket3.c as follows. (30)

  a. Instead of subdividing a tetrahedron into 4 smaller tetrahedra, subdivide a cube into 27 smaller potential cubes with 13 of them further subdivided and the others empty. 


  b. Change the orientation every time the scene is redisplayed.  


There was a requirement of coding for 27 cubes and possibly using a wireframe for the other 14 cubes, though it was also acceptable not to display the 14 other cubes.

2. (The point of this question is to introduce you to one of RPI's graphics alumni.) (15) The most recent project of Dr. Chandra Narayanaswami, PhD (RPI), and Manager, Wearable Computing, IBM TJ Watson\ Research Center, is Soulpad. Briefly, SoulPad allows a user to personalize a PC and resume complete computing\ environments without carrying the whole PC around. An video demonstrating the prototype is available athttp://www.research.ibm.com/WearableComputing/SoulPad/SoulPadVideo.wmv and more information about the technique is\ available at http://www.research.ibm.com/WearableComputing/SoulPad/soulpad.html.

  1. Soulpad uses some of the same good design techniques I've mentioned in class recently. What are they?
    1. Portability
    2. Layered Architecture
    3. Platform independant
    4. Technological Compatibility
    5. Stand-alone (Self contained) concept
  2. Who was his PhD advisor at RPI?
Prof. Wm.Randolph Franklin

3. Angel pg.37 exercise 1.8 (15)

1280x1024 (pixels/frame) * 72 (frames/sec) = 94371840 pixels/sec i.e. 10.6 ns/pixel
Interlaced video => Using half the required bandwidth
Total pixel rate = 640*480*0.5 (pixels/frame) * 60 (frames/sec) = 9216000 pixels/sec i.e. 108.5ns/pixel

4. Angel pg.38, exercise 1.13 (15)

the wikipedia has comparisons as well but some values tend to be beyond the card specification(beware!)
 1.How rapidly has the geometric performance improved?
Graphics CardRelease YearCore ClockMemory BandwidthFLOPSPixel Fill rateTexelRemarks
3dfx - Voodoo2 8MB199890Mhz2.13Gb/secN/A90Mpix/sec180MTexel/secUsed for Doom 3D (one of the most successful, revolutionary games), Duke Nukem (historic games)
GTX 2952009576Mhz223.776Gb/sec1788.48 GFlops32256 Mpixel/sec92160MTexel/secHalf-Life, Gears of War (computationally intensive)
ATI Radeon 58702009725Mhz128Gb/secN/A23200 Mpixels/sec52200 MTexel/secUses GDDR5 Memory, 1044G Shader Operations/sec (fast)
Larrabee (Intel)Unrealeased32 Cores at 1GHzN/A2TFLOPSN/AN/AWait and watch
The graphics processing has grown manifold, each manufacturer has concentrated on a few areas increasing the overall performance e.g. ATI has a varied pixel to texture fill rate pipeline and introduced shader processing. Nvdia has increased the core processing, high frame buffering, proprietary pipelining architecture. (The idea is to understand the various parameters for GPUs).
a. Pixel processing capability?
Any of the above mentioned would also directly or indirectly contribute to the pixel processing capability.
b. Cost/rendered triangle?
Is a more traditional method and used primarily for old graphic cards. Currently it is more based on the ability to do ray tracing (real time e.g. the new ATI Radeon, Larrabee would like to achieve), shader operations, Texels, memory bandwidth would be preferable methods. (Any comparison including any of the above will be considered).Nevertheless the idea is that it has reduced by a significant quantity i.e. around 40-50 times over the last decade.

5. Angel, pg. 96, exercise 2.10 (15)

Dynamic location of points with depending on interfaceRequires Additional computation
Provisioned by many APIsMemory allocation for storing position variables
In order to implement in OpenGL the creation of dynamic variables which can modify its value on the fly. e.g. pointer variables, even dynamic user positioning can be used etc. i.e. new position = reference-current_position

6. Angel, pg. 96, exercise 2.12 (15)

Any edge detection technique incorporating a closed-vertex detection, point-follower, various intersection algorithms. e.g. i) Check for the vertices of the polygon. ii) check for line intersections between non adjacent lines iii) if line intersection is not equal to vertex for all then it is simple (Draw a flow chart preferably)