BioMonkey roadmap

I decided how to continue this project now. I was originally going to do three things:



Improve the atmosphere system…

Integrate GroIMP planting algorithms.

Integrate the river system.



I am going however to extend the terrain loader first. A description of the new system can be found on this site: http://vertexasylum.com/2010/07/11/oh-no-another-terrain-rendering-paper/



Currently the terrain loader in biomonkey has no LOD system, and is just for visualization purposes. All the generated terrain data is written into files that can be used by terramonkey. This is not a good solution. The CDLOD terrain system looks great. It has great features, such as:


  • A custom tiledBitmap image format that stores height data into indexed tiles.
  • The possibility to change terrain resolution at runtime.
  • GPU based vertex morphing.



    The system requires ps 3.0 for vertex texture fetch (not sure what ogl caps that means, but certainly not 1.0). This means it is not usable on crappy graphics cards. It does not require geometry shaders/tesselation tho, so it’s supported by most. It is a solid basis for tesselation tho, according to the author, which makes it extendable.



    At this point I’ve gone through the code, and I understand it. I have transcribed the tiledbitmap code (the image stuff). The system uses custom classes for everything, including meshes and bounding boxes/spheres, so I’m looking at a way to integrate atm. (cut away as much unneccesary stuff as possible). Integration will be the hard part.



    Gonna work on the atmosphere and terrain stuff now, while the beta is going on. I expect to have a prototype ready in perhaps a month or two. Gonna wait and see what happens to the jogl renderer before touching the planting stuff. Rivers and advanced planting stuff will come later.
3 Likes

The terrain stuff is going great. Very good code, I must say. It is clean and easy to work with. The article is great also, short and to the point. I already got the quadtree stuff sorted out.



Btw. I like how he casts the four child node pointers to floats when the node is a leaf, in order to save 16 bytes of memory. This guy is all about efficiency.

  1. I can’t seem to open that link.


  2. How will these terrain changes affect the way BioMonkey interoperates with TerraMonkey?


  3. Are you sure these are improvements that are best applied to BioMonkey, and not TerraMonkey?

Weird, it works for me.



It doesnt change the way it interoperates. Currently it does not really interoperate with terrain grid at all, but heightmaps and alpha maps are put in folders and the terraingrid tileloader can use them.



It’s not really an improvement on terramonkey, its a completely different system. It’s more gpu oriented. The guy that made it has done some pretty amazing stuff imo (including this). I trust its good.