Friday, 24 April 2015

HA7 - Displaying 3D Polygon Animations

API

In computer programming, an application programming interface API is a set of routines, protocols, and tools for building software applications. An API expresses a software component in terms of its operations, inputs, outputs, and underlying types. An API defines functionalities that are independent of their respective implementations, which allows definitions and implementations to vary without compromising each other. A good API makes it easier to develop a program by providing all the building blocks. A programmer then puts the blocks together.

http://en.wikipedia.org/wiki/Application_programming_interface

Direct 3D

Direct3D is an application programming interface API created by Microsoft that is used to render three dimensional objects. Introduced with the DirectX API it allows these objects to be rendered without sacrificing performance. Additionally, it allows software applications, including games to be run in full screen mode. If a video card is available Direct3D can utilize hardware acceleration. Although it is owned by Microsoft it can work with other platforms by using Wine, an open source program.

http://www.computerhope.com/jargon/d/direct3d.htm

OpenGL

OpenGL open graphics library is the computer industry's standard application program interface API for defining 2D and 3D graphic images. Prior to OpenGL any company developing a graphical application typically had to rewrite the graphics part of it for each operating system platform and had to be cognizant of the graphics hardware as well. With OpenGL an application can create the same effects in any operating system using any OpenGL adhering graphics adapter.
OpenGL specifies a set of "commands" or immediately executed functions. Each command directs a drawing action or causes special effects.

 A list of these commands can be created for repetitive effects. OpenGL is independent of the windowing characteristics of each operating system, but provides special glue routines for each operating system that enable OpenGL to work in that system's windowing environment. OpenGL comes with a large number of built in capabilities request able through the API. These include hidden surface removal, alpha blending transparency, anti aliasing , texture mapping, pixel operations, viewing and modelling transformations, and atmospheric effects fog, smoke, and haze.

Silicon Graphics, makers of advanced graphics workstations, initiated the development of OpenGL. Other companies on the industry-wide Architecture Review Board include DEC, Intel, IBM, Microsoft, and Sun Micro systems. There is no cost other than learning to developing an application using the OpenGL API. Microsoft offers free downloads of the OpenGL libraries for its Windows systems. Although OpenGL is not itself a development "tool-kit," such tool-kits are available, including Silicon Graphics object-oriented programming 3D graphics tool-kit, Open Inventor.

http://whatis.techtarget.com/definition/OpenGL-Open-Graphics-Library

Graphic Pipeline

In 3D graphics rendering, the stages required to transform a three dimensional image into a two dimensional screen. The stages are responsible for processing information initially provided just as properties at the end points vertices or control points of the geometric primitives used to describe what is to be rendered. The typical primitives in 3D graphics are lines and triangles. The type of properties provided per vertex include x-y-z coordinates, RGB values, translucency, texture, reflectivity and other characteristics.



http://common.ziffdavisinternet.com/encyclopedia_images/GRAFPIPE.GIF

Geometric Primitives

The term geometric primitive in computer graphics and CAD systems is used in various senses, with the common meaning of the simplest  atomic or irreducible geometric objects that the system can handle draw store. Sometimes the subroutines that draw the corresponding objects are called geometric primitives as well. The most primitive primitives are point and straight line segment, which were all that early vector graphics systems had. In constructive solid geometry, primitives are simple geometric shapes such as a cube, cylinder, sphere, cone,pyramid, torus.

https://cshusteridd410.files.wordpress.com/2009/10/geo_primitives1.jpg

Camera Transformation
Transform the 3d world coordinate system then into the 3d camera coordinate system.

Lighting
Flat at vertices but do not interpolate colours. Gouraud at vertices, with interpolated colour. Phong at fragments, with interpolated normals

Transformation
Transformation the canonical view volume to the pixel coordinates of the screen also resale the Z coordinates in the 0 to 1 range and perspective divide is often performed.

Clipping
This is the primitives that now falls outside of the viewing frustum and will not be visible and that will be discarded on this type of stage.

Conversion and Rasterization
Rasterization is processed by which of the 2d image that is  space representation of the scene is converted into a raster that is formatted and the correct pixel values are determined on operations and will be carried out on each single pixel. The stage is more complex that involves multiple steps that often refereed as a huge group under called of the pixel pipeline.

Texturing, Fragment & Shading
The stage of the pipeline individual fragments are assigned by a coloured based on what the values of the interpolated from the vertices during the rasterization from the texture on the memory and from the shader program on it.

Display
This shows like the final design coloured pixel that can be displayed on a computer screen or other screen displays.





























No comments:

Post a Comment