Opened 3 years ago

Last modified 2 years ago

#6036 new enhancement

Level of Detail (LOD)

Reported by: wraitii Owned by:
Priority: Should Have Milestone: Backlog
Component: Core engine Keywords:
Cc: Patch: Phab:D2440

Description

One issue with our graphics/rendering engine is that there is no way to use less expensive, lower-resolution models when drawing faraway objects (a system commonly known as LOD/Level of Detail).

Implementing such a system, at least for 'models' (i.e. decals, particle systems, actors) would be good; Terrain LOD is a whole other can of worms at the moment.

Key items to tick:

  • model/texture/props can be activated/changed depending on drawing distance, avoiding "jittering" and "jumpiness"
  • variants are preserved, so that e.g. a specific horse color is kept at various LOD
  • no high CPU runtime cost to this switch, which would defeat the purpose (note that this is a memory tradeoff)

Optional but nice:

  • LOD fading to avoid "popping" (see e.g. this)
  • ...

Change History (3)

comment:1 by wraitii, 3 years ago

Key things that I believe should be sorted out first:

  • Animations are currently per object entry when they should really be per model-def (see Phab:D2967)
  • Getting a CModel from an ObjectEntry seems a little inefficient (may or may not be a problem)

comment:2 by Stan, 3 years ago

Milestone: Alpha 25Alpha 26

comment:3 by Freagarach, 2 years ago

Milestone: Alpha 26Backlog
Note: See TracTickets for help on using tickets.