Fix alpha emissive visibility and make fog density threshold configurable
This PR fixes alpha emissive surfaces not being visible and makes the fog density threshold configurable for better game compatibility.
Alpha Emissive Fix:
Fixed timing issue where hasEmissive flag was set before material emissive radiance was calculated in geometry resolver Alpha emissive surfaces now properly participate in lighting calculations Resolves issue where transparent emissive materials were not visible
Fog Density Threshold Configuration:
Add configurable waterFogDensityThreshold RTX option with default 0.065f Replace hardcoded waterFogDensityThrehold constant in global volumetrics Maintains Portal RTX compatibility while allowing other games to adjust threshold Fixes issue where D3D fog end values <= 67 disabled volumetrics entirely
RTXDI Submodule Update:
Updates RTXDI submodule to include volumetric attenuation improvements Removes artificial distance clamps for physically correct volumetric attenuation Improves plane distance calculations using actual hit positions Better handling of rays extending beyond froxel grid maximum distance
Before and After. The emissive lamps in the Before image are not attenuated by volumetrics, and are in the After image.
Before
After
Before and After. The "Painting" in the background has a VERY small emissive value (0.1). It is entirely unattenuated by volumetrics. The After image shows the painting is attenuated (as well as the emissive lamps on the left).
Before
After
Notes:
Seems to exacerbate pre-existing Ray Reconstruction artifacts.
Changing to model D reduces them.
using rtx.rayreconstruction.combineSpecularAlbedo = False seems to eliminate the artifacts.
REMIX-4508 for tracking
Could you please merge/rebase to the latest main, there're lots of conflicts
Also, did you submit your changes in the RTXDI? You need to merge the changes in RTXDI first, then update the submodule here.