3D shapes

Creative Computing

3D: shapes

Marco Gillies and Mick Grierson

Overview and aims

By the end of the lecture you will be able to:

  • Describe different types of 3D graphics software and how they are used
  • Describe the mathematical representation of 3D space by coordinate systems
  • Explain how 3D shapes are represented using polygons
  • Model simple 3D shapes in blender

Examples

Luxo jr. was the first short film by Pixar who popularised 3D films.

Toy story was their first full length feature.

Up is their latest

3D graphics and live action are completely integrated in films like Avatar

Its ubiquitous in games

Used in other very different purposes, like this fine are work by the igloo group

Also used for scientific, medical, engineering and many other applications

You can go beyond the screen with immersive virtual reality

Overview and aims

By the end of the lecture you will be able to:

  • Describe different types of 3D graphics software and how they are used
  • Describe the mathematical representation of 3D space by coordinate systems
  • Explain how 3D shapes are represented using polygons
  • Model simple 3D shapes in blender

Software

3D graphics relies on a whole range of different types of software:

  • Modelling and animation software
  • Real time graphics/games engines
  • Low level graphics libraries

Hardware

Modern 3D is only really possible because we have dedicated hardware (GPUs) to support it.

Modelling/Animation Software

Maya

3DStudio Max

Blender

This software allows you create 3D objects, animated them and render them to images or movies.
If you are making a 3D film this is all you will need.

3D/Game engines

Unreal

Source

Unity

Ogre

These allow you to run real-time, interactive 3D graphics on your machine.
They are used for games but also other real time 3D applications.
Typically you would create content in a modelling tool like Blender and then
import it to your engine.

Low level libraries

OpenGL

DirectX

These are much lower level than an engine, they allow you to write code that
directly interfaces the hardware.

Hardware

Graphics cards

Nvidia

ATI

GPU programming

At the lowest level you can write GPU programs which run directly on the graphics
card and control its behaviour (an advanced topic for later years).

Overview and aims

By the end of the lecture you will be able to:

  • Describe different types of 3D graphics software and how they are used
  • Describe the mathematical representation of 3D space by coordinate systems
  • Explain how 3D shapes are represented using polygons
  • Model simple 3D shapes in blender

3D coordinates

You should now be used to pixels having positions given by x and y

x and y don’t just have to be pixel positions, they can mark out any position
in 2D space.
If you are dealing with pixels then x and y are integers, but if you make them
floats then you can access positions in any level of detail you want, by
being able to position things by fractions of a pixel.
In fact you can forget about pixels entirely and think of x and y as measuring for
metres (or whatever measure) in a virtual space.

All this applies to 3D space as well, all you need to do is add another measure, z.
So you now give positions by 3 numbers

x, y, z

x: left/right

y: up/down

z: in/out

This is the standard coordinate layout, some systems use Z as up.

Overview and aims

By the end of the lecture you will be able to:

  • Describe different types of 3D graphics software and how they are used
  • Describe the mathematical representation of 3D space by coordinate systems
  • Explain how 3D shapes are represented using polygons
  • Model simple 3D shapes in blender

3D Objects

3D objects are defined by 2 things

Shape

Shape is the large scale structure

Surface properties

Surface properties are things like colour and texture.

3D Shape

3D shapes are made out of polygons.

Flat shapes with straight edges.

You can put together several shapes to form a 3D surface.

We normally stick to simple polygons

Triangles

Quadrilaterals (quads)

Build more complex shapes out of these

more complex polygons are difficult for graphics hardware

Polygons

Vertex/Verteces

We define polygons in terms of their corner positions, called vertices

Each vertex is a vector (x, y, z)

Mesh

A 3D shape made out of polygons is called a mesh.

Geometry

Geometry is a generic term for objects made out of polygons.

You can edit shaped by directly moving individual vertices or groups of verteces (see the blender tutorials.

There are lots of methods for building shapes with polygon meshes. For example the extrude function allows you to create new polygons by stretching
out the mesh in a particular direction, again look up extrude in the
blender tutorials.

Smooth Objects

Objects modelled with polygons can be quite blocky.
We often want smooth objects.

Lots of Polygons

We need a lot of polygons to make an object smooth.

Subdivison Surfaces

Subdivision allows you to produce smooth shapes easily,
it is supported by Blender and other modelling packages.
You model a blocky shape with a small number of polygons.
The subsurf modifier then smooths it out by subdividing your
polygons into other, smaller ones.

Overview and aims

By the end of the lecture you will be able to:

  • Describe different types of 3D graphics software and how they are used
  • Describe the mathematical representation of 3D space by coordinate systems
  • Explain how 3D shapes are represented using polygons
  • Model simple 3D shapes in blender
PDF    Send article as PDF to