Tuesday, 7 February 2017

HA7 Task 2 - Displaying 3D Polygon Animations

How are 3D Models Displayed?
A 3D model is by 3D modelling which is the process of developing a mathematical representation of any 3-dimensional surface of an object be it inanimate or living by way of a specialized software which results to a product called a 3D model. This can also be displayed as a 2-dimensional image through a process known as 3D rendering. Now a days 3D objects are printable through the use of 3D printing devices. Using a collection of points 3D models are able to represent a physical body, it is connected by various geometric entities like triangles, lines, curved surfaces etc.  Being a collection of data (points and other information), 3D models can be created by hand, algorithmically aka procedural modelling, or scanned. The surfaces that they have can be further defined with texture mapping.

Links:
http://www.dymoresolutions.com/dymore4_0/UsersManual/Introduction/MultibodyRepresentation.html



What is a application programming interface (API)?
API stands for Application Programming Interface which is a set of tools, routine definitions and protocols used for building software and applications. It may be for a web-based system, operating system or a database system, which also gives the facilities to develop applications for that type of system using programming language. A good API will make it easier to develop a type of program by already providing the building blocks needed, which can then just be put together by the programmer.
This also helps to transmit information from one place to another systematically.


OpenGL
OpenGL aka Open Graphics Library is a cross-language, cross-platform application programming interface or API is used to render 2D and 3D vector  graphics. API is typically used to interact with the graphics processing unit or GPU which then allows to achieve a hardware-accelerated rendering.

Open Inventor
Open Inentor was originally called IRIS Inventor which is a C++ oriented retained mode 3D  Graphics toolkit that was designed by SGI in order to provide a much higher layer of programming for OpenGL.

Direct3D
Direct3D is an API or application programming interface created for Microsoft Windows. It is used to render 3-dimensional graphics in applications where performance is important like games.

What is a Graphic Pipeline?
In terms of computer graphics graphic pipeline or rendering pipeline is referring to the sequence of steps that is used to make a 2D raster representation of a 3D scene, which basically means when a 3D model is done being created like maybe in a video game or other 3D animation, graphics pipeline is the process of turning the 3D into what the computer is displaying.

Stages of graphic pipeline

3D geometric primitives
"First, the scene is created out of geometric primitives. Traditionally this is done using triangles, which are particularly well suited to this as they always exist on a single plane."

Modelling and transformation
"Transform from the local coordinate system to the 3d world coordinate system. A model of a teapot in abstract is placed in the coordinate system of the 3d world."

Camera transformation
"Transform the 3d world coordinate system into the 3d camera coordinate system, with the camera as the origin."

Lighting
"Illuminate according to lighting and reflectance. If the teapot is a brilliant white color, but in a totally black room, then the camera sees it as black. In this step the effect of lighting and reflections are calculated."

Projection transformation
"Transform the 3d world coordinates into the 2d view of the camera, for instance the object the camera is centered on would be in the center of the 2d view of the camera. In the case of a Perspective projection, objects which are distant from the camera are made smaller. This is achieved by dividing the X and Y coordinates of each vertex of each primitive by its Z coordinate(which represents its distance from the camera). In an orthographic projection, objects retain their original size regardless of distance from the camera."

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

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. From now on, operations will be carried out on each single pixel. This stage is rather complex, involving multiple steps often referred as a group under the name of pixel pipeline."

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, from a texture in memory, or from a shader program." 

Links:
https://en.wikipedia.org/wiki/Graphics_pipeline#Stages_of_the_graphics_pipeline
http://www.yourdictionary.com/graphics-pipeline

No comments:

Post a Comment