We now have Lambertian (aka. long distance directional) lighting and ambient lighting, as well as a set FPS (Frames Per Second)! Also, Fragile can draw about 160,000+ blocks per frame without lag, with each block drawn per frame having its own randomized block type, rotation, and color. This is demonstrated in the video below.
I ran into some problems with sending data to the GPU (Graphics Processing Unit) that took me hours to figure out: it turns out you have to pad data sent to the GPU in order for it to transfer properly. Yuck.
One interesting note is that Fragile can draw about 1,000,000 of these blocks with mild lag (choppiness and somewhat slow response time to input), but it is doable.
Seventeenth step complete:
(lighting from below)
Up next: storing the
entire game world (units, components, etc.)
and map in memory without using up a lot of RAM (Random Access Memory - aka. the memory applications use while running) but with quick response time. REGHEX and I have figured out a good system for this; I just have to implement it well.