MCPcopy Create free account
hub / github.com/Bloom-Engine/engine / maybe_invalidate_sdf_clipmap

Method maybe_invalidate_sdf_clipmap

native/shared/src/renderer/mod.rs:6863–6876  ·  view source on GitHub ↗

Ticket 014 V5 — invalidate the SDF clipmap if the camera has moved past the rebake threshold from the current clipmap centre. Called at the top of every frame before the bake check, so a moving camera triggers exactly one re-bake per `threshold × extent` chunk of travel.

(&mut self)

Source from the content-addressed store, hash-verified

6861 /// check, so a moving camera triggers exactly one re-bake per
6862 /// `threshold × extent` chunk of travel.
6863 fn maybe_invalidate_sdf_clipmap(&mut self) {
6864 if !self.scene_sdf_clipmap_built {
6865 return;
6866 }
6867 let cam = self.current_camera_world_pos();
6868 let dx = cam[0] - self.scene_sdf_clipmap_origin[0];
6869 let dy = cam[1] - self.scene_sdf_clipmap_origin[1];
6870 let dz = cam[2] - self.scene_sdf_clipmap_origin[2];
6871 let dist_sq = dx * dx + dy * dy + dz * dz;
6872 let threshold = SCENE_SDF_CLIPMAP_EXTENT * SCENE_SDF_CLIPMAP_REBAKE_THRESHOLD;
6873 if dist_sq > threshold * threshold {
6874 self.scene_sdf_clipmap_built = false;
6875 }
6876 }
6877
6878 fn bake_scene_sdf_clipmap(
6879 &mut self,

Callers 1

end_frame_with_sceneMethod · 0.80

Calls 1

Tested by

no test coverage detected