Another example in which 3D modelling is important is in the medical industry. 3D models of a patients anatomy, whether that be a bone or an organ, can allow doctors to more accurately diagnose and provide treatment, due to having much more information regarding the patients condition than they could have with just the 2D scans. This can be useful for patients with liver cancer, for example, as it allows 3D models of the liver to be created, which then allows the surgeon to decide whether they should perform surgery to remove the tumor, or to perform chemotherapy instead. Being able to create models of different anatomies is important as it allows surgeons to plan surgeries using scans that they have obtained in order to gain a 3 dimensional view of the problem. This pre-operative planning both cuts the time that the patient spends in surgery, but also helps to reduce the risk of complications and infections, as the surgeons know exactly what they're looking at when they go in for the operation. This is an overall benefit as it saves both time and money, which are vital resources for hospitals.
Architecture is another example of an industry that benefits greatly from the invention of CAD software, and by extension, 3D modeling. It changed the way that architects represented diagrams, building plans and drafts, but also had a huge effect on the way that presentations and exhibitions of architectural designs could be displayed to potential contractors. For example, before this technology was invented and readily available to the majority of architects, many of the buildings had to be hand constructed from materials such as cardboard to give a 3D representation of the building that they had designed. Now a 3D model can be created within these modelling software kits, which easily represents the design plan in 3D and can easily show any observers every detail of the 2D plan. Furthermore, most 3D CAD software applications come with fully integrated abilities to create 2D drafts, create 3D models from those drafts and then animate them in order to show a realistic view of how the project would function. The benefits of this software, as it allows a lot more accuracy with the designs and drafts of the buildings, whilst cutting the time in half. Furthermore, although the initial software can be quite expensive, it is overall a lot cheaper than traditional ways of drafting due to the amount of equipment that would have to be brought. Finally, this software allows architects to network with each other and work simultaneously on a project whilst not being in the same place, saving on both costs and time.
Within the film and TV industry, the amount of 3D modelling that has to be done can very depending on the film that is being created. For example, films such as Toy Story or Finding Nemo, practically the whole film is created using 3D models and animation. Films such as James Bond and TV shows such as Game of Thrones use 3D modelling along with green screens to create realistic scenes and backgrounds that wouldn't be safe or even possible to film in real life. Therefore, 3D modelling is used to create as realistic set as possible, and is then shown on a green screen in which the actor films against. This can also be taken one step further as the film industry can now use green screen body suites in order to turn the actors into different creatures and monsters that might not possible just by using makeup artists due to time constraints of putting all the make up on and then having to take it all off. In 3D animated films, artists create concept art for the film, and then the 3D modellers use software to turn these 2D images into 3D models. Finally, the 3D models are then animated in order to fit the directors vision for the film.
Alongside film and TV, the biggest use for 3D modelling is shown within the game industry and the development and creation of the objects within game worlds. Almost everything that is created within a 3D video game has been modelled within 3D modelling software such as Maya or 3D Studio Max. This allows the modellers to create realistic models of humans and other objects in the world using both concept art and images as a guideline to create the 3D models that go into the games. Furthermore, using 3D models allows games to create completely new places and areas as they can create them themselves and not have to base them off of anything in the real world. This leads to games full of fantasy and adventure that is completely different to any of the places within the real world. However, there are some limitations to creating game models compared to that of creating models for films etc. The reason that the models for films look a lot better to those of games is that they are not limited by the number of polygons that they can use to create their models, their only limit is getting the models and animation done within the set time frame. Furthermore, film models are pre rendered, whereas games are rendered in real time in order for the game to run at a constant frame rate. This is one of the reasons why cinematic cutscenes within games look a lot better than the actually gameplay itself, the cinematic is pre-rendered and therefore looks a lot better due to the increased polygon count. However, this does come at a price as the time it can take to render just a single frame within an animated film can take hours, especially if there are a lot of models within that frame.
Displaying 3D polygon animations
In order for 3D models to be created they have to be put through an application programming interface such as OpenGL or Direct 3D. An API is "a set of routines, protocols, and tools for building software applications. An API specifies how software components should interact and APIs are used when programming graphical user interface (GUI) components. A good API makes it easier to develop a program by providing all the building blocks. A programmer then puts the blocks together." OpenGL is an API that is used to render 2D and 3D vector graphics which interacts with the GPI in order to acheive hardware-accelerated rendering. It is used extensively in fields such as video game development and computer-aided design, for example. It's main competitor in terms of graphical API's is Microsoft's Direct3D which is a graphical API for Microsoft Windows. Direct3D is used to render 3D graphics in applications such as video games. Direct3D exposes advanced graphical capabilities on 3D graphics hardware such as texture blending and alpha blending to name a few. Direct3D contains many commands for 3D computer graphics rendering; however, since version 8, Direct3D has superseded the DirectDraw framework and also taken responsibility for the rendering of 2D graphics.
In order to for a computer to display the 3D model that has been created in a game for example, they have to go through a graphics pipeline. Once a 3D model has been created for something like a video game or an animation, the graphics pipeline is the process of turning that 3D model into what the computer displays.
The first step in the graphics pipeline is to create the scene out of geometric primitives, which are simplest geometric shapes that the system can handle. This is traditionally done with triangles due to the fact that they will always exist on a single plane.
Secondly, the model has to be transformed from the local coordinate system in which the model was created, to the 3D world's coordinate system. Similarly to this step, the 3D world coordinate system then has to be transformed into the 3D camera coordinate system, with the camera being the origin point.
The next step is for the object and scene to be illuminated in accordance with the way the lighting and the reflectance has been set up. For example, if there is white object within a completely dark, black room, then the camera will see it as black as there is no lighting on it. Therefore this step allows for the calculations of the lighting within the scene.
Next, the 3D world coordinates are transformed into the 2D view of the camera. For example the object in which the camera is centred on would be the centre of the 2D view of the camera. Furthermore, in the case perspective projection the objects that are further from the camera appear smaller. This is done by dividing the x and y coordinates of each of the primitives vertexes by the distance from the camera, which is the x-axis. However in an orthographic projection, objects will retain the original size regardless of their distance to the camera. After this, all geometric primitives that fall outside of the field of view of the notional camera will be discarded as they are no longer needed.
The 2D primitives that now make up the scene then go through the process of rasterisation, which is the task of taking an image that is in a vector graphics format, such as the geometric primitives, and then converting them into a raster image made up of pixels for output on a video display or a printer. From this moment on in the pipeline operations will be carried out on each single pixel, which often multiple steps often referred to as the pixel pipeline.
Finally, the individual fragments are assigned a colour based on values that have been extracted form the vertices of the images during rasterisation, from a texture in memory or from a shader program.
The most basic object that is used in 3D modelling is a vertex, which is a single point within a three dimensional space. By connecting two vertices together with a line you create a line, and by connecting three vertices together by way of three edges creates a triangle, which is the simplest polygon to define. More complex polygons can be created out of multiple triangles, or as a single object made up of more than 3 vertices. Along with triangles, four sided polygons (quads) are the most common shapes used in 3D modelling. A group of polygons which are connected to each other by shared vertices is generally referred to an element. Each of the polygons that make up an element is called a face. In Geometry, any three points that do not share a common line are known as a plane, and it is for this reason that triangles always inhabit a single place, although this is not always true when it comes to more complex polygons. The flat nature of planes such as triangles makes it much easier to determine their surface normal, which is a three dimensional vector which is perpendicular to the planes surface. These surface normals are important as they are used to determine light transport in ray tracing, which is a technique for generating an image by tracing the path of light through pixels in an image plane and then simulating the effects of its encounters with virtual objects. However, some rendering systems use vertex normals instead of surface normals which can create a better looking lighting system, although at the cost of more processing. A group of polygons which are connected to each other via shared vertices and faces is called a mesh. In order for a mesh to look good when it is rendered there should be no edges passing through another polygon, which is another way of saying that the mesh should not pierce itself.
When creating a mesh, it is possible to construct a model by manually specifying vertices and faces, although it is much more popular to create them using a variety of tools that can be found in the majority of 3D graphics software. One of the most popular methods of creating a mesh is by a process called box modelling. Box modelling uses two simple tools to create meshes, the subdivide tool and the extrude tool. The subdivide tool splits faces and edges into smaller sections by adding new vertices to the plane. For example, by subdividing a square another vertex would be created in the centre, and then one on each edge in order to create 4 smaller squares within the same area. The extrude tool is applied to a single face or a group. It creates a new face which is identical to the selected face(s) and is connected to each of the existing faces by a face. By performing the extrude operation on a square it would create a cube connected to the surface at the location of the face. Another popular method of create meshes is using a method known as inflation modelling, or extrusion modelling. This method involves the user creating a 2D shape which traces the outline of the object they wish to create from an image such as a drawing or a photograph. The user then takes a second image of the object from a different angle and extrudes the 2D shape of the image into 3D whilst following the shapes outline. This method is most common when creating faces and heads for characters, where the artist will model half the head then duplicate the model and connect the two pieces together in order to create a symmetrical model. Finally, another common method for creating meshes is to connect together various primitives, which are predefined polygonal meshes created by the modelling environment. These primitives include shapes such as cubes, cylinders and pyramids.
3D Development Software
3D development software is the medium in which the majority of 3D models are created for all the different industries that use it. Although some specific industries may have their own internal 3D modelling software that they use, there are many pieces of software that are available to the general public for many different prices. Some of the most popular software that is used in 3D modelling is Autodesk Maya, Autodesk 3ds Max and Blender. Autodesk Maya and 3ds Max are both available as trialware, whereas Blender is freely available to the general public. Generally, Maya is the most popular within entertainment industries with it being used in many cinematic films, including academy award winners such as Avatar and Frozen. Furthermore, it is also used to create visual effects in television programmes such as Game of Thrones and The Walking Dead.
There are many different file formats for 3D modelling software and in general these different file formats correspond to the different software that is in use. For example, a file that has the extension .mb is a model that is being created using Autodesk Maya as it is an Autodesk Maya binary file, whereas a file that has the extension .blend is a model that is being created in Blender. However, it is unlikely that these files will be transferable between two different pieces of software due to the differences in the file extensions, as Maya cannot import files from Blender and therefore they cannot be used together.
Constraints in 3D Modelling
There are a few constraints when it comes to 3D modelling that can limit the models that can be created. For example, the polygon count of a model can severely hinder model making. In 3D modelling polygons are the 2D shapes that are used to create 3D models, such as triangles and quads, and the polygon count is the total number of these that are contained within a model or a scene. The higher the polygon count the more processing power is needed to create the model. This is especially critical in video games due to the fact that having a polygon count could severely hinder the performance of the game as more processing power would have to be used in order to create the models instead of focusing on the gameplay.
Another constraint in 3D modelling is that of file size. With large scale projects such as animations or very detailed scenes, these will contain a lot of information which will increase the file size of the project. This could lead to a lack of space on the computer hard drive if a lot of the space is being taken up by huge projects. Furthermore, when the disc space is filled up it can lead to slower performance of the PC and can lead to disruption when it comes to creating scenes.
Linking in with file size, rendering time of a scene or model can also be a constraint. With large file size with lots of detail, the rendering time could be huge, which can be a problem if there are time constraints for the project. In the film industries, animated films could take days and days to render due to the fact that there is so much detail in every single scene, whilst in video games rendering can take place in real time, which means that the platform in which the game is being played tries to render the game as the player is moving within the world, which can constrain the 3D modelling creation as they need to make models that can be quickly rendered in real time in order to prevent slow down and poor performance.