Mesh simplification for voxellike worlds

aherber

Member
Contributor
Architecture
Hello,

this is my first post in the Terasology Forums. I like your Project alot. I know that this it is currently in the pre alpha state. So there is alot of work going on concerning the engine and the rendering of the world( beside alot of other things). From what i have seen the Mesh generation is currently using culling methods to only render the visible surfaces of each cube. Are there any plans to reduce the vertices count further by greedy meshing,monotone polygones or any other method for mesh simplification. I have come across this Website http://0fps.wordpress.com/2012/07/07/meshing-minecraft-part-2/which is covering this subject specifically. There are also links to the implementations of the discussed methods using Java Script. I know that these methods may bring some other problems with them (for example calculating the ligthning for the merged Faces or triangles) but it may be worth considering them since they are reducing the vertices count alot. Maybe its still to early to think about ways to optimize the rendering but I still hope you find this helpfull.
 

Immortius

Lead Software Architect
Contributor
Architecture
GUI
We've discussed this and a few other ideas in the past. The main trickiness with that technique is for it to work data needs to be uniform for all vertices in a square surface (prior to merging), and the backing shaders need to take care of the wrapping of textures/etc. At the moment we have per-vertex lighting among other things. It is doable, just needs some work building up to it. Also it obviously only works for plain cubes (or at least their square surfaces), so won't help non-cubic voxels much. But definitely worth looking into.

The other thing that was discussed was using vertex clouds for distant areas, which gives at least a 4x reduction in vertex count (and at least a 6x decrease in indices, if they're even needed).
 

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
Welcome aherber and thanks for the notes and links - any interest in helping implement some of those techniques or what Immortius mentions? :D
 

begla

Project Founder and Lead Developer
Contributor
Architecture
Logistics
The other thing that was discussed was using vertex clouds for distant areas, which gives at least a 4x reduction in vertex count (and at least a 6x decrease in indices, if they're even needed).
Still can not wait to get my hands on that. But I'll have to fix the other rendering related stuff I've started working on first. :barefoot:
 

aherber

Member
Contributor
Architecture
Cervator Well i would love to contribute to this project. I have been playing around with the sourcecode and implemented a very simple (and by no way standard i suppose) melee combat. Well i guess i just couldnt wait to beat up some innocent jelly cubes :whistle:. I also changed the movement so you can step up cubes while walking around without the need of jumping but its still a little buggy. At the moment the climbing of blocks is not limited at all. So you can run up Hills and Mountains without a problem :ninja:. But you still cannot walk over water :D.

This is my first adventure in the realm of game programming. Unfortunatly i am not a 3d wizard like you people are :notworthy: (at least not now ). But im interested in learning more about this topic and improving my programming skills.
 

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
That sounds great - we don't all need to be 3d wizards, that's what specialization is for. We need a combat specialist, among other things, so I'm thrilled to hear you've already tinkered! Toss a post in the Contrib Intro forum and push some code! :D
 

Palaxin

New Member
I just discovered a very nice video on cubic voxel maps which also touches this topic I think. You can see the rendering of very far landscapes on a non-cubic approach... I'm no specialist at all in this topic but just wanted to show you:

@Cervator @Skaldarnar
I'm still reading in all those liquid simulation threads... There have been far more discussions than I've imagined :thumbsup:
 
Last edited:

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
Very cool video, nice find :)

Turns out the lead dev from there just commented on our most recent video the other day. I thought that icon looked familiar!

I love the distance attainable in his renderer, along with the great explosions. So much block debris yet solid performance. Want.

And yeah we have a ton of discussions, less so implementation :D
 
Top