mirror of
https://github.com/Mercantec-GHC/h5-projekt-mst.git
synced 2026-08-26 21:27:38 +02:00
slim shading
This commit is contained in:
parent
578f12679f
commit
bc351ef6e7
41
simul/Cargo.lock
generated
41
simul/Cargo.lock
generated
@ -14,6 +14,33 @@ version = "2.11.0"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af"
|
checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "csv"
|
||||||
|
version = "1.4.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "52cd9d68cf7efc6ddfaaee42e7288d3a99d613d4b50f76ce9827ae0c6e14f938"
|
||||||
|
dependencies = [
|
||||||
|
"csv-core",
|
||||||
|
"itoa",
|
||||||
|
"ryu",
|
||||||
|
"serde_core",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "csv-core"
|
||||||
|
version = "0.1.13"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "704a3c26996a80471189265814dbc2c257598b96b8a7feae2d31ace646bb9782"
|
||||||
|
dependencies = [
|
||||||
|
"memchr",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "itoa"
|
||||||
|
version = "1.0.18"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "lazy_static"
|
name = "lazy_static"
|
||||||
version = "1.5.0"
|
version = "1.5.0"
|
||||||
@ -26,6 +53,12 @@ version = "0.2.184"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "48f5d2a454e16a5ea0f4ced81bd44e4cfc7bd3a507b61887c99fd3538b28e4af"
|
checksum = "48f5d2a454e16a5ea0f4ced81bd44e4cfc7bd3a507b61887c99fd3538b28e4af"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "memchr"
|
||||||
|
version = "2.8.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "num-traits"
|
name = "num-traits"
|
||||||
version = "0.2.19"
|
version = "0.2.19"
|
||||||
@ -63,6 +96,12 @@ dependencies = [
|
|||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "ryu"
|
||||||
|
version = "1.0.23"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "sdl3"
|
name = "sdl3"
|
||||||
version = "0.17.3"
|
version = "0.17.3"
|
||||||
@ -135,8 +174,10 @@ dependencies = [
|
|||||||
name = "simul"
|
name = "simul"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
|
"csv",
|
||||||
"obj-rs",
|
"obj-rs",
|
||||||
"sdl3",
|
"sdl3",
|
||||||
|
"serde",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
|||||||
@ -4,5 +4,7 @@ version = "0.1.0"
|
|||||||
edition = "2024"
|
edition = "2024"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
|
csv = "1.4.0"
|
||||||
obj-rs = "0.7.4"
|
obj-rs = "0.7.4"
|
||||||
sdl3 = { version = "0.17.3", features = ["ttf", "image"] }
|
sdl3 = { version = "0.17.3", features = ["ttf", "image"] }
|
||||||
|
serde = { version = "1.0.228", features = ["derive"] }
|
||||||
|
|||||||
12
simul/assets/probe.mtl
Normal file
12
simul/assets/probe.mtl
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
# Blender 5.1.0 MTL File: 'None'
|
||||||
|
# www.blender.org
|
||||||
|
|
||||||
|
newmtl Material
|
||||||
|
Ns 250.000000
|
||||||
|
Ka 1.000000 1.000000 1.000000
|
||||||
|
Kd 0.800000 0.800000 0.800000
|
||||||
|
Ks 0.500000 0.500000 0.500000
|
||||||
|
Ke 0.000000 0.000000 0.000000
|
||||||
|
Ni 1.500000
|
||||||
|
d 1.000000
|
||||||
|
illum 2
|
||||||
400
simul/assets/probe.obj
Normal file
400
simul/assets/probe.obj
Normal file
@ -0,0 +1,400 @@
|
|||||||
|
# Blender 5.1.0
|
||||||
|
# www.blender.org
|
||||||
|
mtllib probe.mtl
|
||||||
|
o Cube
|
||||||
|
v 1.000000 0.101130 -1.527883
|
||||||
|
v 1.000000 -0.101130 -1.527883
|
||||||
|
v 1.000000 0.101130 1.527883
|
||||||
|
v 1.000000 -0.101130 1.527883
|
||||||
|
v -1.000000 0.101130 -1.527883
|
||||||
|
v -1.000000 -0.101130 -1.527883
|
||||||
|
v -1.000000 0.101130 1.527883
|
||||||
|
v -1.000000 -0.101130 1.527883
|
||||||
|
v 0.008186 -0.628219 0.059172
|
||||||
|
v 0.539580 -0.256799 0.412578
|
||||||
|
v -0.194785 -0.256799 0.631000
|
||||||
|
v -0.648653 -0.256796 0.059172
|
||||||
|
v -0.194785 -0.256799 -0.512655
|
||||||
|
v 0.539580 -0.256799 -0.294233
|
||||||
|
v 0.211156 0.344187 0.631000
|
||||||
|
v -0.523209 0.344187 0.412578
|
||||||
|
v -0.523209 0.344187 -0.294233
|
||||||
|
v 0.211156 0.344187 -0.512655
|
||||||
|
v 0.665024 0.344184 0.059172
|
||||||
|
v 0.008186 0.715607 0.059172
|
||||||
|
v -0.111117 -0.527872 0.395282
|
||||||
|
v 0.320529 -0.527872 0.266897
|
||||||
|
v 0.201228 -0.309556 0.603010
|
||||||
|
v 0.632875 -0.309555 0.059172
|
||||||
|
v 0.320529 -0.527872 -0.148553
|
||||||
|
v -0.377894 -0.527870 0.059172
|
||||||
|
v -0.497199 -0.309555 0.395283
|
||||||
|
v -0.111117 -0.527872 -0.276937
|
||||||
|
v -0.497199 -0.309555 -0.276938
|
||||||
|
v 0.201228 -0.309556 -0.484666
|
||||||
|
v 0.706613 0.043694 0.266898
|
||||||
|
v 0.706613 0.043694 -0.148554
|
||||||
|
v 0.008186 0.043694 0.731397
|
||||||
|
v 0.439837 0.043694 0.603014
|
||||||
|
v -0.690242 0.043694 0.266898
|
||||||
|
v -0.423466 0.043694 0.603014
|
||||||
|
v -0.423466 0.043694 -0.484669
|
||||||
|
v -0.690242 0.043694 -0.148554
|
||||||
|
v 0.439837 0.043694 -0.484669
|
||||||
|
v 0.008186 0.043694 -0.613053
|
||||||
|
v 0.513570 0.396943 0.395283
|
||||||
|
v -0.184857 0.396944 0.603010
|
||||||
|
v -0.616504 0.396943 0.059172
|
||||||
|
v -0.184857 0.396944 -0.484666
|
||||||
|
v 0.513570 0.396943 -0.276938
|
||||||
|
v 0.127488 0.615260 0.395282
|
||||||
|
v 0.394265 0.615258 0.059172
|
||||||
|
v -0.304158 0.615260 0.266897
|
||||||
|
v -0.304158 0.615260 -0.148553
|
||||||
|
v 0.127488 0.615260 -0.276937
|
||||||
|
v -0.213092 0.101130 -0.296547
|
||||||
|
v -0.174677 0.139545 -1.446611
|
||||||
|
v 0.211278 0.101130 -0.296547
|
||||||
|
v 0.172863 0.139545 -1.446611
|
||||||
|
v 0.211278 0.397765 -0.296547
|
||||||
|
v 0.121256 0.487787 -0.296547
|
||||||
|
v 0.105344 0.449373 -1.446611
|
||||||
|
v 0.172863 0.381853 -1.446611
|
||||||
|
v -0.123065 0.487787 -0.296547
|
||||||
|
v -0.213092 0.397760 -0.296547
|
||||||
|
v -0.174677 0.381849 -1.446611
|
||||||
|
v -0.107153 0.449373 -1.446611
|
||||||
|
v 0.211278 0.101130 -1.446611
|
||||||
|
v -0.213092 0.101130 -1.446611
|
||||||
|
v 0.211278 0.397765 -1.446611
|
||||||
|
v 0.121256 0.487787 -1.446611
|
||||||
|
v -0.123065 0.487787 -1.446611
|
||||||
|
v -0.213092 0.397760 -1.446611
|
||||||
|
v -0.174677 0.139545 -0.777891
|
||||||
|
v 0.172863 0.139545 -0.777891
|
||||||
|
v 0.105344 0.449372 -0.777891
|
||||||
|
v 0.172863 0.381853 -0.777891
|
||||||
|
v -0.174677 0.381848 -0.777891
|
||||||
|
v -0.107153 0.449372 -0.777891
|
||||||
|
vn -0.0000 -0.0000 1.0000
|
||||||
|
vn -1.0000 -0.0000 -0.0000
|
||||||
|
vn -0.0000 -1.0000 -0.0000
|
||||||
|
vn 1.0000 -0.0000 -0.0000
|
||||||
|
vn -0.0000 -0.0000 -1.0000
|
||||||
|
vn 0.0938 -0.9444 0.3152
|
||||||
|
vn 0.6679 -0.6898 0.2793
|
||||||
|
vn -0.2467 -0.9491 0.1958
|
||||||
|
vn -0.2467 -0.9491 -0.1958
|
||||||
|
vn 0.0938 -0.9444 -0.3152
|
||||||
|
vn 0.8895 -0.3549 0.2878
|
||||||
|
vn 0.0227 -0.3305 0.9435
|
||||||
|
vn -0.8722 -0.3540 0.3375
|
||||||
|
vn -0.5406 -0.3397 -0.7696
|
||||||
|
vn 0.5011 -0.3385 -0.7965
|
||||||
|
vn 0.7763 -0.1328 0.6162
|
||||||
|
vn -0.2828 -0.1267 0.9508
|
||||||
|
vn -0.9906 -0.1371 -0.0000
|
||||||
|
vn -0.2828 -0.1267 -0.9508
|
||||||
|
vn 0.7763 -0.1328 -0.6162
|
||||||
|
vn 0.3794 0.6710 0.6370
|
||||||
|
vn -0.4393 0.6741 0.5938
|
||||||
|
vn -0.6679 0.6898 -0.2793
|
||||||
|
vn 0.0353 0.6620 -0.7487
|
||||||
|
vn 0.6927 0.6919 -0.2035
|
||||||
|
vn 0.2467 0.9491 -0.1958
|
||||||
|
vn 0.4585 0.8108 -0.3639
|
||||||
|
vn 0.3794 0.6710 -0.6370
|
||||||
|
vn -0.0938 0.9444 -0.3152
|
||||||
|
vn -0.1722 0.7971 -0.5788
|
||||||
|
vn -0.4393 0.6741 -0.5938
|
||||||
|
vn -0.3059 0.9521 -0.0000
|
||||||
|
vn -0.5729 0.8196 -0.0000
|
||||||
|
vn -0.6679 0.6898 0.2793
|
||||||
|
vn -0.0938 0.9444 0.3152
|
||||||
|
vn -0.1722 0.7971 0.5788
|
||||||
|
vn 0.0353 0.6620 0.7487
|
||||||
|
vn 0.2467 0.9491 0.1958
|
||||||
|
vn 0.4585 0.8108 0.3639
|
||||||
|
vn 0.6927 0.6919 0.2035
|
||||||
|
vn 0.8722 0.3540 -0.3375
|
||||||
|
vn 0.7677 0.1981 -0.6094
|
||||||
|
vn 0.5406 0.3397 -0.7696
|
||||||
|
vn -0.0227 0.3305 -0.9435
|
||||||
|
vn -0.2799 0.1891 -0.9412
|
||||||
|
vn -0.5011 0.3385 -0.7965
|
||||||
|
vn -0.8895 0.3549 -0.2878
|
||||||
|
vn -0.9789 0.2043 -0.0000
|
||||||
|
vn -0.8895 0.3549 0.2878
|
||||||
|
vn -0.5011 0.3385 0.7965
|
||||||
|
vn -0.2799 0.1891 0.9412
|
||||||
|
vn -0.0227 0.3305 0.9435
|
||||||
|
vn 0.5406 0.3397 0.7696
|
||||||
|
vn 0.7677 0.1981 0.6094
|
||||||
|
vn 0.8722 0.3540 0.3375
|
||||||
|
vn 0.2828 0.1267 -0.9508
|
||||||
|
vn 0.2799 -0.1891 -0.9412
|
||||||
|
vn 0.0227 -0.3305 -0.9435
|
||||||
|
vn -0.7763 0.1328 -0.6162
|
||||||
|
vn -0.7677 -0.1981 -0.6094
|
||||||
|
vn -0.8722 -0.3540 -0.3375
|
||||||
|
vn -0.7763 0.1328 0.6162
|
||||||
|
vn -0.7677 -0.1981 0.6094
|
||||||
|
vn -0.5406 -0.3397 0.7696
|
||||||
|
vn 0.2828 0.1267 0.9508
|
||||||
|
vn 0.2799 -0.1891 0.9412
|
||||||
|
vn 0.5011 -0.3385 0.7965
|
||||||
|
vn 0.9906 0.1371 -0.0000
|
||||||
|
vn 0.9789 -0.2043 -0.0000
|
||||||
|
vn 0.8895 -0.3549 -0.2878
|
||||||
|
vn 0.4393 -0.6741 -0.5938
|
||||||
|
vn 0.1722 -0.7971 -0.5788
|
||||||
|
vn -0.0353 -0.6620 -0.7487
|
||||||
|
vn -0.3794 -0.6710 -0.6370
|
||||||
|
vn -0.4585 -0.8108 -0.3639
|
||||||
|
vn -0.6927 -0.6919 -0.2035
|
||||||
|
vn -0.6927 -0.6919 0.2035
|
||||||
|
vn -0.4585 -0.8108 0.3639
|
||||||
|
vn -0.3794 -0.6710 0.6370
|
||||||
|
vn 0.6679 -0.6898 -0.2793
|
||||||
|
vn 0.5729 -0.8196 -0.0000
|
||||||
|
vn 0.3059 -0.9521 -0.0000
|
||||||
|
vn -0.0353 -0.6620 0.7487
|
||||||
|
vn 0.1722 -0.7971 0.5788
|
||||||
|
vn 0.4393 -0.6741 0.5938
|
||||||
|
vn 0.7071 0.7071 -0.0000
|
||||||
|
vn -0.7071 0.7071 -0.0000
|
||||||
|
vn -0.0000 1.0000 -0.0000
|
||||||
|
vn 0.7071 -0.7071 -0.0000
|
||||||
|
vn -0.7071 -0.7071 -0.0000
|
||||||
|
vt 0.625000 0.750000
|
||||||
|
vt 0.375000 1.000000
|
||||||
|
vt 0.375000 0.750000
|
||||||
|
vt 0.625000 0.000000
|
||||||
|
vt 0.375000 0.250000
|
||||||
|
vt 0.375000 0.000000
|
||||||
|
vt 0.375000 0.500000
|
||||||
|
vt 0.125000 0.750000
|
||||||
|
vt 0.125000 0.500000
|
||||||
|
vt 0.625000 0.500000
|
||||||
|
vt 0.625000 0.250000
|
||||||
|
vt 0.181819 0.000000
|
||||||
|
vt 0.227273 0.078731
|
||||||
|
vt 0.136365 0.078731
|
||||||
|
vt 0.272728 0.157461
|
||||||
|
vt 0.318182 0.078731
|
||||||
|
vt 0.363637 0.157461
|
||||||
|
vt 0.909091 0.000000
|
||||||
|
vt 0.954545 0.078731
|
||||||
|
vt 0.863636 0.078731
|
||||||
|
vt 0.727273 0.000000
|
||||||
|
vt 0.772727 0.078731
|
||||||
|
vt 0.681818 0.078731
|
||||||
|
vt 0.545455 0.000000
|
||||||
|
vt 0.590909 0.078731
|
||||||
|
vt 0.500000 0.078731
|
||||||
|
vt 0.318182 0.236191
|
||||||
|
vt 0.090910 0.157461
|
||||||
|
vt 0.181819 0.157461
|
||||||
|
vt 0.136365 0.236191
|
||||||
|
vt 0.818182 0.157461
|
||||||
|
vt 0.909091 0.157461
|
||||||
|
vt 0.863636 0.236191
|
||||||
|
vt 0.636364 0.157461
|
||||||
|
vt 0.727273 0.157461
|
||||||
|
vt 0.681818 0.236191
|
||||||
|
vt 0.454546 0.157461
|
||||||
|
vt 0.545455 0.157461
|
||||||
|
vt 0.500000 0.236191
|
||||||
|
vt 0.227273 0.236191
|
||||||
|
vt 0.045455 0.236191
|
||||||
|
vt 0.772727 0.236191
|
||||||
|
vt 0.590909 0.236191
|
||||||
|
vt 0.409092 0.236191
|
||||||
|
vt 0.181819 0.314921
|
||||||
|
vt 0.272728 0.314921
|
||||||
|
vt 0.227273 0.393651
|
||||||
|
vt 0.000000 0.314921
|
||||||
|
vt 0.090910 0.314921
|
||||||
|
vt 0.045455 0.393651
|
||||||
|
vt 0.727273 0.314921
|
||||||
|
vt 0.818182 0.314921
|
||||||
|
vt 0.772727 0.393651
|
||||||
|
vt 0.545455 0.314921
|
||||||
|
vt 0.636364 0.314921
|
||||||
|
vt 0.590909 0.393651
|
||||||
|
vt 0.363637 0.314921
|
||||||
|
vt 0.454546 0.314921
|
||||||
|
vt 0.409092 0.393651
|
||||||
|
vt 0.500000 0.393651
|
||||||
|
vt 0.454546 0.472382
|
||||||
|
vt 0.681818 0.393651
|
||||||
|
vt 0.636364 0.472382
|
||||||
|
vt 0.863636 0.393651
|
||||||
|
vt 0.818182 0.472382
|
||||||
|
vt 0.909091 0.314921
|
||||||
|
vt 0.136365 0.393651
|
||||||
|
vt 0.090910 0.472382
|
||||||
|
vt 0.318182 0.393651
|
||||||
|
vt 0.272728 0.472382
|
||||||
|
vt 0.954545 0.236191
|
||||||
|
vt 1.000000 0.157461
|
||||||
|
vt 0.409092 0.078731
|
||||||
|
vt 0.363637 0.000000
|
||||||
|
vt 0.660355 0.767678
|
||||||
|
vt 0.566795 0.500000
|
||||||
|
vt 0.660355 0.482322
|
||||||
|
vt 0.629760 0.281278
|
||||||
|
vt 0.566791 0.000000
|
||||||
|
vt 0.566795 0.750000
|
||||||
|
vt 0.634520 0.937445
|
||||||
|
vt 0.817204 0.495240
|
||||||
|
vt 0.400254 0.272695
|
||||||
|
vt 0.400354 0.477620
|
||||||
|
vt 0.624889 0.460309
|
||||||
|
vt 0.562059 0.482339
|
||||||
|
vt 0.558015 0.270056
|
||||||
|
vt 0.606124 0.300096
|
||||||
|
vt 0.566792 0.250000
|
||||||
|
vt 0.875000 0.750000
|
||||||
|
vt 0.875000 0.500000
|
||||||
|
vt 0.625000 1.000000
|
||||||
|
vt 0.566791 1.000000
|
||||||
|
vt 0.817204 0.754760
|
||||||
|
s 0
|
||||||
|
usemtl Material
|
||||||
|
f 3/1/1 8/2/1 4/3/1
|
||||||
|
f 7/4/2 6/5/2 8/6/2
|
||||||
|
f 2/7/3 8/8/3 6/9/3
|
||||||
|
f 1/10/4 4/3/4 2/7/4
|
||||||
|
f 5/11/5 2/7/5 6/5/5
|
||||||
|
f 9/12/6 22/13/6 21/14/6
|
||||||
|
f 10/15/7 22/16/7 24/17/7
|
||||||
|
f 9/18/8 21/19/8 26/20/8
|
||||||
|
f 9/21/9 26/22/9 28/23/9
|
||||||
|
f 9/24/10 28/25/10 25/26/10
|
||||||
|
f 10/15/11 24/17/11 31/27/11
|
||||||
|
f 11/28/12 23/29/12 33/30/12
|
||||||
|
f 12/31/13 27/32/13 35/33/13
|
||||||
|
f 13/34/14 29/35/14 37/36/14
|
||||||
|
f 14/37/15 30/38/15 39/39/15
|
||||||
|
f 10/15/16 31/27/16 34/40/16
|
||||||
|
f 11/28/17 33/30/17 36/41/17
|
||||||
|
f 12/31/18 35/33/18 38/42/18
|
||||||
|
f 13/34/19 37/36/19 40/43/19
|
||||||
|
f 14/37/20 39/39/20 32/44/20
|
||||||
|
f 15/45/21 41/46/21 46/47/21
|
||||||
|
f 16/48/22 42/49/22 48/50/22
|
||||||
|
f 17/51/23 43/52/23 49/53/23
|
||||||
|
f 18/54/24 44/55/24 50/56/24
|
||||||
|
f 19/57/25 45/58/25 47/59/25
|
||||||
|
f 47/59/26 50/60/26 20/61/26
|
||||||
|
f 47/59/27 45/58/27 50/60/27
|
||||||
|
f 45/58/28 18/54/28 50/60/28
|
||||||
|
f 50/56/29 49/62/29 20/63/29
|
||||||
|
f 50/56/30 44/55/30 49/62/30
|
||||||
|
f 44/55/31 17/51/31 49/62/31
|
||||||
|
f 49/53/32 48/64/32 20/65/32
|
||||||
|
f 49/53/33 43/52/33 48/64/33
|
||||||
|
f 43/52/34 16/66/34 48/64/34
|
||||||
|
f 48/50/35 46/67/35 20/68/35
|
||||||
|
f 48/50/36 42/49/36 46/67/36
|
||||||
|
f 42/49/37 15/45/37 46/67/37
|
||||||
|
f 46/47/38 47/69/38 20/70/38
|
||||||
|
f 46/47/39 41/46/39 47/69/39
|
||||||
|
f 41/46/40 19/57/40 47/69/40
|
||||||
|
f 32/44/41 45/58/41 19/57/41
|
||||||
|
f 32/44/42 39/39/42 45/58/42
|
||||||
|
f 39/39/43 18/54/43 45/58/43
|
||||||
|
f 40/43/44 44/55/44 18/54/44
|
||||||
|
f 40/43/45 37/36/45 44/55/45
|
||||||
|
f 37/36/46 17/51/46 44/55/46
|
||||||
|
f 38/42/47 43/52/47 17/51/47
|
||||||
|
f 38/42/48 35/33/48 43/52/48
|
||||||
|
f 35/33/49 16/66/49 43/52/49
|
||||||
|
f 36/41/50 42/49/50 16/48/50
|
||||||
|
f 36/41/51 33/30/51 42/49/51
|
||||||
|
f 33/30/52 15/45/52 42/49/52
|
||||||
|
f 34/40/53 41/46/53 15/45/53
|
||||||
|
f 34/40/54 31/27/54 41/46/54
|
||||||
|
f 31/27/55 19/57/55 41/46/55
|
||||||
|
f 39/39/56 40/43/56 18/54/56
|
||||||
|
f 39/39/57 30/38/57 40/43/57
|
||||||
|
f 30/38/58 13/34/58 40/43/58
|
||||||
|
f 37/36/59 38/42/59 17/51/59
|
||||||
|
f 37/36/60 29/35/60 38/42/60
|
||||||
|
f 29/35/61 12/31/61 38/42/61
|
||||||
|
f 35/33/62 36/71/62 16/66/62
|
||||||
|
f 35/33/63 27/32/63 36/71/63
|
||||||
|
f 27/32/64 11/72/64 36/71/64
|
||||||
|
f 33/30/65 34/40/65 15/45/65
|
||||||
|
f 33/30/66 23/29/66 34/40/66
|
||||||
|
f 23/29/67 10/15/67 34/40/67
|
||||||
|
f 31/27/68 32/44/68 19/57/68
|
||||||
|
f 31/27/69 24/17/69 32/44/69
|
||||||
|
f 24/17/70 14/37/70 32/44/70
|
||||||
|
f 25/26/71 30/38/71 14/37/71
|
||||||
|
f 25/26/72 28/25/72 30/38/72
|
||||||
|
f 28/25/73 13/34/73 30/38/73
|
||||||
|
f 28/23/74 29/35/74 13/34/74
|
||||||
|
f 28/23/75 26/22/75 29/35/75
|
||||||
|
f 26/22/76 12/31/76 29/35/76
|
||||||
|
f 26/20/77 27/32/77 12/31/77
|
||||||
|
f 26/20/78 21/19/78 27/32/78
|
||||||
|
f 21/19/79 11/72/79 27/32/79
|
||||||
|
f 24/17/80 25/73/80 14/37/80
|
||||||
|
f 24/17/81 22/16/81 25/73/81
|
||||||
|
f 22/16/82 9/74/82 25/73/82
|
||||||
|
f 21/14/83 23/29/83 11/28/83
|
||||||
|
f 21/14/84 22/13/84 23/29/84
|
||||||
|
f 22/13/85 10/15/85 23/29/85
|
||||||
|
f 63/7/3 51/8/3 64/9/3
|
||||||
|
f 56/75/86 65/76/86 66/77/86
|
||||||
|
f 65/76/4 53/3/4 63/7/4
|
||||||
|
f 67/78/87 60/79/87 59/4/87
|
||||||
|
f 55/80/1 59/81/1 51/2/1
|
||||||
|
f 60/79/2 64/5/2 51/6/2
|
||||||
|
f 67/82/88 56/75/88 66/77/88
|
||||||
|
f 52/83/88 70/84/88 54/84/88
|
||||||
|
f 54/84/5 64/5/5 52/83/5
|
||||||
|
f 57/85/5 65/76/5 58/86/5
|
||||||
|
f 54/84/5 65/76/5 63/7/5
|
||||||
|
f 61/87/5 67/78/5 62/88/5
|
||||||
|
f 52/83/5 68/89/5 61/87/5
|
||||||
|
f 62/88/5 66/77/5 57/85/5
|
||||||
|
f 73/87/5 71/85/5 70/84/5
|
||||||
|
f 57/85/3 74/88/3 62/88/3
|
||||||
|
f 61/87/89 74/88/89 73/87/89
|
||||||
|
f 57/85/90 72/86/90 71/85/90
|
||||||
|
f 52/83/4 73/87/4 69/83/4
|
||||||
|
f 54/84/2 72/86/2 58/86/2
|
||||||
|
f 7/90/88 1/10/88 5/91/88
|
||||||
|
f 3/1/1 7/92/1 8/2/1
|
||||||
|
f 7/4/2 5/11/2 6/5/2
|
||||||
|
f 2/7/3 4/3/3 8/8/3
|
||||||
|
f 1/10/4 3/1/4 4/3/4
|
||||||
|
f 5/11/5 1/10/5 2/7/5
|
||||||
|
f 63/7/3 53/3/3 51/8/3
|
||||||
|
f 56/75/86 55/80/86 65/76/86
|
||||||
|
f 65/76/4 55/80/4 53/3/4
|
||||||
|
f 67/78/87 68/89/87 60/79/87
|
||||||
|
f 51/2/1 53/3/1 55/80/1
|
||||||
|
f 55/80/1 56/75/1 59/81/1
|
||||||
|
f 59/81/1 60/93/1 51/2/1
|
||||||
|
f 60/79/2 68/89/2 64/5/2
|
||||||
|
f 67/82/88 59/94/88 56/75/88
|
||||||
|
f 52/83/88 69/83/88 70/84/88
|
||||||
|
f 54/84/5 63/7/5 64/5/5
|
||||||
|
f 57/85/5 66/77/5 65/76/5
|
||||||
|
f 54/84/5 58/86/5 65/76/5
|
||||||
|
f 61/87/5 68/89/5 67/78/5
|
||||||
|
f 52/83/5 64/5/5 68/89/5
|
||||||
|
f 62/88/5 67/78/5 66/77/5
|
||||||
|
f 70/84/5 69/83/5 73/87/5
|
||||||
|
f 73/87/5 74/88/5 71/85/5
|
||||||
|
f 71/85/5 72/86/5 70/84/5
|
||||||
|
f 57/85/3 71/85/3 74/88/3
|
||||||
|
f 61/87/89 62/88/89 74/88/89
|
||||||
|
f 57/85/90 58/86/90 72/86/90
|
||||||
|
f 52/83/4 61/87/4 73/87/4
|
||||||
|
f 54/84/2 70/84/2 72/86/2
|
||||||
|
f 7/90/88 3/1/88 1/10/88
|
||||||
@ -1,8 +1,8 @@
|
|||||||
#![allow(unused)]
|
#![allow(unused)]
|
||||||
|
|
||||||
use std::{collections::HashMap, f64::consts::PI, fs::File, io::BufReader};
|
|
||||||
|
|
||||||
use obj::{Obj, load_obj};
|
use obj::{Obj, load_obj};
|
||||||
|
use serde::Deserialize;
|
||||||
|
use std::{collections::HashMap, f64::consts::PI, fs::File, io::BufReader};
|
||||||
|
|
||||||
use crate::{
|
use crate::{
|
||||||
m3x3::M3x3,
|
m3x3::M3x3,
|
||||||
@ -65,38 +65,31 @@ impl App {
|
|||||||
|
|
||||||
impl<R: Renderer> window::App<R> for App {
|
impl<R: Renderer> window::App<R> for App {
|
||||||
fn update(&mut self, delta_time: std::time::Duration) {
|
fn update(&mut self, delta_time: std::time::Duration) {
|
||||||
self.rot.0 += PI * 2.0 * delta_time.as_secs_f64() * 0.1;
|
self.rot.0 += PI * 2.0 * delta_time.as_secs_f64() * 0.2;
|
||||||
self.rot.1 += PI * 2.0 * delta_time.as_secs_f64() * 0.1;
|
self.rot.1 += PI * 2.0 * delta_time.as_secs_f64() * 0.2;
|
||||||
self.rot.2 += PI * 2.0 * delta_time.as_secs_f64() * 0.1;
|
// self.rot.2 += PI * 2.0 * delta_time.as_secs_f64() * 0.2;
|
||||||
}
|
}
|
||||||
|
|
||||||
fn render(&self, r: &mut R) {
|
fn render(&self, r: &mut R) {
|
||||||
let mut scene = Scene::new();
|
let mut scene = Scene::new();
|
||||||
|
|
||||||
let mut model1 = Model::new();
|
let mut cube = Model::new();
|
||||||
model1
|
|
||||||
.add_tri(
|
|
||||||
Tri3(V3(0.0, 0.0, 0.0), V3(0.3, 0.3, 0.0), V3(0.3, 0.0, 0.0)),
|
|
||||||
Color::RGB(125, 165, 165),
|
|
||||||
)
|
|
||||||
.rotate_by_m3x3(M3x3::from_v3_rot(self.rot))
|
|
||||||
.translate(V3(1.0, 0.0, 1.0))
|
|
||||||
.scale(V3(1.0, 1.0, 1.0));
|
|
||||||
|
|
||||||
scene.draw_model(model1);
|
|
||||||
|
|
||||||
let mut model2 = Model::new();
|
|
||||||
|
|
||||||
let cube_obj = self.assets.get("assets/cube.obj").unwrap();
|
let cube_obj = self.assets.get("assets/cube.obj").unwrap();
|
||||||
model2
|
cube.add_obj(&cube_obj, Color::RGB(165, 125, 165))
|
||||||
.add_obj(&cube_obj, Color::RGB(165, 125, 165))
|
.rotate_by_m3x3(M3x3::from_v3_rot(self.rot))
|
||||||
|
.scale(V3(0.4, 0.4, 0.4))
|
||||||
|
.translate(V3(0.0, 0.0, 1.0));
|
||||||
|
scene.draw_model(cube);
|
||||||
|
|
||||||
|
let mut probe = Model::new();
|
||||||
|
let probe_obj = self.assets.get("assets/probe.obj").unwrap();
|
||||||
|
probe
|
||||||
|
.add_obj(&probe_obj, Color::RGB(165, 125, 165))
|
||||||
|
.rotate_by_m3x3(M3x3::new_rotate_x(PI))
|
||||||
.rotate_by_m3x3(M3x3::from_v3_rot(self.rot))
|
.rotate_by_m3x3(M3x3::from_v3_rot(self.rot))
|
||||||
.scale(V3(0.2, 0.2, 0.2))
|
.scale(V3(0.2, 0.2, 0.2))
|
||||||
.translate(V3(0.0, -0.2, 1.0));
|
.translate(V3(1.2, 0.0, 1.0));
|
||||||
|
scene.draw_model(probe);
|
||||||
scene.draw_model(model2);
|
|
||||||
|
|
||||||
// scene.draw_obj(&cube_obj, V3(0.1, 0.1, 0.1), Color::RGB(125, 125, 125));
|
|
||||||
|
|
||||||
scene.render(
|
scene.render(
|
||||||
r,
|
r,
|
||||||
@ -104,17 +97,33 @@ impl<R: Renderer> window::App<R> for App {
|
|||||||
M3x3::from_v3_rot(V3(0.0, 0.0, 0.0)),
|
M3x3::from_v3_rot(V3(0.0, 0.0, 0.0)),
|
||||||
V3(0.0, 0.0, 0.0),
|
V3(0.0, 0.0, 0.0),
|
||||||
);
|
);
|
||||||
|
|
||||||
// r.draw_line(V2(0.0, 0.0), V2(0.6, 0.2), Color::RED);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fn event(&mut self, event: Event) {}
|
fn event(&mut self, event: Event) {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(Debug, Deserialize)]
|
||||||
|
struct Measurement {
|
||||||
|
time_delta_us: i64,
|
||||||
|
accel_x: f64,
|
||||||
|
accel_y: f64,
|
||||||
|
accel_z: f64,
|
||||||
|
rotation_x: f64,
|
||||||
|
rotation_y: f64,
|
||||||
|
rotation_z: f64,
|
||||||
|
}
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let mut window = Window::new();
|
let mut window = Window::new();
|
||||||
let mut app = App::new();
|
let mut app = App::new();
|
||||||
app.assets.load("assets/cube.obj");
|
app.assets.load("assets/cube.obj");
|
||||||
|
app.assets.load("assets/probe.obj");
|
||||||
|
|
||||||
|
let mut reader = csv::Reader::from_path("assets/inputs_still.csv").unwrap();
|
||||||
|
for entry in reader.deserialize::<Measurement>() {
|
||||||
|
let entry: Measurement = entry.unwrap();
|
||||||
|
// println!("{:?}", entry);
|
||||||
|
}
|
||||||
|
|
||||||
window.run(&mut app);
|
window.run(&mut app);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,3 +1,5 @@
|
|||||||
|
use std::f64::consts::PI;
|
||||||
|
|
||||||
use obj::Obj;
|
use obj::Obj;
|
||||||
|
|
||||||
use crate::{
|
use crate::{
|
||||||
@ -48,12 +50,24 @@ impl Scene {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let light = V3(1.0, 1.0, -1.0);
|
||||||
|
|
||||||
|
let exposure = 1.5 - normal.angle(light) / PI;
|
||||||
|
|
||||||
|
let (red, green, blue) = color.rgb();
|
||||||
|
|
||||||
|
let color = Color::RGB(
|
||||||
|
(red as f64 * exposure).clamp(0.0, 255.0) as _,
|
||||||
|
(green as f64 * exposure).clamp(0.0, 255.0) as _,
|
||||||
|
(blue as f64 * exposure).clamp(0.0, 255.0) as _,
|
||||||
|
);
|
||||||
|
|
||||||
let tri2 = tri3.project_2d(camera_pos, camera_rot, screen_rel_pos);
|
let tri2 = tri3.project_2d(camera_pos, camera_rot, screen_rel_pos);
|
||||||
|
|
||||||
r.draw_triangles(&[tri2], *color);
|
r.draw_triangles(&[tri2], color);
|
||||||
r.draw_line(tri2.0, tri2.1, Color::BLACK);
|
// r.draw_line(tri2.0, tri2.1, Color::BLACK);
|
||||||
r.draw_line(tri2.1, tri2.2, Color::BLACK);
|
// r.draw_line(tri2.1, tri2.2, Color::BLACK);
|
||||||
r.draw_line(tri2.2, tri2.0, Color::BLACK);
|
// r.draw_line(tri2.2, tri2.0, Color::BLACK);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
use std::ops::{Add, Div, Mul, Neg, Sub};
|
|
||||||
|
|
||||||
use crate::{m3x3::M3x3, v2::V2};
|
use crate::{m3x3::M3x3, v2::V2};
|
||||||
|
use std::ops::{Add, Div, Mul, Neg, Sub};
|
||||||
|
|
||||||
#[derive(Clone, Copy, Debug)]
|
#[derive(Clone, Copy, Debug)]
|
||||||
pub struct V3(pub f64, pub f64, pub f64);
|
pub struct V3(pub f64, pub f64, pub f64);
|
||||||
@ -59,6 +58,10 @@ impl V3 {
|
|||||||
V2(e.2 / d.2 * d.0 + e.0, e.2 / d.2 * d.1 + e.1)
|
V2(e.2 / d.2 * d.0 + e.0, e.2 / d.2 * d.1 + e.1)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn angle(&self, rhs: Self) -> f64 {
|
||||||
|
(self.dot(rhs) / (self.len() * rhs.len())).acos()
|
||||||
|
}
|
||||||
|
|
||||||
pub fn dot(&self, rhs: Self) -> f64 {
|
pub fn dot(&self, rhs: Self) -> f64 {
|
||||||
self.zip(rhs, |a, b| a * b).reduce(0.0, |acc, v| acc + v)
|
self.zip(rhs, |a, b| a * b).reduce(0.0, |acc, v| acc + v)
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user