Blender Internal Render Engine - Where can i learn more about how its really works?

Hello All,
I 'm using Blender 2.77 and I have currently arrived at the native Blender Renderer engine, and I fully want to understand how it works and how I can use, adapt, modify it for my own Blender projects. I’ve already read many (free) e-book , articles and watched many videos about it, but I want to be able to truly understand AND visualize its inner workings. These are the steps i’ve already undertaken:

1 - Getting a firm theoretical background knowledge about:

  • Computer graphics (in general)
  • 3D modeling
  • Texturing
  • Rendering
  • Ray-tracing
  • Lighting

2 - “RTFM” and read the entire Blender Render manual over here:
Unfortunately the official Blender Render manual does not offer much in-depth / under-the-hood insight on how stuff really works.

3 - Looked at the Blender Wiki to find out more about the Blender Render engine documentation:

4 - Started to study OpenGL and CUDA rendering pipelines over here:

5 - Studied OpenGL and GLSL Shaders over here:

=================================================================================
Despite everything… I still have lots of technical in-depth questions about the Blender internal Render engine like:

A - What ARE the World: Horizon, Zenith and Ambient colors?
Are they real light sources (which get ray-traced) or visual overlays which gets mixed onto the camera image?

B - How does BI create “Environment Lighting”?
Is this done by just another (hidden) Lamp (like spot, point, hemi, sun, area) or is it something else?

C - How does BI create “Ambient Occlusion”?
(see A) Is it just another (hidden) light-source or a visual overlay on the camera-image?

D - Is there an internal hierarchy in BI Light-sources?
… So I can figure out which light settings influences which other light settings in what way (or not)

E - What are the value-ranges which can enter into the various BI-lamp settings?
since now I can only trail and error and trail and error again.

F - Where can I learn more about the Material settings in relation to lighting?

G - Where can I learn more about the Texture settings in relation to lighting?

H - Is it possible to learn-by-reading-BI-source_code, to download and study it from within?

This little gallery shows the progress i’ve made so far and shows my visualization steps to make Blender Render fully transparent:

I hope you can help me to solve BI - internal mysteries.
Thanks in advance for your hints, tips and tricks.

BI takes an opposite approach from what Cycles does. Whereas Cycles takes a point and looks for light-sources that illuminate it, BI casts light-beams from light sources and determines what points they illuminate. Most of your questions are probably best answered by looking at the some of the many tutorials which were developed before Cycles came on the scene and became so popular.

“Materials” determine what various points on an object “look like,” and a good way to think of “Textures” is that they are modifiers to those materials. Ambient-occlusion and other things further influence the calculations that are made when it is determined that a beam intersects a certain surface. Reflections are also supported.

BI’s algorithms calculate shadows (if you want them to), as well as light. You can also have light sources that don’t produce shadows, and you can turn-off the shadow calculations for sources that normally do. You also have “shadow-only spotlights” which create shadows but don’t add light. (Which can be a very useful trick, because shadow-calculations add a lot to rendering time, even when they don’t actually matter much to the final visual result.)

I find BI to be a nice complement to Cycles, and the analogy that I use (in real-photography terms) is that “Cycles is a great ‘soft box,’” while “BI is a great strobe.” The very nice thing about Blender is that you can use both strategies (as well as several others, now), all within the same tool. You can do the entire “soup-to-nuts” image production process, all within the same tool.

Now that is a nice explanation, thanks!

“Textures” as “Modifiers” for “Materials” now that is something I already can compute

[x] Check! Thanks for explaining things so simple and clearly.