Programmer X, why are you converting from spherical coordinates?
Anyway, to answer your question:
Quote: "So why do developers choose baking?"
Baking means you're calculating all of the light data before you even use the model in the game. This gives you a texture like the following:
http://2.bp.blogspot.com/_W5dgtEXHWak/S1lweqBYfHI/AAAAAAAAACo/B_PjdXPufTU/s400/baking_map.jpg
If your textures are baked, you don't need to calculate the lights during runtime on the GPU again for every frame. It saves you a lot of processing power.
@all
You may have noticed he's been talking a lot about "TEV". This is Nintendo's version of a shading technique used on the GameCube and on the Wii. It's much closer to the actual hardware, and is considered to be just as powerful as shading model 2.0. However, it lacks the flexibility of shading model 2.0.
I couldn't find a lot of information about it. This article from 2002 explains it in detail:
http://www.gamasutra.com/view/feature/131354/shader_integration_merging_.php?page=1
And I was able to dig up an example of what a TEV shader could look like.
http://forums.dolphin-emu.org/Thread-pixel-shader-for-tev-stages
//Pixel Shader for TEV stages
//1 TEV stages, 0 texgens, XXX IND stages
uniform sampler2D samp0 : register(s0), samp1 : register(s1), samp2 : register(s2), samp3 : register(s3), samp4 : register(s4), samp5 : register(s5), samp6 : register(s6), samp7 : register(s7);
uniform float4 color[4] : register(c0);
uniform float4 k[4] : register(c4);
uniform float4 alphaRef[1] : register(c8);
uniform float4 texdim[8] : register(c9);
uniform float4 czbias[2] : register(c17);
uniform float4 cindscale[2] : register(c19);
uniform float4 cindmtx[6] : register(c21);
uniform float4 cfog[3] : register(c27);
void main(
out float4 ocol0 : COLOR0,
out float depth : DEPTH,
in float4 rawpos : VPOS,
in float4 colors_0 : COLOR0,
in float4 colors_1 : COLOR1,
in float4 clipPos : TEXCOORD0 ) {
float4 c0 = color[1], c1 = color[2], c2 = color[3], prev = float4(0.0f, 0.0f, 0.0f, 0.0f), textemp = float4(0.0f, 0.0f, 0.0f, 0.0f), rastemp = float4(0.0f, 0.0f, 0.0f, 0.0f), konsttemp = float4(0.0f, 0.0f, 0.0f, 0.0f);
float3 comp16 = float3(1.0f, 255.0f, 0.0f), comp24 = float3(1.0f, 255.0f, 255.0f*255.0f);
float4 alphabump=float4(0.0f,0.0f,0.0f,0.0f);
float3 tevcoord=float3(0.0f, 0.0f, 0.0f);
float2 wrappedcoord=float2(0.0f,0.0f), tempcoord=float2(0.0f,0.0f);
float4 cc0=float4(0.0f,0.0f,0.0f,0.0f), cc1=float4(0.0f,0.0f,0.0f,0.0f);
float4 cc2=float4(0.0f,0.0f,0.0f,0.0f), cprev=float4(0.0f,0.0f,0.0f,0.0f);
float4 crastemp=float4(0.0f,0.0f,0.0f,0.0f),ckonsttemp=float4(0.0f,0.0f,0.0f,0.0f);
clipPos = float4(rawpos.x, rawpos.y, clipPos.z, clipPos.w);
float3 uv0 = float3(0.0f, 0.0f, 0.0f);
// TEV stage 0
rastemp = colors_0.rgba;
crastemp = frac(rastemp * (255.0f/256.0f)) * (256.0f/255.0f);
textemp = float4(1.0f, 1.0f, 1.0f, 1.0f);
// color combine
prev.rgb = saturate((rastemp.rgb)+float3(0.0f, 0.0f, 0.0f));
// alpha combine
prev.a = saturate(rastemp.a+float4(0.0f, 0.0f, 0.0f, 0.0f).a);
// TEV done
float zCoord = czbias[1].x + (clipPos.z / clipPos.w) * czbias[1].y;
depth = zCoord;
ocol0 = prev;
}
TheComet

Yesterday is History, Tomorrow is a Mystery, but Today is a Gift. That is why it is called "present".