Outerra forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

Download Outerra Tech Demo. Unofficial Outerra Discord server, MicroProse Discord server for OWS.

Author Topic: Frostbite 2.0  (Read 8344 times)

Edding3000

  • Member
  • **
  • Posts: 93
Frostbite 2.0
« on: February 23, 2013, 03:47:40 pm »

No time now to give comment but read this, especcially the part about tessellation. Might be interesting!

http://dice.se/wp-content/uploads/Scaling-the-Pipeline.pdf
Logged

Edding3000

  • Member
  • **
  • Posts: 93
Re: Frostbite 2.0
« Reply #1 on: March 01, 2013, 02:10:11 pm »

No time now to give comment but read this, especcially the part about tessellation. Might be interesting!

http://dice.se/wp-content/uploads/Scaling-the-Pipeline.pdf

Finally some time to explain what i mean!


The Frostbite 2 engine uses a simple quadtree division with t-split indices just like outerra does. Only its a flat surface, but that doesnt matter.
The interesting thing i saw is they are using tesselation to enhance 'pointy' features in the distance.

What the big problem is with quadtree terrains, clipmapped terrains, etc is that level of detail is independant of terrain features, but only on distance. This means effectively: flat surfaces have more polygons than necessary, where complex geometry lacks polygons.

Why not use a solution where indeed the basis is a quadtree subdivision which indeed gives to much polygons on flat surfaces as base. I cannot think of a way to lose this drawback.
BUT: mountains in the distance CAN be enhanced with more detailed maps using tesselation based on mesh complexity.

How i think it could be done:
Enhance SRTM compiler to create a 'complexity map': when compressing data overlay the hight detail map with the lower detail. subtract them from each other. the result is: a difference between the two. The amount of difference is equal to the complexity of the geometry. Blur this map and divide it into for example complexity level: low medium and high.
Save this map next to the heightmap.

What do you have now?
- A regular heightmap as you already have.
- A compexity map which shows how complex this heightmap is at a higher detail.

What now?
When rendering use the tesselation/complexity map to lookup if underlying mesh 'loses' a lot of detail.
Then tesselate the terrain with high res height/displacement map for distant terrain.

Result?
Profit in far away complex geometry.

Pro's:
- Better representation of far away complex geometry

Con's:
- How to do collisions 15km away with a displaced terrain that is different from your collision map?
- Needs DX11 cards.
- More polygons.

Although: You might get away with using smaller quads, and still get a better resolution?

What are your thoughts about this Cameni/AngryPig?
Logged

cameni

  • Brano Kemen
  • Outerra Administrator
  • Hero Member
  • *****
  • Posts: 6721
  • No sense of urgency.
    • outerra.com
Re: Frostbite 2.0
« Reply #2 on: March 02, 2013, 02:05:28 am »

What the big problem is with quadtree terrains, clipmapped terrains, etc is that level of detail is independant of terrain features, but only on distance. This means effectively: flat surfaces have more polygons than necessary, where complex geometry lacks polygons.
I'm blissfully ignorant of how others do it, but in OT the terrain detail is determined by terrain features. Tile statistics are read back from the GPU for both the given and generated geometry, producing info about the maximum stretching on the mesh (the max change of height) and the overall height span on the tile.
Then they are used in the equation that computes whether tiles have to be refined. There's a coefficient that determines how large effect they have compared to the tile size. By default that coef is relatively low, in order for OT to run on slower cards well, but on higher cards you could make its effect more prominent. Hmm, I think it's not exposed in the cfg files currently.

Plus no T-junctions, no tesselation shaders needed.
Logged