Files
wsg/lib/Cargo.toml
T
Jérôme Bousquié 24fbafc810 réorg doc
2026-09-25 19:08:20 +02:00

110 lines
2.7 KiB
TOML

[package]
name = "wsg-lib"
version = "0.1.0"
edition = "2024"
[lib]
path = "src/lib.rs"
[features]
default = ["all-prims"]
# Primitives procédurales (zéro dep externe)
prim-cube = []
prim-plane = []
prim-sphere = []
prim-cylinder = []
prim-cone = []
prim-torus = []
all-prims = ["prim-cube", "prim-plane", "prim-sphere", "prim-cylinder", "prim-cone", "prim-torus"]
# Import de fichiers
import-obj = []
import-gltf = []
[dependencies]
wgpu = "30.0.0" # Vérifiez la version la plus récente
winit = "0.30.13" # For window management — pinned to match examples
thiserror = "2"
bytemuck = { version = "1.25.0", features = ["derive"] }
glam = { version = "0.33", features = ["bytemuck"] } # feature requis pour Pod/Zeroable sur Mat4/Vec4 (uniform.rs)
pollster = { version="1.0.1", features = ["macro"] }
# Étape 10 (Textures, DRAFT D3) : décodage d'images (PNG/JPEG) pour charger des textures diffuses.
# default-features = false pour n'emporter que les codecs utiles (plus petit arbre de compilation).
image = { version = "0.25", default-features = false, features = ["png", "jpeg"] }
# Examples live in per-category subfolders (meshes/, lights/, cameras/, effects/).
# Cargo only auto-discovers top-level `examples/*.rs`, so every example is
# declared explicitly with its `path`. Names are stable: `cargo run -p wsg-lib
# --example <name>` works exactly as before the reorganization.
# Each folder has a README.md documenting its examples.
# --- meshes/ : geometry, materials, import, low-level workflow ---
[[example]]
name = "simple"
path = "examples/meshes/simple.rs"
[[example]]
name = "cube"
path = "examples/meshes/cube.rs"
[[example]]
name = "pbr"
path = "examples/meshes/pbr.rs"
[[example]]
name = "import"
path = "examples/meshes/import.rs"
required-features = ["import-obj"]
[[example]]
name = "manual"
path = "examples/meshes/manual.rs"
# --- lights/ : shadow mapping, spot, emissive ---
[[example]]
name = "shadow"
path = "examples/lights/shadow.rs"
[[example]]
name = "shadow_test"
path = "examples/lights/shadow_test.rs"
[[example]]
name = "spot_test"
path = "examples/lights/spot_test.rs"
[[example]]
name = "emissive"
path = "examples/lights/emissive.rs"
# --- cameras/ : camera-driven rendering (frustum culling) ---
[[example]]
name = "culling"
path = "examples/cameras/culling.rs"
# --- effects/ : HDR, post-process, the full showcase ---
[[example]]
name = "demo"
path = "examples/effects/demo.rs"
[[example]]
name = "bloom"
path = "examples/effects/bloom.rs"
[[example]]
name = "hdr"
path = "examples/effects/hdr.rs"
[[example]]
name = "msaa"
path = "examples/effects/msaa.rs"
[[example]]
name = "fog"
path = "examples/effects/fog.rs"
[[example]]
name = "dof"
path = "examples/effects/dof.rs"