RLS Studios
ProjectsPatreonCommunityDocsAbout
Join Patreon
BeamNG Modding Docs

Guides

Reference

server/commands - Camera & Input Commandsge_utils - Game Engine Utility Functionsmain.lua - GE Lua Entry Point & Game Loopmap.lua - Navigation Graph (AI Road Map)screenshot.lua - Screenshot Systemserver/server - Level Loading & Game ServerserverConnection - Client-Server Connection Manager`setSpawnpoint` - Default Spawn Point Persistence`simTimeAuthority` - Simulation Time & Bullet Time Control`spawn` - Vehicle Spawning & Safe Placement`suspensionFrequencyTester` - Suspension Natural Frequency Analysis
Client CanvasCaustics PostFXChromatic Lens PostFXClient CoreDepth of Field PostFXEdge AA PostFXPostFx Flash EffectPostFx Fog EffectsPostFx FXAA Anti-AliasingGamma PostFXPostFx Glow EffectShadow Maps InitClient LightingPostFx Light Ray EffectAdvanced Lighting - Light VisualizationPostFx Masked Screen BlurMotion Blur PostFXObjects Required for StartupClient Parse ArgsClient PostFX ManagerRender ManagerAdvanced Lighting - ShadersBasic Lighting - Shadow FilterAdvanced Lighting - Shadow VisualizationPostFx SMAA Anti-AliasingPostFx SSAO (Screen-Space Ambient Occlusion)PostFx Turbulence EffectPostFx Utilities

UI

Resources

BeamNG Game Engine Lua Cheat SheetGE Developer RecipesMCP Server Setup

// RLS.STUDIOS=true

Premium Mods for BeamNG.drive. Career systems, custom vehicles, and immersive gameplay experiences.

Index

HomeProjectsPatreon

Socials

DiscordPatreon (RLS)Patreon (Vehicles)

© 2026 RLS Studios. All rights reserved.

Modding since 2024

API ReferenceGE ExtensionsClient

Caustics PostFX

Underwater caustic light patterns projected onto submerged surfaces.

Underwater caustic light patterns projected onto submerged surfaces.


Module Overview

PropertyValue
Sourcelua/ge/client/postFx/caustics.lua
Returns- (side-effect module)
DependenciesPFX_DefaultStateBlock

Scene Objects Created

ObjectTypeDescription
PFX_CausticsStateBlockGFXStateBlockDataAdditive blend (One + One), mixed sampling modes
PFX_CausticsShaderShaderDatacaustics/causticsP.hlsl shader
CausticsPFXPostEffectCaustics overlay, renders before translucent bin

State Block Details

PFX_CausticsStateBlock

  • Inherits PFX_DefaultStateBlock
  • Additive blend: GFXBlendOne + GFXBlendOne
  • Samplers: Clamp-Linear (0,1), Wrap-Linear (2,3)

PostEffect Configuration

PropertyValue
Render TimePFXBeforeBin
Render BinObjTranslucentBin
Enabledfalse (disabled by default)
Texture 0#prepass[RT0]
Texture 1#prepass[Depth]
Texture 2lua/ge/client/postFx/textures/caustics_1.png
Texture 3lua/ge/client/postFx/textures/caustics_2.png
Target$backBuffer

Notes

  • Uses two animated caustic textures that scroll/blend together.
  • Additive blending adds light patterns on top of the scene.
  • Depth-tested via prepass depth to only affect submerged geometry.
  • Disabled by default; enabled when underwater or near water surfaces.

See Also

  • client/postFx - PostFX manager

Client Canvas

Manages the main game canvas (render window) creation and cursor visibility.

Chromatic Lens PostFX

Chromatic aberration and lens distortion post-processing effect.

On this page

Module OverviewScene Objects CreatedState Block DetailsPFX_CausticsStateBlockPostEffect ConfigurationNotesSee Also