Computer Graphics: OpenGL and Shaders Study Guide

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/16

flashcard set

Earn XP

Description and Tags

These flashcards cover key concepts from computer graphics, OpenGL, shaders, and rendering techniques.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

17 Terms

1
New cards

What is OpenGL?

OpenGL is an open specification that describes the behavior of a rasterization-based rendering system for real-time 3D graphics.

2
New cards

Who maintains the OpenGL specification?

The OpenGL specification is maintained by the Khronos Group committee called the OpenGL Architectural Review Board (ARB).

3
New cards

What are the characteristics of OpenGL?

OpenGL is cross-platform and language-independent with many bindings available.

4
New cards

What is the difference between Legacy OpenGL and Modern OpenGL?

Legacy OpenGL (1.x, 2.x) uses fixed functions and no shaders, while Modern OpenGL (3.x and higher) is programmable and uses shaders.

5
New cards

What is a Vertex Array Object (VAO)?

A VAO is an OpenGL object that stores the state required for handling vertex data, including attribute configurations and pointers to Vertex Buffer Objects (VBOs).

6
New cards

What is the purpose of the glBindVertexArray function?

glBindVertexArray activates a specific VAO so that subsequent vertex attribute calls will be stored in that VAO.

7
New cards

What are shaders in OpenGL?

Shaders are small programs that run on the GPU allowing for programmable rendering features, like vertex and fragment shaders.

8
New cards

What transformation does a vertex shader perform?

The vertex shader transforms each vertex by applying a series of transformations and outputs the vertex position in clip space.

9
New cards

What is GLSL?

GLSL stands for OpenGL Shading Language and is used to write shaders for OpenGL, resembling the C programming language.

10
New cards

What data types does GLSL support?

GLSL supports scalar types like float and int, vector types like vec2, vec3, and vec4, and matrix types like mat2, mat3, and mat4.

11
New cards

Explain the OpenGL rendering pipeline process.

The OpenGL rendering pipeline begins with vertex processing, followed by primitive processing (assembly of triangles), scan conversion, fragment processing, and finally per-sample operations.

12
New cards

What is the output of a fragment shader?

The output of a fragment shader is the color of each pixel (fragment) that will be displayed on the screen.

13
New cards

What does the function glm.lookAt() do?

glm.lookAt() generates a view matrix based on a camera position (eye), the target point (center), and an up direction (up vector).

14
New cards

What is the purpose of the perspective projection matrix?

The perspective projection matrix transforms 3D coordinates to give a perspective view where distant objects appear smaller than near ones.

15
New cards

What is a mesh in computer graphics?

A mesh is a collection of vertices, edges, and faces that defines the shape of a 3D object.

16
New cards

What is the advantage of using indexed triangles over separate triangles?

Indexed triangles are more memory efficient as they store each vertex position only once, while separate triangles waste memory by repeating vertex positions.

17
New cards

Describe the viewport transformation.

Viewport transformation maps normalized device coordinates (NDC) to screen coordinates, determining how the object is displayed on the screen.