1#define_import_path bevy_gaussian_splatting::packed 3#import bevy_gaussian_splatting::bindings::points 4#import bevy_gaussian_splatting::spherical_harmonics::{ 5 spherical_harmonics_lookup, 12fn get_position(index: u32) -> vec3<f32> { 13 return points[index].position_visibility.xyz; 18 ray_direction: vec3<f32>, 20 let sh = get_spherical_harmonics(index); 21 let color = spherical_harmonics_lookup(ray_direction, sh); 22 return srgb_to_linear(color); 25fn get_spherical_harmonics(index: u32) -> array<f32, #{SH_COEFF_COUNT}> { 26 return points[index].sh; 29fn get_rotation(index: u32) -> vec4<f32> { 30 return points[index].rotation; 33fn get_scale(index: u32) -> vec3<f32> { 34 return points[index].scale_opacity.xyz; 37fn get_opacity(index: u32) -> f32 { 38 return points[index].scale_opacity.w; 41fn get_visibility(index: u32) -> f32 { 42 return points[index].position_visibility.w;