Normal Ramp for sphere lit from inside

Hi,
I’m trying to create a spherical Sun which is darker at the edges than in the middle (a.k.a. limb darkening). It’s one of those “seems like this should be simple” cases; in fact, I can already make it:



That image was made by using the Ramp panel of the diffuse shader with input set to Normal, and putting a lamp at the camera’s position (to avoid other shadows). However, I am trying to use no external lights: correct me if I’m wrong, but it seems silly to use a lamp constrained to the camera to illuminate a sun, of all things, especially if I animate or add more objects.

For my sun model (not pictured), I had placed a point lamp inside the sphere, and set the material’s Translucency to 1. When I do this, the Ramp panel seems to have no effect (correction: it only uses the leftmost color in the ramp for the whole surface). I tried instead having no lamps and using the Emit slider; same thing. I then tried using the node editor and the ColorRamp node, which seems promising, but I can’t figure out how to get it to use the mesh’s normals.

Can anyone point me in the right direction to create the pictured effect using only illumination from inside the sphere?

Well, I might have solved it:

Nodes:


Result (lamp is inside the sphere):


So that does it. If you care to comment please say if there’s a much simpler way. I still don’t know why just using the Ramp panel didn’t work. Also, is it just me or does the “factor” slider in the Ramp panel have a completely different function from the one in the ColorRamp node?