RLS Studios
ProjectsPatreonCommunityDocsAbout
Join Patreon
BeamNG Modding Docs

Guides

Reference

Server CommandsGE UtilitiesGame Engine MainNavigation GraphScreenshot CaptureServerServer ConnectionSpawnpoint ManagerSimulation TimeVehicle SpawningSuspension Frequency Tester
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

PostFx Turbulence Effect

Screen-space turbulence distortion post-processing effect. Applies a heat-haze or ripple distortion to the back buffer.

Screen-space turbulence distortion post-processing effect. Applies a heat-haze or ripple distortion to the back buffer.


Overview

Declarative setup script (no M module). Registers:

  • PFX_TurbulenceStateBlock - Z-disabled, linear clamp sampler
  • PFX_TurbulenceShader - Turbulence distortion pixel shader
  • TurbulenceFx - PostEffect (disabled by default, priority 0.5)

Scene Objects

ObjectTypeDefault EnabledPriorityDescription
TurbulenceFxPostEffectfalse0.5Screen turbulence distortion
PFX_TurbulenceStateBlockGFXStateBlockData--Z-test disabled, linear clamp sampler
PFX_TurbulenceShaderShaderData--Turbulence pixel shader

Configuration

-- Turbulence renders after glow objects but before other post effects
turbulenceFx:setField("renderTime", 0, "PFXAfterBin")
turbulenceFx:setField("renderBin", 0, "GlowBin")
turbulenceFx.renderPriority = 0.5  -- Renders after the glows themselves

Notes

  • Unlike most PostFx effects, this one allows reflection passes (allowReflectPass = true)
  • Renders after GlowBin with priority 0.5 (after glow at priority 1)
  • Z-buffer testing and writing are both disabled
  • Reads from $backBuffer
  • The effect is disabled by default and must be explicitly enabled

Usage Example

-- Enable turbulence effect (e.g., near heat sources)
local turbFx = scenetree.findObject("TurbulenceFx")
if turbFx then turbFx:enable() end

See Also

  • PostFx Glow - Glow/bloom (shares GlowBin)
  • PostFx Flash - Screen flash overlay

PostFx SSAO (Screen-Space Ambient Occlusion)

Dual-radius screen-space ambient occlusion effect. Provides small-radius detail occlusion and large-radius contact shadows with configurable quality levels.

PostFx Utilities

Utility module for loading and saving post-processing effect preset files via file dialogs.

On this page

OverviewScene ObjectsConfigurationNotesUsage ExampleSee Also