forked from DerKarlos/OSMeta
-
Notifications
You must be signed in to change notification settings - Fork 0
/
notes_OSMeta.txt
169 lines (122 loc) · 7.36 KB
/
notes_OSMeta.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
________________________________________
SOLVED
2022-04-14
Bevy geht vielleicht gut, wenn man es vom Git clont.
Aber wie nutzt man es als crate in einem eigenen Git?
Bei mir kennt es dann kein ..default()
+ ^^^^^^^ not found in this scope
Es geht mit ..Default::default() Aber da fehlt was im Cargo.toml???
Ha! There is a commit about enabling that default shorthand
The v0.6.1 I used in my project is not the latest I use with the example %-)
2022-04-15
Beim WASM build läuft es zwar gut, zu sehen sind aber nur schräglinien. Mac-Problem?
Ok if it is a 2D/3D application
2022-04-16
How to update the clone (0.6.0 to 0.7.0)?
git reset --hard origin/latest
2022-04-19
Die Baumrückseite fehlt trotz double_sided: true
Es fehlte cull_mode: None, // No cull of the back side.
Und was macht dann double_sided? // needed to have both sides equal lighted
2022-0423
Beim eignen create_tree stimmt die Beleuchtung nicht. Normals falsch? Wie sind die bei Quad? Auch nicht anders.
Aber bei 90 Grad müssen die Normals schon anders sein. Diesmal war das Rum-Probieren erfolgreich.
UND
Quad-Native ist der Baum ok, WASM auf der Rückseite blass (was mit double_sided?)
Mit den richtigen Normals geht das schon.
2022-0423
Bei meinem Baum gehen duplicate_vertices() sh.compute_flat_normals() nicht
// pub fn compute_flat_normals(&mut self) Panics if Indices are set ==>> NOT set !!! todo: issue?
// compute only works with duplicate!
mesh.duplicate_vertices(); // ERROR bevy_pbr::material: Mesh is missing requested attribute: Vertex_Normal (MeshVertexAttributeId(1), pipeline type: Some("bevy_pbr::material::MaterialPipeline<bevy_pbr::pbr_material::StandardMaterial>"))
mesh.compute_flat_normals(); // thread 'TaskPool (0)' panicked at 'assertion failed: `(left == right)` // left: `8`, // right: `6`: MeshVertexAttributeId(1) has a different vertex count (6) than other attributes (8) in this mesh.', /Users/karlos/.cargo/registry/src/github.com-1ecc6299db9ec823/bevy_render-0.7.0/src/mesh/mesh/mod.rs:208:17
________________________________________
PROBLEMS
Bei WASM sind die Schatten der Bäume nicht Alpha-Durchsichtig. In Discord... (auch bei wgpu?)
Läuft nicht auf dem iPhone/iPad? Wie ist es bei mac-Safari? Auch nicht! Kein Ground/Baum und nur 12 FPS
Es sind ohne Last nur 30 FPS. Limit 60 aufheben, wie? Bisher durch Quellcode-Ändern von rend3/wgpu
Mozilla: (<30 FPS)
- WEBGL_debug_renderer_info is deprecated in Firefox and will be removed. Please use RENDERER.
- WebGL warning: getSyncParameter: ClientWaitSync must return TIMEOUT_EXPIRED until control has returned to the user agent's main loop. (only warns once)
Mac-Safari:
- kein Ground/Baum und nur 12 FPS ::OK but 2D only?:: https://niklasei.github.io/bevy_game_template/
Chrome: (40 FPS)
- 4 mal: wasm_osmeta.js:1449 The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page.
________________________________________
BUILD
% cd ../OSMeta
OSMeta % cargo run
cargo run
Any Bevy app can be deployed to the web by running the following commands:
cargo build [--release] --target wasm32-unknown-unknown
wasm-bindgen --out-dir OUTPUT_DIR --target web [BUILD_]TARGET_DIR
wasm-bindgen --out-name wasm_osmeta --out-dir wasm/target --target web target/wasm32-unknown-unknown/release/osmeta.wasm
build EXAMPLES:
cargo build --example headless_wasm --target wasm32-unknown-unknown --no-default-features
wasm-bindgen --out-dir examples/wasm/target --target web target/wasm32-unknown-unknown/debug/examples/headless_wasm.wasm
FROM: https://github.com/bevyengine/bevy/tree/latest/examples#wasm
If you are using a released version of bevy, you need to make sure you are viewing the correct version of the examples!
Latest release: https://github.com/bevyengine/bevy/tree/latest/examples
Specific version, such as 0.4: https://github.com/bevyengine/bevy/tree/v0.4.0/examples
Update the clone: git reset --hard origin/latest
To get more info for compiler/runtime errors, set (temporary) an environment variable:
export RUST_BACKTRACE=1
________________________________________
TODO / DOING /DONE
* Benutze statt println!! das: /Users/karlos/Public/bevy/examples/app/logs.rs
* Mal ein paar examples probieren:
+ bevy % cargo run --release --example rect
* Examples als eigenes Git-Project build-en
* Native und wasm
* bevy-book lesen
* git für OSMeta
* Inline "data:" scheint eigebaut zu sein: https://raw.githubusercontent.com/bevyengine/bevy/31bd4ecbbc81521340991a82f8f725cce7bdf79b/assets/models/SimpleSkin/SimpleSkin.gltf
* bevy_svg: Load and draw SVG-files in 2D and 3D -- https://github.com/Weasy666/bevy_svg
* Probiere die WASM-Beispiele: https://github.com/bevyengine/bevy/tree/latest/examples#wasm
* https://github.com/bevyengine/bevy/blob/main/examples/shader/shader_instancing.rs
* Nach "merge" nachtesten: https://github.com/bevyengine/bevy/pull/3987
* Engine-API definieren und realisieren für bevy und rend3 und ...
* README für OSMeta mit: Warum, Historie, Ziele, Wege, Tools, ...
AssertLoad, WebXR,
* Discord Ku95: Terrain rendering plugin for Bevy
* Frage, ob er mithelfen will: https://linuxrocks.online/@friend/108136609425833717
* Hexa-Tiles. Look also: bevy--bevy_ecs_tilemap-main
* Use as render framework: https://github.com/leetvr/hotham
* A tiny, cross-platform (including wasm), persistent key value store: https://github.com/johanhelsing/bevy_pkv
________________________________________
thirdroom:
ThreeJS GLB
welcome additional web or native clients
Matrix (/Element, habe ich)
Somenone kommented: There is A-Frame. I add: There is Hubs. Isn't it alike?
https://github.com/matrix-org/thirdroom
https://github.com/matrix-org/thirdroom/discussions/20
I was looking for an Open-Sourcd Federated Metaverse, hat the idea but did not know one.
WebAssembly to add interactivity - I told you!
#########################
Unabhängigkeit des o2w vom renderer am Beispiel bevy
pbr_tile > material_tile&textures&materials > renderer_bevy > bevy
Ob man auf das Texturladen warten muß, steck im renderer_*
pbr_tile<T> für den Typ/Instanz des Renderers zum durchreichen an renderer_*
Color auch per <C>???
Nach dem O2W::new gibt es:
- load_pbr
- wait_texture_load ggf. als dummy
- textures_loaded vielleicht?
- get_texture damit renderer_* die tile bauen kann
**********************************
Unofficial Bevy Cheat Book 4. Bevy Asset Management 4.5 Track Loading Progress
https://bevy-cheatbook.github.io/assets/ready.html
POLL!: you can poll it from the AssetServer - I hate polling. Is bevy ONLY polling? No callback at event?
COMPLETE?: more complete code example
I had to add:
- use bevy::prelude::*;
- App::new() with the usual adds&inits AND:
- .add_system(check_assets_ready) to get the system running and cyclically polling
- .init_resource::<AssetsLoading>() !!! This was NOT part of my knowledge !!! Found it in the examples after quite a while
- #[derive(Default)] before struct AssetsLoading(Vec<HandleUntyped>);
If commands.remove_resource is used, the Vec<HandleUntyped> gets empty which causes a runtime error :-(
If check_assets_ready is used before the Vec is filed: runtime error :-(
++++++++++++++++++++++++++++
gltf scheint neben BaseColor und Normal in einer Datei "Metallic_Roughness" in Green_Blue zu haben (Aus der Stadt von ThirdRoom)
AoMRTextures Combined: ao/m/r_texture: Texture with Ambient Occlusion in R, Metallic in G, and Roughness in B