Class WorldPostProcessInfo
Namespace: ValveResourceFormat.Renderer.World
Assembly: Renderer.dll
Manages post-processing volumes and current post-processing state for the scene.
public class WorldPostProcessInfoInheritance
Constructors
WorldPostProcessInfo()
Manages post-processing volumes and current post-processing state for the scene.
public WorldPostProcessInfo()Fields
MaxBlendedLuts
The most volume LUTs that can be weighted together in one frame, matching the game's combine shader.
public const int MaxBlendedLuts = 4Field Value
Properties
ActiveLuts
Gets the LUTs contributing this frame, strongest last; the remainder up to weight one is the neutral LUT.
public List<WeightedLut> ActiveLuts { get; }Property Value
CurrentState
Gets the post-processing state computed for the current frame.
public PostProcessState CurrentState { get; }Property Value
MasterPostProcessVolume
Gets or sets the master post-process volume: the unbound volume that is the base state everywhere.
public ScenePostProcessVolume? MasterPostProcessVolume { get; set; }Property Value
MasterTonemapController
env_tonemap_controller is a legacy entity (S1) that still has functionality, so we want to account for it. The way this works is a little unclear, even after quite a bit of testing, but I think an env_tonemap_controller existing in the level overrides the post process volume regardless of if it's set as master. TODO: Test if this applies to post process volumes
public SceneTonemapController? MasterTonemapController { get; set; }Property Value
PostProcessVolumes
Gets the non-master post-process volumes, applied while the camera is inside them.
public List<ScenePostProcessVolume> PostProcessVolumes { get; }Property Value
Methods
AddPostProcessVolume(ScenePostProcessVolume)
Registers a post-process volume. Only the first master volume is retained; the rest apply by camera containment.
public void AddPostProcessVolume(ScenePostProcessVolume postProcess)Parameters
postProcess ScenePostProcessVolume
The post-process volume to register.
UpdatePostProcessing(Camera, float)
Recalculates : the master volume is the base, and every non-master volume containing the camera crossfades on top of it over its fade time.
public void UpdatePostProcessing(Camera camera, float deltaTime)Parameters
camera Camera
The active camera, tested against each volume's collider.
deltaTime float
Elapsed time in seconds since the last frame, driving the crossfades.

