1/43
Looks like no tags are added yet.
Computer Graphics
describes the use of computers to create and manipulate images.
Major Areas of Computer Graphics
Modeling
Rendering
Animation
Modeling
deals with the mathematical specification of shape and appearance properties in a way that can be stored on the computer.
Rendering
deals with the creation of shaded images from 3D computer models.
this produces a raster.
Animation
a technique to create an illusion of motion through a sequence of images.
Raster
is an array of pixels (picture elements) display on screen, arranged in a grid with 2 dimensions.
Resolution
is the number of pixels in the raster.
Precision
is the number of bits used for each pixel.
Buffer (Data Buffer/Buffer Memory)
is a part of a computer’s memory that serves as temporary storage for data while being moved from one location to another.
Framebuffer
pixel data is stored in a region of memory.
Color Buffer
contained by Frame Buffer, which stores RGB values.
Depth Buffer
also contained by Frame buffer.
stores distances from points on scene objects to the virtual camera.
Stencil Buffer
may contained by Frame buffer.
which may be use to store values used in generating advanced effects, such as shadows, reflections, or portal rendering.
frame
each of the images that is displayed is called…
Frame rate
the speed or rate at which these images appear.
is measured in frames per seconds(FPS).
Graphics Processing Unit (GPU)
this features a highly parallel structure that makes it more efficient than CPU’s for rendering computer graphics.
shader
programs run by GPU’s are called…
Application Programming Interface (API)
defines a set of commands, functions, and protocols that can be used in interacting with an external system such as GPU.
API & Shader Language
DirectX API & High-Level Shading Languages (HLSL)
Metal API & Metal Shading Language
OpenGL (Open Graphics Library) API & OpenGL Shading Language (GLSL)
DirectX API & High-Level Shading Languages (HLSL)
used on microsoft platforms, including the Xbox game console.
Metal API & Metal Shading Language
runs on modern Mac computers, iPhones, and iPads.
OpenGL (Open Graphics Library) API & OpenGL Shading Language (GLSL)
cross-platform library.
is the most widely adopted graphics API.
Graphics Pipeline
is an abstract model used to describe a sequence of steps needed in rendering a three-dimensional scene.
increase the efficiency of the rendering process, enabling images to be displayed at faster rates.
Pipelining
this enables a computation task to be split into subtasks thus increasing overall efficiency.
Pipeline Model 4 Stages
Application
Geometry Processing
Rasterization
Pixel Processing
Application
initializing the window where rendered graphics will be displayed; sending data to the GPU.
Geometry Processing
determining the position of each vertex of the geometric shapes to be rendered, implemented by a program known as Vertex Shader.
Rasterization
determining which pixels correspond to the geometric shapes to be rendered.
Pixel Processing
determining the color of each pixel in the rendered image, involving a program called a fragment shader.
Stage 1: Application
this stage primarily involves processes that run on the CPU.
Performed during the Application Stage
Creating a window where the rendered graphics will be displayed.
Reading data required for the rendering process.
Sending data to the GPU.
Creating a window where the rendered graphics will be displayed.
window must be initialized to read the graphics from the GPU framebuffer.
Reading data required for the rendering process.
this data may include vertex attributes, which describe the appearance of the geometric shapes being rendered.
vertex attribute data is stored in GPU memory buffers called vertex buffer objects (VBOs).
images to be used as textures are stored in texture buffers.
Sending data to the GPU
The application needs to specify the associations between attribute data stored in VBOs and attribute variables in the vertex shader program.
these sets of associations can be managed using vertex array objects (VAOs).
Stage 2: Geometry Processing
the shape of the geometric object is defined by a mesh, a collection of points that are grouped into lines or triangle.
vertex
the properties or attributes that are specific to rendering each individual point are grouped together into a data structure.
texture coordinate
which indicate a point in an image that is mapped to the vertex.
normal vector
which indicates the direction perpendicular to a surface and is typically used in lighting calculations.
model transformation
the collection of points defining the intrinsic shape of an object appears to have a particular location, orientation, and size with respect to a virtual three-dimensional world.
project transformation
any points outside the specified region are discarded or clipped from the scene; coordinates expressed at this stage are in clip space.
Stage 3: Rasterization
the points themselves must first be grouped into the desired type of geometric primitive: points, lines, or triangles, consisting of sets of 1, 2, or 3 points.
primitive assembly s3
the process of grouping points into geometric primitives.
fragment s3
is a collection of data used to determine the color of a single pixel in a rendered image.
Stage 4: Pixel Processing
the primary purpose of these stage is to determine the final color of each pixel, storing this data in the color buffer within the framebuffer.\
during the first part of the pixel processing stage, a program called the fragment shader is applied to each of the fragments to calculate their final color