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: handle float precision  (Read 9487 times)

montify

  • Jr. Member
  • *
  • Posts: 10
  • newbie
handle float precision
« on: May 10, 2013, 11:05:23 am »

Hello.
I love Outerra :)

But my question is: How you handle float precision in the "Terrain System".

You use double instead float?


And do you use Chunked-LOD for the Terrain?

please answer me :)

best regards from your neighbor (Austria) :))
« Last Edit: May 10, 2013, 11:08:55 am by montify »
Logged

cameni

  • Brano Kemen
  • Outerra Administrator
  • Hero Member
  • *****
  • Posts: 6721
  • No sense of urgency.
    • outerra.com
Re: handle float precision
« Reply #1 on: May 10, 2013, 02:32:04 pm »

No, doubles are slow on GPUs and take unnecessarily more memory. We are using the switching to local coordinate reference systems.
Initially the planet geometry is rendered with 0,0,0 in the planet's center. Once the precision is not enough (from a certain quad-tree level), all sub-tile geometry is referenced from the center of the tile where the switch happens.

Btw there's a good book that talks about the ways that can be used to deal with the precision problems (among other stuff): 3D Engine Design for Virtual Globes
Some info & code about it is also here: http://blog.virtualglobebook.com/2010/11/vertex-transform-precision.html

Yes we are using a system similar to the Chunked LOD, though we didn't know it was named so when we created it :)
Logged

montify

  • Jr. Member
  • *
  • Posts: 10
  • newbie
Re: handle float precision
« Reply #2 on: May 10, 2013, 02:35:04 pm »

Thank your for reply.

And many thanks for the Links! :)

here is my try:



very basic and 0,0001% done :D
Logged

cameni

  • Brano Kemen
  • Outerra Administrator
  • Hero Member
  • *****
  • Posts: 6721
  • No sense of urgency.
    • outerra.com
Re: handle float precision
« Reply #3 on: May 10, 2013, 02:42:45 pm »

Everybody has to start somewhere :)
Good luck!
Logged

montify

  • Jr. Member
  • *
  • Posts: 10
  • newbie
Re: handle float precision
« Reply #4 on: May 10, 2013, 02:53:14 pm »

Thank you!

Outerra is my motivation to work every day hard on it :)
Logged

montify

  • Jr. Member
  • *
  • Posts: 10
  • newbie
Re: handle float precision
« Reply #5 on: May 10, 2013, 03:49:16 pm »

Here you see the float precision...NOT

The white dot's


Logged

PytonPago

  • Hero Member
  • *****
  • Posts: 2284
  • It´s way too complex, dont let me try to explain !
Re: handle float precision
« Reply #6 on: May 10, 2013, 04:48:41 pm »

Looks nice tho ...  ;)
Logged
We are still undeveloped as long as we don´t realize, that all our science is still descriptive, and than beyond that description lies a whole new world we just haven´t even started to fully understand.

Edding3000

  • Member
  • **
  • Posts: 93
Re: handle float precision
« Reply #7 on: May 11, 2013, 12:44:56 pm »

Seems a stitching problem, not FP precision.
Logged

montify

  • Jr. Member
  • *
  • Posts: 10
  • newbie
Re: handle float precision
« Reply #8 on: May 11, 2013, 01:14:36 pm »

In this Screenshot stitching is not implemented, but i implemented now and seems like in the screenshot.


Here you se without Normals a closer look to the border of 2 Chunks ( same LOD level)


Think the inaccuracy are from the PerlinNoise Heightmap... hm
Logged