This is an introduction to 3D computer graphics for total rookies. If you
are a 3D artist no need to read it - you already know it all :-) But often
my friends ask me "what is this 3D about?", "how do you
work?", "how you create such images?". Usually I answer:
I play God ;-) , I create Matrix, something which looks like real
world, but does not really exist.
Well, maybe our 'real' world is also just a set of mathematic relations dancing
on the multidimensional fabric of space?
We live in 3 dimensional world, but our eyes catch just two dimensional images of environment created on retina. It is our brain which translates those 2D images to some kind of perceptual 3D concept we perceive as our environment. Same happens when we see an image on 2 dimensional screen. Let it be a photo of a real cube, or just a computer synthesized image of the cube :
Both images of the cube are 2 dimensional = flat, but our brain recreates
the 3 dimensional concept of those cubes, and we perceive them to be some
objects with volume in 3 dimensions. With computer synthesized 3D images,
the point is to create on the screen a 2D image which gives impression to
be in 3D.
Computer stores in memory mathematical representation of objects geometry
ex. spatial positions of object vertices. Those objects don't exist - we say
they are virtual. They just become visible as result of mathematical calculations
creating 2D image on screen called 3D rendering.
Creation of 3D computer graphics can be split in separate processes :
Modeling - defining computer model of objects geometry (shape)
Texturing - defining characteristics of materials for 3D objects surfaces.
Layout - spatial placement of objects in the 3D scene.
Animation - defines changes of layout, shapes etc in time.
Rendering - computer calculations transforming 3D scene data into image.
Modeling
consist of defining a mathematical representation of a 3 dimensional surface
of an object. It results in matrix defining spatial positions of points, and
matrix defining polygons (small triangles or quadrangles with points at their
edges).
Today those processes are automated, so model designer just select some predefined
objects (ex. pyramid) and then modifies it further :
Texturing: process defining characteristics of geometry surface - shaders/materials
are created. Another process consosts of attaching those materials properly
to object geomety - it is called texture
mapping.
Layout stage consists in setting the scene in virtual environment : define
positions & sizes of objects, cameras, lights, environment (ex. fog, clouds,
sky)
Animation consists in defining changes in the scene elements over time.
Camera can change position, objects can move, transform their shape or materials
etc.
Rendering:
is the process of computer calculations transforming 3D models into images.
There are various techniques to achieve this. Today the hype is on unbiased
renderers realistically simulating materials properties & lighting wih
help of graphic cards. This allows very significant speedup of rendering time.
Ex. render in matter of minutes what required hours or days on CPU. (ex. Octan
render)
Complete 3D packages such as Maya, 3D Studio, Cinema 4D, Softimage, Lightwave
etc... can proceed with each stage, from modeling to rendering.
Narrower functionality 3D software focus on modeling (ex. Hexagon, Sculptris),
scene layout & rendering (ex. Bryce, Vue d'Esprit), or texturing (ex.
Bodypaint). There are also serparate rendering programs usually used as plugins
in large 3D applications (RenderMan, Vray, Octane etc...) There are also differences
in efficiency of rendering algorithms which result in different rendering
time and quality.
3D software is of various quality & reliability. Some have very intuitive
interfaces, some are convoluted and require many years to learn. Some are
simple, purpose based, some are huge and can do almost everything. Some are
rock solid, some crash very often.
Usually less reliable and less versatile software is sold with lower price
to hobbyists.
Large film studios tend to use more reliable & complete but very expensive
packages, or even develop their own software (which often is later sold as
large 3D packages to other 3D professionals)
Hobbyist grade software :
Bryce, Vue d'Esprit, Terragen, Carrara, Poser, DAZ Studio, Sculptris
Studio grade software :
Maya, Softimage, Modo, Cinema 4D, 3DS Max, LightWave
In next sections you can find descriptions of some 3D software I worked with.
From matrix of numbers to perception of virtual reality :
This is how we pass from endless stream of numeric data to rendered image, which our brains takes for real. No flash, no blood, just endless set of numbers - this is no longer science-fiction, this is real virtual-reality. It happens now.
Fortunately in modern applications while defining 3D environment we don't need to deal with all those numbers. Many 3D modeling applications lets us sculpt and manipulate 3D objects similarly to clay. ex. Mudbox :
However in some procedural modeling tools (like The Plant Factory or Terragen 3) we get closer to "matrix". TPF 3D models are often huge graphs made of hundreds nodes, and in each vegetation node, hundreds parameters to define. Those complex graphs are basically algorithms generating 3D model geometry according to rules defined by model engineer. Intentionally I put "engineer" instead of "artist" because procedure is closer to analogue computer programming than to painting or sculpting. e-on software uses the same graph approach for materials or procedural terrains.
Read
more about Queen Palm model
A.C. Clarke was right saying "advanced technology is indistinguishable from magic"
I was even closer to "matrix" when I coded old Solid Growth plants for e-on. It was Lindenmayer text only system. So don't comply about TPF complexity ;-)
Well 3D graphics made astounding progress since I used my first 3D software on Commodore Amiga 500 - Videoscape & Sculpt 3D:
Here is the famous Juggler movie made on Amiga with Videoscape in 1986.