Monday, 6 March 2017

Task 6 - Constraints

Task 6 - Constraints


Polygons Vs. Triangles
Polygons 

In elementary geometry, a polygon is a plane figure that is bounded by a finite chain of straight line segments closing in a loop to form a closed chain or circuit. These segments are called its edges or sides, and the points where two edges meet are the polygon's vertices (singular: vertex) or corners. The interior of the polygon is sometimes called its body. An n-gon is a polygon with n sides; for example, a triangle is a 3-gon. A polygon is a 2-dimensional example of the more general polytope in any number of dimensions.

Also a thing to remeber the more polgons that are there on your model the longer it will take to render because the amount of polygons take up memory and download speed, this is used so it can be rendered from a project to a image (Jpeg) 

Rendering
Real-time rendering is one of the interactive areas of computer graphics, it means creating synthetic images fast enough on the computer so that the viewer can interact with a virtual environment. The most common place to find real-time rendering is in video games. The rate at which images are displayed is measured in frames per second (frame/s) or hertz (Hz). The frame rate is the measurement of how quickly an imaging device produces unique consecutive images.
Graphics rendering pipeline is known as the rendering pipeline or simply the pipeline. It is the foundation of real-time graphics. Its main function is to generate, or render, a two-dimensional image, given a virtual camera, three-dimensional objects (an object that has width, length, and depth), light sources, lighting models, textures, and more.
https://en.wikipedia.org/wiki/Real-time_rendering

Task 5 - 3D Development Software

3ds Max

Auto desk 3DS Max, formerly 3D Studio, then 3D Studio Max is a professional 3D computer graphics program for making 3D animations, models, games and images. It is developed and produced by Auto desk Media and Entertainment.[2] It has modelling capabilities, a flexible plugin architecture and can be used on the Microsoft Windows platform. It is frequently used by video game developers, many TV commercial studios and architectural visualisation studios. It is also used for movie effects and movie pre-visualisation. To its modelling and animation tools, the latest version of 3ds Max also features shaders (such as ambient occlusion and subsurface scattering), dynamic simulationparticle systemsradiositynormal map creation and rendering, global illumination, a customisation user interface, and its own scripting language.

https://en.wikipedia.org/wiki/Autodesk_3ds_Max


Maya 

Autodesk Maya /ˈmɑːjə/, commonly shortened to Maya, is a 3D computer graphics software that runs on WindowsOS X and Linux, originally developed by Alias Systems Corporation (formerly Alias|Wavefront) and currently owned and developed by Autodesk, Inc. It is used to create interactive 3D applications, including video games, animated film, TV series, or visual effects.

Lightwave
LightWave is a software package used for rendering 3D images, both animated and static. It includes a rendering engine that supports such advanced features as realistic reflection and refraction, radiosity, and caustics. The 3D modeling component supports both polygon modeling and subdivision surfaces. The animation component has features such as reverse and forward kinematics for character animation, particle systems and dynamics. Programmers can expand LightWave's capabilities using an included SDK which offers LScript scripting (a proprietary scripting language) and common C language interfaces.



Blender 
Blender is a free and open-source 3D computer graphics software product used for creating animated films, visual effects, interactive 3D applications or video games. Blender's features include 3D modeling, UV unwrapping, texturing, rigging and skinning, fluid and smoke simulation, particle simulation, animating, match moving, camera tracking, rendering, video editing and compositing. It also features a built-in game engine.


Cinema 4D

CINEMA 4D is a 3D modeling, animation and rendering application developed by MAXON Computer GmbH of Friedrichsdorf, Germany. It is capable of procedural and polygonal/subd modeling, animating, lighting, texturing, rendering, and common features found in 3d modelling applications.


ZBush
ZBrush is a digital sculpting tool that combines 3D/2.5D modeling, texturing and painting. It uses a proprietary "pixol" technology which stores lighting, colour, material, and depth information for all objects on the screen. The main difference between ZBrush and more traditional modelling packages is that it is more akin to sculpting.


ZBrush is used as a digital sculpting tool to create high-resolution models (up to ten million polygons) for use in movies, games, and animations. It is used by companies ranging from ILM to Electronic Arts. ZBrush uses dynamic levels of resolution to allow sculptors to make global or local changes to their models. ZBrush is most known for being able to sculpt medium to high frequency details that were traditionally painted in bump maps. The resulting mesh details can then be exported as normal maps to be used on a low poly version of that same model. They can also be exported as a displacement map, although in that case the lower poly version generally requires more resolution. Or, once completed, the 3D model can be projected to the background, becoming a 2.5D image (upon which further effects can be applied). Work can then begin on another 3D model which can be used in the same scene. This feature lets users work with extremely complicated scenes without heavy processor overhead.


SketchUp

SketchUp is a 3D modelling program for a broad range of applications such as architectural, civil, mechanical, film as well as video game design — and available in free as well as 'professional' versions.

The program highlights its ease of use,[4] and an online repository of model assemblies (e.g., windows, doors, automobiles, entourage, etc.) known as 3D Warehouse enables designers to locate, download, use and contribute free models. The program includes a drawing layout functionality, allows surface rendering in variable "styles," accommodates third-party "plug-in" programs enabling other capabilities (e.g., near photo realistic rendering) and enables placement of its models within Google Earth.
https://en.wikipedia.org/wiki/SketchUp

File Types 
proprietary format is a file format of a company, organization, or individual that contains data that is ordered and stored according to a particular encoding-scheme, designed by the company or organization to be secret, such that the decoding and interpretation of this stored data is only easily accomplished with particular software or hardware that the company itself has developed. The specification of the data encoding format is not released, or underlies non-disclosure agreements. A proprietary format can also be a file format whose encoding is in fact published, but is restricted through licences such that only the company itself or licencees may use it. In contrast, an open format is a file format that is published and free to be used by everybody.



Task 4 - Mesh Construction

Polygonal Modelling

A polygon mesh is a collection of vertices, edges and faces that defines the shape of a polyhedral object in 3D computer graphics and solid modeling. The faces usually consist of triangles, quadrilaterals or other simple convex polygons.
Although it is possible to construct a mesh by manually specifying vertices and faces, it is much more common to build meshes using a variety of tools and techniques. A wide variety of 3d graphics software packages are available for use in constructing polygon meshes.


Primitive Modelling
1) In computer programming, a primitive (pronounced PRIH-muh-teev ) is a basic interface or segment of code that can be used to build more sophisticated program elements or interfaces.


2) In computer graphics, a primitive is an image element, such as an arc, a square, or a cone, from which more complicated images can be constructed.
Cubes
Pyramids
Cylinders
Spheres
2D primitives, such as squares, triangles, and disks
https://multim3dia3d.wordpress.com/



Box Modelling

Box modeling is a technique in 3D modeling where a primitive shape (such as a box, cylinder, sphere, etc.) is used to make the basic shape of the final model. This basic shape is then used to sculpt out the final model. The process uses a number of repetitive steps to reach the final product, which can lead to a more efficient and more controlled modelling process.


Extrusion Modelling
Extrusion is a method of adding geometry to a polygon primitive, and one of the primary tools a modeler uses to begin shaping a mesh.
Through extrusion a modeler manipulates the 3D mesh by either collapsing a face in upon itself (to create an indentation), or by extruding the face outward along its surface normal—the directional vector perpendicular to the polygonal face.
Extruding a quadrilateral face creates four new polygons to bridge the gap between its starting and ending position. Extrusion can be difficult to visualize without a concrete example:
  • Consider a simple pyramid shape, with a quadrilateral (4-edged) base. A modeler might transform this primitive pyramid into a house-like shape by selecting the base of the pyramid and extruding it in the negative Y direction. The pyramid's base is shifted downward, and four new vertical faces are created in the space between the base and the cap. A similar example might be seen in modeling the legs of a table or chair.
  • Edges can also be extruded. When extruding an edge, it is essentially duplicated—the duplicate edge can then be pulled or rotated away from the original in any direction, with a new polygonal face automatically created connecting the two. This is the primary means for shaping geometry in the contour modeling process.
  • http://3d.about.com/od/Creating-3D-The-CG-Pipeline/tp/Polygonal-3d-Modeling-Common-Box-And-Edge-Modeling-Workflows.htm


Sketch Modelling
sketch-based modeling is a method of creating 3D models for use in 3D computer graphics applications. Sketch-based modeling is differentiated from other types of 3D modeling by its interface - instead of creating a 3D model by directly editing polygons, the user draws a 2D shape which is converted to 3D automatically by the application.

3D Scanners
A 3D scanner is a device that analyses a real-world object or environment to collect data on its shape and possibly its appearance (e.g. colour). The collected data can then be used to construct digital three-dimensional models.
Many different technologies can be used to build these 3D-scanning devices; each technology comes with its own limitations, advantages and costs. Many limitations in the kind of objects that can be digitised are still present, for example, optical technologies encounter many difficulties with shiny, mirroring or transparent objects. For example, industrial computed tomography scanning can be used to construct digital 3D models, applying non-destructive testing.

Collected 3D data is useful for a wide variety of applications. These devices are used extensively by the entertainment industry in the production of movies and video games. Other common applications of this technology include industrial design, orthotics and prosthetics, reverse engineering and prototyping, quality control/inspection and documentation of cultural artifacts.

Task 3 - Geometric Theroy

The Cartesian Coordinates System

The invention of Cartesian coordinates in the 17th century by René Descartes revolutionized mathematics by providing the first systematic link between Euclidean geometry (from the Classical Greek mathematician Euclid of Alexandria) and algebra (where letters and other general symbols are used to represent numbers and quantities in formulae and equations). 


                                                               http://postillion.info/category/genel/ 


Geometric Theory and Polygons

The basic object used in mesh modeling is a vertex, a point in three dimensional space. Two vertices connected by a straight line become an edge. Three vertices, connected to each other by three edges, define a triangle, which is the simplest polygon in Euclidean space. More complex polygons can be created out of multiple triangles, or as a single object with more than 3 vertices. Four sided polygons (generally referred to as quads) and triangles are the most common shapes used in polygonal modeling. A group of polygons, connected to each other by shared vertices, is generally referred to as an element. Each of the polygons making up an element is called a face.

In Euclidean geometry, any three non-collinear points determine a plane. For this reason, triangles always inhabit a single plane. This is not necessarily true of more complex polygons, however. The flat nature of triangles makes it simple to determine their surface normal, a three-dimensional vector perpendicular to the triangle's surface. Surface normals are useful for determining light transport in ray tracing.

A group of polygons which are connected by shared vertices is referred to as a mesh, often ferred to as a wireframe model. 

Primitives

In 3D applications, pre-made objects can be used to make models out of various shapes, the most basic of this shapes are the Standard Primitive Objects, or the Common Primitives, these shapes vary from the basic cube or box to spheres, cylinders, pyramids (both triangular and square based) and cones. They are used as the starting point for modelling. They can be edited once created.

Surfaces

Polygons can be defined as specific surfaces and then have colour, texture or photographic maps added to them to create the desired look. The example below shows how a map is displayed as if the object has been unwrapped.  

Task 2 - Displaying 3D Polygon Animation

API

The game engine uses software known as an application programming interface or API, which is a set of routines, protocols, and tools for building software applications. A good API makes it easier to develop a program by providing all the building blocks. A programmer then puts the blocks together.
Most operating environments, such as MS-Windows, provide an API so that programmers can write applications consistent with the operating environment. Although APIs are designed for programmers, they are ultimately good for users because they guarantee that all programs using a common API will have similar interfaces. This makes it easier for users to learn new programs.

Prior to 3D APIs, any company developing a graphical application typically had to rewrite the graphics part of it for each operating system platform and it had to be recognised by the graphics hardware as well.

Direct3D

An API for manipulating and displaying three-dimensional objects. Developed by Microsoft, Direct3D provides programmers with a way to develop 3-D programs that can utilize whatever graphics acceleration device is installed in the machine. Virtually all 3-D accelerator cards for PCs support Direct3D.

http://www.webopedia.com/TERM/D/Direct3D.html


OpenGL

A 3-D graphics language developed by Silicon Graphics. There are two main implementations: Microsoft OpenGL, developed by Microsoft and Cosmo OpenGL, developed by Silicon Graphics. Microsoft OpenGL is built into Windows NT and is designed to improve performance on hardware that supports the OpenGL standard. Cosmo OpenGL, on the other hand, is a software-only implementation specifically designed for machines that do not have a graphics accelerator.


Graphics Pipeline
In 3D computer graphics, the terms graphics pipeline or rendering pipeline most commonly refer tothe way in which the 3D mathematical information contained within the objects and scenes are converted into images and video. The graphics pipeline typically accepts some representation of a three-dimensional primitive as input and results in a 2D raster image as output. OpenGL and Direct3D are two notable 3d graphic standards, both describing very similar graphic pipelines.

Stages of the Graphics 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 colour based on values interpolated from the vertices during rasterization, from a texture in memory, or from a shader program.

Display
The final colored pixels can then be displayed on a computer monitor or other display