• Saturday, November 21st, 2009

My interest in 3D graphics started when I wrote my first ray-tracer back in an advanced programming class at CSU.  It was so cool to be able to define a material and some lens shaped geometry and then generate an image based on the path the photons would travel.  Seeing those first images start forming got me hooked, and movies like “Toy Story” reeled me in.

I think many people might be interested in the basics of the 3D graphic workflow.  Getting a general idea of how things are done can give you ideas on what steps you need to do to achieve the results you are interested in obtaining, whether they are just to get something that looks nice for your web page or forming the next world class movie.  The basic workflow is to define some geometry, texture it somehow, and then add some lighting and camera locations and then render out a final image.  It gets really complex from there.

3D geometry is usually a polygon mesh type object with polygons defined with points in 3D space.  There are many low cost or free modeling packages available to use to create the basic geometry for a 3D object or they can be obtained at varied pricing, or from 3D modelers. There are many issues around selecting and creating the geometry for a 3D object that should be addressed depending on how that object is used.  A 3D model used for web display or games must have much less complexity and be structured differently than one used for rendering out animation for a movie.

A 3D model is the 3D geometry with some type of information added to describe how that model should look when rendered out.  This can be as simple as a single color value to a complex texturing system with several layers, images and fractal patterns.  Placing the final texture look on the 3D model can be a very complex task with lots of variation depending on what rendering software is going to be used to render out the final product. Some models are provided just with the geometry or some very basic information on shading.

Once you have the 3D model you need to setup the 3D scene and describe where all the light sources are that will shade this model.  You also need to find some locations where the camera will be placed to render out the scene (kind of like taking a picture from the camera location).

If you are animating you will need to describe things like what objects need to be moved, how many frames to take, how the objects interact through physics, etc. If you are doing character animation your model will need several additions to support the movement with even more for things like facial expression.

Once you have these items done you need to find a rendering package to produce your output.  Quality and pricing varies considerably and the final look of the output varies as well.  Things like global lighting, hdri and ocular occlusion will help a bunch with making things look photo real, while other texturing and shading effects can achieve a plastic, metal or cartoon type look.  Adding ray tracing can help with the transparency, shadowing, and other effects.  Your lighting setup and rendering package will have the biggest effect on what type of output you will get but all these steps combine and play a role in what the final product will look like.

If you are trying to display the 3D object in a game or in a website you have to add some type of display and interaction system or game engine.  There are many options here from open source packages to high priced plug-in based systems with different advantages and disadvantages.

I’ve very briefly touched on these areas, but most of these topics can have a great deal of depth added to them.  Guess where my blog is headed ….

Category: 3D Graphics
You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

One Response

  1. Great blog to read thanks.

Leave a Reply