I have written a recursive raytracer and I am currently experimenting with global illumination.
So far, I used the following formula to compute the light intensity at a certain point:
intensity at point = light emitted by light source / (distance to light source^2)
If, however, light source was hit directly by a ray, then simply the light source's intensity was returned.
This seemed logic to me and it worked well for recursive raytracing.
Then I tried to work on global illumination. Since I do not fully understand the rendering equation due to a lack of knowledge of calculus I more or less "guessed" an algorithm which I hope is similar to path tracing^^:
If a ray hits a diffuse surface, a random ray in the hemisphere over the intersection point is traced through the scene until the max recursion depth is reached OR until it hits a light source. If this happens, then simply the light source's intensity is returned.
The returned light is multiplied with the dot product of the surface normal and the ray direction.
Given enough rays per pixel my little experiment yields quite nice results. (which I belive aren't quite correct though^^)
Although I have to reduce the intensity of the light sources by several powers of 10 to get an image which is not too bright!
I also tried to abandon the formula mentioned above completely and always return the unchanged the light intensity. This also works quite well (I can use the same light source both for recursive raytracing and the global illumination experiment) although images rendered with recursive raytracing are much brighter than those with "global illumination" which should acutally be the other way round.
sort of global illumination:

Currently I am totally confused with the light intensity issue.
It would be cool if anyone could help me :)
PS:I'm sorry if I made too many spelling or grammar mistakes. English is not my native language.











