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"
|
||||
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]]
|
||||
name = "lazy_static"
|
||||
version = "1.5.0"
|
||||
@ -26,6 +53,12 @@ version = "0.2.184"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "48f5d2a454e16a5ea0f4ced81bd44e4cfc7bd3a507b61887c99fd3538b28e4af"
|
||||
|
||||
[[package]]
|
||||
name = "memchr"
|
||||
version = "2.8.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79"
|
||||
|
||||
[[package]]
|
||||
name = "num-traits"
|
||||
version = "0.2.19"
|
||||
@ -63,6 +96,12 @@ dependencies = [
|
||||
"proc-macro2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ryu"
|
||||
version = "1.0.23"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f"
|
||||
|
||||
[[package]]
|
||||
name = "sdl3"
|
||||
version = "0.17.3"
|
||||
@ -135,8 +174,10 @@ dependencies = [
|
||||
name = "simul"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"csv",
|
||||
"obj-rs",
|
||||
"sdl3",
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
||||
@ -4,5 +4,7 @@ version = "0.1.0"
|
||||
edition = "2024"
|
||||
|
||||
[dependencies]
|
||||
csv = "1.4.0"
|
||||
obj-rs = "0.7.4"
|
||||
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)]
|
||||
|
||||
use std::{collections::HashMap, f64::consts::PI, fs::File, io::BufReader};
|
||||
|
||||
use obj::{Obj, load_obj};
|
||||
use serde::Deserialize;
|
||||
use std::{collections::HashMap, f64::consts::PI, fs::File, io::BufReader};
|
||||
|
||||
use crate::{
|
||||
m3x3::M3x3,
|
||||
@ -65,38 +65,31 @@ impl App {
|
||||
|
||||
impl<R: Renderer> window::App<R> for App {
|
||||
fn update(&mut self, delta_time: std::time::Duration) {
|
||||
self.rot.0 += PI * 2.0 * delta_time.as_secs_f64() * 0.1;
|
||||
self.rot.1 += PI * 2.0 * delta_time.as_secs_f64() * 0.1;
|
||||
self.rot.2 += 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.2;
|
||||
// self.rot.2 += PI * 2.0 * delta_time.as_secs_f64() * 0.2;
|
||||
}
|
||||
|
||||
fn render(&self, r: &mut R) {
|
||||
let mut scene = Scene::new();
|
||||
|
||||
let mut model1 = 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 mut cube = Model::new();
|
||||
let cube_obj = self.assets.get("assets/cube.obj").unwrap();
|
||||
model2
|
||||
.add_obj(&cube_obj, Color::RGB(165, 125, 165))
|
||||
cube.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))
|
||||
.scale(V3(0.2, 0.2, 0.2))
|
||||
.translate(V3(0.0, -0.2, 1.0));
|
||||
|
||||
scene.draw_model(model2);
|
||||
|
||||
// scene.draw_obj(&cube_obj, V3(0.1, 0.1, 0.1), Color::RGB(125, 125, 125));
|
||||
.translate(V3(1.2, 0.0, 1.0));
|
||||
scene.draw_model(probe);
|
||||
|
||||
scene.render(
|
||||
r,
|
||||
@ -104,17 +97,33 @@ impl<R: Renderer> window::App<R> for App {
|
||||
M3x3::from_v3_rot(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) {}
|
||||
}
|
||||
|
||||
#[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() {
|
||||
let mut window = Window::new();
|
||||
let mut app = App::new();
|
||||
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);
|
||||
}
|
||||
|
||||
@ -1,3 +1,5 @@
|
||||
use std::f64::consts::PI;
|
||||
|
||||
use obj::Obj;
|
||||
|
||||
use crate::{
|
||||
@ -48,12 +50,24 @@ impl Scene {
|
||||
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);
|
||||
|
||||
r.draw_triangles(&[tri2], *color);
|
||||
r.draw_line(tri2.0, tri2.1, Color::BLACK);
|
||||
r.draw_line(tri2.1, tri2.2, Color::BLACK);
|
||||
r.draw_line(tri2.2, tri2.0, Color::BLACK);
|
||||
r.draw_triangles(&[tri2], color);
|
||||
// r.draw_line(tri2.0, tri2.1, Color::BLACK);
|
||||
// r.draw_line(tri2.1, tri2.2, 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 std::ops::{Add, Div, Mul, Neg, Sub};
|
||||
|
||||
#[derive(Clone, Copy, Debug)]
|
||||
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)
|
||||
}
|
||||
|
||||
pub fn angle(&self, rhs: Self) -> f64 {
|
||||
(self.dot(rhs) / (self.len() * rhs.len())).acos()
|
||||
}
|
||||
|
||||
pub fn dot(&self, rhs: Self) -> f64 {
|
||||
self.zip(rhs, |a, b| a * b).reduce(0.0, |acc, v| acc + v)
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user