Add fog support for Gaussian splat rendering#8583
Merged
mvaligursky merged 2 commits intomainfrom Apr 9, 2026
Merged
Conversation
Adds scene fog to both GSplat rendering paths (quad renderer and compute rasterizer), applied per-splat in linear color space. Creates shared fogMathPS WGSL chunk for reuse across fragment/vertex and compute shaders. Updates weather and LOD streaming examples with fog density controls.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds scene fog to both GSplat rendering paths (quad renderer and compute rasterizer), applied per-splat in linear color space.
Changes:
prepareOutputFromGamma, which now accepts a depth parameter and applies fog in linear space between decode and tonemappingfogMathPSWGSL chunk with pure math functions (evaluateFogFactorLinear,evaluateFogFactorExp,evaluateFogFactorExp2) reusable by both fragment/vertex and compute shadersfogPSchunk to usefogMathPSand support vertex shader usage viaVERTEXSHADERconditionalcamera.fogParams) or scene default (scene.fog) in GSplat managerGSplatParams.useFogproperty to allow disabling fog on splats even when the scene has fog enabledAPI Changes:
GSplatParams.useFog(boolean, defaulttrue): When set tofalse, Gaussian splats ignore scene/camera fog settingsExamples:
Performance: