Crate wgpu_3dgs_core

Crate wgpu_3dgs_core 

Source
Expand description

§3D Gaussian Splatting Library

…written in Rust using wgpu.

Crates.io Docs.rs Coverage License

§Overview

This is the backbone of wgpu-3dgs-viewer and wgpu-3dgs-editor.

This library provides helper functions and abstractions for working with 3D Gaussian Splatting, including:

  • Loading and parsing PLY files containing 3D Gaussian data.
  • Configuring Gaussian structures for loading into GPU buffers.
  • Utilities for creating and managing GPU resources related to 3D Gaussian Splatting.
  • Compute pipeline abstractions for processing 3D Gaussian data on the GPU.

§Examples

See the examples directory for usage examples.

Re-exports§

pub use glam;
pub use wgpu;

Modules§

shader
Shader modules for the wesl::Pkg wgpu-3dgs-core.

Structs§

ComputeBundle
A bundle of wgpu::ComputePipeline, its wgpu::BindGroupLayout and optionally wgpu::BindGroup.
ComputeBundleBuilder
A builder for ComputeBundle.
Gaussian
The Gaussian.
GaussianCov3dHalfConfig
The half precision covariance 3D configuration of Gaussian.
GaussianCov3dRotScaleConfig
The unconverted rotation and scale covariance 3D configuration of Gaussian.
GaussianCov3dSingleConfig
The single precision covariance 3D configuration of Gaussian.
GaussianMaxStdDev
The Gaussian’s maximum standard deviation.
GaussianPodWithShHalfCov3dHalfConfigs
GaussianPodWithShHalfCov3dRotScaleConfigs
GaussianPodWithShHalfCov3dSingleConfigs
GaussianPodWithShNoneCov3dHalfConfigs
GaussianPodWithShNoneCov3dRotScaleConfigs
GaussianPodWithShNoneCov3dSingleConfigs
GaussianPodWithShNorm8Cov3dHalfConfigs
GaussianPodWithShNorm8Cov3dRotScaleConfigs
GaussianPodWithShNorm8Cov3dSingleConfigs
GaussianPodWithShSingleCov3dHalfConfigs
GaussianPodWithShSingleCov3dRotScaleConfigs
GaussianPodWithShSingleCov3dSingleConfigs
GaussianShDegree
The Gaussian spherical harmonics degrees.
GaussianShHalfConfig
The half precision SH configuration of Gaussian.
GaussianShNoneConfig
The none SH configuration of Gaussian.
GaussianShNorm8Config
The 8 bit signed normalized SH configuration of Gaussian.
GaussianShSingleConfig
The single precision SH configuration of Gaussian.
GaussianToSpzOptions
Extra options for Gaussian::to_spz.
GaussianTransformBuffer
The Gaussian transform buffer.
GaussianTransformPod
The POD representation of a Gaussian transformation.
GaussiansBuffer
The Gaussians storage buffer.
ModelTransformBuffer
The model transformation buffer.
ModelTransformPod
The POD representation of a model transformation.
PlyGaussianPod
The POD representation of Gaussian in PLY format.
PlyGaussians
A collection of Gaussians in PLY format.
SpzGaussian
A single SPZ Gaussian.
SpzGaussianRef
Reference to a SPZ Gaussian.
SpzGaussianShDegree
The SPZ Gaussian spherical harmonics degrees.
SpzGaussians
A collection of Gaussians in SPZ format.
SpzGaussiansFromGaussianSliceOptions
Options for SpzGaussians::from_gaussians_with_options.
SpzGaussiansHeader
Header of SPZ Gaussians file.
SpzGaussiansHeaderPod
Header of SPZ Gaussians file.

Enums§

ComputeBundleBuildError
The error type for ComputeBundleBuilder::build function.
ComputeBundleCreateError
The error type for ComputeBundle creation.
DownloadBufferError
The error type for downloading buffer.
FixedSizeBufferWrapperError
The error type for FixedSizeBufferWrapper.
GaussianDisplayMode
The Gaussian display modes.
Gaussians
A unified Gaussian representation.
GaussiansBufferTryFromBufferError
The error type for GaussiansBuffer’s TryFrom implementation for wgpu::Buffer.
GaussiansBufferUpdateError
The error type for GaussiansBuffer update functions.
GaussiansBufferUpdateRangeError
The error type for GaussiansBuffer update range functions.
GaussiansIter
Iterator for Gaussians.
GaussiansSource
A discriminant representation of Gaussians.
PlyGaussianIter
PLY Gaussian Result iterator.
PlyHeader
Header of PLY file.
SpzGaussianPosition
A single SPZ Gaussian position field.
SpzGaussianPositionIter
Iterator over SPZ Gaussian position references.
SpzGaussianPositionRef
Reference to SPZ Gaussian position field.
SpzGaussianRotation
A single SPZ Gaussian rotation field.
SpzGaussianRotationIter
Iterator over SPZ Gaussian rotation references.
SpzGaussianRotationRef
Reference to SPZ Gaussian rotation field.
SpzGaussianSh
A single SPZ Gaussian SH coefficients field.
SpzGaussianShIter
Iterator over SPZ Gaussian SH coefficients references.
SpzGaussianShRef
Reference to SPZ Gaussian SH coefficients field.
SpzGaussiansCollectError
The error type for collecting SPZ Gaussians.
SpzGaussiansFromIterError
The error type for SpzGaussians::from_iter.
SpzGaussiansPositions
Representation of SPZ Gaussians position s.
SpzGaussiansRotations
Representation of SPZ Gaussians rotation s.
SpzGaussiansShs
Representation of SPZ Gaussians SH coefficients s.

Traits§

BufferWrapper
A trait to to enable any wrapper to act like a wgpu::Buffer.
FixedSizeBufferWrapper
A BufferWrapper with a fixed size that can be validated from a wgpu::Buffer.
GaussianCov3dConfig
The covariance 3D configuration of Gaussian.
GaussianPod
The Gaussian POD trait.
GaussianShConfig
The spherical harmonics configuration of Gaussian.
IterGaussian
A trait of representing an iterable collection of Gaussian.
IteratorGaussianExt
Trait to extend Iterator of Gaussian to collect into Gaussians.
ReadIterGaussian
A trait of representing a IterGaussian that can be read from a buffer.
WriteIterGaussian
A trait of representing a IterGaussian that can be written to a buffer.