0% found this document useful (0 votes)
2 views8 pages

Chapter 1 Computer Graphics

The document provides an overview of digital graphics concepts, including pixel-based and vector graphics, as well as essential elements of 3D graphics such as geometric modeling, projection, and rendering. It also covers hardware and software components related to graphics, including APIs like OpenGL and WebGL, and concepts like shaders and transformations. Key terms and definitions are outlined to facilitate understanding of graphics programming and image creation.

Uploaded by

amooony51
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views8 pages

Chapter 1 Computer Graphics

The document provides an overview of digital graphics concepts, including pixel-based and vector graphics, as well as essential elements of 3D graphics such as geometric modeling, projection, and rendering. It also covers hardware and software components related to graphics, including APIs like OpenGL and WebGL, and concepts like shaders and transformations. Key terms and definitions are outlined to facilitate understanding of graphics programming and image creation.

Uploaded by

amooony51
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Section 1.

Painting and Drawing

Pixel
A digital image is made up of rows and columns of small rectangles called pixels. To specify
a digital image, a color is assigned to each pixel in the image.

grayscale
Refers to a color scheme or image in which each color is a shade of gray (where the term
"shade of gray" here includes black and white). Typically, 256 shades of gray are used.
Grayscale is also called "monochrome."

indexed color
A color scheme in which colors are selected from a limited palette of colors. For example, if
the palette contains 256 colors, then a color can be specified by an eight-bit integer, giving its
position, or index, in the list of colors.

frame buffer
A region of memory that contains color data for a digital image. Most often refers to the
memory containing the image that appears on the computer's screen.

raster graphics
Pixel-based graphics in which an image is specified by assigning a color to each pixel in a
grid of pixels.

vector graphics
Shape-based graphics in which an image is specified as a list of the shapes or objects that
appear in the image.
attribute
A property, such as color, of a graphical object. An image can be specified by the geometric
shapes that it contains, together with their attributes.

display list
A list of graphics primitives and attributes which can be traversed to create all or part of an
image. Display lists were used in some early vector-graphics hardware. They were also available
in traditional OpenGL.

painting program
A computer program for creating images using raster-style graphics, where the user creates
the image by controlling the colors of each pixel.

drawing program
A computer program for creating images using vector-style graphics, where the user creates
the image by specifying shapes that make up the image and their attributes.

lossless data compression


A scheme for reducing the size of a dataset without losing any of the information in that
dataset. The original data can be recovered exactly from the compressed data. The image formats
GIF and PNG use lossless data compression to reduce the size of the image file.

lossy data compression


A scheme for reducing the size of a dataset in which some of the information in the dataset
can be lost. The data that is recovered from the compressed data can differ from the original data.
The image format JPEG use lossy data compression to reduce the size of the image file.

coordinate system
A way of assigning numerical coordinates to geometric points. In two dimensions, each point
corresponds to a pair of numbers. In three dimensions, each point corresponds to a triple of
numbers.
Section 1.2

Elements of 3D Graphics

geometric modeling
Creating a scene by specifying the geometric objects contained in the scene, together with
geometric transforms to be applied to them and attributes that determine their appearance.

projection
A transformation that maps coordinates in 3D to coordinates in 2D. Projection is used to
convert a three-dimensional scene into a two-dimensional image.

geometric primitive
Geometric objects in a graphics system, such as OpenGL, that are not made up of simpler
objects. Examples in OpenGL include points, lines, and triangles, but the set of available
primitives depends on the graphics system. (Note that as the term is used in OpenGL, a single
primitive can be made up of many points, line segments, or triangles.)

hierarchical modeling
Creating complex geometric models in a hierarchical fashion, starting with geometric
primitives, combining them into components that can then be further combined into more
complex components, and so on.

geometric transform
A coordinate transformation; that is, a function that can be applied to each of the points in a
geometric object to produce a new object. Common transforms include scaling, rotation, and
translation.

scaling
A geometric transform that multiplies each coordinate of a point by a number called the
scaling factor. Scaling increases or decreases the size of an object, but also moves its points
closer to or farther from the origin. Scaling can be uniform—the same in every direction—or
non-uniform—with a different scaling factor in each coordinate direction. A negative scaling
factor can be used to apply a reflection.

rotation
A geometric transform that rotates each point by a specified angle about some point (in 2D)
or axis (in 3D).

translation
A geometric transform that adds a given translation amount to each coordinate of a point.
Translation is used to move objects without changing their size or orientation.

material
The properties of an object that determine how that object interacts with light in the
environment. Material properties in OpenGL include, for example, diffuse color, specular color,
and shininess.

texture
Variation in some property from point-to-point on an object. The most common type is
image texture. When an image texture is applied to a surface, the surface color varies from point
to point.

lighting
Using light sources in a 3D scene, so that the appearance of objects in the scene can be
computed based on the interaction of light with the objects' material properties.

viewing
Setting the position and orientation of the viewer in a 3D world, which determine what will
be visible when the 2D image of a 3D world is rendered.

rasterization
The process of creating a raster image, that is one made of pixels, from other data that
specifies the content of the image. For example, a vector graphics image must be rasterized in
order to be displayed on a computer screen.

rendering
The process of producing a 2D image from a 3D scene description.

animation
A sequence of images that, when displayed quickly one after the other, will produce the
impression of continuous motion or change. The term animation also refers to the process of
creating such image sequences.

Section 1.3

Hardware and Software

OpenGL
A family of computer graphics APIs that is implemented in many graphics hardware devices.
There are several versions of the API, and there are implementations, or "bindings" for several
different programming languages. Versions of OpenGL for embedded systems such as mobile
phones are known as OpenGL ES. WebGL is a version for use on Web pages. OpenGL can be
used for 2D as well as for 3D graphics, but it is most commonly associated with 3D.

WebGL
A 3D graphics API for use on web pages. WebGL programs are written in the JavaScript
programming language and display their images in HTML canvas elements. WebGL is based on
OpenGL ES, the version of OpenGL for embedded systems, with a few changes to adapt it to the
JavaScript language and the Web environment.

CPU
The Central Processing Unit in a computer, the component that actually executes programs.
The CPU reads machine language instructions from the computer's memory and carries them
out.

GPU
Graphics Processing Unit, a computer hardware component that performs graphical
computations that create and manipulate images. Operations such as drawing a line on the screen
or rendering a 3D image are done in the GPU, which is optimized to perform such operations
very quickly.

API
Application Programming Interface. A collection of related classes, functions, constants, etc.,
for performing some task. An API is an "interface" in the sense that it can be used without
understanding how its functionality is actually implemented.

Metal
Apple's proprietary API for 3D graphics and computation on MacOS computers and iOS
devices.

Direct3D
Microsoft's proprietary API for 3D graphics on the Windows operating system.

WebGPU
A new JavaScript graphics API, similar to WebGL, but designed to let web programs access
modern GPU capabilities such as compute shaders.

vertex
One of the points that define a geometric primitive, such as the two endpoints of a line
segment or the three vertices of a triangle. (The plural is "vertices.") A vertex can be specified in
a coordinate system by giving its x and y coordinates in 2D graphics, or its x, y, and z
coordinates in 3D graphics.

VBO
Vertex Buffer Object. A block of memory that can hold the coordinates or other attributes for
a set of vertices. A VBO can be stored on a GPU. VBOs make it possible to send such data to the
GPU once and then reuse it several times. In OpenGL, VBOs are used with the functions
glDrawArrays and glDrawElements.
texture object
A data structure that can potentially be stored on the graphics card, and which can hold a
texture image, a set of mipmaps, and configuration data such as the current setting for the
minification and magnification filters. Using texture objects makes it possible to switch rapidly
between textures without having to reload the data into the graphics card.

texture
Variation in some property from point-to-point on an object. The most common type is
image texture. When an image texture is applied to a surface, the surface color varies from point
to point.

shader
A program to be executed at some stage of the rendering pipeline. OpenGL shaders are
written in the GLSL programming languages. For WebGL, only vertex shaders and fragment
shaders are supported. WebGPU also has compute shaders, which are used in compute pipelines.

vertex shader
A shader program that will be executed once for each vertex in a primitive. A vertex shader
must compute the vertex coordinates in the clip coordinate system. It can also compute other
properties, such as color.

fragment shader
A shader program that will be executed once for each pixel in a primitive. A fragment shader
must compute a color for the pixel, or discard it. Fragment shaders are also called pixel shaders.

geometric transform
A coordinate transformation; that is, a function that can be applied to each of the points in a
geometric object to produce a new object. Common transforms include scaling, rotation, and
translation.

lighting
Using light sources in a 3D scene, so that the appearance of objects in the scene can be
computed based on the interaction of light with the objects' material properties.
GLSL
OpenGL Shader Language, the programming language that is used to write shader programs
for use with OpenGL.

You might also like