37
HCI 530 : Seminar (HCI) Damian Schofield

HCI 530 : Seminar (HCI)

  • Upload
    howell

  • View
    65

  • Download
    0

Embed Size (px)

DESCRIPTION

HCI 530 : Seminar (HCI). Damian Schofield. HCI 530: Seminar (HCI). Transforms Two Dimensional Three Dimensional The Graphics Pipeline. Computer Graphics - Introduction. - PowerPoint PPT Presentation

Citation preview

Page 1: HCI 530 : Seminar (HCI)

HCI 530 : Seminar (HCI)• Damian Schofield

Page 2: HCI 530 : Seminar (HCI)

HCI 530: Seminar (HCI)• Transforms

– Two Dimensional – Three Dimensional

• The Graphics Pipeline

Page 3: HCI 530 : Seminar (HCI)

Computer Graphics - Introduction

Three Dimensional (3D) computer graphics (in contrast to 2D computer graphics) are graphics that use a three-dimensional representation of geometric data (often Cartesian) that is stored in the computer for the purposes of performing calculations and rendering 2D images.

Such images may be for later display or for real-time viewing.

Page 4: HCI 530 : Seminar (HCI)

Computer Graphics - Introduction

Despite these differences, 3D computer graphics rely on many of the same algorithms as 2D computer vector graphics in the wire-frame model and 2D computer raster graphics in the final rendered display. In computer graphics software, the distinction between 2D and 3D is occasionally blurred;

2D applications may use 3D techniques to achieve effects such as lighting, and primarily 3D may use 2D rendering techniques.

Page 5: HCI 530 : Seminar (HCI)

Computer Graphics - Introduction

3D computer graphics are often referred to as 3D models. Apart from the rendered graphic, the model is contained within the graphical data file.

However, there are differences. A 3D model is the mathematical representation of any three-dimensional object (either inanimate or living). A model is not technically a graphic until it is visually displayed.

Due to 3D printing (virtual prototyping), 3D models are not confined to virtual space.

A model can be displayed visually as a two-dimensional image through a process called 3D rendering, or used in non-graphical computer simulations and calculations.

Page 6: HCI 530 : Seminar (HCI)

Graphics Rendering Pipeline

Page 7: HCI 530 : Seminar (HCI)

Graphics Rendering Pipeline

Stages of the Graphics Pipeline

Transformation

This stage consumes data about polygons with vertices, edges and faces that constitute the whole scene.

A matrix controls the linear transformations (scaling, rotation, translation, etc.) and viewing transformations (world and view space) that are to be applied on this data.

Page 8: HCI 530 : Seminar (HCI)

Graphics Rendering Pipeline

Stages of the Graphics Pipeline

Per-vertex lighting

Geometry in the complete 3D scene is lit according to the defined locations of light sources and reflectance and other surface properties.

Current hardware implementations of the graphics pipeline compute lighting only at the vertices of the polygons being rendered.

Per-fragment (ie. per-pixel) lighting can be done on modern graphics hardware as a post-rasterization process by means of a shader program.

Page 9: HCI 530 : Seminar (HCI)

Graphics Rendering Pipeline

Stages of the Graphics Pipeline

Viewing transformation

Objects are transformed from 3D world space coordinates into a 3D coordinate system based on the position and orientation of a virtual camera.

This results in the original 3D scene as seen from the camera’s point of view, defined in what is called eye space or camera space.

Primitives generation

After the transformation, new primitives are generated from those primitives that were sent to the beginning of the graphics pipeline.

Page 10: HCI 530 : Seminar (HCI)

Graphics Rendering Pipeline

Stages of the Graphics Pipeline

Projection transformation

In this stage of the graphics pipeline, geometry is transformed from the eye space of the rendering camera into 2D image space, mapping the 3D scene onto a plane as seen from the virtual camera.

Page 11: HCI 530 : Seminar (HCI)

Graphics Rendering Pipeline

Stages of the Graphics Pipeline

Clipping

Geometric primitives that now fall outside of the viewing frustum will not be visible and are discarded at this stage.

Clipping is not necessary to achieve a correct image output, but it accelerates the rendering process by eliminating the unneeded rasterization and post-processing on primitives that will not appear anyway.

Page 12: HCI 530 : Seminar (HCI)

Graphics Rendering Pipeline

Stages of the Graphics Pipeline

Scan conversion or rasterization

Rasterization is the process by which the 2D image space representation of the scene is converted into raster format and the correct resulting pixel values are determined.

Texturing, fragment shading

At this stage of the pipeline individual fragments (or pre-pixels) are assigned a color based on values interpolated from the vertices during rasterization or from a texture in memory.

Page 13: HCI 530 : Seminar (HCI)

Graphics Rendering Pipeline

Stages of the Graphics Pipeline

Display

The final colored pixels can then be displayed on a computer monitor or other display.

Page 14: HCI 530 : Seminar (HCI)

Shapes

The shape of an object located in some space is the part of that space occupied by the object, as determined by its external boundary – abstracting from other properties such as colour, content, and material composition, as well as from the object's other spatial properties (position and orientation in space; size).

Page 15: HCI 530 : Seminar (HCI)

Shapes

Page 16: HCI 530 : Seminar (HCI)

Shapes

Page 17: HCI 530 : Seminar (HCI)

Shapes

Page 18: HCI 530 : Seminar (HCI)

Shapes

Page 19: HCI 530 : Seminar (HCI)

Shapes

Page 20: HCI 530 : Seminar (HCI)

Shapes

Page 21: HCI 530 : Seminar (HCI)

Shapes

Page 22: HCI 530 : Seminar (HCI)

Spline Curves

In mathematics, a spline is a special function defined piecewise by polynomials.

In interpolating problems, spline interpolation is often preferred to polynomial interpolation because it yields similar results, even when using low-degree polynomials, while avoiding Runge's phenomenon for higher degrees.

Page 23: HCI 530 : Seminar (HCI)

Spline Curves

In the computer science subfields of computer-aided design and computer graphics, the term "spline" more frequently refers to a piecewise polynomial (parametric) curve.

Splines are popular curves in these subfields because of the simplicity of their construction, their ease and accuracy of evaluation, and their capacity to approximate complex shapes through curve fitting and interactive curve design.

Page 24: HCI 530 : Seminar (HCI)

Spline Curves

Page 25: HCI 530 : Seminar (HCI)

Spline Curves

How they work: Parametric curves governed by control points

Advantage: Smooth with just a few control pointsDisadvantage: Can be hard to control

Uses:– representation of smooth shapes, either as outlines in 2D or with Patches or Subdivision Surfaces in 3D– animation Paths for tweening– approximation of truncated Gaussian Filters

Page 26: HCI 530 : Seminar (HCI)

Moving from 2D to 3D

Page 27: HCI 530 : Seminar (HCI)

Moving from 2D to 3D

Page 28: HCI 530 : Seminar (HCI)

Moving from 2D to 3D

Page 29: HCI 530 : Seminar (HCI)

Polygons and Meshes

Polygons are used in computer graphics to compose images that are three-dimensional in appearance.

Usually (but not always) triangular, polygons arise when an object's surface is modeled, vertices are selected, and the object is rendered in a wire frame model.

This is quicker to display than a shaded model; thus the polygons are a stage in computer animation. The polygon count refers to the number of polygons being rendered per frame.

Page 30: HCI 530 : Seminar (HCI)

Polygons and Meshes

A polygon mesh or unstructured grid is a collection of vertices, edges and faces that defines the shape of a polyhedral object in 3D computer graphics and solid modeling.

The faces usually consist of triangles, quadrilaterals or other simple convex polygons, since this simplifies rendering, but may also be composed of more general concave polygons, or polygons with holes.

Page 31: HCI 530 : Seminar (HCI)

Polygons and Meshes

Page 32: HCI 530 : Seminar (HCI)

Polygons and Meshes

Page 33: HCI 530 : Seminar (HCI)

Polygons and Meshes

Page 34: HCI 530 : Seminar (HCI)

Polygons and Meshes

Page 35: HCI 530 : Seminar (HCI)

Three-Dimensional Transforms

Page 36: HCI 530 : Seminar (HCI)

Three-Dimensional Transforms

 Uses of homogenous co-ordinates in three dimensions :

• Placing sub-objects in parent’s coordinate system to construct hierarchical scene graph

- transforming primitives in own coordinate system• View volume normalization

- mapping arbitrary view volume into canonical view volume along z-axis

• Parallel (orthographic, oblique) and perspective projection• Perspective transformation