Project Sword more normal than ever… or now with normals… or something…
Download: Project Sword r2- kb
Currently the project is pretty simple. All there is to do at the moment is to explore the generated map. Movement is WASD and directional keys. Q and Z controls elevation. N for new map. F2 to gain control of your mouse. Esc to quit program (only works if it’s the active window, you may need to click then hit esc.)
Knocked out quite a bit with this update, beyond the obvious, a few noteworthy things are: Water height calculation, I average the map’s y values and then increase the average by 25% then use that as the water height. Makes the maps a little more consistent, though I still run into quite a few poor quality maps (in my opinion). I don’t want to really reduce variability too much, I’d hate to be able to produce millions of unique, marginally different maps. The y values have been reduced significantly. I think they are about right for my project now. Once I get some erosion going, from the local area view, it will still be interesting. I think I’m intimidated a bit by river creation, I’ll just have to tackle it and beat it into submission. I’ve got some ideas about cube map generation for a skybox. But I have some important behind the scenes threading duties to do before I can do much more. Vertex normals are calculated by normalizing and averaging the cross products of the vectors to all 8 adjacent vertices at each vertex. It’s actually surprisingly fast considering I’m doing 4 square roots per vertex… Just now thinking, I may be able to get that down to one square root per vertex. I’ll have to look into that. One of my favorite new features is the rather simple generated texture. I get each vertex’s y value and then depending on what it is shift the color, the lighter color water is the same, I just render the vertex at water height. I also compile the normals and geometry and texture all into a display list for faster fps, which adds a bit more time to the generation process. It takes about 4-5 seconds to generate a new map now, with compiling the map, calculating normals, and generating the texture.
-Tweaked some of the values and made water height dynamic.
-Added triangle strips
-Added Dynamic Texture Generation
-Added Vertex Normal Calculation
-Added Display list