Let’s Back This Up A Bit…
Ok, so I didn’t really follow through with the tutorial regarding how to create a Zen Plugin — I’ve actually been in the throes of refactoring the terrain related interfaces for the AIR MMO, so anything I would have posted in regards to that would have changed.
That being said, I’m working on some pretty awesome stuff at the moment. Yes, it still has to do with terrain rendering (at least part of it, anyways)
.
As some who might be reading this may already know, I’ve been working on a terrain rendering component to support dynamic, efficient, and realistic rendering of floating islands (also referred to as Eyots in the vocabulary we’ve been using). I’ve had to return to the drawing board at least three times in this particular endeavor — needless to say, getting it right hasn’t been particularly easy.
However, I think the latest approach is going to pay dividends
. I’ve been using Sinbad’s terrain implementation in Ogre3D as a reference for developing a custom Ogre terrain component, and Britonia’s post regarding planet rendering as a reference for how to handle cube-to-sphere mapping for an eyot terrain instance. The current in-progress implementation will support dynamic paging of eyots into and out of memory as well as dynamic paging of regions of said eyots in and out of memory. Pair that with dynamic LOD rendering of the eyot surface using a combination of a cube-to-sphere mapping technique and use of a quad-tree implementation, and it will be able to support fairly large eyots – I haven’t really sat down and crunched any numbers here, but we’re talking tens of miles here if your unit of measure is a foot…
The other thing I’m working on is an inferred lighting rendering pipeline implementation (a good reference on this can be found here). I’m going to be implementing it with a custom geometric buffer configuration that will support diffuse maps, normal maps (and maybe parallax – I haven’t decided yet), specular power and intensity maps, dynamic light maps, and emission maps. It should be able to support a large number of dynamic lights, handle alpha textures, and support multi-sample anti-aliasing while still maintaining a healthy frame rate. The initial implementation of this will be part of the material and shader generation code that will be part of the terrain component mentioned above with the intent of later moving it to a more general implementation for all rendered assets.
I’m not going to lie – it’s a lot of work for just one person. But when it’s done, it’ll be visually stunning
Good thing for us our lead game designer is equally committed and as much of a perfectionist (if not moreso) as I
Comments(0)




