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.

Pages: 1 [2]

Author Topic: Dirt Roads  (Read 49207 times)

cameni

  • Brano Kemen
  • Outerra Administrator
  • Hero Member
  • *****
  • Posts: 6721
  • No sense of urgency.
    • outerra.com
Dirt Roads
« Reply #15 on: June 13, 2010, 03:32:43 am »

You know, the engine wasn't meant for flight simulators originally. The approach is quite novel and different I think, but one of the primary goals was to have an underfoot detail, a seamless transitions between levels of detail and a realistic visibility. As a result we aren't using some common techniques that would make it easier but would bring the pop ups or visible LOD switches. Still, making everything smooth is not an easy task.

The LOD determination is driven by a metrics computing required texture quality on terrain tiles. Basically one specifies when the terrain tile should be subdivided - after the texture stretch is higher than a threshold. The stretching depends on terrain topology. Objects are tied to a specific tile level so they appear with it. All this is based on a metrics that is tunable by a single parameter so it can be adjusted with future hardware.

And specifically the road system can fully utilize the procedural architecture. Since the roads are essentially baked into terrain and do not have a geometry of their own, it's no performance hit during the rendering whether they exist on the terrain or not. Only when the terrain is being generated, the processing of a tile with roads consumes more GPU time.
 And since the rougher tiles where the roads would be thin like hair are large and thus stay longer in the view, it's absolutely no problem of rendering the roads even when they are hardly visible at all. The system is now tuned to roads and the moment of appearance of the wider runways is currently still visible, but this will be sorted out too.
Logged

dajoun

  • Newbie
  • Posts: 4
Dirt Roads
« Reply #16 on: June 13, 2010, 02:08:55 pm »

you have mud version ?
Logged

MatthewS

  • Member
  • **
  • Posts: 67
Dirt Roads
« Reply #17 on: June 13, 2010, 07:15:51 pm »

Quote from: cameni
Since the roads are essentially baked into terrain and do not have a geometry of their own, it's no performance hit during the rendering whether they exist on the terrain or not. Only when the terrain is being generated, the processing of a tile with roads consumes more GPU time.

Yes baking the textures seems the best way to have high detail and high performance at runtime.  FSX does not bake textures but instead overlays features such as roads, airports and "landclass polygons" at run time, hence the "popup".

Will your engine support arbitrarily shaped "texture polygons" so that features such as beaches and forests can be baked into the textures?

Also, are you developing a "world editor"?  IMHO at this early stage it's much better to NOT waste your time on a "world editor" but instead develop just a command line utility that takes as it input a file (XML?) that defines the scenery (roads,runways,texture polys etc).

I guess you already have a command line utility that been used to process what you've currently shown, so I assume your going to make that available to the community (ie give the community access to the same tools that you use).


edit: I just saw your feature page and it states that land class polys are supported, so I guess that answers my question above about texture polygons.  But also what happens at the boundary of two different texture polygons?  In some cases a modder would want a clean/hard edge (eg where a concrete airport apron meets grass).  But in other cases a modder would prefer a naturalistic blending (eg where a beach texture meets a forest texture).
Logged

cameni

  • Brano Kemen
  • Outerra Administrator
  • Hero Member
  • *****
  • Posts: 6721
  • No sense of urgency.
    • outerra.com
Dirt Roads
« Reply #18 on: June 14, 2010, 02:35:55 am »

Note, in fact it's not about texture baking, although that is used too for coarse tiles. Texture baking won't help you to have the asphalt thickness visible. It's more something like a geometry baking :)

Arbitrary texture polygons are supported, just now I can place a polygonal pad that levels the terrain and/or modifies the materials. It uses the same system as roads do and as such it supports transitional border areas for geometry smoothing and fractal-like material transitions.
However, it's not the same thing as the vector land class support. That one must work on a coarser level, for example if you place a polygon defining a swamp, it doesn't mean the whole area will be one swamp texture. Instead a swamp ecosystem should come in place, creating occasional islands of drier land, groups of trees and fractal mix of swamp cultures. Also the transition to the surrounding ecotypes must be neither abrupt nor a smooth texture blend, but it should be a fractal mix with definable sharpness that creates a natural-looking landscape. Along with the fact it has to work seamlessly on all scales down to the ground level view, it's one huge task awaiting me in the coming months. But the result, as I can see it in my imagination will be worth it :)

A world editor, well, we are slowly making one along the way, albeit it's a cruder version of what you are probably used to.
Most of the things are initially controlled by keyboard with parameters preset from the code, and once it's working we add a UI control. A huge advantage, in my opinion, is that the UI is written as an html page, with javascript invoking the engine functions and receiving data. This means it's easily modable and extended and we don't have to create a complex UI system to the engine. As a bonus the UI can be themed easily too.

Command line utilities are used only for one-time jobs, such as importing a model or converting terrain data.
Logged
Pages: 1 [2]