Compare commits
1130 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| c1f6bcb83f | |||
| eca4f6d9bc | |||
| 802074fca3 | |||
| 0bb13e1d91 | |||
| db47531a6d | |||
|
|
48c6339ebb | ||
|
|
2dd34b288c | ||
|
|
0bc595f16f | ||
|
|
7abed93972 | ||
| 51feaa0730 | |||
| 8e69aa8bd6 | |||
| 90b2fded48 | |||
| 9125ffeb9e | |||
| 28980e5fbf | |||
| aab0d772a4 | |||
|
|
4b10d7057a | ||
|
|
85aed8c4d7 | ||
|
|
da08be42b4 | ||
|
|
056fea9a8c | ||
|
|
bf345f13ce | ||
|
|
a138c6b062 | ||
|
|
33e58c12cb | ||
|
|
094a6562b8 | ||
|
|
7f783bb7da | ||
|
|
b08f218f30 | ||
|
|
c6640be04a | ||
|
|
eff3c50d9c | ||
|
|
3fa099ad06 | ||
|
|
5e47a861f3 | ||
|
|
37b4b25ead | ||
|
|
edfd145226 | ||
|
|
763ede4bd9 | ||
|
|
284da341e1 | ||
|
|
53ed2431b5 | ||
|
|
b4ab39b3bf | ||
|
|
de61e3efb5 | ||
|
|
29fb36fcd6 | ||
|
|
78f0ff75f2 | ||
|
|
6efd456eaf | ||
|
|
e0c96c0cde | ||
|
|
ada269568a | ||
|
|
dd256ad518 | ||
|
|
12c8bb4f31 | ||
|
|
4e4d380267 | ||
|
|
448eb48c23 | ||
|
|
78d519cb9a | ||
|
|
43d11264f8 | ||
|
|
f126a83b79 | ||
|
|
bdd7bae459 | ||
|
|
3dc7546dd4 | ||
|
|
185151b025 | ||
|
|
8cdec15fa6 | ||
|
|
1b40775d62 | ||
|
|
45e82d21f4 | ||
|
|
5c37584eca | ||
|
|
674fda7375 | ||
| 6296e1a9eb | |||
| 1586bb0702 | |||
|
|
bf10d0949e | ||
|
|
d1c43ec1fe | ||
| edeaf6af09 | |||
|
|
dbd8297612 | ||
|
|
8d62a13cbc | ||
| 951edd95db | |||
| 9951211596 | |||
| 6d337464f7 | |||
|
|
5a05038a9b | ||
|
|
109d4423bb | ||
| d0b552d74a | |||
|
|
6c1e380a3e | ||
| 83512822b1 | |||
| ccb78103ec | |||
| 6e79ffea34 | |||
| 4f03d37a17 | |||
|
|
c57a1a7205 | ||
|
|
867ae2ceaa | ||
|
|
ef5d45874a | ||
|
|
169db79b2a | ||
|
|
9e4c1da032 | ||
|
|
d7df403e5e | ||
|
|
d3a50cdacb | ||
|
|
3cb74d48ca | ||
|
|
8633ed2124 | ||
|
|
2e10d776e9 | ||
|
|
4ac870f701 | ||
|
|
6144f6c74e | ||
|
|
edb6884942 | ||
|
|
62e329ac6e | ||
|
|
68dce7e4dd | ||
|
|
6479a3d3c6 | ||
|
|
e41c48f9e5 | ||
|
|
9cfcbfa9d2 | ||
|
|
bcd2b1f0f2 | ||
| 6fb8419b3c | |||
| a4272d6ca9 | |||
|
|
eb6010cba7 | ||
|
|
bd2add7edd | ||
|
|
986693757c | ||
|
|
5a23060e05 | ||
|
|
b92c18cf25 | ||
|
|
6a82eb114d | ||
|
|
97b37b3ce4 | ||
|
|
bbe54969b0 | ||
| 4654117d5e | |||
|
|
8164ce924f | ||
|
|
22911bbc45 | ||
|
|
cae2720585 | ||
|
|
90b6293bc2 | ||
|
|
d110237423 | ||
|
|
117f890612 | ||
|
|
a6a2fd2c66 | ||
|
|
a05ca12770 | ||
|
|
abe7785e94 | ||
|
|
2cedac8d96 | ||
|
|
ea854a0f7b | ||
|
|
d0817809ff | ||
|
|
95f2216f97 | ||
|
|
7e5edf1b33 | ||
|
|
c649a4f4b2 | ||
|
|
cd7233d559 | ||
| 6ff260d052 | |||
| 88d2b72822 | |||
|
|
3c74b315a8 | ||
|
|
f841575378 | ||
|
|
d90377ed62 | ||
|
|
c8d622bda9 | ||
|
|
fbf2d8f567 | ||
|
|
42687a792c | ||
|
|
5c43d35146 | ||
|
|
c1e1dee975 | ||
|
|
742d74a2d0 | ||
|
|
614ffa70a0 | ||
|
|
4b4331fd70 | ||
|
|
e221f7204b | ||
|
|
18fa8e1c47 | ||
|
|
2f02ec52ed | ||
|
|
9464f97e16 | ||
|
|
54467a4a5e | ||
|
|
3a9e175043 | ||
|
|
9dff048cb5 | ||
|
|
f376fd50a9 | ||
|
|
e27cf04f91 | ||
|
|
648504ceb1 | ||
|
|
e2f741cab9 | ||
|
|
766091045b | ||
|
|
47e1547d29 | ||
|
|
e2d9452994 | ||
|
|
eadb4411ff | ||
|
|
bdc87c7bc6 | ||
|
|
7606c9ac12 | ||
|
|
4240646ec7 | ||
|
|
214ec9f2b1 | ||
|
|
0fa53f860a | ||
|
|
27ac755bbe | ||
|
|
8ec138399a | ||
|
|
5b6859a66f | ||
|
|
bed1f6e9cc | ||
|
|
00055ef663 | ||
|
|
aa59a6faf7 | ||
|
|
e9835766bc | ||
|
|
d6eb647d59 | ||
|
|
b50f3fcb64 | ||
|
|
d6b4992991 | ||
|
|
fc561b5ec5 | ||
|
|
dacc0068e0 | ||
|
|
e7d2025010 | ||
|
|
b418ab5275 | ||
|
|
c1e782bb32 | ||
|
|
cfd2f42b0c | ||
|
|
e1a2a36978 | ||
|
|
793bc33b2f | ||
|
|
2109a2d261 | ||
|
|
89c7f4b0a3 | ||
|
|
d7ff9fdade | ||
|
|
9e50a39ebf | ||
|
|
7fc564a0ac | ||
|
|
8dfb564fb3 | ||
|
|
f8daff273a | ||
|
|
112e728465 | ||
|
|
057ec9d41e | ||
|
|
7fa4efcac5 | ||
|
|
6547e7ee9c | ||
|
|
907c593671 | ||
| 29868531ad | |||
| 95dfb6fdc6 | |||
|
|
9c9d560ce5 | ||
|
|
f1945552ab | ||
|
|
65ab42158d | ||
|
|
99841e2e8d | ||
|
|
73c30d3d89 | ||
|
|
ecd5559aad | ||
|
|
1fa83639c2 | ||
|
|
568719b615 | ||
|
|
74000fa766 | ||
|
|
1d63067614 | ||
|
|
85fd1389db | ||
|
|
cce042045e | ||
|
|
53e3cee196 | ||
|
|
6ee3b23261 | ||
|
|
1a77ba4552 | ||
|
|
bffb175a9b | ||
|
|
125a973ff2 | ||
|
|
462f75abd0 | ||
|
|
d95cd2f0be | ||
|
|
091f76bbf2 | ||
|
|
e8b60060ab | ||
|
|
cd637e8a7a | ||
|
|
9d8e75caa3 | ||
|
|
eee4e55cf0 | ||
|
|
0670c0bbd3 | ||
|
|
f462a2187f | ||
|
|
c2cbaeed30 | ||
|
|
e982a23ed3 | ||
|
|
f6feae5cf2 | ||
|
|
ba75fd5882 | ||
|
|
1eaf40f2f7 | ||
|
|
fe98a23cb4 | ||
|
|
77bf03128e | ||
|
|
8f49a492d8 | ||
| 8df3999f85 | |||
|
|
dd4bb2f7f1 | ||
|
|
496856d12e | ||
|
|
e97d683545 | ||
|
|
ae44d47043 | ||
|
|
8b88def9d0 | ||
|
|
fa97229830 | ||
|
|
1946caac6e | ||
|
|
6f5308126b | ||
|
|
6a0c734cec | ||
|
|
13b8863f0c | ||
|
|
f2aaad0048 | ||
|
|
55b441e9fa | ||
|
|
6fece4ca38 | ||
|
|
2fd9b4a62a | ||
|
|
077f7a3cd1 | ||
|
|
7da69f18d4 | ||
| 6c63c2f650 | |||
| 149b189629 | |||
|
|
fd8a8b5a4d | ||
| b1fd86e6b5 | |||
| 5e8fdf879d | |||
|
|
fa89e710d8 | ||
|
|
b51ba58063 | ||
|
|
057489e5b9 | ||
|
|
5bae695ae9 | ||
|
|
5b3ed1fbc3 | ||
|
|
f5092e5262 | ||
|
|
3bd6160c3b | ||
|
|
1d0a0a409d | ||
|
|
eb90ab84f2 | ||
|
|
6f37525674 | ||
|
|
eeb8a7ea41 | ||
|
|
df0b571c50 | ||
|
|
ec22427acd | ||
|
|
6c499e877f | ||
|
|
4d9407e4e9 | ||
|
|
28c70f5078 | ||
|
|
14806a1ac7 | ||
|
|
1ebb3e67d6 | ||
|
|
991cdbb9a0 | ||
|
|
278b177c46 | ||
|
|
0630b6257a | ||
|
|
f86d9c47b7 | ||
|
|
ae2088bb9d | ||
|
|
9340c42f2b | ||
|
|
8d7dfd5946 | ||
|
|
894cb273aa | ||
|
|
2996e0c53c | ||
|
|
79ce82d8a0 | ||
|
|
3c8e59c114 | ||
|
|
1493571810 | ||
|
|
a613d89f47 | ||
|
|
5471c59d5f | ||
|
|
ac42223f9e | ||
|
|
c21c9c13ad | ||
|
|
8251509607 | ||
|
|
3083e3f611 | ||
|
|
66add1f3bd | ||
|
|
b8a680df57 | ||
|
|
e969b7fffb | ||
|
|
5d9657781a | ||
|
|
2cd03787cd | ||
|
|
619c5ac3b0 | ||
|
|
89baa91552 | ||
|
|
83b3b1af76 | ||
|
|
19148f21ac | ||
|
|
2da8e392db | ||
|
|
a812b8b108 | ||
|
|
3dc96352e6 | ||
|
|
c2b590d2cf | ||
|
|
842d6969fe | ||
|
|
0f3044ae72 | ||
|
|
11dec8e868 | ||
|
|
d6b1f06721 | ||
|
|
14fcc593c7 | ||
|
|
08ed5ae483 | ||
|
|
b065e6c989 | ||
|
|
372a23cf3a | ||
|
|
4721e8109f | ||
|
|
b58aaccc53 | ||
|
|
294dd3d363 | ||
|
|
e00f552baf | ||
|
|
8eff098850 | ||
|
|
4fe9fdded6 | ||
|
|
03d52d4eb9 | ||
|
|
ab61ed5a37 | ||
|
|
72ee80242d | ||
|
|
9dc4dbc6d7 | ||
|
|
a74c5e7943 | ||
|
|
8f9fa6995e | ||
|
|
98e59450f1 | ||
|
|
8c62f1120f | ||
|
|
9aaba955d0 | ||
|
|
410ec0465c | ||
|
|
ae9ded504d | ||
|
|
f9cb4ddae2 | ||
|
|
9753e579c1 | ||
|
|
2e996c8e91 | ||
|
|
545a43de32 | ||
|
|
e606c35093 | ||
|
|
21ae2d5d40 | ||
|
|
4649298605 | ||
|
|
ae9622d271 | ||
|
|
4366976015 | ||
|
|
5b2a966ac6 | ||
|
|
bb855e2663 | ||
|
|
d24f9d1e1e | ||
|
|
c1b1f4afc4 | ||
|
|
c639a3103c | ||
|
|
32bc73610f | ||
|
|
66dcfafa2e | ||
|
|
9215f2662f | ||
|
|
2dc404cbd3 | ||
|
|
59308df250 | ||
|
|
9ba1c4c338 | ||
|
|
ec2957bf38 | ||
|
|
8bb5655b2f | ||
|
|
c24ecaaab1 | ||
|
|
483a33996f | ||
|
|
6be8158209 | ||
|
|
8e7fcd3cad | ||
|
|
a792a8a533 | ||
|
|
25d8c4645e | ||
|
|
64c552d69d | ||
|
|
fafa400db0 | ||
|
|
0b20a5342e | ||
|
|
fa4e56a32a | ||
|
|
212bd7a011 | ||
|
|
943864004f | ||
|
|
8ce4d94a96 | ||
|
|
6be193bfbf | ||
|
|
5d3947f117 | ||
|
|
c7bb7be20f | ||
|
|
f74b96bcb6 | ||
|
|
cecfea1ecf | ||
|
|
09ce2b5a6d | ||
|
|
2f9cdadb11 | ||
|
|
e218ce2d85 | ||
|
|
5ec6993342 | ||
|
|
87787cb5bf | ||
|
|
5b618b4f31 | ||
|
|
08a86066d0 | ||
|
|
388eb654a5 | ||
|
|
d8059c3db3 | ||
| 559d17e6c3 | |||
|
|
dfe177447c | ||
|
|
2a5aed6c15 | ||
|
|
f5ad8566eb | ||
| 7c5628d47e | |||
| 9645008460 | |||
| 12dbf09164 | |||
| f09fd7ad34 | |||
| 8986290b12 | |||
| 9a4d3a56a3 | |||
|
|
b0048d6540 | ||
|
|
b1b36ea1a3 | ||
|
|
e568e6e17b | ||
|
|
af955ba418 | ||
|
|
a56e2e7b1e | ||
|
|
a0cdb08893 | ||
|
|
fbb829a915 | ||
|
|
5790da6167 | ||
|
|
c6e4fbd966 | ||
|
|
101ea44051 | ||
|
|
d6c6936f6d | ||
|
|
4929e8172c | ||
|
|
8c83156133 | ||
|
|
d587921a83 | ||
|
|
6fe6ba20fb | ||
|
|
2ea3cde203 | ||
|
|
059fe98c67 | ||
|
|
1ab05b620a | ||
|
|
4b387d040d | ||
|
|
9d527ab4a6 | ||
|
|
bbc221086a | ||
|
|
e5b7e58a07 | ||
|
|
f0bcc70563 | ||
|
|
992b08025f | ||
|
|
cfef93134e | ||
|
|
ac3c4a4b30 | ||
|
|
d77024bbf1 | ||
|
|
4f3fbe89f2 | ||
|
|
9ae1867c9e | ||
|
|
caf0251a9c | ||
|
|
216868085b | ||
|
|
18a5c68b3e | ||
|
|
f9e9f26e97 | ||
|
|
a2ff6e5c24 | ||
| 84ada18299 | |||
| 635fe8017e | |||
| 834380ff05 | |||
| dd65fc2289 | |||
| 86125bb625 | |||
| 09a9d8b380 | |||
| 86b223ec93 | |||
| 78f6080321 | |||
| c7be6f6e0e | |||
| c40c31fbb7 | |||
| f5fbc1e32d | |||
| 0a20378acd | |||
| d4e87877b6 | |||
| 7eb7236b8a | |||
| dc0e4ffce2 | |||
| 86fe93943d | |||
| 3258113ef8 | |||
| ebf3999cfe | |||
| a1ccbbb5b9 | |||
| 35072c40d8 | |||
| 5c51021388 | |||
| 95fd527515 | |||
| 113d851cea | |||
| 72f0c460f9 | |||
| 13ddd15b44 | |||
| c9e24aaf5f | |||
| 68c0ac0ffc | |||
| bebda275a9 | |||
| 287eaae850 | |||
| 7e59c3b9a7 | |||
| 38658a5b8c | |||
| 88c75b8672 | |||
| 17ab1e6830 | |||
| 1f45110e5f | |||
| 5401166a07 | |||
| bfa8188782 | |||
| e777a71784 | |||
| c13e91a0d0 | |||
| aac5d57352 | |||
| ceca13c7b6 | |||
| 2905470330 | |||
| 2c17033822 | |||
| 0a4cb9e9b1 | |||
| 096651f4c1 | |||
| 275a08506b | |||
| 4cd61cb381 | |||
| 9ad1147581 | |||
| 35e09def1b | |||
| 0469607a71 | |||
| d115d22ee6 | |||
| 8120ae621d | |||
| f873c2fa9f | |||
| c3ffbe2f42 | |||
| 55a0a39881 | |||
| 592215dd30 | |||
| ef0c2a2785 | |||
| 37979e452a | |||
| e9671bb727 | |||
| aa328bd591 | |||
| 188e4313f9 | |||
| df02c70e31 | |||
| 257f54b323 | |||
| fb4b5b2575 | |||
| 4e1251276d | |||
| a7b200dc57 | |||
| 8cadbae80e | |||
| c3bae49aae | |||
|
|
6fa4fc6149 | ||
| f1ffe1acaa | |||
| 5c9ddf7f00 | |||
| 431767a150 | |||
| 8ba4e442a6 | |||
| 2f8d19c267 | |||
| f2fd98f742 | |||
| 3ce35d6e81 | |||
| 796dbaa836 | |||
| 84b209ec7f | |||
| fa976b34dc | |||
| e7cda362b7 | |||
| a41a09c162 | |||
| e82f84f0ab | |||
| f1d387ceea | |||
| 3893d4d1f8 | |||
| cf7ac50faf | |||
| 3f6bf15554 | |||
| dac74829b4 | |||
| 94d6f213a0 | |||
| 8f2550ef61 | |||
| b622a1cc5e | |||
| c83a3c32c7 | |||
| e7dcf7f7e7 | |||
| 398785a2be | |||
| 05dba0f1f5 | |||
| 39dbd32b2e | |||
| 23a34a455a | |||
| 4308328b48 | |||
|
|
0a3f07e6e7 | ||
|
|
3c1aca6d46 | ||
| 02c333c720 | |||
|
|
d30ff65800 | ||
|
|
3d454ed321 | ||
|
|
7e72d7b3cf | ||
|
|
ef188d06c4 | ||
|
|
414b229b27 | ||
|
|
d3c49be80f | ||
|
|
980473cce6 | ||
|
|
6ef2012359 | ||
|
|
e267db7fac | ||
|
|
9dba7caa88 | ||
|
|
c9e625a1a0 | ||
|
|
45f202fdf7 | ||
|
|
c30e31bd65 | ||
|
|
61a11f4a29 | ||
|
|
c786a84dc6 | ||
|
|
1680ccfec3 | ||
|
|
30c78350eb | ||
|
|
7b4da6dd2b | ||
|
|
b25881d55e | ||
|
|
cfc90d1ddf | ||
|
|
a3be6e2add | ||
|
|
d351c96a40 | ||
|
|
b3ab1b7a4a | ||
|
|
b719d6dd04 | ||
|
|
9d059f6c94 | ||
|
|
b8a0150310 | ||
|
|
b891fb7b03 | ||
|
|
bdd4ab9bfd | ||
|
|
f70ec896b8 | ||
|
|
85ecbaab6d | ||
|
|
0381bda068 | ||
|
|
c4d8345b7c | ||
| 6beb9febb1 | |||
| 711a75ce3b | |||
| be72a9f4a2 | |||
| 8c83de8521 | |||
| 00b9d603ae | |||
|
|
5d3d9d7e82 | ||
|
|
91897f290a | ||
|
|
4255ee70fc | ||
|
|
2d20c2d542 | ||
|
|
1bb710e385 | ||
|
|
6583985017 | ||
|
|
e7718e232f | ||
|
|
045ba897c7 | ||
|
|
72a4e577c8 | ||
|
|
bf9f7ee051 | ||
|
|
1370225bae | ||
|
|
aea6f43519 | ||
|
|
59aed828f6 | ||
|
|
74d7dd58c2 | ||
|
|
f2f2056509 | ||
| 5f92932c40 | |||
| ed8eb072c5 | |||
| 5bd4a40ee5 | |||
| 8322e762df | |||
| e6d7024a61 | |||
| 0eb7badf91 | |||
| 2acca350fe | |||
| ac305b369d | |||
|
|
9e23c324bf | ||
|
|
aabbb04f18 | ||
|
|
a9a9057304 | ||
|
|
eb86002fbd | ||
|
|
c75b33eb7d | ||
|
|
06f4808dcc | ||
|
|
644c5b843b | ||
|
|
1ae098331d | ||
|
|
043ae687e2 | ||
|
|
047a637029 | ||
|
|
e66365fd88 | ||
|
|
cd803e42ad | ||
|
|
2777436e83 | ||
|
|
2742ec8256 | ||
|
|
3de6ac2658 | ||
|
|
58813d09c3 | ||
|
|
242d400284 | ||
|
|
9beca96230 | ||
|
|
db20dae062 | ||
|
|
51df5af253 | ||
|
|
8a9e22c987 | ||
|
|
2b97fe5ce0 | ||
|
|
bea6e6330b | ||
|
|
0ed298b5e5 | ||
|
|
f432e54809 | ||
|
|
27d18e8d16 | ||
|
|
684a8fbb8a | ||
|
|
22e7a24327 | ||
|
|
df1313af33 | ||
|
|
46f842a555 | ||
|
|
5ffe6a39ab | ||
|
|
2452face38 | ||
|
|
40a641b731 | ||
|
|
938d23ce0d | ||
|
|
15da2d59e5 | ||
|
|
55effc35db | ||
|
|
6fc5e1f423 | ||
|
|
8b5c35ac6d | ||
|
|
4a10905464 | ||
|
|
344fb908ed | ||
|
|
73c0dcf76b | ||
|
|
09a3eaef83 | ||
|
|
501bb9fa98 | ||
|
|
32e87c7d4e | ||
|
|
17bf77c352 | ||
|
|
aaa4e73e0c | ||
|
|
c9ba28ce55 | ||
|
|
2ac8144ac2 | ||
|
|
1229a6f398 | ||
|
|
ec93b2ff06 | ||
|
|
c074b15671 | ||
| 5fa54fd0d0 | |||
| 99682ea9b2 | |||
| 063f3c69ad | |||
| 9c5c98e8f3 | |||
|
|
0ea37879e8 | ||
|
|
9c3fd052cd | ||
|
|
60c5fbeba3 | ||
|
|
aaf87e3960 | ||
|
|
628bffd63e | ||
|
|
210c8e8fe4 | ||
|
|
cb6a4cc325 | ||
|
|
9c0c809e7e | ||
|
|
5873c48ed6 | ||
|
|
0cfab003ef | ||
|
|
0c6f1ff9dc | ||
|
|
a29b556de6 | ||
|
|
d0ad0859ea | ||
|
|
996188864c | ||
|
|
60b4660a2c | ||
|
|
fcddd4eca7 | ||
|
|
854d0cc23c | ||
|
|
d00a2ea63f | ||
|
|
311a7b8c02 | ||
|
|
3e7ec2b28d | ||
|
|
1c9ff2ec03 | ||
|
|
968044a6c7 | ||
|
|
a8eca76cd1 | ||
|
|
5202d11af4 | ||
|
|
3b518cdf2c | ||
|
|
af3054e5e0 | ||
|
|
e5d0158c92 | ||
|
|
368ef9185b | ||
|
|
bf849c860a | ||
|
|
4268d3d341 | ||
|
|
dd50972fb1 | ||
|
|
93a3083803 | ||
|
|
b5e3d02539 | ||
|
|
43abd1fe37 | ||
|
|
6eb24d59b4 | ||
|
|
d7204dbf3b | ||
|
|
7abc7258ab | ||
|
|
4ddf8d0f48 | ||
|
|
ed3ec55561 | ||
|
|
c00876fa94 | ||
|
|
f947aa3ae2 | ||
|
|
e0251afe79 | ||
|
|
f53c3d7ad5 | ||
|
|
0046cbe0ef | ||
|
|
4c133fb6ff | ||
|
|
3acb80f320 | ||
| bada6b8886 | |||
|
|
ac60dc8068 | ||
|
|
f025d96111 | ||
|
|
5bee99cb93 | ||
|
|
ab348d5f34 | ||
|
|
54f73fe35a | ||
|
|
5017bdd470 | ||
|
|
62273db725 | ||
|
|
e468a77a22 | ||
|
|
cc32af3919 | ||
|
|
0041a17b7d | ||
|
|
38b00f458c | ||
|
|
1c64845169 | ||
|
|
98834131f1 | ||
|
|
40f2067732 | ||
|
|
1e9f9c8e82 | ||
|
|
fa1469514b | ||
|
|
f94543aac8 | ||
|
|
bf2974b6cc | ||
|
|
faa3f62813 | ||
|
|
6a4078c589 | ||
|
|
a0497a8f60 | ||
|
|
8f7752bec7 | ||
|
|
7dc18eeda9 | ||
|
|
a73da8a31c | ||
|
|
ee6ad02a95 | ||
|
|
04d105ed85 | ||
|
|
0e822fc1f7 | ||
|
|
a78ec8b8cd | ||
|
|
83daca569b | ||
|
|
6ea3b0012f | ||
|
|
e67b9a2e05 | ||
|
|
438ca91dc3 | ||
|
|
45ec633fec | ||
|
|
df6cf13b98 | ||
|
|
19da49a0e0 | ||
|
|
9f1429259a | ||
|
|
38c3d88a8a | ||
|
|
7e145c56fd | ||
|
|
9cf7046a5b | ||
|
|
4e14035281 | ||
|
|
bd74d9202e | ||
|
|
0938dd3f5d | ||
|
|
bde4aec113 | ||
|
|
82bdc5d869 | ||
|
|
1b3ad99554 | ||
|
|
e9e96b21d3 | ||
|
|
a403e21cbc | ||
|
|
2c8f2b6e92 | ||
|
|
04fa19fce7 | ||
|
|
92a212317d | ||
|
|
9459eff58c | ||
|
|
8c857e6fa4 | ||
|
|
d123dd3eb4 | ||
|
|
db645c1aae | ||
|
|
abe5b14f72 | ||
|
|
68967de1f5 | ||
|
|
e25efa8c6f | ||
|
|
7f081abf92 | ||
|
|
80df074b5f | ||
|
|
7ee2e66881 | ||
|
|
7144e9352d | ||
|
|
694fc262fa | ||
|
|
6c464569f2 | ||
|
|
c12b99b3ce | ||
|
|
0586c94428 | ||
|
|
59112a68e6 | ||
|
|
b5158e0f5a | ||
|
|
b338244c51 | ||
|
|
4b1f8efba0 | ||
|
|
8f1c22fa48 | ||
|
|
e11b381c13 | ||
|
|
62354e81e2 | ||
|
|
17e30ff904 | ||
|
|
81f24ca914 | ||
|
|
54050685d7 | ||
|
|
cd4ace3f49 | ||
|
|
a4082934b8 | ||
|
|
fa68a5f572 | ||
|
|
23c251ea80 | ||
|
|
05e3149ef4 | ||
|
|
4a769265b6 | ||
|
|
56a8bb777b | ||
|
|
36931c9047 | ||
|
|
3788021898 | ||
|
|
c26c217bf7 | ||
|
|
af454b987b | ||
|
|
87e423ed48 | ||
|
|
5d3da8a8d0 | ||
|
|
2cf30c27eb | ||
|
|
5d32bb962f | ||
|
|
477c979cdd | ||
|
|
9d46626641 | ||
|
|
e7824d6d9b | ||
|
|
7120ac4f10 | ||
|
|
f5751254d6 | ||
|
|
f11349f16c | ||
|
|
862c2db11a | ||
|
|
2af6bdc283 | ||
|
|
3c303514a4 | ||
|
|
a3cc3c79e2 | ||
|
|
cab0f92da8 | ||
|
|
21c07b7bf3 | ||
|
|
0b85438b20 | ||
|
|
9c15094855 | ||
|
|
9e9b255c00 | ||
|
|
1a5874e425 | ||
|
|
f256b0670f | ||
|
|
a54299a560 | ||
|
|
273b366f44 | ||
|
|
131d2fa4f1 | ||
|
|
08a43b93f4 | ||
|
|
47b004a4aa | ||
|
|
f7e5bcb058 | ||
|
|
e30647b675 | ||
|
|
f8e6e09717 | ||
|
|
b8ae066542 | ||
|
|
b96ff56043 | ||
|
|
2b0dc8b16d | ||
|
|
3c7d88663a | ||
|
|
cd72f4f19b | ||
|
|
897e451ab6 | ||
|
|
7a83bce996 | ||
|
|
48343897cd | ||
|
|
52c09b95ca | ||
|
|
09b23e2376 | ||
|
|
0abd953ded | ||
|
|
7f8729451c | ||
|
|
5340eac14a | ||
|
|
bc4f3668fe | ||
|
|
a93085d6d6 | ||
|
|
34dcbc0445 | ||
|
|
3643ec7a58 | ||
|
|
1e2e613a78 | ||
|
|
fe95ac96af | ||
|
|
3b7c90644e | ||
|
|
5e8f9e357a | ||
|
|
4c9d51f0ef | ||
|
|
f7c6d34f59 | ||
|
|
7808c65dd3 | ||
|
|
baf28382a8 | ||
|
|
e9f2d94a2e | ||
|
|
837a4927c1 | ||
|
|
1ece21e25c | ||
|
|
54dc66d22e | ||
|
|
5ea6e7b49d | ||
|
|
8a52fa257b | ||
|
|
7d79dbac40 | ||
|
|
fef967d4a0 | ||
|
|
679d56d7a3 | ||
|
|
e760e5cc97 | ||
|
|
5bdbbb6d38 | ||
|
|
0c0f128585 | ||
|
|
ca153e70ab | ||
|
|
bc6f4f50cb | ||
|
|
84f6667105 | ||
|
|
5d80cb03f1 | ||
|
|
4fada6ba40 | ||
|
|
0fa88b23c6 | ||
|
|
301491bcde | ||
|
|
5f57286cdb | ||
|
|
7135eb3591 | ||
|
|
cc7d88d4a9 | ||
|
|
772f7f7fd2 | ||
|
|
8e2f3ec0c0 | ||
|
|
196ada5710 | ||
|
|
06729f6b62 | ||
|
|
7809007a13 | ||
|
|
06de1c0041 | ||
|
|
06665734e7 | ||
|
|
668511a727 | ||
|
|
5ffa3eb837 | ||
|
|
00202b06a4 | ||
|
|
93442ec8fa | ||
|
|
520bab7463 | ||
|
|
35fa63852c | ||
|
|
fee54f0f39 | ||
|
|
e66ae2ee74 | ||
|
|
30e9fe2371 | ||
|
|
a5e8f7d405 | ||
|
|
a3822b6669 | ||
|
|
819ce2222d | ||
|
|
e82bb639ed | ||
|
|
3200fc1570 | ||
|
|
54ad9a7629 | ||
|
|
6f28302fd1 | ||
|
|
47b22b305d | ||
|
|
6ad20b222d | ||
|
|
68b21652bb | ||
|
|
5fe9108803 | ||
|
|
02ecfad428 | ||
|
|
25b51cf9c4 | ||
|
|
b2c5b4c2e5 | ||
|
|
379c31ca49 | ||
|
|
383df75a81 | ||
|
|
0ff19e9c95 | ||
|
|
cbe96252f6 | ||
|
|
4846852762 | ||
|
|
72c3d2b94c | ||
|
|
7ccae0140b | ||
|
|
7885590593 | ||
|
|
dad8c0cd6b | ||
|
|
7410b506e3 | ||
|
|
dec9905bd3 | ||
|
|
bb35d9f811 | ||
|
|
b2c8c4018c | ||
| ce132f2404 | |||
|
|
809fd2653a | ||
|
|
2d956ebb36 | ||
|
|
33dd47c169 | ||
|
|
e101048c71 | ||
|
|
aaad2face2 | ||
|
|
8f1a1827f2 | ||
|
|
1fac78f48f | ||
|
|
953cbb6e40 | ||
|
|
21047ac8ac | ||
|
|
754d321ef0 | ||
|
|
2ab9adab24 | ||
|
|
0d5534c445 | ||
|
|
ef8612fb59 | ||
|
|
ce335a0fe4 | ||
|
|
4aab1be3d6 | ||
|
|
6b6d808698 | ||
|
|
a6fb651ff4 | ||
|
|
25b8939aff | ||
|
|
e4d2e429a0 | ||
|
|
054d06f49e | ||
|
|
9e25714338 | ||
|
|
898295e9d4 | ||
|
|
a17c15ae96 | ||
|
|
be6a258846 | ||
| 0764ff6cb7 | |||
|
|
45a24a05c5 | ||
|
|
16ed7272a7 | ||
|
|
6461ffbd0d | ||
|
|
abe2482a01 | ||
|
|
fc4c2c53fc | ||
|
|
fa06a8cc16 | ||
|
|
4d4c046556 | ||
|
|
4598cdb2d0 | ||
|
|
eb43d4813d | ||
|
|
d501018feb | ||
|
|
d4c72487cd | ||
|
|
0b48a274e5 | ||
|
|
342f3543ca | ||
|
|
b36e55446f | ||
|
|
cf40facefe | ||
|
|
fa2f2e3104 | ||
|
|
ae74d49b09 | ||
|
|
80a44b5f5c | ||
|
|
dffc6ea24d | ||
|
|
38f74c8cf7 | ||
|
|
61a731704d | ||
|
|
c1339765b7 | ||
|
|
f5280eab74 | ||
|
|
af416fe0c8 | ||
|
|
326bc498b8 | ||
|
|
d1cc8da841 | ||
|
|
4cf22c3a1f | ||
|
|
8736d4c91a | ||
|
|
682ca9e953 | ||
|
|
344d17714c | ||
|
|
b247070840 | ||
|
|
236b8d5667 | ||
|
|
c3ad937d3f | ||
|
|
d8dcec42d5 | ||
|
|
3b5f953b3d | ||
|
|
9fd98c8e12 | ||
|
|
0b24c50161 | ||
|
|
fe8f862b16 | ||
|
|
7d0804af91 | ||
|
|
67f12596e2 | ||
|
|
6a66a944d2 | ||
|
|
65a689f8ab | ||
|
|
18fd68db25 | ||
|
|
86444aa5f3 | ||
|
|
011abe4ac0 | ||
|
|
f4c07388d9 | ||
|
|
eaf48bb176 | ||
|
|
d4a5c76c82 | ||
|
|
8a7ceef288 | ||
|
|
1497acef58 | ||
|
|
6111f67e33 | ||
|
|
39419787fa | ||
|
|
e02f2990d9 | ||
|
|
d0a6edbb2c | ||
|
|
be8686bbb2 | ||
|
|
59061c01d3 | ||
|
|
90ba7f4a92 | ||
|
|
754e0c4e29 | ||
|
|
addc6d5216 | ||
|
|
3b7cb00af2 | ||
|
|
d0d5ad4657 | ||
|
|
ea96418764 | ||
|
|
d751c6a6c6 | ||
|
|
344d342610 | ||
|
|
e75d7ad257 | ||
|
|
54869f1da0 | ||
|
|
02df6bafac | ||
|
|
d60f3bdfb1 | ||
|
|
506efb7538 | ||
|
|
1b97e49ed9 | ||
|
|
b71f803554 | ||
|
|
647d74af0d | ||
|
|
237ea121be | ||
|
|
a1c46d2e6e | ||
|
|
756ba0a533 | ||
|
|
99788e4743 | ||
|
|
3505b8971b | ||
|
|
1f294605a3 | ||
|
|
9264db8317 | ||
|
|
2b2ace0d00 | ||
|
|
7e165d6127 | ||
|
|
e1dbaebe8e | ||
|
|
21f1a46c05 | ||
|
|
6fbb5548b9 | ||
|
|
fa17c49eb1 | ||
|
|
7aa240e5eb | ||
|
|
7f0d852f49 | ||
|
|
edaed7bda1 | ||
|
|
3b4d4d234d | ||
|
|
bc73d38d34 | ||
|
|
db4d7d2a05 | ||
|
|
29bfef677f | ||
|
|
933fac6c13 | ||
|
|
78cf1a4948 | ||
|
|
792d322818 | ||
|
|
6f04231b31 | ||
|
|
04fc118ddf | ||
|
|
5aa5c97e4c | ||
|
|
4f42fb2302 | ||
|
|
ea5cb5d83a | ||
|
|
7b7dd9d142 | ||
|
|
348f17479d | ||
|
|
1e262b69cc | ||
|
|
97184c87af | ||
|
|
757b8ff855 | ||
|
|
c79cd82fd4 | ||
|
|
711fc80d8c | ||
|
|
9219b34dc3 | ||
|
|
e6450bfc7a | ||
|
|
3151e47722 | ||
|
|
ab99a25cee | ||
|
|
e7132086a5 | ||
|
|
668f3fa68d | ||
|
|
fee0ab74ff | ||
|
|
723a882824 | ||
|
|
9f648caac8 | ||
|
|
1bf29c042b | ||
|
|
8eaa906e0c | ||
|
|
5b98603c16 | ||
|
|
80299c8552 | ||
|
|
d1ac9cd2bc | ||
|
|
59b4755379 | ||
|
|
b3f37ca041 | ||
|
|
666efb7675 | ||
|
|
fc4e6f4972 | ||
|
|
cedf4b1eb5 | ||
|
|
35e9e048f2 | ||
|
|
ab78314a01 | ||
|
|
0e13173119 | ||
|
|
a7061a7524 | ||
|
|
344595e171 | ||
|
|
9d70fd82d6 | ||
|
|
914d82a087 | ||
|
|
74993dcf9e | ||
|
|
f8f4edfa76 | ||
|
|
826d37c513 | ||
|
|
377eb78020 | ||
|
|
3de3c1f2c6 | ||
|
|
246944f688 | ||
|
|
e9dcb8a8bb | ||
|
|
3f50625cc3 | ||
|
|
35c44d60a4 | ||
|
|
6e598ae9f6 | ||
|
|
4de9e9d918 | ||
|
|
c1bd42ff7e | ||
|
|
b1a54d2967 | ||
|
|
2288684950 | ||
|
|
0c645e8b0c | ||
|
|
072f7c7e45 | ||
|
|
41a0ccb218 | ||
|
|
f88eeeb313 | ||
|
|
082d97248d | ||
|
|
d88c5f3063 | ||
|
|
fa9ce1d346 | ||
|
|
1c2c010ddc | ||
|
|
46c1cc9a49 | ||
|
|
dcd7b4b6c3 | ||
|
|
2d371fd05f | ||
|
|
62ece0d92e | ||
|
|
8338ec6076 | ||
|
|
86e21a53ff | ||
|
|
c3e31baa7a | ||
|
|
302fc2feb1 | ||
|
|
e324d32769 | ||
|
|
5d7eba05ea | ||
|
|
9a654f729f | ||
|
|
87d35f0314 | ||
|
|
5904c0eea5 | ||
|
|
e5289931c6 | ||
|
|
0b1263a9e2 | ||
|
|
16235c21c0 | ||
|
|
2127961069 | ||
|
|
b681a03bfb | ||
|
|
449e988a59 | ||
|
|
a2693fa354 | ||
|
|
5328ea891d | ||
|
|
91d86552cd | ||
|
|
14a615cd7c | ||
|
|
c94052513e | ||
|
|
7e1d6679ce | ||
|
|
60ed23105d | ||
|
|
ac832a0e81 | ||
|
|
c202a639cf | ||
|
|
b957733150 | ||
|
|
7e4d7743a4 | ||
|
|
a6f1dbbf32 | ||
|
|
b38af8fd00 | ||
|
|
4ddf1a2cc8 | ||
|
|
443fe5dbcb | ||
|
|
23ad24751a | ||
|
|
f8371d037b | ||
|
|
ff495e1319 | ||
|
|
575a286e1e | ||
|
|
a72e8f2f65 | ||
|
|
863afc065d | ||
|
|
eda4f433d0 | ||
|
|
f56207f1a4 | ||
|
|
541ca67a06 | ||
|
|
44dad402f6 | ||
|
|
1a588eb9f7 | ||
|
|
cda74f5cc4 | ||
|
|
077ececcf8 | ||
|
|
d48a4c4483 | ||
|
|
6f6348508a | ||
|
|
23624aa7f8 | ||
|
|
c9b1f6f516 | ||
|
|
a2874a189e | ||
|
|
edfbeea0e6 | ||
|
|
db06f4f72e | ||
|
|
32b09538ba | ||
|
|
c6958357c3 | ||
|
|
74d2f5d115 | ||
|
|
777e65c170 | ||
|
|
adbe578aa1 | ||
|
|
85915d787a | ||
|
|
2f0518a348 | ||
|
|
7f5f1ba938 | ||
|
|
a932d549f4 | ||
|
|
791435ba76 | ||
|
|
0b3a95e551 | ||
|
|
f746940485 | ||
|
|
1161a4114d | ||
|
|
7ede250403 | ||
|
|
5780fb7392 | ||
|
|
840abf8cdb | ||
|
|
b57e847916 | ||
|
|
c858b67f2e | ||
|
|
6d77d45529 | ||
|
|
eed44c14df | ||
|
|
af63858d80 |
12
.github/workflows/cd.yml
vendored
12
.github/workflows/cd.yml
vendored
@@ -34,7 +34,7 @@ jobs:
|
|||||||
dotnet workload --info
|
dotnet workload --info
|
||||||
- name: Build
|
- name: Build
|
||||||
run: |
|
run: |
|
||||||
.\PackageEditor.bat -arch=x64 -platform=Windows -deployOutput=Output
|
.\PackageEditor.bat -arch=x64 -platform=Windows -deployOutput=Output -dotnet=8
|
||||||
- name: Upload
|
- name: Upload
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
@@ -67,7 +67,7 @@ jobs:
|
|||||||
dotnet workload --info
|
dotnet workload --info
|
||||||
- name: Build
|
- name: Build
|
||||||
run: |
|
run: |
|
||||||
.\PackagePlatforms.bat -arch=x64 -platform=Windows -deployOutput=Output
|
.\PackagePlatforms.bat -arch=x64 -platform=Windows -deployOutput=Output -dotnet=8
|
||||||
- name: Upload
|
- name: Upload
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
@@ -100,7 +100,7 @@ jobs:
|
|||||||
dotnet workload --info
|
dotnet workload --info
|
||||||
- name: Build
|
- name: Build
|
||||||
run: |
|
run: |
|
||||||
./PackageEditor.sh -arch=x64 -platform=Linux -deployOutput=Output
|
./PackageEditor.sh -arch=x64 -platform=Linux -deployOutput=Output -dotnet=8
|
||||||
- name: Upload
|
- name: Upload
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
@@ -131,7 +131,7 @@ jobs:
|
|||||||
dotnet workload --info
|
dotnet workload --info
|
||||||
- name: Build
|
- name: Build
|
||||||
run: |
|
run: |
|
||||||
./PackagePlatforms.sh -arch=x64 -platform=Linux -deployOutput=Output
|
./PackagePlatforms.sh -arch=x64 -platform=Linux -deployOutput=Output -dotnet=8
|
||||||
- name: Upload
|
- name: Upload
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
@@ -161,7 +161,7 @@ jobs:
|
|||||||
dotnet workload --info
|
dotnet workload --info
|
||||||
- name: Build
|
- name: Build
|
||||||
run: |
|
run: |
|
||||||
./PackageEditor.command -arch=ARM64 -platform=Mac -deployOutput=Output
|
./PackageEditor.command -arch=ARM64 -platform=Mac -deployOutput=Output -dotnet=8
|
||||||
- name: Upload
|
- name: Upload
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
@@ -189,7 +189,7 @@ jobs:
|
|||||||
dotnet workload --info
|
dotnet workload --info
|
||||||
- name: Build
|
- name: Build
|
||||||
run: |
|
run: |
|
||||||
./PackagePlatforms.command -arch=ARM64 -platform=Mac -deployOutput=Output
|
./PackagePlatforms.command -arch=ARM64 -platform=Mac -deployOutput=Output -dotnet=8
|
||||||
- name: Upload
|
- name: Upload
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
|
|||||||
3
.github/workflows/tests.yml
vendored
3
.github/workflows/tests.yml
vendored
@@ -73,8 +73,11 @@ jobs:
|
|||||||
.\Development\Scripts\Windows\CallBuildTool.bat -build -log -dotnet=8 -arch=x64 -platform=Windows -configuration=Development -buildtargets=FlaxTestsTarget
|
.\Development\Scripts\Windows\CallBuildTool.bat -build -log -dotnet=8 -arch=x64 -platform=Windows -configuration=Development -buildtargets=FlaxTestsTarget
|
||||||
dotnet msbuild Source\Tools\Flax.Build.Tests\Flax.Build.Tests.csproj /m /t:Restore,Build /p:Configuration=Debug /p:Platform=AnyCPU /nologo
|
dotnet msbuild Source\Tools\Flax.Build.Tests\Flax.Build.Tests.csproj /m /t:Restore,Build /p:Configuration=Debug /p:Platform=AnyCPU /nologo
|
||||||
- name: Test
|
- name: Test
|
||||||
|
shell: pwsh
|
||||||
run: |
|
run: |
|
||||||
|
$ErrorActionPreference = "Stop"
|
||||||
.\Binaries\Editor\Win64\Development\FlaxTests.exe
|
.\Binaries\Editor\Win64\Development\FlaxTests.exe
|
||||||
|
if(!$?) { Write-Host "Tests failed with exit code $LastExitCode" -ForegroundColor Red; Exit $LastExitCode }
|
||||||
dotnet test -f net8.0 Binaries\Tests\Flax.Build.Tests.dll
|
dotnet test -f net8.0 Binaries\Tests\Flax.Build.Tests.dll
|
||||||
xcopy /y Binaries\Editor\Win64\Development\FlaxEngine.CSharp.dll Binaries\Tests
|
xcopy /y Binaries\Editor\Win64\Development\FlaxEngine.CSharp.dll Binaries\Tests
|
||||||
xcopy /y Binaries\Editor\Win64\Development\FlaxEngine.CSharp.runtimeconfig.json Binaries\Tests
|
xcopy /y Binaries\Editor\Win64\Development\FlaxEngine.CSharp.runtimeconfig.json Binaries\Tests
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# Redirect to our own Git LFS server
|
# Redirect to our own Git LFS server
|
||||||
[lfs]
|
[lfs]
|
||||||
#url="https://gitlab.flaxengine.com/flax/flaxengine.git/info/lfs"
|
url="https://gitlab.flaxengine.com/flax/flaxengine.git/info/lfs"
|
||||||
locksverify = false
|
locksverify = false
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Content/Editor/Icons/Decal.flax
LFS
BIN
Content/Editor/Icons/Decal.flax
LFS
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Content/Editor/Icons/Skybox.flax
LFS
BIN
Content/Editor/Icons/Skybox.flax
LFS
Binary file not shown.
Binary file not shown.
@@ -83,6 +83,12 @@ float3 GetObjectSize(MaterialInput input)
|
|||||||
return float3(1, 1, 1);
|
return float3(1, 1, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Gets the current object scale (supports instancing)
|
||||||
|
float3 GetObjectScale(MaterialInput input)
|
||||||
|
{
|
||||||
|
return float3(1, 1, 1);
|
||||||
|
}
|
||||||
|
|
||||||
// Get the current object random value supports instancing)
|
// Get the current object random value supports instancing)
|
||||||
float GetPerInstanceRandom(MaterialInput input)
|
float GetPerInstanceRandom(MaterialInput input)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -207,6 +207,20 @@ float3 GetObjectSize(MaterialInput input)
|
|||||||
return GeometrySize * float3(world._m00, world._m11, world._m22);
|
return GeometrySize * float3(world._m00, world._m11, world._m22);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Gets the current object scale (supports instancing)
|
||||||
|
float3 GetObjectScale(MaterialInput input)
|
||||||
|
{
|
||||||
|
float4x4 world = WorldMatrix;
|
||||||
|
|
||||||
|
// Extract scale from the world matrix
|
||||||
|
float3 scale;
|
||||||
|
scale.x = length(float3(world._11, world._12, world._13));
|
||||||
|
scale.y = length(float3(world._21, world._22, world._23));
|
||||||
|
scale.z = length(float3(world._31, world._32, world._33));
|
||||||
|
|
||||||
|
return scale;
|
||||||
|
}
|
||||||
|
|
||||||
// Get the current object random value
|
// Get the current object random value
|
||||||
float GetPerInstanceRandom(MaterialInput input)
|
float GetPerInstanceRandom(MaterialInput input)
|
||||||
{
|
{
|
||||||
@@ -297,7 +311,7 @@ VertexOutput VS_SplineModel(ModelInput input)
|
|||||||
output.Position = mul(float4(output.Geometry.WorldPosition, 1), ViewProjectionMatrix);
|
output.Position = mul(float4(output.Geometry.WorldPosition, 1), ViewProjectionMatrix);
|
||||||
|
|
||||||
// Pass vertex attributes
|
// Pass vertex attributes
|
||||||
output.Geometry.TexCoord = input.TexCoord;
|
output.Geometry.TexCoord = input.TexCoord0;
|
||||||
#if USE_VERTEX_COLOR
|
#if USE_VERTEX_COLOR
|
||||||
output.Geometry.VertexColor = input.Color;
|
output.Geometry.VertexColor = input.Color;
|
||||||
#endif
|
#endif
|
||||||
@@ -323,6 +337,7 @@ VertexOutput VS_SplineModel(ModelInput input)
|
|||||||
// Apply world position offset per-vertex
|
// Apply world position offset per-vertex
|
||||||
#if USE_POSITION_OFFSET
|
#if USE_POSITION_OFFSET
|
||||||
output.Geometry.WorldPosition += material.PositionOffset;
|
output.Geometry.WorldPosition += material.PositionOffset;
|
||||||
|
output.Geometry.PrevWorldPosition += material.PositionOffset;
|
||||||
output.Position = mul(float4(output.Geometry.WorldPosition, 1), ViewProjectionMatrix);
|
output.Position = mul(float4(output.Geometry.WorldPosition, 1), ViewProjectionMatrix);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright (c) 2012-2024 Wojciech Figat. All rights reserved.
|
// Copyright (c) Wojciech Figat. All rights reserved.
|
||||||
|
|
||||||
@0// Deferred Shading: Defines
|
@0// Deferred Shading: Defines
|
||||||
@1// Deferred Shading: Includes
|
@1// Deferred Shading: Includes
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright (c) 2012-2024 Wojciech Figat. All rights reserved.
|
// Copyright (c) Wojciech Figat. All rights reserved.
|
||||||
|
|
||||||
@0// Distortion: Defines
|
@0// Distortion: Defines
|
||||||
@1// Distortion: Includes
|
@1// Distortion: Includes
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright (c) 2012-2024 Wojciech Figat. All rights reserved.
|
// Copyright (c) Wojciech Figat. All rights reserved.
|
||||||
|
|
||||||
@0// Forward Shading: Defines
|
@0// Forward Shading: Defines
|
||||||
#define MAX_LOCAL_LIGHTS 4
|
#define MAX_LOCAL_LIGHTS 4
|
||||||
@@ -28,6 +28,13 @@ TextureCube SkyLightTexture : register(t__SRV__);
|
|||||||
Buffer<float4> ShadowsBuffer : register(t__SRV__);
|
Buffer<float4> ShadowsBuffer : register(t__SRV__);
|
||||||
Texture2D<float> ShadowMap : register(t__SRV__);
|
Texture2D<float> ShadowMap : register(t__SRV__);
|
||||||
@4// Forward Shading: Utilities
|
@4// Forward Shading: Utilities
|
||||||
|
// Public accessors for lighting data, use them as data binding might change but those methods will remain.
|
||||||
|
LightData GetDirectionalLight() { return DirectionalLight; }
|
||||||
|
LightData GetSkyLight() { return SkyLight; }
|
||||||
|
ProbeData GetEnvironmentProbe() { return EnvironmentProbe; }
|
||||||
|
ExponentialHeightFogData GetExponentialHeightFog() { return ExponentialHeightFog; }
|
||||||
|
uint GetLocalLightsCount() { return LocalLightsCount; }
|
||||||
|
LightData GetLocalLight(uint i) { return LocalLights[i]; }
|
||||||
@5// Forward Shading: Shaders
|
@5// Forward Shading: Shaders
|
||||||
|
|
||||||
// Pixel Shader function for Forward Pass
|
// Pixel Shader function for Forward Pass
|
||||||
@@ -76,9 +83,8 @@ void PS_Forward(
|
|||||||
gBuffer.ShadingModel = MATERIAL_SHADING_MODEL;
|
gBuffer.ShadingModel = MATERIAL_SHADING_MODEL;
|
||||||
|
|
||||||
// Calculate lighting from a single directional light
|
// Calculate lighting from a single directional light
|
||||||
float4 shadowMask = 1.0f;
|
|
||||||
ShadowSample shadow = SampleDirectionalLightShadow(DirectionalLight, ShadowsBuffer, ShadowMap, gBuffer);
|
ShadowSample shadow = SampleDirectionalLightShadow(DirectionalLight, ShadowsBuffer, ShadowMap, gBuffer);
|
||||||
shadowMask = GetShadowMask(shadow);
|
float4 shadowMask = GetShadowMask(shadow);
|
||||||
float4 light = GetLighting(ViewPos, DirectionalLight, gBuffer, shadowMask, false, false);
|
float4 light = GetLighting(ViewPos, DirectionalLight, gBuffer, shadowMask, false, false);
|
||||||
|
|
||||||
// Calculate lighting from sky light
|
// Calculate lighting from sky light
|
||||||
@@ -143,9 +149,9 @@ void PS_Forward(
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if USE_FOG
|
#if USE_FOG && MATERIAL_SHADING_MODEL != SHADING_MODEL_UNLIT
|
||||||
// Calculate exponential height fog
|
// Calculate exponential height fog
|
||||||
float4 fog = GetExponentialHeightFog(ExponentialHeightFog, materialInput.WorldPosition, ViewPos, 0);
|
float4 fog = GetExponentialHeightFog(ExponentialHeightFog, materialInput.WorldPosition, ViewPos, 0, gBuffer.ViewPos.z);
|
||||||
|
|
||||||
// Apply fog to the output color
|
// Apply fog to the output color
|
||||||
#if MATERIAL_BLEND == MATERIAL_BLEND_OPAQUE
|
#if MATERIAL_BLEND == MATERIAL_BLEND_OPAQUE
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright (c) 2012-2024 Wojciech Figat. All rights reserved.
|
// Copyright (c) Wojciech Figat. All rights reserved.
|
||||||
|
|
||||||
@0// Global Illumination: Defines
|
@0// Global Illumination: Defines
|
||||||
#define USE_GI 1
|
#define USE_GI 1
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright (c) 2012-2024 Wojciech Figat. All rights reserved.
|
// Copyright (c) Wojciech Figat. All rights reserved.
|
||||||
|
|
||||||
@0// Lightmap: Defines
|
@0// Lightmap: Defines
|
||||||
#define CAN_USE_LIGHTMAP 1
|
#define CAN_USE_LIGHTMAP 1
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright (c) 2012-2024 Wojciech Figat. All rights reserved.
|
// Copyright (c) Wojciech Figat. All rights reserved.
|
||||||
|
|
||||||
@0// Motion Vectors: Defines
|
@0// Motion Vectors: Defines
|
||||||
@1// Motion Vectors: Includes
|
@1// Motion Vectors: Includes
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright (c) 2012-2024 Wojciech Figat. All rights reserved.
|
// Copyright (c) Wojciech Figat. All rights reserved.
|
||||||
|
|
||||||
@0// SDF Reflections: Defines
|
@0// SDF Reflections: Defines
|
||||||
#define USE_GLOBAL_SURFACE_ATLAS 1
|
#define USE_GLOBAL_SURFACE_ATLAS 1
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright (c) 2012-2024 Wojciech Figat. All rights reserved.
|
// Copyright (c) Wojciech Figat. All rights reserved.
|
||||||
|
|
||||||
@0// Tessellation: Defines
|
@0// Tessellation: Defines
|
||||||
#define TessalationProjectOntoPlane(planeNormal, planePosition, pointToProject) pointToProject - dot(pointToProject - planePosition, planeNormal) * planeNormal
|
#define TessalationProjectOntoPlane(planeNormal, planePosition, pointToProject) pointToProject - dot(pointToProject - planePosition, planeNormal) * planeNormal
|
||||||
|
|||||||
@@ -140,7 +140,7 @@ void SetParticleVec4(uint particleIndex, int offset, float4 value)
|
|||||||
bool AddParticle(out uint dstIndex)
|
bool AddParticle(out uint dstIndex)
|
||||||
{
|
{
|
||||||
// Acquire the particle index in the destination buffer
|
// Acquire the particle index in the destination buffer
|
||||||
DstParticlesData.InterlockedAdd(ParticleCounterOffset, 1, dstIndex);
|
DstParticlesData.InterlockedAdd(ParticleCounterOffset, 1u, dstIndex);
|
||||||
|
|
||||||
// Prevent overflow
|
// Prevent overflow
|
||||||
return dstIndex >= PARTICLE_CAPACITY;
|
return dstIndex >= PARTICLE_CAPACITY;
|
||||||
|
|||||||
@@ -163,6 +163,12 @@ float3 GetObjectSize(MaterialInput input)
|
|||||||
return float3(1, 1, 1);
|
return float3(1, 1, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Gets the current object scale (supports instancing)
|
||||||
|
float3 GetObjectScale(MaterialInput input)
|
||||||
|
{
|
||||||
|
return float3(1, 1, 1);
|
||||||
|
}
|
||||||
|
|
||||||
// Get the current object random value supports instancing)
|
// Get the current object random value supports instancing)
|
||||||
float GetPerInstanceRandom(MaterialInput input)
|
float GetPerInstanceRandom(MaterialInput input)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -299,24 +299,22 @@ half3x3 CalcTangentToLocal(ModelInput input)
|
|||||||
float3 normal = input.Normal.xyz * 2.0 - 1.0;
|
float3 normal = input.Normal.xyz * 2.0 - 1.0;
|
||||||
float3 tangent = input.Tangent.xyz * 2.0 - 1.0;
|
float3 tangent = input.Tangent.xyz * 2.0 - 1.0;
|
||||||
float3 bitangent = cross(normal, tangent) * bitangentSign;
|
float3 bitangent = cross(normal, tangent) * bitangentSign;
|
||||||
return float3x3(tangent, bitangent, normal);
|
return (half3x3)float3x3(tangent, bitangent, normal);
|
||||||
}
|
}
|
||||||
|
|
||||||
half3x3 CalcTangentToWorld(in float4x4 world, in half3x3 tangentToLocal)
|
half3x3 CalcTangentToWorld(in float4x4 world, in half3x3 tangentToLocal)
|
||||||
{
|
{
|
||||||
half3x3 localToWorld = RemoveScaleFromLocalToWorld((float3x3)world);
|
half3x3 localToWorld = (half3x3)RemoveScaleFromLocalToWorld((float3x3)world);
|
||||||
return mul(tangentToLocal, localToWorld);
|
return mul(tangentToLocal, localToWorld);
|
||||||
}
|
}
|
||||||
|
|
||||||
float3 GetParticlePosition(uint ParticleIndex)
|
float3 GetParticlePosition(uint particleIndex)
|
||||||
{
|
{
|
||||||
return TransformParticlePosition(GetParticleVec3(ParticleIndex, PositionOffset));
|
return TransformParticlePosition(GetParticleVec3(particleIndex, PositionOffset));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Vertex Shader function for Sprite Rendering
|
// Vertex Shader function for Sprite Rendering
|
||||||
META_VS(true, FEATURE_LEVEL_ES2)
|
META_VS(true, FEATURE_LEVEL_ES2)
|
||||||
META_VS_IN_ELEMENT(POSITION, 0, R32G32_FLOAT, 0, 0, PER_VERTEX, 0, true)
|
|
||||||
META_VS_IN_ELEMENT(TEXCOORD, 0, R32G32_FLOAT, 0, ALIGN, PER_VERTEX, 0, true)
|
|
||||||
VertexOutput VS_Sprite(SpriteInput input, uint particleIndex : SV_InstanceID)
|
VertexOutput VS_Sprite(SpriteInput input, uint particleIndex : SV_InstanceID)
|
||||||
{
|
{
|
||||||
VertexOutput output;
|
VertexOutput output;
|
||||||
@@ -407,7 +405,7 @@ VertexOutput VS_Sprite(SpriteInput input, uint particleIndex : SV_InstanceID)
|
|||||||
output.InstanceParams = PerInstanceRandom;
|
output.InstanceParams = PerInstanceRandom;
|
||||||
|
|
||||||
// Calculate tanget space to world space transformation matrix for unit vectors
|
// Calculate tanget space to world space transformation matrix for unit vectors
|
||||||
half3x3 tangentToLocal = float3x3(axisX, axisY, axisZ);
|
half3x3 tangentToLocal = half3x3(axisX, axisY, axisZ);
|
||||||
half3x3 tangentToWorld = CalcTangentToWorld(world, tangentToLocal);
|
half3x3 tangentToWorld = CalcTangentToWorld(world, tangentToLocal);
|
||||||
output.TBN = tangentToWorld;
|
output.TBN = tangentToWorld;
|
||||||
|
|
||||||
@@ -516,7 +514,7 @@ VertexOutput VS_Model(ModelInput input, uint particleIndex : SV_InstanceID)
|
|||||||
output.Position = mul(float4(output.WorldPosition, 1), ViewProjectionMatrix);
|
output.Position = mul(float4(output.WorldPosition, 1), ViewProjectionMatrix);
|
||||||
|
|
||||||
// Pass vertex attributes
|
// Pass vertex attributes
|
||||||
output.TexCoord = input.TexCoord;
|
output.TexCoord = input.TexCoord0;
|
||||||
output.ParticleIndex = particleIndex;
|
output.ParticleIndex = particleIndex;
|
||||||
#if USE_VERTEX_COLOR
|
#if USE_VERTEX_COLOR
|
||||||
output.VertexColor = input.Color;
|
output.VertexColor = input.Color;
|
||||||
@@ -612,7 +610,7 @@ VertexOutput VS_Ribbon(RibbonInput input, uint vertexIndex : SV_VertexID)
|
|||||||
{
|
{
|
||||||
output.TexCoord.x = (float)input.Order / (float)RibbonSegmentCount;
|
output.TexCoord.x = (float)input.Order / (float)RibbonSegmentCount;
|
||||||
}
|
}
|
||||||
output.TexCoord.y = (vertexIndex + 1) & 0x1;
|
output.TexCoord.y = (float)((vertexIndex + 1) & 0x1);
|
||||||
output.TexCoord = output.TexCoord * RibbonUVScale + RibbonUVOffset;
|
output.TexCoord = output.TexCoord * RibbonUVScale + RibbonUVOffset;
|
||||||
|
|
||||||
// Compute world space vertex position
|
// Compute world space vertex position
|
||||||
@@ -631,7 +629,7 @@ VertexOutput VS_Ribbon(RibbonInput input, uint vertexIndex : SV_VertexID)
|
|||||||
output.InstanceParams = PerInstanceRandom;
|
output.InstanceParams = PerInstanceRandom;
|
||||||
|
|
||||||
// Calculate tanget space to world space transformation matrix for unit vectors
|
// Calculate tanget space to world space transformation matrix for unit vectors
|
||||||
half3x3 tangentToLocal = float3x3(tangentRight, tangentUp, cross(tangentRight, tangentUp));
|
half3x3 tangentToLocal = half3x3(tangentRight, tangentUp, cross(tangentRight, tangentUp));
|
||||||
half3x3 tangentToWorld = CalcTangentToWorld(world, tangentToLocal);
|
half3x3 tangentToWorld = CalcTangentToWorld(world, tangentToLocal);
|
||||||
output.TBN = tangentToWorld;
|
output.TBN = tangentToWorld;
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
// Version: @0
|
// Version: @0
|
||||||
|
|
||||||
#define MATERIAL 1
|
#define MATERIAL 1
|
||||||
|
#define MATERIAL_TEXCOORDS 4
|
||||||
#define USE_PER_VIEW_CONSTANTS 1
|
#define USE_PER_VIEW_CONSTANTS 1
|
||||||
#define USE_PER_DRAW_CONSTANTS 1
|
#define USE_PER_DRAW_CONSTANTS 1
|
||||||
@3
|
@3
|
||||||
@@ -24,21 +25,29 @@ Buffer<float4> BoneMatrices : register(t1);
|
|||||||
Buffer<float4> PrevBoneMatrices : register(t2);
|
Buffer<float4> PrevBoneMatrices : register(t2);
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Geometry data passed though the graphics rendering stages up to the pixel shader
|
// Geometry data passed though the graphics rendering stages up to the pixel shader
|
||||||
struct GeometryData
|
struct GeometryData
|
||||||
{
|
{
|
||||||
float3 WorldPosition : TEXCOORD0;
|
float3 WorldPosition : TEXCOORD0;
|
||||||
float2 TexCoord : TEXCOORD1;
|
float4 TexCoords01 : TEXCOORD1;
|
||||||
float2 LightmapUV : TEXCOORD2;
|
float4 TexCoords23 : TEXCOORD2;
|
||||||
|
float2 LightmapUV : TEXCOORD3;
|
||||||
#if USE_VERTEX_COLOR
|
#if USE_VERTEX_COLOR
|
||||||
half4 VertexColor : COLOR;
|
half4 VertexColor : COLOR;
|
||||||
#endif
|
#endif
|
||||||
float3 WorldNormal : TEXCOORD3;
|
float3 WorldNormal : TEXCOORD4;
|
||||||
float4 WorldTangent : TEXCOORD4;
|
float4 WorldTangent : TEXCOORD5;
|
||||||
float3 PrevWorldPosition : TEXCOORD7;
|
float3 PrevWorldPosition : TEXCOORD7;
|
||||||
nointerpolation uint ObjectIndex : TEXCOORD8;
|
nointerpolation uint ObjectIndex : TEXCOORD8;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
float3 DecodeNormal(float4 normalMap)
|
||||||
|
{
|
||||||
|
float2 xy = normalMap.rg * 2.0 - 1.0;
|
||||||
|
return float3(xy, sqrt(1.0 - saturate(dot(xy, xy))));
|
||||||
|
}
|
||||||
|
|
||||||
// Interpolants passed from the vertex shader
|
// Interpolants passed from the vertex shader
|
||||||
struct VertexOutput
|
struct VertexOutput
|
||||||
{
|
{
|
||||||
@@ -68,7 +77,7 @@ struct MaterialInput
|
|||||||
{
|
{
|
||||||
float3 WorldPosition;
|
float3 WorldPosition;
|
||||||
float TwoSidedSign;
|
float TwoSidedSign;
|
||||||
float2 TexCoord;
|
float2 TexCoords[MATERIAL_TEXCOORDS];
|
||||||
#if USE_LIGHTMAP
|
#if USE_LIGHTMAP
|
||||||
float2 LightmapUV;
|
float2 LightmapUV;
|
||||||
#endif
|
#endif
|
||||||
@@ -86,12 +95,18 @@ struct MaterialInput
|
|||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Map access to the main texure coordinate channel as UV0
|
||||||
|
#define TexCoord TexCoords[0]
|
||||||
|
|
||||||
// Extracts geometry data to the material input
|
// Extracts geometry data to the material input
|
||||||
MaterialInput GetGeometryMaterialInput(GeometryData geometry)
|
MaterialInput GetGeometryMaterialInput(GeometryData geometry)
|
||||||
{
|
{
|
||||||
MaterialInput output = (MaterialInput)0;
|
MaterialInput output = (MaterialInput)0;
|
||||||
output.WorldPosition = geometry.WorldPosition;
|
output.WorldPosition = geometry.WorldPosition;
|
||||||
output.TexCoord = geometry.TexCoord;
|
output.TexCoords[0] = geometry.TexCoords01.xy;
|
||||||
|
output.TexCoords[1] = geometry.TexCoords01.zw;
|
||||||
|
output.TexCoords[2] = geometry.TexCoords23.xy;
|
||||||
|
output.TexCoords[3] = geometry.TexCoords23.zw;
|
||||||
#if USE_LIGHTMAP
|
#if USE_LIGHTMAP
|
||||||
output.LightmapUV = geometry.LightmapUV;
|
output.LightmapUV = geometry.LightmapUV;
|
||||||
#endif
|
#endif
|
||||||
@@ -126,8 +141,8 @@ MaterialInput GetGeometryMaterialInput(GeometryData geometry)
|
|||||||
GeometryData InterpolateGeometry(GeometryData p0, float w0, GeometryData p1, float w1, GeometryData p2, float w2)
|
GeometryData InterpolateGeometry(GeometryData p0, float w0, GeometryData p1, float w1, GeometryData p2, float w2)
|
||||||
{
|
{
|
||||||
GeometryData output = (GeometryData)0;
|
GeometryData output = (GeometryData)0;
|
||||||
output.TexCoord = p0.TexCoord * w0 + p1.TexCoord * w1 + p2.TexCoord * w2;
|
output.TexCoords01 = p0.TexCoords01 * w0 + p1.TexCoords01 * w1 + p2.TexCoords01 * w2;
|
||||||
output.LightmapUV = p0.LightmapUV * w0 + p1.LightmapUV * w1 + p2.LightmapUV * w2;
|
output.TexCoords23 = p0.TexCoords23 * w0 + p1.TexCoords23 * w1 + p2.TexCoords23 * w2;
|
||||||
#if USE_VERTEX_COLOR
|
#if USE_VERTEX_COLOR
|
||||||
output.VertexColor = p0.VertexColor * w0 + p1.VertexColor * w1 + p2.VertexColor * w2;
|
output.VertexColor = p0.VertexColor * w0 + p1.VertexColor * w1 + p2.VertexColor * w2;
|
||||||
#endif
|
#endif
|
||||||
@@ -223,6 +238,24 @@ float3 GetObjectSize(MaterialInput input)
|
|||||||
return input.Object.GeometrySize * float3(world._m00, world._m11, world._m22);
|
return input.Object.GeometrySize * float3(world._m00, world._m11, world._m22);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Gets the current object scale (supports instancing)
|
||||||
|
float3 GetObjectScale(MaterialInput input)
|
||||||
|
{
|
||||||
|
float4x4 world = input.Object.WorldMatrix;
|
||||||
|
|
||||||
|
// Get the squares of the scale factors
|
||||||
|
float scaleXSquared = dot(world[0].xyz, world[0].xyz);
|
||||||
|
float scaleYSquared = dot(world[1].xyz, world[1].xyz);
|
||||||
|
float scaleZSquared = dot(world[2].xyz, world[2].xyz);
|
||||||
|
|
||||||
|
// Take square root to get actual scales
|
||||||
|
return float3(
|
||||||
|
sqrt(scaleXSquared),
|
||||||
|
sqrt(scaleYSquared),
|
||||||
|
sqrt(scaleZSquared)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
// Get the current object random value (supports instancing)
|
// Get the current object random value (supports instancing)
|
||||||
float GetPerInstanceRandom(MaterialInput input)
|
float GetPerInstanceRandom(MaterialInput input)
|
||||||
{
|
{
|
||||||
@@ -312,14 +345,15 @@ VertexOutput VS(ModelInput input)
|
|||||||
output.Position = mul(float4(output.Geometry.WorldPosition, 1), ViewProjectionMatrix);
|
output.Position = mul(float4(output.Geometry.WorldPosition, 1), ViewProjectionMatrix);
|
||||||
|
|
||||||
// Pass vertex attributes
|
// Pass vertex attributes
|
||||||
output.Geometry.TexCoord = input.TexCoord;
|
output.Geometry.TexCoords01 = float4(input.TexCoord0, input.TexCoord1);
|
||||||
|
output.Geometry.TexCoords23 = float4(input.TexCoord2, input.TexCoord3);
|
||||||
#if USE_VERTEX_COLOR
|
#if USE_VERTEX_COLOR
|
||||||
output.Geometry.VertexColor = input.Color;
|
output.Geometry.VertexColor = input.Color;
|
||||||
#endif
|
#endif
|
||||||
#if CAN_USE_LIGHTMAP
|
#if CAN_USE_LIGHTMAP
|
||||||
output.Geometry.LightmapUV = input.LightmapUV * object.LightmapArea.zw + object.LightmapArea.xy;
|
output.Geometry.LightmapUV = input.LightmapUV * object.LightmapArea.zw + object.LightmapArea.xy;
|
||||||
#else
|
#else
|
||||||
output.Geometry.LightmapUV = input.LightmapUV;
|
output.Geometry.LightmapUV = float2(0, 0);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Calculate tanget space to world space transformation matrix for unit vectors
|
// Calculate tanget space to world space transformation matrix for unit vectors
|
||||||
@@ -343,6 +377,7 @@ VertexOutput VS(ModelInput input)
|
|||||||
// Apply world position offset per-vertex
|
// Apply world position offset per-vertex
|
||||||
#if USE_POSITION_OFFSET
|
#if USE_POSITION_OFFSET
|
||||||
output.Geometry.WorldPosition += material.PositionOffset;
|
output.Geometry.WorldPosition += material.PositionOffset;
|
||||||
|
output.Geometry.PrevWorldPosition += material.PositionOffset;
|
||||||
output.Position = mul(float4(output.Geometry.WorldPosition, 1), ViewProjectionMatrix);
|
output.Position = mul(float4(output.Geometry.WorldPosition, 1), ViewProjectionMatrix);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -459,7 +494,7 @@ META_VS_IN_ELEMENT(TEXCOORD, 0, R16G16_FLOAT, 0, ALIGN, PER_VERTEX, 0,
|
|||||||
META_VS_IN_ELEMENT(NORMAL, 0, R10G10B10A2_UNORM, 0, ALIGN, PER_VERTEX, 0, true)
|
META_VS_IN_ELEMENT(NORMAL, 0, R10G10B10A2_UNORM, 0, ALIGN, PER_VERTEX, 0, true)
|
||||||
META_VS_IN_ELEMENT(TANGENT, 0, R10G10B10A2_UNORM, 0, ALIGN, PER_VERTEX, 0, true)
|
META_VS_IN_ELEMENT(TANGENT, 0, R10G10B10A2_UNORM, 0, ALIGN, PER_VERTEX, 0, true)
|
||||||
META_VS_IN_ELEMENT(BLENDINDICES, 0, R8G8B8A8_UINT, 0, ALIGN, PER_VERTEX, 0, true)
|
META_VS_IN_ELEMENT(BLENDINDICES, 0, R8G8B8A8_UINT, 0, ALIGN, PER_VERTEX, 0, true)
|
||||||
META_VS_IN_ELEMENT(BLENDWEIGHT, 0, R16G16B16A16_FLOAT,0, ALIGN, PER_VERTEX, 0, true)
|
META_VS_IN_ELEMENT(BLENDWEIGHTS, 0, R16G16B16A16_FLOAT,0, ALIGN, PER_VERTEX, 0, true)
|
||||||
VertexOutput VS_Skinned(ModelInput_Skinned input)
|
VertexOutput VS_Skinned(ModelInput_Skinned input)
|
||||||
{
|
{
|
||||||
VertexOutput output;
|
VertexOutput output;
|
||||||
@@ -486,9 +521,10 @@ VertexOutput VS_Skinned(ModelInput_Skinned input)
|
|||||||
output.Position = mul(float4(output.Geometry.WorldPosition, 1), ViewProjectionMatrix);
|
output.Position = mul(float4(output.Geometry.WorldPosition, 1), ViewProjectionMatrix);
|
||||||
|
|
||||||
// Pass vertex attributes
|
// Pass vertex attributes
|
||||||
output.Geometry.TexCoord = input.TexCoord;
|
output.Geometry.TexCoords01 = float4(input.TexCoord0, input.TexCoord1);
|
||||||
|
output.Geometry.TexCoords23 = float4(input.TexCoord2, input.TexCoord3);
|
||||||
#if USE_VERTEX_COLOR
|
#if USE_VERTEX_COLOR
|
||||||
output.Geometry.VertexColor = float4(0, 0, 0, 1);
|
output.Geometry.VertexColor = input.Color;
|
||||||
#endif
|
#endif
|
||||||
output.Geometry.LightmapUV = float2(0, 0);
|
output.Geometry.LightmapUV = float2(0, 0);
|
||||||
|
|
||||||
@@ -512,6 +548,7 @@ VertexOutput VS_Skinned(ModelInput_Skinned input)
|
|||||||
// Apply world position offset per-vertex
|
// Apply world position offset per-vertex
|
||||||
#if USE_POSITION_OFFSET
|
#if USE_POSITION_OFFSET
|
||||||
output.Geometry.WorldPosition += material.PositionOffset;
|
output.Geometry.WorldPosition += material.PositionOffset;
|
||||||
|
output.Geometry.PrevWorldPosition += material.PositionOffset;
|
||||||
output.Position = mul(float4(output.Geometry.WorldPosition, 1), ViewProjectionMatrix);
|
output.Position = mul(float4(output.Geometry.WorldPosition, 1), ViewProjectionMatrix);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@@ -15,6 +15,7 @@
|
|||||||
#include "./Flax/Common.hlsl"
|
#include "./Flax/Common.hlsl"
|
||||||
#include "./Flax/MaterialCommon.hlsl"
|
#include "./Flax/MaterialCommon.hlsl"
|
||||||
#include "./Flax/GBufferCommon.hlsl"
|
#include "./Flax/GBufferCommon.hlsl"
|
||||||
|
#include "./Flax/TerrainCommon.hlsl"
|
||||||
@7
|
@7
|
||||||
// Primary constant buffer (with additional material parameters)
|
// Primary constant buffer (with additional material parameters)
|
||||||
META_CB_BEGIN(0, Data)
|
META_CB_BEGIN(0, Data)
|
||||||
@@ -236,6 +237,12 @@ float3 GetObjectSize(MaterialInput input)
|
|||||||
return float3(1, 1, 1);
|
return float3(1, 1, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Gets the current object scale (supports instancing)
|
||||||
|
float3 GetObjectScale(MaterialInput input)
|
||||||
|
{
|
||||||
|
return float3(1, 1, 1);
|
||||||
|
}
|
||||||
|
|
||||||
// Get the current object random value
|
// Get the current object random value
|
||||||
float GetPerInstanceRandom(MaterialInput input)
|
float GetPerInstanceRandom(MaterialInput input)
|
||||||
{
|
{
|
||||||
@@ -319,8 +326,6 @@ struct TerrainVertexInput
|
|||||||
|
|
||||||
// Vertex Shader function for terrain rendering
|
// Vertex Shader function for terrain rendering
|
||||||
META_VS(true, FEATURE_LEVEL_ES2)
|
META_VS(true, FEATURE_LEVEL_ES2)
|
||||||
META_VS_IN_ELEMENT(TEXCOORD, 0, R32G32_FLOAT, 0, ALIGN, PER_VERTEX, 0, true)
|
|
||||||
META_VS_IN_ELEMENT(TEXCOORD, 1, R8G8B8A8_UNORM, 0, ALIGN, PER_VERTEX, 0, true)
|
|
||||||
VertexOutput VS(TerrainVertexInput input)
|
VertexOutput VS(TerrainVertexInput input)
|
||||||
{
|
{
|
||||||
VertexOutput output;
|
VertexOutput output;
|
||||||
@@ -330,7 +335,7 @@ VertexOutput VS(TerrainVertexInput input)
|
|||||||
float lodValue = CurrentLOD;
|
float lodValue = CurrentLOD;
|
||||||
float morphAlpha = lodCalculated - CurrentLOD;
|
float morphAlpha = lodCalculated - CurrentLOD;
|
||||||
|
|
||||||
// Sample heightmap
|
// Sample heightmap and splatmaps
|
||||||
float2 heightmapUVs = input.TexCoord * HeightmapUVScaleBias.xy + HeightmapUVScaleBias.zw;
|
float2 heightmapUVs = input.TexCoord * HeightmapUVScaleBias.xy + HeightmapUVScaleBias.zw;
|
||||||
#if USE_SMOOTH_LOD_TRANSITION
|
#if USE_SMOOTH_LOD_TRANSITION
|
||||||
float4 heightmapValueThisLOD = Heightmap.SampleLevel(SamplerPointClamp, heightmapUVs, lodValue);
|
float4 heightmapValueThisLOD = Heightmap.SampleLevel(SamplerPointClamp, heightmapUVs, lodValue);
|
||||||
@@ -338,7 +343,6 @@ VertexOutput VS(TerrainVertexInput input)
|
|||||||
float2 heightmapUVsNextLOD = nextLODPos * HeightmapUVScaleBias.xy + HeightmapUVScaleBias.zw;
|
float2 heightmapUVsNextLOD = nextLODPos * HeightmapUVScaleBias.xy + HeightmapUVScaleBias.zw;
|
||||||
float4 heightmapValueNextLOD = Heightmap.SampleLevel(SamplerPointClamp, heightmapUVsNextLOD, lodValue + 1);
|
float4 heightmapValueNextLOD = Heightmap.SampleLevel(SamplerPointClamp, heightmapUVsNextLOD, lodValue + 1);
|
||||||
float4 heightmapValue = lerp(heightmapValueThisLOD, heightmapValueNextLOD, morphAlpha);
|
float4 heightmapValue = lerp(heightmapValueThisLOD, heightmapValueNextLOD, morphAlpha);
|
||||||
bool isHole = max(heightmapValueThisLOD.b + heightmapValueThisLOD.a, heightmapValueNextLOD.b + heightmapValueNextLOD.a) >= 1.9f;
|
|
||||||
#if USE_TERRAIN_LAYERS
|
#if USE_TERRAIN_LAYERS
|
||||||
float4 splatmapValueThisLOD = Splatmap0.SampleLevel(SamplerPointClamp, heightmapUVs, lodValue);
|
float4 splatmapValueThisLOD = Splatmap0.SampleLevel(SamplerPointClamp, heightmapUVs, lodValue);
|
||||||
float4 splatmapValueNextLOD = Splatmap0.SampleLevel(SamplerPointClamp, heightmapUVsNextLOD, lodValue + 1);
|
float4 splatmapValueNextLOD = Splatmap0.SampleLevel(SamplerPointClamp, heightmapUVsNextLOD, lodValue + 1);
|
||||||
@@ -351,7 +355,6 @@ VertexOutput VS(TerrainVertexInput input)
|
|||||||
#endif
|
#endif
|
||||||
#else
|
#else
|
||||||
float4 heightmapValue = Heightmap.SampleLevel(SamplerPointClamp, heightmapUVs, lodValue);
|
float4 heightmapValue = Heightmap.SampleLevel(SamplerPointClamp, heightmapUVs, lodValue);
|
||||||
bool isHole = (heightmapValue.b + heightmapValue.a) >= 1.9f;
|
|
||||||
#if USE_TERRAIN_LAYERS
|
#if USE_TERRAIN_LAYERS
|
||||||
float4 splatmap0Value = Splatmap0.SampleLevel(SamplerPointClamp, heightmapUVs, lodValue);
|
float4 splatmap0Value = Splatmap0.SampleLevel(SamplerPointClamp, heightmapUVs, lodValue);
|
||||||
#if TERRAIN_LAYERS_DATA_SIZE > 1
|
#if TERRAIN_LAYERS_DATA_SIZE > 1
|
||||||
@@ -359,12 +362,11 @@ VertexOutput VS(TerrainVertexInput input)
|
|||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
float height = (float)((int)(heightmapValue.x * 255.0) + ((int)(heightmapValue.y * 255) << 8)) / 65535.0;
|
float height = DecodeHeightmapHeight(heightmapValue);
|
||||||
|
|
||||||
// Extract normal and the holes mask
|
// Extract normal and the holes mask
|
||||||
float2 normalTemp = float2(heightmapValue.b, heightmapValue.a) * 2.0f - 1.0f;
|
bool isHole;
|
||||||
float3 normal = float3(normalTemp.x, sqrt(1.0 - saturate(dot(normalTemp, normalTemp))), normalTemp.y);
|
float3 normal = DecodeHeightmapNormal(heightmapValue, isHole);
|
||||||
normal = normalize(normal);
|
|
||||||
output.Geometry.HolesMask = isHole ? 0 : 1;
|
output.Geometry.HolesMask = isHole ? 0 : 1;
|
||||||
if (isHole)
|
if (isHole)
|
||||||
{
|
{
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Content/Engine/Models/Box.flax
LFS
BIN
Content/Engine/Models/Box.flax
LFS
Binary file not shown.
BIN
Content/Engine/Models/Quad.flax
LFS
BIN
Content/Engine/Models/Quad.flax
LFS
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Content/Shaders/BitonicSort.flax
LFS
BIN
Content/Shaders/BitonicSort.flax
LFS
Binary file not shown.
BIN
Content/Shaders/CAS.flax
LFS
BIN
Content/Shaders/CAS.flax
LFS
Binary file not shown.
Binary file not shown.
BIN
Content/Shaders/DebugDraw.flax
LFS
BIN
Content/Shaders/DebugDraw.flax
LFS
Binary file not shown.
Binary file not shown.
BIN
Content/Shaders/Editor/Grid.flax
LFS
BIN
Content/Shaders/Editor/Grid.flax
LFS
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Content/Shaders/FXAA.flax
LFS
BIN
Content/Shaders/FXAA.flax
LFS
Binary file not shown.
BIN
Content/Shaders/Fog.flax
LFS
BIN
Content/Shaders/Fog.flax
LFS
Binary file not shown.
BIN
Content/Shaders/Forward.flax
LFS
BIN
Content/Shaders/Forward.flax
LFS
Binary file not shown.
BIN
Content/Shaders/GBuffer.flax
LFS
BIN
Content/Shaders/GBuffer.flax
LFS
Binary file not shown.
BIN
Content/Shaders/GI/DDGI.flax
LFS
BIN
Content/Shaders/GI/DDGI.flax
LFS
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Content/Shaders/GUI.flax
LFS
BIN
Content/Shaders/GUI.flax
LFS
Binary file not shown.
Binary file not shown.
BIN
Content/Shaders/Histogram.flax
LFS
BIN
Content/Shaders/Histogram.flax
LFS
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user