mosure / bevy_gaussian_splatting

bevy gaussian splatting render pipeline plugin
https://mosure.github.io/bevy_gaussian_splatting?gaussian_count=1000
MIT License
140 stars 9 forks source link

keep draw_indirect at the gaussian cloud level #38

Closed github-actions[bot] closed 11 months ago

github-actions[bot] commented 11 months ago

https://github.com/mosure/bevy_gaussian_splatting/blob/4356f87a7a5353e33e997297ed96714d11cdc4be/src/render/mod.rs#L186


    ) -> Result<Self::PreparedAsset, PrepareAssetError<Self::ExtractedAsset>> {
        let gaussian_buffer = render_device.create_buffer_with_data(&BufferInitDescriptor {
            label: Some("gaussian cloud buffer"),
            contents: bytemuck::cast_slice(gaussian_cloud.gaussians.as_slice()),
            usage: BufferUsages::VERTEX | BufferUsages::COPY_DST | BufferUsages::STORAGE,
        });

        let count = gaussian_cloud.gaussians.len();

        // TODO: keep draw_indirect at the gaussian cloud level
        let draw_indirect_buffer = render_device.create_buffer(&BufferDescriptor {
            label: Some("draw indirect buffer"),
            size: std::mem::size_of::<wgpu::util::DrawIndirect>() as u64,