Archive for June 2nd, 2009

Basics of Light in 3D Computer Graphics

If you ever wondered how your desktop/laptop computer calculates and presents all the 3D graphics you see, if you are a beginner and want to learn how – this is the article for you!

It presents basics of how light and surfaces are interacting, the simply presented math (the math is actually quite complex, but presented in “plain english” so anyone can understand) will shed a lot of light on the subject. It also contains functions used by popular shader languages so one can learn to use those too.

In the following series we shall go deeper and deeper into more complex structures of 3D lightning, shaders, optimizations, normal mapping, displacement mapping… and I shall  explain how you should think to achieve to programme your favorite graphics card (may it be NVidia or ATI, they both work just fine) and have the most out of it!

Examples and work is accompanied with NVidia’s Cg shader code, OGRE materials and meshes, so you can implement what you learned right on the spot!

So, let’s dig in!

Read the rest of this entry »

4 Comments