Computer Graphics

144
Computer Graphics Panos Trahanias e-mail: [email protected] ΗΥ358 Spring 2009

description

Computer Graphics. Panos Trahanias e-mail: [email protected]. ΗΥ358 Spring 2009. Ιστορική Αναδρομή. Architecture of a Vector Display. Ιστορική Αναδρομή. Architecture of a Raster Display. Ιστορική Αναδρομή. Random scan versus raster scan. Conceptual Framework of CG. - PowerPoint PPT Presentation

Transcript of Computer Graphics

Page 1: Computer Graphics

Computer GraphicsPanos Trahanias

e-mail: [email protected]

ΗΥ358

Spring 2009

Page 2: Computer Graphics

Panos Trahanias: Computer Graphics

Ιστορική Αναδρομή

Architecture of a Vector Display

Page 3: Computer Graphics

Panos Trahanias: Computer Graphics

Ιστορική Αναδρομή

Architecture of a Raster Display

Page 4: Computer Graphics

Panos Trahanias: Computer Graphics

Ιστορική Αναδρομή

Random scan versus raster scan

Page 5: Computer Graphics

Panos Trahanias: Computer Graphics

Conceptual Framework of CG

Page 6: Computer Graphics

Panos Trahanias: Computer Graphics

Line Drawing – Midpoint Algorithm

Page 7: Computer Graphics

Panos Trahanias: Computer Graphics

Line Drawing – Midpoint Algorithm

Page 8: Computer Graphics

Panos Trahanias: Computer Graphics

Line Drawing – Midpoint Algorithm

Page 9: Computer Graphics

Panos Trahanias: Computer Graphics

Line Drawing – Midpoint Algorithm

Page 10: Computer Graphics

Panos Trahanias: Computer Graphics

Line Drawing – Midpoint Algorithm

Page 11: Computer Graphics

Panos Trahanias: Computer Graphics

Line Drawing – Midpoint Algorithm

Page 12: Computer Graphics

Panos Trahanias: Computer Graphics

Line Drawing – Midpoint Algorithm

Page 13: Computer Graphics

Panos Trahanias: Computer Graphics

Circle Drawing – Midpoint Algorithm

Page 14: Computer Graphics

Panos Trahanias: Computer Graphics

Circle Drawing – Midpoint Algorithm

Page 15: Computer Graphics

Panos Trahanias: Computer Graphics

Circle Drawing – Midpoint Algorithm

Eight-way symmetry

Page 16: Computer Graphics

Panos Trahanias: Computer Graphics

Circle Drawing – Midpoint Algorithm

Page 17: Computer Graphics

Panos Trahanias: Computer Graphics

Circle Drawing – Midpoint Algorithm

Page 18: Computer Graphics

Panos Trahanias: Computer Graphics

Circle Drawing – Midpoint Algorithm

Page 19: Computer Graphics

Panos Trahanias: Computer Graphics

Circle Drawing – Midpoint Algorithm

Page 20: Computer Graphics

Panos Trahanias: Computer Graphics

Circle Drawing – Midpoint Algorithm

Page 21: Computer Graphics

Panos Trahanias: Computer Graphics

Ellipse Drawing – Midpoint Algorithm

Page 22: Computer Graphics

Panos Trahanias: Computer Graphics

Ellipse Drawing – Midpoint Algorithm

Page 23: Computer Graphics

Panos Trahanias: Computer Graphics

Ellipse Drawing – Midpoint Algorithm

Page 24: Computer Graphics

Panos Trahanias: Computer Graphics

Antialiasing – Midpoint Line Algorithm

Increasing Resolution

Page 25: Computer Graphics

Panos Trahanias: Computer Graphics

Antialiasing – Midpoint Line Algorithm

Unweighted Area Sampling

Page 26: Computer Graphics

Panos Trahanias: Computer Graphics

Antialiasing – Midpoint Line Algorithm

Properties of Unweighted Area Sampling: Intensity of a pixel intersected by a line decreases as

the distance between the pixel center and the edge increases.

A primitive (e.g. line) does not influence a pixel at all if they are not intersected.

Equal areas contribute equal intensity, regardless of the distance between the pixel’s center and the area.

Page 27: Computer Graphics

Panos Trahanias: Computer Graphics

Antialiasing – Midpoint Line Algorithm

Unweighted Area Sampling: Box Filter

Page 28: Computer Graphics

Panos Trahanias: Computer Graphics

Antialiasing – Midpoint Line Algorithm

Weighted Area Sampling: Cone Filter

Page 29: Computer Graphics

Panos Trahanias: Computer Graphics

Antialiasing – Midpoint Line Algorithm

Dramatic Effects of the cone filter.

Page 30: Computer Graphics

Panos Trahanias: Computer Graphics

Antialiasing – Midpoint Line Algorithm

Page 31: Computer Graphics

Panos Trahanias: Computer Graphics

Antialiasing – Midpoint Line Algorithm

Page 32: Computer Graphics

Panos Trahanias: Computer Graphics

Antialiasing – Midpoint Line Algorithm

Page 33: Computer Graphics

Panos Trahanias: Computer Graphics

Antialiasing – Midpoint Line Algorithm

Page 34: Computer Graphics

Panos Trahanias: Computer Graphics

Polygon Filling

Page 35: Computer Graphics

Panos Trahanias: Computer Graphics

Polygon Filling

Page 36: Computer Graphics

Panos Trahanias: Computer Graphics

Polygon Filling

Calculation of Span Extrema

Page 37: Computer Graphics

Panos Trahanias: Computer Graphics

Polygon Filling

Page 38: Computer Graphics

Panos Trahanias: Computer Graphics

Polygon Filling

Page 39: Computer Graphics

Panos Trahanias: Computer Graphics

Polygon Filling

Page 40: Computer Graphics

Panos Trahanias: Computer Graphics

Polygon Filling

Page 41: Computer Graphics

Panos Trahanias: Computer Graphics

Polygon Filling

Polygon Filling Algorithm

Page 42: Computer Graphics

Panos Trahanias: Computer Graphics

Polygon Filling

Page 43: Computer Graphics

Panos Trahanias: Computer Graphics

Filling Ellipse Arcs

Page 44: Computer Graphics

Panos Trahanias: Computer Graphics

Clipping Lines

Page 45: Computer Graphics

Panos Trahanias: Computer Graphics

Clipping Lines

Cohen-Sutherland Line-Clipping Algorithm

Page 46: Computer Graphics

Panos Trahanias: Computer Graphics

Clipping Lines

Page 47: Computer Graphics

Panos Trahanias: Computer Graphics

Clipping Lines

Page 48: Computer Graphics

Panos Trahanias: Computer Graphics

Clipping Lines

Page 49: Computer Graphics

Panos Trahanias: Computer Graphics

Clipping Lines

Page 50: Computer Graphics

Panos Trahanias: Computer Graphics

Clipping Lines

Parametric Line-Clipping Algorithm

Page 51: Computer Graphics

Panos Trahanias: Computer Graphics

Clipping Lines

Page 52: Computer Graphics

Panos Trahanias: Computer Graphics

Clipping Lines

Page 53: Computer Graphics

Panos Trahanias: Computer Graphics

Clipping Lines

Page 54: Computer Graphics

Panos Trahanias: Computer Graphics

Geometrical Transformations

2D Transformations - Translation

Page 55: Computer Graphics

Panos Trahanias: Computer Graphics

Geometrical Transformations

2D Transformations - Scaling

Page 56: Computer Graphics

Panos Trahanias: Computer Graphics

Geometrical Transformations

2D Transformations - Rotation

Page 57: Computer Graphics

Panos Trahanias: Computer Graphics

Geometrical Transformations

Homogeneous Coordinates

The XYW homogeneous coordinate space, with the W=1 plane and point P(X,Y,W) projected onto the W=1 plane.

Page 58: Computer Graphics

Panos Trahanias: Computer Graphics

Geometrical Transformations

2D Transformations – Affine Transformations

45o rotation and then nonuniform scaling of the unit cube. The result is an affine transformation.

Page 59: Computer Graphics

Panos Trahanias: Computer Graphics

Geometrical Transformations

2D Transformations – Shear Transformations

Page 60: Computer Graphics

Panos Trahanias: Computer Graphics

Geometrical Transformations

Composition of 2D Transformations

Page 61: Computer Graphics

Panos Trahanias: Computer Graphics

Geometrical Transformations

2D Transformations – the Window-to-Viewport Transformation

Page 62: Computer Graphics

Panos Trahanias: Computer Graphics

Geometrical Transformations

2D Transformations – the Window-to-Viewport Transformation

Page 63: Computer Graphics

Panos Trahanias: Computer Graphics

Geometrical Transformations

2D Transformations – the Window-to-Viewport Transformation

Page 64: Computer Graphics

Panos Trahanias: Computer Graphics

Geometrical Transformations

3D Transformations – Coordinate Systems

Right-handed Coordinate System

Left-handed Coordinate System

Page 65: Computer Graphics

Panos Trahanias: Computer Graphics

Geometrical Transformations

Composition of 3D Transformations

Page 66: Computer Graphics

Panos Trahanias: Computer Graphics

Geometrical Transformations

Composition of 3D Transformations – 1st Approach

Page 67: Computer Graphics

Panos Trahanias: Computer Graphics

Geometrical Transformations

Composition of 3D Transformations – 2nd Approach

Page 68: Computer Graphics

Panos Trahanias: Computer Graphics

Geometrical Transformations

Composition of 3D Transformations

Page 69: Computer Graphics

Panos Trahanias: Computer Graphics

Viewing in 3D

Conceptual model of 3D viewing

Page 70: Computer Graphics

Panos Trahanias: Computer Graphics

Viewing in 3D

Projections - Projectors

Page 71: Computer Graphics

Panos Trahanias: Computer Graphics

Viewing in 3D

Perspective Projections – 1-point PP

Page 72: Computer Graphics

Panos Trahanias: Computer Graphics

Viewing in 3D

Perspective Projections – 2-point PP

Page 73: Computer Graphics

Panos Trahanias: Computer Graphics

Viewing in 3D

Parallel Projections

Page 74: Computer Graphics

Panos Trahanias: Computer Graphics

Viewing in 3D

Parallel Projections – Isometric Projection

Page 75: Computer Graphics

Panos Trahanias: Computer Graphics

Viewing in 3D

Parallel Projections – Oblique Projection

Page 76: Computer Graphics

Panos Trahanias: Computer Graphics

Viewing in 3D

Page 77: Computer Graphics

Panos Trahanias: Computer Graphics

Viewing in 3D

Specifying an Arbitrary 3D View

Page 78: Computer Graphics

Panos Trahanias: Computer Graphics

Viewing in 3D

Specifying an Arbitrary 3D View

Page 79: Computer Graphics

Panos Trahanias: Computer Graphics

Viewing in 3D

Page 80: Computer Graphics

Panos Trahanias: Computer Graphics

Viewing in 3D

Page 81: Computer Graphics

Panos Trahanias: Computer Graphics

Viewing in 3D

Page 82: Computer Graphics

Panos Trahanias: Computer Graphics

Viewing in 3D

Page 83: Computer Graphics

Panos Trahanias: Computer Graphics

Viewing in 3D

The Mathematics of Planar Geometric Projections

Page 84: Computer Graphics

Panos Trahanias: Computer Graphics

Viewing in 3D

Alternative Perspective Projection

Page 85: Computer Graphics

Panos Trahanias: Computer Graphics

Viewing in 3D

Alternative Perspective Projection

Page 86: Computer Graphics

Panos Trahanias: Computer Graphics

Viewing in 3D

Implementation of Planar Geometric Projections

Page 87: Computer Graphics

Panos Trahanias: Computer Graphics

Viewing in 3D

Implementation of 3D Viewing

Page 88: Computer Graphics

Panos Trahanias: Computer Graphics

Viewing in 3D

Parallel Projection

Page 89: Computer Graphics

Panos Trahanias: Computer Graphics

Viewing in 3D

Parallel Projection

Page 90: Computer Graphics

Panos Trahanias: Computer Graphics

Viewing in 3D

Parallel Projection

Page 91: Computer Graphics

Panos Trahanias: Computer Graphics

Viewing in 3D

Parallel Projection

Page 92: Computer Graphics

Panos Trahanias: Computer Graphics

Viewing in 3D

Shearing Matrix

Page 93: Computer Graphics

Panos Trahanias: Computer Graphics

Viewing in 3D

Final Translation / Scaling Step

Page 94: Computer Graphics

Panos Trahanias: Computer Graphics

Viewing in 3D

Perspective Projection

Page 95: Computer Graphics

Panos Trahanias: Computer Graphics

Viewing in 3D

Perspective Projection

Page 96: Computer Graphics

Panos Trahanias: Computer Graphics

Viewing in 3D

Perspective Projection

Page 97: Computer Graphics

Panos Trahanias: Computer Graphics

Viewing in 3D

Perspective Projection

Page 98: Computer Graphics

Panos Trahanias: Computer Graphics

Viewing in 3D

Perspective Projection

Page 99: Computer Graphics

Panos Trahanias: Computer Graphics

Viewing in 3D

Perspective Projection

Step 4 - Shear

Page 100: Computer Graphics

Panos Trahanias: Computer Graphics

Viewing in 3D

Perspective Projection

Page 101: Computer Graphics

Panos Trahanias: Computer Graphics

Viewing in 3D

Perspective Projection

Page 102: Computer Graphics

Panos Trahanias: Computer Graphics

Viewing in 3D

Perspective Projection

Page 103: Computer Graphics

Panos Trahanias: Computer Graphics

Viewing in 3D

Implementation Summary

Page 104: Computer Graphics

Panos Trahanias: Computer Graphics

Visible Surface Determination

Image Precision Approaches Object Precision Approaches

for (each pixel in the image) {

determine the object closest to the viewer that is pierced by the projector through the pixel;

draw the pixel in the appropriate color;

}

for (each object in the world) {

determine those parts of the object whose view is unobstructed by other parts of it or any other object;

draw those parts in the appropriate color;

}

Page 105: Computer Graphics

Panos Trahanias: Computer Graphics

Techniques for Efficient Visible-surface Algorithms

Extents and Bounding Volumes

Page 106: Computer Graphics

Panos Trahanias: Computer Graphics

Techniques for Efficient Visible-surface Algorithms

Back-face Culling

Page 107: Computer Graphics

Panos Trahanias: Computer Graphics

Z-Buffer Algorithm

Page 108: Computer Graphics

Panos Trahanias: Computer Graphics

Z-Buffer Algorithm

Page 109: Computer Graphics

Panos Trahanias: Computer Graphics

Z-Buffer Algorithm

Page 110: Computer Graphics

Panos Trahanias: Computer Graphics

Scan-Line Algorithms

Much like polygon scan-conversion algorithms

Each ET entry contains

Page 111: Computer Graphics

Panos Trahanias: Computer Graphics

Scan-Line Algorithms

Page 112: Computer Graphics

Panos Trahanias: Computer Graphics

Scan-Line Algorithms

Page 113: Computer Graphics

Panos Trahanias: Computer Graphics

Scan-Line Algorithms

Page 114: Computer Graphics

Panos Trahanias: Computer Graphics

Scan-Line Algorithms

Page 115: Computer Graphics

Panos Trahanias: Computer Graphics

Scan-Line Algorithms

Page 116: Computer Graphics

Panos Trahanias: Computer Graphics

Scan-Line Algorithms

Pseudocode for a general scan-line algorithm

Page 117: Computer Graphics

Panos Trahanias: Computer Graphics

Visible-Surface Ray Tracing

Page 118: Computer Graphics

Panos Trahanias: Computer Graphics

Visible-Surface Ray Tracing

Pseudocode for a simple ray tracer

Page 119: Computer Graphics

Panos Trahanias: Computer Graphics

Visible-Surface Ray Tracing

Page 120: Computer Graphics

Panos Trahanias: Computer Graphics

Visible-Surface Ray Tracing

Anti-alised ray tracing

Page 121: Computer Graphics

Panos Trahanias: Computer Graphics

List-Priority Algorithms

The Depth-Sort Algorithm

Page 122: Computer Graphics

Panos Trahanias: Computer Graphics

List-Priority Algorithms

Depth Comparisons

Page 123: Computer Graphics

Panos Trahanias: Computer Graphics

List-Priority Algorithms

The Depth-Sort Algorithm – Tests to resolve ambiguities

The Depth-Sort Algorithm – Tests with polygons reversed

Page 124: Computer Graphics

Panos Trahanias: Computer Graphics

List-Priority Algorithms

The Depth-Sort Algorithm – Results of Tests

Page 125: Computer Graphics

Panos Trahanias: Computer Graphics

List-Priority Algorithms

The Depth-Sort Algorithm – Unnecessary polygon split

Page 126: Computer Graphics

Panos Trahanias: Computer Graphics

Illumination and Shading

Page 127: Computer Graphics

Panos Trahanias: Computer Graphics

Illumination and ShadingDiffuse Reflection

Page 128: Computer Graphics

Panos Trahanias: Computer Graphics

Illumination and Shading

Page 129: Computer Graphics

Panos Trahanias: Computer Graphics

Illumination and Shading

Atmospheric Attenuation

Page 130: Computer Graphics

Panos Trahanias: Computer Graphics

Illumination and Shading

Depth Cueing

Page 131: Computer Graphics

Panos Trahanias: Computer Graphics

Illumination and Shading

Specular Reflection

Page 132: Computer Graphics

Panos Trahanias: Computer Graphics

Illumination and Shading

Page 133: Computer Graphics

Panos Trahanias: Computer Graphics

Illumination and Shading

Page 134: Computer Graphics

Panos Trahanias: Computer Graphics

Illumination and Shading

Page 135: Computer Graphics

Panos Trahanias: Computer Graphics

Illumination and Shading

Page 136: Computer Graphics

Panos Trahanias: Computer Graphics

Illumination and Shading

Surface Normals

Page 137: Computer Graphics

Panos Trahanias: Computer Graphics

Illumination and Shading

Page 138: Computer Graphics

Panos Trahanias: Computer Graphics

Illumination and Shading

Normal Vector Interpolation

Page 139: Computer Graphics

Panos Trahanias: Computer Graphics

Illumination and Shading

Gouraud Shading – Phong Shading

Page 140: Computer Graphics

Panos Trahanias: Computer Graphics

Illumination and Shading

Texture Mapping

Page 141: Computer Graphics

Panos Trahanias: Computer Graphics

Illumination and Shading

Scan-line Shadow Algorithm

Page 142: Computer Graphics

Panos Trahanias: Computer Graphics

Illumination and Shading

Two-Pass Object Precision Shadow Algorithm

Page 143: Computer Graphics

Panos Trahanias: Computer Graphics

Illumination and Shading

Transparency

Page 144: Computer Graphics

Panos Trahanias: Computer Graphics

Illumination and Shading

Calculating the refraction vector