Phase 5 updates

Phase 5 · Slice 13 ·

URP post-processing

  • New assemblies with Unity's names:
    • Unity.RenderPipelines.Core.Runtime: Volume, VolumeProfile, VolumeComponent, every common VolumeParameter type, VolumeManager and VolumeStack;
    • Unity.RenderPipelines.Universal.Runtime: URP's post-processing overrides with their defaults and parameter order (including Bloom's hidden skipIterations), UniversalAdditionalCameraData and GetUniversalAdditionalCameraData. Scripts using them compile, and scenes and .asset profiles import (package script GUIDs).
  • Blending as Unity blends:
    • the defaults, then volumes by priority (stable among equals);
    • global ones by weight, local ones by their colliders' closest points within the blend distance;
    • numbers and colors interpolate; other values switch at any influence.
  • RenderPipelineManager's context and camera callbacks fire each frame, before rendering.
  • Each camera with renderPostProcessing blends its Volumes (layer mask, trigger) and sends its post settings to native.
  • The renderer:
    • post-processed views draw into an RGBA16F image;
    • a bloom chain: a soft-threshold downsample, a box-filtered pyramid, and an upsample by scatter;
    • one composite pass: exposure, white balance and color filter, log-space contrast, hue rotation, saturation, Neutral or ACES tone curves, and vignette;
    • overlay UI is drawn after post-processing, as in Unity.
  • Also:
    • Collider.ClosestPoint (boxes, spheres, capsules exact; others by bounds);
    • Unity serialization fills a field's existing object in place, and builds objects without parameterless constructors.
  • The conformance project now has URP installed (not as the active pipeline, so nothing else changes). A new volumes scenario records:
    • the effects' defaults, clamping and profile operations;
    • blending at several positions, without a trigger and on other layers;
    • camera data defaults, and a Volume and profile imported from a Unity scene. 38 scenarios pass in both runs.
  • GPU tests cover the tone curves against their CPU model, exposure, saturation, bloom (and its threshold) and vignette. An MCP e2e test covers a scripted Volume darkening a camera, and post-processing turned off.
  • Not yet: Post Processing Stack v2 (built-in pipeline), anti-aliasing, the data-only effects, HDR output, post-processing with camera stacking, and inline Volume profiles in MCP scenes.
  • Next: particles (ParticleSystem subset).