Intro Graphics Final Review 2017
Explain the right-hand rule for determining the front face of polygon
"Rule of Thumbs" method to determine the normal vector of polygons. When the normal vector pont towards the observer the points of the polygon are defined in counter-clockwise sequence
Describe techniques that can be used to create 3D objects from scratch.
- Lathing: A technique for producing a surface by rotating a planar curve about a line that lies in the same plane as the curve. - extrusion: A technique for producing a solid from a 2D shape by moving the shape along a curve in 3D.
List at least two factors that determine the perceived color of an object in a scene
- Lighing - Material of Object
Briefly describe the technique of Instance Modeling and the advantages to using this approach
- Technique by which modeling is done in the object's coordinate system, usually at the origin - Components are modeled relative to each other in hierarchies - Modeling based on small number of primitives. - Easier to model because modeling objects in units convenient to them; easy to manipulate compoud objects as a whole.
Nine parameters in gluLookAt()
- eyeX, eyeY, eyeZ: specify the coordinates of the eye location - atX, atY, atZ: specifies the coordinates of the reference point -upX, upY, upZ: specifies the direction of the up vector
Explain how any two of the OpenGL vertex array/list drawing function works
- glArrayElement: draw the vertex from the information stored in its array. - glDrawElements: draw the vertices from the information stored in its array
six parameters in glFrustum() or glOrtho()
- left and right clip planes (intersection with x axis). - top and bottom clip planes (intersection with y axis). - distance to near and far clip planes.
Major Characteristic of Light Source: Area source
- light source that is spread amoung a finite surface - contains a collection of light emitters
Major Characteristic of Light Source: Spotlight
- light source where all light is concentrated in a specific - Modeled as point source with limited angle of emission
Major Characteristic of Light Source: Point Source
- light source where all light rays are shining in all directions -cast sharp shadows
Major Characteristic of Light Source: Ambient
- omnidirectional, uniform rays - trys to emulate environment light reflection
list four of the eight types of vertex arrays/list
- vertex coords - RGB color - indexed color -normal -texture coords -edge flags
Steps needed to set up and use quadrics
1. 2.
2 ways the design of OpenGL promotes portability
1. Built-in data types that are guaranteed to produce the same results regardless of compiler. 2. Independent of any windowing system.
Two ways vertex arrays/lists improve efficiency of the OpenGL programs
1. Reduce number of functions calls 2. eliminates redudancy of data
What are steps involved/what things need to be specified in setting up the viewing environment in OpenGL
1. Specify Camera location/orientation 2. Set the Projection 3. Specify the viewport
Steps needed to create one-level menu using glut
1. create the menu handler 2. create the menu itself 3. associate menu items with the menu 4. attach menu to the mouse
Steps needed in order to set up vertex arrays/list in OpenGL
1. enable array 2. fill in data 3. assessing and processing
Explain what additional steps needed to create a multi-level menus using glut
1. same steps as one-level, saving their id's 2. generally work bottom up 3. submenus added to higherlevels using a different funciton thand adding menu options
a Slice?
Are subdivisions around an objects orientation axis (vertical lines)
what is Stack?
Are subdivisions around an objects z-axis (horizontal lines)
Explain the basic difference between functions gluPerspective and glFrustrum
Arguments of each differ in number and meaning; Perspective as always symmetric wrt the origin, Frustum does not have to be.
Coordinate System: Eye/camera
By default at the world origin. The space seen from the camera's point of view, which is the result of transforming your world space coord to coord that are in front of the camera.
How do transformation matrices affect the current matrix in OpenGL? A Formula will suffice
C = C * M
Why is the CIE XYZ color model preferred to the RGB?
CIE XYZ has no negative values, which allows for more colors and helps keep color consistency in 3-D modeling
What is chromaticity?
Color Infor (hue plus saturation) with out luminance
Explain how color indexing works
Color information stored on a palette, or array of color. Every element in the array is indexed with a color. It helps save computer memory and file storage
Diffuse and Specular; a. Microscopic Properties, b. How they Reflect Light, c. how they appear to the eye
Diffuse: a. Rough b. Absorbs light c. Appears Dull Specular a. is smooth b. reflects light c. shinny
How openGL processes sets of vertex arrays/lists during execution
Each enable array is accessed, the one holding coordinates being the last. each piece of data is applied to the vertex in question order in which vertices are accessed depends on the function used to draw them.
explain the purpose of a callback function and when is it called
Executed when an event occurs, and designed to take action when that event occurs
Define Framebuffer
Framebuffer is a combination of color, depth and stencil buffers which is stored somewhere in memory
characteristics of the image and image formation between lensed cameras and synthetic
IN a real camera the center of projection is located behind the lens. A real camera captures images upside down, then inverts it. Synthetic camera the center of projection is located at the center of the set up, id does not capture inverse images
Explain how indexing is able to provide a limited rich palette when memory is a premium. Be specific an example may help
If raster is 8-bits deep, can only store 256 values, but can pick and choose what those 256 colors are
What are the key differences between orthographic and oblique parallel projections?
In ortho the projections are normals to the PPs. Oblique are not
How can you use the chromaticity diagram to find the pure hue a given color represents?
Line through color and white to edge of diagram
What is special about the CIE's XYZ primaries with respect to the RGB primaries
Need no negative values for generating color gamut
Two Characteristics; - Light Source - Point Source - Directional
Point: - Cast Sharp Shadows - cast light uniformily in all directions from source Directional: - cast sharp shadows - concentrated light in a particular direction Area: - disperses light over a set location - produces fuzey shadows
what are tristimulus values?
RGB
What is the purpose of the CIE?
Standardization of color and objective study of color
Give at least two differences between image formation by real and by Synthetic Cameras
Synthetic Cameras the field of view is 180degrees, and the depth of field is infinite
Which pairs of transformations are commutative?
T *T; S * S; R * R; R * S uniformly
What is the relation between the order in which you write calls to transformation functions in OpenGL and the orer in which they ared carried out?
The transformation calls are carried out in reverse to how they are originally ordered. Going from bottom to top
Explain how depth buffering works
The z buffer is a two dimensional array which stores the z value of each pixel, if another object must render at the same pixel location the algorithm overrides the previous value if the new pixel is closer to the camera
Describe each of the following transformations. Draw a picture
Translation: moves linearly to the arbitray direction Scale: changes size and location, is multiplicative. Rotation: rotates around the arbitrary axis
Define Shader
User-defined program designed to run on some stage of a graphics processor, its used to execute one of the programmable stages of the rendering pipeline
What is dithering?
Using a pattern to colored pixels to generate a new color
Why is using a view volume that has a one-to-one correspondence to the projection plane a bad way to implement picking?
When the window is resized, the 1:1 correspondence is lost and viewport coordinastes no longer match world coordinates
List three coordinate systems (spaces) involved in CG and describe what each is associated with
World Space: - encompases everything that is constructed in the CG enviroment, example primatives View Space: - the size of the window, example the resolution of the display window Clip Space: - the view that gets captured and displayed
what is transformation and describe three types/ situations in which they are used in CG
a change from one coordinate system to another system. - Converting object to world -projection space to screen
What is a fragement?
a collection of values at a projected point that are genereated from rasterization
hue
a particle of a spectrum whose defined by their dominant wavelength
Characteristics of simple, convex polygon
a polygon that has all interior angles less than 180 degrees
Describe the characteristics of ambient light; what real world phenomenon does it attempt to represent?
a. Omnidirectional, uniform b. Simulates reflected light in environment
What distinguishes between one point, two point, and three point perspective projection
a. One point has only length line going to vanishing point b. Two point length and width going to different vanishing point c. Three point all have there own vanishing point
Explain the difference in the way that bitmapped (raster) and stroke (vector) characters are represented, and compare the relative advantages and disadvantages of each.
a. Pixels are a single point or the smallest single element b. Save Space and function call overhead. Also minimize network traffic to server c. Vectors are mathematical calculation from one point to another that form lines and shapes d. Vector areas scalable, color editing is easier. Bitmapped rasters represent photo-like images better than Vectors
Why is depth buffering needed?
a. to determine whether an object is visible in space b. increases rendering speed for opaque objects, transparent objects are unaffected because the object needs to be fully rendered
Explain the purpose of the glut reshape function, and list the function calls that are usually included in it.
acts as a way for the view window to adapt and resize when the actual programs window gets resized. you would call function ortho, glutPerspective, and glViewPort
Explain the advantages of OpenGL shader model over the fixed function pipeline
allows the programmer to control the order of the pipeline and what processing is performed there
What is the difference in the placement of the COP in parallel v perspective projections?
at infinity in parallel
When specifiying any projection in OpenGL, what coordinate system are the parameters in reference to?
camera/eye
Pipeline: Transformation
changes the coordinated system to another system
How does a synthetic camera simulate depth of field and field of view
clip planes
What does the Modelview matrix control
controls orientation/transforms that affect camera and objects
Pipeline: Rasterization
converts floats to ints/from continuous to discrete values
Pipeline: Clipping
determine which side of each of the planes that the vertex's lie on. The vertex on the "inside" are shown, while "outside" are thrown away
primary reason we use glut
for windowing system
cones
high level light, allows seeing colors
excitation purity
how much of the dominant wavelength is above the horizontal background line
What does a pixel value stored in the frame buffer represent in color indexing?
index/hashing in the color table
glut idle function is used for and why its needed?
is an eventListener. it waits inside the glutMainLoop until it sees additional input during the programs runtime. When it sees input (Such as picking, animation, changes to camera orientation, menus, etc) the idle function will allow the program to make the necessary changes during runtime.
Why is the glut main loop needed?
is needed because it allows the user to interact with program after the inital run time. it is needed for; animation, picking, transformation, and menus
Field of View
is the angle of focus for the clipping plane
depth of field
is the distance between the COP and the farthest area that an obejct can still be in focus
What is center of projection and how does it relate to a real-world lens?
is the location of the camera. Real world lens would be the position of the camera
window
is the overall plane that is created for the user. its demensions are based inside the computer screens resolutions
view port
is the plane that displays all the objects that are located inside its own window. objects outside the view port arnt displayed to the respected screen
View Volume
is the total area located in the depth of field and field of view
view volume
is the total area(space) of the dpeth of view and field of view that is captured
dominate wavelength
is the way non-spectral light mixtures are in tersm of spectral light that is identicle to the hue
What dosen't the chromaticity diagram include/provide?
lumination/brightness
Pipeline: Projection
mapping of 2-d images on view space
camera's coordinate system: VPN
normal to the plane pointing towards center of projection
explain using a hidden buffer and colors can be used to pick objects/
objects written to visible raster and hidden buffers. In hidden buffer with unique colors, picking id's color in hidden buffer and finds correspond object
How are additive and subtractive color wheels different?
ones primary colors is the others secondaries. Apply additive to light
Describe two problematic issues associatedf with the trichromacy theory
opponency theory color blindness naturalism of some colors
Coordinate System: World
origins (0,0,0) the coordinates of all your vertices relative a world. Objects are transformed from local to world space with model matrix. convenient units. It's more or less built in; there is no center, lower left
camera's coordinate system: VRP
point on the plane
What is the philosophy that the designers of OpenGL took, and why did they take this approach
provide operation system free requirements for window creating
rods
see low level light, night visiosn
saturation
the amount of color is there comparable to white
brightness
the amount of energy from a light source
Coordinate System: local/object
the coordinates of your object relative to its local origin. convenient units, convenient origin. Nothing is predefined
Coordinate System: Screen
the physical coordinates of the pixels on the computer screen based on screen resolution Pixels, upper left
Coordinate System: Window
the subset of overall model world that is displayed on the screen Pixels, lower left
camera's coordinate system: VUP
the v axis of the Viewing Reference Coordinate System
What is the Trichromacy Theory
theory that any color can be made up with tristimuls values (RGB, any combination)
Why is double buffering needed?
used to reduce artifacts and flickering when fragements are rendered slower than the frame rate
How does Double Buffering work?
works by creating more than one buffer to hold data blocks so that the "reader" will see a complete image
the right hand rule with respect to right-handed coordinate system
you take your right hand, use the thumb as the z-axis. you then curl your fingers around, first being the x axis, second the y-axis. All in a counter-clockwise manner with your thumb pointing at you.