1#define_import_path bevy_gaussian_splatting::bindings 3#import bevy_render::globals::Globals 4#import bevy_render::view::View 7@group(0) @binding(0) var<uniform> view: View; 8@group(0) @binding(1) var<uniform> globals: Globals; 10struct GaussianUniforms { 11 transform: mat4x4<f32>, 17@group(1) @binding(0) var<uniform> gaussian_uniforms: GaussianUniforms; 22 @location(0) rotation: vec4<f32>, 23 @location(1) position_visibility: vec4<f32>, 24 @location(2) scale_opacity: vec4<f32>, 25 sh: array<f32, #{SH_COEFF_COUNT}>, 28#ifdef READ_WRITE_POINTS 29@group(2) @binding(0) var<storage, read_write> points: array<Gaussian>; 31@group(2) @binding(0) var<storage, read> points: array<Gaussian>; 37#ifdef READ_WRITE_POINTS 38@group(2) @binding(0) var<storage, read_write> position_visibility: array<vec4<f32>>; 40@group(2) @binding(0) var<storage, read> position_visibility: array<vec4<f32>>; 43@group(2) @binding(1) var<storage, read> spherical_harmonics: array<array<f32, #{SH_COEFF_COUNT}>>; 45#ifdef PRECOMPUTE_COVARIANCE_3D 46@group(2) @binding(2) var<storage, read> covariance_3d_opacity: array<array<f32, 8>>; 48@group(2) @binding(2) var<storage, read> rotation: array<vec4<f32>>; 49@group(2) @binding(3) var<storage, read> scale_opacity: array<vec4<f32>>; 55#ifdef READ_WRITE_POINTS 56@group(2) @binding(0) var<storage, read_write> position_visibility: array<vec4<f32>>; 58@group(2) @binding(0) var<storage, read> position_visibility: array<vec4<f32>>; 60@group(2) @binding(1) var<storage, read> spherical_harmonics: array<array<u32, #{HALF_SH_COEFF_COUNT}>>; 62#ifdef PRECOMPUTE_COVARIANCE_3D 63@group(2) @binding(2) var<storage, read> covariance_3d_opacity: array<vec4<u32>>; 65@group(2) @binding(2) var<storage, read> rotation_scale_opacity: array<vec4<u32>>; 70#ifdef PLANAR_TEXTURE_F16 71@group(2) @binding(0) var position_visibility: texture_2d<f32>; 73#if SH_VEC4_PLANES == 1 74@group(2) @binding(1) var spherical_harmonics: texture_2d<u32>; 76@group(2) @binding(1) var spherical_harmonics: texture_2d_array<u32>; 79#ifdef PRECOMPUTE_COVARIANCE_3D 80@group(2) @binding(2) var covariance_3d_opacity: texture_2d<u32>; 82@group(2) @binding(2) var rotation_scale_opacity: texture_2d<u32>; 87#ifdef PLANAR_TEXTURE_F32 88@group(2) @binding(0) var position_visibility: texture_2d<f32>; 90#if SH_VEC4_PLANES == 1 91@group(2) @binding(1) var spherical_harmonics: texture_2d<f32>; 93@group(2) @binding(1) var spherical_harmonics: texture_2d_array<f32>; 98@group(2) @binding(2) var rotation_scale_opacity: texture_2d<f32>; 104 instance_count: atomic<u32>,