Wednesday, October 15, 2008

Project Refresh

My laptop got stolen argh. Fortunately I had backups and didn't lose anything, however, after re-installing everything on the new laptop I decided to start fresh. The reasons for that were that there was a new version of Ogre out and I ran across some posts on the Ogre forums about other developers doing the same thing with Ogre.

So this time I started with the OgrePlanet approach to creating a mesh from a movable and renderable derived object and used an index cache to store the 16 possible index orders (four sides of a square and each can be stitched or not). I also started out with my own neighbor and mesh creation algorithms just so I could really understand them and after I got them working, I realized that Sean O'Neil's algorithms were better thought out (he did spend years on the project), less crash prone, and more efficient.

So I re-implemented the quad tree node neighbors and then implemented the stitching and the index cache. Next up is normals and then either a simple texture job and/or heightmap building/importing.

Planet Mesh

This image shows what the planet mesh looks like when the camera is near the surface. It's hard to see in a small picture, but the mesh has no cracks. The tri count ranges from 3,000 to 20,000 currently.

Thursday, May 15, 2008

Super Blog

This is slightly off topic, but the company I'm working for (The Supergroup)has created a blog that you should check out when you're looking for something new and interesting:
The Super Blog

Sunday, July 8, 2007

The Planet Port

I decided to move on to making some water for the island and decided to make a water sphere the size of a planet made entirely of water. I was going to start with the ROAM (Real-time Optimally Adapting Meshes) planet example by Sean O' Neil that I found on Gamasutra.

I took out all the height map code because I wanted a flat sphere surface which I wanted to tesselate based on how close the camera was to the surface of the sphere. I would then make those vertices closest to the viewer rise and fall on some cos wave pattern or something to look like waves in the ocean.

Here's as far as I got:


Then I decided I should really try to make the land first (including all ground under the oceans) with the ROAM mesh and work on the water mesh after I got that part working.

That's when I re-read the gamasutra artical and realised I was using an older version of O'Neil's code and that he had switched to a quad tree for the LOD (level of detail). So now I'm trying to figure out how that works, and hopefully I can port that to Ogre3d and make some real progress soon.