You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
We added a dedicated path for the alpha channel when alpha propagation is enabled (r.PostProcessing.PropagateAlpha != 0). The rendering logic is as below: 1. Create a new mesh processing batch for all translucent materials. 2. In the translucent path. 2.1. Get a copy of the alpha before all translucent passes to retain the holdout for opaque objects. 2.2. After all existing translucent passes are done. Run the dedicated translucent holdout pass to accumualte background visibility and path throughput from far to close. 2.3. Compose the translucent pass alpha with the retained alpha before all translucent passes back to scene color. Notes: 1. MODULATE cannot be correctly implemented so we retain the old behavior. Comments about an alternative is in the shader code. However, we can only have one modulate material in the scene to get a close match to path tracing. 2. Substrate has minimal support. Only material types in the demo level is supported. 3. Set r.RenderTranslucentHoldout=0 to fallback to the old behavior. 4. Fog is currently not supported on translucent holdout. 5. Fully backward compatible for alphaholdout blending mode. #jira UE-221301 #rb eric.renaudhoude #tests Test on custom level with all translucent material pair with/without holdout. It matches close to path tracing except for fog. [CL 35865111 by tiantian xie in ue5-main branch]