I am writing a game (no link yet) and I need some assets. So the obvious thing to do is to parse some 3D file format and get the data out of it that I need. I have tried a couple of formats and implemented some, and the following article describes the file formats I've encountered and tried to use.
A while ago I finished playing From Dust which I enjoyed a lot. What impressed me about that game was the application of landscape changes by erosion. One drawback of the tool Lithosphere I wrote earlier is that it can't do any form of hydraulic erosion. I decided to write a test in WebGL to see if a few simple algorithms could be used to shape a landscape according to hydraulic erosion.
The grass demo I did earlier used some Screenspace Ambient Occlusion. I thought it was a cool effect, and decided to research the topic futher. Scren-Space Ambient Occlusion is an incorrect aproximation to true ambient occlusion, and it has a couple problems, but it can be a useful technique.
In the book Game Engine Gems 2: Chapter 13 author Rémi Arnaud examines different browser based 3d rendering techniques. According to Rémi, many 3D web rendering technologies failed because they could not get game developers on board. An example is VRML, which was pronounced dead on arrival by John Carmack.
In part 2 of this series I explained about how to get the sky. This entry is about how to compute an irradiance environment map from this cubemap.
I was interested in how many people have support for WebGL and what features they do support. My Demos reported issues to me as well as hardware capabilities. This gives me a good way to analyze what I'm doing right or wrong.
In Part 1 of this howto, I introduced my demo. In this part I'm going to talk about how to make the sky. The demo also computes an irradiance map and applies it to the cube. I'm going to talk about this in Part 3.
WebGL is now enabled by default in both Firefox 4.0 and Chrome 10.0, so I thought I give it a try and see what I can get out of it. The goal was to render some simple terrain, nice looking sky and waving grass. In this part of the description I will give the overview of how that works.