# CG iclicker questions

## Thu 2016-09-08

1. CSYS
2. ELEC
3. CSCI
4. GSAS
5. Other
1. 2017
2. 2018
3. 2019
5. Other
1. What is the correct order of the graphics pipeline?
1. If you wanted to change all the vertex positions by multiplying each x-coordinate by the same vertex's y-coordinate, the best place to do it is:
1. with a javascript function
4. in the html file
5. it can't be done.

## Mon 2016-09-12

1. What is the correct order of the graphics pipeline?
1. Why does OpenGL have the triangle-strip object type, in addition to the triangle type?
1. It leads to smaller, faster, graphics objects.
2. It leads to bigger, faster, graphics objects.
3. It's not possible to split some complicated polygons into lots of simple triangles, but you can split them into triangle-strips.
4. The standards writers were being paid by the word.
1. What is the physical principle underlying LCD?
1. Fire an energetic electron at a rare earth atom and a photon of light is emitted.
2. Plowing your family farm as a kid can suggest an way to invent electronic television.
3. A solution of corkscrew shaped molecules can rotate polarized light.
4. Putting your finger close to a capacitor can change its capacitance.
5. If two coils of wire are close, then an alternating current in one can induce a current in the other.
1. Standards
1. allow programmers to move between projects
2. allow different types of hardward to be substituted in.
3. ..... operating systems ......
4. allow vendors to lock in customers.
5. can prevent the latest HW from being used to its fullest.

## Wed 2016-09-14

1. What is your favorite platform/OS?
1. Windows
2. Linux
3. Mac
4. Android
5. Other
1. Color printing on a sheet of paper exemplifies
2. subtractive color
3. multiplicative color
4. divisive color
5. exponential color
1. Red is a primary color of which color space?
2. subtractive color
3. multiplicative color
4. divisive color
5. exponential color
1. Major components of the OpenGl model as discussed in class are:
1. Objects, viewer, light sources, planets, material attributes.
2. Still cameras, video cameras, objects, light sources.
3. Objects, viewer, light sources, material attributes.
4. Colored objects, black and white objects, white lights, colored lights
5. Flat objects, curved objects, near lights, distant lights.
1. How do you draw a pentagon in WebGL?
1. Split it into triangles.
2. Split it into triangles if it is concave, otherwise draw it directly.
3. Split it into triangles if it is convex, otherwise draw it directly.
4. Draw it directly.
5. Split it into hexagons.

6. If you want your javascript program to send a color for each vertex to the vertex shader, what type of variable would the color be?

1. uniform
2. varying
3. attribute
4. dynamic
5. static

## Mon 2016-09-19

1. When using the vector rule to rotate a point p about an axis by an angle:
1. Neither the point nor the axis need to be of any particular length.
2. The point must be at a distance one from the origin.
3. The axis must be of unit length.
4. Both B and C.
5. The point's distance from the origin must equal the axis's length.
1. In the OpenGL pipeline, the Primitive Assembler does what?
1. fits together pieces of ancient Sumerian pottery.
2. rotates vertices as their coordinate systems change.
3. creates lines and polygons from vertices.
4. finds the pixels for each polygon.
5. reports whether the keyboard and mouse are plugged in correctly.
1. To draw into only part of the graphics window you would call:
1. gl.drawpart
2. gl_Position
3. gl.viewport
4. gl.window
5. There's no builtin routine; you have to scale your graphics yourself to achieve this.
1. If you do not tell OpenGL to do hidden surface removal, and two objects overlap the same pixel, then what color is that pixel?
1. OpenGL throws an error.
2. the closer object
3. the farther object
4. the first object to be drawn there
5. the last object to be drawn there
1. When rotating an object, what can happen to an object?
1. Straight lines might turn into curves.
2. Straight lines stay straight, but angles might change.
3. Straight lines stay straight, and angles don't change, but distances may change, either longer or shorter.
4. Straight lines stay straight, and angles don't change, but distances might get longer.
5. Straight lines stay straight, and angles and distances don't change.

## Thurs 2016-09-22

1. Multiplying a complex number x+iy by e^(i pi/4) is equivalent to doing what to the point (x,y):
1. Rotating it by 90 degrees.
2. Rotating it by 90 radians.
3. Rotating it by 45 degrees.
4. Translating it by 90 degrees.
5. Nothing; this doesn't change the point.
1. If ''i'' and ''j'' are quaternions, what is ''i+j''?
1. ''-k''.
2. ''0''.
3. ''1''.
4. ''i+j'', there is no simpler representation.
5. ''k''.
1. If ''i'' and ''j'' are quaternions, what is ''ij''?
1. ''-k''.
2. ''0''.
3. ''1''.
4. ''i+j'', there is no simpler representation.
5. ''k''.
1. The quaternion ''i'' represents what rotation?
1. 180 degrees about the x-axis.
2. 90 degrees about the x-axis.
3. 180 degrees about the y-axis.
4. 90 degrees about the y-axis.
5. no change, i.e., 0 degrees about anything.

## Mon 2016-09-26

1. Which rotation methodology is best when working with nested gimbals?
1. vectors
2. quaternions
3. matrices
4. Euler angles
5. None are particularly good.
1. Which make it easy to combine two rotations into one?
1. vectors
2. quaternions
3. matrices
4. Euler angles
5. B and C
1. Why would you want to send a variable to a vertex shader that has the same value for every vertex?
1. the vertex's coordinates
2. the vertex's color
3. the object's global orientation
4. the location of the global light source
5. C and D.
1. How would you send that variable to the vertex shader?
1. as a varying variable.
2. as a uniform variable.
3. in another array similar to the vertex array.
4. with a bindBuffer call.
5. with a bufferData call.

## Thurs 2016-09-28

1. A mouse reports which type of position?
1. Absolute
2. Relative
3. Either, depending on which button you press.
1. A tablet reports which type of position?
1. Absolute
2. Relative
1. Which of these can easily be a logical keyboard?
1. a physical keyboard
2. a tablet with handwriting recognition
3. a virtual keyboard on the screen, selecting letters with the mouse
4. voice input and recognition
5. all of the above

4. Which of these mode scales up better when there are many input devices, most of which are quiet most of the time.

1. event
2. request

## Wed 2016-10-19

1. If you use a separate buffer that's 16 bits deep to store object ids for picking, then how many different object ids can you have? Assume that the frame buffer is 1024x1024.
1. 1,048,576.
2. 16x1024x1024.
2. The default OpenGL camera is:
1. At the origin and looking up the Y axis.
2. At (1,0,0) and looking towards the origin.
3. At $X=\infty$ and looking towards the origin.
4. At the origin and looking down the Z axis.
5. At the origin and looking up the Z axis.
3. (Sometimes I write vectors horizontally since they're easier to type.) The 3D homogeneous point (1,2,3,4) is equivalent to which Cartesian point?
1. (1,2,3)
2. (1,2,3,1)
3. (1,2,3,4)
4. (1/4, 2/4, 3/4)
5. (1/4, 2/4, 3/4, 4/4)
4. Translating the 2D homogeneous point by (1,2,3) by (in Cartesian terms) dx=1, dy=2 gives which new homogeneous point?
1. (1,2,3)
2. (1,2,3,4)
3. (2,4)
4. (2,4,3)
5. (4,8,3)
5. This is a homogeneous 3D translation matrix: $\begin{pmatrix} 2&0&0&2\\ 0&2&0&3\\0&0&2&4\\ 0&0&0&2 \end{pmatrix}$ Where is the Cartesian point (0,0,0) translated to?
1. (0,0,0)
2. (1,3/2,2)
3. (1,3/2,2,1)
4. (2,3,4)
5. (2,3,4,2)

## Thu 2016-10-20

1. Which matrix effects your desired camera position?
1. modelview
2. projection
2. Which matrix effects your desired clipping?
1. modelview
2. projection
3. The default OpenGL clipping cube has size:
1. 2
2. 10
3. 1
4. 0
5. 1024

## Mon 2016-10-24

1. In the Phong lighting model, the shininess parameter applies to which type of lighting?

1. ambient
2. diffuse
3. specular
4. flat
5. Lambertian
2. In which type of lighting, does the position of the viewer affect the light?

1. ambient
2. diffuse
3. specular
4. flat
5. Lambertian
3. What law determines the angle of the reflected light?

1. Fresnell
2. Parkinson
3. Newton
4. Snell
5. Gresham
4. What law determines what fraction of light enters a transparent material, and what fraction is reflected?

1. Fresnell
2. Parkinson
3. Newton
4. Snell
5. Gresham
5. What law determines how certain bureaucracies operate?

1. Fresnell
2. Parkinson
3. Newton
4. Snell
5. Gresham
6. Here are several possible levels of shading.

1. Bilinearly interpolate a surface normal at each pixel from normals that you specified at each vertex. Then normalize the length of each interpolated normal vector. Evaluate the Phong lighting model at each pixel from the interpolated normal. That is called Phong shading.
2. Bilinearly shade the polygon, triangle by triangle, from the colors you specified for its vertices.
3. Shade the whole polygon to be the color that you specified for one of the vertices.
4. Use the Phong lighting model to compute the color of each vertex from that vertex's normal. Bilinearly interpolate that color over the polygon. That is called Gouraud shading.

Which one is the best?

7. Which one of the above is the slowest?

## Wed 2016-10-26

1. Which of the following lighting methods can produce a small highlight inside a triangle, which is brighter than the brightest vertex?

1. Goudaud
2. Phong
3. Flat (making the whole triangle the same color).
2. What is the purpose of clipping the value of dot(L,N) in the following code:

float Kd = max( dot(L, N), 0.0 );

1. so that faces facing away from the viewer are not lit.
2. so that faces facing away from the light source are not lit.
3. so that faces that are too far away from the light source are not lit.
4. so that faces that are too close to the light source are not lit.
5. so that shiny faces are lit properly.
3. Faces whose normals point away from the viewer are always hidden when the object is

1. Watertight
2. Not watertight.