Computer Graphics & Visualization Lecture 1
9 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

What are the three main aspects of computer graphics as mentioned in the text?

Hardware, software, and applications

What is a raster graphic?

  • A type of graphics that uses lines to represent objects.
  • An array of picture elements (pixels) in the frame buffer. (correct)
  • A type of graphics that uses a mathematical equation to create images.
  • A 3D model that can be rotated and viewed from different angles.

Display processors were introduced to solve issues related to the high cost of refreshing the CRT displays in the early days of computing.

True (A)

What was Ivan Sutherland's PhD thesis about?

<p>The potential of man-machine interaction.</p> Signup and view all the answers

Which programming language is used to write WebGL code?

<p>JavaScript.</p> Signup and view all the answers

What are the two types of color theories mentioned in the text?

<p>Additive and Subtractive (A)</p> Signup and view all the answers

What is the name of the function used in WebGL to convert standard JS arrays into typed arrays?

<p>flatten</p> Signup and view all the answers

The text recommends using core JS and HTML and avoiding additional packages like CSS and jQuery for creating web graphics applications.

<p>True (A)</p> Signup and view all the answers

What is the single numerical data type used by JavaScript?

<p>32-bit float.</p> Signup and view all the answers

Flashcards

Computer Graphics

The field of study that uses computers to create and manipulate images, videos, and interactive experiences.

Input Device

A device that captures input and converts it into a form that the computer can understand. Examples include keyboards, mice, and graphics tablets.

Output Device

A device that displays information generated by the computer. Examples include monitors, projectors, and printers.

Frame Buffer

A temporary memory space in the computer where the image being displayed is stored.

Signup and view all the flashcards

Graphics Workstation

A specialized computer system designed for handling graphics-intensive tasks like rendering and visualization.

Signup and view all the flashcards

Wireframe Graphics

A type of graphics system that focuses on representing objects as a collection of connected lines, creating a wireframe-like appearance.

Signup and view all the flashcards

Raster Graphics

A type of graphics system that represents images as a grid of picture elements (pixels), each with its own color value.

Signup and view all the flashcards

Smooth Shading

Creating the illusion of smooth surfaces by blending colors between adjacent pixels.

Signup and view all the flashcards

Bump Mapping

A technique used to represent the interaction of light with surfaces, simulating different materials like wood or metal.

Signup and view all the flashcards

3D Rendering

A technology that allows computers to display images that appear to have depth and volume.

Signup and view all the flashcards

Graphics Card

A specialized hardware component that enhances the performance of graphics-intensive applications.

Signup and view all the flashcards

OpenGL

An application programming interface (API) that provides a set of standardized functions for creating 2D and 3D graphics. Widely used in video games, simulations, and other graphics-heavy applications.

Signup and view all the flashcards

Ray Tracing

A method for generating images by simulating the path of light rays from a light source to the viewer's eye.

Signup and view all the flashcards

Luminance Image

An image that displays only shades of gray, ranging from black to white.

Signup and view all the flashcards

Color Image

An image that displays a range of colors, often using a combination of red, green, and blue (RGB) values.

Signup and view all the flashcards

Three-Color Theory

A theory that explains how the human eye perceives color using three types of cones: red, green, and blue.

Signup and view all the flashcards

Additive Color

A method of color mixing that combines different colors of light to create new colors. Used in displays like CRT monitors and projectors.

Signup and view all the flashcards

Subtractive Color

A method of color mixing where pigments are combined to create new colors. Typically used in printing and painting.

Signup and view all the flashcards

Pinhole Camera

A simple camera model that uses a small hole to project an image of the world onto a screen.

Signup and view all the flashcards

JavaScript (JS)

A programming language used to manipulate and create interactive websites and web applications.

Signup and view all the flashcards

WebGL

A web-based graphics API that uses JavaScript to create interactive 2D and 3D graphics in web browsers. It runs on top of OpenGL.

Signup and view all the flashcards

HTML File

A file format used for storing and displaying HTML documents. Contains the structure and content of a webpage.

Signup and view all the flashcards

C

A programming language designed for creating high-performance applications, often used for graphics processing and data analysis.

Signup and view all the flashcards

Typed Arrays

A type of array in JavaScript that stores data of a specific type, like numbers or characters.

Signup and view all the flashcards

flatten Function

A function in JavaScript that converts a standard JavaScript array into a typed array, which can be used for efficient data transfer to the GPU.

Signup and view all the flashcards

Minimalist Approach

The principle of keeping things as simple as possible and avoiding unnecessary complexity.

Signup and view all the flashcards

Study Notes

Course Information

  • Course Title: Computer Graphics & Visualization
  • Course Code: CSE-423
  • Lecture Number: 1
  • Instructor: Dr. Reda Elbasiony
  • Semester: Fall, 2024
  • University: Egyptian Research-Oriented University (E-JUST)
  • Partnership: Japanese Partnership

What is Computer Graphics?

  • Computer graphics deals with all aspects of creating images using a computer
  • Includes hardware, software, and various applications
  • The image displayed in the presentation originated from an artist's depiction of the sun for a planetarium animation
  • Software used: Maya (built on top of OpenGL)
  • Hardware: Personal computer with a graphics card

Basic Graphics System

  • Input devices (e.g., keyboard, mouse, tablet) send data to the processor (CPU).
  • Data is processed by the CPU and sent to the graphics processor (GPU).
  • The GPU processes the data and stores it in a frame buffer.
  • The output device (e.g., monitor) displays the image from the frame buffer

Computer Graphics: 1950-1960

  • Computer graphics roots trace back to early computing days.
  • Early methods included strip charts and pen plotters
  • Simple displays relied on analog-to-digital (A/D) converters to communicate with cathode ray tubes (CRTs).
  • CRT technology limitations (high refresh costs, slow/expensive/unreliable computers) hindered graphics development during this period.

Cathode Ray Tube (CRT)

  • A CRT converts electrical signals into a visible image
  • Electron gun produces electrons, which are focused and deflected to hit a phosphor coating
  • Deflection in the x and y axes create the image
  • The phosphor glows when struck by electrons

Shadow Mask CRT

  • A shadow mask precisely directs the electron beams from the three electron guns
  • Each beam excites the corresponding color dot in the triad grid
  • This process creates a color image on the screen

Computer Graphics: 1960-1970

  • Wireframe graphics, focusing on drawing lines only
  • Sketchpad, a pioneering system in man-machine interaction
  • Sketchpad introduced the idea of using a light pen to interact with the computer
  • Development of display processors and storage tubes

Sketchpad

  • Ivan Sutherland's PhD thesis at MIT
  • Recognized potential of man-machine interaction
  • Key aspect was the light pen
  • Display processor was crucial in speeding up image generation
  • Development of several common algorithms
  • Further improved computational processing capabilities

Display Processor

  • Special-purpose processor dedicated to refreshing display
  • Graphics are stored in a display list (display file)
  • The host computer compiles the display list and sends it to the display processor (DPU)

Computer Graphics: 1970-1980

  • Introduction of raster graphics
  • Development of graphics standards (IFIPS, GKS, Core)
  • Beginning of the era of workstations and personal computers (PCs)

Raster Graphics

  • Images are generated as an array of pixels stored in the frame buffer
  • This method transitions from lines or wireframes to filled polygons

Computer Graphics: 1980-1990

  • Emergence of realism in computer graphics
  • Techniques: smooth shading, environment mapping, and bump mapping
  • Advancement of special-purpose hardware (e.g., Silicon Graphics geometry engine) and VLSI implementation of graphical pipelines
  • Emergence of industry-standard graphics systems (e.g., PHIGS, RenderMan) and networked graphics

Computer Graphics: 1990-2000

  • Introduction of OpenGL
  • Successful computer-generated movies (e.g., Toy Story)
  • Advancements in hardware capabilities (texture mapping, blending, accumulation, and stencil buffers)

Computer Graphics: 2000-2010

  • Rise of photorealism in computer graphics
  • Graphics cards (e.g., Nvidia, ATI) became dominant in the market
  • Games and game developers played a major role in driving market trends for computer graphics
  • Programmable pipelines were crucial in movie industry (e.g., Maya, Lightwave)
  • Displays technologies were greatly improved.

Generic Flat Panel Display

  • Displays use a grid of light-emitting elements to produce an image

Computer Graphics 2011-

  • Ubiquitous graphics in cell phones and embedded systems
  • OpenGL ES and WebGL were key additions
  • Advancements in 3D movies and TV production

Image Formation

  • Images are formed analogously to physical imaging systems (e.g., cameras, microscopes, telescopes)
  • Two-dimensional images are generated using computer graphics

Elements of Image Formation

  • Objects in the scene
  • Viewer's perspective
  • Light source(s)
  • Attributes affecting light interaction with materials

Light

  • Light is part of the electromagnetic spectrum
  • Visible light wavelengths range from 350 to 750 nm
  • Wavelengths determine the perceived color (e.g., long wavelengths = red, short wavelengths = blue)

Ray Tracing and Geometric Optics

  • Image formation can be achieved by tracing rays of light originating from a point source
  • These rays are tracked as they interact with and reflect off different objects

Luminance and Color Images

  • Luminance images: Monochromatic, using gray levels (like black and white film/television)
  • Color images: Have perceptive attributes of hue, saturation, and lightness

Three-Color Theory

  • Human vision relies on three types of color-sensitive cones
  • Need only match these three values (red, green, and blue) to represent all colors

Shadow Mask CRT

  • Electron beams from separate electron guns create a color image
  • The shadow mask guides beams to precise locations (color dots)

Additive and Subtractive Color

  • Additive color: mixing of primary colors (red, green, blue)
  • Subtractive color: filtering white light using colors like cyan, magenta, yellow (useful for printing)

Pinhole Camera

  • Geometry is used to project 3D points onto a 2D plane
  • Perspective projections are useful in generating 2D image from a 3D model

Coding in WebGL

  • WebGL runs on standard browsers (like Chrome, Firefox, Safari)
  • JavaScript is the programming language used
  • WebGL runs within the browser and utilizes local resources

JavaScript Notes

  • JavaScript (JS) is the primary language of the web
  • All browsers execute JavaScript code.
  • JavaScript is an interpreted object-oriented language
  • Numerous references on JavaScript are available, including books and countless online tutorials

JS Notes

  • JS engines in modern browsers are significantly faster. These concerns do not apply as much to graphics programming, as the GPU will handle most processing.
  • JavaScript (JS) is a versatile language that is often a little excessive in its use.
  • It’s essential to use only the parts of JavaScript that you need. Avoid unnecessary complexity.
  • Don't write your code to resemble the style of another language (like C or Java).

JS Notes (Continued)

  • JavaScript has a limited number of native data types (e.g., numbers, strings, booleans).
  • Only one numerical type (32-bit float). Using floating-point numbers to represent values may cause potential issues with loops.
  • JavaScript utilizes two equality operators (== and ===).
  • Type checking and system implementation details are frequently left to the browser.

JS Arrays

  • JS arrays are objects and inherit methods like push and pop
  • Length property gives the number of elements in the array
  • The structure and syntax of JS arrays are different from what is used in C++ or Java.
  • Arrays in JavaScript are fundamentally different from those used in typical C programs.

Typed Arrays

  • Typed arrays exist for situations where data needs to be sent to the GPU, like in 3D graphics.
  • Typed arrays are designed for passing numeric data directly to the GPU in the 3D graphics environment.
  • Using JavaScript’s standard arrays for GPU data may be very disadvantageous from a performance standpoint. Converting standard JavaScript arrays into typed arrays is crucial to ensure efficient interactions with the GPU for 3D graphics processing.

A Minimalist Approach

  • Focus solely on core JavaScript and HTML
  • Avoid additional packages like jQuery or CSS

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Description

Explore the fundamentals of computer graphics in this first lecture of CSE-423. Learn about the hardware and software involved in creating images, as well as the basic graphics system that processes data. This class is crucial for understanding the principles of image generation for various applications.

More Like This

Use Quizgecko on...
Browser
Browser