Instructor: Shima Rezasoltani
Department: Faculty of Science
Institution: Ontario Tech
Key Concepts: Understand basic graphics terminology.
Traditional Graphics Pipeline: Learn the standard model used in graphics programming.
Graphics Pipeline Overview: Used in OpenGL and other graphics packages.
What are graphic pipelines (AI):
A graphics pipeline is a sequence of steps used in computer graphics to convert geometric data into a raster image (pixels on a screen). It begins with the representation of geometrical models, typically as triangles, and involves various stages including vertex operations, projection, rasterization, and fragment processing. Each stage transforms the data further until it is suitable for display, with a focus on real-time performance and rendering quality, especially in applications like video games and films.
Alternative Models: Global illumination provides different approaches, but this model suffices for course emphasis on traditional methods.
Terminology: Introduction to essential terms and concepts relevant to OpenGL programming.
Starting Point: Begins with geometry represented as a collection of triangles.
Display Technology: Need for effective display devices to visualize geometry.
LCD Displays: Focus on liquid crystal displays commonly used in laptops and monitors.
Basic Mechanism: Liquid crystals alter optical properties under electrical fields.
Construction: Comprise many small cells (pixels) arranged in a rectangular array, with wires for electrical control.
Resolution: Defined by the array’s size, with each pixel functioning as an individual color display unit.
Pixel Capacity: Each cell can display one color; approx. 1-2 million pixels on screens require a significant amount of input data.
Pixel Representation: Visualizing pixels as a 2D array of cells.
Framebuffer: A 2D memory array in graphics cards corresponding to the pixel cells.
Standards: Different transmission standards include VGA, HDMI, DVI, and DisplayPort.
Native Resolution: Each LCD monitor has an optimal native resolution which is best for image clarity. The specific resolution at which an LCD display is designed to operate, providing the clearest and sharpest image by matching its pixel matrix precisely to the output resolution.
Scaling: Refers to the process of resizing the image to fit a different resolution, which can affect image quality if not done properly.
Changing Resolutions: Operating systems can alter display resolution but can lead to blurriness in images compared to legacy CRT monitors.
Complexity of Human Vision: Non-linear response to light intensity impacts display design. Not linear but Logarithmic
Colour Representation: Averages colors using the RGB model (red, green, blue).
Color Triple: Defined as (r, g, b) where values range from 0-255 or 0-1.
Gamut: Total color space represented by monitors.
RGB Limitation: RGB color space does not encompass all colors; different spaces are employed for printers.
Scanning Pattern: Pixels are transmitted one at a time in a specific order, starting from the top left and moving row-wise to the bottom.
Retrace: Time intervals required for CRT monitors to return to the start of a line or the top of the screen after completing a line or screen.
Definition: The frequency at which images are sent to the screen, typically at least 60Hz.
Importance: More significant for CRT technology; less critical for modern LCDs.
Defining Rendering: Converting geometric information (the model) into pixels within a framebuffer.
Rendering Algorithms: Diversity in methods with focus on real-time performance for application in games or high-quality for film.
Process Overview: Movement from a geometrical model (triangles) to pixel representation within a display.
Efficient Conversion: Essential for effective rendering tasks in graphics programming.
Triangles as Models: Commonly used due to their simplicity and ease of manipulation.
Complexity with Curves: Difficulty arises when representing curved surfaces with triangular primitives.
Perspective Projection: Creates a realistic appearance based on viewer's position and directional focus.
Visibility Management: Utilizing the viewing frustum to determine visible triangles and clipping unnecessary ones.
Backface Culling: A technique used to improve rendering efficiency by not drawing triangles facing away from the camera.
Depth Buffering: A method that keeps track of the depth of pixels on the screen, ensuring that the closest objects are rendered in front of those that are farther away.
Triangle Color Assignment: Triangles require a color determined by light interactions, materials, and normal vectors used for computing reflections.
Gouraud Shading: Interpolates colors across the triangle’s surface based on vertex markings done more quickly but less accurately than Phong shading.
Phong Shading: Interpolates normals which yield a more realistic coloring.
Vertex Operations: Transforming vertices into global coordinates, projecting them, and clipping against the viewing frustum.
Fragment Processing: Fate of individual pixels in filling and color computation including the hidden surface algorithm via depth buffer.
Course Outline: Framework for understanding the interrelation of various topics in this course.
Programming Model: Establishes a working model for practical graphics programming, introducing OpenGL.
Other:
Sending the pixels:
Horizontal and vertical retrace: When at the bottom of the screen, there is a small amount of time that isn’t used, this is required by CRT monitors to return the beam to the start of the line or the top of the screen
OpenGL concentrates on speed and the expense of quality
Global illumination is the other way around, examine it later in thecourse
Key Topics Covered: Usage of LCDs, color representation, rendering algorithms, and a detailed breakdown of the graphics pipeline.
Next Steps: The upcoming lecture will focus on OpenGL and implementing the graphics pipeline in practice.