Displaying 3D Polygonal Animations
![]() |
| Shown above is a 3D model of a face going through 3 stages of 3D Rendering. |
3D Models can be and are displayed in a variety of ways. The most commonly used way is rendering. Rendering is when a 2D or 3D wire-frame of a model have features added such as lamination, colouring and shading in order to achieve the most life-like images on screen as possible. There are two primary forms of rendering.
- Pre-Rendering
- Real Time Rendering
| The complexity of such images require Pre-Rendering to be used due to the intensity of the rendering process. |
Real Time Rendering is used primarily within 3D video games, due to the high level of interactivity this type of rendering can provide. Real Time Rendering is primarily the creation of synthetic images at a speed that allows for interaction with a 3D environment. The rate in which Real Time Rendering is measured is called Frame Rates (FPS) or alternatively Hertz (Hz). The Frame Rate is the exact measurement of how quickly the device responsible for the imaging produces the consecutive images.
![]() |
| 3D game graphics such as those featured in Grand Theft Auto V are rendered in real time, allowing for the player to interact with the virtual world via an ingame avatar (The Player Character). |
Examples of applications that utilise rendering include the likes of Blender and Google Sketch Up. It is arguably the most used form of displaying 3D Polygonal Animations.
![]() |
| Blender is one of the 3D applications that utilises rendering to display it's 3D Models. |
One of the main ways of displaying 3D Polygonal Animations is the utilisation of rendering a 2D Raster representation of a 3D scene. The process in order to achieve this is called a graphics pipeline. This is the process of of turning a 3D Model into what is shown onscreen. The pipeline begins by setting up a graphical interface in the form of a bus interface in order to send and and receive commands and data. Upon setting that up, Vertex Processing begins. This is when each vertex is converted to a 2D screen position upon which lighting can be applied to effectively determine the colour. If a programmable vertex shader is utilised, the application can perform custom transformations such as the warping and deformations of shapes.
Upon the completion of the Vertex Processing, Clipping begins. This is when the parts of the images that are not visible on the 2D screenview are removed. Upon this being carried out, the next stage is primitive assembly and triangle setup. This is when the vertices are collected and then converted into traingles. Information is then generated in order to allow the later stages to accurately generate the attributes of the pixels within the triangle. Rasterization then begins. The triangles begin to get filled with pixels known as 'Fragments'. Upon completion, pixels that are being hidden by other objects in a scene, are removed in a proccess called Occlusion Culling. The values of the pixels that underwent Rasterization then are computed based on effects such as Texture, Colour and Fog.
Pixel Shaders are then added, with textures and final colours being added to the fragments. This stage is also called a Fragment Shader, which is a programmable pixel shader that enables the application used to combine the attributes of the pixels such as depth, colour and position onscreen. The textures are user defined with custom shading effects being generated. Pixel Engines then begin used. The final fragment colour is mathematically combined, with its coverage and degree of transparency with exsisting data, being stored at the associated 2D location within the frame buffer in order to produce the pixels final colour at that location. Throughout the entire proccess, a frame buffer controller is interfaced into the physical memory in order to hold the actual pixel values onscreen. The memory of the frame buffer is used to store graphic commands, textures and also at times to store other attributes associated with each pixel.
| As seen above, is the complete graphical pipeline diagram. This shows all stages in the correct order and give's an idea of how the proccess can be carried out. |
API's is also useful for displaying 3D Models. An API (Application Program Interface) is a set of protocols and routines that are used to build software applications. The main function of API's is that the software components are specified on how to interact. API's have also been used for the programming components for Graphical User Interfaces (GUI's). There are two main types of API, Video and Sound. For displaying 3D Polygon Animations, video API's are used.
http://whatis.techtarget.com/definition/rendering
https://en.wikipedia.org/wiki/Graphics_pipeline
https://en.wikipedia.org/wiki/Real-time_rendering
http://www.webopedia.com/TERM/A/API.html
http://www.pcmag.com/encyclopedia/term/43933/graphics-pipeline
Visual References:
https://piamulholland.wordpress.com/unit-66/displaying-3d-polygon-animations/
https://msdn.microsoft.com/en-us/library/windows/desktop/ff476882(v=vs.85).aspx
http://blog.wolfire.com/2010/01/Why-you-should-use-OpenGL-and-not-DirectX
http://www.avatarmovie.com/assets/images/photo-11.jpg
http://stuffpoint.com/grand-theft-auto-v/image/309438-grand-theft-auto-v-environment.jpg
https://en.wikipedia.org/wiki/File:Graphic_Pipeline_New_Tech.png
http://www.pcmag.com/encyclopedia/term/43933/graphics-pipeline
http://www.avatarmovie.com/assets/images/photo-11.jpg
http://stuffpoint.com/grand-theft-auto-v/image/309438-grand-theft-auto-v-environment.jpg
https://en.wikipedia.org/wiki/File:Graphic_Pipeline_New_Tech.png
http://www.pcmag.com/encyclopedia/term/43933/graphics-pipeline



