Task 2 - Displaying 3D
Polygon Animations
How
are 3D models displayed? Describe and explain what an API is and a how a Graphics
Pipeline works. What is involved in the rendering process?
- API
- API, also known as application programming interface is a collection of programming instructions for entering a web based application. Software companies release their own APIs to the public so that software developers can design products which are powered by its particular service. APIs are in essence the building blocks for many products which are designed in 3D. APIs are designed for programmers however they are useful for all
Graphics Pipeline
In 3D computer graphics, the graphics pipeline or rendering pipeline refers to the sequence of steps used to create a 2D raster representation of a 3D scene. Plainly speaking, once a 3D model has been created, for instance in a video game or any other 3D computer animation, the graphics pipeline is the process of turning that 3D model into what the computer displays. In the early history of 3D computer graphics, fixed purpose hardware was used to speed up the steps of the pipeline through a fixed function pipeline. Later, the hardware evolved, becoming more general purpose, allowing greater flexibility in graphics rendering as well as more generalized hardware, and allowing the same generalized hardware to perform not only different steps of the pipeline, like in fixed purpose hardware, but even in limited forms of general purpose computing. As the hardware evolved, so did the graphics pipelines, the OpenGL and Direct X pipelines, but the general concept of the pipeline remains the same.
There are multiple stages to the graphics timeline. The first of which is 3D geometric primitives. This step involves creating the scene or environment using geometric shapes. This is commonly done using triangles as they constantly exist in a single plane.
Modelling and Transformation
This changes the local or 2D coordinate system into the 3D coordinate system.
Camera Transformation
Transform the 3D world coordinate system into the 3D camera coordinate system, with the camera as the origin.
lighting
Lighting illuminates the scene and all reflective sections of it. This allows the camera to see what it is pointing at. If there was no lighting then the scene would show up as pitch black which would make it useless.
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
Clipping is when the primitive shapes which aren't in the view of the camera are removed or discarded. This is done to stop them rendering which also saved a significant amount of memory.
Scan Conversion or Rasterisation
Rasterisation 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.
https://en.wikipedia.org/wiki/Graphics_pipeline
Texturing and Fragment Shading
At this stage the individual fragments of the scene are given an individual colour which is based on texture memory or a shader program
Rasterisation 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.
https://en.wikipedia.org/wiki/Graphics_pipeline
Texturing and Fragment Shading
At this stage the individual fragments of the scene are given an individual colour which is based on texture memory or a shader program
No comments:
Post a Comment