Foundations of Graphics and Visual Computing#

Applications of Computer Graphics#

What is Computer Graphics?#

Computer graphics is the field of computing concerned with creating, manipulating, storing, and displaying visual information using computers.

Computer graphics allows computers to represent information using:

  • Images

  • Drawings

  • Shapes

  • Charts

  • Diagrams

  • Animations

  • 3D models

  • Simulations

  • Visual effects

Example

When a student creates a digital drawing using a graphics application, the computer is processing graphical information.

Major Applications#

Entertainment

Computer graphics is widely used in:

  • Video games

  • Movies

  • Animation

  • Visual effects

  • 3D characters

  • Virtual environments

Example

Modern games use real-time graphics to render characters, environments, lighting, shadows, and effects.

Computer-Aided Design (CAD)

CAD applications allow engineers, architects, and designers to create accurate digital models.

  • Building designs

  • Machine parts

  • Electrical layouts

  • Product designs

  • 3D models

Education

Graphics can make learning materials easier to understand.

  • Interactive diagrams

  • Educational animations

  • Simulations

  • 3D models

  • Graphs and charts

Scientific Visualization

Scientists use graphics to represent large or complex datasets.

  • Weather maps

  • Molecular structures

  • Astronomical images

  • Medical data

  • Climate models

Business
  • Presentations

  • Reports

  • Dashboards

  • Data visualization

  • Marketing materials

  • Product demonstrations

Medicine
  • Medical imaging

  • 3D anatomical models

  • Surgical planning

  • Medical simulations

  • Visualization of organs and tissues

User Interfaces

Graphical user interfaces (GUIs) use graphical elements such as:

  • Windows

  • Icons

  • Buttons

  • Menus

  • Dialog boxes

Example

Desktop operating systems, mobile applications, and web applications.

Graphics Systems#

What is a Graphics System?#

A graphics system is a combination of hardware and software used to create, process, store, and display graphical information.

A basic graphics system can be viewed as: Input → Processing → Storage → Output

Major Components#

Input Devices

Allows users to provide graphical information or instructions.

Example

  • Mouse

  • Keyboard

  • Graphics tablet

  • Touchscreen

  • Scanner

  • Digital camera

  • 3D scanner

Processing Unit

The computer processes graphical information using components such as CPU, GPU, and RAM.

The CPU performs general-purpose processing, while the GPU is designed to efficiently perform many graphics-related calculations.

Graphics Software

Graphics software provides tools for creating and manipulating graphical information.

Example

  • Image editors

  • 3D modeling software

  • Animation software

  • CAD software

  • Game engines

  • Visualization software

Display Devices

Graphics must eventually be presented to the user.

Example

  • Monitor

  • Projector

  • Smartphone display

  • Tablet display

  • VR headset

Storage

Example

  • Hard drives

  • SSDs

  • USB drives

  • Memory cards

  • Cloud storage

Pixels and Resolution#

What is a Pixel?#

A pixel, short for picture element, is one of the smallest individual units of a digital raster image. An image can be represented as a grid of pixels.

A pixel can contain information such as color, brightness, and transparency.

Pixel Color#

Digital images commonly represent colors using the RGB color model:

  • R – Red

  • G – Green

  • B – Blue

Different combinations of these values can produce many colors.

Example

RGB(255, 0, 0) → Red RGB(0, 255, 0) → Green RGB(0, 0, 255) → Blue RGB(255, 255, 255) → White RGB(0, 0, 0) → Black

What is Resolution?#

Resolution refers to the number of pixels used to represent an image or display.

A display resolution of 1920 x 1080 means: 1920 pixels horizontally, and 1080 pixels vertically.

Total pixels: 1920, 1080 = 2,073,600 pixels

This is commonly called 1080p.

Resolution and Image Quality#

Generally, a higher pixel count can provide more detail, but image quality also depends on other factors such as:

  • Pixel density

  • Image source

  • Compression

  • Display quality

  • Viewing distance

Pixel Density#

Pixel density describes how many pixels are packed into a physical area of a display. It is commonly expressed in PPI (pixels per inch).

A higher PPI generally allows finer details to be displayed.

Raster vs. Vector Graphics#

One of the fundamental distinctions in computer graphics is between raster and vector graphics.

Raster Graphics#

A raster image represents an image using a grid of pixels.

Common raster formats include JPEG/JPG, PNG, GIF, BPM, and TIFF.

Advantages
  • Excellent for photographs

  • Can represent complex colors

  • Suitable for detailed images

Disasdvantages
  • Enlarging the image can cause pixelation

  • File size can become large

  • Quality depends on resolution

Example

  • Photographs

  • Digital paintings

  • Screenshots

  • Scanned images

Vector Graphics#

A vector image represents graphics using mathematical descriptions of shapes.

Instead of storing every pixel, a vector graphic can be described using points, lines, curves, shapes, and mathematical equations.

Common vector formats include SVG, AI, EPS, and PDF.

Advantages
  • Can be resized without losing sharpness

  • Suitable for logogs and illustrations

  • Objects can be individually edited

  • Often efficient for simple graphics

Disadvantages
  • Not ideal for realistic photographs

  • Complex illustrations can become computationally demanding

Example

  • Logos

  • Icons

  • Diagrams

  • Technical drawings

  • Typography

Graphics Pipeline#

What is a Graphics Pipeline?#

The graphics pipeline is a sequence of processing stages through which graphical data passes before being displayed on a screen.

A simplified graphics pipeline can be represented as:

3D model / input data → Modeling transformation → Viewing transformation → Projection → Clipping → Rasterization → Fragment / Pixel processing → Frame buffer → Display

The exact pipeline varies depending on the graphics system and API, but the general idea is that complex graphical data is progessively transformed into pixels that can be displayed.

Modeling Transformation#

Objects are positioned, rotated, and scaled within a scene.

Example

A 3D object may be moved to a different position, rotated, enlarged, or reduced.

Viewing Transformation#

The scene is transformed according to the position and orientation of the camera or viewer.

Example

In a 3D game, the player’s camera determines what part of the game world is visible.

Projection#

Three-dimensional objects need to be represented on a two-dimensional display.

Perspective Projection

Objects farther away appear smaller. This resembles how humans normally perceive the world.

Orthographic Projection

Objects maintain their relative size regardless of distance. This is often useful for technical drawings and certain visualization applications.

Clipping#

Objects or parts of objects outside the visible area are removed or ignored.

Example

If an object is completely outside the camera’s view, there is no need to render it.

Rasterization#

Converts geometric information into fragments/pixels that can eventually be displayed.

Example

Vector / 3D Shape → Rasterization → Pixel Representation

This is a crucial stage in real-time computer graphics.

Frame Buffer#

The frame buffer stores information about the image that is going to be displayed. It contains the graphical information corresponding to the current frame. The display system uses this information to produce the visible image.

Areas of Visual Computing#

What is Visual Computing?#

Visual computing is a broader field involving the processing, analysis, generation, and understanding of visual information using computers.

It combines areas such as computer graphics, computer vision, image processing, visualization, animation, virtual reality, and augmented reality.

Computer Graphics#

Computer graphics focuses primarily on generating visual content.

Example

  • 3D models

  • Games

  • Animation

  • Digital art

  • Simulations

Computer Vision#

Computer vision focuses on enabling computers to interpret and understand images or videos.

Example

  • Object detection

  • Face detection

  • Image classification

  • Motion tracking

  • Medical image analysis

Image Processing#

Image processing involves manipulating or improving digital images.

Example

  • Brightness adjustment

  • Contrast enhancement

  • Noice reduction

  • Sharpening

  • Image resizing

  • Filtering

Data Visualization#

Data visualization represents information graphically to make patterns and relationships easier to understand.

Example

  • Bar charts

  • Line graphs

  • Pie charts

  • Heat maps

  • Interactive dashboards

Animation#

Animation involves creating the appearance of movement by displaying a sequence of images or changing graphical objets over time.

Example

  • 2D animation

  • 3D animation

  • Character animation

  • Motion graphics

Virtual Reality#

Virtual reality creates an immersive computer-generated environment. Users may interact with the environment through devices such sa VR headsets, motion controllers, and sensors.

Augmented Reality#

Augmented reality adds computer-generated information or objects to the user’s view of the real world.

Example

An AR application may display a virtual object while the user is looking at a real environment through a camera.