Level of detail.inc

The level\_of\_detail.inc file is ???

## Function Descriptions

* {NoBump} - ?
* {NoCastShadow} - ?
* {NoFog} - ?
* {NoGetShadow} - ?
* {NoParallax} - ?

* {distance ("scale" d(x)) ... } - ?
* LODx - ?
* off - ?

* {GrassDistance x} - Defines the "clip distance" of the grass. No grass is rendered beyond "x" meters.
* {GrassThinnerDepth x} - The point "x" meters before the clip distance at which grass starts to fade out.
* {GrassFadeDepth x} - The point "x" meters before clip distance at which random grass patches start fading even faster.
* {GrassThinnerPower x} - Changes the distribution of early grass fading, where if:
	+ "x" > 1 - Less patches of grass will fade out earlier
	+ "x" = (0, 1] - Patches of grass will thin out more aggressively

* *Any other missed ones?*

## Default Code

```
;{distance 20} = 1 meter in game

; {"test"
; {distance 700} ; LOD1
; {distance 1000 ; LOD2
; {NoFog}
; ;{NoGetShadow}
; ;{NoCastShadow}
; {off}
; }
; }
 {"human"
 {distance ("scale" d(400))
 ; LOD1
 {NoParallax}
 {NoBump}
 }
 {distance ("scale" d(1200))
 ; LOD2
 {NoGetShadow}
 }
 {distance ("scale" d(2000))
 ; LOD3
 {NoCastShadow}
 {NoFog}
 }
 {distance ("scale" d(6000))
 ("off")
 }
 }
 {"stuff\_weapon"
 {distance ("scale" d(200))
 ; LOD1
 }
 {distance ("scale" d(500))
 ; LOD2
 {NoBump}
 {NoParallax}
 {NoGetShadow}
 }
 {distance ("scale" d(600))
 ; LOD3
 {NoCastShadow}
 }
 {distance ("scale" d(1500))
 {NoFog}
 }
 {distance ("scale" d(3000))
 ("off")
 }
 }
 {"tracer"
 {distance ("scale" d(1000))
 {NoParallax}
 }
 {distance ("scale" d(3000))
 {NoGetShadow}
 {NoFog}
 {NoCastShadow}
 {NoBump}
 }
 {distance ("scale" d(8000))
 ("off")
 }
 }
 {"cannon"
 {distance ("scale" d(1300))
 ; LOD1
 {NoParallax}
 {NoBump}
 }
 {distance ("scale" d(2000))
 ; LOD2
 {NoGetShadow}
 {NoFog}
 }
 {distance ("scale" d(2500))
 {NoCastShadow}
 }
 {distance ("scale" d(9000))
 ("off")
 }
 }
 {"vehicle"
 {distance ("scale" d(2000))
 ; LOD1
 {NoBump}
 {NoParallax}
 }
 {distance ("scale" d(2800))
 ; LOD2
 {NoGetShadow}
 }
 {distance ("scale" d(3500))
 {NoFog}
 {NoCastShadow}
 }
 {distance ("scale" d(9000))
 ("off")
 }
 }
 {"vehicle\_plane"
 {distance ("scale" d(2000))
 ; LOD1
 {NoBump}
 {NoParallax}
 }
 {distance ("scale" d(2800))
 ; LOD2
 {NoGetShadow}
 }
 {distance ("scale" d(3500))
 {NoFog}
 {NoCastShadow}
 }
 {distance ("scale" d(12000))
 ("off")
 }
 }
 {"stuff\_small"
 {distance ("scale" d(300))
 ; LOD1
 {NoParallax}
 {NoBump}
 }
 {distance ("scale" d(800))
 ; LOD2
 {NoGetShadow}
 }
 {distance ("scale" d(1250))
 {NoFog}
 {NoCastShadow}
 }
 {distance ("scale" d(3000))
 ("off\_small")
 }
 }
 {"stuff\_grenade"
 {distance ("scale" d(300))
 ; LOD1
 {NoParallax}
 {NoBump}
 }
 {distance ("scale" d(800))
 ; LOD2
 {NoGetShadow}
 }
 {distance ("scale" d(1250))
 {NoFog}
 ;//{NoCastShadow}
 }
 {distance ("scale" d(4000))
 ("off\_small")
 }
 }
 {"stuff\_mine"
 {distance ("scale" d(300))
 ; LOD1
 {NoParallax}
 {NoBump}
 }
 {distance ("scale" d(800))
 ; LOD2
 {NoGetShadow}
 }
 {distance ("scale" d(1250))
 {NoFog}
 ;//{NoCastShadow}
 }
 {distance ("scale" d(7500))
 ("off\_small")
 }
 }
 {"part\_small"
 {distance ("scale" d(500))
 ; LOD1
 {NoParallax}
 {NoBump}
 }
 {distance ("scale" d(1000))
 ; LOD2
 {NoGetShadow}
 }
 {distance ("scale" d(1500))
 {NoFog}
 ;//{NoCastShadow}
 }
 {distance ("scale" d(3000))
 ("off\_small")
 }
 }
 {"casing"
 {distance ("scale" d(200))
 ; LOD1
 {NoBump}
 {NoParallax}
 {NoGetShadow}
 }
 {distance ("scale" d(500))
 ; LOD2
 {NoCastShadow}
 {NoFog}
 }
 {distance ("scale" d(1000))
 ("off")
 }
 }
 {"part\_big"
 {distance ("scale" d(1000))
 ; LOD1
 {NoParallax}
 {NoBump}
 }
 {distance ("scale" d(1500))
 ; LOD2
 }
 {distance ("scale" d(2000))
 ;//{NoGetShadow}
 {NoFog}
 ;//{NoCastShadow}
 }
 {distance ("scale" d(3500))
 ("off")
 }
 }
 {"decor\_tiny"
 {distance ("scale" d(300))
 ; LOD1
 {NoParallax}
 {NoBump}
 }
 {distance ("scale" d(800))
 ; LOD2
 {NoGetShadow}
 }
 {distance ("scale" d(1250))
 {NoFog}
 ;//{NoCastShadow}
 }
 {distance ("scale" d(2000))
 ("off\_tiny")
 }
 }
 {"decor\_small"
 {distance ("scale" d(750))
 ; LOD1
 {NoParallax}
 {NoBump}
 {NoGetShadow}
 }
 {distance ("scale" d(1800))
 ; LOD2
 {NoFog}
 {NoCastShadow}
 }
 {distance ("scale" d(3500))
 ("off\_small")
 }
 }
 {"decor\_medium"
 {distance ("scale" d(1000))
 ; LOD1
 {NoParallax}
 {NoBump}
 }
 {distance ("scale" d(4000))
 ; LOD2
 {NoFog}
 {NoCastShadow}
 {NoGetShadow}
 }
 {distance ("scale" d(7500))
 ("off")
 }
 }
 {"decor\_big"
 {distance ("scale" d(1500))
 ; LOD1
 {NoParallax}
 {NoBump}
 }
 {distance ("scale" d(3600))
 ; LOD2
 {NoGetShadow}
 {NoCastShadow}
 {NoFog}
 }
 {distance ("scale" d(9000))
 ("off")
 }
 }
 {"concrete"
 {distance ("scale" d(1500))
 ; LOD1
 {NoParallax}
 }
 {distance ("scale" d(3600))
 ; LOD2
 {NoGetShadow}
 {NoCastShadow}
 {NoFog}
 {NoBump}
 }
 {distance ("scale" d(9000))
 ("off")
 }
 }
 {"decor\_building"
 {distance ("scale" d(1800))
 ; LOD1
 {NoParallax}
 {NoBump}
 }
 {distance ("scale" d(2500))
 ; LOD2
 {NoFog}
 {NoGetShadow}
 }
 {distance ("scale" d(10000))
 ("off")
 }
 }
 {"decor\_landmark"
 {distance ("scale" d(1000))
 ; LOD1
 {NoParallax}
 {NoBump}
 }
 {distance ("scale" d(2500))
 ; LOD2
 {NoFog}
 {NoGetShadow}
 }
 {distance ("scale" d(3000))
 {NoCastShadow}
 }
 }
 {"decor\_tree"
 {distance ("scale2" d2(850))
 ; LOD1
 {NoBump}
 {NoParallax}
 }
 {distance ("scale2" d2(1600))
 ; LOD2
 ;{NoGetShadow}
 }
 {distance ("scale2" d2(3300))
 ; LOD3 Billboard
 {NoGetShadow}
 {NoFog}
 {NoCastShadow}
 }
 {distance ("scale2" d2(8000))
 ; LOD5
 ("off")
 }
 }
 {"decor\_bush"
 {distance ("scale" d(750))
 ; LOD1
 {NoBump}
 {NoParallax}
 }
 {distance ("scale" d(2400))
 ; LOD2
 {NoGetShadow}
 }
 {distance ("scale" d(3000))
 ; LOD3 billboard
 {NoFog}
 {NoCastShadow}
 }
 {distance ("scale" d(7000))
 ("off\_small")
 }
 }
 {"decor\_trench"
 {distance ("scale" d(2000))
 ; LOD1
 {NoParallax}
 {NoBump}
 }
 {distance ("scale" d(3000))
 ; LOD2
 {NoGetShadow}
 {NoCastShadow}
 {NoFog}
 }
 {distance ("scale" d(9000))
 ("off")
 }
 }
 {"decor\_shellhole"
 {distance ("scale" d(3000))
 ; LOD1
 {NoParallax}
 {NoCastShadow}
 {NoBump}
 }
 {distance ("scale" d(4000))
 ; LOD2
 {NoGetShadow}
 {NoFog}
 }
 {distance ("scale" d(9000))
 ("off")
 }
 }
 {"decor\_decal"
 {distance ("scale" d(1500))
 ; LOD1
 {NoParallax}
 }
 {distance ("scale" d(4500))
 ; LOD2
 {NoBump}
 {NoGetShadow}
 {NoCastShadow}
 {NoFog}
 }
 {distance ("scale" d(9000))
 ("off")
 }
 }
 {"huge"
 {distance ("scale" d(2000))
 ; LOD1
 }
 {distance ("scale" d(2500))
 ; LOD2
 {NoParallax}
 }
 {distance ("scale" d(5000))
 ;//{NoGetShadow}
 {NoFog}
 ;//{NoCastShadow}
 {NoBump}
 }
 {distance ("scale" d(8000))
 ("off")
 }
 }

; {GrassDistance 2500} ;// the grass clip distance, no grass is rendered beyond
; {GrassThinnerDepth 1500} ;// the distance before clip distance at which grass starts to fade out
; {GrassFadeDepth 500} ;// the distance before clip distance at which random grass patches start fading even faster
; {GrassThinnerPower 2} ;// changes the distribution of early grass fading: values >1 - less patches start fading out earlier, values (0, 1] - more aggressive thinning

;==========================================

; Grass test 60

; {GrassDistance 3000}
; {GrassThinnerDepth 3000}
; {GrassFadeDepth 800}
; {GrassThinnerPower 0.85}

; Grass test 66

 {GrassDistance 3500}
 {GrassThinnerDepth 3500}
 {GrassFadeDepth 250}
 {GrassThinnerPower 0.5}

; {GrassDistance 2500}
; {GrassThinnerDepth 2500}
; {GrassFadeDepth 100}
; {GrassThinnerPower 1.0}

 (mod "mp"
 {GrassThinnerPower 0.5}
 )
 (mod "coop"
 {GrassThinnerPower 0.5}
 )
 {GrassZoomFactor 0.025} ;// allows to extend the grass clip distance based on current zoom level (in FPS mode)
 {ZoomFactor 0.1}
 {MinZoom 1}

```