Welt-Texturen aus der .glb statt aus assets/textures/
Der Loader zieht jetzt die baseColorTexture jedes Materials aus dem BIN-Chunk und dekodiert sie (PNG, via png-Crate) → model::Texture mit Pixeln. Die Namenskonvention "Materialname = Dateiname" und der assets/textures/-Pfad für Welt-Texturen entfallen; assets/textures/ bleibt nur noch für UI/Fonts/Platzhalter. - engine::image: neuer, geteilter RGBA8-Image-Typ (aus tga.rs gezogen) plus PNG-Decoder. tga.rs liefert weiter denselben Typ. - gltf: material -> texture -> image -> bufferView auflösen, Bild aus BIN dekodieren; fehlt ein Glied, bleibt image None (Platzhalter). KHR_texture_transform (Blenders Mapping-Node) wird beim Laden in die UVs eingebacken. - model::Model: materials: Vec<String> -> textures: Vec<Texture>. - render: die Pixel je Schlüssel aus den Modellen sammeln (erstes Vorkommen gewinnt, Schlüssel ohne Bild -> Platzhalter). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0196AM4UyAJEXVtPvp5DdKr8
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
937fbd6ede
commit
fc3494466e
+6
-3
@@ -14,9 +14,11 @@
|
||||
//! so wie story_ctrl Tags zurückgibt, statt selbst `signals::dispatch` zu
|
||||
//! rufen.
|
||||
//!
|
||||
//! `gltf`, `tga` und `wav` sind reine Decoder (Bytes → owned Daten); `gltf`
|
||||
//! ist DER 3D-Pfad und produziert das `model::Model`, den Vertrag zwischen
|
||||
//! Loader und seinen Konsumenten (collision, trigger, audio, render::props).
|
||||
//! `gltf`, `tga`, `image` und `wav` sind reine Decoder (Bytes → owned Daten);
|
||||
//! `gltf` ist DER 3D-Pfad und produziert das `model::Model`, den Vertrag
|
||||
//! zwischen Loader und seinen Konsumenten (collision, trigger, audio,
|
||||
//! render::props) — samt der Welt-Texturen, die als PNG in der `.glb` liegen
|
||||
//! (dekodiert über `image`, das den RGBA8-`Image`-Typ auch für `tga` stellt).
|
||||
//! `audio` ist die Emitter-Logik zum Frontend-Treiber render::audio, `player`
|
||||
//! die First-Person-Physik auf der Welt aus `collision`. Post-Effekte kennt
|
||||
//! der Kern nur als `game::Action::SetPost` — die Kette lebt in render::post.
|
||||
@@ -26,6 +28,7 @@ pub mod audio;
|
||||
pub mod collision;
|
||||
pub mod game;
|
||||
pub mod gltf;
|
||||
pub mod image;
|
||||
pub mod ink;
|
||||
pub mod kv;
|
||||
pub mod model;
|
||||
|
||||
Reference in New Issue
Block a user