Cargo Features

[dependencies]
bevy_gaussian_splatting = { version = "3.0.0", default-features = false, features = ["debug_gpu", "io_bincode2", "io_flexbuffers", "io_ply", "material_noise", "morph_particles", "noise", "f32", "f16", "sh0", "sh2", "sh3", "sh4", "precompute_covariance_3d", "packed", "planar", "buffer_storage", "buffer_texture", "query_raycast", "query_select", "query_sparse", "sort_radix", "sort_rayon", "sort_std", "tooling", "perftest", "headless", "viewer", "web", "testing", "webgl2", "webgpu", "bevy_transform_gizmo"] }

TODO: resolve one-hot feature flags through runtime configuration

default = buffer_storage, f16, io_flexbuffers, io_ply, morph_particles, planar, query_select, sh3, sort_rayon, sort_std, tooling, viewer

These default features are set whenever bevy_gaussian_splatting is added without default-features = false somewhere in the dependency tree.

debug_gpu

Affects render::GpuGaussianCloud.debug_gpu

Required by the test_radix binary

io_bincode2 = bincode2, flate2

Affects gcloud::bincode2

io_flexbuffers default headless? web? = flexbuffers

Affects gcloud::flexbuffers

io_ply default headless? web? = ply-rs

Affects io::ply

Required by the ply_to_gcloud binary

material_noise = noise

Enables noise

Affects material::noise

morph_particles default

Affects morph::particle

noise material_noise?

Affects bevy_gaussian_splatting::noise

f32

Affects cloud::GaussianCloud, spherical_harmonics::SH_VEC4_PLANES, spherical_harmonics::SphericalHarmonicCoefficients, planar::PlanarBuffers, planar::prepare_cloud, planar::get_bind_group_layout, texture::TextureBuffers, texture::get_bind_group_layout, planar::get_bind_group

f16 default headless? web? = half

Affects cloud::GaussianCloud, gaussian::f16, spherical_harmonics::SH_VEC4_PLANES, spherical_harmonics::SphericalHarmonicCoefficients, planar::PlanarBuffers, planar::prepare_cloud, planar::get_bind_group_layout, texture::TextureBuffers, texture::get_bind_group_layout, planar::get_bind_group

sh0 web?
sh1 sh2
sh3 default
sh4
precompute_covariance_3d

Affects cloud::GaussianCloud.covariance_3d_opacity_packed128, cloud::GaussianCloud.covariance_3d

packed

Affects render::GpuGaussianCloud.packed, packed::get_bind_group

planar default headless? web?

Affects planar::get_bind_group, planar::get_bind_group

buffer_storage default headless? web?

Affects render::GpuGaussianCloud.planar

buffer_texture

Affects sort::SortedEntries.texture, sort::GpuSortedEntry.texture

query_raycast

Affects query::raycast

query_select default query_sparse?

Affects query::select

query_sparse = kd-tree, query_select

Affects query::sparse

sort_radix

Affects sort::radix

Required by the test_radix binary

sort_rayon default headless? = rayon

Affects sort::rayon

sort_std default headless? web?

Affects sort::std

tooling default = byte-unit

Required by compare_aabb_obb, ply_to_gcloud and surfel_plane binaries

perftest
headless = buffer_storage, f16, io_flexbuffers, io_ply, planar, sort_rayon, sort_std

Enables png of bevy

bevy:

PNG image format support

viewer default web? = bevy-inspector-egui, bevy_panorbit_camera

Enables bevy_ui, multi_threaded and png of bevy

Required by the viewer binary

web = buffer_storage, f16, io_flexbuffers, io_ply, planar, sh0, sort_std, viewer, webgpu
testing

Required by test_gaussian and test_radix binaries

webgl2

note: webgl2/buffer_texture are deprecated

Enables webgl2 of bevy

webgpu web?

Enables webgpu of bevy

bevy:

Enable support for WebGPU in Wasm. When enabled, this feature will override the webgl2 feature and you won't be able to run Wasm builds with WebGL2, only with WebGPU.

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

bevy-inspector-egui viewer
bevy_panorbit_camera viewer
bevy_transform_gizmo implicit feature

Enables bevy_transform_gizmo

bevy_transform_gizmo:

A 3D transform gizmo for Bevy

bincode2 io_bincode2?
byte-unit tooling
flate2 io_bincode2?
flexbuffers io_flexbuffers

Enables flexbuffers ^2.0

half f16
kd-tree query_sparse?
ply-rs io_ply
rayon sort_rayon