Infinite Procedural Terrain Engine

Thanks for mentioning my setup. Just to clarify, my terrain system includes 2 renderers for the same underlying tile based system. The geoclipmap based one is very unfinished, and the geomip one is just trivial and poor use of Panda’s existing terrain stuff as tiles.

The system has 2 parts, the renderer, and the tile source/bakery. The intention it to be able to use any renderer with any tile source. Currently there is only one tile source, and it is a very confusing, complicated and experimental one. As I’m a coder not an artist, I made the a tile source that procedurally generates terrain. As an experiment, I tried doing this fully on the GPU with a series of shaders (called maps) defined in a custom file format. It does work, but it has some huge performance issues (unnecessary copying of all intermediate steps to ram I believe). Regardless, its pretty quick, but horribly confusing and not very useful in practice.

With actual artist produced maps (or a decent map generator) and artist produced textures (ok, mine are from an artist, but they are for the wrong zoom level and taken from another project), and a decent renderer, it could be nice. Its missing a major feature: the ability to place meshes on the terrain, but its in the design, just not done.

As for passing params from vsahder to fshader, there is a comment here in my shader generator code that explains the issue (and there is code there that deals with it in the confusing context of my shader generator): https://github.com/Craig-Macomber/Panda3D-Shader-Generator/tree/master/shadereffects#L99

Edit: AnimateDream, is that project BSD licensed? AKA: can I use stuff from it, such as your shader and textures, and perhaps height map generator in my Terrain system which is BSD licensed? My terrain system would benefit from another tile source and another renderer (or an improvement to my geomip one). As my terrain system uses interchangeable tile sources and renderers, things get way more interesting when I have more than one of each that actually works.