370 likes | 480 Views
HCI 530 : Seminar (HCI). Damian Schofield. HCI 530: Seminar (HCI). Transforms Two Dimensional Three Dimensional The Graphics Pipeline. Computer Graphics - Introduction.
E N D
HCI 530 : Seminar (HCI) Damian Schofield
HCI 530: Seminar (HCI) • Transforms • Two Dimensional • Three Dimensional • The Graphics Pipeline
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.
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.
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.
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.
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.
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.
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.
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.
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.
Graphics Rendering Pipeline Stages of the Graphics Pipeline Display The final colored pixels can then be displayed on a computer monitor or other display.
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).
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.
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.
Spline Curves How they work: Parametric curves governed by control points Advantage: Smooth with just a few control points Disadvantage: 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
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.
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.
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
Three-Dimensional Transforms Wireframes Resident Evil A v P F16