To start it of: I have no idea if this way is intended or not - this would be a rather drastic step away from the current looks of the game.
Also I have to annotate that I have not much clue about the whole voxel and rendering stuff, this is just an idea which came to my mind lately.
Enough babbling, lets go:
So, voxel based terraingen looks quite awesome, regardless of whether i look at Terasology, minecraft, cubeworld or whatever. But they have one downside:
even the biggest mountain looks not natural if it's blocky (really?! :O ).
technically speaking: voxels are just 3-dim arrays of points in the cloud and a (arbitrary complex) discrete noise gives them values based of which the mesh is generated.
Now comes the part where my understanding of this topic get's quite low.
What if one would let run a subdivision algorithm (e.g. Catmull-Clark to name a prominent one) over this mesh and generate a smoothened one? Of course the polygon cound would get quadrupled (if my math is correct ) but I doubt this would kill an average computer.
(Exept if you planned to implement a mesh simplification like proposed in -this- thread)
This would result in a way more natural looking landscape (which is still totally random!).
Some Problems:
Who's gonna implemet it? :O
So, this would be a rather drastic change but if you ask me it's worth a thought.
Let me hear your opinions
Nym
Also I have to annotate that I have not much clue about the whole voxel and rendering stuff, this is just an idea which came to my mind lately.
Enough babbling, lets go:
So, voxel based terraingen looks quite awesome, regardless of whether i look at Terasology, minecraft, cubeworld or whatever. But they have one downside:
even the biggest mountain looks not natural if it's blocky (really?! :O ).
technically speaking: voxels are just 3-dim arrays of points in the cloud and a (arbitrary complex) discrete noise gives them values based of which the mesh is generated.
Now comes the part where my understanding of this topic get's quite low.
What if one would let run a subdivision algorithm (e.g. Catmull-Clark to name a prominent one) over this mesh and generate a smoothened one? Of course the polygon cound would get quadrupled (if my math is correct ) but I doubt this would kill an average computer.
(Exept if you planned to implement a mesh simplification like proposed in -this- thread)
This would result in a way more natural looking landscape (which is still totally random!).
Some Problems:
- Some things will get too even, e.g. caves with harsh rock formations. This could be resolved with a weightened subdiv that some materials like stone don't get smoothened as much as grass/dirt (or even negativ smoothing - take the offset vector for the smoothened edge and apply it backwards; I have no idea what fancy looks this would give^^). Perhaps even build a suddle noise in so that a straight cliff is slightly broken up
- Block updates: A technical issue I have again no clue about. When a block/voxel is harvested or destroyed the surrounding needs to be updated.
- Block updates: block/voxel gets placed: same as above
- definately not smoothened blocks: Not really a problem, a small detection whether a Block shall be smoothened or not. Candidates are building-bricks or maybe stairs in the future.
- Textures: i have no f*king clue about texturing subdiv surfaces properly :O
- There's certainly something I missed here
Who's gonna implemet it? :O
So, this would be a rather drastic change but if you ask me it's worth a thought.
Let me hear your opinions
Nym