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

Function bloom_scene_pick

native/android/src/lib.rs:2138–2154  ·  view source on GitHub ↗
(screen_x: f64, screen_y: f64)

Source from the content-addressed store, hash-verified

2136
2137#[no_mangle]
2138pub extern "C" fn bloom_scene_pick(screen_x: f64, screen_y: f64) -> f64 {
2139 let eng = engine();
2140 let inv_vp = eng.renderer.inverse_vp_matrix();
2141 let cam_pos = eng.renderer.camera_pos();
2142 let w = eng.renderer.width() as f32;
2143 let h = eng.renderer.height() as f32;
2144
2145 let (origin, direction) = bloom_shared::picking::screen_to_ray(
2146 screen_x as f32, screen_y as f32,
2147 w, h, &inv_vp, &cam_pos,
2148 );
2149
2150 let result = bloom_shared::picking::raycast_scene(&eng.scene, &origin, &direction);
2151 let hit = result.hit;
2152 unsafe { LAST_PICK = Some(result); }
2153 if hit { 1.0 } else { 0.0 }
2154}
2155
2156#[no_mangle]
2157pub extern "C" fn bloom_scene_set_cast_shadow(handle: f64, cast: f64) {

Callers

nothing calls this directly

Calls 7

screen_to_rayFunction · 0.85
raycast_sceneFunction · 0.85
inverse_vp_matrixMethod · 0.80
camera_posMethod · 0.80
engineFunction · 0.70
widthMethod · 0.45
heightMethod · 0.45

Tested by

no test coverage detected