fog

Fog tags describe the colour and density properties of fog which can be applied to BSP fog planes using Sapien.

Non-planar atmospheric fog does not use a fog tag, and is instead controlled by the sky tag.

Known issues

Due to a renderer regression, the screen layers effect of these tags does not render on PC or MCC.

Structure and fields

Field Type Comments
flags bitfield(32)
Flag Mask Comments
is water 0x1

Determines if the volume behind (anti-normal to) this fog plane is a "water fog volume", which causes it to be considered underwater. This affects vehicles' ability to travel over water.

atmosphere dominant 0x2

As documented in Guerilla, this was originally used to fix polygon popping when atmospheric fog density reached 1.0 within the confines of the map and interacted with fog planes. It is only enabled in c10's swamp fog tag on both Xbox and PC. This flag is possibly changing fog render order and therefore also coincidentally fixes the shader inconsistency between Xbox and PC which causes the Assault on the Control Room snowy fog to look incorrect on PC.

fog screen only 0x4

Unknown purpose. This flag was not set in any original Halo maps.

pad(4)
pad(76)
pad(4)
maximum density Fraction: f32

Scales how dense the fog is at its opaque distance and depth, where 1 is the fully opaque color and 0 is transparent.

  • Maximum: 1
pad(4)
opaque distance f32 (world units)

The distance from the player where the fog reaches its maximum density.

pad(4)
opaque depth f32 (world units)

The distance from the fog plane where the fog reaches its maximum density.

pad(8)
distance to water plane f32 (world units)
color
ColorRGB (3)
  • red: f32
  • green: f32
  • blue: f32
flags 1 bitfield(16)
Flag Mask Comments
no environment multipass 0x1
no model multipass 0x2
no texture based falloff 0x4
layer count u16
distance gradient f32 (world units) (min & max)
density gradient Fraction: f32 (min & max)
  • Maximum: 1
start distance from fog plane f32 (world units)
pad(4)
screen layers color
ColorARGBInt (4)
  • alpha: u8
  • red: u8
  • green: u8
  • blue: u8

Sets the colour of the screen layer volumetrics particles. Note that this effect only works on the original Xbox version of the game.

rotation multiplier Fraction: f32
  • Maximum: 1
strafing multiplier Fraction: f32
  • Maximum: 1
zoom multiplier Fraction: f32
  • Maximum: 1
pad(8)
map scale f32
animation period f32 (seconds)
pad(4)
wind velocity f32 (world units per second) (min & max)
wind period f32 (seconds) (min & max)
wind acceleration weight Fraction: f32
  • Maximum: 1
wind perpendicular weight Fraction: f32
  • Maximum: 1
pad(8)
pad(120)

This information was partially generated using Invader tag definitions.

Acknowledgements

Thanks to the following individuals for their research or contributions to this topic:

  • Kavawuvi (Invader tag definitions)
  • MosesOfEgypt (Tag structure research)