Okay, well, there really are two major modes of CGI. One is simulation and the other is simply stop motion animation of computer generated imagery. Both involve real lighting dynamics, and that's how they achieve visual realism.
Simulation is the more technical. Examples of the application of simulation include:
- The scene in Shrek where the executioner is pouring the milk into the glass into which the Gingerbread Man will be dipped. The milk was modeled using real flow dynamics simulations
- The fire scenes in Shrek where the dragon is chasing the hero characters around the castle. This modeling was not done using real combustion dynamics, but used a 'model that works well' for simulation fire.
- The whale tongue slamming scene in FINDING NEMO was done by modeling the water dynamics.
There are many others...these just give an idea.
There is a ton of OSS software available for creating computer generated scenes in movies. In fact, a few years ago there was a movie project that the whole movie was being done on the Open Source model - community development using all OSS tools, from modeling, animation, lighting such to editing.
The production pipeline is thus:
Modeling
Layout
Animation
Lighting
Final Rendering
Let's say you want to create a character like Shrek and put him to life on the screen. You'll need several tools. First, you need a modeling tool to create the basic character. Or, some shops also make 3D clay models and digitize them (some of the characters in FINDING NEMO were done this way). Or, you could digitize a real person, etc.... At the modeling stage, it is mostly the artistic expression of the various artists making the characters, scenery, props, etc.
Once you get your character and all your scene modeled, you have to do layout. Layout puts the characters, props and background where they go in the computer generated world. It's worth mentioning here that CG lets you do things with camera placement and movement that are difficult or impossible in the real world. Layout is where the director's vision starts to take shape. Layout includes general movement of characters and camera ("pan over for close-up," "walks left to right across field of view," etc).
Animation is the making of the character movements more lifelike. Again, this can be via simulation or via stop-motion techniques.
Lighting is the meat of making something begin to look realistic. It's an art in and of itself, with the parallel in shooting real film being the DP or cinematographer. You can have the coolest looking characters and scenery, but if the lighting sucks, the rendered image will look cartoonish. For example of really hard core lighting expertise, check out the windmill Fiona-Donkey scene in SHREK. From what I understand, that was a wicked scene to light.
Part of lighting is 'shading.' Shaders are little computer programs that give surfaces their texture. For example, you might use a 'shiny metal' shader for a car's surface, or a 'plaid cloth' shader for a shirt. Shaders contain the instructions for the rendering engine on how light interacts with a surface. For each rendering engine, there are libraries of shaders available, and of course you can program your own. The industry standard "language" is called RenderMan, which is based on the animation suite developed at Pixar.
Rendering is the final process of turning all the CG information into a realistic looking picture. The most realistic technical approach is called Persistance of Vision or POV. This is the computationally demanding part of the pipeline and as far as hardware goes, is where the money goes for CGI. You have to render each frame, and most CGI is done at half-rate of about 15 frames per second.
The real money goes to salaries - CGI is VERY, VERY labor intensive to produce.
Some of the CG tools I have used include:
ayam: One of the big industry leaders on the commercial side is Maya. Maya was used for all the original Veggie Tales, for example. The free, OSS 'version' of Maya is Ayam (maya backwards) and is a good tool for created CG models/characters, etc, but does not do any animation directly. This would be a good tool if all you wanted was some stop motion animation. It can use several free RenderMan compliant renderers (the one I used was aqsis).
The other biggie is
K3D which does much the same as ayam, but also includes more robust 'automated' animation tools.
Those two are free. Check out those web sites for more detail and for galleries of still and video images folks have produced (some of the stills look truly photorealistic).
You can also buy the commercial products, such as RenderMan.
There are also free video editing tools available....I've used Cinelerra and like it for what I've done.
Hope this helps.