Computer Graphics Panos Trahanias e-mail: trahania@csd.uoc.gr ΗΥ358 Spring 2009.

Post on 11-Jan-2016

216 views 1 download

Transcript of Computer Graphics Panos Trahanias e-mail: trahania@csd.uoc.gr ΗΥ358 Spring 2009.

Computer GraphicsPanos Trahanias

e-mail: trahania@csd.uoc.gr

ΗΥ358

Spring 2009

Panos Trahanias: Computer Graphics

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

Architecture of a Vector Display

Panos Trahanias: Computer Graphics

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

Architecture of a Raster Display

Panos Trahanias: Computer Graphics

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

Random scan versus raster scan

Panos Trahanias: Computer Graphics

Conceptual Framework of CG

Panos Trahanias: Computer Graphics

Line Drawing – Midpoint Algorithm

Panos Trahanias: Computer Graphics

Line Drawing – Midpoint Algorithm

Panos Trahanias: Computer Graphics

Line Drawing – Midpoint Algorithm

Panos Trahanias: Computer Graphics

Line Drawing – Midpoint Algorithm

Panos Trahanias: Computer Graphics

Line Drawing – Midpoint Algorithm

Panos Trahanias: Computer Graphics

Line Drawing – Midpoint Algorithm

Panos Trahanias: Computer Graphics

Line Drawing – Midpoint Algorithm

Panos Trahanias: Computer Graphics

Circle Drawing – Midpoint Algorithm

Panos Trahanias: Computer Graphics

Circle Drawing – Midpoint Algorithm

Panos Trahanias: Computer Graphics

Circle Drawing – Midpoint Algorithm

Eight-way symmetry

Panos Trahanias: Computer Graphics

Circle Drawing – Midpoint Algorithm

Panos Trahanias: Computer Graphics

Circle Drawing – Midpoint Algorithm

Panos Trahanias: Computer Graphics

Circle Drawing – Midpoint Algorithm

Panos Trahanias: Computer Graphics

Circle Drawing – Midpoint Algorithm

Panos Trahanias: Computer Graphics

Circle Drawing – Midpoint Algorithm

Panos Trahanias: Computer Graphics

Ellipse Drawing – Midpoint Algorithm

Panos Trahanias: Computer Graphics

Ellipse Drawing – Midpoint Algorithm

Panos Trahanias: Computer Graphics

Ellipse Drawing – Midpoint Algorithm

Panos Trahanias: Computer Graphics

Antialiasing – Midpoint Line Algorithm

Increasing Resolution

Panos Trahanias: Computer Graphics

Antialiasing – Midpoint Line Algorithm

Unweighted Area Sampling

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.

Panos Trahanias: Computer Graphics

Antialiasing – Midpoint Line Algorithm

Unweighted Area Sampling: Box Filter

Panos Trahanias: Computer Graphics

Antialiasing – Midpoint Line Algorithm

Weighted Area Sampling: Cone Filter

Panos Trahanias: Computer Graphics

Antialiasing – Midpoint Line Algorithm

Dramatic Effects of the cone filter.

Panos Trahanias: Computer Graphics

Antialiasing – Midpoint Line Algorithm

Panos Trahanias: Computer Graphics

Antialiasing – Midpoint Line Algorithm

Panos Trahanias: Computer Graphics

Antialiasing – Midpoint Line Algorithm

Panos Trahanias: Computer Graphics

Antialiasing – Midpoint Line Algorithm

Panos Trahanias: Computer Graphics

Polygon Filling

Panos Trahanias: Computer Graphics

Polygon Filling

Panos Trahanias: Computer Graphics

Polygon Filling

Calculation of Span Extrema

Panos Trahanias: Computer Graphics

Polygon Filling

Panos Trahanias: Computer Graphics

Polygon Filling

Panos Trahanias: Computer Graphics

Polygon Filling

Panos Trahanias: Computer Graphics

Polygon Filling

Panos Trahanias: Computer Graphics

Polygon Filling

Polygon Filling Algorithm

Panos Trahanias: Computer Graphics

Polygon Filling

Panos Trahanias: Computer Graphics

Filling Ellipse Arcs

Panos Trahanias: Computer Graphics

Clipping Lines

Panos Trahanias: Computer Graphics

Clipping Lines

Cohen-Sutherland Line-Clipping Algorithm

Panos Trahanias: Computer Graphics

Clipping Lines

Panos Trahanias: Computer Graphics

Clipping Lines

Panos Trahanias: Computer Graphics

Clipping Lines

Panos Trahanias: Computer Graphics

Clipping Lines

Panos Trahanias: Computer Graphics

Clipping Lines

Parametric Line-Clipping Algorithm

Panos Trahanias: Computer Graphics

Clipping Lines

Panos Trahanias: Computer Graphics

Clipping Lines

Panos Trahanias: Computer Graphics

Clipping Lines

Panos Trahanias: Computer Graphics

Geometrical Transformations

2D Transformations - Translation

Panos Trahanias: Computer Graphics

Geometrical Transformations

2D Transformations - Scaling

Panos Trahanias: Computer Graphics

Geometrical Transformations

2D Transformations - Rotation

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.

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.

Panos Trahanias: Computer Graphics

Geometrical Transformations

2D Transformations – Shear Transformations

Panos Trahanias: Computer Graphics

Geometrical Transformations

Composition of 2D Transformations

Panos Trahanias: Computer Graphics

Geometrical Transformations

2D Transformations – the Window-to-Viewport Transformation

Panos Trahanias: Computer Graphics

Geometrical Transformations

2D Transformations – the Window-to-Viewport Transformation

Panos Trahanias: Computer Graphics

Geometrical Transformations

2D Transformations – the Window-to-Viewport Transformation

Panos Trahanias: Computer Graphics

Geometrical Transformations

3D Transformations – Coordinate Systems

Right-handed Coordinate System

Left-handed Coordinate System

Panos Trahanias: Computer Graphics

Geometrical Transformations

Composition of 3D Transformations

Panos Trahanias: Computer Graphics

Geometrical Transformations

Composition of 3D Transformations – 1st Approach

Panos Trahanias: Computer Graphics

Geometrical Transformations

Composition of 3D Transformations – 2nd Approach

Panos Trahanias: Computer Graphics

Geometrical Transformations

Composition of 3D Transformations

Panos Trahanias: Computer Graphics

Viewing in 3D

Conceptual model of 3D viewing

Panos Trahanias: Computer Graphics

Viewing in 3D

Projections - Projectors

Panos Trahanias: Computer Graphics

Viewing in 3D

Perspective Projections – 1-point PP

Panos Trahanias: Computer Graphics

Viewing in 3D

Perspective Projections – 2-point PP

Panos Trahanias: Computer Graphics

Viewing in 3D

Parallel Projections

Panos Trahanias: Computer Graphics

Viewing in 3D

Parallel Projections – Isometric Projection

Panos Trahanias: Computer Graphics

Viewing in 3D

Parallel Projections – Oblique Projection

Panos Trahanias: Computer Graphics

Viewing in 3D

Panos Trahanias: Computer Graphics

Viewing in 3D

Specifying an Arbitrary 3D View

Panos Trahanias: Computer Graphics

Viewing in 3D

Specifying an Arbitrary 3D View

Panos Trahanias: Computer Graphics

Viewing in 3D

Panos Trahanias: Computer Graphics

Viewing in 3D

Panos Trahanias: Computer Graphics

Viewing in 3D

Panos Trahanias: Computer Graphics

Viewing in 3D

Panos Trahanias: Computer Graphics

Viewing in 3D

The Mathematics of Planar Geometric Projections

Panos Trahanias: Computer Graphics

Viewing in 3D

Alternative Perspective Projection

Panos Trahanias: Computer Graphics

Viewing in 3D

Alternative Perspective Projection

Panos Trahanias: Computer Graphics

Viewing in 3D

Implementation of Planar Geometric Projections

Panos Trahanias: Computer Graphics

Viewing in 3D

Implementation of 3D Viewing

Panos Trahanias: Computer Graphics

Viewing in 3D

Parallel Projection

Panos Trahanias: Computer Graphics

Viewing in 3D

Parallel Projection

Panos Trahanias: Computer Graphics

Viewing in 3D

Parallel Projection

Panos Trahanias: Computer Graphics

Viewing in 3D

Parallel Projection

Panos Trahanias: Computer Graphics

Viewing in 3D

Shearing Matrix

Panos Trahanias: Computer Graphics

Viewing in 3D

Final Translation / Scaling Step

Panos Trahanias: Computer Graphics

Viewing in 3D

Perspective Projection

Panos Trahanias: Computer Graphics

Viewing in 3D

Perspective Projection

Panos Trahanias: Computer Graphics

Viewing in 3D

Perspective Projection

Panos Trahanias: Computer Graphics

Viewing in 3D

Perspective Projection

Panos Trahanias: Computer Graphics

Viewing in 3D

Perspective Projection

Panos Trahanias: Computer Graphics

Viewing in 3D

Perspective Projection

Step 4 - Shear

Panos Trahanias: Computer Graphics

Viewing in 3D

Perspective Projection

Panos Trahanias: Computer Graphics

Viewing in 3D

Perspective Projection

Panos Trahanias: Computer Graphics

Viewing in 3D

Perspective Projection

Panos Trahanias: Computer Graphics

Viewing in 3D

Implementation Summary

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;

}

Panos Trahanias: Computer Graphics

Techniques for Efficient Visible-surface Algorithms

Extents and Bounding Volumes

Panos Trahanias: Computer Graphics

Techniques for Efficient Visible-surface Algorithms

Back-face Culling

Panos Trahanias: Computer Graphics

Z-Buffer Algorithm

Panos Trahanias: Computer Graphics

Z-Buffer Algorithm

Panos Trahanias: Computer Graphics

Z-Buffer Algorithm

Panos Trahanias: Computer Graphics

Scan-Line Algorithms

Much like polygon scan-conversion algorithms

Each ET entry contains

Panos Trahanias: Computer Graphics

Scan-Line Algorithms

Panos Trahanias: Computer Graphics

Scan-Line Algorithms

Panos Trahanias: Computer Graphics

Scan-Line Algorithms

Panos Trahanias: Computer Graphics

Scan-Line Algorithms

Panos Trahanias: Computer Graphics

Scan-Line Algorithms

Panos Trahanias: Computer Graphics

Scan-Line Algorithms

Pseudocode for a general scan-line algorithm

Panos Trahanias: Computer Graphics

Visible-Surface Ray Tracing

Panos Trahanias: Computer Graphics

Visible-Surface Ray Tracing

Pseudocode for a simple ray tracer

Panos Trahanias: Computer Graphics

Visible-Surface Ray Tracing

Panos Trahanias: Computer Graphics

Visible-Surface Ray Tracing

Anti-alised ray tracing

Panos Trahanias: Computer Graphics

List-Priority Algorithms

The Depth-Sort Algorithm

Panos Trahanias: Computer Graphics

List-Priority Algorithms

Depth Comparisons

Panos Trahanias: Computer Graphics

List-Priority Algorithms

The Depth-Sort Algorithm – Tests to resolve ambiguities

The Depth-Sort Algorithm – Tests with polygons reversed

Panos Trahanias: Computer Graphics

List-Priority Algorithms

The Depth-Sort Algorithm – Results of Tests

Panos Trahanias: Computer Graphics

List-Priority Algorithms

The Depth-Sort Algorithm – Unnecessary polygon split

Panos Trahanias: Computer Graphics

Illumination and Shading

Panos Trahanias: Computer Graphics

Illumination and ShadingDiffuse Reflection

Panos Trahanias: Computer Graphics

Illumination and Shading

Panos Trahanias: Computer Graphics

Illumination and Shading

Atmospheric Attenuation

Panos Trahanias: Computer Graphics

Illumination and Shading

Depth Cueing

Panos Trahanias: Computer Graphics

Illumination and Shading

Specular Reflection

Panos Trahanias: Computer Graphics

Illumination and Shading

Panos Trahanias: Computer Graphics

Illumination and Shading

Panos Trahanias: Computer Graphics

Illumination and Shading

Panos Trahanias: Computer Graphics

Illumination and Shading

Panos Trahanias: Computer Graphics

Illumination and Shading

Surface Normals

Panos Trahanias: Computer Graphics

Illumination and Shading

Panos Trahanias: Computer Graphics

Illumination and Shading

Normal Vector Interpolation

Panos Trahanias: Computer Graphics

Illumination and Shading

Gouraud Shading – Phong Shading

Panos Trahanias: Computer Graphics

Illumination and Shading

Texture Mapping

Panos Trahanias: Computer Graphics

Illumination and Shading

Scan-line Shadow Algorithm

Panos Trahanias: Computer Graphics

Illumination and Shading

Two-Pass Object Precision Shadow Algorithm

Panos Trahanias: Computer Graphics

Illumination and Shading

Transparency

Panos Trahanias: Computer Graphics

Illumination and Shading

Calculating the refraction vector