simvx.graphics.renderer.environment_sync

WorldEnvironment synchronisation and custom post-process orchestration.

Module Contents

Classes

EnvironmentSync

Syncs WorldEnvironment node properties to renderer settings and manages custom post-processing.

Data

API

simvx.graphics.renderer.environment_sync.__all__

[‘EnvironmentSync’]

simvx.graphics.renderer.environment_sync.log

‘getLogger(…)’

class simvx.graphics.renderer.environment_sync.EnvironmentSync(renderer: simvx.graphics.renderer.forward.Renderer)[source]

Syncs WorldEnvironment node properties to renderer settings and manages custom post-processing.

Initialization

property cached_env: Any[source]

The WorldEnvironment node resolved by the last sync_world_environment.

None when the scene has no environment. Read by consumers that need the env after the per-frame sync (e.g. the ocean pass wants its wind + quality tier); refreshed on every structure change by the same cache.

invalidate_cache() None[source]

Drop any cached find() results: forces re-lookup on next sync.

Usually unnecessary because the _structure_version watch in _resolve_env_and_camera already catches add/remove/reparent. Exposed for callers that mutate the tree without going through add_child / remove_child (e.g. test harnesses that swap root nodes wholesale).

sync_world_environment() None[source]

Sync WorldEnvironment node properties to renderer settings.

run_custom_post_process(cmd: Any, pp: simvx.graphics.renderer.post_process.PostProcessPass) None[source]

Record the custom effect chain (resolved in sync_world_environment).

Consumes the fog/TAA-resolved HDR for the parity written this frame and renders into the ping-pong target the tonemap was already wired to, so no descriptor is rewritten mid-frame.