Skip to content

3D: add post-processing shaders / PBR Material#8348

Open
Carrotstudio0 wants to merge 9 commits into4ian:masterfrom
Carrotstudio0:pr/post-processing-shaders-clean
Open

3D: add post-processing shaders / PBR Material#8348
Carrotstudio0 wants to merge 9 commits into4ian:masterfrom
Carrotstudio0:pr/post-processing-shaders-clean

Conversation

@Carrotstudio0
Copy link

@Carrotstudio0 Carrotstudio0 commented Mar 2, 2026

Summary

This PR adds the post-processing shader stack and related 3D effects, along with a new Scene3D::PBRMaterial behavior that brings physically-based rendering to GDevelop's 3D pipeline.

Included effects

  • PostProcessingStack
  • ToneMapping
  • Bloom (shared capture integration)
  • ScreenSpaceReflections (SSR) — with real roughness forwarding via tRoughness and per-object exclusion via Scene3D::SSRExclude
  • SSAO
  • VolumetricFog
  • DepthOfField
  • ChromaticAberration
  • ColorGrading
  • RimLight

New behavior

  • Scene3D::PBRMaterial — full PBR material controls built on MeshStandardMaterial / MeshPhysicalMaterial, no renderer-core changes

Exposed parameters: metalness, roughness, envMapIntensity, emissiveColor, emissiveIntensity, normalMapAsset, normalScale, aoMapAsset, aoMapIntensity, map (albedo)

SSR reads real per-surface roughness from PBR-managed meshes via a dedicated tRoughness capture pass, falling back to a heuristic for non-PBR surfaces.

Included files

  • Extensions/3D/PostProcessingSharedResources.ts
  • Extensions/3D/PostProcessingStackEffect.ts
  • Extensions/3D/ToneMappingEffect.ts
  • Extensions/3D/BloomEffect.ts
  • Extensions/3D/ScreenSpaceReflectionsEffect.ts
  • Extensions/3D/SSAOEffect.ts
  • Extensions/3D/VolumetricFogEffect.ts
  • Extensions/3D/DepthOfFieldEffect.ts
  • Extensions/3D/ChromaticAberrationEffect.ts
  • Extensions/3D/ColorGradingEffect.ts
  • Extensions/3D/RimLight.ts
  • Extensions/3D/PBRMaterialBehavior.ts
  • Extensions/3D/SSRExcludeBehavior.ts
  • Extensions/3D/JsExtension.js

@Carrotstudio0 Carrotstudio0 requested a review from 4ian as a code owner March 2, 2026 14:57
@Carrotstudio0 Carrotstudio0 changed the title feat(3d): isolate post-processing shader stack and registrations 3D: add post-processing shader stack and effect registrations Mar 2, 2026
Your Name added 5 commits March 2, 2026 19:12
…vior

- centralize quality profiles for shared 3D post-processing capture
- tune default sample/step budgets for better performance tiers
- add Scene3D::SSRExclude behavior and SSR mask-based object exclusion
- improve SSR stability and integrate exclusion texture early-out
- harden RimLight shader injection and debug-force path
@Carrotstudio0 Carrotstudio0 changed the title 3D: add post-processing shader stack and effect registrations 3D: add post-processing shaders / PBR Material Mar 3, 2026
@4ian 4ian added the AI label Mar 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants