Save
Upgrade to remove ads
Busy. Please wait.
Log in with Clever
or

show password
Forgot Password?

Don't have an account?  Sign up 
Sign up using Clever
or

Username is available taken
show password


Make sure to remember your password. If you forget it there is no way for StudyStack to send you a reset link. You would need to create a new account.
Your email address is only used to allow you to reset your password. See our Privacy Policy and Terms of Service.


Already a StudyStack user? Log In

Reset Password
Enter the associated with your account, and we'll email you a link to reset your password.
focusNode
Didn't know it?
click below
 
Knew it?
click below
Don't Know
Remaining cards (0)
Know
0:00
Embed Code - If you would like this activity on your web page, copy the script below and paste it into your web page.

  Normal Size     Small Size show me how

CS0045 FINALS REVIEW

CS0045: COMPUTER GRAPHICS PROGRAMMING

QuestionAnswer
The field of creating and manipulating visual content using computers Computer Graphics
Encompasses both 2D and 3D visual content creation Computer Graphics
Enumerate Application of CG Entertainment (movies, animations) CAD/CAM (Computer-Aided Design/Manufacturing) Scientific and Medical Visualization Training and Education Synthetic realities (VR/AR)
Which aspect of C++ is characterized by providing "low-level control for high-performance applications"? Performance
Which aspect of C++ involves "direct memory control for large graphical assets"? Memory Management
Which aspect of C++ is described as "widely used with robust libraries" like OpenGL and Photoshop? Ecosystem
What is the specialized processor designed specifically for handling graphics tasks? GPU (Graphics Processing Unit)
What key feature of a GPU, with its thousands of cores, allows it to perform millions of calculations at the same time? Parallelism
What is the dedicated, high-speed memory on a graphics card used for storing textures, frame buffers, and other graphical data? VRAM (Video RAM)
Which technical area involves the mathematics and algorithms for defining 2D and 3D shapes and objects? Geometric Modeling
Which technical area uses math and physics to simulate how light interacts with different materials and surfaces? Lighting and Shading
Which technical area is the process of using algorithms to generate a final image from models, lighting, and camera data? Rendering
Which technical area focuses on techniques for communicating and exploring complex data, like medical or scientific information, through images? Visualization and Visual Analytics
Which technical area is the study of how humans visually perceive light and interpret visual information? Perception
Which technical area involves algorithms for making models and objects change and move over time? Animation
Which technical area uses principles of physics to make models and scenes behave in a physically realistic way? Simulation
Which technical area concerns itself with designing the actual systems and hardware that run graphics algorithms? Software and Hardware
Who is the computer graphics pioneer, born in May 16, 1938, who created the revolutionary "Sketchpad" system? Ivan Edward Sutherland
What is the name of the system, created by Ivan Sutherland, that is considered the original Computer-Aided Design (CAD) program? Sketchpad
Which type of 2D graphic is composed of a grid of pixels? Raster Graphics
Which type of 2D graphic is composed of geometric primitives like points and lines? Vector Graphics
Raster Graphics are good for what type of images? Photographs and complex scenes
Vector Graphics are commonly used for what? Logos, fonts, and CAD
What is the main disadvantage of scaling up a Raster Graphic? Pixelation
What is the main advantage of scaling a Vector Graphic? No quality loss (Scalable)
What characteristic describes Raster Graphics as potentially losing image data? Lossy
What characteristic describes Vector Graphics as not losing image data? Non-lossy
"Jaggies" when transforming an image are a problem for which graphics type? Raster Graphics
Smooth scaling is a key characteristic of which graphics type? Vector Graphics
What type of graphic is an XBM (X11 Bitmap) file? Raster Graphics
What type of graphic is an XPM (X11 Pixmap) file? Raster Graphics
What type of graphic is a GIF file? Raster Graphics
What type of graphic is a TIFF file? Raster Graphics
What type of graphic is a PNG file? Raster Graphics
What type of graphic is a JPG or JPEG file? Raster Graphics
What type of graphic is a Postscript file? Vector Graphics
What type of graphic is a CGM (Computer Graphics Metafile) file? Vector Graphics
What type of graphic is a Fig file? Vector Graphics
What type of graphic is a DWG file? Vector Graphics
What type of graphic is an SVG (Scalable Vector Graphics) file? Vector Graphics
In which decade were hidden-line and hidden-surface algorithms like Warnock's developed? 1960s
What fundamental problem did Roberts, Appel, and Warnock work on in the 1960s? The Visibility Problem
Sutherland (1974) summarized that solving visibility was essentially a problem of what? Sorting
In which decade did raster graphics techniques like Gouraud and Phong shading emerge? 1970s
Who developed the technique for diffuse lighting (Gouraud shading) in 1971? Gouraud
Who developed the improved specular lighting model (Phong shading) in 1974? Phong
Who introduced the Z-buffer hidden-surface algorithm in 1974? Catmull
Who developed a key anti-aliasing technique in 1977? Crow
In which decade did Ray Tracing and Radiosity, key for global illumination, become prominent? 1980s
Who introduced a recursive Ray Tracing model in 1980? Whitted
Goral, Torrance, and Cohen pioneered which global illumination technique in the mid-1980s? Radiosity
Kajiya (1986) unified light transport concepts into what fundamental equation? The Rendering Equation
Cook & Torrance (1982) developed a model for what type of surface reflectance? Rough surface reflectance
Cook (1984) introduced the concept of what, allowing programmable shading? Shade trees
Perlin (1985) contributed to the development of what, giving artists more control? Shading languages
Hanrahan and Lawson (1990) created which influential rendering interface? RenderMan
Maximum number of points displayable without overlap on a CRT or More precisely: number of points per centimeter (horizontal and vertical) Resolution
Ratio of horizontal points to vertical points for equal-length lines Aspect Ratio
A 4/3 aspect ratio means ___ horizontal points 4
Number of bits per pixel in a frame buffer Bit Depth
Depth of buffer or number of bit planes Bit Depth
Frame buffer with one bit per pixel Bitmap
Frame buffer with multiple bits per pixel Pixmap
A Bit Depth of 1 bit allows for how many tones? 2 tones (2¹)
A Bit Depth of 2 bits allows for how many tones? 4 tones (2²)
A Bit Depth of 3 bits allows for how many tones? 8 tones (2³)
A Bit Depth of 4 bits allows for how many tones? 16 tones (2⁴)
A Bit Depth of 8 bits allows for how many tones? 256 tones (2⁸)
A Bit Depth of 16 bits allows for how many tones? 65,536 tones (2¹⁶)
A Bit Depth of 24 bits allows for how many tones? 16.7 million tones (2²⁴)
What was the bit depth of the Nintendo Entertainment System (NES)? 8-bit
What was the bit depth of the Sony PlayStation 1? 32-bit
What was the bit depth of the Nintendo GameCube? 128-bit
What was the bit depth of the Nintendo DS? 32-bit (ARM)
What was the bit depth of the Nintendo Switch? 64-bit (ARM)
What is the recommended IDE to install for this setup? Dev-C++
Where can you download the Dev-C++ installer? From the SourceForge project (orwelldevcpp)
What is the name of the modern library used to replace the original, abandoned GLUT? Freeglut
Where is the recommended source to download the freeglut library? Transmission Zero
Why is freeglut used instead of the original GLUT? Original GLUT was abandoned; freeglut is the modern replacement.
What type of project should you create in Dev-C++? A Console Project
In Dev-C++, where do you configure the directory paths for libraries? Under Project → Options → Directories
Which two freeglut folders do you need to add in the Directories settings? The include folder and the library folder
Where do you add the linker parameters for freeglut? In the Linker section of the project options
What file must you copy into your project folder for the program to run? freeglut.dll
Which specific version of freeglut should be used for programs? freeglut by Transmission Zero (not legacy freeglut)
What compiler should all programs use for consistency? GCC
Can you use Visual Studio Code for development? Yes, if it is configured to use the GCC compiler.
Is a dedicated, high-end GPU needed for this coursework? No, an internal/chipset GPU is sufficient.
Number of memory locations storing the same data type Arrays
How are the individual memory locations in an array referenced? Through the same variable name
What is the basic syntax to declare an array? data_type array_name[array_size];
What are the two main types of arrays? One Dimensional and Two Dimensional
What is the purpose of the `&` operator in C++? To get the memory address of a variable
What is the purpose of the `*` operator when used with a pointer? To dereference the pointer (get the value at the stored address)
How do you declare a pointer variable in C++? data_type *pointer_name;
What is the computer graphics rendering Application Programming Interface (API) that generates high-quality color images with geometric and image primitives? OpenGL
Which company first developed OpenGL, with Version 1.0 released in 1994? Silicon Graphics (SGI) Computer Systems
What model does OpenGL use, where the application is the client and the vendor implementation is the server? Client-Server Model
Which group currently manages the OpenGL specification? Khronos Group
What is the sequence of stages that processes 3D scene data to produce a 2D image? OpenGL Rendering Pipeline
Which pipeline stage defines and organizes raw vertex data in memory using Vertex Buffer Objects (VBOs) and Vertex Array Objects (VAOs)? Vertex Specification
Which programmable stage processes each vertex individually and performs transformations and lighting calculations? Vertex Shader
Which pipeline stage assembles vertices into primitives like points, lines, or triangles? Primitive Assembly
Which optional, programmable stage can generate new primitives or modify existing ones? Geometry Shader
Which fixed-function stage converts geometric primitives into fragments (potential pixels) and performs clipping? Rasterization
Which programmable stage determines each fragment's final color and performs per-pixel calculations like texturing? Fragment Shader
Which fixed-function stage performs tests and operations on fragments before final output, including depth testing and blending? Per-Sample Operations
What is the GLUT function used to initialize the GLUT library? glutInit
What is the GLUT function used to create a window on the screen? glutCreateWindow
What is the GLUT function used to register the callback function for display? glutDisplayFunc
What is the GLUT function that enters the infinite event-processing loop? glutMainLoop
What is the default range for the X-axis in the OpenGL coordinate system? -1.0 to 1.0
What is the default range for the Y-axis in the OpenGL coordinate system? -1.0 to 1.0
What is the OpenGL function used to specify the location of a vertex? glVertex
What is the OpenGL function used to specify the beginning of a vertex list for an object? glBegin
What is the OpenGL function used to specify the end of a vertex list? glEnd
What is the OpenGL function used to clear buffers, such as the color buffer? glClear
What is the OpenGL function that forces execution of previously buffered OpenGL commands? glFlush
What is the GLUT function used to set the initial window size? glutInitWindowSize
What is the GLUT function used to set the initial window position? glutInitWindowPosition
Which OpenGL primitive type renders individual points? GL_POINTS
Which OpenGL primitive type draws unconnected line segments? GL_LINES
Which OpenGL primitive type draws connected line segments? GL_LINE_STRIP
Which OpenGL primitive type draws a closed line strip? GL_LINE_LOOP
Which OpenGL primitive type draws individual triangles? GL_TRIANGLES
Which OpenGL primitive type draws connected triangles sharing edges? GL_TRIANGLE_STRIP
Which OpenGL primitive type draws a fan of triangles all sharing the first vertex? GL_TRIANGLE_FAN
Which OpenGL primitive type draws individual quadrilaterals? GL_QUADS
Which OpenGL primitive type draws connected quadrilaterals sharing edges? GL_QUAD_STRIP
Which OpenGL primitive type draws a single filled convex polygon? GL_POLYGON
What is the OpenGL function used to set the point size? glPointSize
What is the OpenGL function used to set the line width? glLineWidth
What is the OpenGL function used to create dashed or patterned lines? glLineStipple
What 16-bit integer pattern value creates a solid line? 0xFFFF
What is the OpenGL function used to enable line stippling? glEnable(GL_LINE_STIPPLE)
What are the two main color modes in OpenGL? Color Index Mode and RGBA Mode
What does the 'A' in RGBA stand for? Alpha
What is the range for color component values in floating-point format in OpenGL? 0.0 to 1.0
What is the OpenGL function to set RGB color using three float values? glColor3f
What is the OpenGL function to set RGBA color using four float values? glColor4f
What is the OpenGL function to set RGB color using three unsigned byte values? glColor3ub
What are the RGB float values for the color black? (0.0, 0.0, 0.0)
What are the RGB float values for the color white? (1.0, 1.0, 1.0)
What are the RGB float values for the color red? (1.0, 0.0, 0.0)
What are the RGB float values for the color green? (0.0, 1.0, 0.0)
What are the RGB float values for the color blue? (0.0, 0.0, 1.0)
What are the RGB float values for the color yellow? (1.0, 1.0, 0.0)
What are the RGB float values for the color cyan? (0.0, 1.0, 1.0)
What are the RGB float values for the color magenta? (1.0, 0.0, 1.0)
What is the OpenGL function that sets the current raster position in 2D space? glRasterPos2f
What is the GLUT function that renders a string of bitmap characters at the current raster position? glutBitmapString
Which GLUT bitmap font constant represents a 9x15 pixel fixed font? GLUT_BITMAP_9_BY_15
Which GLUT stroke font is a scalable vector-based font rendered using line segments? GLUT_STROKE_ROMAN
What is the GLUT function that requests the current window to become full screen? glutFullScreen
What is the GLUT function that marks the current window as needing redisplay? glutPostRedisplay
What is the GLUT function used to set the keyboard callback for the current window? glutKeyboardFunc
What is the GLUT function used to set the mouse callback for button presses and releases? glutMouseFunc
What is the GLUT function called when the mouse moves with a button pressed (dragging)? glutMotionFunc
What is the GLUT function called when the mouse moves without a button pressed (hovering)? glutPassiveMotionFunc
What is the GLUT function that sets the mouse enter/leave callback? glutEntryFunc
What is the GLUT function that sets a global idle callback, called when no events are being processed? glutIdleFunc
What is the GLUT function that registers a timer callback triggered after a specified number of milliseconds? glutTimerFunc
What OpenGL feature allows applications to render primitives from vertex data stored in memory blocks for efficient reuse? Vertex Arrays
What OpenGL function enables a client-side capability, such as for vertex coordinates? glEnableClientState
What OpenGL function specifies the location and data format of vertex coordinates for use with vertex arrays? glVertexPointer
What OpenGL function renders primitives from array data, given a mode, start index, and vertex count? glDrawArrays
What OpenGL data type is a 32-bit floating-point number? GLfloat
What OpenGL data type is a 32-bit integer? GLint
What OpenGL data type is an 8-bit unsigned byte? GLubyte
What OpenGL function draws primitives using indexed vertices, allowing for efficient vertex reuse? glDrawElements
What OpenGL feature, introduced in version 1.5, stores data in high-performance server memory (GPU memory) for significant performance improvement? Buffer Objects (VBO)
What library simplifies access to extended OpenGL extensions and is required for advanced functions like VBOs? GLEW (OpenGL Extension Wrangler)
What is the OpenGL function used to generate buffer object IDs? glGenBuffers
What is the OpenGL function used to bind a buffer object to a target like GL_ARRAY_BUFFER? glBindBuffer
What is the OpenGL function used to upload data to GPU memory for a buffer object? glBufferData
What is the OpenGL function used to delete buffer objects and free GPU memory? glDeleteBuffers
What is the OpenGL function that maps a buffer object into client memory, allowing modification of GPU data? glMapBuffer
What is the OpenGL function that unmaps a buffer from client memory after modifications? glUnmapBuffer
What is the OpenGL function that updates a subset of buffer data, more efficient than re-uploading the entire buffer? glBufferSubData
What is a rectangular array of mathematical expressions, similar to a two-dimensional array, used extensively for transformations in computer graphics? Matrices
What is the name for the 4D representation (x, y, z, w) of 3D points used to enable translation as matrix multiplication? Homogeneous Coordinates
In homogeneous coordinates, what does a w component of 1 represent? A position in space
In homogeneous coordinates, what does a w component of 0 represent? A direction vector
What transformation matrix moves an object along the axes? Translation Matrix
What transformation matrix resizes an object along the axes? Scaling Matrix
What transformation matrix rotates an object around an axis? Rotation Matrix
What is the correct order for applying multiple transformations to a vertex when using matrix multiplication? Translation × Scaling × Vertex (Right to left)
In a right-handed 3D coordinate system used by OpenGL for vertex data, which direction does the positive Z-axis point? Toward the viewer
In the left-handed 3D coordinate system used by OpenGL for projection transformations, which direction does the positive Z-axis point? Away from the viewer
What OpenGL function sets the current matrix mode, such as GL_MODELVIEW or GL_PROJECTION? glMatrixMode
What OpenGL function resets the current matrix to the identity matrix? glLoadIdentity
What OpenGL function saves the current matrix onto the matrix stack? glPushMatrix
What OpenGL function restores the previously saved matrix from the matrix stack? glPopMatrix
What OpenGL function defines the drawable region of the window, usually matching the window size? glViewport
What OpenGL function moves an object along the x, y, and z axes? glTranslate
What OpenGL function rotates an object by a given angle around a specified axis vector? glRotate
What OpenGL function scales an object along the x, y, and z axes? glScale
What type of projection defines a viewing volume as a cuboid, resulting in parallel projection with no perspective distortion? Orthographic Projection
What OpenGL function sets up an orthographic projection? glOrtho
What type of projection defines a viewing volume as a frustum (pyramid shape), where objects farther away appear smaller? Perspective Projection
What GLU function sets up a perspective projection using a field of view and aspect ratio? gluPerspective
What OpenGL function sets the camera position, look-at point, and up vector? gluLookAt
What OpenGL display mode flag must be included to enable the depth buffer? GLUT_DEPTH
What OpenGL function is used to enable depth testing for hidden surface elimination? glEnable(GL_DEPTH_TEST)
What OpenGL clear flag must be used to clear the depth buffer? GL_DEPTH_BUFFER_BIT
What OpenGL feature simulates how objects reflect light to make them look realistic? Lighting
What is the name of the lighting model that computes color at vertices based on material, light, and model properties? Phong Lighting Model
What OpenGL function is used to enable the entire lighting system? glEnable(GL_LIGHTING)
What are the minimum number of lights an OpenGL implementation must support, accessible via GL_LIGHT0 to GL_LIGHT7? 8 lights
What OpenGL function sets properties for a specific light source? glLightfv
What light property, when set with w=0, creates a directional (infinite) light source? GL_POSITION
What light property, when set with w=1, creates a point (local) light source? GL_POSITION
What OpenGL function sets properties for a material? glMaterialfv
What material property defines the base color of the object? GL_DIFFUSE
What material property defines the highlight color? GL_SPECULAR
What material property defines the surface smoothness, with a range from 0 (rough) to 128 (very shiny)? GL_SHININESS
What OpenGL function sets global lighting parameters, such as the global ambient light? glLightModelfv
What technique is used to add surface detail to objects by applying images to polygon surfaces? Texture Mapping
What single-header image loading library by Sean Barrett is recommended for loading texture images? stb_image.h
What is the OpenGL function used to generate texture object IDs? glGenTextures
What is the OpenGL function used to bind a texture to a target, making it current? glBindTexture
What is the OpenGL function used to set texture parameters like wrapping and filtering? glTexParameteri
What texture wrapping mode repeats the texture? GL_REPEAT
What texture filtering mode uses linear interpolation for a smoother look? GL_LINEAR
What is the OpenGL function used to specify a 2D texture image? glTexImage2D
What is the range for texture coordinates in each dimension? 0.0 to 1.0
What OpenGL function enables the texture coordinate array for use with vertex arrays? glEnableClientState(GL_TEXTURE_COORD_ARRAY)
What OpenGL function specifies the location and data format of texture coordinates? glTexCoordPointer
What OpenGL function automatically generates mipmaps for a texture to improve quality at a distance? glGenerateMipmap
What texture environment mode multiplies the texture color with the fragment color? GL_MODULATE
What texture environment mode replaces the fragment color with the texture color? GL_REPLACE
A collection of open, royalty-free standards Khronos Visual Computing Ecosystem
How is the Khronos Visual Computing Ecosystem developed? By an industry consortium
What are the two primary goal of the Khronos Visual Computing Ecosystem? Enable hardware acceleration and Cross-platform compatibility
Name the application areas of the Khronos Visual Computing Ecosystem. 3D graphics, Parallel computing, Virtual and augmented reality, Neural networks, Computer vision
Created by: geanm
 

 



Voices

Use these flashcards to help memorize information. Look at the large card and try to recall what is on the other side. Then click the card to flip it. If you knew the answer, click the green Know box. Otherwise, click the red Don't know box.

When you've placed seven or more cards in the Don't know box, click "retry" to try those cards again.

If you've accidentally put the card in the wrong box, just click on the card to take it out of the box.

You can also use your keyboard to move the cards as follows:

If you are logged in to your account, this website will remember which cards you know and don't know so that they are in the same box the next time you log in.

When you need a break, try one of the other activities listed below the flashcards like Matching, Snowman, or Hungry Bug. Although it may feel like you're playing a game, your brain is still making more connections with the information to help you out.

To see how well you know the information, try the Quiz or Test activity.

Pass complete!
"Know" box contains:
Time elapsed:
Retries:
restart all cards