Notice: Trying to access array offset on value of type bool in /srv/http/osirion/tracker/scripts/details.php on line 222 FS#41 : LOD entity keys + Automatic patch LOD

Project::OSiRiON

  • Status New
  • Percent Complete
    0%
  • Task Type Feature Request
  • Category src → render
  • Assigned To
    Stijn Buys
  • Operating System All
  • Severity Medium
  • Priority Very Low
  • Reported Version Development
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Project::OSiRiON
Opened by Evan Goers - 2011-05-08
Last edited by Stijn Buys - 2013-11-17

FS#41 - LOD entity keys + Automatic patch LOD

The engine needs a way to be able to use a LOD system for performance reasons. I propose a method for this: all brush entities(except worldspawn and misc_model) will have a 'lod' key. The existence of this key in the entity(as in, if it's actually set) tells the engine to enable LOD on the entity. The value for the LOD key would be an integer of 0 through 3. A value of 3 tells the engine to only render the brushes at 75% and above of the detail LOD distance. A value of 2 renders at 50-75%. A value of 1 renders at 25-50%. 0 renders at 0-25% distance. If the key is not set, the brushes will render at all distances(unless set to detail).

This allows two things: Patch meshes get LOD, and LOD gradually degrades with distance.

An alternative would be in patch loading. At model load, bake 4 levels of LOD for the patch meshes into the model, and apply the same rules as above. This may not be desirable because some patch meshes may be required to stay at full LOD for specific reasons.

The only downside to this is that it requires more memory to store the LOD models, but it would cut down on polygon count at render time significantly.

Loading...

Available keyboard shortcuts

Tasklist

Task Details

Task Editing