Compare commits
1858 Commits
thermion_f
...
thermion_f
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e04d8e76c2 | ||
|
|
353b33b7c3 | ||
|
|
3c1b26af2c | ||
|
|
b4ea80a84c | ||
|
|
db44bc6f74 | ||
|
|
c668549fb0 | ||
|
|
a66703b61c | ||
|
|
cb8943ff72 | ||
|
|
9f59577f90 | ||
|
|
b86145d4c6 | ||
|
|
cb8672f120 | ||
|
|
92578426ac | ||
|
|
4a6479c4d8 | ||
|
|
2244d3fcb6 | ||
|
|
003fd59269 | ||
|
|
77e6ef7568 | ||
|
|
6f07d406f8 | ||
|
|
bf5551e278 | ||
|
|
64577af352 | ||
|
|
951894be41 | ||
|
|
c64b2b8659 | ||
|
|
322e77d2b7 | ||
|
|
a8a52bb2f4 | ||
|
|
c7dfd293e2 | ||
|
|
cf2498b45f | ||
|
|
edb7538c36 | ||
|
|
b023e2fb97 | ||
|
|
b51cc4b1d1 | ||
|
|
d995ed8843 | ||
|
|
b0d34bf6a8 | ||
|
|
2e28b0379d | ||
|
|
c899e30a7b | ||
|
|
37f8558794 | ||
|
|
3cfa26d284 | ||
|
|
b22a82e181 | ||
|
|
3d072594b5 | ||
|
|
75590c5dde | ||
|
|
b52d47bb41 | ||
|
|
397c575631 | ||
|
|
ddc5af376a | ||
|
|
77f843568f | ||
|
|
f706f54eb2 | ||
|
|
c12ec892f3 | ||
|
|
8e88252337 | ||
|
|
23e34e6da4 | ||
|
|
5aa14ff5f6 | ||
|
|
c0cc9fc26a | ||
|
|
946a6ae9d2 | ||
|
|
73e6597301 | ||
|
|
e731556e6f | ||
|
|
f9a7ac49a1 | ||
|
|
83e4a5142a | ||
|
|
bb913644f4 | ||
|
|
4b9870244a | ||
|
|
ce2dc9b1cb | ||
|
|
1a2b3b7b59 | ||
|
|
c0ed7cbc90 | ||
|
|
a5eab305da | ||
|
|
c467e3ca69 | ||
|
|
e984d8cf71 | ||
|
|
0693a2a95b | ||
|
|
a2883fbee9 | ||
|
|
dbcf463fd1 | ||
|
|
6ab1411801 | ||
|
|
a9b5ca786e | ||
|
|
4379313932 | ||
|
|
8a997d533a | ||
|
|
b7e79b1ac5 | ||
|
|
9a5b737391 | ||
|
|
215515a4fc | ||
|
|
3ca1cc0747 | ||
|
|
0c2e4e6faa | ||
|
|
e50a1b6002 | ||
|
|
70c67b59f7 | ||
|
|
2022fa97cc | ||
|
|
809f84e1fa | ||
|
|
932971c872 | ||
|
|
7ed120e854 | ||
|
|
45c4cea6aa | ||
|
|
2545bbbd35 | ||
|
|
5b41d594da | ||
|
|
584abd6086 | ||
|
|
4b9c20eaa6 | ||
|
|
d35a7a6de2 | ||
|
|
0f9d2492e6 | ||
|
|
96ef070be7 | ||
|
|
506d2fb562 | ||
|
|
0b18caf4ff | ||
|
|
b3b0e2bae1 | ||
|
|
35369b890f | ||
|
|
53a2a116aa | ||
|
|
80ceb5988e | ||
|
|
9dc81781d1 | ||
|
|
3e8189ecd4 | ||
|
|
31acdecedf | ||
|
|
feeb757a10 | ||
|
|
1bbf9d26ac | ||
|
|
40e206fc94 | ||
|
|
48b631b0a8 | ||
|
|
5ac4da5075 | ||
|
|
bc392bd933 | ||
|
|
ceba3915a7 | ||
|
|
c46ac2383c | ||
|
|
a9083d9ba0 | ||
|
|
d9436b8141 | ||
|
|
72cc9b932a | ||
|
|
2c7425fbdb | ||
|
|
b5e699c781 | ||
|
|
a7b0ed6f21 | ||
|
|
b5d9a06422 | ||
|
|
6b9b13682b | ||
|
|
fab3240ecf | ||
|
|
2613ba2423 | ||
|
|
85e3c98b28 | ||
|
|
9d4802c270 | ||
|
|
e7227d5f91 | ||
|
|
ccc0a53abc | ||
|
|
b983c6bb90 | ||
|
|
854f1545d3 | ||
|
|
ca110b2b01 | ||
|
|
ced0667a21 | ||
|
|
240a2d5345 | ||
|
|
cb4479d8ce | ||
|
|
f4b473b9ae | ||
|
|
fac0c727e4 | ||
|
|
f0cf20d904 | ||
|
|
ebb73a29e1 | ||
|
|
e92e59fab4 | ||
|
|
be47ec0f8b | ||
|
|
3657428025 | ||
|
|
33f8faac04 | ||
|
|
e9f0d5b745 | ||
|
|
682881e133 | ||
|
|
3e2405aa76 | ||
|
|
52038084f3 | ||
|
|
af9c2a93dc | ||
|
|
e99ccb3100 | ||
|
|
ed21eec66e | ||
|
|
05c62d5fa0 | ||
|
|
bec34e5b0b | ||
|
|
634c6d6877 | ||
|
|
b47e7f206c | ||
|
|
1fe1889fa2 | ||
|
|
4a43c6169a | ||
|
|
6075608bda | ||
|
|
8a1f320bb7 | ||
|
|
ed5fb03aa4 | ||
|
|
21ccb52ab9 | ||
|
|
ff48ce94a3 | ||
|
|
d20ff0a6f1 | ||
|
|
c7d4d9cb33 | ||
|
|
9aec83fd70 | ||
|
|
4dbd761d16 | ||
|
|
fc365744ef | ||
|
|
900e43b5ec | ||
|
|
c78cd45b8a | ||
|
|
1268970ba7 | ||
|
|
f93e44abd5 | ||
|
|
d41f29c06d | ||
|
|
e27be37378 | ||
|
|
a8a7f11d44 | ||
|
|
c81f2f225c | ||
|
|
a89c6d0eb3 | ||
|
|
34c9d5a279 | ||
|
|
57999bec3c | ||
|
|
69400f8b68 | ||
|
|
18b6b2e5f0 | ||
|
|
7e802f7b23 | ||
|
|
ce23b9f3cd | ||
|
|
45d8c7b929 | ||
|
|
7a484ee794 | ||
|
|
832319ee1b | ||
|
|
668c001b49 | ||
|
|
e503dd2e8b | ||
|
|
e1c34cc4d9 | ||
|
|
b035d45ada | ||
|
|
75d34f0afb | ||
|
|
d053bfd6da | ||
|
|
920f81c514 | ||
|
|
b64a505ffc | ||
|
|
00debf509d | ||
|
|
73b32f9c1e | ||
|
|
abd1a1fd55 | ||
|
|
e8721b6133 | ||
|
|
a01bf36576 | ||
|
|
5f92c7feab | ||
|
|
e1cb517417 | ||
|
|
37c35906d6 | ||
|
|
355999562f | ||
|
|
c208972ed7 | ||
|
|
6a7ca3cd42 | ||
|
|
b6d869275a | ||
|
|
64eeacc029 | ||
|
|
3783081456 | ||
|
|
0a9b1a82e2 | ||
|
|
9322122dac | ||
|
|
a823718bcd | ||
|
|
7446b0545a | ||
|
|
3c4bedd43b | ||
|
|
21e8cf0d11 | ||
|
|
86e0f7740f | ||
|
|
a5a3c73708 | ||
|
|
a44cb9a9cc | ||
|
|
6f97bf3993 | ||
|
|
42f9538040 | ||
|
|
df393b075b | ||
|
|
13f9a8370b | ||
|
|
558978a0f2 | ||
|
|
a29b194612 | ||
|
|
3e04bf427f | ||
|
|
65ca59ff22 | ||
|
|
a91aaae131 | ||
|
|
71bae61015 | ||
|
|
288acb019e | ||
|
|
b9354531b2 | ||
|
|
388b8556e5 | ||
|
|
59d9d87d2f | ||
|
|
d5824466f7 | ||
|
|
3e11f09d63 | ||
|
|
6bbab332be | ||
|
|
85b86c5f13 | ||
|
|
d8652e8709 | ||
|
|
fe5279f942 | ||
|
|
828354abe5 | ||
|
|
48d9d6751b | ||
|
|
4bde3d34cf | ||
|
|
7f2ad7c4e4 | ||
|
|
47807d560f | ||
|
|
ad26fc4563 | ||
|
|
f252c86152 | ||
|
|
e5bcde3ade | ||
|
|
9436666d34 | ||
|
|
32fe54ac09 | ||
|
|
0461bb364a | ||
|
|
f78c6f258f | ||
|
|
b0796f493f | ||
|
|
8998f1f740 | ||
|
|
6362efcd61 | ||
|
|
dc5c1161cc | ||
|
|
3e6f95e0bf | ||
|
|
f053c2f852 | ||
|
|
8f1da5e7bd | ||
|
|
641d92515e | ||
|
|
d447fb8e2a | ||
|
|
ac87420a87 | ||
|
|
5669ac5c55 | ||
|
|
ae9ce197c1 | ||
|
|
37c67c2da8 | ||
|
|
66d3bf65fd | ||
|
|
dba40fb82b | ||
|
|
95db6d7ebb | ||
|
|
fef48940fc | ||
|
|
4086c9bd01 | ||
|
|
928517f80f | ||
|
|
4a9b91c411 | ||
|
|
9054879722 | ||
|
|
4c95bc5b70 | ||
|
|
8866ffe210 | ||
|
|
c33eaef713 | ||
|
|
78e14574ef | ||
|
|
073976b40e | ||
|
|
6d0844f873 | ||
|
|
983d1373ba | ||
|
|
0dd64a07bb | ||
|
|
6055bd3fa7 | ||
|
|
f3a576005a | ||
|
|
ff559997dd | ||
|
|
79fea25d1b | ||
|
|
9ae7c784df | ||
|
|
acf03ea0c7 | ||
|
|
a9553da1d4 | ||
|
|
fc4686b20f | ||
|
|
ab4743da90 | ||
|
|
7406662853 | ||
|
|
aa2f19442b | ||
|
|
cc99905eb8 | ||
|
|
1d697037c0 | ||
|
|
c024efb8cd | ||
|
|
150c0227c8 | ||
|
|
e594a42496 | ||
|
|
c484eeb37f | ||
|
|
655ba89b0f | ||
|
|
840f3599e7 | ||
|
|
d0da7f49f3 | ||
|
|
886a4a37aa | ||
|
|
6db82d00c2 | ||
|
|
0fb4fd0004 | ||
|
|
e147e59d8d | ||
|
|
28aef7e5cc | ||
|
|
b1617004d7 | ||
|
|
32b6b1c227 | ||
|
|
1c500fe925 | ||
|
|
3fd15ab91b | ||
|
|
2191f9d44b | ||
|
|
87b63301f2 | ||
|
|
0d5b42c908 | ||
|
|
12e2dca873 | ||
|
|
8eae6bf90c | ||
|
|
873244879f | ||
|
|
2ab1732b6b | ||
|
|
5eb83a80b3 | ||
|
|
7141a01101 | ||
|
|
24aaffda9c | ||
|
|
82aba605f9 | ||
|
|
7b80723560 | ||
|
|
39a302c23e | ||
|
|
059926fe98 | ||
|
|
3c9b607109 | ||
|
|
70e2933c4b | ||
|
|
4fb85eb45a | ||
|
|
afecacfcf0 | ||
|
|
2f7f363db9 | ||
|
|
7f0ec01937 | ||
|
|
ccdf2ecda6 | ||
|
|
5f9a7bb959 | ||
|
|
764fea836b | ||
|
|
27d6bd0f4a | ||
|
|
7e810b8265 | ||
|
|
6ad3bfab13 | ||
|
|
5ed00164a9 | ||
|
|
86894cf583 | ||
|
|
c789e75af5 | ||
|
|
6ad76b6217 | ||
|
|
2e097f7ec6 | ||
|
|
beeb45609c | ||
|
|
94eacec27e | ||
|
|
11f7ac459b | ||
|
|
afd47f9b24 | ||
|
|
aab2b0b769 | ||
|
|
ffc7717149 | ||
|
|
ff5921a505 | ||
|
|
45c7831a17 | ||
|
|
fcf57e8850 | ||
|
|
a875f370e5 | ||
|
|
b00f37ddaa | ||
|
|
a98d7550ae | ||
|
|
b12dc80cfd | ||
|
|
f7d6d4786a | ||
|
|
5db9fe2c9e | ||
|
|
d298b0d091 | ||
|
|
4a7a366fc6 | ||
|
|
c6ceea4f8b | ||
|
|
679af95901 | ||
|
|
1e812ebe93 | ||
|
|
75a9950909 | ||
|
|
81fb0fb583 | ||
|
|
4d6c008299 | ||
|
|
4505cbe325 | ||
|
|
60cfe32672 | ||
|
|
0decb6b9f1 | ||
|
|
d799ef0ca0 | ||
|
|
5a72bc835d | ||
|
|
3e44716e8c | ||
|
|
bf295394a8 | ||
|
|
64bc7f8bf3 | ||
|
|
63ba231996 | ||
|
|
562c221461 | ||
|
|
f123bbf930 | ||
|
|
1765350cbe | ||
|
|
94683ab5a9 | ||
|
|
5a74345fe1 | ||
|
|
195a625738 | ||
|
|
725f36a860 | ||
|
|
51212bdeed | ||
|
|
96694be017 | ||
|
|
a31f11151e | ||
|
|
10136c8cde | ||
|
|
c712804bb1 | ||
|
|
1373ce5a32 | ||
|
|
1b3d46533c | ||
|
|
5733bc125b | ||
|
|
943de8f77b | ||
|
|
9a4fd1141e | ||
|
|
2bf77f123f | ||
|
|
9785576866 | ||
|
|
3007dec127 | ||
|
|
1008452198 | ||
|
|
1f58c13179 | ||
|
|
5ce2efa638 | ||
|
|
e75805ba06 | ||
|
|
73f04eb0d4 | ||
|
|
097d991ea8 | ||
|
|
5cf494def9 | ||
|
|
23d6e3a819 | ||
|
|
9a6bacc73f | ||
|
|
e432b0be1d | ||
|
|
2dad04a354 | ||
|
|
1fb68b20e9 | ||
|
|
d61723dee2 | ||
|
|
1afd5ff257 | ||
|
|
04b8b333d4 | ||
|
|
fdd3853121 | ||
|
|
bdba92c842 | ||
|
|
66f3e20489 | ||
|
|
871a327d99 | ||
|
|
c53266f12f | ||
|
|
11ff6c9053 | ||
|
|
d392daa2e6 | ||
|
|
fc75aab94b | ||
|
|
760ae8ed8b | ||
|
|
25ada92574 | ||
|
|
12c8031f2b | ||
|
|
8c78e8e629 | ||
|
|
dc5cdcb7e1 | ||
|
|
383fc221d9 | ||
|
|
e4942bad2f | ||
|
|
460000308a | ||
|
|
826a22f348 | ||
|
|
43442e10de | ||
|
|
b710e0ace3 | ||
|
|
b0087d8d54 | ||
|
|
dcef1a5749 | ||
|
|
1c0a7f6b1e | ||
|
|
2444e9a980 | ||
|
|
417ee4648f | ||
|
|
4b2342979f | ||
|
|
ee306549d8 | ||
|
|
d3ec825688 | ||
|
|
fe11479b08 | ||
|
|
c98e604e76 | ||
|
|
f9d09e17ef | ||
|
|
27eb117466 | ||
|
|
46e87fb6a4 | ||
|
|
6d95180870 | ||
|
|
c7ad70b81c | ||
|
|
62bf3876f8 | ||
|
|
cff0893d53 | ||
|
|
6135c5eecc | ||
|
|
170fb4bf6d | ||
|
|
2f5ce65684 | ||
|
|
bb272f2579 | ||
|
|
56e132ec15 | ||
|
|
5379ae7d74 | ||
|
|
9d7e96e996 | ||
|
|
8bbe2f0dfb | ||
|
|
0794e0ad84 | ||
|
|
3f0f15b441 | ||
|
|
90f17e3bc9 | ||
|
|
8311c95100 | ||
|
|
97da08ae8b | ||
|
|
12a96cceee | ||
|
|
fac7e9a894 | ||
|
|
c47cfe9b57 | ||
|
|
671949a5cd | ||
|
|
602e220024 | ||
|
|
ebab1f528d | ||
|
|
4a5a1d0157 | ||
|
|
906f5bf931 | ||
|
|
9ef6d46958 | ||
|
|
50c1c871a8 | ||
|
|
8a6ba637a7 | ||
|
|
abde201bda | ||
|
|
428a613b65 | ||
|
|
1ddeac2d31 | ||
|
|
7961ed06f7 | ||
|
|
cedcb45484 | ||
|
|
cf6abdcf01 | ||
|
|
04d3aee2e9 | ||
|
|
5af18cb99b | ||
|
|
87396ec859 | ||
|
|
2f16908992 | ||
|
|
63e2dcd0ca | ||
|
|
afd8bff58e | ||
|
|
2ab56b86bc | ||
|
|
e9628511fc | ||
|
|
3402c02d6a | ||
|
|
fdf278cd79 | ||
|
|
e5b75debed | ||
|
|
eedfbbb934 | ||
|
|
2a5a149e83 | ||
|
|
4cb725d47e | ||
|
|
8228486ef3 | ||
|
|
c66dc40bab | ||
|
|
4f1a9fb0d5 | ||
|
|
454ec14b40 | ||
|
|
b4f3d865b4 | ||
|
|
86779cb629 | ||
|
|
e1d5d14ff7 | ||
|
|
1be1979c05 | ||
|
|
2b6693a826 | ||
|
|
7d369ad813 | ||
|
|
81a28a2f2e | ||
|
|
6b008bd433 | ||
|
|
241c0fe07c | ||
|
|
12b6a8c8a5 | ||
|
|
426d6c4ed6 | ||
|
|
4002425c0d | ||
|
|
230bb5f9f6 | ||
|
|
8a35060653 | ||
|
|
2b00d374e0 | ||
|
|
da87442b3a | ||
|
|
3c68731fe0 | ||
|
|
ef775b2e2c | ||
|
|
0759590f4c | ||
|
|
e7092c416b | ||
|
|
f272410803 | ||
|
|
b128f385e5 | ||
|
|
a4227df098 | ||
|
|
230af0ae17 | ||
|
|
aeb644cf16 | ||
|
|
c3e583ac5a | ||
|
|
48654f0e8f | ||
|
|
a772b86f09 | ||
|
|
026893d2fe | ||
|
|
2d4342607d | ||
|
|
02b6bc4ee6 | ||
|
|
0194eb5cd5 | ||
|
|
9ceedb4e1c | ||
|
|
85a0451f1b | ||
|
|
dfda0eb476 | ||
|
|
b160932ff3 | ||
|
|
f9c5ee5896 | ||
|
|
5097373a22 | ||
|
|
10dd66c7f8 | ||
|
|
b6e5d2c834 | ||
|
|
726f9b8c80 | ||
|
|
7349fa2298 | ||
|
|
143c4a436d | ||
|
|
60e025e78d | ||
|
|
de5bc5c02e | ||
|
|
a1ab4186b4 | ||
|
|
d3b9ae45cf | ||
|
|
7dfb8a4b19 | ||
|
|
2bd64805a9 | ||
|
|
b17b732c55 | ||
|
|
8157f3318b | ||
|
|
fbbb4ed792 | ||
|
|
ec3e7ed3ba | ||
|
|
585e0ad087 | ||
|
|
4815b0309e | ||
|
|
9d593b8c3b | ||
|
|
aaa74f0267 | ||
|
|
cf8e0f6ed2 | ||
|
|
303174117f | ||
|
|
ccda475073 | ||
|
|
ddba3c35ab | ||
|
|
87d04fc2c1 | ||
|
|
a3f05e353d | ||
|
|
69ce7b1a15 | ||
|
|
3922ee536b | ||
|
|
cf372f4dc2 | ||
|
|
854b142973 | ||
|
|
7d8f7a726b | ||
|
|
e0b2e1c3b9 | ||
|
|
f7a7b6bedf | ||
|
|
7b0550c713 | ||
|
|
ec8248e10c | ||
|
|
374d2e5697 | ||
|
|
e407e75389 | ||
|
|
342ff58cbe | ||
|
|
68842fb4ce | ||
|
|
88f229481d | ||
|
|
09b2a924af | ||
|
|
06715f0618 | ||
|
|
38d190f582 | ||
|
|
73cb20a2dd | ||
|
|
a08cc7aa62 | ||
|
|
9d4fd4d6d4 | ||
|
|
e8aa68beb4 | ||
|
|
178da458ad | ||
|
|
508c184f1a | ||
|
|
a8cf071f2f | ||
|
|
89768c9303 | ||
|
|
a31142de6d | ||
|
|
66ddcac412 | ||
|
|
645ba97c1d | ||
|
|
a26eacb247 | ||
|
|
667397ad83 | ||
|
|
99217499f9 | ||
|
|
b083c62bd4 | ||
|
|
d0b297b015 | ||
|
|
ddc5fedc4d | ||
|
|
968e2e508d | ||
|
|
7c936547aa | ||
|
|
4ac1b5329c | ||
|
|
bf44ca7ddd | ||
|
|
e25d7805d9 | ||
|
|
5aaf212d9a | ||
|
|
99bd993f25 | ||
|
|
a153bc9916 | ||
|
|
77ff8ff4c3 | ||
|
|
709fe35852 | ||
|
|
ecb8d8672a | ||
|
|
a79e1a86f8 | ||
|
|
4bdbb170a7 | ||
|
|
7960b55dbd | ||
|
|
77465baaf4 | ||
|
|
dcf13fd53f | ||
|
|
973804ed14 | ||
|
|
9978d9d75c | ||
|
|
e4f436fab1 | ||
|
|
ac5b5b89f6 | ||
|
|
b69977929c | ||
|
|
548dccf776 | ||
|
|
b4e4eb349c | ||
|
|
7a5fdb0b77 | ||
|
|
51e51db229 | ||
|
|
faba1b3087 | ||
|
|
123543a985 | ||
|
|
cd9332063c | ||
|
|
54a0a0befb | ||
|
|
289749115b | ||
|
|
cd1c2f3827 | ||
|
|
e8169e86d1 | ||
|
|
cac063324d | ||
|
|
aebaa8425c | ||
|
|
1b902e36f4 | ||
|
|
396b7ed6dc | ||
|
|
d6666d6388 | ||
|
|
7d5b183dea | ||
|
|
6c25a3c405 | ||
|
|
999b1e613f | ||
|
|
0cbbc058e0 | ||
|
|
a67f42f0de | ||
|
|
4ef74c4c70 | ||
|
|
255c0edd49 | ||
|
|
1177a71f73 | ||
|
|
e6bdcb687a | ||
|
|
cbff4cd805 | ||
|
|
a8a2f14b34 | ||
|
|
931aab5159 | ||
|
|
a310498c5a | ||
|
|
6744c02019 | ||
|
|
124f923720 | ||
|
|
e2048c3efd | ||
|
|
ac86dc7ad7 | ||
|
|
e73cb9c7d6 | ||
|
|
102429e090 | ||
|
|
627447f8b0 | ||
|
|
d5bffd5ad2 | ||
|
|
951f5daa2d | ||
|
|
77fe40848b | ||
|
|
07b80071a4 | ||
|
|
03f7764da2 | ||
|
|
231b03cd17 | ||
|
|
b271b7e433 | ||
|
|
746ef07e42 | ||
|
|
bff76f184e | ||
|
|
2244359edd | ||
|
|
b94edf0951 | ||
|
|
988e22fe95 | ||
|
|
401048e6a8 | ||
|
|
232289003e | ||
|
|
e18d1246f6 | ||
|
|
95c9e5be66 | ||
|
|
e1203df087 | ||
|
|
09678c6cdc | ||
|
|
f2ce4a4044 | ||
|
|
c23b991c9c | ||
|
|
4205b86f13 | ||
|
|
d710ab810c | ||
|
|
4e5a9be97a | ||
|
|
342a53ae7b | ||
|
|
a0e1971958 | ||
|
|
74502ba5b3 | ||
|
|
09b6aca08f | ||
|
|
03c4afb031 | ||
|
|
f923b94b84 | ||
|
|
20ea43a809 | ||
|
|
8b34934755 | ||
|
|
5ad187d54f | ||
|
|
711abe11bd | ||
|
|
a16c3c7580 | ||
|
|
e1446c7eb8 | ||
|
|
1f4af8c946 | ||
|
|
75bee32e54 | ||
|
|
1d49db4767 | ||
|
|
d39b57f054 | ||
|
|
e91d1ca0aa | ||
|
|
7d87d229d0 | ||
|
|
7ed7ff48b9 | ||
|
|
9d311220b1 | ||
|
|
e4de0f3ae0 | ||
|
|
72711ee64f | ||
|
|
c52052c1b9 | ||
|
|
aa26f4d0df | ||
|
|
be61d5e5ca | ||
|
|
1a3d902d23 | ||
|
|
35bddd2bb2 | ||
|
|
74ee35bfcd | ||
|
|
2915655695 | ||
|
|
5b80dd3a3d | ||
|
|
593bca3365 | ||
|
|
cca9fba79f | ||
|
|
a245cf2915 | ||
|
|
15134c335b | ||
|
|
85215f6760 | ||
|
|
9abb192148 | ||
|
|
f7fa02180a | ||
|
|
fc7f5d7b93 | ||
|
|
5dca42c3c1 | ||
|
|
665c2fb39d | ||
|
|
3ac79b2080 | ||
|
|
8d52690c97 | ||
|
|
2a8931e1ac | ||
|
|
94d77ff21b | ||
|
|
7a707cda67 | ||
|
|
8993d888b1 | ||
|
|
ffc256228a | ||
|
|
1b1de0b7c0 | ||
|
|
4c1480864e | ||
|
|
06cc114daa | ||
|
|
1258751dda | ||
|
|
67ca24a7d9 | ||
|
|
282ee6d103 | ||
|
|
bb5a8f495d | ||
|
|
c400ca3993 | ||
|
|
d7d7fa7c0b | ||
|
|
c1be084e3e | ||
|
|
178e59a618 | ||
|
|
7fe9c06a7f | ||
|
|
0f4531d3d7 | ||
|
|
c5228dff7e | ||
|
|
7131e7ab86 | ||
|
|
16ff7ef008 | ||
|
|
a178035796 | ||
|
|
61abed2fb7 | ||
|
|
30060578ef | ||
|
|
2c2beb0e76 | ||
|
|
2b864f6f44 | ||
|
|
0b1da2a15d | ||
|
|
ad70ef1461 | ||
|
|
6f110a56dd | ||
|
|
0e5253f7b3 | ||
|
|
124eed0264 | ||
|
|
9a055174e6 | ||
|
|
3a231697e5 | ||
|
|
3e74c8faea | ||
|
|
18b0bf19b9 | ||
|
|
020bfbcbf6 | ||
|
|
b1c0d4b2e8 | ||
|
|
6cefe44c64 | ||
|
|
4aa8889834 | ||
|
|
aee9c767dd | ||
|
|
916ecd5629 | ||
|
|
d3a6f6e22a | ||
|
|
86ecd53de7 | ||
|
|
8653ca8398 | ||
|
|
1d615e7568 | ||
|
|
4cb118ad65 | ||
|
|
4e64c4976f | ||
|
|
04adbc39e0 | ||
|
|
744e39e8dd | ||
|
|
baf86d1ade | ||
|
|
3e181b6aff | ||
|
|
8e0ba8ac4e | ||
|
|
3e39aa3630 | ||
|
|
cc1b55b6c9 | ||
|
|
242041c9f6 | ||
|
|
7717387909 | ||
|
|
31e453a4e6 | ||
|
|
9b988537e0 | ||
|
|
d9338f4341 | ||
|
|
b6397b5f73 | ||
|
|
584ace23b4 | ||
|
|
5e89dc43e8 | ||
|
|
024643e3a1 | ||
|
|
96fe2c89ea | ||
|
|
8d8acef481 | ||
|
|
51bdca7158 | ||
|
|
658984e784 | ||
|
|
f8ae90b631 | ||
|
|
b158062ce8 | ||
|
|
dc690bb93a | ||
|
|
342264eba9 | ||
|
|
453ce9d1ea | ||
|
|
e9c14139c2 | ||
|
|
d92d47faa5 | ||
|
|
b6bde0c9d9 | ||
|
|
f873f7da66 | ||
|
|
aabea985bd | ||
|
|
9f9b34f662 | ||
|
|
fc4842ed6d | ||
|
|
eb4e70a7cf | ||
|
|
19ffa91164 | ||
|
|
a519701510 | ||
|
|
5fb5e42b98 | ||
|
|
ba3636a203 | ||
|
|
e0b4ebc349 | ||
|
|
1d1a3cbfe6 | ||
|
|
7aa0367a3b | ||
|
|
0817efc33e | ||
|
|
0facb3f906 | ||
|
|
355c28477b | ||
|
|
c1a294315a | ||
|
|
f27628e719 | ||
|
|
fd1faa6023 | ||
|
|
8fa43e5306 | ||
|
|
94863134fc | ||
|
|
1b979252db | ||
|
|
852cb58ba9 | ||
|
|
7cf1468f38 | ||
|
|
62cd85c148 | ||
|
|
771f851784 | ||
|
|
def85614d8 | ||
|
|
0ad73d06e0 | ||
|
|
6c236da675 | ||
|
|
6b883f3352 | ||
|
|
ffa0f77a42 | ||
|
|
26ae21910f | ||
|
|
5c3af255e4 | ||
|
|
29c35f9037 | ||
|
|
1e1d6fdcc9 | ||
|
|
113f769160 | ||
|
|
278575c3e2 | ||
|
|
27e150ebf6 | ||
|
|
fe0f63c4cb | ||
|
|
b94aeb8b4a | ||
|
|
8b9b299786 | ||
|
|
6ce743057b | ||
|
|
fbb53f9033 | ||
|
|
8a894f7e88 | ||
|
|
5e88a710ae | ||
|
|
6b36d67ed7 | ||
|
|
5564be9ce9 | ||
|
|
9f676f42b9 | ||
|
|
981fd63963 | ||
|
|
cb9320f3a1 | ||
|
|
6d5bc305dc | ||
|
|
1c5b5c890b | ||
|
|
e43e1c9cbd | ||
|
|
5fe985d2c7 | ||
|
|
80ca4b97a9 | ||
|
|
d3b4bed654 | ||
|
|
c117555b2c | ||
|
|
abbf2d5391 | ||
|
|
a31c800204 | ||
|
|
877e8def80 | ||
|
|
fb650dbd52 | ||
|
|
c34c7d5545 | ||
|
|
fe37d45e1a | ||
|
|
bf3d4f7c0e | ||
|
|
69643e26f6 | ||
|
|
44b502a1e4 | ||
|
|
6d36dc7923 | ||
|
|
151935913f | ||
|
|
d72ed58436 | ||
|
|
d53a8b20b8 | ||
|
|
600ab1ad28 | ||
|
|
aa7350c419 | ||
|
|
c2077cb6b1 | ||
|
|
bedd50ec38 | ||
|
|
8a3525d879 | ||
|
|
853f1d1a68 | ||
|
|
7e50f0317e | ||
|
|
724d7532e2 | ||
|
|
45a548afd2 | ||
|
|
e8b4b7806b | ||
|
|
133367669d | ||
|
|
60a09a1cd9 | ||
|
|
9128fbbd61 | ||
|
|
c3c6465908 | ||
|
|
ed444b0615 | ||
|
|
9ada6aae64 | ||
|
|
0ef0f37bbf | ||
|
|
df37f5e95f | ||
|
|
468cada6c6 | ||
|
|
e60ab51b79 | ||
|
|
d58a48061c | ||
|
|
cabb62043d | ||
|
|
b7bc46b94a | ||
|
|
bc8edb7eb4 | ||
|
|
5deb2ad7cf | ||
|
|
dcc523edff | ||
|
|
26eba7ae09 | ||
|
|
9692c07da9 | ||
|
|
2860db3fbd | ||
|
|
1ce5bd3bcf | ||
|
|
9d3f87218e | ||
|
|
505b4bb156 | ||
|
|
25320f45af | ||
|
|
0b9f3160d9 | ||
|
|
bb27f40cb2 | ||
|
|
9853d6b721 | ||
|
|
52f041afba | ||
|
|
646814126f | ||
|
|
05cb4325da | ||
|
|
e8b3468a3a | ||
|
|
741607b78b | ||
|
|
70414bb83c | ||
|
|
436873a455 | ||
|
|
b59cadc061 | ||
|
|
bdcbd90ec6 | ||
|
|
f3e96fe94a | ||
|
|
ef97f0e6c2 | ||
|
|
8976eb9621 | ||
|
|
e2cfe9247e | ||
|
|
6472670ec3 | ||
|
|
0eb81114dd | ||
|
|
31c5ef41eb | ||
|
|
73470fa504 | ||
|
|
14b815e009 | ||
|
|
5ae028f1e9 | ||
|
|
859a514bc5 | ||
|
|
4d97126ef6 | ||
|
|
cc34cb20bd | ||
|
|
9c555c9ec0 | ||
|
|
9537f75bc2 | ||
|
|
30e0012da6 | ||
|
|
1892235d5c | ||
|
|
82bd84b60d | ||
|
|
814adf8567 | ||
|
|
671880b405 | ||
|
|
6ce2e22fac | ||
|
|
51d3dae1db | ||
|
|
a33a18da42 | ||
|
|
6ff04fb76a | ||
|
|
124938dbc2 | ||
|
|
902f67e97d | ||
|
|
08c02c1590 | ||
|
|
4650ae1295 | ||
|
|
c77ede9109 | ||
|
|
0f56cbe7e7 | ||
|
|
708e90117d | ||
|
|
33e5350605 | ||
|
|
d1924cfdf4 | ||
|
|
dff214259a | ||
|
|
d25edfc097 | ||
|
|
8c2b8a6cba | ||
|
|
eccbde4ebb | ||
|
|
27e1456b9f | ||
|
|
9c6b2a92ac | ||
|
|
1d6cb9cad2 | ||
|
|
d31e6c8183 | ||
|
|
cf1a50c2e5 | ||
|
|
7c15125a97 | ||
|
|
b7c14ebbda | ||
|
|
2969321b8c | ||
|
|
036369a8dc | ||
|
|
7be2b43c35 | ||
|
|
e5fe6d95e9 | ||
|
|
a8480a9eee | ||
|
|
1a4f53a3f9 | ||
|
|
11c374c25d | ||
|
|
618d633602 | ||
|
|
3effb837b7 | ||
|
|
68d363388d | ||
|
|
10fd78276c | ||
|
|
4d778326c6 | ||
|
|
e2d381b6b7 | ||
|
|
4fc819e9b9 | ||
|
|
f0feb8aeb1 | ||
|
|
85013743fe | ||
|
|
e5a1585c25 | ||
|
|
dd8bf920a5 | ||
|
|
b70c144784 | ||
|
|
d9849717de | ||
|
|
ec4fd5fd44 | ||
|
|
52b83d933d | ||
|
|
f1f2a237bb | ||
|
|
4a90031054 | ||
|
|
cf34b7867d | ||
|
|
e49330c34a | ||
|
|
53ff1de23c | ||
|
|
7165b13d48 | ||
|
|
f330721c0c | ||
|
|
01fe469a28 | ||
|
|
e716b55b5c | ||
|
|
e7ebf6e8b2 | ||
|
|
16e34bf76a | ||
|
|
3dce7a61a8 | ||
|
|
5dac06d335 | ||
|
|
a8d21fe316 | ||
|
|
d784efa44a | ||
|
|
b2a4955d54 | ||
|
|
02d7a0acfd | ||
|
|
ee5c08f795 | ||
|
|
d7debf981c | ||
|
|
2b4a73f355 | ||
|
|
06b20ec6fc | ||
|
|
a3b6d60e16 | ||
|
|
37608a8fbe | ||
|
|
2713286ca5 | ||
|
|
6f648702e9 | ||
|
|
5e17e0c6d1 | ||
|
|
0fcc44bff8 | ||
|
|
f65324e555 | ||
|
|
1ba4b2a5be | ||
|
|
de4733edf1 | ||
|
|
75936c75d0 | ||
|
|
6f6ee807cf | ||
|
|
7a1ce5c281 | ||
|
|
d4a3985a65 | ||
|
|
d73e723003 | ||
|
|
02c3876131 | ||
|
|
641ed45b59 | ||
|
|
aa7306fc4c | ||
|
|
d8296f85bf | ||
|
|
b96dda26c0 | ||
|
|
3ba16e019c | ||
|
|
12f97cf78f | ||
|
|
219dfa801f | ||
|
|
1826c23692 | ||
|
|
b5dd62a614 | ||
|
|
59e7d7c7c3 | ||
|
|
e66cb35899 | ||
|
|
d9aa90350c | ||
|
|
4a9d28e59d | ||
|
|
636e1961dd | ||
|
|
ff27652fb6 | ||
|
|
3b6285cff8 | ||
|
|
0d865977b4 | ||
|
|
a6872f5a77 | ||
|
|
d26d786f67 | ||
|
|
71aa4be3b1 | ||
|
|
70507a5919 | ||
|
|
b99886095b | ||
|
|
8dabe08792 | ||
|
|
de4fd3b8d0 | ||
|
|
7778afe3ec | ||
|
|
f817406dbc | ||
|
|
a16e3fcd3c | ||
|
|
2bbaff5f15 | ||
|
|
18023f1606 | ||
|
|
707793c6b2 | ||
|
|
f080720712 | ||
|
|
cf7d8e45f4 | ||
|
|
a5c3d7b215 | ||
|
|
68053b0f5a | ||
|
|
39762c8132 | ||
|
|
e27a8ee601 | ||
|
|
0a10dc426b | ||
|
|
53ee466fb6 | ||
|
|
33acc73ab7 | ||
|
|
dbbb4d7123 | ||
|
|
de39af13d0 | ||
|
|
9244009350 | ||
|
|
bb10a75f0e | ||
|
|
6cf4efdf31 | ||
|
|
83fe74253f | ||
|
|
4be95072fd | ||
|
|
9a8c245e31 | ||
|
|
f2e0f32054 | ||
|
|
a6c9ee60a9 | ||
|
|
9cef768dfc | ||
|
|
75d5fb2f8d | ||
|
|
e417756971 | ||
|
|
9d961af8ed | ||
|
|
ac25475155 | ||
|
|
983228a8ac | ||
|
|
6e627d8f9f | ||
|
|
dd82d5d3e7 | ||
|
|
df319f007f | ||
|
|
880551aaa3 | ||
|
|
b8c76a16cc | ||
|
|
a52f835288 | ||
|
|
bd9295bc90 | ||
|
|
a43ee8fa3a | ||
|
|
d8a42a4136 | ||
|
|
e2d11014d0 | ||
|
|
6d1e56caac | ||
|
|
c322c6aff9 | ||
|
|
7631aec796 | ||
|
|
033e863750 | ||
|
|
05b96c6972 | ||
|
|
9fc26a2078 | ||
|
|
c894925db1 | ||
|
|
b0da2f63a8 | ||
|
|
1c05793f03 | ||
|
|
bd123ba2f1 | ||
|
|
4aad34ce93 | ||
|
|
b2bd8ee66f | ||
|
|
018434ea57 | ||
|
|
71c230552d | ||
|
|
2a4b440db2 | ||
|
|
22eeb492b0 | ||
|
|
19a1bc0f1d | ||
|
|
58010dafde | ||
|
|
6e64cc3617 | ||
|
|
056ba55f1c | ||
|
|
abd1fdefca | ||
|
|
1fc3807fa8 | ||
|
|
ae91e09943 | ||
|
|
5087cc48f5 | ||
|
|
f7da303d29 | ||
|
|
f90bc7b165 | ||
|
|
9a1354d287 | ||
|
|
b3721122f0 | ||
|
|
3c9ee7f82f | ||
|
|
6ec57d02fd | ||
|
|
99f0bb8468 | ||
|
|
a6738a8493 | ||
|
|
17d6ca9459 | ||
|
|
11fa485440 | ||
|
|
3e67b64b90 | ||
|
|
021180dbe3 | ||
|
|
4f012662e6 | ||
|
|
4adcf7bca5 | ||
|
|
8ddaf24a94 | ||
|
|
50ed0bdfda | ||
|
|
e1efd5e4e0 | ||
|
|
fbd54a2a09 | ||
|
|
22020d8607 | ||
|
|
767aa88930 | ||
|
|
3596723d3d | ||
|
|
03ab646713 | ||
|
|
a5ca6132f0 | ||
|
|
ef5b12af4f | ||
|
|
11f668e163 | ||
|
|
bb303f98d2 | ||
|
|
56061e6471 | ||
|
|
faabe2f2a2 | ||
|
|
6dd09a12da | ||
|
|
68ccd983a0 | ||
|
|
89cdf5e52d | ||
|
|
dc27396c6f | ||
|
|
e2eb1137d2 | ||
|
|
b5d47ae2a5 | ||
|
|
c2b1d8660e | ||
|
|
b2024d38b5 | ||
|
|
589201ad39 | ||
|
|
34c0d87703 | ||
|
|
f71078e112 | ||
|
|
fb8c82d838 | ||
|
|
41432a07ed | ||
|
|
2408104bd0 | ||
|
|
d1cd68cda6 | ||
|
|
3dffaddfe8 | ||
|
|
f023810859 | ||
|
|
256d5d4eb1 | ||
|
|
7edbf8fc8d | ||
|
|
2a20075797 | ||
|
|
c91cbeba1a | ||
|
|
9da4710d54 | ||
|
|
2d1ee3bbbe | ||
|
|
758704d464 | ||
|
|
9639caf019 | ||
|
|
0d45365ba3 | ||
|
|
c19a1b3154 | ||
|
|
ac45bd2963 | ||
|
|
f2d94878da | ||
|
|
532eadf434 | ||
|
|
673842acbc | ||
|
|
aaca5ad372 | ||
|
|
f6906ac3fd | ||
|
|
38a5395c78 | ||
|
|
85dcd5a5b9 | ||
|
|
92fbe2e5d5 | ||
|
|
779d5cba1c | ||
|
|
f4217401e2 | ||
|
|
e99bf6b14b | ||
|
|
84775f7e2a | ||
|
|
8c6bc456a8 | ||
|
|
d58d8bbc35 | ||
|
|
0738f32751 | ||
|
|
110962cc37 | ||
|
|
70e529605c | ||
|
|
aa02e04091 | ||
|
|
a670ce1cf0 | ||
|
|
f552e61157 | ||
|
|
e397b68060 | ||
|
|
cb5580d770 | ||
|
|
0cd4ecf701 | ||
|
|
46291d4a63 | ||
|
|
1344d1c424 | ||
|
|
bb0f3d417f | ||
|
|
0f6d02a83f | ||
|
|
56e00c9c55 | ||
|
|
943ca26eae | ||
|
|
8e1c611e92 | ||
|
|
ed5f23faf2 | ||
|
|
60bd7498ea | ||
|
|
ab1de78b74 | ||
|
|
493d547c7b | ||
|
|
7bcfd0f805 | ||
|
|
3e1b151488 | ||
|
|
820ad7cb28 | ||
|
|
686b4800aa | ||
|
|
cb7828820d | ||
|
|
a6d457f664 | ||
|
|
fd95c634f1 | ||
|
|
df0a744cc9 | ||
|
|
af55ef56c9 | ||
|
|
6c6991f0a9 | ||
|
|
d248a85aee | ||
|
|
64642204fc | ||
|
|
5bb84618c3 | ||
|
|
fc5cce71b7 | ||
|
|
b00aa0696f | ||
|
|
02aa14d7b7 | ||
|
|
f9dfb68e9f | ||
|
|
208eb4ad06 | ||
|
|
5608abdf79 | ||
|
|
2e404f2087 | ||
|
|
024201a7b7 | ||
|
|
7dde3b5d27 | ||
|
|
834726b49e | ||
|
|
204f8204f1 | ||
|
|
3cf4790148 | ||
|
|
180f3f08dc | ||
|
|
67698775a3 | ||
|
|
22f97beeaa | ||
|
|
9f98f21d38 | ||
|
|
94ff71281f | ||
|
|
4a96df1574 | ||
|
|
80448d4a24 | ||
|
|
257c4b29f2 | ||
|
|
3f9db33340 | ||
|
|
2c42fbd38d | ||
|
|
8eca3ec76b | ||
|
|
0b64bc580d | ||
|
|
ce2266d0ed | ||
|
|
60530fad6b | ||
|
|
b8f94ed8a9 | ||
|
|
330b1ca5d8 | ||
|
|
40a7f86cef | ||
|
|
a9b3050265 | ||
|
|
b7e64b3abe | ||
|
|
56baa44c99 | ||
|
|
357d815489 | ||
|
|
e542855639 | ||
|
|
6fc3f49152 | ||
|
|
e67c77b322 | ||
|
|
c3291f672e | ||
|
|
176036402a | ||
|
|
9d5488b82d | ||
|
|
a2618dab31 | ||
|
|
bb46241f98 | ||
|
|
ff7fee2d94 | ||
|
|
9a23a24bd3 | ||
|
|
a62762be92 | ||
|
|
60dbc4ffd6 | ||
|
|
773077ab9c | ||
|
|
679d208c8d | ||
|
|
19bec9a9cf | ||
|
|
a7f6ae19f0 | ||
|
|
475f90d224 | ||
|
|
285c9016d7 | ||
|
|
5923d07abc | ||
|
|
91cece81fb | ||
|
|
b714d421f6 | ||
|
|
20852c7ae5 | ||
|
|
f18f04734d | ||
|
|
2eb7cc286b | ||
|
|
ae91e3e2c1 | ||
|
|
d73b437104 | ||
|
|
04b9d9e400 | ||
|
|
6e7741706e | ||
|
|
af0ee0584d | ||
|
|
cabed69c48 | ||
|
|
2832686193 | ||
|
|
d7149c8282 | ||
|
|
571c7e60aa | ||
|
|
a434829a6c | ||
|
|
60b8716315 | ||
|
|
7aba6d15b7 | ||
|
|
48ada59a2f | ||
|
|
c5aa1abb30 | ||
|
|
daeedd6f73 | ||
|
|
cac80159ff | ||
|
|
a5cb23c32e | ||
|
|
0f5b7e5e6d | ||
|
|
12aaebd154 | ||
|
|
8899d4b960 | ||
|
|
1ba91a1fd6 | ||
|
|
c34d89affd | ||
|
|
e07a4fac97 | ||
|
|
76428b2e70 | ||
|
|
78a0763ad7 | ||
|
|
32591f5af7 | ||
|
|
c1898b97c9 | ||
|
|
5c82b6351c | ||
|
|
14f62a6427 | ||
|
|
2a30a6f2e1 | ||
|
|
7b96ee0d9c | ||
|
|
5994908197 | ||
|
|
d6c3badbba | ||
|
|
9aa9e84bc0 | ||
|
|
f3637eab3f | ||
|
|
9f9ee09f9c | ||
|
|
08b986c5e3 | ||
|
|
c8f6c2582b | ||
|
|
ae1c8dbdfc | ||
|
|
3b5c91b15c | ||
|
|
7a6e9cd598 | ||
|
|
6a8f0bda09 | ||
|
|
05305aa27d | ||
|
|
ae59288b1f | ||
|
|
7269a5e527 | ||
|
|
02dffaade5 | ||
|
|
9686650987 | ||
|
|
eefa3cbe98 | ||
|
|
0a4b5c8676 | ||
|
|
dff3cc21fa | ||
|
|
d7bb0e492c | ||
|
|
af92c26124 | ||
|
|
d1ffa246a9 | ||
|
|
4e7b79f98d | ||
|
|
9cff791ce5 | ||
|
|
fdb2d75cf0 | ||
|
|
825c6e1a80 | ||
|
|
ec9366d72b | ||
|
|
ff304ad3d4 | ||
|
|
b71ba411fd | ||
|
|
dfe7b4e6c6 | ||
|
|
96e2de6de1 | ||
|
|
d4d4dc4fd7 | ||
|
|
2ccbb4c0c4 | ||
|
|
709b098054 | ||
|
|
53ff6c72f0 | ||
|
|
8044adcc50 | ||
|
|
9b91da3798 | ||
|
|
286910e722 | ||
|
|
8fe4322536 | ||
|
|
a7005d13df | ||
|
|
8ca4205d2c | ||
|
|
af30b27724 | ||
|
|
2d688e74f2 | ||
|
|
0a4e3501dc | ||
|
|
1b50ca2b57 | ||
|
|
b454bbd662 | ||
|
|
1480920938 | ||
|
|
65a6231f23 | ||
|
|
4b70116754 | ||
|
|
e136b0a9f1 | ||
|
|
e45cc0267f | ||
|
|
d17cce2ca4 | ||
|
|
c93cc296a0 | ||
|
|
f63d42a75b | ||
|
|
1ae7be0846 | ||
|
|
c3388f2a48 | ||
|
|
4909f4395d | ||
|
|
2a8122e280 | ||
|
|
937eaaaaa1 | ||
|
|
f0974509bf | ||
|
|
0d71b0d8fe | ||
|
|
cf0a76c343 | ||
|
|
0f5b90998e | ||
|
|
8963b79db0 | ||
|
|
dc0a698330 | ||
|
|
6e54ed096f | ||
|
|
a552c11983 | ||
|
|
1bdf6888c6 | ||
|
|
f69fcbb783 | ||
|
|
6771431038 | ||
|
|
712568d118 | ||
|
|
4916c4cc50 | ||
|
|
8ed26c72e2 | ||
|
|
919010235c | ||
|
|
580d795054 | ||
|
|
329193f2f2 | ||
|
|
b20acaec6f | ||
|
|
516d420a1e | ||
|
|
b92b34a8ad | ||
|
|
7d7596bbdd | ||
|
|
acac2dba90 | ||
|
|
727ac7d9df | ||
|
|
2fc54ae343 | ||
|
|
e04cd0488e | ||
|
|
f867e21647 | ||
|
|
ec27935d81 | ||
|
|
08ae0387a9 | ||
|
|
ca69c783d3 | ||
|
|
12198dd6df | ||
|
|
d1fbbe1167 | ||
|
|
65e79b0d07 | ||
|
|
9fb9df1843 | ||
|
|
b15166a599 | ||
|
|
bf81dfe806 | ||
|
|
f588b3b6e7 | ||
|
|
c29db74b1d | ||
|
|
213fc3da91 | ||
|
|
ab4f721914 | ||
|
|
8ac9876ec3 | ||
|
|
4fbc113fcb | ||
|
|
4d3d744cd6 | ||
|
|
21416fa8c8 | ||
|
|
f2f973bf00 | ||
|
|
0c655dbfd4 | ||
|
|
ebac947c92 | ||
|
|
ce85a9d0b1 | ||
|
|
f114ca33d5 | ||
|
|
850628f7f6 | ||
|
|
8681d58ffb | ||
|
|
8f2cd5a353 | ||
|
|
f6f12e2566 | ||
|
|
3512ed6da3 | ||
|
|
4a29a77a78 | ||
|
|
aa17962936 | ||
|
|
10cab8dcb4 | ||
|
|
0a720fae72 | ||
|
|
0153b5be22 | ||
|
|
479a9ead03 | ||
|
|
b207a48175 | ||
|
|
9e3311c6f9 | ||
|
|
88257c7e03 | ||
|
|
a30e2f295f | ||
|
|
96ad9dee18 | ||
|
|
8800195c2c | ||
|
|
74b7c938a8 | ||
|
|
3dcacfe631 | ||
|
|
bf02406bf4 | ||
|
|
4371dbda3c | ||
|
|
c6640cef96 | ||
|
|
11ca6972c6 | ||
|
|
e235d22c7c | ||
|
|
512d74568a | ||
|
|
617c2ba578 | ||
|
|
5476c6248c | ||
|
|
916366bd10 | ||
|
|
5e66893719 | ||
|
|
16964b4987 | ||
|
|
73846ffa9b | ||
|
|
d5824239f5 | ||
|
|
c4270fc918 | ||
|
|
a29a1605a7 | ||
|
|
22868a594f | ||
|
|
aed64a27e8 | ||
|
|
2b338a63ba | ||
|
|
cda4027f83 | ||
|
|
7814269e15 | ||
|
|
e2175db7cb | ||
|
|
f1828b0c92 | ||
|
|
5cf9fab4f2 | ||
|
|
c3764df4e2 | ||
|
|
a2a1033701 | ||
|
|
2536f7fc6f | ||
|
|
b6fe78b82c | ||
|
|
f8cddf0bce | ||
|
|
2c7a32b47e | ||
|
|
e6dd4c6cfe | ||
|
|
fb756fe9ba | ||
|
|
c21e890b48 | ||
|
|
3720aa98df | ||
|
|
640aa7854a | ||
|
|
9689690730 | ||
|
|
a08620d7c9 | ||
|
|
fdbdc8e3f3 | ||
|
|
071d3b3023 | ||
|
|
f6b12d946a | ||
|
|
11572b4939 | ||
|
|
0c75b9a994 | ||
|
|
ed44aad076 | ||
|
|
6dc00bff74 | ||
|
|
5f2407baeb | ||
|
|
45f41f3cf7 | ||
|
|
0c29d61a35 | ||
|
|
58e549e3b3 | ||
|
|
2ae4f6b338 | ||
|
|
e28e41c1d9 | ||
|
|
05dfe51260 | ||
|
|
ec6e94f4ca | ||
|
|
bdb332bd79 | ||
|
|
9295dfc7c1 | ||
|
|
fb4bee4801 | ||
|
|
8b7c2aa48d | ||
|
|
9bec96f160 | ||
|
|
cb517c907d | ||
|
|
a6f5e59cbb | ||
|
|
9420143a36 | ||
|
|
eb8835b63a | ||
|
|
f9468db266 | ||
|
|
1135ba054c | ||
|
|
8f7509a23f | ||
|
|
cba9ee98ad | ||
|
|
0ec0fef8f3 | ||
|
|
a348562f56 | ||
|
|
392a606bbc | ||
|
|
440bed4485 | ||
|
|
a321966e5b | ||
|
|
f180c1018f | ||
|
|
f267aa6dc6 | ||
|
|
1c74e83c2c | ||
|
|
099a895eb6 | ||
|
|
3b810f84da | ||
|
|
10f2c7d36b | ||
|
|
5b849638de | ||
|
|
857fd6f782 | ||
|
|
29edec63ab | ||
|
|
c6afc4756a | ||
|
|
365657cf88 | ||
|
|
5441dedcf4 | ||
|
|
254b6d8af2 | ||
|
|
1459aea5cf | ||
|
|
80d8525671 | ||
|
|
389a165ed3 | ||
|
|
d8f309d21b | ||
|
|
ee983ddfaa | ||
|
|
c1cdd37e9d | ||
|
|
646f05933d | ||
|
|
3f854a7f27 | ||
|
|
740dbea8bd | ||
|
|
95a44936ac | ||
|
|
9deafc7371 | ||
|
|
c1af7e374d | ||
|
|
cd71db72be | ||
|
|
a9d90f966b | ||
|
|
1a323ca551 | ||
|
|
2d85e191bc | ||
|
|
1b971a859c | ||
|
|
78b697d1c2 | ||
|
|
9da2ce6672 | ||
|
|
39fabd501d | ||
|
|
3f1867dd6f | ||
|
|
68d29041b0 | ||
|
|
b300e86962 | ||
|
|
562ecf2ee5 | ||
|
|
d294938a2c | ||
|
|
027cf23069 | ||
|
|
c4598637bb | ||
|
|
8a94b6a334 | ||
|
|
c80c163212 | ||
|
|
921a994eb6 | ||
|
|
65e60da288 | ||
|
|
661185083e | ||
|
|
a2a26555e2 | ||
|
|
7f11250b79 | ||
|
|
a6d2f2ecf9 | ||
|
|
399d447eec | ||
|
|
fb6204e47c | ||
|
|
566856c8fb | ||
|
|
d29dd207b6 | ||
|
|
e20489900d | ||
|
|
567a268ded | ||
|
|
6a57d242f9 | ||
|
|
41e0851d70 | ||
|
|
95b378348c | ||
|
|
1309bf7c6e | ||
|
|
2531b507b0 | ||
|
|
16dc0419e2 | ||
|
|
4e7ec6bfb4 | ||
|
|
035ad48fe4 | ||
|
|
ff7c582157 | ||
|
|
0876a91e17 | ||
|
|
a2d3c1d73e | ||
|
|
1a721deee6 | ||
|
|
4355d9c83f | ||
|
|
239891c400 | ||
|
|
ac10aa0a1e | ||
|
|
7ecf414a47 | ||
|
|
87c96d06a4 | ||
|
|
26a8d9c6b5 | ||
|
|
947a77f619 | ||
|
|
c850513b7f | ||
|
|
c47d827139 | ||
|
|
a2684ae47d | ||
|
|
2b1339b560 | ||
|
|
59aec2bcc9 | ||
|
|
61d1581b96 | ||
|
|
8e47332ce8 | ||
|
|
ffe8bee98b | ||
|
|
1e07486017 | ||
|
|
58da196876 | ||
|
|
78af155a6d | ||
|
|
d7e1b3d7ba | ||
|
|
877eae35cd | ||
|
|
87846b68de | ||
|
|
6581ee8a2a | ||
|
|
951064e657 | ||
|
|
68ebf945a5 | ||
|
|
153817e859 | ||
|
|
ba0bc54fa7 | ||
|
|
9b99975017 | ||
|
|
e6a6862ba4 | ||
|
|
b7d3e9191a | ||
|
|
b461b2c5db | ||
|
|
8f7f48bcaa | ||
|
|
7dc8e394f7 | ||
|
|
f5c8faa5c3 | ||
|
|
c84b4010d1 | ||
|
|
b720c1294f | ||
|
|
d442ab5ce6 | ||
|
|
61fdf300f4 | ||
|
|
4dabca9160 | ||
|
|
85d6946645 | ||
|
|
4b1d8ce729 | ||
|
|
c52b0084ce | ||
|
|
8db725d8bd | ||
|
|
c67d1cbbc4 | ||
|
|
3ea4062e33 | ||
|
|
65e99b9212 | ||
|
|
e83193ba0d | ||
|
|
835338ef63 | ||
|
|
57872d2e40 | ||
|
|
b5a7996769 | ||
|
|
ddbb4ec5c6 | ||
|
|
7cb3080596 | ||
|
|
f6c91294aa | ||
|
|
412d333525 | ||
|
|
378dede02d | ||
|
|
0e3db2635f | ||
|
|
77147cbafd | ||
|
|
43e5fd7766 | ||
|
|
fc3ca3d6b3 | ||
|
|
51f52bb71b | ||
|
|
033c3f632d | ||
|
|
6d862ef36a | ||
|
|
f816274fb9 | ||
|
|
0816286696 | ||
|
|
b421df5e2f | ||
|
|
f6a136643d | ||
|
|
b5e278183a | ||
|
|
8e85042e37 | ||
|
|
f943756624 | ||
|
|
92814aed56 | ||
|
|
e8a1b976e1 | ||
|
|
ef48dbce30 | ||
|
|
196cc6b980 | ||
|
|
1788c74d4c | ||
|
|
74e808d1dc | ||
|
|
72dacc5b21 | ||
|
|
ebdaf65b89 | ||
|
|
fa43149c98 | ||
|
|
e8ae7193ee | ||
|
|
aa21c0fb76 | ||
|
|
10826466a4 | ||
|
|
3b2d7d8c47 | ||
|
|
212443cb8e | ||
|
|
523141d54b | ||
|
|
d8a0859f16 | ||
|
|
c70cc9abb5 | ||
|
|
66b626e605 | ||
|
|
4b28119318 | ||
|
|
666506aed0 | ||
|
|
a55f63a428 | ||
|
|
fb441e151c | ||
|
|
82d85386c0 | ||
|
|
242b2f6faa | ||
|
|
31d31dd583 | ||
|
|
f6077012b1 | ||
|
|
18bb45dcd8 | ||
|
|
10b919e4f4 | ||
|
|
98cedf821c | ||
|
|
729f72e768 | ||
|
|
d01861e949 | ||
|
|
adec48f253 | ||
|
|
27a8ce18d5 | ||
|
|
4b740a9f5a | ||
|
|
0b34b4546e | ||
|
|
c17919cd97 | ||
|
|
462f1f02bf | ||
|
|
ddc433a126 | ||
|
|
ab649e860d | ||
|
|
676ddc3773 | ||
|
|
7d2cf3f91b | ||
|
|
492d41d756 | ||
|
|
191c2fd709 | ||
|
|
027fc9ae04 | ||
|
|
b73d0e1e96 | ||
|
|
315f2b63b9 | ||
|
|
ad205679cb | ||
|
|
6ef8d19e94 | ||
|
|
6b0f25ca59 | ||
|
|
820d341f67 | ||
|
|
70f904d54c | ||
|
|
aee607908d | ||
|
|
c99c57e24d | ||
|
|
00d75be479 | ||
|
|
3a9bd31919 | ||
|
|
51be1bce39 | ||
|
|
822b8e14c1 | ||
|
|
2ab30a7933 | ||
|
|
1be8a5e862 | ||
|
|
98d61fa1b3 | ||
|
|
5b3d16a316 | ||
|
|
b6863828b4 | ||
|
|
98fefd0e52 | ||
|
|
d476d78e2b | ||
|
|
98113fb79f | ||
|
|
90827ff012 | ||
|
|
44078ba2e0 | ||
|
|
866219ee2e | ||
|
|
d785bd6b7e | ||
|
|
3e4e6653a8 | ||
|
|
8d250e2664 | ||
|
|
d455cea29e | ||
|
|
374e8eb910 | ||
|
|
833fc74b4c | ||
|
|
62417bfebd | ||
|
|
abc9ecbeee | ||
|
|
a1f71ab459 | ||
|
|
d123929fb4 | ||
|
|
141827c59c | ||
|
|
9fbcc9edaf | ||
|
|
83d9c5be30 | ||
|
|
6aadbbc3d0 | ||
|
|
d5bc865cf4 | ||
|
|
d766733489 | ||
|
|
f51c640d17 | ||
|
|
66f10b598a | ||
|
|
59957650aa | ||
|
|
d43fbd8964 | ||
|
|
f5de4349bf | ||
|
|
f67e1a021d | ||
|
|
33f2c5fbf7 | ||
|
|
6a7bde930d | ||
|
|
b827a2142b | ||
|
|
8bd2416bad | ||
|
|
3684eb248c | ||
|
|
9077632d1b | ||
|
|
d40261ae29 | ||
|
|
77dbb574c7 | ||
|
|
89a660144e | ||
|
|
7554af5d41 | ||
|
|
4b742fea2d | ||
|
|
a6c6cff8b6 | ||
|
|
5813753ef9 | ||
|
|
cf0dad2631 | ||
|
|
cfddb99a8b | ||
|
|
845d5bf223 | ||
|
|
dbbd972909 | ||
|
|
aba3ba24af | ||
|
|
81c27dde9f | ||
|
|
476b552fd0 | ||
|
|
5c4d5d4b9d | ||
|
|
ae5ef2c286 | ||
|
|
b0f3c8a087 | ||
|
|
43fc7ffc65 | ||
|
|
ee24fca20e | ||
|
|
a00fdbe042 | ||
|
|
c2eb28a8f5 | ||
|
|
4c6c20f3de | ||
|
|
b2ae8135c6 | ||
|
|
aecde97200 | ||
|
|
331caccc22 | ||
|
|
63e2b74bb1 | ||
|
|
433f03161c | ||
|
|
6ec84b6249 | ||
|
|
29b6a48816 | ||
|
|
00755fd417 | ||
|
|
9c5156e41a | ||
|
|
226c45ee2e | ||
|
|
e04390b2fe | ||
|
|
9a87eb4d9b | ||
|
|
2284d9d081 | ||
|
|
cf61369a8d | ||
|
|
4e14bd2396 | ||
|
|
0798d5c071 | ||
|
|
80d5b1d23f | ||
|
|
0bd87288d1 | ||
|
|
51e06c2eb9 | ||
|
|
b29663923d | ||
|
|
f57a323cda | ||
|
|
03ffe85113 | ||
|
|
4edc8aa85b | ||
|
|
04ecb4d56f | ||
|
|
0ac0a92024 | ||
|
|
ae1e14ddb7 | ||
|
|
aa246ab63a | ||
|
|
d4350d7d99 | ||
|
|
f07fe6084a | ||
|
|
4e29055a20 | ||
|
|
6d0c06a853 | ||
|
|
abe6e1fcb8 | ||
|
|
683105c4f7 | ||
|
|
6f2331582c | ||
|
|
f0f97e310c | ||
|
|
2331f2c31a | ||
|
|
704b7f6734 | ||
|
|
7ac7ae43ab | ||
|
|
d52b23d6b5 | ||
|
|
8b17916cd9 | ||
|
|
4a0f4e3ac8 | ||
|
|
85116f43a2 | ||
|
|
3ecb8920ea | ||
|
|
8923d97129 | ||
|
|
375e1cc887 | ||
|
|
78dcbc8bb9 | ||
|
|
a3f7b98bf7 | ||
|
|
12b61e8767 | ||
|
|
0e3b014c2c | ||
|
|
10db8c39f3 | ||
|
|
371bcb3706 | ||
|
|
714c575409 | ||
|
|
c0941e3b7f | ||
|
|
026acb7467 | ||
|
|
3c05cc6a43 | ||
|
|
f1a2926bdf | ||
|
|
88e8a138ac | ||
|
|
53d0301828 | ||
|
|
b10fec1963 | ||
|
|
08e1eb7778 | ||
|
|
d6713c090c | ||
|
|
497ecbf881 | ||
|
|
6f7d03737e | ||
|
|
ad60c6bbe1 | ||
|
|
92fdda722b | ||
|
|
3cc876f972 | ||
|
|
7d1e706045 | ||
|
|
11756fcedd | ||
|
|
2e1f2cd56d | ||
|
|
c08611b2c3 | ||
|
|
f87f89427d | ||
|
|
c3319ebbf3 | ||
|
|
f7b765c5d0 | ||
|
|
9512b74008 | ||
|
|
5a3517f953 | ||
|
|
731c4981c9 | ||
|
|
8f20a8a859 | ||
|
|
7693a0fe14 | ||
|
|
98c3676fdf | ||
|
|
d7664a9746 | ||
|
|
d868fd6970 | ||
|
|
300396b97e | ||
|
|
1d8faa70a1 | ||
|
|
1051b1bb0e | ||
|
|
c367824041 | ||
|
|
81cedf0d43 | ||
|
|
16c6203b97 | ||
|
|
3e1d785f58 | ||
|
|
b7c0eeb7b4 | ||
|
|
fd31b4dcad | ||
|
|
41bf9ededa | ||
|
|
d745712650 | ||
|
|
1df732be7c | ||
|
|
8b413eca52 | ||
|
|
3597077d39 | ||
|
|
7704a06601 | ||
|
|
7b3ad027bf | ||
|
|
cde3af08aa | ||
|
|
7418fb867d | ||
|
|
ce71e09f65 | ||
|
|
7a362411b1 | ||
|
|
e95dfe4671 | ||
|
|
e7b79bb6b9 | ||
|
|
59bc309f5b | ||
|
|
d2fb40f317 | ||
|
|
5dec13f00b | ||
|
|
7464c05483 | ||
|
|
7b97b2e6c3 | ||
|
|
168f46cf56 | ||
|
|
5622b0ce9f | ||
|
|
c7a0b2f5cc | ||
|
|
7546b2a6c5 | ||
|
|
e363c82f2d | ||
|
|
b9643dbd94 | ||
|
|
2664e08eb3 | ||
|
|
733ba7d439 | ||
|
|
2255be3a86 | ||
|
|
03f8e2e353 | ||
|
|
be1bf3f3ca | ||
|
|
5f1334660e | ||
|
|
ec381f43ef | ||
|
|
eba843535b | ||
|
|
4fa286bd60 | ||
|
|
7293b0f8dd | ||
|
|
0279ee1985 | ||
|
|
83053c60f9 | ||
|
|
ad28e5484c | ||
|
|
b91d629b90 | ||
|
|
96df3a0f35 | ||
|
|
de8fb5e2d0 | ||
|
|
51d79c7626 | ||
|
|
f7c22d2480 | ||
|
|
b117a4a19c | ||
|
|
4955837518 | ||
|
|
0e9cf76592 | ||
|
|
368a341b76 | ||
|
|
5cc41a9115 | ||
|
|
368ce83380 | ||
|
|
683b79c9a0 | ||
|
|
81be5e25f7 | ||
|
|
e8e1684694 | ||
|
|
d13ecde7b6 | ||
|
|
08c3af405e | ||
|
|
0571f3e653 | ||
|
|
f351512a78 | ||
|
|
315b898d7c |
395
.gitattributes
vendored
@@ -1,395 +0,0 @@
|
||||
thermion_dart/native/lib/macos/debug/libbackendtest_combined.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libfilabridge.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libgltfio_core.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libibl-lite.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/libcamutils.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/libgeometry_combined.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/ios/libbackend.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/ios/libuberarchive.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/libbasis_transcoder.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/libgeometry.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/libmikktspace.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/ios/libzstd.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libcivetweb.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libsdl2.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/libmeshoptimizer.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libmathio.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/ios/libbasis_transcoder.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/libfilament-iblprefilter.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libmatdbg_combined.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libspirv-cross-msl.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libtinyexr.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libzstd.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/ios/libshaders.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libSPIRV-Tools.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libgeometry.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libimageio.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libOGLCompiler.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libSPIRV-Tools-diff.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/libfilamat_combined.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/libfilameshio.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/libmathio.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/libshaders.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libassimp.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libmatlang.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libibl.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libmikktspace.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/libmatdbg_combined.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/swift/ThermionDartTexture.h filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libfilamat_combined.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libfilament.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/libibl.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/libstb.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/libuberzlib.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libbasis_encoder.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libimgui.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/libdracodec.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/libimageio.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/ios/libfilament.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/ios/libstb.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libbackend_test.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libgetopt.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libgtest.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/libfilabridge.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/libmatdbg_resources.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/libuberarchive.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/ios/libfilaflat.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libSPIRV.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libpng.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/libvkshaders.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/ios/libutils.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libimage.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libmatdbg_resources.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libsuzanne-resources.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libfilamat_lite.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libgeometry_combined.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libshaders.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libsmol-v.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/libmath.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/ios/libgeometry.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/ios/libmeshoptimizer.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/ios/libpng16.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libbenchmark_main.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libbluegl.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libuberzlib.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/swift/build.sh filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/ios/libdracodec.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/ios/libibl.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libktxreader.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/libbluegl.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/libfilaflat.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/libpng.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libbluevk.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libfilaflat.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libfilamat.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libglslang.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/libcivetweb.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/ios/libktxreader.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libbenchmark.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libgltf-demo-resources.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/libgltfio_core.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libSPIRV-Tools-lint.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libdracodec.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/libfilagui.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/ios/libmikktspace.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libsample-resources.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libOSDependent.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libspirv-cross-glsl.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/libgltfio.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/ios/libimage.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/ios/libpng.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libgltfio.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/libmatdbg.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libspirv-cross-core.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libstb.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/libfilamat.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/libfilamat_lite.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/ios/libfilamat.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/ios/libviewer.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/libutils.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/ios/libvkshaders.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libcamutils.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libbackend.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libfilagui.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libmath.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libviewer.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/swift/libdartfilamenttexture.dylib filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/ios filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/ios/libfilament-iblprefilter.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/ios/libuberzlib.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libutils.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/libviewer.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/ios/libfilamat_lite.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/ios/libfilameshio.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/ios/libcivetweb.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libbasis_transcoder.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libSPIRV-Tools-link.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libvkshaders.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libz.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/libbluevk.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/libtinyexr.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/libzstd.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/ios/libcamutils.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/ios/libfilabridge.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libmatdbg.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/libimage.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/libsmol-v.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/ios/libgltfio_core.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/ios/libsmol-v.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libfilament-iblprefilter.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/libfilament.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libmeshoptimizer.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/libbackend.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/libibl-lite.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/libktxreader.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libfilameshio.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/swift filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/ios/libtinyexr.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libSPIRV-Tools-reduce.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/debug/libuberarchive.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/ios/libibl-lite.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/ios/libimageio.a filter=lfs diff=lfs merge=lfs -text
|
||||
materials/Makefile filter=lfs diff=lfs merge=lfs -text
|
||||
materials/gizmo.filamat filter=lfs diff=lfs merge=lfs -text
|
||||
materials/gizmo.mat filter=lfs diff=lfs merge=lfs -text
|
||||
materials/image.filamat filter=lfs diff=lfs merge=lfs -text
|
||||
materials/image.mat filter=lfs diff=lfs merge=lfs -text
|
||||
materials/unlit_fade.mat filter=lfs diff=lfs merge=lfs -text
|
||||
materials/unlit_opaque.mat filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/arm64-v8a/libktxreader.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/armeabi-v7a/libcamutils.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/armeabi-v7a/libuberzlib.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86/libutils.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86_64/libdracodec.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/arm64-v8a/libbackend.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/arm64-v8a/libibl.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/arm64-v8a/libmikktspace.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/armeabi-v7a/libzstd.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86/libzstd.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86_64/libfilament.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/arm64-v8a/libmeshoptimizer.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/arm64-v8a/libutils.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/arm64-v8a/libvkshaders.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/armeabi-v7a/libbluevk.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86_64/libgeometry.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86_64/libgltfio_core.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86_64/libstb.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/armeabi-v7a/libgltfio_core.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/armeabi-v7a/libimage.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86/libvkshaders.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86_64 filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/armeabi-v7a/libfilameshio.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/arm64-v8a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/arm64-v8a/libcivetweb.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/arm64-v8a/libfilabridge.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/arm64-v8a/libuberzlib.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/arm64-v8a/libfilamat.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/armeabi-v7a/libuberarchive.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86/libbackend.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86/libimage.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/armeabi-v7a/libsmol-v.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/armeabi-v7a/libutils.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86_64/libbasis_transcoder.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/arm64-v8a/libdracodec.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/arm64-v8a/libfilament.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/armeabi-v7a/libfilament-iblprefilter.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86/libfilamat.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86_64/libibl.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86_64/libvkshaders.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/arm64-v8a/libfilaflat.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86/libibl-lite.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86/libmeshoptimizer.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86/libsmol-v.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86_64/libfilaflat.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86/libfilaflat.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/arm64-v8a/libzstd.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/armeabi-v7a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/armeabi-v7a/libbackend.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/armeabi-v7a/libdracodec.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86/libcamutils.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86/libfilament.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86/libshaders.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86/libuberzlib.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/arm64-v8a/libbluevk.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/arm64-v8a/libcamutils.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/arm64-v8a/libsmol-v.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/armeabi-v7a/libcivetweb.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/arm64-v8a/libshaders.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86/libktxreader.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/arm64-v8a/libbasis_transcoder.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/arm64-v8a/libgltfio_core.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/armeabi-v7a/libfilaflat.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86_64/libuberarchive.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86_64/libfilameshio.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86/libbluevk.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86/libfilabridge.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86/libgltfio_core.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86/libibl.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86_64/libmikktspace.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86_64/libzstd.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86/libfilameshio.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86_64/libfilament-iblprefilter.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/armeabi-v7a/libshaders.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/armeabi-v7a/libstb.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86/libfilament-iblprefilter.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86_64/libimage.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/armeabi-v7a/libfilament.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/armeabi-v7a/libgeometry.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86/libdracodec.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/armeabi-v7a/libbasis_transcoder.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86/libgeometry.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86/libuberarchive.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86_64/libbluevk.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86_64/libfilabridge.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86_64/libuberzlib.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/arm64-v8a/libimage.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/arm64-v8a/libviewer.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/armeabi-v7a/libibl-lite.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86 filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/arm64-v8a/libibl-lite.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/arm64-v8a/libuberarchive.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/armeabi-v7a/libktxreader.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/arm64-v8a/libfilament-iblprefilter.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/arm64-v8a/libfilameshio.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/arm64-v8a/libstb.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/arm64-v8a/libgeometry.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86_64/libviewer.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86_64/libktxreader.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86_64/libmeshoptimizer.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/armeabi-v7a/libibl.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/armeabi-v7a/libmeshoptimizer.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86_64/libfilamat.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86_64/libibl-lite.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/armeabi-v7a/libvkshaders.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86_64/libcamutils.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86_64/libcivetweb.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86_64/libsmol-v.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86_64/libutils.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/armeabi-v7a/libfilabridge.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/armeabi-v7a/libmikktspace.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86/libmikktspace.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86_64/libbackend.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/armeabi-v7a/libfilamat.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86/libviewer.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/armeabi-v7a/libviewer.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86/libcivetweb.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86_64/libshaders.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86/libbasis_transcoder.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/android/x86/libstb.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_flutter_federated/thermion_flutter/example/web/thermion_dart.wasm filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_flutter_federated/thermion_flutter/example/web/main.unopt.wasm filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_flutter_federated/thermion_flutter/example/web/main.wasm filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_flutter_federated/thermion_flutter/example/web/thermion_dart.js filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_flutter_federated/thermion_flutter/example/web/thermion_dart.worker.js filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/release/libmatdbg_resources.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/release/libuberarchive.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/release/libbasis_transcoder.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/release/libcivetweb.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/release/libgltfio_core.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/release/libimage.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/release/libviewer.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/release/libvkshaders.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/release/libfilagui.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/release/libfilamat_combined.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/release/libshaders.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/release/libtinyexr.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/release/libmeshoptimizer.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/release/libcamutils.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/release/libfilamat.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/release/libibl.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/release/libmikktspace.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/release/libuberzlib.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/release/libutils.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/release/libzstd.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/release/libfilaflat.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/release/libfilamat_lite.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/release/libgltfio.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/release/libimageio.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/release/libgeometry_combined.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/release/libbluevk.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/release/libdracodec.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/release/libfilabridge.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/release/libfilameshio.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/release/libktxreader.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/release/libmatdbg.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/release/libmathio.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/release/libsmol-v.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/release/libbackend.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/release/libbluegl.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/release/libfilament.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/release/libgeometry.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/release/libstb.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/release/libpng.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/release/libfilament-iblprefilter.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/release/libibl-lite.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/release/libmatdbg_combined.a filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/native/lib/macos/release/libmath.a filter=lfs diff=lfs merge=lfs -text
|
||||
examples/assets/default_env/default_env_skybox.ktx filter=lfs diff=lfs merge=lfs -text
|
||||
examples/assets/shapes/shapes.gltf filter=lfs diff=lfs merge=lfs -text
|
||||
examples/assets/3.glb filter=lfs diff=lfs merge=lfs -text
|
||||
examples/assets/BusterDrone/textures/Boden_baseColor.jpg filter=lfs diff=lfs merge=lfs -text
|
||||
examples/assets/FlightHelmet/FlightHelmet.bin filter=lfs diff=lfs merge=lfs -text
|
||||
examples/assets/FlightHelmet/FlightHelmet.gltf filter=lfs diff=lfs merge=lfs -text
|
||||
examples/assets/FlightHelmet/FlightHelmet_occlusionRoughnessMetallic1.png filter=lfs diff=lfs merge=lfs -text
|
||||
examples/assets/default_env filter=lfs diff=lfs merge=lfs -text
|
||||
examples/assets/BusterDrone/textures/Boden_metallicRoughness.jpg filter=lfs diff=lfs merge=lfs -text
|
||||
examples/assets/FlightHelmet/FlightHelmet_baseColor3.png filter=lfs diff=lfs merge=lfs -text
|
||||
examples/assets/FlightHelmet/FlightHelmet_occlusionRoughnessMetallic4.png filter=lfs diff=lfs merge=lfs -text
|
||||
examples/assets/FlightHelmet/README.md filter=lfs diff=lfs merge=lfs -text
|
||||
examples/assets/default_env/default_env_ibl.ktx filter=lfs diff=lfs merge=lfs -text
|
||||
examples/assets/shapes/shapes.blend filter=lfs diff=lfs merge=lfs -text
|
||||
examples/assets/shapes/shapes.glb filter=lfs diff=lfs merge=lfs -text
|
||||
examples/assets/2.glb filter=lfs diff=lfs merge=lfs -text
|
||||
examples/assets/FlightHelmet filter=lfs diff=lfs merge=lfs -text
|
||||
examples/assets/FlightHelmet/FlightHelmet_normal.png filter=lfs diff=lfs merge=lfs -text
|
||||
examples/assets/FlightHelmet/FlightHelmet_normal1.png filter=lfs diff=lfs merge=lfs -text
|
||||
examples/assets/FlightHelmet/FlightHelmet_occlusionRoughnessMetallic3.png filter=lfs diff=lfs merge=lfs -text
|
||||
examples/assets/background.ktx filter=lfs diff=lfs merge=lfs -text
|
||||
examples/assets/BusterDrone/scene.bin filter=lfs diff=lfs merge=lfs -text
|
||||
examples/assets/FlightHelmet/FlightHelmet_baseColor4.png filter=lfs diff=lfs merge=lfs -text
|
||||
examples/assets/FlightHelmet/FlightHelmet_normal4.png filter=lfs diff=lfs merge=lfs -text
|
||||
examples/assets/shapes/shapes.blend1 filter=lfs diff=lfs merge=lfs -text
|
||||
examples/assets/solidcolor.mat filter=lfs diff=lfs merge=lfs -text
|
||||
examples/assets/BusterDrone/textures/body_baseColor.jpg filter=lfs diff=lfs merge=lfs -text
|
||||
examples/assets/BusterDrone/textures/body_emissive.jpg filter=lfs diff=lfs merge=lfs -text
|
||||
examples/assets/FlightHelmet/FlightHelmet_occlusionRoughnessMetallic.png filter=lfs diff=lfs merge=lfs -text
|
||||
examples/assets/FlightHelmet/FlightHelmet_occlusionRoughnessMetallic2.png filter=lfs diff=lfs merge=lfs -text
|
||||
examples/assets/solidcolor.filamat filter=lfs diff=lfs merge=lfs -text
|
||||
examples/assets/1.glb filter=lfs diff=lfs merge=lfs -text
|
||||
examples/assets/BusterDrone/scene.gltf filter=lfs diff=lfs merge=lfs -text
|
||||
examples/assets/FlightHelmet/FlightHelmet_normal2.png filter=lfs diff=lfs merge=lfs -text
|
||||
examples/assets/shapes/texture_test.png filter=lfs diff=lfs merge=lfs -text
|
||||
examples/assets/FlightHelmet/FlightHelmet_normal3.png filter=lfs diff=lfs merge=lfs -text
|
||||
examples/assets/BusterDrone/textures filter=lfs diff=lfs merge=lfs -text
|
||||
examples/assets/BusterDrone/textures/Boden_normal.jpg filter=lfs diff=lfs merge=lfs -text
|
||||
examples/assets/BusterDrone/textures/body_normal.jpg filter=lfs diff=lfs merge=lfs -text
|
||||
examples/assets/BusterDrone/textures/material_metallicRoughness.jpg filter=lfs diff=lfs merge=lfs -text
|
||||
examples/assets/FlightHelmet/FlightHelmet_baseColor.png filter=lfs diff=lfs merge=lfs -text
|
||||
examples/assets/FlightHelmet/FlightHelmet_baseColor2.png filter=lfs diff=lfs merge=lfs -text
|
||||
examples/assets/shapes filter=lfs diff=lfs merge=lfs -text
|
||||
examples/assets/shapes/shapes.bin filter=lfs diff=lfs merge=lfs -text
|
||||
examples/assets/BusterDrone filter=lfs diff=lfs merge=lfs -text
|
||||
examples/assets/BusterDrone/textures/body_metallicRoughness.jpg filter=lfs diff=lfs merge=lfs -text
|
||||
examples/assets/BusterDrone/textures/material_baseColor.jpg filter=lfs diff=lfs merge=lfs -text
|
||||
examples/assets/BusterDrone/textures/material_normal.jpg filter=lfs diff=lfs merge=lfs -text
|
||||
examples/assets/FlightHelmet/FlightHelmet_baseColor1.png filter=lfs diff=lfs merge=lfs -text
|
||||
examples/assets/background.png filter=lfs diff=lfs merge=lfs -text
|
||||
examples/flutter/example/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/shapes/shapes.glb filter=lfs diff=lfs merge=lfs -text
|
||||
examples/flutter/example/build/app/intermediates/assets/debug/flutter_assets/assets/2.glb filter=lfs diff=lfs merge=lfs -text
|
||||
examples/flutter/example/build/app/intermediates/assets/debug/flutter_assets/assets/3.glb filter=lfs diff=lfs merge=lfs -text
|
||||
examples/flutter/example/build/macos/Build/Products/Debug/example.app/Contents/Frameworks/App.framework/Versions/A/Resources/flutter_assets/assets/shapes/shapes.glb filter=lfs diff=lfs merge=lfs -text
|
||||
examples/flutter/example/build/app/intermediates/assets/debug/flutter_assets/assets/1.glb filter=lfs diff=lfs merge=lfs -text
|
||||
examples/flutter/example/build/app/intermediates/flutter/debug/flutter_assets/assets/shapes/shapes.glb filter=lfs diff=lfs merge=lfs -text
|
||||
examples/flutter/example/build/macos/Build/Products/Debug/example.app/Contents/Frameworks/App.framework/Versions/A/Resources/flutter_assets/assets/1.glb filter=lfs diff=lfs merge=lfs -text
|
||||
examples/flutter/example/build/macos/Build/Products/Debug/example.app/Contents/Frameworks/App.framework/Versions/A/Resources/flutter_assets/assets/3.glb filter=lfs diff=lfs merge=lfs -text
|
||||
thermion_dart/test/assets/shapes.glb filter=lfs diff=lfs merge=lfs -text
|
||||
examples/flutter/example/build/app/intermediates/flutter/debug/flutter_assets/assets/1.glb filter=lfs diff=lfs merge=lfs -text
|
||||
examples/flutter/example/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/1.glb filter=lfs diff=lfs merge=lfs -text
|
||||
examples/flutter/example/build/app/intermediates/flutter/debug/flutter_assets/assets/3.glb filter=lfs diff=lfs merge=lfs -text
|
||||
examples/flutter/example/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/2.glb filter=lfs diff=lfs merge=lfs -text
|
||||
examples/flutter/example/build/macos/Build/Products/Debug/App.framework/Versions/A/Resources/flutter_assets/assets/3.glb filter=lfs diff=lfs merge=lfs -text
|
||||
examples/flutter/example/build/macos/Build/Products/Debug/example.app/Contents/Frameworks/App.framework/Versions/A/Resources/flutter_assets/assets/2.glb filter=lfs diff=lfs merge=lfs -text
|
||||
examples/flutter/example/build/app/intermediates/assets/debug/flutter_assets/assets/shapes/shapes.glb filter=lfs diff=lfs merge=lfs -text
|
||||
examples/flutter/example/build/app/intermediates/flutter/debug/flutter_assets/assets/2.glb filter=lfs diff=lfs merge=lfs -text
|
||||
29
.github/actions/setup-build-env/action.yml
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
name: 'Setup Build Environment'
|
||||
description: 'Set up LLVM, MESA, and Flutter for builds'
|
||||
runs:
|
||||
using: 'composite'
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Setup LLVM
|
||||
uses: KyleMayes/install-llvm-action@v1
|
||||
with:
|
||||
version: "16"
|
||||
- name: Add LLVM to PATH
|
||||
shell: bash
|
||||
run: |
|
||||
echo "${{ github.workspace }}/llvm/bin" >> $GITHUB_PATH
|
||||
echo "LD_LIBRARY_PATH=${{ github.workspace }}/llvm/lib/x86_64-unknown-linux-gnu/" >> $GITHUB_ENV
|
||||
- name: Verify installation
|
||||
shell: bash
|
||||
run: clang --version
|
||||
- name: Install MESA
|
||||
shell: bash
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y xvfb
|
||||
sudo apt-get install -y libosmesa6-dev
|
||||
- name: Set up Flutter
|
||||
uses: subosito/flutter-action@v2
|
||||
with:
|
||||
channel: master
|
||||
architecture: X64
|
||||
183
.github/workflows/dart.yml
vendored
Normal file
@@ -0,0 +1,183 @@
|
||||
name: Dart
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ "develop" ]
|
||||
pull_request:
|
||||
branches: [ "develop" ]
|
||||
|
||||
jobs:
|
||||
compile-web-wasm:
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Setup CMake
|
||||
uses: jwlawson/actions-setup-cmake@v2
|
||||
with:
|
||||
cmake-version: '3.25.0' # or 'latest'
|
||||
- name: Setup Emscripten
|
||||
uses: mymindstorm/setup-emsdk@v14
|
||||
with:
|
||||
version: 'latest'
|
||||
- name: Compile web
|
||||
run: make wasm
|
||||
dart-tests:
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: ./.github/actions/setup-build-env
|
||||
- run: |
|
||||
cd thermion_dart
|
||||
dart pub get
|
||||
xvfb-run dart --enable-experiment=native-assets test \
|
||||
test/asset_tests.dart \
|
||||
test/instancing_tests.dart \
|
||||
test/light_tests.dart \
|
||||
test/entity_tests.dart \
|
||||
test/geometry_tests.dart \
|
||||
test/view_tests.dart \
|
||||
test/postprocessing_tests.dart \
|
||||
test/scene_tests.dart \
|
||||
test/picking_tests.dart \
|
||||
--concurrency=1
|
||||
#test/overlay_tests.dart \
|
||||
- name: Zip output
|
||||
run: zip -r output.zip ./thermion_dart/test/output
|
||||
- name: Upload test output
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: golden-images-${{ github.sha }}
|
||||
path: output.zip
|
||||
- name: Download golden images from previous run
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
gh run download 15990504915 \
|
||||
--name golden-images-4b9870244a529bf086280331d38c55e294425b4f \
|
||||
--dir ./thermion_dart/test/golden-downloads
|
||||
- name: Unzip golden images
|
||||
run: |
|
||||
cd thermion_dart/test/golden-downloads && unzip output.zip
|
||||
- name: Install Python dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install Pillow numpy
|
||||
- name: Compare golden images
|
||||
run: cd thermion_dart/test && python compare_goldens.py
|
||||
- name: Upload logs
|
||||
if: failure() || steps.build.outcome == 'failure'
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: build-logs
|
||||
path: |
|
||||
${{ github.workspace }}/thermion_dart/.dart_tool/thermion_dart/log/build.log
|
||||
retention-days: 5
|
||||
flutter_examples:
|
||||
name: flutter_examples
|
||||
runs-on: macos-latest
|
||||
defaults:
|
||||
run:
|
||||
working-directory: examples/flutter
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Set up Flutter
|
||||
uses: subosito/flutter-action@v2
|
||||
with:
|
||||
channel: master
|
||||
architecture: ARM64
|
||||
- name: Set up JDK 17
|
||||
uses: actions/setup-java@v4
|
||||
with:
|
||||
java-version: '17'
|
||||
distribution: 'temurin'
|
||||
- name: Install Android SDK
|
||||
uses: android-actions/setup-android@v3
|
||||
with:
|
||||
api-level: 34
|
||||
build-tools: 34.0.0
|
||||
cmake-version: 3.22.1
|
||||
ndk-version: 25.1.893739
|
||||
- name: Accept Android SDK licenses
|
||||
run: |
|
||||
yes | $ANDROID_SDK_ROOT/cmdline-tools/latest/bin/sdkmanager --licenses
|
||||
- run: cd quickstart && flutter pub get && flutter build macos
|
||||
# - run: cd quickstart && flutter pub get && flutter build ios
|
||||
- run: cd quickstart && flutter pub get && flutter build appbundle
|
||||
- run: cd quickstart && flutter build web
|
||||
- run: cd picking && flutter pub get && flutter build macos
|
||||
# - run: cd picking && flutter pub get && flutter build ios
|
||||
- run: cd picking && flutter pub get && flutter build appbundle
|
||||
- run: cd picking && flutter build web
|
||||
- name: Upload logs
|
||||
if: failure() || steps.build.outcome == 'failure'
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: build-logs
|
||||
path: |
|
||||
# D:\a\thermion\thermion\thermion_dart\.dart_tool\thermion_dart\log\build.log
|
||||
/Users/runner/work/thermion/thermion/thermion_dart/.dart_tool/thermion_dart/log/build.log
|
||||
retention-days: 5
|
||||
|
||||
|
||||
# thermion_dart:
|
||||
# name: thermion_dart
|
||||
# runs-on: macos-latest
|
||||
# defaults:
|
||||
# run:
|
||||
# working-directory: thermion_dart
|
||||
# steps:
|
||||
# - uses: actions/checkout@v4
|
||||
# - name: Set up Flutter
|
||||
# uses: subosito/flutter-action@v2
|
||||
# with:
|
||||
# channel: master
|
||||
# - run: flutter pub get
|
||||
# - run: dart --enable-experiment=native-assets test -j1 test/light_tests.dart
|
||||
# thermion_flutter:
|
||||
# name: thermion_flutter
|
||||
# runs-on: macos-13
|
||||
# defaults:
|
||||
# run:
|
||||
# working-directory: thermion_flutter/thermion_flutter # Adjust this path
|
||||
# steps:
|
||||
# - uses: actions/checkout@v4
|
||||
# - uses: dart-lang/setup-dart@9a04e6d73cca37bd455e0608d7e5092f881fd603
|
||||
# - name: Install dependencies
|
||||
# run: dart pub get
|
||||
#
|
||||
#
|
||||
##- uses: actions/checkout@v4
|
||||
#- name: Setup LLVM
|
||||
# uses: KyleMayes/install-llvm-action@v1
|
||||
# with:
|
||||
# version: "16"
|
||||
#- name: Add LLVM to PATH
|
||||
# run: |
|
||||
# echo "${{ github.workspace }}/llvm/bin" >> $GITHUB_PATH
|
||||
# echo "LD_LIBRARY_PATH=${{ github.workspace }}/llvm/lib/x86_64-unknown-linux-gnu/" >> $GITHUB_ENV
|
||||
#- name: Verify installation
|
||||
# run: clang --version
|
||||
#- name: Install MESA
|
||||
# run: |
|
||||
# sudo apt-get update
|
||||
# sudo apt-get install -y xvfb
|
||||
# sudo apt-get install -y libosmesa6-dev
|
||||
# #sudo apt-get -y build-dep mesa
|
||||
# #git clone https://gitlab.freedesktop.org/mesa/mesa.git
|
||||
# #cd mesa
|
||||
# #git checkout mesa-23.2.1
|
||||
# #mkdir -p out
|
||||
# #meson setup builddir/ -Dprefix="$(pwd)/out" -Dosmesa=true -Dglx=xlib -Dgallium-drivers=swrast -Dvulkan-drivers=swrast
|
||||
# #meson install -C builddir/
|
||||
#- name: Install Vulkan SDK and dependencies
|
||||
# run: |
|
||||
# wget -qO - https://packages.lunarg.com/lunarg-signing-key-pub.asc | sudo apt-key add -
|
||||
# sudo wget -qO /etc/apt/sources.list.d/lunarg-vulkan-jammy.list https://packages.lunarg.com/vulkan/lunarg-vulkan-jammy.list
|
||||
# sudo apt-get update
|
||||
# sudo apt-get install -y vulkan-sdk
|
||||
#- name: Set up Flutter
|
||||
# uses: subosito/flutter-action@v2
|
||||
# with:
|
||||
# channel: master
|
||||
# architecture: X64
|
||||
|
||||
2
.gitignore
vendored
@@ -1,5 +1,4 @@
|
||||
**/*/.cxx
|
||||
**/.github
|
||||
**/.idea
|
||||
.dart_tool
|
||||
**/.dart_tool
|
||||
@@ -10,3 +9,4 @@
|
||||
pubspec_overrides.yaml
|
||||
/pubspec.lock
|
||||
*.iml
|
||||
**/*/*.filamat
|
||||
|
||||
1666
CHANGELOG.md
76
Dockerfile
Normal file
@@ -0,0 +1,76 @@
|
||||
FROM ubuntu:22.04
|
||||
|
||||
# Set non-interactive mode for apt
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
# Install dependencies and add LLVM repository
|
||||
RUN apt-get update && apt-get install -y \
|
||||
git \
|
||||
build-essential \
|
||||
cmake \
|
||||
ninja-build \
|
||||
libgl1-mesa-dev \
|
||||
libc++-dev \
|
||||
libc++abi-dev \
|
||||
libsdl2-dev \
|
||||
libxi-dev \
|
||||
libtbb-dev \
|
||||
libassimp-dev \
|
||||
python3 \
|
||||
python3-pip \
|
||||
curl \
|
||||
wget \
|
||||
software-properties-common \
|
||||
lsb-release \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Add LLVM repository and install Clang 16
|
||||
RUN wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - \
|
||||
&& add-apt-repository "deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-16 main" \
|
||||
&& apt-get update \
|
||||
&& apt-get install -y \
|
||||
clang-16 \
|
||||
clang++-16 \
|
||||
libc++-16-dev \
|
||||
libc++abi-16-dev \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Set Clang 16 as default
|
||||
RUN update-alternatives --install /usr/bin/clang clang /usr/bin/clang-16 100 \
|
||||
&& update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-16 100
|
||||
|
||||
# Set environment variables for Clang
|
||||
ENV CC=clang-16
|
||||
ENV CXX=clang++-16
|
||||
|
||||
# Set working directory
|
||||
WORKDIR /opt
|
||||
|
||||
# Clone the filament repository
|
||||
RUN git clone https://github.com/google/filament.git
|
||||
|
||||
# Change to filament directory
|
||||
WORKDIR /opt/filament
|
||||
|
||||
# Checkout the specific version
|
||||
RUN git checkout v1.58.0
|
||||
|
||||
# Add CMAKE_POSITION_INDEPENDENT_CODE setting after project() line
|
||||
RUN sed -i '/^project(/a set(CMAKE_POSITION_INDEPENDENT_CODE ON)\nadd_compile_definitions(GLTFIO_USE_FILESYSTEM=0)' CMakeLists.txt
|
||||
RUN sed -i -e '/^#define GLTFIO_USE_FILESYSTEM 1$/i\
|
||||
#ifndef GLTFIO_USE_FILESYSTEM' -e '/^#define GLTFIO_USE_FILESYSTEM 1$/a\
|
||||
#endif' libs/gltfio/src/FFilamentAsset.h
|
||||
|
||||
# Make build script executable
|
||||
RUN chmod +x build.sh
|
||||
|
||||
# Run the build commands
|
||||
RUN ./build.sh -l -i -f -p desktop release
|
||||
RUN ./build.sh -l -i -f -p desktop release zstd
|
||||
RUN ./build.sh -l -i -f -p desktop release tinyexr
|
||||
RUN ./build.sh -l -i -f -p desktop release imageio
|
||||
RUN zip -r filament-v1.58.0-linux-release.zip /opt/filament/out/release/filament/lib/x86_64/*.a /opt/filament/out/cmake-release/third_party/tinyexr/tnt/libtinyexr.a /opt/filament/out/cmake-release/libs/imageio/libimageio.a
|
||||
# Set the working directory to the build output
|
||||
WORKDIR /opt/filament/out/release
|
||||
|
||||
CMD ["/bin/bash"]
|
||||
@@ -1,38 +0,0 @@
|
||||
# Thermion
|
||||
Thermion is a package for creating 3D applications with Dart and/or Flutter.
|
||||
|
||||
## Overview
|
||||
|
||||
### Packages
|
||||
The two most relevant Thermion packages are:- [thermion_dart], which contains all the code needed to create a viewer, - [thermion_flutter], which is a Flutter-only package that contains all the logic necessary to create/embed a rendering surface inside a Flutter app.
|
||||
By decoupling the Flutter-specific components from the Dart-only components, Thermion can be used for rendering in both Flutter and non-Flutter applications. As far as the latter is concerned, Thermion ships with examples for Javascript/WASM/HTML, and for CLI/headless mode on MacOS.
|
||||
|
||||
### pubspec.yaml
|
||||
If you are creating a Flutter application, add [thermion_flutter] as a dependency to your `pubspec.yaml`.
|
||||
```$ cd /path/to/your/flutter/project$ flutter pub add thermion_flutter```
|
||||
|
||||
### ThermionFlutterPlugin
|
||||
Create an instance of `ThermionFlutterPlugin` in your app.
|
||||
```dart
|
||||
class _MyAppState extends State<MyApp> {
|
||||
late ThermionFlutterPlugin _thermionFlutterPlugin; late Future<ThermionViewer> _thermionViewer;
|
||||
void initState() { _thermionFlutterPlugin = ThermionFlutterPlugin(); _thermionViewer = _thermionFlutterPlugin.createViewer(); }}```
|
||||
`ThermionFlutterPlugin` is a singleton, and mostly just handles creating a 3D rendering surface that can be embedded in a Flutter widget hierarchy. [ThermionViewer] is the interface for actually interacting with the scene (loading assets, manipulating the camera, and so on). Call `createViewer` on `ThermionFlutterPlugin` to obtain a reference to `ThermionViewer` (which is also a singleton).
|
||||
Note: `ThermionFlutterPlugin` and `ThermionViewer` were designed as separate classes so we can use `ThermionViewer` in non-Flutter apps.
|
||||
### ThermionWidget
|
||||
On most platforms[0], [ThermionWidget] is the widget where your rendered content (i.e. your viewport) will appear. This can be any size; the 3D viewport will be scaled to fit the dimensions on this widget. On most platforms, a [ThermionWidget] can be positioned above or below any other widget in the hierarchy and the Z-order will be preserved.
|
||||
```class _MyAppState extends State<MyApp> {
|
||||
late ThermionFlutterPlugin _thermionFlutterPlugin; late Future<ThermionViewer> _thermionViewer;
|
||||
void initState() { _thermionFlutterPlugin = ThermionFlutterPlugin(); _thermionViewer = _thermionFlutterPlugin.createViewer(); } Widget build(BuildContext context) { return Stack(children:[ Positioned.fill( child:ThermionWidget( plugin:_thermionFlutterPlugin ) ) ]); }}```
|
||||
|
||||
[0] Currently, the rendering surface on Windows and Web will always appear at the bottom of the application. You still need a ThermionWidget, but this only keeps track of the dimensions of your viewport and punches a transparent hole in the hierarchy; the actual rendering surface is attached beneath the Flutter window.
|
||||
`ThermionWidget` will not display the rendering surface (even an empty one) until the call to `createViewer` has been completed.
|
||||
- by default a Container will be rendered with solid red. If you want to change this, pass a widget as the initial paramer to the ThermionWidget constructor.on the second frame, ThermionWidget will pass its dimensions/pixel ratio to the FilamentController
|
||||
|
||||
You can then call createViewer to create:the rendering surface (on most platforms, a backing texture that will be registered with Flutter for use in a Texture widget)a rendering threada ThermionViewerFFI and an AssetManager, which will allow you to load assets/cameras/lighting/etc via the FilamentControllerafter an indeterminate number of frames, FilamentController will notify ThermionWidget when a rendering surface is available the viewportThermionWidget will replace the default initial Widget with the viewport (which will initially be solid black or white, depending on your platform).IMPORTANT: there will be a delay between adding a ThermionWidget, calling createViewer and the actual rendering viewport becoming available. This is why we fill ThermionWidget with red - to make it abundantly clear that you need to handle this asynchronous delay appropriately. Once createViewer has completed, the viewport is available for rendering.
|
||||
Currently, the initial widget will also be displayed whenever the viewport is resized (including changing orientation on mobile and drag-to-resize on desktop). You probably want to change this from the default red.
|
||||
Congratulations! You now have a scene. It's completely empty, so you probably want to add something visible.
|
||||
|
||||
|
||||
|
||||
|
||||
201
LICENSE
Normal file
@@ -0,0 +1,201 @@
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright 2024 Nick Fisher
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
55
Makefile
@@ -1,32 +1,59 @@
|
||||
dart-web:
|
||||
cd thermion_dart/native/web; mkdir -p build && cd build && emcmake cmake .. && emmake make
|
||||
dart-web-clean:
|
||||
wasm:
|
||||
@if [ ! -f thermion_dart/native/web/lib/release/filament-v1.58.0-web-release.zip ]; then \
|
||||
echo "Downloading filament-v1.58.0-web-release.zip..."; \
|
||||
mkdir -p thermion_dart/native/web/lib/release; \
|
||||
curl -L -o thermion_dart/native/web/lib/release/filament-v1.58.0-web-release.zip \
|
||||
https://pub-c8b6266320924116aaddce03b5313c0a.r2.dev/filament-v1.58.0-web-release.zip; \
|
||||
echo "Extracting filament-v1.58.0-web-release.zip..."; \
|
||||
cd thermion_dart/native/web/lib/release && \
|
||||
unzip filament-v1.58.0-web-release.zip; \
|
||||
fi
|
||||
cd thermion_dart/native/web && \
|
||||
mkdir -p build && \
|
||||
cd build && \
|
||||
emcmake cmake .. && \
|
||||
emmake make
|
||||
wasm-clean:
|
||||
cd thermion_dart/native/web && rm -rf build
|
||||
dart-wasm-cli-example: dart-web-clean dart-web
|
||||
cd thermion_dart/examples/cli_wasm/bin && dart compile wasm example_cli.dart && node main.js
|
||||
dart-web-example: dart-web
|
||||
cp thermion_dart/native/web/build/build/out/thermion_dart* examples/web_wasm/bin
|
||||
cd thermion_dart/examples/web_wasm/bin && dart compile wasm example_web.dart
|
||||
wasm-example-web:
|
||||
cd examples/dart/js_wasm
|
||||
mkdir -p build
|
||||
dart compile js web/example.dart -o build/example.dart.js
|
||||
|
||||
flutter-example-web: dart-web-clean dart-web
|
||||
cd thermion_flutter_federated/thermion_flutter/example/web && dart compile wasm main.dart && cd .. && flutter build web --wasm --profile
|
||||
flutter-example-macos:
|
||||
cd thermion_flutter_federated/thermion_flutter/example/web && flutter run -d macos
|
||||
swift-bindings:
|
||||
swiftc -c thermion_dart/native/macos/ThermionTexture.swift -module-name swift_module -emit-objc-header-path thermion_dart/native/include/generated/ThermionTextureSwiftObjCAPI.h -emit-library -o thermion_dart/test/generated/libThermionTextureSwift.dylib
|
||||
cd thermion_dart/ && dart --enable-experiment=native-assets run ffigen --config ffigen/swift.yaml
|
||||
bindings:
|
||||
cd thermion_dart/ && dart --enable-experiment=native-assets run ffigen --config ffigen/native.yaml
|
||||
shared:
|
||||
cd thermion_dart/native && make
|
||||
|
||||
# We compile a small set of custom materials for various helpers (background image, gizmo, etc)
|
||||
# You must specify the `FILAMENT_PATH` environment variable, either the path /out/release
|
||||
# eg: FILAMENT_PATH=/path/to/filament/out/release/bin make materials
|
||||
#
|
||||
materials: FORCE
|
||||
ifndef FILAMENT_PATH
|
||||
@echo "FILAMENT_PATH is not set"
|
||||
else
|
||||
@echo "Using Filament build from ${FILAMENT_PATH}"
|
||||
${FILAMENT_PATH}/matc -a opengl -a metal -o materials/image.filamat materials/image.mat
|
||||
$(FILAMENT_PATH)/resgen -c -p image -x ios/include/material/ materials/image.filamat
|
||||
$(FILAMENT_PATH)/matc -a opengl -a metal -o materials/gizmo.filamat materials/gizmo.mat
|
||||
$(FILAMENT_PATH)/resgen -c -p gizmo -x ios/include/material/ materials/gizmo.filamat
|
||||
#rm materials/*.filamat
|
||||
./materials/build.sh
|
||||
endif
|
||||
|
||||
resources: FORCE
|
||||
ifndef FILAMENT_PATH
|
||||
@echo "FILAMENT_PATH is not set"
|
||||
else
|
||||
@echo "Using Filament build from ${FILAMENT_PATH}"
|
||||
@for gizmo in translation rotation; do \
|
||||
$(FILAMENT_PATH)/resgen -c -p $${gizmo}_gizmo_glb -x thermion_dart/native/include/resources assets/$${gizmo}_gizmo.glb || exit 1; \
|
||||
echo '#include "'$${gizmo}_gizmo_glb.h'"' | cat - thermion_dart/native/include/resources/$${gizmo}_gizmo_glb.c > thermion_dart/native/include/resources/$${gizmo}_gizmo_glb.c.new; \
|
||||
mv thermion_dart/native/include/resources/$${gizmo}_gizmo_glb.c.new thermion_dart/native/include/resources/$${gizmo}_gizmo_glb.c; \
|
||||
done
|
||||
endif
|
||||
|
||||
FORCE: ;
|
||||
|
||||
|
||||
54
README.md
@@ -1,20 +1,22 @@
|
||||

|
||||
|
||||
<p align="center">
|
||||
<a href="https://docs.page/nmfisher/thermion/quickstart">Quickstart (Flutter)</a> •
|
||||
<a href="https://docs.page/nmfisher/thermion">Documentation</a> •
|
||||
<a href="https://docs.page/nmfisher/thermion/examples">Showcase</a> •
|
||||
<a href="https://thermion.dev/quickstart">Quickstart (Flutter)</a> •
|
||||
<a href="https://thermion.dev/">Documentation</a> •
|
||||
<a href="https://thermion.dev/showcase">Showcase</a> •
|
||||
<a href="https://dartpad.thermion.dev/">Playground</a> •
|
||||
<a href="https://discord.gg/h2VdDK3EAQ">Discord</a>
|
||||
</p>
|
||||
|
||||
## Cross-platform 3D engine for Dart and Flutter.
|
||||
## Cross-platform 3D toolkit for Dart and Flutter.
|
||||
|
||||
<a href="https://pub.dev/packages/thermion_dart"><img src="https://img.shields.io/pub/v/thermion_dart?label=pub.dev&labelColor=333940&logo=dart&color=00589B" alt="pub"></a>
|
||||
<a href="https://github.com/nmfisher/thermion"><img src="https://img.shields.io/github/stars/nmfisher/flutter_filament?style=flat&label=stars&labelColor=333940&color=8957e5&logo=github" alt="github"></a>
|
||||
<a href="https://discord.gg/h2VdDK3EAQ"><img src="https://img.shields.io/discord/993167615587520602?logo=discord&logoColor=fff&labelColor=333940" alt="discord"></a>
|
||||
<a href="https://github.com/nmfisher/thermion"><img src="https://img.shields.io/github/contributors/nmfisher/flutter_filament?logo=github&labelColor=333940" alt="contributors"></a>
|
||||
|
||||
https://github.com/user-attachments/assets/b0c07b5a-6156-4e42-a09b-5f9bd85fbf32
|
||||
|
||||
### Features
|
||||
|
||||
- Supports iOS (arm64), MacOS (arm64/x64), Android (arm64), Windows (x64) (>= 10), Web/WASM
|
||||
@@ -22,9 +24,50 @@
|
||||
- camera/entity manipulation with mouse (desktop) and gestures (mobile)
|
||||
- skinning + morph animations
|
||||
|
||||
Uses the Filament PBR engine (currently v1.56.4).
|
||||
|
||||
### Quickstart (Flutter)
|
||||
|
||||
From the command line:
|
||||
|
||||
```bash
|
||||
flutter channel master
|
||||
flutter upgrade
|
||||
flutter config --enable-native-assets
|
||||
```
|
||||
|
||||
In your Flutter app:
|
||||
|
||||
```dart
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
body: Stack(children: [
|
||||
Positioned.fill(
|
||||
child: ViewerWidget(
|
||||
assetPath: "assets/cube.glb",
|
||||
skyboxPath: "assets/default_env_skybox.ktx",
|
||||
iblPath: "assets/default_env_ibl.ktx",
|
||||
transformToUnitCube: true,
|
||||
initialCameraPosition: Vector3(0, 0, 6),
|
||||
background: Colors.blue,
|
||||
manipulatorType: ManipulatorType.ORBIT,
|
||||
onViewerAvailable: (viewer) async {
|
||||
await Future.delayed(const Duration(seconds: 5));
|
||||
await viewer.removeSkybox();
|
||||
},
|
||||
initial: Container(
|
||||
color: Colors.red,
|
||||
),
|
||||
))]));
|
||||
}
|
||||
```
|
||||
|
||||
> the first time you build an app that consumes this package, the Dart native-assets build system will download static binaries from Cloudflare. This may take a few minutes (depending on which platform you are compiling for). These will be cached, so subsequent builds will be much faster.
|
||||
|
||||
### Sponsors, Contributors & Acknowledgments
|
||||
|
||||
Thermion uses the [Filament](https://github.com/google/filament) physically based rendering package under the hood.
|
||||
Thermion uses the [Filament](https://github.com/google/filament) Physically Based Rendering engine under the hood.
|
||||
|
||||
Special thanks to [odd-io](https://github.com/odd-io/) for sponsoring work on supporting Windows, raycasting, testing and documentation.
|
||||
|
||||
@@ -35,4 +78,5 @@ Thank you to the following people:
|
||||
- @daverin for MacOS library contributions
|
||||
- @LukasPoque for CI/refactoring work
|
||||
- @alexmercerind for his work on integrating ANGLE textures on Flutter Windows
|
||||
- @BrutalCoding for documentation fixes
|
||||
|
||||
|
||||
BIN
assets/rotation_gizmo.glb
Normal file
BIN
assets/translation_gizmo.glb
Normal file
17
docs.json
@@ -7,11 +7,24 @@
|
||||
"Getting Started",
|
||||
[
|
||||
["Overview", "/"],
|
||||
["Getting Started", "/getting_started"],
|
||||
["Quick Start", "/quickstart"],
|
||||
["Playground", "https://dartpad.thermion.dev"]
|
||||
["Viewer", "/viewer"],
|
||||
["Camera Manipulation", "/camera_manipulation"]
|
||||
]
|
||||
],
|
||||
["Misc.", [["Contributing", "/contributing"]]]
|
||||
["Misc.", [
|
||||
["Debugging", "/debugging"],
|
||||
["Playground", "https://dartpad.thermion.dev"],
|
||||
["Showcase", "/showcase"],
|
||||
["Windows", "/windows"],
|
||||
["Android", "/android"],
|
||||
["iOS", "/ios"],
|
||||
["Web", "/web"],
|
||||
["Linux", "/linux"],
|
||||
["Contributing", "/contributing"],
|
||||
["Discord", "https://discord.gg/h2VdDK3EAQ"]
|
||||
]]
|
||||
]
|
||||
|
||||
}
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
## Android
|
||||
|
||||
In release mode, you must add the following to your `app/build.gradle`:
|
||||
### Min SDK version
|
||||
|
||||
```
|
||||
buildTypes {
|
||||
release {
|
||||
shrinkResources false
|
||||
minifyEnabled false
|
||||
}
|
||||
Thermion requires Android SDK version 22, so change your `app/android/build.gradle` to match this version or higher:
|
||||
|
||||
```groovy
|
||||
defaultConfig {
|
||||
...
|
||||
minSdk = 22
|
||||
...
|
||||
}
|
||||
```
|
||||
```
|
||||
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
# Another Page
|
||||
@@ -1,10 +1,10 @@
|
||||
## Contributing
|
||||
|
||||
Thermion is an open source project and we welcome all contributions from every level of experience.
|
||||
Thermion is an open source project and all contributions are welcome, no matter the level of experience.
|
||||
|
||||
Please [join us on Discord](https://discord.gg/h2VdDK3EAQ) if you'd like some guidance or just want to chat.
|
||||
|
||||
##
|
||||
Note that the Thermion project uses [Melos](https://melos.invertase.dev/) to manage the repository.
|
||||
|
||||
We are now using [Melos](https://melos.invertase.dev/) to manage the repository. This lets us auto-generate changelogs & versioning from commit messages, so if you wish to submit a PR, please use [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/).
|
||||
This lets us auto-generate changelogs & versioning from commit messages, so if you wish to submit a PR, please use [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/).
|
||||
|
||||
|
||||
27
docs/debugging.mdx
Normal file
@@ -0,0 +1,27 @@
|
||||
# Debugging
|
||||
|
||||
If something is crashing or not working as expected, you can enable verbose logging and/or debug builds (particularly useful for debugging with lldb or getting legible stack traces):
|
||||
|
||||
Add a `hooks` section to your app's `pubspec.yaml`, e.g.
|
||||
```
|
||||
name: example_cli
|
||||
description: A sample command-line application.
|
||||
version: 1.0.0
|
||||
|
||||
environment:
|
||||
sdk: ^3.3.0
|
||||
|
||||
# Add the below
|
||||
hooks:
|
||||
user_defines:
|
||||
thermion_dart:
|
||||
mode: debug
|
||||
tracing: enabled
|
||||
```
|
||||
|
||||
After changing the `hooks` section, make sure you run `flutter clean` to propagate the changes correctly.
|
||||
|
||||
> [!CAUTION]
|
||||
> Debug builds won't work for Android. This is a known upstream issue with Filament.
|
||||
|
||||
Unless `mode: debug` is specified in your `pubspec.yaml`, Thermion will use release builds under the hood, even if your app is compiled/runing in debug mode.
|
||||
@@ -1,8 +0,0 @@
|
||||
# Examples
|
||||
Thermion is a package for creating 3D applications with Dart and/or Flutter.
|
||||
|
||||
## Polyvox
|
||||
|
||||
iOS app
|
||||
|
||||
## Nick Fisher (Personal Website)
|
||||
40
docs/getting_started.mdx
Normal file
@@ -0,0 +1,40 @@
|
||||
## Getting Started
|
||||
|
||||
Thermion currently requires the Flutter `master` channel with the `native-assets` experiment enabled.
|
||||
|
||||
1. Switch to Flutter master channel, upgrade Flutter, create a new project, then add `thermion_flutter` as a dependency
|
||||
|
||||
```bash
|
||||
$ flutter channel master
|
||||
$ flutter upgrade
|
||||
$ flutter config --enable-native-assets
|
||||
$ cd your_flutter_project
|
||||
$ flutter pub add thermion_flutter
|
||||
```
|
||||
|
||||
2. If running on iOS or MacOS, change the minimum deployment target to OSX 13
|
||||
|
||||
<Accordion title="Click to open iOS/MacOS instructions">
|
||||
|
||||
Make sure the `platform` entry refers to `13.0` in your Podfile.
|
||||
|
||||
In `macos/Podfile` (for macOS):
|
||||
```
|
||||
platform :osx, '13.0'
|
||||
```
|
||||
|
||||
In `ios/Podfile`, (for iOS):
|
||||
```
|
||||
platform :ios, '13.0'
|
||||
```
|
||||
|
||||
Then open XCode:
|
||||
```
|
||||
open macos/Runner.xcworkspace
|
||||
```
|
||||
|
||||
and change the minimum deployment target to 13.0:
|
||||
|
||||

|
||||
|
||||
</Accordion>
|
||||
BIN
docs/images/dartpad.thermion.dev_.png
Normal file
|
After Width: | Height: | Size: 489 KiB |
BIN
docs/images/nick-fisher.com.png
Normal file
|
After Width: | Height: | Size: 936 KiB |
@@ -4,6 +4,10 @@ Thermion is a framework for creating cross-platform 3D applications with Dart an
|
||||
|
||||
## Overview
|
||||
|
||||
Below is a general overview of how the Thermion packages are structured to ensure a clean separation between the general Dart components, and the Flutter specific components.
|
||||
|
||||
If you want a more detailed explanation of how to start rendering 3D content inside a Flutter app, [click here to view the quickstart page](/quickstart).
|
||||
|
||||
### Package structure
|
||||
|
||||
Thermion is divided into two packages:
|
||||
@@ -12,14 +16,45 @@ Thermion is divided into two packages:
|
||||
|
||||
With this structure, the Flutter-specific components are not coupled to the Dart components, meaning Thermion can be used for rendering in both Flutter and non-Flutter applications.
|
||||
|
||||
For example, Thermion ships with examples for rendering with Dart only (no Flutter) with a CLI/headless application on MacOS, and with a Javascript/WASM/HTML applicaiton in browsers.
|
||||
For example, Thermion ships with examples for rendering with Dart only (no Flutter) with a CLI/headless application on MacOS, and with a Javascript/WASM/HTML application in browsers.
|
||||
|
||||
`thermion_flutter` exports `thermion_dart`, so if you are working with a Flutter application, you will only need to import `thermion_fluttter`.
|
||||
|
||||
### ThermionViewer (`thermion_dart`)
|
||||
|
||||
// TODO
|
||||
The ThermionViewer class provides an API for creating and interacting with 3D scenes powered by the Filament rendering engine.
|
||||
|
||||
It allows loading 3D models in glTF format, adding lights and a skybox, manipulating the camera, animating objects, and more.
|
||||
|
||||
Key functionalities include:
|
||||
- Scene Management: Load and manipulate entities, lights, skyboxes, and background elements within a 3D scene.
|
||||
- Rendering Control: Manage rendering loop, frame rate, and post-processing effects like tone mapping and bloom.
|
||||
- Camera Control: Position and orient the camera, adjust focal length, and control exposure settings.
|
||||
- Animation: Play, pause, and manipulate skeletal and morph target animations.
|
||||
- Entity Manipulation: Transform entities (position, rotation, scale), set material properties, and manage parent-child relationships.
|
||||
- Collision Detection (experimental): Add collision components to entities and test for collisions within the scene.
|
||||
- Input Handling: Interact with the scene using touch gestures for panning, rotating, and zooming.
|
||||
- Developers use the ThermionViewer class to build and control the behavior of their 3D applications.
|
||||
|
||||
### ThermionFlutterPlugin
|
||||
|
||||
The ThermionFlutterPlugin class handles the platform-specific initialization required to embed a Filament rendering surface within a Flutter Widget.
|
||||
|
||||
This includes creating a texture and managing the application lifecycle to pause rendering when the app is inactive.
|
||||
|
||||
You will generally only need to interact with `ThermionFlutterPlugin` directly to create or dispose of a ThermionViewer.
|
||||
|
||||
### ThermionWidget (`thermion_flutter`)
|
||||
|
||||
// TODO
|
||||
`ThermionWidget` is a Flutter widget that displays the 3D content rendered by a ThermionViewer.
|
||||
|
||||
It handles creating and managing the underlying platform-specific texture that Filament renders to, and provides a way to embed this texture within the Flutter widget tree.
|
||||
|
||||
Key features of ThermionWidget include:
|
||||
- Texture Management: It creates, resizes, and destroys the ThermionFlutterTexture used to display the rendered content from the ThermionViewer.
|
||||
- Platform Adaption: It handles platform-specific differences, such as texture coordinate systems, to ensure consistent rendering across different platforms.
|
||||
- Initialization Handling: Displays a placeholder (configurable via the initial property) while the Filament texture is being initialized, providing a smoother user experience.
|
||||
- Seamless Integration: Integrates seamlessly within the Flutter widget tree, allowing developers to combine 2D and 3D content easily.
|
||||
- Resize Handling: It listens for resize events and automatically resizes the underlying texture to match, ensuring the 3D content scales correctly.
|
||||
|
||||
|
||||
|
||||
55
docs/ios.mdx
Normal file
@@ -0,0 +1,55 @@
|
||||
## iOS
|
||||
|
||||
### Min iOS version
|
||||
|
||||
Thermion requires a minimum iOS version of 13.0. When building a Flutter application, ensure your application's `ios/Podfile` contains the following:
|
||||
|
||||
```ruby
|
||||
platform :ios, '13.0'
|
||||
```
|
||||
|
||||
and in ios/Info.plist:
|
||||
|
||||
```xml
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
<string>13.0</string>
|
||||
```
|
||||
|
||||
When submitting to the App Store, you may encounter an error saying `thermion_dart.framework does not supported the minimum deployment target in Info.plist`.
|
||||
|
||||
This is because Flutter hardcodes a deployment target of iOS 12.0 when invoking the native assets build, which conflicts with actual requirement.
|
||||
|
||||
After running `flutter build ios` (but before archiving the build and submitting to the App Store), run the following script to replace the `MinimumOSVersion`:
|
||||
|
||||
```
|
||||
#!/bin/zsh
|
||||
|
||||
# Array of directories containing Info.plist files
|
||||
directories=(
|
||||
"./build/ios/iphoneos/Runner.app/Frameworks/thermion_dart.framework"
|
||||
"./build/ios/Release-iphoneos/Runner.app/Frameworks/thermion_dart.framework"
|
||||
"./build/native_assets/ios/thermion_dart.framework"
|
||||
)
|
||||
|
||||
# Loop through each directory
|
||||
for dir in "${directories[@]}"; do
|
||||
plist_path="$dir/Info.plist"
|
||||
|
||||
# Check if Info.plist exists in the directory
|
||||
if [[ -f "$plist_path" ]]; then
|
||||
echo "Processing: $plist_path"
|
||||
|
||||
# Use PlistBuddy to change the MinimumOSVersion
|
||||
/usr/libexec/PlistBuddy -c "Set :MinimumOSVersion 13.0" "$plist_path" 2>/dev/null
|
||||
|
||||
if [[ $? -eq 0 ]]; then
|
||||
echo "✓ Successfully updated version to 13.0"
|
||||
else
|
||||
echo "✗ Failed to update version in $plist_path"
|
||||
fi
|
||||
else
|
||||
echo "✗ Info.plist not found in $dir"
|
||||
fi
|
||||
done
|
||||
```
|
||||
|
||||
10
docs/linux.mdx
Normal file
@@ -0,0 +1,10 @@
|
||||
## Linux support
|
||||
|
||||
Currently, only the Dart package (`thermion_dart`) will work on Linux (primarily for the automated build/testing pipeline).
|
||||
|
||||
Filament has been built for Ubuntu 22.04; other distributions may work, but YMMV.
|
||||
|
||||
The Flutter package (`thermion_flutter`) won't work; it's missing the platform glue code necessary to set up the render target. Support will eventually be added, but there is currently no estimated timeline.
|
||||
|
||||
Contributions are welcome and it's actually not a lot of work. Join the Discord if you want to help out.
|
||||
|
||||
@@ -1,209 +1,197 @@
|
||||
## Quickstart (Flutter)
|
||||
# Quick Start
|
||||
|
||||
> You can find the entire project below in the [examples/flutter/quickstart](examples/flutter/quickstart) folder of the repository.
|
||||
If all you need is a quick and easy route to rendering a single 3D model in your Flutter application, start with `ViewerWidget`.
|
||||
|
||||
1. Switch to Flutter master channel, create a new project, then add `thermion_flutter` as a dependency
|
||||
This is a simplified, Flutter-only wrapper around the underlying 3D rendering API with sane defaults for most people.
|
||||
|
||||
```bash
|
||||
$ flutter channel master
|
||||
$ flutter config --enable-native-assets
|
||||
$ flutter create thermion_sample_project && cd thermion_sample_project
|
||||
$ flutter pub add thermion_flutter
|
||||
```
|
||||
`ViewerWidget` handles all the setup and configuration of the underlying Thermion API, including:
|
||||
- Loading 3D models (glTF assets)
|
||||
- Configuring skyboxes and image-based lighting
|
||||
- Setting up camera positions and manipulators
|
||||
- Managing the rendering lifecycle
|
||||
|
||||
2. If running on iOS or MacOS, change the minimum deployment target to OSX 13
|
||||
## Setup
|
||||
|
||||
<Accordion title="Click to iOS/MacOS instructions">
|
||||
Follow the steps listed in [Getting Started](./getting_started) to configure your Flutter installation and project.
|
||||
|
||||
Make sure the `platform` entry refers to `13.0` in your Podfile.
|
||||
|
||||
In `macos/Podfile` (for macOS):
|
||||
```
|
||||
platform :osx, '13.0'
|
||||
```
|
||||
|
||||
In `ios/Podfile`, (for iOS):
|
||||
```
|
||||
platform :ios, '13.0'
|
||||
```
|
||||
|
||||
Then open XCode:
|
||||
```
|
||||
open macos/Runner.xcworkspace
|
||||
```
|
||||
|
||||
and change the minimum deployment target to 13.0:
|
||||
|
||||

|
||||
|
||||
</Accordion>
|
||||
|
||||
2. Add a folder containing your assets (glTF model + skybox ktx) to your `pubspec.yaml` asset list
|
||||
|
||||
```yaml
|
||||
...
|
||||
flutter
|
||||
uses-material-design: true
|
||||
assets:
|
||||
- assets/
|
||||
```
|
||||
|
||||
3. Create an instance of `ThermionFlutterPlugin` in your app.
|
||||
## Basic Usage
|
||||
|
||||
```dart
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:thermion_flutter/thermion_flutter.dart';
|
||||
import 'path_to_your_viewer_widget.dart';
|
||||
|
||||
class _MyAppState extends State<MyApp> {
|
||||
late ThermionFlutterPlugin _thermionFlutterPlugin;
|
||||
late Future<ThermionViewer> _thermionViewer;
|
||||
void initState() {
|
||||
_thermionFlutterPlugin = ThermionFlutterPlugin();
|
||||
_thermionViewer = _thermionFlutterPlugin.createViewer();
|
||||
class MyApp extends StatelessWidget {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return MaterialApp(
|
||||
home: Scaffold(
|
||||
body: ViewerWidget(
|
||||
assetPath: 'assets/my_model.glb',
|
||||
initialCameraPosition: Vector3(0, 0, 5),
|
||||
manipulatorType: ManipulatorType.ORBIT,
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
## Properties
|
||||
|
||||
4. Add a `ThermionWidget` to your widget hierarchy
|
||||
| Property | Type | Default | Description |
|
||||
|----------|------|---------|-------------|
|
||||
| `initial` | `Widget` | Red decorated box | Widget to display while the viewer is loading |
|
||||
| `initialCameraPosition` | `Vector3` | `Vector3(0, 0, 5)` | The starting position for the camera (looking towards origin) |
|
||||
| `showFpsCounter` | `bool` | `false` | Whether to show an FPS counter overlay |
|
||||
| `assetPath` | `String?` | `null` | Path to the glTF asset to load |
|
||||
| `skyboxPath` | `String?` | `null` | Path to a KTX skybox image |
|
||||
| `iblPath` | `String?` | `null` | Path to a KTX image for image-based lighting |
|
||||
| `directLightType` | `LightType?` | `null` | Type of direct light to add to the scene |
|
||||
| `transformToUnitCube` | `bool` | `true` | If true, rescales the model to fit within a 1x1x1 cube |
|
||||
| `postProcessing` | `bool` | `true` | Enables ACES tone mapping and basic anti-aliasing |
|
||||
| `background` | `Color?` | `null` | Background color (not visible when skybox is provided) |
|
||||
| `destroyEngineOnUnload` | `bool` | `false` | If true, disposes the engine when widget is disposed |
|
||||
| `manipulatorType` | `ManipulatorType` | `ORBIT` | Type of camera control to use |
|
||||
| `onViewerAvailable` | `Future Function(ThermionViewer)?` | `null` | Callback when viewer is ready |
|
||||
|
||||
## Camera Manipulators
|
||||
|
||||
`ViewerWidget` supports three different camera manipulation modes:
|
||||
|
||||
- `ManipulatorType.NONE`: No camera controls, static view
|
||||
- `ManipulatorType.ORBIT`: Orbit controls (pinch to zoom, swipe to rotate)
|
||||
- `ManipulatorType.FREE_FLIGHT`: Free flight controls for unrestricted movement
|
||||
|
||||
Example:
|
||||
|
||||
```dart
|
||||
ViewerWidget(
|
||||
assetPath: 'assets/model.glb',
|
||||
manipulatorType: ManipulatorType.FREE_FLIGHT,
|
||||
)
|
||||
```
|
||||
|
||||
class _MyAppState extends State<MyApp> {
|
||||
## Lighting
|
||||
|
||||
You can set up lighting in multiple ways:
|
||||
|
||||
### Image-Based Lighting
|
||||
|
||||
```dart
|
||||
ViewerWidget(
|
||||
assetPath: 'assets/model.glb',
|
||||
iblPath: 'assets/environment.ktx',
|
||||
)
|
||||
```
|
||||
|
||||
### Direct Light
|
||||
|
||||
```dart
|
||||
ViewerWidget(
|
||||
assetPath: 'assets/model.glb',
|
||||
directLightType: LightType.SUN,
|
||||
)
|
||||
```
|
||||
|
||||
## Advanced Usage
|
||||
|
||||
### Accessing the Viewer
|
||||
|
||||
You can get access to the underlying `ThermionViewer` object for more advanced control:
|
||||
|
||||
```dart
|
||||
ViewerWidget(
|
||||
assetPath: 'assets/model.glb',
|
||||
onViewerAvailable: (viewer) async {
|
||||
// Now you can use the viewer directly
|
||||
final camera = await viewer.getActiveCamera();
|
||||
await camera.lookAt(Vector3(0, 1, 5));
|
||||
|
||||
late ThermionFlutterPlugin _thermionFlutterPlugin;
|
||||
late Future<ThermionViewer> _thermionViewer;
|
||||
void initState() {
|
||||
_thermionFlutterPlugin = ThermionFlutterPlugin();
|
||||
_thermionViewer = _thermionFlutterPlugin.initialize();
|
||||
}
|
||||
// Add custom lights, manipulate materials, etc.
|
||||
},
|
||||
)
|
||||
```
|
||||
|
||||
Widget build(BuildContext context) {
|
||||
return Stack(children:[
|
||||
Positioned.fill(
|
||||
child:ThermionWidget(
|
||||
plugin:_thermionFlutterPlugin
|
||||
)
|
||||
)
|
||||
]);
|
||||
}
|
||||
### Changing Manipulator at Runtime
|
||||
|
||||
The `manipulatorType` is the only property that can be changed after the widget is created:
|
||||
|
||||
```dart
|
||||
class _MyWidgetState extends State<MyWidget> {
|
||||
ManipulatorType _manipulatorType = ManipulatorType.ORBIT;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Column(
|
||||
children: [
|
||||
Expanded(
|
||||
child: ViewerWidget(
|
||||
assetPath: 'assets/model.glb',
|
||||
manipulatorType: _manipulatorType,
|
||||
),
|
||||
),
|
||||
Row(
|
||||
children: [
|
||||
ElevatedButton(
|
||||
onPressed: () {
|
||||
setState(() {
|
||||
_manipulatorType = ManipulatorType.ORBIT;
|
||||
});
|
||||
},
|
||||
child: Text('Orbit'),
|
||||
),
|
||||
ElevatedButton(
|
||||
onPressed: () {
|
||||
setState(() {
|
||||
_manipulatorType = ManipulatorType.FREE_FLIGHT;
|
||||
});
|
||||
},
|
||||
child: Text('Free Flight'),
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
4. Add a button to load the model when pressed
|
||||
## Limitations
|
||||
|
||||
- Only the `manipulatorType` property can be changed at runtime. For any other property changes, create a new widget.
|
||||
- The widget requires that you have the correct environment setup for Thermion (Flutter master channel with native assets enabled).
|
||||
|
||||
## Example
|
||||
|
||||
Here's a complete example showing how to use `ViewerWidget` with multiple configuration options:
|
||||
|
||||
```dart
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:thermion_flutter/thermion_flutter.dart';
|
||||
import 'package:vector_math/vector_math_64.dart';
|
||||
|
||||
...
|
||||
|
||||
class _MyAppState extends State<MyApp> {
|
||||
|
||||
...
|
||||
|
||||
bool _loaded = false;
|
||||
|
||||
Widget build(BuildContext context) {
|
||||
return Stack(children:[
|
||||
Positioned.fill(
|
||||
child:ThermionWidget(
|
||||
plugin:_thermionFlutterPlugin
|
||||
)
|
||||
),
|
||||
if (!_loaded)
|
||||
Center(
|
||||
child: ElevatedButton(
|
||||
child: const Text("Load"),
|
||||
onPressed: () async {
|
||||
// TODO
|
||||
_loaded = true;
|
||||
setState(() {});
|
||||
}))
|
||||
]);
|
||||
}}
|
||||
```
|
||||
|
||||
5. When the button is pressed, load a skybox, lighting and the glb asset
|
||||
|
||||
You will need to import the `dart:math` and `package:vector_math` libraries.
|
||||
|
||||
```dart
|
||||
import 'package:vector_math/vector_math_64.dart' as v;
|
||||
import 'dart:math';
|
||||
|
||||
...
|
||||
|
||||
class _MyAppState extends State<MyApp> {
|
||||
|
||||
...
|
||||
|
||||
Widget build(BuildContext context) {
|
||||
return Stack(children:[
|
||||
...
|
||||
if(!_loaded)
|
||||
Center(
|
||||
child: ElevatedButton(
|
||||
child: const Text("Load"),
|
||||
onPressed: () async {
|
||||
var viewer = await _thermionViewer;
|
||||
await viewer.loadIbl("assets/default_env_ibl.ktx");
|
||||
await viewer.loadSkybox("assets/default_env_skybox.ktx");
|
||||
await viewer.loadGlb("assets/cube.glb");
|
||||
|
||||
await viewer.setCameraPosition(0, 1, 10);
|
||||
await viewer.setCameraRotation(v.Quaternion.axisAngle(
|
||||
v.Vector3(1, 0, 0), -30 / 180 * pi) *
|
||||
v.Quaternion.axisAngle(v.Vector3(0, 1, 0), 15 / 180 * pi));
|
||||
await viewer.addLight(
|
||||
LightType.SUN, 7500, 50000, 0, 0, 0, 1, -1, -1);
|
||||
await viewer.setRendering(true);
|
||||
_loaded = true;
|
||||
setState(() {});
|
||||
}
|
||||
)
|
||||
)
|
||||
]);
|
||||
}
|
||||
class ModelViewer extends StatelessWidget {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
appBar: AppBar(title: Text('3D Model Viewer')),
|
||||
body: ViewerWidget(
|
||||
assetPath: 'assets/robot.glb',
|
||||
skyboxPath: 'assets/studio_skybox.ktx',
|
||||
iblPath: 'assets/studio_ibl.ktx',
|
||||
initialCameraPosition: Vector3(0, 1.5, 3),
|
||||
manipulatorType: ManipulatorType.ORBIT,
|
||||
showFpsCounter: true,
|
||||
background: Colors.grey,
|
||||
postProcessing: true,
|
||||
transformToUnitCube: true,
|
||||
onViewerAvailable: (viewer) async {
|
||||
// You can perform additional setup here
|
||||
print('Viewer is ready!');
|
||||
},
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Here, we've added a skybox (the background (cube) image rendered behind all other elements in the scene), image-based lighting (where an image is used to determine the direction and intensity of a light source) and a directional light (Sun).
|
||||
|
||||
Anything added to the scene is referred to as an "entity" (including lights and cameras).
|
||||
|
||||
Entities are always added to the scene at position (0,0,0).
|
||||
|
||||
The default scene camera is located at (0,0,0) (and is looking at -Z, or "into" the screen), so by adding a cube at (0,0,0), the camera will now be inside the cube.
|
||||
|
||||
We need to move the camera outside the cube so it's visible.
|
||||
|
||||
6. Change the camera orientation
|
||||
```dart
|
||||
var viewer = await _thermionViewer;
|
||||
await viewer.loadSkybox("assets/default_env_skybox.ktx");
|
||||
await viewer.loadGlb("assets/cube.glb");
|
||||
|
||||
await viewer.setCameraPosition(0, 1, 10);
|
||||
await viewer.setCameraRotation(v.Quaternion.axisAngle(
|
||||
v.Vector3(1, 0, 0), -30 / 180 * pi) *
|
||||
v.Quaternion.axisAngle(v.Vector3(0, 1, 0), 15 / 180 * pi));
|
||||
```
|
||||
|
||||
The cube still won't be visible until we add a light to the scene and tell Thermion to start rendering.
|
||||
|
||||
7. Add a light and turn rendering on
|
||||
```dart
|
||||
...
|
||||
await viewer.addLight(
|
||||
LightType.SUN, 7500, 50000, 0, 0, 0, 1, -1, -1);
|
||||
await viewer.setRendering(true);
|
||||
...
|
||||
````
|
||||
|
||||
8. Run the project
|
||||
```
|
||||
$ flutter run -d macos
|
||||
```
|
||||
|
||||

|
||||
|
||||
Your first Thermion project is complete!
|
||||
```
|
||||
31
docs/showcase.mdx
Normal file
@@ -0,0 +1,31 @@
|
||||
## Showcase
|
||||
|
||||
## KTX Viewer
|
||||
|
||||
https://ktxviewer.com
|
||||
|
||||
A basic HTML + Dart site for viewing KTX textures in browser.
|
||||
|
||||
## DartPad Playground
|
||||
|
||||
A custom DartPad that lets you experiment with Thermion from your browser (currently, only Chrome is supported).
|
||||
|
||||
[](https://dartpad.thermion.dev)
|
||||
|
||||
(Outdated, needs to be upgraded to Thermion `0.3.0`);
|
||||
|
||||
## mixreel (Flutter/Web)
|
||||
|
||||
Create 3D worlds and translate to AI video.
|
||||
|
||||
[](https://mixreel.ai)
|
||||
|
||||
## Nick Fisher
|
||||
|
||||
My personal website, where I create an interactive clone of myself with Avaturn & Cartesia (no Flutter, made with Thermion and the [Jaspr Dart UI framework](https://github.com/schultek/jaspr)).
|
||||
|
||||
[](https://nick-fisher.com)
|
||||
|
||||
|
||||
|
||||
|
||||
186
docs/viewer.mdx
Normal file
@@ -0,0 +1,186 @@
|
||||
## ThermionViewer (Flutter)
|
||||
|
||||
If you just want to display a 3D object in the viewport with some basic camera controls, use the [ViewerWidget described in the Quickstart section](./quickstart).
|
||||
|
||||
If you need want more fine-grained control
|
||||
|
||||
> You can find the entire project below in the [examples/flutter/viewer](https://github.com/nmfisher/thermion/tree/master/examples/flutter/viewer) folder of the repository.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
2. Add a folder containing your assets (glTF model + skybox ktx) to your `pubspec.yaml` asset list
|
||||
|
||||
```yaml
|
||||
...
|
||||
flutter
|
||||
assets:
|
||||
- assets/
|
||||
```
|
||||
|
||||
3. Create an instance of `ThermionFlutterPlugin` in your app.
|
||||
|
||||
```dart
|
||||
|
||||
class _MyAppState extends State<MyApp> {
|
||||
late Future<ThermionViewer> _thermionViewer;
|
||||
void initState() {
|
||||
ThermionFlutterPlugin.createViewer().then((viewer) {
|
||||
_thermionViewer = viewer;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
|
||||
4. Add a `ThermionWidget` to your widget hierarchy
|
||||
|
||||
```dart
|
||||
|
||||
class _MyAppState extends State<MyApp> {
|
||||
|
||||
ThermionViewer? _thermionViewer;
|
||||
void initState() {
|
||||
_thermionFlutterPlugin.createViewer().then((viewer) {
|
||||
setState(() {
|
||||
_thermionViewer = viewer;
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
Widget build(BuildContext context) {
|
||||
return Stack(children:[
|
||||
if(_thermionViewer != null)
|
||||
Positioned.fill(
|
||||
child:ThermionWidget(
|
||||
plugin:_thermionViewer!
|
||||
)
|
||||
)
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
4. Add a button to load the model when pressed
|
||||
|
||||
```dart
|
||||
|
||||
...
|
||||
|
||||
class _MyAppState extends State<MyApp> {
|
||||
|
||||
...
|
||||
|
||||
bool _loaded = false;
|
||||
|
||||
Widget build(BuildContext context) {
|
||||
return Stack(children:[
|
||||
if(_thermionViewer != null)
|
||||
Positioned.fill(
|
||||
child:ThermionWidget(
|
||||
plugin:_thermionViewer!
|
||||
)
|
||||
),
|
||||
if (!_loaded)
|
||||
Center(
|
||||
child: ElevatedButton(
|
||||
child: const Text("Load"),
|
||||
onPressed: () async {
|
||||
// TODO
|
||||
_loaded = true;
|
||||
setState(() {});
|
||||
}))
|
||||
]);
|
||||
}}
|
||||
```
|
||||
|
||||
5. When the button is pressed, load a skybox, lighting and the glb asset
|
||||
|
||||
You will need to import the `dart:math` and `package:vector_math` libraries.
|
||||
|
||||
```dart
|
||||
import 'package:vector_math/vector_math_64.dart' as v;
|
||||
import 'dart:math';
|
||||
|
||||
...
|
||||
|
||||
class _MyAppState extends State<MyApp> {
|
||||
|
||||
...
|
||||
|
||||
Widget build(BuildContext context) {
|
||||
return Stack(children:[
|
||||
...
|
||||
if(!_loaded)
|
||||
Center(
|
||||
child: ElevatedButton(
|
||||
child: const Text("Load"),
|
||||
onPressed: () async {
|
||||
var viewer = await _thermionViewer;
|
||||
await viewer.loadIbl("assets/default_env_ibl.ktx");
|
||||
await viewer.loadSkybox("assets/default_env_skybox.ktx");
|
||||
await viewer.loadGlb("assets/cube.glb");
|
||||
|
||||
await viewer.setCameraPosition(0, 1, 10);
|
||||
await viewer.setCameraRotation(v.Quaternion.axisAngle(
|
||||
v.Vector3(1, 0, 0), -30 / 180 * pi) *
|
||||
v.Quaternion.axisAngle(v.Vector3(0, 1, 0), 15 / 180 * pi));
|
||||
await viewer.addLight(
|
||||
LightType.SUN, 7500, 50000, 0, 0, 0, 1, -1, -1);
|
||||
await viewer.setRendering(true);
|
||||
_loaded = true;
|
||||
setState(() {});
|
||||
}
|
||||
)
|
||||
)
|
||||
]);
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Here, we've added a skybox (the background (cube) image rendered behind all other elements in the scene), image-based lighting (where an image is used to determine the direction and intensity of a light source) and a directional light (Sun).
|
||||
|
||||
Anything added to the scene is referred to as an "entity" (including lights and cameras).
|
||||
|
||||
Entities are always added to the scene at position (0,0,0).
|
||||
|
||||
The default scene camera is located at (0,0,0) (and is looking at -Z, or "into" the screen), so by adding a cube at (0,0,0), the camera will now be inside the cube.
|
||||
|
||||
We need to move the camera outside the cube so it's visible.
|
||||
|
||||
6. Change the camera orientation
|
||||
```dart
|
||||
var viewer = await _thermionViewer;
|
||||
await viewer.loadSkybox("assets/default_env_skybox.ktx");
|
||||
await viewer.loadGlb("assets/cube.glb");
|
||||
|
||||
await viewer.setCameraPosition(0, 1, 10);
|
||||
await viewer.setCameraRotation(v.Quaternion.axisAngle(
|
||||
v.Vector3(1, 0, 0), -30 / 180 * pi) *
|
||||
v.Quaternion.axisAngle(v.Vector3(0, 1, 0), 15 / 180 * pi));
|
||||
```
|
||||
|
||||
The cube still won't be visible until we add a light to the scene and tell Thermion to start rendering.
|
||||
|
||||
7. Add a light and turn rendering on
|
||||
```dart
|
||||
...
|
||||
await viewer.addLight(
|
||||
LightType.SUN, 7500, 50000, 0, 0, 0, 1, -1, -1);
|
||||
await viewer.setRendering(true);
|
||||
...
|
||||
````
|
||||
|
||||
8. Run the project
|
||||
```
|
||||
$ flutter run -d macos
|
||||
```
|
||||
|
||||
> You may experience a noticeable delay the very first time you run the project. Don't panic, it's not frozen! This is due to the build system downloading the prebuilt Filament binaries from Cloudflare, which can take some time (particularly on Windows). These binaries will be cached after first download, so subsequent runs will be much faster (though every time you run flutter clean, the binaries will be re-downloaded).
|
||||
|
||||

|
||||
|
||||
Your first Thermion project is complete!
|
||||
42
docs/web.mdx
Normal file
@@ -0,0 +1,42 @@
|
||||
## Web
|
||||
|
||||
Web support is still experimental and currently requires you to manually compile Thermion to WASM first.
|
||||
|
||||
Requirements:
|
||||
|
||||
1) GNU Make
|
||||
2) CMake
|
||||
3) Emscripten
|
||||
|
||||
From the project root directory
|
||||
|
||||
```
|
||||
thermion % ls -l
|
||||
total 272
|
||||
drwxr-xr-x 4 nickfisher staff 128 Jul 3 14:06 assets
|
||||
-rw-r--r-- 1 nickfisher staff 84532 Jul 3 14:06 CHANGELOG.md
|
||||
-rw-r--r-- 1 nickfisher staff 2349 Jul 3 14:06 Dockerfile
|
||||
drwxr-xr-x 19 nickfisher staff 608 Jul 3 14:06 docs
|
||||
-rw-r--r-- 1 nickfisher staff 748 Jul 3 14:06 docs.json
|
||||
drwxr-xr-x 7 nickfisher staff 224 Jan 8 17:01 examples
|
||||
-rw-r--r-- 1 nickfisher staff 11341 Oct 23 2024 LICENSE
|
||||
-rw-r--r-- 1 nickfisher staff 2161 Jul 3 14:06 Makefile
|
||||
drwxr-xr-x@ 13 nickfisher staff 416 Jul 3 14:06 materials
|
||||
-rw-r--r--@ 1 nickfisher staff 517 Oct 23 2024 melos_thermion_workspace.iml
|
||||
-rw-r--r-- 1 nickfisher staff 77 Oct 23 2024 melos.yaml
|
||||
-rw-r--r--@ 1 nickfisher staff 9865 Jul 1 13:03 pubspec.lock
|
||||
-rw-r--r-- 1 nickfisher staff 97 Jun 12 11:38 pubspec.yaml
|
||||
-rw-r--r-- 1 nickfisher staff 3355 Jul 3 14:06 README.md
|
||||
drwxr-xr-x@ 22 nickfisher staff 704 Jul 3 14:06 thermion_dart
|
||||
drwxr-xr-x 7 nickfisher staff 224 Jul 3 14:06 thermion_flutter
|
||||
thermion % make wasm
|
||||
```
|
||||
|
||||
### Flutter
|
||||
|
||||
Copy thermion_dart.js and thermion_dart.wasm to the `/web` folder for your target app.
|
||||
|
||||
|
||||
```
|
||||
flutter run -d chrome --web-header Cross-Origin-Embedder-Policy=require-corp --web-header Cross-Origin-Opener-Policy=same-origin
|
||||
```
|
||||
@@ -1,18 +1,6 @@
|
||||
## Windows
|
||||
|
||||
## pubspec.yaml
|
||||
|
||||
On Windows, you will need to add a custom version of `native_toolchain_c` to your `dependency_overrides`. This is currently needed to link static libraries when building a DLL.
|
||||
|
||||
```
|
||||
native_toolchain_c:
|
||||
git:
|
||||
url: git@github.com:nmfisher/native.git
|
||||
path: pkgs/native_toolchain_c
|
||||
ref: 99020084c4687be4c58c7115a167088c0441d1de
|
||||
```
|
||||
|
||||
This will eventually be fixed upstream in the `native_toolchain_c` package, so this should be a short-term/temporary issue only.
|
||||
If you're not a Thermion developer, you can ignore this.
|
||||
|
||||
## ANGLE build (not currently working)
|
||||
To support embedding GPU textures in Flutter (rather than copying to a CPU pixel buffer on every frame), we need to build a slightly customized version of Filament that uses GLES on Windows (rather than the default, which uses OpenGL).
|
||||
|
||||
5
examples/README.md
Normal file
@@ -0,0 +1,5 @@
|
||||
# Thermion Examples
|
||||
|
||||
This repository contains example Dart and Flutter projects for the Thermion rendering toolkit.
|
||||
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:4a1d72d69da8b933bde5453ef2000612b561f8ddfa536a7ad89288ef11eb876d
|
||||
size 1624
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:fe0151ced8fd8609f9692f3d62dbd30890dada97cb6995572e37c7e7b4440d86
|
||||
size 21304
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:0f8b793f6513cf83f80ce9c63c7b51d329908b1991f17ca642911634b15b32de
|
||||
size 34172
|
||||
|
Before Width: | Height: | Size: 131 B After Width: | Height: | Size: 531 KiB |
|
Before Width: | Height: | Size: 129 B After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 131 B After Width: | Height: | Size: 856 KiB |
|
Before Width: | Height: | Size: 132 B After Width: | Height: | Size: 1.4 MiB |
|
Before Width: | Height: | Size: 131 B After Width: | Height: | Size: 193 KiB |
|
Before Width: | Height: | Size: 132 B After Width: | Height: | Size: 3.7 MiB |
|
Before Width: | Height: | Size: 132 B After Width: | Height: | Size: 1.3 MiB |
|
Before Width: | Height: | Size: 131 B After Width: | Height: | Size: 500 KiB |
|
Before Width: | Height: | Size: 131 B After Width: | Height: | Size: 614 KiB |
|
Before Width: | Height: | Size: 131 B After Width: | Height: | Size: 457 KiB |
@@ -1,3 +1,755 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:7b05a4cf63ea1c614a9385cdb902c62bad324eccbb87a6c9e3370da2b6f36f2d
|
||||
size 14565
|
||||
{
|
||||
"accessors": [
|
||||
{
|
||||
"componentType": 5123,
|
||||
"count": 24408,
|
||||
"type": "SCALAR"
|
||||
},
|
||||
{
|
||||
"componentType": 5126,
|
||||
"count": 8468,
|
||||
"type": "VEC2"
|
||||
},
|
||||
{
|
||||
"componentType": 5126,
|
||||
"count": 8468,
|
||||
"type": "VEC3"
|
||||
},
|
||||
{
|
||||
"componentType": 5126,
|
||||
"count": 8468,
|
||||
"type": "VEC4"
|
||||
},
|
||||
{
|
||||
"componentType": 5126,
|
||||
"count": 8468,
|
||||
"type": "VEC3",
|
||||
"max": [
|
||||
0.131662,
|
||||
0.137638986,
|
||||
0.10078799
|
||||
],
|
||||
"min": [
|
||||
-0.131333,
|
||||
-0.028128,
|
||||
-0.137763992
|
||||
]
|
||||
},
|
||||
{
|
||||
"componentType": 5123,
|
||||
"count": 65688,
|
||||
"type": "SCALAR"
|
||||
},
|
||||
{
|
||||
"componentType": 5126,
|
||||
"count": 12552,
|
||||
"type": "VEC2"
|
||||
},
|
||||
{
|
||||
"componentType": 5126,
|
||||
"count": 12552,
|
||||
"type": "VEC3"
|
||||
},
|
||||
{
|
||||
"componentType": 5126,
|
||||
"count": 12552,
|
||||
"type": "VEC4"
|
||||
},
|
||||
{
|
||||
"componentType": 5126,
|
||||
"count": 12552,
|
||||
"type": "VEC3",
|
||||
"max": [
|
||||
0.11722149,
|
||||
0.196387976,
|
||||
0.132422984
|
||||
],
|
||||
"min": [
|
||||
-0.11722149,
|
||||
-0.196387976,
|
||||
-0.132422984
|
||||
]
|
||||
},
|
||||
{
|
||||
"componentType": 5123,
|
||||
"count": 2208,
|
||||
"type": "SCALAR"
|
||||
},
|
||||
{
|
||||
"componentType": 5126,
|
||||
"count": 436,
|
||||
"type": "VEC2"
|
||||
},
|
||||
{
|
||||
"componentType": 5126,
|
||||
"count": 436,
|
||||
"type": "VEC3"
|
||||
},
|
||||
{
|
||||
"componentType": 5126,
|
||||
"count": 436,
|
||||
"type": "VEC4"
|
||||
},
|
||||
{
|
||||
"componentType": 5126,
|
||||
"count": 436,
|
||||
"type": "VEC3",
|
||||
"max": [
|
||||
0.09527509,
|
||||
0.114654,
|
||||
-0.08429489
|
||||
],
|
||||
"min": [
|
||||
-0.0952748954,
|
||||
0.0551489964,
|
||||
-0.14295499
|
||||
]
|
||||
},
|
||||
{
|
||||
"componentType": 5123,
|
||||
"count": 60288,
|
||||
"type": "SCALAR"
|
||||
},
|
||||
{
|
||||
"componentType": 5126,
|
||||
"count": 17186,
|
||||
"type": "VEC2"
|
||||
},
|
||||
{
|
||||
"componentType": 5126,
|
||||
"count": 17186,
|
||||
"type": "VEC3"
|
||||
},
|
||||
{
|
||||
"componentType": 5126,
|
||||
"count": 17186,
|
||||
"type": "VEC4"
|
||||
},
|
||||
{
|
||||
"componentType": 5126,
|
||||
"count": 17186,
|
||||
"type": "VEC3",
|
||||
"max": [
|
||||
0.1572095,
|
||||
0.2716865,
|
||||
0.162181988
|
||||
],
|
||||
"min": [
|
||||
-0.1572095,
|
||||
-0.2716865,
|
||||
-0.162181988
|
||||
]
|
||||
},
|
||||
{
|
||||
"componentType": 5123,
|
||||
"count": 131574,
|
||||
"type": "SCALAR"
|
||||
},
|
||||
{
|
||||
"componentType": 5126,
|
||||
"count": 24148,
|
||||
"type": "VEC2"
|
||||
},
|
||||
{
|
||||
"componentType": 5126,
|
||||
"count": 24148,
|
||||
"type": "VEC3"
|
||||
},
|
||||
{
|
||||
"componentType": 5126,
|
||||
"count": 24148,
|
||||
"type": "VEC4"
|
||||
},
|
||||
{
|
||||
"componentType": 5126,
|
||||
"count": 24148,
|
||||
"type": "VEC3",
|
||||
"max": [
|
||||
0.1504075,
|
||||
0.328366965,
|
||||
0.173673
|
||||
],
|
||||
"min": [
|
||||
-0.1504075,
|
||||
-0.328366965,
|
||||
-0.173673
|
||||
]
|
||||
}
|
||||
],
|
||||
"asset": {
|
||||
"generator": "glTF Tools for Unity",
|
||||
"version": "2.0"
|
||||
},
|
||||
"bufferViews": [
|
||||
{
|
||||
"buffer": 0,
|
||||
"byteOffset": 0,
|
||||
"byteLength": 59806
|
||||
},
|
||||
{
|
||||
"buffer": 0,
|
||||
"byteOffset": 59808,
|
||||
"byteLength": 99674
|
||||
},
|
||||
{
|
||||
"buffer": 0,
|
||||
"byteOffset": 159484,
|
||||
"byteLength": 4875
|
||||
},
|
||||
{
|
||||
"buffer": 0,
|
||||
"byteOffset": 164360,
|
||||
"byteLength": 133545
|
||||
},
|
||||
{
|
||||
"buffer": 0,
|
||||
"byteOffset": 297908,
|
||||
"byteLength": 203914
|
||||
}
|
||||
],
|
||||
"buffers": [
|
||||
{
|
||||
"name": "FlightHelmet",
|
||||
"byteLength": 501824,
|
||||
"uri": "FlightHelmet.bin"
|
||||
}
|
||||
],
|
||||
"images": [
|
||||
{
|
||||
"name": "FlightHelmet_baseColor",
|
||||
"uri": "FlightHelmet_baseColor.png"
|
||||
},
|
||||
{
|
||||
"name": "FlightHelmet_occlusionRoughnessMetallic",
|
||||
"uri": "FlightHelmet_occlusionRoughnessMetallic.png"
|
||||
},
|
||||
{
|
||||
"name": "FlightHelmet_normal",
|
||||
"uri": "FlightHelmet_normal.png"
|
||||
},
|
||||
{
|
||||
"name": "FlightHelmet_baseColor1",
|
||||
"uri": "FlightHelmet_baseColor1.png"
|
||||
},
|
||||
{
|
||||
"name": "FlightHelmet_occlusionRoughnessMetallic1",
|
||||
"uri": "FlightHelmet_occlusionRoughnessMetallic1.png"
|
||||
},
|
||||
{
|
||||
"name": "FlightHelmet_normal1",
|
||||
"uri": "FlightHelmet_normal1.png"
|
||||
},
|
||||
{
|
||||
"name": "FlightHelmet_baseColor2",
|
||||
"uri": "FlightHelmet_baseColor2.png"
|
||||
},
|
||||
{
|
||||
"name": "FlightHelmet_occlusionRoughnessMetallic2",
|
||||
"uri": "FlightHelmet_occlusionRoughnessMetallic2.png"
|
||||
},
|
||||
{
|
||||
"name": "FlightHelmet_normal2",
|
||||
"uri": "FlightHelmet_normal2.png"
|
||||
},
|
||||
{
|
||||
"name": "FlightHelmet_baseColor3",
|
||||
"uri": "FlightHelmet_baseColor3.png"
|
||||
},
|
||||
{
|
||||
"name": "FlightHelmet_occlusionRoughnessMetallic3",
|
||||
"uri": "FlightHelmet_occlusionRoughnessMetallic3.png"
|
||||
},
|
||||
{
|
||||
"name": "FlightHelmet_normal3",
|
||||
"uri": "FlightHelmet_normal3.png"
|
||||
},
|
||||
{
|
||||
"name": "FlightHelmet_baseColor4",
|
||||
"uri": "FlightHelmet_baseColor4.png"
|
||||
},
|
||||
{
|
||||
"name": "FlightHelmet_occlusionRoughnessMetallic4",
|
||||
"uri": "FlightHelmet_occlusionRoughnessMetallic4.png"
|
||||
},
|
||||
{
|
||||
"name": "FlightHelmet_normal4",
|
||||
"uri": "FlightHelmet_normal4.png"
|
||||
}
|
||||
],
|
||||
"meshes": [
|
||||
{
|
||||
"primitives": [
|
||||
{
|
||||
"attributes": {
|
||||
"TEXCOORD_0": 1,
|
||||
"NORMAL": 2,
|
||||
"TANGENT": 3,
|
||||
"POSITION": 4
|
||||
},
|
||||
"indices": 0,
|
||||
"material": 0,
|
||||
"mode": 4,
|
||||
"extensions": {
|
||||
"KHR_draco_mesh_compression": {
|
||||
"bufferView": 0,
|
||||
"attributes": {
|
||||
"TEXCOORD_0": 0,
|
||||
"NORMAL": 1,
|
||||
"TANGENT": 2,
|
||||
"POSITION": 3
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"name": "GlassPlastic_low"
|
||||
},
|
||||
{
|
||||
"primitives": [
|
||||
{
|
||||
"attributes": {
|
||||
"TEXCOORD_0": 6,
|
||||
"NORMAL": 7,
|
||||
"TANGENT": 8,
|
||||
"POSITION": 9
|
||||
},
|
||||
"indices": 5,
|
||||
"material": 1,
|
||||
"mode": 4,
|
||||
"extensions": {
|
||||
"KHR_draco_mesh_compression": {
|
||||
"bufferView": 1,
|
||||
"attributes": {
|
||||
"TEXCOORD_0": 0,
|
||||
"NORMAL": 1,
|
||||
"TANGENT": 2,
|
||||
"POSITION": 3
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"name": "LeatherParts_low"
|
||||
},
|
||||
{
|
||||
"primitives": [
|
||||
{
|
||||
"attributes": {
|
||||
"TEXCOORD_0": 11,
|
||||
"NORMAL": 12,
|
||||
"TANGENT": 13,
|
||||
"POSITION": 14
|
||||
},
|
||||
"indices": 10,
|
||||
"material": 2,
|
||||
"mode": 4,
|
||||
"extensions": {
|
||||
"KHR_draco_mesh_compression": {
|
||||
"bufferView": 2,
|
||||
"attributes": {
|
||||
"TEXCOORD_0": 0,
|
||||
"NORMAL": 1,
|
||||
"TANGENT": 2,
|
||||
"POSITION": 3
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"name": "Lenses_low"
|
||||
},
|
||||
{
|
||||
"primitives": [
|
||||
{
|
||||
"attributes": {
|
||||
"TEXCOORD_0": 16,
|
||||
"NORMAL": 17,
|
||||
"TANGENT": 18,
|
||||
"POSITION": 19
|
||||
},
|
||||
"indices": 15,
|
||||
"material": 3,
|
||||
"mode": 4,
|
||||
"extensions": {
|
||||
"KHR_draco_mesh_compression": {
|
||||
"bufferView": 3,
|
||||
"attributes": {
|
||||
"TEXCOORD_0": 0,
|
||||
"NORMAL": 1,
|
||||
"TANGENT": 2,
|
||||
"POSITION": 3
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"name": "MetalParts_low"
|
||||
},
|
||||
{
|
||||
"primitives": [
|
||||
{
|
||||
"attributes": {
|
||||
"TEXCOORD_0": 21,
|
||||
"NORMAL": 22,
|
||||
"TANGENT": 23,
|
||||
"POSITION": 24
|
||||
},
|
||||
"indices": 20,
|
||||
"material": 4,
|
||||
"mode": 4,
|
||||
"extensions": {
|
||||
"KHR_draco_mesh_compression": {
|
||||
"bufferView": 4,
|
||||
"attributes": {
|
||||
"TEXCOORD_0": 0,
|
||||
"NORMAL": 1,
|
||||
"TANGENT": 2,
|
||||
"POSITION": 3
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"name": "RubberWood_low"
|
||||
}
|
||||
],
|
||||
"materials": [
|
||||
{
|
||||
"pbrMetallicRoughness": {
|
||||
"baseColorTexture": {
|
||||
"index": 0,
|
||||
"texCoord": 0
|
||||
},
|
||||
"metallicRoughnessTexture": {
|
||||
"index": 1,
|
||||
"texCoord": 0
|
||||
},
|
||||
"baseColorFactor": [
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"metallicFactor": 1,
|
||||
"roughnessFactor": 1
|
||||
},
|
||||
"normalTexture": {
|
||||
"index": 2,
|
||||
"texCoord": 0
|
||||
},
|
||||
"occlusionTexture": {
|
||||
"index": 1,
|
||||
"texCoord": 0
|
||||
},
|
||||
"name": "GlassPlasticMat",
|
||||
"emissiveFactor": [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"alphaMode": "OPAQUE",
|
||||
"doubleSided": false
|
||||
},
|
||||
{
|
||||
"pbrMetallicRoughness": {
|
||||
"baseColorTexture": {
|
||||
"index": 3,
|
||||
"texCoord": 0
|
||||
},
|
||||
"metallicRoughnessTexture": {
|
||||
"index": 4,
|
||||
"texCoord": 0
|
||||
},
|
||||
"baseColorFactor": [
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"metallicFactor": 1,
|
||||
"roughnessFactor": 1
|
||||
},
|
||||
"normalTexture": {
|
||||
"index": 5,
|
||||
"texCoord": 0
|
||||
},
|
||||
"occlusionTexture": {
|
||||
"index": 4,
|
||||
"texCoord": 0
|
||||
},
|
||||
"name": "LeatherPartsMat",
|
||||
"emissiveFactor": [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"alphaMode": "OPAQUE",
|
||||
"doubleSided": false
|
||||
},
|
||||
{
|
||||
"pbrMetallicRoughness": {
|
||||
"baseColorTexture": {
|
||||
"index": 6,
|
||||
"texCoord": 0
|
||||
},
|
||||
"metallicRoughnessTexture": {
|
||||
"index": 7,
|
||||
"texCoord": 0
|
||||
},
|
||||
"baseColorFactor": [
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"metallicFactor": 1,
|
||||
"roughnessFactor": 1
|
||||
},
|
||||
"normalTexture": {
|
||||
"index": 8,
|
||||
"texCoord": 0
|
||||
},
|
||||
"occlusionTexture": {
|
||||
"index": 7,
|
||||
"texCoord": 0
|
||||
},
|
||||
"alphaMode": "BLEND",
|
||||
"name": "LensesMat",
|
||||
"emissiveFactor": [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"doubleSided": false
|
||||
},
|
||||
{
|
||||
"pbrMetallicRoughness": {
|
||||
"baseColorTexture": {
|
||||
"index": 9,
|
||||
"texCoord": 0
|
||||
},
|
||||
"metallicRoughnessTexture": {
|
||||
"index": 10,
|
||||
"texCoord": 0
|
||||
},
|
||||
"baseColorFactor": [
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"metallicFactor": 1,
|
||||
"roughnessFactor": 1
|
||||
},
|
||||
"normalTexture": {
|
||||
"index": 11,
|
||||
"texCoord": 0
|
||||
},
|
||||
"occlusionTexture": {
|
||||
"index": 10,
|
||||
"texCoord": 0
|
||||
},
|
||||
"name": "MetalPartsMat",
|
||||
"emissiveFactor": [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"alphaMode": "OPAQUE",
|
||||
"doubleSided": false
|
||||
},
|
||||
{
|
||||
"doubleSided": true,
|
||||
"pbrMetallicRoughness": {
|
||||
"baseColorTexture": {
|
||||
"index": 12,
|
||||
"texCoord": 0
|
||||
},
|
||||
"metallicRoughnessTexture": {
|
||||
"index": 13,
|
||||
"texCoord": 0
|
||||
},
|
||||
"baseColorFactor": [
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"metallicFactor": 1,
|
||||
"roughnessFactor": 1
|
||||
},
|
||||
"normalTexture": {
|
||||
"index": 14,
|
||||
"texCoord": 0
|
||||
},
|
||||
"occlusionTexture": {
|
||||
"index": 13,
|
||||
"texCoord": 0
|
||||
},
|
||||
"name": "RubberWoodMat",
|
||||
"emissiveFactor": [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"alphaMode": "OPAQUE"
|
||||
}
|
||||
],
|
||||
"nodes": [
|
||||
{
|
||||
"mesh": 0,
|
||||
"name": "GlassPlastic_low"
|
||||
},
|
||||
{
|
||||
"mesh": 1,
|
||||
"translation": [
|
||||
0.000434499962,
|
||||
0.032592997,
|
||||
0.011676996
|
||||
],
|
||||
"name": "LeatherParts_low",
|
||||
"rotation": [
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"scale": [
|
||||
1,
|
||||
1,
|
||||
1
|
||||
]
|
||||
},
|
||||
{
|
||||
"mesh": 2,
|
||||
"name": "Lenses_low"
|
||||
},
|
||||
{
|
||||
"mesh": 3,
|
||||
"translation": [
|
||||
0.0331545,
|
||||
-0.1488645,
|
||||
-0.0242879968
|
||||
],
|
||||
"name": "MetalParts_low",
|
||||
"rotation": [
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"scale": [
|
||||
1,
|
||||
1,
|
||||
1
|
||||
]
|
||||
},
|
||||
{
|
||||
"mesh": 4,
|
||||
"translation": [
|
||||
-0.00190849893,
|
||||
-0.111985,
|
||||
-0.013313001
|
||||
],
|
||||
"name": "RubberWood_low",
|
||||
"rotation": [
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"scale": [
|
||||
1,
|
||||
1,
|
||||
1
|
||||
]
|
||||
},
|
||||
{
|
||||
"children": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"rotation": [
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"name": "FlightHelmet",
|
||||
"translation": [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"scale": [
|
||||
1,
|
||||
1,
|
||||
1
|
||||
]
|
||||
}
|
||||
],
|
||||
"scene": 0,
|
||||
"scenes": [
|
||||
{
|
||||
"nodes": [
|
||||
5
|
||||
]
|
||||
}
|
||||
],
|
||||
"textures": [
|
||||
{
|
||||
"source": 0
|
||||
},
|
||||
{
|
||||
"source": 1
|
||||
},
|
||||
{
|
||||
"source": 2
|
||||
},
|
||||
{
|
||||
"source": 3
|
||||
},
|
||||
{
|
||||
"source": 4
|
||||
},
|
||||
{
|
||||
"source": 5
|
||||
},
|
||||
{
|
||||
"source": 6
|
||||
},
|
||||
{
|
||||
"source": 7
|
||||
},
|
||||
{
|
||||
"source": 8
|
||||
},
|
||||
{
|
||||
"source": 9
|
||||
},
|
||||
{
|
||||
"source": 10
|
||||
},
|
||||
{
|
||||
"source": 11
|
||||
},
|
||||
{
|
||||
"source": 12
|
||||
},
|
||||
{
|
||||
"source": 13
|
||||
},
|
||||
{
|
||||
"source": 14
|
||||
}
|
||||
],
|
||||
"extensionsRequired": [
|
||||
"KHR_draco_mesh_compression"
|
||||
],
|
||||
"extensionsUsed": [
|
||||
"KHR_draco_mesh_compression"
|
||||
]
|
||||
}
|
||||
|
||||
|
Before Width: | Height: | Size: 132 B After Width: | Height: | Size: 2.6 MiB |
|
Before Width: | Height: | Size: 132 B After Width: | Height: | Size: 5.1 MiB |
|
Before Width: | Height: | Size: 131 B After Width: | Height: | Size: 806 KiB |
|
Before Width: | Height: | Size: 132 B After Width: | Height: | Size: 2.9 MiB |
|
Before Width: | Height: | Size: 132 B After Width: | Height: | Size: 3.8 MiB |
|
Before Width: | Height: | Size: 132 B After Width: | Height: | Size: 3.0 MiB |
|
Before Width: | Height: | Size: 132 B After Width: | Height: | Size: 5.4 MiB |
|
Before Width: | Height: | Size: 130 B After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 132 B After Width: | Height: | Size: 3.5 MiB |
|
Before Width: | Height: | Size: 132 B After Width: | Height: | Size: 3.5 MiB |
|
Before Width: | Height: | Size: 132 B After Width: | Height: | Size: 4.4 MiB |
|
Before Width: | Height: | Size: 132 B After Width: | Height: | Size: 5.1 MiB |
|
Before Width: | Height: | Size: 131 B After Width: | Height: | Size: 737 KiB |
|
Before Width: | Height: | Size: 132 B After Width: | Height: | Size: 3.6 MiB |
|
Before Width: | Height: | Size: 132 B After Width: | Height: | Size: 4.3 MiB |
@@ -1,3 +1,16 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:0bc81c711f74fdfd2ef56e34d747383444a3ab6a1ee52fe62cb5838e59b0be56
|
||||
size 545
|
||||
# Flight Helmet
|
||||
|
||||
## Screenshot
|
||||
|
||||

|
||||
|
||||
## License Information
|
||||
|
||||
Donated by Microsoft for glTF testing
|
||||
|
||||
[](http://creativecommons.org/publicdomain/zero/1.0/)
|
||||
To the extent possible under law, Microsoft has waived all copyright and related or neighboring rights to this asset.
|
||||
|
||||
Draco compression was done via Cesium tools on 27-03-2020 as follows.
|
||||
|
||||
gltf-pipeline -i FlightHelmet.gltf -o FlightHelmet.gltf -d -s --keep-unused-elements
|
||||
|
||||
|
Before Width: | Height: | Size: 131 B After Width: | Height: | Size: 572 KiB |
BIN
examples/assets/cube.bin
Normal file
BIN
examples/assets/cube.glb
Normal file
121
examples/assets/cube.gltf
Normal file
@@ -0,0 +1,121 @@
|
||||
{
|
||||
"asset":{
|
||||
"generator":"Khronos glTF Blender I/O v4.2.60",
|
||||
"version":"2.0"
|
||||
},
|
||||
"scene":0,
|
||||
"scenes":[
|
||||
{
|
||||
"name":"Scene",
|
||||
"nodes":[
|
||||
0
|
||||
]
|
||||
}
|
||||
],
|
||||
"nodes":[
|
||||
{
|
||||
"mesh":0,
|
||||
"name":"Cube"
|
||||
}
|
||||
],
|
||||
"materials":[
|
||||
{
|
||||
"doubleSided":true,
|
||||
"name":"Material",
|
||||
"pbrMetallicRoughness":{
|
||||
"baseColorFactor":[
|
||||
0.800000011920929,
|
||||
0.800000011920929,
|
||||
0.800000011920929,
|
||||
1
|
||||
],
|
||||
"metallicFactor":0,
|
||||
"roughnessFactor":0.5
|
||||
}
|
||||
}
|
||||
],
|
||||
"meshes":[
|
||||
{
|
||||
"name":"Cube",
|
||||
"primitives":[
|
||||
{
|
||||
"attributes":{
|
||||
"POSITION":0,
|
||||
"NORMAL":1,
|
||||
"TEXCOORD_0":2
|
||||
},
|
||||
"indices":3,
|
||||
"material":0
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"accessors":[
|
||||
{
|
||||
"bufferView":0,
|
||||
"componentType":5126,
|
||||
"count":24,
|
||||
"max":[
|
||||
1,
|
||||
1,
|
||||
1
|
||||
],
|
||||
"min":[
|
||||
-1,
|
||||
-1,
|
||||
-1
|
||||
],
|
||||
"type":"VEC3"
|
||||
},
|
||||
{
|
||||
"bufferView":1,
|
||||
"componentType":5126,
|
||||
"count":24,
|
||||
"type":"VEC3"
|
||||
},
|
||||
{
|
||||
"bufferView":2,
|
||||
"componentType":5126,
|
||||
"count":24,
|
||||
"type":"VEC2"
|
||||
},
|
||||
{
|
||||
"bufferView":3,
|
||||
"componentType":5123,
|
||||
"count":36,
|
||||
"type":"SCALAR"
|
||||
}
|
||||
],
|
||||
"bufferViews":[
|
||||
{
|
||||
"buffer":0,
|
||||
"byteLength":288,
|
||||
"byteOffset":0,
|
||||
"target":34962
|
||||
},
|
||||
{
|
||||
"buffer":0,
|
||||
"byteLength":288,
|
||||
"byteOffset":288,
|
||||
"target":34962
|
||||
},
|
||||
{
|
||||
"buffer":0,
|
||||
"byteLength":192,
|
||||
"byteOffset":576,
|
||||
"target":34962
|
||||
},
|
||||
{
|
||||
"buffer":0,
|
||||
"byteLength":72,
|
||||
"byteOffset":768,
|
||||
"target":34963
|
||||
}
|
||||
],
|
||||
"buffers":[
|
||||
{
|
||||
"byteLength":840,
|
||||
"uri":"cube.bin"
|
||||
}
|
||||
]
|
||||
}
|
||||
181
examples/assets/cube_texture.svg
Normal file
@@ -0,0 +1,181 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="600"
|
||||
height="600"
|
||||
viewBox="0 0 600 600"
|
||||
version="1.1"
|
||||
id="svg3369"
|
||||
sodipodi:docname="cube_texture.svg"
|
||||
inkscape:export-filename="cube_texture_512x512.png"
|
||||
inkscape:export-xdpi="81.919998"
|
||||
inkscape:export-ydpi="81.919998"
|
||||
inkscape:version="1.2.2 (b0a84865, 2022-12-01)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs3373" />
|
||||
<sodipodi:namedview
|
||||
id="namedview3371"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#000000"
|
||||
borderopacity="0.25"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
showgrid="false"
|
||||
inkscape:zoom="0.52625"
|
||||
inkscape:cx="374.34679"
|
||||
inkscape:cy="290.73634"
|
||||
inkscape:window-width="1390"
|
||||
inkscape:window-height="940"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="25"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg3369" />
|
||||
<rect
|
||||
width="600"
|
||||
height="600"
|
||||
fill="white"
|
||||
id="rect3333" />
|
||||
<!-- Grid -->
|
||||
<g
|
||||
stroke="gray"
|
||||
stroke-width="0.5"
|
||||
id="g3343">
|
||||
<line
|
||||
x1="0"
|
||||
y1="200"
|
||||
x2="600"
|
||||
y2="200"
|
||||
id="line3335" />
|
||||
<line
|
||||
x1="0"
|
||||
y1="400"
|
||||
x2="600"
|
||||
y2="400"
|
||||
id="line3337" />
|
||||
<line
|
||||
x1="200"
|
||||
y1="0"
|
||||
x2="200"
|
||||
y2="600"
|
||||
id="line3339" />
|
||||
<line
|
||||
x1="400"
|
||||
y1="0"
|
||||
x2="400"
|
||||
y2="600"
|
||||
id="line3341" />
|
||||
</g>
|
||||
<!-- Top face -->
|
||||
<rect
|
||||
x="200"
|
||||
y="0"
|
||||
width="200"
|
||||
height="200"
|
||||
fill="blue"
|
||||
fill-opacity="0.5"
|
||||
stroke="black"
|
||||
id="rect3345" />
|
||||
<text
|
||||
x="300"
|
||||
y="100"
|
||||
text-anchor="middle"
|
||||
dominant-baseline="middle"
|
||||
fill="black"
|
||||
font-size="24"
|
||||
id="text3347">Top</text>
|
||||
<!-- Left face -->
|
||||
<rect
|
||||
x="0"
|
||||
y="200"
|
||||
width="200"
|
||||
height="200"
|
||||
fill="cyan"
|
||||
fill-opacity="0.5"
|
||||
stroke="black"
|
||||
id="rect3349" />
|
||||
<text
|
||||
x="100"
|
||||
y="300"
|
||||
text-anchor="middle"
|
||||
dominant-baseline="middle"
|
||||
fill="black"
|
||||
font-size="24"
|
||||
id="text3351">Left</text>
|
||||
<!-- Front face -->
|
||||
<rect
|
||||
x="200"
|
||||
y="200"
|
||||
width="200"
|
||||
height="200"
|
||||
fill="red"
|
||||
fill-opacity="0.5"
|
||||
stroke="black"
|
||||
id="rect3353" />
|
||||
<text
|
||||
x="300"
|
||||
y="300"
|
||||
text-anchor="middle"
|
||||
dominant-baseline="middle"
|
||||
fill="black"
|
||||
font-size="24"
|
||||
id="text3355">Front</text>
|
||||
<!-- Right face -->
|
||||
<rect
|
||||
x="400"
|
||||
y="200"
|
||||
width="200"
|
||||
height="200"
|
||||
fill="purple"
|
||||
fill-opacity="0.5"
|
||||
stroke="black"
|
||||
id="rect3357" />
|
||||
<text
|
||||
x="500"
|
||||
y="300"
|
||||
text-anchor="middle"
|
||||
dominant-baseline="middle"
|
||||
fill="black"
|
||||
font-size="24"
|
||||
id="text3359">Right</text>
|
||||
<!-- Bottom face -->
|
||||
<rect
|
||||
x="200"
|
||||
y="400"
|
||||
width="200"
|
||||
height="200"
|
||||
fill="yellow"
|
||||
fill-opacity="0.5"
|
||||
stroke="black"
|
||||
id="rect3361" />
|
||||
<text
|
||||
x="300"
|
||||
y="500"
|
||||
text-anchor="middle"
|
||||
dominant-baseline="middle"
|
||||
fill="black"
|
||||
font-size="24"
|
||||
id="text3363">Bottom</text>
|
||||
<!-- Back face -->
|
||||
<rect
|
||||
x="400"
|
||||
y="400"
|
||||
width="200"
|
||||
height="200"
|
||||
fill="green"
|
||||
fill-opacity="0.5"
|
||||
stroke="black"
|
||||
id="rect3365" />
|
||||
<text
|
||||
x="500"
|
||||
y="500"
|
||||
text-anchor="middle"
|
||||
dominant-baseline="middle"
|
||||
fill="black"
|
||||
font-size="24"
|
||||
id="text3367">Back</text>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.7 KiB |
183
examples/assets/cube_texture2.svg
Normal file
@@ -0,0 +1,183 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="200"
|
||||
height="200"
|
||||
viewBox="0 0 1 1"
|
||||
version="1.1"
|
||||
id="svg10"
|
||||
sodipodi:docname="cube_texture2.svg"
|
||||
inkscape:export-filename="cube_texture_512x512.png"
|
||||
inkscape:export-xdpi="245.75999"
|
||||
inkscape:export-ydpi="245.75999"
|
||||
inkscape:version="1.4 (e7c3feb1, 2024-10-09)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs10" />
|
||||
<sodipodi:namedview
|
||||
id="namedview10"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#000000"
|
||||
borderopacity="0.25"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:zoom="1.5185118"
|
||||
inkscape:cx="255.18405"
|
||||
inkscape:cy="172.86662"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="964"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="25"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg10"
|
||||
showgrid="false" />
|
||||
<!-- Background Grid (optional, for visual aid) -->
|
||||
<rect
|
||||
x="0"
|
||||
y="0"
|
||||
width="1"
|
||||
height="1"
|
||||
fill="#f0f0f0"
|
||||
id="rect1" />
|
||||
<line
|
||||
x1="0.333"
|
||||
y1="0"
|
||||
x2="0.333"
|
||||
y2="1"
|
||||
stroke="#ccc"
|
||||
stroke-width="0.005"
|
||||
id="line1" />
|
||||
<line
|
||||
x1="0.666"
|
||||
y1="0"
|
||||
x2="0.666"
|
||||
y2="1"
|
||||
stroke="#ccc"
|
||||
stroke-width="0.005"
|
||||
id="line2" />
|
||||
<line
|
||||
y1="0.25"
|
||||
x1="0"
|
||||
y2="0.25"
|
||||
x2="1"
|
||||
stroke="#ccc"
|
||||
stroke-width="0.005"
|
||||
id="line3" />
|
||||
<line
|
||||
y1="0.5"
|
||||
x1="0"
|
||||
y2="0.5"
|
||||
x2="1"
|
||||
stroke="#ccc"
|
||||
stroke-width="0.005"
|
||||
id="line4" />
|
||||
<line
|
||||
y1="0.75"
|
||||
x1="0"
|
||||
y2="0.75"
|
||||
x2="1"
|
||||
stroke="#ccc"
|
||||
stroke-width="0.005"
|
||||
id="line5" />
|
||||
<!-- Front Face -->
|
||||
<rect
|
||||
x="0.333"
|
||||
y="0"
|
||||
width="0.333"
|
||||
height="0.25"
|
||||
fill="#ff0000"
|
||||
id="rect5" />
|
||||
<text
|
||||
x="0.5"
|
||||
y="0.125"
|
||||
text-anchor="middle"
|
||||
dominant-baseline="middle"
|
||||
font-size="0.1"
|
||||
fill="white"
|
||||
id="text5">Front</text>
|
||||
<!-- Back Face -->
|
||||
<rect
|
||||
x="0.333"
|
||||
y="0.5"
|
||||
width="0.333"
|
||||
height="0.25"
|
||||
fill="#00ff00"
|
||||
id="rect6" />
|
||||
<text
|
||||
x="0.5"
|
||||
y="0.625"
|
||||
text-anchor="middle"
|
||||
dominant-baseline="middle"
|
||||
font-size="0.1"
|
||||
fill="white"
|
||||
id="text6">Back</text>
|
||||
<!-- Top Face -->
|
||||
<rect
|
||||
x="0.666"
|
||||
y="0.25"
|
||||
width="0.333"
|
||||
height="0.25"
|
||||
fill="#0000ff"
|
||||
id="rect7" />
|
||||
<text
|
||||
x="0.833"
|
||||
y="0.375"
|
||||
text-anchor="middle"
|
||||
dominant-baseline="middle"
|
||||
font-size="0.1"
|
||||
fill="white"
|
||||
id="text7">Top</text>
|
||||
<!-- Bottom Face -->
|
||||
<rect
|
||||
x="0"
|
||||
y="0.25"
|
||||
width="0.333"
|
||||
height="0.25"
|
||||
fill="#ffff00"
|
||||
id="rect8" />
|
||||
<text
|
||||
x="0.15610458"
|
||||
y="0.37936932"
|
||||
text-anchor="middle"
|
||||
dominant-baseline="middle"
|
||||
font-size="0.0733811px"
|
||||
fill="#000000"
|
||||
id="text8"
|
||||
style="stroke-width:0.733811">Bottom</text>
|
||||
<!-- Right Face -->
|
||||
<rect
|
||||
x="0.333"
|
||||
y="0.25"
|
||||
width="0.333"
|
||||
height="0.25"
|
||||
fill="#ff00ff"
|
||||
id="rect9" />
|
||||
<text
|
||||
x="0.5"
|
||||
y="0.375"
|
||||
text-anchor="middle"
|
||||
dominant-baseline="middle"
|
||||
font-size="0.1"
|
||||
fill="white"
|
||||
id="text9">Right</text>
|
||||
<!-- Left Face -->
|
||||
<rect
|
||||
x="0.333"
|
||||
y="0.75"
|
||||
width="0.333"
|
||||
height="0.25"
|
||||
fill="#00ffff"
|
||||
id="rect10" />
|
||||
<text
|
||||
x="0.5"
|
||||
y="0.875"
|
||||
text-anchor="middle"
|
||||
dominant-baseline="middle"
|
||||
font-size="0.1"
|
||||
fill="black"
|
||||
id="text10">Left</text>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.7 KiB |
BIN
examples/assets/cube_with_morph_targets.glb
Normal file
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:0245800fa846c2a3c15cb1d2aa6ded86fcf8355e568907dcd50e073c589f85d6
|
||||
size 2095464
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:40379fcd881ca3729b0fa057f66b8fedbd8ab92b8e407bc3a4fd17c1a2b6e75e
|
||||
size 1572932
|
||||
BIN
examples/assets/green_12x12.png
Normal file
|
After Width: | Height: | Size: 312 B |
BIN
examples/assets/red_24x24.png
Normal file
|
After Width: | Height: | Size: 313 B |
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:5821c53850d84c5b2d0b39ad28e6cde94d8fc7e1bbb97d5d898c40733e2d4e99
|
||||
size 107424
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d9134594e40a4bad7601d0396bb5f2a7600656bda5d815b3cb2e855ba6c6c5e4
|
||||
size 1263808
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ab0cada556723be0d138d7b1cadb5e315a273524db0468e0c4255d8d2b0c1c2d
|
||||
size 1222992
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:6c58d82602dc9b4dabb63f378fecd7ecb9eaf6f5da5746552ec42dde4ec211d7
|
||||
size 121104
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:0c1d3eac0151a58c3f36bea0f636691559612fd2d5ce21bb3551d43e86043e26
|
||||
size 36741
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:b58c687c2687f5b3b576e4f5672981fde5657519f51dd331e6e671634c77640f
|
||||
size 29920
|
||||
@@ -1,3 +1,14 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2033d3f7f8e0af983d8ab237737b45db2ed476b9283c6b0fda6a6954e1a72dea
|
||||
size 294
|
||||
material {
|
||||
name : SolidColor,
|
||||
shadingModel : unlit,
|
||||
culling : none,
|
||||
featureLevel : 1,
|
||||
vertexDomain: object
|
||||
}
|
||||
|
||||
fragment {
|
||||
void material(inout MaterialInputs material) {
|
||||
prepareMaterial(material);
|
||||
material.baseColor = vec4(0.1f, 0.5f, 0.9f, 1.0f);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
# https://dart.dev/guides/libraries/private-files
|
||||
# Created by `dart pub`
|
||||
.dart_tool/
|
||||
output/**
|
||||
9
examples/dart/cli_headless/README.md
Normal file
@@ -0,0 +1,9 @@
|
||||
# cli_headless
|
||||
|
||||
A simple headless Dart CLI app using Thermion to render to a bitmap.
|
||||
|
||||
To run:
|
||||
`dart --enable-experiment=native-assets run bin/example.dart`
|
||||
|
||||
Currently, this will probably only work on a non-virtualized macOS host.
|
||||
|
||||
32
examples/dart/cli_headless/bin/example.dart
Normal file
@@ -0,0 +1,32 @@
|
||||
import 'dart:io';
|
||||
import 'dart:isolate';
|
||||
|
||||
import 'package:thermion_dart/thermion_dart.dart';
|
||||
import 'package:thermion_dart/src/filament/src/implementation/ffi_filament_app.dart';
|
||||
|
||||
void main() async {
|
||||
await FFIFilamentApp.create();
|
||||
final (width, height) = (500, 500);
|
||||
final sc = await FilamentApp.instance!.createHeadlessSwapChain(width, height);
|
||||
var viewer = ThermionViewerFFI();
|
||||
await viewer.initialized;
|
||||
|
||||
await FilamentApp.instance!.register(sc, viewer.view);
|
||||
|
||||
await viewer.view.setFrustumCullingEnabled(false);
|
||||
await viewer.setBackgroundColor(1, 0, 1, 1);
|
||||
await viewer.setViewport(width, height);
|
||||
final result = await FilamentApp.instance!.capture(
|
||||
sc,
|
||||
view: viewer.view,
|
||||
);
|
||||
|
||||
final bitmap = await pixelBufferToBmp(result.first.$2, width, height,
|
||||
hasAlpha: true, isFloat: true);
|
||||
|
||||
var outfile = File("output/render.bmp");
|
||||
outfile.parent.create();
|
||||
outfile.writeAsBytesSync(bitmap);
|
||||
await FilamentApp.instance!.destroy();
|
||||
Isolate.current.kill();
|
||||
}
|
||||
@@ -1,16 +1,19 @@
|
||||
name: example_cli
|
||||
description: A sample command-line application.
|
||||
version: 1.0.0
|
||||
# repository: https://github.com/my_org/my_repo
|
||||
|
||||
environment:
|
||||
sdk: ^3.3.0
|
||||
|
||||
# Add regular dependencies here.
|
||||
hooks:
|
||||
user_defines:
|
||||
thermion_dart:
|
||||
mode: debug
|
||||
tracing: enabled
|
||||
|
||||
dependencies:
|
||||
thermion_dart:
|
||||
thermion_dart:
|
||||
path: ../../../thermion_dart
|
||||
ffi:
|
||||
|
||||
dev_dependencies:
|
||||
ffigen: ^11.0.0
|
||||
@@ -1,2 +0,0 @@
|
||||
A sample command-line application with an entrypoint in `bin/`, library code
|
||||
in `lib/`, and example unit test in `test/`.
|
||||
@@ -1 +0,0 @@
|
||||
../../../assets
|
||||
@@ -1,46 +0,0 @@
|
||||
import 'dart:io';
|
||||
import 'package:thermion_dart/thermion_dart/compatibility/compatibility.dart';
|
||||
import 'package:thermion_dart/thermion_dart/swift/swift_bindings.g.dart';
|
||||
import 'package:thermion_dart/thermion_dart/compatibility/compatibility.dart';
|
||||
import 'package:thermion_dart/thermion_dart/utils/dart_resources.dart';
|
||||
import 'package:ffi/ffi.dart';
|
||||
import 'package:thermion_dart/thermion_dart.dart';
|
||||
|
||||
void main() async {
|
||||
var scriptDir = File(Platform.script.toFilePath()).parent.path;
|
||||
final lib = ThermionDartTexture1(
|
||||
DynamicLibrary.open("$scriptDir/libthermion_swift.dylib"));
|
||||
final object = ThermionDartTexture.new1(lib);
|
||||
object.initWithWidth_height_(500, 500);
|
||||
|
||||
final resourceLoader = calloc<ResourceLoaderWrapper>(1);
|
||||
var loadToOut = NativeCallable<
|
||||
Void Function(Pointer<Char>,
|
||||
Pointer<ResourceBuffer>)>.listener(DartResourceLoader.loadResource);
|
||||
|
||||
resourceLoader.ref.loadToOut = loadToOut.nativeFunction;
|
||||
var freeResource = NativeCallable<Void Function(ResourceBuffer)>.listener(
|
||||
DartResourceLoader.freeResource);
|
||||
resourceLoader.ref.freeResource = freeResource.nativeFunction;
|
||||
|
||||
var viewer = ThermionViewerFFI(resourceLoader: resourceLoader.cast<Void>());
|
||||
|
||||
await viewer.initialized;
|
||||
await viewer.createSwapChain(500, 500);
|
||||
await viewer.createRenderTarget(500, 500, object.metalTextureAddress);
|
||||
await viewer.updateViewportAndCameraProjection(500, 500);
|
||||
|
||||
var outDir = Directory("$scriptDir/output");
|
||||
if (outDir.existsSync()) {
|
||||
outDir.deleteSync(recursive: true);
|
||||
}
|
||||
outDir.createSync();
|
||||
|
||||
await viewer.setRecordingOutputDirectory(outDir.path);
|
||||
await viewer.setRecording(true);
|
||||
await viewer.loadSkybox(
|
||||
"file:///$scriptDir/assets/default_env/default_env_skybox.ktx");
|
||||
await Future.delayed(Duration(milliseconds: 16));
|
||||
await viewer.render();
|
||||
await viewer.dispose();
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
../../../../thermion_dart/native/lib/macos/swift/libthermion_swift.dylib
|
||||
|
Before Width: | Height: | Size: 46 KiB |
@@ -1,8 +0,0 @@
|
||||
import 'package:example_cli/example_cli.dart';
|
||||
import 'package:test/test.dart';
|
||||
|
||||
void main() {
|
||||
test('calculate', () {
|
||||
expect(calculate(), 42);
|
||||
});
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
A sample command-line application with an entrypoint in `bin/`, library code
|
||||
in `lib/`, and example unit test in `test/`.
|
||||
4
examples/dart/cli_wasm/bin/.gitignore
vendored
@@ -1,4 +0,0 @@
|
||||
example_cli.mjs
|
||||
example_cli.wasm
|
||||
example_cli.unopt.wasm
|
||||
node_modules/**/*
|
||||
@@ -1,98 +0,0 @@
|
||||
MAIN
|
||||
initializing
|
||||
gto uberarchive ptr
|
||||
create void ptr callback
|
||||
resolve
|
||||
try
|
||||
done, returning
|
||||
created
|
||||
got promise [object Promise]
|
||||
got fn ptr address 2720
|
||||
Calling create_filament_viewer_ffi
|
||||
Call complete
|
||||
Created viewer, waiting for initialization
|
||||
Creating WebGL context.
|
||||
Created WebGL context 2.0
|
||||
Made WebGL context current
|
||||
FEngine (32 bits) created at 0x1937d0 (threading is disabled)
|
||||
|
||||
[stack-gl], [ANGLE], [OpenGL ES 3.0 (WebGL 1.0 stack-gl 8.0.2)], [OpenGL ES GLSL ES 1.00 (WebGL GLSL ES 1.0 stack-gl)]
|
||||
|
||||
Feature level: 1
|
||||
Active workarounds:
|
||||
|
||||
Backend feature level: 1
|
||||
|
||||
FEngine feature level: 1
|
||||
|
||||
Set frame interval to 16.666666
|
||||
Setting tone mapping to ACES
|
||||
Bloom is disabled on WebGL builds as it causes instability with certain drivers. setBloom will be ignored
|
||||
View created
|
||||
Camera aperture 16.000000 shutter 0.008000 sensitivity 100.000000
|
||||
Created ubershader provider.
|
||||
Added imageEntity 6
|
||||
Got void ptr callback
|
||||
Set viewer to true
|
||||
Created viewer 1652064
|
||||
Initialied
|
||||
Loading GLB from buffer of length 116948
|
||||
Loaded glb
|
||||
Entities : [10, 11, 12]
|
||||
entityName : Cone
|
||||
Getting morpht arget names
|
||||
No insdtance
|
||||
Using asset instance
|
||||
Getting morpht arget names
|
||||
No insdtance
|
||||
Using asset instance
|
||||
Getting morpht arget names
|
||||
No insdtance
|
||||
Using asset instance
|
||||
Getting morpht arget names
|
||||
No insdtance
|
||||
Using asset instance
|
||||
Getting morpht arget names
|
||||
No insdtance
|
||||
Using asset instance
|
||||
Getting morpht arget names
|
||||
No insdtance
|
||||
Using asset instance
|
||||
Getting morpht arget names
|
||||
No insdtance
|
||||
Using asset instance
|
||||
Getting morpht arget names
|
||||
No insdtance
|
||||
Using asset instance
|
||||
Getting morpht arget names
|
||||
No insdtance
|
||||
Using asset instance
|
||||
morph targets : [Key 1, Key 2, Key 3, Key 4, Key 5, Key 6, Key 7, Key 8]
|
||||
entityName : Cube
|
||||
Getting morpht arget names
|
||||
No insdtance
|
||||
Using asset instance
|
||||
Getting morpht arget names
|
||||
No insdtance
|
||||
Using asset instance
|
||||
Getting morpht arget names
|
||||
No insdtance
|
||||
Using asset instance
|
||||
morph targets : [Key 1, Key 2]
|
||||
entityName : Cylinder
|
||||
Getting morpht arget names
|
||||
No insdtance
|
||||
Using asset instance
|
||||
Getting morpht arget names
|
||||
No insdtance
|
||||
Using asset instance
|
||||
Getting morpht arget names
|
||||
No insdtance
|
||||
Using asset instance
|
||||
Getting morpht arget names
|
||||
No insdtance
|
||||
Using asset instance
|
||||
Getting morpht arget names
|
||||
No insdtance
|
||||
Using asset instance
|
||||
morph targets : [Key 1, Key 2, Key 3, Key 4]
|
||||