Site Loader

Introduction The majority of games that you have ever played wouldn’t have been possible to make if it wasn’t for the technology behind 3D.  And it isn’t just in games; there are multiple industries and usages of 3D used throughout the world.  Have you ever wondered what was behind anything 3D you see?  How are the models made?  What programs are used? Applications of 3D As I mentioned, there are several other places that you can find 3D being utilized.  A lot of films and images have 3D models designed for them in order to give them a more realistic feel.  There are also a lot of movies that are made entirely from 3D models, also known as animations, such as recent Disney movies. Product designers use 3D models to present their products in a much cheaper method.  If they made a physical product they would have to pay for the materials so modelling their product in 3D is an effective way of saving money while still achieving their goal of presenting their product. 3D models are also used in architecture.  This includes ideas for buildings or anything an architect may be designing things for.  When someone is designing buildings, they must consider the laws of physics and anything else necessary to keep it accurate.  If they ended up building something which didn’t have any considerations like this, then the building would not be successful and could potentially be dangerous. Sometimes 3D models are used in web design.  In order to add professionalism to a website, some people use 3D models in their backgrounds for example.  You could have a background of a futuristic city which had been modelled to add impact. Naturally you’ll find 3D models used in games.  Practically everything you’ll find in a game has been 3D modelled excluding 2D games.  Character models, buildings, weapons, roads, tools, anything, these have all been modelled by someone. Displaying 3D Polygon AnimationsAPIAPI (Application Programming Interface) is basically a set of subroutine definitions, protocols and tools for building application software.  An API provides all the parts that are needed in order to develop a computer program with the help of the programmer putting all those parts together.  Some things that API’s are used for include operating systems, computer hardware, a software library and more.Direct3D is an example of an API.  It is used to draw primitives (such as triangles and lines).  This is used for the Xbox’s and also for Microsoft’s Windows (an operating system).Another example of an API is OpenGL (Open Graphics Library).  Before OpenGL, any company that was developing a graphical application had to rewrite the graphics part for each operating system and be aware of the graphics hardware too which would have been a big hassle.  However, OpenGL allows an application to make the same effects in any of the operating systems which were also using OpenGL.  It is an API, so it has a set of commands which in this API will direct a drawing action or cause special effects when executed.Graphics PipelineThe graphics pipelines job basically is to convert a 3D scene into a 2D image based on where the camera is positioned.In the application you’re using for rendering, you want to define what geometry you want to be rendered to the screen and this is usually defined using triangles, lines, points, etc (geometric primitives).  For example, a triangle can be made out of 3 points and a square could be made of 2 triangles.  If we wanted to render a triangle, we’d define the 3 points for the triangle in your application and these points will then be in the system’s memory.  Then the GPU accesses these points and then an API such as Direct3D or OpenGL will be used in order to transfer the defined points from the system memory to the GPU memory.Vertices in mathematics is defining where a certain point is (e.g X1, Y1).  In graphics programming a new rule is added.  Not only do we define where the point will be, but we need to define the colour.  Instead of (X1, Y1), we’re defining it like (X1, Y1, blue) if we wanted the point to be blue.You could say shaders take inputs and turn them into outputs.  It takes the given inputs and gives outputs without modifying them.  The outputs are fed to the primitive assembly stage (breaks down geometry down into points, lines, triangles, etc).  A given shader is executed several times in parallel for independent values.  The values are independent and need to be processed in the same way which is why they are done in parallel.  The independent inputs to the vertex shaders can be the vertices of a triangle.  A pass-through vertex shader takes the shader inputs and makes these into outputs without modification.  The 3 points of the triangle are found in the memory and each vertex is given to the vertex shader instances which are running in parallel.Clipping is separating the primitives that are on the boundary between the inside of the viewing area and the outside into several primitives.  An advantage of this is that only the things that need to be rendered are rendered which means there is more memory to put into the tasks that are needed which will make a game or program run faster.In order to give the rendered image a more realistic look, projection transformation is used.  For example, this makes objects which are more distant from the camera smaller to make them look further away and objects that are closer to the camera are bigger.  To achieve this result the X and Y coordinates of each vertex of each primitive are divided by its Z coordinate (which is the distance from the camera).Viewport transformation involves the process of making the 3D scene into a raster image, the port of which being a specific size.  In order to do this, the vertices will have a new scale applied to them.  This scale is found by multiplying the width of the window.  The offset from the screens origin is determined by a bias which is added.  The objects visible in this frame only are rendered into flat images.To make 3D objects become 2D objects made out of pixels, rasterisation is used.  The rendering of a scene can take a long time because of how complex the calculating of the values of each pixel can be and this can take longer depending on how high you want the resolution to be.After the viewport transformation and rasterisation have defined the 2D images based on the original 3D scene, the individual pixels are given colour based upon values inserted from the vertices during the process of rasterisation.Once the graphics pipeline process is complete, the result is able to be produced and displayed on the monitor.Geometric TheoryIn mesh modelling, the most basic object that is used is a vertex which is simply a point in a three-dimensional space.  By combining 2 different vertices by a straight line, both of the vertices become edges.  3 vertices all connected to each other by 3 edges makes a triangle.  This is the simplest polygon.The simple polygon, the triangle, can be used to make more complex polygons by using multiple triangles.  For example, a square can be made out of 2 triangles.A four sided polygon is commonly referred to as a quad.  Quads and triangles are the most common shapes used in polygonal modelling.  A group of polygons connected by vertices is known as an element.  The polygons that make up an element are known as faces.A group of polygons connected by shared vertices is known as a mesh.  For them to appear nicely when they are rendered, they should be non-self-intersecting which means that no edges pass through a polygon (basically, the mesh should not pierce itself).Mesh ConstructionIt is possible to create a mesh from vertices and faces alone, but commonly meshes are created using a variety of different tools. A popular method of constructing meshes is box modelling.  This uses two simple tools: The subdivide tool which adds new vertices to split faces and edges into smaller pieces and the extrude tool which you use on a face or group of faces to create a face which is the same size and shape and is connected to each of the existing edges by a face.Another popular method of constructing meshes is extrusion modelling.  You create a 2D shape which traces the outline of an object which you get from a photograph or a drawing.  Using a second image of the object from a different angle, you extrude the 2D shape into 3D by following the shapes outline.  This method is commonly used for the creating of faces and heads.A third common method is connecting together primitives.  Primitives are polygonal meshes which are created by the modelling environment.  The common primitives include cubes, pyramids, cylinders, spheres.3D Development SoftwareThere are a lot of 3D development software applications out there.  Some different programs have their own specialities.  A popular package for the games industry is the Autodesk Suite.  This includes programs such as 3ds Max, Maya, and Mudbox.3ds Max is a professional program for creating 3D models and animations.  It is a program that is commonly used by video game developers, architectural visualisation studios and more.  It was initially released in 1990 and can be used on Microsoft Windows.Maya is is another 3D computer graphics application that can run on Windows, macOS and Linux.  Video game developers also use this program in order to create interactive 3D applications.  It was originally developed by Alias Systems Corporation but is currently owned by Autodesk.Mudbox is a 3D sculpting and painting program.  It provides the tools to create high-resolution digital sculptures.  It can be used on Windows, macOS and Linux.  It was originally developed by Skymatter but is currently owned by Autodesk.There are plenty of other 3D development software applications, but it all comes down to the users preferences.The file format .3ds is a format used by Autodesk 3ds Max.  It provides an import/export format which keeps the essential geometry, texture and lighting data in it.  .obj is a similar common format to .3ds but is more frequently used as a model archiving file format.ConstraintsIn games, if every object was made as a high poly object there would be a lot of processing going on.  Your computer will almost definitely not be able to handle it well and you will experience a lot of lag or it may be completely unplayable.  This is because the polygon count is too high, increasing the number of calculations going on at once.  If this is true, how is it that the games you play are playable?All games will use a method in order to lower the amount polygons loaded on a screen at one time.  One method commonly seen in games is having a high poly and a low poly version of the same object.  The low poly object would be visible from any distance until a certain range where the object will switch into the high poly object.  This way there are less polygons being loaded and results in less lag.Another method is using normal maps to give the illusion that there is detail in a low poly object.  A normal map basically fakes the lighting of bumps and dents without adding more polygons.  One way of using this method is by generating a normal map from a high polygon model and applying it to a low polygon version of it.References Cooper, J. (2013). Applications of 3D. prezi.com. Available at: https://prezi.com/vrt5irq9xuv3/applications-of-3d/ https://en.wikipedia.org/wiki/Application_programming_interfacehttps://msdn.microsoft.com/en-us/library/windows/desktop/hh769064(v=vs.85).aspxRouse, M. (2011). What is OpenGL. Available at: http://whatis.techtarget.com/definition/OpenGL-Open-Graphics-LibrarySteven De Bock. (2013). Introduction to the Graphics Pipeline. Available at: https://www.gamedev.net/articles/programming/graphics/introduction-to-the-graphics-pipeline-r3344/https://www.khronos.org/opengl/wiki/Rendering_Pipeline_Overview#Clippinghttps://en.wikipedia.org/wiki/Polygonal_modeling#Geometric_theory_and_polygonshttps://en.wikipedia.org/wiki/Normal_mapping

Post Author: admin

x

Hi!
I'm Erica!

Would you like to get a custom essay? How about receiving a customized one?

Check it out